Home Reference Source Repository

js/third_party/ammo.js

//
//// This is ammo.js, a port of Bullet Physics to JavaScript. zlib licensed.
//var Ammo = (function(Ammo) {
//  Ammo = Ammo || {};
//  var Module = Ammo;
//
//var c;c||(c=eval("(function() { try { return Ammo || {} } catch(e) { return {} } })()"));var aa={},ba;for(ba in c)c.hasOwnProperty(ba)&&(aa[ba]=c[ba]);var ca=!1,da=!1,ea=!1,fa=!1;
//if(c.ENVIRONMENT)if("WEB"===c.ENVIRONMENT)ca=!0;else if("WORKER"===c.ENVIRONMENT)da=!0;else if("NODE"===c.ENVIRONMENT)ea=!0;else if("SHELL"===c.ENVIRONMENT)fa=!0;else throw Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.");else ca="object"===typeof window,da="function"===typeof importScripts,ea="object"===typeof process&&"function"===typeof require&&!ca&&!da,fa=!ca&&!ea&&!da;
//if(ea){c.print||(c.print=console.log);c.printErr||(c.printErr=console.warn);var ga,ha;c.read=function(a,b){ga||(ga=require("fs"));ha||(ha=require("path"));a=ha.normalize(a);var e=ga.readFileSync(a);return b?e:e.toString()};c.readBinary=function(a){a=c.read(a,!0);a.buffer||(a=new Uint8Array(a));assert(a.buffer);return a};c.load=function(a){ia(read(a))};c.thisProgram||(c.thisProgram=1<process.argv.length?process.argv[1].replace(/\\/g,"/"):"unknown-program");c.arguments=process.argv.slice(2);"undefined"!==
//typeof module&&(module.exports=c);process.on("uncaughtException",function(a){if(!(a instanceof ja))throw a;});c.inspect=function(){return"[Emscripten Module object]"}}else if(fa)c.print||(c.print=print),"undefined"!=typeof printErr&&(c.printErr=printErr),c.read="undefined"!=typeof read?read:function(){throw"no read() available";},c.readBinary=function(a){if("function"===typeof readbuffer)return new Uint8Array(readbuffer(a));a=read(a,"binary");assert("object"===typeof a);return a},"undefined"!=typeof scriptArgs?
//c.arguments=scriptArgs:"undefined"!=typeof arguments&&(c.arguments=arguments),"function"===typeof quit&&(c.quit=function(a){quit(a)}),eval("if (typeof gc === 'function' && gc.toString().indexOf('[native code]') > 0) var gc = undefined");else if(ca||da)c.read=function(a){var b=new XMLHttpRequest;b.open("GET",a,!1);b.send(null);return b.responseText},da&&(c.readBinary=function(a){var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return b.response}),c.readAsync=function(a,
//b,e){var f=new XMLHttpRequest;f.open("GET",a,!0);f.responseType="arraybuffer";f.onload=function(){200==f.status||0==f.status&&f.response?b(f.response):e()};f.onerror=e;f.send(null)},"undefined"!=typeof arguments&&(c.arguments=arguments),"undefined"!==typeof console?(c.print||(c.print=function(a){console.log(a)}),c.printErr||(c.printErr=function(a){console.warn(a)})):c.print||(c.print=function(){}),da&&(c.load=importScripts),"undefined"===typeof c.setWindowTitle&&(c.setWindowTitle=function(a){document.title=
//a});else throw"Unknown runtime environment. Where are we?";function ia(a){eval.call(null,a)}!c.load&&c.read&&(c.load=function(a){ia(c.read(a))});c.print||(c.print=function(){});c.printErr||(c.printErr=c.print);c.arguments||(c.arguments=[]);c.thisProgram||(c.thisProgram="./this.program");c.quit||(c.quit=function(a,b){throw b;});c.print=c.print;c.h=c.printErr;c.preRun=[];c.postRun=[];for(ba in aa)aa.hasOwnProperty(ba)&&(c[ba]=aa[ba]);
//var aa=void 0,d={e:function(a){return tempRet0=a},J:function(){return tempRet0},N:function(){return ka},M:function(a){ka=a},s:function(a){switch(a){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"*"===a[a.length-1]?d.j:"i"===a[0]?(a=parseInt(a.substr(1)),assert(0===a%8),a/8):0}},H:function(a){return Math.max(d.s(a),d.j)},O:16,$:function(a,b){"double"===b||"i64"===b?a&7&&(assert(4===(a&7)),a+=4):assert(0===
//(a&3));return a},T:function(a,b,e){return e||"i64"!=a&&"double"!=a?a?Math.min(b||(a?d.H(a):0),d.j):Math.min(b,8):8},l:function(a,b,e){return e&&e.length?c["dynCall_"+a].apply(null,[b].concat(e)):c["dynCall_"+a].call(null,b)},g:[],v:function(a){for(var b=0;b<d.g.length;b++)if(!d.g[b])return d.g[b]=a,2*(1+b);throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.";},L:function(a){d.g[(a-2)/2]=null},f:function(a){d.f.n||(d.f.n={});d.f.n[a]||(d.f.n[a]=1,c.h(a))},
//m:{},V:function(a,b){assert(b);d.m[b]||(d.m[b]={});var e=d.m[b];e[a]||(e[a]=1===b.length?function(){return d.l(b,a)}:2===b.length?function(e){return d.l(b,a,[e])}:function(){return d.l(b,a,Array.prototype.slice.call(arguments))});return e[a]},U:function(){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work";},t:function(a){var b=ka;ka=ka+a|0;ka=ka+15&-16;return b},u:function(a){var b=la;la=la+a|0;la=la+15&-16;return b},
//F:function(a){var b=l[ma>>2];a=(b+a+15|0)&-16;l[ma>>2]=a;if(a=a>=na)oa(),a=!0;return a?(l[ma>>2]=b,0):b},p:function(a,b){return Math.ceil(a/(b?b:16))*(b?b:16)},Z:function(a,b,e){return e?+(a>>>0)+4294967296*+(b>>>0):+(a>>>0)+4294967296*+(b|0)},i:8,j:4,P:0};d.addFunction=d.v;d.removeFunction=d.L;var pa=0;function assert(a,b){a||qa("Assertion failed: "+b)}
//function ra(a){var b;b="i32";"*"===b.charAt(b.length-1)&&(b="i32");switch(b){case "i1":return sa[a>>0];case "i8":return sa[a>>0];case "i16":return ta[a>>1];case "i32":return l[a>>2];case "i64":return l[a>>2];case "float":return ua[a>>2];case "double":return va[a>>3];default:qa("invalid type for setValue: "+b)}return null}
//function wa(a,b,e,f){var g,h;"number"===typeof a?(g=!0,h=a):(g=!1,h=a.length);var k="string"===typeof b?b:null;e=4==e?f:["function"===typeof xa?xa:d.u,d.t,d.u,d.F][void 0===e?2:e](Math.max(h,k?1:b.length));if(g){f=e;assert(0==(e&3));for(a=e+(h&-4);f<a;f+=4)l[f>>2]=0;for(a=e+h;f<a;)sa[f++>>0]=0;return e}if("i8"===k)return a.subarray||a.slice?ya.set(a,e):ya.set(new Uint8Array(a),e),e;f=0;for(var m,v;f<h;){var x=a[f];"function"===typeof x&&(x=d.W(x));g=k||b[f];if(0===g)f++;else{"i64"==g&&(g="i32");var A=
//e+f,T=g,T=T||"i8";"*"===T.charAt(T.length-1)&&(T="i32");switch(T){case "i1":sa[A>>0]=x;break;case "i8":sa[A>>0]=x;break;case "i16":ta[A>>1]=x;break;case "i32":l[A>>2]=x;break;case "i64":tempI64=[x>>>0,(tempDouble=x,1<=+za(tempDouble)?0<tempDouble?(Aa(+Ba(tempDouble/4294967296),4294967295)|0)>>>0:~~+Ca((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)];l[A>>2]=tempI64[0];l[A+4>>2]=tempI64[1];break;case "float":ua[A>>2]=x;break;case "double":va[A>>3]=x;break;default:qa("invalid type for setValue: "+
//T)}v!==g&&(m=d.s(g),v=g);f+=m}}return e}function Da(a){var b;if(0===b||!a)return"";for(var e=0,f,g=0;;){f=ya[a+g>>0];e|=f;if(0==f&&!b)break;g++;if(b&&g==b)break}b||(b=g);f="";if(128>e){for(;0<b;)e=String.fromCharCode.apply(String,ya.subarray(a,a+Math.min(b,1024))),f=f?f+e:e,a+=1024,b-=1024;return f}return c.UTF8ToString(a)}var Ea="undefined"!==typeof TextDecoder?new TextDecoder("utf8"):void 0;
//function Fa(a,b,e,f){if(0<f){f=e+f-1;for(var g=0;g<a.length;++g){var h=a.charCodeAt(g);55296<=h&&57343>=h&&(h=65536+((h&1023)<<10)|a.charCodeAt(++g)&1023);if(127>=h){if(e>=f)break;b[e++]=h}else{if(2047>=h){if(e+1>=f)break;b[e++]=192|h>>6}else{if(65535>=h){if(e+2>=f)break;b[e++]=224|h>>12}else{if(2097151>=h){if(e+3>=f)break;b[e++]=240|h>>18}else{if(67108863>=h){if(e+4>=f)break;b[e++]=248|h>>24}else{if(e+5>=f)break;b[e++]=252|h>>30;b[e++]=128|h>>24&63}b[e++]=128|h>>18&63}b[e++]=128|h>>12&63}b[e++]=
//128|h>>6&63}b[e++]=128|h&63}}b[e]=0}}function Ga(a){for(var b=0,e=0;e<a.length;++e){var f=a.charCodeAt(e);55296<=f&&57343>=f&&(f=65536+((f&1023)<<10)|a.charCodeAt(++e)&1023);127>=f?++b:b=2047>=f?b+2:65535>=f?b+3:2097151>=f?b+4:67108863>=f?b+5:b+6}return b}"undefined"!==typeof TextDecoder&&new TextDecoder("utf-16le");
//function Ha(a){return a.replace(/__Z[\w\d_]+/g,function(a){var e;a:{var f=c.___cxa_demangle||c.__cxa_demangle;if(f)try{var g=a.substr(1),h=Ga(g)+1,k=xa(h);Fa(g,ya,k,h);var m=xa(4),v=f(k,0,0,m);if(0===ra(m)&&v){e=Da(v);break a}}catch(x){}finally{k&&Ia(k),m&&Ia(m),v&&Ia(v)}else d.f("warning: build with  -s DEMANGLE_SUPPORT=1  to link in libcxxabi demangling");e=a}return a===e?a:a+" ["+e+"]"})}
//function Ja(){var a;a:{a=Error();if(!a.stack){try{throw Error(0);}catch(b){a=b}if(!a.stack){a="(no stack trace available)";break a}}a=a.stack.toString()}c.extraStackTrace&&(a+="\n"+c.extraStackTrace());return Ha(a)}var buffer,sa,ya,ta,Ka,l,La,ua,va,Ma,la,Na,ka,Oa,Pa,ma;Ma=la=Na=ka=Oa=Pa=ma=0;
//function oa(){qa("Cannot enlarge memory arrays. Either (1) compile with  -s TOTAL_MEMORY=X  with X higher than the current value "+na+", (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 ")}var Qa=c.TOTAL_STACK||5242880,na=c.TOTAL_MEMORY||67108864;
//na<Qa&&c.h("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+na+"! (TOTAL_STACK="+Qa+")");c.buffer?buffer=c.buffer:buffer=new ArrayBuffer(na);c.HEAP8=sa=new Int8Array(buffer);c.HEAP16=ta=new Int16Array(buffer);c.HEAP32=l=new Int32Array(buffer);c.HEAPU8=ya=new Uint8Array(buffer);c.HEAPU16=Ka=new Uint16Array(buffer);c.HEAPU32=La=new Uint32Array(buffer);c.HEAPF32=ua=new Float32Array(buffer);c.HEAPF64=va=new Float64Array(buffer);l[0]=1668509029;ta[1]=25459;
//if(115!==ya[2]||99!==ya[3])throw"Runtime error: expected the system to be little-endian!";c.HEAP=void 0;c.buffer=buffer;c.HEAP8=sa;c.HEAP16=ta;c.HEAP32=l;c.HEAPU8=ya;c.HEAPU16=Ka;c.HEAPU32=La;c.HEAPF32=ua;c.HEAPF64=va;function Ra(a){for(;0<a.length;){var b=a.shift();if("function"==typeof b)b();else{var e=b.G;"number"===typeof e?void 0===b.k?c.dynCall_v(e):c.dynCall_vi(e,b.k):e(void 0===b.k?null:b.k)}}}var Sa=[],Ta=[],Ua=[],Va=[],Wa=[],Xa=!1;function Ya(){var a=c.preRun.shift();Sa.unshift(a)}
//function Za(a){var b=Array(Ga(a)+1);Fa(a,b,0,b.length);return b}Math.imul&&-5===Math.imul(4294967295,5)||(Math.imul=function(a,b){var e=a&65535,f=b&65535;return e*f+((a>>>16)*f+e*(b>>>16)<<16)|0});Math.X=Math.imul;Math.clz32||(Math.clz32=function(a){a=a>>>0;for(var b=0;32>b;b++)if(a&1<<31-b)return b;return 32});Math.R=Math.clz32;Math.trunc||(Math.trunc=function(a){return 0>a?Math.ceil(a):Math.floor(a)});Math.trunc=Math.trunc;var za=Math.abs,Ca=Math.ceil,Ba=Math.floor,$a=Math.pow,Aa=Math.min;
//c.preloadedImages={};c.preloadedAudios={};var ab=[function(a,b,e,f,g,h,k,m){a=c.getCache(c.ConcreteContactResultCallback)[a];if(!a.hasOwnProperty("addSingleResult"))throw"a JSImplementation must implement all functions, you forgot ConcreteContactResultCallback::addSingleResult.";return a.addSingleResult(b,e,f,g,h,k,m)}];Ma=8;la=Ma+26544;Ta.push({G:function(){bb()}});
//wa([232,37,0,0,88,39,0,0,24,0,0,0,0,0,0,0,192,37,0,0,120,39,0,0,232,37,0,0,164,39,0,0,48,0,0,0,0,0,0,0,192,37,0,0,211,39,0,0,232,37,0,0,251,39,0,0,72,0,0,0,0,0,0,0,192,37,0,0,17,40,0,0,232,37,0,0,45,40,0,0,96,0,0,0,0,0,0,0,192,37,0,0,68,40,0,0,192,37,0,0,84,40,0,0,232,37,0,0,105,40,0,0,128,0,0,0,0,0,0,0,192,37,0,0,155,40,0,0,232,37,0,0,198,40,0,0,152,0,0,0,0,0,0,0,192,37,0,0,224,40,0,0,232,37,0,0,243,40,0,0,0,4,0,0,0,0,0,0,232,37,0,0,31,41,0,0,192,0,0,0,0,0,0,0,192,37,0,0,90,41,0,0,232,37,0,0,123,
//41,0,0,192,0,0,0,0,0,0,0,232,37,0,0,175,41,0,0,192,0,0,0,0,0,0,0,232,37,0,0,221,41,0,0,192,0,0,0,0,0,0,0,232,37,0,0,207,42,0,0,176,3,0,0,0,0,0,0,232,37,0,0,220,42,0,0,24,1,0,0,0,0,0,0,192,37,0,0,252,42,0,0,192,37,0,0,15,43,0,0,232,37,0,0,36,43,0,0,32,1,0,0,0,0,0,0,232,37,0,0,67,43,0,0,48,8,0,0,0,0,0,0,232,37,0,0,212,43,0,0,104,1,0,0,0,0,0,0,232,37,0,0,182,43,0,0,176,7,0,0,0,0,0,0,232,37,0,0,246,43,0,0,24,1,0,0,0,0,0,0,232,37,0,0,23,44,0,0,24,1,0,0,0,0,0,0,232,37,0,0,58,44,0,0,24,1,0,0,0,0,0,0,232,
//37,0,0,92,44,0,0,104,1,0,0,0,0,0,0,232,37,0,0,126,44,0,0,184,1,0,0,0,0,0,0,192,37,0,0,158,44,0,0,232,37,0,0,170,45,0,0,184,1,0,0,0,0,0,0,232,37,0,0,237,44,0,0,208,7,0,0,0,0,0,0,232,37,0,0,190,44,0,0,120,7,0,0,0,0,0,0,192,37,0,0,208,44,0,0,232,37,0,0,141,45,0,0,208,7,0,0,0,0,0,0,232,37,0,0,94,46,0,0,96,2,0,0,0,0,0,0,232,37,0,0,15,46,0,0,40,2,0,0,0,0,0,0,232,37,0,0,41,46,0,0,56,2,0,0,0,0,0,0,192,37,0,0,67,46,0,0,232,37,0,0,121,46,0,0,184,1,0,0,0,0,0,0,232,37,0,0,173,46,0,0,176,3,0,0,0,0,0,0,232,37,
//0,0,93,48,0,0,128,2,0,0,0,0,0,0,232,37,0,0,63,47,0,0,112,0,0,0,0,0,0,0,232,37,0,0,119,48,0,0,40,5,0,0,0,0,0,0,232,37,0,0,137,48,0,0,160,2,0,0,0,0,0,0,192,37,0,0,167,48,0,0,232,37,0,0,241,48,0,0,184,2,0,0,0,0,0,0,16,38,0,0,11,49,0,0,0,0,0,0,1,0,0,0,208,2,0,0,2,4,0,0,192,37,0,0,31,49,0,0,232,37,0,0,81,49,0,0,168,2,0,0,0,0,0,0,232,37,0,0,146,49,0,0,184,2,0,0,0,0,0,0,232,37,0,0,222,49,0,0,184,2,0,0,0,0,0,0,232,37,0,0,13,50,0,0,184,2,0,0,0,0,0,0,232,37,0,0,64,50,0,0,184,2,0,0,0,0,0,0,232,37,0,0,158,50,
//0,0,56,3,0,0,0,0,0,0,192,37,0,0,196,50,0,0,232,37,0,0,217,50,0,0,80,3,0,0,0,0,0,0,192,37,0,0,236,50,0,0,232,37,0,0,0,51,0,0,104,0,0,0,0,0,0,0,232,37,0,0,74,51,0,0,136,3,0,0,0,0,0,0,232,37,0,0,28,51,0,0,112,0,0,0,0,0,0,0,232,37,0,0,107,51,0,0,80,3,0,0,0,0,0,0,232,37,0,0,140,51,0,0,168,3,0,0,0,0,0,0,192,37,0,0,165,51,0,0,192,37,0,0,207,51,0,0,232,37,0,0,227,51,0,0,176,3,0,0,0,0,0,0,232,37,0,0,243,51,0,0,184,3,0,0,0,0,0,0,232,37,0,0,60,52,0,0,136,9,0,0,0,0,0,0,232,37,0,0,14,52,0,0,248,3,0,0,0,0,0,0,
//192,37,0,0,40,52,0,0,232,37,0,0,84,52,0,0,16,4,0,0,0,0,0,0,192,37,0,0,118,52,0,0,232,37,0,0,145,52,0,0,192,0,0,0,0,0,0,0,232,37,0,0,193,52,0,0,192,0,0,0,0,0,0,0,232,37,0,0,236,52,0,0,192,0,0,0,0,0,0,0,232,37,0,0,31,53,0,0,192,0,0,0,0,0,0,0,232,37,0,0,80,53,0,0,192,0,0,0,0,0,0,0,232,37,0,0,113,53,0,0,192,0,0,0,0,0,0,0,232,37,0,0,165,53,0,0,192,0,0,0,0,0,0,0,232,37,0,0,218,53,0,0,192,0,0,0,0,0,0,0,232,37,0,0,7,54,0,0,192,0,0,0,0,0,0,0,232,37,0,0,64,54,0,0,192,0,0,0,0,0,0,0,192,37,0,0,114,54,0,0,232,
//37,0,0,185,54,0,0,184,1,0,0,0,0,0,0,232,37,0,0,148,55,0,0,56,10,0,0,0,0,0,0,232,37,0,0,219,54,0,0,208,7,0,0,0,0,0,0,232,37,0,0,121,55,0,0,208,7,0,0,0,0,0,0,232,37,0,0,184,55,0,0,56,10,0,0,0,0,0,0,232,37,0,0,213,55,0,0,32,5,0,0,0,0,0,0,192,37,0,0,232,55,0,0,192,37,0,0,143,59,0,0,232,37,0,0,127,58,0,0,40,2,0,0,0,0,0,0,232,37,0,0,84,56,0,0,48,0,0,0,0,0,0,0,232,37,0,0,217,56,0,0,24,1,0,0,0,0,0,0,232,37,0,0,87,57,0,0,152,9,0,0,0,0,0,0,232,37,0,0,236,57,0,0,152,9,0,0,0,0,0,0,16,38,0,0,149,58,0,0,0,0,0,
//0,2,0,0,0,208,7,0,0,2,0,0,0,216,7,0,0,2,4,0,0,232,37,0,0,182,59,0,0,128,0,0,0,0,0,0,0,232,37,0,0,83,60,0,0,168,9,0,0,0,0,0,0,232,37,0,0,4,61,0,0,168,9,0,0,0,0,0,0,232,37,0,0,195,61,0,0,40,2,0,0,0,0,0,0,232,37,0,0,245,61,0,0,56,2,0,0,0,0,0,0,232,37,0,0,219,61,0,0,16,5,0,0,0,0,0,0,232,37,0,0,15,62,0,0,56,10,0,0,0,0,0,0,232,37,0,0,123,63,0,0,192,0,0,0,0,0,0,0,232,37,0,0,97,63,0,0,56,10,0,0,0,0,0,0,232,37,0,0,52,62,0,0,16,5,0,0,0,0,0,0,232,37,0,0,79,62,0,0,32,5,0,0,0,0,0,0,232,37,0,0,220,62,0,0,32,5,
//0,0,0,0,0,0,232,37,0,0,188,63,0,0,56,10,0,0,0,0,0,0,232,37,0,0,163,63,0,0,24,1,0,0,0,0,0,0,232,37,0,0,252,63,0,0,56,10,0,0,0,0,0,0,232,37,0,0,219,63,0,0,24,1,0,0,0,0,0,0,232,37,0,0,89,64,0,0,152,7,0,0,0,0,0,0,232,37,0,0,128,64,0,0,176,7,0,0,0,0,0,0,232,37,0,0,148,64,0,0,176,6,0,0,0,0,0,0,232,37,0,0,169,64,0,0,176,6,0,0,0,0,0,0,232,37,0,0,191,64,0,0,176,7,0,0,0,0,0,0,232,37,0,0,125,65,0,0,56,7,0,0,0,0,0,0,232,37,0,0,207,64,0,0,16,7,0,0,0,0,0,0,192,37,0,0,61,65,0,0,232,37,0,0,150,65,0,0,16,7,0,0,0,
//0,0,0,232,37,0,0,254,65,0,0,16,7,0,0,0,0,0,0,232,37,0,0,250,66,0,0,48,8,0,0,0,0,0,0,232,37,0,0,111,66,0,0,208,7,0,0,0,0,0,0,232,37,0,0,135,66,0,0,216,7,0,0,0,0,0,0,232,37,0,0,51,67,0,0,48,8,0,0,0,0,0,0,232,37,0,0,72,67,0,0,176,7,0,0,0,0,0,0,232,37,0,0,98,67,0,0,120,7,0,0,0,0,0,0,192,37,0,0,156,67,0,0,232,37,0,0,175,67,0,0,152,7,0,0,0,0,0,0,232,37,0,0,191,67,0,0,160,7,0,0,0,0,0,0,232,37,0,0,244,67,0,0,136,7,0,0,0,0,0,0,192,37,0,0,8,68,0,0,192,37,0,0,29,68,0,0,232,37,0,0,95,68,0,0,176,7,0,0,0,0,0,0,
//232,37,0,0,121,68,0,0,224,7,0,0,0,0,0,0,232,37,0,0,148,68,0,0,224,7,0,0,0,0,0,0,232,37,0,0,209,68,0,0,136,7,0,0,0,0,0,0,232,37,0,0,166,68,0,0,216,7,0,0,0,0,0,0,232,37,0,0,237,68,0,0,152,7,0,0,0,0,0,0,232,37,0,0,2,69,0,0,120,7,0,0,0,0,0,0,232,37,0,0,15,69,0,0,144,9,0,0,0,0,0,0,232,37,0,0,32,69,0,0,216,7,0,0,0,0,0,0,232,37,0,0,123,69,0,0,216,7,0,0,0,0,0,0,232,37,0,0,235,69,0,0,48,8,0,0,0,0,0,0,232,37,0,0,37,70,0,0,176,7,0,0,0,0,0,0,232,37,0,0,65,70,0,0,144,8,0,0,0,0,0,0,232,37,0,0,94,70,0,0,144,8,0,
//0,0,0,0,0,232,37,0,0,113,70,0,0,152,10,0,0,0,0,0,0,232,37,0,0,180,70,0,0,224,8,0,0,0,0,0,0,232,37,0,0,130,70,0,0,240,8,0,0,0,0,0,0,192,37,0,0,156,70,0,0,232,37,0,0,195,70,0,0,8,9,0,0,0,0,0,0,232,37,0,0,213,70,0,0,72,0,0,0,0,0,0,0,232,37,0,0,221,71,0,0,8,9,0,0,0,0,0,0,232,37,0,0,238,70,0,0,248,3,0,0,0,0,0,0,232,37,0,0,92,71,0,0,248,3,0,0,0,0,0,0,232,37,0,0,62,72,0,0,240,8,0,0,0,0,0,0,232,37,0,0,252,71,0,0,24,1,0,0,0,0,0,0,232,37,0,0,17,72,0,0,24,1,0,0,0,0,0,0,232,37,0,0,40,72,0,0,24,1,0,0,0,0,0,0,
//192,37,0,0,81,72,0,0,192,37,0,0,187,72,0,0,232,37,0,0,204,72,0,0,208,7,0,0,0,0,0,0,232,37,0,0,232,72,0,0,208,7,0,0,0,0,0,0,232,37,0,0,178,73,0,0,216,9,0,0,0,0,0,0,232,37,0,0,7,73,0,0,32,5,0,0,0,0,0,0,192,37,0,0,214,73,0,0,232,37,0,0,247,73,0,0,216,9,0,0,0,0,0,0,232,37,0,0,43,74,0,0,168,3,0,0,0,0,0,0,232,37,0,0,24,74,0,0,32,5,0,0,0,0,0,0,232,37,0,0,61,74,0,0,168,3,0,0,0,0,0,0,232,37,0,0,91,74,0,0,48,10,0,0,0,0,0,0,192,37,0,0,111,74,0,0,232,37,0,0,150,74,0,0,184,1,0,0,0,0,0,0,232,37,0,0,183,74,0,0,
//184,1,0,0,0,0,0,0,232,37,0,0,202,74,0,0,56,10,0,0,0,0,0,0,232,37,0,0,237,74,0,0,48,10,0,0,0,0,0,0,232,37,0,0,0,75,0,0,48,10,0,0,0,0,0,0,192,37,0,0,25,75,0,0,192,37,0,0,51,75,0,0,232,37,0,0,72,75,0,0,168,10,0,0,0,0,0,0,192,37,0,0,248,75,0,0,192,37,0,0,34,86,0,0,232,37,0,0,130,86,0,0,200,10,0,0,0,0,0,0,232,37,0,0,47,86,0,0,216,10,0,0,0,0,0,0,192,37,0,0,80,86,0,0,232,37,0,0,93,86,0,0,184,10,0,0,0,0,0,0,232,37,0,0,136,87,0,0,200,10,0,0,0,0,0,0,232,37,0,0,100,87,0,0,240,10,0,0,0,0,0,0,232,37,0,0,170,87,
//0,0,184,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,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,72,0,0,0,11,0,0,0,12,0,0,0,1,0,0,0,1,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,2,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,0,0,0,0,104,0,0,0,17,0,0,0,18,0,0,0,1,0,0,0,0,0,0,0,112,0,0,0,19,
//0,0,0,20,0,0,0,3,0,0,0,2,0,0,0,0,0,0,0,128,0,0,0,21,0,0,0,22,0,0,0,3,0,0,0,1,0,0,0,0,0,0,0,136,0,0,0,23,0,0,0,24,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,2,0,0,0,25,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,160,0,0,0,26,0,0,0,27,0,0,0,5,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,0,0,0,0,232,0,0,0,28,0,0,0,29,0,0,0,2,0,0,0,0,0,0,0,216,0,0,0,28,0,0,0,30,0,0,0,3,0,0,0,0,0,0,0,200,0,0,0,28,0,0,0,31,0,0,0,4,0,0,0,0,0,0,0,176,0,0,0,28,0,0,0,32,0,0,0,5,0,0,0,0,0,0,0,248,0,0,0,4,0,0,0,
//33,0,0,0,34,0,0,0,6,0,0,0,8,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,0,0,0,0,8,1,0,0,35,0,0,0,36,0,0,0,7,0,0,0,8,0,0,0,1,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,40,1,0,0,37,0,0,0,38,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,9,0,0,0,0,0,0,0,56,1,0,0,39,0,0,0,40,0,0,0,1,0,0,0,8,0,0,0,1,0,0,0,1,0,0,0,9,0,0,0,10,0,0,0,2,0,0,0,11,0,0,0,10,0,0,0,4,0,0,0,2,0,0,0,12,0,0,0,4,0,0,0,11,0,0,0,2,0,0,0,0,0,0,0,120,1,0,0,35,0,0,0,41,0,0,0,7,0,0,0,12,0,0,0,1,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,72,1,0,0,35,0,0,0,42,0,0,0,7,0,0,0,13,0,0,0,1,0,0,0,5,0,0,
//0,6,0,0,0,0,0,0,0,88,1,0,0,43,0,0,0,44,0,0,0,3,0,0,0,8,0,0,0,1,0,0,0,1,0,0,0,14,0,0,0,13,0,0,0,3,0,0,0,14,0,0,0,10,0,0,0,5,0,0,0,3,0,0,0,15,0,0,0,5,0,0,0,11,0,0,0,9,0,0,0,10,0,0,0,1,0,0,0,4,0,0,0,5,0,0,0,16,0,0,0,11,0,0,0,17,0,0,0,0,0,0,0,152,1,0,0,35,0,0,0,45,0,0,0,12,0,0,0,15,0,0,0,1,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,136,1,0,0,35,0,0,0,46,0,0,0,13,0,0,0,15,0,0,0,1,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,168,1,0,0,47,0,0,0,48,0,0,0,2,0,0,0,1,0,0,0,16,0,0,0,0,0,0,0,192,1,0,0,49,0,0,0,50,0,0,0,3,0,0,0,2,0,0,0,17,
//0,0,0,0,0,0,0,208,1,0,0,51,0,0,0,52,0,0,0,6,0,0,0,0,0,0,0,240,1,0,0,6,0,0,0,18,0,0,0,14,0,0,0,53,0,0,0,54,0,0,0,0,0,0,0,224,1,0,0,55,0,0,0,56,0,0,0,7,0,0,0,8,0,0,0,1,0,0,0,1,0,0,0,14,0,0,0,13,0,0,0,4,0,0,0,18,0,0,0,10,0,0,0,7,0,0,0,4,0,0,0,15,0,0,0,5,0,0,0,11,0,0,0,15,0,0,0,16,0,0,0,1,0,0,0,8,0,0,0,5,0,0,0,19,0,0,0,17,0,0,0,7,0,0,0,20,0,0,0,21,0,0,0,9,0,0,0,18,0,0,0,22,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,248,1,0,0,57,0,0,0,58,0,0,0,12,0,0,0,0,0,0,0,8,2,0,0,59,0,0,0,60,0,0,0,61,0,0,0,62,0,0,0,
//19,0,0,0,23,0,0,0,63,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,20,0,0,0,64,0,0,0,21,0,0,0,1,0,0,0,19,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,65,0,0,0,27,0,0,0,16,0,0,0,28,0,0,0,29,0,0,0,24,0,0,0,25,0,0,0,8,0,0,0,9,0,0,0,26,0,0,0,66,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,8,0,0,0,9,0,0,0,67,0,0,0,34,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,68,0,0,0,35,0,0,0,13,0,0,0,0,0,0,0,24,2,0,0,69,0,0,0,70,0,0,0,10,0,0,0,0,0,0,0,64,2,0,0,71,0,0,0,72,0,0,0,4,0,0,0,3,0,0,0,36,0,0,0,0,0,0,0,80,2,0,0,11,0,0,0,73,0,0,
//0,74,0,0,0,37,0,0,0,27,0,0,0,6,0,0,0,38,0,0,0,0,0,0,0,96,2,0,0,75,0,0,0,76,0,0,0,61,0,0,0,62,0,0,0,19,0,0,0,23,0,0,0,77,0,0,0,13,0,0,0,17,0,0,0,15,0,0,0,39,0,0,0,64,0,0,0,40,0,0,0,1,0,0,0,19,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,65,0,0,0,27,0,0,0,16,0,0,0,28,0,0,0,29,0,0,0,24,0,0,0,25,0,0,0,8,0,0,0,9,0,0,0,28,0,0,0,66,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,14,0,0,0,9,0,0,0,67,0,0,0,34,0,0,0,10,0,0,0,15,0,0,0,12,0,0,0,68,0,0,0,35,0,0,0,13,0,0,0,0,0,0,0,112,2,0,0,21,0,0,0,78,0,0,0,12,
//0,0,0,3,0,0,0,0,0,0,0,144,2,0,0,79,0,0,0,80,0,0,0,1,0,0,0,0,0,0,0,168,2,0,0,81,0,0,0,82,0,0,0,83,0,0,0,1,0,0,0,41,0,0,0,42,0,0,0,1,0,0,0,1,0,0,0,4,0,0,0,29,0,0,0,7,0,0,0,84,0,0,0,0,0,0,0,216,2,0,0,81,0,0,0,85,0,0,0,83,0,0,0,1,0,0,0,41,0,0,0,43,0,0,0,1,0,0,0,1,0,0,0,4,0,0,0,30,0,0,0,8,0,0,0,84,0,0,0,20,0,0,0,0,0,0,0,232,2,0,0,81,0,0,0,86,0,0,0,87,0,0,0,1,0,0,0,44,0,0,0,45,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,31,0,0,0,9,0,0,0,0,0,0,0,184,2,0,0,81,0,0,0,88,0,0,0,89,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,32,0,0,0,10,0,0,0,0,0,0,0,248,2,0,0,81,0,0,0,90,0,0,0,89,0,0,0,1,0,0,0,46,0,0,0,47,0,0,0,1,0,0,0,3,0,0,0,6,0,0,0,33,0,0,0,11,0,0,0,0,0,0,0,8,3,0,0,81,0,0,0,91,0,0,0,92,0,0,0,1,0,0,0,48,0,0,0,49,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,34,0,0,0,12,0,0,0,21,0,0,0,0,0,0,0,24,3,0,0,81,0,0,0,93,0,0,0,94,0,0,0,1,0,0,0,50,0,0,0,51,0,0,0,1,0,0,0,5,0,0,0,8,0,0,0,35,0,0,0,13,0,0,0,0,0,0,0,40,3,0,0,95,0,0,0,96,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,97,0,0,0,36,0,0,0,18,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,64,3,0,0,98,0,0,0,99,0,0,0,2,0,0,0,52,0,0,0,16,0,0,0,17,0,0,0,19,0,0,0,0,0,0,0,88,3,0,0,17,0,0,0,100,0,0,0,6,0,0,0,0,0,0,0,104,3,0,0,101,0,0,0,102,0,0,0,3,0,0,0,53,0,0,0,54,0,0,0,4,0,0,0,55,0,0,0,56,0,0,0,57,0,0,0,5,0,0,0,37,0,0,0,103,0,0,0,38,0,0,0,58,0,0,0,0,0,0,0,120,3,0,0,21,0,0,0,104,0,0,0,3,0,0,0,9,0,0,0,0,0,0,0,152,3,0,0,105,0,0,0,106,0,0,0,1,0,0,0,10,215,163,60,1,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,184,3,0,0,4,0,0,0,107,0,0,0,108,0,0,0,37,0,0,0,39,0,0,0,14,0,0,
//0,7,0,0,0,24,0,0,0,20,0,0,0,0,0,0,0,200,3,0,0,4,0,0,0,109,0,0,0,110,0,0,0,37,0,0,0,39,0,0,0,14,0,0,0,7,0,0,0,25,0,0,0,21,0,0,0,0,0,0,0,216,3,0,0,111,0,0,0,112,0,0,0,7,0,0,0,15,0,0,0,59,0,0,0,60,0,0,0,16,0,0,0,17,0,0,0,22,0,0,0,40,0,0,0,13,0,0,0,41,0,0,0,42,0,0,0,43,0,0,0,14,0,0,0,61,0,0,0,0,0,0,0,232,3,0,0,113,0,0,0,114,0,0,0,15,0,0,0,0,0,0,0,0,4,0,0,115,0,0,0,116,0,0,0,5,0,0,0,6,0,0,0,18,0,0,0,7,0,0,0,0,0,0,0,168,4,0,0,28,0,0,0,117,0,0,0,8,0,0,0,0,0,0,0,152,4,0,0,28,0,0,0,118,0,0,0,9,0,0,0,0,0,0,
//0,136,4,0,0,28,0,0,0,119,0,0,0,10,0,0,0,0,0,0,0,120,4,0,0,28,0,0,0,120,0,0,0,11,0,0,0,0,0,0,0,104,4,0,0,28,0,0,0,121,0,0,0,12,0,0,0,0,0,0,0,88,4,0,0,28,0,0,0,122,0,0,0,13,0,0,0,0,0,0,0,72,4,0,0,28,0,0,0,123,0,0,0,14,0,0,0,0,0,0,0,56,4,0,0,28,0,0,0,124,0,0,0,15,0,0,0,0,0,0,0,40,4,0,0,28,0,0,0,125,0,0,0,16,0,0,0,0,0,0,0,24,4,0,0,28,0,0,0,126,0,0,0,17,0,0,0,0,0,0,0,184,4,0,0,127,0,0,0,128,0,0,0,26,0,0,0,62,0,0,0,0,0,0,0,192,4,0,0,129,0,0,0,130,0,0,0,5,0,0,0,4,0,0,0,63,0,0,0,0,0,0,0,208,4,0,0,131,0,0,
//0,132,0,0,0,6,0,0,0,5,0,0,0,64,0,0,0,0,0,0,0,224,4,0,0,51,0,0,0,133,0,0,0,23,0,0,0,0,0,0,0,240,4,0,0,134,0,0,0,135,0,0,0,24,0,0,0,0,0,0,0,0,5,0,0,136,0,0,0,137,0,0,0,7,0,0,0,6,0,0,0,65,0,0,0,0,0,0,0,16,5,0,0,138,0,0,0,139,0,0,0,27,0,0,0,28,0,0,0,3,0,0,0,0,0,0,0,40,5,0,0,140,0,0,0,141,0,0,0,61,0,0,0,62,0,0,0,19,0,0,0,23,0,0,0,142,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,66,0,0,0,64,0,0,0,67,0,0,0,0,0,0,0,48,5,0,0,69,0,0,0,143,0,0,0,16,0,0,0,0,0,0,0,112,5,0,0,51,0,0,0,144,0,0,0,26,0,0,0,1,0,0,0,0,0,0,0,96,
//5,0,0,51,0,0,0,145,0,0,0,26,0,0,0,2,0,0,0,0,0,0,0,80,5,0,0,35,0,0,0,146,0,0,0,7,0,0,0,68,0,0,0,1,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,64,5,0,0,7,0,0,0,147,0,0,0,17,0,0,0,10,0,0,0,0,0,0,0,128,5,0,0,148,0,0,0,149,0,0,0,27,0,0,0,28,0,0,0,252,255,255,255,128,5,0,0,150,0,0,0,151,0,0,0,29,0,0,0,0,0,0,0,192,5,0,0,51,0,0,0,152,0,0,0,30,0,0,0,1,0,0,0,0,0,0,0,176,5,0,0,51,0,0,0,153,0,0,0,30,0,0,0,2,0,0,0,0,0,0,0,160,5,0,0,21,0,0,0,154,0,0,0,18,0,0,0,11,0,0,0,0,0,0,0,208,5,0,0,69,0,0,0,155,0,0,0,19,0,0,0,0,0,0,0,224,
//5,0,0,69,0,0,0,156,0,0,0,20,0,0,0,0,0,0,0,240,5,0,0,138,0,0,0,157,0,0,0,27,0,0,0,28,0,0,0,4,0,0,0,0,0,0,0,0,6,0,0,158,0,0,0,159,0,0,0,8,0,0,0,7,0,0,0,69,0,0,0,0,0,0,0,16,6,0,0,160,0,0,0,161,0,0,0,18,0,0,0,0,0,0,0,32,6,0,0,162,0,0,0,163,0,0,0,9,0,0,0,8,0,0,0,70,0,0,0,0,0,0,0,80,6,0,0,138,0,0,0,164,0,0,0,29,0,0,0,30,0,0,0,5,0,0,0,0,0,0,0,64,6,0,0,138,0,0,0,165,0,0,0,31,0,0,0,32,0,0,0,6,0,0,0,0,0,0,0,48,6,0,0,138,0,0,0,166,0,0,0,27,0,0,0,28,0,0,0,7,0,0,0,0,0,0,0,96,6,0,0,167,0,0,0,168,0,0,0,10,0,0,0,
//9,0,0,0,71,0,0,0,0,0,0,0,112,6,0,0,35,0,0,0,169,0,0,0,7,0,0,0,72,0,0,0,1,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,128,6,0,0,170,0,0,0,171,0,0,0,11,0,0,0,10,0,0,0,73,0,0,0,0,0,0,0,144,6,0,0,35,0,0,0,172,0,0,0,33,0,0,0,15,0,0,0,1,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,160,6,0,0,173,0,0,0,174,0,0,0,31,0,0,0,8,0,0,0,1,0,0,0,1,0,0,0,74,0,0,0,44,0,0,0,5,0,0,0,45,0,0,0,10,0,0,0,18,0,0,0,5,0,0,0,46,0,0,0,19,0,0,0,11,0,0,0,75,0,0,0,175,0,0,0,0,0,0,0,176,6,0,0,43,0,0,0,176,0,0,0,32,0,0,0,8,0,0,0,1,0,0,0,1,0,0,0,76,0,0,0,13,0,
//0,0,6,0,0,0,47,0,0,0,77,0,0,0,7,0,0,0,4,0,0,0,48,0,0,0,20,0,0,0,11,0,0,0,34,0,0,0,35,0,0,0,1,0,0,0,33,0,0,0,5,0,0,0,16,0,0,0,11,0,0,0,0,0,0,0,192,6,0,0,43,0,0,0,177,0,0,0,32,0,0,0,8,0,0,0,1,0,0,0,1,0,0,0,76,0,0,0,13,0,0,0,6,0,0,0,49,0,0,0,78,0,0,0,7,0,0,0,4,0,0,0,48,0,0,0,20,0,0,0,11,0,0,0,34,0,0,0,35,0,0,0,1,0,0,0,33,0,0,0,5,0,0,0,16,0,0,0,11,0,0,0,0,0,0,0,208,6,0,0,43,0,0,0,178,0,0,0,32,0,0,0,8,0,0,0,1,0,0,0,1,0,0,0,76,0,0,0,13,0,0,0,6,0,0,0,50,0,0,0,79,0,0,0,7,0,0,0,4,0,0,0,48,0,0,0,20,0,0,0,11,
//0,0,0,34,0,0,0,35,0,0,0,1,0,0,0,33,0,0,0,5,0,0,0,16,0,0,0,11,0,0,0,0,0,0,0,224,6,0,0,43,0,0,0,179,0,0,0,34,0,0,0,8,0,0,0,1,0,0,0,1,0,0,0,14,0,0,0,13,0,0,0,7,0,0,0,51,0,0,0,10,0,0,0,19,0,0,0,6,0,0,0,15,0,0,0,5,0,0,0,11,0,0,0,36,0,0,0,37,0,0,0,1,0,0,0,35,0,0,0,5,0,0,0,16,0,0,0,11,0,0,0,0,0,0,0,240,6,0,0,180,0,0,0,181,0,0,0,36,0,0,0,8,0,0,0,1,0,0,0,1,0,0,0,80,0,0,0,52,0,0,0,8,0,0,0,53,0,0,0,10,0,0,0,4,0,0,0,2,0,0,0,54,0,0,0,21,0,0,0,11,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,81,0,0,0,82,0,0,0,0,0,0,0,0,7,0,
//0,182,0,0,0,183,0,0,0,40,0,0,0,0,0,0,0,24,7,0,0,182,0,0,0,184,0,0,0,41,0,0,0,0,0,0,0,40,7,0,0,182,0,0,0,185,0,0,0,42,0,0,0,0,0,0,0,56,7,0,0,186,0,0,0,187,0,0,0,36,0,0,0,8,0,0,0,1,0,0,0,1,0,0,0,83,0,0,0,52,0,0,0,8,0,0,0,55,0,0,0,10,0,0,0,4,0,0,0,2,0,0,0,12,0,0,0,4,0,0,0,11,0,0,0,38,0,0,0,38,0,0,0,39,0,0,0,0,0,0,0,72,7,0,0,51,0,0,0,188,0,0,0,39,0,0,0,0,0,0,0,88,7,0,0,189,0,0,0,190,0,0,0,40,0,0,0,0,0,0,0,104,7,0,0,191,0,0,0,192,0,0,0,41,0,0,0,8,0,0,0,1,0,0,0,1,0,0,0,84,0,0,0,56,0,0,0,9,0,0,0,57,0,0,
//0,10,0,0,0,4,0,0,0,2,0,0,0,58,0,0,0,22,0,0,0,11,0,0,0,42,0,0,0,0,0,0,0,120,7,0,0,55,0,0,0,193,0,0,0,32,0,0,0,8,0,0,0,1,0,0,0,1,0,0,0,14,0,0,0,13,0,0,0,10,0,0,0,1,0,0,0,10,0,0,0,7,0,0,0,4,0,0,0,15,0,0,0,5,0,0,0,11,0,0,0,15,0,0,0,43,0,0,0,1,0,0,0,43,0,0,0,5,0,0,0,16,0,0,0,11,0,0,0,7,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,192,7,0,0,194,0,0,0,195,0,0,0,44,0,0,0,8,0,0,0,1,0,0,0,1,0,0,0,85,0,0,0,13,0,0,0,10,0,0,0,59,0,0,0,10,0,0,0,7,0,0,0,4,0,0,0,60,0,0,0,23,0,0,0,11,0,0,
//0,44,0,0,0,45,0,0,0,1,0,0,0,45,0,0,0,5,0,0,0,16,0,0,0,11,0,0,0,7,0,0,0,61,0,0,0,62,0,0,0,46,0,0,0,46,0,0,0,63,0,0,0,47,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,224,7,0,0,43,0,0,0,196,0,0,0,48,0,0,0,8,0,0,0,1,0,0,0,1,0,0,0,86,0,0,0,13,0,0,0,11,0,0,0,64,0,0,0,87,0,0,0,20,0,0,0,4,0,0,0,65,0,0,0,24,0,0,0,11,0,0,0,15,0,0,0,47,0,0,0,1,0,0,0,49,0,0,0,5,0,0,0,16,0,0,0,11,0,0,0,0,0,0,0,240,7,0,0,43,0,0,0,197,0,0,0,48,0,0,0,8,0,0,0,1,0,0,0,1,0,0,0,86,0,0,0,13,0,0,0,11,0,0,0,66,0,0,0,87,0,0,0,20,0,0,0,4,0,0,0,65,0,0,0,
//24,0,0,0,11,0,0,0,15,0,0,0,47,0,0,0,1,0,0,0,49,0,0,0,5,0,0,0,16,0,0,0,11,0,0,0,0,0,0,0,0,8,0,0,43,0,0,0,198,0,0,0,48,0,0,0,8,0,0,0,1,0,0,0,1,0,0,0,86,0,0,0,13,0,0,0,11,0,0,0,67,0,0,0,87,0,0,0,20,0,0,0,4,0,0,0,65,0,0,0,24,0,0,0,11,0,0,0,15,0,0,0,47,0,0,0,1,0,0,0,49,0,0,0,5,0,0,0,16,0,0,0,11,0,0,0,0,0,0,0,16,8,0,0,55,0,0,0,199,0,0,0,44,0,0,0,8,0,0,0,1,0,0,0,1,0,0,0,88,0,0,0,68,0,0,0,10,0,0,0,69,0,0,0,10,0,0,0,7,0,0,0,4,0,0,0,15,0,0,0,5,0,0,0,11,0,0,0,48,0,0,0,49,0,0,0,1,0,0,0,50,0,0,0,5,0,0,0,16,0,
//0,0,11,0,0,0,7,0,0,0,70,0,0,0,71,0,0,0,51,0,0,0,50,0,0,0,72,0,0,0,52,0,0,0,3,0,0,0,0,0,0,0,32,8,0,0,189,0,0,0,200,0,0,0,53,0,0,0,0,0,0,0,64,8,0,0,55,0,0,0,201,0,0,0,54,0,0,0,8,0,0,0,1,0,0,0,1,0,0,0,89,0,0,0,13,0,0,0,12,0,0,0,73,0,0,0,10,0,0,0,21,0,0,0,4,0,0,0,15,0,0,0,5,0,0,0,11,0,0,0,51,0,0,0,52,0,0,0,1,0,0,0,55,0,0,0,5,0,0,0,74,0,0,0,53,0,0,0,7,0,0,0,75,0,0,0,76,0,0,0,56,0,0,0,54,0,0,0,77,0,0,0,57,0,0,0,4,0,0,0,55,0,0,0,0,0,0,0,80,8,0,0,202,0,0,0,203,0,0,0,19,0,0,0,78,0,0,0,25,0,0,0,90,0,0,0,91,
//0,0,0,20,0,0,0,0,0,0,0,112,8,0,0,189,0,0,0,204,0,0,0,58,0,0,0,0,0,0,0,96,8,0,0,189,0,0,0,205,0,0,0,59,0,0,0,0,0,0,0,128,8,0,0,206,0,0,0,207,0,0,0,60,0,0,0,8,0,0,0,1,0,0,0,1,0,0,0,92,0,0,0,79,0,0,0,13,0,0,0,80,0,0,0,10,0,0,0,4,0,0,0,2,0,0,0,12,0,0,0,4,0,0,0,11,0,0,0,61,0,0,0,12,0,0,0,0,0,0,0,144,8,0,0,43,0,0,0,208,0,0,0,62,0,0,0,8,0,0,0,1,0,0,0,1,0,0,0,93,0,0,0,13,0,0,0,14,0,0,0,81,0,0,0,94,0,0,0,22,0,0,0,4,0,0,0,82,0,0,0,26,0,0,0,11,0,0,0,56,0,0,0,57,0,0,0,1,0,0,0,63,0,0,0,5,0,0,0,16,0,0,0,11,0,0,
//0,7,0,0,0,0,0,0,0,160,8,0,0,43,0,0,0,209,0,0,0,62,0,0,0,8,0,0,0,1,0,0,0,1,0,0,0,93,0,0,0,13,0,0,0,14,0,0,0,83,0,0,0,94,0,0,0,22,0,0,0,4,0,0,0,82,0,0,0,26,0,0,0,11,0,0,0,56,0,0,0,58,0,0,0,1,0,0,0,64,0,0,0,5,0,0,0,16,0,0,0,11,0,0,0,8,0,0,0,0,0,0,0,176,8,0,0,43,0,0,0,210,0,0,0,62,0,0,0,8,0,0,0,1,0,0,0,1,0,0,0,93,0,0,0,13,0,0,0,14,0,0,0,84,0,0,0,94,0,0,0,22,0,0,0,4,0,0,0,82,0,0,0,26,0,0,0,11,0,0,0,56,0,0,0,59,0,0,0,1,0,0,0,65,0,0,0,5,0,0,0,16,0,0,0,11,0,0,0,9,0,0,0,0,0,0,0,192,8,0,0,211,0,0,0,212,0,0,
//0,66,0,0,0,1,0,0,0,2,0,0,0,95,0,0,0,96,0,0,0,85,0,0,0,97,0,0,0,98,0,0,0,86,0,0,0,60,0,0,0,61,0,0,0,87,0,0,0,27,0,0,0,0,0,0,0,208,8,0,0,213,0,0,0,214,0,0,0,1,0,0,0,62,0,0,0,12,0,0,0,67,0,0,0,2,0,0,0,68,0,0,0,99,0,0,0,88,0,0,0,89,0,0,0,63,0,0,0,100,0,0,0,215,0,0,0,0,0,0,0,224,8,0,0,213,0,0,0,216,0,0,0,1,0,0,0,62,0,0,0,12,0,0,0,67,0,0,0,2,0,0,0,68,0,0,0,99,0,0,0,88,0,0,0,89,0,0,0,63,0,0,0,100,0,0,0,215,0,0,0,0,0,0,0,248,8,0,0,217,0,0,0,218,0,0,0,28,0,0,0,21,0,0,0,64,0,0,0,90,0,0,0,91,0,0,0,92,0,0,0,
//65,0,0,0,93,0,0,0,66,0,0,0,101,0,0,0,67,0,0,0,29,0,0,0,94,0,0,0,102,0,0,0,103,0,0,0,0,0,0,0,24,9,0,0,219,0,0,0,220,0,0,0,30,0,0,0,22,0,0,0,68,0,0,0,95,0,0,0,96,0,0,0,97,0,0,0,69,0,0,0,98,0,0,0,70,0,0,0,104,0,0,0,71,0,0,0,31,0,0,0,99,0,0,0,105,0,0,0,106,0,0,0,0,0,0,0,40,9,0,0,113,0,0,0,221,0,0,0,21,0,0,0,0,0,0,0,56,9,0,0,113,0,0,0,222,0,0,0,22,0,0,0,0,0,0,0,72,9,0,0,223,0,0,0,224,0,0,0,2,0,0,0,72,0,0,0,13,0,0,0,69,0,0,0,3,0,0,0,70,0,0,0,107,0,0,0,100,0,0,0,101,0,0,0,73,0,0,0,108,0,0,0,225,0,0,0,0,
//0,0,0,88,9,0,0,35,0,0,0,226,0,0,0,74,0,0,0,109,0,0,0,1,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,104,9,0,0,35,0,0,0,227,0,0,0,7,0,0,0,110,0,0,0,1,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,120,9,0,0,35,0,0,0,228,0,0,0,7,0,0,0,111,0,0,0,1,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,144,9,0,0,229,0,0,0,230,0,0,0,19,0,0,0,78,0,0,0,25,0,0,0,90,0,0,0,91,0,0,0,0,0,0,0,168,9,0,0,51,0,0,0,231,0,0,0,30,0,0,0,1,0,0,0,0,0,0,0,184,9,0,0,232,0,0,0,233,0,0,0,1,0,0,0,0,0,0,0,200,9,0,0,138,0,0,0,234,0,0,0,75,0,0,0,76,0,0,0,8,0,0,0,0,0,0,0,224,9,0,0,232,
//0,0,0,235,0,0,0,2,0,0,0,0,0,0,0,240,9,0,0,105,0,0,0,236,0,0,0,2,0,0,0,0,0,0,0,0,10,0,0,138,0,0,0,237,0,0,0,77,0,0,0,78,0,0,0,9,0,0,0,0,0,0,0,16,10,0,0,105,0,0,0,238,0,0,0,3,0,0,0,0,0,0,0,32,10,0,0,239,0,0,0,240,0,0,0,14,0,0,0,0,0,0,0,72,10,0,0,241,0,0,0,242,0,0,0,15,0,0,0,11,0,0,0,112,0,0,0,0,0,0,0,88,10,0,0,243,0,0,0,244,0,0,0,16,0,0,0,12,0,0,0,113,0,0,0,0,0,0,0,104,10,0,0,239,0,0,0,245,0,0,0,17,0,0,0,0,0,0,0,120,10,0,0,239,0,0,0,246,0,0,0,18,0,0,0,0,0,0,0,136,10,0,0,247,0,0,0,248,0,0,0,32,0,0,0,
//33,0,0,0,102,0,0,0,0,0,0,0,144,10,0,0,249,0,0,0,250,0,0,0,0,0,0,0,152,10,0,0,251,0,0,0,252,0,0,0,66,0,0,0,1,0,0,0,2,0,0,0,95,0,0,0,96,0,0,0,85,0,0,0,114,0,0,0,115,0,0,0,86,0,0,0,60,0,0,0,61,0,0,0,87,0,0,0,27,0,0,0,40,101,0,0,255,255,255,255,5,0,0,0,0,0,0,0,0,0,0,0,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,0,0,0,35,0,0,0,165,103,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,184,10,0,0,253,0,0,0,254,0,0,0,255,0,0,0,0,1,0,0,36,0,0,0,4,0,0,0,19,0,0,0,71,0,0,0,0,0,0,0,224,10,0,0,253,0,0,0,1,1,0,0,255,0,0,0,0,1,0,0,36,0,0,0,5,0,0,0,20,0,0,0,72,0,0,0,0,0,0,0,16,11,0,0,253,0,0,0,2,1,0,0,255,0,0,0,0,1,0,0,36,0,0,0,6,0,0,0,21,0,0,0,73,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,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,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],"i8",4,d.i);
//wa([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,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,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,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,50,51,98,116,68,101,102,97,117,108,116,83,111,102,116,66,111,100,121,83,111,108,118,101,114,0,49,54,98,116,83,111,102,116,66,111,100,121,83,111,108,118,101,114,0,52,49,98,116,83,111,102,116,66,111,100,121,82,105,103,105,100,66,111,100,121,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,53,98,116,83,111,102,116,66,111,100,121,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,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,51,53,98,116,83,111,102,116,66,111,100,121,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,78,50,57,98,116,83,111,102,116,82,105,103,105,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,83,111,102,116,83,111,102,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,83,111,102,116,66,111,100,121,77,97,116,101,114,105,97,108,68,97,116,97,0,83,111,102,116,66,111,100,121,78,111,100,101,68,97,116,97,0,83,111,102,116,66,
//111,100,121,76,105,110,107,68,97,116,97,0,83,111,102,116,66,111,100,121,70,97,99,101,68,97,116,97,0,83,111,102,116,66,111,100,121,84,101,116,114,97,68,97,116,97,0,83,111,102,116,82,105,103,105,100,65,110,99,104,111,114,68,97,116,97,0,102,108,111,97,116,0,83,111,102,116,66,111,100,121,80,111,115,101,68,97,116,97,0,105,110,116,0,83,111,102,116,66,111,100,121,67,108,117,115,116,101,114,68,97,116,97,0,98,116,83,111,102,116,66,111,100,121,74,111,105,110,116,68,97,116,97,0,98,116,83,111,102,116,66,111,
//100,121,70,108,111,97,116,68,97,116,97,0,49,48,98,116,83,111,102,116,66,111,100,121,0,78,49,48,98,116,83,111,102,116,66,111,100,121,49,53,82,97,121,70,114,111,109,84,111,67,97,115,116,101,114,69,0,78,54,98,116,68,98,118,116,56,73,67,111,108,108,105,100,101,69,0,78,49,48,98,116,83,111,102,116,66,111,100,121,53,74,111,105,110,116,69,0,78,49,48,98,116,83,111,102,116,66,111,100,121,54,67,74,111,105,110,116,69,0,83,111,102,116,66,111,100,121,0,50,52,98,116,83,111,102,116,66,111,100,121,67,111,108,108,
//105,115,105,111,110,83,104,97,112,101,0,85,112,100,97,116,101,67,108,117,115,116,101,114,115,0,83,111,102,116,66,111,100,121,32,97,112,112,108,121,70,111,114,99,101,115,0,65,112,112,108,121,67,108,117,115,116,101,114,115,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,83,79,70,84,67,76,85,83,84,69,82,0,50,55,98,116,83,111,102,116,67,108,117,115,116,101,114,67,111,108,108,105,115,105,111,110,83,104,97,112,101,0,78,49,53,98,116,83,111,102,116,67,111,108,
//108,105,100,101,114,115,49,50,67,111,108,108,105,100,101,67,76,95,82,83,69,0,78,49,53,98,116,83,111,102,116,67,111,108,108,105,100,101,114,115,49,49,67,108,117,115,116,101,114,66,97,115,101,69,0,78,49,53,98,116,83,111,102,116,67,111,108,108,105,100,101,114,115,49,51,67,111,108,108,105,100,101,83,68,70,95,82,83,69,0,78,49,53,98,116,83,111,102,116,67,111,108,108,105,100,101,114,115,49,50,67,111,108,108,105,100,101,86,70,95,83,83,69,0,78,49,53,98,116,83,111,102,116,67,111,108,108,105,100,101,114,115,
//49,50,67,111,108,108,105,100,101,67,76,95,83,83,69,0,50,57,98,116,83,111,102,116,82,105,103,105,100,67,111,108,108,105,115,105,111,110,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,84,114,105,97,110,103,108,101,0,49,53,98,116,84,114,105,97,110,103,108,101,83,104,97,112,101,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,90,78,51,53,98,116,83,111,102,116,66,111,100,121,
//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,54,98,116,83,111,102,116,66,111,100,121,84,114,105,97,110,103,108,101,67,97,108,108,98,97,99,107,0,51,53,98,116,83,111,102,116,66,111,100,121,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,115,111,108,118,101,83,111,102,116,67,111,110,115,116,114,97,105,110,116,115,0,112,114,101,100,105,99,116,85,110,99,111,110,115,116,114,97,105,110,116,77,111,116,105,111,110,83,111,102,116,66,111,100,121,0,114,97,121,84,101,115,116,0,50,51,
//98,116,83,111,102,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,50,52,98,116,83,111,102,116,82,105,103,105,100,68,121,110,97,109,105,99,115,87,111,114,108,100,0,50,56,98,116,83,111,102,116,83,111,102,116,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,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,105,110,116,101,114,110,97,108,83,105,110,103,108,101,83,116,101,112,83,105,109,117,108,97,116,105,111,110,0,117,112,100,97,116,101,65,99,116,105,111,110,115,0,99,114,101,97,116,101,80,114,101,100,105,99,116,105,118,101,67,111,110,116,97,99,116,115,0,114,101,108,101,97,115,101,32,112,114,101,100,105,99,116,105,118,101,32,99,111,110,116,97,99,116,32,109,97,110,105,102,111,108,100,115,0,112,114,101,100,
//105,99,116,105,118,101,32,99,111,110,118,101,120,83,119,101,101,112,84,101,115,116,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,117,112,100,97,116,101,65,99,116,105,118,97,116,105,111,110,83,116,97,116,101,0,115,111,108,118,101,67,111,110,115,116,114,97,105,110,116,115,0,99,97,108,99,117,108,97,116,101,83,105,109,117,108,97,116,105,111,110,73,115,108,97,110,100,115,0,105,110,116,101,103,114,97,116,101,84,114,
//97,110,115,102,111,114,109,115,0,67,67,68,32,109,111,116,105,111,110,32,99,108,97,109,112,105,110,103,0,97,112,112,108,121,32,115,112,101,99,117,108,97,116,105,118,101,32,99,111,110,116,97,99,116,32,114,101,115,116,105,116,117,116,105,111,110,0,112,114,101,100,105,99,116,85,110,99,111,110,115,116,114,97,105,110,116,77,111,116,105,111,110,0,115,121,110,99,104,114,111,110,105,122,101,77,111,116,105,111,110,83,116,97,116,101,115,0,115,116,101,112,83,105,109,117,108,97,116,105,111,110,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,100,101,98,117,103,68,114,97,119,87,111,114,108,100,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,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,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,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,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,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,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,67,111,110,101,84,119,105,115,116,67,111,110,115,116,114,97,105,110,116,68,97,116,97,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,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,115,111,108,118,101,71,114,111,117,112,67,97,99,104,101,70,114,105,101,110,100,108,
//121,73,116,101,114,97,116,105,111,110,115,0,115,111,108,118,101,71,114,111,117,112,67,97,99,104,101,70,114,105,101,110,100,108,121,83,101,116,117,112,0,115,111,108,118,101,71,114,111,117,112,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,49,54,98,116,82,97,121,99,97,115,116,86,101,104,105,99,108,101,0,49,55,98,116,65,99,116,105,
//111,110,73,110,116,101,114,102,97,99,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,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,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,67,111,110,118,101,120,67,97,115,116,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,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,
//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,49,55,98,116,79,118,101,114,108,97,112,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,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,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,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,105,115,108,97,110,100,85,110,105,111,110,70,105,110,100,65,110,100,81,117,105,99,107,83,111,114,116,0,112,114,111,99,101,115,115,73,115,108,97,110,100,115,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,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,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,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,112,101,114,102,111,114,109,68,105,115,99,114,101,116,101,67,111,108,108,105,115,105,111,110,68,101,116,101,99,116,105,111,110,0,100,105,115,112,97,116,99,104,65,108,108,67,111,108,108,105,115,105,111,110,80,97,105,114,115,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,49,57,98,116,83,105,110,103,108,101,82,97,121,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,99,97,108,99,117,108,97,116,101,79,118,101,114,108,97,112,112,105,110,103,80,97,105,114,115,0,117,112,100,97,116,101,65,97,98,98,115,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,99,111,110,118,101,120,83,119,101,101,112,67,111,
//109,112,111,117,110,100,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,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,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,99,111,110,118,101,120,83,119,101,101,112,84,101,115,116,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,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,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,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,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,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,83,80,72,69,82,69,0,49,51,98,116,83,112,104,101,114,101,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,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,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,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,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,49,51,98,116,67,111,110,118,101,120,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,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,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,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,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,49,52,98,116,67,111,110,99,97,118,101,83,104,97,112,101,0,66,111,120,0,49,48,98,116,66,111,120,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,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,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,49,52,98,116,84,114,105,97,110,103,108,101,77,101,115,104,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,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,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,49,56,98,116,68,98,118,116,84,114,101,101,67,111,108,108,105,100,101,114,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,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,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,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,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,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,49,54,98,116,80,111,105,110,116,67,111,108,108,101,99,116,111,114,0,49,53,98,116,71,106,107,67,111,110,118,101,120,67,97,115,116,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,55,98,116,71,106,107,80,97,105,114,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,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,49,54,98,116,69,109,112,116,121,65,108,103,111,114,105,116,104,109,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,49,54,98,116,66,111,120,66,111,120,68,101,116,101,99,116,111,114,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,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,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,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,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],"i8",4,d.i+10240);
//wa([110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,
//99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,
//116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,
//105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,
//32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,
//99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,
//32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,
//101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,
//114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,
//101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,
//87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,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,d.i+20480);var cb=la;la+=16;c._i64Subtract=db;c._i64Add=eb;c._memset=fb;c._bitshift64Lshr=gb;c._bitshift64Shl=hb;function ib(){return!!ib.d}var jb=0,kb=[],lb={};function mb(a,b){mb.d||(mb.d={});a in mb.d||(c.dynCall_v(b),mb.d[a]=1)}c._llvm_bswap_i16=nb;c._memcpy=ob;var pb=0;
//function qb(){pb+=4;return l[pb-4>>2]}
//var rb={},sb=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);c._llvm_cttz_i32=tb;c.___udivmoddi4=ub;c.___udivdi3=vb;var wb={};c.___muldsi3=xb;c.___muldi3=yb;c._sbrk=zb;c._memmove=Ab;var Bb=1;
//function Cb(){var a=jb;if(!a)return(d.e(0),0)|0;var b=lb[a],e=b.type;if(!e)return(d.e(0),a)|0;var f=Array.prototype.slice.call(arguments);c.___cxa_is_pointer_type(e);Cb.buffer||(Cb.buffer=xa(4));l[Cb.buffer>>2]=a;for(var a=Cb.buffer,g=0;g<f.length;g++)if(f[g]&&c.___cxa_can_catch(f[g],e,a))return a=l[a>>2],b.A=a,(d.e(f[g]),a)|0;a=l[a>>2];return(d.e(e),a)|0}c.___uremdi3=Db;c._llvm_bswap_i32=Eb;
//function Fb(a,b){pb=b;try{var e=qb(),f=qb(),g=qb(),h=0;Fb.buffer||(Fb.d=[null,[],[]],Fb.q=function(a,b){var e=Fb.d[a];assert(e);if(0===b||10===b){var f=1===a?c.print:c.printErr,g;a:{for(var h=g=0;e[h];)++h;if(16<h-g&&e.subarray&&Ea)g=Ea.decode(e.subarray(g,h));else for(var k,m,v,x,A,yc,h="";;){k=e[g++];if(!k){g=h;break a}k&128?(m=e[g++]&63,192==(k&224)?h+=String.fromCharCode((k&31)<<6|m):(v=e[g++]&63,224==(k&240)?k=(k&15)<<12|m<<6|v:(x=e[g++]&63,240==(k&248)?k=(k&7)<<18|m<<12|v<<6|x:(A=e[g++]&63,
//248==(k&252)?k=(k&3)<<24|m<<18|v<<12|x<<6|A:(yc=e[g++]&63,k=(k&1)<<30|m<<24|v<<18|x<<12|A<<6|yc))),65536>k?h+=String.fromCharCode(k):(k-=65536,h+=String.fromCharCode(55296|k>>10,56320|k&1023)))):h+=String.fromCharCode(k)}}f(g);e.length=0}else e.push(b)});for(var k=0;k<g;k++){for(var m=l[f+8*k>>2],v=l[f+(8*k+4)>>2],x=0;x<v;x++)Fb.q(e,ya[m+x]);h+=v}return h}catch(A){return"undefined"!==typeof FS&&A instanceof FS.o||qa(A),-A.r}}
//Va.push(function(){var a=c._fflush;a&&a(0);if(a=Fb.q){var b=Fb.d;b[1].length&&a(1,10);b[2].length&&a(2,10)}});ma=wa(1,"i32",2);Na=ka=d.p(la);Oa=Na+Qa;Pa=d.p(Oa);l[ma>>2]=Pa;c.B={Math:Math,Int8Array:Int8Array,Int16Array:Int16Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Uint16Array:Uint16Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array,NaN:NaN,Infinity:Infinity};
//c.C={abort:qa,assert:assert,enlargeMemory:function(){oa()},getTotalMemory:function(){return na},abortOnCannotGrowMemory:oa,invoke_viiiii:function(a,b,e,f,g,h){try{c.dynCall_viiiii(a,b,e,f,g,h)}catch(k){if("number"!==typeof k&&"longjmp"!==k)throw k;c.setThrew(1,0)}},invoke_vid:function(a,b,e){try{c.dynCall_vid(a,b,e)}catch(f){if("number"!==typeof f&&"longjmp"!==f)throw f;c.setThrew(1,0)}},invoke_vi:function(a,b){try{c.dynCall_vi(a,b)}catch(e){if("number"!==typeof e&&"longjmp"!==e)throw e;c.setThrew(1,
//0)}},invoke_viiidii:function(a,b,e,f,g,h,k){try{c.dynCall_viiidii(a,b,e,f,g,h,k)}catch(m){if("number"!==typeof m&&"longjmp"!==m)throw m;c.setThrew(1,0)}},invoke_vii:function(a,b,e){try{c.dynCall_vii(a,b,e)}catch(f){if("number"!==typeof f&&"longjmp"!==f)throw f;c.setThrew(1,0)}},invoke_iiiiiiiiiii:function(a,b,e,f,g,h,k,m,v,x,A){try{return c.dynCall_iiiiiiiiiii(a,b,e,f,g,h,k,m,v,x,A)}catch(T){if("number"!==typeof T&&"longjmp"!==T)throw T;c.setThrew(1,0)}},invoke_ii:function(a,b){try{return c.dynCall_ii(a,
//b)}catch(e){if("number"!==typeof e&&"longjmp"!==e)throw e;c.setThrew(1,0)}},invoke_viidi:function(a,b,e,f,g){try{c.dynCall_viidi(a,b,e,f,g)}catch(h){if("number"!==typeof h&&"longjmp"!==h)throw h;c.setThrew(1,0)}},invoke_viddiii:function(a,b,e,f,g,h,k){try{c.dynCall_viddiii(a,b,e,f,g,h,k)}catch(m){if("number"!==typeof m&&"longjmp"!==m)throw m;c.setThrew(1,0)}},invoke_vidii:function(a,b,e,f,g){try{c.dynCall_vidii(a,b,e,f,g)}catch(h){if("number"!==typeof h&&"longjmp"!==h)throw h;c.setThrew(1,0)}},invoke_iiiii:function(a,
//b,e,f,g){try{return c.dynCall_iiiii(a,b,e,f,g)}catch(h){if("number"!==typeof h&&"longjmp"!==h)throw h;c.setThrew(1,0)}},invoke_vidi:function(a,b,e,f){try{c.dynCall_vidi(a,b,e,f)}catch(g){if("number"!==typeof g&&"longjmp"!==g)throw g;c.setThrew(1,0)}},invoke_diiiiiiii:function(a,b,e,f,g,h,k,m,v){try{return c.dynCall_diiiiiiii(a,b,e,f,g,h,k,m,v)}catch(x){if("number"!==typeof x&&"longjmp"!==x)throw x;c.setThrew(1,0)}},invoke_viiiiddddiid:function(a,b,e,f,g,h,k,m,v,x,A,T){try{c.dynCall_viiiiddddiid(a,
//b,e,f,g,h,k,m,v,x,A,T)}catch(Pb){if("number"!==typeof Pb&&"longjmp"!==Pb)throw Pb;c.setThrew(1,0)}},invoke_diiiii:function(a,b,e,f,g,h){try{return c.dynCall_diiiii(a,b,e,f,g,h)}catch(k){if("number"!==typeof k&&"longjmp"!==k)throw k;c.setThrew(1,0)}},invoke_vidd:function(a,b,e,f){try{c.dynCall_vidd(a,b,e,f)}catch(g){if("number"!==typeof g&&"longjmp"!==g)throw g;c.setThrew(1,0)}},invoke_iiii:function(a,b,e,f){try{return c.dynCall_iiii(a,b,e,f)}catch(g){if("number"!==typeof g&&"longjmp"!==g)throw g;
//c.setThrew(1,0)}},invoke_viiiiid:function(a,b,e,f,g,h,k){try{c.dynCall_viiiiid(a,b,e,f,g,h,k)}catch(m){if("number"!==typeof m&&"longjmp"!==m)throw m;c.setThrew(1,0)}},invoke_viiiiii:function(a,b,e,f,g,h,k){try{c.dynCall_viiiiii(a,b,e,f,g,h,k)}catch(m){if("number"!==typeof m&&"longjmp"!==m)throw m;c.setThrew(1,0)}},invoke_iiid:function(a,b,e,f){try{return c.dynCall_iiid(a,b,e,f)}catch(g){if("number"!==typeof g&&"longjmp"!==g)throw g;c.setThrew(1,0)}},invoke_di:function(a,b){try{return c.dynCall_di(a,
//b)}catch(e){if("number"!==typeof e&&"longjmp"!==e)throw e;c.setThrew(1,0)}},invoke_iiiiiii:function(a,b,e,f,g,h,k){try{return c.dynCall_iiiiiii(a,b,e,f,g,h,k)}catch(m){if("number"!==typeof m&&"longjmp"!==m)throw m;c.setThrew(1,0)}},invoke_diiidii:function(a,b,e,f,g,h,k){try{return c.dynCall_diiidii(a,b,e,f,g,h,k)}catch(m){if("number"!==typeof m&&"longjmp"!==m)throw m;c.setThrew(1,0)}},invoke_viidii:function(a,b,e,f,g,h){try{c.dynCall_viidii(a,b,e,f,g,h)}catch(k){if("number"!==typeof k&&"longjmp"!==
//k)throw k;c.setThrew(1,0)}},invoke_viiiiiii:function(a,b,e,f,g,h,k,m){try{c.dynCall_viiiiiii(a,b,e,f,g,h,k,m)}catch(v){if("number"!==typeof v&&"longjmp"!==v)throw v;c.setThrew(1,0)}},invoke_viiiiiiiii:function(a,b,e,f,g,h,k,m,v,x){try{c.dynCall_viiiiiiiii(a,b,e,f,g,h,k,m,v,x)}catch(A){if("number"!==typeof A&&"longjmp"!==A)throw A;c.setThrew(1,0)}},invoke_viiiiiiiiii:function(a,b,e,f,g,h,k,m,v,x,A){try{c.dynCall_viiiiiiiiii(a,b,e,f,g,h,k,m,v,x,A)}catch(T){if("number"!==typeof T&&"longjmp"!==T)throw T;
//c.setThrew(1,0)}},invoke_iii:function(a,b,e){try{return c.dynCall_iii(a,b,e)}catch(f){if("number"!==typeof f&&"longjmp"!==f)throw f;c.setThrew(1,0)}},invoke_diii:function(a,b,e,f){try{return c.dynCall_diii(a,b,e,f)}catch(g){if("number"!==typeof g&&"longjmp"!==g)throw g;c.setThrew(1,0)}},invoke_diiiiiiiiii:function(a,b,e,f,g,h,k,m,v,x,A){try{return c.dynCall_diiiiiiiiii(a,b,e,f,g,h,k,m,v,x,A)}catch(T){if("number"!==typeof T&&"longjmp"!==T)throw T;c.setThrew(1,0)}},invoke_viiiid:function(a,b,e,f,g,
//h){try{c.dynCall_viiiid(a,b,e,f,g,h)}catch(k){if("number"!==typeof k&&"longjmp"!==k)throw k;c.setThrew(1,0)}},invoke_diiiiiiiii:function(a,b,e,f,g,h,k,m,v,x){try{return c.dynCall_diiiiiiiii(a,b,e,f,g,h,k,m,v,x)}catch(A){if("number"!==typeof A&&"longjmp"!==A)throw A;c.setThrew(1,0)}},invoke_did:function(a,b,e){try{return c.dynCall_did(a,b,e)}catch(f){if("number"!==typeof f&&"longjmp"!==f)throw f;c.setThrew(1,0)}},invoke_viiiidddddidi:function(a,b,e,f,g,h,k,m,v,x,A,T,Pb){try{c.dynCall_viiiidddddidi(a,
//b,e,f,g,h,k,m,v,x,A,T,Pb)}catch(lc){if("number"!==typeof lc&&"longjmp"!==lc)throw lc;c.setThrew(1,0)}},invoke_diidii:function(a,b,e,f,g,h){try{return c.dynCall_diidii(a,b,e,f,g,h)}catch(k){if("number"!==typeof k&&"longjmp"!==k)throw k;c.setThrew(1,0)}},invoke_diiii:function(a,b,e,f,g){try{return c.dynCall_diiii(a,b,e,f,g)}catch(h){if("number"!==typeof h&&"longjmp"!==h)throw h;c.setThrew(1,0)}},invoke_iiiiiiiiii:function(a,b,e,f,g,h,k,m,v,x){try{return c.dynCall_iiiiiiiiii(a,b,e,f,g,h,k,m,v,x)}catch(A){if("number"!==
//typeof A&&"longjmp"!==A)throw A;c.setThrew(1,0)}},invoke_viiid:function(a,b,e,f,g){try{c.dynCall_viiid(a,b,e,f,g)}catch(h){if("number"!==typeof h&&"longjmp"!==h)throw h;c.setThrew(1,0)}},invoke_viii:function(a,b,e,f){try{c.dynCall_viii(a,b,e,f)}catch(g){if("number"!==typeof g&&"longjmp"!==g)throw g;c.setThrew(1,0)}},invoke_v:function(a){try{c.dynCall_v(a)}catch(b){if("number"!==typeof b&&"longjmp"!==b)throw b;c.setThrew(1,0)}},invoke_viid:function(a,b,e,f){try{c.dynCall_viid(a,b,e,f)}catch(g){if("number"!==
//typeof g&&"longjmp"!==g)throw g;c.setThrew(1,0)}},invoke_iidid:function(a,b,e,f,g){try{return c.dynCall_iidid(a,b,e,f,g)}catch(h){if("number"!==typeof h&&"longjmp"!==h)throw h;c.setThrew(1,0)}},invoke_viiii:function(a,b,e,f,g){try{c.dynCall_viiii(a,b,e,f,g)}catch(h){if("number"!==typeof h&&"longjmp"!==h)throw h;c.setThrew(1,0)}},_pthread_getspecific:function(a){return wb[a]||0},___cxa_begin_catch:function(a){var b=lb[a];b&&!b.D&&(b.D=!0,ib.d--);b&&(b.ba=!1);kb.push(a);a:{if(a&&!lb[a])for(var e in lb)if(lb[e].A===
//a){b=e;break a}b=a}b&&lb[b].aa++;return a},_pthread_setspecific:function(a,b){if(!(a in wb))return 22;wb[a]=b;return 0},_pthread_key_create:function(a){if(0==a)return 22;l[a>>2]=Bb;wb[Bb]=0;Bb++;return 0},_abort:function(){c.abort()},___setErrNo:function(a){c.___errno_location&&(l[c.___errno_location()>>2]=a);return a},___syscall6:function(a,b){pb=b;try{var e=rb.I();FS.close(e);return 0}catch(f){return"undefined"!==typeof FS&&f instanceof FS.o||qa(f),-f.r}},_llvm_trap:function(){qa("trap!")},_llvm_pow_f32:$a,
//_gettimeofday:function(a){var b=Date.now();l[a>>2]=b/1E3|0;l[a+4>>2]=b%1E3*1E3|0;return 0},_pthread_once:mb,_emscripten_memcpy_big:function(a,b,e){ya.set(ya.subarray(b,b+e),a);return a},___gxx_personality_v0:function(){},___syscall140:function(a,b){pb=b;try{var e=rb.I(),f=qb(),g=qb(),h=qb(),k=qb();assert(0===f);FS.Y(e,g,k);l[h>>2]=e.position;e.K&&0===g&&0===k&&(e.K=null);return 0}catch(m){return"undefined"!==typeof FS&&m instanceof FS.o||qa(m),-m.r}},___resumeException:function(a){jb||(jb=a);throw a+
//" - 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(a,b,e,f,g,h,k,m,v){return ab[a](b,e,f,g,h,k,m,v)},___cxa_find_matching_catch:Cb,___cxa_pure_virtual:function(){pa=!0;throw"Pure virtual function called!";},___syscall146:Fb,__ZSt18uncaught_exceptionv:ib,DYNAMICTOP_PTR:ma,tempDoublePtr:cb,ABORT:pa,STACKTOP:ka,STACK_MAX:Oa,cttz_i8:sb};// EMSCRIPTEN_START_ASM
//
//var n=(function(global,env,buffer) {
//"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.DYNAMICTOP_PTR|0;var j=env.tempDoublePtr|0;var k=env.ABORT|0;var l=env.STACKTOP|0;var m=env.STACK_MAX|0;var n=env.cttz_i8|0;var o=0;var p=0;var q=0;var r=0;var s=global.NaN,t=global.Infinity;var u=0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0.0;var D=0;var E=global.Math.floor;var F=global.Math.abs;var G=global.Math.sqrt;var H=global.Math.pow;var I=global.Math.cos;var J=global.Math.sin;var K=global.Math.tan;var L=global.Math.acos;var M=global.Math.asin;var N=global.Math.atan;var O=global.Math.atan2;var P=global.Math.exp;var Q=global.Math.log;var R=global.Math.ceil;var S=global.Math.imul;var T=global.Math.min;var U=global.Math.max;var V=global.Math.clz32;var W=env.abort;var X=env.assert;var Y=env.enlargeMemory;var Z=env.getTotalMemory;var _=env.abortOnCannotGrowMemory;var $=env.invoke_viiiii;var aa=env.invoke_vid;var ba=env.invoke_vi;var ca=env.invoke_viiidii;var da=env.invoke_vii;var ea=env.invoke_iiiiiiiiiii;var fa=env.invoke_ii;var ga=env.invoke_viidi;var ha=env.invoke_viddiii;var ia=env.invoke_vidii;var ja=env.invoke_iiiii;var ka=env.invoke_vidi;var la=env.invoke_diiiiiiii;var ma=env.invoke_viiiiddddiid;var na=env.invoke_diiiii;var oa=env.invoke_vidd;var pa=env.invoke_iiii;var qa=env.invoke_viiiiid;var ra=env.invoke_viiiiii;var sa=env.invoke_iiid;var ta=env.invoke_di;var ua=env.invoke_iiiiiii;var va=env.invoke_diiidii;var wa=env.invoke_viidii;var xa=env.invoke_viiiiiii;var ya=env.invoke_viiiiiiiii;var za=env.invoke_viiiiiiiiii;var Aa=env.invoke_iii;var Ba=env.invoke_diii;var Ca=env.invoke_diiiiiiiiii;var Da=env.invoke_viiiid;var Ea=env.invoke_diiiiiiiii;var Fa=env.invoke_did;var Ga=env.invoke_viiiidddddidi;var Ha=env.invoke_diidii;var Ia=env.invoke_diiii;var Ja=env.invoke_iiiiiiiiii;var Ka=env.invoke_viiid;var La=env.invoke_viii;var Ma=env.invoke_v;var Na=env.invoke_viid;var Oa=env.invoke_iidid;var Pa=env.invoke_viiii;var Qa=env._pthread_getspecific;var Ra=env.___cxa_begin_catch;var Sa=env._pthread_setspecific;var Ta=env._pthread_key_create;var Ua=env._abort;var Va=env.___setErrNo;var Wa=env.___syscall6;var Xa=env._llvm_trap;var Ya=env._llvm_pow_f32;var Za=env._gettimeofday;var _a=env._pthread_once;var $a=env._emscripten_memcpy_big;var ab=env.___gxx_personality_v0;var bb=env.___syscall140;var cb=env.___resumeException;var db=env._emscripten_asm_const_diiiiiiii;var eb=env.___cxa_find_matching_catch;var fb=env.___cxa_pure_virtual;var gb=env.___syscall146;var hb=env.__ZSt18uncaught_exceptionv;var ib=0.0;
//// EMSCRIPTEN_START_FUNCS
//function tf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=c[b+4>>2]|0;if((i|0)==(c[b+8>>2]|0)?(h=i|0?i<<1:1,(i|0)<(h|0)):0){if(!h){e=0;f=i}else{c[6485]=(c[6485]|0)+1;e=ic((h*244|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[b+4>>2]|0}if((f|0)>0){g=0;do{k=e+(g*244|0)|0;j=c[b+12>>2]|0;l=j+(g*244|0)|0;c[k>>2]=c[l>>2];c[k+4>>2]=c[l+4>>2];c[k+8>>2]=c[l+8>>2];c[k+12>>2]=c[l+12>>2];k=e+(g*244|0)+16|0;l=j+(g*244|0)+16|0;c[k>>2]=c[l>>2];c[k+4>>2]=c[l+4>>2];c[k+8>>2]=c[l+8>>2];c[k+12>>2]=c[l+12>>2];k=e+(g*244|0)+32|0;l=j+(g*244|0)+32|0;c[k>>2]=c[l>>2];c[k+4>>2]=c[l+4>>2];c[k+8>>2]=c[l+8>>2];c[k+12>>2]=c[l+12>>2];k=e+(g*244|0)+48|0;l=j+(g*244|0)+48|0;c[k>>2]=c[l>>2];c[k+4>>2]=c[l+4>>2];c[k+8>>2]=c[l+8>>2];c[k+12>>2]=c[l+12>>2];_h(e+(g*244|0)+64|0,j+(g*244|0)+64|0,180)|0;g=g+1|0}while((g|0)!=(f|0))}f=c[b+12>>2]|0;if(f|0){if(a[b+16>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[f+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=e;c[b+8>>2]=h;e=c[b+4>>2]|0}else e=i;c[b+4>>2]=e+1;l=c[b+12>>2]|0;c[l+(i*244|0)>>2]=c[d>>2];c[l+(i*244|0)+4>>2]=c[d+4>>2];c[l+(i*244|0)+8>>2]=c[d+8>>2];c[l+(i*244|0)+12>>2]=c[d+12>>2];c[l+(i*244|0)+16>>2]=c[d+16>>2];c[l+(i*244|0)+16+4>>2]=c[d+16+4>>2];c[l+(i*244|0)+16+8>>2]=c[d+16+8>>2];c[l+(i*244|0)+16+12>>2]=c[d+16+12>>2];c[l+(i*244|0)+32>>2]=c[d+32>>2];c[l+(i*244|0)+32+4>>2]=c[d+32+4>>2];c[l+(i*244|0)+32+8>>2]=c[d+32+8>>2];c[l+(i*244|0)+32+12>>2]=c[d+32+12>>2];c[l+(i*244|0)+48>>2]=c[d+48>>2];c[l+(i*244|0)+48+4>>2]=c[d+48+4>>2];c[l+(i*244|0)+48+8>>2]=c[d+48+8>>2];c[l+(i*244|0)+48+12>>2]=c[d+48+12>>2];_h(l+(i*244|0)+64|0,d+64|0,180)|0;return (c[b+12>>2]|0)+(i*244|0)|0}function uf(a,b,e){a=a|0;b=b|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0;Zh(a,b,e)|0;c[b+52>>2]=c[a+552>>2];c[b+56>>2]=c[a+556>>2];c[b+60>>2]=c[a+560>>2];c[b+64>>2]=c[a+564>>2];c[b+68>>2]=c[a+568>>2];c[b+72>>2]=c[a+572>>2];c[b+76>>2]=c[a+576>>2];c[b+80>>2]=c[a+580>>2];c[b+84>>2]=c[a+584>>2];c[b+88>>2]=c[a+588>>2];c[b+92>>2]=c[a+592>>2];c[b+96>>2]=c[a+596>>2];c[b+100>>2]=c[a+600>>2];c[b+104>>2]=c[a+604>>2];c[b+108>>2]=c[a+608>>2];c[b+112>>2]=c[a+612>>2];c[b+116>>2]=c[a+616>>2];c[b+120>>2]=c[a+620>>2];c[b+124>>2]=c[a+624>>2];c[b+128>>2]=c[a+628>>2];c[b+132>>2]=c[a+632>>2];c[b+136>>2]=c[a+636>>2];c[b+140>>2]=c[a+640>>2];c[b+144>>2]=c[a+644>>2];c[b+148>>2]=c[a+648>>2];c[b+152>>2]=c[a+652>>2];c[b+156>>2]=c[a+656>>2];c[b+160>>2]=c[a+660>>2];c[b+164>>2]=c[a+664>>2];c[b+168>>2]=c[a+668>>2];c[b+172>>2]=c[a+672>>2];c[b+176>>2]=c[a+676>>2];c[b+184>>2]=d[a+736>>0];c[b+188>>2]=d[a+737>>0];c[b+196>>2]=c[a+684>>2];c[b+192>>2]=c[a+680>>2];c[b+180>>2]=d[a+740>>0];h=+g[a+688>>2];i=+g[a+692>>2];f=+ch(h-i,6.2831854820251465);if(!(f<-3.1415927410125732)){if(f>3.1415927410125732)f=f+-6.2831854820251465}else f=f+6.2831854820251465;g[b+200>>2]=f;f=+ch(h+i,6.2831854820251465);if(f<-3.1415927410125732){i=f+6.2831854820251465;e=b+204|0;g[e>>2]=i;e=a+696|0;e=c[e>>2]|0;j=b+208|0;c[j>>2]=e;j=a+700|0;j=c[j>>2]|0;e=b+212|0;c[e>>2]=j;e=a+704|0;e=c[e>>2]|0;a=b+216|0;c[a>>2]=e;return 12837}if(!(f>3.1415927410125732)){i=f;j=b+204|0;g[j>>2]=i;j=a+696|0;j=c[j>>2]|0;e=b+208|0;c[e>>2]=j;e=a+700|0;e=c[e>>2]|0;j=b+212|0;c[j>>2]=e;a=a+704|0;a=c[a>>2]|0;j=b+216|0;c[j>>2]=a;return 12837}i=f+-6.2831854820251465;j=b+204|0;g[j>>2]=i;j=a+696|0;j=c[j>>2]|0;e=b+208|0;c[e>>2]=j;e=a+700|0;e=c[e>>2]|0;j=b+212|0;c[j>>2]=e;a=a+704|0;a=c[a>>2]|0;j=b+216|0;c[j>>2]=a;return 12837}function vf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0;k=l;l=l+64|0;j=+g[a+20>>2];u=+g[a+40>>2];p=+g[a+24>>2];s=+g[a+36>>2];t=+g[a+32>>2];i=+g[a+16>>2];m=+g[a>>2];h=+g[a+4>>2];q=+g[a+8>>2];n=1.0/((j*u-p*s)*m+h*(p*t-u*i)+(s*i-j*t)*q);A=+g[b>>2];z=+g[b+4>>2];y=+g[b+8>>2];x=+g[b+16>>2];w=+g[b+20>>2];v=+g[b+24>>2];r=+g[b+32>>2];o=+g[b+36>>2];f=+g[b+40>>2];g[k+16>>2]=(j*u-p*s)*n*A+(p*t-u*i)*n*z+(s*i-j*t)*n*y;g[k+16+4>>2]=A*n*(s*q-u*h)+z*n*(u*m-t*q)+n*(t*h-s*m)*y;g[k+16+8>>2]=A*n*(p*h-j*q)+z*n*(i*q-p*m)+n*(j*m-i*h)*y;g[k+16+12>>2]=0.0;g[k+16+16>>2]=(j*u-p*s)*n*x+(p*t-u*i)*n*w+(s*i-j*t)*n*v;g[k+16+20>>2]=n*(s*q-u*h)*x+n*(u*m-t*q)*w+n*(t*h-s*m)*v;g[k+16+24>>2]=n*(p*h-j*q)*x+n*(i*q-p*m)*w+n*(j*m-i*h)*v;g[k+16+28>>2]=0.0;g[k+16+32>>2]=(j*u-p*s)*n*r+(p*t-u*i)*n*o+(s*i-j*t)*n*f;g[k+16+36>>2]=n*(s*q-u*h)*r+n*(u*m-t*q)*o+n*(t*h-s*m)*f;g[k+16+40>>2]=n*(p*h-j*q)*r+n*(i*q-p*m)*o+n*(j*m-i*h)*f;g[k+16+44>>2]=0.0;ph(k+16|0,k);f=+g[k>>2];h=+g[k+4>>2];i=+g[k+8>>2];m=+g[k+12>>2];j=1.0/+G(+(f*f+h*h+i*i+m*m));g[k>>2]=f*j;g[k+4>>2]=h*j;g[k+8>>2]=i*j;g[k+12>>2]=m*j;m=m*j<-1.0?-1.0:m*j;g[e>>2]=+L(+(m>1.0?1.0:m))*2.0;g[d>>2]=f*j;g[d+4>>2]=h*j;g[d+8>>2]=i*j;g[d+12>>2]=0.0;if(f*j*f*j+h*j*h*j+i*j*i*j<1.4210854715202004e-14){c[d>>2]=1065353216;c[d+4>>2]=0;c[d+8>>2]=0;g[d+12>>2]=0.0;l=k;return}else{A=1.0/+G(+(f*j*f*j+h*j*h*j+i*j*i*j));g[d>>2]=f*j*A;g[d+4>>2]=A*h*j;g[d+8>>2]=A*i*j;l=k;return}}function wf(a,b,d){a=a|0;b=+b;d=+d;var e=0.0,f=0,h=0,i=0.0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0;v=c[a+832>>2]|0;if((v|0)<=0)return;j=c[a+840>>2]|0;u=0;do{q=c[j+(u*56|0)>>2]|0;t=c[j+(u*56|0)+4>>2]|0;y=c[t+8>>2]|0;x=c[t+12>>2]|0;w=c[t+16>>2]|0;a=j+(u*56|0)+8|0;r=+g[a>>2];f=j+(u*56|0)+12|0;p=+g[f>>2];h=j+(u*56|0)+16|0;o=+g[h>>2];b=+g[y+8>>2]*r+ +g[x+8>>2]*p+ +g[w+8>>2]*o;d=+g[y+12>>2]*r+ +g[x+12>>2]*p+ +g[w+12>>2]*o;e=+g[y+16>>2]*r+ +g[x+16>>2]*p+ +g[w+16>>2]*o;i=+g[q+8>>2];k=+g[q+12>>2];l=+g[q+16>>2];m=i-+g[q+24>>2]-(b-(r*+g[y+24>>2]+p*+g[x+24>>2]+o*+g[w+24>>2]));n=k-+g[q+28>>2]-(d-(r*+g[y+28>>2]+p*+g[x+28>>2]+o*+g[w+28>>2]));o=l-+g[q+32>>2]-(e-(r*+g[y+32>>2]+p*+g[x+32>>2]+o*+g[w+32>>2]));p=+g[j+(u*56|0)+24>>2];r=+g[j+(u*56|0)+28>>2];s=+g[j+(u*56|0)+32>>2];if(m*p+n*r+o*s<0.0){e=+g[j+(u*56|0)+40>>2]-(i*p+k*r+l*s-(b*p+d*r+e*s));b=p*e+0.0;d=r*e+0.0;e=s*e+0.0}else{b=0.0;d=0.0;e=0.0}z=+g[j+(u*56|0)+44>>2];b=b-z*(m-p*(m*p+n*r+o*s));d=d-z*(n-r*(m*p+n*r+o*s));r=e-z*(o-s*(m*p+n*r+o*s));s=+g[j+(u*56|0)+48>>2];g[q+8>>2]=i+s*b;g[q+12>>2]=k+s*d;g[q+16>>2]=l+s*r;y=c[t+8>>2]|0;x=j+(u*56|0)+52|0;s=+g[x>>2]*+g[a>>2];g[y+8>>2]=+g[y+8>>2]-b*s;g[y+12>>2]=+g[y+12>>2]-d*s;g[y+16>>2]=+g[y+16>>2]-r*s;y=c[t+12>>2]|0;s=+g[x>>2]*+g[f>>2];g[y+8>>2]=+g[y+8>>2]-b*s;g[y+12>>2]=+g[y+12>>2]-d*s;g[y+16>>2]=+g[y+16>>2]-r*s;y=c[t+16>>2]|0;s=+g[x>>2]*+g[h>>2];g[y+8>>2]=+g[y+8>>2]-b*s;g[y+12>>2]=+g[y+12>>2]-d*s;g[y+16>>2]=+g[y+16>>2]-r*s;u=u+1|0}while((u|0)!=(v|0));return}function xf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if((c[b+8>>2]|0)>=(d|0))return;if((d|0)!=0?(c[6485]=(c[6485]|0)+1,e=ic((d*36|3)+16|0)|0,(e|0)!=0):0){c[(e+4+15&-16)+-4>>2]=e;o=e+4+15&-16}else o=0;i=c[b+4>>2]|0;if((i|0)>0){m=0;do{j=o+(m*36|0)|0;k=c[b+12>>2]|0;a[j+16>>0]=1;c[j+12>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;l=c[k+(m*36|0)+4>>2]|0;if((l|0)>0){c[6485]=(c[6485]|0)+1;e=ic((l<<2|3)+16|0)|0;if(!e)h=0;else{c[(e+4+15&-16)+-4>>2]=e;h=e+4+15&-16}g=c[j+4>>2]|0;f=c[j+12>>2]|0;if((g|0)<=0)if(!f){a[j+16>>0]=1;c[j+12>>2]=h;c[j+8>>2]=l;Lk(h|0,0,l<<2|0)|0}else n=13;else{e=0;do{c[h+(e<<2)>>2]=c[f+(e<<2)>>2];e=e+1|0}while((e|0)!=(g|0));n=13}if((n|0)==13){n=0;if(a[j+16>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[f+-4>>2]|0)}a[j+16>>0]=1;c[j+12>>2]=h;c[j+8>>2]=l;Lk(h|0,0,l<<2|0)|0}e=c[j+12>>2]|0;c[j+4>>2]=l;f=c[k+(m*36|0)+12>>2]|0;g=0;do{c[e+(g<<2)>>2]=c[f+(g<<2)>>2];g=g+1|0}while((g|0)!=(l|0))}else c[j+4>>2]=l;l=k+(m*36|0)+20|0;c[j+20>>2]=c[l>>2];c[j+20+4>>2]=c[l+4>>2];c[j+20+8>>2]=c[l+8>>2];c[j+20+12>>2]=c[l+12>>2];m=m+1|0}while((m|0)!=(i|0));e=c[b+4>>2]|0;if((e|0)>0){k=0;do{g=c[b+12>>2]|0;h=g+(k*36|0)+4|0;i=g+(k*36|0)+12|0;j=c[i>>2]|0;f=g+(k*36|0)+16|0;if(j|0){if(a[f>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[j+-4>>2]|0)}c[i>>2]=0}a[f>>0]=1;c[i>>2]=0;c[h>>2]=0;c[g+(k*36|0)+8>>2]=0;k=k+1|0}while((k|0)!=(e|0))}}e=c[b+12>>2]|0;if(e|0){if(a[b+16>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[e+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=o;c[b+8>>2]=d;return}function yf(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0;k=l;l=l+160|0;i=c[b+12>>2]|0;if(!i){l=k;return}m=(a[b+16>>0]|0)!=0;n=m?e:d;e=m?d:e;p=c[n+4>>2]|0;o=c[e+4>>2]|0;c[h+4>>2]=i;d=c[i+752>>2]|0;c[k>>2]=9396;c[k+4>>2]=p;c[k+8>>2]=o;c[k+12>>2]=d;g[k+16+128>>2]=999999984306749440.0;d=c[n+12>>2]|0;c[k+16>>2]=c[d>>2];c[k+16+4>>2]=c[d+4>>2];c[k+16+8>>2]=c[d+8>>2];c[k+16+12>>2]=c[d+12>>2];c[k+16+16>>2]=c[d+16>>2];c[k+16+16+4>>2]=c[d+16+4>>2];c[k+16+16+8>>2]=c[d+16+8>>2];c[k+16+16+12>>2]=c[d+16+12>>2];c[k+16+32>>2]=c[d+32>>2];c[k+16+32+4>>2]=c[d+32+4>>2];c[k+16+32+8>>2]=c[d+32+8>>2];c[k+16+32+12>>2]=c[d+32+12>>2];c[k+16+48>>2]=c[d+48>>2];c[k+16+48+4>>2]=c[d+48+4>>2];c[k+16+48+8>>2]=c[d+48+8>>2];c[k+16+48+12>>2]=c[d+48+12>>2];e=c[e+12>>2]|0;c[k+16+64>>2]=c[e>>2];c[k+16+64+4>>2]=c[e+4>>2];c[k+16+64+8>>2]=c[e+8>>2];c[k+16+64+12>>2]=c[e+12>>2];c[k+16+80>>2]=c[e+16>>2];c[k+16+80+4>>2]=c[e+16+4>>2];c[k+16+80+8>>2]=c[e+16+8>>2];c[k+16+80+12>>2]=c[e+16+12>>2];c[k+16+96>>2]=c[e+32>>2];c[k+16+96+4>>2]=c[e+32+4>>2];c[k+16+96+8>>2]=c[e+32+8>>2];c[k+16+96+12>>2]=c[e+32+12>>2];c[k+16+112>>2]=c[e+48>>2];c[k+16+112+4>>2]=c[e+48+4>>2];c[k+16+112+8>>2]=c[e+48+8>>2];c[k+16+112+12>>2]=c[e+48+12>>2];Gd(k,k+16|0,h,c[f+20>>2]|0,m);do if(a[b+8>>0]|0?(j=c[h+4>>2]|0,c[j+748>>2]|0):0){d=c[j+740>>2]|0;e=c[(c[h+8>>2]|0)+8>>2]|0;i=c[(c[h+12>>2]|0)+8>>2]|0;if((d|0)==(e|0)){Pe(j,d+4|0,i+4|0);break}else{Pe(j,i+4|0,e+4|0);break}}while(0);l=k;return}function zf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=Kb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;g=Kb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=g;if(g|0)nb[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+20>>2]=c[a+72>>2];e=c[a+16>>2]|0;c[b+16>>2]=e;c[b+12>>2]=0;if(!e)return 16444;g=zb[c[(c[d>>2]|0)+16>>2]&63](d,76,e)|0;e=c[g+8>>2]|0;c[b+12>>2]=Kb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;if((c[b+16>>2]|0)>0){f=0;while(1){h=c[a+24>>2]|0;c[e+72>>2]=c[h+(f*80|0)+72>>2];c[e+64>>2]=Kb[c[(c[d>>2]|0)+28>>2]&31](d,c[h+(f*80|0)+64>>2]|0)|0;if(!(Kb[c[(c[d>>2]|0)+24>>2]&31](d,c[(c[a+24>>2]|0)+(f*80|0)+64>>2]|0)|0)){h=c[(c[d>>2]|0)+16>>2]|0;i=c[(c[a+24>>2]|0)+(f*80|0)+64>>2]|0;i=pb[c[(c[i>>2]|0)+52>>2]&127](i)|0;i=zb[h&63](d,i,1)|0;h=c[(c[a+24>>2]|0)+(f*80|0)+64>>2]|0;h=zb[c[(c[h>>2]|0)+56>>2]&63](h,c[i+8>>2]|0,d)|0;jb[c[(c[d>>2]|0)+20>>2]&31](d,i,h,1346455635,c[(c[a+24>>2]|0)+(f*80|0)+64>>2]|0)}i=c[a+24>>2]|0;c[e+68>>2]=c[i+(f*80|0)+68>>2];c[e>>2]=c[i+(f*80|0)>>2];c[e+4>>2]=c[i+(f*80|0)+4>>2];c[e+8>>2]=c[i+(f*80|0)+8>>2];c[e+12>>2]=c[i+(f*80|0)+12>>2];c[e+16>>2]=c[i+(f*80|0)+16>>2];c[e+20>>2]=c[i+(f*80|0)+20>>2];c[e+24>>2]=c[i+(f*80|0)+24>>2];c[e+28>>2]=c[i+(f*80|0)+28>>2];c[e+32>>2]=c[i+(f*80|0)+32>>2];c[e+36>>2]=c[i+(f*80|0)+36>>2];c[e+40>>2]=c[i+(f*80|0)+40>>2];c[e+44>>2]=c[i+(f*80|0)+44>>2];c[e+48>>2]=c[i+(f*80|0)+48>>2];c[e+52>>2]=c[i+(f*80|0)+52>>2];c[e+56>>2]=c[i+(f*80|0)+56>>2];c[e+60>>2]=c[i+(f*80|0)+60>>2];f=f+1|0;if((f|0)>=(c[b+16>>2]|0)){e=d;break}else e=e+76|0}}else e=d;jb[c[(c[e>>2]|0)+20>>2]&31](d,g,16419,1497453121,c[g+8>>2]|0);return 16444}function Af(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=c[b+12>>2]|0;j=c[b+36>>2]|0;if((i|0)<=(j|0))return;do if((c[b+40>>2]|0)<(i|0)){if(!i){d=0;e=j}else{c[6485]=(c[6485]|0)+1;d=ic((i<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}e=c[b+36>>2]|0}f=c[b+44>>2]|0;if((e|0)<=0){if(!f){a[b+48>>0]=1;c[b+44>>2]=d;c[b+40>>2]=i;break}}else{g=0;do{c[d+(g<<2)>>2]=c[f+(g<<2)>>2];g=g+1|0}while((g|0)!=(e|0))}if(a[b+48>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[f+-4>>2]|0)}a[b+48>>0]=1;c[b+44>>2]=d;c[b+40>>2]=i}else d=c[b+44>>2]|0;while(0);Lk(d+(j<<2)|0,0,i-j<<2|0)|0;c[b+36>>2]=i;h=c[b+56>>2]|0;if((i|0)>(h|0)){do if((c[b+60>>2]|0)<(i|0)){if(!i){d=0;e=h}else{c[6485]=(c[6485]|0)+1;d=ic((i<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}e=c[b+56>>2]|0}f=c[b+64>>2]|0;if((e|0)<=0){if(!f){a[b+68>>0]=1;c[b+64>>2]=d;c[b+60>>2]=i;break}}else{g=0;do{c[d+(g<<2)>>2]=c[f+(g<<2)>>2];g=g+1|0}while((g|0)!=(e|0))}if(a[b+68>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[f+-4>>2]|0)}a[b+68>>0]=1;c[b+64>>2]=d;c[b+60>>2]=i}else d=c[b+64>>2]|0;while(0);Lk(d+(h<<2)|0,0,i-h<<2|0)|0}c[b+56>>2]=i;if((i|0)>0){Lk(c[b+44>>2]|0,-1,i<<2|0)|0;Lk(c[b+64>>2]|0,-1,i<<2|0)|0}if((j|0)<=0)return;d=c[b+16>>2]|0;e=c[b+44>>2]|0;f=c[b+64>>2]|0;g=0;do{i=c[(c[d+(g<<4)+4>>2]|0)+12>>2]<<16|c[(c[d+(g<<4)>>2]|0)+12>>2];i=(i+~(i<<15)>>10^i+~(i<<15))*9|0;i=e+((((i>>6^i)+~((i>>6^i)<<11)>>16^(i>>6^i)+~((i>>6^i)<<11))&(c[b+12>>2]|0)+-1)<<2)|0;c[f+(g<<2)>>2]=c[i>>2];c[i>>2]=g;g=g+1|0}while((g|0)!=(j|0));return}function Bf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.0,j=0.0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0;f=l;l=l+256|0;c[f+32>>2]=5784;k=f+32+36|0;c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];m=f+32+52|0;c[m>>2]=c[d>>2];c[m+4>>2]=c[d+4>>2];c[m+8>>2]=c[d+8>>2];c[m+12>>2]=c[d+12>>2];c[f+32+212>>2]=a;c[f+32+216>>2]=e;c[f+32+68>>2]=1065353216;c[f+32+72>>2]=0;c[f+32+72+4>>2]=0;c[f+32+72+8>>2]=0;c[f+32+72+12>>2]=0;c[f+32+88>>2]=1065353216;c[f+32+92>>2]=0;c[f+32+92+4>>2]=0;c[f+32+92+8>>2]=0;c[f+32+92+12>>2]=0;c[f+32+108>>2]=1065353216;c[f+32+112>>2]=0;c[f+32+116>>2]=c[k>>2];c[f+32+116+4>>2]=c[k+4>>2];c[f+32+116+8>>2]=c[k+8>>2];c[f+32+116+12>>2]=c[k+12>>2];c[f+32+132>>2]=1065353216;c[f+32+136>>2]=0;c[f+32+136+4>>2]=0;c[f+32+136+8>>2]=0;c[f+32+136+12>>2]=0;c[f+32+152>>2]=1065353216;c[f+32+156>>2]=0;c[f+32+156+4>>2]=0;c[f+32+156+8>>2]=0;c[f+32+156+12>>2]=0;c[f+32+172>>2]=1065353216;c[f+32+176>>2]=0;c[f+32+180>>2]=c[d>>2];c[f+32+180+4>>2]=c[d+4>>2];c[f+32+180+8>>2]=c[d+8>>2];c[f+32+180+12>>2]=c[d+12>>2];n=+g[d>>2]-+g[b>>2];j=+g[d+4>>2]-+g[b+4>>2];i=+g[d+8>>2]-+g[b+8>>2];h=1.0/+G(+(n*n+j*j+i*i));q=n*h==0.0?999999984306749440.0:1.0/(n*h);g[f+32+4>>2]=q;p=j*h==0.0?999999984306749440.0:1.0/(j*h);g[f+32+8>>2]=p;o=i*h==0.0?999999984306749440.0:1.0/(i*h);g[f+32+12>>2]=o;c[f+32+20>>2]=q<0.0&1;c[f+32+24>>2]=p<0.0&1;c[f+32+28>>2]=o<0.0&1;g[f+32+32>>2]=n*h*(+g[m>>2]-+g[k>>2])+j*h*(+g[f+32+56>>2]-+g[f+32+40>>2])+i*h*(+g[f+32+60>>2]-+g[f+32+44>>2]);a=c[a+68>>2]|0;e=c[(c[a>>2]|0)+24>>2]|0;c[f+16>>2]=0;c[f+16+4>>2]=0;c[f+16+8>>2]=0;c[f+16+12>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;Bb[e&7](a,b,d,f+32|0,f+16|0,f);l=f;return}function Cf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0;h=l;l=l+128|0;if(!b){l=h;return}if(c[b+40>>2]|0){Cf(a,c[b+36>>2]|0,d+1|0,e,f);Cf(a,c[b+40>>2]|0,d+1|0,e,f)}if((d|0)<0){l=h;return}m=+g[b>>2];r=+g[b+16>>2];j=+g[b+4>>2];q=+g[b+20>>2];i=+g[b+8>>2];p=+g[b+24>>2];k=(m+r)*.5-(r-m)*.5;n=(j+q)*.5-(q-j)*.5;o=(i+p)*.5-(p-i)*.5;m=(m+r)*.5+(r-m)*.5;j=(j+q)*.5+(q-j)*.5;i=(i+p)*.5+(p-i)*.5;b=(c[b+40>>2]|0)==0?f:e;g[h>>2]=k;g[h+4>>2]=n;g[h+8>>2]=o;g[h+12>>2]=0.0;g[h+16>>2]=m;g[h+20>>2]=n;g[h+24>>2]=o;g[h+28>>2]=0.0;g[h+32>>2]=m;g[h+36>>2]=j;g[h+40>>2]=o;g[h+44>>2]=0.0;g[h+48>>2]=k;g[h+52>>2]=j;g[h+56>>2]=o;g[h+60>>2]=0.0;g[h+64>>2]=k;g[h+68>>2]=n;g[h+72>>2]=i;g[h+76>>2]=0.0;g[h+80>>2]=m;g[h+84>>2]=n;g[h+88>>2]=i;g[h+92>>2]=0.0;g[h+96>>2]=m;g[h+100>>2]=j;g[h+104>>2]=i;g[h+108>>2]=0.0;g[h+112>>2]=k;g[h+116>>2]=j;g[h+120>>2]=i;g[h+124>>2]=0.0;Zb[c[(c[a>>2]|0)+8>>2]&127](a,h,h+16|0,b);Zb[c[(c[a>>2]|0)+8>>2]&127](a,h+16|0,h+32|0,b);Zb[c[(c[a>>2]|0)+8>>2]&127](a,h+32|0,h+48|0,b);Zb[c[(c[a>>2]|0)+8>>2]&127](a,h+48|0,h,b);Zb[c[(c[a>>2]|0)+8>>2]&127](a,h+64|0,h+80|0,b);Zb[c[(c[a>>2]|0)+8>>2]&127](a,h+80|0,h+96|0,b);Zb[c[(c[a>>2]|0)+8>>2]&127](a,h+96|0,h+112|0,b);Zb[c[(c[a>>2]|0)+8>>2]&127](a,h+112|0,h+64|0,b);Zb[c[(c[a>>2]|0)+8>>2]&127](a,h,h+64|0,b);Zb[c[(c[a>>2]|0)+8>>2]&127](a,h+16|0,h+80|0,b);Zb[c[(c[a>>2]|0)+8>>2]&127](a,h+32|0,h+96|0,b);Zb[c[(c[a>>2]|0)+8>>2]&127](a,h+48|0,h+112|0,b);l=h;return}function Df(a,b,c,d,e,f,h,i){a=a|0;b=+b;c=+c;d=+d;e=e|0;f=+f;h=+h;i=+i;var j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0;z=+g[e>>2];y=+g[e+16>>2];x=+g[e+32>>2];w=+g[e+4>>2];v=+g[e+20>>2];u=+g[e+36>>2];t=+g[e+8>>2];s=+g[e+24>>2];r=+g[e+40>>2];j=d-((z*0.0+y*-i+x*h)*0.0+(w*0.0+v*-i+u*h)*i+(t*0.0+s*-i+r*h)*-h)+c;o=0.0-((z*0.0+y*-i+x*h)*-i+(w*0.0+v*-i+u*h)*0.0+(t*0.0+s*-i+r*h)*f)+0.0;l=0.0-((z*0.0+y*-i+x*h)*h+(w*0.0+v*-i+u*h)*-f+(t*0.0+s*-i+r*h)*0.0)+0.0;m=0.0-((z*i+y*0.0+x*-f)*0.0+(w*i+v*0.0+u*-f)*i+(t*i+s*0.0+r*-f)*-h)+0.0;n=d-((z*i+y*0.0+x*-f)*-i+(w*i+v*0.0+u*-f)*0.0+(t*i+s*0.0+r*-f)*f)+c;k=0.0-((z*i+y*0.0+x*-f)*h+(w*i+v*0.0+u*-f)*-f+(t*i+s*0.0+r*-f)*0.0)+0.0;p=0.0-((z*-h+y*f+x*0.0)*0.0+(w*-h+v*f+u*0.0)*i+(t*-h+s*f+r*0.0)*-h)+0.0;q=0.0-((z*-h+y*f+x*0.0)*-i+(w*-h+v*f+u*0.0)*0.0+(t*-h+s*f+r*0.0)*f)+0.0;h=d-((z*-h+y*f+x*0.0)*h+(w*-h+v*f+u*0.0)*-f+(t*-h+s*f+r*0.0)*0.0)+c;i=1.0/(l*(q*m-n*p)+(j*(n*h-k*q)+o*(k*p-h*m)));g[a>>2]=i*(q*m-n*p)*0.0+(1.0/b*i*(n*h-k*q)+i*(k*p-h*m)*0.0);g[a+4>>2]=i*(p*o-q*j)*0.0+(1.0/b*i*(q*l-h*o)+i*(h*j-p*l)*0.0);g[a+8>>2]=i*(n*j-m*o)*0.0+(1.0/b*i*(k*o-n*l)+i*(m*l-k*j)*0.0);g[a+12>>2]=0.0;g[a+16>>2]=i*(q*m-n*p)*0.0+(i*(n*h-k*q)*0.0+1.0/b*i*(k*p-h*m));g[a+20>>2]=i*(p*o-q*j)*0.0+(i*(q*l-h*o)*0.0+1.0/b*i*(h*j-p*l));g[a+24>>2]=i*(n*j-m*o)*0.0+(i*(k*o-n*l)*0.0+1.0/b*i*(m*l-k*j));g[a+28>>2]=0.0;g[a+32>>2]=1.0/b*i*(q*m-n*p)+(i*(n*h-k*q)*0.0+i*(k*p-h*m)*0.0);g[a+36>>2]=1.0/b*i*(p*o-q*j)+(i*(q*l-h*o)*0.0+i*(h*j-p*l)*0.0);g[a+40>>2]=1.0/b*i*(n*j-m*o)+(i*(k*o-n*l)*0.0+i*(m*l-k*j)*0.0);g[a+44>>2]=0.0;return}function Ef(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0;r=l;l=l+96|0;m=r;n=m+96|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(n|0));if(!i)q=c[c[b+880>>2]>>2]|0;else q=i;i=c[b+772>>2]|0;if((i|0)==(c[b+776>>2]|0)?(p=i|0?i<<1:1,(i|0)<(p|0)):0){if(!p)o=0;else{c[6485]=(c[6485]|0)+1;i=ic((p*104|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}o=i;i=c[b+772>>2]|0}if((i|0)>0){j=0;do{m=o+(j*104|0)|0;k=(c[b+780>>2]|0)+(j*104|0)|0;n=m+104|0;do{c[m>>2]=c[k>>2];m=m+4|0;k=k+4|0}while((m|0)<(n|0));j=j+1|0}while((j|0)!=(i|0))}i=c[b+780>>2]|0;if(i|0){if(a[b+784>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[i+-4>>2]|0)}c[b+780>>2]=0}a[b+784>>0]=1;c[b+780>>2]=o;c[b+776>>2]=p;i=c[b+772>>2]|0}m=c[b+780>>2]|0;c[m+(i*104|0)>>2]=0;c[m+(i*104|0)+4>>2]=q;m=m+(i*104|0)+8|0;k=r;n=m+96|0;do{c[m>>2]=c[k>>2];m=m+4|0;k=k+4|0}while((m|0)<(n|0));q=c[b+772>>2]|0;c[b+772>>2]=q+1;p=c[b+780>>2]|0;k=c[b+720>>2]|0;c[p+(q*104|0)+8>>2]=k+(d*104|0);o=c[b+720>>2]|0;c[p+(q*104|0)+12>>2]=o+(e*104|0);m=c[b+720>>2]|0;c[p+(q*104|0)+16>>2]=m+(f*104|0);n=c[b+720>>2]|0;c[p+(q*104|0)+20>>2]=n+(h*104|0);z=+g[k+(d*104|0)+8>>2];w=+g[k+(d*104|0)+12>>2];A=+g[k+(d*104|0)+16>>2];t=+g[m+(f*104|0)+8>>2]-z;y=+g[m+(f*104|0)+12>>2]-w;v=+g[m+(f*104|0)+16>>2]-A;u=+g[n+(h*104|0)+8>>2]-z;x=+g[n+(h*104|0)+12>>2]-w;s=+g[n+(h*104|0)+16>>2]-A;g[p+(q*104|0)+24>>2]=(+g[o+(e*104|0)+16>>2]-A)*(t*x-y*u)+((+g[o+(e*104|0)+8>>2]-z)*(y*s-v*x)+(+g[o+(e*104|0)+12>>2]-w)*(v*u-t*s));a[b+924>>0]=1;l=r;return}function Ff(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=c[b+12>>2]|0;j=c[b+32>>2]|0;if((i|0)<=(j|0))return;do if((c[b+36>>2]|0)<(i|0)){if(!i){d=0;e=j}else{c[6485]=(c[6485]|0)+1;d=ic((i<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}e=c[b+32>>2]|0}f=c[b+40>>2]|0;if((e|0)<=0){if(!f){a[b+44>>0]=1;c[b+40>>2]=d;c[b+36>>2]=i;break}}else{g=0;do{c[d+(g<<2)>>2]=c[f+(g<<2)>>2];g=g+1|0}while((g|0)!=(e|0))}if(a[b+44>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[f+-4>>2]|0)}a[b+44>>0]=1;c[b+40>>2]=d;c[b+36>>2]=i}else d=c[b+40>>2]|0;while(0);Lk(d+(j<<2)|0,0,i-j<<2|0)|0;c[b+32>>2]=i;h=c[b+52>>2]|0;if((i|0)>(h|0)){do if((c[b+56>>2]|0)<(i|0)){if(!i){d=0;e=h}else{c[6485]=(c[6485]|0)+1;d=ic((i<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}e=c[b+52>>2]|0}f=c[b+60>>2]|0;if((e|0)<=0){if(!f){a[b+64>>0]=1;c[b+60>>2]=d;c[b+56>>2]=i;break}}else{g=0;do{c[d+(g<<2)>>2]=c[f+(g<<2)>>2];g=g+1|0}while((g|0)!=(e|0))}if(a[b+64>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[f+-4>>2]|0)}a[b+64>>0]=1;c[b+60>>2]=d;c[b+56>>2]=i}else d=c[b+60>>2]|0;while(0);Lk(d+(h<<2)|0,0,i-h<<2|0)|0}c[b+52>>2]=i;if((i|0)>0){Lk(c[b+40>>2]|0,-1,i<<2|0)|0;Lk(c[b+60>>2]|0,-1,i<<2|0)|0}if((j|0)<=0)return;d=c[b+16>>2]|0;e=c[b+40>>2]|0;f=c[b+60>>2]|0;g=0;do{i=c[d+(g*12|0)+4>>2]<<16|c[d+(g*12|0)>>2];i=(i+~(i<<15)>>10^i+~(i<<15))*9|0;i=e+((((i>>6^i)+~((i>>6^i)<<11)>>16^(i>>6^i)+~((i>>6^i)<<11))&(c[b+12>>2]|0)+-1)<<2)|0;c[f+(g<<2)>>2]=c[i>>2];c[i>>2]=g;g=g+1|0}while((g|0)!=(j|0));return}function Gf(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0;f=l;l=l+624|0;p=+g[d+116>>2]-+g[d+52>>2];o=+g[d+120>>2]-+g[d+56>>2];n=+g[d+124>>2]-+g[d+60>>2];i=+g[e+116>>2]-+g[e+52>>2];j=+g[e+120>>2]-+g[e+56>>2];k=+g[e+124>>2]-+g[e+60>>2];m=+g[d+252>>2];if(p*p+o*o+n*n<m*m?(p=+g[e+252>>2],i*i+j*j+k*k<p*p):0){p=1.0;l=f;return +p}b=c[d+192>>2]|0;h=c[e+248>>2]|0;c[f+568+8>>2]=0;c[f+568+12>>2]=1065353216;c[f+568+16>>2]=1065353216;c[f+568+20>>2]=1065353216;g[f+568+24>>2]=0.0;c[f+568>>2]=6764;c[f+568+4>>2]=8;c[f+568+28>>2]=h;c[f+568+44>>2]=h;c[f+392>>2]=3816;g[f+392+164>>2]=999999984306749440.0;c[f+392+168>>2]=0;g[f+392+172>>2]=0.0;g[f+32+308>>2]=9.999999747378752e-05;a[f+32+332>>0]=0;c[f+16>>2]=9232;c[f+16+4>>2]=f+32;c[f+16+8>>2]=b;c[f+16+12>>2]=f+568;if(od(f+16|0,d+4|0,d+68|0,e+4|0,e+68|0,f+392|0)|0){i=+g[f+392+164>>2];if(+g[d+244>>2]>i)g[d+244>>2]=i;if(+g[e+244>>2]>i)g[e+244>>2]=i;if(i<1.0)j=i;else j=1.0}else j=1.0;b=c[e+192>>2]|0;h=c[d+248>>2]|0;c[f+568+8>>2]=0;c[f+568+12>>2]=1065353216;c[f+568+16>>2]=1065353216;c[f+568+20>>2]=1065353216;g[f+568+24>>2]=0.0;c[f+568>>2]=6764;c[f+568+4>>2]=8;c[f+568+28>>2]=h;c[f+568+44>>2]=h;c[f+392>>2]=3816;g[f+392+164>>2]=999999984306749440.0;c[f+392+168>>2]=0;g[f+392+172>>2]=0.0;g[f+32+308>>2]=9.999999747378752e-05;a[f+32+332>>0]=0;c[f>>2]=9232;c[f+4>>2]=f+32;c[f+8>>2]=f+568;c[f+12>>2]=b;if(od(f,d+4|0,d+68|0,e+4|0,e+68|0,f+392|0)|0){i=+g[f+392+164>>2];if(+g[d+244>>2]>i)g[d+244>>2]=i;if(+g[e+244>>2]>i)g[e+244>>2]=i;if(!(j>i))i=j}else i=j;p=i;l=f;return +p}function Hf(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0;q=l;l=l+48|0;p=c[b+720>>2]|0;a:do if(h?(k=c[b+732>>2]|0,(k|0)>0):0){i=c[b+740>>2]|0;j=0;while(1){h=c[i+(j*52|0)+8>>2]|0;if((h|0)==(p+(d*104|0)|0)?(c[i+(j*52|0)+12>>2]|0)==(p+(e*104|0)|0):0){h=25;break}if((h|0)==(p+(e*104|0)|0)?(c[i+(j*52|0)+12>>2]|0)==(p+(d*104|0)|0):0){h=25;break}j=j+1|0;if((j|0)>=(k|0))break a}if((h|0)==25){l=q;return}}while(0);k=q;m=k+44|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(m|0));if(!f)n=c[c[b+880>>2]>>2]|0;else n=f;h=c[b+732>>2]|0;if((h|0)==(c[b+736>>2]|0)?(o=h|0?h<<1:1,(h|0)<(o|0)):0){if(!o)f=0;else{c[6485]=(c[6485]|0)+1;h=ic((o*52|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}f=h;h=c[b+732>>2]|0}if((h|0)>0){i=0;do{k=f+(i*52|0)|0;j=(c[b+740>>2]|0)+(i*52|0)|0;m=k+52|0;do{c[k>>2]=c[j>>2];k=k+4|0;j=j+4|0}while((k|0)<(m|0));i=i+1|0}while((i|0)!=(h|0))}h=c[b+740>>2]|0;if(h|0){if(a[b+744>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[h+-4>>2]|0)}c[b+740>>2]=0}a[b+744>>0]=1;c[b+740>>2]=f;c[b+736>>2]=o;h=c[b+732>>2]|0}k=c[b+740>>2]|0;c[k+(h*52|0)>>2]=0;c[k+(h*52|0)+4>>2]=n;k=k+(h*52|0)+8|0;j=q;m=k+44|0;do{c[k>>2]=c[j>>2];k=k+4|0;j=j+4|0}while((k|0)<(m|0));o=c[b+732>>2]|0;c[b+732>>2]=o+1;n=c[b+740>>2]|0;c[n+(o*52|0)+8>>2]=p+(d*104|0);c[n+(o*52|0)+12>>2]=p+(e*104|0);t=+g[p+(d*104|0)+8>>2]-+g[p+(e*104|0)+8>>2];s=+g[p+(d*104|0)+12>>2]-+g[p+(e*104|0)+12>>2];r=+g[p+(d*104|0)+16>>2]-+g[p+(e*104|0)+16>>2];g[n+(o*52|0)+16>>2]=+G(+(t*t+s*s+r*r));a[b+924>>0]=1;l=q;return}function If(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0;f=l;l=l+784|0;c[f+712>>2]=1065353216;c[f+712+4>>2]=0;c[f+712+4+4>>2]=0;c[f+712+4+8>>2]=0;c[f+712+4+12>>2]=0;c[f+712+20>>2]=1065353216;c[f+712+24>>2]=0;c[f+712+24+4>>2]=0;c[f+712+24+8>>2]=0;c[f+712+24+12>>2]=0;c[f+712+40>>2]=1065353216;e=f+712+44|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[f+536>>2]=3816;c[f+536+168>>2]=0;g[f+536+172>>2]=0.0;c[f+536+164>>2]=c[b+200>>2];e=c[b+196>>2]|0;c[f+480+8>>2]=0;c[f+480+12>>2]=1065353216;c[f+480+16>>2]=1065353216;c[f+480+20>>2]=1065353216;g[f+480+24>>2]=0.0;c[f+480>>2]=6764;c[f+480+4>>2]=8;c[f+480+28>>2]=e;c[f+480+44>>2]=e;c[f+376+8>>2]=0;c[f+376+12>>2]=1065353216;c[f+376+16>>2]=1065353216;c[f+376+20>>2]=1065353216;g[f+376+24>>2]=0.0;g[f+376+44>>2]=.03999999910593033;c[f+376+52>>2]=0;c[f+376>>2]=3844;c[f+376+4>>2]=1;c[f+376+56>>2]=c[d>>2];c[f+376+56+4>>2]=c[d+4>>2];c[f+376+56+8>>2]=c[d+8>>2];c[f+376+56+12>>2]=c[d+12>>2];c[f+376+72>>2]=c[d+16>>2];c[f+376+72+4>>2]=c[d+16+4>>2];c[f+376+72+8>>2]=c[d+16+8>>2];c[f+376+72+12>>2]=c[d+16+12>>2];c[f+376+88>>2]=c[d+32>>2];c[f+376+88+4>>2]=c[d+32+4>>2];c[f+376+88+8>>2]=c[d+32+8>>2];c[f+376+88+12>>2]=c[d+32+12>>2];g[f+16+308>>2]=9.999999747378752e-05;a[f+16+332>>0]=0;c[f>>2]=5088;c[f+4>>2]=f+16;c[f+8>>2]=f+480;c[f+12>>2]=f+376;if(bd(f,b+4|0,b+68|0,f+712|0,f+712|0,f+536|0)|0?(h=+g[f+536+164>>2],+g[b+200>>2]>h):0)g[b+200>>2]=h;c[f+376>>2]=7216;e=c[f+376+52>>2]|0;if(!e){l=f;return}lb[c[c[e>>2]>>2]&511](e);e=c[f+376+52>>2]|0;if(!e){l=f;return}c[6486]=(c[6486]|0)+1;Uc(c[e+-4>>2]|0);l=f;return}function Jf(d,e,f,g,h,i,j,k,m){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0;o=l;l=l+48|0;c[6485]=(c[6485]|0)+1;g=ic(83)|0;if(!g)n=0;else{c[(g+4+15&-16)+-4>>2]=g;n=g+4+15&-16}c[n>>2]=h;b[n+4>>1]=i;b[n+6>>1]=j;i=n+16|0;c[i>>2]=c[e>>2];c[i+4>>2]=c[e+4>>2];c[i+8>>2]=c[e+8>>2];c[i+12>>2]=c[e+12>>2];i=n+32|0;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];c[n+8>>2]=0;i=n+56|0;c[i>>2]=0;j=n+52|0;c[j>>2]=0;c[o+16>>2]=c[e>>2];c[o+16+4>>2]=c[e+4>>2];c[o+16+8>>2]=c[e+8>>2];c[o+16+12>>2]=c[e+12>>2];c[o+16+16>>2]=c[f>>2];c[o+16+16+4>>2]=c[f+4>>2];c[o+16+16+8>>2]=c[f+8>>2];c[o+16+16+12>>2]=c[f+12>>2];c[n+60>>2]=c[d+144>>2];g=(c[d+188>>2]|0)+1|0;c[d+188>>2]=g;c[n+12>>2]=g;g=c[d+8>>2]|0;if(!g){c[6485]=(c[6485]|0)+1;g=ic(63)|0;if(!g)g=0;else{c[(g+4+15&-16)+-4>>2]=g;g=g+4+15&-16}k=g;m=k+44|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(m|0))}else c[d+8>>2]=0;c[g+32>>2]=0;c[g+36>>2]=n;c[g+40>>2]=0;c[g>>2]=c[o+16>>2];c[g+4>>2]=c[o+16+4>>2];c[g+8>>2]=c[o+16+8>>2];c[g+12>>2]=c[o+16+12>>2];c[g+16>>2]=c[o+16+16>>2];c[g+20>>2]=c[o+16+20>>2];c[g+24>>2]=c[o+16+24>>2];c[g+28>>2]=c[o+16+28>>2];_e(d+4|0,c[d+4>>2]|0,g);c[d+16>>2]=(c[d+16>>2]|0)+1;c[n+48>>2]=g;k=d+124+(c[d+144>>2]<<2)|0;c[j>>2]=0;c[i>>2]=c[k>>2];g=c[k>>2]|0;if(g|0)c[g+52>>2]=n;c[k>>2]=n;if(a[d+193>>0]|0){l=o;return n|0}c[o>>2]=8996;c[o+4>>2]=d;c[o+8>>2]=n;We(c[d+4>>2]|0,o+16|0,o);We(c[d+64>>2]|0,o+16|0,o);l=o;return n|0}function Kf(a,d){a=a|0;d=d|0;var e=0,f=0,h=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0;e=l;l=l+128|0;G=c[(c[a+8>>2]|0)+24>>2]|0;h=c[G+(d*80|0)+64>>2]|0;f=c[a+12>>2]|0;x=+g[G+(d*80|0)>>2];D=+g[f>>2];w=+g[G+(d*80|0)+16>>2];C=+g[f+4>>2];v=+g[G+(d*80|0)+32>>2];B=+g[f+8>>2];u=+g[G+(d*80|0)+4>>2];t=+g[G+(d*80|0)+20>>2];s=+g[G+(d*80|0)+36>>2];r=+g[G+(d*80|0)+8>>2];p=+g[G+(d*80|0)+24>>2];n=+g[G+(d*80|0)+40>>2];A=+g[f+16>>2];z=+g[f+20>>2];y=+g[f+24>>2];q=+g[f+32>>2];o=+g[f+36>>2];m=+g[f+40>>2];F=+g[G+(d*80|0)+48>>2];E=+g[G+(d*80|0)+52>>2];i=+g[G+(d*80|0)+56>>2];k=+g[f+48>>2]+(D*F+C*E+B*i);j=A*F+z*E+y*i+ +g[f+52>>2];i=q*F+o*E+m*i+ +g[f+56>>2];g[e+56>>2]=x*D+w*C+v*B;g[e+56+4>>2]=D*u+C*t+B*s;g[e+56+8>>2]=D*r+C*p+B*n;g[e+56+12>>2]=0.0;g[e+56+16>>2]=x*A+w*z+v*y;g[e+56+20>>2]=u*A+t*z+s*y;g[e+56+24>>2]=r*A+p*z+n*y;g[e+56+28>>2]=0.0;g[e+56+32>>2]=x*q+w*o+v*m;g[e+56+36>>2]=u*q+t*o+s*m;g[e+56+40>>2]=r*q+p*o+n*m;g[e+56+44>>2]=0.0;g[e+56+48>>2]=k;g[e+56+52>>2]=j;g[e+56+56>>2]=i;g[e+56+60>>2]=0.0;f=c[a+4>>2]|0;c[e+32>>2]=0;c[e+32+4>>2]=h;c[e+32+8>>2]=f;c[e+32+12>>2]=e+56;c[e+32+16>>2]=-1;c[e+32+20>>2]=d;f=c[a+24>>2]|0;g[e+4>>2]=1.0;c[e+8>>2]=0;b[e+12>>1]=1;b[e+14>>1]=-1;c[e+16>>2]=0;c[e>>2]=5888;c[e+20>>2]=f;c[e+24>>2]=d;c[e+4>>2]=c[f+4>>2];c[e+16>>2]=c[f+16>>2];Nc(c[a+16>>2]|0,c[a+20>>2]|0,e+32|0,e);l=e;return}function Lf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0,i=0,j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0;i=l;l=l+96|0;f=+Db[c[(c[a>>2]|0)+48>>2]&15](a);h=0;do{q=i+80+(h<<2)|0;c[i+80>>2]=0;c[i+80+4>>2]=0;c[i+80+8>>2]=0;c[i+80+12>>2]=0;g[q>>2]=1.0;j=c[(c[a>>2]|0)+64>>2]|0;k=+g[i+80>>2];m=+g[i+80+4>>2];n=+g[i+80+8>>2];o=k*+g[b+4>>2]+m*+g[b+20>>2]+n*+g[b+36>>2];p=k*+g[b+8>>2]+m*+g[b+24>>2]+n*+g[b+40>>2];g[i+48>>2]=+g[b>>2]*k+ +g[b+16>>2]*m+ +g[b+32>>2]*n;g[i+48+4>>2]=o;g[i+48+8>>2]=p;g[i+48+12>>2]=0.0;Vb[j&127](i+64|0,a,i+48|0);p=+g[i+64>>2];o=+g[i+64+4>>2];n=+g[i+64+8>>2];m=p*+g[b+16>>2]+o*+g[b+20>>2]+n*+g[b+24>>2]+ +g[b+52>>2];k=p*+g[b+32>>2]+o*+g[b+36>>2]+n*+g[b+40>>2]+ +g[b+56>>2];g[i+32>>2]=p*+g[b>>2]+o*+g[b+4>>2]+n*+g[b+8>>2]+ +g[b+48>>2];g[i+32+4>>2]=m;g[i+32+8>>2]=k;g[i+32+12>>2]=0.0;j=i+32+(h<<2)|0;g[e+(h<<2)>>2]=f+ +g[j>>2];g[q>>2]=-1.0;q=c[(c[a>>2]|0)+64>>2]|0;k=+g[i+80>>2];m=+g[i+80+4>>2];n=+g[i+80+8>>2];o=k*+g[b+4>>2]+m*+g[b+20>>2]+n*+g[b+36>>2];p=k*+g[b+8>>2]+m*+g[b+24>>2]+n*+g[b+40>>2];g[i>>2]=+g[b>>2]*k+ +g[b+16>>2]*m+ +g[b+32>>2]*n;g[i+4>>2]=o;g[i+8>>2]=p;g[i+12>>2]=0.0;Vb[q&127](i+16|0,a,i);p=+g[i+16>>2];o=+g[i+16+4>>2];n=+g[i+16+8>>2];m=p*+g[b+16>>2]+o*+g[b+20>>2]+n*+g[b+24>>2]+ +g[b+52>>2];k=p*+g[b+32>>2]+o*+g[b+36>>2]+n*+g[b+40>>2]+ +g[b+56>>2];g[i+32>>2]=p*+g[b>>2]+o*+g[b+4>>2]+n*+g[b+8>>2]+ +g[b+48>>2];g[i+32+4>>2]=m;g[i+32+8>>2]=k;g[i+32+12>>2]=0.0;g[d+(h<<2)>>2]=+g[j>>2]-f;h=h+1|0}while((h|0)!=3);l=i;return}function Mf(a){a=a|0;var b=0,d=0,e=0,f=0,h=0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0;b=c[a+752>>2]|0;if((b|0)>0){d=c[a+760>>2]|0;e=0;do{f=c[d+(e*44|0)+8>>2]|0;h=c[d+(e*44|0)+12>>2]|0;i=c[d+(e*44|0)+16>>2]|0;l=+g[f+8>>2];n=+g[f+12>>2];j=+g[f+16>>2];k=+g[h+8>>2]-l;o=+g[h+12>>2]-n;m=+g[h+16>>2]-j;l=+g[i+8>>2]-l;n=+g[i+12>>2]-n;j=+g[i+16>>2]-j;g[d+(e*44|0)+36>>2]=+G(+((k*n-o*l)*(k*n-o*l)+((o*j-m*n)*(o*j-m*n)+(m*l-k*j)*(m*l-k*j))));e=e+1|0}while((e|0)!=(b|0))}d=c[a+712>>2]|0;if((d|0)>0){c[6485]=(c[6485]|0)+1;b=ic((d<<2|3)+16|0)|0;if(!b)f=0;else{c[(b+4+15&-16)+-4>>2]=b;f=b+4+15&-16}Lk(f|0,0,d<<2|0)|0;d=c[a+712>>2]|0;if((d|0)>0){b=c[a+720>>2]|0;e=0;do{g[b+(e*104|0)+92>>2]=0.0;e=e+1|0}while((e|0)!=(d|0));i=f;h=f}else{i=f;h=f}}else{i=0;h=0}f=c[a+752>>2]|0;if((f|0)>0){b=c[a+760>>2]|0;d=c[a+720>>2]|0;e=0;do{o=+F(+(+g[b+(e*44|0)+36>>2]));p=c[b+(e*44|0)+8>>2]|0;q=h+(((p-d|0)/104|0)<<2)|0;c[q>>2]=(c[q>>2]|0)+1;g[p+92>>2]=o+ +g[p+92>>2];p=c[b+(e*44|0)+12>>2]|0;q=h+(((p-d|0)/104|0)<<2)|0;c[q>>2]=(c[q>>2]|0)+1;g[p+92>>2]=o+ +g[p+92>>2];p=c[b+(e*44|0)+16>>2]|0;q=h+(((p-d|0)/104|0)<<2)|0;c[q>>2]=(c[q>>2]|0)+1;g[p+92>>2]=o+ +g[p+92>>2];e=e+1|0}while((e|0)!=(f|0));d=c[a+712>>2]|0}if((d|0)>0){e=0;do{b=c[h+(e<<2)>>2]|0;if((b|0)>0){q=(c[a+720>>2]|0)+(e*104|0)+92|0;g[q>>2]=+g[q>>2]/+(b|0)}else g[(c[a+720>>2]|0)+(e*104|0)+92>>2]=0.0;e=e+1|0}while((e|0)!=(d|0));if(!i)return}else if((h|0)==0|(i|0)==0)return;c[6486]=(c[6486]|0)+1;Uc(c[i+-4>>2]|0);return}function Nf(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0;q=l;l=l+48|0;if((f|0)==(d|0)|((d|0)==(e|0)|(e|0)==(f|0))){l=q;return}k=q;m=k+36|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(m|0));if(!h)p=c[c[b+880>>2]>>2]|0;else p=h;h=c[b+752>>2]|0;if((h|0)==(c[b+756>>2]|0)?(o=h|0?h<<1:1,(h|0)<(o|0)):0){if(!o)n=0;else{c[6485]=(c[6485]|0)+1;h=ic((o*44|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}n=h;h=c[b+752>>2]|0}if((h|0)>0){i=0;do{k=n+(i*44|0)|0;j=(c[b+760>>2]|0)+(i*44|0)|0;m=k+44|0;do{c[k>>2]=c[j>>2];k=k+4|0;j=j+4|0}while((k|0)<(m|0));i=i+1|0}while((i|0)!=(h|0))}h=c[b+760>>2]|0;if(h|0){if(a[b+764>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[h+-4>>2]|0)}c[b+760>>2]=0}a[b+764>>0]=1;c[b+760>>2]=n;c[b+756>>2]=o;h=c[b+752>>2]|0}k=c[b+760>>2]|0;c[k+(h*44|0)>>2]=0;c[k+(h*44|0)+4>>2]=p;k=k+(h*44|0)+8|0;j=q;m=k+36|0;do{c[k>>2]=c[j>>2];k=k+4|0;j=j+4|0}while((k|0)<(m|0));p=c[b+752>>2]|0;c[b+752>>2]=p+1;o=c[b+760>>2]|0;k=c[b+720>>2]|0;c[o+(p*44|0)+8>>2]=k+(d*104|0);m=c[b+720>>2]|0;c[o+(p*44|0)+12>>2]=m+(e*104|0);n=c[b+720>>2]|0;c[o+(p*44|0)+16>>2]=n+(f*104|0);t=+g[k+(d*104|0)+8>>2];v=+g[k+(d*104|0)+12>>2];r=+g[k+(d*104|0)+16>>2];s=+g[m+(e*104|0)+8>>2]-t;w=+g[m+(e*104|0)+12>>2]-v;u=+g[m+(e*104|0)+16>>2]-r;t=+g[n+(f*104|0)+8>>2]-t;v=+g[n+(f*104|0)+12>>2]-v;r=+g[n+(f*104|0)+16>>2]-r;g[o+(p*44|0)+36>>2]=+G(+((s*v-w*t)*(s*v-w*t)+((w*r-u*v)*(w*r-u*v)+(u*t-s*r)*(u*t-s*r))));a[b+924>>0]=1;l=q;return}function Of(b,d){b=b|0;d=+d;var e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0;m=l;l=l+16|0;bj(12132);e=c[b+232>>2]|0;if((e|0)>0){k=(a[26524]|0)==0;j=0;do{i=c[(c[b+240>>2]|0)+(j<<2)>>2]|0;a:do if(i){f=c[i+216>>2]|0;b:do switch(f|0){case 4:case 2:{if((f|0)==4)break a;break}default:{q=+g[i+312>>2];p=+g[i+316>>2];o=+g[i+320>>2];n=+g[i+472>>2];if(q*q+p*p+o*o<n*n?(n=+g[i+328>>2],o=+g[i+332>>2],p=+g[i+336>>2],q=+g[i+476>>2],n*n+o*o+p*p<q*q):0){g[i+220>>2]=+g[i+220>>2]+d;break b}g[i+220>>2]=0.0;if((f&-2|0)!=4){c[i+216>>2]=0;f=0}}}while(0);h=f&-2;do if(k){if((h|0)!=2?!(+g[i+220>>2]>2.0):0)break;if(c[i+204>>2]&3|0){if((h|0)==4)break a;c[i+216>>2]=2;break a}if((f|0)==1){if((h|0)==4)break a;c[i+216>>2]=3;break a}else{if((f|0)!=2)break a;e=(c[i+260>>2]|0)+2|0;c[i+328>>2]=0;c[i+328+4>>2]=0;c[i+328+8>>2]=0;c[i+328+12>>2]=0;c[i+260>>2]=e;c[i+312>>2]=0;c[i+312+4>>2]=0;c[i+312+8>>2]=0;c[i+312+12>>2]=0;e=c[b+232>>2]|0;break a}}while(0);if((h|0)!=4)c[i+216>>2]=1}while(0);j=j+1|0}while((j|0)<(e|0))}e=c[2380]|0;b=(c[e+16>>2]|0)+-1|0;c[e+16>>2]=b;if(b|0){l=m;return}do if(c[e+4>>2]|0){Za(m|0,0)|0;b=c[6484]|0;g[e+8>>2]=+(((c[m+4>>2]|0)-(c[b+4>>2]|0)+(((c[m>>2]|0)-(c[b>>2]|0)|0)*1e6|0)-(c[e+12>>2]|0)|0)>>>0)/1.0e3+ +g[e+8>>2];if(!(c[e+16>>2]|0)){e=c[2380]|0;break}else{l=m;return}}while(0);c[2380]=c[e+20>>2];l=m;return}function Pf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0,H=0.0,I=0;I=l;l=l+32|0;j=+g[b+16>>2];f=+g[b>>2];k=+g[b+20>>2];h=+g[b+4>>2];n=+g[b+24>>2];i=+g[b+8>>2];r=+g[b+32>>2];v=+g[b+36>>2];w=+g[b+40>>2];B=(k-h)*(w-i)-(n-i)*(v-h);C=(n-i)*(r-f)-(j-f)*(w-i);D=(j-f)*(v-h)-(k-h)*(r-f);g[I+16>>2]=B;g[I+16+4>>2]=C;g[I+16+8>>2]=D;g[I+16+12>>2]=0.0;o=+g[a+4>>2];s=+g[a+8>>2];x=+g[a+12>>2];E=B*o+C*s+D*x-(f*B+h*C+i*D);p=+g[a+20>>2];t=+g[a+24>>2];y=+g[a+28>>2];if(E*(B*p+C*t+D*y-(f*B+h*C+i*D))>=0.0){l=I;return}F=c[a+36>>2]|0;if(E<=0.0&(F&1|0)!=0){l=I;return}H=E/(E-(B*p+C*t+D*y-(f*B+h*C+i*D)));if(!(H<+g[a+40>>2])){l=I;return}A=(B*B+C*C+D*D)*-9.999999747378752e-05;z=f-(p*H+o*(1.0-H));u=h-(t*H+s*(1.0-H));q=i-(y*H+x*(1.0-H));m=j-(p*H+o*(1.0-H));k=k-(t*H+s*(1.0-H));j=n-(y*H+x*(1.0-H));if(!(D*(z*k-u*m)+(B*(u*j-q*k)+C*(q*m-z*j))>=A)){l=I;return}i=r-(p*H+o*(1.0-H));h=v-(t*H+s*(1.0-H));f=w-(y*H+x*(1.0-H));if(!(D*(m*h-k*i)+(B*(k*f-j*h)+C*(j*i-m*f))>=A)){l=I;return}if(!(D*(u*i-z*h)+(B*(q*h-u*f)+C*(z*f-q*i))>=A)){l=I;return}f=1.0/+G(+(B*B+C*C+D*D));g[I+16>>2]=B*f;g[I+16+4>>2]=C*f;g[I+16+8>>2]=D*f;b=c[(c[a>>2]|0)+12>>2]|0;if(E<=0.0&(F&2|0)==0){g[I>>2]=-(B*f);g[I+4>>2]=-(C*f);g[I+8>>2]=-(D*f);g[I+12>>2]=0.0;g[a+40>>2]=+Rb[b&3](a,I,H,d,e);l=I;return}else{g[a+40>>2]=+Rb[b&3](a,I+16|0,H,d,e);l=I;return}}function Qf(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,m=0,n=0;k=l;l=l+144|0;i=c[b+12>>2]|0;if(!i){l=k;return}n=c[d+4>>2]|0;m=c[e+4>>2]|0;c[h+4>>2]=i;g[k+12+128>>2]=999999984306749440.0;d=c[d+12>>2]|0;c[k+12>>2]=c[d>>2];c[k+12+4>>2]=c[d+4>>2];c[k+12+8>>2]=c[d+8>>2];c[k+12+12>>2]=c[d+12>>2];c[k+12+16>>2]=c[d+16>>2];c[k+12+16+4>>2]=c[d+16+4>>2];c[k+12+16+8>>2]=c[d+16+8>>2];c[k+12+16+12>>2]=c[d+16+12>>2];c[k+12+32>>2]=c[d+32>>2];c[k+12+32+4>>2]=c[d+32+4>>2];c[k+12+32+8>>2]=c[d+32+8>>2];c[k+12+32+12>>2]=c[d+32+12>>2];c[k+12+48>>2]=c[d+48>>2];c[k+12+48+4>>2]=c[d+48+4>>2];c[k+12+48+8>>2]=c[d+48+8>>2];c[k+12+48+12>>2]=c[d+48+12>>2];e=c[e+12>>2]|0;c[k+12+64>>2]=c[e>>2];c[k+12+64+4>>2]=c[e+4>>2];c[k+12+64+8>>2]=c[e+8>>2];c[k+12+64+12>>2]=c[e+12>>2];c[k+12+80>>2]=c[e+16>>2];c[k+12+80+4>>2]=c[e+16+4>>2];c[k+12+80+8>>2]=c[e+16+8>>2];c[k+12+80+12>>2]=c[e+16+12>>2];c[k+12+96>>2]=c[e+32>>2];c[k+12+96+4>>2]=c[e+32+4>>2];c[k+12+96+8>>2]=c[e+32+8>>2];c[k+12+96+12>>2]=c[e+32+12>>2];c[k+12+112>>2]=c[e+48>>2];c[k+12+112+4>>2]=c[e+48+4>>2];c[k+12+112+8>>2]=c[e+48+8>>2];c[k+12+112+12>>2]=c[e+48+12>>2];c[k>>2]=9376;c[k+4>>2]=n;c[k+8>>2]=m;jc(k,k+12|0,h,c[f+20>>2]|0,0);do if(a[b+8>>0]|0?(j=c[h+4>>2]|0,c[j+748>>2]|0):0){d=c[j+740>>2]|0;e=c[(c[h+8>>2]|0)+8>>2]|0;i=c[(c[h+12>>2]|0)+8>>2]|0;if((d|0)==(e|0)){Pe(j,d+4|0,i+4|0);break}else{Pe(j,i+4|0,e+4|0);break}}while(0);l=k;return}function Rf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;if((c[b+104>>2]|0)>0){l=0;do{i=c[(c[b+4>>2]|0)+684>>2]|0;j=(c[b+112>>2]|0)+(l<<3)+4|0;d=c[j>>2]|0;if((c[i+60>>2]|0)>0){k=0;do{h=(c[i+68>>2]|0)+(k<<2)|0;e=c[h>>2]|0;a:do if(e|0){f=0;do{g=f+280|0;b:do if(!f)while(1){f=e;e=c[e+280>>2]|0;if((c[f+276>>2]|0)!=(d|0))break b;c[h>>2]=e;YG(f);if(!e)break a}else while(1){f=e;e=c[e+280>>2]|0;if((c[f+276>>2]|0)!=(d|0))break b;c[g>>2]=e;YG(f);if(!e)break a}while(0)}while((e|0)!=0)}while(0);k=k+1|0}while((k|0)<(c[i+60>>2]|0));d=c[j>>2]|0}if(d|0)lb[c[(c[d>>2]|0)+4>>2]&511](d);l=l+1|0}while((l|0)<(c[b+104>>2]|0))}d=c[b+72>>2]|0;if(d|0){if(a[b+76>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+72>>2]=0}a[b+76>>0]=1;c[b+72>>2]=0;c[b+64>>2]=0;c[b+68>>2]=0;d=c[b+92>>2]|0;if(d|0){if(a[b+96>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+92>>2]=0}a[b+96>>0]=1;c[b+92>>2]=0;c[b+84>>2]=0;c[b+88>>2]=0;d=c[b+112>>2]|0;if(d|0){if(a[b+116>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+112>>2]=0}a[b+116>>0]=1;c[b+112>>2]=0;c[b+104>>2]=0;c[b+108>>2]=0;d=c[b+132>>2]|0;if(!d){a[b+136>>0]=1;c[b+132>>2]=0;c[b+124>>2]=0;b=b+128|0;c[b>>2]=0;return}if(a[b+136>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+132>>2]=0;a[b+136>>0]=1;c[b+132>>2]=0;c[b+124>>2]=0;b=b+128|0;c[b>>2]=0;return}function Sf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;i=c[b+28>>2]|0;j=c[b+32>>2]|0;if(!(a[b+1301>>0]|0)){h=0;e=Uf(b,d,0,i+4|0,j+4|0,i+312|0,j+312|0,i+328|0,j+328|0)|0;do{f=b+868+(h<<6)|0;if(!((c[b+868+(h<<6)+56>>2]|0)==0?(a[b+868+(h<<6)+44>>0]|0)==0:0)){g=b+1208+(h<<4)|0;c[k>>2]=c[g>>2];c[k+4>>2]=c[g+4>>2];c[k+8>>2]=c[g+8>>2];c[k+12>>2]=c[g+12>>2];g=c[b+1304>>2]>>(h*3|0)+9;if(!(g&1))c[b+868+(h<<6)+28>>2]=c[c[d+32>>2]>>2];if(!(g&2))c[b+868+(h<<6)+36>>2]=c[c[d+32>>2]>>2];if(!(g&4))c[b+868+(h<<6)+32>>2]=c[d+4>>2];e=(nd(b,f,i+4|0,j+4|0,i+312|0,j+312|0,i+328|0,j+328|0,d,e,k,1,0)|0)+e|0}h=h+1|0}while((h|0)!=3);l=k;return}else{h=0;e=0;do{f=b+868+(h<<6)|0;if(!((c[b+868+(h<<6)+56>>2]|0)==0?(a[b+868+(h<<6)+44>>0]|0)==0:0)){g=b+1208+(h<<4)|0;c[k>>2]=c[g>>2];c[k+4>>2]=c[g+4>>2];c[k+8>>2]=c[g+8>>2];c[k+12>>2]=c[g+12>>2];g=c[b+1304>>2]>>(h*3|0)+9;if(!(g&1))c[b+868+(h<<6)+28>>2]=c[c[d+32>>2]>>2];if(!(g&2))c[b+868+(h<<6)+36>>2]=c[c[d+32>>2]>>2];if(!(g&4))c[b+868+(h<<6)+32>>2]=c[d+4>>2];e=(nd(b,f,i+4|0,j+4|0,i+312|0,j+312|0,i+328|0,j+328|0,d,e,k,1,0)|0)+e|0}h=h+1|0}while((h|0)!=3);Uf(b,d,e,i+4|0,j+4|0,i+312|0,j+312|0,i+328|0,j+328|0)|0;l=k;return}}function Tf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=c[a+56>>2]|0;if(!e){e=c[a+52>>2]|0;if(!e){c[6485]=(c[6485]|0)+1;e=ic(31)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[a+60>>2]|0;c[e+4>>2]=f;g=e+8|0;c[g>>2]=0;c[6485]=(c[6485]|0)+1;f=ic((f*24|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}c[e>>2]=f;c[g>>2]=c[a+48>>2];c[a+48>>2]=e}else c[a+52>>2]=c[e+8>>2];h=c[e+4>>2]|0;e=c[e>>2]|0;if((h|0)>0){f=0;g=e;do{f=f+1|0;i=g;g=g+24|0;c[i>>2]=(f|0)<(h|0)?g:0}while((f|0)!=(h|0));i=e}else i=e}else i=e;c[a+56>>2]=c[i>>2];c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;c[i+20>>2]=0;e=c[a+56>>2]|0;if(!e){e=c[a+52>>2]|0;if(!e){c[6485]=(c[6485]|0)+1;e=ic(31)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[a+60>>2]|0;c[e+4>>2]=f;g=e+8|0;c[g>>2]=0;c[6485]=(c[6485]|0)+1;f=ic((f*24|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}c[e>>2]=f;c[g>>2]=c[a+48>>2];c[a+48>>2]=e}else c[a+52>>2]=c[e+8>>2];h=c[e+4>>2]|0;e=c[e>>2]|0;if((h|0)>0){f=0;g=e;do{f=f+1|0;j=g;g=g+24|0;c[j>>2]=(f|0)<(h|0)?g:0}while((f|0)!=(h|0))}}c[a+56>>2]=c[e>>2];j=e;c[j>>2]=0;c[j+4>>2]=0;c[i+8>>2]=e;c[e+8>>2]=i;j=c[a+100>>2]|0;c[i+20>>2]=j;c[e+20>>2]=j;c[i+12>>2]=d;c[e+12>>2]=b;c[i+16>>2]=0;c[e+16>>2]=0;e=c[a+116>>2]|0;c[a+116>>2]=e+1;if((e|0)<(c[a+120>>2]|0))return i|0;c[a+120>>2]=e+1;return i|0}function Uf(b,d,e,f,h,i,j,k,m){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0;q=l;l=l+80|0;g[q+16+60>>2]=0.0;g[q+16+8>>2]=0.0;g[q+16+12>>2]=.10000000149011612;g[q+16+16>>2]=300.0;g[q+16>>2]=1.0;g[q+16+4>>2]=-1.0;g[q+16+28>>2]=0.0;g[q+16+32>>2]=.20000000298023224;g[q+16+36>>2]=0.0;g[q+16+40>>2]=0.0;g[q+16+20>>2]=1.0;g[q+16+24>>2]=.5;c[q+16+56>>2]=0;g[q+16+48>>2]=0.0;a[q+16+44>>0]=0;p=0;do{n=c[b+856+(p<<2)>>2]|0;o=a[b+788+p>>0]|0;if(!((n|0)==0&o<<24>>24==0)){g[q+16+40>>2]=0.0;c[q+16+56>>2]=n;c[q+16+52>>2]=c[b+840+(p<<2)>>2];c[q+16+48>>2]=c[b+824+(p<<2)>>2];c[q+16+20>>2]=c[b+732>>2];a[q+16+44>>0]=o;c[q+16+4>>2]=c[b+696+(p<<2)>>2];c[q+16+24>>2]=c[b+728>>2];c[q+16>>2]=c[b+680+(p<<2)>>2];g[q+16+16>>2]=0.0;c[q+16+12>>2]=c[b+808+(p<<2)>>2];c[q+16+8>>2]=c[b+792+(p<<2)>>2];c[q>>2]=c[b+1064+(p<<2)>>2];c[q+4>>2]=c[b+1080+(p<<2)>>2];c[q+8>>2]=c[b+1096+(p<<2)>>2];g[q+12>>2]=0.0;o=c[b+1304>>2]>>p*3;if(!(o&1))n=c[d+32>>2]|0;else n=b+740+(p<<2)|0;c[q+16+28>>2]=c[n>>2];if(!(o&2))n=c[d+32>>2]|0;else n=b+772+(p<<2)|0;c[q+16+36>>2]=c[n>>2];c[q+16+32>>2]=c[((o&4|0)==0?d+4|0:b+756+(p<<2)|0)>>2];if(a[b+1301>>0]|0){o=p+1|0;if(!(c[b+868+(((o|0)==3?0:o)<<6)+56>>2]|0))n=1;else n=(c[b+868+(((p+2|0)%3|0)<<6)+56>>2]|0)==0&1}else n=0;e=(nd(b,q+16|0,f,h,i,j,k,m,d,e,q,0,n)|0)+e|0}p=p+1|0}while((p|0)!=3);l=q;return e|0}function Vf(a,b,d){a=a|0;b=+b;d=+d;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0,m=0.0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0,w=0.0,x=0.0,y=0.0,z=0.0;v=l;l=l+16|0;m=+g[a+452>>2];t=c[a+192>>2]|0;s=+Db[c[(c[t>>2]|0)+48>>2]&15](t);t=c[a+812>>2]|0;if((t|0)<=0){l=v;return}u=0;do{n=c[a+820>>2]|0;k=c[n+(u*104|0)>>2]|0;k=(c[k+236>>2]&2|0)==0?0:k;if(k|0){r=+g[k+332>>2];e=+g[n+(u*104|0)+84>>2];j=+g[k+336>>2];p=+g[n+(u*104|0)+80>>2];f=+g[n+(u*104|0)+76>>2];q=+g[k+328>>2];d=m*(r*e-j*p+ +g[k+312>>2]);e=m*(+g[k+316>>2]+(j*f-e*q));f=m*(p*q-r*f+ +g[k+320>>2])}else{d=0.0;e=0.0;f=0.0}o=c[n+(u*104|0)+24>>2]|0;p=+g[o+8>>2];q=+g[o+12>>2];r=+g[o+16>>2];j=p-+g[o+24>>2]-d;i=q-+g[o+28>>2]-e;d=r-+g[o+32>>2]-f;e=+g[n+(u*104|0)+4>>2];f=+g[n+(u*104|0)+8>>2];h=+g[n+(u*104|0)+12>>2];if(j*e+i*f+d*h<=1.1920928955078125e-07?(y=p*e+q*f+r*h+ +g[n+(u*104|0)+20>>2],z=+g[n+(u*104|0)+96>>2],y=+g[n+(u*104|0)+100>>2]*(y<s?y:s),x=(j-(j-e*(j*e+i*f+d*h))*z+e*y)*b,w=(i-(i-f*(j*e+i*f+d*h))*z+f*y)*b,j=(d-(d-h*(j*e+i*f+d*h))*z+h*y)*b,f=+g[n+(u*104|0)+36>>2]*j+(+g[n+(u*104|0)+28>>2]*x+ +g[n+(u*104|0)+32>>2]*w),h=+g[n+(u*104|0)+44>>2]*x+w*+g[n+(u*104|0)+48>>2]+j*+g[n+(u*104|0)+52>>2],j=x*+g[n+(u*104|0)+60>>2]+w*+g[n+(u*104|0)+64>>2]+j*+g[n+(u*104|0)+68>>2],g[v>>2]=f,g[v+4>>2]=h,g[v+8>>2]=j,g[v+12>>2]=0.0,i=+g[n+(u*104|0)+92>>2],g[o+8>>2]=p-f*i,g[o+12>>2]=q-i*h,g[o+16>>2]=r-i*j,k|0):0)Zk(k,v,n+(u*104|0)+76|0);u=u+1|0}while((u|0)!=(t|0));l=v;return}function Wf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0;c[b+4>>2]=1065353216;c[b+8>>2]=1065353216;c[b+12>>2]=1065353216;g[b+16>>2]=0.0;a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[b+48>>2]=0;c[b>>2]=8544;a[b+100>>0]=1;c[b+96>>2]=0;c[b+88>>2]=0;c[b+92>>2]=0;a[b+120>>0]=1;c[b+116>>2]=0;c[b+108>>2]=0;c[b+112>>2]=0;a[b+140>>0]=1;c[b+136>>2]=0;c[b+128>>2]=0;c[b+132>>2]=0;a[b+160>>0]=1;c[b+156>>2]=0;c[b+148>>2]=0;c[b+152>>2]=0;a[b+164>>0]=d&1;a[b+165>>0]=e&1;g[b+168>>2]=0.0;c[6485]=(c[6485]|0)+1;d=ic(51)|0;if(!d)f=0;else{c[(d+4+15&-16)+-4>>2]=d;f=d+4+15&-16}d=c[b+24>>2]|0;if((d|0)>0){e=0;do{h=f+(e<<5)|0;i=(c[b+32>>2]|0)+(e<<5)|0;c[h>>2]=c[i>>2];c[h+4>>2]=c[i+4>>2];c[h+8>>2]=c[i+8>>2];c[h+12>>2]=c[i+12>>2];c[h+16>>2]=c[i+16>>2];c[h+20>>2]=c[i+20>>2];c[h+24>>2]=c[i+24>>2];c[h+28>>2]=c[i+28>>2];e=e+1|0}while((e|0)!=(d|0))}d=c[b+32>>2]|0;if(d|0){if(a[b+36>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=f;c[b+28>>2]=1;i=c[b+24>>2]|0;c[f+(i<<5)>>2]=0;c[f+(i<<5)+4>>2]=0;c[f+(i<<5)+8>>2]=12;c[f+(i<<5)+12>>2]=0;c[f+(i<<5)+16>>2]=0;c[f+(i<<5)+20>>2]=16;c[f+(i<<5)+24>>2]=2;c[f+(i<<5)+28>>2]=0;c[b+24>>2]=(c[b+24>>2]|0)+1;i=(a[b+164>>0]|0)==0;d=c[b+32>>2]|0;c[d>>2]=(c[(i?b+148|0:b+128|0)>>2]|0)/3|0;c[d+4>>2]=0;c[d+24>>2]=i?3:2;c[d+8>>2]=i?6:12;if(!(a[b+165>>0]|0)){h=12;b=(c[b+108>>2]|0)/3|0;i=d+12|0;c[i>>2]=b;i=d+16|0;c[i>>2]=0;i=d+20|0;c[i>>2]=h;return}else{h=16;b=c[b+88>>2]|0;i=d+12|0;c[i>>2]=b;i=d+16|0;c[i>>2]=0;i=d+20|0;c[i>>2]=h;return}}function Xf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;f=ts()|0;sj(f,4,b);c[f>>2]=4832;c[f+552>>2]=c[d>>2];c[f+552+4>>2]=c[d+4>>2];c[f+552+8>>2]=c[d+8>>2];c[f+552+12>>2]=c[d+12>>2];c[f+568>>2]=c[d+16>>2];c[f+568+4>>2]=c[d+16+4>>2];c[f+568+8>>2]=c[d+16+8>>2];c[f+568+12>>2]=c[d+16+12>>2];c[f+584>>2]=c[d+32>>2];c[f+584+4>>2]=c[d+32+4>>2];c[f+584+8>>2]=c[d+32+8>>2];c[f+584+12>>2]=c[d+32+12>>2];c[f+600>>2]=c[d+48>>2];c[f+600+4>>2]=c[d+48+4>>2];c[f+600+8>>2]=c[d+48+8>>2];c[f+600+12>>2]=c[d+48+12>>2];c[f+616>>2]=c[d>>2];c[f+616+4>>2]=c[d+4>>2];c[f+616+8>>2]=c[d+8>>2];c[f+616+12>>2]=c[d+12>>2];c[f+632>>2]=c[d+16>>2];c[f+632+4>>2]=c[d+16+4>>2];c[f+632+8>>2]=c[d+16+8>>2];c[f+632+12>>2]=c[d+16+12>>2];c[f+648>>2]=c[d+32>>2];c[f+648+4>>2]=c[d+32+4>>2];c[f+648+8>>2]=c[d+32+8>>2];c[f+648+12>>2]=c[d+32+12>>2];c[f+664>>2]=c[d+48>>2];c[f+664+4>>2]=c[d+48+4>>2];c[f+664+8>>2]=c[d+48+8>>2];c[f+664+12>>2]=c[d+48+12>>2];g[f+688>>2]=0.0;g[f+692>>2]=-1.0;g[f+696>>2]=.8999999761581421;g[f+700>>2]=.30000001192092896;g[f+704>>2]=1.0;g[f+708>>2]=0.0;g[f+712>>2]=0.0;a[f+716>>0]=0;a[f+736>>0]=0;a[f+737>>0]=0;a[f+738>>0]=0;a[f+739>>0]=1;a[f+740>>0]=e&1;c[f+748>>2]=0;d=c[f+28>>2]|0;l=+g[f+600>>2];k=+g[f+604>>2];j=+g[f+608>>2];i=l*+g[d+20>>2]+k*+g[d+24>>2]+j*+g[d+28>>2]+ +g[d+56>>2];h=l*+g[d+36>>2]+k*+g[d+40>>2]+j*+g[d+44>>2]+ +g[d+60>>2];g[f+664>>2]=l*+g[d+4>>2]+k*+g[d+8>>2]+j*+g[d+12>>2]+ +g[d+52>>2];g[f+668>>2]=i;g[f+672>>2]=h;g[f+676>>2]=0.0;g[f+732>>2]=e?-1.0:1.0;return f|0}function Yf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;if((b|0)<0)b=c[a+12>>2]|0;d=c[a>>2]|0;if(!((b|0)>0&(d|0)!=0)){l=o;return}while(1){e=d+40|0;if(c[e>>2]|0){n=0;while(1){m=(c[a+16>>2]|0)>>>n&1;g=d+32|0;h=c[g>>2]|0;if(h>>>0>d>>>0){i=(c[h+40>>2]|0)==(d|0)&1;j=c[h+36+((i^1)<<2)>>2]|0;k=c[h+32>>2]|0;if(!k)f=a;else f=k+36+(((c[k+40>>2]|0)==(h|0)&1)<<2)|0;c[f>>2]=d;c[j+32>>2]=d;c[h+32>>2]=d;c[g>>2]=k;k=d+36|0;c[h+36>>2]=c[k>>2];c[h+40>>2]=c[e>>2];c[(c[k>>2]|0)+32>>2]=h;c[(c[e>>2]|0)+32>>2]=h;c[d+36+(i<<2)>>2]=h;c[d+36+((i^1)<<2)>>2]=j;c[o>>2]=c[h>>2];c[o+4>>2]=c[h+4>>2];c[o+8>>2]=c[h+8>>2];c[o+12>>2]=c[h+12>>2];c[o+16>>2]=c[h+16>>2];c[o+20>>2]=c[h+20>>2];c[o+24>>2]=c[h+24>>2];c[o+28>>2]=c[h+28>>2];c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2];c[h+16>>2]=c[d+16>>2];c[h+20>>2]=c[d+20>>2];c[h+24>>2]=c[d+24>>2];c[h+28>>2]=c[d+28>>2];c[d>>2]=c[o>>2];c[d+4>>2]=c[o+4>>2];c[d+8>>2]=c[o+8>>2];c[d+12>>2]=c[o+12>>2];c[d+16>>2]=c[o+16>>2];c[d+20>>2]=c[o+20>>2];c[d+24>>2]=c[o+24>>2];c[d+28>>2]=c[o+28>>2];d=h}d=c[d+36+(m<<2)>>2]|0;e=d+40|0;if(!(c[e>>2]|0))break;else n=n+1&31}}if(!(Ug(a,d)|0))e=0;else e=c[a>>2]|0;_e(a,e,d);c[a+16>>2]=(c[a+16>>2]|0)+1;b=b+-1|0;if(!b)break;d=c[a>>2]|0}l=o;return}function Zf(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;e=ts()|0;sj(e,4,b);c[e>>2]=4832;c[e+552>>2]=c[d>>2];c[e+552+4>>2]=c[d+4>>2];c[e+552+8>>2]=c[d+8>>2];c[e+552+12>>2]=c[d+12>>2];c[e+568>>2]=c[d+16>>2];c[e+568+4>>2]=c[d+16+4>>2];c[e+568+8>>2]=c[d+16+8>>2];c[e+568+12>>2]=c[d+16+12>>2];c[e+584>>2]=c[d+32>>2];c[e+584+4>>2]=c[d+32+4>>2];c[e+584+8>>2]=c[d+32+8>>2];c[e+584+12>>2]=c[d+32+12>>2];c[e+600>>2]=c[d+48>>2];c[e+600+4>>2]=c[d+48+4>>2];c[e+600+8>>2]=c[d+48+8>>2];c[e+600+12>>2]=c[d+48+12>>2];c[e+616>>2]=c[d>>2];c[e+616+4>>2]=c[d+4>>2];c[e+616+8>>2]=c[d+8>>2];c[e+616+12>>2]=c[d+12>>2];c[e+632>>2]=c[d+16>>2];c[e+632+4>>2]=c[d+16+4>>2];c[e+632+8>>2]=c[d+16+8>>2];c[e+632+12>>2]=c[d+16+12>>2];c[e+648>>2]=c[d+32>>2];c[e+648+4>>2]=c[d+32+4>>2];c[e+648+8>>2]=c[d+32+8>>2];c[e+648+12>>2]=c[d+32+12>>2];c[e+664>>2]=c[d+48>>2];c[e+664+4>>2]=c[d+48+4>>2];c[e+664+8>>2]=c[d+48+8>>2];c[e+664+12>>2]=c[d+48+12>>2];g[e+688>>2]=0.0;g[e+692>>2]=-1.0;g[e+696>>2]=.8999999761581421;g[e+700>>2]=.30000001192092896;g[e+704>>2]=1.0;g[e+708>>2]=0.0;g[e+712>>2]=0.0;a[e+716>>0]=0;a[e+736>>0]=0;a[e+737>>0]=0;a[e+738>>0]=0;a[e+739>>0]=1;a[e+740>>0]=0;c[e+748>>2]=0;d=c[e+28>>2]|0;k=+g[e+600>>2];j=+g[e+604>>2];i=+g[e+608>>2];h=k*+g[d+20>>2]+j*+g[d+24>>2]+i*+g[d+28>>2]+ +g[d+56>>2];f=k*+g[d+36>>2]+j*+g[d+40>>2]+i*+g[d+44>>2]+ +g[d+60>>2];g[e+664>>2]=k*+g[d+4>>2]+j*+g[d+8>>2]+i*+g[d+12>>2]+ +g[d+52>>2];g[e+668>>2]=h;g[e+672>>2]=f;g[e+676>>2]=0.0;g[e+732>>2]=1.0;return e|0}function _f(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+16|0;c[b+8>>2]=0;c[b+12>>2]=1065353216;c[b+16>>2]=1065353216;c[b+20>>2]=1065353216;g[b+24>>2]=0.0;g[b+44>>2]=.03999999910593033;c[b+52>>2]=0;c[b+56>>2]=1065353216;c[b+60>>2]=1065353216;c[b+64>>2]=1065353216;g[b+68>>2]=0.0;c[b+72>>2]=-1082130432;c[b+76>>2]=-1082130432;c[b+80>>2]=-1082130432;g[b+84>>2]=0.0;a[b+88>>0]=0;c[b>>2]=7348;a[b+108>>0]=1;c[b+104>>2]=0;c[b+96>>2]=0;c[b+100>>2]=0;c[b+4>>2]=4;if((e|0)<=0){c[b+96>>2]=e;fj(b);l=k;return}c[6485]=(c[6485]|0)+1;h=ic((e<<4|3)+16|0)|0;if(!h)j=0;else{c[(h+4+15&-16)+-4>>2]=h;j=h+4+15&-16}h=c[b+96>>2]|0;if((h|0)>0){i=0;do{m=j+(i<<4)|0;n=(c[b+104>>2]|0)+(i<<4)|0;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];i=i+1|0}while((i|0)!=(h|0))}h=c[b+104>>2]|0;if(h|0){if(a[b+108>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[h+-4>>2]|0)}c[b+104>>2]=0}a[b+108>>0]=1;c[b+104>>2]=j;c[b+100>>2]=e;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];if((e|0)==1)h=1;else{h=1;do{n=(c[b+104>>2]|0)+(h<<4)|0;c[n>>2]=c[k>>2];c[n+4>>2]=c[k+4>>2];c[n+8>>2]=c[k+8>>2];c[n+12>>2]=c[k+12>>2];h=h+1|0}while((h|0)!=(e|0));h=e}c[b+96>>2]=h;i=0;h=d;while(1){n=c[b+104>>2]|0;d=c[h+4>>2]|0;m=c[h+8>>2]|0;c[n+(i<<4)>>2]=c[h>>2];c[n+(i<<4)+4>>2]=d;c[n+(i<<4)+8>>2]=m;g[n+(i<<4)+12>>2]=0.0;i=i+1|0;if((i|0)==(e|0))break;else h=h+f|0}fj(b);l=k;return}function $f(b){b=b|0;var d=0,e=0.0,f=0,h=0,i=0.0,j=0.0,k=0;k=l;l=l+64|0;bj(12302);a:do if(!(a[b+274>>0]|0)){d=c[b+232>>2]|0;if((d|0)>0){h=0;while(1){f=c[(c[b+240>>2]|0)+(h<<2)>>2]|0;switch(c[f+216>>2]|0){case 2:case 5:break;default:if((c[f+480>>2]|0)!=0?(c[f+204>>2]&3|0)==0:0){if((a[b+300>>0]|0)!=0?(j=+g[b+268>>2],j!=0.0):0)e=+g[b+264>>2]-j;else e=+g[b+264>>2]*+g[f+244>>2];Kg(f+68|0,+g[f+132>>2],+g[f+136>>2],+g[f+140>>2],f+148|0,e,k);d=c[f+480>>2]|0;nb[c[(c[d>>2]|0)+12>>2]&127](d,k);d=c[b+232>>2]|0}}h=h+1|0;if((h|0)>=(d|0))break a}}}else{d=c[b+8>>2]|0;if((d|0)>0){h=0;do{f=c[(c[b+16>>2]|0)+(h<<2)>>2]|0;if((!((f|0)==0?1:(c[f+236>>2]&2|0)==0)?(c[f+480>>2]|0)!=0:0)?(c[f+204>>2]&3|0)==0:0){if((a[b+300>>0]|0)!=0?(i=+g[b+268>>2],i!=0.0):0)e=+g[b+264>>2]-i;else e=+g[b+264>>2]*+g[f+244>>2];Kg(f+68|0,+g[f+132>>2],+g[f+136>>2],+g[f+140>>2],f+148|0,e,k);d=c[f+480>>2]|0;nb[c[(c[d>>2]|0)+12>>2]&127](d,k);d=c[b+8>>2]|0}h=h+1|0}while((h|0)<(d|0))}}while(0);d=c[2380]|0;b=(c[d+16>>2]|0)+-1|0;c[d+16>>2]=b;if(b|0){l=k;return}do if(c[d+4>>2]|0){Za(k|0,0)|0;b=c[6484]|0;g[d+8>>2]=+(((c[k+4>>2]|0)-(c[b+4>>2]|0)+(((c[k>>2]|0)-(c[b>>2]|0)|0)*1e6|0)-(c[d+12>>2]|0)|0)>>>0)/1.0e3+ +g[d+8>>2];if(!(c[d+16>>2]|0)){d=c[2380]|0;break}else{l=k;return}}while(0);c[2380]=c[d+20>>2];l=k;return}function ag(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0;i=l;l=l+32|0;d=a[b+8>>0]|0?d:e;if(((c[(c[d+4>>2]|0)+4>>2]|0)+-21|0)>>>0>=9){l=i;return}e=c[(c[d+8>>2]|0)+192>>2]|0;y=+Db[c[(c[e>>2]|0)+48>>2]&15](e);c[b+64>>2]=f;g[b+68>>2]=y+.05999999865889549;c[b+56>>2]=h;h=c[b+16>>2]|0;Vb[c[(c[h>>2]|0)+28>>2]&127](h,i+16|0,i);y=+g[i>>2];x=+g[i+16>>2];w=+g[i+4>>2];v=+g[i+16+4>>2];u=+g[i+8>>2];t=+g[i+16+8>>2];h=c[d+12>>2]|0;B=+g[h>>2];o=+g[h+16>>2];C=+g[h+32>>2];z=+g[h+4>>2];m=+g[h+20>>2];A=+g[h+36>>2];q=+g[h+8>>2];j=+g[h+24>>2];r=+g[h+40>>2];D=-+g[h+48>>2];s=-+g[h+52>>2];k=-+g[h+56>>2];p=(y+x)*.5*B+(w+v)*.5*o+(u+t)*.5*C+(B*D+o*s+C*k);n=(y+x)*.5*z+(w+v)*.5*m+(u+t)*.5*A+(z*D+m*s+A*k);k=(y+x)*.5*q+(w+v)*.5*j+(u+t)*.5*r+(q*D+j*s+r*k);s=+g[b+68>>2];o=((y-x)*.5+s)*+F(+(B+o*0.0+C*0.0))+((w-v)*.5+s)*+F(+(B*0.0+o+C*0.0))+((u-t)*.5+s)*+F(+(C+(B*0.0+o*0.0)));m=((y-x)*.5+s)*+F(+(z+m*0.0+A*0.0))+((w-v)*.5+s)*+F(+(z*0.0+m+A*0.0))+((u-t)*.5+s)*+F(+(A+(z*0.0+m*0.0)));j=((y-x)*.5+s)*+F(+(q+j*0.0+r*0.0))+((w-v)*.5+s)*+F(+(q*0.0+j+r*0.0))+((u-t)*.5+s)*+F(+(r+(q*0.0+j*0.0)));g[b+24>>2]=p-o;g[b+28>>2]=n-m;g[b+32>>2]=k-j;g[b+36>>2]=0.0;g[b+40>>2]=p+o;g[b+44>>2]=n+m;g[b+48>>2]=k+j;g[b+52>>2]=0.0;Zb[c[(c[e>>2]|0)+64>>2]&127](e,b+12|0,b+24|0,b+40|0);l=i;return}function bg(b){b=b|0;var d=0;c[b>>2]=4884;d=c[b+176>>2]|0;if(d|0){if(a[b+180>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+176>>2]=0}a[b+180>>0]=1;c[b+176>>2]=0;c[b+168>>2]=0;c[b+172>>2]=0;d=c[b+156>>2]|0;if(d|0){if(a[b+160>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+156>>2]=0}a[b+160>>0]=1;c[b+156>>2]=0;c[b+148>>2]=0;c[b+152>>2]=0;d=c[b+136>>2]|0;if(d|0){if(a[b+140>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+136>>2]=0}a[b+140>>0]=1;c[b+136>>2]=0;c[b+128>>2]=0;c[b+132>>2]=0;d=c[b+116>>2]|0;if(d|0){if(a[b+120>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+116>>2]=0}a[b+120>>0]=1;c[b+116>>2]=0;c[b+108>>2]=0;c[b+112>>2]=0;d=c[b+96>>2]|0;if(d|0){if(a[b+100>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=0;c[b+88>>2]=0;c[b+92>>2]=0;d=c[b+76>>2]|0;if(d|0){if(a[b+80>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+76>>2]=0}a[b+80>>0]=1;c[b+76>>2]=0;c[b+68>>2]=0;c[b+72>>2]=0;d=c[b+56>>2]|0;if(d|0){if(a[b+60>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+56>>2]=0}a[b+60>>0]=1;c[b+56>>2]=0;c[b+48>>2]=0;c[b+52>>2]=0;d=c[b+36>>2]|0;if(d|0){if(a[b+40>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;d=c[b+16>>2]|0;if(!d){a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}if(a[b+20>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}function cg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0.0;x=l;l=l+48|0;t=+g[e>>2];u=+g[d>>2];v=+g[e+4>>2];w=+g[d+4>>2];s=+g[e+8>>2];h=+g[d+8>>2];i=+G(+((t-u)*.5*(t-u)*.5+(v-w)*.5*(v-w)*.5+(s-h)*.5*(s-h)*.5));j=+g[a+56>>2];d=+F(+j)>.7071067690849304;k=+g[a+52>>2];if(d){r=1.0/+G(+(j*j+k*k));y=+g[a+48>>2];f=y*-(j*r);m=y;n=0.0;o=-(j*r);p=k*r;q=(j*j+k*k)*r;r=-(y*k*r)}else{q=+g[a+48>>2];r=1.0/+G(+(q*q+k*k));f=(q*q+k*k)*r;m=q;n=-(k*r);o=q*r;p=0.0;q=-(j*q*r);r=j*-(k*r)}y=(t+u)*.5*m+(v+w)*.5*k+(s+h)*.5*j-+g[a+64>>2];m=(t+u)*.5-m*y;n=i*n;o=i*o;u=i*p;q=i*q;r=i*r;t=i*f;g[x>>2]=q+(n+m);g[x+4>>2]=r+(o+((v+w)*.5-k*y));g[x+8>>2]=t+(u+((s+h)*.5-j*y));g[x+12>>2]=0.0;g[x+16>>2]=n+m-q;g[x+20>>2]=o+((v+w)*.5-k*y)-r;g[x+24>>2]=u+((s+h)*.5-j*y)-t;g[x+28>>2]=0.0;g[x+32>>2]=m-n-q;g[x+36>>2]=(v+w)*.5-k*y-o-r;g[x+40>>2]=(s+h)*.5-j*y-u-t;g[x+44>>2]=0.0;Zb[c[(c[b>>2]|0)+8>>2]&127](b,x,0,0);g[x>>2]=m-n-q;g[x+4>>2]=(v+w)*.5-k*y-o-r;g[x+8>>2]=(s+h)*.5-j*y-u-t;g[x+12>>2]=0.0;g[x+16>>2]=q+(m-n);g[x+20>>2]=r+((v+w)*.5-k*y-o);g[x+24>>2]=t+((s+h)*.5-j*y-u);g[x+28>>2]=0.0;g[x+32>>2]=q+(n+m);g[x+36>>2]=r+(o+((v+w)*.5-k*y));g[x+40>>2]=t+(u+((s+h)*.5-j*y));g[x+44>>2]=0.0;Zb[c[(c[b>>2]|0)+8>>2]&127](b,x,0,1);l=x;return}function dg(a,b,e){a=a|0;b=b|0;e=e|0;bf(a,b,e)|0;c[b+256>>2]=c[a+264>>2];c[b+260>>2]=c[a+268>>2];c[b+264>>2]=c[a+272>>2];c[b+268>>2]=c[a+276>>2];c[b+272>>2]=c[a+280>>2];c[b+276>>2]=c[a+284>>2];c[b+280>>2]=c[a+288>>2];c[b+284>>2]=c[a+292>>2];c[b+288>>2]=c[a+296>>2];c[b+292>>2]=c[a+300>>2];c[b+296>>2]=c[a+304>>2];c[b+300>>2]=c[a+308>>2];c[b+304>>2]=c[a+312>>2];c[b+308>>2]=c[a+316>>2];c[b+312>>2]=c[a+320>>2];c[b+316>>2]=c[a+324>>2];c[b+320>>2]=c[a+328>>2];c[b+324>>2]=c[a+332>>2];c[b+328>>2]=c[a+336>>2];c[b+332>>2]=c[a+340>>2];c[b+448>>2]=c[a+344>>2];c[b+336>>2]=c[a+544>>2];c[b+340>>2]=c[a+548>>2];c[b+344>>2]=c[a+552>>2];c[b+348>>2]=c[a+556>>2];c[b+352>>2]=c[a+348>>2];c[b+356>>2]=c[a+352>>2];c[b+360>>2]=c[a+356>>2];c[b+364>>2]=c[a+360>>2];c[b+368>>2]=c[a+364>>2];c[b+372>>2]=c[a+368>>2];c[b+376>>2]=c[a+372>>2];c[b+380>>2]=c[a+376>>2];c[b+384>>2]=c[a+380>>2];c[b+388>>2]=c[a+384>>2];c[b+392>>2]=c[a+388>>2];c[b+396>>2]=c[a+392>>2];c[b+400>>2]=c[a+396>>2];c[b+404>>2]=c[a+400>>2];c[b+408>>2]=c[a+404>>2];c[b+412>>2]=c[a+408>>2];c[b+416>>2]=c[a+412>>2];c[b+420>>2]=c[a+416>>2];c[b+424>>2]=c[a+420>>2];c[b+428>>2]=c[a+424>>2];c[b+432>>2]=c[a+428>>2];c[b+436>>2]=c[a+432>>2];c[b+440>>2]=c[a+436>>2];c[b+444>>2]=c[a+440>>2];c[b+452>>2]=c[a+444>>2];c[b+456>>2]=c[a+448>>2];c[b+484>>2]=d[a+452>>0];c[b+460>>2]=c[a+456>>2];c[b+464>>2]=c[a+460>>2];c[b+468>>2]=c[a+464>>2];c[b+472>>2]=c[a+468>>2];c[b+476>>2]=c[a+472>>2];c[b+480>>2]=c[a+476>>2];return 11928}function eg(b,d,e,f,h){b=b|0;d=+d;e=e|0;f=f|0;h=h|0;var i=0;i=l;l=l+144|0;c[b+164>>2]=1065353216;c[b+168>>2]=1065353216;c[b+172>>2]=1065353216;g[b+176>>2]=0.0;c[b+180>>2]=0;g[b+184>>2]=999999984306749440.0;c[b+188>>2]=0;c[b+188+4>>2]=0;c[b+188+8>>2]=0;c[b+188+12>>2]=0;c[b+204>>2]=1;c[b+208>>2]=-1;c[b+212>>2]=-1;c[b+216>>2]=1;g[b+220>>2]=0.0;g[b+224>>2]=.5;g[b+228>>2]=0.0;g[b+232>>2]=0.0;c[b+236>>2]=1;c[b+240>>2]=0;g[b+244>>2]=1.0;c[b+248>>2]=0;c[b+248+4>>2]=0;c[b+248+8>>2]=0;c[b+248+12>>2]=0;c[b+4>>2]=1065353216;c[b+8>>2]=0;c[b+8+4>>2]=0;c[b+8+8>>2]=0;c[b+8+12>>2]=0;c[b+24>>2]=1065353216;c[b+28>>2]=0;c[b+28+4>>2]=0;c[b+28+8>>2]=0;c[b+28+12>>2]=0;c[b+44>>2]=1065353216;c[b+48>>2]=0;c[b+48+4>>2]=0;c[b+48+8>>2]=0;c[b+48+12>>2]=0;c[b+48+16>>2]=0;c[b>>2]=4236;a[b+500>>0]=1;c[b+496>>2]=0;c[b+488>>2]=0;c[b+492>>2]=0;g[i>>2]=d;c[i+4>>2]=e;c[i+72>>2]=f;c[i+76>>2]=c[h>>2];c[i+76+4>>2]=c[h+4>>2];c[i+76+8>>2]=c[h+8>>2];c[i+76+12>>2]=c[h+12>>2];g[i+92>>2]=0.0;g[i+96>>2]=0.0;g[i+100>>2]=.5;g[i+104>>2]=0.0;g[i+108>>2]=0.0;g[i+112>>2]=.800000011920929;g[i+116>>2]=1.0;a[i+120>>0]=0;g[i+124>>2]=.004999999888241291;g[i+128>>2]=.009999999776482582;g[i+132>>2]=.009999999776482582;g[i+136>>2]=.009999999776482582;c[i+8>>2]=1065353216;c[i+12>>2]=0;c[i+12+4>>2]=0;c[i+12+8>>2]=0;c[i+12+12>>2]=0;c[i+28>>2]=1065353216;c[i+32>>2]=0;c[i+32+4>>2]=0;c[i+32+8>>2]=0;c[i+32+12>>2]=0;c[i+48>>2]=1065353216;c[i+52>>2]=0;c[i+52+4>>2]=0;c[i+52+8>>2]=0;c[i+52+12>>2]=0;c[i+52+16>>2]=0;wd(b,i);l=i;return}function fg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;Jd(b,d);c[b>>2]=3196;c[6485]=(c[6485]|0)+1;e=ic(27)|0;i=e+4+15&-16;c[i+-4>>2]=e;a[i+4>>0]=0;c[(e+4+15&-16)>>2]=3228;c[b+92>>2]=i;c[6485]=(c[6485]|0)+1;i=ic(27)|0;e=i+4+15&-16;c[e+-4>>2]=i;a[e+4>>0]=0;c[(i+4+15&-16)>>2]=3248;c[b+96>>2]=e;c[6485]=(c[6485]|0)+1;e=ic(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[e>>2]=3248;c[b+100>>2]=e;a[e+4>>0]=1;c[6485]=(c[6485]|0)+1;i=ic(27)|0;e=i+4+15&-16;c[e+-4>>2]=i;a[e+4>>0]=0;c[(i+4+15&-16)>>2]=3268;c[b+104>>2]=e;c[6485]=(c[6485]|0)+1;e=ic(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[e>>2]=3288;c[b+108>>2]=e;a[e+4>>0]=1;if(!(a[b+20>>0]|0))return;e=c[b+16>>2]|0;if(!e)return;if((c[e>>2]|0)>=156)return;f=c[e+16>>2]|0;if(f){c[6486]=(c[6486]|0)+1;Uc(c[f+-4>>2]|0);e=c[b+16>>2]|0;if(!e)i=b+16|0;else{f=b+16|0;g=11}}else{f=b+16|0;g=11}if((g|0)==11){c[6486]=(c[6486]|0)+1;Uc(c[e+-4>>2]|0);i=f}c[6485]=(c[6485]|0)+1;e=ic(39)|0;if(!e)h=0;else{c[(e+4+15&-16)+-4>>2]=e;h=e+4+15&-16}e=c[d+12>>2]|0;c[h>>2]=156;f=h+4|0;c[f>>2]=e;c[6485]=(c[6485]|0)+1;e=ic((e*156|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[h+16>>2]=e;c[h+12>>2]=e;f=c[f>>2]|0;c[h+8>>2]=f;if(f+-1|0){b=c[h>>2]|0;g=f+-1|0;d=e;do{j=d;d=d+b|0;c[j>>2]=d;g=g+-1|0}while((g|0)!=0);e=e+(S(b,f+-1|0)|0)|0}c[e>>2]=0;c[i>>2]=h;return}function gg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=c[d>>2]|0;l=Kb[c[(c[l>>2]|0)+56>>2]&31](l,48)|0;c[l+4>>2]=c[d>>2];c[l>>2]=6320;a[l+28>>0]=1;c[l+24>>2]=0;c[l+16>>2]=0;c[l+20>>2]=0;c[l+32>>2]=c[d+4>>2];a[l+36>>0]=0;c[6485]=(c[6485]|0)+1;b=ic(87)|0;if(!b)k=0;else{c[(b+4+15&-16)+-4>>2]=b;k=b+4+15&-16}c[k>>2]=9416;h=k+20|0;a[h>>0]=1;i=k+16|0;c[i>>2]=0;d=k+8|0;c[d>>2]=0;j=k+12|0;c[j>>2]=0;a[k+24>>0]=0;a[k+44>>0]=1;c[k+40>>2]=0;c[k+32>>2]=0;c[k+36>>2]=0;a[k+64>>0]=1;c[k+60>>2]=0;c[k+52>>2]=0;c[k+56>>2]=0;c[6485]=(c[6485]|0)+1;b=ic(43)|0;if(!b)g=0;else{c[(b+4+15&-16)+-4>>2]=b;g=b+4+15&-16}b=c[d>>2]|0;if((b|0)>0){d=0;do{m=g+(d*12|0)|0;n=(c[i>>2]|0)+(d*12|0)|0;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];d=d+1|0}while((d|0)!=(b|0))}b=c[i>>2]|0;if(!b){a[h>>0]=1;c[i>>2]=g;c[j>>2]=2;Ff(k);n=l+8|0;c[n>>2]=k;n=e+4|0;n=c[n>>2]|0;n=n+68|0;n=c[n>>2]|0;m=l+40|0;c[m>>2]=n;m=f+4|0;m=c[m>>2]|0;m=m+68|0;m=c[m>>2]|0;n=l+44|0;c[n>>2]=m;return l|0}if(a[h>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[b+-4>>2]|0)}c[i>>2]=0;a[h>>0]=1;c[i>>2]=g;c[j>>2]=2;Ff(k);n=l+8|0;c[n>>2]=k;n=e+4|0;n=c[n>>2]|0;n=n+68|0;n=c[n>>2]|0;m=l+40|0;c[m>>2]=n;m=f+4|0;m=c[m>>2]|0;m=m+68|0;m=c[m>>2]|0;n=l+44|0;c[n>>2]=m;return l|0}function hg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0;h=ls()|0;c[h+4>>2]=5;c[h+8>>2]=-1;c[h+12>>2]=-1;g[h+16>>2]=3402823466385288598117041.0e14;a[h+20>>0]=1;a[h+21>>0]=0;c[h+24>>2]=-1;c[h+28>>2]=b;c[h+32>>2]=d;g[h+36>>2]=0.0;g[h+40>>2]=.30000001192092896;c[h+44>>2]=0;c[h>>2]=4776;c[h+300>>2]=c[e>>2];c[h+300+4>>2]=c[e+4>>2];c[h+300+8>>2]=c[e+8>>2];c[h+300+12>>2]=c[e+12>>2];c[h+316>>2]=c[e+16>>2];c[h+316+4>>2]=c[e+16+4>>2];c[h+316+8>>2]=c[e+16+8>>2];c[h+316+12>>2]=c[e+16+12>>2];c[h+332>>2]=c[e+32>>2];c[h+332+4>>2]=c[e+32+4>>2];c[h+332+8>>2]=c[e+32+8>>2];c[h+332+12>>2]=c[e+32+12>>2];c[h+348>>2]=c[e+48>>2];c[h+348+4>>2]=c[e+48+4>>2];c[h+348+8>>2]=c[e+48+8>>2];c[h+348+12>>2]=c[e+48+12>>2];c[h+364>>2]=c[f>>2];c[h+364+4>>2]=c[f+4>>2];c[h+364+8>>2]=c[f+8>>2];c[h+364+12>>2]=c[f+12>>2];c[h+380>>2]=c[f+16>>2];c[h+380+4>>2]=c[f+16+4>>2];c[h+380+8>>2]=c[f+16+8>>2];c[h+380+12>>2]=c[f+16+12>>2];c[h+396>>2]=c[f+32>>2];c[h+396+4>>2]=c[f+32+4>>2];c[h+396+8>>2]=c[f+32+8>>2];c[h+396+12>>2]=c[f+32+12>>2];c[h+412>>2]=c[f+48>>2];c[h+412+4>>2]=c[f+48+4>>2];c[h+412+8>>2]=c[f+48+8>>2];c[h+412+12>>2]=c[f+48+12>>2];a[h+552>>0]=0;a[h+524>>0]=0;a[h+524+1>>0]=0;a[h+524+2>>0]=0;a[h+524+3>>0]=0;g[h+572>>2]=-1.0;g[h+444>>2]=999999984306749440.0;g[h+448>>2]=999999984306749440.0;g[h+452>>2]=999999984306749440.0;g[h+428>>2]=1.0;g[h+432>>2]=.30000001192092896;g[h+436>>2]=1.0;g[h+440>>2]=.009999999776482582;g[h+456>>2]=.05000000074505806;c[h+592>>2]=0;g[h+596>>2]=0.0;g[h+600>>2]=.699999988079071;g[h+604>>2]=0.0;return h|0}function ig(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;lb[c[(c[b>>2]|0)+32>>2]&511](b);d=zb[c[(c[b>>2]|0)+16>>2]&63](b,104,1)|0;e=c[d+8>>2]|0;f=e;g=f+104|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[e+88>>2]=c[a+248>>2];c[e+92>>2]=c[a+252>>2];c[e+96>>2]=c[a+256>>2];c[e+100>>2]=c[a+260>>2];c[e>>2]=c[a+92>>2];c[e+4>>2]=c[a+96>>2];c[e+8>>2]=c[a+100>>2];c[e+12>>2]=c[a+104>>2];c[e+16>>2]=c[a+108>>2];c[e+20>>2]=c[a+116>>2];c[e+24>>2]=c[a+120>>2];c[e+28>>2]=c[a+124>>2];c[e+32>>2]=c[a+128>>2];c[e+36>>2]=c[a+132>>2];c[e+40>>2]=c[a+140>>2];c[e+44>>2]=c[a+144>>2];c[e+48>>2]=c[a+148>>2];c[e+52>>2]=c[a+152>>2];c[e+56>>2]=c[a+168>>2];c[e+60>>2]=c[a+172>>2];c[e+64>>2]=c[a+112>>2];c[e+68>>2]=c[a+156>>2];c[e+72>>2]=c[a+160>>2];c[e+76>>2]=c[a+164>>2];c[e+80>>2]=c[a+136>>2];jb[c[(c[b>>2]|0)+20>>2]&31](b,d,12341,1145853764,e);d=c[a+8>>2]|0;if((d|0)<=0){Qi(a,b);dd(a,b);a=c[b>>2]|0;a=a+36|0;a=c[a>>2]|0;lb[a&511](b);return}f=0;do{e=c[(c[a+16>>2]|0)+(f<<2)>>2]|0;if(c[e+236>>2]&8){g=pb[c[(c[e>>2]|0)+16>>2]&127](e)|0;g=zb[c[(c[b>>2]|0)+16>>2]&63](b,g,1)|0;d=zb[c[(c[e>>2]|0)+20>>2]&63](e,c[g+8>>2]|0,b)|0;jb[c[(c[b>>2]|0)+20>>2]&31](b,g,d,1497645651,e);d=c[a+8>>2]|0}f=f+1|0}while((f|0)<(d|0));Qi(a,b);dd(a,b);a=c[b>>2]|0;a=a+36|0;a=c[a>>2]|0;lb[a&511](b);return}function jg(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;if(!(a[d+164>>0]|0)){f=c[d+148>>2]|0;if((f|0)==(c[d+152>>2]|0)?(k=f|0?f<<1:1,(f|0)<(k|0)):0){if(!k)i=0;else{c[6485]=(c[6485]|0)+1;f=ic((k<<1)+19|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}i=f;f=c[d+148>>2]|0}h=c[d+156>>2]|0;if((f|0)<=0)if(!h)f=d+160|0;else g=27;else{g=0;do{b[i+(g<<1)>>1]=b[h+(g<<1)>>1]|0;g=g+1|0}while((g|0)!=(f|0));g=27}if((g|0)==27){if(a[d+160>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[h+-4>>2]|0)}c[d+156>>2]=0;f=d+160|0}a[f>>0]=1;c[d+156>>2]=i;c[d+152>>2]=k;f=c[d+148>>2]|0}k=c[d+156>>2]|0;b[k+(f<<1)>>1]=e;c[d+148>>2]=f+1;e=k;d=d+32|0;d=c[d>>2]|0;d=d+4|0;c[d>>2]=e;return}else{f=c[d+128>>2]|0;if((f|0)==(c[d+132>>2]|0)?(j=f|0?f<<1:1,(f|0)<(j|0)):0){if(!j)i=0;else{c[6485]=(c[6485]|0)+1;f=ic((j<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}i=f;f=c[d+128>>2]|0}h=c[d+136>>2]|0;if((f|0)<=0)if(!h)f=d+140|0;else g=12;else{g=0;do{c[i+(g<<2)>>2]=c[h+(g<<2)>>2];g=g+1|0}while((g|0)!=(f|0));g=12}if((g|0)==12){if(a[d+140>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[h+-4>>2]|0)}c[d+136>>2]=0;f=d+140|0}a[f>>0]=1;c[d+136>>2]=i;c[d+132>>2]=j;f=c[d+128>>2]|0}k=c[d+136>>2]|0;c[k+(f<<2)>>2]=e;c[d+128>>2]=(c[d+128>>2]|0)+1;e=k;d=d+32|0;d=c[d>>2]|0;d=d+4|0;c[d>>2]=e;return}}function kg(a,b){a=a|0;b=+b;var d=0,e=0,f=0,h=0,i=0.0,j=0.0,k=0.0;h=l;l=l+32|0;d=c[a+8>>2]|0;if((d|0)<=0){l=h;return}f=0;do{e=c[(c[a+16>>2]|0)+(f<<2)>>2]|0;if((!((e|0)==0?1:(c[e+236>>2]&2|0)==0)?(c[e+216>>2]|0)!=2:0)?!(b==0.0?1:(c[e+204>>2]&2|0)==0):0){d=c[e+480>>2]|0;if(!d)d=e+4|0;else{nb[c[(c[d>>2]|0)+8>>2]&127](d,e+4|0);d=e+4|0}j=(+g[e+56>>2]-+g[e+120>>2])*(1.0/b);k=1.0/b*(+g[e+60>>2]-+g[e+124>>2]);g[e+312>>2]=(+g[e+52>>2]-+g[e+116>>2])*(1.0/b);g[e+316>>2]=j;g[e+320>>2]=k;g[e+324>>2]=0.0;vf(e+68|0,d,h+8|0,h);k=+g[h>>2];j=1.0/b*k*+g[h+8+4>>2];i=1.0/b*k*+g[h+8+8>>2];g[e+328>>2]=1.0/b*+g[h+8>>2]*k;g[e+332>>2]=j;g[e+336>>2]=i;g[e+340>>2]=0.0;c[e+132>>2]=c[e+312>>2];c[e+132+4>>2]=c[e+312+4>>2];c[e+132+8>>2]=c[e+312+8>>2];c[e+132+12>>2]=c[e+312+12>>2];c[e+148>>2]=c[e+328>>2];c[e+148+4>>2]=c[e+328+4>>2];c[e+148+8>>2]=c[e+328+8>>2];c[e+148+12>>2]=c[e+328+12>>2];c[e+68>>2]=c[d>>2];c[e+68+4>>2]=c[d+4>>2];c[e+68+8>>2]=c[d+8>>2];c[e+68+12>>2]=c[d+12>>2];c[e+84>>2]=c[e+20>>2];c[e+84+4>>2]=c[e+20+4>>2];c[e+84+8>>2]=c[e+20+8>>2];c[e+84+12>>2]=c[e+20+12>>2];c[e+100>>2]=c[e+36>>2];c[e+100+4>>2]=c[e+36+4>>2];c[e+100+8>>2]=c[e+36+8>>2];c[e+100+12>>2]=c[e+36+12>>2];c[e+116>>2]=c[e+52>>2];c[e+116+4>>2]=c[e+52+4>>2];c[e+116+8>>2]=c[e+52+8>>2];c[e+116+12>>2]=c[e+52+12>>2];d=c[a+8>>2]|0}f=f+1|0}while((f|0)<(d|0));l=h;return}function lg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[6471]=(c[6471]|0)+1;g=((d<<16|b)+~((d<<16|b)<<15)>>10^(d<<16|b)+~((d<<16|b)<<15))*9|0;l=c[a+40>>2]|0;g=l+(((c[a+12>>2]|0)+-1&((g>>6^g)+~((g>>6^g)<<11)>>16^(g>>6^g)+~((g>>6^g)<<11)))<<2)|0;f=c[g>>2]|0;if((f|0)==-1){n=0;return n|0}m=c[a+16>>2]|0;e=f;while(1){k=m+(e*12|0)|0;if((c[k>>2]|0)==(b|0)?(c[m+(e*12|0)+4>>2]|0)==(d|0):0)break;e=c[(c[a+60>>2]|0)+(e<<2)>>2]|0;if((e|0)==-1){e=0;n=21;break}}if((n|0)==21)return e|0;if(!k){n=0;return n|0}j=c[m+(e*12|0)+8>>2]|0;i=(e*12|0)/12|0;h=c[a+60>>2]|0;if((f|0)!=(i|0)){d=f;while(1){b=h+(d<<2)|0;e=c[b>>2]|0;if((e|0)==(i|0))break;else d=e}e=c[h+(i<<2)>>2]|0;if((d|0)==-1)n=11;else c[b>>2]=e}else{e=c[h+(f<<2)>>2]|0;n=11}if((n|0)==11)c[g>>2]=e;f=(c[a+8>>2]|0)+-1|0;if((f|0)==(i|0)){c[a+8>>2]=i;n=j;return n|0}g=c[m+(f*12|0)+4>>2]<<16|c[m+(f*12|0)>>2];g=(g+~(g<<15)>>10^g+~(g<<15))*9|0;g=((g>>6^g)+~((g>>6^g)<<11)>>16^(g>>6^g)+~((g>>6^g)<<11))&(c[a+12>>2]|0)+-1;e=c[l+(g<<2)>>2]|0;if((e|0)!=(f|0)){d=e;while(1){b=h+(d<<2)|0;e=c[b>>2]|0;if((e|0)==(f|0))break;else d=e}e=c[h+(f<<2)>>2]|0;if((d|0)==-1)n=19;else c[b>>2]=e}else{e=c[h+(f<<2)>>2]|0;n=19}if((n|0)==19)c[l+(g<<2)>>2]=e;c[k>>2]=c[m+(f*12|0)>>2];c[k+4>>2]=c[m+(f*12|0)+4>>2];c[k+8>>2]=c[m+(f*12|0)+8>>2];n=(c[a+40>>2]|0)+(g<<2)|0;c[(c[a+60>>2]|0)+(i<<2)>>2]=c[n>>2];c[n>>2]=i;c[a+8>>2]=(c[a+8>>2]|0)+-1;n=j;return n|0}function mg(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0,h=0,i=0,j=0,k=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0.0,v=0.0,w=0,x=0.0,y=0.0,z=0.0,A=0.0;h=l;l=l+16|0;d=+g[a+336>>2]*b;b=+g[a+452>>2];e=c[a+792>>2]|0;if((e|0)<=0){l=h;return}f=0;do{t=c[a+800>>2]|0;j=t+(f*96|0)+20|0;w=c[j>>2]|0;o=c[t+(f*96|0)>>2]|0;z=+g[t+(f*96|0)+4>>2];y=+g[t+(f*96|0)+8>>2];x=+g[t+(f*96|0)+12>>2];i=t+(f*96|0)+76|0;v=+g[w+332>>2];q=+g[t+(f*96|0)+84>>2];A=+g[w+336>>2];m=+g[t+(f*96|0)+80>>2];k=+g[i>>2];n=+g[w+328>>2];s=+g[o+8>>2];r=+g[o+12>>2];p=+g[o+16>>2];u=d*(z*+g[w+4>>2]+y*+g[w+8>>2]+x*+g[w+12>>2]+ +g[w+52>>2]-s)+(b*(v*q-A*m+ +g[w+312>>2])-(s-+g[o+24>>2]));q=d*(z*+g[w+20>>2]+y*+g[w+24>>2]+x*+g[w+28>>2]+ +g[w+56>>2]-r)+(b*(+g[w+316>>2]+(A*k-q*n))-(r-+g[o+28>>2]));k=d*(z*+g[w+36>>2]+y*+g[w+40>>2]+x*+g[w+44>>2]+ +g[w+60>>2]-p)+(b*(m*n-v*k+ +g[w+320>>2])-(p-+g[o+32>>2]));v=+g[t+(f*96|0)+24>>2];n=(u*+g[t+(f*96|0)+28>>2]+q*+g[t+(f*96|0)+32>>2]+ +g[t+(f*96|0)+36>>2]*k)*v;m=(u*+g[t+(f*96|0)+44>>2]+q*+g[t+(f*96|0)+48>>2]+k*+g[t+(f*96|0)+52>>2])*v;k=v*(u*+g[t+(f*96|0)+60>>2]+q*+g[t+(f*96|0)+64>>2]+k*+g[t+(f*96|0)+68>>2]);q=+g[t+(f*96|0)+92>>2];g[o+8>>2]=s+n*q;g[o+12>>2]=q*m+r;g[o+16>>2]=q*k+p;j=c[j>>2]|0;g[h>>2]=-n;g[h+4>>2]=-m;g[h+8>>2]=-k;g[h+12>>2]=0.0;Zk(j,h,i);f=f+1|0}while((f|0)!=(e|0));l=h;return}function ng(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0.0,j=0.0,k=0.0,m=0,n=0.0;m=l;l=l+672|0;c[m+568+8>>2]=0;c[m+568+12>>2]=1065353216;c[m+568+16>>2]=1065353216;c[m+568+20>>2]=1065353216;g[m+568+24>>2]=0.0;c[m+568+52>>2]=0;c[m+568>>2]=3844;c[m+568+4>>2]=1;c[m+568+56>>2]=c[d>>2];c[m+568+56+4>>2]=c[d+4>>2];c[m+568+56+8>>2]=c[d+8>>2];c[m+568+56+12>>2]=c[d+12>>2];c[m+568+72>>2]=c[d+16>>2];c[m+568+72+4>>2]=c[d+16+4>>2];c[m+568+72+8>>2]=c[d+16+8>>2];c[m+568+72+12>>2]=c[d+16+12>>2];c[m+568+88>>2]=c[d+32>>2];c[m+568+88+4>>2]=c[d+32+4>>2];c[m+568+88+8>>2]=c[d+32+8>>2];c[m+568+88+12>>2]=c[d+32+12>>2];c[m+568+44>>2]=c[b+204>>2];g[m+208+308>>2]=9.999999747378752e-05;a[m+208+332>>0]=0;c[m+24>>2]=9212;d=c[b+4>>2]|0;c[m>>2]=9280;c[m+4>>2]=m+208;c[m+8>>2]=m+24;c[m+12>>2]=d;c[m+16>>2]=m+568;c[m+20>>2]=0;c[m+32>>2]=3816;c[m+32+168>>2]=0;g[m+32+164>>2]=1.0;c[m+32+172>>2]=c[b+208>>2];if((Hd(m,b+8|0,b+72|0,b+136|0,b+136|0,m+32|0)|0?(h=+g[m+32+132>>2],i=+g[m+32+136>>2],j=+g[m+32+140>>2],h*h+i*i+j*j>9.999999747378752e-05):0)?(k=+g[m+32+164>>2],k<+g[b+200>>2]):0){n=1.0/+G(+(h*h+i*i+j*j));g[m+32+132>>2]=h*n;g[m+32+136>>2]=i*n;g[m+32+140>>2]=j*n;+Fb[c[(c[b>>2]|0)+12>>2]&3](b,m+32+132|0,m+32+148|0,k,e,f)}c[m+568>>2]=7216;e=c[m+568+52>>2]|0;if(!e){l=m;return}lb[c[c[e>>2]>>2]&511](e);e=c[m+568+52>>2]|0;if(!e){l=m;return}c[6486]=(c[6486]|0)+1;Uc(c[e+-4>>2]|0);l=m;return}function og(a){a=a|0;var b=0,d=0,e=0.0,f=0.0,h=0.0,i=0,j=0.0,k=0,l=0,m=0.0,n=0.0,o=0,p=0.0;b=c[a+712>>2]|0;if((b|0)>0){d=0;do{l=(c[a+720>>2]|0)+(d*104|0)+72|0;d=d+1|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0}while((d|0)!=(b|0))}b=c[a+752>>2]|0;if((b|0)>0){d=0;do{o=c[a+760>>2]|0;k=c[o+(d*44|0)+12>>2]|0;i=c[o+(d*44|0)+8>>2]|0;j=+g[i+8>>2];e=+g[k+8>>2]-j;f=+g[i+12>>2];h=+g[k+12>>2]-f;m=+g[i+16>>2];n=+g[k+16>>2]-m;l=c[o+(d*44|0)+16>>2]|0;j=+g[l+8>>2]-j;f=+g[l+12>>2]-f;m=+g[l+16>>2]-m;p=1.0/+G(+((e*f-h*j)*(e*f-h*j)+((h*m-n*f)*(h*m-n*f)+(n*j-e*m)*(n*j-e*m))));g[o+(d*44|0)+20>>2]=p*(h*m-n*f);g[o+(d*44|0)+24>>2]=p*(n*j-e*m);g[o+(d*44|0)+28>>2]=(e*f-h*j)*p;c[o+(d*44|0)+32>>2]=0;g[i+72>>2]=h*m-n*f+ +g[i+72>>2];g[i+76>>2]=n*j-e*m+ +g[i+76>>2];g[i+80>>2]=e*f-h*j+ +g[i+80>>2];g[k+72>>2]=h*m-n*f+ +g[k+72>>2];g[k+76>>2]=n*j-e*m+ +g[k+76>>2];g[k+80>>2]=e*f-h*j+ +g[k+80>>2];g[l+72>>2]=h*m-n*f+ +g[l+72>>2];g[l+76>>2]=n*j-e*m+ +g[l+76>>2];g[l+80>>2]=e*f-h*j+ +g[l+80>>2];d=d+1|0}while((d|0)!=(b|0))}l=c[a+712>>2]|0;if((l|0)<=0)return;a=c[a+720>>2]|0;k=0;do{i=a+(k*104|0)+72|0;j=+g[i>>2];b=a+(k*104|0)+76|0;e=+g[b>>2];d=a+(k*104|0)+80|0;f=+g[d>>2];h=+G(+(j*j+e*e+f*f));if(h>1.1920928955078125e-07){g[i>>2]=j*(1.0/h);g[b>>2]=1.0/h*e;g[d>>2]=1.0/h*f}k=k+1|0}while((k|0)!=(l|0));return}function pg(b,d,e,f){b=b|0;d=+d;e=e|0;f=+f;var h=0,i=0.0,j=0,k=0;k=l;l=l+16|0;Za(c[6484]|0,0)|0;cr(25896);c[6475]=(c[6475]|0)+1;j=c[6478]|0;c[6478]=j+1;if(!j){Za(k|0,0)|0;j=c[6484]|0;c[6477]=(c[k+4>>2]|0)-(c[j+4>>2]|0)+(((c[k>>2]|0)-(c[j>>2]|0)|0)*1e6|0)}c[6483]=0;Za(k|0,0)|0;bj(12326);if(e){g[b+268>>2]=f;i=+g[b+264>>2]+d;g[b+264>>2]=i;if(!(i>=f)){d=f;j=0}else{g[b+264>>2]=i-+(~~(i/f)|0)*f;d=f;j=~~(i/f)}}else{g[b+264>>2]=a[b+300>>0]|0?0.0:d;g[b+268>>2]=0.0;j=!(+F(+d)<1.1920928955078125e-07)&1;e=j}if(pb[c[(c[b>>2]|0)+20>>2]&127](b)|0){h=pb[c[(c[b>>2]|0)+20>>2]&127](b)|0;a[26524]=(pb[c[(c[h>>2]|0)+48>>2]&127](h)|0)>>>4&1}if(j){e=(j|0)>(e|0)?e:j;kb[c[(c[b>>2]|0)+164>>2]&31](b,d*+(e|0));lb[c[(c[b>>2]|0)+168>>2]&511](b);if((e|0)>0){h=0;do{kb[c[(c[b>>2]|0)+160>>2]&31](b,d);lb[c[(c[b>>2]|0)+80>>2]&511](b);h=h+1|0}while((h|0)<(e|0));e=b}else e=b}else{lb[c[(c[b>>2]|0)+80>>2]&511](b);e=b}lb[c[(c[e>>2]|0)+120>>2]&511](b);c[6483]=(c[6483]|0)+1;e=c[2380]|0;b=(c[e+16>>2]|0)+-1|0;c[e+16>>2]=b;if(b|0){l=k;return j|0}do if(c[e+4>>2]|0){Za(k|0,0)|0;b=c[6484]|0;g[e+8>>2]=+(((c[k+4>>2]|0)-(c[b+4>>2]|0)+(((c[k>>2]|0)-(c[b>>2]|0)|0)*1e6|0)-(c[e+12>>2]|0)|0)>>>0)/1.0e3+ +g[e+8>>2];if(!(c[e+16>>2]|0)){e=c[2380]|0;break}else{l=k;return j|0}}while(0);c[2380]=c[e+20>>2];l=k;return j|0}function qg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;h=+g[d+100>>2];l=+g[d+16>>2];j=+g[d+20>>2];k=+g[d+24>>2];e=+g[d+108>>2];e=+g[d+112>>2]-h*+g[d+116>>2]-(l*+g[a+64>>2]+j*+g[a+68>>2]+k*+g[a+72>>2]+(+g[d>>2]*+g[a+80>>2]+ +g[d+4>>2]*+g[a+84>>2]+ +g[d+8>>2]*+g[a+88>>2]))*e-e*(+g[d+48>>2]*+g[b+64>>2]+ +g[d+52>>2]*+g[b+68>>2]+ +g[d+56>>2]*+g[b+72>>2]+(+g[d+32>>2]*+g[b+80>>2]+ +g[d+36>>2]*+g[b+84>>2]+ +g[d+40>>2]*+g[b+88>>2]));f=+g[d+120>>2];if(!(h+e<f)){f=+g[d+124>>2];if(h+e>f){i=f;e=f-h}else i=h+e}else{i=f;e=f-h}g[d+100>>2]=i;if(c[a+240>>2]|0){j=e*j*+g[a+132>>2]*+g[a+116>>2];k=e*k*+g[a+136>>2]*+g[a+120>>2];g[a+64>>2]=+g[a+112>>2]*e*l*+g[a+128>>2]+ +g[a+64>>2];g[a+68>>2]=j+ +g[a+68>>2];g[a+72>>2]=k+ +g[a+72>>2];k=e*+g[a+100>>2]*+g[d+68>>2];l=e*+g[a+104>>2]*+g[d+72>>2];g[a+80>>2]=e*+g[a+96>>2]*+g[d+64>>2]+ +g[a+80>>2];g[a+84>>2]=k+ +g[a+84>>2];g[a+88>>2]=l+ +g[a+88>>2]}if(!(c[b+240>>2]|0))return;l=e*+g[d+52>>2]*+g[b+132>>2]*+g[b+116>>2];k=e*+g[d+56>>2]*+g[b+136>>2]*+g[b+120>>2];g[b+64>>2]=+g[b+112>>2]*e*+g[d+48>>2]*+g[b+128>>2]+ +g[b+64>>2];g[b+68>>2]=l+ +g[b+68>>2];g[b+72>>2]=k+ +g[b+72>>2];k=e*+g[b+100>>2]*+g[d+84>>2];l=e*+g[b+104>>2]*+g[d+88>>2];g[b+80>>2]=e*+g[b+96>>2]*+g[d+80>>2]+ +g[b+80>>2];g[b+84>>2]=k+ +g[b+84>>2];g[b+88>>2]=l+ +g[b+88>>2];return}function rg(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0;t=l;l=l+32|0;s=c[a+12>>2]|0;if(!s){l=t;return}c[f+4>>2]=s;a=c[b+4>>2]|0;e=c[d+4>>2]|0;b=c[b+12>>2]|0;d=c[d+12>>2]|0;m=+g[d+48>>2];h=+g[b+48>>2]-m;n=+g[d+52>>2];i=+g[b+52>>2]-n;o=+g[d+56>>2];k=+g[b+56>>2]-o;p=+G(+(h*h+i*i+k*k));q=+g[e+28>>2]*+g[e+12>>2];r=+g[a+28>>2]*+g[a+12>>2]+q;if(p>r){if(!(c[s+748>>2]|0)){l=t;return}a=c[s+740>>2]|0;b=c[(c[f+8>>2]|0)+8>>2]|0;e=c[(c[f+12>>2]|0)+8>>2]|0;if((a|0)==(b|0)){Pe(s,a+4|0,e+4|0);l=t;return}else{Pe(s,e+4|0,b+4|0);l=t;return}}c[t+16>>2]=1065353216;c[t+16+4>>2]=0;c[t+16+8>>2]=0;g[t+16+12>>2]=0.0;if(p>1.1920928955078125e-07){g[t+16>>2]=h*(1.0/p);g[t+16+4>>2]=i*(1.0/p);g[t+16+8>>2]=k*(1.0/p);g[t+16+12>>2]=0.0;j=h*(1.0/p);i=i*(1.0/p);h=k*(1.0/p)}else{j=1.0;i=0.0;h=0.0}g[t>>2]=q*j+m;g[t+4>>2]=q*i+n;g[t+8>>2]=q*h+o;g[t+12>>2]=0.0;Ub[c[(c[f>>2]|0)+16>>2]&15](f,t+16|0,t,p-r);a=c[f+4>>2]|0;if(!(c[a+748>>2]|0)){l=t;return}b=c[a+740>>2]|0;d=c[(c[f+8>>2]|0)+8>>2]|0;e=c[(c[f+12>>2]|0)+8>>2]|0;if((b|0)==(d|0)){Pe(a,b+4|0,e+4|0);l=t;return}else{Pe(a,e+4|0,d+4|0);l=t;return}}function sg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;e=+g[d+128>>2];if(!(e!=0.0))return;c[6021]=(c[6021]|0)+1;k=+g[d+96>>2];f=+g[d+16>>2];h=+g[d+20>>2];i=+g[d+24>>2];j=+g[d+108>>2];j=e-k*+g[d+116>>2]-(f*+g[a+144>>2]+h*+g[a+148>>2]+i*+g[a+152>>2]+(+g[d>>2]*+g[a+160>>2]+ +g[d+4>>2]*+g[a+164>>2]+ +g[d+8>>2]*+g[a+168>>2]))*j-j*(+g[d+48>>2]*+g[b+144>>2]+ +g[d+52>>2]*+g[b+148>>2]+ +g[d+56>>2]*+g[b+152>>2]+(+g[d+32>>2]*+g[b+160>>2]+ +g[d+36>>2]*+g[b+164>>2]+ +g[d+40>>2]*+g[b+168>>2]));l=+g[d+120>>2];e=k+j<l?l-k:j;g[d+96>>2]=k+j<l?l:k+j;if(c[a+240>>2]|0){l=e*h*+g[a+132>>2]*+g[a+116>>2];k=e*i*+g[a+136>>2]*+g[a+120>>2];g[a+144>>2]=+g[a+112>>2]*e*f*+g[a+128>>2]+ +g[a+144>>2];g[a+148>>2]=l+ +g[a+148>>2];g[a+152>>2]=k+ +g[a+152>>2];k=e*+g[a+100>>2]*+g[d+68>>2];l=e*+g[a+104>>2]*+g[d+72>>2];g[a+160>>2]=e*+g[a+96>>2]*+g[d+64>>2]+ +g[a+160>>2];g[a+164>>2]=k+ +g[a+164>>2];g[a+168>>2]=l+ +g[a+168>>2]}if(!(c[b+240>>2]|0))return;l=e*+g[d+52>>2]*+g[b+132>>2]*+g[b+116>>2];k=e*+g[d+56>>2]*+g[b+136>>2]*+g[b+120>>2];g[b+144>>2]=+g[b+112>>2]*e*+g[d+48>>2]*+g[b+128>>2]+ +g[b+144>>2];g[b+148>>2]=l+ +g[b+148>>2];g[b+152>>2]=k+ +g[b+152>>2];k=e*+g[b+100>>2]*+g[d+84>>2];l=e*+g[b+104>>2]*+g[d+88>>2];g[b+160>>2]=e*+g[b+96>>2]*+g[d+80>>2]+ +g[b+160>>2];g[b+164>>2]=k+ +g[b+164>>2];g[b+168>>2]=l+ +g[b+168>>2];return}function tg(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0;i=ts()|0;c[i+4>>2]=4;c[i+8>>2]=-1;c[i+12>>2]=-1;g[i+16>>2]=3402823466385288598117041.0e14;a[i+20>>0]=1;a[i+21>>0]=0;c[i+24>>2]=-1;c[i+28>>2]=b;c[i+32>>2]=d;g[i+36>>2]=0.0;g[i+40>>2]=.30000001192092896;c[i+44>>2]=0;c[i>>2]=4832;c[i+552>>2]=c[e>>2];c[i+552+4>>2]=c[e+4>>2];c[i+552+8>>2]=c[e+8>>2];c[i+552+12>>2]=c[e+12>>2];c[i+568>>2]=c[e+16>>2];c[i+568+4>>2]=c[e+16+4>>2];c[i+568+8>>2]=c[e+16+8>>2];c[i+568+12>>2]=c[e+16+12>>2];c[i+584>>2]=c[e+32>>2];c[i+584+4>>2]=c[e+32+4>>2];c[i+584+8>>2]=c[e+32+8>>2];c[i+584+12>>2]=c[e+32+12>>2];c[i+600>>2]=c[e+48>>2];c[i+600+4>>2]=c[e+48+4>>2];c[i+600+8>>2]=c[e+48+8>>2];c[i+600+12>>2]=c[e+48+12>>2];c[i+616>>2]=c[f>>2];c[i+616+4>>2]=c[f+4>>2];c[i+616+8>>2]=c[f+8>>2];c[i+616+12>>2]=c[f+12>>2];c[i+632>>2]=c[f+16>>2];c[i+632+4>>2]=c[f+16+4>>2];c[i+632+8>>2]=c[f+16+8>>2];c[i+632+12>>2]=c[f+16+12>>2];c[i+648>>2]=c[f+32>>2];c[i+648+4>>2]=c[f+32+4>>2];c[i+648+8>>2]=c[f+32+8>>2];c[i+648+12>>2]=c[f+32+12>>2];c[i+664>>2]=c[f+48>>2];c[i+664+4>>2]=c[f+48+4>>2];c[i+664+8>>2]=c[f+48+8>>2];c[i+664+12>>2]=c[f+48+12>>2];g[i+688>>2]=0.0;g[i+692>>2]=-1.0;g[i+696>>2]=.8999999761581421;g[i+700>>2]=.30000001192092896;g[i+704>>2]=1.0;g[i+708>>2]=0.0;g[i+712>>2]=0.0;a[i+716>>0]=0;a[i+736>>0]=0;a[i+737>>0]=0;a[i+738>>0]=0;a[i+739>>0]=1;a[i+740>>0]=h&1;c[i+748>>2]=0;g[i+732>>2]=h?-1.0:1.0;return i|0}function ug(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=Kb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;g=Kb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=g;if(g|0)nb[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];g=c[a+48>>2]|0;zb[c[(c[g>>2]|0)+56>>2]&63](g,b+12|0,d)|0;c[b+52>>2]=c[a+12>>2];do if((c[a+52>>2]|0)!=0?((pb[c[(c[d>>2]|0)+52>>2]&127](d)|0)&1|0)==0:0){e=Kb[c[(c[d>>2]|0)+24>>2]&31](d,c[a+52>>2]|0)|0;if(!e){c[b+40>>2]=Kb[c[(c[d>>2]|0)+28>>2]&31](d,c[a+52>>2]|0)|0;c[b+44>>2]=0;e=c[a+52>>2]|0;e=pb[c[(c[e>>2]|0)+12>>2]&127](e)|0;e=zb[c[(c[d>>2]|0)+16>>2]&63](d,e,1)|0;g=c[a+52>>2]|0;g=zb[c[(c[g>>2]|0)+16>>2]&63](g,c[e+8>>2]|0,d)|0;jb[c[(c[d>>2]|0)+20>>2]&31](d,e,g,1213612625,c[a+52>>2]|0);break}else{c[b+40>>2]=e;c[b+44>>2]=0;break}}else f=8;while(0);if((f|0)==8){c[b+40>>2]=0;c[b+44>>2]=0}if(c[a+56>>2]|0?((pb[c[(c[d>>2]|0)+52>>2]&127](d)|0)&2|0)==0:0){e=Kb[c[(c[d>>2]|0)+24>>2]&31](d,c[a+56>>2]|0)|0;if(!e){c[b+48>>2]=Kb[c[(c[d>>2]|0)+28>>2]&31](d,c[a+56>>2]|0)|0;b=c[a+56>>2]|0;b=pb[c[(c[b>>2]|0)+8>>2]&127](b)|0;b=zb[c[(c[d>>2]|0)+16>>2]&63](d,b,1)|0;g=c[a+56>>2]|0;g=zb[c[(c[g>>2]|0)+12>>2]&63](g,c[b+8>>2]|0,d)|0;jb[c[(c[d>>2]|0)+20>>2]&31](d,b,g,1346456916,c[a+56>>2]|0);return 16725}else{c[b+48>>2]=e;return 16725}}c[b+48>>2]=0;return 16725}function vg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[6472]=(c[6472]|0)+1;k=((e<<16|d)+~((e<<16|d)<<15)>>10^(e<<16|d)+~((e<<16|d)<<15))*9|0;k=(k>>6^k)+~((k>>6^k)<<11)>>16^(k>>6^k)+~((k>>6^k)<<11);l=c[b+12>>2]|0;f=c[(c[b+40>>2]|0)+((l+-1&k)<<2)>>2]|0;a:do if((f|0)!=-1){h=c[b+16>>2]|0;while(1){g=h+(f*12|0)|0;if((c[g>>2]|0)==(d|0)?(c[h+(f*12|0)+4>>2]|0)==(e|0):0)break;f=c[(c[b+60>>2]|0)+(f<<2)>>2]|0;if((f|0)==-1)break a}if(g|0){b=g;return b|0}}while(0);j=c[b+8>>2]|0;if((j|0)==(l|0)){h=l|0?l<<1:1;if((l|0)<(h|0)){if(!h){f=0;g=l}else{c[6485]=(c[6485]|0)+1;f=ic((h*12|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}g=c[b+8>>2]|0}if((g|0)>0){i=0;do{m=f+(i*12|0)|0;n=(c[b+16>>2]|0)+(i*12|0)|0;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];i=i+1|0}while((i|0)!=(g|0))}g=c[b+16>>2]|0;if(g|0){if(a[b+20>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[g+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=f;c[b+12>>2]=h;f=c[b+8>>2]|0}else{f=l;h=l}}else{f=j;h=l}c[b+8>>2]=f+1;g=c[b+16>>2]|0;if((l|0)<(h|0)){Ff(b);f=(c[b+12>>2]|0)+-1&k}else f=l+-1&k;c[g+(j*12|0)>>2]=d;c[g+(j*12|0)+4>>2]=e;c[g+(j*12|0)+8>>2]=0;n=(c[b+40>>2]|0)+(f<<2)|0;c[(c[b+60>>2]|0)+(j<<2)>>2]=c[n>>2];c[n>>2]=j;n=g+(j*12|0)|0;return n|0}function wg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0;h=ts()|0;c[h+4>>2]=4;c[h+8>>2]=-1;c[h+12>>2]=-1;g[h+16>>2]=3402823466385288598117041.0e14;a[h+20>>0]=1;a[h+21>>0]=0;c[h+24>>2]=-1;c[h+28>>2]=b;c[h+32>>2]=d;g[h+36>>2]=0.0;g[h+40>>2]=.30000001192092896;c[h+44>>2]=0;c[h>>2]=4832;c[h+552>>2]=c[e>>2];c[h+552+4>>2]=c[e+4>>2];c[h+552+8>>2]=c[e+8>>2];c[h+552+12>>2]=c[e+12>>2];c[h+568>>2]=c[e+16>>2];c[h+568+4>>2]=c[e+16+4>>2];c[h+568+8>>2]=c[e+16+8>>2];c[h+568+12>>2]=c[e+16+12>>2];c[h+584>>2]=c[e+32>>2];c[h+584+4>>2]=c[e+32+4>>2];c[h+584+8>>2]=c[e+32+8>>2];c[h+584+12>>2]=c[e+32+12>>2];c[h+600>>2]=c[e+48>>2];c[h+600+4>>2]=c[e+48+4>>2];c[h+600+8>>2]=c[e+48+8>>2];c[h+600+12>>2]=c[e+48+12>>2];c[h+616>>2]=c[f>>2];c[h+616+4>>2]=c[f+4>>2];c[h+616+8>>2]=c[f+8>>2];c[h+616+12>>2]=c[f+12>>2];c[h+632>>2]=c[f+16>>2];c[h+632+4>>2]=c[f+16+4>>2];c[h+632+8>>2]=c[f+16+8>>2];c[h+632+12>>2]=c[f+16+12>>2];c[h+648>>2]=c[f+32>>2];c[h+648+4>>2]=c[f+32+4>>2];c[h+648+8>>2]=c[f+32+8>>2];c[h+648+12>>2]=c[f+32+12>>2];c[h+664>>2]=c[f+48>>2];c[h+664+4>>2]=c[f+48+4>>2];c[h+664+8>>2]=c[f+48+8>>2];c[h+664+12>>2]=c[f+48+12>>2];g[h+688>>2]=0.0;g[h+692>>2]=-1.0;g[h+696>>2]=.8999999761581421;g[h+700>>2]=.30000001192092896;g[h+704>>2]=1.0;g[h+708>>2]=0.0;g[h+712>>2]=0.0;a[h+716>>0]=0;a[h+736>>0]=0;a[h+737>>0]=0;a[h+738>>0]=0;a[h+739>>0]=1;a[h+740>>0]=0;c[h+748>>2]=0;g[h+732>>2]=1.0;return h|0}function xg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;k=+g[d+100>>2];h=+g[d+16>>2];e=+g[d+20>>2];f=+g[d+24>>2];j=+g[d+108>>2];j=+g[d+112>>2]-k*+g[d+116>>2]-(h*+g[a+64>>2]+e*+g[a+68>>2]+f*+g[a+72>>2]+(+g[d>>2]*+g[a+80>>2]+ +g[d+4>>2]*+g[a+84>>2]+ +g[d+8>>2]*+g[a+88>>2]))*j-j*(+g[d+48>>2]*+g[b+64>>2]+ +g[d+52>>2]*+g[b+68>>2]+ +g[d+56>>2]*+g[b+72>>2]+(+g[d+32>>2]*+g[b+80>>2]+ +g[d+36>>2]*+g[b+84>>2]+ +g[d+40>>2]*+g[b+88>>2]));l=+g[d+120>>2];i=k+j<l?l-k:j;g[d+100>>2]=k+j<l?l:k+j;if(c[a+240>>2]|0){l=i*e*+g[a+132>>2]*+g[a+116>>2];k=i*f*+g[a+136>>2]*+g[a+120>>2];g[a+64>>2]=+g[a+112>>2]*i*h*+g[a+128>>2]+ +g[a+64>>2];g[a+68>>2]=l+ +g[a+68>>2];g[a+72>>2]=k+ +g[a+72>>2];k=i*+g[a+100>>2]*+g[d+68>>2];l=i*+g[a+104>>2]*+g[d+72>>2];g[a+80>>2]=i*+g[a+96>>2]*+g[d+64>>2]+ +g[a+80>>2];g[a+84>>2]=k+ +g[a+84>>2];g[a+88>>2]=l+ +g[a+88>>2]}if(!(c[b+240>>2]|0))return;l=i*+g[d+52>>2]*+g[b+132>>2]*+g[b+116>>2];k=i*+g[d+56>>2]*+g[b+136>>2]*+g[b+120>>2];g[b+64>>2]=+g[b+112>>2]*i*+g[d+48>>2]*+g[b+128>>2]+ +g[b+64>>2];g[b+68>>2]=l+ +g[b+68>>2];g[b+72>>2]=k+ +g[b+72>>2];k=i*+g[b+100>>2]*+g[d+84>>2];l=i*+g[b+104>>2]*+g[d+88>>2];g[b+80>>2]=i*+g[b+96>>2]*+g[d+80>>2]+ +g[b+80>>2];g[b+84>>2]=k+ +g[b+84>>2];g[b+88>>2]=l+ +g[b+88>>2];return}function yg(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0.0,j=0,k=0.0,l=0.0,m=0;if(a[b+1308>>0]|0){c[d>>2]=0;c[d+4>>2]=0;return}ed(b,(c[b+28>>2]|0)+4|0,(c[b+32>>2]|0)+4|0);c[d>>2]=0;c[d+4>>2]=6;if((c[b+856>>2]|0)==0?(a[b+788>>0]|0)==0:0){e=0;f=6}else{c[d>>2]=1;c[d+4>>2]=5;e=1;f=5}if(!((c[b+860>>2]|0)==0?(a[b+789>>0]|0)==0:0)){e=e+1|0;c[d>>2]=e;f=f+-1|0;c[d+4>>2]=f}if((c[b+864>>2]|0)==0?(a[b+790>>0]|0)==0:0)m=0;else{e=e+1|0;c[d>>2]=e;f=f+-1|0;c[d+4>>2]=f;m=0}do{i=+g[b+868+(m<<6)>>2];k=+g[b+868+(m<<6)+4>>2];l=+Ij(+g[b+1192+(m<<2)>>2],i,k);g[b+868+(m<<6)+52>>2]=l;do if(!(i>k)){if(i>l){c[b+868+(m<<6)+56>>2]=1;h=b+868+(m<<6)+48|0;g[h>>2]=l-i;if(l-i>3.1415927410125732){g[h>>2]=l-i+-6.2831854820251465;j=20;break}if(!(l-i<-3.1415927410125732)){j=20;break}g[h>>2]=l-i+6.2831854820251465;j=20;break}h=b+868+(m<<6)+56|0;if(k<l){c[h>>2]=2;h=b+868+(m<<6)+48|0;g[h>>2]=l-k;if(l-k>3.1415927410125732){g[h>>2]=l-k+-6.2831854820251465;j=20;break}if(l-k<-3.1415927410125732){g[h>>2]=l-k+6.2831854820251465;j=20}else j=20}else j=19}else{h=b+868+(m<<6)+56|0;j=19}while(0);if((j|0)==19){j=0;c[h>>2]=0;if(a[b+868+(m<<6)+44>>0]|0)j=20}if((j|0)==20){e=e+1|0;c[d>>2]=e;f=f+-1|0;c[d+4>>2]=f}m=m+1|0}while((m|0)!=3);return}function zg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0.0,x=0,y=0;x=l;l=l+32|0;f=c[a+52>>2]|0;w=+g[a+28+(((f+2|0)%3|0)<<2)>>2];if((e|0)<=0){l=x;return}h=0;while(1){c[x+16>>2]=0;c[x+16+4>>2]=0;c[x+16+8>>2]=0;c[x+16+12>>2]=0;c[x+16+(f<<2)>>2]=c[a+28+(f<<2)>>2];f=b+(h<<4)|0;u=b+(h<<4)+4|0;v=b+(h<<4)+8|0;i=w*+g[f>>2]+ +g[x+16>>2];j=w*+g[u>>2]+ +g[x+16+4>>2];k=w*+g[v>>2]+ +g[x+16+8>>2];m=+Db[c[(c[a>>2]|0)+48>>2]&15](a);n=+g[f>>2];o=+g[u>>2];p=+g[v>>2];if(n*(i-m*n)+o*(j-m*o)+p*(k-m*p)>-999999984306749440.0){g[d+(h<<4)>>2]=i-m*n;g[d+(h<<4)+4>>2]=j-m*o;g[d+(h<<4)+8>>2]=k-m*p;g[d+(h<<4)+12>>2]=0.0;q=+g[f>>2];s=+g[u>>2];t=+g[v>>2];r=n*(i-m*n)+o*(j-m*o)+p*(k-m*p)}else{q=n;s=o;t=p;r=-999999984306749440.0}c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;c[x+12>>2]=0;y=c[a+52>>2]|0;g[x+(y<<2)>>2]=-+g[a+28+(y<<2)>>2];p=w*q+ +g[x>>2];o=w*s+ +g[x+4>>2];m=w*t+ +g[x+8>>2];n=+Db[c[(c[a>>2]|0)+48>>2]&15](a);k=+g[f>>2];j=+g[u>>2];i=+g[v>>2];if(k*(p-n*k)+j*(o-n*j)+i*(m-n*i)>r){g[d+(h<<4)>>2]=p-n*k;g[d+(h<<4)+4>>2]=o-n*j;g[d+(h<<4)+8>>2]=m-n*i;g[d+(h<<4)+12>>2]=0.0}h=h+1|0;if((h|0)==(e|0))break;f=c[a+52>>2]|0}l=x;return}function Ag(a,b,d,e,f,h,i,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=+j;k=k|0;l=+l;var m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0;c[a>>2]=c[h>>2];c[a+4>>2]=c[h+4>>2];c[a+8>>2]=c[h+8>>2];c[a+12>>2]=c[h+12>>2];s=+g[e+4>>2];v=+g[a+8>>2];w=+g[e+8>>2];p=+g[a+4>>2];m=+g[a>>2];r=+g[e>>2];u=(s*v-w*p)*+g[b>>2]+ +g[b+4>>2]*(w*m-v*r)+(p*r-s*m)*+g[b+8>>2];t=(s*v-w*p)*+g[b+16>>2]+(w*m-v*r)*+g[b+20>>2]+(p*r-s*m)*+g[b+24>>2];s=(s*v-w*p)*+g[b+32>>2]+(w*m-v*r)*+g[b+36>>2]+(p*r-s*m)*+g[b+40>>2];g[a+16>>2]=u;g[a+20>>2]=t;g[a+24>>2]=s;g[a+28>>2]=0.0;r=+g[f+4>>2];w=+g[f+8>>2];n=+g[f>>2];q=+g[d>>2]*(r*-v-w*-p)+ +g[d+4>>2]*(w*-m-n*-v)+(n*-p-r*-m)*+g[d+8>>2];o=(r*-v-w*-p)*+g[d+16>>2]+(w*-m-n*-v)*+g[d+20>>2]+(n*-p-r*-m)*+g[d+24>>2];m=(r*-v-w*-p)*+g[d+32>>2]+(w*-m-n*-v)*+g[d+36>>2]+(n*-p-r*-m)*+g[d+40>>2];g[a+32>>2]=q;g[a+36>>2]=o;g[a+40>>2]=m;g[a+44>>2]=0.0;u=+g[i>>2]*u;t=+g[i+4>>2]*t;s=+g[i+8>>2]*s;g[a+48>>2]=u;g[a+52>>2]=t;g[a+56>>2]=s;g[a+60>>2]=0.0;r=+g[k>>2]*q;p=+g[k+4>>2]*o;n=+g[k+8>>2]*m;g[a+64>>2]=r;g[a+68>>2]=p;g[a+72>>2]=n;g[a+76>>2]=0.0;g[a+80>>2]=u*+g[a+16>>2]+t*+g[a+20>>2]+s*+g[a+24>>2]+j+l+(r*q+p*o+n*m);return}function Bg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+96|0;g=c[b+8>>2]|0;if((g|0)==(c[b+12>>2]|0)?(j=g|0?g<<1:1,(g|0)<(j|0)):0){if(!j)h=0;else{c[6485]=(c[6485]|0)+1;g=ic((j<<2|3)+16|0)|0;if(!g)h=0;else{c[(g+4+15&-16)+-4>>2]=g;h=g+4+15&-16}g=c[b+8>>2]|0}if((g|0)>0){i=0;do{c[h+(i<<2)>>2]=c[(c[b+16>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(g|0))}i=c[b+16>>2]|0;if(i){if(a[b+20>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[i+-4>>2]|0);g=c[b+8>>2]|0}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=h;c[b+12>>2]=j}c[(c[b+16>>2]|0)+(g<<2)>>2]=d;c[b+8>>2]=g+1;c[k+32>>2]=c[d+4>>2];c[k+32+4>>2]=c[d+4+4>>2];c[k+32+8>>2]=c[d+4+8>>2];c[k+32+12>>2]=c[d+4+12>>2];c[k+32+16>>2]=c[d+20>>2];c[k+32+16+4>>2]=c[d+20+4>>2];c[k+32+16+8>>2]=c[d+20+8>>2];c[k+32+16+12>>2]=c[d+20+12>>2];c[k+32+32>>2]=c[d+36>>2];c[k+32+32+4>>2]=c[d+36+4>>2];c[k+32+32+8>>2]=c[d+36+8>>2];c[k+32+32+12>>2]=c[d+36+12>>2];c[k+32+48>>2]=c[d+52>>2];c[k+32+48+4>>2]=c[d+52+4>>2];c[k+32+48+8>>2]=c[d+52+8>>2];c[k+32+48+12>>2]=c[d+52+12>>2];j=c[d+192>>2]|0;Zb[c[(c[j>>2]|0)+8>>2]&127](j,k+32|0,k+16|0,k);j=c[b+68>>2]|0;c[d+188>>2]=Tb[c[(c[j>>2]|0)+8>>2]&3](j,k+16|0,k,c[(c[d+192>>2]|0)+4>>2]|0,d,e,f,c[b+24>>2]|0,0)|0;l=k;return}function Cg(b){b=b|0;var d=0,e=0,f=0;c[b>>2]=4272;if(a[b+272>>0]|0?(d=c[b+204>>2]|0,lb[c[c[d>>2]>>2]&511](d),d=c[b+204>>2]|0,d|0):0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}d=c[b+196>>2]|0;if(d|0?(lb[c[c[d>>2]>>2]&511](d),e=c[b+196>>2]|0,e|0):0){c[6486]=(c[6486]|0)+1;Uc(c[e+-4>>2]|0)}if(a[b+273>>0]|0?(f=c[b+200>>2]|0,lb[c[c[f>>2]>>2]&511](f),f=c[b+200>>2]|0,f|0):0){c[6486]=(c[6486]|0)+1;Uc(c[f+-4>>2]|0)}d=c[b+316>>2]|0;if(d|0){if(a[b+320>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+316>>2]=0}a[b+320>>0]=1;c[b+316>>2]=0;c[b+308>>2]=0;c[b+312>>2]=0;d=c[b+288>>2]|0;if(d|0){if(a[b+292>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+288>>2]=0}a[b+292>>0]=1;c[b+288>>2]=0;c[b+280>>2]=0;c[b+284>>2]=0;d=c[b+240>>2]|0;if(d|0){if(a[b+244>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+240>>2]=0}a[b+244>>0]=1;c[b+240>>2]=0;c[b+232>>2]=0;c[b+236>>2]=0;d=c[b+220>>2]|0;if(d|0){if(a[b+224>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+220>>2]=0}a[b+224>>0]=1;c[b+220>>2]=0;c[b+212>>2]=0;c[b+216>>2]=0;d=c[b+188>>2]|0;if(!d){a[b+192>>0]=1;c[b+188>>2]=0;c[b+180>>2]=0;f=b+184|0;c[f>>2]=0;yj(b);return}if(a[b+192>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+188>>2]=0;a[b+192>>0]=1;c[b+188>>2]=0;c[b+180>>2]=0;f=b+184|0;c[f>>2]=0;yj(b);return}function Dg(b,d,e,f,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=+f;h=+h;i=+i;j=j|0;k=k|0;l=l|0;var m=0.0,n=0.0,o=0.0,p=0;p=bs()|0;c[p+8>>2]=0;g[p+12>>2]=0.0;c[p>>2]=8152;c[p+4>>2]=24;c[p+64>>2]=b;c[p+68>>2]=d;g[p+72>>2]=h;g[p+76>>2]=i;g[p+80>>2]=+(b+-1|0);g[p+84>>2]=+(d+-1|0);g[p+88>>2]=f;c[p+92>>2]=e;c[p+96>>2]=k;a[p+100>>0]=l&1;a[p+101>>0]=0;a[p+102>>0]=0;c[p+104>>2]=j;c[p+108>>2]=1065353216;c[p+112>>2]=1065353216;c[p+116>>2]=1065353216;g[p+120>>2]=0.0;switch(j|0){case 0:{g[p+16>>2]=h;c[p+20>>2]=0;c[p+24>>2]=0;g[p+28>>2]=0.0;g[p+32>>2]=i;g[p+36>>2]=+(b+-1|0);g[p+40>>2]=+(d+-1|0);g[p+44>>2]=0.0;n=i;o=h;f=+(b+-1|0);m=0.0;i=+(d+-1|0);h=0.0;break}case 1:{c[p+16>>2]=0;g[p+20>>2]=h;c[p+24>>2]=0;g[p+28>>2]=0.0;g[p+32>>2]=+(b+-1|0);g[p+36>>2]=i;g[p+40>>2]=+(d+-1|0);g[p+44>>2]=0.0;n=+(b+-1|0);o=0.0;f=i;m=h;i=+(d+-1|0);h=0.0;break}case 2:{c[p+16>>2]=0;c[p+20>>2]=0;g[p+24>>2]=h;g[p+28>>2]=0.0;g[p+32>>2]=+(b+-1|0);g[p+36>>2]=+(d+-1|0);g[p+40>>2]=i;g[p+44>>2]=0.0;n=+(b+-1|0);o=0.0;f=+(d+-1|0);m=0.0;break}default:{n=+g[p+32>>2];o=+g[p+16>>2];f=+g[p+36>>2];m=+g[p+20>>2];i=+g[p+40>>2];h=+g[p+24>>2]}}g[p+48>>2]=(o+n)*.5;g[p+52>>2]=(m+f)*.5;g[p+56>>2]=(h+i)*.5;g[p+60>>2]=0.0;return p|0}function Eg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0;h=l;l=l+64|0;a[d+84>>0]=0;c[h>>2]=c[b+4>>2];c[h+4>>2]=c[b+4+4>>2];c[h+8>>2]=c[b+4+8>>2];c[h+12>>2]=c[b+4+12>>2];c[h+16>>2]=c[b+20>>2];c[h+16+4>>2]=c[b+20+4>>2];c[h+16+8>>2]=c[b+20+8>>2];c[h+16+12>>2]=c[b+20+12>>2];c[h+32>>2]=c[b+36>>2];c[h+32+4>>2]=c[b+36+4>>2];c[h+32+8>>2]=c[b+36+8>>2];c[h+32+12>>2]=c[b+36+12>>2];c[h+48>>2]=c[b+52>>2];c[h+48+4>>2]=c[b+52+4>>2];c[h+48+8>>2]=c[b+52+8>>2];c[h+48+12>>2]=c[b+52+12>>2];if(e?(f=c[b+480>>2]|0,f|0):0)nb[c[(c[f>>2]|0)+8>>2]&127](f,h);w=+g[d+156>>2];u=+g[h>>2];v=+g[d+160>>2];t=+g[h+4>>2];o=+g[d+164>>2];s=+g[h+8>>2];r=+g[h+16>>2];q=+g[h+20>>2];p=+g[h+24>>2];n=+g[h+32>>2];k=+g[h+36>>2];i=+g[h+40>>2];m=w*r+v*q+o*p+ +g[h+52>>2];j=w*n+v*k+o*i+ +g[h+56>>2];g[d+36>>2]=w*u+v*t+o*s+ +g[h+48>>2];g[d+40>>2]=m;g[d+44>>2]=j;g[d+48>>2]=0.0;j=+g[d+172>>2];m=+g[d+176>>2];o=+g[d+180>>2];g[d+52>>2]=u*j+t*m+s*o;g[d+56>>2]=j*r+m*q+o*p;g[d+60>>2]=j*n+m*k+o*i;g[d+64>>2]=0.0;o=+g[d+188>>2];m=+g[d+192>>2];j=+g[d+196>>2];g[d+68>>2]=u*o+t*m+s*j;g[d+72>>2]=o*r+m*q+j*p;g[d+76>>2]=o*n+m*k+j*i;g[d+80>>2]=0.0;l=h;return}function Fg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=b;break a}case 10:{b=(c[d>>2]|0)+(4-1)&~(4-1);e=c[b>>2]|0;c[d>>2]=b+4;c[a>>2]=e;c[a+4>>2]=((e|0)<0)<<31>>31;break a}case 11:{b=(c[d>>2]|0)+(4-1)&~(4-1);e=c[b>>2]|0;c[d>>2]=b+4;c[a>>2]=e;c[a+4>>2]=0;break a}case 12:{f=(c[d>>2]|0)+(8-1)&~(8-1);b=c[f>>2]|0;e=c[f+4>>2]|0;c[d>>2]=f+8;c[a>>2]=b;c[a+4>>2]=e;break a}case 13:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=(f&65535)<<16>>16;c[a+4>>2]=(((f&65535)<<16>>16|0)<0)<<31>>31;break a}case 14:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=f&65535;c[a+4>>2]=0;break a}case 15:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=(f&255)<<24>>24;c[a+4>>2]=(((f&255)<<24>>24|0)<0)<<31>>31;break a}case 16:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=f&255;c[a+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}case 18:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}default:break a}while(0);while(0);return}function Gg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0;w=l;l=l+2048|0;if((e|0)>0)f=0;else{l=w;return}do{g[d+(f<<4)+12>>2]=-999999984306749440.0;f=f+1|0}while((f|0)!=(e|0));t=0;do{if((pb[c[(c[a>>2]|0)+96>>2]&127](a)|0)>0){r=b+(t<<4)|0;s=b+(t<<4)+4|0;o=b+(t<<4)+8|0;p=d+(t<<4)+12|0;q=d+(t<<4)|0;u=0;do{if(((pb[c[(c[a>>2]|0)+96>>2]&127](a)|0)-u|0)<128){f=(pb[c[(c[a>>2]|0)+96>>2]&127](a)|0)-u|0;if((f|0)>0)v=8;else{i=-3402823466385288598117041.0e14;f=-1}}else{f=128;v=8}if((v|0)==8){v=0;h=0;do{Vb[c[(c[a>>2]|0)+108>>2]&127](a,h,w+(h<<4)|0);h=h+1|0}while((h|0)!=(f|0));j=+g[r>>2];k=+g[s>>2];m=+g[o>>2];n=0;i=-3402823466385288598117041.0e14;h=-1;do{x=j*+g[w+(n<<4)>>2]+k*+g[w+(n<<4)+4>>2]+m*+g[w+(n<<4)+8>>2];y=x>i;h=y?n:h;i=y?x:i;n=n+1|0}while((n|0)!=(f|0));f=h}if(i>+g[p>>2]){y=w+(f<<4)|0;c[q>>2]=c[y>>2];c[q+4>>2]=c[y+4>>2];c[q+8>>2]=c[y+8>>2];c[q+12>>2]=c[y+12>>2];g[p>>2]=i}u=u+128|0}while((u|0)<(pb[c[(c[a>>2]|0)+96>>2]&127](a)|0))}t=t+1|0}while((t|0)!=(e|0));l=w;return}function Hg(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+48|0;e=(c[a+48>>2]|0)+4|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[d+32+4>>2]=0;c[d+32+4+4>>2]=0;c[d+32+4+8>>2]=0;g[d+32>>2]=1.0;Vb[c[(c[a>>2]|0)+68>>2]&127](d+16|0,a,d+32|0);g[a+32>>2]=+g[d+16>>2]+ +g[a+12>>2];g[d+32>>2]=-1.0;Vb[c[(c[a>>2]|0)+68>>2]&127](d,a,d+32|0);c[d+16>>2]=c[d>>2];c[d+16+4>>2]=c[d+4>>2];c[d+16+8>>2]=c[d+8>>2];c[d+16+12>>2]=c[d+12>>2];g[a+16>>2]=+g[d+16>>2]-+g[a+12>>2];c[d+32>>2]=0;c[d+32+4>>2]=0;c[d+32+8>>2]=0;c[d+32+12>>2]=0;g[d+32+4>>2]=1.0;Vb[c[(c[a>>2]|0)+68>>2]&127](d+16|0,a,d+32|0);g[a+36>>2]=+g[d+16+4>>2]+ +g[a+12>>2];g[d+32+4>>2]=-1.0;Vb[c[(c[a>>2]|0)+68>>2]&127](d,a,d+32|0);c[d+16>>2]=c[d>>2];c[d+16+4>>2]=c[d+4>>2];c[d+16+8>>2]=c[d+8>>2];c[d+16+12>>2]=c[d+12>>2];g[a+20>>2]=+g[d+16+4>>2]-+g[a+12>>2];c[d+32>>2]=0;c[d+32+4>>2]=0;c[d+32+8>>2]=0;c[d+32+12>>2]=0;g[d+32+8>>2]=1.0;Vb[c[(c[a>>2]|0)+68>>2]&127](d+16|0,a,d+32|0);g[a+40>>2]=+g[d+16+8>>2]+ +g[a+12>>2];g[d+32+8>>2]=-1.0;Vb[c[(c[a>>2]|0)+68>>2]&127](d,a,d+32|0);c[d+16>>2]=c[d>>2];c[d+16+4>>2]=c[d+4>>2];c[d+16+8>>2]=c[d+8>>2];c[d+16+12>>2]=c[d+12>>2];g[a+24>>2]=+g[d+16+8>>2]-+g[a+12>>2];l=d;return}function Ig(b,d){b=b|0;d=d|0;var e=0;e=ls()|0;sj(e,5,b);c[e>>2]=4776;c[e+300>>2]=c[d>>2];c[e+300+4>>2]=c[d+4>>2];c[e+300+8>>2]=c[d+8>>2];c[e+300+12>>2]=c[d+12>>2];c[e+316>>2]=c[d+16>>2];c[e+316+4>>2]=c[d+16+4>>2];c[e+316+8>>2]=c[d+16+8>>2];c[e+316+12>>2]=c[d+16+12>>2];c[e+332>>2]=c[d+32>>2];c[e+332+4>>2]=c[d+32+4>>2];c[e+332+8>>2]=c[d+32+8>>2];c[e+332+12>>2]=c[d+32+12>>2];c[e+348>>2]=c[d+48>>2];c[e+348+4>>2]=c[d+48+4>>2];c[e+348+8>>2]=c[d+48+8>>2];c[e+348+12>>2]=c[d+48+12>>2];a[e+527>>0]=0;c[e+364>>2]=c[e+300>>2];c[e+364+4>>2]=c[e+300+4>>2];c[e+364+8>>2]=c[e+300+8>>2];c[e+364+12>>2]=c[e+300+12>>2];c[e+380>>2]=c[e+316>>2];c[e+380+4>>2]=c[e+316+4>>2];c[e+380+8>>2]=c[e+316+8>>2];c[e+380+12>>2]=c[e+316+12>>2];c[e+396>>2]=c[e+332>>2];c[e+396+4>>2]=c[e+332+4>>2];c[e+396+8>>2]=c[e+332+8>>2];c[e+396+12>>2]=c[e+332+12>>2];a[e+524>>0]=0;a[e+525>>0]=0;a[e+526>>0]=0;a[e+552>>0]=0;c[e+412>>2]=0;c[e+412+4>>2]=0;c[e+412+8>>2]=0;c[e+412+12>>2]=0;g[e+572>>2]=-1.0;g[e+444>>2]=999999984306749440.0;g[e+448>>2]=999999984306749440.0;g[e+452>>2]=999999984306749440.0;g[e+428>>2]=1.0;g[e+432>>2]=.30000001192092896;g[e+436>>2]=1.0;g[e+440>>2]=.009999999776482582;g[e+456>>2]=.05000000074505806;c[e+592>>2]=0;g[e+596>>2]=0.0;g[e+600>>2]=.699999988079071;g[e+604>>2]=0.0;return e|0}function Jg(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var k=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0,r=0,s=0.0,t=0;r=l;l=l+16|0;g[e>>2]=3402823466385288598117041.0e14;g[f>>2]=-3402823466385288598117041.0e14;n=c[a+96>>2]|0;if((n|0)>0){q=0;do{t=c[a+104>>2]|0;s=+g[t+(q<<4)>>2]*+g[a+12>>2];p=+g[t+(q<<4)+4>>2]*+g[a+16>>2];o=+g[t+(q<<4)+8>>2]*+g[a+20>>2];k=s*+g[b>>2]+p*+g[b+4>>2]+o*+g[b+8>>2]+ +g[b+48>>2];m=s*+g[b+16>>2]+p*+g[b+20>>2]+o*+g[b+24>>2]+ +g[b+52>>2];o=s*+g[b+32>>2]+p*+g[b+36>>2]+o*+g[b+40>>2]+ +g[b+56>>2];p=k*+g[d>>2]+m*+g[d+4>>2]+o*+g[d+8>>2];if(p<+g[e>>2]){g[e>>2]=p;g[h>>2]=k;g[h+4>>2]=m;g[h+8>>2]=o;g[h+12>>2]=0.0}if(p>+g[f>>2]){g[f>>2]=p;g[i>>2]=k;g[i+4>>2]=m;g[i+8>>2]=o;g[i+12>>2]=0.0}q=q+1|0}while((q|0)!=(n|0));s=+g[f>>2];m=s;n=(g[j>>2]=s,c[j>>2]|0)}else{m=-3402823466385288598117041.0e14;n=-8388609}k=+g[e>>2];if(!(k>m)){l=r;return}c[e>>2]=n;g[f>>2]=k;c[r>>2]=c[h>>2];c[r+4>>2]=c[h+4>>2];c[r+8>>2]=c[h+8>>2];c[r+12>>2]=c[h+12>>2];c[h>>2]=c[i>>2];c[h+4>>2]=c[i+4>>2];c[h+8>>2]=c[i+8>>2];c[h+12>>2]=c[i+12>>2];c[i>>2]=c[r>>2];c[i+4>>2]=c[r+4>>2];c[i+8>>2]=c[r+8>>2];c[i+12>>2]=c[r+12>>2];l=r;return}function Kg(a,b,c,d,e,f,h){a=a|0;b=+b;c=+c;d=+d;e=e|0;f=+f;h=h|0;var i=0.0,j=0.0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0;k=l;l=l+16|0;j=c*f+ +g[a+52>>2];i=d*f+ +g[a+56>>2];g[h+48>>2]=b*f+ +g[a+48>>2];g[h+52>>2]=j;g[h+56>>2]=i;g[h+60>>2]=0.0;i=+g[e>>2];j=+g[e+4>>2];c=+g[e+8>>2];d=+G(+(i*i+j*j+c*c));d=d*f>.7853981852531433?.7853981852531433/f:d;if(d<1.0000000474974513e-03)b=f*.5-d*f*f*f*.02083333395421505*d;else b=+J(+(d*.5*f))/d;o=i*b;n=j*b;i=c*b;q=+I(+(d*f*.5));ph(a,k);c=+g[k>>2];p=+g[k+12>>2];b=+g[k+8>>2];f=+g[k+4>>2];r=1.0/+G(+((q*p-o*c-n*f-i*b)*(q*p-o*c-n*f-i*b)+((i*p+q*b+o*f-n*c)*(i*p+q*b+o*f-n*c)+((q*c+o*p+n*b-i*f)*(q*c+o*p+n*b-i*f)+(i*c+(n*p+q*f)-o*b)*(i*c+(n*p+q*f)-o*b)))));d=(q*c+o*p+n*b-i*f)*r;j=r*(i*c+(n*p+q*f)-o*b);m=r*(i*p+q*b+o*f-n*c);b=r*(q*p-o*c-n*f-i*b);i=d*(2.0/(b*b+(m*m+(d*d+j*j))));f=2.0/(b*b+(m*m+(d*d+j*j)))*j;c=2.0/(b*b+(m*m+(d*d+j*j)))*m;g[h>>2]=1.0-(m*c+j*f);g[h+4>>2]=d*f-b*c;g[h+8>>2]=d*c+b*f;g[h+12>>2]=0.0;g[h+16>>2]=b*c+d*f;g[h+20>>2]=1.0-(d*i+m*c);g[h+24>>2]=j*c-b*i;g[h+28>>2]=0.0;g[h+32>>2]=d*c-b*f;g[h+36>>2]=b*i+j*c;g[h+40>>2]=1.0-(d*i+j*f);g[h+44>>2]=0.0;l=k;return}function Lg(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0;o=l;l=l+16|0;if((f|0)>-3&(f+3|0)>-1){if((f+3|0)!=0?(c[6485]=(c[6485]|0)+1,h=ic((f+3<<4|3)+16|0)|0,(h|0)!=0):0){c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}else h=0;a=0;do{n=h+(a<<4)|0;c[n>>2]=c[o>>2];c[n+4>>2]=c[o+4>>2];c[n+8>>2]=c[o+8>>2];c[n+12>>2]=c[o+12>>2];a=a+1|0}while((a|0)!=(f+3|0));n=h;m=h}else{n=0;m=0}if((f|0)>-3){h=n;k=0;while(1){if(!k)i=0.0;else{a=k;j=.5;i=0.0;while(1){i=(a&1|0)==0?i:i+j;a=a>>1;if(!a)break;else j=j*.5}}j=i*2.0+-1.0;p=(+(k<<1|0)*3.1415927410125732+3.1415927410125732)/+(f+3|0);q=+G(+(1.0-j*j));i=q*+J(+p);g[h>>2]=q*+I(+p);g[h+4>>2]=i;g[h+8>>2]=j;g[h+12>>2]=0.0;k=k+1|0;if((k|0)==(f+3|0))break;else h=h+16|0}a=0;do{r=n+(a<<4)|0;h=n+(a<<4)+4|0;k=n+(a<<4)+8|0;p=+g[h>>2]*+g[e+4>>2]+ +g[d+4>>2];q=+g[k>>2]*+g[e+8>>2]+ +g[d+8>>2];g[r>>2]=+g[r>>2]*+g[e>>2]+ +g[d>>2];g[h>>2]=p;g[k>>2]=q;g[n+(a<<4)+12>>2]=0.0;a=a+1|0}while((a|0)<(f+3|0))}a=bc(b,n,f+3|0,1)|0;if((n|0)==0|(m|0)==0){l=o;return a|0}c[6486]=(c[6486]|0)+1;Uc(c[m+-4>>2]|0);l=o;return a|0}function Mg(b,d,e){b=b|0;d=+d;e=e|0;var f=0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;f=c[b+8>>2]|0;if(f|0?(c[f+204>>2]&3|0)==0:0){if((c[f+216>>2]&-2|0)!=4)c[f+216>>2]=1;g[f+220>>2]=0.0}f=c[b+12>>2]|0;if(f|0?(c[f+204>>2]&3|0)==0:0){if((c[f+216>>2]&-2|0)!=4)c[f+216>>2]=1;g[f+220>>2]=0.0}f=c[b+20>>2]|0;if(f|0?(c[f+204>>2]&3|0)==0:0){if((c[f+216>>2]&-2|0)!=4)c[f+216>>2]=1;g[f+220>>2]=0.0}f=c[b+24>>2]|0;if(f|0?(c[f+204>>2]&3|0)==0:0){if((c[f+216>>2]&-2|0)!=4)c[f+216>>2]=1;g[f+220>>2]=0.0}f=c[b+156>>2]|0;c[b+156>>2]=f+1;a[b+152>>0]=(f|0)>=(c[b+160>>2]|0)&1;if(f|0){c[b+72>>2]=0;c[b+72+4>>2]=0;c[b+72+8>>2]=0;c[b+72+12>>2]=0;c[b+72+16>>2]=0;c[b+72+20>>2]=0;c[b+72+24>>2]=0;c[b+72+28>>2]=0;return}j=+g[b+64>>2];i=+g[b+72>>2]*j*(1.0/d);h=j*+g[b+76>>2]*(1.0/d);d=1.0/d*j*+g[b+80>>2];g[b+72>>2]=i;g[b+76>>2]=h;g[b+80>>2]=d;g[b+84>>2]=0.0;j=+g[b+68>>2];if(j>0.0){l=j*i*+g[b+120>>2]+j*h*+g[b+124>>2]+j*d*+g[b+128>>2];k=j*i*+g[b+136>>2]+j*h*+g[b+140>>2]+j*d*+g[b+144>>2];g[b+88>>2]=j*i*+g[b+104>>2]+j*h*+g[b+108>>2]+j*d*+g[b+112>>2];g[b+92>>2]=l;g[b+96>>2]=k;g[b+100>>2]=0.0;g[b+72>>2]=(1.0-j)*i;g[b+76>>2]=(1.0-j)*h;g[b+80>>2]=(1.0-j)*d;i=(1.0-j)*i;h=(1.0-j)*h;d=(1.0-j)*d}g[b+72>>2]=1.0/+(e|0)*i;g[b+76>>2]=1.0/+(e|0)*h;g[b+80>>2]=1.0/+(e|0)*d;return}function Ng(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;while(1){k=c[a+12>>2]|0;l=c[k+(((b+d|0)/2|0)<<2)>>2]|0;e=b;f=d;while(1){j=c[(c[l+740>>2]|0)+208>>2]|0;if((j|0)>-1)while(1){h=c[k+(e<<2)>>2]|0;g=c[(c[h+740>>2]|0)+208>>2]|0;if((g|0)<=-1)g=c[(c[h+744>>2]|0)+208>>2]|0;if((g|0)<(j|0))e=e+1|0;else break}else{i=c[(c[l+744>>2]|0)+208>>2]|0;while(1){h=c[k+(e<<2)>>2]|0;g=c[(c[h+740>>2]|0)+208>>2]|0;if((g|0)<=-1)g=c[(c[h+744>>2]|0)+208>>2]|0;if((g|0)<(i|0))e=e+1|0;else break}}if((j|0)>-1)while(1){h=c[k+(f<<2)>>2]|0;g=c[(c[h+740>>2]|0)+208>>2]|0;if((g|0)<=-1)g=c[(c[h+744>>2]|0)+208>>2]|0;if((j|0)<(g|0))f=f+-1|0;else break}else{i=c[(c[l+744>>2]|0)+208>>2]|0;while(1){h=c[k+(f<<2)>>2]|0;g=c[(c[h+740>>2]|0)+208>>2]|0;if((g|0)<=-1)g=c[(c[h+744>>2]|0)+208>>2]|0;if((i|0)<(g|0))f=f+-1|0;else break}}if((e|0)<=(f|0)){i=k+(e<<2)|0;j=c[i>>2]|0;c[i>>2]=c[k+(f<<2)>>2];c[(c[a+12>>2]|0)+(f<<2)>>2]=j;e=e+1|0;f=f+-1|0}if((e|0)>(f|0))break;k=c[a+12>>2]|0}if((f|0)>(b|0))Ng(a,b,f);if((e|0)<(d|0))b=e;else break}return}function Og(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0.0,j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0;j=l;l=l+64|0;n=+g[d>>2];o=+g[d+4>>2];m=+g[d+8>>2];p=n*+g[b+4>>2]+o*+g[b+20>>2]+m*+g[b+36>>2];q=n*+g[b+8>>2]+o*+g[b+24>>2]+m*+g[b+40>>2];g[j+48>>2]=+g[b>>2]*n+ +g[b+16>>2]*o+ +g[b+32>>2]*m;g[j+48+4>>2]=p;g[j+48+8>>2]=q;g[j+48+12>>2]=0.0;Vb[c[(c[a>>2]|0)+64>>2]&127](j+32|0,a,j+48|0);q=+g[j+32>>2];p=+g[j+32+4>>2];m=+g[j+32+8>>2];o=q*+g[b>>2]+p*+g[b+4>>2]+m*+g[b+8>>2]+ +g[b+48>>2];n=q*+g[b+16>>2]+p*+g[b+20>>2]+m*+g[b+24>>2]+ +g[b+52>>2];m=q*+g[b+32>>2]+p*+g[b+36>>2]+m*+g[b+40>>2]+ +g[b+56>>2];r=c[(c[a>>2]|0)+64>>2]|0;p=-+g[j+48+4>>2];q=-+g[j+48+8>>2];g[j>>2]=-+g[j+48>>2];g[j+4>>2]=p;g[j+8>>2]=q;g[j+12>>2]=0.0;Vb[r&127](j+16|0,a,j);q=+g[j+16>>2];p=+g[j+16+4>>2];h=+g[j+16+8>>2];k=q*+g[b>>2]+p*+g[b+4>>2]+h*+g[b+8>>2]+ +g[b+48>>2];i=q*+g[b+16>>2]+p*+g[b+20>>2]+h*+g[b+24>>2]+ +g[b+52>>2];h=q*+g[b+32>>2]+p*+g[b+36>>2]+h*+g[b+40>>2]+ +g[b+56>>2];g[e>>2]=o*+g[d>>2]+n*+g[d+4>>2]+m*+g[d+8>>2];h=k*+g[d>>2]+i*+g[d+4>>2]+h*+g[d+8>>2];g[f>>2]=h;i=+g[e>>2];if(!(i>h)){l=j;return}g[e>>2]=h;g[f>>2]=i;l=j;return}function Pg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;while(1){k=c[a+12>>2]|0;l=c[k+(((b+d|0)/2|0)<<2)>>2]|0;e=b;f=d;while(1){j=c[(c[l+28>>2]|0)+208>>2]|0;if((j|0)>-1)while(1){h=c[k+(e<<2)>>2]|0;g=c[(c[h+28>>2]|0)+208>>2]|0;if((g|0)<=-1)g=c[(c[h+32>>2]|0)+208>>2]|0;if((g|0)<(j|0))e=e+1|0;else break}else{i=c[(c[l+32>>2]|0)+208>>2]|0;while(1){h=c[k+(e<<2)>>2]|0;g=c[(c[h+28>>2]|0)+208>>2]|0;if((g|0)<=-1)g=c[(c[h+32>>2]|0)+208>>2]|0;if((g|0)<(i|0))e=e+1|0;else break}}if((j|0)>-1)while(1){h=c[k+(f<<2)>>2]|0;g=c[(c[h+28>>2]|0)+208>>2]|0;if((g|0)<=-1)g=c[(c[h+32>>2]|0)+208>>2]|0;if((j|0)<(g|0))f=f+-1|0;else break}else{i=c[(c[l+32>>2]|0)+208>>2]|0;while(1){h=c[k+(f<<2)>>2]|0;g=c[(c[h+28>>2]|0)+208>>2]|0;if((g|0)<=-1)g=c[(c[h+32>>2]|0)+208>>2]|0;if((i|0)<(g|0))f=f+-1|0;else break}}if((e|0)<=(f|0)){i=k+(e<<2)|0;j=c[i>>2]|0;c[i>>2]=c[k+(f<<2)>>2];c[(c[a+12>>2]|0)+(f<<2)>>2]=j;e=e+1|0;f=f+-1|0}if((e|0)>(f|0))break;k=c[a+12>>2]|0}if((f|0)>(b|0))Pg(a,b,f);if((e|0)<(d|0))b=e;else break}return}function Qg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;h=c[a+12>>2]|0;i=c[h+(((d+b|0)/2|0)<<4)>>2]|0;j=c[h+(((d+b|0)/2|0)<<4)+4>>2]|0;k=c[h+(((d+b|0)/2|0)<<4)+8>>2]|0;e=b;f=d;while(1){g=e;while(1){e=c[h+(g<<4)+4>>2]|0;if((e|0)>=(j|0)){if((e|0)!=(j|0))break;e=c[h+(g<<4)>>2]|0;if((e|0)>=(i|0)){if((e|0)!=(i|0))break;if((c[h+(g<<4)+8>>2]|0)>=(k|0))break}}g=g+1|0}while(1){e=c[h+(f<<4)+4>>2]|0;if((j|0)>=(e|0)){if((j|0)!=(e|0))break;e=c[h+(f<<4)>>2]|0;if((i|0)>=(e|0)){if((i|0)!=(e|0))break;if((k|0)>=(c[h+(f<<4)+8>>2]|0))break}}f=f+-1|0}if((g|0)>(f|0))e=g;else{e=h+(g<<4)|0;c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];h=h+(f<<4)|0;c[e>>2]=c[h>>2];c[e+4>>2]=c[h+4>>2];c[e+8>>2]=c[h+8>>2];c[e+12>>2]=c[h+12>>2];e=(c[a+12>>2]|0)+(f<<4)|0;c[e>>2]=c[m>>2];c[e+4>>2]=c[m+4>>2];c[e+8>>2]=c[m+8>>2];c[e+12>>2]=c[m+12>>2];e=g+1|0;f=f+-1|0}if((e|0)>(f|0))break;h=c[a+12>>2]|0}if((f|0)>(b|0))Qg(a,b,f);if((e|0)>=(d|0)){l=m;return}Qg(a,e,d);l=m;return}function Rg(a){a=a|0;var b=0,d=0,e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0;ml(a+988|0);if((c[a+752>>2]|0)<=0)return;q=0;do{o=c[a+760>>2]|0;p=o+(q*44|0)|0;d=c[o+(q*44|0)+8>>2]|0;e=c[o+(q*44|0)+12>>2]|0;b=c[o+(q*44|0)+16>>2]|0;l=+g[d+8>>2];m=+g[d+12>>2];n=+g[d+16>>2];h=+g[d+20>>2];u=+g[e+8>>2];i=u<l?u:l;r=+g[e+12>>2];j=r<m?r:m;s=+g[e+16>>2];k=s<n?s:n;t=+g[e+20>>2];f=t<h?t:h;l=l<u?u:l;m=m<r?r:m;n=n<s?s:n;h=h<t?t:h;t=+g[b+8>>2];i=t<i?t:i;s=+g[b+12>>2];j=s<j?s:j;r=+g[b+16>>2];k=r<k?r:k;u=+g[b+20>>2];f=u<f?u:f;h=h<u?u:h;l=(l<t?t:l)+0.0;m=(m<s?s:m)+0.0;n=(n<r?r:n)+0.0;b=c[a+992>>2]|0;if(!b){c[6485]=(c[6485]|0)+1;b=ic(63)|0;if(!b)b=0;else{c[(b+4+15&-16)+-4>>2]=b;b=b+4+15&-16}d=b;e=d+44|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0))}else c[a+992>>2]=0;c[b+32>>2]=0;c[b+36>>2]=p;c[b+40>>2]=0;g[b>>2]=i;g[b+4>>2]=j;g[b+8>>2]=k;g[b+12>>2]=f;g[b+16>>2]=l;g[b+20>>2]=m;g[b+24>>2]=n;g[b+28>>2]=h;_e(a+988|0,c[a+988>>2]|0,b);c[a+1e3>>2]=(c[a+1e3>>2]|0)+1;c[o+(q*44|0)+40>>2]=b;q=q+1|0}while((q|0)<(c[a+752>>2]|0));return}function Sg(a){a=a|0;var b=0,d=0,e=0.0,f=0.0,h=0.0,i=0,j=0;i=c[a+28>>2]|0;if((i|0)<=0){a=1;return a|0}d=c[a+36>>2]|0;f=0.0;h=0.0;e=0.0;j=0;a:while(1){switch(j|0){case 0:{e=+g[a+88>>2]+ +g[a+72>>2];h=+g[a+84>>2]+ +g[a+68>>2];f=+g[a+80>>2]+ +g[a+64>>2];break}case 1:{e=+g[a+72>>2]-+g[a+88>>2];h=+g[a+84>>2]+ +g[a+68>>2];f=+g[a+80>>2]+ +g[a+64>>2];break}case 2:{e=+g[a+88>>2]+ +g[a+72>>2];h=+g[a+68>>2]-+g[a+84>>2];f=+g[a+80>>2]+ +g[a+64>>2];break}case 3:{e=+g[a+72>>2]-+g[a+88>>2];h=+g[a+68>>2]-+g[a+84>>2];f=+g[a+80>>2]+ +g[a+64>>2];break}case 4:{e=+g[a+88>>2]+ +g[a+72>>2];h=+g[a+84>>2]+ +g[a+68>>2];f=+g[a+64>>2]-+g[a+80>>2];break}case 5:{e=+g[a+72>>2]-+g[a+88>>2];h=+g[a+84>>2]+ +g[a+68>>2];f=+g[a+64>>2]-+g[a+80>>2];break}case 6:{e=+g[a+88>>2]+ +g[a+72>>2];h=+g[a+68>>2]-+g[a+84>>2];f=+g[a+64>>2]-+g[a+80>>2];break}case 7:{e=+g[a+72>>2]-+g[a+88>>2];h=+g[a+68>>2]-+g[a+84>>2];f=+g[a+64>>2]-+g[a+80>>2];break}default:{}}b=0;do{if(+g[d+(b*36|0)+32>>2]+(f*+g[d+(b*36|0)+20>>2]+h*+g[d+(b*36|0)+24>>2]+e*+g[d+(b*36|0)+28>>2])>0.0){b=0;d=16;break a}b=b+1|0}while((b|0)<(i|0));j=j+1|0;if((j|0)>=8){b=1;d=16;break}}if((d|0)==16)return b|0;return 0}function Tg(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var k=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0,r=0,s=0.0,t=0;r=l;l=l+16|0;g[e>>2]=3402823466385288598117041.0e14;g[f>>2]=-3402823466385288598117041.0e14;n=c[a+8>>2]|0;if((n|0)>0){q=0;do{t=c[a+16>>2]|0;s=+g[t+(q<<4)>>2];p=+g[t+(q<<4)+4>>2];o=+g[t+(q<<4)+8>>2];k=s*+g[b>>2]+p*+g[b+4>>2]+o*+g[b+8>>2]+ +g[b+48>>2];m=s*+g[b+16>>2]+p*+g[b+20>>2]+o*+g[b+24>>2]+ +g[b+52>>2];o=s*+g[b+32>>2]+p*+g[b+36>>2]+o*+g[b+40>>2]+ +g[b+56>>2];p=k*+g[d>>2]+m*+g[d+4>>2]+o*+g[d+8>>2];if(p<+g[e>>2]){g[e>>2]=p;g[h>>2]=k;g[h+4>>2]=m;g[h+8>>2]=o;g[h+12>>2]=0.0}if(p>+g[f>>2]){g[f>>2]=p;g[i>>2]=k;g[i+4>>2]=m;g[i+8>>2]=o;g[i+12>>2]=0.0}q=q+1|0}while((q|0)!=(n|0));s=+g[f>>2];m=s;n=(g[j>>2]=s,c[j>>2]|0)}else{m=-3402823466385288598117041.0e14;n=-8388609}k=+g[e>>2];if(!(k>m)){l=r;return}c[e>>2]=n;g[f>>2]=k;c[r>>2]=c[h>>2];c[r+4>>2]=c[h+4>>2];c[r+8>>2]=c[h+8>>2];c[r+12>>2]=c[h+12>>2];c[h>>2]=c[i>>2];c[h+4>>2]=c[i+4>>2];c[h+8>>2]=c[i+8>>2];c[h+12>>2]=c[i+12>>2];c[i>>2]=c[r>>2];c[i+4>>2]=c[r+4>>2];c[i+8>>2]=c[r+8>>2];c[i+12>>2]=c[r+12>>2];l=r;return}function Ug(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0;if((c[a>>2]|0)==(b|0)){c[a>>2]=0;a=0;return a|0}e=c[b+32>>2]|0;d=c[e+32>>2]|0;b=c[e+36+(((c[e+40>>2]|0)!=(b|0)&1)<<2)>>2]|0;if(!d){c[a>>2]=b;c[b+32>>2]=0;d=c[a+4>>2]|0;if(!d)d=b;else{c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0);d=c[a>>2]|0}c[a+4>>2]=e;a=d;return a|0}c[d+36+(((c[d+40>>2]|0)==(e|0)&1)<<2)>>2]=b;c[b+32>>2]=d;b=c[a+4>>2]|0;if(b|0){c[6486]=(c[6486]|0)+1;Uc(c[b+-4>>2]|0)}c[a+4>>2]=e;do{s=+g[d>>2];x=d+4|0;q=+g[x>>2];v=d+8|0;o=+g[v>>2];y=d+16|0;m=+g[y>>2];w=d+20|0;i=+g[w>>2];e=d+24|0;k=+g[e>>2];u=c[d+36>>2]|0;b=c[d+40>>2]|0;t=+g[u>>2];r=+g[b>>2];r=t<r?t:r;g[d>>2]=r;t=+g[u+16>>2];l=+g[b+16>>2];l=t>l?t:l;g[y>>2]=l;t=+g[u+4>>2];p=+g[b+4>>2];p=t<p?t:p;g[x>>2]=p;t=+g[u+20>>2];h=+g[b+20>>2];h=t>h?t:h;g[w>>2]=h;t=+g[u+8>>2];n=+g[b+8>>2];n=t<n?t:n;g[v>>2]=n;t=+g[u+24>>2];j=+g[b+24>>2];j=t>j?t:j;g[e>>2]=j;if(!(s!=r|q!=p|o!=n|m!=l)?!(k!=j|i!=h):0){f=14;break}d=c[d+32>>2]|0}while((d|0)!=0);if((f|0)==14)return d|0;y=c[a>>2]|0;return y|0}function Vg(a,b,e){a=a|0;b=b|0;e=e|0;Zh(a,b,e)|0;c[b+52>>2]=c[a+48>>2];c[b+56>>2]=c[a+52>>2];c[b+60>>2]=c[a+56>>2];c[b+64>>2]=c[a+60>>2];c[b+68>>2]=c[a+64>>2];c[b+72>>2]=c[a+68>>2];c[b+76>>2]=c[a+72>>2];c[b+80>>2]=c[a+76>>2];c[b+84>>2]=c[a+80>>2];c[b+88>>2]=c[a+84>>2];c[b+92>>2]=c[a+88>>2];c[b+96>>2]=c[a+92>>2];c[b+100>>2]=c[a+96>>2];c[b+104>>2]=c[a+100>>2];c[b+108>>2]=c[a+104>>2];c[b+112>>2]=c[a+108>>2];c[b+116>>2]=c[a+112>>2];c[b+120>>2]=c[a+116>>2];c[b+124>>2]=c[a+120>>2];c[b+128>>2]=c[a+124>>2];c[b+132>>2]=c[a+128>>2];c[b+136>>2]=c[a+132>>2];c[b+140>>2]=c[a+136>>2];c[b+144>>2]=c[a+140>>2];c[b+148>>2]=c[a+144>>2];c[b+152>>2]=c[a+148>>2];c[b+156>>2]=c[a+152>>2];c[b+160>>2]=c[a+156>>2];c[b+164>>2]=c[a+160>>2];c[b+168>>2]=c[a+164>>2];c[b+172>>2]=c[a+168>>2];c[b+176>>2]=c[a+172>>2];c[b+228>>2]=c[a+868>>2];c[b+212>>2]=c[a+872>>2];c[b+196>>2]=c[a+680>>2];c[b+180>>2]=c[a+696>>2];c[b+232>>2]=c[a+932>>2];c[b+216>>2]=c[a+936>>2];c[b+200>>2]=c[a+684>>2];c[b+184>>2]=c[a+700>>2];c[b+236>>2]=c[a+996>>2];c[b+220>>2]=c[a+1e3>>2];c[b+204>>2]=c[a+688>>2];c[b+188>>2]=c[a+704>>2];c[b+244>>2]=d[a+1300>>0];c[b+248>>2]=d[a+1301>>0];return 12501}function Wg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=c[b+32>>2]|0;if(!d)f=0;else f=c[b+40>>2]|0;i=c[b+52>>2]|0;if(!i)g=0;else g=c[b+60>>2]|0;e=c[b+72>>2]|0;if(!e)h=0;else h=c[b+80>>2]|0;j=c[b+8>>2]|0;+Mb[c[(c[j>>2]|0)+12>>2]&3](j,f,d,g,i,h,e,c[b+4>>2]|0,c[b+20>>2]|0,c[b+24>>2]|0);d=c[b+32>>2]|0;if((d|0)<0){if((c[b+36>>2]|0)<0){e=c[b+40>>2]|0;if(e|0){if(a[b+44>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[e+-4>>2]|0)}c[b+40>>2]=0}a[b+44>>0]=1;c[b+40>>2]=0;c[b+36>>2]=0}do{c[(c[b+40>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=0)}c[b+32>>2]=0;d=c[b+52>>2]|0;if((d|0)<0){if((c[b+56>>2]|0)<0){e=c[b+60>>2]|0;if(e|0){if(a[b+64>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[e+-4>>2]|0)}c[b+60>>2]=0}a[b+64>>0]=1;c[b+60>>2]=0;c[b+56>>2]=0}do{c[(c[b+60>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=0)}c[b+52>>2]=0;d=c[b+72>>2]|0;if((d|0)>=0){c[b+72>>2]=0;return}if((c[b+76>>2]|0)<0){e=c[b+80>>2]|0;if(e|0){if(a[b+84>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[e+-4>>2]|0)}c[b+80>>2]=0}a[b+84>>0]=1;c[b+80>>2]=0;c[b+76>>2]=0}do{c[(c[b+80>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=0);c[b+72>>2]=0;return}function Xg(a,b,d,e,f,h,i,j,k,m){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0.0,o=0.0;m=l;l=l+80|0;o=+g[h+52>>2]-+g[f+52>>2];n=+g[h+56>>2]-+g[f+56>>2];g[m>>2]=+g[h+48>>2]-+g[f+48>>2];g[m+4>>2]=o;g[m+8>>2]=n;g[m+12>>2]=0.0;if(zc(d,f,e,h,m,m+16|0,1)|0){c[j>>2]=c[m+16+4>>2];c[j+4>>2]=c[m+16+4+4>>2];c[j+8>>2]=c[m+16+4+8>>2];c[j+12>>2]=c[m+16+4+12>>2];c[k>>2]=c[m+16+20>>2];c[k+4>>2]=c[m+16+20+4>>2];c[k+8>>2]=c[m+16+20+8>>2];c[k+12>>2]=c[m+16+20+12>>2];c[i>>2]=c[m+16+36>>2];c[i+4>>2]=c[m+16+36+4>>2];c[i+8>>2]=c[m+16+36+8>>2];c[i+12>>2]=c[m+16+36+12>>2];k=1;l=m;return k|0}if(!(td(d,f,e,h,m,m+16|0)|0)){k=0;l=m;return k|0}c[j>>2]=c[m+16+4>>2];c[j+4>>2]=c[m+16+4+4>>2];c[j+8>>2]=c[m+16+4+8>>2];c[j+12>>2]=c[m+16+4+12>>2];c[k>>2]=c[m+16+20>>2];c[k+4>>2]=c[m+16+20+4>>2];c[k+8>>2]=c[m+16+20+8>>2];c[k+12>>2]=c[m+16+20+12>>2];c[i>>2]=c[m+16+36>>2];c[i+4>>2]=c[m+16+36+4>>2];c[i+8>>2]=c[m+16+36+8>>2];c[i+12>>2]=c[m+16+36+12>>2];k=0;l=m;return k|0}function Yg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;c[6485]=(c[6485]|0)+1;d=ic(39)|0;if(!d)i=0;else{c[(d+4+15&-16)+-4>>2]=d;i=d+4+15&-16}g=i;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;if((c[b+872>>2]|0)>0){h=c[c[b+880>>2]>>2]|0;c[i>>2]=c[h>>2];c[i+4>>2]=c[h+4>>2];c[i+8>>2]=c[h+8>>2];c[i+12>>2]=c[h+12>>2];c[i+16>>2]=c[h+16>>2]}else{c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0}e=c[b+872>>2]|0;if((e|0)!=(c[b+876>>2]|0)){h=e;f=b+880|0;f=c[f>>2]|0;f=f+(h<<2)|0;c[f>>2]=g;h=h+1|0;c[b+872>>2]=h;return i|0}h=e|0?e<<1:1;if((e|0)>=(h|0)){h=e;f=b+880|0;f=c[f>>2]|0;f=f+(h<<2)|0;c[f>>2]=g;h=h+1|0;c[b+872>>2]=h;return i|0}if(!h)d=0;else{c[6485]=(c[6485]|0)+1;d=ic((h<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}e=c[b+872>>2]|0}if((e|0)>0){f=0;do{c[d+(f<<2)>>2]=c[(c[b+880>>2]|0)+(f<<2)>>2];f=f+1|0}while((f|0)!=(e|0))}f=c[b+880>>2]|0;if(f){if(a[b+884>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[f+-4>>2]|0);e=c[b+872>>2]|0}c[b+880>>2]=0}a[b+884>>0]=1;c[b+880>>2]=d;c[b+876>>2]=h;h=e;f=b+880|0;f=c[f>>2]|0;f=f+(h<<2)|0;c[f>>2]=g;h=h+1|0;c[b+872>>2]=h;return i|0}function Zg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;h=(a[b+28>>0]|0)!=0;k=h?e:d;h=h?d:e;i=c[k+4>>2]|0;j=c[i+16>>2]|0;g=c[b+12>>2]|0;if((g|0)<(j|0)){if((c[b+16>>2]|0)<(j|0)){if(!j){d=0;e=g}else{c[6485]=(c[6485]|0)+1;d=ic((j<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}e=c[b+12>>2]|0}if((e|0)>0){f=0;do{c[d+(f<<2)>>2]=c[(c[b+20>>2]|0)+(f<<2)>>2];f=f+1|0}while((f|0)!=(e|0))}e=c[b+20>>2]|0;if(e|0){if(a[b+24>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[e+-4>>2]|0)}c[b+20>>2]=0}a[b+24>>0]=1;c[b+20>>2]=d;c[b+16>>2]=j;e=b+20|0}else e=b+20|0;d=g;do{c[(c[e>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(j|0))}c[b+12>>2]=j;if((j|0)<=0){l=m;return}e=0;do{if(!(c[i+64>>2]|0)){f=c[(c[i+24>>2]|0)+(e*80|0)+64>>2]|0;g=c[k+8>>2]|0;d=c[k+12>>2]|0;c[m>>2]=k;c[m+4>>2]=f;c[m+8>>2]=g;c[m+12>>2]=d;c[m+16>>2]=-1;c[m+20>>2]=e;d=c[b+4>>2]|0;d=tb[c[(c[d>>2]|0)+8>>2]&31](d,m,h,c[b+32>>2]|0)|0}else d=0;c[(c[b+20>>2]|0)+(e<<2)>>2]=d;e=e+1|0}while((e|0)!=(j|0));l=m;return}function _g(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,k=0,l=0,m=0.0,n=0,o=0,p=0.0,q=0.0;Zb[c[(c[a>>2]|0)+8>>2]&127](a,b,f,h);n=c[h>>2]|0;k=c[h+4>>2]|0;b=c[h+8>>2]|0;l=c[f>>2]|0;o=c[f+4>>2]|0;i=c[f+8>>2]|0;m=+g[d>>2];p=+g[d+4>>2];q=+g[d+8>>2];if(m>0.0)n=(g[j>>2]=(c[j>>2]=n,+g[j>>2])+m,c[j>>2]|0);else l=(g[j>>2]=(c[j>>2]=l,+g[j>>2])+m,c[j>>2]|0);if(p>0.0){d=o;k=(g[j>>2]=(c[j>>2]=k,+g[j>>2])+p,c[j>>2]|0)}else d=(g[j>>2]=(c[j>>2]=o,+g[j>>2])+p,c[j>>2]|0);if(q>0.0)b=(g[j>>2]=(c[j>>2]=b,+g[j>>2])+q,c[j>>2]|0);else i=(g[j>>2]=(c[j>>2]=i,+g[j>>2])+q,c[j>>2]|0);m=+g[e>>2];p=+g[e+4>>2];q=+g[e+8>>2];q=+G(+(m*m+p*p+q*q));q=q*+Db[c[(c[a>>2]|0)+16>>2]&15](a);c[f>>2]=l;c[f+4>>2]=d;c[f+8>>2]=i;g[f+12>>2]=0.0;c[h>>2]=n;c[h+4>>2]=k;c[h+8>>2]=b;g[h+12>>2]=0.0;g[f>>2]=+g[f>>2]-q;g[f+4>>2]=+g[f+4>>2]-q;g[f+8>>2]=+g[f+8>>2]-q;g[h>>2]=q+ +g[h>>2];g[h+4>>2]=q+ +g[h+4>>2];g[h+8>>2]=q+ +g[h+8>>2];return}function $g(b,d,e){b=b|0;d=+d;e=e|0;var f=0.0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0;j=c[b+712>>2]|0;if(e){if((j|0)>0){e=c[b+720>>2]|0;h=0;do{g[e+(h*104|0)+88>>2]=0.0;h=h+1|0}while((h|0)!=(j|0))}e=c[b+752>>2]|0;if((e|0)>0){h=c[b+760>>2]|0;i=0;do{m=c[h+(i*44|0)+8>>2]|0;l=c[h+(i*44|0)+12>>2]|0;k=c[h+(i*44|0)+16>>2]|0;o=+g[m+8>>2];q=+g[m+12>>2];f=+g[m+16>>2];n=+g[l+8>>2]-o;r=+g[l+12>>2]-q;p=+g[l+16>>2]-f;o=+g[k+8>>2]-o;q=+g[k+12>>2]-q;f=+g[k+16>>2]-f;f=+G(+((n*q-r*o)*(n*q-r*o)+((r*f-p*q)*(r*f-p*q)+(p*o-n*f)*(p*o-n*f))));g[m+88>>2]=f+ +g[m+88>>2];g[l+88>>2]=f+ +g[l+88>>2];g[k+88>>2]=f+ +g[k+88>>2];i=i+1|0}while((i|0)!=(e|0))}if((j|0)<=0){m=b+924|0;a[m>>0]=1;return}e=c[b+720>>2]|0;h=0;do{m=e+(h*104|0)+88|0;g[m>>2]=1.0/+g[m>>2];h=h+1|0}while((h|0)!=(j|0))}if((j|0)<=0){m=b+924|0;a[m>>0]=1;return}h=c[b+720>>2]|0;e=0;f=0.0;do{r=+g[h+(e*104|0)+88>>2];f=f+(r>0.0?1.0/r:0.0);e=e+1|0}while((e|0)!=(j|0));f=1.0/f*d;e=0;do{m=h+(e*104|0)+88|0;g[m>>2]=+g[m>>2]/f;e=e+1|0}while((e|0)!=(j|0));m=b+924|0;a[m>>0]=1;return}function ah(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0.0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;l=+g[d>>2];if(+g[b>>2]<=l){i=+g[d+4>>2];if((((+g[b+4>>2]<=i?+g[b+8>>2]<=+g[d+8>>2]:0)?+g[b+16>>2]>=+g[d+16>>2]:0)?+g[b+20>>2]>=+g[d+20>>2]:0)?+g[b+24>>2]>=+g[d+24>>2]:0){d=0;return d|0}else h=d+4|0}else{h=d+4|0;i=+g[d+4>>2]}g[d>>2]=l-f;n=i-f;g[h>>2]=n;i=+g[d+8>>2]-f;g[d+8>>2]=i;q=+g[d+16>>2]+f;g[d+16>>2]=q;o=+g[d+20>>2]+f;g[d+20>>2]=o;m=+g[d+24>>2]+f;g[d+24>>2]=m;p=+g[e>>2];g[(p>0.0?d+16|0:d)>>2]=p+(p>0.0?q:l-f);f=+g[e+4>>2];g[(f>0.0?d+20|0:h)>>2]=f+(f>0.0?o:n);f=+g[e+8>>2];g[(f>0.0?d+24|0:d+8|0)>>2]=f+(f>0.0?m:i);h=Ug(a,b)|0;a:do if(h){j=c[a+8>>2]|0;if((j|0)<=-1){h=c[a>>2]|0;break}if(j){k=0;while(1){e=c[h+32>>2]|0;k=k+1|0;if(!e)break a;if((k|0)>=(j|0)){h=e;break}else h=e}}}else h=0;while(0);c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];_e(a,h,b);d=1;return d|0}function bh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=c[b+4>>2]|0;if((e|0)==(c[b+8>>2]|0)){xf(b,e|0?e<<1:1);e=c[b+4>>2]|0}j=(c[b+12>>2]|0)+(e*36|0)|0;a[j+16>>0]=1;c[j+12>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;k=c[d+4>>2]|0;if((k|0)<=0){c[j+4>>2]=k;k=j+20|0;d=d+20|0;c[k>>2]=c[d>>2];c[k+4>>2]=c[d+4>>2];c[k+8>>2]=c[d+8>>2];c[k+12>>2]=c[d+12>>2];d=c[b+4>>2]|0;d=d+1|0;c[b+4>>2]=d;return}c[6485]=(c[6485]|0)+1;e=ic((k<<2|3)+16|0)|0;if(!e)h=0;else{c[(e+4+15&-16)+-4>>2]=e;h=e+4+15&-16}g=c[j+4>>2]|0;f=c[j+12>>2]|0;if((g|0)<=0)if(!f){a[j+16>>0]=1;c[j+12>>2]=h;c[j+8>>2]=k;Lk(h|0,0,k<<2|0)|0}else i=10;else{e=0;do{c[h+(e<<2)>>2]=c[f+(e<<2)>>2];e=e+1|0}while((e|0)!=(g|0));i=10}if((i|0)==10){if(a[j+16>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[f+-4>>2]|0)}a[j+16>>0]=1;c[j+12>>2]=h;c[j+8>>2]=k;Lk(h|0,0,k<<2|0)|0}e=c[j+12>>2]|0;c[j+4>>2]=k;f=c[d+12>>2]|0;g=0;do{c[e+(g<<2)>>2]=c[f+(g<<2)>>2];g=g+1|0}while((g|0)!=(k|0));k=j+20|0;d=d+20|0;c[k>>2]=c[d>>2];c[k+4>>2]=c[d+4>>2];c[k+8>>2]=c[d+8>>2];c[k+12>>2]=c[d+12>>2];d=c[b+4>>2]|0;d=d+1|0;c[b+4>>2]=d;return}function ch(a,b){a=+a;b=+b;var d=0,e=0,f=0,h=0,i=0,k=0,l=0,m=0;l=(g[j>>2]=a,c[j>>2]|0);i=(g[j>>2]=b,c[j>>2]|0);a:do if((i<<1|0)!=0?!((l>>>23&255|0)==255|((iC(b)|0)&2147483647)>>>0>2139095040):0){if(l<<1>>>0<=i<<1>>>0)return +((l<<1|0)==(i<<1|0)?a*0.0:a);if(!(l>>>23&255)){if((l<<9|0)>-1){d=0;e=l<<9;do{d=d+-1|0;e=e<<1}while((e|0)>-1);e=d}else e=0;d=e;f=l<<1-e}else{d=l>>>23&255;f=l&8388607|8388608}if(!(i>>>23&255)){if((i<<9|0)>-1){e=0;h=i<<9;do{e=e+-1|0;h=h<<1}while((h|0)>-1)}else e=0;k=e;i=i<<1-e}else{k=i>>>23&255;i=i&8388607|8388608}e=f-i|0;b:do if((d|0)>(k|0)){h=(e|0)>-1;while(1){if(h){if(!e)break}else e=f;f=e<<1;d=d+-1|0;e=f-i|0;if((d|0)>(k|0))h=(e|0)>-1;else{h=(e|0)>-1;break b}}b=a*0.0;break a}else h=(e|0)>-1;while(0);if(h){if(!e){b=a*0.0;break}}else e=f;if(e>>>0<8388608)do{e=e<<1;d=d+-1|0}while(e>>>0<8388608);if((d|0)>0)d=e+-8388608|d<<23;else d=e>>>(1-d|0);b=(c[j>>2]=d|l&-2147483648,+g[j>>2])}else m=3;while(0);if((m|0)==3)b=a*b/(a*b);return +b}function dh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0,j=0,k=0,m=0.0,n=0.0,o=0,p=0,q=0.0,r=0;p=l;l=l+2048|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;e=+g[d>>2];f=+g[d+4>>2];h=+g[d+8>>2];if(e*e+f*f+h*h<9.999999747378752e-05){n=1.0;m=0.0;h=0.0}else{q=1.0/+G(+(e*e+f*f+h*h));n=e*q;m=f*q;h=h*q}if((pb[c[(c[b>>2]|0)+96>>2]&127](b)|0)<=0){l=p;return}k=0;f=-999999984306749440.0;while(1){if(((pb[c[(c[b>>2]|0)+96>>2]&127](b)|0)-k|0)<128){d=(pb[c[(c[b>>2]|0)+96>>2]&127](b)|0)-k|0;if((d|0)>0)o=7;else{e=-3402823466385288598117041.0e14;d=-1}}else{d=128;o=7}if((o|0)==7){o=0;i=0;do{Vb[c[(c[b>>2]|0)+108>>2]&127](b,i,p+(i<<4)|0);i=i+1|0}while((i|0)!=(d|0));j=0;e=-3402823466385288598117041.0e14;i=-1;do{q=n*+g[p+(j<<4)>>2]+m*+g[p+(j<<4)+4>>2]+h*+g[p+(j<<4)+8>>2];r=q>e;i=r?j:i;e=r?q:e;j=j+1|0}while((j|0)!=(d|0));d=i}if(e>f){r=p+(d<<4)|0;c[a>>2]=c[r>>2];c[a+4>>2]=c[r+4>>2];c[a+8>>2]=c[r+8>>2];c[a+12>>2]=c[r+12>>2]}else e=f;k=k+128|0;if((k|0)>=(pb[c[(c[b>>2]|0)+96>>2]&127](b)|0))break;else f=e}l=p;return}function eh(b,e,f,h,i,j){b=b|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0;if((d[h+55>>0]|0|0)==(e|0)){h=0;return h|0}k=c[5104+(i<<2)>>2]|0;if(+g[h>>2]*+g[f+16>>2]+ +g[h+4>>2]*+g[f+20>>2]+ +g[h+8>>2]*+g[f+24>>2]-+g[h+16>>2]<-9.999999747378752e-06){k=cf(b,c[h+20+(k<<2)>>2]|0,c[h+20+(i<<2)>>2]|0,f,0)|0;if(!k){h=0;return h|0}a[k+52>>0]=i;c[k+32>>2]=h;a[h+52+i>>0]=0;c[h+32+(i<<2)>>2]=k;i=c[j>>2]|0;if(!i)c[j+4>>2]=k;else{a[i+53>>0]=2;c[i+36>>2]=k;a[k+54>>0]=1;c[k+40>>2]=i}c[j>>2]=k;c[j+8>>2]=(c[j+8>>2]|0)+1;h=1;return h|0}i=c[5116+(i<<2)>>2]|0;a[h+55>>0]=e;if(!(eh(b,e,f,c[h+32+(k<<2)>>2]|0,d[h+52+k>>0]|0,j)|0)){h=0;return h|0}if(!(eh(b,e,f,c[h+32+(i<<2)>>2]|0,d[h+52+i>>0]|0,j)|0)){h=0;return h|0}i=c[h+48>>2]|0;if(i|0)c[i+44>>2]=c[h+44>>2];i=c[h+44>>2]|0;if(i|0)c[i+48>>2]=c[h+48>>2];if((c[b+9280>>2]|0)==(h|0))c[b+9280>>2]=c[h+48>>2];c[b+9284>>2]=(c[b+9284>>2]|0)+-1;c[h+44>>2]=0;c[h+48>>2]=c[b+9288>>2];i=c[b+9288>>2]|0;if(i|0)c[i+44>>2]=h;c[b+9288>>2]=h;c[b+9292>>2]=(c[b+9292>>2]|0)+1;h=1;return h|0}function fh(b,d){b=b|0;d=d|0;var e=0,f=0,h=0.0,i=0,j=0,k=0.0,l=0.0;e=c[d+204>>2]|0;if((e&3|0)==0?(c[d+504>>2]&1|0)==0:0){h=+g[d+344>>2];if(h!=0.0){l=1.0/h*+g[b+252>>2];k=1.0/h*+g[b+256>>2];g[d+364>>2]=1.0/h*+g[b+248>>2];g[d+368>>2]=l;g[d+372>>2]=k;g[d+376>>2]=0.0}c[d+380>>2]=c[b+248>>2];c[d+380+4>>2]=c[b+248+4>>2];c[d+380+8>>2]=c[b+248+8>>2];c[d+380+12>>2]=c[b+248+12>>2]}if(!(c[d+192>>2]|0))return;if(e&1){if((c[d+216>>2]&-2|0)!=4)c[d+216>>2]=2}else{f=c[b+232>>2]|0;if((f|0)==(c[b+236>>2]|0)?(j=f|0?f<<1:1,(f|0)<(j|0)):0){if(!j)e=0;else{c[6485]=(c[6485]|0)+1;e=ic((j<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[b+232>>2]|0}if((f|0)>0){i=0;do{c[e+(i<<2)>>2]=c[(c[b+240>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(f|0))}i=c[b+240>>2]|0;if(i){if(a[b+244>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[i+-4>>2]|0);f=c[b+232>>2]|0}c[b+240>>2]=0}a[b+244>>0]=1;c[b+240>>2]=e;c[b+236>>2]=j;e=c[d+204>>2]|0}c[(c[b+240>>2]|0)+(f<<2)>>2]=d;c[b+232>>2]=f+1}j=(e&3|0)==0;Zb[c[(c[b>>2]|0)+36>>2]&127](b,d,j?1:2,j?-1:-3);return}function gh(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=c[a+68+(d<<2)>>2]|0;h=b[i+((f&65535)+-1<<2)>>1]|0;if((e[i+((f&65535)<<2)>>1]|0)>=(h&65535))return;j=c[a+60>>2]|0;l=j+((e[i+((f&65535)<<2)+2>>1]|0)<<6)+54+(d<<1)|0;k=i+((f&65535)<<2)|0;f=i+((f&65535)+-1<<2)|0;while(1){i=e[f+2>>1]|0;if(!(h&1)){h=e[k+2>>1]|0;if(((((e[j+(h<<6)+54+((1<<d&3)<<1)>>1]|0)>=(e[j+(i<<6)+48+((1<<d&3)<<1)>>1]|0)?(e[j+(i<<6)+54+((1<<d&3)<<1)>>1]|0)>=(e[j+(h<<6)+48+((1<<d&3)<<1)>>1]|0):0)?(e[j+(h<<6)+54+((1<<(1<<d&3)&3)<<1)>>1]|0)>=(e[j+(i<<6)+48+((1<<(1<<d&3)&3)<<1)>>1]|0):0)?(e[j+(i<<6)+54+((1<<(1<<d&3)&3)<<1)>>1]|0)>=(e[j+(h<<6)+48+((1<<(1<<d&3)&3)<<1)>>1]|0):0)?(o=c[a+92>>2]|0,m=j+(h<<6)|0,n=j+(i<<6)|0,tb[c[(c[o>>2]|0)+12>>2]&31](o,m,n,g)|0,o=c[a+96>>2]|0,o|0):0)tb[c[(c[o>>2]|0)+12>>2]&31](o,m,n,g)|0;h=j+(i<<6)+48+(d<<1)|0}else h=j+(i<<6)+54+(d<<1)|0;b[h>>1]=(b[h>>1]|0)+1<<16>>16;b[l>>1]=(b[l>>1]|0)+-1<<16>>16;i=e[k>>1]|e[k+2>>1]<<16;h=e[f>>1]|e[f+2>>1]<<16;b[k>>1]=h;b[k+2>>1]=h>>>16;b[f>>1]=i;b[f+2>>1]=i>>>16;i=k+-4|0;f=f+-4|0;h=b[f>>1]|0;if((e[i>>1]|0)>=(h&65535))break;j=c[a+60>>2]|0;k=i}return}function hh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0;e=l;l=l+160|0;c[e+136>>2]=0;c[e+136+4>>2]=0;c[e+136+8>>2]=0;c[e+136+12>>2]=0;c[e+136+16>>2]=0;c[e+32>>2]=7100;f=e+32+4|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[e+32+20>>2]=1065353216;n=e+32+24|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[e+32+40>>2]=1065353216;c[e+32+44>>2]=0;c[e+32+44+4>>2]=0;c[e+32+44+8>>2]=0;c[e+32+44+12>>2]=0;c[e+32+60>>2]=1065353216;c[e+32+64>>2]=0;c[e+32+68>>2]=c[e+136+4>>2];c[e+32+68+4>>2]=c[e+136+4+4>>2];c[e+32+68+8>>2]=c[e+136+4+8>>2];c[e+32+68+12>>2]=c[e+136+4+12>>2];g[e+32+84>>2]=-999999984306749440.0;m=+g[d>>2];k=+g[d+4>>2];j=+g[d+8>>2];i=m*+g[n>>2]+k+j*0.0;h=m*+g[e+32+28>>2]+k*0.0+j;g[e+32+88>>2]=m+k*0.0+j*0.0;g[e+32+92>>2]=i;g[e+32+96>>2]=h;g[e+32+100>>2]=0.0;c[e+16>>2]=1566444395;c[e+16+4>>2]=1566444395;c[e+16+8>>2]=1566444395;g[e+16+12>>2]=0.0;d=c[(c[b>>2]|0)+64>>2]|0;g[e>>2]=-999999984306749440.0;g[e+4>>2]=-999999984306749440.0;g[e+8>>2]=-999999984306749440.0;g[e+12>>2]=0.0;Zb[d&127](b,e+32|0,e,e+16|0);c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2];l=e;return}function ih(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0.0,j=0,k=0,l=0,m=0.0,n=0.0;h=c[d+204>>2]|0;if((h&3|0)==0?(c[d+504>>2]&1|0)==0:0){i=+g[d+344>>2];if(i!=0.0){n=1.0/i*+g[b+252>>2];m=1.0/i*+g[b+256>>2];g[d+364>>2]=1.0/i*+g[b+248>>2];g[d+368>>2]=n;g[d+372>>2]=m;g[d+376>>2]=0.0}c[d+380>>2]=c[b+248>>2];c[d+380+4>>2]=c[b+248+4>>2];c[d+380+8>>2]=c[b+248+8>>2];c[d+380+12>>2]=c[b+248+12>>2]}if(!(c[d+192>>2]|0))return;if(h&1){if((c[d+216>>2]&-2|0)!=4)c[d+216>>2]=2}else{h=c[b+232>>2]|0;if((h|0)==(c[b+236>>2]|0)?(l=h|0?h<<1:1,(h|0)<(l|0)):0){if(!l)k=0;else{c[6485]=(c[6485]|0)+1;h=ic((l<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}k=h;h=c[b+232>>2]|0}if((h|0)>0){j=0;do{c[k+(j<<2)>>2]=c[(c[b+240>>2]|0)+(j<<2)>>2];j=j+1|0}while((j|0)!=(h|0))}j=c[b+240>>2]|0;if(j){if(a[b+244>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[j+-4>>2]|0);h=c[b+232>>2]|0}c[b+240>>2]=0}a[b+244>>0]=1;c[b+240>>2]=k;c[b+236>>2]=l}c[(c[b+240>>2]|0)+(h<<2)>>2]=d;c[b+232>>2]=h+1}Zb[c[(c[b>>2]|0)+36>>2]&127](b,d,e,f);return}function jh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,G=0.0;o=(+g[a+32>>2]-+g[a+16>>2])*.5;l=(+g[a+36>>2]-+g[a+20>>2])*.5;i=(+g[a+40>>2]-+g[a+24>>2])*.5;n=+Db[c[(c[a>>2]|0)+48>>2]&15](a);k=+Db[c[(c[a>>2]|0)+48>>2]&15](a);i=i+ +Db[c[(c[a>>2]|0)+48>>2]&15](a);B=(+g[a+32>>2]+ +g[a+16>>2])*.5;z=(+g[a+36>>2]+ +g[a+20>>2])*.5;x=(+g[a+40>>2]+ +g[a+24>>2])*.5;G=+g[b>>2];w=+F(+G);E=+g[b+4>>2];v=+F(+E);t=+g[b+8>>2];u=+F(+t);D=+g[b+16>>2];s=+F(+D);C=+g[b+20>>2];r=+F(+C);p=+g[b+24>>2];q=+F(+p);A=+g[b+32>>2];m=+F(+A);y=+g[b+36>>2];j=+F(+y);f=+g[b+40>>2];h=+F(+f);t=B*G+z*E+x*t+ +g[b+48>>2];p=B*D+z*C+x*p+ +g[b+52>>2];f=B*A+z*y+x*f+ +g[b+56>>2];g[d>>2]=t-((o+n)*w+(l+k)*v+i*u);g[d+4>>2]=p-((o+n)*s+(l+k)*r+i*q);g[d+8>>2]=f-((o+n)*m+(l+k)*j+i*h);g[d+12>>2]=0.0;g[e>>2]=(o+n)*w+(l+k)*v+i*u+t;g[e+4>>2]=(o+n)*s+(l+k)*r+i*q+p;g[e+8>>2]=(o+n)*m+(l+k)*j+i*h+f;g[e+12>>2]=0.0;return}function kh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,G=0,H=0.0,I=0.0;I=+g[a+48>>2];z=+g[a+32>>2];H=+g[a+52>>2];x=+g[a+36>>2];E=+g[a+56>>2];v=+g[a+40>>2];G=(c[a+16>>2]|0)==0;m=+Db[c[(c[a>>2]|0)+48>>2]&15](a);k=+Db[c[(c[a>>2]|0)+48>>2]&15](a);i=+Db[c[(c[a>>2]|0)+48>>2]&15](a);m=(G?0.0:(I-z)*.5)+m;k=(G?0.0:(H-x)*.5)+k;i=(G?0.0:(E-v)*.5)+i;D=+g[b>>2];u=+F(+D);C=+g[b+4>>2];t=+F(+C);r=+g[b+8>>2];s=+F(+r);B=+g[b+16>>2];q=+F(+B);A=+g[b+20>>2];p=+F(+A);n=+g[b+24>>2];o=+F(+n);y=+g[b+32>>2];l=+F(+y);w=+g[b+36>>2];j=+F(+w);f=+g[b+40>>2];h=+F(+f);z=G?0.0:(I+z)*.5;x=G?0.0:(H+x)*.5;v=G?0.0:(E+v)*.5;r=z*D+x*C+v*r+ +g[b+48>>2];n=z*B+x*A+v*n+ +g[b+52>>2];f=z*y+x*w+v*f+ +g[b+56>>2];g[d>>2]=r-(m*u+k*t+i*s);g[d+4>>2]=n-(m*q+k*p+i*o);g[d+8>>2]=f-(m*l+k*j+i*h);g[d+12>>2]=0.0;g[e>>2]=m*u+k*t+i*s+r;g[e+4>>2]=m*q+k*p+i*o+n;g[e+8>>2]=m*l+k*j+i*h+f;g[e+12>>2]=0.0;return}function lh(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=c[a+68+(d<<2)>>2]|0;m=c[a+60>>2]|0;n=e[h+((f&65535)<<2)+2>>1]|0;g=b[h+((f&65535)+-1<<2)>>1]|0;if((e[h+((f&65535)<<2)>>1]|0)>=(g&65535))return;i=m;j=h+((f&65535)<<2)|0;f=h+((f&65535)+-1<<2)|0;while(1){h=e[f+2>>1]|0;if(!(g&1))g=i+(h<<6)+48+(d<<1)|0;else{if(((((e[m+(n<<6)+54+((1<<d&3)<<1)>>1]|0)>=(e[i+(h<<6)+48+((1<<d&3)<<1)>>1]|0)?(e[i+(h<<6)+54+((1<<d&3)<<1)>>1]|0)>=(e[m+(n<<6)+48+((1<<d&3)<<1)>>1]|0):0)?(e[m+(n<<6)+54+((1<<(1<<d&3)&3)<<1)>>1]|0)>=(e[i+(h<<6)+48+((1<<(1<<d&3)&3)<<1)>>1]|0):0)?(e[i+(h<<6)+54+((1<<(1<<d&3)&3)<<1)>>1]|0)>=(e[m+(n<<6)+48+((1<<(1<<d&3)&3)<<1)>>1]|0):0)?(l=c[a+92>>2]|0,k=i+(h<<6)|0,zb[c[(c[l>>2]|0)+8>>2]&63](l,m+(n<<6)|0,k)|0,l=c[a+96>>2]|0,l|0):0)zb[c[(c[l>>2]|0)+8>>2]&63](l,m+(n<<6)|0,k)|0;g=i+(h<<6)+54+(d<<1)|0}b[g>>1]=(b[g>>1]|0)+1<<16>>16;b[m+(n<<6)+48+(d<<1)>>1]=(b[m+(n<<6)+48+(d<<1)>>1]|0)+-1<<16>>16;h=e[j>>1]|e[j+2>>1]<<16;g=e[f>>1]|e[f+2>>1]<<16;b[j>>1]=g;b[j+2>>1]=g>>>16;b[f>>1]=h;b[f+2>>1]=h>>>16;h=j+-4|0;f=f+-4|0;g=b[f>>1]|0;if((e[h>>1]|0)>=(g&65535))break;i=c[a+60>>2]|0;j=h}return}function mh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[a+212>>2]|0;a:do if((f|0)>0){g=c[a+220>>2]|0;d=0;while(1){e=g+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(f|0))break a}if((d|0)<(f|0)){c[e>>2]=c[g+(f+-1<<2)>>2];c[(c[a+220>>2]|0)+(f+-1<<2)>>2]=b;c[a+212>>2]=f+-1}}while(0);a=c[b+28>>2]|0;d=c[a+488>>2]|0;b:do if((d|0)>0){g=c[a+496>>2]|0;e=0;while(1){f=g+(e<<2)|0;if((c[f>>2]|0)==(b|0))break;e=e+1|0;if((e|0)>=(d|0))break b}if((e|0)<(d|0)){c[f>>2]=c[g+(d+-1<<2)>>2];c[(c[a+496>>2]|0)+(d+-1<<2)>>2]=b;c[a+488>>2]=d+-1;d=d+-1|0}}while(0);c[a+256>>2]=(d|0)>0&1;a=c[b+32>>2]|0;d=c[a+488>>2]|0;if((d|0)<=0){b=d;b=(b|0)>0;b=b&1;h=a+256|0;c[h>>2]=b;return}g=c[a+496>>2]|0;e=0;while(1){f=g+(e<<2)|0;if((c[f>>2]|0)==(b|0))break;e=e+1|0;if((e|0)>=(d|0)){h=19;break}}if((h|0)==19){b=(d|0)>0;b=b&1;h=a+256|0;c[h>>2]=b;return}if((e|0)>=(d|0)){b=d;b=(b|0)>0;b=b&1;h=a+256|0;c[h>>2]=b;return}c[f>>2]=c[g+(d+-1<<2)>>2];c[(c[a+496>>2]|0)+(d+-1<<2)>>2]=b;c[a+488>>2]=d+-1;b=d+-1|0;b=(b|0)>0;b=b&1;h=a+256|0;c[h>>2]=b;return}function nh(a,b,c,d,e,f,h,i,j,k,l,m,n,o){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;h=+h;i=+i;j=+j;k=+k;l=+l;m=+m;n=+n;o=+o;var p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0;v=(j-f)*(n-h)-(k-h)*(m-f);r=(k-h)*(l-e)-(i-e)*(n-h);s=(i-e)*(m-f)-(j-f)*(l-e);if(+F(+(s*d+(v*b+r*c)))<1.1920928955078125e-07){d=-1.0;return +d}t=+g[a>>2];u=+g[a+4>>2];p=+g[a+8>>2];q=-(v*t+r*u+s*p-(s*h+(v*e+r*f)))/(s*d+(v*b+r*c));if(!(q>1.1920928955078125e-06&q<o)){d=-1.0;return +d}if(!(s*((j-(u+q*c))*(e-(t+q*b))-(f-(u+q*c))*(i-(t+q*b)))+(v*((f-(u+q*c))*(k-(p+q*d))-(h-(p+q*d))*(j-(u+q*c)))+r*((h-(p+q*d))*(i-(t+q*b))-(k-(p+q*d))*(e-(t+q*b))))>-1.1920928955078125e-06)){d=-1.0;return +d}if(!(s*((m-(u+q*c))*(i-(t+q*b))-(j-(u+q*c))*(l-(t+q*b)))+(v*((j-(u+q*c))*(n-(p+q*d))-(k-(p+q*d))*(m-(u+q*c)))+r*((k-(p+q*d))*(l-(t+q*b))-(n-(p+q*d))*(i-(t+q*b))))>-1.1920928955078125e-06)){d=-1.0;return +d}if(!(s*((f-(u+q*c))*(l-(t+q*b))-(m-(u+q*c))*(e-(t+q*b)))+(v*((m-(u+q*c))*(h-(p+q*d))-(n-(p+q*d))*(f-(u+q*c)))+r*((n-(p+q*d))*(e-(t+q*b))-(h-(p+q*d))*(l-(t+q*b))))>-1.1920928955078125e-06)){d=-1.0;return +d}d=q;return +d}function oh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0;q=l;l=l+32|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;e=+g[d>>2];f=+g[d+4>>2];h=+g[d+8>>2];if(e*e+f*f+h*h<9.999999747378752e-05){p=1.0;o=0.0;n=0.0}else{n=1.0/+G(+(e*e+f*f+h*h));p=e*n;o=f*n;n=h*n}d=c[b+52>>2]|0;m=+g[b+28+(((d+2|0)%3|0)<<2)>>2];c[q+16>>2]=0;c[q+16+4>>2]=0;c[q+16+8>>2]=0;c[q+16+12>>2]=0;c[q+16+(d<<2)>>2]=c[b+28+(d<<2)>>2];j=p*m;k=o*m;m=n*m;e=j+ +g[q+16>>2];f=k+ +g[q+16+4>>2];i=m+ +g[q+16+8>>2];h=+Db[c[(c[b>>2]|0)+48>>2]&15](b);e=e-p*h;f=f-o*h;h=i-n*h;i=n*h+(p*e+o*f);if(i>-999999984306749440.0){g[a>>2]=e;g[a+4>>2]=f;g[a+8>>2]=h;g[a+12>>2]=0.0}else i=-999999984306749440.0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;d=c[b+52>>2]|0;g[q+(d<<2)>>2]=-+g[b+28+(d<<2)>>2];e=j+ +g[q>>2];f=k+ +g[q+4>>2];m=m+ +g[q+8>>2];h=+Db[c[(c[b>>2]|0)+48>>2]&15](b);e=e-p*h;f=f-o*h;h=m-n*h;if(!(n*h+(p*e+o*f)>i)){l=q;return}g[a>>2]=e;g[a+4>>2]=f;g[a+8>>2]=h;g[a+12>>2]=0.0;l=q;return}function ph(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0,h=0,i=0,j=0;f=l;l=l+16|0;c=+g[(bH(a)|0)>>2];d=+g[(IG(a+16|0)|0)>>2];e=+g[(HG(a+32|0)|0)>>2];if(c+d+e>0.0){e=+PG(c+d+e+1.0);g[f+12>>2]=e*.5;d=+g[(IG(a+32|0)|0)>>2];g[f>>2]=(d-+g[(HG(a+16|0)|0)>>2])*(.5/e);d=+g[(HG(a)|0)>>2];g[f+4>>2]=(d-+g[(bH(a+32|0)|0)>>2])*(.5/e);d=+g[(bH(a+16|0)|0)>>2];g[f+8>>2]=(d-+g[(IG(a)|0)>>2])*(.5/e);j=f;i=f+4|0;h=f+8|0;a=f+12|0;pr(b,j,i,h,a);l=f;return}else{h=(c<d?d:c)<e?2:c<d&1;i=bH(a+(h<<4)|0)|0;e=+g[i+(h<<2)>>2];j=bH(a+((((h+1|0)>>>0)%3|0)<<4)|0)|0;e=e-+g[j+((((h+1|0)>>>0)%3|0)<<2)>>2];a=bH(a+((((h+2|0)>>>0)%3|0)<<4)|0)|0;e=+PG(e-+g[a+((((h+2|0)>>>0)%3|0)<<2)>>2]+1.0);g[f+(h<<2)>>2]=e*.5;g[f+12>>2]=(+g[a+((((h+1|0)>>>0)%3|0)<<2)>>2]-+g[j+((((h+2|0)>>>0)%3|0)<<2)>>2])*(.5/e);g[f+((((h+1|0)>>>0)%3|0)<<2)>>2]=(+g[j+(h<<2)>>2]+ +g[i+((((h+1|0)>>>0)%3|0)<<2)>>2])*(.5/e);g[f+((((h+2|0)>>>0)%3|0)<<2)>>2]=(+g[a+(h<<2)>>2]+ +g[i+((((h+2|0)>>>0)%3|0)<<2)>>2])*(.5/e);a=f;h=f+4|0;i=f+8|0;j=f+12|0;pr(b,a,h,i,j);l=f;return}}function qh(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0;j=pb[c[(c[b>>2]|0)+28>>2]&127](b)|0;i=+g[j>>2]-+g[d>>2];h=+g[j+4>>2]-+g[d+4>>2];f=+g[j+8>>2]-+g[d+8>>2];if(!(i*i+h*h+f*f>1.1920928955078125e-07))return;Hg(b,d);if((a[b+61>>0]|0)!=0?(e=c[b+52>>2]|0,lb[c[c[e>>2]>>2]&511](e),e=c[b+52>>2]|0,(e|0)!=0):0){c[6486]=(c[6486]|0)+1;Uc(c[e+-4>>2]|0);d=b+52|0}else d=b+52|0;c[6485]=(c[6485]|0)+1;e=ic(191)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[e+52>>2]=282;a[e+60>>0]=0;a[e+80>>0]=1;c[e+76>>2]=0;c[e+68>>2]=0;c[e+72>>2]=0;a[e+100>>0]=1;c[e+96>>2]=0;c[e+88>>2]=0;c[e+92>>2]=0;a[e+120>>0]=1;c[e+116>>2]=0;c[e+108>>2]=0;c[e+112>>2]=0;a[e+140>>0]=1;c[e+136>>2]=0;c[e+128>>2]=0;c[e+132>>2]=0;c[e+144>>2]=0;a[e+164>>0]=1;c[e+160>>2]=0;c[e+152>>2]=0;c[e+156>>2]=0;c[e+168>>2]=0;c[e+4>>2]=-8388609;c[e+8>>2]=-8388609;c[e+12>>2]=-8388609;g[e+16>>2]=0.0;c[e+20>>2]=2139095039;c[e+24>>2]=2139095039;c[e+28>>2]=2139095039;g[e+32>>2]=0.0;c[e>>2]=8072;c[d>>2]=e;ad(e,c[b+48>>2]|0,(a[b+60>>0]|0)!=0,b+16|0,b+32|0);a[b+61>>0]=1;return}function rh(b,d){b=b|0;d=d|0;var e=0.0,f=0.0;if(a[b+1309>>0]|0){e=(+g[b+1256>>2]-+g[b+1316>>2])*+g[b+1340>>2];g[b+792>>2]=e*(+g[d>>2]*+g[b+1364>>2]/+(c[d+48>>2]|0));e=+F(+e);g[b+808>>2]=e/+g[d>>2]}if(a[b+1310>>0]|0){e=(+g[b+1260>>2]-+g[b+1320>>2])*+g[b+1344>>2];g[b+796>>2]=e*(+g[d>>2]*+g[b+1368>>2]/+(c[d+48>>2]|0));e=+F(+e);g[b+812>>2]=e/+g[d>>2]}if(a[b+1311>>0]|0){e=(+g[b+1264>>2]-+g[b+1324>>2])*+g[b+1348>>2];g[b+800>>2]=e*(+g[d>>2]*+g[b+1372>>2]/+(c[d+48>>2]|0));e=+F(+e);g[b+816>>2]=e/+g[d>>2]}if(a[b+1312>>0]|0){f=-((+g[b+1192>>2]-+g[b+1328>>2])*+g[b+1352>>2]);e=+g[d>>2];g[b+876>>2]=e*+g[b+1376>>2]/+(c[d+48>>2]|0)*f;g[b+880>>2]=+F(+f)/e}if(a[b+1313>>0]|0){e=-((+g[b+1196>>2]-+g[b+1332>>2])*+g[b+1356>>2]);f=+g[d>>2];g[b+940>>2]=f*+g[b+1380>>2]/+(c[d+48>>2]|0)*e;g[b+944>>2]=+F(+e)/f}if(!(a[b+1314>>0]|0)){Sf(b,d);return}e=-((+g[b+1200>>2]-+g[b+1336>>2])*+g[b+1360>>2]);f=+g[d>>2];g[b+1004>>2]=f*+g[b+1384>>2]/+(c[d+48>>2]|0)*e;g[b+1008>>2]=+F(+e)/f;Sf(b,d);return}function sh(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,k=0,l=0.0,m=0.0;if(a[b+48>>0]|0){c[d>>2]=0;c[d+4>>2]=0;return}c[d>>2]=4;c[d+4>>2]=2;_c(b,(c[b+28>>2]|0)+4|0,(c[b+32>>2]|0)+4|0);g[b+1088>>2]=0.0;a[b+297>>0]=0;f=+g[b+192>>2];h=+g[b+196>>2];do if(f<=h){m=+g[b+892>>2];l=+g[b+908>>2];i=+g[b+924>>2];i=+Ij(+O(+(+g[b+832>>2]*m+ +g[b+848>>2]*l+ +g[b+864>>2]*i),+(+g[b+828>>2]*m+ +g[b+844>>2]*l+ +g[b+860>>2]*i)),f,h);g[b+1084>>2]=i;if(i<f){g[b+1088>>2]=i-f;a[b+297>>0]=1;k=1;break}if(i>h){g[b+1088>>2]=i-h;a[b+297>>0]=1;k=1}else k=0}else k=0;while(0);a[b+296>>0]=0;e=c[b+1032>>2]|0;c[b+1080>>2]=e;f=+g[b+184>>2];h=+g[b+188>>2];i=(c[j>>2]=e,+g[j>>2]);do if(!(f<=h))e=11;else{if(!(i>h)){if(!(i<f)){e=11;break}}else f=h;g[b+1032>>2]=i-f;a[b+296>>0]=1;e=13}while(0);if((e|0)==11?(g[b+1032>>2]=0.0,a[b+1096>>0]|0):0)e=13;if((e|0)==13){c[d>>2]=(c[d>>2]|0)+1;c[d+4>>2]=(c[d+4>>2]|0)+-1}if(k<<24>>24==0?(a[b+1112>>0]|0)==0:0)return;c[d>>2]=(c[d>>2]|0)+1;c[d+4>>2]=(c[d+4>>2]|0)+-1;return}function th(a,b,d,e,f,h,i,j,k,m){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;h=+h;i=+i;j=+j;k=+k;m=+m;var n=0;n=l;l=l+128|0;c[n+80>>2]=c[a+4>>2];c[n+80+4>>2]=c[a+20>>2];c[n+80+8>>2]=c[a+36>>2];g[n+80+12>>2]=0.0;c[n+80+16>>2]=c[a+8>>2];c[n+80+20>>2]=c[a+24>>2];c[n+80+24>>2]=c[a+40>>2];g[n+80+28>>2]=0.0;c[n+80+32>>2]=c[a+12>>2];c[n+80+36>>2]=c[a+28>>2];c[n+80+40>>2]=c[a+44>>2];g[n+80+44>>2]=0.0;c[n+32>>2]=c[b+4>>2];c[n+32+4>>2]=c[b+20>>2];c[n+32+8>>2]=c[b+36>>2];g[n+32+12>>2]=0.0;c[n+32+16>>2]=c[b+8>>2];c[n+32+20>>2]=c[b+24>>2];c[n+32+24>>2]=c[b+40>>2];g[n+32+28>>2]=0.0;c[n+32+32>>2]=c[b+12>>2];c[n+32+36>>2]=c[b+28>>2];c[n+32+40>>2]=c[b+44>>2];g[n+32+44>>2]=0.0;h=h-+g[a+56>>2];i=i-+g[a+60>>2];g[n+16>>2]=f-+g[a+52>>2];g[n+16+4>>2]=h;g[n+16+8>>2]=i;g[n+16+12>>2]=0.0;k=k-+g[b+56>>2];m=m-+g[b+60>>2];g[n>>2]=j-+g[b+52>>2];g[n+4>>2]=k;g[n+8>>2]=m;g[n+12>>2]=0.0;Ag(d,n+80|0,n+32|0,n+16|0,n,e,a+396|0,+g[a+344>>2],b+396|0,+g[b+344>>2]);l=n;return}function uh(a,b,d,e,f){a=a|0;b=+b;d=+d;e=+e;f=f|0;var h=0,i=0,j=0,k=0,m=0.0,n=0.0;j=l;l=l+48|0;m=1.0/+G(+(b*b+d*d+e*e));g[f>>2]=m*b;g[f+4>>2]=m*d;g[f+8>>2]=m*e;g[f+12>>2]=0.0;h=c[a+120>>2]|0;k=c[a+124>>2]|0;i=(c[a>>2]|0)+(k>>1)|0;if(k&1)h=c[(c[i>>2]|0)+h>>2]|0;Vb[h&127](j,i,f);b=-+g[f>>2];d=-+g[f+4>>2];e=-+g[f+8>>2];h=c[a+120>>2]|0;k=c[a+124>>2]|0;i=(c[a+4>>2]|0)+(k>>1)|0;if(k&1)h=c[(c[i>>2]|0)+h>>2]|0;m=+g[a+24>>2]*b+ +g[a+28>>2]*d+ +g[a+32>>2]*e;n=+g[a+40>>2]*b+ +g[a+44>>2]*d+ +g[a+48>>2]*e;g[j+16>>2]=+g[a+8>>2]*b+ +g[a+12>>2]*d+ +g[a+16>>2]*e;g[j+16+4>>2]=m;g[j+16+8>>2]=n;g[j+16+12>>2]=0.0;Vb[h&127](j+32|0,i,j+16|0);n=+g[j+32>>2];b=+g[j+32+4>>2];d=+g[j+32+8>>2];e=+g[j+4>>2]-(n*+g[a+72>>2]+b*+g[a+76>>2]+d*+g[a+80>>2]+ +g[a+108>>2]);m=+g[j+8>>2]-(n*+g[a+88>>2]+b*+g[a+92>>2]+d*+g[a+96>>2]+ +g[a+112>>2]);g[f+16>>2]=+g[j>>2]-(n*+g[a+56>>2]+b*+g[a+60>>2]+d*+g[a+64>>2]+ +g[a+104>>2]);g[f+20>>2]=e;g[f+24>>2]=m;g[f+28>>2]=0.0;l=j;return}function vh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if(a[b+165>>0]|0){if((c[b+92>>2]|0)>=(d|0))return;if((d|0)!=0?(c[6485]=(c[6485]|0)+1,e=ic((d<<4|3)+16|0)|0,(e|0)!=0):0){c[(e+4+15&-16)+-4>>2]=e;g=e+4+15&-16}else g=0;e=c[b+88>>2]|0;if((e|0)>0){f=0;do{i=g+(f<<4)|0;h=(c[b+96>>2]|0)+(f<<4)|0;c[i>>2]=c[h>>2];c[i+4>>2]=c[h+4>>2];c[i+8>>2]=c[h+8>>2];c[i+12>>2]=c[h+12>>2];f=f+1|0}while((f|0)!=(e|0))}e=c[b+96>>2]|0;if(e|0){if(a[b+100>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[e+-4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=g;c[b+92>>2]=d;return}if((c[b+112>>2]|0)>=(d|0))return;if((d|0)!=0?(c[6485]=(c[6485]|0)+1,f=ic((d<<2|3)+16|0)|0,(f|0)!=0):0){c[(f+4+15&-16)+-4>>2]=f;h=f+4+15&-16}else h=0;f=c[b+108>>2]|0;g=c[b+116>>2]|0;if((f|0)<=0)if(!g)e=b+120|0;else i=21;else{e=0;do{c[h+(e<<2)>>2]=c[g+(e<<2)>>2];e=e+1|0}while((e|0)!=(f|0));i=21}if((i|0)==21){if(a[b+120>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[g+-4>>2]|0)}c[b+116>>2]=0;e=b+120|0}a[e>>0]=1;c[b+116>>2]=h;c[b+112>>2]=d;return}function wh(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;if(!(c[i+44>>2]|0))return;b=c[i+20>>2]|0;if(!(c[i+64>>2]&256)){if((b|0)<=0)return;j=0;do{g=c[a+28>>2]|0;if((g|0)>0){b=0;do{f=c[(c[a+116>>2]|0)+(b<<2)>>2]|0;h=c[a+36>>2]|0;d=c[a+16>>2]|0;sg(d+((c[h+(f*152|0)+144>>2]|0)*244|0)|0,d+((c[h+(f*152|0)+148>>2]|0)*244|0)|0,h+(f*152|0)|0);b=b+1|0}while((b|0)!=(g|0));b=c[i+20>>2]|0}j=j+1|0}while((j|0)<(b|0));return}else{if((b|0)<=0)return;j=0;do{g=c[a+28>>2]|0;if((g|0)>0){b=0;do{f=c[(c[a+116>>2]|0)+(b<<2)>>2]|0;h=c[a+36>>2]|0;d=c[a+16>>2]|0;sg(d+((c[h+(f*152|0)+144>>2]|0)*244|0)|0,d+((c[h+(f*152|0)+148>>2]|0)*244|0)|0,h+(f*152|0)|0);b=b+1|0}while((b|0)!=(g|0));b=c[i+20>>2]|0}j=j+1|0}while((j|0)<(b|0));return}}function xh(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;if(!(a[d+164>>0]|0)){if((c[d+152>>2]|0)>=(e|0))return;if((e|0)!=0?(c[6485]=(c[6485]|0)+1,g=ic((e<<1)+19|0)|0,(g|0)!=0):0){c[(g+4+15&-16)+-4>>2]=g;i=g+4+15&-16}else i=0;g=c[d+148>>2]|0;h=c[d+156>>2]|0;if((g|0)<=0)if(!h)f=d+160|0;else j=22;else{f=0;do{b[i+(f<<1)>>1]=b[h+(f<<1)>>1]|0;f=f+1|0}while((f|0)!=(g|0));j=22}if((j|0)==22){if(a[d+160>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[h+-4>>2]|0)}c[d+156>>2]=0;f=d+160|0}a[f>>0]=1;c[d+156>>2]=i;c[d+152>>2]=e;return}else{if((c[d+132>>2]|0)>=(e|0))return;if((e|0)!=0?(c[6485]=(c[6485]|0)+1,f=ic((e<<2|3)+16|0)|0,(f|0)!=0):0){c[(f+4+15&-16)+-4>>2]=f;i=f+4+15&-16}else i=0;g=c[d+128>>2]|0;h=c[d+136>>2]|0;if((g|0)<=0)if(!h)f=d+140|0;else j=10;else{f=0;do{c[i+(f<<2)>>2]=c[h+(f<<2)>>2];f=f+1|0}while((f|0)!=(g|0));j=10}if((j|0)==10){if(a[d+140>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[h+-4>>2]|0)}c[d+136>>2]=0;f=d+140|0}a[f>>0]=1;c[d+136>>2]=i;c[d+132>>2]=e;return}}function yh(a,b,d){a=a|0;b=b|0;d=d|0;Zh(a,b,d)|0;c[b+52>>2]=c[a+300>>2];c[b+56>>2]=c[a+304>>2];c[b+60>>2]=c[a+308>>2];c[b+64>>2]=c[a+312>>2];c[b+68>>2]=c[a+316>>2];c[b+72>>2]=c[a+320>>2];c[b+76>>2]=c[a+324>>2];c[b+80>>2]=c[a+328>>2];c[b+84>>2]=c[a+332>>2];c[b+88>>2]=c[a+336>>2];c[b+92>>2]=c[a+340>>2];c[b+96>>2]=c[a+344>>2];c[b+100>>2]=c[a+348>>2];c[b+104>>2]=c[a+352>>2];c[b+108>>2]=c[a+356>>2];c[b+112>>2]=c[a+360>>2];c[b+116>>2]=c[a+364>>2];c[b+120>>2]=c[a+368>>2];c[b+124>>2]=c[a+372>>2];c[b+128>>2]=c[a+376>>2];c[b+132>>2]=c[a+380>>2];c[b+136>>2]=c[a+384>>2];c[b+140>>2]=c[a+388>>2];c[b+144>>2]=c[a+392>>2];c[b+148>>2]=c[a+396>>2];c[b+152>>2]=c[a+400>>2];c[b+156>>2]=c[a+404>>2];c[b+160>>2]=c[a+408>>2];c[b+164>>2]=c[a+412>>2];c[b+168>>2]=c[a+416>>2];c[b+172>>2]=c[a+420>>2];c[b+176>>2]=c[a+424>>2];c[b+180>>2]=c[a+444>>2];c[b+184>>2]=c[a+448>>2];c[b+188>>2]=c[a+452>>2];c[b+192>>2]=c[a+428>>2];c[b+196>>2]=c[a+432>>2];c[b+200>>2]=c[a+436>>2];c[b+204>>2]=c[a+440>>2];return 12787}function zh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0;c[6485]=(c[6485]|0)+1;h=ic(55)|0;if(!h)j=0;else{c[(h+4+15&-16)+-4>>2]=h;j=h+4+15&-16}c[j>>2]=d;c[j+4>>2]=e;c[j+8>>2]=f;c[j+12>>2]=-1;c[j+16>>2]=-1;c[j+20>>2]=-1;c[j+28>>2]=-1;g[j+32>>2]=0.0;f=j;d=c[b+4>>2]|0;c[j+24>>2]=d;if((d|0)!=(c[b+8>>2]|0)){i=d;e=b+12|0;e=c[e>>2]|0;e=e+(i<<2)|0;c[e>>2]=f;i=i+1|0;c[b+4>>2]=i;return j|0}i=d|0?d<<1:1;if((d|0)>=(i|0)){i=d;e=b+12|0;e=c[e>>2]|0;e=e+(i<<2)|0;c[e>>2]=f;i=i+1|0;c[b+4>>2]=i;return j|0}if(!i)h=0;else{c[6485]=(c[6485]|0)+1;h=ic((i<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}d=c[b+4>>2]|0}if((d|0)>0){e=0;do{c[h+(e<<2)>>2]=c[(c[b+12>>2]|0)+(e<<2)>>2];e=e+1|0}while((e|0)!=(d|0))}e=c[b+12>>2]|0;if(e){if(a[b+16>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[e+-4>>2]|0);d=c[b+4>>2]|0}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=h;c[b+8>>2]=i;i=d;e=b+12|0;e=c[e>>2]|0;e=e+(i<<2)|0;c[e>>2]=f;i=i+1|0;c[b+4>>2]=i;return j|0}function Ah(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0;o=+Db[c[(c[a>>2]|0)+48>>2]&15](a);u=+g[a+72>>2];t=+g[a+56>>2];r=+g[a+76>>2];q=+g[a+60>>2];n=+g[a+80>>2];m=+g[a+64>>2];E=+g[b>>2];y=+F(+E);D=+g[b+4>>2];x=+F(+D);k=+g[b+8>>2];l=+F(+k);C=+g[b+16>>2];w=+F(+C);B=+g[b+20>>2];v=+F(+B);i=+g[b+24>>2];j=+F(+i);A=+g[b+32>>2];s=+F(+A);z=+g[b+36>>2];p=+F(+z);f=+g[b+40>>2];h=+F(+f);k=(u+t)*.5*E+(r+q)*.5*D+(n+m)*.5*k+ +g[b+48>>2];i=(u+t)*.5*C+(r+q)*.5*B+(n+m)*.5*i+ +g[b+52>>2];f=(u+t)*.5*A+(r+q)*.5*z+(n+m)*.5*f+ +g[b+56>>2];l=(o+(u-t)*.5)*y+(o+(r-q)*.5)*x+(o+(n-m)*.5)*l;j=(o+(u-t)*.5)*w+(o+(r-q)*.5)*v+(o+(n-m)*.5)*j;h=(o+(u-t)*.5)*s+(o+(r-q)*.5)*p+(o+(n-m)*.5)*h;g[d>>2]=k-l;g[d+4>>2]=i-j;g[d+8>>2]=f-h;g[d+12>>2]=0.0;g[e>>2]=l+k;g[e+4>>2]=j+i;g[e+8>>2]=h+f;g[e+12>>2]=0.0;return}function Bh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0,z=0;f=l;l=l+16|0;y=c[a+52>>2]|0;z=c[a+28+(((y+2|0)%3|0)<<2)>>2]|0;c[f>>2]=z;c[f+4>>2]=z;c[f+8>>2]=z;g[f+12>>2]=0.0;g[f+(y<<2)>>2]=(c[j>>2]=z,+g[j>>2])+ +g[a+28+(y<<2)>>2];k=+Db[c[(c[a>>2]|0)+48>>2]&15](a);h=+Db[c[(c[a>>2]|0)+48>>2]&15](a);o=+Db[c[(c[a>>2]|0)+48>>2]&15](a);k=k+ +g[f>>2];g[f>>2]=k;h=h+ +g[f+4>>2];g[f+4>>2]=h;o=o+ +g[f+8>>2];v=+F(+(+g[b>>2]));u=+F(+(+g[b+4>>2]));w=+F(+(+g[b+8>>2]));r=+F(+(+g[b+16>>2]));q=+F(+(+g[b+20>>2]));s=+F(+(+g[b+24>>2]));m=+F(+(+g[b+32>>2]));i=+F(+(+g[b+36>>2]));n=+F(+(+g[b+40>>2]));x=+g[b+48>>2];t=+g[b+52>>2];p=+g[b+56>>2];g[d>>2]=x-(o*w+(v*k+u*h));g[d+4>>2]=t-(o*s+(r*k+q*h));g[d+8>>2]=p-(o*n+(m*k+i*h));g[d+12>>2]=0.0;g[e>>2]=x+(o*w+(v*k+u*h));g[e+4>>2]=t+(o*s+(r*k+q*h));g[e+8>>2]=p+(o*n+(m*k+i*h));g[e+12>>2]=0.0;l=f;return}function Ch(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0.0,h=0.0,i=0.0,j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0;j=l;l=l+32|0;n=+g[a+56>>2];r=+g[a+72>>2]-n;m=+g[a+60>>2];p=+g[a+76>>2]-m;k=+g[a+64>>2];s=+g[a+80>>2]-k;o=+g[a+88>>2]-n;q=+g[a+92>>2]-m;h=+g[a+96>>2]-k;i=1.0/+G(+((r*q-p*o)*(r*q-p*o)+((p*h-s*q)*(p*h-s*q)+(s*o-r*h)*(s*o-r*h))));f=i*(p*h-s*q);h=i*(s*o-r*h);i=(r*q-p*o)*i;k=+g[b>>2]*f+ +g[b+4>>2]*h+i*+g[b+8>>2]-(f*n+h*m+i*k);if(!(k>=-d)|!(k<=d)){a=0;l=j;return a|0}e=0;while(1){Zb[c[(c[a>>2]|0)+104>>2]&127](a,e,j+16|0,j);n=+g[j+16>>2];s=+g[j>>2]-n;p=+g[j+16+4>>2];o=+g[j+4>>2]-p;m=+g[j+16+8>>2];r=+g[j+8>>2]-m;q=1.0/+G(+((h*s-f*o)*(h*s-f*o)+((i*o-h*r)*(i*o-h*r)+(f*r-i*s)*(f*r-i*s))));e=e+1|0;if(+g[b>>2]*q*(i*o-h*r)+ +g[b+4>>2]*q*(f*r-i*s)+(h*s-f*o)*q*+g[b+8>>2]-(m*(h*s-f*o)*q+(n*q*(i*o-h*r)+p*q*(f*r-i*s)))<-d){e=0;b=5;break}if((e|0)>=3){e=1;b=5;break}}if((b|0)==5){l=j;return e|0}return 0}function Dh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0;if(a[d+32>>0]&1){f=c[b+4>>2]|0;if(f|0)Zk(f,d,e);f=c[b>>2]|0;if(f|0){n=+g[d>>2];l=+g[f+128>>2];m=+g[d+4>>2];k=+g[d+8>>2];h=+g[e+4>>2];p=+g[e+8>>2];o=+g[e>>2];j=+g[f+180>>2]*(k*h-m*p)+ +g[f+184>>2]*(n*p-k*o)+(m*o-n*h)*+g[f+188>>2];i=(k*h-m*p)*+g[f+196>>2]+(n*p-k*o)*+g[f+200>>2]+(m*o-n*h)*+g[f+204>>2];h=(k*h-m*p)*+g[f+212>>2]+(n*p-k*o)*+g[f+216>>2]+(m*o-n*h)*+g[f+220>>2];g[f+244>>2]=n*l+ +g[f+244>>2];g[f+248>>2]=l*m+ +g[f+248>>2];g[f+252>>2]=l*k+ +g[f+252>>2];g[f+316>>2]=n*l+ +g[f+316>>2];g[f+320>>2]=l*m+ +g[f+320>>2];g[f+324>>2]=l*k+ +g[f+324>>2];g[f+260>>2]=j+ +g[f+260>>2];g[f+264>>2]=i+ +g[f+264>>2];g[f+268>>2]=h+ +g[f+268>>2];g[f+332>>2]=j+ +g[f+332>>2];g[f+336>>2]=i+ +g[f+336>>2];g[f+340>>2]=h+ +g[f+340>>2];c[f+308>>2]=(c[f+308>>2]|0)+1}}if(!(a[d+32>>0]&2))return;Oi(b,d+16|0,e);return}function Eh(a){a=a|0;var b=0,d=0,e=0,f=0;d=l;l=l+16|0;bj(14360);lb[c[(c[a>>2]|0)+8>>2]&511](a);lb[c[(c[a>>2]|0)+12>>2]&511](a);b=c[a+24>>2]|0;bj(14394);if(b|0){f=c[(c[b>>2]|0)+32>>2]|0;e=c[a+68>>2]|0;e=pb[c[(c[e>>2]|0)+36>>2]&127](e)|0;Zb[f&127](b,e,a+28|0,c[a+24>>2]|0)}a=c[2380]|0;f=(c[a+16>>2]|0)+-1|0;c[a+16>>2]=f;do if(!f){if(c[a+4>>2]|0){Za(d|0,0)|0;b=c[6484]|0;g[a+8>>2]=+(((c[d+4>>2]|0)-(c[b+4>>2]|0)+(((c[d>>2]|0)-(c[b>>2]|0)|0)*1e6|0)-(c[a+12>>2]|0)|0)>>>0)/1.0e3+ +g[a+8>>2];b=c[2380]|0;if(c[a+16>>2]|0)break}else b=a;b=c[b+20>>2]|0;c[2380]=b}else b=a;while(0);a=b+16|0;f=(c[a>>2]|0)+-1|0;c[a>>2]=f;if(f|0){l=d;return}do if(c[b+4>>2]|0){Za(d|0,0)|0;e=c[6484]|0;f=b+8|0;g[f>>2]=+(((c[d+4>>2]|0)-(c[e+4>>2]|0)+(((c[d>>2]|0)-(c[e>>2]|0)|0)*1e6|0)-(c[b+12>>2]|0)|0)>>>0)/1.0e3+ +g[f>>2];if(!(c[a>>2]|0)){b=c[2380]|0;break}else{l=d;return}}while(0);c[2380]=c[b+20>>2];l=d;return}function Fh(b,d){b=b|0;d=d|0;var e=0;c[b>>2]=8932;a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;a[b+60>>0]=1;c[b+56>>2]=0;c[b+48>>2]=0;c[b+52>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=-1;c[b+16>>2]=0;c[b+20>>2]=0;a[b+100>>0]=1;c[b+96>>2]=0;c[b+88>>2]=0;c[b+92>>2]=0;a[b+120>>0]=1;c[b+116>>2]=0;c[b+108>>2]=0;c[b+112>>2]=0;c[b+64>>2]=0;c[b+68>>2]=0;c[b+72>>2]=-1;c[b+76>>2]=0;c[b+80>>2]=0;a[b+193>>0]=0;a[b+194>>0]=1;a[b+192>>0]=((d|0)!=0^1)&1;g[b+140>>2]=0.0;c[b+144>>2]=0;c[b+164>>2]=0;c[b+148>>2]=1;c[b+152>>2]=0;c[b+156>>2]=10;c[b+160>>2]=1;c[b+168>>2]=0;c[b+172>>2]=0;g[b+176>>2]=0.0;if(d|0){e=d;d=b+136|0;c[d>>2]=e;d=b+188|0;c[d>>2]=0;d=b+180|0;c[d>>2]=0;d=b+184|0;c[d>>2]=0;b=b+124|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;return}c[6485]=(c[6485]|0)+1;d=ic(95)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}ri(d);e=b+136|0;c[e>>2]=d;e=b+188|0;c[e>>2]=0;e=b+180|0;c[e>>2]=0;e=b+184|0;c[e>>2]=0;e=b+124|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;return}function Gh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0,j=0.0,k=0.0;i=c[b>>2]|0;if((i|0)==(c[a+80>>2]|0)){k=1.0;return +k}if(c[i+204>>2]&4|0){k=1.0;return +k}h=+g[b+8>>2];f=+g[b+12>>2];e=+g[b+16>>2];if(d){j=h;k=f}else{j=+g[i+4>>2]*h+ +g[i+8>>2]*f+ +g[i+12>>2]*e;k=h*+g[i+20>>2]+f*+g[i+24>>2]+e*+g[i+28>>2];e=h*+g[i+36>>2]+f*+g[i+40>>2]+e*+g[i+44>>2]}if(j*+g[a+84>>2]+k*+g[a+88>>2]+e*+g[a+92>>2]<+g[a+100>>2]){k=1.0;return +k}c[a+4>>2]=c[b+40>>2];c[a+76>>2]=i;if(d){c[a+44>>2]=c[b+8>>2];c[a+44+4>>2]=c[b+8+4>>2];c[a+44+8>>2]=c[b+8+8>>2];c[a+44+12>>2]=c[b+8+12>>2]}else{e=+g[b+8>>2];f=+g[b+12>>2];h=+g[b+16>>2];j=e*+g[i+20>>2]+f*+g[i+24>>2]+h*+g[i+28>>2];k=e*+g[i+36>>2]+f*+g[i+40>>2]+h*+g[i+44>>2];g[a+44>>2]=+g[i+4>>2]*e+ +g[i+8>>2]*f+ +g[i+12>>2]*h;g[a+48>>2]=j;g[a+52>>2]=k;g[a+56>>2]=0.0}c[a+60>>2]=c[b+24>>2];c[a+60+4>>2]=c[b+24+4>>2];c[a+60+8>>2]=c[b+24+8>>2];c[a+60+12>>2]=c[b+24+12>>2];k=+g[b+40>>2];return +k}function Hh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[b+16>>2]|0;if(d|0){if(a[b+20>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;d=c[b+40>>2]|0;if(d|0){if(a[b+44>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+40>>2]=0}a[b+44>>0]=1;c[b+40>>2]=0;c[b+32>>2]=0;c[b+36>>2]=0;d=c[b+60>>2]|0;if(d|0){if(a[b+64>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+60>>2]=0}a[b+64>>0]=1;c[b+60>>2]=0;c[b+52>>2]=0;c[b+56>>2]=0;if((c[b+12>>2]|0)>=2){Ff(b);return}c[6485]=(c[6485]|0)+1;d=ic(43)|0;if(!d)f=0;else{c[(d+4+15&-16)+-4>>2]=d;f=d+4+15&-16}d=c[b+8>>2]|0;if((d|0)>0){e=0;do{g=f+(e*12|0)|0;h=(c[b+16>>2]|0)+(e*12|0)|0;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];e=e+1|0}while((e|0)!=(d|0))}d=c[b+16>>2]|0;if(d|0){if(a[b+20>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=f;c[b+12>>2]=2;Ff(b);return}function Ih(a,b,e){a=a|0;b=b|0;e=e|0;Zh(a,b,e)|0;c[b+52>>2]=c[a+52>>2];c[b+56>>2]=c[a+56>>2];c[b+60>>2]=c[a+60>>2];c[b+64>>2]=c[a+64>>2];c[b+68>>2]=c[a+68>>2];c[b+72>>2]=c[a+72>>2];c[b+76>>2]=c[a+76>>2];c[b+80>>2]=c[a+80>>2];c[b+84>>2]=c[a+84>>2];c[b+88>>2]=c[a+88>>2];c[b+92>>2]=c[a+92>>2];c[b+96>>2]=c[a+96>>2];c[b+100>>2]=c[a+100>>2];c[b+104>>2]=c[a+104>>2];c[b+108>>2]=c[a+108>>2];c[b+112>>2]=c[a+112>>2];c[b+116>>2]=c[a+116>>2];c[b+120>>2]=c[a+120>>2];c[b+124>>2]=c[a+124>>2];c[b+128>>2]=c[a+128>>2];c[b+132>>2]=c[a+132>>2];c[b+136>>2]=c[a+136>>2];c[b+140>>2]=c[a+140>>2];c[b+144>>2]=c[a+144>>2];c[b+148>>2]=c[a+148>>2];c[b+152>>2]=c[a+152>>2];c[b+156>>2]=c[a+156>>2];c[b+160>>2]=c[a+160>>2];c[b+164>>2]=c[a+164>>2];c[b+168>>2]=c[a+168>>2];c[b+172>>2]=c[a+172>>2];c[b+176>>2]=c[a+176>>2];c[b+180>>2]=c[a+188>>2];c[b+184>>2]=c[a+184>>2];c[b+188>>2]=c[a+196>>2];c[b+192>>2]=c[a+192>>2];c[b+196>>2]=d[a+180>>0];c[b+200>>2]=d[a+49>>0];return 12743}function Jh(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0;c[6485]=(c[6485]|0)+1;b=ic((h+2|0)>>>0>268435455?18:(h+2<<4|3)+16|0)|0;if(!b)k=0;else{c[(b+4+15&-16)+-4>>2]=b;k=b+4+15&-16}j=UG((h+2|0)>>>0>1073741823?-1:h+2<<2)|0;if((h|0)>-2){b=0;do{o=+(b|0)/+(h+1|0);n=+g[e>>2];m=+g[e+4>>2];m=m+o*(+g[f+4>>2]-m);l=+g[e+8>>2];l=l+o*(+g[f+8>>2]-l);g[k+(b<<4)>>2]=n+o*(+g[f>>2]-n);g[k+(b<<4)+4>>2]=m;g[k+(b<<4)+8>>2]=l;g[k+(b<<4)+12>>2]=0.0;g[j+(b<<2)>>2]=1.0;b=b+1|0}while((b|0)<(h+2|0))}c[6485]=(c[6485]|0)+1;b=ic(1271)|0;if(!b)e=0;else{c[(b+4+15&-16)+-4>>2]=b;e=b+4+15&-16}uc(e,d,h+2|0,k,j);if(i&1|0){g[(c[e+720>>2]|0)+88>>2]=0.0;a[e+924>>0]=1}if(i&2|0){g[(c[e+720>>2]|0)+((h+1|0)*104|0)+88>>2]=0.0;a[e+924>>0]=1}if(k|0){c[6486]=(c[6486]|0)+1;Uc(c[k+-4>>2]|0)}VG(j);if((h+2|0)>1)b=1;else return e|0;do{Hf(e,b+-1|0,b,0,0);b=b+1|0}while((b|0)!=(h+2|0));return e|0}function Kh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0;e=l;l=l+48|0;d=c[b+388>>2]|0;switch(c[a+388>>2]&48&d&63){case 32:{if((a|0)==(b|0)&(d&64|0)==0){l=e;return}g[e+16+4>>2]=1.0;d=e+16+8+4|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[e+16>>2]=3668;c[e+16+8>>2]=c[a+456>>2];d=c[a+192>>2]|0;f=+Db[c[(c[d>>2]|0)+48>>2]&15](d);d=c[b+192>>2]|0;g[e+16+12>>2]=f+ +Db[c[(c[d>>2]|0)+48>>2]&15](d);c[e+16+16>>2]=c[(+g[a+316>>2]<+g[b+316>>2]?a+316|0:b+316|0)>>2];c[e+16+24>>2]=a;c[e+16+28>>2]=b;se(c[a+1048>>2]|0,c[b+1048>>2]|0,e+16|0);l=e;return}case 16:{if((a|0)==(b|0)){l=e;return}c[e>>2]=3704;d=c[a+192>>2]|0;f=+Db[c[(c[d>>2]|0)+48>>2]&15](d);d=c[b+192>>2]|0;g[e+12>>2]=f+ +Db[c[(c[d>>2]|0)+48>>2]&15](d);c[e+4>>2]=a;c[e+8>>2]=b;se(c[a+928>>2]|0,c[b+988>>2]|0,e);c[e+4>>2]=b;c[e+8>>2]=a;se(c[b+928>>2]|0,c[a+988>>2]|0,e);l=e;return}default:{l=e;return}}}function Lh(){var b=0,d=0,e=0;d=Wr(288)|0;c[d+164>>2]=1065353216;c[d+168>>2]=1065353216;c[d+172>>2]=1065353216;g[d+176>>2]=0.0;c[d+180>>2]=0;g[d+184>>2]=999999984306749440.0;c[d+188>>2]=0;c[d+188+4>>2]=0;c[d+188+8>>2]=0;c[d+188+12>>2]=0;c[d+204>>2]=1;c[d+208>>2]=-1;c[d+212>>2]=-1;c[d+216>>2]=1;g[d+220>>2]=0.0;g[d+224>>2]=.5;g[d+228>>2]=0.0;g[d+232>>2]=0.0;c[d+240>>2]=0;g[d+244>>2]=1.0;c[d+248>>2]=0;c[d+248+4>>2]=0;c[d+248+8>>2]=0;c[d+248+12>>2]=0;c[d+4>>2]=1065353216;c[d+8>>2]=0;c[d+8+4>>2]=0;c[d+8+8>>2]=0;c[d+8+12>>2]=0;c[d+24>>2]=1065353216;c[d+28>>2]=0;c[d+28+4>>2]=0;c[d+28+8>>2]=0;c[d+28+12>>2]=0;c[d+44>>2]=1065353216;c[d+48>>2]=0;c[d+48+4>>2]=0;c[d+48+8>>2]=0;c[d+48+12>>2]=0;c[d+48+16>>2]=0;a[d+280>>0]=1;c[d+276>>2]=0;c[d+268>>2]=0;c[d+272>>2]=0;c[d+236>>2]=4;c[d>>2]=5180;c[6485]=(c[6485]|0)+1;b=ic(95)|0;if(!b){e=0;ri(e);b=d+284|0;c[b>>2]=e;return d|0}c[(b+4+15&-16)+-4>>2]=b;b=b+4+15&-16;ri(b);e=d+284|0;c[e>>2]=b;return d|0}function Mh(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var h=0,i=0.0,j=0.0,k=0.0,m=0.0;h=l;l=l+96|0;g[h+4>>2]=1.0;c[h+8>>2]=0;b[h+12>>1]=1;b[h+14>>1]=-1;c[h+16>>2]=0;c[h>>2]=2904;c[h+20>>2]=c[d>>2];c[h+20+4>>2]=c[d+4>>2];c[h+20+8>>2]=c[d+8>>2];c[h+20+12>>2]=c[d+12>>2];c[h+36>>2]=c[e>>2];c[h+36+4>>2]=c[e+4>>2];c[h+36+8>>2]=c[e+8>>2];c[h+36+12>>2]=c[e+12>>2];a=c[a+4>>2]|0;Zb[c[(c[a>>2]|0)+32>>2]&127](a,d,e,h);d=c[h+8>>2]|0;if(!d){f=0;l=h;return f|0}if(!(c[d+236>>2]&2)){f=0;l=h;return f|0}if(c[d+204>>2]&4|0){f=0;l=h;return f|0}c[f>>2]=c[h+68>>2];c[f+4>>2]=c[h+68+4>>2];c[f+8>>2]=c[h+68+8>>2];c[f+12>>2]=c[h+68+12>>2];c[f+16>>2]=c[h+52>>2];c[f+16+4>>2]=c[h+52+4>>2];c[f+16+8>>2]=c[h+52+8>>2];c[f+16+12>>2]=c[h+52+12>>2];m=+g[f+16>>2];k=+g[f+20>>2];j=+g[f+24>>2];i=1.0/+G(+(m*m+k*k+j*j));g[f+16>>2]=m*i;g[f+20>>2]=k*i;g[f+24>>2]=j*i;c[f+32>>2]=c[h+4>>2];f=d;l=h;return f|0}function Nh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;lb[c[(c[b>>2]|0)+32>>2]&511](b);d=zb[c[(c[b>>2]|0)+16>>2]&63](b,104,1)|0;e=c[d+8>>2]|0;f=e;g=f+104|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[e+88>>2]=c[a+248>>2];c[e+92>>2]=c[a+252>>2];c[e+96>>2]=c[a+256>>2];c[e+100>>2]=c[a+260>>2];c[e>>2]=c[a+92>>2];c[e+4>>2]=c[a+96>>2];c[e+8>>2]=c[a+100>>2];c[e+12>>2]=c[a+104>>2];c[e+16>>2]=c[a+108>>2];c[e+20>>2]=c[a+116>>2];c[e+24>>2]=c[a+120>>2];c[e+28>>2]=c[a+124>>2];c[e+32>>2]=c[a+128>>2];c[e+36>>2]=c[a+132>>2];c[e+40>>2]=c[a+140>>2];c[e+44>>2]=c[a+144>>2];c[e+48>>2]=c[a+148>>2];c[e+52>>2]=c[a+152>>2];c[e+56>>2]=c[a+168>>2];c[e+60>>2]=c[a+172>>2];c[e+64>>2]=c[a+112>>2];c[e+68>>2]=c[a+156>>2];c[e+72>>2]=c[a+160>>2];c[e+76>>2]=c[a+164>>2];c[e+80>>2]=c[a+136>>2];jb[c[(c[b>>2]|0)+20>>2]&31](b,d,12341,1145853764,e);Qi(a,b);dd(a,b);lb[c[(c[b>>2]|0)+36>>2]&511](b);return}function Oh(a){a=a|0;var b=0.0,d=0,e=0,f=0.0,h=0.0,i=0.0,j=0.0;e=Ns()|0;c[e+8>>2]=0;c[e+12>>2]=1065353216;c[e+16>>2]=1065353216;c[e+20>>2]=1065353216;g[e+24>>2]=0.0;g[e+44>>2]=.03999999910593033;c[e+52>>2]=0;c[e>>2]=7936;c[e+4>>2]=0;h=+g[a>>2];f=+g[a+4>>2];b=+g[a+8>>2];b=+g[a+((h<f?(h<b?0:2):f<b?1:2)<<2)>>2]*.10000000149011612;if(b<.03999999910593033){j=+KE(e);i=+Db[c[(c[e>>2]|0)+48>>2]&15](e);h=+Db[c[(c[e>>2]|0)+48>>2]&15](e);j=j+ +g[e+28>>2];i=i+ +g[e+32>>2];h=h+ +g[e+36>>2];g[e+44>>2]=b;b=+Db[c[(c[e>>2]|0)+48>>2]&15](e);f=+Db[c[(c[e>>2]|0)+48>>2]&15](e);h=h-+Db[c[(c[e>>2]|0)+48>>2]&15](e);g[e+28>>2]=j-b;g[e+32>>2]=i-f;g[e+36>>2]=h;g[e+40>>2]=0.0;d=c[e>>2]|0}else d=7936;h=+Db[c[d+48>>2]&15](e);i=+Db[c[(c[e>>2]|0)+48>>2]&15](e);j=+Db[c[(c[e>>2]|0)+48>>2]&15](e);i=+g[a+4>>2]*+g[e+16>>2]-i;j=+g[a+8>>2]*+g[e+20>>2]-j;g[e+28>>2]=+g[a>>2]*+g[e+12>>2]-h;g[e+32>>2]=i;g[e+36>>2]=j;g[e+40>>2]=0.0;return e|0}function Ph(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0,j=0.0;i=l;l=l+32|0;c[i+16>>2]=c[d>>2];c[i+16+4>>2]=c[d+4>>2];c[i+16+8>>2]=c[d+8>>2];c[i+16+12>>2]=c[d+12>>2];e=+g[i+16>>2];h=+g[i+16+4>>2];f=+g[i+16+8>>2];if(e*e+h*h+f*f<1.4210854715202004e-14){c[i+16>>2]=-1082130432;c[i+16+4>>2]=-1082130432;c[i+16+8>>2]=-1082130432;g[i+16+12>>2]=0.0;e=-1.0;h=-1.0;f=-1.0}j=1.0/+G(+(e*e+h*h+f*f));g[i+16>>2]=e*j;g[i+16+4>>2]=h*j;g[i+16+8>>2]=f*j;rd(i,b,i+16|0);switch(c[b+4>>2]|0){case 8:{e=+g[b+28>>2]*+g[b+12>>2];break}case 0:{e=+g[b+44>>2];break}case 1:{e=+g[b+44>>2];break}case 13:{e=+g[b+44>>2];break}case 11:{e=+g[b+44>>2];break}case 10:{e=+g[b+44>>2];break}case 4:case 5:{e=+g[b+44>>2];break}default:e=+Db[c[(c[b>>2]|0)+48>>2]&15](b)}h=e*+g[i+16+4>>2]+ +g[i+4>>2];j=e*+g[i+16+8>>2]+ +g[i+8>>2];g[a>>2]=e*+g[i+16>>2]+ +g[i>>2];g[a+4>>2]=h;g[a+8>>2]=j;g[a+12>>2]=0.0;l=i;return}function Qh(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0.0,h=0.0,i=0.0,j=0.0;c[a+4>>2]=35;c[a+8>>2]=0;c[a+12>>2]=1065353216;c[a+16>>2]=1065353216;c[a+20>>2]=1065353216;g[a+24>>2]=0.0;g[a+44>>2]=.03999999910593033;c[a>>2]=8232;c[a+52>>2]=1;h=+g[b>>2];f=+g[b+4>>2];d=+g[b+8>>2];d=+g[b+((h<f?(h<d?0:2):f<d?1:2)<<2)>>2]*.10000000149011612;if(d<.03999999910593033){j=+KE(a);i=+Db[c[(c[a>>2]|0)+48>>2]&15](a);h=+Db[c[(c[a>>2]|0)+48>>2]&15](a);j=j+ +g[a+28>>2];i=i+ +g[a+32>>2];h=h+ +g[a+36>>2];g[a+44>>2]=d;d=+Db[c[(c[a>>2]|0)+48>>2]&15](a);f=+Db[c[(c[a>>2]|0)+48>>2]&15](a);h=h-+Db[c[(c[a>>2]|0)+48>>2]&15](a);g[a+28>>2]=j-d;g[a+32>>2]=i-f;g[a+36>>2]=h;g[a+40>>2]=0.0;e=c[a>>2]|0}else e=8232;h=+Db[c[e+48>>2]&15](a);i=+Db[c[(c[a>>2]|0)+48>>2]&15](a);j=+Db[c[(c[a>>2]|0)+48>>2]&15](a);i=+g[b+4>>2]*+g[a+16>>2]-i;j=+g[b+8>>2]*+g[a+20>>2]-j;g[a+28>>2]=+g[b>>2]*+g[a+12>>2]-h;g[a+32>>2]=i;g[a+36>>2]=j;g[a+40>>2]=0.0;c[a+4>>2]=13;return}function Rh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0,i=0,k=0,m=0.0,n=0,o=0.0;n=l;l=l+80|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;e=+g[d>>2];f=+g[d+4>>2];m=+g[d+8>>2];if(e*e+f*f+m*m<9.999999747378752e-05){i=1065353216;k=0;h=0;e=0.0}else{o=1.0/+G(+(e*e+f*f+m*m));i=(g[j>>2]=e*o,c[j>>2]|0);k=(g[j>>2]=f*o,c[j>>2]|0);h=(g[j>>2]=m*o,c[j>>2]|0);e=+g[d+12>>2]}c[n+32>>2]=7916;d=n+32+4|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;g[n+32+20>>2]=-999999984306749440.0;c[n+32+24>>2]=i;c[n+32+28>>2]=k;c[n+32+32>>2]=h;g[n+32+36>>2]=e;c[n+16>>2]=1566444395;c[n+16+4>>2]=1566444395;c[n+16+8>>2]=1566444395;g[n+16+12>>2]=0.0;b=c[b+92>>2]|0;k=c[(c[b>>2]|0)+8>>2]|0;g[n>>2]=-999999984306749440.0;g[n+4>>2]=-999999984306749440.0;g[n+8>>2]=-999999984306749440.0;g[n+12>>2]=0.0;Zb[k&127](b,n+32|0,n,n+16|0);c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];l=n;return}function Sh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=Kb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;g=Kb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=g;if(g|0)nb[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+28>>2]=c[a+28>>2];c[b+32>>2]=c[a+32>>2];c[b+36>>2]=c[a+36>>2];c[b+40>>2]=c[a+40>>2];c[b+12>>2]=c[a+12>>2];c[b+16>>2]=c[a+16>>2];c[b+20>>2]=c[a+20>>2];c[b+24>>2]=c[a+24>>2];c[b+44>>2]=c[a+44>>2];f=c[a+96>>2]|0;c[b+60>>2]=f;if(!f){c[b+52>>2]=0;c[b+56>>2]=0;return 17367}c[b+52>>2]=Kb[c[(c[d>>2]|0)+28>>2]&31](d,c[a+104>>2]|0)|0;c[b+56>>2]=0;g=zb[c[(c[d>>2]|0)+16>>2]&63](d,16,f)|0;if((f|0)>0){e=c[a+104>>2]|0;b=0;a=c[g+8>>2]|0;while(1){c[a>>2]=c[e+(b<<4)>>2];c[a+4>>2]=c[e+(b<<4)+4>>2];c[a+8>>2]=c[e+(b<<4)+8>>2];c[a+12>>2]=c[e+(b<<4)+12>>2];b=b+1|0;if((b|0)==(f|0))break;else a=a+16|0}}else e=c[a+104>>2]|0;jb[c[(c[d>>2]|0)+20>>2]&31](d,g,19366,1497453121,e);return 17367}function Th(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0,i=0.0,j=0.0,k=0.0,l=0,m=0.0;f=+g[b+60>>2]*.5;l=c[b+68>>2]|0;i=+g[d>>2];j=+g[d+4>>2];k=+g[d+8>>2];k=+G(+(i*i+j*j+k*k));h=c[b+64>>2]|0;do if(!(+g[d+(l<<2)>>2]>k*+g[b+52>>2])){i=+g[d+(h<<2)>>2];e=c[b+72>>2]|0;j=+g[d+(e<<2)>>2];k=+G(+(i*i+j*j));if(k>1.1920928955078125e-07){k=+g[b+56>>2]/k;g[a+(h<<2)>>2]=i*k;g[a+(l<<2)>>2]=-f;f=j*k;break}else{g[a+(h<<2)>>2]=0.0;g[a+(l<<2)>>2]=-f;f=0.0;break}}else{g[a+(h<<2)>>2]=0.0;g[a+(l<<2)>>2]=f;f=0.0;e=c[b+72>>2]|0}while(0);g[a+(e<<2)>>2]=f;if(!(+Db[c[(c[b>>2]|0)+48>>2]&15](b)!=0.0))return;i=+g[d>>2];j=+g[d+4>>2];k=+g[d+8>>2];m=i*i+j*j+k*k<1.4210854715202004e-14?-1.0:i;f=i*i+j*j+k*k<1.4210854715202004e-14?-1.0:j;k=i*i+j*j+k*k<1.4210854715202004e-14?-1.0:k;j=1.0/+G(+(k*k+(m*m+f*f)));i=+Db[c[(c[b>>2]|0)+48>>2]&15](b);g[a>>2]=+g[a>>2]+i*j*m;g[a+4>>2]=i*j*f+ +g[a+4>>2];g[a+8>>2]=i*j*k+ +g[a+8>>2];return}function Uh(a,b,d){a=a|0;b=b|0;d=d|0;c[a+300>>2]=c[b>>2];c[a+300+4>>2]=c[b+4>>2];c[a+300+8>>2]=c[b+8>>2];c[a+300+12>>2]=c[b+12>>2];c[a+316>>2]=c[b+16>>2];c[a+316+4>>2]=c[b+16+4>>2];c[a+316+8>>2]=c[b+16+8>>2];c[a+316+12>>2]=c[b+16+12>>2];c[a+332>>2]=c[b+32>>2];c[a+332+4>>2]=c[b+32+4>>2];c[a+332+8>>2]=c[b+32+8>>2];c[a+332+12>>2]=c[b+32+12>>2];c[a+348>>2]=c[b+48>>2];c[a+348+4>>2]=c[b+48+4>>2];c[a+348+8>>2]=c[b+48+8>>2];c[a+348+12>>2]=c[b+48+12>>2];c[a+364>>2]=c[d>>2];c[a+364+4>>2]=c[d+4>>2];c[a+364+8>>2]=c[d+8>>2];c[a+364+12>>2]=c[d+12>>2];c[a+380>>2]=c[d+16>>2];c[a+380+4>>2]=c[d+16+4>>2];c[a+380+8>>2]=c[d+16+8>>2];c[a+380+12>>2]=c[d+16+12>>2];c[a+396>>2]=c[d+32>>2];c[a+396+4>>2]=c[d+32+4>>2];c[a+396+8>>2]=c[d+32+8>>2];c[a+396+12>>2]=c[d+32+12>>2];c[a+412>>2]=c[d+48>>2];c[a+412+4>>2]=c[d+48+4>>2];c[a+412+8>>2]=c[d+48+8>>2];c[a+412+12>>2]=c[d+48+12>>2];lb[c[(c[a>>2]|0)+8>>2]&511](a);return}function Vh(b){b=b|0;var d=0;d=c[b>>2]|0;if(d|0)Ym(b,d);d=c[b+4>>2]|0;if(d|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+4>>2]=0;c[b+8>>2]=-1;d=c[b+32>>2]|0;if(d|0){if(a[b+36>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[b+16>>2]=0;d=c[b+52>>2]|0;if(!d){a[b+56>>0]=1;c[b+52>>2]=0;c[b+44>>2]=0;c[b+48>>2]=0;a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;return}if(!(a[b+56>>0]|0)){a[b+56>>0]=1;c[b+52>>2]=0;c[b+44>>2]=0;c[b+48>>2]=0;a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;return}c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0);d=c[b+32>>2]|0;a[b+56>>0]=1;c[b+52>>2]=0;c[b+44>>2]=0;c[b+48>>2]=0;if(!d){a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;return}if(!((a[b+36>>0]|0)==0|(d|0)==0)){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+32>>2]=0;a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;return}function Wh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0,n=0.0;m=c[a+4>>2]|0;a=c[a+64>>2]|0;do if(!m)if(!a){f=0.0;h=0.0;n=0.0;k=0.0;l=0.0;j=0.0;i=0.0;e=0.0}else{f=+g[a+4>>2];h=+g[a+8>>2];n=+g[a+12>>2];k=+g[a+16>>2];l=+g[a+20>>2];j=+g[a+24>>2];i=+g[a+28>>2];e=+g[a>>2]}else{e=+g[m>>2];if(!a){f=+g[m+4>>2];h=+g[m+8>>2];n=+g[m+12>>2];k=+g[m+16>>2];l=+g[m+20>>2];j=+g[m+24>>2];i=+g[m+28>>2];break}j=+g[a>>2];e=e<j?e:j;j=+g[m+16>>2];k=+g[a+16>>2];k=j>k?j:k;j=+g[m+4>>2];f=+g[a+4>>2];f=j<f?j:f;j=+g[m+20>>2];l=+g[a+20>>2];l=j>l?j:l;j=+g[m+8>>2];h=+g[a+8>>2];h=j<h?j:h;j=+g[m+24>>2];i=+g[a+24>>2];if(j>i){n=0.0;i=0.0}else{n=0.0;j=i;i=0.0}}while(0);g[b>>2]=e;g[b+4>>2]=f;g[b+8>>2]=h;g[b+12>>2]=n;g[d>>2]=k;g[d+4>>2]=l;g[d+8>>2]=j;g[d+12>>2]=i;return}function Xh(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;c=l;l=l+48|0;ph(a+364|0,c+16|0);h=-+g[c+16>>2];e=-+g[c+16+4>>2];m=-+g[c+16+8>>2];k=+g[c+16+12>>2];f=+g[b>>2];n=+g[b+12>>2];j=+g[b+8>>2];i=+g[b+4>>2];ph(a+300|0,c);p=+g[c>>2];q=+g[c+12>>2];d=+g[c+8>>2];o=+g[c+4>>2];g[c+32>>2]=p*(k*n-f*h-i*e-j*m)+(k*f+n*h+j*e-i*m)*q+(f*m+(n*e+k*i)-j*h)*d-(n*m+k*j+i*h-f*e)*o;g[c+32+4>>2]=p*(n*m+k*j+i*h-f*e)+(q*(f*m+(n*e+k*i)-j*h)+(k*n-f*h-i*e-j*m)*o)-(k*f+n*h+j*e-i*m)*d;g[c+32+8>>2]=q*(n*m+k*j+i*h-f*e)+(k*n-f*h-i*e-j*m)*d+(k*f+n*h+j*e-i*m)*o-p*(f*m+(n*e+k*i)-j*h);g[c+32+12>>2]=(k*n-f*h-i*e-j*m)*q-p*(k*f+n*h+j*e-i*m)-(f*m+(n*e+k*i)-j*h)*o-(n*m+k*j+i*h-f*e)*d;He(a,c+32|0);l=c;return}function Yh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;if(!e)e=c[b+188>>2]|0;j=c[d>>2]|0;f=c[b+268>>2]|0;a:do if((f|0)>0){h=c[b+276>>2]|0;g=0;while(1){if((c[h+(g<<2)>>2]|0)==(j|0))break;g=g+1|0;if((g|0)>=(f|0))break a}if((g|0)!=(f|0))return}while(0);if((f|0)==(c[b+272>>2]|0)?(i=f|0?f<<1:1,(f|0)<(i|0)):0){if(!i)h=0;else{c[6485]=(c[6485]|0)+1;f=ic((i<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=f;f=c[b+268>>2]|0}if((f|0)>0){g=0;do{c[h+(g<<2)>>2]=c[(c[b+276>>2]|0)+(g<<2)>>2];g=g+1|0}while((g|0)!=(f|0))}g=c[b+276>>2]|0;if(g){if(a[b+280>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[g+-4>>2]|0);f=c[b+268>>2]|0}c[b+276>>2]=0}a[b+280>>0]=1;c[b+276>>2]=h;c[b+272>>2]=i}c[(c[b+276>>2]|0)+(f<<2)>>2]=j;c[b+268>>2]=f+1;b=c[b+284>>2]|0;zb[c[(c[b>>2]|0)+8>>2]&63](b,e,d)|0;return}function Zh(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0;c[b>>2]=Kb[c[(c[e>>2]|0)+28>>2]&31](e,c[a+28>>2]|0)|0;c[b+4>>2]=Kb[c[(c[e>>2]|0)+28>>2]&31](e,c[a+32>>2]|0)|0;f=Kb[c[(c[e>>2]|0)+40>>2]&31](e,a)|0;g=Kb[c[(c[e>>2]|0)+28>>2]&31](e,f)|0;c[b+8>>2]=g;if(g|0)nb[c[(c[e>>2]|0)+48>>2]&127](e,f);c[b+12>>2]=c[a+4>>2];c[b+24>>2]=d[a+21>>0];c[b+40>>2]=c[a+24>>2];c[b+44>>2]=c[a+16>>2];c[b+48>>2]=d[a+20>>0];c[b+20>>2]=c[a+12>>2];c[b+16>>2]=c[a+8>>2];c[b+28>>2]=c[a+36>>2];c[b+32>>2]=c[a+40>>2];c[b+36>>2]=0;f=c[a+28>>2]|0;if((c[f+488>>2]|0)>0){e=0;do{if((c[(c[f+496>>2]|0)+(e<<2)>>2]|0)==(a|0)){c[b+36>>2]=1;f=c[a+28>>2]|0}e=e+1|0}while((e|0)<(c[f+488>>2]|0))}f=c[a+32>>2]|0;if((c[f+488>>2]|0)>0)e=0;else return 12716;do{if((c[(c[f+496>>2]|0)+(e<<2)>>2]|0)==(a|0)){c[b+36>>2]=1;f=c[a+32>>2]|0}e=e+1|0}while((e|0)<(c[f+488>>2]|0));return 12716}function _h(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192)return $a(b|0,d|0,e|0)|0;h=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return h|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}e=g&-4|0;f=e-64|0;while((b|0)<=(f|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(e|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{e=g-4|0;while((b|0)<(e|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return h|0}function $h(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(pb[c[(c[d>>2]|0)+16>>2]&127](d)|0)return;j=c[b+712>>2]|0;i=pb[c[(c[d>>2]|0)+36>>2]&127](d)|0;if(pb[c[(c[d>>2]|0)+8>>2]&127](d)|0?(f=pb[c[(c[d>>2]|0)+20>>2]&127](d)|0,h=pb[c[(c[d>>2]|0)+24>>2]&127](d)|0,(j|0)>0):0){e=c[b+720>>2]|0;g=0;a=i+(f<<2)|0;while(1){k=c[e+(g*104|0)+12>>2]|0;f=c[e+(g*104|0)+16>>2]|0;c[a>>2]=c[e+(g*104|0)+8>>2];c[a+4>>2]=k;c[a+8>>2]=f;g=g+1|0;if((g|0)==(j|0))break;else a=a+(h<<2)|0}}if(!(pb[c[(c[d>>2]|0)+12>>2]&127](d)|0))return;a=pb[c[(c[d>>2]|0)+28>>2]&127](d)|0;g=pb[c[(c[d>>2]|0)+32>>2]&127](d)|0;if((j|0)<=0)return;f=c[b+720>>2]|0;a=i+(a<<2)|0;e=0;while(1){b=c[f+(e*104|0)+76>>2]|0;k=c[f+(e*104|0)+80>>2]|0;c[a>>2]=c[f+(e*104|0)+72>>2];c[a+4>>2]=b;c[a+8>>2]=k;e=e+1|0;if((e|0)==(j|0))break;else a=a+(g<<2)|0}return}function ai(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;c[b>>2]=9444;d=c[b+56>>2]|0;if(d|0){if(a[b+60>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+56>>2]=0}a[b+60>>0]=1;c[b+56>>2]=0;c[b+48>>2]=0;c[b+52>>2]=0;e=c[b+28>>2]|0;if((e|0)>0){j=0;do{f=c[b+36>>2]|0;g=f+(j*36|0)+4|0;h=f+(j*36|0)+12|0;i=c[h>>2]|0;d=f+(j*36|0)+16|0;if(i|0){if(a[d>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[i+-4>>2]|0)}c[h>>2]=0}a[d>>0]=1;c[h>>2]=0;c[g>>2]=0;c[f+(j*36|0)+8>>2]=0;j=j+1|0}while((j|0)!=(e|0))}d=c[b+36>>2]|0;if(d|0){if(a[b+40>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;d=c[b+16>>2]|0;if(!d){a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}if(a[b+20>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}function bi(b){b=b|0;var d=0;c[b>>2]=8544;d=c[b+156>>2]|0;if(d|0){if(a[b+160>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+156>>2]=0}a[b+160>>0]=1;c[b+156>>2]=0;c[b+148>>2]=0;c[b+152>>2]=0;d=c[b+136>>2]|0;if(d|0){if(a[b+140>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+136>>2]=0}a[b+140>>0]=1;c[b+136>>2]=0;c[b+128>>2]=0;c[b+132>>2]=0;d=c[b+116>>2]|0;if(d|0){if(a[b+120>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+116>>2]=0}a[b+120>>0]=1;c[b+116>>2]=0;c[b+108>>2]=0;c[b+112>>2]=0;d=c[b+96>>2]|0;if(d|0){if(a[b+100>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=0;c[b+88>>2]=0;c[b+92>>2]=0;c[b>>2]=9460;d=c[b+32>>2]|0;if(!d){a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;b=b+28|0;c[b>>2]=0;return}if(a[b+36>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+32>>2]=0;a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;b=b+28|0;c[b>>2]=0;return}function ci(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;if((b|0)==0?1:(c[b+236>>2]|0)!=8){Cj(a,b);return}f=c[a+328>>2]|0;a:do if((f|0)>0){g=c[a+336>>2]|0;d=0;while(1){e=g+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(f|0))break a}if((d|0)<(f|0)){c[e>>2]=c[g+(f+-1<<2)>>2];c[(c[a+336>>2]|0)+(f+-1<<2)>>2]=b;c[a+328>>2]=f+-1}}while(0);d=c[b+188>>2]|0;if(d|0){g=c[a+68>>2]|0;g=pb[c[(c[g>>2]|0)+36>>2]&127](g)|0;Vb[c[(c[g>>2]|0)+40>>2]&127](g,d,c[a+24>>2]|0);g=c[a+68>>2]|0;Vb[c[(c[g>>2]|0)+12>>2]&127](g,d,c[a+24>>2]|0);c[b+188>>2]=0}f=c[a+8>>2]|0;if((f|0)<=0)return;g=c[a+16>>2]|0;d=0;while(1){e=g+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(f|0)){h=17;break}}if((h|0)==17)return;if((d|0)>=(f|0))return;c[e>>2]=c[g+(f+-1<<2)>>2];c[(c[a+16>>2]|0)+(f+-1<<2)>>2]=b;c[a+8>>2]=f+-1;return}function di(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0,j=0,k=0.0,m=0.0,n=0.0,o=0,p=0,q=0;q=l;l=l+16|0;if((e|0)<=0){l=q;return}p=0;do{o=d+(p<<4)|0;h=+g[a+60>>2]*.5;i=c[a+68>>2]|0;k=+g[b+(p<<4)>>2];m=+g[b+(p<<4)+4>>2];n=+g[b+(p<<4)+8>>2];n=+G(+(k*k+m*m+n*n));j=c[a+64>>2]|0;do if(!(+g[b+(p<<4)+(i<<2)>>2]>n*+g[a+52>>2])){k=+g[b+(p<<4)+(j<<2)>>2];f=c[a+72>>2]|0;m=+g[b+(p<<4)+(f<<2)>>2];n=+G(+(k*k+m*m));if(n>1.1920928955078125e-07){n=+g[a+56>>2]/n;g[q+(j<<2)>>2]=k*n;g[q+(i<<2)>>2]=-h;h=m*n;break}else{g[q+(j<<2)>>2]=0.0;g[q+(i<<2)>>2]=-h;h=0.0;break}}else{g[q+(j<<2)>>2]=0.0;g[q+(i<<2)>>2]=h;h=0.0;f=c[a+72>>2]|0}while(0);g[q+(f<<2)>>2]=h;c[o>>2]=c[q>>2];c[o+4>>2]=c[q+4>>2];c[o+8>>2]=c[q+8>>2];c[o+12>>2]=c[q+12>>2];p=p+1|0}while((p|0)!=(e|0));l=q;return}function ei(b){b=b|0;var d=0;c[b>>2]=9104;d=c[b+160>>2]|0;if(d|0){if(a[b+164>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+160>>2]=0}a[b+164>>0]=1;c[b+160>>2]=0;c[b+152>>2]=0;c[b+156>>2]=0;d=c[b+136>>2]|0;if(d|0){if(a[b+140>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+136>>2]=0}a[b+140>>0]=1;c[b+136>>2]=0;c[b+128>>2]=0;c[b+132>>2]=0;d=c[b+116>>2]|0;if(d|0){if(a[b+120>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+116>>2]=0}a[b+120>>0]=1;c[b+116>>2]=0;c[b+108>>2]=0;c[b+112>>2]=0;d=c[b+96>>2]|0;if(d|0){if(a[b+100>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=0;c[b+88>>2]=0;c[b+92>>2]=0;d=c[b+76>>2]|0;if(!d){a[b+80>>0]=1;c[b+76>>2]=0;c[b+68>>2]=0;b=b+72|0;c[b>>2]=0;return}if(a[b+80>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+76>>2]=0;a[b+80>>0]=1;c[b+76>>2]=0;c[b+68>>2]=0;b=b+72|0;c[b>>2]=0;return}function fi(b){b=b|0;var d=0;c[b>>2]=4944;d=c[b+144>>2]|0;if(d|0){if(a[b+148>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+144>>2]=0}a[b+148>>0]=1;c[b+144>>2]=0;c[b+136>>2]=0;c[b+140>>2]=0;d=c[b+76>>2]|0;if(d|0){if(a[b+80>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+76>>2]=0}a[b+80>>0]=1;c[b+76>>2]=0;c[b+68>>2]=0;c[b+72>>2]=0;d=c[b+56>>2]|0;if(d|0){if(a[b+60>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+56>>2]=0}a[b+60>>0]=1;c[b+56>>2]=0;c[b+48>>2]=0;c[b+52>>2]=0;d=c[b+36>>2]|0;if(d|0){if(a[b+40>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;d=c[b+16>>2]|0;if(!d){a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}if(a[b+20>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}function gi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0;o=(+g[a+32>>2]-+g[a+16>>2])*+g[a+108>>2]*.5;m=(+g[a+36>>2]-+g[a+20>>2])*+g[a+112>>2]*.5;k=(+g[a+40>>2]-+g[a+24>>2])*+g[a+116>>2]*.5;t=+F(+(+g[b>>2]));s=+F(+(+g[b+4>>2]));r=+F(+(+g[b+8>>2]));n=+F(+(+g[b+16>>2]));l=+F(+(+g[b+20>>2]));j=+F(+(+g[b+24>>2]));w=+F(+(+g[b+32>>2]));v=+F(+(+g[b+36>>2]));f=+F(+(+g[b+40>>2]));u=+g[b+48>>2];p=+g[b+52>>2];h=+g[b+56>>2];q=+Db[c[(c[a>>2]|0)+48>>2]&15](a);i=+Db[c[(c[a>>2]|0)+48>>2]&15](a);f=o*w+m*v+k*f+ +Db[c[(c[a>>2]|0)+48>>2]&15](a);g[d>>2]=u-(o*t+m*s+k*r+q);g[d+4>>2]=p-(o*n+m*l+k*j+i);g[d+8>>2]=h-f;g[d+12>>2]=0.0;g[e>>2]=u+(o*t+m*s+k*r+q);g[e+4>>2]=p+(o*n+m*l+k*j+i);g[e+8>>2]=h+f;g[e+12>>2]=0.0;return}function hi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=l;l=l+48|0;g=c[a+28>>2]|0;c[i+32>>2]=g;g=(c[a+20>>2]|0)-g|0;c[i+32+4>>2]=g;c[i+32+8>>2]=b;c[i+32+12>>2]=d;c[i>>2]=c[a+60>>2];c[i+4>>2]=i+32;c[i+8>>2]=2;b=lB(gb(146,i|0)|0)|0;a:do if((g+d|0)!=(b|0)){e=i+32|0;f=2;g=g+d|0;while(1){if((b|0)<0)break;g=g-b|0;j=c[e+4>>2]|0;k=b>>>0>j>>>0;e=k?e+8|0:e;f=(k<<31>>31)+f|0;j=b-(k?j:0)|0;c[e>>2]=(c[e>>2]|0)+j;c[e+4>>2]=(c[e+4>>2]|0)-j;c[i+16>>2]=c[a+60>>2];c[i+16+4>>2]=e;c[i+16+8>>2]=f;b=lB(gb(146,i+16|0)|0)|0;if((g|0)==(b|0)){h=3;break a}}c[a+16>>2]=0;c[a+28>>2]=0;c[a+20>>2]=0;c[a>>2]=c[a>>2]|32;if((f|0)==2)d=0;else d=d-(c[e+4>>2]|0)|0}else h=3;while(0);if((h|0)==3){k=c[a+44>>2]|0;c[a+16>>2]=k+(c[a+48>>2]|0);c[a+28>>2]=k;c[a+20>>2]=k}l=i;return d|0}function ii(b){b=b|0;var d=0;if((a[22608]|0)==0?qy(22608)|0:0){if((a[22544]|0)==0?qy(22544)|0:0){if((a[22552]|0)==0?qy(22552)|0:0){c[5739]=1065353216;c[5740]=0;c[5741]=0;c[5742]=0;c[5743]=0;c[5744]=1065353216;c[5745]=0;c[5746]=0;c[5747]=0;c[5748]=0;c[5749]=1065353216;g[5750]=0.0}c[5723]=c[5739];c[5724]=c[5740];c[5725]=c[5741];c[5726]=c[5742];c[5727]=c[5743];c[5728]=c[5744];c[5729]=c[5745];c[5730]=c[5746];c[5731]=c[5747];c[5732]=c[5748];c[5733]=c[5749];c[5734]=c[5750];c[5735]=0;c[5736]=0;c[5737]=0;c[5738]=0}c[5817]=c[5723];c[5818]=c[5724];c[5819]=c[5725];c[5820]=c[5726];c[5821]=c[5727];c[5822]=c[5728];c[5823]=c[5729];c[5824]=c[5730];c[5825]=c[5731];c[5826]=c[5732];c[5827]=c[5733];c[5828]=c[5734];c[5829]=c[5735];c[5830]=c[5736];c[5831]=c[5737];c[5832]=c[5738]}d=c[b+8>>2]|0;if(!d){b=c[b>>2]|0;return ((b|0)==0?23268:b+60|0)|0}else return d+4|0;return 0}function ji(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;e=c[b>>2]|0;if((e|0)==(c[a+80>>2]|0)){f=1.0;return +f}if(c[e+204>>2]&4|0){f=1.0;return +f}if((+g[a+28>>2]-+g[a+12>>2])*+g[b+8>>2]+(+g[a+32>>2]-+g[a+16>>2])*+g[b+12>>2]+(+g[a+36>>2]-+g[a+20>>2])*+g[b+16>>2]>=-+g[a+84>>2]){f=1.0;return +f}c[a+4>>2]=c[b+40>>2];c[a+76>>2]=e;if(d){c[a+44>>2]=c[b+8>>2];c[a+44+4>>2]=c[b+8+4>>2];c[a+44+8>>2]=c[b+8+8>>2];c[a+44+12>>2]=c[b+8+12>>2]}else{k=+g[b+8>>2];j=+g[b+12>>2];i=+g[b+16>>2];h=k*+g[e+20>>2]+j*+g[e+24>>2]+i*+g[e+28>>2];f=k*+g[e+36>>2]+j*+g[e+40>>2]+i*+g[e+44>>2];g[a+44>>2]=+g[e+4>>2]*k+ +g[e+8>>2]*j+ +g[e+12>>2]*i;g[a+48>>2]=h;g[a+52>>2]=f;g[a+56>>2]=0.0}c[a+60>>2]=c[b+24>>2];c[a+60+4>>2]=c[b+24+4>>2];c[a+60+8>>2]=c[b+24+8>>2];c[a+60+12>>2]=c[b+24+12>>2];k=+g[b+40>>2];return +k}function ki(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0;i=l;l=l+80|0;if((e|0)>0)f=0;else{l=i;return}do{g[d+(f<<4)+12>>2]=-999999984306749440.0;f=f+1|0}while((f|0)!=(e|0));f=i+32+4|0;h=0;do{j=b+(h<<4)|0;c[i+32>>2]=7916;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;g[i+32+20>>2]=-999999984306749440.0;c[i+32+24>>2]=c[j>>2];c[i+32+24+4>>2]=c[j+4>>2];c[i+32+24+8>>2]=c[j+8>>2];c[i+32+24+12>>2]=c[j+12>>2];c[i+16>>2]=1566444395;c[i+16+4>>2]=1566444395;c[i+16+8>>2]=1566444395;g[i+16+12>>2]=0.0;j=c[a+92>>2]|0;k=c[(c[j>>2]|0)+8>>2]|0;g[i>>2]=-999999984306749440.0;g[i+4>>2]=-999999984306749440.0;g[i+8>>2]=-999999984306749440.0;g[i+12>>2]=0.0;Zb[k&127](j,i+32|0,i,i+16|0);j=d+(h<<4)|0;c[j>>2]=c[f>>2];c[j+4>>2]=c[f+4>>2];c[j+8>>2]=c[f+8>>2];c[j+12>>2]=c[f+12>>2];h=h+1|0}while((h|0)<(e|0));l=i;return}function li(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=c[b+96>>2]|0;if((f|0)==(c[b+100>>2]|0)?(i=f|0?f<<1:1,(f|0)<(i|0)):0){if(!i)h=0;else{c[6485]=(c[6485]|0)+1;f=ic((i<<4|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=f;f=c[b+96>>2]|0}if((f|0)>0){g=0;do{j=h+(g<<4)|0;k=(c[b+104>>2]|0)+(g<<4)|0;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];g=g+1|0}while((g|0)!=(f|0))}f=c[b+104>>2]|0;if(f|0){if(a[b+108>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[f+-4>>2]|0)}c[b+104>>2]=0}a[b+108>>0]=1;c[b+104>>2]=h;c[b+100>>2]=i;f=c[b+96>>2]|0}k=(c[b+104>>2]|0)+(f<<4)|0;c[k>>2]=c[d>>2];c[k+4>>2]=c[d+4>>2];c[k+8>>2]=c[d+8>>2];c[k+12>>2]=c[d+12>>2];c[b+96>>2]=(c[b+96>>2]|0)+1;if(!e)return;fj(b);return}function mi(b){b=b|0;var d=0,e=0,f=0,h=0;c[b+32>>2]=262144;h=c[b+4>>2]|0;if((h|0)<2383){if((c[b+8>>2]|0)<2383){c[6485]=(c[6485]|0)+1;d=ic(9551)|0;if(!d)f=0;else{c[(d+4+15&-16)+-4>>2]=d;f=d+4+15&-16}d=c[b+4>>2]|0;if((d|0)>0){e=0;do{c[f+(e<<2)>>2]=c[(c[b+12>>2]|0)+(e<<2)>>2];e=e+1|0}while((e|0)!=(d|0))}d=c[b+12>>2]|0;if(d|0){if(a[b+16>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=f;c[b+8>>2]=2383;e=b+12|0}else e=b+12|0;d=h;do{c[(c[e>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=2383)}c[b+4>>2]=2383;e=0;do{h=(c[b+12>>2]|0)+(e<<2)|0;d=c[h>>2]|0;c[h>>2]=0;if(d|0)do{h=d;d=c[d+280>>2]|0;YG(h)}while((d|0)!=0);e=e+1|0}while((e|0)!=2383);g[b+20>>2]=.25;c[b+24>>2]=0;c[b+28>>2]=0;c[b+36>>2]=1;c[b+40>>2]=1;return}function ni(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0,i=0,j=0;j=l;l=l+80|0;h=c[c[a>>2]>>2]|0;i=c[c[a+4>>2]>>2]|0;if(!(zb[c[(c[b>>2]|0)+24>>2]&63](b,h,i)|0)){l=j;return}f=c[h+192>>2]|0;c[j+56>>2]=0;c[j+56+4>>2]=f;c[j+56+8>>2]=h;c[j+56+12>>2]=h+4;c[j+56+16>>2]=-1;c[j+56+20>>2]=-1;f=c[i+192>>2]|0;c[j+32>>2]=0;c[j+32+4>>2]=f;c[j+32+8>>2]=i;c[j+32+12>>2]=i+4;c[j+32+16>>2]=-1;c[j+32+20>>2]=-1;f=c[a+8>>2]|0;if(!f){f=tb[c[(c[b>>2]|0)+8>>2]&31](b,j+56|0,j+32|0,0)|0;c[a+8>>2]=f;if(!f){l=j;return}}c[j>>2]=5696;c[j+4>>2]=0;c[j+8>>2]=j+56;c[j+12>>2]=j+32;if((c[d+8>>2]|0)==1){jb[c[(c[f>>2]|0)+8>>2]&31](f,j+56|0,j+32|0,d,j);l=j;return}e=+xb[c[(c[f>>2]|0)+12>>2]&15](f,h,i,d,j);if(!(+g[d+12>>2]>e)){l=j;return}g[d+12>>2]=e;l=j;return}function oi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+96|0;b=c[b>>2]|0;if((b|0)==(c[a+4>>2]|0)){l=d;return 1}e=c[a+12>>2]|0;if(!(Kb[c[(c[e>>2]|0)+8>>2]&31](e,c[b+188>>2]|0)|0)){l=d;return 1}e=c[a+4>>2]|0;f=c[e+192>>2]|0;c[d+64>>2]=0;c[d+64+4>>2]=f;c[d+64+8>>2]=e;c[d+64+12>>2]=e+4;c[d+64+16>>2]=-1;c[d+64+20>>2]=-1;e=c[b+192>>2]|0;c[d+40>>2]=0;c[d+40+4>>2]=e;c[d+40+8>>2]=b;c[d+40+12>>2]=b+4;c[d+40+16>>2]=-1;c[d+40+20>>2]=-1;b=c[(c[a+8>>2]|0)+24>>2]|0;b=tb[c[(c[b>>2]|0)+8>>2]&31](b,d+64|0,d+40|0,0)|0;if(b|0){f=c[a+12>>2]|0;c[d+4>>2]=0;c[d+8>>2]=d+64;c[d+12>>2]=d+40;c[d>>2]=6068;c[d+32>>2]=f;jb[c[(c[b>>2]|0)+8>>2]&31](b,d+64|0,d+40|0,(c[a+8>>2]|0)+28|0,d);lb[c[c[b>>2]>>2]&511](b);f=c[(c[a+8>>2]|0)+24>>2]|0;nb[c[(c[f>>2]|0)+60>>2]&127](f,b)}l=d;return 1}function pi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[b+488>>2]|0;a:do if((e|0)>0){g=c[b+496>>2]|0;f=0;while(1){if((c[g+(f<<2)>>2]|0)==(d|0))break;f=f+1|0;if((f|0)>=(e|0))break a}if((f|0)!=(e|0)){b=b+256|0;c[b>>2]=1;return}}while(0);if((e|0)==(c[b+492>>2]|0)?(h=e|0?e<<1:1,(e|0)<(h|0)):0){if(!h)g=0;else{c[6485]=(c[6485]|0)+1;e=ic((h<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}g=e;e=c[b+488>>2]|0}if((e|0)>0){f=0;do{c[g+(f<<2)>>2]=c[(c[b+496>>2]|0)+(f<<2)>>2];f=f+1|0}while((f|0)!=(e|0))}f=c[b+496>>2]|0;if(f){if(a[b+500>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[f+-4>>2]|0);e=c[b+488>>2]|0}c[b+496>>2]=0}a[b+500>>0]=1;c[b+496>>2]=g;c[b+492>>2]=h}c[(c[b+496>>2]|0)+(e<<2)>>2]=d;c[b+488>>2]=e+1;b=b+256|0;c[b>>2]=1;return}function qi(a,b,c,d,e,f,h,i,j,k,l){a=a|0;b=b|0;c=+c;d=+d;e=+e;f=+f;h=+h;i=+i;j=j|0;k=k|0;l=+l;var m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0;x=+g[a>>2]*f+ +g[a+16>>2]*h+ +g[a+32>>2]*i;v=+g[a+4>>2]*f+ +g[a+20>>2]*h+ +g[a+36>>2]*i;t=+g[a+8>>2]*f+ +g[a+24>>2]*h+ +g[a+40>>2]*i;s=+g[b>>2]*f+ +g[b+16>>2]*h+ +g[b+32>>2]*i;q=+g[b+4>>2]*f+ +g[b+20>>2]*h+ +g[b+36>>2]*i;o=+g[b+8>>2]*f+ +g[b+24>>2]*h+ +g[b+40>>2]*i;w=+g[j+80>>2];u=+g[j+84>>2];p=+g[j+88>>2];r=+g[k+80>>2];m=+g[k+84>>2];n=+g[k+88>>2];p=x*(x<0.0?-w:w)+v*(v<0.0?-u:u)+t*(t<0.0?-p:p);n=s*(s<0.0?-r:r)+q*(q<0.0?-m:m)+o*(o<0.0?-n:n);o=+g[j+96>>2];m=+g[k+96>>2];m=(p>o?p:o)+(n>m?n:m);return !((c*f+d*h+e*i+m<m-(c*f+d*h+e*i)?c*f+d*h+e*i+m:m-(c*f+d*h+e*i))>l)|0}function ri(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=8816;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+24>>2]=0;a[b+28>>0]=0;a[b+48>>0]=1;c[b+44>>2]=0;c[b+36>>2]=0;c[b+40>>2]=0;a[b+68>>0]=1;c[b+64>>2]=0;c[b+56>>2]=0;c[b+60>>2]=0;c[b+72>>2]=0;c[6485]=(c[6485]|0)+1;d=ic(51)|0;if(!d)f=0;else{c[(d+4+15&-16)+-4>>2]=d;f=d+4+15&-16}d=c[b+8>>2]|0;if((d|0)>0){e=0;do{g=c[b+16>>2]|0;c[f+(e<<4)>>2]=c[g+(e<<4)>>2];c[f+(e<<4)+4>>2]=c[g+(e<<4)+4>>2];c[f+(e<<4)+8>>2]=c[g+(e<<4)+8>>2];c[f+(e<<4)+12>>2]=c[g+(e<<4)+12>>2];e=e+1|0}while((e|0)!=(d|0))}d=c[b+16>>2]|0;if(!d){a[b+20>>0]=1;c[b+16>>2]=f;c[b+12>>2]=2;Af(b);return}if(a[b+20>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=f;c[b+12>>2]=2;Af(b);return}function si(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=c[d+4>>2]|0;h=c[b+24>>2]|0;if((h|0)<(i|0)){if((c[b+28>>2]|0)<(i|0)){if(!i){e=0;f=h}else{c[6485]=(c[6485]|0)+1;e=ic((i<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[b+24>>2]|0}if((f|0)>0){g=0;do{c[e+(g<<2)>>2]=c[(c[b+32>>2]|0)+(g<<2)>>2];g=g+1|0}while((g|0)!=(f|0))}f=c[b+32>>2]|0;if(f|0){if(a[b+36>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[f+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=e;c[b+28>>2]=i;f=b+32|0}else f=b+32|0;e=h;do{c[(c[f>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=(i|0))}c[b+24>>2]=i;e=c[b+32>>2]|0;if((i|0)<=0)return;f=0;do{c[e+(f<<2)>>2]=c[(c[d+12>>2]|0)+(f<<2)>>2];f=f+1|0}while((f|0)!=(i|0));return}function ti(a,b,d){a=a|0;b=b|0;d=d|0;do if(!((b|0)==32&(d|0)==32)){if((b|0)==32){if((d|0)<20){b=a+96|0;break}if((d+-21|0)>>>0<9){b=a+104|0;break}}else{if((b|0)<20&(d|0)==32){b=a+100|0;break}if((b+-21|0)>>>0<9&(d|0)==32){b=a+108|0;break}if((b|0)==8&(d|0)==8){b=a+60|0;break}if((b|0)==8&(d|0)==1){b=a+76|0;break}if((b|0)==1&(d|0)==8){b=a+80|0;break}}if(!(d|b)){b=a+72|0;break}if((b|0)<20&(d|0)==28){b=a+88|0;break}if((b|0)==28&(d|0)<20){b=a+84|0;break}if((b|0)<20){if((d|0)<20){b=a+32|0;break}if((d+-21|0)>>>0<9){b=a+36|0;break}}else{if((d|0)<20&(b+-21|0)>>>0<9){b=a+40|0;break}if((b|0)==31)if((d|0)==31){b=a+48|0;break}else{b=a+44|0;break}}if((d|0)==31){b=a+52|0;break}else{b=a+56|0;break}}else b=a+92|0;while(0);return c[b>>2]|0}function ui(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0.0,t=0;if((e|0)>0)f=0;else return;do{g[d+(f<<4)+12>>2]=-999999984306749440.0;f=f+1|0}while((f|0)!=(e|0));r=0;do{i=+g[a+12>>2];j=+g[b+(r<<4)>>2]*i;k=+g[a+16>>2];l=+g[b+(r<<4)+4>>2]*k;m=+g[a+20>>2];n=+g[b+(r<<4)+8>>2]*m;f=c[a+96>>2]|0;if((f|0)>0){o=c[a+104>>2]|0;p=0;h=-3402823466385288598117041.0e14;q=-1;do{s=j*+g[o+(p<<4)>>2]+l*+g[o+(p<<4)+4>>2]+n*+g[o+(p<<4)+8>>2];t=s>h;q=t?p:q;h=t?s:h;p=p+1|0}while((p|0)!=(f|0));n=+g[o+(q<<4)+4>>2]*k;s=+g[o+(q<<4)+8>>2]*m;g[d+(r<<4)>>2]=+g[o+(q<<4)>>2]*i;g[d+(r<<4)+4>>2]=n;g[d+(r<<4)+8>>2]=s}else h=-999999984306749440.0;g[d+(r<<4)+12>>2]=h;r=r+1|0}while((r|0)!=(e|0));return}function vi(b){b=b|0;var d=0;d=Wr(616)|0;c[d+164>>2]=1065353216;c[d+168>>2]=1065353216;c[d+172>>2]=1065353216;g[d+176>>2]=0.0;c[d+180>>2]=0;g[d+184>>2]=999999984306749440.0;c[d+188>>2]=0;c[d+188+4>>2]=0;c[d+188+8>>2]=0;c[d+188+12>>2]=0;c[d+204>>2]=1;c[d+208>>2]=-1;c[d+212>>2]=-1;c[d+216>>2]=1;g[d+220>>2]=0.0;g[d+224>>2]=.5;g[d+228>>2]=0.0;g[d+232>>2]=0.0;c[d+236>>2]=1;c[d+240>>2]=0;g[d+244>>2]=1.0;c[d+248>>2]=0;c[d+248+4>>2]=0;c[d+248+8>>2]=0;c[d+248+12>>2]=0;c[d+4>>2]=1065353216;c[d+8>>2]=0;c[d+8+4>>2]=0;c[d+8+8>>2]=0;c[d+8+12>>2]=0;c[d+24>>2]=1065353216;c[d+28>>2]=0;c[d+28+4>>2]=0;c[d+28+8>>2]=0;c[d+28+12>>2]=0;c[d+44>>2]=1065353216;c[d+48>>2]=0;c[d+48+4>>2]=0;c[d+48+8>>2]=0;c[d+48+12>>2]=0;c[d+48+16>>2]=0;c[d>>2]=4236;a[d+500>>0]=1;c[d+496>>2]=0;c[d+488>>2]=0;c[d+492>>2]=0;wd(d,b);return d|0}function wi(a,b,d,e,f,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0;o=l;l=l+16|0;bj(12884);Ib[c[(c[a>>2]|0)+32>>2]&1](a,b,d,e,f,h,i,j,k);n=c[a+184>>2]|0;m=c[j+20>>2]|0;m=(n|0)>(m|0)?n:m;if((m|0)>0){n=0;do{+Mb[c[(c[a>>2]|0)+40>>2]&3](a,n,b,d,e,f,h,i,j,k);n=n+1|0}while((n|0)<(m|0))}m=c[2380]|0;a=(c[m+16>>2]|0)+-1|0;c[m+16>>2]=a;if(a|0){l=o;return 0.0}do if(c[m+4>>2]|0){Za(o|0,0)|0;a=c[6484]|0;g[m+8>>2]=+(((c[o+4>>2]|0)-(c[a+4>>2]|0)+(((c[o>>2]|0)-(c[a>>2]|0)|0)*1e6|0)-(c[m+12>>2]|0)|0)>>>0)/1.0e3+ +g[m+8>>2];if(!(c[m+16>>2]|0)){m=c[2380]|0;break}else{l=o;return 0.0}}while(0);c[2380]=c[m+20>>2];l=o;return 0.0}function xi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=c[d>>2]|0;d=c[b+268>>2]|0;a:do if((d|0)>0){f=c[b+276>>2]|0;e=0;while(1){if((c[f+(e<<2)>>2]|0)==(g|0))break;e=e+1|0;if((e|0)>=(d|0))break a}if((e|0)!=(d|0))return}while(0);if((d|0)==(c[b+272>>2]|0)?(h=d|0?d<<1:1,(d|0)<(h|0)):0){if(!h)f=0;else{c[6485]=(c[6485]|0)+1;d=ic((h<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}f=d;d=c[b+268>>2]|0}if((d|0)>0){e=0;do{c[f+(e<<2)>>2]=c[(c[b+276>>2]|0)+(e<<2)>>2];e=e+1|0}while((e|0)!=(d|0))}e=c[b+276>>2]|0;if(e){if(a[b+280>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[e+-4>>2]|0);d=c[b+268>>2]|0}c[b+276>>2]=0}a[b+280>>0]=1;c[b+276>>2]=f;c[b+272>>2]=h}c[(c[b+276>>2]|0)+(d<<2)>>2]=g;c[b+268>>2]=d+1;return}function yi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[a+232>>2]|0;a:do if((f|0)>0){g=c[a+240>>2]|0;d=0;while(1){e=g+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(f|0))break a}if((d|0)<(f|0)){c[e>>2]=c[g+(f+-1<<2)>>2];c[(c[a+240>>2]|0)+(f+-1<<2)>>2]=b;c[a+232>>2]=f+-1}}while(0);d=c[b+188>>2]|0;if(d|0){g=c[a+68>>2]|0;g=pb[c[(c[g>>2]|0)+36>>2]&127](g)|0;Vb[c[(c[g>>2]|0)+40>>2]&127](g,d,c[a+24>>2]|0);g=c[a+68>>2]|0;Vb[c[(c[g>>2]|0)+12>>2]&127](g,d,c[a+24>>2]|0);c[b+188>>2]=0}f=c[a+8>>2]|0;if((f|0)<=0)return;g=c[a+16>>2]|0;d=0;while(1){e=g+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(f|0)){h=15;break}}if((h|0)==15)return;if((d|0)>=(f|0))return;c[e>>2]=c[g+(f+-1<<2)>>2];c[(c[a+16>>2]|0)+(f+-1<<2)>>2]=b;c[a+8>>2]=f+-1;return}function zi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[a+328>>2]|0;a:do if((f|0)>0){g=c[a+336>>2]|0;d=0;while(1){e=g+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(f|0))break a}if((d|0)<(f|0)){c[e>>2]=c[g+(f+-1<<2)>>2];c[(c[a+336>>2]|0)+(f+-1<<2)>>2]=b;c[a+328>>2]=f+-1}}while(0);d=c[b+188>>2]|0;if(d|0){g=c[a+68>>2]|0;g=pb[c[(c[g>>2]|0)+36>>2]&127](g)|0;Vb[c[(c[g>>2]|0)+40>>2]&127](g,d,c[a+24>>2]|0);g=c[a+68>>2]|0;Vb[c[(c[g>>2]|0)+12>>2]&127](g,d,c[a+24>>2]|0);c[b+188>>2]=0}f=c[a+8>>2]|0;if((f|0)<=0)return;g=c[a+16>>2]|0;d=0;while(1){e=g+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(f|0)){h=15;break}}if((h|0)==15)return;if((d|0)>=(f|0))return;c[e>>2]=c[g+(f+-1<<2)>>2];c[(c[a+16>>2]|0)+(f+-1<<2)>>2]=b;c[a+8>>2]=f+-1;return}function Ai(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;do if(!(LB(b,c[d+8>>2]|0)|0)){if(!(LB(b,c[d>>2]|0)|0)){h=c[b+8>>2]|0;jb[c[(c[h>>2]|0)+24>>2]&31](h,d,e,f,g);break}if((c[d+16>>2]|0)!=(e|0)?(c[d+20>>2]|0)!=(e|0):0){c[d+32>>2]=f;if((c[d+44>>2]|0)==4)break;a[d+52>>0]=0;a[d+53>>0]=0;b=c[b+8>>2]|0;Bb[c[(c[b>>2]|0)+20>>2]&7](b,d,e,e,1,g);if(a[d+53>>0]|0)if(!(a[d+52>>0]|0)){f=3;h=11}else f=3;else{f=4;h=11}if((h|0)==11){c[d+20>>2]=e;c[d+40>>2]=(c[d+40>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1}c[d+44>>2]=f;break}if((f|0)==1)c[d+32>>2]=1}else yr(d,e,f);while(0);return}function Bi(b){b=b|0;var d=0,e=0;d=c[b+92>>2]|0;if(d|0){if(a[b+96>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+92>>2]=0}a[b+96>>0]=1;c[b+92>>2]=0;c[b+84>>2]=0;c[b+88>>2]=0;d=c[b+64>>2]|0;if(d|0)do{c[b+64>>2]=c[d+8>>2];e=c[d>>2]|0;if(e|0){c[6486]=(c[6486]|0)+1;Uc(c[e+-4>>2]|0)}c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0);d=c[b+64>>2]|0}while((d|0)!=0);d=c[b+48>>2]|0;if(d|0)do{c[b+48>>2]=c[d+8>>2];e=c[d>>2]|0;if(e|0){c[6486]=(c[6486]|0)+1;Uc(c[e+-4>>2]|0)}c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0);d=c[b+48>>2]|0}while((d|0)!=0);d=c[b+32>>2]|0;if(!d)return;do{c[b+32>>2]=c[d+8>>2];e=c[d>>2]|0;if(e|0){c[6486]=(c[6486]|0)+1;Uc(c[e+-4>>2]|0)}c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0);d=c[b+32>>2]|0}while((d|0)!=0);return}function Ci(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;h=c[d>>2]|0;h=Kb[c[(c[h>>2]|0)+56>>2]&31](h,28)|0;j=(a[b+4>>0]|0)==0;i=c[b+8>>2]|0;g=c[b+12>>2]|0;b=c[d>>2]|0;c[h+4>>2]=b;c[h>>2]=5572;a[h+8>>0]=0;c[h+12>>2]=0;if(j){a[h+16>>0]=0;c[h+20>>2]=i;c[h+24>>2]=g;if(!(zb[c[(c[b>>2]|0)+24>>2]&63](b,c[e+8>>2]|0,c[f+8>>2]|0)|0))return h|0;j=c[h+4>>2]|0;c[h+12>>2]=zb[c[(c[j>>2]|0)+12>>2]&63](j,c[e+8>>2]|0,c[f+8>>2]|0)|0;a[h+8>>0]=1;return h|0}else{a[h+16>>0]=1;c[h+20>>2]=i;c[h+24>>2]=g;if(!(zb[c[(c[b>>2]|0)+24>>2]&63](b,c[f+8>>2]|0,c[e+8>>2]|0)|0))return h|0;j=c[h+4>>2]|0;c[h+12>>2]=zb[c[(c[j>>2]|0)+12>>2]&63](j,c[f+8>>2]|0,c[e+8>>2]|0)|0;a[h+8>>0]=1;return h|0}return 0}function Di(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;if(LB(b,c[d+8>>2]|0)|0)_k(d,e,f,g);else{i=a[d+52>>0]|0;j=a[d+53>>0]|0;k=c[b+12>>2]|0;a[d+52>>0]=0;a[d+53>>0]=0;tn(b+16|0,d,e,f,g,h);a:do if((k|0)>1){l=b+24|0;do{if(a[d+54>>0]|0)break a;if(!(a[d+52>>0]|0)){if(a[d+53>>0]|0?(c[b+8>>2]&1|0)==0:0)break a}else{if((c[d+24>>2]|0)==1)break a;if(!(c[b+8>>2]&2))break a}a[d+52>>0]=0;a[d+53>>0]=0;tn(l,d,e,f,g,h);l=l+8|0}while(l>>>0<(b+16+(k<<3)|0)>>>0)}while(0);a[d+52>>0]=i;a[d+53>>0]=j}return}function Ei(){var b=0;b=Wr(284)|0;c[b+164>>2]=1065353216;c[b+168>>2]=1065353216;c[b+172>>2]=1065353216;g[b+176>>2]=0.0;c[b+180>>2]=0;g[b+184>>2]=999999984306749440.0;c[b+188>>2]=0;c[b+188+4>>2]=0;c[b+188+8>>2]=0;c[b+188+12>>2]=0;c[b+204>>2]=1;c[b+208>>2]=-1;c[b+212>>2]=-1;c[b+216>>2]=1;g[b+220>>2]=0.0;g[b+224>>2]=.5;g[b+228>>2]=0.0;g[b+232>>2]=0.0;c[b+240>>2]=0;g[b+244>>2]=1.0;c[b+248>>2]=0;c[b+248+4>>2]=0;c[b+248+8>>2]=0;c[b+248+12>>2]=0;c[b+4>>2]=1065353216;c[b+8>>2]=0;c[b+8+4>>2]=0;c[b+8+8>>2]=0;c[b+8+12>>2]=0;c[b+24>>2]=1065353216;c[b+28>>2]=0;c[b+28+4>>2]=0;c[b+28+8>>2]=0;c[b+28+12>>2]=0;c[b+44>>2]=1065353216;c[b+48>>2]=0;c[b+48+4>>2]=0;c[b+48+8>>2]=0;c[b+48+12>>2]=0;c[b+48+16>>2]=0;c[b>>2]=5136;a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;c[b+272>>2]=0;c[b+236>>2]=4;return b|0}function Fi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=(c[b>>2]|0)+1794895138|0;f=Nz(c[b+8>>2]|0,n)|0;l=Nz(c[b+12>>2]|0,n)|0;m=Nz(c[b+16>>2]|0,n)|0;a:do if((f>>>0<d>>>2>>>0?l>>>0<(d-(f<<2)|0)>>>0&m>>>0<(d-(f<<2)|0)>>>0:0)?((m|l)&3|0)==0:0){k=0;while(1){i=f>>>1;j=k+i|0;g=Nz(c[b+((j<<1)+(l>>>2)<<2)>>2]|0,n)|0;h=Nz(c[b+((j<<1)+(l>>>2)+1<<2)>>2]|0,n)|0;if(!(h>>>0<d>>>0&g>>>0<(d-h|0)>>>0)){f=0;break a}if(a[b+(h+g)>>0]|0){f=0;break a}g=to(e,b+h|0)|0;if(!g)break;if((f|0)==1){f=0;break a}else{k=(g|0)<0?k:j;f=(g|0)<0?i:f-i|0}}g=Nz(c[b+((j<<1)+(m>>>2)<<2)>>2]|0,n)|0;f=Nz(c[b+((j<<1)+(m>>>2)+1<<2)>>2]|0,n)|0;if(f>>>0<d>>>0&g>>>0<(d-f|0)>>>0)f=(a[b+(f+g)>>0]|0)==0?b+f|0:0;else f=0}else f=0;while(0);return f|0}function Gi(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0.0,j=0.0,k=0,m=0;f=l;l=l+48|0;if((c[b+136>>2]|0)<=0){l=f;return}e=0;do{m=c[b+144>>2]|0;c[f+32>>2]=(a[m+(e*284|0)+84>>0]|0)==0?1065353216:0;c[f+32+4>>2]=0;c[f+32+8>>2]=1065353216;g[f+32+12>>2]=0.0;k=m+(e*284|0)+140|0;c[f+16>>2]=c[k>>2];c[f+16+4>>2]=c[k+4>>2];c[f+16+8>>2]=c[k+8>>2];c[f+16+12>>2]=c[k+12>>2];k=c[b+120>>2]|0;h=c[(c[d>>2]|0)+8>>2]|0;j=+g[m+(e*284|0)+108+(k<<2)>>2]+ +g[f+16+4>>2];i=+g[m+(e*284|0)+124+(k<<2)>>2]+ +g[f+16+8>>2];g[f>>2]=+g[m+(e*284|0)+92+(k<<2)>>2]+ +g[f+16>>2];g[f+4>>2]=j;g[f+8>>2]=i;g[f+12>>2]=0.0;Zb[h&127](d,f+16|0,f,f+32|0);Zb[c[(c[d>>2]|0)+8>>2]&127](d,f+16|0,(c[b+144>>2]|0)+(e*284|0)+16|0,f+32|0);e=e+1|0}while((e|0)<(c[b+136>>2]|0));l=f;return}function Hi(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;switch(b|0){case 2:{if((e|0)<1){g[a+232>>2]=d;c[a+300>>2]=c[a+300>>2]|512;return}if((e|0)<3){g[a+264>>2]=d;c[a+300>>2]=c[a+300>>2]|32;return}if((e|0)==3){g[a+248>>2]=d;c[a+300>>2]=c[a+300>>2]|2048;return}if((e|0)>=6)return;g[a+280>>2]=d;c[a+300>>2]=c[a+300>>2]|128;return}case 3:{if((e|0)<1){g[a+212>>2]=d;c[a+300>>2]=c[a+300>>2]|1;return}if((e|0)!=3)return;g[a+228>>2]=d;c[a+300>>2]=c[a+300>>2]|4;return}case 4:{if((e|0)<1){g[a+244>>2]=d;c[a+300>>2]=c[a+300>>2]|256;return}if((e|0)<3){g[a+276>>2]=d;c[a+300>>2]=c[a+300>>2]|16;return}if((e|0)==3){g[a+260>>2]=d;c[a+300>>2]=c[a+300>>2]|1024;return}if((e|0)>=6)return;g[a+292>>2]=d;c[a+300>>2]=c[a+300>>2]|64;return}default:return}}function Ii(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0;e=l;l=l+96|0;c[e+32>>2]=1065353216;c[e+32+4>>2]=0;c[e+32+4+4>>2]=0;c[e+32+4+8>>2]=0;c[e+32+4+12>>2]=0;c[e+32+20>>2]=1065353216;c[e+32+24>>2]=0;c[e+32+24+4>>2]=0;c[e+32+24+8>>2]=0;c[e+32+24+12>>2]=0;c[e+32+40>>2]=1065353216;k=e+32+44|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;Zb[c[(c[a>>2]|0)+8>>2]&127](a,e+32|0,e+16|0,e);i=(+g[e>>2]-+g[e+16>>2])*.5;h=(+g[e+4>>2]-+g[e+16+4>>2])*.5;j=(+g[e+8>>2]-+g[e+16+8>>2])*.5;f=+Db[c[(c[a>>2]|0)+48>>2]&15](a);g[d>>2]=b*.0833333283662796*((h+f)*2.0*(h+f)*2.0+(j+f)*2.0*(j+f)*2.0);g[d+4>>2]=b*.0833333283662796*((i+f)*2.0*(i+f)*2.0+(j+f)*2.0*(j+f)*2.0);g[d+8>>2]=b*.0833333283662796*((i+f)*2.0*(i+f)*2.0+(h+f)*2.0*(h+f)*2.0);g[d+12>>2]=0.0;l=e;return}function Ji(){var b=0;b=ns()|0;c[b>>2]=1025;c[b+116>>2]=0;a[b+120>>0]=0;c[b+124>>2]=0;c[b+124+4>>2]=0;c[b+124+8>>2]=0;c[b+124+12>>2]=0;c[b+124+16>>2]=0;c[b+124+20>>2]=0;c[b+124+24>>2]=0;c[b+124+28>>2]=0;c[b+300>>2]=0;a[b+304>>0]=0;c[b+308>>2]=0;c[b+308+4>>2]=0;c[b+308+8>>2]=0;c[b+308+12>>2]=0;c[b+308+16>>2]=0;c[b+308+20>>2]=0;c[b+308+24>>2]=0;c[b+308+28>>2]=0;c[b+484>>2]=0;a[b+488>>0]=0;c[b+492>>2]=0;c[b+492+4>>2]=0;c[b+492+8>>2]=0;c[b+492+12>>2]=0;c[b+492+16>>2]=0;c[b+492+20>>2]=0;c[b+492+24>>2]=0;c[b+492+28>>2]=0;c[b+668>>2]=0;a[b+672>>0]=0;c[b+676>>2]=0;c[b+676+4>>2]=0;c[b+676+8>>2]=0;c[b+676+12>>2]=0;c[b+676+16>>2]=0;c[b+676+20>>2]=0;c[b+676+24>>2]=0;c[b+676+28>>2]=0;c[b+740>>2]=0;c[b+744>>2]=0;c[b+748>>2]=0;c[b+768>>2]=0;return b|0}function Ki(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0;if(!(a[b+84>>0]|0)){c[b+32>>2]=c[b+204>>2];g[b+272>>2]=0.0;o=-+g[b+56>>2];p=-+g[b+60>>2];g[b>>2]=-+g[b+52>>2];g[b+4>>2]=o;g[b+8>>2]=p;g[b+12>>2]=0.0;p=1.0;b=b+268|0;g[b>>2]=p;return}k=+g[b>>2];p=+g[b+4>>2];f=+g[b+8>>2];h=k*+g[b+52>>2]+p*+g[b+56>>2]+f*+g[b+60>>2];i=+g[b+16>>2]-+g[d+52>>2];j=+g[b+20>>2]-+g[d+56>>2];l=+g[b+24>>2]-+g[d+60>>2];m=+g[d+332>>2];n=+g[d+336>>2];o=+g[d+328>>2];if(!(h>=-.10000000149011612)){g[b+272>>2]=-1.0/h*(k*(m*l-j*n+ +g[d+312>>2])+p*(i*n-l*o+ +g[d+316>>2])+f*(j*o-i*m+ +g[d+320>>2]));p=-1.0/h;b=b+268|0;g[b>>2]=p;return}else{g[b+272>>2]=0.0;p=10.0;b=b+268|0;g[b>>2]=p;return}}function Li(a,b,d,e,f,h,i,j,k,m){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0;n=l;l=l+16|0;bj(12947);+Ob[c[(c[a>>2]|0)+44>>2]&3](a,b,d,e,f,h,i,j,k);+Ob[c[(c[a>>2]|0)+48>>2]&3](a,b,d,e,f,h,i,j,k);+Sb[c[(c[a>>2]|0)+36>>2]&1](a,b,d,j);m=c[2380]|0;a=(c[m+16>>2]|0)+-1|0;c[m+16>>2]=a;if(a|0){l=n;return 0.0}do if(c[m+4>>2]|0){Za(n|0,0)|0;a=c[6484]|0;g[m+8>>2]=+(((c[n+4>>2]|0)-(c[a+4>>2]|0)+(((c[n>>2]|0)-(c[a>>2]|0)|0)*1e6|0)-(c[m+12>>2]|0)|0)>>>0)/1.0e3+ +g[m+8>>2];if(!(c[m+16>>2]|0)){m=c[2380]|0;break}else{l=n;return 0.0}}while(0);c[2380]=c[m+20>>2];l=n;return 0.0}function Mi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0;e=l;l=l+96|0;j=+g[c>>2];k=+g[c+4>>2];m=+g[c+8>>2];bq(e+80|0,j,k,m,+lx(j,k,m,+g[b>>2],+g[b+4>>2],+g[b+8>>2]));m=+g[e+80>>2];k=+g[e+80+4>>2];j=+g[e+80+8>>2];Ap(e+64|0,+g[b>>2],+g[b+4>>2],+g[b+8>>2],m,k,j);Ko(e+48|0,+g[c>>2],+g[c+4>>2],+g[c+8>>2],+g[b>>2],+g[b+4>>2],+g[b+8>>2]);i=+g[e+48>>2];h=+g[e+48+4>>2];f=+g[e+48+8>>2];n=+RG(d);bq(e+16|0,+g[e+64>>2],+g[e+64+4>>2],+g[e+64+8>>2],n);yp(e+32|0,m,k,j,+g[e+16>>2],+g[e+16+4>>2],+g[e+16+8>>2]);bq(e,i,h,f,+QG(d));yp(a,+g[e+32>>2],+g[e+32+4>>2],+g[e+32+8>>2],+g[e>>2],+g[e+4>>2],+g[e+8>>2]);l=e;return}function Ni(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=c[b+212>>2]|0;if((f|0)==(c[b+216>>2]|0)?(i=f|0?f<<1:1,(f|0)<(i|0)):0){if(!i)h=0;else{c[6485]=(c[6485]|0)+1;f=ic((i<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=f;f=c[b+212>>2]|0}if((f|0)>0){g=0;do{c[h+(g<<2)>>2]=c[(c[b+220>>2]|0)+(g<<2)>>2];g=g+1|0}while((g|0)!=(f|0))}g=c[b+220>>2]|0;if(g){if(a[b+224>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[g+-4>>2]|0);f=c[b+212>>2]|0}c[b+220>>2]=0}a[b+224>>0]=1;c[b+220>>2]=h;c[b+216>>2]=i}c[(c[b+220>>2]|0)+(f<<2)>>2]=d;c[b+212>>2]=f+1;if(!e)return;pi(c[d+28>>2]|0,d);pi(c[d+32>>2]|0,d);return}function Oi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0;e=c[a+4>>2]|0;if(e|0)Zk(e,b,d);e=c[a>>2]|0;if(!e)return;m=+g[b>>2];k=+g[e+128>>2];l=+g[b+4>>2];j=+g[b+8>>2];f=+g[d+4>>2];o=+g[d+8>>2];n=+g[d>>2];i=+g[e+180>>2]*(j*f-l*o)+ +g[e+184>>2]*(m*o-j*n)+(l*n-m*f)*+g[e+188>>2];h=(j*f-l*o)*+g[e+196>>2]+(m*o-j*n)*+g[e+200>>2]+(l*n-m*f)*+g[e+204>>2];f=(j*f-l*o)*+g[e+212>>2]+(m*o-j*n)*+g[e+216>>2]+(l*n-m*f)*+g[e+220>>2];g[e+276>>2]=m*k+ +g[e+276>>2];g[e+280>>2]=k*l+ +g[e+280>>2];g[e+284>>2]=k*j+ +g[e+284>>2];g[e+292>>2]=i+ +g[e+292>>2];g[e+296>>2]=h+ +g[e+296>>2];g[e+300>>2]=f+ +g[e+300>>2];c[e+312>>2]=(c[e+312>>2]|0)+1;return}function Pi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0;v=+g[a+552>>2];u=+g[a+568>>2];t=+g[a+584>>2];s=+g[b>>2];r=+g[b+4>>2];q=+g[b+8>>2];o=+g[b+16>>2];n=+g[b+20>>2];m=+g[b+24>>2];k=+g[b+32>>2];i=+g[b+36>>2];f=+g[b+40>>2];j=+g[a+556>>2];h=+g[a+572>>2];e=+g[a+588>>2];x=+g[a+620>>2];w=+g[a+636>>2];d=+g[a+652>>2];p=x*+g[c>>2]+w*+g[c+4>>2]+d*+g[c+8>>2];l=x*+g[c+16>>2]+w*+g[c+20>>2]+d*+g[c+24>>2];d=x*+g[c+32>>2]+w*+g[c+36>>2]+d*+g[c+40>>2];d=+O(+((v*s+u*r+t*q)*p+(v*o+u*n+t*m)*l+(v*k+u*i+t*f)*d),+((s*j+r*h+q*e)*p+(o*j+n*h+m*e)*l+(k*j+i*h+f*e)*d));return +(d*+g[a+732>>2])}function Qi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=c[a+8>>2]|0;if((d|0)>0){f=0;do{e=c[(c[a+16>>2]|0)+(f<<2)>>2]|0;if(c[e+236>>2]&2){g=pb[c[(c[e>>2]|0)+16>>2]&127](e)|0;g=zb[c[(c[b>>2]|0)+16>>2]&63](b,g,1)|0;d=zb[c[(c[e>>2]|0)+20>>2]&63](e,c[g+8>>2]|0,b)|0;jb[c[(c[b>>2]|0)+20>>2]&31](b,g,d,1497645650,e);d=c[a+8>>2]|0}f=f+1|0}while((f|0)<(d|0))}if((c[a+212>>2]|0)<=0)return;d=0;do{g=c[(c[a+220>>2]|0)+(d<<2)>>2]|0;e=pb[c[(c[g>>2]|0)+36>>2]&127](g)|0;e=zb[c[(c[b>>2]|0)+16>>2]&63](b,e,1)|0;f=zb[c[(c[g>>2]|0)+40>>2]&63](g,c[e+8>>2]|0,b)|0;jb[c[(c[b>>2]|0)+20>>2]&31](b,e,f,1397641027,g);d=d+1|0}while((d|0)<(c[a+212>>2]|0));return}function Ri(a){a=a|0;var b=0.0,d=0,e=0,f=0,h=0;e=l;l=l+32|0;c[a+32>>2]=1566444395;c[a+36>>2]=1566444395;c[a+40>>2]=1566444395;g[a+44>>2]=0.0;c[a+48>>2]=-581039253;c[a+52>>2]=-581039253;c[a+56>>2]=-581039253;g[a+60>>2]=0.0;if((c[a+16>>2]|0)<=0){l=e;return}d=0;do{f=c[a+24>>2]|0;h=c[f+(d*80|0)+64>>2]|0;Zb[c[(c[h>>2]|0)+8>>2]&127](h,f+(d*80|0)|0,e+16|0,e);b=+g[e+16>>2];if(+g[a+32>>2]>b)g[a+32>>2]=b;b=+g[e>>2];if(+g[a+48>>2]<b)g[a+48>>2]=b;b=+g[e+16+4>>2];if(+g[a+36>>2]>b)g[a+36>>2]=b;b=+g[e+4>>2];if(+g[a+52>>2]<b)g[a+52>>2]=b;b=+g[e+16+8>>2];if(+g[a+40>>2]>b)g[a+40>>2]=b;b=+g[e+8>>2];if(+g[a+56>>2]<b)g[a+56>>2]=b;d=d+1|0}while((d|0)<(c[a+16>>2]|0));l=e;return}function Si(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+64|0;g=c[d>>2]|0;h=d+(c[g+-8>>2]|0)|0;g=c[g+-4>>2]|0;c[i>>2]=e;c[i+4>>2]=d;c[i+8>>2]=2760;e=LB(g,e)|0;d=i+12|0;f=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(f|0));b[i+12+40>>1]=0;a[i+12+42>>0]=0;a:do if(e){c[i+48>>2]=1;Bb[c[(c[g>>2]|0)+20>>2]&7](g,i,h,h,1,0);e=(c[i+24>>2]|0)==1?h:0}else{jb[c[(c[g>>2]|0)+24>>2]&31](g,i,h,1,0);switch(c[i+36>>2]|0){case 0:{e=((c[i+40>>2]|0)==1?(c[i+28>>2]|0)==1:0)&(c[i+32>>2]|0)==1?c[i+20>>2]|0:0;break a}case 1:break;default:{e=0;break a}}if((c[i+24>>2]|0)!=1?!(((c[i+40>>2]|0)==0?(c[i+28>>2]|0)==1:0)&(c[i+32>>2]|0)==1):0){e=0;break}e=c[i+16>>2]|0}while(0);l=i;return e|0}function Ti(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0;e=l;l=l+96|0;i=+Db[c[(c[a>>2]|0)+48>>2]&15](a);c[e+32>>2]=1065353216;c[e+32+4>>2]=0;c[e+32+4+4>>2]=0;c[e+32+4+8>>2]=0;c[e+32+4+12>>2]=0;c[e+32+20>>2]=1065353216;c[e+32+24>>2]=0;c[e+32+24+4>>2]=0;c[e+32+24+8>>2]=0;c[e+32+24+12>>2]=0;c[e+32+40>>2]=1065353216;j=e+32+44|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;Zb[c[(c[a>>2]|0)+8>>2]&127](a,e+32|0,e+16|0,e);h=(i+(+g[e>>2]-+g[e+16>>2])*.5)*2.0;f=(i+(+g[e+4>>2]-+g[e+16+4>>2])*.5)*2.0;i=(i+(+g[e+8>>2]-+g[e+16+8>>2])*.5)*2.0;g[d>>2]=b*.0833333283662796*(f*f+i*i);g[d+4>>2]=b*.0833333283662796*(h*h+i*i);g[d+8>>2]=b*.0833333283662796*(h*h+f*f);g[d+12>>2]=0.0;l=e;return}function Ui(b){b=b|0;var d=0;d=c[b+72>>2]|0;if(d|0){if(a[b+76>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+72>>2]=0}a[b+76>>0]=1;c[b+72>>2]=0;c[b+64>>2]=0;c[b+68>>2]=0;d=c[b+52>>2]|0;if(d|0){if(a[b+56>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+52>>2]=0}a[b+56>>0]=1;c[b+52>>2]=0;c[b+44>>2]=0;c[b+48>>2]=0;d=c[b+32>>2]|0;if(d|0){if(a[b+36>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;d=c[b+12>>2]|0;if(!d){a[b+16>>0]=1;c[b+12>>2]=0;c[b+4>>2]=0;b=b+8|0;c[b>>2]=0;return}if(a[b+16>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+12>>2]=0;a[b+16>>0]=1;c[b+12>>2]=0;c[b+4>>2]=0;b=b+8|0;c[b>>2]=0;return}function Vi(a,b){a=a|0;b=+b;var d=0,e=0,f=0,h=0.0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0;e=c[a+732>>2]|0;if((e|0)<=0)return;a=c[a+740>>2]|0;d=0;do{n=c[a+(d*52|0)+8>>2]|0;f=c[a+(d*52|0)+12>>2]|0;s=+g[n+40>>2];q=+g[n+44>>2];o=+g[n+48>>2];k=a+(d*52|0)+36|0;r=+g[k>>2];m=a+(d*52|0)+40|0;p=+g[m>>2];l=a+(d*52|0)+44|0;h=+g[l>>2];j=-(+g[a+(d*52|0)+32>>2]*((s-+g[f+40>>2])*r+(q-+g[f+44>>2])*p+(o-+g[f+48>>2])*h)*b);i=+g[n+88>>2]*j;g[n+40>>2]=s+r*i;g[n+44>>2]=q+p*i;g[n+48>>2]=o+h*i;j=+g[f+88>>2]*j;i=j*+g[m>>2];h=j*+g[l>>2];g[f+40>>2]=+g[f+40>>2]-+g[k>>2]*j;g[f+44>>2]=+g[f+44>>2]-i;g[f+48>>2]=+g[f+48>>2]-h;d=d+1|0}while((d|0)!=(e|0));return}function Wi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[b+12>>2]|0;if(!e)return;if(!(a[b+8>>0]|0))return;f=c[d+4>>2]|0;if((f|0)==(c[d+8>>2]|0)?(h=f|0?f<<1:1,(f|0)<(h|0)):0){if(!h)e=0;else{c[6485]=(c[6485]|0)+1;e=ic((h<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[d+4>>2]|0}if((f|0)>0){g=0;do{c[e+(g<<2)>>2]=c[(c[d+12>>2]|0)+(g<<2)>>2];g=g+1|0}while((g|0)!=(f|0))}g=c[d+12>>2]|0;if(g){if(a[d+16>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[g+-4>>2]|0);f=c[d+4>>2]|0}c[d+12>>2]=0}a[d+16>>0]=1;c[d+12>>2]=e;c[d+8>>2]=h;e=c[b+12>>2]|0}c[(c[d+12>>2]|0)+(f<<2)>>2]=e;c[d+4>>2]=f+1;return}function Xi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=c[b+328>>2]|0;if((g|0)==(c[b+332>>2]|0)?(j=g|0?g<<1:1,(g|0)<(j|0)):0){if(!j)i=0;else{c[6485]=(c[6485]|0)+1;g=ic((j<<2|3)+16|0)|0;if(!g)g=0;else{c[(g+4+15&-16)+-4>>2]=g;g=g+4+15&-16}i=g;g=c[b+328>>2]|0}if((g|0)>0){h=0;do{c[i+(h<<2)>>2]=c[(c[b+336>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(g|0))}h=c[b+336>>2]|0;if(h){if(a[b+340>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[h+-4>>2]|0);g=c[b+328>>2]|0}c[b+336>>2]=0}a[b+340>>0]=1;c[b+336>>2]=i;c[b+332>>2]=j}c[(c[b+336>>2]|0)+(g<<2)>>2]=d;c[b+328>>2]=g+1;c[d+284>>2]=c[b+452>>2];Bg(b,d,e,f);return}function Yi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[b+20>>2]|0;if(!e)return;if(!(a[b+16>>0]|0))return;f=c[d+4>>2]|0;if((f|0)==(c[d+8>>2]|0)?(h=f|0?f<<1:1,(f|0)<(h|0)):0){if(!h)e=0;else{c[6485]=(c[6485]|0)+1;e=ic((h<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[d+4>>2]|0}if((f|0)>0){g=0;do{c[e+(g<<2)>>2]=c[(c[d+12>>2]|0)+(g<<2)>>2];g=g+1|0}while((g|0)!=(f|0))}g=c[d+12>>2]|0;if(g){if(a[d+16>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[g+-4>>2]|0);f=c[d+4>>2]|0}c[d+12>>2]=0}a[d+16>>0]=1;c[d+12>>2]=e;c[d+8>>2]=h;e=c[b+20>>2]|0}c[(c[d+12>>2]|0)+(f<<2)>>2]=e;c[d+4>>2]=f+1;return}function Zi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;j=+g[a+24>>2];k=+g[a+28>>2];i=+g[a+32>>2];f=j*+g[b>>2]+k*+g[b+4>>2]+i*+g[b+8>>2];h=+g[a+20>>2];if(f>h){g[a+20>>2]=f;c[a+4>>2]=c[b>>2];c[a+4+4>>2]=c[b+4>>2];c[a+4+8>>2]=c[b+8>>2];c[a+4+12>>2]=c[b+12>>2]}else f=h;h=j*+g[b+16>>2]+k*+g[b+20>>2]+i*+g[b+24>>2];if(h>f){g[a+20>>2]=h;c[a+4>>2]=c[b+16>>2];c[a+4+4>>2]=c[b+16+4>>2];c[a+4+8>>2]=c[b+16+8>>2];c[a+4+12>>2]=c[b+16+12>>2]}else h=f;f=j*+g[b+32>>2]+k*+g[b+36>>2]+i*+g[b+40>>2];if(!(f>h))return;g[a+20>>2]=f;c[a+4>>2]=c[b+32>>2];c[a+4+4>>2]=c[b+32+4>>2];c[a+4+8>>2]=c[b+32+8>>2];c[a+4+12>>2]=c[b+32+12>>2];return}function _i(b){b=b|0;var d=0;d=ws()|0;c[d+8>>2]=0;c[d>>2]=6384;a[d+28>>0]=1;c[d+24>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+32>>2]=1566444395;c[d+36>>2]=1566444395;c[d+40>>2]=1566444395;g[d+44>>2]=0.0;c[d+48>>2]=-581039253;c[d+52>>2]=-581039253;c[d+56>>2]=-581039253;g[d+60>>2]=0.0;c[d+64>>2]=0;c[d+68>>2]=1;g[d+72>>2]=0.0;c[d+76>>2]=1065353216;c[d+80>>2]=1065353216;c[d+84>>2]=1065353216;g[d+88>>2]=0.0;c[d+4>>2]=31;if(!b)return d|0;c[6485]=(c[6485]|0)+1;b=ic(79)|0;if(!b)b=0;else{c[(b+4+15&-16)+-4>>2]=b;b=b+4+15&-16}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;a[b+56>>0]=1;c[b+52>>2]=0;c[b+44>>2]=0;c[b+48>>2]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=-1;c[b+12>>2]=0;c[b+16>>2]=0;c[d+64>>2]=b;return d|0}function $i(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;j=+g[a+88>>2];k=+g[a+92>>2];i=+g[a+96>>2];f=j*+g[b>>2]+k*+g[b+4>>2]+i*+g[b+8>>2];h=+g[a+84>>2];if(f>h){g[a+84>>2]=f;c[a+4>>2]=c[b>>2];c[a+4+4>>2]=c[b+4>>2];c[a+4+8>>2]=c[b+8>>2];c[a+4+12>>2]=c[b+12>>2]}else f=h;h=j*+g[b+16>>2]+k*+g[b+20>>2]+i*+g[b+24>>2];if(h>f){g[a+84>>2]=h;c[a+4>>2]=c[b+16>>2];c[a+4+4>>2]=c[b+16+4>>2];c[a+4+8>>2]=c[b+16+8>>2];c[a+4+12>>2]=c[b+16+12>>2]}else h=f;f=j*+g[b+32>>2]+k*+g[b+36>>2]+i*+g[b+40>>2];if(!(f>h))return;g[a+84>>2]=f;c[a+4>>2]=c[b+32>>2];c[a+4+4>>2]=c[b+32+4>>2];c[a+4+8>>2]=c[b+32+8>>2];c[a+4+12>>2]=c[b+32+12>>2];return}function aj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;while(1){j=c[a+12>>2]|0;k=c[j+(((b+d|0)/2|0)<<3)>>2]|0;e=b;f=d;while(1){while(1){h=e+1|0;if((c[j+(e<<3)>>2]|0)<(k|0))e=h;else{i=f;break}}while(1){g=j+(i<<3)|0;f=i+-1|0;if((k|0)<(c[g>>2]|0))i=f;else break}if((e|0)>(i|0))f=i;else{e=j+(e<<3)|0;l=c[e>>2]|0;j=c[e+4>>2]|0;m=c[g+4>>2]|0;c[e>>2]=c[g>>2];c[e+4>>2]=m;e=(c[a+12>>2]|0)+(i<<3)|0;c[e>>2]=l;c[e+4>>2]=j;e=h}if((e|0)>(f|0))break;j=c[a+12>>2]|0}if((f|0)>(b|0))aj(a,b,f);if((e|0)<(d|0))b=e;else break}return}function bj(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;d=c[2380]|0;if((c[d>>2]|0)==(a|0))b=d;else{b=c[d+24>>2]|0;a:do if(!b)e=5;else while(1){if((c[b>>2]|0)==(a|0))break a;b=c[b+28>>2]|0;if(!b){e=5;break}}while(0);if((e|0)==5){b=Ir(36)|0;c[b>>2]=a;c[b+4>>2]=0;c[b+4+4>>2]=0;c[b+4+8>>2]=0;c[b+4+12>>2]=0;c[b+20>>2]=d;c[b+24>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;cr(b);c[b+28>>2]=c[d+24>>2];c[d+24>>2]=b}c[2380]=b}a=b+4|0;c[a>>2]=(c[a>>2]|0)+1;a=b+16|0;e=c[a>>2]|0;c[a>>2]=e+1;if(e|0){l=f;return}Za(f|0,0)|0;e=c[6484]|0;c[b+12>>2]=(c[f+4>>2]|0)-(c[e+4>>2]|0)+(((c[f>>2]|0)-(c[e>>2]|0)|0)*1e6|0);l=f;return}function cj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0;i=+Db[c[(c[a>>2]|0)+48>>2]&15](a);m=i+ +g[a+28>>2];k=i+ +g[a+32>>2];i=i+ +g[a+36>>2];u=+F(+(+g[b>>2]));t=+F(+(+g[b+4>>2]));s=+F(+(+g[b+8>>2]));q=+F(+(+g[b+16>>2]));p=+F(+(+g[b+20>>2]));o=+F(+(+g[b+24>>2]));l=+F(+(+g[b+32>>2]));j=+F(+(+g[b+36>>2]));h=+F(+(+g[b+40>>2]));r=+g[b+48>>2];n=+g[b+52>>2];f=+g[b+56>>2];g[d>>2]=r-(m*u+k*t+i*s);g[d+4>>2]=n-(m*q+k*p+i*o);g[d+8>>2]=f-(m*l+k*j+i*h);g[d+12>>2]=0.0;g[e>>2]=m*u+k*t+i*s+r;g[e+4>>2]=m*q+k*p+i*o+n;g[e+8>>2]=m*l+k*j+i*h+f;g[e+12>>2]=0.0;return}function dj(a,c,d,e,f,h){a=a|0;c=c|0;d=+d;e=+e;f=+f;h=h|0;var i=0,j=0;d=(d-+g[a+8>>2])*+g[a+40>>2];e=(e-+g[a+12>>2])*+g[a+44>>2];f=(f-+g[a+16>>2])*+g[a+48>>2];do if(!(d<=0.0)){i=b[a+6>>1]|0;j=b[a+4>>1]|0;if(!(d>=+(i&65535))){i=j&(~~d&65535)&65535|h;break}else{i=j&i&65535|h;break}}else i=h;while(0);b[c>>1]=i;do if(!(e<=0.0)){i=b[a+6>>1]|0;j=b[a+4>>1]|0;if(!(e>=+(i&65535))){i=j&(~~e&65535)&65535|h;break}else{i=j&i&65535|h;break}}else i=h;while(0);b[c+2>>1]=i;if(f<=0.0){h=h&65535;c=c+4|0;b[c>>1]=h;return}j=b[a+6>>1]|0;i=b[a+4>>1]|0;if(!(f>=+(j&65535))){h=i&(~~f&65535)&65535|h;h=h&65535;c=c+4|0;b[c>>1]=h;return}else{h=i&j&65535|h;h=h&65535;c=c+4|0;b[c>>1]=h;return}}function ej(b){b=b|0;var d=0;c[b>>2]=8676;if(c[b+108>>2]|0){d=c[b+112>>2]|0;lb[c[c[d>>2]>>2]&511](d);d=c[b+112>>2]|0;if(d|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}d=c[b+108>>2]|0;lb[c[c[d>>2]>>2]&511](d);d=c[b+108>>2]|0;if(d|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}}d=c[b+88>>2]|0;if(d|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}d=c[b+84>>2]|0;if(d|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}d=c[b+80>>2]|0;if(d|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}d=c[b+60>>2]|0;if(d|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}if(!(a[b+100>>0]|0))return;d=c[b+92>>2]|0;lb[c[c[d>>2]>>2]&511](d);d=c[b+92>>2]|0;if(!d)return;c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0);return}function fj(b){b=b|0;var d=0,e=0,f=0,h=0.0;e=l;l=l+96|0;a[b+88>>0]=1;if((a[22672]|0)==0?qy(22672)|0:0){c[6189]=1065353216;c[6190]=0;c[6191]=0;c[6192]=0;c[6193]=0;c[6194]=1065353216;c[6195]=0;c[6196]=0;c[6197]=0;c[6198]=0;c[6199]=1065353216;g[6200]=0.0;c[6201]=-1082130432;c[6202]=0;c[6203]=0;c[6204]=0;c[6205]=0;c[6206]=-1082130432;c[6207]=0;c[6208]=0;c[6209]=0;c[6210]=0;c[6211]=-1082130432;g[6212]=0.0}d=e;f=d+96|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(f|0));Zb[c[(c[b>>2]|0)+76>>2]&127](b,24756,e,6);h=+g[b+44>>2];g[b+72>>2]=+g[e>>2]+h;g[b+56>>2]=+g[e+48>>2]-h;g[b+76>>2]=+g[e+20>>2]+h;g[b+60>>2]=+g[e+68>>2]-h;g[b+80>>2]=+g[e+40>>2]+h;g[b+64>>2]=+g[e+88>>2]-h;l=e;return}function gj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[b+76>>2]|0;if(!e)return;f=c[d+4>>2]|0;if((f|0)==(c[d+8>>2]|0)?(h=f|0?f<<1:1,(f|0)<(h|0)):0){if(!h)e=0;else{c[6485]=(c[6485]|0)+1;e=ic((h<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[d+4>>2]|0}if((f|0)>0){g=0;do{c[e+(g<<2)>>2]=c[(c[d+12>>2]|0)+(g<<2)>>2];g=g+1|0}while((g|0)!=(f|0))}g=c[d+12>>2]|0;if(g){if(a[d+16>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[g+-4>>2]|0);f=c[d+4>>2]|0}c[d+12>>2]=0}a[d+16>>0]=1;c[d+12>>2]=e;c[d+8>>2]=h;e=c[b+76>>2]|0}c[(c[d+12>>2]|0)+(f<<2)>>2]=e;c[d+4>>2]=f+1;return}function hj(a,b,d,e){a=a|0;b=b|0;d=+d;e=+e;var f=0,h=0.0,i=0.0,k=0.0,l=0,m=0.0,n=0.0,o=0.0;k=+I(+d);i=+J(+d);f=c[b+444>>2]|0;l=+F(+k)>1.1920928955078125e-07;d=(c[j>>2]=f,+g[j>>2]);if(l){m=+g[b+448>>2];m=+G(+((i*i/(k*k)+1.0)/(1.0/(m*m)+i*i/(k*k)/(d*d))));d=i*i;h=k*k;f=(g[j>>2]=m,c[j>>2]|0)}else{d=i*i;h=k*k}m=+G(+(h+0.0+d));n=(c[j>>2]=f,+g[j>>2])*.5;m=+J(+n)/m;n=+I(+n);o=n*e+k*m*0.0-i*m*-0.0;h=n*0.0-i*m*e-m*0.0*0.0;d=n*0.0+m*0.0*0.0-k*m*e;e=-(m*0.0*e)-k*m*0.0-i*m*-0.0;g[a>>2]=i*m*h+(n*o+e*-(m*0.0))-d*-(k*m);g[a+4>>2]=d*-(m*0.0)+(n*h+e*-(k*m))-i*m*o;g[a+8>>2]=o*-(k*m)+(i*m*e+n*d)-h*-(m*0.0);g[a+12>>2]=0.0;return}function ij(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0,h=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0.0;f=c[a+732>>2]|0;if((f|0)<=0)return;a=c[a+740>>2]|0;e=0;do{d=+g[a+(e*52|0)+24>>2];if(d>0.0?(p=c[a+(e*52|0)+8>>2]|0,h=c[a+(e*52|0)+12>>2]|0,i=+g[p+8>>2],j=+g[h+8>>2]-i,k=+g[p+12>>2],l=+g[h+12>>2]-k,m=+g[p+16>>2],n=+g[h+16>>2]-m,o=+g[a+(e*52|0)+28>>2],o+(j*j+l*l+n*n)>1.1920928955078125e-07):0){d=(o-(j*j+l*l+n*n))/(d*(o+(j*j+l*l+n*n)))*b;q=d*+g[p+88>>2];g[p+8>>2]=i-j*q;g[p+12>>2]=k-l*q;g[p+16>>2]=m-n*q;d=d*+g[h+88>>2];g[h+8>>2]=+g[h+8>>2]+j*d;g[h+12>>2]=l*d+ +g[h+12>>2];g[h+16>>2]=n*d+ +g[h+16>>2]}e=e+1|0}while((e|0)!=(f|0));return}function jj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0;e=l;l=l+96|0;c[e+32>>2]=1065353216;c[e+32+4>>2]=0;c[e+32+4+4>>2]=0;c[e+32+4+8>>2]=0;c[e+32+4+12>>2]=0;c[e+32+20>>2]=1065353216;c[e+32+24>>2]=0;c[e+32+24+4>>2]=0;c[e+32+24+8>>2]=0;c[e+32+24+12>>2]=0;c[e+32+40>>2]=1065353216;n=e+32+44|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;Zb[c[(c[a>>2]|0)+8>>2]&127](a,e+32|0,e+16|0,e);k=+g[e>>2];m=+g[e+16>>2];i=+g[e+4>>2];j=+g[e+16+4>>2];f=+g[e+8>>2];h=+g[e+16+8>>2];g[d>>2]=+G(+((k-m)*(k-m)+(i-j)*(i-j)+(f-h)*(f-h)))*.5;g[b>>2]=(m+k)*.5;g[b+4>>2]=(j+i)*.5;g[b+8>>2]=(h+f)*.5;g[b+12>>2]=0.0;l=e;return}function kj(){var b=0,d=0;d=ws()|0;c[d+8>>2]=0;c[d>>2]=6384;a[d+28>>0]=1;c[d+24>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+32>>2]=1566444395;c[d+36>>2]=1566444395;c[d+40>>2]=1566444395;g[d+44>>2]=0.0;c[d+48>>2]=-581039253;c[d+52>>2]=-581039253;c[d+56>>2]=-581039253;g[d+60>>2]=0.0;c[d+64>>2]=0;c[d+68>>2]=1;g[d+72>>2]=0.0;c[d+76>>2]=1065353216;c[d+80>>2]=1065353216;c[d+84>>2]=1065353216;g[d+88>>2]=0.0;c[d+4>>2]=31;c[6485]=(c[6485]|0)+1;b=ic(79)|0;if(!b)b=0;else{c[(b+4+15&-16)+-4>>2]=b;b=b+4+15&-16}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;a[b+56>>0]=1;c[b+52>>2]=0;c[b+44>>2]=0;c[b+48>>2]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=-1;c[b+12>>2]=0;c[b+16>>2]=0;c[d+64>>2]=b;return d|0}function lj(a,d,f,h){a=a|0;d=d|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=c[a+108>>2]|0;if(i|0){Zb[c[(c[i>>2]|0)+28>>2]&127](i,d,f,h);return}i=b[a+56>>1]|0;if(!(i<<16>>16))return;k=1;m=1;do{j=c[a+68>>2]|0;if(b[j+(k<<2)>>1]&1){l=c[a+60>>2]|0;k=e[j+(k<<2)+2>>1]|0;if(!(+g[d>>2]>+g[l+(k<<6)+32>>2])?!(+g[f>>2]<+g[l+(k<<6)+16>>2]):0)j=1;else j=0;if(!(!(+g[d+8>>2]>+g[l+(k<<6)+40>>2])?!(+g[f+8>>2]<+g[l+(k<<6)+24>>2]):0))j=0;if(!(+g[d+4>>2]>+g[l+(k<<6)+36>>2])?!(+g[f+4>>2]<+g[l+(k<<6)+20>>2]|j^1):0){Kb[c[(c[h>>2]|0)+8>>2]&31](h,l+(k<<6)|0)|0;i=b[a+56>>1]|0}}m=m+1<<16>>16;k=m&65535}while(k>>>0<((i&65535)<<1|1)>>>0);return}function mj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0;f=+g[b>>2];h=+g[b+16>>2];j=f<h?f:h;i=+g[b+32>>2];if((j<i?j:i)>+g[a+24>>2])return;k=f>h?b:b+16|0;if(+g[(+g[k>>2]>i?k:b+32|0)>>2]<+g[a+8>>2])return;f=+g[b+8>>2];h=+g[b+24>>2];j=f<h?f:h;i=+g[b+40>>2];if((j<i?j:i)>+g[a+32>>2])return;k=f>h?b+8|0:b+24|0;if(+g[(+g[k>>2]>i?k:b+40|0)>>2]<+g[a+16>>2])return;f=+g[b+4>>2];h=+g[b+20>>2];j=f<h?f:h;i=+g[b+36>>2];if((j<i?j:i)>+g[a+28>>2])return;k=f>h?b+4|0:b+20|0;if(+g[(+g[k>>2]>i?k:b+36|0)>>2]<+g[a+12>>2])return;k=c[a+4>>2]|0;Zb[c[(c[k>>2]|0)+8>>2]&127](k,b,d,e);return}function nj(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0;if(!(a[b+738>>0]|0)){c[d>>2]=5;c[d+4>>2]=1;e=+Pi(b,(c[b+28>>2]|0)+4|0,(c[b+32>>2]|0)+4|0);g[b+728>>2]=e;g[b+708>>2]=0.0;g[b+712>>2]=0.0;a[b+716>>0]=0;h=+g[b+692>>2];do if(!(h>=0.0))i=12;else{e=+ch(e-+g[b+688>>2],6.2831854820251465);if(!(e<-3.1415927410125732)){if(e>3.1415927410125732)e=e+-6.2831854820251465}else e=e+6.2831854820251465;if(e<-h){a[b+716>>0]=1;f=1.0;e=-(e+h)}else{if(!(e>h)){i=12;break}a[b+716>>0]=1;f=-1.0;e=h-e}g[b+708>>2]=e;g[b+712>>2]=f}while(0);if((i|0)==12?(a[b+737>>0]|0)==0:0)return;c[d>>2]=6;d=d+4|0}else{c[d>>2]=0;d=d+4|0}c[d>>2]=0;return}function oj(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0.0,j=0.0,k=0.0;h=l;l=l+16|0;g[b+32>>2]=f;c[b+8>>2]=c[d>>2];c[b+8+4>>2]=c[d+4>>2];c[b+8+8>>2]=c[d+8>>2];c[b+8+12>>2]=c[d+12>>2];i=+g[b+28>>2];k=+g[e+4>>2]-i*+g[d+4>>2];j=+g[e+8>>2]-i*+g[d+8>>2];g[h>>2]=+g[e>>2]-+g[d>>2]*i;g[h+4>>2]=k;g[h+8>>2]=j;g[h+12>>2]=0.0;f=+g[b+24>>2]+i+f;g[b+32>>2]=f;if(!(f<0.0)){b=b+4|0;b=c[b>>2]|0;e=c[b>>2]|0;e=e+16|0;e=c[e>>2]|0;Ub[e&15](b,d,h,f);l=h;return}a[b+36>>0]=1;b=b+4|0;b=c[b>>2]|0;e=c[b>>2]|0;e=e+16|0;e=c[e>>2]|0;Ub[e&15](b,d,h,f);l=h;return}function pj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;c[b>>2]=6320;d=c[b+8>>2]|0;e=c[d+8>>2]|0;if((e|0)>0){g=0;do{f=c[(c[d+16>>2]|0)+(g*12|0)+8>>2]|0;if(f|0){lb[c[c[f>>2]>>2]&511](f);h=c[b+4>>2]|0;nb[c[(c[h>>2]|0)+60>>2]&127](h,f)}g=g+1|0}while((g|0)!=(e|0));d=c[b+8>>2]|0}Hh(d);d=c[b+8>>2]|0;lb[c[c[d>>2]>>2]&511](d);d=c[b+8>>2]|0;if(d|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}d=c[b+24>>2]|0;if(!d){a[b+28>>0]=1;c[b+24>>2]=0;c[b+16>>2]=0;h=b+20|0;c[h>>2]=0;return}if(a[b+28>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+24>>2]=0;a[b+28>>0]=1;c[b+24>>2]=0;c[b+16>>2]=0;h=b+20|0;c[h>>2]=0;return}function qj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0.0;f=l;l=l+16|0;c[a+4>>2]=c[b+24>>2];e=c[b>>2]|0;c[a+8>>2]=e;if(d){c[a+52>>2]=c[b+8>>2];c[a+52+4>>2]=c[b+8+4>>2];c[a+52+8>>2]=c[b+8+8>>2];c[a+52+12>>2]=c[b+8+12>>2];e=a+68|0;d=a+20|0;a=a+36|0;h=+g[b+24>>2];xp(e,d,a,h);h=+g[b+24>>2];l=f;return +h}else{e=bH(IG(e)|0)|0;Ol(f,e,+g[b+8>>2],+g[b+12>>2],+g[b+16>>2]);c[a+52>>2]=c[f>>2];c[a+52+4>>2]=c[f+4>>2];c[a+52+8>>2]=c[f+8>>2];c[a+52+12>>2]=c[f+12>>2];e=a+68|0;d=a+20|0;a=a+36|0;h=+g[b+24>>2];xp(e,d,a,h);h=+g[b+24>>2];l=f;return +h}return 0.0}function rj(b,d){b=b|0;d=d|0;c[b+204>>2]=c[d+48>>2];c[b+208>>2]=c[d+52>>2];c[b+212>>2]=c[d+56>>2];c[b+216>>2]=c[d+60>>2];c[b+220>>2]=c[d+64>>2];c[b+224>>2]=c[d+68>>2];c[b+156>>2]=c[d>>2];c[b+156+4>>2]=c[d+4>>2];c[b+156+8>>2]=c[d+8>>2];c[b+156+12>>2]=c[d+12>>2];c[b+172>>2]=c[d+16>>2];c[b+172+4>>2]=c[d+16+4>>2];c[b+172+8>>2]=c[d+16+8>>2];c[b+172+12>>2]=c[d+16+12>>2];c[b+188>>2]=c[d+32>>2];c[b+188+4>>2]=c[d+32+4>>2];c[b+188+8>>2]=c[d+32+8>>2];c[b+188+12>>2]=c[d+32+12>>2];c[b+228>>2]=c[d+72>>2];g[b+232>>2]=0.0;g[b+252>>2]=0.0;g[b+236>>2]=0.0;g[b+240>>2]=0.0;g[b+256>>2]=0.0;g[b+244>>2]=.10000000149011612;a[b+260>>0]=a[d+80>>0]&1;c[b+248>>2]=c[d+76>>2];return}function sj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.0;f=l;l=l+16|0;c[b+4>>2]=d;c[b>>2]=4672;c[b+8>>2]=-1;c[b+12>>2]=-1;g[b+16>>2]=3402823466385288598117041.0e14;a[b+20>>0]=1;a[b+21>>0]=0;c[b+24>>2]=-1;c[b+28>>2]=e;if((a[22648]|0)==0?qy(22648)|0:0){c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;eg(23468,0.0,0,0,f)}c[5918]=c[5918]|1;g[5953]=0.0;h=+g[5963]*0.0;i=+g[5964]*0.0;g[5958]=+g[5962]*0.0;g[5959]=h;g[5960]=i;g[5961]=0.0;c[5966]=0;c[5967]=0;c[5968]=0;c[5969]=0;i=+g[5955]*0.0;h=+g[5956]*0.0;g[6007]=+g[5954]*0.0;g[6008]=i;g[6009]=h;g[6010]=0.0;c[b+32>>2]=23468;g[b+36>>2]=0.0;g[b+40>>2]=.30000001192092896;c[b+44>>2]=0;l=f;return}function tj(a){a=a|0;var b=0;c[a>>2]=3196;b=c[a+92>>2]|0;lb[c[c[b>>2]>>2]&511](b);b=c[a+92>>2]|0;if(b|0){c[6486]=(c[6486]|0)+1;Uc(c[b+-4>>2]|0)}b=c[a+96>>2]|0;lb[c[c[b>>2]>>2]&511](b);b=c[a+96>>2]|0;if(b|0){c[6486]=(c[6486]|0)+1;Uc(c[b+-4>>2]|0)}b=c[a+100>>2]|0;lb[c[c[b>>2]>>2]&511](b);b=c[a+100>>2]|0;if(b|0){c[6486]=(c[6486]|0)+1;Uc(c[b+-4>>2]|0)}b=c[a+104>>2]|0;lb[c[c[b>>2]>>2]&511](b);b=c[a+104>>2]|0;if(b|0){c[6486]=(c[6486]|0)+1;Uc(c[b+-4>>2]|0)}b=c[a+108>>2]|0;lb[c[c[b>>2]>>2]&511](b);b=c[a+108>>2]|0;if(!b){Ze(a);return}c[6486]=(c[6486]|0)+1;Uc(c[b+-4>>2]|0);Ze(a);return}function uj(b,d){b=b|0;d=d|0;var e=0,f=0;a:do if((d|0)!=0&(b&3|0)!=0){e=d;while(1){if(!(a[b>>0]|0))break a;b=b+1|0;d=e+-1|0;if((d|0)!=0&(b&3|0)!=0)e=d;else{e=d;d=(d|0)!=0;f=4;break}}}else{e=d;d=(d|0)!=0;f=4}while(0);b:do if((f|0)==4)if(d){if(a[b>>0]|0){c:do if(e>>>0>3)while(1){d=c[b>>2]|0;if((d&-2139062144^-2139062144)&d+-16843009|0)break;b=b+4|0;e=e+-4|0;if(e>>>0<=3){f=10;break c}}else f=10;while(0);if((f|0)==10)if(!e){e=0;break}while(1){if(!(a[b>>0]|0))break b;b=b+1|0;e=e+-1|0;if(!e){e=0;break}}}}else e=0;while(0);return (e|0?b:0)|0}function vj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if((c[d+60>>2]|0)==2){f=c[d+48>>2]|0;Ug(b+64|0,f)|0;g=c[b+68>>2]|0;if(g|0){c[6486]=(c[6486]|0)+1;Uc(c[g+-4>>2]|0)}c[b+68>>2]=f;f=1}else{f=c[d+48>>2]|0;Ug(b+4|0,f)|0;g=c[b+8>>2]|0;if(g|0){c[6486]=(c[6486]|0)+1;Uc(c[g+-4>>2]|0)}c[b+8>>2]=f;f=0}f=b+4+(f*60|0)+12|0;c[f>>2]=(c[f>>2]|0)+-1;f=c[d+52>>2]|0;if(!f)f=b+124+(c[d+60>>2]<<2)|0;else f=f+56|0;c[f>>2]=c[d+56>>2];f=c[d+56>>2]|0;if(f|0)c[f+52>>2]=c[d+52>>2];g=c[b+136>>2]|0;Vb[c[(c[g>>2]|0)+16>>2]&127](g,d,e);c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0);a[b+194>>0]=1;return}function wj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0,i=0.0,j=0.0,k=0.0,l=0,m=0;m=c[b+52>>2]|0;l=c[m+32>>2]|0;b=c[l>>2]|0;m=c[m+24>>2]|0;if((m|0)<=1){m=b;m=m+8|0;c[a>>2]=c[m>>2];c[a+4>>2]=c[m+4>>2];c[a+8>>2]=c[m+8>>2];c[a+12>>2]=c[m+12>>2];return}j=+g[d>>2];k=+g[d+4>>2];i=+g[d+8>>2];f=j*+g[b+8>>2]+k*+g[b+12>>2]+i*+g[b+16>>2];d=1;h=0;while(1){b=c[l+(d<<2)>>2]|0;e=j*+g[b+8>>2]+k*+g[b+12>>2]+i*+g[b+16>>2];b=e>f;h=b?d:h;d=d+1|0;if((d|0)==(m|0))break;else f=b?e:f}m=c[l+(h<<2)>>2]|0;m=m+8|0;c[a>>2]=c[m>>2];c[a+4>>2]=c[m+4>>2];c[a+8>>2]=c[m+8>>2];c[a+12>>2]=c[m+12>>2];return}function xj(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0;n=+g[a+4>>2];h=+g[a+396>>2];m=+g[a+8>>2];e=+g[a+400>>2];l=+g[a+12>>2];c=+g[a+404>>2];k=+g[a+20>>2];j=+g[a+24>>2];i=+g[a+28>>2];f=+g[a+36>>2];d=+g[a+40>>2];b=+g[a+44>>2];g[a+264>>2]=n*h*n+m*e*m+l*c*l;g[a+268>>2]=n*h*k+m*e*j+l*c*i;g[a+272>>2]=n*h*f+m*e*d+l*c*b;g[a+276>>2]=0.0;g[a+280>>2]=h*k*n+e*j*m+c*i*l;g[a+284>>2]=h*k*k+e*j*j+c*i*i;g[a+288>>2]=h*k*f+e*j*d+c*i*b;g[a+292>>2]=0.0;g[a+296>>2]=h*f*n+e*d*m+c*b*l;g[a+300>>2]=h*f*k+e*d*j+c*b*i;g[a+304>>2]=h*f*f+e*d*d+c*b*b;g[a+308>>2]=0.0;return}function yj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;c[b>>2]=5724;e=c[b+8>>2]|0;d=c[b+16>>2]|0;if((e|0)>0){h=0;do{g=(c[d+(h<<2)>>2]|0)+188|0;f=c[g>>2]|0;if(f){e=c[b+68>>2]|0;e=pb[c[(c[e>>2]|0)+36>>2]&127](e)|0;Vb[c[(c[e>>2]|0)+40>>2]&127](e,f,c[b+24>>2]|0);e=c[b+68>>2]|0;Vb[c[(c[e>>2]|0)+12>>2]&127](e,f,c[b+24>>2]|0);c[g>>2]=0;e=c[b+8>>2]|0;d=c[b+16>>2]|0}h=h+1|0}while((h|0)<(e|0))}if(!d){a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}if(a[b+20>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}function zj(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0,h=0,i=0.0,j=0.0;c[a+248>>2]=c[b>>2];c[a+248+4>>2]=c[b+4>>2];c[a+248+8>>2]=c[b+8>>2];c[a+248+12>>2]=c[b+12>>2];d=c[a+232>>2]|0;if((d|0)<=0)return;h=0;do{f=c[(c[a+240>>2]|0)+(h<<2)>>2]|0;switch(c[f+216>>2]|0){case 2:case 5:break;default:if(!(c[f+504>>2]&1)){e=+g[f+344>>2];if(e!=0.0){j=1.0/e*+g[b+4>>2];i=1.0/e*+g[b+8>>2];g[f+364>>2]=1.0/e*+g[b>>2];g[f+368>>2]=j;g[f+372>>2]=i;g[f+376>>2]=0.0}c[f+380>>2]=c[b>>2];c[f+380+4>>2]=c[b+4>>2];c[f+380+8>>2]=c[b+8>>2];c[f+380+12>>2]=c[b+12>>2];d=c[a+232>>2]|0}}h=h+1|0}while((h|0)<(d|0));return}function Aj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=l;l=l+96|0;g=c[b+192>>2]|0;c[f+64>>2]=0;c[f+64+4>>2]=g;c[f+64+8>>2]=b;c[f+64+12>>2]=b+4;c[f+64+16>>2]=-1;c[f+64+20>>2]=-1;b=c[d+192>>2]|0;c[f+40>>2]=0;c[f+40+4>>2]=b;c[f+40+8>>2]=d;c[f+40+12>>2]=d+4;c[f+40+16>>2]=-1;c[f+40+20>>2]=-1;b=c[a+24>>2]|0;b=tb[c[(c[b>>2]|0)+8>>2]&31](b,f+64|0,f+40|0,0)|0;if(!b){l=f;return}c[f+4>>2]=0;c[f+8>>2]=f+64;c[f+12>>2]=f+40;c[f>>2]=6068;c[f+32>>2]=e;jb[c[(c[b>>2]|0)+8>>2]&31](b,f+64|0,f+40|0,a+28|0,f);lb[c[c[b>>2]>>2]&511](b);g=c[a+24>>2]|0;nb[c[(c[g>>2]|0)+60>>2]&127](g,b);l=f;return}function Bj(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,h=0;f=l;l=l+496|0;e=c[b+212>>2]|0;if((e|0)>-1){a=e;l=f;return a|0}h=(c[b+236>>2]&2|0)==0;e=h?0:b;do if(!h){if(!(+g[e+344>>2]!=0.0)?(c[e+204>>2]&2|0)==0:0)break;h=c[a+8>>2]|0;Lk(f+244|0,0,244)|0;xe(tf(a+4|0,f+244|0)|0,b,d);c[b+212>>2]=h;l=f;return h|0}while(0);e=c[a+188>>2]|0;if((e|0)>=0){h=e;l=f;return h|0}c[a+188>>2]=c[a+8>>2];Lk(f|0,0,244)|0;xe(tf(a+4|0,f)|0,0,d);h=c[a+188>>2]|0;l=f;return h|0}function Cj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;if(!((b|0)==0?1:(c[b+236>>2]&2|0)==0)){nb[c[(c[a>>2]|0)+92>>2]&127](a,b);return}d=c[b+188>>2]|0;if(d|0){g=c[a+68>>2]|0;g=pb[c[(c[g>>2]|0)+36>>2]&127](g)|0;Vb[c[(c[g>>2]|0)+40>>2]&127](g,d,c[a+24>>2]|0);g=c[a+68>>2]|0;Vb[c[(c[g>>2]|0)+12>>2]&127](g,d,c[a+24>>2]|0);c[b+188>>2]=0}f=c[a+8>>2]|0;if((f|0)<=0)return;g=c[a+16>>2]|0;d=0;while(1){e=g+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(f|0)){h=11;break}}if((h|0)==11)return;if((d|0)>=(f|0))return;c[e>>2]=c[g+(f+-1<<2)>>2];c[(c[a+16>>2]|0)+(f+-1<<2)>>2]=b;c[a+8>>2]=f+-1;return}function Dj(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0,h=0.0,i=0.0,k=0.0;e=c[a+204>>2]|0;if(b==0.0){c[a+204>>2]=e|1;h=0.0}else{c[a+204>>2]=e&-2;h=1.0/b}g[a+344>>2]=h;k=+g[a+384>>2]*b;i=+g[a+388>>2]*b;g[a+364>>2]=+g[a+380>>2]*b;g[a+368>>2]=k;g[a+372>>2]=i;g[a+376>>2]=0.0;b=+g[d>>2];f=b!=0.0?(g[j>>2]=1.0/b,c[j>>2]|0):0;b=+g[d+4>>2];e=b!=0.0?(g[j>>2]=1.0/b,c[j>>2]|0):0;b=+g[d+8>>2];d=b!=0.0?(g[j>>2]=1.0/b,c[j>>2]|0):0;c[a+396>>2]=f;c[a+400>>2]=e;c[a+404>>2]=d;g[a+408>>2]=0.0;i=h*+g[a+352>>2];k=h*+g[a+356>>2];g[a+560>>2]=+g[a+348>>2]*h;g[a+564>>2]=i;g[a+568>>2]=k;g[a+572>>2]=0.0;return}function Ej(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0,j=0.0,k=0,l=0;h=+g[b+60>>2]*.5;l=c[b+68>>2]|0;e=+g[d>>2];f=+g[d+4>>2];j=+g[d+8>>2];j=+G(+(e*e+f*f+j*j));i=c[b+64>>2]|0;if(+g[d+(l<<2)>>2]>j*+g[b+52>>2]){g[a+(i<<2)>>2]=0.0;g[a+(l<<2)>>2]=h;j=0.0;b=c[b+72>>2]|0;b=a+(b<<2)|0;g[b>>2]=j;return}j=+g[d+(i<<2)>>2];k=c[b+72>>2]|0;e=+g[d+(k<<2)>>2];f=+G(+(j*j+e*e));if(f>1.1920928955078125e-07){f=+g[b+56>>2]/f;g[a+(i<<2)>>2]=j*f;g[a+(l<<2)>>2]=-h;j=e*f;b=k;b=a+(b<<2)|0;g[b>>2]=j;return}else{g[a+(i<<2)>>2]=0.0;g[a+(l<<2)>>2]=-h;j=0.0;b=k;b=a+(b<<2)|0;g[b>>2]=j;return}}function Fj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[b+280>>2]|0;if((e|0)==(c[b+284>>2]|0)?(h=e|0?e<<1:1,(e|0)<(h|0)):0){if(!h)g=0;else{c[6485]=(c[6485]|0)+1;e=ic((h<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}g=e;e=c[b+280>>2]|0}if((e|0)>0){f=0;do{c[g+(f<<2)>>2]=c[(c[b+288>>2]|0)+(f<<2)>>2];f=f+1|0}while((f|0)!=(e|0))}f=c[b+288>>2]|0;if(f){if(a[b+292>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[f+-4>>2]|0);e=c[b+280>>2]|0}c[b+288>>2]=0}a[b+292>>0]=1;c[b+288>>2]=g;c[b+284>>2]=h}c[(c[b+288>>2]|0)+(e<<2)>>2]=d;c[b+280>>2]=e+1;return}function Gj(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0;e=l;l=l+96|0;c[e+32>>2]=1065353216;c[e+32+4>>2]=0;c[e+32+4+4>>2]=0;c[e+32+4+8>>2]=0;c[e+32+4+12>>2]=0;c[e+32+20>>2]=1065353216;c[e+32+24>>2]=0;c[e+32+24+4>>2]=0;c[e+32+24+8>>2]=0;c[e+32+24+12>>2]=0;c[e+32+40>>2]=1065353216;j=e+32+44|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;Zb[c[(c[a>>2]|0)+8>>2]&127](a,e+32|0,e+16|0,e);h=(+g[e>>2]-+g[e+16>>2])*.5*2.0;f=(+g[e+4>>2]-+g[e+16+4>>2])*.5*2.0;i=(+g[e+8>>2]-+g[e+16+8>>2])*.5*2.0;g[d>>2]=b/12.0*(f*f+i*i);g[d+4>>2]=b/12.0*(h*h+i*i);g[d+8>>2]=b/12.0*(h*h+f*f);l=e;return}function Hj(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;e=is()|0;sj(e,3,b);c[e>>2]=4620;c[e+300>>2]=c[d>>2];c[e+300+4>>2]=c[d+4>>2];c[e+300+8>>2]=c[d+8>>2];c[e+300+12>>2]=c[d+12>>2];k=+g[d>>2];j=+g[d+4>>2];i=+g[d+8>>2];h=k*+g[b+20>>2]+j*+g[b+24>>2]+i*+g[b+28>>2]+ +g[b+56>>2];f=k*+g[b+36>>2]+j*+g[b+40>>2]+i*+g[b+44>>2]+ +g[b+60>>2];g[e+316>>2]=k*+g[b+4>>2]+j*+g[b+8>>2]+i*+g[b+12>>2]+ +g[b+52>>2];g[e+320>>2]=h;g[e+324>>2]=f;g[e+328>>2]=0.0;c[e+332>>2]=0;a[e+344>>0]=0;g[e+348>>2]=.30000001192092896;g[e+352>>2]=1.0;g[e+356>>2]=0.0;return e|0}function Ij(a,b,c){a=+a;b=+b;c=+c;var d=0.0,e=0.0,f=0;if(b>=c)return +a;if(a<b){d=+ch(b-a,6.2831854820251465);if(!(d<-3.1415927410125732)){if(d>3.1415927410125732)d=d+-6.2831854820251465}else d=d+6.2831854820251465;e=+F(+d);d=+ch(c-a,6.2831854820251465);if(!(d<-3.1415927410125732)){if(d>3.1415927410125732)d=d+-6.2831854820251465}else d=d+6.2831854820251465;f=e<+F(+d);a=f?a:a+6.2831854820251465;return +a}if(!(a>c))return +a;d=+ch(a-c,6.2831854820251465);if(!(d<-3.1415927410125732)){if(d>3.1415927410125732)d=d+-6.2831854820251465}else d=d+6.2831854820251465;e=+F(+d);d=+ch(a-b,6.2831854820251465);if(!(d<-3.1415927410125732)){if(d>3.1415927410125732)d=d+-6.2831854820251465}else d=d+6.2831854820251465;f=+F(+d)<e;a=f?a+-6.2831854820251465:a;return +a}function Jj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;e=l;l=l+16|0;Vb[c[(c[b>>2]|0)+68>>2]&127](e,b,d);c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];c[a+8>>2]=c[e+8>>2];c[a+12>>2]=c[e+12>>2];if(!(+Db[c[(c[b>>2]|0)+48>>2]&15](b)!=0.0)){l=e;return}i=+g[d>>2];h=+g[d+4>>2];f=+g[d+8>>2];k=i*i+h*h+f*f<1.4210854715202004e-14?-1.0:i;j=i*i+h*h+f*f<1.4210854715202004e-14?-1.0:h;f=i*i+h*h+f*f<1.4210854715202004e-14?-1.0:f;h=1.0/+G(+(f*f+(k*k+j*j)));i=+Db[c[(c[b>>2]|0)+48>>2]&15](b);g[a>>2]=+g[a>>2]+i*h*k;g[a+4>>2]=i*h*j+ +g[a+4>>2];g[a+8>>2]=i*h*f+ +g[a+8>>2];l=e;return}function Kj(a,b,d){a=a|0;b=+b;d=+d;var e=0.0,f=0.0,h=0.0;f=+g[a+692>>2];do if(f>0.0){h=+g[a+688>>2];e=+ch(b-h,6.2831854820251465);if(!(e<-3.1415927410125732)){if(e>3.1415927410125732)e=e+-6.2831854820251465}else e=e+6.2831854820251465;if(!(!(e<-f)&e<=f))if(e>0.0){b=+ch(f+h,6.2831854820251465);if(b<-3.1415927410125732){b=b+6.2831854820251465;break}if(!(b>3.1415927410125732))break;b=b+-6.2831854820251465;break}else{b=+ch(h-f,6.2831854820251465);if(b<-3.1415927410125732){b=b+6.2831854820251465;break}if(!(b>3.1415927410125732))break;b=b+-6.2831854820251465;break}}while(0);g[a+680>>2]=(b-+Pi(a,(c[a+28>>2]|0)+4|0,(c[a+32>>2]|0)+4|0))/d;return}function Lj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0.0,i=0,j=0.0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0;k=c[b+96>>2]|0;if((k|0)<=0){c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;return}o=+g[b+12>>2];p=+g[d>>2]*o;l=+g[b+16>>2];m=+g[d+4>>2]*l;n=+g[b+20>>2];j=+g[d+8>>2]*n;d=c[b+104>>2]|0;f=0;h=-3402823466385288598117041.0e14;i=-1;while(1){e=p*+g[d+(f<<4)>>2]+m*+g[d+(f<<4)+4>>2]+j*+g[d+(f<<4)+8>>2];b=e>h;i=b?f:i;f=f+1|0;if((f|0)==(k|0))break;else h=b?e:h}m=+g[d+(i<<4)+4>>2]*l;p=+g[d+(i<<4)+8>>2]*n;g[a>>2]=+g[d+(i<<4)>>2]*o;g[a+4>>2]=m;g[a+8>>2]=p;g[a+12>>2]=0.0;return}function Mj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;a:do switch(b|0){case 2:{if((c|0)<1){d=+g[a+232>>2];break a}if((c|0)<3){d=+g[a+264>>2];break a}if((c|0)==3){d=+g[a+248>>2];break a}if((c|0)<6)d=+g[a+280>>2];else d=3402823466385288598117041.0e14;break}case 3:{if((c|0)<1){d=+g[a+212>>2];break a}if((c|0)==3)d=+g[a+228>>2];else d=3402823466385288598117041.0e14;break}case 4:{if((c|0)<1){d=+g[a+244>>2];break a}if((c|0)<3){d=+g[a+276>>2];break a}if((c|0)==3){d=+g[a+260>>2];break a}if((c|0)<6)d=+g[a+292>>2];else d=3402823466385288598117041.0e14;break}default:d=3402823466385288598117041.0e14}while(0);return +d}function Nj(){var b=0;b=Qr()|0;c[b>>2]=4884;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;a[b+60>>0]=1;c[b+56>>2]=0;c[b+48>>2]=0;c[b+52>>2]=0;a[b+80>>0]=1;c[b+76>>2]=0;c[b+68>>2]=0;c[b+72>>2]=0;a[b+100>>0]=1;c[b+96>>2]=0;c[b+88>>2]=0;c[b+92>>2]=0;a[b+120>>0]=1;c[b+116>>2]=0;c[b+108>>2]=0;c[b+112>>2]=0;a[b+140>>0]=1;c[b+136>>2]=0;c[b+128>>2]=0;c[b+132>>2]=0;a[b+160>>0]=1;c[b+156>>2]=0;c[b+148>>2]=0;c[b+152>>2]=0;a[b+180>>0]=1;c[b+176>>2]=0;c[b+168>>2]=0;c[b+172>>2]=0;c[b+192>>2]=0;return b|0}function Oj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;c[6216]=(c[6216]|0)+1;e=(c[b+12>>2]|0)>(c[d+12>>2]|0);f=c[(e?d:b)+12>>2]|0;e=c[(e?b:d)+12>>2]|0;b=((e<<16|f)+~((e<<16|f)<<15)>>10^(e<<16|f)+~((e<<16|f)<<15))*9|0;b=((b>>6^b)+~((b>>6^b)<<11)>>16^(b>>6^b)+~((b>>6^b)<<11))&(c[a+12>>2]|0)+-1;if((b|0)>=(c[a+36>>2]|0)){g=0;return g|0}b=c[(c[a+44>>2]|0)+(b<<2)>>2]|0;if((b|0)==-1){g=0;return g|0}d=c[a+16>>2]|0;while(1){if((c[(c[d+(b<<4)>>2]|0)+12>>2]|0)==(f|0)?(c[(c[d+(b<<4)+4>>2]|0)+12>>2]|0)==(e|0):0)break;b=c[(c[a+64>>2]|0)+(b<<2)>>2]|0;if((b|0)==-1){b=0;g=8;break}}if((g|0)==8)return b|0;g=d+(b<<4)|0;return g|0}function Pj(b){b=b|0;var d=0;c[b>>2]=4e3;if(a[b+456>>0]|0?(d=c[b+452>>2]|0,lb[c[c[d>>2]>>2]&511](d),d=c[b+452>>2]|0,d|0):0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}d=c[b+420>>2]|0;if(d|0){if(a[b+424>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+420>>2]=0}a[b+424>>0]=1;c[b+420>>2]=0;c[b+412>>2]=0;c[b+416>>2]=0;d=c[b+336>>2]|0;if(!d){a[b+340>>0]=1;c[b+336>>2]=0;c[b+328>>2]=0;d=b+332|0;c[d>>2]=0;Cg(b);return}if(a[b+340>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+336>>2]=0;a[b+340>>0]=1;c[b+336>>2]=0;c[b+328>>2]=0;d=b+332|0;c[d>>2]=0;Cg(b);return}function Qj(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,m=0.0;d=l;l=l+64|0;c[d+48>>2]=0;c[d+48+4>>2]=0;c[d+48+8>>2]=0;c[d+48+12>>2]=0;i=+g[b>>2];f=+g[b+4>>2];m=+g[b+8>>2];j=+g[b+12>>2];h=i*(2.0/(i*i+f*f+m*m+j*j));e=f*(2.0/(i*i+f*f+m*m+j*j));k=m*(2.0/(i*i+f*f+m*m+j*j));g[d>>2]=1.0-(f*e+m*k);g[d+4>>2]=i*e-j*k;g[d+8>>2]=i*k+j*e;g[d+12>>2]=0.0;g[d+16>>2]=i*e+j*k;g[d+20>>2]=1.0-(i*h+m*k);g[d+24>>2]=f*k-j*h;g[d+28>>2]=0.0;g[d+32>>2]=i*k-j*e;g[d+36>>2]=f*k+j*h;g[d+40>>2]=1.0-(i*h+f*e);g[d+44>>2]=0.0;Ad(a,d);l=d;return}function Rj(a,b,d){a=a|0;b=+b;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;k=+g[a+28>>2];l=+g[a+32>>2];e=+g[a+36>>2];i=+Db[c[(c[a>>2]|0)+48>>2]&15](a);j=+Db[c[(c[a>>2]|0)+48>>2]&15](a);e=+Db[c[(c[a>>2]|0)+48>>2]&15](a)+e;switch(c[a+52>>2]|0){case 0:{h=b*.25*(j+l)*(j+l)+b/12.0*(i+k)*(i+k)*4.0;f=h;e=b*.5*(j+l)*(j+l);break}case 2:{f=b*.5*(i+k)*(i+k);h=b*.25*(i+k)*(i+k)+b/12.0*e*e*4.0;e=b*.25*(i+k)*(i+k)+b/12.0*e*e*4.0;break}default:{e=b*.25*(i+k)*(i+k)+b/12.0*(j+l)*(j+l)*4.0;f=e;h=b*.5*(i+k)*(i+k)}}g[d>>2]=e;g[d+4>>2]=h;g[d+8>>2]=f;g[d+12>>2]=0.0;return}function Sj(a,b){a=a|0;b=+b;var d=0,e=0,f=0;e=l;l=l+16|0;bj(11992);if((c[a+280>>2]|0)>0){d=0;do{f=c[(c[a+288>>2]|0)+(d<<2)>>2]|0;Xb[c[(c[f>>2]|0)+8>>2]&7](f,a,b);d=d+1|0}while((d|0)<(c[a+280>>2]|0))}d=c[2380]|0;f=(c[d+16>>2]|0)+-1|0;c[d+16>>2]=f;if(f|0){l=e;return}do if(c[d+4>>2]|0){Za(e|0,0)|0;f=c[6484]|0;g[d+8>>2]=+(((c[e+4>>2]|0)-(c[f+4>>2]|0)+(((c[e>>2]|0)-(c[f>>2]|0)|0)*1e6|0)-(c[d+12>>2]|0)|0)>>>0)/1.0e3+ +g[d+8>>2];if(!(c[d+16>>2]|0)){d=c[2380]|0;break}else{l=e;return}}while(0);c[2380]=c[d+20>>2];l=e;return}function Tj(b,d,e,f){b=b|0;d=d|0;e=+e;f=f|0;var h=0;h=Ur()|0;c[h>>2]=5e3;a[h+144>>0]=1;c[h+140>>2]=0;c[h+132>>2]=0;c[h+136>>2]=0;c[h+176>>2]=f;g[h+56>>2]=.019999999552965164;c[h+60>>2]=0;c[h+60+4>>2]=0;c[h+60+8>>2]=0;c[h+60+12>>2]=0;a[h+170>>0]=1;c[h+8>>2]=b;g[h+52>>2]=e;g[h+48>>2]=0.0;c[h+12>>2]=d;a[h+171>>0]=1;g[h+172>>2]=0.0;g[h+16>>2]=0.0;g[h+20>>2]=0.0;g[h+44>>2]=29.399999618530273;g[h+24>>2]=55.0;g[h+28>>2]=10.0;a[h+168>>0]=0;a[h+169>>0]=0;a[h+180>>0]=1;g[h+36>>2]=.7853981852531433;g[h+40>>2]=.7071067690849304;g[h+108>>2]=0.0;a[h+181>>0]=0;a[h+182>>0]=0;return h|0}function Uj(a,b,d){a=a|0;b=b|0;d=d|0;do if(!((b|0)==8&(d|0)==8)){if((b|0)==8&(d|0)==1){b=a+76|0;break}if((b|0)==1&(d|0)==8){b=a+80|0;break}if(!(d|b)){b=a+72|0;break}if((b|0)<20&(d|0)==28){b=a+88|0;break}if((b|0)==28&(d|0)<20){b=a+84|0;break}if((b|0)<20){if((d|0)<20){b=a+32|0;break}if((d+-21|0)>>>0<9){b=a+36|0;break}}else{if((d|0)<20&(b+-21|0)>>>0<9){b=a+40|0;break}if((b|0)==31)if((d|0)==31){b=a+48|0;break}else{b=a+44|0;break}}if((d|0)==31){b=a+52|0;break}else{b=a+56|0;break}}else b=a+60|0;while(0);return c[b>>2]|0}function Vj(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;var h=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0;h=l;l=l+48|0;c[h+32>>2]=e;c[h+32+4>>2]=f;n=+g[b>>2];m=+g[b+4>>2];i=+g[b+8>>2];k=+g[a+56>>2]*n+ +g[a+60>>2]*m+ +g[a+64>>2]*i;j=n*+g[a+72>>2]+m*+g[a+76>>2]+i*+g[a+80>>2];i=n*+g[a+88>>2]+m*+g[a+92>>2]+i*+g[a+96>>2];c[h>>2]=c[a+48>>2];c[h+4>>2]=h+32;g[h+8>>2]=k;g[h+12>>2]=j;g[h+16>>2]=i;g[h+20>>2]=0.0;g[h+24>>2]=d;f=c[a+44>>2]|0;d=+Lb[c[(c[f>>2]|0)+12>>2]&15](f,h,1);l=h;return +d}function Wj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;c[a+4>>2]=c[b+40>>2];e=c[b>>2]|0;c[a+76>>2]=e;if(d){c[a+44>>2]=c[b+8>>2];c[a+44+4>>2]=c[b+8+4>>2];c[a+44+8>>2]=c[b+8+8>>2];c[a+44+12>>2]=c[b+8+12>>2]}else{d=bH(IG(e)|0)|0;Ol(f,d,+g[b+8>>2],+g[b+12>>2],+g[b+16>>2]);c[a+44>>2]=c[f>>2];c[a+44+4>>2]=c[f+4>>2];c[a+44+8>>2]=c[f+8>>2];c[a+44+12>>2]=c[f+12>>2]}c[a+60>>2]=c[b+24>>2];c[a+60+4>>2]=c[b+24+4>>2];c[a+60+8>>2]=c[b+24+8>>2];c[a+60+12>>2]=c[b+24+12>>2];l=f;return +(+g[b+40>>2])}function Xj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.0,k=0.0,m=0,n=0;f=l;l=l+48|0;Vb[c[(c[a>>2]|0)+124>>2]&127](a,f+32|0,e);n=c[f+32>>2]|0;m=c[f+32+4>>2]|0;e=c[f+32+8>>2]|0;c[b>>2]=n;c[b+4>>2]=m;c[b+8>>2]=e;g[b+12>>2]=0.0;b=c[(c[a>>2]|0)+64>>2]|0;k=-(c[j>>2]=n,+g[j>>2]);i=-(c[j>>2]=m,+g[j>>2]);h=-(c[j>>2]=e,+g[j>>2]);g[f>>2]=k;g[f+4>>2]=i;g[f+8>>2]=h;g[f+12>>2]=0.0;Vb[b&127](f+16|0,a,f);c[d>>2]=c[f+16>>2];c[d+4>>2]=c[f+16+4>>2];c[d+8>>2]=c[f+16+8>>2];c[d+12>>2]=c[f+16+12>>2];l=f;return}function Yj(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;if(e>>>0<3)switch(b|0){case 2:{g[a+756+(e<<2)>>2]=d;c[a+1304>>2]=c[a+1304>>2]|4<<e*3;return}case 4:{g[a+772+(e<<2)>>2]=d;c[a+1304>>2]=c[a+1304>>2]|2<<e*3;return}case 3:{g[a+740+(e<<2)>>2]=d;c[a+1304>>2]=c[a+1304>>2]|1<<e*3;return}default:return}if((e+-3|0)>>>0>=3)return;switch(b|0){case 2:{g[a+868+(e+-3<<6)+32>>2]=d;c[a+1304>>2]=c[a+1304>>2]|4<<e*3;return}case 4:{g[a+868+(e+-3<<6)+36>>2]=d;c[a+1304>>2]=c[a+1304>>2]|2<<e*3;return}case 3:{g[a+868+(e+-3<<6)+28>>2]=d;c[a+1304>>2]=c[a+1304>>2]|1<<e*3;return}default:return}}function Zj(b,d,e){b=b|0;d=d|0;e=+e;var f=0;f=Ur()|0;c[f>>2]=5e3;a[f+144>>0]=1;c[f+140>>2]=0;c[f+132>>2]=0;c[f+136>>2]=0;c[f+176>>2]=1;g[f+56>>2]=.019999999552965164;c[f+60>>2]=0;c[f+60+4>>2]=0;c[f+60+8>>2]=0;c[f+60+12>>2]=0;a[f+170>>0]=1;c[f+8>>2]=b;g[f+52>>2]=e;g[f+48>>2]=0.0;c[f+12>>2]=d;a[f+171>>0]=1;g[f+172>>2]=0.0;g[f+16>>2]=0.0;g[f+20>>2]=0.0;g[f+44>>2]=29.399999618530273;g[f+24>>2]=55.0;g[f+28>>2]=10.0;a[f+168>>0]=0;a[f+169>>0]=0;a[f+180>>0]=1;g[f+36>>2]=.7853981852531433;g[f+40>>2]=.7071067690849304;g[f+108>>2]=0.0;a[f+181>>0]=0;a[f+182>>0]=0;return f|0}
//function yd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0,L=0,M=0,N=0,O=0;h=l;l=l+288|0;if(!(c[b+16>>2]|0)){K=c[b+12>>2]|0;b=c[b+20>>2]|0;x=+g[d>>2];q=+g[d+4>>2];u=+g[d+8>>2];j=+g[d+16>>2];r=+g[d+20>>2];i=+g[d+24>>2];m=+g[d+32>>2];s=+g[d+36>>2];n=+g[d+40>>2];F=+g[d+48>>2];E=+g[d+52>>2];D=+g[d+56>>2];J=+g[e>>2];I=+g[e+16>>2];z=+g[e+32>>2];H=+g[e+4>>2];G=+g[e+20>>2];y=+g[e+36>>2];v=+g[e+8>>2];k=+g[e+24>>2];p=+g[e+40>>2];C=-+g[e+48>>2];B=-+g[e+52>>2];w=-+g[e+56>>2];d=c[(c[K>>2]|0)+64>>2]|0;A=-+g[b+48>>2];t=-+g[b+52>>2];o=-+g[b+56>>2];g[h+32>>2]=(x*J+j*I+m*z)*A+(x*H+j*G+m*y)*t+(x*v+j*k+m*p)*o;g[h+32+4>>2]=(q*J+r*I+s*z)*A+(q*H+r*G+s*y)*t+(q*v+r*k+s*p)*o;g[h+32+8>>2]=(u*J+i*I+n*z)*A+(u*H+i*G+n*y)*t+(u*v+i*k+n*p)*o;g[h+32+12>>2]=0.0;Vb[d&127](h+48|0,K,h+32|0);o=+g[h+48>>2];t=+g[h+48+4>>2];A=+g[h+48+8>>2];z=F*J+E*I+D*z+(J*C+I*B+z*w)+((x*J+j*I+m*z)*o+(q*J+r*I+s*z)*t+(u*J+i*I+n*z)*A);y=F*H+E*G+D*y+(H*C+G*B+y*w)+((x*H+j*G+m*y)*o+(q*H+r*G+s*y)*t+(u*H+i*G+n*y)*A);A=F*v+E*k+D*p+(v*C+k*B+p*w)+((x*v+j*k+m*p)*o+(q*v+r*k+s*p)*t+(u*v+i*k+n*p)*A);p=+g[b+48>>2];n=+g[b+52>>2];k=+g[b+56>>2];i=k*A+(p*z+n*y)-+g[b+64>>2];v=+g[e>>2];u=+g[e+4>>2];t=+g[e+8>>2];s=+g[e+16>>2];r=+g[e+20>>2];q=+g[e+24>>2];o=+g[e+32>>2];m=+g[e+36>>2];j=+g[e+40>>2];x=s*(z-p*i)+(y-n*i)*r+(A-k*i)*q+ +g[e+52>>2];w=(z-p*i)*o+(y-n*i)*m+(A-k*i)*j+ +g[e+56>>2];g[h+16>>2]=t*(A-k*i)+(v*(z-p*i)+u*(y-n*i))+ +g[e+48>>2];g[h+16+4>>2]=x;g[h+16+8>>2]=w;g[h+16+12>>2]=0.0;g[h>>2]=v*p+u*n+t*k;g[h+4>>2]=p*s+n*r+k*q;g[h+8>>2]=p*o+n*m+k*j;g[h+12>>2]=0.0;Ub[c[(c[f>>2]|0)+16>>2]&15](f,h,h+16|0,i);l=h;return}else{N=c[b+4>>2]|0;a[N+312>>0]=0;c[N>>2]=0;a[N+356>>0]=1;c[N+292>>2]=1566444395;c[N+296>>2]=1566444395;c[N+300>>2]=1566444395;g[N+304>>2]=0.0;c[N+336>>2]=0;c[N+336+4>>2]=0;c[N+336+8>>2]=0;c[N+336+12>>2]=0;a[N+336+16>>0]=0;a[N+332>>0]=a[N+332>>0]&-16;N=c[b+12>>2]|0;M=c[b+16>>2]|0;L=c[N+4>>2]|0;K=c[M+4>>2]|0;I=+Db[c[(c[N>>2]|0)+48>>2]&15](N);O=c[b+16>>2]|0;J=+Db[c[(c[O>>2]|0)+48>>2]&15](O);O=c[b+4>>2]|0;b=c[b+8>>2]|0;c[h+200>>2]=9300;c[h+200+4>>2]=0;c[h+200+8>>2]=1065353216;c[h+200+12>>2]=0;g[h+200+16>>2]=0.0;c[h+200+20>>2]=b;c[h+200+24>>2]=O;c[h+200+28>>2]=N;c[h+200+32>>2]=M;c[h+200+36>>2]=L;c[h+200+40>>2]=K;g[h+200+44>>2]=I;g[h+200+48>>2]=J;a[h+200+52>>0]=0;c[h+200+60>>2]=-1;c[h+200+72>>2]=1;c[h+200+76>>2]=1;g[h+64+128>>2]=999999984306749440.0;c[h+64>>2]=c[d>>2];c[h+64+4>>2]=c[d+4>>2];c[h+64+8>>2]=c[d+8>>2];c[h+64+12>>2]=c[d+12>>2];c[h+64+16>>2]=c[d+16>>2];c[h+64+16+4>>2]=c[d+16+4>>2];c[h+64+16+8>>2]=c[d+16+8>>2];c[h+64+16+12>>2]=c[d+16+12>>2];c[h+64+32>>2]=c[d+32>>2];c[h+64+32+4>>2]=c[d+32+4>>2];c[h+64+32+8>>2]=c[d+32+8>>2];c[h+64+32+12>>2]=c[d+32+12>>2];c[h+64+48>>2]=c[d+48>>2];c[h+64+48+4>>2]=c[d+48+4>>2];c[h+64+48+8>>2]=c[d+48+8>>2];c[h+64+48+12>>2]=c[d+48+12>>2];c[h+64+64>>2]=c[e>>2];c[h+64+64+4>>2]=c[e+4>>2];c[h+64+64+8>>2]=c[e+8>>2];c[h+64+64+12>>2]=c[e+12>>2];c[h+64+80>>2]=c[e+16>>2];c[h+64+80+4>>2]=c[e+16+4>>2];c[h+64+80+8>>2]=c[e+16+8>>2];c[h+64+80+12>>2]=c[e+16+12>>2];c[h+64+96>>2]=c[e+32>>2];c[h+64+96+4>>2]=c[e+32+4>>2];c[h+64+96+8>>2]=c[e+32+8>>2];c[h+64+96+12>>2]=c[e+32+12>>2];c[h+64+112>>2]=c[e+48>>2];c[h+64+112+4>>2]=c[e+48+4>>2];c[h+64+112+8>>2]=c[e+48+8>>2];c[h+64+112+12>>2]=c[e+48+12>>2];sc(h+200|0,h+64|0,f,0,0);l=h;return}}function zd(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=+h;var i=0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0.0;i=l;l=l+464|0;bj(15795);c[i+128>>2]=c[d>>2];c[i+128+4>>2]=c[d+4>>2];c[i+128+8>>2]=c[d+8>>2];c[i+128+12>>2]=c[d+12>>2];c[i+128+16>>2]=c[d+16>>2];c[i+128+16+4>>2]=c[d+16+4>>2];c[i+128+16+8>>2]=c[d+16+8>>2];c[i+128+16+12>>2]=c[d+16+12>>2];c[i+128+32>>2]=c[d+32>>2];c[i+128+32+4>>2]=c[d+32+4>>2];c[i+128+32+8>>2]=c[d+32+8>>2];c[i+128+32+12>>2]=c[d+32+12>>2];k=i+128+48|0;c[k>>2]=c[d+48>>2];c[k+4>>2]=c[d+48+4>>2];c[k+8>>2]=c[d+48+8>>2];c[k+12>>2]=c[d+48+12>>2];c[i+64>>2]=c[e>>2];c[i+64+4>>2]=c[e+4>>2];c[i+64+8>>2]=c[e+8>>2];c[i+64+12>>2]=c[e+12>>2];c[i+64+16>>2]=c[e+16>>2];c[i+64+16+4>>2]=c[e+16+4>>2];c[i+64+16+8>>2]=c[e+16+8>>2];c[i+64+16+12>>2]=c[e+16+12>>2];c[i+64+32>>2]=c[e+32>>2];c[i+64+32+4>>2]=c[e+32+4>>2];c[i+64+32+8>>2]=c[e+32+8>>2];c[i+64+32+12>>2]=c[e+32+12>>2];j=i+64+48|0;c[j>>2]=c[e+48>>2];c[j+4>>2]=c[e+48+4>>2];c[j+8>>2]=c[e+48+8>>2];c[j+12>>2]=c[e+48+12>>2];vf(i+128|0,i+64|0,i+256|0,i+192|0);t=+g[i+192>>2];m=t*+g[i+256+4>>2];r=t*+g[i+256+8>>2];g[i+16>>2]=+g[i+256>>2]*t;g[i+16+4>>2]=m;g[i+16+8>>2]=r;g[i+16+12>>2]=0.0;c[i+256>>2]=0;c[i+256+4>>2]=0;c[i+256+8>>2]=0;c[i+256+12>>2]=0;c[i+192+48>>2]=0;c[i+192+48+4>>2]=0;c[i+192+48+8>>2]=0;c[i+192+48+12>>2]=0;ph(i+128|0,i);r=+g[i>>2];m=+g[i+4>>2];t=+g[i+8>>2];q=+g[i+12>>2];o=r*(2.0/(r*r+m*m+t*t+q*q));n=m*(2.0/(r*r+m*m+t*t+q*q));p=t*(2.0/(r*r+m*m+t*t+q*q));g[i+192>>2]=1.0-(m*n+t*p);g[i+192+4>>2]=r*n-q*p;g[i+192+8>>2]=r*p+q*n;g[i+192+12>>2]=0.0;g[i+192+16>>2]=r*n+q*p;g[i+192+20>>2]=1.0-(r*o+t*p);g[i+192+24>>2]=m*p-q*o;g[i+192+28>>2]=0.0;g[i+192+32>>2]=r*p-q*n;g[i+192+36>>2]=m*p+q*o;g[i+192+40>>2]=1.0-(r*o+m*n);g[i+192+44>>2]=0.0;_g(b,i+192|0,i+256|0,i+16|0,i+48|0,i+32|0);c[i+256>>2]=6028;c[i+256+36>>2]=c[d>>2];c[i+256+36+4>>2]=c[d+4>>2];c[i+256+36+8>>2]=c[d+8>>2];c[i+256+36+12>>2]=c[d+12>>2];c[i+256+52>>2]=c[d+16>>2];c[i+256+52+4>>2]=c[d+16+4>>2];c[i+256+52+8>>2]=c[d+16+8>>2];c[i+256+52+12>>2]=c[d+16+12>>2];c[i+256+68>>2]=c[d+32>>2];c[i+256+68+4>>2]=c[d+32+4>>2];c[i+256+68+8>>2]=c[d+32+8>>2];c[i+256+68+12>>2]=c[d+32+12>>2];s=i+256+84|0;c[s>>2]=c[d+48>>2];c[s+4>>2]=c[d+48+4>>2];c[s+8>>2]=c[d+48+8>>2];c[s+12>>2]=c[d+48+12>>2];c[i+256+100>>2]=c[e>>2];c[i+256+100+4>>2]=c[e+4>>2];c[i+256+100+8>>2]=c[e+8>>2];c[i+256+100+12>>2]=c[e+12>>2];c[i+256+116>>2]=c[e+16>>2];c[i+256+116+4>>2]=c[e+16+4>>2];c[i+256+116+8>>2]=c[e+16+8>>2];c[i+256+116+12>>2]=c[e+16+12>>2];c[i+256+132>>2]=c[e+32>>2];c[i+256+132+4>>2]=c[e+32+4>>2];c[i+256+132+8>>2]=c[e+32+8>>2];c[i+256+132+12>>2]=c[e+32+12>>2];d=i+256+148|0;c[d>>2]=c[e+48>>2];c[d+4>>2]=c[e+48+4>>2];c[d+8>>2]=c[e+48+8>>2];c[d+12>>2]=c[e+48+12>>2];c[i+256+180>>2]=a;c[i+256+184>>2]=f;g[i+256+188>>2]=h;c[i+256+192>>2]=b;n=+g[d>>2]-+g[s>>2];m=+g[i+256+152>>2]-+g[i+256+88>>2];o=+g[i+256+156>>2]-+g[i+256+92>>2];h=1.0/+G(+(n*n+m*m+o*o));r=n*h==0.0?999999984306749440.0:1.0/(n*h);g[i+256+4>>2]=r;q=m*h==0.0?999999984306749440.0:1.0/(m*h);g[i+256+8>>2]=q;p=o*h==0.0?999999984306749440.0:1.0/(o*h);g[i+256+12>>2]=p;c[i+256+20>>2]=r<0.0&1;c[i+256+24>>2]=q<0.0&1;c[i+256+28>>2]=p<0.0&1;g[i+256+32>>2]=o*o*h+(n*n*h+m*m*h);b=c[a+68>>2]|0;Bb[c[(c[b>>2]|0)+24>>2]&7](b,k,j,i+256|0,i+48|0,i+32|0);b=c[2380]|0;a=(c[b+16>>2]|0)+-1|0;c[b+16>>2]=a;if(a|0){l=i;return}do if(c[b+4>>2]|0){Za(i+256|0,0)|0;s=c[6484]|0;g[b+8>>2]=+(((c[i+256+4>>2]|0)-(c[s+4>>2]|0)+(((c[i+256>>2]|0)-(c[s>>2]|0)|0)*1e6|0)-(c[b+12>>2]|0)|0)>>>0)/1.0e3+ +g[b+8>>2];if(!(c[b+16>>2]|0)){b=c[2380]|0;break}else{l=i;return}}while(0);c[2380]=c[b+20>>2];l=i;return}function Ad(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0;n=c[a+192>>2]|0;j=+Db[c[(c[n>>2]|0)+48>>2]&15](n);n=c[a+712>>2]|0;if((n|0)>0){o=0;do{i=c[a+720>>2]|0;f=i+(o*104|0)+8|0;q=+g[f>>2];h=i+(o*104|0)+12|0;p=+g[h>>2];d=i+(o*104|0)+16|0;m=+g[d>>2];k=q*+g[b>>2]+p*+g[b+4>>2]+m*+g[b+8>>2]+ +g[b+48>>2];l=q*+g[b+16>>2]+p*+g[b+20>>2]+m*+g[b+24>>2]+ +g[b+52>>2];m=q*+g[b+32>>2]+p*+g[b+36>>2]+m*+g[b+40>>2]+ +g[b+56>>2];g[f>>2]=k;g[h>>2]=l;g[d>>2]=m;g[i+(o*104|0)+20>>2]=0.0;d=i+(o*104|0)+24|0;p=+g[d>>2];h=i+(o*104|0)+28|0;q=+g[h>>2];f=i+(o*104|0)+32|0;r=+g[f>>2];s=p*+g[b+16>>2]+q*+g[b+20>>2]+r*+g[b+24>>2]+ +g[b+52>>2];t=p*+g[b+32>>2]+q*+g[b+36>>2]+r*+g[b+40>>2]+ +g[b+56>>2];g[d>>2]=p*+g[b>>2]+q*+g[b+4>>2]+r*+g[b+8>>2]+ +g[b+48>>2];g[h>>2]=s;g[f>>2]=t;g[i+(o*104|0)+36>>2]=0.0;f=i+(o*104|0)+72|0;t=+g[f>>2];h=i+(o*104|0)+76|0;s=+g[h>>2];d=i+(o*104|0)+80|0;r=+g[d>>2];q=t*+g[b+16>>2]+s*+g[b+20>>2]+r*+g[b+24>>2];p=t*+g[b+32>>2]+s*+g[b+36>>2]+r*+g[b+40>>2];g[f>>2]=+g[b>>2]*t+ +g[b+4>>2]*s+ +g[b+8>>2]*r;g[h>>2]=q;g[d>>2]=p;g[i+(o*104|0)+84>>2]=0.0;i=c[i+(o*104|0)+96>>2]|0;d=Ug(a+928|0,i)|0;a:do if(d){f=c[a+936>>2]|0;if((f|0)<=-1){d=c[a+928>>2]|0;break}if(f){h=0;while(1){e=c[d+32>>2]|0;h=h+1|0;if(!e)break a;if((h|0)>=(f|0)){d=e;break}else d=e}}}else d=0;while(0);g[i>>2]=k-j;g[i+4>>2]=l-j;g[i+8>>2]=m-j;g[i+12>>2]=0.0;g[i+16>>2]=j+k;g[i+20>>2]=j+l;g[i+24>>2]=j+m;g[i+28>>2]=0.0;_e(a+928|0,d,i);o=o+1|0}while((o|0)!=(n|0))}og(a);d=c[a+928>>2]|0;if(d){o=c[a+192>>2]|0;r=+Db[c[(c[o>>2]|0)+48>>2]&15](o);t=+g[d+4>>2]-r;s=+g[d+8>>2]-r;g[a+892>>2]=+g[d>>2]-r;g[a+896>>2]=t;g[a+900>>2]=s;g[a+904>>2]=0.0;s=r+ +g[d+20>>2];t=r+ +g[d+24>>2];g[a+908>>2]=r+ +g[d+16>>2];g[a+912>>2]=s;g[a+916>>2]=t;g[a+920>>2]=0.0;d=c[a+188>>2]|0;if(d|0){o=c[a+684>>2]|0;n=c[o+32>>2]|0;jb[c[(c[n>>2]|0)+16>>2]&31](n,d,a+892|0,a+908|0,c[o+36>>2]|0)}}else{c[a+892>>2]=0;c[a+892+4>>2]=0;c[a+892+8>>2]=0;c[a+892+12>>2]=0;c[a+892+16>>2]=0;c[a+892+20>>2]=0;c[a+892+24>>2]=0;c[a+892+28>>2]=0}e=c[a+732>>2]|0;if((e|0)<=0){Mf(a);o=a+1148|0;c[o>>2]=c[b>>2];c[o+4>>2]=c[b+4>>2];c[o+8>>2]=c[b+8>>2];c[o+12>>2]=c[b+12>>2];o=a+1164|0;n=b+16|0;c[o>>2]=c[n>>2];c[o+4>>2]=c[n+4>>2];c[o+8>>2]=c[n+8>>2];c[o+12>>2]=c[n+12>>2];o=a+1180|0;n=b+32|0;c[o>>2]=c[n>>2];c[o+4>>2]=c[n+4>>2];c[o+8>>2]=c[n+8>>2];c[o+12>>2]=c[n+12>>2];a=a+1196|0;b=b+48|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}f=c[a+740>>2]|0;d=0;do{n=c[f+(d*52|0)+8>>2]|0;o=c[f+(d*52|0)+12>>2]|0;r=+g[n+8>>2]-+g[o+8>>2];s=+g[n+12>>2]-+g[o+12>>2];t=+g[n+16>>2]-+g[o+16>>2];t=+G(+(r*r+s*s+t*t));g[f+(d*52|0)+16>>2]=t;g[f+(d*52|0)+28>>2]=t*t;d=d+1|0}while((d|0)!=(e|0));d=0;do{g[f+(d*52|0)+24>>2]=(+g[(c[f+(d*52|0)+8>>2]|0)+88>>2]+ +g[(c[f+(d*52|0)+12>>2]|0)+88>>2])/+g[(c[f+(d*52|0)+4>>2]|0)+4>>2];d=d+1|0}while((d|0)!=(e|0));Mf(a);o=a+1148|0;c[o>>2]=c[b>>2];c[o+4>>2]=c[b+4>>2];c[o+8>>2]=c[b+8>>2];c[o+12>>2]=c[b+12>>2];o=a+1164|0;n=b+16|0;c[o>>2]=c[n>>2];c[o+4>>2]=c[n+4>>2];c[o+8>>2]=c[n+8>>2];c[o+12>>2]=c[n+12>>2];o=a+1180|0;n=b+32|0;c[o>>2]=c[n>>2];c[o+4>>2]=c[n+4>>2];c[o+8>>2]=c[n+8>>2];c[o+12>>2]=c[n+12>>2];a=a+1196|0;b=b+48|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function Bd(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,h=0.0,i=0,k=0,m=0.0,n=0,o=0.0,p=0.0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0,F=0,H=0,I=0,J=0,K=0;H=l;l=l+112|0;d=c[a+216>>2]|0;if(+g[d+4>>2]==0.0){F=0;l=H;return F|0}F=c[b>>2]|0;if(!(Kb[c[(c[d>>2]|0)+8>>2]&31](d,c[F+188>>2]|0)|0)){F=1;l=H;return F|0}b=c[F+192>>2]|0;E=c[a+216>>2]|0;if((c[b+4>>2]|0)==32){if(!((F|0)==0?1:(c[F+236>>2]|0)!=8)){if(c[F+752>>2]|0?(c[F+988>>2]|0)==0:0)Rg(F);B=+g[a+180>>2]-+g[a+116>>2];C=+g[a+184>>2]-+g[a+120>>2];D=+g[a+188>>2]-+g[a+124>>2];b=c[F+988>>2]|0;if(!b){q=c[F+752>>2]|0;if((q|0)>0){i=c[F+760>>2]|0;e=1.0;h=1.0;b=0;r=0;k=-1;n=1065353216;d=0;do{K=c[i+(r*44|0)+8>>2]|0;J=c[i+(r*44|0)+12>>2]|0;I=c[i+(r*44|0)+16>>2]|0;f=+nh(a+116|0,B,C,D,+g[K+8>>2],+g[K+12>>2],+g[K+16>>2],+g[J+8>>2],+g[J+12>>2],+g[J+16>>2],+g[I+8>>2],+g[I+12>>2],+g[I+16>>2],h);if(f>0.0){e=f;h=f;b=b+1|0;k=r;n=(g[j>>2]=f,c[j>>2]|0);d=3}r=r+1|0}while((r|0)!=(q|0))}else{e=1.0;b=0;k=-1;n=1065353216;d=0}}else{c[H+40>>2]=3348;c[H+40+4>>2]=c[a+116>>2];c[H+40+4+4>>2]=c[a+116+4>>2];c[H+40+4+8>>2]=c[a+116+8>>2];c[H+40+4+12>>2]=c[a+116+12>>2];g[H+40+36>>2]=B;g[H+40+40>>2]=C;g[H+40+44>>2]=D;g[H+40+48>>2]=0.0;c[H+40+20>>2]=c[a+180>>2];c[H+40+20+4>>2]=c[a+180+4>>2];c[H+40+20+8>>2]=c[a+180+8>>2];c[H+40+20+12>>2]=c[a+180+12>>2];c[H+40+52>>2]=1065353216;c[H+40+56>>2]=0;c[H+40+60>>2]=0;Ae(b,a+116|0,a+180|0,H+40|0);b=c[H+40+56>>2]|0;if(!b){e=1.0;i=0;k=-1;n=1065353216;d=0}else{n=c[H+40+52>>2]|0;e=(c[j>>2]=n,+g[j>>2]);i=1;k=(b-(c[F+760>>2]|0)|0)/44|0;d=3}b=i}r=c[F+772>>2]|0;if((r|0)>0){q=c[F+780>>2]|0;f=(c[j>>2]=n,+g[j>>2]);i=0;do{K=c[q+(i*104|0)+8>>2]|0;v=+g[K+8>>2];w=+g[K+12>>2];x=+g[K+16>>2];K=c[q+(i*104|0)+12>>2]|0;m=+g[K+8>>2];o=+g[K+12>>2];p=+g[K+16>>2];K=c[q+(i*104|0)+16>>2]|0;y=+g[K+8>>2];z=+g[K+12>>2];A=+g[K+16>>2];h=+nh(a+116|0,B,C,D,v,w,x,m,o,p,y,z,A,f);if(h>0.0){e=h;f=h;b=b+1|0;k=i;d=4}K=c[q+(i*104|0)+20>>2]|0;s=+g[K+8>>2];t=+g[K+12>>2];u=+g[K+16>>2];h=+nh(a+116|0,B,C,D,v,w,x,m,o,p,s,t,u,f);if(h>0.0){e=h;f=h;b=b+1|0;k=i;d=4}h=+nh(a+116|0,B,C,D,m,o,p,y,z,A,s,t,u,f);if(h>0.0){m=h;e=h;b=b+1|0;k=i;d=4}else m=f;f=+nh(a+116|0,B,C,D,v,w,x,y,z,A,s,t,u,m);if(f>0.0){e=f;b=b+1|0;k=i;d=4}else f=m;i=i+1|0}while((i|0)!=(r|0));s=e}else s=e;if(b|0?s<=+g[E+4>>2]:0){c[H+32>>2]=0;c[H+32+4>>2]=k;m=+g[a+180>>2]-+g[a+116>>2];o=+g[a+184>>2]-+g[a+120>>2];p=+g[a+188>>2]-+g[a+124>>2];e=1.0/+G(+(m*m+o*o+p*p));if((d|0)==3){b=c[F+748+12>>2]|0;e=+g[b+(k*44|0)+20>>2];h=+g[b+(k*44|0)+24>>2];f=+g[b+(k*44|0)+28>>2];if(m*e+o*h+p*f>0.0){m=-e;h=-h;f=-f;e=0.0}else{m=e;e=+g[b+(k*44|0)+32>>2]}}else{m=-(m*e);h=-(o*e);f=-(p*e);e=0.0}c[H>>2]=F;c[H+4>>2]=H+32;g[H+8>>2]=m;g[H+12>>2]=h;g[H+16>>2]=f;g[H+20>>2]=e;g[H+24>>2]=s;+Lb[c[(c[E>>2]|0)+12>>2]&15](E,H,1)}}}else{c[H+40>>2]=0;c[H+40+4>>2]=b;c[H+40+8>>2]=F;c[H+40+12>>2]=F+4;c[H+40+16>>2]=-1;c[H+40+20>>2]=-1;Nc(a+68|0,a+132|0,H+40|0,E)}K=1;l=H;return K|0}function Cd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0;if(a[b+165>>0]|0){f=c[b+88>>2]|0;a:do if((f|0)>0&e){h=c[b+96>>2]|0;m=+g[d>>2];j=+g[d+4>>2];k=+g[d+8>>2];l=+g[b+168>>2];e=0;while(1){s=+g[h+(e<<4)>>2]-m;r=+g[h+(e<<4)+4>>2]-j;q=+g[h+(e<<4)+8>>2]-k;if(s*s+r*r+q*q<=l)break;e=e+1|0;if((e|0)>=(f|0))break a}return e|0}while(0);p=(c[b+32>>2]|0)+12|0;c[p>>2]=(c[p>>2]|0)+1;if((f|0)==(c[b+92>>2]|0)?(i=f|0?f<<1:1,(f|0)<(i|0)):0){if(!i)e=0;else{c[6485]=(c[6485]|0)+1;e=ic((i<<4|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[b+88>>2]|0}if((f|0)>0){h=0;do{p=e+(h<<4)|0;o=(c[b+96>>2]|0)+(h<<4)|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];h=h+1|0}while((h|0)!=(f|0))}f=c[b+96>>2]|0;if(f|0){if(a[b+100>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[f+-4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=e;c[b+92>>2]=i;e=c[b+88>>2]|0}else e=f;p=(c[b+96>>2]|0)+(e<<4)|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];c[p+12>>2]=c[d+12>>2];d=c[b+88>>2]|0;c[b+88>>2]=d+1;c[(c[b+32>>2]|0)+16>>2]=c[b+96>>2];return d|0}h=c[b+108>>2]|0;b:do if((h|0)>0&e){f=c[b+116>>2]|0;j=+g[d>>2];k=+g[d+4>>2];l=+g[d+8>>2];m=+g[b+168>>2];e=0;while(1){q=+g[f+(e<<2)>>2]-j;r=+g[f+(e+1<<2)>>2]-k;s=+g[f+(e+2<<2)>>2]-l;if(q*q+r*r+s*s<=m)break;e=e+3|0;if((e|0)>=(h|0))break b}d=(e|0)/3|0;return d|0}while(0);e=c[b+112>>2]|0;if((h|0)==(e|0)){n=h|0?h<<1:1;if((h|0)<(n|0)){if(!n)e=0;else{c[6485]=(c[6485]|0)+1;e=ic((n<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}h=c[b+108>>2]|0}i=c[b+116>>2]|0;if((h|0)<=0)if(!i)f=b+120|0;else p=35;else{f=0;do{c[e+(f<<2)>>2]=c[i+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0));p=35}if((p|0)==35){if(a[b+120>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[i+-4>>2]|0)}c[b+116>>2]=0;f=b+120|0}a[f>>0]=1;c[b+116>>2]=e;c[b+112>>2]=n;f=c[b+108>>2]|0;i=n}else{f=h;i=h}}else{f=h;i=e}h=c[b+116>>2]|0;c[h+(f<<2)>>2]=c[d>>2];e=f+1|0;c[b+108>>2]=e;if((e|0)==(i|0)){n=i|0?i<<1:1;if((i|0)<(n|0)){if(!n)e=0;else{c[6485]=(c[6485]|0)+1;e=ic((n<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}i=c[b+108>>2]|0;h=c[b+116>>2]|0}if((i|0)<=0)if(!h)f=b+120|0;else p=49;else{f=0;do{c[e+(f<<2)>>2]=c[h+(f<<2)>>2];f=f+1|0}while((f|0)!=(i|0));p=49}if((p|0)==49){if(a[b+120>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[h+-4>>2]|0)}c[b+116>>2]=0;f=b+120|0}a[f>>0]=1;c[b+116>>2]=e;c[b+112>>2]=n;o=e;f=c[b+108>>2]|0;i=n}else{o=h;f=i;e=h}}else{o=h;f=e;e=h}c[o+(f<<2)>>2]=c[d+4>>2];f=f+1|0;c[b+108>>2]=f;if((f|0)==(i|0)){n=i|0?i<<1:1;if((i|0)<(n|0)){if(!n){e=0;h=o}else{c[6485]=(c[6485]|0)+1;e=ic((n<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}i=c[b+108>>2]|0;h=c[b+116>>2]|0}if((i|0)<=0)if(!h)f=b+120|0;else p=63;else{f=0;do{c[e+(f<<2)>>2]=c[h+(f<<2)>>2];f=f+1|0}while((f|0)!=(i|0));p=63}if((p|0)==63){if(a[b+120>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[h+-4>>2]|0)}c[b+116>>2]=0;f=b+120|0}a[f>>0]=1;c[b+116>>2]=e;c[b+112>>2]=n;h=e;f=c[b+108>>2]|0}else{h=o;f=i}}else h=o;c[h+(f<<2)>>2]=c[d+8>>2];d=f+1|0;c[b+108>>2]=d;b=c[b+32>>2]|0;c[b+12>>2]=(c[b+12>>2]|0)+1;c[b+16>>2]=e;d=((d|0)/3|0)+-1|0;return d|0}function Dd(b){b=b|0;var d=0,e=0.0,f=0.0,h=0.0,i=0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0;k=l;l=l+16|0;if(!(a[b+1308>>0]|0)){l=k;return}g[b+928>>2]=0.0;g[b+992>>2]=0.0;g[b+1056>>2]=0.0;c[b+712>>2]=0;c[b+712+4>>2]=0;c[b+712+8>>2]=0;c[b+712+12>>2]=0;ed(b,(c[b+28>>2]|0)+4|0,(c[b+32>>2]|0)+4|0);lb[c[(c[b>>2]|0)+44>>2]&511](b);e=+g[b+1284>>2];f=+g[b+1288>>2];h=+g[b+1292>>2];if(+g[b+696>>2]>=+g[b+680>>2]){d=(a[b+1300>>0]|0)==0;j=c[(d?b+1160|0:b+1096|0)>>2]|0;i=c[(d?b+1144|0:b+1080|0)>>2]|0;c[k>>2]=c[(d?b+1128|0:b+1064|0)>>2];c[k+4>>2]=i;c[k+8>>2]=j;g[k+12>>2]=0.0;th(c[b+28>>2]|0,c[b+32>>2]|0,b+176|0,k,e,f,h,e,f,h)}if(+g[b+700>>2]>=+g[b+684>>2]){d=(a[b+1300>>0]|0)==0;j=c[(d?b+1164|0:b+1100|0)>>2]|0;i=c[(d?b+1148|0:b+1084|0)>>2]|0;c[k>>2]=c[(d?b+1132|0:b+1068|0)>>2];c[k+4>>2]=i;c[k+8>>2]=j;g[k+12>>2]=0.0;th(c[b+28>>2]|0,c[b+32>>2]|0,b+260|0,k,e,f,h,e,f,h)}if(+g[b+704>>2]>=+g[b+688>>2]){d=(a[b+1300>>0]|0)==0;j=c[(d?b+1168|0:b+1104|0)>>2]|0;i=c[(d?b+1152|0:b+1088|0)>>2]|0;c[k>>2]=c[(d?b+1136|0:b+1072|0)>>2];c[k+4>>2]=i;c[k+8>>2]=j;g[k+12>>2]=0.0;th(c[b+28>>2]|0,c[b+32>>2]|0,b+344|0,k,e,f,h,e,f,h)}j=0;do{e=+g[b+868+(j<<6)>>2];f=+g[b+868+(j<<6)+4>>2];h=+Ij(+g[b+1192+(j<<2)>>2],e,f);g[b+868+(j<<6)+52>>2]=h;do if(!(e>f)){if(e>h){c[b+868+(j<<6)+56>>2]=1;d=b+868+(j<<6)+48|0;g[d>>2]=h-e;if(h-e>3.1415927410125732){g[d>>2]=h-e+-6.2831854820251465;i=18;break}if(!(h-e<-3.1415927410125732)){i=18;break}g[d>>2]=h-e+6.2831854820251465;i=18;break}d=b+868+(j<<6)+56|0;if(f<h){c[d>>2]=2;d=b+868+(j<<6)+48|0;g[d>>2]=h-f;if(h-f>3.1415927410125732){g[d>>2]=h-f+-6.2831854820251465;i=18;break}if(h-f<-3.1415927410125732){g[d>>2]=h-f+6.2831854820251465;i=18}else i=18}else i=17}else{d=b+868+(j<<6)+56|0;i=17}while(0);if((i|0)==17?(i=0,c[d>>2]=0,a[b+868+(j<<6)+44>>0]|0):0)i=18;if((i|0)==18){K=b+1208+(j<<4)|0;c[k>>2]=c[K>>2];c[k+4>>2]=c[K+4>>2];c[k+8>>2]=c[K+8>>2];c[k+12>>2]=c[K+12>>2];K=b+428+(j*84|0)|0;d=c[b+28>>2]|0;J=+g[d+4>>2];I=+g[d+20>>2];H=+g[d+36>>2];F=+g[d+8>>2];E=+g[d+24>>2];D=+g[d+40>>2];B=+g[d+12>>2];A=+g[d+28>>2];z=+g[d+44>>2];i=c[b+32>>2]|0;x=+g[i+4>>2];w=+g[i+20>>2];v=+g[i+36>>2];t=+g[i+8>>2];s=+g[i+24>>2];r=+g[i+40>>2];p=+g[i+12>>2];n=+g[i+28>>2];e=+g[i+44>>2];c[K>>2]=0;c[K+4>>2]=0;c[K+8>>2]=0;c[K+12>>2]=0;o=+g[k>>2];m=+g[k+4>>2];f=+g[k+8>>2];g[b+428+(j*84|0)+16>>2]=J*o+I*m+H*f;g[b+428+(j*84|0)+20>>2]=F*o+E*m+D*f;g[b+428+(j*84|0)+24>>2]=B*o+A*m+z*f;g[b+428+(j*84|0)+28>>2]=0.0;g[b+428+(j*84|0)+32>>2]=x*-o+w*-m+v*-f;g[b+428+(j*84|0)+36>>2]=t*-o+s*-m+r*-f;g[b+428+(j*84|0)+40>>2]=p*-o+n*-m+e*-f;g[b+428+(j*84|0)+44>>2]=0.0;G=(J*o+I*m+H*f)*+g[d+396>>2];C=(F*o+E*m+D*f)*+g[d+400>>2];y=(B*o+A*m+z*f)*+g[d+404>>2];g[b+428+(j*84|0)+48>>2]=G;g[b+428+(j*84|0)+52>>2]=C;g[b+428+(j*84|0)+56>>2]=y;g[b+428+(j*84|0)+60>>2]=0.0;u=(x*-o+w*-m+v*-f)*+g[i+396>>2];q=(t*-o+s*-m+r*-f)*+g[i+400>>2];h=(p*-o+n*-m+e*-f)*+g[i+404>>2];g[b+428+(j*84|0)+64>>2]=u;g[b+428+(j*84|0)+68>>2]=q;g[b+428+(j*84|0)+72>>2]=h;g[b+428+(j*84|0)+76>>2]=0.0;g[b+428+(j*84|0)+80>>2]=(J*o+I*m+H*f)*G+(F*o+E*m+D*f)*C+(B*o+A*m+z*f)*y+((x*-o+w*-m+v*-f)*u+(t*-o+s*-m+r*-f)*q+(p*-o+n*-m+e*-f)*h)}j=j+1|0}while((j|0)!=3);l=k;return}function Ed(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0;m=l;l=l+400|0;f=c[d+36>>2]|0;d=c[e+36>>2]|0;e=c[b+24>>2]|0;if(((e|0)==(c[b+28>>2]|0)?c[e+1132>>2]|0:0)?(j=(S(c[d+380>>2]|0,c[e+1112>>2]|0)|0)+(c[f+380>>2]|0)|0,a[(c[e+1140>>2]|0)+j>>0]|0):0){c[5852]=(c[5852]|0)+1;l=m;return}c[m+344+4>>2]=35;c[m+344+8>>2]=0;c[m+344+12>>2]=1065353216;c[m+344+16>>2]=1065353216;c[m+344+20>>2]=1065353216;g[m+344+24>>2]=0.0;c[m+344>>2]=3564;c[m+344+52>>2]=f;g[m+344+44>>2]=0.0;c[m+288+4>>2]=35;c[m+288+8>>2]=0;c[m+288+12>>2]=1065353216;c[m+288+16>>2]=1065353216;c[m+288+20>>2]=1065353216;g[m+288+24>>2]=0.0;c[m+288>>2]=3564;c[m+288+52>>2]=d;g[m+288+44>>2]=0.0;if((a[22544]|0)==0?qy(22544)|0:0){if((a[22552]|0)==0?qy(22552)|0:0){c[5739]=1065353216;c[5740]=0;c[5741]=0;c[5742]=0;c[5743]=0;c[5744]=1065353216;c[5745]=0;c[5746]=0;c[5747]=0;c[5748]=0;c[5749]=1065353216;g[5750]=0.0}c[5723]=c[5739];c[5724]=c[5740];c[5725]=c[5741];c[5726]=c[5742];c[5727]=c[5743];c[5728]=c[5744];c[5729]=c[5745];c[5730]=c[5746];c[5731]=c[5747];c[5732]=c[5748];c[5733]=c[5749];c[5734]=c[5750];c[5735]=0;c[5736]=0;c[5737]=0;c[5738]=0}if((a[22544]|0)==0?qy(22544)|0:0){if((a[22552]|0)==0?qy(22552)|0:0){c[5739]=1065353216;c[5740]=0;c[5741]=0;c[5742]=0;c[5743]=0;c[5744]=1065353216;c[5745]=0;c[5746]=0;c[5747]=0;c[5748]=0;c[5749]=1065353216;g[5750]=0.0}c[5723]=c[5739];c[5724]=c[5740];c[5725]=c[5741];c[5726]=c[5742];c[5727]=c[5743];c[5728]=c[5744];c[5729]=c[5745];c[5730]=c[5746];c[5731]=c[5747];c[5732]=c[5748];c[5733]=c[5749];c[5734]=c[5750];c[5735]=0;c[5736]=0;c[5737]=0;c[5738]=0}o=+g[f+232>>2]-+g[d+232>>2];n=+g[f+236>>2]-+g[d+236>>2];g[m>>2]=+g[f+228>>2]-+g[d+228>>2];g[m+4>>2]=o;g[m+8>>2]=n;g[m+12>>2]=0.0;if(!(!(td(m+344|0,22892,m+288|0,22892,m,m+232|0)|0)?!(zc(m+344|0,22892,m+288|0,22892,m,m+232|0,0)|0):0))h=18;if((h|0)==18?(j=m+16+4|0,a[m+16+152>>0]=0,c[j>>2]=0,c[j+4>>2]=0,c[j+8>>2]=0,c[j+12>>2]=0,c[j+16>>2]=0,c[j+20>>2]=0,c[m+16>>2]=3384,Zc(b,m+232|0,f,0,0,d,0,0,m+16|0)|0):0){c[6485]=(c[6485]|0)+1;d=ic(235)|0;if(!d)j=0;else{c[(d+4+15&-16)+-4>>2]=d;j=d+4+15&-16}d=j+152|0;Lk(j+4|0,0,152)|0;c[j>>2]=3384;e=j+4|0;f=m+16+4|0;h=e+100|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(h|0));e=j+104|0;c[e>>2]=c[m+16+104>>2];c[e+4>>2]=c[m+16+104+4>>2];c[e+8>>2]=c[m+16+104+8>>2];c[e+12>>2]=c[m+16+104+12>>2];e=j+120|0;c[e>>2]=c[m+16+120>>2];c[e+4>>2]=c[m+16+120+4>>2];c[e+8>>2]=c[m+16+120+8>>2];c[e+12>>2]=c[m+16+120+12>>2];e=j+136|0;c[e>>2]=c[m+16+136>>2];c[e+4>>2]=c[m+16+136+4>>2];c[e+8>>2]=c[m+16+136+8>>2];c[e+12>>2]=c[m+16+136+12>>2];a[d>>0]=a[m+16+152>>0]|0;e=j+156|0;f=m+16+156|0;h=e+60|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(h|0));h=c[b+24>>2]|0;i=j;d=c[h+852>>2]|0;if((d|0)==(c[h+856>>2]|0)?(k=d|0?d<<1:1,(d|0)<(k|0)):0){if(!k)f=0;else{c[6485]=(c[6485]|0)+1;d=ic((k<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}f=d;d=c[h+852>>2]|0}if((d|0)>0){e=0;do{c[f+(e<<2)>>2]=c[(c[h+860>>2]|0)+(e<<2)>>2];e=e+1|0}while((e|0)!=(d|0))}e=c[h+860>>2]|0;if(e){if(a[h+864>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[e+-4>>2]|0);d=c[h+852>>2]|0}c[h+860>>2]=0}a[h+864>>0]=1;c[h+860>>2]=f;c[h+856>>2]=k}c[(c[h+860>>2]|0)+(d<<2)>>2]=i;c[h+852>>2]=d+1;i=c[b+24>>2]|0;k=c[b+28>>2]|0;n=+g[i+348>>2];o=+g[k+348>>2];b=j+64|0;g[b>>2]=+g[b>>2]*(n>o?n:o);b=j+68|0;g[b>>2]=+g[b>>2]*(+g[i+360>>2]+ +g[k+360>>2])*.5}l=m;return}function Fd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,h=0,i=0,j=0,k=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0;p=l;l=l+128|0;c[b+68>>2]=(c[b+68>>2]|0)+1;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];c[p+12>>2]=c[d+12>>2];c[p+16>>2]=c[d+16>>2];c[p+16+4>>2]=c[d+16+4>>2];c[p+16+8>>2]=c[d+16+8>>2];c[p+16+12>>2]=c[d+16+12>>2];c[p+32>>2]=c[d+32>>2];c[p+32+4>>2]=c[d+32+4>>2];c[p+32+8>>2]=c[d+32+8>>2];c[p+32+12>>2]=c[d+32+12>>2];c[p+48>>2]=c[d+48>>2];c[p+48+4>>2]=c[d+48+4>>2];c[p+48+8>>2]=c[d+48+8>>2];c[p+48+12>>2]=c[d+48+12>>2];n=c[e+4>>2]|0;o=+Db[c[(c[e>>2]|0)+48>>2]&15](e);Zb[c[(c[e>>2]|0)+8>>2]&127](e,d,p+112|0,p+96|0);f=+g[p+112>>2];if(+g[b+32>>2]>f)g[b+32>>2]=f;f=+g[p+96>>2];if(+g[b+48>>2]<f)g[b+48>>2]=f;f=+g[p+112+4>>2];if(+g[b+36>>2]>f)g[b+36>>2]=f;f=+g[p+96+4>>2];if(+g[b+52>>2]<f)g[b+52>>2]=f;f=+g[p+112+8>>2];if(+g[b+40>>2]>f)g[b+40>>2]=f;f=+g[p+96+8>>2];if(+g[b+56>>2]<f)g[b+56>>2]=f;k=c[b+64>>2]|0;if(!k){k=b+16|0;j=0}else{c[p+64>>2]=c[p+112>>2];c[p+64+4>>2]=c[p+112+4>>2];c[p+64+8>>2]=c[p+112+8>>2];c[p+64+12>>2]=c[p+112+12>>2];c[p+64+16>>2]=c[p+96>>2];c[p+64+16+4>>2]=c[p+96+4>>2];c[p+64+16+8>>2]=c[p+96+8>>2];c[p+64+16+12>>2]=c[p+96+12>>2];j=c[b+16>>2]|0;d=c[k+4>>2]|0;if(!d){c[6485]=(c[6485]|0)+1;d=ic(63)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}h=d;i=h+44|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0))}else c[k+4>>2]=0;c[d+32>>2]=0;c[d+36>>2]=j;c[d+40>>2]=0;c[d>>2]=c[p+64>>2];c[d+4>>2]=c[p+64+4>>2];c[d+8>>2]=c[p+64+8>>2];c[d+12>>2]=c[p+64+12>>2];c[d+16>>2]=c[p+64+16>>2];c[d+20>>2]=c[p+64+20>>2];c[d+24>>2]=c[p+64+24>>2];c[d+28>>2]=c[p+64+28>>2];_e(k,c[k>>2]|0,d);c[k+12>>2]=(c[k+12>>2]|0)+1;k=b+16|0;j=d}d=c[k>>2]|0;if((d|0)==(c[b+20>>2]|0)?(m=d|0?d<<1:1,(d|0)<(m|0)):0){if(!m)i=0;else{c[6485]=(c[6485]|0)+1;d=ic((m*80|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}i=d;d=c[k>>2]|0}if((d|0)>0){h=0;do{q=i+(h*80|0)|0;r=c[b+24>>2]|0;s=r+(h*80|0)|0;c[q>>2]=c[s>>2];c[q+4>>2]=c[s+4>>2];c[q+8>>2]=c[s+8>>2];c[q+12>>2]=c[s+12>>2];q=i+(h*80|0)+16|0;s=r+(h*80|0)+16|0;c[q>>2]=c[s>>2];c[q+4>>2]=c[s+4>>2];c[q+8>>2]=c[s+8>>2];c[q+12>>2]=c[s+12>>2];q=i+(h*80|0)+32|0;s=r+(h*80|0)+32|0;c[q>>2]=c[s>>2];c[q+4>>2]=c[s+4>>2];c[q+8>>2]=c[s+8>>2];c[q+12>>2]=c[s+12>>2];q=i+(h*80|0)+48|0;s=r+(h*80|0)+48|0;c[q>>2]=c[s>>2];c[q+4>>2]=c[s+4>>2];c[q+8>>2]=c[s+8>>2];c[q+12>>2]=c[s+12>>2];q=i+(h*80|0)+64|0;r=r+(h*80|0)+64|0;c[q>>2]=c[r>>2];c[q+4>>2]=c[r+4>>2];c[q+8>>2]=c[r+8>>2];c[q+12>>2]=c[r+12>>2];h=h+1|0}while((h|0)!=(d|0))}d=c[b+24>>2]|0;if(d|0){if(a[b+28>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+24>>2]=0}a[b+28>>0]=1;c[b+24>>2]=i;c[b+20>>2]=m;d=c[k>>2]|0}s=c[b+24>>2]|0;r=s+(d*80|0)|0;c[r>>2]=c[p>>2];c[r+4>>2]=c[p+4>>2];c[r+8>>2]=c[p+8>>2];c[r+12>>2]=c[p+12>>2];r=s+(d*80|0)+16|0;c[r>>2]=c[p+16>>2];c[r+4>>2]=c[p+16+4>>2];c[r+8>>2]=c[p+16+8>>2];c[r+12>>2]=c[p+16+12>>2];r=s+(d*80|0)+32|0;c[r>>2]=c[p+32>>2];c[r+4>>2]=c[p+32+4>>2];c[r+8>>2]=c[p+32+8>>2];c[r+12>>2]=c[p+32+12>>2];r=s+(d*80|0)+48|0;c[r>>2]=c[p+48>>2];c[r+4>>2]=c[p+48+4>>2];c[r+8>>2]=c[p+48+8>>2];c[r+12>>2]=c[p+48+12>>2];s=s+(d*80|0)+64|0;c[s>>2]=e;c[s+4>>2]=n;g[s+8>>2]=o;c[s+12>>2]=j;c[k>>2]=(c[k>>2]|0)+1;l=p;return}function Gd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0,A=0.0,B=0.0,C=0.0,D=0.0,E=0,F=0;E=l;l=l+96|0;A=+g[b+48>>2]-+g[b+112>>2];h=+g[b+52>>2]-+g[b+116>>2];D=+g[b+56>>2]-+g[b+120>>2];B=A*+g[b+64>>2]+h*+g[b+80>>2]+D*+g[b+96>>2];C=A*+g[b+68>>2]+h*+g[b+84>>2]+D*+g[b+100>>2];D=A*+g[b+72>>2]+h*+g[b+88>>2]+D*+g[b+104>>2];e=c[a+8>>2]|0;z=c[a+4>>2]|0;h=+g[z+28>>2]*+g[z+12>>2];A=h+ +g[a+12>>2];o=+g[e+72>>2];p=+g[e+56>>2];q=+g[e+76>>2];r=+g[e+60>>2];s=+g[e+80>>2];t=+g[e+64>>2];u=+g[e+88>>2];v=+g[e+92>>2];w=+g[e+96>>2];n=(q-r)*(w-t)-(s-t)*(v-r);k=(s-t)*(u-p)-(o-p)*(w-t);j=(o-p)*(v-r)-(q-r)*(u-p);m=1.0/+G(+(j*j+(n*n+k*k)));i=(B-p)*m*n+m*k*(C-r)+m*j*(D-t);if(i<0.0){x=-i;i=-(m*j);j=-(m*k);k=-(m*n)}else{x=i;i=m*j;j=m*k;k=m*n}do if(x<A){n=(D-t)*((o-p)*j-(q-r)*k)+((B-p)*((q-r)*i-(s-t)*j)+(C-r)*((s-t)*k-(o-p)*i));y=(D-s)*((u-o)*j-(v-q)*k)+((B-o)*((v-q)*i-(w-s)*j)+(C-q)*((w-s)*k-(u-o)*i));w=(D-w)*((p-u)*j-(r-v)*k)+((B-u)*((r-v)*i-(t-w)*j)+(C-v)*((t-w)*k-(p-u)*i));if(!(w>0.0&(n>0.0&y>0.0))?!(w<=0.0&(n<=0.0&y<=0.0)):0){if((pb[c[(c[e>>2]|0)+100>>2]&127](e)|0)<=0)break;m=0.0;r=0.0;q=0.0;e=0;z=0;do{F=c[a+8>>2]|0;Zb[c[(c[F>>2]|0)+104>>2]&127](F,z,E+80|0,E+64|0);w=+g[E+80>>2];u=+g[E+80+4>>2];n=+g[E+80+8>>2];x=+g[E+64>>2]-w;v=+g[E+64+4>>2]-u;o=+g[E+64+8>>2]-n;do if((B-w)*x+(C-u)*v+(D-n)*o>0.0)if((B-w)*x+(C-u)*v+(D-n)*o<x*x+v*v+o*o){y=((B-w)*x+(C-u)*v+(D-n)*o)/(x*x+v*v+o*o);p=B-w-x*y;s=C-u-v*y;t=D-n-o*y;break}else{p=B-w-x;s=C-u-v;t=D-n-o;y=1.0;break}else{p=B-w;s=C-u;t=D-n;y=0.0}while(0);if(t*t+(s*s+p*p)<A*A){q=n+o*y;r=u+v*y;m=w+x*y;e=1}z=z+1|0;F=c[a+8>>2]|0}while((z|0)<(pb[c[(c[F>>2]|0)+100>>2]&127](F)|0));if(!(e&1))break;else{p=A*A;s=m}}else{p=A*A;s=B-k*x;r=C-j*x;q=D-i*x}m=B-s;n=C-r;o=D-q;if(m*m+n*n+o*o<p){if(m*m+n*n+o*o>1.1920928955078125e-07){i=+G(+(m*m+n*n+o*o));h=h-i;k=m*(1.0/i);j=n*(1.0/i);i=o*(1.0/i)}h=-h;if(f){x=+g[b+64>>2];y=+g[b+68>>2];A=+g[b+72>>2];B=x*k+y*j+A*i;o=+g[b+80>>2];p=+g[b+84>>2];t=+g[b+88>>2];C=k*o+j*p+i*t;u=+g[b+96>>2];v=+g[b+100>>2];w=+g[b+104>>2];D=k*u+j*v+i*w;g[E+48>>2]=-B;g[E+48+4>>2]=-C;g[E+48+8>>2]=-D;g[E+48+12>>2]=0.0;C=s*o+r*p+q*t+ +g[b+116>>2]+C*h;D=s*u+r*v+q*w+ +g[b+120>>2]+D*h;g[E+32>>2]=s*x+r*y+q*A+ +g[b+112>>2]+B*h;g[E+32+4>>2]=C;g[E+32+8>>2]=D;g[E+32+12>>2]=0.0;Ub[c[(c[d>>2]|0)+16>>2]&15](d,E+48|0,E+32|0,h);l=E;return}else{F=c[(c[d>>2]|0)+16>>2]|0;y=+g[b+64>>2];A=+g[b+68>>2];B=+g[b+72>>2];u=+g[b+80>>2];v=+g[b+84>>2];C=+g[b+88>>2];w=+g[b+96>>2];x=+g[b+100>>2];D=+g[b+104>>2];g[E+16>>2]=y*k+A*j+B*i;g[E+16+4>>2]=k*u+j*v+i*C;g[E+16+8>>2]=k*w+j*x+i*D;g[E+16+12>>2]=0.0;C=s*u+r*v+q*C+ +g[b+116>>2];D=s*w+r*x+q*D+ +g[b+120>>2];g[E>>2]=s*y+r*A+q*B+ +g[b+112>>2];g[E+4>>2]=C;g[E+8>>2]=D;g[E+12>>2]=0.0;Ub[F&15](d,E+16|0,E,h);l=E;return}}}while(0);l=E;return}function Hd(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var k=0,m=0.0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0;C=l;l=l+304|0;B=+g[e+48>>2]-+g[d+48>>2];z=+g[e+52>>2]-+g[d+52>>2];A=+g[e+56>>2]-+g[d+56>>2];vf(d,e,C+256|0,C+192|0);v=+g[C+192>>2];t=+g[C+256>>2]*v;u=v*+g[C+256+4>>2];v=v*+g[C+256+8>>2];g[C+176>>2]=t;g[C+176+4>>2]=u;g[C+176+8>>2]=v;g[C+176+12>>2]=0.0;w=+g[h+48>>2]-+g[f+48>>2];x=+g[h+52>>2]-+g[f+52>>2];y=+g[h+56>>2]-+g[f+56>>2];vf(f,h,C+256|0,C+192|0);r=+g[C+192>>2];p=+g[C+256>>2]*r;q=r*+g[C+256+4>>2];r=r*+g[C+256+8>>2];g[C+160>>2]=p;g[C+160+4>>2]=q;g[C+160+8>>2]=r;g[C+160+12>>2]=0.0;e=c[b+12>>2]|0;s=+Db[c[(c[e>>2]|0)+16>>2]&15](e);e=c[b+16>>2]|0;if(!e)m=0.0;else m=+Db[c[(c[e>>2]|0)+16>>2]&15](e);r=s*+G(+(t*t+u*u+v*v))+m*+G(+(p*p+q*q+r*r));if(r+ +G(+((w-B)*(w-B)+(x-z)*(x-z)+(y-A)*(y-A)))==0.0){i=0;l=C;return i|0}c[C+256>>2]=9252;g[C+256+36>>2]=999999984306749440.0;a[C+256+40>>0]=0;yd(b,d,f,C+256|0);h=(a[C+256+40>>0]|0)==0;c[C+144>>2]=c[C+256+20>>2];c[C+144+4>>2]=c[C+256+20+4>>2];c[C+144+8>>2]=c[C+256+20+8>>2];c[C+144+12>>2]=c[C+256+20+12>>2];a:do if(!h?(k=c[C+256+4>>2]|0,n=c[C+256+8>>2]|0,o=c[C+256+12>>2]|0,v=(w-B)*(c[j>>2]=k,+g[j>>2]),v=v+(x-z)*(c[j>>2]=n,+g[j>>2]),!(r+(v+(y-A)*(c[j>>2]=o,+g[j>>2]))<=1.1920928955078125e-07)):0){p=+g[C+256+16>>2];m=+g[C+256+36>>2]+ +g[i+172>>2];b:do if(m>1.0000000474974513e-03){q=m;p=0.0;h=0;while(1){e=c[i+168>>2]|0;if(e|0){D=c[(c[e>>2]|0)+20>>2]|0;c[C+128>>2]=1065353216;c[C+128+4>>2]=1065353216;c[C+128+8>>2]=1065353216;g[C+128+12>>2]=0.0;qb[D&7](e,C+144|0,.20000000298023224,C+128|0)}m=(w-B)*(c[j>>2]=k,+g[j>>2]);m=(x-z)*(c[j>>2]=n,+g[j>>2])+m;m=r+((y-A)*(c[j>>2]=o,+g[j>>2])+m);if(m<=1.1920928955078125e-07){k=0;break a}m=p+q/m;if(!(!(m<=p)&(!(m<0.0)&!(m>1.0)))){k=0;break a}Kg(d,B,z,A,C+176|0,m,C+192|0);Kg(f,w,x,y,C+160|0,m,C+64|0);k=c[i+168>>2]|0;if(k|0){D=c[(c[k>>2]|0)+20>>2]|0;c[C>>2]=1065353216;c[C+4>>2]=0;c[C+8>>2]=0;g[C+12>>2]=0.0;qb[D&7](k,C+192+48|0,.20000000298023224,C)}kb[c[c[i>>2]>>2]&31](i,m);c[C+16>>2]=9252;g[C+16+36>>2]=999999984306749440.0;a[C+16+40>>0]=0;yd(b,C+192|0,C+64|0,C+16|0);if(!(a[C+16+40>>0]|0)){k=15;break}p=+g[C+16+36>>2];q=+g[i+172>>2];c[C+144>>2]=c[C+16+20>>2];c[C+144+4>>2]=c[C+16+20+4>>2];c[C+144+8>>2]=c[C+16+20+8>>2];c[C+144+12>>2]=c[C+16+20+12>>2];e=h+1|0;if((h|0)>63){k=16;break}o=c[C+16+12>>2]|0;n=c[C+16+8>>2]|0;k=c[C+16+4>>2]|0;q=p+q;if(!(q>1.0000000474974513e-03)){p=+g[C+16+16>>2];break b}else{p=m;h=e}}if((k|0)==15)Vb[c[(c[i>>2]|0)+8>>2]&127](i,-1,h);else if((k|0)==16)Vb[c[(c[i>>2]|0)+8>>2]&127](i,-2,e);k=0;break a}else m=0.0;while(0);g[i+164>>2]=m;c[i+132>>2]=k;c[i+136>>2]=n;c[i+140>>2]=o;g[i+144>>2]=p;c[i+148>>2]=c[C+144>>2];c[i+148+4>>2]=c[C+144+4>>2];c[i+148+8>>2]=c[C+144+8>>2];c[i+148+12>>2]=c[C+144+12>>2];k=1}else k=0;while(0);D=k;l=C;return D|0}function Id(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=+h;var i=0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0;D=l;l=l+80|0;B=+g[e+4>>2];C=+g[e+20>>2];o=+g[e+36>>2];p=+g[e+8>>2];q=+g[e+24>>2];r=+g[e+40>>2];s=+g[e+12>>2];t=+g[e+28>>2];u=+g[e+44>>2];v=-+g[e+52>>2];w=-+g[e+56>>2];x=-+g[e+60>>2];k=c[b+720>>2]|0;y=+g[k+(d*104|0)+8>>2];z=+g[k+(d*104|0)+12>>2];A=+g[k+(d*104|0)+16>>2];a:do if(f){f=c[b+268>>2]|0;b:do if((f|0)>0){j=c[b+276>>2]|0;i=0;while(1){if((c[j+(i<<2)>>2]|0)==(e|0))break;i=i+1|0;if((i|0)>=(f|0))break b}if((i|0)!=(f|0)){f=k;break a}}while(0);if((f|0)==(c[b+272>>2]|0)?(m=f|0?f<<1:1,(f|0)<(m|0)):0){if(!m)j=0;else{c[6485]=(c[6485]|0)+1;f=ic((m<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}j=f;f=c[b+268>>2]|0}if((f|0)>0){i=0;do{c[j+(i<<2)>>2]=c[(c[b+276>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(f|0))}i=c[b+276>>2]|0;if(i){if(a[b+280>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[i+-4>>2]|0);f=c[b+268>>2]|0}c[b+276>>2]=0}a[b+280>>0]=1;c[b+276>>2]=j;c[b+272>>2]=m}c[(c[b+276>>2]|0)+(f<<2)>>2]=e;c[b+268>>2]=f+1;f=c[b+720>>2]|0}else f=k;while(0);k=f+(d*104|0)|0;f=f+(d*104|0)+100|0;a[f>>0]=a[f>>0]|1;f=c[b+792>>2]|0;if((f|0)==(c[b+796>>2]|0)?(n=f|0?f<<1:1,(f|0)<(n|0)):0){if(!n)j=0;else{c[6485]=(c[6485]|0)+1;f=ic(n*96|19)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}j=f;f=c[b+792>>2]|0}if((f|0)>0){i=0;do{d=j+(i*96|0)|0;m=c[b+800>>2]|0;E=m+(i*96|0)|0;c[d>>2]=c[E>>2];c[d+4>>2]=c[E+4>>2];c[d+8>>2]=c[E+8>>2];c[d+12>>2]=c[E+12>>2];c[d+16>>2]=c[E+16>>2];c[d+20>>2]=c[E+20>>2];c[d+24>>2]=c[E+24>>2];d=j+(i*96|0)+28|0;E=m+(i*96|0)+28|0;c[d>>2]=c[E>>2];c[d+4>>2]=c[E+4>>2];c[d+8>>2]=c[E+8>>2];c[d+12>>2]=c[E+12>>2];d=j+(i*96|0)+44|0;E=m+(i*96|0)+44|0;c[d>>2]=c[E>>2];c[d+4>>2]=c[E+4>>2];c[d+8>>2]=c[E+8>>2];c[d+12>>2]=c[E+12>>2];d=j+(i*96|0)+60|0;E=m+(i*96|0)+60|0;c[d>>2]=c[E>>2];c[d+4>>2]=c[E+4>>2];c[d+8>>2]=c[E+8>>2];c[d+12>>2]=c[E+12>>2];d=j+(i*96|0)+76|0;m=m+(i*96|0)+76|0;c[d>>2]=c[m>>2];c[d+4>>2]=c[m+4>>2];c[d+8>>2]=c[m+8>>2];c[d+12>>2]=c[m+12>>2];c[d+16>>2]=c[m+16>>2];i=i+1|0}while((i|0)!=(f|0))}f=c[b+800>>2]|0;if(f|0){if(a[b+804>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[f+-4>>2]|0)}c[b+800>>2]=0}a[b+804>>0]=1;c[b+800>>2]=j;c[b+796>>2]=n;f=c[b+792>>2]|0}E=c[b+800>>2]|0;c[E+(f*96|0)>>2]=k;g[E+(f*96|0)+4>>2]=B*v+C*w+o*x+(B*y+C*z+o*A);g[E+(f*96|0)+8>>2]=p*v+q*w+r*x+(p*y+q*z+r*A);g[E+(f*96|0)+12>>2]=s*v+t*w+u*x+(s*y+t*z+u*A);g[E+(f*96|0)+16>>2]=0.0;c[E+(f*96|0)+20>>2]=e;g[E+(f*96|0)+24>>2]=h;e=E+(f*96|0)+28|0;c[e>>2]=c[D+56>>2];c[e+4>>2]=c[D+56+4>>2];c[e+8>>2]=c[D+56+8>>2];c[e+12>>2]=c[D+56+12>>2];e=E+(f*96|0)+44|0;c[e>>2]=c[D+40>>2];c[e+4>>2]=c[D+40+4>>2];c[e+8>>2]=c[D+40+8>>2];c[e+12>>2]=c[D+40+12>>2];e=E+(f*96|0)+60|0;c[e>>2]=c[D+24>>2];c[e+4>>2]=c[D+24+4>>2];c[e+8>>2]=c[D+24+8>>2];c[e+12>>2]=c[D+24+12>>2];E=E+(f*96|0)+76|0;c[E>>2]=c[D>>2];c[E+4>>2]=c[D+4>>2];c[E+8>>2]=c[D+8>>2];c[E+12>>2]=c[D+12>>2];c[E+16>>2]=c[D+16>>2];c[b+792>>2]=(c[b+792>>2]|0)+1;l=D;return}function Jd(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0;c[b>>2]=5316;c[6485]=(c[6485]|0)+1;e=ic(379)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}g[e+308>>2]=9.999999747378752e-05;f=e+332|0;a[f>>0]=a[f>>0]&-16;c[b+24>>2]=e;f=(c[d+20>>2]|0)==0;c[6485]=(c[6485]|0)+1;e=ic(23)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[e>>2]=f?9164:9212;c[b+28>>2]=e;c[6485]=(c[6485]|0)+1;e=ic(43)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}k=c[b+24>>2]|0;l=c[b+28>>2]|0;a[e+4>>0]=0;c[e>>2]=6124;c[e+16>>2]=0;c[e+20>>2]=3;c[e+12>>2]=k;c[e+8>>2]=l;c[b+32>>2]=e;c[6485]=(c[6485]|0)+1;e=ic(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}a[e+4>>0]=0;c[e>>2]=5348;c[b+36>>2]=e;c[6485]=(c[6485]|0)+1;e=ic(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}a[e+4>>0]=0;c[e>>2]=5368;c[b+40>>2]=e;c[6485]=(c[6485]|0)+1;e=ic(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}a[e+4>>0]=0;c[e>>2]=5388;c[b+44>>2]=e;c[6485]=(c[6485]|0)+1;e=ic(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}a[e+4>>0]=0;c[e>>2]=5408;c[b+48>>2]=e;c[6485]=(c[6485]|0)+1;e=ic(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}a[e+4>>0]=0;c[e>>2]=5428;c[b+52>>2]=e;c[6485]=(c[6485]|0)+1;e=ic(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}a[e+4>>0]=0;c[e>>2]=5448;c[b+56>>2]=e;c[6485]=(c[6485]|0)+1;e=ic(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}a[e+4>>0]=0;c[e>>2]=5468;c[b+60>>2]=e;c[6485]=(c[6485]|0)+1;e=ic(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}a[e+4>>0]=0;c[e>>2]=5488;c[b+76>>2]=e;c[6485]=(c[6485]|0)+1;e=ic(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[e>>2]=5488;c[b+80>>2]=e;a[e+4>>0]=1;c[6485]=(c[6485]|0)+1;e=ic(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}a[e+4>>0]=0;c[e>>2]=5508;c[b+72>>2]=e;c[6485]=(c[6485]|0)+1;e=ic(35)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}a[e+4>>0]=0;c[e>>2]=5528;c[e+8>>2]=1;c[e+12>>2]=0;c[b+88>>2]=e;c[6485]=(c[6485]|0)+1;e=ic(35)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[e>>2]=5528;c[e+8>>2]=1;c[e+12>>2]=0;c[b+84>>2]=e;a[e+4>>0]=1;l=c[d+16>>2]|0;l=(l|0)>80?l:80;e=c[d>>2]|0;if(!e){a[b+12>>0]=1;c[6485]=(c[6485]|0)+1;e=ic(39)|0;if(!e)k=0;else{c[(e+4+15&-16)+-4>>2]=e;k=e+4+15&-16}e=c[d+8>>2]|0;c[k>>2]=772;f=k+4|0;c[f>>2]=e;c[6485]=(c[6485]|0)+1;e=ic((e*772|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[k+16>>2]=e;c[k+12>>2]=e;f=c[f>>2]|0;c[k+8>>2]=f;if(f+-1|0){h=c[k>>2]|0;i=f+-1|0;j=e;do{m=j;j=j+h|0;c[m>>2]=j;i=i+-1|0}while((i|0)!=0);e=e+(S(h,f+-1|0)|0)|0}c[e>>2]=0;c[b+8>>2]=k}else{a[b+12>>0]=0;c[b+8>>2]=e}e=c[d+4>>2]|0;if(e|0){a[b+20>>0]=0;c[b+16>>2]=e;return}a[b+20>>0]=1;c[6485]=(c[6485]|0)+1;e=ic(39)|0;if(!e)k=0;else{c[(e+4+15&-16)+-4>>2]=e;k=e+4+15&-16}e=c[d+12>>2]|0;c[k>>2]=l;f=k+4|0;c[f>>2]=e;e=S(e,l)|0;c[6485]=(c[6485]|0)+1;e=ic(e+19|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[k+16>>2]=e;c[k+12>>2]=e;f=c[f>>2]|0;c[k+8>>2]=f;if(f+-1|0){h=c[k>>2]|0;i=f+-1|0;j=e;do{m=j;j=j+h|0;c[m>>2]=j;i=i+-1|0}while((i|0)!=0);e=e+(S(h,f+-1|0)|0)|0}c[e>>2]=0;c[b+16>>2]=k;return}function Kd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0;i=l;l=l+16|0;if((a[22648]|0)==0?qy(22648)|0:0){c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;eg(23468,0.0,0,0,i)}c[5918]=c[5918]|1;g[5953]=0.0;j=+g[5963]*0.0;k=+g[5964]*0.0;g[5958]=+g[5962]*0.0;g[5959]=j;g[5960]=k;g[5961]=0.0;c[5966]=0;c[5967]=0;c[5968]=0;c[5969]=0;k=+g[5955]*0.0;j=+g[5956]*0.0;g[6007]=+g[5954]*0.0;g[6008]=k;g[6009]=j;g[6010]=0.0;c[b+4>>2]=6;c[b+8>>2]=-1;c[b+12>>2]=-1;g[b+16>>2]=3402823466385288598117041.0e14;a[b+20>>0]=1;a[b+21>>0]=0;c[b+24>>2]=-1;c[b+28>>2]=23468;c[b+32>>2]=d;g[b+36>>2]=0.0;g[b+40>>2]=.30000001192092896;c[b+44>>2]=0;c[b>>2]=4504;c[b+112>>2]=c[e>>2];c[b+112+4>>2]=c[e+4>>2];c[b+112+8>>2]=c[e+8>>2];c[b+112+12>>2]=c[e+12>>2];c[b+128>>2]=c[e+16>>2];c[b+128+4>>2]=c[e+16+4>>2];c[b+128+8>>2]=c[e+16+8>>2];c[b+128+12>>2]=c[e+16+12>>2];c[b+144>>2]=c[e+32>>2];c[b+144+4>>2]=c[e+32+4>>2];c[b+144+8>>2]=c[e+32+8>>2];c[b+144+12>>2]=c[e+32+12>>2];c[b+160>>2]=c[e+48>>2];c[b+160+4>>2]=c[e+48+4>>2];c[b+160+8>>2]=c[e+48+8>>2];c[b+160+12>>2]=c[e+48+12>>2];e=b+680|0;h=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(h|0));c[b+740>>2]=0;c[b+740+4>>2]=0;c[b+740+8>>2]=0;c[b+740+12>>2]=0;c[b+756>>2]=1045220557;c[b+760>>2]=1045220557;c[b+764>>2]=1045220557;c[b+768>>2]=0;c[b+768+4>>2]=0;c[b+768+8>>2]=0;c[b+768+12>>2]=0;c[b+768+16>>2]=0;g[b+728>>2]=.699999988079071;g[b+732>>2]=1.0;g[b+736>>2]=.5;a[b+788>>0]=0;g[b+792>>2]=0.0;g[b+808>>2]=0.0;a[b+789>>0]=0;g[b+796>>2]=0.0;g[b+812>>2]=0.0;a[b+790>>0]=0;g[b+800>>2]=0.0;g[b+816>>2]=0.0;g[b+928>>2]=0.0;g[b+876>>2]=0.0;g[b+880>>2]=.10000000149011612;g[b+884>>2]=300.0;g[b+868>>2]=1.0;g[b+872>>2]=-1.0;g[b+896>>2]=0.0;g[b+900>>2]=.20000000298023224;g[b+904>>2]=0.0;g[b+908>>2]=0.0;g[b+888>>2]=1.0;g[b+892>>2]=.5;c[b+924>>2]=0;g[b+916>>2]=0.0;a[b+912>>0]=0;g[b+992>>2]=0.0;g[b+940>>2]=0.0;g[b+944>>2]=.10000000149011612;g[b+948>>2]=300.0;g[b+932>>2]=1.0;g[b+936>>2]=-1.0;g[b+960>>2]=0.0;g[b+964>>2]=.20000000298023224;g[b+968>>2]=0.0;g[b+972>>2]=0.0;g[b+952>>2]=1.0;g[b+956>>2]=.5;c[b+988>>2]=0;g[b+980>>2]=0.0;a[b+976>>0]=0;g[b+1056>>2]=0.0;g[b+1004>>2]=0.0;g[b+1008>>2]=.10000000149011612;g[b+1012>>2]=300.0;g[b+996>>2]=1.0;g[b+1e3>>2]=-1.0;g[b+1024>>2]=0.0;g[b+1028>>2]=.20000000298023224;g[b+1032>>2]=0.0;g[b+1036>>2]=0.0;g[b+1016>>2]=1.0;g[b+1020>>2]=.5;c[b+1052>>2]=0;g[b+1044>>2]=0.0;a[b+1040>>0]=0;a[b+1300>>0]=f&1;a[b+1301>>0]=1;c[b+1304>>2]=0;a[b+1308>>0]=0;y=+g[b+112>>2];E=+g[d+4>>2];x=+g[b+128>>2];D=+g[d+8>>2];w=+g[b+144>>2];C=+g[d+12>>2];v=+g[b+116>>2];u=+g[b+132>>2];t=+g[b+148>>2];s=+g[b+120>>2];q=+g[b+136>>2];o=+g[b+152>>2];B=+g[d+20>>2];A=+g[d+24>>2];z=+g[d+28>>2];r=+g[d+36>>2];p=+g[d+40>>2];n=+g[d+44>>2];G=+g[b+160>>2];F=+g[b+164>>2];k=+g[b+168>>2];m=+g[d+52>>2]+(E*G+D*F+C*k);j=B*G+A*F+z*k+ +g[d+56>>2];k=r*G+p*F+n*k+ +g[d+60>>2];g[b+48>>2]=y*E+x*D+w*C;g[b+52>>2]=E*v+D*u+C*t;g[b+56>>2]=E*s+D*q+C*o;g[b+60>>2]=0.0;g[b+64>>2]=y*B+x*A+w*z;g[b+68>>2]=v*B+u*A+t*z;g[b+72>>2]=s*B+q*A+o*z;g[b+76>>2]=0.0;g[b+80>>2]=y*r+x*p+w*n;g[b+84>>2]=v*r+u*p+t*n;g[b+88>>2]=s*r+q*p+o*n;g[b+92>>2]=0.0;g[b+96>>2]=m;g[b+100>>2]=j;g[b+104>>2]=k;g[b+108>>2]=0.0;ed(b,(c[b+28>>2]|0)+4|0,(c[b+32>>2]|0)+4|0);l=i;return}function Ld(a,d,f,h,i){a=a|0;d=d|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=l;l=l+16|0;c[d+16>>2]=c[f>>2];c[d+16+4>>2]=c[f+4>>2];c[d+16+8>>2]=c[f+8>>2];c[d+16+12>>2]=c[f+12>>2];c[d+32>>2]=c[h>>2];c[d+32+4>>2]=c[h+4>>2];c[d+32+8>>2]=c[h+8>>2];c[d+32+12>>2]=c[h+12>>2];D=c[a+60>>2]|0;E=c[d+12>>2]&65535;dj(a,I+6|0,+g[f>>2],+g[f+4>>2],+g[f+8>>2],0);dj(a,I,+g[h>>2],+g[h+4>>2],+g[h+8>>2],1);H=0;do{t=b[D+(E<<6)+48+(H<<1)>>1]|0;w=b[D+(E<<6)+54+(H<<1)>>1]|0;q=b[I+6+(H<<1)>>1]|0;n=a+68+(H<<2)|0;s=c[n>>2]|0;o=(q&65535)-(e[s+((t&65535)<<2)>>1]|0)|0;r=b[I+(H<<1)>>1]|0;y=(r&65535)-(e[s+((w&65535)<<2)>>1]|0)|0;b[s+((t&65535)<<2)>>1]=q;b[s+((w&65535)<<2)>>1]=r;if((o|0)<0)lh(a,H,t);a:do if((y|0)>0?(z=c[n>>2]|0,A=c[a+60>>2]|0,B=e[z+((w&65535)<<2)+2>>1]|0,C=b[z+((w&65535)+1<<2)+2>>1]|0,C<<16>>16):0){p=1<<H&3;q=A+(B<<6)+54+(H<<1)|0;j=C;r=z+((w&65535)<<2)|0;s=z+((w&65535)+1<<2)|0;while(1){k=b[s>>1]|0;if((e[r>>1]|0)<(k&65535))break a;m=c[a+60>>2]|0;j=j&65535;if(!(k&1)){if(((((e[A+(B<<6)+54+(p<<1)>>1]|0)>=(e[m+(j<<6)+48+(p<<1)>>1]|0)?(e[m+(j<<6)+54+(p<<1)>>1]|0)>=(e[A+(B<<6)+48+(p<<1)>>1]|0):0)?(e[A+(B<<6)+54+((1<<p&3)<<1)>>1]|0)>=(e[m+(j<<6)+48+((1<<p&3)<<1)>>1]|0):0)?(e[m+(j<<6)+54+((1<<p&3)<<1)>>1]|0)>=(e[A+(B<<6)+48+((1<<p&3)<<1)>>1]|0):0)?(G=c[a+92>>2]|0,F=m+((e[r+2>>1]|0)<<6)|0,zb[c[(c[G>>2]|0)+8>>2]&63](G,F,m+(j<<6)|0)|0,G=c[a+96>>2]|0,G|0):0)zb[c[(c[G>>2]|0)+8>>2]&63](G,F,m+(j<<6)|0)|0;j=m+(j<<6)+48+(H<<1)|0}else j=m+(j<<6)+54+(H<<1)|0;b[j>>1]=(b[j>>1]|0)+-1<<16>>16;b[q>>1]=(b[q>>1]|0)+1<<16>>16;j=e[r>>1]|e[r+2>>1]<<16;m=e[s>>1]|e[s+2>>1]<<16;b[r>>1]=m;b[r+2>>1]=m>>>16;b[s>>1]=j;b[s+2>>1]=j>>>16;j=b[s+6>>1]|0;if(!(j<<16>>16))break;else{r=r+4|0;s=s+4|0}}}while(0);b:do if((o|0)>0?(u=c[n>>2]|0,v=b[u+((t&65535)+1<<2)+2>>1]|0,v<<16>>16):0){o=(c[a+60>>2]|0)+((e[u+((t&65535)<<2)+2>>1]|0)<<6)+48+(H<<1)|0;p=1<<H&3;k=v;q=u+((t&65535)<<2)|0;n=u+((t&65535)+1<<2)|0;while(1){j=b[n>>1]|0;if((e[q>>1]|0)<(j&65535))break b;m=c[a+60>>2]|0;k=k&65535;if(!(j&1))j=m+(k<<6)+48+(H<<1)|0;else{j=e[q+2>>1]|0;if(((((e[m+(j<<6)+54+(p<<1)>>1]|0)>=(e[m+(k<<6)+48+(p<<1)>>1]|0)?(e[m+(k<<6)+54+(p<<1)>>1]|0)>=(e[m+(j<<6)+48+(p<<1)>>1]|0):0)?(e[m+(j<<6)+54+((1<<p&3)<<1)>>1]|0)>=(e[m+(k<<6)+48+((1<<p&3)<<1)>>1]|0):0)?(e[m+(k<<6)+54+((1<<p&3)<<1)>>1]|0)>=(e[m+(j<<6)+48+((1<<p&3)<<1)>>1]|0):0)?(x=c[a+92>>2]|0,tb[c[(c[x>>2]|0)+12>>2]&31](x,m+(j<<6)|0,m+(k<<6)|0,i)|0,x=c[a+96>>2]|0,x|0):0)tb[c[(c[x>>2]|0)+12>>2]&31](x,m+(j<<6)|0,m+(k<<6)|0,i)|0;j=m+(k<<6)+54+(H<<1)|0}b[j>>1]=(b[j>>1]|0)+-1<<16>>16;b[o>>1]=(b[o>>1]|0)+1<<16>>16;k=e[q>>1]|e[q+2>>1]<<16;t=e[n>>1]|e[n+2>>1]<<16;b[q>>1]=t;b[q+2>>1]=t>>>16;b[n>>1]=k;b[n+2>>1]=k>>>16;k=b[n+6>>1]|0;if(!(k<<16>>16))break;else{q=q+4|0;n=n+4|0}}}while(0);if((y|0)<0)gh(a,H,w,i);H=H+1|0}while((H|0)!=3);j=c[a+108>>2]|0;if(!j){l=I;return}jb[c[(c[j>>2]|0)+16>>2]&31](j,c[d+60>>2]|0,f,h,i);l=I;return}function Md(b,d,e,f,h,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;h=+h;i=+i;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+288|0;c[w+208>>2]=c[d>>2];c[w+208+4>>2]=c[d+4>>2];c[w+208+8>>2]=c[d+8>>2];c[w+208+12>>2]=c[d+12>>2];o=w+208+16|0;c[o>>2]=c[e>>2];c[o+4>>2]=c[e+4>>2];c[o+8>>2]=c[e+8>>2];c[o+12>>2]=c[e+12>>2];e=w+208+32|0;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];r=c[j>>2]|0;t=c[j+4>>2]|0;u=c[j+8>>2]|0;v=c[j+16>>2]|0;q=c[j+12>>2]|0;p=c[j+20>>2]|0;c[w>>2]=c[w+208>>2];c[w+4>>2]=c[w+208+4>>2];c[w+8>>2]=c[w+208+8>>2];c[w+12>>2]=c[w+208+12>>2];c[w+16>>2]=c[o>>2];c[w+16+4>>2]=c[o+4>>2];c[w+16+8>>2]=c[o+8>>2];c[w+16+12>>2]=c[o+12>>2];c[w+32>>2]=c[e>>2];c[w+32+4>>2]=c[e+4>>2];c[w+32+8>>2]=c[e+8>>2];c[w+32+12>>2]=c[e+12>>2];e=c[b+136>>2]|0;if((e|0)==(c[b+140>>2]|0)?(s=e|0?e<<1:1,(e|0)<(s|0)):0){if(!s)d=0;else{c[6485]=(c[6485]|0)+1;d=ic((s*284|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}e=c[b+136>>2]|0}if((e|0)>0){j=0;do{f=c[b+144>>2]|0;m=d+(j*284|0)|0;n=f+(j*284|0)|0;o=m+92|0;do{c[m>>2]=c[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));m=d+(j*284|0)+92|0;n=f+(j*284|0)+92|0;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];m=d+(j*284|0)+108|0;n=f+(j*284|0)+108|0;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];m=d+(j*284|0)+124|0;n=f+(j*284|0)+124|0;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];m=d+(j*284|0)+140|0;n=f+(j*284|0)+140|0;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];m=d+(j*284|0)+156|0;n=f+(j*284|0)+156|0;o=m+128|0;do{c[m>>2]=c[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));j=j+1|0}while((j|0)!=(e|0))}e=c[b+144>>2]|0;if(e|0){if(a[b+148>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[e+-4>>2]|0)}c[b+144>>2]=0}a[b+148>>0]=1;c[b+144>>2]=d;c[b+140>>2]=s;e=c[b+136>>2]|0}d=c[b+144>>2]|0;m=d+(e*284|0)|0;n=w+48|0;o=m+92|0;do{c[m>>2]=c[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));m=d+(e*284|0)+92|0;c[m>>2]=c[w+192>>2];c[m+4>>2]=c[w+192+4>>2];c[m+8>>2]=c[w+192+8>>2];c[m+12>>2]=c[w+192+12>>2];m=d+(e*284|0)+108|0;c[m>>2]=c[w+176>>2];c[m+4>>2]=c[w+176+4>>2];c[m+8>>2]=c[w+176+8>>2];c[m+12>>2]=c[w+176+12>>2];m=d+(e*284|0)+124|0;c[m>>2]=c[w+160>>2];c[m+4>>2]=c[w+160+4>>2];c[m+8>>2]=c[w+160+8>>2];c[m+12>>2]=c[w+160+12>>2];m=d+(e*284|0)+140|0;c[m>>2]=c[w+144>>2];c[m+4>>2]=c[w+144+4>>2];c[m+8>>2]=c[w+144+8>>2];c[m+12>>2]=c[w+144+12>>2];d=d+(e*284|0)+156|0;m=d;n=w;o=m+48|0;do{c[m>>2]=c[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));g[d+48>>2]=h;c[d+52>>2]=q;g[d+56>>2]=i;c[d+60>>2]=r;c[d+64>>2]=t;c[d+68>>2]=u;c[d+72>>2]=v;g[d+76>>2]=0.0;g[d+80>>2]=0.0;g[d+84>>2]=0.0;g[d+88>>2]=.10000000149011612;c[d+92>>2]=p;g[d+96>>2]=0.0;g[d+100>>2]=0.0;a[d+104>>0]=k&1;m=d+105|0;n=w+256|0;o=m+23|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));k=c[b+136>>2]|0;c[b+136>>2]=k+1;k=(c[b+144>>2]|0)+(k*284|0)|0;Eg(c[b+116>>2]|0,k,0);le(c[b+116>>2]|0,c[b+144>>2]|0,(c[b+136>>2]|0)+-1|0,0);l=w;return k|0}function Nd(b,d,e){b=b|0;d=+d;e=+e;var f=0,h=0,i=0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0.0;t=l;l=l+144|0;f=c[b+8>>2]|0;if(!f){f=c[b+4>>2]|0;if(!f){d=0.0;j=0.0;m=0.0;n=0.0;o=0.0;k=0.0}else{k=+g[f+336>>2];m=+g[b+172>>2];n=+g[f+340>>2];r=+g[b+168>>2];o=+g[b+164>>2];s=+g[f+332>>2];d=k*m-n*r;j=+g[f+316>>2];m=n*o-m*s;n=+g[f+320>>2];o=r*s-k*o;k=+g[f+324>>2]}}else{k=+g[f+332>>2];m=+g[b+172>>2];n=+g[f+336>>2];r=+g[b+168>>2];o=+g[b+164>>2];s=+g[f+328>>2];d=k*m-n*r;j=+g[f+312>>2];m=n*o-m*s;n=+g[f+316>>2];o=r*s-k*o;k=+g[f+320>>2]}s=j+d;r=n+m;q=k+o;f=c[b+20>>2]|0;if(!f){f=c[b+16>>2]|0;if(!f){d=0.0;j=0.0;m=0.0;n=0.0;p=0.0;k=0.0}else{k=+g[f+336>>2];m=+g[b+188>>2];n=+g[f+340>>2];u=+g[b+184>>2];p=+g[b+180>>2];o=+g[f+332>>2];d=k*m-n*u;j=+g[f+316>>2];m=n*p-m*o;n=+g[f+320>>2];p=u*o-k*p;k=+g[f+324>>2]}}else{k=+g[f+332>>2];m=+g[b+188>>2];n=+g[f+336>>2];o=+g[b+184>>2];p=+g[b+180>>2];u=+g[f+328>>2];d=k*m-n*o;j=+g[f+312>>2];m=n*p-m*u;n=+g[f+316>>2];p=o*u-k*p;k=+g[f+320>>2]}o=s-(j+d);n=r-(n+m);d=q-(k+p);j=+g[b+196>>2];k=+g[b+200>>2];m=+g[b+204>>2];a[t+108+32>>0]=1;c[t+108+16>>2]=0;c[t+108+16+4>>2]=0;c[t+108+16+8>>2]=0;c[t+108+16+12>>2]=0;c[t+108>>2]=c[b+72>>2];c[t+108+4>>2]=c[b+72+4>>2];c[t+108+8>>2]=c[b+72+8>>2];c[t+108+12>>2]=c[b+72+12>>2];if(j*o+n*k+d*m<0.0){r=+g[b+212>>2];s=+g[t+108>>2]+((j*o+n*k+d*m)*j+(o-(j*o+n*k+d*m)*j)*r);g[t+108>>2]=s;u=(j*o+n*k+d*m)*k+r*(n-(j*o+n*k+d*m)*k)+ +g[t+108+4>>2];g[t+108+4>>2]=u;k=(j*o+n*k+d*m)*m+r*(d-(j*o+n*k+d*m)*m)+ +g[t+108+8>>2];g[t+108+8>>2]=k;f=t+108+4|0;h=t+108+8|0;i=t+108|0;d=s;j=u}else{f=t+108+4|0;h=t+108+8|0;i=t+108|0;d=+g[t+108>>2];j=+g[t+108+4>>2];k=+g[t+108+8>>2]}m=(+g[b+104>>2]*d+ +g[b+108>>2]*j+ +g[b+112>>2]*k)*e;n=(d*+g[b+120>>2]+j*+g[b+124>>2]+k*+g[b+128>>2])*e;d=(d*+g[b+136>>2]+j*+g[b+140>>2]+k*+g[b+144>>2])*e;g[i>>2]=m;g[f>>2]=n;g[h>>2]=d;g[t+108+12>>2]=0.0;f=c[b+4>>2]|0;if((f|0)!=(c[b+16>>2]|0)){f=t;h=t+108|0;i=f+36|0;do{c[f>>2]=c[h>>2];f=f+4|0;h=h+4|0}while((f|0)<(i|0));u=-+g[t+4>>2];e=-+g[t+8>>2];g[t>>2]=-+g[t>>2];g[t+4>>2]=u;g[t+8>>2]=e;g[t+12>>2]=0.0;e=-+g[t+20>>2];u=-+g[t+24>>2];g[t+16>>2]=-+g[t+16>>2];g[t+20>>2]=e;g[t+24>>2]=u;g[t+28>>2]=0.0;Dh(b+4|0,t,b+164|0);Dh(b+16|0,t+108|0,b+180|0);l=t;return}if(!(m==m&n==n&(d==d&0.0==0.0))){l=t;return}u=+G(+(m*m+n*n+d*d));if(u<+g[f+368>>2]){l=t;return}h=c[t+108+32>>2]|0;u=+g[f+372>>2];g[t+72+12>>2]=0.0;g[t+72+28>>2]=0.0;c[t+72+32>>2]=h;g[t+72>>2]=-(m*u);g[t+72+4>>2]=-(n*u);g[t+72+8>>2]=-(d*u);g[t+72+16>>2]=u*-0.0;g[t+72+20>>2]=u*-0.0;g[t+72+24>>2]=u*-0.0;Dh(b+4|0,t+72|0,b+164|0);d=+g[(c[b+4>>2]|0)+372>>2];f=t+36|0;h=t+108|0;i=f+36|0;do{c[f>>2]=c[h>>2];f=f+4|0;h=h+4|0}while((f|0)<(i|0));g[t+36>>2]=d*+g[t+36>>2];g[t+36+4>>2]=d*+g[t+36+4>>2];g[t+36+8>>2]=d*+g[t+36+8>>2];g[t+36+16>>2]=d*+g[t+36+16>>2];g[t+36+20>>2]=d*+g[t+36+20>>2];g[t+36+24>>2]=d*+g[t+36+24>>2];Dh(b+16|0,t+36|0,b+180|0);l=t;return}function Od(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;if((h|0)<0){o=c[b+8>>2]|0;+Mb[c[(c[o>>2]|0)+12>>2]&3](o,d,e,f,g,c[b+12>>2]|0,c[b+16>>2]|0,c[b+4>>2]|0,c[b+20>>2]|0,c[b+24>>2]|0);return}n=c[b+16>>2]|0;a:do if((n|0)>0){m=c[b+12>>2]|0;i=0;while(1){l=m+(i<<2)|0;k=c[l>>2]|0;j=c[(c[k+28>>2]|0)+208>>2]|0;if((j|0)<=-1)j=c[(c[k+32>>2]|0)+208>>2]|0;if((j|0)==(h|0)){o=l;break a}i=i+1|0;if((i|0)>=(n|0)){o=0;break}}}else{i=0;o=0}while(0);if((i|0)<(n|0)){m=c[b+12>>2]|0;j=0;do{l=c[m+(i<<2)>>2]|0;k=c[(c[l+28>>2]|0)+208>>2]|0;if((k|0)<=-1)k=c[(c[l+32>>2]|0)+208>>2]|0;j=((k|0)==(h|0)&1)+j|0;i=i+1|0}while((i|0)!=(n|0));h=j}else h=0;i=c[b+4>>2]|0;if((c[i+72>>2]|0)<2){n=c[b+8>>2]|0;+Mb[c[(c[n>>2]|0)+12>>2]&3](n,d,e,f,g,o,h,i,c[b+20>>2]|0,c[b+24>>2]|0);return}if((e|0)>0){i=c[b+32>>2]|0;j=c[b+36>>2]|0;n=0;do{m=d+(n<<2)|0;if((i|0)==(j|0)){l=j|0?j<<1:1;if((j|0)<(l|0)){if(!l)i=0;else{c[6485]=(c[6485]|0)+1;i=ic((l<<2|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}j=c[b+32>>2]|0}if((j|0)>0){k=0;do{c[i+(k<<2)>>2]=c[(c[b+40>>2]|0)+(k<<2)>>2];k=k+1|0}while((k|0)!=(j|0))}k=c[b+40>>2]|0;if(k){if(a[b+44>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[k+-4>>2]|0);j=c[b+32>>2]|0}c[b+40>>2]=0}a[b+44>>0]=1;c[b+40>>2]=i;c[b+36>>2]=l;i=j;j=l}else i=j}c[(c[b+40>>2]|0)+(i<<2)>>2]=c[m>>2];i=i+1|0;c[b+32>>2]=i;n=n+1|0}while((n|0)!=(e|0))}if((g|0)>0){i=c[b+52>>2]|0;j=c[b+56>>2]|0;n=0;do{m=f+(n<<2)|0;if((i|0)==(j|0)){l=j|0?j<<1:1;if((j|0)<(l|0)){if(!l)i=0;else{c[6485]=(c[6485]|0)+1;i=ic((l<<2|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}j=c[b+52>>2]|0}if((j|0)>0){k=0;do{c[i+(k<<2)>>2]=c[(c[b+60>>2]|0)+(k<<2)>>2];k=k+1|0}while((k|0)!=(j|0))}k=c[b+60>>2]|0;if(k){if(a[b+64>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[k+-4>>2]|0);j=c[b+52>>2]|0}c[b+60>>2]=0}a[b+64>>0]=1;c[b+60>>2]=i;c[b+56>>2]=l;i=j;j=l}else i=j}c[(c[b+60>>2]|0)+(i<<2)>>2]=c[m>>2];i=i+1|0;c[b+52>>2]=i;n=n+1|0}while((n|0)!=(g|0))}if((h|0)>0){i=c[b+72>>2]|0;j=c[b+76>>2]|0;n=0;do{m=o+(n<<2)|0;if((i|0)==(j|0)){l=j|0?j<<1:1;if((j|0)<(l|0)){if(!l){k=0;i=j}else{c[6485]=(c[6485]|0)+1;i=ic((l<<2|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}k=i;i=c[b+72>>2]|0}if((i|0)>0){j=0;do{c[k+(j<<2)>>2]=c[(c[b+80>>2]|0)+(j<<2)>>2];j=j+1|0}while((j|0)!=(i|0))}j=c[b+80>>2]|0;if(j){if(a[b+84>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[j+-4>>2]|0);i=c[b+72>>2]|0}c[b+80>>2]=0}a[b+84>>0]=1;c[b+80>>2]=k;c[b+76>>2]=l;j=l}else i=j}c[(c[b+80>>2]|0)+(i<<2)>>2]=c[m>>2];i=i+1|0;c[b+72>>2]=i;n=n+1|0}while((n|0)!=(h|0))}else i=c[b+72>>2]|0;if(((c[b+52>>2]|0)+i|0)<=(c[(c[b+4>>2]|0)+72>>2]|0))return;Wg(b);return}function Pd(d,f,h,i){d=d|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0;w=l;l=l+80|0;v=c[d+48>>2]|0;c[w>>2]=6956;c[w+4>>2]=v;c[w+8>>2]=f;v=c[d+52>>2]|0;if(!(a[v+60>>0]|0)){f=c[v+56>>2]|0;if((f|0)>0){d=f;m=0;p=c[v+96>>2]|0;f=0;while(1){f=f+1|0;if(!(+g[h>>2]>+g[p+16>>2])?!(+g[i>>2]<+g[p>>2]):0)j=1;else j=0;if(!(!(+g[h+8>>2]>+g[p+24>>2])?!(+g[i+8>>2]<+g[p+8>>2]):0))j=0;if(!(+g[h+4>>2]>+g[p+20>>2])?!(+g[i+4>>2]<+g[p+4>>2]):0){k=c[p+32>>2]|0;if(j&(k|0)==-1){Vb[c[(c[w>>2]|0)+8>>2]&127](w,c[p+36>>2]|0,c[p+40>>2]|0);d=c[v+56>>2]|0;o=42}else{n=(k|0)==-1;o=41}}else{k=c[p+32>>2]|0;j=0;n=(k|0)==-1;o=41}if((o|0)==41){o=0;if(n|j)o=42;else{m=k+m|0;j=p+(k<<6)|0}}if((o|0)==42){m=m+1|0;j=p+64|0}if((m|0)<(d|0))p=j;else break}}else f=0;if((c[6217]|0)>=(f|0)){l=w;return}c[6217]=f;l=w;return}z=+g[h>>2];D=+g[h+4>>2];H=+g[h+8>>2];G=+g[v+4>>2];z=z<G?G:z;C=+g[v+8>>2];D=D<C?C:D;y=+g[v+12>>2];H=H<y?y:H;I=+g[v+20>>2];E=+g[v+24>>2];A=+g[v+28>>2];F=+g[v+36>>2];B=+g[v+40>>2];x=+g[v+44>>2];s=~~(((I<z?I:z)-G)*F)&65535&-2;b[w+66>>1]=s;t=~~(((E<D?E:D)-C)*B)&65535&-2;u=~~(((A<H?A:H)-y)*x)&65535&-2;b[w+66+2>>1]=t;b[w+66+4>>1]=u;H=+g[i>>2];D=+g[i+4>>2];z=+g[i+8>>2];H=H<G?G:H;D=D<C?C:D;z=z<y?y:z;i=~~(((I<H?I:H)-G)*F+1.0)&65535|1;b[w+60>>1]=i;q=~~(((E<D?E:D)-C)*B+1.0)&65535|1;r=~~(((A<z?A:z)-y)*x+1.0)&65535|1;b[w+60+2>>1]=q;b[w+60+4>>1]=r;switch(c[v+144>>2]|0){case 0:{o=c[v+56>>2]|0;if((o|0)>0){d=0;j=c[v+136>>2]|0;f=0;do{f=f+1|0;k=((i&65535)>=(e[j>>1]|0)?(s&65535)<=(e[j+6>>1]|0):0)&(u&65535)<=(e[j+10>>1]|0)&(r&65535)>=(e[j+4>>1]|0)&(t&65535)<=(e[j+8>>1]|0)&(q&65535)>=(e[j+2>>1]|0);m=j+12|0;n=c[m>>2]|0;if((n|0)>-1&k)Vb[c[(c[w>>2]|0)+8>>2]&127](w,n>>21,n&2097151);if(k|(n|0)>-1){d=d+1|0;j=j+16|0}else{v=c[m>>2]|0;d=d-v|0;j=j+(0-v<<4)|0}}while((d|0)<(o|0))}else f=0;if((c[6217]|0)>=(f|0)){l=w;return}c[6217]=f;l=w;return}case 1:{if((c[v+152>>2]|0)<=0){l=w;return}h=0;do{f=c[v+160>>2]|0;if(((i&65535)>=(e[f+(h<<5)>>1]|0)?(s&65535)<=(e[f+(h<<5)+6>>1]|0):0)&(u&65535)<=(e[f+(h<<5)+10>>1]|0)&(r&65535)>=(e[f+(h<<5)+4>>1]|0)&(t&65535)<=(e[f+(h<<5)+8>>1]|0)&(q&65535)>=(e[f+(h<<5)+2>>1]|0)){p=c[f+(h<<5)+12>>2]|0;o=c[f+(h<<5)+16>>2]|0;if((o|0)>0){d=p;j=(c[v+136>>2]|0)+(p<<4)|0;f=0;do{f=f+1|0;k=((i&65535)>=(e[j>>1]|0)?(s&65535)<=(e[j+6>>1]|0):0)&(u&65535)<=(e[j+10>>1]|0)&(r&65535)>=(e[j+4>>1]|0)&(t&65535)<=(e[j+8>>1]|0)&(q&65535)>=(e[j+2>>1]|0);m=j+12|0;n=c[m>>2]|0;if((n|0)>-1&k)Vb[c[(c[w>>2]|0)+8>>2]&127](w,n>>21,n&2097151);if(k|(n|0)>-1){d=d+1|0;j=j+16|0}else{n=c[m>>2]|0;d=d-n|0;j=j+(0-n<<4)|0}}while((d|0)<(o+p|0))}else f=0;if((c[6217]|0)<(f|0))c[6217]=f}h=h+1|0}while((h|0)<(c[v+152>>2]|0));l=w;return}case 2:{vk(c[v+136>>2]|0,w,w+66|0,w+60|0);l=w;return}default:{l=w;return}}}function Qd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+24>>2]=d;g[b+28>>2]=0.0;c[b+32>>2]=0;c[b+36>>2]=1;g[b+40>>2]=1.0;a[b+44>>0]=1;c[b+48>>2]=0;a[b+52>>0]=0;a[b+53>>0]=1;a[b+54>>0]=1;g[b+56>>2]=.03999999910593033;a[b+60>>0]=0;g[b+64>>2]=0.0;c[b+68>>2]=e;c[b+72>>2]=0;a[b+76>>0]=1;c[b+80>>2]=0;c[b+84>>2]=0;c[b+88>>2]=0;g[b+92>>2]=.6000000238418579;g[b+96>>2]=1.0;g[b+100>>2]=.30000001192092896;g[b+104>>2]=.01666666753590107;g[b+108>>2]=0.0;g[b+116>>2]=20.0;c[b+112>>2]=10;g[b+124>>2]=.20000000298023224;g[b+128>>2]=.800000011920929;g[b+132>>2]=0.0;g[b+120>>2]=1.0;c[b+136>>2]=1;g[b+140>>2]=-.03999999910593033;g[b+144>>2]=.10000000149011612;g[b+148>>2]=0.0;g[b+152>>2]=.8500000238418579;c[b+156>>2]=260;c[b+160>>2]=2;c[b+164>>2]=128;g[b+168>>2]=100.0;g[b+172>>2]=1000000015047466219876688.0e6;c[b>>2]=4272;a[b+192>>0]=1;c[b+188>>2]=0;c[b+180>>2]=0;c[b+184>>2]=0;c[b+196>>2]=0;c[b+200>>2]=f;a[b+224>>0]=1;c[b+220>>2]=0;c[b+212>>2]=0;c[b+216>>2]=0;a[b+244>>0]=1;c[b+240>>2]=0;c[b+232>>2]=0;c[b+236>>2]=0;c[b+248>>2]=0;c[b+252>>2]=-1054867456;a[b+274>>0]=0;a[b+275>>0]=0;c[b+256>>2]=0;c[b+256+4>>2]=0;c[b+256+8>>2]=0;c[b+256+12>>2]=0;a[b+292>>0]=1;c[b+288>>2]=0;c[b+280>>2]=0;c[b+284>>2]=0;c[b+296>>2]=0;a[b+300>>0]=1;a[b+320>>0]=1;c[b+316>>2]=0;c[b+308>>2]=0;c[b+312>>2]=0;if(!f){c[6485]=(c[6485]|0)+1;f=ic(215)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}c[f>>2]=4884;a[f+20>>0]=1;c[f+16>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;a[f+40>>0]=1;c[f+36>>2]=0;c[f+28>>2]=0;c[f+32>>2]=0;a[f+60>>0]=1;c[f+56>>2]=0;c[f+48>>2]=0;c[f+52>>2]=0;a[f+80>>0]=1;c[f+76>>2]=0;c[f+68>>2]=0;c[f+72>>2]=0;a[f+100>>0]=1;c[f+96>>2]=0;c[f+88>>2]=0;c[f+92>>2]=0;a[f+120>>0]=1;c[f+116>>2]=0;c[f+108>>2]=0;c[f+112>>2]=0;a[f+140>>0]=1;c[f+136>>2]=0;c[f+128>>2]=0;c[f+132>>2]=0;a[f+160>>0]=1;c[f+156>>2]=0;c[f+148>>2]=0;c[f+152>>2]=0;a[f+180>>0]=1;c[f+176>>2]=0;c[f+168>>2]=0;c[f+172>>2]=0;c[f+192>>2]=0;c[b+200>>2]=f;f=1}else f=0;a[b+273>>0]=f;c[6485]=(c[6485]|0)+1;f=ic(87)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}c[f>>2]=5548;a[f+20>>0]=1;c[f+16>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;a[f+40>>0]=1;c[f+36>>2]=0;c[f+28>>2]=0;c[f+32>>2]=0;a[f+60>>0]=1;c[f+56>>2]=0;c[f+48>>2]=0;c[f+52>>2]=0;a[f+64>>0]=1;c[b+204>>2]=f;a[b+272>>0]=1;c[6485]=(c[6485]|0)+1;f=ic(107)|0;if(!f){e=0;h=c[b+200>>2]|0;c[e>>2]=4484;f=e+4|0;c[f>>2]=0;f=e+8|0;c[f>>2]=h;f=e+12|0;c[f>>2]=0;f=e+16|0;c[f>>2]=0;f=e+20|0;c[f>>2]=0;f=e+24|0;c[f>>2]=d;d=e+44|0;a[d>>0]=1;d=e+40|0;c[d>>2]=0;d=e+32|0;c[d>>2]=0;d=e+36|0;c[d>>2]=0;d=e+64|0;a[d>>0]=1;d=e+60|0;c[d>>2]=0;d=e+52|0;c[d>>2]=0;d=e+56|0;c[d>>2]=0;d=e+84|0;a[d>>0]=1;d=e+80|0;c[d>>2]=0;d=e+72|0;c[d>>2]=0;d=e+76|0;c[d>>2]=0;c[b+196>>2]=e;return}c[(f+4+15&-16)+-4>>2]=f;h=f+4+15&-16;f=c[b+200>>2]|0;c[h>>2]=4484;e=h+4|0;c[e>>2]=0;e=h+8|0;c[e>>2]=f;e=h+12|0;c[e>>2]=0;e=h+16|0;c[e>>2]=0;e=h+20|0;c[e>>2]=0;e=h+24|0;c[e>>2]=d;d=h+44|0;a[d>>0]=1;d=h+40|0;c[d>>2]=0;d=h+32|0;c[d>>2]=0;d=h+36|0;c[d>>2]=0;d=h+64|0;a[d>>0]=1;d=h+60|0;c[d>>2]=0;d=h+52|0;c[d>>2]=0;d=h+56|0;c[d>>2]=0;d=h+84|0;a[d>>0]=1;d=h+80|0;c[d>>2]=0;d=h+72|0;c[d>>2]=0;d=h+76|0;c[d>>2]=0;c[b+196>>2]=h;return}function Rd(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0.0,u=0.0;s=l;l=l+64|0;c[s+32>>2]=c[e>>2];c[s+32+4>>2]=c[e+4>>2];c[s+32+8>>2]=c[e+8>>2];c[s+32+12>>2]=c[e+12>>2];c[s+32+16>>2]=c[f>>2];c[s+32+16+4>>2]=c[f+4>>2];c[s+32+16+8>>2]=c[f+8>>2];c[s+32+16+12>>2]=c[f+12>>2];do if((c[d+60>>2]|0)==2){h=c[d+48>>2]|0;Ug(b+64|0,h)|0;i=c[b+68>>2]|0;if(i|0){c[6486]=(c[6486]|0)+1;Uc(c[i+-4>>2]|0)}c[b+68>>2]=h;c[b+76>>2]=(c[b+76>>2]|0)+-1;h=c[b+8>>2]|0;if(!h){c[6485]=(c[6485]|0)+1;h=ic(63)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}i=h;j=i+44|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0))}else c[b+8>>2]=0;c[h+32>>2]=0;c[h+36>>2]=d;c[h+40>>2]=0;c[h>>2]=c[s+32>>2];c[h+4>>2]=c[s+32+4>>2];c[h+8>>2]=c[s+32+8>>2];c[h+12>>2]=c[s+32+12>>2];c[h+16>>2]=c[s+32+16>>2];c[h+20>>2]=c[s+32+20>>2];c[h+24>>2]=c[s+32+24>>2];c[h+28>>2]=c[s+32+28>>2];_e(b+4|0,c[b+4>>2]|0,h);c[b+16>>2]=(c[b+16>>2]|0)+1;c[d+48>>2]=h;j=1}else{c[b+168>>2]=(c[b+168>>2]|0)+1;r=c[d+48>>2]|0;if(((((+g[r>>2]<=+g[s+32+16>>2]?+g[r+16>>2]>=+g[s+32>>2]:0)?+g[r+4>>2]<=+g[s+32+20>>2]:0)?+g[r+20>>2]>=+g[s+32+4>>2]:0)?+g[r+8>>2]<=+g[s+32+24>>2]:0)?+g[r+24>>2]>=+g[s+32+8>>2]:0){k=+g[d+16>>2];t=+g[e>>2]-k;m=+g[d+20>>2];o=+g[e+4>>2]-m;n=+g[d+24>>2];p=+g[e+8>>2]-n;u=+g[b+140>>2];k=(+g[d+32>>2]-k)*.5*u;m=u*(+g[d+36>>2]-m)*.5;n=u*(+g[d+40>>2]-n)*.5;g[s+16>>2]=k;g[s+16+4>>2]=m;g[s+16+8>>2]=n;g[s+16+12>>2]=0.0;if(t<0.0)g[s+16>>2]=-k;if(o<0.0)g[s+16+4>>2]=-m;if(p<0.0)g[s+16+8>>2]=-n;if(!(ah(b+4|0,r,s+32|0,s+16|0,.05000000074505806)|0)){j=0;break}c[b+172>>2]=(c[b+172>>2]|0)+1;j=1;break}h=Ug(b+4|0,r)|0;a:do if(h){j=c[b+12>>2]|0;if((j|0)<=-1){h=c[b+4>>2]|0;break}if(j){q=0;while(1){i=c[h+32>>2]|0;q=q+1|0;if(!i)break a;if((q|0)>=(j|0)){h=i;break}else h=i}}}else h=0;while(0);c[r>>2]=c[s+32>>2];c[r+4>>2]=c[s+32+4>>2];c[r+8>>2]=c[s+32+8>>2];c[r+12>>2]=c[s+32+12>>2];c[r+16>>2]=c[s+32+16>>2];c[r+20>>2]=c[s+32+20>>2];c[r+24>>2]=c[s+32+24>>2];c[r+28>>2]=c[s+32+28>>2];_e(b+4|0,h,r);c[b+172>>2]=(c[b+172>>2]|0)+1;j=1}while(0);h=c[d+52>>2]|0;if(!h)h=b+124+(c[d+60>>2]<<2)|0;else h=h+56|0;c[h>>2]=c[d+56>>2];h=c[d+56>>2]|0;if(h|0)c[h+52>>2]=c[d+52>>2];c[d+16>>2]=c[e>>2];c[d+16+4>>2]=c[e+4>>2];c[d+16+8>>2]=c[e+8>>2];c[d+16+12>>2]=c[e+12>>2];c[d+32>>2]=c[f>>2];c[d+32+4>>2]=c[f+4>>2];c[d+32+8>>2]=c[f+8>>2];c[d+32+12>>2]=c[f+12>>2];h=c[b+144>>2]|0;c[d+60>>2]=h;c[d+52>>2]=0;c[d+56>>2]=c[b+124+(h<<2)>>2];i=c[b+124+(h<<2)>>2]|0;if(i|0)c[i+52>>2]=d;c[b+124+(h<<2)>>2]=d;if(!j){l=s;return}a[b+194>>0]=1;if(a[b+193>>0]|0){l=s;return}c[s>>2]=8996;c[s+4>>2]=b;ge(b+64|0,c[b+64>>2]|0,c[d+48>>2]|0,s);ge(b+4|0,c[b+4>>2]|0,c[d+48>>2]|0,s);l=s;return}function Sd(d,e,f,h,i){d=d|0;e=e|0;f=+f;h=+h;i=+i;var j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0;q=l;l=l+240|0;o=+g[d+96>>2]+h;p=+g[d+100>>2]+i;g[d+112>>2]=+g[d+92>>2]+f;g[d+116>>2]=o;g[d+120>>2]=p;g[d+124>>2]=0.0;c[q+168>>2]=1065353216;c[q+168+4>>2]=0;c[q+168+4+4>>2]=0;c[q+168+4+8>>2]=0;c[q+168+4+12>>2]=0;c[q+168+20>>2]=1065353216;c[q+168+24>>2]=0;c[q+168+24+4>>2]=0;c[q+168+24+8>>2]=0;c[q+168+24+12>>2]=0;c[q+168+40>>2]=1065353216;j=q+168+44|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;c[q+104>>2]=1065353216;c[q+104+4>>2]=0;c[q+104+4+4>>2]=0;c[q+104+4+8>>2]=0;c[q+104+4+12>>2]=0;c[q+104+20>>2]=1065353216;c[q+104+24>>2]=0;c[q+104+24+4>>2]=0;c[q+104+24+8>>2]=0;c[q+104+24+12>>2]=0;c[q+104+40>>2]=1065353216;j=q+104+44|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;p=1.0;j=10;while(1){if((j|0)<=0){j=14;break}j=j+-1|0;c[q+168+48>>2]=c[d+92>>2];c[q+168+48+4>>2]=c[d+92+4>>2];c[q+168+48+8>>2]=c[d+92+8>>2];c[q+168+48+12>>2]=c[d+92+12>>2];c[q+104+48>>2]=c[d+112>>2];c[q+104+48+4>>2]=c[d+112+4>>2];c[q+104+48+8>>2]=c[d+112+8>>2];c[q+104+48+12>>2]=c[d+112+12>>2];n=+g[d+92>>2]-+g[d+112>>2];o=+g[d+96>>2]-+g[d+116>>2];f=+g[d+100>>2]-+g[d+120>>2];r=c[d+8>>2]|0;g[q+4>>2]=1.0;c[q+76>>2]=0;c[q+12>>2]=0;c[q+12+4>>2]=0;c[q+12+8>>2]=0;c[q+12+12>>2]=0;c[q+12+16>>2]=0;c[q+12+20>>2]=0;c[q+12+24>>2]=0;c[q+12+28>>2]=0;c[q>>2]=5064;c[q+80>>2]=r;g[q+84>>2]=n;g[q+88>>2]=o;g[q+92>>2]=f;g[q+96>>2]=0.0;g[q+100>>2]=0.0;r=c[r+188>>2]|0;b[q+8>>1]=b[r+4>>1]|0;b[q+10>>1]=b[r+6>>1]|0;r=c[d+12>>2]|0;f=+Db[c[(c[r>>2]|0)+48>>2]&15](r);r=c[d+12>>2]|0;kb[c[(c[r>>2]|0)+44>>2]&31](r,f+ +g[d+56>>2]);if(!(a[d+170>>0]|0))zd(e,c[d+12>>2]|0,q+168|0,q+104|0,q,+g[e+56>>2]);else id(c[d+8>>2]|0,c[d+12>>2]|0,q+168|0,q+104|0,q,+g[e+56>>2]);r=c[d+12>>2]|0;kb[c[(c[r>>2]|0)+44>>2]&31](r,f);o=+g[q+4>>2];p=p-o;if(o<1.0){h=+g[d+112>>2];m=+g[d+92>>2];i=+g[d+116>>2];n=+g[d+96>>2];k=+g[d+120>>2];o=+g[d+100>>2];f=+G(+((h-m)*(h-m)+(i-n)*(i-n)+(k-o)*(k-o)));if(f>1.1920928955078125e-07){v=+g[q+44>>2];t=+g[q+48>>2];x=+g[q+52>>2];w=((h-m)*(1.0/f)*v+(i-n)*(1.0/f)*t+(k-o)*(1.0/f)*x)*2.0;u=(h-m)*(1.0/f)-v*w;s=(i-n)*(1.0/f)-t*w;w=(k-o)*(1.0/f)-x*w;k=1.0/+G(+(w*w+(u*u+s*s)));c[d+112>>2]=c[d+92>>2];c[d+112+4>>2]=c[d+92+4>>2];c[d+112+8>>2]=c[d+92+8>>2];c[d+112+12>>2]=c[d+92+12>>2];h=f*(k*u-v*(x*k*w+(v*k*u+t*k*s)))+ +g[d+112>>2];g[d+112>>2]=h;i=f*(k*s-t*(x*k*w+(v*k*u+t*k*s)))+ +g[d+116>>2];g[d+116>>2]=i;k=f*(k*w-x*(x*k*w+(v*k*u+t*k*s)))+ +g[d+120>>2];g[d+120>>2]=k;f=i}else f=i;i=h-m;h=f-n;f=k-o;if(!(i*i+h*h+f*f>1.1920928955078125e-07)){j=12;break}x=1.0/+G(+(i*i+h*h+f*f));if(i*x*+g[d+76>>2]+h*x*+g[d+80>>2]+f*x*+g[d+84>>2]<=0.0){j=12;break}}else{c[d+92>>2]=c[d+112>>2];c[d+92+4>>2]=c[d+112+4>>2];c[d+92+8>>2]=c[d+112+8>>2];c[d+92+12>>2]=c[d+112+12>>2]}if(!(p>.009999999776482582)){j=14;break}}if((j|0)==12){l=q;return}else if((j|0)==14){l=q;return}}function Td(b,d){b=b|0;d=d|0;var e=0,f=0,h=0.0,i=0,j=0.0,k=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0;u=l;l=l+96|0;s=c[b+12>>2]|0;Zb[c[(c[s>>2]|0)+8>>2]&127](s,(c[b+8>>2]|0)+4|0,u+16|0,u);s=c[d+68>>2]|0;jb[c[(c[s>>2]|0)+16>>2]&31](s,c[(c[b+8>>2]|0)+188>>2]|0,u+16|0,u,c[d+24>>2]|0);s=c[d+24>>2]|0;Zb[c[(c[s>>2]|0)+32>>2]&127](s,c[(c[b+8>>2]|0)+284>>2]|0,d+28|0,s);s=c[b+8>>2]|0;c[b+92>>2]=c[s+52>>2];c[b+92+4>>2]=c[s+52+4>>2];c[b+92+8>>2]=c[s+52+8>>2];c[b+92+12>>2]=c[s+52+12>>2];s=c[s+284>>2]|0;if((pb[c[(c[s>>2]|0)+36>>2]&127](s)|0)>0){s=0;h=0.0;d=0;do{e=c[b+132>>2]|0;if((e|0)<0){if((c[b+136>>2]|0)<0){f=c[b+140>>2]|0;if(f|0){if(a[b+144>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[f+-4>>2]|0)}c[b+140>>2]=0}a[b+144>>0]=1;c[b+140>>2]=0;c[b+136>>2]=0}do{c[(c[b+140>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=0)}c[b+132>>2]=0;e=c[(c[b+8>>2]|0)+284>>2]|0;e=c[(pb[c[(c[e>>2]|0)+28>>2]&127](e)|0)+12>>2]|0;r=c[c[e+(s<<4)>>2]>>2]|0;f=c[c[e+(s<<4)+4>>2]>>2]|0;if(!((r|0)!=0?(c[r+204>>2]&4|0)!=0:0))t=13;do if((t|0)==13){t=0;if(f|0?c[f+204>>2]&4|0:0)break;e=c[e+(s<<4)+8>>2]|0;if(e|0)nb[c[(c[e>>2]|0)+16>>2]&127](e,b+128|0);q=c[b+132>>2]|0;if((q|0)>0){o=c[b+140>>2]|0;p=c[b+8>>2]|0;r=0;do{m=c[o+(r<<2)>>2]|0;n=(c[m+740>>2]|0)==(p|0)?-1.0:1.0;e=c[m+748>>2]|0;if((e|0)>0){k=0;do{j=+g[m+4+(k*184|0)+80>>2];if(j<0.0){i=m+4+(k*184|0)+64|0;if(j<h){d=m+4+(k*184|0)+68|0;v=n*+g[d>>2];f=m+4+(k*184|0)+72|0;h=n*+g[f>>2];g[b+152>>2]=n*+g[i>>2];g[b+156>>2]=v;g[b+160>>2]=h;g[b+164>>2]=0.0;e=c[m+748>>2]|0;h=j}else{d=m+4+(k*184|0)+68|0;f=m+4+(k*184|0)+72|0}w=j*n*+g[d>>2]*.20000000298023224;v=j*n*+g[f>>2]*.20000000298023224;g[b+92>>2]=j*n*+g[i>>2]*.20000000298023224+ +g[b+92>>2];g[b+96>>2]=w+ +g[b+96>>2];g[b+100>>2]=v+ +g[b+100>>2];d=1}k=k+1|0}while((k|0)<(e|0))}r=r+1|0}while((r|0)!=(q|0))}}while(0);s=s+1|0;r=c[(c[b+8>>2]|0)+284>>2]|0}while((s|0)<(pb[c[(c[r>>2]|0)+36>>2]&127](r)|0))}else d=0;t=c[b+8>>2]|0;c[u+32>>2]=c[t+4>>2];c[u+32+4>>2]=c[t+4+4>>2];c[u+32+8>>2]=c[t+4+8>>2];c[u+32+12>>2]=c[t+4+12>>2];q=u+32+16|0;c[q>>2]=c[t+20>>2];c[q+4>>2]=c[t+20+4>>2];c[q+8>>2]=c[t+20+8>>2];c[q+12>>2]=c[t+20+12>>2];r=u+32+32|0;c[r>>2]=c[t+36>>2];c[r+4>>2]=c[t+36+4>>2];c[r+8>>2]=c[t+36+8>>2];c[r+12>>2]=c[t+36+12>>2];s=u+32+48|0;c[s>>2]=c[b+92>>2];c[s+4>>2]=c[b+92+4>>2];c[s+8>>2]=c[b+92+8>>2];c[s+12>>2]=c[b+92+12>>2];c[t+260>>2]=(c[t+260>>2]|0)+1;c[t+4>>2]=c[u+32>>2];c[t+4+4>>2]=c[u+32+4>>2];c[t+4+8>>2]=c[u+32+8>>2];c[t+4+12>>2]=c[u+32+12>>2];c[t+20>>2]=c[q>>2];c[t+20+4>>2]=c[q+4>>2];c[t+20+8>>2]=c[q+8>>2];c[t+20+12>>2]=c[q+12>>2];c[t+36>>2]=c[r>>2];c[t+36+4>>2]=c[r+4>>2];c[t+36+8>>2]=c[r+8>>2];c[t+36+12>>2]=c[r+12>>2];c[t+52>>2]=c[s>>2];c[t+52+4>>2]=c[s+4>>2];c[t+52+8>>2]=c[s+8>>2];c[t+52+12>>2]=c[s+12>>2];l=u;return d|0}function Ud(b){b=b|0;var d=0.0,e=0,f=0,h=0,i=0,j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0;q=l;l=l+80|0;if((pb[c[(c[b>>2]|0)+20>>2]&127](b)|0?(j=pb[c[(c[b>>2]|0)+20>>2]&127](b)|0,(pb[c[(c[j>>2]|0)+48>>2]&127](j)|0)&8|0):0)?(f=c[b+24>>2]|0,f=pb[c[(c[f>>2]|0)+36>>2]&127](f)|0,c[q+64>>2]=1065353216,c[q+64+4>>2]=1065353216,c[q+64+8>>2]=0,g[q+64+12>>2]=0.0,(f|0)>0):0){i=0;do{h=c[b+24>>2]|0;h=Kb[c[(c[h>>2]|0)+40>>2]&31](h,i)|0;e=c[h+748>>2]|0;if((e|0)>0){j=0;do{r=pb[c[(c[b>>2]|0)+20>>2]&127](b)|0;mb[c[(c[r>>2]|0)+32>>2]&0](r,h+4+(j*184|0)+32|0,h+4+(j*184|0)+64|0,+g[h+4+(j*184|0)+80>>2],c[h+4+(j*184|0)+148>>2]|0,q+64|0);j=j+1|0}while((j|0)!=(e|0))}i=i+1|0}while((i|0)!=(f|0))}if(!(pb[c[(c[b>>2]|0)+20>>2]&127](b)|0)){l=q;return}r=pb[c[(c[b>>2]|0)+20>>2]&127](b)|0;if(!((pb[c[(c[r>>2]|0)+48>>2]&127](r)|0)&3)){l=q;return}if((c[b+8>>2]|0)<=0){l=q;return}j=0;do{i=c[(c[b+16>>2]|0)+(j<<2)>>2]|0;if(!(c[i+204>>2]&32)){if(pb[c[(c[b>>2]|0)+20>>2]&127](b)|0?(r=pb[c[(c[b>>2]|0)+20>>2]&127](b)|0,(pb[c[(c[r>>2]|0)+48>>2]&127](r)|0)&1|0):0){c[q+64>>2]=1065353216;c[q+64+4>>2]=1065353216;c[q+64+8>>2]=1065353216;g[q+64+12>>2]=0.0;switch(c[i+216>>2]|0){case 1:{e=1065353216;f=1065353216;h=1065353216;break}case 2:{e=0;f=1065353216;h=0;break}case 3:{e=1065353216;f=1065353216;h=0;break}case 4:{e=0;f=0;h=1065353216;break}case 5:{e=0;f=1065353216;h=1065353216;break}default:{e=0;f=0;h=1065353216}}c[q+64>>2]=h;c[q+64+4>>2]=f;c[q+64+8>>2]=e;g[q+64+12>>2]=0.0;Zb[c[(c[b>>2]|0)+28>>2]&127](b,i+4|0,c[i+192>>2]|0,q+64|0)}e=c[b+72>>2]|0;if(e|0?(pb[c[(c[e>>2]|0)+48>>2]&127](e)|0)&2|0:0){c[q+32>>2]=1065353216;c[q+32+4>>2]=0;c[q+32+8>>2]=0;g[q+32+12>>2]=0.0;r=c[i+192>>2]|0;Zb[c[(c[r>>2]|0)+8>>2]&127](r,i+4|0,q+64|0,q+48|0);g[q+64>>2]=+g[q+64>>2]+-.019999999552965164;g[q+64+4>>2]=+g[q+64+4>>2]+-.019999999552965164;g[q+64+8>>2]=+g[q+64+8>>2]+-.019999999552965164;g[q+48>>2]=+g[q+48>>2]+.019999999552965164;g[q+48+4>>2]=+g[q+48+4>>2]+.019999999552965164;g[q+48+8>>2]=+g[q+48+8>>2]+.019999999552965164;do if((a[b+44>>0]|0?(c[i+236>>2]|0)==2:0)?(c[i+204>>2]&3|0)==0:0){r=c[i+192>>2]|0;Zb[c[(c[r>>2]|0)+8>>2]&127](r,i+68|0,q+16|0,q);d=+g[q+16>>2]+-.019999999552965164;g[q+16>>2]=d;m=+g[q+16+4>>2]+-.019999999552965164;g[q+16+4>>2]=m;k=+g[q+16+8>>2]+-.019999999552965164;g[q+16+8>>2]=k;n=+g[q>>2]+.019999999552965164;g[q>>2]=n;p=+g[q+4>>2]+.019999999552965164;g[q+4>>2]=p;o=+g[q+8>>2]+.019999999552965164;g[q+8>>2]=o;if(d<+g[q+64>>2])g[q+64>>2]=d;if(m<+g[q+64+4>>2])g[q+64+4>>2]=m;if(k<+g[q+64+8>>2])g[q+64+8>>2]=k;d=+g[q+16+12>>2];if(d<+g[q+64+12>>2])g[q+64+12>>2]=d;if(+g[q+48>>2]<n)g[q+48>>2]=n;if(+g[q+48+4>>2]<p)g[q+48+4>>2]=p;if(+g[q+48+8>>2]<o)g[q+48+8>>2]=o;d=+g[q+12>>2];if(!(+g[q+48+12>>2]<d))break;g[q+48+12>>2]=d}while(0);r=c[b+72>>2]|0;Zb[c[(c[r>>2]|0)+52>>2]&127](r,q+64|0,q+48|0,q+32|0)}}j=j+1|0}while((j|0)<(c[b+8>>2]|0));l=q;return}function Vd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;var h=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0,H=0;B=l;l=l+192|0;y=c[b+4>>2]|0;s=+g[y+752>>2];if(s<f){l=B;return}A=c[y+740>>2]|0;x=(c[b+8>>2]|0)+8|0;z=c[x>>2]|0;j=+g[e>>2];k=+g[d>>2]*f+j;m=+g[e+4>>2];n=+g[d+4>>2]*f+m;o=+g[e+8>>2];r=+g[d+8>>2]*f+o;w=(c[b+12>>2]|0)+8|0;p=c[w>>2]|0;h=+g[p+52>>2];if((A|0)!=(z|0)){C=n-+g[p+56>>2];t=r-+g[p+60>>2];q=z;i=+g[z+52>>2];u=(k-h)*+g[p+4>>2]+C*+g[p+20>>2]+t*+g[p+36>>2];v=(k-h)*+g[p+8>>2]+C*+g[p+24>>2]+t*+g[p+40>>2];t=(k-h)*+g[p+12>>2]+C*+g[p+28>>2]+t*+g[p+44>>2]}else{D=k-+g[A+52>>2];C=n-+g[A+56>>2];t=r-+g[A+60>>2];q=p;i=h;u=D*+g[A+4>>2]+C*+g[A+20>>2]+t*+g[A+36>>2];v=D*+g[A+8>>2]+C*+g[A+24>>2]+t*+g[A+40>>2];t=D*+g[A+12>>2]+C*+g[A+28>>2]+t*+g[A+44>>2]}j=j-i;m=m-+g[q+56>>2];D=o-+g[q+60>>2];o=j*+g[q+4>>2]+m*+g[q+20>>2]+D*+g[q+36>>2];C=j*+g[q+8>>2]+m*+g[q+24>>2]+D*+g[q+40>>2];D=j*+g[q+12>>2]+m*+g[q+28>>2]+D*+g[q+44>>2];g[B>>2]=u;g[B+4>>2]=v;g[B+8>>2]=t;g[B+12>>2]=0.0;g[B+16>>2]=o;g[B+20>>2]=C;g[B+24>>2]=D;g[B+28>>2]=0.0;c[B+64>>2]=c[d>>2];c[B+64+4>>2]=c[d+4>>2];c[B+64+8>>2]=c[d+8>>2];c[B+64+12>>2]=c[d+12>>2];g[B+80>>2]=f;g[B+84>>2]=0.0;g[B+88>>2]=0.0;g[B+92>>2]=0.0;c[B+112>>2]=0;a[B+116>>0]=0;c[B+120>>2]=0;c[B+120+4>>2]=0;c[B+120+8>>2]=0;c[B+120+12>>2]=0;c[B+120+16>>2]=0;c[B+120+20>>2]=0;c[B+120+24>>2]=0;c[B+120+28>>2]=0;g[B+48>>2]=k;g[B+52>>2]=n;g[B+56>>2]=r;g[B+60>>2]=0.0;c[B+32>>2]=c[e>>2];c[B+32+4>>2]=c[e+4>>2];c[B+32+8>>2]=c[e+8>>2];c[B+32+12>>2]=c[e+12>>2];d=c[y+748>>2]|0;if((d|0)>0){e=0;p=-1;k=s*s;while(1){h=+g[y+4+(e*184|0)>>2]-u;i=+g[y+4+(e*184|0)+4>>2]-v;j=+g[y+4+(e*184|0)+8>>2]-t;q=h*h+i*i+j*j<k;p=q?e:p;e=e+1|0;if((e|0)==(d|0))break;else k=q?h*h+i*i+j*j:k}}else p=-1;e=c[x>>2]|0;x=c[w>>2]|0;h=+g[e+224>>2]*+g[x+224>>2];h=h<-10.0?-10.0:h;g[B+84>>2]=h>10.0?10.0:h;g[B+92>>2]=+g[e+228>>2]*+g[x+228>>2];h=+g[e+232>>2]*+g[x+232>>2];h=h<-10.0?-10.0:h;g[B+88>>2]=h>10.0?10.0:h;h=+g[B+72>>2];x=+F(+h)>.7071067690849304;j=+g[B+68>>2];if(x){i=1.0/+G(+(h*h+j*j));m=+g[B+64>>2];k=-(m*i*j);m=m*-(i*h);n=i*j;o=(h*h+j*j)*i;i=-(i*h);h=0.0}else{i=+g[B+64>>2];D=1.0/+G(+(i*i+j*j));k=h*-(j*D);m=(i*i+j*j)*D;n=0.0;o=-(h*D*i);i=D*i;h=-(j*D)}g[B+152>>2]=h;g[B+156>>2]=i;g[B+160>>2]=n;g[B+168>>2]=o;g[B+172>>2]=k;g[B+176>>2]=m;w=c[b+20>>2]|0;e=c[b+16>>2]|0;x=c[b+28>>2]|0;b=c[b+24>>2]|0;c[B+96>>2]=(A|0)!=(z|0)?w:e;c[B+100>>2]=(A|0)!=(z|0)?e:w;c[B+104>>2]=(A|0)!=(z|0)?x:b;c[B+108>>2]=(A|0)!=(z|0)?b:x;if((p|0)>-1){b=y+4+(p*184|0)+148|0;A=c[b>>2]|0;d=y+4+(p*184|0)+120|0;q=c[d>>2]|0;w=y+4+(p*184|0)+124|0;e=c[w>>2]|0;z=y+4+(p*184|0)+128|0;x=c[z>>2]|0;E=y+4+(p*184|0)+112|0;H=c[E>>2]|0;_h(y+4+(p*184|0)|0,B|0,184)|0;c[E>>2]=H;c[d>>2]=q;c[w>>2]=e;c[z>>2]=x;c[b>>2]=A}else af(y,B)|0;l=B;return}function Wd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0;p=l;l=l+144|0;if((c[a+16>>2]|0)<=0){o=a+76|0;c[o>>2]=c[b>>2];c[o+4>>2]=c[b+4>>2];c[o+8>>2]=c[b+8>>2];c[o+12>>2]=c[b+12>>2];b=c[a>>2]|0;b=b+68|0;b=c[b>>2]|0;lb[b&511](a);l=p;return}i=p+16+16|0;j=p+16+32|0;k=p+16+48|0;o=0;do{n=c[a+24>>2]|0;m=n+(o*80|0)|0;c[p+16>>2]=c[m>>2];c[p+16+4>>2]=c[m+4>>2];c[p+16+8>>2]=c[m+8>>2];c[p+16+12>>2]=c[m+12>>2];m=n+(o*80|0)+16|0;c[i>>2]=c[m>>2];c[i+4>>2]=c[m+4>>2];c[i+8>>2]=c[m+8>>2];c[i+12>>2]=c[m+12>>2];m=n+(o*80|0)+32|0;c[j>>2]=c[m>>2];c[j+4>>2]=c[m+4>>2];c[j+8>>2]=c[m+8>>2];c[j+12>>2]=c[m+12>>2];m=n+(o*80|0)+48|0;c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];n=c[n+(o*80|0)+64>>2]|0;n=pb[c[(c[n>>2]|0)+28>>2]&127](n)|0;c[p>>2]=c[n>>2];c[p+4>>2]=c[n+4>>2];c[p+8>>2]=c[n+8>>2];q=+g[p+4>>2]*+g[b+4>>2]/+g[a+80>>2];r=+g[p+8>>2]*+g[b+8>>2]/+g[a+84>>2];g[p>>2]=+g[p>>2]*+g[b>>2]/+g[a+76>>2];g[p+4>>2]=q;g[p+8>>2]=r;g[p+12>>2]=0.0;n=c[(c[a+24>>2]|0)+(o*80|0)+64>>2]|0;nb[c[(c[n>>2]|0)+24>>2]&127](n,p);r=+g[p+16+52>>2]*+g[b+4>>2]/+g[a+80>>2];q=+g[p+16+56>>2]*+g[b+8>>2]/+g[a+84>>2];g[p+16+48>>2]=+g[k>>2]*+g[b>>2]/+g[a+76>>2];g[p+16+52>>2]=r;g[p+16+56>>2]=q;g[p+16+60>>2]=0.0;n=c[a+24>>2]|0;m=n+(o*80|0)|0;c[m>>2]=c[p+16>>2];c[m+4>>2]=c[p+16+4>>2];c[m+8>>2]=c[p+16+8>>2];c[m+12>>2]=c[p+16+12>>2];m=n+(o*80|0)+16|0;c[m>>2]=c[i>>2];c[m+4>>2]=c[i+4>>2];c[m+8>>2]=c[i+8>>2];c[m+12>>2]=c[i+12>>2];m=n+(o*80|0)+32|0;c[m>>2]=c[j>>2];c[m+4>>2]=c[j+4>>2];c[m+8>>2]=c[j+8>>2];c[m+12>>2]=c[j+12>>2];n=n+(o*80|0)+48|0;c[n>>2]=c[k>>2];c[n+4>>2]=c[k+4>>2];c[n+8>>2]=c[k+8>>2];c[n+12>>2]=c[k+12>>2];if(c[a+64>>2]|0){m=c[(c[a+24>>2]|0)+(o*80|0)+64>>2]|0;Zb[c[(c[m>>2]|0)+8>>2]&127](m,p+16|0,p+128|0,p+112|0);c[p+80>>2]=c[p+128>>2];c[p+80+4>>2]=c[p+128+4>>2];c[p+80+8>>2]=c[p+128+8>>2];c[p+80+12>>2]=c[p+128+12>>2];c[p+80+16>>2]=c[p+112>>2];c[p+80+16+4>>2]=c[p+112+4>>2];c[p+80+16+8>>2]=c[p+112+8>>2];c[p+80+16+12>>2]=c[p+112+12>>2];m=c[a+64>>2]|0;n=c[(c[a+24>>2]|0)+(o*80|0)+76>>2]|0;d=Ug(m,n)|0;a:do if(d){f=c[m+8>>2]|0;if((f|0)<=-1){d=c[m>>2]|0;break}if(f){h=0;while(1){e=c[d+32>>2]|0;h=h+1|0;if(!e)break a;if((h|0)>=(f|0)){d=e;break}else d=e}}}else d=0;while(0);c[n>>2]=c[p+80>>2];c[n+4>>2]=c[p+80+4>>2];c[n+8>>2]=c[p+80+8>>2];c[n+12>>2]=c[p+80+12>>2];c[n+16>>2]=c[p+80+16>>2];c[n+20>>2]=c[p+80+20>>2];c[n+24>>2]=c[p+80+24>>2];c[n+28>>2]=c[p+80+28>>2];_e(m,d,n)}o=o+1|0}while((o|0)<(c[a+16>>2]|0));o=a+76|0;c[o>>2]=c[b>>2];c[o+4>>2]=c[b+4>>2];c[o+8>>2]=c[b+8>>2];c[o+12>>2]=c[b+12>>2];b=c[a>>2]|0;b=b+68|0;b=c[b>>2]|0;lb[b&511](a);l=p;return}function Xd(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0,X=0.0,Y=0.0;W=l;l=l+240|0;f=(a[b+8>>0]|0)!=0;h=f?e:d;f=f?d:e;S=+g[h+116>>2]-+g[h+52>>2];T=+g[h+120>>2]-+g[h+56>>2];U=+g[h+124>>2]-+g[h+60>>2];V=+g[h+252>>2];if(S*S+T*T+U*U<V*V){X=1.0;l=W;return +X}F=+g[f+4>>2];G=+g[f+20>>2];H=+g[f+36>>2];I=+g[f+8>>2];J=+g[f+24>>2];K=+g[f+40>>2];L=+g[f+12>>2];M=+g[f+28>>2];N=+g[f+44>>2];j=-+g[f+52>>2];k=-+g[f+56>>2];m=-+g[f+60>>2];O=+g[h+4>>2];P=+g[h+20>>2];Q=+g[h+36>>2];R=+g[h+8>>2];S=+g[h+24>>2];T=+g[h+40>>2];U=+g[h+12>>2];V=+g[h+28>>2];p=+g[h+44>>2];u=+g[h+52>>2];t=+g[h+56>>2];s=+g[h+60>>2];q=F*j+G*k+H*m+(F*u+G*t+H*s);r=I*j+J*k+K*m+(I*u+J*t+K*s);s=L*j+M*k+N*m+(L*u+M*t+N*s);t=+g[h+68>>2];u=+g[h+84>>2];v=+g[h+100>>2];w=+g[h+72>>2];x=+g[h+88>>2];y=+g[h+104>>2];z=+g[h+76>>2];A=+g[h+92>>2];B=+g[h+108>>2];n=+g[h+116>>2];o=+g[h+120>>2];E=+g[h+124>>2];C=F*j+G*k+H*m+(F*n+G*o+H*E);D=I*j+J*k+K*m+(I*n+J*o+K*E);E=L*j+M*k+N*m+(L*n+M*o+N*E);f=c[f+192>>2]|0;if(((c[f+4>>2]|0)+-21|0)>>>0>=9){X=1.0;l=W;return +X}g[W+16>>2]=q;g[W+16+4>>2]=r;g[W+16+8>>2]=s;g[W+16+12>>2]=0.0;if(C<q){g[W+16>>2]=C;i=C}else i=q;if(D<r){g[W+16+4>>2]=D;j=D}else j=r;if(E<s){g[W+16+8>>2]=E;k=E}else k=s;g[W>>2]=q;g[W+4>>2]=r;g[W+8>>2]=s;g[W+12>>2]=0.0;if(q<C){g[W>>2]=C;m=C}else m=q;if(r<D){g[W+4>>2]=D;n=D}else n=r;if(s<E){g[W+8>>2]=E;o=E}else o=s;Y=+g[h+248>>2];g[W+16>>2]=i-Y;g[W+16+4>>2]=j-Y;g[W+16+8>>2]=k-Y;g[W>>2]=Y+m;g[W+4>>2]=Y+n;g[W+8>>2]=Y+o;c[W+32>>2]=3796;g[W+32+4>>2]=F*O+G*P+H*Q;g[W+32+8>>2]=F*R+G*S+H*T;g[W+32+12>>2]=F*U+G*V+H*p;g[W+32+16>>2]=0.0;g[W+32+20>>2]=I*O+J*P+K*Q;g[W+32+24>>2]=I*R+J*S+K*T;g[W+32+28>>2]=I*U+J*V+K*p;g[W+32+32>>2]=0.0;g[W+32+36>>2]=L*O+M*P+N*Q;g[W+32+40>>2]=L*R+M*S+N*T;g[W+32+44>>2]=L*U+M*V+N*p;g[W+32+48>>2]=0.0;g[W+32+52>>2]=q;g[W+32+56>>2]=r;g[W+32+60>>2]=s;g[W+32+64>>2]=0.0;g[W+32+68>>2]=F*t+G*u+H*v;g[W+32+72>>2]=F*w+G*x+H*y;g[W+32+76>>2]=F*z+G*A+H*B;g[W+32+80>>2]=0.0;g[W+32+84>>2]=I*t+J*u+K*v;g[W+32+88>>2]=I*w+J*x+K*y;g[W+32+92>>2]=I*z+J*A+K*B;g[W+32+96>>2]=0.0;g[W+32+100>>2]=L*t+M*u+N*v;g[W+32+104>>2]=L*w+M*x+N*y;g[W+32+108>>2]=L*z+M*A+N*B;g[W+32+112>>2]=0.0;g[W+32+116>>2]=C;g[W+32+120>>2]=D;g[W+32+124>>2]=E;g[W+32+128>>2]=0.0;g[W+32+196>>2]=Y;c[W+32+200>>2]=c[h+244>>2];if(f|0?(Zb[c[(c[f>>2]|0)+64>>2]&127](f,W+32|0,W+16|0,W),X=+g[W+32+200>>2],X<+g[h+244>>2]):0){g[h+244>>2]=X;Y=X;l=W;return +Y}Y=1.0;l=W;return +Y}function Yd(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0,X=0.0,Y=0.0;W=l;l=l+240|0;f=(a[b+8>>0]|0)!=0;h=f?e:d;f=f?d:e;S=+g[h+116>>2]-+g[h+52>>2];T=+g[h+120>>2]-+g[h+56>>2];U=+g[h+124>>2]-+g[h+60>>2];V=+g[h+252>>2];if(S*S+T*T+U*U<V*V){X=1.0;l=W;return +X}F=+g[f+4>>2];G=+g[f+20>>2];H=+g[f+36>>2];I=+g[f+8>>2];J=+g[f+24>>2];K=+g[f+40>>2];L=+g[f+12>>2];M=+g[f+28>>2];N=+g[f+44>>2];j=-+g[f+52>>2];k=-+g[f+56>>2];m=-+g[f+60>>2];O=+g[h+4>>2];P=+g[h+20>>2];Q=+g[h+36>>2];R=+g[h+8>>2];S=+g[h+24>>2];T=+g[h+40>>2];U=+g[h+12>>2];V=+g[h+28>>2];p=+g[h+44>>2];u=+g[h+52>>2];t=+g[h+56>>2];s=+g[h+60>>2];q=F*j+G*k+H*m+(F*u+G*t+H*s);r=I*j+J*k+K*m+(I*u+J*t+K*s);s=L*j+M*k+N*m+(L*u+M*t+N*s);t=+g[h+68>>2];u=+g[h+84>>2];v=+g[h+100>>2];w=+g[h+72>>2];x=+g[h+88>>2];y=+g[h+104>>2];z=+g[h+76>>2];A=+g[h+92>>2];B=+g[h+108>>2];n=+g[h+116>>2];o=+g[h+120>>2];E=+g[h+124>>2];C=F*j+G*k+H*m+(F*n+G*o+H*E);D=I*j+J*k+K*m+(I*n+J*o+K*E);E=L*j+M*k+N*m+(L*n+M*o+N*E);f=c[f+192>>2]|0;if(((c[f+4>>2]|0)+-21|0)>>>0>=9){X=1.0;l=W;return +X}g[W+16>>2]=q;g[W+16+4>>2]=r;g[W+16+8>>2]=s;g[W+16+12>>2]=0.0;if(C<q){g[W+16>>2]=C;i=C}else i=q;if(D<r){g[W+16+4>>2]=D;j=D}else j=r;if(E<s){g[W+16+8>>2]=E;k=E}else k=s;g[W>>2]=q;g[W+4>>2]=r;g[W+8>>2]=s;g[W+12>>2]=0.0;if(q<C){g[W>>2]=C;m=C}else m=q;if(r<D){g[W+4>>2]=D;n=D}else n=r;if(s<E){g[W+8>>2]=E;o=E}else o=s;Y=+g[h+248>>2];g[W+16>>2]=i-Y;g[W+16+4>>2]=j-Y;g[W+16+8>>2]=k-Y;g[W>>2]=Y+m;g[W+4>>2]=Y+n;g[W+8>>2]=Y+o;c[W+32>>2]=5628;g[W+32+4>>2]=F*O+G*P+H*Q;g[W+32+8>>2]=F*R+G*S+H*T;g[W+32+12>>2]=F*U+G*V+H*p;g[W+32+16>>2]=0.0;g[W+32+20>>2]=I*O+J*P+K*Q;g[W+32+24>>2]=I*R+J*S+K*T;g[W+32+28>>2]=I*U+J*V+K*p;g[W+32+32>>2]=0.0;g[W+32+36>>2]=L*O+M*P+N*Q;g[W+32+40>>2]=L*R+M*S+N*T;g[W+32+44>>2]=L*U+M*V+N*p;g[W+32+48>>2]=0.0;g[W+32+52>>2]=q;g[W+32+56>>2]=r;g[W+32+60>>2]=s;g[W+32+64>>2]=0.0;g[W+32+68>>2]=F*t+G*u+H*v;g[W+32+72>>2]=F*w+G*x+H*y;g[W+32+76>>2]=F*z+G*A+H*B;g[W+32+80>>2]=0.0;g[W+32+84>>2]=I*t+J*u+K*v;g[W+32+88>>2]=I*w+J*x+K*y;g[W+32+92>>2]=I*z+J*A+K*B;g[W+32+96>>2]=0.0;g[W+32+100>>2]=L*t+M*u+N*v;g[W+32+104>>2]=L*w+M*x+N*y;g[W+32+108>>2]=L*z+M*A+N*B;g[W+32+112>>2]=0.0;g[W+32+116>>2]=C;g[W+32+120>>2]=D;g[W+32+124>>2]=E;g[W+32+128>>2]=0.0;g[W+32+196>>2]=Y;c[W+32+200>>2]=c[h+244>>2];if(f|0?(Zb[c[(c[f>>2]|0)+64>>2]&127](f,W+32|0,W+16|0,W),X=+g[W+32+200>>2],X<+g[h+244>>2]):0){g[h+244>>2]=X;Y=X;l=W;return +Y}Y=1.0;l=W;return +Y}function Zd(b,d,e,f,h,i,j,k,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0.0,s=0,t=0.0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0;if((j|0)<2|(k|0)<2){n=0;return n|0}u=S(k,j)|0;c[6485]=(c[6485]|0)+1;b=ic(u>>>0>268435455?18:(u<<4|3)+16|0)|0;if(!b)s=0;else{c[(b+4+15&-16)+-4>>2]=b;s=b+4+15&-16}q=UG(u>>>0>1073741823?-1:u<<2)|0;if((k|0)>0){p=0;do{v=+(p|0)/+(k+-1|0);y=+g[e>>2];y=y+v*(+g[h>>2]-y);z=+g[e+4>>2];z=z+v*(+g[h+4>>2]-z);A=+g[e+8>>2];A=A+v*(+g[h+8>>2]-A);r=+g[f>>2];t=+g[f+4>>2];w=+g[f+8>>2];if((j|0)>0){o=S(p,j)|0;x=r+v*(+g[i>>2]-r)-y;t=t+v*(+g[i+4>>2]-t)-z;r=w+v*(+g[i+8>>2]-w)-A;b=0;do{w=+(b|0)/+(j+-1|0);B=b+o|0;g[s+(B<<4)>>2]=y+x*w;g[s+(B<<4)+4>>2]=z+t*w;g[s+(B<<4)+8>>2]=A+r*w;g[s+(B<<4)+12>>2]=0.0;g[q+(B<<2)>>2]=1.0;b=b+1|0}while((b|0)!=(j|0))}p=p+1|0}while((p|0)!=(k|0))}c[6485]=(c[6485]|0)+1;b=ic(1271)|0;if(!b)b=0;else{c[(b+4+15&-16)+-4>>2]=b;b=b+4+15&-16}uc(b,d,u,s,q);if(l&1|0){g[(c[b+720>>2]|0)+88>>2]=0.0;a[b+924>>0]=1}if(l&2|0){g[(c[b+720>>2]|0)+((j+-1|0)*104|0)+88>>2]=0.0;a[b+924>>0]=1}if(l&4|0){B=S(k+-1|0,j)|0;g[(c[b+720>>2]|0)+(B*104|0)+88>>2]=0.0;a[b+924>>0]=1}if(l&8|0){B=j+-1+(S(k+-1|0,j)|0)|0;g[(c[b+720>>2]|0)+(B*104|0)+88>>2]=0.0;a[b+924>>0]=1}if(l&16|0){g[(c[b+720>>2]|0)+(((j+-1|0)/2|0)*104|0)+88>>2]=0.0;a[b+924>>0]=1}if(l&32|0){B=S((k+-1|0)/2|0,j)|0;g[(c[b+720>>2]|0)+(B*104|0)+88>>2]=0.0;a[b+924>>0]=1}if(l&64|0){B=j+-1+(S((k+-1|0)/2|0,j)|0)|0;g[(c[b+720>>2]|0)+(B*104|0)+88>>2]=0.0;a[b+924>>0]=1}if(l&128|0){B=((j+-1|0)/2|0)+(S(k+-1|0,j)|0)|0;g[(c[b+720>>2]|0)+(B*104|0)+88>>2]=0.0;a[b+924>>0]=1}if(l&256|0){B=(S((k+-1|0)/2|0,j)|0)+((j+-1|0)/2|0)|0;g[(c[b+720>>2]|0)+(B*104|0)+88>>2]=0.0;a[b+924>>0]=1}if(s|0){c[6486]=(c[6486]|0)+1;Uc(c[s+-4>>2]|0)}VG(q);if((k|0)<=0){B=b;return B|0}u=0;o=0;do{p=u;u=u+1|0;a:do if((j|0)>0){h=(u|0)<(k|0);i=S(p,j)|0;s=S(u,j)|0;t=+(k+-1-p|0)*(1.0/+(k+-1|0));r=+(k+-2-p|0)*(1.0/+(k+-1|0));p=0;while(1){f=p;while(1){p=f+1|0;q=f+i|0;if((p|0)<(j|0))Hf(b,q,p+i|0,0,0);if(h)break;if((p|0)<(j|0))f=p;else break a}e=f+s|0;Hf(b,q,e,0,0);if((p|0)>=(j|0))break a;Nf(b,q,e,p+s|0,0);if(!n)Nf(b,p+s|0,p+i|0,q,0);else{A=+(f|0)*(1.0/+(j+-1|0));g[n+(o<<2)>>2]=A;g[n+(o+1<<2)>>2]=t;g[n+(o+2<<2)>>2]=A;g[n+(o+3<<2)>>2]=r;z=+(p|0)*(1.0/+(j+-1|0));g[n+(o+4<<2)>>2]=z;g[n+(o+5<<2)>>2]=r;Nf(b,p+s|0,p+i|0,q,0);g[n+(o+6<<2)>>2]=z;g[n+(o+7<<2)>>2]=r;g[n+(o+8<<2)>>2]=z;g[n+(o+9<<2)>>2]=t;g[n+(o+10<<2)>>2]=A;g[n+(o+11<<2)>>2]=t}if(m)Hf(b,q,p+s|0,0,0);o=o+12|0}}while(0)}while((u|0)!=(k|0));return b|0}function _d(d,f,h,i,j,k){d=d|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0.0,m=0.0,n=0.0;c[d>>2]=8676;b[d+4>>1]=-2;b[d+6>>1]=-1;c[d+92>>2]=j;c[d+96>>2]=0;a[d+100>>0]=0;c[d+104>>2]=0;c[d+108>>2]=0;if(!j){c[6485]=(c[6485]|0)+1;j=ic(95)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}ri(j);c[d+92>>2]=j;a[d+100>>0]=1}if(!k){c[6485]=(c[6485]|0)+1;j=ic(43)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}k=j+4|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[j>>2]=8740;a[j+20>>0]=1;c[j+16>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[d+112>>2]=j;c[6485]=(c[6485]|0)+1;j=ic(215)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}Fh(j,c[d+112>>2]|0);c[d+108>>2]=j;a[j+193>>0]=1}c[d+8>>2]=c[f>>2];c[d+8+4>>2]=c[f+4>>2];c[d+8+8>>2]=c[f+8>>2];c[d+8+12>>2]=c[f+12>>2];c[d+24>>2]=c[h>>2];c[d+24+4>>2]=c[h+4>>2];c[d+24+8>>2]=c[h+8>>2];c[d+24+12>>2]=c[h+12>>2];n=+(e[d+6>>1]|0);m=n/(+g[d+28>>2]-+g[d+12>>2]);l=n/(+g[d+32>>2]-+g[d+16>>2]);g[d+40>>2]=n/(+g[d+24>>2]-+g[d+8>>2]);g[d+44>>2]=m;g[d+48>>2]=l;g[d+52>>2]=0.0;f=(i&65535)+1&65535;c[6485]=(c[6485]|0)+1;j=ic(f<<6|19)|0;if(!j)h=0;else{c[(j+4+15&-16)+-4>>2]=j;h=j+4+15&-16}if(f|0){j=h+(f<<6)|0;k=h;do{c[k>>2]=0;c[k+8>>2]=0;k=k+64|0}while((k|0)!=(j|0))}c[d+60>>2]=h;b[d+58>>1]=(i&65535)+1;b[d+56>>1]=0;b[d+64>>1]=1;if(f>>>0>1){j=1;k=1;do{b[h+(j<<6)+48>>1]=j+1;k=k+1<<16>>16;j=k&65535}while(j>>>0<f>>>0)}b[h+(f+-1<<6)+48>>1]=0;c[6485]=(c[6485]|0)+1;j=ic((f<<3|3)+16|0)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}c[d+80>>2]=j;c[d+68>>2]=j;c[6485]=(c[6485]|0)+1;j=ic((f<<3|3)+16|0)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}c[d+84>>2]=j;c[d+72>>2]=j;c[6485]=(c[6485]|0)+1;j=ic((f<<3|3)+16|0)|0;if(!j){h=0;i=d+88|0;c[i>>2]=h;i=d+76|0;c[i>>2]=h;h=c[d+60>>2]|0;c[h>>2]=0;f=h+48|0;b[f>>1]=0;f=h+54|0;b[f>>1]=1;f=c[d+68>>2]|0;b[f>>1]=0;k=f+2|0;b[k>>1]=0;k=b[d+6>>1]|0;j=f+4|0;b[j>>1]=k;f=f+6|0;b[f>>1]=0;f=h+50|0;b[f>>1]=0;f=h+56|0;b[f>>1]=1;f=c[d+72>>2]|0;b[f>>1]=0;j=f+2|0;b[j>>1]=0;j=b[d+6>>1]|0;k=f+4|0;b[k>>1]=j;f=f+6|0;b[f>>1]=0;f=h+52|0;b[f>>1]=0;h=h+58|0;b[h>>1]=1;i=c[i>>2]|0;b[i>>1]=0;h=i+2|0;b[h>>1]=0;h=b[d+6>>1]|0;f=i+4|0;b[f>>1]=h;i=i+6|0;b[i>>1]=0;c[d>>2]=8612;return}c[(j+4+15&-16)+-4>>2]=j;h=j+4+15&-16;i=d+88|0;c[i>>2]=h;i=d+76|0;c[i>>2]=h;h=c[d+60>>2]|0;c[h>>2]=0;f=h+48|0;b[f>>1]=0;f=h+54|0;b[f>>1]=1;f=c[d+68>>2]|0;b[f>>1]=0;k=f+2|0;b[k>>1]=0;k=b[d+6>>1]|0;j=f+4|0;b[j>>1]=k;f=f+6|0;b[f>>1]=0;f=h+50|0;b[f>>1]=0;f=h+56|0;b[f>>1]=1;f=c[d+72>>2]|0;b[f>>1]=0;j=f+2|0;b[j>>1]=0;j=b[d+6>>1]|0;k=f+4|0;b[k>>1]=j;f=f+6|0;b[f>>1]=0;f=h+52|0;b[f>>1]=0;h=h+58|0;b[h>>1]=1;i=c[i>>2]|0;b[i>>1]=0;h=i+2|0;b[h>>1]=0;h=b[d+6>>1]|0;f=i+4|0;b[f>>1]=h;i=i+6|0;b[i>>1]=0;c[d>>2]=8612;return}function $d(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=0;do{k=m;m=m+1|0;l=(m|0)==3;j=c[b+((l?0:m)<<2)>>2]|0;k=c[b+(((k+2|0)%3|0)<<2)>>2]|0;e=c[d>>2]|0;f=c[d+4>>2]|0;do if((e|0)==(k|0)&(f|0)==(j|0)){e=2;n=3}else{if(!((e|0)==(j|0)&(f|0)==(k|0))){g=c[d+8>>2]|0;if((f|0)==(k|0)&(g|0)==(j|0)){e=0;n=3;break}if(!((f|0)==(j|0)&(g|0)==(k|0))){if(!((g|0)!=(k|0)|(e|0)==(j|0)^1)){e=1;n=3;break}if((g|0)!=(j|0)|(e|0)==(k|0)^1){e=9524;break}else e=1}else e=0}else e=2;e=d+12+(e<<2)|0}while(0);if((n|0)==3){n=0;e=d+12+(e<<2)|0}i=c[e>>2]|0;e=c[b>>2]|0;f=c[b+4>>2]|0;do if((e|0)==(j|0)&(f|0)==(k|0)){e=2;n=11}else{if(!((e|0)==(k|0)&(f|0)==(j|0))){g=c[b+8>>2]|0;if((f|0)==(j|0)&(g|0)==(k|0)){e=0;n=11;break}if(!((f|0)==(k|0)&(g|0)==(j|0))){if(!((g|0)!=(j|0)|(e|0)==(k|0)^1)){e=1;n=11;break}if((g|0)!=(k|0)|(e|0)==(j|0)^1){e=9524;break}else e=1}else e=0}else e=2;e=b+12+(e<<2)|0}while(0);if((n|0)==11){n=0;e=b+12+(e<<2)|0}h=c[a+(c[e>>2]<<2)>>2]|0;e=c[h>>2]|0;f=c[h+4>>2]|0;do if((e|0)==(k|0)&(f|0)==(j|0)){e=2;n=19}else{if(!((e|0)==(j|0)&(f|0)==(k|0))){g=c[h+8>>2]|0;if((f|0)==(k|0)&(g|0)==(j|0)){e=0;n=19;break}if(!((f|0)==(j|0)&(g|0)==(k|0))){if(!((g|0)!=(k|0)|(e|0)==(j|0)^1)){e=1;n=19;break}if((g|0)!=(j|0)|(e|0)==(k|0)^1){e=9524;break}else e=1}else e=0}else e=2;e=h+12+(e<<2)|0}while(0);if((n|0)==19){n=0;e=h+12+(e<<2)|0}c[e>>2]=i;e=c[b>>2]|0;f=c[b+4>>2]|0;do if((e|0)==(j|0)&(f|0)==(k|0)){e=2;n=27}else{if(!((e|0)==(k|0)&(f|0)==(j|0))){g=c[b+8>>2]|0;if((f|0)==(j|0)&(g|0)==(k|0)){e=0;n=27;break}if(!((f|0)==(k|0)&(g|0)==(j|0))){if(!((g|0)!=(j|0)|(e|0)==(k|0)^1)){e=1;n=27;break}if((g|0)!=(k|0)|(e|0)==(j|0)^1){e=9524;break}else e=1}else e=0}else e=2;e=b+12+(e<<2)|0}while(0);if((n|0)==27){n=0;e=b+12+(e<<2)|0}i=c[e>>2]|0;e=c[d>>2]|0;f=c[d+4>>2]|0;do if((e|0)==(k|0)&(f|0)==(j|0)){e=2;n=35}else{if(!((e|0)==(j|0)&(f|0)==(k|0))){g=c[d+8>>2]|0;if((f|0)==(k|0)&(g|0)==(j|0)){e=0;n=35;break}if(!((f|0)==(j|0)&(g|0)==(k|0))){if(!((g|0)!=(k|0)|(e|0)==(j|0)^1)){e=1;n=35;break}if((g|0)!=(j|0)|(e|0)==(k|0)^1){e=9524;break}else e=1}else e=0}else e=2;e=d+12+(e<<2)|0}while(0);if((n|0)==35){n=0;e=d+12+(e<<2)|0}h=c[a+(c[e>>2]<<2)>>2]|0;e=c[h>>2]|0;f=c[h+4>>2]|0;do if((e|0)==(j|0)&(f|0)==(k|0)){e=2;n=43}else{if(!((e|0)==(k|0)&(f|0)==(j|0))){g=c[h+8>>2]|0;if((f|0)==(j|0)&(g|0)==(k|0)){e=0;n=43;break}if(!((f|0)==(k|0)&(g|0)==(j|0))){if(!((g|0)!=(j|0)|(e|0)==(k|0)^1)){e=1;n=43;break}if((g|0)!=(k|0)|(e|0)==(j|0)^1){e=9524;break}else e=1}else e=0}else e=2;e=h+12+(e<<2)|0}while(0);if((n|0)==43){n=0;e=h+12+(e<<2)|0}c[e>>2]=i}while(!l);return}function ae(b,d){b=b|0;d=+d;var e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;o=c[b+452>>2]|0;Vb[c[(c[o>>2]|0)+16>>2]&127](o,b+324|0,0);o=c[b+452>>2]|0;pb[c[(c[o>>2]|0)+12>>2]&127](o)|0;Mc(b,d);bj(11728);o=c[b+328>>2]|0;if((o|0)>0){e=c[b+336>>2]|0;k=0;f=0;do{n=c[(c[e+(f<<2)>>2]|0)+384>>2]|0;k=(k|0)>(n|0)?k:n;f=f+1|0}while((f|0)!=(o|0));f=0;while(1){e=c[e+(f<<2)>>2]|0;if((c[e+852>>2]|0)>0){h=0;do{n=c[(c[e+860>>2]|0)+(h<<2)>>2]|0;ub[c[(c[n>>2]|0)+8>>2]&15](n,+g[e+452>>2],k);h=h+1|0}while((h|0)<(c[e+852>>2]|0))}f=f+1|0;if((f|0)==(o|0))break;e=c[b+336>>2]|0}if((k|0)>0){i=0;do{j=0;do{e=c[(c[b+336>>2]|0)+(j<<2)>>2]|0;f=c[e+852>>2]|0;if((f|0)>0){h=0;do{n=c[(c[e+860>>2]|0)+(h<<2)>>2]|0;yb[c[(c[n>>2]|0)+12>>2]&7](n,+g[e+452>>2],1.0);h=h+1|0}while((h|0)!=(f|0))}j=j+1|0}while((j|0)!=(o|0));i=i+1|0}while((i|0)!=(k|0));n=0}else n=0;do{m=c[(c[b+336>>2]|0)+(n<<2)>>2]|0;if((c[m+852>>2]|0)>0){h=0;do{e=c[(c[m+860>>2]|0)+(h<<2)>>2]|0;kb[c[(c[e>>2]|0)+16>>2]&31](e,+g[m+452>>2]);e=c[m+860>>2]|0;f=c[e+(h<<2)>>2]|0;a:do if(a[f+152>>0]|0){if(!f)k=e;else{c[6486]=(c[6486]|0)+1;Uc(c[f+-4>>2]|0);k=c[m+860>>2]|0}e=h+-1|0;f=c[m+852>>2]|0;if((f|0)>0){j=c[k+(h<<2)>>2]|0;h=0;while(1){i=k+(h<<2)|0;if((c[i>>2]|0)==(j|0))break;h=h+1|0;if((h|0)>=(f|0))break a}if((h|0)<(f|0)){c[i>>2]=c[k+(f+-1<<2)>>2];c[(c[m+860>>2]|0)+(f+-1<<2)>>2]=j;c[m+852>>2]=f+-1;f=f+-1|0}}}else{f=c[m+852>>2]|0;e=h}while(0);h=e+1|0}while((h|0)<(f|0))}n=n+1|0}while((n|0)!=(o|0))}e=c[b+452>>2]|0;kb[c[(c[e>>2]|0)+28>>2]&31](e,+g[e+12>>2]*d);e=c[2380]|0;o=(c[e+16>>2]|0)+-1|0;c[e+16>>2]=o;do if(!o){if(c[e+4>>2]|0){Za(p|0,0)|0;o=c[6484]|0;g[e+8>>2]=+(((c[p+4>>2]|0)-(c[o+4>>2]|0)+(((c[p>>2]|0)-(c[o>>2]|0)|0)*1e6|0)-(c[e+12>>2]|0)|0)>>>0)/1.0e3+ +g[e+8>>2];if(c[e+16>>2]|0)break;e=c[2380]|0}c[2380]=c[e+20>>2]}while(0);e=c[b+328>>2]|0;if((e|0)<=0){b=c[b+452>>2]|0;o=c[b>>2]|0;o=o+32|0;o=c[o>>2]|0;lb[o&511](b);l=p;return}h=0;do{f=c[(c[b+336>>2]|0)+(h<<2)>>2]|0;if((c[f+388>>2]&112|0)==96){g[p+4>>2]=1.0;c[p+8+4>>2]=0;c[p+8+4+4>>2]=0;c[p+8+4+8>>2]=0;c[p>>2]=3668;c[p+8>>2]=c[f+456>>2];e=c[f+192>>2]|0;d=+Db[c[(c[e>>2]|0)+48>>2]&15](e);e=c[f+192>>2]|0;g[p+12>>2]=d+ +Db[c[(c[e>>2]|0)+48>>2]&15](e);c[p+16>>2]=c[f+316>>2];c[p+24>>2]=f;c[p+28>>2]=f;e=c[f+1048>>2]|0;se(e,e,p);e=c[b+328>>2]|0}h=h+1|0}while((h|0)<(e|0));b=c[b+452>>2]|0;o=c[b>>2]|0;o=o+32|0;o=c[o>>2]|0;lb[o&511](b);l=p;return}function be(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+352|0;e=c[d+36>>2]|0;c[m+288+4>>2]=35;c[m+288+8>>2]=0;c[m+288+12>>2]=1065353216;c[m+288+16>>2]=1065353216;c[m+288+20>>2]=1065353216;g[m+288+24>>2]=0.0;c[m+288>>2]=3564;c[m+288+52>>2]=e;g[m+288+44>>2]=0.0;j=c[b+28>>2]|0;d=c[j+4>>2]|0;if(c[(c[j+8>>2]|0)+204>>2]&3|0?a[e+376>>0]|0:0){l=m;return}if((a[22544]|0)==0?qy(22544)|0:0){if((a[22552]|0)==0?qy(22552)|0:0){c[5739]=1065353216;c[5740]=0;c[5741]=0;c[5742]=0;c[5743]=0;c[5744]=1065353216;c[5745]=0;c[5746]=0;c[5747]=0;c[5748]=0;c[5749]=1065353216;g[5750]=0.0}c[5723]=c[5739];c[5724]=c[5740];c[5725]=c[5741];c[5726]=c[5742];c[5727]=c[5743];c[5728]=c[5744];c[5729]=c[5745];c[5730]=c[5746];c[5731]=c[5747];c[5732]=c[5748];c[5733]=c[5749];c[5734]=c[5750];c[5735]=0;c[5736]=0;c[5737]=0;c[5738]=0}f=c[(c[b+28>>2]|0)+12>>2]|0;c[m>>2]=1065353216;c[m+4>>2]=0;c[m+8>>2]=0;g[m+12>>2]=0.0;if(!(!(td(m+288|0,22892,d,f,m,m+232|0)|0)?!(zc(m+288|0,22892,d,f,m,m+232|0,0)|0):0))h=11;if((h|0)==11?(j=m+16+4|0,a[m+16+152>>0]=0,c[j>>2]=0,c[j+4>>2]=0,c[j+8>>2]=0,c[j+12>>2]=0,c[j+16>>2]=0,c[j+20>>2]=0,c[m+16>>2]=3384,j=c[(c[b+28>>2]|0)+8>>2]|0,Zc(b,m+232|0,e,0,0,0,(c[j+236>>2]&2|0)==0?0:j,j,m+16|0)|0):0){c[6485]=(c[6485]|0)+1;d=ic(235)|0;if(!d)j=0;else{c[(d+4+15&-16)+-4>>2]=d;j=d+4+15&-16}d=j+152|0;Lk(j+4|0,0,152)|0;c[j>>2]=3384;e=j+4|0;f=m+16+4|0;h=e+100|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(h|0));e=j+104|0;c[e>>2]=c[m+16+104>>2];c[e+4>>2]=c[m+16+104+4>>2];c[e+8>>2]=c[m+16+104+8>>2];c[e+12>>2]=c[m+16+104+12>>2];e=j+120|0;c[e>>2]=c[m+16+120>>2];c[e+4>>2]=c[m+16+120+4>>2];c[e+8>>2]=c[m+16+120+8>>2];c[e+12>>2]=c[m+16+120+12>>2];e=j+136|0;c[e>>2]=c[m+16+136>>2];c[e+4>>2]=c[m+16+136+4>>2];c[e+8>>2]=c[m+16+136+8>>2];c[e+12>>2]=c[m+16+136+12>>2];a[d>>0]=a[m+16+152>>0]|0;e=j+156|0;f=m+16+156|0;h=e+60|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(h|0));h=c[b+24>>2]|0;i=j;d=c[h+852>>2]|0;if((d|0)==(c[h+856>>2]|0)?(k=d|0?d<<1:1,(d|0)<(k|0)):0){if(!k)f=0;else{c[6485]=(c[6485]|0)+1;d=ic((k<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}f=d;d=c[h+852>>2]|0}if((d|0)>0){e=0;do{c[f+(e<<2)>>2]=c[(c[h+860>>2]|0)+(e<<2)>>2];e=e+1|0}while((e|0)!=(d|0))}e=c[h+860>>2]|0;if(e){if(a[h+864>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[e+-4>>2]|0);d=c[h+852>>2]|0}c[h+860>>2]=0}a[h+864>>0]=1;c[h+860>>2]=f;c[h+856>>2]=k}c[(c[h+860>>2]|0)+(d<<2)>>2]=i;c[h+852>>2]=d+1;d=c[b+24>>2]|0;if(!(c[(c[(c[b+28>>2]|0)+8>>2]|0)+204>>2]&3)){b=j+64|0;g[b>>2]=+g[d+340>>2]*+g[b>>2];d=d+352|0}else{b=j+64|0;g[b>>2]=+g[d+344>>2]*+g[b>>2];d=d+356|0}b=j+68|0;g[b>>2]=+g[d>>2]*+g[b>>2]}l=m;return}function ce(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=c[b>>2]|0;m=c[b+4>>2]|0;i=c[b+8>>2]|0;n=c[a+4>>2]|0;p=zh(a,d,m,i)|0;c[p+12>>2]=c[b+12>>2];c[p+16>>2]=n+1;c[p+20>>2]=n+2;h=c[(c[a+12>>2]|0)+(c[b+12>>2]<<2)>>2]|0;e=c[h>>2]|0;f=c[h+4>>2]|0;do if((e|0)==(m|0)&(f|0)==(i|0)){e=2;o=2}else{if(!((e|0)==(i|0)&(f|0)==(m|0))){g=c[h+8>>2]|0;if((f|0)==(m|0)&(g|0)==(i|0)){e=0;o=2;break}if(!((f|0)==(i|0)&(g|0)==(m|0))){if(!((g|0)!=(m|0)|(e|0)==(i|0)^1)){e=1;o=2;break}if((g|0)!=(i|0)|(e|0)==(m|0)^1){e=9524;break}else e=1}else e=0}else e=2;e=h+12+(e<<2)|0}while(0);if((o|0)==2)e=h+12+(e<<2)|0;c[e>>2]=n;k=zh(a,d,i,l)|0;c[k+12>>2]=c[b+12+4>>2];c[k+16>>2]=n+2;c[k+20>>2]=n;h=c[(c[a+12>>2]|0)+(c[b+12+4>>2]<<2)>>2]|0;e=c[h>>2]|0;f=c[h+4>>2]|0;do if((e|0)==(i|0)&(f|0)==(l|0)){e=2;o=10}else{if(!((e|0)==(l|0)&(f|0)==(i|0))){g=c[h+8>>2]|0;if((f|0)==(i|0)&(g|0)==(l|0)){e=0;o=10;break}if(!((f|0)==(l|0)&(g|0)==(i|0))){if(!((g|0)!=(i|0)|(e|0)==(l|0)^1)){e=1;o=10;break}if((g|0)!=(l|0)|(e|0)==(i|0)^1){e=9524;break}else e=1}else e=0}else e=2;e=h+12+(e<<2)|0}while(0);if((o|0)==10)e=h+12+(e<<2)|0;c[e>>2]=n+1;j=zh(a,d,l,m)|0;c[j+12>>2]=c[b+12+8>>2];c[j+16>>2]=n;c[j+20>>2]=n+1;e=c[a+12>>2]|0;i=c[e+(c[b+12+8>>2]<<2)>>2]|0;f=c[i>>2]|0;g=c[i+4>>2]|0;do if((f|0)==(l|0)&(g|0)==(m|0)){f=2;o=18}else{if(!((f|0)==(m|0)&(g|0)==(l|0))){h=c[i+8>>2]|0;if((g|0)==(l|0)&(h|0)==(m|0)){f=0;o=18;break}if(!((g|0)==(m|0)&(h|0)==(l|0))){if(!((h|0)!=(l|0)|(f|0)==(m|0)^1)){f=1;o=18;break}if((h|0)!=(m|0)|(f|0)==(l|0)^1){f=9524;break}else f=1}else f=0}else f=2;f=i+12+(f<<2)|0}while(0);if((o|0)==18)f=i+12+(f<<2)|0;c[f>>2]=n+2;f=c[e+(c[p+12>>2]<<2)>>2]|0;if(!(((c[f>>2]|0)!=(d|0)?(c[f+4>>2]|0)!=(d|0):0)?(c[f+8>>2]|0)!=(d|0):0)){$d(e,p,f);c[(c[a+12>>2]|0)+(c[p+24>>2]<<2)>>2]=0;c[6486]=(c[6486]|0)+1;Uc(c[p+-4>>2]|0);c[(c[a+12>>2]|0)+(c[f+24>>2]<<2)>>2]=0;if(f|0){c[6486]=(c[6486]|0)+1;Uc(c[f+-4>>2]|0)}e=c[a+12>>2]|0}f=c[e+(c[k+12>>2]<<2)>>2]|0;if(!(((c[f>>2]|0)!=(d|0)?(c[f+4>>2]|0)!=(d|0):0)?(c[f+8>>2]|0)!=(d|0):0)){$d(e,k,f);c[(c[a+12>>2]|0)+(c[k+24>>2]<<2)>>2]=0;c[6486]=(c[6486]|0)+1;Uc(c[k+-4>>2]|0);c[(c[a+12>>2]|0)+(c[f+24>>2]<<2)>>2]=0;if(f|0){c[6486]=(c[6486]|0)+1;Uc(c[f+-4>>2]|0)}e=c[a+12>>2]|0}f=c[e+(c[j+12>>2]<<2)>>2]|0;if(!(((c[f>>2]|0)!=(d|0)?(c[f+4>>2]|0)!=(d|0):0)?(c[f+8>>2]|0)!=(d|0):0)){$d(e,j,f);c[(c[a+12>>2]|0)+(c[j+24>>2]<<2)>>2]=0;c[6486]=(c[6486]|0)+1;Uc(c[j+-4>>2]|0);c[(c[a+12>>2]|0)+(c[f+24>>2]<<2)>>2]=0;if(f|0){c[6486]=(c[6486]|0)+1;Uc(c[f+-4>>2]|0)}e=c[a+12>>2]|0}c[e+(c[b+24>>2]<<2)>>2]=0;if(!b)return;c[6486]=(c[6486]|0)+1;Uc(c[b+-4>>2]|0);return}function de(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0;h=l;l=l+16|0;f=ps()|0;if((a[22648]|0)==0?qy(22648)|0:0){c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;eg(23468,0.0,0,0,h)}c[5918]=c[5918]|1;g[5953]=0.0;x=+g[5963]*0.0;D=+g[5964]*0.0;g[5958]=+g[5962]*0.0;g[5959]=x;g[5960]=D;g[5961]=0.0;c[5966]=0;c[5967]=0;c[5968]=0;c[5969]=0;D=+g[5955]*0.0;x=+g[5956]*0.0;g[6007]=+g[5954]*0.0;g[6008]=D;g[6009]=x;g[6010]=0.0;c[f+4>>2]=7;c[f+8>>2]=-1;c[f+12>>2]=-1;g[f+16>>2]=3402823466385288598117041.0e14;a[f+20>>0]=1;a[f+21>>0]=0;c[f+24>>2]=-1;c[f+28>>2]=23468;c[f+32>>2]=b;g[f+36>>2]=0.0;g[f+40>>2]=.30000001192092896;c[f+44>>2]=0;c[f>>2]=4724;a[f+48>>0]=0;c[f+116>>2]=c[d>>2];c[f+116+4>>2]=c[d+4>>2];c[f+116+8>>2]=c[d+8>>2];c[f+116+12>>2]=c[d+12>>2];c[f+132>>2]=c[d+16>>2];c[f+132+4>>2]=c[d+16+4>>2];c[f+132+8>>2]=c[d+16+8>>2];c[f+132+12>>2]=c[d+16+12>>2];c[f+148>>2]=c[d+32>>2];c[f+148+4>>2]=c[d+32+4>>2];c[f+148+8>>2]=c[d+32+8>>2];c[f+148+12>>2]=c[d+32+12>>2];c[f+164>>2]=c[d+48>>2];c[f+164+4>>2]=c[d+48+4>>2];c[f+164+8>>2]=c[d+48+8>>2];c[f+164+12>>2]=c[d+48+12>>2];a[f+180>>0]=e&1;x=+g[f+116>>2];D=+g[b+4>>2];w=+g[f+132>>2];C=+g[b+8>>2];v=+g[f+148>>2];B=+g[b+12>>2];u=+g[f+120>>2];t=+g[f+136>>2];s=+g[f+152>>2];r=+g[f+124>>2];p=+g[f+140>>2];n=+g[f+156>>2];A=+g[b+20>>2];z=+g[b+24>>2];y=+g[b+28>>2];q=+g[b+36>>2];o=+g[b+40>>2];m=+g[b+44>>2];F=+g[f+164>>2];E=+g[f+168>>2];i=+g[f+172>>2];k=+g[b+52>>2]+(D*F+C*E+B*i);j=A*F+z*E+y*i+ +g[b+56>>2];i=q*F+o*E+m*i+ +g[b+60>>2];g[f+52>>2]=x*D+w*C+v*B;g[f+56>>2]=D*u+C*t+B*s;g[f+60>>2]=D*r+C*p+B*n;g[f+64>>2]=0.0;g[f+68>>2]=x*A+w*z+v*y;g[f+72>>2]=u*A+t*z+s*y;g[f+76>>2]=r*A+p*z+n*y;g[f+80>>2]=0.0;g[f+84>>2]=x*q+w*o+v*m;g[f+88>>2]=u*q+t*o+s*m;g[f+92>>2]=r*q+p*o+n*m;g[f+96>>2]=0.0;g[f+100>>2]=k;g[f+104>>2]=j;g[f+108>>2]=i;g[f+112>>2]=0.0;g[f+184>>2]=1.0;g[f+188>>2]=-1.0;g[f+192>>2]=0.0;g[f+196>>2]=0.0;g[f+200>>2]=1.0;g[f+204>>2]=.699999988079071;g[f+208>>2]=0.0;g[f+212>>2]=0.0;g[f+216>>2]=1.0;g[f+220>>2]=.699999988079071;g[f+224>>2]=0.0;g[f+228>>2]=0.0;g[f+264>>2]=1.0;g[f+268>>2]=.699999988079071;g[f+272>>2]=1.0;g[f+276>>2]=0.0;g[f+280>>2]=1.0;g[f+284>>2]=.699999988079071;g[f+288>>2]=1.0;g[f+292>>2]=0.0;g[f+232>>2]=1.0;g[f+236>>2]=.699999988079071;g[f+240>>2]=1.0;g[f+244>>2]=0.0;g[f+248>>2]=1.0;g[f+252>>2]=.699999988079071;g[f+256>>2]=1.0;g[f+260>>2]=0.0;a[f+1096>>0]=0;g[f+1116>>2]=0.0;g[f+1120>>2]=0.0;g[f+1124>>2]=0.0;c[f+300>>2]=0;c[f+1100>>2]=0;c[f+1100+4>>2]=0;c[f+1100+8>>2]=0;a[f+1100+12>>0]=0;a[f+49>>0]=1;_c(f,(c[f+28>>2]|0)+4|0,(c[f+32>>2]|0)+4|0);l=h;return f|0}function ee(b){b=b|0;var d=0,e=0.0,f=0.0,h=0.0,i=0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0.0,x=0.0,y=0;v=l;l=l+176|0;if(!(a[b+527>>0]|0)){l=v;return}g[b+36>>2]=0.0;g[b+520>>2]=0.0;g[b+516>>2]=0.0;c[b+576>>2]=0;c[b+576+4>>2]=0;c[b+576+8>>2]=0;c[b+576+12>>2]=0;if(!(a[b+524>>0]|0)){d=c[b+28>>2]|0;j=+g[b+348>>2];k=+g[b+352>>2];r=+g[b+356>>2];t=j*+g[d+20>>2]+k*+g[d+24>>2]+r*+g[d+28>>2]+ +g[d+56>>2];i=c[b+32>>2]|0;m=+g[b+412>>2];n=+g[b+416>>2];s=+g[b+420>>2];o=+g[i+52>>2];e=+g[i+56>>2];u=m*+g[i+20>>2]+n*+g[i+24>>2]+s*+g[i+28>>2]+e;p=m*+g[i+36>>2]+n*+g[i+40>>2]+s*+g[i+44>>2]+ +g[i+60>>2];q=j*+g[d+4>>2]+k*+g[d+8>>2]+r*+g[d+12>>2]+ +g[d+52>>2];r=j*+g[d+36>>2]+k*+g[d+40>>2]+r*+g[d+44>>2]+ +g[d+60>>2];s=m*+g[i+4>>2]+n*+g[i+8>>2]+s*+g[i+12>>2]+o;if((s-q)*(s-q)+(u-t)*(u-t)+(p-r)*(p-r)>1.1920928955078125e-07){h=1.0/+G(+((s-q)*(s-q)+(u-t)*(u-t)+(p-r)*(p-r)));g[v+128>>2]=(s-q)*h;g[v+128+4>>2]=(u-t)*h;g[v+128+8>>2]=(p-r)*h;c[v+128+12>>2]=0;j=(p-r)*h;f=(u-t)*h;h=(s-q)*h}else{c[v+128>>2]=1065353216;c[v+128+4>>2]=0;c[v+128+8>>2]=0;g[v+128+12>>2]=0.0;j=0.0;f=0.0;h=1.0}if(+F(+j)>.7071067690849304){x=j*j+f*f;w=1.0/+G(+x);j=-(w*j);m=w*f;n=-(h*m);k=h*j;f=x*w;h=j;j=0.0}else{m=h*h+f*f;k=1.0/+G(+m);x=-(f*k);h=k*h;n=j*x;k=m*k;m=0.0;f=-(j*h);j=x}g[v+128+16>>2]=j;g[v+128+20>>2]=h;g[v+128+24>>2]=m;g[v+128+32>>2]=f;g[v+128+36>>2]=n;g[v+128+40>>2]=k;f=o;d=0;while(1){y=c[b+28>>2]|0;c[v+80>>2]=c[y+4>>2];c[v+80+4>>2]=c[y+20>>2];c[v+80+8>>2]=c[y+36>>2];g[v+80+12>>2]=0.0;c[v+80+16>>2]=c[y+8>>2];c[v+80+20>>2]=c[y+24>>2];c[v+80+24>>2]=c[y+40>>2];g[v+80+28>>2]=0.0;c[v+80+32>>2]=c[y+12>>2];c[v+80+36>>2]=c[y+28>>2];c[v+80+40>>2]=c[y+44>>2];g[v+80+44>>2]=0.0;c[v+32>>2]=c[i+4>>2];c[v+32+4>>2]=c[i+20>>2];c[v+32+8>>2]=c[i+36>>2];g[v+32+12>>2]=0.0;c[v+32+16>>2]=c[i+8>>2];c[v+32+20>>2]=c[i+24>>2];c[v+32+24>>2]=c[i+40>>2];g[v+32+28>>2]=0.0;c[v+32+32>>2]=c[i+12>>2];c[v+32+36>>2]=c[i+28>>2];c[v+32+40>>2]=c[i+44>>2];g[v+32+44>>2]=0.0;w=t-+g[y+56>>2];x=r-+g[y+60>>2];g[v+16>>2]=q-+g[y+52>>2];g[v+16+4>>2]=w;g[v+16+8>>2]=x;g[v+16+12>>2]=0.0;x=p-+g[i+60>>2];g[v>>2]=s-f;g[v+4>>2]=u-e;g[v+8>>2]=x;g[v+12>>2]=0.0;y=c[b+28>>2]|0;i=c[b+32>>2]|0;Ag(b+48+(d*84|0)|0,v+80|0,v+32|0,v+16|0,v,v+128+(d<<4)|0,y+396|0,+g[y+344>>2],i+396|0,+g[i+344>>2]);d=d+1|0;if((d|0)==3)break;y=c[b+32>>2]|0;i=y;f=+g[y+52>>2];e=+g[y+56>>2]}d=b+32|0}else d=b+32|0;i=c[b+28>>2]|0;y=c[d>>2]|0;oc(b,i+4|0,y+4|0,i+264|0,y+264|0);l=v;return}function fe(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+80|0;if((h|0)>0){b=0;j=0;do{s=c[f+(j<<2)>>2]|0;b=(s|0)>(b|0)?s:b;j=j+1|0}while((j|0)<(h*3|0))}else b=0;o=b+1|0;k=S(o,o)|0;if(!k)s=0;else{c[6485]=(c[6485]|0)+1;j=ic(k+19|0)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}Lk(j|0,0,k|0)|0;s=j}if((b|0)>-1){if((o|0)!=0?(c[6485]=(c[6485]|0)+1,m=ic((o<<4|3)+16|0)|0,(m|0)!=0):0){c[(m+4+15&-16)+-4>>2]=m;k=m+4+15&-16}else k=0;b=0;do{r=k+(b<<4)|0;c[r>>2]=c[t>>2];c[r+4>>2]=c[t+4>>2];c[r+8>>2]=c[t+8>>2];c[r+12>>2]=c[t+12>>2];b=b+1|0}while((b|0)!=(o|0));b=0;j=0;while(1){q=c[e+(b+1<<2)>>2]|0;r=c[e+(b+2<<2)>>2]|0;c[k+(j<<4)>>2]=c[e+(b<<2)>>2];c[k+(j<<4)+4>>2]=q;c[k+(j<<4)+8>>2]=r;g[k+(j<<4)+12>>2]=0.0;b=b+3|0;if((b|0)>=(o*3|0)){r=k;q=k;break}else j=j+1|0}}else{r=0;q=0}c[6485]=(c[6485]|0)+1;b=ic(1271)|0;if(!b)p=0;else{c[(b+4+15&-16)+-4>>2]=b;p=b+4+15&-16}uc(p,d,o,q,0);if((h|0)>0){n=0;do{m=c[f+(n<<2)>>2]|0;e=c[f+(n+1<<2)>>2]|0;d=c[f+(n+2<<2)>>2]|0;j=S(m,o)|0;b=s+(j+d)|0;if(!(a[b>>0]|0)){a[b>>0]=1;a[s+((S(d,o)|0)+m)>>0]=1;Hf(p,d,m,0,0)}k=S(e,o)|0;b=s+(k+m)|0;if(!(a[b>>0]|0)){a[b>>0]=1;a[s+(j+e)>>0]=1;Hf(p,m,e,0,0)}b=s+((S(d,o)|0)+e)|0;if(!(a[b>>0]|0)){a[b>>0]=1;a[s+(k+d)>>0]=1;Hf(p,e,d,0,0)}Nf(p,m,e,d,0);n=n+3|0}while((n|0)<(h*3|0))}if(i){j=c[p+732>>2]|0;if((j|0)>0){k=p+740|0;d=0;b=243703;do{m=c[k>>2]|0;e=m+(d*52|0)|0;b=(S(b,1664525)|0)+1013904223|0;n=t+16|0;o=e;f=n+52|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(f|0));n=e;o=m+(((b>>>0)%(j>>>0)|0)*52|0)|0;f=n+52|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(f|0));n=m+(((b>>>0)%(j>>>0)|0)*52|0)|0;o=t+16|0;f=n+52|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(f|0));d=d+1|0}while((d|0)!=(j|0))}else b=243703;m=c[p+752>>2]|0;if((m|0)>0){e=p+760|0;d=0;do{k=c[e>>2]|0;j=k+(d*44|0)|0;b=(S(b,1664525)|0)+1013904223|0;k=k+(((b>>>0)%(m>>>0)|0)*44|0)|0;n=t+16|0;o=j;f=n+44|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(f|0));n=j;o=k;f=n+44|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(f|0));n=k;o=t+16|0;f=n+44|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(f|0));d=d+1|0}while((d|0)!=(m|0))}}if(!((q|0)==0|(r|0)==0)){c[6486]=(c[6486]|0)+1;Uc(c[r+-4>>2]|0)}if(!s){l=t;return p|0}c[6486]=(c[6486]|0)+1;Uc(c[s+-4>>2]|0);l=t;return p|0}function ge(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if(!((d|0)!=0&(e|0)!=0))return;if((c[b+24>>2]|0)<128?(c[b+28>>2]|0)<128:0){c[6485]=(c[6485]|0)+1;h=ic(1043)|0;if(!h)j=0;else{c[(h+4+15&-16)+-4>>2]=h;j=h+4+15&-16}h=c[b+24>>2]|0;if((h|0)>0){i=0;do{l=(c[b+32>>2]|0)+(i<<3)|0;m=c[l+4>>2]|0;n=j+(i<<3)|0;c[n>>2]=c[l>>2];c[n+4>>2]=m;i=i+1|0}while((i|0)!=(h|0))}h=c[b+32>>2]|0;if(h|0){if(a[b+36>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[h+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=j;c[b+28>>2]=128}c[b+24>>2]=128;n=c[b+32>>2]|0;c[n>>2]=d;c[n+4>>2]=e;n=1;j=124;while(1){h=n+-1|0;i=c[b+32>>2]|0;l=c[i+(h<<3)>>2]|0;m=c[i+(h<<3)+4>>2]|0;if((h|0)>(j|0)){e=c[b+24>>2]|0;if((e|0)<(e<<1|0)?(c[b+28>>2]|0)<(e<<1|0):0){if(e){c[6485]=(c[6485]|0)+1;i=ic((e<<4|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}j=c[b+24>>2]|0;if((j|0)>0){d=0;do{p=(c[b+32>>2]|0)+(d<<3)|0;o=c[p+4>>2]|0;k=i+(d<<3)|0;c[k>>2]=c[p>>2];c[k+4>>2]=o;d=d+1|0}while((d|0)!=(j|0))}}else i=0;j=c[b+32>>2]|0;if(j|0){if(a[b+36>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[j+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=i;c[b+28>>2]=e<<1}c[b+24>>2]=e<<1;j=(e<<1)+-4|0}do if((l|0)==(m|0)){if(c[l+40>>2]|0){p=c[l+36>>2]|0;c[i+(h<<3)>>2]=p;c[i+(h<<3)+4>>2]=p;h=n+1|0;p=c[b+32>>2]|0;o=c[l+40>>2]|0;c[p+(n<<3)>>2]=o;c[p+(n<<3)+4>>2]=o;p=c[b+32>>2]|0;o=c[l+40>>2]|0;c[p+(h<<3)>>2]=c[l+36>>2];c[p+(h<<3)+4>>2]=o;h=n+2|0}}else if(((((+g[l>>2]<=+g[m+16>>2]?+g[l+16>>2]>=+g[m>>2]:0)?+g[l+4>>2]<=+g[m+20>>2]:0)?+g[l+20>>2]>=+g[m+4>>2]:0)?+g[l+8>>2]<=+g[m+24>>2]:0)?+g[l+24>>2]>=+g[m+8>>2]:0){d=(c[m+40>>2]|0)!=0;if(!(c[l+40>>2]|0))if(d){p=c[m+36>>2]|0;c[i+(h<<3)>>2]=l;c[i+(h<<3)+4>>2]=p;h=c[b+32>>2]|0;p=c[m+40>>2]|0;c[h+(n<<3)>>2]=l;c[h+(n<<3)+4>>2]=p;h=n+1|0;break}else{Vb[c[(c[f>>2]|0)+8>>2]&127](f,l,m);break}else{e=i+(h<<3)|0;k=c[l+36>>2]|0;if(d){p=c[m+36>>2]|0;c[e>>2]=k;c[i+(h<<3)+4>>2]=p;p=n+1|0;h=c[b+32>>2]|0;o=c[m+36>>2]|0;c[h+(n<<3)>>2]=c[l+40>>2];c[h+(n<<3)+4>>2]=o;h=n+2|0;o=c[b+32>>2]|0;k=c[m+40>>2]|0;c[o+(p<<3)>>2]=c[l+36>>2];c[o+(p<<3)+4>>2]=k;p=c[b+32>>2]|0;o=c[m+40>>2]|0;c[p+(h<<3)>>2]=c[l+40>>2];c[p+(h<<3)+4>>2]=o;h=n+3|0;break}else{c[e>>2]=k;c[i+(h<<3)+4>>2]=m;h=c[b+32>>2]|0;c[h+(n<<3)>>2]=c[l+40>>2];c[h+(n<<3)+4>>2]=m;h=n+1|0;break}}}while(0);if(!h)break;else n=h}return}function he(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0,z=0,A=0,B=0.0,C=0,D=0.0,E=0.0,F=0.0;z=l;l=l+16|0;bj(11138);y=c[a+712>>2]|0;if((y|0)>0){c[6485]=(c[6485]|0)+1;d=ic((y<<4|3)+16|0)|0;if(!d)h=0;else{c[(d+4+15&-16)+-4>>2]=d;h=d+4+15&-16}d=0;do{r=h+(d<<4)|0;d=d+1|0;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0}while((d|0)!=(y|0));f=c[a+712>>2]|0;if((f|0)>0){c[6485]=(c[6485]|0)+1;d=ic((f<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}Lk(d|0,0,f<<2|0)|0;q=h;r=d;p=d;o=h}else{q=h;r=0;p=0;o=h}}else{q=0;r=0;p=0;o=0}n=c[a+1112>>2]|0;if(b){if((n|0)>0){d=c[a+1120>>2]|0;i=0;do{f=c[d+(i<<2)>>2]|0;h=c[f+312>>2]|0;if(h|0){g[f+276>>2]=1.0/+(h|0)*+g[f+276>>2];g[f+280>>2]=1.0/+(h|0)*+g[f+280>>2];g[f+284>>2]=1.0/+(h|0)*+g[f+284>>2];g[f+292>>2]=1.0/+(h|0)*+g[f+292>>2];g[f+296>>2]=1.0/+(h|0)*+g[f+296>>2];g[f+300>>2]=1.0/+(h|0)*+g[f+300>>2]}i=i+1|0}while((i|0)!=(n|0));i=13}}else i=13;if((i|0)==13?(n|0)>0:0){d=c[a+1120>>2]|0;k=0;do{h=c[d+(k<<2)>>2]|0;if((c[(b?h+312|0:h+308|0)>>2]|0)>0?(x=b?h+276|0:h+244|0,w=+g[a+452>>2],e=+g[x>>2]*w,s=w*+g[x+4>>2],t=w*+g[x+8>>2],u=w*+g[x+16>>2],v=w*+g[x+20>>2],w=w*+g[x+24>>2],x=c[h+24>>2]|0,(x|0)>0):0){i=c[h+32>>2]|0;j=c[a+720>>2]|0;f=c[h+12>>2]|0;m=0;do{A=c[i+(m<<2)>>2]|0;B=+g[f+(m<<2)>>2];D=+g[A+8>>2]-+g[h+228>>2];E=+g[A+12>>2]-+g[h+232>>2];F=+g[A+16>>2]-+g[h+236>>2];C=q+(((A-j|0)/104|0)<<4)|0;g[C>>2]=+g[C>>2]+B*(e+(v*F-w*E));C=q+(((A-j|0)/104|0)<<4)+4|0;g[C>>2]=+g[C>>2]+B*(s+(w*D-u*F));C=q+(((A-j|0)/104|0)<<4)+8|0;g[C>>2]=B*(t+(u*E-v*D))+ +g[C>>2];A=r+(((A-j|0)/104|0)<<2)|0;g[A>>2]=B+ +g[A>>2];m=m+1|0}while((m|0)!=(x|0))}k=k+1|0}while((k|0)!=(n|0))}if((y|0)>0){d=0;do{e=+g[r+(d<<2)>>2];if(e>0.0){C=c[a+720>>2]|0;E=1.0/e*+g[q+(d<<4)+4>>2];F=1.0/e*+g[q+(d<<4)+8>>2];A=C+(d*104|0)+8|0;g[A>>2]=1.0/e*+g[q+(d<<4)>>2]+ +g[A>>2];A=C+(d*104|0)+12|0;g[A>>2]=E+ +g[A>>2];C=C+(d*104|0)+16|0;g[C>>2]=F+ +g[C>>2]}d=d+1|0}while((d|0)!=(y|0))}if(!((r|0)==0|(p|0)==0)){c[6486]=(c[6486]|0)+1;Uc(c[p+-4>>2]|0)}if(!((q|0)==0|(o|0)==0)){c[6486]=(c[6486]|0)+1;Uc(c[o+-4>>2]|0)}d=c[2380]|0;C=(c[d+16>>2]|0)+-1|0;c[d+16>>2]=C;if(C|0){l=z;return}do if(c[d+4>>2]|0){Za(z|0,0)|0;C=c[6484]|0;g[d+8>>2]=+(((c[z+4>>2]|0)-(c[C+4>>2]|0)+(((c[z>>2]|0)-(c[C>>2]|0)|0)*1e6|0)-(c[d+12>>2]|0)|0)>>>0)/1.0e3+ +g[d+8>>2];if(!(c[d+16>>2]|0)){d=c[2380]|0;break}else{l=z;return}}while(0);c[2380]=c[d+20>>2];l=z;return}function ie(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=c[b+92>>2]|0;if(!(pb[c[(c[o>>2]|0)+56>>2]&127](o)|0))return;o=c[b+92>>2]|0;o=pb[c[(c[o>>2]|0)+28>>2]&127](o)|0;f=c[o+4>>2]|0;if((f|0)>1){Ie(o,0,f+-1|0);j=c[o+4>>2]|0}else j=f;m=c[b+104>>2]|0;f=j-m|0;if((m|0)<0){if((c[o+8>>2]|0)<(f|0)){if(!f){g=0;h=j}else{c[6485]=(c[6485]|0)+1;g=ic((f<<4|3)+16|0)|0;if(!g)g=0;else{c[(g+4+15&-16)+-4>>2]=g;g=g+4+15&-16}h=c[o+4>>2]|0}if((h|0)>0){i=0;do{m=c[o+12>>2]|0;c[g+(i<<4)>>2]=c[m+(i<<4)>>2];c[g+(i<<4)+4>>2]=c[m+(i<<4)+4>>2];c[g+(i<<4)+8>>2]=c[m+(i<<4)+8>>2];c[g+(i<<4)+12>>2]=c[m+(i<<4)+12>>2];i=i+1|0}while((i|0)!=(h|0))}h=c[o+12>>2]|0;if(h|0){if(a[o+16>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[h+-4>>2]|0)}c[o+12>>2]=0}a[o+16>>0]=1;c[o+12>>2]=g;c[o+8>>2]=f;h=o+12|0}else h=o+12|0;g=j;do{m=(c[h>>2]|0)+(g<<4)|0;g=g+1|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0}while((g|0)!=(f|0))}c[o+4>>2]=f;c[b+104>>2]=0;if((f|0)>0){g=0;l=0;i=0;m=0;while(1){k=c[o+12>>2]|0;j=k+(m<<4)|0;p=l;l=c[j>>2]|0;k=k+(m<<4)+4|0;h=c[k>>2]|0;if(!((l|0)==(p|0)&(h|0)==(i|0))){p=l+54|0;i=l+48|0;if(!((((((e[p>>1]|0)>=(e[h+48>>1]|0)?(e[h+54>>1]|0)>=(e[i>>1]|0):0)?(e[p+2>>1]|0)>=(e[h+48+2>>1]|0):0)?(e[h+54+2>>1]|0)>=(e[i+2>>1]|0):0)?(e[p+4>>1]|0)>=(e[h+52>>1]|0):0)?(e[h+54+4>>1]|0)>=(e[l+52>>1]|0):0))n=29}else{h=i;n=29}if((n|0)==29){n=0;g=c[b+92>>2]|0;Vb[c[(c[g>>2]|0)+32>>2]&127](g,j,d);c[j>>2]=0;c[k>>2]=0;g=(c[b+104>>2]|0)+1|0;c[b+104>>2]=g;c[6213]=(c[6213]|0)+-1;f=c[o+4>>2]|0}m=m+1|0;if((m|0)>=(f|0))break;else i=h}if((f|0)>1){Ie(o,0,f+-1|0);g=c[b+104>>2]|0;j=c[o+4>>2]|0}else j=f;f=j-g|0;if((g|0)<0){if((c[o+8>>2]|0)<(f|0)){if(!f){g=0;h=j}else{c[6485]=(c[6485]|0)+1;g=ic((f<<4|3)+16|0)|0;if(!g)g=0;else{c[(g+4+15&-16)+-4>>2]=g;g=g+4+15&-16}h=c[o+4>>2]|0}if((h|0)>0){i=0;do{p=c[o+12>>2]|0;c[g+(i<<4)>>2]=c[p+(i<<4)>>2];c[g+(i<<4)+4>>2]=c[p+(i<<4)+4>>2];c[g+(i<<4)+8>>2]=c[p+(i<<4)+8>>2];c[g+(i<<4)+12>>2]=c[p+(i<<4)+12>>2];i=i+1|0}while((i|0)!=(h|0))}h=c[o+12>>2]|0;if(h|0){if(a[o+16>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[h+-4>>2]|0)}c[o+12>>2]=0}a[o+16>>0]=1;c[o+12>>2]=g;c[o+8>>2]=f;h=o+12|0}else h=o+12|0;g=j;do{p=(c[h>>2]|0)+(g<<4)|0;g=g+1|0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0}while((g|0)!=(f|0))}}c[o+4>>2]=f;c[b+104>>2]=0;return}function je(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+80|0;c[a+68>>2]=(c[a+68>>2]|0)+1;e=c[a+64>>2]|0;if(e|0){f=c[(c[a+24>>2]|0)+(b*80|0)+76>>2]|0;Ug(e,f)|0;d=c[e+4>>2]|0;if(d|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[e+4>>2]=f;c[e+12>>2]=(c[e+12>>2]|0)+-1}f=(c[a+16>>2]|0)+-1|0;e=c[a+24>>2]|0;c[g>>2]=c[e+(b*80|0)>>2];c[g+4>>2]=c[e+(b*80|0)+4>>2];c[g+8>>2]=c[e+(b*80|0)+8>>2];c[g+12>>2]=c[e+(b*80|0)+12>>2];c[g+16>>2]=c[e+(b*80|0)+16>>2];c[g+16+4>>2]=c[e+(b*80|0)+16+4>>2];c[g+16+8>>2]=c[e+(b*80|0)+16+8>>2];c[g+16+12>>2]=c[e+(b*80|0)+16+12>>2];c[g+32>>2]=c[e+(b*80|0)+32>>2];c[g+32+4>>2]=c[e+(b*80|0)+32+4>>2];c[g+32+8>>2]=c[e+(b*80|0)+32+8>>2];c[g+32+12>>2]=c[e+(b*80|0)+32+12>>2];c[g+48>>2]=c[e+(b*80|0)+48>>2];c[g+48+4>>2]=c[e+(b*80|0)+48+4>>2];c[g+48+8>>2]=c[e+(b*80|0)+48+8>>2];c[g+48+12>>2]=c[e+(b*80|0)+48+12>>2];c[g+64>>2]=c[e+(b*80|0)+64>>2];c[g+64+4>>2]=c[e+(b*80|0)+64+4>>2];c[g+64+8>>2]=c[e+(b*80|0)+64+8>>2];c[g+64+12>>2]=c[e+(b*80|0)+64+12>>2];c[e+(b*80|0)>>2]=c[e+(f*80|0)>>2];c[e+(b*80|0)+4>>2]=c[e+(f*80|0)+4>>2];c[e+(b*80|0)+8>>2]=c[e+(f*80|0)+8>>2];c[e+(b*80|0)+12>>2]=c[e+(f*80|0)+12>>2];c[e+(b*80|0)+16>>2]=c[e+(f*80|0)+16>>2];c[e+(b*80|0)+16+4>>2]=c[e+(f*80|0)+16+4>>2];c[e+(b*80|0)+16+8>>2]=c[e+(f*80|0)+16+8>>2];c[e+(b*80|0)+16+12>>2]=c[e+(f*80|0)+16+12>>2];c[e+(b*80|0)+32>>2]=c[e+(f*80|0)+32>>2];c[e+(b*80|0)+32+4>>2]=c[e+(f*80|0)+32+4>>2];c[e+(b*80|0)+32+8>>2]=c[e+(f*80|0)+32+8>>2];c[e+(b*80|0)+32+12>>2]=c[e+(f*80|0)+32+12>>2];c[e+(b*80|0)+48>>2]=c[e+(f*80|0)+48>>2];c[e+(b*80|0)+48+4>>2]=c[e+(f*80|0)+48+4>>2];c[e+(b*80|0)+48+8>>2]=c[e+(f*80|0)+48+8>>2];c[e+(b*80|0)+48+12>>2]=c[e+(f*80|0)+48+12>>2];c[e+(b*80|0)+64>>2]=c[e+(f*80|0)+64>>2];c[e+(b*80|0)+64+4>>2]=c[e+(f*80|0)+64+4>>2];c[e+(b*80|0)+64+8>>2]=c[e+(f*80|0)+64+8>>2];c[e+(b*80|0)+64+12>>2]=c[e+(f*80|0)+64+12>>2];e=c[a+24>>2]|0;c[e+(f*80|0)>>2]=c[g>>2];c[e+(f*80|0)+4>>2]=c[g+4>>2];c[e+(f*80|0)+8>>2]=c[g+8>>2];c[e+(f*80|0)+12>>2]=c[g+12>>2];c[e+(f*80|0)+16>>2]=c[g+16>>2];c[e+(f*80|0)+16+4>>2]=c[g+16+4>>2];c[e+(f*80|0)+16+8>>2]=c[g+16+8>>2];c[e+(f*80|0)+16+12>>2]=c[g+16+12>>2];c[e+(f*80|0)+32>>2]=c[g+32>>2];c[e+(f*80|0)+32+4>>2]=c[g+32+4>>2];c[e+(f*80|0)+32+8>>2]=c[g+32+8>>2];c[e+(f*80|0)+32+12>>2]=c[g+32+12>>2];c[e+(f*80|0)+48>>2]=c[g+48>>2];c[e+(f*80|0)+48+4>>2]=c[g+48+4>>2];c[e+(f*80|0)+48+8>>2]=c[g+48+8>>2];c[e+(f*80|0)+48+12>>2]=c[g+48+12>>2];c[e+(f*80|0)+64>>2]=c[g+64>>2];c[e+(f*80|0)+64+4>>2]=c[g+64+4>>2];c[e+(f*80|0)+64+8>>2]=c[g+64+8>>2];c[e+(f*80|0)+64+12>>2]=c[g+64+12>>2];if(!(c[a+64>>2]|0)){b=c[a+16>>2]|0;b=b+-1|0;c[a+16>>2]=b;l=g;return}c[(c[(c[a+24>>2]|0)+(b*80|0)+76>>2]|0)+36>>2]=b;b=c[a+16>>2]|0;b=b+-1|0;c[a+16>>2]=b;l=g;return}function ke(a,d,f,h,i,j,k,m,n){a=a|0;d=d|0;f=f|0;h=+h;i=+i;j=+j;k=k|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0,B=0,C=0,D=0,E=0,F=0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0;V=l;l=l+32|0;z=+g[f>>2];R=+g[f+4>>2];T=+g[f+8>>2];H=1.0/+G(+((h-z)*(h-z)+(i-R)*(i-R)+(j-T)*(j-T)));P=(h-z)*H==0.0?999999984306749440.0:1.0/((h-z)*H);Q=(i-R)*H==0.0?999999984306749440.0:1.0/((i-R)*H);S=(j-T)*H==0.0?999999984306749440.0:1.0/((j-T)*H);ia=(z>h?h:z)+ +g[k>>2];ha=(R>i?i:R)+ +g[k+4>>2];ga=(T>j?j:T)+ +g[k+8>>2];ea=(z<h?h:z)+ +g[m>>2];aa=(R<i?i:R)+ +g[m+4>>2];Y=(T<j?j:T)+ +g[m+8>>2];da=+g[a+4>>2];ia=ia<da?da:ia;$=+g[a+8>>2];ha=ha<$?$:ha;X=+g[a+12>>2];ga=ga<X?X:ga;fa=+g[a+20>>2];ba=+g[a+24>>2];Z=+g[a+28>>2];ca=+g[a+36>>2];_=+g[a+40>>2];W=+g[a+44>>2];A=~~(((fa<ia?fa:ia)-da)*ca)&65535&-2;B=~~(((ba<ha?ba:ha)-$)*_)&65535&-2;C=~~(((Z<ga?Z:ga)-X)*W)&65535&-2;ea=ea<da?da:ea;aa=aa<$?$:aa;Y=Y<X?X:Y;D=~~(((fa<ea?fa:ea)-da)*ca+1.0)&65535|1;E=~~(((ba<aa?ba:aa)-$)*_+1.0)&65535|1;F=~~(((Z<Y?Z:Y)-X)*W+1.0)&65535|1;if((n|0)>0){p=0;q=c[a+136>>2]|0;o=0;do{o=o+1|0;r=q+6|0;s=b[q>>1]|0;t=q+10|0;u=b[q+4>>1]|0;v=q+8|0;w=b[q+2>>1]|0;x=q+12|0;y=(c[x>>2]|0)>-1;if((((D&65535)>=(s&65535)?(A&65535)<=(e[r>>1]|0):0)&(C&65535)<=(e[t>>1]|0)&(F&65535)>=(u&65535)&(B&65535)<=(e[v>>1]|0)&(E&65535)>=(w&65535)?(ea=+g[a+36>>2],ga=+g[a+40>>2],ia=+g[a+44>>2],fa=+g[a+4>>2],ha=+g[a+8>>2],K=+g[a+12>>2],g[V+12>>2]=0.0,L=+(e[r>>1]|0)/ea+fa,I=+(e[v>>1]|0)/ga+ha,J=+(e[t>>1]|0)/ia+K,g[V+28>>2]=0.0,g[V>>2]=+(s&65535)/ea+fa-+g[m>>2],g[V+4>>2]=+(w&65535)/ga+ha-+g[m+4>>2],g[V+8>>2]=+(u&65535)/ia+K-+g[m+8>>2],g[V+16>>2]=L-+g[k>>2],g[V+20>>2]=I-+g[k+4>>2],g[V+24>>2]=J-+g[k+8>>2],J=+g[f>>2],I=P*(+g[V+((P<0.0&1)<<4)>>2]-J),J=P*(+g[V+((P<0.0^1)<<4)>>2]-J),L=+g[f+4>>2],K=Q*(+g[V+((Q<0.0&1)<<4)+4>>2]-L),L=Q*(+g[V+((Q<0.0^1)<<4)+4>>2]-L),!(K>J|I>L)):0)?(M=K>I?K:I,U=L<J?L:J,O=+g[f+8>>2],N=S*(+g[V+((S<0.0&1)<<4)+8>>2]-O),O=S*(+g[V+((S<0.0^1)<<4)+8>>2]-O),!(N>U|M>O)):0){r=(O<U?O:U)>0.0?(N>M?N:M)<(j-T)*(j-T)*H+((h-z)*(h-z)*H+(i-R)*(i-R)*H):0;if(y&r){s=c[x>>2]|0;Vb[c[(c[d>>2]|0)+8>>2]&127](d,s>>21,s&2097151);s=9}else s=8}else{r=0;s=8}if((s|0)==8){s=0;if(y|r)s=9;else{y=c[x>>2]|0;p=p-y|0;q=q+(0-y<<4)|0}}if((s|0)==9){p=p+1|0;q=q+16|0}}while((p|0)<(n|0))}else o=0;if((c[6217]|0)>=(o|0)){l=V;return}c[6217]=o;l=V;return}function le(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,H=0.0;Eg(a,b+(c*284|0)|0,d);m=+g[b+(c*284|0)+52>>2];h=+g[b+(c*284|0)+56>>2];q=+g[b+(c*284|0)+60>>2];H=+g[b+(c*284|0)+76>>2];x=+g[b+(c*284|0)+72>>2];z=+g[b+(c*284|0)+68>>2];w=1.0/+G(+((x*-m-z*-h)*(x*-m-z*-h)+((H*-h-x*-q)*(H*-h-x*-q)+(z*-q-H*-m)*(z*-q-H*-m))));v=(H*-h-x*-q)*w;u=w*(z*-q-H*-m);w=w*(x*-m-z*-h);e=+g[b+(c*284|0)+232>>2]*.5;k=+J(+e)/+G(+(m*m+h*h+q*q));e=+I(+e);l=2.0/(e*e+(k*-q*k*-q+(k*-m*k*-m+k*-h*k*-h)));E=1.0-(k*-h*k*-h*l+k*-q*k*-q*l);D=k*-m*k*-h*l-e*k*-q*l;F=k*-m*k*-q*l+e*k*-h*l;B=k*-m*k*-h*l+e*k*-q*l;A=1.0-(k*-m*k*-m*l+k*-q*k*-q*l);C=k*-h*k*-q*l-e*k*-m*l;j=k*-m*k*-q*l-e*k*-h*l;e=k*-h*k*-q*l+e*k*-m*l;l=1.0-(k*-m*k*-m*l+k*-h*k*-h*l);k=+g[b+(c*284|0)+236>>2]*-.5;y=+J(+k)/+G(+(H*H+(x*x+z*z)));k=+I(+k);r=2.0/(k*k+(H*y*H*y+(z*y*z*y+x*y*x*y)));n=1.0-(x*y*x*y*r+H*y*H*y*r);i=z*y*x*y*r-k*H*y*r;t=z*y*H*y*r+k*x*y*r;o=z*y*x*y*r+k*H*y*r;f=1.0-(z*y*z*y*r+H*y*H*y*r);s=x*y*H*y*r-k*z*y*r;p=z*y*H*y*r-k*x*y*r;k=x*y*H*y*r+k*z*y*r;r=1.0-(z*y*z*y*r+x*y*x*y*r);y=+g[b+(c*284|0)+68>>2];x=+g[b+(c*284|0)+72>>2];z=+g[b+(c*284|0)+76>>2];g[b+(c*284|0)+92>>2]=z*(E*t+D*s+F*r)+(y*(F*p+(D*o+E*n))+x*(F*k+(E*i+D*f)));g[b+(c*284|0)+96>>2]=w*(E*t+D*s+F*r)+(v*(F*p+(D*o+E*n))+u*(F*k+(E*i+D*f)));g[b+(c*284|0)+100>>2]=(E*t+D*s+F*r)*-q+((F*p+(D*o+E*n))*-m+(F*k+(E*i+D*f))*-h);g[b+(c*284|0)+104>>2]=0.0;g[b+(c*284|0)+108>>2]=z*(B*t+A*s+C*r)+(y*(C*p+(A*o+B*n))+x*(C*k+(B*i+A*f)));g[b+(c*284|0)+112>>2]=w*(B*t+A*s+C*r)+(v*(C*p+(A*o+B*n))+u*(C*k+(B*i+A*f)));g[b+(c*284|0)+116>>2]=(B*t+A*s+C*r)*-q+((C*p+(A*o+B*n))*-m+(C*k+(B*i+A*f))*-h);g[b+(c*284|0)+120>>2]=0.0;g[b+(c*284|0)+124>>2]=z*(j*t+e*s+l*r)+(y*(l*p+(e*o+j*n))+x*(l*k+(j*i+e*f)));g[b+(c*284|0)+128>>2]=w*(j*t+e*s+l*r)+(v*(l*p+(e*o+j*n))+u*(l*k+(j*i+e*f)));g[b+(c*284|0)+132>>2]=(j*t+e*s+l*r)*-q+((l*p+(e*o+j*n))*-m+(l*k+(j*i+e*f))*-h);g[b+(c*284|0)+136>>2]=0.0;h=+g[b+(c*284|0)+32>>2];f=h*+g[b+(c*284|0)+56>>2]+ +g[b+(c*284|0)+40>>2];e=h*+g[b+(c*284|0)+60>>2]+ +g[b+(c*284|0)+44>>2];g[b+(c*284|0)+140>>2]=+g[b+(c*284|0)+52>>2]*h+ +g[b+(c*284|0)+36>>2];g[b+(c*284|0)+144>>2]=f;g[b+(c*284|0)+148>>2]=e;g[b+(c*284|0)+152>>2]=0.0;return}function me(b,d){b=b|0;d=+d;var e=0,f=0.0,h=0,i=0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0;s=l;l=l+32|0;e=c[b+136>>2]|0;if((e|0)>0){h=0;do{le(c[b+116>>2]|0,c[b+144>>2]|0,h,0);h=h+1|0;e=c[b+136>>2]|0}while((h|0)<(e|0))}k=c[b+116>>2]|0;p=+g[k+312>>2];q=+g[k+316>>2];f=+g[k+320>>2];f=+G(+(p*p+q*q+f*f))*3.5999999046325684;g[b+112>>2]=f;j=c[b+128>>2]|0;if(+g[k+4+(j<<2)>>2]*+g[k+312>>2]+ +g[k+20+(j<<2)>>2]*+g[k+316>>2]+ +g[k+36+(j<<2)>>2]*+g[k+320>>2]<0.0)g[b+112>>2]=-f;a:do if((e|0)>0){e=0;do{+ef(b,(c[b+144>>2]|0)+(e*284|0)|0);e=e+1|0;k=c[b+136>>2]|0}while((e|0)<(k|0));i=c[b+116>>2]|0;f=1.0/+g[i+344>>2];if((k|0)>0){h=c[b+144>>2]|0;j=0;do{if(a[h+(j*284|0)+84>>0]|0){q=+g[h+(j*284|0)+272>>2];q=f*(+g[h+(j*284|0)+216>>2]*(+g[h+(j*284|0)+204>>2]-+g[h+(j*284|0)+32>>2])*+g[h+(j*284|0)+268>>2]-q*+g[(q<0.0?h+(j*284|0)+220|0:h+(j*284|0)+224|0)>>2]);e=h+(j*284|0)+276|0;g[e>>2]=q;if(q<0.0)r=14}else{e=h+(j*284|0)+276|0;r=14}if((r|0)==14){r=0;g[e>>2]=0.0}j=j+1|0}while((j|0)!=(k|0));e=0;while(1){o=+g[h+(e*284|0)+276>>2];q=+g[h+(e*284|0)+248>>2];o=o>q?q:o;q=o*+g[h+(e*284|0)+4>>2]*d;p=o*+g[h+(e*284|0)+8>>2]*d;g[s+16>>2]=+g[h+(e*284|0)>>2]*o*d;g[s+16+4>>2]=q;g[s+16+8>>2]=p;g[s+16+12>>2]=0.0;p=+g[h+(e*284|0)+20>>2]-+g[i+56>>2];q=+g[h+(e*284|0)+24>>2]-+g[i+60>>2];g[s>>2]=+g[h+(e*284|0)+16>>2]-+g[i+52>>2];g[s+4>>2]=p;g[s+8>>2]=q;g[s+12>>2]=0.0;Zk(i,s+16|0,s);e=e+1|0;if((e|0)>=(c[b+136>>2]|0))break a;i=c[b+116>>2]|0;h=c[b+144>>2]|0}}}while(0);kb[c[(c[b>>2]|0)+20>>2]&31](b,d);h=c[b+136>>2]|0;if((h|0)<=0){l=s;return}i=c[b+144>>2]|0;j=c[b+116>>2]|0;k=0;do{f=+g[i+(k*284|0)+36>>2]-+g[j+52>>2];m=+g[i+(k*284|0)+40>>2]-+g[j+56>>2];n=+g[i+(k*284|0)+44>>2]-+g[j+60>>2];o=+g[j+332>>2];p=+g[j+336>>2];q=+g[j+328>>2];if(!(a[i+(k*284|0)+84>>0]|0)){r=i+(k*284|0)+240|0;e=r;f=+g[r>>2]}else{e=c[b+128>>2]|0;y=+g[j+4+(e<<2)>>2];w=+g[j+20+(e<<2)>>2];u=+g[j+36+(e<<2)>>2];x=+g[i+(k*284|0)>>2];v=+g[i+(k*284|0)+4>>2];t=+g[i+(k*284|0)+8>>2];f=((m*q-f*o+ +g[j+320>>2])*(u-t*(y*x+w*v+u*t))+((o*n-m*p+ +g[j+312>>2])*(y-x*(y*x+w*v+u*t))+(f*p-n*q+ +g[j+316>>2])*(w-v*(y*x+w*v+u*t))))*d/+g[i+(k*284|0)+212>>2];e=i+(k*284|0)+240|0;g[e>>2]=f}r=i+(k*284|0)+236|0;g[r>>2]=f+ +g[r>>2];g[e>>2]=f*.9900000095367432;k=k+1|0}while((k|0)!=(h|0));l=s;return}function ne(b,d,e,f,h,i,j,k,m){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=+i;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0,C=0.0;B=l;l=l+32|0;if(!d){l=B;return}q=c[b+44>>2]|0;if((q|0)<128){if((c[b+48>>2]|0)<128){c[6485]=(c[6485]|0)+1;n=ic(531)|0;if(!n)p=0;else{c[(n+4+15&-16)+-4>>2]=n;p=n+4+15&-16}n=c[b+44>>2]|0;if((n|0)>0){o=0;do{c[p+(o<<2)>>2]=c[(c[b+52>>2]|0)+(o<<2)>>2];o=o+1|0}while((o|0)!=(n|0))}n=c[b+52>>2]|0;if(n|0){if(a[b+56>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[n+-4>>2]|0)}c[b+52>>2]=0}a[b+56>>0]=1;c[b+52>>2]=p;c[b+48>>2]=128;o=b+52|0}else o=b+52|0;n=q;do{c[(c[o>>2]|0)+(n<<2)>>2]=0;n=n+1|0}while((n|0)!=128)}c[b+44>>2]=128;c[c[b+52>>2]>>2]=d;w=1;n=126;while(1){o=w+-1|0;p=c[b+52>>2]|0;v=c[p+(o<<2)>>2]|0;t=+g[v+4>>2]-+g[k+4>>2];r=+g[v+8>>2]-+g[k+8>>2];g[B>>2]=+g[v>>2]-+g[k>>2];g[B+4>>2]=t;g[B+8>>2]=r;g[B+12>>2]=0.0;r=+g[v+20>>2]-+g[j+4>>2];t=+g[v+24>>2]-+g[j+8>>2];g[B+16>>2]=+g[v+16>>2]-+g[j>>2];g[B+20>>2]=r;g[B+24>>2]=t;g[B+28>>2]=0.0;d=c[h>>2]|0;t=+g[e>>2];r=+g[f>>2];s=(+g[B+(d<<4)>>2]-t)*r;t=r*(+g[B+(1-d<<4)>>2]-t);d=c[h+4>>2]|0;r=+g[e+4>>2];C=+g[f+4>>2];u=(+g[B+(d<<4)+4>>2]-r)*C;r=C*(+g[B+(1-d<<4)+4>>2]-r);do if((!(u>t|s>r)?(x=u>s?u:s,A=r<t?r:t,d=c[h+8>>2]|0,z=+g[e+8>>2],C=+g[f+8>>2],y=(+g[B+(d<<4)+8>>2]-z)*C,z=C*(+g[B+(1-d<<4)+8>>2]-z),!(y>A|x>z)):0)?((z<A?z:A)>0.0?(y>x?y:x)<i:0):0){if(!(c[v+40>>2]|0)){nb[c[(c[m>>2]|0)+12>>2]&127](m,v);break}if((o|0)>(n|0)){d=c[b+44>>2]|0;if((d|0)<(d<<1|0)){if((c[b+48>>2]|0)<(d<<1|0)){if(d){c[6485]=(c[6485]|0)+1;n=ic((d<<3|3)+16|0)|0;if(!n)n=0;else{c[(n+4+15&-16)+-4>>2]=n;n=n+4+15&-16}p=c[b+44>>2]|0;if((p|0)>0){q=0;do{c[n+(q<<2)>>2]=c[(c[b+52>>2]|0)+(q<<2)>>2];q=q+1|0}while((q|0)!=(p|0))}}else n=0;p=c[b+52>>2]|0;if(p|0){if(a[b+56>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[p+-4>>2]|0)}c[b+52>>2]=0}a[b+56>>0]=1;c[b+52>>2]=n;c[b+48>>2]=d<<1;p=d}else{n=p;p=d}do{c[n+(p<<2)>>2]=0;p=p+1|0;n=c[b+52>>2]|0}while((p|0)!=(d<<1|0))}else n=p;c[b+44>>2]=d<<1;p=n;n=(d<<1)+-2|0}c[p+(o<<2)>>2]=c[v+36>>2];c[(c[b+52>>2]|0)+(w<<2)>>2]=c[v+40>>2];o=w+1|0}while(0);if(!o)break;else w=o}l=B;return}function oe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,k=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0,D=0,E=0.0;D=l;l=l+32|0;q=+g[d>>2];h=(g[j>>2]=q,c[j>>2]|0);t=q<999999984306749440.0?h:1566444395;p=+g[d+4>>2];k=(g[j>>2]=p,c[j>>2]|0);u=p<999999984306749440.0?k:1566444395;E=+g[d+8>>2];n=(g[j>>2]=E,c[j>>2]|0);w=E<999999984306749440.0?n:1566444395;r=+g[d+12>>2];y=r<0.0?r:0.0;h=q>-999999984306749440.0?h:-581039253;k=p>-999999984306749440.0?k:-581039253;n=E>-999999984306749440.0?n:-581039253;r=r>0.0?r:0.0;E=+g[d+16>>2];B=E<(c[j>>2]=t,+g[j>>2]);i=(g[j>>2]=E,c[j>>2]|0);t=B?i:t;p=+g[d+20>>2];B=p<(c[j>>2]=u,+g[j>>2]);m=(g[j>>2]=p,c[j>>2]|0);u=B?m:u;q=+g[d+24>>2];B=q<(c[j>>2]=w,+g[j>>2]);o=(g[j>>2]=q,c[j>>2]|0);w=B?o:w;s=+g[d+28>>2];y=s<y?s:y;x=(c[j>>2]=h,+g[j>>2])<E?i:h;v=(c[j>>2]=k,+g[j>>2])<p?m:k;m=(c[j>>2]=n,+g[j>>2])<q?o:n;s=r<s?s:r;E=+g[d+32>>2];B=E<(c[j>>2]=t,+g[j>>2]);h=(g[j>>2]=E,c[j>>2]|0);B=B?h:t;q=+g[d+36>>2];A=q<(c[j>>2]=u,+g[j>>2]);i=(g[j>>2]=q,c[j>>2]|0);A=A?i:u;r=+g[d+40>>2];z=r<(c[j>>2]=w,+g[j>>2]);k=(g[j>>2]=r,c[j>>2]|0);z=z?k:w;p=+g[d+44>>2];y=p<y?p:y;w=(c[j>>2]=x,+g[j>>2])<E?h:x;v=(c[j>>2]=v,+g[j>>2])<q?i:v;u=(c[j>>2]=m,+g[j>>2])<r?k:m;p=s<p?p:s;t=c[b+4>>2]|0;h=c[t+4>>2]|0;if((h|0)==(c[t+8>>2]|0)?(C=h|0?h<<1:1,(h|0)<(C|0)):0){if(!C)o=0;else{c[6485]=(c[6485]|0)+1;h=ic(C<<6|19)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}o=h;h=c[t+4>>2]|0}if((h|0)>0){i=0;do{k=o+(i<<6)|0;m=(c[t+12>>2]|0)+(i<<6)|0;n=k+64|0;do{c[k>>2]=c[m>>2];k=k+4|0;m=m+4|0}while((k|0)<(n|0));i=i+1|0}while((i|0)!=(h|0))}h=c[t+12>>2]|0;if(h|0){if(a[t+16>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[h+-4>>2]|0)}c[t+12>>2]=0}a[t+16>>0]=1;c[t+12>>2]=o;c[t+8>>2]=C;h=c[t+4>>2]|0}C=c[t+12>>2]|0;c[C+(h<<6)>>2]=B;c[C+(h<<6)+4>>2]=A;c[C+(h<<6)+8>>2]=z;g[C+(h<<6)+12>>2]=y;c[C+(h<<6)+16>>2]=w;c[C+(h<<6)+20>>2]=v;c[C+(h<<6)+24>>2]=u;g[C+(h<<6)+28>>2]=p;c[C+(h<<6)+32>>2]=-1;c[C+(h<<6)+36>>2]=e;c[C+(h<<6)+40>>2]=f;f=C+(h<<6)+44|0;c[f>>2]=c[D>>2];c[f+4>>2]=c[D+4>>2];c[f+8>>2]=c[D+8>>2];c[f+12>>2]=c[D+12>>2];c[f+16>>2]=c[D+16>>2];c[t+4>>2]=(c[t+4>>2]|0)+1;l=D;return}function pe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;var h=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0;o=l;l=l+16|0;k=+g[d>>2];m=+g[d+4>>2];n=+g[d+8>>2];i=+g[e>>2];j=+g[e+4>>2];h=+g[e+8>>2];if(!(a[b+228>>0]|0)){z=+g[b+100>>2];w=+g[b+116>>2];C=+g[b+132>>2];y=+g[b+104>>2];u=+g[b+120>>2];B=+g[b+136>>2];x=+g[b+108>>2];s=+g[b+124>>2];A=+g[b+140>>2];F=-+g[b+148>>2];E=-+g[b+152>>2];D=-+g[b+156>>2];J=+g[b+164>>2];I=+g[b+168>>2];r=+g[b+172>>2];H=+g[b+180>>2];G=+g[b+184>>2];q=+g[b+188>>2];v=+g[b+196>>2];t=+g[b+200>>2];p=+g[b+204>>2];r=h*(C*J+B*I+A*r)+(i*(z*J+y*I+x*r)+j*(w*J+u*I+s*r))+(J*(z*F+w*E+C*D)+(y*F+u*E+B*D)*I+(x*F+s*E+A*D)*r+ +g[b+212>>2]);q=h*(C*H+B*G+A*q)+(i*(z*H+y*G+x*q)+j*(w*H+u*G+s*q))+((z*F+w*E+C*D)*H+(y*F+u*E+B*D)*G+(x*F+s*E+A*D)*q+ +g[b+216>>2]);p=(z*F+w*E+C*D)*v+(y*F+u*E+B*D)*t+(x*F+s*E+A*D)*p+ +g[b+220>>2]+(h*(C*v+B*t+A*p)+(i*(z*v+y*t+x*p)+j*(w*v+u*t+s*p)));g[o>>2]=r;g[o+4>>2]=q;g[o+8>>2]=p;f=(k*f+i-r)*+g[d>>2]+(m*f+j-q)*+g[d+4>>2]+(n*f+h-p)*+g[d+8>>2];e=o+12|0;g[e>>2]=0.0;b=b+32|0;b=c[b>>2]|0;e=c[b>>2]|0;e=e+16|0;e=c[e>>2]|0;Ub[e&15](b,d,o,f);l=o;return}else{z=+g[b+36>>2];C=+g[b+52>>2];w=+g[b+68>>2];A=+g[b+40>>2];E=+g[b+56>>2];x=+g[b+72>>2];B=+g[b+44>>2];G=+g[b+60>>2];y=+g[b+76>>2];t=-+g[b+84>>2];u=-+g[b+88>>2];v=-+g[b+92>>2];p=+g[b+164>>2];q=+g[b+168>>2];H=+g[b+172>>2];r=+g[b+180>>2];s=+g[b+184>>2];I=+g[b+188>>2];D=+g[b+196>>2];F=+g[b+200>>2];J=+g[b+204>>2];H=(n*f+h)*(w*p+x*q+y*H)+((k*f+i)*(z*p+A*q+B*H)+(m*f+j)*(C*p+E*q+G*H))+(p*(z*t+C*u+w*v)+(A*t+E*u+x*v)*q+(B*t+G*u+y*v)*H+ +g[b+212>>2]);I=(n*f+h)*(w*r+x*s+y*I)+((k*f+i)*(z*r+A*s+B*I)+(m*f+j)*(C*r+E*s+G*I))+((z*t+C*u+w*v)*r+(A*t+E*u+x*v)*s+(B*t+G*u+y*v)*I+ +g[b+216>>2]);J=(z*t+C*u+w*v)*D+(A*t+E*u+x*v)*F+(B*t+G*u+y*v)*J+ +g[b+220>>2]+((n*f+h)*(w*D+x*F+y*J)+((k*f+i)*(z*D+A*F+B*J)+(m*f+j)*(C*D+E*F+G*J)));g[o>>2]=H+k*(k*(H-i)+m*(I-j)+n*(J-h));g[o+4>>2]=I+m*(k*(H-i)+m*(I-j)+n*(J-h));g[o+8>>2]=J+n*(k*(H-i)+m*(I-j)+n*(J-h));J=k*(H-i)+m*(I-j)+n*(J-h);e=o+12|0;g[e>>2]=0.0;b=b+32|0;b=c[b>>2]|0;e=c[b>>2]|0;e=e+16|0;e=c[e>>2]|0;Ub[e&15](b,d,o,J);l=o;return}}function qe(b){b=b|0;var d=0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+64|0;bj(15043);d=c[b+8>>2]|0;if((d|0)>0){o=0;do{n=c[(c[b+16>>2]|0)+(o<<2)>>2]|0;if(!(a[b+76>>0]|0))switch(c[n+216>>2]|0){case 2:case 5:break;default:q=11}else q=11;if((q|0)==11){q=0;d=c[n+192>>2]|0;Zb[c[(c[d>>2]|0)+8>>2]&127](d,n+4|0,r+48|0,r+32|0);e=+g[r+48>>2]+-.019999999552965164;g[r+48>>2]=e;f=+g[r+48+4>>2]+-.019999999552965164;g[r+48+4>>2]=f;h=+g[r+48+8>>2]+-.019999999552965164;g[r+48+8>>2]=h;i=+g[r+32>>2]+.019999999552965164;g[r+32>>2]=i;j=+g[r+32+4>>2]+.019999999552965164;g[r+32+4>>2]=j;k=+g[r+32+8>>2]+.019999999552965164;g[r+32+8>>2]=k;if(((a[b+44>>0]|0)!=0?(c[n+236>>2]|0)==2:0)?(c[n+204>>2]&3|0)==0:0){d=c[n+192>>2]|0;Zb[c[(c[d>>2]|0)+8>>2]&127](d,n+68|0,r+16|0,r);f=+g[r+16>>2]+-.019999999552965164;g[r+16>>2]=f;h=+g[r+16+4>>2]+-.019999999552965164;g[r+16+4>>2]=h;i=+g[r+16+8>>2]+-.019999999552965164;g[r+16+8>>2]=i;j=+g[r>>2]+.019999999552965164;g[r>>2]=j;k=+g[r+4>>2]+.019999999552965164;g[r+4>>2]=k;m=+g[r+8>>2]+.019999999552965164;g[r+8>>2]=m;e=+g[r+48>>2];if(f<e){g[r+48>>2]=f;e=f}f=+g[r+48+4>>2];if(h<f){g[r+48+4>>2]=h;f=h}h=+g[r+48+8>>2];if(i<h){g[r+48+8>>2]=i;h=i}i=+g[r+16+12>>2];if(i<+g[r+48+12>>2])g[r+48+12>>2]=i;i=+g[r+32>>2];if(i<j){g[r+32>>2]=j;i=j}j=+g[r+32+4>>2];if(j<k){g[r+32+4>>2]=k;j=k}k=+g[r+32+8>>2];if(k<m){g[r+32+8>>2]=m;k=m}m=+g[r+12>>2];if(+g[r+32+12>>2]<m)g[r+32+12>>2]=m}d=c[b+68>>2]|0;if((c[n+204>>2]&1|0)==0?(i=i-e,j=j-f,m=k-h,!(i*i+j*j+m*m<999999995904.0)):0){if((c[n+216>>2]&-2|0)!=4)c[n+216>>2]=5;if(a[15055]|0?(p=c[b+72>>2]|0,p|0):0){a[15055]=0;nb[c[(c[p>>2]|0)+36>>2]&127](p,15056);n=c[b+72>>2]|0;nb[c[(c[n>>2]|0)+36>>2]&127](n,15105);n=c[b+72>>2]|0;nb[c[(c[n>>2]|0)+36>>2]&127](n,15173);n=c[b+72>>2]|0;nb[c[(c[n>>2]|0)+36>>2]&127](n,15238)}}else jb[c[(c[d>>2]|0)+16>>2]&31](d,c[n+188>>2]|0,r+48|0,r+32|0,c[b+24>>2]|0);d=c[b+8>>2]|0}o=o+1|0}while((o|0)<(d|0))}d=c[2380]|0;q=(c[d+16>>2]|0)+-1|0;c[d+16>>2]=q;if(q|0){l=r;return}do if(c[d+4>>2]|0){Za(r+48|0,0)|0;q=c[6484]|0;g[d+8>>2]=+(((c[r+48+4>>2]|0)-(c[q+4>>2]|0)+(((c[r+48>>2]|0)-(c[q>>2]|0)|0)*1e6|0)-(c[d+12>>2]|0)|0)>>>0)/1.0e3+ +g[d+8>>2];if(!(c[d+16>>2]|0)){d=c[2380]|0;break}else{l=r;return}}while(0);c[2380]=c[d+20>>2];l=r;return}function re(b,d,e,f,h,i,k,l){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;k=k|0;l=l|0;var m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;c[b+4>>2]=4;c[b+8>>2]=-1;c[b+12>>2]=-1;g[b+16>>2]=3402823466385288598117041.0e14;a[b+20>>0]=1;a[b+21>>0]=0;c[b+24>>2]=-1;c[b+28>>2]=d;c[b+32>>2]=e;g[b+36>>2]=0.0;g[b+40>>2]=.30000001192092896;c[b+44>>2]=0;c[b>>2]=4832;g[b+688>>2]=0.0;g[b+692>>2]=-1.0;g[b+696>>2]=.8999999761581421;g[b+700>>2]=.30000001192092896;g[b+704>>2]=1.0;g[b+708>>2]=0.0;g[b+712>>2]=0.0;a[b+716>>0]=0;a[b+736>>0]=0;a[b+737>>0]=0;a[b+738>>0]=0;a[b+739>>0]=1;a[b+740>>0]=l&1;c[b+748>>2]=0;c[b+600>>2]=c[f>>2];c[b+600+4>>2]=c[f+4>>2];c[b+600+8>>2]=c[f+8>>2];c[b+600+12>>2]=c[f+12>>2];m=+g[d+4>>2];n=+g[d+20>>2];o=+g[d+36>>2];p=+g[i>>2];q=+g[i+4>>2];r=+g[i+8>>2];do if(!(m*p+n*q+o*r>=.9999998807907104))if(!(m*p+n*q+o*r<=-.9999998807907104)){f=(g[j>>2]=o*q-n*r,c[j>>2]|0);e=(g[j>>2]=m*r-o*p,c[j>>2]|0);x=p*(n*p-m*q)-r*(o*q-n*r);y=q*(o*q-n*r)-p*(m*r-o*p);s=(g[j>>2]=n*p-m*q,c[j>>2]|0);w=r*(m*r-o*p)-q*(n*p-m*q);break}else{x=+g[d+28>>2];e=c[d+24>>2]|0;y=+g[d+44>>2];s=c[d+40>>2]|0;w=+g[d+12>>2];f=c[d+8>>2]|0;break}else{x=-+g[d+28>>2];e=c[d+24>>2]|0;y=-+g[d+44>>2];s=c[d+40>>2]|0;w=-+g[d+12>>2];f=c[d+8>>2]|0}while(0);g[b+552>>2]=w;c[b+556>>2]=f;c[b+560>>2]=c[i>>2];g[b+564>>2]=0.0;g[b+568>>2]=x;c[b+572>>2]=e;c[b+576>>2]=c[i+4>>2];g[b+580>>2]=0.0;g[b+584>>2]=y;c[b+588>>2]=s;c[b+592>>2]=c[i+8>>2];g[b+596>>2]=0.0;o=+g[i+4>>2];t=+g[k+8>>2];p=+g[i+8>>2];u=+g[k+4>>2];v=+g[k>>2];m=+g[i>>2];do if(t*p+(o*u+v*m)<-.9999998807907104)if(+F(+p)>.7071067690849304){n=1.0/+G(+(o*o+p*p));q=0.0;r=-(p*n);n=o*n;m=0.0;break}else{p=1.0/+G(+(o*o+m*m));q=0.0;r=m*p;n=0.0;m=-(o*p);break}else{z=+G(+((t*p+(o*u+v*m)+1.0)*2.0));q=z*.5;r=(p*v-t*m)*(1.0/z);n=(u*m-o*v)*(1.0/z);m=(o*t-p*u)*(1.0/z)}while(0);B=w*q+y*r-x*n;p=x*q+w*n-y*m;o=y*q+x*m-w*r;A=-(w*m)-x*r-y*n;x=-m;r=-r;w=-n;z=p*w+(q*B+A*x)-o*r;y=o*x+(q*p+A*r)-B*w;x=B*r+(A*w+q*o)-p*x;c[b+664>>2]=c[h>>2];c[b+664+4>>2]=c[h+4>>2];c[b+664+8>>2]=c[h+8>>2];c[b+664+12>>2]=c[h+12>>2];g[b+616>>2]=z;g[b+620>>2]=u*x-t*y;c[b+624>>2]=c[k>>2];g[b+628>>2]=0.0;g[b+632>>2]=y;g[b+636>>2]=t*z-v*x;c[b+640>>2]=c[k+4>>2];g[b+644>>2]=0.0;g[b+648>>2]=x;g[b+652>>2]=v*y-u*z;c[b+656>>2]=c[k+8>>2];g[b+660>>2]=0.0;g[b+732>>2]=l?-1.0:1.0;return}function se(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(!((a|0)!=0&(b|0)!=0))return;c[6485]=(c[6485]|0)+1;e=ic(1043)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[e>>2]=a;c[e+4>>2]=b;f=e;h=e;n=e;i=128;a=128;k=e;r=1;b=124;while(1){o=r+-1|0;p=c[n+(o<<3)>>2]|0;q=c[n+(o<<3)+4>>2]|0;if((o|0)>(b|0)){j=i<<1;do if((i|0)<(j|0)&(a|0)<(j|0)){if(i){c[6485]=(c[6485]|0)+1;e=ic((i<<4|3)+16|0)|0;if(!e)b=0;else{c[(e+4+15&-16)+-4>>2]=e;b=e+4+15&-16}if((i|0)>0){e=0;do{h=n+(e<<3)|0;l=c[h+4>>2]|0;m=b+(e<<3)|0;c[m>>2]=c[h>>2];c[m+4>>2]=l;e=e+1|0}while((e|0)!=(i|0));a=b;e=b}else{a=b;e=b;s=12}}else{a=0;e=0;s=12}if((s|0)==12){s=0;if(!n){f=a;h=a;b=a;a=j;break}}if(!k){f=a;h=a;b=a;a=j}else{c[6486]=(c[6486]|0)+1;Uc(c[k+-4>>2]|0);f=a;h=a;b=a;a=j}}else{b=k;e=n}while(0);m=f;l=h;k=b;i=j;j=j+-4|0}else{m=f;l=h;e=n;j=b}do if((p|0)==(q|0))if(!(c[p+40>>2]|0))b=o;else{b=c[p+36>>2]|0;c[e+(o<<3)>>2]=b;c[e+(o<<3)+4>>2]=b;b=r+1|0;q=c[p+40>>2]|0;c[e+(r<<3)>>2]=q;c[e+(r<<3)+4>>2]=q;q=c[p+40>>2]|0;c[e+(b<<3)>>2]=c[p+36>>2];c[e+(b<<3)+4>>2]=q;b=r+2|0}else if(((((+g[p>>2]<=+g[q+16>>2]?+g[p+16>>2]>=+g[q>>2]:0)?+g[p+4>>2]<=+g[q+20>>2]:0)?+g[p+20>>2]>=+g[q+4>>2]:0)?+g[p+8>>2]<=+g[q+24>>2]:0)?+g[p+24>>2]>=+g[q+8>>2]:0){b=(c[q+40>>2]|0)!=0;if(!(c[p+40>>2]|0))if(b){b=c[q+36>>2]|0;c[e+(o<<3)>>2]=p;c[e+(o<<3)+4>>2]=b;b=c[q+40>>2]|0;c[e+(r<<3)>>2]=p;c[e+(r<<3)+4>>2]=b;b=r+1|0;break}else{Vb[c[(c[d>>2]|0)+8>>2]&127](d,p,q);b=o;break}else{f=e+(o<<3)|0;h=c[p+36>>2]|0;if(b){b=c[q+36>>2]|0;c[f>>2]=h;c[e+(o<<3)+4>>2]=b;o=r+1|0;b=c[q+36>>2]|0;c[e+(r<<3)>>2]=c[p+40>>2];c[e+(r<<3)+4>>2]=b;b=r+2|0;n=c[q+40>>2]|0;c[e+(o<<3)>>2]=c[p+36>>2];c[e+(o<<3)+4>>2]=n;q=c[q+40>>2]|0;c[e+(b<<3)>>2]=c[p+40>>2];c[e+(b<<3)+4>>2]=q;b=r+3|0;break}else{c[f>>2]=h;c[e+(o<<3)+4>>2]=q;c[e+(r<<3)>>2]=c[p+40>>2];c[e+(r<<3)+4>>2]=q;b=r+1|0;break}}}else b=o;while(0);if(!b)break;else{f=m;h=l;n=e;r=b;b=j}}if((e|0)==0|(m|0)==0)return;c[6486]=(c[6486]|0)+1;Uc(c[m+-4>>2]|0);return}function te(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0,i=0,j=0.0;a=l;l=l+256|0;switch(c[b+388>>2]&15){case 1:{c[a+128>>2]=3492;h=c[d+8>>2]|0;h=(c[h+236>>2]&2|0)==0?0:h;i=c[d+12>>2]|0;j=+g[i+48>>2];e=+g[i+52>>2];f=+g[i+56>>2];f=+G(+((j-j)*(j-j)+(e-e)*(e-e)+(f-f)*(f-f)));i=c[b+192>>2]|0;e=+Db[c[(c[i>>2]|0)+48>>2]&15](i);i=c[d+4>>2]|0;Zb[c[(c[i>>2]|0)+8>>2]&127](i,c[d+12>>2]|0,a+112|0,a+96|0);c[a+32>>2]=c[a+112>>2];c[a+32+4>>2]=c[a+112+4>>2];c[a+32+8>>2]=c[a+112+8>>2];c[a+32+12>>2]=c[a+112+12>>2];c[a+32+16>>2]=c[a+96>>2];c[a+32+16+4>>2]=c[a+96+4>>2];c[a+32+16+8>>2]=c[a+96+8>>2];c[a+32+16+12>>2]=c[a+96+12>>2];c[a+64>>2]=c[a+32>>2];c[a+64+4>>2]=c[a+32+4>>2];c[a+64+8>>2]=c[a+32+8>>2];c[a+64+12>>2]=c[a+32+12>>2];c[a+64+16>>2]=c[a+32+16>>2];c[a+64+20>>2]=c[a+32+20>>2];c[a+64+24>>2]=c[a+32+24>>2];c[a+64+28>>2]=c[a+32+28>>2];g[a+64>>2]=+g[a+64>>2]-e;g[a+64+4>>2]=+g[a+64+4>>2]-e;g[a+64+8>>2]=+g[a+64+8>>2]-e;g[a+64+16>>2]=e+ +g[a+64+16>>2];g[a+64+20>>2]=e+ +g[a+64+20>>2];g[a+64+24>>2]=e+ +g[a+64+24>>2];c[a+128+4>>2]=b;c[a+128+8>>2]=d;c[a+128+12>>2]=h;g[a+128+16>>2]=f+e;g[a+128+20>>2]=e;We(c[b+928>>2]|0,a+64|0,a+128|0);l=a;return}case 2:{g[a+4>>2]=1.0;c[a+8+4>>2]=0;c[a+8+4+4>>2]=0;c[a+8+4+8>>2]=0;c[a>>2]=3528;c[a+24>>2]=b;c[a+28>>2]=d;c[a+8>>2]=c[b+456>>2];i=c[d+4>>2]|0;j=+Db[c[(c[i>>2]|0)+48>>2]&15](i);i=c[b+192>>2]|0;j=j+ +Db[c[(c[i>>2]|0)+48>>2]&15](i);g[a+12>>2]=j;f=+g[(c[d+8>>2]|0)+224>>2];g[a+248>>2]=f;c[a+16>>2]=c[(+g[b+316>>2]<f?b+316|0:a+248|0)>>2];i=c[d+4>>2]|0;Zb[c[(c[i>>2]|0)+8>>2]&127](i,c[d+12>>2]|0,a+232|0,a+216|0);c[a+152>>2]=c[a+232>>2];c[a+152+4>>2]=c[a+232+4>>2];c[a+152+8>>2]=c[a+232+8>>2];c[a+152+12>>2]=c[a+232+12>>2];c[a+152+16>>2]=c[a+216>>2];c[a+152+16+4>>2]=c[a+216+4>>2];c[a+152+16+8>>2]=c[a+216+8>>2];c[a+152+16+12>>2]=c[a+216+12>>2];c[a+184>>2]=c[a+152>>2];c[a+184+4>>2]=c[a+152+4>>2];c[a+184+8>>2]=c[a+152+8>>2];c[a+184+12>>2]=c[a+152+12>>2];c[a+184+16>>2]=c[a+152+16>>2];c[a+184+20>>2]=c[a+152+20>>2];c[a+184+24>>2]=c[a+152+24>>2];c[a+184+28>>2]=c[a+152+28>>2];g[a+184>>2]=+g[a+184>>2]-j;g[a+184+4>>2]=+g[a+184+4>>2]-j;g[a+184+8>>2]=+g[a+184+8>>2]-j;g[a+184+16>>2]=j+ +g[a+184+16>>2];g[a+184+20>>2]=j+ +g[a+184+20>>2];g[a+184+24>>2]=j+ +g[a+184+24>>2];We(c[b+1048>>2]|0,a+184|0,a);l=a;return}default:{l=a;return}}}function ue(a,b,d){a=a|0;b=b|0;d=d|0;var f=0.0,i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+80|0;n=c[a+4>>2]|0;Jb[c[(c[n>>2]|0)+16>>2]&3](n,s+28|0,s+24|0,s+20|0,s+16|0,s+12|0,s+8|0,s+4|0,s,b);n=c[s+12>>2]|0;o=S(c[s+8>>2]|0,d)|0;r=c[a+4>>2]|0;p=(c[s+20>>2]|0)==0;q=c[s+28>>2]|0;do if((c[s>>2]|0)==3){m=c[s+16>>2]|0;k=S(m,e[n+o+4>>1]|0)|0;if(p){i=+g[q+(k+8)>>2];j=+g[q+(k+4)>>2]*+g[r+8>>2];f=+g[q+k>>2]*+g[r+4>>2]}else{i=+h[q+(k+16)>>3];j=+h[q+(k+8)>>3]*+g[r+8>>2];f=+h[q+k>>3]*+g[r+4>>2]}i=i*+g[r+12>>2];g[s+32+32>>2]=f;g[s+32+36>>2]=j;g[s+32+40>>2]=i;g[s+32+44>>2]=0.0;k=S(m,e[n+o+2>>1]|0)|0;if(p){i=+g[q+(k+8)>>2];j=+g[q+(k+4)>>2]*+g[r+8>>2];f=+g[q+k>>2]*+g[r+4>>2]}else{i=+h[q+(k+16)>>3];j=+h[q+(k+8)>>3]*+g[r+8>>2];f=+h[q+k>>3]*+g[r+4>>2]}i=i*+g[r+12>>2];g[s+32+16>>2]=f;g[s+32+20>>2]=j;g[s+32+24>>2]=i;g[s+32+28>>2]=0.0;k=S(m,e[n+o>>1]|0)|0;if(p){i=+g[q+(k+4)>>2]*+g[r+8>>2];j=+g[q+k>>2]*+g[r+4>>2];f=+g[q+(k+8)>>2];break}else{i=+h[q+(k+8)>>3]*+g[r+8>>2];j=+h[q+k>>3]*+g[r+4>>2];f=+h[q+(k+16)>>3];break}}else{k=c[s+16>>2]|0;m=S(k,c[n+(o+8)>>2]|0)|0;if(p){i=+g[q+(m+4)>>2]*+g[r+8>>2];j=+g[q+(m+8)>>2]*+g[r+12>>2];g[s+32+32>>2]=+g[q+m>>2]*+g[r+4>>2];g[s+32+36>>2]=i;g[s+32+40>>2]=j;g[s+32+44>>2]=0.0;p=S(k,c[n+(o+4)>>2]|0)|0;j=+g[q+(p+4)>>2]*+g[r+8>>2];i=+g[q+(p+8)>>2]*+g[r+12>>2];g[s+32+16>>2]=+g[q+p>>2]*+g[r+4>>2];g[s+32+20>>2]=j;g[s+32+24>>2]=i;g[s+32+28>>2]=0.0;p=S(k,c[n+o>>2]|0)|0;i=+g[q+(p+4)>>2]*+g[r+8>>2];j=+g[q+p>>2]*+g[r+4>>2];f=+g[q+(p+8)>>2];break}else{i=+h[q+(m+8)>>3]*+g[r+8>>2];j=+h[q+(m+16)>>3]*+g[r+12>>2];g[s+32+32>>2]=+h[q+m>>3]*+g[r+4>>2];g[s+32+36>>2]=i;g[s+32+40>>2]=j;g[s+32+44>>2]=0.0;p=S(k,c[n+(o+4)>>2]|0)|0;j=+h[q+(p+8)>>3]*+g[r+8>>2];i=+h[q+(p+16)>>3]*+g[r+12>>2];g[s+32+16>>2]=+h[q+p>>3]*+g[r+4>>2];g[s+32+20>>2]=j;g[s+32+24>>2]=i;g[s+32+28>>2]=0.0;p=S(k,c[n+o>>2]|0)|0;i=+h[q+(p+8)>>3]*+g[r+8>>2];j=+h[q+p>>3]*+g[r+4>>2];f=+h[q+(p+16)>>3];break}}while(0);f=f*+g[r+12>>2];g[s+32>>2]=j;g[s+32+4>>2]=i;g[s+32+8>>2]=f;g[s+32+12>>2]=0.0;r=c[a+8>>2]|0;Zb[c[(c[r>>2]|0)+8>>2]&127](r,s+32|0,b,d);a=c[a+4>>2]|0;nb[c[(c[a>>2]|0)+24>>2]&127](a,b);l=s;return}function ve(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0,H=0.0,I=0.0,J=0.0;d=l;l=l+96|0;k=+g[b>>2];m=+g[a+28>>2];x=+g[b+4>>2];y=+g[a+32>>2];z=+g[b+8>>2];A=+g[a+36>>2];B=+g[a+44>>2];C=+g[a+48>>2];D=+g[a+52>>2];E=+g[a+60>>2];n=+g[a+64>>2];o=+g[a+68>>2];p=+g[a+76>>2];q=+g[a+80>>2];r=+g[a+84>>2];g[d+80>>2]=k*m+x*y+z*A+p;g[d+80+4>>2]=k*B+x*C+z*D+q;g[d+80+8>>2]=k*E+x*n+z*o+r;g[d+80+12>>2]=0.0;s=+g[b+16>>2];t=+g[b+20>>2];u=+g[b+24>>2];g[d+64>>2]=s*m+t*y+u*A+p;g[d+64+4>>2]=s*B+t*C+u*D+q;g[d+64+8>>2]=s*E+t*n+u*o+r;g[d+64+12>>2]=0.0;v=+g[b+32>>2];w=+g[b+36>>2];f=+g[b+40>>2];g[d+48>>2]=v*m+w*y+f*A+p;g[d+48+4>>2]=v*B+w*C+f*D+q;g[d+48+8>>2]=v*E+w*n+f*o+r;g[d+48+12>>2]=0.0;h=(k*m+x*y+z*A+p+(s*m+t*y+u*A+p)+(v*m+w*y+f*A+p))*.3333333432674408;i=(k*B+x*C+z*D+q+(s*B+t*C+u*D+q)+(v*B+w*C+f*D+q))*.3333333432674408;j=(k*E+x*n+z*o+r+(s*E+t*n+u*o+r)+(v*E+w*n+f*o+r))*.3333333432674408;g[d+32>>2]=h;g[d+32+4>>2]=i;g[d+32+8>>2]=j;g[d+32+12>>2]=0.0;b=c[a+8>>2]|0;if(!((pb[c[(c[b>>2]|0)+48>>2]&127](b)|0)&16384)){e=c[a+8>>2]|0;F=c[e>>2]|0;F=F+8|0;F=c[F>>2]|0;b=a+12|0;Zb[F&127](e,d+80|0,d+64|0,b);e=c[a+8>>2]|0;F=c[e>>2]|0;F=F+8|0;F=c[F>>2]|0;Zb[F&127](e,d+64|0,d+48|0,b);a=c[a+8>>2]|0;e=c[a>>2]|0;e=e+8|0;e=c[e>>2]|0;Zb[e&127](a,d+48|0,d+80|0,b);l=d;return}J=+g[d+80>>2];I=s*B+t*C+u*D+q-(k*B+x*C+z*D+q);H=s*E+t*n+u*o+r-(k*E+x*n+z*o+r);B=v*B+w*C+f*D+q-(k*B+x*C+z*D+q);z=v*E+w*n+f*o+r-(k*E+x*n+z*o+r);C=H*(v*m+w*y+f*A+p-J)-(s*m+t*y+u*A+p-J)*z;E=(s*m+t*y+u*A+p-J)*B-I*(v*m+w*y+f*A+p-J);D=1.0/+G(+(E*E+((I*z-H*B)*(I*z-H*B)+C*C)));c[d+16>>2]=1065353216;c[d+16+4>>2]=1065353216;c[d+16+8>>2]=0;g[d+16+12>>2]=0.0;b=c[a+8>>2]|0;e=c[(c[b>>2]|0)+8>>2]|0;g[d>>2]=D*(I*z-H*B)+h;g[d+4>>2]=D*C+i;g[d+8>>2]=D*E+j;g[d+12>>2]=0.0;Zb[e&127](b,d+32|0,d,d+16|0);b=c[a+8>>2]|0;e=c[b>>2]|0;e=e+8|0;e=c[e>>2]|0;F=a+12|0;Zb[e&127](b,d+80|0,d+64|0,F);b=c[a+8>>2]|0;e=c[b>>2]|0;e=e+8|0;e=c[e>>2]|0;Zb[e&127](b,d+64|0,d+48|0,F);a=c[a+8>>2]|0;b=c[a>>2]|0;b=b+8|0;b=c[b>>2]|0;Zb[b&127](a,d+48|0,d+80|0,F);l=d;return}function we(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;c[b+4>>2]=6;c[b+8>>2]=-1;c[b+12>>2]=-1;g[b+16>>2]=3402823466385288598117041.0e14;a[b+20>>0]=1;a[b+21>>0]=0;c[b+24>>2]=-1;c[b+28>>2]=d;c[b+32>>2]=e;g[b+36>>2]=0.0;g[b+40>>2]=.30000001192092896;c[b+44>>2]=0;c[b>>2]=4504;c[b+48>>2]=c[f>>2];c[b+48+4>>2]=c[f+4>>2];c[b+48+8>>2]=c[f+8>>2];c[b+48+12>>2]=c[f+12>>2];c[b+64>>2]=c[f+16>>2];c[b+64+4>>2]=c[f+16+4>>2];c[b+64+8>>2]=c[f+16+8>>2];c[b+64+12>>2]=c[f+16+12>>2];c[b+80>>2]=c[f+32>>2];c[b+80+4>>2]=c[f+32+4>>2];c[b+80+8>>2]=c[f+32+8>>2];c[b+80+12>>2]=c[f+32+12>>2];c[b+96>>2]=c[f+48>>2];c[b+96+4>>2]=c[f+48+4>>2];c[b+96+8>>2]=c[f+48+8>>2];c[b+96+12>>2]=c[f+48+12>>2];c[b+112>>2]=c[h>>2];c[b+112+4>>2]=c[h+4>>2];c[b+112+8>>2]=c[h+8>>2];c[b+112+12>>2]=c[h+12>>2];c[b+128>>2]=c[h+16>>2];c[b+128+4>>2]=c[h+16+4>>2];c[b+128+8>>2]=c[h+16+8>>2];c[b+128+12>>2]=c[h+16+12>>2];c[b+144>>2]=c[h+32>>2];c[b+144+4>>2]=c[h+32+4>>2];c[b+144+8>>2]=c[h+32+8>>2];c[b+144+12>>2]=c[h+32+12>>2];c[b+160>>2]=c[h+48>>2];c[b+160+4>>2]=c[h+48+4>>2];c[b+160+8>>2]=c[h+48+8>>2];c[b+160+12>>2]=c[h+48+12>>2];f=b+680|0;h=f+48|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[b+740>>2]=0;c[b+740+4>>2]=0;c[b+740+8>>2]=0;c[b+740+12>>2]=0;c[b+756>>2]=1045220557;c[b+760>>2]=1045220557;c[b+764>>2]=1045220557;c[b+768>>2]=0;c[b+768+4>>2]=0;c[b+768+8>>2]=0;c[b+768+12>>2]=0;c[b+768+16>>2]=0;g[b+728>>2]=.699999988079071;g[b+732>>2]=1.0;g[b+736>>2]=.5;a[b+788>>0]=0;g[b+792>>2]=0.0;g[b+808>>2]=0.0;a[b+789>>0]=0;g[b+796>>2]=0.0;g[b+812>>2]=0.0;a[b+790>>0]=0;g[b+800>>2]=0.0;g[b+816>>2]=0.0;g[b+928>>2]=0.0;g[b+876>>2]=0.0;g[b+880>>2]=.10000000149011612;g[b+884>>2]=300.0;g[b+868>>2]=1.0;g[b+872>>2]=-1.0;g[b+896>>2]=0.0;g[b+900>>2]=.20000000298023224;g[b+904>>2]=0.0;g[b+908>>2]=0.0;g[b+888>>2]=1.0;g[b+892>>2]=.5;c[b+924>>2]=0;g[b+916>>2]=0.0;a[b+912>>0]=0;g[b+992>>2]=0.0;g[b+940>>2]=0.0;g[b+944>>2]=.10000000149011612;g[b+948>>2]=300.0;g[b+932>>2]=1.0;g[b+936>>2]=-1.0;g[b+960>>2]=0.0;g[b+964>>2]=.20000000298023224;g[b+968>>2]=0.0;g[b+972>>2]=0.0;g[b+952>>2]=1.0;g[b+956>>2]=.5;c[b+988>>2]=0;g[b+980>>2]=0.0;a[b+976>>0]=0;g[b+1056>>2]=0.0;g[b+1004>>2]=0.0;g[b+1008>>2]=.10000000149011612;g[b+1012>>2]=300.0;g[b+996>>2]=1.0;g[b+1e3>>2]=-1.0;g[b+1024>>2]=0.0;g[b+1028>>2]=.20000000298023224;g[b+1032>>2]=0.0;g[b+1036>>2]=0.0;g[b+1016>>2]=1.0;g[b+1020>>2]=.5;c[b+1052>>2]=0;g[b+1044>>2]=0.0;a[b+1040>>0]=0;a[b+1300>>0]=i&1;a[b+1301>>0]=1;c[b+1304>>2]=0;a[b+1308>>0]=0;ed(b,(c[b+28>>2]|0)+4|0,(c[b+32>>2]|0)+4|0);return}function xe(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0,m=0;if(!b)b=0;else b=(c[b+236>>2]&2|0)==0?0:b;c[a+64>>2]=0;c[a+64+4>>2]=0;c[a+64+8>>2]=0;c[a+64+12>>2]=0;c[a+64+16>>2]=0;c[a+64+20>>2]=0;c[a+64+24>>2]=0;c[a+64+28>>2]=0;c[a+144>>2]=0;c[a+144+4>>2]=0;c[a+144+8>>2]=0;c[a+144+12>>2]=0;c[a+144+16>>2]=0;c[a+144+20>>2]=0;c[a+144+24>>2]=0;c[a+144+28>>2]=0;if(!b){c[a>>2]=1065353216;c[a+4>>2]=0;c[a+4+4>>2]=0;c[a+4+8>>2]=0;c[a+4+12>>2]=0;c[a+20>>2]=1065353216;c[a+24>>2]=0;c[a+24+4>>2]=0;c[a+24+8>>2]=0;c[a+24+12>>2]=0;c[a+40>>2]=1065353216;c[a+44>>2]=0;c[a+44+4>>2]=0;c[a+44+8>>2]=0;c[a+44+12>>2]=0;c[a+44+16>>2]=0;c[a+240>>2]=0;c[a+128>>2]=0;c[a+128+4>>2]=0;c[a+128+8>>2]=0;c[a+128+12>>2]=0;c[a+96>>2]=1065353216;c[a+100>>2]=1065353216;c[a+104>>2]=1065353216;g[a+108>>2]=0.0;c[a+112>>2]=1065353216;c[a+116>>2]=1065353216;c[a+120>>2]=1065353216;g[a+124>>2]=0.0;b=a+176|0;e=b+60|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));a=a+236|0;g[a>>2]=0.0;return}else{e=b+4|0;c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];c[a+8>>2]=c[e+8>>2];c[a+12>>2]=c[e+12>>2];e=b+20|0;c[a+16>>2]=c[e>>2];c[a+16+4>>2]=c[e+4>>2];c[a+16+8>>2]=c[e+8>>2];c[a+16+12>>2]=c[e+12>>2];e=b+36|0;c[a+32>>2]=c[e>>2];c[a+32+4>>2]=c[e+4>>2];c[a+32+8>>2]=c[e+8>>2];c[a+32+12>>2]=c[e+12>>2];e=b+52|0;c[a+48>>2]=c[e>>2];c[a+48+4>>2]=c[e+4>>2];c[a+48+8>>2]=c[e+8>>2];c[a+48+12>>2]=c[e+12>>2];e=b+344|0;k=+g[e>>2];l=b+348|0;j=k*+g[b+352>>2];i=k*+g[b+356>>2];g[a+128>>2]=k*+g[l>>2];g[a+132>>2]=j;g[a+136>>2]=i;g[a+140>>2]=0.0;c[a+240>>2]=b;m=b+544|0;c[a+96>>2]=c[m>>2];c[a+96+4>>2]=c[m+4>>2];c[a+96+8>>2]=c[m+8>>2];c[a+96+12>>2]=c[m+12>>2];c[a+112>>2]=c[l>>2];c[a+112+4>>2]=c[l+4>>2];c[a+112+8>>2]=c[l+8>>2];c[a+112+12>>2]=c[l+12>>2];l=b+312|0;c[a+176>>2]=c[l>>2];c[a+176+4>>2]=c[l+4>>2];c[a+176+8>>2]=c[l+8>>2];c[a+176+12>>2]=c[l+12>>2];l=b+328|0;c[a+192>>2]=c[l>>2];c[a+192+4>>2]=c[l+4>>2];c[a+192+8>>2]=c[l+8>>2];c[a+192+12>>2]=c[l+12>>2];i=+g[e>>2];j=i*+g[b+416>>2]*d;k=i*+g[b+420>>2]*d;g[a+208>>2]=i*+g[b+412>>2]*d;g[a+212>>2]=j;g[a+216>>2]=k;g[a+220>>2]=0.0;k=+g[b+428>>2];j=+g[b+432>>2];i=+g[b+436>>2];h=(k*+g[b+268>>2]+j*+g[b+284>>2]+i*+g[b+300>>2])*d;f=(k*+g[b+272>>2]+j*+g[b+288>>2]+i*+g[b+304>>2])*d;g[a+224>>2]=(+g[b+264>>2]*k+ +g[b+280>>2]*j+ +g[b+296>>2]*i)*d;g[a+228>>2]=h;g[a+232>>2]=f;a=a+236|0;g[a>>2]=0.0;return}}function ye(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,k=0,m=0.0,n=0.0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0,N=0;M=l;l=l+64|0;c[M>>2]=a;c[M+4>>2]=b;c[M+8>>2]=d;C=+g[a>>2];F=+g[b>>2];K=+g[a+4>>2];L=+g[b+4>>2];z=+g[a+8>>2];A=+g[b+8>>2];g[M+16>>2]=C-F;g[M+16+4>>2]=K-L;g[M+16+8>>2]=z-A;g[M+16+12>>2]=0.0;B=+g[d>>2];D=+g[d+4>>2];E=+g[d+8>>2];g[M+16+16>>2]=F-B;g[M+16+20>>2]=L-D;g[M+16+24>>2]=A-E;g[M+16+28>>2]=0.0;g[M+16+32>>2]=B-C;g[M+16+36>>2]=D-K;g[M+16+40>>2]=E-z;g[M+16+44>>2]=0.0;H=(K-L)*(A-E)-(z-A)*(L-D);I=(z-A)*(F-B)-(A-E)*(C-F);J=(L-D)*(C-F)-(K-L)*(F-B);if(J*J+(H*H+I*I)>0.0){i=0;k=0;h=0;m=K-L;n=z-A;o=C-F;w=C;x=K;y=z;p=0;q=-1.0}else{L=-1.0;l=M;return +L}while(1){if(w*(J*m-I*n)+x*(H*n-J*o)+(I*o-H*m)*y>0.0){v=c[5104+(p<<2)>>2]|0;N=c[M+(v<<2)>>2]|0;m=+g[N>>2];o=m-w;r=+g[N+4>>2];s=r-x;t=+g[N+8>>2];u=t-y;do if(o*o+s*s+u*u>0.0){n=-(w*o+x*s+y*u)/(o*o+s*s+u*u);if(n>=1.0){m=m*m+r*r+t*t;i=2;k=0;h=1065353216;break}if(!(n<=0.0)){h=(g[j>>2]=n,c[j>>2]|0);w=w+o*n;m=x+s*n;y=y+u*n;m=y*y+(w*w+m*m);i=3;k=(g[j>>2]=1.0-n,c[j>>2]|0);break}else{m=w*w+x*x+y*y;i=1;k=1065353216;h=0;break}}else m=-1.0;while(0);if(q<0.0|m<q){c[f>>2]=(i&1|0?1<<p:0)+(i&2|0?1<<v:0);c[e+(p<<2)>>2]=k;c[e+(v<<2)>>2]=h;g[e+(c[5104+(v<<2)>>2]<<2)>>2]=0.0;q=m}}p=p+1|0;if((p|0)==3)break;N=c[M+(p<<2)>>2]|0;m=+g[M+16+(p<<4)+4>>2];n=+g[M+16+(p<<4)+8>>2];o=+g[M+16+(p<<4)>>2];w=+g[N>>2];x=+g[N+4>>2];y=+g[N+8>>2]}if(!(q<0.0)){L=q;l=M;return +L}x=+G(+(J*J+(H*H+I*I)));y=(H*+g[a>>2]+I*+g[a+4>>2]+J*+g[a+8>>2])/(J*J+(H*H+I*I));c[f>>2]=7;u=+g[b>>2]-H*y;t=+g[b+4>>2]-I*y;w=+g[b+8>>2]-J*y;L=+G(+((t*(F-B)-u*(L-D))*(t*(F-B)-u*(L-D))+(((L-D)*w-t*(A-E))*((L-D)*w-t*(A-E))+(u*(A-E)-w*(F-B))*(u*(A-E)-w*(F-B)))))/x;g[e>>2]=L;A=+g[d>>2]-H*y;w=+g[d+4>>2]-I*y;F=+g[d+8>>2]-J*y;K=+G(+((w*(B-C)-A*(D-K))*(w*(B-C)-A*(D-K))+(((D-K)*F-w*(E-z))*((D-K)*F-w*(E-z))+(A*(E-z)-F*(B-C))*(A*(E-z)-F*(B-C)))))/x;g[e+4>>2]=K;g[e+8>>2]=1.0-(K+L);L=J*y*J*y+(H*y*H*y+I*y*I*y);l=M;return +L}function ze(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;c[e+16>>2]=c[a+20>>2];c[e+20>>2]=c[a+24>>2];c[e+24>>2]=c[a+28>>2];c[e+28>>2]=c[a+32>>2];c[e>>2]=c[a+4>>2];c[e+4>>2]=c[a+8>>2];c[e+8>>2]=c[a+12>>2];c[e+12>>2]=c[a+16>>2];c[e+32>>2]=c[a+36>>2];c[e+36>>2]=c[a+40>>2];c[e+40>>2]=c[a+44>>2];c[e+44>>2]=c[a+48>>2];c[e+48>>2]=c[a+56>>2];c[e+52>>2]=d[a+60>>0];k=c[a+88>>2]|0;c[e+56>>2]=k;if(k){k=Kb[c[(c[f>>2]|0)+28>>2]&31](f,c[a+96>>2]|0)|0;c[e+64>>2]=k;if(k|0){h=c[a+88>>2]|0;k=zb[c[(c[f>>2]|0)+16>>2]&63](f,48,h)|0;if((h|0)>0){g=c[a+96>>2]|0;i=0;j=c[k+8>>2]|0;while(1){c[j+16>>2]=c[g+(i<<6)+16>>2];c[j+20>>2]=c[g+(i<<6)+20>>2];c[j+24>>2]=c[g+(i<<6)+24>>2];c[j+28>>2]=c[g+(i<<6)+28>>2];c[j>>2]=c[g+(i<<6)>>2];c[j+4>>2]=c[g+(i<<6)+4>>2];c[j+8>>2]=c[g+(i<<6)+8>>2];c[j+12>>2]=c[g+(i<<6)+12>>2];c[j+32>>2]=c[g+(i<<6)+32>>2];c[j+36>>2]=c[g+(i<<6)+36>>2];c[j+40>>2]=c[g+(i<<6)+40>>2];i=i+1|0;if((i|0)==(h|0))break;else j=j+48|0}}else g=c[a+96>>2]|0;jb[c[(c[f>>2]|0)+20>>2]&31](f,k,18528,1497453121,g)}}else c[e+64>>2]=0;k=c[a+128>>2]|0;c[e+60>>2]=k;if(k){k=Kb[c[(c[f>>2]|0)+28>>2]&31](f,c[a+136>>2]|0)|0;c[e+68>>2]=k;if(k|0){h=c[a+128>>2]|0;k=zb[c[(c[f>>2]|0)+16>>2]&63](f,16,h)|0;if((h|0)>0){g=c[a+136>>2]|0;i=0;j=c[k+8>>2]|0;while(1){c[j+12>>2]=c[g+(i<<4)+12>>2];b[j+6>>1]=b[g+(i<<4)+6>>1]|0;b[j+8>>1]=b[g+(i<<4)+8>>1]|0;b[j+10>>1]=b[g+(i<<4)+10>>1]|0;b[j>>1]=b[g+(i<<4)>>1]|0;b[j+2>>1]=b[g+(i<<4)+2>>1]|0;b[j+4>>1]=b[g+(i<<4)+4>>1]|0;i=i+1|0;if((i|0)==(h|0))break;else j=j+16|0}}else g=c[a+136>>2]|0;jb[c[(c[f>>2]|0)+20>>2]&31](f,k,18551,1497453121,g)}}else c[e+68>>2]=0;c[e+76>>2]=c[a+144>>2];k=c[a+152>>2]|0;c[e+80>>2]=k;if(!k){c[e+72>>2]=0;return 18595}k=Kb[c[(c[f>>2]|0)+28>>2]&31](f,c[a+160>>2]|0)|0;c[e+72>>2]=k;if(!k)return 18595;j=c[a+152>>2]|0;k=zb[c[(c[f>>2]|0)+16>>2]&63](f,20,j)|0;if((j|0)>0){g=c[a+160>>2]|0;h=0;i=c[k+8>>2]|0;while(1){b[i+14>>1]=b[g+(h<<5)+6>>1]|0;b[i+16>>1]=b[g+(h<<5)+8>>1]|0;b[i+18>>1]=b[g+(h<<5)+10>>1]|0;b[i+8>>1]=b[g+(h<<5)>>1]|0;b[i+10>>1]=b[g+(h<<5)+2>>1]|0;b[i+12>>1]=b[g+(h<<5)+4>>1]|0;c[i>>2]=c[g+(h<<5)+12>>2];c[i+4>>2]=c[g+(h<<5)+16>>2];h=h+1|0;if((h|0)==(j|0))break;else i=i+20|0}}else g=c[a+160>>2]|0;jb[c[(c[f>>2]|0)+20>>2]&31](f,k,18574,1497453121,g);return 18595}function Ae(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,H=0,I=0;I=l;l=l+32|0;if(!a){l=I;return}A=+g[d>>2]-+g[b>>2];B=+g[d+4>>2]-+g[b+4>>2];v=+g[d+8>>2]-+g[b+8>>2];w=1.0/+G(+(A*A+B*B+v*v));x=A*w==0.0?999999984306749440.0:1.0/(A*w);y=B*w==0.0?999999984306749440.0:1.0/(B*w);z=v*w==0.0?999999984306749440.0:1.0/(v*w);c[6485]=(c[6485]|0)+1;d=ic(531)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}Lk(d+4|0,0,508)|0;c[d>>2]=a;t=128;a=128;f=d;n=d;o=d;r=d;u=1;p=126;while(1){q=u+-1|0;s=c[r+(q<<2)>>2]|0;c[I>>2]=c[s>>2];c[I+4>>2]=c[s+4>>2];c[I+8>>2]=c[s+8>>2];c[I+12>>2]=c[s+12>>2];c[I+16>>2]=c[s+16>>2];c[I+16+4>>2]=c[s+16+4>>2];c[I+16+8>>2]=c[s+16+8>>2];c[I+16+12>>2]=c[s+16+12>>2];j=+g[b>>2];i=x*(+g[I+((x<0.0&1)<<4)>>2]-j);j=x*(+g[I+((x<0.0^1)<<4)>>2]-j);m=+g[b+4>>2];k=y*(+g[I+((y<0.0&1)<<4)+4>>2]-m);m=y*(+g[I+((y<0.0^1)<<4)+4>>2]-m);do if((!(k>j|i>m)?(C=k>i?k:i,F=m<j?m:j,E=+g[b+8>>2],D=z*(+g[I+((z<0.0&1)<<4)+8>>2]-E),E=z*(+g[I+((z<0.0^1)<<4)+8>>2]-E),!(D>F|C>E)):0)?((E<F?E:F)>0.0?(D>C?D:C)<A*w*A+B*w*B+v*w*v:0):0){if(!(c[s+40>>2]|0)){nb[c[(c[e>>2]|0)+12>>2]&127](e,s);d=r;h=a;a=t;break}if((q|0)>(p|0)){p=t<<1;if((t|0)<(p|0)){do if((a|0)<(p|0)){if(t){c[6485]=(c[6485]|0)+1;d=ic((t<<3|3)+16|0)|0;if(!d)a=0;else{c[(d+4+15&-16)+-4>>2]=d;a=d+4+15&-16}if((t|0)>0){d=0;do{c[a+(d<<2)>>2]=c[r+(d<<2)>>2];d=d+1|0}while((d|0)!=(t|0));h=a;d=a}else{h=a;d=a;H=17}}else{h=0;d=0;H=17}if((H|0)==17){H=0;if(!r){n=h;o=h;f=h;a=p;break}}if(!f){n=h;o=h;f=h;a=p}else{c[6486]=(c[6486]|0)+1;Uc(c[f+-4>>2]|0);n=h;o=h;f=h;a=p}}else d=r;while(0);Lk(d+(t<<2)|0,0,t<<2|0)|0}else d=r;h=a;a=p;p=p+-2|0}else{d=r;h=a;a=t}c[d+(q<<2)>>2]=c[s+36>>2];c[d+(u<<2)>>2]=c[s+40>>2];q=u+1|0}else{d=r;h=a;a=t}while(0);if(!q)break;else{t=a;a=h;r=d;u=q}}if((d|0)==0|(n|0)==0){l=I;return}c[6486]=(c[6486]|0)+1;Uc(c[n+-4>>2]|0);l=I;return}function Be(a){a=a|0;var b=0,d=0,e=0,f=0,h=0,i=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;d=l;l=l+144|0;g[a+36>>2]=0.0;c[d+128>>2]=0;c[d+128+4>>2]=0;c[d+128+8>>2]=0;c[d+128+12>>2]=0;b=0;do{e=d+128+(b<<2)|0;g[e>>2]=1.0;A=c[a+28>>2]|0;I=c[A+4>>2]|0;c[d+80>>2]=I;F=c[A+20>>2]|0;c[d+80+4>>2]=F;C=c[A+36>>2]|0;c[d+80+8>>2]=C;g[d+80+12>>2]=0.0;H=c[A+8>>2]|0;c[d+80+16>>2]=H;E=c[A+24>>2]|0;c[d+80+20>>2]=E;B=c[A+40>>2]|0;c[d+80+24>>2]=B;g[d+80+28>>2]=0.0;G=c[A+12>>2]|0;c[d+80+32>>2]=G;D=c[A+28>>2]|0;c[d+80+36>>2]=D;z=c[A+44>>2]|0;c[d+80+40>>2]=z;g[d+80+44>>2]=0.0;f=c[a+32>>2]|0;y=c[f+4>>2]|0;c[d+32>>2]=y;v=c[f+20>>2]|0;c[d+32+4>>2]=v;s=c[f+36>>2]|0;c[d+32+8>>2]=s;g[d+32+12>>2]=0.0;x=c[f+8>>2]|0;c[d+32+16>>2]=x;u=c[f+24>>2]|0;c[d+32+20>>2]=u;r=c[f+40>>2]|0;c[d+32+24>>2]=r;g[d+32+28>>2]=0.0;w=c[f+12>>2]|0;c[d+32+32>>2]=w;t=c[f+28>>2]|0;c[d+32+36>>2]=t;h=c[f+44>>2]|0;c[d+32+40>>2]=h;g[d+32+44>>2]=0.0;p=+g[a+300>>2];m=p*(c[j>>2]=I,+g[j>>2]);i=+g[a+304>>2];m=m+i*(c[j>>2]=H,+g[j>>2]);k=+g[a+308>>2];m=m+k*(c[j>>2]=G,+g[j>>2]);q=p*(c[j>>2]=F,+g[j>>2]);q=q+i*(c[j>>2]=E,+g[j>>2]);q=q+k*(c[j>>2]=D,+g[j>>2]);p=p*(c[j>>2]=C,+g[j>>2]);i=p+i*(c[j>>2]=B,+g[j>>2]);p=+g[A+52>>2];o=+g[A+56>>2];n=+g[A+60>>2];n=i+k*(c[j>>2]=z,+g[j>>2])+n-n;g[d+16>>2]=m+p-p;g[d+16+4>>2]=q+o-o;g[d+16+8>>2]=n;g[d+16+12>>2]=0.0;n=+g[a+316>>2];o=n*(c[j>>2]=y,+g[j>>2]);q=+g[a+320>>2];o=o+q*(c[j>>2]=x,+g[j>>2]);p=+g[a+324>>2];o=o+p*(c[j>>2]=w,+g[j>>2]);m=n*(c[j>>2]=v,+g[j>>2]);m=m+q*(c[j>>2]=u,+g[j>>2]);m=m+p*(c[j>>2]=t,+g[j>>2]);n=n*(c[j>>2]=s,+g[j>>2]);q=n+q*(c[j>>2]=r,+g[j>>2]);n=+g[f+52>>2];k=+g[f+56>>2];i=+g[f+60>>2];i=q+p*(c[j>>2]=h,+g[j>>2])+i-i;g[d>>2]=o+n-n;g[d+4>>2]=m+k-k;g[d+8>>2]=i;g[d+12>>2]=0.0;h=c[a+28>>2]|0;f=c[a+32>>2]|0;Ag(a+48+(b*84|0)|0,d+80|0,d+32|0,d+16|0,d,d+128|0,h+396|0,+g[h+344>>2],f+396|0,+g[f+344>>2]);g[e>>2]=0.0;b=b+1|0}while((b|0)!=3);l=d;return}function Ce(a,b,d,e,f,h,i,j){a=a|0;b=b|0;d=d|0;e=+e;f=+f;h=+h;i=i|0;j=j|0;var k=0,m=0,n=0,o=0.0,p=0.0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0,w=0.0,x=0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0;V=l;l=l+32|0;z=+g[d>>2];I=+g[d+4>>2];L=+g[d+8>>2];w=+g[i>>2];o=+g[i+4>>2];p=+g[i+8>>2];s=+g[j>>2];t=+g[j+4>>2];u=+g[j+8>>2];J=1.0/+G(+((e-z)*(e-z)+(f-I)*(f-I)+(h-L)*(h-L)));K=(e-z)*J==0.0?999999984306749440.0:1.0/((e-z)*J);M=(f-I)*J==0.0?999999984306749440.0:1.0/((f-I)*J);N=(h-L)*J==0.0?999999984306749440.0:1.0/((h-L)*J);O=(z>e?e:z)+w;P=(I>f?f:I)+o;Q=(L>h?h:L)+p;R=(z<e?e:z)+s;S=(I<f?f:I)+t;T=(L<h?h:L)+u;m=c[a+56>>2]|0;a:do if((m|0)>0){x=0;y=c[a+96>>2]|0;k=0;while(1){k=k+1|0;c[V>>2]=c[y>>2];c[V+4>>2]=c[y+4>>2];c[V+8>>2]=c[y+8>>2];c[V+12>>2]=c[y+12>>2];v=y+16|0;c[V+16>>2]=c[v>>2];c[V+16+4>>2]=c[v+4>>2];c[V+16+8>>2]=c[v+8>>2];c[V+16+12>>2]=c[v+12>>2];g[V>>2]=+g[V>>2]-s;g[V+4>>2]=+g[V+4>>2]-t;g[V+8>>2]=+g[V+8>>2]-u;g[V+16>>2]=+g[V+16>>2]-w;g[V+20>>2]=+g[V+20>>2]-o;g[V+24>>2]=+g[V+24>>2]-p;if(!(O>+g[v>>2])?!(R<+g[y>>2]):0)n=1;else n=0;if(!(!(Q>+g[y+24>>2])?!(T<+g[y+8>>2]):0))n=0;if(((!(P>+g[y+20>>2])?!(S<+g[y+4>>2]|n^1):0)?(B=+g[d>>2],A=K*(+g[V+((K<0.0&1)<<4)>>2]-B),B=K*(+g[V+((K<0.0^1)<<4)>>2]-B),D=+g[d+4>>2],C=M*(+g[V+((M<0.0&1)<<4)+4>>2]-D),D=M*(+g[V+((M<0.0^1)<<4)+4>>2]-D),!(C>B|A>D)):0)?(E=C>A?C:A,U=D<B?D:B,H=+g[d+8>>2],F=N*(+g[V+((N<0.0&1)<<4)+8>>2]-H),H=N*(+g[V+((N<0.0^1)<<4)+8>>2]-H),!(F>U|E>H)):0){n=(H<U?H:U)>0.0?(F>E?F:E)<(h-L)*(h-L)*J+((e-z)*(e-z)*J+(f-I)*(f-I)*J):0;q=c[y+32>>2]|0;if(n&(q|0)==-1){Vb[c[(c[b>>2]|0)+8>>2]&127](b,c[y+36>>2]|0,c[y+40>>2]|0);m=c[a+56>>2]|0;v=17}else{r=(q|0)==-1;v=16}}else{q=c[y+32>>2]|0;n=0;r=(q|0)==-1;v=16}if((v|0)==16){v=0;if(r|n)v=17;else{r=q+x|0;n=y+(q<<6)|0}}if((v|0)==17){r=x+1|0;n=y+64|0}if((r|0)>=(m|0))break a;o=+g[i+4>>2];p=+g[i+8>>2];s=+g[j>>2];t=+g[j+4>>2];u=+g[j+8>>2];w=+g[i>>2];x=r;y=n}}else k=0;while(0);if((c[6217]|0)>=(k|0)){l=V;return}c[6217]=k;l=V;return}function De(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0;h=l;l=l+160|0;e=c[a+4>>2]|0;f=c[e+12>>2]|0;D=+g[f>>2];C=+g[f+4>>2];B=+g[f+8>>2];A=+g[f+16>>2];z=+g[f+20>>2];y=+g[f+24>>2];r=+g[f+32>>2];p=+g[f+36>>2];n=+g[f+40>>2];e=c[(c[e+4>>2]|0)+24>>2]|0;x=+g[e+(d*80|0)>>2];w=+g[e+(d*80|0)+16>>2];v=+g[e+(d*80|0)+32>>2];u=+g[e+(d*80|0)+4>>2];t=+g[e+(d*80|0)+20>>2];s=+g[e+(d*80|0)+36>>2];q=+g[e+(d*80|0)+8>>2];o=+g[e+(d*80|0)+24>>2];m=+g[e+(d*80|0)+40>>2];F=+g[e+(d*80|0)+48>>2];E=+g[e+(d*80|0)+52>>2];i=+g[e+(d*80|0)+56>>2];k=+g[f+48>>2]+(D*F+C*E+B*i);j=+g[f+52>>2]+(A*F+z*E+y*i);i=+g[f+56>>2]+(r*F+p*E+n*i);g[h+88>>2]=D*x+C*w+B*v;g[h+88+4>>2]=D*u+C*t+B*s;g[h+88+8>>2]=D*q+C*o+B*m;g[h+88+12>>2]=0.0;g[h+88+16>>2]=A*x+z*w+y*v;g[h+88+20>>2]=A*u+z*t+y*s;g[h+88+24>>2]=A*q+z*o+y*m;g[h+88+28>>2]=0.0;g[h+88+32>>2]=r*x+p*w+n*v;g[h+88+36>>2]=r*u+p*t+n*s;g[h+88+40>>2]=r*q+p*o+n*m;g[h+88+44>>2]=0.0;g[h+88+48>>2]=k;g[h+88+52>>2]=j;g[h+88+56>>2]=i;g[h+88+60>>2]=0.0;Zb[c[(c[b>>2]|0)+8>>2]&127](b,h+88|0,h+72|0,h+56|0);f=c[a+8>>2]|0;e=c[f+4>>2]|0;Zb[c[(c[e>>2]|0)+8>>2]&127](e,c[f+12>>2]|0,h+40|0,h+24|0);if(!(+g[h+72>>2]>+g[h+24>>2])?!(+g[h+56>>2]<+g[h+40>>2]):0)e=1;else e=0;if(!(!(+g[h+72+8>>2]>+g[h+24+8>>2])?!(+g[h+56+8>>2]<+g[h+40+8>>2]):0))e=0;if(+g[h+72+4>>2]>+g[h+24+4>>2]){l=h;return}if(+g[h+56+4>>2]<+g[h+40+4>>2]|e^1){l=h;return}e=c[a+4>>2]|0;f=c[e+8>>2]|0;c[h>>2]=e;c[h+4>>2]=b;c[h+8>>2]=f;c[h+12>>2]=h+88;c[h+16>>2]=-1;c[h+20>>2]=d;if(!(c[(c[a+24>>2]|0)+(d<<2)>>2]|0)){e=c[a+12>>2]|0;e=tb[c[(c[e>>2]|0)+8>>2]&31](e,h,c[a+8>>2]|0,c[a+28>>2]|0)|0;c[(c[a+24>>2]|0)+(d<<2)>>2]=e;e=c[a+4>>2]|0}f=c[a+20>>2]|0;b=c[f+8>>2]|0;if((c[b+8>>2]|0)==(c[e+8>>2]|0)){c[f+8>>2]=h;Vb[c[(c[f>>2]|0)+8>>2]&127](f,-1,d)}else{b=c[f+12>>2]|0;c[f+12>>2]=h;Vb[c[(c[f>>2]|0)+12>>2]&127](f,-1,d)}e=c[(c[a+24>>2]|0)+(d<<2)>>2]|0;jb[c[(c[e>>2]|0)+8>>2]&31](e,h,c[a+8>>2]|0,c[a+16>>2]|0,c[a+20>>2]|0);e=c[a+20>>2]|0;if((c[(c[e+8>>2]|0)+8>>2]|0)==(c[(c[a+4>>2]|0)+8>>2]|0)){c[e+8>>2]=b;l=h;return}else{c[e+12>>2]=b;l=h;return}}function Ee(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0;if(!(c[a+204>>2]&2)){c[a+68>>2]=c[b>>2];c[a+68+4>>2]=c[b+4>>2];c[a+68+8>>2]=c[b+8>>2];c[a+68+12>>2]=c[b+12>>2];c[a+84>>2]=c[b+16>>2];c[a+84+4>>2]=c[b+16+4>>2];c[a+84+8>>2]=c[b+16+8>>2];c[a+84+12>>2]=c[b+16+12>>2];c[a+100>>2]=c[b+32>>2];c[a+100+4>>2]=c[b+32+4>>2];c[a+100+8>>2]=c[b+32+8>>2];c[a+100+12>>2]=c[b+32+12>>2];c[a+116>>2]=c[b+48>>2];c[a+116+4>>2]=c[b+48+4>>2];c[a+116+8>>2]=c[b+48+8>>2];c[a+116+12>>2]=c[b+48+12>>2];d=a+20|0;e=b+16|0;f=a+36|0;h=b+32|0;i=a+52|0;j=b+48|0;k=a+4|0}else{c[a+68>>2]=c[a+4>>2];c[a+68+4>>2]=c[a+4+4>>2];c[a+68+8>>2]=c[a+4+8>>2];c[a+68+12>>2]=c[a+4+12>>2];c[a+84>>2]=c[a+20>>2];c[a+84+4>>2]=c[a+20+4>>2];c[a+84+8>>2]=c[a+20+8>>2];c[a+84+12>>2]=c[a+20+12>>2];c[a+100>>2]=c[a+36>>2];c[a+100+4>>2]=c[a+36+4>>2];c[a+100+8>>2]=c[a+36+8>>2];c[a+100+12>>2]=c[a+36+12>>2];c[a+116>>2]=c[a+52>>2];c[a+116+4>>2]=c[a+52+4>>2];c[a+116+8>>2]=c[a+52+8>>2];c[a+116+12>>2]=c[a+52+12>>2];d=a+20|0;e=b+16|0;f=a+36|0;h=b+32|0;i=a+52|0;j=b+48|0;k=a+4|0}c[a+132>>2]=c[a+312>>2];c[a+132+4>>2]=c[a+312+4>>2];c[a+132+8>>2]=c[a+312+8>>2];c[a+132+12>>2]=c[a+312+12>>2];c[a+148>>2]=c[a+328>>2];c[a+148+4>>2]=c[a+328+4>>2];c[a+148+8>>2]=c[a+328+8>>2];c[a+148+12>>2]=c[a+328+12>>2];c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2];c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];w=+g[a+4>>2];q=+g[a+396>>2];v=+g[a+8>>2];o=+g[a+400>>2];u=+g[a+12>>2];m=+g[a+404>>2];t=+g[a+20>>2];s=+g[a+24>>2];r=+g[a+28>>2];p=+g[a+36>>2];n=+g[a+40>>2];l=+g[a+44>>2];g[a+264>>2]=w*w*q+v*v*o+u*u*m;g[a+268>>2]=w*q*t+v*o*s+u*m*r;g[a+272>>2]=w*q*p+v*o*n+u*m*l;g[a+276>>2]=0.0;g[a+280>>2]=w*q*t+v*o*s+u*m*r;g[a+284>>2]=t*q*t+s*o*s+r*m*r;g[a+288>>2]=q*t*p+o*s*n+m*r*l;g[a+292>>2]=0.0;g[a+296>>2]=w*q*p+v*o*n+u*m*l;g[a+300>>2]=t*q*p+s*o*n+r*m*l;g[a+304>>2]=p*q*p+n*o*n+l*m*l;g[a+308>>2]=0.0;return}function Fe(){if(a[22680]|0)return;if(!(qy(22680)|0))return;c[6218]=0;c[6219]=-2147483648;c[6220]=-1082130432;g[6221]=0.0;c[6222]=1060716128;c[6223]=-1090087446;c[6224]=-1092290076;g[6225]=0.0;c[6226]=-1098022214;c[6227]=-1084636126;c[6228]=-1092290076;g[6229]=0.0;c[6230]=-1083901670;c[6231]=-2147483648;c[6232]=-1092290177;g[6233]=0.0;c[6234]=-1098022214;c[6235]=1062847522;c[6236]=-1092290043;g[6237]=0.0;c[6238]=1060716128;c[6239]=1057396202;c[6240]=-1092290076;g[6241]=0.0;c[6242]=1049461434;c[6243]=-1084636126;c[6244]=1055193605;g[6245]=0.0;c[6246]=-1086767520;c[6247]=-1090087446;c[6248]=1055193572;g[6249]=0.0;c[6250]=-1086767520;c[6251]=1057396202;c[6252]=1055193572;g[6253]=0.0;c[6254]=1049461434;c[6255]=1062847522;c[6256]=1055193572;g[6257]=0.0;c[6258]=1063581978;c[6259]=0;c[6260]=1055193471;g[6261]=0.0;c[6262]=-2147483648;c[6263]=0;c[6264]=1065353216;g[6265]=0.0;c[6266]=1054458864;c[6267]=-1096927567;c[6268]=-1084636042;g[6269]=0.0;c[6270]=-1104782626;c[6271]=-1090519208;c[6272]=-1084636042;g[6273]=0.0;c[6274]=1049007812;c[6275]=-1085334679;c[6276]=-1090087228;g[6277]=0.0;c[6278]=1054458864;c[6279]=1050556081;c[6280]=-1084636042;g[6281]=0.0;c[6282]=1062847505;c[6283]=-2147483648;c[6284]=-1090087262;g[6285]=0.0;c[6286]=-1090087362;c[6287]=-2147483648;c[6288]=-1084636076;g[6289]=0.0;c[6290]=-1087361736;c[6291]=-1090519141;c[6292]=-1090087262;g[6293]=0.0;c[6294]=-1104782626;c[6295]=1056964440;c[6296]=-1084636042;g[6297]=0.0;c[6298]=-1087361736;c[6299]=1056964507;c[6300]=-1090087262;g[6301]=0.0;c[6302]=1049007812;c[6303]=1062148969;c[6304]=-1090087228;g[6305]=0.0;c[6306]=1064532105;c[6307]=1050556148;c[6308]=0;g[6309]=0.0;c[6310]=1064532105;c[6311]=-1096927500;c[6312]=0;g[6313]=0.0;c[6314]=1058437413;c[6315]=-1085334595;c[6316]=0;g[6317]=0.0;c[6318]=0;c[6319]=-1082130432;c[6320]=0;g[6321]=0.0;c[6322]=-1089046235;c[6323]=-1085334595;c[6324]=0;g[6325]=0.0;c[6326]=-1082951543;c[6327]=-1096927500;c[6328]=-2147483648;g[6329]=0.0;c[6330]=-1082951543;c[6331]=1050556148;c[6332]=-2147483648;g[6333]=0.0;c[6334]=-1089046235;c[6335]=1062149053;c[6336]=-2147483648;g[6337]=0.0;c[6338]=-2147483648;c[6339]=1065353216;c[6340]=-2147483648;g[6341]=0.0;c[6342]=1058437413;c[6343]=1062149053;c[6344]=-2147483648;g[6345]=0.0;c[6346]=1060121912;c[6347]=-1090519141;c[6348]=1057396386;g[6349]=0.0;c[6350]=-1098475836;c[6351]=-1085334679;c[6352]=1057396420;g[6353]=0.0;c[6354]=-1084636143;c[6355]=0;c[6356]=1057396386;g[6357]=0.0;c[6358]=-1098475836;c[6359]=1062148969;c[6360]=1057396420;g[6361]=0.0;c[6362]=1060121912;c[6363]=1056964507;c[6364]=1057396386;g[6365]=0.0;c[6366]=1057396286;c[6367]=0;c[6368]=1062847572;g[6369]=0.0;c[6370]=1042701022;c[6371]=-1090519208;c[6372]=1062847606;g[6373]=0.0;c[6374]=-1093024784;c[6375]=-1096927567;c[6376]=1062847606;g[6377]=0.0;c[6378]=-1093024784;c[6379]=1050556081;c[6380]=1062847606;g[6381]=0.0;c[6382]=1042701022;c[6383]=1056964440;c[6384]=1062847606;g[6385]=0.0;return}function Ge(a,b,d,e,f,h){a=a|0;b=b|0;d=+d;e=+e;f=+f;h=h|0;var i=0,j=0,k=0.0,l=0.0,m=0,n=0,o=0.0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0.0,y=0,z=0.0,A=0.0,B=0,C=0.0;a:while(1){if((b|0)>0){j=0;i=-1;do{do if(c[h+(j<<2)>>2]|0){if((i|0)!=-1?!(+g[a+(j<<4)>>2]*d+ +g[a+(j<<4)+4>>2]*e+ +g[a+(j<<4)+8>>2]*f>+g[a+(i<<4)>>2]*d+ +g[a+(i<<4)+4>>2]*e+ +g[a+(i<<4)+8>>2]*f):0)break;i=j}while(0);j=j+1|0}while((j|0)!=(b|0))}else i=-1;j=h+(i<<2)|0;if((c[j>>2]|0)==3){B=37;break}k=+G(+((e-f*0.0)*(e-f*0.0)+(f*0.0-d)*(f*0.0-d)+(d*0.0-e*0.0)*(d*0.0-e*0.0)));l=+G(+((d-e*0.0)*(d-e*0.0)+((e*0.0-f)*(e*0.0-f)+(f*0.0-d*0.0)*(f*0.0-d*0.0))));if(k>l){z=(f*0.0-d)*(1.0/k);A=(d*0.0-e*0.0)*(1.0/k);t=(e-f*0.0)*(1.0/k)}else{z=(f*0.0-d*0.0)*(1.0/l);A=(d-e*0.0)*(1.0/l);t=(e*0.0-f)*(1.0/l)}s=z*f-A*e;u=A*d-t*f;v=t*e-z*d;w=(i|0)==-1;m=-1;y=0;while(1){x=+(y|0);r=+J(+(x*.01745329238474369));o=+I(+(x*.01745329238474369));k=(t*r+s*o)*.02500000037252903+d;l=(z*r+u*o)*.02500000037252903+e;o=(A*r+v*o)*.02500000037252903+f;if((b|0)>0){p=0;n=-1;do{do if(c[h+(p<<2)>>2]|0){if((n|0)!=-1?!(k*+g[a+(p<<4)>>2]+l*+g[a+(p<<4)+4>>2]+o*+g[a+(p<<4)+8>>2]>k*+g[a+(n<<4)>>2]+l*+g[a+(n<<4)+4>>2]+o*+g[a+(n<<4)+8>>2]):0)break;n=p}while(0);p=p+1|0}while((p|0)!=(b|0))}else n=-1;if((m|0)==(i|0)&(n|0)==(i|0))break a;b:do if(!((m|0)==-1|(m|0)==(n|0))?x+-40.0<=x:0){if((b|0)>0)r=x+-40.0;else{k=x+-40.0;while(1){if((m|0)==(i|0)&w){i=-1;B=32;break a}k=k+5.0;if(!(k<=x))break b;else m=-1}}while(1){o=r*.01745329238474369;C=+J(+o);o=+I(+o);k=(t*C+s*o)*.02500000037252903+d;l=(z*C+u*o)*.02500000037252903+e;o=(A*C+v*o)*.02500000037252903+f;q=0;p=-1;do{do if(c[h+(q<<2)>>2]|0){if((p|0)!=-1?!(k*+g[a+(q<<4)>>2]+l*+g[a+(q<<4)+4>>2]+o*+g[a+(q<<4)+8>>2]>k*+g[a+(p<<4)>>2]+l*+g[a+(p<<4)+4>>2]+o*+g[a+(p<<4)+8>>2]):0)break;p=q}while(0);q=q+1|0}while((q|0)!=(b|0));if((m|0)==(i|0)&(p|0)==(i|0)){B=32;break a}r=r+5.0;if(!(r<=x))break;else m=p}}while(0);y=y+45|0;if((y|0)>360)break;else m=n}c[j>>2]=0}if((B|0)==32)j=h+(i<<2)|0;else if((B|0)==37)return i|0;c[j>>2]=3;B=i;return B|0}function He(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0;c[a+556>>2]=c[b>>2];c[a+556+4>>2]=c[b+4>>2];c[a+556+8>>2]=c[b+8>>2];c[a+556+12>>2]=c[b+12>>2];j=+g[a+568>>2];k=+g[a+560>>2];l=+g[a+564>>2];i=+g[a+556>>2];d=-i-k*0.0-l*0.0;e=(l+j*0.0-i*0.0)*-l+(j*(j+k*0.0-l*0.0)+d*-i)-(j*0.0+i*0.0-k)*-k;f=(j*0.0+i*0.0-k)*-i+(j*(l+j*0.0-i*0.0)+d*-k)-(j+k*0.0-l*0.0)*-l;d=(j+k*0.0-l*0.0)*-k+(d*-l+j*(j*0.0+i*0.0-k))-(l+j*0.0-i*0.0)*-i;if(d*0.0+(f*0.0+e)<-.9999998807907104){h=1.0;d=-0.0;e=0.0;f=0.0}else{t=+G(+((d*0.0+(f*0.0+e)+1.0)*2.0));h=(e*0.0-d)*(1.0/t);d=(d*0.0-f*0.0)*(1.0/t);e=(f-e*0.0)*(1.0/t);f=t*.5}m=1.0/+G(+(f*f+(e*e+(h*h+d*d))));q=d*m;n=h*m;p=e*m;m=f*m;f=1.0/+G(+((m*j-i*-q-k*-n-l*-p)*(m*j-i*-q-k*-n-l*-p)+((j*-p+m*l+k*-q-i*-n)*(j*-p+m*l+k*-q-i*-n)+((m*i+j*-q+l*-n-k*-p)*(m*i+j*-q+l*-n-k*-p)+(i*-p+(j*-n+m*k)-l*-q)*(i*-p+(j*-n+m*k)-l*-q)))));r=(m*i+j*-q+l*-n-k*-p)*f;t=f*(i*-p+(j*-n+m*k)-l*-q);s=f*(j*-p+m*l+k*-q-i*-n);f=f*(m*j-i*-q-k*-n-l*-p);e=+g[a+444>>2];if(e>=.05000000074505806?(o=+g[a+448>>2],o>=.05000000074505806):0){d=m<-1.0?-1.0:m;d=+L(+(d>1.0?1.0:d))*2.0;if(d>1.1920928955078125e-07){h=1.0/+G(+(p*p+(q*q+n*n)));if(+F(+(n*h))>1.1920928955078125e-07){e=+G(+((p*h*p*h/(n*h*n*h)+1.0)/(1.0/(o*o)+p*h*p*h/(n*h*n*h)/(e*e))));j=q*h;i=n*h;h=p*h}else{j=q*h;i=n*h;h=p*h}}else{e=0.0;j=0.0;i=0.0;h=0.0}if(+F(+d)>1.1920928955078125e-07){if(!(d>e)){e=-e;if(d<e)d=e}else d=e;m=d*.5;k=+J(+m)/+G(+(h*h+(i*i+j*j)));n=i*k;m=+I(+m);l=j*k;k=h*k}else{l=q;k=p}}else{l=q;k=p}d=+g[a+452>>2];if(d>=.05000000074505806){e=f<-1.0?-1.0:f;e=+L(+(e>1.0?1.0:e))*2.0;if(e>3.1415927410125732){e=f>1.0?-1.0:-f;e=+L(+(e>1.0?1.0:e))*2.0;h=-r;i=-t;j=-s}else{h=r;i=t;j=s}if(e>1.1920928955078125e-07){q=1.0/+G(+(j*j+(i*i+h*h)));h=h*q;i=i*q;j=j*q}if(+F(+e)>1.1920928955078125e-07){if(!(e>d))if(e<-d)d=-d;else d=e;f=d*.5;d=+J(+f)/+G(+(j*j+(i*i+h*h)));h=h*d;f=+I(+f);e=j*d;d=i*d}else{h=r;e=s;d=t}}else{h=r;e=s;d=t}g[a+556>>2]=n*e+(l*f+m*h)-k*d;g[a+560>>2]=k*h+(n*f+m*d)-l*e;g[a+564>>2]=k*f+m*e+l*d-n*h;g[a+568>>2]=m*f-l*h-n*d-k*e;return}function Ie(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;while(1){p=(b+d|0)/2|0;m=c[a+12>>2]|0;n=c[m+(p<<4)>>2]|0;o=c[m+(p<<4)+4>>2]|0;p=c[m+(p<<4)+8>>2]|0;e=b;f=d;while(1){a:do if(!n)while(1){j=c[m+(e<<4)>>2]|0;if(!j)g=-1;else g=c[j+12>>2]|0;k=c[m+(e<<4)+4>>2]|0;if(!k)h=-1;else h=c[k+12>>2]|0;if(!o)i=-1;else i=c[o+12>>2]|0;do if((g|0)<=-1){g=(h|0)>(i|0);if(g|(j|0)==(n|0)^1)if((j|0)==(n|0)&g)break;else break a;if((k|0)!=(o|0))break a;if((c[m+(e<<4)+8>>2]|0)>>>0<=p>>>0)break a}while(0);e=e+1|0}else{l=c[n+12>>2]|0;while(1){j=c[m+(e<<4)>>2]|0;if(!j)g=-1;else g=c[j+12>>2]|0;k=c[m+(e<<4)+4>>2]|0;if(!k)h=-1;else h=c[k+12>>2]|0;if(!o)i=-1;else i=c[o+12>>2]|0;do if((g|0)<=(l|0)){g=(h|0)>(i|0);if(g|(j|0)==(n|0)^1)if((j|0)==(n|0)&g)break;else break a;if((k|0)!=(o|0))break a;if((c[m+(e<<4)+8>>2]|0)>>>0<=p>>>0)break a}while(0);e=e+1|0}}while(0);b:while(1){if(!n)g=-1;else g=c[n+12>>2]|0;k=c[m+(f<<4)>>2]|0;if(!k)h=-1;else h=c[k+12>>2]|0;if(!o)i=-1;else i=c[o+12>>2]|0;l=c[m+(f<<4)+4>>2]|0;if(!l)j=-1;else j=c[l+12>>2]|0;do if((g|0)<=(h|0)){g=(i|0)>(j|0);if(g|(n|0)==(k|0)^1)if((n|0)==(k|0)&g)break;else break b;if((o|0)!=(l|0))break b;if(p>>>0<=(c[m+(f<<4)+8>>2]|0)>>>0)break b}while(0);f=f+-1|0}if((e|0)<=(f|0)){h=m+(e<<4)|0;i=c[h>>2]|0;j=c[m+(e<<4)+4>>2]|0;k=c[m+(e<<4)+8>>2]|0;l=c[m+(e<<4)+12>>2]|0;m=m+(f<<4)|0;c[h>>2]=c[m>>2];c[h+4>>2]=c[m+4>>2];c[h+8>>2]=c[m+8>>2];c[h+12>>2]=c[m+12>>2];m=c[a+12>>2]|0;c[m+(f<<4)>>2]=i;c[m+(f<<4)+4>>2]=j;c[m+(f<<4)+8>>2]=k;c[m+(f<<4)+12>>2]=l;e=e+1|0;f=f+-1|0}if((e|0)>(f|0))break;m=c[a+12>>2]|0}if((f|0)>(b|0))Ie(a,b,f);if((e|0)<(d|0))b=e;else break}return}function Je(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0.0,j=0.0,k=0.0,l=0,m=0.0,n=0,o=0;n=c[a+192>>2]|0;m=+Db[c[(c[n>>2]|0)+48>>2]&15](n);n=c[a+712>>2]|0;if((n|0)>0){o=0;do{l=c[a+720>>2]|0;d=l+(o*104|0)+8|0;i=+g[b>>2]*+g[d>>2];g[d>>2]=i;d=l+(o*104|0)+12|0;j=+g[b+4>>2]*+g[d>>2];g[d>>2]=j;d=l+(o*104|0)+16|0;k=+g[b+8>>2]*+g[d>>2];g[d>>2]=k;d=l+(o*104|0)+24|0;g[d>>2]=+g[b>>2]*+g[d>>2];d=l+(o*104|0)+28|0;g[d>>2]=+g[b+4>>2]*+g[d>>2];d=l+(o*104|0)+32|0;g[d>>2]=+g[b+8>>2]*+g[d>>2];l=c[l+(o*104|0)+96>>2]|0;d=Ug(a+928|0,l)|0;a:do if(d){f=c[a+936>>2]|0;if((f|0)<=-1){d=c[a+928>>2]|0;break}if(f){h=0;while(1){e=c[d+32>>2]|0;h=h+1|0;if(!e)break a;if((h|0)>=(f|0)){d=e;break}else d=e}}}else d=0;while(0);g[l>>2]=i-m;g[l+4>>2]=j-m;g[l+8>>2]=k-m;g[l+12>>2]=0.0;g[l+16>>2]=m+i;g[l+20>>2]=m+j;g[l+24>>2]=m+k;g[l+28>>2]=0.0;_e(a+928|0,d,l);o=o+1|0}while((o|0)!=(n|0))}og(a);d=c[a+928>>2]|0;if(d){o=c[a+192>>2]|0;j=+Db[c[(c[o>>2]|0)+48>>2]&15](o);m=+g[d+4>>2]-j;k=+g[d+8>>2]-j;g[a+892>>2]=+g[d>>2]-j;g[a+896>>2]=m;g[a+900>>2]=k;g[a+904>>2]=0.0;k=j+ +g[d+20>>2];m=j+ +g[d+24>>2];g[a+908>>2]=j+ +g[d+16>>2];g[a+912>>2]=k;g[a+916>>2]=m;g[a+920>>2]=0.0;d=c[a+188>>2]|0;if(d|0){o=c[a+684>>2]|0;b=c[o+32>>2]|0;jb[c[(c[b>>2]|0)+16>>2]&31](b,d,a+892|0,a+908|0,c[o+36>>2]|0)}}else{c[a+892>>2]=0;c[a+892+4>>2]=0;c[a+892+8>>2]=0;c[a+892+12>>2]=0;c[a+892+16>>2]=0;c[a+892+20>>2]=0;c[a+892+24>>2]=0;c[a+892+28>>2]=0}e=c[a+732>>2]|0;if((e|0)<=0){Mf(a);return}f=c[a+740>>2]|0;d=0;do{b=c[f+(d*52|0)+8>>2]|0;o=c[f+(d*52|0)+12>>2]|0;j=+g[b+8>>2]-+g[o+8>>2];k=+g[b+12>>2]-+g[o+12>>2];m=+g[b+16>>2]-+g[o+16>>2];m=+G(+(j*j+k*k+m*m));g[f+(d*52|0)+16>>2]=m;g[f+(d*52|0)+28>>2]=m*m;d=d+1|0}while((d|0)!=(e|0));d=0;do{g[f+(d*52|0)+24>>2]=(+g[(c[f+(d*52|0)+8>>2]|0)+88>>2]+ +g[(c[f+(d*52|0)+12>>2]|0)+88>>2])/+g[(c[f+(d*52|0)+4>>2]|0)+4>>2];d=d+1|0}while((d|0)!=(e|0));Mf(a);return}function Ke(b,d,e,f,h,i,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0;if((j|0)<2|(k|0)<2){m=0;return m|0}r=S(k,j)|0;c[6485]=(c[6485]|0)+1;b=ic(r>>>0>268435455?18:(r<<4|3)+16|0)|0;if(!b)q=0;else{c[(b+4+15&-16)+-4>>2]=b;q=b+4+15&-16}p=UG(r>>>0>1073741823?-1:r<<2)|0;if((k|0)>0?(j|0)>0:0){o=0;do{y=+(o|0)/+(k+-1|0);t=+g[e>>2];t=t+y*(+g[h>>2]-t);v=+g[e+4>>2];v=v+y*(+g[h+4>>2]-v);x=+g[e+8>>2];x=x+y*(+g[h+8>>2]-x);s=+g[f>>2];u=+g[f+4>>2];w=+g[f+8>>2];b=S(o,j)|0;s=s+y*(+g[i>>2]-s)-t;u=u+y*(+g[i+4>>2]-u)-v;w=w+y*(+g[i+8>>2]-w)-x;n=0;do{y=+(n|0)/+(j+-1|0);z=n+b|0;g[q+(z<<4)>>2]=t+s*y;g[q+(z<<4)+4>>2]=v+u*y;g[q+(z<<4)+8>>2]=x+w*y;g[q+(z<<4)+12>>2]=0.0;g[p+(z<<2)>>2]=1.0;n=n+1|0}while((n|0)!=(j|0));o=o+1|0}while((o|0)!=(k|0))}c[6485]=(c[6485]|0)+1;b=ic(1271)|0;if(!b)b=0;else{c[(b+4+15&-16)+-4>>2]=b;b=b+4+15&-16}uc(b,d,r,q,p);if(l&1|0){g[(c[b+720>>2]|0)+88>>2]=0.0;a[b+924>>0]=1}if(l&2|0){g[(c[b+720>>2]|0)+((j+-1|0)*104|0)+88>>2]=0.0;a[b+924>>0]=1}if(l&4|0){z=S(k+-1|0,j)|0;g[(c[b+720>>2]|0)+(z*104|0)+88>>2]=0.0;a[b+924>>0]=1}if(l&8|0){z=j+-1+(S(k+-1|0,j)|0)|0;g[(c[b+720>>2]|0)+(z*104|0)+88>>2]=0.0;a[b+924>>0]=1}if(q|0){c[6486]=(c[6486]|0)+1;Uc(c[q+-4>>2]|0)}VG(p);if((k|0)<=0){z=b;return z|0}r=0;while(1){if((j|0)>0){e=S(r,j)|0;n=r+1|0;f=S(n,j)|0;i=0;do{h=i+e|0;q=i;i=i+1|0;o=(i|0)<(j|0);if(o)Hf(b,h,i+e|0,0,0);do if((n|0)<(k|0)?(Hf(b,h,q+f|0,0,0),o):0){o=i+e|0;if(!(q+r&1)){Nf(b,q+f|0,h,o,0);Nf(b,q+f|0,o,i+f|0,0);if(!m)break;Hf(b,o,q+f|0,0,0);break}else{p=i+f|0;Nf(b,h,o,p,0);Nf(b,h,p,q+f|0,0);if(!m)break;Hf(b,h,p,0,0);break}}while(0)}while((i|0)!=(j|0))}else n=r+1|0;if((n|0)==(k|0))break;else r=n}return b|0}function Le(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0,j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0.0,v=0.0,w=0.0,x=0,y=0.0,z=0.0,A=0,B=0;j=l;l=l+192|0;h=c[(c[b+4>>2]|0)+740>>2]|0;i=c[(c[b+8>>2]|0)+8>>2]|0;z=+g[e>>2];n=+g[d>>2]*f+z;y=+g[e+4>>2];m=+g[d+4>>2]*f+y;o=+g[e+8>>2];k=+g[d+8>>2]*f+o;x=c[(c[b+12>>2]|0)+8>>2]|0;t=(h|0)!=(i|0)?x:h;x=(h|0)!=(i|0)?i:x;w=n-+g[t+52>>2];v=m-+g[t+56>>2];u=k-+g[t+60>>2];s=w*+g[t+8>>2]+v*+g[t+24>>2]+u*+g[t+40>>2];r=w*+g[t+12>>2]+v*+g[t+28>>2]+u*+g[t+44>>2];z=z-+g[x+52>>2];y=y-+g[x+56>>2];o=o-+g[x+60>>2];q=z*+g[x+4>>2]+y*+g[x+20>>2]+o*+g[x+36>>2];p=z*+g[x+8>>2]+y*+g[x+24>>2]+o*+g[x+40>>2];o=z*+g[x+12>>2]+y*+g[x+28>>2]+o*+g[x+44>>2];g[j>>2]=w*+g[t+4>>2]+v*+g[t+20>>2]+u*+g[t+36>>2];g[j+4>>2]=s;g[j+8>>2]=r;g[j+12>>2]=0.0;g[j+16>>2]=q;g[j+20>>2]=p;g[j+24>>2]=o;g[j+28>>2]=0.0;c[j+64>>2]=c[d>>2];c[j+64+4>>2]=c[d+4>>2];c[j+64+8>>2]=c[d+8>>2];c[j+64+12>>2]=c[d+12>>2];g[j+80>>2]=f;g[j+84>>2]=0.0;g[j+88>>2]=0.0;g[j+92>>2]=0.0;c[j+112>>2]=0;a[j+116>>0]=0;c[j+120>>2]=0;c[j+120+4>>2]=0;c[j+120+8>>2]=0;c[j+120+12>>2]=0;c[j+120+16>>2]=0;c[j+120+20>>2]=0;c[j+120+24>>2]=0;c[j+120+28>>2]=0;g[j+48>>2]=n;g[j+52>>2]=m;g[j+56>>2]=k;g[j+60>>2]=0.0;c[j+32>>2]=c[e>>2];c[j+32+4>>2]=c[e+4>>2];c[j+32+8>>2]=c[e+8>>2];c[j+32+12>>2]=c[e+12>>2];d=c[b+16>>2]|0;e=c[b+20>>2]|0;if((h|0)!=(i|0)){c[j+96>>2]=e;A=b+28|0;t=d;d=e;x=b+24|0;e=c[A>>2]|0;A=j+100|0;c[A>>2]=t;A=j+104|0;c[A>>2]=e;x=c[x>>2]|0;A=j+108|0;c[A>>2]=x;A=(h|0)!=(i|0)?b+12|0:b+8|0;A=c[A>>2]|0;i=(h|0)!=(i|0)?b+8|0:b+12|0;i=c[i>>2]|0;b=b+32|0;b=c[b>>2]|0;h=c[b>>2]|0;h=h+12|0;h=c[h>>2]|0;+vb[h&1](b,j,A,d,e,i,t,x);l=j;return}else{c[j+96>>2]=d;B=b+24|0;x=e;A=b+28|0;e=c[B>>2]|0;B=j+100|0;c[B>>2]=x;B=j+104|0;c[B>>2]=e;A=c[A>>2]|0;B=j+108|0;c[B>>2]=A;B=(h|0)!=(i|0)?b+12|0:b+8|0;B=c[B>>2]|0;t=(h|0)!=(i|0)?b+8|0:b+12|0;t=c[t>>2]|0;b=b+32|0;b=c[b>>2]|0;i=c[b>>2]|0;i=i+12|0;i=c[i>>2]|0;+vb[i&1](b,j,B,d,e,t,x,A);l=j;return}}function Me(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0;h=l;l=l+48|0;c[b+8>>2]=0;g[b+12>>2]=0.0;c[b>>2]=7016;c[b+48>>2]=d;c[b+4>>2]=21;if(pb[c[(c[d>>2]|0)+40>>2]&127](d)|0)Vb[c[(c[d>>2]|0)+48>>2]&127](d,b+16|0,b+32|0);else{c[h+32+4>>2]=0;c[h+32+4+4>>2]=0;c[h+32+4+8>>2]=0;g[h+32>>2]=1.0;Vb[c[(c[b>>2]|0)+68>>2]&127](h+16|0,b,h+32|0);g[b+32>>2]=+g[h+16>>2]+ +g[b+12>>2];g[h+32>>2]=-1.0;Vb[c[(c[b>>2]|0)+68>>2]&127](h,b,h+32|0);c[h+16>>2]=c[h>>2];c[h+16+4>>2]=c[h+4>>2];c[h+16+8>>2]=c[h+8>>2];c[h+16+12>>2]=c[h+12>>2];g[b+16>>2]=+g[h+16>>2]-+g[b+12>>2];c[h+32>>2]=0;c[h+32+4>>2]=0;c[h+32+8>>2]=0;c[h+32+12>>2]=0;g[h+32+4>>2]=1.0;Vb[c[(c[b>>2]|0)+68>>2]&127](h+16|0,b,h+32|0);g[b+36>>2]=+g[h+16+4>>2]+ +g[b+12>>2];g[h+32+4>>2]=-1.0;Vb[c[(c[b>>2]|0)+68>>2]&127](h,b,h+32|0);c[h+16>>2]=c[h>>2];c[h+16+4>>2]=c[h+4>>2];c[h+16+8>>2]=c[h+8>>2];c[h+16+12>>2]=c[h+12>>2];g[b+20>>2]=+g[h+16+4>>2]-+g[b+12>>2];c[h+32>>2]=0;c[h+32+4>>2]=0;c[h+32+8>>2]=0;c[h+32+12>>2]=0;g[h+32+8>>2]=1.0;Vb[c[(c[b>>2]|0)+68>>2]&127](h+16|0,b,h+32|0);g[b+40>>2]=+g[h+16+8>>2]+ +g[b+12>>2];g[h+32+8>>2]=-1.0;Vb[c[(c[b>>2]|0)+68>>2]&127](h,b,h+32|0);c[h+16>>2]=c[h>>2];c[h+16+4>>2]=c[h+4>>2];c[h+16+8>>2]=c[h+8>>2];c[h+16+12>>2]=c[h+12>>2];g[b+24>>2]=+g[h+16+8>>2]-+g[b+12>>2]}c[b>>2]=6864;c[b+52>>2]=0;c[b+56>>2]=0;a[b+60>>0]=e&1;a[b+61>>0]=0;c[b+4>>2]=21;if(!f){l=h;return}c[6485]=(c[6485]|0)+1;f=ic(191)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}c[f+52>>2]=282;a[f+60>>0]=0;a[f+80>>0]=1;c[f+76>>2]=0;c[f+68>>2]=0;c[f+72>>2]=0;a[f+100>>0]=1;c[f+96>>2]=0;c[f+88>>2]=0;c[f+92>>2]=0;a[f+120>>0]=1;c[f+116>>2]=0;c[f+108>>2]=0;c[f+112>>2]=0;a[f+140>>0]=1;c[f+136>>2]=0;c[f+128>>2]=0;c[f+132>>2]=0;c[f+144>>2]=0;a[f+164>>0]=1;c[f+160>>2]=0;c[f+152>>2]=0;c[f+156>>2]=0;c[f+168>>2]=0;c[f+4>>2]=-8388609;c[f+8>>2]=-8388609;c[f+12>>2]=-8388609;g[f+16>>2]=0.0;c[f+20>>2]=2139095039;c[f+24>>2]=2139095039;c[f+28>>2]=2139095039;g[f+32>>2]=0.0;c[f>>2]=8072;c[b+52>>2]=f;ad(f,c[b+48>>2]|0,(a[b+60>>0]|0)!=0,b+16|0,b+32|0);a[b+61>>0]=1;l=h;return}function Ne(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if(!b)if(!e){if(f|0){c[f>>2]=(a>>>0)%(d>>>0);c[f+4>>2]=0}e=0;f=(a>>>0)/(d>>>0)>>>0;return (D=e,f)|0}else{if(!f){e=0;f=0;return (D=e,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;e=0;f=0;return (D=e,f)|0}do if(d){if(e|0){h=(V(e|0)|0)-(V(b|0)|0)|0;if(h>>>0<=31){n=h+1|0;i=a>>>((h+1|0)>>>0)&h-31>>31|b<<31-h;m=b>>>((h+1|0)>>>0)&h-31>>31;g=0;h=a<<31-h;break}if(!f){e=0;f=0;return (D=e,f)|0}c[f>>2]=a|0;c[f+4>>2]=b|b&0;e=0;f=0;return (D=e,f)|0}if(d-1&d|0){h=(V(d|0)|0)+33-(V(b|0)|0)|0;n=h;i=32-h-1>>31&b>>>((h-32|0)>>>0)|(b<<32-h|a>>>(h>>>0))&h-32>>31;m=h-32>>31&b>>>(h>>>0);g=a<<64-h&32-h>>31;h=(b<<64-h|a>>>((h-32|0)>>>0))&32-h>>31|a<<32-h&h-33>>31;break}if(f|0){c[f>>2]=d-1&a;c[f+4>>2]=0}if((d|0)==1){e=b|b&0;f=a|0|0;return (D=e,f)|0}else{f=Hp(d|0)|0;e=b>>>(f>>>0)|0;f=b<<32-f|a>>>(f>>>0)|0;return (D=e,f)|0}}else{if(!e){if(f|0){c[f>>2]=(b>>>0)%(d>>>0);c[f+4>>2]=0}e=0;f=(b>>>0)/(d>>>0)>>>0;return (D=e,f)|0}if(!a){if(f|0){c[f>>2]=0;c[f+4>>2]=(b>>>0)%(e>>>0)}d=0;f=(b>>>0)/(e>>>0)>>>0;return (D=d,f)|0}if(!(e-1&e)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=e-1&b|b&0}d=0;f=b>>>((Hp(e|0)|0)>>>0);return (D=d,f)|0}h=(V(e|0)|0)-(V(b|0)|0)|0;if(h>>>0<=30){n=h+1|0;i=b<<31-h|a>>>((h+1|0)>>>0);m=b>>>((h+1|0)>>>0);g=0;h=a<<31-h;break}if(!f){e=0;f=0;return (D=e,f)|0}c[f>>2]=a|0;c[f+4>>2]=b|b&0;e=0;f=0;return (D=e,f)|0}while(0);if(!n){j=h;b=m;a=0;h=0}else{k=Gv(d|0|0,e|e&0|0,-1,-1)|0;l=D;j=h;b=m;a=n;h=0;do{p=j;j=g>>>31|j<<1;g=h|g<<1;p=i<<1|p>>>31|0;o=i>>>31|b<<1|0;au(k|0,l|0,p|0,o|0)|0;n=D;m=n>>31|((n|0)<0?-1:0)<<1;h=m&1;i=au(p|0,o|0,m&(d|0)|0,(((n|0)<0?-1:0)>>31|((n|0)<0?-1:0)<<1)&(e|e&0)|0)|0;b=D;a=a-1|0}while((a|0)!=0);a=0}if(f|0){c[f>>2]=i;c[f+4>>2]=b}o=(g|0)>>>31|j<<1|(0<<1|g>>>31)&0|a;p=(g<<1|0>>>31)&-2|h;return (D=o,p)|0}function Oe(a,b,f){a=a|0;b=b|0;f=f|0;var i=0,j=0,k=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0.0;s=l;l=l+32|0;p=c[a+4>>2]|0;Jb[c[(c[p>>2]|0)+16>>2]&3](p,s+28|0,s+24|0,s+20|0,s+16|0,s+12|0,s+8|0,s+4|0,s,b);p=c[s+12>>2]|0;q=S(c[s+8>>2]|0,f)|0;r=c[a+4>>2]|0;o=c[s>>2]|0;switch(o|0){case 3:{i=e[p+q+4>>1]|0;break}case 2:{i=c[p+q+8>>2]|0;break}default:i=d[p+(q+2)>>0]|0}j=c[s+28>>2]|0;i=S(c[s+16>>2]|0,i)|0;if(!(c[s+20>>2]|0)){m=+g[j+(i+8)>>2];n=+g[j+(i+4)>>2]*+g[r+8>>2];k=+g[j+i>>2]*+g[r+4>>2]}else{m=+h[j+(i+16)>>3];n=+h[j+(i+8)>>3]*+g[r+8>>2];k=+h[j+i>>3]*+g[r+4>>2]}m=m*+g[r+12>>2];g[a+44>>2]=k;g[a+48>>2]=n;g[a+52>>2]=m;g[a+56>>2]=0.0;switch(o|0){case 3:{i=e[p+q+2>>1]|0;break}case 2:{i=c[p+q+4>>2]|0;break}default:i=d[p+(q+1)>>0]|0}j=c[s+28>>2]|0;i=S(c[s+16>>2]|0,i)|0;if(!(c[s+20>>2]|0)){m=+g[j+(i+8)>>2];n=+g[j+(i+4)>>2]*+g[r+8>>2];k=+g[j+i>>2]*+g[r+4>>2]}else{m=+h[j+(i+16)>>3];n=+h[j+(i+8)>>3]*+g[r+8>>2];k=+h[j+i>>3]*+g[r+4>>2]}m=m*+g[r+12>>2];g[a+28>>2]=k;g[a+32>>2]=n;g[a+36>>2]=m;g[a+40>>2]=0.0;switch(o|0){case 3:{i=e[p+q>>1]|0;break}case 2:{i=c[p+q>>2]|0;break}default:i=d[p+q>>0]|0}j=c[s+28>>2]|0;i=S(c[s+16>>2]|0,i)|0;if(!(c[s+20>>2]|0)){m=+g[j+(i+4)>>2]*+g[r+8>>2];k=+g[j+i>>2]*+g[r+4>>2];t=+g[j+(i+8)>>2];n=+g[r+12>>2];n=t*n;q=a+12|0;g[q>>2]=k;q=a+16|0;g[q>>2]=m;q=a+20|0;g[q>>2]=n;q=a+24|0;g[q>>2]=0.0;q=a+8|0;q=c[q>>2]|0;p=c[q>>2]|0;p=p+8|0;p=c[p>>2]|0;r=a+12|0;Zb[p&127](q,r,b,f);a=c[a+4>>2]|0;f=c[a>>2]|0;f=f+24|0;f=c[f>>2]|0;nb[f&127](a,b);l=s;return}else{n=+h[j+(i+8)>>3]*+g[r+8>>2];m=+h[j+i>>3]*+g[r+4>>2];k=+h[j+(i+16)>>3];t=+g[r+12>>2];t=k*t;q=a+12|0;g[q>>2]=m;q=a+16|0;g[q>>2]=n;q=a+20|0;g[q>>2]=t;q=a+24|0;g[q>>2]=0.0;q=a+8|0;q=c[q>>2]|0;p=c[q>>2]|0;p=p+8|0;p=c[p>>2]|0;r=a+12|0;Zb[p&127](q,r,b,f);a=c[a+4>>2]|0;f=c[a>>2]|0;f=f+24|0;f=c[f>>2]|0;nb[f&127](a,b);l=s;return}}function Pe(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0;f=c[b+748>>2]|0;if((f|0)<=0)return;do{k=f;f=f+-1|0;q=+g[b+4+(f*184|0)>>2];r=+g[b+4+(f*184|0)+4>>2];h=+g[b+4+(f*184|0)+8>>2];p=q*+g[d>>2]+r*+g[d+4>>2]+h*+g[d+8>>2]+ +g[d+48>>2];n=q*+g[d+16>>2]+r*+g[d+20>>2]+h*+g[d+24>>2]+ +g[d+52>>2];h=q*+g[d+32>>2]+r*+g[d+36>>2]+h*+g[d+40>>2]+ +g[d+56>>2];g[b+4+(f*184|0)+48>>2]=p;g[b+4+(f*184|0)+52>>2]=n;g[b+4+(f*184|0)+56>>2]=h;g[b+4+(f*184|0)+60>>2]=0.0;r=+g[b+4+(f*184|0)+16>>2];q=+g[b+4+(f*184|0)+20>>2];i=+g[b+4+(f*184|0)+24>>2];o=r*+g[e>>2]+q*+g[e+4>>2]+i*+g[e+8>>2]+ +g[e+48>>2];m=r*+g[e+16>>2]+q*+g[e+20>>2]+i*+g[e+24>>2]+ +g[e+52>>2];i=r*+g[e+32>>2]+q*+g[e+36>>2]+i*+g[e+40>>2]+ +g[e+56>>2];g[b+4+(f*184|0)+32>>2]=o;g[b+4+(f*184|0)+36>>2]=m;g[b+4+(f*184|0)+40>>2]=i;g[b+4+(f*184|0)+44>>2]=0.0;g[b+4+(f*184|0)+80>>2]=(p-o)*+g[b+4+(f*184|0)+64>>2]+(n-m)*+g[b+4+(f*184|0)+68>>2]+(h-i)*+g[b+4+(f*184|0)+72>>2];j=b+4+(f*184|0)+148|0;c[j>>2]=(c[j>>2]|0)+1}while((k|0)>1);f=c[b+748>>2]|0;if((f|0)<=0)return;e=f;j=f;while(1){k=j;j=j+-1|0;d=b+4+(j*184|0)|0;h=+g[b+4+(j*184|0)+80>>2];i=+g[b+752>>2];if(!(h<=i)){f=e+-1|0;if((f|0)==(j|0)){f=e;l=12}else{_h(d|0,b+4+(f*184|0)|0,184)|0;c[b+4+(f*184|0)+112>>2]=0;g[b+4+(f*184|0)+120>>2]=0.0;a[b+4+(f*184|0)+116>>0]=0;g[b+4+(f*184|0)+124>>2]=0.0;g[b+4+(f*184|0)+128>>2]=0.0;c[b+4+(f*184|0)+148>>2]=0;f=c[b+748>>2]|0;l=12}}else{p=+g[b+4+(j*184|0)+32>>2]-(+g[b+4+(j*184|0)+48>>2]-+g[b+4+(j*184|0)+64>>2]*h);q=+g[b+4+(j*184|0)+36>>2]-(+g[b+4+(j*184|0)+52>>2]-h*+g[b+4+(j*184|0)+68>>2]);r=+g[b+4+(j*184|0)+40>>2]-(+g[b+4+(j*184|0)+56>>2]-h*+g[b+4+(j*184|0)+72>>2]);if(p*p+q*q+r*r>i*i){f=e+-1|0;if((f|0)==(j|0)){f=e;l=12}else{_h(d|0,b+4+(f*184|0)|0,184)|0;c[b+4+(f*184|0)+112>>2]=0;g[b+4+(f*184|0)+120>>2]=0.0;a[b+4+(f*184|0)+116>>0]=0;g[b+4+(f*184|0)+124>>2]=0.0;g[b+4+(f*184|0)+128>>2]=0.0;c[b+4+(f*184|0)+148>>2]=0;f=c[b+748>>2]|0;l=12}}else f=e}if((l|0)==12){l=0;f=f+-1|0;c[b+748>>2]=f}if((k|0)<=1)break;else e=f}return}function Qe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0;k=l;l=l+128|0;a=c[a+16>>2]|0;n=+g[a+892>>2];x=+g[a+896>>2];v=+g[a+900>>2];w=+g[a+908>>2];f=+g[a+912>>2];i=+g[a+916>>2];z=+g[b>>2];m=+g[b+4>>2];p=v*+g[b+8>>2];q=+g[b+16>>2];r=+g[b+20>>2];t=v*+g[b+24>>2];u=+g[b+32>>2];o=+g[b+36>>2];s=+g[b+40>>2];y=+g[b+48>>2];j=+g[b+52>>2];h=+g[b+56>>2];g[k>>2]=n*z+x*m+p+y;g[k+4>>2]=n*q+x*r+t+j;g[k+8>>2]=n*u+x*o+v*s+h;g[k+12>>2]=0.0;g[k+16>>2]=w*z+x*m+p+y;g[k+20>>2]=w*q+x*r+t+j;g[k+24>>2]=w*u+x*o+v*s+h;g[k+28>>2]=0.0;g[k+32>>2]=w*z+f*m+p+y;g[k+36>>2]=w*q+f*r+t+j;g[k+40>>2]=w*u+f*o+v*s+h;g[k+44>>2]=0.0;g[k+48>>2]=n*z+f*m+p+y;g[k+52>>2]=n*q+f*r+t+j;g[k+56>>2]=n*u+f*o+v*s+h;g[k+60>>2]=0.0;v=+g[b>>2];u=+g[b+4>>2];t=i*+g[b+8>>2];r=+g[b+16>>2];q=+g[b+20>>2];p=i*+g[b+24>>2];m=+g[b+32>>2];g[k+64>>2]=n*v+x*u+t+y;g[k+68>>2]=n*r+x*q+p+j;g[k+72>>2]=n*m+x*o+i*s+h;g[k+76>>2]=0.0;h=+g[b+36>>2];i=i*+g[b+40>>2];s=+g[b+48>>2];o=+g[b+52>>2];j=+g[b+56>>2];g[k+80>>2]=w*v+x*u+t+s;g[k+84>>2]=w*r+x*q+p+o;g[k+88>>2]=w*m+x*h+i+j;g[k+92>>2]=0.0;g[k+96>>2]=w*v+f*u+t+s;g[k+100>>2]=w*r+f*q+p+o;g[k+104>>2]=w*m+f*h+i+j;g[k+108>>2]=0.0;g[k+112>>2]=n*v+f*u+t+s;g[k+116>>2]=n*r+f*q+p+o;g[k+120>>2]=n*m+f*h+i+j;g[k+124>>2]=0.0;c[e>>2]=c[k>>2];c[e+4>>2]=c[k+4>>2];c[e+8>>2]=c[k+8>>2];c[e+12>>2]=c[k+12>>2];c[d>>2]=c[k>>2];c[d+4>>2]=c[k+4>>2];c[d+8>>2]=c[k+8>>2];c[d+12>>2]=c[k+12>>2];b=1;do{f=+g[k+(b<<4)>>2];if(f<+g[d>>2])g[d>>2]=f;h=+g[k+(b<<4)+4>>2];if(h<+g[d+4>>2])g[d+4>>2]=h;i=+g[k+(b<<4)+8>>2];if(i<+g[d+8>>2])g[d+8>>2]=i;j=+g[k+(b<<4)+12>>2];if(j<+g[d+12>>2])g[d+12>>2]=j;if(+g[e>>2]<f)g[e>>2]=f;if(+g[e+4>>2]<h)g[e+4>>2]=h;if(+g[e+8>>2]<i)g[e+8>>2]=i;if(+g[e+12>>2]<j)g[e+12>>2]=j;b=b+1|0}while((b|0)!=8);l=k;return}function Re(b){b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;bj(12171);k=c[b+204>>2]|0;Vb[c[(c[k>>2]|0)+8>>2]&127](k,b,c[b+24>>2]|0);k=c[b+308>>2]|0;if((k|0)>0){j=c[b+316>>2]|0;m=0;do{e=c[j+(m<<2)>>2]|0;d=c[e+740>>2]|0;e=c[e+744>>2]|0;if((d|0?(e|0?(c[d+204>>2]&3|0)==0:0):0)?(c[e+204>>2]&3|0)==0:0){h=c[d+208>>2]|0;d=c[e+208>>2]|0;i=c[(c[b+204>>2]|0)+16>>2]|0;e=c[i+(h<<3)>>2]|0;if((e|0)!=(h|0)){f=i+(h<<3)|0;do{h=i+(e<<3)|0;c[f>>2]=c[h>>2];h=c[h>>2]|0;f=i+(h<<3)|0;e=c[f>>2]|0}while((h|0)!=(e|0))}e=c[i+(d<<3)>>2]|0;if((e|0)!=(d|0)){f=i+(d<<3)|0;do{d=i+(e<<3)|0;c[f>>2]=c[d>>2];d=c[d>>2]|0;f=i+(d<<3)|0;e=c[f>>2]|0}while((d|0)!=(e|0))}if((h|0)!=(d|0)){c[i+(h<<3)>>2]=d;f=i+(d<<3)+4|0;c[f>>2]=(c[f>>2]|0)+(c[i+(h<<3)+4>>2]|0)}}m=m+1|0}while((m|0)!=(k|0))}k=c[b+212>>2]|0;if((k|0)>0){j=c[b+220>>2]|0;m=0;do{d=c[j+(m<<2)>>2]|0;if((a[d+20>>0]|0?(n=c[d+28>>2]|0,(c[n+204>>2]&3|0)==0):0)?(o=c[d+32>>2]|0,(c[o+204>>2]&3|0)==0):0){f=c[n+208>>2]|0;d=c[o+208>>2]|0;i=c[(c[b+204>>2]|0)+16>>2]|0;e=c[i+(f<<3)>>2]|0;if((e|0)==(f|0))h=f;else{f=i+(f<<3)|0;do{h=i+(e<<3)|0;c[f>>2]=c[h>>2];h=c[h>>2]|0;f=i+(h<<3)|0;e=c[f>>2]|0}while((h|0)!=(e|0))}e=c[i+(d<<3)>>2]|0;if((e|0)!=(d|0)){f=i+(d<<3)|0;do{d=i+(e<<3)|0;c[f>>2]=c[d>>2];d=c[d>>2]|0;f=i+(d<<3)|0;e=c[f>>2]|0}while((d|0)!=(e|0))}if((h|0)!=(d|0)){c[i+(h<<3)>>2]=d;f=i+(d<<3)+4|0;c[f>>2]=(c[f>>2]|0)+(c[i+(h<<3)+4>>2]|0)}}m=m+1|0}while((m|0)!=(k|0))}d=c[b+204>>2]|0;nb[c[(c[d>>2]|0)+12>>2]&127](d,b);d=c[2380]|0;b=(c[d+16>>2]|0)+-1|0;c[d+16>>2]=b;if(b|0){l=p;return}do if(c[d+4>>2]|0){Za(p|0,0)|0;b=c[6484]|0;g[d+8>>2]=+(((c[p+4>>2]|0)-(c[b+4>>2]|0)+(((c[p>>2]|0)-(c[b>>2]|0)|0)*1e6|0)-(c[d+12>>2]|0)|0)>>>0)/1.0e3+ +g[d+8>>2];if(!(c[d+16>>2]|0)){d=c[2380]|0;break}else{l=p;return}}while(0);c[2380]=c[d+20>>2];l=p;return}function Se(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0;j=l;l=l+64|0;k=(a[b+8>>0]|0)!=0;i=k?e:d;d=k?d:e;e=c[d+4>>2]|0;if(((c[e+4>>2]|0)+-21|0)>>>0>=9){l=j;return}if((c[(c[i+4>>2]|0)+4>>2]|0)>=20){l=j;return}m=+Db[c[(c[e>>2]|0)+48>>2]&15](e);c[h+4>>2]=c[b+76>>2];c[b+16>>2]=i;c[b+20>>2]=d;c[b+64>>2]=f;g[b+68>>2]=m;c[b+56>>2]=h;k=c[d+12>>2]|0;B=+g[k>>2];A=+g[k+16>>2];z=+g[k+32>>2];y=+g[k+4>>2];x=+g[k+20>>2];w=+g[k+36>>2];s=+g[k+8>>2];q=+g[k+24>>2];o=+g[k+40>>2];v=-+g[k+48>>2];u=-+g[k+52>>2];t=-+g[k+56>>2];k=c[i+12>>2]|0;K=+g[k>>2];J=+g[k+16>>2];I=+g[k+32>>2];H=+g[k+4>>2];G=+g[k+20>>2];F=+g[k+36>>2];E=+g[k+8>>2];D=+g[k+24>>2];C=+g[k+40>>2];r=+g[k+48>>2];p=+g[k+52>>2];n=+g[k+56>>2];g[j>>2]=B*K+A*J+z*I;g[j+4>>2]=B*H+A*G+z*F;g[j+8>>2]=B*E+A*D+z*C;g[j+12>>2]=0.0;g[j+16>>2]=y*K+x*J+w*I;g[j+20>>2]=y*H+x*G+w*F;g[j+24>>2]=y*E+x*D+w*C;g[j+28>>2]=0.0;g[j+32>>2]=s*K+q*J+o*I;g[j+36>>2]=s*H+q*G+o*F;g[j+40>>2]=s*E+q*D+o*C;g[j+44>>2]=0.0;g[j+48>>2]=B*v+A*u+z*t+(B*r+A*p+z*n);g[j+52>>2]=y*v+x*u+w*t+(y*r+x*p+w*n);g[j+56>>2]=s*v+q*u+o*t+(s*r+q*p+o*n);g[j+60>>2]=0.0;k=c[(c[b+16>>2]|0)+4>>2]|0;Zb[c[(c[k>>2]|0)+8>>2]&127](k,j,b+24|0,b+40|0);g[b+40>>2]=+g[b+40>>2]+m;g[b+44>>2]=+g[b+44>>2]+m;g[b+48>>2]=+g[b+48>>2]+m;g[b+24>>2]=+g[b+24>>2]-m;g[b+28>>2]=+g[b+28>>2]-m;g[b+32>>2]=+g[b+32>>2]-m;k=c[b+76>>2]|0;f=c[d+8>>2]|0;c[k+740>>2]=c[i+8>>2];c[k+744>>2]=f;Zb[c[(c[e>>2]|0)+64>>2]&127](e,b+12|0,b+24|0,b+40|0);e=c[h+4>>2]|0;do if(c[e+748>>2]|0){i=c[e+740>>2]|0;f=c[(c[h+8>>2]|0)+8>>2]|0;d=c[(c[h+12>>2]|0)+8>>2]|0;if((i|0)==(f|0)){Pe(e,i+4|0,d+4|0);break}else{Pe(e,d+4|0,f+4|0);break}}while(0);c[b+16>>2]=0;c[b+20>>2]=0;l=j;return}function Te(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0.0,q=0;o=l;l=l+128|0;h=+g[b>>2];i=+g[b+16>>2];p=h<i?h:i;j=+g[b+32>>2];if((p<j?p:j)>+g[a+28>>2]){l=o;return}m=h>i?b:b+16|0;if(+g[(+g[m>>2]>j?m:b+32|0)>>2]<+g[a+12>>2]){l=o;return}h=+g[b+8>>2];i=+g[b+24>>2];p=h<i?h:i;j=+g[b+40>>2];if((p<j?p:j)>+g[a+36>>2]){l=o;return}m=h>i?b+8|0:b+24|0;if(+g[(+g[m>>2]>j?m:b+40|0)>>2]<+g[a+20>>2]){l=o;return}h=+g[b+4>>2];i=+g[b+20>>2];p=h<i?h:i;j=+g[b+36>>2];if((p<j?p:j)>+g[a+32>>2]){l=o;return}m=h>i?b+4|0:b+20|0;if(+g[(+g[m>>2]>j?m:b+36|0)>>2]<+g[a+16>>2]){l=o;return}m=c[a+48>>2]|0;f=c[a+4>>2]|0;if((c[(c[f+4>>2]|0)+4>>2]|0)>=20){l=o;return}c[o+24+8>>2]=0;c[o+24+12>>2]=1065353216;c[o+24+16>>2]=1065353216;c[o+24+20>>2]=1065353216;g[o+24+24>>2]=0.0;c[o+24+52>>2]=0;c[o+24>>2]=3844;c[o+24+4>>2]=1;c[o+24+56>>2]=c[b>>2];c[o+24+56+4>>2]=c[b+4>>2];c[o+24+56+8>>2]=c[b+8>>2];c[o+24+56+12>>2]=c[b+12>>2];c[o+24+72>>2]=c[b+16>>2];c[o+24+72+4>>2]=c[b+16+4>>2];c[o+24+72+8>>2]=c[b+16+8>>2];c[o+24+72+12>>2]=c[b+16+12>>2];c[o+24+88>>2]=c[b+32>>2];c[o+24+88+4>>2]=c[b+32+4>>2];c[o+24+88+8>>2]=c[b+32+8>>2];c[o+24+88+12>>2]=c[b+32+12>>2];c[o+24+44>>2]=c[a+56>>2];q=c[a+8>>2]|0;b=c[q+8>>2]|0;k=c[q+12>>2]|0;c[o>>2]=q;c[o+4>>2]=o+24;c[o+8>>2]=b;c[o+12>>2]=k;c[o+16>>2]=d;c[o+20>>2]=e;k=tb[c[(c[m>>2]|0)+8>>2]&31](m,f,o,c[a+64>>2]|0)|0;b=c[a+44>>2]|0;f=c[b+8>>2]|0;if((c[f+8>>2]|0)==(c[(c[a+8>>2]|0)+8>>2]|0)){c[b+8>>2]=o;Vb[c[(c[b>>2]|0)+8>>2]&127](b,d,e)}else{f=c[b+12>>2]|0;c[b+12>>2]=o;Vb[c[(c[b>>2]|0)+12>>2]&127](b,d,e)}jb[c[(c[k>>2]|0)+8>>2]&31](k,c[a+4>>2]|0,o,c[a+52>>2]|0,c[a+44>>2]|0);q=c[a+44>>2]|0;c[((c[(c[q+8>>2]|0)+8>>2]|0)==(c[(c[a+8>>2]|0)+8>>2]|0)?q+8|0:q+12|0)>>2]=f;lb[c[c[k>>2]>>2]&511](k);nb[c[(c[m>>2]|0)+60>>2]&127](m,k);c[o+24>>2]=7216;f=c[o+24+52>>2]|0;if(f|0?(lb[c[c[f>>2]>>2]&511](f),n=c[o+24+52>>2]|0,n|0):0){c[6486]=(c[6486]|0)+1;Uc(c[n+-4>>2]|0)}l=o;return}function Ue(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0;r=a[h+16>>0]&-16;a[h+16>>0]=r;t=+g[e>>2];u=+g[d>>2];w=+g[e+4>>2];x=+g[d+4>>2];n=+g[e+8>>2];o=+g[d+8>>2];p=+g[f>>2];q=+g[f+4>>2];s=+g[f+8>>2];l=+g[b>>2];m=+g[b+4>>2];i=+g[b+8>>2];y=(t-u)*(l-u)+(w-x)*(m-x)+(n-o)*(i-o);z=(p-u)*(l-u)+(q-x)*(m-x)+(s-o)*(i-o);do if(y<=0.0&z<=0.0){c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2];a[h+16>>0]=r|1;j=0.0;k=0.0;i=1.0}else{v=(t-u)*(l-t)+(w-x)*(m-w)+(n-o)*(i-n);k=(p-u)*(l-t)+(q-x)*(m-w)+(s-o)*(i-n);if(!(!(v>=0.0)|!(k<=v))){c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];a[h+16>>0]=r|2;j=0.0;k=1.0;i=0.0;break}if(v<=0.0&(y>=0.0?y*k-v*z<=0.0:0)){g[h>>2]=u+(t-u)*(y/(y-v));g[h+4>>2]=x+(w-x)*(y/(y-v));g[h+8>>2]=o+(n-o)*(y/(y-v));g[h+12>>2]=0.0;a[h+16>>0]=r|3;j=0.0;k=y/(y-v);i=1.0-y/(y-v);break}j=(t-u)*(l-p)+(w-x)*(m-q)+(n-o)*(i-s);i=(p-u)*(l-p)+(q-x)*(m-q)+(s-o)*(i-s);if(!(!(i>=0.0)|!(j<=i))){c[h>>2]=c[f>>2];c[h+4>>2]=c[f+4>>2];c[h+8>>2]=c[f+8>>2];c[h+12>>2]=c[f+12>>2];a[h+16>>0]=r|4;j=1.0;k=0.0;i=0.0;break}if(i<=0.0&(z>=0.0?j*z-y*i<=0.0:0)){g[h>>2]=u+(p-u)*(z/(z-i));g[h+4>>2]=x+(q-x)*(z/(z-i));g[h+8>>2]=o+(s-o)*(z/(z-i));g[h+12>>2]=0.0;a[h+16>>0]=r|5;j=z/(z-i);k=0.0;i=1.0-z/(z-i);break}if((v*i-j*k<=0.0?k-v>=0.0:0)?j-i>=0.0:0){k=(k-v)/(k-v+(j-i));g[h>>2]=t+(p-t)*k;g[h+4>>2]=w+(q-w)*k;g[h+8>>2]=n+(s-n)*k;g[h+12>>2]=0.0;a[h+16>>0]=r|6;j=k;k=1.0-k;i=0.0;break}l=1.0/(y*k-v*z+(v*i-j*k+(j*z-y*i)));m=(j*z-y*i)*l;i=(y*k-v*z)*l;g[h>>2]=(p-u)*i+(u+(t-u)*m);g[h+4>>2]=(q-x)*i+(x+(w-x)*m);g[h+8>>2]=(s-o)*i+((n-o)*m+o);g[h+12>>2]=0.0;a[h+16>>0]=r|7;j=i;k=m;i=1.0-m-i}while(0);g[h+20>>2]=i;g[h+24>>2]=k;g[h+28>>2]=j;g[h+32>>2]=0.0;return}function Ve(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.0,j=0.0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0;f=l;l=l+256|0;bj(11783);c[f+32>>2]=4188;k=f+32+36|0;c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];m=f+32+52|0;c[m>>2]=c[d>>2];c[m+4>>2]=c[d+4>>2];c[m+8>>2]=c[d+8>>2];c[m+12>>2]=c[d+12>>2];c[f+32+212>>2]=a;c[f+32+216>>2]=e;c[f+32+68>>2]=1065353216;c[f+32+72>>2]=0;c[f+32+72+4>>2]=0;c[f+32+72+8>>2]=0;c[f+32+72+12>>2]=0;c[f+32+88>>2]=1065353216;c[f+32+92>>2]=0;c[f+32+92+4>>2]=0;c[f+32+92+8>>2]=0;c[f+32+92+12>>2]=0;c[f+32+108>>2]=1065353216;c[f+32+112>>2]=0;c[f+32+116>>2]=c[k>>2];c[f+32+116+4>>2]=c[k+4>>2];c[f+32+116+8>>2]=c[k+8>>2];c[f+32+116+12>>2]=c[k+12>>2];c[f+32+132>>2]=1065353216;c[f+32+136>>2]=0;c[f+32+136+4>>2]=0;c[f+32+136+8>>2]=0;c[f+32+136+12>>2]=0;c[f+32+152>>2]=1065353216;c[f+32+156>>2]=0;c[f+32+156+4>>2]=0;c[f+32+156+8>>2]=0;c[f+32+156+12>>2]=0;c[f+32+172>>2]=1065353216;c[f+32+176>>2]=0;c[f+32+180>>2]=c[d>>2];c[f+32+180+4>>2]=c[d+4>>2];c[f+32+180+8>>2]=c[d+8>>2];c[f+32+180+12>>2]=c[d+12>>2];n=+g[d>>2]-+g[b>>2];j=+g[d+4>>2]-+g[b+4>>2];i=+g[d+8>>2]-+g[b+8>>2];h=1.0/+G(+(n*n+j*j+i*i));q=n*h==0.0?1000000015047466219876688.0e6:1.0/(n*h);g[f+32+4>>2]=q;p=j*h==0.0?1000000015047466219876688.0e6:1.0/(j*h);g[f+32+8>>2]=p;o=i*h==0.0?1000000015047466219876688.0e6:1.0/(i*h);g[f+32+12>>2]=o;c[f+32+20>>2]=q<0.0&1;c[f+32+24>>2]=p<0.0&1;c[f+32+28>>2]=o<0.0&1;g[f+32+32>>2]=n*h*(+g[m>>2]-+g[k>>2])+j*h*(+g[f+32+56>>2]-+g[f+32+40>>2])+i*h*(+g[f+32+60>>2]-+g[f+32+44>>2]);a=c[a+68>>2]|0;e=c[(c[a>>2]|0)+24>>2]|0;c[f+16>>2]=0;c[f+16+4>>2]=0;c[f+16+8>>2]=0;c[f+16+12>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;Bb[e&7](a,b,d,f+32|0,f+16|0,f);b=c[2380]|0;a=(c[b+16>>2]|0)+-1|0;c[b+16>>2]=a;if(a|0){l=f;return}do if(c[b+4>>2]|0){Za(f+32|0,0)|0;m=c[6484]|0;g[b+8>>2]=+(((c[f+32+4>>2]|0)-(c[m+4>>2]|0)+(((c[f+32>>2]|0)-(c[m>>2]|0)|0)*1e6|0)-(c[b+12>>2]|0)|0)>>>0)/1.0e3+ +g[b+8>>2];if(!(c[b+16>>2]|0)){b=c[2380]|0;break}else{l=f;return}}while(0);c[2380]=c[b+20>>2];l=f;return}function We(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0.0,v=0,w=0.0,x=0;if(!a)return;r=+g[b>>2];s=+g[b+4>>2];u=+g[b+8>>2];w=+g[b+16>>2];q=+g[b+20>>2];p=+g[b+24>>2];c[6485]=(c[6485]|0)+1;i=ic(275)|0;f=i+4+15&-16;c[f+-4>>2]=i;c[(i+4+15&-16)>>2]=a;h=f;e=f;a=f;o=1;i=i+4+15&-16;n=64;while(1){j=o+-1|0;l=c[i+(j<<2)>>2]|0;do if(((((+g[l>>2]<=w?+g[l+16>>2]>=r:0)?+g[l+4>>2]<=q:0)?+g[l+20>>2]>=s:0)?+g[l+8>>2]<=p:0)?+g[l+24>>2]>=u:0){if(!(c[l+40>>2]|0)){nb[c[(c[d>>2]|0)+12>>2]&127](d,l);b=n;break}m=c[l+36>>2]|0;do if((j|0)==(n|0)?(t=n|0?n<<1:1,(o|0)<=(t|0)):0){if((t|0)!=0?(c[6485]=(c[6485]|0)+1,v=ic((t<<2|3)+16|0)|0,(v|0)!=0):0){c[(v+4+15&-16)+-4>>2]=v;a=v+4+15&-16}else a=0;if((o|0)>1){b=0;do{c[a+(b<<2)>>2]=c[i+(b<<2)>>2];b=b+1|0}while((b|0)!=(n|0));if(!f){k=a;h=a;e=a;f=a;i=a;b=t;break}}else if((i|0)==0|(f|0)==0){k=a;h=a;e=a;f=a;i=a;b=t;break}c[6486]=(c[6486]|0)+1;Uc(c[f+-4>>2]|0);k=a;h=a;e=a;f=a;i=a;b=t}else{k=a;b=n}while(0);c[i+(j<<2)>>2]=m;l=c[l+40>>2]|0;do if((o|0)==(b|0)){j=o|0?o<<1:1;if((o|0)<(j|0)){if((j|0)!=0?(c[6485]=(c[6485]|0)+1,x=ic((j<<2|3)+16|0)|0,(x|0)!=0):0){c[(x+4+15&-16)+-4>>2]=x;a=x+4+15&-16}else a=0;if((o|0)>0){b=0;do{c[a+(b<<2)>>2]=c[i+(b<<2)>>2];b=b+1|0}while((b|0)!=(o|0));if(!k){i=a;h=a;e=a;k=a;f=a;b=j;break}}else if((i|0)==0|(k|0)==0){i=a;h=a;e=a;k=a;f=a;b=j;break}c[6486]=(c[6486]|0)+1;Uc(c[k+-4>>2]|0);i=a;h=a;e=a;k=a;f=a;b=j}else b=o}while(0);c[i+(o<<2)>>2]=l;j=o+1|0;a=k}else b=n;while(0);if((j|0)>0){o=j;n=b}else break}if((i|0)==0|(h|0)==0)return;c[6486]=(c[6486]|0)+1;Uc(c[h+-4>>2]|0);return}function Xe(b,d){b=b|0;d=+d;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0.0;s=l;l=l+16|0;bj(12276);e=c[b+232>>2]|0;if((e|0)>0){r=0;do{q=c[(c[b+240>>2]|0)+(r<<2)>>2]|0;if(!(c[q+204>>2]&3)){n=+g[q+444>>2];f=+H(+(1.0-n),+d);i=f*+g[q+312>>2];g[q+312>>2]=i;h=f*+g[q+316>>2];g[q+316>>2]=h;f=f*+g[q+320>>2];g[q+320>>2]=f;p=+g[q+448>>2];m=+H(+(1.0-p),+d);j=m*+g[q+328>>2];g[q+328>>2]=j;k=m*+g[q+332>>2];g[q+332>>2]=k;m=m*+g[q+336>>2];g[q+336>>2]=m;do if(a[q+452>>0]|0){if(m*m+(j*j+k*k)<+g[q+464>>2]?i*i+h*h+f*f<+g[q+460>>2]:0){t=+g[q+456>>2];g[q+328>>2]=j*t;g[q+332>>2]=t*k;g[q+336>>2]=t*m;g[q+312>>2]=t*i;g[q+316>>2]=t*h;g[q+320>>2]=t*f;i=t*i;h=t*h;f=t*f;o=j*t;k=t*k;m=t*m}else o=j;j=+G(+(i*i+h*h+f*f));do if(j<n)if(j>.004999999888241291){i=i-i*(1.0/j)*.004999999888241291;g[q+312>>2]=i;h=h-h*(1.0/j)*.004999999888241291;g[q+316>>2]=h;f=f-f*(1.0/j)*.004999999888241291;g[q+320>>2]=f;break}else{c[q+312>>2]=0;c[q+312+4>>2]=0;c[q+312+8>>2]=0;c[q+312+12>>2]=0;i=0.0;h=0.0;f=0.0;break}while(0);j=+G(+(o*o+k*k+m*m));if(j<p)if(j>.004999999888241291){g[q+328>>2]=o-o*(1.0/j)*.004999999888241291;g[q+332>>2]=k-k*(1.0/j)*.004999999888241291;g[q+336>>2]=m-m*(1.0/j)*.004999999888241291;break}else{c[q+328>>2]=0;c[q+328+4>>2]=0;c[q+328+8>>2]=0;c[q+328+12>>2]=0;break}}while(0);Kg(q+4|0,i,h,f,q+328|0,d,q+68|0);e=c[b+232>>2]|0}r=r+1|0}while((r|0)<(e|0))}e=c[2380]|0;b=(c[e+16>>2]|0)+-1|0;c[e+16>>2]=b;if(b|0){l=s;return}do if(c[e+4>>2]|0){Za(s|0,0)|0;b=c[6484]|0;g[e+8>>2]=+(((c[s+4>>2]|0)-(c[b+4>>2]|0)+(((c[s>>2]|0)-(c[b>>2]|0)|0)*1e6|0)-(c[e+12>>2]|0)|0)>>>0)/1.0e3+ +g[e+8>>2];if(!(c[e+16>>2]|0)){e=c[2380]|0;break}else{l=s;return}}while(0);c[2380]=c[e+20>>2];l=s;return}function Ye(b,d){b=b|0;d=d|0;var e=0,f=0;e=c[b>>2]|0;do if((e|0)>3)if(!(a[d>>0]&8)){c[b>>2]=e+-1;f=b+4+(e+-1<<4)|0;c[b+52>>2]=c[f>>2];c[b+52+4>>2]=c[f+4>>2];c[b+52+8>>2]=c[f+8>>2];c[b+52+12>>2]=c[f+12>>2];f=b+84+(e+-1<<4)|0;c[b+132>>2]=c[f>>2];c[b+132+4>>2]=c[f+4>>2];c[b+132+8>>2]=c[f+8>>2];c[b+132+12>>2]=c[f+12>>2];f=b+164+(e+-1<<4)|0;c[b+212>>2]=c[f>>2];c[b+212+4>>2]=c[f+4>>2];c[b+212+8>>2]=c[f+8>>2];c[b+212+12>>2]=c[f+12>>2];e=e+-1|0;f=6}else f=6;else{if((e|0)==3){e=3;f=6;break}if((e|0)>1){e=2;f=10;break}if((e|0)==1){e=1;break}else return}while(0);if((f|0)==6)if(!(a[d>>0]&4)){e=e+-1|0;c[b>>2]=e;c[b+36>>2]=c[b+4+(e<<4)>>2];c[b+36+4>>2]=c[b+4+(e<<4)+4>>2];c[b+36+8>>2]=c[b+4+(e<<4)+8>>2];c[b+36+12>>2]=c[b+4+(e<<4)+12>>2];c[b+116>>2]=c[b+84+(e<<4)>>2];c[b+116+4>>2]=c[b+84+(e<<4)+4>>2];c[b+116+8>>2]=c[b+84+(e<<4)+8>>2];c[b+116+12>>2]=c[b+84+(e<<4)+12>>2];c[b+196>>2]=c[b+164+(e<<4)>>2];c[b+196+4>>2]=c[b+164+(e<<4)+4>>2];c[b+196+8>>2]=c[b+164+(e<<4)+8>>2];c[b+196+12>>2]=c[b+164+(e<<4)+12>>2];f=10}else f=10;if((f|0)==10)if(!(a[d>>0]&2)){e=e+-1|0;c[b>>2]=e;c[b+20>>2]=c[b+4+(e<<4)>>2];c[b+20+4>>2]=c[b+4+(e<<4)+4>>2];c[b+20+8>>2]=c[b+4+(e<<4)+8>>2];c[b+20+12>>2]=c[b+4+(e<<4)+12>>2];c[b+100>>2]=c[b+84+(e<<4)>>2];c[b+100+4>>2]=c[b+84+(e<<4)+4>>2];c[b+100+8>>2]=c[b+84+(e<<4)+8>>2];c[b+100+12>>2]=c[b+84+(e<<4)+12>>2];c[b+180>>2]=c[b+164+(e<<4)>>2];c[b+180+4>>2]=c[b+164+(e<<4)+4>>2];c[b+180+8>>2]=c[b+164+(e<<4)+8>>2];c[b+180+12>>2]=c[b+164+(e<<4)+12>>2]}if(a[d>>0]&1)return;f=e+-1|0;c[b>>2]=f;c[b+4>>2]=c[b+4+(f<<4)>>2];c[b+4+4>>2]=c[b+4+(f<<4)+4>>2];c[b+4+8>>2]=c[b+4+(f<<4)+8>>2];c[b+4+12>>2]=c[b+4+(f<<4)+12>>2];c[b+84>>2]=c[b+84+(f<<4)>>2];c[b+84+4>>2]=c[b+84+(f<<4)+4>>2];c[b+84+8>>2]=c[b+84+(f<<4)+8>>2];c[b+84+12>>2]=c[b+84+(f<<4)+12>>2];c[b+164>>2]=c[b+164+(f<<4)>>2];c[b+164+4>>2]=c[b+164+(f<<4)+4>>2];c[b+164+8>>2]=c[b+164+(f<<4)+8>>2];c[b+164+12>>2]=c[b+164+(f<<4)+12>>2];return}function Ze(b){b=b|0;var d=0,e=0;c[b>>2]=5316;if(a[b+20>>0]|0){d=c[b+16>>2]|0;e=c[d+16>>2]|0;if(e){c[6486]=(c[6486]|0)+1;Uc(c[e+-4>>2]|0);d=c[b+16>>2]|0}if(d|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}}if(a[b+12>>0]|0){d=c[b+8>>2]|0;e=c[d+16>>2]|0;if(e){c[6486]=(c[6486]|0)+1;Uc(c[e+-4>>2]|0);d=c[b+8>>2]|0}if(d|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}}d=c[b+32>>2]|0;lb[c[c[d>>2]>>2]&511](d);d=c[b+32>>2]|0;if(d|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}d=c[b+36>>2]|0;lb[c[c[d>>2]>>2]&511](d);d=c[b+36>>2]|0;if(d|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}d=c[b+40>>2]|0;lb[c[c[d>>2]>>2]&511](d);d=c[b+40>>2]|0;if(d|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}d=c[b+44>>2]|0;lb[c[c[d>>2]>>2]&511](d);d=c[b+44>>2]|0;if(d|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}d=c[b+48>>2]|0;lb[c[c[d>>2]>>2]&511](d);d=c[b+48>>2]|0;if(d|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}d=c[b+52>>2]|0;lb[c[c[d>>2]>>2]&511](d);d=c[b+52>>2]|0;if(d|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}d=c[b+56>>2]|0;lb[c[c[d>>2]>>2]&511](d);d=c[b+56>>2]|0;if(d|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}d=c[b+60>>2]|0;lb[c[c[d>>2]>>2]&511](d);d=c[b+60>>2]|0;if(d|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}d=c[b+76>>2]|0;lb[c[c[d>>2]>>2]&511](d);d=c[b+76>>2]|0;if(d|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}d=c[b+80>>2]|0;lb[c[c[d>>2]>>2]&511](d);d=c[b+80>>2]|0;if(d|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}d=c[b+72>>2]|0;lb[c[c[d>>2]>>2]&511](d);d=c[b+72>>2]|0;if(d|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}d=c[b+88>>2]|0;lb[c[c[d>>2]>>2]&511](d);d=c[b+88>>2]|0;if(d|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}d=c[b+84>>2]|0;lb[c[c[d>>2]>>2]&511](d);d=c[b+84>>2]|0;if(d|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}d=c[b+24>>2]|0;if(d|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}d=c[b+28>>2]|0;lb[c[c[d>>2]>>2]&511](d);d=c[b+28>>2]|0;if(!d)return;c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0);return}function _e(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0,q=0.0;if(!(c[a>>2]|0)){c[a>>2]=d;c[d+32>>2]=0;return}e=c[b+40>>2]|0;if(!e)o=b;else{k=+g[d>>2]+ +g[d+16>>2];i=+g[d+4>>2]+ +g[d+20>>2];j=+g[d+8>>2]+ +g[d+24>>2];do{p=c[b+36>>2]|0;n=+F(+(k-(+g[p>>2]+ +g[p+16>>2])))+ +F(+(i-(+g[p+4>>2]+ +g[p+20>>2])))+ +F(+(j-(+g[p+8>>2]+ +g[p+24>>2])));b=c[b+36+((!(n<+F(+(k-(+g[e>>2]+ +g[e+16>>2])))+ +F(+(i-(+g[e+4>>2]+ +g[e+20>>2])))+ +F(+(j-(+g[e+8>>2]+ +g[e+24>>2]))))&1)<<2)>>2]|0;e=c[b+40>>2]|0}while((e|0)!=0);o=b}p=o+32|0;e=c[p>>2]|0;b=c[a+4>>2]|0;if(!b){c[6485]=(c[6485]|0)+1;b=ic(63)|0;if(!b)b=0;else{c[(b+4+15&-16)+-4>>2]=b;b=b+4+15&-16}f=b;h=f+44|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0))}else c[a+4>>2]=0;c[b+32>>2]=e;c[b+36>>2]=0;f=b+40|0;c[f>>2]=0;q=+g[d>>2];n=+g[o>>2];n=q<n?q:n;g[b>>2]=n;q=+g[d+16>>2];k=+g[o+16>>2];k=q>k?q:k;g[b+16>>2]=k;q=+g[d+4>>2];m=+g[o+4>>2];m=q<m?q:m;g[b+4>>2]=m;q=+g[d+20>>2];j=+g[o+20>>2];j=q>j?q:j;g[b+20>>2]=j;q=+g[d+8>>2];l=+g[o+8>>2];l=q<l?q:l;g[b+8>>2]=l;q=+g[d+24>>2];i=+g[o+24>>2];i=q>i?q:i;g[b+24>>2]=i;if(!e){c[b+36>>2]=o;c[p>>2]=b;c[f>>2]=d;c[d+32>>2]=b;c[a>>2]=b;return}c[e+36+(((c[(c[p>>2]|0)+40>>2]|0)==(o|0)&1)<<2)>>2]=b;c[b+36>>2]=o;c[p>>2]=b;c[f>>2]=d;c[d+32>>2]=b;while(1){b=e+4|0;if(((((+g[e>>2]<=n?+g[b>>2]<=m:0)?+g[e+8>>2]<=l:0)?+g[e+16>>2]>=k:0)?+g[e+20>>2]>=j:0)?+g[e+24>>2]>=i:0){b=21;break}d=c[e+36>>2]|0;a=c[e+40>>2]|0;q=+g[d>>2];n=+g[a>>2];n=q<n?q:n;g[e>>2]=n;q=+g[d+16>>2];k=+g[a+16>>2];k=q>k?q:k;g[e+16>>2]=k;q=+g[d+4>>2];m=+g[a+4>>2];m=q<m?q:m;g[b>>2]=m;q=+g[d+20>>2];j=+g[a+20>>2];j=q>j?q:j;g[e+20>>2]=j;q=+g[d+8>>2];l=+g[a+8>>2];l=q<l?q:l;g[e+8>>2]=l;q=+g[d+24>>2];i=+g[a+24>>2];i=q>i?q:i;g[e+24>>2]=i;e=c[e+32>>2]|0;if(!e){b=21;break}}if((b|0)==21)return}function $e(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;a:do if(!(LB(b,c[d+8>>2]|0)|0)){if(!(LB(b,c[d>>2]|0)|0)){i=c[b+12>>2]|0;Jn(b+16|0,d,e,f,g);if((i|0)<=1)break;h=c[b+8>>2]|0;if((h&2|0)==0?(c[d+36>>2]|0)!=1:0){if(!(h&1)){h=b+24|0;while(1){if(a[d+54>>0]|0)break a;if((c[d+36>>2]|0)==1)break a;Jn(h,d,e,f,g);h=h+8|0;if(h>>>0>=(b+16+(i<<3)|0)>>>0)break a}}else h=b+24|0;while(1){if(a[d+54>>0]|0)break a;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==1:0)break a;Jn(h,d,e,f,g);h=h+8|0;if(h>>>0>=(b+16+(i<<3)|0)>>>0)break a}}else h=b+24|0;while(1){if(a[d+54>>0]|0)break a;Jn(h,d,e,f,g);h=h+8|0;if(h>>>0>=(b+16+(i<<3)|0)>>>0)break a}}if((c[d+16>>2]|0)!=(e|0)?(c[d+20>>2]|0)!=(e|0):0){c[d+32>>2]=f;if((c[d+44>>2]|0)==4)break;f=b+16+(c[b+12>>2]<<3)|0;k=0;h=0;j=b+16|0;b:while(1){if(j>>>0>=f>>>0){i=18;break}a[d+52>>0]=0;a[d+53>>0]=0;tn(j,d,e,e,1,g);if(a[d+54>>0]|0){i=18;break}do if(a[d+53>>0]|0){if(!(a[d+52>>0]|0))if(!(c[b+8>>2]&1)){h=1;i=18;break b}else{i=k;h=1;break}if((c[d+24>>2]|0)==1){i=23;break b}if(!(c[b+8>>2]&2)){i=23;break b}else{i=1;h=1}}else i=k;while(0);k=i;j=j+8|0}do if((i|0)==18){if((!k?(c[d+20>>2]=e,c[d+40>>2]=(c[d+40>>2]|0)+1,(c[d+36>>2]|0)==1):0)?(c[d+24>>2]|0)==2:0){a[d+54>>0]=1;if(h){i=23;break}else{h=4;break}}if(h)i=23;else h=4}while(0);if((i|0)==23)h=3;c[d+44>>2]=h;break}if((f|0)==1)c[d+32>>2]=1}else yr(d,e,f);while(0);return}function af(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0;d=c[a+748>>2]|0;if((d|0)!=4){c[a+748>>2]=d+1;x=d;w=(x|0)>0;x=w?x:0;a=a+4+(x*184|0)|0;_h(a|0,b|0,184)|0;return x|0}y=+g[b+80>>2];v=+g[a+84>>2];u=v<y?v:y;t=+g[a+268>>2];s=t<u?t:u;r=+g[a+452>>2];w=+g[a+636>>2]<(r<s?r:s);d=w?3:r<s?2:t<u?1:(v<y^1)<<31>>31;y=+g[b>>2];if(d){e=+g[a+188>>2];l=+g[b+4>>2];f=+g[a+192>>2];h=+g[b+8>>2];m=+g[a+196>>2];n=+g[a+556>>2];o=+g[a+372>>2];r=+g[a+560>>2];p=+g[a+376>>2];s=+g[a+564>>2];j=+g[a+380>>2];i=((y-e)*(r-p)-(l-f)*(n-o))*((y-e)*(r-p)-(l-f)*(n-o))+(((l-f)*(s-j)-(h-m)*(r-p))*((l-f)*(s-j)-(h-m)*(r-p))+((h-m)*(n-o)-(y-e)*(s-j))*((h-m)*(n-o)-(y-e)*(s-j)));if((d|0)==1){k=+g[a+12>>2];t=h;v=e;q=n;u=o;h=0.0;n=+g[a+4>>2];o=+g[a+8>>2];x=7}else{t=h;u=o;q=n;x=6}}else{e=+g[a+188>>2];f=+g[a+192>>2];m=+g[a+196>>2];i=0.0;l=+g[b+4>>2];t=+g[b+8>>2];u=+g[a+372>>2];q=+g[a+556>>2];p=+g[a+376>>2];r=+g[a+560>>2];j=+g[a+380>>2];s=+g[a+564>>2];x=6}if((x|0)==6){n=+g[a+4>>2];o=+g[a+8>>2];B=l-o;k=+g[a+12>>2];z=t-k;v=q-u;A=r-p;h=s-j;h=((y-n)*A-B*v)*((y-n)*A-B*v)+((B*h-z*A)*(B*h-z*A)+(z*v-(y-n)*h)*(z*v-(y-n)*h));if((d|0)==2){r=e;q=u;e=0.0;x=8}else{v=e;x=7}}if((x|0)==7){B=y-n;C=l-o;z=t-k;A=q-v;r=r-f;e=s-m;e=(B*r-C*A)*(B*r-C*A)+((C*e-z*r)*(C*e-z*r)+(z*A-B*e)*(z*A-B*e));if(w)f=0.0;else{r=v;q=u;x=8}}if((x|0)==8){C=y-n;y=l-o;A=t-k;B=q-r;z=p-f;f=j-m;f=(C*z-y*B)*(C*z-y*B)+((y*f-A*z)*(y*f-A*z)+(A*B-C*f)*(A*B-C*f))}C=+F(+i);A=+F(+h);y=+F(+e);v=+F(+f);B=C>-999999984306749440.0?C:-999999984306749440.0;z=A>B?A:B;x=v>(y>z?y:z)?3:y>z?2:A>B?1:(C>-999999984306749440.0^1)<<31>>31;w=(x|0)>0;x=w?x:0;a=a+4+(x*184|0)|0;_h(a|0,b|0,184)|0;return x|0}function bf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;c[b+16>>2]=c[a+4>>2];c[b+20>>2]=c[a+8>>2];c[b+24>>2]=c[a+12>>2];c[b+28>>2]=c[a+16>>2];c[b+32>>2]=c[a+20>>2];c[b+36>>2]=c[a+24>>2];c[b+40>>2]=c[a+28>>2];c[b+44>>2]=c[a+32>>2];c[b+48>>2]=c[a+36>>2];c[b+52>>2]=c[a+40>>2];c[b+56>>2]=c[a+44>>2];c[b+60>>2]=c[a+48>>2];c[b+64>>2]=c[a+52>>2];c[b+68>>2]=c[a+56>>2];c[b+72>>2]=c[a+60>>2];c[b+76>>2]=c[a+64>>2];c[b+80>>2]=c[a+68>>2];c[b+84>>2]=c[a+72>>2];c[b+88>>2]=c[a+76>>2];c[b+92>>2]=c[a+80>>2];c[b+96>>2]=c[a+84>>2];c[b+100>>2]=c[a+88>>2];c[b+104>>2]=c[a+92>>2];c[b+108>>2]=c[a+96>>2];c[b+112>>2]=c[a+100>>2];c[b+116>>2]=c[a+104>>2];c[b+120>>2]=c[a+108>>2];c[b+124>>2]=c[a+112>>2];c[b+128>>2]=c[a+116>>2];c[b+132>>2]=c[a+120>>2];c[b+136>>2]=c[a+124>>2];c[b+140>>2]=c[a+128>>2];c[b+144>>2]=c[a+132>>2];c[b+148>>2]=c[a+136>>2];c[b+152>>2]=c[a+140>>2];c[b+156>>2]=c[a+144>>2];c[b+160>>2]=c[a+148>>2];c[b+164>>2]=c[a+152>>2];c[b+168>>2]=c[a+156>>2];c[b+172>>2]=c[a+160>>2];c[b+176>>2]=c[a+164>>2];c[b+180>>2]=c[a+168>>2];c[b+184>>2]=c[a+172>>2];c[b+188>>2]=c[a+176>>2];c[b+224>>2]=c[a+180>>2];c[b+192>>2]=c[a+184>>2];c[b>>2]=0;c[b+4>>2]=Kb[c[(c[d>>2]|0)+28>>2]&31](d,c[a+192>>2]|0)|0;c[b+8>>2]=0;c[b+228>>2]=c[a+204>>2];c[b+232>>2]=c[a+208>>2];c[b+236>>2]=c[a+212>>2];c[b+240>>2]=c[a+216>>2];c[b+196>>2]=c[a+220>>2];c[b+200>>2]=c[a+224>>2];c[b+204>>2]=c[a+232>>2];c[b+208>>2]=c[a+228>>2];c[b+244>>2]=c[a+236>>2];e=Kb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=Kb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b+12>>2]=f;if(!f){d=a+244|0;d=c[d>>2]|0;f=b+212|0;c[f>>2]=d;f=a+248|0;f=c[f>>2]|0;d=b+216|0;c[d>>2]=f;d=a+252|0;d=c[d>>2]|0;f=b+220|0;c[f>>2]=d;a=a+256|0;a=c[a>>2]|0;f=b+248|0;c[f>>2]=a;return 13236}nb[c[(c[d>>2]|0)+48>>2]&127](d,e);d=a+244|0;d=c[d>>2]|0;f=b+212|0;c[f>>2]=d;f=a+248|0;f=c[f>>2]|0;d=b+216|0;c[d>>2]=f;d=a+252|0;d=c[d>>2]|0;f=b+220|0;c[f>>2]=d;a=a+256|0;a=c[a>>2]|0;f=b+248|0;c[f>>2]=a;return 13236}function cf(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0;q=c[b+9288>>2]|0;if(!q){c[b>>2]=5;b=0;return b|0}i=c[q+48>>2]|0;if(i|0)c[i+44>>2]=c[q+44>>2];i=c[q+44>>2]|0;if(i|0)c[i+48>>2]=c[q+48>>2];if((c[b+9288>>2]|0)==(q|0))c[b+9288>>2]=c[q+48>>2];c[b+9292>>2]=(c[b+9292>>2]|0)+-1;c[q+44>>2]=0;c[q+48>>2]=c[b+9280>>2];i=c[b+9280>>2]|0;if(i|0)c[i+44>>2]=q;c[b+9280>>2]=q;c[b+9284>>2]=(c[b+9284>>2]|0)+1;a[q+55>>0]=0;c[q+20>>2]=d;c[q+24>>2]=e;c[q+28>>2]=f;m=+g[d+16>>2];j=+g[e+16>>2]-m;n=+g[d+20>>2];k=+g[e+20>>2]-n;o=+g[d+24>>2];l=+g[e+24>>2]-o;m=+g[f+16>>2]-m;n=+g[f+20>>2]-n;o=+g[f+24>>2]-o;g[q>>2]=k*o-l*n;g[q+4>>2]=l*m-j*o;g[q+8>>2]=j*n-k*m;g[q+12>>2]=0.0;p=+G(+((k*o-l*n)*(k*o-l*n)+(l*m-j*o)*(l*m-j*o)+(j*n-k*m)*(j*n-k*m)));if(p>9.999999747378752e-05){if((!(Mk(k*o-l*n,l*m-j*o,j*n-k*m,+g[d+16>>2],+g[d+20>>2],+g[d+24>>2],+g[e+16>>2],+g[e+20>>2],+g[e+24>>2],q+16|0)|0)?!(Mk(+g[q>>2],+g[q+4>>2],+g[q+8>>2],+g[e+16>>2],+g[e+20>>2],+g[e+24>>2],+g[f+16>>2],+g[f+20>>2],+g[f+24>>2],q+16|0)|0):0)?!(Mk(+g[q>>2],+g[q+4>>2],+g[q+8>>2],+g[f+16>>2],+g[f+20>>2],+g[f+24>>2],+g[d+16>>2],+g[d+20>>2],+g[d+24>>2],q+16|0)|0):0)g[q+16>>2]=(+g[d+16>>2]*+g[q>>2]+ +g[d+20>>2]*+g[q+4>>2]+ +g[d+24>>2]*+g[q+8>>2])/p;g[q>>2]=1.0/p*+g[q>>2];g[q+4>>2]=1.0/p*+g[q+4>>2];g[q+8>>2]=1.0/p*+g[q+8>>2];if(h){b=q;return b|0}if(!(+g[q+16>>2]>=-9.999999747378752e-06))i=3;else{b=q;return b|0}}else i=2;c[b>>2]=i;i=c[q+48>>2]|0;if(i|0)c[i+44>>2]=c[q+44>>2];i=c[q+44>>2]|0;if(i|0)c[i+48>>2]=c[q+48>>2];if((c[b+9280>>2]|0)==(q|0))c[b+9280>>2]=c[q+48>>2];c[b+9284>>2]=(c[b+9284>>2]|0)+-1;c[q+44>>2]=0;c[q+48>>2]=c[b+9288>>2];i=c[b+9288>>2]|0;if(i|0)c[i+44>>2]=q;c[b+9288>>2]=q;c[b+9292>>2]=(c[b+9292>>2]|0)+1;b=0;return b|0}function df(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0;f=c[d+8>>2]|0;if((f|0)>0){h=c[d+16>>2]|0;j=0;e=0;do{i=c[h+(j<<2)>>2]|0;if(!(c[i+204>>2]&3)){c[i+208>>2]=e;e=e+1|0}c[i+212>>2]=-1;g[i+244>>2]=1.0;j=j+1|0}while((j|0)!=(f|0));j=e}else j=0;i=c[b+8>>2]|0;if((i|0)<(j|0)){if((c[b+12>>2]|0)<(j|0)){if(!j){e=0;f=i}else{c[6485]=(c[6485]|0)+1;e=ic((j<<3|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[b+8>>2]|0}if((f|0)>0){h=0;do{m=(c[b+16>>2]|0)+(h<<3)|0;k=c[m+4>>2]|0;l=e+(h<<3)|0;c[l>>2]=c[m>>2];c[l+4>>2]=k;h=h+1|0}while((h|0)!=(f|0))}f=c[b+16>>2]|0;if(f|0){if(a[b+20>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[f+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=e;c[b+12>>2]=j;f=b+16|0}else f=b+16|0;e=i;do{m=(c[f>>2]|0)+(e<<3)|0;c[m>>2]=0;c[m+4>>2]=0;e=e+1|0}while((e|0)!=(j|0))}c[b+8>>2]=j;if((j|0)>0){e=c[b+16>>2]|0;f=0;do{c[e+(f<<3)>>2]=f;c[e+(f<<3)+4>>2]=1;f=f+1|0}while((f|0)!=(j|0))}e=c[d+68>>2]|0;e=pb[c[(c[e>>2]|0)+36>>2]&127](e)|0;l=pb[c[(c[e>>2]|0)+36>>2]&127](e)|0;if(!l)return;d=pb[c[(c[e>>2]|0)+20>>2]&127](e)|0;if((l|0)<=0)return;k=0;do{e=c[c[d+(k<<4)>>2]>>2]|0;f=c[c[d+(k<<4)+4>>2]>>2]|0;if((e|0?(f|0?(c[e+204>>2]&7|0)==0:0):0)?(c[f+204>>2]&7|0)==0:0){i=c[e+208>>2]|0;e=c[f+208>>2]|0;j=c[b+16>>2]|0;f=c[j+(i<<3)>>2]|0;if((f|0)!=(i|0)){h=j+(i<<3)|0;do{i=j+(f<<3)|0;c[h>>2]=c[i>>2];i=c[i>>2]|0;h=j+(i<<3)|0;f=c[h>>2]|0}while((i|0)!=(f|0))}f=c[j+(e<<3)>>2]|0;if((f|0)!=(e|0)){h=j+(e<<3)|0;do{e=j+(f<<3)|0;c[h>>2]=c[e>>2];e=c[e>>2]|0;h=j+(e<<3)|0;f=c[h>>2]|0}while((e|0)!=(f|0))}if((i|0)!=(e|0)){c[j+(i<<3)>>2]=e;m=j+(e<<3)+4|0;c[m>>2]=(c[m>>2]|0)+(c[j+(i<<3)+4>>2]|0)}}k=k+1|0}while((k|0)!=(l|0));return}function ef(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0;r=l;l=l+64|0;Eg(c[b+116>>2]|0,d,0);e=+g[d+204>>2]+ +g[d+212>>2];p=e*+g[d+56>>2]+ +g[d+40>>2];q=e*+g[d+60>>2]+ +g[d+44>>2];g[d+16>>2]=+g[d+52>>2]*e+ +g[d+36>>2];g[d+20>>2]=p;g[d+24>>2]=q;g[d+28>>2]=0.0;g[r+32>>2]=-1.0;s=c[b+100>>2]|0;s=tb[c[(c[s>>2]|0)+8>>2]&31](s,d+36|0,d+16|0,r)|0;c[d+88>>2]=0;if(!s){c[d+32>>2]=c[d+204>>2];g[d+272>>2]=0.0;q=-+g[d+56>>2];p=-+g[d+60>>2];g[d>>2]=-+g[d+52>>2];g[d+4>>2]=q;g[d+8>>2]=p;g[d+12>>2]=0.0;p=1.0;q=-1.0;s=d+268|0;g[s>>2]=p;l=r;return +q}q=e*+g[r+32>>2];c[d>>2]=c[r+16>>2];c[d+4>>2]=c[r+16+4>>2];c[d+8>>2]=c[r+16+8>>2];c[d+12>>2]=c[r+16+12>>2];a[d+84>>0]=1;if((a[22656]|0)==0?qy(22656)|0:0){c[r+40>>2]=0;c[r+40+4>>2]=0;c[r+40+8>>2]=0;c[r+40+12>>2]=0;eg(24088,0.0,0,0,r+40|0)}c[6073]=c[6073]|1;g[6108]=0.0;e=+g[6118]*0.0;f=+g[6119]*0.0;g[6113]=+g[6117]*0.0;g[6114]=e;g[6115]=f;g[6116]=0.0;c[6121]=0;c[6122]=0;c[6123]=0;c[6124]=0;f=+g[6110]*0.0;e=+g[6111]*0.0;g[6162]=+g[6109]*0.0;g[6163]=f;g[6164]=e;g[6165]=0.0;c[d+88>>2]=24088;e=q-+g[d+212>>2];g[d+32>>2]=e;f=+g[d+204>>2];h=+g[d+208>>2]*.009999999776482582;if(e<f-h){g[d+32>>2]=f-h;e=f-h}if(e>f+h)g[d+32>>2]=f+h;c[d+16>>2]=c[r>>2];c[d+16+4>>2]=c[r+4>>2];c[d+16+8>>2]=c[r+8>>2];c[d+16+12>>2]=c[r+12>>2];m=+g[d>>2];n=+g[d+4>>2];o=+g[d+8>>2];p=m*+g[d+52>>2]+n*+g[d+56>>2]+o*+g[d+60>>2];b=c[b+116>>2]|0;h=+g[d+16>>2]-+g[b+52>>2];i=+g[d+20>>2]-+g[b+56>>2];j=+g[d+24>>2]-+g[b+60>>2];k=+g[b+332>>2];e=+g[b+336>>2];f=+g[b+328>>2];if(!(p>=-.10000000149011612)){g[d+272>>2]=-1.0/p*(m*(k*j-i*e+ +g[b+312>>2])+n*(h*e-j*f+ +g[b+316>>2])+o*(i*f-h*k+ +g[b+320>>2]));p=-1.0/p;s=d+268|0;g[s>>2]=p;l=r;return +q}else{g[d+272>>2]=0.0;p=10.0;s=d+268|0;g[s>>2]=p;l=r;return +q}return 0.0}function ff(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=c[a+108>>2]|0;if(g|0)Vb[c[(c[g>>2]|0)+12>>2]&127](g,c[d+60>>2]|0,f);o=c[d+12>>2]|0;n=c[a+60>>2]|0;m=c[a+92>>2]|0;if(!(pb[c[(c[m>>2]|0)+56>>2]&127](m)|0)){m=c[a+92>>2]|0;Vb[c[(c[m>>2]|0)+16>>2]&127](m,n+((o&65535)<<6)|0,f)}k=e[a+56>>1]|0;g=c[a+60>>2]|0;b[g+54>>1]=(e[g+54>>1]|0)+65534;b[g+56>>1]=(e[g+56>>1]|0)+65534;b[g+58>>1]=(e[g+58>>1]|0)+65534;g=b[a+6>>1]|0;m=0;do{j=a+68+(m<<2)|0;l=c[j>>2]|0;f=e[n+((o&65535)<<6)+54+(m<<1)>>1]|0;b[l+(f<<2)>>1]=g;d=b[l+(f+1<<2)+2>>1]|0;if(!(d<<16>>16))h=l;else{i=(c[a+60>>2]|0)+((e[l+(f<<2)+2>>1]|0)<<6)+54+(m<<1)|0;h=l+(f<<2)|0;f=l+(f+1<<2)|0;while(1){g=b[f>>1]|0;if((e[h>>1]|0)<(g&65535))break;q=c[a+60>>2]|0;p=d&65535;g=(g&1)==0?q+(p<<6)+48+(m<<1)|0:q+(p<<6)+54+(m<<1)|0;b[g>>1]=(b[g>>1]|0)+-1<<16>>16;b[i>>1]=(b[i>>1]|0)+1<<16>>16;g=e[h>>1]|e[h+2>>1]<<16;p=e[f>>1]|e[f+2>>1]<<16;b[h>>1]=p;b[h+2>>1]=p>>>16;b[f>>1]=g;b[f+2>>1]=g>>>16;d=b[f+6>>1]|0;if(!(d<<16>>16))break;else{h=h+4|0;f=f+4|0}}g=b[a+6>>1]|0;h=c[j>>2]|0}f=e[n+((o&65535)<<6)+48+(m<<1)>>1]|0;b[l+(f<<2)>>1]=g;d=b[h+(f+1<<2)+2>>1]|0;if(d<<16>>16){j=(c[a+60>>2]|0)+((e[h+(f<<2)+2>>1]|0)<<6)+48+(m<<1)|0;i=h+(f<<2)|0;f=h+(f+1<<2)|0;while(1){g=b[f>>1]|0;if((e[i>>1]|0)<(g&65535))break;p=c[a+60>>2]|0;q=d&65535;q=(g&1)==0?p+(q<<6)+48+(m<<1)|0:p+(q<<6)+54+(m<<1)|0;b[q>>1]=(b[q>>1]|0)+-1<<16>>16;b[j>>1]=(b[j>>1]|0)+1<<16>>16;q=e[i>>1]|e[i+2>>1]<<16;p=e[f>>1]|e[f+2>>1]<<16;b[i>>1]=p;b[i+2>>1]=p>>>16;b[f>>1]=q;b[f+2>>1]=q>>>16;d=b[f+6>>1]|0;if(!(d<<16>>16))break;else{i=i+4|0;f=f+4|0}}g=b[a+6>>1]|0}b[l+((k<<1)+-1<<2)+2>>1]=0;b[l+((k<<1)+-1<<2)>>1]=g;m=m+1|0}while((m|0)!=3);b[(c[a+60>>2]|0)+((o&65535)<<6)+48>>1]=b[a+64>>1]|0;b[a+64>>1]=o;b[a+56>>1]=(b[a+56>>1]|0)+-1<<16>>16;return}function gf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;u=+g[b>>2];t=+g[b+4>>2];s=+g[b+8>>2];r=1.0/+G(+(u*u+t*t+s*s));y=+g[d>>2];x=+g[d+4>>2];w=+g[d+8>>2];v=1.0/+G(+(y*y+x*x+w*w));B=s*r*x*v-t*r*w*v;A=u*r*w*v-s*r*y*v;z=t*r*y*v-u*r*x*v;d=c[a+28>>2]|0;e=+g[d+4>>2];h=+g[d+20>>2];j=+g[d+36>>2];f=+g[d+8>>2];i=+g[d+24>>2];k=+g[d+40>>2];l=+g[d+12>>2];n=+g[d+28>>2];p=+g[d+44>>2];m=-+g[d+52>>2];o=-+g[d+56>>2];q=-+g[d+60>>2];g[a+48>>2]=e*B+A*h+z*j;g[a+52>>2]=y*v*e+x*v*h+w*v*j;g[a+56>>2]=u*r*e+t*r*h+s*r*j;g[a+60>>2]=0.0;g[a+64>>2]=B*f+A*i+z*k;g[a+68>>2]=y*v*f+x*v*i+w*v*k;g[a+72>>2]=u*r*f+t*r*i+s*r*k;g[a+76>>2]=0.0;g[a+80>>2]=B*l+A*n+z*p;g[a+84>>2]=y*v*l+x*v*n+w*v*p;g[a+88>>2]=u*r*l+t*r*n+s*r*p;g[a+92>>2]=0.0;g[a+96>>2]=e*0.0+h*0.0+j*0.0+(e*m+h*o+j*q);g[a+100>>2]=f*0.0+i*0.0+k*0.0+(f*m+i*o+k*q);g[a+104>>2]=l*0.0+n*0.0+p*0.0+(l*m+n*o+p*q);g[a+108>>2]=0.0;d=c[a+32>>2]|0;q=+g[d+4>>2];p=+g[d+20>>2];o=+g[d+36>>2];n=+g[d+8>>2];m=+g[d+24>>2];l=+g[d+40>>2];k=+g[d+12>>2];i=+g[d+28>>2];f=+g[d+44>>2];j=-+g[d+52>>2];h=-+g[d+56>>2];e=-+g[d+60>>2];g[a+112>>2]=B*q+A*p+z*o;g[a+116>>2]=y*v*q+x*v*p+w*v*o;g[a+120>>2]=u*r*q+t*r*p+s*r*o;g[a+124>>2]=0.0;g[a+128>>2]=B*n+A*m+z*l;g[a+132>>2]=y*v*n+x*v*m+w*v*l;g[a+136>>2]=u*r*n+t*r*m+s*r*l;g[a+140>>2]=0.0;g[a+144>>2]=B*k+A*i+z*f;g[a+148>>2]=y*v*k+x*v*i+w*v*f;g[a+152>>2]=u*r*k+t*r*i+s*r*f;g[a+156>>2]=0.0;g[a+160>>2]=q*0.0+p*0.0+o*0.0+(q*j+p*h+o*e);g[a+164>>2]=n*0.0+m*0.0+l*0.0+(n*j+m*h+l*e);g[a+168>>2]=k*0.0+i*0.0+f*0.0+(k*j+i*h+f*e);g[a+172>>2]=0.0;ed(a,(c[a+28>>2]|0)+4|0,(c[a+32>>2]|0)+4|0);return}function hf(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[6215]=(c[6215]|0)+1;g=c[d+24>>2]|0;if(!g){if(!((b[f+6>>1]&b[e+4>>1])<<16>>16)){d=0;return d|0}if(!((b[e+6>>1]&b[f+4>>1])<<16>>16)){d=0;return d|0}}else if(!(zb[c[(c[g>>2]|0)+8>>2]&63](g,e,f)|0)){d=0;return d|0}l=(c[e+12>>2]|0)>(c[f+12>>2]|0);m=l?f:e;h=c[m+12>>2]|0;l=l?e:f;e=c[l+12>>2]|0;j=((e<<16|h)+~((e<<16|h)<<15)>>10^(e<<16|h)+~((e<<16|h)<<15))*9|0;j=(j>>6^j)+~((j>>6^j)<<11)>>16^(j>>6^j)+~((j>>6^j)<<11);k=c[d+12>>2]|0;g=c[(c[d+44>>2]|0)+((j&k+-1)<<2)>>2]|0;a:do if((g|0)!=-1){f=c[d+16>>2]|0;while(1){if((c[(c[f+(g<<4)>>2]|0)+12>>2]|0)==(h|0)?(c[(c[f+(g<<4)+4>>2]|0)+12>>2]|0)==(e|0):0)break;g=c[(c[d+64>>2]|0)+(g<<2)>>2]|0;if((g|0)==-1)break a}g=f+(g<<4)|0;if(g|0){d=g;return d|0}}while(0);i=c[d+8>>2]|0;if((i|0)==(k|0)){g=k|0?k<<1:1;if((k|0)<(g|0)){if(!g){e=0;f=k}else{c[6485]=(c[6485]|0)+1;e=ic((g<<4|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[d+8>>2]|0}if((f|0)>0){h=0;do{n=c[d+16>>2]|0;c[e+(h<<4)>>2]=c[n+(h<<4)>>2];c[e+(h<<4)+4>>2]=c[n+(h<<4)+4>>2];c[e+(h<<4)+8>>2]=c[n+(h<<4)+8>>2];c[e+(h<<4)+12>>2]=c[n+(h<<4)+12>>2];h=h+1|0}while((h|0)!=(f|0))}h=c[d+16>>2]|0;if(h){if(a[d+20>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[h+-4>>2]|0);f=c[d+8>>2]|0}c[d+16>>2]=0}a[d+20>>0]=1;c[d+16>>2]=e;c[d+12>>2]=g}else{f=k;g=k}}else{f=i;g=k}c[d+8>>2]=f+1;f=c[d+16>>2]|0;e=c[d+72>>2]|0;if(e){zb[c[(c[e>>2]|0)+8>>2]&63](e,m,l)|0;g=c[d+12>>2]|0}if((k|0)<(g|0)){Af(d);g=(c[d+12>>2]|0)+-1&j}else g=j&k+-1;n=(c[m+12>>2]|0)<(c[l+12>>2]|0);c[f+(i<<4)>>2]=n?m:l;c[f+(i<<4)+4>>2]=n?l:m;c[f+(i<<4)+8>>2]=0;c[f+(i<<4)+8+4>>2]=0;n=(c[d+44>>2]|0)+(g<<2)|0;c[(c[d+64>>2]|0)+(i<<2)>>2]=c[n>>2];c[n>>2]=i;n=f+(i<<4)|0;return n|0}function jf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0.0,k=0,m=0,n=0,o=0.0;n=l;l=l+16|0;c[6188]=(c[6188]|0)+1;if(!(c[b+4>>2]&2))f=5100;else{f=c[d+192>>2]|0;o=+Pb[c[(c[f>>2]|0)+20>>2]&1](f,.019999999552965164);g[n+4>>2]=o;f=c[e+192>>2]|0;j=+Pb[c[(c[f>>2]|0)+20>>2]&1](f,.019999999552965164);g[n>>2]=j;f=o<j?n+4|0:n}i=c[f>>2]|0;o=+g[d+184>>2];j=+g[e+184>>2];j=o<j?o:j;f=c[b+68>>2]|0;h=c[f+8>>2]|0;if(!h){if(c[b+4>>2]&4|0){b=0;l=n;return b|0}c[6485]=(c[6485]|0)+1;f=ic(791)|0;if(!f)k=0;else{c[(f+4+15&-16)+-4>>2]=f;k=f+4+15&-16}}else{k=c[f+12>>2]|0;c[f+12>>2]=c[k>>2];c[f+8>>2]=h+-1}c[k>>2]=1025;c[k+116>>2]=0;a[k+120>>0]=0;f=k+124|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;c[k+300>>2]=0;a[k+304>>0]=0;f=k+308|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;c[k+484>>2]=0;a[k+488>>0]=0;f=k+492|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;c[k+668>>2]=0;a[k+672>>0]=0;f=k+676|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;c[k+740>>2]=d;c[k+744>>2]=e;c[k+748>>2]=0;c[k+752>>2]=i;g[k+756>>2]=j;d=k;f=c[b+12>>2]|0;c[k+768>>2]=f;if((f|0)==(c[b+16>>2]|0)?(m=f|0?f<<1:1,(f|0)<(m|0)):0){if(!m)i=0;else{c[6485]=(c[6485]|0)+1;f=ic((m<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}i=f;f=c[b+12>>2]|0}if((f|0)>0){h=0;do{c[i+(h<<2)>>2]=c[(c[b+20>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(f|0))}h=c[b+20>>2]|0;if(h){if(a[b+24>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[h+-4>>2]|0);f=c[b+12>>2]|0}c[b+20>>2]=0}a[b+24>>0]=1;c[b+20>>2]=i;c[b+16>>2]=m}c[(c[b+20>>2]|0)+(f<<2)>>2]=d;c[b+12>>2]=f+1;b=k;l=n;return b|0}function kf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0,x=0;w=l;l=l+32|0;s=c[a+12>>2]|0;t=+g[s+(((e+d|0)/2|0)*24|0)>>2];u=+g[s+(((e+d|0)/2|0)*24|0)+4>>2];v=+g[s+(((e+d|0)/2|0)*24|0)+8>>2];q=+g[s+(((e+d|0)/2|0)*24|0)+16>>2];r=c[s+(((e+d|0)/2|0)*24|0)+20>>2]|0;f=d;h=e;while(1){m=+g[b>>2];n=+g[b+4>>2];o=+g[b+8>>2];p=(t-m)*(t-m)+(u-n)*(u-n)+(v-o)*(v-o);a:while(1){i=+g[s+(f*24|0)+16>>2];do if(i!=q){if(!(i<q))break a}else{i=+g[s+(f*24|0)>>2]-m;j=+g[s+(f*24|0)+4>>2]-n;k=+g[s+(f*24|0)+8>>2]-o;if(i*i+j*j+k*k!=p)if(i*i+j*j+k*k<p)break;else break a;else if((c[s+(f*24|0)+20>>2]|0)<(r|0))break;else break a}while(0);f=f+1|0}b:while(1){i=+g[s+(h*24|0)+16>>2];do if(q!=i){if(!(q<i))break b}else{i=+g[s+(h*24|0)>>2]-m;j=+g[s+(h*24|0)+4>>2]-n;k=+g[s+(h*24|0)+8>>2]-o;if(p!=i*i+j*j+k*k)if(p<i*i+j*j+k*k)break;else break b;else if((r|0)<(c[s+(h*24|0)+20>>2]|0))break;else break b}while(0);h=h+-1|0}if((f|0)<=(h|0)){x=s+(f*24|0)|0;c[w>>2]=c[x>>2];c[w+4>>2]=c[x+4>>2];c[w+8>>2]=c[x+8>>2];c[w+12>>2]=c[x+12>>2];c[w+16>>2]=c[x+16>>2];c[w+20>>2]=c[x+20>>2];s=s+(h*24|0)|0;c[x>>2]=c[s>>2];c[x+4>>2]=c[s+4>>2];c[x+8>>2]=c[s+8>>2];c[x+12>>2]=c[s+12>>2];c[x+16>>2]=c[s+16>>2];c[x+20>>2]=c[s+20>>2];s=(c[a+12>>2]|0)+(h*24|0)|0;c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];c[s+16>>2]=c[w+16>>2];c[s+20>>2]=c[w+20>>2];f=f+1|0;h=h+-1|0}if((f|0)>(h|0))break;s=c[a+12>>2]|0}if((h|0)>(d|0))kf(a,b,d,h);if((f|0)>=(e|0)){l=w;return}kf(a,b,f,e);l=w;return}function lf(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0.0,h=0,i=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;j=c[a+28>>2]|0;k=c[a+32>>2]|0;e=c[b+8>>2]|0;g[e>>2]=1.0;h=c[b+24>>2]|0;g[e+(h+1<<2)>>2]=1.0;g[e+((h<<1)+2<<2)>>2]=1.0;l=+g[a+300>>2];q=+g[a+304>>2];f=+g[a+308>>2];o=+g[j+4>>2]*l+ +g[j+8>>2]*q+ +g[j+12>>2]*f;m=l*+g[j+20>>2]+q*+g[j+24>>2]+f*+g[j+28>>2];f=l*+g[j+36>>2]+q*+g[j+40>>2]+f*+g[j+44>>2];e=c[b+12>>2]|0;c[e>>2]=0;g[e+4>>2]=f;g[e+8>>2]=-m;g[e+12>>2]=0.0;g[e+(h<<2)>>2]=-f;c[e+(h+1<<2)>>2]=0;g[e+(h+2<<2)>>2]=o;g[e+(h+3<<2)>>2]=0.0;g[e+(h<<1<<2)>>2]=m;g[e+((h<<1|1)<<2)>>2]=-o;c[e+((h<<1)+2<<2)>>2]=0;g[e+((h<<1)+3<<2)>>2]=0.0;e=c[b+16>>2]|0;g[e>>2]=-1.0;g[e+(h+1<<2)>>2]=-1.0;g[e+((h<<1)+2<<2)>>2]=-1.0;q=+g[a+316>>2];l=+g[a+320>>2];d=+g[a+324>>2];p=+g[k+4>>2]*q+ +g[k+8>>2]*l+ +g[k+12>>2]*d;n=q*+g[k+20>>2]+l*+g[k+24>>2]+d*+g[k+28>>2];d=q*+g[k+36>>2]+l*+g[k+40>>2]+d*+g[k+44>>2];h=c[b+20>>2]|0;e=c[b+24>>2]|0;c[h>>2]=0;g[h+4>>2]=-d;g[h+8>>2]=n;g[h+12>>2]=0.0;g[h+(e<<2)>>2]=d;c[h+(e+1<<2)>>2]=0;g[h+(e+2<<2)>>2]=-p;g[h+(e+3<<2)>>2]=0.0;g[h+(e<<1<<2)>>2]=-n;g[h+((e<<1|1)<<2)>>2]=p;c[h+((e<<1)+2<<2)>>2]=0;g[h+((e<<1)+3<<2)>>2]=0.0;h=c[a+332>>2]|0;l=+g[((h&1|0)==0?b+4|0:a+336|0)>>2]*+g[b>>2];i=c[b+28>>2]|0;g[i>>2]=l*(p+ +g[k+52>>2]-o-+g[j+52>>2]);g[i+(e<<2)>>2]=l*(n+ +g[k+56>>2]-m-+g[j+56>>2]);g[i+(e<<1<<2)>>2]=l*(d+ +g[k+60>>2]-f-+g[j+60>>2]);if(h&2|0){k=c[b+32>>2]|0;c[k>>2]=c[a+340>>2];c[k+(e<<2)>>2]=c[a+340>>2];c[k+(e<<1<<2)>>2]=c[a+340>>2]}f=+g[a+356>>2];if(f>0.0){g[c[b+36>>2]>>2]=-f;g[c[b+40>>2]>>2]=f;d=+g[a+356>>2]}else d=f;if(d>0.0){g[(c[b+36>>2]|0)+(e<<2)>>2]=-f;g[(c[b+40>>2]|0)+(e<<2)>>2]=f;d=+g[a+356>>2]}if(!(d>0.0)){j=a+352|0;j=c[j>>2]|0;k=b+52|0;c[k>>2]=j;return}g[(c[b+36>>2]|0)+(e<<1<<2)>>2]=-f;g[(c[b+40>>2]|0)+(e<<1<<2)>>2]=f;j=a+352|0;j=c[j>>2]|0;k=b+52|0;c[k>>2]=j;return}function mf(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;r=l;l=l+80|0;n=c[a+4>>2]|0;Jb[c[(c[n>>2]|0)+16>>2]&3](n,r+28|0,r+24|0,r+20|0,r+16|0,r+12|0,r+8|0,r+4|0,r,b);n=(c[r+12>>2]|0)+(S(c[r+8>>2]|0,d)|0)|0;q=c[a+4>>2]|0;m=(c[r>>2]|0)==3;o=(c[r+20>>2]|0)==0;p=c[r+28>>2]|0;if(m)f=e[n+4>>1]|0;else f=c[n+8>>2]|0;f=S(c[r+16>>2]|0,f)|0;if(o){j=+g[p+(f+8)>>2];k=+g[p+(f+4)>>2]*+g[q+8>>2];i=+g[p+f>>2]*+g[q+4>>2]}else{j=+h[p+(f+16)>>3];k=+h[p+(f+8)>>3]*+g[q+8>>2];i=+h[p+f>>3]*+g[q+4>>2]}j=j*+g[q+12>>2];g[r+32+32>>2]=i;g[r+32+36>>2]=k;g[r+32+40>>2]=j;g[r+32+44>>2]=0.0;if(m)f=e[n+2>>1]|0;else f=c[n+4>>2]|0;f=S(c[r+16>>2]|0,f)|0;if(o){j=+g[p+(f+8)>>2];k=+g[p+(f+4)>>2]*+g[q+8>>2];i=+g[p+f>>2]*+g[q+4>>2]}else{j=+h[p+(f+16)>>3];k=+h[p+(f+8)>>3]*+g[q+8>>2];i=+h[p+f>>3]*+g[q+4>>2]}j=j*+g[q+12>>2];g[r+32+16>>2]=i;g[r+32+20>>2]=k;g[r+32+24>>2]=j;g[r+32+28>>2]=0.0;if(m)f=e[n>>1]|0;else f=c[n>>2]|0;f=S(c[r+16>>2]|0,f)|0;if(o){j=+g[p+(f+4)>>2]*+g[q+8>>2];i=+g[p+f>>2]*+g[q+4>>2];s=+g[p+(f+8)>>2];k=+g[q+12>>2];k=s*k;g[r+32>>2]=i;q=r+32+4|0;g[q>>2]=j;q=r+32+8|0;g[q>>2]=k;q=r+32+12|0;g[q>>2]=0.0;q=a+8|0;q=c[q>>2]|0;p=c[q>>2]|0;p=p+8|0;p=c[p>>2]|0;Zb[p&127](q,r+32|0,b,d);a=c[a+4>>2]|0;d=c[a>>2]|0;d=d+24|0;d=c[d>>2]|0;nb[d&127](a,b);l=r;return}else{k=+h[p+(f+8)>>3]*+g[q+8>>2];j=+h[p+f>>3]*+g[q+4>>2];i=+h[p+(f+16)>>3];s=+g[q+12>>2];s=i*s;g[r+32>>2]=j;q=r+32+4|0;g[q>>2]=k;q=r+32+8|0;g[q>>2]=s;q=r+32+12|0;g[q>>2]=0.0;q=a+8|0;q=c[q>>2]|0;p=c[q>>2]|0;p=p+8|0;p=c[p>>2]|0;Zb[p&127](q,r+32|0,b,d);a=c[a+4>>2]|0;d=c[a>>2]|0;d=d+24|0;d=c[d>>2]|0;nb[d&127](a,b);l=r;return}}function nf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c[6214]=(c[6214]|0)+1;j=(c[b+12>>2]|0)>(c[d+12>>2]|0);l=j?d:b;h=c[l+12>>2]|0;j=j?b:d;f=c[j+12>>2]|0;i=((f<<16|h)+~((f<<16|h)<<15)>>10^(f<<16|h)+~((f<<16|h)<<15))*9|0;i=((i>>6^i)+~((i>>6^i)<<11)>>16^(i>>6^i)+~((i>>6^i)<<11))&(c[a+12>>2]|0)+-1;b=c[(c[a+44>>2]|0)+(i<<2)>>2]|0;if((b|0)==-1){o=0;return o|0}g=c[a+16>>2]|0;d=b;while(1){if((c[(c[g+(d<<4)>>2]|0)+12>>2]|0)==(h|0)?(c[(c[g+(d<<4)+4>>2]|0)+12>>2]|0)==(f|0):0)break;b=c[(c[a+64>>2]|0)+(d<<2)>>2]|0;if((b|0)==-1){b=0;o=24;break}else d=b}if((o|0)==24)return b|0;b=g+(d<<4)|0;if(!b){o=0;return o|0}Vb[c[(c[a>>2]|0)+32>>2]&127](a,b,e);n=c[g+(d<<4)+12>>2]|0;m=b-(c[a+16>>2]|0)>>4;h=(c[a+44>>2]|0)+(i<<2)|0;b=c[h>>2]|0;d=c[a+64>>2]|0;if((b|0)!=(m|0)){g=b;while(1){f=d+(g<<2)|0;b=c[f>>2]|0;if((b|0)==(m|0))break;else g=b}b=c[d+(m<<2)>>2]|0;if((g|0)==-1)o=12;else c[f>>2]=b}else{b=c[d+(m<<2)>>2]|0;o=12}if((o|0)==12)c[h>>2]=b;k=(c[a+8>>2]|0)+-1|0;b=c[a+72>>2]|0;if(b|0)tb[c[(c[b>>2]|0)+12>>2]&31](b,l,j,e)|0;if((k|0)==(m|0)){c[a+8>>2]=(c[a+8>>2]|0)+-1;o=n;return o|0}j=c[a+16>>2]|0;h=c[(c[j+(k<<4)+4>>2]|0)+12>>2]<<16|c[(c[j+(k<<4)>>2]|0)+12>>2];h=(h+~(h<<15)>>10^h+~(h<<15))*9|0;h=((h>>6^h)+~((h>>6^h)<<11)>>16^(h>>6^h)+~((h>>6^h)<<11))&(c[a+12>>2]|0)+-1;i=(c[a+44>>2]|0)+(h<<2)|0;b=c[i>>2]|0;d=c[a+64>>2]|0;if((b|0)!=(k|0)){g=b;while(1){f=d+(g<<2)|0;b=c[f>>2]|0;if((b|0)==(k|0))break;else g=b}b=c[d+(k<<2)>>2]|0;if((g|0)==-1)o=22;else c[f>>2]=b}else{b=c[d+(k<<2)>>2]|0;o=22}if((o|0)==22)c[i>>2]=b;c[j+(m<<4)>>2]=c[j+(k<<4)>>2];c[j+(m<<4)+4>>2]=c[j+(k<<4)+4>>2];c[j+(m<<4)+8>>2]=c[j+(k<<4)+8>>2];c[j+(m<<4)+12>>2]=c[j+(k<<4)+12>>2];o=(c[a+44>>2]|0)+(h<<2)|0;c[(c[a+64>>2]|0)+(m<<2)>>2]=c[o>>2];c[o>>2]=m;c[a+8>>2]=(c[a+8>>2]|0)+-1;o=n;return o|0}function of(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0.0,u=0.0,v=0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0;z=(a[b+28>>0]|0)!=0;C=z?e:d;z=z?d:e;A=c[b+12>>2]|0;if((A|0)<=0){w=1.0;return +w}y=(c[C+192>>2]|0)+24|0;j=+g[C+4>>2];t=+g[C+8>>2];u=+g[C+12>>2];v=c[C+16>>2]|0;w=+g[C+20>>2];k=+g[C+24>>2];l=+g[C+28>>2];d=c[C+32>>2]|0;m=+g[C+36>>2];n=+g[C+40>>2];o=+g[C+44>>2];e=c[C+48>>2]|0;p=+g[C+52>>2];q=+g[C+56>>2];r=+g[C+60>>2];s=c[C+64>>2]|0;x=c[C+260>>2]|0;i=1.0;B=0;do{E=c[y>>2]|0;P=+g[E+(B*80|0)>>2];O=+g[E+(B*80|0)+16>>2];N=+g[E+(B*80|0)+32>>2];M=+g[E+(B*80|0)+4>>2];L=+g[E+(B*80|0)+20>>2];K=+g[E+(B*80|0)+36>>2];J=+g[E+(B*80|0)+8>>2];I=+g[E+(B*80|0)+24>>2];H=+g[E+(B*80|0)+40>>2];G=+g[E+(B*80|0)+48>>2];F=+g[E+(B*80|0)+52>>2];D=+g[E+(B*80|0)+56>>2];c[C+260>>2]=x+1;g[C+4>>2]=j*P+t*O+u*N;g[C+8>>2]=j*M+t*L+u*K;g[C+12>>2]=j*J+t*I+u*H;g[C+16>>2]=0.0;g[C+20>>2]=w*P+k*O+l*N;g[C+24>>2]=w*M+k*L+l*K;g[C+28>>2]=w*J+k*I+l*H;g[C+32>>2]=0.0;g[C+36>>2]=m*P+n*O+o*N;g[C+40>>2]=m*M+n*L+o*K;g[C+44>>2]=m*J+n*I+o*H;g[C+48>>2]=0.0;g[C+52>>2]=p+(j*G+t*F+u*D);g[C+56>>2]=q+(w*G+k*F+l*D);g[C+60>>2]=r+(m*G+n*F+o*D);g[C+64>>2]=0.0;E=c[(c[b+20>>2]|0)+(B<<2)>>2]|0;D=+xb[c[(c[E>>2]|0)+12>>2]&15](E,C,z,f,h);i=D<i?D:i;x=(c[C+260>>2]|0)+1|0;c[C+260>>2]=x;g[C+4>>2]=j;g[C+8>>2]=t;g[C+12>>2]=u;c[C+16>>2]=v;g[C+20>>2]=w;g[C+24>>2]=k;g[C+28>>2]=l;c[C+32>>2]=d;g[C+36>>2]=m;g[C+40>>2]=n;g[C+44>>2]=o;c[C+48>>2]=e;g[C+52>>2]=p;g[C+56>>2]=q;g[C+60>>2]=r;c[C+64>>2]=s;B=B+1|0}while((B|0)!=(A|0));return +i}function pf(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0;i=ps()|0;c[i+4>>2]=7;c[i+8>>2]=-1;c[i+12>>2]=-1;g[i+16>>2]=3402823466385288598117041.0e14;a[i+20>>0]=1;a[i+21>>0]=0;c[i+24>>2]=-1;c[i+28>>2]=b;c[i+32>>2]=d;g[i+36>>2]=0.0;g[i+40>>2]=.30000001192092896;c[i+44>>2]=0;c[i>>2]=4724;a[i+48>>0]=0;c[i+52>>2]=c[e>>2];c[i+52+4>>2]=c[e+4>>2];c[i+52+8>>2]=c[e+8>>2];c[i+52+12>>2]=c[e+12>>2];c[i+68>>2]=c[e+16>>2];c[i+68+4>>2]=c[e+16+4>>2];c[i+68+8>>2]=c[e+16+8>>2];c[i+68+12>>2]=c[e+16+12>>2];c[i+84>>2]=c[e+32>>2];c[i+84+4>>2]=c[e+32+4>>2];c[i+84+8>>2]=c[e+32+8>>2];c[i+84+12>>2]=c[e+32+12>>2];c[i+100>>2]=c[e+48>>2];c[i+100+4>>2]=c[e+48+4>>2];c[i+100+8>>2]=c[e+48+8>>2];c[i+100+12>>2]=c[e+48+12>>2];c[i+116>>2]=c[f>>2];c[i+116+4>>2]=c[f+4>>2];c[i+116+8>>2]=c[f+8>>2];c[i+116+12>>2]=c[f+12>>2];c[i+132>>2]=c[f+16>>2];c[i+132+4>>2]=c[f+16+4>>2];c[i+132+8>>2]=c[f+16+8>>2];c[i+132+12>>2]=c[f+16+12>>2];c[i+148>>2]=c[f+32>>2];c[i+148+4>>2]=c[f+32+4>>2];c[i+148+8>>2]=c[f+32+8>>2];c[i+148+12>>2]=c[f+32+12>>2];c[i+164>>2]=c[f+48>>2];c[i+164+4>>2]=c[f+48+4>>2];c[i+164+8>>2]=c[f+48+8>>2];c[i+164+12>>2]=c[f+48+12>>2];a[i+180>>0]=h&1;g[i+184>>2]=1.0;g[i+188>>2]=-1.0;g[i+192>>2]=0.0;g[i+196>>2]=0.0;g[i+200>>2]=1.0;g[i+204>>2]=.699999988079071;g[i+208>>2]=0.0;g[i+212>>2]=0.0;g[i+216>>2]=1.0;g[i+220>>2]=.699999988079071;g[i+224>>2]=0.0;g[i+228>>2]=0.0;g[i+264>>2]=1.0;g[i+268>>2]=.699999988079071;g[i+272>>2]=1.0;g[i+276>>2]=0.0;g[i+280>>2]=1.0;g[i+284>>2]=.699999988079071;g[i+288>>2]=1.0;g[i+292>>2]=0.0;g[i+232>>2]=1.0;g[i+236>>2]=.699999988079071;g[i+240>>2]=1.0;g[i+244>>2]=0.0;g[i+248>>2]=1.0;g[i+252>>2]=.699999988079071;g[i+256>>2]=1.0;g[i+260>>2]=0.0;a[i+1096>>0]=0;g[i+1116>>2]=0.0;g[i+1120>>2]=0.0;g[i+1124>>2]=0.0;c[i+300>>2]=0;c[i+1100>>2]=0;c[i+1100+4>>2]=0;c[i+1100+8>>2]=0;a[i+1100+12>>0]=0;a[i+49>>0]=1;_c(i,(c[i+28>>2]|0)+4|0,(c[i+32>>2]|0)+4|0);return i|0}function qf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;a[q+16>>0]=1;c[q+12>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;e=c[b+8>>2]|0;if((e|0)>0){g=0;i=0;h=0;f=0;o=0;do{m=c[b+16>>2]|0;n=m+(o<<4)|0;if((g|0)==(f|0)){k=f|0?f<<1:1;if((f|0)<(k|0)){if(k){c[6485]=(c[6485]|0)+1;e=ic((k<<4|3)+16|0)|0;if(!e){i=0;f=g}else{c[(e+4+15&-16)+-4>>2]=e;i=e+4+15&-16;f=g}}else i=0;if((f|0)>0){e=0;do{j=c[q+12>>2]|0;c[i+(e<<4)>>2]=c[j+(e<<4)>>2];c[i+(e<<4)+4>>2]=c[j+(e<<4)+4>>2];c[i+(e<<4)+8>>2]=c[j+(e<<4)+8>>2];c[i+(e<<4)+12>>2]=c[j+(e<<4)+12>>2];e=e+1|0}while((e|0)!=(f|0))}e=c[q+12>>2]|0;if(!e)g=f;else{c[6486]=(c[6486]|0)+1;Uc(c[e+-4>>2]|0);c[q+12>>2]=0}c[q+12>>2]=i;j=g;f=k;e=c[b+8>>2]|0;h=k}else j=f}else j=g;c[i+(j<<4)>>2]=c[n>>2];c[i+(j<<4)+4>>2]=c[m+(o<<4)+4>>2];c[i+(j<<4)+8>>2]=c[m+(o<<4)+8>>2];c[i+(j<<4)+12>>2]=c[m+(o<<4)+12>>2];g=j+1|0;o=o+1|0}while((o|0)<(e|0));c[q+4>>2]=g;a[q+16>>0]=1;c[q+8>>2]=h;if((j|0)>-1){e=c[q+12>>2]|0;f=0;while(1){tb[c[(c[b>>2]|0)+12>>2]&31](b,c[e+(f<<4)>>2]|0,c[e+(f<<4)+4>>2]|0,d)|0;if((f|0)<(j|0))f=f+1|0;else break}}}else g=0;if((c[b+56>>2]|0)>0){e=c[b+64>>2]|0;f=0;do{c[e+(f<<2)>>2]=-1;f=f+1|0}while((f|0)<(c[b+56>>2]|0))}if((g|0)<=1)if((g|0)>0)p=24;else e=c[q+12>>2]|0;else{Ie(q,0,g+-1|0);p=24}if((p|0)==24){e=c[q+12>>2]|0;f=0;do{zb[c[(c[b>>2]|0)+8>>2]&63](b,c[e+(f<<4)>>2]|0,c[e+(f<<4)+4>>2]|0)|0;f=f+1|0}while((f|0)<(g|0))}if(!e){l=q;return}c[6486]=(c[6486]|0)+1;Uc(c[e+-4>>2]|0);c[q+12>>2]=0;l=q;return}function rf(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0;i=Wr(460)|0;Qd(i,b,d,e);c[i>>2]=4e3;a[i+340>>0]=1;c[i+336>>2]=0;c[i+328>>2]=0;c[i+332>>2]=0;g[i+352>>2]=1.2000000476837158;g[i+356>>2]=0.0;g[i+360>>2]=0.0;g[i+364>>2]=1.0e3;c[i+368>>2]=0;c[i+368+4>>2]=0;c[i+368+8>>2]=0;c[i+368+12>>2]=0;c[i+368+16>>2]=0;c[i+368+20>>2]=0;c[i+368+24>>2]=0;c[i+396>>2]=-1054867456;c[i+400>>2]=0;g[i+404>>2]=0.0;a[i+424>>0]=1;c[i+420>>2]=0;c[i+412>>2]=0;c[i+416>>2]=0;c[i+452>>2]=h;a[i+456>>0]=0;if(!h){c[6485]=(c[6485]|0)+1;f=ic(59)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}g[f+12>>2]=1.0;c[f+8>>2]=0;c[f+4>>2]=5;c[f>>2]=3124;a[f+36>>0]=1;c[f+32>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;a[f+16>>0]=1;c[i+452>>2]=f;a[i+456>>0]=1}c[i+344>>2]=4302;a[i+348>>0]=1;a[i+349>>0]=0;a[i+350>>0]=0;c[i+384>>2]=d;c[i+388>>2]=b;mi(i+408|0);e=c[i+412>>2]|0;if((e|0)>0)h=0;else{d=i+428|0;g[d>>2]=.25;d=i+432|0;c[d>>2]=0;d=i+436|0;c[d>>2]=0;d=i+444|0;c[d>>2]=1;d=i+448|0;c[d>>2]=1;g[i+352>>2]=1.2000000476837158;g[i+356>>2]=0.0;g[i+360>>2]=0.0;d=i+392|0;c[d>>2]=0;c[i+368>>2]=0;c[i+368+4>>2]=0;c[i+368+8>>2]=0;c[i+368+12>>2]=0;c[i+396>>2]=-1054867456;c[i+400>>2]=0;g[i+404>>2]=0.0;mi(i+408|0);return i|0}do{d=(c[i+420>>2]|0)+(h<<2)|0;f=c[d>>2]|0;c[d>>2]=0;if(f|0)do{d=f;f=c[f+280>>2]|0;YG(d)}while((f|0)!=0);h=h+1|0}while((h|0)!=(e|0));d=i+428|0;g[d>>2]=.25;d=i+432|0;c[d>>2]=0;d=i+436|0;c[d>>2]=0;d=i+444|0;c[d>>2]=1;d=i+448|0;c[d>>2]=1;g[i+352>>2]=1.2000000476837158;g[i+356>>2]=0.0;g[i+360>>2]=0.0;d=i+392|0;c[d>>2]=0;c[i+368>>2]=0;c[i+368+4>>2]=0;c[i+368+8>>2]=0;c[i+368+12>>2]=0;c[i+396>>2]=-1054867456;c[i+400>>2]=0;g[i+404>>2]=0.0;mi(i+408|0);return i|0}function sf(a,b,e){a=a|0;b=b|0;e=e|0;Zh(a,b,e)|0;c[b+52>>2]=c[a+48>>2];c[b+56>>2]=c[a+52>>2];c[b+60>>2]=c[a+56>>2];c[b+64>>2]=c[a+60>>2];c[b+68>>2]=c[a+64>>2];c[b+72>>2]=c[a+68>>2];c[b+76>>2]=c[a+72>>2];c[b+80>>2]=c[a+76>>2];c[b+84>>2]=c[a+80>>2];c[b+88>>2]=c[a+84>>2];c[b+92>>2]=c[a+88>>2];c[b+96>>2]=c[a+92>>2];c[b+100>>2]=c[a+96>>2];c[b+104>>2]=c[a+100>>2];c[b+108>>2]=c[a+104>>2];c[b+112>>2]=c[a+108>>2];c[b+116>>2]=c[a+112>>2];c[b+120>>2]=c[a+116>>2];c[b+124>>2]=c[a+120>>2];c[b+128>>2]=c[a+124>>2];c[b+132>>2]=c[a+128>>2];c[b+136>>2]=c[a+132>>2];c[b+140>>2]=c[a+136>>2];c[b+144>>2]=c[a+140>>2];c[b+148>>2]=c[a+144>>2];c[b+152>>2]=c[a+148>>2];c[b+156>>2]=c[a+152>>2];c[b+160>>2]=c[a+156>>2];c[b+164>>2]=c[a+160>>2];c[b+168>>2]=c[a+164>>2];c[b+172>>2]=c[a+168>>2];c[b+176>>2]=c[a+172>>2];c[b+228>>2]=c[a+868>>2];c[b+212>>2]=c[a+872>>2];c[b+196>>2]=c[a+680>>2];c[b+180>>2]=c[a+696>>2];c[b+232>>2]=c[a+932>>2];c[b+216>>2]=c[a+936>>2];c[b+200>>2]=c[a+684>>2];c[b+184>>2]=c[a+700>>2];c[b+236>>2]=c[a+996>>2];c[b+220>>2]=c[a+1e3>>2];c[b+204>>2]=c[a+688>>2];c[b+188>>2]=c[a+704>>2];c[b+244>>2]=d[a+1300>>0];c[b+248>>2]=d[a+1301>>0];c[b+276>>2]=c[a+1316>>2];c[b+324>>2]=c[a+1364>>2];c[b+252>>2]=d[a+1309>>0];c[b+300>>2]=c[a+1340>>2];c[b+280>>2]=c[a+1320>>2];c[b+328>>2]=c[a+1368>>2];c[b+256>>2]=d[a+1310>>0];c[b+304>>2]=c[a+1344>>2];c[b+284>>2]=c[a+1324>>2];c[b+332>>2]=c[a+1372>>2];c[b+260>>2]=d[a+1311>>0];c[b+308>>2]=c[a+1348>>2];c[b+288>>2]=c[a+1328>>2];c[b+336>>2]=c[a+1376>>2];c[b+264>>2]=d[a+1312>>0];c[b+312>>2]=c[a+1352>>2];c[b+292>>2]=c[a+1332>>2];c[b+340>>2]=c[a+1380>>2];c[b+268>>2]=d[a+1313>>0];c[b+316>>2]=c[a+1356>>2];c[b+296>>2]=c[a+1336>>2];c[b+344>>2]=c[a+1384>>2];c[b+272>>2]=d[a+1314>>0];c[b+320>>2]=c[a+1360>>2];return 12591}
//function ic(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=l;l=l+16|0;do if(a>>>0<245){r=a>>>0<11?16:a+11&-8;o=c[6503]|0;if(o>>>(r>>>3)&3|0){d=26052+((o>>>(r>>>3)&1^1)+(r>>>3)<<1<<2)|0;a=c[d+8>>2]|0;b=c[a+8>>2]|0;do if((d|0)!=(b|0)){if(b>>>0<(c[6507]|0)>>>0)Ua();if((c[b+12>>2]|0)==(a|0)){c[b+12>>2]=d;c[d+8>>2]=b;break}else Ua()}else c[6503]=o&~(1<<(o>>>(r>>>3)&1^1)+(r>>>3));while(0);G=(o>>>(r>>>3)&1^1)+(r>>>3)<<3;c[a+4>>2]=G|3;c[a+G+4>>2]=c[a+G+4>>2]|1;G=a+8|0;l=H;return G|0}p=c[6505]|0;if(r>>>0>p>>>0){if(o>>>(r>>>3)|0){a=o>>>(r>>>3)<<(r>>>3)&(2<<(r>>>3)|0-(2<<(r>>>3)));d=((a&0-a)+-1|0)>>>(((a&0-a)+-1|0)>>>12&16);e=d>>>(d>>>5&8)>>>(d>>>(d>>>5&8)>>>2&4);e=(d>>>5&8|((a&0-a)+-1|0)>>>12&16|d>>>(d>>>5&8)>>>2&4|e>>>1&2|e>>>(e>>>1&2)>>>1&1)+(e>>>(e>>>1&2)>>>(e>>>(e>>>1&2)>>>1&1))|0;d=c[26052+(e<<1<<2)+8>>2]|0;a=c[d+8>>2]|0;do if((26052+(e<<1<<2)|0)!=(a|0)){if(a>>>0<(c[6507]|0)>>>0)Ua();if((c[a+12>>2]|0)==(d|0)){c[a+12>>2]=26052+(e<<1<<2);c[26052+(e<<1<<2)+8>>2]=a;f=o;break}else Ua()}else{c[6503]=o&~(1<<e);f=o&~(1<<e)}while(0);c[d+4>>2]=r|3;c[d+r+4>>2]=(e<<3)-r|1;c[d+r+((e<<3)-r)>>2]=(e<<3)-r;if(p|0){b=c[6508]|0;if(f&1<<(p>>>3)){a=c[26052+(p>>>3<<1<<2)+8>>2]|0;if(a>>>0<(c[6507]|0)>>>0)Ua();else{h=26052+(p>>>3<<1<<2)+8|0;i=a}}else{c[6503]=f|1<<(p>>>3);h=26052+(p>>>3<<1<<2)+8|0;i=26052+(p>>>3<<1<<2)|0}c[h>>2]=b;c[i+12>>2]=b;c[b+8>>2]=i;c[b+12>>2]=26052+(p>>>3<<1<<2)}c[6505]=(e<<3)-r;c[6508]=d+r;G=d+8|0;l=H;return G|0}k=c[6504]|0;if(k){b=((k&0-k)+-1|0)>>>(((k&0-k)+-1|0)>>>12&16);d=b>>>(b>>>5&8)>>>(b>>>(b>>>5&8)>>>2&4);d=c[26316+((b>>>5&8|((k&0-k)+-1|0)>>>12&16|b>>>(b>>>5&8)>>>2&4|d>>>1&2|d>>>(d>>>1&2)>>>1&1)+(d>>>(d>>>1&2)>>>(d>>>(d>>>1&2)>>>1&1))<<2)>>2]|0;b=(c[d+4>>2]&-8)-r|0;a=c[d+16+(((c[d+16>>2]|0)==0&1)<<2)>>2]|0;if(!a)j=b;else{do{F=(c[a+4>>2]&-8)-r|0;G=F>>>0<b>>>0;b=G?F:b;d=G?a:d;a=c[a+16+(((c[a+16>>2]|0)==0&1)<<2)>>2]|0}while((a|0)!=0);j=b}g=c[6507]|0;if(d>>>0<g>>>0)Ua();i=d+r|0;if(d>>>0>=i>>>0)Ua();h=c[d+24>>2]|0;a=c[d+12>>2]|0;do if((a|0)==(d|0)){b=d+20|0;a=c[b>>2]|0;if(!a){b=d+16|0;a=c[b>>2]|0;if(!a){m=0;break}}while(1){f=a+20|0;e=c[f>>2]|0;if(e|0){a=e;b=f;continue}f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;b=f}}if(b>>>0<g>>>0)Ua();else{c[b>>2]=0;m=a;break}}else{b=c[d+8>>2]|0;if(b>>>0<g>>>0)Ua();if((c[b+12>>2]|0)!=(d|0))Ua();if((c[a+8>>2]|0)==(d|0)){c[b+12>>2]=a;c[a+8>>2]=b;m=a;break}else Ua()}while(0);a:do if(h|0){a=c[d+28>>2]|0;do if((d|0)==(c[26316+(a<<2)>>2]|0)){c[26316+(a<<2)>>2]=m;if(!m){c[6504]=k&~(1<<a);break a}}else if(h>>>0>=(c[6507]|0)>>>0){c[h+16+(((c[h+16>>2]|0)!=(d|0)&1)<<2)>>2]=m;if(!m)break a;else break}else Ua();while(0);b=c[6507]|0;if(m>>>0<b>>>0)Ua();c[m+24>>2]=h;a=c[d+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Ua();else{c[m+16>>2]=a;c[a+24>>2]=m;break}while(0);a=c[d+20>>2]|0;if(a|0)if(a>>>0<(c[6507]|0)>>>0)Ua();else{c[m+20>>2]=a;c[a+24>>2]=m;break}}while(0);if(j>>>0<16){G=j+r|0;c[d+4>>2]=G|3;G=d+G+4|0;c[G>>2]=c[G>>2]|1}else{c[d+4>>2]=r|3;c[i+4>>2]=j|1;c[i+j>>2]=j;if(p|0){b=c[6508]|0;if(o&1<<(p>>>3)){a=c[26052+(p>>>3<<1<<2)+8>>2]|0;if(a>>>0<(c[6507]|0)>>>0)Ua();else{n=26052+(p>>>3<<1<<2)+8|0;q=a}}else{c[6503]=o|1<<(p>>>3);n=26052+(p>>>3<<1<<2)+8|0;q=26052+(p>>>3<<1<<2)|0}c[n>>2]=b;c[q+12>>2]=b;c[b+8>>2]=q;c[b+12>>2]=26052+(p>>>3<<1<<2)}c[6505]=j;c[6508]=i}G=d+8|0;l=H;return G|0}}}else if(a>>>0<=4294967231){r=a+11&-8;k=c[6504]|0;if(k){if((a+11|0)>>>8)if(r>>>0>16777215)j=31;else{j=(a+11|0)>>>8<<((((a+11|0)>>>8)+1048320|0)>>>16&8);j=14-((j+520192|0)>>>16&4|(((a+11|0)>>>8)+1048320|0)>>>16&8|((j<<((j+520192|0)>>>16&4))+245760|0)>>>16&2)+(j<<((j+520192|0)>>>16&4)<<(((j<<((j+520192|0)>>>16&4))+245760|0)>>>16&2)>>>15)|0;j=r>>>(j+7|0)&1|j<<1}else j=0;a=c[26316+(j<<2)>>2]|0;b:do if(!a){d=0-r|0;a=0;b=0;z=81}else{h=0-r|0;f=0;i=r<<((j|0)==31?0:25-(j>>>1)|0);b=0;while(1){d=(c[a+4>>2]&-8)-r|0;if(d>>>0<h>>>0)if(!d){d=0;e=a;b=a;z=85;break b}else b=a;else d=h;e=c[a+20>>2]|0;a=c[a+16+(i>>>31<<2)>>2]|0;f=(e|0)==0|(e|0)==(a|0)?f:e;e=(a|0)==0;if(e){a=f;z=81;break}else{h=d;i=i<<((e^1)&1)}}}while(0);if((z|0)==81){if((a|0)==0&(b|0)==0){a=2<<j;if(!(k&(a|0-a)))break;q=(k&(a|0-a)&0-(k&(a|0-a)))+-1|0;b=q>>>(q>>>12&16)>>>(q>>>(q>>>12&16)>>>5&8);a=b>>>(b>>>2&4)>>>(b>>>(b>>>2&4)>>>1&2);a=c[26316+((q>>>(q>>>12&16)>>>5&8|q>>>12&16|b>>>2&4|b>>>(b>>>2&4)>>>1&2|a>>>1&1)+(a>>>(a>>>1&1))<<2)>>2]|0;b=0}if(!a){i=d;j=b}else{e=a;z=85}}if((z|0)==85)while(1){z=0;a=(c[e+4>>2]&-8)-r|0;q=a>>>0<d>>>0;a=q?a:d;b=q?e:b;e=c[e+16+(((c[e+16>>2]|0)==0&1)<<2)>>2]|0;if(!e){i=a;j=b;break}else{d=a;z=85}}if((j|0)!=0?i>>>0<((c[6505]|0)-r|0)>>>0:0){f=c[6507]|0;if(j>>>0<f>>>0)Ua();h=j+r|0;if(j>>>0>=h>>>0)Ua();g=c[j+24>>2]|0;a=c[j+12>>2]|0;do if((a|0)==(j|0)){b=j+20|0;a=c[b>>2]|0;if(!a){b=j+16|0;a=c[b>>2]|0;if(!a){o=0;break}}while(1){e=a+20|0;d=c[e>>2]|0;if(d|0){a=d;b=e;continue}e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}if(b>>>0<f>>>0)Ua();else{c[b>>2]=0;o=a;break}}else{b=c[j+8>>2]|0;if(b>>>0<f>>>0)Ua();if((c[b+12>>2]|0)!=(j|0))Ua();if((c[a+8>>2]|0)==(j|0)){c[b+12>>2]=a;c[a+8>>2]=b;o=a;break}else Ua()}while(0);c:do if(g){a=c[j+28>>2]|0;do if((j|0)==(c[26316+(a<<2)>>2]|0)){c[26316+(a<<2)>>2]=o;if(!o){c[6504]=k&~(1<<a);v=k&~(1<<a);break c}}else if(g>>>0>=(c[6507]|0)>>>0){c[g+16+(((c[g+16>>2]|0)!=(j|0)&1)<<2)>>2]=o;if(!o){v=k;break c}else break}else Ua();while(0);b=c[6507]|0;if(o>>>0<b>>>0)Ua();c[o+24>>2]=g;a=c[j+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Ua();else{c[o+16>>2]=a;c[a+24>>2]=o;break}while(0);a=c[j+20>>2]|0;if(a)if(a>>>0<(c[6507]|0)>>>0)Ua();else{c[o+20>>2]=a;c[a+24>>2]=o;v=k;break}else v=k}else v=k;while(0);do if(i>>>0>=16){c[j+4>>2]=r|3;c[h+4>>2]=i|1;c[h+i>>2]=i;b=i>>>3;if(i>>>0<256){a=c[6503]|0;if(a&1<<b){a=c[26052+(b<<1<<2)+8>>2]|0;if(a>>>0<(c[6507]|0)>>>0)Ua();else{p=26052+(b<<1<<2)+8|0;u=a}}else{c[6503]=a|1<<b;p=26052+(b<<1<<2)+8|0;u=26052+(b<<1<<2)|0}c[p>>2]=h;c[u+12>>2]=h;c[h+8>>2]=u;c[h+12>>2]=26052+(b<<1<<2);break}a=i>>>8;if(a)if(i>>>0>16777215)a=31;else{G=a<<((a+1048320|0)>>>16&8)<<(((a<<((a+1048320|0)>>>16&8))+520192|0)>>>16&4);a=14-(((a<<((a+1048320|0)>>>16&8))+520192|0)>>>16&4|(a+1048320|0)>>>16&8|(G+245760|0)>>>16&2)+(G<<((G+245760|0)>>>16&2)>>>15)|0;a=i>>>(a+7|0)&1|a<<1}else a=0;d=26316+(a<<2)|0;c[h+28>>2]=a;c[h+16+4>>2]=0;c[h+16>>2]=0;b=1<<a;if(!(v&b)){c[6504]=v|b;c[d>>2]=h;c[h+24>>2]=d;c[h+12>>2]=h;c[h+8>>2]=h;break}b=i<<((a|0)==31?0:25-(a>>>1)|0);e=c[d>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(i|0)){z=139;break}d=e+16+(b>>>31<<2)|0;a=c[d>>2]|0;if(!a){z=136;break}else{b=b<<1;e=a}}if((z|0)==136)if(d>>>0<(c[6507]|0)>>>0)Ua();else{c[d>>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;break}else if((z|0)==139){b=e+8|0;a=c[b>>2]|0;G=c[6507]|0;if(a>>>0>=G>>>0&e>>>0>=G>>>0){c[a+12>>2]=h;c[b>>2]=h;c[h+8>>2]=a;c[h+12>>2]=e;c[h+24>>2]=0;break}else Ua()}}else{G=i+r|0;c[j+4>>2]=G|3;G=j+G+4|0;c[G>>2]=c[G>>2]|1}while(0);G=j+8|0;l=H;return G|0}}}else r=-1;while(0);d=c[6505]|0;if(d>>>0>=r>>>0){b=d-r|0;a=c[6508]|0;if(b>>>0>15){G=a+r|0;c[6508]=G;c[6505]=b;c[G+4>>2]=b|1;c[G+b>>2]=b;c[a+4>>2]=r|3}else{c[6505]=0;c[6508]=0;c[a+4>>2]=d|3;c[a+d+4>>2]=c[a+d+4>>2]|1}G=a+8|0;l=H;return G|0}f=c[6506]|0;if(f>>>0>r>>>0){E=f-r|0;c[6506]=E;G=c[6509]|0;F=G+r|0;c[6509]=F;c[F+4>>2]=E|1;c[G+4>>2]=r|3;G=G+8|0;l=H;return G|0}if(!(c[6621]|0)){c[6623]=4096;c[6622]=4096;c[6624]=-1;c[6625]=-1;c[6626]=0;c[6614]=0;c[H>>2]=H&-16^1431655768;c[6621]=H&-16^1431655768;a=4096}else a=c[6623]|0;h=r+48|0;i=r+47|0;k=a+i|0;j=0-a|0;if((k&j)>>>0<=r>>>0){G=0;l=H;return G|0}a=c[6613]|0;if(a|0?(v=c[6611]|0,(v+(k&j)|0)>>>0<=v>>>0?1:(v+(k&j)|0)>>>0>a>>>0):0){G=0;l=H;return G|0}d:do if(!(c[6614]&4)){b=c[6509]|0;e:do if(b){d=26460;while(1){a=c[d>>2]|0;if(a>>>0<=b>>>0?(t=d+4|0,(a+(c[t>>2]|0)|0)>>>0>b>>>0):0)break;a=c[d+8>>2]|0;if(!a){z=163;break e}else d=a}if((k-f&j)>>>0<2147483647){a=ho(k-f&j|0)|0;if((a|0)==((c[d>>2]|0)+(c[t>>2]|0)|0))if((a|0)==(-1|0))a=k-f&j;else{h=a;g=k-f&j;z=180;break d}else{e=a;d=k-f&j;z=171}}else a=0}else z=163;while(0);do if((z|0)==163){b=ho(0)|0;if((b|0)!=(-1|0)?(g=c[6622]|0,g=((g+-1&b|0)==0?0:(g+-1+b&0-g)-b|0)+(k&j)|0,s=c[6611]|0,g>>>0>r>>>0&g>>>0<2147483647):0){v=c[6613]|0;if(v|0?(g+s|0)>>>0<=s>>>0|(g+s|0)>>>0>v>>>0:0){a=0;break}a=ho(g|0)|0;if((a|0)==(b|0)){h=b;z=180;break d}else{e=a;d=g;z=171}}else a=0}while(0);do if((z|0)==171){b=0-d|0;if(!(h>>>0>d>>>0&(d>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){a=0;break}else{h=e;g=d;z=180;break d}a=c[6623]|0;a=i-d+a&0-a;if(a>>>0>=2147483647){h=e;g=d;z=180;break d}if((ho(a|0)|0)==(-1|0)){ho(b|0)|0;a=0;break}else{h=e;g=a+d|0;z=180;break d}}while(0);c[6614]=c[6614]|4;z=178}else{a=0;z=178}while(0);if(((z|0)==178?(k&j)>>>0<2147483647:0)?(w=ho(k&j|0)|0,x=ho(0)|0,y=(x-w|0)>>>0>(r+40|0)>>>0,!((w|0)==(-1|0)|y^1|w>>>0<x>>>0&((w|0)!=(-1|0)&(x|0)!=(-1|0))^1)):0){h=w;g=y?x-w|0:a;z=180}if((z|0)==180){a=(c[6611]|0)+g|0;c[6611]=a;if(a>>>0>(c[6612]|0)>>>0)c[6612]=a;k=c[6509]|0;do if(k){f=26460;while(1){a=c[f>>2]|0;e=f+4|0;b=c[e>>2]|0;if((h|0)==(a+b|0)){z=190;break}d=c[f+8>>2]|0;if(!d)break;else f=d}if(((z|0)==190?(c[f+12>>2]&8|0)==0:0)?k>>>0<h>>>0&k>>>0>=a>>>0:0){c[e>>2]=b+g;F=(k+8&7|0)==0?0:0-(k+8)&7;G=(c[6506]|0)+(g-F)|0;c[6509]=k+F;c[6506]=G;c[k+F+4>>2]=G|1;c[k+F+G+4>>2]=40;c[6510]=c[6625];break}a=c[6507]|0;if(h>>>0<a>>>0){c[6507]=h;j=h}else j=a;d=h+g|0;b=26460;while(1){if((c[b>>2]|0)==(d|0)){z=198;break}a=c[b+8>>2]|0;if(!a)break;else b=a}if((z|0)==198?(c[b+12>>2]&8|0)==0:0){c[b>>2]=h;n=b+4|0;c[n>>2]=(c[n>>2]|0)+g;n=h+8|0;n=h+((n&7|0)==0?0:0-n&7)|0;a=d+((d+8&7|0)==0?0:0-(d+8)&7)|0;m=n+r|0;i=a-n-r|0;c[n+4>>2]=r|3;do if((a|0)!=(k|0)){if((a|0)==(c[6508]|0)){G=(c[6505]|0)+i|0;c[6505]=G;c[6508]=m;c[m+4>>2]=G|1;c[m+G>>2]=G;break}h=c[a+4>>2]|0;if((h&3|0)==1){f:do if(h>>>0>=256){g=c[a+24>>2]|0;b=c[a+12>>2]|0;do if((b|0)==(a|0)){b=c[a+16+4>>2]|0;if(!b){b=c[a+16>>2]|0;if(!b){E=0;break}else f=a+16|0}else f=a+16+4|0;while(1){e=b+20|0;d=c[e>>2]|0;if(d|0){b=d;f=e;continue}e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;f=e}}if(f>>>0<j>>>0)Ua();else{c[f>>2]=0;E=b;break}}else{d=c[a+8>>2]|0;if(d>>>0<j>>>0)Ua();if((c[d+12>>2]|0)!=(a|0))Ua();if((c[b+8>>2]|0)==(a|0)){c[d+12>>2]=b;c[b+8>>2]=d;E=b;break}else Ua()}while(0);if(!g)break;b=c[a+28>>2]|0;do if((a|0)!=(c[26316+(b<<2)>>2]|0))if(g>>>0>=(c[6507]|0)>>>0){c[g+16+(((c[g+16>>2]|0)!=(a|0)&1)<<2)>>2]=E;if(!E)break f;else break}else Ua();else{c[26316+(b<<2)>>2]=E;if(E|0)break;c[6504]=c[6504]&~(1<<b);break f}while(0);d=c[6507]|0;if(E>>>0<d>>>0)Ua();c[E+24>>2]=g;b=c[a+16>>2]|0;do if(b|0)if(b>>>0<d>>>0)Ua();else{c[E+16>>2]=b;c[b+24>>2]=E;break}while(0);b=c[a+16+4>>2]|0;if(!b)break;if(b>>>0<(c[6507]|0)>>>0)Ua();else{c[E+20>>2]=b;c[b+24>>2]=E;break}}else{b=c[a+8>>2]|0;d=c[a+12>>2]|0;do if((b|0)!=(26052+(h>>>3<<1<<2)|0)){if(b>>>0<j>>>0)Ua();if((c[b+12>>2]|0)==(a|0))break;Ua()}while(0);if((d|0)==(b|0)){c[6503]=c[6503]&~(1<<(h>>>3));break}do if((d|0)==(26052+(h>>>3<<1<<2)|0))D=d+8|0;else{if(d>>>0<j>>>0)Ua();if((c[d+8>>2]|0)==(a|0)){D=d+8|0;break}Ua()}while(0);c[b+12>>2]=d;c[D>>2]=b}while(0);a=a+(h&-8)|0;f=(h&-8)+i|0}else f=i;b=a+4|0;c[b>>2]=c[b>>2]&-2;c[m+4>>2]=f|1;c[m+f>>2]=f;b=f>>>3;if(f>>>0<256){a=c[6503]|0;do if(!(a&1<<b)){c[6503]=a|1<<b;F=26052+(b<<1<<2)+8|0;G=26052+(b<<1<<2)|0}else{a=c[26052+(b<<1<<2)+8>>2]|0;if(a>>>0>=(c[6507]|0)>>>0){F=26052+(b<<1<<2)+8|0;G=a;break}Ua()}while(0);c[F>>2]=m;c[G+12>>2]=m;c[m+8>>2]=G;c[m+12>>2]=26052+(b<<1<<2);break}a=f>>>8;do if(!a)b=0;else{if(f>>>0>16777215){b=31;break}b=a<<((a+1048320|0)>>>16&8)<<(((a<<((a+1048320|0)>>>16&8))+520192|0)>>>16&4);b=14-(((a<<((a+1048320|0)>>>16&8))+520192|0)>>>16&4|(a+1048320|0)>>>16&8|(b+245760|0)>>>16&2)+(b<<((b+245760|0)>>>16&2)>>>15)|0;b=f>>>(b+7|0)&1|b<<1}while(0);e=26316+(b<<2)|0;c[m+28>>2]=b;c[m+16+4>>2]=0;c[m+16>>2]=0;a=c[6504]|0;d=1<<b;if(!(a&d)){c[6504]=a|d;c[e>>2]=m;c[m+24>>2]=e;c[m+12>>2]=m;c[m+8>>2]=m;break}b=f<<((b|0)==31?0:25-(b>>>1)|0);e=c[e>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(f|0)){z=265;break}d=e+16+(b>>>31<<2)|0;a=c[d>>2]|0;if(!a){z=262;break}else{b=b<<1;e=a}}if((z|0)==262)if(d>>>0<(c[6507]|0)>>>0)Ua();else{c[d>>2]=m;c[m+24>>2]=e;c[m+12>>2]=m;c[m+8>>2]=m;break}else if((z|0)==265){b=e+8|0;a=c[b>>2]|0;G=c[6507]|0;if(a>>>0>=G>>>0&e>>>0>=G>>>0){c[a+12>>2]=m;c[b>>2]=m;c[m+8>>2]=a;c[m+12>>2]=e;c[m+24>>2]=0;break}else Ua()}}else{G=(c[6506]|0)+i|0;c[6506]=G;c[6509]=m;c[m+4>>2]=G|1}while(0);G=n+8|0;l=H;return G|0}b=26460;while(1){a=c[b>>2]|0;if(a>>>0<=k>>>0?(A=a+(c[b+4>>2]|0)|0,A>>>0>k>>>0):0)break;b=c[b+8>>2]|0}f=A+-47+((A+-47+8&7|0)==0?0:0-(A+-47+8)&7)|0;f=f>>>0<(k+16|0)>>>0?k:f;a=h+8|0;a=(a&7|0)==0?0:0-a&7;G=h+a|0;a=g+-40-a|0;c[6509]=G;c[6506]=a;c[G+4>>2]=a|1;c[G+a+4>>2]=40;c[6510]=c[6625];c[f+4>>2]=27;c[f+8>>2]=c[6615];c[f+8+4>>2]=c[6616];c[f+8+8>>2]=c[6617];c[f+8+12>>2]=c[6618];c[6615]=h;c[6616]=g;c[6618]=0;c[6617]=f+8;a=f+24|0;do{G=a;a=a+4|0;c[a>>2]=7}while((G+8|0)>>>0<A>>>0);if((f|0)!=(k|0)){c[f+4>>2]=c[f+4>>2]&-2;c[k+4>>2]=f-k|1;c[f>>2]=f-k;if((f-k|0)>>>0<256){b=26052+((f-k|0)>>>3<<1<<2)|0;a=c[6503]|0;if(a&1<<((f-k|0)>>>3)){a=c[b+8>>2]|0;if(a>>>0<(c[6507]|0)>>>0)Ua();else{B=b+8|0;C=a}}else{c[6503]=a|1<<((f-k|0)>>>3);B=b+8|0;C=b}c[B>>2]=k;c[C+12>>2]=k;c[k+8>>2]=C;c[k+12>>2]=b;break}if((f-k|0)>>>8)if((f-k|0)>>>0>16777215)b=31;else{b=(f-k|0)>>>8<<((((f-k|0)>>>8)+1048320|0)>>>16&8);b=14-((b+520192|0)>>>16&4|(((f-k|0)>>>8)+1048320|0)>>>16&8|((b<<((b+520192|0)>>>16&4))+245760|0)>>>16&2)+(b<<((b+520192|0)>>>16&4)<<(((b<<((b+520192|0)>>>16&4))+245760|0)>>>16&2)>>>15)|0;b=(f-k|0)>>>(b+7|0)&1|b<<1}else b=0;e=26316+(b<<2)|0;c[k+28>>2]=b;c[k+20>>2]=0;c[k+16>>2]=0;a=c[6504]|0;d=1<<b;if(!(a&d)){c[6504]=a|d;c[e>>2]=k;c[k+24>>2]=e;c[k+12>>2]=k;c[k+8>>2]=k;break}b=f-k<<((b|0)==31?0:25-(b>>>1)|0);e=c[e>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(f-k|0)){z=292;break}d=e+16+(b>>>31<<2)|0;a=c[d>>2]|0;if(!a){z=289;break}else{b=b<<1;e=a}}if((z|0)==289)if(d>>>0<(c[6507]|0)>>>0)Ua();else{c[d>>2]=k;c[k+24>>2]=e;c[k+12>>2]=k;c[k+8>>2]=k;break}else if((z|0)==292){b=e+8|0;a=c[b>>2]|0;G=c[6507]|0;if(a>>>0>=G>>>0&e>>>0>=G>>>0){c[a+12>>2]=k;c[b>>2]=k;c[k+8>>2]=a;c[k+12>>2]=e;c[k+24>>2]=0;break}else Ua()}}}else{G=c[6507]|0;if((G|0)==0|h>>>0<G>>>0)c[6507]=h;c[6615]=h;c[6616]=g;c[6618]=0;c[6512]=c[6621];c[6511]=-1;a=0;do{G=26052+(a<<1<<2)|0;c[G+12>>2]=G;c[G+8>>2]=G;a=a+1|0}while((a|0)!=32);G=h+8|0;G=(G&7|0)==0?0:0-G&7;F=h+G|0;G=g+-40-G|0;c[6509]=F;c[6506]=G;c[F+4>>2]=G|1;c[F+G+4>>2]=40;c[6510]=c[6625]}while(0);a=c[6506]|0;if(a>>>0>r>>>0){E=a-r|0;c[6506]=E;G=c[6509]|0;F=G+r|0;c[6509]=F;c[F+4>>2]=E|1;c[G+4>>2]=r|3;G=G+8|0;l=H;return G|0}}c[6630]=12;G=0;l=H;return G|0}function jc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0.0,k=0,m=0.0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0,R=0,S=0,T=0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0,fa=0.0,ga=0.0,ha=0.0,ia=0,ja=0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0.0,pa=0.0,qa=0.0,ra=0.0,sa=0.0,ta=0.0,ua=0.0,va=0.0,wa=0.0,xa=0.0,ya=0,za=0.0,Aa=0.0,Ba=0.0,Ca=0,Da=0,Ea=0.0,Fa=0.0,Ga=0.0,Ha=0.0,Ia=0.0,Ja=0;Ja=l;l=l+656|0;c[Ja+48>>2]=c[b>>2];c[Ja>>2]=c[b+64>>2];n=Ja+48+4|0;c[n>>2]=c[b+4>>2];c[Ja+4>>2]=c[b+68>>2];c[Ja+48+8>>2]=c[b+8>>2];c[Ja+8>>2]=c[b+72>>2];c[Ja+48+16>>2]=c[b+16>>2];c[Ja+16>>2]=c[b+80>>2];c[Ja+48+20>>2]=c[b+20>>2];c[Ja+20>>2]=c[b+84>>2];c[Ja+48+24>>2]=c[b+24>>2];c[Ja+24>>2]=c[b+88>>2];c[Ja+48+32>>2]=c[b+32>>2];c[Ja+32>>2]=c[b+96>>2];c[Ja+48+36>>2]=c[b+36>>2];c[Ja+36>>2]=c[b+100>>2];c[Ja+48+40>>2]=c[b+40>>2];c[Ja+40>>2]=c[b+104>>2];Da=c[a+4>>2]|0;ma=+g[Da+28>>2];na=+g[Da+32>>2];qa=+g[Da+36>>2];oa=+Db[c[(c[Da>>2]|0)+48>>2]&15](Da);pa=+Db[c[(c[Da>>2]|0)+48>>2]&15](Da);qa=(qa+ +Db[c[(c[Da>>2]|0)+48>>2]&15](Da))*2.0;Da=c[a+8>>2]|0;ua=+g[Da+28>>2];va=+g[Da+32>>2];Ba=+g[Da+36>>2];wa=+Db[c[(c[Da>>2]|0)+48>>2]&15](Da);ta=+Db[c[(c[Da>>2]|0)+48>>2]&15](Da);Ba=(Ba+ +Db[c[(c[Da>>2]|0)+48>>2]&15](Da))*2.0;W=+g[b+112>>2]-+g[b+48>>2];X=+g[b+116>>2]-+g[b+52>>2];Y=+g[b+120>>2]-+g[b+56>>2];ha=+g[Ja+48>>2];fa=+g[Ja+48+16>>2];ga=+g[Ja+48+32>>2];da=+g[n>>2];ba=+g[Ja+48+20>>2];ca=+g[Ja+48+36>>2];ka=+g[Ja+48+8>>2];la=+g[Ja+48+24>>2];ra=+g[Ja+48+40>>2];g[Ja+548>>2]=(ma+oa)*2.0*.5;g[Ja+548+4>>2]=(na+pa)*2.0*.5;g[Ja+548+8>>2]=qa*.5;g[Ja+536>>2]=(ua+wa)*2.0*.5;g[Ja+536+4>>2]=(va+ta)*2.0*.5;g[Ja+536+8>>2]=Ba*.5;Ga=+g[Ja>>2];xa=+g[Ja+16>>2];Aa=+g[Ja+32>>2];Fa=+g[Ja+4>>2];sa=+g[Ja+20>>2];za=+g[Ja+36>>2];Ea=+g[Ja+8>>2];Ha=+g[Ja+24>>2];Ia=+g[Ja+40>>2];B=+F(+(ha*Ga+fa*xa+ga*Aa));D=+F(+(ha*Fa+fa*sa+ga*za));Z=+F(+(ha*Ea+fa*Ha+ga*Ia));C=+F(+(Ga*da+xa*ba+Aa*ca));U=+F(+(Fa*da+sa*ba+za*ca));_=+F(+(Ea*da+Ha*ba+Ia*ca));$=+F(+(Ga*ka+xa*la+Aa*ra));aa=+F(+(Fa*ka+sa*la+za*ra));V=+F(+(Ea*ka+Ha*la+Ia*ra));h=+F(+(W*ha+X*fa+Y*ga))-(Ba*.5*Z+((ma+oa)*2.0*.5+B*(ua+wa)*2.0*.5+D*(va+ta)*2.0*.5));if(h>0.0){l=Ja;return}if(h>-3402823466385288598117041.0e14){e=1;f=W*ha+X*fa+Y*ga<0.0&1;a=Ja+48|0}else{e=0;f=0;a=0;h=-3402823466385288598117041.0e14}i=+F(+(W*da+X*ba+Y*ca))-((na+pa)*2.0*.5+C*(ua+wa)*2.0*.5+U*(va+ta)*2.0*.5+_*Ba*.5);if(i>0.0){l=Ja;return}if(i>h){e=2;f=W*da+X*ba+Y*ca<0.0&1;a=n;h=i}i=+F(+(W*ka+X*la+Y*ra))-(qa*.5+$*(ua+wa)*2.0*.5+aa*(va+ta)*2.0*.5+V*Ba*.5);if(i>0.0){l=Ja;return}if(i>h){e=3;f=W*ka+X*la+Y*ra<0.0&1;a=Ja+48+8|0;h=i}i=+F(+(W*Ga+X*xa+Y*Aa))-((ua+wa)*2.0*.5+(B*(ma+oa)*2.0*.5+C*(na+pa)*2.0*.5+$*qa*.5));if(i>0.0){l=Ja;return}if(i>h){e=4;f=W*Ga+X*xa+Y*Aa<0.0&1;a=Ja;h=i}i=+F(+(W*Fa+X*sa+Y*za))-((va+ta)*2.0*.5+(D*(ma+oa)*2.0*.5+U*(na+pa)*2.0*.5+aa*qa*.5));if(i>0.0){l=Ja;return}if(i>h){e=5;f=W*Fa+X*sa+Y*za<0.0&1;a=Ja+4|0;h=i}m=+F(+(W*Ea+X*Ha+Y*Ia))-(Ba*.5+(Z*(ma+oa)*2.0*.5+_*(na+pa)*2.0*.5+V*qa*.5));if(m>0.0){l=Ja;return}if(m>h){e=6;f=W*Ea+X*Ha+Y*Ia<0.0&1;a=Ja+8|0}else m=h;p=(W*ka+X*la+Y*ra)*(Ga*da+xa*ba+Aa*ca)-(W*da+X*ba+Y*ca)*(Ga*ka+xa*la+Aa*ra);q=+F(+p)-(($+9.999999747378752e-06)*(na+pa)*2.0*.5+(C+9.999999747378752e-06)*qa*.5+(Z+9.999999747378752e-06)*(va+ta)*2.0*.5+(D+9.999999747378752e-06)*Ba*.5);if(q>1.1920928955078125e-07){l=Ja;return}s=(Ga*ka+xa*la+Aa*ra)*(Ga*ka+xa*la+Aa*ra)+0.0;y=(Ga*da+xa*ba+Aa*ca)*(Ga*da+xa*ba+Aa*ca);r=+G(+(y+s));if(r>1.1920928955078125e-07?q/r*1.0499999523162842>m:0){h=(Ga*da+xa*ba+Aa*ca)/r;i=-(Ga*ka+xa*la+Aa*ra)/r;o=0.0/r;e=7;f=p<0.0&1;a=0;m=q/r}else{h=0.0;i=0.0;o=0.0}p=(W*ka+X*la+Y*ra)*(Fa*da+sa*ba+za*ca)-(W*da+X*ba+Y*ca)*(Fa*ka+sa*la+za*ra);q=+F(+p)-((aa+9.999999747378752e-06)*(na+pa)*2.0*.5+(U+9.999999747378752e-06)*qa*.5+(Z+9.999999747378752e-06)*(ua+wa)*2.0*.5+(B+9.999999747378752e-06)*Ba*.5);if(q>1.1920928955078125e-07){l=Ja;return}t=(Fa*ka+sa*la+za*ra)*(Fa*ka+sa*la+za*ra)+0.0;z=(Fa*da+sa*ba+za*ca)*(Fa*da+sa*ba+za*ca);r=+G(+(z+t));if(r>1.1920928955078125e-07?q/r*1.0499999523162842>m:0){h=(Fa*da+sa*ba+za*ca)/r;i=-(Fa*ka+sa*la+za*ra)/r;o=0.0/r;e=8;f=p<0.0&1;a=0;m=q/r}p=(W*ka+X*la+Y*ra)*(Ea*da+Ha*ba+Ia*ca)-(W*da+X*ba+Y*ca)*(Ea*ka+Ha*la+Ia*ra);q=+F(+p)-((V+9.999999747378752e-06)*(na+pa)*2.0*.5+(_+9.999999747378752e-06)*qa*.5+(D+9.999999747378752e-06)*(ua+wa)*2.0*.5+(B+9.999999747378752e-06)*(va+ta)*2.0*.5);if(q>1.1920928955078125e-07){l=Ja;return}w=(Ea*ka+Ha*la+Ia*ra)*(Ea*ka+Ha*la+Ia*ra)+0.0;A=(Ea*da+Ha*ba+Ia*ca)*(Ea*da+Ha*ba+Ia*ca);r=+G(+(A+w));if(r>1.1920928955078125e-07?q/r*1.0499999523162842>m:0){h=(Ea*da+Ha*ba+Ia*ca)/r;i=-(Ea*ka+Ha*la+Ia*ra)/r;o=0.0/r;e=9;f=p<0.0&1;a=0;m=q/r}p=(W*ha+X*fa+Y*ga)*(Ga*ka+xa*la+Aa*ra)-(W*ka+X*la+Y*ra)*(ha*Ga+fa*xa+ga*Aa);r=+F(+p)-(($+9.999999747378752e-06)*(ma+oa)*2.0*.5+(B+9.999999747378752e-06)*qa*.5+(_+9.999999747378752e-06)*(va+ta)*2.0*.5+(U+9.999999747378752e-06)*Ba*.5);if(r>1.1920928955078125e-07){l=Ja;return}x=(ha*Ga+fa*xa+ga*Aa)*(ha*Ga+fa*xa+ga*Aa);q=+G(+(x+s));do if(q>1.1920928955078125e-07){if(!(r/q*1.0499999523162842>m))break;h=-(ha*Ga+fa*xa+ga*Aa)/q;i=0.0/q;o=(Ga*ka+xa*la+Aa*ra)/q;e=10;f=p<0.0&1;a=0;m=r/q}while(0);p=(W*ha+X*fa+Y*ga)*(Fa*ka+sa*la+za*ra)-(W*ka+X*la+Y*ra)*(ha*Fa+fa*sa+ga*za);r=+F(+p)-((aa+9.999999747378752e-06)*(ma+oa)*2.0*.5+(D+9.999999747378752e-06)*qa*.5+(_+9.999999747378752e-06)*(ua+wa)*2.0*.5+(C+9.999999747378752e-06)*Ba*.5);if(r>1.1920928955078125e-07){l=Ja;return}u=(ha*Fa+fa*sa+ga*za)*(ha*Fa+fa*sa+ga*za);q=+G(+(u+t));do if(q>1.1920928955078125e-07){if(!(r/q*1.0499999523162842>m))break;h=-(ha*Fa+fa*sa+ga*za)/q;i=0.0/q;o=(Fa*ka+sa*la+za*ra)/q;e=11;f=p<0.0&1;a=0;m=r/q}while(0);p=(W*ha+X*fa+Y*ga)*(Ea*ka+Ha*la+Ia*ra)-(W*ka+X*la+Y*ra)*(ha*Ea+fa*Ha+ga*Ia);r=+F(+p)-((V+9.999999747378752e-06)*(ma+oa)*2.0*.5+(Z+9.999999747378752e-06)*qa*.5+(U+9.999999747378752e-06)*(ua+wa)*2.0*.5+(C+9.999999747378752e-06)*(va+ta)*2.0*.5);if(r>1.1920928955078125e-07){l=Ja;return}s=(ha*Ea+fa*Ha+ga*Ia)*(ha*Ea+fa*Ha+ga*Ia);q=+G(+(s+w));do if(q>1.1920928955078125e-07){if(!(r/q*1.0499999523162842>m))break;h=-(ha*Ea+fa*Ha+ga*Ia)/q;i=0.0/q;o=(Ea*ka+Ha*la+Ia*ra)/q;e=12;f=p<0.0&1;a=0;m=r/q}while(0);q=(W*da+X*ba+Y*ca)*(ha*Ga+fa*xa+ga*Aa)-(W*ha+X*fa+Y*ga)*(Ga*da+xa*ba+Aa*ca);r=+F(+q)-((C+9.999999747378752e-06)*(ma+oa)*2.0*.5+(B+9.999999747378752e-06)*(na+pa)*2.0*.5+(V+9.999999747378752e-06)*(va+ta)*2.0*.5+(aa+9.999999747378752e-06)*Ba*.5);if(r>1.1920928955078125e-07){l=Ja;return}p=+G(+(x+y+0.0));do if(p>1.1920928955078125e-07){if(!(r/p*1.0499999523162842>m))break;h=0.0/p;i=(ha*Ga+fa*xa+ga*Aa)/p;o=-(Ga*da+xa*ba+Aa*ca)/p;e=13;f=q<0.0&1;a=0;m=r/p}while(0);r=(W*da+X*ba+Y*ca)*(ha*Fa+fa*sa+ga*za)-(W*ha+X*fa+Y*ga)*(Fa*da+sa*ba+za*ca);q=+F(+r)-((U+9.999999747378752e-06)*(ma+oa)*2.0*.5+(D+9.999999747378752e-06)*(na+pa)*2.0*.5+(V+9.999999747378752e-06)*(ua+wa)*2.0*.5+($+9.999999747378752e-06)*Ba*.5);if(q>1.1920928955078125e-07){l=Ja;return}p=+G(+(u+z+0.0));do if(p>1.1920928955078125e-07){if(!(q/p*1.0499999523162842>m))break;h=0.0/p;i=(ha*Fa+fa*sa+ga*za)/p;o=-(Fa*da+sa*ba+za*ca)/p;e=14;f=r<0.0&1;a=0;m=q/p}while(0);r=(W*da+X*ba+Y*ca)*(ha*Ea+fa*Ha+ga*Ia)-(W*ha+X*fa+Y*ga)*(Ea*da+Ha*ba+Ia*ca);q=+F(+r)-((_+9.999999747378752e-06)*(ma+oa)*2.0*.5+(Z+9.999999747378752e-06)*(na+pa)*2.0*.5+(aa+9.999999747378752e-06)*(ua+wa)*2.0*.5+($+9.999999747378752e-06)*(va+ta)*2.0*.5);if(q>1.1920928955078125e-07){l=Ja;return}p=+G(+(s+A+0.0));do if(p>1.1920928955078125e-07){if(!(q/p*1.0499999523162842>m)){ya=55;break}o=-(Ea*da+Ha*ba+Ia*ca)/p;i=(ha*Ea+fa*Ha+ga*Ia)/p;h=0.0/p;e=15;f=r<0.0&1;m=q/p;ya=58}else ya=55;while(0);do if((ya|0)==55){if(!e){l=Ja;return}if(!a){ya=58;break}Ca=c[a>>2]|0;Da=c[a+16>>2]|0;k=c[a+32>>2]|0;h=(c[j>>2]=Ca,+g[j>>2]);i=(c[j>>2]=Da,+g[j>>2]);o=(c[j>>2]=k,+g[j>>2]);E=e;e=Ca;a=Da;D=m}while(0);if((ya|0)==58){ga=o*+g[Ja+48>>2]+i*+g[n>>2]+h*ka;k=(g[j>>2]=ga,c[j>>2]|0);ha=o*+g[Ja+48+16>>2]+i*+g[Ja+48+20>>2]+h*la;a=(g[j>>2]=ha,c[j>>2]|0);D=o*+g[Ja+48+32>>2]+i*+g[Ja+48+36>>2]+h*ra;h=ga;i=ha;o=D;E=e;e=k;k=(g[j>>2]=D,c[j>>2]|0);D=m}if(!f){Ca=a;Da=k}else{e=(g[j>>2]=-h,c[j>>2]|0);Ca=(g[j>>2]=-i,c[j>>2]|0);Da=(g[j>>2]=-o,c[j>>2]|0)}if((E|0)>6){C=(c[j>>2]=e,+g[j>>2]);B=(c[j>>2]=Ca,+g[j>>2]);A=(c[j>>2]=Da,+g[j>>2]);i=+g[Ja+48>>2];t=+g[Ja+48+16>>2];w=+g[Ja+48+32>>2];u=(C*i+B*t+A*w>0.0?1.0:-1.0)*(ma+oa)*2.0*.5;z=+g[n>>2];y=+g[Ja+48+20>>2];h=+g[Ja+48+36>>2];s=(C*z+B*y+A*h>0.0?1.0:-1.0)*(na+pa)*2.0*.5;x=(C*ka+B*la+A*ra>0.0?1.0:-1.0)*qa*.5;z=+g[b+48>>2]+u*i+s*z+x*ka;y=+g[b+52>>2]+u*t+s*y+x*la;x=+g[b+56>>2]+u*w+s*h+x*ra;c[Ja+520>>2]=c[b+112>>2];c[Ja+520+4>>2]=c[b+112+4>>2];c[Ja+520+8>>2]=c[b+112+8>>2];h=(C*Ga+B*xa+A*Aa>0.0?-1.0:1.0)*(ua+wa)*2.0*.5;s=(C*Fa+B*sa+A*za>0.0?-1.0:1.0)*(va+ta)*2.0*.5;w=+g[Ja+520+4>>2]+h*xa+s*sa;u=+g[Ja+520+8>>2]+h*Aa+s*za;t=(C*Ea+B*Ha+A*Ia>0.0?-1.0:1.0)*Ba*.5;s=+g[Ja+520>>2]+h*Ga+s*Fa+t*Ea;g[Ja+520>>2]=s;g[Ja+520+4>>2]=w+t*Ha;g[Ja+520+8>>2]=u+t*Ia;Da=E+-7|0;h=+g[Ja+48+(((Da|0)/3|0)<<2)>>2];i=+g[Ja+48+(((Da|0)/3|0)+4<<2)>>2];m=+g[Ja+48+(((Da|0)/3|0)+8<<2)>>2];p=+g[Ja+(((Da|0)%3|0)<<2)>>2];q=+g[Ja+(((Da|0)%3|0)+4<<2)>>2];r=+g[Ja+(((Da|0)%3|0)+8<<2)>>2];o=1.0-(h*p+i*q+m*r)*(h*p+i*q+m*r);if(!(o<=9.999999747378752e-05))h=(((s-z)*h+(w+t*Ha-y)*i+(u+t*Ia-x)*m)*(h*p+i*q+m*r)-((s-z)*p+(w+t*Ha-y)*q+(u+t*Ia-x)*r))*(1.0/o);else h=0.0;g[Ja+520>>2]=s+h*p;g[Ja+520+4>>2]=w+t*Ha+h*q;g[Ja+520+8>>2]=u+t*Ia+h*r;Da=c[(c[d>>2]|0)+16>>2]|0;g[Ja+504>>2]=-C;g[Ja+504+4>>2]=-B;g[Ja+504+8>>2]=-A;g[Ja+504+12>>2]=0.0;Ub[Da&15](d,Ja+504|0,Ja+520|0,D);l=Ja;return}ea=(E|0)<4;fa=(c[j>>2]=e,+g[j>>2]);if(ea){ca=(c[j>>2]=Ca,+g[j>>2]);ba=fa;da=(c[j>>2]=Da,+g[j>>2]);v=Ja+536|0;f=b+112|0;ia=b+48|0;T=Ja+548|0;a=Ja+48|0;k=Ja}else{ca=-(c[j>>2]=Ca,+g[j>>2]);ba=-fa;da=-(c[j>>2]=Da,+g[j>>2]);v=Ja+548|0;f=b+48|0;ia=b+112|0;T=Ja+536|0;a=Ja;k=Ja+48|0}q=ba*+g[k>>2]+ca*+g[k+16>>2]+da*+g[k+32>>2];g[Ja+488>>2]=q;r=ba*+g[k+4>>2]+ca*+g[k+20>>2]+da*+g[k+36>>2];g[Ja+488+4>>2]=r;s=ba*+g[k+8>>2]+ca*+g[k+24>>2]+da*+g[k+40>>2];g[Ja+488+8>>2]=s;q=+F(+q);r=+F(+r);s=+F(+s);e=r>q?(r>s?1:2):q>s?0:2;n=(r>q?r>s:q>s)?2:1;p=+g[v+(e<<2)>>2];h=+g[f>>2]-+g[ia>>2];i=p*+g[k+(e<<2)>>2];m=+g[f+4>>2];ja=ia+4|0;o=+g[ja>>2];if(+g[Ja+488+(e<<2)>>2]<0.0){aa=h+i;$=m-o+p*+g[k+((e|4)<<2)>>2];_=+g[f+8>>2]-+g[ia+8>>2]+p*+g[k+((e|8)<<2)>>2]}else{aa=h-i;$=m-o-p*+g[k+((e|4)<<2)>>2];_=+g[f+8>>2]-+g[ia+8>>2]-p*+g[k+((e|8)<<2)>>2]}M=(ea?-1:-4)+E|0;switch(M|0){case 0:{e=1;f=2;break}case 1:{e=0;f=2;break}default:{e=0;f=1}}Y=+g[a+(e<<2)>>2];V=+g[a+((e|4)<<2)>>2];W=+g[a+((e|8)<<2)>>2];Z=aa*Y+$*V+_*W;X=+g[a+(f<<2)>>2];U=+g[a+((f|4)<<2)>>2];A=+g[a+((f|8)<<2)>>2];D=aa*X+$*U+_*A;L=k+((q>s&(r>q^1)&1)<<2)|0;C=+g[L>>2];P=k+((q>s&(r>q^1)&1|4)<<2)|0;y=+g[P>>2];S=k+((q>s&(r>q^1)&1|8)<<2)|0;z=+g[S>>2];N=k+(n<<2)|0;B=+g[N>>2];Q=k+((n|4)<<2)|0;x=+g[Q>>2];R=k+((n|8)<<2)|0;w=+g[R>>2];Ha=+g[v+((q>s&(r>q^1)&1)<<2)>>2];Ia=+g[v+(n<<2)>>2];Ga=(Y*B+V*x+W*w)*Ia;Ia=(X*B+U*x+A*w)*Ia;g[Ja+456>>2]=Z-(Y*C+V*y+W*z)*Ha-Ga;g[Ja+456+4>>2]=D-(X*C+U*y+A*z)*Ha-Ia;g[Ja+456+8>>2]=Z-(Y*C+V*y+W*z)*Ha+Ga;g[Ja+456+12>>2]=D-(X*C+U*y+A*z)*Ha+Ia;g[Ja+456+16>>2]=Z+(Y*C+V*y+W*z)*Ha+Ga;g[Ja+456+20>>2]=D+(X*C+U*y+A*z)*Ha+Ia;g[Ja+456+24>>2]=Z+(Y*C+V*y+W*z)*Ha-Ga;g[Ja+456+28>>2]=D+(X*C+U*y+A*z)*Ha-Ia;c[Ja+448>>2]=c[T+(e<<2)>>2];c[Ja+448+4>>2]=c[T+(f<<2)>>2];K=0;f=4;b=Ja+456|0;J=Ja+384|0;a:while(1){H=Ja+448+(K<<2)|0;I=1-K|0;do if((f|0)>0){a=0;E=b;e=J;while(1){k=E+(K<<2)|0;h=+g[k>>2];i=+g[H>>2];if(i>-h){c[e>>2]=c[E>>2];c[e+4>>2]=c[E+4>>2];a=a+1|0;if(a&8|0){f=a;e=J;break a}h=+g[k>>2];i=+g[H>>2];n=e+8|0}else n=e;v=(f|0)>1;k=E;E=E+8|0;e=v?E:b;m=+g[e+(K<<2)>>2];if(i>-h^i>-m){Ia=+g[k+(I<<2)>>2];g[n+(I<<2)>>2]=Ia+(-i-h)*((+g[e+(I<<2)>>2]-Ia)/(m-h));g[n+(K<<2)>>2]=-+g[H>>2];e=a+1|0;if(!(e&8)){a=e;e=n+8|0}else{f=e;e=J;break a}}else e=n;if(!v)break;else f=f+-1|0}e=(J|0)==(Ja+384|0)?Ja+592|0:Ja+384|0;if((a|0)<=0){f=0;break}E=a;f=0;b=J;a=e;while(1){k=b+(K<<2)|0;i=+g[k>>2];h=+g[H>>2];if(i<h){c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];f=f+1|0;if(f&8|0)break a;h=+g[H>>2];i=+g[k>>2];a=a+8|0}v=(E|0)>1;n=b;b=b+8|0;k=v?b:J;m=+g[k+(K<<2)>>2];if(i<h^m<h){Ia=+g[n+(I<<2)>>2];g[a+(I<<2)>>2]=Ia+(h-i)*((+g[k+(I<<2)>>2]-Ia)/(m-i));c[a+(K<<2)>>2]=c[H>>2];f=f+1|0;if(!(f&8))a=a+8|0;else break a}if(!v)break;else E=E+-1|0}}else{e=(J|0)==(Ja+384|0)?Ja+592|0:Ja+384|0;f=0}while(0);K=K+1|0;if((K|0)>=2)break;else{b=e;J=(e|0)==(Ja+384|0)?Ja+592|0:Ja+384|0}}if((e|0)!=(Ja+384|0))_h(Ja+384|0,e|0,f<<3|0)|0;if((f|0)>=1){u=1.0/((Y*C+V*y+W*z)*(X*B+U*x+A*w)-(X*C+U*y+A*z)*(Y*B+V*x+W*w));t=+g[T+(M<<2)>>2];s=+g[L>>2];r=+g[N>>2];q=+g[P>>2];p=+g[Q>>2];o=+g[S>>2];m=+g[R>>2];e=0;a=0;while(1){T=a<<1;h=+g[Ja+384+(T<<2)>>2];i=+g[Ja+384+((T|1)<<2)>>2];Fa=(X*B+U*x+A*w)*u*(h-Z)-(Y*B+V*x+W*w)*u*(i-D);Ia=(Y*C+V*y+W*z)*u*(i-D)-(X*C+U*y+A*z)*u*(h-Z);T=e*3|0;Ga=aa+Fa*s+Ia*r;g[Ja+288+(T<<2)>>2]=Ga;Ha=$+Fa*q+Ia*p;g[Ja+288+(T+1<<2)>>2]=Ha;Ia=_+Fa*o+Ia*m;g[Ja+288+(T+2<<2)>>2]=Ia;Ia=t-(ba*Ga+ca*Ha+da*Ia);g[Ja+256+(e<<2)>>2]=Ia;if(!(Ia>=0.0))v=e;else{v=e<<1;g[Ja+384+(v<<2)>>2]=h;g[Ja+384+((v|1)<<2)>>2]=i;v=e+1|0}a=a+1|0;if((a|0)==(f|0))break;else e=v}b:do if((v|0)>=1){n=(v|0)<4?v:4;E=(n|0)>1?n:1;if((v|0)<=(E|0))if(ea){f=ia+8|0;i=-(c[j>>2]=Ca,+g[j>>2]);h=-(c[j>>2]=Da,+g[j>>2]);e=0;while(1){Da=e*3|0;g[Ja+240>>2]=+g[Ja+288+(Da<<2)>>2]+ +g[ia>>2];g[Ja+240+4>>2]=+g[Ja+288+(Da+1<<2)>>2]+ +g[ja>>2];g[Ja+240+8>>2]=+g[Ja+288+(Da+2<<2)>>2]+ +g[f>>2];Da=c[(c[d>>2]|0)+16>>2]|0;g[Ja+224>>2]=-fa;g[Ja+224+4>>2]=i;g[Ja+224+8>>2]=h;g[Ja+224+12>>2]=0.0;Ub[Da&15](d,Ja+224|0,Ja+240|0,-+g[Ja+256+(e<<2)>>2]);e=e+1|0;if((e|0)==(v|0))break b}}else{f=ia+8|0;i=(c[j>>2]=Ca,+g[j>>2]);h=(c[j>>2]=Da,+g[j>>2]);e=0;while(1){Da=e*3|0;Ia=+g[Ja+256+(e<<2)>>2];g[Ja+208>>2]=+g[Ja+288+(Da<<2)>>2]+ +g[ia>>2]-fa*Ia;g[Ja+208+4>>2]=+g[Ja+288+(Da+1<<2)>>2]+ +g[ja>>2]-i*Ia;g[Ja+208+8>>2]=+g[Ja+288+(Da+2<<2)>>2]+ +g[f>>2]-h*Ia;Da=c[(c[d>>2]|0)+16>>2]|0;g[Ja+192>>2]=-fa;g[Ja+192+4>>2]=-i;g[Ja+192+8>>2]=-h;g[Ja+192+12>>2]=0.0;Ub[Da&15](d,Ja+192|0,Ja+208|0,-Ia);e=e+1|0;if((e|0)==(v|0))break b}}c:do if((v|0)>1){f=1;a=0;i=+g[Ja+256>>2];while(1){h=+g[Ja+256+(f<<2)>>2];e=h>i;a=e?f:a;f=f+1|0;if((f|0)==(v|0))break;else i=e?h:i}switch(v|0){case 1:{e=Ja+160|0;f=1;ya=112;break c}case 2:{k=Ja+160|0;f=2;q=(+g[Ja+384>>2]+ +g[Ja+384+8>>2])*.5;h=(+g[Ja+384+4>>2]+ +g[Ja+384+12>>2])*.5;ya=116;break c}default:{}}e=v+-1|0;h=0.0;q=0.0;r=0.0;f=0;do{T=f<<1;Fa=+g[Ja+384+(T<<2)>>2];Ga=+g[Ja+384+(T+3<<2)>>2];Ha=+g[Ja+384+(T+2<<2)>>2];Ia=+g[Ja+384+((T|1)<<2)>>2];h=h+(Fa*Ga-Ha*Ia);q=q+(Fa+Ha)*(Fa*Ga-Ha*Ia);r=r+(Ga+Ia)*(Fa*Ga-Ha*Ia);f=f+1|0}while((f|0)!=(e|0));T=v<<1;i=+g[Ja+384+(T+-2<<2)>>2];m=+g[Ja+384+4>>2];o=+g[Ja+384>>2];p=+g[Ja+384+(T+-1<<2)>>2];h=h+(i*m-o*p);T=+F(+h)>1.1920928955078125e-07;h=T?1.0/(h*3.0):999999984306749440.0;if((v|0)>0){k=Ja+160|0;f=v;q=h*(q+(i+o)*(i*m-o*p));h=h*(r+(m+p)*(i*m-o*p));ya=116}else{e=Ja+160|0;k=0;f=v;v=a}}else{e=Ja+160|0;f=v;a=0;ya=112}while(0);if((ya|0)==112){k=e;q=+g[Ja+384>>2];h=+g[Ja+384+4>>2];ya=116}if((ya|0)==116){e=0;do{ya=e<<1;g[Ja+592+(e<<2)>>2]=+O(+(+g[Ja+384+((ya|1)<<2)>>2]-h),+(+g[Ja+384+(ya<<2)>>2]-q));e=e+1|0}while((e|0)!=(f|0));e=0;do{c[Ja+560+(e<<2)>>2]=1;e=e+1|0}while((e|0)!=(f|0));e=k;k=1;v=a}a=Ja+560+(v<<2)|0;c[a>>2]=0;c[e>>2]=v;d:do if((n|0)>1){o=+g[Ja+592+(v<<2)>>2];if(k){a=Ja+160+4|0;n=1}else{e=Ja+160+4|0;f=1;while(1){c[e>>2]=v;c[a>>2]=0;f=f+1|0;if((f|0)==(E|0))break d;else e=e+4|0}}while(1){m=+(n|0)*(6.2831854820251465/+(E|0))+o;m=m>3.1415927410125732?m+-6.2831854820251465:m;c[a>>2]=v;e=v;k=0;i=1.0e9;while(1){do if(!(c[Ja+560+(k<<2)>>2]|0))h=i;else{h=+F(+(+g[Ja+592+(k<<2)>>2]-m));h=h>3.1415927410125732?6.2831854820251465-h:h;if(!(h<i)){h=i;break}c[a>>2]=k;e=k}while(0);k=k+1|0;if((k|0)==(f|0))break;else i=h}c[Ja+560+(e<<2)>>2]=0;n=n+1|0;if((n|0)==(E|0))break;else a=a+4|0}}while(0);if((E|0)<=0)break;f=ia+8|0;i=(c[j>>2]=Da,+g[j>>2]);h=(c[j>>2]=Ca,+g[j>>2]);if(ea){e=0;do{Da=c[Ja+160+(e<<2)>>2]|0;g[Ja+144>>2]=+g[Ja+288+(Da*3<<2)>>2]+ +g[ia>>2];g[Ja+144+4>>2]=+g[Ja+288+((Da*3|0)+1<<2)>>2]+ +g[ja>>2];g[Ja+144+8>>2]=+g[Ja+288+((Da*3|0)+2<<2)>>2]+ +g[f>>2];Ca=c[(c[d>>2]|0)+16>>2]|0;g[Ja+128>>2]=-fa;g[Ja+128+4>>2]=-h;g[Ja+128+8>>2]=-i;g[Ja+128+12>>2]=0.0;Ub[Ca&15](d,Ja+128|0,Ja+144|0,-+g[Ja+256+(Da<<2)>>2]);e=e+1|0}while((e|0)<(E|0))}else{e=0;do{Ca=c[Ja+160+(e<<2)>>2]|0;Fa=+g[Ja+288+(Ca*3<<2)>>2]+ +g[ia>>2];g[Ja+144>>2]=Fa;Ga=+g[Ja+288+((Ca*3|0)+1<<2)>>2]+ +g[ja>>2];g[Ja+144+4>>2]=Ga;Ha=+g[Ja+288+((Ca*3|0)+2<<2)>>2]+ +g[f>>2];g[Ja+144+8>>2]=Ha;Da=c[(c[d>>2]|0)+16>>2]|0;g[Ja+112>>2]=-fa;g[Ja+112+4>>2]=-h;g[Ja+112+8>>2]=-i;g[Ja+112+12>>2]=0.0;Ia=+g[Ja+256+(Ca<<2)>>2];g[Ja+96>>2]=Fa-fa*Ia;g[Ja+96+4>>2]=Ga-Ia*h;g[Ja+96+8>>2]=Ha-Ia*i;g[Ja+96+12>>2]=0.0;Ub[Da&15](d,Ja+112|0,Ja+96|0,-Ia);e=e+1|0}while((e|0)<(E|0))}}while(0)}l=Ja;return}function kc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0.0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,H=0.0,I=0.0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0;P=l;l=l+448|0;if(!(a[b+527>>0]|0)){l=P;return}O=c[b+28>>2]|0;x=+g[b+348>>2];w=+g[b+352>>2];D=+g[b+356>>2];y=+g[O+52>>2];z=x*+g[O+4>>2]+w*+g[O+8>>2]+D*+g[O+12>>2]+y;A=+g[O+56>>2];B=x*+g[O+20>>2]+w*+g[O+24>>2]+D*+g[O+28>>2]+A;C=+g[O+60>>2];D=x*+g[O+36>>2]+w*+g[O+40>>2]+D*+g[O+44>>2]+C;O=c[b+32>>2]|0;w=+g[b+412>>2];x=+g[b+416>>2];k=+g[b+420>>2];E=+g[O+52>>2];F=w*+g[O+4>>2]+x*+g[O+8>>2]+k*+g[O+12>>2]+E;H=+g[O+56>>2];I=w*+g[O+20>>2]+x*+g[O+24>>2]+k*+g[O+28>>2]+H;j=+g[O+60>>2];k=w*+g[O+36>>2]+x*+g[O+40>>2]+k*+g[O+44>>2]+j;if(!(a[b+524>>0]|0)){u=+g[d+192>>2]+ +g[d+80>>2];w=+g[d+196>>2]+ +g[d+84>>2];q=+g[d+200>>2]+ +g[d+88>>2];x=+g[e+192>>2]+ +g[e+80>>2];p=+g[e+196>>2]+ +g[e+84>>2];o=+g[e+200>>2]+ +g[e+88>>2];m=+g[d+176>>2]+ +g[d+64>>2]+((D-C)*w-(B-A)*q)-(+g[e+176>>2]+ +g[e+64>>2]+((k-j)*p-(I-H)*o));o=+g[d+180>>2]+ +g[d+68>>2]+((z-y)*q-(D-C)*u)-(+g[e+180>>2]+ +g[e+68>>2]+((F-E)*o-(k-j)*x));p=+g[d+184>>2]+ +g[d+72>>2]+((B-A)*u-(z-y)*w)-(+g[e+184>>2]+ +g[e+72>>2]+((I-H)*x-(F-E)*p));n=(c[d+240>>2]|0)==0;v=0;do{x=1.0/+g[b+48+(v*84|0)+80>>2];r=b+48+(v*84|0)|0;w=+g[r>>2];s=b+48+(v*84|0)+4|0;u=+g[s>>2];t=b+48+(v*84|0)+8|0;q=+g[t>>2];q=x*(((z-F)*w+(B-I)*u+(D-k)*q)*-.30000001192092896/f)-x*(m*w+o*u+p*q);g[b+36>>2]=+g[b+36>>2]+q;u=+g[t>>2];w=+g[s>>2];x=+g[r>>2];h=c[b+28>>2]|0;i=+g[h+344>>2];if(!n){S=((B-A)*u-(D-C)*w)*+g[h+296>>2]+((D-C)*x-(z-y)*u)*+g[h+300>>2]+((z-y)*w-(B-A)*x)*+g[h+304>>2];Q=((B-A)*u-(D-C)*w)*+g[h+280>>2]+((D-C)*x-(z-y)*u)*+g[h+284>>2]+((z-y)*w-(B-A)*x)*+g[h+288>>2];R=((B-A)*u-(D-C)*w)*+g[h+264>>2]+((D-C)*x-(z-y)*u)*+g[h+268>>2]+((z-y)*w-(B-A)*x)*+g[h+272>>2];U=q*w*i*+g[d+116>>2];T=q*u*i*+g[d+120>>2];g[d+64>>2]=q*x*i*+g[d+112>>2]+ +g[d+64>>2];g[d+68>>2]=U+ +g[d+68>>2];g[d+72>>2]=T+ +g[d+72>>2];Q=Q*q*+g[d+100>>2];i=S*q*+g[d+104>>2];g[d+80>>2]=R*q*+g[d+96>>2]+ +g[d+80>>2];g[d+84>>2]=Q+ +g[d+84>>2];g[d+88>>2]=i+ +g[d+88>>2]}h=c[b+32>>2]|0;i=+g[h+344>>2];if(c[e+240>>2]|0){U=((I-H)*u-(k-j)*w)*+g[h+296>>2]+((k-j)*x-(F-E)*u)*+g[h+300>>2]+((F-E)*w-(I-H)*x)*+g[h+304>>2];T=((I-H)*u-(k-j)*w)*+g[h+280>>2]+((k-j)*x-(F-E)*u)*+g[h+284>>2]+((F-E)*w-(I-H)*x)*+g[h+288>>2];S=((I-H)*u-(k-j)*w)*+g[h+264>>2]+((k-j)*x-(F-E)*u)*+g[h+268>>2]+((F-E)*w-(I-H)*x)*+g[h+272>>2];Q=i*+g[s>>2]*-q*+g[e+116>>2];R=i*+g[t>>2]*-q*+g[e+120>>2];g[e+64>>2]=+g[e+112>>2]*i*+g[r>>2]*-q+ +g[e+64>>2];g[e+68>>2]=Q+ +g[e+68>>2];g[e+72>>2]=R+ +g[e+72>>2];T=T*+g[e+100>>2]*-q;U=U*+g[e+104>>2]*-q;g[e+80>>2]=S*+g[e+96>>2]*-q+ +g[e+80>>2];g[e+84>>2]=T+ +g[e+84>>2];g[e+88>>2]=U+ +g[e+88>>2]}v=v+1|0}while((v|0)!=3)}do if(!(a[b+552>>0]|0)){i=+g[b+440>>2];if(!(i>1.1920928955078125e-07)){J=d+80|0;n=d+196|0;K=d+84|0;r=d+200|0;L=d+88|0;s=e+192|0;M=e+80|0;t=e+196|0;N=e+84|0;v=e+200|0;O=e+88|0;h=d+192|0;break}j=+g[e+192>>2]+ +g[e+80>>2]-(+g[d+192>>2]+ +g[d+80>>2]);k=+g[e+196>>2]+ +g[e+84>>2]-(+g[d+196>>2]+ +g[d+84>>2]);m=+g[e+200>>2]+ +g[e+88>>2]-(+g[d+200>>2]+ +g[d+88>>2]);if(j*j+k*k+m*m>1.1920928955078125e-07){C=1.0/+G(+(j*j+k*k+m*m));h=c[b+28>>2]|0;p=+g[h+264>>2];q=+g[h+280>>2];u=+g[h+296>>2];w=+g[h+268>>2];x=+g[h+284>>2];y=+g[h+300>>2];z=+g[h+272>>2];A=+g[h+288>>2];B=+g[h+304>>2];h=c[b+32>>2]|0;i=i*(1.0/(j*C*(j*C*p+k*C*q+m*C*u)+k*C*(j*C*w+k*C*x+m*C*y)+m*C*(j*C*z+k*C*A+m*C*B)+(j*C*(j*C*+g[h+264>>2]+k*C*+g[h+280>>2]+m*C*+g[h+296>>2])+k*C*(j*C*+g[h+268>>2]+k*C*+g[h+284>>2]+m*C*+g[h+300>>2])+m*C*(j*C*+g[h+272>>2]+k*C*+g[h+288>>2]+m*C*+g[h+304>>2]))));C=+G(+(m*i*m*i+(j*i*j*i+k*i*k*i)));o=1.0/C*j*i;j=1.0/C*k*i;i=1.0/C*m*i;if(c[d+240>>2]|0){U=C*0.0*+g[d+116>>2];T=C*0.0*+g[d+120>>2];g[d+64>>2]=C*0.0*+g[d+112>>2]+ +g[d+64>>2];g[d+68>>2]=U+ +g[d+68>>2];g[d+72>>2]=T+ +g[d+72>>2];T=(o*q+j*x+i*A)*C*+g[d+100>>2];U=(o*u+j*y+i*B)*C*+g[d+104>>2];g[d+80>>2]=(o*p+j*w+i*z)*C*+g[d+96>>2]+ +g[d+80>>2];g[d+84>>2]=T+ +g[d+84>>2];g[d+88>>2]=U+ +g[d+88>>2];h=c[b+32>>2]|0}if(c[e+240>>2]|0){U=o*+g[h+296>>2]+j*+g[h+300>>2]+i*+g[h+304>>2];T=o*+g[h+280>>2]+j*+g[h+284>>2]+i*+g[h+288>>2];S=o*+g[h+264>>2]+j*+g[h+268>>2]+i*+g[h+272>>2];Q=C*-0.0*+g[e+116>>2];R=C*-0.0*+g[e+120>>2];g[e+64>>2]=C*-0.0*+g[e+112>>2]+ +g[e+64>>2];g[e+68>>2]=Q+ +g[e+68>>2];g[e+72>>2]=R+ +g[e+72>>2];T=T*+g[e+100>>2]*-C;U=U*+g[e+104>>2]*-C;g[e+80>>2]=S*+g[e+96>>2]*-C+ +g[e+80>>2];g[e+84>>2]=T+ +g[e+84>>2];g[e+88>>2]=U+ +g[e+88>>2];J=d+80|0;n=d+196|0;K=d+84|0;r=d+200|0;L=d+88|0;s=e+192|0;M=e+80|0;t=e+196|0;N=e+84|0;v=e+200|0;O=e+88|0;h=d+192|0}else{J=d+80|0;n=d+196|0;K=d+84|0;r=d+200|0;L=d+88|0;s=e+192|0;M=e+80|0;t=e+196|0;N=e+84|0;v=e+200|0;O=e+88|0;h=d+192|0}}else{J=d+80|0;n=d+196|0;K=d+84|0;r=d+200|0;L=d+88|0;s=e+192|0;M=e+80|0;t=e+196|0;N=e+84|0;v=e+200|0;O=e+88|0;h=d+192|0}}else{N=c[b+28>>2]|0;c[P+336>>2]=c[N+4>>2];c[P+336+4>>2]=c[N+4+4>>2];c[P+336+8>>2]=c[N+4+8>>2];c[P+336+12>>2]=c[N+4+12>>2];c[P+336+16>>2]=c[N+20>>2];c[P+336+16+4>>2]=c[N+20+4>>2];c[P+336+16+8>>2]=c[N+20+8>>2];c[P+336+16+12>>2]=c[N+20+12>>2];c[P+336+32>>2]=c[N+36>>2];c[P+336+32+4>>2]=c[N+36+4>>2];c[P+336+32+8>>2]=c[N+36+8>>2];c[P+336+32+12>>2]=c[N+36+12>>2];c[P+336+48>>2]=c[N+52>>2];c[P+336+48+4>>2]=c[N+52+4>>2];c[P+336+48+8>>2]=c[N+52+8>>2];c[P+336+48+12>>2]=c[N+52+12>>2];N=c[b+32>>2]|0;c[P+256>>2]=c[N+4>>2];c[P+256+4>>2]=c[N+4+4>>2];c[P+256+8>>2]=c[N+4+8>>2];c[P+256+12>>2]=c[N+4+12>>2];c[P+256+16>>2]=c[N+20>>2];c[P+256+16+4>>2]=c[N+20+4>>2];c[P+256+16+8>>2]=c[N+20+8>>2];c[P+256+16+12>>2]=c[N+20+12>>2];c[P+256+32>>2]=c[N+36>>2];c[P+256+32+4>>2]=c[N+36+4>>2];c[P+256+32+8>>2]=c[N+36+8>>2];c[P+256+32+12>>2]=c[N+36+12>>2];c[P+256+48>>2]=c[N+52>>2];c[P+256+48+4>>2]=c[N+52+4>>2];c[P+256+48+8>>2]=c[N+52+8>>2];c[P+256+48+12>>2]=c[N+52+12>>2];S=+g[d+196>>2]+ +g[d+84>>2];u=+g[d+200>>2]+ +g[d+88>>2];g[P+400>>2]=+g[d+192>>2]+ +g[d+80>>2];g[P+400+4>>2]=S;g[P+400+8>>2]=u;g[P+400+12>>2]=0.0;u=+g[e+196>>2]+ +g[e+84>>2];S=+g[e+200>>2]+ +g[e+88>>2];g[P+320>>2]=+g[e+192>>2]+ +g[e+80>>2];g[P+320+4>>2]=u;g[P+320+8>>2]=S;g[P+320+12>>2]=0.0;c[P+192>>2]=1065353216;N=P+192+4|0;c[N>>2]=0;c[N+4>>2]=0;c[N+8>>2]=0;c[N+12>>2]=0;c[P+192+20>>2]=1065353216;O=P+192+24|0;c[O>>2]=0;c[O+4>>2]=0;c[O+8>>2]=0;c[O+12>>2]=0;c[P+192+40>>2]=1065353216;L=P+192+44|0;c[L>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;c[L+12>>2]=0;c[L+16>>2]=0;Kg(P+336|0,0.0,0.0,0.0,P+400|0,f,P+192|0);c[P+128>>2]=1065353216;L=P+128+4|0;c[L>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;c[L+12>>2]=0;c[P+128+20>>2]=1065353216;M=P+128+24|0;c[M>>2]=0;c[M+4>>2]=0;c[M+8>>2]=0;c[M+12>>2]=0;c[P+128+40>>2]=1065353216;K=P+128+44|0;c[K>>2]=0;c[K+4>>2]=0;c[K+8>>2]=0;c[K+12>>2]=0;c[K+16>>2]=0;Kg(P+256|0,0.0,0.0,0.0,P+320|0,f,P+128|0);S=+g[b+556>>2];u=+g[b+560>>2];T=+g[b+564>>2];w=+g[b+568>>2];F=S*(2.0/(S*S+u*u+T*T+w*w));A=u*(2.0/(S*S+u*u+T*T+w*w));H=T*(2.0/(S*S+u*u+T*T+w*w));W=+g[b+364>>2];V=+g[b+368>>2];Z=+g[b+372>>2];j=(S*H-w*A)*Z+(V*(S*A+w*H)+W*(1.0-(u*A+T*H)));k=Z*(u*H+w*F)+(W*(S*A-w*H)+V*(1.0-(S*F+T*H)));m=W*(S*H+w*A)+V*(u*H-w*F)+Z*(1.0-(S*F+u*A));i=+g[b+380>>2];E=+g[b+384>>2];B=+g[b+388>>2];o=(1.0-(u*A+T*H))*i+(S*A+w*H)*E+(S*H-w*A)*B;p=(S*A-w*H)*i+(1.0-(S*F+T*H))*E+(u*H+w*F)*B;q=(S*H+w*A)*i+(u*H-w*F)*E+(1.0-(S*F+u*A))*B;Q=+g[b+396>>2];C=+g[b+400>>2];z=+g[b+404>>2];R=(1.0-(u*A+T*H))*Q+(S*A+w*H)*C+(S*H-w*A)*z;T=(S*A-w*H)*Q+(1.0-(S*F+T*H))*C+(u*H+w*F)*z;A=(S*H+w*A)*Q+(u*H-w*F)*C+(1.0-(S*F+u*A))*z;u=+g[b+300>>2];F=+g[b+316>>2];S=+g[b+332>>2];w=+g[b+304>>2];H=+g[b+320>>2];U=+g[b+336>>2];D=+g[b+308>>2];I=+g[b+324>>2];y=+g[b+340>>2];x=-+g[b+348>>2];aa=-+g[b+352>>2];Y=-+g[b+356>>2];Z=W*0.0+V*0.0+Z*0.0+ +g[b+412>>2]+(m*(D*x+I*aa+y*Y)+(j*(u*x+F*aa+S*Y)+k*(w*x+H*aa+U*Y)));B=i*0.0+E*0.0+B*0.0+ +g[b+416>>2]+(q*(D*x+I*aa+y*Y)+(o*(u*x+F*aa+S*Y)+p*(w*x+H*aa+U*Y)));Y=Q*0.0+C*0.0+z*0.0+ +g[b+420>>2]+(A*(D*x+I*aa+y*Y)+(R*(u*x+F*aa+S*Y)+T*(w*x+H*aa+U*Y)));aa=+g[P+128>>2];x=+g[L>>2];z=+g[P+128+8>>2];C=+g[P+128+16>>2];Q=+g[P+128+20>>2];E=+g[M>>2];i=+g[P+128+32>>2];V=+g[P+128+36>>2];W=+g[P+128+40>>2];X=z*Y+(aa*Z+x*B)+ +g[P+128+48>>2];_=C*Z+B*Q+Y*E+ +g[P+128+52>>2];$=Z*i+B*V+Y*W+ +g[P+128+56>>2];g[P+64>>2]=(j*u+k*w+m*D)*aa+(o*u+p*w+q*D)*x+(R*u+T*w+A*D)*z;g[P+64+4>>2]=(j*F+k*H+m*I)*aa+(o*F+p*H+q*I)*x+(R*F+T*H+A*I)*z;g[P+64+8>>2]=(j*S+k*U+m*y)*aa+(o*S+p*U+q*y)*x+(R*S+T*U+A*y)*z;g[P+64+12>>2]=0.0;g[P+64+16>>2]=(j*u+k*w+m*D)*C+(o*u+p*w+q*D)*Q+(R*u+T*w+A*D)*E;g[P+64+20>>2]=(j*F+k*H+m*I)*C+(o*F+p*H+q*I)*Q+(R*F+T*H+A*I)*E;g[P+64+24>>2]=(j*S+k*U+m*y)*C+(o*S+p*U+q*y)*Q+(R*S+T*U+A*y)*E;g[P+64+28>>2]=0.0;g[P+64+32>>2]=(j*u+k*w+m*D)*i+(o*u+p*w+q*D)*V+(R*u+T*w+A*D)*W;g[P+64+36>>2]=(j*F+k*H+m*I)*i+(o*F+p*H+q*I)*V+(R*F+T*H+A*I)*W;g[P+64+40>>2]=(j*S+k*U+m*y)*i+(o*S+p*U+q*y)*V+(R*S+T*U+A*y)*W;g[P+64+44>>2]=0.0;g[P+64+48>>2]=X;g[P+64+52>>2]=_;g[P+64+56>>2]=$;g[P+64+60>>2]=0.0;$=(R*u+T*w+A*D)*-Y+((j*u+k*w+m*D)*-Z+(o*u+p*w+q*D)*-B);_=(R*F+T*H+A*I)*-Y+((j*F+k*H+m*I)*-Z+(o*F+p*H+q*I)*-B);B=(R*S+T*U+A*y)*-Y+((j*S+k*U+m*y)*-Z+(o*S+p*U+q*y)*-B);Z=+g[P+192>>2];Y=+g[N>>2];X=+g[P+192+8>>2];W=+g[P+192+16>>2];V=+g[P+192+20>>2];i=+g[O>>2];E=+g[P+192+32>>2];Q=+g[P+192+36>>2];C=+g[P+192+40>>2];z=$*Z+_*Y+B*X+ +g[P+192+48>>2];x=$*W+_*V+B*i+ +g[P+192+52>>2];B=$*E+_*Q+B*C+ +g[P+192+56>>2];g[P>>2]=(j*u+k*w+m*D)*Z+(j*F+k*H+m*I)*Y+(j*S+k*U+m*y)*X;g[P+4>>2]=(o*u+p*w+q*D)*Z+(o*F+p*H+q*I)*Y+(o*S+p*U+q*y)*X;g[P+8>>2]=(R*u+T*w+A*D)*Z+(R*F+T*H+A*I)*Y+(R*S+T*U+A*y)*X;g[P+12>>2]=0.0;g[P+16>>2]=(j*u+k*w+m*D)*W+(j*F+k*H+m*I)*V+(j*S+k*U+m*y)*i;g[P+20>>2]=(o*u+p*w+q*D)*W+(o*F+p*H+q*I)*V+(o*S+p*U+q*y)*i;g[P+24>>2]=(R*u+T*w+A*D)*W+(R*F+T*H+A*I)*V+(R*S+T*U+A*y)*i;g[P+28>>2]=0.0;g[P+32>>2]=(j*u+k*w+m*D)*E+(j*F+k*H+m*I)*Q+(j*S+k*U+m*y)*C;g[P+36>>2]=(o*u+p*w+q*D)*E+(o*F+p*H+q*I)*Q+(o*S+p*U+q*y)*C;g[P+40>>2]=(R*u+T*w+A*D)*E+(R*F+T*H+A*I)*Q+(R*S+T*U+A*y)*C;g[P+44>>2]=0.0;g[P+48>>2]=z;g[P+52>>2]=x;g[P+56>>2]=B;g[P+60>>2]=0.0;vf(P+336|0,P+64|0,P+424|0,P+416|0);B=+g[P+416>>2];x=1.0/f*+g[P+424>>2]*B;z=1.0/f*B*+g[P+424+4>>2];B=1.0/f*B*+g[P+424+8>>2];vf(P+256|0,P,P+424|0,P+416|0);C=+g[P+416>>2];x=x-+g[P+400>>2];z=z-+g[P+400+4>>2];B=B-+g[P+400+8>>2];y=1.0/f*+g[P+424>>2]*C-+g[P+320>>2];A=1.0/f*C*+g[P+424+4>>2]-+g[P+320+4>>2];C=1.0/f*C*+g[P+424+8>>2]-+g[P+320+8>>2];if(x*x+z*z+B*B>1.1920928955078125e-07){p=1.0/+G(+(x*x+z*z+B*B));O=c[b+28>>2]|0;o=x*p*(x*p*+g[O+264>>2]+z*p*+g[O+280>>2]+B*p*+g[O+296>>2])+z*p*(x*p*+g[O+268>>2]+z*p*+g[O+284>>2]+B*p*+g[O+300>>2])+B*p*(x*p*+g[O+272>>2]+z*p*+g[O+288>>2]+B*p*+g[O+304>>2]);i=x*p;k=z*p;p=B*p}else{o=0.0;i=0.0;k=0.0;p=0.0}if(y*y+A*A+C*C>1.1920928955078125e-07){u=1.0/+G(+(y*y+A*A+C*C));O=c[b+32>>2]|0;q=y*u*(y*u*+g[O+264>>2]+A*u*+g[O+280>>2]+C*u*+g[O+296>>2])+A*u*(y*u*+g[O+268>>2]+A*u*+g[O+284>>2]+C*u*+g[O+300>>2])+C*u*(y*u*+g[O+272>>2]+A*u*+g[O+288>>2]+C*u*+g[O+304>>2]);j=y*u;m=A*u;u=C*u}else{q=0.0;j=0.0;m=0.0;u=0.0}w=i*o+j*q;j=k*o+m*q;i=p*o+u*q;if(i*i+(w*w+j*j)>1.1920928955078125e-07){u=1.0/+G(+(i*i+(w*w+j*j)));n=c[b+28>>2]|0;m=w*u*(w*u*+g[n+264>>2]+j*u*+g[n+280>>2]+i*u*+g[n+296>>2])+j*u*(w*u*+g[n+268>>2]+j*u*+g[n+284>>2]+i*u*+g[n+300>>2])+i*u*(w*u*+g[n+272>>2]+j*u*+g[n+288>>2]+i*u*+g[n+304>>2]);h=c[b+32>>2]|0;u=w*u*(w*u*+g[h+264>>2]+j*u*+g[h+280>>2]+i*u*+g[h+296>>2])+j*u*(w*u*+g[h+268>>2]+j*u*+g[h+284>>2]+i*u*+g[h+300>>2])+i*u*(w*u*+g[h+272>>2]+j*u*+g[h+288>>2]+i*u*+g[h+304>>2]);k=1.0/((m+u)*(m+u))*(x*m-y*u);j=1.0/((m+u)*(m+u))*(z*m-A*u);u=1.0/((m+u)*(m+u))*(B*m-C*u);i=+g[b+572>>2];if(!(i>=0.0))i=u;else{i=(a[b+553>>0]|0)==0?i:i/m;o=+g[b+576>>2];p=+g[b+580>>2];q=+g[b+584>>2];m=+G(+((k+o)*(k+o)+(j+p)*(j+p)+(u+q)*(u+q)));if(m>i){k=i*(k+o)*(1.0/m)-o;j=i*(j+p)*(1.0/m)-p;i=i*(u+q)*(1.0/m)-q}else i=u;g[b+576>>2]=k+o;g[b+580>>2]=j+p;g[b+584>>2]=i+q}m=+G(+(i*i+(j*j+k*k)));k=k*(1.0/m);j=j*(1.0/m);i=i*(1.0/m);if(c[d+240>>2]|0){aa=k*+g[n+296>>2]+j*+g[n+300>>2]+i*+g[n+304>>2];$=k*+g[n+280>>2]+j*+g[n+284>>2]+i*+g[n+288>>2];_=k*+g[n+264>>2]+j*+g[n+268>>2]+i*+g[n+272>>2];Y=m*0.0*+g[d+116>>2];Z=m*0.0*+g[d+120>>2];g[d+64>>2]=m*0.0*+g[d+112>>2]+ +g[d+64>>2];g[d+68>>2]=Y+ +g[d+68>>2];g[d+72>>2]=Z+ +g[d+72>>2];$=$*m*+g[d+100>>2];aa=aa*m*+g[d+104>>2];g[d+80>>2]=_*m*+g[d+96>>2]+ +g[d+80>>2];g[d+84>>2]=$+ +g[d+84>>2];g[d+88>>2]=aa+ +g[d+88>>2];h=c[b+32>>2]|0}if(c[e+240>>2]|0){aa=k*+g[h+296>>2]+j*+g[h+300>>2]+i*+g[h+304>>2];$=k*+g[h+280>>2]+j*+g[h+284>>2]+i*+g[h+288>>2];_=k*+g[h+264>>2]+j*+g[h+268>>2]+i*+g[h+272>>2];Y=m*-0.0*+g[e+116>>2];Z=m*-0.0*+g[e+120>>2];g[e+64>>2]=m*-0.0*+g[e+112>>2]+ +g[e+64>>2];g[e+68>>2]=Y+ +g[e+68>>2];g[e+72>>2]=Z+ +g[e+72>>2];$=$*+g[e+100>>2]*-m;aa=aa*+g[e+104>>2]*-m;g[e+80>>2]=_*+g[e+96>>2]*-m+ +g[e+80>>2];g[e+84>>2]=$+ +g[e+84>>2];g[e+88>>2]=aa+ +g[e+88>>2]}}J=d+80|0;n=d+196|0;K=d+84|0;r=d+200|0;L=d+88|0;s=e+192|0;M=e+80|0;t=e+196|0;N=e+84|0;v=e+200|0;O=e+88|0;h=d+192|0}while(0);z=+g[h>>2]+ +g[J>>2];y=+g[n>>2]+ +g[K>>2];x=+g[r>>2]+ +g[L>>2];w=+g[s>>2]+ +g[M>>2];u=+g[t>>2]+ +g[N>>2];q=+g[v>>2]+ +g[O>>2];if(a[b+526>>0]|0){j=+g[b+528>>2];i=j*+g[b+504>>2]*+g[b+432>>2]/f;k=+g[b+460>>2];m=+g[b+464>>2];o=+g[b+468>>2];if((w-z)*k+(u-y)*m+(q-x)*o>0.0)i=i+j*((w-z)*k+(u-y)*m+(q-x)*o)*+g[b+436>>2];$=+g[b+516>>2];_=$+i*+g[b+492>>2];_=_>0.0?_:0.0;g[b+516>>2]=_;Z=+g[b+536>>2];j=+g[b+540>>2];aa=+g[b+544>>2];i=Z*k*(_-$)+m*(_-$)*j+o*(_-$)*aa;p=+G(+((o*(_-$)-aa*i)*(o*(_-$)-aa*i)+((k*(_-$)-Z*i)*(k*(_-$)-Z*i)+(m*(_-$)-j*i)*(m*(_-$)-j*i))));k=1.0/p*(k*(_-$)-Z*i);j=1.0/p*(m*(_-$)-j*i);i=1.0/p*(o*(_-$)-aa*i);h=c[b+28>>2]|0;if(c[d+240>>2]|0){aa=k*+g[h+296>>2]+j*+g[h+300>>2]+i*+g[h+304>>2];$=k*+g[h+280>>2]+j*+g[h+284>>2]+i*+g[h+288>>2];_=k*+g[h+264>>2]+j*+g[h+268>>2]+i*+g[h+272>>2];Y=p*0.0*+g[d+116>>2];Z=p*0.0*+g[d+120>>2];g[d+64>>2]=p*0.0*+g[d+112>>2]+ +g[d+64>>2];g[d+68>>2]=Y+ +g[d+68>>2];g[d+72>>2]=Z+ +g[d+72>>2];$=$*p*+g[d+100>>2];aa=aa*p*+g[d+104>>2];g[J>>2]=_*p*+g[d+96>>2]+ +g[J>>2];g[K>>2]=$+ +g[K>>2];g[L>>2]=aa+ +g[L>>2]}h=c[b+32>>2]|0;if(c[e+240>>2]|0){aa=k*+g[h+296>>2]+j*+g[h+300>>2]+i*+g[h+304>>2];$=k*+g[h+280>>2]+j*+g[h+284>>2]+i*+g[h+288>>2];_=k*+g[h+264>>2]+j*+g[h+268>>2]+i*+g[h+272>>2];Y=p*-0.0*+g[e+116>>2];Z=p*-0.0*+g[e+120>>2];g[e+64>>2]=p*-0.0*+g[e+112>>2]+ +g[e+64>>2];g[e+68>>2]=Y+ +g[e+68>>2];g[e+72>>2]=Z+ +g[e+72>>2];$=$*+g[e+100>>2]*-p;aa=aa*+g[e+104>>2]*-p;g[M>>2]=_*+g[e+96>>2]*-p+ +g[M>>2];g[N>>2]=$+ +g[N>>2];g[O>>2]=aa+ +g[O>>2]}}if(!(a[b+525>>0]|0)){l=P;return}o=+g[b+532>>2];m=o*+g[b+508>>2]*+g[b+432>>2]/f;k=+g[b+476>>2];j=+g[b+480>>2];i=+g[b+484>>2];if((w-z)*k+(u-y)*j+(q-x)*i>0.0)m=m+o*((w-z)*k+(u-y)*j+(q-x)*i)*+g[b+436>>2];o=+g[b+520>>2];m=o+m*+g[b+496>>2];m=m>0.0?m:0.0;g[b+520>>2]=m;h=c[b+28>>2]|0;if(c[d+240>>2]|0){aa=k*+g[h+296>>2]+j*+g[h+300>>2]+i*+g[h+304>>2];$=k*+g[h+280>>2]+j*+g[h+284>>2]+i*+g[h+288>>2];i=k*+g[h+264>>2]+j*+g[h+268>>2]+i*+g[h+272>>2];k=(m-o)*0.0*+g[d+116>>2];j=(m-o)*0.0*+g[d+120>>2];g[d+64>>2]=(m-o)*0.0*+g[d+112>>2]+ +g[d+64>>2];g[d+68>>2]=k+ +g[d+68>>2];g[d+72>>2]=j+ +g[d+72>>2];j=$*(m-o)*+g[d+100>>2];k=aa*(m-o)*+g[d+104>>2];g[J>>2]=i*(m-o)*+g[d+96>>2]+ +g[J>>2];g[K>>2]=j+ +g[K>>2];g[L>>2]=k+ +g[L>>2];k=+g[b+476>>2];j=+g[b+480>>2];i=+g[b+484>>2]}h=c[b+32>>2]|0;if(!(c[e+240>>2]|0)){l=P;return}aa=k*+g[h+296>>2]+j*+g[h+300>>2]+i*+g[h+304>>2];$=k*+g[h+280>>2]+j*+g[h+284>>2]+i*+g[h+288>>2];_=k*+g[h+264>>2]+j*+g[h+268>>2]+i*+g[h+272>>2];Y=(m-o)*-0.0*+g[e+116>>2];Z=(m-o)*-0.0*+g[e+120>>2];g[e+64>>2]=(m-o)*-0.0*+g[e+112>>2]+ +g[e+64>>2];g[e+68>>2]=Y+ +g[e+68>>2];g[e+72>>2]=Z+ +g[e+72>>2];$=$*+g[e+100>>2]*-(m-o);aa=aa*+g[e+104>>2]*-(m-o);g[M>>2]=_*+g[e+96>>2]*-(m-o)+ +g[M>>2];g[N>>2]=$+ +g[N>>2];g[O>>2]=aa+ +g[O>>2];l=P;return}function lc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;R=c[e>>2]|0;da=c[f>>2]|0;if(R|0)g=c[R+12>>2]|0;else g=b;j=c[g+88>>2]|0;k=c[g+92>>2]|0;h=c[g+96>>2]|0;if(!da)g=d;else g=c[da+12>>2]|0;q=c[g+88>>2]|0;p=c[g+92>>2]|0;o=c[g+96>>2]|0;Z=c[b+88>>2]|0;ba=(c[d+88>>2]|0)-Z|0;t=c[b+92>>2]|0;ca=(c[d+92>>2]|0)-t|0;l=c[b+96>>2]|0;W=(c[d+96>>2]|0)-l|0;Y=c[(R|0?R:da)+12>>2]|0;_=(c[Y+88>>2]|0)-Z|0;Q=(c[Y+92>>2]|0)-t|0;Y=(c[Y+96>>2]|0)-l|0;X=(S(Q,W)|0)-(S(Y,ca)|0)|0;Y=(S(Y,ba)|0)-(S(_,W)|0)|0;Q=(S(_,ca)|0)-(S(Q,ba)|0)|0;Z=ds(X|0,((X|0)<0)<<31>>31|0,Z|0,((Z|0)<0)<<31>>31|0)|0;_=D;t=ds(Y|0,((Y|0)<0)<<31>>31|0,t|0,((t|0)<0)<<31>>31|0)|0;s=D;l=ds(Q|0,((Q|0)<0)<<31>>31|0,l|0,((l|0)<0)<<31>>31|0)|0;l=Gv(Z|0,_|0,l|0,D|0)|0;s=Gv(l|0,D|0,t|0,s|0)|0;t=D;l=ds(Q|0,((Q|0)<0)<<31>>31|0,ca|0,((ca|0)<0)<<31>>31|0)|0;_=D;Z=ds(Y|0,((Y|0)<0)<<31>>31|0,W|0,((W|0)<0)<<31>>31|0)|0;Z=au(l|0,_|0,Z|0,D|0)|0;_=D;l=ds(X|0,((X|0)<0)<<31>>31|0,W|0,((W|0)<0)<<31>>31|0)|0;aa=D;$=ds(Q|0,((Q|0)<0)<<31>>31|0,ba|0,((ba|0)<0)<<31>>31|0)|0;$=au(l|0,aa|0,$|0,D|0)|0;aa=D;l=ds(Y|0,((Y|0)<0)<<31>>31|0,ba|0,((ba|0)<0)<<31>>31|0)|0;V=D;U=ds(X|0,((X|0)<0)<<31>>31|0,ca|0,((ca|0)<0)<<31>>31|0)|0;U=au(l|0,V|0,U|0,D|0)|0;V=D;l=ds(Z|0,_|0,j|0,((j|0)<0)<<31>>31|0)|0;P=D;i=ds($|0,aa|0,k|0,((k|0)<0)<<31>>31|0)|0;P=Gv(i|0,D|0,l|0,P|0)|0;l=D;i=ds(U|0,V|0,h|0,((h|0)<0)<<31>>31|0)|0;i=Gv(P|0,l|0,i|0,D|0)|0;l=D;if((R|0)!=0?(c[R+12>>2]|0)!=0:0){g=j;b=k;d=h;n=R;m=i;while(1){n=c[(c[n+8>>2]|0)+4>>2]|0;k=n+12|0;j=c[k>>2]|0;h=c[j+88>>2]|0;O=ds(h|0,((h|0)<0)<<31>>31|0,X|0,((X|0)<0)<<31>>31|0)|0;N=D;i=c[j+92>>2]|0;P=ds(i|0,((i|0)<0)<<31>>31|0,Y|0,((Y|0)<0)<<31>>31|0)|0;N=Gv(P|0,D|0,O|0,N|0)|0;O=D;j=c[j+96>>2]|0;P=ds(j|0,((j|0)<0)<<31>>31|0,Q|0,((Q|0)<0)<<31>>31|0)|0;P=Gv(N|0,O|0,P|0,D|0)|0;O=D;if((O|0)<(t|0)|(O|0)==(t|0)&P>>>0<s>>>0){i=m;h=l;break}if((c[n+20>>2]|0)==(c[a+100>>2]|0)){i=m;h=l;break}h=ds(h|0,((h|0)<0)<<31>>31|0,Z|0,_|0)|0;P=D;i=ds(i|0,((i|0)<0)<<31>>31|0,$|0,aa|0)|0;P=Gv(i|0,D|0,h|0,P|0)|0;h=D;i=ds(j|0,((j|0)<0)<<31>>31|0,U|0,V|0)|0;i=Gv(P|0,h|0,i|0,D|0)|0;h=D;if(!((h|0)>(l|0)|(h|0)==(l|0)&i>>>0>m>>>0)){i=m;h=l;break}c[e>>2]=n;P=c[k>>2]|0;g=c[P+88>>2]|0;b=c[P+92>>2]|0;d=c[P+96>>2]|0;if(!P)break;else{l=h;m=i}}H=g;k=c[f>>2]|0;r=h}else{d=h;b=k;H=j;k=da;r=l}g=ds(Z|0,_|0,q|0,((q|0)<0)<<31>>31|0)|0;P=D;h=ds($|0,aa|0,p|0,((p|0)<0)<<31>>31|0)|0;P=Gv(h|0,D|0,g|0,P|0)|0;g=D;h=ds(U|0,V|0,o|0,((o|0)<0)<<31>>31|0)|0;h=Gv(P|0,g|0,h|0,D|0)|0;g=D;a:do if(k)if(!(c[k+12>>2]|0))j=o;else{j=o;n=k;while(1){o=c[c[n+8>>2]>>2]|0;m=c[o+12>>2]|0;k=c[m+88>>2]|0;O=ds(k|0,((k|0)<0)<<31>>31|0,X|0,((X|0)<0)<<31>>31|0)|0;N=D;l=c[m+92>>2]|0;P=ds(l|0,((l|0)<0)<<31>>31|0,Y|0,((Y|0)<0)<<31>>31|0)|0;N=Gv(P|0,D|0,O|0,N|0)|0;O=D;m=c[m+96>>2]|0;P=ds(m|0,((m|0)<0)<<31>>31|0,Q|0,((Q|0)<0)<<31>>31|0)|0;P=Gv(N|0,O|0,P|0,D|0)|0;O=D;if((O|0)<(t|0)|(O|0)==(t|0)&P>>>0<s>>>0){k=n;break a}if((c[o+20>>2]|0)==(c[a+100>>2]|0)){k=n;break a}P=ds(k|0,((k|0)<0)<<31>>31|0,Z|0,_|0)|0;O=D;l=ds(l|0,((l|0)<0)<<31>>31|0,$|0,aa|0)|0;O=Gv(l|0,D|0,P|0,O|0)|0;P=D;l=ds(m|0,((m|0)<0)<<31>>31|0,U|0,V|0)|0;l=Gv(O|0,P|0,l|0,D|0)|0;m=D;if(!((m|0)>(g|0)|(m|0)==(g|0)&l>>>0>h>>>0)){k=n;break a}c[f>>2]=o;P=c[o+12>>2]|0;g=c[P+88>>2]|0;h=c[P+92>>2]|0;j=c[P+96>>2]|0;if(!P){k=o;p=h;q=g;h=l;g=m;break}else{q=g;p=h;n=o;g=m;h=l}}}else{k=0;j=o}while(0);O=au(h|0,g|0,i|0,r|0)|0;P=D;if((P|0)>0|(P|0)==0&O>>>0>0){M=au(0,0,Q|0,((Q|0)<0)<<31>>31|0)|0;N=D;J=d;K=b;L=H;i=j;h=p;g=q;m=O;l=P;b:while(1){I=l;c:while(1){G=(S(h-K|0,ca)|0)+(S(i-J|0,W)|0)+(S(g-L|0,ba)|0)|0;B=c[e>>2]|0;do if((B|0?c[B+12>>2]|0:0)?(T=c[(c[B>>2]|0)+8>>2]|0,(c[T+20>>2]|0)>(c[a+100>>2]|0)):0){F=c[T+12>>2]|0;C=c[F+88>>2]|0;A=C-L|0;E=c[F+92>>2]|0;z=E-K|0;F=c[F+96>>2]|0;l=F-J|0;o=ds(A|0,((A|0)<0)<<31>>31|0,Z|0,_|0)|0;y=D;n=ds(z|0,((z|0)<0)<<31>>31|0,$|0,aa|0)|0;y=Gv(n|0,D|0,o|0,y|0)|0;o=D;n=ds(l|0,((l|0)<0)<<31>>31|0,U|0,V|0)|0;n=Gv(y|0,o|0,n|0,D|0)|0;o=D;l=(S(z,ca)|0)+(S(A,ba)|0)+(S(l,W)|0)|0;if((n|0)==0&(o|0)==0)if((l|0)<0)break c;else break;if((o|0)<0){if((l|0)>0){s=1;t=l;r=((l|0)<0)<<31>>31}else{t=au(0,0,l|0,((l|0)<0)<<31>>31|0)|0;s=l>>31;t=l|0?t:0;r=l|0?D:0}A=0-s|0;w=au(0,0,n|0,o|0)|0;x=D;if((G|0)>0){l=1;y=G;z=((G|0)<0)<<31>>31}else{y=au(0,0,G|0,((G|0)<0)<<31>>31|0)|0;l=G>>31;y=G|0?y:0;z=G|0?D:0}if(!((I|0)>0|(I|0)==0&m>>>0>0))if((I|0)<0){n=au(0,0,m|0,I|0)|0;l=0-l|0;o=D}else{n=0;o=0}else{n=m;o=I}if((l|0)==(A|0)){if(!s)break c;l=ds(n|0,0,t|0,0)|0;s=D;ga=ds(o|0,0,t|0,0)|0;fa=D;u=ds(n|0,0,r|0,0)|0;v=D;ea=ds(o|0,0,r|0,0)|0;t=D;u=Gv(ga|0,0,u|0,0)|0;n=D;t=Gv(fa|0,0,ea|0,t|0)|0;v=Gv(t|0,D|0,v|0,0)|0;n=Gv(v|0,D|0,n|0,0)|0;v=D;s=Gv(0,u|0,l|0,s|0)|0;t=D;u=Gv(n|0,v|0,(t>>>0<u>>>0|(t|0)==(u|0)&s>>>0<0)&1|0,0)|0;v=D;n=ds(y|0,0,w|0,0)|0;l=D;ea=ds(z|0,0,w|0,0)|0;w=D;o=ds(y|0,0,x|0,0)|0;r=D;x=ds(z|0,0,x|0,0)|0;y=D;o=Gv(ea|0,0,o|0,0)|0;z=D;y=Gv(w|0,0,x|0,y|0)|0;r=Gv(y|0,D|0,r|0,0)|0;z=Gv(r|0,D|0,z|0,0)|0;r=D;l=Gv(0,o|0,n|0,l|0)|0;n=D;o=Gv(z|0,r|0,(n>>>0<o>>>0|(n|0)==(o|0)&l>>>0<0)&1|0,0)|0;r=D;do if(v>>>0<r>>>0|(v|0)==(r|0)&u>>>0<o>>>0)l=-1;else{if(v>>>0>r>>>0|(v|0)==(r|0)&u>>>0>o>>>0){l=1;break}if(t>>>0<n>>>0|(t|0)==(n|0)&s>>>0<l>>>0){l=-1;break}l=(t>>>0>n>>>0|(t|0)==(n|0)&s>>>0>l>>>0)&1}while(0);l=S(l,A)|0}else l=A-l|0;if((l|0)>-1)break c}}while(0);l=c[f>>2]|0;if(!l){g=121;break b}if(!(c[l+12>>2]|0)){g=121;break b}y=c[c[l+8>>2]>>2]|0;if((c[y+20>>2]|0)<=(c[a+100>>2]|0)){g=121;break b}n=c[y+12>>2]|0;r=c[n+88>>2]|0;l=r-g|0;o=c[n+92>>2]|0;h=o-h|0;n=c[n+96>>2]|0;g=n-i|0;ga=ds(l|0,((l|0)<0)<<31>>31|0,X|0,((X|0)<0)<<31>>31|0)|0;ea=D;fa=ds(h|0,((h|0)<0)<<31>>31|0,Y|0,((Y|0)<0)<<31>>31|0)|0;ea=Gv(fa|0,D|0,ga|0,ea|0)|0;ga=D;fa=ds(g|0,((g|0)<0)<<31>>31|0,M|0,N|0)|0;if(!((ea|0)==(fa|0)&(ga|0)==(D|0))){g=121;break b}s=ds(l|0,((l|0)<0)<<31>>31|0,Z|0,_|0)|0;x=D;i=ds(h|0,((h|0)<0)<<31>>31|0,$|0,aa|0)|0;x=Gv(i|0,D|0,s|0,x|0)|0;s=D;i=ds(g|0,((g|0)<0)<<31>>31|0,U|0,V|0)|0;i=Gv(x|0,s|0,i|0,D|0)|0;s=D;g=(S(h,ca)|0)+(S(l,ba)|0)+(S(g,W)|0)|0;x=r-L|0;fa=o-K|0;w=n-J|0;x=ds(x|0,((x|0)<0)<<31>>31|0,Z|0,_|0)|0;ga=D;fa=ds(fa|0,((fa|0)<0)<<31>>31|0,$|0,aa|0)|0;ga=Gv(fa|0,D|0,x|0,ga|0)|0;x=D;w=ds(w|0,((w|0)<0)<<31>>31|0,U|0,V|0)|0;w=Gv(ga|0,x|0,w|0,D|0)|0;x=D;if(!((x|0)>0|(x|0)==0&w>>>0>0)){g=121;break b}if((i|0)==0&(s|0)==0){if((g|0)>=0){g=121;break b}}else{if((s|0)>=0){g=121;break b}if((g|0)>0){n=1;o=g;l=((g|0)<0)<<31>>31}else{o=au(0,0,g|0,((g|0)<0)<<31>>31|0)|0;n=g>>31;o=g|0?o:0;l=g|0?D:0}v=0-n|0;s=au(0,0,i|0,s|0)|0;t=D;if((G|0)>0){g=1;u=G;i=((G|0)<0)<<31>>31}else{u=au(0,0,G|0,((G|0)<0)<<31>>31|0)|0;g=G>>31;u=G|0?u:0;i=G|0?D:0}do if((I|0)>0|(I|0)==0&m>>>0>0){h=g;g=I}else{if((I|0)>=0){h=g;m=0;g=0;break}m=au(0,0,m|0,I|0)|0;h=0-g|0;g=D}while(0);if((h|0)==(v|0)){if(!n){g=121;break b}G=ds(m|0,0,o|0,0)|0;n=D;h=ds(g|0,0,o|0,0)|0;I=D;o=ds(m|0,0,l|0,0)|0;r=D;g=ds(g|0,0,l|0,0)|0;m=D;o=Gv(h|0,0,o|0,0)|0;h=D;m=Gv(I|0,0,g|0,m|0)|0;r=Gv(m|0,D|0,r|0,0)|0;h=Gv(r|0,D|0,h|0,0)|0;r=D;m=Gv(0,o|0,G|0,n|0)|0;n=D;o=Gv(h|0,r|0,(n>>>0<o>>>0|(n|0)==(o|0)&m>>>0<0)&1|0,0)|0;r=D;h=ds(u|0,0,s|0,0)|0;g=D;G=ds(i|0,0,s|0,0)|0;I=D;ga=ds(u|0,0,t|0,0)|0;l=D;ea=ds(i|0,0,t|0,0)|0;fa=D;i=Gv(G|0,0,ga|0,0)|0;ga=D;fa=Gv(I|0,0,ea|0,fa|0)|0;l=Gv(fa|0,D|0,l|0,0)|0;ga=Gv(l|0,D|0,ga|0,0)|0;l=D;g=Gv(0,i|0,h|0,g|0)|0;h=D;i=Gv(ga|0,l|0,(h>>>0<i>>>0|(h|0)==(i|0)&g>>>0<0)&1|0,0)|0;l=D;do if(r>>>0<l>>>0|(r|0)==(l|0)&o>>>0<i>>>0)g=-1;else{if(r>>>0>l>>>0|(r|0)==(l|0)&o>>>0>i>>>0){g=1;break}if(n>>>0<h>>>0|(n|0)==(h|0)&m>>>0<g>>>0){g=-1;break}g=(n>>>0>h>>>0|(n|0)==(h|0)&m>>>0>g>>>0)&1}while(0);g=S(g,v)|0}else g=v-h|0;if((g|0)<=0){g=121;break b}}c[f>>2]=y;i=c[y+12>>2]|0;g=c[i+88>>2]|0;h=c[i+92>>2]|0;i=c[i+96>>2]|0;I=x;m=w}J=g-C|0;L=h-E|0;m=i-F|0;J=ds(J|0,((J|0)<0)<<31>>31|0,Z|0,_|0)|0;K=D;L=ds(L|0,((L|0)<0)<<31>>31|0,$|0,aa|0)|0;K=Gv(L|0,D|0,J|0,K|0)|0;J=D;m=ds(m|0,((m|0)<0)<<31>>31|0,U|0,V|0)|0;m=Gv(K|0,J|0,m|0,D|0)|0;c[e>>2]=(B|0)==(R|0)?0:T;J=F;K=E;L=C;l=D}if((g|0)==121)return}if((P|0)>=0)return;I=au(0,0,Q|0,((Q|0)<0)<<31>>31|0)|0;J=D;i=p;h=q;l=O;m=P;g=k;while(1){k=(S(i-b|0,ca)|0)+(S(j-d|0,W)|0)+(S(h-H|0,ba)|0)|0;d:do if(!g){z=i;A=h;t=k;u=l;n=k;r=((k|0)<0)<<31>>31;s=m}else{F=h;B=j;C=k;n=k;G=((k|0)<0)<<31>>31;E=m;k=l;while(1){if(!(c[g+12>>2]|0)){j=B;z=i;A=F;t=C;u=k;r=G;s=E;break d}y=c[(c[g+4>>2]|0)+8>>2]|0;if((c[y+20>>2]|0)<=(c[a+100>>2]|0)){j=B;z=i;A=F;t=C;u=k;r=G;s=E;break d}j=c[y+12>>2]|0;A=c[j+88>>2]|0;ga=A-F|0;z=c[j+92>>2]|0;fa=z-i|0;j=c[j+96>>2]|0;h=j-B|0;m=ds(ga|0,((ga|0)<0)<<31>>31|0,Z|0,_|0)|0;ea=D;l=ds(fa|0,((fa|0)<0)<<31>>31|0,$|0,aa|0)|0;ea=Gv(l|0,D|0,m|0,ea|0)|0;m=D;l=ds(h|0,((h|0)<0)<<31>>31|0,U|0,V|0)|0;l=Gv(ea|0,m|0,l|0,D|0)|0;m=D;h=(S(fa,ca)|0)+(S(ga,ba)|0)+(S(h,W)|0)|0;do if((l|0)==0&(m|0)==0){if((h|0)<=0){j=B;z=i;A=F;t=C;u=k;r=G;s=E;break d}}else{if((m|0)>=0){j=B;z=i;A=F;t=C;u=k;r=G;s=E;break d}if((h|0)>0){p=1;q=h;o=((h|0)<0)<<31>>31}else{q=au(0,0,h|0,((h|0)<0)<<31>>31|0)|0;p=h>>31;q=h|0?q:0;o=h|0?D:0}x=0-p|0;t=au(0,0,l|0,m|0)|0;u=D;if((C|0)>0){h=1;v=n;w=G}else{w=(C|0)!=0;v=au(0,0,n|0,G|0)|0;h=C>>31;v=w?v:0;w=w?D:0}if(!((E|0)>0|(E|0)==0&k>>>0>0))if((E|0)<0){l=au(0,0,k|0,E|0)|0;h=0-h|0;m=D}else{l=0;m=0}else{l=k;m=E}if((h|0)==(x|0)){if(!p)break;h=ds(l|0,0,q|0,0)|0;p=D;ea=ds(m|0,0,q|0,0)|0;T=D;r=ds(l|0,0,o|0,0)|0;s=D;ga=ds(m|0,0,o|0,0)|0;q=D;r=Gv(ea|0,0,r|0,0)|0;l=D;q=Gv(T|0,0,ga|0,q|0)|0;s=Gv(q|0,D|0,s|0,0)|0;l=Gv(s|0,D|0,l|0,0)|0;s=D;p=Gv(0,r|0,h|0,p|0)|0;q=D;r=Gv(l|0,s|0,(q>>>0<r>>>0|(q|0)==(r|0)&p>>>0<0)&1|0,0)|0;s=D;l=ds(v|0,0,t|0,0)|0;h=D;ga=ds(w|0,0,t|0,0)|0;T=D;m=ds(v|0,0,u|0,0)|0;o=D;ea=ds(w|0,0,u|0,0)|0;fa=D;m=Gv(ga|0,0,m|0,0)|0;ga=D;fa=Gv(T|0,0,ea|0,fa|0)|0;o=Gv(fa|0,D|0,o|0,0)|0;ga=Gv(o|0,D|0,ga|0,0)|0;o=D;h=Gv(0,m|0,l|0,h|0)|0;l=D;m=Gv(ga|0,o|0,(l>>>0<m>>>0|(l|0)==(m|0)&h>>>0<0)&1|0,0)|0;o=D;do if(s>>>0<o>>>0|(s|0)==(o|0)&r>>>0<m>>>0)h=-1;else{if(s>>>0>o>>>0|(s|0)==(o|0)&r>>>0>m>>>0){h=1;break}if(q>>>0<l>>>0|(q|0)==(l|0)&p>>>0<h>>>0){h=-1;break}h=(q>>>0>l>>>0|(q|0)==(l|0)&p>>>0>h>>>0)&1}while(0);h=S(h,x)|0}else h=x-h|0;if((h|0)>=1){j=B;z=i;A=F;t=C;u=k;r=G;s=E;break d}}while(0);h=A-H|0;fa=z-b|0;ga=j-d|0;l=ds(h|0,((h|0)<0)<<31>>31|0,Z|0,_|0)|0;ea=D;k=ds(fa|0,((fa|0)<0)<<31>>31|0,$|0,aa|0)|0;ea=Gv(k|0,D|0,l|0,ea|0)|0;l=D;k=ds(ga|0,((ga|0)<0)<<31>>31|0,U|0,V|0)|0;k=Gv(ea|0,l|0,k|0,D|0)|0;l=D;g=(g|0)==(da|0)?0:y;c[f>>2]=g;h=(S(fa,ca)|0)+(S(ga,W)|0)+(S(h,ba)|0)|0;if(!g){t=h;u=k;n=h;r=((h|0)<0)<<31>>31;s=l;break}else{F=A;i=z;B=j;C=h;n=h;G=((h|0)<0)<<31>>31;E=l}}}while(0);g=c[e>>2]|0;if(!g){g=121;break}if(!(c[g+12>>2]|0)){g=121;break}x=c[(c[g+8>>2]|0)+4>>2]|0;if((c[x+20>>2]|0)<=(c[a+100>>2]|0)){g=121;break}i=c[x+12>>2]|0;l=c[i+88>>2]|0;h=l-H|0;k=c[i+92>>2]|0;b=k-b|0;i=c[i+96>>2]|0;g=i-d|0;ga=ds(h|0,((h|0)<0)<<31>>31|0,X|0,((X|0)<0)<<31>>31|0)|0;ea=D;fa=ds(b|0,((b|0)<0)<<31>>31|0,Y|0,((Y|0)<0)<<31>>31|0)|0;ea=Gv(fa|0,D|0,ga|0,ea|0)|0;ga=D;fa=ds(g|0,((g|0)<0)<<31>>31|0,I|0,J|0)|0;if(!((ea|0)==(fa|0)&(ga|0)==(D|0))){g=121;break}m=ds(h|0,((h|0)<0)<<31>>31|0,Z|0,_|0)|0;w=D;d=ds(b|0,((b|0)<0)<<31>>31|0,$|0,aa|0)|0;w=Gv(d|0,D|0,m|0,w|0)|0;m=D;d=ds(g|0,((g|0)<0)<<31>>31|0,U|0,V|0)|0;d=Gv(w|0,m|0,d|0,D|0)|0;m=D;g=(S(b,ca)|0)+(S(h,ba)|0)+(S(g,W)|0)|0;w=A-l|0;fa=z-k|0;v=j-i|0;w=ds(w|0,((w|0)<0)<<31>>31|0,Z|0,_|0)|0;ga=D;fa=ds(fa|0,((fa|0)<0)<<31>>31|0,$|0,aa|0)|0;ga=Gv(fa|0,D|0,w|0,ga|0)|0;w=D;v=ds(v|0,((v|0)<0)<<31>>31|0,U|0,V|0)|0;v=Gv(ga|0,w|0,v|0,D|0)|0;w=D;if((w|0)>=0){g=121;break}if((d|0)==0&(m|0)==0){if((g|0)<=0){g=121;break}}else{if((m|0)>=0){g=121;break}if((g|0)>0){k=g;l=((g|0)<0)<<31>>31;i=1}else{k=au(0,0,g|0,((g|0)<0)<<31>>31|0)|0;k=g|0?k:0;l=g|0?D:0;i=g>>31}q=0-i|0;o=au(0,0,d|0,m|0)|0;p=D;if((t|0)>0){g=1;h=r}else{h=(t|0)!=0;n=au(0,0,n|0,r|0)|0;g=t>>31;n=h?n:0;h=h?D:0}do if((s|0)>0|(s|0)==0&u>>>0>0){d=g;b=u;g=s}else{if((s|0)>=0){d=g;b=0;g=0;break}b=au(0,0,u|0,s|0)|0;d=0-g|0;g=D}while(0);if((d|0)==(q|0)){if(!i){g=121;break}ga=ds(b|0,0,k|0,0)|0;i=D;d=ds(g|0,0,k|0,0)|0;T=D;b=ds(b|0,0,l|0,0)|0;m=D;g=ds(g|0,0,l|0,0)|0;k=D;l=Gv(d|0,0,b|0,0)|0;b=D;k=Gv(T|0,0,g|0,k|0)|0;m=Gv(k|0,D|0,m|0,0)|0;b=Gv(m|0,D|0,b|0,0)|0;m=D;i=Gv(0,l|0,ga|0,i|0)|0;k=D;l=Gv(b|0,m|0,(k>>>0<l>>>0|(k|0)==(l|0)&i>>>0<0)&1|0,0)|0;m=D;b=ds(n|0,0,o|0,0)|0;g=D;ga=ds(h|0,0,o|0,0)|0;T=D;d=ds(n|0,0,p|0,0)|0;fa=D;ea=ds(h|0,0,p|0,0)|0;h=D;d=Gv(ga|0,0,d|0,0)|0;ga=D;h=Gv(T|0,0,ea|0,h|0)|0;h=Gv(h|0,D|0,fa|0,0)|0;ga=Gv(h|0,D|0,ga|0,0)|0;h=D;g=Gv(0,d|0,b|0,g|0)|0;b=D;d=Gv(ga|0,h|0,(b>>>0<d>>>0|(b|0)==(d|0)&g>>>0<0)&1|0,0)|0;h=D;do if(m>>>0<h>>>0|(m|0)==(h|0)&l>>>0<d>>>0)g=-1;else{if(m>>>0>h>>>0|(m|0)==(h|0)&l>>>0>d>>>0){g=1;break}if(k>>>0<b>>>0|(k|0)==(b|0)&i>>>0<g>>>0){g=-1;break}g=(k>>>0>b>>>0|(k|0)==(b|0)&i>>>0>g>>>0)&1}while(0);g=S(g,q)|0}else g=q-d|0;if((g|0)>=0){g=121;break}}c[e>>2]=x;H=c[x+12>>2]|0;d=c[H+96>>2]|0;b=c[H+92>>2]|0;H=c[H+88>>2]|0;i=z;h=A;l=v;m=w;g=c[f>>2]|0}if((g|0)==121)return}function mc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,k=0.0,m=0,n=0.0,o=0,p=0.0,q=0,r=0.0,s=0.0,t=0,u=0.0,v=0,w=0.0,x=0,y=0.0,z=0,A=0.0,B=0,C=0.0,D=0.0,E=0.0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=l;l=l+256|0;if((e|0)<1){f=c[b+12>>2]|0;if(f|0){if(a[b+16>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[f+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;f=c[b+32>>2]|0;if(f|0){if(a[b+36>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[f+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;f=c[b+52>>2]|0;if(f|0){if(a[b+56>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[f+-4>>2]|0)}c[b+52>>2]=0}a[b+56>>0]=1;c[b+52>>2]=0;c[b+44>>2]=0;c[b+48>>2]=0;l=M;return}c[M+40+32>>2]=0;c[M+40+36>>2]=0;c[M+40+40>>2]=0;c[M+40+44>>2]=256;c[M+40+48>>2]=0;c[M+40+52>>2]=0;c[M+40+56>>2]=0;c[M+40+60>>2]=256;c[M+40+64>>2]=0;c[M+40+68>>2]=0;c[M+40+72>>2]=0;c[M+40+76>>2]=256;a[M+40+96>>0]=1;F=M+40+92|0;c[F>>2]=0;c[M+40+84>>2]=0;c[M+40+88>>2]=0;t=1900671690;x=1900671690;B=1900671690;m=-246811958;v=-246811958;z=-246811958;o=0;q=d;while(1){E=+g[q>>2];k=+g[q+4>>2];n=+g[q+8>>2];J=E<(c[j>>2]=t,+g[j>>2]);f=(g[j>>2]=E,c[j>>2]|0);t=J?f:t;J=k<(c[j>>2]=x,+g[j>>2]);h=(g[j>>2]=k,c[j>>2]|0);x=J?h:x;J=n<(c[j>>2]=B,+g[j>>2]);i=(g[j>>2]=n,c[j>>2]|0);B=J?i:B;m=(c[j>>2]=m,+g[j>>2])<E?f:m;v=(c[j>>2]=v,+g[j>>2])<k?h:v;z=(c[j>>2]=z,+g[j>>2])<n?i:z;o=o+1|0;if((o|0)==(e|0))break;else q=q+16|0}A=(c[j>>2]=m,+g[j>>2]);y=(c[j>>2]=t,+g[j>>2]);w=(c[j>>2]=v,+g[j>>2]);u=(c[j>>2]=x,+g[j>>2]);s=(c[j>>2]=z,+g[j>>2]);r=(c[j>>2]=B,+g[j>>2]);J=A-y<w-u?(w-u<s-r?2:1):A-y<s-r?2:0;c[M+40+112>>2]=J;I=A-y<w-u?(A-y<s-r?0:2):w-u<s-r?1:2;I=(I|0)==(J|0)?((J+1|0)>>>0)%3|0:I;c[M+40+104>>2]=I;c[M+40+108>>2]=(J^3)-I;if((((J^3)-I+1|0)%3|0|0)==(J|0)){k=(A-y)*9.788566967472434e-05;n=(w-u)*9.788566967472434e-05;p=(s-r)*9.788566967472434e-05}else{k=-((A-y)*9.788566967472434e-05);n=-((w-u)*9.788566967472434e-05);p=-((s-r)*9.788566967472434e-05)}g[M+40>>2]=k;g[M+40+4>>2]=n;g[M+40+8>>2]=p;g[M+40+12>>2]=0.0;E=k!=0.0?1.0/k:k;D=n!=0.0?1.0/n:n;C=p!=0.0?1.0/p:p;g[M+40+16>>2]=(y+A)*.5;g[M+40+20>>2]=(u+w)*.5;g[M+40+24>>2]=(r+s)*.5;g[M+40+28>>2]=0.0;v=M+232+16|0;a[v>>0]=1;x=M+232+12|0;c[x>>2]=0;t=M+232+4|0;c[t>>2]=0;c[M+232+8>>2]=0;if((e|0)>0){c[6485]=(c[6485]|0)+1;f=ic((e<<4|3)+16|0)|0;if(!f)m=0;else{c[(f+4+15&-16)+-4>>2]=f;m=f+4+15&-16}h=c[t>>2]|0;i=c[x>>2]|0;if((h|0)<=0){if(i|0)L=26}else{f=0;do{L=m+(f<<4)|0;J=i+(f<<4)|0;c[L>>2]=c[J>>2];c[L+4>>2]=c[J+4>>2];c[L+8>>2]=c[J+8>>2];c[L+12>>2]=c[J+12>>2];f=f+1|0}while((f|0)!=(h|0));L=26}if((L|0)==26){if(a[v>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[i+-4>>2]|0)}c[x>>2]=0}a[v>>0]=1;c[x>>2]=m;c[M+232+8>>2]=e;c[m>>2]=c[M+216>>2];c[m+4>>2]=c[M+216+4>>2];c[m+8>>2]=c[M+216+8>>2];c[m+12>>2]=c[M+216+12>>2];if((e|0)==1)f=1;else{f=1;do{J=(c[x>>2]|0)+(f<<4)|0;c[J>>2]=c[M+216>>2];c[J+4>>2]=c[M+216+4>>2];c[J+8>>2]=c[M+216+8>>2];c[J+12>>2]=c[M+216+12>>2];f=f+1|0}while((f|0)!=(e|0));f=e}c[t>>2]=f;h=M+200+(c[M+40+108>>2]<<2)|0;i=c[x>>2]|0;m=M+200+(c[M+40+112>>2]<<2)|0;o=M+200+(c[M+40+104>>2]<<2)|0;k=+g[M+40+16>>2];n=+g[M+40+20>>2];p=+g[M+40+24>>2];q=0;f=d;while(1){y=D*(+g[f+4>>2]-n);A=C*(+g[f+8>>2]-p);g[M+200>>2]=E*(+g[f>>2]-k);g[M+200+4>>2]=y;g[M+200+8>>2]=A;g[M+200+12>>2]=0.0;c[i+(q<<4)>>2]=~~+g[h>>2];c[i+(q<<4)+4>>2]=~~+g[m>>2];c[i+(q<<4)+8>>2]=~~+g[o>>2];c[i+(q<<4)+12>>2]=q;q=q+1|0;if((q|0)==(e|0))break;else f=f+16|0}if((e|0)>1)Qg(M+232|0,0,e+-1|0)}else c[t>>2]=e;c[M+40+36>>2]=c[M+40+32>>2];c[M+40+40>>2]=0;c[M+40+44>>2]=e;f=c[M+40+84>>2]|0;if((f|0)<(e|0)){if((c[M+40+88>>2]|0)<(e|0)){if(!e){h=0;i=f}else{c[6485]=(c[6485]|0)+1;h=ic((e<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}i=c[M+40+84>>2]|0}if((i|0)>0){m=0;do{c[h+(m<<2)>>2]=c[(c[F>>2]|0)+(m<<2)>>2];m=m+1|0}while((m|0)!=(i|0))}i=c[F>>2]|0;if(i|0){if(a[M+40+96>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[i+-4>>2]|0)}c[F>>2]=0}a[M+40+96>>0]=1;c[F>>2]=h;c[M+40+88>>2]=e}do{c[(c[F>>2]|0)+(f<<2)>>2]=0;f=f+1|0}while((f|0)!=(e|0))}c[M+40+84>>2]=e;if((e|0)>0){o=0;do{f=c[M+40+40>>2]|0;if(!f){f=c[M+40+36>>2]|0;if(!f){c[6485]=(c[6485]|0)+1;f=ic(31)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[M+40+44>>2]|0;c[f+4>>2]=h;i=f+8|0;c[i>>2]=0;c[6485]=(c[6485]|0)+1;h=ic((h*112|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}c[f>>2]=h;c[i>>2]=c[M+40+32>>2];c[M+40+32>>2]=f}else c[M+40+36>>2]=c[f+8>>2];m=c[f+4>>2]|0;f=c[f>>2]|0;if((m|0)>0){h=0;i=f;do{h=h+1|0;J=i;i=i+112|0;c[J>>2]=(h|0)<(m|0)?i:0}while((h|0)!=(m|0))}}c[M+40+40>>2]=c[f>>2];J=f+104|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[J>>2]=-1;c[f+8>>2]=0;I=f+88|0;H=(c[x>>2]|0)+(o<<4)|0;c[I>>2]=c[H>>2];c[I+4>>2]=c[H+4>>2];c[I+8>>2]=c[H+8>>2];c[I+12>>2]=c[H+12>>2];c[J>>2]=-1;c[(c[F>>2]|0)+(o<<2)>>2]=f;o=o+1|0}while((o|0)!=(e|0))}f=c[x>>2]|0;if(f|0){if(a[v>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[f+-4>>2]|0)}c[x>>2]=0}a[v>>0]=1;c[x>>2]=0;c[t>>2]=0;c[M+232+8>>2]=0;c[M+40+52>>2]=c[M+40+48>>2];c[M+40+56>>2]=0;c[M+40+60>>2]=e*6;c[M+40+116>>2]=0;c[M+40+120>>2]=0;c[M+40+100>>2]=-3;c[M+184>>2]=0;c[M+184+4>>2]=0;c[M+184+8>>2]=0;c[M+184+12>>2]=0;gc(M+40|0,0,e,M+184|0);c[M+40+124>>2]=c[M+184>>2];f=c[x>>2]|0;if(f|0){if(a[v>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[f+-4>>2]|0)}c[x>>2]=0}f=c[b+4>>2]|0;if((f|0)<0){if((c[b+8>>2]|0)<0){h=c[b+12>>2]|0;if(h|0){if(a[b+16>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[h+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=0;c[b+8>>2]=0}do{J=(c[b+12>>2]|0)+(f<<4)|0;c[J>>2]=c[M+168>>2];c[J+4>>2]=c[M+168+4>>2];c[J+8>>2]=c[M+168+8>>2];c[J+12>>2]=c[M+168+12>>2];f=f+1|0}while((f|0)!=0)}c[b+4>>2]=0;c[M+24>>2]=0;c[M+24+4>>2]=0;c[M+24+8>>2]=0;f=c[b+24>>2]|0;if((f|0)<0){if((c[b+28>>2]|0)<0){h=c[b+32>>2]|0;if(h|0){if(a[b+36>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[h+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+28>>2]=0}do{J=(c[b+32>>2]|0)+(f*12|0)|0;c[J>>2]=c[M+24>>2];c[J+4>>2]=c[M+24+4>>2];c[J+8>>2]=c[M+24+8>>2];f=f+1|0}while((f|0)!=0)}c[b+24>>2]=0;h=c[b+44>>2]|0;if((h|0)<0){f=c[b+52>>2]|0;if((c[b+48>>2]|0)<0){if(f|0?a[b+56>>0]|0:0){c[6486]=(c[6486]|0)+1;Uc(c[f+-4>>2]|0)}a[b+56>>0]=1;c[b+52>>2]=0;c[b+48>>2]=0;f=0}Lk(f+(h<<2)|0,0,S(h,-4)|0)|0}c[b+44>>2]=0;f=c[M+40+124>>2]|0;if((c[f+104>>2]|0)<0){c[f+104>>2]=0;c[6485]=(c[6485]|0)+1;t=ic(23)|0;v=t+4+15&-16;c[v+-4>>2]=t;c[(t+4+15&-16)>>2]=f;m=1;h=1;x=v;t=t+4+15&-16;J=0;while(1){if((c[f+100>>2]|0)>-1){g[M+232+(c[M+40+108>>2]<<2)>>2]=+(c[f+88>>2]|0);g[M+232+(c[M+40+112>>2]<<2)>>2]=+(c[f+92>>2]|0);k=+(c[f+96>>2]|0)}else{I=f+24|0;H=f+32|0;E=+Gm(c[I>>2]|0,c[I+4>>2]|0,c[H>>2]|0,c[H+4>>2]|0);H=f+72|0;I=f+80|0;k=+Gm(c[H>>2]|0,c[H+4>>2]|0,c[I>>2]|0,c[I+4>>2]|0);g[M+232+(c[M+40+108>>2]<<2)>>2]=E/k;I=f+40|0;H=f+48|0;E=+Gm(c[I>>2]|0,c[I+4>>2]|0,c[H>>2]|0,c[H+4>>2]|0)/k;g[M+232+(c[M+40+112>>2]<<2)>>2]=E;H=f+56|0;I=f+64|0;k=+Gm(c[H>>2]|0,c[H+4>>2]|0,c[I>>2]|0,c[I+4>>2]|0)/k}g[M+232+(c[M+40+104>>2]<<2)>>2]=k;k=+g[M+232>>2]*+g[M+40>>2]+ +g[M+40+16>>2];n=+g[M+232+4>>2]*+g[M+40+4>>2]+ +g[M+40+20>>2];p=+g[M+232+8>>2]*+g[M+40+8>>2]+ +g[M+40+24>>2];i=c[b+4>>2]|0;if((i|0)==(c[b+8>>2]|0)?(K=i|0?i<<1:1,(i|0)<(K|0)):0){if(!K)q=0;else{c[6485]=(c[6485]|0)+1;i=ic((K<<4|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}q=i;i=c[b+4>>2]|0}if((i|0)>0){o=0;do{I=q+(o<<4)|0;H=(c[b+12>>2]|0)+(o<<4)|0;c[I>>2]=c[H>>2];c[I+4>>2]=c[H+4>>2];c[I+8>>2]=c[H+8>>2];c[I+12>>2]=c[H+12>>2];o=o+1|0}while((o|0)!=(i|0))}i=c[b+12>>2]|0;if(i|0){if(a[b+16>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[i+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=q;c[b+8>>2]=K;i=c[b+4>>2]|0}I=c[b+12>>2]|0;g[I+(i<<4)>>2]=k;g[I+(i<<4)+4>>2]=n;g[I+(i<<4)+8>>2]=p;g[I+(i<<4)+12>>2]=0.0;c[b+4>>2]=(c[b+4>>2]|0)+1;I=c[f+8>>2]|0;if(!I){B=t;z=x;i=v}else{B=t;i=v;H=I;e=-1;G=-1;while(1){F=H+20|0;f=c[F>>2]|0;if((f|0)<0){d=c[b+24>>2]|0;c[M+12>>2]=0;c[M+12+4>>2]=0;c[M+12+8>>2]=0;do if((d|0)==(c[b+28>>2]|0)){t=d|0?d<<1:1;if((d|0)>=(t|0)){f=d;break}if(!t){f=0;o=d}else{c[6485]=(c[6485]|0)+1;f=ic((t*12|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}o=c[b+24>>2]|0}if((o|0)>0){q=0;do{z=f+(q*12|0)|0;v=(c[b+32>>2]|0)+(q*12|0)|0;c[z>>2]=c[v>>2];c[z+4>>2]=c[v+4>>2];c[z+8>>2]=c[v+8>>2];q=q+1|0}while((q|0)!=(o|0))}o=c[b+32>>2]|0;if(o|0){if(a[b+36>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[o+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=f;c[b+28>>2]=t;f=c[b+24>>2]|0}else f=d;while(0);f=(c[b+32>>2]|0)+(f*12|0)|0;c[f>>2]=c[M+12>>2];c[f+4>>2]=c[M+12+4>>2];c[f+8>>2]=c[M+12+8>>2];f=(c[b+24>>2]|0)+1|0;c[b+24>>2]=f;c[M>>2]=0;c[M+4>>2]=0;c[M+8>>2]=0;do if((f|0)==(c[b+28>>2]|0)){t=f|0?f<<1:1;if((f|0)>=(t|0))break;if(!t)q=0;else{c[6485]=(c[6485]|0)+1;f=ic((t*12|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}q=f;f=c[b+24>>2]|0}if((f|0)>0){o=0;do{z=q+(o*12|0)|0;v=(c[b+32>>2]|0)+(o*12|0)|0;c[z>>2]=c[v>>2];c[z+4>>2]=c[v+4>>2];c[z+8>>2]=c[v+8>>2];o=o+1|0}while((o|0)!=(f|0))}f=c[b+32>>2]|0;if(f|0){if(a[b+36>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[f+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=q;c[b+28>>2]=t;f=c[b+24>>2]|0}while(0);z=(c[b+32>>2]|0)+(f*12|0)|0;c[z>>2]=c[M>>2];c[z+4>>2]=c[M+4>>2];c[z+8>>2]=c[M+8>>2];c[b+24>>2]=(c[b+24>>2]|0)+1;z=c[b+32>>2]|0;c[F>>2]=d;c[(c[H+8>>2]|0)+20>>2]=d+1;c[z+(d*12|0)+4>>2]=1;c[z+((d+1|0)*12|0)+4>>2]=-1;v=c[H+12>>2]|0;f=c[v+104>>2]|0;if((f|0)<0){c[v+104>>2]=m;do if((m|0)==(h|0)){t=h|0?h<<1:1;if((h|0)>=(t|0)){q=B;f=x;break}do if(!t)o=0;else{c[6485]=(c[6485]|0)+1;f=ic((t<<2|3)+16|0)|0;if(!f){o=0;break}c[(f+4+15&-16)+-4>>2]=f;o=f+4+15&-16}while(0);if((h|0)>0){f=0;do{c[o+(f<<2)>>2]=c[B+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0));if(!i){q=o;f=o;i=o;h=t;break}}else if((B|0)==0|(i|0)==0){q=o;f=o;i=o;h=t;break}c[6486]=(c[6486]|0)+1;Uc(c[i+-4>>2]|0);q=o;f=o;i=o;h=t}else{q=B;f=x}while(0);c[q+(m<<2)>>2]=v;t=f;o=m+1|0}else{t=x;q=B;o=m;m=f}c[z+(d*12|0)+8>>2]=m;c[z+((d+1|0)*12|0)+8>>2]=J;f=c[F>>2]|0;m=o}else{t=x;q=B}if((G|0)>-1){c[(c[b+32>>2]|0)+(f*12|0)>>2]=G-f;o=e}else o=f;H=c[H>>2]|0;if((H|0)==(I|0))break;else{B=q;x=t;e=o;G=f}}c[(c[b+32>>2]|0)+(o*12|0)>>2]=f-o;B=q;z=t}o=J+1|0;if((o|0)>=(m|0))break;f=c[B+(o<<2)>>2]|0;x=z;v=i;t=B;J=o}if((J|0)>-1){x=0;while(1){t=c[(c[B+(x<<2)>>2]|0)+8>>2]|0;if(t|0){v=t;do{q=v+20|0;f=c[q>>2]|0;if((f|0)>-1){h=c[b+44>>2]|0;do if((h|0)==(c[b+48>>2]|0)){o=h|0?h<<1:1;if((h|0)>=(o|0))break;if(!o)f=0;else{c[6485]=(c[6485]|0)+1;f=ic((o<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[b+44>>2]|0}m=c[b+52>>2]|0;if((h|0)<=0){if(m)L=172}else{i=0;do{c[f+(i<<2)>>2]=c[m+(i<<2)>>2];i=i+1|0}while((i|0)!=(h|0));L=172}if((L|0)==172){L=0;if(a[b+56>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[m+-4>>2]|0)}c[b+52>>2]=0;h=c[b+44>>2]|0}a[b+56>>0]=1;c[b+52>>2]=f;c[b+48>>2]=o;f=c[q>>2]|0}while(0);c[(c[b+52>>2]|0)+(h<<2)>>2]=f;c[b+44>>2]=(c[b+44>>2]|0)+1;f=v;do{c[f+20>>2]=-1;f=c[(c[f+8>>2]|0)+4>>2]|0}while((f|0)!=(v|0))}v=c[v>>2]|0}while((v|0)!=(t|0))}if((x|0)==(J|0))break;else x=x+1|0}}if(!((B|0)==0|(z|0)==0)){c[6486]=(c[6486]|0)+1;Uc(c[z+-4>>2]|0)}}Bi(M+40|0);l=M;return}function nc(b,d,e,f,h,i,j,k,m){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0.0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;W=l;l=l+304|0;c[b+188>>2]=-1;bj(12918);c[b+184>>2]=0;if((e|0)>0){m=0;do{c[(c[d+(m<<2)>>2]|0)+212>>2]=-1;m=m+1|0}while((m|0)!=(e|0))}m=c[b+12>>2]|0;if((m|0)>(e|0)){o=b+8|0;n=m}else{if((e+1|0)!=0?(c[6485]=(c[6485]|0)+1,n=ic(((e+1|0)*244|3)+16|0)|0,(n|0)!=0):0){c[(n+4+15&-16)+-4>>2]=n;o=n+4+15&-16}else o=0;m=c[b+8>>2]|0;if((m|0)>0){n=0;do{T=o+(n*244|0)|0;U=c[b+16>>2]|0;S=U+(n*244|0)|0;c[T>>2]=c[S>>2];c[T+4>>2]=c[S+4>>2];c[T+8>>2]=c[S+8>>2];c[T+12>>2]=c[S+12>>2];T=o+(n*244|0)+16|0;S=U+(n*244|0)+16|0;c[T>>2]=c[S>>2];c[T+4>>2]=c[S+4>>2];c[T+8>>2]=c[S+8>>2];c[T+12>>2]=c[S+12>>2];T=o+(n*244|0)+32|0;S=U+(n*244|0)+32|0;c[T>>2]=c[S>>2];c[T+4>>2]=c[S+4>>2];c[T+8>>2]=c[S+8>>2];c[T+12>>2]=c[S+12>>2];T=o+(n*244|0)+48|0;S=U+(n*244|0)+48|0;c[T>>2]=c[S>>2];c[T+4>>2]=c[S+4>>2];c[T+8>>2]=c[S+8>>2];c[T+12>>2]=c[S+12>>2];_h(o+(n*244|0)+64|0,U+(n*244|0)+64|0,180)|0;n=n+1|0}while((n|0)!=(m|0))}m=c[b+16>>2]|0;if(m|0){if(a[b+20>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[m+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=o;c[b+12>>2]=e+1;o=b+8|0;n=e+1|0}Lk(W|0,0,244)|0;m=c[o>>2]|0;if((m|0)<0){if((n|0)<0){n=c[b+16>>2]|0;if(n|0){if(a[b+20>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[n+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=0;c[b+12>>2]=0}do{U=c[b+16>>2]|0;T=U+(m*244|0)|0;c[T>>2]=c[W>>2];c[T+4>>2]=c[W+4>>2];c[T+8>>2]=c[W+8>>2];c[T+12>>2]=c[W+12>>2];T=U+(m*244|0)+16|0;c[T>>2]=c[W+16>>2];c[T+4>>2]=c[W+16+4>>2];c[T+8>>2]=c[W+16+8>>2];c[T+12>>2]=c[W+16+12>>2];T=U+(m*244|0)+32|0;c[T>>2]=c[W+32>>2];c[T+4>>2]=c[W+32+4>>2];c[T+8>>2]=c[W+32+8>>2];c[T+12>>2]=c[W+32+12>>2];T=U+(m*244|0)+48|0;c[T>>2]=c[W+48>>2];c[T+4>>2]=c[W+48+4>>2];c[T+8>>2]=c[W+48+8>>2];c[T+12>>2]=c[W+48+12>>2];_h(U+(m*244|0)+64|0,W+64|0,180)|0;m=m+1|0}while((m|0)!=0)}c[o>>2]=0;if((e|0)>0){o=0;do{n=d+(o<<2)|0;m=Bj(b,c[n>>2]|0,+g[k+12>>2])|0;n=c[n>>2]|0;if((!((n|0)==0?1:(c[n+236>>2]&2|0)==0)?+g[n+344>>2]!=0.0:0)?(p=c[b+16>>2]|0,c[n+504>>2]&2|0):0){s=+g[k+76>>2];L=1.0/+g[n+396>>2];N=1.0/+g[n+400>>2];q=1.0/+g[n+404>>2];D=+g[n+4>>2];E=+g[n+8>>2];H=+g[n+12>>2];I=+g[n+20>>2];J=+g[n+24>>2];K=+g[n+28>>2];M=+g[n+36>>2];O=+g[n+40>>2];v=+g[n+44>>2];w=+g[n+328>>2];x=+g[n+332>>2];u=+g[n+336>>2];y=(L*D*D+N*E*E+q*H*H)*w+(L*D*I+N*E*J+q*H*K)*x+(L*D*M+N*E*O+q*H*v)*u;z=(L*I*D+N*J*E+q*K*H)*w+(L*I*I+N*J*J+q*K*K)*x+(L*I*M+N*J*O+q*K*v)*u;v=(L*M*D+N*O*E+q*v*H)*w+(L*M*I+N*O*J+q*v*K)*x+(L*M*M+N*O*O+q*v*v)*u;q=(x*v-u*z)*(x*v-u*z)+(u*y-w*v)*(u*y-w*v)+(w*z-x*y)*(w*z-x*y);if(q>s*s){q=1.0/+G(+q)*s;t=(x*v-u*z)*q;s=q*(u*y-w*v);q=q*(w*z-x*y)}else{t=x*v-u*z;s=u*y-w*v;q=w*z-x*y}M=+g[k+12>>2];N=(t*+g[n+268>>2]+s*+g[n+284>>2]+q*+g[n+300>>2])*M;O=M*(t*+g[n+272>>2]+s*+g[n+288>>2]+q*+g[n+304>>2]);g[p+(m*244|0)+224>>2]=+g[p+(m*244|0)+224>>2]-(t*+g[n+264>>2]+s*+g[n+280>>2]+q*+g[n+296>>2])*M;g[p+(m*244|0)+228>>2]=+g[p+(m*244|0)+228>>2]-N;g[p+(m*244|0)+232>>2]=+g[p+(m*244|0)+232>>2]-O}o=o+1|0}while((o|0)!=(e|0))}if((j|0)>0){m=0;do{U=c[i+(m<<2)>>2]|0;lb[c[(c[U>>2]|0)+8>>2]&511](U);g[U+36>>2]=0.0;m=m+1|0}while((m|0)<(j|0))}n=c[b+168>>2]|0;if((n|0)<(j|0)?(c[b+172>>2]|0)<(j|0):0){if(!j)m=0;else{c[6485]=(c[6485]|0)+1;m=ic((j<<3|3)+16|0)|0;if(!m)m=0;else{c[(m+4+15&-16)+-4>>2]=m;m=m+4+15&-16}n=c[b+168>>2]|0}if((n|0)>0){o=0;do{S=(c[b+176>>2]|0)+(o<<3)|0;T=c[S+4>>2]|0;U=m+(o<<3)|0;c[U>>2]=c[S>>2];c[U+4>>2]=T;o=o+1|0}while((o|0)!=(n|0))}n=c[b+176>>2]|0;if(n|0){if(a[b+180>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[n+-4>>2]|0)}c[b+176>>2]=0}a[b+180>>0]=1;c[b+176>>2]=m;c[b+172>>2]=j}c[b+168>>2]=j;if((j|0)>0){r=0;m=0;do{d=c[b+176>>2]|0;e=d+(r<<3)|0;p=i+(r<<2)|0;n=c[p>>2]|0;o=c[n+44>>2]|0;if(o){n=o+64|0;do{c[o>>2]=0;o=o+4|0}while((o|0)<(n|0));n=c[p>>2]|0}if(!(a[n+20>>0]|0)){c[e>>2]=0;c[d+(r<<3)+4>>2]=0;n=0}else{nb[c[(c[n>>2]|0)+16>>2]&127](n,e);n=c[e>>2]|0}m=n+m|0;r=r+1|0}while((r|0)<(j|0))}else m=0;o=c[b+48>>2]|0;if((o|0)<(m|0)?(c[b+52>>2]|0)<(m|0):0){if(!m)n=0;else{c[6485]=(c[6485]|0)+1;n=ic((m*152|3)+16|0)|0;if(!n)n=0;else{c[(n+4+15&-16)+-4>>2]=n;n=n+4+15&-16}o=c[b+48>>2]|0}if((o|0)>0){p=0;do{_h(n+(p*152|0)|0,(c[b+56>>2]|0)+(p*152|0)|0,152)|0;p=p+1|0}while((p|0)!=(o|0))}o=c[b+56>>2]|0;if(o|0){if(a[b+60>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[o+-4>>2]|0)}c[b+56>>2]=0}a[b+60>>0]=1;c[b+56>>2]=n;c[b+52>>2]=m}c[b+48>>2]=m;if((j|0)>0){m=c[b+176>>2]|0;T=0;U=0;while(1){S=m+(U<<3)|0;if(!(c[S>>2]|0))n=0;else{o=c[b+56>>2]|0;p=i+(U<<2)|0;d=c[p>>2]|0;e=c[d+28>>2]|0;r=c[d+32>>2]|0;P=Bj(b,e,+g[k+12>>2])|0;Q=Bj(b,r,+g[k+12>>2])|0;R=c[b+16>>2]|0;m=c[d+24>>2]|0;m=(m|0)>0?m:c[k+20>>2]|0;if((m|0)>(c[b+184>>2]|0))c[b+184>>2]=m;if((c[S>>2]|0)>0){n=0;do{X=n+T|0;Lk(o+(X*152|0)|0,0,152)|0;g[o+(X*152|0)+120>>2]=-3402823466385288598117041.0e14;g[o+(X*152|0)+124>>2]=3402823466385288598117041.0e14;g[o+(X*152|0)+100>>2]=0.0;g[o+(X*152|0)+96>>2]=0.0;c[o+(X*152|0)+144>>2]=P;c[o+(X*152|0)+148>>2]=Q;c[o+(X*152|0)+136>>2]=m;n=n+1|0}while((n|0)<(c[S>>2]|0))}c[R+(P*244|0)+64>>2]=0;c[R+(P*244|0)+64+4>>2]=0;c[R+(P*244|0)+64+8>>2]=0;c[R+(P*244|0)+64+12>>2]=0;c[R+(P*244|0)+64+16>>2]=0;c[R+(P*244|0)+64+20>>2]=0;c[R+(P*244|0)+64+24>>2]=0;c[R+(P*244|0)+64+28>>2]=0;c[R+(P*244|0)+144>>2]=0;c[R+(P*244|0)+144+4>>2]=0;c[R+(P*244|0)+144+8>>2]=0;c[R+(P*244|0)+144+12>>2]=0;c[R+(P*244|0)+144+16>>2]=0;c[R+(P*244|0)+144+20>>2]=0;c[R+(P*244|0)+144+24>>2]=0;c[R+(P*244|0)+144+28>>2]=0;c[R+(Q*244|0)+64>>2]=0;c[R+(Q*244|0)+64+4>>2]=0;c[R+(Q*244|0)+64+8>>2]=0;c[R+(Q*244|0)+64+12>>2]=0;c[R+(Q*244|0)+64+16>>2]=0;c[R+(Q*244|0)+64+20>>2]=0;c[R+(Q*244|0)+64+24>>2]=0;c[R+(Q*244|0)+64+28>>2]=0;c[R+(Q*244|0)+144>>2]=0;c[R+(Q*244|0)+144+4>>2]=0;c[R+(Q*244|0)+144+8>>2]=0;c[R+(Q*244|0)+144+12>>2]=0;c[R+(Q*244|0)+144+16>>2]=0;c[R+(Q*244|0)+144+20>>2]=0;c[R+(Q*244|0)+144+24>>2]=0;c[R+(Q*244|0)+144+28>>2]=0;g[W+248>>2]=1.0/+g[k+12>>2];c[W+248+4>>2]=c[k+32>>2];c[W+248+8>>2]=o+(T*152|0)+16;c[W+248+12>>2]=o+(T*152|0);c[W+248+16>>2]=o+(T*152|0)+48;c[W+248+20>>2]=o+(T*152|0)+32;c[W+248+24>>2]=38;c[W+248+28>>2]=o+(T*152|0)+112;X=o+(T*152|0)+116|0;c[X>>2]=c[k+40>>2];c[W+248+52>>2]=c[k+4>>2];c[W+248+32>>2]=X;c[W+248+36>>2]=o+(T*152|0)+120;c[W+248+40>>2]=o+(T*152|0)+124;c[W+248+48>>2]=c[k+20>>2];X=c[p>>2]|0;nb[c[(c[X>>2]|0)+20>>2]&127](X,W+248|0);if((c[S>>2]|0)>0){n=0;do{m=n+T|0;q=+g[(c[p>>2]|0)+16>>2];if(+g[o+(m*152|0)+124>>2]>=q)g[o+(m*152|0)+124>>2]=q;if(+g[o+(m*152|0)+120>>2]<=-q)g[o+(m*152|0)+120>>2]=-q;c[o+(m*152|0)+132>>2]=d;X=c[d+28>>2]|0;M=+g[o+(m*152|0)>>2];L=+g[o+(m*152|0)+4>>2];A=+g[o+(m*152|0)+8>>2];O=(M*+g[X+280>>2]+L*+g[X+284>>2]+A*+g[X+288>>2])*+g[X+548>>2];q=(M*+g[X+296>>2]+L*+g[X+300>>2]+A*+g[X+304>>2])*+g[X+552>>2];g[o+(m*152|0)+64>>2]=(+g[X+264>>2]*M+ +g[X+268>>2]*L+ +g[X+272>>2]*A)*+g[X+544>>2];g[o+(m*152|0)+68>>2]=O;g[o+(m*152|0)+72>>2]=q;g[o+(m*152|0)+76>>2]=0.0;X=c[d+32>>2]|0;q=+g[o+(m*152|0)+32>>2];O=+g[o+(m*152|0)+36>>2];A=+g[o+(m*152|0)+40>>2];L=(q*+g[X+280>>2]+O*+g[X+284>>2]+A*+g[X+288>>2])*+g[X+548>>2];M=(q*+g[X+296>>2]+O*+g[X+300>>2]+A*+g[X+304>>2])*+g[X+552>>2];g[o+(m*152|0)+80>>2]=(+g[X+264>>2]*q+ +g[X+268>>2]*O+ +g[X+272>>2]*A)*+g[X+544>>2];g[o+(m*152|0)+84>>2]=L;g[o+(m*152|0)+88>>2]=M;g[o+(m*152|0)+92>>2]=0.0;M=+g[e+344>>2];L=+g[o+(m*152|0)+16>>2];q=+g[o+(m*152|0)+20>>2];s=+g[o+(m*152|0)+24>>2];t=+g[o+(m*152|0)>>2];u=+g[o+(m*152|0)+4>>2];v=+g[o+(m*152|0)+8>>2];N=+g[r+344>>2];w=+g[o+(m*152|0)+48>>2];x=+g[o+(m*152|0)+52>>2];y=+g[o+(m*152|0)+56>>2];z=+g[o+(m*152|0)+32>>2];A=L*M*L+q*M*q+s*M*s+(t*(+g[e+264>>2]*t+ +g[e+268>>2]*u+ +g[e+272>>2]*v)+u*(t*+g[e+280>>2]+u*+g[e+284>>2]+v*+g[e+288>>2])+v*(t*+g[e+296>>2]+u*+g[e+300>>2]+v*+g[e+304>>2]))+(w*N*w+x*N*x+y*N*y)+(z*(+g[r+264>>2]*z+ +g[r+268>>2]*O+ +g[r+272>>2]*A)+O*(z*+g[r+280>>2]+O*+g[r+284>>2]+A*+g[r+288>>2])+A*(z*+g[r+296>>2]+O*+g[r+300>>2]+A*+g[r+304>>2]));X=+F(+A)>1.1920928955078125e-07;A=X?1.0/A:0.0;g[o+(m*152|0)+108>>2]=A;if(!(c[R+(P*244|0)+240>>2]|0)){B=0.0;C=0.0;D=0.0;E=0.0;H=0.0;I=0.0}else{B=+g[R+(P*244|0)+208>>2];C=+g[R+(P*244|0)+212>>2];D=+g[R+(P*244|0)+216>>2];E=+g[R+(P*244|0)+224>>2];H=+g[R+(P*244|0)+228>>2];I=+g[R+(P*244|0)+232>>2]}if(!(c[R+(Q*244|0)+240>>2]|0)){J=0.0;K=0.0;L=0.0;M=0.0;N=0.0;O=0.0}else{J=+g[R+(Q*244|0)+208>>2];K=+g[R+(Q*244|0)+212>>2];L=+g[R+(Q*244|0)+216>>2];M=+g[R+(Q*244|0)+224>>2];N=+g[R+(Q*244|0)+228>>2];O=+g[R+(Q*244|0)+232>>2]}g[o+(m*152|0)+112>>2]=+g[o+(m*152|0)+112>>2]*A+A*(0.0-+g[W+248+52>>2]*((B+ +g[e+312>>2])*+g[o+(m*152|0)+16>>2]+(C+ +g[e+316>>2])*q+(D+ +g[e+320>>2])*s+((E+ +g[e+328>>2])*t+(H+ +g[e+332>>2])*u+(I+ +g[e+336>>2])*v)+((J+ +g[r+312>>2])*w+(K+ +g[r+316>>2])*x+(L+ +g[r+320>>2])*y+((M+ +g[r+328>>2])*z+(N+ +g[r+332>>2])*+g[o+(m*152|0)+36>>2]+(O+ +g[r+336>>2])*+g[o+(m*152|0)+40>>2]))));g[o+(m*152|0)+100>>2]=0.0;n=n+1|0}while((n|0)<(c[S>>2]|0))}n=c[b+176>>2]|0;m=n;n=c[n+(U<<3)>>2]|0}U=U+1|0;if((U|0)>=(j|0))break;else T=n+T|0}}Zb[c[(c[b>>2]|0)+28>>2]&127](b,f,h,k);d=c[b+48>>2]|0;e=c[b+28>>2]|0;r=c[b+68>>2]|0;n=c[b+128>>2]|0;if((n|0)<(d|0)?(c[b+132>>2]|0)<(d|0):0){if(!d)m=0;else{c[6485]=(c[6485]|0)+1;m=ic((d<<2|3)+16|0)|0;if(!m)m=0;else{c[(m+4+15&-16)+-4>>2]=m;m=m+4+15&-16}n=c[b+128>>2]|0}p=c[b+136>>2]|0;if((n|0)<=0)if(!p)n=b+140|0;else V=99;else{o=0;do{c[m+(o<<2)>>2]=c[p+(o<<2)>>2];o=o+1|0}while((o|0)!=(n|0));V=99}if((V|0)==99){if(a[b+140>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[p+-4>>2]|0)}c[b+136>>2]=0;n=b+140|0}a[n>>0]=1;c[b+136>>2]=m;c[b+132>>2]=d}c[b+128>>2]=d;if(!(c[k+64>>2]&16)){n=c[b+108>>2]|0;if((n|0)<(e|0)?(c[b+112>>2]|0)<(e|0):0){if(!e)m=0;else{c[6485]=(c[6485]|0)+1;m=ic((e<<2|3)+16|0)|0;if(!m)m=0;else{c[(m+4+15&-16)+-4>>2]=m;m=m+4+15&-16}n=c[b+108>>2]|0}p=c[b+116>>2]|0;if((n|0)<=0)if(!p)n=b+120|0;else V=129;else{o=0;do{c[m+(o<<2)>>2]=c[p+(o<<2)>>2];o=o+1|0}while((o|0)!=(n|0));V=129}if((V|0)==129){if(a[b+120>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[p+-4>>2]|0)}c[b+116>>2]=0;n=b+120|0}a[n>>0]=1;c[b+116>>2]=m;c[b+112>>2]=e}c[b+108>>2]=e}else{n=c[b+108>>2]|0;if((n|0)<(e<<1|0)?(c[b+112>>2]|0)<(e<<1|0):0){if(!e)m=0;else{c[6485]=(c[6485]|0)+1;m=ic((e<<3|3)+16|0)|0;if(!m)m=0;else{c[(m+4+15&-16)+-4>>2]=m;m=m+4+15&-16}n=c[b+108>>2]|0}p=c[b+116>>2]|0;if((n|0)<=0)if(!p)n=b+120|0;else V=114;else{o=0;do{c[m+(o<<2)>>2]=c[p+(o<<2)>>2];o=o+1|0}while((o|0)!=(n|0));V=114}if((V|0)==114){if(a[b+120>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[p+-4>>2]|0)}c[b+116>>2]=0;n=b+120|0}a[n>>0]=1;c[b+116>>2]=m;c[b+112>>2]=e<<1}c[b+108>>2]=e<<1}n=c[b+148>>2]|0;if((n|0)<(r|0)?(c[b+152>>2]|0)<(r|0):0){if(!r)m=0;else{c[6485]=(c[6485]|0)+1;m=ic((r<<2|3)+16|0)|0;if(!m)m=0;else{c[(m+4+15&-16)+-4>>2]=m;m=m+4+15&-16}n=c[b+148>>2]|0}p=c[b+156>>2]|0;if((n|0)<=0)if(!p)n=b+160|0;else V=144;else{o=0;do{c[m+(o<<2)>>2]=c[p+(o<<2)>>2];o=o+1|0}while((o|0)!=(n|0));V=144}if((V|0)==144){if(a[b+160>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[p+-4>>2]|0)}c[b+156>>2]=0;n=b+160|0}a[n>>0]=1;c[b+156>>2]=m;c[b+152>>2]=r}c[b+148>>2]=r;if((d|0)>0){m=c[b+136>>2]|0;n=0;do{c[m+(n<<2)>>2]=n;n=n+1|0}while((n|0)!=(d|0))}if((e|0)>0){m=c[b+116>>2]|0;n=0;do{c[m+(n<<2)>>2]=n;n=n+1|0}while((n|0)!=(e|0))}if((r|0)>0){m=c[b+156>>2]|0;n=0;do{c[m+(n<<2)>>2]=n;n=n+1|0}while((n|0)!=(r|0))}m=c[2380]|0;X=(c[m+16>>2]|0)+-1|0;c[m+16>>2]=X;if(X|0){l=W;return 0.0}do if(c[m+4>>2]|0){Za(W+248|0,0)|0;X=c[6484]|0;g[m+8>>2]=+(((c[W+248+4>>2]|0)-(c[X+4>>2]|0)+(((c[W+248>>2]|0)-(c[X>>2]|0)|0)*1e6|0)-(c[m+12>>2]|0)|0)>>>0)/1.0e3+ +g[m+8>>2];if(!(c[m+16>>2]|0)){m=c[2380]|0;break}else{l=W;return 0.0}}while(0);c[2380]=c[m+20>>2];l=W;return 0.0}function oc(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,H=0.0,K=0.0,M=0.0,N=0.0,P=0.0,Q=0.0,R=0.0,S=0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0,ma=0.0,na=0.0,oa=0.0,pa=0.0,qa=0.0,ra=0.0,sa=0.0;la=l;l=l+144|0;g[b+504>>2]=0.0;g[b+500>>2]=0.0;a[b+525>>0]=0;a[b+526>>0]=0;if(a[b+552>>0]|0?(a[b+527>>0]|0)==0:0){sa=+g[b+556>>2];qa=+g[b+560>>2];ka=+g[b+564>>2];pa=+g[b+568>>2];$=sa*(2.0/(sa*sa+qa*qa+ka*ka+pa*pa));ra=qa*(2.0/(sa*sa+qa*qa+ka*ka+pa*pa));oa=ka*(2.0/(sa*sa+qa*qa+ka*ka+pa*pa));aa=+g[b+300>>2];R=+g[d>>2];ba=+g[b+316>>2];T=+g[d+4>>2];ca=+g[b+332>>2];U=+g[d+8>>2];ea=+g[b+304>>2];ga=+g[b+320>>2];ia=+g[b+336>>2];Y=+g[b+308>>2];Z=+g[b+324>>2];_=+g[b+340>>2];V=+g[d+16>>2];W=+g[d+20>>2];X=+g[d+24>>2];fa=+g[d+32>>2];ha=+g[d+36>>2];ja=+g[d+40>>2];q=+g[b+348>>2];p=+g[b+352>>2];o=+g[b+356>>2];u=+g[b+364>>2];na=+g[e>>2];v=+g[b+380>>2];ma=+g[e+4>>2];w=+g[b+396>>2];k=+g[e+8>>2];x=+g[b+368>>2];y=+g[b+384>>2];z=+g[b+400>>2];r=+g[b+372>>2];s=+g[b+388>>2];t=+g[b+404>>2];m=+g[e+16>>2];n=+g[e+20>>2];j=+g[e+24>>2];A=+g[e+32>>2];C=+g[e+36>>2];E=+g[e+40>>2];B=+g[b+412>>2];D=+g[b+416>>2];i=+g[b+420>>2];K=(1.0-(qa*ra+ka*oa))*(u*na+v*ma+w*k)+(sa*ra+pa*oa)*(na*x+ma*y+k*z)+(sa*oa-pa*ra)*(na*r+ma*s+k*t);M=(sa*ra-pa*oa)*(u*na+v*ma+w*k)+(1.0-(sa*$+ka*oa))*(na*x+ma*y+k*z)+(qa*oa+pa*$)*(na*r+ma*s+k*t);H=(sa*oa+pa*ra)*(u*na+v*ma+w*k)+(qa*oa-pa*$)*(na*x+ma*y+k*z)+(1.0-(sa*$+qa*ra))*(na*r+ma*s+k*t);P=(sa*oa-pa*ra)*(r*m+s*n+t*j)+((1.0-(qa*ra+ka*oa))*(u*m+v*n+w*j)+(sa*ra+pa*oa)*(x*m+y*n+z*j));Q=(qa*oa+pa*$)*(r*m+s*n+t*j)+((sa*ra-pa*oa)*(u*m+v*n+w*j)+(1.0-(sa*$+ka*oa))*(x*m+y*n+z*j));N=(1.0-(sa*$+qa*ra))*(r*m+s*n+t*j)+((sa*oa+pa*ra)*(u*m+v*n+w*j)+(qa*oa-pa*$)*(x*m+y*n+z*j));da=(sa*oa-pa*ra)*(r*A+s*C+t*E)+((1.0-(qa*ra+ka*oa))*(u*A+v*C+w*E)+(sa*ra+pa*oa)*(x*A+y*C+z*E));ka=(qa*oa+pa*$)*(r*A+s*C+t*E)+((sa*ra-pa*oa)*(u*A+v*C+w*E)+(1.0-(sa*$+ka*oa))*(x*A+y*C+z*E));$=(1.0-(sa*$+qa*ra))*(r*A+s*C+t*E)+((sa*oa+pa*ra)*(u*A+v*C+w*E)+(qa*oa-pa*$)*(x*A+y*C+z*E));pa=-(+g[d+48>>2]+(R*q+T*p+U*o));oa=-(V*q+W*p+X*o+ +g[d+52>>2]);o=-(fa*q+ha*p+ja*o+ +g[d+56>>2]);p=(aa*R+ba*T+ca*U)*pa+(aa*V+ba*W+ca*X)*oa+(aa*fa+ba*ha+ca*ja)*o;q=(R*ea+T*ga+U*ia)*pa+(ea*V+ga*W+ia*X)*oa+(ea*fa+ga*ha+ia*ja)*o;o=(R*Y+T*Z+U*_)*pa+(Y*V+Z*W+_*X)*oa+(Y*fa+Z*ha+_*ja)*o;k=o*H+(p*K+q*M)+((u*na+v*ma+w*k)*0.0+(na*x+ma*y+k*z)*0.0+(na*r+ma*s+k*t)*0.0+(+g[e+48>>2]+(na*B+ma*D+k*i)));j=o*N+(p*P+q*Q)+((r*m+s*n+t*j)*0.0+((u*m+v*n+w*j)*0.0+(x*m+y*n+z*j)*0.0)+(m*B+n*D+j*i+ +g[e+52>>2]));i=o*$+(p*da+q*ka)+((r*A+s*C+t*E)*0.0+((u*A+v*C+w*E)*0.0+(x*A+y*C+z*E)*0.0)+(A*B+C*D+E*i+ +g[e+56>>2]));g[la+80>>2]=(R*Y+T*Z+U*_)*H+((aa*R+ba*T+ca*U)*K+(R*ea+T*ga+U*ia)*M);g[la+80+4>>2]=(Y*V+Z*W+_*X)*H+((aa*V+ba*W+ca*X)*K+(ea*V+ga*W+ia*X)*M);g[la+80+8>>2]=(Y*fa+Z*ha+_*ja)*H+((aa*fa+ba*ha+ca*ja)*K+(ea*fa+ga*ha+ia*ja)*M);g[la+80+12>>2]=0.0;g[la+80+16>>2]=(R*Y+T*Z+U*_)*N+((aa*R+ba*T+ca*U)*P+(R*ea+T*ga+U*ia)*Q);g[la+80+20>>2]=(Y*V+Z*W+_*X)*N+((aa*V+ba*W+ca*X)*P+(ea*V+ga*W+ia*X)*Q);g[la+80+24>>2]=(Y*fa+Z*ha+_*ja)*N+((aa*fa+ba*ha+ca*ja)*P+(ea*fa+ga*ha+ia*ja)*Q);g[la+80+28>>2]=0.0;g[la+80+32>>2]=(R*Y+T*Z+U*_)*$+((aa*R+ba*T+ca*U)*da+(R*ea+T*ga+U*ia)*ka);g[la+80+36>>2]=(Y*V+Z*W+_*X)*$+((aa*V+ba*W+ca*X)*da+(ea*V+ga*W+ia*X)*ka);g[la+80+40>>2]=(Y*fa+Z*ha+_*ja)*$+((aa*fa+ba*ha+ca*ja)*da+(ea*fa+ga*ha+ia*ja)*ka);g[la+80+44>>2]=0.0;g[la+80+48>>2]=k;g[la+80+52>>2]=j;g[la+80+56>>2]=i;g[la+80+60>>2]=0.0;ph(la+80|0,la+64|0);i=+g[la+64>>2];j=+g[la+64+4>>2];k=+g[la+64+8>>2];if(!(+F(+(i*i+j*j+k*k))<1.1920928955078125e-07)?(g[b+472>>2]=0.0,sa=1.0/+G(+(i*i+j*j+k*k)),g[b+460>>2]=i*sa,g[b+464>>2]=j*sa,g[b+468>>2]=k*sa,sa=+g[la+64+12>>2],sa=sa<-1.0?-1.0:sa,sa=+L(+(sa>1.0?1.0:sa))*2.0,g[b+504>>2]=sa,!(+F(+sa)<1.1920928955078125e-07)):0)a[b+526>>0]=1;l=la;return}ph(d,la+48|0);ph(b+300|0,la+32|0);U=+g[la+48+12>>2];V=+g[la+32>>2];W=+g[la+48>>2];X=+g[la+32+12>>2];Y=+g[la+48+4>>2];Z=+g[la+32+8>>2];_=+g[la+48+8>>2];$=+g[la+32+4>>2];ph(e,la+16|0);ph(b+364|0,la);aa=+g[la+16+12>>2];ba=+g[la>>2];ca=+g[la+16>>2];da=+g[la+12>>2];ea=+g[la+16+4>>2];fa=+g[la+8>>2];ga=+g[la+16+8>>2];ha=+g[la+4>>2];ia=-(aa*ba+ca*da+ea*fa-ga*ha);ja=-(ba*ga+(da*ea+aa*ha)-ca*fa);ka=-(aa*fa+da*ga+ca*ha-ba*ea);p=(U*X-V*W-Y*$-Z*_)*ia+(U*V+W*X+Y*Z-_*$)*(aa*da-ba*ca-ea*ha-fa*ga)+(U*Z+X*_+W*$-V*Y)*ja-(V*_+(X*Y+U*$)-W*Z)*ka;q=(U*V+W*X+Y*Z-_*$)*ka+((V*_+(X*Y+U*$)-W*Z)*(aa*da-ba*ca-ea*ha-fa*ga)+(U*X-V*W-Y*$-Z*_)*ja)-(U*Z+X*_+W*$-V*Y)*ia;r=(V*_+(X*Y+U*$)-W*Z)*ia+((U*Z+X*_+W*$-V*Y)*(aa*da-ba*ca-ea*ha-fa*ga)+(U*X-V*W-Y*$-Z*_)*ka)-(U*V+W*X+Y*Z-_*$)*ja;s=(U*X-V*W-Y*$-Z*_)*(aa*da-ba*ca-ea*ha-fa*ga)-(U*V+W*X+Y*Z-_*$)*ia-(V*_+(X*Y+U*$)-W*Z)*ja-(U*Z+X*_+W*$-V*Y)*ka;i=-p-q*0.0-r*0.0;j=(r+s*0.0-p*0.0)*-r+(s*(s+q*0.0-r*0.0)+i*-p)-(s*0.0+p*0.0-q)*-q;k=(s*0.0+p*0.0-q)*-p+(s*(r+s*0.0-p*0.0)+i*-q)-(s+q*0.0-r*0.0)*-r;i=(s+q*0.0-r*0.0)*-q+(s*(s*0.0+p*0.0-q)+i*-r)-(r+s*0.0-p*0.0)*-p;m=1.0/+G(+(i*i+(j*j+k*k)));if(m*i*0.0+(m*k*0.0+m*j)<-.9999998807907104){n=-0.0;o=1.0;i=0.0;j=0.0}else{sa=+G(+((m*i*0.0+(m*k*0.0+m*j)+1.0)*2.0));n=(m*i*0.0-m*k*0.0)*(1.0/sa);o=(m*j*0.0-m*i)*(1.0/sa);i=(m*k-m*j*0.0)*(1.0/sa);j=sa*.5}T=1.0/+G(+(j*j+(i*i+(o*o+n*n))));w=n*T;t=o*T;u=i*T;n=j*T;T=1.0/+G(+((s*n-p*-w-q*-t-r*-u)*(s*n-p*-w-q*-t-r*-u)+((q*-w+(r*n+s*-u)-p*-t)*(q*-w+(r*n+s*-u)-p*-t)+((r*-t+(p*n+s*-w)-q*-u)*(r*-t+(p*n+s*-w)-q*-u)+(p*-u+(s*-t+q*n)-r*-w)*(p*-u+(s*-t+q*n)-r*-w)))));k=T*(r*-t+(p*n+s*-w)-q*-u);j=T*(p*-u+(s*-t+q*n)-r*-w);i=T*(q*-w+(r*n+s*-u)-p*-t);T=T*(s*n-p*-w-q*-t-r*-u);v=+g[b+444>>2];m=+g[b+456>>2];if(v>=m?(x=+g[b+448>>2],x>=m):0){s=n<-1.0?-1.0:n;s=+L(+(s>1.0?1.0:s))*2.0;if(s>1.1920928955078125e-07){o=1.0/+G(+(u*u+(w*w+t*t)));if(+F(+(t*o))>1.1920928955078125e-07){r=+G(+((u*o*u*o/(t*o*t*o)+1.0)/(1.0/(x*x)+u*o*u*o/(t*o*t*o)/(v*v))));n=t*o;m=u*o;o=w*o}else{r=v;n=t*o;m=u*o;o=w*o}}else{r=0.0;n=0.0;m=0.0;o=0.0}p=+g[b+428>>2];q=r*p;if(s>q){a[b+526>>0]=1;if(s<r&p<.9999998807907104)p=(s-q)/(r-q);else p=1.0;g[b+528>>2]=p;g[b+504>>2]=s-q;if(+F(+n)>1.1920928955078125e-07){sa=+F(+(n*-m/n*(x/v)));sa=m<-0.0?sa:-sa;m=1.0/+G(+(n*n+o*o+sa*sa));o=o*m;n=n*m;m=-(sa*m)}ra=-o;qa=-n;pa=-m;na=(ba*ga+(da*ea+aa*ha)-ca*fa)*pa+(aa*da-ba*ca-ea*ha-fa*ga)*ra-(aa*fa+da*ga+ca*ha-ba*ea)*qa;sa=(aa*da-ba*ca-ea*ha-fa*ga)*qa+(aa*fa+da*ga+ca*ha-ba*ea)*ra-(aa*ba+ca*da+ea*fa-ga*ha)*pa;oa=(aa*da-ba*ca-ea*ha-fa*ga)*pa+(aa*ba+ca*da+ea*fa-ga*ha)*qa-(ba*ga+(da*ea+aa*ha)-ca*fa)*ra;pa=-((aa*ba+ca*da+ea*fa-ga*ha)*ra)-(ba*ga+(da*ea+aa*ha)-ca*fa)*qa-(aa*fa+da*ga+ca*ha-ba*ea)*pa;qa=sa*ka+((aa*da-ba*ca-ea*ha-fa*ga)*na+pa*ia)-oa*ja;ra=oa*ia+((aa*da-ba*ca-ea*ha-fa*ga)*sa+pa*ja)-na*ka;sa=na*ja+((aa*da-ba*ca-ea*ha-fa*ga)*oa+pa*ka)-sa*ia;g[b+460>>2]=qa;g[b+464>>2]=ra;g[b+468>>2]=sa;g[b+472>>2]=0.0;c[b+536>>2]=0;c[b+536+4>>2]=0;c[b+536+8>>2]=0;c[b+536+12>>2]=0;g[b+492>>2]=1.0/(qa*(+g[f>>2]*qa+ +g[f+16>>2]*ra+ +g[f+32>>2]*sa)+ra*(qa*+g[f+4>>2]+ra*+g[f+20>>2]+sa*+g[f+36>>2])+sa*(qa*+g[f+8>>2]+ra*+g[f+24>>2]+sa*+g[f+40>>2])+(qa*(qa*+g[h>>2]+ra*+g[h+16>>2]+sa*+g[h+32>>2])+ra*(qa*+g[h+4>>2]+ra*+g[h+20>>2]+sa*+g[h+36>>2])+sa*(qa*+g[h+8>>2]+ra*+g[h+24>>2]+sa*+g[h+40>>2])))}}else S=20;a:do if((S|0)==20){B=+g[b+300>>2];C=+g[b+316>>2];D=+g[b+332>>2];E=+g[d>>2];H=+g[d+4>>2];K=+g[d+8>>2];M=+g[d+16>>2];N=+g[d+20>>2];P=+g[d+24>>2];Q=+g[d+32>>2];R=+g[d+36>>2];t=+g[d+40>>2];u=+g[b+304>>2];v=+g[b+320>>2];w=+g[b+336>>2];x=+g[b+308>>2];y=+g[b+324>>2];z=+g[b+340>>2];n=+g[b+364>>2];q=+g[b+380>>2];r=+g[b+396>>2];A=n*+g[e>>2]+q*+g[e+4>>2]+r*+g[e+8>>2];s=n*+g[e+16>>2]+q*+g[e+20>>2]+r*+g[e+24>>2];r=n*+g[e+32>>2]+q*+g[e+36>>2]+r*+g[e+40>>2];q=(B*E+C*H+D*K)*A+(B*M+C*N+D*P)*s+(B*Q+C*R+D*t)*r;n=(E*u+H*v+K*w)*A+(M*u+N*v+P*w)*s+(Q*u+R*v+t*w)*r;m=(E*x+H*y+K*z)*A+(M*x+N*y+P*z)*s+(Q*x+R*y+t*z)*r;p=+g[b+444>>2];o=+g[b+456>>2];do if(p<o){p=+g[b+448>>2];if(p<o){if(+F(+n)<1.1920928955078125e-07?+F(+m)<1.1920928955078125e-07:0)break a;a[b+526>>0]=1;g[b+460>>2]=-((B*Q+C*R+D*t)*s-(B*M+C*N+D*P)*r);g[b+464>>2]=-((B*E+C*H+D*K)*r-(B*Q+C*R+D*t)*A);g[b+468>>2]=-((B*M+C*N+D*P)*A-(B*E+C*H+D*K)*s);g[b+472>>2]=0.0;break a}if(+F(+q)<1.1920928955078125e-07?+F(+m)<1.1920928955078125e-07:0){o=q;break}a[b+526>>0]=1;if(p>=o){n=+O(+m,+q);if(n>p){o=+I(+p);n=0.0;m=+J(+p);break}if(n<-p){o=+I(+p);n=0.0;m=-+J(+p)}else{o=q;n=0.0}}else o=q}else{if(+F(+q)<1.1920928955078125e-07?+F(+n)<1.1920928955078125e-07:0){o=q;break}a[b+526>>0]=1;if(p>=o){m=+O(+n,+q);if(m>p){o=+I(+p);n=+J(+p);m=0.0;break}if(m<-p){o=+I(+p);n=-+J(+p);m=0.0}else{o=q;m=0.0}}else o=q}while(0);ra=(E*x+H*y+K*z)*m+((E*u+H*v+K*w)*n+(B*E+C*H+D*K)*o);pa=(M*x+N*y+P*z)*m+((M*u+N*v+P*w)*n+(B*M+C*N+D*P)*o);oa=(Q*x+R*y+t*z)*m+((Q*u+R*v+t*w)*n+(B*Q+C*R+D*t)*o);qa=1.0/+G(+(oa*oa+(ra*ra+pa*pa)));g[b+472>>2]=0.0;sa=+G(+((s*qa*oa-r*qa*pa)*(s*qa*oa-r*qa*pa)+(r*qa*ra-A*qa*oa)*(r*qa*ra-A*qa*oa)+(A*qa*pa-s*qa*ra)*(A*qa*pa-s*qa*ra)));g[b+504>>2]=sa;g[b+460>>2]=-((s*qa*oa-r*qa*pa)*(1.0/sa));g[b+464>>2]=-((r*qa*ra-A*qa*oa)*(1.0/sa));g[b+468>>2]=-((A*qa*pa-s*qa*ra)*(1.0/sa))}while(0);p=+g[b+452>>2];if(!(p>=0.0)){g[b+512>>2]=0.0;l=la;return}m=T<-1.0?-1.0:T;m=+L(+(m>1.0?1.0:m))*2.0;if(m>3.1415927410125732){o=T>1.0?-1.0:-T;i=-i;j=-j;k=-k;o=+L(+(o>1.0?1.0:o))*2.0}else o=m;g[b+512>>2]=o;if(o>1.1920928955078125e-07){sa=1.0/+G(+(i*i+(j*j+k*k)));n=i*sa;j=j*sa;k=k*sa}else n=i;i=+g[b+428>>2];if(o>p*i){a[b+525>>0]=1;m=o-p*i;if(o<p&i<.9999998807907104)i=m/(p-p*i);else i=1.0;g[b+532>>2]=i;g[b+508>>2]=m;ra=-k;qa=-j;pa=-n;na=(ba*ga+(da*ea+aa*ha)-ca*fa)*pa+(aa*da-ba*ca-ea*ha-fa*ga)*ra-(aa*fa+da*ga+ca*ha-ba*ea)*qa;sa=(aa*da-ba*ca-ea*ha-fa*ga)*qa+(aa*fa+da*ga+ca*ha-ba*ea)*ra-(aa*ba+ca*da+ea*fa-ga*ha)*pa;oa=(aa*da-ba*ca-ea*ha-fa*ga)*pa+(aa*ba+ca*da+ea*fa-ga*ha)*qa-(ba*ga+(da*ea+aa*ha)-ca*fa)*ra;pa=-((aa*ba+ca*da+ea*fa-ga*ha)*ra)-(ba*ga+(da*ea+aa*ha)-ca*fa)*qa-(aa*fa+da*ga+ca*ha-ba*ea)*pa;qa=sa*ka+((aa*da-ba*ca-ea*ha-fa*ga)*na+pa*ia)-oa*ja;ra=oa*ia+((aa*da-ba*ca-ea*ha-fa*ga)*sa+pa*ja)-na*ka;sa=na*ja+((aa*da-ba*ca-ea*ha-fa*ga)*oa+pa*ka)-sa*ia;g[b+476>>2]=qa;g[b+480>>2]=ra;g[b+484>>2]=sa;g[b+488>>2]=0.0;g[b+496>>2]=1.0/(qa*(+g[f>>2]*qa+ +g[f+16>>2]*ra+ +g[f+32>>2]*sa)+ra*(qa*+g[f+4>>2]+ra*+g[f+20>>2]+sa*+g[f+36>>2])+sa*(qa*+g[f+8>>2]+ra*+g[f+24>>2]+sa*+g[f+40>>2])+(qa*(qa*+g[h>>2]+ra*+g[h+16>>2]+sa*+g[h+32>>2])+ra*(qa*+g[h+4>>2]+ra*+g[h+20>>2]+sa*+g[h+36>>2])+sa*(qa*+g[h+8>>2]+ra*+g[h+24>>2]+sa*+g[h+40>>2])))}if(!(a[b+526>>0]|0)){l=la;return}na=-k;sa=-j;pa=-n;ma=(V*_+(X*Y+U*$)-W*Z)*pa+(U*X-V*W-Y*$-Z*_)*na-(U*Z+X*_+W*$-V*Y)*sa;ra=(U*X-V*W-Y*$-Z*_)*sa+(U*Z+X*_+W*$-V*Y)*na-(U*V+W*X+Y*Z-_*$)*pa;oa=(U*X-V*W-Y*$-Z*_)*pa+(U*V+W*X+Y*Z-_*$)*sa-(V*_+(X*Y+U*$)-W*Z)*na;pa=-((U*V+W*X+Y*Z-_*$)*na)-(V*_+(X*Y+U*$)-W*Z)*sa-(U*Z+X*_+W*$-V*Y)*pa;sa=-(U*V+W*X+Y*Z-_*$);na=-(V*_+(X*Y+U*$)-W*Z);qa=-(U*Z+X*_+W*$-V*Y);g[b+536>>2]=ra*qa+((U*X-V*W-Y*$-Z*_)*ma+pa*sa)-oa*na;g[b+540>>2]=oa*sa+((U*X-V*W-Y*$-Z*_)*ra+pa*na)-ma*qa;g[b+544>>2]=ma*na+((U*X-V*W-Y*$-Z*_)*oa+pa*qa)-ra*sa;g[b+548>>2]=0.0;l=la;return}function pc(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,h=0,i=0,j=0.0,k=0.0,l=0.0,m=0,n=0.0,o=0,p=0,q=0.0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0,S=0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0.0,pa=0.0,qa=0,ra=0;qa=c[b+28>>2]|0;ra=c[b+32>>2]|0;p=c[d+24>>2]|0;if(!(a[b+739>>0]|0)){y=+g[b+552>>2];T=+g[qa+4>>2];z=+g[b+568>>2];U=+g[qa+8>>2];A=+g[b+584>>2];V=+g[qa+12>>2];B=+g[b+556>>2];C=+g[b+572>>2];D=+g[b+588>>2];W=+g[b+560>>2];X=+g[b+576>>2];Y=+g[b+592>>2];Z=+g[qa+20>>2];_=+g[qa+24>>2];$=+g[qa+28>>2];aa=+g[qa+36>>2];ba=+g[qa+40>>2];ca=+g[qa+44>>2];k=+g[b+600>>2];l=+g[b+604>>2];n=+g[b+608>>2];q=+g[qa+52>>2];t=+g[qa+56>>2];u=+g[qa+60>>2];E=+g[ra+4>>2];F=+g[ra+8>>2];H=+g[ra+12>>2];I=+g[b+624>>2];J=+g[b+640>>2];K=+g[b+656>>2];L=+g[ra+20>>2];M=+g[ra+24>>2];N=+g[ra+28>>2];O=+g[ra+36>>2];P=+g[ra+40>>2];Q=+g[ra+44>>2];oa=+g[b+664>>2];pa=+g[b+668>>2];x=+g[b+672>>2];v=+g[ra+52>>2]+(E*oa+F*pa+H*x);w=L*oa+M*pa+N*x+ +g[ra+56>>2];x=O*oa+P*pa+Q*x+ +g[ra+60>>2];o=(a[b+736>>0]|0)==0;if(o){h=c[d+8>>2]|0;g[h>>2]=1.0;g[h+(p+1<<2)>>2]=1.0;g[h+((p<<1)+2<<2)>>2]=1.0;h=c[d+16>>2]|0;g[h>>2]=-1.0;g[h+(p+1<<2)>>2]=-1.0;g[h+((p<<1)+2<<2)>>2]=-1.0;h=p<<1;i=p+1|0;m=(p<<1)+2|0;e=+g[qa+52>>2];f=+g[qa+56>>2];j=+g[qa+60>>2]}else{h=p<<1;i=p+1|0;m=(p<<1)+2|0;e=q;f=t;j=u}e=q+(T*k+U*l+V*n)-e;pa=Z*k+_*l+$*n+t-f;oa=aa*k+ba*l+ca*n+u-j;s=c[d+12>>2]|0;c[s>>2]=0;g[s+4>>2]=oa;g[s+8>>2]=-pa;g[s+12>>2]=0.0;g[s+(p<<2)>>2]=-oa;c[s+(i<<2)>>2]=0;g[s+(p+2<<2)>>2]=e;g[s+(p+3<<2)>>2]=0.0;g[s+(h<<2)>>2]=pa;r=h|1;g[s+(r<<2)>>2]=-e;c[s+(m<<2)>>2]=0;S=h+3|0;g[s+(S<<2)>>2]=0.0;e=v-+g[ra+52>>2];pa=w-+g[ra+56>>2];oa=x-+g[ra+60>>2];R=c[d+20>>2]|0;c[R>>2]=0;g[R+4>>2]=-oa;g[R+8>>2]=pa;g[R+12>>2]=0.0;g[R+(p<<2)>>2]=oa;c[R+(i<<2)>>2]=0;g[R+(p+2<<2)>>2]=-e;g[R+(p+3<<2)>>2]=0.0;g[R+(h<<2)>>2]=-pa;g[R+(r<<2)>>2]=e;c[R+(m<<2)>>2]=0;g[R+(S<<2)>>2]=0.0;e=+g[d>>2]*+g[d+4>>2];h=c[d+28>>2]|0;if(o){g[h>>2]=e*(v-(q+(T*k+U*l+V*n)));g[h+(p<<2)>>2]=e*(w-(Z*k+_*l+$*n+t));g[h+(p<<1<<2)>>2]=e*(x-(aa*k+ba*l+ca*n+u))}S=c[d+24>>2]|0;g[s+(S*3<<2)>>2]=y*T+z*U+A*V;g[s+((S*3|0)+1<<2)>>2]=y*Z+z*_+A*$;g[s+((S*3|0)+2<<2)>>2]=y*aa+z*ba+A*ca;g[s+(S<<2<<2)>>2]=T*B+U*C+V*D;g[s+((S<<2|1)<<2)>>2]=B*Z+C*_+D*$;g[s+((S<<2|2)<<2)>>2]=B*aa+C*ba+D*ca;g[R+(S*3<<2)>>2]=-(y*T+z*U+A*V);g[R+((S*3|0)+1<<2)>>2]=-(y*Z+z*_+A*$);g[R+((S*3|0)+2<<2)>>2]=-(y*aa+z*ba+A*ca);g[R+(S<<2<<2)>>2]=-(T*B+U*C+V*D);g[R+((S<<2|1)<<2)>>2]=-(B*Z+C*_+D*$);g[R+((S<<2|2)<<2)>>2]=-(B*aa+C*ba+D*ca);oa=(W*Z+X*_+Y*$)*(I*O+J*P+K*Q)-(W*aa+X*ba+Y*ca)*(I*L+J*M+K*N);pa=(W*aa+X*ba+Y*ca)*(E*I+F*J+H*K)-(T*W+U*X+V*Y)*(I*O+J*P+K*Q);na=(T*W+U*X+V*Y)*(I*L+J*M+K*N)-(W*Z+X*_+Y*$)*(E*I+F*J+H*K);g[h+(S*3<<2)>>2]=((y*aa+z*ba+A*ca)*na+((y*T+z*U+A*V)*oa+(y*Z+z*_+A*$)*pa))*e;g[h+(S<<2<<2)>>2]=((B*aa+C*ba+D*ca)*na+((T*B+U*C+V*D)*oa+(B*Z+C*_+D*$)*pa))*e;if(!(a[b+716>>0]|0)){r=0;q=0.0}else{q=+g[b+708>>2]*+g[b+732>>2];r=q>0.0?1:2}m=a[b+737>>0]|0;p=(r|0)!=0;if(!(m&255|r))return;g[s+(S*5<<2)>>2]=T*W+U*X+V*Y;g[s+((S*5|0)+1<<2)>>2]=W*Z+X*_+Y*$;g[s+((S*5|0)+2<<2)>>2]=W*aa+X*ba+Y*ca;g[R+(S*5<<2)>>2]=-(T*W+U*X+V*Y);g[R+((S*5|0)+1<<2)>>2]=-(W*Z+X*_+Y*$);g[R+((S*5|0)+2<<2)>>2]=-(W*aa+X*ba+Y*ca);f=+g[b+688>>2];j=+g[b+692>>2];e=+ch(f-j,6.2831854820251465);if(!(e<-3.1415927410125732))if(e>3.1415927410125732)n=e+-6.2831854820251465;else n=e;else n=e+6.2831854820251465;e=+ch(f+j,6.2831854820251465);if(!(e<-3.1415927410125732)){if(e>3.1415927410125732)e=e+-6.2831854820251465}else e=e+6.2831854820251465;i=n==e;o=h+(S*5<<2)|0;g[o>>2]=0.0;h=c[b+748>>2]|0;l=+g[((h&2|0)==0?d+4|0:b+760|0)>>2];if(!(m<<24>>24==0|p&i)){if(h&4|0)c[(c[d+32>>2]|0)+(S*5<<2)>>2]=c[b+752>>2];j=+g[b+728>>2];k=+g[b+680>>2];f=n>e?1.0:0.0;do if(!(n>=e)){f=k/(l*+g[d>>2]);if(f<0.0)if(j>=n&n-f>j){e=(n-j)/f;break}else{e=j<n?0.0:1.0;break}if(f>0.0)if(j<=e&e-f<j){e=(e-j)/f;break}else{e=j>e?0.0:1.0;break}else e=0.0}else e=f;while(0);g[o>>2]=e*k*+g[b+732>>2]+ +g[o>>2];g[(c[d+36>>2]|0)+(S*5<<2)>>2]=-+g[b+684>>2];c[(c[d+40>>2]|0)+(S*5<<2)>>2]=c[b+684>>2]}if(!p)return;g[o>>2]=+g[o>>2]+q*l*+g[d>>2];if(h&1|0)c[(c[d+32>>2]|0)+(S*5<<2)>>2]=c[b+756>>2];do if(!i){i=(c[d+36>>2]|0)+(S*5<<2)|0;h=c[d+40>>2]|0;if((r|0)==1){g[i>>2]=0.0;e=3402823466385288598117041.0e14;break}else{g[i>>2]=-3402823466385288598117041.0e14;e=0.0;break}}else{g[(c[d+36>>2]|0)+(S*5<<2)>>2]=-3402823466385288598117041.0e14;e=3402823466385288598117041.0e14;h=c[d+40>>2]|0}while(0);g[h+(S*5<<2)>>2]=e;f=+g[b+704>>2];do if(f>0.0){e=(T*W+U*X+V*Y)*+g[qa+328>>2]+(W*Z+X*_+Y*$)*+g[qa+332>>2]+(W*aa+X*ba+Y*ca)*+g[qa+336>>2]-((T*W+U*X+V*Y)*+g[ra+328>>2]+(W*Z+X*_+Y*$)*+g[ra+332>>2]+(W*aa+X*ba+Y*ca)*+g[ra+336>>2]);if((r|0)==1){if(!(e<0.0))break;if(!(+g[o>>2]<-(f*e)))break;g[o>>2]=-(f*e);break}else{if(!(e>0.0))break;if(!(+g[o>>2]>-(f*e)))break;g[o>>2]=-(f*e);break}}while(0);g[o>>2]=+g[b+700>>2]*+g[o>>2];return}X=+g[qa+4>>2];Y=+g[qa+8>>2];Z=+g[qa+12>>2];t=+g[b+556>>2];w=+g[b+572>>2];y=+g[b+588>>2];_=+g[b+560>>2];$=+g[b+576>>2];aa=+g[b+592>>2];ba=+g[qa+20>>2];ca=+g[qa+24>>2];da=+g[qa+28>>2];ea=+g[qa+36>>2];fa=+g[qa+40>>2];ga=+g[qa+44>>2];ia=+g[b+600>>2];ha=+g[b+604>>2];n=+g[b+608>>2];f=+g[qa+52>>2]+(X*ia+Y*ha+Z*n);v=ba*ia+ca*ha+da*n+ +g[qa+56>>2];n=ea*ia+fa*ha+ga*n+ +g[qa+60>>2];ha=+g[ra+4>>2];ia=+g[ra+8>>2];ja=+g[ra+12>>2];ka=+g[b+624>>2];la=+g[b+640>>2];O=+g[b+656>>2];P=+g[ra+20>>2];Q=+g[ra+24>>2];T=+g[ra+28>>2];U=+g[ra+36>>2];V=+g[ra+40>>2];W=+g[ra+44>>2];q=+g[b+664>>2];x=+g[b+668>>2];j=+g[b+672>>2];e=+g[ra+52>>2];u=+g[ra+56>>2];l=+g[ra+60>>2];J=e+(ha*q+ia*x+ja*j)-f;K=P*q+Q*x+T*j+u-v;L=U*q+V*x+W*j+l-n;z=+g[(c[b+28>>2]|0)+344>>2];A=+g[(c[b+32>>2]|0)+344>>2];I=z+A>0.0?A/(z+A):.5;ma=(X*_+Y*$+Z*aa)*I+(ha*ka+ia*la+ja*O)*(1.0-I);na=(_*ba+$*ca+aa*da)*I+(ka*P+la*Q+O*T)*(1.0-I);oa=(_*ea+$*fa+aa*ga)*I+(ka*U+la*V+O*W)*(1.0-I);pa=1.0/+G(+(ma*ma+na*na+oa*oa));B=(e+(ha*q+ia*x+ja*j)-e)*ma*pa+(P*q+Q*x+T*j+u-u)*na*pa+(U*q+V*x+W*j+l-l)*oa*pa;e=e+(ha*q+ia*x+ja*j)-e-ma*pa*B;u=P*q+Q*x+T*j+u-u-na*pa*B;l=U*q+V*x+W*j+l-l-oa*pa*B;f=f-+g[qa+52>>2];v=v-+g[qa+56>>2];n=n-+g[qa+60>>2];j=ma*pa*(f*ma*pa+v*na*pa+n*oa*pa);x=na*pa*(f*ma*pa+v*na*pa+n*oa*pa);q=oa*pa*(f*ma*pa+v*na*pa+n*oa*pa);F=f-j+I*(j-ma*pa*B);H=v-x+I*(x-na*pa*B);E=n-q+I*(q-oa*pa*B);C=e-(1.0-I)*(j-ma*pa*B);D=u-(1.0-I)*(x-na*pa*B);B=l-(1.0-I)*(q-oa*pa*B);k=(I*e+(1.0-I)*(f-j))*(I*e+(1.0-I)*(f-j))+(I*u+(1.0-I)*(v-x))*(I*u+(1.0-I)*(v-x))+(I*l+(1.0-I)*(n-q))*(I*l+(1.0-I)*(n-q));if(k>1.1920928955078125e-07){y=1.0/+G(+k);N=(I*e+(1.0-I)*(f-j))*y;M=y*(I*l+(1.0-I)*(n-q));v=y*(I*u+(1.0-I)*(v-x))}else{N=X*t+Y*w+Z*y;M=t*ea+w*fa+y*ga;v=t*ba+w*ca+y*da}q=na*pa*M-oa*pa*v;t=oa*pa*N-M*ma*pa;u=v*ma*pa-na*pa*N;S=c[d+12>>2]|0;g[S>>2]=H*M-E*v;g[S+4>>2]=E*N-F*M;g[S+8>>2]=F*v-H*N;S=c[d+20>>2]|0;g[S>>2]=-(D*M-B*v);g[S+4>>2]=-(B*N-C*M);g[S+8>>2]=-(C*v-D*N);if(z<1.1920928955078125e-07|A<1.1920928955078125e-07?(a[b+716>>0]|0)!=0:0){e=(1.0-I)*(D*u-B*t);f=(1.0-I)*(B*q-C*u);j=(1.0-I)*(C*t-D*q);k=I*(H*u-E*t);l=I*(E*q-F*u);n=I*(F*t-H*q)}else{e=D*u-B*t;f=B*q-C*u;j=C*t-D*q;k=H*u-E*t;l=E*q-F*u;n=F*t-H*q}S=(c[d+12>>2]|0)+(p<<2)|0;g[S>>2]=k;g[S+4>>2]=l;g[S+8>>2]=n;S=c[d+20>>2]|0;g[S+(p<<2)>>2]=-e;g[S+(p+1<<2)>>2]=-f;g[S+(p+2<<2)>>2]=-j;if(z<1.1920928955078125e-07|A<1.1920928955078125e-07){n=(1.0-I)*(D*oa*pa-B*na*pa);l=(1.0-I)*(B*ma*pa-C*oa*pa);k=(1.0-I)*(C*na*pa-D*ma*pa);j=I*(H*oa*pa-E*na*pa);f=I*(E*ma*pa-F*oa*pa);e=I*(F*na*pa-H*ma*pa)}else{n=D*oa*pa-B*na*pa;l=B*ma*pa-C*oa*pa;k=C*na*pa-D*ma*pa;j=H*oa*pa-E*na*pa;f=E*ma*pa-F*oa*pa;e=F*na*pa-H*ma*pa}h=(c[d+12>>2]|0)+(p<<1<<2)|0;g[h>>2]=j;g[h+4>>2]=f;g[h+8>>2]=e;h=c[d+20>>2]|0;g[h+(p<<1<<2)>>2]=-n;g[h+((p<<1|1)<<2)>>2]=-l;g[h+((p<<1)+2<<2)>>2]=-k;e=+g[d>>2]*+g[d+4>>2];if(!(a[b+736>>0]|0)){o=c[d+8>>2]|0;g[o>>2]=N;g[o+4>>2]=v;g[o+8>>2]=M;o=(c[d+8>>2]|0)+(p<<2)|0;g[o>>2]=q;g[o+4>>2]=t;g[o+8>>2]=u;o=(c[d+8>>2]|0)+(p<<1<<2)|0;g[o>>2]=ma*pa;g[o+4>>2]=na*pa;g[o+8>>2]=oa*pa;o=c[d+16>>2]|0;f=-N;g[o>>2]=f;g[o+4>>2]=-v;g[o+8>>2]=-M;g[o+(p<<2)>>2]=-q;g[o+(p+1<<2)>>2]=-t;g[o+(p+2<<2)>>2]=-u;g[o+(p<<1<<2)>>2]=-(ma*pa);g[o+((p<<1|1)<<2)>>2]=-(na*pa);g[o+((p<<1)+2<<2)>>2]=-(oa*pa);o=c[d+28>>2]|0;g[o>>2]=e*(J*N+K*v+L*M);g[o+(p<<2)>>2]=e*(J*q+K*t+L*u);g[o+(p<<1<<2)>>2]=e*(J*ma*pa+K*na*pa+L*oa*pa);e=f;f=-q;j=-t;k=-u;h=c[d+20>>2]|0}else{e=-N;f=-q;j=-t;k=-u;o=c[d+28>>2]|0}i=c[d+12>>2]|0;g[i+(p*3<<2)>>2]=N;g[i+((p*3|0)+1<<2)>>2]=v;g[i+((p*3|0)+2<<2)>>2]=M;g[i+(p<<2<<2)>>2]=q;g[i+((p<<2|1)<<2)>>2]=t;g[i+((p<<2|2)<<2)>>2]=u;g[h+(p*3<<2)>>2]=e;g[h+((p*3|0)+1<<2)>>2]=-v;g[h+((p*3|0)+2<<2)>>2]=-M;g[h+(p<<2<<2)>>2]=f;g[h+((p<<2|1)<<2)>>2]=j;g[h+((p<<2|2)<<2)>>2]=k;K=+g[d>>2]*+g[d+4>>2];L=(_*ba+$*ca+aa*da)*(ka*U+la*V+O*W)-(_*ea+$*fa+aa*ga)*(ka*P+la*Q+O*T);ga=(_*ea+$*fa+aa*ga)*(ha*ka+ia*la+ja*O)-(X*_+Y*$+Z*aa)*(ka*U+la*V+O*W);la=(X*_+Y*$+Z*aa)*(ka*P+la*Q+O*T)-(_*ba+$*ca+aa*da)*(ha*ka+ia*la+ja*O);g[o+(p*3<<2)>>2]=K*(L*N+ga*v+la*M);g[o+(p<<2<<2)>>2]=K*(L*q+ga*t+la*u);if(!(a[b+716>>0]|0)){s=0;q=0.0}else{q=+g[b+708>>2]*+g[b+732>>2];s=q>0.0?1:2}m=a[b+737>>0]|0;p=(s|0)!=0;if(!(m&255|s))return;r=(c[d+24>>2]|0)*5|0;g[i+(r<<2)>>2]=ma*pa;g[i+(r+1<<2)>>2]=na*pa;g[i+(r+2<<2)>>2]=oa*pa;g[h+(r<<2)>>2]=-(ma*pa);g[h+(r+1<<2)>>2]=-(na*pa);g[h+(r+2<<2)>>2]=-(oa*pa);f=+g[b+688>>2];j=+g[b+692>>2];e=+ch(f-j,6.2831854820251465);if(!(e<-3.1415927410125732))if(e>3.1415927410125732)n=e+-6.2831854820251465;else n=e;else n=e+6.2831854820251465;e=+ch(f+j,6.2831854820251465);if(!(e<-3.1415927410125732)){if(e>3.1415927410125732)e=e+-6.2831854820251465}else e=e+6.2831854820251465;i=n==e;o=o+(r<<2)|0;g[o>>2]=0.0;h=c[b+748>>2]|0;l=+g[((h&2|0)==0?d+4|0:b+760|0)>>2];if(!(m<<24>>24==0|p&i)){if(h&4|0)c[(c[d+32>>2]|0)+(r<<2)>>2]=c[b+752>>2];j=+g[b+728>>2];k=+g[b+680>>2];f=n>e?1.0:0.0;do if(!(n>=e)){f=k/(l*+g[d>>2]);if(f<0.0)if(j>=n&n-f>j){e=(n-j)/f;break}else{e=j<n?0.0:1.0;break}if(f>0.0)if(j<=e&e-f<j){e=(e-j)/f;break}else{e=j>e?0.0:1.0;break}else e=0.0}else e=f;while(0);g[o>>2]=e*k*+g[b+732>>2]+ +g[o>>2];g[(c[d+36>>2]|0)+(r<<2)>>2]=-+g[b+684>>2];c[(c[d+40>>2]|0)+(r<<2)>>2]=c[b+684>>2]}if(!p)return;g[o>>2]=+g[o>>2]+q*l*+g[d>>2];if(h&1|0)c[(c[d+32>>2]|0)+(r<<2)>>2]=c[b+756>>2];do if(!i){i=(c[d+36>>2]|0)+(r<<2)|0;h=c[d+40>>2]|0;if((s|0)==1){g[i>>2]=0.0;e=3402823466385288598117041.0e14;break}else{g[i>>2]=-3402823466385288598117041.0e14;e=0.0;break}}else{g[(c[d+36>>2]|0)+(r<<2)>>2]=-3402823466385288598117041.0e14;e=3402823466385288598117041.0e14;h=c[d+40>>2]|0}while(0);g[h+(r<<2)>>2]=e;f=+g[b+704>>2];do if(f>0.0){e=+g[qa+328>>2]*ma*pa+ +g[qa+332>>2]*na*pa+ +g[qa+336>>2]*oa*pa-(ma*pa*+g[ra+328>>2]+na*pa*+g[ra+332>>2]+oa*pa*+g[ra+336>>2]);if((s|0)==1){if(!(e<0.0))break;if(!(+g[o>>2]<-(f*e)))break;g[o>>2]=-(f*e);break}else{if(!(e>0.0))break;if(!(+g[o>>2]>-(f*e)))break;g[o>>2]=-(f*e);break}}while(0);g[o>>2]=+g[b+700>>2]*+g[o>>2];return}function qc(b,d){b=b|0;d=d|0;var e=0.0,f=0,h=0.0,i=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0,y=0,z=0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,H=0.0,I=0,J=0,K=0,L=0,M=0,N=0,O=0.0,P=0.0,Q=0.0,R=0,T=0,U=0.0,V=0.0,W=0.0,X=0,Y=0.0,Z=0.0,_=0.0,$=0,aa=0,ba=0,ca=0,da=0,ea=0.0,fa=0,ga=0,ha=0;ga=l;l=l+16|0;da=c[b+28>>2]|0;fa=c[b+32>>2]|0;Y=+g[da+344>>2];Z=+g[fa+344>>2];X=c[d+24>>2]|0;ea=a[b+180>>0]|0?1.0:-1.0;U=+g[b+936>>2]-+g[b+872>>2];V=+g[b+940>>2]-+g[b+876>>2];W=+g[b+944>>2]-+g[b+880>>2];_=Y+Z>0.0?Z/(Y+Z):.5;I=c[b+824>>2]|0;J=c[b+840>>2]|0;K=c[b+856>>2]|0;L=c[b+888>>2]|0;M=c[b+904>>2]|0;N=c[b+920>>2]|0;R=(a[b+49>>0]|0)==0;if(R){x=c[b+828>>2]|0;e=(c[j>>2]=x,+g[j>>2]);y=c[b+844>>2]|0;z=c[b+860>>2]|0;c[ga+8>>2]=y;c[ga+4>>2]=z;f=c[b+832>>2]|0;w=c[b+848>>2]|0;r=c[b+864>>2]|0;c[ga>>2]=f;h=(c[j>>2]=f,+g[j>>2]);p=(c[j>>2]=w,+g[j>>2]);s=(c[j>>2]=r,+g[j>>2]);aa=I;ba=J;ca=K}else{e=_*(c[j>>2]=I,+g[j>>2]);m=_*(c[j>>2]=J,+g[j>>2]);k=_*(c[j>>2]=K,+g[j>>2]);h=(1.0-_)*(c[j>>2]=L,+g[j>>2]);n=(1.0-_)*(c[j>>2]=M,+g[j>>2]);k=k+(1.0-_)*(c[j>>2]=N,+g[j>>2]);o=1.0/+G(+((e+h)*(e+h)+(m+n)*(m+n)+k*k));i=(g[j>>2]=(e+h)*o,c[j>>2]|0);r=(g[j>>2]=(m+n)*o,c[j>>2]|0);w=(g[j>>2]=k*o,c[j>>2]|0);if(+F(+(k*o))>.7071067690849304){Q=1.0/+G(+(k*o*k*o+(m+n)*o*(m+n)*o));g[ga+8>>2]=-(k*o*Q);g[ga+4>>2]=(m+n)*o*Q;p=-((e+h)*o*(m+n)*o*Q);q=(e+h)*o*-(k*o*Q);h=(k*o*k*o+(m+n)*o*(m+n)*o)*Q;e=0.0;f=0}else{q=(e+h)*o*(e+h)*o+(m+n)*o*(m+n)*o;Q=1.0/+G(+q);f=(g[j>>2]=-((m+n)*o*Q),c[j>>2]|0);g[ga+8>>2]=(e+h)*o*Q;c[ga+4>>2]=0;p=k*o*-((m+n)*o*Q);q=q*Q;h=-(k*o*(e+h)*o*Q);e=-((m+n)*o*Q)}ha=(g[j>>2]=h,c[j>>2]|0);g[ga>>2]=h;T=(g[j>>2]=p,c[j>>2]|0);y=c[ga+8>>2]|0;z=c[ga+4>>2]|0;s=q;aa=i;ba=r;ca=w;x=f;f=ha;r=(g[j>>2]=q,c[j>>2]|0);w=T}T=c[d+12>>2]|0;g[T>>2]=e;c[T+4>>2]=y;c[T+8>>2]=z;c[T+(X<<2)>>2]=f;c[T+(X+1<<2)>>2]=w;c[T+(X+2<<2)>>2]=r;m=-e;i=c[d+20>>2]|0;g[i>>2]=m;n=+g[ga+8>>2];g[i+4>>2]=-n;o=+g[ga+4>>2];g[i+8>>2]=-o;g[i+(X<<2)>>2]=-h;g[i+(X+1<<2)>>2]=-p;g[i+(X+2<<2)>>2]=-s;f=c[b+300>>2]|0;k=+g[b+280>>2];if(!(f&128))k=k*+g[d+4>>2];C=k*+g[d>>2];P=(c[j>>2]=J,+g[j>>2]);E=(c[j>>2]=N,+g[j>>2]);D=(c[j>>2]=K,+g[j>>2]);O=(c[j>>2]=M,+g[j>>2]);Q=(c[j>>2]=L,+g[j>>2]);H=(c[j>>2]=I,+g[j>>2]);ha=c[d+28>>2]|0;g[ha>>2]=C*((P*E-D*O)*e+(D*Q-H*E)*n+(H*O-P*Q)*o);g[ha+(X<<2)>>2]=C*((P*E-D*O)*h+(D*Q-H*E)*p+(H*O-P*Q)*s);if(f&64|0){ha=c[d+32>>2]|0;c[ha>>2]=c[b+292>>2];c[ha+(X<<2)>>2]=c[b+292>>2]}P=+g[da+52>>2];H=+g[da+56>>2];O=+g[da+60>>2];D=+g[fa+52>>2];k=+g[fa+56>>2];t=+g[fa+60>>2];if(R){v=(t-O)*e-(D-P)*o;q=(D-P)*n-(k-H)*e;g[T+(X<<1<<2)>>2]=_*((k-H)*o-(t-O)*n);g[T+((X<<1|1)<<2)>>2]=_*v;g[T+((X<<1)+2<<2)>>2]=_*q;g[i+(X<<1<<2)>>2]=(1.0-_)*((k-H)*o-(t-O)*n);g[i+((X<<1|1)<<2)>>2]=(1.0-_)*v;g[i+((X<<1)+2<<2)>>2]=(1.0-_)*q;q=(k-H)*s-(t-O)*p;v=(t-O)*h-(D-P)*s;o=(D-P)*p-(k-H)*h;g[T+(X*3<<2)>>2]=_*q;g[T+((X*3|0)+1<<2)>>2]=_*v;g[T+((X*3|0)+2<<2)>>2]=_*o;g[i+(X*3<<2)>>2]=(1.0-_)*q;g[i+((X*3|0)+1<<2)>>2]=(1.0-_)*v;g[i+((X*3|0)+2<<2)>>2]=(1.0-_)*o;i=c[d+8>>2]|0;c[i+(X<<1<<2)>>2]=x;c[i+((X<<1|1)<<2)>>2]=y;c[i+((X<<1)+2<<2)>>2]=z;f=c[ga>>2]|0;c[i+(X*3<<2)>>2]=f;c[i+((X*3|0)+1<<2)>>2]=w;c[i+((X*3|0)+2<<2)>>2]=r;ha=c[d+16>>2]|0;g[ha+(X<<1<<2)>>2]=m;o=(c[j>>2]=y,+g[j>>2]);g[ha+((X<<1|1)<<2)>>2]=-o;v=(c[j>>2]=z,+g[j>>2]);g[ha+((X<<1)+2<<2)>>2]=-v;q=(c[j>>2]=f,+g[j>>2]);g[ha+(X*3<<2)>>2]=-q;s=(c[j>>2]=w,+g[j>>2]);g[ha+((X*3|0)+1<<2)>>2]=-s;p=(c[j>>2]=r,+g[j>>2]);f=ha+((X*3|0)+2<<2)|0;r=ha;Q=0.0;u=0.0;B=0.0;E=0.0;C=0.0;A=0.0;n=k-H;m=t-O;k=D-P}else{s=+g[b+936>>2]-D;v=+g[b+940>>2]-k;E=+g[b+944>>2]-t;o=(c[j>>2]=aa,+g[j>>2]);p=(c[j>>2]=ba,+g[j>>2]);n=(c[j>>2]=ca,+g[j>>2]);P=+g[b+872>>2]-P;Q=+g[b+876>>2]-H;e=+g[b+880>>2]-O;C=+g[b+1080>>2]-+g[b+1032>>2];A=o*(o*P+p*Q+n*e)+o*C-o*(o*s+p*v+n*E);D=p*(o*P+p*Q+n*e)+p*C-p*(o*s+p*v+n*E);C=n*(o*P+p*Q+n*e)+n*C-n*(o*s+p*v+n*E);B=P-o*(o*P+p*Q+n*e)+_*A;t=Q-p*(o*P+p*Q+n*e)+_*D;u=e-n*(o*P+p*Q+n*e)+_*C;A=s-o*(o*s+p*v+n*E)-(1.0-_)*A;D=v-p*(o*s+p*v+n*E)-(1.0-_)*D;C=E-n*(o*s+p*v+n*E)-(1.0-_)*C;k=_*(s-o*(o*s+p*v+n*E))+(1.0-_)*(P-o*(o*P+p*Q+n*e));h=_*(v-p*(o*s+p*v+n*E))+(1.0-_)*(Q-p*(o*P+p*Q+n*e));e=_*(E-n*(o*s+p*v+n*E))+(1.0-_)*(e-n*(o*P+p*Q+n*e));g[ga+8>>2]=h;g[ga+4>>2]=e;if(k*k+h*h+e*e>1.1920928955078125e-07){Q=1.0/+G(+(k*k+h*h+e*e));f=(g[j>>2]=k*Q,c[j>>2]|0);g[ga+8>>2]=Q*h;g[ga+4>>2]=Q*e;m=Q*e;h=Q*h;e=k*Q}else{f=c[b+828>>2]|0;ha=c[b+844>>2]|0;R=c[b+860>>2]|0;c[ga+8>>2]=ha;c[ga+4>>2]=R;m=(c[j>>2]=R,+g[j>>2]);h=(c[j>>2]=ha,+g[j>>2]);e=(c[j>>2]=f,+g[j>>2])}q=p*m-n*h;s=n*e-o*m;p=o*h-p*e;g[ga>>2]=q;g[T+(X<<1<<2)>>2]=t*m-u*h;g[T+(X<<1<<2)+4>>2]=u*e-B*m;g[T+(X<<1<<2)+8>>2]=B*h-t*e;ha=c[d+20>>2]|0;g[ha+(X<<1<<2)>>2]=-(D*m-C*h);g[ha+((X<<1|1)<<2)>>2]=-(C*e-A*m);g[ha+((X<<1)+2<<2)>>2]=-(A*h-D*e);if(Y<1.1920928955078125e-07|Z<1.1920928955078125e-07?(a[b+297>>0]|0)!=0:0){e=(1.0-_)*(D*p-C*s);h=(1.0-_)*(C*q-A*p);k=(1.0-_)*(A*s-D*q);m=_*(t*p-u*s);n=_*(B*s-t*q);o=_*(u*q-B*p)}else{e=D*p-C*s;h=C*q-A*p;k=A*s-D*q;m=t*p-u*s;n=B*s-t*q;o=u*q-B*p}i=(c[d+12>>2]|0)+(X*3<<2)|0;g[i>>2]=m;g[i+4>>2]=o;g[i+8>>2]=n;i=c[d+20>>2]|0;g[i+(X*3<<2)>>2]=-e;g[i+((X*3|0)+1<<2)>>2]=-h;g[i+((X*3|0)+2<<2)>>2]=-k;i=c[d+8>>2]|0;c[i+(X<<1<<2)>>2]=f;c[i+((X<<1|1)<<2)>>2]=c[ga+8>>2];c[i+((X<<1)+2<<2)>>2]=c[ga+4>>2];g[i+(X*3<<2)>>2]=q;g[i+((X*3|0)+1<<2)>>2]=s;g[i+((X*3|0)+2<<2)>>2]=p;r=c[d+16>>2]|0;e=(c[j>>2]=f,+g[j>>2]);g[r+(X<<1<<2)>>2]=-e;o=+g[ga+8>>2];g[r+((X<<1|1)<<2)>>2]=-o;v=+g[ga+4>>2];g[r+((X<<1)+2<<2)>>2]=-v;g[r+(X*3<<2)>>2]=-q;g[r+((X*3|0)+1<<2)>>2]=-s;f=r+((X*3|0)+2<<2)|0;Q=t;E=D;n=0.0;m=0.0;k=0.0}g[f>>2]=-p;I=c[b+300>>2]|0;h=+g[b+264>>2];if(!(I&32))h=h*+g[d+4>>2];P=h*+g[d>>2];J=c[d+28>>2]|0;g[J+(X<<1<<2)>>2]=P*(U*e+V*o+W*v);g[J+(X*3<<2)>>2]=P*(U*q+V*s+W*p);if(I&16|0){ha=c[d+32>>2]|0;c[ha+(X<<1<<2)>>2]=c[b+276>>2];c[ha+(X*3<<2)>>2]=c[b+276>>2]}if(!(a[b+296>>0]|0)){z=0;p=0.0}else{p=ea*+g[b+1032>>2];z=p>0.0?2:1}w=a[b+1096>>0]|0;x=(z|0)!=0;if(w&255|z){y=c[d+24>>2]<<2;c[i+(y<<2)>>2]=aa;c[i+((y|1)<<2)>>2]=ba;c[i+((y|2)<<2)>>2]=ca;q=(c[j>>2]=aa,+g[j>>2]);g[r+(y<<2)>>2]=-q;s=(c[j>>2]=ba,+g[j>>2]);g[r+((y|1)<<2)>>2]=-s;t=(c[j>>2]=ca,+g[j>>2]);g[r+((y|2)<<2)>>2]=-t;if(a[b+49>>0]|0){if(!(Y<1.1920928955078125e-07|Z<1.1920928955078125e-07)){f=c[d+12>>2]|0;g[f+(y<<2)>>2]=t*Q-s*u;g[f+((y|1)<<2)>>2]=q*u-t*B;g[f+((y|2)<<2)>>2]=s*B-q*Q;f=c[d+20>>2]|0;g[f+(y<<2)>>2]=-(t*E-s*C);g[f+((y|1)<<2)>>2]=-(q*C-t*A);e=-(s*A-q*E);$=31}}else{Y=t*n-s*m;Z=q*m-t*k;e=s*k-q*n;f=c[d+12>>2]|0;g[f+(y<<2)>>2]=_*Y;g[f+((y|1)<<2)>>2]=_*Z;g[f+((y|2)<<2)>>2]=_*e;f=c[d+20>>2]|0;g[f+(y<<2)>>2]=(1.0-_)*Y;g[f+((y|1)<<2)>>2]=(1.0-_)*Z;e=(1.0-_)*e;$=31}if(($|0)==31)g[f+((y|2)<<2)>>2]=e;f=+g[b+184>>2]==+g[b+188>>2];g[J+(y<<2)>>2]=0.0;i=(c[d+36>>2]|0)+(y<<2)|0;g[i>>2]=0.0;r=(c[d+40>>2]|0)+(y<<2)|0;g[r>>2]=0.0;o=+g[((I&512|0)==0?d+4|0:b+232|0)>>2];if(!(w<<24>>24==0|x&f)){if(I&1|0)c[(c[d+32>>2]|0)+(y<<2)>>2]=c[b+212>>2];n=+g[b+1100>>2];e=+g[b+1080>>2];h=+g[b+184>>2];k=+g[b+188>>2];m=o*+g[d>>2];do if(!(h>k))if(!(h==k)){if(n/m<0.0)if(e>=h?h-n/m>e:0){e=(h-e)/(n/m);break}else{e=e<h?0.0:1.0;break}if(n/m>0.0)if(e<=k?k-n/m<e:0){e=(k-e)/(n/m);break}else{e=e>k?0.0:1.0;break}else e=0.0}else e=0.0;else e=1.0;while(0);g[J+(y<<2)>>2]=+g[J+(y<<2)>>2]-ea*e*n;g[i>>2]=+g[i>>2]-+g[b+1104>>2]*+g[d>>2];g[r>>2]=+g[b+1104>>2]*+g[d>>2]+ +g[r>>2]}if(x){g[J+(y<<2)>>2]=+g[J+(y<<2)>>2]+p*o*+g[d>>2];if(I&256|0)c[(c[d+32>>2]|0)+(y<<2)>>2]=c[b+244>>2];if(f){e=3402823466385288598117041.0e14;h=-3402823466385288598117041.0e14}else{ha=(z|0)==1;e=ha?0.0:3402823466385288598117041.0e14;h=ha?-3402823466385288598117041.0e14:0.0}g[i>>2]=h;g[r>>2]=e;_=1.0-+g[b+240>>2];h=+F(+_);do if(!(_!=_|0.0!=0.0|_==0.0)){e=ea*(q*+g[da+312>>2]+s*+g[da+316>>2]+t*+g[da+320>>2]-(q*+g[fa+312>>2]+s*+g[fa+316>>2]+t*+g[fa+320>>2]));if((z|0)==1){if(!(e<0.0))break;if(!(+g[J+(y<<2)>>2]<-(h*e)))break;g[J+(y<<2)>>2]=-(h*e);break}else{if(!(e>0.0))break;if(!(+g[J+(y<<2)>>2]>-(h*e)))break;g[J+(y<<2)>>2]=-(h*e);break}}while(0);g[J+(y<<2)>>2]=+g[b+232>>2]*+g[J+(y<<2)>>2];f=5}else f=5}else f=4;if(!(a[b+297>>0]|0)){x=0;s=0.0}else{s=+g[b+1088>>2];x=s>0.0?1:2}i=a[b+1112>>0]|0;r=(x|0)!=0;if(!(i&255|x)){l=ga;return}w=S(c[d+24>>2]|0,f)|0;ha=c[d+12>>2]|0;c[ha+(w<<2)>>2]=aa;c[ha+(w+1<<2)>>2]=ba;c[ha+(w+2<<2)>>2]=ca;v=(c[j>>2]=aa,+g[j>>2]);ha=c[d+20>>2]|0;g[ha+(w<<2)>>2]=-v;u=(c[j>>2]=ba,+g[j>>2]);g[ha+(w+1<<2)>>2]=-u;t=(c[j>>2]=ca,+g[j>>2]);g[ha+(w+2<<2)>>2]=-t;o=+g[b+192>>2];p=+g[b+196>>2];q=+g[((I&2048|0)==0?d+4|0:b+248|0)>>2];if(!(i<<24>>24==0|r&o==p)){if(!(I&4)){k=p;m=o}else{c[(c[d+32>>2]|0)+(w<<2)>>2]=c[b+228>>2];k=+g[b+196>>2];m=+g[b+192>>2]}e=+g[b+1084>>2];n=+g[b+1116>>2];h=q*+g[d>>2];do if(!(m>k))if(!(m==k)){if(n/h<0.0)if(e>=m?m-n/h>e:0){e=(m-e)/(n/h);break}else{e=e<m?0.0:1.0;break}if(n/h>0.0)if(e<=k?k-n/h<e:0){e=(k-e)/(n/h);break}else{e=e>k?0.0:1.0;break}else e=0.0}else e=0.0;else e=1.0;while(0);g[J+(w<<2)>>2]=e*n;g[(c[d+36>>2]|0)+(w<<2)>>2]=-(+g[b+1120>>2]*+g[d>>2]);g[(c[d+40>>2]|0)+(w<<2)>>2]=+g[b+1120>>2]*+g[d>>2]}if(!r){l=ga;return}g[J+(w<<2)>>2]=+g[J+(w<<2)>>2]+s*q*+g[d>>2];if(I&1024|0)c[(c[d+32>>2]|0)+(w<<2)>>2]=c[b+260>>2];do if(!(o==p)){i=(c[d+36>>2]|0)+(w<<2)|0;f=c[d+40>>2]|0;if((x|0)==1){g[i>>2]=0.0;e=3402823466385288598117041.0e14;break}else{g[i>>2]=-3402823466385288598117041.0e14;e=0.0;break}}else{g[(c[d+36>>2]|0)+(w<<2)>>2]=-3402823466385288598117041.0e14;e=3402823466385288598117041.0e14;f=c[d+40>>2]|0}while(0);g[f+(w<<2)>>2]=e;ea=1.0-+g[b+256>>2];h=+F(+ea);do if(!(ea!=ea|0.0!=0.0|ea==0.0)){d=c[b+28>>2]|0;ha=c[b+32>>2]|0;e=v*+g[d+328>>2]+u*+g[d+332>>2]+t*+g[d+336>>2]-(v*+g[ha+328>>2]+u*+g[ha+332>>2]+t*+g[ha+336>>2]);if((x|0)==1){if(!(e<0.0))break;if(!(+g[J+(w<<2)>>2]<-(h*e)))break;g[J+(w<<2)>>2]=-(h*e);break}else{if(!(e>0.0))break;if(!(+g[J+(w<<2)>>2]>-(h*e)))break;g[J+(w<<2)>>2]=-(h*e);break}}while(0);g[J+(w<<2)>>2]=+g[b+248>>2]*+g[J+(w<<2)>>2];l=ga;return}function rc(d,e,f,h,i,j){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=+j;var k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0,F=0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0;F=l;l=l+896|0;E=c[h+4>>2]|0;D=c[h+12>>2]|0;k=c[E+4>>2]|0;if((k|0)<20){c[F+712>>2]=3816;c[F+712+168>>2]=0;g[F+712+172>>2]=j;c[F+712+164>>2]=c[i+4>>2];g[F+352+308>>2]=9.999999747378752e-05;a[F+352+332>>0]=0;c[F+288>>2]=9212;c[F+64>>2]=9280;c[F+64+4>>2]=F+352;c[F+64+8>>2]=F+288;c[F+64+12>>2]=d;c[F+64+16>>2]=E;c[F+64+20>>2]=0;if((Hd(F+64|0,e,f,D,D,F+712|0)|0?(v=F+712+132|0,p=+g[v>>2],m=+g[F+712+136>>2],n=+g[F+712+140>>2],p*p+m*m+n*n>9.999999747378752e-05):0)?(o=+g[F+712+164>>2],o<+g[i+4>>2]):0){j=1.0/+G(+(p*p+m*m+n*n));g[v>>2]=p*j;g[F+712+136>>2]=m*j;g[F+712+140>>2]=n*j;c[F+16>>2]=c[h+8>>2];c[F+16+4>>2]=0;c[F+16+8>>2]=c[v>>2];c[F+16+8+4>>2]=c[v+4>>2];c[F+16+8+8>>2]=c[v+8>>2];c[F+16+8+12>>2]=c[v+12>>2];c[F+16+24>>2]=c[F+712+148>>2];c[F+16+24+4>>2]=c[F+712+148+4>>2];c[F+16+24+8>>2]=c[F+712+148+8>>2];c[F+16+24+12>>2]=c[F+712+148+12>>2];g[F+16+40>>2]=o;+Lb[c[(c[i>>2]|0)+12>>2]&15](i,F+16|0,1)}l=F;return}if((k+-21|0)>>>0>=9){if((k|0)!=31){l=F;return}bj(15266);if((c[E+16>>2]|0)>0){k=0;do{v=c[E+24>>2]|0;m=+g[v+(k*80|0)>>2];p=+g[v+(k*80|0)+4>>2];s=+g[v+(k*80|0)+8>>2];n=+g[v+(k*80|0)+16>>2];q=+g[v+(k*80|0)+20>>2];u=+g[v+(k*80|0)+24>>2];o=+g[v+(k*80|0)+32>>2];r=+g[v+(k*80|0)+36>>2];y=+g[v+(k*80|0)+40>>2];O=+g[v+(k*80|0)+48>>2];N=+g[v+(k*80|0)+52>>2];C=+g[v+(k*80|0)+56>>2];v=c[v+(k*80|0)+64>>2]|0;M=+g[D>>2];L=+g[D+4>>2];K=+g[D+8>>2];J=+g[D+16>>2];I=+g[D+20>>2];H=+g[D+24>>2];t=+g[D+32>>2];x=+g[D+36>>2];z=+g[D+40>>2];A=O*M+N*L+C*K+ +g[D+48>>2];B=O*J+N*I+C*H+ +g[D+52>>2];C=O*t+N*x+C*z+ +g[D+56>>2];g[F+712>>2]=m*M+n*L+o*K;g[F+712+4>>2]=p*M+q*L+r*K;g[F+712+8>>2]=s*M+u*L+y*K;g[F+712+12>>2]=0.0;g[F+712+16>>2]=m*J+n*I+o*H;g[F+712+20>>2]=p*J+q*I+r*H;g[F+712+24>>2]=s*J+u*I+y*H;g[F+712+28>>2]=0.0;g[F+712+32>>2]=m*t+n*x+o*z;g[F+712+36>>2]=p*t+q*x+r*z;g[F+712+40>>2]=s*t+u*x+y*z;g[F+712+44>>2]=0.0;g[F+712+48>>2]=A;g[F+712+52>>2]=B;g[F+712+56>>2]=C;g[F+712+60>>2]=0.0;b[F+352+8>>1]=1;b[F+352+10>>1]=-1;c[F+352>>2]=6004;c[F+352+12>>2]=i;c[F+352+16>>2]=k;c[F+352+4>>2]=c[i+4>>2];w=c[h+8>>2]|0;c[F+288>>2]=h;c[F+288+4>>2]=v;c[F+288+8>>2]=w;c[F+288+12>>2]=F+712;c[F+288+16>>2]=-1;c[F+288+20>>2]=k;rc(d,e,f,F+288|0,F+352|0,j);k=k+1|0}while((k|0)<(c[E+16>>2]|0))}k=c[2380]|0;E=(c[k+16>>2]|0)+-1|0;c[k+16>>2]=E;if(E|0){l=F;return}do if(c[k+4>>2]|0){Za(F+712|0,0)|0;E=c[6484]|0;g[k+8>>2]=+(((c[F+712+4>>2]|0)-(c[E+4>>2]|0)+(((c[F+712>>2]|0)-(c[E>>2]|0)|0)*1e6|0)-(c[k+12>>2]|0)|0)>>>0)/1.0e3+ +g[k+8>>2];if(!(c[k+16>>2]|0)){k=c[2380]|0;break}else{l=F;return}}while(0);c[2380]=c[k+20>>2];l=F;return}switch(k|0){case 21:{m=+g[D>>2];n=+g[D+16>>2];o=+g[D+32>>2];p=+g[D+4>>2];q=+g[D+20>>2];r=+g[D+36>>2];s=+g[D+8>>2];t=+g[D+24>>2];u=+g[D+40>>2];A=-+g[D+48>>2];B=-+g[D+52>>2];C=-+g[D+56>>2];z=+g[e+48>>2];y=+g[e+52>>2];x=+g[e+56>>2];g[F+352>>2]=m*A+n*B+o*C+(m*z+n*y+o*x);g[F+352+4>>2]=p*A+q*B+r*C+(p*z+q*y+r*x);g[F+352+8>>2]=s*A+t*B+u*C+(s*z+t*y+u*x);g[F+352+12>>2]=0.0;x=+g[f+48>>2];y=+g[f+52>>2];z=+g[f+56>>2];P=+g[f>>2];H=+g[f+16>>2];I=+g[f+32>>2];J=+g[f+4>>2];K=+g[f+20>>2];L=+g[f+36>>2];M=+g[f+8>>2];N=+g[f+24>>2];O=+g[f+40>>2];g[F+288>>2]=m*P+n*H+o*I;g[F+288+4>>2]=m*J+n*K+o*L;g[F+288+8>>2]=m*M+n*N+o*O;g[F+288+12>>2]=0.0;g[F+288+16>>2]=p*P+q*H+r*I;g[F+288+20>>2]=p*J+q*K+r*L;g[F+288+24>>2]=p*M+q*N+r*O;g[F+288+28>>2]=0.0;g[F+288+32>>2]=s*P+t*H+u*I;g[F+288+36>>2]=s*J+t*K+u*L;g[F+288+40>>2]=s*M+t*N+u*O;k=F+288+44|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;k=c[h+8>>2]|0;O=+Db[c[(c[E>>2]|0)+48>>2]&15](E);c[F+64>>2]=9140;c[F+64+4>>2]=d;c[F+64+8>>2]=c[e>>2];c[F+64+8+4>>2]=c[e+4>>2];c[F+64+8+8>>2]=c[e+8>>2];c[F+64+8+12>>2]=c[e+12>>2];c[F+64+24>>2]=c[e+16>>2];c[F+64+24+4>>2]=c[e+16+4>>2];c[F+64+24+8>>2]=c[e+16+8>>2];c[F+64+24+12>>2]=c[e+16+12>>2];c[F+64+40>>2]=c[e+32>>2];c[F+64+40+4>>2]=c[e+32+4>>2];c[F+64+40+8>>2]=c[e+32+8>>2];c[F+64+40+12>>2]=c[e+32+12>>2];c[F+64+56>>2]=c[e+48>>2];c[F+64+56+4>>2]=c[e+48+4>>2];c[F+64+56+8>>2]=c[e+48+8>>2];c[F+64+56+12>>2]=c[e+48+12>>2];c[F+64+72>>2]=c[f>>2];c[F+64+72+4>>2]=c[f+4>>2];c[F+64+72+8>>2]=c[f+8>>2];c[F+64+72+12>>2]=c[f+12>>2];c[F+64+88>>2]=c[f+16>>2];c[F+64+88+4>>2]=c[f+16+4>>2];c[F+64+88+8>>2]=c[f+16+8>>2];c[F+64+88+12>>2]=c[f+16+12>>2];c[F+64+104>>2]=c[f+32>>2];c[F+64+104+4>>2]=c[f+32+4>>2];c[F+64+104+8>>2]=c[f+32+8>>2];c[F+64+104+12>>2]=c[f+32+12>>2];c[F+64+120>>2]=c[f+48>>2];c[F+64+120+4>>2]=c[f+48+4>>2];c[F+64+120+8>>2]=c[f+48+8>>2];c[F+64+120+12>>2]=c[f+48+12>>2];c[F+64+136>>2]=c[D>>2];c[F+64+136+4>>2]=c[D+4>>2];c[F+64+136+8>>2]=c[D+8>>2];c[F+64+136+12>>2]=c[D+12>>2];c[F+64+152>>2]=c[D+16>>2];c[F+64+152+4>>2]=c[D+16+4>>2];c[F+64+152+8>>2]=c[D+16+8>>2];c[F+64+152+12>>2]=c[D+16+12>>2];c[F+64+168>>2]=c[D+32>>2];c[F+64+168+4>>2]=c[D+32+4>>2];c[F+64+168+8>>2]=c[D+32+8>>2];c[F+64+168+12>>2]=c[D+32+12>>2];c[F+64+184>>2]=c[D+48>>2];c[F+64+184+4>>2]=c[D+48+4>>2];c[F+64+184+8>>2]=c[D+48+8>>2];c[F+64+184+12>>2]=c[D+48+12>>2];g[F+64+204>>2]=O;c[F+64>>2]=5956;c[F+64+212>>2]=i;c[F+64+216>>2]=k;c[F+64+220>>2]=E;c[F+64+200>>2]=c[i+4>>2];g[F+64+208>>2]=j;Zb[c[(c[d>>2]|0)+8>>2]&127](d,F+288|0,F+16|0,F);k=c[E+48>>2]|0;c[F+712>>2]=6996;c[F+712+4>>2]=k;c[F+712+8>>2]=F+64;k=c[E+52>>2]|0;if(!(a[k+60>>0]|0))Ce(k,F+712|0,F+352|0,m*A+n*B+o*C+(m*x+n*y+o*z),p*A+q*B+r*C+(p*x+q*y+r*z),s*A+t*B+u*C+(s*x+t*y+u*z),F+16|0,F);else ke(k,F+712|0,F+352|0,m*A+n*B+o*C+(m*x+n*y+o*z),p*A+q*B+r*C+(p*x+q*y+r*z),s*A+t*B+u*C+(s*x+t*y+u*z),F+16|0,F,c[k+56>>2]|0);l=F;return}case 28:{c[F+712>>2]=3816;c[F+712+168>>2]=0;g[F+712+172>>2]=j;c[F+712+164>>2]=c[i+4>>2];c[F+352>>2]=9280;c[F+352+4>>2]=0;c[F+352+8>>2]=0;c[F+352+12>>2]=d;c[F+352+16>>2]=0;c[F+352+20>>2]=E;if((Hd(F+352|0,e,f,D,D,F+712|0)|0?(w=F+712+132|0,q=+g[w>>2],r=+g[F+712+136>>2],s=+g[F+712+140>>2],q*q+r*r+s*s>9.999999747378752e-05):0)?(t=+g[F+712+164>>2],t<+g[i+4>>2]):0){P=1.0/+G(+(q*q+r*r+s*s));g[w>>2]=q*P;g[F+712+136>>2]=r*P;g[F+712+140>>2]=s*P;c[F+288>>2]=c[h+8>>2];c[F+288+4>>2]=0;c[F+288+8>>2]=c[w>>2];c[F+288+8+4>>2]=c[w+4>>2];c[F+288+8+8>>2]=c[w+8>>2];c[F+288+8+12>>2]=c[w+12>>2];c[F+288+24>>2]=c[F+712+148>>2];c[F+288+24+4>>2]=c[F+712+148+4>>2];c[F+288+24+8>>2]=c[F+712+148+8>>2];c[F+288+24+12>>2]=c[F+712+148+12>>2];g[F+288+40>>2]=t;+Lb[c[(c[i>>2]|0)+12>>2]&15](i,F+288|0,1)}l=F;return}default:{p=+g[D>>2];q=+g[D+16>>2];r=+g[D+32>>2];x=+g[D+4>>2];y=+g[D+20>>2];z=+g[D+36>>2];K=+g[D+8>>2];M=+g[D+24>>2];O=+g[D+40>>2];I=-+g[D+48>>2];H=-+g[D+52>>2];C=-+g[D+56>>2];A=+g[e+48>>2];B=+g[e+52>>2];u=+g[e+56>>2];s=p*I+q*H+r*C+(p*A+q*B+r*u);t=x*I+y*H+z*C+(x*A+y*B+z*u);u=K*I+M*H+O*C+(K*A+M*B+O*u);B=+g[f+48>>2];A=+g[f+52>>2];m=+g[f+56>>2];o=p*I+q*H+r*C+(p*B+q*A+r*m);n=x*I+y*H+z*C+(x*B+y*A+z*m);m=K*I+M*H+O*C+(K*B+M*A+O*m);A=+g[f>>2];B=+g[f+16>>2];C=+g[f+32>>2];H=+g[f+4>>2];I=+g[f+20>>2];J=+g[f+36>>2];L=+g[f+8>>2];N=+g[f+24>>2];P=+g[f+40>>2];g[F+712>>2]=p*A+q*B+r*C;g[F+712+4>>2]=p*H+q*I+r*J;g[F+712+8>>2]=p*L+q*N+r*P;g[F+712+12>>2]=0.0;g[F+712+16>>2]=x*A+y*B+z*C;g[F+712+20>>2]=x*H+y*I+z*J;g[F+712+24>>2]=x*L+y*N+z*P;g[F+712+28>>2]=0.0;g[F+712+32>>2]=K*A+M*B+O*C;g[F+712+36>>2]=K*H+M*I+O*J;g[F+712+40>>2]=K*L+M*N+O*P;w=F+712+44|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;c[w+16>>2]=0;h=c[h+8>>2]|0;P=+Db[c[(c[E>>2]|0)+48>>2]&15](E);c[F+352>>2]=9140;c[F+352+4>>2]=d;c[F+352+8>>2]=c[e>>2];c[F+352+8+4>>2]=c[e+4>>2];c[F+352+8+8>>2]=c[e+8>>2];c[F+352+8+12>>2]=c[e+12>>2];c[F+352+24>>2]=c[e+16>>2];c[F+352+24+4>>2]=c[e+16+4>>2];c[F+352+24+8>>2]=c[e+16+8>>2];c[F+352+24+12>>2]=c[e+16+12>>2];c[F+352+40>>2]=c[e+32>>2];c[F+352+40+4>>2]=c[e+32+4>>2];c[F+352+40+8>>2]=c[e+32+8>>2];c[F+352+40+12>>2]=c[e+32+12>>2];c[F+352+56>>2]=c[e+48>>2];c[F+352+56+4>>2]=c[e+48+4>>2];c[F+352+56+8>>2]=c[e+48+8>>2];c[F+352+56+12>>2]=c[e+48+12>>2];c[F+352+72>>2]=c[f>>2];c[F+352+72+4>>2]=c[f+4>>2];c[F+352+72+8>>2]=c[f+8>>2];c[F+352+72+12>>2]=c[f+12>>2];c[F+352+88>>2]=c[f+16>>2];c[F+352+88+4>>2]=c[f+16+4>>2];c[F+352+88+8>>2]=c[f+16+8>>2];c[F+352+88+12>>2]=c[f+16+12>>2];c[F+352+104>>2]=c[f+32>>2];c[F+352+104+4>>2]=c[f+32+4>>2];c[F+352+104+8>>2]=c[f+32+8>>2];c[F+352+104+12>>2]=c[f+32+12>>2];c[F+352+120>>2]=c[f+48>>2];c[F+352+120+4>>2]=c[f+48+4>>2];c[F+352+120+8>>2]=c[f+48+8>>2];c[F+352+120+12>>2]=c[f+48+12>>2];c[F+352+136>>2]=c[D>>2];c[F+352+136+4>>2]=c[D+4>>2];c[F+352+136+8>>2]=c[D+8>>2];c[F+352+136+12>>2]=c[D+12>>2];c[F+352+152>>2]=c[D+16>>2];c[F+352+152+4>>2]=c[D+16+4>>2];c[F+352+152+8>>2]=c[D+16+8>>2];c[F+352+152+12>>2]=c[D+16+12>>2];c[F+352+168>>2]=c[D+32>>2];c[F+352+168+4>>2]=c[D+32+4>>2];c[F+352+168+8>>2]=c[D+32+8>>2];c[F+352+168+12>>2]=c[D+32+12>>2];c[F+352+184>>2]=c[D+48>>2];c[F+352+184+4>>2]=c[D+48+4>>2];c[F+352+184+8>>2]=c[D+48+8>>2];c[F+352+184+12>>2]=c[D+48+12>>2];g[F+352+204>>2]=P;c[F+352>>2]=5980;c[F+352+212>>2]=i;c[F+352+216>>2]=h;c[F+352+220>>2]=E;c[F+352+200>>2]=c[i+4>>2];g[F+352+208>>2]=j;Zb[c[(c[d>>2]|0)+8>>2]&127](d,F+712|0,F+288|0,F+64|0);g[F+16>>2]=s;g[F+16+4>>2]=t;g[F+16+8>>2]=u;g[F+16+12>>2]=0.0;if(o<s){g[F+16>>2]=o;p=o}else p=s;if(n<t){g[F+16+4>>2]=n;q=n}else q=t;if(m<u){g[F+16+8>>2]=m;r=m}else r=u;g[F>>2]=s;g[F+4>>2]=t;g[F+8>>2]=u;g[F+12>>2]=0.0;if(s<o)g[F>>2]=o;else o=s;if(t<n)g[F+4>>2]=n;else n=t;if(u<m)g[F+8>>2]=m;else m=u;g[F+16>>2]=+g[F+288>>2]+p;g[F+16+4>>2]=+g[F+288+4>>2]+q;g[F+16+8>>2]=+g[F+288+8>>2]+r;g[F>>2]=+g[F+64>>2]+o;g[F+4>>2]=+g[F+64+4>>2]+n;g[F+8>>2]=+g[F+64+8>>2]+m;Zb[c[(c[E>>2]|0)+64>>2]&127](E,F+352|0,F+16|0,F);l=F;return}}}function sc(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0.0,E=0.0,F=0,H=0.0,I=0.0,J=0.0,K=0.0,L=0,M=0,N=0.0,O=0.0,P=0.0,Q=0,R=0.0;M=l;l=l+288|0;g[b+56>>2]=0.0;F=M+272+4|0;L=M+272+8|0;c[M+272>>2]=0;c[M+272+4>>2]=0;c[M+272+8>>2]=0;c[M+272+12>>2]=0;c[M+208>>2]=c[d>>2];c[M+208+4>>2]=c[d+4>>2];c[M+208+8>>2]=c[d+8>>2];c[M+208+12>>2]=c[d+12>>2];c[M+208+16>>2]=c[d+16>>2];c[M+208+16+4>>2]=c[d+16+4>>2];c[M+208+16+8>>2]=c[d+16+8>>2];c[M+208+16+12>>2]=c[d+16+12>>2];c[M+208+32>>2]=c[d+32>>2];c[M+208+32+4>>2]=c[d+32+4>>2];c[M+208+32+8>>2]=c[d+32+8>>2];c[M+208+32+12>>2]=c[d+32+12>>2];v=M+208+48|0;c[v>>2]=c[d+48>>2];c[v+4>>2]=c[d+48+4>>2];c[v+8>>2]=c[d+48+8>>2];c[v+12>>2]=c[d+48+12>>2];c[M+144>>2]=c[d+64>>2];c[M+144+4>>2]=c[d+64+4>>2];c[M+144+8>>2]=c[d+64+8>>2];c[M+144+12>>2]=c[d+64+12>>2];c[M+144+16>>2]=c[d+80>>2];c[M+144+16+4>>2]=c[d+80+4>>2];c[M+144+16+8>>2]=c[d+80+8>>2];c[M+144+16+12>>2]=c[d+80+12>>2];c[M+144+32>>2]=c[d+96>>2];c[M+144+32+4>>2]=c[d+96+4>>2];c[M+144+32+8>>2]=c[d+96+8>>2];c[M+144+32+12>>2]=c[d+96+12>>2];w=M+144+48|0;c[w>>2]=c[d+112>>2];c[w+4>>2]=c[d+112+4>>2];c[w+8>>2]=c[d+112+8>>2];c[w+12>>2]=c[d+112+12>>2];D=+g[v>>2];E=+g[w>>2];H=+g[M+208+52>>2];I=+g[M+144+52>>2];J=+g[M+208+56>>2];K=+g[M+144+56>>2];g[v>>2]=D-(D+E)*.5;g[M+208+52>>2]=H-(H+I)*.5;g[M+208+56>>2]=J-(J+K)*.5;g[w>>2]=E-(D+E)*.5;g[M+144+52>>2]=I-(H+I)*.5;g[M+144+56>>2]=K-(J+K)*.5;if(((c[(c[b+28>>2]|0)+4>>2]|0)+-17|0)>>>0<2)h=((c[(c[b+32>>2]|0)+4>>2]|0)+-17|0)>>>0<2;else h=0;x=+g[b+44>>2];y=+g[b+48>>2];c[6470]=(c[6470]|0)+1;w=(a[b+52>>0]|0)==0;c[b+64>>2]=0;c[b+4>>2]=0;c[b+8>>2]=1065353216;c[b+12>>2]=0;g[b+16>>2]=0.0;c[b+68>>2]=0;c[b+60>>2]=-1;y=w?y:0.0;x=(w?x:0.0)+y;w=c[b+24>>2]|0;a[w+312>>0]=0;c[w>>2]=0;a[w+356>>0]=1;c[w+292>>2]=1566444395;c[w+296>>2]=1566444395;c[w+300>>2]=1566444395;g[w+304>>2]=0.0;c[w+336>>2]=0;c[w+336+4>>2]=0;c[w+336+8>>2]=0;c[w+336+12>>2]=0;a[w+336+16>>0]=0;a[w+332>>0]=a[w+332>>0]&-16;i=+g[b+4>>2];j=+g[b+8>>2];k=+g[b+12>>2];a:do if(h){m=i;q=999999984306749440.0;while(1){z=-m;A=-j;n=-k;B=+g[d+4>>2]*z+ +g[d+20>>2]*A+ +g[d+36>>2]*n;p=+g[d+8>>2]*z+ +g[d+24>>2]*A+ +g[d+40>>2]*n;g[M+128>>2]=+g[d>>2]*z+ +g[d+16>>2]*A+ +g[d+32>>2]*n;g[M+128+4>>2]=B;g[M+128+8>>2]=p;g[M+128+12>>2]=0.0;p=m*+g[d+68>>2]+j*+g[d+84>>2]+k*+g[d+100>>2];B=m*+g[d+72>>2]+j*+g[d+88>>2]+k*+g[d+104>>2];g[M+112>>2]=+g[d+64>>2]*m+ +g[d+80>>2]*j+ +g[d+96>>2]*k;g[M+112+4>>2]=p;g[M+112+8>>2]=B;g[M+112+12>>2]=0.0;rd(M+96|0,c[b+28>>2]|0,M+128|0);rd(M+80|0,c[b+32>>2]|0,M+112|0);j=+g[M+96>>2];B=+g[M+96+4>>2];m=+g[M+96+8>>2];k=j*+g[M+208>>2]+B*+g[M+208+4>>2]+m*+g[M+208+8>>2]+ +g[M+208+48>>2];m=j*+g[M+208+16>>2]+B*+g[M+208+20>>2]+m*+g[M+208+24>>2]+ +g[M+208+52>>2];B=+g[M+80>>2];j=+g[M+80+4>>2];p=+g[M+80+8>>2];n=B*+g[M+144>>2]+j*+g[M+144+4>>2]+p*+g[M+144+8>>2]+ +g[M+144+48>>2];p=B*+g[M+144+16>>2]+j*+g[M+144+20>>2]+p*+g[M+144+24>>2]+ +g[M+144+52>>2];j=+g[b+4>>2]*(k-n)+ +g[b+8>>2]*(m-p)+ +g[b+12>>2]*0.0;if(j>0.0?j*j>q*+g[d+128>>2]:0){h=10;i=q;Q=39;break a}v=c[b+24>>2]|0;w=c[v>>2]|0;if((w|0)>0){i=+g[v+308>>2];o=0;h=0;do{z=k-n-+g[v+4+(h<<4)>>2];A=m-p-+g[v+4+(h<<4)+4>>2];B=0.0-+g[v+4+(h<<4)+8>>2];o=o|z*z+A*A+B*B<=i;h=h+1|0}while((h|0)!=(w|0))}else o=0;if((+g[v+304>>2]==0.0?+g[v+300>>2]==0.0:0)?m-p==+g[v+296>>2]:0)h=k-n==+g[v+292>>2];else h=0;if(o|h){h=1;i=q;Q=39;break a}j=q-j;if(j<=q*9.999999974752427e-07){i=q;Q=31;break a}g[v+292>>2]=k-n;g[v+296>>2]=m-p;g[v+300>>2]=0.0;g[v+304>>2]=0.0;a[v+356>>0]=1;g[v+4+(w<<4)>>2]=k-n;g[v+4+(w<<4)+4>>2]=m-p;g[v+4+(w<<4)+8>>2]=0.0;g[v+4+(w<<4)+12>>2]=0.0;w=c[v>>2]|0;g[v+84+(w<<4)>>2]=k;g[v+84+(w<<4)+4>>2]=m;g[v+84+(w<<4)+8>>2]=0.0;g[v+84+(w<<4)+12>>2]=0.0;w=c[v>>2]|0;g[v+164+(w<<4)>>2]=n;g[v+164+(w<<4)+4>>2]=p;g[v+164+(w<<4)+8>>2]=0.0;g[v+164+(w<<4)+12>>2]=0.0;c[v>>2]=(c[v>>2]|0)+1;v=c[b+24>>2]|0;w=Gc(v)|0;m=+g[v+276>>2];j=+g[v+280>>2];k=+g[v+284>>2];n=+g[v+288>>2];if(!w){h=3;i=q;Q=39;break a}i=q;q=m*m+j*j+k*k;if(q<9.999999974752427e-07){Q=34;break a}if(i-q<=i*1.1920928955078125e-07){h=12;i=q;Q=39;break a}g[b+4>>2]=m;g[b+8>>2]=j;g[b+12>>2]=k;g[b+16>>2]=n;w=c[b+64>>2]|0;c[b+64>>2]=w+1;if((w|0)>1e3){B=0.0;v=0;k=0.0;n=0.0;q=0.0;break a}if((c[c[b+24>>2]>>2]|0)==4){Q=38;break}}}else{m=i;i=999999984306749440.0;while(1){q=-m;s=-j;n=-k;B=+g[d+4>>2]*q+ +g[d+20>>2]*s+ +g[d+36>>2]*n;p=+g[d+8>>2]*q+ +g[d+24>>2]*s+ +g[d+40>>2]*n;g[M+128>>2]=+g[d>>2]*q+ +g[d+16>>2]*s+ +g[d+32>>2]*n;g[M+128+4>>2]=B;g[M+128+8>>2]=p;g[M+128+12>>2]=0.0;p=m*+g[d+68>>2]+j*+g[d+84>>2]+k*+g[d+100>>2];B=m*+g[d+72>>2]+j*+g[d+88>>2]+k*+g[d+104>>2];g[M+112>>2]=+g[d+64>>2]*m+ +g[d+80>>2]*j+ +g[d+96>>2]*k;g[M+112+4>>2]=p;g[M+112+8>>2]=B;g[M+112+12>>2]=0.0;rd(M+96|0,c[b+28>>2]|0,M+128|0);rd(M+80|0,c[b+32>>2]|0,M+112|0);k=+g[M+96>>2];B=+g[M+96+4>>2];p=+g[M+96+8>>2];m=k*+g[M+208>>2]+B*+g[M+208+4>>2]+p*+g[M+208+8>>2]+ +g[M+208+48>>2];n=k*+g[M+208+16>>2]+B*+g[M+208+20>>2]+p*+g[M+208+24>>2]+ +g[M+208+52>>2];p=k*+g[M+208+32>>2]+B*+g[M+208+36>>2]+p*+g[M+208+40>>2]+ +g[M+208+56>>2];B=+g[M+80>>2];k=+g[M+80+4>>2];s=+g[M+80+8>>2];q=B*+g[M+144>>2]+k*+g[M+144+4>>2]+s*+g[M+144+8>>2]+ +g[M+144+48>>2];r=B*+g[M+144+16>>2]+k*+g[M+144+20>>2]+s*+g[M+144+24>>2]+ +g[M+144+52>>2];s=B*+g[M+144+32>>2]+k*+g[M+144+36>>2]+s*+g[M+144+40>>2]+ +g[M+144+56>>2];k=+g[b+4>>2]*(m-q)+ +g[b+8>>2]*(n-r)+ +g[b+12>>2]*(p-s);if(k>0.0?k*k>i*+g[d+128>>2]:0){h=10;Q=39;break a}v=c[b+24>>2]|0;w=c[v>>2]|0;if((w|0)>0){j=+g[v+308>>2];o=0;h=0;do{z=m-q-+g[v+4+(h<<4)>>2];A=n-r-+g[v+4+(h<<4)+4>>2];B=p-s-+g[v+4+(h<<4)+8>>2];o=o|z*z+A*A+B*B<=j;h=h+1|0}while((h|0)!=(w|0))}else o=0;if((+g[v+304>>2]==0.0?p-s==+g[v+300>>2]:0)?n-r==+g[v+296>>2]:0)h=m-q==+g[v+292>>2];else h=0;if(o|h){h=1;Q=39;break a}j=i-k;if(j<=i*9.999999974752427e-07){Q=31;break a}g[v+292>>2]=m-q;g[v+296>>2]=n-r;g[v+300>>2]=p-s;g[v+304>>2]=0.0;a[v+356>>0]=1;g[v+4+(w<<4)>>2]=m-q;g[v+4+(w<<4)+4>>2]=n-r;g[v+4+(w<<4)+8>>2]=p-s;g[v+4+(w<<4)+12>>2]=0.0;w=c[v>>2]|0;g[v+84+(w<<4)>>2]=m;g[v+84+(w<<4)+4>>2]=n;g[v+84+(w<<4)+8>>2]=p;g[v+84+(w<<4)+12>>2]=0.0;w=c[v>>2]|0;g[v+164+(w<<4)>>2]=q;g[v+164+(w<<4)+4>>2]=r;g[v+164+(w<<4)+8>>2]=s;g[v+164+(w<<4)+12>>2]=0.0;c[v>>2]=(c[v>>2]|0)+1;v=c[b+24>>2]|0;w=Gc(v)|0;m=+g[v+276>>2];j=+g[v+280>>2];k=+g[v+284>>2];n=+g[v+288>>2];if(!w){h=3;Q=39;break a}p=i;i=m*m+j*j+k*k;if(i<9.999999974752427e-07){i=p;Q=34;break a}if(p-i<=p*1.1920928955078125e-07){h=12;Q=39;break a}g[b+4>>2]=m;g[b+8>>2]=j;g[b+12>>2]=k;g[b+16>>2]=n;w=c[b+64>>2]|0;c[b+64>>2]=w+1;if((w|0)>1e3){B=0.0;v=0;k=0.0;n=0.0;q=0.0;break a}if((c[c[b+24>>2]>>2]|0)==4){Q=38;break}}}while(0);if((Q|0)==31){h=!(j<=0.0)?11:2;Q=39}else if((Q|0)==34){g[b+4>>2]=m;g[b+8>>2]=j;g[b+12>>2]=k;g[b+16>>2]=n;h=6;Q=39}else if((Q|0)==38){c[b+68>>2]=13;B=0.0;v=0;k=0.0;n=0.0;q=0.0}do if((Q|0)==39){c[b+68>>2]=h;w=c[b+24>>2]|0;Gc(w)|0;k=+g[w+260>>2];n=+g[w+264>>2];q=+g[w+268>>2];c[M+272>>2]=c[b+4>>2];c[M+272+4>>2]=c[b+4+4>>2];c[M+272+8>>2]=c[b+4+8>>2];c[M+272+12>>2]=c[b+4+12>>2];j=+g[b+4>>2];m=+g[b+8>>2];p=+g[b+12>>2];if(j*j+m*m+p*p<.0001)c[b+68>>2]=5;if(j*j+m*m+p*p>1.4210854715202004e-14){B=1.0/+G(+(j*j+m*m+p*p));g[M+272>>2]=B*+g[M+272>>2];g[F>>2]=B*+g[F>>2];g[L>>2]=B*+g[L>>2];A=y/+G(+i);c[b+60>>2]=1;B=1.0/B-x;v=1;k=A*j+k;n=A*m+n;q=A*p+q;break}else{c[b+60>>2]=2;B=0.0;v=0;break}}while(0);if(((c[b+72>>2]|0)!=0?(c[b+20>>2]|0)!=0:0)?(c[b+68>>2]|0)!=0:0)h=x+B<.01;else h=0;o=v^1;do if(h|o?(C=c[b+20>>2]|0,(C|0)!=0):0){c[6469]=(c[6469]|0)+1;c[b+4>>2]=0;c[b+4+4>>2]=0;c[b+4+8>>2]=0;c[b+4+12>>2]=0;if(!(ob[c[(c[C>>2]|0)+8>>2]&3](C,c[b+24>>2]|0,c[b+28>>2]|0,c[b+32>>2]|0,M+208|0,M+144|0,b+4|0,M+64|0,M+48|0,f)|0)){j=+g[b+4>>2];r=+g[b+8>>2];t=+g[b+12>>2];if(!(j*j+r*r+t*t>0.0)){Q=62;break}p=+g[M+48>>2];z=+g[M+64>>2]-p;s=+g[M+48+4>>2];A=+g[M+64+4>>2]-s;u=+g[M+48+8>>2];i=+g[M+64+8>>2]-u;i=+G(+(z*z+A*A+i*i))-x;if(i<B|o){c[M+272>>2]=c[b+4>>2];c[M+272+4>>2]=c[b+4+4>>2];c[M+272+8>>2]=c[b+4+8>>2];c[M+272+12>>2]=c[b+4+12>>2];A=+g[M+272>>2];B=+g[F>>2];k=+g[L>>2];m=1.0/+G(+(A*A+B*B+k*k));g[M+272>>2]=A*m;g[F>>2]=B*m;g[L>>2]=k*m;c[b+60>>2]=6;m=i;k=y*j+p;j=y*r+s;i=y*t+u;break}c[b+60>>2]=5;if(v){m=B;j=n;i=q;break}l=M;return}A=+g[M+48>>2];p=+g[M+64>>2];j=+g[M+48+4>>2];r=+g[M+64+4>>2];i=+g[M+48+8>>2];s=+g[M+64+8>>2];if(!((A-p)*(A-p)+(j-r)*(j-r)+(i-s)*(i-s)<=1.4210854715202004e-14)){u=i-s;x=j-r;y=A-p;z=0.0;m=(A-p)*(A-p)+(j-r)*(j-r)+(i-s)*(i-s)}else{R=+g[b+4>>2];t=+g[b+8>>2];m=+g[b+12>>2];u=m;x=t;y=R;z=+g[b+16>>2];m=R*R+t*t+m*m}if(!(m>1.4210854715202004e-14)){c[b+60>>2]=9;if(v){m=B;j=n;i=q;break}l=M;return}t=1.0/+G(+m);m=-+G(+((p-A)*(p-A)+(r-j)*(r-j)+(s-i)*(s-i)));if(B>m|o){g[M+272>>2]=y*t;g[F>>2]=x*t;g[L>>2]=u*t;g[M+272+12>>2]=z;c[b+60>>2]=3;k=A;break}c[b+60>>2]=8;if(v){m=B;j=n;i=q}else{l=M;return}}else Q=62;while(0);if((Q|0)==62)if(v){m=B;j=n;i=q}else{l=M;return}if(!(m<0.0)?!(m*m<+g[d+128>>2]):0){l=M;return}if(c[b+76>>2]|0?(Q=c[b+28>>2]|0,Zb[c[(c[Q>>2]|0)+8>>2]&127](Q,M+208|0,M+32|0,M+16|0),A=(+g[M+16>>2]+ +g[M+32>>2])*.5,B=(+g[M+16+4>>2]+ +g[M+32+4>>2])*.5,R=(+g[M+16+8>>2]+ +g[M+32+8>>2])*.5,Q=c[b+32>>2]|0,Zb[c[(c[Q>>2]|0)+8>>2]&127](Q,M+144|0,M+32|0,M+16|0),N=+g[M+272>>2],O=+g[F>>2],P=+g[L>>2],(A-(+g[M+32>>2]+ +g[M+16>>2])*.5)*N+(B-(+g[M+32+4>>2]+ +g[M+16+4>>2])*.5)*O+(R-(+g[M+32+8>>2]+ +g[M+16+8>>2])*.5)*P<0.0):0){g[M+272>>2]=-N;g[F>>2]=-O;g[L>>2]=-P}c[b+4>>2]=c[M+272>>2];c[b+4+4>>2]=c[M+272+4>>2];c[b+4+8>>2]=c[M+272+8>>2];c[b+4+12>>2]=c[M+272+12>>2];g[b+56>>2]=m;Q=c[(c[e>>2]|0)+16>>2]|0;g[M>>2]=(D+E)*.5+k;g[M+4>>2]=(H+I)*.5+j;g[M+8>>2]=(J+K)*.5+i;g[M+12>>2]=0.0;Ub[Q&15](e,M+272|0,M,m);l=M;return}function tc(d,e,f){d=d|0;e=e|0;f=+f;var h=0,i=0.0,j=0.0,k=0,m=0.0,n=0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0,u=0;t=l;l=l+528|0;if((a[d+171>>0]|0)==0?+g[d+172>>2]<=0.0:0){l=t;return}a[d+168>>0]=(pb[c[(c[d>>2]|0)+48>>2]&127](d)|0)&1;i=+g[d+16>>2]-+g[d+44>>2]*f;g[d+16>>2]=i;if(i>0.0?(j=+g[d+28>>2],i>j):0){g[d+16>>2]=j;i=j}if(i<0.0?(r=+F(+i),m=+F(+(+g[d+24>>2])),r>m):0){g[d+16>>2]=-m;i=-m}g[d+20>>2]=i*f;h=c[d+8>>2]|0;c[t>>2]=c[h+4>>2];c[t+4>>2]=c[h+4+4>>2];c[t+8>>2]=c[h+4+8>>2];c[t+12>>2]=c[h+4+12>>2];c[t+16>>2]=c[h+20>>2];c[t+16+4>>2]=c[h+20+4>>2];c[t+16+8>>2]=c[h+20+8>>2];c[t+16+12>>2]=c[h+20+12>>2];c[t+32>>2]=c[h+36>>2];c[t+32+4>>2]=c[h+36+4>>2];c[t+32+8>>2]=c[h+36+8>>2];c[t+32+12>>2]=c[h+36+12>>2];c[t+48>>2]=c[h+52>>2];c[t+48+4>>2]=c[h+52+4>>2];c[t+48+8>>2]=c[h+52+8>>2];c[t+48+12>>2]=c[h+52+12>>2];h=c[d+176>>2]|0;if((a[22664]|0)==0?qy(22664)|0:0){c[6176]=1065353216;c[6177]=0;c[6178]=0;c[6179]=0;c[6180]=0;c[6181]=1065353216;c[6182]=0;c[6183]=0;c[6184]=0;c[6185]=0;c[6186]=1065353216;g[6187]=0.0}m=+g[d+20>>2];m=+g[d+52>>2]+(m>0.0?m:0.0);q=+g[24704+(h<<4)+4>>2]*m+ +g[d+96>>2];r=m*+g[24704+(h<<4)+8>>2]+ +g[d+100>>2];g[d+112>>2]=+g[d+92>>2]+ +g[24704+(h<<4)>>2]*m;g[d+116>>2]=q;g[d+120>>2]=r;g[d+124>>2]=0.0;c[t+456>>2]=1065353216;c[t+456+4>>2]=0;c[t+456+4+4>>2]=0;c[t+456+4+8>>2]=0;c[t+456+4+12>>2]=0;c[t+456+20>>2]=1065353216;c[t+456+24>>2]=0;c[t+456+24+4>>2]=0;c[t+456+24+8>>2]=0;c[t+456+24+12>>2]=0;c[t+456+40>>2]=1065353216;h=t+456+44|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[t+392>>2]=1065353216;c[t+392+4>>2]=0;c[t+392+4+4>>2]=0;c[t+392+4+8>>2]=0;c[t+392+4+12>>2]=0;c[t+392+20>>2]=1065353216;c[t+392+24>>2]=0;c[t+392+24+4>>2]=0;c[t+392+24+8>>2]=0;c[t+392+24+12>>2]=0;c[t+392+40>>2]=1065353216;h=t+392+44|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;h=c[d+176>>2]|0;if((a[22664]|0)==0?qy(22664)|0:0){c[6176]=1065353216;c[6177]=0;c[6178]=0;c[6179]=0;c[6180]=0;c[6181]=1065353216;c[6182]=0;c[6183]=0;c[6184]=0;c[6185]=0;c[6186]=1065353216;g[6187]=0.0}k=c[d+12>>2]|0;m=+Db[c[(c[k>>2]|0)+48>>2]&15](k);m=m+ +g[d+56>>2];q=m*+g[24704+(h<<4)+4>>2]+ +g[d+96>>2];r=m*+g[24704+(h<<4)+8>>2]+ +g[d+100>>2];g[t+456+48>>2]=+g[24704+(h<<4)>>2]*m+ +g[d+92>>2];g[t+456+52>>2]=q;g[t+456+56>>2]=r;g[t+456+60>>2]=0.0;c[t+392+48>>2]=c[d+112>>2];c[t+392+48+4>>2]=c[d+112+4>>2];c[t+392+48+8>>2]=c[d+112+8>>2];c[t+392+48+12>>2]=c[d+112+12>>2];h=c[d+8>>2]|0;k=c[d+176>>2]|0;if((a[22664]|0)==0?qy(22664)|0:0){c[6176]=1065353216;c[6177]=0;c[6178]=0;c[6179]=0;c[6180]=0;c[6181]=1065353216;c[6182]=0;c[6183]=0;c[6184]=0;c[6185]=0;c[6186]=1065353216;g[6187]=0.0}m=-+g[24704+(k<<4)>>2];q=-+g[24704+(k<<4)+4>>2];r=-+g[24704+(k<<4)+8>>2];g[t+288+4>>2]=1.0;p=t+288+12|0;c[t+288+76>>2]=0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[p+20>>2]=0;c[p+24>>2]=0;c[p+28>>2]=0;c[t+288>>2]=5064;c[t+288+80>>2]=h;g[t+288+84>>2]=m;g[t+288+88>>2]=q;g[t+288+92>>2]=r;g[t+288+96>>2]=0.0;g[t+288+100>>2]=.707099974155426;h=c[d+8>>2]|0;p=c[h+188>>2]|0;b[t+288+8>>1]=b[p+4>>1]|0;b[t+288+10>>1]=b[p+6>>1]|0;if(!(a[d+170>>0]|0))zd(e,c[d+12>>2]|0,t+456|0,t+392|0,t+288|0,0.0);else id(h,c[d+12>>2]|0,t+456|0,t+392|0,t+288|0,+g[e+56>>2]);if(+g[t+288+4>>2]<1.0){h=c[d+176>>2]|0;if((a[22664]|0)==0?qy(22664)|0:0){c[6176]=1065353216;c[6177]=0;c[6178]=0;c[6179]=0;c[6180]=0;c[6181]=1065353216;c[6182]=0;c[6183]=0;c[6184]=0;c[6185]=0;c[6186]=1065353216;g[6187]=0.0}do if(+g[t+288+44>>2]*+g[24704+(h<<4)>>2]+ +g[t+288+48>>2]*+g[24704+(h<<4)+4>>2]+ +g[t+288+52>>2]*+g[24704+(h<<4)+8>>2]>0.0){i=+g[t+288+4>>2];g[d+108>>2]=+g[d+52>>2]*i;if(!(a[d+180>>0]|0)){c[d+92>>2]=c[d+112>>2];c[d+92+4>>2]=c[d+112+4>>2];c[d+92+8>>2]=c[d+112+8>>2];c[d+92+12>>2]=c[d+112+12>>2];break}else{g[d+92>>2]=(1.0-i)*+g[d+92>>2]+i*+g[d+112>>2];g[d+96>>2]=(1.0-i)*+g[d+96>>2]+i*+g[d+116>>2];g[d+100>>2]=(1.0-i)*+g[d+100>>2]+i*+g[d+120>>2];break}}while(0);g[d+16>>2]=0.0;g[d+20>>2]=0.0}else{c[d+108>>2]=c[d+52>>2];c[d+92>>2]=c[d+112>>2];c[d+92+4>>2]=c[d+112+4>>2];c[d+92+8>>2]=c[d+112+8>>2];c[d+92+12>>2]=c[d+112+12>>2]}if(!(a[d+171>>0]|0)){q=+g[d+172>>2];r=q>f?f:q;g[d+172>>2]=q-f;Sd(d,e,+g[d+60>>2]*r,r*+g[d+64>>2],r*+g[d+68>>2])}else Sd(d,e,+g[d+60>>2],+g[d+64>>2],+g[d+68>>2]);c[t+272>>2]=c[d+112>>2];c[t+272+4>>2]=c[d+112+4>>2];c[t+272+8>>2]=c[d+112+8>>2];c[t+272+12>>2]=c[d+112+12>>2];i=+g[d+16>>2];i=(i<0.0?-i:0.0)*f;do if(i>0.0?(o=+g[d+24>>2],i>o):0){if((a[d+168>>0]|0)==0?a[d+169>>0]|0:0)break;i=o}while(0);h=c[d+176>>2]|0;if((a[22664]|0)==0?qy(22664)|0:0){c[6176]=1065353216;c[6177]=0;c[6178]=0;c[6179]=0;c[6180]=0;c[6181]=1065353216;c[6182]=0;c[6183]=0;c[6184]=0;c[6185]=0;c[6186]=1065353216;g[6187]=0.0}o=i+ +g[d+108>>2];q=+g[24704+(h<<4)>>2]*o;r=o*+g[24704+(h<<4)+4>>2];o=o*+g[24704+(h<<4)+8>>2];g[d+112>>2]=+g[d+112>>2]-q;g[d+116>>2]=+g[d+116>>2]-r;g[d+120>>2]=+g[d+120>>2]-o;h=c[d+8>>2]|0;k=c[d+176>>2]|0;if((a[22664]|0)==0?qy(22664)|0:0){c[6176]=1065353216;c[6177]=0;c[6178]=0;c[6179]=0;c[6180]=0;c[6181]=1065353216;c[6182]=0;c[6183]=0;c[6184]=0;c[6185]=0;c[6186]=1065353216;g[6187]=0.0}n=c[d+40>>2]|0;p=t+168+4|0;g[p>>2]=1.0;u=t+168+12|0;c[t+168+76>>2]=0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;c[u+24>>2]=0;c[u+28>>2]=0;c[t+168>>2]=5064;c[t+168+80>>2]=h;c[t+168+84>>2]=c[24704+(k<<4)>>2];c[t+168+84+4>>2]=c[24704+(k<<4)+4>>2];c[t+168+84+8>>2]=c[24704+(k<<4)+8>>2];c[t+168+84+12>>2]=c[24704+(k<<4)+12>>2];c[t+168+100>>2]=n;h=c[d+8>>2]|0;k=c[h+188>>2]|0;b[t+168+8>>1]=b[k+4>>1]|0;b[t+168+10>>1]=b[k+6>>1]|0;k=c[d+176>>2]|0;if((a[22664]|0)==0?qy(22664)|0:0){c[6176]=1065353216;c[6177]=0;c[6178]=0;c[6179]=0;c[6180]=0;c[6181]=1065353216;c[6182]=0;c[6183]=0;c[6184]=0;c[6185]=0;c[6186]=1065353216;g[6187]=0.0}u=c[d+40>>2]|0;g[t+64+4>>2]=1.0;n=t+64+12|0;c[t+64+76>>2]=0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;c[n+20>>2]=0;c[n+24>>2]=0;c[n+28>>2]=0;c[t+64>>2]=5064;c[t+64+80>>2]=h;c[t+64+84>>2]=c[24704+(k<<4)>>2];c[t+64+84+4>>2]=c[24704+(k<<4)+4>>2];c[t+64+84+8>>2]=c[24704+(k<<4)+8>>2];c[t+64+84+12>>2]=c[24704+(k<<4)+12>>2];c[t+64+100>>2]=u;h=c[(c[d+8>>2]|0)+188>>2]|0;b[t+64+8>>1]=b[h+4>>1]|0;b[t+64+10>>1]=b[h+6>>1]|0;i=+g[d+112>>2];j=+g[d+116>>2];m=+g[d+120>>2];h=0;while(1){c[t+456>>2]=1065353216;c[t+456+4>>2]=0;c[t+456+4+4>>2]=0;c[t+456+4+8>>2]=0;c[t+456+4+12>>2]=0;c[t+456+20>>2]=1065353216;c[t+456+24>>2]=0;c[t+456+24+4>>2]=0;c[t+456+24+8>>2]=0;c[t+456+24+12>>2]=0;c[t+456+40>>2]=1065353216;c[t+456+44>>2]=0;c[t+392>>2]=1065353216;c[t+392+4>>2]=0;c[t+392+4+4>>2]=0;c[t+392+4+8>>2]=0;c[t+392+4+12>>2]=0;c[t+392+20>>2]=1065353216;c[t+392+24>>2]=0;c[t+392+24+4>>2]=0;c[t+392+24+8>>2]=0;c[t+392+24+12>>2]=0;c[t+392+40>>2]=1065353216;c[t+392+44>>2]=0;c[t+288>>2]=1065353216;c[t+288+4>>2]=0;c[t+288+4+4>>2]=0;c[t+288+4+8>>2]=0;c[t+288+4+12>>2]=0;c[t+288+20>>2]=1065353216;c[t+288+24>>2]=0;c[t+288+24+4>>2]=0;c[t+288+24+8>>2]=0;c[t+288+24+12>>2]=0;c[t+288+40>>2]=1065353216;c[t+288+44>>2]=0;c[t+456+48>>2]=c[d+92>>2];c[t+456+48+4>>2]=c[d+92+4>>2];c[t+456+48+8>>2]=c[d+92+8>>2];c[t+456+48+12>>2]=c[d+92+12>>2];c[t+392+48>>2]=c[d+112>>2];c[t+392+48+4>>2]=c[d+112+4>>2];c[t+392+48+8>>2]=c[d+112+8>>2];c[t+392+48+12>>2]=c[d+112+12>>2];g[t+288+48>>2]=i-q;g[t+288+52>>2]=j-r;g[t+288+56>>2]=m-o;g[t+288+60>>2]=0.0;if(!(a[d+170>>0]|0)){zd(e,c[d+12>>2]|0,t+456|0,t+392|0,t+168|0,+g[e+56>>2]);if(!(+g[p>>2]<1.0))zd(e,c[d+12>>2]|0,t+456|0,t+288|0,t+64|0,+g[e+56>>2])}else{id(c[d+8>>2]|0,c[d+12>>2]|0,t+456|0,t+392|0,t+168|0,+g[e+56>>2]);if(!(+g[p>>2]<1.0))id(c[d+8>>2]|0,c[d+12>>2]|0,t+456|0,t+288|0,t+64|0,+g[e+56>>2])}j=+g[d+16>>2];j=(j<0.0?-j:0.0)*f;n=(a[d+182>>0]|0)==0;if(!n?+g[p>>2]<1.0:0)k=1;else k=+g[t+64+4>>2]<1.0;if(!(j>0.0))break;i=+g[d+52>>2];if(h|(!(j<i)|k^1))break;if((a[d+168>>0]|0)==0?a[d+169>>0]|0:0){h=0;break}c[d+112>>2]=c[t+272>>2];c[d+112+4>>2]=c[t+272+4>>2];c[d+112+8>>2]=c[t+272+8>>2];c[d+112+12>>2]=c[t+272+12>>2];h=c[d+176>>2]|0;do if(!(a[22664]|0)){if(!(qy(22664)|0))break;c[6176]=1065353216;c[6177]=0;c[6178]=0;c[6179]=0;c[6180]=0;c[6181]=1065353216;c[6182]=0;c[6183]=0;c[6184]=0;c[6185]=0;c[6186]=1065353216;g[6187]=0.0}while(0);i=i+ +g[d+108>>2];j=i*+g[24704+(h<<4)+4>>2];m=i*+g[24704+(h<<4)+8>>2];i=+g[d+112>>2]-+g[24704+(h<<4)>>2]*i;g[d+112>>2]=i;j=+g[d+116>>2]-j;g[d+116>>2]=j;m=+g[d+120>>2]-m;g[d+120>>2]=m;h=1}m=+g[p>>2];if(h|m<1.0){i=+g[d+96>>2];j=(i-+g[t+168+64>>2])*.5;do if(!n)if(!(a[d+181>>0]|0)){g[d+92>>2]=(1.0-j)*+g[d+92>>2]+j*+g[d+112>>2];g[d+96>>2]=(1.0-j)*i+j*+g[d+116>>2];g[d+100>>2]=(1.0-j)*+g[d+100>>2]+j*+g[d+120>>2];h=d+181|0;break}else{g[d+92>>2]=(1.0-m)*+g[d+92>>2]+m*+g[d+112>>2];g[d+96>>2]=(1.0-m)*i+m*+g[d+116>>2];g[d+100>>2]=(1.0-m)*+g[d+100>>2]+m*+g[d+120>>2];h=d+181|0;break}else{g[d+92>>2]=(1.0-m)*+g[d+92>>2]+m*+g[d+112>>2];g[d+96>>2]=(1.0-m)*i+m*+g[d+116>>2];g[d+100>>2]=(1.0-m)*+g[d+100>>2]+m*+g[d+120>>2];h=d+181|0}while(0);a[h>>0]=0;g[d+16>>2]=0.0;g[d+20>>2]=0.0;a[d+169>>0]=0}else{a[d+181>>0]=1;do if(!n?(s=+g[d+24>>2],j>s):0){if((a[d+168>>0]|0)==0?a[d+169>>0]|0:0)break;g[d+112>>2]=q+ +g[d+112>>2];g[d+116>>2]=r+ +g[d+116>>2];g[d+120>>2]=o+ +g[d+120>>2];h=c[d+176>>2]|0;do if(!(a[22664]|0)){if(!(qy(22664)|0))break;c[6176]=1065353216;c[6177]=0;c[6178]=0;c[6179]=0;c[6180]=0;c[6181]=1065353216;c[6182]=0;c[6183]=0;c[6184]=0;c[6185]=0;c[6186]=1065353216;g[6187]=0.0}while(0);r=s+ +g[d+108>>2];f=r*+g[24704+(h<<4)+4>>2];s=r*+g[24704+(h<<4)+8>>2];g[d+112>>2]=+g[d+112>>2]-+g[24704+(h<<4)>>2]*r;g[d+116>>2]=+g[d+116>>2]-f;g[d+120>>2]=+g[d+120>>2]-s}while(0);c[d+92>>2]=c[d+112>>2];c[d+92+4>>2]=c[d+112+4>>2];c[d+92+8>>2]=c[d+112+8>>2];c[d+92+12>>2]=c[d+112+12>>2]}c[t+48>>2]=c[d+92>>2];c[t+48+4>>2]=c[d+92+4>>2];c[t+48+8>>2]=c[d+92+8>>2];c[t+48+12>>2]=c[d+92+12>>2];u=c[d+8>>2]|0;c[u+260>>2]=(c[u+260>>2]|0)+1;c[u+4>>2]=c[t>>2];c[u+4+4>>2]=c[t+4>>2];c[u+4+8>>2]=c[t+8>>2];c[u+4+12>>2]=c[t+12>>2];c[u+20>>2]=c[t+16>>2];c[u+20+4>>2]=c[t+16+4>>2];c[u+20+8>>2]=c[t+16+8>>2];c[u+20+12>>2]=c[t+16+12>>2];c[u+36>>2]=c[t+32>>2];c[u+36+4>>2]=c[t+32+4>>2];c[u+36+8>>2]=c[t+32+8>>2];c[u+36+12>>2]=c[t+32+12>>2];c[u+52>>2]=c[t+48>>2];c[u+52+4>>2]=c[t+48+4>>2];c[u+52+8>>2]=c[t+48+8>>2];c[u+52+12>>2]=c[t+48+12>>2];l=t;return}function uc(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,m=0.0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0,y=0.0,z=0;z=l;l=l+112|0;c[b+164>>2]=1065353216;c[b+168>>2]=1065353216;c[b+172>>2]=1065353216;g[b+176>>2]=0.0;c[b+180>>2]=0;g[b+184>>2]=999999984306749440.0;c[b+188>>2]=0;c[b+188+4>>2]=0;c[b+188+8>>2]=0;c[b+188+12>>2]=0;c[b+204>>2]=1;c[b+208>>2]=-1;c[b+212>>2]=-1;c[b+216>>2]=1;g[b+220>>2]=0.0;g[b+224>>2]=.5;g[b+228>>2]=0.0;g[b+232>>2]=0.0;c[b+236>>2]=1;c[b+240>>2]=0;g[b+244>>2]=1.0;c[b+248>>2]=0;c[b+248+4>>2]=0;c[b+248+8>>2]=0;c[b+248+12>>2]=0;c[b+4>>2]=1065353216;c[b+8>>2]=0;c[b+8+4>>2]=0;c[b+8+8>>2]=0;c[b+8+12>>2]=0;c[b+24>>2]=1065353216;c[b+28>>2]=0;c[b+28+4>>2]=0;c[b+28+8>>2]=0;c[b+28+12>>2]=0;c[b+44>>2]=1065353216;c[b+48>>2]=0;c[b+48+4>>2]=0;c[b+48+8>>2]=0;c[b+48+12>>2]=0;c[b+48+16>>2]=0;c[b>>2]=3308;a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;c[b+272>>2]=0;c[b+284>>2]=0;a[b+408>>0]=1;c[b+404>>2]=0;c[b+396>>2]=0;c[b+400>>2]=0;a[b+428>>0]=1;c[b+424>>2]=0;c[b+416>>2]=0;c[b+420>>2]=0;a[b+448>>0]=1;c[b+444>>2]=0;c[b+436>>2]=0;c[b+440>>2]=0;a[b+496>>0]=1;c[b+492>>2]=0;c[b+484>>2]=0;c[b+488>>2]=0;a[b+516>>0]=1;c[b+512>>2]=0;c[b+504>>2]=0;c[b+508>>2]=0;c[b+684>>2]=d;a[b+704>>0]=1;c[b+700>>2]=0;c[b+692>>2]=0;c[b+696>>2]=0;a[b+724>>0]=1;c[b+720>>2]=0;c[b+712>>2]=0;c[b+716>>2]=0;a[b+744>>0]=1;c[b+740>>2]=0;c[b+732>>2]=0;c[b+736>>2]=0;a[b+764>>0]=1;c[b+760>>2]=0;c[b+752>>2]=0;c[b+756>>2]=0;a[b+784>>0]=1;c[b+780>>2]=0;c[b+772>>2]=0;c[b+776>>2]=0;a[b+804>>0]=1;c[b+800>>2]=0;c[b+792>>2]=0;c[b+796>>2]=0;a[b+824>>0]=1;c[b+820>>2]=0;c[b+812>>2]=0;c[b+816>>2]=0;a[b+844>>0]=1;c[b+840>>2]=0;c[b+832>>2]=0;c[b+836>>2]=0;a[b+864>>0]=1;c[b+860>>2]=0;c[b+852>>2]=0;c[b+856>>2]=0;a[b+884>>0]=1;c[b+880>>2]=0;c[b+872>>2]=0;c[b+876>>2]=0;a[b+964>>0]=1;c[b+960>>2]=0;c[b+952>>2]=0;c[b+956>>2]=0;a[b+984>>0]=1;c[b+980>>2]=0;c[b+972>>2]=0;c[b+976>>2]=0;c[b+928>>2]=0;c[b+932>>2]=0;c[b+936>>2]=-1;c[b+940>>2]=0;c[b+944>>2]=0;a[b+1024>>0]=1;c[b+1020>>2]=0;c[b+1012>>2]=0;c[b+1016>>2]=0;a[b+1044>>0]=1;c[b+1040>>2]=0;c[b+1032>>2]=0;c[b+1036>>2]=0;c[b+988>>2]=0;c[b+992>>2]=0;c[b+996>>2]=-1;c[b+1e3>>2]=0;c[b+1004>>2]=0;a[b+1084>>0]=1;c[b+1080>>2]=0;c[b+1072>>2]=0;c[b+1076>>2]=0;a[b+1104>>0]=1;c[b+1100>>2]=0;c[b+1092>>2]=0;c[b+1096>>2]=0;c[b+1048>>2]=0;c[b+1052>>2]=0;c[b+1056>>2]=-1;c[b+1060>>2]=0;c[b+1064>>2]=0;a[b+1124>>0]=1;c[b+1120>>2]=0;c[b+1112>>2]=0;c[b+1116>>2]=0;a[b+1144>>0]=1;c[b+1140>>2]=0;c[b+1132>>2]=0;c[b+1136>>2]=0;a[b+1248>>0]=1;c[b+1244>>2]=0;c[b+1236>>2]=0;c[b+1240>>2]=0;c[b+236>>2]=8;c[b+288>>2]=0;g[b+292>>2]=1.0;c[b+296>>2]=0;c[b+296+4>>2]=0;c[b+296+8>>2]=0;c[b+296+12>>2]=0;c[b+296+16>>2]=0;g[b+316>>2]=.20000000298023224;g[b+320>>2]=0.0;g[b+324>>2]=1.0;g[b+328>>2]=.10000000149011612;g[b+332>>2]=1.0;g[b+336>>2]=.699999988079071;g[b+340>>2]=.10000000149011612;g[b+344>>2]=1.0;g[b+348>>2]=.5;g[b+352>>2]=.5;g[b+356>>2]=.5;g[b+360>>2]=.5;g[b+364>>2]=1.0;g[b+368>>2]=1.0;c[b+372>>2]=0;c[b+376>>2]=1;c[b+380>>2]=0;c[b+384>>2]=4;c[b+388>>2]=1;a[b+472>>0]=0;a[b+473>>0]=0;g[b+476>>2]=0.0;c[b+520>>2]=0;c[b+520+4>>2]=0;c[b+520+8>>2]=0;c[b+520+12>>2]=0;c[b+536>>2]=1065353216;c[b+540>>2]=0;c[b+540+4>>2]=0;c[b+540+8>>2]=0;c[b+540+12>>2]=0;c[b+556>>2]=1065353216;c[b+560>>2]=0;c[b+560+4>>2]=0;c[b+560+8>>2]=0;c[b+560+12>>2]=0;c[b+576>>2]=1065353216;g[b+580>>2]=0.0;c[b+584>>2]=1065353216;c[b+588>>2]=0;c[b+588+4>>2]=0;c[b+588+8>>2]=0;c[b+588+12>>2]=0;c[b+604>>2]=1065353216;c[b+608>>2]=0;c[b+608+4>>2]=0;c[b+608+8>>2]=0;c[b+608+12>>2]=0;c[b+624>>2]=1065353216;g[b+628>>2]=0.0;c[b+680>>2]=0;g[b+888>>2]=0.0;a[b+924>>0]=1;c[b+892>>2]=0;c[b+892+4>>2]=0;c[b+892+8>>2]=0;c[b+892+12>>2]=0;c[b+892+16>>2]=0;c[b+892+20>>2]=0;c[b+892+24>>2]=0;c[b+892+28>>2]=0;c[b+4>>2]=1065353216;c[b+8>>2]=0;c[b+8+4>>2]=0;c[b+8+8>>2]=0;c[b+8+12>>2]=0;c[b+24>>2]=1065353216;c[b+28>>2]=0;c[b+28+4>>2]=0;c[b+28+8>>2]=0;c[b+28+12>>2]=0;c[b+44>>2]=1065353216;c[b+48>>2]=0;c[b+48+4>>2]=0;c[b+48+8>>2]=0;c[b+48+12>>2]=0;c[b+48+16>>2]=0;d=c[b+404>>2]|0;if(d|0){if(a[b+408>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+404>>2]=0}a[b+408>>0]=1;c[b+404>>2]=0;c[b+396>>2]=0;c[b+400>>2]=0;d=c[b+424>>2]|0;if(d|0){if(a[b+428>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+424>>2]=0}a[b+428>>0]=1;c[b+424>>2]=0;c[b+416>>2]=0;c[b+420>>2]=0;d=c[b+444>>2]|0;do if(d)if(a[b+448>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0);i=c[b+416>>2]|0;d=c[b+420>>2]|0;c[b+444>>2]=0;a[b+448>>0]=1;c[b+444>>2]=0;c[b+436>>2]=0;c[b+440>>2]=0;if((i|0)==(d|0)){v=14;break}else break}else{c[b+444>>2]=0;v=13;break}else v=13;while(0);if((v|0)==13){a[b+448>>0]=1;c[b+444>>2]=0;c[b+436>>2]=0;c[b+440>>2]=0;d=0;v=14}if((v|0)==14){n=d|0?d<<1:1;if((d|0)<(n|0)){if(!n)k=0;else{c[6485]=(c[6485]|0)+1;d=ic((n<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}k=d;d=c[b+416>>2]|0}j=c[b+424>>2]|0;if((d|0)<=0){if(j)v=22}else{i=0;do{c[k+(i<<2)>>2]=c[j+(i<<2)>>2];i=i+1|0}while((i|0)!=(d|0));v=22}if((v|0)==22){if(a[b+428>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[j+-4>>2]|0);d=c[b+416>>2]|0}c[b+424>>2]=0}a[b+428>>0]=1;c[b+424>>2]=k;c[b+420>>2]=n;i=d;d=n}else i=d}j=c[b+424>>2]|0;c[j+(i<<2)>>2]=1;i=i+1|0;c[b+416>>2]=i;if((i|0)==(d|0)){n=d|0?d<<1:1;if((d|0)<(n|0)){if(!n)k=0;else{c[6485]=(c[6485]|0)+1;d=ic((n<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}k=d;d=c[b+416>>2]|0;j=c[b+424>>2]|0}if((d|0)<=0){if(j)v=35}else{i=0;do{c[k+(i<<2)>>2]=c[j+(i<<2)>>2];i=i+1|0}while((i|0)!=(d|0));v=35}if((v|0)==35){if(a[b+428>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[j+-4>>2]|0);d=c[b+416>>2]|0}c[b+424>>2]=0}a[b+428>>0]=1;c[b+424>>2]=k;c[b+420>>2]=n;j=k;i=d;d=n}else i=d}c[j+(i<<2)>>2]=2;i=i+1|0;c[b+416>>2]=i;if((i|0)==(d|0)){n=d|0?d<<1:1;if((d|0)<(n|0)){if(!n)k=0;else{c[6485]=(c[6485]|0)+1;d=ic((n<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}k=d;d=c[b+416>>2]|0;j=c[b+424>>2]|0}if((d|0)<=0){if(j)v=48}else{i=0;do{c[k+(i<<2)>>2]=c[j+(i<<2)>>2];i=i+1|0}while((i|0)!=(d|0));v=48}if((v|0)==48){if(a[b+428>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[j+-4>>2]|0);d=c[b+416>>2]|0}c[b+424>>2]=0}a[b+428>>0]=1;c[b+424>>2]=k;c[b+420>>2]=n;i=d;d=n}else{k=j;i=d}}else k=j;c[k+(i<<2)>>2]=3;i=i+1|0;c[b+416>>2]=i;if((i|0)==(d|0)){n=d|0?d<<1:1;if((d|0)<(n|0)){if(!n)j=0;else{c[6485]=(c[6485]|0)+1;d=ic((n<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}j=d;d=c[b+416>>2]|0;k=c[b+424>>2]|0}if((d|0)<=0){if(k)v=61}else{i=0;do{c[j+(i<<2)>>2]=c[k+(i<<2)>>2];i=i+1|0}while((i|0)!=(d|0));v=61}if((v|0)==61){if(a[b+428>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[k+-4>>2]|0);d=c[b+416>>2]|0}c[b+424>>2]=0}a[b+428>>0]=1;c[b+424>>2]=j;c[b+420>>2]=n}else j=k}else{j=k;d=i}c[j+(d<<2)>>2]=0;c[b+416>>2]=d+1;c[6485]=(c[6485]|0)+1;d=ic(39)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}c[d+8>>2]=0;c[d>>2]=3416;c[d+4>>2]=32;c[d+16>>2]=b;c[b+192>>2]=d;g[d+12>>2]=.25;c[b+1148>>2]=1065353216;c[b+1152>>2]=0;c[b+1152+4>>2]=0;c[b+1152+8>>2]=0;c[b+1152+12>>2]=0;c[b+1168>>2]=1065353216;c[b+1172>>2]=0;c[b+1172+4>>2]=0;c[b+1172+8>>2]=0;c[b+1172+12>>2]=0;c[b+1188>>2]=1065353216;v=b+1192|0;w=v+36|0;do{c[v>>2]=0;v=v+4|0}while((v|0)<(w|0));g[b+1228>>2]=1.0;x=Yg(b)|0;g[x+4>>2]=1.0;g[x+8>>2]=1.0;g[x+12>>2]=1.0;c[x+16>>2]=1;v=c[b+192>>2]|0;y=+Db[c[(c[v>>2]|0)+48>>2]&15](v);v=z;w=v+100|0;do{c[v>>2]=0;v=v+4|0}while((v|0)<(w|0));n=c[b+712>>2]|0;if((n|0)<(e|0)){if((c[b+716>>2]|0)<(e|0)){if(!e){d=0;i=n}else{c[6485]=(c[6485]|0)+1;d=ic((e*104|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}i=c[b+712>>2]|0}if((i|0)>0){j=0;do{v=d+(j*104|0)|0;k=(c[b+720>>2]|0)+(j*104|0)|0;w=v+104|0;do{c[v>>2]=c[k>>2];v=v+4|0;k=k+4|0}while((v|0)<(w|0));j=j+1|0}while((j|0)!=(i|0))}i=c[b+720>>2]|0;if(i|0){if(a[b+724>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[i+-4>>2]|0)}c[b+720>>2]=0}a[b+724>>0]=1;c[b+720>>2]=d;c[b+716>>2]=e;d=n}else d=n;do{v=c[b+720>>2]|0;c[v+(d*104|0)>>2]=0;v=v+(d*104|0)+4|0;k=z;w=v+100|0;do{c[v>>2]=c[k>>2];v=v+4|0;k=k+4|0}while((v|0)<(w|0));d=d+1|0}while((d|0)!=(e|0))}c[b+712>>2]=e;if((e|0)>0){j=h;i=f;f=0;while(1){n=c[b+720>>2]|0;h=n+(f*104|0)|0;v=h;w=v+104|0;do{c[v>>2]=0;v=v+4|0}while((v|0)<(w|0));d=n+(f*104|0)+8|0;if(!i){k=0;o=0.0;p=0.0;q=0.0;m=0.0}else{k=i+16|0;o=+g[i>>2];p=+g[i+4>>2];q=+g[i+8>>2];m=+g[i+12>>2]}g[d>>2]=o;g[n+(f*104|0)+12>>2]=p;g[n+(f*104|0)+16>>2]=q;g[n+(f*104|0)+20>>2]=m;w=n+(f*104|0)+24|0;c[w>>2]=c[d>>2];c[w+4>>2]=c[d+4>>2];c[w+8>>2]=c[d+8>>2];c[w+12>>2]=c[d+12>>2];if(!j){i=0;m=1.0}else{i=j+4|0;m=+g[j>>2]}g[n+(f*104|0)+88>>2]=m>0.0?1.0/m:0.0;s=o-y;t=p-y;u=q-y;r=y+o;o=y+p;m=y+q;d=c[b+932>>2]|0;if(!d){c[6485]=(c[6485]|0)+1;d=ic(63)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}v=d;w=v+44|0;do{c[v>>2]=0;v=v+4|0}while((v|0)<(w|0))}else c[b+932>>2]=0;c[d+32>>2]=0;c[d+36>>2]=h;c[d+40>>2]=0;g[d>>2]=s;g[d+4>>2]=t;g[d+8>>2]=u;g[d+12>>2]=0.0;g[d+16>>2]=r;g[d+20>>2]=o;g[d+24>>2]=m;g[d+28>>2]=0.0;_e(b+928|0,c[b+928>>2]|0,d);c[b+940>>2]=(c[b+940>>2]|0)+1;c[n+(f*104|0)+96>>2]=d;c[n+(f*104|0)+4>>2]=x;f=f+1|0;if((f|0)==(e|0))break;else{j=i;i=k}}}d=c[b+928>>2]|0;if(!d){c[b+892>>2]=0;c[b+892+4>>2]=0;c[b+892+8>>2]=0;c[b+892+12>>2]=0;c[b+892+16>>2]=0;c[b+892+20>>2]=0;c[b+892+24>>2]=0;c[b+892+28>>2]=0;l=z;return}e=c[b+192>>2]|0;t=+Db[c[(c[e>>2]|0)+48>>2]&15](e);y=+g[d+4>>2]-t;u=+g[d+8>>2]-t;g[b+892>>2]=+g[d>>2]-t;g[b+896>>2]=y;g[b+900>>2]=u;g[b+904>>2]=0.0;u=t+ +g[d+20>>2];y=t+ +g[d+24>>2];g[b+908>>2]=t+ +g[d+16>>2];g[b+912>>2]=u;g[b+916>>2]=y;g[b+920>>2]=0.0;d=c[b+188>>2]|0;if(!d){l=z;return}e=c[b+684>>2]|0;x=c[e+32>>2]|0;jb[c[(c[x>>2]|0)+16>>2]&31](x,d,b+892|0,b+908|0,c[e+36>>2]|0);l=z;return}function vc(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0.0,pa=0.0,qa=0.0,ra=0.0;ga=l;l=l+192|0;da=c[d+4>>2]|0;ea=c[e+4>>2]|0;if((c[da+68>>2]|0)==(c[b+40>>2]|0)?(c[ea+68>>2]|0)==(c[b+44>>2]|0):0)ca=b+8|0;else{i=c[b+8>>2]|0;j=c[i+8>>2]|0;if((j|0)>0){m=0;do{k=c[(c[i+16>>2]|0)+(m*12|0)+8>>2]|0;if(k|0){lb[c[c[k>>2]>>2]&511](k);ca=c[b+4>>2]|0;nb[c[(c[ca>>2]|0)+60>>2]&127](ca,k)}m=m+1|0}while((m|0)!=(j|0));i=c[b+8>>2]|0}Hh(i);ca=b+8|0}q=ga+128+16|0;a[q>>0]=1;r=ga+128+12|0;c[r>>2]=0;s=ga+128+4|0;c[s>>2]=0;c[ga+128+8>>2]=0;p=c[ca>>2]|0;i=c[p+8>>2]|0;if((i|0)>0){o=0;do{j=c[(c[p+16>>2]|0)+(o*12|0)+8>>2]|0;if(j){nb[c[(c[j>>2]|0)+16>>2]&127](j,ga+128|0);i=c[s>>2]|0;if((i|0)>0){n=0;do{m=c[(c[r>>2]|0)+(n<<2)>>2]|0;if(c[m+748>>2]|0){c[h+4>>2]=m;i=c[m+740>>2]|0;j=c[(c[h+8>>2]|0)+8>>2]|0;k=c[(c[h+12>>2]|0)+8>>2]|0;if((i|0)==(j|0))Pe(m,i+4|0,k+4|0);else Pe(m,k+4|0,j+4|0);c[h+4>>2]=0;i=c[s>>2]|0}n=n+1|0}while((n|0)<(i|0));if((i|0)<=0){t=i;ba=22}}else{t=i;ba=22}if((ba|0)==22?(ba=0,(t|0)<0):0){if((c[ga+128+8>>2]|0)<0){i=c[r>>2]|0;if(i|0){if(a[q>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[i+-4>>2]|0)}c[r>>2]=0}a[q>>0]=1;c[r>>2]=0;c[ga+128+8>>2]=0;i=t}else i=t;do{c[(c[r>>2]|0)+(i<<2)>>2]=0;i=i+1|0}while((i|0)!=0)}c[s>>2]=0;i=c[p+8>>2]|0}o=o+1|0}while((o|0)<(i|0));i=c[r>>2]|0;if(i|0){if(a[q>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[i+-4>>2]|0)}c[r>>2]=0}}a[q>>0]=1;c[r>>2]=0;c[s>>2]=0;c[ga+128+8>>2]=0;j=c[da+64>>2]|0;k=c[ea+64>>2]|0;s=c[b+4>>2]|0;t=c[ca>>2]|0;u=c[b+32>>2]|0;c[ga+148>>2]=6348;c[ga+148+4>>2]=0;c[ga+148+8>>2]=d;c[ga+148+12>>2]=e;c[ga+148+16>>2]=s;c[ga+148+20>>2]=f;c[ga+148+24>>2]=h;c[ga+148+28>>2]=t;c[ga+148+32>>2]=u;u=c[d+12>>2]|0;E=+g[u>>2];G=+g[u+16>>2];H=+g[u+32>>2];I=+g[u+4>>2];J=+g[u+20>>2];K=+g[u+36>>2];L=+g[u+8>>2];M=+g[u+24>>2];N=+g[u+40>>2];O=-+g[u+48>>2];P=-+g[u+52>>2];Q=-+g[u+56>>2];u=c[e+12>>2]|0;R=+g[u>>2];S=+g[u+16>>2];T=+g[u+32>>2];U=+g[u+4>>2];V=+g[u+20>>2];W=+g[u+36>>2];X=+g[u+8>>2];Y=+g[u+24>>2];Z=+g[u+40>>2];_=+g[u+48>>2];$=+g[u+52>>2];aa=+g[u+56>>2];j=c[j>>2]|0;k=c[k>>2]|0;if((j|0)!=0&(k|0)!=0){c[6485]=(c[6485]|0)+1;i=ic(1043)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}c[i>>2]=j;c[i+4>>2]=k;v=+F(+(E*R+G*S+H*T));w=+F(+(E*U+G*V+H*W));x=+F(+(E*X+G*Y+H*Z));y=+F(+(I*R+J*S+K*T));z=+F(+(I*U+J*V+K*W));A=+F(+(I*X+J*Y+K*Z));B=+F(+(L*R+M*S+N*T));C=+F(+(L*U+M*V+N*W));D=+F(+(L*X+M*Y+N*Z));r=i;j=128;k=128;o=i;p=i;q=i;u=1;m=124;while(1){h=u+-1|0;t=c[r+(h<<3)>>2]|0;f=c[r+(h<<3)+4>>2]|0;ra=+g[f+16>>2];qa=+g[f>>2];pa=+g[f+20>>2];oa=+g[f+4>>2];na=+g[f+24>>2];ha=+g[f+8>>2];ma=E*O+G*P+H*Q+(E*_+G*$+H*aa)+((E*R+G*S+H*T)*(ra+qa)*.5+(E*U+G*V+H*W)*(pa+oa)*.5+(E*X+G*Y+H*Z)*(na+ha)*.5);ka=I*O+J*P+K*Q+(I*_+J*$+K*aa)+((I*R+J*S+K*T)*(ra+qa)*.5+(I*U+J*V+K*W)*(pa+oa)*.5+(I*X+J*Y+K*Z)*(na+ha)*.5);ia=L*O+M*P+N*Q+(L*_+M*$+N*aa)+((L*R+M*S+N*T)*(ra+qa)*.5+(L*U+M*V+N*W)*(pa+oa)*.5+(L*X+M*Y+N*Z)*(na+ha)*.5);la=((ra-qa)*.5+0.0)*v+((pa-oa)*.5+0.0)*w+((na-ha)*.5+0.0)*x;ja=((ra-qa)*.5+0.0)*y+((pa-oa)*.5+0.0)*z+((na-ha)*.5+0.0)*A;ha=((ra-qa)*.5+0.0)*B+((pa-oa)*.5+0.0)*C+((na-ha)*.5+0.0)*D;do if(((((+g[t>>2]<=la+ma?+g[t+16>>2]>=ma-la:0)?+g[t+4>>2]<=ka+ja:0)?+g[t+20>>2]>=ka-ja:0)?+g[t+8>>2]<=ia+ha:0)?+g[t+24>>2]>=ia-ha:0){if((h|0)>(m|0)){m=j<<1;do if((j|0)<(m|0)&(k|0)<(m|0)){do if(!j){j=0;i=0;ba=53}else{c[6485]=(c[6485]|0)+1;i=ic((j<<4|3)+16|0)|0;if(!i)k=0;else{c[(i+4+15&-16)+-4>>2]=i;k=i+4+15&-16}if((j|0)>0)i=0;else{j=k;i=k;ba=53;break}do{p=r+(i<<3)|0;q=c[p+4>>2]|0;s=k+(i<<3)|0;c[s>>2]=c[p>>2];c[s+4>>2]=q;i=i+1|0}while((i|0)!=(j|0));j=k;i=k}while(0);if((ba|0)==53){ba=0;if(!r){p=j;q=j;o=j;j=m;break}}if(!o){p=j;q=j;o=j;j=m}else{c[6486]=(c[6486]|0)+1;Uc(c[o+-4>>2]|0);p=j;q=j;o=j;j=m}}else{i=r;j=k}while(0);r=j;j=m;s=m+-4|0}else{i=r;r=k;s=m}k=(c[f+40>>2]|0)!=0;if(!(c[t+40>>2]|0))if(k){k=c[f+36>>2]|0;c[i+(h<<3)>>2]=t;c[i+(h<<3)+4>>2]=k;k=c[f+40>>2]|0;c[i+(u<<3)>>2]=t;c[i+(u<<3)+4>>2]=k;k=r;n=u+1|0;m=s;break}else{Vb[c[(c[ga+148>>2]|0)+8>>2]&127](ga+148|0,t,f);k=r;n=h;m=s;break}else{m=i+(h<<3)|0;n=c[t+36>>2]|0;if(k){k=c[f+36>>2]|0;c[m>>2]=n;c[i+(h<<3)+4>>2]=k;n=u+1|0;k=c[f+36>>2]|0;c[i+(u<<3)>>2]=c[t+40>>2];c[i+(u<<3)+4>>2]=k;k=u+2|0;m=c[f+40>>2]|0;c[i+(n<<3)>>2]=c[t+36>>2];c[i+(n<<3)+4>>2]=m;n=c[f+40>>2]|0;c[i+(k<<3)>>2]=c[t+40>>2];c[i+(k<<3)+4>>2]=n;k=r;n=u+3|0;m=s;break}else{c[m>>2]=n;c[i+(h<<3)+4>>2]=f;c[i+(u<<3)>>2]=c[t+40>>2];c[i+(u<<3)+4>>2]=f;k=r;n=u+1|0;m=s;break}}}else{i=r;n=h}while(0);if(!n)break;else{r=i;u=n}}if(!((i|0)==0|(p|0)==0)){c[6486]=(c[6486]|0)+1;Uc(c[p+-4>>2]|0)}}o=c[ca>>2]|0;if((c[o+8>>2]|0)>0){p=0;do{i=c[o+16>>2]|0;j=c[i+(p*12|0)+8>>2]|0;do if(j|0){ba=c[i+(p*12|0)>>2]|0;u=c[da+24>>2]|0;h=c[u+(ba*80|0)+64>>2]|0;f=c[d+12>>2]|0;ra=+g[f>>2];S=+g[f+4>>2];R=+g[f+8>>2];oa=+g[f+16>>2];ma=+g[f+20>>2];ka=+g[f+24>>2];na=+g[f+32>>2];ja=+g[f+36>>2];X=+g[f+40>>2];ia=+g[u+(ba*80|0)>>2];ha=+g[u+(ba*80|0)+16>>2];aa=+g[u+(ba*80|0)+32>>2];$=+g[u+(ba*80|0)+4>>2];_=+g[u+(ba*80|0)+20>>2];Z=+g[u+(ba*80|0)+36>>2];la=+g[u+(ba*80|0)+8>>2];Y=+g[u+(ba*80|0)+24>>2];W=+g[u+(ba*80|0)+40>>2];qa=+g[u+(ba*80|0)+48>>2];pa=+g[u+(ba*80|0)+52>>2];T=+g[u+(ba*80|0)+56>>2];V=+g[f+48>>2]+(ra*qa+S*pa+R*T);U=+g[f+52>>2]+(oa*qa+ma*pa+ka*T);T=+g[f+56>>2]+(na*qa+ja*pa+X*T);g[ga+64>>2]=ra*ia+S*ha+R*aa;g[ga+64+4>>2]=ra*$+S*_+R*Z;g[ga+64+8>>2]=ra*la+S*Y+R*W;g[ga+64+12>>2]=0.0;g[ga+64+16>>2]=oa*ia+ma*ha+ka*aa;g[ga+64+20>>2]=oa*$+ma*_+ka*Z;g[ga+64+24>>2]=oa*la+ma*Y+ka*W;g[ga+64+28>>2]=0.0;g[ga+64+32>>2]=na*ia+ja*ha+X*aa;g[ga+64+36>>2]=na*$+ja*_+X*Z;g[ga+64+40>>2]=na*la+ja*Y+X*W;g[ga+64+44>>2]=0.0;g[ga+64+48>>2]=V;g[ga+64+52>>2]=U;g[ga+64+56>>2]=T;g[ga+64+60>>2]=0.0;Zb[c[(c[h>>2]|0)+8>>2]&127](h,ga+64|0,ga+48|0,ga+32|0);h=c[(c[o+16>>2]|0)+(p*12|0)+4>>2]|0;f=c[ea+24>>2]|0;ba=c[f+(h*80|0)+64>>2]|0;u=c[e+12>>2]|0;T=+g[u>>2];U=+g[u+4>>2];V=+g[u+8>>2];W=+g[u+16>>2];X=+g[u+20>>2];Y=+g[u+24>>2];ja=+g[u+32>>2];la=+g[u+36>>2];na=+g[u+40>>2];Z=+g[f+(h*80|0)>>2];_=+g[f+(h*80|0)+16>>2];$=+g[f+(h*80|0)+32>>2];aa=+g[f+(h*80|0)+4>>2];ha=+g[f+(h*80|0)+20>>2];ia=+g[f+(h*80|0)+36>>2];ka=+g[f+(h*80|0)+8>>2];ma=+g[f+(h*80|0)+24>>2];oa=+g[f+(h*80|0)+40>>2];R=+g[f+(h*80|0)+48>>2];S=+g[f+(h*80|0)+52>>2];ra=+g[f+(h*80|0)+56>>2];pa=+g[u+48>>2]+(T*R+U*S+V*ra);qa=+g[u+52>>2]+(W*R+X*S+Y*ra);ra=+g[u+56>>2]+(ja*R+la*S+na*ra);g[ga+64>>2]=T*Z+U*_+V*$;g[ga+64+4>>2]=T*aa+U*ha+V*ia;g[ga+64+8>>2]=T*ka+U*ma+V*oa;g[ga+64+12>>2]=0.0;g[ga+64+16>>2]=W*Z+X*_+Y*$;g[ga+64+20>>2]=W*aa+X*ha+Y*ia;g[ga+64+24>>2]=W*ka+X*ma+Y*oa;g[ga+64+28>>2]=0.0;g[ga+64+32>>2]=ja*Z+la*_+na*$;g[ga+64+36>>2]=ja*aa+la*ha+na*ia;g[ga+64+40>>2]=ja*ka+la*ma+na*oa;g[ga+64+44>>2]=0.0;g[ga+64+48>>2]=pa;g[ga+64+52>>2]=qa;g[ga+64+56>>2]=ra;g[ga+64+60>>2]=0.0;Zb[c[(c[ba>>2]|0)+8>>2]&127](ba,ga+64|0,ga+16|0,ga);if(!(+g[ga+48>>2]>+g[ga>>2])?!(+g[ga+32>>2]<+g[ga+16>>2]):0)i=1;else i=0;if(!(!(+g[ga+48+8>>2]>+g[ga+8>>2])?!(+g[ga+32+8>>2]<+g[ga+16+8>>2]):0))i=0;if(!(+g[ga+48+4>>2]>+g[ga+4>>2])?!(+g[ga+32+4>>2]<+g[ga+16+4>>2]|i^1):0)break;lb[c[c[j>>2]>>2]&511](j);n=c[b+4>>2]|0;nb[c[(c[n>>2]|0)+60>>2]&127](n,j);n=c[o+16>>2]|0;m=c[n+(p*12|0)>>2]|0;n=c[n+(p*12|0)+4>>2]|0;i=c[b+16>>2]|0;if((i|0)==(c[b+20>>2]|0)?(fa=i|0?i<<1:1,(i|0)<(fa|0)):0){if(!fa)k=0;else{c[6485]=(c[6485]|0)+1;i=ic((fa*12|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}k=i;i=c[b+16>>2]|0}if((i|0)>0){j=0;do{ba=k+(j*12|0)|0;u=(c[b+24>>2]|0)+(j*12|0)|0;c[ba>>2]=c[u>>2];c[ba+4>>2]=c[u+4>>2];c[ba+8>>2]=c[u+8>>2];j=j+1|0}while((j|0)!=(i|0))}i=c[b+24>>2]|0;if(i|0){if(a[b+28>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[i+-4>>2]|0)}c[b+24>>2]=0}a[b+28>>0]=1;c[b+24>>2]=k;c[b+20>>2]=fa;i=c[b+16>>2]|0}ba=c[b+24>>2]|0;c[ba+(i*12|0)>>2]=m;c[ba+(i*12|0)+4>>2]=n;c[ba+(i*12|0)+8>>2]=0;c[b+16>>2]=(c[b+16>>2]|0)+1}while(0);p=p+1|0}while((p|0)<(c[o+8>>2]|0));j=b+24|0;k=b+16|0}else{j=b+24|0;k=b+16|0}if((c[k>>2]|0)>0){i=0;do{d=c[ca>>2]|0;e=c[j>>2]|0;zb[c[(c[d>>2]|0)+8>>2]&63](d,c[e+(i*12|0)>>2]|0,c[e+(i*12|0)+4>>2]|0)|0;i=i+1|0}while((i|0)<(c[k>>2]|0))}i=c[j>>2]|0;if(!i){a[b+28>>0]=1;c[j>>2]=0;c[k>>2]=0;b=b+20|0;c[b>>2]=0;l=ga;return}if(a[b+28>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[i+-4>>2]|0)}c[j>>2]=0;a[b+28>>0]=1;c[j>>2]=0;c[k>>2]=0;b=b+20|0;c[b>>2]=0;l=ga;return}function wc(d,f,h){d=d|0;f=f|0;h=h|0;var i=0,j=0,k=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0.0,F=0,G=0,H=0,I=0,J=0,K=0,L=0.0,M=0.0,N=0.0;K=l;l=l+128|0;H=c[d+56>>2]|0;if((h-f|0)==1){if(!(a[d+60>>0]|0)){q=(c[d+96>>2]|0)+(H<<6)|0;r=(c[d+76>>2]|0)+(f<<6)|0;s=q+64|0;do{c[q>>2]=c[r>>2];q=q+4|0;r=r+4|0}while((q|0)<(s|0))}else{J=(c[d+136>>2]|0)+(H<<4)|0;I=(c[d+116>>2]|0)+(f<<4)|0;c[J>>2]=c[I>>2];c[J+4>>2]=c[I+4>>2];c[J+8>>2]=c[I+8>>2];c[J+12>>2]=c[I+12>>2]}c[d+56>>2]=(c[d+56>>2]|0)+1;l=K;return}if((h|0)>(f|0)){j=(a[d+60>>0]|0)==0;w=0.0;x=0.0;v=0.0;i=f;do{if(j){G=c[d+76>>2]|0;k=+g[G+(i<<6)>>2];m=+g[G+(i<<6)+16>>2];o=+g[G+(i<<6)+4>>2];p=+g[G+(i<<6)+20>>2];t=+g[G+(i<<6)+8>>2];u=+g[G+(i<<6)+24>>2]}else{G=c[d+116>>2]|0;o=+g[d+36>>2];t=+g[d+40>>2];E=+g[d+44>>2];m=+g[d+4>>2];p=+g[d+8>>2];u=+g[d+12>>2];k=+(e[G+(i<<4)>>1]|0)/o+m;m=+(e[G+(i<<4)+6>>1]|0)/o+m;o=+(e[G+(i<<4)+2>>1]|0)/t+p;p=+(e[G+(i<<4)+8>>1]|0)/t+p;t=+(e[G+(i<<4)+4>>1]|0)/E+u;u=+(e[G+(i<<4)+10>>1]|0)/E+u}v=v+(m+k)*.5;w=w+(p+o)*.5;x=x+(u+t)*.5;i=i+1|0}while((i|0)!=(h|0));C=1.0/+(h-f|0);E=v*C;D=w*C;C=x*C;if(j){i=c[d+76>>2]|0;k=0.0;o=0.0;p=0.0;j=f;do{v=(+g[i+(j<<6)+16>>2]+ +g[i+(j<<6)>>2])*.5-E;w=(+g[i+(j<<6)+20>>2]+ +g[i+(j<<6)+4>>2])*.5-D;x=(+g[i+(j<<6)+24>>2]+ +g[i+(j<<6)+8>>2])*.5-C;k=k+v*v;o=o+w*w;p=p+x*x;j=j+1|0}while((j|0)!=(h|0));m=+(h-f|0)}else{i=c[d+116>>2]|0;m=+g[d+36>>2];t=+g[d+40>>2];u=+g[d+44>>2];v=+g[d+4>>2];w=+g[d+8>>2];x=+g[d+12>>2];k=0.0;o=0.0;p=0.0;j=f;do{N=(+(e[i+(j<<4)+6>>1]|0)/m+v+(+(e[i+(j<<4)>>1]|0)/m+v))*.5-E;M=(+(e[i+(j<<4)+8>>1]|0)/t+w+(+(e[i+(j<<4)+2>>1]|0)/t+w))*.5-D;L=(+(e[i+(j<<4)+10>>1]|0)/u+x+(+(e[i+(j<<4)+4>>1]|0)/u+x))*.5-C;k=k+N*N;o=o+M*M;p=p+L*L;j=j+1|0}while((j|0)!=(h|0));m=+(h-f|0)}}else{p=0.0;o=0.0;k=0.0;m=+(h-f|0)}N=1.0/(m+-1.0);M=k*N;L=o*N;N=p*N;z=M<L?(L<N?2:1):M<N?2:0;c[K+16>>2]=0;c[K+16+4>>2]=0;c[K+16+8>>2]=0;c[K+16+12>>2]=0;if((h|0)>(f|0)){i=(a[d+60>>0]|0)==0;o=0.0;m=0.0;k=0.0;j=f;do{if(i){G=c[d+76>>2]|0;p=+g[G+(j<<6)>>2];t=+g[G+(j<<6)+16>>2];u=+g[G+(j<<6)+4>>2];v=+g[G+(j<<6)+20>>2];w=+g[G+(j<<6)+8>>2];x=+g[G+(j<<6)+24>>2]}else{G=c[d+116>>2]|0;u=+g[d+36>>2];w=+g[d+40>>2];N=+g[d+44>>2];t=+g[d+4>>2];v=+g[d+8>>2];x=+g[d+12>>2];p=+(e[G+(j<<4)>>1]|0)/u+t;t=+(e[G+(j<<4)+6>>1]|0)/u+t;u=+(e[G+(j<<4)+2>>1]|0)/w+v;v=+(e[G+(j<<4)+8>>1]|0)/w+v;w=+(e[G+(j<<4)+4>>1]|0)/N+x;x=+(e[G+(j<<4)+10>>1]|0)/N+x}o=o+(t+p)*.5;m=(v+u)*.5+m;k=(x+w)*.5+k;j=j+1|0}while((j|0)!=(h|0));g[K+16>>2]=o;g[K+16+4>>2]=m;g[K+16+8>>2]=k;i=K+16|0}else{i=K+16|0;o=0.0;m=0.0;k=0.0}g[i>>2]=1.0/+(h-f|0)*o;g[K+16+4>>2]=1.0/+(h-f|0)*m;g[K+16+8>>2]=1.0/+(h-f|0)*k;v=+g[K+16+(z<<2)>>2];if((h|0)>(f|0)){y=f;i=f;do{j=(a[d+60>>0]|0)==0;if(j){G=c[d+76>>2]|0;k=+g[G+(y<<6)>>2];m=+g[G+(y<<6)+16>>2];o=+g[G+(y<<6)+4>>2];p=+g[G+(y<<6)+20>>2];t=+g[G+(y<<6)+8>>2];u=+g[G+(y<<6)+24>>2]}else{G=c[d+116>>2]|0;o=+g[d+36>>2];t=+g[d+40>>2];N=+g[d+44>>2];m=+g[d+4>>2];p=+g[d+8>>2];u=+g[d+12>>2];k=+(e[G+(y<<4)>>1]|0)/o+m;m=+(e[G+(y<<4)+6>>1]|0)/o+m;o=+(e[G+(y<<4)+2>>1]|0)/t+p;p=+(e[G+(y<<4)+8>>1]|0)/t+p;t=+(e[G+(y<<4)+4>>1]|0)/N+u;u=+(e[G+(y<<4)+10>>1]|0)/N+u}g[K>>2]=(m+k)*.5;g[K+4>>2]=(p+o)*.5;g[K+8>>2]=(u+t)*.5;g[K+12>>2]=0.0;if(+g[K+(z<<2)>>2]>v){if(j){j=c[d+76>>2]|0;n=j+(y<<6)|0;q=K+32|0;r=n;s=q+64|0;do{c[q>>2]=c[r>>2];q=q+4|0;r=r+4|0}while((q|0)<(s|0));q=n;r=j+(i<<6)|0;s=q+64|0;do{c[q>>2]=c[r>>2];q=q+4|0;r=r+4|0}while((q|0)<(s|0));q=(c[d+76>>2]|0)+(i<<6)|0;r=K+32|0;s=q+64|0;do{c[q>>2]=c[r>>2];q=q+4|0;r=r+4|0}while((q|0)<(s|0))}else{F=c[d+116>>2]|0;G=F+(y<<4)|0;c[K+96>>2]=c[G>>2];c[K+96+4>>2]=c[G+4>>2];c[K+96+8>>2]=c[G+8>>2];c[K+96+12>>2]=c[G+12>>2];F=F+(i<<4)|0;c[G>>2]=c[F>>2];c[G+4>>2]=c[F+4>>2];c[G+8>>2]=c[F+8>>2];c[G+12>>2]=c[F+12>>2];G=(c[d+116>>2]|0)+(i<<4)|0;c[G>>2]=c[K+96>>2];c[G+4>>2]=c[K+96+4>>2];c[G+8>>2]=c[K+96+8>>2];c[G+12>>2]=c[K+96+12>>2]}i=i+1|0}y=y+1|0}while((y|0)!=(h|0))}else i=f;if(!((i|0)>(((h-f|0)/3|0)+f|0)?(i|0)<(h+-1-((h-f|0)/3|0)|0):0))i=(h-f>>1)+f|0;G=c[d+56>>2]|0;if(!(a[d+60>>0]|0)){F=(c[d+96>>2]|0)+(G<<6)|0;c[F>>2]=c[d+20>>2];c[F+4>>2]=c[d+20+4>>2];c[F+8>>2]=c[d+20+8>>2];c[F+12>>2]=c[d+20+12>>2]}else{F=c[d+136>>2]|0;M=(+g[d+24>>2]-+g[d+8>>2])*+g[d+40>>2];N=(+g[d+28>>2]-+g[d+12>>2])*+g[d+44>>2];b[F+(G<<4)>>1]=~~((+g[d+20>>2]-+g[d+4>>2])*+g[d+36>>2])&65535&-2;b[F+(G<<4)+2>>1]=~~M&65535&-2;b[F+(G<<4)+4>>1]=~~N&65535&-2}j=c[d+56>>2]|0;if(!(a[d+60>>0]|0)){F=(c[d+96>>2]|0)+(j<<6)+16|0;c[F>>2]=c[d+4>>2];c[F+4>>2]=c[d+4+4>>2];c[F+8>>2]=c[d+4+8>>2];c[F+12>>2]=c[d+4+12>>2]}else{F=c[d+136>>2]|0;L=+g[d+4>>2];M=+g[d+8>>2];N=+g[d+12>>2];M=(M-M)*+g[d+40>>2];N=(N-N)*+g[d+44>>2];b[F+(j<<4)+6>>1]=~~((L-L)*+g[d+36>>2]+1.0)&65535|1;b[F+(j<<4)+8>>1]=~~(M+1.0)&65535|1;b[F+(j<<4)+10>>1]=~~(N+1.0)&65535|1}F=c[d+56>>2]|0;if((h|0)>(f|0)){A=a[d+60>>0]|0;B=f;do{if(!(A<<24>>24)){j=c[d+76>>2]|0;m=+g[j+(B<<6)>>2];u=+g[j+(B<<6)+4>>2];w=+g[j+(B<<6)+8>>2];p=+g[j+(B<<6)+12>>2];k=+g[j+(B<<6)+16>>2];t=+g[j+(B<<6)+20>>2];v=+g[j+(B<<6)+24>>2];o=+g[j+(B<<6)+28>>2];j=c[d+96>>2]|0;if(m<+g[j+(F<<6)>>2])g[j+(F<<6)>>2]=m;if(u<+g[j+(F<<6)+4>>2])g[j+(F<<6)+4>>2]=u;if(w<+g[j+(F<<6)+8>>2])g[j+(F<<6)+8>>2]=w;if(p<+g[j+(F<<6)+12>>2])g[j+(F<<6)+12>>2]=p;if(+g[j+(F<<6)+16>>2]<k)g[j+(F<<6)+16>>2]=k;if(+g[j+(F<<6)+20>>2]<t)g[j+(F<<6)+20>>2]=t;if(+g[j+(F<<6)+24>>2]<v)g[j+(F<<6)+24>>2]=v;if(+g[j+(F<<6)+28>>2]<o)g[j+(F<<6)+28>>2]=o}else{y=c[d+116>>2]|0;p=+g[d+36>>2];w=+g[d+40>>2];E=+g[d+44>>2];t=+g[d+4>>2];x=+g[d+8>>2];L=+g[d+12>>2];u=+g[d+4>>2];C=+g[d+8>>2];M=+g[d+12>>2];v=+g[d+36>>2];D=+g[d+40>>2];N=+g[d+44>>2];j=~~((+(e[y+(B<<4)>>1]|0)/p+t-u)*v)&65535&-2;n=~~((+(e[y+(B<<4)+2>>1]|0)/w+x-C)*D)&65535&-2;q=~~((+(e[y+(B<<4)+4>>1]|0)/E+L-M)*N)&65535&-2;r=~~((+(e[y+(B<<4)+6>>1]|0)/p+t-u)*v+1.0)&65535|1;s=~~((+(e[y+(B<<4)+8>>1]|0)/w+x-C)*D+1.0)&65535|1;y=~~((+(e[y+(B<<4)+10>>1]|0)/E+L-M)*N+1.0)&65535|1;z=c[d+136>>2]|0;if((e[z+(F<<4)>>1]|0)>(j&65535))b[z+(F<<4)>>1]=j;if((e[z+(F<<4)+6>>1]|0)<(r&65535))b[z+(F<<4)+6>>1]=r;if((e[z+(F<<4)+2>>1]|0)>(n&65535))b[z+(F<<4)+2>>1]=n;if((e[z+(F<<4)+8>>1]|0)<(s&65535))b[z+(F<<4)+8>>1]=s;if((e[z+(F<<4)+4>>1]|0)>(q&65535))b[z+(F<<4)+4>>1]=q;if((e[z+(F<<4)+10>>1]|0)<(y&65535))b[z+(F<<4)+10>>1]=y}B=B+1|0}while((B|0)!=(h|0))}c[d+56>>2]=F+1;wc(d,f,i);A=c[d+56>>2]|0;wc(d,i,h);z=(c[d+56>>2]|0)-H|0;i=a[d+60>>0]|0;if(i<<24>>24!=0&(z<<4|0)>2048){s=c[d+136>>2]|0;q=c[s+(F+1<<4)+12>>2]|0;q=(q|0)>-1?1:0-q|0;y=c[s+(A<<4)+12>>2]|0;y=(y|0)>-1?1:0-y|0;if((q<<4|0)<2049){r=c[d+152>>2]|0;if((r|0)==(c[d+156>>2]|0)?(I=r|0?r<<1:1,(r|0)<(I|0)):0){if(!I){i=0;j=r}else{c[6485]=(c[6485]|0)+1;i=ic(I<<5|19)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}j=c[d+152>>2]|0}if((j|0)>0){n=0;do{h=i+(n<<5)|0;H=(c[d+160>>2]|0)+(n<<5)|0;c[h>>2]=c[H>>2];c[h+4>>2]=c[H+4>>2];c[h+8>>2]=c[H+8>>2];c[h+12>>2]=c[H+12>>2];c[h+16>>2]=c[H+16>>2];c[h+20>>2]=c[H+20>>2];c[h+24>>2]=c[H+24>>2];c[h+28>>2]=c[H+28>>2];n=n+1|0}while((n|0)!=(j|0))}j=c[d+160>>2]|0;if(j|0){if(a[d+164>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[j+-4>>2]|0)}c[d+160>>2]=0}a[d+164>>0]=1;c[d+160>>2]=i;c[d+156>>2]=I;i=c[d+152>>2]|0}else i=r;c[d+152>>2]=i+1;I=(c[d+160>>2]|0)+(r<<5)|0;c[I>>2]=c[K+96>>2];c[I+4>>2]=c[K+96+4>>2];c[I+8>>2]=c[K+96+8>>2];c[I+12>>2]=c[K+96+12>>2];c[I+16>>2]=c[K+96+16>>2];c[I+20>>2]=c[K+96+20>>2];c[I+24>>2]=c[K+96+24>>2];c[I+28>>2]=c[K+96+28>>2];I=c[d+160>>2]|0;b[I+(r<<5)>>1]=b[s+(F+1<<4)>>1]|0;b[I+(r<<5)+2>>1]=b[s+(F+1<<4)+2>>1]|0;b[I+(r<<5)+4>>1]=b[s+(F+1<<4)+4>>1]|0;b[I+(r<<5)+6>>1]=b[s+(F+1<<4)+6>>1]|0;b[I+(r<<5)+8>>1]=b[s+(F+1<<4)+8>>1]|0;b[I+(r<<5)+10>>1]=b[s+(F+1<<4)+10>>1]|0;c[I+(r<<5)+12>>2]=F+1;c[I+(r<<5)+16>>2]=q}if((y<<4|0)<2049){q=c[d+152>>2]|0;if((q|0)==(c[d+156>>2]|0)?(J=q|0?q<<1:1,(q|0)<(J|0)):0){if(!J){i=0;j=q}else{c[6485]=(c[6485]|0)+1;i=ic(J<<5|19)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}j=c[d+152>>2]|0}if((j|0)>0){n=0;do{I=i+(n<<5)|0;h=(c[d+160>>2]|0)+(n<<5)|0;c[I>>2]=c[h>>2];c[I+4>>2]=c[h+4>>2];c[I+8>>2]=c[h+8>>2];c[I+12>>2]=c[h+12>>2];c[I+16>>2]=c[h+16>>2];c[I+20>>2]=c[h+20>>2];c[I+24>>2]=c[h+24>>2];c[I+28>>2]=c[h+28>>2];n=n+1|0}while((n|0)!=(j|0))}j=c[d+160>>2]|0;if(j|0){if(a[d+164>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[j+-4>>2]|0)}c[d+160>>2]=0}a[d+164>>0]=1;c[d+160>>2]=i;c[d+156>>2]=J;i=c[d+152>>2]|0}else i=q;c[d+152>>2]=i+1;J=(c[d+160>>2]|0)+(q<<5)|0;c[J>>2]=c[K+32>>2];c[J+4>>2]=c[K+32+4>>2];c[J+8>>2]=c[K+32+8>>2];c[J+12>>2]=c[K+32+12>>2];c[J+16>>2]=c[K+32+16>>2];c[J+20>>2]=c[K+32+20>>2];c[J+24>>2]=c[K+32+24>>2];c[J+28>>2]=c[K+32+28>>2];J=c[d+160>>2]|0;b[J+(q<<5)>>1]=b[s+(A<<4)>>1]|0;b[J+(q<<5)+2>>1]=b[s+(A<<4)+2>>1]|0;b[J+(q<<5)+4>>1]=b[s+(A<<4)+4>>1]|0;b[J+(q<<5)+6>>1]=b[s+(A<<4)+6>>1]|0;b[J+(q<<5)+8>>1]=b[s+(A<<4)+8>>1]|0;b[J+(q<<5)+10>>1]=b[s+(A<<4)+10>>1]|0;c[J+(q<<5)+12>>2]=A;c[J+(q<<5)+16>>2]=y}c[d+168>>2]=c[d+152>>2];i=a[d+60>>0]|0}if(!(i<<24>>24)){c[(c[d+96>>2]|0)+(G<<6)+32>>2]=z;l=K;return}else{c[(c[d+136>>2]|0)+(G<<4)+12>>2]=0-z;l=K;return}}function xc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0;u=l;l=l+208|0;f=pb[c[(c[a>>2]|0)+20>>2]&127](a)|0;Xb[c[(c[f>>2]|0)+56>>2]&7](f,b,1.0);f=c[d+4>>2]|0;switch(f|0){case 31:{f=c[d+16>>2]|0;if((f|0)<=0){l=u;return}do{t=f;f=f+-1|0;s=c[d+24>>2]|0;F=+g[s+(f*80|0)>>2];C=+g[s+(f*80|0)+4>>2];z=+g[s+(f*80|0)+8>>2];E=+g[s+(f*80|0)+16>>2];B=+g[s+(f*80|0)+20>>2];x=+g[s+(f*80|0)+24>>2];D=+g[s+(f*80|0)+32>>2];A=+g[s+(f*80|0)+36>>2];v=+g[s+(f*80|0)+40>>2];N=+g[s+(f*80|0)+48>>2];M=+g[s+(f*80|0)+52>>2];k=+g[s+(f*80|0)+56>>2];s=c[s+(f*80|0)+64>>2]|0;r=c[(c[a>>2]|0)+28>>2]|0;L=+g[b>>2];K=+g[b+4>>2];J=+g[b+8>>2];I=+g[b+16>>2];H=+g[b+20>>2];G=+g[b+24>>2];y=+g[b+32>>2];w=+g[b+36>>2];h=+g[b+40>>2];i=N*L+M*K+k*J+ +g[b+48>>2];j=N*I+M*H+k*G+ +g[b+52>>2];k=N*y+M*w+k*h+ +g[b+56>>2];g[u+144>>2]=F*L+E*K+D*J;g[u+144+4>>2]=C*L+B*K+A*J;g[u+144+8>>2]=z*L+x*K+v*J;g[u+144+12>>2]=0.0;g[u+144+16>>2]=F*I+E*H+D*G;g[u+144+20>>2]=C*I+B*H+A*G;g[u+144+24>>2]=z*I+x*H+v*G;g[u+144+28>>2]=0.0;g[u+144+32>>2]=F*y+E*w+D*h;g[u+144+36>>2]=C*y+B*w+A*h;g[u+144+40>>2]=z*y+x*w+v*h;g[u+144+44>>2]=0.0;g[u+144+48>>2]=i;g[u+144+52>>2]=j;g[u+144+56>>2]=k;g[u+144+60>>2]=0.0;Zb[r&127](a,u+144|0,s,e)}while((t|0)>1);l=u;return}case 0:{c[u+144>>2]=c[d+28>>2];c[u+144+4>>2]=c[d+28+4>>2];c[u+144+8>>2]=c[d+28+8>>2];c[u+144+12>>2]=c[d+28+12>>2];L=+Db[c[(c[d>>2]|0)+48>>2]&15](d);M=+Db[c[(c[d>>2]|0)+48>>2]&15](d);N=+Db[c[(c[d>>2]|0)+48>>2]&15](d);L=L+ +g[u+144>>2];g[u+144>>2]=L;M=M+ +g[u+144+4>>2];g[u+144+4>>2]=M;N=N+ +g[u+144+8>>2];g[u+144+8>>2]=N;a=pb[c[(c[a>>2]|0)+20>>2]&127](a)|0;d=c[(c[a>>2]|0)+72>>2]|0;g[u+112>>2]=-L;g[u+112+4>>2]=-M;g[u+112+8>>2]=-N;g[u+112+12>>2]=0.0;jb[d&31](a,u+112|0,u+144|0,b,e);l=u;return}case 8:{N=+Db[c[(c[d>>2]|0)+48>>2]&15](d);a=pb[c[(c[a>>2]|0)+20>>2]&127](a)|0;sb[c[(c[a>>2]|0)+16>>2]&0](a,N,b,e);l=u;return}case 9:{f=c[d+92>>2]|0;if((f|0)<=0){l=u;return}do{t=f;f=f+-1|0;s=c[d+100>>2]|0;z=+g[s+(f<<4)>>2];A=+g[s+(f<<4)+4>>2];M=+g[s+(f<<4)+8>>2];s=pb[c[(c[a>>2]|0)+20>>2]&127](a)|0;r=c[(c[s>>2]|0)+16>>2]|0;N=+g[(c[d+120>>2]|0)+(f<<2)>>2];C=+g[b>>2];D=+g[b+4>>2];B=+g[b+8>>2];F=+g[b+16>>2];G=+g[b+20>>2];E=+g[b+24>>2];I=+g[b+32>>2];J=+g[b+36>>2];H=+g[b+40>>2];K=z*C+A*D+M*B+ +g[b+48>>2];L=z*F+A*G+M*E+ +g[b+52>>2];M=z*I+A*J+M*H+ +g[b+56>>2];g[u+144>>2]=C+D*0.0+B*0.0;g[u+144+4>>2]=C*0.0+D+B*0.0;g[u+144+8>>2]=B+(C*0.0+D*0.0);g[u+144+12>>2]=0.0;g[u+144+16>>2]=F+G*0.0+E*0.0;g[u+144+20>>2]=F*0.0+G+E*0.0;g[u+144+24>>2]=E+(F*0.0+G*0.0);g[u+144+28>>2]=0.0;g[u+144+32>>2]=I+J*0.0+H*0.0;g[u+144+36>>2]=I*0.0+J+H*0.0;g[u+144+40>>2]=H+(I*0.0+J*0.0);g[u+144+44>>2]=0.0;g[u+144+48>>2]=K;g[u+144+52>>2]=L;g[u+144+56>>2]=M;g[u+144+60>>2]=0.0;sb[r&0](s,N,u+144|0,e)}while((t|0)>1);l=u;return}case 10:{t=c[d+52>>2]|0;M=+g[d+28+(((t+2|0)%3|0)<<2)>>2];N=+g[d+28+(t<<2)>>2];a=pb[c[(c[a>>2]|0)+20>>2]&127](a)|0;rb[c[(c[a>>2]|0)+76>>2]&0](a,M,N,t,b,e);l=u;return}case 11:{M=+g[d+56>>2];N=+g[d+60>>2];d=c[d+68>>2]|0;a=pb[c[(c[a>>2]|0)+20>>2]&127](a)|0;rb[c[(c[a>>2]|0)+84>>2]&0](a,M,N,d,b,e);l=u;return}case 13:{t=c[d+52>>2]|0;M=+Db[c[(c[d>>2]|0)+92>>2]&15](d);c[u+128>>2]=c[d+28>>2];c[u+128+4>>2]=c[d+28+4>>2];c[u+128+8>>2]=c[d+28+8>>2];c[u+128+12>>2]=c[d+28+12>>2];K=+Db[c[(c[d>>2]|0)+48>>2]&15](d);L=+Db[c[(c[d>>2]|0)+48>>2]&15](d);N=+Db[c[(c[d>>2]|0)+48>>2]&15](d);g[u+128>>2]=K+ +g[u+128>>2];g[u+128+4>>2]=L+ +g[u+128+4>>2];g[u+128+8>>2]=N+ +g[u+128+8>>2];N=+g[u+128+(t<<2)>>2];a=pb[c[(c[a>>2]|0)+20>>2]&127](a)|0;rb[c[(c[a>>2]|0)+80>>2]&0](a,M,N,t,b,e);l=u;return}case 28:{N=+g[d+64>>2];a=pb[c[(c[a>>2]|0)+20>>2]&127](a)|0;Gb[c[(c[a>>2]|0)+88>>2]&0](a,d+48|0,N,b,e);l=u;return}default:{a:do if((f|0)<7){r=c[d+52>>2]|0;if(!r){if((pb[c[(c[d>>2]|0)+100>>2]&127](d)|0)<=0)break;f=0;while(1){Zb[c[(c[d>>2]|0)+104>>2]&127](d,f,u+144|0,u+112|0);L=+g[u+144>>2];z=+g[b>>2];J=+g[u+144+4>>2];A=+g[b+4>>2];H=+g[u+144+8>>2];B=+g[b+8>>2];D=+g[b+16>>2];E=+g[b+20>>2];F=+g[b+24>>2];I=+g[b+32>>2];K=+g[b+36>>2];M=+g[b+40>>2];C=+g[b+48>>2];G=+g[b+52>>2];N=+g[b+56>>2];g[u+16>>2]=L*z+J*A+H*B+C;g[u+16+4>>2]=L*D+J*E+H*F+G;g[u+16+8>>2]=L*I+J*K+H*M+N;g[u+16+12>>2]=0.0;H=+g[u+112>>2];J=+g[u+112+4>>2];L=+g[u+112+8>>2];g[u>>2]=H*z+J*A+L*B+C;g[u+4>>2]=H*D+J*E+L*F+G;g[u+8>>2]=H*I+J*K+L*M+N;g[u+12>>2]=0.0;t=pb[c[(c[a>>2]|0)+20>>2]&127](a)|0;Zb[c[(c[t>>2]|0)+8>>2]&127](t,u+16|0,u,e);f=f+1|0;if((f|0)>=(pb[c[(c[d>>2]|0)+100>>2]&127](d)|0))break a}}if((c[r+28>>2]|0)>0){s=0;do{f=c[r+36>>2]|0;q=c[f+(s*36|0)+4>>2]|0;b:do if((q|0)!=0?(t=c[f+(s*36|0)+12>>2]|0,(q|0)>0):0){m=t;h=0.0;i=0.0;j=0.0;o=c[t+(q+-1<<2)>>2]|0;f=0;while(1){p=c[m+(f<<2)>>2]|0;n=c[r+16>>2]|0;h=h+ +g[n+(p<<4)>>2];i=i+ +g[n+(p<<4)+4>>2];j=j+ +g[n+(p<<4)+8>>2];n=pb[c[(c[a>>2]|0)+20>>2]&127](a)|0;m=c[(c[n>>2]|0)+8>>2]|0;O=c[r+16>>2]|0;L=+g[O+(o<<4)>>2];z=+g[b>>2];J=+g[O+(o<<4)+4>>2];A=+g[b+4>>2];H=+g[O+(o<<4)+8>>2];B=+g[b+8>>2];D=+g[b+16>>2];E=+g[b+20>>2];F=+g[b+24>>2];I=+g[b+32>>2];K=+g[b+36>>2];M=+g[b+40>>2];C=+g[b+48>>2];G=+g[b+52>>2];N=+g[b+56>>2];g[u+144>>2]=L*z+J*A+H*B+C;g[u+144+4>>2]=L*D+J*E+H*F+G;g[u+144+8>>2]=L*I+J*K+H*M+N;g[u+144+12>>2]=0.0;H=+g[O+(p<<4)>>2];J=+g[O+(p<<4)+4>>2];L=+g[O+(p<<4)+8>>2];g[u+112>>2]=H*z+J*A+L*B+C;g[u+112+4>>2]=H*D+J*E+L*F+G;g[u+112+8>>2]=H*I+J*K+L*M+N;g[u+112+12>>2]=0.0;Zb[m&127](n,u+144|0,u+112|0,e);n=f+1|0;f=c[r+36>>2]|0;if((n|0)>=(c[f+(s*36|0)+4>>2]|0))break b;m=c[f+(s*36|0)+12>>2]|0;o=p;f=n}}else{h=0.0;i=0.0;j=0.0}while(0);k=1.0/+(q|0)*h;i=1.0/+(q|0)*i;h=1.0/+(q|0)*j;O=pb[c[(c[a>>2]|0)+20>>2]&127](a)|0;if((pb[c[(c[O>>2]|0)+48>>2]&127](O)|0)&16384|0){c[u+144>>2]=1065353216;c[u+144+4>>2]=1065353216;c[u+144+8>>2]=0;g[u+144+12>>2]=0.0;O=c[r+36>>2]|0;H=+g[O+(s*36|0)+20>>2];J=+g[O+(s*36|0)+24>>2];L=+g[O+(s*36|0)+28>>2];O=pb[c[(c[a>>2]|0)+20>>2]&127](a)|0;q=c[(c[O>>2]|0)+8>>2]|0;z=+g[b>>2];A=+g[b+4>>2];B=+g[b+8>>2];D=+g[b+16>>2];E=+g[b+20>>2];F=+g[b+24>>2];I=+g[b+32>>2];K=+g[b+36>>2];M=+g[b+40>>2];C=+g[b+48>>2];G=+g[b+52>>2];N=+g[b+56>>2];g[u+112>>2]=k*z+i*A+h*B+C;g[u+112+4>>2]=k*D+i*E+h*F+G;g[u+112+8>>2]=k*I+i*K+h*M+N;g[u+112+12>>2]=0.0;g[u+16>>2]=(k+H)*z+(i+J)*A+(h+L)*B+C;g[u+16+4>>2]=(k+H)*D+(i+J)*E+(h+L)*F+G;g[u+16+8>>2]=(k+H)*I+(i+J)*K+(h+L)*M+N;g[u+16+12>>2]=0.0;Zb[q&127](O,u+112|0,u+16|0,u+144|0)}s=s+1|0}while((s|0)<(c[r+28>>2]|0))}}while(0);f=c[d+4>>2]|0;if((f+-21|0)>>>0<9){c[u+144>>2]=1566444395;c[u+144+4>>2]=1566444395;c[u+144+8>>2]=1566444395;g[u+144+12>>2]=0.0;c[u+112>>2]=-581039253;c[u+112+4>>2]=-581039253;c[u+112+8>>2]=-581039253;g[u+112+12>>2]=0.0;f=pb[c[(c[a>>2]|0)+20>>2]&127](a)|0;c[u+16>>2]=5912;c[u+16+4>>2]=5936;c[u+16+8>>2]=f;c[u+16+12>>2]=c[e>>2];c[u+16+12+4>>2]=c[e+4>>2];c[u+16+12+8>>2]=c[e+8>>2];c[u+16+12+12>>2]=c[e+12>>2];c[u+16+28>>2]=c[b>>2];c[u+16+28+4>>2]=c[b+4>>2];c[u+16+28+8>>2]=c[b+8>>2];c[u+16+28+12>>2]=c[b+12>>2];c[u+16+44>>2]=c[b+16>>2];c[u+16+44+4>>2]=c[b+16+4>>2];c[u+16+44+8>>2]=c[b+16+8>>2];c[u+16+44+12>>2]=c[b+16+12>>2];c[u+16+60>>2]=c[b+32>>2];c[u+16+60+4>>2]=c[b+32+4>>2];c[u+16+60+8>>2]=c[b+32+8>>2];c[u+16+60+12>>2]=c[b+32+12>>2];c[u+16+76>>2]=c[b+48>>2];c[u+16+76+4>>2]=c[b+48+4>>2];c[u+16+76+8>>2]=c[b+48+8>>2];c[u+16+76+12>>2]=c[b+48+12>>2];Zb[c[(c[d>>2]|0)+64>>2]&127](d,u+16|0,u+112|0,u+144|0);f=c[d+4>>2]|0}if((f|0)!=3){l=u;return}c[u+144>>2]=1566444395;c[u+144+4>>2]=1566444395;c[u+144+8>>2]=1566444395;g[u+144+12>>2]=0.0;c[u+112>>2]=-581039253;c[u+112+4>>2]=-581039253;c[u+112+8>>2]=-581039253;g[u+112+12>>2]=0.0;O=pb[c[(c[a>>2]|0)+20>>2]&127](a)|0;c[u+16>>2]=5912;c[u+16+4>>2]=5936;c[u+16+8>>2]=O;c[u+16+12>>2]=c[e>>2];c[u+16+12+4>>2]=c[e+4>>2];c[u+16+12+8>>2]=c[e+8>>2];c[u+16+12+12>>2]=c[e+12>>2];c[u+16+28>>2]=c[b>>2];c[u+16+28+4>>2]=c[b+4>>2];c[u+16+28+8>>2]=c[b+8>>2];c[u+16+28+12>>2]=c[b+12>>2];c[u+16+44>>2]=c[b+16>>2];c[u+16+44+4>>2]=c[b+16+4>>2];c[u+16+44+8>>2]=c[b+16+8>>2];c[u+16+44+12>>2]=c[b+16+12>>2];c[u+16+60>>2]=c[b+32>>2];c[u+16+60+4>>2]=c[b+32+4>>2];c[u+16+60+8>>2]=c[b+32+8>>2];c[u+16+60+12>>2]=c[b+32+12>>2];c[u+16+76>>2]=c[b+48>>2];c[u+16+76+4>>2]=c[b+48+4>>2];c[u+16+76+8>>2]=c[b+48+8>>2];c[u+16+76+12>>2]=c[b+48+12>>2];O=c[d+92>>2]|0;Zb[c[(c[O>>2]|0)+8>>2]&127](O,u+16+4|0,u+112|0,u+144|0);l=u;return}}}function yc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0.0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0;u=l;l=l+48|0;A=1.0/+g[b+108>>2];B=1.0/+g[b+112>>2];C=1.0/+g[b+116>>2];v=+g[b+48>>2];w=A*+g[e>>2]+v;p=+g[b+52>>2];k=B*+g[e+4>>2]+p;r=+g[b+56>>2];q=C*+g[e+8>>2]+r;v=A*+g[f>>2]+v;p=B*+g[f+4>>2]+p;r=C*+g[f+8>>2]+r;C=+g[b+16>>2];w=w<C?C:w;B=+g[b+20>>2];k=k<B?B:k;A=+g[b+24>>2];q=q<A?A:q;z=+g[b+32>>2];w=z<w?z:w;y=+g[b+36>>2];k=y<k?y:k;x=+g[b+40>>2];q=x<q?x:q;v=v<C?C:v;p=p<B?B:p;r=r<A?A:r;v=z<v?z:v;p=y<p?y:p;r=x<r?x:r;n=~~(w+(w<0.0?-.5:.5))+-1|0;h=~~(v+(v<0.0?-.5:.5))+1|0;o=~~(k+(k<0.0?-.5:.5))+-1|0;i=~~(p+(p<0.0?-.5:.5))+1|0;m=~~(q+(q<0.0?-.5:.5))+-1|0;f=~~(r+(r<0.0?-.5:.5))+1|0;j=(c[b+64>>2]|0)+-1|0;e=(c[b+68>>2]|0)+-1|0;switch(c[b+104>>2]|0){case 0:{e=(f|0)<(e|0)?f:e;j=(i|0)<(j|0)?i:j;f=(m|0)>0?m:0;s=(o|0)>0?o:0;break}case 1:{e=(f|0)<(e|0)?f:e;j=(h|0)<(j|0)?h:j;f=(m|0)>0?m:0;s=(n|0)>0?n:0;break}case 2:{e=(i|0)<(e|0)?i:e;j=(h|0)<(j|0)?h:j;f=(o|0)>0?o:0;s=(n|0)>0?n:0;break}default:{f=0;s=0}}if((f|0)>=(e|0)){l=u;return}o=(s|0)<(j|0);n=f;while(1){if(o){m=(n&1|0)==0;f=n+1|0;r=+(n|0);i=s;while(1){do if(!(a[b+100>>0]|0)){if(a[b+101>>0]|0?(i+n&1|0)==0:0){t=14;break}if(!(m&(a[b+102>>0]|0)!=0)){k=+Lb[c[(c[b>>2]|0)+68>>2]&15](b,i,n);switch(c[b+104>>2]|0){case 0:{k=k-+g[b+48>>2];p=+(i|0)-+g[b+80>>2]*.5;q=r-+g[b+84>>2]*.5;g[u>>2]=k;g[u+4>>2]=p;g[u+8>>2]=q;g[u+12>>2]=0.0;break}case 1:{C=+(i|0)-+g[b+80>>2]*.5;p=k-+g[b+52>>2];q=r-+g[b+84>>2]*.5;g[u>>2]=C;g[u+4>>2]=p;g[u+8>>2]=q;g[u+12>>2]=0.0;k=C;break}case 2:{C=+(i|0)-+g[b+80>>2]*.5;p=r-+g[b+84>>2]*.5;q=k-+g[b+56>>2];g[u>>2]=C;g[u+4>>2]=p;g[u+8>>2]=q;g[u+12>>2]=0.0;k=C;break}default:{k=+g[u>>2];p=+g[u+4>>2];q=+g[u+8>>2]}}g[u>>2]=k*+g[b+108>>2];g[u+4>>2]=p*+g[b+112>>2];g[u+8>>2]=q*+g[b+116>>2];k=+Lb[c[(c[b>>2]|0)+68>>2]&15](b,i,f);switch(c[b+104>>2]|0){case 0:{k=k-+g[b+48>>2];p=+(i|0)-+g[b+80>>2]*.5;q=+(f|0)-+g[b+84>>2]*.5;g[u+16>>2]=k;g[u+20>>2]=p;g[u+24>>2]=q;g[u+28>>2]=0.0;break}case 1:{C=+(i|0)-+g[b+80>>2]*.5;p=k-+g[b+52>>2];q=+(f|0)-+g[b+84>>2]*.5;g[u+16>>2]=C;g[u+20>>2]=p;g[u+24>>2]=q;g[u+28>>2]=0.0;k=C;break}case 2:{C=+(i|0)-+g[b+80>>2]*.5;p=+(f|0)-+g[b+84>>2]*.5;q=k-+g[b+56>>2];g[u+16>>2]=C;g[u+20>>2]=p;g[u+24>>2]=q;g[u+28>>2]=0.0;k=C;break}default:{k=+g[u+16>>2];p=+g[u+20>>2];q=+g[u+24>>2]}}g[u+16>>2]=k*+g[b+108>>2];g[u+20>>2]=p*+g[b+112>>2];g[u+24>>2]=q*+g[b+116>>2];h=i+1|0;k=+Lb[c[(c[b>>2]|0)+68>>2]&15](b,h,n);switch(c[b+104>>2]|0){case 0:{k=k-+g[b+48>>2];p=+(h|0)-+g[b+80>>2]*.5;q=r-+g[b+84>>2]*.5;g[u+32>>2]=k;g[u+36>>2]=p;g[u+40>>2]=q;g[u+44>>2]=0.0;break}case 1:{C=+(h|0)-+g[b+80>>2]*.5;p=k-+g[b+52>>2];q=r-+g[b+84>>2]*.5;g[u+32>>2]=C;g[u+36>>2]=p;g[u+40>>2]=q;g[u+44>>2]=0.0;k=C;break}case 2:{C=+(h|0)-+g[b+80>>2]*.5;p=r-+g[b+84>>2]*.5;q=k-+g[b+56>>2];g[u+32>>2]=C;g[u+36>>2]=p;g[u+40>>2]=q;g[u+44>>2]=0.0;k=C;break}default:{k=+g[u+32>>2];p=+g[u+36>>2];q=+g[u+40>>2]}}g[u+32>>2]=k*+g[b+108>>2];g[u+36>>2]=p*+g[b+112>>2];g[u+40>>2]=q*+g[b+116>>2];Zb[c[(c[d>>2]|0)+8>>2]&127](d,u,i,n);k=+Lb[c[(c[b>>2]|0)+68>>2]&15](b,h,n);switch(c[b+104>>2]|0){case 0:{k=k-+g[b+48>>2];p=+(h|0)-+g[b+80>>2]*.5;q=r-+g[b+84>>2]*.5;g[u>>2]=k;g[u+4>>2]=p;g[u+8>>2]=q;g[u+12>>2]=0.0;break}case 1:{C=+(h|0)-+g[b+80>>2]*.5;p=k-+g[b+52>>2];q=r-+g[b+84>>2]*.5;g[u>>2]=C;g[u+4>>2]=p;g[u+8>>2]=q;g[u+12>>2]=0.0;k=C;break}case 2:{C=+(h|0)-+g[b+80>>2]*.5;p=r-+g[b+84>>2]*.5;q=k-+g[b+56>>2];g[u>>2]=C;g[u+4>>2]=p;g[u+8>>2]=q;g[u+12>>2]=0.0;k=C;break}default:{k=+g[u>>2];p=+g[u+4>>2];q=+g[u+8>>2]}}g[u>>2]=k*+g[b+108>>2];g[u+4>>2]=p*+g[b+112>>2];g[u+8>>2]=q*+g[b+116>>2];k=+Lb[c[(c[b>>2]|0)+68>>2]&15](b,h,f);switch(c[b+104>>2]|0){case 0:{k=k-+g[b+48>>2];p=+(h|0)-+g[b+80>>2]*.5;q=+(f|0)-+g[b+84>>2]*.5;g[u+32>>2]=k;g[u+36>>2]=p;g[u+40>>2]=q;g[u+44>>2]=0.0;break}case 1:{C=+(h|0)-+g[b+80>>2]*.5;p=k-+g[b+52>>2];q=+(f|0)-+g[b+84>>2]*.5;g[u+32>>2]=C;g[u+36>>2]=p;g[u+40>>2]=q;g[u+44>>2]=0.0;k=C;break}case 2:{C=+(h|0)-+g[b+80>>2]*.5;p=+(f|0)-+g[b+84>>2]*.5;q=k-+g[b+56>>2];g[u+32>>2]=C;g[u+36>>2]=p;g[u+40>>2]=q;g[u+44>>2]=0.0;k=C;break}default:{k=+g[u+32>>2];p=+g[u+36>>2];q=+g[u+40>>2]}}g[u+32>>2]=k*+g[b+108>>2];g[u+36>>2]=p*+g[b+112>>2];g[u+40>>2]=q*+g[b+116>>2];Zb[c[(c[d>>2]|0)+8>>2]&127](d,u,i,n)}else t=14}else t=14;while(0);if((t|0)==14){t=0;k=+Lb[c[(c[b>>2]|0)+68>>2]&15](b,i,n);switch(c[b+104>>2]|0){case 0:{k=k-+g[b+48>>2];p=+(i|0)-+g[b+80>>2]*.5;q=r-+g[b+84>>2]*.5;g[u>>2]=k;g[u+4>>2]=p;g[u+8>>2]=q;g[u+12>>2]=0.0;break}case 1:{C=+(i|0)-+g[b+80>>2]*.5;p=k-+g[b+52>>2];q=r-+g[b+84>>2]*.5;g[u>>2]=C;g[u+4>>2]=p;g[u+8>>2]=q;g[u+12>>2]=0.0;k=C;break}case 2:{C=+(i|0)-+g[b+80>>2]*.5;p=r-+g[b+84>>2]*.5;q=k-+g[b+56>>2];g[u>>2]=C;g[u+4>>2]=p;g[u+8>>2]=q;g[u+12>>2]=0.0;k=C;break}default:{k=+g[u>>2];p=+g[u+4>>2];q=+g[u+8>>2]}}g[u>>2]=k*+g[b+108>>2];g[u+4>>2]=p*+g[b+112>>2];g[u+8>>2]=q*+g[b+116>>2];h=i+1|0;k=+Lb[c[(c[b>>2]|0)+68>>2]&15](b,h,n);switch(c[b+104>>2]|0){case 0:{k=k-+g[b+48>>2];p=+(h|0)-+g[b+80>>2]*.5;q=r-+g[b+84>>2]*.5;g[u+16>>2]=k;g[u+20>>2]=p;g[u+24>>2]=q;g[u+28>>2]=0.0;break}case 1:{C=+(h|0)-+g[b+80>>2]*.5;p=k-+g[b+52>>2];q=r-+g[b+84>>2]*.5;g[u+16>>2]=C;g[u+20>>2]=p;g[u+24>>2]=q;g[u+28>>2]=0.0;k=C;break}case 2:{C=+(h|0)-+g[b+80>>2]*.5;p=r-+g[b+84>>2]*.5;q=k-+g[b+56>>2];g[u+16>>2]=C;g[u+20>>2]=p;g[u+24>>2]=q;g[u+28>>2]=0.0;k=C;break}default:{k=+g[u+16>>2];p=+g[u+20>>2];q=+g[u+24>>2]}}g[u+16>>2]=k*+g[b+108>>2];g[u+20>>2]=p*+g[b+112>>2];g[u+24>>2]=q*+g[b+116>>2];k=+Lb[c[(c[b>>2]|0)+68>>2]&15](b,h,f);switch(c[b+104>>2]|0){case 0:{k=k-+g[b+48>>2];p=+(h|0)-+g[b+80>>2]*.5;q=+(f|0)-+g[b+84>>2]*.5;g[u+32>>2]=k;g[u+36>>2]=p;g[u+40>>2]=q;g[u+44>>2]=0.0;break}case 1:{C=+(h|0)-+g[b+80>>2]*.5;p=k-+g[b+52>>2];q=+(f|0)-+g[b+84>>2]*.5;g[u+32>>2]=C;g[u+36>>2]=p;g[u+40>>2]=q;g[u+44>>2]=0.0;k=C;break}case 2:{C=+(h|0)-+g[b+80>>2]*.5;p=+(f|0)-+g[b+84>>2]*.5;q=k-+g[b+56>>2];g[u+32>>2]=C;g[u+36>>2]=p;g[u+40>>2]=q;g[u+44>>2]=0.0;k=C;break}default:{k=+g[u+32>>2];p=+g[u+36>>2];q=+g[u+40>>2]}}g[u+32>>2]=k*+g[b+108>>2];g[u+36>>2]=p*+g[b+112>>2];g[u+40>>2]=q*+g[b+116>>2];Zb[c[(c[d>>2]|0)+8>>2]&127](d,u,i,n);k=+Lb[c[(c[b>>2]|0)+68>>2]&15](b,h,f);switch(c[b+104>>2]|0){case 0:{k=k-+g[b+48>>2];p=+(h|0)-+g[b+80>>2]*.5;q=+(f|0)-+g[b+84>>2]*.5;g[u+16>>2]=k;g[u+20>>2]=p;g[u+24>>2]=q;g[u+28>>2]=0.0;break}case 1:{C=+(h|0)-+g[b+80>>2]*.5;p=k-+g[b+52>>2];q=+(f|0)-+g[b+84>>2]*.5;g[u+16>>2]=C;g[u+20>>2]=p;g[u+24>>2]=q;g[u+28>>2]=0.0;k=C;break}case 2:{C=+(h|0)-+g[b+80>>2]*.5;p=+(f|0)-+g[b+84>>2]*.5;q=k-+g[b+56>>2];g[u+16>>2]=C;g[u+20>>2]=p;g[u+24>>2]=q;g[u+28>>2]=0.0;k=C;break}default:{k=+g[u+16>>2];p=+g[u+20>>2];q=+g[u+24>>2]}}g[u+16>>2]=k*+g[b+108>>2];g[u+20>>2]=p*+g[b+112>>2];g[u+24>>2]=q*+g[b+116>>2];k=+Lb[c[(c[b>>2]|0)+68>>2]&15](b,i,f);switch(c[b+104>>2]|0){case 0:{k=k-+g[b+48>>2];p=+(i|0)-+g[b+80>>2]*.5;q=+(f|0)-+g[b+84>>2]*.5;g[u+32>>2]=k;g[u+36>>2]=p;g[u+40>>2]=q;g[u+44>>2]=0.0;break}case 1:{C=+(i|0)-+g[b+80>>2]*.5;p=k-+g[b+52>>2];q=+(f|0)-+g[b+84>>2]*.5;g[u+32>>2]=C;g[u+36>>2]=p;g[u+40>>2]=q;g[u+44>>2]=0.0;k=C;break}case 2:{C=+(i|0)-+g[b+80>>2]*.5;p=+(f|0)-+g[b+84>>2]*.5;q=k-+g[b+56>>2];g[u+32>>2]=C;g[u+36>>2]=p;g[u+40>>2]=q;g[u+44>>2]=0.0;k=C;break}default:{k=+g[u+32>>2];p=+g[u+36>>2];q=+g[u+40>>2]}}g[u+32>>2]=k*+g[b+108>>2];g[u+36>>2]=p*+g[b+112>>2];g[u+40>>2]=q*+g[b+116>>2];Zb[c[(c[d>>2]|0)+8>>2]&127](d,u,i,n)}if((h|0)==(j|0))break;else i=h}}else f=n+1|0;if((f|0)==(e|0))break;else n=f}l=u;return}function zc(b,e,f,h,i,k,m){b=b|0;e=e|0;f=f|0;h=h|0;i=i|0;k=k|0;m=m|0;var n=0.0,o=0.0,p=0.0,q=0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0.0,F=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0;B=l;l=l+9856|0;q=k;r=q+36|0;do{c[q>>2]=0;q=q+4|0}while((q|0)<(r|0));c[B+9712>>2]=b;c[B+9712+4>>2]=f;E=+g[h>>2];R=+g[e>>2];F=+g[h+16>>2];I=+g[e+16>>2];H=+g[h+32>>2];S=+g[e+32>>2];J=+g[e+4>>2];T=+g[e+20>>2];K=+g[e+36>>2];s=+g[e+8>>2];n=+g[e+24>>2];D=+g[e+40>>2];Q=+g[h+4>>2];P=+g[h+20>>2];O=+g[h+36>>2];N=+g[h+8>>2];M=+g[h+24>>2];L=+g[h+40>>2];g[B+9712+8>>2]=E*R+F*I+H*S;g[B+9712+12>>2]=E*J+F*T+H*K;g[B+9712+16>>2]=E*s+F*n+H*D;g[B+9712+20>>2]=0.0;g[B+9712+24>>2]=R*Q+I*P+S*O;g[B+9712+28>>2]=J*Q+T*P+K*O;g[B+9712+32>>2]=s*Q+n*P+D*O;g[B+9712+36>>2]=0.0;g[B+9712+40>>2]=R*N+I*M+S*L;g[B+9712+44>>2]=J*N+T*M+K*L;g[B+9712+48>>2]=s*N+n*M+D*L;g[B+9712+52>>2]=0.0;D=+g[h+48>>2]-+g[e+48>>2];n=+g[h+52>>2]-+g[e+52>>2];s=+g[h+56>>2]-+g[e+56>>2];K=+g[e>>2];T=+g[h>>2];J=+g[e+16>>2];S=+g[h+16>>2];I=+g[e+32>>2];R=+g[h+32>>2];H=+g[e+4>>2];F=+g[e+20>>2];E=+g[e+36>>2];C=+g[e+8>>2];o=+g[e+24>>2];p=+g[e+40>>2];g[B+9712+56>>2]=K*T+J*S+I*R;g[B+9712+60>>2]=K*Q+J*P+I*O;g[B+9712+64>>2]=K*N+J*M+I*L;g[B+9712+68>>2]=0.0;g[B+9712+72>>2]=T*H+S*F+R*E;g[B+9712+76>>2]=Q*H+P*F+O*E;g[B+9712+80>>2]=N*H+M*F+L*E;g[B+9712+84>>2]=0.0;g[B+9712+88>>2]=T*C+S*o+R*p;g[B+9712+92>>2]=Q*C+P*o+O*p;g[B+9712+96>>2]=N*C+M*o+L*p;g[B+9712+100>>2]=0.0;g[B+9712+104>>2]=D*K+n*J+s*I;g[B+9712+108>>2]=D*H+n*F+s*E;g[B+9712+112>>2]=D*C+n*o+s*p;g[B+9712+116>>2]=0.0;c[B+9712+120>>2]=m?81:80;c[B+9712+124>>2]=m?0:0;c[B+9328+364>>2]=0;c[B+9328+128>>2]=0;c[B+9328+128+4>>2]=0;c[B+9328+128+8>>2]=0;c[B+9328+128+12>>2]=0;c[B+9328+376>>2]=2;c[B+9328+368>>2]=0;g[B+9328+144>>2]=0.0;p=-+g[i+4>>2];s=-+g[i+8>>2];g[B+16>>2]=-+g[i>>2];g[B+16+4>>2]=p;g[B+16+8>>2]=s;g[B+16+12>>2]=0.0;switch(Ec(B+9328|0,B+9712|0,B+16|0)|0){case 1:{w=B+32+9280|0;x=B+32+9288|0;y=B+32+9292|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;c[B+32>>2]=9;A=B+32+40|0;c[B+32+9276>>2]=0;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0;c[A+16>>2]=0;m=0;do{b=128-m+-1|0;c[B+32+2108+(b*56|0)+44>>2]=0;f=c[x>>2]|0;c[B+32+2108+(b*56|0)+48>>2]=f;if(f|0)c[f+44>>2]=B+32+2108+(b*56|0);c[x>>2]=B+32+2108+(b*56|0);c[y>>2]=(c[y>>2]|0)+1;m=m+1|0}while((m|0)!=128);p=+g[i>>2];s=+g[i+4>>2];o=+g[i+8>>2];t=c[B+9328+372>>2]|0;do if((c[t+32>>2]|0)>>>0>1?hd(B+9328|0)|0:0){v=B+32+9280|0;b=c[v>>2]|0;if(b|0){q=c[B+32+9284>>2]|0;r=c[y>>2]|0;do{f=b+44|0;h=b+48|0;m=c[h>>2]|0;if(m|0)c[m+44>>2]=c[f>>2];f=c[f>>2]|0;if(f|0)c[f+48>>2]=c[h>>2];if((c[v>>2]|0)==(b|0))c[v>>2]=c[h>>2];q=q+-1|0;c[b+44>>2]=0;c[h>>2]=c[x>>2];f=c[x>>2]|0;if(f|0)c[f+44>>2]=b;c[x>>2]=b;r=r+1|0;b=c[v>>2]|0}while((b|0)!=0);c[B+32+9284>>2]=q;c[y>>2]=r}c[B+32>>2]=0;c[B+32+9276>>2]=0;b=c[t>>2]|0;f=c[t+12>>2]|0;T=+g[f+16>>2];L=+g[b+16>>2]-T;N=+g[f+20>>2];O=+g[b+20>>2]-N;Q=+g[f+24>>2];R=+g[b+24>>2]-Q;f=c[t+4>>2]|0;P=+g[f+16>>2]-T;S=+g[f+20>>2]-N;M=+g[f+24>>2]-Q;m=c[t+8>>2]|0;T=+g[m+16>>2]-T;N=+g[m+20>>2]-N;Q=+g[m+24>>2]-Q;if(L*S*Q+(O*M*T+R*P*N-L*M*N-O*P*Q)-R*S*T<0.0){c[t>>2]=f;c[t+4>>2]=b;h=c[t+16>>2]|0;c[t+16>>2]=c[t+20>>2];c[t+20>>2]=h;h=f}else{h=b;b=f}h=cf(B+32|0,h,b,m,1)|0;q=cf(B+32|0,c[t+4>>2]|0,c[t>>2]|0,c[t+12>>2]|0,1)|0;r=cf(B+32|0,c[t+8>>2]|0,c[t+4>>2]|0,c[t+12>>2]|0,1)|0;i=cf(B+32|0,c[t>>2]|0,c[t+8>>2]|0,c[t+12>>2]|0,1)|0;if((c[B+32+9284>>2]|0)==4){f=c[w>>2]|0;n=+g[f+16>>2];b=c[f+48>>2]|0;if(b){o=n*n;while(1){n=+g[b+16>>2];m=n*n<o;f=m?b:f;b=c[b+48>>2]|0;if(!b)break;else o=m?n*n:o}}o=+g[f>>2];s=+g[f+4>>2];p=+g[f+8>>2];n=+g[f+12>>2];u=c[f+16>>2]|0;m=c[f+20>>2]|0;t=c[f+24>>2]|0;b=c[f+28>>2]|0;a[h+52>>0]=0;c[h+32>>2]=q;a[q+52>>0]=0;c[q+32>>2]=h;a[h+53>>0]=0;c[h+36>>2]=r;a[r+52>>0]=1;c[r+32>>2]=h;a[h+54>>0]=0;c[h+40>>2]=i;a[i+52>>0]=2;c[i+32>>2]=h;a[q+53>>0]=2;c[q+36>>2]=i;a[i+54>>0]=1;c[i+40>>2]=q;a[q+54>>0]=1;c[q+40>>2]=r;a[r+53>>0]=2;c[r+36>>2]=q;a[r+54>>0]=1;c[r+40>>2]=i;a[i+53>>0]=2;c[i+36>>2]=r;c[B+32>>2]=0;i=u;r=f;u=0;while(1){f=c[B+32+9276>>2]|0;if(f>>>0>=64){f=6;z=47;break}c[B+9840>>2]=0;c[B+9840+4>>2]=0;c[B+9840+8>>2]=0;c[B+32+9276>>2]=f+1;u=u+1|0;a[r+55>>0]=u;h=r+4|0;q=r+8|0;uh(B+9328|0,+g[r>>2],+g[h>>2],+g[q>>2],B+32+60+(f<<5)|0);if(+g[r>>2]*+g[B+32+60+(f<<5)+16>>2]+ +g[h>>2]*+g[B+32+60+(f<<5)+20>>2]+ +g[q>>2]*+g[B+32+60+(f<<5)+24>>2]-+g[r+16>>2]>9.999999747378752e-05)q=0;else{f=7;z=47;break}do{h=eh(B+32|0,u,B+32+60+(f<<5)|0,c[r+32+(q<<2)>>2]|0,d[r+52+q>>0]|0,B+9840|0)|0;q=q+1|0}while(h&q>>>0<3);if(!(h&(c[B+9840+8>>2]|0)>>>0>2)){f=4;z=47;break}m=c[B+9840>>2]|0;b=c[B+9840+4>>2]|0;a[m+53>>0]=2;c[m+36>>2]=b;a[b+54>>0]=1;c[b+40>>2]=m;b=r+44|0;m=r+48|0;f=c[m>>2]|0;if(f|0)c[f+44>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+48>>2]=c[m>>2];if((c[v>>2]|0)==(r|0))c[v>>2]=c[m>>2];c[B+32+9284>>2]=(c[B+32+9284>>2]|0)+-1;c[r+44>>2]=0;c[m>>2]=c[x>>2];b=c[x>>2]|0;if(b|0)c[b+44>>2]=r;c[x>>2]=r;c[y>>2]=(c[y>>2]|0)+1;f=c[w>>2]|0;n=+g[f+16>>2];b=c[f+48>>2]|0;if(b){o=n*n;while(1){n=+g[b+16>>2];m=n*n<o;f=m?b:f;b=c[b+48>>2]|0;if(!b)break;else o=m?n*n:o}}o=+g[f>>2];s=+g[f+4>>2];p=+g[f+8>>2];n=+g[f+12>>2];h=c[f+16>>2]|0;m=c[f+20>>2]|0;q=c[f+24>>2]|0;b=c[f+28>>2]|0;if(u>>>0>=255){f=q;break}else{i=h;t=q;r=f}}if((z|0)==47){c[B+32>>2]=f;h=i;f=t}R=(c[j>>2]=h,+g[j>>2]);P=R*o;N=R*s;R=R*p;g[B+32+40>>2]=o;g[B+32+44>>2]=s;g[B+32+48>>2]=p;g[B+32+52>>2]=n;c[B+32+56>>2]=h;c[B+32+36>>2]=3;c[B+32+4>>2]=m;c[B+32+8>>2]=f;c[B+32+12>>2]=b;y=f;S=+g[y+16>>2]-P;L=+g[y+20>>2]-N;K=+g[y+24>>2]-R;x=b;Q=+g[x+16>>2]-P;M=+g[x+20>>2]-N;O=+g[x+24>>2]-R;S=+G(+((S*M-L*Q)*(S*M-L*Q)+((L*O-K*M)*(L*O-K*M)+(K*Q-S*O)*(K*Q-S*O))));g[B+32+20>>2]=S;Q=+g[x+16>>2]-P;K=+g[x+20>>2]-N;x=m;M=+g[x+16>>2]-P;L=+g[x+20>>2]-N;T=+g[x+24>>2]-R;T=+G(+((Q*L-K*M)*(Q*L-K*M)+((K*T-O*L)*(K*T-O*L)+(O*M-Q*T)*(O*M-Q*T))));g[B+32+24>>2]=T;Q=+g[x+16>>2]-P;M=+g[x+20>>2]-N;O=+g[x+24>>2]-R;P=+g[y+16>>2]-P;N=+g[y+20>>2]-N;R=+g[y+24>>2]-R;R=+G(+((Q*N-M*P)*(Q*N-M*P)+((M*R-O*N)*(M*R-O*N)+(O*P-Q*R)*(O*P-Q*R))));g[B+32+20>>2]=S/(R+(S+T));g[B+32+24>>2]=T/(R+(S+T));g[B+32+28>>2]=R/(R+(S+T));if((c[B+32>>2]|0)!=9)if(!(c[B+32+36>>2]|0)){p=0.0;o=0.0;n=0.0;break}else{h=B+32+36|0;z=50;break}c[k>>2]=3;e=0;l=B;return e|0}else z=43}else z=43;while(0);if((z|0)==43){c[B+32>>2]=8;g[B+32+40>>2]=p;g[B+32+44>>2]=s;g[B+32+48>>2]=o;g[B+32+52>>2]=0.0;n=+G(+(p*p+s*s+o*o));if(n>0.0){g[B+32+40>>2]=1.0/n*p;g[B+32+44>>2]=1.0/n*s;g[B+32+48>>2]=1.0/n*o}else{c[A>>2]=1065353216;c[B+32+44>>2]=0;c[B+32+48>>2]=0}g[B+32+52>>2]=0.0;g[B+32+56>>2]=0.0;c[B+32+36>>2]=1;c[B+32+4>>2]=c[t>>2];g[B+32+20>>2]=1.0;h=B+32+36|0;z=50}if((z|0)==50){n=0.0;o=0.0;p=0.0;m=0;do{b=c[B+9712+120>>2]|0;z=c[B+9712+124>>2]|0;f=(c[B+9712>>2]|0)+(z>>1)|0;if(z&1)b=c[(c[f>>2]|0)+b>>2]|0;Vb[b&127](B,f,c[B+32+4+(m<<2)>>2]|0);T=+g[B+32+20+(m<<2)>>2];n=n+ +g[B>>2]*T;o=o+T*+g[B+4>>2];p=p+T*+g[B+8>>2];m=m+1|0}while(m>>>0<(c[h>>2]|0)>>>0)}c[k>>2]=1;T=n*+g[e+16>>2]+o*+g[e+20>>2]+p*+g[e+24>>2]+ +g[e+52>>2];Q=n*+g[e+32>>2]+o*+g[e+36>>2]+p*+g[e+40>>2]+ +g[e+56>>2];g[k+4>>2]=n*+g[e>>2]+o*+g[e+4>>2]+p*+g[e+8>>2]+ +g[e+48>>2];g[k+8>>2]=T;g[k+12>>2]=Q;g[k+16>>2]=0.0;Q=+g[A>>2];T=+g[B+32+56>>2];R=+g[B+32+44>>2];S=+g[B+32+48>>2];L=n-Q*T;M=o-T*R;N=p-T*S;O=L*+g[e+16>>2]+M*+g[e+20>>2]+N*+g[e+24>>2]+ +g[e+52>>2];P=L*+g[e+32>>2]+M*+g[e+36>>2]+N*+g[e+40>>2]+ +g[e+56>>2];g[k+20>>2]=L*+g[e>>2]+M*+g[e+4>>2]+N*+g[e+8>>2]+ +g[e+48>>2];g[k+24>>2]=O;g[k+28>>2]=P;g[k+32>>2]=0.0;g[k+36>>2]=-Q;g[k+40>>2]=-R;g[k+44>>2]=-S;g[k+48>>2]=0.0;g[k+52>>2]=-T;e=1;l=B;return e|0}case 2:{c[k>>2]=2;e=0;l=B;return e|0}default:{e=0;l=B;return e|0}}return 0}function Ac(b,d){b=b|0;d=+d;var e=0,f=0.0,h=0,i=0,j=0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0;s=l;l=l+160|0;o=c[b+136>>2]|0;if(!o){l=s;return}j=c[b+8>>2]|0;if((j|0)<(o|0)){if((c[b+12>>2]|0)<(o|0)){c[6485]=(c[6485]|0)+1;e=ic((o<<4|3)+16|0)|0;if(!e)i=0;else{c[(e+4+15&-16)+-4>>2]=e;i=e+4+15&-16}e=c[b+8>>2]|0;if((e|0)>0){h=0;do{p=i+(h<<4)|0;n=(c[b+16>>2]|0)+(h<<4)|0;c[p>>2]=c[n>>2];c[p+4>>2]=c[n+4>>2];c[p+8>>2]=c[n+8>>2];c[p+12>>2]=c[n+12>>2];h=h+1|0}while((h|0)!=(e|0))}e=c[b+16>>2]|0;if(e|0){if(a[b+20>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[e+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=i;c[b+12>>2]=o;h=b+16|0}else h=b+16|0;e=j;do{p=(c[h>>2]|0)+(e<<4)|0;c[p>>2]=c[s+96>>2];c[p+4>>2]=c[s+96+4>>2];c[p+8>>2]=c[s+96+8>>2];c[p+12>>2]=c[s+96+12>>2];e=e+1|0}while((e|0)!=(o|0))}c[b+8>>2]=o;j=c[b+28>>2]|0;if((j|0)<(o|0)){if((c[b+32>>2]|0)<(o|0)){c[6485]=(c[6485]|0)+1;e=ic((o<<4|3)+16|0)|0;if(!e)i=0;else{c[(e+4+15&-16)+-4>>2]=e;i=e+4+15&-16}e=c[b+28>>2]|0;if((e|0)>0){h=0;do{p=i+(h<<4)|0;n=(c[b+36>>2]|0)+(h<<4)|0;c[p>>2]=c[n>>2];c[p+4>>2]=c[n+4>>2];c[p+8>>2]=c[n+8>>2];c[p+12>>2]=c[n+12>>2];h=h+1|0}while((h|0)!=(e|0))}e=c[b+36>>2]|0;if(e|0){if(a[b+40>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[e+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=i;c[b+32>>2]=o;h=b+36|0}else h=b+36|0;e=j;do{p=(c[h>>2]|0)+(e<<4)|0;c[p>>2]=c[s+80>>2];c[p+4>>2]=c[s+80+4>>2];c[p+8>>2]=c[s+80+8>>2];c[p+12>>2]=c[s+80+12>>2];e=e+1|0}while((e|0)!=(o|0))}c[b+28>>2]=o;n=c[b+48>>2]|0;if((o|0)>(n|0)){do if((c[b+52>>2]|0)<(o|0)){c[6485]=(c[6485]|0)+1;e=ic((o<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}h=c[b+48>>2]|0;i=c[b+56>>2]|0;if((h|0)<=0){if(!i){a[b+60>>0]=1;c[b+56>>2]=e;c[b+52>>2]=o;break}}else{j=0;do{c[e+(j<<2)>>2]=c[i+(j<<2)>>2];j=j+1|0}while((j|0)!=(h|0))}if(a[b+60>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[i+-4>>2]|0)}a[b+60>>0]=1;c[b+56>>2]=e;c[b+52>>2]=o}else e=c[b+56>>2]|0;while(0);Lk(e+(n<<2)|0,0,o-n<<2|0)|0}c[b+48>>2]=o;n=c[b+68>>2]|0;if((o|0)>(n|0)){do if((c[b+72>>2]|0)<(o|0)){c[6485]=(c[6485]|0)+1;e=ic((o<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}h=c[b+68>>2]|0;i=c[b+76>>2]|0;if((h|0)<=0){if(!i){a[b+80>>0]=1;c[b+76>>2]=e;c[b+72>>2]=o;break}}else{j=0;do{c[e+(j<<2)>>2]=c[i+(j<<2)>>2];j=j+1|0}while((j|0)!=(h|0))}if(a[b+80>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[i+-4>>2]|0)}a[b+80>>0]=1;c[b+76>>2]=e;c[b+72>>2]=o}else e=c[b+76>>2]|0;while(0);Lk(e+(n<<2)|0,0,o-n<<2|0)|0}c[b+68>>2]=o;e=c[b+136>>2]|0;if((e|0)<=0){l=s;return}h=c[b+76>>2]|0;i=c[b+56>>2]|0;j=0;do{g[h+(j<<2)>>2]=0.0;g[i+(j<<2)>>2]=0.0;j=j+1|0}while((j|0)!=(e|0));j=0;do{h=c[b+144>>2]|0;i=c[h+(j*284|0)+88>>2]|0;if(i){e=h+(j*284|0)+92|0;c[s+112>>2]=c[e>>2];c[s+112+4>>2]=c[e+4>>2];c[s+112+8>>2]=c[e+8>>2];c[s+112+12>>2]=c[e+12>>2];e=h+(j*284|0)+108|0;c[s+112+16>>2]=c[e>>2];c[s+112+16+4>>2]=c[e+4>>2];c[s+112+16+8>>2]=c[e+8>>2];c[s+112+16+12>>2]=c[e+12>>2];e=h+(j*284|0)+124|0;c[s+112+32>>2]=c[e>>2];c[s+112+32+4>>2]=c[e+4>>2];c[s+112+32+8>>2]=c[e+8>>2];c[s+112+32+12>>2]=c[e+12>>2];e=c[b+36>>2]|0;x=c[b+120>>2]|0;o=c[s+112+16+(x<<2)>>2]|0;y=c[s+112+32+(x<<2)>>2]|0;c[e+(j<<4)>>2]=c[s+112+(x<<2)>>2];c[e+(j<<4)+4>>2]=o;c[e+(j<<4)+8>>2]=y;g[e+(j<<4)+12>>2]=0.0;e=c[b+36>>2]|0;y=e+(j<<4)|0;z=+g[y>>2];o=h+(j*284|0)|0;f=+g[o>>2];x=e+(j<<4)+4|0;w=+g[x>>2];n=h+(j*284|0)+4|0;k=+g[n>>2];e=e+(j<<4)+8|0;t=+g[e>>2];p=h+(j*284|0)+8|0;v=+g[p>>2];m=z-f*(z*f+w*k+t*v);u=w-k*(z*f+w*k+t*v);v=t-v*(z*f+w*k+t*v);t=1.0/+G(+(m*m+u*u+v*v));g[y>>2]=m*t;g[x>>2]=u*t;g[e>>2]=v*t;e=c[b+16>>2]|0;k=+g[n>>2];w=+g[p>>2];f=+g[o>>2];g[e+(j<<4)>>2]=k*v*t-w*u*t;g[e+(j<<4)+4>>2]=w*m*t-v*t*f;g[e+(j<<4)+8>>2]=u*t*f-k*m*t;g[e+(j<<4)+12>>2]=0.0;e=c[b+16>>2]|0;o=e+(j<<4)|0;t=+g[o>>2];p=e+(j<<4)+4|0;m=+g[p>>2];e=e+(j<<4)+8|0;k=+g[e>>2];f=1.0/+G(+(t*t+m*m+k*k));g[o>>2]=t*f;g[p>>2]=m*f;g[e>>2]=k*f;e=c[b+116>>2]|0;p=c[b+36>>2]|0;f=+g[p+(j<<4)>>2];k=+g[p+(j<<4)+4>>2];m=+g[p+(j<<4)+8>>2];if(f*f+k*k+m*m>1.100000023841858)f=0.0;else{C=+g[h+(j*284|0)+16>>2];H=C-+g[e+52>>2];E=+g[h+(j*284|0)+20>>2];J=E-+g[e+56>>2];K=+g[h+(j*284|0)+24>>2];M=K-+g[e+60>>2];C=C-+g[i+52>>2];E=E-+g[i+56>>2];K=K-+g[i+60>>2];F=+g[e+332>>2];N=+g[e+336>>2];I=+g[e+328>>2];B=+g[i+332>>2];L=+g[i+336>>2];D=+g[i+328>>2];A=(m*J-k*M)*+g[e+4>>2]+(f*M-m*H)*+g[e+20>>2]+(k*H-f*J)*+g[e+36>>2];t=(m*J-k*M)*+g[e+8>>2]+(f*M-m*H)*+g[e+24>>2]+(k*H-f*J)*+g[e+40>>2];u=(m*J-k*M)*+g[e+12>>2]+(f*M-m*H)*+g[e+28>>2]+(k*H-f*J)*+g[e+44>>2];v=(E*-m-K*-k)*+g[i+4>>2]+(K*-f-C*-m)*+g[i+20>>2]+(C*-k-E*-f)*+g[i+36>>2];w=(E*-m-K*-k)*+g[i+8>>2]+(K*-f-C*-m)*+g[i+24>>2]+(C*-k-E*-f)*+g[i+40>>2];z=(E*-m-K*-k)*+g[i+12>>2]+(K*-f-C*-m)*+g[i+28>>2]+(C*-k-E*-f)*+g[i+44>>2];f=(f*(M*F-J*N+ +g[e+312>>2]-(K*B-E*L+ +g[i+312>>2]))+k*(+g[e+316>>2]+(H*N-M*I)-(+g[i+316>>2]+(C*L-K*D)))+m*(J*I-H*F+ +g[e+320>>2]-(E*D-C*B+ +g[i+320>>2])))*-.20000000298023224*(1.0/(+g[i+344>>2]+(+g[e+344>>2]+(A*A*+g[e+396>>2]+t*t*+g[e+400>>2]+u*u*+g[e+404>>2]))+(v*v*+g[i+396>>2]+w*w*+g[i+400>>2]+z*z*+g[i+404>>2])))}g[(c[b+76>>2]|0)+(j<<2)>>2]=f;e=c[b+136>>2]|0}j=j+1|0}while((j|0)<(e|0));if((e|0)<=0){l=s;return}h=c[b+144>>2]|0;i=0;p=0;while(1){e=c[h+(p*284|0)+88>>2]|0;if(e){f=+g[h+(p*284|0)+252>>2];if(f!=0.0){n=h;f=f*d}else{N=+g[h+(p*284|0)+256>>2];N=N==0.0?0.0:N;n=c[b+116>>2]|0;y=c[b+16>>2]|0;H=+g[h+(p*284|0)+16>>2];E=+g[h+(p*284|0)+20>>2];A=+g[h+(p*284|0)+24>>2];w=+g[y+(p<<4)>>2];D=+g[y+(p<<4)+4>>2];f=+g[y+(p<<4)+8>>2];P=H-+g[n+52>>2];Q=E-+g[n+56>>2];k=A-+g[n+60>>2];m=+g[n+264>>2]*(Q*f-k*D)+ +g[n+280>>2]*(k*w-P*f)+(P*D-Q*w)*+g[n+296>>2];R=(Q*f-k*D)*+g[n+268>>2]+(k*w-P*f)*+g[n+284>>2]+(P*D-Q*w)*+g[n+300>>2];O=(Q*f-k*D)*+g[n+272>>2]+(k*w-P*f)*+g[n+288>>2]+(P*D-Q*w)*+g[n+304>>2];L=H-+g[e+52>>2];J=E-+g[e+56>>2];C=A-+g[e+60>>2];v=(D*L-w*J)*+g[e+296>>2]+(+g[e+264>>2]*(f*J-D*C)+ +g[e+280>>2]*(w*C-f*L));t=(f*J-D*C)*+g[e+268>>2]+(w*C-f*L)*+g[e+284>>2]+(D*L-w*J)*+g[e+300>>2];u=(f*J-D*C)*+g[e+272>>2]+(w*C-f*L)*+g[e+288>>2]+(D*L-w*J)*+g[e+304>>2];H=H-+g[n+52>>2];E=E-+g[n+56>>2];A=A-+g[n+60>>2];I=+g[n+332>>2];z=+g[n+336>>2];F=+g[n+328>>2];M=+g[e+332>>2];B=+g[e+336>>2];K=+g[e+328>>2];f=-(1.0/(+g[n+344>>2]+(f*(Q*m-P*R)+(w*(k*R-Q*O)+D*(P*O-k*m)))+(+g[e+344>>2]+(f*(J*v-L*t)+(w*(C*t-J*u)+D*(L*u-C*v)))))*((A*I-E*z+ +g[n+312>>2]-(C*M-J*B+ +g[e+312>>2]))*w+(+g[n+316>>2]+(H*z-A*F)-(+g[e+316>>2]+(L*B-C*K)))*D+(E*F-H*I+ +g[n+320>>2]-(J*K-L*M+ +g[e+320>>2]))*f));f=N<f?N:f;n=c[b+144>>2]|0;f=f<-N?-N:f}o=c[b+56>>2]|0;y=o+(p<<2)|0;g[y>>2]=0.0;e=n+(p*284|0)+280|0;g[e>>2]=1.0;m=+g[h+(p*284|0)+276>>2]*d*+g[h+(p*284|0)+228>>2];g[y>>2]=f;f=f*.5;k=+g[(c[b+76>>2]|0)+(p<<2)>>2];if(f*f+k*k>m*m){R=m/+G(+(f*f+k*k));g[e>>2]=R*+g[e>>2];e=1}else e=i}else{o=c[b+56>>2]|0;g[o+(p<<2)>>2]=0.0;g[h+(p*284|0)+280>>2]=1.0;n=h;e=i}p=p+1|0;j=c[b+136>>2]|0;if((p|0)>=(j|0))break;else{h=n;i=e}}if(e){if((j|0)<=0){l=s;return}e=c[b+76>>2]|0;i=0;do{h=e+(i<<2)|0;if(+g[h>>2]!=0.0?(q=n+(i*284|0)+280|0,r=+g[q>>2],r<1.0):0){y=o+(i<<2)|0;g[y>>2]=r*+g[y>>2];g[h>>2]=+g[q>>2]*+g[h>>2]}i=i+1|0}while((i|0)!=(j|0))}if((j|0)<=0){l=s;return}p=n;i=o;e=0;while(1){h=c[b+116>>2]|0;j=p+(e*284|0)+16|0;k=+g[j>>2]-+g[h+52>>2];n=p+(e*284|0)+20|0;m=+g[n>>2]-+g[h+56>>2];o=p+(e*284|0)+24|0;d=+g[o>>2]-+g[h+60>>2];g[s+64>>2]=k;g[s+64+4>>2]=m;g[s+64+8>>2]=d;g[s+64+12>>2]=0.0;f=+g[i+(e<<2)>>2];if(f!=0.0){y=c[b+16>>2]|0;Q=f*+g[y+(e<<4)+4>>2];R=f*+g[y+(e<<4)+8>>2];g[s+48>>2]=f*+g[y+(e<<4)>>2];g[s+48+4>>2]=Q;g[s+48+8>>2]=R;g[s+48+12>>2]=0.0;Zk(h,s+48|0,s+64|0)}f=+g[(c[b+76>>2]|0)+(e<<2)>>2];if(f!=0.0){y=c[(c[b+144>>2]|0)+(e*284|0)+88>>2]|0;Q=+g[n>>2]-+g[y+56>>2];P=+g[o>>2]-+g[y+60>>2];g[s+32>>2]=+g[j>>2]-+g[y+52>>2];g[s+32+4>>2]=Q;g[s+32+8>>2]=P;g[s+32+12>>2]=0.0;x=c[b+36>>2]|0;P=+g[x+(e<<4)>>2]*f;Q=f*+g[x+(e<<4)+4>>2];R=f*+g[x+(e<<4)+8>>2];g[s+16>>2]=P;g[s+16+4>>2]=Q;g[s+16+8>>2]=R;g[s+16+12>>2]=0.0;x=c[b+116>>2]|0;q=c[b+124>>2]|0;L=+g[x+4+(q<<2)>>2];M=+g[x+20+(q<<2)>>2];N=+g[x+36+(q<<2)>>2];O=(L*k+M*m+N*d)*(1.0-+g[p+(e*284|0)+244>>2]);g[s+64>>2]=k-L*O;g[s+64+4>>2]=m-M*O;g[s+64+8>>2]=d-N*O;Zk(x,s+16|0,s+64|0);g[s>>2]=-P;g[s+4>>2]=-Q;g[s+8>>2]=-R;g[s+12>>2]=0.0;Zk(y,s,s+32|0)}e=e+1|0;if((e|0)>=(c[b+136>>2]|0))break;p=c[b+144>>2]|0;i=c[b+56>>2]|0}l=s;return}function Bc(b,d){b=b|0;d=d|0;var e=0,f=0,h=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0.0,s=0.0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0.0;O=l;l=l+240|0;M=c[d+36>>2]|0;s=+g[(+g[M+88>>2]>0.0?b+16|0:b+20|0)>>2];if(a[M+100>>0]&1){l=O;return}K=c[b+8>>2]|0;u=c[K+4>>2]|0;L=c[K+12>>2]|0;I=c[(c[b+4>>2]|0)+684>>2]|0;A=+g[M+8>>2]-+g[L+48>>2];o=+g[M+12>>2]-+g[L+52>>2];B=+g[M+16>>2]-+g[L+56>>2];z=1.0/+g[I+76>>2];y=z*(A*+g[L>>2]+o*+g[L+16>>2]+B*+g[L+32>>2])/3.0;E=y<0.0?~~(1.0-y):0;J=~~((y+ +(E|0)-+(~~(y+ +(E|0))|0))*3.0);r=(y+ +(E|0)-+(~~(y+ +(E|0))|0))*3.0-+(J|0);E=~~(y+ +(E|0))-E|0;y=z*(A*+g[L+4>>2]+o*+g[L+20>>2]+B*+g[L+36>>2])/3.0;C=y<0.0?~~(1.0-y):0;F=~~((y+ +(C|0)-+(~~(y+ +(C|0))|0))*3.0);n=(y+ +(C|0)-+(~~(y+ +(C|0))|0))*3.0-+(F|0);C=~~(y+ +(C|0))-C|0;B=z*(A*+g[L+8>>2]+o*+g[L+24>>2]+B*+g[L+40>>2])/3.0;D=B<0.0?~~(1.0-B):0;H=~~((B+ +(D|0)-+(~~(B+ +(D|0))|0))*3.0);o=(B+ +(D|0)-+(~~(B+ +(D|0))|0))*3.0-+(H|0);D=~~(B+ +(D|0))-D|0;p=(E>>>16<<11^(E&65535)+16^(E&65535)+16<<16)+(C&65535)+((E>>>16<<11^(E&65535)+16^(E&65535)+16<<16)>>>11)|0;p=(p^C>>>16<<11^p<<16)+(D&65535)+((p^C>>>16<<11^p<<16)>>>11)|0;p=(p^D>>>16<<11^p<<16)+(u&65535)+((p^D>>>16<<11^p<<16)>>>11)|0;p=((p^u>>>16<<11^p<<16)>>>11)+(p^u>>>16<<11^p<<16)|0;p=((p<<3^p)>>>5)+(p<<3^p)<<4^((p<<3^p)>>>5)+(p<<3^p);p=(((p>>>17)+p<<25^(p>>>17)+p)>>>6)+((p>>>17)+p<<25^(p>>>17)+p)|0;q=c[I+60>>2]|0;t=c[I+68>>2]|0;d=c[t+(((p>>>0)%(q>>>0)|0)<<2)>>2]|0;c[I+96>>2]=(c[I+96>>2]|0)+1;e=(c[I+92>>2]|0)+1|0;c[I+92>>2]=e;a:do if(!d)f=9;else while(1){if(((((c[d+272>>2]|0)==(p|0)?(c[d+256>>2]|0)==(E|0):0)?(c[d+260>>2]|0)==(C|0):0)?(c[d+264>>2]|0)==(D|0):0)?(c[d+276>>2]|0)==(u|0):0)break a;d=c[d+280>>2]|0;e=e+1|0;c[I+92>>2]=e;if(!d){f=9;break}}while(0);if((f|0)==9){f=c[I+84>>2]|0;c[I+84>>2]=f+1;if((f|0)>=(c[I+88>>2]|0)){c[5839]=(c[5839]|0)+1;b:do if((q|0)>0){e=t;f=0;while(1){e=e+(f<<2)|0;d=c[e>>2]|0;c[e>>2]=0;if(d|0)do{e=d;d=c[d+280>>2]|0;YG(e)}while((d|0)!=0);d=f+1|0;if((d|0)==(q|0))break b;e=c[I+68>>2]|0;f=d}}while(0);g[I+76>>2]=.25;c[I+80>>2]=0;c[I+84>>2]=0;c[I+92>>2]=1;c[I+96>>2]=1}d=Ir(284)|0;Lk(d|0,0,284)|0;c[d+280>>2]=c[t+(((p>>>0)%(q>>>0)|0)<<2)>>2];c[t+(((p>>>0)%(q>>>0)|0)<<2)>>2]=d;c[d+276>>2]=u;c[d+272>>2]=p;c[d+256>>2]=E;c[d+260>>2]=C;c[d+264>>2]=D;k=+g[I+76>>2];q=O+168+4|0;t=O+168+24|0;u=O+168+44|0;h=k;e=0;while(1){j=k*+(D|0)*3.0+ +(e|0)*h;p=0;while(1){i=k*+(C|0)*3.0+ +(p|0)*h;g[O+96>>2]=+(E|0)*3.0*k+h*0.0;g[O+96+4>>2]=i;g[O+96+8>>2]=j;g[O+96+12>>2]=0.0;f=c[d+276>>2]|0;c[O+168>>2]=1065353216;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[O+168+20>>2]=1065353216;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[O+168+40>>2]=1065353216;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;if((c[f+4>>2]|0)<20)h=+Vc(O+96|0,f,O+168|0,O+112|0);else h=0.0;g[d+(p<<4)+(e<<2)>>2]=h;g[O+96>>2]=+(E|0)*3.0*k+ +g[I+76>>2];g[O+96+4>>2]=i;g[O+96+8>>2]=j;g[O+96+12>>2]=0.0;f=c[d+276>>2]|0;c[O+168>>2]=1065353216;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[O+168+20>>2]=1065353216;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[O+168+40>>2]=1065353216;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;if((c[f+4>>2]|0)<20)h=+Vc(O+96|0,f,O+168|0,O+112|0);else h=0.0;g[d+64+(p<<4)+(e<<2)>>2]=h;g[O+96>>2]=+(E|0)*3.0*k+ +g[I+76>>2]*2.0;g[O+96+4>>2]=i;g[O+96+8>>2]=j;g[O+96+12>>2]=0.0;f=c[d+276>>2]|0;c[O+168>>2]=1065353216;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[O+168+20>>2]=1065353216;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[O+168+40>>2]=1065353216;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;if((c[f+4>>2]|0)<20)h=+Vc(O+96|0,f,O+168|0,O+112|0);else h=0.0;g[d+128+(p<<4)+(e<<2)>>2]=h;g[O+96>>2]=+(E|0)*3.0*k+ +g[I+76>>2]*3.0;g[O+96+4>>2]=i;g[O+96+8>>2]=j;g[O+96+12>>2]=0.0;f=c[d+276>>2]|0;c[O+168>>2]=1065353216;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[O+168+20>>2]=1065353216;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[O+168+40>>2]=1065353216;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;if((c[f+4>>2]|0)<20)h=+Vc(O+96|0,f,O+168|0,O+112|0);else h=0.0;g[d+192+(p<<4)+(e<<2)>>2]=h;f=p+1|0;if((f|0)==4)break;h=+g[I+76>>2];p=f}e=e+1|0;if((e|0)==4)break;h=+g[I+76>>2]}}c[d+268>>2]=c[I+80>>2];h=+g[d+(J<<6)+(F<<4)+(H<<2)>>2];x=+g[d+(J+1<<6)+(F<<4)+(H<<2)>>2];v=+g[d+(J+1<<6)+(F+1<<4)+(H<<2)>>2];w=+g[d+(J<<6)+(F+1<<4)+(H<<2)>>2];B=+g[d+(J<<6)+(F<<4)+(H+1<<2)>>2];A=+g[d+(J+1<<6)+(F<<4)+(H+1<<2)>>2];y=+g[d+(J+1<<6)+(F+1<<4)+(H+1<<2)>>2];z=+g[d+(J<<6)+(F+1<<4)+(H+1<<2)>>2];i=x-h+n*(v-w-(x-h))+o*(A-B+n*(y-z-(A-B))-(x-h+n*(v-w-(x-h))));j=w-h+r*(v-x-(w-h))+o*(z-B+r*(y-A-(z-B))-(w-h+r*(v-x-(w-h))));k=B-h+r*(A-x-(B-h))+n*(z-w+r*(y-v-(z-w))-(B-h+r*(A-x-(B-h))));m=1.0/+G(+(i*i+j*j+k*k));h=h+r*(x-h)+n*(w+r*(v-w)-(h+r*(x-h)));h=h+o*(B+r*(A-B)+n*(z+r*(y-z)-(B+r*(A-B)))-h)-s;if(!(h<0.0)){l=O;return}t=c[K+8>>2]|0;A=+g[L>>2]*i*m+ +g[L+4>>2]*j*m+ +g[L+8>>2]*m*k;B=i*m*+g[L+16>>2]+j*m*+g[L+20>>2]+m*k*+g[L+24>>2];z=i*m*+g[L+32>>2]+j*m*+g[L+36>>2]+m*k*+g[L+40>>2];y=-(A*(+g[M+8>>2]-h*A)+B*(+g[M+12>>2]-h*B)+z*(+g[M+16>>2]-h*z));s=+g[M+88>>2];d=c[b+12>>2]|0;if(!d)r=0.0;else r=+g[d+344>>2];if(!(s+r>0.0)){l=O;return}if(!d)d=c[(c[b+8>>2]|0)+8>>2]|0;if((a[22632]|0)==0?qy(22632)|0:0){e=23360;f=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0))}e=c[b+12>>2]|0;m=+g[M+8>>2];w=m-+g[d+52>>2];n=+g[M+12>>2];x=n-+g[d+56>>2];o=+g[M+16>>2];v=o-+g[d+60>>2];if(!e){L=c[b+4>>2]|0;h=0.0;i=0.0;j=0.0;d=L;k=+g[L+452>>2]}else{j=+g[e+332>>2];i=+g[e+336>>2];P=+g[e+328>>2];d=c[b+4>>2]|0;k=+g[d+452>>2];h=(j*v-i*x+ +g[e+312>>2])*k;i=(+g[e+316>>2]+(i*w-v*P))*k;j=(x*P-j*w+ +g[e+320>>2])*k}m=m-+g[M+24>>2]-h;n=n-+g[M+28>>2]-i;P=o-+g[M+32>>2]-j;i=+g[d+316>>2]*+g[(c[(c[b+8>>2]|0)+8>>2]|0)+224>>2];Df(O,k,s,r,(e|0)==0?23360:e+264|0,w,x,v);c[O+80>>2]=c[O>>2];c[O+80+4>>2]=c[O+4>>2];c[O+80+8>>2]=c[O+8>>2];c[O+80+12>>2]=c[O+12>>2];c[O+64>>2]=c[O+16>>2];c[O+64+4>>2]=c[O+16+4>>2];c[O+64+8>>2]=c[O+16+8>>2];c[O+64+12>>2]=c[O+16+12>>2];c[O+48>>2]=c[O+32>>2];c[O+48+4>>2]=c[O+32+4>>2];c[O+48+8>>2]=c[O+32+8>>2];c[O+48+12>>2]=c[O+32+12>>2];q=c[b+4>>2]|0;h=s*+g[q+452>>2];i=(P-z*(m*A+n*B+P*z))*(P-z*(m*A+n*B+P*z))+((m-A*(m*A+n*B+P*z))*(m-A*(m*A+n*B+P*z))+(n-B*(m*A+n*B+P*z))*(n-B*(m*A+n*B+P*z)))<i*(m*A+n*B+P*z)*(m*A+n*B+P*z)*i?0.0:1.0-i;p=c[(c[(c[(c[b+8>>2]|0)+8>>2]|0)+204>>2]&3|0?q+328|0:q+324|0)>>2]|0;d=c[q+812>>2]|0;if((d|0)==(c[q+816>>2]|0)?(N=d|0?d<<1:1,(d|0)<(N|0)):0){if(!N)f=0;else{c[6485]=(c[6485]|0)+1;d=ic((N*104|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}f=d;d=c[q+812>>2]|0}if((d|0)>0){e=0;do{L=f+(e*104|0)|0;K=c[q+820>>2]|0;J=K+(e*104|0)|0;c[L>>2]=c[J>>2];c[L+4>>2]=c[J+4>>2];c[L+8>>2]=c[J+8>>2];c[L+12>>2]=c[J+12>>2];c[L+16>>2]=c[J+16>>2];c[L+20>>2]=c[J+20>>2];c[L+24>>2]=c[J+24>>2];L=f+(e*104|0)+28|0;J=K+(e*104|0)+28|0;c[L>>2]=c[J>>2];c[L+4>>2]=c[J+4>>2];c[L+8>>2]=c[J+8>>2];c[L+12>>2]=c[J+12>>2];L=f+(e*104|0)+44|0;J=K+(e*104|0)+44|0;c[L>>2]=c[J>>2];c[L+4>>2]=c[J+4>>2];c[L+8>>2]=c[J+8>>2];c[L+12>>2]=c[J+12>>2];L=f+(e*104|0)+60|0;J=K+(e*104|0)+60|0;c[L>>2]=c[J>>2];c[L+4>>2]=c[J+4>>2];c[L+8>>2]=c[J+8>>2];c[L+12>>2]=c[J+12>>2];L=f+(e*104|0)+76|0;K=K+(e*104|0)+76|0;c[L>>2]=c[K>>2];c[L+4>>2]=c[K+4>>2];c[L+8>>2]=c[K+8>>2];c[L+12>>2]=c[K+12>>2];c[L+16>>2]=c[K+16>>2];c[L+20>>2]=c[K+20>>2];c[L+24>>2]=c[K+24>>2];e=e+1|0}while((e|0)!=(d|0))}d=c[q+820>>2]|0;if(d|0){if(a[q+824>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[q+820>>2]=0}a[q+824>>0]=1;c[q+820>>2]=f;c[q+816>>2]=N;d=c[q+812>>2]|0}L=c[q+820>>2]|0;c[L+(d*104|0)>>2]=t;g[L+(d*104|0)+4>>2]=A;g[L+(d*104|0)+8>>2]=B;g[L+(d*104|0)+12>>2]=z;g[L+(d*104|0)+16>>2]=0.0;g[L+(d*104|0)+20>>2]=y;c[L+(d*104|0)+24>>2]=M;N=L+(d*104|0)+28|0;c[N>>2]=c[O+80>>2];c[N+4>>2]=c[O+80+4>>2];c[N+8>>2]=c[O+80+8>>2];c[N+12>>2]=c[O+80+12>>2];N=L+(d*104|0)+44|0;c[N>>2]=c[O+64>>2];c[N+4>>2]=c[O+64+4>>2];c[N+8>>2]=c[O+64+8>>2];c[N+12>>2]=c[O+64+12>>2];N=L+(d*104|0)+60|0;c[N>>2]=c[O+48>>2];c[N+4>>2]=c[O+48+4>>2];c[N+8>>2]=c[O+48+8>>2];c[N+12>>2]=c[O+48+12>>2];N=L+(d*104|0)+76|0;g[N>>2]=w;g[L+(d*104|0)+80>>2]=x;g[L+(d*104|0)+84>>2]=v;g[L+(d*104|0)+88>>2]=0.0;g[N+16>>2]=h;g[N+20>>2]=i;c[N+24>>2]=p;c[q+812>>2]=(c[q+812>>2]|0)+1;d=c[b+12>>2]|0;if(!d){l=O;return}if(c[d+204>>2]&3|0){l=O;return}if((c[d+216>>2]&-2|0)!=4)c[d+216>>2]=1;g[d+220>>2]=0.0;l=O;return}function Cc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,H=0,I=0;s=l;l=l+304|0;n=c[b+48>>2]|0;j=c[b+52>>2]|0;if((j|0?(h=c[j+20>>2]|0,h|0):0)?(pb[c[(c[h>>2]|0)+48>>2]&127](h)|0)&1|0:0){c[s+192>>2]=1065353216;c[s+192+4>>2]=1065353216;c[s+192+8>>2]=0;g[s+192+12>>2]=0.0;k=c[b+8>>2]|0;r=c[(c[b+52>>2]|0)+20>>2]|0;q=c[(c[r>>2]|0)+8>>2]|0;y=+g[d>>2];E=+g[d+4>>2];B=+g[d+8>>2];w=+g[k+20>>2];t=+g[k+24>>2];x=+g[k+28>>2];u=+g[k+36>>2];A=+g[k+40>>2];C=+g[k+44>>2];v=+g[k+52>>2];D=+g[k+56>>2];z=+g[k+60>>2];g[s+176>>2]=y*+g[k+4>>2]+E*+g[k+8>>2]+B*+g[k+12>>2]+v;g[s+176+4>>2]=y*w+E*t+B*x+D;g[s+176+8>>2]=y*u+E*A+B*C+z;g[s+176+12>>2]=0.0;B=+g[d+16>>2];E=+g[d+20>>2];y=+g[d+24>>2];g[s+160>>2]=B*+g[k+4>>2]+E*+g[k+8>>2]+y*+g[k+12>>2]+v;g[s+160+4>>2]=B*w+E*t+y*x+D;g[s+160+8>>2]=B*u+E*A+y*C+z;g[s+160+12>>2]=0.0;Zb[q&127](r,s+176|0,s+160|0,s+192|0);r=c[(c[b+52>>2]|0)+20>>2]|0;q=c[(c[r>>2]|0)+8>>2]|0;z=+g[d+16>>2];C=+g[d+20>>2];y=+g[d+24>>2];A=+g[k+20>>2];E=+g[k+24>>2];u=+g[k+28>>2];B=+g[k+36>>2];D=+g[k+40>>2];x=+g[k+44>>2];t=+g[k+52>>2];w=+g[k+56>>2];v=+g[k+60>>2];g[s+144>>2]=z*+g[k+4>>2]+C*+g[k+8>>2]+y*+g[k+12>>2]+t;g[s+144+4>>2]=z*A+C*E+y*u+w;g[s+144+8>>2]=z*B+C*D+y*x+v;g[s+144+12>>2]=0.0;y=+g[d+32>>2];C=+g[d+36>>2];z=+g[d+40>>2];g[s+128>>2]=y*+g[k+4>>2]+C*+g[k+8>>2]+z*+g[k+12>>2]+t;g[s+128+4>>2]=y*A+C*E+z*u+w;g[s+128+8>>2]=y*B+C*D+z*x+v;g[s+128+12>>2]=0.0;Zb[q&127](r,s+144|0,s+128|0,s+192|0);r=c[(c[b+52>>2]|0)+20>>2]|0;q=c[(c[r>>2]|0)+8>>2]|0;v=+g[d+32>>2];x=+g[d+36>>2];z=+g[d+40>>2];D=+g[k+20>>2];C=+g[k+24>>2];B=+g[k+28>>2];y=+g[k+36>>2];w=+g[k+40>>2];u=+g[k+44>>2];E=+g[k+52>>2];A=+g[k+56>>2];t=+g[k+60>>2];g[s+112>>2]=v*+g[k+4>>2]+x*+g[k+8>>2]+z*+g[k+12>>2]+E;g[s+112+4>>2]=v*D+x*C+z*B+A;g[s+112+8>>2]=v*y+x*w+z*u+t;g[s+112+12>>2]=0.0;z=+g[d>>2];x=+g[d+4>>2];v=+g[d+8>>2];g[s+96>>2]=z*+g[k+4>>2]+x*+g[k+8>>2]+v*+g[k+12>>2]+E;g[s+96+4>>2]=z*D+x*C+v*B+A;g[s+96+8>>2]=z*y+x*w+v*u+t;g[s+96+12>>2]=0.0;Zb[q&127](r,s+112|0,s+96|0,s+192|0)}h=((e<<21|f)+~(f<<15)>>10^(e<<21|f)+~(f<<15))*9|0;h=((h>>6^h)+~((h>>6^h)<<11)>>16^(h>>6^h)+~((h>>6^h)<<11))&(c[b+108>>2]|0)+-1;a:do if(h>>>0<(c[b+64>>2]|0)>>>0?(m=c[(c[b+72>>2]|0)+(h<<2)>>2]|0,(m|0)!=-1):0){k=c[b+132>>2]|0;j=m;while(1){if((e<<21|f|0)==(c[k+(j<<2)>>2]|0))break;h=c[(c[b+92>>2]|0)+(j<<2)>>2]|0;if((h|0)==-1)break a;else j=h}h=c[b+112>>2]|0;if(h+(j<<3)|0){q=c[h+(j<<3)+4>>2]|0;r=c[b+8>>2]|0;c[q+8>>2]=c[(c[r+192>>2]|0)+8>>2];p=c[b+4>>2]|0;o=c[p+192>>2]|0;c[s+72>>2]=0;c[s+72+4>>2]=o;c[s+72+8>>2]=p;c[s+72+12>>2]=p+4;c[s+72+16>>2]=-1;c[s+72+20>>2]=-1;c[s+48>>2]=0;c[s+48+4>>2]=q;c[s+48+8>>2]=r;c[s+48+12>>2]=r+4;c[s+48+16>>2]=e;c[s+48+20>>2]=f;r=tb[c[(c[n>>2]|0)+8>>2]&31](n,s+72|0,s+48|0,0)|0;jb[c[(c[r>>2]|0)+8>>2]&31](r,s+72|0,s+48|0,c[b+52>>2]|0,c[b+44>>2]|0);lb[c[c[r>>2]>>2]&511](r);nb[c[(c[n>>2]|0)+60>>2]&127](n,r);l=s;return}}while(0);v=+g[d+16>>2];F=+g[d>>2];w=+g[d+20>>2];t=+g[d+4>>2];x=+g[d+24>>2];u=+g[d+8>>2];y=+g[d+32>>2];A=+g[d+36>>2];C=+g[d+40>>2];z=(w-t)*(C-u)-(x-u)*(A-t);B=(x-u)*(y-F)-(v-F)*(C-u);E=(v-F)*(A-t)-(w-t)*(y-F);D=1.0/+G(+(E*E+(z*z+B*B)));g[s+208>>2]=F+D*z*.05999999865889549;g[s+208+4>>2]=t+D*B*.05999999865889549;g[s+208+8>>2]=D*E*.05999999865889549+u;g[s+208+12>>2]=0.0;g[s+208+16>>2]=D*z*.05999999865889549+v;g[s+208+20>>2]=D*B*.05999999865889549+w;g[s+208+24>>2]=D*E*.05999999865889549+x;g[s+208+28>>2]=0.0;g[s+208+32>>2]=D*z*.05999999865889549+y;g[s+208+36>>2]=D*B*.05999999865889549+A;g[s+208+40>>2]=D*E*.05999999865889549+C;g[s+208+44>>2]=0.0;g[s+208+48>>2]=F-D*z*.05999999865889549;g[s+208+52>>2]=t-D*B*.05999999865889549;g[s+208+56>>2]=u-D*E*.05999999865889549;g[s+208+60>>2]=0.0;g[s+208+64>>2]=v-D*z*.05999999865889549;g[s+208+68>>2]=w-D*B*.05999999865889549;g[s+208+72>>2]=x-D*E*.05999999865889549;g[s+208+76>>2]=0.0;g[s+208+80>>2]=y-D*z*.05999999865889549;g[s+208+84>>2]=A-D*B*.05999999865889549;g[s+208+88>>2]=C-D*E*.05999999865889549;g[s+208+92>>2]=0.0;c[6485]=(c[6485]|0)+1;h=ic(131)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}_f(h,s+208|0,6,16);r=c[b+8>>2]|0;c[h+8>>2]=c[(c[r+192>>2]|0)+8>>2];q=c[b+4>>2]|0;d=c[q+192>>2]|0;c[s+24>>2]=0;c[s+24+4>>2]=d;c[s+24+8>>2]=q;c[s+24+12>>2]=q+4;c[s+24+16>>2]=-1;c[s+24+20>>2]=-1;c[s>>2]=0;c[s+4>>2]=h;c[s+8>>2]=r;c[s+12>>2]=r+4;c[s+16>>2]=e;c[s+20>>2]=f;r=tb[c[(c[n>>2]|0)+8>>2]&31](n,s+24|0,s,0)|0;jb[c[(c[r>>2]|0)+8>>2]&31](r,s+24|0,s,c[b+52>>2]|0,c[b+44>>2]|0);lb[c[c[r>>2]>>2]&511](r);nb[c[(c[n>>2]|0)+60>>2]&127](n,r);r=((e<<21|f)+~(f<<15)>>10^(e<<21|f)+~(f<<15))*9|0;r=(r>>6^r)+~((r>>6^r)<<11)>>16^(r>>6^r)+~((r>>6^r)<<11);n=c[b+108>>2]|0;b:do if((r&n+-1)>>>0<(c[b+64>>2]|0)>>>0?(i=c[(c[b+72>>2]|0)+((r&n+-1)<<2)>>2]|0,(i|0)!=-1):0){j=c[b+132>>2]|0;while(1){if((e<<21|f|0)==(c[j+(i<<2)>>2]|0))break;i=c[(c[b+92>>2]|0)+(i<<2)>>2]|0;if((i|0)==-1){o=20;break b}}b=c[b+112>>2]|0;c[b+(i<<3)>>2]=e<<21|f;c[b+(i<<3)+4>>2]=h}else o=20;while(0);if((o|0)==20){q=c[b+104>>2]|0;if((q|0)==(n|0)){m=n|0?n<<1:1;if((n|0)<(m|0)){if(!m){i=0;j=n}else{c[6485]=(c[6485]|0)+1;i=ic((m<<3|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}j=c[b+104>>2]|0}if((j|0)>0){k=0;do{I=(c[b+112>>2]|0)+(k<<3)|0;H=c[I+4>>2]|0;d=i+(k<<3)|0;c[d>>2]=c[I>>2];c[d+4>>2]=H;k=k+1|0}while((k|0)!=(j|0))}j=c[b+112>>2]|0;if(j|0){if(a[b+116>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[j+-4>>2]|0)}c[b+112>>2]=0}a[b+116>>0]=1;c[b+112>>2]=i;c[b+108>>2]=m;i=c[b+104>>2]|0}else i=n}else i=q;I=c[b+112>>2]|0;c[I+(i<<3)>>2]=e<<21|f;c[I+(i<<3)+4>>2]=h;c[b+104>>2]=(c[b+104>>2]|0)+1;h=c[b+124>>2]|0;if((h|0)==(c[b+128>>2]|0)?(p=h|0?h<<1:1,(h|0)<(p|0)):0){if(!p)k=0;else{c[6485]=(c[6485]|0)+1;h=ic((p<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}k=h;h=c[b+124>>2]|0}j=c[b+132>>2]|0;if((h|0)<=0)if(!j)h=b+136|0;else o=43;else{i=0;do{c[k+(i<<2)>>2]=c[j+(i<<2)>>2];i=i+1|0}while((i|0)!=(h|0));o=43}if((o|0)==43){if(a[b+136>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[j+-4>>2]|0)}c[b+132>>2]=0;h=b+136|0}a[h>>0]=1;c[b+132>>2]=k;c[b+128>>2]=p;h=c[b+124>>2]|0}c[(c[b+132>>2]|0)+(h<<2)>>2]=e<<21|f;c[b+124>>2]=(c[b+124>>2]|0)+1;d=c[b+108>>2]|0;if((n|0)<(d|0)){n=c[b+64>>2]|0;if((d|0)>(n|0)){do if((c[b+68>>2]|0)<(d|0)){if(!d){h=0;i=n}else{c[6485]=(c[6485]|0)+1;h=ic((d<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}i=c[b+64>>2]|0}j=c[b+72>>2]|0;if((i|0)<=0){if(!j){a[b+76>>0]=1;c[b+72>>2]=h;c[b+68>>2]=d;break}}else{k=0;do{c[h+(k<<2)>>2]=c[j+(k<<2)>>2];k=k+1|0}while((k|0)!=(i|0))}if(a[b+76>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[j+-4>>2]|0)}a[b+76>>0]=1;c[b+72>>2]=h;c[b+68>>2]=d}else h=c[b+72>>2]|0;while(0);Lk(h+(n<<2)|0,0,d-n<<2|0)|0;c[b+64>>2]=d;m=c[b+84>>2]|0;if((d|0)>(m|0)){do if((c[b+88>>2]|0)<(d|0)){if(!d){h=0;i=m}else{c[6485]=(c[6485]|0)+1;h=ic((d<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}i=c[b+84>>2]|0}j=c[b+92>>2]|0;if((i|0)<=0){if(!j){a[b+96>>0]=1;c[b+92>>2]=h;c[b+88>>2]=d;break}}else{k=0;do{c[h+(k<<2)>>2]=c[j+(k<<2)>>2];k=k+1|0}while((k|0)!=(i|0))}if(a[b+96>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[j+-4>>2]|0)}a[b+96>>0]=1;c[b+92>>2]=h;c[b+88>>2]=d}else h=c[b+92>>2]|0;while(0);Lk(h+(m<<2)|0,0,d-m<<2|0)|0}c[b+84>>2]=d;if((d|0)>0){Lk(c[b+72>>2]|0,-1,d<<2|0)|0;Lk(c[b+92>>2]|0,-1,d<<2|0)|0}if((n|0)>0){h=c[b+132>>2]|0;i=c[b+72>>2]|0;j=c[b+92>>2]|0;k=0;do{I=c[h+(k<<2)>>2]|0;I=(I+~(I<<15)>>10^I+~(I<<15))*9|0;I=i+((((I>>6^I)+~((I>>6^I)<<11)>>16^(I>>6^I)+~((I>>6^I)<<11))&(c[b+108>>2]|0)+-1)<<2)|0;c[j+(k<<2)>>2]=c[I>>2];c[I>>2]=k;k=k+1|0}while((k|0)!=(n|0))}}h=r&(c[b+108>>2]|0)+-1}else h=r&n+-1;I=(c[b+72>>2]|0)+(h<<2)|0;c[(c[b+92>>2]|0)+(q<<2)>>2]=c[I>>2];c[I>>2]=q}l=s;return}function Dc(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+16|0;bj(12154);j=c[b+212>>2]|0;i=c[b+180>>2]|0;if((i|0)<(j|0)){if((c[b+184>>2]|0)<(j|0)){if(!j){e=0;f=i}else{c[6485]=(c[6485]|0)+1;e=ic((j<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[b+180>>2]|0}if((f|0)>0){h=0;do{c[e+(h<<2)>>2]=c[(c[b+188>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(f|0))}f=c[b+188>>2]|0;if(f|0){if(a[b+192>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[f+-4>>2]|0)}c[b+188>>2]=0}a[b+192>>0]=1;c[b+188>>2]=e;c[b+184>>2]=j;f=b+188|0}else f=b+188|0;e=i;do{c[(c[f>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=(j|0))}c[b+180>>2]=j;e=0;while(1){if((e|0)>=(pb[c[(c[b>>2]|0)+104>>2]&127](b)|0))break;c[(c[b+188>>2]|0)+(e<<2)>>2]=c[(c[b+220>>2]|0)+(e<<2)>>2];e=e+1|0}e=c[b+180>>2]|0;if((e|0)>1)Pg(b+176|0,0,e+-1|0);if(!(pb[c[(c[b>>2]|0)+104>>2]&127](b)|0))e=0;else e=c[b+188>>2]|0;h=c[b+196>>2]|0;t=c[b+180>>2]|0;u=pb[c[(c[b>>2]|0)+20>>2]&127](b)|0;c[h+4>>2]=d;c[h+12>>2]=e;c[h+16>>2]=t;c[h+20>>2]=u;e=c[h+32>>2]|0;if((e|0)<0){if((c[h+36>>2]|0)<0){f=c[h+40>>2]|0;if(f|0){if(a[h+44>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[f+-4>>2]|0)}c[h+40>>2]=0}a[h+44>>0]=1;c[h+40>>2]=0;c[h+36>>2]=0}do{c[(c[h+40>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=0)}c[h+32>>2]=0;e=c[h+52>>2]|0;if((e|0)<0){if((c[h+56>>2]|0)<0){f=c[h+60>>2]|0;if(f|0){if(a[h+64>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[f+-4>>2]|0)}c[h+60>>2]=0}a[h+64>>0]=1;c[h+60>>2]=0;c[h+56>>2]=0}do{c[(c[h+60>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=0)}c[h+52>>2]=0;e=c[h+72>>2]|0;if((e|0)<0){if((c[h+76>>2]|0)<0){f=c[h+80>>2]|0;if(f|0){if(a[h+84>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[f+-4>>2]|0)}c[h+80>>2]=0}a[h+84>>0]=1;c[h+80>>2]=0;c[h+76>>2]=0}do{c[(c[h+80>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=0)}c[h+72>>2]=0;u=c[b+200>>2]|0;e=c[(c[u>>2]|0)+8>>2]|0;s=c[b+8>>2]|0;t=c[b+24>>2]|0;t=pb[c[(c[t>>2]|0)+36>>2]&127](t)|0;Vb[e&127](u,s,t);t=c[b+204>>2]|0;s=c[b+24>>2]|0;u=c[b+196>>2]|0;bj(13966);e=c[t+28>>2]|0;if((e|0)<0){if((c[t+32>>2]|0)<0){f=c[t+36>>2]|0;if(f|0){if(a[t+40>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[f+-4>>2]|0)}c[t+36>>2]=0}a[t+40>>0]=1;c[t+36>>2]=0;c[t+32>>2]=0}do{c[(c[t+36>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=0)}c[t+28>>2]=0;i=c[t+8>>2]|0;if((i|0)>0){j=c[t+16>>2]|0;m=0;do{k=j+(m<<3)|0;e=c[k>>2]|0;if((e|0)==(m|0))e=m;else{f=e;h=k;do{e=j+(f<<3)|0;c[h>>2]=c[e>>2];e=c[e>>2]|0;h=j+(e<<3)|0;f=c[h>>2]|0}while((e|0)!=(f|0))}c[k>>2]=e;m=m+1|0}while((m|0)!=(i|0));if((i|0)>1){aj(t+4|0,0,i+-1|0);i=c[t+8>>2]|0}if((i|0)>0){m=c[t+16>>2]|0;f=0;while(1){n=c[m+(f<<3)>>2]|0;q=f;while(1){p=q+1|0;if((p|0)>=(i|0)){k=0;break}if((c[m+(p<<3)>>2]|0)==(n|0))q=p;else{k=1;break}}a:do if((f|0)<=(q|0)){o=c[b+16>>2]|0;e=1;j=f;do{h=c[o+(c[m+(j<<3)+4>>2]<<2)>>2]|0;if((c[h+208>>2]|0)==(n|0)){h=c[h+216>>2]|0;e=(h|0)!=4&(e&(h|0)!=1)}j=j+1|0}while((j|0)!=(p|0));if(e)while(1){e=c[o+(c[m+(f<<3)+4>>2]<<2)>>2]|0;if((c[e+208>>2]|0)==(n|0)?(c[e+216>>2]&-2|0)!=4:0)c[e+216>>2]=2;if((f|0)>=(q|0))break a;f=f+1|0}else while(1){e=c[o+(c[m+(f<<3)+4>>2]<<2)>>2]|0;if((c[e+208>>2]|0)==(n|0)?(c[e+216>>2]|0)==2:0){c[e+216>>2]=3;g[e+220>>2]=0.0}if((f|0)>=(q|0))break a;f=f+1|0}}while(0);if(k)f=p;else break}}}i=pb[c[(c[s>>2]|0)+36>>2]&127](s)|0;if((i|0)>0){k=0;do{j=Kb[c[(c[s>>2]|0)+40>>2]&31](s,k)|0;f=c[j+740>>2]|0;h=c[j+744>>2]|0;if((f|0)!=0?(c[f+216>>2]|0)!=2:0)e=91;else e=89;if(((e|0)==89?(e=0,h|0):0)?(c[h+216>>2]|0)!=2:0)e=91;if((e|0)==91){e=c[f+204>>2]|0;if((e&2|0?((e&4|0)==0?(c[f+216>>2]|0)!=2:0):0)?(c[h+204>>2]&3|0)==0:0){if((c[h+216>>2]&-2|0)!=4)c[h+216>>2]=1;g[h+220>>2]=0.0}q=c[h+204>>2]|0;if(q&2|0?((q&4|e&3|0)==0?(c[h+216>>2]|0)!=2:0):0){if((c[f+216>>2]&-2|0)!=4)c[f+216>>2]=1;g[f+220>>2]=0.0}if(a[t+64>>0]|0?zb[c[(c[s>>2]|0)+28>>2]&63](s,f,h)|0:0){e=c[t+28>>2]|0;if((e|0)==(c[t+32>>2]|0)?(r=e|0?e<<1:1,(e|0)<(r|0)):0){if(!r)h=0;else{c[6485]=(c[6485]|0)+1;e=ic((r<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}h=e;e=c[t+28>>2]|0}if((e|0)>0){f=0;do{c[h+(f<<2)>>2]=c[(c[t+36>>2]|0)+(f<<2)>>2];f=f+1|0}while((f|0)!=(e|0))}f=c[t+36>>2]|0;if(f){if(a[t+40>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[f+-4>>2]|0);e=c[t+28>>2]|0}c[t+36>>2]=0}a[t+40>>0]=1;c[t+36>>2]=h;c[t+32>>2]=r}c[(c[t+36>>2]|0)+(e<<2)>>2]=j;c[t+28>>2]=e+1}}k=k+1|0}while((k|0)<(i|0))}e=c[2380]|0;r=(c[e+16>>2]|0)+-1|0;c[e+16>>2]=r;do if(!r){if(c[e+4>>2]|0){Za(v|0,0)|0;r=c[6484]|0;g[e+8>>2]=+(((c[v+4>>2]|0)-(c[r+4>>2]|0)+(((c[v>>2]|0)-(c[r>>2]|0)|0)*1e6|0)-(c[e+12>>2]|0)|0)>>>0)/1.0e3+ +g[e+8>>2];if(c[e+16>>2]|0)break;e=c[2380]|0}c[2380]=c[e+20>>2]}while(0);r=c[t+8>>2]|0;bj(13994);if(a[t+64>>0]|0){p=c[t+28>>2]|0;if((p|0)>1)Ng(t+24|0,0,p+-1|0);if((r|0)>0){n=1;f=0;q=0;while(1){e=c[t+16>>2]|0;o=c[e+(f<<3)>>2]|0;b:do if((f|0)<(r|0)){j=c[t+48>>2]|0;h=c[t+52>>2]|0;m=1;while(1){k=c[(c[b+16>>2]|0)+(c[e+(f<<3)+4>>2]<<2)>>2]|0;do if((j|0)==(h|0)){j=h|0?h<<1:1;if((h|0)>=(j|0)){e=h;break}if(!j)e=0;else{c[6485]=(c[6485]|0)+1;e=ic((j<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}h=c[t+48>>2]|0}if((h|0)>0){i=0;do{c[e+(i<<2)>>2]=c[(c[t+56>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(h|0))}i=c[t+56>>2]|0;if(i){if(a[t+60>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[i+-4>>2]|0);h=c[t+48>>2]|0}c[t+56>>2]=0}a[t+60>>0]=1;c[t+56>>2]=e;c[t+52>>2]=j;e=h;h=j}else e=j;while(0);c[(c[t+56>>2]|0)+(e<<2)>>2]=k;j=e+1|0;c[t+48>>2]=j;i=c[k+216>>2]|0;i=m&((i|0)==2|(i|0)==5);f=f+1|0;if((f|0)>=(r|0)){m=f;break b}e=c[t+16>>2]|0;if((c[e+(f<<3)>>2]|0)!=(o|0)){m=f;break}else m=i}}else{m=f;i=1}while(0);if((q|0)<(p|0)){k=c[t+36>>2]|0;e=k+(q<<2)|0;h=c[e>>2]|0;f=c[(c[h+740>>2]|0)+208>>2]|0;if((f|0)<=-1)f=c[(c[h+744>>2]|0)+208>>2]|0;if((f|0)==(o|0)){j=q;do{j=j+1|0;if((j|0)>=(p|0))break;h=c[k+(j<<2)>>2]|0;f=c[(c[h+740>>2]|0)+208>>2]|0;if((f|0)<=-1)f=c[(c[h+744>>2]|0)+208>>2]|0}while((o|0)==(f|0));h=j;f=j-q|0}else{h=n;f=0;e=0}}else{h=n;f=0;e=0}if(!i)Bb[c[(c[u>>2]|0)+8>>2]&7](u,c[t+56>>2]|0,c[t+48>>2]|0,e,f,o);q=(f|0)==0?q:h;e=c[t+48>>2]|0;if((e|0)<0){if((c[t+52>>2]|0)<0){f=c[t+56>>2]|0;if(f|0){if(a[t+60>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[f+-4>>2]|0)}c[t+56>>2]=0}a[t+60>>0]=1;c[t+56>>2]=0;c[t+52>>2]=0}do{c[(c[t+56>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=0)}c[t+48>>2]=0;if((m|0)>=(r|0))break;else{n=h;f=m}}}}else{r=pb[c[(c[s>>2]|0)+44>>2]&127](s)|0;t=pb[c[(c[s>>2]|0)+36>>2]&127](s)|0;Bb[c[(c[u>>2]|0)+8>>2]&7](u,c[b+16>>2]|0,c[b+8>>2]|0,r,t,-1)}e=c[2380]|0;u=(c[e+16>>2]|0)+-1|0;c[e+16>>2]=u;do if(!u){if(c[e+4>>2]|0){Za(v|0,0)|0;u=c[6484]|0;g[e+8>>2]=+(((c[v+4>>2]|0)-(c[u+4>>2]|0)+(((c[v>>2]|0)-(c[u>>2]|0)|0)*1e6|0)-(c[e+12>>2]|0)|0)>>>0)/1.0e3+ +g[e+8>>2];if(c[e+16>>2]|0)break;e=c[2380]|0}c[2380]=c[e+20>>2]}while(0);Wg(c[b+196>>2]|0);e=c[b+200>>2]|0;Vb[c[(c[e>>2]|0)+16>>2]&127](e,d,c[b+72>>2]|0);e=c[2380]|0;b=(c[e+16>>2]|0)+-1|0;c[e+16>>2]=b;if(b|0){l=v;return}do if(c[e+4>>2]|0){Za(v|0,0)|0;b=c[6484]|0;g[e+8>>2]=+(((c[v+4>>2]|0)-(c[b+4>>2]|0)+(((c[v>>2]|0)-(c[b>>2]|0)|0)*1e6|0)-(c[e+12>>2]|0)|0)>>>0)/1.0e3+ +g[e+8>>2];if(!(c[e+16>>2]|0)){e=c[2380]|0;break}else{l=v;return}}while(0);c[2380]=c[e+20>>2];l=v;return}
//function Ec(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,k=0.0,m=0.0,n=0,o=0,p=0,q=0.0,r=0.0,s=0,t=0,u=0.0,v=0,w=0.0,x=0,y=0,z=0.0,A=0,B=0,C=0.0,D=0.0,E=0.0,F=0.0;B=l;l=l+176|0;c[a+348>>2]=a+220;c[a+352>>2]=a+252;c[a+356>>2]=a+284;c[a+360>>2]=a+316;c[a+364>>2]=4;c[a+368>>2]=0;c[a+376>>2]=0;y=c[b+4>>2]|0;c[a>>2]=c[b>>2];c[a+4>>2]=y;c[a+8>>2]=c[b+8>>2];c[a+8+4>>2]=c[b+8+4>>2];c[a+8+8>>2]=c[b+8+8>>2];c[a+8+12>>2]=c[b+8+12>>2];c[a+24>>2]=c[b+24>>2];c[a+24+4>>2]=c[b+24+4>>2];c[a+24+8>>2]=c[b+24+8>>2];c[a+24+12>>2]=c[b+24+12>>2];c[a+40>>2]=c[b+40>>2];c[a+40+4>>2]=c[b+40+4>>2];c[a+40+8>>2]=c[b+40+8>>2];c[a+40+12>>2]=c[b+40+12>>2];c[a+56>>2]=c[b+56>>2];c[a+56+4>>2]=c[b+56+4>>2];c[a+56+8>>2]=c[b+56+8>>2];c[a+56+12>>2]=c[b+56+12>>2];c[a+72>>2]=c[b+72>>2];c[a+72+4>>2]=c[b+72+4>>2];c[a+72+8>>2]=c[b+72+8>>2];c[a+72+12>>2]=c[b+72+12>>2];c[a+88>>2]=c[b+88>>2];c[a+88+4>>2]=c[b+88+4>>2];c[a+88+8>>2]=c[b+88+8>>2];c[a+88+12>>2]=c[b+88+12>>2];c[a+104>>2]=c[b+104>>2];c[a+104+4>>2]=c[b+104+4>>2];c[a+104+8>>2]=c[b+104+8>>2];c[a+104+12>>2]=c[b+104+12>>2];y=c[b+124>>2]|0;c[a+120>>2]=c[b+120>>2];c[a+124>>2]=y;g[a+144>>2]=0.0;c[a+180>>2]=0;c[a+128>>2]=c[d>>2];c[a+128+4>>2]=c[d+4>>2];c[a+128+8>>2]=c[d+8>>2];c[a+128+12>>2]=c[d+12>>2];i=+g[a+128>>2];k=+g[a+132>>2];m=+g[a+136>>2];if(i*i+k*k+m*m>0.0){e=-i;f=-k;h=-m}else{e=1.0;f=0.0;h=0.0}g[a+164>>2]=0.0;c[a+364>>2]=3;c[a+148>>2]=a+316;c[a+180>>2]=1;uh(a,e,f,h,a+316|0);g[a+164>>2]=1.0;x=(c[a+148>>2]|0)+16|0;c[a+128>>2]=c[x>>2];c[a+128+4>>2]=c[x+4>>2];c[a+128+8>>2]=c[x+8>>2];c[a+128+12>>2]=c[x+12>>2];c[B+24+48>>2]=c[x>>2];c[B+24+48+4>>2]=c[x+4>>2];c[B+24+48+8>>2]=c[x+8>>2];c[B+24+48+12>>2]=c[x+12>>2];c[B+24+32>>2]=c[x>>2];c[B+24+32+4>>2]=c[x+4>>2];c[B+24+32+8>>2]=c[x+8>>2];c[B+24+32+12>>2]=c[x+12>>2];c[B+24+16>>2]=c[x>>2];c[B+24+16+4>>2]=c[x+4>>2];c[B+24+16+8>>2]=c[x+8>>2];c[B+24+16+12>>2]=c[x+12>>2];c[B+24>>2]=c[x>>2];c[B+24+4>>2]=c[x+4>>2];c[B+24+8>>2]=c[x+8>>2];c[B+24+12>>2]=c[x+12>>2];w=0.0;x=0;y=0;e=i*i+k*k+m*m;a:do{v=c[a+368>>2]|0;h=+g[a+128>>2];i=+g[a+132>>2];f=+g[a+136>>2];k=+G(+(h*h+i*i+f*f));if(k<9.999999747378752e-05){A=5;break}g[a+148+(v*36|0)+16+(c[a+148+(v*36|0)+32>>2]<<2)>>2]=0.0;d=(c[a+364>>2]|0)+-1|0;c[a+364>>2]=d;c[a+148+(v*36|0)+(c[a+148+(v*36|0)+32>>2]<<2)>>2]=c[a+348+(d<<2)>>2];d=c[a+148+(v*36|0)+32>>2]|0;c[a+148+(v*36|0)+32>>2]=d+1;uh(a,-h,-i,-f,c[a+148+(v*36|0)+(d<<2)>>2]|0);d=c[a+148+(v*36|0)+32>>2]|0;b=c[a+148+(v*36|0)+(d+-1<<2)>>2]|0;f=+g[b+16>>2];h=+g[b+20>>2];i=+g[b+24>>2];q=f-+g[B+24>>2];r=h-+g[B+24+4>>2];u=i-+g[B+24+8>>2];if(q*q+r*r+u*u<9.999999747378752e-05){A=8;break}q=f-+g[B+24+16>>2];r=h-+g[B+24+20>>2];u=i-+g[B+24+24>>2];if(q*q+r*r+u*u<9.999999747378752e-05){A=8;break}q=f-+g[B+24+32>>2];r=h-+g[B+24+36>>2];u=i-+g[B+24+40>>2];if(q*q+r*r+u*u<9.999999747378752e-05){A=8;break}q=f-+g[B+24+48>>2];r=h-+g[B+24+52>>2];u=i-+g[B+24+56>>2];if(q*q+r*r+u*u<9.999999747378752e-05){A=8;break}x=x+1&3;t=B+24+(x<<4)|0;c[t>>2]=c[b+16>>2];c[t+4>>2]=c[b+16+4>>2];c[t+8>>2]=c[b+16+8>>2];c[t+12>>2]=c[b+16+12>>2];u=(+g[a+128>>2]*f+ +g[a+132>>2]*h+ +g[a+136>>2]*i)/k;w=u>w?u:w;if(k-w-k*9.999999747378752e-05<=0.0){A=9;break}c[B>>2]=0;b:do switch(d|0){case 2:{t=c[a+148+(v*36|0)>>2]|0;s=c[a+148+(v*36|0)+4>>2]|0;e=+g[s+16>>2];f=+g[t+16>>2];h=+g[s+20>>2];i=+g[t+20>>2];k=+g[s+24>>2];m=+g[t+24>>2];if(!((e-f)*(e-f)+(h-i)*(h-i)+(k-m)*(k-m)>0.0)){A=36;break a}q=-(f*(e-f)+i*(h-i)+m*(k-m))/((e-f)*(e-f)+(h-i)*(h-i)+(k-m)*(k-m));if(q>=1.0){g[B+8>>2]=0.0;g[B+8+4>>2]=1.0;c[B>>2]=2;e=e*e+h*h+k*k;break b}if(!(q<=0.0)){g[B+8+4>>2]=q;g[B+8>>2]=1.0-q;c[B>>2]=3;e=((e-f)*q+f)*((e-f)*q+f)+((h-i)*q+i)*((h-i)*q+i)+((k-m)*q+m)*((k-m)*q+m);break b}else{g[B+8>>2]=1.0;g[B+8+4>>2]=0.0;c[B>>2]=1;e=f*f+i*i+m*m;break b}}case 3:{e=+ye((c[a+148+(v*36|0)>>2]|0)+16|0,(c[a+148+(v*36|0)+4>>2]|0)+16|0,(c[a+148+(v*36|0)+8>>2]|0)+16|0,B+8|0,B);break}case 4:{o=c[a+148+(v*36|0)>>2]|0;p=c[a+148+(v*36|0)+4>>2]|0;s=c[a+148+(v*36|0)+8>>2]|0;t=c[a+148+(v*36|0)+12>>2]|0;c[B+152>>2]=o+16;c[B+152+4>>2]=p+16;c[B+152+8>>2]=s+16;c[B+152+12>>2]=t+16;h=+g[o+16>>2];i=+g[t+16>>2];e=+g[o+20>>2];k=+g[t+20>>2];f=+g[o+24>>2];m=+g[t+24>>2];g[B+104>>2]=h-i;g[B+104+4>>2]=e-k;g[B+104+8>>2]=f-m;g[B+104+12>>2]=0.0;C=+g[p+16>>2];E=+g[p+20>>2];r=+g[p+24>>2];g[B+104+16>>2]=C-i;g[B+104+20>>2]=E-k;g[B+104+24>>2]=r-m;g[B+104+28>>2]=0.0;q=+g[s+16>>2];F=+g[s+20>>2];D=+g[s+24>>2];g[B+104+32>>2]=q-i;g[B+104+36>>2]=F-k;g[B+104+40>>2]=D-m;g[B+104+44>>2]=0.0;u=(e-k)*(r-m)*(q-i)+(f-m)*(C-i)*(F-k)-(F-k)*(r-m)*(h-i)-(e-k)*(C-i)*(D-m)+(D-m)*(h-i)*(E-k)-(q-i)*(f-m)*(E-k);if(!(u!=u|0.0!=0.0|u==0.0|!(u*(f*((C-q)*(e-E)-(E-F)*(h-C))+(h*((E-F)*(f-r)-(r-D)*(e-E))+e*((r-D)*(h-C)-(C-q)*(f-r))))<=0.0))){c[B+92>>2]=0;c[B+92+4>>2]=0;c[B+92+8>>2]=0;c[B+88>>2]=0;r=e-k;q=f-m;f=h-i;b=c[B>>2]|0;n=0;e=-1.0;while(1){d=c[5104+(n<<2)>>2]|0;D=+g[B+104+(d<<4)+8>>2];E=+g[B+104+(d<<4)+4>>2];F=+g[B+104+(d<<4)>>2];if(u*((r*D-q*E)*i+k*(q*F-D*f)+(E*f-r*F)*m)>0.0?(z=+ye(c[B+152+(n<<2)>>2]|0,c[B+152+(d<<2)>>2]|0,t+16|0,B+92|0,B+88|0),e<0.0|z<e):0){b=c[B+88>>2]|0;c[B+8+(n<<2)>>2]=c[B+92>>2];c[B+8+(d<<2)>>2]=c[B+92+4>>2];g[B+8+(c[5104+(d<<2)>>2]<<2)>>2]=0.0;c[B+8+12>>2]=c[B+92+8>>2];b=(b&2|0?1<<d:0)+(b<<1&8)+(b&1|0?1<<n:0)|0;e=z}d=n+1|0;if((d|0)==3)break;r=+g[B+104+(d<<4)+4>>2];q=+g[B+104+(d<<4)+8>>2];f=+g[B+104+(d<<4)>>2];i=+g[t+16>>2];k=+g[t+20>>2];m=+g[t+24>>2];n=d}c[B>>2]=b;if(e<0.0){c[B>>2]=15;e=+g[s+20>>2];f=+g[p+24>>2];E=+g[t+16>>2];m=+g[s+24>>2];h=+g[p+16>>2];k=+g[t+20>>2];r=+g[s+16>>2];C=+g[t+24>>2];i=+g[p+20>>2];g[B+8>>2]=(e*f*E+m*h*k-k*f*r-e*h*C+C*r*i-E*m*i)/u;q=+g[o+20>>2];F=+g[o+24>>2];D=+g[o+16>>2];g[B+8+4>>2]=(q*m*E+F*r*k-k*m*D-q*r*C+C*D*e-E*F*e)/u;g[B+8+8>>2]=(i*F*E+f*D*k-k*F*h-i*D*C+C*h*q-E*f*q)/u;g[B+8+12>>2]=1.0-((i*F*E+f*D*k-k*F*h-i*D*C+C*h*q-E*f*q)/u+((e*f*E+m*h*k-k*f*r-e*h*C+C*r*i-E*m*i)/u+(q*m*E+F*r*k-k*m*D-q*r*C+C*D*e-E*F*e)/u));e=0.0}}else e=-1.0;break}default:{}}while(0);if(!(e>=0.0)){A=36;break}c[a+148+((1-v|0)*36|0)+32>>2]=0;c[a+128>>2]=0;c[a+128+4>>2]=0;c[a+128+8>>2]=0;c[a+128+12>>2]=0;c[a+368>>2]=1-v;d=c[a+148+(v*36|0)+32>>2]|0;b=c[B>>2]|0;if(d|0){p=0;do{n=a+148+(v*36|0)+(p<<2)|0;o=c[n>>2]|0;if(!(b&1<<p)){t=c[a+364>>2]|0;c[a+364>>2]=t+1;c[a+348+(t<<2)>>2]=o}else{c[a+148+((1-v|0)*36|0)+(c[a+148+((1-v|0)*36|0)+32>>2]<<2)>>2]=o;s=c[B+8+(p<<2)>>2]|0;t=c[a+148+((1-v|0)*36|0)+32>>2]|0;c[a+148+((1-v|0)*36|0)+32>>2]=t+1;c[a+148+((1-v|0)*36|0)+16+(t<<2)>>2]=s;t=c[n>>2]|0;D=(c[j>>2]=s,+g[j>>2]);E=D*+g[t+20>>2];F=D*+g[t+24>>2];g[a+128>>2]=+g[t+16>>2]*D+ +g[a+128>>2];g[a+132>>2]=E+ +g[a+132>>2];g[a+136>>2]=F+ +g[a+136>>2]}p=p+1|0}while((p|0)!=(d|0))}if((b|0)==15)c[a+376>>2]=1;y=y+1|0;if(y>>>0>=128){A=38;break}}while(!(c[a+376>>2]|0));if((A|0)==5)c[a+376>>2]=1;else if((A|0)==8){A=c[a+368>>2]|0;y=(c[a+148+(A*36|0)+32>>2]|0)+-1|0;c[a+148+(A*36|0)+32>>2]=y;y=c[a+148+(A*36|0)+(y<<2)>>2]|0;A=c[a+364>>2]|0;c[a+364>>2]=A+1;c[a+348+(A<<2)>>2]=y}else if((A|0)==9){A=c[a+368>>2]|0;y=(c[a+148+(A*36|0)+32>>2]|0)+-1|0;c[a+148+(A*36|0)+32>>2]=y;y=c[a+148+(A*36|0)+(y<<2)>>2]|0;A=c[a+364>>2]|0;c[a+364>>2]=A+1;c[a+348+(A<<2)>>2]=y}else if((A|0)==36){A=c[a+368>>2]|0;y=(c[a+148+(A*36|0)+32>>2]|0)+-1|0;c[a+148+(A*36|0)+32>>2]=y;y=c[a+148+(A*36|0)+(y<<2)>>2]|0;A=c[a+364>>2]|0;c[a+364>>2]=A+1;c[a+348+(A<<2)>>2]=y}else if((A|0)==38)c[a+376>>2]=2;c[a+372>>2]=a+148+((c[a+368>>2]|0)*36|0);d=c[a+376>>2]|0;switch(d|0){case 0:{E=+g[a+128>>2];F=+g[a+132>>2];e=+g[a+136>>2];e=+G(+(E*E+F*F+e*e));break}case 1:{e=0.0;break}default:{l=B;return d|0}}g[a+144>>2]=e;l=B;return d|0}function Fc(b,d,e,f,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;h=+h;i=+i;j=j|0;var k=0,m=0,n=0.0,o=0,p=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0,F=0.0,G=0.0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0;Y=l;l=l+64|0;a[Y+32+16>>0]=1;X=Y+32+12|0;c[X>>2]=0;c[Y+32+4>>2]=0;c[Y+32+8>>2]=0;o=c[f+4>>2]|0;if((o|0)>0){c[6485]=(c[6485]|0)+1;k=ic((o<<4|3)+16|0)|0;if(!k)q=0;else{c[(k+4+15&-16)+-4>>2]=k;q=k+4+15&-16}k=c[Y+32+4>>2]|0;if((k|0)>0){m=0;do{W=q+(m<<4)|0;V=(c[X>>2]|0)+(m<<4)|0;c[W>>2]=c[V>>2];c[W+4>>2]=c[V+4>>2];c[W+8>>2]=c[V+8>>2];c[W+12>>2]=c[V+12>>2];m=m+1|0}while((m|0)!=(k|0))}k=c[X>>2]|0;if(k|0){if(a[Y+32+16>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[k+-4>>2]|0)}c[X>>2]=0}a[Y+32+16>>0]=1;c[X>>2]=q;c[Y+32+8>>2]=o;k=q;m=q}else{k=0;m=0}o=c[d+28>>2]|0;if((o|0)>0){V=c[d+36>>2]|0;F=+g[e>>2];G=+g[e+4>>2];t=+g[e+8>>2];v=+g[e+16>>2];u=+g[e+20>>2];s=+g[e+24>>2];r=+g[e+32>>2];p=+g[e+36>>2];n=+g[e+40>>2];w=+g[b>>2];x=+g[b+4>>2];y=+g[b+8>>2];W=-1;C=3402823466385288598117041.0e14;D=0;while(1){z=+g[V+(D*36|0)+20>>2];A=+g[V+(D*36|0)+24>>2];B=+g[V+(D*36|0)+28>>2];q=(z*F+A*G+B*t)*w+(z*v+A*u+B*s)*x+(z*r+A*p+B*n)*y<C;W=q?D:W;D=D+1|0;if((D|0)==(o|0))break;else C=q?(z*F+A*G+B*t)*w+(z*v+A*u+B*s)*x+(z*r+A*p+B*n)*y:C}if((W|0)>=0){M=c[V+(W*36|0)+4>>2]|0;if((M|0)>0){N=V+(W*36|0)+12|0;Q=V+(W*36|0)+20|0;O=V+(W*36|0)+24|0;P=V+(W*36|0)+28|0;x=F;w=G;K=f;f=Y+32|0;L=0;while(1){I=c[N>>2]|0;k=c[I+(L<<2)>>2]|0;H=c[d+16>>2]|0;L=L+1|0;I=c[I+(((L|0)==(M|0)?0:L)<<2)>>2]|0;_=+g[H+(k<<4)>>2];$=_-+g[H+(I<<4)>>2];Z=+g[H+(k<<4)+4>>2];aa=Z-+g[H+(I<<4)+4>>2];y=+g[H+(k<<4)+8>>2];B=y-+g[H+(I<<4)+8>>2];z=$*x+aa*w+B*t;A=$*v+aa*u+B*s;B=$*r+aa*p+B*n;aa=+g[Q>>2];$=+g[O>>2];G=+g[P>>2];C=x*aa+w*$+t*G;F=v*aa+u*$+s*G;G=r*aa+p*$+n*G;u=(_*x+Z*w+y*t+ +g[e+48>>2])*-(A*G-B*F)+(_*v+Z*u+y*s+ +g[e+52>>2])*-(B*C-z*G)+(_*r+Z*p+y*n+ +g[e+56>>2])*-(z*F-A*C);I=K;H=f;k=c[I+4>>2]|0;if((k|0)>=2){o=c[I+12>>2]|0;$=+g[o+(k+-1<<4)>>2];aa=+g[o+(k+-1<<4)+4>>2];p=+g[o+(k+-1<<4)+8>>2];n=$;r=aa;s=p;p=$*-(A*G-B*F)+aa*-(B*C-z*G)+p*-(z*F-A*C)-u;E=0;while(1){v=+g[o+(E<<4)>>2];w=+g[o+(E<<4)+4>>2];x=+g[o+(E<<4)+8>>2];D=c[o+(E<<4)+12>>2]|0;y=v*-(A*G-B*F)+w*-(B*C-z*G)+x*-(z*F-A*C)-u;do if(p<0.0)if(y<0.0){m=c[H+4>>2]|0;if((m|0)==(c[H+8>>2]|0)?(R=m|0?m<<1:1,(m|0)<(R|0)):0){if(!R)q=0;else{c[6485]=(c[6485]|0)+1;m=ic((R<<4|3)+16|0)|0;if(!m)m=0;else{c[(m+4+15&-16)+-4>>2]=m;m=m+4+15&-16}q=m;m=c[H+4>>2]|0}if((m|0)>0){o=0;do{J=q+(o<<4)|0;ba=(c[H+12>>2]|0)+(o<<4)|0;c[J>>2]=c[ba>>2];c[J+4>>2]=c[ba+4>>2];c[J+8>>2]=c[ba+8>>2];c[J+12>>2]=c[ba+12>>2];o=o+1|0}while((o|0)!=(m|0))}m=c[H+12>>2]|0;if(m|0){if(a[H+16>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[m+-4>>2]|0)}c[H+12>>2]=0}a[H+16>>0]=1;c[H+12>>2]=q;c[H+8>>2]=R;m=c[H+4>>2]|0}J=c[H+12>>2]|0;g[J+(m<<4)>>2]=v;g[J+(m<<4)+4>>2]=w;g[J+(m<<4)+8>>2]=x;c[J+(m<<4)+12>>2]=D;J=78;break}else{aa=p/(p-y);t=n+(v-n)*aa;p=r+(w-r)*aa;n=s+(x-s)*aa;m=c[H+4>>2]|0;if((m|0)==(c[H+8>>2]|0)?(S=m|0?m<<1:1,(m|0)<(S|0)):0){if(!S)q=0;else{c[6485]=(c[6485]|0)+1;m=ic((S<<4|3)+16|0)|0;if(!m)m=0;else{c[(m+4+15&-16)+-4>>2]=m;m=m+4+15&-16}q=m;m=c[H+4>>2]|0}if((m|0)>0){o=0;do{ba=q+(o<<4)|0;J=(c[H+12>>2]|0)+(o<<4)|0;c[ba>>2]=c[J>>2];c[ba+4>>2]=c[J+4>>2];c[ba+8>>2]=c[J+8>>2];c[ba+12>>2]=c[J+12>>2];o=o+1|0}while((o|0)!=(m|0))}m=c[H+12>>2]|0;if(m|0){if(a[H+16>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[m+-4>>2]|0)}c[H+12>>2]=0}a[H+16>>0]=1;c[H+12>>2]=q;c[H+8>>2]=S;m=c[H+4>>2]|0}J=c[H+12>>2]|0;g[J+(m<<4)>>2]=t;g[J+(m<<4)+4>>2]=p;g[J+(m<<4)+8>>2]=n;g[J+(m<<4)+12>>2]=0.0;J=78;break}else if(y<0.0){aa=p/(p-y);t=n+(v-n)*aa;p=r+(w-r)*aa;n=s+(x-s)*aa;m=c[H+4>>2]|0;if((m|0)==(c[H+8>>2]|0)?(T=m|0?m<<1:1,(m|0)<(T|0)):0){if(!T)q=0;else{c[6485]=(c[6485]|0)+1;m=ic((T<<4|3)+16|0)|0;if(!m)m=0;else{c[(m+4+15&-16)+-4>>2]=m;m=m+4+15&-16}q=m;m=c[H+4>>2]|0}if((m|0)>0){o=0;do{ba=q+(o<<4)|0;J=(c[H+12>>2]|0)+(o<<4)|0;c[ba>>2]=c[J>>2];c[ba+4>>2]=c[J+4>>2];c[ba+8>>2]=c[J+8>>2];c[ba+12>>2]=c[J+12>>2];o=o+1|0}while((o|0)!=(m|0))}m=c[H+12>>2]|0;if(m|0){if(a[H+16>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[m+-4>>2]|0)}c[H+12>>2]=0}a[H+16>>0]=1;c[H+12>>2]=q;c[H+8>>2]=T;m=c[H+4>>2]|0}ba=c[H+12>>2]|0;g[ba+(m<<4)>>2]=t;g[ba+(m<<4)+4>>2]=p;g[ba+(m<<4)+8>>2]=n;g[ba+(m<<4)+12>>2]=0.0;m=(c[H+4>>2]|0)+1|0;c[H+4>>2]=m;if((m|0)==(c[H+8>>2]|0)?(U=m|0?m<<1:1,(m|0)<(U|0)):0){if(!U)q=0;else{c[6485]=(c[6485]|0)+1;m=ic((U<<4|3)+16|0)|0;if(!m)m=0;else{c[(m+4+15&-16)+-4>>2]=m;m=m+4+15&-16}q=m;m=c[H+4>>2]|0}if((m|0)>0){o=0;do{ba=q+(o<<4)|0;J=(c[H+12>>2]|0)+(o<<4)|0;c[ba>>2]=c[J>>2];c[ba+4>>2]=c[J+4>>2];c[ba+8>>2]=c[J+8>>2];c[ba+12>>2]=c[J+12>>2];o=o+1|0}while((o|0)!=(m|0))}m=c[H+12>>2]|0;if(m|0){if(a[H+16>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[m+-4>>2]|0)}c[H+12>>2]=0}a[H+16>>0]=1;c[H+12>>2]=q;c[H+8>>2]=U;m=c[H+4>>2]|0}J=c[H+12>>2]|0;g[J+(m<<4)>>2]=v;g[J+(m<<4)+4>>2]=w;g[J+(m<<4)+8>>2]=x;c[J+(m<<4)+12>>2]=D;J=78}while(0);if((J|0)==78){J=0;c[H+4>>2]=(c[H+4>>2]|0)+1}m=E+1|0;if((m|0)==(k|0))break;o=c[I+12>>2]|0;n=v;r=w;s=x;p=y;E=m}k=c[I+4>>2]|0}if((k|0)<0){if((c[I+8>>2]|0)<0){m=c[I+12>>2]|0;if(m|0){if(a[I+16>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[m+-4>>2]|0)}c[I+12>>2]=0}a[I+16>>0]=1;c[I+12>>2]=0;c[I+8>>2]=0}do{ba=(c[I+12>>2]|0)+(k<<4)|0;c[ba>>2]=c[Y+16>>2];c[ba+4>>2]=c[Y+16+4>>2];c[ba+8>>2]=c[Y+16+8>>2];c[ba+12>>2]=c[Y+16+12>>2];k=k+1|0}while((k|0)!=0)}c[I+4>>2]=0;x=+g[e>>2];w=+g[e+4>>2];t=+g[e+8>>2];v=+g[e+16>>2];u=+g[e+20>>2];s=+g[e+24>>2];r=+g[e+32>>2];p=+g[e+36>>2];n=+g[e+40>>2];if((L|0)>=(M|0)){o=O;m=P;D=e+48|0;E=e+52|0;q=e+56|0;k=Q;break}else{ba=f;f=K;K=ba}}}else{o=V+(W*36|0)+24|0;m=V+(W*36|0)+28|0;D=e+48|0;E=e+52|0;q=e+56|0;k=V+(W*36|0)+20|0;x=F;w=G}_=+g[k>>2];$=+g[o>>2];aa=+g[m>>2];t=_*x+$*w+aa*t;s=_*v+$*u+aa*s;r=_*r+$*p+aa*n;p=+g[V+(W*36|0)+32>>2]-(t*+g[D>>2]+s*+g[E>>2]+r*+g[q>>2]);k=c[f+4>>2]|0;if((k|0)>0){o=0;do{ba=c[f+12>>2]|0;m=ba+(o<<4)|0;n=p+(t*+g[m>>2]+s*+g[ba+(o<<4)+4>>2]+r*+g[ba+(o<<4)+8>>2]);n=n<=h?h:n;if(n<=i){c[Y>>2]=c[m>>2];c[Y+4>>2]=c[m+4>>2];c[Y+8>>2]=c[m+8>>2];c[Y+12>>2]=c[m+12>>2];Ub[c[(c[j>>2]|0)+16>>2]&15](j,b,Y,n);k=c[f+4>>2]|0}o=o+1|0}while((o|0)<(k|0))}k=c[X>>2]|0;m=k}}if(!m){l=Y;return}if(!((a[Y+32+16>>0]|0)==0|(k|0)==0)){c[6486]=(c[6486]|0)+1;Uc(c[k+-4>>2]|0)}c[X>>2]=0;l=Y;return}function Gc(b){b=b|0;var d=0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0,C=0.0,D=0.0,E=0.0,F=0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0;F=l;l=l+80|0;if(!(a[b+356>>0]|0)){b=a[b+312>>0]|0;b=b<<24>>24!=0;l=F;return b|0}c[b+336>>2]=0;c[b+336+4>>2]=0;c[b+336+8>>2]=0;c[b+336+12>>2]=0;a[b+336+16>>0]=0;m=a[b+332>>0]|0;a[b+332>>0]=m&-16;a[b+356>>0]=0;switch(c[b>>2]|0){case 0:{a[b+312>>0]=0;b=0;b=b<<24>>24!=0;l=F;return b|0}case 1:{c[b+244>>2]=c[b+84>>2];c[b+244+4>>2]=c[b+84+4>>2];c[b+244+8>>2]=c[b+84+8>>2];c[b+244+12>>2]=c[b+84+12>>2];c[b+260>>2]=c[b+164>>2];c[b+260+4>>2]=c[b+164+4>>2];c[b+260+8>>2]=c[b+164+8>>2];c[b+260+12>>2]=c[b+164+12>>2];D=+g[b+248>>2]-+g[b+264>>2];E=+g[b+252>>2]-+g[b+268>>2];g[b+276>>2]=+g[b+244>>2]-+g[b+260>>2];g[b+280>>2]=D;g[b+284>>2]=E;g[b+288>>2]=0.0;a[b+352>>0]=0;a[b+332>>0]=m&-16;g[b+336>>2]=1.0;g[b+340>>2]=0.0;g[b+344>>2]=0.0;g[b+348>>2]=0.0;a[b+312>>0]=1;b=1;b=b<<24>>24!=0;l=F;return b|0}case 2:{e=+g[b+4>>2];f=+g[b+8>>2];h=+g[b+12>>2];i=+g[b+20>>2]-e;j=+g[b+24>>2]-f;k=+g[b+28>>2]-h;if((0.0-e)*i+(0.0-f)*j+(0.0-h)*k>0.0)if((0.0-e)*i+(0.0-f)*j+(0.0-h)*k<i*i+j*j+k*k){d=3;e=((0.0-e)*i+(0.0-f)*j+(0.0-h)*k)/(i*i+j*j+k*k)}else{d=2;e=1.0}else{d=1;e=0.0}a[b+332>>0]=m&-16|d;g[b+336>>2]=1.0-e;g[b+340>>2]=e;g[b+344>>2]=0.0;g[b+348>>2]=0.0;y=+g[b+84>>2];A=+g[b+88>>2];D=+g[b+92>>2];y=y+e*(+g[b+100>>2]-y);A=A+e*(+g[b+104>>2]-A);D=D+e*(+g[b+108>>2]-D);g[b+244>>2]=y;g[b+248>>2]=A;g[b+252>>2]=D;g[b+256>>2]=0.0;z=+g[b+164>>2];C=+g[b+168>>2];E=+g[b+172>>2];z=z+e*(+g[b+180>>2]-z);C=C+e*(+g[b+184>>2]-C);E=E+e*(+g[b+188>>2]-E);g[b+260>>2]=z;g[b+264>>2]=C;g[b+268>>2]=E;g[b+272>>2]=0.0;g[b+276>>2]=y-z;g[b+280>>2]=A-C;g[b+284>>2]=D-E;g[b+288>>2]=0.0;Ye(b,b+332|0);if((+g[b+336>>2]>=0.0?+g[b+340>>2]>=0.0:0)?+g[b+344>>2]>=0.0:0)d=+g[b+348>>2]>=0.0&1;else d=0;a[b+312>>0]=d;b=d;b=b<<24>>24!=0;l=F;return b|0}case 3:{c[F+16>>2]=0;c[F+16+4>>2]=0;c[F+16+8>>2]=0;c[F+16+12>>2]=0;Ue(F+16|0,b+4|0,b+20|0,b+36|0,b+316|0);w=+g[b+336>>2];x=+g[b+340>>2];E=+g[b+344>>2];y=+g[b+84>>2]*w+ +g[b+100>>2]*x+ +g[b+116>>2]*E;A=w*+g[b+88>>2]+x*+g[b+104>>2]+E*+g[b+120>>2];D=w*+g[b+92>>2]+x*+g[b+108>>2]+E*+g[b+124>>2];g[b+244>>2]=y;g[b+248>>2]=A;g[b+252>>2]=D;g[b+256>>2]=0.0;z=+g[b+164>>2]*w+ +g[b+180>>2]*x+ +g[b+196>>2]*E;C=w*+g[b+168>>2]+x*+g[b+184>>2]+E*+g[b+200>>2];E=w*+g[b+172>>2]+x*+g[b+188>>2]+E*+g[b+204>>2];g[b+260>>2]=z;g[b+264>>2]=C;g[b+268>>2]=E;g[b+272>>2]=0.0;g[b+276>>2]=y-z;g[b+280>>2]=A-C;g[b+284>>2]=D-E;g[b+288>>2]=0.0;Ye(b,b+332|0);if((+g[b+336>>2]>=0.0?+g[b+340>>2]>=0.0:0)?+g[b+344>>2]>=0.0:0)d=+g[b+348>>2]>=0.0&1;else d=0;a[b+312>>0]=d;b=d;b=b<<24>>24!=0;l=F;return b|0}case 4:{c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;c[F+12>>2]=0;B=F+32+16|0;a[B>>0]=0;c[b+316>>2]=0;c[b+316+4>>2]=0;c[b+316+8>>2]=0;c[b+316+12>>2]=0;a[b+332>>0]=m|15;H=+g[b+20>>2];Q=+g[b+4>>2];N=+g[b+24>>2];G=+g[b+8>>2];J=+g[b+28>>2];R=+g[b+12>>2];M=+g[b+36>>2];O=+g[b+40>>2];K=+g[b+44>>2];I=+g[b+52>>2];P=+g[b+56>>2];L=+g[b+60>>2];S=((N-G)*(K-R)-(J-R)*(O-G))*(I-Q)+((J-R)*(M-Q)-(H-Q)*(K-R))*(P-G)+((H-Q)*(O-G)-(N-G)*(M-Q))*(L-R);d=S*S<9.99999905104687e-09?-1:((0.0-Q)*((N-G)*(K-R)-(J-R)*(O-G))+(0.0-G)*((J-R)*(M-Q)-(H-Q)*(K-R))+((H-Q)*(O-G)-(N-G)*(M-Q))*(0.0-R))*S<0.0&1;S=(J-R)*((M-Q)*(P-G)-(O-G)*(I-Q))+((H-Q)*((O-G)*(L-R)-(K-R)*(P-G))+(N-G)*((K-R)*(I-Q)-(M-Q)*(L-R)));m=S*S<9.99999905104687e-09?-1:((0.0-R)*((M-Q)*(P-G)-(O-G)*(I-Q))+((0.0-Q)*((O-G)*(L-R)-(K-R)*(P-G))+(0.0-G)*((K-R)*(I-Q)-(M-Q)*(L-R))))*S<0.0&1;S=(K-R)*((N-G)*(I-Q)-(H-Q)*(P-G))+((M-Q)*((J-R)*(P-G)-(N-G)*(L-R))+(O-G)*((H-Q)*(L-R)-(J-R)*(I-Q)));n=S*S<9.99999905104687e-09?-1:((0.0-R)*((N-G)*(I-Q)-(H-Q)*(P-G))+((0.0-Q)*((J-R)*(P-G)-(N-G)*(L-R))+(0.0-G)*((H-Q)*(L-R)-(J-R)*(I-Q))))*S<0.0&1;G=(R-J)*((O-N)*(I-H)-(M-H)*(P-N))+((Q-H)*((K-J)*(P-N)-(O-N)*(L-J))+(G-N)*((M-H)*(L-J)-(K-J)*(I-H)));u=G*G<9.99999905104687e-09?-1:((0.0-J)*((O-N)*(I-H)-(M-H)*(P-N))+((0.0-H)*((K-J)*(P-N)-(O-N)*(L-J))+(0.0-N)*((M-H)*(L-J)-(K-J)*(I-H))))*G<0.0&1;do if((m|d|n|u|0)<0){a[b+352>>0]=1;d=b+312|0}else{if(!(m|d|n|u)){if(a[b+352>>0]|0){d=b+312|0;break}a[b+312>>0]=1;c[b+276>>2]=0;c[b+276+4>>2]=0;c[b+276+8>>2]=0;c[b+276+12>>2]=0;b=1;b=b<<24>>24!=0;l=F;return b|0}if((d|0)!=0?(Ue(F,b+4|0,b+20|0,b+36|0,F+32|0),e=+g[F+32>>2],f=+g[F+32+4>>2],h=+g[F+32+8>>2],i=e-+g[F>>2],j=f-+g[F+4>>2],k=h-+g[F+8>>2],i*i+j*j+k*k<3402823466385288598117041.0e14):0){T=c[F+32+12>>2]|0;g[b+316>>2]=e;g[b+320>>2]=f;g[b+324>>2]=h;c[b+328>>2]=T;T=a[B>>0]|0;a[b+332>>0]=T&1|a[b+332>>0]&-16|T&2|T&4;T=c[F+32+24>>2]|0;d=c[F+32+28>>2]|0;c[b+336>>2]=c[F+32+20>>2];c[b+340>>2]=T;c[b+344>>2]=d;g[b+348>>2]=0.0;e=i*i+j*j+k*k}else e=3402823466385288598117041.0e14;if((m|0)!=0?(Ue(F,b+4|0,b+36|0,b+52|0,F+32|0),o=+g[F+32>>2],p=+g[F+32+4>>2],q=+g[F+32+8>>2],r=o-+g[F>>2],s=p-+g[F+4>>2],t=q-+g[F+8>>2],r*r+s*s+t*t<e):0){m=c[F+32+12>>2]|0;g[b+316>>2]=o;g[b+320>>2]=p;g[b+324>>2]=q;c[b+328>>2]=m;m=a[B>>0]|0;a[b+332>>0]=m<<1&4|(m&1|a[b+332>>0]&-16)|m<<1&8;m=c[F+32+24>>2]|0;T=c[F+32+28>>2]|0;c[b+336>>2]=c[F+32+20>>2];g[b+340>>2]=0.0;c[b+344>>2]=m;c[b+348>>2]=T;e=r*r+s*s+t*t}if((n|0)!=0?(Ue(F,b+4|0,b+52|0,b+20|0,F+32|0),v=+g[F+32>>2],w=+g[F+32+4>>2],x=+g[F+32+8>>2],y=v-+g[F>>2],z=w-+g[F+4>>2],A=x-+g[F+8>>2],y*y+z*z+A*A<e):0){n=c[F+32+12>>2]|0;g[b+316>>2]=v;g[b+320>>2]=w;g[b+324>>2]=x;c[b+328>>2]=n;n=a[B>>0]|0;a[b+332>>0]=(n&255)>>>1&2|(n&1|a[b+332>>0]&-16)|n<<2&8;n=c[F+32+28>>2]|0;T=c[F+32+24>>2]|0;c[b+336>>2]=c[F+32+20>>2];c[b+340>>2]=n;g[b+344>>2]=0.0;c[b+348>>2]=T;e=y*y+z*z+A*A}if(u|0?(Ue(F,b+20|0,b+52|0,b+36|0,F+32|0),C=+g[F+32>>2],D=+g[F+32+4>>2],E=+g[F+32+8>>2],Q=C-+g[F>>2],R=D-+g[F+4>>2],S=E-+g[F+8>>2],Q*Q+R*R+S*S<e):0){u=c[F+32+12>>2]|0;g[b+316>>2]=C;g[b+320>>2]=D;g[b+324>>2]=E;c[b+328>>2]=u;u=a[B>>0]|0;a[b+332>>0]=u<<1&2|a[b+332>>0]&-16|u&4|u<<2&8;u=c[F+32+20>>2]|0;B=c[F+32+28>>2]|0;T=c[F+32+24>>2]|0;g[b+336>>2]=0.0;c[b+340>>2]=u;c[b+344>>2]=B;c[b+348>>2]=T}K=+g[b+336>>2];L=+g[b+340>>2];M=+g[b+344>>2];S=+g[b+348>>2];N=+g[b+84>>2]*K+ +g[b+100>>2]*L+ +g[b+116>>2]*M+ +g[b+132>>2]*S;P=K*+g[b+88>>2]+L*+g[b+104>>2]+M*+g[b+120>>2]+S*+g[b+136>>2];R=K*+g[b+92>>2]+L*+g[b+108>>2]+M*+g[b+124>>2]+S*+g[b+140>>2];g[b+244>>2]=N;g[b+248>>2]=P;g[b+252>>2]=R;g[b+256>>2]=0.0;O=+g[b+164>>2]*K+ +g[b+180>>2]*L+ +g[b+196>>2]*M+ +g[b+212>>2]*S;Q=K*+g[b+168>>2]+L*+g[b+184>>2]+M*+g[b+200>>2]+S*+g[b+216>>2];S=K*+g[b+172>>2]+L*+g[b+188>>2]+M*+g[b+204>>2]+S*+g[b+220>>2];g[b+260>>2]=O;g[b+264>>2]=Q;g[b+268>>2]=S;g[b+272>>2]=0.0;g[b+276>>2]=N-O;g[b+280>>2]=P-Q;g[b+284>>2]=R-S;g[b+288>>2]=0.0;Ye(b,b+332|0);if((+g[b+336>>2]>=0.0?+g[b+340>>2]>=0.0:0)?+g[b+344>>2]>=0.0:0)d=+g[b+348>>2]>=0.0&1;else d=0;a[b+312>>0]=d;T=d;T=T<<24>>24!=0;l=F;return T|0}while(0);a[d>>0]=0;T=0;T=T<<24>>24!=0;l=F;return T|0}default:{a[b+312>>0]=0;T=0;T=T<<24>>24!=0;l=F;return T|0}}return 0}function Hc(b,d,e,f,h,i,j,k,m,n){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;var o=0.0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0;C=l;l=l+4272|0;if(((c[e+4>>2]|0)+-17|0)>>>0<2)w=((c[f+4>>2]|0)+-17|0)>>>0<2;else w=0;b=0;do{Fe();u=+g[24872+(b<<4)>>2];v=+g[24872+(b<<4)+4>>2];x=+g[24872+(b<<4)+8>>2];A=+g[h+4>>2]*-u+ +g[h+20>>2]*-v+ +g[h+36>>2]*-x;y=+g[h+8>>2]*-u+ +g[h+24>>2]*-v+ +g[h+40>>2]*-x;g[C+1288+(b<<4)>>2]=+g[h>>2]*-u+ +g[h+16>>2]*-v+ +g[h+32>>2]*-x;g[C+1288+(b<<4)+4>>2]=A;g[C+1288+(b<<4)+8>>2]=y;g[C+1288+(b<<4)+12>>2]=0.0;y=u*+g[i+4>>2]+v*+g[i+20>>2]+x*+g[i+36>>2];A=u*+g[i+8>>2]+v*+g[i+24>>2]+x*+g[i+40>>2];g[C+296+(b<<4)>>2]=u*+g[i>>2]+v*+g[i+16>>2]+x*+g[i+32>>2];g[C+296+(b<<4)+4>>2]=y;g[C+296+(b<<4)+8>>2]=A;g[C+296+(b<<4)+12>>2]=0.0;b=b+1|0}while((b|0)!=42);b=pb[c[(c[e>>2]|0)+84>>2]&127](e)|0;if((b|0)>0){p=0;q=42;while(1){Vb[c[(c[e>>2]|0)+88>>2]&127](e,p,C+200|0);y=+g[C+200>>2];A=+g[C+200+4>>2];x=+g[C+200+8>>2];v=y*+g[h+16>>2]+A*+g[h+20>>2]+x*+g[h+24>>2];u=y*+g[h+32>>2]+A*+g[h+36>>2]+x*+g[h+40>>2];g[C+200>>2]=+g[h>>2]*y+ +g[h+4>>2]*A+ +g[h+8>>2]*x;g[C+200+4>>2]=v;g[C+200+8>>2]=u;g[C+200+12>>2]=0.0;Fe();r=24872+(q<<4)|0;c[r>>2]=c[C+200>>2];c[r+4>>2]=c[C+200+4>>2];c[r+8>>2]=c[C+200+8>>2];c[r+12>>2]=c[C+200+12>>2];u=+g[C+200>>2];v=+g[C+200+4>>2];x=+g[C+200+8>>2];A=+g[h+4>>2]*-u+ +g[h+20>>2]*-v+ +g[h+36>>2]*-x;y=+g[h+8>>2]*-u+ +g[h+24>>2]*-v+ +g[h+40>>2]*-x;g[C+1288+(q<<4)>>2]=+g[h>>2]*-u+ +g[h+16>>2]*-v+ +g[h+32>>2]*-x;g[C+1288+(q<<4)+4>>2]=A;g[C+1288+(q<<4)+8>>2]=y;g[C+1288+(q<<4)+12>>2]=0.0;y=u*+g[i+4>>2]+v*+g[i+20>>2]+x*+g[i+36>>2];A=u*+g[i+8>>2]+v*+g[i+24>>2]+x*+g[i+40>>2];g[C+296+(q<<4)>>2]=+g[i>>2]*u+ +g[i+16>>2]*v+ +g[i+32>>2]*x;g[C+296+(q<<4)+4>>2]=y;g[C+296+(q<<4)+8>>2]=A;g[C+296+(q<<4)+12>>2]=0.0;p=p+1|0;if((p|0)==(b|0))break;else q=q+1|0}q=b+42|0}else q=42;b=pb[c[(c[f>>2]|0)+84>>2]&127](f)|0;if((b|0)>0){p=0;r=q;while(1){Vb[c[(c[f>>2]|0)+88>>2]&127](f,p,C+48|0);y=+g[C+48>>2];A=+g[C+48+4>>2];x=+g[C+48+8>>2];v=y*+g[i+16>>2]+A*+g[i+20>>2]+x*+g[i+24>>2];u=y*+g[i+32>>2]+A*+g[i+36>>2]+x*+g[i+40>>2];g[C+48>>2]=+g[i>>2]*y+ +g[i+4>>2]*A+ +g[i+8>>2]*x;g[C+48+4>>2]=v;g[C+48+8>>2]=u;g[C+48+12>>2]=0.0;Fe();D=24872+(r<<4)|0;c[D>>2]=c[C+48>>2];c[D+4>>2]=c[C+48+4>>2];c[D+8>>2]=c[C+48+8>>2];c[D+12>>2]=c[C+48+12>>2];u=+g[C+48>>2];v=+g[C+48+4>>2];x=+g[C+48+8>>2];A=+g[h+4>>2]*-u+ +g[h+20>>2]*-v+ +g[h+36>>2]*-x;y=+g[h+8>>2]*-u+ +g[h+24>>2]*-v+ +g[h+40>>2]*-x;g[C+1288+(r<<4)>>2]=+g[h>>2]*-u+ +g[h+16>>2]*-v+ +g[h+32>>2]*-x;g[C+1288+(r<<4)+4>>2]=A;g[C+1288+(r<<4)+8>>2]=y;g[C+1288+(r<<4)+12>>2]=0.0;y=u*+g[i+4>>2]+v*+g[i+20>>2]+x*+g[i+36>>2];A=u*+g[i+8>>2]+v*+g[i+24>>2]+x*+g[i+40>>2];g[C+296+(r<<4)>>2]=+g[i>>2]*u+ +g[i+16>>2]*v+ +g[i+32>>2]*x;g[C+296+(r<<4)+4>>2]=y;g[C+296+(r<<4)+8>>2]=A;g[C+296+(r<<4)+12>>2]=0.0;p=p+1|0;if((p|0)==(b|0))break;else r=r+1|0}q=b+q|0}Zb[c[(c[e>>2]|0)+76>>2]&127](e,C+1288|0,C+3272|0,q);Zb[c[(c[f>>2]|0)+76>>2]&127](f,C+296|0,C+2280|0,q);if((q|0)>0)if(w){y=0.0;x=0.0;v=0.0;b=0;t=999999984306749440.0;while(1){Fe();o=+g[24872+(b<<4)>>2];u=+g[24872+(b<<4)+4>>2];s=+g[24872+(b<<4)+12>>2];if(o*o+u*u+0.0>.01?(A=+g[C+3272+(b<<4)>>2],B=+g[C+3272+(b<<4)+4>>2],z=+g[C+3272+(b<<4)+8>>2],G=+g[C+2280+(b<<4)>>2],F=+g[C+2280+(b<<4)+4>>2],E=+g[C+2280+(b<<4)+8>>2],z=o*(G*+g[i>>2]+F*+g[i+4>>2]+E*+g[i+8>>2]+ +g[i+48>>2]-(A*+g[h>>2]+B*+g[h+4>>2]+z*+g[h+8>>2]+ +g[h+48>>2]))+u*(G*+g[i+16>>2]+F*+g[i+20>>2]+E*+g[i+24>>2]+ +g[i+52>>2]-(A*+g[h+16>>2]+B*+g[h+20>>2]+z*+g[h+24>>2]+ +g[h+52>>2]))+0.0,z<t):0)t=z;else{s=v;u=x;o=y}b=b+1|0;if((b|0)==(q|0)){y=s;x=o;v=0.0;break}else{y=o;x=u;v=s}}}else{A=0.0;z=0.0;y=0.0;x=0.0;b=0;t=999999984306749440.0;while(1){Fe();o=+g[24872+(b<<4)>>2];u=+g[24872+(b<<4)+4>>2];v=+g[24872+(b<<4)+8>>2];s=+g[24872+(b<<4)+12>>2];if(o*o+u*u+v*v>.01?(F=+g[C+3272+(b<<4)>>2],G=+g[C+3272+(b<<4)+4>>2],B=+g[C+3272+(b<<4)+8>>2],I=+g[C+2280+(b<<4)>>2],H=+g[C+2280+(b<<4)+4>>2],E=+g[C+2280+(b<<4)+8>>2],B=o*(I*+g[i>>2]+H*+g[i+4>>2]+E*+g[i+8>>2]+ +g[i+48>>2]-(F*+g[h>>2]+G*+g[h+4>>2]+B*+g[h+8>>2]+ +g[h+48>>2]))+u*(I*+g[i+16>>2]+H*+g[i+20>>2]+E*+g[i+24>>2]+ +g[i+52>>2]-(F*+g[h+16>>2]+G*+g[h+20>>2]+B*+g[h+24>>2]+ +g[h+52>>2]))+v*(I*+g[i+32>>2]+H*+g[i+36>>2]+E*+g[i+40>>2]+ +g[i+56>>2]-(F*+g[h+32>>2]+G*+g[h+36>>2]+B*+g[h+40>>2]+ +g[h+56>>2])),B<t):0)t=B;else{s=x;v=y;u=z;o=A}b=b+1|0;if((b|0)==(q|0)){y=s;x=o;break}else{A=o;z=u;y=v;x=s}}}else{y=0.0;x=0.0;u=0.0;v=0.0;t=999999984306749440.0}switch(c[e+4>>2]|0){case 4:case 5:case 10:case 11:case 13:case 1:case 0:case 8:break;default:+Db[c[(c[e>>2]|0)+48>>2]&15](e)}switch(c[f+4>>2]|0){case 4:case 5:case 10:case 11:case 13:case 1:case 0:case 8:break;default:+Db[c[(c[f>>2]|0)+48>>2]&15](f)}if(t<0.0){D=0;l=C;return D|0}switch(c[e+4>>2]|0){case 8:{o=+g[e+28>>2]*+g[e+12>>2];break}case 0:{o=+g[e+44>>2];break}case 1:{o=+g[e+44>>2];break}case 13:{o=+g[e+44>>2];break}case 11:{o=+g[e+44>>2];break}case 10:{o=+g[e+44>>2];break}case 4:case 5:{o=+g[e+44>>2];break}default:o=+Db[c[(c[e>>2]|0)+48>>2]&15](e)}b=c[f+4>>2]|0;switch(b|0){case 8:{s=+g[f+28>>2]*+g[f+12>>2];b=8;break}case 0:{s=+g[f+44>>2];b=0;break}case 1:{s=+g[f+44>>2];b=1;break}case 13:{s=+g[f+44>>2];b=13;break}case 11:{s=+g[f+44>>2];b=11;break}case 10:{s=+g[f+44>>2];b=10;break}case 4:case 5:{s=+g[f+44>>2];break}default:{s=+Db[c[(c[f>>2]|0)+48>>2]&15](f);b=c[f+4>>2]|0}}o=t+(o+s+.5);c[C+216>>2]=9300;c[C+216+4>>2]=0;c[C+216+8>>2]=1065353216;c[C+216+12>>2]=0;g[C+216+16>>2]=0.0;c[C+216+20>>2]=0;c[C+216+24>>2]=d;c[C+216+28>>2]=e;c[C+216+32>>2]=f;c[C+216+36>>2]=c[e+4>>2];c[C+216+40>>2]=b;g[C+216+44>>2]=+Db[c[(c[e>>2]|0)+48>>2]&15](e);g[C+216+48>>2]=+Db[c[(c[f>>2]|0)+48>>2]&15](f);a[C+216+52>>0]=0;c[C+216+60>>2]=-1;c[C+216+72>>2]=1;c[C+216+76>>2]=1;G=+g[h+48>>2]+x*o;H=u*o+ +g[h+52>>2];I=v*o+ +g[h+56>>2];c[C+64>>2]=c[h>>2];c[C+64+4>>2]=c[h+4>>2];c[C+64+8>>2]=c[h+8>>2];c[C+64+12>>2]=c[h+12>>2];c[C+64+16>>2]=c[h+16>>2];c[C+64+16+4>>2]=c[h+16+4>>2];c[C+64+16+8>>2]=c[h+16+8>>2];c[C+64+16+12>>2]=c[h+16+12>>2];c[C+64+32>>2]=c[h+32>>2];c[C+64+32+4>>2]=c[h+32+4>>2];c[C+64+32+8>>2]=c[h+32+8>>2];c[C+64+32+12>>2]=c[h+32+12>>2];g[C+64+48>>2]=G;g[C+64+52>>2]=H;g[C+64+56>>2]=I;g[C+64+60>>2]=0.0;c[C+64+64>>2]=c[i>>2];c[C+64+64+4>>2]=c[i+4>>2];c[C+64+64+8>>2]=c[i+8>>2];c[C+64+64+12>>2]=c[i+12>>2];c[C+64+80>>2]=c[i+16>>2];c[C+64+80+4>>2]=c[i+16+4>>2];c[C+64+80+8>>2]=c[i+16+8>>2];c[C+64+80+12>>2]=c[i+16+12>>2];c[C+64+96>>2]=c[i+32>>2];c[C+64+96+4>>2]=c[i+32+4>>2];c[C+64+96+8>>2]=c[i+32+8>>2];c[C+64+96+12>>2]=c[i+32+12>>2];c[C+64+112>>2]=c[i+48>>2];c[C+64+112+4>>2]=c[i+48+4>>2];c[C+64+112+8>>2]=c[i+48+8>>2];c[C+64+112+12>>2]=c[i+48+12>>2];g[C+64+128>>2]=999999984306749440.0;c[C>>2]=9184;a[C+40>>0]=0;g[C+216+4>>2]=-x;g[C+216+8>>2]=-u;g[C+216+12>>2]=-v;g[C+216+16>>2]=0.0;sc(C+216|0,C+64|0,C,n,0);o=o-+g[C+36>>2];b=a[C+40>>0]|0;if(b<<24>>24){H=+g[C+24>>2]-u*o;I=+g[C+28>>2]-v*o;g[k>>2]=+g[C+20>>2]-x*o;g[k+4>>2]=H;g[k+8>>2]=I;g[k+12>>2]=0.0;c[m>>2]=c[C+20>>2];c[m+4>>2]=c[C+20+4>>2];c[m+8>>2]=c[C+20+8>>2];c[m+12>>2]=c[C+20+12>>2];g[j>>2]=x;g[j+4>>2]=u;g[j+8>>2]=v;g[j+12>>2]=y}D=b<<24>>24!=0;l=C;return D|0}function Ic(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,H=0.0,K=0.0,L=0.0,M=0,N=0,O=0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0;M=l;l=l+128|0;if(!(c[b+12>>2]|0)){l=M;return}f=(a[b+16>>0]|0)!=0;O=f?e:d;f=f?d:e;i=c[O+4>>2]|0;j=c[f+4>>2]|0;O=c[O+12>>2]|0;$=+g[O>>2];_=+g[O+16>>2];Z=+g[O+32>>2];Y=+g[O+4>>2];X=+g[O+20>>2];o=+g[O+36>>2];k=+g[O+8>>2];r=+g[O+24>>2];y=+g[O+40>>2];S=+g[O+48>>2];R=+g[O+52>>2];Q=+g[O+56>>2];N=c[f+12>>2]|0;W=+g[N>>2];V=+g[N+16>>2];p=+g[N+32>>2];U=+g[N+4>>2];T=+g[N+20>>2];q=+g[N+36>>2];x=+g[N+8>>2];v=+g[N+24>>2];t=+g[N+40>>2];P=-+g[N+48>>2];E=-+g[N+52>>2];H=-+g[N+56>>2];K=+g[O>>2];L=+g[O+16>>2];D=+g[O+32>>2];B=+g[O+4>>2];A=+g[O+20>>2];z=+g[O+36>>2];w=+g[O+8>>2];u=+g[O+24>>2];s=+g[O+40>>2];O=c[(c[i>>2]|0)+64>>2]|0;n=-+g[j+48>>2];m=-+g[j+52>>2];C=-+g[j+56>>2];g[M+32>>2]=($*W+_*V+Z*p)*n+($*U+_*T+Z*q)*m+($*x+_*v+Z*t)*C;g[M+32+4>>2]=(Y*W+X*V+o*p)*n+(Y*U+X*T+o*q)*m+(Y*x+X*v+o*t)*C;g[M+32+8>>2]=(k*W+r*V+y*p)*n+(k*U+r*T+y*q)*m+(k*x+r*v+y*t)*C;g[M+32+12>>2]=0.0;Vb[O&127](M+48|0,i,M+32|0);C=+g[M+48>>2];y=+g[M+48+4>>2];r=+g[M+48+8>>2];k=+g[j+48>>2];m=+g[j+52>>2];n=+g[j+56>>2];o=n*(S*x+R*v+Q*t+(x*P+v*E+t*H)+((x*K+v*L+t*D)*C+(x*B+v*A+t*z)*y+(x*w+v*u+t*s)*r))+(k*(S*W+R*V+Q*p+(W*P+V*E+p*H)+((W*K+V*L+p*D)*C+(W*B+V*A+p*z)*y+(W*w+V*u+p*s)*r))+m*(S*U+R*T+Q*q+(U*P+T*E+q*H)+((U*K+T*L+q*D)*C+(U*B+T*A+q*z)*y+(U*w+T*u+q*s)*r)))-+g[j+64>>2];p=S*W+R*V+Q*p+(W*P+V*E+p*H)+((W*K+V*L+p*D)*C+(W*B+V*A+p*z)*y+(W*w+V*u+p*s)*r)-k*o;q=S*U+R*T+Q*q+(U*P+T*E+q*H)+((U*K+T*L+q*D)*C+(U*B+T*A+q*z)*y+(U*w+T*u+q*s)*r)-m*o;r=S*x+R*v+Q*t+(x*P+v*E+t*H)+((x*K+v*L+t*D)*C+(x*B+v*A+t*z)*y+(x*w+v*u+t*s)*r)-n*o;O=c[f+12>>2]|0;s=+g[O>>2];t=+g[O+4>>2];u=+g[O+8>>2];v=+g[O+16>>2];w=+g[O+20>>2];x=+g[O+24>>2];y=+g[O+32>>2];z=+g[O+36>>2];A=+g[O+40>>2];B=+g[O+48>>2];C=+g[O+52>>2];D=+g[O+56>>2];O=c[b+12>>2]|0;N=o<+g[O+752>>2];c[h+4>>2]=O;if(N){O=c[f+12>>2]|0;_=k*+g[O+16>>2]+m*+g[O+20>>2]+n*+g[O+24>>2];$=k*+g[O+32>>2]+m*+g[O+36>>2]+n*+g[O+40>>2];g[M+16>>2]=+g[O>>2]*k+ +g[O+4>>2]*m+ +g[O+8>>2]*n;g[M+16+4>>2]=_;g[M+16+8>>2]=$;g[M+16+12>>2]=0.0;g[M>>2]=u*r+(s*p+t*q)+B;g[M+4>>2]=p*v+q*w+r*x+C;g[M+8>>2]=p*y+q*z+r*A+D;g[M+12>>2]=0.0;Ub[c[(c[h>>2]|0)+16>>2]&15](h,M+16|0,M,o)}if((c[i+4>>2]|0)<7?(c[(c[h+4>>2]|0)+748>>2]|0)<(c[b+24>>2]|0):0){k=+g[j+56>>2];if(+F(+k)>.7071067690849304){$=+g[j+52>>2];n=1.0/+G(+(k*k+$*$));m=0.0;k=-(k*n);n=$*n}else{n=+g[j+48>>2];m=+g[j+52>>2];k=1.0/+G(+(n*n+m*m));m=-(m*k);k=n*k;n=0.0}H=.019999999552965164/+Db[c[(c[i>>2]|0)+16>>2]&15](i);E=+G(+(n*n+(k*k+m*m)));H=H>.39269909262657166?.19634954631328583:H*.5;E=+J(+H)/E;L=m*E;K=k*E;E=n*E;H=+I(+H);f=c[b+20>>2]|0;if((f|0)>0){i=0;do{v=+g[j+48>>2];$=+g[j+52>>2];B=+g[j+56>>2];z=+(i|0)*(6.2831854820251465/+(f|0))*.5;_=+J(+z)/+G(+(v*v+$*$+B*B));z=+I(+z);A=E*-($*_)+(L*z+H*-(v*_))-K*-(B*_);x=L*-(B*_)+(H*-($*_)+K*z)-E*-(v*_);ca=K*-(v*_)+(E*z+H*-(B*_))-L*-($*_);D=H*z-L*-(v*_)-K*-($*_)-E*-(B*_);ha=B*_*x+(v*_*D+z*A)-$*_*ca;ga=v*_*ca+(z*x+$*_*D)-B*_*A;ia=$*_*A+(B*_*D+z*ca)-v*_*x;ca=z*D-v*_*A-$*_*x-B*_*ca;f=(a[b+16>>0]|0)!=0;aa=f?e:d;f=f?d:e;O=c[aa+4>>2]|0;N=c[f+4>>2]|0;aa=c[aa+12>>2]|0;_=+g[aa>>2];B=+g[aa+4>>2];x=+g[aa+8>>2];$=+g[aa+16>>2];A=+g[aa+20>>2];v=+g[aa+24>>2];D=+g[aa+32>>2];z=+g[aa+36>>2];t=+g[aa+40>>2];U=+g[aa+48>>2];V=+g[aa+52>>2];W=+g[aa+56>>2];aa=c[f+12>>2]|0;Q=+g[aa>>2];R=+g[aa+16>>2];p=+g[aa+32>>2];S=+g[aa+4>>2];T=+g[aa+20>>2];q=+g[aa+36>>2];w=+g[aa+8>>2];u=+g[aa+24>>2];s=+g[aa+40>>2];X=-+g[aa+48>>2];Y=-+g[aa+52>>2];Z=-+g[aa+56>>2];fa=ha*(2.0/(ha*ha+ga*ga+ia*ia+ca*ca));r=ga*(2.0/(ha*ha+ga*ga+ia*ia+ca*ca));ba=ia*(2.0/(ha*ha+ga*ga+ia*ia+ca*ca));na=x*(ha*ba-ca*r)+(B*(ha*r+ca*ba)+_*(1.0-(ga*r+ia*ba)));ka=x*(ga*ba+ca*fa)+(_*(ha*r-ca*ba)+B*(1.0-(ha*fa+ia*ba)));o=_*(ha*ba+ca*r)+B*(ga*ba-ca*fa)+x*(1.0-(ha*fa+ga*r));ma=v*(ha*ba-ca*r)+(A*(ha*r+ca*ba)+$*(1.0-(ga*r+ia*ba)));ja=v*(ga*ba+ca*fa)+($*(ha*r-ca*ba)+A*(1.0-(ha*fa+ia*ba)));m=$*(ha*ba+ca*r)+A*(ga*ba-ca*fa)+v*(1.0-(ha*fa+ga*r));la=t*(ha*ba-ca*r)+(z*(ha*r+ca*ba)+D*(1.0-(ga*r+ia*ba)));ia=t*(ga*ba+ca*fa)+(D*(ha*r-ca*ba)+z*(1.0-(ha*fa+ia*ba)));r=D*(ha*ba+ca*r)+z*(ga*ba-ca*fa)+t*(1.0-(ha*fa+ga*r));ga=+g[aa>>2];fa=+g[aa+16>>2];ha=+g[aa+32>>2];ca=+g[aa+4>>2];ba=+g[aa+20>>2];da=+g[aa+36>>2];n=+g[aa+8>>2];k=+g[aa+24>>2];y=+g[aa+40>>2];aa=c[(c[O>>2]|0)+64>>2]|0;ea=-+g[N+48>>2];P=-+g[N+52>>2];C=-+g[N+56>>2];g[M+96>>2]=(ha*la+(ga*na+fa*ma))*ea+(da*la+(ca*na+ba*ma))*P+(na*n+ma*k+la*y)*C;g[M+96+4>>2]=(ha*ia+(ga*ka+fa*ja))*ea+(da*ia+(ca*ka+ba*ja))*P+(n*ka+ja*k+ia*y)*C;g[M+96+8>>2]=(ha*r+(ga*o+fa*m))*ea+(da*r+(ca*o+ba*m))*P+(o*n+m*k+r*y)*C;g[M+96+12>>2]=0.0;Vb[aa&127](M+112|0,O,M+96|0);C=+g[M+112>>2];y=+g[M+112+4>>2];r=+g[M+112+8>>2];k=+g[N+48>>2];m=+g[N+52>>2];n=+g[N+56>>2];o=n*(U*w+V*u+W*s+(w*X+u*Y+s*Z)+((_*w+$*u+D*s)*C+(B*w+A*u+z*s)*y+(x*w+v*u+t*s)*r))+(k*(U*Q+V*R+W*p+(Q*X+R*Y+p*Z)+((_*Q+$*R+D*p)*C+(B*Q+A*R+z*p)*y+(x*Q+v*R+t*p)*r))+m*(U*S+V*T+W*q+(S*X+T*Y+q*Z)+((_*S+$*T+D*q)*C+(B*S+A*T+z*q)*y+(x*S+v*T+t*q)*r)))-+g[N+64>>2];p=U*Q+V*R+W*p+(Q*X+R*Y+p*Z)+((_*Q+$*R+D*p)*C+(B*Q+A*R+z*p)*y+(x*Q+v*R+t*p)*r)-k*o;q=U*S+V*T+W*q+(S*X+T*Y+q*Z)+((_*S+$*T+D*q)*C+(B*S+A*T+z*q)*y+(x*S+v*T+t*q)*r)-m*o;r=U*w+V*u+W*s+(w*X+u*Y+s*Z)+((_*w+$*u+D*s)*C+(B*w+A*u+z*s)*y+(x*w+v*u+t*s)*r)-n*o;N=c[f+12>>2]|0;s=+g[N>>2];t=+g[N+4>>2];u=+g[N+8>>2];v=+g[N+16>>2];w=+g[N+20>>2];x=+g[N+24>>2];y=+g[N+32>>2];z=+g[N+36>>2];A=+g[N+40>>2];B=+g[N+48>>2];C=+g[N+52>>2];D=+g[N+56>>2];N=c[b+12>>2]|0;O=o<+g[N+752>>2];c[h+4>>2]=N;if(O){aa=c[f+12>>2]|0;ma=k*+g[aa+16>>2]+m*+g[aa+20>>2]+n*+g[aa+24>>2];na=k*+g[aa+32>>2]+m*+g[aa+36>>2]+n*+g[aa+40>>2];g[M+80>>2]=+g[aa>>2]*k+ +g[aa+4>>2]*m+ +g[aa+8>>2]*n;g[M+80+4>>2]=ma;g[M+80+8>>2]=na;g[M+80+12>>2]=0.0;g[M+64>>2]=u*r+(s*p+t*q)+B;g[M+64+4>>2]=p*v+q*w+r*x+C;g[M+64+8>>2]=p*y+q*z+r*A+D;g[M+64+12>>2]=0.0;Ub[c[(c[h>>2]|0)+16>>2]&15](h,M+80|0,M+64|0,o)}i=i+1|0;f=c[b+20>>2]|0}while((i|0)<(f|0))}}if(!(a[b+8>>0]|0)){l=M;return}if(!(c[(c[b+12>>2]|0)+748>>2]|0)){l=M;return}i=c[h+4>>2]|0;if(!(c[i+748>>2]|0)){l=M;return}j=c[i+740>>2]|0;d=c[(c[h+8>>2]|0)+8>>2]|0;f=c[(c[h+12>>2]|0)+8>>2]|0;if((j|0)==(d|0)){Pe(i,j+4|0,f+4|0);l=M;return}else{Pe(i,f+4|0,d+4|0);l=M;return}}function Jc(b){b=b|0;var d=0.0,e=0,f=0,h=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0.0,y=0.0,z=0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0;w=l;l=l+176|0;if(!(a[b+738>>0]|0)){l=w;return}g[b+36>>2]=0.0;g[b+744>>2]=0.0;if(!(a[b+736>>0]|0)){e=c[b+28>>2]|0;k=+g[b+600>>2];m=+g[b+604>>2];r=+g[b+608>>2];t=k*+g[e+20>>2]+m*+g[e+24>>2]+r*+g[e+28>>2]+ +g[e+56>>2];f=c[b+32>>2]|0;n=+g[b+664>>2];o=+g[b+668>>2];s=+g[b+672>>2];p=+g[f+52>>2];d=+g[f+56>>2];u=n*+g[f+20>>2]+o*+g[f+24>>2]+s*+g[f+28>>2]+d;v=n*+g[f+36>>2]+o*+g[f+40>>2]+s*+g[f+44>>2]+ +g[f+60>>2];q=k*+g[e+4>>2]+m*+g[e+8>>2]+r*+g[e+12>>2]+ +g[e+52>>2];r=k*+g[e+36>>2]+m*+g[e+40>>2]+r*+g[e+44>>2]+ +g[e+60>>2];s=n*+g[f+4>>2]+o*+g[f+8>>2]+s*+g[f+12>>2]+p;if((s-q)*(s-q)+(u-t)*(u-t)+(v-r)*(v-r)>1.1920928955078125e-07){i=1.0/+G(+((s-q)*(s-q)+(u-t)*(u-t)+(v-r)*(v-r)));g[w+128>>2]=(s-q)*i;g[w+128+4>>2]=(u-t)*i;g[w+128+8>>2]=(v-r)*i;c[w+128+12>>2]=0;o=(v-r)*i;h=(u-t)*i;i=(s-q)*i}else{c[w+128>>2]=1065353216;c[w+128+4>>2]=0;c[w+128+8>>2]=0;g[w+128+12>>2]=0.0;o=0.0;h=0.0;i=1.0}if(+F(+o)>.7071067690849304){y=o*o+h*h;x=1.0/+G(+y);k=-(x*o);j=x*h;n=-(i*j);i=i*k;m=0.0;h=y*x}else{k=i*i+h*h;j=1.0/+G(+k);m=-(h*j);h=j*i;n=o*m;i=k*j;j=0.0;k=h;h=-(o*h)}g[w+128+16>>2]=m;g[w+128+20>>2]=k;g[w+128+24>>2]=j;g[w+128+32>>2]=h;g[w+128+36>>2]=n;g[w+128+40>>2]=i;h=p;e=0;while(1){z=c[b+28>>2]|0;c[w+80>>2]=c[z+4>>2];c[w+80+4>>2]=c[z+20>>2];c[w+80+8>>2]=c[z+36>>2];g[w+80+12>>2]=0.0;c[w+80+16>>2]=c[z+8>>2];c[w+80+20>>2]=c[z+24>>2];c[w+80+24>>2]=c[z+40>>2];g[w+80+28>>2]=0.0;c[w+80+32>>2]=c[z+12>>2];c[w+80+36>>2]=c[z+28>>2];c[w+80+40>>2]=c[z+44>>2];g[w+80+44>>2]=0.0;c[w+32>>2]=c[f+4>>2];c[w+32+4>>2]=c[f+20>>2];c[w+32+8>>2]=c[f+36>>2];g[w+32+12>>2]=0.0;c[w+32+16>>2]=c[f+8>>2];c[w+32+20>>2]=c[f+24>>2];c[w+32+24>>2]=c[f+40>>2];g[w+32+28>>2]=0.0;c[w+32+32>>2]=c[f+12>>2];c[w+32+36>>2]=c[f+28>>2];c[w+32+40>>2]=c[f+44>>2];g[w+32+44>>2]=0.0;x=t-+g[z+56>>2];y=r-+g[z+60>>2];g[w+16>>2]=q-+g[z+52>>2];g[w+16+4>>2]=x;g[w+16+8>>2]=y;g[w+16+12>>2]=0.0;y=v-+g[f+60>>2];g[w>>2]=s-h;g[w+4>>2]=u-d;g[w+8>>2]=y;g[w+12>>2]=0.0;z=c[b+28>>2]|0;f=c[b+32>>2]|0;Ag(b+48+(e*84|0)|0,w+80|0,w+32|0,w+16|0,w,w+128+(e<<4)|0,z+396|0,+g[z+344>>2],f+396|0,+g[f+344>>2]);e=e+1|0;if((e|0)==3)break;z=c[b+32>>2]|0;f=z;h=+g[z+52>>2];d=+g[z+56>>2]}}h=+g[b+560>>2];i=+g[b+576>>2];j=+g[b+592>>2];if(+F(+j)>.7071067690849304){p=1.0/+G(+(j*j+i*i));d=h*-(j*p);k=0.0;m=-(j*p);n=i*p;o=(j*j+i*i)*p;p=-(h*i*p)}else{p=1.0/+G(+(h*h+i*i));d=(h*h+i*i)*p;k=-(i*p);m=h*p;n=0.0;o=-(j*h*p);p=j*-(i*p)}f=c[b+28>>2]|0;K=+g[f+4>>2];J=+g[f+8>>2];u=+g[f+12>>2];R=k*K+m*J+n*u;I=+g[f+20>>2];H=+g[f+24>>2];x=+g[f+28>>2];T=k*I+m*H+n*x;E=+g[f+36>>2];s=+g[f+40>>2];C=+g[f+44>>2];W=k*E+m*s+n*C;B=o*K+p*J+d*u;M=o*I+p*H+d*x;N=o*E+p*s+d*C;e=c[b+32>>2]|0;A=+g[e+4>>2];k=+g[e+20>>2];m=+g[e+36>>2];q=+g[e+8>>2];r=+g[e+24>>2];v=+g[e+40>>2];P=+g[e+12>>2];S=+g[e+28>>2];V=+g[e+44>>2];c[b+300>>2]=0;c[b+300+4>>2]=0;c[b+300+8>>2]=0;c[b+300+12>>2]=0;g[b+316>>2]=R*K+T*I+W*E;g[b+320>>2]=R*J+T*H+W*s;g[b+324>>2]=R*u+T*x+W*C;g[b+328>>2]=0.0;g[b+332>>2]=A*-R+k*-T+m*-W;g[b+336>>2]=q*-R+r*-T+v*-W;g[b+340>>2]=P*-R+S*-T+V*-W;g[b+344>>2]=0.0;D=(R*K+T*I+W*E)*+g[f+396>>2];L=(R*J+T*H+W*s)*+g[f+400>>2];d=(R*u+T*x+W*C)*+g[f+404>>2];g[b+348>>2]=D;g[b+352>>2]=L;g[b+356>>2]=d;g[b+360>>2]=0.0;p=(A*-R+k*-T+m*-W)*+g[e+396>>2];y=(q*-R+r*-T+v*-W)*+g[e+400>>2];X=(P*-R+S*-T+V*-W)*+g[e+404>>2];g[b+364>>2]=p;g[b+368>>2]=y;g[b+372>>2]=X;g[b+376>>2]=0.0;g[b+380>>2]=(R*K+T*I+W*E)*D+(R*J+T*H+W*s)*L+(R*u+T*x+W*C)*d+((A*-R+k*-T+m*-W)*p+(q*-R+r*-T+v*-W)*y+(P*-R+S*-T+V*-W)*X);e=c[b+28>>2]|0;X=+g[e+4>>2];W=+g[e+20>>2];V=+g[e+36>>2];T=+g[e+8>>2];S=+g[e+24>>2];R=+g[e+40>>2];P=+g[e+12>>2];y=+g[e+28>>2];v=+g[e+44>>2];f=c[b+32>>2]|0;r=+g[f+4>>2];q=+g[f+20>>2];p=+g[f+36>>2];m=+g[f+8>>2];k=+g[f+24>>2];A=+g[f+40>>2];d=+g[f+12>>2];L=+g[f+28>>2];D=+g[f+44>>2];c[b+384>>2]=0;c[b+384+4>>2]=0;c[b+384+8>>2]=0;c[b+384+12>>2]=0;g[b+400>>2]=B*X+M*W+N*V;g[b+404>>2]=B*T+M*S+N*R;g[b+408>>2]=B*P+M*y+N*v;g[b+412>>2]=0.0;g[b+416>>2]=r*-B+q*-M+p*-N;g[b+420>>2]=m*-B+k*-M+A*-N;g[b+424>>2]=d*-B+L*-M+D*-N;g[b+428>>2]=0.0;U=(B*X+M*W+N*V)*+g[e+396>>2];Q=(B*T+M*S+N*R)*+g[e+400>>2];t=(B*P+M*y+N*v)*+g[e+404>>2];g[b+432>>2]=U;g[b+436>>2]=Q;g[b+440>>2]=t;g[b+444>>2]=0.0;n=(r*-B+q*-M+p*-N)*+g[f+396>>2];o=(m*-B+k*-M+A*-N)*+g[f+400>>2];O=(d*-B+L*-M+D*-N)*+g[f+404>>2];g[b+448>>2]=n;g[b+452>>2]=o;g[b+456>>2]=O;g[b+460>>2]=0.0;g[b+464>>2]=(B*X+M*W+N*V)*U+(B*T+M*S+N*R)*Q+(B*P+M*y+N*v)*t+((r*-B+q*-M+p*-N)*n+(m*-B+k*-M+A*-N)*o+(d*-B+L*-M+D*-N)*O);f=c[b+28>>2]|0;O=+g[f+4>>2];N=+g[f+20>>2];D=+g[f+36>>2];M=+g[f+8>>2];L=+g[f+24>>2];B=+g[f+40>>2];d=+g[f+12>>2];o=+g[f+28>>2];A=+g[f+44>>2];e=c[b+32>>2]|0;k=+g[e+4>>2];m=+g[e+20>>2];n=+g[e+36>>2];p=+g[e+8>>2];q=+g[e+24>>2];r=+g[e+40>>2];t=+g[e+12>>2];v=+g[e+28>>2];y=+g[e+44>>2];c[b+468>>2]=0;c[b+468+4>>2]=0;c[b+468+8>>2]=0;c[b+468+12>>2]=0;D=(K*h+J*i+u*j)*O+(I*h+H*i+x*j)*N+(E*h+s*i+C*j)*D;B=(K*h+J*i+u*j)*M+(I*h+H*i+x*j)*L+(E*h+s*i+C*j)*B;A=(K*h+J*i+u*j)*d+(I*h+H*i+x*j)*o+(E*h+s*i+C*j)*A;g[b+484>>2]=D;g[b+488>>2]=B;g[b+492>>2]=A;g[b+496>>2]=0.0;u=-(K*h+J*i+u*j);x=-(I*h+H*i+x*j);h=-(E*h+s*i+C*j);g[b+500>>2]=k*u+m*x+n*h;g[b+504>>2]=p*u+q*x+r*h;g[b+508>>2]=t*u+v*x+y*h;g[b+512>>2]=0.0;C=D*+g[f+396>>2];i=B*+g[f+400>>2];j=A*+g[f+404>>2];g[b+516>>2]=C;g[b+520>>2]=i;g[b+524>>2]=j;g[b+528>>2]=0.0;o=(k*u+m*x+n*h)*+g[e+396>>2];s=(p*u+q*x+r*h)*+g[e+400>>2];d=(t*u+v*x+y*h)*+g[e+404>>2];g[b+532>>2]=o;g[b+536>>2]=s;g[b+540>>2]=d;g[b+544>>2]=0.0;g[b+548>>2]=D*C+B*i+A*j+((k*u+m*x+n*h)*o+(p*u+q*x+r*h)*s+(t*u+v*x+y*h)*d);g[b+724>>2]=0.0;e=c[b+28>>2]|0;f=c[b+32>>2]|0;d=+Pi(b,e+4|0,f+4|0);g[b+728>>2]=d;g[b+708>>2]=0.0;g[b+712>>2]=0.0;a[b+716>>0]=0;h=+g[b+692>>2];do if(h>=0.0){d=+ch(d-+g[b+688>>2],6.2831854820251465);if(!(d<-3.1415927410125732)){if(d>3.1415927410125732)d=d+-6.2831854820251465}else d=d+6.2831854820251465;if(d<-h){a[b+716>>0]=1;g[b+708>>2]=-(d+h);g[b+712>>2]=1.0;break}if(d>h){a[b+716>>0]=1;g[b+708>>2]=h-d;g[b+712>>2]=-1.0}}while(0);T=+g[b+560>>2];U=+g[b+576>>2];X=+g[b+592>>2];V=T*+g[e+4>>2]+U*+g[e+8>>2]+X*+g[e+12>>2];W=T*+g[e+20>>2]+U*+g[e+24>>2]+X*+g[e+28>>2];X=T*+g[e+36>>2]+U*+g[e+40>>2]+X*+g[e+44>>2];g[b+720>>2]=1.0/(V*(V*+g[e+264>>2]+W*+g[e+280>>2]+X*+g[e+296>>2])+W*(V*+g[e+268>>2]+W*+g[e+284>>2]+X*+g[e+300>>2])+X*(V*+g[e+272>>2]+W*+g[e+288>>2]+X*+g[e+304>>2])+(V*(V*+g[f+264>>2]+W*+g[f+280>>2]+X*+g[f+296>>2])+W*(V*+g[f+268>>2]+W*+g[f+284>>2]+X*+g[f+300>>2])+X*(V*+g[f+272>>2]+W*+g[f+288>>2]+X*+g[f+304>>2])));l=w;return}function Kc(d,e,f,h){d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;c[d+168>>2]=c[d+152>>2];c[e>>2]=9104;c[e+52>>2]=282;a[e+60>>0]=0;a[e+80>>0]=1;c[e+76>>2]=0;c[e+68>>2]=0;c[e+72>>2]=0;a[e+100>>0]=1;c[e+96>>2]=0;c[e+88>>2]=0;c[e+92>>2]=0;a[e+120>>0]=1;c[e+116>>2]=0;c[e+108>>2]=0;c[e+112>>2]=0;a[e+140>>0]=1;c[e+136>>2]=0;c[e+128>>2]=0;c[e+132>>2]=0;c[e+144>>2]=0;a[e+164>>0]=1;c[e+160>>2]=0;c[e+152>>2]=0;c[e+156>>2]=0;c[e+168>>2]=0;c[e+4>>2]=-8388609;c[e+8>>2]=-8388609;c[e+12>>2]=-8388609;g[e+16>>2]=0.0;c[e+20>>2]=2139095039;c[e+24>>2]=2139095039;c[e+28>>2]=2139095039;g[e+32>>2]=0.0;f=c[d+56>>2]|0;if(h){c[e+56>>2]=lA(f|0)|0;a[e+4>>0]=a[d+4+3>>0]|0;a[e+5>>0]=a[d+4+2>>0]|0;a[e+6>>0]=a[d+4+1>>0]|0;a[e+7>>0]=a[d+4>>0]|0;a[e+8>>0]=a[d+8+3>>0]|0;a[e+9>>0]=a[d+8+2>>0]|0;a[e+10>>0]=a[d+8+1>>0]|0;a[e+11>>0]=a[d+8>>0]|0;a[e+12>>0]=a[d+12+3>>0]|0;a[e+13>>0]=a[d+12+2>>0]|0;a[e+14>>0]=a[d+12+1>>0]|0;a[e+15>>0]=a[d+12>>0]|0;a[e+16>>0]=a[d+16+3>>0]|0;a[e+17>>0]=a[d+16+2>>0]|0;a[e+18>>0]=a[d+16+1>>0]|0;a[e+19>>0]=a[d+16>>0]|0;a[e+20>>0]=a[d+20+3>>0]|0;a[e+21>>0]=a[d+20+2>>0]|0;a[e+22>>0]=a[d+20+1>>0]|0;a[e+23>>0]=a[d+20>>0]|0;a[e+24>>0]=a[d+24+3>>0]|0;a[e+25>>0]=a[d+24+2>>0]|0;a[e+26>>0]=a[d+24+1>>0]|0;a[e+27>>0]=a[d+24>>0]|0;a[e+28>>0]=a[d+28+3>>0]|0;a[e+29>>0]=a[d+28+2>>0]|0;a[e+30>>0]=a[d+28+1>>0]|0;a[e+31>>0]=a[d+28>>0]|0;a[e+32>>0]=a[d+32+3>>0]|0;a[e+33>>0]=a[d+32+2>>0]|0;a[e+34>>0]=a[d+32+1>>0]|0;a[e+35>>0]=a[d+32>>0]|0;a[e+36>>0]=a[d+36+3>>0]|0;a[e+37>>0]=a[d+36+2>>0]|0;a[e+38>>0]=a[d+36+1>>0]|0;a[e+39>>0]=a[d+36>>0]|0;a[e+40>>0]=a[d+40+3>>0]|0;a[e+41>>0]=a[d+40+2>>0]|0;a[e+42>>0]=a[d+40+1>>0]|0;a[e+43>>0]=a[d+40>>0]|0;a[e+44>>0]=a[d+44+3>>0]|0;a[e+45>>0]=a[d+44+2>>0]|0;a[e+46>>0]=a[d+44+1>>0]|0;a[e+47>>0]=a[d+44>>0]|0;a[e+48>>0]=a[d+48+3>>0]|0;a[e+49>>0]=a[d+48+2>>0]|0;a[e+50>>0]=a[d+48+1>>0]|0;a[e+51>>0]=a[d+48>>0]|0;c[e+144>>2]=lA(c[d+144>>2]|0)|0;f=lA(c[d+168>>2]|0)|0}else{c[e+56>>2]=f;c[e+4>>2]=c[d+4>>2];c[e+4+4>>2]=c[d+4+4>>2];c[e+4+8>>2]=c[d+4+8>>2];c[e+4+12>>2]=c[d+4+12>>2];c[e+20>>2]=c[d+20>>2];c[e+20+4>>2]=c[d+20+4>>2];c[e+20+8>>2]=c[d+20+8>>2];c[e+20+12>>2]=c[d+20+12>>2];c[e+36>>2]=c[d+36>>2];c[e+36+4>>2]=c[d+36+4>>2];c[e+36+8>>2]=c[d+36+8>>2];c[e+36+12>>2]=c[d+36+12>>2];c[e+144>>2]=c[d+144>>2];f=c[d+168>>2]|0}c[e+168>>2]=f;a[e+60>>0]=a[d+60>>0]|0;k=c[d+56>>2]|0;if(!(a[d+60>>0]|0)){f=c[e+96>>2]|0;if(f|0){if(a[e+100>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[f+-4>>2]|0)}c[e+96>>2]=0}a[e+100>>0]=0;c[e+96>>2]=e+172;c[e+88>>2]=k;c[e+92>>2]=k;if(h)if((k|0)>0){i=c[d+96>>2]|0;f=e+172|0;j=0;do{l=i+(j<<6)|0;n=f+(j<<6)|0;a[n>>0]=a[l+3>>0]|0;a[n+1>>0]=a[l+2>>0]|0;a[n+2>>0]=a[l+1>>0]|0;a[n+3>>0]=a[l>>0]|0;n=i+(j<<6)+4|0;l=f+(j<<6)+4|0;a[l>>0]=a[n+3>>0]|0;a[l+1>>0]=a[n+2>>0]|0;a[l+2>>0]=a[n+1>>0]|0;a[l+3>>0]=a[n>>0]|0;l=i+(j<<6)+8|0;n=f+(j<<6)+8|0;a[n>>0]=a[l+3>>0]|0;a[n+1>>0]=a[l+2>>0]|0;a[n+2>>0]=a[l+1>>0]|0;a[n+3>>0]=a[l>>0]|0;n=i+(j<<6)+12|0;f=f+(j<<6)+12|0;a[f>>0]=a[n+3>>0]|0;a[f+1>>0]=a[n+2>>0]|0;a[f+2>>0]=a[n+1>>0]|0;a[f+3>>0]=a[n>>0]|0;f=c[d+96>>2]|0;n=f+(j<<6)+16|0;l=c[e+96>>2]|0;m=l+(j<<6)+16|0;a[m>>0]=a[n+3>>0]|0;a[m+1>>0]=a[n+2>>0]|0;a[m+2>>0]=a[n+1>>0]|0;a[m+3>>0]=a[n>>0]|0;m=f+(j<<6)+20|0;n=l+(j<<6)+20|0;a[n>>0]=a[m+3>>0]|0;a[n+1>>0]=a[m+2>>0]|0;a[n+2>>0]=a[m+1>>0]|0;a[n+3>>0]=a[m>>0]|0;n=f+(j<<6)+24|0;m=l+(j<<6)+24|0;a[m>>0]=a[n+3>>0]|0;a[m+1>>0]=a[n+2>>0]|0;a[m+2>>0]=a[n+1>>0]|0;a[m+3>>0]=a[n>>0]|0;f=f+(j<<6)+28|0;l=l+(j<<6)+28|0;a[l>>0]=a[f+3>>0]|0;a[l+1>>0]=a[f+2>>0]|0;a[l+2>>0]=a[f+1>>0]|0;a[l+3>>0]=a[f>>0]|0;i=c[d+96>>2]|0;l=lA(c[i+(j<<6)+32>>2]|0)|0;f=c[e+96>>2]|0;c[f+(j<<6)+32>>2]=l;c[f+(j<<6)+36>>2]=lA(c[i+(j<<6)+36>>2]|0)|0;c[f+(j<<6)+40>>2]=lA(c[i+(j<<6)+40>>2]|0)|0;j=j+1|0}while((j|0)!=(k|0))}else f=e+172|0;else if((k|0)>0){f=e+172|0;i=c[d+96>>2]|0;j=0;do{f=f+(j<<6)|0;n=i+(j<<6)|0;c[f>>2]=c[n>>2];c[f+4>>2]=c[n+4>>2];c[f+8>>2]=c[n+8>>2];c[f+12>>2]=c[n+12>>2];f=(c[e+96>>2]|0)+(j<<6)+16|0;n=(c[d+96>>2]|0)+(j<<6)+16|0;c[f>>2]=c[n>>2];c[f+4>>2]=c[n+4>>2];c[f+8>>2]=c[n+8>>2];c[f+12>>2]=c[n+12>>2];i=c[d+96>>2]|0;f=c[e+96>>2]|0;c[f+(j<<6)+32>>2]=c[i+(j<<6)+32>>2];c[f+(j<<6)+36>>2]=c[i+(j<<6)+36>>2];c[f+(j<<6)+40>>2]=c[i+(j<<6)+40>>2];j=j+1|0}while((j|0)!=(k|0))}else f=e+172|0;if(f|0){if(a[e+100>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[f+-4>>2]|0)}c[e+96>>2]=0}c[e+88>>2]=0;c[e+88+4>>2]=0;c[e+88+8>>2]=0;a[e+88+12>>0]=0;f=k<<6}else{f=c[e+136>>2]|0;if(f|0){if(a[e+140>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[f+-4>>2]|0)}c[e+136>>2]=0}a[e+140>>0]=0;c[e+136>>2]=e+172;c[e+128>>2]=k;c[e+132>>2]=k;if(h){if((k|0)>0){f=c[d+136>>2]|0;i=0;do{b[e+172+(i<<4)>>1]=KF(b[f+(i<<4)>>1]|0)|0;b[e+172+(i<<4)+2>>1]=KF(b[f+(i<<4)+2>>1]|0)|0;b[e+172+(i<<4)+4>>1]=KF(b[f+(i<<4)+4>>1]|0)|0;b[e+172+(i<<4)+6>>1]=KF(b[f+(i<<4)+6>>1]|0)|0;b[e+172+(i<<4)+8>>1]=KF(b[f+(i<<4)+8>>1]|0)|0;b[e+172+(i<<4)+10>>1]=KF(b[f+(i<<4)+10>>1]|0)|0;c[e+172+(i<<4)+12>>2]=lA(c[f+(i<<4)+12>>2]|0)|0;i=i+1|0}while((i|0)!=(k|0))}}else if((k|0)>0){f=c[d+136>>2]|0;i=0;do{b[e+172+(i<<4)>>1]=b[f+(i<<4)>>1]|0;b[e+172+(i<<4)+2>>1]=b[f+(i<<4)+2>>1]|0;b[e+172+(i<<4)+4>>1]=b[f+(i<<4)+4>>1]|0;b[e+172+(i<<4)+6>>1]=b[f+(i<<4)+6>>1]|0;b[e+172+(i<<4)+8>>1]=b[f+(i<<4)+8>>1]|0;b[e+172+(i<<4)+10>>1]=b[f+(i<<4)+10>>1]|0;c[e+172+(i<<4)+12>>2]=c[f+(i<<4)+12>>2];i=i+1|0}while((i|0)!=(k|0))}c[e+128>>2]=0;c[e+128+4>>2]=0;c[e+128+8>>2]=0;a[e+128+12>>0]=0;f=k<<4}k=e+(f+172)|0;f=c[d+168>>2]|0;i=c[e+160>>2]|0;if(i|0){if(a[e+164>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[i+-4>>2]|0)}c[e+160>>2]=0}a[e+164>>0]=0;c[e+160>>2]=k;c[e+152>>2]=f;c[e+156>>2]=f;j=c[d+168>>2]|0;if(h){if((j|0)<=0){c[e>>2]=0;c[e+152>>2]=0;c[e+152+4>>2]=0;c[e+152+8>>2]=0;a[e+152+12>>0]=0;return 1}f=c[d+160>>2]|0;i=0;do{b[k+(i<<5)>>1]=KF(b[f+(i<<5)>>1]|0)|0;b[k+(i<<5)+2>>1]=KF(b[f+(i<<5)+2>>1]|0)|0;b[k+(i<<5)+4>>1]=KF(b[f+(i<<5)+4>>1]|0)|0;b[k+(i<<5)+6>>1]=KF(b[f+(i<<5)+6>>1]|0)|0;b[k+(i<<5)+8>>1]=KF(b[f+(i<<5)+8>>1]|0)|0;b[k+(i<<5)+10>>1]=KF(b[f+(i<<5)+10>>1]|0)|0;c[k+(i<<5)+12>>2]=lA(c[f+(i<<5)+12>>2]|0)|0;c[k+(i<<5)+16>>2]=lA(c[f+(i<<5)+16>>2]|0)|0;i=i+1|0}while((i|0)!=(j|0));c[e>>2]=0;c[e+152>>2]=0;c[e+152+4>>2]=0;c[e+152+8>>2]=0;a[e+152+12>>0]=0;return 1}else{if((j|0)<=0){c[e>>2]=0;c[e+152>>2]=0;c[e+152+4>>2]=0;c[e+152+8>>2]=0;a[e+152+12>>0]=0;return 1}f=c[d+160>>2]|0;i=0;do{b[k+(i<<5)>>1]=b[f+(i<<5)>>1]|0;b[k+(i<<5)+2>>1]=b[f+(i<<5)+2>>1]|0;b[k+(i<<5)+4>>1]=b[f+(i<<5)+4>>1]|0;b[k+(i<<5)+6>>1]=b[f+(i<<5)+6>>1]|0;b[k+(i<<5)+8>>1]=b[f+(i<<5)+8>>1]|0;b[k+(i<<5)+10>>1]=b[f+(i<<5)+10>>1]|0;c[k+(i<<5)+12>>2]=c[f+(i<<5)+12>>2];c[k+(i<<5)+16>>2]=c[f+(i<<5)+16>>2];c[k+(i<<5)+20>>2]=0;c[k+(i<<5)+24>>2]=0;c[k+(i<<5)+28>>2]=0;i=i+1|0}while((i|0)<(c[d+168>>2]|0));c[e>>2]=0;c[e+152>>2]=0;c[e+152+4>>2]=0;c[e+152+8>>2]=0;a[e+152+12>>0]=0;return 1}return 0}function Lc(b){b=b|0;var d=0,e=0.0,f=0.0,h=0.0,i=0,j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0;H=l;l=l+192|0;bj(11102);d=c[b+1112>>2]|0;if((d|0)>0){G=0;do{F=c[(c[b+1120>>2]|0)+(G<<2)>>2]|0;E=c[F+24>>2]|0;if(E){i=H+144+4|0;j=i+44|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));g[H+144>>2]=9.999999747378752e-05;g[H+144+20>>2]=1.9999999494757503e-04;g[H+144+40>>2]=2.9999998514540493e-04;if((E|0)>0){d=c[F+32>>2]|0;i=c[F+12>>2]|0;e=0.0;f=0.0;h=0.0;j=0;do{D=c[d+(j<<2)>>2]|0;C=+g[i+(j<<2)>>2];e=e+ +g[D+8>>2]*C;f=f+C*+g[D+12>>2];h=h+C*+g[D+16>>2];j=j+1|0}while((j|0)!=(E|0))}else{h=0.0;f=0.0;e=0.0}r=+g[F+128>>2];t=e*r;s=f*r;r=h*r;g[F+228>>2]=t;g[F+232>>2]=s;g[F+236>>2]=r;g[F+240>>2]=0.0;if((E|0)>0){d=c[F+32>>2]|0;i=c[F+52>>2]|0;q=+g[H+144+4>>2];f=+g[H+144+8>>2];h=+g[H+144+16>>2];k=1.9999999494757503e-04;m=+g[H+144+24>>2];n=0.0;o=0.0;p=2.9999998514540493e-04;e=9.999999747378752e-05;j=0;while(1){D=c[d+(j<<2)>>2]|0;x=+g[D+8>>2]-t;y=+g[D+12>>2]-s;B=+g[D+16>>2]-r;z=+g[i+(j<<4)>>2];A=+g[i+(j<<4)+4>>2];C=+g[i+(j<<4)+8>>2];e=x*z+e;q=x*A+q;f=x*C+f;h=y*z+h;k=y*A+k;m=y*C+m;n=B*z+n;o=B*A+o;p=B*C+p;if((j|0)==(E+-1|0))break;j=j+1|0}g[H+144>>2]=e;g[H+144+4>>2]=q;g[H+144+8>>2]=f;g[H+144+16>>2]=h;g[H+144+20>>2]=k;g[H+144+24>>2]=m;g[H+144+32>>2]=n;g[H+144+36>>2]=o;g[H+144+40>>2]=p}if((a[22624]|0)==0?qy(22624)|0:0){g[5837]=9.999999747378752e-05;c[5838]=16}$c(H+144|0,H+96|0,H+16|0);c[F+108>>2]=c[F+228>>2];c[F+108+4>>2]=c[F+228+4>>2];c[F+108+8>>2]=c[F+228+8>>2];c[F+108+12>>2]=c[F+228+12>>2];c[F+60>>2]=c[H+96>>2];c[F+60+4>>2]=c[H+96+4>>2];c[F+60+8>>2]=c[H+96+8>>2];c[F+60+12>>2]=c[H+96+12>>2];c[F+76>>2]=c[H+96+16>>2];c[F+76+4>>2]=c[H+96+16+4>>2];c[F+76+8>>2]=c[H+96+16+8>>2];c[F+76+12>>2]=c[H+96+16+12>>2];c[F+92>>2]=c[H+96+32>>2];c[F+92+4>>2]=c[H+96+32+4>>2];c[F+92+8>>2]=c[H+96+32+8>>2];c[F+92+12>>2]=c[H+96+32+12>>2];m=+g[F+132>>2];K=+g[F+60>>2];n=+g[F+148>>2];J=+g[F+64>>2];o=+g[F+164>>2];A=+g[F+68>>2];p=+g[F+136>>2];q=+g[F+152>>2];r=+g[F+168>>2];s=+g[F+140>>2];t=+g[F+156>>2];C=+g[F+172>>2];I=+g[F+76>>2];e=+g[F+80>>2];B=+g[F+84>>2];k=+g[F+92>>2];h=+g[F+96>>2];f=+g[F+100>>2];u=(m*K+n*J+o*A)*K+(K*p+J*q+A*r)*J+(K*s+J*t+A*C)*A;v=(m*K+n*J+o*A)*I+(K*p+J*q+A*r)*e+(K*s+J*t+A*C)*B;w=(m*K+n*J+o*A)*k+(K*p+J*q+A*r)*h+(K*s+J*t+A*C)*f;x=(m*I+n*e+o*B)*K+(p*I+q*e+r*B)*J+(s*I+t*e+C*B)*A;y=(m*I+n*e+o*B)*I+(p*I+q*e+r*B)*e+(s*I+t*e+C*B)*B;z=(m*I+n*e+o*B)*k+(p*I+q*e+r*B)*h+(s*I+t*e+C*B)*f;A=K*(m*k+n*h+o*f)+(p*k+q*h+r*f)*J+(s*k+t*h+C*f)*A;B=I*(m*k+n*h+o*f)+(p*k+q*h+r*f)*e+(s*k+t*h+C*f)*B;C=(m*k+n*h+o*f)*k+(p*k+q*h+r*f)*h+(s*k+t*h+C*f)*f;g[F+180>>2]=u;g[F+184>>2]=v;g[F+188>>2]=w;g[F+192>>2]=0.0;g[F+196>>2]=x;g[F+200>>2]=y;g[F+204>>2]=z;g[F+208>>2]=0.0;g[F+212>>2]=A;g[F+216>>2]=B;g[F+220>>2]=C;g[F+224>>2]=0.0;c[F+316>>2]=0;c[F+316+4>>2]=0;c[F+316+8>>2]=0;c[F+316+12>>2]=0;c[F+316+16>>2]=0;c[F+316+20>>2]=0;c[F+316+24>>2]=0;c[F+316+28>>2]=0;if((E|0)>0){d=c[F+32>>2]|0;i=c[F+12>>2]|0;r=+g[F+228>>2];s=+g[F+232>>2];t=+g[F+236>>2];q=0.0;p=0.0;o=0.0;n=0.0;m=0.0;e=0.0;j=0;do{D=c[d+(j<<2)>>2]|0;M=+g[i+(j<<2)>>2];J=+g[D+40>>2]*M;L=M*+g[D+44>>2];M=M*+g[D+48>>2];q=J+q;g[F+316>>2]=q;p=L+p;g[F+320>>2]=p;o=M+o;g[F+324>>2]=o;I=+g[D+8>>2]-r;K=+g[D+12>>2]-s;N=+g[D+16>>2]-t;n=n+(M*K-L*N);g[F+332>>2]=n;m=m+(J*N-M*I);g[F+336>>2]=m;e=L*I-J*K+e;g[F+340>>2]=e;j=j+1|0}while((j|0)!=(E|0));d=F+332|0;D=F+316|0}else{d=F+332|0;D=F+316|0;q=0.0;p=0.0;o=0.0;n=0.0;m=0.0;e=0.0}M=+g[F+128>>2];N=1.0-+g[F+356>>2];g[F+316>>2]=q*M*N;g[F+320>>2]=M*p*N;g[F+324>>2]=M*o*N;g[F+328>>2]=0.0;N=1.0-+g[F+360>>2];g[d>>2]=(u*n+v*m+w*e)*N;g[F+336>>2]=(n*x+m*y+e*z)*N;g[F+340>>2]=N*(n*A+m*B+e*C);g[F+344>>2]=0.0;i=F+244|0;j=i+72|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));e=+g[F+364>>2];a:do if(e>0.0?(c[F+24>>2]|0)>0:0){d=0;while(1){j=c[(c[F+32>>2]|0)+(d<<2)>>2]|0;i=c[F+52>>2]|0;I=+g[i+(d<<4)>>2];J=+g[i+(d<<4)+4>>2];K=+g[i+(d<<4)+8>>2];L=+g[j+8>>2];M=+g[j+12>>2];N=+g[j+16>>2];M=M+e*(I*+g[F+76>>2]+J*+g[F+80>>2]+K*+g[F+84>>2]+ +g[F+112>>2]-M);N=N+e*(I*k+J*h+K*f+ +g[F+116>>2]-N);g[j+8>>2]=L+e*(I*+g[F+60>>2]+J*+g[F+64>>2]+K*+g[F+68>>2]+ +g[F+108>>2]-L);g[j+12>>2]=M;g[j+16>>2]=N;g[j+20>>2]=0.0;d=d+1|0;if((d|0)>=(c[F+24>>2]|0))break a;k=+g[F+92>>2];h=+g[F+96>>2];f=+g[F+100>>2];e=+g[F+364>>2]}}while(0);do if(a[F+377>>0]|0){i=c[F+32>>2]|0;j=c[i>>2]|0;e=+g[j+8>>2];f=+g[j+12>>2];h=+g[j+16>>2];k=+g[j+20>>2];if((E|0)>1){m=e;n=f;o=h;p=k;d=1;do{j=c[i+(d<<2)>>2]|0;K=+g[j+8>>2];m=K<m?K:m;L=+g[j+12>>2];n=L<n?L:n;M=+g[j+16>>2];o=M<o?M:o;N=+g[j+20>>2];p=N<p?N:p;e=e<K?K:e;f=f<L?L:f;h=h<M?M:h;k=k<N?N:k;d=d+1|0}while((d|0)!=(E|0))}else{p=k;o=h;n=f;m=e}g[H+64>>2]=m;g[H+64+4>>2]=n;g[H+64+8>>2]=o;g[H+64+12>>2]=p;g[H+64+16>>2]=e;g[H+64+20>>2]=f;g[H+64+24>>2]=h;g[H+64+28>>2]=k;d=c[F+348>>2]|0;if(d|0){L=+g[b+452>>2];M=L*+g[F+320>>2]*3.0;N=L*+g[F+324>>2]*3.0;g[H>>2]=+g[D>>2]*L*3.0;g[H+4>>2]=M;g[H+8>>2]=N;g[H+12>>2]=0.0;ah(b+1048|0,d,H+64|0,H,+g[b+464>>2])|0;break}d=c[b+1052>>2]|0;if(!d){c[6485]=(c[6485]|0)+1;d=ic(63)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}i=d;j=i+44|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0))}else c[b+1052>>2]=0;c[d+32>>2]=0;c[d+36>>2]=F;c[d+40>>2]=0;c[d>>2]=c[H+64>>2];c[d+4>>2]=c[H+64+4>>2];c[d+8>>2]=c[H+64+8>>2];c[d+12>>2]=c[H+64+12>>2];c[d+16>>2]=c[H+64+16>>2];c[d+20>>2]=c[H+64+20>>2];c[d+24>>2]=c[H+64+24>>2];c[d+28>>2]=c[H+64+28>>2];_e(b+1048|0,c[b+1048>>2]|0,d);c[b+1060>>2]=(c[b+1060>>2]|0)+1;c[F+348>>2]=d}while(0);d=c[b+1112>>2]|0}G=G+1|0}while((G|0)<(d|0))}d=c[2380]|0;b=(c[d+16>>2]|0)+-1|0;c[d+16>>2]=b;if(b|0){l=H;return}do if(c[d+4>>2]|0){Za(H+144|0,0)|0;b=c[6484]|0;g[d+8>>2]=+(((c[H+144+4>>2]|0)-(c[b+4>>2]|0)+(((c[H+144>>2]|0)-(c[b>>2]|0)|0)*1e6|0)-(c[d+12>>2]|0)|0)>>>0)/1.0e3+ +g[d+8>>2];if(!(c[d+16>>2]|0)){d=c[2380]|0;break}else{l=H;return}}while(0);c[2380]=c[d+20>>2];l=H;return}function Mc(d,e){d=d|0;e=+e;var f=0,h=0,i=0,j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0,B=0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0;B=l;l=l+464|0;bj(11963);f=c[d+84>>2]|0;if(f|0)kb[f&31](d,e);kb[c[(c[d>>2]|0)+140>>2]&31](d,e);g[d+28>>2]=e;c[d+32>>2]=0;c[d+48>>2]=pb[c[(c[d>>2]|0)+20>>2]&127](d)|0;bj(12006);bj(12031);f=c[d+316>>2]|0;if((c[d+308>>2]|0)>0){h=0;do{s=c[d+24>>2]|0;nb[c[(c[s>>2]|0)+16>>2]&127](s,c[f+(h<<2)>>2]|0);h=h+1|0;f=c[d+316>>2]|0}while((h|0)<(c[d+308>>2]|0))}if(f|0){if(a[d+320>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[f+-4>>2]|0)}c[d+316>>2]=0}a[d+320>>0]=1;c[d+316>>2]=0;c[d+308>>2]=0;c[d+312>>2]=0;f=c[2380]|0;s=(c[f+16>>2]|0)+-1|0;c[f+16>>2]=s;do if(!s){if(c[f+4>>2]|0){Za(B+368|0,0)|0;s=c[6484]|0;g[f+8>>2]=+(((c[B+368+4>>2]|0)-(c[s+4>>2]|0)+(((c[B+368>>2]|0)-(c[s>>2]|0)|0)*1e6|0)-(c[f+12>>2]|0)|0)>>>0)/1.0e3+ +g[f+8>>2];if(c[f+16>>2]|0)break;f=c[2380]|0}c[2380]=c[f+20>>2]}while(0);a:do if((c[d+232>>2]|0)>0){q=B+304+48|0;r=B+368+44|0;s=0;while(1){j=c[(c[d+240>>2]|0)+(s<<2)>>2]|0;g[j+244>>2]=1.0;b:do switch(c[j+216>>2]|0){case 2:case 5:break;default:if(((c[j+204>>2]&3|0)==0?(Kg(j+4|0,+g[j+312>>2],+g[j+316>>2],+g[j+320>>2],j+328|0,e,B+304|0),t=+g[q>>2],u=t-+g[j+52>>2],v=+g[B+304+52>>2],w=v-+g[j+56>>2],x=+g[B+304+56>>2],y=x-+g[j+60>>2],a[d+44>>0]|0):0)?(o=+g[j+252>>2],o*o!=0.0?o*o<u*u+w*w+y*y:0):0){bj(12068);if((c[(c[j+192>>2]|0)+4>>2]|0)<20?(c[5866]=(c[5866]|0)+1,i=c[d+68>>2]|0,i=pb[c[(c[i>>2]|0)+36>>2]&127](i)|0,p=c[d+24>>2]|0,g[B+368+4>>2]=1.0,c[B+368+12>>2]=c[j+52>>2],c[B+368+12+4>>2]=c[j+52+4>>2],c[B+368+12+8>>2]=c[j+52+8>>2],c[B+368+12+12>>2]=c[j+52+12>>2],c[B+368+28>>2]=c[q>>2],c[B+368+28+4>>2]=c[q+4>>2],c[B+368+28+8>>2]=c[q+8>>2],c[B+368+28+12>>2]=c[q+12>>2],c[B+368+76>>2]=0,c[B+368>>2]=4460,c[B+368+80>>2]=j,c[B+368+88>>2]=i,c[B+368+92>>2]=p,p=c[j+248>>2]|0,c[B+248+8>>2]=0,c[B+248+12>>2]=1065353216,c[B+248+16>>2]=1065353216,c[B+248+20>>2]=1065353216,g[B+248+24>>2]=0.0,c[B+248>>2]=6764,c[B+248+4>>2]=8,c[B+248+28>>2]=p,c[B+248+44>>2]=p,c[B+368+84>>2]=c[d+56>>2],p=c[j+188>>2]|0,b[B+368+8>>1]=b[p+4>>1]|0,b[B+368+10>>1]=b[p+6>>1]|0,c[B+184+48>>2]=c[q>>2],c[B+184+48+4>>2]=c[q+4>>2],c[B+184+48+8>>2]=c[q+8>>2],c[B+184+48+12>>2]=c[q+12>>2],c[B+184>>2]=c[j+4>>2],c[B+184+4>>2]=c[j+4+4>>2],c[B+184+8>>2]=c[j+4+8>>2],c[B+184+12>>2]=c[j+4+12>>2],c[B+184+16>>2]=c[j+20>>2],c[B+184+16+4>>2]=c[j+20+4>>2],c[B+184+16+8>>2]=c[j+20+8>>2],c[B+184+16+12>>2]=c[j+20+12>>2],c[B+184+32>>2]=c[j+36>>2],c[B+184+32+4>>2]=c[j+36+4>>2],c[B+184+32+8>>2]=c[j+36+8>>2],c[B+184+32+12>>2]=c[j+36+12>>2],zd(d,B+248|0,j+4|0,B+184|0,B+368|0,0.0),z=+g[B+368+4>>2],z<1.0):0){k=z*(t-+g[j+52>>2]);m=z*(v-+g[j+56>>2]);n=z*(x-+g[j+60>>2]);o=-(m*+g[B+368+48>>2])-k*+g[r>>2]-n*+g[B+368+52>>2];p=c[d+24>>2]|0;p=zb[c[(c[p>>2]|0)+12>>2]&63](p,j,c[B+368+76>>2]|0)|0;f=c[d+308>>2]|0;if((f|0)==(c[d+312>>2]|0)?(A=f|0?f<<1:1,(f|0)<(A|0)):0){if(!A)i=0;else{c[6485]=(c[6485]|0)+1;f=ic((A<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}i=f;f=c[d+308>>2]|0}if((f|0)>0){h=0;do{c[i+(h<<2)>>2]=c[(c[d+316>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(f|0))}h=c[d+316>>2]|0;if(h){if(a[d+320>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[h+-4>>2]|0);f=c[d+308>>2]|0}c[d+316>>2]=0}a[d+320>>0]=1;c[d+316>>2]=i;c[d+312>>2]=A}c[(c[d+316>>2]|0)+(f<<2)>>2]=p;c[d+308>>2]=f+1;k=k+ +g[j+52>>2];m=m+ +g[j+56>>2];n=n+ +g[j+60>>2];i=c[B+368+76>>2]|0;N=+g[i+4>>2];M=+g[i+20>>2];L=+g[i+36>>2];K=+g[i+8>>2];J=+g[i+24>>2];I=+g[i+40>>2];H=+g[i+12>>2];F=+g[i+28>>2];D=+g[i+44>>2];G=-+g[i+52>>2];E=-+g[i+56>>2];C=-+g[i+60>>2];c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;c[B+12>>2]=0;g[B+16>>2]=k*N+m*M+n*L+(N*G+M*E+L*C);g[B+20>>2]=k*K+m*J+n*I+(K*G+J*E+I*C);g[B+24>>2]=k*H+m*F+n*D+(H*G+F*E+D*C);g[B+28>>2]=0.0;c[B+64>>2]=c[r>>2];c[B+64+4>>2]=c[r+4>>2];c[B+64+8>>2]=c[r+8>>2];c[B+64+12>>2]=c[r+12>>2];g[B+80>>2]=o;g[B+84>>2]=0.0;g[B+88>>2]=0.0;g[B+92>>2]=0.0;c[B+112>>2]=0;a[B+116>>0]=0;c[B+120>>2]=0;c[B+120+4>>2]=0;c[B+120+8>>2]=0;c[B+120+12>>2]=0;c[B+120+16>>2]=0;c[B+120+20>>2]=0;c[B+120+24>>2]=0;c[B+120+28>>2]=0;i=af(p,B)|0;g[p+4+(i*184|0)+92>>2]=0.0;o=+g[j+224>>2]*+g[(c[B+368+76>>2]|0)+224>>2];o=o<-10.0?-10.0:o;g[p+4+(i*184|0)+84>>2]=o>10.0?10.0:o;c[p+4+(i*184|0)+48>>2]=c[j+52>>2];c[p+4+(i*184|0)+48+4>>2]=c[j+52+4>>2];c[p+4+(i*184|0)+48+8>>2]=c[j+52+8>>2];c[p+4+(i*184|0)+48+12>>2]=c[j+52+12>>2];g[p+4+(i*184|0)+32>>2]=k;g[p+4+(i*184|0)+36>>2]=m;g[p+4+(i*184|0)+40>>2]=n;g[p+4+(i*184|0)+44>>2]=0.0}f=c[2380]|0;p=(c[f+16>>2]|0)+-1|0;c[f+16>>2]=p;if(!p){if(c[f+4>>2]|0){Za(B+368|0,0)|0;p=c[6484]|0;g[f+8>>2]=+(((c[B+368+4>>2]|0)-(c[p+4>>2]|0)+(((c[B+368>>2]|0)-(c[p>>2]|0)|0)*1e6|0)-(c[f+12>>2]|0)|0)>>>0)/1.0e3+ +g[f+8>>2];if(c[f+16>>2]|0)break b;f=c[2380]|0}c[2380]=c[f+20>>2]}}}while(0);s=s+1|0;if((s|0)>=(c[d+232>>2]|0))break a}}while(0);f=c[2380]|0;A=(c[f+16>>2]|0)+-1|0;c[f+16>>2]=A;do if(!A){if(c[f+4>>2]|0){Za(B+368|0,0)|0;A=c[6484]|0;g[f+8>>2]=+(((c[B+368+4>>2]|0)-(c[A+4>>2]|0)+(((c[B+368>>2]|0)-(c[A>>2]|0)|0)*1e6|0)-(c[f+12>>2]|0)|0)>>>0)/1.0e3+ +g[f+8>>2];if(c[f+16>>2]|0)break;f=c[2380]|0}c[2380]=c[f+20>>2]}while(0);lb[c[(c[d>>2]|0)+44>>2]&511](d);lb[c[(c[d>>2]|0)+148>>2]&511](d);g[d+104>>2]=e;nb[c[(c[d>>2]|0)+152>>2]&127](d,d+92|0);kb[c[(c[d>>2]|0)+144>>2]&31](d,e);bj(11992);if((c[d+280>>2]|0)>0){f=0;do{A=c[(c[d+288>>2]|0)+(f<<2)>>2]|0;Xb[c[(c[A>>2]|0)+8>>2]&7](A,d,e);f=f+1|0}while((f|0)<(c[d+280>>2]|0))}f=c[2380]|0;A=(c[f+16>>2]|0)+-1|0;c[f+16>>2]=A;do if(!A){if(c[f+4>>2]|0){Za(B+368|0,0)|0;A=c[6484]|0;g[f+8>>2]=+(((c[B+368+4>>2]|0)-(c[A+4>>2]|0)+(((c[B+368>>2]|0)-(c[A>>2]|0)|0)*1e6|0)-(c[f+12>>2]|0)|0)>>>0)/1.0e3+ +g[f+8>>2];if(c[f+16>>2]|0)break;f=c[2380]|0}c[2380]=c[f+20>>2]}while(0);kb[c[(c[d>>2]|0)+156>>2]&31](d,e);f=c[d+80>>2]|0;if(f|0)kb[f&31](d,e);f=c[2380]|0;d=(c[f+16>>2]|0)+-1|0;c[f+16>>2]=d;if(d|0){l=B;return}do if(c[f+4>>2]|0){Za(B+368|0,0)|0;d=c[6484]|0;g[f+8>>2]=+(((c[B+368+4>>2]|0)-(c[d+4>>2]|0)+(((c[B+368>>2]|0)-(c[d>>2]|0)|0)*1e6|0)-(c[f+12>>2]|0)|0)>>>0)/1.0e3+ +g[f+8>>2];if(!(c[f+16>>2]|0)){f=c[2380]|0;break}else{l=B;return}}while(0);c[2380]=c[f+20>>2];l=B;return}function Nc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0,E=0,F=0.0,H=0.0;E=l;l=l+784|0;c[E+168+8>>2]=0;c[E+168+12>>2]=1065353216;c[E+168+16>>2]=1065353216;c[E+168+20>>2]=1065353216;g[E+168+24>>2]=0.0;c[E+168>>2]=6764;c[E+168+4>>2]=8;g[E+168+28>>2]=0.0;g[E+168+44>>2]=0.0;C=c[e+4>>2]|0;D=c[e+12>>2]|0;h=c[C+4>>2]|0;if((h|0)<20){c[E+600>>2]=3816;c[E+600+168>>2]=0;g[E+600+172>>2]=0.0;c[E+600+164>>2]=c[f+4>>2];g[E+240+308>>2]=9.999999747378752e-05;a[E+240+332>>0]=0;c[E+224>>2]=5088;c[E+224+4>>2]=E+240;c[E+224+8>>2]=E+168;c[E+224+12>>2]=C;c[E+152>>2]=9232;c[E+152+4>>2]=E+240;c[E+152+8>>2]=E+168;c[E+152+12>>2]=C;C=(c[f+16>>2]&8|0)==0?E+224|0:E+152|0;if((Eb[c[(c[C>>2]|0)+8>>2]&3](C,b,d,D,D,E+600|0)|0?(i=E+600+132|0,j=+g[i>>2],k=+g[E+600+136>>2],m=+g[E+600+140>>2],j*j+k*k+m*m>9.999999747378752e-05):0)?(n=+g[E+600+164>>2],n<+g[f+4>>2]):0){B=1.0/+G(+(j*j+k*k+m*m));g[i>>2]=j*B;g[E+600+136>>2]=k*B;g[E+600+140>>2]=m*B;c[E+120>>2]=c[e+8>>2];c[E+120+4>>2]=0;c[E+120+8>>2]=c[i>>2];c[E+120+8+4>>2]=c[i+4>>2];c[E+120+8+8>>2]=c[i+8>>2];c[E+120+8+12>>2]=c[i+12>>2];g[E+120+24>>2]=n;+Lb[c[(c[f>>2]|0)+12>>2]&15](f,E+120|0,1)}l=E;return}if((h+-21|0)>>>0>=9){if((h|0)!=31){l=E;return}h=c[C+64>>2]|0;e=c[e+8>>2]|0;c[E+600>>2]=5852;c[E+600+4>>2]=e;c[E+600+8>>2]=C;c[E+600+12>>2]=D;c[E+600+16>>2]=b;c[E+600+20>>2]=d;c[E+600+24>>2]=f;if(!h){h=c[C+16>>2]|0;if((h|0)>0){i=0;do{Kf(E+600|0,i);i=i+1|0}while((i|0)<(h|0))}}else{w=+g[D+48>>2];n=+g[b+48>>2]-w;y=+g[D+52>>2];o=+g[b+52>>2]-y;A=+g[D+56>>2];p=+g[b+56>>2]-A;q=+g[D>>2];r=+g[D+16>>2];s=+g[D+32>>2];t=+g[D+4>>2];u=+g[D+20>>2];v=+g[D+36>>2];x=+g[D+8>>2];z=+g[D+24>>2];B=+g[D+40>>2];g[E+240>>2]=n*q+o*r+p*s;g[E+240+4>>2]=n*t+o*u+p*v;g[E+240+8>>2]=n*x+o*z+p*B;g[E+240+12>>2]=0.0;w=+g[d+48>>2]-w;y=+g[d+52>>2]-y;A=+g[d+56>>2]-A;g[E+224>>2]=w*q+y*r+A*s;g[E+224+4>>2]=w*t+y*u+A*v;g[E+224+8>>2]=w*x+y*z+A*B;g[E+224+12>>2]=0.0;Ae(c[h>>2]|0,E+240|0,E+224|0,E+600|0)}l=E;return}o=+g[D>>2];p=+g[D+16>>2];j=+g[D+32>>2];m=+g[D+4>>2];t=+g[D+20>>2];u=+g[D+36>>2];k=+g[D+8>>2];x=+g[D+24>>2];y=+g[D+40>>2];z=-+g[D+48>>2];A=-+g[D+52>>2];B=-+g[D+56>>2];q=+g[b+48>>2];r=+g[b+52>>2];n=+g[b+56>>2];g[E+152>>2]=o*z+p*A+j*B+(o*q+p*r+j*n);g[E+152+4>>2]=m*z+t*A+u*B+(m*q+t*r+u*n);g[E+152+8>>2]=k*z+x*A+y*B+(k*q+x*r+y*n);g[E+152+12>>2]=0.0;v=+g[d+48>>2];w=+g[d+52>>2];s=+g[d+56>>2];j=o*z+p*A+j*B+(o*v+p*w+j*s);m=m*z+t*A+u*B+(m*v+t*w+u*s);k=k*z+x*A+y*B+(k*v+x*w+y*s);g[E+120>>2]=j;g[E+120+4>>2]=m;g[E+120+8>>2]=k;g[E+120+12>>2]=0.0;switch(c[C+4>>2]|0){case 21:{h=c[e+8>>2]|0;e=c[f+16>>2]|0;c[E+4>>2]=c[E+152>>2];c[E+4+4>>2]=c[E+152+4>>2];c[E+4+8>>2]=c[E+152+8>>2];c[E+4+12>>2]=c[E+152+12>>2];c[E+20>>2]=c[E+120>>2];c[E+20+4>>2]=c[E+120+4>>2];c[E+20+8>>2]=c[E+120+8>>2];c[E+20+12>>2]=c[E+120+12>>2];c[E+36>>2]=e;g[E+40>>2]=1.0;c[E>>2]=5804;c[E+44>>2]=f;c[E+48>>2]=h;c[E+52>>2]=C;c[E+56>>2]=c[D>>2];c[E+56+4>>2]=c[D+4>>2];c[E+56+8>>2]=c[D+8>>2];c[E+56+12>>2]=c[D+12>>2];c[E+72>>2]=c[D+16>>2];c[E+72+4>>2]=c[D+16+4>>2];c[E+72+8>>2]=c[D+16+8>>2];c[E+72+12>>2]=c[D+16+12>>2];c[E+88>>2]=c[D+32>>2];c[E+88+4>>2]=c[D+32+4>>2];c[E+88+8>>2]=c[D+32+8>>2];c[E+88+12>>2]=c[D+32+12>>2];c[E+104>>2]=c[D+48>>2];c[E+104+4>>2]=c[D+48+4>>2];c[E+104+8>>2]=c[D+48+8>>2];c[E+104+12>>2]=c[D+48+12>>2];c[E+40>>2]=c[f+4>>2];h=c[C+48>>2]|0;c[E+224>>2]=6976;c[E+224+4>>2]=h;c[E+224+8>>2]=E;h=c[C+52>>2]|0;c[E+600>>2]=0;c[E+600+4>>2]=0;c[E+600+8>>2]=0;c[E+600+12>>2]=0;c[E+240>>2]=0;c[E+240+4>>2]=0;c[E+240+8>>2]=0;c[E+240+12>>2]=0;if(!(a[h+60>>0]|0))Ce(h,E+224|0,E+152|0,j,m,k,E+600|0,E+240|0);else ke(h,E+224|0,E+152|0,j,m,k,E+600|0,E+240|0,c[h+56>>2]|0);break}case 25:{e=c[e+8>>2]|0;d=c[f+16>>2]|0;c[E+600+4>>2]=c[E+152>>2];c[E+600+4+4>>2]=c[E+152+4>>2];c[E+600+4+8>>2]=c[E+152+8>>2];c[E+600+4+12>>2]=c[E+152+12>>2];c[E+600+20>>2]=c[E+120>>2];c[E+600+20+4>>2]=c[E+120+4>>2];c[E+600+20+8>>2]=c[E+120+8>>2];c[E+600+20+12>>2]=c[E+120+12>>2];c[E+600+36>>2]=d;g[E+600+40>>2]=1.0;c[E+600>>2]=5804;c[E+600+44>>2]=f;c[E+600+48>>2]=e;c[E+600+52>>2]=C;c[E+600+56>>2]=c[D>>2];c[E+600+56+4>>2]=c[D+4>>2];c[E+600+56+8>>2]=c[D+8>>2];c[E+600+56+12>>2]=c[D+12>>2];c[E+600+72>>2]=c[D+16>>2];c[E+600+72+4>>2]=c[D+16+4>>2];c[E+600+72+8>>2]=c[D+16+8>>2];c[E+600+72+12>>2]=c[D+16+12>>2];c[E+600+88>>2]=c[D+32>>2];c[E+600+88+4>>2]=c[D+32+4>>2];c[E+600+88+8>>2]=c[D+32+8>>2];c[E+600+88+12>>2]=c[D+32+12>>2];c[E+600+104>>2]=c[D+48>>2];c[E+600+104+4>>2]=c[D+48+4>>2];c[E+600+104+8>>2]=c[D+48+8>>2];c[E+600+104+12>>2]=c[D+48+12>>2];c[E+600+40>>2]=c[f+4>>2];Zb[c[(c[C>>2]|0)+144>>2]&127](C,E+600|0,E+152|0,E+120|0);break}default:{H=+g[D>>2];F=+g[D+16>>2];m=+g[D+32>>2];k=+g[D+4>>2];j=+g[D+8>>2];o=H*z+F*A+m*B+(H*q+F*r+m*n);p=k*z+t*A+u*B+(k*q+t*r+u*n);n=j*z+x*A+y*B+(j*q+x*r+y*n);m=H*z+F*A+m*B+(H*v+F*w+m*s);k=k*z+t*A+u*B+(k*v+t*w+u*s);j=j*z+x*A+y*B+(j*v+x*w+y*s);e=c[e+8>>2]|0;d=c[f+16>>2]|0;g[E+600+4>>2]=o;g[E+600+8>>2]=p;g[E+600+12>>2]=n;g[E+600+16>>2]=0.0;g[E+600+20>>2]=m;g[E+600+24>>2]=k;g[E+600+28>>2]=j;g[E+600+32>>2]=0.0;c[E+600+36>>2]=d;g[E+600+40>>2]=1.0;c[E+600>>2]=5828;c[E+600+44>>2]=f;c[E+600+48>>2]=e;c[E+600+52>>2]=C;c[E+600+56>>2]=c[D>>2];c[E+600+56+4>>2]=c[D+4>>2];c[E+600+56+8>>2]=c[D+8>>2];c[E+600+56+12>>2]=c[D+12>>2];c[E+600+72>>2]=c[D+16>>2];c[E+600+72+4>>2]=c[D+16+4>>2];c[E+600+72+8>>2]=c[D+16+8>>2];c[E+600+72+12>>2]=c[D+16+12>>2];c[E+600+88>>2]=c[D+32>>2];c[E+600+88+4>>2]=c[D+32+4>>2];c[E+600+88+8>>2]=c[D+32+8>>2];c[E+600+88+12>>2]=c[D+32+12>>2];c[E+600+104>>2]=c[D+48>>2];c[E+600+104+4>>2]=c[D+48+4>>2];c[E+600+104+8>>2]=c[D+48+8>>2];c[E+600+104+12>>2]=c[D+48+12>>2];c[E+600+40>>2]=c[f+4>>2];g[E+240>>2]=o;g[E+240+4>>2]=p;g[E+240+8>>2]=n;g[E+240+12>>2]=0.0;if(m<o)g[E+240>>2]=m;if(k<p)g[E+240+4>>2]=k;if(j<n)g[E+240+8>>2]=j;g[E+224>>2]=o;g[E+224+4>>2]=p;g[E+224+8>>2]=n;g[E+224+12>>2]=0.0;if(o<m)g[E+224>>2]=m;if(p<k)g[E+224+4>>2]=k;if(n<j)g[E+224+8>>2]=j;Zb[c[(c[C>>2]|0)+64>>2]&127](C,E+600|0,E+240|0,E+224|0)}}l=E;return}function Oc(b,d,e,f,h,i,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0;o=c[b+48>>2]|0;q=c[b+28>>2]|0;r=c[b+68>>2]|0;if(c[l+64>>2]&1|0){if((o|0)>0){f=c[b+136>>2]|0;m=c[b+192>>2]|0;p=0;do{h=f+(p<<2)|0;i=c[h>>2]|0;p=p+1|0;m=(S(m,1664525)|0)+1013904223|0;if(p>>>0<65537){e=m>>>16^m;if(p>>>0<257)if(p>>>0<17){e=(e>>>8^e)>>>4^(e>>>8^e);if(p>>>0<5)if(p>>>0<3)e=(e>>>2^e)>>>1^(e>>>2^e);else e=e>>>2^e}else e=e>>>8^e}else e=m;e=f+(((e>>>0)%(p>>>0)|0)<<2)|0;c[h>>2]=c[e>>2];c[e>>2]=i}while((p|0)!=(o|0));c[b+192>>2]=m}if((c[l+20>>2]|0)>(d|0)){if((q|0)>0){f=c[b+116>>2]|0;m=c[b+192>>2]|0;o=0;do{h=f+(o<<2)|0;i=c[h>>2]|0;o=o+1|0;m=(S(m,1664525)|0)+1013904223|0;if(o>>>0<65537){e=m>>>16^m;if(o>>>0<257)if(o>>>0<17){e=(e>>>8^e)>>>4^(e>>>8^e);if(o>>>0<5)if(o>>>0<3)e=(e>>>2^e)>>>1^(e>>>2^e);else e=e>>>2^e}else e=e>>>8^e}else e=m;p=f+(((e>>>0)%(o>>>0)|0)<<2)|0;c[h>>2]=c[p>>2];c[p>>2]=i}while((o|0)!=(q|0));c[b+192>>2]=m}if((r|0)>0){f=c[b+156>>2]|0;m=c[b+192>>2]|0;o=0;do{h=f+(o<<2)|0;i=c[h>>2]|0;o=o+1|0;m=(S(m,1664525)|0)+1013904223|0;if(o>>>0<65537){e=m>>>16^m;if(o>>>0<257)if(o>>>0<17){e=(e>>>8^e)>>>4^(e>>>8^e);if(o>>>0<5)if(o>>>0<3)e=(e>>>2^e)>>>1^(e>>>2^e);else e=e>>>2^e}else e=e>>>8^e}else e=m;q=f+(((e>>>0)%(o>>>0)|0)<<2)|0;c[h>>2]=c[q>>2];c[q>>2]=i}while((o|0)!=(r|0));c[b+192>>2]=m}}}e=c[b+48>>2]|0;if(!(c[l+64>>2]&256)){if((e|0)>0){i=0;do{f=c[(c[b+136>>2]|0)+(i<<2)>>2]|0;h=c[b+56>>2]|0;if((c[h+(f*152|0)+136>>2]|0)>(d|0)){e=c[b+16>>2]|0;qg(e+((c[h+(f*152|0)+144>>2]|0)*244|0)|0,e+((c[h+(f*152|0)+148>>2]|0)*244|0)|0,h+(f*152|0)|0);e=c[b+48>>2]|0}i=i+1|0}while((i|0)<(e|0))}if((c[l+20>>2]|0)<=(d|0))return 0.0;if((k|0)>0){h=0;do{e=j+(h<<2)|0;f=c[e>>2]|0;if(a[f+20>>0]|0){d=Bj(b,c[f+28>>2]|0,+g[l+12>>2])|0;t=Bj(b,c[(c[e>>2]|0)+32>>2]|0,+g[l+12>>2])|0;s=c[b+16>>2]|0;r=c[e>>2]|0;Ub[c[(c[r>>2]|0)+24>>2]&15](r,s+(d*244|0)|0,s+(t*244|0)|0,+g[l+12>>2])}h=h+1|0}while((h|0)!=(k|0))}e=c[b+28>>2]|0;if((e|0)>0){f=0;do{l=c[(c[b+116>>2]|0)+(f<<2)>>2]|0;k=c[b+36>>2]|0;j=c[b+16>>2]|0;xg(j+((c[k+(l*152|0)+144>>2]|0)*244|0)|0,j+((c[k+(l*152|0)+148>>2]|0)*244|0)|0,k+(l*152|0)|0);f=f+1|0}while((f|0)!=(e|0))}e=c[b+68>>2]|0;if((e|0)>0){i=0;do{f=c[(c[b+156>>2]|0)+(i<<2)>>2]|0;h=c[b+76>>2]|0;n=+g[(c[b+36>>2]|0)+((c[h+(f*152|0)+140>>2]|0)*152|0)+100>>2];if(n>0.0){n=n*+g[h+(f*152|0)+104>>2];g[h+(f*152|0)+120>>2]=-n;g[h+(f*152|0)+124>>2]=n;l=c[b+16>>2]|0;qg(l+((c[h+(f*152|0)+144>>2]|0)*244|0)|0,l+((c[h+(f*152|0)+148>>2]|0)*244|0)|0,h+(f*152|0)|0)}i=i+1|0}while((i|0)!=(e|0))}e=c[b+88>>2]|0;if((e|0)<=0)return 0.0;h=0;do{f=c[b+96>>2]|0;n=+g[(c[b+36>>2]|0)+((c[f+(h*152|0)+140>>2]|0)*152|0)+100>>2];if(n>0.0){u=+g[f+(h*152|0)+104>>2];n=n*u>u?u:n*u;g[f+(h*152|0)+120>>2]=-n;g[f+(h*152|0)+124>>2]=n;l=c[b+16>>2]|0;qg(l+((c[f+(h*152|0)+144>>2]|0)*244|0)|0,l+((c[f+(h*152|0)+148>>2]|0)*244|0)|0,f+(h*152|0)|0)}h=h+1|0}while((h|0)!=(e|0));return 0.0}if((e|0)>0){i=0;do{f=c[(c[b+136>>2]|0)+(i<<2)>>2]|0;h=c[b+56>>2]|0;if((c[h+(f*152|0)+136>>2]|0)>(d|0)){e=c[b+16>>2]|0;qg(e+((c[h+(f*152|0)+144>>2]|0)*244|0)|0,e+((c[h+(f*152|0)+148>>2]|0)*244|0)|0,h+(f*152|0)|0);e=c[b+48>>2]|0}i=i+1|0}while((i|0)<(e|0))}if((c[l+20>>2]|0)<=(d|0))return 0.0;if((k|0)>0){h=0;do{e=j+(h<<2)|0;f=c[e>>2]|0;if(a[f+20>>0]|0){q=Bj(b,c[f+28>>2]|0,+g[l+12>>2])|0;d=Bj(b,c[(c[e>>2]|0)+32>>2]|0,+g[l+12>>2])|0;r=c[b+16>>2]|0;p=c[e>>2]|0;Ub[c[(c[p>>2]|0)+24>>2]&15](p,r+(q*244|0)|0,r+(d*244|0)|0,+g[l+12>>2])}h=h+1|0}while((h|0)!=(k|0))}e=c[l+64>>2]|0;o=c[b+28>>2]|0;if(e&512|0){if((o|0)<=0)return 0.0;m=0;do{f=c[(c[b+116>>2]|0)+(m<<2)>>2]|0;h=c[b+36>>2]|0;i=c[b+16>>2]|0;xg(i+((c[h+(f*152|0)+144>>2]|0)*244|0)|0,i+((c[h+(f*152|0)+148>>2]|0)*244|0)|0,h+(f*152|0)|0);n=+g[h+(f*152|0)+100>>2];f=S(m,(e>>>4&1)+1|0)|0;h=c[(c[b+156>>2]|0)+(f<<2)>>2]|0;i=c[b+76>>2]|0;if(n>0.0){u=n*+g[i+(h*152|0)+104>>2];g[i+(h*152|0)+120>>2]=-u;g[i+(h*152|0)+124>>2]=u;k=c[b+16>>2]|0;qg(k+((c[i+(h*152|0)+144>>2]|0)*244|0)|0,k+((c[i+(h*152|0)+148>>2]|0)*244|0)|0,i+(h*152|0)|0)}if(c[l+64>>2]&16|0?(s=c[(c[b+156>>2]|0)+(f+1<<2)>>2]|0,t=c[b+76>>2]|0,n>0.0):0){u=n*+g[t+(s*152|0)+104>>2];g[t+(s*152|0)+120>>2]=-u;g[t+(s*152|0)+124>>2]=u;k=c[b+16>>2]|0;qg(k+((c[t+(s*152|0)+144>>2]|0)*244|0)|0,k+((c[t+(s*152|0)+148>>2]|0)*244|0)|0,t+(s*152|0)|0)}m=m+1|0}while((m|0)!=(o|0));return 0.0}if((o|0)>0){e=0;do{l=c[(c[b+116>>2]|0)+(e<<2)>>2]|0;k=c[b+36>>2]|0;j=c[b+16>>2]|0;xg(j+((c[k+(l*152|0)+144>>2]|0)*244|0)|0,j+((c[k+(l*152|0)+148>>2]|0)*244|0)|0,k+(l*152|0)|0);e=e+1|0}while((e|0)!=(o|0))}e=c[b+68>>2]|0;if((e|0)>0){i=0;do{f=c[(c[b+156>>2]|0)+(i<<2)>>2]|0;h=c[b+76>>2]|0;n=+g[(c[b+36>>2]|0)+((c[h+(f*152|0)+140>>2]|0)*152|0)+100>>2];if(n>0.0){u=n*+g[h+(f*152|0)+104>>2];g[h+(f*152|0)+120>>2]=-u;g[h+(f*152|0)+124>>2]=u;l=c[b+16>>2]|0;qg(l+((c[h+(f*152|0)+144>>2]|0)*244|0)|0,l+((c[h+(f*152|0)+148>>2]|0)*244|0)|0,h+(f*152|0)|0)}i=i+1|0}while((i|0)!=(e|0))}e=c[b+88>>2]|0;if((e|0)<=0)return 0.0;h=0;do{f=c[b+96>>2]|0;n=+g[(c[b+36>>2]|0)+((c[f+(h*152|0)+140>>2]|0)*152|0)+100>>2];if(n>0.0){u=+g[f+(h*152|0)+104>>2];u=n*u>u?u:n*u;g[f+(h*152|0)+120>>2]=-u;g[f+(h*152|0)+124>>2]=u;l=c[b+16>>2]|0;qg(l+((c[f+(h*152|0)+144>>2]|0)*244|0)|0,l+((c[f+(h*152|0)+148>>2]|0)*244|0)|0,f+(h*152|0)|0)}h=h+1|0}while((h|0)!=(e|0));return 0.0}function Pc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0.0,u=0.0;r=l;l=l+80|0;h=c[b+28>>2]|0;d=c[f+64>>2]|0;if((d&4|0)!=0&(h|0)>0){i=c[b+36>>2]|0;e=c[b+76>>2]|0;if(!(d&16)){d=0;do{m=c[i+(d*152|0)+132>>2]|0;c[m+120>>2]=c[i+(d*152|0)+100>>2];c[m+124>>2]=c[e+((c[i+(d*152|0)+140>>2]|0)*152|0)+100>>2];d=d+1|0}while((d|0)!=(h|0))}else{d=0;do{m=c[i+(d*152|0)+132>>2]|0;c[m+120>>2]=c[i+(d*152|0)+100>>2];k=c[i+(d*152|0)+140>>2]|0;c[m+124>>2]=c[e+(k*152|0)+100>>2];c[m+128>>2]=c[e+((k+1|0)*152|0)+100>>2];d=d+1|0}while((d|0)!=(h|0))}}e=c[b+48>>2]|0;if((e|0)>0){m=0;do{h=c[b+56>>2]|0;i=c[h+(m*152|0)+132>>2]|0;k=c[i+44>>2]|0;d=h+(m*152|0)+100|0;if(k|0){q=+g[d>>2];s=c[i+28>>2]|0;p=1.0/+g[f+12>>2];o=q*+g[h+(m*152|0)+20>>2]*+g[s+352>>2]*p;n=q*+g[h+(m*152|0)+24>>2]*+g[s+356>>2]*p;g[k>>2]=+g[h+(m*152|0)+16>>2]*q*+g[s+348>>2]*p+ +g[k>>2];g[k+4>>2]=o+ +g[k+4>>2];g[k+8>>2]=n+ +g[k+8>>2];n=+g[d>>2];s=c[i+32>>2]|0;o=1.0/+g[f+12>>2];p=n*+g[h+(m*152|0)+52>>2]*+g[s+352>>2]*o;q=n*+g[h+(m*152|0)+56>>2]*+g[s+356>>2]*o;g[k+32>>2]=+g[h+(m*152|0)+48>>2]*n*+g[s+348>>2]*o+ +g[k+32>>2];g[k+36>>2]=p+ +g[k+36>>2];g[k+40>>2]=q+ +g[k+40>>2];s=c[i+28>>2]|0;q=+g[d>>2];p=1.0/+g[f+12>>2];o=+g[h+(m*152|0)+4>>2]*+g[s+548>>2]*q*p;n=q*+g[h+(m*152|0)+8>>2]*+g[s+552>>2]*p;g[k+16>>2]=+g[h+(m*152|0)>>2]*+g[s+544>>2]*q*p+ +g[k+16>>2];g[k+20>>2]=o+ +g[k+20>>2];g[k+24>>2]=n+ +g[k+24>>2];s=c[i+32>>2]|0;n=+g[d>>2];o=1.0/+g[f+12>>2];p=+g[h+(m*152|0)+36>>2]*+g[s+548>>2]*n*o;q=n*+g[h+(m*152|0)+40>>2]*+g[s+552>>2]*o;g[k+48>>2]=+g[h+(m*152|0)+32>>2]*+g[s+544>>2]*n*o+ +g[k+48>>2];g[k+52>>2]=p+ +g[k+52>>2];g[k+56>>2]=q+ +g[k+56>>2]}s=c[d>>2]|0;c[i+36>>2]=s;q=+F(+(c[j>>2]=s,+g[j>>2]));if(q>=+g[i+16>>2])a[i+20>>0]=0;m=m+1|0}while((m|0)!=(e|0))}d=c[b+8>>2]|0;if((d|0)>0){k=0;do{e=c[b+16>>2]|0;h=e+(k*244|0)|0;i=c[e+(k*244|0)+240>>2]|0;if(i){if(!(c[f+44>>2]|0)){h=e+(k*244|0)+176|0;o=+g[e+(k*244|0)+64>>2]+ +g[h>>2];g[h>>2]=o;h=e+(k*244|0)+180|0;p=+g[e+(k*244|0)+68>>2]+ +g[h>>2];g[h>>2]=p;h=e+(k*244|0)+184|0;n=+g[e+(k*244|0)+72>>2]+ +g[h>>2];g[h>>2]=n;h=e+(k*244|0)+192|0;g[h>>2]=+g[e+(k*244|0)+80>>2]+ +g[h>>2];h=e+(k*244|0)+196|0;g[h>>2]=+g[e+(k*244|0)+84>>2]+ +g[h>>2];h=e+(k*244|0)+200|0;g[h>>2]=+g[e+(k*244|0)+88>>2]+ +g[h>>2];h=e;d=i}else{o=+g[f+12>>2];p=+g[f+52>>2];s=e+(k*244|0)+176|0;g[s>>2]=+g[e+(k*244|0)+64>>2]+ +g[s>>2];s=e+(k*244|0)+180|0;g[s>>2]=+g[e+(k*244|0)+68>>2]+ +g[s>>2];s=e+(k*244|0)+184|0;g[s>>2]=+g[e+(k*244|0)+72>>2]+ +g[s>>2];s=e+(k*244|0)+192|0;g[s>>2]=+g[e+(k*244|0)+80>>2]+ +g[s>>2];s=e+(k*244|0)+196|0;g[s>>2]=+g[e+(k*244|0)+84>>2]+ +g[s>>2];s=e+(k*244|0)+200|0;g[s>>2]=+g[e+(k*244|0)+88>>2]+ +g[s>>2];q=+g[e+(k*244|0)+144>>2];n=+g[e+(k*244|0)+148>>2];if((((!(q!=0.0|n!=0.0)?!(+g[e+(k*244|0)+152>>2]!=0.0):0)?!(+g[e+(k*244|0)+160>>2]!=0.0):0)?!(+g[e+(k*244|0)+164>>2]!=0.0):0)?!(+g[e+(k*244|0)+168>>2]!=0.0):0)d=i;else{u=+g[e+(k*244|0)+164>>2]*p;t=+g[e+(k*244|0)+168>>2]*p;g[r>>2]=+g[e+(k*244|0)+160>>2]*p;g[r+4>>2]=u;g[r+8>>2]=t;g[r+12>>2]=0.0;Kg(h,q,n,+g[e+(k*244|0)+152>>2],r,o,r+16|0);c[h>>2]=c[r+16>>2];c[h+4>>2]=c[r+16+4>>2];c[h+8>>2]=c[r+16+8>>2];c[h+12>>2]=c[r+16+12>>2];d=e+(k*244|0)+16|0;c[d>>2]=c[r+16+16>>2];c[d+4>>2]=c[r+16+16+4>>2];c[d+8>>2]=c[r+16+16+8>>2];c[d+12>>2]=c[r+16+16+12>>2];d=e+(k*244|0)+32|0;c[d>>2]=c[r+16+32>>2];c[d+4>>2]=c[r+16+32+4>>2];c[d+8>>2]=c[r+16+32+8>>2];c[d+12>>2]=c[r+16+32+12>>2];d=e+(k*244|0)+48|0;c[d>>2]=c[r+16+48>>2];c[d+4>>2]=c[r+16+48+4>>2];c[d+8>>2]=c[r+16+48+8>>2];c[d+12>>2]=c[r+16+48+12>>2];d=c[b+16>>2]|0;e=d;d=c[d+(k*244|0)+240>>2]|0}h=e;o=+g[e+(k*244|0)+176>>2];p=+g[e+(k*244|0)+180>>2];n=+g[e+(k*244|0)+184>>2]}u=o+ +g[h+(k*244|0)+208>>2];t=p+ +g[h+(k*244|0)+212>>2];q=n+ +g[h+(k*244|0)+216>>2];m=d+260|0;c[m>>2]=(c[m>>2]|0)+1;g[d+312>>2]=u;g[d+316>>2]=t;g[d+320>>2]=q;g[d+324>>2]=0.0;m=c[b+16>>2]|0;s=c[m+(k*244|0)+240>>2]|0;q=+g[m+(k*244|0)+192>>2]+ +g[m+(k*244|0)+224>>2];t=+g[m+(k*244|0)+196>>2]+ +g[m+(k*244|0)+228>>2];u=+g[m+(k*244|0)+200>>2]+ +g[m+(k*244|0)+232>>2];c[s+260>>2]=(c[s+260>>2]|0)+1;g[s+328>>2]=q;g[s+332>>2]=t;g[s+336>>2]=u;g[s+340>>2]=0.0;if(c[f+44>>2]|0){m=c[b+16>>2]|0;s=c[m+(k*244|0)+240>>2]|0;i=m+(k*244|0)|0;c[s+260>>2]=(c[s+260>>2]|0)+1;c[s+4>>2]=c[i>>2];c[s+4+4>>2]=c[i+4>>2];c[s+4+8>>2]=c[i+8>>2];c[s+4+12>>2]=c[i+12>>2];i=m+(k*244|0)+16|0;c[s+20>>2]=c[i>>2];c[s+20+4>>2]=c[i+4>>2];c[s+20+8>>2]=c[i+8>>2];c[s+20+12>>2]=c[i+12>>2];i=m+(k*244|0)+32|0;c[s+36>>2]=c[i>>2];c[s+36+4>>2]=c[i+4>>2];c[s+36+8>>2]=c[i+8>>2];c[s+36+12>>2]=c[i+12>>2];m=m+(k*244|0)+48|0;c[s+52>>2]=c[m>>2];c[s+52+4>>2]=c[m+4>>2];c[s+52+8>>2]=c[m+8>>2];c[s+52+12>>2]=c[m+12>>2]}c[(c[(c[b+16>>2]|0)+(k*244|0)+240>>2]|0)+212>>2]=-1;d=c[b+8>>2]|0}k=k+1|0}while((k|0)<(d|0))}if((c[b+28>>2]|0)<0?(c[b+32>>2]|0)<0:0){d=c[b+36>>2]|0;if(d|0){if(a[b+40>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=0;c[b+32>>2]=0}c[b+28>>2]=0;if((c[b+48>>2]|0)<0?(c[b+52>>2]|0)<0:0){d=c[b+56>>2]|0;if(d|0){if(a[b+60>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+56>>2]=0}a[b+60>>0]=1;c[b+56>>2]=0;c[b+52>>2]=0}c[b+48>>2]=0;if((c[b+68>>2]|0)<0?(c[b+72>>2]|0)<0:0){d=c[b+76>>2]|0;if(d|0){if(a[b+80>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+76>>2]=0}a[b+80>>0]=1;c[b+76>>2]=0;c[b+72>>2]=0}c[b+68>>2]=0;if((c[b+88>>2]|0)<0?(c[b+92>>2]|0)<0:0){d=c[b+96>>2]|0;if(d|0){if(a[b+100>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=0;c[b+92>>2]=0}c[b+88>>2]=0;if((c[b+8>>2]|0)>=0){c[b+8>>2]=0;l=r;return 0.0}if((c[b+12>>2]|0)>=0){c[b+8>>2]=0;l=r;return 0.0}d=c[b+16>>2]|0;if(d|0){if(a[b+20>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=0;c[b+12>>2]=0;c[b+8>>2]=0;l=r;return 0.0}function Qc(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+560|0;B=C+524|0;c[C>>2]=0;A=C+512+12|0;lv(e)|0;if((D|0)<0){y=1;x=19960;e=-e}else{y=(h&2049|0)!=0&1;x=(h&2048|0)==0?((h&1|0)==0?19961:19966):19963}lv(e)|0;z=D&2146435072;do if(z>>>0<2146435072|(z|0)==2146435072&0<0){p=+$F(e,C)*2.0;if(p!=0.0)c[C>>2]=(c[C>>2]|0)+-1;if((i|32|0)==97){o=(i&32|0)==0?x:x+9|0;n=y|2;do if(!(g>>>0>11|(12-g|0)==0)){j=12-g|0;e=8.0;do{j=j+-1|0;e=e*16.0}while((j|0)!=0);if((a[o>>0]|0)==45){e=-(e+(-p-e));break}else{e=p+e-e;break}}else e=p;while(0);k=c[C>>2]|0;j=(k|0)<0?0-k|0:k;j=wm(j,((j|0)<0)<<31>>31,A)|0;if((j|0)==(A|0)){a[C+512+11>>0]=48;j=C+512+11|0}a[j+-1>>0]=(k>>31&2)+43;m=j+-2|0;a[m>>0]=i+15;k=C+524|0;while(1){z=~~e;j=k+1|0;a[k>>0]=d[19995+z>>0]|i&32;e=(e-+(z|0))*16.0;if((j-B|0)==1?!((h&8|0)==0&((g|0)<1&e==0.0)):0){a[j>>0]=46;j=k+2|0}if(!(e!=0.0))break;else k=j}B=j-B|0;j=(g|0)!=0&(B+-2|0)<(g|0)?g+2|0:B;Tm(b,32,f,A-m+n+j|0,h);Cy(b,o,n);Tm(b,48,f,A-m+n+j|0,h^65536);Cy(b,C+524|0,B);Tm(b,48,j-B|0,0,0);Cy(b,m,A-m|0);Tm(b,32,f,A-m+n+j|0,h^8192);j=A-m+n+j|0;break}k=(g|0)<0?6:g;if(p!=0.0){m=(c[C>>2]|0)+-28|0;c[C>>2]=m;e=p*268435456.0}else{m=c[C>>2]|0;e=p}z=(m|0)<0?C+8|0:C+8+288|0;n=z;do{v=~~e>>>0;c[n>>2]=v;n=n+4|0;e=(e-+(v>>>0))*1.0e9}while(e!=0.0);if((m|0)>0){j=z;do{g=(m|0)<29?m:29;m=n+-4|0;if(m>>>0>=j>>>0){o=0;do{u=wt(c[m>>2]|0,0,g|0)|0;u=Gv(u|0,D|0,o|0,0)|0;v=D;t=Fr(u|0,v|0,1e9,0)|0;c[m>>2]=t;o=Tz(u|0,v|0,1e9,0)|0;m=m+-4|0}while(m>>>0>=j>>>0);if(o){j=j+-4|0;c[j>>2]=o}}while(1){if(n>>>0<=j>>>0)break;m=n+-4|0;if(!(c[m>>2]|0))n=m;else break}m=(c[C>>2]|0)-g|0;c[C>>2]=m}while((m|0)>0)}else j=z;if((m|0)<0){do{g=0-m|0;g=(g|0)<9?g:9;if(j>>>0<n>>>0){o=0;m=j;do{v=c[m>>2]|0;c[m>>2]=(v>>>g)+o;o=S(v&(1<<g)+-1,1e9>>>g)|0;m=m+4|0}while(m>>>0<n>>>0);j=(c[j>>2]|0)==0?j+4|0:j;if(!o)m=n;else{c[n>>2]=o;m=n+4|0}}else{j=(c[j>>2]|0)==0?j+4|0:j;m=n}n=(i|32|0)==102?z:j;n=(m-n>>2|0)>(((k+25|0)/9|0)+1|0)?n+(((k+25|0)/9|0)+1<<2)|0:m;m=(c[C>>2]|0)+g|0;c[C>>2]=m}while((m|0)<0);s=n}else s=n;if(j>>>0<s>>>0){m=(z-j>>2)*9|0;o=c[j>>2]|0;if(o>>>0<10)n=m;else{n=10;do{n=n*10|0;m=m+1|0}while(o>>>0>=n>>>0);n=m}}else n=0;g=k-((i|32|0)!=102?n:0)+(((k|0)!=0&(i|32|0)==103)<<31>>31)|0;if((g|0)<(((s-z>>2)*9|0)+-9|0)){m=z+4+(((g+9216|0)/9|0)+-1024<<2)|0;if((((g+9216|0)%9|0)+1|0)<9){o=10;g=((g+9216|0)%9|0)+1|0;do{o=o*10|0;g=g+1|0}while((g|0)!=9)}else o=10;q=c[m>>2]|0;r=(q>>>0)%(o>>>0)|0;g=(m+4|0)==(s|0);if(!(g&(r|0)==0)){p=(((q>>>0)/(o>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;v=(o|0)/2|0;e=r>>>0<v>>>0?.5:g&(r|0)==(v|0)?1.0:1.5;if(y){v=(a[x>>0]|0)==45;p=v?-p:p;e=v?-e:e}c[m>>2]=q-r;if(p+e!=p){v=q-r+o|0;c[m>>2]=v;if(v>>>0>999999999)while(1){n=m+-4|0;c[m>>2]=0;if(n>>>0<j>>>0){j=j+-4|0;c[j>>2]=0}v=(c[n>>2]|0)+1|0;c[n>>2]=v;if(v>>>0>999999999)m=n;else{m=n;break}}n=(z-j>>2)*9|0;g=c[j>>2]|0;if(g>>>0>=10){o=10;do{o=o*10|0;n=n+1|0}while(g>>>0>=o>>>0)}}}u=m+4|0;v=j;j=s>>>0>u>>>0?u:s}else{v=j;j=s}u=j;while(1){if(u>>>0<=v>>>0){t=0;break}j=u+-4|0;if(!(c[j>>2]|0))u=j;else{t=1;break}}g=0-n|0;do if((i|32|0)==103){if((n|0)>-5?((((k|0)!=0^1)&1)+k|0)>(n|0):0){k=(((k|0)!=0^1)&1)+k+-1-n|0;o=i+-1|0}else{k=(((k|0)!=0^1)&1)+k+-1|0;o=i+-2|0}if(!(h&8)){if(t?(w=c[u+-4>>2]|0,(w|0)!=0):0)if(!((w>>>0)%10|0)){m=10;j=0;do{m=m*10|0;j=j+1|0}while(!((w>>>0)%(m>>>0)|0|0))}else j=0;else j=9;m=((u-z>>2)*9|0)+-9|0;if((o|32|0)==102){m=m-j|0;m=(m|0)>0?m:0;r=0;k=(k|0)<(m|0)?k:m;m=o;break}else{m=m+n-j|0;m=(m|0)>0?m:0;r=0;k=(k|0)<(m|0)?k:m;m=o;break}}else{r=h&8;m=o}}else{r=h&8;m=i}while(0);q=k|r;o=(m|32|0)==102;if(o){s=0;j=(n|0)>0?n:0}else{j=(n|0)<0?g:n;j=wm(j,((j|0)<0)<<31>>31,A)|0;if((A-j|0)<2)do{j=j+-1|0;a[j>>0]=48}while((A-j|0)<2);a[j+-1>>0]=(n>>31&2)+43;j=j+-2|0;a[j>>0]=m;s=j;j=A-j|0}j=y+1+k+((q|0)!=0&1)+j|0;Tm(b,32,f,j,h);Cy(b,x,y);Tm(b,48,f,j,h^65536);if(o){o=v>>>0>z>>>0?z:v;n=o;do{m=wm(c[n>>2]|0,0,C+524+9|0)|0;if((n|0)==(o|0)){if((m|0)==(C+524+9|0)){a[C+524+8>>0]=48;m=C+524+8|0}}else if(m>>>0>(C+524|0)>>>0){Lk(C+524|0,48,m-B|0)|0;do m=m+-1|0;while(m>>>0>(C+524|0)>>>0)}Cy(b,m,C+524+9-m|0);n=n+4|0}while(n>>>0<=z>>>0);if(q|0)Cy(b,20011,1);if(n>>>0<u>>>0&(k|0)>0)while(1){m=wm(c[n>>2]|0,0,C+524+9|0)|0;if(m>>>0>(C+524|0)>>>0){Lk(C+524|0,48,m-B|0)|0;do m=m+-1|0;while(m>>>0>(C+524|0)>>>0)}Cy(b,m,(k|0)<9?k:9);n=n+4|0;m=k+-9|0;if(!(n>>>0<u>>>0&(k|0)>9)){k=m;break}else k=m}Tm(b,48,k+9|0,9,0)}else{q=t?u:v+4|0;if((k|0)>-1){g=(r|0)==0;o=v;do{m=wm(c[o>>2]|0,0,C+524+9|0)|0;if((m|0)==(C+524+9|0)){a[C+524+8>>0]=48;m=C+524+8|0}do if((o|0)==(v|0)){n=m+1|0;Cy(b,m,1);if(g&(k|0)<1){m=n;break}Cy(b,20011,1);m=n}else{if(m>>>0<=(C+524|0)>>>0)break;Lk(C+524|0,48,m+(0-B)|0)|0;do m=m+-1|0;while(m>>>0>(C+524|0)>>>0)}while(0);z=C+524+9-m|0;Cy(b,m,(k|0)>(z|0)?z:k);k=k-z|0;o=o+4|0}while(o>>>0<q>>>0&(k|0)>-1)}Tm(b,48,k+18|0,18,0);Cy(b,s,A-s|0)}Tm(b,32,f,j,h^8192)}else{j=y+3|0;Tm(b,32,f,j,h&-65537);Cy(b,x,y);Cy(b,e!=e|0.0!=0.0?(i&32|0?19987:19991):i&32|0?19979:19983,3);Tm(b,32,f,j,h^8192)}while(0);l=C;return ((j|0)<(f|0)?f:j)|0}function Rc(d,e){d=d|0;e=+e;var f=0,h=0.0,i=0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0.0;v=l;l=l+352|0;bj(12198);a:do if((c[d+232>>2]|0)>0){n=v+184+48|0;o=0;while(1){m=c[(c[d+240>>2]|0)+(o<<2)>>2]|0;g[m+244>>2]=1.0;b:do switch(c[m+216>>2]|0){case 2:case 5:break;default:if(!(c[m+204>>2]&3)){Kg(m+4|0,+g[m+312>>2],+g[m+316>>2],+g[m+320>>2],m+328|0,e,v+184|0);h=+g[n>>2]-+g[m+52>>2];j=+g[v+184+52>>2]-+g[m+56>>2];k=+g[v+184+56>>2]-+g[m+60>>2];if(a[d+44>>0]|0?(s=+g[m+252>>2],s*s!=0.0?s*s<h*h+j*j+k*k:0):0){bj(12218);if((c[(c[m+192>>2]|0)+4>>2]|0)<20){c[5866]=(c[5866]|0)+1;f=c[d+68>>2]|0;f=pb[c[(c[f>>2]|0)+36>>2]&127](f)|0;i=c[d+24>>2]|0;g[v+248+4>>2]=1.0;c[v+248+12>>2]=c[m+52>>2];c[v+248+12+4>>2]=c[m+52+4>>2];c[v+248+12+8>>2]=c[m+52+8>>2];c[v+248+12+12>>2]=c[m+52+12>>2];c[v+248+28>>2]=c[n>>2];c[v+248+28+4>>2]=c[n+4>>2];c[v+248+28+8>>2]=c[n+8>>2];c[v+248+28+12>>2]=c[n+12>>2];c[v+248+76>>2]=0;c[v+248>>2]=4460;c[v+248+80>>2]=m;c[v+248+88>>2]=f;c[v+248+92>>2]=i;i=c[m+248>>2]|0;c[v+96+8>>2]=0;c[v+96+12>>2]=1065353216;c[v+96+16>>2]=1065353216;c[v+96+20>>2]=1065353216;g[v+96+24>>2]=0.0;c[v+96>>2]=6764;c[v+96+4>>2]=8;c[v+96+28>>2]=i;c[v+96+44>>2]=i;c[v+248+84>>2]=c[d+56>>2];i=c[m+188>>2]|0;b[v+248+8>>1]=b[i+4>>1]|0;b[v+248+10>>1]=b[i+6>>1]|0;c[v+16+48>>2]=c[n>>2];c[v+16+48+4>>2]=c[n+4>>2];c[v+16+48+8>>2]=c[n+8>>2];c[v+16+48+12>>2]=c[n+12>>2];c[v+16>>2]=c[m+4>>2];c[v+16+4>>2]=c[m+4+4>>2];c[v+16+8>>2]=c[m+4+8>>2];c[v+16+12>>2]=c[m+4+12>>2];c[v+16+16>>2]=c[m+20>>2];c[v+16+16+4>>2]=c[m+20+4>>2];c[v+16+16+8>>2]=c[m+20+8>>2];c[v+16+16+12>>2]=c[m+20+12>>2];c[v+16+32>>2]=c[m+36>>2];c[v+16+32+4>>2]=c[m+36+4>>2];c[v+16+32+8>>2]=c[m+36+8>>2];c[v+16+32+12>>2]=c[m+36+12>>2];zd(d,v+96|0,m+4|0,v+16|0,v+248|0,0.0);h=+g[v+248+4>>2];if(h<1.0){g[m+244>>2]=h;Kg(m+4|0,+g[m+312>>2],+g[m+316>>2],+g[m+320>>2],m+328|0,h*e,v+184|0);g[m+244>>2]=0.0;Ee(m,v+184|0);f=4}else f=0;if(!f)p=11}else p=11;if((p|0)==11){p=0;f=0}i=c[2380]|0;w=(c[i+16>>2]|0)+-1|0;c[i+16>>2]=w;do if(!w){if(c[i+4>>2]|0){Za(v+248|0,0)|0;w=c[6484]|0;g[i+8>>2]=+(((c[v+248+4>>2]|0)-(c[w+4>>2]|0)+(((c[v+248>>2]|0)-(c[w>>2]|0)|0)*1e6|0)-(c[i+12>>2]|0)|0)>>>0)/1.0e3+ +g[i+8>>2];if(c[i+16>>2]|0)break;i=c[2380]|0}c[2380]=c[i+20>>2]}while(0);if(f|0)break b}Ee(m,v+184|0)}}while(0);o=o+1|0;if((o|0)>=(c[d+232>>2]|0))break a}}while(0);do if(a[d+275>>0]|0){bj(12238);f=c[d+308>>2]|0;if((f|0)>0){h=0.0;r=0.0;q=0.0;e=0.0;k=0.0;j=0.0;p=0;do{o=c[(c[d+316>>2]|0)+(p<<2)>>2]|0;n=c[o+740>>2]|0;n=(c[n+236>>2]&2|0)==0?0:n;m=c[o+744>>2]|0;m=(c[m+236>>2]&2|0)==0?0:m;i=c[o+748>>2]|0;if((i|0)>0){if(!n){s=k;f=0;while(1){k=+g[57]*+g[m+228>>2];if(k>0.0?(t=+g[o+4+(f*184|0)+120>>2],t!=0.0):0){h=k*t*+g[o+4+(f*184|0)+64>>2];r=k*t*+g[o+4+(f*184|0)+68>>2];q=k*t*+g[o+4+(f*184|0)+72>>2];e=+g[o+4+(f*184|0)+48>>2]-+g[n+52>>2];k=+g[o+4+(f*184|0)+52>>2]-+g[n+56>>2];j=+g[o+4+(f*184|0)+56>>2]-+g[n+60>>2];x=+g[o+4+(f*184|0)+36>>2]-+g[m+56>>2];s=+g[o+4+(f*184|0)+40>>2]-+g[m+60>>2];g[v+80>>2]=+g[o+4+(f*184|0)+32>>2]-+g[m+52>>2];g[v+80+4>>2]=x;g[v+80+8>>2]=s;g[v+80+12>>2]=0.0;g[v>>2]=h;g[v+4>>2]=r;g[v+8>>2]=q;g[v+12>>2]=0.0;Zk(m,v,v+80|0);i=c[o+748>>2]|0;h=-h;r=-r;q=-q}else k=s;f=f+1|0;if((f|0)>=(i|0))break;else s=k}g[v+168>>2]=h;g[v+168+4>>2]=r;g[v+168+8>>2]=q;g[v+168+12>>2]=0.0;g[v+152>>2]=e;g[v+152+4>>2]=k;g[v+152+8>>2]=j;g[v+152+12>>2]=0.0}else{s=k;f=0;while(1){k=+g[n+228>>2]*+g[m+228>>2];if(k>0.0?(u=+g[o+4+(f*184|0)+120>>2],u!=0.0):0){h=k*u*+g[o+4+(f*184|0)+64>>2];r=k*u*+g[o+4+(f*184|0)+68>>2];q=k*u*+g[o+4+(f*184|0)+72>>2];g[v+168>>2]=-h;g[v+168+4>>2]=-r;g[v+168+8>>2]=-q;g[v+168+12>>2]=0.0;e=+g[o+4+(f*184|0)+48>>2]-+g[n+52>>2];k=+g[o+4+(f*184|0)+52>>2]-+g[n+56>>2];j=+g[o+4+(f*184|0)+56>>2]-+g[n+60>>2];g[v+152>>2]=e;g[v+152+4>>2]=k;g[v+152+8>>2]=j;g[v+152+12>>2]=0.0;s=+g[o+4+(f*184|0)+36>>2]-+g[m+56>>2];x=+g[o+4+(f*184|0)+40>>2]-+g[m+60>>2];g[v+80>>2]=+g[o+4+(f*184|0)+32>>2]-+g[m+52>>2];g[v+80+4>>2]=s;g[v+80+8>>2]=x;g[v+80+12>>2]=0.0;Zk(n,v+168|0,v+152|0);g[v>>2]=h;g[v+4>>2]=r;g[v+8>>2]=q;g[v+12>>2]=0.0;Zk(m,v,v+80|0);r=-r;q=-q;h=-h;i=c[o+748>>2]|0}else k=s;f=f+1|0;if((f|0)>=(i|0))break;else s=k}}f=c[d+308>>2]|0}p=p+1|0}while((p|0)<(f|0))}f=c[2380]|0;w=(c[f+16>>2]|0)+-1|0;c[f+16>>2]=w;if(!w){if(c[f+4>>2]|0){Za(v+248|0,0)|0;w=c[6484]|0;g[f+8>>2]=+(((c[v+248+4>>2]|0)-(c[w+4>>2]|0)+(((c[v+248>>2]|0)-(c[w>>2]|0)|0)*1e6|0)-(c[f+12>>2]|0)|0)>>>0)/1.0e3+ +g[f+8>>2];if(c[f+16>>2]|0)break;f=c[2380]|0}c[2380]=c[f+20>>2]}}while(0);f=c[2380]|0;w=(c[f+16>>2]|0)+-1|0;c[f+16>>2]=w;if(w|0){l=v;return}do if(c[f+4>>2]|0){Za(v+248|0,0)|0;w=c[6484]|0;g[f+8>>2]=+(((c[v+248+4>>2]|0)-(c[w+4>>2]|0)+(((c[v+248>>2]|0)-(c[w>>2]|0)|0)*1e6|0)-(c[f+12>>2]|0)|0)>>>0)/1.0e3+ +g[f+8>>2];if(!(c[f+16>>2]|0)){f=c[2380]|0;break}else{l=v;return}}while(0);c[2380]=c[f+20>>2];l=v;return}function Sc(d,e,f,g,i){d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+64|0;c[y+16>>2]=e;x=y+24+40|0;q=e;e=0;j=0;n=0;a:while(1){do if((e|0)>-1)if((j|0)>(2147483647-e|0)){c[6630]=75;e=-1;break}else{e=j+e|0;break}while(0);j=a[q>>0]|0;if(!(j<<24>>24)){w=87;break}else k=q;b:while(1){switch(j<<24>>24){case 37:{j=k;w=9;break b}case 0:{j=k;break b}default:{}}v=k+1|0;c[y+16>>2]=v;j=a[v>>0]|0;k=v}c:do if((w|0)==9)while(1){w=0;if((a[j+1>>0]|0)!=37)break c;k=k+1|0;j=j+2|0;c[y+16>>2]=j;if((a[j>>0]|0)==37)w=9;else break}while(0);k=k-q|0;if(d|0)Cy(d,q,k);if(k|0){q=j;j=k;continue}m=j+1|0;k=(a[m>>0]|0)+-48|0;if(k>>>0<10){v=(a[j+2>>0]|0)==36;s=v?k:-1;p=v?1:n;m=v?j+3|0:m}else{s=-1;p=n}c[y+16>>2]=m;j=a[m>>0]|0;d:do if(((j<<24>>24)+-32|0)>>>0<32){o=j;n=0;k=(j<<24>>24)+-32|0;while(1){j=1<<k;if(!(j&75913)){j=o;o=n;break d}n=j|n;m=m+1|0;c[y+16>>2]=m;j=a[m>>0]|0;k=(j<<24>>24)+-32|0;if(k>>>0>=32){o=n;break}else o=j}}else o=0;while(0);if(j<<24>>24==42){k=m+1|0;j=(a[k>>0]|0)+-48|0;if(j>>>0<10?(a[m+2>>0]|0)==36:0){c[i+(j<<2)>>2]=10;n=1;j=m+3|0;k=c[g+((a[k>>0]|0)+-48<<3)>>2]|0}else{if(p|0){e=-1;break}if(d|0){n=(c[f>>2]|0)+(4-1)&~(4-1);v=c[n>>2]|0;c[f>>2]=n+4;n=0;j=k;k=v}else{n=0;j=k;k=0}}c[y+16>>2]=j;u=(k|0)<0;m=j;r=u?o|8192:o;v=n;u=u?0-k|0:k}else{j=lp(y+16|0)|0;if((j|0)<0){e=-1;break}m=c[y+16>>2]|0;r=o;v=p;u=j}do if((a[m>>0]|0)==46){j=m+1|0;if((a[j>>0]|0)!=42){c[y+16>>2]=j;o=lp(y+16|0)|0;j=c[y+16>>2]|0;break}j=m+2|0;k=(a[j>>0]|0)+-48|0;if(k>>>0<10?(a[m+3>>0]|0)==36:0){c[i+(k<<2)>>2]=10;o=c[g+((a[j>>0]|0)+-48<<3)>>2]|0;j=m+4|0;c[y+16>>2]=j;break}if(v|0){e=-1;break a}if(d|0){t=(c[f>>2]|0)+(4-1)&~(4-1);k=c[t>>2]|0;c[f>>2]=t+4}else k=0;c[y+16>>2]=j;o=k}else{j=m;o=-1}while(0);p=0;while(1){if(((a[j>>0]|0)+-65|0)>>>0>57){e=-1;break a}t=j+1|0;c[y+16>>2]=t;k=a[(a[j>>0]|0)+-65+(19479+(p*58|0))>>0]|0;if(((k&255)+-1|0)>>>0<8){j=t;p=k&255}else break}if(!(k<<24>>24)){e=-1;break}m=(s|0)>-1;do if(k<<24>>24==19)if(m){e=-1;break a}else w=49;else{if(m){c[i+(s<<2)>>2]=k&255;s=g+(s<<3)|0;w=c[s+4>>2]|0;c[y>>2]=c[s>>2];c[y+4>>2]=w;w=49;break}if(!d){e=0;break a}Fg(y,k&255,f)}while(0);if((w|0)==49?(w=0,(d|0)==0):0){q=t;j=0;n=v;continue}n=a[j>>0]|0;n=(p|0)!=0&(n&15|0)==3?n&-33:n;k=r&-65537;s=(r&8192|0)==0?r:k;e:do switch(n|0){case 110:switch((p&255)<<24>>24){case 0:{c[c[y>>2]>>2]=e;q=t;j=0;n=v;continue a}case 1:{c[c[y>>2]>>2]=e;q=t;j=0;n=v;continue a}case 2:{q=c[y>>2]|0;c[q>>2]=e;c[q+4>>2]=((e|0)<0)<<31>>31;q=t;j=0;n=v;continue a}case 3:{b[c[y>>2]>>1]=e;q=t;j=0;n=v;continue a}case 4:{a[c[y>>2]>>0]=e;q=t;j=0;n=v;continue a}case 6:{c[c[y>>2]>>2]=e;q=t;j=0;n=v;continue a}case 7:{q=c[y>>2]|0;c[q>>2]=e;c[q+4>>2]=((e|0)<0)<<31>>31;q=t;j=0;n=v;continue a}default:{q=t;j=0;n=v;continue a}}case 112:{j=s|8;k=o>>>0>8?o:8;n=120;w=61;break}case 88:case 120:{j=s;k=o;w=61;break}case 111:{q=c[y>>2]|0;r=c[y+4>>2]|0;k=Fq(q,r,x)|0;p=k;j=s;k=(s&8|0)==0|(o|0)>(x-k|0)?o:x-k+1|0;m=0;o=19943;w=67;break}case 105:case 100:{j=c[y>>2]|0;k=c[y+4>>2]|0;if((k|0)<0){j=au(0,0,j|0,k|0)|0;k=D;c[y>>2]=j;c[y+4>>2]=k;m=1;n=19943;w=66;break e}else{m=(s&2049|0)!=0&1;n=(s&2048|0)==0?((s&1|0)==0?19943:19945):19944;w=66;break e}}case 117:{j=c[y>>2]|0;k=c[y+4>>2]|0;m=0;n=19943;w=66;break}case 99:{a[y+24+39>>0]=c[y>>2];q=y+24+39|0;p=k;n=1;m=0;k=19943;j=x;break}case 109:{j=kG(c[6630]|0)|0;w=71;break}case 115:{j=c[y>>2]|0;j=j|0?j:19953;w=71;break}case 67:{c[y+8>>2]=c[y>>2];c[y+8+4>>2]=0;c[y>>2]=y+8;j=y+8|0;o=-1;w=75;break}case 83:{j=c[y>>2]|0;if(!o){Tm(d,32,u,0,s);j=0;w=84}else w=75;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{q=t;j=Qc(d,+h[y>>3],u,o,s,n)|0;n=v;continue a}default:{p=s;n=o;m=0;k=19943;j=x}}while(0);f:do if((w|0)==61){q=c[y>>2]|0;r=c[y+4>>2]|0;p=Ep(q,r,x,n&32)|0;o=(j&8|0)==0|(q|0)==0&(r|0)==0;m=o?0:2;o=o?19943:19943+(n>>4)|0;w=67}else if((w|0)==66){q=j;r=k;p=wm(j,k,x)|0;j=s;k=o;o=n;w=67}else if((w|0)==71){w=0;s=uj(j,o)|0;q=j;p=k;n=(s|0)==0?o:s-j|0;m=0;k=19943;j=(s|0)==0?j+o|0:s}else if((w|0)==75){w=0;m=0;k=0;p=j;while(1){n=c[p>>2]|0;if(!n)break;k=mz(y+20|0,n)|0;if((k|0)<0|k>>>0>(o-m|0)>>>0)break;m=k+m|0;if(o>>>0>m>>>0)p=p+4|0;else break}if((k|0)<0){e=-1;break a}Tm(d,32,u,m,s);if(!m){j=0;w=84}else{n=0;while(1){k=c[j>>2]|0;if(!k){j=m;w=84;break f}k=mz(y+20|0,k)|0;n=k+n|0;if((n|0)>(m|0)){j=m;w=84;break f}Cy(d,y+20|0,k);if(n>>>0>=m>>>0){j=m;w=84;break}else j=j+4|0}}}while(0);if((w|0)==67){w=0;n=(q|0)!=0|(r|0)!=0;s=(k|0)!=0|n;n=((n^1)&1)+(x-p)|0;q=s?p:x;p=(k|0)>-1?j&-65537:j;n=s?((k|0)>(n|0)?k:n):k;k=o;j=x}else if((w|0)==84){w=0;Tm(d,32,u,j,s^8192);q=t;j=(u|0)>(j|0)?u:j;n=v;continue}s=j-q|0;r=(n|0)<(s|0)?s:n;n=r+m|0;j=(u|0)<(n|0)?n:u;Tm(d,32,j,n,p);Cy(d,k,m);Tm(d,48,j,n,p^65536);Tm(d,48,r,s,0);Cy(d,q,s);Tm(d,32,j,n,p^8192);q=t;n=v}g:do if((w|0)==87)if(!d)if(!n)e=0;else{e=1;while(1){j=c[i+(e<<2)>>2]|0;if(!j){j=0;break}Fg(g+(e<<3)|0,j,f);e=e+1|0;if((e|0)>=10){e=1;break g}}while(1){e=e+1|0;if(j|0){e=-1;break g}if((e|0)>=10){e=1;break g}j=c[i+(e<<2)>>2]|0}}while(0);l=y;return e|0}function Tc(a,b){a=a|0;b=+b;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;o=l;l=l+48|0;d=c[a+24>>2]|0;if((d|0)<=0){l=o;return}n=0;a:while(1){m=c[(c[a+32>>2]|0)+(n<<2)>>2]|0;switch(c[m+216>>2]|0){case 2:case 5:break;default:{he(m,0);d=c[m+732>>2]|0;if((d|0)>0){e=0;do{k=c[m+740>>2]|0;i=c[k+(e*52|0)+12>>2]|0;j=c[k+(e*52|0)+8>>2]|0;y=+g[i+24>>2]-+g[j+24>>2];x=+g[i+28>>2]-+g[j+28>>2];b=+g[i+32>>2]-+g[j+32>>2];g[k+(e*52|0)+36>>2]=y;g[k+(e*52|0)+40>>2]=x;g[k+(e*52|0)+44>>2]=b;g[k+(e*52|0)+48>>2]=0.0;g[k+(e*52|0)+32>>2]=1.0/(+g[k+(e*52|0)+24>>2]*(y*y+x*x+b*b));e=e+1|0}while((e|0)!=(d|0))}e=c[m+792>>2]|0;if((e|0)>0){b=+g[m+452>>2];f=0;do{k=c[m+800>>2]|0;d=k+(f*96|0)+20|0;h=c[d>>2]|0;B=+g[k+(f*96|0)+4>>2];A=+g[k+(f*96|0)+8>>2];y=+g[k+(f*96|0)+12>>2];z=+g[h+4>>2]*B+ +g[h+8>>2]*A+ +g[h+12>>2]*y;x=B*+g[h+20>>2]+A*+g[h+24>>2]+y*+g[h+28>>2];y=B*+g[h+36>>2]+A*+g[h+40>>2]+y*+g[h+44>>2];i=k+(f*96|0)+28|0;j=k+(f*96|0)|0;Df(o,b,+g[(c[j>>2]|0)+88>>2],+g[h+344>>2],h+264|0,z,x,y);c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];c[i+12>>2]=c[o+12>>2];i=k+(f*96|0)+44|0;c[i>>2]=c[o+16>>2];c[i+4>>2]=c[o+16+4>>2];c[i+8>>2]=c[o+16+8>>2];c[i+12>>2]=c[o+16+12>>2];i=k+(f*96|0)+60|0;c[i>>2]=c[o+32>>2];c[i+4>>2]=c[o+32+4>>2];c[i+8>>2]=c[o+32+8>>2];c[i+12>>2]=c[o+32+12>>2];g[k+(f*96|0)+76>>2]=z;g[k+(f*96|0)+80>>2]=x;g[k+(f*96|0)+84>>2]=y;g[k+(f*96|0)+88>>2]=0.0;b=+g[m+452>>2];g[k+(f*96|0)+92>>2]=b*+g[(c[j>>2]|0)+88>>2];d=c[d>>2]|0;if(!(c[d+204>>2]&3)){if((c[d+216>>2]&-2|0)!=4)c[d+216>>2]=1;g[d+220>>2]=0.0}f=f+1|0}while((f|0)!=(e|0))}d=c[m+372>>2]|0;if((d|0)>0){e=c[m+396>>2]|0;f=0;do{if((e|0)>0){d=0;do{kb[((c[(c[m+404>>2]|0)+(d<<2)>>2]|0)==0?23:0)&31](m,1.0);d=d+1|0;e=c[m+396>>2]|0}while((d|0)<(e|0));d=c[m+372>>2]|0}f=f+1|0}while((f|0)<(d|0));d=c[m+712>>2]|0;if((d|0)>0){e=0;do{k=c[m+720>>2]|0;z=+g[m+452>>2];A=z*+g[k+(e*104|0)+44>>2]+ +g[k+(e*104|0)+28>>2];B=z*+g[k+(e*104|0)+48>>2]+ +g[k+(e*104|0)+32>>2];g[k+(e*104|0)+8>>2]=+g[k+(e*104|0)+40>>2]*z+ +g[k+(e*104|0)+24>>2];g[k+(e*104|0)+12>>2]=A;g[k+(e*104|0)+16>>2]=B;g[k+(e*104|0)+20>>2]=0.0;e=e+1|0}while((e|0)!=(d|0))}}d=c[m+376>>2]|0;if((d|0)>0){e=c[m+416>>2]|0;h=0;do{b=+(h|0)/+(d|0);if((e|0)>0){f=0;do{switch(c[(c[m+424>>2]|0)+(f<<2)>>2]|0){case 1:{d=2;break}case 0:{d=3;break}case 2:{d=4;break}case 3:{d=5;break}default:{w=30;break a}}yb[d&7](m,1.0,b);f=f+1|0;e=c[m+416>>2]|0}while((f|0)<(e|0));d=c[m+376>>2]|0}h=h+1|0}while((h|0)<(d|0));b=+g[m+456>>2]*(1.0-+g[m+296>>2]);d=c[m+712>>2]|0;if((d|0)>0){e=0;do{k=c[m+720>>2]|0;A=b*(+g[k+(e*104|0)+12>>2]-+g[k+(e*104|0)+28>>2]);B=b*(+g[k+(e*104|0)+16>>2]-+g[k+(e*104|0)+32>>2]);g[k+(e*104|0)+40>>2]=b*(+g[k+(e*104|0)+8>>2]-+g[k+(e*104|0)+24>>2]);g[k+(e*104|0)+44>>2]=A;g[k+(e*104|0)+48>>2]=B;k=k+(e*104|0)+52|0;e=e+1|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0}while((e|0)!=(d|0))}}d=c[m+380>>2]|0;if((d|0)>0){b=+g[m+292>>2]*+g[m+456>>2];e=c[m+712>>2]|0;if((e|0)>0){d=0;do{j=c[m+720>>2]|0;k=j+(d*104|0)+24|0;j=j+(d*104|0)+8|0;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[k+12>>2]=c[j+12>>2];d=d+1|0}while((d|0)!=(e|0));d=c[m+380>>2]|0;if((d|0)>0)w=41}else w=41;if((w|0)==41){w=0;e=c[m+436>>2]|0;h=0;do{if((e|0)>0){f=0;do{switch(c[(c[m+444>>2]|0)+(f<<2)>>2]|0){case 1:{d=2;break}case 0:{d=3;break}case 2:{d=4;break}case 3:{d=5;break}default:{w=48;break a}}yb[d&7](m,1.0,0.0);f=f+1|0;e=c[m+436>>2]|0}while((f|0)<(e|0));d=c[m+380>>2]|0}h=h+1|0}while((h|0)<(d|0))}d=c[m+712>>2]|0;if((d|0)>0){e=c[m+720>>2]|0;f=0;do{A=b*(+g[e+(f*104|0)+12>>2]-+g[e+(f*104|0)+28>>2]);B=b*(+g[e+(f*104|0)+16>>2]-+g[e+(f*104|0)+32>>2]);k=e+(f*104|0)+40|0;g[k>>2]=b*(+g[e+(f*104|0)+8>>2]-+g[e+(f*104|0)+24>>2])+ +g[k>>2];k=e+(f*104|0)+44|0;g[k>>2]=A+ +g[k>>2];k=e+(f*104|0)+48|0;g[k>>2]=B+ +g[k>>2];f=f+1|0}while((f|0)!=(d|0))}}d=c[m+1112>>2]|0;if((d|0)>0){e=c[m+1120>>2]|0;j=0;do{f=c[e+(j<<2)>>2]|0;if(+g[f+352>>2]>0.0?(p=c[f+24>>2]|0,(p|0)>0):0){h=c[f+32>>2]|0;k=0;do{i=c[h+(k<<2)>>2]|0;if(+g[i+88>>2]>0.0?(t=+g[i+24>>2]-+g[f+228>>2],v=+g[i+28>>2]-+g[f+232>>2],r=+g[i+32>>2]-+g[f+236>>2],s=+g[f+336>>2],B=+g[f+340>>2],u=+g[f+332>>2],q=+g[f+316>>2]+(s*r-v*B),r=+g[f+320>>2]+(t*B-r*u),s=v*u-t*s+ +g[f+324>>2],t=+g[i+40>>2],u=+g[i+44>>2],v=+g[i+48>>2],q*q+r*r+s*s<=t*t+u*u+v*v):0){B=+g[f+352>>2];g[i+40>>2]=t+(q-t)*B;g[i+44>>2]=(r-u)*B+u;g[i+48>>2]=(s-v)*B+v}k=k+1|0}while((k|0)!=(p|0))}j=j+1|0}while((j|0)!=(d|0))}he(m,1);d=c[a+24>>2]|0}}n=n+1|0;if((n|0)>=(d|0)){w=67;break}}if((w|0)!=30)if((w|0)!=48)if((w|0)==67){l=o;return}}function Uc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if(!a)return;h=c[6507]|0;if((a+-8|0)>>>0<h>>>0)Ua();b=c[a+-4>>2]|0;if((b&3|0)==1)Ua();o=a+-8+(b&-8)|0;a:do if(!(b&1)){d=c[a+-8>>2]|0;if(!(b&3))return;k=a+-8+(0-d)|0;j=d+(b&-8)|0;if(k>>>0<h>>>0)Ua();if((k|0)==(c[6508]|0)){a=c[o+4>>2]|0;if((a&3|0)!=3){m=k;r=k;f=j;break}c[6505]=j;c[o+4>>2]=a&-2;c[k+4>>2]=j|1;c[k+j>>2]=j;return}if(d>>>0<256){a=c[k+8>>2]|0;b=c[k+12>>2]|0;if((a|0)!=(26052+(d>>>3<<1<<2)|0)){if(a>>>0<h>>>0)Ua();if((c[a+12>>2]|0)!=(k|0))Ua()}if((b|0)==(a|0)){c[6503]=c[6503]&~(1<<(d>>>3));m=k;r=k;f=j;break}if((b|0)!=(26052+(d>>>3<<1<<2)|0)){if(b>>>0<h>>>0)Ua();if((c[b+8>>2]|0)!=(k|0))Ua();else e=b+8|0}else e=b+8|0;c[a+12>>2]=b;c[e>>2]=a;m=k;r=k;f=j;break}g=c[k+24>>2]|0;a=c[k+12>>2]|0;do if((a|0)==(k|0)){a=c[k+16+4>>2]|0;if(!a){a=c[k+16>>2]|0;if(!a){i=0;break}else e=k+16|0}else e=k+16+4|0;while(1){d=a+20|0;b=c[d>>2]|0;if(b|0){a=b;e=d;continue}d=a+16|0;b=c[d>>2]|0;if(!b)break;else{a=b;e=d}}if(e>>>0<h>>>0)Ua();else{c[e>>2]=0;i=a;break}}else{b=c[k+8>>2]|0;if(b>>>0<h>>>0)Ua();if((c[b+12>>2]|0)!=(k|0))Ua();if((c[a+8>>2]|0)==(k|0)){c[b+12>>2]=a;c[a+8>>2]=b;i=a;break}else Ua()}while(0);if(g){a=c[k+28>>2]|0;do if((k|0)==(c[26316+(a<<2)>>2]|0)){c[26316+(a<<2)>>2]=i;if(!i){c[6504]=c[6504]&~(1<<a);m=k;r=k;f=j;break a}}else if(g>>>0>=(c[6507]|0)>>>0){c[g+16+(((c[g+16>>2]|0)!=(k|0)&1)<<2)>>2]=i;if(!i){m=k;r=k;f=j;break a}else break}else Ua();while(0);b=c[6507]|0;if(i>>>0<b>>>0)Ua();c[i+24>>2]=g;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Ua();else{c[i+16>>2]=a;c[a+24>>2]=i;break}while(0);a=c[k+16+4>>2]|0;if(a)if(a>>>0<(c[6507]|0)>>>0)Ua();else{c[i+20>>2]=a;c[a+24>>2]=i;m=k;r=k;f=j;break}else{m=k;r=k;f=j}}else{m=k;r=k;f=j}}else{m=a+-8|0;r=a+-8|0;f=b&-8}while(0);if(m>>>0>=o>>>0)Ua();d=c[o+4>>2]|0;if(!(d&1))Ua();if(!(d&2)){a=c[6508]|0;if((o|0)==(c[6509]|0)){q=(c[6506]|0)+f|0;c[6506]=q;c[6509]=r;c[r+4>>2]=q|1;if((r|0)!=(a|0))return;c[6508]=0;c[6505]=0;return}if((o|0)==(a|0)){q=(c[6505]|0)+f|0;c[6505]=q;c[6508]=m;c[r+4>>2]=q|1;c[m+q>>2]=q;return}f=(d&-8)+f|0;b:do if(d>>>0>=256){g=c[o+24>>2]|0;a=c[o+12>>2]|0;do if((a|0)==(o|0)){a=c[o+16+4>>2]|0;if(!a){a=c[o+16>>2]|0;if(!a){n=0;break}else e=o+16|0}else e=o+16+4|0;while(1){d=a+20|0;b=c[d>>2]|0;if(b|0){a=b;e=d;continue}d=a+16|0;b=c[d>>2]|0;if(!b)break;else{a=b;e=d}}if(e>>>0<(c[6507]|0)>>>0)Ua();else{c[e>>2]=0;n=a;break}}else{b=c[o+8>>2]|0;if(b>>>0<(c[6507]|0)>>>0)Ua();if((c[b+12>>2]|0)!=(o|0))Ua();if((c[a+8>>2]|0)==(o|0)){c[b+12>>2]=a;c[a+8>>2]=b;n=a;break}else Ua()}while(0);if(g|0){a=c[o+28>>2]|0;do if((o|0)==(c[26316+(a<<2)>>2]|0)){c[26316+(a<<2)>>2]=n;if(!n){c[6504]=c[6504]&~(1<<a);break b}}else if(g>>>0>=(c[6507]|0)>>>0){c[g+16+(((c[g+16>>2]|0)!=(o|0)&1)<<2)>>2]=n;if(!n)break b;else break}else Ua();while(0);b=c[6507]|0;if(n>>>0<b>>>0)Ua();c[n+24>>2]=g;a=c[o+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Ua();else{c[n+16>>2]=a;c[a+24>>2]=n;break}while(0);a=c[o+16+4>>2]|0;if(a|0)if(a>>>0<(c[6507]|0)>>>0)Ua();else{c[n+20>>2]=a;c[a+24>>2]=n;break}}}else{a=c[o+8>>2]|0;b=c[o+12>>2]|0;if((a|0)!=(26052+(d>>>3<<1<<2)|0)){if(a>>>0<(c[6507]|0)>>>0)Ua();if((c[a+12>>2]|0)!=(o|0))Ua()}if((b|0)==(a|0)){c[6503]=c[6503]&~(1<<(d>>>3));break}if((b|0)!=(26052+(d>>>3<<1<<2)|0)){if(b>>>0<(c[6507]|0)>>>0)Ua();if((c[b+8>>2]|0)!=(o|0))Ua();else l=b+8|0}else l=b+8|0;c[a+12>>2]=b;c[l>>2]=a}while(0);c[r+4>>2]=f|1;c[m+f>>2]=f;if((r|0)==(c[6508]|0)){c[6505]=f;return}}else{c[o+4>>2]=d&-2;c[r+4>>2]=f|1;c[m+f>>2]=f}b=f>>>3;if(f>>>0<256){a=c[6503]|0;if(a&1<<b){a=c[26052+(b<<1<<2)+8>>2]|0;if(a>>>0<(c[6507]|0)>>>0)Ua();else{p=26052+(b<<1<<2)+8|0;q=a}}else{c[6503]=a|1<<b;p=26052+(b<<1<<2)+8|0;q=26052+(b<<1<<2)|0}c[p>>2]=r;c[q+12>>2]=r;c[r+8>>2]=q;c[r+12>>2]=26052+(b<<1<<2);return}a=f>>>8;if(a)if(f>>>0>16777215)b=31;else{b=a<<((a+1048320|0)>>>16&8)<<(((a<<((a+1048320|0)>>>16&8))+520192|0)>>>16&4);b=14-(((a<<((a+1048320|0)>>>16&8))+520192|0)>>>16&4|(a+1048320|0)>>>16&8|(b+245760|0)>>>16&2)+(b<<((b+245760|0)>>>16&2)>>>15)|0;b=f>>>(b+7|0)&1|b<<1}else b=0;e=26316+(b<<2)|0;c[r+28>>2]=b;c[r+20>>2]=0;c[r+16>>2]=0;a=c[6504]|0;d=1<<b;do if(a&d){b=f<<((b|0)==31?0:25-(b>>>1)|0);e=c[e>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(f|0)){a=124;break}d=e+16+(b>>>31<<2)|0;a=c[d>>2]|0;if(!a){a=121;break}else{b=b<<1;e=a}}if((a|0)==121)if(d>>>0<(c[6507]|0)>>>0)Ua();else{c[d>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r;break}else if((a|0)==124){b=e+8|0;a=c[b>>2]|0;q=c[6507]|0;if(a>>>0>=q>>>0&e>>>0>=q>>>0){c[a+12>>2]=r;c[b>>2]=r;c[r+8>>2]=a;c[r+12>>2]=e;c[r+24>>2]=0;break}else Ua()}}else{c[6504]=a|d;c[e>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r}while(0);r=(c[6511]|0)+-1|0;c[6511]=r;if(!r)a=26468;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[6511]=-1;return}function Vc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,H=0.0,I=0.0,J=0;u=l;l=l+704|0;c[u+480+8>>2]=0;c[u+480+12>>2]=1065353216;c[u+480+16>>2]=1065353216;c[u+480+20>>2]=1065353216;g[u+480+24>>2]=0.0;c[u+480>>2]=6764;c[u+480+4>>2]=8;g[u+480+28>>2]=0.0;g[u+480+44>>2]=0.0;g[u+416>>2]=1.0;m=u+416+4|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;g[u+416+20>>2]=1.0;n=u+416+24|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;g[u+416+40>>2]=1.0;g[u+416+44>>2]=0.0;c[u+416+48>>2]=c[a>>2];c[u+416+48+4>>2]=c[a+4>>2];c[u+416+48+8>>2]=c[a+8>>2];c[u+416+48+12>>2]=c[a+12>>2];a=e;k=a+36|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(k|0));c[u+536>>2]=b;c[u+536+4>>2]=u+480;I=+g[d>>2];H=+g[d+16>>2];F=+g[d+32>>2];E=+g[d+4>>2];D=+g[d+20>>2];C=+g[d+36>>2];s=+g[d+8>>2];q=+g[d+24>>2];o=+g[d+40>>2];g[u+536+8>>2]=I+H*0.0+F*0.0;g[u+536+12>>2]=E+D*0.0+C*0.0;g[u+536+16>>2]=s+q*0.0+o*0.0;g[u+536+20>>2]=0.0;g[u+536+24>>2]=I*0.0+H+F*0.0;g[u+536+28>>2]=E*0.0+D+C*0.0;g[u+536+32>>2]=s*0.0+q+o*0.0;g[u+536+36>>2]=0.0;g[u+536+40>>2]=I*0.0+H*0.0+F;g[u+536+44>>2]=E*0.0+D*0.0+C;g[u+536+48>>2]=s*0.0+q*0.0+o;g[u+536+52>>2]=0.0;o=+g[u+416+48>>2]-+g[d+48>>2];q=+g[u+416+52>>2]-+g[d+52>>2];s=+g[u+416+56>>2]-+g[d+56>>2];B=+g[u+416>>2];A=+g[u+416+16>>2];z=+g[u+416+32>>2];y=+g[m>>2];x=+g[u+416+20>>2];w=+g[u+416+36>>2];v=+g[u+416+8>>2];f=+g[n>>2];h=+g[u+416+40>>2];p=+g[d+8>>2];r=+g[d+24>>2];t=+g[d+40>>2];i=o*+g[d>>2]+q*+g[d+16>>2]+s*+g[d+32>>2];j=o*+g[d+4>>2]+q*+g[d+20>>2]+s*+g[d+36>>2];g[u+536+56>>2]=I*B+H*A+F*z;g[u+536+60>>2]=I*y+H*x+F*w;g[u+536+64>>2]=I*v+H*f+F*h;g[u+536+68>>2]=0.0;g[u+536+72>>2]=B*E+A*D+z*C;g[u+536+76>>2]=y*E+x*D+w*C;g[u+536+80>>2]=v*E+f*D+h*C;g[u+536+84>>2]=0.0;g[u+536+88>>2]=B*p+A*r+z*t;g[u+536+92>>2]=y*p+x*r+w*t;g[u+536+96>>2]=v*p+f*r+h*t;g[u+536+100>>2]=0.0;g[u+536+104>>2]=i;g[u+536+108>>2]=j;g[u+536+112>>2]=o*p+q*r+s*t;g[u+536+116>>2]=0.0;c[u+536+120>>2]=80;c[u+536+124>>2]=0;a=u+32+128|0;c[u+32+364>>2]=0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[u+32+376>>2]=2;c[u+32+368>>2]=0;g[u+32+144>>2]=0.0;c[u+16>>2]=1065353216;c[u+16+4>>2]=1065353216;c[u+16+8>>2]=1065353216;g[u+16+12>>2]=0.0;switch(Ec(u+32|0,u+536|0,u+16|0)|0){case 0:{a=c[u+32+372>>2]|0;if(!(c[a+32>>2]|0)){j=0.0;i=0.0;f=0.0;r=0.0;q=0.0;h=0.0}else{f=0.0;i=0.0;j=0.0;h=0.0;q=0.0;r=0.0;n=0;do{t=+g[a+16+(n<<2)>>2];k=c[u+536+120>>2]|0;J=c[u+536+124>>2]|0;m=(c[u+536>>2]|0)+(J>>1)|0;if(J&1)k=c[(c[m>>2]|0)+k>>2]|0;Vb[k&127](u,m,c[a+(n<<2)>>2]|0);f=f+t*+g[u>>2];i=i+t*+g[u+4>>2];j=j+t*+g[u+8>>2];a=c[(c[u+32+372>>2]|0)+(n<<2)>>2]|0;o=-+g[a>>2];p=-+g[a+4>>2];s=-+g[a+8>>2];a=c[u+536+120>>2]|0;J=c[u+536+124>>2]|0;k=(c[u+536+4>>2]|0)+(J>>1)|0;if(J&1)a=c[(c[k>>2]|0)+a>>2]|0;H=+g[u+536+24>>2]*o+ +g[u+536+28>>2]*p+ +g[u+536+32>>2]*s;F=+g[u+536+40>>2]*o+ +g[u+536+44>>2]*p+ +g[u+536+48>>2]*s;g[u+664>>2]=+g[u+536+8>>2]*o+ +g[u+536+12>>2]*p+ +g[u+536+16>>2]*s;g[u+664+4>>2]=H;g[u+664+8>>2]=F;g[u+664+12>>2]=0.0;Vb[a&127](u+680|0,k,u+664|0);F=+g[u+680>>2];H=+g[u+680+4>>2];I=+g[u+680+8>>2];h=h+t*(F*+g[u+536+56>>2]+H*+g[u+536+60>>2]+I*+g[u+536+64>>2]+ +g[u+536+104>>2]);q=q+t*(F*+g[u+536+72>>2]+H*+g[u+536+76>>2]+I*+g[u+536+80>>2]+ +g[u+536+108>>2]);r=r+t*(F*+g[u+536+88>>2]+H*+g[u+536+92>>2]+I*+g[u+536+96>>2]+ +g[u+536+112>>2]);n=n+1|0;a=c[u+32+372>>2]|0}while(n>>>0<(c[a+32>>2]|0)>>>0)}s=f*+g[d>>2]+i*+g[d+4>>2]+j*+g[d+8>>2]+ +g[d+48>>2];t=f*+g[d+16>>2]+i*+g[d+20>>2]+j*+g[d+24>>2]+ +g[d+52>>2];j=f*+g[d+32>>2]+i*+g[d+36>>2]+j*+g[d+40>>2]+ +g[d+56>>2];g[e+4>>2]=s;g[e+8>>2]=t;g[e+12>>2]=j;g[e+16>>2]=0.0;o=h*+g[d>>2]+q*+g[d+4>>2]+r*+g[d+8>>2]+ +g[d+48>>2];p=h*+g[d+16>>2]+q*+g[d+20>>2]+r*+g[d+24>>2]+ +g[d+52>>2];i=h*+g[d+32>>2]+q*+g[d+36>>2]+r*+g[d+40>>2]+ +g[d+56>>2];g[e+20>>2]=o;g[e+24>>2]=p;g[e+28>>2]=i;g[e+32>>2]=0.0;switch(c[b+4>>2]|0){case 8:{f=+g[b+28>>2]*+g[b+12>>2];break}case 0:{f=+g[b+44>>2];break}case 1:{f=+g[b+44>>2];break}case 13:{f=+g[b+44>>2];break}case 11:{f=+g[b+44>>2];break}case 10:{f=+g[b+44>>2];break}case 4:case 5:{f=+g[b+44>>2];break}default:f=+Db[c[(c[b>>2]|0)+48>>2]&15](b)}switch(c[u+480+4>>2]|0){case 8:{h=+g[u+480+28>>2]*+g[u+480+12>>2];break}case 0:{h=+g[u+480+44>>2];break}case 1:{h=+g[u+480+44>>2];break}case 13:{h=+g[u+480+44>>2];break}case 11:{h=+g[u+480+44>>2];break}case 10:{h=+g[u+480+44>>2];break}case 4:case 5:{h=+g[u+480+44>>2];break}default:h=+Db[c[(c[u+480>>2]|0)+48>>2]&15](u+480|0)}I=f+h;H=+G(+((o-s)*(o-s)+(p-t)*(p-t)+(i-j)*(i-j)));g[e+36>>2]=(o-s)*(1.0/H);g[e+40>>2]=(p-t)*(1.0/H);g[e+44>>2]=(i-j)*(1.0/H);g[e+48>>2]=0.0;g[e+4>>2]=I*(o-s)*(1.0/H)+ +g[e+4>>2];g[e+8>>2]=I*(p-t)*(1.0/H)+ +g[e+8>>2];g[e+12>>2]=I*(i-j)*(1.0/H)+ +g[e+12>>2];I=H-I;l=u;return +I}case 1:{if(!(zc(b,d,u+480|0,u+416|0,a,e,1)|0)){I=3402823466385288598117041.0e14;l=u;return +I}f=+g[e+4>>2]-+g[e+20>>2];h=+g[e+8>>2]-+g[e+24>>2];i=+g[e+12>>2]-+g[e+28>>2];j=+G(+(f*f+h*h+i*i));if(j>=1.1920928955078125e-07){g[e+36>>2]=f*(1.0/j);g[e+40>>2]=h*(1.0/j);g[e+44>>2]=i*(1.0/j);g[e+48>>2]=0.0}I=-j;l=u;return +I}default:{I=3402823466385288598117041.0e14;l=u;return +I}}return 0.0}function Wc(b,d,e){b=b|0;d=d|0;e=+e;var f=0,h=0,i=0,j=0,k=0,m=0.0,n=0.0,o=0,p=0,q=0.0,r=0,s=0;s=l;l=l+112|0;p=c[b+716>>2]|0;if((p|0)==(c[b+712>>2]|0)){a:do if(p){j=c[b+720>>2]|0;if((p|0)>0){h=j;i=0;while(1){f=c[h+(i*104|0)+96>>2]|0;if(f|0)c[f+36>>2]=i;f=i+1|0;if((f|0)==(p|0))break a;h=c[b+720>>2]|0;i=f}}}else j=0;while(0);f=c[b+732>>2]|0;if((f|0)>0){h=0;do{o=(c[b+740>>2]|0)+(h*52|0)+8|0;c[o>>2]=((c[o>>2]|0)-j|0)/104|0;o=(c[b+740>>2]|0)+(h*52|0)+12|0;c[o>>2]=((c[o>>2]|0)-j|0)/104|0;h=h+1|0}while((h|0)!=(f|0))}f=c[b+752>>2]|0;if((f|0)>0){i=0;do{h=(c[b+760>>2]|0)+(i*44|0)+8|0;c[h>>2]=((c[h>>2]|0)-j|0)/104|0;h=(c[b+760>>2]|0)+(i*44|0)+12|0;c[h>>2]=((c[h>>2]|0)-j|0)/104|0;h=(c[b+760>>2]|0)+(i*44|0)+16|0;c[h>>2]=((c[h>>2]|0)-j|0)/104|0;h=c[(c[b+760>>2]|0)+(i*44|0)+40>>2]|0;if(h|0)c[h+36>>2]=i;i=i+1|0}while((i|0)!=(f|0))}f=c[b+792>>2]|0;if((f|0)>0){h=c[b+800>>2]|0;i=0;do{o=h+(i*96|0)|0;c[o>>2]=((c[o>>2]|0)-j|0)/104|0;i=i+1|0}while((i|0)!=(f|0))}i=c[b+692>>2]|0;if((i|0)>0){f=c[b+700>>2]|0;k=0;do{if((c[f+(k*60|0)+24>>2]|0)>0){h=0;do{f=f+(k*60|0)+28+(h<<2)|0;c[f>>2]=((c[f>>2]|0)-j|0)/104|0;h=h+1|0;f=c[b+700>>2]|0}while((h|0)<(c[f+(k*60|0)+24>>2]|0))}k=k+1|0}while((k|0)!=(i|0))}if((p|0)<(p<<1|1|0)){c[6485]=(c[6485]|0)+1;f=ic(((p<<1|1)*104|3)+16|0)|0;if(!f)i=0;else{c[(f+4+15&-16)+-4>>2]=f;i=f+4+15&-16}f=c[b+712>>2]|0;if((f|0)>0){h=0;do{k=i+(h*104|0)|0;j=(c[b+720>>2]|0)+(h*104|0)|0;o=k+104|0;do{c[k>>2]=c[j>>2];k=k+4|0;j=j+4|0}while((k|0)<(o|0));h=h+1|0}while((h|0)!=(f|0))}f=c[b+720>>2]|0;if(f|0){if(a[b+724>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[f+-4>>2]|0)}c[b+720>>2]=0}a[b+724>>0]=1;c[b+720>>2]=i;c[b+716>>2]=p<<1|1;i=c[b+712>>2]|0}else i=p;b:do if(i){j=c[b+720>>2]|0;if((i|0)>0){k=j;f=0;while(1){h=c[k+(f*104|0)+96>>2]|0;if(h|0)c[h+36>>2]=k+(f*104|0);f=f+1|0;if((f|0)==(i|0)){p=j;break b}k=c[b+720>>2]|0}}else p=j}else p=0;while(0);f=c[b+732>>2]|0;if((f|0)>0){h=0;do{o=(c[b+740>>2]|0)+(h*52|0)+8|0;c[o>>2]=p+((c[o>>2]|0)*104|0);o=(c[b+740>>2]|0)+(h*52|0)+12|0;c[o>>2]=p+((c[o>>2]|0)*104|0);h=h+1|0}while((h|0)!=(f|0))}f=c[b+752>>2]|0;if((f|0)>0){j=0;do{h=(c[b+760>>2]|0)+(j*44|0)+8|0;c[h>>2]=p+((c[h>>2]|0)*104|0);h=(c[b+760>>2]|0)+(j*44|0)+12|0;c[h>>2]=p+((c[h>>2]|0)*104|0);h=(c[b+760>>2]|0)+(j*44|0)+16|0;c[h>>2]=p+((c[h>>2]|0)*104|0);h=c[b+760>>2]|0;i=c[h+(j*44|0)+40>>2]|0;if(i|0)c[i+36>>2]=h+(j*44|0);j=j+1|0}while((j|0)!=(f|0))}f=c[b+792>>2]|0;if((f|0)>0){h=c[b+800>>2]|0;i=0;do{c[h+(i*96|0)>>2]=p+((c[h+(i*96|0)>>2]|0)*104|0);i=i+1|0}while((i|0)!=(f|0))}k=c[b+692>>2]|0;if((k|0)>0){h=c[b+700>>2]|0;f=h;o=0;do{if((c[f+(o*60|0)+24>>2]|0)>0){j=0;while(1){c[h+(o*60|0)+28+(j<<2)>>2]=p+((c[f+(o*60|0)+28+(j<<2)>>2]|0)*104|0);j=j+1|0;i=c[b+700>>2]|0;if((j|0)>=(c[i+(o*60|0)+24>>2]|0)){h=i;f=i;break}else{f=i;h=i}}}o=o+1|0}while((o|0)!=(k|0))}}k=c[b+192>>2]|0;q=+Db[c[(c[k>>2]|0)+48>>2]&15](k);k=s;o=k+100|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(o|0));f=c[b+712>>2]|0;if((f|0)==(c[b+716>>2]|0)?(r=f|0?f<<1:1,(f|0)<(r|0)):0){if(!r)i=0;else{c[6485]=(c[6485]|0)+1;f=ic((r*104|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}i=f;f=c[b+712>>2]|0}if((f|0)>0){h=0;do{k=i+(h*104|0)|0;j=(c[b+720>>2]|0)+(h*104|0)|0;o=k+104|0;do{c[k>>2]=c[j>>2];k=k+4|0;j=j+4|0}while((k|0)<(o|0));h=h+1|0}while((h|0)!=(f|0))}f=c[b+720>>2]|0;if(f|0){if(a[b+724>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[f+-4>>2]|0)}c[b+720>>2]=0}a[b+724>>0]=1;c[b+720>>2]=i;c[b+716>>2]=r;f=c[b+712>>2]|0}k=c[b+720>>2]|0;c[k+(f*104|0)>>2]=0;k=k+(f*104|0)+4|0;j=s;o=k+100|0;do{c[k>>2]=c[j>>2];k=k+4|0;j=j+4|0}while((k|0)<(o|0));h=c[b+712>>2]|0;c[b+712>>2]=h+1;i=c[b+720>>2]|0;k=i+(h*104|0)|0;o=k+104|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(o|0));c[i+(h*104|0)+8>>2]=c[d>>2];c[i+(h*104|0)+8+4>>2]=c[d+4>>2];c[i+(h*104|0)+8+8>>2]=c[d+8>>2];c[i+(h*104|0)+8+12>>2]=c[d+12>>2];op(i+(h*104|0)+24|0,d|0,16)|0;g[i+(h*104|0)+88>>2]=e>0.0?1.0/e:0.0;c[i+(h*104|0)+4>>2]=c[c[b+880>>2]>>2];e=+g[i+(h*104|0)+8>>2];m=+g[i+(h*104|0)+12>>2];n=+g[i+(h*104|0)+16>>2];f=c[b+932>>2]|0;if(f|0){c[b+932>>2]=0;d=f;r=d+32|0;c[r>>2]=0;r=d+36|0;c[r>>2]=i+(h*104|0);r=d+40|0;c[r>>2]=0;g[d>>2]=e-q;r=d+4|0;g[r>>2]=m-q;r=d+8|0;g[r>>2]=n-q;r=d+12|0;g[r>>2]=0.0;r=d+16|0;g[r>>2]=q+e;r=d+20|0;g[r>>2]=q+m;r=d+24|0;g[r>>2]=q+n;r=d+28|0;g[r>>2]=0.0;r=c[b+928>>2]|0;_e(b+928|0,r,d);b=b+940|0;r=c[b>>2]|0;r=r+1|0;c[b>>2]=r;b=i+(h*104|0)+96|0;c[b>>2]=d;l=s;return}c[6485]=(c[6485]|0)+1;f=ic(63)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}k=f;o=k+44|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(o|0));d=f;r=d+32|0;c[r>>2]=0;r=d+36|0;c[r>>2]=i+(h*104|0);r=d+40|0;c[r>>2]=0;g[d>>2]=e-q;r=d+4|0;g[r>>2]=m-q;r=d+8|0;g[r>>2]=n-q;r=d+12|0;g[r>>2]=0.0;r=d+16|0;g[r>>2]=q+e;r=d+20|0;g[r>>2]=q+m;r=d+24|0;g[r>>2]=q+n;r=d+28|0;g[r>>2]=0.0;r=c[b+928>>2]|0;_e(b+928|0,r,d);b=b+940|0;r=c[b>>2]|0;r=r+1|0;c[b>>2]=r;b=i+(h*104|0)+96|0;c[b>>2]=d;l=s;return}function Xc(a,b,f,i){a=a|0;b=b|0;f=f|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0,z=0,A=0.0,B=0.0,C=0,D=0,E=0,F=0,G=0;z=l;l=l+80|0;u=pb[c[(c[a>>2]|0)+28>>2]&127](a)|0;v=+g[a+4>>2];w=+g[a+8>>2];x=+g[a+12>>2];if((u|0)<=0){l=z;return}f=z+32+4|0;j=z+32+8|0;k=z+32+12|0;m=z+32+16|0;n=z+32+20|0;o=z+32+24|0;p=z+32+28|0;q=z+32+32|0;r=z+32+36|0;s=z+32+40|0;t=z+32+44|0;y=0;do{Jb[c[(c[a>>2]|0)+16>>2]&3](a,z+28|0,z+4|0,z+16|0,z+8|0,z+24|0,z+20|0,z,z+12|0,y);a:do switch(c[z+16>>2]|0){case 0:{switch(c[z+12>>2]|0){case 2:{if((c[z>>2]|0)>0)i=0;else break a;do{E=c[z+24>>2]|0;C=S(c[z+20>>2]|0,i)|0;D=c[z+28>>2]|0;F=c[z+8>>2]|0;G=S(F,c[E+C>>2]|0)|0;B=w*+g[D+(G+4)>>2];A=x*+g[D+(G+8)>>2];g[z+32>>2]=v*+g[D+G>>2];g[f>>2]=B;g[j>>2]=A;g[k>>2]=0.0;G=S(F,c[E+(C+4)>>2]|0)|0;A=w*+g[D+(G+4)>>2];B=x*+g[D+(G+8)>>2];g[m>>2]=v*+g[D+G>>2];g[n>>2]=A;g[o>>2]=B;g[p>>2]=0.0;C=S(F,c[E+(C+8)>>2]|0)|0;B=w*+g[D+(C+4)>>2];A=x*+g[D+(C+8)>>2];g[q>>2]=v*+g[D+C>>2];g[r>>2]=B;g[s>>2]=A;g[t>>2]=0.0;Zb[c[(c[b>>2]|0)+8>>2]&127](b,z+32|0,y,i);i=i+1|0}while((i|0)<(c[z>>2]|0));break}case 3:{if((c[z>>2]|0)>0)i=0;else break a;do{D=c[z+24>>2]|0;E=S(c[z+20>>2]|0,i)|0;F=c[z+28>>2]|0;G=c[z+8>>2]|0;C=S(e[D+E>>1]|0,G)|0;A=w*+g[F+(C+4)>>2];B=x*+g[F+(C+8)>>2];g[z+32>>2]=v*+g[F+C>>2];g[f>>2]=A;g[j>>2]=B;g[k>>2]=0.0;C=S(e[D+(E+2)>>1]|0,G)|0;B=w*+g[F+(C+4)>>2];A=x*+g[F+(C+8)>>2];g[m>>2]=v*+g[F+C>>2];g[n>>2]=B;g[o>>2]=A;g[p>>2]=0.0;G=S(e[D+(E+4)>>1]|0,G)|0;A=w*+g[F+(G+4)>>2];B=x*+g[F+(G+8)>>2];g[q>>2]=v*+g[F+G>>2];g[r>>2]=A;g[s>>2]=B;g[t>>2]=0.0;Zb[c[(c[b>>2]|0)+8>>2]&127](b,z+32|0,y,i);i=i+1|0}while((i|0)<(c[z>>2]|0));break}case 5:{if((c[z>>2]|0)>0)i=0;else break a;do{D=c[z+24>>2]|0;E=S(c[z+20>>2]|0,i)|0;F=c[z+28>>2]|0;G=c[z+8>>2]|0;C=S(d[D+E>>0]|0,G)|0;A=w*+g[F+(C+4)>>2];B=x*+g[F+(C+8)>>2];g[z+32>>2]=v*+g[F+C>>2];g[f>>2]=A;g[j>>2]=B;g[k>>2]=0.0;C=S(d[D+(E+1)>>0]|0,G)|0;B=w*+g[F+(C+4)>>2];A=x*+g[F+(C+8)>>2];g[m>>2]=v*+g[F+C>>2];g[n>>2]=B;g[o>>2]=A;g[p>>2]=0.0;G=S(d[D+(E+2)>>0]|0,G)|0;A=w*+g[F+(G+4)>>2];B=x*+g[F+(G+8)>>2];g[q>>2]=v*+g[F+G>>2];g[r>>2]=A;g[s>>2]=B;g[t>>2]=0.0;Zb[c[(c[b>>2]|0)+8>>2]&127](b,z+32|0,y,i);i=i+1|0}while((i|0)<(c[z>>2]|0));break}default:break a}break}case 1:{switch(c[z+12>>2]|0){case 2:{if((c[z>>2]|0)>0)i=0;else break a;do{E=c[z+24>>2]|0;G=S(c[z+20>>2]|0,i)|0;F=c[z+28>>2]|0;D=c[z+8>>2]|0;C=S(D,c[E+G>>2]|0)|0;A=w*+h[F+(C+8)>>3];B=x*+h[F+(C+16)>>3];g[z+32>>2]=v*+h[F+C>>3];g[f>>2]=A;g[j>>2]=B;g[k>>2]=0.0;C=S(D,c[E+(G+4)>>2]|0)|0;B=w*+h[F+(C+8)>>3];A=x*+h[F+(C+16)>>3];g[m>>2]=v*+h[F+C>>3];g[n>>2]=B;g[o>>2]=A;g[p>>2]=0.0;G=S(D,c[E+(G+8)>>2]|0)|0;A=w*+h[F+(G+8)>>3];B=x*+h[F+(G+16)>>3];g[q>>2]=v*+h[F+G>>3];g[r>>2]=A;g[s>>2]=B;g[t>>2]=0.0;Zb[c[(c[b>>2]|0)+8>>2]&127](b,z+32|0,y,i);i=i+1|0}while((i|0)<(c[z>>2]|0));break}case 3:{if((c[z>>2]|0)>0)i=0;else break a;do{D=c[z+24>>2]|0;E=S(c[z+20>>2]|0,i)|0;F=c[z+28>>2]|0;G=c[z+8>>2]|0;C=S(e[D+E>>1]|0,G)|0;A=w*+h[F+(C+8)>>3];B=x*+h[F+(C+16)>>3];g[z+32>>2]=v*+h[F+C>>3];g[f>>2]=A;g[j>>2]=B;g[k>>2]=0.0;C=S(e[D+(E+2)>>1]|0,G)|0;B=w*+h[F+(C+8)>>3];A=x*+h[F+(C+16)>>3];g[m>>2]=v*+h[F+C>>3];g[n>>2]=B;g[o>>2]=A;g[p>>2]=0.0;G=S(e[D+(E+4)>>1]|0,G)|0;A=w*+h[F+(G+8)>>3];B=x*+h[F+(G+16)>>3];g[q>>2]=v*+h[F+G>>3];g[r>>2]=A;g[s>>2]=B;g[t>>2]=0.0;Zb[c[(c[b>>2]|0)+8>>2]&127](b,z+32|0,y,i);i=i+1|0}while((i|0)<(c[z>>2]|0));break}case 5:{if((c[z>>2]|0)>0)i=0;else break a;do{D=c[z+24>>2]|0;E=S(c[z+20>>2]|0,i)|0;F=c[z+28>>2]|0;G=c[z+8>>2]|0;C=S(d[D+E>>0]|0,G)|0;A=w*+h[F+(C+8)>>3];B=x*+h[F+(C+16)>>3];g[z+32>>2]=v*+h[F+C>>3];g[f>>2]=A;g[j>>2]=B;g[k>>2]=0.0;C=S(d[D+(E+1)>>0]|0,G)|0;B=w*+h[F+(C+8)>>3];A=x*+h[F+(C+16)>>3];g[m>>2]=v*+h[F+C>>3];g[n>>2]=B;g[o>>2]=A;g[p>>2]=0.0;G=S(d[D+(E+2)>>0]|0,G)|0;A=w*+h[F+(G+8)>>3];B=x*+h[F+(G+16)>>3];g[q>>2]=v*+h[F+G>>3];g[r>>2]=A;g[s>>2]=B;g[t>>2]=0.0;Zb[c[(c[b>>2]|0)+8>>2]&127](b,z+32|0,y,i);i=i+1|0}while((i|0)<(c[z>>2]|0));break}default:break a}break}default:{}}while(0);nb[c[(c[a>>2]|0)+24>>2]&127](a,y);y=y+1|0}while((y|0)!=(u|0));l=z;return}function Yc(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0;v=l;l=l+256|0;t=(a[b+28>>0]|0)!=0;s=t?e:d;t=t?d:e;u=c[s+4>>2]|0;if((c[u+68>>2]|0)!=(c[b+40>>2]|0)){i=c[b+12>>2]|0;if((i|0)>0){k=0;do{j=c[(c[b+20>>2]|0)+(k<<2)>>2]|0;if(j|0){lb[c[c[j>>2]>>2]&511](j);p=c[b+4>>2]|0;nb[c[(c[p>>2]|0)+60>>2]&127](p,c[(c[b+20>>2]|0)+(k<<2)>>2]|0)}k=k+1|0}while((k|0)!=(i|0))}Zg(b,d,e)}p=c[u+64>>2]|0;n=c[b+4>>2]|0;j=c[b+20>>2]|0;m=c[b+32>>2]|0;c[v+152>>2]=6284;c[v+152+4>>2]=s;c[v+152+8>>2]=t;c[v+152+12>>2]=n;c[v+152+16>>2]=f;c[v+152+20>>2]=h;c[v+152+24>>2]=j;c[v+152+28>>2]=m;m=v+128+16|0;a[m>>0]=1;n=v+128+12|0;c[n>>2]=0;o=v+128+4|0;c[o>>2]=0;c[v+128+8>>2]=0;i=c[b+12>>2]|0;if((i|0)>0){d=j;f=0;while(1){j=c[d+(f<<2)>>2]|0;if(j){nb[c[(c[j>>2]|0)+16>>2]&127](j,v+128|0);i=c[o>>2]|0;if((i|0)>0){k=0;do{e=c[(c[n>>2]|0)+(k<<2)>>2]|0;if(c[e+748>>2]|0){c[h+4>>2]=e;i=c[e+740>>2]|0;j=c[(c[h+8>>2]|0)+8>>2]|0;d=c[(c[h+12>>2]|0)+8>>2]|0;if((i|0)==(j|0))Pe(e,i+4|0,d+4|0);else Pe(e,d+4|0,j+4|0);c[h+4>>2]=0;i=c[o>>2]|0}k=k+1|0}while((k|0)<(i|0));if((i|0)<=0){q=i;r=19}}else{q=i;r=19}if((r|0)==19?(r=0,(q|0)<0):0){if((c[v+128+8>>2]|0)<0){i=c[n>>2]|0;if(i|0){if(a[m>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[i+-4>>2]|0)}c[n>>2]=0}a[m>>0]=1;c[n>>2]=0;c[v+128+8>>2]=0;i=q}else i=q;do{c[(c[n>>2]|0)+(i<<2)>>2]=0;i=i+1|0}while((i|0)!=0)}c[o>>2]=0;i=c[b+12>>2]|0}j=f+1|0;if((j|0)>=(i|0))break;d=c[b+20>>2]|0;f=j}i=c[n>>2]|0;if(i|0){if(a[m>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[i+-4>>2]|0)}c[n>>2]=0}}a[m>>0]=1;c[n>>2]=0;c[o>>2]=0;c[v+128+8>>2]=0;if(!p){i=c[b+12>>2]|0;if((i|0)>0){j=0;do{De(v+152|0,c[(c[u+24>>2]|0)+(j*80|0)+64>>2]|0,j);j=j+1|0}while((j|0)<(i|0))}else{l=v;return}}else{r=c[s+12>>2]|0;K=+g[r>>2];J=+g[r+16>>2];I=+g[r+32>>2];H=+g[r+4>>2];G=+g[r+20>>2];F=+g[r+36>>2];B=+g[r+8>>2];z=+g[r+24>>2];x=+g[r+40>>2];E=-+g[r+48>>2];D=-+g[r+52>>2];C=-+g[r+56>>2];r=c[t+12>>2]|0;T=+g[r>>2];S=+g[r+16>>2];R=+g[r+32>>2];Q=+g[r+4>>2];P=+g[r+20>>2];O=+g[r+36>>2];N=+g[r+8>>2];M=+g[r+24>>2];L=+g[r+40>>2];A=+g[r+48>>2];y=+g[r+52>>2];w=+g[r+56>>2];g[v+184>>2]=K*T+J*S+I*R;g[v+184+4>>2]=K*Q+J*P+I*O;g[v+184+8>>2]=K*N+J*M+I*L;g[v+184+12>>2]=0.0;g[v+184+16>>2]=H*T+G*S+F*R;g[v+184+20>>2]=H*Q+G*P+F*O;g[v+184+24>>2]=H*N+G*M+F*L;g[v+184+28>>2]=0.0;g[v+184+32>>2]=B*T+z*S+x*R;g[v+184+36>>2]=B*Q+z*P+x*O;g[v+184+40>>2]=B*N+z*M+x*L;g[v+184+44>>2]=0.0;g[v+184+48>>2]=K*E+J*D+I*C+(K*A+J*y+I*w);g[v+184+52>>2]=H*E+G*D+F*C+(H*A+G*y+F*w);g[v+184+56>>2]=B*E+z*D+x*C+(B*A+z*y+x*w);g[v+184+60>>2]=0.0;r=c[t+4>>2]|0;Zb[c[(c[r>>2]|0)+8>>2]&127](r,v+184|0,v+112|0,v+96|0);c[v+64>>2]=c[v+112>>2];c[v+64+4>>2]=c[v+112+4>>2];c[v+64+8>>2]=c[v+112+8>>2];c[v+64+12>>2]=c[v+112+12>>2];c[v+64+16>>2]=c[v+96>>2];c[v+64+16+4>>2]=c[v+96+4>>2];c[v+64+16+8>>2]=c[v+96+8>>2];c[v+64+16+12>>2]=c[v+96+12>>2];We(c[p>>2]|0,v+64|0,v+152|0)}j=c[b+12>>2]|0;if((j|0)<=0){l=v;return}d=0;do{do if(c[(c[b+20>>2]|0)+(d<<2)>>2]|0){q=c[u+24>>2]|0;r=c[q+(d*80|0)+64>>2]|0;h=c[s+12>>2]|0;z=+g[h>>2];A=+g[h+4>>2];B=+g[h+8>>2];C=+g[h+16>>2];D=+g[h+20>>2];E=+g[h+24>>2];L=+g[h+32>>2];N=+g[h+36>>2];P=+g[h+40>>2];F=+g[q+(d*80|0)>>2];G=+g[q+(d*80|0)+16>>2];H=+g[q+(d*80|0)+32>>2];I=+g[q+(d*80|0)+4>>2];J=+g[q+(d*80|0)+20>>2];K=+g[q+(d*80|0)+36>>2];M=+g[q+(d*80|0)+8>>2];O=+g[q+(d*80|0)+24>>2];Q=+g[q+(d*80|0)+40>>2];x=+g[q+(d*80|0)+48>>2];y=+g[q+(d*80|0)+52>>2];T=+g[q+(d*80|0)+56>>2];R=+g[h+48>>2]+(z*x+A*y+B*T);S=+g[h+52>>2]+(C*x+D*y+E*T);T=+g[h+56>>2]+(L*x+N*y+P*T);g[v+184>>2]=z*F+A*G+B*H;g[v+184+4>>2]=z*I+A*J+B*K;g[v+184+8>>2]=z*M+A*O+B*Q;g[v+184+12>>2]=0.0;g[v+184+16>>2]=C*F+D*G+E*H;g[v+184+20>>2]=C*I+D*J+E*K;g[v+184+24>>2]=C*M+D*O+E*Q;g[v+184+28>>2]=0.0;g[v+184+32>>2]=L*F+N*G+P*H;g[v+184+36>>2]=L*I+N*J+P*K;g[v+184+40>>2]=L*M+N*O+P*Q;g[v+184+44>>2]=0.0;g[v+184+48>>2]=R;g[v+184+52>>2]=S;g[v+184+56>>2]=T;g[v+184+60>>2]=0.0;Zb[c[(c[r>>2]|0)+8>>2]&127](r,v+184|0,v+48|0,v+32|0);r=c[t+4>>2]|0;Zb[c[(c[r>>2]|0)+8>>2]&127](r,c[t+12>>2]|0,v+16|0,v);if(!(+g[v+48>>2]>+g[v>>2])?!(+g[v+32>>2]<+g[v+16>>2]):0)i=1;else i=0;if(!(!(+g[v+48+8>>2]>+g[v+8>>2])?!(+g[v+32+8>>2]<+g[v+16+8>>2]):0))i=0;if(!(+g[v+48+4>>2]>+g[v+4>>2])?!(+g[v+32+4>>2]<+g[v+16+4>>2]|i^1):0)break;r=c[(c[b+20>>2]|0)+(d<<2)>>2]|0;lb[c[c[r>>2]>>2]&511](r);r=c[b+4>>2]|0;nb[c[(c[r>>2]|0)+60>>2]&127](r,c[(c[b+20>>2]|0)+(d<<2)>>2]|0);c[(c[b+20>>2]|0)+(d<<2)>>2]=0}while(0);d=d+1|0}while((d|0)<(j|0));l=v;return}function Zc(b,d,e,f,h,i,j,k,m){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,H=0,I=0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0;I=l;l=l+32|0;c[I+16>>2]=i;c[I+16+4>>2]=j;c[I+16+8>>2]=k;c[I>>2]=e;c[I+4>>2]=f;c[I+8>>2]=h;if(!(+g[d+52>>2]<+g[b+12>>2])){m=0;l=I;return m|0}E=+g[d+36>>2];F=+g[d+40>>2];w=+g[d+44>>2];h=c[d+48>>2]|0;x=1.0/+G(+(E*E+F*F+w*w));k=ii(I)|0;y=+g[d+4>>2]-+g[k+48>>2];z=+g[d+8>>2]-+g[k+52>>2];A=+g[d+12>>2]-+g[k+56>>2];k=ii(I+16|0)|0;B=+g[d+20>>2]-+g[k+48>>2];C=+g[d+24>>2]-+g[k+52>>2];D=+g[d+28>>2]-+g[k+56>>2];if(!f)if(!e){n=0.0;o=0.0;q=0.0;r=0.0;s=0.0;p=0.0}else{s=+g[e+336>>2];q=+g[e+340>>2];p=+g[e+332>>2];n=A*s-z*q;o=+g[e+316>>2];q=y*q-A*p;r=+g[e+320>>2];s=z*p-y*s;p=+g[e+324>>2]}else{s=+g[f+332>>2];q=+g[f+336>>2];p=+g[f+328>>2];n=A*s-z*q;o=+g[f+312>>2];q=y*q-A*p;r=+g[f+316>>2];s=z*p-y*s;p=+g[f+320>>2]}v=o+n;u=r+q;o=p+s;if(!j)if(!i){p=0.0;q=0.0;r=0.0;s=0.0;t=0.0;n=0.0}else{t=+g[i+336>>2];r=+g[i+340>>2];n=+g[i+332>>2];p=D*t-C*r;q=+g[i+316>>2];r=B*r-D*n;s=+g[i+320>>2];t=C*n-B*t;n=+g[i+324>>2]}else{t=+g[j+332>>2];r=+g[j+336>>2];n=+g[j+328>>2];p=D*t-C*r;q=+g[j+312>>2];r=B*r-D*n;s=+g[j+316>>2];t=C*n-B*t;n=+g[j+320>>2]}q=v-(q+p);u=u-(s+r);t=o-(n+t);v=w*x*t+(F*x*u+E*x*q);s=+g[d+52>>2]-+g[b+12>>2];c[m+4>>2]=c[I>>2];c[m+4+4>>2]=c[I+4>>2];c[m+4+8>>2]=c[I+8>>2];c[m+16>>2]=c[I+16>>2];c[m+16+4>>2]=c[I+16+4>>2];c[m+16+8>>2]=c[I+16+8>>2];d=ii(I)|0;r=y*+g[d+4>>2]+z*+g[d+20>>2]+A*+g[d+36>>2];p=y*+g[d+8>>2]+z*+g[d+24>>2]+A*+g[d+40>>2];g[m+28>>2]=y*+g[d>>2]+z*+g[d+16>>2]+A*+g[d+32>>2];g[m+32>>2]=r;g[m+36>>2]=p;g[m+40>>2]=0.0;d=ii(I+16|0)|0;p=B*+g[d+4>>2]+C*+g[d+20>>2]+D*+g[d+36>>2];r=B*+g[d+8>>2]+C*+g[d+24>>2]+D*+g[d+40>>2];g[m+44>>2]=B*+g[d>>2]+C*+g[d+16>>2]+D*+g[d+32>>2];g[m+48>>2]=p;g[m+52>>2]=r;g[m+56>>2]=0.0;g[m+164>>2]=y;g[m+168>>2]=z;g[m+172>>2]=A;g[m+176>>2]=0.0;g[m+180>>2]=B;g[m+184>>2]=C;g[m+188>>2]=D;g[m+192>>2]=0.0;g[m+60>>2]=1.0;g[m+64>>2]=1.0;c[m+156>>2]=0;c[m+160>>2]=0;g[m+68>>2]=1.0;g[m+72>>2]=E*x*s;g[m+76>>2]=F*x*s;g[m+80>>2]=w*x*s;g[m+84>>2]=0.0;g[m+196>>2]=E*x;g[m+200>>2]=F*x;g[m+204>>2]=w*x;c[m+208>>2]=h;a[m+152>>0]=0;D=+g[b+16>>2];g[m+212>>2]=(t-w*x*v)*(t-w*x*v)+((q-E*x*v)*(q-E*x*v)+(u-F*x*v)*(u-F*x*v))<D*v*v*D?1.0:D;h=c[I+4>>2]|0;if(!h){h=c[I>>2]|0;if(!h)o=0.0;else{h=h+128|0;H=14}}else{h=h+344|0;H=14}if((H|0)==14)o=+g[h>>2];if((a[22600]|0)==0?qy(22600)|0:0){h=23220;k=h+48|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0))}h=c[I+4>>2]|0;if(!h){e=c[I>>2]|0;e=(e|0)==0?23220:e+180|0}else e=h+264|0;h=c[I+16+4>>2]|0;if(!h){h=c[I+16>>2]|0;if(!h)n=0.0;else{h=h+128|0;H=25}}else{h=h+344|0;H=25}if((H|0)==25)n=+g[h>>2];if((a[22600]|0)==0?qy(22600)|0:0){h=23220;k=h+48|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0))}h=c[I+16+4>>2]|0;if(!h){h=c[I+16>>2]|0;h=(h|0)==0?23220:h+180|0}else h=h+264|0;W=+g[m+172>>2];O=+g[m+168>>2];N=+g[m+164>>2];V=+g[e>>2];U=+g[e+16>>2];T=+g[e+32>>2];S=+g[e+4>>2];R=+g[e+20>>2];Q=+g[e+36>>2];P=+g[e+8>>2];M=+g[e+24>>2];L=+g[e+40>>2];A=+g[m+188>>2];u=+g[m+184>>2];v=+g[m+180>>2];K=+g[h>>2];J=+g[h+16>>2];p=+g[h+32>>2];q=+g[h+4>>2];r=+g[h+20>>2];s=+g[h+36>>2];t=+g[h+8>>2];B=+g[h+24>>2];w=+g[h+40>>2];D=o-((V*0.0+U*-W+O*T)*0.0+W*(S*0.0+R*-W+O*Q)+(P*0.0+M*-W+O*L)*-O)+(n-((K*0.0+J*-A+u*p)*0.0+A*(q*0.0+r*-A+u*s)+(t*0.0+B*-A+u*w)*-u));F=0.0-((V*0.0+U*-W+O*T)*-W+(S*0.0+R*-W+O*Q)*0.0+N*(P*0.0+M*-W+O*L))+(0.0-((K*0.0+J*-A+u*p)*-A+(q*0.0+r*-A+u*s)*0.0+v*(t*0.0+B*-A+u*w)));x=0.0-(O*(V*0.0+U*-W+O*T)+(S*0.0+R*-W+O*Q)*-N+(P*0.0+M*-W+O*L)*0.0)+(0.0-(u*(K*0.0+J*-A+u*p)+(q*0.0+r*-A+u*s)*-v+(t*0.0+B*-A+u*w)*0.0));E=0.0-((W*V+U*0.0+T*-N)*0.0+W*(W*S+R*0.0+Q*-N)+(W*P+M*0.0+L*-N)*-O)+(0.0-((A*K+J*0.0+p*-v)*0.0+A*(A*q+r*0.0+s*-v)+(A*t+B*0.0+w*-v)*-u));C=o-((W*V+U*0.0+T*-N)*-W+(W*S+R*0.0+Q*-N)*0.0+N*(W*P+M*0.0+L*-N))+(n-((A*K+J*0.0+p*-v)*-A+(A*q+r*0.0+s*-v)*0.0+v*(A*t+B*0.0+w*-v)));y=0.0-(O*(W*V+U*0.0+T*-N)+(W*S+R*0.0+Q*-N)*-N+(W*P+M*0.0+L*-N)*0.0)+(0.0-(u*(A*K+J*0.0+p*-v)+(A*q+r*0.0+s*-v)*-v+(A*t+B*0.0+w*-v)*0.0));z=0.0-((V*-O+N*U+T*0.0)*0.0+W*(S*-O+N*R+Q*0.0)+(P*-O+N*M+L*0.0)*-O)+(0.0-((K*-u+v*J+p*0.0)*0.0+A*(q*-u+v*r+s*0.0)+(t*-u+v*B+w*0.0)*-u));A=0.0-((V*-O+N*U+T*0.0)*-W+(S*-O+N*R+Q*0.0)*0.0+N*(P*-O+N*M+L*0.0))+(0.0-((K*-u+v*J+p*0.0)*-A+(q*-u+v*r+s*0.0)*0.0+v*(t*-u+v*B+w*0.0)));w=o-(O*(V*-O+N*U+T*0.0)+(S*-O+N*R+Q*0.0)*-N+(P*-O+N*M+L*0.0)*0.0)+(n-(u*(K*-u+v*J+p*0.0)+(q*-u+v*r+s*0.0)*-v+(t*-u+v*B+w*0.0)*0.0));B=1.0/(x*(A*E-C*z)+(D*(C*w-y*A)+F*(y*z-w*E)));g[m+104>>2]=B*(C*w-y*A);g[m+108>>2]=B*(A*x-w*F);g[m+112>>2]=B*(y*F-C*x);g[m+116>>2]=0.0;g[m+120>>2]=B*(y*z-w*E);g[m+124>>2]=B*(w*D-z*x);g[m+128>>2]=B*(E*x-y*D);g[m+132>>2]=0.0;g[m+136>>2]=B*(A*E-C*z);g[m+140>>2]=B*(z*F-A*D);g[m+144>>2]=B*(C*D-E*F);g[m+148>>2]=0.0;m=1;l=I;return m|0}function _c(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0;if((a[b+180>>0]|0)==0?(a[b+48>>0]|0)!=0:0){n=+g[b+116>>2];t=+g[e>>2];o=+g[b+132>>2];s=+g[e+4>>2];p=+g[b+148>>2];D=+g[e+8>>2];u=+g[b+120>>2];B=+g[b+136>>2];C=+g[b+152>>2];w=+g[b+124>>2];A=+g[b+140>>2];q=+g[b+156>>2];v=+g[e+16>>2];x=+g[e+20>>2];z=+g[e+24>>2];y=+g[e+32>>2];r=+g[e+36>>2];E=+g[e+40>>2];h=+g[b+164>>2];f=+g[b+168>>2];H=+g[b+172>>2];G=+g[e+48>>2]+(t*h+s*f+D*H);F=v*h+x*f+z*H+ +g[e+52>>2];H=y*h+r*f+E*H+ +g[e+56>>2];g[b+824>>2]=n*t+o*s+p*D;g[b+828>>2]=t*u+s*B+D*C;g[b+832>>2]=t*w+s*A+D*q;g[b+836>>2]=0.0;g[b+840>>2]=n*v+o*x+p*z;g[b+844>>2]=u*v+B*x+C*z;g[b+848>>2]=w*v+A*x+q*z;g[b+852>>2]=0.0;g[b+856>>2]=n*y+o*r+p*E;g[b+860>>2]=u*y+B*r+C*E;g[b+864>>2]=w*y+A*r+q*E;g[b+868>>2]=0.0;g[b+872>>2]=G;g[b+876>>2]=F;g[b+880>>2]=H;g[b+884>>2]=0.0;H=+g[b+52>>2];F=+g[d>>2];G=+g[b+68>>2];E=+g[d+4>>2];q=+g[b+84>>2];r=+g[d+8>>2];A=+g[b+56>>2];y=+g[b+72>>2];w=+g[b+88>>2];C=+g[b+60>>2];B=+g[b+76>>2];u=+g[b+92>>2];p=+g[d+16>>2];o=+g[d+20>>2];n=+g[d+24>>2];z=+g[d+32>>2];x=+g[d+36>>2];v=+g[d+40>>2];D=+g[b+100>>2];s=+g[b+104>>2];t=+g[b+108>>2];k=b+856|0;l=b+840|0;f=p*D+o*s+n*t;h=H*z+G*x+q*v;i=C*p+B*o+u*n;m=A*p+y*o+w*n;n=H*p+G*o+q*n;o=F*C+E*B+r*u;p=F*A+E*y+r*w;q=H*F+G*E+q*r;r=F*D+E*s+r*t;s=z*D+x*s;t=v*t;u=C*z+B*x+u*v;v=A*z+y*x+w*v}else{n=+g[b+52>>2];t=+g[d>>2];o=+g[b+68>>2];s=+g[d+4>>2];p=+g[b+84>>2];A=+g[d+8>>2];u=+g[b+56>>2];C=+g[b+72>>2];B=+g[b+88>>2];H=+g[b+60>>2];D=+g[b+76>>2];q=+g[b+92>>2];v=+g[d+16>>2];G=+g[d+20>>2];E=+g[d+24>>2];F=+g[d+32>>2];r=+g[d+36>>2];z=+g[d+40>>2];h=+g[b+100>>2];f=+g[b+104>>2];w=+g[b+108>>2];x=+g[d+48>>2]+(t*h+s*f+A*w);y=v*h+G*f+E*w+ +g[d+52>>2];w=F*h+r*f+z*w+ +g[d+56>>2];g[b+824>>2]=n*t+o*s+p*A;g[b+828>>2]=t*u+s*C+A*B;g[b+832>>2]=t*H+s*D+A*q;g[b+836>>2]=0.0;g[b+840>>2]=n*v+o*G+p*E;g[b+844>>2]=u*v+C*G+B*E;g[b+848>>2]=H*v+D*G+q*E;g[b+852>>2]=0.0;g[b+856>>2]=n*F+o*r+p*z;g[b+860>>2]=u*F+C*r+B*z;g[b+864>>2]=H*F+D*r+q*z;g[b+868>>2]=0.0;g[b+872>>2]=x;g[b+876>>2]=y;g[b+880>>2]=w;g[b+884>>2]=0.0;w=+g[b+116>>2];y=+g[e>>2];x=+g[b+132>>2];z=+g[e+4>>2];q=+g[b+148>>2];r=+g[e+8>>2];D=+g[b+120>>2];F=+g[b+136>>2];H=+g[b+152>>2];B=+g[b+124>>2];C=+g[b+140>>2];u=+g[b+156>>2];p=+g[e+16>>2];o=+g[e+20>>2];n=+g[e+24>>2];E=+g[e+32>>2];G=+g[e+36>>2];v=+g[e+40>>2];A=+g[b+164>>2];s=+g[b+168>>2];t=+g[b+172>>2];k=b+856|0;l=b+840|0;f=p*A+o*s+n*t;h=w*E+x*G+q*v;i=B*p+C*o+u*n;m=D*p+F*o+H*n;n=w*p+x*o+q*n;o=y*B+z*C+r*u;p=y*D+z*F+r*H;q=w*y+x*z+q*r;r=y*A+z*s+r*t;s=E*A+G*s;t=v*t;u=B*E+C*G+u*v;v=D*E+F*G+H*v;d=e}G=+g[d+48>>2]+r;H=f+ +g[d+52>>2];f=s+t+ +g[d+56>>2];g[b+888>>2]=q;g[b+892>>2]=p;g[b+896>>2]=o;g[b+900>>2]=0.0;g[b+904>>2]=n;g[b+908>>2]=m;g[b+912>>2]=i;g[b+916>>2]=0.0;g[b+920>>2]=h;g[b+924>>2]=v;g[b+928>>2]=u;g[b+932>>2]=0.0;g[b+936>>2]=G;g[b+940>>2]=H;g[b+944>>2]=f;g[b+948>>2]=0.0;c[b+968>>2]=c[b+872>>2];c[b+968+4>>2]=c[b+872+4>>2];c[b+968+8>>2]=c[b+872+8>>2];c[b+968+12>>2]=c[b+872+12>>2];c[b+984>>2]=c[b+936>>2];c[b+984+4>>2]=c[b+936+4>>2];c[b+984+8>>2]=c[b+936+8>>2];c[b+984+12>>2]=c[b+936+12>>2];d=c[b+824>>2]|0;e=c[l>>2]|0;l=c[k>>2]|0;c[b+952>>2]=d;c[b+956>>2]=e;c[b+960>>2]=l;g[b+964>>2]=0.0;f=(c[j>>2]=d,+g[j>>2]);h=(c[j>>2]=e,+g[j>>2]);i=(c[j>>2]=l,+g[j>>2]);if((a[b+180>>0]|0)==0?(a[b+48>>0]|0)==0:0){y=+g[b+968>>2];z=+g[b+972>>2];A=+g[b+976>>2];H=A-+g[b+992>>2];G=z-+g[b+988>>2];E=y-+g[b+984>>2];l=b+1016|0;g[l>>2]=E;l=b+1020|0;g[l>>2]=G;l=b+1024|0;g[l>>2]=H;l=b+1028|0;g[l>>2]=0.0;F=f*E;B=h*G;B=F+B;F=i*H;F=B+F;B=f*F;C=h*F;D=i*F;B=y+B;C=z+C;D=A+D;l=b+1e3|0;g[l>>2]=B;l=b+1004|0;g[l>>2]=C;l=b+1008|0;g[l>>2]=D;l=b+1012|0;g[l>>2]=0.0;l=b+1032|0;g[l>>2]=F;l=b+828|0;k=b+844|0;e=b+860|0;F=+g[l>>2];D=+g[k>>2];C=+g[e>>2];F=F*E;D=D*G;D=F+D;C=C*H;C=D+C;e=b+1036|0;g[e>>2]=C;e=b+832|0;k=b+848|0;l=b+864|0;C=+g[e>>2];D=+g[k>>2];F=+g[l>>2];E=C*E;G=D*G;G=E+G;H=F*H;H=G+H;b=b+1040|0;g[b>>2]=H;return}y=+g[b+968>>2];z=+g[b+972>>2];A=+g[b+976>>2];H=+g[b+992>>2]-A;G=+g[b+988>>2]-z;E=+g[b+984>>2]-y;l=b+1016|0;g[l>>2]=E;l=b+1020|0;g[l>>2]=G;l=b+1024|0;g[l>>2]=H;l=b+1028|0;g[l>>2]=0.0;F=f*E;B=h*G;B=F+B;F=i*H;F=B+F;B=f*F;C=h*F;D=i*F;B=y+B;C=z+C;D=A+D;l=b+1e3|0;g[l>>2]=B;l=b+1004|0;g[l>>2]=C;l=b+1008|0;g[l>>2]=D;l=b+1012|0;g[l>>2]=0.0;l=b+1032|0;g[l>>2]=F;l=b+828|0;k=b+844|0;e=b+860|0;F=+g[l>>2];D=+g[k>>2];C=+g[e>>2];F=F*E;D=D*G;D=F+D;C=C*H;C=D+C;e=b+1036|0;g[e>>2]=C;e=b+832|0;k=b+848|0;l=b+864|0;C=+g[e>>2];D=+g[k>>2];F=+g[l>>2];E=C*E;G=D*G;G=E+G;H=F*H;H=G+H;b=b+1040|0;g[b>>2]=H;return}function $c(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,G=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0;c[b>>2]=c[a>>2];c[b+4>>2]=c[a+4>>2];c[b+8>>2]=c[a+8>>2];c[b+12>>2]=c[a+12>>2];c[b+16>>2]=c[a+16>>2];c[b+16+4>>2]=c[a+16+4>>2];c[b+16+8>>2]=c[a+16+8>>2];c[b+16+12>>2]=c[a+16+12>>2];c[b+32>>2]=c[a+32>>2];c[b+32+4>>2]=c[a+32+4>>2];c[b+32+8>>2]=c[a+32+8>>2];c[b+32+12>>2]=c[a+32+12>>2];o=+g[a+20>>2];v=+g[a+40>>2];m=+g[a+24>>2];p=+g[a+36>>2];r=+g[a+32>>2];n=+g[a+16>>2];s=+g[a>>2];q=+g[a+4>>2];t=+g[a+8>>2];u=1.0/((o*v-m*p)*s+q*(m*r-v*n)+(p*n-o*r)*t);g[d>>2]=(o*v-m*p)*u;g[d+4>>2]=u*(p*t-v*q);g[d+8>>2]=u*(m*q-o*t);g[d+12>>2]=0.0;g[d+16>>2]=(m*r-v*n)*u;g[d+20>>2]=u*(v*s-r*t);g[d+24>>2]=u*(n*t-m*s);g[d+28>>2]=0.0;g[d+32>>2]=(p*n-o*r)*u;g[d+36>>2]=u*(r*q-p*s);g[d+40>>2]=u*(o*s-n*q);g[d+44>>2]=0.0;a:do if(!(c[5838]|0)){e=b+20|0;f=b+36|0;h=b+8|0;i=b+24|0;j=b+40|0;k=b;l=b+4|0}else{C=u*(r*q-p*s);D=u*(m*q-o*t);E=u*(n*t-m*s);G=u*(o*s-n*q);I=(o*v-m*p)*u;B=(m*r-v*n)*u;A=(p*n-o*r)*u;z=u*(p*t-v*q);y=u*(v*s-r*t);e=0;while(1){n=+F(+I);m=+F(+B);N=+F(+A);W=+F(+z);O=+F(+y);M=+F(+C);Q=+F(+D);P=+F(+E);w=+F(+G);R=n+m+N>W+O+M?n+m+N:W+O+M;O=n+W+Q>m+O+P?n+W+Q:m+O+P;m=+g[b>>2];W=+F(+m);n=+g[b+16>>2];T=+F(+n);o=+g[b+32>>2];K=+F(+o);p=+g[b+4>>2];V=+F(+p);q=+g[b+20>>2];S=+F(+q);r=+g[b+36>>2];J=+F(+r);s=+g[b+8>>2];U=+F(+s);t=+g[b+24>>2];L=+F(+t);u=+g[b+40>>2];x=+F(+u);v=W+T+K>V+S+J?W+T+K:V+S+J;v=v>U+L+x?v:U+L+x;L=W+V+U>T+S+L?W+V+U:T+S+L;w=(R>Q+P+w?R:Q+P+w)*(O>N+M+w?O:N+M+w);x=v*(L>K+J+x?L:K+J+x);if(+F(+w)<1.1920928955078125e-07){e=b+20|0;f=b+36|0;h=b+8|0;i=b+24|0;j=b+40|0;k=b;l=b+4|0;break a}if(+F(+x)<1.1920928955078125e-07){e=b+20|0;f=b+36|0;h=b+8|0;i=b+24|0;j=b+40|0;k=b;l=b+4|0;break a}W=+H(+(w/x),.25);O=(m*(W+-2.0)+1.0/W*I)*.5;Q=(p*(W+-2.0)+1.0/W*B)*.5;S=(s*(W+-2.0)+1.0/W*A)*.5;P=(n*(W+-2.0)+1.0/W*z)*.5;R=(q*(W+-2.0)+1.0/W*y)*.5;T=(t*(W+-2.0)+1.0/W*C)*.5;U=(o*(W+-2.0)+1.0/W*D)*.5;V=(r*(W+-2.0)+1.0/W*E)*.5;W=(u*(W+-2.0)+1.0/W*G)*.5;g[b>>2]=m+O;g[b+4>>2]=p+Q;g[b+8>>2]=s+S;g[b+12>>2]=0.0;g[b+16>>2]=n+P;g[b+20>>2]=q+R;g[b+24>>2]=t+T;g[b+28>>2]=0.0;g[b+32>>2]=o+U;g[b+36>>2]=r+V;g[b+40>>2]=u+W;g[b+44>>2]=0.0;N=1.0/(((q+R)*(u+W)-(t+T)*(r+V))*(m+O)+(p+Q)*((t+T)*(o+U)-(u+W)*(n+P))+((r+V)*(n+P)-(q+R)*(o+U))*(s+S));I=((q+R)*(u+W)-(t+T)*(r+V))*N;z=N*((r+V)*(s+S)-(u+W)*(p+Q));D=N*((t+T)*(p+Q)-(q+R)*(s+S));B=((t+T)*(o+U)-(u+W)*(n+P))*N;y=N*((u+W)*(m+O)-(o+U)*(s+S));E=N*((n+P)*(s+S)-(t+T)*(m+O));A=((r+V)*(n+P)-(q+R)*(o+U))*N;C=N*((o+U)*(p+Q)-(r+V)*(m+O));G=N*((q+R)*(m+O)-(n+P)*(p+Q));g[d>>2]=I;g[d+4>>2]=z;g[d+8>>2]=D;g[d+12>>2]=0.0;g[d+16>>2]=B;g[d+20>>2]=y;g[d+24>>2]=E;g[d+28>>2]=0.0;g[d+32>>2]=A;g[d+36>>2]=C;g[d+40>>2]=G;g[d+44>>2]=0.0;U=+F(+O)+ +F(+P)+ +F(+U);V=+F(+Q)+ +F(+R)+ +F(+V);W=+F(+S)+ +F(+T)+ +F(+W);V=U>V?U:V;if((V>W?V:W)<=v*+g[5837])break;e=e+1|0;if(e>>>0>=(c[5838]|0)>>>0){e=b+20|0;f=b+36|0;h=b+8|0;i=b+24|0;j=b+40|0;k=b;l=b+4|0;break a}}M=+g[b>>2];O=+g[b+16>>2];Q=+g[b+32>>2];G=+g[b+4>>2];J=+g[b+20>>2];L=+g[b+36>>2];A=+g[b+8>>2];C=+g[b+24>>2];E=+g[b+40>>2];N=+g[a>>2];P=+g[a+16>>2];R=+g[a+32>>2];I=+g[a+4>>2];K=+g[a+20>>2];T=+g[a+36>>2];B=+g[a+8>>2];D=+g[a+24>>2];W=+g[a+40>>2];V=A*I+C*K+E*T+(G*B+J*D+L*W);S=G*N+J*P+L*R+(M*I+O*K+Q*T);U=A*N+C*P+E*R+(M*B+O*D+Q*W);W=A*B+C*D+E*W+(A*B+C*D+E*W);T=G*I+J*K+L*T+(G*I+J*K+L*T);R=M*N+O*P+Q*R+(M*N+O*P+Q*R);S=S*.5;U=U*.5;V=V*.5;R=R*.5;g[d>>2]=R;g[d+4>>2]=S;g[d+8>>2]=U;g[d+12>>2]=0.0;g[d+16>>2]=S;T=T*.5;g[d+20>>2]=T;g[d+24>>2]=V;g[d+28>>2]=0.0;g[d+32>>2]=U;g[d+36>>2]=V;W=W*.5;g[d+40>>2]=W;g[d+44>>2]=0.0;return}while(0);M=+g[k>>2];O=+g[b+16>>2];Q=+g[b+32>>2];G=+g[l>>2];J=+g[e>>2];L=+g[f>>2];A=+g[h>>2];C=+g[i>>2];E=+g[j>>2];N=+g[a>>2];P=+g[a+16>>2];R=+g[a+32>>2];I=+g[a+4>>2];K=+g[a+20>>2];T=+g[a+36>>2];B=+g[a+8>>2];D=+g[a+24>>2];W=+g[a+40>>2];V=A*I+C*K+E*T+(G*B+J*D+L*W);S=G*N+J*P+L*R+(M*I+O*K+Q*T);U=A*N+C*P+E*R+(M*B+O*D+Q*W);W=A*B+C*D+E*W+(A*B+C*D+E*W);T=G*I+J*K+L*T+(G*I+J*K+L*T);R=M*N+O*P+Q*R+(M*N+O*P+Q*R);S=S*.5;U=U*.5;V=V*.5;R=R*.5;g[d>>2]=R;g[d+4>>2]=S;g[d+8>>2]=U;g[d+12>>2]=0.0;g[d+16>>2]=S;T=T*.5;g[d+20>>2]=T;g[d+24>>2]=V;g[d+28>>2]=0.0;g[d+32>>2]=U;g[d+36>>2]=V;W=W*.5;g[d+40>>2]=W;g[d+44>>2]=0.0;return}function ad(d,e,f,h,i){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0.0,k=0.0,m=0,n=0.0,o=0,p=0,q=0.0,r=0.0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0;x=l;l=l+176|0;a[d+60>>0]=f&1;if(f){u=+g[h>>2]+-1.0;v=+g[h+4>>2]+-1.0;w=+g[h+8>>2]+-1.0;g[d+4>>2]=u;g[d+8>>2]=v;g[d+12>>2]=w;g[d+16>>2]=0.0;q=+g[i>>2]+1.0;k=+g[i+4>>2]+1.0;j=+g[i+8>>2]+1.0;g[d+20>>2]=q;g[d+24>>2]=k;g[d+28>>2]=j;g[d+32>>2]=0.0;g[d+36>>2]=65533.0/(q-u);g[d+40>>2]=65533.0/(k-v);g[d+44>>2]=65533.0/(j-w);g[d+48>>2]=0.0;a[d+60>>0]=1;n=u+ +(~~((u-u)*(65533.0/(q-u)))&65535&-2&65535)/(65533.0/(q-u))+-1.0;r=v+ +(~~((v-v)*(65533.0/(k-v)))&65535&-2&65535)/(65533.0/(k-v))+-1.0;t=w+ +(~~((w-w)*(65533.0/(j-w)))&65535&-2&65535)/(65533.0/(j-w))+-1.0;if(n<u)g[d+4>>2]=n;else n=u;if(r<v)g[d+8>>2]=r;else r=v;if(t<w)g[d+12>>2]=t;else t=w;u=n+ +((~~((q-n)*(65533.0/(q-u))+1.0)&65535|1)&65535)/(65533.0/(q-u))+1.0;v=r+ +((~~((k-r)*(65533.0/(k-v))+1.0)&65535|1)&65535)/(65533.0/(k-v))+1.0;w=t+ +((~~((j-t)*(65533.0/(j-w))+1.0)&65535|1)&65535)/(65533.0/(j-w))+1.0;if(q<u){g[d+20>>2]=u;q=u}if(k<v){g[d+24>>2]=v;k=v}if(j<w){g[d+28>>2]=w;j=w}g[d+36>>2]=65533.0/(q-n);g[d+40>>2]=65533.0/(k-r);g[d+44>>2]=65533.0/(j-t);g[d+48>>2]=0.0;c[x+152>>2]=8112;c[x+152+4>>2]=d+104;c[x+152+8>>2]=d;Zb[c[(c[e>>2]|0)+8>>2]&127](e,x+152|0,d+4|0,d+20|0);f=c[d+108>>2]|0;c[x+136>>2]=0;c[x+136+4>>2]=0;c[x+136+8>>2]=0;c[x+136+12>>2]=0;m=c[d+128>>2]|0;if((m|0)<(f<<1|0)){if((c[d+132>>2]|0)<(f<<1|0)){if(!f){h=0;i=m}else{c[6485]=(c[6485]|0)+1;h=ic(f<<5|19)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}i=c[d+128>>2]|0}if((i|0)>0){e=0;do{s=h+(e<<4)|0;p=(c[d+136>>2]|0)+(e<<4)|0;c[s>>2]=c[p>>2];c[s+4>>2]=c[p+4>>2];c[s+8>>2]=c[p+8>>2];c[s+12>>2]=c[p+12>>2];e=e+1|0}while((e|0)!=(i|0))}i=c[d+136>>2]|0;if(i|0){if(a[d+140>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[i+-4>>2]|0)}c[d+136>>2]=0}a[d+140>>0]=1;c[d+136>>2]=h;c[d+132>>2]=f<<1;i=d+136|0}else i=d+136|0;h=m;do{s=(c[i>>2]|0)+(h<<4)|0;c[s>>2]=c[x+136>>2];c[s+4>>2]=c[x+136+4>>2];c[s+8>>2]=c[x+136+8>>2];c[s+12>>2]=c[x+136+12>>2];h=h+1|0}while((h|0)!=(f<<1|0))}c[d+128>>2]=f<<1}else{c[x+128>>2]=8132;c[x+128+4>>2]=d+64;c[x+112>>2]=-581039253;c[x+112+4>>2]=-581039253;c[x+112+8>>2]=-581039253;g[x+112+12>>2]=0.0;c[x+96>>2]=1566444395;c[x+96+4>>2]=1566444395;c[x+96+8>>2]=1566444395;g[x+96+12>>2]=0.0;Zb[c[(c[e>>2]|0)+8>>2]&127](e,x+128|0,x+112|0,x+96|0);f=c[d+68>>2]|0;m=x+32|0;p=m+64|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(p|0));s=c[d+88>>2]|0;if((s|0)<(f<<1|0)){if((c[d+92>>2]|0)<(f<<1|0)){if(!f){h=0;i=s}else{c[6485]=(c[6485]|0)+1;h=ic(f<<7|19)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}i=c[d+88>>2]|0}if((i|0)>0){e=0;do{m=h+(e<<6)|0;o=(c[d+96>>2]|0)+(e<<6)|0;p=m+64|0;do{c[m>>2]=c[o>>2];m=m+4|0;o=o+4|0}while((m|0)<(p|0));e=e+1|0}while((e|0)!=(i|0))}i=c[d+96>>2]|0;if(i|0){if(a[d+100>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[i+-4>>2]|0)}c[d+96>>2]=0}a[d+100>>0]=1;c[d+96>>2]=h;c[d+92>>2]=f<<1;i=d+96|0}else i=d+96|0;h=s;do{m=(c[i>>2]|0)+(h<<6)|0;o=x+32|0;p=m+64|0;do{c[m>>2]=c[o>>2];m=m+4|0;o=o+4|0}while((m|0)<(p|0));h=h+1|0}while((h|0)!=(f<<1|0))}c[d+88>>2]=f<<1}c[d+56>>2]=0;wc(d,0,f);if(a[d+60>>0]|0?(c[d+152>>2]|0)==0:0){if(!(c[d+156>>2]|0)){c[6485]=(c[6485]|0)+1;f=ic(51)|0;if(!f)e=0;else{c[(f+4+15&-16)+-4>>2]=f;e=f+4+15&-16}f=c[d+152>>2]|0;if((f|0)>0){h=0;do{s=e+(h<<5)|0;p=(c[d+160>>2]|0)+(h<<5)|0;c[s>>2]=c[p>>2];c[s+4>>2]=c[p+4>>2];c[s+8>>2]=c[p+8>>2];c[s+12>>2]=c[p+12>>2];c[s+16>>2]=c[p+16>>2];c[s+20>>2]=c[p+20>>2];c[s+24>>2]=c[p+24>>2];c[s+28>>2]=c[p+28>>2];h=h+1|0}while((h|0)!=(f|0))}f=c[d+160>>2]|0;if(f|0){if(a[d+164>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[f+-4>>2]|0)}c[d+160>>2]=0}a[d+164>>0]=1;c[d+160>>2]=e;c[d+156>>2]=1;h=d+160|0;i=(c[d+152>>2]|0)+1|0;f=e}else{h=d+160|0;i=1;f=c[d+160>>2]|0}c[d+152>>2]=i;c[f>>2]=c[x>>2];c[f+4>>2]=c[x+4>>2];c[f+8>>2]=c[x+8>>2];c[f+12>>2]=c[x+12>>2];c[f+16>>2]=c[x+16>>2];c[f+20>>2]=c[x+20>>2];c[f+24>>2]=c[x+24>>2];c[f+28>>2]=c[x+28>>2];s=c[h>>2]|0;p=c[d+136>>2]|0;b[s>>1]=b[p>>1]|0;b[s+2>>1]=b[p+2>>1]|0;b[s+4>>1]=b[p+4>>1]|0;b[s+6>>1]=b[p+6>>1]|0;b[s+8>>1]=b[p+8>>1]|0;b[s+10>>1]=b[p+10>>1]|0;c[s+12>>2]=0;p=c[p+12>>2]|0;c[s+16>>2]=(p|0)>-1?1:0-p|0}c[d+168>>2]=c[d+152>>2];f=c[d+116>>2]|0;if(f|0){if(a[d+120>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[f+-4>>2]|0)}c[d+116>>2]=0}a[d+120>>0]=1;c[d+116>>2]=0;c[d+108>>2]=0;c[d+112>>2]=0;f=c[d+76>>2]|0;if(!f){a[d+80>>0]=1;c[d+76>>2]=0;c[d+68>>2]=0;d=d+72|0;c[d>>2]=0;l=x;return}if(a[d+80>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[f+-4>>2]|0)}c[d+76>>2]=0;a[d+80>>0]=1;c[d+76>>2]=0;c[d+68>>2]=0;d=d+72|0;c[d>>2]=0;l=x;return}function bd(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0.0,w=0.0,x=0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,H=0.0,I=0.0,J=0.0,K=0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0,fa=0.0;ea=l;l=l+128|0;K=c[b+4>>2]|0;a[K+312>>0]=0;c[K>>2]=0;a[K+356>>0]=1;c[K+292>>2]=1566444395;c[K+296>>2]=1566444395;c[K+300>>2]=1566444395;g[K+304>>2]=0.0;c[K+336>>2]=0;c[K+336+4>>2]=0;c[K+336+8>>2]=0;c[K+336+12>>2]=0;a[K+336+16>>0]=0;a[K+332>>0]=a[K+332>>0]&-16;k=+g[d+48>>2];m=+g[d+52>>2];n=+g[d+56>>2];p=+g[f+48>>2];q=+g[f+52>>2];r=+g[f+56>>2];L=+g[d>>2];M=+g[d+4>>2];N=+g[d+8>>2];O=+g[d+16>>2];P=+g[d+20>>2];Q=+g[d+24>>2];R=+g[d+32>>2];S=+g[d+36>>2];T=+g[d+40>>2];U=+g[f>>2];V=+g[f+4>>2];W=+g[f+8>>2];X=+g[f+16>>2];Y=+g[f+20>>2];Z=+g[f+24>>2];_=+g[f+32>>2];$=+g[f+36>>2];aa=+g[f+40>>2];ba=+g[e+48>>2]-k-(+g[h+48>>2]-p);ca=+g[e+52>>2]-m-(+g[h+52>>2]-q);da=+g[e+56>>2]-n-(+g[h+56>>2]-r);K=c[b+8>>2]|0;y=c[(c[K>>2]|0)+64>>2]|0;g[ea+96>>2]=L*-ba+O*-ca+R*-da;g[ea+96+4>>2]=M*-ba+P*-ca+S*-da;g[ea+96+8>>2]=N*-ba+Q*-ca+T*-da;g[ea+96+12>>2]=0.0;Vb[y&127](ea+112|0,K,ea+96|0);I=+g[ea+112>>2];J=+g[ea+112+4>>2];H=+g[ea+112+8>>2];s=I*+g[d>>2]+J*+g[d+4>>2]+H*+g[d+8>>2]+ +g[d+48>>2];v=I*+g[d+16>>2]+J*+g[d+20>>2]+H*+g[d+24>>2]+ +g[d+52>>2];H=I*+g[d+32>>2]+J*+g[d+36>>2]+H*+g[d+40>>2]+ +g[d+56>>2];K=c[b+12>>2]|0;y=c[(c[K>>2]|0)+64>>2]|0;J=ba*+g[f+4>>2]+ca*+g[f+20>>2]+da*+g[f+36>>2];I=ba*+g[f+8>>2]+ca*+g[f+24>>2]+da*+g[f+40>>2];g[ea+64>>2]=ba*+g[f>>2]+ca*+g[f+16>>2]+da*+g[f+32>>2];g[ea+64+4>>2]=J;g[ea+64+8>>2]=I;g[ea+64+12>>2]=0.0;Vb[y&127](ea+80|0,K,ea+64|0);I=+g[ea+80>>2];J=+g[ea+80+4>>2];t=+g[ea+80+8>>2];s=s-(I*+g[f>>2]+J*+g[f+4>>2]+t*+g[f+8>>2]+ +g[f+48>>2]);v=v-(I*+g[f+16>>2]+J*+g[f+20>>2]+t*+g[f+24>>2]+ +g[f+52>>2]);t=H-(I*+g[f+32>>2]+J*+g[f+36>>2]+t*+g[f+40>>2]+ +g[f+56>>2]);a:do if(s*s+v*v+t*t>9.999999747378752e-05){C=k;B=m;z=n;A=p;p=0.0;n=0.0;m=0.0;j=0;k=0.0;K=32;o=0;while(1){if(!K)break a;K=K+-1|0;y=c[b+8>>2]|0;x=c[(c[y>>2]|0)+64>>2]|0;F=-s;fa=-v;w=-t;g[ea+32>>2]=L*F+O*fa+R*w;g[ea+32+4>>2]=M*F+P*fa+S*w;g[ea+32+8>>2]=N*F+Q*fa+T*w;g[ea+32+12>>2]=0.0;Vb[x&127](ea+48|0,y,ea+32|0);w=+g[ea+48>>2];fa=+g[ea+48+4>>2];F=+g[ea+48+8>>2];D=C+(L*w+M*fa+N*F);E=B+(O*w+P*fa+Q*F);F=z+(R*w+S*fa+T*F);y=c[b+12>>2]|0;x=c[(c[y>>2]|0)+64>>2]|0;g[ea>>2]=U*s+X*v+_*t;g[ea+4>>2]=V*s+Y*v+$*t;g[ea+8>>2]=W*s+Z*v+aa*t;g[ea+12>>2]=0.0;Vb[x&127](ea+16|0,y,ea);fa=+g[ea+16>>2];w=+g[ea+16+4>>2];J=+g[ea+16+8>>2];H=A+(U*fa+V*w+W*J);I=q+(X*fa+Y*w+Z*J);J=r+(_*fa+$*w+aa*J);w=s*(D-H)+v*(E-I)+t*(F-J);if(k>1.0){j=0;o=24;break}if(w>0.0){m=ba*s+ca*v+da*t;if(m>=-1.4210854715202004e-14){j=0;o=24;break}k=k-w/m;z=(1.0-k)*+g[d+56>>2]+k*+g[e+56>>2];B=(1.0-k)*+g[d+52>>2]+k*+g[e+52>>2];w=+g[d+48>>2]*(1.0-k)+k*+g[e+48>>2];r=(1.0-k)*+g[f+56>>2]+k*+g[h+56>>2];q=(1.0-k)*+g[f+52>>2]+k*+g[h+52>>2];A=(1.0-k)*+g[f+48>>2]+k*+g[h+48>>2];j=o;m=t;n=v;p=s}else w=C;x=c[b+4>>2]|0;y=c[x>>2]|0;if((y|0)>0){s=+g[x+308>>2];u=0;o=0;do{v=D-H-+g[x+4+(o<<4)>>2];C=E-I-+g[x+4+(o<<4)+4>>2];fa=F-J-+g[x+4+(o<<4)+8>>2];u=u|v*v+C*C+fa*fa<=s;o=o+1|0}while((o|0)!=(y|0))}else u=0;if((+g[x+304>>2]==0.0?F-J==+g[x+300>>2]:0)?E-I==+g[x+296>>2]:0)o=D-H==+g[x+292>>2];else o=0;if(!(u|o)){g[x+292>>2]=D-H;g[x+296>>2]=E-I;g[x+300>>2]=F-J;g[x+304>>2]=0.0;a[x+356>>0]=1;g[x+4+(y<<4)>>2]=D-H;g[x+4+(y<<4)+4>>2]=E-I;g[x+4+(y<<4)+8>>2]=F-J;g[x+4+(y<<4)+12>>2]=0.0;y=c[x>>2]|0;g[x+84+(y<<4)>>2]=D;g[x+84+(y<<4)+4>>2]=E;g[x+84+(y<<4)+8>>2]=F;g[x+84+(y<<4)+12>>2]=0.0;y=c[x>>2]|0;g[x+164+(y<<4)>>2]=H;g[x+164+(y<<4)+4>>2]=I;g[x+164+(y<<4)+8>>2]=J;g[x+164+(y<<4)+12>>2]=0.0;c[x>>2]=(c[x>>2]|0)+1;x=c[b+4>>2]|0}y=Gc(x)|0;s=+g[x+276>>2];v=+g[x+280>>2];t=+g[x+284>>2];if(!y)break a;if(!(s*s+v*v+t*t>9.999999747378752e-05))break a;else{C=w;o=c[x+288>>2]|0}}if((o|0)==24){l=ea;return j|0}}else{j=0;p=0.0;n=0.0;m=0.0;k=0.0}while(0);g[i+164>>2]=k;k=m*m+(n*n+p*p);if(!(k>=1.4210854715202004e-14)){c[i+132>>2]=0;c[i+132+4>>2]=0;c[i+132+8>>2]=0;c[i+132+12>>2]=0;k=0.0;m=0.0;n=0.0}else{aa=1.0/+G(+k);k=p*aa;fa=n*aa;n=m*aa;g[i+132>>2]=k;g[i+136>>2]=fa;g[i+140>>2]=n;c[i+144>>2]=j;m=fa}if(ba*k+ca*m+da*n>=-+g[i+172>>2]){b=0;l=ea;return b|0}b=c[b+4>>2]|0;Gc(b)|0;op(i+148|0,b+260|0,16)|0;b=1;l=ea;return b|0}function cd(b,d,e,f,h,i,k,l,m,n,o){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;k=k|0;l=l|0;m=+m;n=+n;o=+o;var p=0,q=0,r=0,s=0.0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0,N=0,O=0.0,P=0.0,Q=0.0,R=0.0;N=c[b+68>>2]|0;if((N|0)==(c[b+72>>2]|0)?(t=N|0?N<<1:1,(N|0)<(t|0)):0){if(!t){p=0;q=N}else{c[6485]=(c[6485]|0)+1;p=ic((t*152|3)+16|0)|0;if(!p)p=0;else{c[(p+4+15&-16)+-4>>2]=p;p=p+4+15&-16}q=c[b+68>>2]|0}if((q|0)>0){r=0;do{_h(p+(r*152|0)|0,(c[b+76>>2]|0)+(r*152|0)|0,152)|0;r=r+1|0}while((r|0)!=(q|0))}q=c[b+76>>2]|0;if(q|0){if(a[b+80>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[q+-4>>2]|0)}c[b+76>>2]=0}a[b+80>>0]=1;c[b+76>>2]=p;c[b+72>>2]=t;p=c[b+68>>2]|0}else p=N;c[b+68>>2]=p+1;M=c[b+76>>2]|0;c[M+(N*152|0)+140>>2]=h;r=c[b+16>>2]|0;p=c[r+(e*244|0)+240>>2]|0;t=c[r+(f*244|0)+240>>2]|0;c[M+(N*152|0)+144>>2]=e;c[M+(N*152|0)+148>>2]=f;q=c[i+84>>2]|0;c[M+(N*152|0)+104>>2]=q;c[M+(N*152|0)+132>>2]=0;g[M+(N*152|0)+100>>2]=0.0;g[M+(N*152|0)+96>>2]=0.0;L=(c[j>>2]=q,+g[j>>2]);if(p|0){c[M+(N*152|0)+16>>2]=c[d>>2];c[M+(N*152|0)+16+4>>2]=c[d+4>>2];c[M+(N*152|0)+16+8>>2]=c[d+8>>2];c[M+(N*152|0)+16+12>>2]=c[d+12>>2];K=+g[k+4>>2];D=+g[M+(N*152|0)+24>>2];H=+g[k+8>>2];I=+g[M+(N*152|0)+20>>2];E=+g[M+(N*152|0)+16>>2];J=+g[k>>2];g[M+(N*152|0)>>2]=K*D-H*I;g[M+(N*152|0)+4>>2]=H*E-D*J;g[M+(N*152|0)+8>>2]=I*J-K*E;g[M+(N*152|0)+12>>2]=0.0;v=((K*D-H*I)*+g[p+264>>2]+ +g[p+268>>2]*(H*E-D*J)+(I*J-K*E)*+g[p+272>>2])*+g[p+544>>2];s=((K*D-H*I)*+g[p+280>>2]+(H*E-D*J)*+g[p+284>>2]+(I*J-K*E)*+g[p+288>>2])*+g[p+548>>2];u=((K*D-H*I)*+g[p+296>>2]+(H*E-D*J)*+g[p+300>>2]+(I*J-K*E)*+g[p+304>>2])*+g[p+552>>2];g[M+(N*152|0)+64>>2]=v;g[M+(N*152|0)+68>>2]=s;g[M+(N*152|0)+72>>2]=u;g[M+(N*152|0)+76>>2]=0.0;z=E;A=I;B=D;C=K*D-H*I;D=H*E-D*J;E=I*J-K*E}else{c[M+(N*152|0)+64>>2]=0;c[M+(N*152|0)+64+4>>2]=0;c[M+(N*152|0)+64+8>>2]=0;c[M+(N*152|0)+64+12>>2]=0;c[M+(N*152|0)>>2]=0;c[M+(N*152|0)+4>>2]=0;c[M+(N*152|0)+8>>2]=0;c[M+(N*152|0)+12>>2]=0;c[M+(N*152|0)+16>>2]=0;c[M+(N*152|0)+20>>2]=0;c[M+(N*152|0)+24>>2]=0;c[M+(N*152|0)+28>>2]=0;s=0.0;u=0.0;v=0.0;z=0.0;A=0.0;B=0.0;C=0.0;D=0.0;E=0.0}if(t|0){K=-+g[d>>2];P=-+g[d+4>>2];J=-+g[d+8>>2];g[M+(N*152|0)+48>>2]=K;g[M+(N*152|0)+52>>2]=P;g[M+(N*152|0)+56>>2]=J;g[M+(N*152|0)+60>>2]=0.0;O=+g[l+4>>2];R=+g[l+8>>2];Q=+g[l>>2];g[M+(N*152|0)+32>>2]=O*J-R*P;g[M+(N*152|0)+36>>2]=R*K-Q*J;g[M+(N*152|0)+40>>2]=Q*P-O*K;g[M+(N*152|0)+44>>2]=0.0;w=((O*J-R*P)*+g[t+264>>2]+ +g[t+268>>2]*(R*K-Q*J)+(Q*P-O*K)*+g[t+272>>2])*+g[t+544>>2];x=((O*J-R*P)*+g[t+280>>2]+(R*K-Q*J)*+g[t+284>>2]+(Q*P-O*K)*+g[t+288>>2])*+g[t+548>>2];y=((O*J-R*P)*+g[t+296>>2]+(R*K-Q*J)*+g[t+300>>2]+(Q*P-O*K)*+g[t+304>>2])*+g[t+552>>2];g[M+(N*152|0)+80>>2]=w;g[M+(N*152|0)+84>>2]=x;g[M+(N*152|0)+88>>2]=y;g[M+(N*152|0)+92>>2]=0.0;F=K;G=P;H=J;I=O*J-R*P;J=R*K-Q*J;K=Q*P-O*K}else{c[M+(N*152|0)+80>>2]=0;c[M+(N*152|0)+80+4>>2]=0;c[M+(N*152|0)+80+8>>2]=0;c[M+(N*152|0)+80+12>>2]=0;c[M+(N*152|0)+32>>2]=0;c[M+(N*152|0)+32+4>>2]=0;c[M+(N*152|0)+32+8>>2]=0;c[M+(N*152|0)+32+12>>2]=0;c[M+(N*152|0)+32+16>>2]=0;c[M+(N*152|0)+32+20>>2]=0;c[M+(N*152|0)+32+24>>2]=0;c[M+(N*152|0)+32+28>>2]=0;w=0.0;x=0.0;y=0.0;F=0.0;G=0.0;H=0.0;I=0.0;J=0.0;K=0.0}if(p|0){P=+g[k+8>>2];Q=+g[k+4>>2];R=+g[k>>2];u=+g[p+344>>2]+((s*P-u*Q)*+g[d>>2]+(u*R-P*v)*+g[d+4>>2]+(Q*v-s*R)*+g[d+8>>2])}else u=0.0;if(t|0){Q=-w;s=-x;y=-y;O=+g[l+8>>2];P=+g[l+4>>2];R=+g[l>>2];s=+g[t+344>>2]+((O*s-P*y)*+g[d>>2]+(R*y-O*Q)*+g[d+4>>2]+(P*Q-R*s)*+g[d+8>>2])}else s=0.0;x=m/(u+s);g[M+(N*152|0)+108>>2]=x;if(p|0){u=+g[r+(e*244|0)+192>>2];v=+g[r+(e*244|0)+196>>2];w=+g[r+(e*244|0)+200>>2];s=(+g[r+(e*244|0)+176>>2]+ +g[r+(e*244|0)+208>>2])*z+(+g[r+(e*244|0)+180>>2]+ +g[r+(e*244|0)+212>>2])*A+(+g[r+(e*244|0)+184>>2]+ +g[r+(e*244|0)+216>>2])*B}else{u=0.0;v=0.0;w=0.0;s=z*0.0+A*0.0+B*0.0}s=s+(u*C+v*D+w*E);if(t|0){O=+g[r+(f*244|0)+192>>2];P=+g[r+(f*244|0)+196>>2];R=+g[r+(f*244|0)+200>>2];Q=(+g[r+(f*244|0)+176>>2]+ +g[r+(f*244|0)+208>>2])*F+(+g[r+(f*244|0)+180>>2]+ +g[r+(f*244|0)+212>>2])*G+(+g[r+(f*244|0)+184>>2]+ +g[r+(f*244|0)+216>>2])*H;O=O*I;P=P*J;P=O+P;R=R*K;R=P+R;R=Q+R;R=s+R;R=n-R;R=x*R;f=M+(N*152|0)+112|0;g[f>>2]=R;f=M+(N*152|0)+116|0;g[f>>2]=o;R=-L;f=M+(N*152|0)+120|0;g[f>>2]=R;f=M+(N*152|0)+124|0;c[f>>2]=q;return}else{O=0.0;P=0.0;R=0.0;Q=F*0.0+G*0.0+H*0.0;O=O*I;P=P*J;P=O+P;R=R*K;R=P+R;R=Q+R;R=s+R;R=n-R;R=x*R;f=M+(N*152|0)+112|0;g[f>>2]=R;f=M+(N*152|0)+116|0;g[f>>2]=o;R=-L;f=M+(N*152|0)+120|0;g[f>>2]=R;f=M+(N*152|0)+124|0;c[f>>2]=q;return}}function dd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+80|0;e=c[b+8>>2]|0;if((e|0)>0){g=0;do{f=c[(c[b+16>>2]|0)+(g<<2)>>2]|0;if((c[f+236>>2]|0)==1){nb[c[(c[f>>2]|0)+24>>2]&127](f,d);e=c[b+8>>2]|0}g=g+1|0}while((g|0)<(e|0))}a[y+16>>0]=1;c[y+12>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;a[y+36>>0]=1;c[y+32>>2]=0;c[y+24>>2]=0;c[y+28>>2]=0;a[y+56>>0]=1;c[y+52>>2]=0;c[y+44>>2]=0;c[y+48>>2]=0;a[y+76>>0]=1;c[y+72>>2]=0;c[y+64>>2]=0;c[y+68>>2]=0;if((e|0)<=0){Ui(y);l=y;return}i=0;j=0;f=0;g=0;s=0;while(1){r=c[(c[(c[b+16>>2]|0)+(s<<2)>>2]|0)+192>>2]|0;p=(r+~(r<<15)>>10^r+~(r<<15))*9|0;p=(p>>6^p)+~((p>>6^p)<<11)>>16^(p>>6^p)+~((p>>6^p)<<11);n=p&i+-1;m=n>>>0<j>>>0;a:do if(m){h=c[f+(n<<2)>>2]|0;if((h|0)!=-1){k=c[y+72>>2]|0;while(1){if((r|0)==(c[k+(h<<3)>>2]|0)){q=13;break}j=c[g+(h<<2)>>2]|0;if((j|0)==-1)break;else h=j}if((q|0)==13?(q=0,(c[y+52>>2]|0)+(h<<2)|0):0)break;if(!m){q=20;break}}e=c[f+(n<<2)>>2]|0;if((e|0)!=-1){h=c[y+72>>2]|0;while(1){if((r|0)==(c[h+(e<<3)>>2]|0))break;e=c[g+(e<<2)>>2]|0;if((e|0)==-1){q=20;break a}}c[(c[y+52>>2]|0)+(e<<2)>>2]=r;e=i;q=78}else q=20}else q=20;while(0);if((q|0)==20){q=0;o=c[y+44>>2]|0;if((o|0)==(i|0)){e=i|0?i<<1:1;if((i|0)<(e|0)){if((e|0)!=0?(c[6485]=(c[6485]|0)+1,u=ic((e<<2|3)+16|0)|0,(u|0)!=0):0){c[(u+4+15&-16)+-4>>2]=u;f=c[y+44>>2]|0;h=u+4+15&-16}else{f=i;h=0}if((f|0)>0){g=0;do{c[h+(g<<2)>>2]=c[(c[y+52>>2]|0)+(g<<2)>>2];g=g+1|0}while((g|0)!=(f|0))}g=c[y+52>>2]|0;if(g|0){if(a[y+56>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[g+-4>>2]|0)}c[y+52>>2]=0}a[y+56>>0]=1;c[y+52>>2]=h;c[y+48>>2]=e}else{e=i;f=i}}else{e=i;f=o}c[(c[y+52>>2]|0)+(f<<2)>>2]=r;c[y+44>>2]=f+1;f=c[y+64>>2]|0;if((f|0)==(c[y+68>>2]|0)?(x=f|0?f<<1:1,(f|0)<(x|0)):0){if((x|0)!=0?(c[6485]=(c[6485]|0)+1,v=ic((x<<3|3)+16|0)|0,(v|0)!=0):0){c[(v+4+15&-16)+-4>>2]=v;f=c[y+64>>2]|0;g=v+4+15&-16}else g=0;if((f|0)>0){e=0;do{j=(c[y+72>>2]|0)+(e<<3)|0;k=c[j+4>>2]|0;m=g+(e<<3)|0;c[m>>2]=c[j>>2];c[m+4>>2]=k;e=e+1|0}while((e|0)!=(f|0))}e=c[y+72>>2]|0;if(e|0){if(a[y+76>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[e+-4>>2]|0)}c[y+72>>2]=0}a[y+76>>0]=1;c[y+72>>2]=g;c[y+68>>2]=x;f=c[y+64>>2]|0;e=c[y+48>>2]|0}m=(c[y+72>>2]|0)+(f<<3)|0;c[m>>2]=r;c[m+4>>2]=0;c[y+64>>2]=f+1;if((i|0)<(e|0)){m=c[y+4>>2]|0;do if((m|0)<(e|0)){if((c[y+8>>2]|0)<(e|0)){if((e|0)!=0?(c[6485]=(c[6485]|0)+1,w=ic((e<<2|3)+16|0)|0,(w|0)!=0):0){c[(w+4+15&-16)+-4>>2]=w;g=c[y+4>>2]|0;f=w+4+15&-16}else{g=m;f=0}h=c[y+12>>2]|0;if((g|0)>0){i=0;do{c[f+(i<<2)>>2]=c[h+(i<<2)>>2];i=i+1|0}while((i|0)!=(g|0));if(a[y+16>>0]|0)q=55}else if(!((h|0)==0|(a[y+16>>0]|0)==0))q=55;if((q|0)==55){q=0;c[6486]=(c[6486]|0)+1;Uc(c[h+-4>>2]|0)}a[y+16>>0]=1;c[y+12>>2]=f;c[y+8>>2]=e}else f=c[y+12>>2]|0;k=e<<2;Lk(f+(m<<2)|0,0,k-(m<<2)|0)|0;c[y+4>>2]=e;j=c[y+24>>2]|0;if((j|0)<(e|0)){if((c[y+28>>2]|0)<(e|0)){if((e|0)!=0?(c[6485]=(c[6485]|0)+1,t=ic((k|3)+16|0)|0,(t|0)!=0):0){c[(t+4+15&-16)+-4>>2]=t;g=c[y+24>>2]|0;f=t+4+15&-16}else{g=j;f=0}h=c[y+32>>2]|0;if((g|0)>0){i=0;do{c[f+(i<<2)>>2]=c[h+(i<<2)>>2];i=i+1|0}while((i|0)!=(g|0));if(a[y+36>>0]|0)q=67}else if(!((h|0)==0|(a[y+36>>0]|0)==0))q=67;if((q|0)==67){c[6486]=(c[6486]|0)+1;Uc(c[h+-4>>2]|0)}a[y+36>>0]=1;c[y+32>>2]=f;c[y+28>>2]=e}else f=c[y+32>>2]|0;Lk(f+(j<<2)|0,0,k-(j<<2)|0)|0}c[y+24>>2]=e;if((e|0)>0){Lk(c[y+12>>2]|0,-1,k|0)|0;Lk(c[y+32>>2]|0,-1,k|0)|0}if((m|0)<=0){e=c[y+48>>2]|0;break}f=c[y+72>>2]|0;g=c[y+12>>2]|0;h=c[y+32>>2]|0;e=c[y+48>>2]|0;i=0;do{q=c[f+(i<<3)>>2]|0;q=(q+~(q<<15)>>10^q+~(q<<15))*9|0;q=g+((((q>>6^q)+~((q>>6^q)<<11)>>16^(q>>6^q)+~((q>>6^q)<<11))&e+-1)<<2)|0;c[h+(i<<2)>>2]=c[q>>2];c[q>>2]=i;i=i+1|0}while((i|0)!=(m|0))}while(0);f=e;e=p&e+-1}else{f=e;e=n}q=c[y+12>>2]|0;e=q+(e<<2)|0;g=c[y+32>>2]|0;c[g+(o<<2)>>2]=c[e>>2];c[e>>2]=o;e=f;f=q;q=78}if((q|0)==78){q=0;nb[c[(c[r>>2]|0)+60>>2]&127](r,d);i=e;e=c[b+8>>2]|0}h=s+1|0;if((h|0)>=(e|0))break;j=c[y+4>>2]|0;s=h}Ui(y);l=y;return}function ed(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,H=0.0;A=+g[b+48>>2];k=+g[d>>2];B=+g[b+64>>2];j=+g[d+4>>2];H=+g[b+80>>2];p=+g[d+8>>2];s=+g[b+52>>2];r=+g[b+68>>2];q=+g[b+84>>2];w=+g[b+56>>2];F=+g[b+72>>2];x=+g[b+88>>2];v=+g[d+16>>2];u=+g[d+20>>2];t=+g[d+24>>2];E=+g[d+32>>2];C=+g[d+36>>2];D=+g[d+40>>2];h=+g[b+96>>2];i=+g[b+100>>2];z=+g[b+104>>2];y=+g[d+48>>2]+(k*h+j*i+p*z);f=v*h+u*i+t*z+ +g[d+52>>2];z=E*h+C*i+D*z+ +g[d+56>>2];g[b+1064>>2]=A*k+B*j+H*p;g[b+1068>>2]=k*s+j*r+p*q;g[b+1072>>2]=k*w+j*F+p*x;g[b+1076>>2]=0.0;g[b+1080>>2]=A*v+B*u+H*t;g[b+1084>>2]=s*v+r*u+q*t;g[b+1088>>2]=w*v+F*u+x*t;g[b+1092>>2]=0.0;g[b+1096>>2]=A*E+B*C+H*D;g[b+1100>>2]=s*E+r*C+q*D;g[b+1104>>2]=w*E+F*C+x*D;g[b+1108>>2]=0.0;g[b+1112>>2]=y;g[b+1116>>2]=f;g[b+1120>>2]=z;g[b+1124>>2]=0.0;z=+g[b+112>>2];f=+g[e>>2];y=+g[b+128>>2];D=+g[e+4>>2];x=+g[b+144>>2];C=+g[e+8>>2];F=+g[b+116>>2];E=+g[b+132>>2];w=+g[b+148>>2];q=+g[b+120>>2];r=+g[b+136>>2];s=+g[b+152>>2];H=+g[e+16>>2];B=+g[e+20>>2];A=+g[e+24>>2];t=+g[e+32>>2];u=+g[e+36>>2];v=+g[e+40>>2];p=+g[b+160>>2];j=+g[b+164>>2];k=+g[b+168>>2];i=+g[e+48>>2]+(f*p+D*j+C*k);h=H*p+B*j+A*k+ +g[e+52>>2];k=t*p+u*j+v*k+ +g[e+56>>2];g[b+1128>>2]=z*f+y*D+x*C;g[b+1132>>2]=f*F+D*E+C*w;g[b+1136>>2]=f*q+D*r+C*s;g[b+1140>>2]=0.0;g[b+1144>>2]=z*H+y*B+x*A;g[b+1148>>2]=F*H+E*B+w*A;g[b+1152>>2]=q*H+r*B+s*A;g[b+1156>>2]=0.0;g[b+1160>>2]=z*t+y*u+x*v;g[b+1164>>2]=F*t+E*u+w*v;g[b+1168>>2]=q*t+r*u+s*v;g[b+1172>>2]=0.0;g[b+1176>>2]=i;g[b+1180>>2]=h;g[b+1184>>2]=k;g[b+1188>>2]=0.0;i=i-+g[b+1112>>2];h=h-+g[b+1116>>2];k=k-+g[b+1120>>2];w=+g[b+1084>>2];E=+g[b+1104>>2];F=+g[b+1088>>2];x=+g[b+1100>>2];y=+g[b+1096>>2];z=+g[b+1080>>2];A=+g[b+1064>>2];B=+g[b+1068>>2];H=+g[b+1072>>2];C=1.0/((w*E-F*x)*A+B*(F*y-E*z)+(x*z-w*y)*H);D=(x*z-w*y)*C;f=(w*E-F*x)*C*i+C*(x*H-E*B)*h+C*(F*B-w*H)*k;j=i*(F*y-E*z)*C+h*C*(E*A-y*H)+C*(z*H-F*A)*k;k=i*D+C*(y*B-x*A)*h+C*(w*A-z*B)*k;g[b+1256>>2]=f;g[b+1260>>2]=j;g[b+1264>>2]=k;g[b+1268>>2]=0.0;g[b+840>>2]=f;h=+g[b+680>>2];i=+g[b+696>>2];do if(!(h>i)){if(h>f){c[b+856>>2]=2;f=f-h;break}if(i<f){c[b+856>>2]=1;f=f-i;break}else{c[b+856>>2]=0;f=0.0;break}}else{c[b+856>>2]=0;f=0.0}while(0);g[b+824>>2]=f;g[b+844>>2]=j;f=+g[b+684>>2];h=+g[b+700>>2];do if(!(f>h)){if(f>j){c[b+860>>2]=2;f=j-f;break}if(h<j){c[b+860>>2]=1;f=j-h;break}else{c[b+860>>2]=0;f=0.0;break}}else{c[b+860>>2]=0;f=0.0}while(0);g[b+828>>2]=f;g[b+848>>2]=k;f=+g[b+688>>2];h=+g[b+704>>2];do if(!(f>h)){if(f>k){c[b+864>>2]=2;f=k-f;break}if(h<k){c[b+864>>2]=1;f=k-h;break}else{c[b+864>>2]=0;f=0.0;break}}else{c[b+864>>2]=0;f=0.0}while(0);g[b+832>>2]=f;n=+g[b+1128>>2];o=+g[b+1144>>2];p=+g[b+1160>>2];h=+g[b+1132>>2];i=+g[b+1148>>2];j=+g[b+1164>>2];k=(w*E-F*x)*C*h+C*(x*H-E*B)*i+C*(F*B-w*H)*j;l=(F*y-E*z)*C*h+C*(E*A-y*H)*i+C*(z*H-F*A)*j;m=n*D+C*(y*B-x*A)*o+C*(w*A-z*B)*p;f=D*+g[b+1136>>2]+C*(y*B-x*A)*+g[b+1152>>2]+C*(w*A-z*B)*(q*t+r*u+s*v);do if(m<1.0)if(m>-1.0){g[b+1192>>2]=+O(+-(D*h+C*(y*B-x*A)*i+C*(w*A-z*B)*j),+f);f=m<-1.0?-1.0:m;g[b+1196>>2]=+M(+(f>1.0?1.0:f));f=+O(+-(n*(F*y-E*z)*C+o*C*(E*A-y*H)+C*(z*H-F*A)*p),+(n*(w*E-F*x)*C+o*C*(x*H-E*B)+C*(F*B-w*H)*p));break}else{g[b+1192>>2]=-+O(+k,+l);g[b+1196>>2]=-1.5707963705062866;f=0.0;break}else{g[b+1192>>2]=+O(+k,+l);g[b+1196>>2]=1.5707963705062866;f=0.0}while(0);g[b+1200>>2]=f;g[b+1236>>2]=0.0;x=E*(n*E-p*H)-F*(o*H-n*F);y=H*(o*H-n*F)-E*(p*F-o*E);z=F*(p*F-o*E)-H*(n*E-p*H);g[b+1220>>2]=0.0;B=o*(o*H-n*F)-p*(n*E-p*H);C=p*(p*F-o*E)-n*(o*H-n*F);D=n*(n*E-p*H)-o*(p*F-o*E);g[b+1252>>2]=0.0;A=1.0/+G(+(x*x+y*y+z*z));g[b+1208>>2]=x*A;g[b+1212>>2]=y*A;g[b+1216>>2]=z*A;A=1.0/+G(+((p*F-o*E)*(p*F-o*E)+(n*E-p*H)*(n*E-p*H)+(o*H-n*F)*(o*H-n*F)));g[b+1224>>2]=(p*F-o*E)*A;g[b+1228>>2]=(n*E-p*H)*A;g[b+1232>>2]=(o*H-n*F)*A;H=1.0/+G(+(B*B+C*C+D*D));g[b+1240>>2]=B*H;g[b+1244>>2]=C*H;g[b+1248>>2]=D*H;if(!(a[b+1301>>0]|0))return;F=+g[(c[b+28>>2]|0)+344>>2];H=+g[(c[b+32>>2]|0)+344>>2];a[b+1280>>0]=(F<1.1920928955078125e-07|H<1.1920928955078125e-07)&1;H=F+H>0.0?H/(F+H):.5;g[b+1272>>2]=H;g[b+1276>>2]=1.0-H;return}function fd(b,d){b=b|0;d=d|0;var e=0,f=0,h=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;Yf(b+4|0,((S(c[b+152>>2]|0,c[b+16>>2]|0)|0)/100|0)+1|0);if(c[b+164>>2]|0){p=((S(c[b+148>>2]|0,c[b+76>>2]|0)|0)/100|0)+1|0;Yf(b+64|0,p);p=(c[b+164>>2]|0)-p|0;c[b+164>>2]=(p|0)>0?p:0}e=((c[b+144>>2]|0)+1|0)%2|0;c[b+144>>2]=e;e=c[b+124+(e<<2)>>2]|0;if(e|0){do{j=e+56|0;m=e;e=c[j>>2]|0;i=c[m+52>>2]|0;if(!i)i=b+124+(c[m+60>>2]<<2)|0;else i=i+56|0;c[i>>2]=e;i=c[j>>2]|0;if(i|0)c[i+52>>2]=c[m+52>>2];c[m+52>>2]=0;c[j>>2]=c[b+132>>2];i=c[b+132>>2]|0;if(i|0)c[i+52>>2]=m;c[b+132>>2]=m;i=c[m+48>>2]|0;Ug(b+4|0,i)|0;j=c[b+8>>2]|0;if(j|0){c[6486]=(c[6486]|0)+1;Uc(c[j+-4>>2]|0)}c[b+8>>2]=i;c[b+16>>2]=(c[b+16>>2]|0)+-1;c[r+16>>2]=c[m+16>>2];c[r+16+4>>2]=c[m+16+4>>2];c[r+16+8>>2]=c[m+16+8>>2];c[r+16+12>>2]=c[m+16+12>>2];c[r+16+16>>2]=c[m+32>>2];c[r+16+16+4>>2]=c[m+32+4>>2];c[r+16+16+8>>2]=c[m+32+8>>2];c[r+16+16+12>>2]=c[m+32+12>>2];i=c[b+68>>2]|0;if(!i){c[6485]=(c[6485]|0)+1;i=ic(63)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}j=i;k=j+44|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0))}else c[b+68>>2]=0;c[i+32>>2]=0;c[i+36>>2]=m;c[i+40>>2]=0;c[i>>2]=c[r+16>>2];c[i+4>>2]=c[r+16+4>>2];c[i+8>>2]=c[r+16+8>>2];c[i+12>>2]=c[r+16+12>>2];c[i+16>>2]=c[r+16+16>>2];c[i+20>>2]=c[r+16+20>>2];c[i+24>>2]=c[r+16+24>>2];c[i+28>>2]=c[r+16+28>>2];_e(b+64|0,c[b+64>>2]|0,i);j=(c[b+76>>2]|0)+1|0;c[b+76>>2]=j;c[m+48>>2]=i;c[m+60>>2]=2}while((e|0)!=0);c[b+164>>2]=j;a[b+194>>0]=1}c[r>>2]=8996;c[r+4>>2]=b;if(a[b+193>>0]|0?(ge(b+4|0,c[b+4>>2]|0,c[b+64>>2]|0,r),a[b+193>>0]|0):0){p=c[b+4>>2]|0;ge(b+4|0,p,p,r)}do if(a[b+194>>0]|0?(n=c[b+136>>2]|0,n=pb[c[(c[n>>2]|0)+28>>2]&127](n)|0,f=c[n+4>>2]|0,(f|0)>0):0){e=(S(c[b+156>>2]|0,f)|0)/100|0;p=c[b+160>>2]|0;e=(p|0)>(e|0)?p:e;e=(f|0)<(e|0)?f:e;if((e|0)>0){i=0;do{k=((c[b+184>>2]|0)+i|0)%(f|0)|0;o=c[n+12>>2]|0;j=c[o+(k<<4)>>2]|0;k=c[o+(k<<4)+4>>2]|0;o=c[j+48>>2]|0;p=c[k+48>>2]|0;if(!(((((+g[o>>2]<=+g[p+16>>2]?+g[o+16>>2]>=+g[p>>2]:0)?+g[o+4>>2]<=+g[p+20>>2]:0)?+g[o+20>>2]>=+g[p+4>>2]:0)?+g[o+8>>2]<=+g[p+24>>2]:0)?+g[o+24>>2]>=+g[p+8>>2]:0)){f=c[b+136>>2]|0;tb[c[(c[f>>2]|0)+12>>2]&31](f,j,k,d)|0;f=c[n+4>>2]|0;i=i+-1|0;e=e+-1|0}i=i+1|0}while((i|0)<(e|0));if((f|0)<=0){c[b+184>>2]=0;break}}c[b+184>>2]=((c[b+184>>2]|0)+e|0)%(f|0)|0}while(0);c[b+180>>2]=(c[b+180>>2]|0)+1;c[b+160>>2]=1;a[b+194>>0]=0;f=c[b+168>>2]|0;e=c[b+172>>2]|0;if(!f)h=0.0;else h=+(e>>>0)/+(f>>>0);g[b+176>>2]=h;c[b+172>>2]=e>>>1;c[b+168>>2]=f>>>1;p=c[b+136>>2]|0;if(!(pb[c[(c[p>>2]|0)+56>>2]&127](p)|0)){l=r;return}p=c[b+136>>2]|0;p=pb[c[(c[p>>2]|0)+28>>2]&127](p)|0;e=c[p+4>>2]|0;if((e|0)>1){Ie(p,0,e+-1|0);k=0;f=0;j=0;i=0;q=44}else{o=0;k=0;j=0;i=0}while(1){if((q|0)==44){q=0;e=c[p+4>>2]|0;o=f}if((j|0)>=(e|0))break;n=c[p+12>>2]|0;m=n+(j<<4)|0;f=c[m>>2]|0;n=n+(j<<4)+4|0;e=c[n>>2]|0;if(!((f|0)==(o|0)&(e|0)==(k|0))){k=c[f+48>>2]|0;o=c[e+48>>2]|0;if(!(((((+g[k>>2]<=+g[o+16>>2]?+g[k+16>>2]>=+g[o>>2]:0)?+g[k+4>>2]<=+g[o+20>>2]:0)?+g[k+20>>2]>=+g[o+4>>2]:0)?+g[k+8>>2]<=+g[o+24>>2]:0)?+g[k+24>>2]>=+g[o+8>>2]:0))q=53}else{e=k;q=53}if((q|0)==53){q=c[b+136>>2]|0;Vb[c[(c[q>>2]|0)+32>>2]&127](q,m,d);c[m>>2]=0;c[n>>2]=0;i=i+1|0}k=e;j=j+1|0;q=44}if((e|0)>1){Ie(p,0,e+-1|0);j=c[p+4>>2]|0}else j=e;k=j-i|0;if((i|0)<0){if((c[p+8>>2]|0)<(k|0)){if((j|0)!=(i|0)){c[6485]=(c[6485]|0)+1;e=ic((k<<4|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[p+4>>2]|0;if((f|0)>0){i=0;do{q=c[p+12>>2]|0;c[e+(i<<4)>>2]=c[q+(i<<4)>>2];c[e+(i<<4)+4>>2]=c[q+(i<<4)+4>>2];c[e+(i<<4)+8>>2]=c[q+(i<<4)+8>>2];c[e+(i<<4)+12>>2]=c[q+(i<<4)+12>>2];i=i+1|0}while((i|0)!=(f|0));f=p+12|0}else f=p+12|0}else{e=0;f=p+12|0}i=c[f>>2]|0;if(i|0){if(a[p+16>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[i+-4>>2]|0)}c[f>>2]=0}a[p+16>>0]=1;c[f>>2]=e;c[p+8>>2]=k}else f=p+12|0;e=j;do{q=(c[f>>2]|0)+(e<<4)|0;e=e+1|0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0}while((e|0)!=(k|0))}c[p+4>>2]=k;l=r;return}function gd(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0;o=c[b+28>>2]|0;j=c[b+32>>2]|0;oc(b,o+4|0,j+4|0,o+264|0,j+264|0);r=c[d+8>>2]|0;g[r>>2]=1.0;p=c[d+24>>2]|0;g[r+(p+1<<2)>>2]=1.0;g[r+((p<<1)+2<<2)>>2]=1.0;l=+g[b+348>>2];u=+g[b+352>>2];n=+g[b+356>>2];s=+g[o+4>>2]*l+ +g[o+8>>2]*u+ +g[o+12>>2]*n;m=l*+g[o+20>>2]+u*+g[o+24>>2]+n*+g[o+28>>2];n=l*+g[o+36>>2]+u*+g[o+40>>2]+n*+g[o+44>>2];r=c[d+12>>2]|0;c[r>>2]=0;g[r+4>>2]=n;g[r+8>>2]=-m;g[r+12>>2]=0.0;g[r+(p<<2)>>2]=-n;c[r+(p+1<<2)>>2]=0;g[r+(p+2<<2)>>2]=s;g[r+(p+3<<2)>>2]=0.0;g[r+(p<<1<<2)>>2]=m;g[r+((p<<1|1)<<2)>>2]=-s;c[r+((p<<1)+2<<2)>>2]=0;g[r+((p<<1)+3<<2)>>2]=0.0;r=c[d+16>>2]|0;g[r>>2]=-1.0;g[r+(p+1<<2)>>2]=-1.0;g[r+((p<<1)+2<<2)>>2]=-1.0;u=+g[b+412>>2];l=+g[b+416>>2];k=+g[b+420>>2];t=+g[j+4>>2]*u+ +g[j+8>>2]*l+ +g[j+12>>2]*k;f=u*+g[j+20>>2]+l*+g[j+24>>2]+k*+g[j+28>>2];k=u*+g[j+36>>2]+l*+g[j+40>>2]+k*+g[j+44>>2];p=c[d+20>>2]|0;r=c[d+24>>2]|0;c[p>>2]=0;g[p+4>>2]=-k;g[p+8>>2]=f;g[p+12>>2]=0.0;g[p+(r<<2)>>2]=k;c[p+(r+1<<2)>>2]=0;g[p+(r+2<<2)>>2]=-t;g[p+(r+3<<2)>>2]=0.0;g[p+(r<<1<<2)>>2]=-f;g[p+((r<<1|1)<<2)>>2]=t;c[p+((r<<1)+2<<2)>>2]=0;g[p+((r<<1)+3<<2)>>2]=0.0;q=c[b+592>>2]|0;l=+g[((q&2|0)==0?d+4|0:b+600|0)>>2]*+g[d>>2];i=c[d+28>>2]|0;h=c[d+36>>2]|0;e=c[d+40>>2]|0;g[i>>2]=l*(t+ +g[j+52>>2]-s-+g[o+52>>2]);g[h>>2]=-3402823466385288598117041.0e14;g[e>>2]=3402823466385288598117041.0e14;if(!(q&1)){g[i+(r<<2)>>2]=l*(f+ +g[j+56>>2]-m-+g[o+56>>2]);g[h+(r<<2)>>2]=-3402823466385288598117041.0e14;g[e+(r<<2)>>2]=3402823466385288598117041.0e14;g[i+(r<<1<<2)>>2]=l*(k+ +g[j+60>>2]-n-+g[o+60>>2]);g[h+(r<<1<<2)>>2]=-3402823466385288598117041.0e14;g[e+(r<<1<<2)>>2]=3402823466385288598117041.0e14}else{v=c[d+32>>2]|0;c[v>>2]=c[b+596>>2];g[i+(r<<2)>>2]=l*(f+ +g[j+56>>2]-m-+g[o+56>>2]);g[h+(r<<2)>>2]=-3402823466385288598117041.0e14;g[e+(r<<2)>>2]=3402823466385288598117041.0e14;c[v+(r<<2)>>2]=c[b+596>>2];g[i+(r<<1<<2)>>2]=l*(k+ +g[j+60>>2]-n-+g[o+60>>2]);g[h+(r<<1<<2)>>2]=-3402823466385288598117041.0e14;g[e+(r<<1<<2)>>2]=3402823466385288598117041.0e14;c[v+(r<<1<<2)>>2]=c[b+596>>2]}do if(!(a[b+526>>0]|0))j=r*3|0;else{j=c[d+12>>2]|0;u=+g[b+456>>2];if(+g[b+444>>2]<u?+g[b+448>>2]<u:0){z=+g[o+4>>2];y=+g[o+8>>2];x=+g[o+12>>2];D=+g[b+304>>2];C=+g[b+320>>2];B=+g[b+336>>2];l=+g[b+308>>2];n=+g[b+324>>2];t=+g[b+340>>2];w=+g[o+20>>2];f=+g[o+24>>2];k=+g[o+28>>2];m=+g[o+36>>2];s=+g[o+40>>2];u=+g[o+44>>2];g[j+(r*3<<2)>>2]=z*D+y*C+x*B;g[j+((r*3|0)+1<<2)>>2]=D*w+C*f+B*k;g[j+((r*3|0)+2<<2)>>2]=D*m+C*s+B*u;g[j+(r<<2<<2)>>2]=z*l+y*n+x*t;g[j+((r<<2|1)<<2)>>2]=l*w+n*f+t*k;g[j+((r<<2|2)<<2)>>2]=l*m+n*s+t*u;g[p+(r*3<<2)>>2]=-(z*D+y*C+x*B);g[p+((r*3|0)+1<<2)>>2]=-(D*w+C*f+B*k);g[p+((r*3|0)+2<<2)>>2]=-(D*m+C*s+B*u);g[p+(r<<2<<2)>>2]=-(z*l+y*n+x*t);g[p+((r<<2|1)<<2)>>2]=-(l*w+n*f+t*k);g[p+((r<<2|2)<<2)>>2]=-(l*m+n*s+t*u);A=+g[d>>2]*+g[b+436>>2];i=c[d+28>>2]|0;g[i+(r*3<<2)>>2]=A*((z*D+y*C+x*B)*+g[b+460>>2]+(D*w+C*f+B*k)*+g[b+464>>2]+(D*m+C*s+B*u)*+g[b+468>>2]);g[i+(r<<2<<2)>>2]=A*((z*l+y*n+x*t)*+g[b+460>>2]+(l*w+n*f+t*k)*+g[b+464>>2]+(l*m+n*s+t*u)*+g[b+468>>2]);h=c[d+36>>2]|0;g[h+(r*3<<2)>>2]=-3402823466385288598117041.0e14;e=c[d+40>>2]|0;g[e+(r*3<<2)>>2]=3402823466385288598117041.0e14;g[h+(r<<2<<2)>>2]=-3402823466385288598117041.0e14;g[e+(r<<2<<2)>>2]=3402823466385288598117041.0e14;j=(c[d+24>>2]|0)+(r<<2)|0;break}D=+g[b+436>>2];B=D*+g[b+460>>2]*D;C=D*D*+g[b+464>>2];D=D*D*+g[b+468>>2];g[j+(r*3<<2)>>2]=B;g[j+((r*3|0)+1<<2)>>2]=C;g[j+((r*3|0)+2<<2)>>2]=D;g[p+(r*3<<2)>>2]=-B;g[p+((r*3|0)+1<<2)>>2]=-C;g[p+((r*3|0)+2<<2)>>2]=-D;g[i+(r*3<<2)>>2]=+g[d>>2]*+g[b+432>>2]*+g[b+504>>2];if(q&4|0)c[(c[d+32>>2]|0)+(r*3<<2)>>2]=c[b+604>>2];g[h+(r*3<<2)>>2]=0.0;g[e+(r*3<<2)>>2]=3402823466385288598117041.0e14;j=r<<2}while(0);if(!(a[b+525>>0]|0))return;D=+g[b+436>>2];B=D*+g[b+476>>2]*D;C=D*D*+g[b+480>>2];D=D*D*+g[b+484>>2];p=c[d+12>>2]|0;r=c[d+20>>2]|0;g[p+(j<<2)>>2]=B;q=j+1|0;g[p+(q<<2)>>2]=C;v=j+2|0;g[p+(v<<2)>>2]=D;g[r+(j<<2)>>2]=-B;g[r+(q<<2)>>2]=-C;g[r+(v<<2)>>2]=-D;g[i+(j<<2)>>2]=+g[d>>2]*+g[b+432>>2]*+g[b+508>>2];if(c[b+592>>2]&4|0)c[(c[d+32>>2]|0)+(j<<2)>>2]=c[b+604>>2];do if(+g[b+452>>2]>0.0){h=h+(j<<2)|0;e=c[d+40>>2]|0;if(+g[b+508>>2]>0.0){g[h>>2]=0.0;f=3402823466385288598117041.0e14;break}else{g[h>>2]=-3402823466385288598117041.0e14;f=0.0;break}}else{g[h+(j<<2)>>2]=-3402823466385288598117041.0e14;f=3402823466385288598117041.0e14}while(0);g[e+(j<<2)>>2]=f;return}function hd(a){a=a|0;var b=0,d=0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0;n=l;l=l+32|0;m=c[a+372>>2]|0;a:do switch(c[m+32>>2]|0){case 1:{d=1;b=0;while(1){c[n+16>>2]=0;c[n+16+4>>2]=0;c[n+16+8>>2]=0;c[n+16+12>>2]=0;g[n+16+(b<<2)>>2]=1.0;o=m+32|0;g[m+16+(d<<2)>>2]=0.0;d=(c[a+364>>2]|0)+-1|0;c[a+364>>2]=d;c[m+(c[o>>2]<<2)>>2]=c[a+348+(d<<2)>>2];d=c[o>>2]|0;c[o>>2]=d+1;e=+g[n+16>>2];f=+g[n+16+4>>2];h=+g[n+16+8>>2];uh(a,e,f,h,c[m+(d<<2)>>2]|0);if(hd(a)|0){b=1;d=19;break}m=c[a+372>>2]|0;o=(c[m+32>>2]|0)+-1|0;c[m+32>>2]=o;o=c[m+(o<<2)>>2]|0;m=c[a+364>>2]|0;c[a+364>>2]=m+1;c[a+348+(m<<2)>>2]=o;m=c[a+372>>2]|0;g[m+16+(c[m+32>>2]<<2)>>2]=0.0;o=(c[a+364>>2]|0)+-1|0;c[a+364>>2]=o;c[m+(c[m+32>>2]<<2)>>2]=c[a+348+(o<<2)>>2];o=c[m+32>>2]|0;c[m+32>>2]=o+1;uh(a,-e,-f,-h,c[m+(o<<2)>>2]|0);if(hd(a)|0){b=1;d=19;break}o=c[a+372>>2]|0;m=(c[o+32>>2]|0)+-1|0;c[o+32>>2]=m;m=c[o+(m<<2)>>2]|0;o=c[a+364>>2]|0;c[a+364>>2]=o+1;c[a+348+(o<<2)>>2]=m;b=b+1|0;if(b>>>0>=3)break a;m=c[a+372>>2]|0;d=c[m+32>>2]|0}if((d|0)==19){l=n;return b|0}break}case 2:{o=c[m+4>>2]|0;b=c[m>>2]|0;e=+g[o+16>>2]-+g[b+16>>2];f=+g[o+20>>2]-+g[b+20>>2];h=+g[o+24>>2]-+g[b+24>>2];b=0;while(1){c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;g[n+(b<<2)>>2]=1.0;i=+g[n+8>>2];j=+g[n+4>>2];k=+g[n>>2];if((f*i-h*j)*(f*i-h*j)+(h*k-e*i)*(h*k-e*i)+(e*j-f*k)*(e*j-f*k)>0.0){m=c[a+372>>2]|0;g[m+16+(c[m+32>>2]<<2)>>2]=0.0;o=(c[a+364>>2]|0)+-1|0;c[a+364>>2]=o;c[m+(c[m+32>>2]<<2)>>2]=c[a+348+(o<<2)>>2];o=c[m+32>>2]|0;c[m+32>>2]=o+1;uh(a,f*i-h*j,h*k-e*i,e*j-f*k,c[m+(o<<2)>>2]|0);if(hd(a)|0){b=1;d=19;break}m=c[a+372>>2]|0;o=(c[m+32>>2]|0)+-1|0;c[m+32>>2]=o;o=c[m+(o<<2)>>2]|0;m=c[a+364>>2]|0;c[a+364>>2]=m+1;c[a+348+(m<<2)>>2]=o;m=c[a+372>>2]|0;g[m+16+(c[m+32>>2]<<2)>>2]=0.0;o=(c[a+364>>2]|0)+-1|0;c[a+364>>2]=o;c[m+(c[m+32>>2]<<2)>>2]=c[a+348+(o<<2)>>2];o=c[m+32>>2]|0;c[m+32>>2]=o+1;uh(a,-(f*i-h*j),-(h*k-e*i),-(e*j-f*k),c[m+(o<<2)>>2]|0);if(hd(a)|0){b=1;d=19;break}o=c[a+372>>2]|0;m=(c[o+32>>2]|0)+-1|0;c[o+32>>2]=m;m=c[o+(m<<2)>>2]|0;o=c[a+364>>2]|0;c[a+364>>2]=o+1;c[a+348+(o<<2)>>2]=m}b=b+1|0;if(b>>>0>=3)break a}if((d|0)==19){l=n;return b|0}break}case 3:{o=c[m+4>>2]|0;d=c[m>>2]|0;i=+g[d+16>>2];e=+g[o+16>>2]-i;j=+g[d+20>>2];f=+g[o+20>>2]-j;k=+g[d+24>>2];h=+g[o+24>>2]-k;o=c[m+8>>2]|0;i=+g[o+16>>2]-i;j=+g[o+20>>2]-j;k=+g[o+24>>2]-k;if((f*k-h*j)*(f*k-h*j)+(h*i-e*k)*(h*i-e*k)+(e*j-f*i)*(e*j-f*i)>0.0){g[m+28>>2]=0.0;o=(c[a+364>>2]|0)+-1|0;c[a+364>>2]=o;c[m+12>>2]=c[a+348+(o<<2)>>2];o=c[m+32>>2]|0;c[m+32>>2]=o+1;uh(a,f*k-h*j,h*i-e*k,e*j-f*i,c[m+(o<<2)>>2]|0);if(hd(a)|0){o=1;l=n;return o|0}m=c[a+372>>2]|0;o=(c[m+32>>2]|0)+-1|0;c[m+32>>2]=o;o=c[m+(o<<2)>>2]|0;m=c[a+364>>2]|0;c[a+364>>2]=m+1;c[a+348+(m<<2)>>2]=o;m=c[a+372>>2]|0;g[m+16+(c[m+32>>2]<<2)>>2]=0.0;o=(c[a+364>>2]|0)+-1|0;c[a+364>>2]=o;c[m+(c[m+32>>2]<<2)>>2]=c[a+348+(o<<2)>>2];o=c[m+32>>2]|0;c[m+32>>2]=o+1;uh(a,-(f*k-h*j),-(h*i-e*k),-(e*j-f*i),c[m+(o<<2)>>2]|0);if(hd(a)|0){o=1;l=n;return o|0}else{o=c[a+372>>2]|0;m=(c[o+32>>2]|0)+-1|0;c[o+32>>2]=m;m=c[o+(m<<2)>>2]|0;o=c[a+364>>2]|0;c[a+364>>2]=o+1;c[a+348+(o<<2)>>2]=m;break a}}break}case 4:{o=c[m>>2]|0;a=c[m+12>>2]|0;k=+g[a+16>>2];r=+g[o+16>>2]-k;p=+g[a+20>>2];e=+g[o+20>>2]-p;h=+g[a+24>>2];i=+g[o+24>>2]-h;o=c[m+4>>2]|0;f=+g[o+16>>2]-k;j=+g[o+20>>2]-p;q=+g[o+24>>2]-h;o=c[m+8>>2]|0;k=+g[o+16>>2]-k;p=+g[o+20>>2]-p;h=+g[o+24>>2]-h;if(!((0.0!=0.0?1:r*j*h+(e*q*k+i*f*p-r*q*p-e*f*h)-i*j*k!=r*j*h+(e*q*k+i*f*p-r*q*p-e*f*h)-i*j*k)|r*j*h+(e*q*k+i*f*p-r*q*p-e*f*h)-i*j*k==0.0)){o=1;l=n;return o|0}break}default:{}}while(0);o=0;l=n;return o|0}function id(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=+h;var i=0.0,j=0.0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0;B=l;l=l+320|0;c[B+176>>2]=c[d>>2];c[B+176+4>>2]=c[d+4>>2];c[B+176+8>>2]=c[d+8>>2];c[B+176+12>>2]=c[d+12>>2];c[B+176+16>>2]=c[d+16>>2];c[B+176+16+4>>2]=c[d+16+4>>2];c[B+176+16+8>>2]=c[d+16+8>>2];c[B+176+16+12>>2]=c[d+16+12>>2];c[B+176+32>>2]=c[d+32>>2];c[B+176+32+4>>2]=c[d+32+4>>2];c[B+176+32+8>>2]=c[d+32+8>>2];c[B+176+32+12>>2]=c[d+32+12>>2];c[B+176+48>>2]=c[d+48>>2];c[B+176+48+4>>2]=c[d+48+4>>2];c[B+176+48+8>>2]=c[d+48+8>>2];c[B+176+48+12>>2]=c[d+48+12>>2];c[B+96>>2]=c[e>>2];c[B+96+4>>2]=c[e+4>>2];c[B+96+8>>2]=c[e+8>>2];c[B+96+12>>2]=c[e+12>>2];c[B+96+16>>2]=c[e+16>>2];c[B+96+16+4>>2]=c[e+16+4>>2];c[B+96+16+8>>2]=c[e+16+8>>2];c[B+96+16+12>>2]=c[e+16+12>>2];c[B+96+32>>2]=c[e+32>>2];c[B+96+32+4>>2]=c[e+32+4>>2];c[B+96+32+8>>2]=c[e+32+8>>2];c[B+96+32+12>>2]=c[e+32+12>>2];c[B+96+48>>2]=c[e+48>>2];c[B+96+48+4>>2]=c[e+48+4>>2];c[B+96+48+8>>2]=c[e+48+8>>2];c[B+96+48+12>>2]=c[e+48+12>>2];i=+g[B+96+52>>2]-+g[B+176+52>>2];G=+g[B+96+56>>2]-+g[B+176+56>>2];g[B+64>>2]=+g[B+96+48>>2]-+g[B+176+48>>2];g[B+64+4>>2]=i;g[B+64+8>>2]=G;g[B+64+12>>2]=0.0;vf(B+176|0,B+96|0,B+248|0,B+240|0);G=+g[B+240>>2];i=G*+g[B+248+4>>2];D=G*+g[B+248+8>>2];g[B+48>>2]=+g[B+248>>2]*G;g[B+48+4>>2]=i;g[B+48+8>>2]=D;g[B+48+12>>2]=0.0;c[B+248+48>>2]=0;c[B+248+48+4>>2]=0;c[B+248+48+8>>2]=0;c[B+248+48+12>>2]=0;ph(B+176|0,B+32|0);D=+g[B+32>>2];i=+g[B+32+4>>2];G=+g[B+32+8>>2];E=+g[B+32+12>>2];C=D*(2.0/(D*D+i*i+G*G+E*E));j=i*(2.0/(D*D+i*i+G*G+E*E));F=G*(2.0/(D*D+i*i+G*G+E*E));g[B+248>>2]=1.0-(i*j+G*F);g[B+248+4>>2]=D*j-E*F;g[B+248+8>>2]=D*F+E*j;g[B+248+12>>2]=0.0;g[B+248+16>>2]=D*j+E*F;g[B+248+20>>2]=1.0-(D*C+G*F);g[B+248+24>>2]=i*F-E*C;g[B+248+28>>2]=0.0;g[B+248+32>>2]=D*F-E*j;g[B+248+36>>2]=i*F+E*C;g[B+248+40>>2]=1.0-(D*C+i*j);g[B+248+44>>2]=0.0;_g(b,B+248|0,B+64|0,B+48|0,B+160|0,B+80|0);if((c[a+268>>2]|0)<=0){l=B;return}A=0;do{k=c[(c[a+276>>2]|0)+(A<<2)>>2]|0;if(Kb[c[(c[f>>2]|0)+8>>2]&31](f,c[k+188>>2]|0)|0?(y=c[k+192>>2]|0,Zb[c[(c[y>>2]|0)+8>>2]&127](y,k+4|0,B+16|0,B),m=+g[B+16>>2]+ +g[B+160>>2],n=+g[B+16+4>>2]+ +g[B+160+4>>2],o=+g[B+16+8>>2]+ +g[B+160+8>>2],g[B+16>>2]=m,g[B+16+4>>2]=n,g[B+16+8>>2]=o,g[B+16+12>>2]=0.0,p=+g[B>>2]+ +g[B+80>>2],q=+g[B+4>>2]+ +g[B+80+4>>2],r=+g[B+8>>2]+ +g[B+80+8>>2],g[B>>2]=p,g[B+4>>2]=q,g[B+8>>2]=r,g[B+12>>2]=0.0,s=+g[d+48>>2]-(p+m)*.5,t=+g[d+52>>2]-(q+n)*.5,u=+g[d+56>>2]-(r+o)*.5,v=+g[e+48>>2]-(p+m)*.5,w=+g[e+52>>2]-(q+n)*.5,x=+g[e+56>>2]-(r+o)*.5,y=s<-((p-m)*.5)|(s>(p-m)*.5?8:0)|(t<-((q-n)*.5)?2:0)|(t>(q-n)*.5?16:0)|(u<-((r-o)*.5)?4:0)|(u>(r-o)*.5?32:0),z=v<-((p-m)*.5)|(v>(p-m)*.5?8:0)|(w<-((q-n)*.5)?2:0)|(w>(q-n)*.5?16:0)|(x<-((r-o)*.5)?4:0)|(x>(r-o)*.5?32:0),(y&z|0)==0):0){if(s<-((p-m)*.5))if(!((-s-(p-m)*.5)/(v-s)>=0.0)){i=1.0;j=0.0}else{i=1.0;j=(-s-(p-m)*.5)/(v-s)}else if(v<-((p-m)*.5)?(-s-(p-m)*.5)/(v-s)<1.0:0){i=(-s-(p-m)*.5)/(v-s);j=0.0}else{i=1.0;j=0.0}if(t<-((q-n)*.5)){if(j<=(-t-(q-n)*.5)/(w-t))j=(-t-(q-n)*.5)/(w-t)}else if(w<-((q-n)*.5)?(-t-(q-n)*.5)/(w-t)<i:0)i=(-t-(q-n)*.5)/(w-t);if(u<-((r-o)*.5)){if(j<=(-u-(r-o)*.5)/(x-u))j=(-u-(r-o)*.5)/(x-u)}else if(x<-((r-o)*.5)?(-u-(r-o)*.5)/(x-u)<i:0)i=(-u-(r-o)*.5)/(x-u);if(s>(p-m)*.5){if(j<=((p-m)*.5-s)/(v-s))j=((p-m)*.5-s)/(v-s)}else if(v>(p-m)*.5?((p-m)*.5-s)/(v-s)<i:0)i=((p-m)*.5-s)/(v-s);if(t>(q-n)*.5){if(j<=((q-n)*.5-t)/(w-t))j=((q-n)*.5-t)/(w-t)}else if(w>(q-n)*.5?((q-n)*.5-t)/(w-t)<i:0)i=((q-n)*.5-t)/(w-t);if(!(y&32)){if((z&32|0)!=0?((r-o)*.5-u)/(x-u)<i:0)i=((r-o)*.5-u)/(x-u)}else if(j<=((r-o)*.5-u)/(x-u))j=((r-o)*.5-u)/(x-u);if(j<=i){H=c[k+192>>2]|0;c[B+248>>2]=0;c[B+248+4>>2]=H;c[B+248+8>>2]=k;c[B+248+12>>2]=k+4;c[B+248+16>>2]=-1;c[B+248+20>>2]=-1;rc(b,B+176|0,B+96|0,B+248|0,f,h)}}A=A+1|0}while((A|0)<(c[a+268>>2]|0));l=B;return}function jd(d,e){d=d|0;e=e|0;var f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+112|0;g[d+20>>2]=+h[e+32>>3];g[d+24>>2]=+h[e+40>>3];g[d+28>>2]=+h[e+48>>3];g[d+32>>2]=+h[e+56>>3];g[d+4>>2]=+h[e>>3];g[d+8>>2]=+h[e+8>>3];g[d+12>>2]=+h[e+16>>3];g[d+16>>2]=+h[e+24>>3];g[d+36>>2]=+h[e+64>>3];g[d+40>>2]=+h[e+72>>3];g[d+44>>2]=+h[e+80>>3];g[d+48>>2]=+h[e+88>>3];c[d+56>>2]=c[e+96>>2];a[d+60>>0]=(c[e+100>>2]|0)!=0&1;p=c[e+104>>2]|0;k=q+48|0;n=k+64|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(n|0));o=c[d+88>>2]|0;if((o|0)<(p|0)){if((c[d+92>>2]|0)<(p|0)){if(!p){f=0;i=o}else{c[6485]=(c[6485]|0)+1;f=ic(p<<6|19)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}i=c[d+88>>2]|0}if((i|0)>0){j=0;do{k=f+(j<<6)|0;m=(c[d+96>>2]|0)+(j<<6)|0;n=k+64|0;do{c[k>>2]=c[m>>2];k=k+4|0;m=m+4|0}while((k|0)<(n|0));j=j+1|0}while((j|0)!=(i|0))}i=c[d+96>>2]|0;if(i|0){if(a[d+100>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[i+-4>>2]|0)}c[d+96>>2]=0}a[d+100>>0]=1;c[d+96>>2]=f;c[d+92>>2]=p;i=d+96|0}else i=d+96|0;f=o;do{k=(c[i>>2]|0)+(f<<6)|0;m=q+48|0;n=k+64|0;do{c[k>>2]=c[m>>2];k=k+4|0;m=m+4|0}while((k|0)<(n|0));f=f+1|0}while((f|0)!=(p|0))}c[d+88>>2]=p;if((p|0)>0){f=c[d+96>>2]|0;i=0;j=c[e+112>>2]|0;while(1){g[f+(i<<6)+16>>2]=+h[j+32>>3];g[f+(i<<6)+20>>2]=+h[j+40>>3];g[f+(i<<6)+24>>2]=+h[j+48>>3];g[f+(i<<6)+28>>2]=+h[j+56>>3];g[f+(i<<6)>>2]=+h[j>>3];g[f+(i<<6)+4>>2]=+h[j+8>>3];g[f+(i<<6)+8>>2]=+h[j+16>>3];g[f+(i<<6)+12>>2]=+h[j+24>>3];c[f+(i<<6)+32>>2]=c[j+64>>2];c[f+(i<<6)+36>>2]=c[j+68>>2];c[f+(i<<6)+40>>2]=c[j+72>>2];i=i+1|0;if((i|0)==(p|0))break;else j=j+80|0}}m=c[e+108>>2]|0;c[q+32>>2]=0;c[q+32+4>>2]=0;c[q+32+8>>2]=0;c[q+32+12>>2]=0;k=c[d+128>>2]|0;if((k|0)<(m|0)){if((c[d+132>>2]|0)<(m|0)){if(!m){f=0;i=k}else{c[6485]=(c[6485]|0)+1;f=ic((m<<4|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}i=c[d+128>>2]|0}if((i|0)>0){j=0;do{p=f+(j<<4)|0;o=(c[d+136>>2]|0)+(j<<4)|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];j=j+1|0}while((j|0)!=(i|0))}i=c[d+136>>2]|0;if(i|0){if(a[d+140>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[i+-4>>2]|0)}c[d+136>>2]=0}a[d+140>>0]=1;c[d+136>>2]=f;c[d+132>>2]=m;i=d+136|0}else i=d+136|0;f=k;do{p=(c[i>>2]|0)+(f<<4)|0;c[p>>2]=c[q+32>>2];c[p+4>>2]=c[q+32+4>>2];c[p+8>>2]=c[q+32+8>>2];c[p+12>>2]=c[q+32+12>>2];f=f+1|0}while((f|0)!=(m|0))}c[d+128>>2]=m;if((m|0)>0){f=c[d+136>>2]|0;i=0;j=c[e+116>>2]|0;while(1){c[f+(i<<4)+12>>2]=c[j+12>>2];b[f+(i<<4)+6>>1]=b[j+6>>1]|0;b[f+(i<<4)+8>>1]=b[j+8>>1]|0;b[f+(i<<4)+10>>1]=b[j+10>>1]|0;b[f+(i<<4)>>1]=b[j>>1]|0;b[f+(i<<4)+2>>1]=b[j+2>>1]|0;b[f+(i<<4)+4>>1]=b[j+4>>1]|0;i=i+1|0;if((i|0)==(m|0))break;else j=j+16|0}}c[d+144>>2]=c[e+120>>2];m=c[e+124>>2]|0;k=c[d+152>>2]|0;if((k|0)<(m|0)){if((c[d+156>>2]|0)<(m|0)){if(!m){f=0;i=k}else{c[6485]=(c[6485]|0)+1;f=ic(m<<5|19)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}i=c[d+152>>2]|0}if((i|0)>0){j=0;do{p=f+(j<<5)|0;o=(c[d+160>>2]|0)+(j<<5)|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];c[p+16>>2]=c[o+16>>2];c[p+20>>2]=c[o+20>>2];c[p+24>>2]=c[o+24>>2];c[p+28>>2]=c[o+28>>2];j=j+1|0}while((j|0)!=(i|0))}i=c[d+160>>2]|0;if(i|0){if(a[d+164>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[i+-4>>2]|0)}c[d+160>>2]=0}a[d+164>>0]=1;c[d+160>>2]=f;c[d+156>>2]=m;i=d+160|0}else i=d+160|0;f=k;do{p=(c[i>>2]|0)+(f<<5)|0;c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[p+12>>2]=c[q+12>>2];c[p+16>>2]=c[q+16>>2];c[p+20>>2]=c[q+20>>2];c[p+24>>2]=c[q+24>>2];c[p+28>>2]=c[q+28>>2];f=f+1|0}while((f|0)!=(m|0))}c[d+152>>2]=m;if((m|0)<=0){l=q;return}i=c[d+160>>2]|0;j=0;f=c[e+128>>2]|0;while(1){b[i+(j<<5)+6>>1]=b[f+14>>1]|0;b[i+(j<<5)+8>>1]=b[f+16>>1]|0;b[i+(j<<5)+10>>1]=b[f+18>>1]|0;b[i+(j<<5)>>1]=b[f+8>>1]|0;b[i+(j<<5)+2>>1]=b[f+10>>1]|0;b[i+(j<<5)+4>>1]=b[f+12>>1]|0;c[i+(j<<5)+12>>2]=c[f>>2];c[i+(j<<5)+16>>2]=c[f+4>>2];j=j+1|0;if((j|0)==(m|0))break;else f=f+20|0}l=q;return}function kd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,h=0,i=0,j=0,k=0.0,l=0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0,Y=0,Z=0;Y=c[d+36>>2]|0;X=c[e+36>>2]|0;L=+g[Y+8>>2];M=+g[Y+12>>2];N=+g[Y+16>>2];d=c[X+8>>2]|0;R=+g[d+8>>2];S=+g[d+12>>2];T=+g[d+16>>2];e=c[X+12>>2]|0;O=+g[e+8>>2];P=+g[e+12>>2];Q=+g[e+16>>2];h=c[X+16>>2]|0;U=+g[h+8>>2];V=+g[h+12>>2];W=+g[h+16>>2];C=O-L-(R-L);A=P-M-(S-M);v=Q-N-(T-N);w=A*(W-N-(T-N))-v*(V-M-(S-M));B=v*(U-L-(R-L))-C*(W-N-(T-N));D=C*(V-M-(S-M))-A*(U-L-(R-L));do if(D*D+(w*w+B*B)>1.1920928955078125e-07?(F=1.0/+G(+(D*D+(w*w+B*B))),H=(T-N)*D*F+((R-L)*w*F+(S-M)*B*F),H*H<3402823466385288598117041.0e14):0){f=R-L-w*F*H;q=S-M-B*F*H;r=T-N-D*F*H;s=O-L-w*F*H;t=P-M-B*F*H;u=Q-N-D*F*H;if((D*(t*f-q*s)+(w*(q*u-r*t)+B*(r*s-u*f))>0.0?(x=U-L-w*F*H,y=V-M-B*F*H,z=W-N-D*F*H,D*(y*s-t*x)+(w*(t*z-u*y)+B*(u*x-z*s))>0.0):0)?D*(q*x-y*f)+(w*(y*r-z*q)+B*(z*f-r*x))>0.0:0){p=H*H;q=w*F*H;n=B*F*H;m=D*F*H;break}if(C*C+A*A+v*v>1.1920928955078125e-07?(E=-((R-L)*C+(S-M)*A+(T-N)*v)/(C*C+A*A+v*v),E=E<0.0?0.0:E>1.0?1.0:E,p=(T-N+v*E)*(T-N+v*E)+((R-L+C*E)*(R-L+C*E)+(S-M+A*E)*(S-M+A*E)),p<3402823466385288598117041.0e14):0){r=T-N+v*E;s=S-M+A*E;q=R-L+C*E}else{p=3402823466385288598117041.0e14;r=0.0;s=0.0;q=0.0}f=(U-L-(O-L))*(U-L-(O-L))+(V-M-(P-M))*(V-M-(P-M))+(W-N-(Q-N))*(W-N-(Q-N));if(f>1.1920928955078125e-07?(I=-((O-L)*(U-L-(O-L))+(P-M)*(V-M-(P-M))+(Q-N)*(W-N-(Q-N)))/f,I=I<0.0?0.0:I>1.0?1.0:I,k=O-L+(U-L-(O-L))*I,n=P-M+(V-M-(P-M))*I,I=Q-N+(W-N-(Q-N))*I,I*I+(k*k+n*n)<p):0){p=I*I+(k*k+n*n);r=I}else{n=s;k=q}f=(R-L-(U-L))*(R-L-(U-L))+(S-M-(V-M))*(S-M-(V-M))+(T-N-(W-N))*(T-N-(W-N));if(f>1.1920928955078125e-07?(m=-((U-L)*(R-L-(U-L))+(V-M)*(S-M-(V-M))+(W-N)*(T-N-(W-N)))/f,m=m<0.0?0.0:m>1.0?1.0:m,J=U-L+(R-L-(U-L))*m,K=V-M+(S-M-(V-M))*m,m=W-N+(T-N-(W-N))*m,m*m+(J*J+K*K)<p):0){p=m*m+(J*J+K*K);q=J;n=K}else{q=k;m=r}}else{p=3402823466385288598117041.0e14;q=0.0;n=0.0;m=0.0}while(0);J=L-+g[Y+24>>2];K=M-+g[Y+28>>2];u=N-+g[Y+32>>2];u=+g[b+12>>2]+ +G(+(J*J+K*K+u*u))*2.0;if(!(p<u*u))return;r=L+q;f=M+n;k=N+m;t=+G(+(((R-r)*(P-f)-(S-f)*(O-r))*((R-r)*(P-f)-(S-f)*(O-r))+(((S-f)*(Q-k)-(T-k)*(P-f))*((S-f)*(Q-k)-(T-k)*(P-f))+((T-k)*(O-r)-(R-r)*(Q-k))*((T-k)*(O-r)-(R-r)*(Q-k)))));s=+G(+(((O-r)*(V-f)-(P-f)*(U-r))*((O-r)*(V-f)-(P-f)*(U-r))+(((P-f)*(W-k)-(Q-k)*(V-f))*((P-f)*(W-k)-(Q-k)*(V-f))+((Q-k)*(U-r)-(O-r)*(W-k))*((Q-k)*(U-r)-(O-r)*(W-k)))));r=+G(+(((S-f)*(U-r)-(R-r)*(V-f))*((S-f)*(U-r)-(R-r)*(V-f))+(((T-k)*(V-f)-(S-f)*(W-k))*((T-k)*(V-f)-(S-f)*(W-k))+((R-r)*(W-k)-(T-k)*(U-r))*((R-r)*(W-k)-(T-k)*(U-r)))));k=+g[Y+88>>2];V=+g[d+88>>2];W=+g[e+88>>2];f=+g[h+88>>2];f=!(V<=0.0)&!(W<=0.0)&!(f<=0.0)?s*(1.0/(t+s+r))*V+r*(1.0/(t+s+r))*W+t*(1.0/(t+s+r))*f:0.0;if(!(k+f>0.0))return;W=1.0/-+G(+p);q=q*W;p=n*W;n=m*W;o=c[b+4>>2]|0;d=c[b+8>>2]|0;l=c[(+g[o+316>>2]>+g[d+316>>2]?o+316|0:d+316|0)>>2]|0;m=k/(k+f)*+g[o+332>>2];f=f/(k+f)*+g[d+332>>2];d=c[o+832>>2]|0;if((d|0)==(c[o+836>>2]|0)?(Z=d|0?d<<1:1,(d|0)<(Z|0)):0){if(!Z)j=0;else{c[6485]=(c[6485]|0)+1;d=ic((Z*56|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}j=d;d=c[o+832>>2]|0}if((d|0)>0){e=0;do{h=j+(e*56|0)|0;b=(c[o+840>>2]|0)+(e*56|0)|0;i=h+56|0;do{c[h>>2]=c[b>>2];h=h+4|0;b=b+4|0}while((h|0)<(i|0));e=e+1|0}while((e|0)!=(d|0))}d=c[o+840>>2]|0;if(d|0){if(a[o+844>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[o+840>>2]=0}a[o+844>>0]=1;c[o+840>>2]=j;c[o+836>>2]=Z;d=c[o+832>>2]|0}Z=c[o+840>>2]|0;c[Z+(d*56|0)>>2]=Y;c[Z+(d*56|0)+4>>2]=X;g[Z+(d*56|0)+8>>2]=s*(1.0/(t+s+r));g[Z+(d*56|0)+12>>2]=r*(1.0/(t+s+r));g[Z+(d*56|0)+16>>2]=t*(1.0/(t+s+r));g[Z+(d*56|0)+20>>2]=0.0;g[Z+(d*56|0)+24>>2]=q;g[Z+(d*56|0)+28>>2]=p;g[Z+(d*56|0)+32>>2]=n;g[Z+(d*56|0)+36>>2]=0.0;g[Z+(d*56|0)+40>>2]=u;c[Z+(d*56|0)+44>>2]=l;g[Z+(d*56|0)+48>>2]=m;g[Z+(d*56|0)+52>>2]=f;c[o+832>>2]=(c[o+832>>2]|0)+1;return}function ld(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+112|0;c[d+20>>2]=c[e+16>>2];c[d+24>>2]=c[e+20>>2];c[d+28>>2]=c[e+24>>2];c[d+32>>2]=c[e+28>>2];c[d+4>>2]=c[e>>2];c[d+8>>2]=c[e+4>>2];c[d+12>>2]=c[e+8>>2];c[d+16>>2]=c[e+12>>2];c[d+36>>2]=c[e+32>>2];c[d+40>>2]=c[e+36>>2];c[d+44>>2]=c[e+40>>2];c[d+48>>2]=c[e+44>>2];c[d+56>>2]=c[e+48>>2];a[d+60>>0]=(c[e+52>>2]|0)!=0&1;n=c[e+56>>2]|0;i=o+48|0;k=i+64|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(k|0));m=c[d+88>>2]|0;if((m|0)<(n|0)){if((c[d+92>>2]|0)<(n|0)){if(!n){f=0;g=m}else{c[6485]=(c[6485]|0)+1;f=ic(n<<6|19)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}g=c[d+88>>2]|0}if((g|0)>0){h=0;do{i=f+(h<<6)|0;j=(c[d+96>>2]|0)+(h<<6)|0;k=i+64|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));h=h+1|0}while((h|0)!=(g|0))}g=c[d+96>>2]|0;if(g|0){if(a[d+100>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[g+-4>>2]|0)}c[d+96>>2]=0}a[d+100>>0]=1;c[d+96>>2]=f;c[d+92>>2]=n;g=d+96|0}else g=d+96|0;f=m;do{i=(c[g>>2]|0)+(f<<6)|0;j=o+48|0;k=i+64|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));f=f+1|0}while((f|0)!=(n|0))}c[d+88>>2]=n;if((n|0)>0){f=c[d+96>>2]|0;g=0;h=c[e+64>>2]|0;while(1){c[f+(g<<6)+16>>2]=c[h+16>>2];c[f+(g<<6)+20>>2]=c[h+20>>2];c[f+(g<<6)+24>>2]=c[h+24>>2];c[f+(g<<6)+28>>2]=c[h+28>>2];c[f+(g<<6)>>2]=c[h>>2];c[f+(g<<6)+4>>2]=c[h+4>>2];c[f+(g<<6)+8>>2]=c[h+8>>2];c[f+(g<<6)+12>>2]=c[h+12>>2];c[f+(g<<6)+32>>2]=c[h+32>>2];c[f+(g<<6)+36>>2]=c[h+36>>2];c[f+(g<<6)+40>>2]=c[h+40>>2];g=g+1|0;if((g|0)==(n|0))break;else h=h+48|0}}j=c[e+60>>2]|0;c[o+32>>2]=0;c[o+32+4>>2]=0;c[o+32+8>>2]=0;c[o+32+12>>2]=0;i=c[d+128>>2]|0;if((i|0)<(j|0)){if((c[d+132>>2]|0)<(j|0)){if(!j){f=0;g=i}else{c[6485]=(c[6485]|0)+1;f=ic((j<<4|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}g=c[d+128>>2]|0}if((g|0)>0){h=0;do{n=f+(h<<4)|0;m=(c[d+136>>2]|0)+(h<<4)|0;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];c[n+8>>2]=c[m+8>>2];c[n+12>>2]=c[m+12>>2];h=h+1|0}while((h|0)!=(g|0))}g=c[d+136>>2]|0;if(g|0){if(a[d+140>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[g+-4>>2]|0)}c[d+136>>2]=0}a[d+140>>0]=1;c[d+136>>2]=f;c[d+132>>2]=j;g=d+136|0}else g=d+136|0;f=i;do{n=(c[g>>2]|0)+(f<<4)|0;c[n>>2]=c[o+32>>2];c[n+4>>2]=c[o+32+4>>2];c[n+8>>2]=c[o+32+8>>2];c[n+12>>2]=c[o+32+12>>2];f=f+1|0}while((f|0)!=(j|0))}c[d+128>>2]=j;if((j|0)>0){f=c[d+136>>2]|0;g=0;h=c[e+68>>2]|0;while(1){c[f+(g<<4)+12>>2]=c[h+12>>2];b[f+(g<<4)+6>>1]=b[h+6>>1]|0;b[f+(g<<4)+8>>1]=b[h+8>>1]|0;b[f+(g<<4)+10>>1]=b[h+10>>1]|0;b[f+(g<<4)>>1]=b[h>>1]|0;b[f+(g<<4)+2>>1]=b[h+2>>1]|0;b[f+(g<<4)+4>>1]=b[h+4>>1]|0;g=g+1|0;if((g|0)==(j|0))break;else h=h+16|0}}c[d+144>>2]=c[e+76>>2];j=c[e+80>>2]|0;i=c[d+152>>2]|0;if((i|0)<(j|0)){if((c[d+156>>2]|0)<(j|0)){if(!j){f=0;g=i}else{c[6485]=(c[6485]|0)+1;f=ic(j<<5|19)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}g=c[d+152>>2]|0}if((g|0)>0){h=0;do{n=f+(h<<5)|0;m=(c[d+160>>2]|0)+(h<<5)|0;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];c[n+8>>2]=c[m+8>>2];c[n+12>>2]=c[m+12>>2];c[n+16>>2]=c[m+16>>2];c[n+20>>2]=c[m+20>>2];c[n+24>>2]=c[m+24>>2];c[n+28>>2]=c[m+28>>2];h=h+1|0}while((h|0)!=(g|0))}g=c[d+160>>2]|0;if(g|0){if(a[d+164>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[g+-4>>2]|0)}c[d+160>>2]=0}a[d+164>>0]=1;c[d+160>>2]=f;c[d+156>>2]=j;g=d+160|0}else g=d+160|0;f=i;do{n=(c[g>>2]|0)+(f<<5)|0;c[n>>2]=c[o>>2];c[n+4>>2]=c[o+4>>2];c[n+8>>2]=c[o+8>>2];c[n+12>>2]=c[o+12>>2];c[n+16>>2]=c[o+16>>2];c[n+20>>2]=c[o+20>>2];c[n+24>>2]=c[o+24>>2];c[n+28>>2]=c[o+28>>2];f=f+1|0}while((f|0)!=(j|0))}c[d+152>>2]=j;if((j|0)<=0){l=o;return}g=c[d+160>>2]|0;h=0;f=c[e+72>>2]|0;while(1){b[g+(h<<5)+6>>1]=b[f+14>>1]|0;b[g+(h<<5)+8>>1]=b[f+16>>1]|0;b[g+(h<<5)+10>>1]=b[f+18>>1]|0;b[g+(h<<5)>>1]=b[f+8>>1]|0;b[g+(h<<5)+2>>1]=b[f+10>>1]|0;b[g+(h<<5)+4>>1]=b[f+12>>1]|0;c[g+(h<<5)+12>>2]=c[f>>2];c[g+(h<<5)+16>>2]=c[f+4>>2];h=h+1|0;if((h|0)==(j|0))break;else f=f+20|0}l=o;return}function md(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;c[b>>2]=3308;d=c[b+192>>2]|0;if(d|0)lb[c[(c[d>>2]|0)+4>>2]&511](d);a:do if((c[b+1112>>2]|0)>0)do{h=c[c[b+1120>>2]>>2]|0;d=c[h+348>>2]|0;if(d|0){Ug(b+1048|0,d)|0;e=c[b+1052>>2]|0;if(e|0){c[6486]=(c[6486]|0)+1;Uc(c[e+-4>>2]|0)}c[b+1052>>2]=d;c[b+1060>>2]=(c[b+1060>>2]|0)+-1}d=c[h+52>>2]|0;if(d|0){if(a[h+56>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[h+52>>2]=0}a[h+56>>0]=1;c[h+52>>2]=0;c[h+44>>2]=0;c[h+48>>2]=0;d=c[h+32>>2]|0;if(d|0){if(a[h+36>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[h+32>>2]=0}a[h+36>>0]=1;c[h+32>>2]=0;c[h+24>>2]=0;c[h+28>>2]=0;d=c[h+12>>2]|0;if(d|0){if(a[h+16>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[h+12>>2]=0}a[h+16>>0]=1;c[h+12>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[6486]=(c[6486]|0)+1;Uc(c[h+-4>>2]|0);d=c[b+1112>>2]|0;if((d|0)<=0)break a;g=c[b+1120>>2]|0;e=0;do{f=g+(e<<2)|0;if((c[f>>2]|0)==(h|0)){i=28;break}e=e+1|0}while((e|0)<(d|0));if((i|0)==28){i=0;if((e|0)<(d|0)){c[f>>2]=c[g+(d+-1<<2)>>2];c[(c[b+1120>>2]|0)+(d+-1<<2)>>2]=h;c[b+1112>>2]=d+-1;d=d+-1|0}}}while((d|0)>0);while(0);d=c[b+872>>2]|0;if((d|0)>0){f=0;do{e=c[(c[b+880>>2]|0)+(f<<2)>>2]|0;if(e){c[6486]=(c[6486]|0)+1;Uc(c[e+-4>>2]|0);d=c[b+872>>2]|0}f=f+1|0}while((f|0)<(d|0))}d=c[b+852>>2]|0;if((d|0)>0){f=0;do{e=c[(c[b+860>>2]|0)+(f<<2)>>2]|0;if(e){c[6486]=(c[6486]|0)+1;Uc(c[e+-4>>2]|0);d=c[b+852>>2]|0}f=f+1|0}while((f|0)<(d|0))}d=c[b+1244>>2]|0;if(d|0){if(a[b+1248>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+1244>>2]=0}a[b+1248>>0]=1;c[b+1244>>2]=0;c[b+1236>>2]=0;c[b+1240>>2]=0;d=c[b+1140>>2]|0;if(d|0){if(a[b+1144>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+1140>>2]=0}a[b+1144>>0]=1;c[b+1140>>2]=0;c[b+1132>>2]=0;c[b+1136>>2]=0;d=c[b+1120>>2]|0;if(d|0){if(a[b+1124>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+1120>>2]=0}a[b+1124>>0]=1;c[b+1120>>2]=0;c[b+1112>>2]=0;c[b+1116>>2]=0;Vh(b+1048|0);Vh(b+988|0);Vh(b+928|0);d=c[b+880>>2]|0;if(d|0){if(a[b+884>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+880>>2]=0}a[b+884>>0]=1;c[b+880>>2]=0;c[b+872>>2]=0;c[b+876>>2]=0;d=c[b+860>>2]|0;if(d|0){if(a[b+864>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+860>>2]=0}a[b+864>>0]=1;c[b+860>>2]=0;c[b+852>>2]=0;c[b+856>>2]=0;d=c[b+840>>2]|0;if(d|0){if(a[b+844>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+840>>2]=0}a[b+844>>0]=1;c[b+840>>2]=0;c[b+832>>2]=0;c[b+836>>2]=0;d=c[b+820>>2]|0;if(d|0){if(a[b+824>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+820>>2]=0}a[b+824>>0]=1;c[b+820>>2]=0;c[b+812>>2]=0;c[b+816>>2]=0;d=c[b+800>>2]|0;if(d|0){if(a[b+804>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+800>>2]=0}a[b+804>>0]=1;c[b+800>>2]=0;c[b+792>>2]=0;c[b+796>>2]=0;d=c[b+780>>2]|0;if(d|0){if(a[b+784>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+780>>2]=0}a[b+784>>0]=1;c[b+780>>2]=0;c[b+772>>2]=0;c[b+776>>2]=0;d=c[b+760>>2]|0;if(d|0){if(a[b+764>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+760>>2]=0}a[b+764>>0]=1;c[b+760>>2]=0;c[b+752>>2]=0;c[b+756>>2]=0;d=c[b+740>>2]|0;if(d|0){if(a[b+744>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+740>>2]=0}a[b+744>>0]=1;c[b+740>>2]=0;c[b+732>>2]=0;c[b+736>>2]=0;d=c[b+720>>2]|0;if(d|0){if(a[b+724>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+720>>2]=0}a[b+724>>0]=1;c[b+720>>2]=0;c[b+712>>2]=0;c[b+716>>2]=0;d=c[b+700>>2]|0;if(d|0){if(a[b+704>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+700>>2]=0}a[b+704>>0]=1;c[b+700>>2]=0;c[b+692>>2]=0;c[b+696>>2]=0;d=c[b+512>>2]|0;if(d|0){if(a[b+516>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+512>>2]=0}a[b+516>>0]=1;c[b+512>>2]=0;c[b+504>>2]=0;c[b+508>>2]=0;d=c[b+492>>2]|0;if(d|0){if(a[b+496>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+492>>2]=0}a[b+496>>0]=1;c[b+492>>2]=0;c[b+484>>2]=0;c[b+488>>2]=0;Cs(b+288|0);d=c[b+276>>2]|0;if(!d){a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;b=b+272|0;c[b>>2]=0;return}if(a[b+280>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+276>>2]=0;a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;b=b+272|0;c[b>>2]=0;return}function nd(b,d,e,f,h,i,j,k,l,m,n,o,p){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0;B=S(c[l+24>>2]|0,m)|0;y=a[d+44>>0]|0;A=c[d+56>>2]|0;if(!(y<<24>>24!=0|(A|0)!=0)){B=0;return B|0}C=c[(o|0?l+12|0:l+8|0)>>2]|0;m=c[(o|0?l+20|0:l+16|0)>>2]|0;c[C+(B<<2)>>2]=c[n>>2];c[C+(B+1<<2)>>2]=c[n+4>>2];c[C+(B+2<<2)>>2]=c[n+8>>2];g[m+(B<<2)>>2]=-+g[n>>2];g[m+(B+1<<2)>>2]=-+g[n+4>>2];g[m+(B+2<<2)>>2]=-+g[n+8>>2];if(!o){q=+g[b+1176>>2];if(!(a[b+1301>>0]|0)){q=q-+g[e+48>>2];r=+g[b+1180>>2]-+g[e+52>>2];w=+g[b+1184>>2]-+g[e+56>>2];u=+g[n+8>>2];v=+g[n+4>>2];x=+g[n>>2];e=c[l+12>>2]|0;g[e+(B<<2)>>2]=r*u-w*v;g[e+(B+1<<2)>>2]=w*x-q*u;g[e+(B+2<<2)>>2]=q*v-r*x;x=+g[b+1176>>2]-+g[f+48>>2];r=+g[b+1180>>2]-+g[f+52>>2];v=+g[b+1184>>2]-+g[f+56>>2];q=+g[n+8>>2];u=+g[n+4>>2];w=+g[n>>2];e=c[l+20>>2]|0;g[e+(B<<2)>>2]=-(r*q-v*u);r=x*u-r*w;q=-(v*w-x*q);m=e}else{I=q-+g[f+48>>2];G=+g[b+1180>>2]-+g[f+52>>2];E=+g[b+1184>>2]-+g[f+56>>2];H=+g[n>>2];F=+g[n+4>>2];D=+g[n+8>>2];K=+g[b+1112>>2]-+g[e+48>>2];u=+g[b+1116>>2]-+g[e+52>>2];q=+g[b+1120>>2]-+g[e+56>>2];v=+g[d+52>>2]-+g[d+48>>2];J=H*(H*K+F*u+D*q)+H*v-H*(I*H+G*F+E*D);r=F*(H*K+F*u+D*q)+F*v-F*(I*H+G*F+E*D);v=D*(H*K+F*u+D*q)+D*v-D*(I*H+G*F+E*D);x=+g[b+1272>>2];w=+g[b+1276>>2];t=D*(u-F*(H*K+F*u+D*q)+x*r)-F*(q-D*(H*K+F*u+D*q)+x*v);s=H*(q-D*(H*K+F*u+D*q)+x*v)-D*(K-H*(H*K+F*u+D*q)+x*J);q=F*(K-H*(H*K+F*u+D*q)+x*J)-H*(u-F*(H*K+F*u+D*q)+x*r);u=D*(G-F*(I*H+G*F+E*D)-w*r)-F*(E-D*(I*H+G*F+E*D)-w*v);v=H*(E-D*(I*H+G*F+E*D)-w*v)-D*(I-H*(I*H+G*F+E*D)-w*J);r=F*(I-H*(I*H+G*F+E*D)-w*J)-H*(G-F*(I*H+G*F+E*D)-w*r);if(!((p|0)!=0|(a[b+1280>>0]|0)==0)){u=w*u;v=w*v;r=w*r;t=x*t;s=x*s;q=x*q}e=(c[l+12>>2]|0)+(B<<2)|0;g[e>>2]=t;g[e+4>>2]=s;g[e+8>>2]=q;e=c[l+20>>2]|0;g[e+(B<<2)>>2]=-u;q=-v;m=e}g[m+(B+1<<2)>>2]=q;g[e+(B+2<<2)>>2]=-r}if(A|0?+g[d>>2]==+g[d+4>>2]:0){m=c[l+28>>2]|0;g[m+(B<<2)>>2]=0.0;q=0.0;e=l+28|0}else z=12;do if((z|0)==12){e=c[l+28>>2]|0;g[e+(B<<2)>>2]=0.0;if(!(y<<24>>24)){if(A|0){m=e;q=0.0;e=l+28|0;break}else k=1;return k|0}c[(c[l+32>>2]|0)+(B<<2)>>2]=c[d+28>>2];if(A|0){m=e;q=+g[e+(B<<2)>>2];e=l+28|0;break}v=+g[d+8>>2];q=o|0?v:-v;r=+g[d+52>>2];s=+g[d>>2];t=+g[d+4>>2];u=+g[l>>2]*+g[d+32>>2];do if(!(s>t))if(!(s==t)){if(q/u<0.0)if(r>=s?s-q/u>r:0){q=(s-r)/(q/u);break}else{q=r<s?0.0:1.0;break}if(q/u>0.0)if(r<=t?t-q/u<r:0){q=(t-r)/(q/u);break}else{q=r>t?0.0:1.0;break}else q=0.0}else q=0.0;else q=1.0;while(0);g[e+(B<<2)>>2]=q*v+ +g[e+(B<<2)>>2];g[(c[l+36>>2]|0)+(B<<2)>>2]=-+g[d+12>>2];c[(c[l+40>>2]|0)+(B<<2)>>2]=c[d+12>>2];C=1;return C|0}while(0);K=+g[l>>2]*+g[d+32>>2]*+g[d+48>>2];g[m+(B<<2)>>2]=q+(o|0?-K:K);c[(c[l+32>>2]|0)+(B<<2)>>2]=c[d+36>>2];if(+g[d>>2]==+g[d+4>>2]){g[(c[l+36>>2]|0)+(B<<2)>>2]=-3402823466385288598117041.0e14;g[(c[l+40>>2]|0)+(B<<2)>>2]=3402823466385288598117041.0e14;C=1;return C|0}C=c[l+40>>2]|0;g[(c[l+36>>2]|0)+(B<<2)>>2]=(A|0)==1?0.0:-3402823466385288598117041.0e14;g[C+(B<<2)>>2]=(A|0)==1?3402823466385288598117041.0e14:0.0;v=+g[d+40>>2];if(!(v>0.0)){C=1;return C|0}if(o|0){q=+g[n>>2];u=+g[n+4>>2];r=+g[n+8>>2];s=u;t=q;u=+g[j>>2]*q+ +g[j+4>>2]*u;q=+g[j+8>>2]*r}else{q=+g[n>>2];u=+g[n+4>>2];r=+g[n+8>>2];s=u;t=q;u=+g[h>>2]*q+ +g[h+4>>2]*u;q=+g[h+8>>2]*r;k=i}q=u+q-(t*+g[k>>2]+s*+g[k+4>>2]+r*+g[k+8>>2]);if((A|0)==1){if(!(q<0.0)){C=1;return C|0}k=(c[e>>2]|0)+(B<<2)|0;if(!(+g[k>>2]<-(q*v))){C=1;return C|0}g[k>>2]=-(q*v);C=1;return C|0}else{if(!(q>0.0)){C=1;return C|0}k=(c[e>>2]|0)+(B<<2)|0;if(!(+g[k>>2]>-(q*v))){C=1;return C|0}g[k>>2]=-(q*v);C=1;return C|0}return 0}function od(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var k=0.0,m=0,n=0,o=0.0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0,v=0.0,w=0.0;u=l;l=l+288|0;q=c[b+4>>2]|0;a[q+312>>0]=0;c[q>>2]=0;a[q+356>>0]=1;c[q+292>>2]=1566444395;c[q+296>>2]=1566444395;c[q+300>>2]=1566444395;g[q+304>>2]=0.0;c[q+336>>2]=0;c[q+336+4>>2]=0;c[q+336+8>>2]=0;c[q+336+12>>2]=0;a[q+336+16>>0]=0;a[q+332>>0]=a[q+332>>0]&-16;r=+g[e+48>>2]-+g[d+48>>2]-(+g[h+48>>2]-+g[f+48>>2]);s=+g[e+52>>2]-+g[d+52>>2]-(+g[h+52>>2]-+g[f+52>>2]);t=+g[e+56>>2]-+g[d+56>>2]-(+g[h+56>>2]-+g[f+56>>2]);c[u+232>>2]=9252;g[u+232+36>>2]=999999984306749440.0;a[u+232+40>>0]=0;q=c[b+8>>2]|0;p=c[b+12>>2]|0;n=c[b+4>>2]|0;c[u+136>>2]=9300;c[u+136+4>>2]=0;c[u+136+8>>2]=1065353216;c[u+136+12>>2]=0;g[u+136+16>>2]=0.0;c[u+136+20>>2]=0;c[u+136+24>>2]=n;c[u+136+28>>2]=q;c[u+136+32>>2]=p;c[u+136+36>>2]=c[q+4>>2];c[u+136+40>>2]=c[p+4>>2];g[u+136+44>>2]=+Db[c[(c[q>>2]|0)+48>>2]&15](q);g[u+136+48>>2]=+Db[c[(c[p>>2]|0)+48>>2]&15](p);a[u+136+52>>0]=0;c[u+136+60>>2]=-1;c[u+136+72>>2]=1;c[u+136+76>>2]=1;g[u+128>>2]=999999984306749440.0;c[u>>2]=c[d>>2];c[u+4>>2]=c[d+4>>2];c[u+8>>2]=c[d+8>>2];c[u+12>>2]=c[d+12>>2];c[u+16>>2]=c[d+16>>2];c[u+16+4>>2]=c[d+16+4>>2];c[u+16+8>>2]=c[d+16+8>>2];c[u+16+12>>2]=c[d+16+12>>2];c[u+32>>2]=c[d+32>>2];c[u+32+4>>2]=c[d+32+4>>2];c[u+32+8>>2]=c[d+32+8>>2];c[u+32+12>>2]=c[d+32+12>>2];c[u+48>>2]=c[d+48>>2];c[u+48+4>>2]=c[d+48+4>>2];c[u+48+8>>2]=c[d+48+8>>2];c[u+48+12>>2]=c[d+48+12>>2];c[u+64>>2]=c[f>>2];c[u+64+4>>2]=c[f+4>>2];c[u+64+8>>2]=c[f+8>>2];c[u+64+12>>2]=c[f+12>>2];c[u+80>>2]=c[f+16>>2];c[u+80+4>>2]=c[f+16+4>>2];c[u+80+8>>2]=c[f+16+8>>2];c[u+80+12>>2]=c[f+16+12>>2];c[u+96>>2]=c[f+32>>2];c[u+96+4>>2]=c[f+32+4>>2];c[u+96+8>>2]=c[f+32+8>>2];c[u+96+12>>2]=c[f+32+12>>2];c[u+112>>2]=c[f+48>>2];c[u+112+4>>2]=c[f+48+4>>2];c[u+112+8>>2]=c[f+48+8>>2];c[u+112+12>>2]=c[f+48+12>>2];sc(u+136|0,u,u+232|0,0,0);p=(a[u+232+40>>0]|0)==0;q=u+232+20|0;c[u+216>>2]=c[q>>2];c[u+216+4>>2]=c[q+4>>2];c[u+216+8>>2]=c[q+8>>2];c[u+216+12>>2]=c[q+12>>2];if(p){i=0;l=u;return i|0}o=+g[u+232+36>>2];k=+g[u+232+16>>2];n=c[u+232+4>>2]|0;m=c[u+232+8>>2]|0;b=c[u+232+12>>2]|0;do if(o>1.0000000474974513e-03){k=0.0;p=0;while(1){if((p|0)>31){b=0;p=13;break}w=r*(c[j>>2]=n,+g[j>>2]);w=w+s*(c[j>>2]=m,+g[j>>2]);v=k;k=k-o/(w+t*(c[j>>2]=b,+g[j>>2]));if(!(!(k<=v)&(!(k<0.0)&!(k>1.0)))){b=0;p=13;break}kb[c[c[i>>2]>>2]&31](i,k);w=1.0-k;g[u+48>>2]=w*+g[d+48>>2]+k*+g[e+48>>2];g[u+52>>2]=w*+g[d+52>>2]+k*+g[e+52>>2];g[u+56>>2]=w*+g[d+56>>2]+k*+g[e+56>>2];g[u+112>>2]=w*+g[f+48>>2]+k*+g[h+48>>2];g[u+116>>2]=w*+g[f+52>>2]+k*+g[h+52>>2];g[u+120>>2]=w*+g[f+56>>2]+k*+g[h+56>>2];sc(u+136|0,u,u+232|0,0,0);if(!(a[u+232+40>>0]|0)){b=0;p=13;break}o=+g[u+232+36>>2];if(o<0.0){p=8;break}c[u+216>>2]=c[q>>2];c[u+216+4>>2]=c[q+4>>2];c[u+216+8>>2]=c[q+8>>2];c[u+216+12>>2]=c[q+12>>2];n=c[u+232+4>>2]|0;m=c[u+232+8>>2]|0;b=c[u+232+12>>2]|0;if(!(o>1.0000000474974513e-03)){p=10;break}else p=p+1|0}if((p|0)==8){g[i+164>>2]=k;f=c[u+232+8>>2]|0;e=c[u+232+12>>2]|0;h=c[u+232+16>>2]|0;c[i+132>>2]=c[u+232+4>>2];c[i+136>>2]=f;c[i+140>>2]=e;c[i+144>>2]=h;c[i+148>>2]=c[q>>2];c[i+148+4>>2]=c[q+4>>2];c[i+148+8>>2]=c[q+8>>2];c[i+148+12>>2]=c[q+12>>2];i=1;l=u;return i|0}else if((p|0)==10){o=+g[u+232+16>>2];break}else if((p|0)==13){l=u;return b|0}}else{o=k;k=0.0}while(0);w=r*(c[j>>2]=n,+g[j>>2]);w=w+s*(c[j>>2]=m,+g[j>>2]);if(w+t*(c[j>>2]=b,+g[j>>2])>=-+g[i+172>>2]){i=0;l=u;return i|0}g[i+164>>2]=k;c[i+132>>2]=n;c[i+136>>2]=m;c[i+140>>2]=b;g[i+144>>2]=o;c[i+148>>2]=c[u+216>>2];c[i+148+4>>2]=c[u+216+4>>2];c[i+148+8>>2]=c[u+216+8>>2];c[i+148+12>>2]=c[u+216+12>>2];i=1;l=u;return i|0}function pd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0;m=l;l=l+240|0;c[a+4>>2]=(c[a+4>>2]|0)+1;j=c[b+36>>2]|0;i=c[d+36>>2]|0;f=c[a+8>>2]|0;K=c[(c[f+4>>2]|0)+24>>2]|0;d=c[K+(j*80|0)+64>>2]|0;b=(c[(c[a+12>>2]|0)+4>>2]|0)+24|0;e=c[(c[b>>2]|0)+(i*80|0)+64>>2]|0;f=c[f+12>>2]|0;n=+g[f>>2];I=+g[f+4>>2];J=+g[f+8>>2];q=+g[f+16>>2];s=+g[f+20>>2];u=+g[f+24>>2];r=+g[f+32>>2];v=+g[f+36>>2];D=+g[f+40>>2];w=+g[K+(j*80|0)>>2];x=+g[K+(j*80|0)+16>>2];y=+g[K+(j*80|0)+32>>2];z=+g[K+(j*80|0)+4>>2];A=+g[K+(j*80|0)+20>>2];B=+g[K+(j*80|0)+36>>2];t=+g[K+(j*80|0)+8>>2];C=+g[K+(j*80|0)+24>>2];E=+g[K+(j*80|0)+40>>2];o=+g[K+(j*80|0)+48>>2];p=+g[K+(j*80|0)+52>>2];H=+g[K+(j*80|0)+56>>2];F=+g[f+48>>2]+(n*o+I*p+J*H);G=+g[f+52>>2]+(q*o+s*p+u*H);H=+g[f+56>>2]+(r*o+v*p+D*H);g[m+176>>2]=n*w+I*x+J*y;g[m+176+4>>2]=n*z+I*A+J*B;g[m+176+8>>2]=n*t+I*C+J*E;g[m+176+12>>2]=0.0;g[m+176+16>>2]=q*w+s*x+u*y;g[m+176+20>>2]=q*z+s*A+u*B;g[m+176+24>>2]=q*t+s*C+u*E;g[m+176+28>>2]=0.0;g[m+176+32>>2]=r*w+v*x+D*y;g[m+176+36>>2]=r*z+v*A+D*B;g[m+176+40>>2]=r*t+v*C+D*E;g[m+176+44>>2]=0.0;g[m+176+48>>2]=F;g[m+176+52>>2]=G;g[m+176+56>>2]=H;g[m+176+60>>2]=0.0;f=c[(c[a+12>>2]|0)+12>>2]|0;H=+g[f>>2];G=+g[f+4>>2];F=+g[f+8>>2];E=+g[f+16>>2];D=+g[f+20>>2];C=+g[f+24>>2];v=+g[f+32>>2];t=+g[f+36>>2];r=+g[f+40>>2];b=c[b>>2]|0;B=+g[b+(i*80|0)>>2];A=+g[b+(i*80|0)+16>>2];z=+g[b+(i*80|0)+32>>2];y=+g[b+(i*80|0)+4>>2];x=+g[b+(i*80|0)+20>>2];w=+g[b+(i*80|0)+36>>2];u=+g[b+(i*80|0)+8>>2];s=+g[b+(i*80|0)+24>>2];q=+g[b+(i*80|0)+40>>2];J=+g[b+(i*80|0)+48>>2];I=+g[b+(i*80|0)+52>>2];n=+g[b+(i*80|0)+56>>2];p=+g[f+48>>2]+(H*J+G*I+F*n);o=+g[f+52>>2]+(E*J+D*I+C*n);n=+g[f+56>>2]+(v*J+t*I+r*n);g[m+112>>2]=H*B+G*A+F*z;g[m+112+4>>2]=H*y+G*x+F*w;g[m+112+8>>2]=H*u+G*s+F*q;g[m+112+12>>2]=0.0;g[m+112+16>>2]=E*B+D*A+C*z;g[m+112+20>>2]=E*y+D*x+C*w;g[m+112+24>>2]=E*u+D*s+C*q;g[m+112+28>>2]=0.0;g[m+112+32>>2]=v*B+t*A+r*z;g[m+112+36>>2]=v*y+t*x+r*w;g[m+112+40>>2]=v*u+t*s+r*q;g[m+112+44>>2]=0.0;g[m+112+48>>2]=p;g[m+112+52>>2]=o;g[m+112+56>>2]=n;g[m+112+60>>2]=0.0;Zb[c[(c[d>>2]|0)+8>>2]&127](d,m+176|0,m+96|0,m+80|0);Zb[c[(c[e>>2]|0)+8>>2]&127](e,m+112|0,m+64|0,m+48|0);if(!(+g[m+96>>2]>+g[m+48>>2])?!(+g[m+80>>2]<+g[m+64>>2]):0)b=1;else b=0;if(!(!(+g[m+96+8>>2]>+g[m+48+8>>2])?!(+g[m+80+8>>2]<+g[m+64+8>>2]):0))b=0;if(+g[m+96+4>>2]>+g[m+48+4>>2]){l=m;return}if(+g[m+80+4>>2]<+g[m+64+4>>2]|b^1){l=m;return}f=c[a+8>>2]|0;b=c[f+8>>2]|0;c[m+24>>2]=f;c[m+24+4>>2]=d;c[m+24+8>>2]=b;c[m+24+12>>2]=m+176;c[m+24+16>>2]=-1;c[m+24+20>>2]=j;b=c[a+12>>2]|0;f=c[b+8>>2]|0;c[m>>2]=b;c[m+4>>2]=e;c[m+8>>2]=f;c[m+12>>2]=m+112;c[m+16>>2]=-1;c[m+20>>2]=i;f=c[a+28>>2]|0;c[6473]=(c[6473]|0)+1;b=((i<<16|j)+~((i<<16|j)<<15)>>10^(i<<16|j)+~((i<<16|j)<<15))*9|0;b=(c[f+12>>2]|0)+-1&((b>>6^b)+~((b>>6^b)<<11)>>16^(b>>6^b)+~((b>>6^b)<<11));a:do if((b|0)<(c[f+32>>2]|0)?(h=c[(c[f+40>>2]|0)+(b<<2)>>2]|0,(h|0)!=-1):0){e=c[f+16>>2]|0;b=h;while(1){d=e+(b*12|0)|0;if((c[d>>2]|0)==(j|0)?(c[e+(b*12|0)+4>>2]|0)==(i|0):0)break;b=c[(c[f+60>>2]|0)+(b<<2)>>2]|0;if((b|0)==-1){k=16;break a}}if(d)b=c[e+(b*12|0)+8>>2]|0;else k=16}else k=16;while(0);if((k|0)==16){b=c[a+16>>2]|0;b=tb[c[(c[b>>2]|0)+8>>2]&31](b,m+24|0,m,c[a+32>>2]|0)|0;K=c[a+28>>2]|0;c[(zb[c[(c[K>>2]|0)+12>>2]&63](K,j,i)|0)+8>>2]=b}K=c[a+24>>2]|0;h=c[K+8>>2]|0;k=c[K+12>>2]|0;c[K+8>>2]=m+24;c[K+12>>2]=m;Vb[c[(c[K>>2]|0)+8>>2]&127](K,-1,j);K=c[a+24>>2]|0;Vb[c[(c[K>>2]|0)+12>>2]&127](K,-1,i);jb[c[(c[b>>2]|0)+8>>2]&31](b,m+24|0,m,c[a+20>>2]|0,c[a+24>>2]|0);K=c[a+24>>2]|0;c[K+8>>2]=h;c[K+12>>2]=k;l=m;return}function qd(a,d,f,h,i,j,k,m,n){a=a|0;d=d|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+16|0;dj(a,w+6|0,+g[d>>2],+g[d+4>>2],+g[d+8>>2],0);dj(a,w,+g[f>>2],+g[f+4>>2],+g[f+8>>2],1);v=b[a+64>>1]|0;u=c[a+60>>2]|0;b[a+64>>1]=b[u+((v&65535)<<6)+48>>1]|0;p=(b[a+56>>1]|0)+1<<16>>16;b[a+56>>1]=p;c[u+((v&65535)<<6)+12>>2]=v&65535;c[u+((v&65535)<<6)>>2]=i;b[u+((v&65535)<<6)+4>>1]=j;b[u+((v&65535)<<6)+6>>1]=k;c[u+((v&65535)<<6)+8>>2]=n;r=(p&65535)<<1&65534;b[u+54>>1]=(e[u+54>>1]|0)+2;o=c[a+68>>2]|0;n=e[o+(r+-1<<2)>>1]|e[o+(r+-1<<2)+2>>1]<<16;b[o+((r|1)<<2)>>1]=n;b[o+((r|1)<<2)+2>>1]=n>>>16;o=c[a+68>>2]|0;b[o+(r+-1<<2)>>1]=b[w+6>>1]|0;b[o+(r+-1<<2)+2>>1]=v;b[o+(r<<2)>>1]=b[w>>1]|0;b[o+(r<<2)+2>>1]=v;b[u+((v&65535)<<6)+48>>1]=r+-1;b[u+((v&65535)<<6)+54>>1]=(p&65535)<<1;o=(c[a+60>>2]|0)+56|0;b[o>>1]=(e[o>>1]|0)+2;o=c[a+72>>2]|0;n=e[o+(r+-1<<2)>>1]|e[o+(r+-1<<2)+2>>1]<<16;b[o+((r|1)<<2)>>1]=n;b[o+((r|1)<<2)+2>>1]=n>>>16;o=c[a+72>>2]|0;b[o+(r+-1<<2)>>1]=b[w+6+2>>1]|0;b[o+(r+-1<<2)+2>>1]=v;b[o+(r<<2)>>1]=b[w+2>>1]|0;b[o+(r<<2)+2>>1]=v;b[u+((v&65535)<<6)+50>>1]=r+-1;b[u+((v&65535)<<6)+56>>1]=(p&65535)<<1;o=(c[a+60>>2]|0)+58|0;b[o>>1]=(e[o>>1]|0)+2;o=c[a+76>>2]|0;n=e[o+(r+-1<<2)>>1]|e[o+(r+-1<<2)+2>>1]<<16;b[o+((r|1)<<2)>>1]=n;b[o+((r|1)<<2)+2>>1]=n>>>16;o=c[a+76>>2]|0;b[o+(r+-1<<2)>>1]=b[w+6+4>>1]|0;b[o+(r+-1<<2)+2>>1]=v;b[o+(r<<2)>>1]=b[w+4>>1]|0;b[o+(r<<2)+2>>1]=v;b[u+((v&65535)<<6)+52>>1]=r+-1;b[u+((v&65535)<<6)+58>>1]=(p&65535)<<1;p=c[a+68>>2]|0;r=e[u+((v&65535)<<6)+48>>1]|0;o=c[a+60>>2]|0;n=b[p+(r+-1<<2)>>1]|0;if((e[p+(r<<2)>>1]|0)<(n&65535)){s=o+((e[p+(r<<2)+2>>1]|0)<<6)+48|0;q=p+(r<<2)|0;p=p+(r+-1<<2)|0;while(1){t=e[p+2>>1]|0;n=(n&1)==0?o+(t<<6)+48|0:o+(t<<6)+54|0;b[n>>1]=(b[n>>1]|0)+1<<16>>16;b[s>>1]=(b[s>>1]|0)+-1<<16>>16;n=e[q>>1]|e[q+2>>1]<<16;t=e[p>>1]|e[p+2>>1]<<16;b[q>>1]=t;b[q+2>>1]=t>>>16;b[p>>1]=n;b[p+2>>1]=n>>>16;q=q+-4|0;p=p+-4|0;n=b[p>>1]|0;if((e[q>>1]|0)>=(n&65535))break;o=c[a+60>>2]|0}p=c[a+68>>2]|0}o=e[u+((v&65535)<<6)+54>>1]|0;q=p+(o<<2)|0;r=p+(o+-1<<2)|0;n=b[r>>1]|0;a:do if((e[q>>1]|0)<(n&65535)){s=c[a+60>>2]|0;t=s+((e[p+(o<<2)+2>>1]|0)<<6)+54|0;p=q;o=r;while(1){r=e[o+2>>1]|0;n=(n&1)==0?s+(r<<6)+48|0:s+(r<<6)+54|0;b[n>>1]=(b[n>>1]|0)+1<<16>>16;b[t>>1]=(b[t>>1]|0)+-1<<16>>16;n=e[p>>1]|e[p+2>>1]<<16;s=e[o>>1]|e[o+2>>1]<<16;b[p>>1]=s;b[p+2>>1]=s>>>16;b[o>>1]=n;b[o+2>>1]=n>>>16;p=p+-4|0;o=o+-4|0;n=b[o>>1]|0;if((e[p>>1]|0)>=(n&65535))break a;s=c[a+60>>2]|0}}while(0);p=c[a+72>>2]|0;r=e[u+((v&65535)<<6)+50>>1]|0;o=c[a+60>>2]|0;n=b[p+(r+-1<<2)>>1]|0;if((e[p+(r<<2)>>1]|0)<(n&65535)){s=o+((e[p+(r<<2)+2>>1]|0)<<6)+50|0;q=p+(r<<2)|0;p=p+(r+-1<<2)|0;while(1){t=e[p+2>>1]|0;n=(n&1)==0?o+(t<<6)+50|0:o+(t<<6)+56|0;b[n>>1]=(b[n>>1]|0)+1<<16>>16;b[s>>1]=(b[s>>1]|0)+-1<<16>>16;n=e[q>>1]|e[q+2>>1]<<16;t=e[p>>1]|e[p+2>>1]<<16;b[q>>1]=t;b[q+2>>1]=t>>>16;b[p>>1]=n;b[p+2>>1]=n>>>16;q=q+-4|0;p=p+-4|0;n=b[p>>1]|0;if((e[q>>1]|0)>=(n&65535))break;o=c[a+60>>2]|0}p=c[a+72>>2]|0}o=e[u+((v&65535)<<6)+56>>1]|0;q=p+(o<<2)|0;r=p+(o+-1<<2)|0;n=b[r>>1]|0;b:do if((e[q>>1]|0)<(n&65535)){s=c[a+60>>2]|0;t=s+((e[p+(o<<2)+2>>1]|0)<<6)+56|0;p=q;o=r;while(1){r=e[o+2>>1]|0;n=(n&1)==0?s+(r<<6)+50|0:s+(r<<6)+56|0;b[n>>1]=(b[n>>1]|0)+1<<16>>16;b[t>>1]=(b[t>>1]|0)+-1<<16>>16;n=e[p>>1]|e[p+2>>1]<<16;s=e[o>>1]|e[o+2>>1]<<16;b[p>>1]=s;b[p+2>>1]=s>>>16;b[o>>1]=n;b[o+2>>1]=n>>>16;p=p+-4|0;o=o+-4|0;n=b[o>>1]|0;if((e[p>>1]|0)>=(n&65535))break b;s=c[a+60>>2]|0}}while(0);lh(a,2,b[u+((v&65535)<<6)+52>>1]|0);gh(a,2,b[u+((v&65535)<<6)+58>>1]|0,m);o=c[a+60>>2]|0;n=c[a+108>>2]|0;if(!n){i=o+((v&65535)<<6)|0;l=w;return i|0}c[o+((v&65535)<<6)+60>>2]=Tb[c[(c[n>>2]|0)+8>>2]&3](n,d,f,h,i,j,k,m,0)|0;i=o+((v&65535)<<6)|0;l=w;return i|0}function rd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,k=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0;y=l;l=l+80|0;switch(c[b+4>>2]|0){case 8:{c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;l=y;return}case 0:{v=+g[b+28>>2];w=+g[b+28+4>>2];w=+g[d+4>>2]>=0.0?w:-w;x=+g[b+28+8>>2];x=+g[d+8>>2]>=0.0?x:-x;g[a>>2]=+g[d>>2]>=0.0?v:-v;g[a+4>>2]=w;g[a+8>>2]=x;g[a+12>>2]=0.0;l=y;return}case 1:{t=+g[d>>2];u=+g[d+4>>2];x=+g[d+8>>2];w=t*+g[b+56>>2]+u*+g[b+56+4>>2]+x*+g[b+56+8>>2];v=t*+g[b+56+16>>2]+u*+g[b+56+20>>2]+x*+g[b+56+24>>2];x=t*+g[b+56+32>>2]+u*+g[b+56+36>>2]+x*+g[b+56+40>>2];d=w<v?(v<x?2:1):w<x?2:0;o=c[b+56+(d<<4)+4>>2]|0;r=c[b+56+(d<<4)+8>>2]|0;c[a>>2]=c[b+56+(d<<4)>>2];c[a+4>>2]=o;c[a+8>>2]=r;g[a+12>>2]=0.0;l=y;return}case 13:{c[y+64>>2]=c[b+28>>2];c[y+64+4>>2]=c[b+28+4>>2];c[y+64+8>>2]=c[b+28+8>>2];c[y+64+12>>2]=c[b+28+12>>2];c[y+48>>2]=c[d>>2];e=c[d+4>>2]|0;c[y+48+4>>2]=e;r=c[d+8>>2]|0;c[y+48+8>>2]=r;g[y+48+12>>2]=0.0;d=c[b+52>>2]|0;f=(c[j>>2]=r,+g[j>>2]);switch(d|0){case 2:{f=(c[j>>2]=e,+g[j>>2]);e=0;b=2;o=1;break}case 1:{e=0;b=1;o=2;break}default:{e=1;b=0;o=2}}n=+g[y+64+(e<<2)>>2];k=+g[y+64+(d<<2)>>2];m=+g[y+48+(e<<2)>>2];h=+G(+(m*m+f*f));i=+g[y+48+(b<<2)>>2];if(h!=0.0){g[y+32+(e<<2)>>2]=m*(n/h);g[y+32+(b<<2)>>2]=i<0.0?-k:k;g[y+32+(o<<2)>>2]=n/h*f;c[a>>2]=c[y+32>>2];c[a+4>>2]=c[y+32+4>>2];c[a+8>>2]=c[y+32+8>>2];g[a+12>>2]=0.0;l=y;return}else{g[y+32+(e<<2)>>2]=n;g[y+32+(b<<2)>>2]=i<0.0?-k:k;g[y+32+(o<<2)>>2]=0.0;c[a>>2]=c[y+32>>2];c[a+4>>2]=c[y+32+4>>2];c[a+8>>2]=c[y+32+8>>2];g[a+12>>2]=0.0;l=y;return}}case 10:{f=+g[d>>2];h=+g[d+4>>2];i=+g[d+8>>2];o=c[b+52>>2]|0;u=+g[b+28+(o<<2)>>2];k=+g[b+28+(((o+2|0)%3|0)<<2)>>2];if(f*f+h*h+i*i<9.999999747378752e-05){x=1.0;w=0.0;v=0.0}else{v=1.0/+G(+(f*f+h*h+i*i));x=f*v;w=h*v;v=i*v}c[y+16>>2]=0;c[y+16+4>>2]=0;c[y+16+8>>2]=0;c[y+16+12>>2]=0;g[y+16+(o<<2)>>2]=u;p=k*x;s=k*w;t=k*v;q=+g[b+44>>2];m=x*q;n=w*q;q=v*q;f=+g[y+16>>2]+p-m;h=s+ +g[y+16+4>>2]-n;i=t+ +g[y+16+8>>2]-q;k=v*i+(x*f+w*h);if(k>-999999984306749440.0){b=(g[j>>2]=f,c[j>>2]|0);d=(g[j>>2]=h,c[j>>2]|0);e=(g[j>>2]=i,c[j>>2]|0)}else{e=0;d=0;b=0;k=-999999984306749440.0}c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;c[y+12>>2]=0;g[y+(o<<2)>>2]=-u;i=p+ +g[y>>2]-m;f=s+ +g[y+4>>2]-n;h=t+ +g[y+8>>2]-q;if(v*h+(x*i+w*f)>k){b=(g[j>>2]=i,c[j>>2]|0);d=(g[j>>2]=f,c[j>>2]|0);e=(g[j>>2]=h,c[j>>2]|0)}c[a>>2]=b;c[a+4>>2]=d;c[a+8>>2]=e;g[a+12>>2]=0.0;l=y;return}case 5:{r=c[b+92>>2]|0;o=c[b+96>>2]|0;p=+g[b+12>>2];q=+g[b+16>>2];n=+g[b+20>>2];k=+g[d>>2]*p;m=+g[d+4>>2]*q;f=+g[d+8>>2]*n;if((o|0)>0){b=0;i=-3402823466385288598117041.0e14;e=-1;while(1){h=k*+g[r+(b<<4)>>2]+m*+g[r+(b<<4)+4>>2]+f*+g[r+(b<<4)+8>>2];d=h>i;e=d?b:e;b=b+1|0;if((b|0)==(o|0))break;else i=d?h:i}}else e=-1;w=q*+g[r+(e<<4)+4>>2];x=n*+g[r+(e<<4)+8>>2];g[a>>2]=p*+g[r+(e<<4)>>2];g[a+4>>2]=w;g[a+8>>2]=x;g[a+12>>2]=0.0;l=y;return}case 4:{r=c[b+104>>2]|0;o=c[b+96>>2]|0;p=+g[b+12>>2];q=+g[b+16>>2];n=+g[b+20>>2];k=+g[d>>2]*p;m=+g[d+4>>2]*q;f=+g[d+8>>2]*n;if((o|0)>0){b=0;i=-3402823466385288598117041.0e14;e=-1;while(1){h=k*+g[r+(b<<4)>>2]+m*+g[r+(b<<4)+4>>2]+f*+g[r+(b<<4)+8>>2];d=h>i;e=d?b:e;b=b+1|0;if((b|0)==(o|0))break;else i=d?h:i}}else e=-1;w=q*+g[r+(e<<4)+4>>2];x=n*+g[r+(e<<4)+8>>2];g[a>>2]=p*+g[r+(e<<4)>>2];g[a+4>>2]=w;g[a+8>>2]=x;g[a+12>>2]=0.0;l=y;return}default:{Vb[c[(c[b>>2]|0)+68>>2]&127](a,b,d);l=y;return}}}function sd(d,e,f,h){d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0,z=0.0,A=0,B=0.0,C=0.0;k=+g[e>>2];l=(g[j>>2]=k,c[j>>2]|0);r=k<999999984306749440.0?l:1566444395;i=+g[e+4>>2];n=(g[j>>2]=i,c[j>>2]|0);t=i<999999984306749440.0?n:1566444395;z=+g[e+8>>2];p=(g[j>>2]=z,c[j>>2]|0);A=z<999999984306749440.0?p:1566444395;l=k>-999999984306749440.0?l:-581039253;n=i>-999999984306749440.0?n:-581039253;p=z>-999999984306749440.0?p:-581039253;z=+g[e+16>>2];y=z<(c[j>>2]=r,+g[j>>2]);m=(g[j>>2]=z,c[j>>2]|0);r=y?m:r;i=+g[e+20>>2];y=i<(c[j>>2]=t,+g[j>>2]);o=(g[j>>2]=i,c[j>>2]|0);t=y?o:t;k=+g[e+24>>2];y=k<(c[j>>2]=A,+g[j>>2]);q=(g[j>>2]=k,c[j>>2]|0);A=y?q:A;y=(c[j>>2]=l,+g[j>>2])<z?m:l;u=(c[j>>2]=n,+g[j>>2])<i?o:n;s=(c[j>>2]=p,+g[j>>2])<k?q:p;z=+g[e+32>>2];o=z<(c[j>>2]=r,+g[j>>2]);p=(g[j>>2]=z,c[j>>2]|0);o=o?p:r;k=+g[e+36>>2];m=k<(c[j>>2]=t,+g[j>>2]);q=(g[j>>2]=k,c[j>>2]|0);m=m?q:t;i=+g[e+40>>2];l=i<(c[j>>2]=A,+g[j>>2]);n=(g[j>>2]=i,c[j>>2]|0);l=l?n:A;p=(c[j>>2]=y,+g[j>>2])<z?p:y;q=(c[j>>2]=u,+g[j>>2])<k?q:u;n=(c[j>>2]=s,+g[j>>2])<i?n:s;i=(c[j>>2]=p,+g[j>>2]);k=(c[j>>2]=o,+g[j>>2]);if(i-k<2.0000000949949026e-03){p=(g[j>>2]=i+1.0000000474974513e-03,c[j>>2]|0);o=(g[j>>2]=k+-1.0000000474974513e-03,c[j>>2]|0)}i=(c[j>>2]=q,+g[j>>2]);k=(c[j>>2]=m,+g[j>>2]);if(i-k<2.0000000949949026e-03){q=(g[j>>2]=i+1.0000000474974513e-03,c[j>>2]|0);m=(g[j>>2]=k+-1.0000000474974513e-03,c[j>>2]|0)}i=(c[j>>2]=n,+g[j>>2]);k=(c[j>>2]=l,+g[j>>2]);if(i-k<2.0000000949949026e-03){n=(g[j>>2]=i+1.0000000474974513e-03,c[j>>2]|0);l=(g[j>>2]=k+-1.0000000474974513e-03,c[j>>2]|0)}r=c[d+8>>2]|0;k=+g[r+4>>2];z=(c[j>>2]=o,+g[j>>2])-k;i=+g[r+8>>2];v=(c[j>>2]=m,+g[j>>2])-i;C=+g[r+12>>2];w=+g[r+36>>2];x=+g[r+40>>2];B=+g[r+44>>2];r=~~(((c[j>>2]=l,+g[j>>2])-C)*B)&65535&-2;k=(c[j>>2]=p,+g[j>>2])-k;i=(c[j>>2]=q,+g[j>>2])-i;q=~~(((c[j>>2]=n,+g[j>>2])-C)*B+1.0)&65535|1;o=c[d+4>>2]|0;m=c[o+4>>2]|0;if((m|0)!=(c[o+8>>2]|0)){d=m;A=o+12|0;A=c[A>>2]|0;y=A+(d<<4)|0;b[y>>1]=~~(z*w)&65535&-2;y=A+(d<<4)+2|0;b[y>>1]=~~(v*x)&65535&-2;y=A+(d<<4)+4|0;b[y>>1]=r;y=A+(d<<4)+6|0;b[y>>1]=~~(k*w+1.0)&65535|1;y=A+(d<<4)+8|0;b[y>>1]=~~(i*x+1.0)&65535|1;y=A+(d<<4)+10|0;b[y>>1]=q;d=A+(d<<4)+12|0;c[d>>2]=f<<21|h;h=c[o+4>>2]|0;h=h+1|0;c[o+4>>2]=h;return}p=m|0?m<<1:1;if((m|0)>=(p|0)){d=m;A=o+12|0;A=c[A>>2]|0;y=A+(d<<4)|0;b[y>>1]=~~(z*w)&65535&-2;y=A+(d<<4)+2|0;b[y>>1]=~~(v*x)&65535&-2;y=A+(d<<4)+4|0;b[y>>1]=r;y=A+(d<<4)+6|0;b[y>>1]=~~(k*w+1.0)&65535|1;y=A+(d<<4)+8|0;b[y>>1]=~~(i*x+1.0)&65535|1;y=A+(d<<4)+10|0;b[y>>1]=q;d=A+(d<<4)+12|0;c[d>>2]=f<<21|h;h=c[o+4>>2]|0;h=h+1|0;c[o+4>>2]=h;return}if(!p)l=0;else{c[6485]=(c[6485]|0)+1;l=ic((p<<4|3)+16|0)|0;if(!l)l=0;else{c[(l+4+15&-16)+-4>>2]=l;l=l+4+15&-16}m=c[o+4>>2]|0}if((m|0)>0){n=0;do{d=l+(n<<4)|0;A=(c[o+12>>2]|0)+(n<<4)|0;c[d>>2]=c[A>>2];c[d+4>>2]=c[A+4>>2];c[d+8>>2]=c[A+8>>2];c[d+12>>2]=c[A+12>>2];n=n+1|0}while((n|0)!=(m|0))}m=c[o+12>>2]|0;if(m|0){if(a[o+16>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[m+-4>>2]|0)}c[o+12>>2]=0}a[o+16>>0]=1;c[o+12>>2]=l;c[o+8>>2]=p;d=c[o+4>>2]|0;A=o+12|0;A=c[A>>2]|0;y=A+(d<<4)|0;b[y>>1]=~~(z*w)&65535&-2;y=A+(d<<4)+2|0;b[y>>1]=~~(v*x)&65535&-2;y=A+(d<<4)+4|0;b[y>>1]=r;y=A+(d<<4)+6|0;b[y>>1]=~~(k*w+1.0)&65535|1;y=A+(d<<4)+8|0;b[y>>1]=~~(i*x+1.0)&65535|1;y=A+(d<<4)+10|0;b[y>>1]=q;d=A+(d<<4)+12|0;c[d>>2]=f<<21|h;h=c[o+4>>2]|0;h=h+1|0;c[o+4>>2]=h;return}function td(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,H=0.0;v=l;l=l+560|0;j=h;k=j+36|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0));c[v+400>>2]=a;c[v+400+4>>2]=d;o=+g[e>>2];E=+g[b>>2];n=+g[e+16>>2];i=+g[b+16>>2];m=+g[e+32>>2];F=+g[b+32>>2];w=+g[b+4>>2];H=+g[b+20>>2];x=+g[b+36>>2];t=+g[b+8>>2];r=+g[b+24>>2];p=+g[b+40>>2];D=+g[e+4>>2];C=+g[e+20>>2];B=+g[e+36>>2];A=+g[e+8>>2];z=+g[e+24>>2];y=+g[e+40>>2];g[v+400+8>>2]=o*E+n*i+m*F;g[v+400+12>>2]=o*w+n*H+m*x;g[v+400+16>>2]=o*t+n*r+m*p;g[v+400+20>>2]=0.0;g[v+400+24>>2]=E*D+i*C+F*B;g[v+400+28>>2]=w*D+H*C+x*B;g[v+400+32>>2]=t*D+r*C+p*B;g[v+400+36>>2]=0.0;g[v+400+40>>2]=E*A+i*z+F*y;g[v+400+44>>2]=w*A+H*z+x*y;g[v+400+48>>2]=t*A+r*z+p*y;g[v+400+52>>2]=0.0;p=+g[e+48>>2]-+g[b+48>>2];r=+g[e+52>>2]-+g[b+52>>2];t=+g[e+56>>2]-+g[b+56>>2];x=+g[b>>2];H=+g[e>>2];w=+g[b+16>>2];F=+g[e+16>>2];i=+g[b+32>>2];E=+g[e+32>>2];m=+g[b+4>>2];n=+g[b+20>>2];o=+g[b+36>>2];q=+g[b+8>>2];s=+g[b+24>>2];u=+g[b+40>>2];g[v+400+56>>2]=x*H+w*F+i*E;g[v+400+60>>2]=x*D+w*C+i*B;g[v+400+64>>2]=x*A+w*z+i*y;g[v+400+68>>2]=0.0;g[v+400+72>>2]=H*m+F*n+E*o;g[v+400+76>>2]=D*m+C*n+B*o;g[v+400+80>>2]=A*m+z*n+y*o;g[v+400+84>>2]=0.0;g[v+400+88>>2]=H*q+F*s+E*u;g[v+400+92>>2]=D*q+C*s+B*u;g[v+400+96>>2]=A*q+z*s+y*u;g[v+400+100>>2]=0.0;g[v+400+104>>2]=p*x+r*w+t*i;g[v+400+108>>2]=p*m+r*n+t*o;g[v+400+112>>2]=p*q+r*s+t*u;g[v+400+116>>2]=0.0;c[v+400+120>>2]=80;c[v+400+124>>2]=0;c[v+16+364>>2]=0;c[v+16+128>>2]=0;c[v+16+128+4>>2]=0;c[v+16+128+8>>2]=0;c[v+16+128+12>>2]=0;c[v+16+376>>2]=2;c[v+16+368>>2]=0;g[v+16+144>>2]=0.0;f=Ec(v+16|0,v+400|0,f)|0;if(f|0){c[h>>2]=(f|0)==1?1:2;b=0;l=v;return b|0}f=c[v+16+372>>2]|0;if(!(c[f+32>>2]|0)){q=0.0;p=0.0;o=0.0;n=0.0;m=0.0;i=0.0}else{o=0.0;p=0.0;q=0.0;i=0.0;m=0.0;n=0.0;e=0;do{u=+g[f+16+(e<<2)>>2];a=c[v+400+120>>2]|0;k=c[v+400+124>>2]|0;d=(c[v+400>>2]|0)+(k>>1)|0;if(k&1)a=c[(c[d>>2]|0)+a>>2]|0;Vb[a&127](v,d,c[f+(e<<2)>>2]|0);o=o+u*+g[v>>2];p=p+u*+g[v+4>>2];q=q+u*+g[v+8>>2];f=c[(c[v+16+372>>2]|0)+(e<<2)>>2]|0;r=-+g[f>>2];s=-+g[f+4>>2];t=-+g[f+8>>2];f=c[v+400+120>>2]|0;k=c[v+400+124>>2]|0;a=(c[v+400+4>>2]|0)+(k>>1)|0;if(k&1)f=c[(c[a>>2]|0)+f>>2]|0;F=+g[v+400+24>>2]*r+ +g[v+400+28>>2]*s+ +g[v+400+32>>2]*t;E=+g[v+400+40>>2]*r+ +g[v+400+44>>2]*s+ +g[v+400+48>>2]*t;g[v+528>>2]=+g[v+400+8>>2]*r+ +g[v+400+12>>2]*s+ +g[v+400+16>>2]*t;g[v+528+4>>2]=F;g[v+528+8>>2]=E;g[v+528+12>>2]=0.0;Vb[f&127](v+544|0,a,v+528|0);E=+g[v+544>>2];F=+g[v+544+4>>2];H=+g[v+544+8>>2];i=i+u*(E*+g[v+400+56>>2]+F*+g[v+400+60>>2]+H*+g[v+400+64>>2]+ +g[v+400+104>>2]);m=m+u*(E*+g[v+400+72>>2]+F*+g[v+400+76>>2]+H*+g[v+400+80>>2]+ +g[v+400+108>>2]);n=n+u*(E*+g[v+400+88>>2]+F*+g[v+400+92>>2]+H*+g[v+400+96>>2]+ +g[v+400+112>>2]);e=e+1|0;f=c[v+16+372>>2]|0}while(e>>>0<(c[f+32>>2]|0)>>>0)}D=o*+g[b+16>>2]+p*+g[b+20>>2]+q*+g[b+24>>2]+ +g[b+52>>2];E=o*+g[b+32>>2]+p*+g[b+36>>2]+q*+g[b+40>>2]+ +g[b+56>>2];g[h+4>>2]=o*+g[b>>2]+p*+g[b+4>>2]+q*+g[b+8>>2]+ +g[b+48>>2];g[h+8>>2]=D;g[h+12>>2]=E;g[h+16>>2]=0.0;E=i*+g[b+16>>2]+m*+g[b+20>>2]+n*+g[b+24>>2]+ +g[b+52>>2];D=i*+g[b+32>>2]+m*+g[b+36>>2]+n*+g[b+40>>2]+ +g[b+56>>2];g[h+20>>2]=i*+g[b>>2]+m*+g[b+4>>2]+n*+g[b+8>>2]+ +g[b+48>>2];g[h+24>>2]=E;g[h+28>>2]=D;g[h+32>>2]=0.0;D=o-i;E=p-m;H=q-n;g[h+48>>2]=0.0;F=+G(+(D*D+E*E+H*H));g[h+52>>2]=F;F=F>9.999999747378752e-05?1.0/F:1.0;g[h+36>>2]=F*D;g[h+40>>2]=F*E;g[h+44>>2]=F*H;b=1;l=v;return b|0}function ud(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0;i=c[d+8>>2]|0;if(!i){a=0;return a|0}C=i;i=0;do{a:do if((c[C+20>>2]|0)>(c[a+100>>2]|0)){A=c[C+12>>2]|0;w=c[A+88>>2]|0;x=w-(c[d+88>>2]|0)|0;y=c[A+92>>2]|0;z=y-(c[d+92>>2]|0)|0;A=c[A+96>>2]|0;B=A-(c[d+96>>2]|0)|0;k=ds(x|0,((x|0)<0)<<31>>31|0,c[g>>2]|0,c[g+4>>2]|0)|0;n=D;j=ds(z|0,((z|0)<0)<<31>>31|0,c[g+8>>2]|0,c[g+8+4>>2]|0)|0;n=Gv(j|0,D|0,k|0,n|0)|0;k=D;j=ds(B|0,((B|0)<0)<<31>>31|0,c[g+16>>2]|0,c[g+16+4>>2]|0)|0;j=Gv(n|0,k|0,j|0,D|0)|0;k=D;n=ds(c[f>>2]|0,c[f+4>>2]|0,x|0,((x|0)<0)<<31>>31|0)|0;v=D;l=ds(c[f+8>>2]|0,c[f+8+4>>2]|0,z|0,((z|0)<0)<<31>>31|0)|0;v=Gv(l|0,D|0,n|0,v|0)|0;n=D;l=ds(c[f+16>>2]|0,c[f+16+4>>2]|0,B|0,((B|0)<0)<<31>>31|0)|0;l=Gv(v|0,n|0,l|0,D|0)|0;n=D;if((k|0)>0|(k|0)==0&j>>>0>0){u=j;v=k;j=1}else{u=au(0,0,j|0,k|0)|0;u=(j|0)!=0|(k|0)!=0?u:0;v=(j|0)!=0|(k|0)!=0?D:0;j=((j|0)!=0|(k|0)!=0)<<31>>31}if(!((n|0)>0|(n|0)==0&l>>>0>0)){k=au(0,0,l|0,n|0)|0;m=(l|0)!=0|(n|0)!=0?0-j|0:j;k=(l|0)!=0|(n|0)!=0?k:0;j=(l|0)!=0|(n|0)!=0?D:0;if((m|0)==0&((k|0)==0&(j|0)==0))break;else n=j}else{k=l;m=j}if(!i){c[h>>2]=u;c[h+4>>2]=v;c[h+8>>2]=k;c[h+8+4>>2]=n;c[h+16>>2]=m;i=C;break}j=c[h+16>>2]|0;if((m|0)==(j|0)){if(m|0){o=c[h+8>>2]|0;r=c[h+8+4>>2]|0;l=ds(o|0,0,u|0,0)|0;j=D;s=ds(r|0,0,u|0,0)|0;q=D;o=ds(o|0,0,v|0,0)|0;p=D;r=ds(r|0,0,v|0,0)|0;G=D;o=Gv(s|0,0,o|0,0)|0;s=D;G=Gv(q|0,0,r|0,G|0)|0;p=Gv(G|0,D|0,p|0,0)|0;s=Gv(p|0,D|0,s|0,0)|0;p=D;j=Gv(0,o|0,l|0,j|0)|0;l=D;o=Gv(s|0,p|0,(l>>>0<o>>>0|(l|0)==(o|0)&j>>>0<0)&1|0,0)|0;p=D;s=c[h>>2]|0;G=c[h+4>>2]|0;r=ds(s|0,0,k|0,0)|0;q=D;E=ds(G|0,0,k|0,0)|0;H=D;s=ds(s|0,0,n|0,0)|0;t=D;G=ds(G|0,0,n|0,0)|0;F=D;s=Gv(E|0,0,s|0,0)|0;E=D;F=Gv(H|0,0,G|0,F|0)|0;t=Gv(F|0,D|0,t|0,0)|0;E=Gv(t|0,D|0,E|0,0)|0;t=D;q=Gv(0,s|0,r|0,q|0)|0;r=D;s=Gv(E|0,t|0,(r>>>0<s>>>0|(r|0)==(s|0)&q>>>0<0)&1|0,0)|0;t=D;if(!(p>>>0<t>>>0|(p|0)==(t|0)&o>>>0<s>>>0))if(!(p>>>0>t>>>0|(p|0)==(t|0)&o>>>0>s>>>0))if(l>>>0<r>>>0|(l|0)==(r|0)&j>>>0<q>>>0)j=-1;else j=(l>>>0>r>>>0|(l|0)==(r|0)&j>>>0>q>>>0)&1;else j=1;else j=-1;j=S(j,m)|0;o=18}}else{j=m-j|0;o=18}do if((o|0)==18){o=0;if((j|0)>=0)if(!j)break;else break a;else{c[h>>2]=u;c[h+4>>2]=v;c[h+8>>2]=k;c[h+8+4>>2]=n;c[h+16>>2]=m;i=C;break a}}while(0);j=(c[i+4>>2]|0)==(C|0);if((c[i>>2]|0)==(C|0))if(j){H=c[e+8>>2]|0;E=S(H,z)|0;u=c[e+4>>2]|0;E=E-(S(u,B)|0)|0;G=c[e>>2]|0;H=(S(G,B)|0)-(S(x,H)|0)|0;G=(S(x,u)|0)-(S(G,z)|0)|0;u=c[i+12>>2]|0;j=c[(c[C+8>>2]|0)+12>>2]|0;z=c[j+88>>2]|0;x=(c[u+88>>2]|0)-z|0;v=c[j+92>>2]|0;B=(c[u+92>>2]|0)-v|0;j=c[j+96>>2]|0;u=(c[u+96>>2]|0)-j|0;F=(S(A-j|0,B)|0)-(S(y-v|0,u)|0)|0;j=(S(w-z|0,u)|0)-(S(A-j|0,x)|0)|0;B=(S(y-v|0,x)|0)-(S(w-z|0,B)|0)|0;E=ds(F|0,((F|0)<0)<<31>>31|0,E|0,((E|0)<0)<<31>>31|0)|0;F=D;H=ds(j|0,((j|0)<0)<<31>>31|0,H|0,((H|0)<0)<<31>>31|0)|0;j=D;G=ds(B|0,((B|0)<0)<<31>>31|0,G|0,((G|0)<0)<<31>>31|0)|0;G=Gv(E|0,F|0,G|0,D|0)|0;j=Gv(G|0,D|0,H|0,j|0)|0;H=D;j=(H|0)>0|(H|0)==0&j>>>0>0?2:1}else j=2;else j=j&1;i=(j|0)==2^b?i:C}while(0);C=c[C>>2]|0}while((C|0)!=(c[d+8>>2]|0));return i|0}function vd(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var k=0,l=0,m=0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0,C=0,D=0;D=c[b+88>>2]|0;if((D|0)==(c[b+92>>2]|0)?(o=D|0?D<<1:1,(D|0)<(o|0)):0){if(!o){k=0;l=D}else{c[6485]=(c[6485]|0)+1;k=ic((o*152|3)+16|0)|0;if(!k)k=0;else{c[(k+4+15&-16)+-4>>2]=k;k=k+4+15&-16}l=c[b+88>>2]|0}if((l|0)>0){m=0;do{_h(k+(m*152|0)|0,(c[b+96>>2]|0)+(m*152|0)|0,152)|0;m=m+1|0}while((m|0)!=(l|0))}l=c[b+96>>2]|0;if(l|0){if(a[b+100>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[l+-4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=k;c[b+92>>2]=o;k=c[b+88>>2]|0}else k=D;c[b+88>>2]=k+1;C=c[b+96>>2]|0;c[C+(D*152|0)+140>>2]=h;c[C+(D*152|0)+16>>2]=0;c[C+(D*152|0)+16+4>>2]=0;c[C+(D*152|0)+16+8>>2]=0;c[C+(D*152|0)+16+12>>2]=0;g[C+(D*152|0)+48>>2]=-0.0;g[C+(D*152|0)+52>>2]=-0.0;g[C+(D*152|0)+56>>2]=-0.0;g[C+(D*152|0)+60>>2]=0.0;b=c[b+16>>2]|0;o=c[b+(e*244|0)+240>>2]|0;B=c[b+(f*244|0)+240>>2]|0;c[C+(D*152|0)+144>>2]=e;c[C+(D*152|0)+148>>2]=f;h=c[i+88>>2]|0;c[C+(D*152|0)+104>>2]=h;c[C+(D*152|0)+132>>2]=0;g[C+(D*152|0)+100>>2]=0.0;g[C+(D*152|0)+96>>2]=0.0;x=-+g[d>>2];y=-+g[d+4>>2];z=-+g[d+8>>2];g[C+(D*152|0)>>2]=x;g[C+(D*152|0)+4>>2]=y;g[C+(D*152|0)+8>>2]=z;g[C+(D*152|0)+12>>2]=0.0;A=(c[j>>2]=h,+g[j>>2]);if(o|0){k=(g[j>>2]=(+g[o+264>>2]*x+ +g[o+268>>2]*y+ +g[o+272>>2]*z)*+g[o+544>>2],c[j>>2]|0);l=(g[j>>2]=(+g[o+280>>2]*x+ +g[o+284>>2]*y+ +g[o+288>>2]*z)*+g[o+548>>2],c[j>>2]|0);m=(g[j>>2]=(+g[o+296>>2]*x+ +g[o+300>>2]*y+ +g[o+304>>2]*z)*+g[o+552>>2],c[j>>2]|0)}else{k=0;l=0;m=0}c[C+(D*152|0)+64>>2]=k;c[C+(D*152|0)+68>>2]=l;c[C+(D*152|0)+72>>2]=m;g[C+(D*152|0)+76>>2]=0.0;u=+g[d>>2];v=+g[d+4>>2];w=+g[d+8>>2];d=c[d+12>>2]|0;g[C+(D*152|0)+32>>2]=u;g[C+(D*152|0)+36>>2]=v;g[C+(D*152|0)+40>>2]=w;c[C+(D*152|0)+44>>2]=d;if(B|0){k=(g[j>>2]=(u*+g[B+264>>2]+v*+g[B+268>>2]+w*+g[B+272>>2])*+g[B+544>>2],c[j>>2]|0);l=(g[j>>2]=(u*+g[B+280>>2]+v*+g[B+284>>2]+w*+g[B+288>>2])*+g[B+548>>2],c[j>>2]|0);m=(g[j>>2]=(u*+g[B+296>>2]+v*+g[B+300>>2]+w*+g[B+304>>2])*+g[B+552>>2],c[j>>2]|0)}else{k=0;l=0;m=0}c[C+(D*152|0)+80>>2]=k;c[C+(D*152|0)+84>>2]=l;c[C+(D*152|0)+88>>2]=m;g[C+(D*152|0)+92>>2]=0.0;if(o|0){n=+g[o+264>>2]*x+ +g[o+268>>2]*y+ +g[o+272>>2]*z;p=+g[o+280>>2]*x+ +g[o+284>>2]*y+ +g[o+288>>2]*z;q=+g[o+296>>2]*x+ +g[o+300>>2]*y+ +g[o+304>>2]*z}else{n=0.0;p=0.0;q=0.0}if(B|0){r=+g[B+264>>2]*u+ +g[B+268>>2]*v+ +g[B+272>>2]*w;s=u*+g[B+280>>2]+v*+g[B+284>>2]+w*+g[B+288>>2];t=u*+g[B+296>>2]+v*+g[B+300>>2]+w*+g[B+304>>2]}else{r=0.0;s=0.0;t=0.0}s=1.0/(n*x+p*y+q*z+0.0+(r*u+s*v+t*w));g[C+(D*152|0)+108>>2]=s;if(o|0){p=+g[b+(e*244|0)+192>>2];q=+g[b+(e*244|0)+196>>2];r=+g[b+(e*244|0)+200>>2];n=(+g[b+(e*244|0)+176>>2]+ +g[b+(e*244|0)+208>>2])*0.0+(+g[b+(e*244|0)+180>>2]+ +g[b+(e*244|0)+212>>2])*0.0+(+g[b+(e*244|0)+184>>2]+ +g[b+(e*244|0)+216>>2])*0.0}else{p=0.0;q=0.0;r=0.0;n=0.0}n=n+(p*x+q*y+r*z);if(!B){t=0.0;x=0.0;z=0.0;y=-0.0;u=t*u;x=x*v;x=u+x;z=z*w;z=x+z;z=y+z;z=n+z;z=0.0-z;z=s*z;f=C+(D*152|0)+112|0;g[f>>2]=z;f=C+(D*152|0)+116|0;g[f>>2]=0.0;A=-A;f=C+(D*152|0)+120|0;g[f>>2]=A;f=C+(D*152|0)+124|0;c[f>>2]=h;return}t=+g[b+(f*244|0)+192>>2];x=+g[b+(f*244|0)+196>>2];z=+g[b+(f*244|0)+200>>2];y=(+g[b+(f*244|0)+176>>2]+ +g[b+(f*244|0)+208>>2])*-0.0+(+g[b+(f*244|0)+180>>2]+ +g[b+(f*244|0)+212>>2])*-0.0+(+g[b+(f*244|0)+184>>2]+ +g[b+(f*244|0)+216>>2])*-0.0;u=t*u;x=x*v;x=u+x;z=z*w;z=x+z;z=y+z;z=n+z;z=0.0-z;z=s*z;f=C+(D*152|0)+112|0;g[f>>2]=z;f=C+(D*152|0)+116|0;g[f>>2]=0.0;A=-A;f=C+(D*152|0)+120|0;g[f>>2]=A;f=C+(D*152|0)+124|0;c[f>>2]=h;return}function wd(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0,i=0,k=0,m=0.0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0;n=l;l=l+32|0;c[b+236>>2]=2;c[b+312>>2]=0;c[b+312+4>>2]=0;c[b+312+8>>2]=0;c[b+312+12>>2]=0;c[b+312+16>>2]=0;c[b+312+20>>2]=0;c[b+312+24>>2]=0;c[b+312+28>>2]=0;c[b+544>>2]=1065353216;c[b+548>>2]=1065353216;c[b+552>>2]=1065353216;g[b+556>>2]=0.0;c[b+348>>2]=1065353216;c[b+352>>2]=1065353216;c[b+356>>2]=1065353216;e=b+360|0;h=e+36|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(h|0));c[b+412>>2]=0;c[b+412+4>>2]=0;c[b+412+8>>2]=0;c[b+412+12>>2]=0;c[b+412+16>>2]=0;c[b+412+20>>2]=0;c[b+412+24>>2]=0;c[b+412+28>>2]=0;f=+g[d+92>>2];m=+g[d+96>>2];g[n+20>>2]=f;g[n+16>>2]=m;g[n+12>>2]=0.0;g[n+8>>2]=1.0;c[b+444>>2]=c[(f<0.0?n+12|0:f>1.0?n+8|0:n+20|0)>>2];g[n+4>>2]=0.0;g[n>>2]=1.0;c[b+448>>2]=c[(m<0.0?n+4|0:m>1.0?n:n+16|0)>>2];c[b+472>>2]=c[d+112>>2];c[b+476>>2]=c[d+116>>2];e=c[d+4>>2]|0;c[b+480>>2]=e;c[b+608>>2]=0;c[b+612>>2]=0;a[b+452>>0]=a[d+120>>0]|0;c[b+456>>2]=c[d+124>>2];c[b+460>>2]=c[d+128>>2];c[b+464>>2]=c[d+132>>2];c[b+468>>2]=c[d+136>>2];if(!e){c[b+4>>2]=c[d+8>>2];c[b+4+4>>2]=c[d+8+4>>2];c[b+4+8>>2]=c[d+8+8>>2];c[b+4+12>>2]=c[d+8+12>>2];c[b+20>>2]=c[d+24>>2];c[b+20+4>>2]=c[d+24+4>>2];c[b+20+8>>2]=c[d+24+8>>2];c[b+20+12>>2]=c[d+24+12>>2];c[b+36>>2]=c[d+40>>2];c[b+36+4>>2]=c[d+40+4>>2];c[b+36+8>>2]=c[d+40+8>>2];c[b+36+12>>2]=c[d+40+12>>2];c[b+52>>2]=c[d+56>>2];c[b+52+4>>2]=c[d+56+4>>2];c[b+52+8>>2]=c[d+56+8>>2];c[b+52+12>>2]=c[d+56+12>>2];e=b+4|0;h=b+20|0;i=b+36|0;k=b+52|0}else{nb[c[(c[e>>2]|0)+8>>2]&127](e,b+4|0);e=b+4|0;h=b+20|0;i=b+36|0;k=b+52|0}c[b+68>>2]=c[e>>2];c[b+68+4>>2]=c[e+4>>2];c[b+68+8>>2]=c[e+8>>2];c[b+68+12>>2]=c[e+12>>2];c[b+84>>2]=c[h>>2];c[b+84+4>>2]=c[h+4>>2];c[b+84+8>>2]=c[h+8>>2];c[b+84+12>>2]=c[h+12>>2];c[b+100>>2]=c[i>>2];c[b+100+4>>2]=c[i+4>>2];c[b+100+8>>2]=c[i+8>>2];c[b+100+12>>2]=c[i+12>>2];c[b+116>>2]=c[k>>2];c[b+116+4>>2]=c[k+4>>2];c[b+116+8>>2]=c[k+8>>2];c[b+116+12>>2]=c[k+12>>2];c[b+132>>2]=0;c[b+132+4>>2]=0;c[b+132+8>>2]=0;c[b+132+12>>2]=0;c[b+132+16>>2]=0;c[b+132+20>>2]=0;c[b+132+24>>2]=0;c[b+132+28>>2]=0;c[b+224>>2]=c[d+100>>2];c[b+232>>2]=c[d+104>>2];c[b+228>>2]=c[d+108>>2];nb[c[(c[b>>2]|0)+12>>2]&127](b,c[d+72>>2]|0);e=c[5865]|0;c[5865]=e+1;c[b+508>>2]=e;f=+g[d>>2];e=c[b+204>>2]|0;if(f==0.0){c[b+204>>2]=e|1;m=0.0}else{c[b+204>>2]=e&-2;m=1.0/f}g[b+344>>2]=m;p=f*+g[b+384>>2];o=f*+g[b+388>>2];g[b+364>>2]=f*+g[b+380>>2];g[b+368>>2]=p;g[b+372>>2]=o;g[b+376>>2]=0.0;f=+g[d+76>>2];h=f!=0.0?(g[j>>2]=1.0/f,c[j>>2]|0):0;f=+g[d+80>>2];e=f!=0.0?(g[j>>2]=1.0/f,c[j>>2]|0):0;f=+g[d+84>>2];d=f!=0.0?(g[j>>2]=1.0/f,c[j>>2]|0):0;c[b+396>>2]=h;c[b+400>>2]=e;c[b+404>>2]=d;g[b+408>>2]=0.0;r=m*+g[b+352>>2];x=m*+g[b+356>>2];g[b+560>>2]=m*+g[b+348>>2];g[b+564>>2]=r;g[b+568>>2]=x;g[b+572>>2]=0.0;x=+g[b+4>>2];r=(c[j>>2]=h,+g[j>>2]);w=+g[b+8>>2];f=(c[j>>2]=e,+g[j>>2]);v=+g[b+12>>2];o=(c[j>>2]=d,+g[j>>2]);u=+g[b+20>>2];t=+g[b+24>>2];s=+g[b+28>>2];q=+g[b+36>>2];p=+g[b+40>>2];m=+g[b+44>>2];g[b+264>>2]=x*x*r+w*w*f+v*v*o;g[b+268>>2]=x*r*u+w*f*t+v*o*s;g[b+272>>2]=x*r*q+w*f*p+v*o*m;g[b+276>>2]=0.0;g[b+280>>2]=x*r*u+w*f*t+v*o*s;g[b+284>>2]=u*r*u+t*f*t+s*o*s;g[b+288>>2]=r*u*q+f*t*p+o*s*m;g[b+292>>2]=0.0;g[b+296>>2]=x*r*q+w*f*p+v*o*m;g[b+300>>2]=u*r*q+t*f*p+s*o*m;g[b+304>>2]=q*r*q+p*f*p+m*o*m;g[b+308>>2]=0.0;c[b+504>>2]=0;c[b+512>>2]=0;c[b+512+4>>2]=0;c[b+512+8>>2]=0;c[b+512+12>>2]=0;c[b+512+16>>2]=0;c[b+512+20>>2]=0;c[b+512+24>>2]=0;c[b+512+28>>2]=0;m=+g[b+344>>2];o=m*+g[b+352>>2];p=m*+g[b+356>>2];g[b+560>>2]=+g[b+348>>2]*m;g[b+564>>2]=o;g[b+568>>2]=p;e=b+572|0;h=e+36|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(h|0));l=n;return}function xd(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=l;l=l+32|0;g=pb[c[(c[d>>2]|0)+28>>2]&127](d)|0;c[e+20>>2]=g;c[e>>2]=0;if(!g){s=d+4|0;f=e+4|0;s=c[s>>2]|0;c[f>>2]=s;f=d+8|0;f=c[f>>2]|0;s=e+8|0;c[s>>2]=f;s=d+12|0;s=c[s>>2]|0;f=e+12|0;c[f>>2]=s;f=d+16|0;f=c[f>>2]|0;d=e+16|0;c[d>>2]=f;l=t;return 19420}s=zb[c[(c[f>>2]|0)+16>>2]&63](f,32,g)|0;g=c[s+8>>2]|0;c[e>>2]=Kb[c[(c[f>>2]|0)+28>>2]&31](f,g)|0;r=pb[c[(c[d>>2]|0)+28>>2]&127](d)|0;a:do if((r|0)>0){q=0;while(1){Jb[c[(c[d>>2]|0)+16>>2]&3](d,t+28|0,t+4|0,t+16|0,t+8|0,t+24|0,t+20|0,t,t+12|0,q);i=c[t>>2]|0;c[g+24>>2]=i;c[g+28>>2]=c[t+4>>2];j=g+12|0;m=g+16|0;p=g+4|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;switch(c[t+12>>2]|0){case 2:{if(i|0){i=zb[c[(c[f>>2]|0)+16>>2]&63](f,4,i*3|0)|0;j=c[i+8>>2]|0;c[g+8>>2]=Kb[c[(c[f>>2]|0)+28>>2]&31](f,j)|0;if((c[t>>2]|0)>0){k=c[t+24>>2]|0;m=0;do{n=S(c[t+20>>2]|0,m)|0;o=m*3|0;c[j+(o<<2)>>2]=c[k+n>>2];c[j+(o+1<<2)>>2]=c[k+(n+4)>>2];c[j+(o+2<<2)>>2]=c[k+(n+8)>>2];m=m+1|0}while((m|0)<(c[t>>2]|0))}jb[c[(c[f>>2]|0)+20>>2]&31](f,i,19301,1497453121,c[i+8>>2]|0)}break}case 3:{if(i|0){n=zb[c[(c[f>>2]|0)+16>>2]&63](f,8,i)|0;o=c[n+8>>2]|0;c[j>>2]=Kb[c[(c[f>>2]|0)+28>>2]&31](f,o)|0;i=c[t>>2]|0;if((i|0)>0){j=c[t+24>>2]|0;k=c[t+20>>2]|0;m=0;do{u=S(k,m)|0;b[o+(m<<3)>>1]=b[j+u>>1]|0;b[o+(m<<3)+2>>1]=b[j+(u+2)>>1]|0;b[o+(m<<3)+4>>1]=b[j+(u+4)>>1]|0;m=m+1|0}while((m|0)!=(i|0))}jb[c[(c[f>>2]|0)+20>>2]&31](f,n,19316,1497453121,c[n+8>>2]|0)}break}case 5:{if(i|0){j=zb[c[(c[f>>2]|0)+16>>2]&63](f,4,i)|0;k=c[j+8>>2]|0;c[m>>2]=Kb[c[(c[f>>2]|0)+28>>2]&31](f,k)|0;if((c[t>>2]|0)>0){i=0;do{o=c[t+24>>2]|0;u=S(c[t+20>>2]|0,i)|0;a[k+(i<<2)>>0]=a[o+u>>0]|0;a[k+(i<<2)+1>>0]=a[o+(u+1)>>0]|0;a[k+(i<<2)+2>>0]=a[o+(u+2)>>0]|0;i=i+1|0}while((i|0)<(c[t>>2]|0))}jb[c[(c[f>>2]|0)+20>>2]&31](f,j,19343,1497453121,c[j+8>>2]|0)}break}default:{}}switch(c[t+16>>2]|0){case 0:{i=c[t+4>>2]|0;if(i|0){i=zb[c[(c[f>>2]|0)+16>>2]&63](f,16,i)|0;j=c[i+8>>2]|0;c[g>>2]=Kb[c[(c[f>>2]|0)+28>>2]&31](f,j)|0;k=c[t+4>>2]|0;if((k|0)>0){m=c[t+28>>2]|0;n=c[t+8>>2]|0;o=0;do{u=S(n,o)|0;c[j+(o<<4)>>2]=c[m+u>>2];c[j+(o<<4)+4>>2]=c[m+(u+4)>>2];c[j+(o<<4)+8>>2]=c[m+(u+8)>>2];o=o+1|0}while((o|0)!=(k|0))}jb[c[(c[f>>2]|0)+20>>2]&31](f,i,19366,1497453121,c[i+8>>2]|0)}break}case 1:{i=c[t+4>>2]|0;if(i|0){n=zb[c[(c[f>>2]|0)+16>>2]&63](f,32,i)|0;o=c[n+8>>2]|0;c[p>>2]=Kb[c[(c[f>>2]|0)+28>>2]&31](f,o)|0;i=c[t+4>>2]|0;if((i|0)>0){j=c[t+28>>2]|0;k=c[t+8>>2]|0;m=0;do{u=S(k,m)|0;h[o+(m<<5)>>3]=+h[j+u>>3];h[o+(m<<5)+8>>3]=+h[j+(u+8)>>3];h[o+(m<<5)+16>>3]=+h[j+(u+16)>>3];m=m+1|0}while((m|0)!=(i|0))}jb[c[(c[f>>2]|0)+20>>2]&31](f,n,19385,1497453121,c[n+8>>2]|0)}break}default:{}}nb[c[(c[d>>2]|0)+24>>2]&127](d,q);q=q+1|0;if((q|0)==(r|0)){g=f;break a}else g=g+32|0}}else g=f;while(0);jb[c[(c[g>>2]|0)+20>>2]&31](f,s,19405,1497453121,c[s+8>>2]|0);f=d+4|0;u=e+4|0;f=c[f>>2]|0;c[u>>2]=f;u=d+8|0;u=c[u>>2]|0;f=e+8|0;c[f>>2]=u;f=d+12|0;f=c[f>>2]|0;u=e+12|0;c[u>>2]=f;d=d+16|0;d=c[d>>2]|0;u=e+16|0;c[u>>2]=d;l=t;return 19420}
//function _b(d,f){d=d|0;f=f|0;var h=0,i=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0.0,x=0.0,y=0,z=0,A=0,B=0.0,C=0.0,D=0,E=0,H=0.0,I=0,J=0,K=0,L=0,M=0.0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0.0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0.0,ja=0.0,ka=0,la=0;ha=l;l=l+336|0;h=c[d+52>>2]|0;if(h|0?(lb[c[c[h>>2]>>2]&511](h),i=c[d+52>>2]|0,i|0):0){c[6486]=(c[6486]|0)+1;Uc(c[i+-4>>2]|0)}c[6485]=(c[6485]|0)+1;h=ic(151)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}c[h>>2]=9444;a[h+20>>0]=1;c[h+16>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;a[h+40>>0]=1;c[h+36>>2]=0;c[h+28>>2]=0;c[h+32>>2]=0;a[h+60>>0]=1;c[h+56>>2]=0;c[h+48>>2]=0;c[h+52>>2]=0;c[d+52>>2]=h;k=0;p=0;K=0;ga=0;o=0;while(1){if((p|0)>=(pb[c[(c[d>>2]|0)+96>>2]&127](d)|0))break;do if((K|0)==(o|0)){m=o|0?o<<1:1;if((o|0)<(m|0)){if((m|0)!=0?(c[6485]=(c[6485]|0)+1,v=ic((m<<4|3)+16|0)|0,(v|0)!=0):0){c[(v+4+15&-16)+-4>>2]=v;i=v+4+15&-16}else i=0;if((o|0)<=0){if(!ga){k=i;n=o;h=m;break}}else{h=0;do{fa=i+(h<<4)|0;ea=ga+(h<<4)|0;c[fa>>2]=c[ea>>2];c[fa+4>>2]=c[ea+4>>2];c[fa+8>>2]=c[ea+8>>2];c[fa+12>>2]=c[ea+12>>2];h=h+1|0}while((h|0)!=(o|0))}c[6486]=(c[6486]|0)+1;Uc(c[ga+-4>>2]|0);k=i;n=o;h=m}else{n=o;i=ga;h=o}}else{n=K;i=ga;h=o}while(0);ga=i+(K<<4)|0;c[ga>>2]=c[ha+168>>2];c[ga+4>>2]=c[ha+168+4>>2];c[ga+8>>2]=c[ha+168+8>>2];c[ga+12>>2]=c[ha+168+12>>2];Vb[c[(c[d>>2]|0)+108>>2]&127](d,p,ga);p=p+1|0;K=n+1|0;ga=i;o=h}a[ha+184+16>>0]=1;fa=ha+184+12|0;c[fa>>2]=0;c[ha+184+4>>2]=0;c[ha+184+8>>2]=0;a[ha+184+36>>0]=1;ea=ha+184+32|0;c[ea>>2]=0;c[ha+184+24>>2]=0;c[ha+184+28>>2]=0;a[ha+184+56>>0]=1;da=ha+184+52|0;c[da>>2]=0;c[ha+184+44>>2]=0;c[ha+184+48>>2]=0;if(f){if((K|0)>0){J=0;i=0;k=0;m=0;while(1){h=J;J=J+1|0;if((J|0)<(K|0)){E=ga+(h<<4)|0;I=ga+(h<<4)+4|0;A=ga+(h<<4)+8|0;D=J;h=k;do{k=D;D=D+1|0;if((D|0)<(K|0)){y=ga+(k<<4)|0;z=ga+(k<<4)+4|0;v=ga+(k<<4)+8|0;f=D;do{B=+g[E>>2];M=+g[y>>2]-B;C=+g[I>>2];w=+g[z>>2]-C;H=+g[A>>2];x=+g[v>>2]-H;B=+g[ga+(f<<4)>>2]-B;C=+g[ga+(f<<4)+4>>2]-C;H=+g[ga+(f<<4)+8>>2]-H;q=1.0;p=0;while(1){t=(w*H-x*C)*q;u=(x*B-M*H)*q;r=(M*C-w*B)*q;a:do if(r*r+(t*t+u*u)>9.999999747378752e-05){s=1.0/+G(+(r*r+(t*t+u*u)));if((i|0)>0){k=0;do{if(t*s*+g[m+(k<<4)>>2]+u*s*+g[m+(k<<4)+4>>2]+r*s*+g[m+(k<<4)+8>>2]>.9990000128746033)break a;k=k+1|0}while((k|0)<(i|0))}q=t*s*+g[E>>2]+u*s*+g[I>>2]+r*s*+g[A>>2];k=0;do{if(t*s*+g[ga+(k<<4)>>2]+u*s*+g[ga+(k<<4)+4>>2]+r*s*+g[ga+(k<<4)+8>>2]-q+-.009999999776482582>0.0)break a;k=k+1|0}while((k|0)<(K|0));do if((i|0)==(h|0)){o=h|0?h<<1:1;if((h|0)<(o|0)){do if(!o)n=0;else{c[6485]=(c[6485]|0)+1;k=ic((o<<4|3)+16|0)|0;if(!k){n=0;break}c[(k+4+15&-16)+-4>>2]=k;n=k+4+15&-16}while(0);if((h|0)<=0){if(!m){k=h;h=o;m=n;break}}else{k=0;do{aa=n+(k<<4)|0;$=m+(k<<4)|0;c[aa>>2]=c[$>>2];c[aa+4>>2]=c[$+4>>2];c[aa+8>>2]=c[$+8>>2];c[aa+12>>2]=c[$+12>>2];k=k+1|0}while((k|0)!=(h|0))}c[6486]=(c[6486]|0)+1;Uc(c[m+-4>>2]|0);k=h;h=o;m=n}else k=h}else k=i;while(0);g[m+(k<<4)>>2]=t*s;g[m+(k<<4)+4>>2]=u*s;g[m+(k<<4)+8>>2]=r*s;g[m+(k<<4)+12>>2]=-q;i=i+1|0}while(0);p=p+1|0;if((p|0)==2)break;else q=-1.0}f=f+1|0}while((f|0)!=(K|0))}}while((D|0)!=(K|0))}else h=k;if((J|0)==(K|0))break;else k=h}if((i|0)>0){v=0;o=0;p=0;while(1){aa=m+(v<<4)|0;c[ha+120>>2]=c[aa>>2];c[ha+120+4>>2]=c[aa+4>>2];c[ha+120+8>>2]=c[aa+8>>2];q=+g[m+(v<<4)+12>>2];q=q-+Db[c[(c[d>>2]|0)+48>>2]&15](d);do if((v|0)==(o|0)){n=o|0?o<<1:1;if((o|0)<(n|0)){if((n|0)!=0?(c[6485]=(c[6485]|0)+1,L=ic((n<<4|3)+16|0)|0,(L|0)!=0):0){c[(L+4+15&-16)+-4>>2]=L;k=L+4+15&-16}else k=0;if((o|0)<=0){if(!p){h=o;break}}else{h=0;do{aa=k+(h<<4)|0;$=p+(h<<4)|0;c[aa>>2]=c[$>>2];c[aa+4>>2]=c[$+4>>2];c[aa+8>>2]=c[$+8>>2];c[aa+12>>2]=c[$+12>>2];h=h+1|0}while((h|0)!=(o|0))}c[6486]=(c[6486]|0)+1;Uc(c[p+-4>>2]|0);h=o}else{h=o;n=o;k=p}}else{h=v;n=o;k=p}while(0);aa=k+(h<<4)|0;c[aa>>2]=c[ha+120>>2];c[aa+4>>2]=c[ha+120+4>>2];c[aa+8>>2]=c[ha+120+8>>2];g[k+(h<<4)+12>>2]=q;v=v+1|0;if((v|0)<(i|0)){o=n;p=k}else break}if((v|0)>0){n=0;I=0;i=0;h=0;o=0;do{E=I;I=I+1|0;if((I|0)<(v|0)){D=I;do{A=D;D=D+1|0;if((D|0)<(v|0)){z=D;do{t=+g[k+(A<<4)+4>>2];q=+g[k+(z<<4)+8>>2];r=+g[k+(A<<4)+8>>2];u=+g[k+(z<<4)+4>>2];w=+g[k+(z<<4)>>2];x=+g[k+(A<<4)>>2];s=+g[k+(E<<4)+8>>2];B=+g[k+(E<<4)+4>>2];C=+g[k+(E<<4)>>2];b:do if((((u*x-t*w)*(u*x-t*w)+((t*q-r*u)*(t*q-r*u)+(r*w-q*x)*(r*w-q*x))>9.999999747378752e-05?(w*B-u*C)*(w*B-u*C)+((u*s-q*B)*(u*s-q*B)+(q*C-w*s)*(q*C-w*s))>9.999999747378752e-05:0)?(t*C-x*B)*(t*C-x*B)+((r*B-t*s)*(r*B-t*s)+(x*s-r*C)*(x*s-r*C))>9.999999747378752e-05:0)?(V=s*(u*x-t*w)+(B*(r*w-q*x)+(t*q-r*u)*C),+F(+V)>9.999999974752427e-07):0){ia=+g[k+(E<<4)+12>>2];M=+g[k+(A<<4)+12>>2];ja=+g[k+(z<<4)+12>>2];H=-1.0/V*((r*B-t*s)*ja+((t*q-r*u)*ia+(u*s-q*B)*M));r=-1.0/V*((x*s-r*C)*ja+((r*w-q*x)*ia+(q*C-w*s)*M));q=-1.0/V*((t*C-x*B)*ja+((u*x-t*w)*ia+(w*B-u*C)*M));p=0;do{if(+g[k+(p<<4)+12>>2]+(H*+g[k+(p<<4)>>2]+r*+g[k+(p<<4)+4>>2]+q*+g[k+(p<<4)+8>>2])+-.009999999776482582>0.0)break b;p=p+1|0}while((p|0)<(v|0));do if((i|0)==(o|0)){y=o|0?o<<1:1;if((o|0)>=(y|0)){f=o;break}do if(!y)p=0;else{c[6485]=(c[6485]|0)+1;n=ic((y<<4|3)+16|0)|0;if(!n){p=0;break}c[(n+4+15&-16)+-4>>2]=n;p=n+4+15&-16}while(0);if((o|0)<=0){if(!h){n=p;f=o;h=p;o=y;break}}else{n=0;do{aa=p+(n<<4)|0;$=h+(n<<4)|0;c[aa>>2]=c[$>>2];c[aa+4>>2]=c[$+4>>2];c[aa+8>>2]=c[$+8>>2];c[aa+12>>2]=c[$+12>>2];n=n+1|0}while((n|0)!=(o|0))}c[6486]=(c[6486]|0)+1;Uc(c[h+-4>>2]|0);n=p;f=o;h=p;o=y}else f=i;while(0);g[h+(f<<4)>>2]=H;g[h+(f<<4)+4>>2]=r;g[h+(f<<4)+8>>2]=q;g[h+(f<<4)+12>>2]=0.0;i=i+1|0}while(0);z=z+1|0}while((z|0)!=(v|0))}}while((D|0)!=(v|0))}}while((I|0)!=(v|0))}else{n=0;i=0;h=0}}else{n=0;k=0;i=0;h=0}}else{n=0;m=0;k=0;i=0;h=0}mc(ha+184|0,n,i);if(h|0){c[6486]=(c[6486]|0)+1;Uc(c[h+-4>>2]|0)}if(k|0){c[6486]=(c[6486]|0)+1;Uc(c[k+-4>>2]|0)}if(m|0){c[6486]=(c[6486]|0)+1;Uc(c[m+-4>>2]|0)}}else mc(ha+184|0,k,K);J=c[ha+184+44>>2]|0;if((J|0)>0){c[6485]=(c[6485]|0)+1;h=ic((J<<4|3)+16|0)|0;if(!h)i=0;else{c[(h+4+15&-16)+-4>>2]=h;i=h+4+15&-16}h=0;do{aa=i+(h<<4)|0;c[aa>>2]=c[ha+104>>2];c[aa+4>>2]=c[ha+104+4>>2];c[aa+8>>2]=c[ha+104+8>>2];c[aa+12>>2]=c[ha+104+12>>2];h=h+1|0}while((h|0)!=(J|0));aa=i;$=i}else{aa=0;$=0}a[ha+80+16>>0]=1;Z=ha+80+12|0;c[Z>>2]=0;_=ha+80+4|0;c[_>>2]=0;c[ha+80+8>>2]=0;k=ha+312|0;n=k+19|0;do{a[k>>0]=0;k=k+1|0}while((k|0)<(n|0));if((J|0)<0)Xa();if((J|0)>0){xf(ha+80|0,J);h=c[Z>>2]|0;i=0;do{k=h+(i*36|0)|0;a[k+16>>0]=1;c[k+4>>2]=0;c[k+4+4>>2]=0;c[k+4+8>>2]=0;k=k+20|0;m=ha+312+3|0;n=k+16|0;do{a[k>>0]=a[m>>0]|0;k=k+1|0;m=m+1|0}while((k|0)<(n|0));i=i+1|0}while((i|0)!=(J|0))}c[_>>2]=J;o=c[ha+184+4>>2]|0;n=c[d+52>>2]|0;m=c[n+8>>2]|0;if((m|0)<(o|0)){if((c[n+12>>2]|0)<(o|0)){if(!o){h=0;i=m}else{c[6485]=(c[6485]|0)+1;h=ic((o<<4|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}i=c[n+8>>2]|0}if((i|0)>0){k=0;do{Y=h+(k<<4)|0;X=(c[n+16>>2]|0)+(k<<4)|0;c[Y>>2]=c[X>>2];c[Y+4>>2]=c[X+4>>2];c[Y+8>>2]=c[X+8>>2];c[Y+12>>2]=c[X+12>>2];k=k+1|0}while((k|0)!=(i|0))}i=c[n+16>>2]|0;if(i|0){if(a[n+20>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[i+-4>>2]|0)}c[n+16>>2]=0}a[n+20>>0]=1;c[n+16>>2]=h;c[n+12>>2]=o;i=n+16|0}else i=n+16|0;h=m;do{Y=(c[i>>2]|0)+(h<<4)|0;c[Y>>2]=c[ha+64>>2];c[Y+4>>2]=c[ha+64+4>>2];c[Y+8>>2]=c[ha+64+8>>2];c[Y+12>>2]=c[ha+64+12>>2];h=h+1|0}while((h|0)!=(o|0))}c[n+8>>2]=o;if((o|0)>0){h=0;do{Y=(c[(c[d+52>>2]|0)+16>>2]|0)+(h<<4)|0;X=(c[fa>>2]|0)+(h<<4)|0;c[Y>>2]=c[X>>2];c[Y+4>>2]=c[X+4>>2];c[Y+8>>2]=c[X+8>>2];c[Y+12>>2]=c[X+12>>2];h=h+1|0}while((h|0)!=(o|0))}if((J|0)>0){E=c[Z>>2]|0;I=0;do{p=(c[ea>>2]|0)+((c[(c[da>>2]|0)+(I<<2)>>2]|0)*12|0)|0;A=E+(I*36|0)+4|0;v=E+(I*36|0)+8|0;D=E+(I*36|0)+12|0;f=E+(I*36|0)+16|0;h=c[A>>2]|0;z=p;i=0;do{y=z+4|0;o=c[z+((c[y>>2]|0)*12|0)+8>>2]|0;if((h|0)==(c[v>>2]|0)?(N=h|0?h<<1:1,(h|0)<(N|0)):0){if(!N)n=0;else{c[6485]=(c[6485]|0)+1;h=ic((N<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}n=h;h=c[A>>2]|0}m=c[D>>2]|0;if((h|0)<=0){if(m)ba=131}else{k=0;do{c[n+(k<<2)>>2]=c[m+(k<<2)>>2];k=k+1|0}while((k|0)!=(h|0));ba=131}if((ba|0)==131){ba=0;if(a[f>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[m+-4>>2]|0)}c[D>>2]=0;h=c[A>>2]|0}a[f>>0]=1;c[D>>2]=n;c[v>>2]=N}c[(c[D>>2]|0)+(h<<2)>>2]=o;h=(c[A>>2]|0)+1|0;c[A>>2]=h;X=c[z+8>>2]|0;Y=c[fa>>2]|0;s=+g[Y+(X<<4)>>2]-+g[Y+(o<<4)>>2];t=+g[Y+(X<<4)+4>>2]-+g[Y+(o<<4)+4>>2];q=+g[Y+(X<<4)+8>>2]-+g[Y+(o<<4)+8>>2];r=1.0/+G(+(s*s+t*t+q*q));if((i|0)<2){g[ha+264+(i<<4)>>2]=s*r;g[ha+264+(i<<4)+4>>2]=t*r;g[ha+264+(i<<4)+8>>2]=q*r;g[ha+264+(i<<4)+12>>2]=0.0;i=i+1|0}Y=c[y>>2]|0;z=z+(((c[z+(Y*12|0)>>2]|0)+Y|0)*12|0)|0}while((z|0)!=(p|0));h=$+(I<<4)|0;if((i|0)==2){H=+g[ha+264+4>>2];M=+g[ha+264+24>>2];V=+g[ha+264+8>>2];ia=+g[ha+264+20>>2];C=+g[ha+264+16>>2];B=+g[ha+264>>2];X=$+(I<<4)+4|0;Y=$+(I<<4)+8|0;g[$+(I<<4)+12>>2]=0.0;ja=1.0/+G(+((H*M-V*ia)*(H*M-V*ia)+(V*C-M*B)*(V*C-M*B)+(ia*B-H*C)*(ia*B-H*C)));g[h>>2]=(H*M-V*ia)*ja;g[X>>2]=(V*C-M*B)*ja;g[Y>>2]=(ia*B-H*C)*ja;g[E+(I*36|0)+20>>2]=(H*M-V*ia)*ja;c[E+(I*36|0)+24>>2]=c[X>>2];c[E+(I*36|0)+28>>2]=c[Y>>2];g[E+(I*36|0)+32>>2]=1000000015047466219876688.0e6}else{c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0}k=c[A>>2]|0;if((k|0)>0){m=c[(c[d+52>>2]|0)+16>>2]|0;r=+g[h>>2];s=+g[$+(I<<4)+4>>2];t=+g[$+(I<<4)+8>>2];h=c[D>>2]|0;q=1000000015047466219876688.0e6;i=0;do{Y=c[h+(i<<2)>>2]|0;ja=+g[m+(Y<<4)>>2]*r+ +g[m+(Y<<4)+4>>2]*s+ +g[m+(Y<<4)+8>>2]*t;q=q>ja?ja:q;i=i+1|0}while((i|0)!=(k|0))}else q=1000000015047466219876688.0e6;g[E+(I*36|0)+32>>2]=-q;I=I+1|0}while((I|0)!=(J|0))}if((c[_>>2]|0)>0){i=0;h=0;n=0;m=0;o=0;while(1){do if((o|0)==(h|0)){k=o|0?o<<1:1;if((o|0)<(k|0)){if((k|0)!=0?(c[6485]=(c[6485]|0)+1,O=ic((k<<2|3)+16|0)|0,(O|0)!=0):0){c[(O+4+15&-16)+-4>>2]=O;i=O+4+15&-16}else i=0;if((o|0)>0){h=0;do{c[i+(h<<2)>>2]=c[n+(h<<2)>>2];h=h+1|0}while((h|0)!=(o|0));if(!m){X=i;m=i;h=k;n=i;break}}else if((n|0)==0|(m|0)==0){X=i;m=i;h=k;n=i;break}c[6486]=(c[6486]|0)+1;Uc(c[m+-4>>2]|0);X=i;m=i;h=k;n=i}else{X=i;h=o}}else X=i;while(0);c[n+(o<<2)>>2]=o;o=o+1|0;if((o|0)>=(c[_>>2]|0))break;else i=X}Q=ha+40+16|0;R=ha+40+12|0;S=ha+40+4|0;T=c[Z>>2]|0;k=o;while(1){y=k+-1|0;i=c[n+(y<<2)>>2]|0;c[6485]=(c[6485]|0)+1;h=ic(23)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}c[h>>2]=i;r=+g[T+(i*36|0)+20>>2];s=+g[T+(i*36|0)+24>>2];q=+g[T+(i*36|0)+28>>2];c:do if((k|0)>1){A=y;f=h;m=1;k=1;p=h;v=h;i=h;h=y;while(1){D=k;o=i;d:while(1){do{Y=h;h=h+-1|0;if((Y|0)<=0){k=A;P=f;O=D;N=p;break c}y=c[n+(h<<2)>>2]|0}while(!(r*+g[T+(y*36|0)+20>>2]+s*+g[T+(y*36|0)+24>>2]+q*+g[T+(y*36|0)+28>>2]>.9990000128746033));do if((D|0)==(m|0)?(U=m|0?m<<1:1,(m|0)<(U|0)):0){do if(!U)k=0;else{c[6485]=(c[6485]|0)+1;i=ic((U<<2|3)+16|0)|0;if(!i){k=0;break}c[(i+4+15&-16)+-4>>2]=i;k=i+4+15&-16}while(0);if((m|0)>0){i=0;do{c[k+(i<<2)>>2]=c[f+(i<<2)>>2];i=i+1|0}while((i|0)!=(m|0));if(!o){p=k;v=k;z=k;m=U;f=k;break}}else if((f|0)==0|(o|0)==0){p=k;v=k;z=k;m=U;f=k;break}c[6486]=(c[6486]|0)+1;Uc(c[o+-4>>2]|0);p=k;v=k;z=k;m=U;f=k}else z=o;while(0);c[f+(D<<2)>>2]=y;D=D+1|0;i=0;while(1){o=n+(i<<2)|0;if((c[o>>2]|0)==(y|0))break;i=i+1|0;if((i|0)>=(A|0)){o=z;continue d}}if((i|0)<(A|0))break;else o=z}k=A+-1|0;Y=n+(k<<2)|0;c[o>>2]=c[Y>>2];c[Y>>2]=y;if((A|0)>1){A=k;k=D;i=z}else{i=f;o=D;ba=161;break}}}else{k=y;i=h;m=1;o=1;p=h;v=h;h=y;ba=161}while(0);e:do if((ba|0)==161){ba=0;y=i;z=o;while(1){do{Y=h;h=h+-1|0;if((Y|0)<=0){P=y;O=z;N=p;break e}f=c[n+(h<<2)>>2]|0}while(!(r*+g[T+(f*36|0)+20>>2]+s*+g[T+(f*36|0)+24>>2]+q*+g[T+(f*36|0)+28>>2]>.9990000128746033));do if((z|0)==(m|0)?(W=m|0?m<<1:1,(m|0)<(W|0)):0){do if(!W)o=0;else{c[6485]=(c[6485]|0)+1;i=ic((W<<2|3)+16|0)|0;if(!i){o=0;break}c[(i+4+15&-16)+-4>>2]=i;o=i+4+15&-16}while(0);if((m|0)>0){i=0;do{c[o+(i<<2)>>2]=c[y+(i<<2)>>2];i=i+1|0}while((i|0)!=(m|0));if(!v){p=o;v=o;m=W;i=o;break}}else if((y|0)==0|(v|0)==0){p=o;v=o;m=W;i=o;break}c[6486]=(c[6486]|0)+1;Uc(c[v+-4>>2]|0);p=o;v=o;m=W;i=o}else i=y;while(0);c[i+(z<<2)>>2]=f;y=i;z=z+1|0}}while(0);if((O|0)>1){a[Q>>0]=1;c[R>>2]=0;c[S>>2]=0;c[ha+40+8>>2]=0;i=0;q=0.0;r=0.0;s=0.0;z=0;do{y=c[P+(z<<2)>>2]|0;q=+g[T+(y*36|0)+20>>2]+q;r=+g[T+(y*36|0)+24>>2]+r;s=+g[T+(y*36|0)+28>>2]+s;h=c[T+(y*36|0)+4>>2]|0;if((h|0)>0){f=0;do{v=c[(c[T+(y*36|0)+12>>2]|0)+(f<<2)>>2]|0;Y=(c[(c[d+52>>2]|0)+16>>2]|0)+(v<<4)|0;c[ha+24>>2]=c[Y>>2];c[ha+24+4>>2]=c[Y+4>>2];c[ha+24+8>>2]=c[Y+8>>2];c[ha+24+12>>2]=c[Y+12>>2];f:do if((i|0)>0){m=c[R>>2]|0;o=0;while(1){if((c[m+(o*24|0)+20>>2]|0)==(v|0))break f;o=o+1|0;if((o|0)>=(i|0)){ba=202;break}}}else ba=202;while(0);if((ba|0)==202){ba=0;c[ha>>2]=c[ha+24>>2];c[ha+4>>2]=c[ha+24+4>>2];c[ha+8>>2]=c[ha+24+8>>2];c[ha+12>>2]=c[ha+24+12>>2];do if((i|0)==(c[ha+40+8>>2]|0)){p=i|0?i<<1:1;if((i|0)>=(p|0))break;if(!p)h=0;else{c[6485]=(c[6485]|0)+1;h=ic((p*24|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}i=c[S>>2]|0}o=c[R>>2]|0;if((i|0)<=0){if(o)ba=211}else{m=0;do{ba=h+(m*24|0)|0;Y=o+(m*24|0)|0;c[ba>>2]=c[Y>>2];c[ba+4>>2]=c[Y+4>>2];c[ba+8>>2]=c[Y+8>>2];c[ba+12>>2]=c[Y+12>>2];c[ba+16>>2]=c[Y+16>>2];c[ba+20>>2]=c[Y+20>>2];m=m+1|0}while((m|0)!=(i|0));ba=211}if((ba|0)==211){ba=0;if(a[Q>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[o+-4>>2]|0);i=c[S>>2]|0}c[R>>2]=0}a[Q>>0]=1;c[R>>2]=h;c[ha+40+8>>2]=p}while(0);h=c[R>>2]|0;Y=h+(i*24|0)|0;c[Y>>2]=c[ha>>2];c[Y+4>>2]=c[ha+4>>2];c[Y+8>>2]=c[ha+8>>2];c[Y+12>>2]=c[ha+12>>2];c[Y+16>>2]=c[ha+16>>2];c[h+(i*24|0)+20>>2]=v;i=(c[S>>2]|0)+1|0;c[S>>2]=i;h=c[T+(y*36|0)+4>>2]|0}f=f+1|0}while((f|0)<(h|0))}z=z+1|0}while((z|0)!=(O|0));a[ha+132+16>>0]=1;c[ha+132+12>>2]=0;c[ha+132+4>>2]=0;c[ha+132+8>>2]=0;Y=T+20+((c[P>>2]|0)*9<<2)|0;c[ha+132+20>>2]=c[Y>>2];c[ha+132+20+4>>2]=c[Y+4>>2];c[ha+132+20+8>>2]=c[Y+8>>2];c[ha+132+20+12>>2]=c[Y+12>>2];u=1.0/+G(+(q*q+r*r+s*s));x=q*u;w=r*u;u=s*u;if(+F(+u)>.7071067690849304){s=1.0/+G(+(u*u+w*w));r=-(u*s);s=w*s;t=0.0}else{t=1.0/+G(+(x*x+w*w));r=x*t;s=0.0;t=-(w*t)}do if((i|0)<2){if((i|0)==1){i=1;m=0;o=0;f=0}else{i=0;m=0;h=0;ba=296;break}while(1){y=c[R>>2]|0;do if((m|0)==(o|0)){v=o|0?o<<1:1;if((o|0)>=(v|0)){p=o;h=f;break}do if(!v)h=0;else{c[6485]=(c[6485]|0)+1;h=ic((v*24|3)+16|0)|0;if(!h){h=0;o=m;break}c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16;o=m}while(0);if((o|0)<=0){if(f|0)ba=233}else{i=0;do{ba=h+(i*24|0)|0;Y=f+(i*24|0)|0;c[ba>>2]=c[Y>>2];c[ba+4>>2]=c[Y+4>>2];c[ba+8>>2]=c[Y+8>>2];c[ba+12>>2]=c[Y+12>>2];c[ba+16>>2]=c[Y+16>>2];c[ba+20>>2]=c[Y+20>>2];i=i+1|0}while((i|0)!=(o|0));ba=233}if((ba|0)==233){ba=0;c[6486]=(c[6486]|0)+1;Uc(c[f+-4>>2]|0)}p=m;i=c[S>>2]|0;o=v}else{p=m;h=f}while(0);Y=h+(p*24|0)|0;c[Y>>2]=c[y>>2];c[Y+4>>2]=c[y+4>>2];c[Y+8>>2]=c[y+8>>2];c[Y+12>>2]=c[y+12>>2];c[Y+16>>2]=c[y+16>>2];c[Y+20>>2]=c[y+20>>2];m=m+1|0;if((m|0)<(i|0))f=h;else{ba=263;break}}}else{o=c[R>>2]|0;h=i;m=0;do{if(t*+g[o+(m*24|0)>>2]+r*+g[o+(m*24|0)+4>>2]+s*+g[o+(m*24|0)+8>>2]<t*+g[o>>2]+r*+g[o+4>>2]+s*+g[o+8>>2]){c[ha+264>>2]=c[o>>2];c[ha+264+4>>2]=c[o+4>>2];c[ha+264+8>>2]=c[o+8>>2];c[ha+264+12>>2]=c[o+12>>2];c[ha+264+16>>2]=c[o+16>>2];c[ha+264+20>>2]=c[o+20>>2];h=o+(m*24|0)|0;c[o>>2]=c[h>>2];c[o+4>>2]=c[h+4>>2];c[o+8>>2]=c[h+8>>2];c[o+12>>2]=c[h+12>>2];c[o+16>>2]=c[h+16>>2];c[o+20>>2]=c[h+20>>2];h=o+(m*24|0)|0;c[h>>2]=c[ha+264>>2];c[h+4>>2]=c[ha+264+4>>2];c[h+8>>2]=c[ha+264+8>>2];c[h+12>>2]=c[ha+264+12>>2];c[h+16>>2]=c[ha+264+16>>2];c[h+20>>2]=c[ha+264+20>>2];h=i}m=m+1|0}while((m|0)<(h|0));g[o+16>>2]=-1000000015047466219876688.0e6;if((h|0)>1){q=+g[o+4>>2];i=1;do{V=+g[o+(i*24|0)>>2]-+g[o>>2];ia=+g[o+(i*24|0)+4>>2]-q;ja=+g[o+(i*24|0)+8>>2]-+g[o+8>>2];g[o+(i*24|0)+16>>2]=((t*ia-r*V)*u+(x*(r*ja-s*ia)+w*(s*V-t*ja)))/+G(+(V*V+ia*ia+ja*ja));i=i+1|0}while((i|0)!=(h|0))}c[ha+248>>2]=c[o>>2];c[ha+248+4>>2]=c[o+4>>2];c[ha+248+8>>2]=c[o+8>>2];c[ha+248+12>>2]=c[o+12>>2];kf(ha+40|0,ha+248|0,1,h+-1|0);i=c[R>>2]|0;c[6485]=(c[6485]|0)+1;h=ic(43)|0;if(!h)o=0;else{c[(h+4+15&-16)+-4>>2]=h;o=h+4+15&-16}m=c[R>>2]|0;c[o>>2]=c[i>>2];c[o+4>>2]=c[i+4>>2];c[o+8>>2]=c[i+8>>2];c[o+12>>2]=c[i+12>>2];c[o+16>>2]=c[i+16>>2];c[o+20>>2]=c[i+20>>2];c[6485]=(c[6485]|0)+1;h=ic(67)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}c[h>>2]=c[o>>2];c[h+4>>2]=c[o+4>>2];c[h+8>>2]=c[o+8>>2];c[h+12>>2]=c[o+12>>2];c[h+16>>2]=c[o+16>>2];c[h+20>>2]=c[o+20>>2];if(o|0){c[6486]=(c[6486]|0)+1;Uc(c[o+-4>>2]|0)}i=h+24|0;c[i>>2]=c[m+24>>2];c[i+4>>2]=c[m+24+4>>2];c[i+8>>2]=c[m+24+8>>2];c[i+12>>2]=c[m+24+12>>2];c[i+16>>2]=c[m+24+16>>2];c[i+20>>2]=c[m+24+20>>2];i=c[S>>2]|0;if((i|0)==2){L=2;ba=264;break}else{p=2;m=2;o=2;y=2}while(1){g:do if((p|0)>1){ba=c[R>>2]|0;f=ba+(y*24|0)|0;q=+g[f>>2];r=+g[ba+(y*24|0)+4>>2];s=+g[ba+(y*24|0)+8>>2];while(1){ba=p+-2|0;v=p+-1|0;V=+g[h+(ba*24|0)>>2];ia=V-+g[h+(v*24|0)>>2];H=+g[h+(ba*24|0)+4>>2];C=H-+g[h+(v*24|0)+4>>2];ja=+g[h+(ba*24|0)+8>>2];M=ja-+g[h+(v*24|0)+8>>2];if((ia*(H-r)-C*(V-q))*u+(x*(C*(ja-s)-M*(H-r))+w*(M*(V-q)-ia*(ja-s)))>0.0)break;if((v|0)>1){p=v;m=v}else{p=v;m=v;break g}}do if((p|0)==(o|0)){v=o<<1;if((o|0)>=(v|0)){p=o;v=o;break}c[6485]=(c[6485]|0)+1;i=ic((o*48|3)+16|0)|0;if(!i)o=0;else{c[(i+4+15&-16)+-4>>2]=i;o=i+4+15&-16}if((m|0)>0){i=0;do{ba=o+(i*24|0)|0;Y=h+(i*24|0)|0;c[ba>>2]=c[Y>>2];c[ba+4>>2]=c[Y+4>>2];c[ba+8>>2]=c[Y+8>>2];c[ba+12>>2]=c[Y+12>>2];c[ba+16>>2]=c[Y+16>>2];c[ba+20>>2]=c[Y+20>>2];i=i+1|0}while((i|0)!=(m|0))}c[6486]=(c[6486]|0)+1;Uc(c[h+-4>>2]|0);i=c[S>>2]|0;p=m;h=o}else v=o;while(0);p=h+(p*24|0)|0;c[p>>2]=c[f>>2];c[p+4>>2]=c[f+4>>2];c[p+8>>2]=c[f+8>>2];c[p+12>>2]=c[f+12>>2];c[p+16>>2]=c[f+16>>2];c[p+20>>2]=c[f+20>>2];m=m+1|0;p=m;o=v}while(0);y=y+1|0;if((y|0)==(i|0)){ba=263;break}}}while(0);if((ba|0)==263)if((m|0)>0){L=m;ba=264}else{m=0;E=0;ba=266}if((ba|0)==264){ba=0;J=0;y=0;p=0;v=0;i=a[ha+132+16>>0]|0;m=0;E=0;K=0;while(1){I=h+(K*24|0)+20|0;do if((J|0)==(y|0)){f=y|0?y<<1:1;if((y|0)>=(f|0)){D=i;A=p;z=v;break}do if(!f)o=0;else{c[6485]=(c[6485]|0)+1;i=ic((f<<2|3)+16|0)|0;if(!i){o=0;break}c[(i+4+15&-16)+-4>>2]=i;o=i+4+15&-16}while(0);if((y|0)<=0){if(p|0)ba=276}else{i=0;do{c[o+(i<<2)>>2]=c[p+(i<<2)>>2];i=i+1|0}while((i|0)!=(y|0));ba=276}if((ba|0)==276){ba=0;if(v|0){c[6486]=(c[6486]|0)+1;Uc(c[v+-4>>2]|0)}c[ha+132+12>>2]=0}c[ha+132+12>>2]=o;c[ha+132+8>>2]=f;D=1;A=o;m=o;E=o;z=o;y=f}else{D=i;A=p;z=v}while(0);c[A+(J<<2)>>2]=c[I>>2];J=(c[ha+132+4>>2]|0)+1|0;c[ha+132+4>>2]=J;i=c[S>>2]|0;h:do if((i|0)>0){f=c[R>>2]|0;o=c[I>>2]|0;v=0;while(1){p=f+(v*24|0)+20|0;v=v+1|0;if((c[p>>2]|0)==(o|0))break;if((v|0)>=(i|0))break h}c[p>>2]=-1}while(0);K=K+1|0;if((K|0)==(L|0))break;else{p=A;v=z;i=D}}a[ha+132+16>>0]=D;ba=266}i:do if((ba|0)==266){ba=0;if((i|0)>0){f=c[R>>2]|0;y=c[_>>2]|0;A=0;while(1){z=c[f+(A*24|0)+20>>2]|0;if(!((z|0)==-1|(y|0)<1)){D=0;do{o=0;while(1){if((c[P+(o<<2)>>2]|0)==(D|0))break;o=o+1|0;if((o|0)>=(O|0)){ba=292;break}}do if((ba|0)==292){ba=0;o=c[T+(D*36|0)+4>>2]|0;if((o|0)<=0)break;p=c[T+(D*36|0)+12>>2]|0;v=0;do{if((c[p+(v<<2)>>2]|0)==(z|0)){i=E;o=1;break i}v=v+1|0}while((v|0)<(o|0))}while(0);D=D+1|0}while((D|0)<(y|0))}A=A+1|0;if((A|0)>=(i|0)){i=E;ba=296;break}}}else{i=E;ba=296}}while(0);if((ba|0)==296){ba=0;bh((c[d+52>>2]|0)+24|0,ha+132|0);o=0}if(h|0){c[6486]=(c[6486]|0)+1;Uc(c[h+-4>>2]|0)}if(i|0){if(m|0){c[6486]=(c[6486]|0)+1;Uc(c[m+-4>>2]|0)}c[ha+132+12>>2]=0}h=c[R>>2]|0;if(h|0){if(a[Q>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[h+-4>>2]|0)}c[R>>2]=0}a[Q>>0]=1;c[R>>2]=0;c[S>>2]=0;c[ha+40+8>>2]=0;if(o&(O|0)>0){v=0;ba=309}}else if((O|0)==1){v=0;ba=309}if((ba|0)==309)while(1){ba=0;p=c[P+(v<<2)>>2]|0;a[ha+264+16>>0]=1;c[ha+264+12>>2]=0;c[ha+264+4>>2]=0;c[ha+264+8>>2]=0;m=c[T+(p*36|0)+4>>2]|0;if((m|0)>0){c[6485]=(c[6485]|0)+1;h=ic((m<<2|3)+16|0)|0;if(!h)o=0;else{c[(h+4+15&-16)+-4>>2]=h;o=h+4+15&-16}a[ha+264+16>>0]=1;c[ha+264+12>>2]=o;c[ha+264+8>>2]=m;Lk(o|0,0,m<<2|0)|0;c[ha+264+4>>2]=m;h=c[T+(p*36|0)+12>>2]|0;i=0;do{c[o+(i<<2)>>2]=c[h+(i<<2)>>2];i=i+1|0}while((i|0)!=(m|0));i=o;h=o}else{c[ha+264+4>>2]=m;i=0;h=0}c[ha+264+20>>2]=c[T+(p*36|0)+20>>2];c[ha+264+20+4>>2]=c[T+(p*36|0)+20+4>>2];c[ha+264+20+8>>2]=c[T+(p*36|0)+20+8>>2];c[ha+264+20+12>>2]=c[T+(p*36|0)+20+12>>2];bh((c[d+52>>2]|0)+24|0,ha+264|0);if(i|0){if(h|0){c[6486]=(c[6486]|0)+1;Uc(c[h+-4>>2]|0)}c[ha+264+12>>2]=0}v=v+1|0;if((v|0)>=(O|0))break;else ba=309}if(!((P|0)==0|(N|0)==0)){c[6486]=(c[6486]|0)+1;Uc(c[N+-4>>2]|0)}if(!k){Y=n;break}}}else{Y=0;X=0}d=c[d+52>>2]|0;c[d+64>>2]=0;c[d+64+4>>2]=0;c[d+64+8>>2]=0;c[d+64+12>>2]=0;h=c[d+28>>2]|0;if((h|0)>0){v=0;D=0;y=0;i=0;k=0;I=0;A=0;p=0;m=0;E=0;f=0;n=0;z=0;J=0;W=0;while(1){o=c[d+36>>2]|0;U=c[o+(W*36|0)+4>>2]|0;if((U|0)>0){S=W&65535;T=W|-65536;Q=v;N=f;L=J;h=0;while(1){R=h+1|0;K=c[o+(W*36|0)+12>>2]|0;v=c[K+(h<<2)>>2]&65535;K=c[K+(((R|0)==(U|0)?0:R)<<2)>>2]&65535;O=v<<16>>16<K<<16>>16?v:K;P=v<<16>>16<K<<16>>16?K:v;o=v<<16>>16<K<<16>>16?v:K;v=v<<16>>16<K<<16>>16?K:v;K=N+-1|0;j:do if((((o&65535)<<16)+(v<<16>>16)&K)>>>0<I>>>0?(ca=c[k+((((o&65535)<<16)+(v<<16>>16)&K)<<2)>>2]|0,(ca|0)!=-1):0){h=ca;while(1){if(v<<16>>16==(b[i+(h<<2)>>1]|0)?o<<16>>16==(b[i+(h<<2)+2>>1]|0):0)break;h=c[m+(h<<2)>>2]|0;if((h|0)==-1){J=0;break j}}J=n+(h<<2)|0}else J=0;while(0);h=c[d+16>>2]|0;u=+g[h+(o<<16>>16<<4)>>2]-+g[h+(v<<16>>16<<4)>>2];w=+g[h+(o<<16>>16<<4)+4>>2]-+g[h+(v<<16>>16<<4)+4>>2];s=+g[h+(o<<16>>16<<4)+8>>2]-+g[h+(v<<16>>16<<4)+8>>2];t=1.0/+G(+(u*u+w*w+s*s));h=c[d+48>>2]|0;k:do if((h|0)>0){o=c[d+56>>2]|0;v=0;while(1){q=+g[o+(v<<4)>>2];r=+g[o+(v<<4)+8>>2];do if(!(+F(+(q-u*t))>1.0e-06)){if(+F(+(+g[o+(v<<4)+4>>2]-w*t))>1.0e-06)break;if(!(+F(+(r-s*t))>1.0e-06))break k}while(0);do if(!(+F(+(u*t+q))>1.0e-06)){if(+F(+(w*t+ +g[o+(v<<4)+4>>2]))>1.0e-06)break;if(!(+F(+(s*t+r))>1.0e-06))break k}while(0);v=v+1|0;if((v|0)>=(h|0)){ba=345;break}}}else ba=345;while(0);if((ba|0)==345){ba=0;do if((h|0)==(c[d+52>>2]|0)){f=h|0?h<<1:1;if((h|0)>=(f|0))break;if(!f)v=0;else{c[6485]=(c[6485]|0)+1;h=ic((f<<4|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}v=h;h=c[d+48>>2]|0}if((h|0)>0){o=0;do{ka=v+(o<<4)|0;la=(c[d+56>>2]|0)+(o<<4)|0;c[ka>>2]=c[la>>2];c[ka+4>>2]=c[la+4>>2];c[ka+8>>2]=c[la+8>>2];c[ka+12>>2]=c[la+12>>2];o=o+1|0}while((o|0)!=(h|0))}h=c[d+56>>2]|0;if(h|0){if(a[d+60>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[h+-4>>2]|0)}c[d+56>>2]=0}a[d+60>>0]=1;c[d+56>>2]=v;c[d+52>>2]=f;h=c[d+48>>2]|0}while(0);la=c[d+56>>2]|0;g[la+(h<<4)>>2]=u*t;g[la+(h<<4)+4>>2]=w*t;g[la+(h<<4)+8>>2]=s*t;g[la+(h<<4)+12>>2]=0.0;c[d+48>>2]=(c[d+48>>2]|0)+1}l:do if(!J){h=((O&65535)<<16)+(P<<16>>16)&K;m:do if(h>>>0<I>>>0){o=c[k+(h<<2)>>2]|0;if((o|0)==-1)break;while(1){if(P<<16>>16==(b[i+(o<<2)>>1]|0)?O<<16>>16==(b[i+(o<<2)+2>>1]|0):0)break;o=c[m+(o<<2)>>2]|0;if((o|0)==-1)break m}v=n+(o<<2)|0;b[v>>1]=T;b[v+2>>1]=T>>>16;v=Q;f=N;J=L;break l}while(0);do if((E|0)==(N|0)){f=N|0?N<<1:1;if((N|0)>=(f|0)){o=N;f=N;break}do if(!f)v=0;else{c[6485]=(c[6485]|0)+1;o=ic((f<<2|3)+16|0)|0;if(!o){v=0;break}c[(o+4+15&-16)+-4>>2]=o;v=o+4+15&-16}while(0);if((N|0)<=0){if(!n){o=N;n=v;break}}else{o=0;do{la=v+(o<<2)|0;ka=n+(o<<2)|0;ka=e[ka>>1]|e[ka+2>>1]<<16;b[la>>1]=ka;b[la+2>>1]=ka>>>16;o=o+1|0}while((o|0)!=(N|0))}c[6486]=(c[6486]|0)+1;Uc(c[n+-4>>2]|0);o=N;n=v}else{o=E;f=N}while(0);K=n+(o<<2)|0;b[K>>1]=T;b[K+2>>1]=T>>>16;K=E+1|0;do if((L|0)==(y|0)){y=L|0?L<<1:1;if((L|0)>=(y|0)){y=L;break}do if(!y)v=0;else{c[6485]=(c[6485]|0)+1;o=ic((y<<2|3)+16|0)|0;if(!o){v=0;break}c[(o+4+15&-16)+-4>>2]=o;v=o+4+15&-16}while(0);if((L|0)<=0){if(!i){i=v;break}}else{o=0;do{la=v+(o<<2)|0;ka=i+(o<<2)|0;ka=e[ka>>1]|e[ka+2>>1]<<16;b[la>>1]=ka;b[la+2>>1]=ka>>>16;o=o+1|0}while((o|0)!=(L|0))}c[6486]=(c[6486]|0)+1;Uc(c[i+-4>>2]|0);i=v}while(0);J=i+(L<<2)|0;b[J>>1]=(O&65535)<<16|P&65535;b[J+2>>1]=((O&65535)<<16|P&65535)>>>16;J=L+1|0;if((N|0)<(f|0)){do if((f|0)>(I|0)){do if((z|0)<(f|0)){do if(!f)o=0;else{c[6485]=(c[6485]|0)+1;h=ic((f<<2|3)+16|0)|0;if(!h){o=0;break}c[(h+4+15&-16)+-4>>2]=h;o=h+4+15&-16}while(0);if((I|0)<=0){if(!k){D=o;k=o;z=f;break}}else{h=0;do{c[o+(h<<2)>>2]=c[k+(h<<2)>>2];h=h+1|0}while((h|0)!=(I|0))}c[6486]=(c[6486]|0)+1;Uc(c[k+-4>>2]|0);D=o;k=o;z=f}while(0);Lk(k+(I<<2)|0,0,f-I<<2|0)|0;if((f|0)>(A|0)){do if((p|0)<(f|0)){do if(!f)o=0;else{c[6485]=(c[6485]|0)+1;h=ic((f<<2|3)+16|0)|0;if(!h){o=0;break}c[(h+4+15&-16)+-4>>2]=h;o=h+4+15&-16}while(0);if((A|0)<=0){if(!m){h=o;p=f;m=o;break}}else{h=0;do{c[o+(h<<2)>>2]=c[m+(h<<2)>>2];h=h+1|0}while((h|0)!=(A|0))}c[6486]=(c[6486]|0)+1;Uc(c[m+-4>>2]|0);h=o;p=f;m=o}else h=Q;while(0);Lk(m+(A<<2)|0,0,f-A<<2|0)|0;v=h}else v=Q;if((f|0)>0){la=f<<2;Lk(D|0,-1,la|0)|0;Lk(v|0,-1,la|0)|0}if((I|0)<=0){o=f;A=f;h=z;break}h=f+-1|0;o=0;do{la=k+(((e[i+(o<<2)+2>>1]<<16)+(b[i+(o<<2)>>1]|0)&h)<<2)|0;c[m+(o<<2)>>2]=c[la>>2];c[la>>2]=o;o=o+1|0}while((o|0)!=(I|0));o=f;A=f;h=z}else{v=Q;o=I;h=z}while(0);z=h;h=((O&65535)<<16)+(P<<16>>16)&f+-1}else{v=Q;o=I}I=k+(h<<2)|0;c[m+(E<<2)>>2]=c[I>>2];c[I>>2]=E;I=o;E=K}else{b[J+2>>1]=S;v=Q;f=N;J=L}while(0);if((R|0)>=(U|0))break;o=c[d+36>>2]|0;Q=v;N=f;L=J;h=R}h=c[d+28>>2]|0;o=J}else o=J;W=W+1|0;if((W|0)>=(h|0))break;else J=o}if((h|0)>0){y=c[d+36>>2]|0;z=c[d+16>>2]|0;q=0.0;A=0;do{p=c[y+(A*36|0)+4>>2]|0;v=c[y+(A*36|0)+12>>2]|0;f=c[v>>2]|0;if((p+-2|0)>=1){r=+g[d+64>>2];s=+g[d+68>>2];t=+g[d+72>>2];o=1;do{ka=c[v+(o<<2)>>2]|0;o=o+1|0;la=c[v+(((o|0)%(p|0)|0)<<2)>>2]|0;u=+g[z+(f<<4)>>2];w=+g[z+(ka<<4)>>2];B=+g[z+(f<<4)+4>>2];C=+g[z+(ka<<4)+4>>2];M=+g[z+(f<<4)+8>>2];V=+g[z+(ka<<4)+8>>2];x=+g[z+(la<<4)>>2];H=+g[z+(la<<4)+4>>2];ia=+g[z+(la<<4)+8>>2];ja=+G(+(((u-w)*(B-H)-(B-C)*(u-x))*((u-w)*(B-H)-(B-C)*(u-x))+(((B-C)*(M-ia)-(M-V)*(B-H))*((B-C)*(M-ia)-(M-V)*(B-H))+((M-V)*(u-x)-(u-w)*(M-ia))*((M-V)*(u-x)-(u-w)*(M-ia)))))*.5;r=r+(u+w+x)*.3333333432674408*ja;g[d+64>>2]=r;s=(B+C+H)*.3333333432674408*ja+s;g[d+68>>2]=s;t=ja*(M+V+ia)*.3333333432674408+t;g[d+72>>2]=t;q=q+ja}while((o|0)!=(p+-1|0))}A=A+1|0}while((A|0)!=(h|0));o=d+64|0;p=1;f=i;v=k}else ba=326}else{i=0;k=0;m=0;n=0;ba=326}if((ba|0)==326){q=0.0;o=d+64|0;p=0;f=i;v=k}t=1.0/q;u=t*+g[o>>2];g[o>>2]=u;s=t*+g[d+68>>2];g[d+68>>2]=s;t=t*+g[d+72>>2];g[d+72>>2]=t;g[d+96>>2]=3402823466385288598117041.0e14;if(p){i=c[d+36>>2]|0;r=3402823466385288598117041.0e14;k=0;while(1){q=+F(+(+g[i+(k*36|0)+32>>2]+(+g[i+(k*36|0)+20>>2]*u+ +g[i+(k*36|0)+24>>2]*s+ +g[i+(k*36|0)+28>>2]*t)));if(q<r)g[d+96>>2]=q;else q=r;k=k+1|0;if((k|0)>=(h|0))break;else r=q}}else q=3402823466385288598117041.0e14;h=c[d+8>>2]|0;if((h|0)>0){i=c[d+16>>2]|0;x=-3402823466385288598117041.0e14;w=-3402823466385288598117041.0e14;u=-3402823466385288598117041.0e14;t=3402823466385288598117041.0e14;s=3402823466385288598117041.0e14;r=3402823466385288598117041.0e14;k=0;do{ja=+g[i+(k<<4)>>2];t=ja<t?ja:t;x=ja>x?ja:x;ja=+g[i+(k<<4)+4>>2];s=ja<s?ja:s;w=ja>w?ja:w;ja=+g[i+(k<<4)+8>>2];r=ja<r?ja:r;u=ja>u?ja:u;k=k+1|0}while((k|0)!=(h|0))}else{x=-3402823466385288598117041.0e14;w=-3402823466385288598117041.0e14;u=-3402823466385288598117041.0e14;t=3402823466385288598117041.0e14;s=3402823466385288598117041.0e14;r=3402823466385288598117041.0e14}g[d+100>>2]=x+t;g[d+104>>2]=w+s;g[d+108>>2]=r+u;g[d+112>>2]=0.0;ja=x-t;ia=w-s;r=u-r;g[d+116>>2]=ja;g[d+120>>2]=ia;g[d+124>>2]=r;g[d+128>>2]=0.0;s=q/1.7320507764816284;o=ja<ia?(ia<r?2:1):ja<r?2:0;q=(+g[d+116+(o<<2)>>2]*.5-s)*.0009765625;g[d+88>>2]=s;g[d+84>>2]=s;g[d+80>>2]=s;r=+g[d+116+(o<<2)>>2]*.5;g[d+80+(o<<2)>>2]=r;h=0;while(1){if(Sg(d)|0){ba=432;break}r=r-q;g[d+80+(o<<2)>>2]=r;h=h+1|0;if((h|0)>=1024){ba=431;break}}n:do if((ba|0)==431){g[d+88>>2]=s;g[d+84>>2]=s;g[d+80>>2]=s}else if((ba|0)==432){q=(+g[d+96>>2]-s)*.0009765625;i=c[d+80+((1<<(1<<o&3)&3)<<2)>>2]|0;k=0;while(1){h=c[d+80+((1<<o&3)<<2)>>2]|0;g[d+80+((1<<o&3)<<2)>>2]=q+(c[j>>2]=h,+g[j>>2]);r=q+ +g[d+80+((1<<(1<<o&3)&3)<<2)>>2];g[d+80+((1<<(1<<o&3)&3)<<2)>>2]=r;k=k+1|0;if(!(Sg(d)|0))break;if((k|0)>=1024)break n;else i=(g[j>>2]=r,c[j>>2]|0)}c[d+80+((1<<o&3)<<2)>>2]=h;c[d+80+((1<<(1<<o&3)&3)<<2)>>2]=i}while(0);if(f|0){c[6486]=(c[6486]|0)+1;Uc(c[f+-4>>2]|0)}if(n|0){c[6486]=(c[6486]|0)+1;Uc(c[n+-4>>2]|0)}if(m|0){c[6486]=(c[6486]|0)+1;Uc(c[m+-4>>2]|0)}if(v|0){c[6486]=(c[6486]|0)+1;Uc(c[v+-4>>2]|0)}if(!((Y|0)==0|(X|0)==0)){c[6486]=(c[6486]|0)+1;Uc(c[X+-4>>2]|0)}o=c[_>>2]|0;p=c[Z>>2]|0;if((o|0)<=0){if(p|0)ba=453}else{n=0;do{i=p+(n*36|0)+4|0;k=p+(n*36|0)+12|0;m=c[k>>2]|0;h=p+(n*36|0)+16|0;if(m|0){if(a[h>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[m+-4>>2]|0)}c[k>>2]=0}a[h>>0]=1;c[k>>2]=0;c[i>>2]=0;c[p+(n*36|0)+8>>2]=0;n=n+1|0}while((n|0)!=(o|0));ba=453}if((ba|0)==453){if(a[ha+80+16>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[p+-4>>2]|0)}c[Z>>2]=0}a[ha+80+16>>0]=1;c[Z>>2]=0;c[_>>2]=0;c[ha+80+8>>2]=0;if(!(($|0)==0|(aa|0)==0)){c[6486]=(c[6486]|0)+1;Uc(c[aa+-4>>2]|0)}h=c[da>>2]|0;if(h|0){if(a[ha+184+56>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[h+-4>>2]|0)}c[da>>2]=0}a[ha+184+56>>0]=1;c[da>>2]=0;c[ha+184+44>>2]=0;c[ha+184+48>>2]=0;h=c[ea>>2]|0;if(h|0){if(a[ha+184+36>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[h+-4>>2]|0)}c[ea>>2]=0}a[ha+184+36>>0]=1;c[ea>>2]=0;c[ha+184+24>>2]=0;c[ha+184+28>>2]=0;h=c[fa>>2]|0;if(h|0){if(a[ha+184+16>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[h+-4>>2]|0)}c[fa>>2]=0}if(!ga){l=ha;return 1}c[6486]=(c[6486]|0)+1;Uc(c[ga+-4>>2]|0);l=ha;return 1}function $b(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0.0,v=0.0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0.0,H=0,K=0,L=0,M=0.0,N=0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0,U=0,V=0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0.0,pa=0,qa=0,ra=0,sa=0,ta=0;ta=l;l=l+784|0;j=c[b+20>>2]|0;if(!j){j=c[b+4>>2]|0;j=zb[c[(c[j>>2]|0)+12>>2]&63](j,c[d+8>>2]|0,c[e+8>>2]|0)|0;c[b+20>>2]=j;a[b+16>>0]=1}c[h+4>>2]=j;pa=c[d+4>>2]|0;qa=c[e+4>>2]|0;i=c[pa+4>>2]|0;k=c[qa+4>>2]|0;if((i|0)==10&(k|0)==10){S=+g[j+752>>2];ra=c[pa+52>>2]|0;r=+g[pa+28+(ra<<2)>>2];R=+g[pa+28+(((ra+2|0)%3|0)<<2)>>2];sa=c[qa+52>>2]|0;s=+g[qa+28+(sa<<2)>>2];Q=+g[qa+28+(((sa+2|0)%3|0)<<2)>>2];b=c[d+12>>2]|0;d=c[e+12>>2]|0;B=+g[b+(ra<<2)>>2];E=+g[b+16+(ra<<2)>>2];C=+g[b+32+(ra<<2)>>2];p=+g[d+(sa<<2)>>2];q=+g[d+16+(sa<<2)>>2];u=+g[d+32+(sa<<2)>>2];M=+g[d+48>>2];O=+g[d+52>>2];P=+g[d+56>>2];y=M-+g[b+48>>2];z=O-+g[b+52>>2];A=P-+g[b+56>>2];n=1.0-(B*p+E*q+C*u)*(B*p+E*q+C*u);if(!(n==0.0)){n=(B*y+E*z+C*A-(B*p+E*q+C*u)*(p*y+q*z+u*A))/n;if(!(n<-r)){if(n>r)n=r}else n=-r}else n=0.0;o=(B*p+E*q+C*u)*n-(p*y+q*z+u*A);if(o<-s){n=(B*p+E*q+C*u)*-s+(B*y+E*z+C*A);if(!(n<-r))if(n>r){n=r;o=-s}else o=-s;else{n=-r;o=-s}}else if(o>s){n=s*(B*p+E*q+C*u)+(B*y+E*z+C*A);if(!(n<-r))if(n>r){n=r;o=s}else o=s;else{n=-r;o=s}}x=p*o;v=q*o;u=u*o;o=x+(y-B*n);r=v+(z-E*n);n=u+(A-C*n);s=+G(+(n*n+(o*o+r*r)));if(!(s-R-Q>S)){do if(n*n+(o*o+r*r)<=1.4210854715202004e-14)if(+F(+C)>.7071067690849304){n=1.0/+G(+(E*E+C*C));g[ta+392>>2]=0.0;g[ta+392+4>>2]=-(C*n);q=E*n;i=2;p=0.0;o=-(C*n);n=E*n;break}else{o=1.0/+G(+(B*B+E*E));g[ta+392>>2]=-(E*o);g[ta+392+4>>2]=B*o;q=0.0;i=2;p=-(E*o);o=B*o;n=0.0;break}else{g[ta+392>>2]=o*-(1.0/s);g[ta+392+4>>2]=r*-(1.0/s);g[ta+392+8>>2]=n*-(1.0/s);q=0.0;i=3;p=o*-(1.0/s);o=r*-(1.0/s);n=n*-(1.0/s)}while(0);g[ta+392+(i<<2)>>2]=q;g[ta+376>>2]=Q*p+(x+M);g[ta+376+4>>2]=Q*o+(v+O);g[ta+376+8>>2]=Q*n+(u+P);g[ta+376+12>>2]=0.0}if(s-R-Q<S){Ub[c[(c[h>>2]|0)+16>>2]&15](h,ta+392|0,ta+376|0,s-R-Q);j=c[h+4>>2]|0}if(!(c[j+748>>2]|0)){l=ta;return}k=c[j+740>>2]|0;m=c[(c[h+8>>2]|0)+8>>2]|0;i=c[(c[h+12>>2]|0)+8>>2]|0;if((k|0)==(m|0)){Pe(j,k+4|0,i+4|0);l=ta;return}else{Pe(j,i+4|0,m+4|0);l=ta;return}}g[ta+120+128>>2]=999999984306749440.0;D=c[b+8>>2]|0;t=c[b+12>>2]|0;c[ta+40>>2]=9300;c[ta+40+4>>2]=0;c[ta+40+8>>2]=1065353216;c[ta+40+12>>2]=0;g[ta+40+16>>2]=0.0;c[ta+40+20>>2]=t;c[ta+40+24>>2]=D;c[ta+40+28>>2]=pa;c[ta+40+32>>2]=qa;c[ta+40+36>>2]=i;c[ta+40+40>>2]=k;g[ta+40+44>>2]=+Db[c[(c[pa>>2]|0)+48>>2]&15](pa);g[ta+40+48>>2]=+Db[c[(c[qa>>2]|0)+48>>2]&15](qa);a[ta+40+52>>0]=0;c[ta+40+60>>2]=-1;c[ta+40+72>>2]=1;c[ta+40+76>>2]=1;c[ta+40+28>>2]=pa;c[ta+40+32>>2]=qa;na=+Db[c[(c[pa>>2]|0)+48>>2]&15](pa);oa=+Db[c[(c[qa>>2]|0)+48>>2]&15](qa);oa=na+oa+ +g[(c[b+20>>2]|0)+752>>2];g[ta+120+128>>2]=oa*oa;D=c[d+12>>2]|0;c[ta+120>>2]=c[D>>2];c[ta+120+4>>2]=c[D+4>>2];c[ta+120+8>>2]=c[D+8>>2];c[ta+120+12>>2]=c[D+12>>2];k=ta+120+16|0;c[k>>2]=c[D+16>>2];c[k+4>>2]=c[D+16+4>>2];c[k+8>>2]=c[D+16+8>>2];c[k+12>>2]=c[D+16+12>>2];t=ta+120+32|0;c[t>>2]=c[D+32>>2];c[t+4>>2]=c[D+32+4>>2];c[t+8>>2]=c[D+32+8>>2];c[t+12>>2]=c[D+32+12>>2];w=ta+120+48|0;c[w>>2]=c[D+48>>2];c[w+4>>2]=c[D+48+4>>2];c[w+8>>2]=c[D+48+8>>2];c[w+12>>2]=c[D+48+12>>2];D=ta+120+64|0;i=c[e+12>>2]|0;c[D>>2]=c[i>>2];c[D+4>>2]=c[i+4>>2];c[D+8>>2]=c[i+8>>2];c[D+12>>2]=c[i+12>>2];H=ta+120+80|0;c[H>>2]=c[i+16>>2];c[H+4>>2]=c[i+16+4>>2];c[H+8>>2]=c[i+16+8>>2];c[H+12>>2]=c[i+16+12>>2];K=ta+120+96|0;c[K>>2]=c[i+32>>2];c[K+4>>2]=c[i+32+4>>2];c[K+8>>2]=c[i+32+8>>2];c[K+12>>2]=c[i+32+12>>2];L=ta+120+112|0;c[L>>2]=c[i+48>>2];c[L+4>>2]=c[i+48+4>>2];c[L+8>>2]=c[i+48+8>>2];c[L+12>>2]=c[i+48+12>>2];i=c[pa+4>>2]|0;if((i|0)<7?(m=c[qa+4>>2]|0,(m|0)<7):0){c[ta+372>>2]=6172;if(!i){i=m;o=0.0}else{o=+Db[c[(c[pa>>2]|0)+48>>2]&15](pa);i=c[qa+4>>2]|0}if(!i)n=0.0;else n=+Db[c[(c[qa>>2]|0)+48>>2]&15](qa);c[ta>>2]=6200;c[ta+4>>2]=h;g[ta+24>>2]=o;g[ta+28>>2]=n;a[ta+36>>0]=0;U=c[pa+52>>2]|0;a:do if(U|0){V=c[qa+52>>2]|0;do if(V){oa=+g[(c[b+20>>2]|0)+752>>2];if(!(a[f+24>>0]|0)){sc(ta+40|0,ta+120|0,ta,c[f+20>>2]|0,0);n=+g[ta+32>>2];if(n<0.0&(a[ta+36>>0]|0)!=0){q=+g[ta+8>>2];p=+g[ta+16>>2];i=c[ta+20>>2]|0;o=+g[ta+12>>2];ra=104}}else{w=c[d+12>>2]|0;D=c[e+12>>2]|0;c[6468]=(c[6468]|0)+1;ga=+g[U+64>>2];ha=+g[U+68>>2];n=+g[w+4>>2];ia=+g[U+72>>2];o=+g[w+8>>2];p=+g[w+16>>2];q=+g[w+20>>2];r=+g[w+24>>2];u=+g[w+32>>2];v=+g[w+36>>2];x=+g[w+40>>2];ja=+g[V+64>>2];ka=+g[V+68>>2];na=+g[V+72>>2];la=ga*+g[w>>2]+ha*n+ia*o+ +g[w+48>>2]-(ja*+g[D>>2]+ka*+g[D+4>>2]+na*+g[D+8>>2]+ +g[D+48>>2]);ma=ga*p+ha*q+ia*r+ +g[w+52>>2]-(ja*+g[D+16>>2]+ka*+g[D+20>>2]+na*+g[D+24>>2]+ +g[D+52>>2]);na=ga*u+ha*v+ia*x+ +g[w+56>>2]-(ja*+g[D+32>>2]+ka*+g[D+36>>2]+na*+g[D+40>>2]+ +g[D+56>>2]);k=c[U+28>>2]|0;b:do if((k|0)>0){s=0.0;E=n;B=o;C=p;A=q;z=v;y=x;n=3402823466385288598117041.0e14;j=0;q=0.0;p=0.0;o=0.0;while(1){f=c[U+36>>2]|0;ia=+g[f+(j*36|0)+20>>2];ja=+g[f+(j*36|0)+24>>2];ka=+g[f+(j*36|0)+28>>2];x=ia*+g[w>>2]+ja*E+ka*B;v=ia*C+ja*A+ka*r;r=ia*u+ja*z+ka*y;g[ta+320>>2]=x;g[ta+320+4>>2]=v;g[ta+320+8>>2]=r;g[ta+320+12>>2]=0.0;if(la*x+ma*v+na*r<0.0){g[ta+320>>2]=-x;g[ta+320+4>>2]=-v;g[ta+320+8>>2]=-r;A=-x;r=-r;v=-v}else A=x;c[6466]=(c[6466]|0)+1;do if(qi(w,D,la,ma,na,A,v,r,U,V,n)|0){c[6467]=(c[6467]|0)+1;Tg(U,w,ta+320|0,ta+720|0,ta+480|0,ta+456|0,ta+440|0);Tg(V,D,ta+320|0,ta+476|0,ta+472|0,ta+424|0,ta+408|0);u=+g[ta+480>>2];x=+g[ta+476>>2];do if(u<x)i=0;else{y=+g[ta+472>>2];z=+g[ta+720>>2];if(y<z){i=0;break}i=1;s=u-x<y-z?u-x:y-z}while(0);if(!i){i=0;break b}if(!(s<n)){u=s;break}u=s;n=s;q=A;p=r;o=v}else u=s;while(0);i=j+1|0;if((i|0)>=(k|0)){ra=51;break b}s=u;E=+g[w+4>>2];B=+g[w+8>>2];C=+g[w+16>>2];A=+g[w+20>>2];r=+g[w+24>>2];u=+g[w+32>>2];z=+g[w+36>>2];y=+g[w+40>>2];j=i}}else{n=3402823466385288598117041.0e14;q=0.0;p=0.0;o=0.0;ra=51}while(0);c:do if((ra|0)==51){k=c[V+28>>2]|0;if((k|0)>0){r=0.0;j=0;y=q;z=p;A=o;while(1){f=c[V+36>>2]|0;ja=+g[f+(j*36|0)+20>>2];ka=+g[f+(j*36|0)+24>>2];p=+g[f+(j*36|0)+28>>2];q=ja*+g[D>>2]+ka*+g[D+4>>2]+p*+g[D+8>>2];o=ja*+g[D+16>>2]+ka*+g[D+20>>2]+p*+g[D+24>>2];p=ja*+g[D+32>>2]+ka*+g[D+36>>2]+p*+g[D+40>>2];g[ta+304>>2]=q;g[ta+304+4>>2]=o;g[ta+304+8>>2]=p;g[ta+304+12>>2]=0.0;if(la*q+ma*o+na*p<0.0){g[ta+304>>2]=-q;g[ta+304+4>>2]=-o;g[ta+304+8>>2]=-p;q=-q;p=-p;o=-o}c[6466]=(c[6466]|0)+1;do if(qi(w,D,la,ma,na,q,o,p,U,V,n)|0){c[6467]=(c[6467]|0)+1;Tg(U,w,ta+304|0,ta+720|0,ta+480|0,ta+456|0,ta+440|0);Tg(V,D,ta+304|0,ta+476|0,ta+472|0,ta+424|0,ta+408|0);s=+g[ta+480>>2];u=+g[ta+476>>2];do if(s<u)i=0;else{v=+g[ta+472>>2];x=+g[ta+720>>2];if(v<x){i=0;break}i=1;r=s-u<v-x?s-u:v-x}while(0);if(!i){i=0;q=y;p=z;o=A;break c}if(!(r<n)){s=r;q=y;p=z;o=A;break}s=r;n=r}else{s=r;q=y;p=z;o=A}while(0);j=j+1|0;if((j|0)>=(k|0))break;else{r=s;y=q;z=p;A=o}}}i=c[U+48>>2]|0;if((i|0)>0){u=0.0;C=0.0;E=0.0;M=0.0;y=0.0;z=0.0;A=0.0;B=0.0;r=0.0;s=0.0;_=0.0;Z=0.0;Y=0.0;v=0.0;x=0.0;O=0.0;P=0.0;Q=0.0;R=0.0;k=c[V+48>>2]|0;t=0;j=-1;m=-1;while(1){f=c[U+56>>2]|0;ga=+g[f+(t<<4)>>2];ha=+g[f+(t<<4)+4>>2];ka=+g[f+(t<<4)+8>>2];ia=ga*+g[w>>2]+ha*+g[w+4>>2]+ka*+g[w+8>>2];ja=ga*+g[w+16>>2]+ha*+g[w+20>>2]+ka*+g[w+24>>2];ka=ga*+g[w+32>>2]+ha*+g[w+36>>2]+ka*+g[w+40>>2];if((k|0)>0){ha=u;ca=y;ba=z;aa=A;ga=B;da=x;k=0;while(1){f=c[V+56>>2]|0;ea=+g[f+(k<<4)>>2];fa=+g[f+(k<<4)+4>>2];W=+g[f+(k<<4)+8>>2];$=ea*+g[D>>2]+fa*+g[D+4>>2]+W*+g[D+8>>2];X=ea*+g[D+16>>2]+fa*+g[D+20>>2]+W*+g[D+24>>2];W=ea*+g[D+32>>2]+fa*+g[D+36>>2]+W*+g[D+40>>2];g[ta+288>>2]=ja*W-ka*X;g[ta+288+4>>2]=ka*$-ia*W;g[ta+288+8>>2]=ia*X-ja*$;g[ta+288+12>>2]=0.0;do if(!(+F(+(ja*W-ka*X))>1.0e-06)){if(+F(+(ka*$-ia*W))>1.0e-06){ra=69;break}if(!(+F(+(ia*X-ja*$))>1.0e-06)){X=da;da=Y;ea=Z;fa=_;W=ga;A=aa;z=ba;$=ca;S=ha}else ra=69}else ra=69;while(0);do if((ra|0)==69){ra=0;x=1.0/+G(+((ja*W-ka*X)*(ja*W-ka*X)+(ka*$-ia*W)*(ka*$-ia*W)+(ia*X-ja*$)*(ia*X-ja*$)));u=(ja*W-ka*X)*x;g[ta+288>>2]=u;y=(ka*$-ia*W)*x;g[ta+288+4>>2]=y;x=(ia*X-ja*$)*x;g[ta+288+8>>2]=x;if(la*u+ma*y+na*x<0.0){g[ta+288>>2]=-u;g[ta+288+4>>2]=-y;g[ta+288+8>>2]=-x;u=-u;x=-x;y=-y}c[6466]=(c[6466]|0)+1;if(!(qi(w,D,la,ma,na,u,y,x,U,V,n)|0)){X=da;da=Y;ea=Z;fa=_;W=ga;A=aa;z=ba;$=ca;S=ha;break}c[6467]=(c[6467]|0)+1;Tg(U,w,ta+288|0,ta+720|0,ta+480|0,ta+456|0,ta+440|0);Tg(V,D,ta+288|0,ta+476|0,ta+472|0,ta+424|0,ta+408|0);z=+g[ta+480>>2];A=+g[ta+476>>2];do if(!(z<A)){B=+g[ta+472>>2];S=+g[ta+720>>2];if(B<S){i=0;B=ha;break}if(z-A<B-S){i=1;Y=+g[ta+440+8>>2];Z=+g[ta+440+4>>2];_=+g[ta+440>>2];aa=+g[ta+424+8>>2];ba=+g[ta+424+4>>2];ca=+g[ta+424>>2];B=z-A;break}else{i=1;Y=+g[ta+456+8>>2];Z=+g[ta+456+4>>2];_=+g[ta+456>>2];aa=+g[ta+408+8>>2];ba=+g[ta+408+4>>2];ca=+g[ta+408>>2];B=B-S;break}}else{i=0;B=ha}while(0);if(!i){i=0;break c}if(!(B<n)){X=da;da=Y;ea=Z;fa=_;W=ga;A=aa;z=ba;$=ca;S=B;break}R=ka;Q=ja;P=ia;O=W;v=$;da=Y;ea=Z;fa=_;s=Y;r=Z;W=_;A=aa;z=ba;$=ca;M=aa;E=ba;C=ca;S=B;n=B;j=t;m=k;q=u;p=x;o=y}while(0);k=k+1|0;i=c[V+48>>2]|0;if((k|0)>=(i|0))break;else{ha=S;ca=$;ba=z;aa=A;ga=W;_=fa;Z=ea;Y=da;da=X}}x=X;Y=da;Z=ea;_=fa;B=W;y=$;u=S;k=i;i=c[U+48>>2]|0}t=t+1|0;if((t|0)>=(i|0)){n=B;i=m;break}}}else{R=0.0;Q=0.0;P=0.0;O=0.0;x=0.0;v=0.0;s=0.0;r=0.0;n=0.0;M=0.0;E=0.0;C=0.0;j=-1;i=-1}do if((i|j|0)>-1){z=C-n;A=E-r;B=M-s;r=R*O+(Q*x+P*v);s=R*B+(Q*A+P*z);n=O*B+(x*A+v*z);do if(1.0-r*r==0.0)u=0.0;else{if((s-r*n)/(1.0-r*r)<-1000000015047466219876688.0e6){u=-1000000015047466219876688.0e6;break}if(!((s-r*n)/(1.0-r*r)>1000000015047466219876688.0e6)){u=(s-r*n)/(1.0-r*r);break}u=1000000015047466219876688.0e6}while(0);n=r*u-n;do if(n<-1000000015047466219876688.0e6){if(s-r*1000000015047466219876688.0e6<-1000000015047466219876688.0e6){r=-1000000015047466219876688.0e6;n=-1000000015047466219876688.0e6;break}if(!(s-r*1000000015047466219876688.0e6>1000000015047466219876688.0e6)){r=s-r*1000000015047466219876688.0e6;n=-1000000015047466219876688.0e6;break}r=1000000015047466219876688.0e6;n=-1000000015047466219876688.0e6}else{if(!(n>1000000015047466219876688.0e6)){r=u;break}if(r*1000000015047466219876688.0e6+s<-1000000015047466219876688.0e6){r=-1000000015047466219876688.0e6;n=1000000015047466219876688.0e6;break}if(!(r*1000000015047466219876688.0e6+s>1000000015047466219876688.0e6)){r=r*1000000015047466219876688.0e6+s;n=1000000015047466219876688.0e6;break}r=1000000015047466219876688.0e6;n=1000000015047466219876688.0e6}while(0);y=v*n;x=x*n;v=O*n;u=y+(z-P*r);s=x+(A-Q*r);n=v+(B-R*r);g[ta+272>>2]=u;g[ta+272+4>>2]=s;g[ta+272+8>>2]=n;g[ta+272+12>>2]=0.0;if(!(u*u+s*s+n*n>1.1920928955078125e-07))break;r=+G(+(u*u+s*s+n*n));g[ta+272>>2]=u*(1.0/r);g[ta+272+4>>2]=1.0/r*s;g[ta+272+8>>2]=1.0/r*n;if(u*(1.0/r)*la+1.0/r*s*ma+1.0/r*n*na<0.0){g[ta+272>>2]=-(u*(1.0/r));g[ta+272+4>>2]=-(1.0/r*s);g[ta+272+8>>2]=-(1.0/r*n)}g[ta+256>>2]=C+y;g[ta+256+4>>2]=E+x;g[ta+256+8>>2]=M+v;g[ta+256+12>>2]=0.0;Ub[c[(c[h>>2]|0)+16>>2]&15](h,ta+272|0,ta+256|0,-r)}while(0);if(la*q+ma*o+na*p<0.0){i=1;q=-q;p=-p;o=-o}else i=1}while(0);if(i){n=-1000000015047466219876688.0e6;i=0;ra=104}}if((ra|0)==104){V=c[pa+52>>2]|0;U=c[qa+52>>2]|0;f=c[d+12>>2]|0;T=c[e+12>>2]|0;O=n-oa;C=1.0/+G(+(q*q+o*o+p*p));M=q*C;E=o*C;C=p*C;g[ta+720>>2]=M;g[ta+720+4>>2]=E;g[ta+720+8>>2]=C;c[ta+720+12>>2]=i;j=c[U+28>>2]|0;t=c[U+36>>2]|0;if((j|0)>0){n=+g[T>>2];o=+g[T+4>>2];p=+g[T+8>>2];q=+g[T+16>>2];r=+g[T+20>>2];s=+g[T+24>>2];u=+g[T+32>>2];v=+g[T+36>>2];x=+g[T+40>>2];i=-1;B=-3402823466385288598117041.0e14;m=0;while(1){y=+g[t+(m*36|0)+20>>2];z=+g[t+(m*36|0)+24>>2];A=+g[t+(m*36|0)+28>>2];k=(y*n+z*o+A*p)*M+(y*q+z*r+A*s)*E+(y*u+z*v+A*x)*C>B;i=k?m:i;m=m+1|0;if((m|0)==(j|0)){L=i;break}else B=k?(y*n+z*o+A*p)*M+(y*q+z*r+A*s)*E+(y*u+z*v+A*x)*C:B}}else L=-1;a[ta+480+16>>0]=1;N=ta+480+12|0;c[N>>2]=0;H=ta+480+4|0;c[H>>2]=0;c[ta+480+8>>2]=0;K=c[t+(L*36|0)+4>>2]|0;d:do if((K|0)>0){D=t+(L*36|0)+12|0;i=0;k=0;j=0;while(1){d=c[(c[D>>2]|0)+(j<<2)>>2]|0;e=c[U+16>>2]|0;ma=+g[e+(d<<4)>>2];na=+g[e+(d<<4)+4>>2];p=+g[e+(d<<4)+8>>2];n=ma*+g[T>>2]+na*+g[T+4>>2]+p*+g[T+8>>2]+ +g[T+48>>2];o=ma*+g[T+16>>2]+na*+g[T+20>>2]+p*+g[T+24>>2]+ +g[T+52>>2];p=ma*+g[T+32>>2]+na*+g[T+36>>2]+p*+g[T+40>>2]+ +g[T+56>>2];if((i|0)==(k|0)){w=k|0?k<<1:1;if((k|0)<(w|0)){if(!w){t=0;i=k}else{c[6485]=(c[6485]|0)+1;i=ic((w<<4|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}t=i;i=c[H>>2]|0}m=c[N>>2]|0;if((i|0)<=0){if(m)ra=118}else{k=0;do{d=t+(k<<4)|0;e=m+(k<<4)|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];k=k+1|0}while((k|0)!=(i|0));ra=118}if((ra|0)==118){ra=0;if(a[ta+480+16>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[m+-4>>2]|0);i=c[H>>2]|0}c[N>>2]=0}a[ta+480+16>>0]=1;c[N>>2]=t;c[ta+480+8>>2]=w}else i=k}d=c[N>>2]|0;g[d+(i<<4)>>2]=n;g[d+(i<<4)+4>>2]=o;g[d+(i<<4)+8>>2]=p;g[d+(i<<4)+12>>2]=0.0;i=(c[H>>2]|0)+1|0;c[H>>2]=i;j=j+1|0;if((j|0)>=(K|0))break d;k=c[ta+480+8>>2]|0}}while(0);if((L|0)>-1)Fc(ta+720|0,V,f,ta+480|0,O,oa,h);i=c[N>>2]|0;if(i|0){if(a[ta+480+16>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[i+-4>>2]|0)}c[N>>2]=0}}if(a[b+16>>0]|0?(sa=c[h+4>>2]|0,c[sa+748>>2]|0):0){j=c[sa+740>>2]|0;k=c[(c[h+8>>2]|0)+8>>2]|0;i=c[(c[h+12>>2]|0)+8>>2]|0;if((j|0)==(k|0)){Pe(sa,j+4|0,i+4|0);break}else{Pe(sa,i+4|0,k+4|0);break}}}else{if((c[qa+4>>2]|0)!=1)break a;t=ta+352+16|0;a[t>>0]=1;w=ta+352+12|0;c[w>>2]=0;D=ta+352+4|0;c[D>>2]=0;H=ta+352+8|0;c[H>>2]=0;i=c[e+12>>2]|0;na=+g[qa+56>>2];oa=+g[qa+56+4>>2];p=+g[qa+56+8>>2];n=na*+g[i>>2]+oa*+g[i+4>>2]+p*+g[i+8>>2]+ +g[i+48>>2];o=na*+g[i+16>>2]+oa*+g[i+20>>2]+p*+g[i+24>>2]+ +g[i+52>>2];p=na*+g[i+32>>2]+oa*+g[i+36>>2]+p*+g[i+40>>2]+ +g[i+56>>2];c[6485]=(c[6485]|0)+1;i=ic(35)|0;if(!i)k=0;else{c[(i+4+15&-16)+-4>>2]=i;k=i+4+15&-16}i=c[D>>2]|0;if((i|0)>0){j=0;do{sa=k+(j<<4)|0;ra=(c[w>>2]|0)+(j<<4)|0;c[sa>>2]=c[ra>>2];c[sa+4>>2]=c[ra+4>>2];c[sa+8>>2]=c[ra+8>>2];c[sa+12>>2]=c[ra+12>>2];j=j+1|0}while((j|0)!=(i|0))}i=c[w>>2]|0;if(i|0){if(a[t>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[i+-4>>2]|0)}c[w>>2]=0}a[t>>0]=1;c[w>>2]=k;c[H>>2]=1;i=c[D>>2]|0;g[k+(i<<4)>>2]=n;g[k+(i<<4)+4>>2]=o;g[k+(i<<4)+8>>2]=p;g[k+(i<<4)+12>>2]=0.0;i=(c[D>>2]|0)+1|0;c[D>>2]=i;sa=c[e+12>>2]|0;na=+g[qa+56+16>>2];oa=+g[qa+56+20>>2];p=+g[qa+56+24>>2];n=na*+g[sa>>2]+oa*+g[sa+4>>2]+p*+g[sa+8>>2]+ +g[sa+48>>2];o=na*+g[sa+16>>2]+oa*+g[sa+20>>2]+p*+g[sa+24>>2]+ +g[sa+52>>2];p=na*+g[sa+32>>2]+oa*+g[sa+36>>2]+p*+g[sa+40>>2]+ +g[sa+56>>2];if((i|0)==(c[H>>2]|0)?(N=i|0?i<<1:1,(i|0)<(N|0)):0){if(!N)k=0;else{c[6485]=(c[6485]|0)+1;i=ic((N<<4|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}k=i;i=c[D>>2]|0}if((i|0)>0){j=0;do{sa=k+(j<<4)|0;ra=(c[w>>2]|0)+(j<<4)|0;c[sa>>2]=c[ra>>2];c[sa+4>>2]=c[ra+4>>2];c[sa+8>>2]=c[ra+8>>2];c[sa+12>>2]=c[ra+12>>2];j=j+1|0}while((j|0)!=(i|0))}i=c[w>>2]|0;if(i|0){if(a[t>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[i+-4>>2]|0)}c[w>>2]=0}a[t>>0]=1;c[w>>2]=k;c[H>>2]=N;i=c[D>>2]|0}sa=c[w>>2]|0;g[sa+(i<<4)>>2]=n;g[sa+(i<<4)+4>>2]=o;g[sa+(i<<4)+8>>2]=p;g[sa+(i<<4)+12>>2]=0.0;i=(c[D>>2]|0)+1|0;c[D>>2]=i;sa=c[e+12>>2]|0;na=+g[qa+56+32>>2];oa=+g[qa+56+36>>2];p=+g[qa+56+40>>2];n=na*+g[sa>>2]+oa*+g[sa+4>>2]+p*+g[sa+8>>2]+ +g[sa+48>>2];o=na*+g[sa+16>>2]+oa*+g[sa+20>>2]+p*+g[sa+24>>2]+ +g[sa+52>>2];p=na*+g[sa+32>>2]+oa*+g[sa+36>>2]+p*+g[sa+40>>2]+ +g[sa+56>>2];if((i|0)==(c[H>>2]|0)?(T=i|0?i<<1:1,(i|0)<(T|0)):0){if(!T)k=0;else{c[6485]=(c[6485]|0)+1;i=ic((T<<4|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}k=i;i=c[D>>2]|0}if((i|0)>0){j=0;do{sa=k+(j<<4)|0;e=(c[w>>2]|0)+(j<<4)|0;c[sa>>2]=c[e>>2];c[sa+4>>2]=c[e+4>>2];c[sa+8>>2]=c[e+8>>2];c[sa+12>>2]=c[e+12>>2];j=j+1|0}while((j|0)!=(i|0))}i=c[w>>2]|0;if(i|0){if(a[t>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[i+-4>>2]|0)}c[w>>2]=0}a[t>>0]=1;c[w>>2]=k;c[H>>2]=T;i=c[D>>2]|0}sa=c[w>>2]|0;g[sa+(i<<4)>>2]=n;g[sa+(i<<4)+4>>2]=o;g[sa+(i<<4)+8>>2]=p;g[sa+(i<<4)+12>>2]=0.0;c[D>>2]=(c[D>>2]|0)+1;q=+g[(c[b+20>>2]|0)+752>>2];sc(ta+40|0,ta+120|0,ta+372|0,c[f+20>>2]|0,0);n=+g[ta+40+4>>2];o=+g[ta+40+8>>2];p=+g[ta+40+12>>2];if(n*n+o*o+p*p>1.1920928955078125e-07){na=1.0/(n*n+o*o+p*p);g[ta+336>>2]=n*na;g[ta+336+4>>2]=o*na;g[ta+336+8>>2]=p*na;g[ta+336+12>>2]=0.0;na=+g[ta+40+56>>2];oa=+Db[c[(c[pa>>2]|0)+48>>2]&15](pa);oa=na-oa-+Db[c[(c[qa>>2]|0)+48>>2]&15](qa);Fc(ta+336|0,c[pa+52>>2]|0,c[d+12>>2]|0,ta+352|0,oa-q,q,h)}do if(a[b+16>>0]|0){j=c[h+4>>2]|0;if(!(c[j+748>>2]|0))break;k=c[j+740>>2]|0;m=c[(c[h+8>>2]|0)+8>>2]|0;i=c[(c[h+12>>2]|0)+8>>2]|0;if((k|0)==(m|0)){Pe(j,k+4|0,i+4|0);break}else{Pe(j,i+4|0,m+4|0);break}}while(0);i=c[w>>2]|0;if(i|0){if(a[t>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[i+-4>>2]|0)}c[w>>2]=0}a[t>>0]=1;c[w>>2]=0;c[D>>2]=0;c[H>>2]=0}while(0);l=ta;return}while(0)}sc(ta+40|0,ta+120|0,h,c[f+20>>2]|0,0);if((c[b+28>>2]|0?(c[(c[h+4>>2]|0)+748>>2]|0)<(c[b+32>>2]|0):0)?(B=+g[ta+40+4>>2],C=+g[ta+40+8>>2],E=+g[ta+40+12>>2],B*B+C*C+E*E>1.1920928955078125e-07):0){A=1.0/(B*B+C*C+E*E);if(+F(+(E*A))>.7071067690849304){q=1.0/+G(+(E*A*E*A+C*A*C*A));o=0.0;p=-(E*A*q);q=C*A*q}else{p=1.0/+G(+(B*A*B*A+C*A*C*A));o=-(C*A*p);p=B*A*p;q=0.0}z=+Db[c[(c[pa>>2]|0)+16>>2]&15](pa);y=+Db[c[(c[qa>>2]|0)+16>>2]&15](qa);n=.019999999552965164/(z<y?z:y);if(z<y){c[ta+720>>2]=c[ta+120>>2];c[ta+720+4>>2]=c[ta+120+4>>2];c[ta+720+8>>2]=c[ta+120+8>>2];c[ta+720+12>>2]=c[ta+120+12>>2];c[ta+720+16>>2]=c[k>>2];c[ta+720+16+4>>2]=c[k+4>>2];c[ta+720+16+8>>2]=c[k+8>>2];c[ta+720+16+12>>2]=c[k+12>>2];c[ta+720+32>>2]=c[t>>2];c[ta+720+32+4>>2]=c[t+4>>2];c[ta+720+32+8>>2]=c[t+8>>2];c[ta+720+32+12>>2]=c[t+12>>2];c[ta+720+48>>2]=c[w>>2];c[ta+720+48+4>>2]=c[w+4>>2];c[ta+720+48+8>>2]=c[w+8>>2];c[ta+720+48+12>>2]=c[w+12>>2]}else{c[ta+720>>2]=c[D>>2];c[ta+720+4>>2]=c[D+4>>2];c[ta+720+8>>2]=c[D+8>>2];c[ta+720+12>>2]=c[D+12>>2];c[ta+720+16>>2]=c[H>>2];c[ta+720+16+4>>2]=c[H+4>>2];c[ta+720+16+8>>2]=c[H+8>>2];c[ta+720+16+12>>2]=c[H+12>>2];c[ta+720+32>>2]=c[K>>2];c[ta+720+32+4>>2]=c[K+4>>2];c[ta+720+32+8>>2]=c[K+8>>2];c[ta+720+32+12>>2]=c[K+12>>2];c[ta+720+48>>2]=c[L>>2];c[ta+720+48+4>>2]=c[L+4>>2];c[ta+720+48+8>>2]=c[L+8>>2];c[ta+720+48+12>>2]=c[L+12>>2]}i=c[b+28>>2]|0;if((i|0)>0?(r=q*q+(p*p+o*o),s=n>.39269909262657166?.19634954631328583:n*.5,r>1.1920928955078125e-07):0){u=+J(+s)/+G(+r);x=o*u;v=p*u;u=q*u;r=+I(+s);s=+G(+(E*A*E*A+(B*A*B*A+C*A*C*A)));j=0;do{q=+(j|0)*(6.2831854820251465/+(i|0))*.5;p=+J(+q)/s;n=B*A*p;o=C*A*p;p=E*A*p;q=+I(+q);if(z<y){ka=p*(x*-p+(r*-o+v*q)-u*-n)+(n*(r*q-x*-n-v*-o-u*-p)+q*(u*-o+(x*q+r*-n)-v*-p))-o*(v*-n+(u*q+r*-p)-x*-o);ma=n*(v*-n+(u*q+r*-p)-x*-o)+(q*(x*-p+(r*-o+v*q)-u*-n)+o*(r*q-x*-n-v*-o-u*-p))-p*(u*-o+(x*q+r*-n)-v*-p);$=o*(u*-o+(x*q+r*-n)-v*-p)+(p*(r*q-x*-n-v*-o-u*-p)+q*(v*-n+(u*q+r*-p)-x*-o))-n*(x*-p+(r*-o+v*q)-u*-n);ia=q*(r*q-x*-n-v*-o-u*-p)-n*(u*-o+(x*q+r*-n)-v*-p)-o*(x*-p+(r*-o+v*q)-u*-n)-p*(v*-n+(u*q+r*-p)-x*-o);la=ka*(2.0/(ia*ia+($*$+(ka*ka+ma*ma))));na=ma*(2.0/(ia*ia+($*$+(ka*ka+ma*ma))));ha=$*(2.0/(ia*ia+($*$+(ka*ka+ma*ma))));sa=c[d+12>>2]|0;aa=+g[sa>>2];ba=+g[sa+16>>2];ca=+g[sa+32>>2];da=+g[sa+4>>2];ea=+g[sa+20>>2];fa=+g[sa+36>>2];ga=+g[sa+8>>2];ja=+g[sa+24>>2];oa=+g[sa+40>>2];g[ta+120>>2]=(ka*ha+ia*na)*ca+(ba*(ka*na-ia*ha)+aa*(1.0-(ma*na+$*ha)));g[ta+120+4>>2]=(1.0-(ma*na+$*ha))*da+(ka*na-ia*ha)*ea+(ka*ha+ia*na)*fa;g[ta+120+8>>2]=(1.0-(ma*na+$*ha))*ga+(ka*na-ia*ha)*ja+(ka*ha+ia*na)*oa;g[ta+120+12>>2]=0.0;g[ta+120+16>>2]=(ma*ha-ia*la)*ca+(aa*(ka*na+ia*ha)+ba*(1.0-(ka*la+$*ha)));g[ta+120+20>>2]=(ka*na+ia*ha)*da+(1.0-(ka*la+$*ha))*ea+(ma*ha-ia*la)*fa;g[ta+120+24>>2]=(ka*na+ia*ha)*ga+(1.0-(ka*la+$*ha))*ja+(ma*ha-ia*la)*oa;g[ta+120+28>>2]=0.0;g[ta+120+32>>2]=aa*(ka*ha-ia*na)+ba*(ma*ha+ia*la)+ca*(1.0-(ka*la+ma*na));g[ta+120+36>>2]=(ka*ha-ia*na)*da+(ma*ha+ia*la)*ea+(1.0-(ka*la+ma*na))*fa;g[ta+120+40>>2]=(ka*ha-ia*na)*ga+(ma*ha+ia*la)*ja+(1.0-(ka*la+ma*na))*oa;g[ta+120+44>>2]=0.0;sa=c[e+12>>2]|0;c[D>>2]=c[sa>>2];c[D+4>>2]=c[sa+4>>2];c[D+8>>2]=c[sa+8>>2];c[D+12>>2]=c[sa+12>>2];c[H>>2]=c[sa+16>>2];c[H+4>>2]=c[sa+16+4>>2];c[H+8>>2]=c[sa+16+8>>2];c[H+12>>2]=c[sa+16+12>>2];c[K>>2]=c[sa+32>>2];c[K+4>>2]=c[sa+32+4>>2];c[K+8>>2]=c[sa+32+8>>2];c[K+12>>2]=c[sa+32+12>>2];c[L>>2]=c[sa+48>>2];c[L+4>>2]=c[sa+48+4>>2];c[L+8>>2]=c[sa+48+8>>2];c[L+12>>2]=c[sa+48+12>>2]}else{sa=c[d+12>>2]|0;c[ta+120>>2]=c[sa>>2];c[ta+120+4>>2]=c[sa+4>>2];c[ta+120+8>>2]=c[sa+8>>2];c[ta+120+12>>2]=c[sa+12>>2];c[k>>2]=c[sa+16>>2];c[k+4>>2]=c[sa+16+4>>2];c[k+8>>2]=c[sa+16+8>>2];c[k+12>>2]=c[sa+16+12>>2];c[t>>2]=c[sa+32>>2];c[t+4>>2]=c[sa+32+4>>2];c[t+8>>2]=c[sa+32+8>>2];c[t+12>>2]=c[sa+32+12>>2];c[w>>2]=c[sa+48>>2];c[w+4>>2]=c[sa+48+4>>2];c[w+8>>2]=c[sa+48+8>>2];c[w+12>>2]=c[sa+48+12>>2];ka=p*(x*-p+(r*-o+v*q)-u*-n)+(n*(r*q-x*-n-v*-o-u*-p)+q*(u*-o+(x*q+r*-n)-v*-p))-o*(v*-n+(u*q+r*-p)-x*-o);ma=n*(v*-n+(u*q+r*-p)-x*-o)+(q*(x*-p+(r*-o+v*q)-u*-n)+o*(r*q-x*-n-v*-o-u*-p))-p*(u*-o+(x*q+r*-n)-v*-p);$=o*(u*-o+(x*q+r*-n)-v*-p)+(p*(r*q-x*-n-v*-o-u*-p)+q*(v*-n+(u*q+r*-p)-x*-o))-n*(x*-p+(r*-o+v*q)-u*-n);ia=q*(r*q-x*-n-v*-o-u*-p)-n*(u*-o+(x*q+r*-n)-v*-p)-o*(x*-p+(r*-o+v*q)-u*-n)-p*(v*-n+(u*q+r*-p)-x*-o);la=ka*(2.0/(ia*ia+($*$+(ka*ka+ma*ma))));na=ma*(2.0/(ia*ia+($*$+(ka*ka+ma*ma))));ha=$*(2.0/(ia*ia+($*$+(ka*ka+ma*ma))));sa=c[e+12>>2]|0;aa=+g[sa>>2];ba=+g[sa+16>>2];ca=+g[sa+32>>2];da=+g[sa+4>>2];ea=+g[sa+20>>2];fa=+g[sa+36>>2];ga=+g[sa+8>>2];ja=+g[sa+24>>2];oa=+g[sa+40>>2];g[ta+120+64>>2]=(ka*ha+ia*na)*ca+(ba*(ka*na-ia*ha)+aa*(1.0-(ma*na+$*ha)));g[ta+120+68>>2]=(1.0-(ma*na+$*ha))*da+(ka*na-ia*ha)*ea+(ka*ha+ia*na)*fa;g[ta+120+72>>2]=(1.0-(ma*na+$*ha))*ga+(ka*na-ia*ha)*ja+(ka*ha+ia*na)*oa;g[ta+120+76>>2]=0.0;g[ta+120+80>>2]=(ma*ha-ia*la)*ca+(aa*(ka*na+ia*ha)+ba*(1.0-(ka*la+$*ha)));g[ta+120+84>>2]=(ka*na+ia*ha)*da+(1.0-(ka*la+$*ha))*ea+(ma*ha-ia*la)*fa;g[ta+120+88>>2]=(ka*na+ia*ha)*ga+(1.0-(ka*la+$*ha))*ja+(ma*ha-ia*la)*oa;g[ta+120+92>>2]=0.0;g[ta+120+96>>2]=aa*(ka*ha-ia*na)+ba*(ma*ha+ia*la)+ca*(1.0-(ka*la+ma*na));g[ta+120+100>>2]=(ka*ha-ia*na)*da+(ma*ha+ia*la)*ea+(1.0-(ka*la+ma*na))*fa;g[ta+120+104>>2]=(ka*ha-ia*na)*ga+(ma*ha+ia*la)*ja+(1.0-(ka*la+ma*na))*oa;g[ta+120+108>>2]=0.0}i=c[f+20>>2]|0;c[ta+480>>2]=6228;c[ta+480+32>>2]=h;c[ta+480+36>>2]=c[ta+120>>2];c[ta+480+36+4>>2]=c[ta+120+4>>2];c[ta+480+36+8>>2]=c[ta+120+8>>2];c[ta+480+36+12>>2]=c[ta+120+12>>2];c[ta+480+52>>2]=c[k>>2];c[ta+480+52+4>>2]=c[k+4>>2];c[ta+480+52+8>>2]=c[k+8>>2];c[ta+480+52+12>>2]=c[k+12>>2];c[ta+480+68>>2]=c[t>>2];c[ta+480+68+4>>2]=c[t+4>>2];c[ta+480+68+8>>2]=c[t+8>>2];c[ta+480+68+12>>2]=c[t+12>>2];c[ta+480+84>>2]=c[w>>2];c[ta+480+84+4>>2]=c[w+4>>2];c[ta+480+84+8>>2]=c[w+8>>2];c[ta+480+84+12>>2]=c[w+12>>2];c[ta+480+100>>2]=c[D>>2];c[ta+480+100+4>>2]=c[D+4>>2];c[ta+480+100+8>>2]=c[D+8>>2];c[ta+480+100+12>>2]=c[D+12>>2];c[ta+480+116>>2]=c[H>>2];c[ta+480+116+4>>2]=c[H+4>>2];c[ta+480+116+8>>2]=c[H+8>>2];c[ta+480+116+12>>2]=c[H+12>>2];c[ta+480+132>>2]=c[K>>2];c[ta+480+132+4>>2]=c[K+4>>2];c[ta+480+132+8>>2]=c[K+8>>2];c[ta+480+132+12>>2]=c[K+12>>2];c[ta+480+148>>2]=c[L>>2];c[ta+480+148+4>>2]=c[L+4>>2];c[ta+480+148+8>>2]=c[L+8>>2];c[ta+480+148+12>>2]=c[L+12>>2];c[ta+480+164>>2]=c[ta+720>>2];c[ta+480+164+4>>2]=c[ta+720+4>>2];c[ta+480+164+8>>2]=c[ta+720+8>>2];c[ta+480+164+12>>2]=c[ta+720+12>>2];c[ta+480+180>>2]=c[ta+720+16>>2];c[ta+480+180+4>>2]=c[ta+720+16+4>>2];c[ta+480+180+8>>2]=c[ta+720+16+8>>2];c[ta+480+180+12>>2]=c[ta+720+16+12>>2];c[ta+480+196>>2]=c[ta+720+32>>2];c[ta+480+196+4>>2]=c[ta+720+32+4>>2];c[ta+480+196+8>>2]=c[ta+720+32+8>>2];c[ta+480+196+12>>2]=c[ta+720+32+12>>2];c[ta+480+212>>2]=c[ta+720+48>>2];c[ta+480+212+4>>2]=c[ta+720+48+4>>2];c[ta+480+212+8>>2]=c[ta+720+48+8>>2];c[ta+480+212+12>>2]=c[ta+720+48+12>>2];a[ta+480+228>>0]=z<y&1;c[ta+480+232>>2]=i;sc(ta+40|0,ta+120|0,ta+480|0,i,0);i=c[b+28>>2]|0;j=j+1|0}while((j|0)<(i|0))}}if(!(a[b+16>>0]|0)){l=ta;return}j=c[h+4>>2]|0;if(!(c[j+748>>2]|0)){l=ta;return}k=c[j+740>>2]|0;m=c[(c[h+8>>2]|0)+8>>2]|0;i=c[(c[h+12>>2]|0)+8>>2]|0;if((k|0)==(m|0)){Pe(j,k+4|0,i+4|0);l=ta;return}else{Pe(j,i+4|0,m+4|0);l=ta;return}}function ac(b){b=b|0;var d=0,e=0,f=0,h=0.0,i=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0.0,F=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0,W=0,X=0,Y=0,Z=0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0.0,pa=0.0;Z=l;l=l+1152|0;cc(b);if(!(pb[c[(c[b>>2]|0)+20>>2]&127](b)|0)){l=Z;return}if((c[b+328>>2]|0)<=0){l=Z;return}z=Z+1088+32|0;A=Z+1088+52|0;Y=0;do{B=c[(c[b+336>>2]|0)+(Y<<2)>>2]|0;if(pb[c[(c[b>>2]|0)+20>>2]&127](b)|0?(w=pb[c[(c[b>>2]|0)+20>>2]&127](b)|0,(pb[c[(c[w>>2]|0)+48>>2]&127](w)|0)&1|0):0){d=c[b+72>>2]|0;if(a[B+473>>0]|0?(c[Z+992>>2]=c[B+520>>2],c[Z+992+4>>2]=c[B+520+4>>2],c[Z+992+8>>2]=c[B+520+8>>2],c[Z+992+12>>2]=c[B+520+12>>2],C=+g[B+584>>2],D=+g[B+536>>2],E=+g[B+600>>2],F=+g[B+540>>2],H=+g[B+616>>2],I=+g[B+544>>2],J=+g[B+588>>2],K=+g[B+604>>2],L=+g[B+620>>2],M=+g[B+592>>2],N=+g[B+608>>2],O=+g[B+624>>2],P=+g[B+552>>2],Q=+g[B+556>>2],R=+g[B+560>>2],S=+g[B+568>>2],T=+g[B+572>>2],U=+g[B+576>>2],ga=C*D+E*F+H*I+(D*J+F*K+I*L)*0.0+(D*M+F*N+I*O)*0.0,ea=(M*P+N*Q+O*R)*0.0+(C*P+E*Q+H*R+(J*P+K*Q+L*R)*0.0),da=(M*S+N*T+O*U)*0.0+(C*S+E*T+H*U+(J*S+K*T+L*U)*0.0),fa=1.0/+G(+(ga*ga+ea*ea+da*da)),ca=(C*D+E*F+H*I)*0.0+(D*J+F*K+I*L)+(D*M+F*N+I*O)*0.0,aa=(M*P+N*Q+O*R)*0.0+(J*P+K*Q+L*R+(C*P+E*Q+H*R)*0.0),$=(M*S+N*T+O*U)*0.0+(J*S+K*T+L*U+(C*S+E*T+H*U)*0.0),ba=1.0/+G(+(ca*ca+aa*aa+$*$)),_=(C*D+E*F+H*I)*0.0+(D*J+F*K+I*L)*0.0+(D*M+F*N+I*O),i=M*P+N*Q+O*R+((C*P+E*Q+H*R)*0.0+(J*P+K*Q+L*R)*0.0),k=M*S+N*T+O*U+((C*S+E*T+H*U)*0.0+(J*S+K*T+L*U)*0.0),h=1.0/+G(+(_*_+i*i+k*k)),w=c[(c[d>>2]|0)+8>>2]|0,ea=ea*fa*10.0+ +g[Z+992+4>>2],da=fa*da*10.0+ +g[Z+992+8>>2],g[Z+976>>2]=ga*fa*10.0+ +g[Z+992>>2],g[Z+976+4>>2]=ea,g[Z+976+8>>2]=da,g[Z+976+12>>2]=0.0,c[Z+960>>2]=1065353216,c[Z+960+4>>2]=0,c[Z+960+8>>2]=0,g[Z+960+12>>2]=0.0,Zb[w&127](d,Z+992|0,Z+976|0,Z+960|0),w=c[(c[d>>2]|0)+8>>2]|0,aa=aa*ba*10.0+ +g[Z+992+4>>2],$=ba*$*10.0+ +g[Z+992+8>>2],g[Z+944>>2]=ca*ba*10.0+ +g[Z+992>>2],g[Z+944+4>>2]=aa,g[Z+944+8>>2]=$,g[Z+944+12>>2]=0.0,c[Z+928>>2]=0,c[Z+928+4>>2]=1065353216,c[Z+928+8>>2]=0,g[Z+928+12>>2]=0.0,Zb[w&127](d,Z+992|0,Z+944|0,Z+928|0),w=c[(c[d>>2]|0)+8>>2]|0,i=i*h*10.0+ +g[Z+992+4>>2],k=k*h*10.0+ +g[Z+992+8>>2],g[Z+912>>2]=_*h*10.0+ +g[Z+992>>2],g[Z+912+4>>2]=i,g[Z+912+8>>2]=k,g[Z+912+12>>2]=0.0,c[Z+896>>2]=0,c[Z+896+4>>2]=0,c[Z+896+8>>2]=1065353216,g[Z+896+12>>2]=0.0,Zb[w&127](d,Z+992|0,Z+912|0,Z+896|0),(c[B+484>>2]|0)>0):0){e=0;do{w=c[B+492>>2]|0;ca=+g[w+(e<<4)>>2];da=+g[w+(e<<4)+4>>2];ga=+g[w+(e<<4)+8>>2];ea=+g[Z+992>>2]+((C*D+E*F+H*I)*ca+(D*J+F*K+I*L)*da+(D*M+F*N+I*O)*ga);fa=+g[Z+992+4>>2]+((C*P+E*Q+H*R)*ca+(J*P+K*Q+L*R)*da+(M*P+N*Q+O*R)*ga);ga=(C*S+E*T+H*U)*ca+(J*S+K*T+L*U)*da+(M*S+N*T+O*U)*ga+ +g[Z+992+8>>2];c[Z+880>>2]=1065353216;c[Z+880+4>>2]=0;c[Z+880+8>>2]=1065353216;g[Z+880+12>>2]=0.0;w=c[(c[d>>2]|0)+8>>2]|0;g[Z+1088>>2]=ea+-.10000000149011612;g[Z+1088+4>>2]=fa;g[Z+1088+8>>2]=ga;g[Z+1088+12>>2]=0.0;g[Z+1072>>2]=ea+.10000000149011612;g[Z+1072+4>>2]=fa+0.0;g[Z+1072+8>>2]=ga+0.0;g[Z+1072+12>>2]=0.0;Zb[w&127](d,Z+1088|0,Z+1072|0,Z+880|0);w=c[(c[d>>2]|0)+8>>2]|0;g[Z+1056>>2]=ea;g[Z+1056+4>>2]=fa+-.10000000149011612;g[Z+1056+8>>2]=ga;g[Z+1056+12>>2]=0.0;g[Z+1040>>2]=ea+0.0;g[Z+1040+4>>2]=fa+.10000000149011612;g[Z+1040+8>>2]=ga+0.0;g[Z+1040+12>>2]=0.0;Zb[w&127](d,Z+1056|0,Z+1040|0,Z+880|0);w=c[(c[d>>2]|0)+8>>2]|0;g[Z+1024>>2]=ea;g[Z+1024+4>>2]=fa;g[Z+1024+8>>2]=ga+-.10000000149011612;g[Z+1024+12>>2]=0.0;g[Z+1008>>2]=ea+0.0;g[Z+1008+4>>2]=fa+0.0;g[Z+1008+8>>2]=ga+.10000000149011612;g[Z+1008+12>>2]=0.0;Zb[w&127](d,Z+1024|0,Z+1008|0,Z+880|0);e=e+1|0}while((e|0)<(c[B+484>>2]|0))}w=c[b+72>>2]|0;v=c[b+344>>2]|0;c[Z+992>>2]=0;c[Z+992+4>>2]=0;c[Z+992+8>>2]=0;c[Z+992+12>>2]=0;c[Z+976>>2]=1065353216;c[Z+976+4>>2]=1065353216;c[Z+976+8>>2]=1065353216;g[Z+976+12>>2]=0.0;c[Z+960>>2]=1065353216;c[Z+960+4>>2]=0;c[Z+960+8>>2]=0;g[Z+960+12>>2]=0.0;if(!(v&256)){if(v&1|0?(V=c[B+712>>2]|0,(V|0)>0):0){d=V;f=0;do{e=c[B+720>>2]|0;if(c[(c[e+(f*104|0)+4>>2]|0)+16>>2]&1){d=c[(c[w>>2]|0)+8>>2]|0;u=e+(f*104|0)+8|0;s=e+(f*104|0)+12|0;q=c[s>>2]|0;t=e+(f*104|0)+16|0;r=c[t>>2]|0;g[Z+912>>2]=+g[u>>2]+-.10000000149011612;c[Z+912+4>>2]=q;c[Z+912+8>>2]=r;g[Z+912+12>>2]=0.0;fa=+g[s>>2]+0.0;ga=+g[t>>2]+0.0;g[Z+896>>2]=+g[u>>2]+.10000000149011612;g[Z+896+4>>2]=fa;g[Z+896+8>>2]=ga;g[Z+896+12>>2]=0.0;c[Z+880>>2]=1065353216;c[Z+880+4>>2]=0;c[Z+880+8>>2]=0;g[Z+880+12>>2]=0.0;Zb[d&127](w,Z+912|0,Z+896|0,Z+880|0);d=c[(c[w>>2]|0)+8>>2]|0;ga=+g[s>>2]+-.10000000149011612;r=c[t>>2]|0;c[Z+864>>2]=c[u>>2];g[Z+864+4>>2]=ga;c[Z+864+8>>2]=r;g[Z+864+12>>2]=0.0;ga=+g[s>>2]+.10000000149011612;fa=+g[t>>2]+0.0;g[Z+848>>2]=+g[u>>2]+0.0;g[Z+848+4>>2]=ga;g[Z+848+8>>2]=fa;g[Z+848+12>>2]=0.0;c[Z+832>>2]=0;c[Z+832+4>>2]=1065353216;c[Z+832+8>>2]=0;g[Z+832+12>>2]=0.0;Zb[d&127](w,Z+864|0,Z+848|0,Z+832|0);d=c[(c[w>>2]|0)+8>>2]|0;r=c[s>>2]|0;fa=+g[t>>2]+-.10000000149011612;c[Z+816>>2]=c[u>>2];c[Z+816+4>>2]=r;g[Z+816+8>>2]=fa;g[Z+816+12>>2]=0.0;fa=+g[s>>2]+0.0;ga=+g[t>>2]+.10000000149011612;g[Z+800>>2]=+g[u>>2]+0.0;g[Z+800+4>>2]=fa;g[Z+800+8>>2]=ga;g[Z+800+12>>2]=0.0;c[Z+784>>2]=0;c[Z+784+4>>2]=0;c[Z+784+8>>2]=1065353216;g[Z+784+12>>2]=0.0;Zb[d&127](w,Z+816|0,Z+800|0,Z+784|0);d=c[B+712>>2]|0}f=f+1|0}while((f|0)<(d|0))}if(v&2|0?(W=c[B+732>>2]|0,(W|0)>0):0){d=W;f=0;do{e=c[B+740>>2]|0;if(c[(c[e+(f*52|0)+4>>2]|0)+16>>2]&1){Zb[c[(c[w>>2]|0)+8>>2]&127](w,(c[e+(f*52|0)+8>>2]|0)+8|0,(c[e+(f*52|0)+12>>2]|0)+8|0,Z+992|0);d=c[B+732>>2]|0}f=f+1|0}while((f|0)<(d|0))}if(v&16|0?(X=c[B+712>>2]|0,(X|0)>0):0){d=X;f=0;do{e=c[B+720>>2]|0;if(c[(c[e+(f*104|0)+4>>2]|0)+16>>2]&1){ea=+g[e+(f*104|0)+72>>2]*.5;ga=+g[e+(f*104|0)+76>>2]*.5;fa=+g[e+(f*104|0)+80>>2]*.5;u=c[(c[w>>2]|0)+8>>2]|0;d=e+(f*104|0)+8|0;s=e+(f*104|0)+12|0;ca=ga+ +g[s>>2];t=e+(f*104|0)+16|0;da=fa+ +g[t>>2];g[Z+768>>2]=ea+ +g[d>>2];g[Z+768+4>>2]=ca;g[Z+768+8>>2]=da;g[Z+768+12>>2]=0.0;Zb[u&127](w,d,Z+768|0,Z+976|0);u=c[(c[w>>2]|0)+8>>2]|0;ga=+g[s>>2]-ga;fa=+g[t>>2]-fa;g[Z+752>>2]=+g[d>>2]-ea;g[Z+752+4>>2]=ga;g[Z+752+8>>2]=fa;g[Z+752+12>>2]=0.0;fa=+g[Z+976+4>>2]*.5;ga=+g[Z+976+8>>2]*.5;g[Z+736>>2]=+g[Z+976>>2]*.5;g[Z+736+4>>2]=fa;g[Z+736+8>>2]=ga;g[Z+736+12>>2]=0.0;Zb[u&127](w,d,Z+752|0,Z+736|0);d=c[B+712>>2]|0}f=f+1|0}while((f|0)<(d|0))}if(v&32|0){if((a[22640]|0)==0?qy(22640)|0:0){c[5853]=1065353216;c[5854]=0;c[5855]=0;c[5856]=0;c[5857]=0;c[5858]=1065353216;c[5859]=0;c[5860]=0;c[5861]=0;c[5862]=0;c[5863]=1065353216;g[5864]=0.0}if((c[B+812>>2]|0)>0){d=0;do{u=c[B+820>>2]|0;s=c[u+(d*104|0)+24>>2]|0;ma=+g[s+8>>2];t=u+(d*104|0)+4|0;la=+g[t>>2];ia=+g[s+12>>2];r=u+(d*104|0)+8|0;ha=+g[r>>2];fa=+g[s+16>>2];s=u+(d*104|0)+12|0;da=+g[s>>2];ba=+g[u+(d*104|0)+20>>2]+(ma*la+ia*ha+fa*da);g[Z+720>>2]=ma-la*ba;g[Z+720+4>>2]=ia-ha*ba;g[Z+720+8>>2]=fa-da*ba;g[Z+720+12>>2]=0.0;h=+g[t>>2];k=+g[r>>2];ka=+g[s>>2];u=h<k?(h<ka?0:2):k<ka?1:2;ja=+g[23412+(u<<4)+8>>2];i=+g[23412+(u<<4)+4>>2];_=+g[23412+(u<<4)>>2];$=1.0/+G(+((h*i-k*_)*(h*i-k*_)+((k*ja-ka*i)*(k*ja-ka*i)+(ka*_-h*ja)*(ka*_-h*ja))));aa=ka*(ka*_-h*ja)*$-k*(h*i-k*_)*$;ca=h*(h*i-k*_)*$-ka*(k*ja-ka*i)*$;ga=k*(k*ja-ka*i)*$-h*(ka*_-h*ja)*$;ea=1.0/+G(+(ga*ga+(aa*aa+ca*ca)));u=c[(c[w>>2]|0)+8>>2]|0;g[Z+704>>2]=ma-la*ba-(k*ja-ka*i)*$*.5;g[Z+704+4>>2]=ia-ha*ba-(ka*_-h*ja)*$*.5;g[Z+704+8>>2]=fa-da*ba-(h*i-k*_)*$*.5;g[Z+704+12>>2]=0.0;g[Z+688>>2]=(k*ja-ka*i)*$*.5+(ma-la*ba);g[Z+688+4>>2]=(ka*_-h*ja)*$*.5+(ia-ha*ba);g[Z+688+8>>2]=(h*i-k*_)*$*.5+(fa-da*ba);g[Z+688+12>>2]=0.0;Zb[u&127](w,Z+704|0,Z+688|0,Z+960|0);u=c[(c[w>>2]|0)+8>>2]|0;ba=+g[Z+720>>2];da=+g[Z+720+4>>2];fa=+g[Z+720+8>>2];g[Z+672>>2]=ba-ea*aa*.5;g[Z+672+4>>2]=da-ea*ca*.5;g[Z+672+8>>2]=fa-ea*ga*.5;g[Z+672+12>>2]=0.0;g[Z+656>>2]=ea*aa*.5+ba;g[Z+656+4>>2]=ea*ca*.5+da;g[Z+656+8>>2]=ea*ga*.5+fa;g[Z+656+12>>2]=0.0;Zb[u&127](w,Z+672|0,Z+656|0,Z+960|0);u=c[(c[w>>2]|0)+8>>2]|0;fa=+g[r>>2]*.5*3.0+ +g[Z+720+4>>2];ga=+g[s>>2]*.5*3.0+ +g[Z+720+8>>2];g[Z+640>>2]=+g[t>>2]*.5*3.0+ +g[Z+720>>2];g[Z+640+4>>2]=fa;g[Z+640+8>>2]=ga;g[Z+640+12>>2]=0.0;c[Z+624>>2]=1065353216;c[Z+624+4>>2]=1065353216;c[Z+624+8>>2]=0;g[Z+624+12>>2]=0.0;Zb[u&127](w,Z+720|0,Z+640|0,Z+624|0);d=d+1|0}while((d|0)<(c[B+812>>2]|0))}}if(v&4|0?(c[Z+608>>2]=0,c[Z+608+4>>2]=1060320051,c[Z+608+8>>2]=0,g[Z+608+12>>2]=0.0,x=c[B+752>>2]|0,(x|0)>0):0){d=x;f=0;do{e=c[B+760>>2]|0;if(c[(c[e+(f*44|0)+4>>2]|0)+16>>2]&1){d=c[e+(f*44|0)+8>>2]|0;ea=+g[d+8>>2];ha=+g[d+12>>2];ka=+g[d+16>>2];d=c[e+(f*44|0)+12>>2]|0;fa=+g[d+8>>2];ia=+g[d+12>>2];la=+g[d+16>>2];d=c[e+(f*44|0)+16>>2]|0;ga=+g[d+8>>2];ja=+g[d+12>>2];ma=+g[d+16>>2];d=c[(c[w>>2]|0)+28>>2]|0;g[Z+592>>2]=(ea+fa+ga)*.3333333432674408+(ea-(ea+fa+ga)*.3333333432674408)*.800000011920929;g[Z+592+4>>2]=(ha+ia+ja)*.3333333432674408+(ha-(ha+ia+ja)*.3333333432674408)*.800000011920929;g[Z+592+8>>2]=(ka+la+ma)*.3333333432674408+(ka-(ka+la+ma)*.3333333432674408)*.800000011920929;g[Z+592+12>>2]=0.0;g[Z+576>>2]=(ea+fa+ga)*.3333333432674408+(fa-(ea+fa+ga)*.3333333432674408)*.800000011920929;g[Z+576+4>>2]=(ha+ia+ja)*.3333333432674408+(ia-(ha+ia+ja)*.3333333432674408)*.800000011920929;g[Z+576+8>>2]=(ka+la+ma)*.3333333432674408+(la-(ka+la+ma)*.3333333432674408)*.800000011920929;g[Z+576+12>>2]=0.0;g[Z+560>>2]=(ea+fa+ga)*.3333333432674408+(ga-(ea+fa+ga)*.3333333432674408)*.800000011920929;g[Z+560+4>>2]=(ha+ia+ja)*.3333333432674408+(ja-(ha+ia+ja)*.3333333432674408)*.800000011920929;g[Z+560+8>>2]=(ka+la+ma)*.3333333432674408+(ma-(ka+la+ma)*.3333333432674408)*.800000011920929;g[Z+560+12>>2]=0.0;Ab[d&0](w,Z+592|0,Z+576|0,Z+560|0,Z+608|0,1.0);d=c[B+752>>2]|0}f=f+1|0}while((f|0)<(d|0))}if(v&8|0?(c[Z+544>>2]=1050253722,c[Z+544+4>>2]=1050253722,c[Z+544+8>>2]=1060320051,g[Z+544+12>>2]=0.0,y=c[B+772>>2]|0,(y|0)>0):0){d=y;f=0;do{e=c[B+780>>2]|0;if(c[(c[e+(f*104|0)+4>>2]|0)+16>>2]&1){d=c[e+(f*104|0)+8>>2]|0;pa=+g[d+8>>2];h=+g[d+12>>2];_=+g[d+16>>2];d=c[e+(f*104|0)+12>>2]|0;oa=+g[d+8>>2];i=+g[d+12>>2];$=+g[d+16>>2];d=c[e+(f*104|0)+16>>2]|0;na=+g[d+8>>2];k=+g[d+12>>2];aa=+g[d+16>>2];d=c[e+(f*104|0)+20>>2]|0;ka=+g[d+8>>2];la=+g[d+12>>2];ma=+g[d+16>>2];d=c[(c[w>>2]|0)+28>>2]|0;ha=(pa+oa+na+ka)*.25+(pa-(pa+oa+na+ka)*.25)*.800000011920929;ia=(h+i+k+la)*.25+(h-(h+i+k+la)*.25)*.800000011920929;ja=(_+$+aa+ma)*.25+(_-(_+$+aa+ma)*.25)*.800000011920929;g[Z+528>>2]=ha;g[Z+528+4>>2]=ia;g[Z+528+8>>2]=ja;g[Z+528+12>>2]=0.0;ba=(pa+oa+na+ka)*.25+(oa-(pa+oa+na+ka)*.25)*.800000011920929;ca=(h+i+k+la)*.25+(i-(h+i+k+la)*.25)*.800000011920929;da=(_+$+aa+ma)*.25+($-(_+$+aa+ma)*.25)*.800000011920929;g[Z+512>>2]=ba;g[Z+512+4>>2]=ca;g[Z+512+8>>2]=da;g[Z+512+12>>2]=0.0;ea=(pa+oa+na+ka)*.25+(na-(pa+oa+na+ka)*.25)*.800000011920929;fa=(h+i+k+la)*.25+(k-(h+i+k+la)*.25)*.800000011920929;ga=(_+$+aa+ma)*.25+(aa-(_+$+aa+ma)*.25)*.800000011920929;g[Z+496>>2]=ea;g[Z+496+4>>2]=fa;g[Z+496+8>>2]=ga;g[Z+496+12>>2]=0.0;Ab[d&0](w,Z+528|0,Z+512|0,Z+496|0,Z+544|0,1.0);d=c[(c[w>>2]|0)+28>>2]|0;g[Z+480>>2]=ha;g[Z+480+4>>2]=ia;g[Z+480+8>>2]=ja;g[Z+480+12>>2]=0.0;g[Z+464>>2]=ba;g[Z+464+4>>2]=ca;g[Z+464+8>>2]=da;g[Z+464+12>>2]=0.0;ka=(pa+oa+na+ka)*.25+(ka-(pa+oa+na+ka)*.25)*.800000011920929;la=(h+i+k+la)*.25+(la-(h+i+k+la)*.25)*.800000011920929;ma=(_+$+aa+ma)*.25+(ma-(_+$+aa+ma)*.25)*.800000011920929;g[Z+448>>2]=ka;g[Z+448+4>>2]=la;g[Z+448+8>>2]=ma;g[Z+448+12>>2]=0.0;Ab[d&0](w,Z+480|0,Z+464|0,Z+448|0,Z+544|0,1.0);d=c[(c[w>>2]|0)+28>>2]|0;g[Z+432>>2]=ba;g[Z+432+4>>2]=ca;g[Z+432+8>>2]=da;g[Z+432+12>>2]=0.0;g[Z+416>>2]=ea;g[Z+416+4>>2]=fa;g[Z+416+8>>2]=ga;g[Z+416+12>>2]=0.0;g[Z+400>>2]=ka;g[Z+400+4>>2]=la;g[Z+400+8>>2]=ma;g[Z+400+12>>2]=0.0;Ab[d&0](w,Z+432|0,Z+416|0,Z+400|0,Z+544|0,1.0);d=c[(c[w>>2]|0)+28>>2]|0;g[Z+384>>2]=ea;g[Z+384+4>>2]=fa;g[Z+384+8>>2]=ga;g[Z+384+12>>2]=0.0;g[Z+368>>2]=ha;g[Z+368+4>>2]=ia;g[Z+368+8>>2]=ja;g[Z+368+12>>2]=0.0;g[Z+352>>2]=ka;g[Z+352+4>>2]=la;g[Z+352+8>>2]=ma;g[Z+352+12>>2]=0.0;Ab[d&0](w,Z+384|0,Z+368|0,Z+352|0,Z+544|0,1.0);d=c[B+772>>2]|0}f=f+1|0}while((f|0)<(d|0))}}else{FG();if((c[B+1112>>2]|0)>0){u=0;do{if(a[(c[(c[B+1120>>2]|0)+(u<<2)>>2]|0)+377>>0]|0){ma=+(zr()|0)*4.656612873077393e-10;na=+(zr()|0)*4.656612873077393e-10;oa=+(zr()|0)*4.656612873077393e-10;pa=1.0/+G(+(ma*ma+na*na+oa*oa));g[Z+944>>2]=ma*pa*.75;g[Z+944+4>>2]=na*pa*.75;g[Z+944+8>>2]=oa*pa*.75;g[Z+944+12>>2]=0.0;f=c[(c[(c[B+1120>>2]|0)+(u<<2)>>2]|0)+24>>2]|0;if((f|0)>0){c[6485]=(c[6485]|0)+1;d=ic((f<<4|3)+16|0)|0;if(!d)e=0;else{c[(d+4+15&-16)+-4>>2]=d;e=d+4+15&-16}d=0;do{t=e+(d<<4)|0;c[t>>2]=c[Z+928>>2];c[t+4>>2]=c[Z+928+4>>2];c[t+8>>2]=c[Z+928+8>>2];c[t+12>>2]=c[Z+928+12>>2];d=d+1|0}while((d|0)!=(f|0));d=0;do{t=e+(d<<4)|0;s=(c[(c[(c[(c[B+1120>>2]|0)+(u<<2)>>2]|0)+32>>2]|0)+(d<<2)>>2]|0)+8|0;c[t>>2]=c[s>>2];c[t+4>>2]=c[s+4>>2];c[t+8>>2]=c[s+8>>2];c[t+12>>2]=c[s+12>>2];d=d+1|0}while((d|0)!=(f|0));t=e;s=e}else{t=0;s=0}a[Z+1088+16>>0]=1;c[Z+1088+12>>2]=0;c[Z+1088+4>>2]=0;c[Z+1088+8>>2]=0;a[Z+1088+36>>0]=1;c[z>>2]=0;c[Z+1088+24>>2]=0;c[Z+1088+28>>2]=0;a[Z+1088+56>>0]=1;c[A>>2]=0;c[Z+1088+44>>2]=0;c[Z+1088+48>>2]=0;mc(Z+1088|0,t,f);p=c[Z+1088+44>>2]|0;if((p|0)>0){n=c[z>>2]|0;r=0;do{q=c[(c[A>>2]|0)+(r<<2)>>2]|0;e=(c[n+(q*12|0)+4>>2]|0)+q|0;d=e+(c[n+(e*12|0)>>2]|0)|0;if((d|0)!=(q|0)){o=c[Z+1088+12>>2]|0;m=n+(d*12|0)|0;e=c[n+(e*12|0)+8>>2]|0;f=c[n+(q*12|0)+8>>2]|0;while(1){d=c[m+8>>2]|0;Ab[c[(c[w>>2]|0)+28>>2]&0](w,o+(e<<4)|0,o+(f<<4)|0,o+(d<<4)|0,Z+944|0,1.0);e=c[m+4>>2]|0;m=m+(((c[m+(e*12|0)>>2]|0)+e|0)*12|0)|0;if((m|0)==(n+(q*12|0)|0))break;else{e=f;f=d}}}r=r+1|0}while((r|0)<(p|0))}d=c[A>>2]|0;if(d|0){if(a[Z+1088+56>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[A>>2]=0}a[Z+1088+56>>0]=1;c[A>>2]=0;c[Z+1088+44>>2]=0;c[Z+1088+48>>2]=0;d=c[z>>2]|0;if(d|0){if(a[Z+1088+36>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[z>>2]=0}a[Z+1088+36>>0]=1;c[z>>2]=0;c[Z+1088+24>>2]=0;c[Z+1088+28>>2]=0;d=c[Z+1088+12>>2]|0;if(d|0){if(a[Z+1088+16>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[Z+1088+12>>2]=0}if(!((s|0)==0|(t|0)==0)){c[6486]=(c[6486]|0)+1;Uc(c[t+-4>>2]|0)}}u=u+1|0}while((u|0)<(c[B+1112>>2]|0))}}if(v&64|0){if((c[B+792>>2]|0)>0){d=0;do{u=c[B+800>>2]|0;q=c[u+(d*96|0)+20>>2]|0;la=+g[u+(d*96|0)+4>>2];ma=+g[u+(d*96|0)+8>>2];na=+g[u+(d*96|0)+12>>2];oa=la*+g[q+20>>2]+ma*+g[q+24>>2]+na*+g[q+28>>2]+ +g[q+56>>2];pa=la*+g[q+36>>2]+ma*+g[q+40>>2]+na*+g[q+44>>2]+ +g[q+60>>2];g[Z+336>>2]=la*+g[q+4>>2]+ma*+g[q+8>>2]+na*+g[q+12>>2]+ +g[q+52>>2];g[Z+336+4>>2]=oa;g[Z+336+8>>2]=pa;g[Z+336+12>>2]=0.0;u=u+(d*96|0)|0;q=c[u>>2]|0;c[Z+320>>2]=1065353216;c[Z+320+4>>2]=0;c[Z+320+8>>2]=0;g[Z+320+12>>2]=0.0;t=c[(c[w>>2]|0)+8>>2]|0;pa=+g[q+8>>2];s=c[q+12>>2]|0;r=c[q+16>>2]|0;g[Z+1088>>2]=pa+-.25;c[Z+1088+4>>2]=s;c[Z+1088+8>>2]=r;g[Z+1088+12>>2]=0.0;oa=(c[j>>2]=s,+g[j>>2])+0.0;na=(c[j>>2]=r,+g[j>>2])+0.0;g[Z+1072>>2]=pa+.25;g[Z+1072+4>>2]=oa;g[Z+1072+8>>2]=na;g[Z+1072+12>>2]=0.0;Zb[t&127](w,Z+1088|0,Z+1072|0,Z+320|0);t=c[(c[w>>2]|0)+8>>2]|0;r=c[q+8>>2]|0;na=+g[q+12>>2];s=c[q+16>>2]|0;c[Z+1056>>2]=r;g[Z+1056+4>>2]=na+-.25;c[Z+1056+8>>2]=s;g[Z+1056+12>>2]=0.0;oa=(c[j>>2]=r,+g[j>>2])+0.0;pa=(c[j>>2]=s,+g[j>>2])+0.0;g[Z+1040>>2]=oa;g[Z+1040+4>>2]=na+.25;g[Z+1040+8>>2]=pa;g[Z+1040+12>>2]=0.0;Zb[t&127](w,Z+1056|0,Z+1040|0,Z+320|0);t=c[(c[w>>2]|0)+8>>2]|0;s=c[q+8>>2]|0;r=c[q+12>>2]|0;pa=+g[q+16>>2];c[Z+1024>>2]=s;c[Z+1024+4>>2]=r;g[Z+1024+8>>2]=pa+-.25;g[Z+1024+12>>2]=0.0;na=(c[j>>2]=s,+g[j>>2])+0.0;oa=(c[j>>2]=r,+g[j>>2])+0.0;g[Z+1008>>2]=na;g[Z+1008+4>>2]=oa;g[Z+1008+8>>2]=pa+.25;g[Z+1008+12>>2]=0.0;Zb[t&127](w,Z+1024|0,Z+1008|0,Z+320|0);c[Z+304>>2]=0;c[Z+304+4>>2]=1065353216;c[Z+304+8>>2]=0;g[Z+304+12>>2]=0.0;t=c[(c[w>>2]|0)+8>>2]|0;pa=+g[Z+336>>2];r=c[Z+336+4>>2]|0;s=c[Z+336+8>>2]|0;g[Z+1088>>2]=pa+-.25;c[Z+1088+4>>2]=r;c[Z+1088+8>>2]=s;g[Z+1088+12>>2]=0.0;oa=(c[j>>2]=r,+g[j>>2])+0.0;na=(c[j>>2]=s,+g[j>>2])+0.0;g[Z+1072>>2]=pa+.25;g[Z+1072+4>>2]=oa;g[Z+1072+8>>2]=na;g[Z+1072+12>>2]=0.0;Zb[t&127](w,Z+1088|0,Z+1072|0,Z+304|0);t=c[(c[w>>2]|0)+8>>2]|0;s=c[Z+336>>2]|0;na=+g[Z+336+4>>2];r=c[Z+336+8>>2]|0;c[Z+1056>>2]=s;g[Z+1056+4>>2]=na+-.25;c[Z+1056+8>>2]=r;g[Z+1056+12>>2]=0.0;oa=(c[j>>2]=s,+g[j>>2])+0.0;pa=(c[j>>2]=r,+g[j>>2])+0.0;g[Z+1040>>2]=oa;g[Z+1040+4>>2]=na+.25;g[Z+1040+8>>2]=pa;g[Z+1040+12>>2]=0.0;Zb[t&127](w,Z+1056|0,Z+1040|0,Z+304|0);t=c[(c[w>>2]|0)+8>>2]|0;r=c[Z+336>>2]|0;s=c[Z+336+4>>2]|0;pa=+g[Z+336+8>>2];c[Z+1024>>2]=r;c[Z+1024+4>>2]=s;g[Z+1024+8>>2]=pa+-.25;g[Z+1024+12>>2]=0.0;na=(c[j>>2]=r,+g[j>>2])+0.0;oa=(c[j>>2]=s,+g[j>>2])+0.0;g[Z+1008>>2]=na;g[Z+1008+4>>2]=oa;g[Z+1008+8>>2]=pa+.25;g[Z+1008+12>>2]=0.0;Zb[t&127](w,Z+1024|0,Z+1008|0,Z+304|0);t=c[(c[w>>2]|0)+8>>2]|0;u=(c[u>>2]|0)+8|0;c[Z+288>>2]=1065353216;c[Z+288+4>>2]=1065353216;c[Z+288+8>>2]=1065353216;g[Z+288+12>>2]=0.0;Zb[t&127](w,u,Z+336|0,Z+288|0);d=d+1|0}while((d|0)<(c[B+792>>2]|0))}d=c[B+712>>2]|0;if((d|0)>0){f=0;do{e=c[B+720>>2]|0;if((c[(c[e+(f*104|0)+4>>2]|0)+16>>2]&1|0)!=0?+g[e+(f*104|0)+88>>2]<=0.0:0){t=e+(f*104|0)+8|0;c[Z+272>>2]=1065353216;c[Z+272+4>>2]=0;c[Z+272+8>>2]=0;g[Z+272+12>>2]=0.0;d=c[(c[w>>2]|0)+8>>2]|0;pa=+g[t>>2];u=e+(f*104|0)+12|0;r=c[u>>2]|0;s=e+(f*104|0)+16|0;q=c[s>>2]|0;g[Z+1088>>2]=pa+-.25;c[Z+1088+4>>2]=r;c[Z+1088+8>>2]=q;g[Z+1088+12>>2]=0.0;oa=(c[j>>2]=r,+g[j>>2])+0.0;na=(c[j>>2]=q,+g[j>>2])+0.0;g[Z+1072>>2]=pa+.25;g[Z+1072+4>>2]=oa;g[Z+1072+8>>2]=na;g[Z+1072+12>>2]=0.0;Zb[d&127](w,Z+1088|0,Z+1072|0,Z+272|0);d=c[(c[w>>2]|0)+8>>2]|0;q=c[t>>2]|0;na=+g[u>>2];r=c[s>>2]|0;c[Z+1056>>2]=q;g[Z+1056+4>>2]=na+-.25;c[Z+1056+8>>2]=r;g[Z+1056+12>>2]=0.0;oa=(c[j>>2]=q,+g[j>>2])+0.0;pa=(c[j>>2]=r,+g[j>>2])+0.0;g[Z+1040>>2]=oa;g[Z+1040+4>>2]=na+.25;g[Z+1040+8>>2]=pa;g[Z+1040+12>>2]=0.0;Zb[d&127](w,Z+1056|0,Z+1040|0,Z+272|0);d=c[(c[w>>2]|0)+8>>2]|0;t=c[t>>2]|0;u=c[u>>2]|0;pa=+g[s>>2];c[Z+1024>>2]=t;c[Z+1024+4>>2]=u;g[Z+1024+8>>2]=pa+-.25;g[Z+1024+12>>2]=0.0;na=(c[j>>2]=t,+g[j>>2])+0.0;oa=(c[j>>2]=u,+g[j>>2])+0.0;g[Z+1008>>2]=na;g[Z+1008+4>>2]=oa;g[Z+1008+8>>2]=pa+.25;g[Z+1008+12>>2]=0.0;Zb[d&127](w,Z+1024|0,Z+1008|0,Z+272|0);d=c[B+712>>2]|0}f=f+1|0}while((f|0)<(d|0))}}if(v&128|0?(c[B+692>>2]|0)>0:0){f=0;do{d=c[B+700>>2]|0;e=d+(f*60|0)+8|0;c[Z+256>>2]=c[e>>2];c[Z+256+4>>2]=c[e+4>>2];c[Z+256+8>>2]=c[e+8>>2];c[Z+256+12>>2]=c[e+12>>2];e=c[d+(f*60|0)+24>>2]|0;if((e|0)>0){h=+g[Z+256>>2];i=+g[Z+256+4>>2];k=+g[Z+256+8>>2];m=0;do{u=c[d+(f*60|0)+28+(m<<2)>>2]|0;pa=+g[d+(f*60|0)+44+(m<<2)>>2];h=+g[u+8>>2]*pa+h;i=pa*+g[u+12>>2]+i;k=pa*+g[u+16>>2]+k;g[Z+256+8>>2]=k;m=m+1|0}while((m|0)!=(e|0));g[Z+256>>2]=h;g[Z+256+4>>2]=i}Vb[c[(c[w>>2]|0)+40>>2]&127](w,Z+256|0,c[d+(f*60|0)+4>>2]|0);f=f+1|0}while((f|0)<(c[B+692>>2]|0))}if(v&512|0){u=c[B+928>>2]|0;c[Z+1088>>2]=1065353216;c[Z+1088+4>>2]=0;c[Z+1088+8>>2]=1065353216;g[Z+1088+12>>2]=0.0;c[Z+1072>>2]=1065353216;c[Z+1072+4>>2]=1065353216;c[Z+1072+8>>2]=1065353216;g[Z+1072+12>>2]=0.0;Cf(w,u,0,Z+1088|0,Z+1072|0)}if(v&1024|0){u=c[B+988>>2]|0;c[Z+1088>>2]=0;c[Z+1088+4>>2]=1065353216;c[Z+1088+8>>2]=0;g[Z+1088+12>>2]=0.0;c[Z+1072>>2]=1065353216;c[Z+1072+4>>2]=0;c[Z+1072+8>>2]=0;g[Z+1072+12>>2]=0.0;Cf(w,u,0,Z+1088|0,Z+1072|0)}if(v&2048|0){u=c[B+1048>>2]|0;c[Z+1088>>2]=0;c[Z+1088+4>>2]=1065353216;c[Z+1088+8>>2]=1065353216;g[Z+1088+12>>2]=0.0;c[Z+1072>>2]=1065353216;c[Z+1072+4>>2]=0;c[Z+1072+8>>2]=0;g[Z+1072+12>>2]=0.0;Cf(w,u,0,Z+1088|0,Z+1072|0)}a:do if(v&4096|0?(c[B+852>>2]|0)>0:0){e=0;while(1){d=c[(c[B+860>>2]|0)+(e<<2)>>2]|0;switch(pb[c[(c[d>>2]|0)+20>>2]&127](d)|0){case 0:{v=ii(d+4|0)|0;pa=+g[d+28>>2];oa=+g[d+32>>2];na=+g[d+36>>2];ma=pa*+g[v+16>>2]+oa*+g[v+20>>2]+na*+g[v+24>>2]+ +g[v+52>>2];la=pa*+g[v+32>>2]+oa*+g[v+36>>2]+na*+g[v+40>>2]+ +g[v+56>>2];g[Z+240>>2]=pa*+g[v>>2]+oa*+g[v+4>>2]+na*+g[v+8>>2]+ +g[v+48>>2];g[Z+240+4>>2]=ma;g[Z+240+8>>2]=la;g[Z+240+12>>2]=0.0;v=ii(d+16|0)|0;la=+g[d+44>>2];ma=+g[d+48>>2];na=+g[d+52>>2];oa=la*+g[v+16>>2]+ma*+g[v+20>>2]+na*+g[v+24>>2]+ +g[v+52>>2];pa=la*+g[v+32>>2]+ma*+g[v+36>>2]+na*+g[v+40>>2]+ +g[v+56>>2];g[Z+224>>2]=la*+g[v>>2]+ma*+g[v+4>>2]+na*+g[v+8>>2]+ +g[v+48>>2];g[Z+224+4>>2]=oa;g[Z+224+8>>2]=pa;g[Z+224+12>>2]=0.0;v=c[(c[w>>2]|0)+8>>2]|0;u=(ii(d+4|0)|0)+48|0;c[Z+208>>2]=1065353216;c[Z+208+4>>2]=1065353216;c[Z+208+8>>2]=0;g[Z+208+12>>2]=0.0;Zb[v&127](w,u,Z+240|0,Z+208|0);u=c[(c[w>>2]|0)+8>>2]|0;v=(ii(d+16|0)|0)+48|0;c[Z+192>>2]=0;c[Z+192+4>>2]=1065353216;c[Z+192+8>>2]=1065353216;g[Z+192+12>>2]=0.0;Zb[u&127](w,v,Z+224|0,Z+192|0);c[Z+176>>2]=1065353216;c[Z+176+4>>2]=1065353216;c[Z+176+8>>2]=0;g[Z+176+12>>2]=0.0;v=c[(c[w>>2]|0)+8>>2]|0;pa=+g[Z+240>>2];u=c[Z+240+4>>2]|0;t=c[Z+240+8>>2]|0;g[Z+1088>>2]=pa+-.25;c[Z+1088+4>>2]=u;c[Z+1088+8>>2]=t;g[Z+1088+12>>2]=0.0;oa=(c[j>>2]=u,+g[j>>2])+0.0;na=(c[j>>2]=t,+g[j>>2])+0.0;g[Z+1072>>2]=pa+.25;g[Z+1072+4>>2]=oa;g[Z+1072+8>>2]=na;g[Z+1072+12>>2]=0.0;Zb[v&127](w,Z+1088|0,Z+1072|0,Z+176|0);v=c[(c[w>>2]|0)+8>>2]|0;t=c[Z+240>>2]|0;na=+g[Z+240+4>>2];u=c[Z+240+8>>2]|0;c[Z+1056>>2]=t;g[Z+1056+4>>2]=na+-.25;c[Z+1056+8>>2]=u;g[Z+1056+12>>2]=0.0;oa=(c[j>>2]=t,+g[j>>2])+0.0;pa=(c[j>>2]=u,+g[j>>2])+0.0;g[Z+1040>>2]=oa;g[Z+1040+4>>2]=na+.25;g[Z+1040+8>>2]=pa;g[Z+1040+12>>2]=0.0;Zb[v&127](w,Z+1056|0,Z+1040|0,Z+176|0);v=c[(c[w>>2]|0)+8>>2]|0;u=c[Z+240>>2]|0;t=c[Z+240+4>>2]|0;pa=+g[Z+240+8>>2];c[Z+1024>>2]=u;c[Z+1024+4>>2]=t;g[Z+1024+8>>2]=pa+-.25;g[Z+1024+12>>2]=0.0;na=(c[j>>2]=u,+g[j>>2])+0.0;oa=(c[j>>2]=t,+g[j>>2])+0.0;g[Z+1008>>2]=na;g[Z+1008+4>>2]=oa;g[Z+1008+8>>2]=pa+.25;g[Z+1008+12>>2]=0.0;Zb[v&127](w,Z+1024|0,Z+1008|0,Z+176|0);c[Z+160>>2]=0;c[Z+160+4>>2]=1065353216;c[Z+160+8>>2]=1065353216;g[Z+160+12>>2]=0.0;v=c[(c[w>>2]|0)+8>>2]|0;pa=+g[Z+224>>2];t=c[Z+224+4>>2]|0;u=c[Z+224+8>>2]|0;g[Z+1088>>2]=pa+-.25;c[Z+1088+4>>2]=t;c[Z+1088+8>>2]=u;g[Z+1088+12>>2]=0.0;oa=(c[j>>2]=t,+g[j>>2])+0.0;na=(c[j>>2]=u,+g[j>>2])+0.0;g[Z+1072>>2]=pa+.25;g[Z+1072+4>>2]=oa;g[Z+1072+8>>2]=na;g[Z+1072+12>>2]=0.0;Zb[v&127](w,Z+1088|0,Z+1072|0,Z+160|0);v=c[(c[w>>2]|0)+8>>2]|0;u=c[Z+224>>2]|0;na=+g[Z+224+4>>2];t=c[Z+224+8>>2]|0;c[Z+1056>>2]=u;g[Z+1056+4>>2]=na+-.25;c[Z+1056+8>>2]=t;g[Z+1056+12>>2]=0.0;oa=(c[j>>2]=u,+g[j>>2])+0.0;pa=(c[j>>2]=t,+g[j>>2])+0.0;g[Z+1040>>2]=oa;g[Z+1040+4>>2]=na+.25;g[Z+1040+8>>2]=pa;g[Z+1040+12>>2]=0.0;Zb[v&127](w,Z+1056|0,Z+1040|0,Z+160|0);v=c[(c[w>>2]|0)+8>>2]|0;t=c[Z+224>>2]|0;u=c[Z+224+4>>2]|0;pa=+g[Z+224+8>>2];c[Z+1024>>2]=t;c[Z+1024+4>>2]=u;g[Z+1024+8>>2]=pa+-.25;g[Z+1024+12>>2]=0.0;na=(c[j>>2]=t,+g[j>>2])+0.0;oa=(c[j>>2]=u,+g[j>>2])+0.0;g[Z+1008>>2]=na;g[Z+1008+4>>2]=oa;g[Z+1008+8>>2]=pa+.25;g[Z+1008+12>>2]=0.0;Zb[v&127](w,Z+1024|0,Z+1008|0,Z+160|0);break}case 1:{v=(ii(d+4|0)|0)+48|0;c[Z+144>>2]=c[v>>2];c[Z+144+4>>2]=c[v+4>>2];c[Z+144+8>>2]=c[v+8>>2];c[Z+144+12>>2]=c[v+12>>2];v=(ii(d+16|0)|0)+48|0;c[Z+128>>2]=c[v>>2];c[Z+128+4>>2]=c[v+4>>2];c[Z+128+8>>2]=c[v+8>>2];c[Z+128+12>>2]=c[v+12>>2];v=ii(d+4|0)|0;ja=+g[d+28>>2];ia=+g[d+32>>2];ma=+g[d+36>>2];ka=+g[v>>2]*ja+ +g[v+4>>2]*ia+ +g[v+8>>2]*ma;la=ja*+g[v+16>>2]+ia*+g[v+20>>2]+ma*+g[v+24>>2];ma=ja*+g[v+32>>2]+ia*+g[v+36>>2]+ma*+g[v+40>>2];v=ii(d+16|0)|0;ia=+g[d+44>>2];ja=+g[d+48>>2];pa=+g[d+52>>2];na=+g[v>>2]*ia+ +g[v+4>>2]*ja+ +g[v+8>>2]*pa;oa=ia*+g[v+16>>2]+ja*+g[v+20>>2]+pa*+g[v+24>>2];pa=ia*+g[v+32>>2]+ja*+g[v+36>>2]+pa*+g[v+40>>2];v=c[(c[w>>2]|0)+8>>2]|0;ja=la*10.0+ +g[Z+144+4>>2];ia=ma*10.0+ +g[Z+144+8>>2];g[Z+112>>2]=ka*10.0+ +g[Z+144>>2];g[Z+112+4>>2]=ja;g[Z+112+8>>2]=ia;g[Z+112+12>>2]=0.0;c[Z+96>>2]=1065353216;c[Z+96+4>>2]=1065353216;c[Z+96+8>>2]=0;g[Z+96+12>>2]=0.0;Zb[v&127](w,Z+144|0,Z+112|0,Z+96|0);v=c[(c[w>>2]|0)+8>>2]|0;ia=oa*10.0+ +g[Z+144+4>>2];ja=pa*10.0+ +g[Z+144+8>>2];g[Z+80>>2]=na*10.0+ +g[Z+144>>2];g[Z+80+4>>2]=ia;g[Z+80+8>>2]=ja;g[Z+80+12>>2]=0.0;c[Z+64>>2]=1065353216;c[Z+64+4>>2]=1065353216;c[Z+64+8>>2]=0;g[Z+64+12>>2]=0.0;Zb[v&127](w,Z+144|0,Z+80|0,Z+64|0);v=c[(c[w>>2]|0)+8>>2]|0;la=la*10.0+ +g[Z+128+4>>2];ma=ma*10.0+ +g[Z+128+8>>2];g[Z+48>>2]=ka*10.0+ +g[Z+128>>2];g[Z+48+4>>2]=la;g[Z+48+8>>2]=ma;g[Z+48+12>>2]=0.0;c[Z+32>>2]=0;c[Z+32+4>>2]=1065353216;c[Z+32+8>>2]=1065353216;g[Z+32+12>>2]=0.0;Zb[v&127](w,Z+128|0,Z+48|0,Z+32|0);v=c[(c[w>>2]|0)+8>>2]|0;oa=oa*10.0+ +g[Z+128+4>>2];pa=pa*10.0+ +g[Z+128+8>>2];g[Z+16>>2]=na*10.0+ +g[Z+128>>2];g[Z+16+4>>2]=oa;g[Z+16+8>>2]=pa;g[Z+16+12>>2]=0.0;c[Z>>2]=0;c[Z+4>>2]=1065353216;c[Z+8>>2]=1065353216;g[Z+12>>2]=0.0;Zb[v&127](w,Z+128|0,Z+16|0,Z);break}default:{}}e=e+1|0;if((e|0)>=(c[B+852>>2]|0))break a}}while(0)}d=c[b+72>>2]|0;if(d|0?(pb[c[(c[d>>2]|0)+48>>2]&127](d)|0)&2|0:0){if(a[b+348>>0]|0){v=c[b+72>>2]|0;w=c[B+928>>2]|0;c[Z+1088>>2]=1065353216;c[Z+1088+4>>2]=0;c[Z+1088+8>>2]=1065353216;g[Z+1088+12>>2]=0.0;c[Z+1072>>2]=1065353216;c[Z+1072+4>>2]=1065353216;c[Z+1072+8>>2]=1065353216;g[Z+1072+12>>2]=0.0;Cf(v,w,0,Z+1088|0,Z+1072|0)}if(a[b+349>>0]|0){v=c[b+72>>2]|0;w=c[B+988>>2]|0;c[Z+1088>>2]=0;c[Z+1088+4>>2]=1065353216;c[Z+1088+8>>2]=0;g[Z+1088+12>>2]=0.0;c[Z+1072>>2]=1065353216;c[Z+1072+4>>2]=0;c[Z+1072+8>>2]=0;g[Z+1072+12>>2]=0.0;Cf(v,w,0,Z+1088|0,Z+1072|0)}if(a[b+350>>0]|0){w=c[b+72>>2]|0;B=c[B+1048>>2]|0;c[Z+1088>>2]=0;c[Z+1088+4>>2]=1065353216;c[Z+1088+8>>2]=1065353216;g[Z+1088+12>>2]=0.0;c[Z+1072>>2]=1065353216;c[Z+1072+4>>2]=0;c[Z+1072+8>>2]=0;g[Z+1072+12>>2]=0.0;Cf(w,B,0,Z+1088|0,Z+1072|0)}}Y=Y+1|0}while((Y|0)<(c[b+328>>2]|0));l=Z;return}function bc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0.0,u=0.0,v=0,w=0.0,x=0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0,P=0,Q=0,R=0,T=0.0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;ba=l;l=l+128|0;a[ba+16>>0]=1;c[ba+12>>2]=0;c[ba+4>>2]=0;c[ba+8>>2]=0;a[ba+36>>0]=1;c[ba+32>>2]=0;c[ba+24>>2]=0;c[ba+28>>2]=0;i=e>>>0>8?e:8;if((i|0)>0){c[6485]=(c[6485]|0)+1;h=ic((i<<4|3)+16|0)|0;if(!h)j=0;else{c[(h+4+15&-16)+-4>>2]=h;j=h+4+15&-16}h=0;do{aa=j+(h<<4)|0;c[aa>>2]=c[ba+72>>2];c[aa+4>>2]=c[ba+72+4>>2];c[aa+8>>2]=c[ba+72+8>>2];c[aa+12>>2]=c[ba+72+12>>2];h=h+1|0}while((h|0)!=(i|0));aa=j;$=j}else{aa=0;$=0}a:do if(e){i=c[ba+24>>2]|0;if((i|0)<0){h=c[ba+32>>2]|0;if((c[ba+28>>2]|0)<0){if(!((h|0)==0|(a[ba+36>>0]|0)==0)){c[6486]=(c[6486]|0)+1;Uc(c[h+-4>>2]|0)}a[ba+36>>0]=1;c[ba+32>>2]=0;c[ba+28>>2]=0;h=0}Lk(h+(i<<2)|0,0,S(i,-4)|0)|0}c[ba+24>>2]=0;u=3402823466385288598117041.0e14;n=-3402823466385288598117041.0e14;w=3402823466385288598117041.0e14;o=-3402823466385288598117041.0e14;z=3402823466385288598117041.0e14;t=-3402823466385288598117041.0e14;h=0;i=d;while(1){T=+g[i>>2];u=T<u?T:u;n=T>n?T:n;T=+g[i+4>>2];w=T<w?T:w;o=T>o?T:o;T=+g[i+8>>2];z=T<z?T:z;t=T>t?T:t;h=h+1|0;if((h|0)==(e|0))break;else i=i+16|0}p=n-u;T=o-w;n=t-z;J=u+p*.5;C=w+T*.5;B=z+n*.5;do if(e>>>0<3|(p<9.999999974752427e-07|T<9.999999974752427e-07|n<9.999999974752427e-07)){t=p>9.999999974752427e-07&p<3402823466385288598117041.0e14?p:3402823466385288598117041.0e14;t=T>9.999999974752427e-07&T<t?T:t;t=n>9.999999974752427e-07&n<t?n:t;if(!(t==3402823466385288598117041.0e14)){o=p<9.999999974752427e-07?t*.05000000074505806:p;p=T<9.999999974752427e-07?t*.05000000074505806:T;if(n<9.999999974752427e-07)n=t*.05000000074505806}else{o=.009999999776482582;p=.009999999776482582;n=.009999999776482582}A=B+n;H=C+p;I=J+o;w=B-n;u=C-p;t=J-o;p=1.0;o=1.0;n=1.0;_=50}else{h=0;r=0;i=0;q=d;do{w=1.0/p*+g[q>>2];z=1.0/T*+g[q+4>>2];A=1.0/n*+g[q+8>>2];q=q+16|0;b:do if(i){j=0;while(1){d=aa+(j<<4)|0;o=+g[d>>2];k=aa+(j<<4)+4|0;t=+g[k>>2];m=aa+(j<<4)+8|0;u=+g[m>>2];if(+F(+(o-w))<1.0000000474974513e-03&+F(+(t-z))<1.0000000474974513e-03&+F(+(u-A))<1.0000000474974513e-03)break;j=j+1|0;if(j>>>0>=i>>>0){m=j;break b}}if((w-J*(1.0/p))*(w-J*(1.0/p))+(z-C*(1.0/T))*(z-C*(1.0/T))+(A-B*(1.0/n))*(A-B*(1.0/n))>(o-J*(1.0/p))*(o-J*(1.0/p))+(t-C*(1.0/T))*(t-C*(1.0/T))+(u-B*(1.0/n))*(u-B*(1.0/n))){g[d>>2]=w;g[k>>2]=z;g[m>>2]=A;m=j}else m=j}else m=0;while(0);if((m|0)==(i|0)){g[aa+(i<<4)>>2]=w;g[aa+(i<<4)+4>>2]=z;g[aa+(i<<4)+8>>2]=A;i=i+1|0}if((h|0)==(c[ba+28>>2]|0)?(s=h|0?h<<1:1,(h|0)<(s|0)):0){if((s|0)!=0?(c[6485]=(c[6485]|0)+1,v=ic((s<<2|3)+16|0)|0,(v|0)!=0):0){c[(v+4+15&-16)+-4>>2]=v;k=v+4+15&-16}else k=0;d=c[ba+32>>2]|0;if((h|0)<=0){if(d)_=36}else{j=0;do{c[k+(j<<2)>>2]=c[d+(j<<2)>>2];j=j+1|0}while((j|0)!=(h|0));_=36}if((_|0)==36){_=0;if(a[ba+36>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[ba+32>>2]=0;h=c[ba+24>>2]|0}a[ba+36>>0]=1;c[ba+32>>2]=k;c[ba+28>>2]=s}c[(c[ba+32>>2]|0)+(h<<2)>>2]=m;h=(c[ba+24>>2]|0)+1|0;c[ba+24>>2]=h;r=r+1|0}while((r|0)!=(e|0));s=(i|0)==0;if(s){h=1;B=3402823466385288598117041.0e14;u=-3402823466385288598117041.0e14;z=3402823466385288598117041.0e14;t=-3402823466385288598117041.0e14;w=3402823466385288598117041.0e14;o=-3402823466385288598117041.0e14}else{C=3402823466385288598117041.0e14;B=3402823466385288598117041.0e14;H=-3402823466385288598117041.0e14;u=-3402823466385288598117041.0e14;J=3402823466385288598117041.0e14;z=3402823466385288598117041.0e14;K=-3402823466385288598117041.0e14;t=-3402823466385288598117041.0e14;M=3402823466385288598117041.0e14;w=3402823466385288598117041.0e14;N=-3402823466385288598117041.0e14;o=-3402823466385288598117041.0e14;r=0;while(1){A=+g[aa+(r<<4)>>2];h=A<C;B=h?A:B;j=A>H;u=j?A:u;I=+g[aa+(r<<4)+4>>2];d=I<J;z=d?I:z;k=I>K;t=k?I:t;L=+g[aa+(r<<4)+8>>2];m=L<M;w=m?L:w;q=L>N;o=q?L:o;r=r+1|0;if((r|0)==(i|0))break;else{C=h?A:C;H=j?A:H;J=d?I:J;K=k?I:K;M=m?L:M;N=q?L:N}}h=i>>>0<3}A=u-B;t=t-z;u=o-w;if(!(h|(A<9.999999974752427e-07|t<9.999999974752427e-07|u<9.999999974752427e-07)))if(s){h=0;s=0;r=0;m=0;q=0;k=0;break a}else{o=T;break}C=B+A*.5;B=z+t*.5;z=w+u*.5;w=A>=9.999999974752427e-07&A<3402823466385288598117041.0e14?A:3402823466385288598117041.0e14;w=t>=9.999999974752427e-07&t<w?t:w;w=u>=9.999999974752427e-07&u<w?u:w;if(!(w==3402823466385288598117041.0e14)){o=A<9.999999974752427e-07?w*.05000000074505806:A;t=t<9.999999974752427e-07?w*.05000000074505806:t;if(u<9.999999974752427e-07)u=w*.05000000074505806}else{o=.009999999776482582;t=.009999999776482582;u=.009999999776482582}A=z+u;H=B+t;I=C+o;w=z-u;u=B-t;t=C-o;o=T;_=50}while(0);if((_|0)==50){g[aa>>2]=t;g[aa+4>>2]=u;g[aa+8>>2]=w;g[aa+16>>2]=I;g[aa+20>>2]=u;g[aa+24>>2]=w;g[aa+32>>2]=I;g[aa+36>>2]=H;g[aa+40>>2]=w;g[aa+48>>2]=t;g[aa+52>>2]=H;g[aa+56>>2]=w;g[aa+64>>2]=t;g[aa+68>>2]=u;g[aa+72>>2]=A;g[aa+80>>2]=I;g[aa+84>>2]=u;g[aa+88>>2]=A;g[aa+96>>2]=I;g[aa+100>>2]=H;g[aa+104>>2]=A;g[aa+112>>2]=t;g[aa+116>>2]=H;g[aa+120>>2]=A;i=8}h=0;do{Z=aa+(h<<4)|0;g[Z>>2]=p*+g[Z>>2];Z=aa+(h<<4)+4|0;g[Z>>2]=o*+g[Z>>2];Z=aa+(h<<4)+8|0;g[Z>>2]=n*+g[Z>>2];h=h+1|0}while(h>>>0<i>>>0);Z=i;if((Z|0)>=4){n=+g[aa>>2];o=+g[aa+4>>2];p=+g[aa+8>>2];c[6485]=(c[6485]|0)+1;h=ic((Z<<2|3)+16|0)|0;if(!h)i=0;else{c[(h+4+15&-16)+-4>>2]=h;i=h+4+15&-16}c[6485]=(c[6485]|0)+1;h=ic((Z<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}r=h;k=h;D=i;m=h;d=h;v=Z;E=i;x=i;u=n;w=o;z=p;t=n;n=p;y=0;j=Z;while(1){do if((y|0)==(j|0)?(U=j|0?j<<1:1,(j|0)<(U|0)):0){if((U|0)!=0?(c[6485]=(c[6485]|0)+1,V=ic((U<<2|3)+16|0)|0,(V|0)!=0):0){c[(V+4+15&-16)+-4>>2]=V;i=V+4+15&-16}else i=0;if((j|0)>0){h=0;do{c[i+(h<<2)>>2]=c[m+(h<<2)>>2];h=h+1|0}while((h|0)!=(j|0));if(!d){s=i;m=i;Q=i;P=i;R=i;q=U;break}}else if((m|0)==0|(d|0)==0){s=i;m=i;Q=i;P=i;R=i;q=U;break}c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0);s=i;m=i;Q=i;P=i;R=i;q=U}else{s=d;Q=k;P=r;R=h;q=j}while(0);c[m+(y<<2)>>2]=1;d=y;y=y+1|0;do if((d|0)==(v|0)){i=d|0?d<<1:1;if((d|0)<(i|0)){if((i|0)!=0?(c[6485]=(c[6485]|0)+1,W=ic((i<<2|3)+16|0)|0,(W|0)!=0):0){c[(W+4+15&-16)+-4>>2]=W;j=W+4+15&-16}else j=0;if((d|0)>0){h=0;do{c[j+(h<<2)>>2]=c[E+(h<<2)>>2];h=h+1|0}while((h|0)!=(d|0));if(!x){h=j;E=j;O=j;break}}else if((E|0)==0|(x|0)==0){h=j;E=j;O=j;break}c[6486]=(c[6486]|0)+1;Uc(c[x+-4>>2]|0);h=j;E=j;O=j}else{h=x;i=d;O=D}}else{h=x;i=v;O=D}while(0);c[E+(d<<2)>>2]=0;M=+g[aa+(d<<4)>>2];u=M<u?M:u;N=+g[aa+(d<<4)+4>>2];w=N<w?N:w;T=+g[aa+(d<<4)+8>>2];z=T<z?T:z;t=t<M?M:t;o=o<N?N:o;n=n<T?T:n;if((y|0)>=(Z|0))break;else{r=P;k=Q;D=O;d=s;v=i;x=h;h=R;j=q}}L=t-u;u=o-w;w=n-z;L=+G(+(w*w+(u*u+L*L)))*1.0000000474974513e-03;y=Ge(aa,Z,.009999999776482582,.019999999552965164,1.0,R)|0;D=Ge(aa,Z,-.009999999776482582,-.019999999552965164,-1.0,R)|0;m=aa+(y<<4)|0;q=aa+(D<<4)|0;u=+g[m>>2]-+g[q>>2];r=aa+(y<<4)+4|0;s=aa+(D<<4)+4|0;w=+g[r>>2]-+g[s>>2];v=aa+(y<<4)+8|0;x=aa+(D<<4)+8|0;z=+g[v>>2]-+g[x>>2];c:do if((y|0)!=(D|0)?!(z==0.0&w==0.0&u==0.0):0){n=+G(+((z*.019999999552965164-w*0.0)*(z*.019999999552965164-w*0.0)+(u*0.0-z)*(u*0.0-z)+(w-u*.019999999552965164)*(w-u*.019999999552965164)));o=+G(+((z-w*0.0)*(z-w*0.0)+(z*.019999999552965164+u*0.0)*(z*.019999999552965164+u*0.0)+(w*-.019999999552965164-u)*(w*-.019999999552965164-u)));if(n>o){p=(w-u*.019999999552965164)*(1.0/n);t=(z*.019999999552965164-w*0.0)*(1.0/n);n=(u*0.0-z)*(1.0/n)}else{p=(w*-.019999999552965164-u)*(1.0/o);t=(z-w*0.0)*(1.0/o);n=(z*.019999999552965164+u*0.0)*(1.0/o)}h=Ge(aa,Z,t,n,p,R)|0;if((h|0)==(y|0)|(h|0)==(D|0))i=Ge(aa,Z,-t,-n,-p,R)|0;else i=h;if(!((i|0)==(y|0)|(i|0)==(D|0))){j=aa+(i<<4)|0;n=+g[j>>2]-+g[m>>2];d=aa+(i<<4)+4|0;o=+g[d>>2]-+g[r>>2];k=aa+(i<<4)+8|0;p=+g[k>>2]-+g[v>>2];t=1.0/+G(+((w*n-o*u)*(w*n-o*u)+((o*z-p*w)*(o*z-p*w)+(p*u-z*n)*(p*u-z*n))));h=Ge(aa,Z,(o*z-p*w)*t,(p*u-z*n)*t,(w*n-o*u)*t,R)|0;if((h|0)==(i|0)|((h|0)==(y|0)|(h|0)==(D|0)))h=Ge(aa,Z,-((o*z-p*w)*t),-((p*u-z*n)*t),-((w*n-o*u)*t),R)|0;if(!((h|0)==(i|0)|((h|0)==(y|0)|(h|0)==(D|0)))?(C=+g[m>>2],J=+g[r>>2],B=+g[v>>2],N=+g[q>>2]-C,H=+g[s>>2]-J,K=+g[x>>2]-B,M=+g[j>>2]-C,I=+g[d>>2]-J,T=+g[k>>2]-B,Y=(+g[aa+(h<<4)+8>>2]-B)*(N*I-H*M)+((+g[aa+(h<<4)>>2]-C)*(H*T-K*I)+(+g[aa+(h<<4)+4>>2]-J)*(K*M-N*T))<0.0,X=Y?h:i,Y=Y?i:h,(y|0)!=-1):0){I=(+g[aa+(y<<4)>>2]+ +g[aa+(D<<4)>>2]+ +g[aa+(X<<4)>>2]+ +g[aa+(Y<<4)>>2])*.25;J=(+g[aa+(y<<4)+4>>2]+ +g[aa+(D<<4)+4>>2]+ +g[aa+(X<<4)+4>>2]+ +g[aa+(Y<<4)+4>>2])*.25;K=(+g[aa+(y<<4)+8>>2]+ +g[aa+(D<<4)+8>>2]+ +g[aa+(X<<4)+8>>2]+ +g[aa+(Y<<4)+8>>2])*.25;h=zh(ba,X,Y,D)|0;c[h+12>>2]=2;c[h+16>>2]=3;c[h+20>>2]=1;h=zh(ba,Y,X,y)|0;c[h+12>>2]=3;c[h+16>>2]=2;c[h+20>>2]=0;h=zh(ba,y,D,Y)|0;c[h+12>>2]=0;c[h+16>>2]=1;c[h+20>>2]=3;h=zh(ba,D,y,X)|0;c[h+12>>2]=1;c[h+16>>2]=0;c[h+20>>2]=2;c[E+(Y<<2)>>2]=1;c[E+(X<<2)>>2]=1;c[E+(D<<2)>>2]=1;c[E+(y<<2)>>2]=1;h=c[ba+4>>2]|0;if((h|0)>0){i=0;do{h=c[(c[ba+12>>2]|0)+(i<<2)>>2]|0;X=c[h>>2]|0;W=c[h+4>>2]|0;Y=c[h+8>>2]|0;u=+g[aa+(W<<4)>>2];p=u-+g[aa+(X<<4)>>2];w=+g[aa+(W<<4)+4>>2];t=w-+g[aa+(X<<4)+4>>2];o=+g[aa+(W<<4)+8>>2];n=o-+g[aa+(X<<4)+8>>2];u=+g[aa+(Y<<4)>>2]-u;w=+g[aa+(Y<<4)+4>>2]-w;o=+g[aa+(Y<<4)+8>>2]-o;z=+G(+((p*w-t*u)*(p*w-t*u)+((t*o-n*w)*(t*o-n*w)+(n*u-p*o)*(n*u-p*o))));if(z==0.0){A=1.0;o=0.0;n=0.0}else{A=(t*o-n*w)*(1.0/z);o=(n*u-p*o)*(1.0/z);n=(p*w-t*u)*(1.0/z)}X=Ge(aa,Z,A,o,n,R)|0;c[h+28>>2]=X;Y=c[h>>2]|0;g[h+32>>2]=(+g[aa+(X<<4)>>2]-+g[aa+(Y<<4)>>2])*A+(+g[aa+(X<<4)+4>>2]-+g[aa+(Y<<4)+4>>2])*o+(+g[aa+(X<<4)+8>>2]-+g[aa+(Y<<4)+8>>2])*n;i=i+1|0;h=c[ba+4>>2]|0}while((i|0)<(h|0))}if((e+-4|0)>0){r=e+-4|0;while(1){k=c[ba+12>>2]|0;d=0;j=0;while(1){i=c[k+(d<<2)>>2]|0;do if(j){if(!i){i=j;break}if(!(+g[j+32>>2]<+g[i+32>>2]))i=j;else _=102}else _=102;while(0);if((_|0)==102)_=0;d=d+1|0;if((d|0)>=(h|0))break;else j=i}if((i|0)==0?1:!(+g[i+32>>2]>L)){h=1;break c}q=c[i+28>>2]|0;c[E+(q<<2)>>2]=1;h=c[ba+4>>2]|0;d:do if(h|0){j=aa+(q<<4)|0;d=aa+(q<<4)+4|0;m=aa+(q<<4)+8|0;i=k;while(1){h=h+-1|0;i=c[i+(h<<2)>>2]|0;do if(i|0){Y=c[i>>2]|0;X=c[i+4>>2]|0;e=c[i+8>>2]|0;p=+g[aa+(X<<4)>>2];A=+g[aa+(Y<<4)>>2];t=+g[aa+(X<<4)+4>>2];B=+g[aa+(Y<<4)+4>>2];n=+g[aa+(X<<4)+8>>2];C=+g[aa+(Y<<4)+8>>2];u=+g[aa+(e<<4)>>2]-p;w=+g[aa+(e<<4)+4>>2]-t;o=+g[aa+(e<<4)+8>>2]-n;z=+G(+(((p-A)*w-(t-B)*u)*((p-A)*w-(t-B)*u)+(((t-B)*o-(n-C)*w)*((t-B)*o-(n-C)*w)+((n-C)*u-(p-A)*o)*((n-C)*u-(p-A)*o))));if(z==0.0){H=1.0;o=0.0;n=0.0}else{H=((t-B)*o-(n-C)*w)*(1.0/z);o=((n-C)*u-(p-A)*o)*(1.0/z);n=((p-A)*w-(t-B)*u)*(1.0/z)}if(!(H*(+g[j>>2]-A)+o*(+g[d>>2]-B)+n*(+g[m>>2]-C)>L*.009999999776482582))break;ce(ba,i,q)}while(0);if(!h)break;i=c[ba+12>>2]|0}h=c[ba+4>>2]|0;if(!h)break;else i=h;e:do{i=i+-1|0;k=c[ba+12>>2]|0;m=c[k+(i<<2)>>2]|0;do if(m){d=c[m>>2]|0;do if((d|0)!=(q|0)){j=c[m+4>>2]|0;if((j|0)==(q|0)){j=q;break}if((c[m+8>>2]|0)!=(q|0))break e}else j=c[m+4>>2]|0;while(0);e=c[m+8>>2]|0;A=+g[aa+(j<<4)>>2];C=+g[aa+(d<<4)>>2];B=+g[aa+(j<<4)+4>>2];H=+g[aa+(d<<4)+4>>2];o=+g[aa+(j<<4)+8>>2];u=+g[aa+(d<<4)+8>>2];p=+g[aa+(e<<4)>>2]-A;t=+g[aa+(e<<4)+4>>2]-B;n=+g[aa+(e<<4)+8>>2]-o;w=+G(+(((A-C)*t-(B-H)*p)*((A-C)*t-(B-H)*p)+(((B-H)*n-(o-u)*t)*((B-H)*n-(o-u)*t)+((o-u)*p-(A-C)*n)*((o-u)*p-(A-C)*n))));if(w==0.0){z=1.0;o=0.0;n=0.0}else{z=((B-H)*n-(o-u)*t)*(1.0/w);o=((o-u)*p-(A-C)*n)*(1.0/w);n=((A-C)*t-(B-H)*p)*(1.0/w)}if(!(w<L*L*.10000000149011612?1:(K-u)*n+((J-H)*o+(I-C)*z)>L*.009999999776482582))break;ce(ba,c[k+(c[m+12>>2]<<2)>>2]|0,q);i=c[ba+4>>2]|0;h=i}while(0)}while((i|0)!=0);if(!h)break;do{h=h+-1|0;j=c[(c[ba+12>>2]|0)+(h<<2)>>2]|0;do if(j|0){if((c[j+28>>2]|0)>-1)break d;Y=c[j>>2]|0;X=c[j+4>>2]|0;e=c[j+8>>2]|0;u=+g[aa+(X<<4)>>2];p=u-+g[aa+(Y<<4)>>2];w=+g[aa+(X<<4)+4>>2];t=w-+g[aa+(Y<<4)+4>>2];o=+g[aa+(X<<4)+8>>2];n=o-+g[aa+(Y<<4)+8>>2];u=+g[aa+(e<<4)>>2]-u;w=+g[aa+(e<<4)+4>>2]-w;o=+g[aa+(e<<4)+8>>2]-o;z=+G(+((p*w-t*u)*(p*w-t*u)+((t*o-n*w)*(t*o-n*w)+(n*u-p*o)*(n*u-p*o))));if(z==0.0){A=1.0;o=0.0;n=0.0}else{A=(t*o-n*w)*(1.0/z);o=(n*u-p*o)*(1.0/z);n=(p*w-t*u)*(1.0/z)}i=Ge(aa,Z,A,o,n,R)|0;c[j+28>>2]=i;if(!(c[E+(i<<2)>>2]|0)){e=c[j>>2]|0;g[j+32>>2]=(+g[aa+(i<<4)>>2]-+g[aa+(e<<4)>>2])*A+(+g[aa+(i<<4)+4>>2]-+g[aa+(e<<4)+4>>2])*o+(+g[aa+(i<<4)+8>>2]-+g[aa+(e<<4)+8>>2])*n;break}else{c[j+28>>2]=-1;break}}while(0)}while((h|0)!=0)}while(0);if((r|0)<=1){h=1;break c}r=r+-1|0;h=c[ba+4>>2]|0}}else h=1}else h=0}else h=0}else h=0;while(0);if(!((Q|0)==0|(P|0)==0)){c[6486]=(c[6486]|0)+1;Uc(c[P+-4>>2]|0)}if(!((E|0)==0|(O|0)==0)){c[6486]=(c[6486]|0)+1;Uc(c[O+-4>>2]|0)}if(h){h=c[ba+4>>2]|0;if((h|0)>0){i=c[ba+12>>2]|0;m=0;d=0;j=0;q=0;k=0;s=0;r=0;D=0;do{v=c[i+(D<<2)>>2]|0;if(v){do if((m|0)==(d|0)){d=m|0?m<<1:1;if((m|0)<(d|0)){do if(!d)i=0;else{c[6485]=(c[6485]|0)+1;h=ic((d<<2|3)+16|0)|0;if(!h){i=0;break}c[(h+4+15&-16)+-4>>2]=h;i=h+4+15&-16}while(0);if((m|0)>0){h=0;do{c[i+(h<<2)>>2]=c[j+(h<<2)>>2];h=h+1|0}while((h|0)!=(m|0));if(!q){j=i;r=i;k=i;h=i;break}}else if((j|0)==0|(q|0)==0){j=i;r=i;k=i;h=i;break}c[6486]=(c[6486]|0)+1;Uc(c[q+-4>>2]|0);j=i;r=i;k=i;h=i}else{d=m;h=s;i=q}}else{h=s;i=q}while(0);c[j+(m<<2)>>2]=c[v>>2];s=m+1|0;v=(c[(c[ba+12>>2]|0)+(D<<2)>>2]|0)+4|0;do if((s|0)==(d|0)){q=d|0?d<<1:1;if((d|0)>=(q|0)){y=h;q=i;break}do if(!q)i=0;else{c[6485]=(c[6485]|0)+1;h=ic((q<<2|3)+16|0)|0;if(!h){i=0;break}c[(h+4+15&-16)+-4>>2]=h;i=h+4+15&-16}while(0);if((d|0)>0){h=0;do{c[i+(h<<2)>>2]=c[j+(h<<2)>>2];h=h+1|0}while((h|0)!=(d|0));if(!r){j=i;d=q;y=i;k=i;r=i;q=i;break}}else if((j|0)==0|(r|0)==0){j=i;d=q;y=i;k=i;r=i;q=i;break}c[6486]=(c[6486]|0)+1;Uc(c[r+-4>>2]|0);j=i;d=q;y=i;k=i;r=i;q=i}else{y=h;q=i}while(0);c[j+(s<<2)>>2]=c[v>>2];v=m+2|0;x=(c[(c[ba+12>>2]|0)+(D<<2)>>2]|0)+8|0;do if((v|0)==(d|0)){s=d|0?d<<1:1;if((d|0)>=(s|0))break;do if(!s)i=0;else{c[6485]=(c[6485]|0)+1;h=ic((s<<2|3)+16|0)|0;if(!h){i=0;break}c[(h+4+15&-16)+-4>>2]=h;i=h+4+15&-16}while(0);if((d|0)>0){h=0;do{c[i+(h<<2)>>2]=c[j+(h<<2)>>2];h=h+1|0}while((h|0)!=(d|0));if(!y){j=i;k=i;y=i;r=i;q=i;d=s;break}}else if((j|0)==0|(y|0)==0){j=i;k=i;y=i;r=i;q=i;d=s;break}c[6486]=(c[6486]|0)+1;Uc(c[y+-4>>2]|0);j=i;k=i;y=i;r=i;q=i;d=s}while(0);c[j+(v<<2)>>2]=c[x>>2];i=c[ba+12>>2]|0;h=c[i+(D<<2)>>2]|0;c[i+(c[h+24>>2]<<2)>>2]=0;if(h|0){c[6486]=(c[6486]|0)+1;Uc(c[h+-4>>2]|0)}h=c[ba+4>>2]|0;s=y;m=m+3|0}D=D+1|0}while((D|0)<(h|0));if((m|0)>0){c[6485]=(c[6485]|0)+1;h=ic((m<<2|3)+16|0)|0;if(!h)i=0;else{c[(h+4+15&-16)+-4>>2]=h;i=h+4+15&-16}Lk(i|0,0,m<<2|0)|0;h=0;do{c[i+(h<<2)>>2]=c[j+(h<<2)>>2];h=h+1|0}while((h|0)!=(m|0));d=i}else{d=0;i=0}R=m;h=c[ba+4>>2]|0;m=(m|0)/3|0;O=i}else{j=0;R=0;k=0;m=0;d=0;O=0}if((h|0)<0){if((c[ba+8>>2]|0)<0){i=c[ba+12>>2]|0;if(i|0){if(a[ba+16>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[i+-4>>2]|0)}c[ba+12>>2]=0}a[ba+16>>0]=1;c[ba+12>>2]=0;c[ba+8>>2]=0}do{c[(c[ba+12>>2]|0)+(h<<2)>>2]=0;h=h+1|0}while((h|0)!=0)}c[ba+4>>2]=0;if(!((j|0)==0|(k|0)==0)){c[6486]=(c[6486]|0)+1;Uc(c[k+-4>>2]|0)}q=m*3|0;if((Z|0)>0){c[6485]=(c[6485]|0)+1;h=ic((Z<<4|3)+16|0)|0;if(!h)i=0;else{c[(h+4+15&-16)+-4>>2]=h;i=h+4+15&-16}h=0;do{e=i+(h<<4)|0;c[e>>2]=c[ba+56>>2];c[e+4>>2]=c[ba+56+4>>2];c[e+8>>2]=c[ba+56+8>>2];c[e+12>>2]=c[ba+56+12>>2];h=h+1|0}while((h|0)!=(Z|0));Q=i;P=i}else{Q=0;P=0}i=c[ba+24>>2]|0;if((i|0)>0){c[6485]=(c[6485]|0)+1;h=ic((i<<2|3)+16|0)|0;if(!h)j=0;else{c[(h+4+15&-16)+-4>>2]=h;j=h+4+15&-16}Lk(j|0,0,i<<2|0)|0;if((c[ba+24>>2]|0)>0){h=c[ba+32>>2]|0;i=0;do{c[j+(i<<2)>>2]=c[h+(i<<2)>>2];i=i+1|0}while((i|0)<(c[ba+24>>2]|0));E=j;D=j}else{E=j;D=j}}else{E=0;D=0}if((Z|0)>0){c[6485]=(c[6485]|0)+1;h=ic((Z<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}Lk(h|0,0,Z<<2|0)|0;y=h;x=h}else{y=0;x=0}Lk(y|0,0,Z<<2|0)|0;if((R|0)<=2)if(!x){h=O;v=0}else{h=O;i=0;_=220}else{s=c[ba+32>>2]|0;v=0;i=0;do{h=O+(v<<2)|0;k=c[h>>2]|0;r=x+(k<<2)|0;j=c[r>>2]|0;if(!j){c[h>>2]=i;c[Q+(i<<4)>>2]=c[aa+(k<<4)>>2];c[Q+(i<<4)+4>>2]=c[aa+(k<<4)+4>>2];c[Q+(i<<4)+8>>2]=c[aa+(k<<4)+8>>2];h=c[ba+24>>2]|0;if((h|0)>0){j=0;do{if((c[E+(j<<2)>>2]|0)==(k|0))c[s+(j<<2)>>2]=i;j=j+1|0}while((j|0)!=(h|0))}i=i+1|0;c[r>>2]=i}else c[h>>2]=j+-1;v=v+1|0}while((v|0)!=(q|0));h=O;_=220}do if((_|0)==220){if(!y){v=i;break}c[6486]=(c[6486]|0)+1;Uc(c[y+-4>>2]|0);v=i}while(0);if(!((E|0)==0|(D|0)==0)){c[6486]=(c[6486]|0)+1;Uc(c[D+-4>>2]|0)}if((v|0)>0){c[6485]=(c[6485]|0)+1;i=ic((v<<4|3)+16|0)|0;if(!i)j=0;else{c[(i+4+15&-16)+-4>>2]=i;j=i+4+15&-16}i=0;do{_=j+(i<<4)|0;c[_>>2]=c[ba+40>>2];c[_+4>>2]=c[ba+40+4>>2];c[_+8>>2]=c[ba+40+8>>2];c[_+12>>2]=c[ba+40+12>>2];i=i+1|0}while((i|0)!=(v|0));s=j;r=j}else{s=0;r=0}if((R|0)>2){do if((R+2|0)>>>0<5)i=0;else{c[6485]=(c[6485]|0)+1;i=ic((m*12|3)+16|0)|0;if(!i){i=0;break}c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}while(0);Lk(i|0,0,m*12|0)|0;j=i;k=i}else{j=0;k=0}_h(s|0,P|0,v<<4|0)|0;_h(j|0,d|0,m*12|0)|0;do if(R){if(!h){h=0;break}c[6486]=(c[6486]|0)+1;Uc(c[h+-4>>2]|0);h=0}while(0);if((Q|0)==0|(P|0)==0){s=v;break}c[6486]=(c[6486]|0)+1;Uc(c[P+-4>>2]|0);s=v}else{h=0;s=0;r=0;m=0;q=0;k=0}}else{h=0;s=0;r=0;m=0;q=0;k=0}}else{h=0;s=0;r=0;m=0;q=0;k=0}while(0);if(!((aa|0)==0|($|0)==0)){c[6486]=(c[6486]|0)+1;Uc(c[$+-4>>2]|0)}if(h|0){c[6486]=(c[6486]|0)+1;Uc(c[h+-4>>2]|0)}c[6485]=(c[6485]|0)+1;h=ic(1271)|0;if(!h)y=0;else{c[(h+4+15&-16)+-4>>2]=h;y=h+4+15&-16}uc(y,b,s,r,0);if((m|0)>0){d=0;do{j=d*3|0;h=c[k+(j<<2)>>2]|0;i=c[k+(j+1<<2)>>2]|0;j=c[k+(j+2<<2)>>2]|0;if((h|0)<(i|0))Hf(y,h,i,0,0);if((i|0)<(j|0))Hf(y,i,j,0,0);if((j|0)<(h|0))Hf(y,j,h,0,0);Nf(y,h,i,j,0);d=d+1|0}while((d|0)!=(m|0))}if(s)if(!r)x=0;else{c[6486]=(c[6486]|0)+1;Uc(c[r+-4>>2]|0);x=0}else x=r;if(q)if(!k)v=0;else{c[6486]=(c[6486]|0)+1;Uc(c[k+-4>>2]|0);v=0}else v=k;if(f){i=c[y+732>>2]|0;if((i|0)>0){j=y+740|0;m=0;h=243703;do{d=c[j>>2]|0;k=d+(m*52|0)|0;h=(S(h,1664525)|0)+1013904223|0;q=ba+72|0;r=k;s=q+52|0;do{c[q>>2]=c[r>>2];q=q+4|0;r=r+4|0}while((q|0)<(s|0));q=k;r=d+(((h>>>0)%(i>>>0)|0)*52|0)|0;s=q+52|0;do{c[q>>2]=c[r>>2];q=q+4|0;r=r+4|0}while((q|0)<(s|0));q=d+(((h>>>0)%(i>>>0)|0)*52|0)|0;r=ba+72|0;s=q+52|0;do{c[q>>2]=c[r>>2];q=q+4|0;r=r+4|0}while((q|0)<(s|0));m=m+1|0}while((m|0)!=(i|0))}else h=243703;d=c[y+752>>2]|0;if((d|0)>0){k=y+760|0;m=0;do{j=c[k>>2]|0;i=j+(m*44|0)|0;h=(S(h,1664525)|0)+1013904223|0;j=j+(((h>>>0)%(d>>>0)|0)*44|0)|0;q=ba+72|0;r=i;s=q+44|0;do{c[q>>2]=c[r>>2];q=q+4|0;r=r+4|0}while((q|0)<(s|0));q=i;r=j;s=q+44|0;do{c[q>>2]=c[r>>2];q=q+4|0;r=r+4|0}while((q|0)<(s|0));q=j;r=ba+72|0;s=q+44|0;do{c[q>>2]=c[r>>2];q=q+4|0;r=r+4|0}while((q|0)<(s|0));m=m+1|0}while((m|0)!=(d|0))}}h=c[ba+32>>2]|0;if(h|0){if(a[ba+36>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[h+-4>>2]|0)}c[ba+32>>2]=0}a[ba+36>>0]=1;c[ba+32>>2]=0;c[ba+24>>2]=0;c[ba+28>>2]=0;h=c[ba+12>>2]|0;if(h|0){if(a[ba+16>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[h+-4>>2]|0)}c[ba+12>>2]=0}if(v|0){c[6486]=(c[6486]|0)+1;Uc(c[v+-4>>2]|0)}if(!x){l=ba;return y|0}c[6486]=(c[6486]|0)+1;Uc(c[x+-4>>2]|0);l=ba;return y|0}function cc(b){b=b|0;var d=0,e=0.0,f=0.0,h=0.0,i=0.0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0,E=0,F=0,G=0,H=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0,ka=0,la=0;Z=l;l=l+496|0;bj(12366);Ud(b);a:do if(pb[c[(c[b>>2]|0)+20>>2]&127](b)|0?(Y=pb[c[(c[b>>2]|0)+20>>2]&127](b)|0,(pb[c[(c[Y>>2]|0)+48>>2]&127](Y)|0)&6144|0):0){F=Z+432+44|0;G=Z+432+4|0;H=Z+432+8|0;K=Z+432+16|0;L=Z+432+20|0;M=Z+432+24|0;O=Z+432+32|0;P=Z+432+36|0;Q=Z+432+40|0;R=Z+432+48|0;S=Z+432+52|0;T=Z+432+56|0;U=Z+432+48|0;V=Z+432+16|0;W=Z+432+32|0;X=Z+432+48|0;C=Z+432+16|0;D=Z+432+32|0;E=Z+432+48|0;d=pb[c[(c[b>>2]|0)+104>>2]&127](b)|0;b:while(1){Y=d+-1|0;if((d|0)<=0)break a;p=Kb[c[(c[b>>2]|0)+108>>2]&31](b,Y)|0;d=pb[c[(c[b>>2]|0)+20>>2]&127](b)|0;d=(pb[c[(c[d>>2]|0)+48>>2]&127](d)|0)>>>11;o=pb[c[(c[b>>2]|0)+20>>2]&127](b)|0;o=(pb[c[(c[o>>2]|0)+48>>2]&127](o)|0)>>>12;B=+g[p+40>>2];c:do if(!(B<=0.0))switch(c[p+4>>2]|0){case 3:{c[Z+432>>2]=1065353216;c[Z+432+4>>2]=0;c[Z+432+4+4>>2]=0;c[Z+432+4+8>>2]=0;c[Z+432+4+12>>2]=0;c[Z+432+20>>2]=1065353216;c[Z+432+24>>2]=0;c[Z+432+24+4>>2]=0;c[Z+432+24+8>>2]=0;c[Z+432+24+12>>2]=0;c[Z+432+40>>2]=1065353216;c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;c[F+12>>2]=0;c[F+16>>2]=0;A=+g[p+300>>2];z=+g[p+304>>2];y=+g[p+308>>2];o=c[p+28>>2]|0;x=A*+g[o+20>>2]+z*+g[o+24>>2]+y*+g[o+28>>2]+ +g[o+56>>2];w=A*+g[o+36>>2]+z*+g[o+40>>2]+y*+g[o+44>>2]+ +g[o+60>>2];g[Z+432+48>>2]=A*+g[o+4>>2]+z*+g[o+8>>2]+y*+g[o+12>>2]+ +g[o+52>>2];g[Z+432+52>>2]=x;g[Z+432+56>>2]=w;g[Z+432+60>>2]=0.0;o=pb[c[(c[b>>2]|0)+20>>2]&127](b)|0;Xb[c[(c[o>>2]|0)+56>>2]&7](o,Z+432|0,B);w=+g[p+316>>2];x=+g[p+320>>2];y=+g[p+324>>2];p=c[p+32>>2]|0;z=w*+g[p+20>>2]+x*+g[p+24>>2]+y*+g[p+28>>2]+ +g[p+56>>2];A=w*+g[p+36>>2]+x*+g[p+40>>2]+y*+g[p+44>>2]+ +g[p+60>>2];g[Z+432+48>>2]=w*+g[p+4>>2]+x*+g[p+8>>2]+y*+g[p+12>>2]+ +g[p+52>>2];g[Z+432+52>>2]=z;g[Z+432+56>>2]=A;g[Z+432+60>>2]=0.0;if(d&1|0){p=pb[c[(c[b>>2]|0)+20>>2]&127](b)|0;Xb[c[(c[p>>2]|0)+56>>2]&7](p,Z+432|0,B)}break c}case 4:{n=c[p+28>>2]|0;e=+g[p+552>>2];da=+g[n+4>>2];f=+g[p+552+16>>2];ca=+g[n+8>>2];h=+g[p+552+32>>2];ba=+g[n+12>>2];i=+g[p+552+4>>2];q=+g[p+552+20>>2];r=+g[p+552+36>>2];s=+g[p+552+8>>2];u=+g[p+552+24>>2];w=+g[p+552+40>>2];aa=+g[n+20>>2];$=+g[n+24>>2];_=+g[n+28>>2];t=+g[n+36>>2];v=+g[n+40>>2];x=+g[n+44>>2];fa=+g[p+552+48>>2];ea=+g[p+552+52>>2];A=+g[p+552+56>>2];y=+g[n+52>>2]+(da*fa+ca*ea+ba*A);z=aa*fa+$*ea+_*A+ +g[n+56>>2];A=t*fa+v*ea+x*A+ +g[n+60>>2];g[Z+432>>2]=e*da+f*ca+h*ba;g[Z+432+4>>2]=da*i+ca*q+ba*r;g[Z+432+8>>2]=da*s+ca*u+ba*w;g[Z+432+12>>2]=0.0;g[Z+432+16>>2]=e*aa+f*$+h*_;g[Z+432+20>>2]=i*aa+q*$+r*_;g[Z+432+24>>2]=s*aa+u*$+w*_;g[Z+432+28>>2]=0.0;g[Z+432+32>>2]=e*t+f*v+h*x;g[Z+432+36>>2]=i*t+q*v+r*x;g[Z+432+40>>2]=s*t+u*v+w*x;g[Z+432+44>>2]=0.0;g[Z+432+48>>2]=y;g[Z+432+52>>2]=z;g[Z+432+56>>2]=A;g[Z+432+60>>2]=0.0;if(!(d&1)){n=c[p+32>>2]|0;u=+g[p+616>>2];h=+g[n+4>>2];v=+g[p+616+16>>2];i=+g[n+8>>2];w=+g[p+616+32>>2];q=+g[n+12>>2];x=+g[p+616+4>>2];y=+g[p+616+20>>2];z=+g[p+616+36>>2];A=+g[p+616+8>>2];$=+g[p+616+24>>2];ba=+g[p+616+40>>2];r=+g[n+20>>2];s=+g[n+24>>2];t=+g[n+28>>2];_=+g[n+36>>2];aa=+g[n+40>>2];ca=+g[n+44>>2];e=+g[p+616+48>>2];f=+g[p+616+52>>2];fa=+g[p+616+56>>2];da=+g[n+52>>2]+(h*e+i*f+q*fa);ea=r*e+s*f+t*fa+ +g[n+56>>2];fa=_*e+aa*f+ca*fa+ +g[n+60>>2];g[Z+432>>2]=u*h+v*i+w*q;g[Z+432+4>>2]=h*x+i*y+q*z;g[Z+432+8>>2]=h*A+i*$+q*ba;g[Z+432+12>>2]=0.0;g[Z+432+16>>2]=u*r+v*s+w*t;g[Z+432+20>>2]=x*r+y*s+z*t;g[Z+432+24>>2]=A*r+$*s+ba*t;g[Z+432+28>>2]=0.0;g[Z+432+32>>2]=u*_+v*aa+w*ca;g[Z+432+36>>2]=x*_+y*aa+z*ca;g[Z+432+40>>2]=A*_+$*aa+ba*ca;g[Z+432+44>>2]=0.0;g[Z+432+48>>2]=da;g[Z+432+52>>2]=ea;g[Z+432+56>>2]=fa;g[Z+432+60>>2]=0.0}else{n=pb[c[(c[b>>2]|0)+20>>2]&127](b)|0;Xb[c[(c[n>>2]|0)+56>>2]&7](n,Z+432|0,B);n=c[p+32>>2]|0;u=+g[p+616>>2];h=+g[n+4>>2];v=+g[p+616+16>>2];i=+g[n+8>>2];w=+g[p+616+32>>2];q=+g[n+12>>2];x=+g[p+616+4>>2];y=+g[p+616+20>>2];z=+g[p+616+36>>2];A=+g[p+616+8>>2];$=+g[p+616+24>>2];ba=+g[p+616+40>>2];r=+g[n+20>>2];s=+g[n+24>>2];t=+g[n+28>>2];_=+g[n+36>>2];aa=+g[n+40>>2];ca=+g[n+44>>2];e=+g[p+616+48>>2];f=+g[p+616+52>>2];fa=+g[p+616+56>>2];da=+g[n+52>>2]+(h*e+i*f+q*fa);ea=r*e+s*f+t*fa+ +g[n+56>>2];fa=_*e+aa*f+ca*fa+ +g[n+60>>2];g[Z+432>>2]=u*h+v*i+w*q;g[Z+432+4>>2]=h*x+i*y+q*z;g[Z+432+8>>2]=h*A+i*$+q*ba;g[Z+432+12>>2]=0.0;g[Z+432+16>>2]=u*r+v*s+w*t;g[Z+432+20>>2]=x*r+y*s+z*t;g[Z+432+24>>2]=A*r+$*s+ba*t;g[Z+432+28>>2]=0.0;g[Z+432+32>>2]=u*_+v*aa+w*ca;g[Z+432+36>>2]=x*_+y*aa+z*ca;g[Z+432+40>>2]=A*_+$*aa+ba*ca;g[Z+432+44>>2]=0.0;g[Z+432+48>>2]=da;g[Z+432+52>>2]=ea;g[Z+432+56>>2]=fa;g[Z+432+60>>2]=0.0;n=pb[c[(c[b>>2]|0)+20>>2]&127](b)|0;Xb[c[(c[n>>2]|0)+56>>2]&7](n,Z+432|0,B)}i=+g[p+688>>2];f=+g[p+688+4>>2];e=+ch(i-f,6.2831854820251465);if(!(e<-3.1415927410125732))if(e>3.1415927410125732)h=e+-6.2831854820251465;else h=e;else h=e+6.2831854820251465;e=+ch(i+f,6.2831854820251465);if(!(e<-3.1415927410125732)){if(e>3.1415927410125732)e=e+-6.2831854820251465}else e=e+6.2831854820251465;if(!(h==e)?(N=h>e,o&1|0):0){c[Z+416>>2]=c[Z+432+8>>2];c[Z+416+4>>2]=c[Z+432+24>>2];c[Z+416+8>>2]=c[Z+432+40>>2];g[Z+416+12>>2]=0.0;c[Z+400>>2]=c[Z+432>>2];c[Z+400+4>>2]=c[Z+432+16>>2];c[Z+400+8>>2]=c[Z+432+32>>2];g[Z+400+12>>2]=0.0;p=pb[c[(c[b>>2]|0)+20>>2]&127](b)|0;o=c[(c[p>>2]|0)+60>>2]|0;c[Z+384>>2]=0;c[Z+384+4>>2]=0;c[Z+384+8>>2]=0;c[Z+384+12>>2]=0;wb[o&0](p,Z+432+48|0,Z+416|0,Z+400|0,B,B,N?0.0:h,N?6.2831854820251465:e,Z+384|0,N^1,10.0)}d=Y;continue b}case 5:{n=c[p+28>>2]|0;u=+g[p+300>>2];h=+g[n+4>>2];v=+g[p+300+16>>2];i=+g[n+8>>2];w=+g[p+300+32>>2];q=+g[n+12>>2];x=+g[p+300+4>>2];y=+g[p+300+20>>2];z=+g[p+300+36>>2];A=+g[p+300+8>>2];$=+g[p+300+24>>2];ba=+g[p+300+40>>2];r=+g[n+20>>2];s=+g[n+24>>2];t=+g[n+28>>2];_=+g[n+36>>2];aa=+g[n+40>>2];ca=+g[n+44>>2];e=+g[p+300+48>>2];f=+g[p+300+52>>2];fa=+g[p+300+56>>2];da=+g[n+52>>2]+(h*e+i*f+q*fa);ea=r*e+s*f+t*fa+ +g[n+56>>2];fa=_*e+aa*f+ca*fa+ +g[n+60>>2];g[Z+432>>2]=u*h+v*i+w*q;g[G>>2]=h*x+i*y+q*z;g[H>>2]=h*A+i*$+q*ba;g[Z+432+12>>2]=0.0;g[K>>2]=u*r+v*s+w*t;g[L>>2]=x*r+y*s+z*t;g[M>>2]=A*r+$*s+ba*t;g[Z+432+28>>2]=0.0;g[O>>2]=u*_+v*aa+w*ca;g[P>>2]=x*_+y*aa+z*ca;g[Q>>2]=A*_+$*aa+ba*ca;g[Z+432+44>>2]=0.0;g[R>>2]=da;g[S>>2]=ea;g[T>>2]=fa;g[Z+432+60>>2]=0.0;if(!(d&1)){n=c[p+32>>2]|0;u=+g[p+364>>2];h=+g[n+4>>2];v=+g[p+364+16>>2];i=+g[n+8>>2];w=+g[p+364+32>>2];q=+g[n+12>>2];x=+g[p+364+4>>2];y=+g[p+364+20>>2];z=+g[p+364+36>>2];A=+g[p+364+8>>2];$=+g[p+364+24>>2];ba=+g[p+364+40>>2];r=+g[n+20>>2];s=+g[n+24>>2];t=+g[n+28>>2];_=+g[n+36>>2];aa=+g[n+40>>2];ca=+g[n+44>>2];e=+g[p+364+48>>2];f=+g[p+364+52>>2];fa=+g[p+364+56>>2];da=+g[n+52>>2]+(h*e+i*f+q*fa);ea=r*e+s*f+t*fa+ +g[n+56>>2];fa=_*e+aa*f+ca*fa+ +g[n+60>>2];g[Z+432>>2]=u*h+v*i+w*q;g[G>>2]=h*x+i*y+q*z;g[H>>2]=h*A+i*$+q*ba;g[Z+432+12>>2]=0.0;g[K>>2]=u*r+v*s+w*t;g[L>>2]=x*r+y*s+z*t;g[M>>2]=A*r+$*s+ba*t;g[Z+432+28>>2]=0.0;g[O>>2]=u*_+v*aa+w*ca;g[P>>2]=x*_+y*aa+z*ca;g[Q>>2]=A*_+$*aa+ba*ca;g[Z+432+44>>2]=0.0;g[R>>2]=da;g[S>>2]=ea;g[T>>2]=fa;g[Z+432+60>>2]=0.0}else{n=pb[c[(c[b>>2]|0)+20>>2]&127](b)|0;Xb[c[(c[n>>2]|0)+56>>2]&7](n,Z+432|0,B);n=c[p+32>>2]|0;u=+g[p+364>>2];h=+g[n+4>>2];v=+g[p+364+16>>2];i=+g[n+8>>2];w=+g[p+364+32>>2];q=+g[n+12>>2];x=+g[p+364+4>>2];y=+g[p+364+20>>2];z=+g[p+364+36>>2];A=+g[p+364+8>>2];$=+g[p+364+24>>2];ba=+g[p+364+40>>2];r=+g[n+20>>2];s=+g[n+24>>2];t=+g[n+28>>2];_=+g[n+36>>2];aa=+g[n+40>>2];ca=+g[n+44>>2];e=+g[p+364+48>>2];f=+g[p+364+52>>2];fa=+g[p+364+56>>2];da=+g[n+52>>2]+(h*e+i*f+q*fa);ea=r*e+s*f+t*fa+ +g[n+56>>2];fa=_*e+aa*f+ca*fa+ +g[n+60>>2];g[Z+432>>2]=u*h+v*i+w*q;g[G>>2]=h*x+i*y+q*z;g[H>>2]=h*A+i*$+q*ba;g[Z+432+12>>2]=0.0;g[K>>2]=u*r+v*s+w*t;g[L>>2]=x*r+y*s+z*t;g[M>>2]=A*r+$*s+ba*t;g[Z+432+28>>2]=0.0;g[O>>2]=u*_+v*aa+w*ca;g[P>>2]=x*_+y*aa+z*ca;g[Q>>2]=A*_+$*aa+ba*ca;g[Z+432+44>>2]=0.0;g[R>>2]=da;g[S>>2]=ea;g[T>>2]=fa;g[Z+432+60>>2]=0.0;n=pb[c[(c[b>>2]|0)+20>>2]&127](b)|0;Xb[c[(c[n>>2]|0)+56>>2]&7](n,Z+432|0,B)}if(o&1|0){hj(Z+368|0,p,6.0868353843688965,B);ba=+g[Z+368>>2];ca=+g[Z+368+4>>2];da=+g[Z+368+8>>2];ea=ba*+g[K>>2]+ca*+g[L>>2]+da*+g[M>>2]+ +g[S>>2];fa=ba*+g[O>>2]+ca*+g[P>>2]+da*+g[Q>>2]+ +g[T>>2];g[Z+368>>2]=ba*+g[Z+432>>2]+ca*+g[G>>2]+da*+g[H>>2]+ +g[R>>2];g[Z+368+4>>2]=ea;g[Z+368+8>>2]=fa;g[Z+368+12>>2]=0.0;d=0;do{hj(Z+352|0,p,+(d|0)*6.283185005187988*.03125,B);ba=+g[Z+352>>2];ca=+g[Z+352+4>>2];da=+g[Z+352+8>>2];ea=ba*+g[K>>2]+ca*+g[L>>2]+da*+g[M>>2]+ +g[S>>2];fa=ba*+g[O>>2]+ca*+g[P>>2]+da*+g[Q>>2]+ +g[T>>2];g[Z+352>>2]=ba*+g[Z+432>>2]+ca*+g[G>>2]+da*+g[H>>2]+ +g[R>>2];g[Z+352+4>>2]=ea;g[Z+352+8>>2]=fa;g[Z+352+12>>2]=0.0;o=pb[c[(c[b>>2]|0)+20>>2]&127](b)|0;n=c[(c[o>>2]|0)+8>>2]|0;c[Z+336>>2]=0;c[Z+336+4>>2]=0;c[Z+336+8>>2]=0;c[Z+336+12>>2]=0;Zb[n&127](o,Z+368|0,Z+352|0,Z+336|0);if(!(d&3)){o=pb[c[(c[b>>2]|0)+20>>2]&127](b)|0;n=c[(c[o>>2]|0)+8>>2]|0;c[Z+320>>2]=0;c[Z+320+4>>2]=0;c[Z+320+8>>2]=0;c[Z+320+12>>2]=0;Zb[n&127](o,U,Z+352|0,Z+320|0)}c[Z+368>>2]=c[Z+352>>2];c[Z+368+4>>2]=c[Z+352+4>>2];c[Z+368+8>>2]=c[Z+352+8>>2];c[Z+368+12>>2]=c[Z+352+12>>2];d=d+1|0}while((d|0)!=32);z=+g[p+452>>2];A=+g[p+512>>2];d=c[p+32>>2]|0;if(+g[d+344>>2]>0.0){ba=+g[p+364>>2];ca=+g[d+4>>2];da=+g[p+364+16>>2];ea=+g[d+8>>2];fa=+g[p+364+32>>2];w=+g[d+12>>2];$=+g[p+364+4>>2];aa=+g[p+364+20>>2];v=+g[p+364+36>>2];ga=+g[p+364+8>>2];_=+g[p+364+24>>2];u=+g[p+364+40>>2];ia=+g[d+20>>2];ha=+g[d+24>>2];t=+g[d+28>>2];s=+g[d+36>>2];r=+g[d+40>>2];q=+g[d+44>>2];h=+g[p+364+48>>2];e=+g[p+364+52>>2];f=+g[p+364+56>>2];x=ia*h+ha*e+t*f;y=ca*h+ea*e+w*f;e=s*h+r*e;f=q*f;h=ga*s+_*r+u*q;i=$*s+aa*r+v*q;q=ba*s+da*r+fa*q;r=ga*ia+_*ha+u*t;s=$*ia+aa*ha+v*t;t=ba*ia+da*ha+fa*t;u=ca*ga+ea*_+w*u;v=ca*$+ea*aa+w*v;w=ba*ca+da*ea+fa*w}else{d=c[p+28>>2]|0;ea=+g[p+300>>2];fa=+g[d+4>>2];ga=+g[p+300+16>>2];ha=+g[d+8>>2];ia=+g[p+300+32>>2];w=+g[d+12>>2];ca=+g[p+300+4>>2];da=+g[p+300+20>>2];v=+g[p+300+36>>2];aa=+g[p+300+8>>2];ba=+g[p+300+24>>2];u=+g[p+300+40>>2];_=+g[d+20>>2];$=+g[d+24>>2];t=+g[d+28>>2];s=+g[d+36>>2];r=+g[d+40>>2];q=+g[d+44>>2];h=+g[p+300+48>>2];e=+g[p+300+52>>2];f=+g[p+300+56>>2];x=_*h+$*e+t*f;y=fa*h+ha*e+w*f;e=s*h+r*e;f=q*f;h=aa*s+ba*r+u*q;i=ca*s+da*r+v*q;q=ea*s+ga*r+ia*q;r=aa*_+ba*$+u*t;s=ca*_+da*$+v*t;t=ea*_+ga*$+ia*t;u=fa*aa+ha*ba+w*u;v=fa*ca+ha*da+w*v;w=ea*fa+ga*ha+ia*w}ga=+g[d+52>>2]+y;ha=x+ +g[d+56>>2];ia=e+f+ +g[d+60>>2];g[Z+432>>2]=w;g[G>>2]=v;g[H>>2]=u;g[Z+432+12>>2]=0.0;g[K>>2]=t;g[L>>2]=s;g[M>>2]=r;g[Z+432+28>>2]=0.0;g[O>>2]=q;g[P>>2]=i;g[Q>>2]=h;g[Z+432+44>>2]=0.0;g[R>>2]=ga;g[S>>2]=ha;g[T>>2]=ia;g[Z+432+60>>2]=0.0;c[Z+304>>2]=c[U>>2];c[Z+304+4>>2]=c[U+4>>2];c[Z+304+8>>2]=c[U+8>>2];c[Z+304+12>>2]=c[U+12>>2];g[Z+288>>2]=w;g[Z+288+4>>2]=t;g[Z+288+8>>2]=q;g[Z+288+12>>2]=0.0;g[Z+272>>2]=v;g[Z+272+4>>2]=s;g[Z+272+8>>2]=i;g[Z+272+12>>2]=0.0;p=pb[c[(c[b>>2]|0)+20>>2]&127](b)|0;o=c[(c[p>>2]|0)+60>>2]|0;c[Z+256>>2]=0;c[Z+256+4>>2]=0;c[Z+256+8>>2]=0;c[Z+256+12>>2]=0;wb[o&0](p,Z+304|0,Z+288|0,Z+272|0,B,B,-A-z,z-A,Z+256|0,1,10.0)}break c}case 6:case 9:{c[Z+432>>2]=c[p+1064>>2];c[Z+432+4>>2]=c[p+1064+4>>2];c[Z+432+8>>2]=c[p+1064+8>>2];c[Z+432+12>>2]=c[p+1064+12>>2];k=p+1064+16|0;c[V>>2]=c[k>>2];c[V+4>>2]=c[k+4>>2];c[V+8>>2]=c[k+8>>2];c[V+12>>2]=c[k+12>>2];m=p+1064+32|0;c[W>>2]=c[m>>2];c[W+4>>2]=c[m+4>>2];c[W+8>>2]=c[m+8>>2];c[W+12>>2]=c[m+12>>2];n=p+1064+48|0;c[X>>2]=c[n>>2];c[X+4>>2]=c[n+4>>2];c[X+8>>2]=c[n+8>>2];c[X+12>>2]=c[n+12>>2];if(!(d&1)){c[Z+432>>2]=c[p+1128>>2];c[Z+432+4>>2]=c[p+1128+4>>2];c[Z+432+8>>2]=c[p+1128+8>>2];c[Z+432+12>>2]=c[p+1128+12>>2];c[V>>2]=c[p+1128+16>>2];c[V+4>>2]=c[p+1128+16+4>>2];c[V+8>>2]=c[p+1128+16+8>>2];c[V+12>>2]=c[p+1128+16+12>>2];c[W>>2]=c[p+1128+32>>2];c[W+4>>2]=c[p+1128+32+4>>2];c[W+8>>2]=c[p+1128+32+8>>2];c[W+12>>2]=c[p+1128+32+12>>2];c[X>>2]=c[p+1128+48>>2];c[X+4>>2]=c[p+1128+48+4>>2];c[X+8>>2]=c[p+1128+48+8>>2];c[X+12>>2]=c[p+1128+48+12>>2]}else{d=pb[c[(c[b>>2]|0)+20>>2]&127](b)|0;Xb[c[(c[d>>2]|0)+56>>2]&7](d,Z+432|0,B);c[Z+432>>2]=c[p+1128>>2];c[Z+432+4>>2]=c[p+1128+4>>2];c[Z+432+8>>2]=c[p+1128+8>>2];c[Z+432+12>>2]=c[p+1128+12>>2];c[V>>2]=c[p+1128+16>>2];c[V+4>>2]=c[p+1128+16+4>>2];c[V+8>>2]=c[p+1128+16+8>>2];c[V+12>>2]=c[p+1128+16+12>>2];c[W>>2]=c[p+1128+32>>2];c[W+4>>2]=c[p+1128+32+4>>2];c[W+8>>2]=c[p+1128+32+8>>2];c[W+12>>2]=c[p+1128+32+12>>2];c[X>>2]=c[p+1128+48>>2];c[X+4>>2]=c[p+1128+48+4>>2];c[X+8>>2]=c[p+1128+48+8>>2];c[X+12>>2]=c[p+1128+48+12>>2];d=pb[c[(c[b>>2]|0)+20>>2]&127](b)|0;Xb[c[(c[d>>2]|0)+56>>2]&7](d,Z+432|0,B)}if(o&1|0){c[Z+432>>2]=c[p+1064>>2];c[Z+432+4>>2]=c[p+1064+4>>2];c[Z+432+8>>2]=c[p+1064+8>>2];c[Z+432+12>>2]=c[p+1064+12>>2];c[V>>2]=c[k>>2];c[V+4>>2]=c[k+4>>2];c[V+8>>2]=c[k+8>>2];c[V+12>>2]=c[k+12>>2];c[W>>2]=c[m>>2];c[W+4>>2]=c[m+4>>2];c[W+8>>2]=c[m+8>>2];c[W+12>>2]=c[m+12>>2];c[X>>2]=c[n>>2];c[X+4>>2]=c[n+4>>2];c[X+8>>2]=c[n+8>>2];c[X+12>>2]=c[n+12>>2];d=p+1128+48|0;c[Z+240>>2]=c[Z+432+8>>2];c[Z+240+4>>2]=c[Z+432+24>>2];c[Z+240+8>>2]=c[Z+432+40>>2];g[Z+240+12>>2]=0.0;c[Z+224>>2]=c[Z+432>>2];c[Z+224+4>>2]=c[Z+432+16>>2];c[Z+224+8>>2]=c[Z+432+32>>2];g[Z+224+12>>2]=0.0;ea=+g[p+932>>2];e=+g[p+932+4>>2];ha=+g[p+996>>2];ga=+g[p+996+4>>2];ka=pb[c[(c[b>>2]|0)+20>>2]&127](b)|0;ja=c[(c[ka>>2]|0)+64>>2]|0;c[Z+208>>2]=0;c[Z+208+4>>2]=0;c[Z+208+8>>2]=0;c[Z+208+12>>2]=0;Qb[ja&0](ka,d,Z+240|0,Z+224|0,B*.8999999761581421,ea,e,ha,ga,Z+208|0,10.0,1);ka=c[Z+432+4>>2]|0;ja=c[Z+432+20>>2]|0;o=c[Z+432+36>>2]|0;c[Z+224>>2]=ka;c[Z+224+4>>2]=ja;c[Z+224+8>>2]=o;g[Z+224+12>>2]=0.0;ga=+g[p+1196>>2];ha=+g[p+1200>>2];e=+I(+ga);ga=+J(+ga);ea=+I(+ha);ha=+J(+ha);fa=(c[j>>2]=ka,+g[j>>2]);ia=(c[j>>2]=ja,+g[j>>2]);f=(c[j>>2]=o,+g[j>>2]);g[Z+192>>2]=e*ea*fa+e*ha*ia-ga*f;g[Z+192+4>>2]=ea*ia-ha*fa;g[Z+192+8>>2]=ga*ea*fa+ga*ha*ia+e*f;c[Z+432>>2]=c[p+1128>>2];c[Z+432+4>>2]=c[p+1128+4>>2];c[Z+432+8>>2]=c[p+1128+8>>2];c[Z+432+12>>2]=c[p+1128+12>>2];c[V>>2]=c[p+1128+16>>2];c[V+4>>2]=c[p+1128+16+4>>2];c[V+8>>2]=c[p+1128+16+8>>2];c[V+12>>2]=c[p+1128+16+12>>2];c[W>>2]=c[p+1128+32>>2];c[W+4>>2]=c[p+1128+32+4>>2];c[W+8>>2]=c[p+1128+32+8>>2];c[W+12>>2]=c[p+1128+32+12>>2];c[X>>2]=c[d>>2];c[X+4>>2]=c[d+4>>2];c[X+8>>2]=c[d+8>>2];c[X+12>>2]=c[d+12>>2];f=-+g[Z+432+16>>2];e=-+g[Z+432+32>>2];g[Z+176>>2]=-+g[Z+432>>2];g[Z+176+4>>2]=f;g[Z+176+8>>2]=e;g[Z+176+12>>2]=0.0;e=+g[p+868>>2];f=+g[p+868+4>>2];if(!(e>f)){if(e<f){ka=pb[c[(c[b>>2]|0)+20>>2]&127](b)|0;ja=c[(c[ka>>2]|0)+60>>2]|0;c[Z+144>>2]=0;c[Z+144+4>>2]=0;c[Z+144+8>>2]=0;c[Z+144+12>>2]=0;wb[ja&0](ka,d,Z+176|0,Z+192|0,B,B,e,f,Z+144|0,1,10.0)}}else{ka=pb[c[(c[b>>2]|0)+20>>2]&127](b)|0;ja=c[(c[ka>>2]|0)+60>>2]|0;c[Z+160>>2]=0;c[Z+160+4>>2]=0;c[Z+160+8>>2]=0;c[Z+160+12>>2]=0;wb[ja&0](ka,d,Z+176|0,Z+192|0,B,B,-3.1415927410125732,3.1415927410125732,Z+160|0,0,10.0)}c[Z+432>>2]=c[p+1064>>2];c[Z+432+4>>2]=c[p+1064+4>>2];c[Z+432+8>>2]=c[p+1064+8>>2];c[Z+432+12>>2]=c[p+1064+12>>2];c[V>>2]=c[k>>2];c[V+4>>2]=c[k+4>>2];c[V+8>>2]=c[k+8>>2];c[V+12>>2]=c[k+12>>2];c[W>>2]=c[m>>2];c[W+4>>2]=c[m+4>>2];c[W+8>>2]=c[m+8>>2];c[W+12>>2]=c[m+12>>2];c[X>>2]=c[n>>2];c[X+4>>2]=c[n+4>>2];c[X+8>>2]=c[n+8>>2];c[X+12>>2]=c[n+12>>2];c[Z+128>>2]=c[p+680>>2];c[Z+128+4>>2]=c[p+680+4>>2];c[Z+128+8>>2]=c[p+680+8>>2];c[Z+128+12>>2]=c[p+680+12>>2];c[Z+112>>2]=c[p+680+16>>2];c[Z+112+4>>2]=c[p+680+16+4>>2];c[Z+112+8>>2]=c[p+680+16+8>>2];c[Z+112+12>>2]=c[p+680+16+12>>2];ka=pb[c[(c[b>>2]|0)+20>>2]&127](b)|0;ja=c[(c[ka>>2]|0)+72>>2]|0;c[Z+96>>2]=0;c[Z+96+4>>2]=0;c[Z+96+8>>2]=0;c[Z+96+12>>2]=0;jb[ja&31](ka,Z+128|0,Z+112|0,Z+432|0,Z+96|0)}break c}case 7:{c[Z+432>>2]=c[p+824>>2];c[Z+432+4>>2]=c[p+824+4>>2];c[Z+432+8>>2]=c[p+824+8>>2];c[Z+432+12>>2]=c[p+824+12>>2];c[C>>2]=c[p+824+16>>2];c[C+4>>2]=c[p+824+16+4>>2];c[C+8>>2]=c[p+824+16+8>>2];c[C+12>>2]=c[p+824+16+12>>2];c[D>>2]=c[p+824+32>>2];c[D+4>>2]=c[p+824+32+4>>2];c[D+8>>2]=c[p+824+32+8>>2];c[D+12>>2]=c[p+824+32+12>>2];c[E>>2]=c[p+824+48>>2];c[E+4>>2]=c[p+824+48+4>>2];c[E+8>>2]=c[p+824+48+8>>2];c[E+12>>2]=c[p+824+48+12>>2];if(!(d&1)){c[Z+432>>2]=c[p+888>>2];c[Z+432+4>>2]=c[p+888+4>>2];c[Z+432+8>>2]=c[p+888+8>>2];c[Z+432+12>>2]=c[p+888+12>>2];c[C>>2]=c[p+888+16>>2];c[C+4>>2]=c[p+888+16+4>>2];c[C+8>>2]=c[p+888+16+8>>2];c[C+12>>2]=c[p+888+16+12>>2];c[D>>2]=c[p+888+32>>2];c[D+4>>2]=c[p+888+32+4>>2];c[D+8>>2]=c[p+888+32+8>>2];c[D+12>>2]=c[p+888+32+12>>2];c[E>>2]=c[p+888+48>>2];c[E+4>>2]=c[p+888+48+4>>2];c[E+8>>2]=c[p+888+48+8>>2];c[E+12>>2]=c[p+888+48+12>>2]}else{ka=pb[c[(c[b>>2]|0)+20>>2]&127](b)|0;Xb[c[(c[ka>>2]|0)+56>>2]&7](ka,Z+432|0,B);c[Z+432>>2]=c[p+888>>2];c[Z+432+4>>2]=c[p+888+4>>2];c[Z+432+8>>2]=c[p+888+8>>2];c[Z+432+12>>2]=c[p+888+12>>2];c[C>>2]=c[p+888+16>>2];c[C+4>>2]=c[p+888+16+4>>2];c[C+8>>2]=c[p+888+16+8>>2];c[C+12>>2]=c[p+888+16+12>>2];c[D>>2]=c[p+888+32>>2];c[D+4>>2]=c[p+888+32+4>>2];c[D+8>>2]=c[p+888+32+8>>2];c[D+12>>2]=c[p+888+32+12>>2];c[E>>2]=c[p+888+48>>2];c[E+4>>2]=c[p+888+48+4>>2];c[E+8>>2]=c[p+888+48+8>>2];c[E+12>>2]=c[p+888+48+12>>2];ka=pb[c[(c[b>>2]|0)+20>>2]&127](b)|0;Xb[c[(c[ka>>2]|0)+56>>2]&7](ka,Z+432|0,B)}if(o&1|0){d=a[p+180>>0]|0?p+824|0:p+888|0;k=c[d>>2]|0;o=c[d+4>>2]|0;m=c[d+16>>2]|0;ja=c[d+20>>2]|0;n=c[d+32>>2]|0;ka=c[d+36>>2]|0;z=+g[d+48>>2];aa=+g[d+52>>2];ea=+g[d+56>>2];ha=+g[p+184>>2];$=(c[j>>2]=k,+g[j>>2]);_=(c[j>>2]=o,+g[j>>2])*0.0;A=+g[d+8>>2]*0.0;da=(c[j>>2]=m,+g[j>>2]);ca=(c[j>>2]=ja,+g[j>>2])*0.0;ba=+g[d+24>>2]*0.0;ia=(c[j>>2]=n,+g[j>>2]);ga=(c[j>>2]=ka,+g[j>>2])*0.0;fa=+g[d+40>>2]*0.0;g[Z+80>>2]=z+(A+(_+$*ha));g[Z+80+4>>2]=aa+(ba+(ca+da*ha));g[Z+80+8>>2]=ea+(fa+(ga+ia*ha));g[Z+80+12>>2]=0.0;ha=+g[p+188>>2];g[Z+64>>2]=z+(A+(_+$*ha));g[Z+64+4>>2]=aa+(ba+(ca+da*ha));g[Z+64+8>>2]=ea+(fa+(ga+ia*ha));g[Z+64+12>>2]=0.0;d=pb[c[(c[b>>2]|0)+20>>2]&127](b)|0;la=c[(c[d>>2]|0)+8>>2]|0;c[Z+48>>2]=0;c[Z+48+4>>2]=0;c[Z+48+8>>2]=0;c[Z+48+12>>2]=0;Zb[la&127](d,Z+80|0,Z+64|0,Z+48|0);c[Z+32>>2]=k;c[Z+32+4>>2]=m;c[Z+32+8>>2]=n;g[Z+32+12>>2]=0.0;c[Z+16>>2]=o;c[Z+16+4>>2]=ja;c[Z+16+8>>2]=ka;g[Z+16+12>>2]=0.0;ha=+g[p+192>>2];ia=+g[p+196>>2];ka=pb[c[(c[b>>2]|0)+20>>2]&127](b)|0;ja=c[(c[ka>>2]|0)+60>>2]|0;c[Z>>2]=0;c[Z+4>>2]=0;c[Z+8>>2]=0;c[Z+12>>2]=0;wb[ja&0](ka,p+888+48|0,Z+32|0,Z+16|0,B,B,ha,ia,Z,1,10.0)}break c}default:break c}while(0);d=Y}}while(0);if((((pb[c[(c[b>>2]|0)+20>>2]&127](b)|0?(la=pb[c[(c[b>>2]|0)+20>>2]&127](b)|0,(pb[c[(c[la>>2]|0)+48>>2]&127](la)|0)&16387|0):0)?pb[c[(c[b>>2]|0)+20>>2]&127](b)|0:0)?(la=pb[c[(c[b>>2]|0)+20>>2]&127](b)|0,pb[c[(c[la>>2]|0)+48>>2]&127](la)|0):0)?(c[b+280>>2]|0)>0:0){d=0;do{la=c[(c[b+288>>2]|0)+(d<<2)>>2]|0;nb[c[(c[la>>2]|0)+12>>2]&127](la,c[b+72>>2]|0);d=d+1|0}while((d|0)<(c[b+280>>2]|0))}d=c[2380]|0;la=(c[d+16>>2]|0)+-1|0;c[d+16>>2]=la;if(la|0){l=Z;return}do if(c[d+4>>2]|0){Za(Z+432|0,0)|0;la=c[6484]|0;g[d+8>>2]=+(((c[Z+432+4>>2]|0)-(c[la+4>>2]|0)+(((c[Z+432>>2]|0)-(c[la>>2]|0)|0)*1e6|0)-(c[d+12>>2]|0)|0)>>>0)/1.0e3+ +g[d+8>>2];if(!(c[d+16>>2]|0)){d=c[2380]|0;break}else{l=Z;return}}while(0);c[2380]=c[d+20>>2];l=Z;return}function dc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,k=0,m=0.0,n=0.0,o=0.0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0,G=0,H=0,I=0,J=0,K=0,L=0.0,M=0.0,N=0.0,O=0.0;K=l;l=l+32|0;f=c[b+1112>>2]|0;a:do if((f|0)>0)while(1){p=c[c[b+1120>>2]>>2]|0;f=c[p+348>>2]|0;if(f|0){Ug(b+1048|0,f)|0;h=c[b+1052>>2]|0;if(h|0){c[6486]=(c[6486]|0)+1;Uc(c[h+-4>>2]|0)}c[b+1052>>2]=f;c[b+1060>>2]=(c[b+1060>>2]|0)+-1}f=c[p+52>>2]|0;if(f|0){if(a[p+56>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[f+-4>>2]|0)}c[p+52>>2]=0}a[p+56>>0]=1;c[p+52>>2]=0;c[p+44>>2]=0;c[p+48>>2]=0;f=c[p+32>>2]|0;if(f|0){if(a[p+36>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[f+-4>>2]|0)}c[p+32>>2]=0}a[p+36>>0]=1;c[p+32>>2]=0;c[p+24>>2]=0;c[p+28>>2]=0;f=c[p+12>>2]|0;if(f|0){if(a[p+16>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[f+-4>>2]|0)}c[p+12>>2]=0}a[p+16>>0]=1;c[p+12>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[6486]=(c[6486]|0)+1;Uc(c[p+-4>>2]|0);f=c[b+1112>>2]|0;if((f|0)<=0){p=f;break a}k=c[b+1120>>2]|0;h=0;do{i=k+(h<<2)|0;if((c[i>>2]|0)==(p|0)){J=24;break}h=h+1|0}while((h|0)<(f|0));if((J|0)==24){J=0;if((h|0)<(f|0)){c[i>>2]=c[k+(f+-1<<2)>>2];c[(c[b+1120>>2]|0)+(f+-1<<2)>>2]=p;c[b+1112>>2]=f+-1;f=f+-1|0}}if((f|0)<=0){p=f;break}}else p=f;while(0);f=c[b+712>>2]|0;f=(f|0)>(d|0)?d:f;if((p|0)<(f|0)){if((c[b+1116>>2]|0)<(f|0)){if(f){c[6485]=(c[6485]|0)+1;h=ic((f<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}i=c[b+1112>>2]|0;if((i|0)>0){k=0;do{c[h+(k<<2)>>2]=c[(c[b+1120>>2]|0)+(k<<2)>>2];k=k+1|0}while((k|0)!=(i|0));i=b+1120|0}else i=b+1120|0}else{h=0;i=b+1120|0}k=c[i>>2]|0;if(k|0){if(a[b+1124>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[k+-4>>2]|0)}c[i>>2]=0}a[b+1124>>0]=1;c[i>>2]=h;c[b+1116>>2]=f}else i=b+1120|0;h=p;do{c[(c[i>>2]|0)+(h<<2)>>2]=0;h=h+1|0}while((h|0)!=(f|0))}c[b+1112>>2]=f;if((f|0)>0){h=0;do{c[6485]=(c[6485]|0)+1;f=ic(403)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}a[f+16>>0]=1;c[f+12>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;a[f+36>>0]=1;c[f+32>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;a[f+56>>0]=1;c[f+52>>2]=0;c[f+44>>2]=0;c[f+48>>2]=0;i=f+348|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;g[f+368>>2]=100.0;g[f+372>>2]=.009999999776482582;a[f+376>>0]=0;c[(c[b+1120>>2]|0)+(h<<2)>>2]=f;i=c[b+1120>>2]|0;a[(c[i+(h<<2)>>2]|0)+377>>0]=1;h=h+1|0;f=c[b+1112>>2]|0}while((h|0)<(f|0));if((f|0)>0){h=c[b+712>>2]|0;if((h|0)>0){m=0.0;n=0.0;o=0.0;p=f;r=0;while(1){d=c[b+720>>2]|0;q=m+ +g[d+(r*104|0)+8>>2];n=n+ +g[d+(r*104|0)+12>>2];y=o+ +g[d+(r*104|0)+16>>2];p=c[i+(((r*29873|0)%(p|0)|0)<<2)>>2]|0;d=d+(r*104|0)|0;i=c[p+24>>2]|0;if((i|0)==(c[p+28>>2]|0)?(s=i|0?i<<1:1,(i|0)<(s|0)):0){if(!s)h=0;else{c[6485]=(c[6485]|0)+1;h=ic((s<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}i=c[p+24>>2]|0}if((i|0)>0){k=0;do{c[h+(k<<2)>>2]=c[(c[p+32>>2]|0)+(k<<2)>>2];k=k+1|0}while((k|0)!=(i|0))}k=c[p+32>>2]|0;if(k){if(a[p+36>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[k+-4>>2]|0);i=c[p+24>>2]|0}c[p+32>>2]=0}a[p+36>>0]=1;c[p+32>>2]=h;c[p+28>>2]=s;h=c[b+712>>2]|0}c[(c[p+32>>2]|0)+(i<<2)>>2]=d;c[p+24>>2]=i+1;k=r+1|0;if((k|0)>=(h|0))break;m=q;o=y;p=c[b+1112>>2]|0;i=c[b+1120>>2]|0;r=k}m=1.0/+(h|0);if((f|0)<0){D=b+720|0;G=0;E=0}else{o=q*m;n=n*m;m=y*m;J=67}}else{o=1.0/+(h|0)*0.0;n=1.0/+(h|0)*0.0;m=1.0/+(h|0)*0.0;J=67}if((J|0)==67){c[6485]=(c[6485]|0)+1;h=ic((f<<4|3)+16|0)|0;if(!h)i=0;else{c[(h+4+15&-16)+-4>>2]=h;i=h+4+15&-16}h=0;do{g[i+(h<<4)>>2]=o;g[i+(h<<4)+4>>2]=n;g[i+(h<<4)+8>>2]=m;g[i+(h<<4)+12>>2]=0.0;h=h+1|0}while((h|0)!=(f|0));D=b+720|0;G=i;E=i}u=G+4|0;v=G+8|0;w=0;do{q=+(w|0)*.0625;q=q>1.0?1.0:2.0-q;k=0;d=0;do{h=c[(c[b+1120>>2]|0)+(d<<2)>>2]|0;p=c[h+24>>2]|0;if((p|0)>0){h=c[h+32>>2]|0;o=0.0;n=0.0;m=0.0;i=0;do{t=c[h+(i<<2)>>2]|0;o=o+ +g[t+8>>2];n=n+ +g[t+12>>2];m=m+ +g[t+16>>2];i=i+1|0}while((i|0)!=(p|0))}else{o=0.0;n=0.0;m=0.0}if(p){s=G+(d<<4)|0;L=+g[s>>2];t=G+(d<<4)+4|0;y=+g[t>>2];h=G+(d<<4)+8|0;z=+g[h>>2];A=L+q*(o*(1.0/+(p|0))-L);B=y+q*(n*(1.0/+(p|0))-y);C=z+q*(m*(1.0/+(p|0))-z);k=k|(A-L)*(A-L)+(B-y)*(B-y)+(C-z)*(C-z)>1.1920928955078125e-07;g[s>>2]=A;g[t>>2]=B;g[h>>2]=C;g[G+(d<<4)+12>>2]=0.0;p=c[(c[b+1120>>2]|0)+(d<<2)>>2]|0;h=c[p+24>>2]|0;if((h|0)<0){if((c[p+28>>2]|0)<0){i=c[p+32>>2]|0;if(i|0){if(a[p+36>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[i+-4>>2]|0)}c[p+32>>2]=0}a[p+36>>0]=1;c[p+32>>2]=0;c[p+28>>2]=0}do{c[(c[p+32>>2]|0)+(h<<2)>>2]=0;h=h+1|0}while((h|0)!=0)}c[p+24>>2]=0}d=d+1|0}while((d|0)<(f|0));w=w+1|0;h=c[b+712>>2]|0;if((h|0)>0){t=0;do{r=c[D>>2]|0;m=+g[r+(t*104|0)+8>>2];n=+g[r+(t*104|0)+12>>2];o=+g[r+(t*104|0)+16>>2];if((f|0)>1){y=+F(+(+g[G>>2]-m));y=y+ +F(+(+g[u>>2]-n));d=1;i=0;y=y+ +F(+(+g[v>>2]-o));while(1){q=+F(+(+g[G+(d<<4)>>2]-m))+ +F(+(+g[G+(d<<4)+4>>2]-n))+ +F(+(+g[G+(d<<4)+8>>2]-o));p=q<y;i=p?d:i;d=d+1|0;if((d|0)==(f|0))break;else y=p?q:y}}else i=0;s=c[(c[b+1120>>2]|0)+(i<<2)>>2]|0;d=r+(t*104|0)|0;i=c[s+24>>2]|0;if((i|0)==(c[s+28>>2]|0)?(x=i|0?i<<1:1,(i|0)<(x|0)):0){if(!x)h=0;else{c[6485]=(c[6485]|0)+1;h=ic((x<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}i=c[s+24>>2]|0}if((i|0)>0){p=0;do{c[h+(p<<2)>>2]=c[(c[s+32>>2]|0)+(p<<2)>>2];p=p+1|0}while((p|0)!=(i|0))}p=c[s+32>>2]|0;if(p){if(a[s+36>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[p+-4>>2]|0);i=c[s+24>>2]|0}c[s+32>>2]=0}a[s+36>>0]=1;c[s+32>>2]=h;c[s+28>>2]=x;h=c[b+712>>2]|0}c[(c[s+32>>2]|0)+(i<<2)>>2]=d;c[s+24>>2]=i+1;t=t+1|0}while((t|0)<(h|0))}}while((w|0)<(e|0)&k);if((h|0)>0){h=h<<2;c[6485]=(c[6485]|0)+1;f=ic((h|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}Lk(f|0,-1,h|0)|0;x=f;w=f}else{x=0;w=0}f=c[b+1112>>2]|0;if((f|0)>0){d=c[b+1120>>2]|0;p=0;do{k=c[d+(p<<2)>>2]|0;if((c[k+24>>2]|0)>0){h=c[D>>2]|0;f=c[k+32>>2]|0;i=0;do{c[x+((((c[f+(i<<2)>>2]|0)-h|0)/104|0)<<2)>>2]=p;i=i+1|0}while((i|0)<(c[k+24>>2]|0));f=c[b+1112>>2]|0}p=p+1|0}while((p|0)<(f|0))}if((c[b+752>>2]|0)>0){t=0;do{e=c[b+760>>2]|0;f=c[D>>2]|0;h=((c[e+(t*44|0)+8>>2]|0)-f|0)/104|0;c[K>>2]=h;c[K+4>>2]=((c[e+(t*44|0)+12>>2]|0)-f|0)/104|0;c[K+8>>2]=((c[e+(t*44|0)+16>>2]|0)-f|0)/104|0;f=0;while(1){d=c[x+(h<<2)>>2]|0;s=1;do{h=c[K+(((s+f|0)%3|0)<<2)>>2]|0;b:do if((c[x+(h<<2)>>2]|0)!=(d|0)){r=c[(c[b+1120>>2]|0)+(d<<2)>>2]|0;p=(c[D>>2]|0)+(h*104|0)|0;h=c[r+24>>2]|0;c:do if((h|0)>0){k=c[r+32>>2]|0;i=0;while(1){if((c[k+(i<<2)>>2]|0)==(p|0))break;i=i+1|0;if((i|0)>=(h|0))break c}if((i|0)!=(h|0))break b}while(0);if((h|0)==(c[r+28>>2]|0)?(H=h|0?h<<1:1,(h|0)<(H|0)):0){if(!H)k=0;else{c[6485]=(c[6485]|0)+1;h=ic((H<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}k=h;h=c[r+24>>2]|0}if((h|0)>0){i=0;do{c[k+(i<<2)>>2]=c[(c[r+32>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(h|0))}i=c[r+32>>2]|0;if(i){if(a[r+36>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[i+-4>>2]|0);h=c[r+24>>2]|0}c[r+32>>2]=0}a[r+36>>0]=1;c[r+32>>2]=k;c[r+28>>2]=H}c[(c[r+32>>2]|0)+(h<<2)>>2]=p;c[r+24>>2]=h+1}while(0);s=s+1|0}while((s|0)!=3);f=f+1|0;if((f|0)>=3)break;h=c[K+(f<<2)>>2]|0}t=t+1|0}while((t|0)<(c[b+752>>2]|0));f=c[b+1112>>2]|0}if((f|0)>1){c[6485]=(c[6485]|0)+1;f=ic(403)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}a[f+16>>0]=1;c[f+12>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;r=f+36|0;a[r>>0]=1;s=f+32|0;c[s>>2]=0;t=f+24|0;c[t>>2]=0;u=f+28|0;c[u>>2]=0;a[f+56>>0]=1;c[f+52>>2]=0;c[f+44>>2]=0;c[f+48>>2]=0;v=f+348|0;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;c[v+16>>2]=0;g[f+368>>2]=100.0;g[f+372>>2]=.009999999776482582;a[f+376>>0]=0;v=f;a[f+377>>0]=0;k=c[b+712>>2]|0;if((k|0)>0){c[6485]=(c[6485]|0)+1;f=ic((k<<2|3)+16|0)|0;if(!f)i=0;else{c[(f+4+15&-16)+-4>>2]=f;i=f+4+15&-16}f=c[t>>2]|0;if((f|0)>0){h=0;do{c[i+(h<<2)>>2]=c[(c[s>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(f|0))}f=c[s>>2]|0;if(f|0){if(a[r>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[f+-4>>2]|0)}c[s>>2]=0}a[r>>0]=1;c[s>>2]=i;c[u>>2]=k;f=c[b+712>>2]|0;if((f|0)>0){i=c[t>>2]|0;h=k;d=0;while(1){p=(c[D>>2]|0)+(d*104|0)|0;do if((i|0)==(h|0)){k=h|0?h<<1:1;if((h|0)>=(k|0)){k=h;break}if(!k)f=0;else{c[6485]=(c[6485]|0)+1;f=ic((k<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[t>>2]|0}if((h|0)>0){i=0;do{c[f+(i<<2)>>2]=c[(c[s>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(h|0))}i=c[s>>2]|0;if(i){if(a[r>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[i+-4>>2]|0);h=c[t>>2]|0}c[s>>2]=0}a[r>>0]=1;c[s>>2]=f;c[u>>2]=k;f=c[b+712>>2]|0}else{k=h;h=i}while(0);c[(c[s>>2]|0)+(h<<2)>>2]=p;i=h+1|0;c[t>>2]=i;d=d+1|0;if((d|0)>=(f|0))break;else h=k}}}f=c[b+1112>>2]|0;if((f|0)==(c[b+1116>>2]|0)?(I=f|0?f<<1:1,(f|0)<(I|0)):0){if(!I)i=0;else{c[6485]=(c[6485]|0)+1;f=ic((I<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}i=f;f=c[b+1112>>2]|0}if((f|0)>0){h=0;do{c[i+(h<<2)>>2]=c[(c[b+1120>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(f|0))}h=c[b+1120>>2]|0;if(h){if(a[b+1124>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[h+-4>>2]|0);f=c[b+1112>>2]|0}c[b+1120>>2]=0}a[b+1124>>0]=1;c[b+1120>>2]=i;c[b+1116>>2]=I}c[(c[b+1120>>2]|0)+(f<<2)>>2]=v;I=f+1|0;c[b+1112>>2]=I;D=c[b+1120>>2]|0;f=D+(f<<2)|0;H=c[D>>2]|0;c[D>>2]=c[f>>2];c[f>>2]=H;f=I}if((f|0)>0){h=0;do{d=c[(c[b+1120>>2]|0)+(h<<2)>>2]|0;d:do if(!(c[d+24>>2]|0)){h=h+-1|0;f=c[d+348>>2]|0;if(f|0){Ug(b+1048|0,f)|0;i=c[b+1052>>2]|0;if(i|0){c[6486]=(c[6486]|0)+1;Uc(c[i+-4>>2]|0)}c[b+1052>>2]=f;c[b+1060>>2]=(c[b+1060>>2]|0)+-1}f=c[d+52>>2]|0;if(f|0){if(a[d+56>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[f+-4>>2]|0)}c[d+52>>2]=0}a[d+56>>0]=1;c[d+52>>2]=0;c[d+44>>2]=0;c[d+48>>2]=0;f=c[d+32>>2]|0;if(f|0){if(a[d+36>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[f+-4>>2]|0)}c[d+32>>2]=0}a[d+36>>0]=1;c[d+32>>2]=0;c[d+24>>2]=0;c[d+28>>2]=0;f=c[d+12>>2]|0;if(f|0){if(a[d+16>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[f+-4>>2]|0)}c[d+12>>2]=0}a[d+16>>0]=1;c[d+12>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0);f=c[b+1112>>2]|0;if((f|0)>0){p=c[b+1120>>2]|0;i=0;while(1){k=p+(i<<2)|0;if((c[k>>2]|0)==(d|0))break;i=i+1|0;if((i|0)>=(f|0))break d}if((i|0)>=(f|0))break;c[k>>2]=c[p+(f+-1<<2)>>2];c[(c[b+1120>>2]|0)+(f+-1<<2)>>2]=d;c[b+1112>>2]=f+-1;f=f+-1|0}}while(0);h=h+1|0}while((h|0)<(f|0))}if(!((x|0)==0|(w|0)==0)){c[6486]=(c[6486]|0)+1;Uc(c[w+-4>>2]|0)}if(!((G|0)==0|(E|0)==0)){c[6486]=(c[6486]|0)+1;Uc(c[E+-4>>2]|0)}}else J=219}else J=219;e:do if((J|0)==219){p=c[b+772>>2]|0;if(p|0){if((f|0)<(p|0)){if((c[b+1116>>2]|0)<(p|0)){c[6485]=(c[6485]|0)+1;h=ic((p<<2|3)+16|0)|0;if(!h)k=0;else{c[(h+4+15&-16)+-4>>2]=h;k=h+4+15&-16}h=c[b+1112>>2]|0;if((h|0)>0){i=0;do{c[k+(i<<2)>>2]=c[(c[b+1120>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(h|0))}h=c[b+1120>>2]|0;if(h|0){if(a[b+1124>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[h+-4>>2]|0)}c[b+1120>>2]=0}a[b+1124>>0]=1;c[b+1120>>2]=k;c[b+1116>>2]=p;h=b+1120|0}else h=b+1120|0;do{c[(c[h>>2]|0)+(f<<2)>>2]=0;f=f+1|0}while((f|0)!=(p|0))}c[b+1112>>2]=p;if((p|0)>0){h=0;do{c[6485]=(c[6485]|0)+1;f=ic(403)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}a[f+16>>0]=1;c[f+12>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;a[f+36>>0]=1;c[f+32>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;a[f+56>>0]=1;c[f+52>>2]=0;c[f+44>>2]=0;c[f+48>>2]=0;J=f+348|0;c[J>>2]=0;c[J+4>>2]=0;c[J+8>>2]=0;c[J+12>>2]=0;c[J+16>>2]=0;g[f+368>>2]=100.0;g[f+372>>2]=.009999999776482582;a[f+376>>0]=0;c[(c[b+1120>>2]|0)+(h<<2)>>2]=f;a[(c[(c[b+1120>>2]|0)+(h<<2)>>2]|0)+377>>0]=1;h=h+1|0}while((h|0)<(c[b+1112>>2]|0))}if((c[b+772>>2]|0)<=0)break;d=0;while(1){r=0;do{k=c[(c[b+1120>>2]|0)+(d<<2)>>2]|0;p=(c[b+780>>2]|0)+(d*104|0)+8+(r<<2)|0;f=c[k+24>>2]|0;if((f|0)==(c[k+28>>2]|0)?(t=f|0?f<<1:1,(f|0)<(t|0)):0){if(!t)i=0;else{c[6485]=(c[6485]|0)+1;f=ic((t<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}i=f;f=c[k+24>>2]|0}if((f|0)>0){h=0;do{c[i+(h<<2)>>2]=c[(c[k+32>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(f|0))}h=c[k+32>>2]|0;if(h){if(a[k+36>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[h+-4>>2]|0);f=c[k+24>>2]|0}c[k+32>>2]=0}a[k+36>>0]=1;c[k+32>>2]=i;c[k+28>>2]=t}c[(c[k+32>>2]|0)+(f<<2)>>2]=c[p>>2];c[k+24>>2]=f+1;r=r+1|0}while((r|0)!=4);d=d+1|0;if((d|0)>=(c[b+772>>2]|0))break e}}p=c[b+752>>2]|0;if((f|0)<(p|0)){if((c[b+1116>>2]|0)<(p|0)){if(p){c[6485]=(c[6485]|0)+1;h=ic((p<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}i=c[b+1112>>2]|0;if((i|0)>0){k=0;do{c[h+(k<<2)>>2]=c[(c[b+1120>>2]|0)+(k<<2)>>2];k=k+1|0}while((k|0)!=(i|0));k=b+1120|0}else k=b+1120|0}else{h=0;k=b+1120|0}i=c[k>>2]|0;if(i|0){if(a[b+1124>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[i+-4>>2]|0)}c[k>>2]=0}a[b+1124>>0]=1;c[k>>2]=h;c[b+1116>>2]=p}do{c[(c[b+1120>>2]|0)+(f<<2)>>2]=0;f=f+1|0}while((f|0)!=(p|0))}c[b+1112>>2]=p;if((p|0)>0){h=0;do{c[6485]=(c[6485]|0)+1;f=ic(403)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}a[f+16>>0]=1;c[f+12>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;a[f+36>>0]=1;c[f+32>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;a[f+56>>0]=1;c[f+52>>2]=0;c[f+44>>2]=0;c[f+48>>2]=0;J=f+348|0;c[J>>2]=0;c[J+4>>2]=0;c[J+8>>2]=0;c[J+12>>2]=0;c[J+16>>2]=0;g[f+368>>2]=100.0;g[f+372>>2]=.009999999776482582;a[f+376>>0]=0;c[(c[b+1120>>2]|0)+(h<<2)>>2]=f;a[(c[(c[b+1120>>2]|0)+(h<<2)>>2]|0)+377>>0]=1;h=h+1|0}while((h|0)<(c[b+1112>>2]|0))}if((c[b+752>>2]|0)>0){d=0;do{r=0;do{k=c[(c[b+1120>>2]|0)+(d<<2)>>2]|0;p=(c[b+760>>2]|0)+(d*44|0)+8+(r<<2)|0;f=c[k+24>>2]|0;if((f|0)==(c[k+28>>2]|0)?(u=f|0?f<<1:1,(f|0)<(u|0)):0){if(!u)i=0;else{c[6485]=(c[6485]|0)+1;f=ic((u<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}i=f;f=c[k+24>>2]|0}if((f|0)>0){h=0;do{c[i+(h<<2)>>2]=c[(c[k+32>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(f|0))}h=c[k+32>>2]|0;if(h){if(a[k+36>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[h+-4>>2]|0);f=c[k+24>>2]|0}c[k+32>>2]=0}a[k+36>>0]=1;c[k+32>>2]=i;c[k+28>>2]=u}c[(c[k+32>>2]|0)+(f<<2)>>2]=c[p>>2];c[k+24>>2]=f+1;r=r+1|0}while((r|0)!=3);d=d+1|0}while((d|0)<(c[b+752>>2]|0))}}while(0);f=c[b+1112>>2]|0;if(!f){b=0;l=K;return b|0}if((f|0)>0){t=0;do{s=c[(c[b+1120>>2]|0)+(t<<2)>>2]|0;g[s+128>>2]=0.0;d=c[s+24>>2]|0;p=c[s+4>>2]|0;if((d|0)>(p|0)){do if((c[s+8>>2]|0)<(d|0)){if(!d){f=0;h=p}else{c[6485]=(c[6485]|0)+1;f=ic((d<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[s+4>>2]|0}i=c[s+12>>2]|0;if((h|0)<=0){if(!i){a[s+16>>0]=1;c[s+12>>2]=f;c[s+8>>2]=d;break}}else{k=0;do{c[f+(k<<2)>>2]=c[i+(k<<2)>>2];k=k+1|0}while((k|0)!=(h|0))}if(a[s+16>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[i+-4>>2]|0)}a[s+16>>0]=1;c[s+12>>2]=f;c[s+8>>2]=d}else f=c[s+12>>2]|0;while(0);Lk(f+(p<<2)|0,0,d-p<<2|0)|0;k=c[s+24>>2]|0}else k=d;c[s+4>>2]=d;if((k|0)>0){f=c[s+32>>2]|0;h=c[s+12>>2]|0;i=0;do{m=+g[(c[f+(i<<2)>>2]|0)+88>>2];if(m==0.0){a[s+376>>0]=1;m=999999984306749440.0}else m=1.0/m;g[h+(i<<2)>>2]=m;n=m+ +g[s+128>>2];g[s+128>>2]=n;i=i+1|0}while((i|0)!=(k|0));g[s+128>>2]=1.0/n;f=c[s+32>>2]|0;h=c[s+12>>2]|0;m=0.0;o=0.0;q=0.0;i=0;do{J=c[f+(i<<2)>>2]|0;L=+g[h+(i<<2)>>2];m=m+ +g[J+8>>2]*L;o=o+L*+g[J+12>>2];q=q+L*+g[J+16>>2];i=i+1|0}while((i|0)!=(k|0));n=1.0/n}else{n=1.0/+g[s+128>>2];g[s+128>>2]=n;q=0.0;o=0.0;m=0.0}A=m*n;y=o*n;o=q*n;g[s+228>>2]=A;g[s+232>>2]=y;g[s+236>>2]=o;g[s+240>>2]=0.0;f=s+316|0;h=f+36|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));f=s+132|0;h=f+48|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));f=c[s+24>>2]|0;if((f|0)>0){h=c[s+32>>2]|0;i=c[s+12>>2]|0;C=+g[s+132>>2];B=+g[s+152>>2];z=0.0;n=+g[s+136>>2];m=+g[s+140>>2];q=+g[s+156>>2];k=0;do{J=c[h+(k<<2)>>2]|0;O=+g[J+8>>2]-A;M=+g[J+12>>2]-y;N=+g[J+16>>2]-o;L=+g[i+(k<<2)>>2];C=C+L*(M*M+N*N);g[s+132>>2]=C;B=B+L*(O*O+N*N);g[s+152>>2]=B;z=(O*O+M*M)*L+z;g[s+172>>2]=z;n=n-M*O*L;g[s+136>>2]=n;m=m-N*O*L;g[s+140>>2]=m;q=q-N*M*L;g[s+156>>2]=q;k=k+1|0}while((k|0)!=(f|0));i=(g[j>>2]=q,c[j>>2]|0);f=(g[j>>2]=m,c[j>>2]|0);k=s+136|0;p=s+140|0;d=s+156|0;r=s+152|0;y=B;h=(g[j>>2]=n,c[j>>2]|0);o=C}else{h=c[s+136>>2]|0;J=c[s+140>>2]|0;i=c[s+156>>2]|0;q=(c[j>>2]=i,+g[j>>2]);n=(c[j>>2]=h,+g[j>>2]);k=s+136|0;p=s+140|0;d=s+156|0;r=s+152|0;z=0.0;y=+g[s+152>>2];f=J;o=+g[s+132>>2];m=(c[j>>2]=J,+g[j>>2])}M=(c[j>>2]=i,+g[j>>2]);A=y*z-q*M;L=(c[j>>2]=f,+g[j>>2]);O=(c[j>>2]=h,+g[j>>2]);B=q*L-z*O;C=M*O-y*L;N=1.0/(A*o+n*B+C*m);g[s+132>>2]=A*N;g[k>>2]=N*(M*m-z*n);g[p>>2]=N*(q*n-y*m);g[s+144>>2]=0.0;g[s+148>>2]=B*N;g[r>>2]=N*(z*o-L*m);g[d>>2]=N*(O*m-q*o);g[s+160>>2]=0.0;g[s+164>>2]=C*N;g[s+168>>2]=N*(L*n-M*o);g[s+172>>2]=N*(y*o-O*n);g[s+176>>2]=0.0;c[s+60>>2]=1065353216;c[s+64>>2]=0;c[s+64+4>>2]=0;c[s+64+8>>2]=0;c[s+64+12>>2]=0;c[s+80>>2]=1065353216;c[s+84>>2]=0;c[s+84+4>>2]=0;c[s+84+8>>2]=0;c[s+84+12>>2]=0;c[s+100>>2]=1065353216;c[s+104>>2]=0;c[s+104+4>>2]=0;c[s+104+8>>2]=0;c[s+104+12>>2]=0;c[s+104+16>>2]=0;c[s+108>>2]=c[s+228>>2];c[s+108+4>>2]=c[s+228+4>>2];c[s+108+8>>2]=c[s+228+8>>2];c[s+108+12>>2]=c[s+228+12>>2];p=c[s+24>>2]|0;k=c[s+44>>2]|0;if((k|0)<(p|0)){if((c[s+48>>2]|0)<(p|0)){if(!p){f=0;h=k}else{c[6485]=(c[6485]|0)+1;f=ic((p<<4|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[s+44>>2]|0}if((h|0)>0){i=0;do{J=f+(i<<4)|0;I=(c[s+52>>2]|0)+(i<<4)|0;c[J>>2]=c[I>>2];c[J+4>>2]=c[I+4>>2];c[J+8>>2]=c[I+8>>2];c[J+12>>2]=c[I+12>>2];i=i+1|0}while((i|0)!=(h|0))}h=c[s+52>>2]|0;if(h|0){if(a[s+56>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[h+-4>>2]|0)}c[s+52>>2]=0}a[s+56>>0]=1;c[s+52>>2]=f;c[s+48>>2]=p;h=s+52|0}else h=s+52|0;f=k;do{J=(c[h>>2]|0)+(f<<4)|0;c[J>>2]=c[K+16>>2];c[J+4>>2]=c[K+16+4>>2];c[J+8>>2]=c[K+16+8>>2];c[J+12>>2]=c[K+16+12>>2];f=f+1|0}while((f|0)!=(p|0))}c[s+44>>2]=p;if((p|0)>0){f=0;do{J=c[s+52>>2]|0;I=c[(c[s+32>>2]|0)+(f<<2)>>2]|0;N=+g[I+12>>2]-+g[s+232>>2];O=+g[I+16>>2]-+g[s+236>>2];g[J+(f<<4)>>2]=+g[I+8>>2]-+g[s+228>>2];g[J+(f<<4)+4>>2]=N;g[J+(f<<4)+8>>2]=O;g[J+(f<<4)+12>>2]=0.0;f=f+1|0}while((f|0)<(c[s+44>>2]|0))}t=t+1|0}while((t|0)<(c[b+1112>>2]|0))}Lc(b);f=c[b+1112>>2]|0;d=S(f,f)|0;p=c[b+1132>>2]|0;if((d|0)>(p|0)){do if((c[b+1136>>2]|0)<(d|0)){if(!d){f=0;h=p}else{c[6485]=(c[6485]|0)+1;f=ic(d+19|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[b+1132>>2]|0}i=c[b+1140>>2]|0;if((h|0)<=0){if(!i){a[b+1144>>0]=1;c[b+1140>>2]=f;c[b+1136>>2]=d;break}}else{k=0;do{a[f+k>>0]=a[i+k>>0]|0;k=k+1|0}while((k|0)!=(h|0))}if(a[b+1144>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[i+-4>>2]|0)}a[b+1144>>0]=1;c[b+1140>>2]=f;c[b+1136>>2]=d}else f=c[b+1140>>2]|0;while(0);Lk(f+p|0,0,d-p|0)|0;f=c[b+1112>>2]|0}c[b+1132>>2]=d;if((f|0)<=0){b=f;l=K;return b|0}x=c[b+1120>>2]|0;s=c[b+1140>>2]|0;v=0;do{t=c[x+(v<<2)>>2]|0;c[t+380>>2]=v;u=c[t+24>>2]|0;w=0;do{h=c[x+(w<<2)>>2]|0;f:do if((u|0)>0){i=c[h+24>>2]|0;d=0;while(1){if((i|0)>0){k=c[(c[t+32>>2]|0)+(d<<2)>>2]|0;p=c[h+32>>2]|0;r=0;do{if((k|0)==(c[p+(r<<2)>>2]|0)){h=1;break f}r=r+1|0}while((r|0)<(i|0))}d=d+1|0;if((d|0)>=(u|0)){h=0;break}}}else h=0;while(0);a[s+((S(f,w)|0)+v)>>0]=h;w=w+1|0}while((w|0)!=(f|0));v=v+1|0}while((v|0)!=(f|0));l=K;return f|0}function ec(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+80|0;bf(b,e,f)|0;a[A+16>>0]=1;c[A+12>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;a[A+36>>0]=1;c[A+32>>2]=0;c[A+24>>2]=0;c[A+28>>2]=0;a[A+56>>0]=1;c[A+52>>2]=0;c[A+44>>2]=0;c[A+48>>2]=0;a[A+76>>0]=1;c[A+72>>2]=0;c[A+64>>2]=0;c[A+68>>2]=0;y=c[b+872>>2]|0;c[e+292>>2]=y;if(y){y=Kb[c[(c[f>>2]|0)+28>>2]&31](f,b+868|0)|0;c[e+260>>2]=y;if(y|0){h=c[e+292>>2]|0;n=zb[c[(c[f>>2]|0)+16>>2]&63](f,4,h)|0;if((h|0)>0){k=0;m=c[n+8>>2]|0;while(1){i=c[(c[b+880>>2]|0)+(k<<2)>>2]|0;if(!i){g=0;j=0}else{g=i;j=Kb[c[(c[f>>2]|0)+28>>2]&31](f,i)|0}c[m>>2]=j;if(!(Kb[c[(c[f>>2]|0)+24>>2]&31](f,g)|0)){y=zb[c[(c[f>>2]|0)+16>>2]&63](f,16,1)|0;x=c[y+8>>2]|0;c[x+12>>2]=c[i+16>>2];c[x+4>>2]=c[i+8>>2];c[x>>2]=c[i+4>>2];c[x+8>>2]=c[i+12>>2];jb[c[(c[f>>2]|0)+20>>2]&31](f,y,10762,1414349395,g)}k=k+1|0;if((k|0)>=(h|0)){g=f;break}else m=m+4|0}}else g=f;jb[c[(c[g>>2]|0)+20>>2]&31](f,n,10762,1497453121,b+868|0)}}else c[e+260>>2]=0;y=c[b+712>>2]|0;c[e+296>>2]=y;if(y){y=Kb[c[(c[f>>2]|0)+28>>2]&31](f,b+708|0)|0;c[e+264>>2]=y;if(y|0){p=c[e+296>>2]|0;q=zb[c[(c[f>>2]|0)+16>>2]&63](f,100,p)|0;if((p|0)>0){r=0;s=c[q+8>>2]|0;while(1){i=c[b+720>>2]|0;c[s+52>>2]=c[i+(r*104|0)+56>>2];c[s+56>>2]=c[i+(r*104|0)+60>>2];c[s+60>>2]=c[i+(r*104|0)+64>>2];c[s+64>>2]=c[i+(r*104|0)+68>>2];c[s+88>>2]=c[i+(r*104|0)+92>>2];c[s+92>>2]=(a[i+(r*104|0)+100>>0]<<7&255)<<24>>24>>7<<24>>24;c[s+84>>2]=c[i+(r*104|0)+88>>2];g=c[i+(r*104|0)+4>>2]|0;if(!g){h=0;g=i}else{h=Kb[c[(c[f>>2]|0)+28>>2]&31](f,g)|0;g=c[b+720>>2]|0}c[s>>2]=h;c[s+68>>2]=c[g+(r*104|0)+72>>2];c[s+72>>2]=c[g+(r*104|0)+76>>2];c[s+76>>2]=c[g+(r*104|0)+80>>2];c[s+80>>2]=c[g+(r*104|0)+84>>2];c[s+4>>2]=c[g+(r*104|0)+8>>2];c[s+8>>2]=c[g+(r*104|0)+12>>2];c[s+12>>2]=c[g+(r*104|0)+16>>2];c[s+16>>2]=c[g+(r*104|0)+20>>2];c[s+20>>2]=c[g+(r*104|0)+24>>2];c[s+24>>2]=c[g+(r*104|0)+28>>2];c[s+28>>2]=c[g+(r*104|0)+32>>2];c[s+32>>2]=c[g+(r*104|0)+36>>2];c[s+36>>2]=c[g+(r*104|0)+40>>2];c[s+40>>2]=c[g+(r*104|0)+44>>2];c[s+44>>2]=c[g+(r*104|0)+48>>2];c[s+48>>2]=c[g+(r*104|0)+52>>2];k=(c[b+720>>2]|0)+(r*104|0)|0;o=(k+~(k<<15)>>10^k+~(k<<15))*9|0;o=(o>>6^o)+~((o>>6^o)<<11)>>16^(o>>6^o)+~((o>>6^o)<<11);m=c[A+48>>2]|0;a:do if((o&m+-1)>>>0<(c[A+4>>2]|0)>>>0?(w=c[(c[A+12>>2]|0)+((o&m+-1)<<2)>>2]|0,(w|0)!=-1):0){h=c[A+72>>2]|0;i=c[A+32>>2]|0;g=w;while(1){if((k|0)==(c[h+(g<<3)>>2]|0))break;g=c[i+(g<<2)>>2]|0;if((g|0)==-1){z=26;break a}}c[(c[A+52>>2]|0)+(g<<2)>>2]=r}else z=26;while(0);if((z|0)==26){z=0;n=c[A+44>>2]|0;if((n|0)==(m|0)){g=m|0?m<<1:1;if((m|0)<(g|0)){if((g|0)!=0?(c[6485]=(c[6485]|0)+1,t=ic((g<<2|3)+16|0)|0,(t|0)!=0):0){c[(t+4+15&-16)+-4>>2]=t;j=t+4+15&-16}else j=0;i=c[A+52>>2]|0;if((m|0)<=0)if(!i)h=m;else z=34;else{h=0;do{c[j+(h<<2)>>2]=c[i+(h<<2)>>2];h=h+1|0}while((h|0)!=(m|0));z=34}if((z|0)==34){z=0;if(a[A+56>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[i+-4>>2]|0)}c[A+52>>2]=0;h=c[A+44>>2]|0}a[A+56>>0]=1;c[A+52>>2]=j;c[A+48>>2]=g}else{g=m;h=m}}else{g=m;h=n}c[(c[A+52>>2]|0)+(h<<2)>>2]=r;c[A+44>>2]=h+1;h=c[A+64>>2]|0;if((h|0)==(c[A+68>>2]|0)?(u=h|0?h<<1:1,(h|0)<(u|0)):0){if((u|0)!=0?(c[6485]=(c[6485]|0)+1,v=ic((u<<3|3)+16|0)|0,(v|0)!=0):0){c[(v+4+15&-16)+-4>>2]=v;i=v+4+15&-16}else i=0;if((h|0)>0){g=0;do{j=(c[A+72>>2]|0)+(g<<3)|0;x=c[j+4>>2]|0;y=i+(g<<3)|0;c[y>>2]=c[j>>2];c[y+4>>2]=x;g=g+1|0}while((g|0)!=(h|0))}g=c[A+72>>2]|0;if(g|0){if(a[A+76>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[g+-4>>2]|0)}c[A+72>>2]=0}a[A+76>>0]=1;c[A+72>>2]=i;c[A+68>>2]=u;h=c[A+64>>2]|0;g=c[A+48>>2]|0}c[(c[A+72>>2]|0)+(h<<3)>>2]=k;c[A+64>>2]=h+1;if((m|0)<(g|0)){m=c[A+4>>2]|0;do if((g|0)>(m|0)){b:do if((c[A+8>>2]|0)<(g|0)){do if(!g)h=0;else{c[6485]=(c[6485]|0)+1;h=ic((g<<2|3)+16|0)|0;if(!h){h=0;break}c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}while(0);i=c[A+12>>2]|0;do if((m|0)>0){j=0;do{c[h+(j<<2)>>2]=c[i+(j<<2)>>2];j=j+1|0}while((j|0)!=(m|0))}else{if(i|0)break;a[A+16>>0]=1;c[A+12>>2]=h;c[A+8>>2]=g;break b}while(0);if(a[A+16>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[i+-4>>2]|0)}a[A+16>>0]=1;c[A+12>>2]=h;c[A+8>>2]=g}else h=c[A+12>>2]|0;while(0);Lk(h+(m<<2)|0,0,g-m<<2|0)|0;c[A+4>>2]=g;k=c[A+24>>2]|0;if((g|0)>(k|0)){c:do if((c[A+28>>2]|0)<(g|0)){do if(!g)h=0;else{c[6485]=(c[6485]|0)+1;h=ic((g<<2|3)+16|0)|0;if(!h){h=0;break}c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}while(0);i=c[A+32>>2]|0;do if((k|0)>0){j=0;do{c[h+(j<<2)>>2]=c[i+(j<<2)>>2];j=j+1|0}while((j|0)!=(k|0))}else{if(i|0)break;a[A+36>>0]=1;c[A+32>>2]=h;c[A+28>>2]=g;break c}while(0);if(a[A+36>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[i+-4>>2]|0)}a[A+36>>0]=1;c[A+32>>2]=h;c[A+28>>2]=g}else h=c[A+32>>2]|0;while(0);Lk(h+(k<<2)|0,0,g-k<<2|0)|0}c[A+24>>2]=g;if((g|0)>0){y=g<<2;Lk(c[A+12>>2]|0,-1,y|0)|0;Lk(c[A+32>>2]|0,-1,y|0)|0}if((m|0)<=0){g=c[A+48>>2]|0;break}h=c[A+72>>2]|0;i=c[A+12>>2]|0;j=c[A+32>>2]|0;g=c[A+48>>2]|0;k=0;do{y=c[h+(k<<3)>>2]|0;y=(y+~(y<<15)>>10^y+~(y<<15))*9|0;y=i+((((y>>6^y)+~((y>>6^y)<<11)>>16^(y>>6^y)+~((y>>6^y)<<11))&g+-1)<<2)|0;c[j+(k<<2)>>2]=c[y>>2];c[y>>2]=k;k=k+1|0}while((k|0)!=(m|0))}while(0);g=o&g+-1}else g=o&m+-1;y=(c[A+12>>2]|0)+(g<<2)|0;c[(c[A+32>>2]|0)+(n<<2)>>2]=c[y>>2];c[y>>2]=n}r=r+1|0;if((r|0)>=(p|0))break;else s=s+100|0}}jb[c[(c[f>>2]|0)+20>>2]&31](f,q,10783,1145979475,b+708|0)}}else c[e+264>>2]=0;y=c[b+732>>2]|0;c[e+300>>2]=y;if(y){y=Kb[c[(c[f>>2]|0)+28>>2]&31](f,c[b+740>>2]|0)|0;c[e+268>>2]=y;if(y|0){j=c[e+300>>2]|0;n=zb[c[(c[f>>2]|0)+16>>2]&63](f,20,j)|0;if((j|0)>0){i=c[b+740>>2]|0;g=i;k=0;m=c[n+8>>2]|0;while(1){c[m+16>>2]=(a[i+(k*52|0)+20>>0]<<7&255)<<24>>24>>7<<24>>24;h=c[i+(k*52|0)+4>>2]|0;if(!h)h=0;else{h=Kb[c[(c[f>>2]|0)+28>>2]&31](f,h)|0;i=c[b+740>>2]|0;g=i}c[m>>2]=h;h=c[i+(k*52|0)+8>>2]|0;if(!h)h=-1;else h=(h-(c[b+720>>2]|0)|0)/104|0;c[m+4>>2]=h;h=c[i+(k*52|0)+12>>2]|0;if(!h)h=-1;else h=(h-(c[b+720>>2]|0)|0)/104|0;c[m+8>>2]=h;c[m+12>>2]=c[i+(k*52|0)+16>>2];k=k+1|0;if((k|0)>=(j|0))break;else m=m+20|0}}else g=c[b+740>>2]|0;jb[c[(c[f>>2]|0)+20>>2]&31](f,n,10800,1497453121,g)}}else c[e+268>>2]=0;y=c[b+752>>2]|0;c[e+304>>2]=y;if(y){y=Kb[c[(c[f>>2]|0)+28>>2]&31](f,c[b+760>>2]|0)|0;c[e+272>>2]=y;if(y|0){j=c[e+304>>2]|0;n=zb[c[(c[f>>2]|0)+16>>2]&63](f,36,j)|0;if((j|0)>0){i=c[b+760>>2]|0;g=i;k=0;m=c[n+8>>2]|0;while(1){h=c[i+(k*44|0)+4>>2]|0;if(!h)h=0;else{h=Kb[c[(c[f>>2]|0)+28>>2]&31](f,h)|0;i=c[b+760>>2]|0;g=i}c[m+16>>2]=h;c[m>>2]=c[i+(k*44|0)+20>>2];c[m+4>>2]=c[i+(k*44|0)+24>>2];c[m+8>>2]=c[i+(k*44|0)+28>>2];c[m+12>>2]=c[i+(k*44|0)+32>>2];h=c[i+(k*44|0)+8>>2]|0;if(!h)h=-1;else h=(h-(c[b+720>>2]|0)|0)/104|0;c[m+20>>2]=h;h=c[i+(k*44|0)+12>>2]|0;if(!h)h=-1;else h=(h-(c[b+720>>2]|0)|0)/104|0;c[m+24>>2]=h;h=c[i+(k*44|0)+16>>2]|0;if(!h)h=-1;else h=(h-(c[b+720>>2]|0)|0)/104|0;c[m+28>>2]=h;c[m+32>>2]=c[i+(k*44|0)+36>>2];k=k+1|0;if((k|0)>=(j|0))break;else m=m+36|0}}else g=c[b+760>>2]|0;jb[c[(c[f>>2]|0)+20>>2]&31](f,n,10817,1497453121,g)}}else c[e+272>>2]=0;y=c[b+772>>2]|0;c[e+308>>2]=y;if(y){y=Kb[c[(c[f>>2]|0)+28>>2]&31](f,c[b+780>>2]|0)|0;c[e+276>>2]=y;if(y|0){j=c[e+308>>2]|0;n=zb[c[(c[f>>2]|0)+16>>2]&63](f,100,j)|0;if((j|0)>0){i=c[b+780>>2]|0;g=i;k=0;m=c[n+8>>2]|0;while(1){c[m>>2]=c[i+(k*104|0)+32>>2];c[m+4>>2]=c[i+(k*104|0)+36>>2];c[m+8>>2]=c[i+(k*104|0)+40>>2];c[m+12>>2]=c[i+(k*104|0)+44>>2];h=c[i+8>>2]|0;if(!h)h=-1;else h=(h-(c[b+720>>2]|0)|0)/104|0;c[m+68>>2]=h;c[m+16>>2]=c[i+(k*104|0)+48>>2];c[m+20>>2]=c[i+(k*104|0)+52>>2];c[m+24>>2]=c[i+(k*104|0)+56>>2];c[m+28>>2]=c[i+(k*104|0)+60>>2];h=c[i+116>>2]|0;if(!h)h=-1;else h=(h-(c[b+720>>2]|0)|0)/104|0;c[m+72>>2]=h;c[m+32>>2]=c[i+(k*104|0)+64>>2];c[m+36>>2]=c[i+(k*104|0)+68>>2];c[m+40>>2]=c[i+(k*104|0)+72>>2];c[m+44>>2]=c[i+(k*104|0)+76>>2];h=c[i+224>>2]|0;if(!h)h=-1;else h=(h-(c[b+720>>2]|0)|0)/104|0;c[m+76>>2]=h;c[m+48>>2]=c[i+(k*104|0)+80>>2];c[m+52>>2]=c[i+(k*104|0)+84>>2];c[m+56>>2]=c[i+(k*104|0)+88>>2];c[m+60>>2]=c[i+(k*104|0)+92>>2];h=c[i+332>>2]|0;if(!h)h=-1;else h=(h-(c[b+720>>2]|0)|0)/104|0;c[m+80>>2]=h;c[m+88>>2]=c[i+(k*104|0)+96>>2];c[m+92>>2]=c[i+(k*104|0)+100>>2];h=c[i+(k*104|0)+4>>2]|0;if(!h)h=0;else{h=Kb[c[(c[f>>2]|0)+28>>2]&31](f,h)|0;i=c[b+780>>2]|0;g=i}c[m+64>>2]=h;c[m+84>>2]=c[i+(k*104|0)+24>>2];k=k+1|0;if((k|0)>=(j|0))break;else m=m+100|0}}else g=c[b+780>>2]|0;jb[c[(c[f>>2]|0)+20>>2]&31](f,n,10834,1497453121,g)}}else c[e+276>>2]=0;y=c[b+792>>2]|0;c[e+312>>2]=y;if(y){y=Kb[c[(c[f>>2]|0)+28>>2]&31](f,c[b+800>>2]|0)|0;c[e+280>>2]=y;if(!y)y=f;else{i=c[e+312>>2]|0;j=zb[c[(c[f>>2]|0)+16>>2]&63](f,92,i)|0;if((i|0)>0){k=0;m=c[j+8>>2]|0;while(1){h=c[b+800>>2]|0;c[m>>2]=c[h+(k*96|0)+28>>2];c[m+4>>2]=c[h+(k*96|0)+32>>2];c[m+8>>2]=c[h+(k*96|0)+36>>2];c[m+12>>2]=c[h+(k*96|0)+40>>2];c[m+16>>2]=c[h+(k*96|0)+44>>2];c[m+20>>2]=c[h+(k*96|0)+48>>2];c[m+24>>2]=c[h+(k*96|0)+52>>2];c[m+28>>2]=c[h+(k*96|0)+56>>2];c[m+32>>2]=c[h+(k*96|0)+60>>2];c[m+36>>2]=c[h+(k*96|0)+64>>2];c[m+40>>2]=c[h+(k*96|0)+68>>2];c[m+44>>2]=c[h+(k*96|0)+72>>2];c[m+48>>2]=c[h+(k*96|0)+76>>2];c[m+52>>2]=c[h+(k*96|0)+80>>2];c[m+56>>2]=c[h+(k*96|0)+84>>2];c[m+60>>2]=c[h+(k*96|0)+88>>2];c[m+88>>2]=c[h+(k*96|0)+92>>2];h=c[b+800>>2]|0;c[m+64>>2]=c[h+(k*96|0)+4>>2];c[m+68>>2]=c[h+(k*96|0)+8>>2];c[m+72>>2]=c[h+(k*96|0)+12>>2];c[m+76>>2]=c[h+(k*96|0)+16>>2];g=c[h+(k*96|0)>>2]|0;if(!g)g=-1;else g=(g-(c[b+720>>2]|0)|0)/104|0;c[m+84>>2]=g;g=c[h+(k*96|0)+20>>2]|0;if(!g)g=0;else g=Kb[c[(c[f>>2]|0)+28>>2]&31](f,g)|0;c[m+80>>2]=g;k=k+1|0;if((k|0)>=(i|0))break;else m=m+92|0}}jb[c[(c[f>>2]|0)+20>>2]&31](f,j,10852,1497453121,c[b+800>>2]|0);y=f}}else{c[e+280>>2]=0;y=f}c[e+352>>2]=c[b+316>>2];c[e+328>>2]=c[b+292>>2];c[e+344>>2]=c[b+308>>2];c[e+324>>2]=c[b+288>>2];c[e+340>>2]=c[b+304>>2];c[e+336>>2]=c[b+300>>2];c[e+412>>2]=c[b+376>>2];c[e+416>>2]=c[b+380>>2];c[e+420>>2]=c[b+384>>2];c[e+408>>2]=c[b+372>>2];n=c[b+364>>2]|0;c[e+332>>2]=c[b+296>>2];c[e+356>>2]=c[b+320>>2];c[e+424>>2]=c[b+388>>2];c[e+348>>2]=c[b+312>>2];c[e+360>>2]=c[b+324>>2];c[e+364>>2]=c[b+328>>2];c[e+368>>2]=c[b+332>>2];c[e+372>>2]=c[b+336>>2];c[e+404>>2]=c[b+368>>2];c[e+400>>2]=n;c[e+376>>2]=c[b+340>>2];c[e+380>>2]=c[b+344>>2];c[e+384>>2]=c[b+348>>2];c[e+388>>2]=c[b+352>>2];c[e+392>>2]=c[b+356>>2];c[e+396>>2]=c[b+360>>2];c[e+256>>2]=Kb[c[(c[y>>2]|0)+28>>2]&31](f,b+472|0)|0;n=zb[c[(c[f>>2]|0)+16>>2]&63](f,192,1)|0;m=c[n+8>>2]|0;c[m+96>>2]=c[b+632>>2];c[m+100>>2]=c[b+636>>2];c[m+104>>2]=c[b+640>>2];c[m+108>>2]=c[b+644>>2];c[m+112>>2]=c[b+648>>2];c[m+116>>2]=c[b+652>>2];c[m+120>>2]=c[b+656>>2];c[m+124>>2]=c[b+660>>2];c[m+128>>2]=c[b+664>>2];c[m+132>>2]=c[b+668>>2];c[m+136>>2]=c[b+672>>2];c[m+140>>2]=c[b+676>>2];c[m+180>>2]=d[b+473>>0];c[m+176>>2]=d[b+472>>0];c[m+144>>2]=c[b+520>>2];c[m+148>>2]=c[b+524>>2];c[m+152>>2]=c[b+528>>2];c[m+156>>2]=c[b+532>>2];x=c[b+484>>2]|0;c[m+168>>2]=x;if(x){x=Kb[c[(c[y>>2]|0)+28>>2]&31](f,c[b+492>>2]|0)|0;h=c[m+168>>2]|0;c[m+160>>2]=x;if(h|0){k=zb[c[(c[f>>2]|0)+16>>2]&63](f,16,h)|0;if((h|0)>0){g=c[b+492>>2]|0;i=0;j=c[k+8>>2]|0;while(1){c[j>>2]=c[g+(i<<4)>>2];c[j+4>>2]=c[g+(i<<4)+4>>2];c[j+8>>2]=c[g+(i<<4)+8>>2];c[j+12>>2]=c[g+(i<<4)+12>>2];i=i+1|0;if((i|0)==(h|0))break;else j=j+16|0}}else g=c[b+492>>2]|0;jb[c[(c[f>>2]|0)+20>>2]&31](f,k,19366,1497453121,g)}}else c[m+160>>2]=0;c[m+184>>2]=c[b+476>>2];c[m>>2]=c[b+536>>2];c[m+4>>2]=c[b+540>>2];c[m+8>>2]=c[b+544>>2];c[m+12>>2]=c[b+548>>2];c[m+16>>2]=c[b+552>>2];c[m+20>>2]=c[b+556>>2];c[m+24>>2]=c[b+560>>2];c[m+28>>2]=c[b+564>>2];c[m+32>>2]=c[b+568>>2];c[m+36>>2]=c[b+572>>2];c[m+40>>2]=c[b+576>>2];c[m+44>>2]=c[b+580>>2];c[m+48>>2]=c[b+584>>2];c[m+52>>2]=c[b+588>>2];c[m+56>>2]=c[b+592>>2];c[m+60>>2]=c[b+596>>2];c[m+64>>2]=c[b+600>>2];c[m+68>>2]=c[b+604>>2];c[m+72>>2]=c[b+608>>2];c[m+76>>2]=c[b+612>>2];c[m+80>>2]=c[b+616>>2];c[m+84>>2]=c[b+620>>2];c[m+88>>2]=c[b+624>>2];c[m+92>>2]=c[b+628>>2];x=c[b+504>>2]|0;c[m+172>>2]=x;if(x){x=Kb[c[(c[y>>2]|0)+28>>2]&31](f,c[b+512>>2]|0)|0;j=c[m+172>>2]|0;c[m+164>>2]=x;if(!j)z=149;else{k=zb[c[(c[f>>2]|0)+16>>2]&63](f,4,j)|0;if((j|0)>0){g=c[b+512>>2]|0;h=0;i=c[k+8>>2]|0;while(1){c[i>>2]=c[g+(h<<2)>>2];h=h+1|0;if((h|0)==(j|0))break;else i=i+4|0}}else g=c[b+512>>2]|0;jb[c[(c[f>>2]|0)+20>>2]&31](f,k,10872,1497453121,g);x=f}}else{c[m+164>>2]=0;z=149}if((z|0)==149)x=f;jb[c[(c[x>>2]|0)+20>>2]&31](f,n,10878,1497453121,b+472|0);z=c[b+1112>>2]|0;c[e+316>>2]=z;if(z){z=Kb[c[(c[y>>2]|0)+28>>2]&31](f,c[c[b+1120>>2]>>2]|0)|0;p=c[e+316>>2]|0;c[e+284>>2]=z;if(p|0){q=zb[c[(c[f>>2]|0)+16>>2]&63](f,348,p)|0;if((p|0)>0){r=c[A+12>>2]|0;s=c[A+72>>2]|0;t=c[A+52>>2]|0;u=c[A+32>>2]|0;v=0;w=c[q+8>>2]|0;while(1){h=c[(c[b+1120>>2]|0)+(v<<2)>>2]|0;z=w+320|0;c[z>>2]=c[h+360>>2];c[w+256>>2]=c[h+332>>2];c[w+260>>2]=c[h+336>>2];c[w+264>>2]=c[h+340>>2];c[w+268>>2]=c[h+344>>2];c[w+344>>2]=c[h+380>>2];c[w+340>>2]=d[h+377>>0];c[w+160>>2]=c[h+228>>2];c[w+164>>2]=c[h+232>>2];c[w+168>>2]=c[h+236>>2];c[w+172>>2]=c[h+240>>2];c[w+336>>2]=d[h+376>>0];c[w+208>>2]=c[h+276>>2];c[w+212>>2]=c[h+280>>2];c[w+216>>2]=c[h+284>>2];c[w+220>>2]=c[h+288>>2];c[w+224>>2]=c[h+292>>2];c[w+228>>2]=c[h+296>>2];c[w+232>>2]=c[h+300>>2];c[w+236>>2]=c[h+304>>2];h=c[(c[b+1120>>2]|0)+(v<<2)>>2]|0;c[w>>2]=c[h+60>>2];c[w+4>>2]=c[h+64>>2];c[w+8>>2]=c[h+68>>2];c[w+12>>2]=c[h+72>>2];c[w+16>>2]=c[h+76>>2];c[w+20>>2]=c[h+80>>2];c[w+24>>2]=c[h+84>>2];c[w+28>>2]=c[h+88>>2];c[w+32>>2]=c[h+92>>2];c[w+36>>2]=c[h+96>>2];c[w+40>>2]=c[h+100>>2];c[w+44>>2]=c[h+104>>2];c[w+48>>2]=c[h+108>>2];c[w+52>>2]=c[h+112>>2];c[w+56>>2]=c[h+116>>2];c[w+60>>2]=c[h+120>>2];c[w+296>>2]=c[h+124>>2];h=c[(c[b+1120>>2]|0)+(v<<2)>>2]|0;c[w+300>>2]=c[h+128>>2];c[w+112>>2]=c[h+180>>2];c[w+116>>2]=c[h+184>>2];c[w+120>>2]=c[h+188>>2];c[w+124>>2]=c[h+192>>2];c[w+128>>2]=c[h+196>>2];c[w+132>>2]=c[h+200>>2];c[w+136>>2]=c[h+204>>2];c[w+140>>2]=c[h+208>>2];c[w+144>>2]=c[h+212>>2];c[w+148>>2]=c[h+216>>2];c[w+152>>2]=c[h+220>>2];c[w+156>>2]=c[h+224>>2];g=w+316|0;c[g>>2]=c[h+356>>2];c[w+64>>2]=c[h+132>>2];c[w+68>>2]=c[h+136>>2];c[w+72>>2]=c[h+140>>2];c[w+76>>2]=c[h+144>>2];c[w+80>>2]=c[h+148>>2];c[w+84>>2]=c[h+152>>2];c[w+88>>2]=c[h+156>>2];c[w+92>>2]=c[h+160>>2];c[w+96>>2]=c[h+164>>2];c[w+100>>2]=c[h+168>>2];c[w+104>>2]=c[h+172>>2];c[w+108>>2]=c[h+176>>2];h=c[(c[b+1120>>2]|0)+(v<<2)>>2]|0;c[w+240>>2]=c[h+316>>2];c[w+244>>2]=c[h+320>>2];c[w+248>>2]=c[h+324>>2];c[w+252>>2]=c[h+328>>2];c[w+324>>2]=c[h+364>>2];c[w+328>>2]=c[h+368>>2];c[w+312>>2]=c[h+352>>2];c[g>>2]=c[h+356>>2];c[z>>2]=c[h+360>>2];c[w+332>>2]=c[h+372>>2];z=c[h+44>>2]|0;g=w+284|0;c[g>>2]=z;n=w+292|0;c[n>>2]=c[h+4>>2];o=w+288|0;c[o>>2]=c[h+24>>2];c[w+304>>2]=c[h+308>>2];c[w+176>>2]=c[h+244>>2];c[w+180>>2]=c[h+248>>2];c[w+184>>2]=c[h+252>>2];c[w+188>>2]=c[h+256>>2];c[w+192>>2]=c[h+260>>2];c[w+196>>2]=c[h+264>>2];c[w+200>>2]=c[h+268>>2];c[w+204>>2]=c[h+272>>2];h=c[(c[b+1120>>2]|0)+(v<<2)>>2]|0;c[w+308>>2]=c[h+312>>2];if(z){z=Kb[c[(c[y>>2]|0)+28>>2]&31](f,c[h+52>>2]|0)|0;c[w+272>>2]=z;if(z|0){h=c[g>>2]|0;m=zb[c[(c[f>>2]|0)+16>>2]&63](f,16,h)|0;if((h|0)>0){g=c[(c[b+1120>>2]|0)+(v<<2)>>2]|0;i=c[g+52>>2]|0;j=0;k=c[m+8>>2]|0;while(1){c[k>>2]=c[i+(j<<4)>>2];c[k+4>>2]=c[i+(j<<4)+4>>2];c[k+8>>2]=c[i+(j<<4)+8>>2];c[k+12>>2]=c[i+(j<<4)+12>>2];j=j+1|0;if((j|0)==(h|0))break;else k=k+16|0}}else g=c[(c[b+1120>>2]|0)+(v<<2)>>2]|0;jb[c[(c[x>>2]|0)+20>>2]&31](f,m,19366,1497453121,c[g+52>>2]|0)}}else c[w+272>>2]=0;if(c[n>>2]|0){z=Kb[c[(c[y>>2]|0)+28>>2]&31](f,c[(c[(c[b+1120>>2]|0)+(v<<2)>>2]|0)+12>>2]|0)|0;c[w+280>>2]=z;if(z|0){h=c[n>>2]|0;m=zb[c[(c[f>>2]|0)+16>>2]&63](f,4,h)|0;if((h|0)>0){g=c[(c[b+1120>>2]|0)+(v<<2)>>2]|0;i=c[g+12>>2]|0;j=0;k=c[m+8>>2]|0;while(1){c[k>>2]=c[i+(j<<2)>>2];j=j+1|0;if((j|0)==(h|0))break;else k=k+4|0}}else g=c[(c[b+1120>>2]|0)+(v<<2)>>2]|0;jb[c[(c[x>>2]|0)+20>>2]&31](f,m,10872,1497453121,c[g+12>>2]|0)}}else c[w+280>>2]=0;if(c[o>>2]|0){z=Kb[c[(c[y>>2]|0)+28>>2]&31](f,(c[(c[b+1120>>2]|0)+(v<<2)>>2]|0)+20|0)|0;c[w+276>>2]=z;if(z|0){k=c[n>>2]|0;o=zb[c[(c[f>>2]|0)+16>>2]&63](f,4,k)|0;if((k|0)>0){g=c[(c[b+1120>>2]|0)+(v<<2)>>2]|0;j=c[g+32>>2]|0;m=0;n=c[o+8>>2]|0;while(1){i=c[j+(m<<2)>>2]|0;h=(i+~(i<<15)>>10^i+~(i<<15))*9|0;h=c[r+((((h>>6^h)+~((h>>6^h)<<11)>>16^(h>>6^h)+~((h>>6^h)<<11))&(c[A+48>>2]|0)+-1)<<2)>>2]|0;if((i|0)!=(c[s+(h<<3)>>2]|0))do h=c[u+(h<<2)>>2]|0;while((i|0)!=(c[s+(h<<3)>>2]|0));c[n>>2]=c[t+(h<<2)>>2];m=m+1|0;if((m|0)==(k|0))break;else n=n+4|0}}else g=c[(c[b+1120>>2]|0)+(v<<2)>>2]|0;jb[c[(c[x>>2]|0)+20>>2]&31](f,o,10895,1497453121,g+20|0)}}else c[w+276>>2]=0;v=v+1|0;if((v|0)>=(p|0))break;else w=w+348|0}}jb[c[(c[x>>2]|0)+20>>2]&31](f,q,10899,1497453121,c[c[b+1120>>2]>>2]|0)}}else c[e+284>>2]=0;z=c[b+852>>2]|0;c[e+320>>2]=z;if(!z){c[e+288>>2]=0;Ui(A);l=A;return 10939}z=Kb[c[(c[y>>2]|0)+28>>2]&31](f,c[b+860>>2]|0)|0;c[e+288>>2]=z;if(!z){Ui(A);l=A;return 10939}i=c[b+852>>2]|0;j=zb[c[(c[f>>2]|0)+16>>2]&63](f,104,i)|0;if((i|0)>0){m=0;n=c[j+8>>2]|0;while(1){g=c[(c[b+860>>2]|0)+(m<<2)>>2]|0;c[n+96>>2]=pb[c[(c[g>>2]|0)+20>>2]&127](g)|0;g=(c[b+860>>2]|0)+(m<<2)|0;h=c[g>>2]|0;c[n+8>>2]=c[h+28>>2];c[n+12>>2]=c[h+32>>2];c[n+16>>2]=c[h+36>>2];c[n+20>>2]=c[h+40>>2];c[n+24>>2]=c[h+44>>2];c[n+28>>2]=c[h+48>>2];c[n+32>>2]=c[h+52>>2];c[n+36>>2]=c[h+56>>2];c[n+40>>2]=c[h+60>>2];c[n+44>>2]=c[h+64>>2];c[n+48>>2]=c[h+68>>2];c[n+52>>2]=d[h+152>>0];h=n+56|0;c[n>>2]=0;k=n+4|0;c[k>>2]=0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[h+24>>2]=0;c[h+28>>2]=0;g=c[g>>2]|0;h=c[g+4>>2]|0;if(h){c[n+88>>2]=1;c[n>>2]=Kb[c[(c[y>>2]|0)+28>>2]&31](f,h)|0;g=c[(c[b+860>>2]|0)+(m<<2)>>2]|0}if(c[g+12>>2]|0){c[n+88>>2]=3;c[n>>2]=Kb[c[(c[y>>2]|0)+28>>2]&31](f,c[(c[(c[b+860>>2]|0)+(m<<2)>>2]|0)+12>>2]|0)|0}g=c[(c[b+860>>2]|0)+(m<<2)>>2]|0;h=c[g+8>>2]|0;if(h){c[n+88>>2]=2;c[n>>2]=Kb[c[(c[y>>2]|0)+28>>2]&31](f,h)|0;g=c[(c[b+860>>2]|0)+(m<<2)>>2]|0}h=c[g+16>>2]|0;if(h){c[n+92>>2]=1;c[k>>2]=Kb[c[(c[y>>2]|0)+28>>2]&31](f,h)|0;g=c[(c[b+860>>2]|0)+(m<<2)>>2]|0}h=c[g+24>>2]|0;if(h){c[n+92>>2]=3;c[k>>2]=Kb[c[(c[y>>2]|0)+28>>2]&31](f,h)|0;g=c[(c[b+860>>2]|0)+(m<<2)>>2]|0}g=c[g+20>>2]|0;if(g|0){c[n+92>>2]=2;c[k>>2]=Kb[c[(c[y>>2]|0)+28>>2]&31](f,g)|0}m=m+1|0;if((m|0)>=(i|0))break;else n=n+104|0}}jb[c[(c[x>>2]|0)+20>>2]&31](f,j,10919,1497453121,c[b+860>>2]|0);Ui(A);l=A;return 10939}function fc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0.0,m=0.0,n=0,o=0.0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0,N=0,O=0,P=0.0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0.0,ea=0.0;ca=l;l=l+80|0;if((e|0)<=0){l=ca;return}$=0;do{U=c[d+($<<2)>>2]|0;V=c[U+740>>2]|0;W=c[U+744>>2]|0;X=Bj(b,V,+g[f+12>>2])|0;Y=Bj(b,W,+g[f+12>>2])|0;Z=c[b+16>>2]|0;if(!(((((+g[Z+(X*244|0)+128>>2]==0.0?+g[Z+(X*244|0)+132>>2]==0.0:0)?+g[Z+(X*244|0)+136>>2]==0.0:0)?+g[Z+(Y*244|0)+128>>2]==0.0:0)?+g[Z+(Y*244|0)+132>>2]==0.0:0)?+g[Z+(Y*244|0)+136>>2]==0.0:0))ba=9;if((ba|0)==9?(ba=0,_=c[U+748>>2]|0,(_|0)>0):0){i=_;aa=0;h=1;do{R=U+4+(aa*184|0)|0;p=U+4+(aa*184|0)+80|0;if(+g[p>>2]<=+g[U+756>>2]){S=c[b+28>>2]|0;if((S|0)==(c[b+32>>2]|0)?(T=S|0?S<<1:1,(S|0)<(T|0)):0){if(!T){i=0;j=S}else{c[6485]=(c[6485]|0)+1;i=ic((T*152|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}j=c[b+28>>2]|0}if((j|0)>0){n=0;do{_h(i+(n*152|0)|0,(c[b+36>>2]|0)+(n*152|0)|0,152)|0;n=n+1|0}while((n|0)!=(j|0))}j=c[b+36>>2]|0;if(j|0){if(a[b+40>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[j+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=i;c[b+32>>2]=T;i=c[b+28>>2]|0}else i=S;c[b+28>>2]=i+1;Q=c[b+36>>2]|0;q=(c[V+236>>2]&2|0)==0?0:V;r=(c[W+236>>2]&2|0)==0?0:W;c[Q+(S*152|0)+144>>2]=X;c[Q+(S*152|0)+148>>2]=Y;c[Q+(S*152|0)+132>>2]=R;z=+g[U+4+(aa*184|0)+48>>2]-+g[V+52>>2];A=+g[U+4+(aa*184|0)+52>>2]-+g[V+56>>2];y=+g[U+4+(aa*184|0)+56>>2]-+g[V+60>>2];g[ca+64>>2]=z;g[ca+64+4>>2]=A;g[ca+64+8>>2]=y;g[ca+64+12>>2]=0.0;C=+g[U+4+(aa*184|0)+32>>2]-+g[W+52>>2];D=+g[U+4+(aa*184|0)+36>>2]-+g[W+56>>2];B=+g[U+4+(aa*184|0)+40>>2]-+g[W+60>>2];g[ca+48>>2]=C;g[ca+48+4>>2]=D;g[ca+48+8>>2]=B;g[ca+48+12>>2]=0.0;if(!(c[Z+(X*244|0)+240>>2]|0)){m=0.0;s=0.0;u=0.0}else{P=+g[Z+(X*244|0)+192>>2]+ +g[Z+(X*244|0)+224>>2];u=+g[Z+(X*244|0)+196>>2]+ +g[Z+(X*244|0)+228>>2];s=+g[Z+(X*244|0)+200>>2]+ +g[Z+(X*244|0)+232>>2];m=+g[Z+(X*244|0)+176>>2]+ +g[Z+(X*244|0)+208>>2]+(u*y-s*A);s=+g[Z+(X*244|0)+180>>2]+ +g[Z+(X*244|0)+212>>2]+(s*z-P*y);u=+g[Z+(X*244|0)+184>>2]+ +g[Z+(X*244|0)+216>>2]+(P*A-u*z)}if(!(c[Z+(Y*244|0)+240>>2]|0)){k=0.0;o=0.0;t=0.0}else{P=+g[Z+(Y*244|0)+192>>2]+ +g[Z+(Y*244|0)+224>>2];t=+g[Z+(Y*244|0)+196>>2]+ +g[Z+(Y*244|0)+228>>2];o=+g[Z+(Y*244|0)+200>>2]+ +g[Z+(Y*244|0)+232>>2];k=+g[Z+(Y*244|0)+176>>2]+ +g[Z+(Y*244|0)+208>>2]+(t*B-o*D);o=+g[Z+(Y*244|0)+180>>2]+ +g[Z+(Y*244|0)+212>>2]+(o*C-P*B);t=+g[Z+(Y*244|0)+184>>2]+ +g[Z+(Y*244|0)+216>>2]+(P*D-t*C)}P=m-k;L=s-o;H=u-t;M=U+4+(aa*184|0)+64|0;I=+g[M>>2];N=U+4+(aa*184|0)+68|0;J=+g[N>>2];O=U+4+(aa*184|0)+72|0;K=+g[O>>2];n=c[b+16>>2]|0;i=c[n+(X*244|0)+240>>2]|0;j=c[n+(Y*244|0)+240>>2]|0;if(i|0){k=((A*K-y*J)*+g[i+264>>2]+(y*I-K*z)*+g[i+268>>2]+(J*z-A*I)*+g[i+272>>2])*+g[i+544>>2];m=((A*K-y*J)*+g[i+280>>2]+(y*I-K*z)*+g[i+284>>2]+(J*z-A*I)*+g[i+288>>2])*+g[i+548>>2];o=((A*K-y*J)*+g[i+296>>2]+(y*I-K*z)*+g[i+300>>2]+(J*z-A*I)*+g[i+304>>2])*+g[i+552>>2]}else{k=0.0;m=0.0;o=0.0}g[Q+(S*152|0)+64>>2]=k;g[Q+(S*152|0)+68>>2]=m;g[Q+(S*152|0)+72>>2]=o;g[Q+(S*152|0)+76>>2]=0.0;v=+g[O>>2];w=+g[N>>2];x=+g[M>>2];if(j|0){s=(+g[j+264>>2]*-(D*v-B*w)+ +g[j+268>>2]*-(B*x-v*C)+ +g[j+272>>2]*-(w*C-D*x))*+g[j+544>>2];t=(+g[j+280>>2]*-(D*v-B*w)+ +g[j+284>>2]*-(B*x-v*C)+ +g[j+288>>2]*-(w*C-D*x))*+g[j+548>>2];u=(+g[j+296>>2]*-(D*v-B*w)+ +g[j+300>>2]*-(B*x-v*C)+ +g[j+304>>2]*-(w*C-D*x))*+g[j+552>>2]}else{s=0.0;t=0.0;u=0.0}g[Q+(S*152|0)+80>>2]=s;g[Q+(S*152|0)+84>>2]=t;g[Q+(S*152|0)+88>>2]=u;g[Q+(S*152|0)+92>>2]=0.0;if(i|0)m=+g[i+344>>2]+((m*y-o*A)*+g[M>>2]+(o*z-y*k)*+g[N>>2]+(A*k-m*z)*+g[O>>2]);else m=0.0;if(j|0){E=-s;k=-t;u=-u;k=+g[j+344>>2]+((B*k-D*u)*+g[M>>2]+(C*u-B*E)*+g[N>>2]+(D*E-C*k)*+g[O>>2])}else k=0.0;g[Q+(S*152|0)+108>>2]=1.0/(m+k);if(i|0){c[Q+(S*152|0)+16>>2]=c[M>>2];c[Q+(S*152|0)+16+4>>2]=c[M+4>>2];c[Q+(S*152|0)+16+8>>2]=c[M+8>>2];c[Q+(S*152|0)+16+12>>2]=c[M+12>>2];g[Q+(S*152|0)>>2]=A*K-y*J;g[Q+(S*152|0)+4>>2]=y*I-K*z;g[Q+(S*152|0)+8>>2]=J*z-A*I;g[Q+(S*152|0)+12>>2]=0.0}else{c[Q+(S*152|0)>>2]=0;c[Q+(S*152|0)+4>>2]=0;c[Q+(S*152|0)+8>>2]=0;c[Q+(S*152|0)+12>>2]=0;c[Q+(S*152|0)+16>>2]=0;c[Q+(S*152|0)+20>>2]=0;c[Q+(S*152|0)+24>>2]=0;c[Q+(S*152|0)+28>>2]=0}if(j|0){u=-+g[N>>2];E=-+g[O>>2];g[Q+(S*152|0)+48>>2]=-+g[M>>2];g[Q+(S*152|0)+52>>2]=u;g[Q+(S*152|0)+56>>2]=E;g[Q+(S*152|0)+60>>2]=0.0;g[Q+(S*152|0)+32>>2]=-(D*v-B*w);g[Q+(S*152|0)+36>>2]=-(B*x-v*C);g[Q+(S*152|0)+40>>2]=-(w*C-D*x);g[Q+(S*152|0)+44>>2]=0.0}else{c[Q+(S*152|0)+32>>2]=0;c[Q+(S*152|0)+32+4>>2]=0;c[Q+(S*152|0)+32+8>>2]=0;c[Q+(S*152|0)+32+12>>2]=0;c[Q+(S*152|0)+32+16>>2]=0;c[Q+(S*152|0)+32+20>>2]=0;c[Q+(S*152|0)+32+24>>2]=0;c[Q+(S*152|0)+32+28>>2]=0}E=+g[p>>2]+ +g[f+56>>2];if(i|0){s=+g[i+332>>2];t=+g[i+336>>2];x=+g[i+328>>2];u=s*y-t*A+ +g[i+312>>2];t=+g[i+316>>2]+(t*z-y*x);s=A*x-s*z+ +g[i+320>>2]}else{u=0.0;t=0.0;s=0.0}if(j|0){k=+g[j+332>>2];m=+g[j+336>>2];A=+g[j+328>>2];o=k*B-m*D+ +g[j+312>>2];m=+g[j+316>>2]+(m*C-B*A);k=D*A-k*C+ +g[j+320>>2]}else{o=0.0;m=0.0;k=0.0}B=+g[M>>2]*(u-o)+(t-m)*+g[N>>2]+(s-k)*+g[O>>2];c[Q+(S*152|0)+104>>2]=c[U+4+(aa*184|0)+84>>2];B=B*+g[U+4+(aa*184|0)+92>>2];B=!(B>=-0.0)?-B:0.0;do if(!(c[f+64>>2]&4))g[Q+(S*152|0)+100>>2]=0.0;else{k=+g[U+4+(aa*184|0)+120>>2]*+g[f+60>>2];g[Q+(S*152|0)+100>>2]=k;do if(i|0){if(!(c[n+(X*244|0)+240>>2]|0))break;D=k*+g[Q+(S*152|0)+20>>2]*+g[n+(X*244|0)+132>>2]*+g[i+352>>2]*+g[n+(X*244|0)+116>>2];C=k*+g[Q+(S*152|0)+24>>2]*+g[n+(X*244|0)+136>>2]*+g[i+356>>2]*+g[n+(X*244|0)+120>>2];g[n+(X*244|0)+64>>2]=+g[n+(X*244|0)+112>>2]*k*+g[Q+(S*152|0)+16>>2]*+g[n+(X*244|0)+128>>2]*+g[i+348>>2]+ +g[n+(X*244|0)+64>>2];g[n+(X*244|0)+68>>2]=D+ +g[n+(X*244|0)+68>>2];g[n+(X*244|0)+72>>2]=C+ +g[n+(X*244|0)+72>>2];C=k*+g[n+(X*244|0)+100>>2]*+g[Q+(S*152|0)+68>>2];D=k*+g[n+(X*244|0)+104>>2]*+g[Q+(S*152|0)+72>>2];g[n+(X*244|0)+80>>2]=k*+g[n+(X*244|0)+96>>2]*+g[Q+(S*152|0)+64>>2]+ +g[n+(X*244|0)+80>>2];g[n+(X*244|0)+84>>2]=C+ +g[n+(X*244|0)+84>>2];g[n+(X*244|0)+88>>2]=D+ +g[n+(X*244|0)+88>>2]}while(0);if(!j)break;k=+g[Q+(S*152|0)+100>>2];if(!(c[n+(Y*244|0)+240>>2]|0))break;D=+g[Q+(S*152|0)+88>>2];C=+g[Q+(S*152|0)+84>>2];A=+g[Q+(S*152|0)+80>>2];y=k*+g[Q+(S*152|0)+52>>2]*+g[n+(Y*244|0)+132>>2]*+g[j+352>>2]*+g[n+(Y*244|0)+116>>2];z=k*+g[Q+(S*152|0)+56>>2]*+g[n+(Y*244|0)+136>>2]*+g[j+356>>2]*+g[n+(Y*244|0)+120>>2];g[n+(Y*244|0)+64>>2]=+g[n+(Y*244|0)+112>>2]*k*+g[Q+(S*152|0)+48>>2]*+g[n+(Y*244|0)+128>>2]*+g[j+348>>2]+ +g[n+(Y*244|0)+64>>2];g[n+(Y*244|0)+68>>2]=y+ +g[n+(Y*244|0)+68>>2];g[n+(Y*244|0)+72>>2]=z+ +g[n+(Y*244|0)+72>>2];C=C*+g[n+(Y*244|0)+100>>2]*-k;D=D*+g[n+(Y*244|0)+104>>2]*-k;g[n+(Y*244|0)+80>>2]=+g[n+(Y*244|0)+80>>2]-A*+g[n+(Y*244|0)+96>>2]*-k;g[n+(Y*244|0)+84>>2]=+g[n+(Y*244|0)+84>>2]-C;g[n+(Y*244|0)+88>>2]=+g[n+(Y*244|0)+88>>2]-D}while(0);g[Q+(S*152|0)+96>>2]=0.0;if(!(c[n+(X*244|0)+240>>2]|0)){k=0.0;m=0.0;o=0.0;s=0.0;t=0.0;u=0.0}else{k=+g[n+(X*244|0)+208>>2];m=+g[n+(X*244|0)+212>>2];o=+g[n+(X*244|0)+216>>2];s=+g[n+(X*244|0)+224>>2];t=+g[n+(X*244|0)+228>>2];u=+g[n+(X*244|0)+232>>2]}if(!(c[n+(Y*244|0)+240>>2]|0)){v=0.0;w=0.0;x=0.0;y=0.0;z=0.0;A=0.0}else{v=+g[n+(Y*244|0)+208>>2];w=+g[n+(Y*244|0)+212>>2];x=+g[n+(Y*244|0)+216>>2];y=+g[n+(Y*244|0)+224>>2];z=+g[n+(Y*244|0)+228>>2];A=+g[n+(Y*244|0)+232>>2]}k=B-((k+ +g[n+(X*244|0)+176>>2])*+g[Q+(S*152|0)+16>>2]+(m+ +g[n+(X*244|0)+180>>2])*+g[Q+(S*152|0)+20>>2]+(o+ +g[n+(X*244|0)+184>>2])*+g[Q+(S*152|0)+24>>2]+((s+ +g[n+(X*244|0)+192>>2])*+g[Q+(S*152|0)>>2]+(t+ +g[n+(X*244|0)+196>>2])*+g[Q+(S*152|0)+4>>2]+(u+ +g[n+(X*244|0)+200>>2])*+g[Q+(S*152|0)+8>>2])+((v+ +g[n+(Y*244|0)+176>>2])*+g[Q+(S*152|0)+48>>2]+(w+ +g[n+(Y*244|0)+180>>2])*+g[Q+(S*152|0)+52>>2]+(x+ +g[n+(Y*244|0)+184>>2])*+g[Q+(S*152|0)+56>>2]+((y+ +g[n+(Y*244|0)+192>>2])*+g[Q+(S*152|0)+32>>2]+(z+ +g[n+(Y*244|0)+196>>2])*+g[Q+(S*152|0)+36>>2]+(A+ +g[n+(Y*244|0)+200>>2])*+g[Q+(S*152|0)+40>>2])));i=(c[f+44>>2]|0)==0;m=+g[f+12>>2];if(E>0.0){o=0.0;k=k-E/m}else o=-(E*(i|E>+g[f+48>>2]?+g[f+32>>2]:+g[f+36>>2]))/m;C=+g[Q+(S*152|0)+108>>2];D=o*C;C=k*C;p=i|E>+g[f+48>>2];g[Q+(S*152|0)+112>>2]=p?D+C:C;g[Q+(S*152|0)+128>>2]=p?0.0:D;g[Q+(S*152|0)+116>>2]=0.0;g[Q+(S*152|0)+120>>2]=0.0;g[Q+(S*152|0)+124>>2]=1.0e10;c[Q+(S*152|0)+140>>2]=c[b+68>>2];if(!q){m=0.0;t=0.0;u=0.0}else{m=+g[q+328>>2];t=+g[q+332>>2];u=+g[q+336>>2]}if(!r){k=0.0;o=0.0;s=0.0}else{k=+g[r+328>>2];o=+g[r+332>>2];s=+g[r+336>>2]}k=k-m;o=o-t;s=s-u;g[ca+32>>2]=k;g[ca+32+4>>2]=o;g[ca+32+8>>2]=s;g[ca+32+12>>2]=0.0;do if((h|0)>0?+g[U+4+(aa*184|0)+88>>2]>0.0:0){h=h+-1|0;m=+G(+(k*k+o*o+s*s));if(m>+g[f+80>>2]){g[ca+32>>2]=k*(1.0/m);g[ca+32+4>>2]=o*(1.0/m);g[ca+32+8>>2]=s*(1.0/m);if(!(c[V+180>>2]&2)){k=k*(1.0/m);o=o*(1.0/m);m=s*(1.0/m)}else{u=+g[V+4>>2];x=+g[V+20>>2];A=+g[V+36>>2];v=+g[V+8>>2];y=+g[V+24>>2];C=+g[V+40>>2];w=+g[V+12>>2];z=+g[V+28>>2];E=+g[V+44>>2];B=(u*k*(1.0/m)+x*o*(1.0/m)+s*(1.0/m)*A)*+g[V+164>>2];D=(k*(1.0/m)*v+o*(1.0/m)*y+s*(1.0/m)*C)*+g[V+168>>2];m=(k*(1.0/m)*w+o*(1.0/m)*z+s*(1.0/m)*E)*+g[V+172>>2];g[ca+32>>2]=u*B+v*D+w*m;g[ca+32+4>>2]=x*B+y*D+z*m;g[ca+32+8>>2]=A*B+C*D+E*m;g[ca+32+12>>2]=0.0;k=u*B+v*D+w*m;o=x*B+y*D+z*m;m=A*B+C*D+E*m}if(c[W+180>>2]&2){A=+g[W+4>>2];u=+g[W+20>>2];x=+g[W+36>>2];C=+g[W+8>>2];v=+g[W+24>>2];y=+g[W+40>>2];E=+g[W+12>>2];w=+g[W+28>>2];z=+g[W+44>>2];B=(A*k+u*o+x*m)*+g[W+164>>2];D=(k*C+o*v+m*y)*+g[W+168>>2];k=(k*E+o*w+m*z)*+g[W+172>>2];g[ca+32>>2]=A*B+C*D+E*k;g[ca+32+4>>2]=u*B+v*D+w*k;g[ca+32+8>>2]=x*B+y*D+z*k;g[ca+32+12>>2]=0.0;o=u*B+v*D+w*k;m=x*B+y*D+z*k;k=A*B+C*D+E*k}if(!(+G(+(k*k+o*o+m*m))>.001))break;vd(b,ca+32|0,X,Y,S,R);break}vd(b,M,X,Y,S,R);k=+g[O>>2];if(+F(+k)>.7071067690849304){o=+g[N>>2];E=1.0/+G(+(k*k+o*o));g[ca+16>>2]=0.0;g[ca+16+4>>2]=-(E*k);g[ca+16+8>>2]=E*o;g[ca>>2]=(k*k+o*o)*E;D=+g[M>>2];g[ca+4>>2]=-(D*E*o);v=D*-(E*k);m=0.0;s=-(E*k);u=E*o;t=(k*k+o*o)*E;o=-(D*E*o)}else{t=+g[M>>2];E=+g[N>>2];o=1.0/+G(+(t*t+E*E));g[ca+16>>2]=-(E*o);g[ca+16+4>>2]=o*t;g[ca+16+8>>2]=0.0;g[ca>>2]=-(k*o*t);g[ca+4>>2]=k*-(E*o);v=(t*t+E*E)*o;m=-(E*o);s=o*t;u=0.0;t=-(k*o*t);o=k*-(E*o)}g[ca+8>>2]=v;if(!(c[V+180>>2]&2))k=u;else{ea=+g[V+4>>2];x=+g[V+20>>2];A=+g[V+36>>2];da=+g[V+8>>2];y=+g[V+24>>2];C=+g[V+40>>2];w=+g[V+12>>2];z=+g[V+28>>2];E=+g[V+44>>2];B=(ea*m+x*s+A*u)*+g[V+164>>2];D=(m*da+s*y+u*C)*+g[V+168>>2];k=(m*w+s*z+u*E)*+g[V+172>>2];g[ca+16>>2]=ea*B+da*D+w*k;g[ca+16+4>>2]=x*B+y*D+z*k;g[ca+16+8>>2]=A*B+C*D+E*k;g[ca+16+12>>2]=0.0;m=ea*B+da*D+w*k;s=x*B+y*D+z*k;k=A*B+C*D+E*k}if(!(c[W+180>>2]&2))u=k;else{w=+g[W+4>>2];z=+g[W+20>>2];C=+g[W+36>>2];x=+g[W+8>>2];A=+g[W+24>>2];E=+g[W+40>>2];y=+g[W+12>>2];B=+g[W+28>>2];ea=+g[W+44>>2];D=(w*m+z*s+C*k)*+g[W+164>>2];da=(m*x+s*A+k*E)*+g[W+168>>2];u=(m*y+s*B+k*ea)*+g[W+172>>2];g[ca+16>>2]=w*D+x*da+y*u;g[ca+16+4>>2]=z*D+A*da+B*u;g[ca+16+8>>2]=C*D+E*da+ea*u;g[ca+16+12>>2]=0.0;m=w*D+x*da+y*u;s=z*D+A*da+B*u;u=C*D+E*da+ea*u}do if(!V)k=v;else{if(!(c[V+180>>2]&2)){k=v;break}w=+g[V+4>>2];z=+g[V+20>>2];C=+g[V+36>>2];x=+g[V+8>>2];A=+g[V+24>>2];E=+g[V+40>>2];y=+g[V+12>>2];B=+g[V+28>>2];ea=+g[V+44>>2];D=(w*t+z*o+C*v)*+g[V+164>>2];da=(t*x+o*A+v*E)*+g[V+168>>2];k=(t*y+o*B+v*ea)*+g[V+172>>2];g[ca>>2]=w*D+x*da+y*k;g[ca+4>>2]=z*D+A*da+B*k;g[ca+8>>2]=C*D+E*da+ea*k;g[ca+12>>2]=0.0;t=w*D+x*da+y*k;o=z*D+A*da+B*k;k=C*D+E*da+ea*k}while(0);do if(W){if(!(c[W+180>>2]&2))break;w=+g[W+4>>2];z=+g[W+20>>2];C=+g[W+36>>2];x=+g[W+8>>2];A=+g[W+24>>2];E=+g[W+40>>2];y=+g[W+12>>2];B=+g[W+28>>2];ea=+g[W+44>>2];D=(w*t+z*o+C*k)*+g[W+164>>2];da=(t*x+o*A+k*E)*+g[W+168>>2];k=(t*y+o*B+k*ea)*+g[W+172>>2];g[ca>>2]=w*D+x*da+y*k;g[ca+4>>2]=z*D+A*da+B*k;g[ca+8>>2]=C*D+E*da+ea*k;g[ca+12>>2]=0.0;t=w*D+x*da+y*k;o=z*D+A*da+B*k;k=C*D+E*da+ea*k}while(0);if(+G(+(m*m+s*s+u*u))>.001)vd(b,ca+16|0,X,Y,S,R);if(!(+G(+(t*t+o*o+k*k))>.001))break;vd(b,ca,X,Y,S,R)}while(0);do if(!(c[f+64>>2]&32))ba=93;else{if(!(a[U+4+(aa*184|0)+116>>0]|0)){ba=93;break}cd(b,U+4+(aa*184|0)+152|0,X,Y,S,R,ca+64|0,ca+48|0,1.0,+g[U+4+(aa*184|0)+132>>2],+g[U+4+(aa*184|0)+140>>2]);if(!(c[f+64>>2]&16))break;cd(b,U+4+(aa*184|0)+168|0,X,Y,S,R,ca+64|0,ca+48|0,1.0,+g[U+4+(aa*184|0)+136>>2],+g[U+4+(aa*184|0)+144>>2])}while(0);do if((ba|0)==93){ba=0;p=U+4+(aa*184|0)+152|0;s=+g[M>>2];t=+g[N>>2];u=+g[O>>2];m=P-(I*P+L*J+H*K)*s;o=L-(I*P+L*J+H*K)*t;k=H-(I*P+L*J+H*K)*u;g[U+4+(aa*184|0)+152>>2]=m;i=U+4+(aa*184|0)+156|0;g[i>>2]=o;n=U+4+(aa*184|0)+160|0;g[n>>2]=k;g[U+4+(aa*184|0)+164>>2]=0.0;if((c[f+64>>2]&64|0)==0?m*m+o*o+k*k>1.1920928955078125e-07:0){ea=1.0/+G(+(m*m+o*o+k*k));g[p>>2]=m*ea;g[i>>2]=ea*o;g[n>>2]=ea*k;ik(V,p);ik(W,p);cd(b,p,X,Y,S,R,ca+64|0,ca+48|0,1.0,0.0,0.0);if(!(c[f+64>>2]&16))break;r=U+4+(aa*184|0)+168|0;P=+g[i>>2];J=+g[O>>2];I=+g[n>>2];K=+g[N>>2];da=+g[M>>2];L=+g[p>>2];g[U+4+(aa*184|0)+168>>2]=P*J-I*K;g[U+4+(aa*184|0)+180>>2]=0.0;ea=1.0/+G(+((P*J-I*K)*(P*J-I*K)+(I*da-J*L)*(I*da-J*L)+(K*L-P*da)*(K*L-P*da)));g[r>>2]=(P*J-I*K)*ea;g[U+4+(aa*184|0)+172>>2]=(I*da-J*L)*ea;g[U+4+(aa*184|0)+176>>2]=(K*L-P*da)*ea;ik(V,r);ik(W,r);cd(b,r,X,Y,S,R,ca+64|0,ca+48|0,1.0,0.0,0.0);break}j=U+4+(aa*184|0)+168|0;if(+F(+u)>.7071067690849304){k=1.0/+G(+(u*u+t*t));g[p>>2]=0.0;g[i>>2]=-(k*u);g[n>>2]=k*t;m=-(s*k*t);o=s*-(k*u);k=(u*u+t*t)*k}else{k=1.0/+G(+(s*s+t*t));g[p>>2]=-(t*k);g[i>>2]=k*s;g[n>>2]=0.0;m=u*-(t*k);o=(s*s+t*t)*k;k=-(u*k*s)}g[j>>2]=k;g[U+4+(aa*184|0)+172>>2]=m;g[U+4+(aa*184|0)+176>>2]=o;ik(V,p);ik(W,p);cd(b,p,X,Y,S,R,ca+64|0,ca+48|0,1.0,0.0,0.0);i=c[f+64>>2]|0;if(i&16){ik(V,j);ik(W,j);cd(b,j,X,Y,S,R,ca+64|0,ca+48|0,1.0,0.0,0.0);i=c[f+64>>2]|0}if((i&80|0)!=80)break;a[U+4+(aa*184|0)+116>>0]=1}while(0);r=c[b+16>>2]|0;j=c[r+(X*244|0)+240>>2]|0;n=c[r+(Y*244|0)+240>>2]|0;p=c[Q+(S*152|0)+140>>2]|0;q=c[b+76>>2]|0;i=c[f+64>>2]|0;do if(!(i&4))g[q+(p*152|0)+100>>2]=0.0;else{k=+g[U+4+(aa*184|0)+124>>2]*+g[f+60>>2];g[q+(p*152|0)+100>>2]=k;if(j|0){P=+g[j+344>>2];ea=k*P*+g[q+(p*152|0)+20>>2]*+g[j+352>>2]*+g[r+(X*244|0)+116>>2];da=k*P*+g[q+(p*152|0)+24>>2]*+g[j+356>>2]*+g[r+(X*244|0)+120>>2];g[r+(X*244|0)+64>>2]=+g[r+(X*244|0)+112>>2]*k*P*+g[q+(p*152|0)+16>>2]*+g[j+348>>2]+ +g[r+(X*244|0)+64>>2];g[r+(X*244|0)+68>>2]=ea+ +g[r+(X*244|0)+68>>2];g[r+(X*244|0)+72>>2]=da+ +g[r+(X*244|0)+72>>2];da=k*+g[r+(X*244|0)+100>>2]*+g[q+(p*152|0)+68>>2];ea=k*+g[r+(X*244|0)+104>>2]*+g[q+(p*152|0)+72>>2];g[r+(X*244|0)+80>>2]=k*+g[r+(X*244|0)+96>>2]*+g[q+(p*152|0)+64>>2]+ +g[r+(X*244|0)+80>>2];g[r+(X*244|0)+84>>2]=da+ +g[r+(X*244|0)+84>>2];g[r+(X*244|0)+88>>2]=ea+ +g[r+(X*244|0)+88>>2]}if(!n)break;k=+g[n+344>>2];m=+g[q+(p*152|0)+100>>2];if(!(c[r+(Y*244|0)+240>>2]|0))break;ea=+g[q+(p*152|0)+88>>2];da=+g[q+(p*152|0)+84>>2];P=+g[q+(p*152|0)+80>>2];K=m*k*+g[q+(p*152|0)+52>>2]*+g[n+352>>2]*+g[r+(Y*244|0)+116>>2];L=m*k*+g[q+(p*152|0)+56>>2]*+g[n+356>>2]*+g[r+(Y*244|0)+120>>2];g[r+(Y*244|0)+64>>2]=+g[r+(Y*244|0)+112>>2]*m*k*+g[q+(p*152|0)+48>>2]*+g[n+348>>2]+ +g[r+(Y*244|0)+64>>2];g[r+(Y*244|0)+68>>2]=K+ +g[r+(Y*244|0)+68>>2];g[r+(Y*244|0)+72>>2]=L+ +g[r+(Y*244|0)+72>>2];da=da*+g[r+(Y*244|0)+100>>2]*-m;ea=ea*+g[r+(Y*244|0)+104>>2]*-m;g[r+(Y*244|0)+80>>2]=+g[r+(Y*244|0)+80>>2]-P*+g[r+(Y*244|0)+96>>2]*-m;g[r+(Y*244|0)+84>>2]=+g[r+(Y*244|0)+84>>2]-da;g[r+(Y*244|0)+88>>2]=+g[r+(Y*244|0)+88>>2]-ea}while(0);do if(i&16|0){if(!(i&4)){g[q+((p+1|0)*152|0)+100>>2]=0.0;break}m=+g[U+4+(aa*184|0)+128>>2]*+g[f+60>>2];g[q+((p+1|0)*152|0)+100>>2]=m;do if(j|0){k=+g[j+344>>2];if(!(c[r+(X*244|0)+240>>2]|0))break;ea=m*k*+g[q+((p+1|0)*152|0)+20>>2]*+g[r+(X*244|0)+116>>2];da=m*k*+g[q+((p+1|0)*152|0)+24>>2]*+g[r+(X*244|0)+120>>2];g[r+(X*244|0)+64>>2]=+g[r+(X*244|0)+112>>2]*m*k*+g[q+((p+1|0)*152|0)+16>>2]+ +g[r+(X*244|0)+64>>2];g[r+(X*244|0)+68>>2]=ea+ +g[r+(X*244|0)+68>>2];g[r+(X*244|0)+72>>2]=da+ +g[r+(X*244|0)+72>>2];da=m*+g[r+(X*244|0)+100>>2]*+g[q+((p+1|0)*152|0)+68>>2];ea=m*+g[r+(X*244|0)+104>>2]*+g[q+((p+1|0)*152|0)+72>>2];g[r+(X*244|0)+80>>2]=m*+g[r+(X*244|0)+96>>2]*+g[q+((p+1|0)*152|0)+64>>2]+ +g[r+(X*244|0)+80>>2];g[r+(X*244|0)+84>>2]=da+ +g[r+(X*244|0)+84>>2];g[r+(X*244|0)+88>>2]=ea+ +g[r+(X*244|0)+88>>2]}while(0);if(!n)break;k=+g[n+344>>2];m=+g[q+((p+1|0)*152|0)+100>>2];if(!(c[r+(Y*244|0)+240>>2]|0))break;ea=+g[q+((p+1|0)*152|0)+88>>2];da=+g[q+((p+1|0)*152|0)+84>>2];P=+g[q+((p+1|0)*152|0)+80>>2];K=m*k*+g[q+((p+1|0)*152|0)+52>>2]*+g[r+(Y*244|0)+116>>2];L=m*k*+g[q+((p+1|0)*152|0)+56>>2]*+g[r+(Y*244|0)+120>>2];g[r+(Y*244|0)+64>>2]=+g[r+(Y*244|0)+112>>2]*m*k*+g[q+((p+1|0)*152|0)+48>>2]+ +g[r+(Y*244|0)+64>>2];g[r+(Y*244|0)+68>>2]=K+ +g[r+(Y*244|0)+68>>2];g[r+(Y*244|0)+72>>2]=L+ +g[r+(Y*244|0)+72>>2];da=da*+g[r+(Y*244|0)+100>>2]*-m;ea=ea*+g[r+(Y*244|0)+104>>2]*-m;g[r+(Y*244|0)+80>>2]=+g[r+(Y*244|0)+80>>2]-P*+g[r+(Y*244|0)+96>>2]*-m;g[r+(Y*244|0)+84>>2]=+g[r+(Y*244|0)+84>>2]-da;g[r+(Y*244|0)+88>>2]=+g[r+(Y*244|0)+88>>2]-ea}while(0);i=c[U+748>>2]|0}aa=aa+1|0}while((aa|0)<(i|0))}$=$+1|0}while(($|0)!=(e|0));l=ca;return}function gc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;K=l;l=l+144|0;a:do switch(d-b|0){case 0:{c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;l=K;return}case 2:{f=c[(c[a+92>>2]|0)+(b<<2)>>2]|0;j=c[f+88>>2]|0;k=c[f+200>>2]|0;i=c[f+92>>2]|0;g=c[f+204>>2]|0;if((j|0)==(k|0)){if((i|0)==(g|0))if((c[f+96>>2]|0)==(c[f+208>>2]|0))break a;else g=i;if((i|0)==(g|0)){I=(c[f+96>>2]|0)>(c[f+208>>2]|0);h=I?f+112|0:f;c[h>>2]=h;c[h+4>>2]=h;c[e>>2]=h;c[e+4>>2]=h;c[e+8>>2]=h;g=h;f=I?f:f+112|0}else{h=g;g=0;J=9}}else{h=g;g=(i|0)==(g|0);J=9}do if((J|0)==9){c[f>>2]=f+112;c[f+4>>2]=f+112;c[f+112>>2]=f;c[f+116>>2]=f;J=(i|0)<(h|0);c[e>>2]=(j|0)<(k|0)|(j|0)==(k|0)&J?f:f+112|0;c[e+4>>2]=(j|0)<(k|0)|(j|0)==(k|0)&J?f+112|0:f;if(J|(j|0)<(k|0)&g){c[e+8>>2]=f;g=f+112|0;h=f;f=f+112|0;break}else{c[e+8>>2]=f+112;g=f;h=f;f=f+112|0;break}}while(0);c[e+12>>2]=g;a=Tf(a,h,f)|0;c[a>>2]=a;c[a+4>>2]=a;c[h+8>>2]=a;a=c[a+8>>2]|0;c[a>>2]=a;c[a+4>>2]=a;c[f+8>>2]=a;l=K;return}case 1:{f=c[(c[a+92>>2]|0)+(b<<2)>>2]|0;break}default:{m=((d-b|0)/2|0)+b|0;h=c[a+92>>2]|0;k=c[h+(m+-1<<2)>>2]|0;i=c[k+88>>2]|0;j=c[k+92>>2]|0;k=c[k+96>>2]|0;b:do if((m|0)<(d|0)){f=m;do{g=c[h+(f<<2)>>2]|0;if((c[g+88>>2]|0)!=(i|0))break b;if((c[g+92>>2]|0)!=(j|0))break b;if((c[g+96>>2]|0)!=(k|0))break b;f=f+1|0}while((f|0)<(d|0))}else f=m;while(0);gc(a,b,m,e);c[K+96>>2]=0;c[K+96+4>>2]=0;c[K+96+8>>2]=0;c[K+96+12>>2]=0;gc(a,f,d,K+96|0);j=c[K+96+4>>2]|0;do if(j|0){A=c[e+4>>2]|0;if(!A){c[e>>2]=c[K+96>>2];c[e+4>>2]=c[K+96+4>>2];c[e+8>>2]=c[K+96+8>>2];c[e+12>>2]=c[K+96+12>>2];break}c[a+100>>2]=(c[a+100>>2]|0)+-1;h=c[e+12>>2]|0;i=c[K+96+8>>2]|0;g=c[h+88>>2]|0;c:do if((g|0)==(c[i+88>>2]|0)?(c[h+92>>2]|0)==(c[i+92>>2]|0):0){k=c[i+4>>2]|0;if((k|0)==(i|0)){f=c[i+8>>2]|0;if(!f)f=g;else{i=c[f+12>>2]|0;f=c[i+88>>2]|0}j=f+1|0;G=i;g=h;k=c[i+96>>2]|0;f=i;break}h=c[i>>2]|0;c[k>>2]=h;c[h+4>>2]=k;if((i|0)==(c[K+96>>2]|0)){f=c[h+88>>2]|0;g=c[k+88>>2]|0;if((f|0)>=(g|0))if((f|0)==(g|0)?(c[h+92>>2]|0)<(c[k+92>>2]|0):0)J=31;else f=k;else J=31;if((J|0)==31)f=h;c[K+96>>2]=f}if((i|0)==(j|0)){f=c[h+88>>2]|0;g=c[k+88>>2]|0;do if((f|0)<=(g|0)){if((f|0)==(g|0)?(c[h+92>>2]|0)>(c[k+92>>2]|0):0)break;c[K+96+4>>2]=k;h=k;J=39;break c}while(0);c[K+96+4>>2]=h;J=39}else{h=j;J=39}}else{h=j;J=39}while(0);if((J|0)==39){x=c[e>>2]|0;y=c[K+96>>2]|0;f=0;z=1;j=A;g=0;k=h;i=0;d:while(1)while(1){m=c[k+88>>2]|0;o=c[j+88>>2]|0;d=S(m-o|0,z)|0;e:do if((d|0)<=0){if((d|0)<0){v=(f|0)!=0;n=c[j+92>>2]|0;w=c[k+92>>2]|0;while(1){s=c[(v?k+4|0:k)>>2]|0;t=(s|0)==(k|0);u=k+88|0;while(1){b=j+88|0;q=w-n|0;if(!t?(B=c[s+88>>2]|0,C=S(B-m|0,z)|0,E=c[s+92>>2]|0,F=E-w|0,(F|0)>-1):0){if(!C)break;if((C|0)<0?(S(F,d)|0)<=(S(C,q)|0):0)break}r=c[(v?j+4|0:j)>>2]|0;if((r|0)==(j|0)){d=j;m=k;break e}G=c[r+88>>2]|0;o=S(G-(c[b>>2]|0)|0,z)|0;p=c[r+92>>2]|0;b=p-n|0;m=c[u>>2]|0;n=d;d=S(m-G|0,z)|0;if(!((b|0)>0&(d|0)<0)){d=j;m=k;break e}if(!o){n=p;j=r;continue}if((o|0)>=0){d=j;m=k;break e}if((S(b,n)|0)>=(S(o,q)|0)){d=j;m=k;break e}else{n=p;j=r}}w=E;m=B;d=S(B-(c[b>>2]|0)|0,z)|0;k=s}}m=c[j+92>>2]|0;n=(f|0)!=0;f:do if(n){b=j;while(1){d=c[b>>2]|0;if((d|0)==(j|0))break f;if((c[d+88>>2]|0)!=(o|0))break f;G=m;m=c[d+92>>2]|0;if((m|0)>(G|0))break;else b=d}}else{b=j;while(1){d=c[b+4>>2]|0;if((d|0)==(j|0))break f;if((c[d+88>>2]|0)!=(o|0))break f;G=m;m=c[d+92>>2]|0;if((m|0)>(G|0))break;else b=d}}while(0);d=c[k+92>>2]|0;if(n){m=k;while(1){j=c[m+4>>2]|0;if((j|0)==(k|0)){d=b;break e}if((c[j+88>>2]|0)!=(o|0)){d=b;break e}G=d;d=c[j+92>>2]|0;if((d|0)<(G|0)){d=b;break}else m=j}}else{m=k;while(1){j=c[m>>2]|0;if((j|0)==(k|0)){d=b;break e}if((c[j+88>>2]|0)!=(o|0)){d=b;break e}G=d;d=c[j+92>>2]|0;if((d|0)<(G|0)){d=b;break}else m=j}}}else{u=(f|0)!=0;v=c[k+92>>2]|0;while(1){t=k+88|0;n=j+88|0;b=c[j+92>>2]|0;o=v-b|0;m=c[(u?j:j+4|0)>>2]|0;g:do if((m|0)==(j|0))q=d;else{s=c[j+88>>2]|0;r=d;while(1){p=s;s=c[m+88>>2]|0;p=S(s-p|0,z)|0;q=b;b=c[m+92>>2]|0;q=b-q|0;if((q|0)>=1){q=r;break g}if(p|0){if((p|0)>=0){q=r;break g}if((S(q,r)|0)>(S(p,o)|0)){q=r;break g}}q=S((c[t>>2]|0)-s|0,z)|0;n=m+88|0;o=v-b|0;j=c[(u?m:m+4|0)>>2]|0;if((j|0)==(m|0)){j=m;break}else{G=m;m=j;r=q;j=G}}}while(0);p=c[(u?k:k+4|0)>>2]|0;if((p|0)==(k|0)){d=j;m=k;break e}d=c[p+88>>2]|0;m=S(d-(c[t>>2]|0)|0,z)|0;b=v;v=c[p+92>>2]|0;b=v-b|0;d=S(d-(c[n>>2]|0)|0,z)|0;if(!((b|0)<0&(d|0)>0)){d=j;m=k;break e}if(!m){k=p;continue}if((m|0)>=0){d=j;m=k;break e}if((S(b,q)|0)>=(S(m,o)|0)){d=j;m=k;break}else k=p}}while(0);if(!f){f=1;z=-1;j=x;g=d;k=y;i=m;continue d}f=f+1|0;if((f|0)==2)break d;else{j=d;k=m}}c[d+4>>2]=m;c[m>>2]=d;c[g>>2]=i;c[i+4>>2]=g;if((c[y+88>>2]|0)<(c[x+88>>2]|0))c[e>>2]=y;if((c[h+88>>2]|0)>=(c[A+88>>2]|0))c[e+4>>2]=h;c[e+12>>2]=c[K+96+12>>2];h=g;F=i;s=c[i+88>>2]|0;b=c[g+88>>2]|0;t=c[i+92>>2]|0;u=c[g+92>>2]|0;v=c[i+96>>2]|0;n=c[g+96>>2]|0;w=((t-u|0)<0)<<31>>31;x=0-(s-b)|0;y=au(0,0,x|0,((x|0)<0)<<31>>31|0)|0;y=ds(v-n|0,((v-n|0)<0)<<31>>31|0,y|0,D|0)|0;z=D;A=ds(v-n|0,((v-n|0)<0)<<31>>31|0,t-u|0,w|0)|0;B=D;o=ds(s-b|0,((s-b|0)<0)<<31>>31|0,x|0,((x|0)<0)<<31>>31|0)|0;E=D;C=ds(t-u|0,w|0,t-u|0,w|0)|0;C=au(o|0,E|0,C|0,D|0)|0;E=D;o=c[g+8>>2]|0;c[K+140>>2]=0;if(!o)p=0;else{p=au(0,0,t-u|0,w|0)|0;q=D;f=0;r=o;while(1){m=c[r+12>>2]|0;j=c[m+88>>2]|0;k=c[m+92>>2]|0;m=c[m+96>>2]|0;d=ds(k-u|0,((k-u|0)<0)<<31>>31|0,x|0,((x|0)<0)<<31>>31|0)|0;G=D;e=ds(j-b|0,((j-b|0)<0)<<31>>31|0,p|0,q|0)|0;h:do if((d|0)==(e|0)&(G|0)==(D|0)?(e=ds(j-b|0,((j-b|0)<0)<<31>>31|0,y|0,z|0)|0,d=D,G=ds(k-u|0,((k-u|0)<0)<<31>>31|0,A|0,B|0)|0,d=Gv(G|0,D|0,e|0,d|0)|0,e=D,G=ds(m-n|0,((m-n|0)<0)<<31>>31|0,C|0,E|0)|0,G=Gv(d|0,e|0,G|0,D|0)|0,e=D,(e|0)>0|(e|0)==0&G>>>0>0):0){do if(f|0){d=(c[f+4>>2]|0)==(r|0);if((c[f>>2]|0)!=(r|0))if(d)break;else break h;if(!d)break h;e=c[f+12>>2]|0;L=c[(c[r+8>>2]|0)+12>>2]|0;G=c[L+88>>2]|0;d=c[L+92>>2]|0;L=c[L+96>>2]|0;M=(c[e+96>>2]|0)-L|0;d=(S(m-L|0,(c[e+92>>2]|0)-d|0)|0)-(S(M,k-d|0)|0)|0;G=(S(M,j-G|0)|0)-(S(m-L|0,(c[e+88>>2]|0)-G|0)|0)|0;d=ds(d|0,((d|0)<0)<<31>>31|0,t-u|0,w|0)|0;e=D;G=ds(G|0,((G|0)<0)<<31>>31|0,x|0,((x|0)<0)<<31>>31|0)|0;G=Gv(d|0,e|0,G|0,D|0)|0;e=D;if((e|0)>0|(e|0)==0&G>>>0>0)break h}while(0);c[K+140>>2]=r;f=r}while(0);r=c[r>>2]|0;if((r|0)==(o|0)){p=f;break}}}d=c[i+8>>2]|0;c[K+136>>2]=0;if(!d)f=0;else{b=au(0,0,t-u|0,w|0)|0;n=D;f=0;o=d;do{m=c[o+12>>2]|0;j=c[m+88>>2]|0;k=c[m+92>>2]|0;m=c[m+96>>2]|0;G=ds(k-t|0,((k-t|0)<0)<<31>>31|0,x|0,((x|0)<0)<<31>>31|0)|0;M=D;L=ds(j-s|0,((j-s|0)<0)<<31>>31|0,b|0,n|0)|0;do if((G|0)==(L|0)&(M|0)==(D|0)?(L=ds(j-s|0,((j-s|0)<0)<<31>>31|0,y|0,z|0)|0,G=D,M=ds(k-t|0,((k-t|0)<0)<<31>>31|0,A|0,B|0)|0,G=Gv(M|0,D|0,L|0,G|0)|0,L=D,M=ds(m-v|0,((m-v|0)<0)<<31>>31|0,C|0,E|0)|0,M=Gv(G|0,L|0,M|0,D|0)|0,L=D,(L|0)>0|(L|0)==0&M>>>0>0):0){if(f|0){if((c[f>>2]|0)!=(o|0))break;if((c[f+4>>2]|0)==(o|0)?(L=c[f+12>>2]|0,e=c[(c[o+8>>2]|0)+12>>2]|0,M=c[e+88>>2]|0,G=c[e+92>>2]|0,e=c[e+96>>2]|0,r=(c[L+96>>2]|0)-e|0,G=(S(m-e|0,(c[L+92>>2]|0)-G|0)|0)-(S(r,k-G|0)|0)|0,M=(S(r,j-M|0)|0)-(S(m-e|0,(c[L+88>>2]|0)-M|0)|0)|0,G=ds(G|0,((G|0)<0)<<31>>31|0,t-u|0,w|0)|0,L=D,M=ds(M|0,((M|0)<0)<<31>>31|0,x|0,((x|0)<0)<<31>>31|0)|0,M=Gv(G|0,L|0,M|0,D|0)|0,L=D,!((L|0)>0|(L|0)==0&M>>>0>0)):0)break}c[K+136>>2]=o;f=o}while(0);o=c[o>>2]|0}while((o|0)!=(d|0))}if((p|0)!=0|(f|0)!=0){lc(a,g,i,K+140|0,K+136|0);f=c[K+140>>2]|0;if(f){h=c[f+12>>2]|0;g=h}f=c[K+136>>2]|0;if(!f)f=F;else{f=c[f+12>>2]|0;i=f}}else f=F;j=c[i+88>>2]|0;G=i;k=(c[i+96>>2]|0)+1|0}C=c[G+92>>2]|0;A=G;z=g;q=C;e=0;d=0;w=1;m=0;b=0;x=0;y=0;i=0;E=0;while(1){B=c[z+88>>2]|0;u=(c[A+88>>2]|0)-B|0;M=c[z+92>>2]|0;F=q-M|0;t=c[z+96>>2]|0;r=(c[A+96>>2]|0)-t|0;c[K+120>>2]=u;c[K+120+4>>2]=F;c[K+120+8>>2]=r;c[K+120+12>>2]=-1;B=j-B|0;M=C-M|0;t=k-t|0;s=(S(r,M)|0)-(S(F,t)|0)|0;t=(S(u,t)|0)-(S(r,B)|0)|0;M=(S(F,B)|0)-(S(u,M)|0)|0;c[K+72>>2]=s;c[K+72+4>>2]=((s|0)<0)<<31>>31;c[K+72+8>>2]=t;c[K+72+8+4>>2]=((t|0)<0)<<31>>31;c[K+72+16>>2]=M;c[K+72+16+4>>2]=((M|0)<0)<<31>>31;B=ds(M|0,((M|0)<0)<<31>>31|0,F|0,((F|0)<0)<<31>>31|0)|0;L=D;v=ds(r|0,((r|0)<0)<<31>>31|0,t|0,((t|0)<0)<<31>>31|0)|0;v=au(B|0,L|0,v|0,D|0)|0;L=D;r=ds(s|0,((s|0)<0)<<31>>31|0,r|0,((r|0)<0)<<31>>31|0)|0;B=D;M=ds(u|0,((u|0)<0)<<31>>31|0,M|0,((M|0)<0)<<31>>31|0)|0;M=au(r|0,B|0,M|0,D|0)|0;B=D;t=ds(u|0,((u|0)<0)<<31>>31|0,t|0,((t|0)<0)<<31>>31|0)|0;u=D;F=ds(s|0,((s|0)<0)<<31>>31|0,F|0,((F|0)<0)<<31>>31|0)|0;F=au(t|0,u|0,F|0,D|0)|0;c[K+48>>2]=v;c[K+48+4>>2]=L;c[K+48+8>>2]=M;c[K+48+8+4>>2]=B;c[K+48+16>>2]=F;c[K+48+16+4>>2]=D;c[K+24>>2]=0;c[K+24+4>>2]=0;c[K+24+8>>2]=0;c[K+24+12>>2]=0;c[K+24+16>>2]=0;F=ud(a,0,z,K+120|0,K+72|0,K+48|0,K+24|0)|0;c[K>>2]=0;c[K+4>>2]=0;c[K+8>>2]=0;c[K+12>>2]=0;c[K+16>>2]=0;B=ud(a,1,A,K+120|0,K+72|0,K+48|0,K)|0;if(!((F|0)!=0|(B|0)!=0)){J=119;break}n=F|0?-1:1;do if((F|0)!=0&(B|0)!=0){v=c[K+24+16>>2]|0;n=c[K+16>>2]|0;if((v|0)!=(n|0)){n=v-n|0;break}if(!v)n=0;else{M=c[K+24>>2]|0;t=c[K+24+4>>2]|0;p=c[K+8>>2]|0;N=c[K+8+4>>2]|0;o=ds(p|0,0,M|0,0)|0;n=D;M=ds(N|0,0,M|0,0)|0;L=D;p=ds(p|0,0,t|0,0)|0;q=D;t=ds(N|0,0,t|0,0)|0;N=D;p=Gv(M|0,0,p|0,0)|0;M=D;N=Gv(L|0,0,t|0,N|0)|0;q=Gv(N|0,D|0,q|0,0)|0;M=Gv(q|0,D|0,M|0,0)|0;q=D;n=Gv(0,p|0,o|0,n|0)|0;o=D;p=Gv(M|0,q|0,(o>>>0<p>>>0|(o|0)==(p|0)&n>>>0<0)&1|0,0)|0;q=D;M=c[K+24+8>>2]|0;N=c[K+24+8+4>>2]|0;t=c[K>>2]|0;L=c[K+4>>2]|0;s=ds(t|0,0,M|0,0)|0;r=D;M=ds(L|0,0,M|0,0)|0;O=D;t=ds(t|0,0,N|0,0)|0;u=D;N=ds(L|0,0,N|0,0)|0;L=D;t=Gv(M|0,0,t|0,0)|0;M=D;L=Gv(O|0,0,N|0,L|0)|0;u=Gv(L|0,D|0,u|0,0)|0;M=Gv(u|0,D|0,M|0,0)|0;u=D;r=Gv(0,t|0,s|0,r|0)|0;s=D;t=Gv(M|0,u|0,(s>>>0<t>>>0|(s|0)==(t|0)&r>>>0<0)&1|0,0)|0;u=D;if(!(q>>>0<u>>>0|(q|0)==(u|0)&p>>>0<t>>>0))if(!(q>>>0>u>>>0|(q|0)==(u|0)&p>>>0>t>>>0))if(o>>>0<s>>>0|(o|0)==(s|0)&n>>>0<r>>>0)n=-1;else n=(o>>>0>s>>>0|(o|0)==(s|0)&n>>>0>r>>>0)&1;else n=1;else n=-1;n=S(n,v)|0}}while(0);do if(!w){if((n|0)>-1)if((c[K+16>>2]|0)<0&((c[K+8>>2]|0)==0?(c[K+8+4>>2]|0)==0:0)){p=x;o=y;J=139;break}else{J=134;break}if((c[K+24+16>>2]|0)<0&((c[K+24+8>>2]|0)==0?(c[K+24+8+4>>2]|0)==0:0)){c[K+116>>2]=F;c[K+112>>2]=B;r=C;u=d;p=x;o=y}else J=134}else J=134;while(0);if((J|0)==134){p=Tf(a,z,A)|0;if(!x)m=p;else c[x+4>>2]=p;c[p>>2]=x;o=c[p+8>>2]|0;if(!y)b=o;else c[y>>2]=o;c[o+4>>2]=y;J=139}if((J|0)==139){J=0;c[K+116>>2]=F;c[K+112>>2]=B;if(!n){lc(a,h,f,K+116|0,K+112|0);u=c[K+112>>2]|0}else u=B;if((n|0)>-1&(u|0)!=0){t=(E|0)!=0;if(t?(H=c[E>>2]|0,(H|0)!=(B|0)):0){r=H;do{s=r;r=c[r>>2]|0;q=c[s+8>>2]|0;k=c[q+12>>2]|0;if((r|0)==(s|0))j=0;else{c[r+4>>2]=c[s+4>>2];c[c[s+4>>2]>>2]=r;j=r}c[k+8>>2]=j;j=c[q>>2]|0;k=c[s+12>>2]|0;if((j|0)==(q|0))j=0;else{c[j+4>>2]=c[q+4>>2];c[c[q+4>>2]>>2]=j}c[k+8>>2]=j;c[s+4>>2]=0;c[s+4+4>>2]=0;c[s+4+8>>2]=0;c[s+4+12>>2]=0;c[s>>2]=c[a+56>>2];c[a+56>>2]=s;c[q+4>>2]=0;c[q+4+4>>2]=0;c[q+4+8>>2]=0;c[q+4+12>>2]=0;c[q>>2]=c[a+56>>2];c[a+56>>2]=q;c[a+116>>2]=(c[a+116>>2]|0)+-1}while((r|0)!=(B|0))}if(!o){q=u;d=t?d:B}else{if(t){c[E>>2]=b;k=B+4|0;j=E}else{j=c[B+4>>2]|0;c[j>>2]=b;k=B+4|0;d=b}c[b+4>>2]=j;c[o>>2]=B;c[k>>2]=o;q=c[K+112>>2]|0;b=0}j=f;k=c[j+96>>2]|0;r=c[j+92>>2]|0;j=c[j+88>>2]|0;f=c[q+12>>2]|0;u=d;o=0;E=c[q+8>>2]|0}else{r=C;u=d}}t=c[K+116>>2]|0;if((n|0)<1&(t|0)!=0){s=(i|0)!=0;if(s?(I=c[i+4>>2]|0,(I|0)!=(F|0)):0){q=I;do{k=q+4|0;r=q;q=c[k>>2]|0;j=c[r>>2]|0;n=c[r+8>>2]|0;d=c[n+12>>2]|0;if((j|0)==(r|0))j=0;else{c[j+4>>2]=q;c[c[k>>2]>>2]=j}c[d+8>>2]=j;j=c[n>>2]|0;k=c[r+12>>2]|0;if((j|0)==(n|0))j=0;else{c[j+4>>2]=c[n+4>>2];c[c[n+4>>2]>>2]=j}c[k+8>>2]=j;c[r+4>>2]=0;c[r+4+4>>2]=0;c[r+4+8>>2]=0;c[r+4+12>>2]=0;c[r>>2]=c[a+56>>2];c[a+56>>2]=r;c[n+4>>2]=0;c[n+4+4>>2]=0;c[n+4+8>>2]=0;c[n+4+12>>2]=0;c[n>>2]=c[a+56>>2];c[a+56>>2]=n;c[a+116>>2]=(c[a+116>>2]|0)+-1}while((q|0)!=(F|0))}if(!p){d=t;i=s?e:F}else{if(s){c[i+4>>2]=m;j=F;k=e}else{i=c[F>>2]|0;c[i+4>>2]=m;j=F;k=m}c[m>>2]=i;c[j>>2]=p;c[p+4>>2]=F;d=c[K+116>>2]|0;i=k;m=0}j=h;k=c[j+96>>2]|0;n=c[j+92>>2]|0;j=c[j+88>>2]|0;h=c[d+12>>2]|0;r=i;p=0;s=c[d+8>>2]|0}else{n=r;r=e;s=i}i=h;d=f;if((i|0)==(g|0)&(d|0)==(G|0))break;A=d;z=i;q=c[d+92>>2]|0;C=n;e=r;d=u;w=0;x=p;y=o;i=s}if((J|0)==119){O=Tf(a,z,A)|0;c[O>>2]=O;c[O+4>>2]=O;c[z+8>>2]=O;O=c[O+8>>2]|0;c[O>>2]=O;c[O+4>>2]=O;c[f+8>>2]=O;break}if(s){d=s+4|0;f=c[d>>2]|0;if((f|0)!=(r|0))do{h=f+4|0;k=f;f=c[h>>2]|0;g=c[k>>2]|0;j=c[k+8>>2]|0;i=c[j+12>>2]|0;if((g|0)==(k|0))g=0;else{c[g+4>>2]=f;c[c[h>>2]>>2]=g}c[i+8>>2]=g;g=c[j>>2]|0;h=c[k+12>>2]|0;if((g|0)==(j|0))g=0;else{c[g+4>>2]=c[j+4>>2];c[c[j+4>>2]>>2]=g}c[h+8>>2]=g;c[k+4>>2]=0;c[k+4+4>>2]=0;c[k+4+8>>2]=0;c[k+4+12>>2]=0;c[k>>2]=c[a+56>>2];c[a+56>>2]=k;c[j+4>>2]=0;c[j+4+4>>2]=0;c[j+4+8>>2]=0;c[j+4+12>>2]=0;c[j>>2]=c[a+56>>2];c[a+56>>2]=j;c[a+116>>2]=(c[a+116>>2]|0)+-1}while((f|0)!=(r|0));if(p|0){c[m>>2]=s;c[d>>2]=m;c[r>>2]=p;c[p+4>>2]=r}}else{c[m>>2]=p;c[p+4>>2]=m;c[h+8>>2]=p}if(!E){c[o>>2]=b;c[b+4>>2]=o;c[G+8>>2]=o;break}f=c[E>>2]|0;if((f|0)!=(u|0))do{j=f;f=c[f>>2]|0;i=c[j+8>>2]|0;h=c[i+12>>2]|0;if((f|0)==(j|0))g=0;else{c[f+4>>2]=c[j+4>>2];c[c[j+4>>2]>>2]=f;g=f}c[h+8>>2]=g;g=c[i>>2]|0;h=c[j+12>>2]|0;if((g|0)==(i|0))g=0;else{c[g+4>>2]=c[i+4>>2];c[c[i+4>>2]>>2]=g}c[h+8>>2]=g;c[j+4>>2]=0;c[j+4+4>>2]=0;c[j+4+8>>2]=0;c[j+4+12>>2]=0;c[j>>2]=c[a+56>>2];c[a+56>>2]=j;c[i+4>>2]=0;c[i+4+4>>2]=0;c[i+4+8>>2]=0;c[i+4+12>>2]=0;c[i>>2]=c[a+56>>2];c[a+56>>2]=i;c[a+116>>2]=(c[a+116>>2]|0)+-1}while((f|0)!=(u|0));if(o|0){c[E>>2]=b;c[b+4>>2]=E;c[o>>2]=u;c[u+4>>2]=o}}while(0);l=K;return}}while(0);c[f+8>>2]=0;c[f>>2]=f;c[f+4>>2]=f;c[e>>2]=f;c[e+4>>2]=f;c[e+8>>2]=f;c[e+12>>2]=f;l=K;return}function hc(b,d){b=b|0;d=+d;var e=0,f=0,h=0,i=0.0,k=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0,H=0,I=0,J=0.0,K=0.0,L=0.0,M=0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0,V=0,W=0,X=0,Y=0,Z=0.0,_=0.0,$=0.0,aa=0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0,ga=0,ha=0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0.0,pa=0.0,qa=0.0,ra=0.0,sa=0.0;fa=l;l=l+368|0;e=c[b+24>>2]|0;if((e|0)<=0){l=fa;return}I=fa+56+76|0;U=fa+272+16|0;V=fa+272+32|0;H=0;do{E=c[(c[b+32>>2]|0)+(H<<2)>>2]|0;switch(c[E+216>>2]|0){case 2:case 5:break;default:{if(a[E+924>>0]|0){a[E+924>>0]=0;f=c[E+732>>2]|0;if((f|0)>0){h=c[E+740>>2]|0;e=0;do{n=c[h+(e*52|0)+8>>2]|0;y=c[h+(e*52|0)+12>>2]|0;B=+g[n+8>>2]-+g[y+8>>2];C=+g[n+12>>2]-+g[y+12>>2];D=+g[n+16>>2]-+g[y+16>>2];D=+G(+(B*B+C*C+D*D));g[h+(e*52|0)+16>>2]=D;g[h+(e*52|0)+28>>2]=D*D;e=e+1|0}while((e|0)!=(f|0));e=0;do{g[h+(e*52|0)+24>>2]=(+g[(c[h+(e*52|0)+8>>2]|0)+88>>2]+ +g[(c[h+(e*52|0)+12>>2]|0)+88>>2])/+g[(c[h+(e*52|0)+4>>2]|0)+4>>2];e=e+1|0}while((e|0)!=(f|0))}Mf(E);ml(E+988|0);if(c[E+388>>2]&16|0)Rg(E)}m=+g[E+368>>2]*d;g[E+452>>2]=m;g[E+456>>2]=1.0/m;g[E+460>>2]=m*3.0;e=c[E+192>>2]|0;m=+Db[c[(c[e>>2]|0)+48>>2]&15](e);g[E+464>>2]=m;g[E+468>>2]=m*.25;e=c[E+684>>2]|0;m=+g[E+452>>2];i=+g[e+40>>2]*m;k=m*+g[e+44>>2];m=m*+g[e+48>>2];e=c[E+712>>2]|0;if((e|0)>0){f=c[E+720>>2]|0;h=0;do{if(+g[f+(h*104|0)+88>>2]>0.0){y=f+(h*104|0)+40|0;g[y>>2]=i+ +g[y>>2];y=f+(h*104|0)+44|0;g[y>>2]=k+ +g[y>>2];y=f+(h*104|0)+48|0;g[y>>2]=m+ +g[y>>2]}h=h+1|0}while((h|0)!=(e|0))}bj(11117);C=+g[E+308>>2];D=+g[E+312>>2];n=+g[E+304>>2]>0.0?1:+g[E+300>>2]>0.0;y=c[E+712>>2]|0;if(C!=0.0|D>0.0){if((y|0)>0){e=c[E+720>>2]|0;k=+g[e+8>>2];m=+g[e+12>>2];o=+g[e+16>>2];e=c[E+752>>2]|0;if((e|0)>0){f=c[E+760>>2]|0;h=0;i=0.0;do{ga=c[f+(h*44|0)+8>>2]|0;ha=c[f+(h*44|0)+12>>2]|0;A=+g[ha+8>>2]-k;v=+g[ha+12>>2]-m;x=+g[ha+16>>2]-o;ha=c[f+(h*44|0)+16>>2]|0;z=+g[ha+8>>2]-k;w=+g[ha+12>>2]-m;B=+g[ha+16>>2]-o;i=i+((+g[ga+16>>2]-o)*(A*w-v*z)+((+g[ga+8>>2]-k)*(v*B-x*w)+(+g[ga+12>>2]-m)*(x*z-A*B)));h=h+1|0}while((h|0)!=(e|0))}else i=0.0;i=i/6.0}else i=0.0;B=C*(1.0/+F(+i));A=D*(+g[E+476>>2]-i)}else{A=0.0;B=0.0}if((y|0)>0){f=c[E+720>>2]|0;h=0;do{z=+g[f+(h*104|0)+88>>2];if(z>0.0){a:do if(((n?(J=+g[E+452>>2],K=+g[E+304>>2],L=+g[E+300>>2],K>0.0|L>0.0):0)?(M=c[c[E+684>>2]>>2]|0,(c[E+288>>2]|0)<4):0)?(N=+g[f+(h*104|0)+40>>2],O=N-+g[E+1212>>2],P=+g[f+(h*104|0)+44>>2],Q=P-+g[E+1216>>2],R=+g[f+(h*104|0)+48>>2],S=R-+g[E+1220>>2],T=+G(+(O*O+Q*Q+S*S)),O*O+Q*Q+S*S>1.1920928955078125e-07):0){v=O*(1.0/T);w=Q*(1.0/T);x=S*(1.0/T);p=+g[f+(h*104|0)+72>>2];q=+g[f+(h*104|0)+76>>2];t=+g[f+(h*104|0)+80>>2];switch(c[E+288>>2]|0){case 2:break;case 1:case 3:case 0:{i=O*p+Q*q+S*t<0.0?-1.0:1.0;if(!(S*t*i+(O*p*i+Q*q*i)>0.0))break a;u=-((c[j>>2]=M,+g[j>>2])*(O*O+Q*Q+S*S)*(S*t*i+(O*p*i+Q*q*i))*+g[f+(h*104|0)+92>>2]*.5);m=v*L*u+(p*i*K*u+0.0);k=w*L*u+(q*i*K*u+0.0);i=x*L*u+(t*i*K*u+0.0);e=f+(h*104|0)+56|0;if(J*z*i*J*z*i+(J*z*m*J*z*m+J*z*k*J*z*k)>N*N+P*P+R*R){x=1.0/+G(+(i*i+(m*m+k*k)));g[e>>2]=+g[e>>2]-1.0/(J*z)*m*x*(R*i*x+(N*m*x+P*k*x));ha=f+(h*104|0)+60|0;g[ha>>2]=+g[ha>>2]-1.0/(J*z)*k*x*(R*i*x+(N*m*x+P*k*x));ha=f+(h*104|0)+64|0;g[ha>>2]=+g[ha>>2]-1.0/(J*z)*i*x*(R*i*x+(N*m*x+P*k*x));break a}else{g[e>>2]=m+ +g[e>>2];ha=f+(h*104|0)+60|0;g[ha>>2]=k+ +g[ha>>2];ha=f+(h*104|0)+64|0;g[ha>>2]=i+ +g[ha>>2];break a}}default:break a}o=O*p+Q*q+S*t<0.0?-1.0:1.0;i=x*t*o+(v*p*o+w*q*o);k=+g[f+(h*104|0)+92>>2]*.5;m=(c[j>>2]=M,+g[j>>2]);u=i*L*.5*m*(O*O+Q*Q+S*S)*k;if(i>0.0&i<.9847999811172485){m=K*.5*m*T*k*+G(+(1.0-i*i));r=(x*(v*t*o-x*p*o)-w*(w*p*o-v*q*o))*m;s=(v*(w*p*o-v*q*o)-x*(x*q*o-w*t*o))*m;o=(w*(x*q*o-w*t*o)-v*(v*t*o-x*p*o))*m}else{r=0.0;s=0.0;o=0.0}i=J*z*-(x*u)*J*z*-(x*u)+(z*-(v*u)*J*z*-(v*u)*J+J*z*-(w*u)*J*z*-(w*u));if(i>0.0?i>=N*N+P*P+R*R:0){i=+G(+(N*N+P*P+R*R))/+G(+i)*.800000011920929;m=i*-(x*u);k=i*-(w*u);i=i*-(v*u)}else{m=-(x*u);k=-(w*u);i=-(v*u)}e=f+(h*104|0)+56|0;ga=f+(h*104|0)+60|0;x=k+ +g[ga>>2];ha=f+(h*104|0)+64|0;z=m+ +g[ha>>2];g[e>>2]=r+(i+ +g[e>>2]);g[ga>>2]=s+x;g[ha>>2]=o+z}while(0);if(C!=0.0){w=B*+g[f+(h*104|0)+92>>2];x=w*+g[f+(h*104|0)+76>>2];z=w*+g[f+(h*104|0)+80>>2];ha=f+(h*104|0)+56|0;g[ha>>2]=+g[f+(h*104|0)+72>>2]*w+ +g[ha>>2];ha=f+(h*104|0)+60|0;g[ha>>2]=x+ +g[ha>>2];ha=f+(h*104|0)+64|0;g[ha>>2]=z+ +g[ha>>2]}if(D>0.0){w=A*+g[f+(h*104|0)+92>>2];x=w*+g[f+(h*104|0)+76>>2];z=w*+g[f+(h*104|0)+80>>2];ha=f+(h*104|0)+56|0;g[ha>>2]=+g[f+(h*104|0)+72>>2]*w+ +g[ha>>2];ha=f+(h*104|0)+60|0;g[ha>>2]=x+ +g[ha>>2];ha=f+(h*104|0)+64|0;g[ha>>2]=z+ +g[ha>>2]}}h=h+1|0}while((h|0)!=(y|0))}n=c[E+752>>2]|0;if((n|0)>0){y=0;do{v=+g[E+452>>2];q=+g[E+304>>2];p=+g[E+300>>2];b:do if((q>0.0|p>0.0?(W=c[E+288>>2]|0,(W|0)>3):0)?(X=c[E+760>>2]|0,Y=c[X+(y*44|0)+8>>2]|0,ga=c[X+(y*44|0)+12>>2]|0,Z=+g[Y+40>>2],_=+g[Y+44>>2],$=+g[Y+48>>2],ha=c[X+(y*44|0)+16>>2]|0,aa=c[c[E+684>>2]>>2]|0,ba=(Z+ +g[ga+40>>2]+ +g[ha+40>>2])*.3333333432674408-+g[E+1212>>2],ca=(_+ +g[ga+44>>2]+ +g[ha+44>>2])*.3333333432674408-+g[E+1216>>2],da=($+ +g[ga+48>>2]+ +g[ha+48>>2])*.3333333432674408-+g[E+1220>>2],ea=+G(+(ba*ba+ca*ca+da*da)),ba*ba+ca*ca+da*da>1.1920928955078125e-07):0){u=ba*(1.0/ea);w=ca*(1.0/ea);x=da*(1.0/ea);r=+g[X+(y*44|0)+20>>2];s=+g[X+(y*44|0)+24>>2];t=+g[X+(y*44|0)+28>>2];switch(W|0){case 5:break;case 4:case 6:{i=ba*r+ca*s+da*t<0.0?-1.0:1.0;if(!(da*t*i+(ba*r*i+ca*s*i)>0.0))break b;k=-((c[j>>2]=aa,+g[j>>2])*(ba*ba+ca*ca+da*da)*(da*t*i+(ba*r*i+ca*s*i))*+g[X+(y*44|0)+36>>2]);u=(u*p*k+(r*i*q*k+0.0))*.3333333432674408;r=(w*p*k+(s*i*q*k+0.0))*.3333333432674408;k=(x*p*k+(t*i*q*k+0.0))*.3333333432674408;h=Y;m=Z;o=_;p=$;e=0;while(1){i=v*+g[h+88>>2];f=h+56|0;if(k*i*k*i+(u*i*u*i+r*i*r*i)>m*m+o*o+p*p){C=1.0/+G(+(k*k+(u*u+r*r)));D=p*k*C+(m*u*C+o*r*C);g[f>>2]=+g[f>>2]-1.0/i*u*C*D;ha=h+60|0;g[ha>>2]=+g[ha>>2]-1.0/i*r*C*D;ha=h+64|0;g[ha>>2]=+g[ha>>2]-1.0/i*k*C*D}else{g[f>>2]=u+ +g[f>>2];ha=h+60|0;g[ha>>2]=r+ +g[ha>>2];ha=h+64|0;g[ha>>2]=k+ +g[ha>>2]}e=e+1|0;if((e|0)==3)break b;ha=c[X+(y*44|0)+8+(e<<2)>>2]|0;h=ha;m=+g[ha+40>>2];o=+g[ha+44>>2];p=+g[ha+48>>2]}}default:break b}o=ba*r+ca*s+da*t<0.0?-1.0:1.0;i=x*t*o+(u*r*o+w*s*o);k=+g[X+(y*44|0)+36>>2]*.5;m=(c[j>>2]=aa,+g[j>>2]);p=i*(ba*ba+ca*ca+da*da)*p*.5*m*k;if(i>0.0&i<.9847999811172485){A=ea*q*.5*m*k*+G(+(1.0-i*i));B=(x*(u*t*o-x*r*o)-w*(w*r*o-u*s*o))*A*.3333333432674408;C=(u*(w*r*o-u*s*o)-x*(x*s*o-w*t*o))*A*.3333333432674408;A=(w*(x*s*o-w*t*o)-u*(u*t*o-x*r*o))*A*.3333333432674408}else{B=0.0;C=0.0;A=0.0}i=u*p*-.3333333432674408;z=w*p*-.3333333432674408;k=x*p*-.3333333432674408;f=Y;o=u*p*-.3333333432674408;q=w*p*-.3333333432674408;p=x*p*-.3333333432674408;e=0;while(1){m=+g[f+88>>2];if(m>0.0){r=+g[E+452>>2];u=o*m*r;v=q*m*r;m=p*m*r;r=+g[f+40>>2];s=+g[f+44>>2];t=+g[f+48>>2];if(m*m+(u*u+v*v)>0.0?m*m+(u*u+v*v)>=r*r+s*s+t*t:0){k=+G(+(r*r+s*s+t*t))/+G(+(m*m+(u*u+v*v)))*.800000011920929;i=o*k;m=q*k;k=p*k;p=k;q=m;o=i}else m=z;h=f+56|0;ga=f+60|0;z=m+ +g[ga>>2];ha=f+64|0;D=k+ +g[ha>>2];g[h>>2]=B+(i+ +g[h>>2]);g[ga>>2]=C+z;g[ha>>2]=A+D}else m=z;e=e+1|0;if((e|0)==3)break b;z=m;f=c[X+(y*44|0)+8+(e<<2)>>2]|0}}while(0);y=y+1|0}while((y|0)!=(n|0))}e=c[2380]|0;ha=(c[e+16>>2]|0)+-1|0;c[e+16>>2]=ha;do if(!ha){if(c[e+4>>2]|0){Za(fa+320|0,0)|0;ha=c[6484]|0;g[e+8>>2]=+(((c[fa+320+4>>2]|0)-(c[ha+4>>2]|0)+(((c[fa+320>>2]|0)-(c[ha>>2]|0)|0)*1e6|0)-(c[e+12>>2]|0)|0)>>>0)/1.0e3+ +g[e+8>>2];if(c[e+16>>2]|0)break;e=c[2380]|0}c[2380]=c[e+20>>2]}while(0);e=c[E+712>>2]|0;if((e|0)>0){f=0;do{ga=c[E+720>>2]|0;ha=ga+(f*104|0)+24|0;y=ga+(f*104|0)+8|0;c[ha>>2]=c[y>>2];c[ha+4>>2]=c[y+4>>2];c[ha+8>>2]=c[y+8>>2];c[ha+12>>2]=c[y+12>>2];ha=ga+(f*104|0)+56|0;C=+g[ga+(f*104|0)+88>>2];D=+g[E+452>>2];A=+g[ha>>2]*C*D;B=C*+g[ga+(f*104|0)+60>>2]*D;C=D*C*+g[ga+(f*104|0)+64>>2];D=+g[(c[E+684>>2]|0)+12>>2]/D;A=A>D?D:A;B=B>D?D:B;C=C>D?D:C;n=ga+(f*104|0)+40|0;A=(A<-D?-D:A)+ +g[n>>2];g[n>>2]=A;n=ga+(f*104|0)+44|0;B=(B<-D?-D:B)+ +g[n>>2];g[n>>2]=B;n=ga+(f*104|0)+48|0;C=(C<-D?-D:C)+ +g[n>>2];g[n>>2]=C;D=+g[E+452>>2];g[y>>2]=A*D+ +g[y>>2];y=ga+(f*104|0)+12|0;g[y>>2]=D*B+ +g[y>>2];ga=ga+(f*104|0)+16|0;g[ga>>2]=C*D+ +g[ga>>2];f=f+1|0;c[ha>>2]=0;c[ha+4>>2]=0;c[ha+8>>2]=0;c[ha+12>>2]=0}while((f|0)!=(e|0))}Lc(E);e=c[E+928>>2]|0;if(e){ha=c[E+192>>2]|0;B=+Db[c[(c[ha>>2]|0)+48>>2]&15](ha);D=+g[e+4>>2]-B;C=+g[e+8>>2]-B;g[E+892>>2]=+g[e>>2]-B;g[E+896>>2]=D;g[E+900>>2]=C;g[E+904>>2]=0.0;C=B+ +g[e+20>>2];D=B+ +g[e+24>>2];g[E+908>>2]=B+ +g[e+16>>2];g[E+912>>2]=C;g[E+916>>2]=D;g[E+920>>2]=0.0;e=c[E+188>>2]|0;if(e|0){ha=c[E+684>>2]|0;ga=c[ha+32>>2]|0;jb[c[(c[ga>>2]|0)+16>>2]&31](ga,e,E+892|0,E+908|0,c[ha+36>>2]|0)}}else{c[E+892>>2]=0;c[E+892+4>>2]=0;c[E+892+8>>2]=0;c[E+892+12>>2]=0;c[E+892+16>>2]=0;c[E+892+20>>2]=0;c[E+892+24>>2]=0;c[E+892+28>>2]=0}e=c[E+712>>2]|0;if((e|0)>0){f=0;do{ga=c[E+720>>2]|0;C=+g[E+464>>2];A=+g[ga+(f*104|0)+8>>2];D=+g[ga+(f*104|0)+12>>2];B=+g[ga+(f*104|0)+16>>2];g[fa+192>>2]=A-C;g[fa+192+4>>2]=D-C;g[fa+192+8>>2]=B-C;g[fa+192+12>>2]=0.0;g[fa+192+16>>2]=C+A;g[fa+192+20>>2]=C+D;g[fa+192+24>>2]=C+B;g[fa+192+28>>2]=0.0;ha=c[ga+(f*104|0)+96>>2]|0;B=+g[E+460>>2];C=B*+g[ga+(f*104|0)+44>>2];D=B*+g[ga+(f*104|0)+48>>2];g[fa+176>>2]=+g[ga+(f*104|0)+40>>2]*B;g[fa+176+4>>2]=C;g[fa+176+8>>2]=D;g[fa+176+12>>2]=0.0;ah(E+928|0,ha,fa+192|0,fa+176|0,+g[E+468>>2])|0;f=f+1|0}while((f|0)!=(e|0))}if(c[E+988>>2]|0?(c[E+752>>2]|0)>0:0){e=0;do{ha=c[E+760>>2]|0;n=c[ha+(e*44|0)+8>>2]|0;y=c[ha+(e*44|0)+12>>2]|0;ga=c[ha+(e*44|0)+16>>2]|0;A=(+g[n+40>>2]+ +g[y+40>>2]+ +g[ga+40>>2])*.3333333432674408;B=(+g[n+44>>2]+ +g[y+44>>2]+ +g[ga+44>>2])*.3333333432674408;C=(+g[n+48>>2]+ +g[y+48>>2]+ +g[ga+48>>2])*.3333333432674408;v=+g[E+464>>2];s=+g[n+8>>2];u=+g[n+12>>2];x=+g[n+16>>2];D=+g[n+20>>2];z=+g[y+8>>2];m=z<s?z:s;w=+g[y+12>>2];o=w<u?w:u;t=+g[y+16>>2];p=t<x?t:x;r=+g[y+20>>2];q=r<D?r:D;s=s<z?z:s;u=u<w?w:u;x=x<t?t:x;D=D<r?r:D;r=+g[ga+8>>2];t=+g[ga+12>>2];w=+g[ga+16>>2];z=+g[ga+20>>2];g[fa+192>>2]=(r<m?r:m)-v;g[fa+192+4>>2]=(t<o?t:o)-v;g[fa+192+8>>2]=(w<p?w:p)-v;g[fa+192+12>>2]=z<q?z:q;g[fa+192+16>>2]=v+(s<r?r:s);g[fa+192+20>>2]=v+(u<t?t:u);g[fa+192+24>>2]=v+(x<w?w:x);g[fa+192+28>>2]=D<z?z:D;ha=c[ha+(e*44|0)+40>>2]|0;D=+g[E+460>>2];g[fa+160>>2]=A*D;g[fa+160+4>>2]=B*D;g[fa+160+8>>2]=C*D;g[fa+160+12>>2]=0.0;ah(E+988|0,ha,fa+192|0,fa+160|0,+g[E+468>>2])|0;e=e+1|0}while((e|0)<(c[E+752>>2]|0))}do if(a[E+473>>0]|0){y=c[E+712>>2]|0;if((y|0)>0){e=c[E+720>>2]|0;f=c[E+512>>2]|0;i=0.0;k=0.0;m=0.0;h=0;do{D=+g[f+(h<<2)>>2];i=i+ +g[e+(h*104|0)+8>>2]*D;k=k+D*+g[e+(h*104|0)+12>>2];m=m+D*+g[e+(h*104|0)+16>>2];h=h+1|0}while((h|0)!=(y|0))}else{i=0.0;k=0.0;m=0.0}g[E+520>>2]=i;g[E+524>>2]=k;g[E+528>>2]=m;g[E+532>>2]=0.0;h=fa+320+4|0;n=h+44|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(n|0));g[fa+320>>2]=1.1920928955078125e-07;g[fa+320+20>>2]=2.384185791015625e-07;g[fa+320+40>>2]=3.5762786865234375e-07;if((y|0)>0){e=c[E+512>>2]|0;f=c[E+720>>2]|0;h=c[E+492>>2]|0;o=1.1920928955078125e-07;p=+g[fa+320+4>>2];q=+g[fa+320+8>>2];r=+g[fa+320+16>>2];s=2.384185791015625e-07;t=+g[fa+320+24>>2];u=0.0;v=0.0;w=3.5762786865234375e-07;n=0;do{C=+g[e+(n<<2)>>2];x=(+g[f+(n*104|0)+8>>2]-i)*C;z=(+g[f+(n*104|0)+12>>2]-k)*C;C=C*(+g[f+(n*104|0)+16>>2]-m);A=+g[h+(n<<4)>>2];B=+g[h+(n<<4)+4>>2];D=+g[h+(n<<4)+8>>2];o=x*A+o;p=x*B+p;q=x*D+q;r=z*A+r;s=z*B+s;t=z*D+t;u=C*A+u;v=C*B+v;w=C*D+w;n=n+1|0}while((n|0)!=(y|0));g[fa+320>>2]=o;g[fa+320+4>>2]=p;g[fa+320+8>>2]=q;g[fa+320+16>>2]=r;g[fa+320+20>>2]=s;g[fa+320+24>>2]=t;g[fa+320+32>>2]=u;g[fa+320+36>>2]=v;g[fa+320+40>>2]=w}if((a[22624]|0)==0?qy(22624)|0:0){g[5837]=9.999999747378752e-05;c[5838]=16}$c(fa+320|0,fa+272|0,fa+224|0);c[E+536>>2]=c[fa+272>>2];c[E+536+4>>2]=c[fa+272+4>>2];c[E+536+8>>2]=c[fa+272+8>>2];c[E+536+12>>2]=c[fa+272+12>>2];c[E+552>>2]=c[U>>2];c[E+552+4>>2]=c[U+4>>2];c[E+552+8>>2]=c[U+8>>2];c[E+552+12>>2]=c[U+12>>2];c[E+568>>2]=c[V>>2];c[E+568+4>>2]=c[V+4>>2];c[E+568+8>>2]=c[V+8>>2];c[E+568+12>>2]=c[V+12>>2];ma=+g[fa+272>>2];ia=+g[U>>2];z=+g[V>>2];la=+g[fa+272+4>>2];v=+g[fa+272+20>>2];B=+g[fa+272+36>>2];ka=+g[fa+272+8>>2];w=+g[fa+272+24>>2];D=+g[fa+272+40>>2];p=+g[E+632>>2];o=+g[E+636>>2];m=+g[E+640>>2];sa=+g[E+648>>2];ra=+g[E+652>>2];q=+g[E+656>>2];A=+g[E+664>>2];C=+g[E+668>>2];u=+g[E+672>>2];qa=+g[fa+320>>2];pa=+g[fa+320+16>>2];r=+g[fa+320+32>>2];i=(ma*p+la*o+ka*m)*qa+(ia*p+v*o+w*m)*pa+(z*p+B*o+D*m)*r;oa=+g[fa+320+4>>2];na=+g[fa+320+20>>2];s=+g[fa+320+36>>2];k=(ma*p+la*o+ka*m)*oa+(ia*p+v*o+w*m)*na+(z*p+B*o+D*m)*s;ja=+g[fa+320+8>>2];x=+g[fa+320+24>>2];t=+g[fa+320+40>>2];m=(ma*p+la*o+ka*m)*ja+(ia*p+v*o+w*m)*x+(z*p+B*o+D*m)*t;o=(ma*sa+la*ra+ka*q)*qa+(ia*sa+v*ra+w*q)*pa+(z*sa+B*ra+D*q)*r;p=(ma*sa+la*ra+ka*q)*oa+(ia*sa+v*ra+w*q)*na+(z*sa+B*ra+D*q)*s;q=(ma*sa+la*ra+ka*q)*ja+(ia*sa+v*ra+w*q)*x+(z*sa+B*ra+D*q)*t;r=qa*(ma*A+la*C+ka*u)+pa*(ia*A+v*C+w*u)+(z*A+B*C+D*u)*r;s=(ma*A+la*C+ka*u)*oa+(ia*A+v*C+w*u)*na+(z*A+B*C+D*u)*s;t=(ma*A+la*C+ka*u)*ja+(ia*A+v*C+w*u)*x+(z*A+B*C+D*u)*t;g[E+584>>2]=i;g[E+588>>2]=k;g[E+592>>2]=m;g[E+596>>2]=0.0;g[E+600>>2]=o;g[E+604>>2]=p;g[E+608>>2]=q;g[E+612>>2]=0.0;g[E+616>>2]=r;g[E+620>>2]=s;g[E+624>>2]=t;g[E+628>>2]=0.0;u=+g[E+364>>2];if(u>1.0){sa=1.0/(m*(s*o-p*r)+(i*(p*t-q*s)+k*(q*r-t*o)))<1.0?1.0:u<1.0/(m*(s*o-p*r)+(i*(p*t-q*s)+k*(q*r-t*o)))?u:1.0/(m*(s*o-p*r)+(i*(p*t-q*s)+k*(q*r-t*o)));g[E+584>>2]=i*sa;g[E+588>>2]=k*sa;g[E+592>>2]=m*sa;g[E+596>>2]=0.0;g[E+600>>2]=sa*o;g[E+604>>2]=sa*p;g[E+608>>2]=sa*q;g[E+612>>2]=0.0;g[E+616>>2]=sa*r;g[E+620>>2]=sa*s;g[E+624>>2]=sa*t;g[E+628>>2]=0.0}if(a[E+473>>0]|0){if(!(+g[E+320>>2]>0.0))break;i=+g[E+536>>2];k=+g[E+540>>2];m=+g[E+544>>2];o=+g[E+552>>2];p=+g[E+556>>2];q=+g[E+560>>2];r=+g[E+568>>2];s=+g[E+572>>2];t=+g[E+576>>2];e=c[E+712>>2]|0;if((e|0)<=0)break;h=0;do{f=c[E+720>>2]|0;if(+g[f+(h*104|0)+88>>2]>0.0){y=c[E+492>>2]|0;na=+g[y+(h<<4)>>2];oa=+g[y+(h<<4)+4>>2];pa=+g[y+(h<<4)+8>>2];ma=+g[E+320>>2];y=f+(h*104|0)+8|0;qa=+g[y>>2];ga=f+(h*104|0)+12|0;ra=+g[ga>>2];ha=f+(h*104|0)+16|0;sa=+g[ha>>2];ra=ra+ma*(o*na+p*oa+q*pa+ +g[E+524>>2]-ra);sa=sa+ma*(r*na+s*oa+t*pa+ +g[E+528>>2]-sa);g[y>>2]=qa+ma*(+g[E+520>>2]+(i*na+k*oa+m*pa)-qa);g[ga>>2]=ra;g[ha>>2]=sa;g[f+(h*104|0)+20>>2]=0.0}h=h+1|0}while((h|0)!=(e|0))}}while(0);h=fa+56|0;n=h+104|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(n|0));e=c[E+812>>2]|0;if((e|0)<0){if((c[E+816>>2]|0)<0){f=c[E+820>>2]|0;if(f|0){if(a[E+824>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[f+-4>>2]|0)}c[E+820>>2]=0}a[E+824>>0]=1;c[E+820>>2]=0;c[E+816>>2]=0}do{ha=c[E+820>>2]|0;ga=ha+(e*104|0)|0;c[ga>>2]=c[fa+56>>2];c[ga+4>>2]=c[fa+56+4>>2];c[ga+8>>2]=c[fa+56+8>>2];c[ga+12>>2]=c[fa+56+12>>2];c[ga+16>>2]=c[fa+56+16>>2];c[ga+20>>2]=c[fa+56+20>>2];c[ga+24>>2]=c[fa+56+24>>2];ga=ha+(e*104|0)+28|0;c[ga>>2]=c[fa+56+28>>2];c[ga+4>>2]=c[fa+56+28+4>>2];c[ga+8>>2]=c[fa+56+28+8>>2];c[ga+12>>2]=c[fa+56+28+12>>2];ga=ha+(e*104|0)+44|0;c[ga>>2]=c[fa+56+44>>2];c[ga+4>>2]=c[fa+56+44+4>>2];c[ga+8>>2]=c[fa+56+44+8>>2];c[ga+12>>2]=c[fa+56+44+12>>2];ga=ha+(e*104|0)+60|0;c[ga>>2]=c[fa+56+60>>2];c[ga+4>>2]=c[fa+56+60+4>>2];c[ga+8>>2]=c[fa+56+60+8>>2];c[ga+12>>2]=c[fa+56+60+12>>2];ha=ha+(e*104|0)+76|0;c[ha>>2]=c[I>>2];c[ha+4>>2]=c[I+4>>2];c[ha+8>>2]=c[I+8>>2];c[ha+12>>2]=c[I+12>>2];c[ha+16>>2]=c[I+16>>2];c[ha+20>>2]=c[I+20>>2];c[ha+24>>2]=c[I+24>>2];e=e+1|0}while((e|0)!=0)}c[E+812>>2]=0;h=fa;n=h+56|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(n|0));e=c[E+832>>2]|0;if((e|0)<0){if((c[E+836>>2]|0)<0){f=c[E+840>>2]|0;if(f|0){if(a[E+844>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[f+-4>>2]|0)}c[E+840>>2]=0}a[E+844>>0]=1;c[E+840>>2]=0;c[E+836>>2]=0}do{h=(c[E+840>>2]|0)+(e*56|0)|0;f=fa;n=h+56|0;do{c[h>>2]=c[f>>2];h=h+4|0;f=f+4|0}while((h|0)<(n|0));e=e+1|0}while((e|0)!=0)}c[E+832>>2]=0;Yf(E+928|0,1);Yf(E+988|0,1);Yf(E+1048|0,1);e=c[b+24>>2]|0}}H=H+1|0}while((H|0)<(e|0));l=fa;return}
//function _j(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0;h=is()|0;c[h+4>>2]=3;c[h+8>>2]=-1;c[h+12>>2]=-1;g[h+16>>2]=3402823466385288598117041.0e14;a[h+20>>0]=1;a[h+21>>0]=0;c[h+24>>2]=-1;c[h+28>>2]=b;c[h+32>>2]=d;g[h+36>>2]=0.0;g[h+40>>2]=.30000001192092896;c[h+44>>2]=0;c[h>>2]=4620;c[h+300>>2]=c[e>>2];c[h+300+4>>2]=c[e+4>>2];c[h+300+8>>2]=c[e+8>>2];c[h+300+12>>2]=c[e+12>>2];c[h+316>>2]=c[f>>2];c[h+316+4>>2]=c[f+4>>2];c[h+316+8>>2]=c[f+8>>2];c[h+316+12>>2]=c[f+12>>2];c[h+332>>2]=0;a[h+344>>0]=0;g[h+348>>2]=.30000001192092896;g[h+352>>2]=1.0;g[h+356>>2]=0.0;return h|0}function $j(b){b=b|0;var d=0;c[b>>2]=4484;d=c[b+80>>2]|0;if(d|0){if(a[b+84>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+80>>2]=0}a[b+84>>0]=1;c[b+80>>2]=0;c[b+72>>2]=0;c[b+76>>2]=0;d=c[b+60>>2]|0;if(d|0){if(a[b+64>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+60>>2]=0}a[b+64>>0]=1;c[b+60>>2]=0;c[b+52>>2]=0;c[b+56>>2]=0;d=c[b+40>>2]|0;if(!d){a[b+44>>0]=1;c[b+40>>2]=0;c[b+32>>2]=0;b=b+36|0;c[b>>2]=0;return}if(a[b+44>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+40>>2]=0;a[b+44>>0]=1;c[b+40>>2]=0;c[b+32>>2]=0;b=b+36|0;c[b>>2]=0;return}function ak(b){b=b|0;var d=0;c[b>>2]=8816;d=c[b+64>>2]|0;if(d|0){if(a[b+68>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+64>>2]=0}a[b+68>>0]=1;c[b+64>>2]=0;c[b+56>>2]=0;c[b+60>>2]=0;d=c[b+44>>2]|0;if(d|0){if(a[b+48>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+44>>2]=0}a[b+48>>0]=1;c[b+44>>2]=0;c[b+36>>2]=0;c[b+40>>2]=0;d=c[b+16>>2]|0;if(!d){a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}if(a[b+20>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}function bk(b){b=b|0;var d=0;c[b>>2]=5548;d=c[b+56>>2]|0;if(d|0){if(a[b+60>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+56>>2]=0}a[b+60>>0]=1;c[b+56>>2]=0;c[b+48>>2]=0;c[b+52>>2]=0;d=c[b+36>>2]|0;if(d|0){if(a[b+40>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;d=c[b+16>>2]|0;if(!d){d=b+12|0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[d>>2]=0;return}if(a[b+20>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+16>>2]=0;d=b+12|0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[d>>2]=0;return}function ck(b){b=b|0;var d=0;c[b>>2]=9416;d=c[b+60>>2]|0;if(d|0){if(a[b+64>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+60>>2]=0}a[b+64>>0]=1;c[b+60>>2]=0;c[b+52>>2]=0;c[b+56>>2]=0;d=c[b+40>>2]|0;if(d|0){if(a[b+44>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+40>>2]=0}a[b+44>>0]=1;c[b+40>>2]=0;c[b+32>>2]=0;c[b+36>>2]=0;d=c[b+16>>2]|0;if(!d){a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}if(a[b+20>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}function dk(){var a=0,b=0,d=0,e=0;e=l;l=l+48|0;a=Br()|0;if(a|0?(d=c[a>>2]|0,d|0):0){a=c[d+48>>2]|0;b=c[d+48+4>>2]|0;if(!((a&-256|0)==1126902528&(b|0)==1129074247)){c[e+24>>2]=22041;Lv(21991,e+24|0)}if((a|0)==1126902529&(b|0)==1129074247)a=c[d+44>>2]|0;else a=d+80|0;c[e+36>>2]=a;d=c[d>>2]|0;a=c[d+4>>2]|0;if(al(2736,d,e+36|0)|0){d=c[e+36>>2]|0;d=pb[c[(c[d>>2]|0)+8>>2]&127](d)|0;c[e>>2]=22041;c[e+4>>2]=a;c[e+8>>2]=d;Lv(21905,e)}else{c[e+16>>2]=22041;c[e+16+4>>2]=a;Lv(21950,e+16|0)}}Lv(22029,e+32|0)}function ek(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=c[d>>2]|0;b=Kb[c[(c[b>>2]|0)+56>>2]&31](b,156)|0;d=c[d>>2]|0;c[b+4>>2]=d;c[b>>2]=3768;a[b+8>>0]=1;c[b+12>>2]=3980;c[b+60>>2]=d;c[b+64>>2]=0;a[b+88>>0]=1;c[b+84>>2]=0;c[b+76>>2]=0;c[b+80>>2]=0;a[b+108>>0]=1;c[b+104>>2]=0;c[b+96>>2]=0;c[b+100>>2]=0;a[b+128>>0]=1;c[b+124>>2]=0;c[b+116>>2]=0;c[b+120>>2]=0;a[b+148>>0]=1;c[b+144>>2]=0;c[b+136>>2]=0;c[b+140>>2]=0;c[b+16>>2]=c[f+8>>2];c[b+20>>2]=c[e+8>>2];Rf(b+12|0);return b|0}function fk(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;h=h|0;var i=0;i=l;l=l+64|0;c[i+48>>2]=f;c[i+48+4>>2]=h;f=c[a+212>>2]|0;if(!(+g[f+4>>2]>=e)){l=i;return +e}c[i>>2]=c[a+216>>2];c[i+4>>2]=i+48;c[i+8>>2]=c[b>>2];c[i+8+4>>2]=c[b+4>>2];c[i+8+8>>2]=c[b+8>>2];c[i+8+12>>2]=c[b+12>>2];c[i+24>>2]=c[d>>2];c[i+24+4>>2]=c[d+4>>2];c[i+24+8>>2]=c[d+8>>2];c[i+24+12>>2]=c[d+12>>2];g[i+40>>2]=e;e=+Lb[c[(c[f>>2]|0)+12>>2]&15](f,i,0);l=i;return +e}function gk(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;h=h|0;var i=0;i=l;l=l+64|0;c[i+48>>2]=f;c[i+48+4>>2]=h;f=c[a+212>>2]|0;if(!(+g[f+4>>2]>=e)){l=i;return +e}c[i>>2]=c[a+216>>2];c[i+4>>2]=i+48;c[i+8>>2]=c[b>>2];c[i+8+4>>2]=c[b+4>>2];c[i+8+8>>2]=c[b+8>>2];c[i+8+12>>2]=c[b+12>>2];c[i+24>>2]=c[d>>2];c[i+24+4>>2]=c[d+4>>2];c[i+24+8>>2]=c[d+8>>2];c[i+24+12>>2]=c[d+12>>2];g[i+40>>2]=e;e=+Lb[c[(c[f>>2]|0)+12>>2]&15](f,i,1);l=i;return +e}function hk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=c[d>>2]|0;b=Kb[c[(c[b>>2]|0)+56>>2]&31](b,156)|0;d=c[d>>2]|0;c[b+4>>2]=d;c[b>>2]=3768;a[b+8>>0]=0;c[b+12>>2]=3980;c[b+60>>2]=d;c[b+64>>2]=0;a[b+88>>0]=1;c[b+84>>2]=0;c[b+76>>2]=0;c[b+80>>2]=0;a[b+108>>0]=1;c[b+104>>2]=0;c[b+96>>2]=0;c[b+100>>2]=0;a[b+128>>0]=1;c[b+124>>2]=0;c[b+116>>2]=0;c[b+120>>2]=0;a[b+148>>0]=1;c[b+144>>2]=0;c[b+136>>2]=0;c[b+140>>2]=0;c[b+16>>2]=c[e+8>>2];c[b+20>>2]=c[f+8>>2];Rf(b+12|0);return b|0}function ik(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0;if(!a)return;if(!(c[a+180>>2]&1))return;p=+g[a+4>>2];r=+g[b>>2];m=+g[a+20>>2];q=+g[b+4>>2];j=+g[a+36>>2];d=+g[b+8>>2];o=+g[a+8>>2];l=+g[a+24>>2];h=+g[a+40>>2];n=+g[a+12>>2];k=+g[a+28>>2];e=+g[a+44>>2];i=(p*r+m*q+j*d)*+g[a+164>>2];f=(r*o+q*l+d*h)*+g[a+168>>2];d=(r*n+q*k+d*e)*+g[a+172>>2];g[b>>2]=p*i+o*f+n*d;g[b+4>>2]=m*i+l*f+k*d;g[b+8>>2]=j*i+h*f+e*d;g[b+12>>2]=0.0;return}function jk(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0;i=Vr()|0;we(i,b,d,e,f,h);c[i>>2]=4560;c[i+4>>2]=9;a[i+1309>>0]=0;g[i+1316>>2]=0.0;g[i+1340>>2]=0.0;g[i+1364>>2]=1.0;a[i+1310>>0]=0;g[i+1320>>2]=0.0;g[i+1344>>2]=0.0;g[i+1368>>2]=1.0;a[i+1311>>0]=0;g[i+1324>>2]=0.0;g[i+1348>>2]=0.0;g[i+1372>>2]=1.0;a[i+1312>>0]=0;g[i+1328>>2]=0.0;g[i+1352>>2]=0.0;g[i+1376>>2]=1.0;a[i+1313>>0]=0;g[i+1332>>2]=0.0;g[i+1356>>2]=0.0;g[i+1380>>2]=1.0;a[i+1314>>0]=0;g[i+1336>>2]=0.0;g[i+1360>>2]=0.0;g[i+1384>>2]=1.0;return i|0}function kk(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0,f=0.0,h=0.0,i=0.0;c=l;l=l+48|0;d=2.0/+OD(b);f=+g[(bH(b)|0)>>2];e=+g[(IG(b)|0)>>2];i=+g[(HG(b)|0)>>2];h=+g[(GG(b)|0)>>2];g[c+32>>2]=1.0-(e*e*d+i*i*d);g[c+28>>2]=f*e*d-h*i*d;g[c+24>>2]=f*i*d+h*e*d;g[c+20>>2]=f*e*d+h*i*d;g[c+16>>2]=1.0-(f*f*d+i*i*d);g[c+12>>2]=e*i*d-h*f*d;g[c+8>>2]=f*i*d-h*e*d;g[c+4>>2]=e*i*d+h*f*d;g[c>>2]=1.0-(f*f*d+e*e*d);To(a,c+32|0,c+28|0,c+24|0,c+20|0,c+16|0,c+12|0,c+8|0,c+4|0,c);l=c;return}function lk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=c[e+16>>2]|0;if(!f){if(!(jo(e)|0)){f=c[e+16>>2]|0;g=5}}else g=5;a:do if((g|0)==5){g=c[e+20>>2]|0;if((f-g|0)>>>0<d>>>0){zb[c[e+36>>2]&63](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){h=d;while(1){if(!h){f=d;break b}f=h+-1|0;if((a[b+f>>0]|0)==10)break;else h=f}if((zb[c[e+36>>2]&63](e,b,h)|0)>>>0<h>>>0)break a;g=c[e+20>>2]|0;f=d-h|0;b=b+h|0}else f=d;while(0);_h(g|0,b|0,f|0)|0;c[e+20>>2]=(c[e+20>>2]|0)+f}while(0);return}function mk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;e=l;l=l+16|0;Vb[c[(c[b>>2]|0)+68>>2]&127](e,b,d);c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];c[a+8>>2]=c[e+8>>2];c[a+12>>2]=c[e+12>>2];i=+g[d>>2];h=+g[d+4>>2];f=+g[d+8>>2];k=i*i+h*h+f*f<1.4210854715202004e-14?-1.0:i;j=i*i+h*h+f*f<1.4210854715202004e-14?-1.0:h;f=i*i+h*h+f*f<1.4210854715202004e-14?-1.0:f;h=1.0/+G(+(f*f+(k*k+j*j)));i=+Db[c[(c[b>>2]|0)+48>>2]&15](b);g[a>>2]=+g[a>>2]+i*h*k;g[a+4>>2]=i*h*j+ +g[a+4>>2];g[a+8>>2]=i*h*f+ +g[a+8>>2];l=e;return}function nk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+48|0;e=cF(b,0)|0;g[d+32>>2]=+No(c,e);g[d+28>>2]=+mo(c,e);g[d+24>>2]=+lo(c,e);e=cF(b,1)|0;g[d+20>>2]=+No(c,e);g[d+16>>2]=+mo(c,e);g[d+12>>2]=+lo(c,e);b=cF(b,2)|0;g[d+8>>2]=+No(c,b);g[d+4>>2]=+mo(c,b);g[d>>2]=+lo(c,b);eq(a,d+32|0,d+28|0,d+24|0,d+20|0,d+16|0,d+12|0,d+8|0,d+4|0,d);l=d;return}function ok(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[b+188>>2]|0;if(d|0){g=c[a+68>>2]|0;g=pb[c[(c[g>>2]|0)+36>>2]&127](g)|0;Vb[c[(c[g>>2]|0)+40>>2]&127](g,d,c[a+24>>2]|0);g=c[a+68>>2]|0;Vb[c[(c[g>>2]|0)+12>>2]&127](g,d,c[a+24>>2]|0);c[b+188>>2]=0}f=c[a+8>>2]|0;if((f|0)<=0)return;g=c[a+16>>2]|0;d=0;while(1){e=g+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(f|0)){h=9;break}}if((h|0)==9)return;if((d|0)>=(f|0))return;c[e>>2]=c[g+(f+-1<<2)>>2];c[(c[a+16>>2]|0)+(f+-1<<2)>>2]=b;c[a+8>>2]=f+-1;return}function pk(b,d){b=b|0;d=d|0;var e=0,f=0,h=0;g[b+16>>2]=0.0;g[b+20>>2]=0.0;a[b+168>>0]=0;a[b+169>>0]=0;g[b+172>>2]=0.0;c[b+60>>2]=0;c[b+60+4>>2]=0;c[b+60+8>>2]=0;c[b+60+12>>2]=0;b=c[(c[b+8>>2]|0)+284>>2]|0;if((c[(pb[c[(c[b>>2]|0)+28>>2]&127](b)|0)+4>>2]|0)<=0)return;do{f=c[b>>2]|0;h=c[f+12>>2]|0;f=c[c[(pb[c[f+28>>2]&127](b)|0)+12>>2]>>2]|0;e=c[(c[(pb[c[(c[b>>2]|0)+28>>2]&127](b)|0)+12>>2]|0)+4>>2]|0;tb[h&31](b,f,e,c[d+24>>2]|0)|0}while((c[(pb[c[(c[b>>2]|0)+28>>2]&127](b)|0)+4>>2]|0)>0);return}function qk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;c[6188]=(c[6188]|0)+-1;nb[c[(c[a>>2]|0)+20>>2]&127](a,b);e=c[b+768>>2]|0;d=(c[a+12>>2]|0)+-1|0;g=c[a+20>>2]|0;f=c[g+(e<<2)>>2]|0;c[g+(e<<2)>>2]=c[g+(d<<2)>>2];c[(c[a+20>>2]|0)+(d<<2)>>2]=f;c[(c[(c[a+20>>2]|0)+(e<<2)>>2]|0)+768>>2]=e;c[a+12>>2]=d;a=c[a+68>>2]|0;if(!b)return;g=c[a+16>>2]|0;if(g>>>0<=b>>>0?(g+(S(c[a>>2]|0,c[a+4>>2]|0)|0)|0)>>>0>b>>>0:0){c[b>>2]=c[a+12>>2];c[a+12>>2]=b;c[a+8>>2]=(c[a+8>>2]|0)+1;return}c[6486]=(c[6486]|0)+1;Uc(c[b+-4>>2]|0);return}function rk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=c[b+8>>2]|0;if((k|0)<=0)return;i=c[b+16>>2]|0;j=0;b=0;do{h=c[i+(j<<2)>>2]|0;if(!(c[h+204>>2]&3)){g=c[a+16>>2]|0;e=g+(b<<3)|0;d=c[e>>2]|0;if((d|0)==(b|0))d=b;else{f=d;do{d=g+(f<<3)|0;c[e>>2]=c[d>>2];d=c[d>>2]|0;e=g+(d<<3)|0;f=c[e>>2]|0}while((d|0)!=(f|0))}c[h+208>>2]=d;c[g+(b<<3)+4>>2]=j;c[h+212>>2]=-1;b=b+1|0}else{c[h+208>>2]=-1;c[h+212>>2]=-2}j=j+1|0}while((j|0)!=(k|0));return}function sk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=Vr()|0;Kd(f,b,d,e);c[f>>2]=4560;c[f+4>>2]=9;a[f+1309>>0]=0;g[f+1316>>2]=0.0;g[f+1340>>2]=0.0;g[f+1364>>2]=1.0;a[f+1310>>0]=0;g[f+1320>>2]=0.0;g[f+1344>>2]=0.0;g[f+1368>>2]=1.0;a[f+1311>>0]=0;g[f+1324>>2]=0.0;g[f+1348>>2]=0.0;g[f+1372>>2]=1.0;a[f+1312>>0]=0;g[f+1328>>2]=0.0;g[f+1352>>2]=0.0;g[f+1376>>2]=1.0;a[f+1313>>0]=0;g[f+1332>>2]=0.0;g[f+1356>>2]=0.0;g[f+1380>>2]=1.0;a[f+1314>>0]=0;g[f+1336>>2]=0.0;g[f+1360>>2]=0.0;g[f+1384>>2]=1.0;return f|0}function tk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0;if((e|0)<=0)return;f=0;do{n=+g[b+(f<<4)>>2];m=+g[b+(f<<4)+4>>2];j=+g[b+(f<<4)+8>>2];k=n*+g[a+56>>2]+m*+g[a+60>>2]+j*+g[a+64>>2];l=n*+g[a+72>>2]+m*+g[a+76>>2]+j*+g[a+80>>2];j=n*+g[a+88>>2]+m*+g[a+92>>2]+j*+g[a+96>>2];h=d+(f<<4)|0;i=a+56+((k<l?(l<j?2:1):k<j?2:0)<<4)|0;c[h>>2]=c[i>>2];c[h+4>>2]=c[i+4>>2];c[h+8>>2]=c[i+8>>2];c[h+12>>2]=c[i+12>>2];f=f+1|0}while((f|0)!=(e|0));return}function uk(a,b){a=a|0;b=+b;var d=0,e=0;d=l;l=l+16|0;Xe(a,b);bj(11749);a=c[a+452>>2]|0;kb[c[(c[a>>2]|0)+24>>2]&31](a,b);a=c[2380]|0;e=(c[a+16>>2]|0)+-1|0;c[a+16>>2]=e;if(e|0){l=d;return}do if(c[a+4>>2]|0){Za(d|0,0)|0;e=c[6484]|0;g[a+8>>2]=+(((c[d+4>>2]|0)-(c[e+4>>2]|0)+(((c[d>>2]|0)-(c[e>>2]|0)|0)*1e6|0)-(c[a+12>>2]|0)|0)>>>0)/1.0e3+ +g[a+8>>2];if(!(c[a+16>>2]|0)){a=c[2380]|0;break}else{l=d;return}}while(0);c[2380]=c[a+20>>2];l=d;return}function vk(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0;while(1){g=c[a+12>>2]|0;if(!(((e[f>>1]|0)>=(e[a>>1]|0)?(e[d>>1]|0)<=(e[a+6>>1]|0):0)&(e[d+4>>1]|0)<=(e[a+10>>1]|0)&(e[f+4>>1]|0)>=(e[a+4>>1]|0)&(e[d+2>>1]|0)<=(e[a+8>>1]|0)&(e[f+2>>1]|0)>=(e[a+2>>1]|0))){h=6;break}if((g|0)>-1)break;vk(a+16|0,b,d,f);g=c[a+28>>2]|0;a=(g|0)>-1?a+32|0:a+(1-g<<4)|0}if((h|0)==6)return;Vb[c[(c[b>>2]|0)+8>>2]&127](b,g>>21,g&2097151);return}function wk(b,d){b=b|0;d=d|0;a[b+148>>0]=0;if((((Td(b,d)|0?(a[b+148>>0]=1,Td(b,d)|0):0)?(a[b+148>>0]=1,Td(b,d)|0):0)?(a[b+148>>0]=1,Td(b,d)|0):0)?(a[b+148>>0]=1,Td(b,d)|0):0)a[b+148>>0]=1;d=(c[b+8>>2]|0)+52|0;c[b+92>>2]=c[d>>2];c[b+92+4>>2]=c[d+4>>2];c[b+92+8>>2]=c[d+8>>2];c[b+92+12>>2]=c[d+12>>2];op(b+112|0,d|0,16)|0;return}function xk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0;h=+g[a+56>>2];k=+g[a+72>>2]-h;j=+g[a+60>>2];i=+g[a+76>>2]-j;l=+g[a+64>>2];m=+g[a+80>>2]-l;h=+g[a+88>>2]-h;j=+g[a+92>>2]-j;l=+g[a+96>>2]-l;g[d+12>>2]=0.0;f=1.0/+G(+((k*j-i*h)*(k*j-i*h)+((i*l-m*j)*(i*l-m*j)+(m*h-k*l)*(m*h-k*l))));g[d>>2]=f*(i*l-m*j);g[d+4>>2]=f*(m*h-k*l);g[d+8>>2]=(k*j-i*h)*f;c[e>>2]=c[a+56>>2];c[e+4>>2]=c[a+56+4>>2];c[e+8>>2]=c[a+56+8>>2];c[e+12>>2]=c[a+56+12>>2];return}function yk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+224|0;e=g+80|0;f=e+40|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[g+120>>2]=c[d>>2];if((Sc(0,b,g+120|0,g,g+80|0)|0)>=0){d=c[2382]|0;if((a[9602]|0)<1)c[2382]=d&-33;if(!(c[2394]|0)){e=c[2393]|0;c[2393]=g+136;c[2389]=g+136;c[2387]=g+136;c[2394]=80;c[2386]=g+136+80;Sc(9528,b,g+120|0,g,g+80|0)|0;if(e|0){zb[c[9564>>2]&63](9528,0,0)|0;c[2393]=e;c[2394]=0;c[2386]=0;c[2389]=0;c[2387]=0}}else Sc(9528,b,g+120|0,g,g+80|0)|0;c[2382]=c[2382]|d&32}l=g;return}function zk(b,d){b=b|0;d=d|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(!(c[6497]|0))if((d&-128|0)==57216){a[b>>0]=d;b=1;break}else{c[6630]=84;b=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[6630]=84;b=-1;break}}else b=1;while(0);return b|0}function Ak(b){b=b|0;var d=0,e=0,f=0;c[b>>2]=6256;d=c[b+12>>2]|0;if((d|0)>0){f=0;do{e=c[(c[b+20>>2]|0)+(f<<2)>>2]|0;if(e|0){lb[c[c[e>>2]>>2]&511](e);e=c[b+4>>2]|0;nb[c[(c[e>>2]|0)+60>>2]&127](e,c[(c[b+20>>2]|0)+(f<<2)>>2]|0)}f=f+1|0}while((f|0)!=(d|0))}d=c[b+20>>2]|0;if(!d){a[b+24>>0]=1;c[b+20>>2]=0;c[b+12>>2]=0;b=b+16|0;c[b>>2]=0;return}if(a[b+24>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+20>>2]=0;a[b+24>>0]=1;c[b+20>>2]=0;c[b+12>>2]=0;b=b+16|0;c[b>>2]=0;return}function Bk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;h=+g[a+56>>2];j=+g[a+72>>2]-h;i=+g[a+60>>2];k=+g[a+76>>2]-i;d=+g[a+64>>2];f=+g[a+80>>2]-d;h=+g[a+88>>2]-h;i=+g[a+92>>2]-i;d=+g[a+96>>2]-d;g[c+12>>2]=0.0;e=1.0/+G(+((j*i-k*h)*(j*i-k*h)+((k*d-f*i)*(k*d-f*i)+(f*h-j*d)*(f*h-j*d))));g[c>>2]=e*(k*d-f*i);g[c+4>>2]=e*(f*h-j*d);g[c+8>>2]=(j*i-k*h)*e;if(!b)return;g[c>>2]=-(e*(k*d-f*i));g[c+4>>2]=-(e*(f*h-j*d));g[c+8>>2]=-((j*i-k*h)*e);return}function Ck(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=c[a+720>>2]|0;h=c[a+752>>2]|0;if((h|0)<=0){e=0;return e|0}a=c[a+760>>2]|0;f=0;while(1){i=c[a+(f*44|0)+8>>2]|0;if(((i|0)==(g+(e*104|0)|0)|((i|0)==(g+(b*104|0)|0)|(i|0)==(g+(d*104|0)|0))?(i=c[a+(f*44|0)+12>>2]|0,(i|0)==(g+(e*104|0)|0)|((i|0)==(g+(b*104|0)|0)|(i|0)==(g+(d*104|0)|0))):0)?(i=c[a+(f*44|0)+16>>2]|0,(i|0)==(g+(e*104|0)|0)|((i|0)==(g+(b*104|0)|0)|(i|0)==(g+(d*104|0)|0))):0){a=1;f=7;break}f=f+1|0;if((f|0)>=(h|0)){a=0;f=7;break}}if((f|0)==7)return a|0;return 0}function Dk(b,d){b=b|0;d=+d;var e=0,f=0,h=0,i=0,j=0.0;d=1.0/+g[(c[b+116>>2]|0)+344>>2];h=c[b+136>>2]|0;if((h|0)<=0)return;e=c[b+144>>2]|0;f=0;do{if(a[e+(f*284|0)+84>>0]|0){j=+g[e+(f*284|0)+272>>2];j=d*(+g[e+(f*284|0)+216>>2]*(+g[e+(f*284|0)+204>>2]-+g[e+(f*284|0)+32>>2])*+g[e+(f*284|0)+268>>2]-j*+g[(j<0.0?e+(f*284|0)+220|0:e+(f*284|0)+224|0)>>2]);b=e+(f*284|0)+276|0;g[b>>2]=j;if(j<0.0)i=6}else{b=e+(f*284|0)+276|0;i=6}if((i|0)==6){i=0;g[b>>2]=0.0}f=f+1|0}while((f|0)!=(h|0));return}function Ek(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0,j=0;i=c[a+96>>2]|0;j=c[a+104>>2]|0;f=+g[j+(((b|0)%(i|0)|0)<<4)+4>>2]*+g[a+16>>2];h=+g[j+(((b|0)%(i|0)|0)<<4)+8>>2]*+g[a+20>>2];g[d>>2]=+g[j+(((b|0)%(i|0)|0)<<4)>>2]*+g[a+12>>2];g[d+4>>2]=f;g[d+8>>2]=h;g[d+12>>2]=0.0;d=c[a+104>>2]|0;h=+g[d+(((b+1|0)%(i|0)|0)<<4)+4>>2]*+g[a+16>>2];f=+g[d+(((b+1|0)%(i|0)|0)<<4)+8>>2]*+g[a+20>>2];g[e>>2]=+g[d+(((b+1|0)%(i|0)|0)<<4)>>2]*+g[a+12>>2];g[e+4>>2]=h;g[e+8>>2]=f;g[e+12>>2]=0.0;return}function Fk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,h=0,i=0;e=l;l=l+32|0;d=c[a+184>>2]|0;if(+g[d+4>>2]==0.0){a=0;l=e;return a|0}b=c[b>>2]|0;if(!(Kb[c[(c[d>>2]|0)+8>>2]&31](d,c[b+188>>2]|0)|0)){a=1;l=e;return a|0}h=c[a+192>>2]|0;i=c[b+192>>2]|0;d=c[a+184>>2]|0;f=+g[a+188>>2];c[e>>2]=0;c[e+4>>2]=i;c[e+8>>2]=b;c[e+12>>2]=b+4;c[e+16>>2]=-1;c[e+20>>2]=-1;rc(h,a+36|0,a+100|0,e,d,f);a=1;l=e;return a|0}function Gk(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];a=c[a+8>>2]|0;c[a+260>>2]=(c[a+260>>2]|0)+1;c[a+4>>2]=1065353216;c[a+8>>2]=0;c[a+8+4>>2]=0;c[a+8+8>>2]=0;c[a+8+12>>2]=0;c[a+24>>2]=1065353216;c[a+28>>2]=0;c[a+28+4>>2]=0;c[a+28+8>>2]=0;c[a+28+12>>2]=0;c[a+44>>2]=1065353216;c[a+48>>2]=0;c[a+52>>2]=c[d>>2];c[a+52+4>>2]=c[d+4>>2];c[a+52+8>>2]=c[d+8>>2];c[a+52+12>>2]=c[d+12>>2];l=d;return}function Hk(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;bj(15017);d=c[a+68>>2]|0;nb[c[(c[d>>2]|0)+32>>2]&127](d,c[a+24>>2]|0);a=c[2380]|0;d=(c[a+16>>2]|0)+-1|0;c[a+16>>2]=d;if(d|0){l=b;return}do if(c[a+4>>2]|0){Za(b|0,0)|0;d=c[6484]|0;g[a+8>>2]=+(((c[b+4>>2]|0)-(c[d+4>>2]|0)+(((c[b>>2]|0)-(c[d>>2]|0)|0)*1e6|0)-(c[a+12>>2]|0)|0)>>>0)/1.0e3+ +g[a+8>>2];if(!(c[a+16>>2]|0)){a=c[2380]|0;break}else{l=b;return}}while(0);c[2380]=c[a+20>>2];l=b;return}function Ik(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;do switch(b|0){case 0:{f=0;b=1;break}case 1:{f=0;b=2;break}case 2:{f=1;b=3;break}case 3:{f=2;break}case 4:{f=0;break}case 5:{f=1;break}case 6:{f=2;break}case 7:{f=3;break}case 8:{f=4;b=5;break}case 9:{f=4;b=6;break}case 10:{f=5;b=7;break}case 11:{f=6;b=7;break}default:{f=0;b=0}}while(0);Vb[c[(c[a>>2]|0)+108>>2]&127](a,f,d);Vb[c[(c[a>>2]|0)+108>>2]&127](a,b,e);return}function Jk(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0;k=+Db[c[(c[a>>2]|0)+48>>2]&15](a);h=+Db[c[(c[a>>2]|0)+48>>2]&15](a);d=+Db[c[(c[a>>2]|0)+48>>2]&15](a);m=(k+ +g[a+28>>2])/+g[a+12>>2];j=(h+ +g[a+32>>2])/+g[a+16>>2];f=(d+ +g[a+36>>2])/+g[a+20>>2];l=+F(+(+g[b>>2]));i=+F(+(+g[b+4>>2]));e=+F(+(+g[b+8>>2]));g[a+12>>2]=l;g[a+16>>2]=i;g[a+20>>2]=e;g[a+24>>2]=0.0;g[a+28>>2]=m*l-k;g[a+32>>2]=j*i-h;g[a+36>>2]=f*e-d;g[a+40>>2]=0.0;return}function Kk(b,d){b=b|0;d=d|0;var e=0,f=0,h=0.0,i=0,j=0;if(a[b+527>>0]|0){c[d>>2]=0;c[d+4>>2]=0;return}c[d>>2]=3;c[d+4>>2]=3;j=c[b+28>>2]|0;i=c[b+32>>2]|0;oc(b,j+4|0,i+4|0,j+264|0,i+264|0);if((a[b+526>>0]|0?(e=c[d>>2]|0,c[d>>2]=e+1,f=c[d+4>>2]|0,c[d+4>>2]=f+-1,h=+g[b+456>>2],+g[b+444>>2]<h):0)?+g[b+448>>2]<h:0){c[d>>2]=e+2;c[d+4>>2]=f+-2}if(!(a[b+525>>0]|0))return;c[d>>2]=(c[d>>2]|0)+1;c[d+4>>2]=(c[d+4>>2]|0)+-1;return}function Lk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}g=d|d<<8|d<<16|d<<24;while((b|0)<=((f&-4)-64|0)){c[b>>2]=g;c[b+4>>2]=g;c[b+8>>2]=g;c[b+12>>2]=g;c[b+16>>2]=g;c[b+20>>2]=g;c[b+24>>2]=g;c[b+28>>2]=g;c[b+32>>2]=g;c[b+36>>2]=g;c[b+40>>2]=g;c[b+44>>2]=g;c[b+48>>2]=g;c[b+52>>2]=g;c[b+56>>2]=g;c[b+60>>2]=g;b=b+64|0}while((b|0)<(f&-4|0)){c[b>>2]=g;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return f-e|0}function Mk(a,b,c,d,e,f,h,i,j,k){a=+a;b=+b;c=+c;d=+d;e=+e;f=+f;h=+h;i=+i;j=+j;k=k|0;if(!(((h-d)*b-(i-e)*a)*f+(((i-e)*c-(j-f)*b)*d+((j-f)*a-(h-d)*c)*e)<0.0)){k=0;return k|0}do if(!((h-d)*d+(i-e)*e+(j-f)*f>0.0))if((h-d)*h+(i-e)*i+(j-f)*j<0.0){d=h*h+i*i+j*j;break}else{d=((h*h+i*i+j*j)*(d*d+e*e+f*f)-(h*d+i*e+j*f)*(h*d+i*e+j*f))/((h-d)*(h-d)+(i-e)*(i-e)+(j-f)*(j-f));d=d>0.0?d:0.0;break}else d=d*d+e*e+f*f;while(0);g[k>>2]=+G(+d);k=1;return k|0}function Nk(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,h=0,i=0;b=c[b+36>>2]|0;i=c[b+8>>2]|0;h=c[b+12>>2]|0;f=c[b+16>>2]|0;e=+g[a+52>>2];d=+nh(a+4|0,+g[a+36>>2],+g[a+40>>2],+g[a+44>>2],+g[i+8>>2],+g[i+12>>2],+g[i+16>>2],+g[h+8>>2],+g[h+12>>2],+g[h+16>>2],+g[f+8>>2],+g[f+12>>2],+g[f+16>>2],e);if(!(d>0.0&d<e)){i=a+60|0;h=c[i>>2]|0;h=h+1|0;c[i>>2]=h;return}g[a+52>>2]=d;c[a+56>>2]=b;i=a+60|0;h=c[i>>2]|0;h=h+1|0;c[i>>2]=h;return}function Ok(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;a:do if(c>>>0>=3)if((c+-3|0)>>>0<3)switch(b|0){case 2:{d=+g[a+868+(c+-3<<6)+32>>2];break a}case 4:{d=+g[a+868+(c+-3<<6)+36>>2];break a}case 3:{d=+g[a+868+(c+-3<<6)+28>>2];break a}default:{d=0.0;break a}}else d=0.0;else switch(b|0){case 2:{d=+g[a+756+(c<<2)>>2];break a}case 4:{d=+g[a+772+(c<<2)>>2];break a}case 3:{d=+g[a+740+(c<<2)>>2];break a}default:{d=0.0;break a}}while(0);return +d}function Pk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;Vb[c[(c[b>>2]|0)+68>>2]&127](a,b,d);if(!(+Db[c[(c[b>>2]|0)+48>>2]&15](b)!=0.0))return;h=+g[d>>2];f=+g[d+4>>2];e=+g[d+8>>2];j=h*h+f*f+e*e<1.4210854715202004e-14?-1.0:h;i=h*h+f*f+e*e<1.4210854715202004e-14?-1.0:f;e=h*h+f*f+e*e<1.4210854715202004e-14?-1.0:e;f=1.0/+G(+(e*e+(j*j+i*i)));h=+Db[c[(c[b>>2]|0)+48>>2]&15](b);g[a>>2]=+g[a>>2]+h*f*j;g[a+4>>2]=h*f*i+ +g[a+4>>2];g[a+8>>2]=h*f*e+ +g[a+8>>2];return}function Qk(b,d,e){b=b|0;d=d|0;e=+e;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;a[b+171>>0]=0;c[b+60>>2]=c[d>>2];c[b+60+4>>2]=c[d+4>>2];c[b+60+8>>2]=c[d+8>>2];c[b+60+12>>2]=c[d+12>>2];f=+g[b+60>>2];h=+g[b+64>>2];j=+g[b+68>>2];i=1.0/+G(+(f*f+h*h+j*j));if(+G(+(j*i*j*i+(f*i*f*i+h*i*h*i)))<1.1920928955078125e-07){k=0.0;h=0.0;f=0.0;d=0}else{k=f*i;h=h*i;f=j*i;d=c[b+72>>2]|0}g[b+76>>2]=k;g[b+80>>2]=h;g[b+84>>2]=f;c[b+88>>2]=d;g[b+172>>2]=+g[b+172>>2]+e;return}function Rk(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;do if(!(LB(b,c[d+8>>2]|0)|0)){if(LB(b,c[d>>2]|0)|0){if((c[d+16>>2]|0)!=(e|0)?(c[d+20>>2]|0)!=(e|0):0){c[d+32>>2]=f;c[d+20>>2]=e;c[d+40>>2]=(c[d+40>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1;c[d+44>>2]=4;break}if((f|0)==1)c[d+32>>2]=1}}else yr(d,e,f);while(0);return}function Sk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do if(!(LB(b,c[d+8>>2]|0)|0)){g=c[b+12>>2]|0;Qn(b+16|0,d,e,f);if((g|0)>1){h=b+24|0;do{Qn(h,d,e,f);if(a[d+54>>0]|0)break a;h=h+8|0}while(h>>>0<(b+16+(g<<3)|0)>>>0)}}else Lm(d,e,f);while(0);return}function Tk(b,d,e,f,h){b=b|0;d=+d;e=e|0;f=f|0;h=h|0;g[b>>2]=d;c[b+4>>2]=e;c[b+72>>2]=f;c[b+76>>2]=c[h>>2];c[b+76+4>>2]=c[h+4>>2];c[b+76+8>>2]=c[h+8>>2];c[b+76+12>>2]=c[h+12>>2];g[b+92>>2]=0.0;g[b+96>>2]=0.0;g[b+100>>2]=.5;g[b+104>>2]=0.0;g[b+108>>2]=0.0;g[b+112>>2]=.800000011920929;g[b+116>>2]=1.0;a[b+120>>0]=0;g[b+124>>2]=.004999999888241291;g[b+128>>2]=.009999999776482582;g[b+132>>2]=.009999999776482582;g[b+136>>2]=.009999999776482582;wq(b+8|0);return}function Uk(b,d,e){b=b|0;d=d|0;e=e|0;b=Ir(152)|0;c[b>>2]=4944;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;a[b+60>>0]=1;c[b+56>>2]=0;c[b+48>>2]=0;c[b+52>>2]=0;a[b+80>>0]=1;c[b+76>>2]=0;c[b+68>>2]=0;c[b+72>>2]=0;c[b+100>>2]=e;g[b+104>>2]=0.0;a[b+148>>0]=1;c[b+144>>2]=0;c[b+136>>2]=0;c[b+140>>2]=0;c[b+116>>2]=d;c[b+120>>2]=0;c[b+124>>2]=2;c[b+128>>2]=1;g[b+112>>2]=0.0;g[b+108>>2]=0.0;return b|0}function Vk(b){b=b|0;var d=0,e=0,f=0;e=Ir(5260)|0;c[e>>2]=5224;c[e+4>>2]=2;a[e+24>>0]=1;c[e+20>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+28>>2]=5696;c[e+5256>>2]=b;c[e+60>>2]=79;c[e+64>>2]=pb[c[(c[b>>2]|0)+12>>2]&127](b)|0;c[e+68>>2]=pb[c[(c[b>>2]|0)+8>>2]&127](b)|0;b=0;do{d=0;do{f=c[e+5256>>2]|0;c[e+72+(b*144|0)+(d<<2)>>2]=zb[c[(c[f>>2]|0)+16>>2]&63](f,b,d)|0;d=d+1|0}while((d|0)<36);b=b+1|0}while((b|0)<36);return e|0}function Wk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Kb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=Kb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=f;if(f|0)nb[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+28>>2]=c[a+28>>2];c[b+32>>2]=c[a+32>>2];c[b+36>>2]=c[a+36>>2];c[b+40>>2]=c[a+40>>2];c[b+12>>2]=c[a+12>>2];c[b+16>>2]=c[a+16>>2];c[b+20>>2]=c[a+20>>2];c[b+24>>2]=c[a+24>>2];c[b+44>>2]=c[a+44>>2];c[b+52>>2]=c[a+52>>2];return 17927}function Xk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Kb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=Kb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=f;if(f|0)nb[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+28>>2]=c[a+28>>2];c[b+32>>2]=c[a+32>>2];c[b+36>>2]=c[a+36>>2];c[b+40>>2]=c[a+40>>2];c[b+12>>2]=c[a+12>>2];c[b+16>>2]=c[a+16>>2];c[b+20>>2]=c[a+20>>2];c[b+24>>2]=c[a+24>>2];c[b+44>>2]=c[a+44>>2];c[b+52>>2]=c[a+52>>2];return 17471}function Yk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Kb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=Kb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=f;if(f|0)nb[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+28>>2]=c[a+28>>2];c[b+32>>2]=c[a+32>>2];c[b+36>>2]=c[a+36>>2];c[b+40>>2]=c[a+40>>2];c[b+12>>2]=c[a+12>>2];c[b+16>>2]=c[a+16>>2];c[b+20>>2]=c[a+20>>2];c[b+24>>2]=c[a+24>>2];c[b+44>>2]=c[a+44>>2];c[b+52>>2]=c[a+68>>2];return 16491}function Zk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=l;l=l+32|0;if(!(+g[a+344>>2]!=0.0)){l=d;return}Kn(a,+g[b>>2],+g[b+4>>2],+g[b+8>>2]);if(!(bH(a+544|0)|0)){l=d;return}zp(d,+g[b>>2],+g[b+4>>2],+g[b+8>>2],+g[a+348>>2],+g[a+352>>2],+g[a+356>>2]);Ko(d+16|0,+g[c>>2],+g[c+4>>2],+g[c+8>>2],+g[d>>2],+g[d+4>>2],+g[d+8>>2]);Ln(a,+g[d+16>>2],+g[d+16+4>>2],+g[d+16+8>>2]);l=d;return}function _k(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;a[b+53>>0]=1;do if((c[b+4>>2]|0)==(e|0)){a[b+52>>0]=1;e=c[b+16>>2]|0;if(!e){c[b+16>>2]=d;c[b+24>>2]=f;c[b+36>>2]=1;if(!((f|0)==1?(c[b+48>>2]|0)==1:0))break;a[b+54>>0]=1;break}if((e|0)!=(d|0)){c[b+36>>2]=(c[b+36>>2]|0)+1;a[b+54>>0]=1;break}e=c[b+24>>2]|0;if((e|0)==2){c[b+24>>2]=f;e=f}if((e|0)==1?(c[b+48>>2]|0)==1:0)a[b+54>>0]=1}while(0);return}function $k(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0,k=0;e=l;l=l+16|0;j=c[a+52>>2]|0;k=c[a+28+(((j+2|0)%3|0)<<2)>>2]|0;c[e>>2]=k;c[e+4>>2]=k;c[e+8>>2]=k;g[e+12>>2]=0.0;g[e+(j<<2)>>2]=+g[a+28+(j<<2)>>2]+ +g[e+(j<<2)>>2];h=(+g[e>>2]+.03999999910593033)*2.0;f=(+g[e+4>>2]+.03999999910593033)*2.0;i=(+g[e+8>>2]+.03999999910593033)*2.0;g[d>>2]=b*.0833333283662796*(f*f+i*i);g[d+4>>2]=b*.0833333283662796*(h*h+i*i);g[d+8>>2]=b*.0833333283662796*(h*h+f*f);l=e;return}function al(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+64|0;if(!(LB(a,b)|0))if((b|0)!=0?(f=Si(b,2744)|0,(f|0)!=0):0){b=g+4|0;e=b+52|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));c[g>>2]=f;c[g+8>>2]=a;c[g+12>>2]=-1;c[g+48>>2]=1;Zb[c[(c[f>>2]|0)+28>>2]&127](f,g,c[d>>2]|0,1);if((c[g+24>>2]|0)==1){c[d>>2]=c[g+16>>2];b=1}else b=0}else b=0;else b=1;l=g;return b|0}function bl(b,d){b=b|0;d=d|0;var e=0;e=cs()|0;c[e+8>>2]=0;c[e+12>>2]=1065353216;c[e+16>>2]=1065353216;c[e+20>>2]=1065353216;g[e+24>>2]=0.0;g[e+44>>2]=.03999999910593033;c[e+52>>2]=0;c[e+56>>2]=1065353216;c[e+60>>2]=1065353216;c[e+64>>2]=1065353216;g[e+68>>2]=0.0;c[e+72>>2]=-1082130432;c[e+76>>2]=-1082130432;c[e+80>>2]=-1082130432;g[e+84>>2]=0.0;a[e+88>>0]=0;c[e>>2]=7784;c[e+92>>2]=b;c[e+4>>2]=3;if(!d)return e|0;fj(e);return e|0}function cl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0,j=0.0,k=0.0,l=0.0,m=0;if((d|0)<=0)return;m=0;do{e=+g[a+32>>2];h=+g[a+28>>2];i=b+(m<<4)|0;l=+g[b+(m<<4)+4>>2];f=+g[b+(m<<4)+8>>2];k=+G(+(l*l+f*f));if(k!=0.0){j=f*(e/k);f=+g[i>>2]<0.0?-h:h;e=l*(e/k)}else{j=0.0;f=+g[i>>2]<0.0?-h:h}g[c+(m<<4)>>2]=f;g[c+(m<<4)+4>>2]=e;g[c+(m<<4)+8>>2]=j;m=m+1|0}while((m|0)!=(d|0));return}function dl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=c[b>>2]|0;if(!e)e=c[a+188>>2]|0;h=c[a+268>>2]|0;if((h|0)<=0)return;i=c[a+276>>2]|0;f=0;while(1){g=i+(f<<2)|0;if((c[g>>2]|0)==(j|0))break;f=f+1|0;if((f|0)>=(h|0)){k=9;break}}if((k|0)==9)return;if((f|0)>=(h|0))return;c[g>>2]=c[i+(h+-1<<2)>>2];c[a+268>>2]=h+-1;k=c[a+284>>2]|0;tb[c[(c[k>>2]|0)+12>>2]&31](k,e,b,d)|0;return}function el(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=l;l=l+32|0;d=c[a+216>>2]|0;if(+g[d+4>>2]==0.0){a=0;l=e;return a|0}b=c[b>>2]|0;if(!(Kb[c[(c[d>>2]|0)+8>>2]&31](d,c[b+188>>2]|0)|0)){a=1;l=e;return a|0}f=c[b+192>>2]|0;d=c[a+216>>2]|0;c[e>>2]=0;c[e+4>>2]=f;c[e+8>>2]=b;c[e+12>>2]=b+4;c[e+16>>2]=-1;c[e+20>>2]=-1;Nc(a+68|0,a+132|0,e,d);a=1;l=e;return a|0}function fl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Kb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=Kb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=f;if(f|0)nb[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+28>>2]=c[a+28>>2];c[b+32>>2]=c[a+32>>2];c[b+36>>2]=c[a+36>>2];c[b+40>>2]=c[a+40>>2];c[b+12>>2]=c[a+12>>2];c[b+16>>2]=c[a+16>>2];c[b+20>>2]=c[a+20>>2];c[b+24>>2]=c[a+24>>2];c[b+44>>2]=c[a+44>>2];return 11152}function gl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Kb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=Kb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=f;if(f|0)nb[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+12>>2]=c[a+68>>2];c[b+16>>2]=c[a+72>>2];c[b+20>>2]=c[a+76>>2];c[b+24>>2]=c[a+80>>2];c[b+28>>2]=c[a+48>>2];c[b+32>>2]=c[a+52>>2];c[b+36>>2]=c[a+56>>2];c[b+40>>2]=c[a+60>>2];c[b+44>>2]=c[a+64>>2];return 17168}function hl(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;a[b+171>>0]=1;c[b+60>>2]=c[d>>2];c[b+60+4>>2]=c[d+4>>2];c[b+60+8>>2]=c[d+8>>2];c[b+60+12>>2]=c[d+12>>2];e=+g[b+60>>2];f=+g[b+64>>2];i=+g[b+68>>2];h=1.0/+G(+(e*e+f*f+i*i));if(+G(+(i*h*i*h+(e*h*e*h+f*h*f*h)))<1.1920928955078125e-07){j=0.0;f=0.0;e=0.0;d=0}else{j=e*h;f=f*h;e=i*h;d=c[b+72>>2]|0}g[b+76>>2]=j;g[b+80>>2]=f;g[b+84>>2]=e;c[b+88>>2]=d;return}function il(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0;if((d|0)<=0)return;m=0;do{e=+g[a+28>>2];i=+g[a+36>>2];l=+g[b+(m<<4)>>2];f=+g[b+(m<<4)+4>>2];k=+G(+(l*l+f*f));h=+g[b+(m<<4)+8>>2];if(k!=0.0){j=f*(e/k);f=h<0.0?-i:i;e=l*(e/k)}else{j=0.0;f=h<0.0?-i:i}g[c+(m<<4)>>2]=e;g[c+(m<<4)+4>>2]=j;g[c+(m<<4)+8>>2]=f;m=m+1|0}while((m|0)!=(d|0));return}function jl(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,h=0,i=0,j=0;j=c[a+68>>2]|0;i=c[a+64>>2]|0;h=c[a+72>>2]|0;e=+g[b+(j<<2)>>2]/+g[a+12+(j<<2)>>2]*+g[a+60>>2];g[a+60>>2]=e;f=+g[a+56>>2]*(+g[b+(i<<2)>>2]/+g[a+12+(i<<2)>>2]+ +g[b+(h<<2)>>2]/+g[a+12+(h<<2)>>2])*.5;g[a+56>>2]=f;g[a+52>>2]=f/+G(+(e*e+f*f));f=+F(+(+g[b>>2]));e=+F(+(+g[b+4>>2]));d=+F(+(+g[b+8>>2]));g[a+12>>2]=f;g[a+16>>2]=e;g[a+20>>2]=d;g[a+24>>2]=0.0;return}function kl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0;if((d|0)<=0)return;m=0;do{e=+g[a+28>>2];i=+g[a+32>>2];l=+g[b+(m<<4)>>2];f=+g[b+(m<<4)+8>>2];k=+G(+(l*l+f*f));h=+g[b+(m<<4)+4>>2];if(k!=0.0){j=f*(e/k);f=h<0.0?-i:i;e=l*(e/k)}else{j=0.0;f=h<0.0?-i:i}g[c+(m<<4)>>2]=e;g[c+(m<<4)+4>>2]=f;g[c+(m<<4)+8>>2]=j;m=m+1|0}while((m|0)!=(d|0));return}function ll(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=l;l=l+48|0;c[f+32>>2]=9032;c[f+32+4>>2]=e;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[f+16>>2]=c[d>>2];c[f+16+4>>2]=c[d+4>>2];c[f+16+8>>2]=c[d+8>>2];c[f+16+12>>2]=c[d+12>>2];We(c[a+4>>2]|0,f,f+32|0);We(c[a+64>>2]|0,f,f+32|0);l=f;return}function ml(b){b=b|0;var d=0;d=c[b>>2]|0;if(d|0)Ym(b,d);d=c[b+4>>2]|0;if(d|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+4>>2]=0;c[b+8>>2]=-1;d=c[b+32>>2]|0;if(!d){a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;d=b+28|0;c[d>>2]=0;b=b+16|0;c[b>>2]=0;return}if(a[b+36>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+32>>2]=0;a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;d=b+28|0;c[d>>2]=0;b=b+16|0;c[b>>2]=0;return}function nl(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0,f=0.0,h=0.0,i=0.0;e=l;l=l+48|0;f=+RG(b);h=+RG(c);i=+RG(d);b=+QG(b);c=+QG(c);d=+QG(d);g[e+32>>2]=h*i;g[e+28>>2]=c*b*i-f*d;g[e+24>>2]=c*f*i+b*d;g[e+20>>2]=h*d;g[e+16>>2]=c*b*d+f*i;g[e+12>>2]=c*f*d-b*i;g[e+8>>2]=-c;g[e+4>>2]=h*b;g[e>>2]=h*f;To(a,e+32|0,e+28|0,e+24|0,e+20|0,e+16|0,e+12|0,e+8|0,e+4|0,e);l=e;return}function ol(a,d,f,g,h,i){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;j=c[a+108>>2]|0;if(j|0){Bb[c[(c[j>>2]|0)+24>>2]&7](j,d,f,g,h,i);return}j=b[a+56>>1]|0;if(!(j<<16>>16))return;d=1;h=1;do{i=c[a+68>>2]|0;if(b[i+(d<<2)>>1]&1){Kb[c[(c[g>>2]|0)+8>>2]&31](g,(c[a+60>>2]|0)+((e[i+(d<<2)+2>>1]|0)<<6)|0)|0;j=b[a+56>>1]|0}h=h+1<<16>>16;d=h&65535}while(d>>>0<((j&65535)<<1|1)>>>0);return}function pl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=c[d>>2]|0;b=Kb[c[(c[b>>2]|0)+56>>2]&31](b,80)|0;d=c[d>>2]|0;c[b+4>>2]=d;c[b>>2]=5600;a[b+8>>0]=1;c[b+12>>2]=5648;c[b+60>>2]=d;c[b+64>>2]=0;c[b+16>>2]=f;c[b+20>>2]=e;d=zb[c[(c[d>>2]|0)+12>>2]&63](d,c[f+8>>2]|0,c[e+8>>2]|0)|0;c[b+76>>2]=d;f=c[b+60>>2]|0;nb[c[(c[f>>2]|0)+20>>2]&127](f,d);return b|0}function ql(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0.0,i=0.0;e=+g[a+28>>2];i=+g[a+32>>2];h=+g[a+36>>2];switch(d|0){case 0:{a=0;d=0;f=1065353216;break}case 1:{a=0;d=0;f=-1082130432;break}case 2:{e=i;a=0;d=1065353216;f=0;break}case 3:{e=i;a=0;d=-1082130432;f=0;break}case 4:{e=h;a=1065353216;d=0;f=0;break}case 5:{e=h;a=-1082130432;d=0;f=0;break}default:return}c[b>>2]=f;c[b+4>>2]=d;c[b+8>>2]=a;g[b+12>>2]=-e;return}function rl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=c[d>>2]|0;b=Kb[c[(c[b>>2]|0)+56>>2]&31](b,80)|0;d=c[d>>2]|0;c[b+4>>2]=d;c[b>>2]=5600;a[b+8>>0]=0;c[b+12>>2]=5648;c[b+60>>2]=d;c[b+64>>2]=0;c[b+16>>2]=e;c[b+20>>2]=f;d=zb[c[(c[d>>2]|0)+12>>2]&63](d,c[e+8>>2]|0,c[f+8>>2]|0)|0;c[b+76>>2]=d;f=c[b+60>>2]|0;nb[c[(c[f>>2]|0)+20>>2]&127](f,d);return b|0}function sl(a){a=a|0;var b=0,d=0,e=0,f=0.0,h=0.0;e=c[a+232>>2]|0;if((e|0)<=0)return;a=c[a+240>>2]|0;d=0;do{b=c[a+(d<<2)>>2]|0;switch(c[b+216>>2]|0){case 2:case 5:break;default:if(!(c[b+204>>2]&3)){h=+g[b+368>>2]*+g[b+352>>2];f=+g[b+372>>2]*+g[b+356>>2];g[b+412>>2]=+g[b+364>>2]*+g[b+348>>2]+ +g[b+412>>2];g[b+416>>2]=h+ +g[b+416>>2];g[b+420>>2]=f+ +g[b+420>>2]}}d=d+1|0}while((d|0)!=(e|0));return}function tl(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;b=a[b+16>>0]|0;h=c[(b<<24>>24==0?d:e)+8>>2]|0;b=b<<24>>24?d:e;d=c[b+8>>2]|0;e=c[h+268>>2]|0;a:do if((e|0)>0){g=c[h+276>>2]|0;f=0;while(1){if((c[g+(f<<2)>>2]|0)==(d|0))break;f=f+1|0;if((f|0)>=(e|0))break a}if((f|0)!=(e|0))return}while(0);e=c[h+284>>2]|0;Vb[c[(c[e>>2]|0)+36>>2]&127](e,h,b);return}function ul(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,m=0.0;c=l;l=l+16|0;m=+g[a+12>>2];i=+g[(bH(b)|0)>>2];j=+g[a>>2];k=+g[b+12>>2];h=+g[a+4>>2];d=+g[(HG(b)|0)>>2];e=+g[a+8>>2];f=+g[(IG(b)|0)>>2];g[c+12>>2]=m*i+j*k+h*d-e*f;g[c+8>>2]=m*f+h*k+e*i-j*d;g[c+4>>2]=m*d+e*k+j*f-h*i;g[c>>2]=m*k-j*i-h*f-e*d;pr(a,c+12|0,c+8|0,c+4|0,c);l=c;return a|0}function vl(b){b=b|0;var d=0;d=cs()|0;c[d+8>>2]=0;c[d+12>>2]=1065353216;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;g[d+24>>2]=0.0;g[d+44>>2]=.03999999910593033;c[d+52>>2]=0;c[d+56>>2]=1065353216;c[d+60>>2]=1065353216;c[d+64>>2]=1065353216;g[d+68>>2]=0.0;c[d+72>>2]=-1082130432;c[d+76>>2]=-1082130432;c[d+80>>2]=-1082130432;g[d+84>>2]=0.0;a[d+88>>0]=0;c[d>>2]=7784;c[d+92>>2]=b;c[d+4>>2]=3;fj(d);return d|0}function wl(a,b){a=a|0;b=+b;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0;h=+Db[c[(c[a>>2]|0)+48>>2]&15](a);e=+Db[c[(c[a>>2]|0)+48>>2]&15](a);i=+Db[c[(c[a>>2]|0)+48>>2]&15](a);h=h+ +g[a+28>>2];e=e+ +g[a+32>>2];i=i+ +g[a+36>>2];g[a+44>>2]=b;f=+Db[c[(c[a>>2]|0)+48>>2]&15](a);d=+Db[c[(c[a>>2]|0)+48>>2]&15](a);b=i-+Db[c[(c[a>>2]|0)+48>>2]&15](a);g[a+28>>2]=h-f;g[a+32>>2]=e-d;g[a+36>>2]=b;g[a+40>>2]=0.0;return}function xl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if((c[a+8>>2]|0)<=0)return;g=0;a:while(1){while(1){e=c[a+16>>2]|0;f=e+(g<<4)|0;if(!(Kb[c[(c[b>>2]|0)+8>>2]&31](b,f)|0))break;tb[c[(c[a>>2]|0)+12>>2]&31](a,c[f>>2]|0,c[e+(g<<4)+4>>2]|0,d)|0;c[6213]=(c[6213]|0)+-1;if((g|0)>=(c[a+8>>2]|0)){e=7;break a}}g=g+1|0;if((g|0)>=(c[a+8>>2]|0)){e=7;break}}if((e|0)==7)return}function yl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=c[d>>2]|0;b=Kb[c[(c[b>>2]|0)+56>>2]&31](b,16)|0;d=c[d>>2]|0;c[b+4>>2]=d;c[b>>2]=5668;a[b+8>>0]=0;c[b+12>>2]=0;if(!(zb[c[(c[d>>2]|0)+24>>2]&63](d,c[e+8>>2]|0,c[f+8>>2]|0)|0))return b|0;d=c[b+4>>2]|0;c[b+12>>2]=zb[c[(c[d>>2]|0)+12>>2]&63](d,c[e+8>>2]|0,c[f+8>>2]|0)|0;a[b+8>>0]=1;return b|0}function zl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;i=+Db[c[(c[a>>2]|0)+48>>2]&15](a);h=+Db[c[(c[a>>2]|0)+48>>2]&15](a);f=+Db[c[(c[a>>2]|0)+48>>2]&15](a);k=+g[b+52>>2]-h;j=+g[b+56>>2]-f;g[d>>2]=+g[b+48>>2]-i;g[d+4>>2]=k;g[d+8>>2]=j;g[d+12>>2]=0.0;h=h+ +g[b+52>>2];f=f+ +g[b+56>>2];g[e>>2]=i+ +g[b+48>>2];g[e+4>>2]=h;g[e+8>>2]=f;g[e+12>>2]=0.0;return}function Al(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=c[a+720>>2]|0;h=c[a+732>>2]|0;if((h|0)<=0){d=0;return d|0}e=c[a+740>>2]|0;f=0;while(1){a=c[e+(f*52|0)+8>>2]|0;if((a|0)==(g+(b*104|0)|0)?(c[e+(f*52|0)+12>>2]|0)==(g+(d*104|0)|0):0){a=1;e=8;break}if((a|0)==(g+(d*104|0)|0)?(c[e+(f*52|0)+12>>2]|0)==(g+(b*104|0)|0):0){a=1;e=8;break}f=f+1|0;if((f|0)>=(h|0)){a=0;e=8;break}}if((e|0)==8)return a|0;return 0}function Bl(a){a=a|0;g[a>>2]=.6000000238418579;g[a+4>>2]=1.0;g[a+8>>2]=.30000001192092896;g[a+12>>2]=.01666666753590107;g[a+16>>2]=0.0;g[a+24>>2]=20.0;c[a+20>>2]=10;g[a+32>>2]=.20000000298023224;g[a+36>>2]=.800000011920929;g[a+40>>2]=0.0;g[a+28>>2]=1.0;c[a+44>>2]=1;g[a+48>>2]=-.03999999910593033;g[a+52>>2]=.10000000149011612;g[a+56>>2]=0.0;g[a+60>>2]=.8500000238418579;c[a+64>>2]=260;c[a+68>>2]=2;c[a+72>>2]=128;g[a+76>>2]=100.0;g[a+80>>2]=1000000015047466219876688.0e6;return}function Cl(a){a=a|0;var b=0,d=0,e=0.0,f=0.0;if((c[a+136>>2]|0)<=0)return;b=0;do{d=c[a+144>>2]|0;c[d+(b*284|0)+32>>2]=c[d+(b*284|0)+204>>2];g[d+(b*284|0)+272>>2]=0.0;f=-+g[d+(b*284|0)+56>>2];e=-+g[d+(b*284|0)+60>>2];g[d+(b*284|0)>>2]=-+g[d+(b*284|0)+52>>2];g[d+(b*284|0)+4>>2]=f;g[d+(b*284|0)+8>>2]=e;g[d+(b*284|0)+12>>2]=0.0;g[d+(b*284|0)+268>>2]=1.0;b=b+1|0}while((b|0)<(c[a+136>>2]|0));return}function Dl(b){b=b|0;var d=0;c[b>>2]=5180;d=c[b+284>>2]|0;lb[c[c[d>>2]>>2]&511](d);d=c[b+284>>2]|0;if(d|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b>>2]=5136;d=c[b+276>>2]|0;if(!d){a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;b=b+272|0;c[b>>2]=0;return}if(a[b+280>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+276>>2]=0;a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;b=b+272|0;c[b>>2]=0;return}function El(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;j=+g[d>>2];i=+g[d+4>>2];e=+g[d+8>>2];f=j*+g[b+56>>2]+i*+g[b+60>>2]+e*+g[b+64>>2];h=j*+g[b+72>>2]+i*+g[b+76>>2]+e*+g[b+80>>2];e=j*+g[b+88>>2]+i*+g[b+92>>2]+e*+g[b+96>>2];b=b+56+((f<h?(h<e?2:1):f<e?2:0)<<4)|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function Fl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=c[d>>2]|0;g=Kb[c[(c[g>>2]|0)+56>>2]&31](g,20)|0;h=c[d+4>>2]|0;b=a[b+4>>0]|0;d=c[d>>2]|0;c[g+4>>2]=d;c[g>>2]=6096;a[g+8>>0]=0;c[g+12>>2]=h;a[g+16>>0]=b;if(h|0)return g|0;c[g+12>>2]=zb[c[(c[d>>2]|0)+12>>2]&63](d,c[e+8>>2]|0,c[f+8>>2]|0)|0;a[g+8>>0]=1;return g|0}function Gl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=c[d>>2]|0;b=Kb[c[(c[b>>2]|0)+56>>2]&31](b,44)|0;c[b+4>>2]=c[d>>2];c[b>>2]=6256;a[b+24>>0]=1;c[b+20>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;a[b+28>>0]=1;c[b+32>>2]=c[d+4>>2];a[b+36>>0]=0;c[b+40>>2]=c[(c[f+4>>2]|0)+68>>2];Zg(b,e,f);return b|0}function Hl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=c[d>>2]|0;b=Kb[c[(c[b>>2]|0)+56>>2]&31](b,44)|0;c[b+4>>2]=c[d>>2];c[b>>2]=6256;a[b+24>>0]=1;c[b+20>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;a[b+28>>0]=0;c[b+32>>2]=c[d+4>>2];a[b+36>>0]=0;c[b+40>>2]=c[(c[e+4>>2]|0)+68>>2];Zg(b,e,f);return b|0}function Il(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=l;l=l+48|0;c[f>>2]=7120;c[f+4>>2]=b;c[f+8>>2]=c[d>>2];c[f+8+4>>2]=c[d+4>>2];c[f+8+8>>2]=c[d+8>>2];c[f+8+12>>2]=c[d+12>>2];c[f+24>>2]=c[e>>2];c[f+24+4>>2]=c[e+4>>2];c[f+24+8>>2]=c[e+8>>2];c[f+24+12>>2]=c[e+12>>2];a=c[a+48>>2]|0;Zb[c[(c[a>>2]|0)+8>>2]&127](a,f,d,e);l=f;return}function Jl(a,b,d){a=a|0;b=+b;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;i=+g[a+28>>2];f=+g[a+32>>2];j=+g[a+36>>2];h=+Db[c[(c[a>>2]|0)+48>>2]&15](a);e=+Db[c[(c[a>>2]|0)+48>>2]&15](a);j=(j+ +Db[c[(c[a>>2]|0)+48>>2]&15](a))*2.0;g[d>>2]=b/12.0*((f+e)*2.0*(f+e)*2.0+j*j);g[d+4>>2]=b/12.0*((i+h)*2.0*(i+h)*2.0+j*j);g[d+8>>2]=b/12.0*((i+h)*2.0*(i+h)*2.0+(f+e)*2.0*(f+e)*2.0);g[d+12>>2]=0.0;return}function Kl(a,b){a=a|0;b=+b;var d=0,e=0.0,f=0.0,h=0.0,i=0.0;d=rs()|0;c[d+4>>2]=35;c[d+8>>2]=0;g[d+12>>2]=0.0;c[d>>2]=7140;i=+g[a>>2];h=+g[a+4>>2];f=+g[a+8>>2];a=c[a+12>>2]|0;e=1.0/+G(+(i*i+h*h+f*f));g[d+48>>2]=i*e;g[d+52>>2]=h*e;g[d+56>>2]=f*e;c[d+60>>2]=a;g[d+64>>2]=b;c[d+68>>2]=0;c[d+68+4>>2]=0;c[d+68+8>>2]=0;c[d+68+12>>2]=0;c[d+4>>2]=28;return d|0}function Ll(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;f=c[d>>2]|0;f=Kb[c[(c[f>>2]|0)+56>>2]&31](f,36)|0;g=c[d+4>>2]|0;i=c[b+12>>2]|0;h=c[b+8>>2]|0;e=c[b+16>>2]|0;b=c[b+20>>2]|0;c[f+4>>2]=c[d>>2];c[f>>2]=6144;c[f+8>>2]=i;c[f+12>>2]=h;a[f+16>>0]=0;c[f+20>>2]=g;a[f+24>>0]=0;c[f+28>>2]=e;c[f+32>>2]=b;return f|0}function Ml(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=l;l=l+32|0;Ip(a,+g[b>>2],+g[b+4>>2],+g[b+8>>2]);zp(d,+g[b>>2],+g[b+4>>2],+g[b+8>>2],+g[a+348>>2],+g[a+352>>2],+g[a+356>>2]);Ko(d+16|0,+g[c>>2],+g[c+4>>2],+g[c+8>>2],+g[d>>2],+g[d+4>>2],+g[d+8>>2]);Np(a,+g[d+16>>2],+g[d+16+4>>2],+g[d+16+8>>2]);l=d;return}function Nl(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+64|0;c[d>>2]=1065353216;c[d+4>>2]=0;c[d+4+4>>2]=0;c[d+4+8>>2]=0;c[d+4+12>>2]=0;c[d+20>>2]=1065353216;c[d+24>>2]=0;c[d+24+4>>2]=0;c[d+24+8>>2]=0;c[d+24+12>>2]=0;c[d+40>>2]=1065353216;c[d+44>>2]=0;c[d+48>>2]=c[b>>2];c[d+48+4>>2]=c[b+4>>2];c[d+48+8>>2]=c[b+8>>2];c[d+48+12>>2]=c[b+12>>2];Ad(a,d);l=d;return}function Ol(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=+d;e=+e;var f=0,h=0;f=l;l=l+16|0;h=cF(b,0)|0;g[f+8>>2]=+lx(+g[h>>2],+g[h+4>>2],+g[h+8>>2],c,d,e);h=cF(b,1)|0;g[f+4>>2]=+lx(+g[h>>2],+g[h+4>>2],+g[h+8>>2],c,d,e);b=cF(b,2)|0;g[f>>2]=+lx(+g[b>>2],+g[b+4>>2],+g[b+8>>2],c,d,e);as(a,f+8|0,f+4|0,f);l=f;return}function Pl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;if((d|0)==0?1:(c[d+236>>2]&2|0)==0){d=1;return d|0}g=c[b+488>>2]|0;if((g|0)<=0){d=1;return d|0}b=c[b+496>>2]|0;f=0;while(1){e=c[b+(f<<2)>>2]|0;if(a[e+20>>0]|0){if((c[e+28>>2]|0)==(d|0)){b=0;e=8;break}if((c[e+32>>2]|0)==(d|0)){b=0;e=8;break}}f=f+1|0;if((f|0)>=(g|0)){b=1;e=8;break}}if((e|0)==8)return b|0;return 0}function Ql(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;j=+g[a+28>>2];h=+g[a+32>>2];e=+g[a+36>>2];i=+Db[c[(c[a>>2]|0)+48>>2]&15](a);f=+Db[c[(c[a>>2]|0)+48>>2]&15](a);e=e+ +Db[c[(c[a>>2]|0)+48>>2]&15](a);g[d>>2]=+(b&1^1|0)*(j+i)-+(b&1|0)*(j+i);g[d+4>>2]=+(b>>>1&1^1|0)*(h+f)-+(b>>>1&1|0)*(h+f);g[d+8>>2]=+(b>>>2&1^1|0)*e-+(b>>>2&1|0)*e;g[d+12>>2]=0.0;return}function Rl(b,d){b=b|0;d=d|0;if((c[b+16>>2]|0)!=(0-(c[b+76>>2]|0)|0))return;ml(b+4|0);ml(b+64|0);a[b+193>>0]=0;a[b+194>>0]=1;c[b+144>>2]=0;c[b+164>>2]=0;c[b+148>>2]=1;c[b+152>>2]=0;c[b+156>>2]=10;c[b+160>>2]=1;c[b+124>>2]=0;c[b+124+4>>2]=0;c[b+124+8>>2]=0;c[b+168>>2]=0;c[b+168+4>>2]=0;c[b+168+8>>2]=0;c[b+168+12>>2]=0;c[b+168+16>>2]=0;c[b+168+20>>2]=0;return}function Sl(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=+d;e=+e;var f=0,h=0,i=0,j=0;f=l;l=l+16|0;j=cF(b,0)|0;i=cF(b,1)|0;h=cF(b,2)|0;Am(f,c,d,e,+g[j>>2],+g[j+4>>2],+g[j+8>>2],+g[i>>2],+g[i+4>>2],+g[i+8>>2],+g[h>>2],+g[h+4>>2],+g[h+8>>2]);yp(a,+g[f>>2],+g[f+4>>2],+g[f+8>>2],+g[b+48>>2],+g[b+52>>2],+g[b+56>>2]);l=f;return}function Tl(a,e,f){a=a|0;e=e|0;f=f|0;var h=0.0;switch(c[a+96>>2]|0){case 0:{f=(S(c[a+64>>2]|0,f)|0)+e|0;h=+g[(c[a+92>>2]|0)+(f<<2)>>2];return +h}case 5:{f=(S(c[a+64>>2]|0,f)|0)+e|0;h=+g[a+88>>2]*+(d[(c[a+92>>2]|0)+f>>0]|0);return +h}case 3:{f=(S(c[a+64>>2]|0,f)|0)+e|0;h=+(b[(c[a+92>>2]|0)+(f<<1)>>1]|0)*+g[a+88>>2];return +h}default:{h=0.0;return +h}}return 0.0}function Ul(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;i=+g[b+28>>2];j=+g[b+32>>2];e=+g[b+36>>2];h=+Db[c[(c[b>>2]|0)+48>>2]&15](b);f=+Db[c[(c[b>>2]|0)+48>>2]&15](b);e=e+ +Db[c[(c[b>>2]|0)+48>>2]&15](b);f=+g[d+4>>2]>=0.0?j+f:-(j+f);e=+g[d+8>>2]>=0.0?e:-e;g[a>>2]=+g[d>>2]>=0.0?i+h:-(i+h);g[a+4>>2]=f;g[a+8>>2]=e;g[a+12>>2]=0.0;return}function Vl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0;if((d|0)<=0)return;e=0;do{i=+g[a+28>>2];h=+g[a+32>>2];h=+g[b+(e<<4)+4>>2]>=0.0?h:-h;f=+g[a+36>>2];f=+g[b+(e<<4)+8>>2]>=0.0?f:-f;g[c+(e<<4)>>2]=+g[b+(e<<4)>>2]>=0.0?i:-i;g[c+(e<<4)+4>>2]=h;g[c+(e<<4)+8>>2]=f;g[c+(e<<4)+12>>2]=0.0;e=e+1|0}while((e|0)!=(d|0));return}function Wl(b){b=b|0;var d=0,e=0;c[b>>2]=6384;d=c[b+64>>2]|0;if(d|0?(Vh(d),e=c[b+64>>2]|0,e|0):0){c[6486]=(c[6486]|0)+1;Uc(c[e+-4>>2]|0)}d=c[b+24>>2]|0;if(!d){a[b+28>>0]=1;c[b+24>>2]=0;c[b+16>>2]=0;b=b+20|0;c[b>>2]=0;return}if(a[b+28>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+24>>2]=0;a[b+28>>0]=1;c[b+24>>2]=0;c[b+16>>2]=0;b=b+20|0;c[b>>2]=0;return}function Xl(a,b,d,e,f,g,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;a=c[a+32>>2]|0;c[d>>2]=c[a+(k<<5)+12>>2];c[b>>2]=c[a+(k<<5)+16>>2];c[e>>2]=c[a+(k<<5)+28>>2];c[f>>2]=c[a+(k<<5)+20>>2];c[i>>2]=c[a+(k<<5)>>2];c[g>>2]=c[a+(k<<5)+4>>2];c[h>>2]=c[a+(k<<5)+8>>2];c[j>>2]=c[a+(k<<5)+24>>2];return}function Yl(b){b=b|0;var d=0,e=0;c[b>>2]=7348;d=c[b+104>>2]|0;if(d|0){if(a[b+108>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+104>>2]=0}a[b+108>>0]=1;c[b+104>>2]=0;c[b+96>>2]=0;c[b+100>>2]=0;c[b>>2]=7216;d=c[b+52>>2]|0;if(d|0?(lb[c[c[d>>2]>>2]&511](d),e=c[b+52>>2]|0,e|0):0){c[6486]=(c[6486]|0)+1;Uc(c[e+-4>>2]|0)}c[6486]=(c[6486]|0)+1;Uc(c[b+-4>>2]|0);return}function Zl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;switch(b|0){case 0:{b=0;a=0;e=1065353216;break}case 1:{b=0;a=0;e=-1082130432;break}case 2:{b=0;a=1065353216;e=0;break}case 3:{b=0;a=-1082130432;e=0;break}case 4:{b=1065353216;a=0;e=0;break}case 5:{b=-1082130432;a=0;e=0;break}default:return}c[d>>2]=e;c[d+4>>2]=a;c[d+8>>2]=b;g[d+12>>2]=0.0;return}function _l(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;c[b+4>>2]=c[d>>2];c[b+4+4>>2]=c[d+4>>2];c[b+4+8>>2]=c[d+8>>2];c[b+4+12>>2]=c[d+12>>2];c[b+20>>2]=c[e>>2];c[b+20+4>>2]=c[e+4>>2];c[b+20+8>>2]=c[e+8>>2];c[b+20+12>>2]=c[e+12>>2];g[b+36>>2]=f;a[b+40>>0]=1;return}function $l(a,b){a=a|0;b=b|0;var c=0.0,d=0;d=l;l=l+32|0;c=+g[b+12>>2];if(1.0-c*c<1.1920928955078125e-06){g[d+20>>2]=1.0;g[d+16>>2]=0.0;g[d+12>>2]=0.0;as(a,d+20|0,d+16|0,d+12|0);l=d;return}else{c=1.0/+PG(1.0-c*c);g[d+8>>2]=+g[b>>2]*c;g[d+4>>2]=+g[b+4>>2]*c;g[d>>2]=+g[b+8>>2]*c;as(a,d+8|0,d+4|0,d);l=d;return}}function am(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;d=l;l=l+16|0;c[d>>2]=9068;c[d+4>>2]=e;ne(a+4|0,c[a+4>>2]|0,b,e+4|0,e+20|0,+g[e+32>>2],f,h,d);ne(a+64|0,c[a+64>>2]|0,b,e+4|0,e+20|0,+g[e+32>>2],f,h,d);l=d;return}function bm(b){b=b|0;var d=0;c[b>>2]=7348;d=c[b+104>>2]|0;if(d|0){if(a[b+108>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+104>>2]=0}a[b+108>>0]=1;c[b+104>>2]=0;c[b+96>>2]=0;c[b+100>>2]=0;c[b>>2]=7216;d=c[b+52>>2]|0;if(!d)return;lb[c[c[d>>2]>>2]&511](d);d=c[b+52>>2]|0;if(!d)return;c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0);return}function cm(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[j>>3]=a;d=c[j>>2]|0;e=c[j+4>>2]|0;f=Jt(d|0,e|0,52)|0;switch(f&2047){case 0:{if(a!=0.0){a=+cm(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=(f&2047)+-1022;c[j>>2]=d;c[j+4>>2]=e&-2146435073|1071644672;a=+h[j>>3]}}return +a}function dm(a,b){a=+a;b=+b;var d=0;d=Is()|0;c[d+8>>2]=0;c[d+12>>2]=1065353216;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;g[d+24>>2]=0.0;g[d+44>>2]=.03999999910593033;g[d+56>>2]=a;g[d+60>>2]=b;c[d+4>>2]=11;g[d+52>>2]=a/+G(+(a*a+b*b));c[d>>2]=6564;c[d+64>>2]=0;c[d+68>>2]=2;c[d+72>>2]=1;g[d+28>>2]=a;g[d+36>>2]=b;g[d+32>>2]=a;return d|0}function em(a,b){a=+a;b=+b;var d=0;d=Is()|0;c[d+8>>2]=0;c[d+12>>2]=1065353216;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;g[d+24>>2]=0.0;g[d+44>>2]=.03999999910593033;g[d+56>>2]=a;g[d+60>>2]=b;c[d+4>>2]=11;g[d+52>>2]=a/+G(+(a*a+b*b));c[d>>2]=6664;c[d+64>>2]=1;c[d+68>>2]=0;c[d+72>>2]=2;g[d+32>>2]=a;g[d+28>>2]=b;g[d+36>>2]=a;return d|0}function fm(a,b){a=+a;b=+b;var d=0;d=Is()|0;c[d+8>>2]=0;c[d+12>>2]=1065353216;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;g[d+24>>2]=0.0;g[d+44>>2]=.03999999910593033;c[d>>2]=6464;g[d+56>>2]=a;g[d+60>>2]=b;c[d+4>>2]=11;c[d+64>>2]=0;c[d+68>>2]=1;c[d+72>>2]=2;g[d+28>>2]=a;g[d+32>>2]=b;g[d+36>>2]=a;g[d+52>>2]=a/+G(+(a*a+b*b));return d|0}function gm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0;e=l;l=l+16|0;c[e>>2]=-1;c[e+4>>2]=c[a+16>>2];if(!(c[b+4>>2]|0))c[b+4>>2]=e;g=c[a+12>>2]|0;f=+Lb[c[(c[g>>2]|0)+12>>2]&15](g,b,d);c[a+4>>2]=c[(c[a+12>>2]|0)+4>>2];l=e;return +f}function hm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=bH(c[a+4>>2]|0)|0;if((e|0)>(b|0)){c[a+4>>2]=b;return}if((e|0)<(b|0))yn(a,b);while(1){if((e|0)>=(b|0))break;f=(c[a+12>>2]|0)+(e*104|0)|0;g=d;h=f+104|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));e=e+1|0}c[a+4>>2]=b;return}function im(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;c[a+348>>2]=c[b>>2];c[a+348+4>>2]=c[b+4>>2];c[a+348+8>>2]=c[b+8>>2];c[a+348+12>>2]=c[b+12>>2];bq(d,+g[a+348>>2],+g[a+352>>2],+g[a+356>>2],+g[a+344>>2]);c[a+560>>2]=c[d>>2];c[a+560+4>>2]=c[d+4>>2];c[a+560+8>>2]=c[d+8>>2];c[a+560+12>>2]=c[d+12>>2];l=d;return}function jm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=c[a+268>>2]|0;if((g|0)<=0)return;b=c[b>>2]|0;f=c[a+276>>2]|0;d=0;while(1){e=f+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(g|0)){h=7;break}}if((h|0)==7)return;if((d|0)>=(g|0))return;c[e>>2]=c[f+(g+-1<<2)>>2];c[a+268>>2]=g+-1;return}function km(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0,f=0.0,h=0.0,i=0.0;e=l;l=l+16|0;f=+RG(b*.5);b=+QG(b*.5);h=+RG(c*.5);c=+QG(c*.5);i=+RG(d*.5);d=+QG(d*.5);g[e+12>>2]=d*h*f-i*c*b;g[e+8>>2]=i*c*f+d*h*b;g[e+4>>2]=i*h*b-d*c*f;g[e>>2]=i*h*f+d*c*b;pr(a,e+12|0,e+8|0,e+4|0,e);l=e;return}function lm(a){a=a|0;var b=0;b=l;l=l+32|0;g[a>>2]=1.2000000476837158;g[a+4>>2]=0.0;g[a+8>>2]=0.0;g[a+12>>2]=1.0e3;g[b+20>>2]=0.0;g[b+16>>2]=0.0;g[b+12>>2]=0.0;as(a+16|0,b+20|0,b+16|0,b+12|0);c[a+32>>2]=0;c[a+36>>2]=0;g[b+8>>2]=0.0;g[b+4>>2]=-10.0;g[b>>2]=0.0;as(a+40|0,b+8|0,b+4|0,b);NA(a+56|0);l=b;return}function mm(b,e){b=b|0;e=e|0;var f=0,g=0;f=0;while(1){if((d[20013+f>>0]|0)==(b|0)){g=2;break}f=f+1|0;if((f|0)==87){f=87;b=20101;g=5;break}}if((g|0)==2)if(!f)f=20101;else{b=20101;g=5}if((g|0)==5)while(1){do{g=b;b=b+1|0}while((a[g>>0]|0)!=0);f=f+-1|0;if(!f){f=b;break}else g=5}return nF(f,c[e+20>>2]|0)|0}function nm(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=+h;c[a>>2]=b;c[a+4>>2]=d;c[a+8>>2]=c[e>>2];c[a+8+4>>2]=c[e+4>>2];c[a+8+8>>2]=c[e+8>>2];c[a+8+12>>2]=c[e+12>>2];c[a+24>>2]=c[f>>2];c[a+24+4>>2]=c[f+4>>2];c[a+24+8>>2]=c[f+8>>2];c[a+24+12>>2]=c[f+12>>2];g[a+40>>2]=h;return}function om(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[a+280>>2]|0;if((f|0)<=0)return;g=c[a+288>>2]|0;d=0;while(1){e=g+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(f|0)){h=7;break}}if((h|0)==7)return;if((d|0)>=(f|0))return;c[e>>2]=c[g+(f+-1<<2)>>2];c[(c[a+288>>2]|0)+(f+-1<<2)>>2]=b;c[a+280>>2]=f+-1;return}function pm(){var b=0;b=l;l=l+48|0;if(a[22552]|0){l=b;return}if(!(qy(22552)|0)){l=b;return}g[b+32>>2]=1.0;g[b+28>>2]=0.0;g[b+24>>2]=0.0;g[b+20>>2]=0.0;g[b+16>>2]=1.0;g[b+12>>2]=0.0;g[b+8>>2]=0.0;g[b+4>>2]=0.0;g[b>>2]=1.0;eq(22956,b+32|0,b+28|0,b+24|0,b+20|0,b+16|0,b+12|0,b+8|0,b+4|0,b);l=b;return}function qm(){var b=0,e=0,f=0;f=l;l=l+16|0;a[f>>0]=10;b=c[2386]|0;if(!b)if(!(jo(9528)|0)){b=c[2386]|0;e=4}else b=-1;else e=4;do if((e|0)==4){e=c[2387]|0;if(!(e>>>0>=b>>>0|(a[9603]|0)==10)){c[2387]=e+1;a[e>>0]=10;b=10;break}if((zb[c[9564>>2]&63](9528,f,1)|0)==1)b=d[f>>0]|0;else b=-1}while(0);l=f;return b|0}function rm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0;e=l;l=l+16|0;c[e>>2]=-1;c[e+4>>2]=c[a+24>>2];if(!(c[b+4>>2]|0))c[b+4>>2]=e;g=c[a+20>>2]|0;f=+Lb[c[(c[g>>2]|0)+12>>2]&15](g,b,d);c[a+4>>2]=c[(c[a+20>>2]|0)+4>>2];l=e;return +f}function sm(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0.0;d=l;l=l+16|0;e=+kz(+g[b>>2],+g[b+4>>2],+g[b+8>>2]);e=+QG(c*.5)/e;g[d+12>>2]=+g[(bH(b)|0)>>2]*e;g[d+8>>2]=+g[(IG(b)|0)>>2]*e;g[d+4>>2]=+g[(HG(b)|0)>>2]*e;g[d>>2]=+RG(c*.5);pr(a,d+12|0,d+8|0,d+4|0,d);l=d;return}function tm(a,b){a=a|0;b=b|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+16+4>>2]=c[b+16+4>>2];c[a+16+8>>2]=c[b+16+8>>2];c[a+16+12>>2]=c[b+16+12>>2];c[a+32>>2]=c[b+32>>2];c[a+32+4>>2]=c[b+32+4>>2];c[a+32+8>>2]=c[b+32+8>>2];c[a+32+12>>2]=c[b+32+12>>2];return}function um(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;a:do switch(b|0){case 2:case 1:{if(c>>>0<3){d=+g[a+600>>2];break a}if((c+-3|0)>>>0<3)d=+g[a+432>>2];else d=0.0;break}case 4:case 3:{if(c>>>0<3){d=+g[a+596>>2];break a}if((c+-3|0)>>>0<3)d=+g[a+604>>2];else d=0.0;break}default:d=0.0}while(0);return +d}function vm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=c[d>>2]|0;b=Kb[c[(c[b>>2]|0)+56>>2]&31](b,16)|0;d=c[d>>2]|0;c[b+4>>2]=d;c[b>>2]=9348;a[b+8>>0]=0;c[b+12>>2]=0;c[b+12>>2]=zb[c[(c[d>>2]|0)+12>>2]&63](d,c[e+8>>2]|0,c[f+8>>2]|0)|0;a[b+8>>0]=1;return b|0}function wm(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295)while(1){e=Fr(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e&255|48;e=b;b=Tz(b|0,c|0,10,0)|0;if(!(c>>>0>9|(c|0)==9&e>>>0>4294967295))break;else c=D}if(b)while(1){d=d+-1|0;a[d>>0]=(b>>>0)%10|0|48;if(b>>>0<10)break;else b=(b>>>0)/10|0}return d|0}function xm(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+56>>2]|0;if(!d)return;e=pb[c[(c[d>>2]|0)+8>>2]&127](d)|0;e=zb[c[(c[b>>2]|0)+16>>2]&63](b,e,1)|0;d=c[a+56>>2]|0;d=zb[c[(c[d>>2]|0)+12>>2]&63](d,c[e+8>>2]|0,b)|0;jb[c[(c[b>>2]|0)+20>>2]&31](b,e,d,1346456916,c[a+56>>2]|0);return}function ym(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;switch(b|0){case 2:case 1:if(e>>>0<3){g[a+600>>2]=d;c[a+592>>2]=c[a+592>>2]|2;return}else{g[a+432>>2]=d;return}case 4:case 3:if(e>>>0<3){g[a+596>>2]=d;c[a+592>>2]=c[a+592>>2]|1;return}else{g[a+604>>2]=d;c[a+592>>2]=c[a+592>>2]|4;return}default:return}}function zm(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+52>>2]|0;if(!d)return;e=pb[c[(c[d>>2]|0)+12>>2]&127](d)|0;e=zb[c[(c[b>>2]|0)+16>>2]&63](b,e,1)|0;d=c[a+52>>2]|0;d=zb[c[(c[d>>2]|0)+16>>2]&63](d,c[e+8>>2]|0,b)|0;jb[c[(c[b>>2]|0)+20>>2]&31](b,e,d,1213612625,c[a+52>>2]|0);return}function Am(a,b,c,d,e,f,h,i,j,k,m,n,o){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;h=+h;i=+i;j=+j;k=+k;m=+m;n=+n;o=+o;var p=0;p=l;l=l+16|0;g[p+8>>2]=+lx(b,c,d,e,f,h);g[p+4>>2]=+lx(b,c,d,i,j,k);g[p>>2]=+lx(b,c,d,m,n,o);as(a,p+8|0,p+4|0,p);l=p;return}function Bm(a,b,c){a=a|0;b=b|0;c=+c;var d=0.0,e=0.0,f=0.0,h=0.0;e=+g[a+28>>2];f=+g[a+32>>2];h=+g[a+36>>2];d=+g[b>>2];if(!(d<=e+c)){b=0;return b|0}if(!(d>=-e-c)){b=0;return b|0}d=+g[b+4>>2];if(!(d<=f+c)){b=0;return b|0}if(!(d>=-f-c)){b=0;return b|0}d=+g[b+8>>2];if(!(d<=h+c)){b=0;return b|0}b=d>=-h-c;return b|0}function Cm(a,b,d){a=a|0;b=b|0;d=d|0;pv(a);c[a>>2]=3076;c[a+12>>2]=c[b>>2];c[a+12+4>>2]=c[b+4>>2];c[a+12+8>>2]=c[b+8>>2];c[a+12+12>>2]=c[b+12>>2];c[a+28>>2]=c[d>>2];c[a+28+4>>2]=c[d+4>>2];c[a+28+8>>2]=c[d+8>>2];c[a+28+12>>2]=c[d+12>>2];c[a+76>>2]=0;return}function Dm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;if(!(+g[b+36>>2]>f))return;a[b+40>>0]=1;c[b+4>>2]=c[d>>2];c[b+4+4>>2]=c[d+4>>2];c[b+4+8>>2]=c[d+8>>2];c[b+4+12>>2]=c[d+12>>2];c[b+20>>2]=c[e>>2];c[b+20+4>>2]=c[e+4>>2];c[b+20+8>>2]=c[e+8>>2];c[b+20+12>>2]=c[e+12>>2];g[b+36>>2]=f;return}function Em(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;d=+g[b+32>>2];f=+g[b+28>>2];j=+g[c+4>>2];e=+g[c+8>>2];i=+G(+(j*j+e*e));if(i!=0.0){h=e*(d/i);e=+g[c>>2]<0.0?-f:f;d=j*(d/i)}else{h=0.0;e=+g[c>>2]<0.0?-f:f}g[a+4>>2]=d;g[a>>2]=e;g[a+8>>2]=h;return}function Fm(a,b){a=a|0;b=+b;var c=0,d=0.0;c=l;l=l+16|0;if(!(+g[a+68>>2]>0.0)){l=c;return}d=-+g[a+92>>2];b=-+g[a+96>>2];g[c>>2]=-+g[a+88>>2];g[c+4>>2]=d;g[c+8>>2]=b;g[c+12>>2]=0.0;Oi(a+4|0,c,a+164|0);Oi(a+16|0,a+88|0,a+180|0);l=c;return}function Gm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0,g=0;if((d|0)>-1|(d|0)==-1&c>>>0>4294967295){e=(+(c>>>0)+4294967296.0*+(d>>>0))*18446744073709551616.0+(+(a>>>0)+4294967296.0*+(b>>>0));return +e}else{g=au(0,0,a|0,b|0)|0;f=D;d=Gv((a|0)==0&(b|0)==0&1|0,0,~c|0,~d|0)|0;e=-+Gm(g,f,d,D);return +e}return 0.0}function Hm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;d=+g[b+28>>2];h=+g[b+36>>2];j=+g[c>>2];f=+g[c+4>>2];i=+G(+(j*j+f*f));e=+g[c+8>>2];if(i!=0.0){f=f*(d/i);e=e<0.0?-h:h;d=j*(d/i)}else{f=0.0;e=e<0.0?-h:h}g[a>>2]=d;g[a+8>>2]=e;g[a+4>>2]=f;return}function Im(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;d=+g[b+28>>2];h=+g[b+32>>2];j=+g[c>>2];f=+g[c+8>>2];i=+G(+(j*j+f*f));e=+g[c+4>>2];if(i!=0.0){f=f*(d/i);e=e<0.0?-h:h;d=j*(d/i)}else{f=0.0;e=e<0.0?-h:h}g[a>>2]=d;g[a+4>>2]=e;g[a+8>>2]=f;return}function Jm(a){a=a|0;var b=0.0,d=0.0,e=0.0;d=+g[(c[a+28>>2]|0)+344>>2];e=+g[(c[a+32>>2]|0)+344>>2];e=e==0.0?1.0:d/(d+e);d=e*+g[a+1116>>2]+(1.0-e)*+g[a+1180>>2];b=e*+g[a+1120>>2]+(1.0-e)*+g[a+1184>>2];g[a+1284>>2]=+g[a+1112>>2]*e+(1.0-e)*+g[a+1176>>2];g[a+1288>>2]=d;g[a+1292>>2]=b;g[a+1296>>2]=0.0;return}function Km(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;if(b[a+56>>1]|0)return;b[a+64>>1]=1;d=b[a+58>>1]|0;g=c[a+60>>2]|0;if((d&65535)>1){e=1;d=1;while(1){b[g+(e<<6)+48>>1]=e+1;f=d+1<<16>>16;d=b[a+58>>1]|0;if((f&65535)<(d&65535)){e=f&65535;d=f}else break}}b[g+((d&65535)+-1<<6)+48>>1]=0;return}function Lm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=c[b+16>>2]|0;do if(f){if((f|0)!=(d|0)){c[b+36>>2]=(c[b+36>>2]|0)+1;c[b+24>>2]=2;a[b+54>>0]=1;break}if((c[b+24>>2]|0)==2)c[b+24>>2]=e}else{c[b+16>>2]=d;c[b+24>>2]=e;c[b+36>>2]=1}while(0);return}function Mm(a,d){a=a|0;d=d|0;var e=0,f=0;e=c[d>>2]|0;f=c[a+80>>2]|0;if((e|0)==(f|0)){a=0;return a|0}if(!((b[a+10>>1]&b[d+4>>1])<<16>>16)){a=0;return a|0}if(!((b[d+6>>1]&b[a+8>>1])<<16>>16)){a=0;return a|0}a=c[a+92>>2]|0;a=zb[c[(c[a>>2]|0)+28>>2]&63](a,f,e)|0;return a|0}function Nm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[a+8>>2]|0;a=c[f+8>>2]|0;if((a|0)<=0)return;e=0;do{d=c[(c[f+16>>2]|0)+(e*12|0)+8>>2]|0;if(d){nb[c[(c[d>>2]|0)+16>>2]&127](d,b);a=c[f+8>>2]|0}e=e+1|0}while((e|0)<(a|0));return}function Om(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;switch(e|0){case 5:case -1:break;default:return}switch(b|0){case 2:{g[a+760>>2]=d;c[a+748>>2]=c[a+748>>2]|2;return}case 4:{g[a+756>>2]=d;c[a+748>>2]=c[a+748>>2]|1;return}case 3:{g[a+752>>2]=d;c[a+748>>2]=c[a+748>>2]|4;return}default:return}}function Pm(a,b,d){a=a|0;b=b|0;d=d|0;Ts(a);c[a>>2]=2904;c[a+20>>2]=c[b>>2];c[a+20+4>>2]=c[b+4>>2];c[a+20+8>>2]=c[b+8>>2];c[a+20+12>>2]=c[b+12>>2];c[a+36>>2]=c[d>>2];c[a+36+4>>2]=c[d+4>>2];c[a+36+8>>2]=c[d+8>>2];c[a+36+12>>2]=c[d+12>>2];return}function Qm(){var b=0,d=0,e=0;do if((c[2401]|0)>=0?(fH()|0)!=0:0){if((a[9603]|0)!=10?(d=c[2387]|0,d>>>0<(c[2386]|0)>>>0):0){c[2387]=d+1;a[d>>0]=10;break}qm()|0}else e=3;while(0);do if((e|0)==3){if((a[9603]|0)!=10?(b=c[2387]|0,b>>>0<(c[2386]|0)>>>0):0){c[2387]=b+1;a[b>>0]=10;break}qm()|0}while(0);return}function Rm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[d>>2]|0;a=$w(c[b>>2]|0)|0;f=$w(f)|0;if(a|0)Zb[c[(c[a>>2]|0)+32>>2]&127](a,d,e,b);if(!f)return 0;Zb[c[(c[f>>2]|0)+32>>2]&127](f,b,e,d);return 0}function Sm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+48|0;f=c[b+192>>2]|0;Zb[c[(c[f>>2]|0)+8>>2]&127](f,b+4|0,e+32|0,e+16|0);c[e>>2]=6048;c[e+4>>2]=b;c[e+8>>2]=a;c[e+12>>2]=d;a=c[a+68>>2]|0;Zb[c[(c[a>>2]|0)+28>>2]&127](a,e+32|0,e+16|0,e);l=e;return}function Tm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=l;l=l+256|0;if((c|0)>(d|0)&(e&73728|0)==0){Lk(f|0,b|0,((c-d|0)>>>0<256?c-d|0:256)|0)|0;if((c-d|0)>>>0>255){b=c-d|0;do{Cy(a,f,256);b=b+-256|0}while(b>>>0>255);b=c-d&255}else b=c-d|0;Cy(a,f,b)}l=f;return}function Um(a,b,d){a=a|0;b=b|0;d=d|0;Zh(a,b,d)|0;c[b+52>>2]=c[a+300>>2];c[b+56>>2]=c[a+304>>2];c[b+60>>2]=c[a+308>>2];c[b+64>>2]=c[a+312>>2];c[b+68>>2]=c[a+316>>2];c[b+72>>2]=c[a+320>>2];c[b+76>>2]=c[a+324>>2];c[b+80>>2]=c[a+328>>2];return 12657}function Vm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+112|0;d=bH(c[b+4>>2]|0)|0;e=f;g=e+104|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(g|0));TE(f);hm(a,d,f);Un(b,d,c[a+12>>2]|0);l=f;return}function Wm(a,b,d){a=a|0;b=b|0;d=d|0;a:do switch(c[b+216>>2]|0){case 2:case 5:{switch(c[d+216>>2]|0){case 2:case 5:{b=0;break}default:break a}return b|0}default:{}}while(0);if(!(c[b+256>>2]|0)){a=1;return a|0}a=Kb[c[c[b>>2]>>2]&31](b,d)|0;return a|0}function Xm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=bH(b)|0;i=bH(b+16|0)|0;h=bH(b+32|0)|0;g=IG(b)|0;f=IG(b+16|0)|0;e=IG(b+32|0)|0;d=HG(b)|0;c=HG(b+16|0)|0;eq(a,j,i,h,g,f,e,d,c,HG(b+32|0)|0);return}function Ym(a,b){a=a|0;b=b|0;var d=0;if(c[b+40>>2]|0){Ym(a,c[b+36>>2]|0);Ym(a,c[b+40>>2]|0)}if((c[a>>2]|0)==(b|0))c[a>>2]=0;d=c[a+4>>2]|0;if(!d){c[a+4>>2]=b;return}c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0);c[a+4>>2]=b;return}function Zm(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=c[a+32>>2]|0;c[g>>2]=(c[g>>2]|0)+1;jg(a,Cd(a,b,f)|0);jg(a,Cd(a,d,f)|0);jg(a,Cd(a,e,f)|0);return}function _m(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(LB(a,c[b+8>>2]|0)|0)_k(b,d,e,f);else{a=c[a+8>>2]|0;Bb[c[(c[a>>2]|0)+20>>2]&7](a,b,d,e,f,g)}return}function $m(a){a=a|0;var b=0;b=l;l=l+48|0;g[b+32>>2]=1.0;g[b+28>>2]=0.0;g[b+24>>2]=0.0;g[b+20>>2]=0.0;g[b+16>>2]=1.0;g[b+12>>2]=0.0;g[b+8>>2]=0.0;g[b+4>>2]=0.0;g[b>>2]=1.0;To(a,b+32|0,b+28|0,b+24|0,b+20|0,b+16|0,b+12|0,b+8|0,b+4|0,b);l=b;return}function an(a,b){a=a|0;b=b|0;var d=0,e=0;c[a+68>>2]=(c[a+68>>2]|0)+1;d=c[a+16>>2]|0;if((d|0)>0)do{e=d;d=d+-1|0;if((c[(c[a+24>>2]|0)+(d*80|0)+64>>2]|0)==(b|0))je(a,d)}while((e|0)>1);lb[c[(c[a>>2]|0)+68>>2]&511](a);return}function bn(a,b){a=+a;b=+b;var d=0;d=Ns()|0;c[d+8>>2]=0;c[d+12>>2]=1065353216;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;g[d+24>>2]=0.0;g[d+44>>2]=.03999999910593033;c[d+4>>2]=10;c[d>>2]=7684;c[d+52>>2]=2;g[d+28>>2]=a;g[d+32>>2]=a;g[d+36>>2]=b*.5;g[d+40>>2]=0.0;return d|0}function cn(a,b){a=+a;b=+b;var d=0;d=Ns()|0;c[d+8>>2]=0;c[d+12>>2]=1065353216;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;g[d+24>>2]=0.0;g[d+44>>2]=.03999999910593033;c[d+4>>2]=10;c[d>>2]=7584;c[d+52>>2]=0;g[d+28>>2]=b*.5;g[d+32>>2]=a;g[d+36>>2]=a;g[d+40>>2]=0.0;return d|0}function dn(a,b){a=+a;b=+b;var d=0;d=Ns()|0;c[d+8>>2]=0;c[d+12>>2]=1065353216;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;g[d+24>>2]=0.0;g[d+44>>2]=.03999999910593033;c[d>>2]=7484;c[d+4>>2]=10;c[d+52>>2]=1;g[d+28>>2]=a;g[d+32>>2]=b*.5;g[d+36>>2]=a;g[d+40>>2]=0.0;return d|0}function en(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;a:do switch(c|0){case 5:case -1:switch(b|0){case 2:{d=+g[a+760>>2];break a}case 4:{d=+g[a+756>>2];break a}case 3:{d=+g[a+752>>2];break a}default:{d=0.0;break a}}default:d=0.0}while(0);return +d}function fn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=l;l=l+16|0;c[f>>2]=a;c[f+4>>2]=e;a=c[a+72+((c[(c[b+4>>2]|0)+4>>2]|0)*144|0)+(c[(c[d+4>>2]|0)+4>>2]<<2)>>2]|0;a=tb[c[(c[a>>2]|0)+8>>2]&31](a,f,b,d)|0;l=f;return a|0}function gn(a,b){a=a|0;b=b|0;var d=0;a=c[a+64>>2]|0;if(!b)return;d=c[a+16>>2]|0;if(d>>>0<=b>>>0?(d+(S(c[a>>2]|0,c[a+4>>2]|0)|0)|0)>>>0>b>>>0:0){c[b>>2]=c[a+12>>2];c[a+12>>2]=b;c[a+8>>2]=(c[a+8>>2]|0)+1;return}c[6486]=(c[6486]|0)+1;Uc(c[b+-4>>2]|0);return}function hn(a){a=a|0;var b=0,d=0;if((c[a+232>>2]|0)<=0)return;b=0;do{d=(c[(c[a+240>>2]|0)+(b<<2)>>2]|0)+412|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+24>>2]=0;c[d+28>>2]=0;b=b+1|0}while((b|0)<(c[a+232>>2]|0));return}function jn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[a+12>>2]|0;if((d|0)<=0)return;f=0;do{e=c[(c[a+20>>2]|0)+(f<<2)>>2]|0;if(e){nb[c[(c[e>>2]|0)+16>>2]&127](e,b);d=c[a+12>>2]|0}f=f+1|0}while((f|0)<(d|0));return}function kn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=bH(c[a+4>>2]|0)|0;if((e|0)>(b|0)){c[a+4>>2]=b;return}if((e|0)<(b|0))sn(a,b);while(1){if((e|0)>=(b|0))break;c[(c[a+12>>2]|0)+(e<<2)>>2]=c[d>>2];e=e+1|0}c[a+4>>2]=b;return}function ln(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+32>>2]|0;c[f>>2]=(c[f>>2]|0)+1;jg(a,Cd(a,b,0)|0);jg(a,Cd(a,d,0)|0);jg(a,Cd(a,e,0)|0);return}function mn(a,b,d){a=a|0;b=b|0;d=d|0;c[a+52>>2]=c[b>>2];c[a+52+4>>2]=c[b+4>>2];c[a+52+8>>2]=c[b+8>>2];c[a+52+12>>2]=c[b+12>>2];c[a+68>>2]=c[d>>2];c[a+68+4>>2]=c[d+4>>2];c[a+68+8>>2]=c[d+8>>2];c[a+68+12>>2]=c[d+12>>2];c[a+48>>2]=1;return}function nn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[d>>2]|0;a=$w(c[b>>2]|0)|0;e=$w(e)|0;if(a|0)Vb[c[(c[a>>2]|0)+28>>2]&127](a,d,b);if(!e)return 0;Vb[c[(c[e>>2]|0)+28>>2]&127](e,b,d);return 0}function on(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a;e=b;f=d+104|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));Ou(a+104|0,b+104|0);Pu(a+124|0,b+124|0);Pu(a+144|0,b+144|0);return}function pn(a,b,d){a=a|0;b=+b;d=+d;var e=0;e=l;l=l+32|0;g[e+20>>2]=b;g[e+16>>2]=d;g[e+12>>2]=0.0;g[e+8>>2]=1.0;c[a+444>>2]=c[(b<0.0?e+12|0:b>1.0?e+8|0:e+20|0)>>2];g[e+4>>2]=0.0;g[e>>2]=1.0;c[a+448>>2]=c[(d<0.0?e+4|0:d>1.0?e:e+16|0)>>2];l=e;return}function qn(a,b,c){a=+a;b=b|0;c=c|0;var d=0,e=0;e=l;l=l+32|0;d=Ir(140)|0;g[e+8>>2]=0.0;g[e+4>>2]=0.0;g[e>>2]=0.0;as(e+16|0,e+8|0,e+4|0,e);Tk(d,a,b,c,e+16|0);l=e;return d|0}function rn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[d>>2]=c[b+16>>2];c[d+4>>2]=c[b+16+4>>2];c[d+8>>2]=c[b+16+8>>2];c[d+12>>2]=c[b+16+12>>2];c[e>>2]=c[b+32>>2];c[e+4>>2]=c[b+32+4>>2];c[e+8>>2]=c[b+32+8>>2];c[e+12>>2]=c[b+32+12>>2];return}function sn(b,d){b=b|0;d=d|0;var e=0;if((bH(c[b+8>>2]|0)|0)>=(d|0))return;e=Hs(d)|0;Gq(b,bH(c[b+4>>2]|0)|0,e);fs(b);a[b+16>>0]=1;c[b+12>>2]=e;c[b+8>>2]=d;return}function tn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=c[a+4>>2]|0;if(!(h&1))i=h>>8;else i=c[(c[e>>2]|0)+(h>>8)>>2]|0;a=c[a>>2]|0;Bb[c[(c[a>>2]|0)+20>>2]&7](a,b,d,e+i|0,h&2|0?f:2,g);return}function un(a,b){a=a|0;b=b|0;var d=0;a=c[a+64>>2]|0;d=c[a+8>>2]|0;if(d|0){b=c[a+12>>2]|0;c[a+12>>2]=c[b>>2];c[a+8>>2]=d+-1;return b|0}c[6485]=(c[6485]|0)+1;a=ic(b+19|0)|0;if(!a){b=0;return b|0}c[(a+4+15&-16)+-4>>2]=a;b=a+4+15&-16;return b|0}function vn(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g[a+692>>2]=(c-b)*.5;c=+ch((c-b)*.5+b,6.2831854820251465);if(!(c<-3.1415927410125732)){if(c>3.1415927410125732)c=c+-6.2831854820251465}else c=c+6.2831854820251465;g[a+688>>2]=c;g[a+696>>2]=d;g[a+700>>2]=e;g[a+704>>2]=f;return}function wn(){var b=0;b=l;l=l+32|0;if(a[22544]|0){l=b;return}if(!(qy(22544)|0)){l=b;return}pm();g[b+8>>2]=0.0;g[b+4>>2]=0.0;g[b>>2]=0.0;as(b+16|0,b+8|0,b+4|0,b);hq(22892,22956,b+16|0);l=b;return}function xn(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[(c[b>>2]|0)+16>>2]|0;e=pb[c[(c[a>>2]|0)+16>>2]&127](a)|0;e=zb[d&63](b,e,1)|0;d=zb[c[(c[a>>2]|0)+20>>2]&63](a,c[e+8>>2]|0,b)|0;jb[c[(c[b>>2]|0)+20>>2]&31](b,e,d,1497645650,a);return}function yn(b,d){b=b|0;d=d|0;var e=0;if((bH(c[b+8>>2]|0)|0)>=(d|0))return;e=ct(d)|0;Un(b,bH(c[b+4>>2]|0)|0,e);fs(b);a[b+16>>0]=1;c[b+12>>2]=e;c[b+8>>2]=d;return}function zn(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0;e=l;l=l+32|0;Ol(e,bH(a+4|0)|0,b,c,d);zp(e+16|0,+g[e>>2],+g[e+4>>2],+g[e+8>>2],+g[a+348>>2],+g[a+352>>2],+g[a+356>>2]);Cr(a+412|0,e+16|0)|0;l=e;return}function An(a,b,d){a=a|0;b=b|0;d=d|0;c[b>>2]=c[a+52>>2];c[b+4>>2]=c[a+52+4>>2];c[b+8>>2]=c[a+52+8>>2];c[b+12>>2]=c[a+52+12>>2];c[d>>2]=c[a+68>>2];c[d+4>>2]=c[a+68+4>>2];c[d+8>>2]=c[a+68+8>>2];c[d+12>>2]=c[a+68+12>>2];return}function Bn(a){a=a|0;var b=0,d=0,e=0;b=c[a+24>>2]|0;if((b|0)<=0)return;e=0;do{d=c[(c[a+32>>2]|0)+(e<<2)>>2]|0;switch(c[d+216>>2]|0){case 2:case 5:break;default:{og(d);b=c[a+24>>2]|0}}e=e+1|0}while((e|0)<(b|0));return}function Cn(a,b){a=a|0;b=b|0;var d=0,e=0;e=pb[c[(c[a>>2]|0)+16>>2]&127](a)|0;e=zb[c[(c[b>>2]|0)+16>>2]&63](b,e,1)|0;d=zb[c[(c[a>>2]|0)+20>>2]&63](a,c[e+8>>2]|0,b)|0;jb[c[(c[b>>2]|0)+20>>2]&31](b,e,d,1245859651,a);return}function Dn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(LB(a,c[b+8>>2]|0)|0)Lm(b,d,e);else{a=c[a+8>>2]|0;Zb[c[(c[a>>2]|0)+28>>2]&127](a,b,d,e)}return}function En(a,b,c){a=a|0;b=b|0;c=+c;var d=0;d=l;l=l+16|0;g[d+12>>2]=+g[(bH(b)|0)>>2]*c;g[d+8>>2]=+g[(IG(b)|0)>>2]*c;g[d+4>>2]=+g[(HG(b)|0)>>2]*c;g[d>>2]=+g[b+12>>2]*c;cv(a,d+12|0,d+8|0,d+4|0,d);l=d;return}function Fn(a,b,d){a=a|0;b=b|0;d=d|0;c[b>>2]=c[a+8>>2];c[b+4>>2]=c[a+8+4>>2];c[b+8>>2]=c[a+8+8>>2];c[b+12>>2]=c[a+8+12>>2];c[d>>2]=c[a+24>>2];c[d+4>>2]=c[a+24+4>>2];c[d+8>>2]=c[a+24+8>>2];c[d+12>>2]=c[a+24+12>>2];return}function Gn(a,b){a=a|0;b=b|0;var d=0,e=0;e=pb[c[(c[a>>2]|0)+52>>2]&127](a)|0;e=zb[c[(c[b>>2]|0)+16>>2]&63](b,e,1)|0;d=zb[c[(c[a>>2]|0)+56>>2]&63](a,c[e+8>>2]|0,b)|0;jb[c[(c[b>>2]|0)+20>>2]&31](b,e,d,1346455635,a);return}function Hn(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0;e=l;l=l+32|0;Ol(e,bH(a+4|0)|0,b,c,d);zp(e+16|0,+g[e>>2],+g[e+4>>2],+g[e+8>>2],+g[a+544>>2],+g[a+548>>2],+g[a+552>>2]);Cr(a+428|0,e+16|0)|0;l=e;return}function In(a,b){a=a|0;b=b|0;var c=0;c=l;l=l+80|0;Xm(c+32|0,b);Oq(c,+g[b+48>>2],+g[b+52>>2],+g[b+56>>2]);Ol(c+16|0,c+32|0,+g[c>>2],+g[c+4>>2],+g[c+8>>2]);hq(a,c+32|0,c+16|0);l=c;return}function Jn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=c[a+4>>2]|0;if(!(g&1))h=g>>8;else h=c[(c[d>>2]|0)+(g>>8)>>2]|0;a=c[a>>2]|0;jb[c[(c[a>>2]|0)+24>>2]&31](a,b,d+h|0,g&2|0?e:2,f);return}function Kn(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0;e=l;l=l+32|0;zp(e,b,c,d,+g[a+348>>2],+g[a+352>>2],+g[a+356>>2]);bq(e+16|0,+g[e>>2],+g[e+4>>2],+g[e+8>>2],+g[a+344>>2]);Cr(a+312|0,e+16|0)|0;l=e;return}function Ln(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0;e=l;l=l+32|0;Ol(e,a+264|0,b,c,d);zp(e+16|0,+g[e>>2],+g[e+4>>2],+g[e+8>>2],+g[a+544>>2],+g[a+548>>2],+g[a+552>>2]);Cr(a+328|0,e+16|0)|0;l=e;return}function Mn(a,b,d){a=a|0;b=b|0;d=d|0;c[a+164>>2]=c[b>>2];c[a+164+4>>2]=c[b+4>>2];c[a+164+8>>2]=c[b+8>>2];c[a+164+12>>2]=c[b+12>>2];b=bH(b)|0;if((!(+g[b>>2]!=1.0)?!(+g[b+4>>2]!=1.0):0)?!(+g[b+8>>2]!=1.0):0)d=0;c[a+180>>2]=d;return}function Nn(a,b,d){a=a|0;b=b|0;d=d|0;c[b>>2]=c[a+892>>2];c[b+4>>2]=c[a+892+4>>2];c[b+8>>2]=c[a+892+8>>2];c[b+12>>2]=c[a+892+12>>2];c[d>>2]=c[a+908>>2];c[d+4>>2]=c[a+908+4>>2];c[d+8>>2]=c[a+908+8>>2];c[d+12>>2]=c[a+908+12>>2];return}function On(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;a:do if((c|0)==-1)switch(b|0){case 2:case 1:{d=+g[a+336>>2];break a}case 4:case 3:{d=+g[a+340>>2];break a}default:{d=3402823466385288598117041.0e14;break a}}else d=3402823466385288598117041.0e14;while(0);return +d}function Pn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0;f=+g[b+28>>2];e=+g[b+32>>2];e=+g[c+4>>2]>=0.0?e:-e;d=+g[b+36>>2];d=+g[c+8>>2]>=0.0?d:-d;g[a>>2]=+g[c>>2]>=0.0?f:-f;g[a+4>>2]=e;g[a+8>>2]=d;g[a+12>>2]=0.0;return}function Qn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=c[a+4>>2]|0;if(!(f&1))g=f>>8;else g=c[(c[d>>2]|0)+(f>>8)>>2]|0;a=c[a>>2]|0;Zb[c[(c[a>>2]|0)+28>>2]&127](a,b,d+g|0,f&2|0?e:2);return}function Rn(b){b=b|0;var d=0;c[b>>2]=5e3;d=c[b+140>>2]|0;if(d|0){if(a[b+144>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+140>>2]=0}a[b+144>>0]=1;c[b+140>>2]=0;c[b+132>>2]=0;c[b+136>>2]=0;c[6486]=(c[6486]|0)+1;Uc(c[b+-4>>2]|0);return}function Sn(b){b=b|0;var d=0;d=l;l=l+16|0;if(!(a[22528]|0))qy(22528)|0;Lo(d,c[b+116>>2]|0,c[b+128>>2]|0);c[5715]=c[d>>2];c[5716]=c[d+4>>2];c[5717]=c[d+8>>2];c[5718]=c[d+12>>2];l=d;return 22860}function Tn(a,b){a=a|0;b=b|0;var d=0;d=c[a+4>>2]|0;if((c[b>>2]|0)!=(d|0)?(c[b+4>>2]|0)!=(d|0):0)return 0;d=c[a+8>>2]|0;Vb[c[(c[d>>2]|0)+32>>2]&127](d,b,c[a+12>>2]|0);return 0}function Un(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=0;while(1){if((e|0)>=(b|0))break;f=d+(e*104|0)|0;g=(c[a+12>>2]|0)+(e*104|0)|0;h=f+104|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));e=e+1|0}return}function Vn(b){b=b|0;var d=0;c[b>>2]=9460;d=c[b+32>>2]|0;if(d|0){if(a[b+36>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[6486]=(c[6486]|0)+1;Uc(c[b+-4>>2]|0);return}function Wn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Kb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=Kb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=f;if(f|0)nb[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];return 17287}function Xn(a,b){a=a|0;b=b|0;var c=0;c=l;l=l+16|0;g[c+12>>2]=-+g[(bH(b)|0)>>2];g[c+8>>2]=-+g[(IG(b)|0)>>2];g[c+4>>2]=-+g[(HG(b)|0)>>2];g[c>>2]=-+g[b+12>>2];cv(a,c+12|0,c+8|0,c+4|0,c);l=c;return}function Yn(b){b=b|0;var d=0;c[b>>2]=5136;d=c[b+276>>2]|0;if(d|0){if(a[b+280>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+276>>2]=0}a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;c[b+272>>2]=0;c[6486]=(c[6486]|0)+1;Uc(c[b+-4>>2]|0);return}function Zn(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0;e=l;l=l+16|0;d=+OD(a);d=+PG(d*+OD(b));c=+Qo(a,b);if(c<0.0){Xn(e,b);c=+Qo(a,e)}d=+zz(c/d)*2.0;l=e;return +d}function _n(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0;h=c[a+104>>2]|0;f=+g[h+(b<<4)+4>>2]*+g[a+16>>2];e=+g[h+(b<<4)+8>>2]*+g[a+20>>2];g[d>>2]=+g[h+(b<<4)>>2]*+g[a+12>>2];g[d+4>>2]=f;g[d+8>>2]=e;g[d+12>>2]=0.0;return}function $n(b){b=b|0;var d=0;c[b>>2]=4236;d=c[b+496>>2]|0;if(d|0){if(a[b+500>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+496>>2]=0}a[b+500>>0]=1;c[b+496>>2]=0;c[b+488>>2]=0;c[b+492>>2]=0;c[6486]=(c[6486]|0)+1;Uc(c[b+-4>>2]|0);return}function ao(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=l;l=l+32|0;c[e>>2]=c[a+60>>2];c[e+4>>2]=0;c[e+8>>2]=b;c[e+12>>2]=e+20;c[e+16>>2]=d;if((lB(bb(140,e|0)|0)|0)<0){c[e+20>>2]=-1;a=-1}else a=c[e+20>>2]|0;l=e;return a|0}function bo(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;f=c[d>>2]|0;f=Kb[c[(c[f>>2]|0)+56>>2]&31](f,20)|0;b=a[b+4>>0]|0;c[f+4>>2]=c[d>>2];c[f>>2]=3740;a[f+16>>0]=b;return f|0}function co(a,b){a=a|0;b=b|0;var c=0.0;c=+g[(bH(b)|0)>>2];g[a>>2]=+g[a>>2]+c;c=+g[(IG(b)|0)>>2];g[a+4>>2]=+g[a+4>>2]+c;c=+g[(HG(b)|0)>>2];g[a+8>>2]=+g[a+8>>2]+c;g[a+12>>2]=+g[a+12>>2]+ +g[b+12>>2];return a|0}function eo(a,b){a=a|0;b=b|0;var c=0.0;c=+g[(bH(b)|0)>>2];g[a>>2]=+g[a>>2]-c;c=+g[(IG(b)|0)>>2];g[a+4>>2]=+g[a+4>>2]-c;c=+g[(HG(b)|0)>>2];g[a+8>>2]=+g[a+8>>2]-c;g[a+12>>2]=+g[a+12>>2]-+g[b+12>>2];return a|0}function fo(b){b=b|0;var d=0;d=l;l=l+16|0;if(!(a[22520]|0))qy(22520)|0;nb[c[(c[b>>2]|0)+76>>2]&127](d,b);c[5711]=c[d>>2];c[5712]=c[d+4>>2];c[5713]=c[d+8>>2];c[5714]=c[d+12>>2];l=d;return 22844}function go(b){b=b|0;var d=0;d=l;l=l+16|0;if(!(a[22576]|0))qy(22576)|0;nb[c[(c[b>>2]|0)+76>>2]&127](d,b);c[5776]=c[d>>2];c[5777]=c[d+4>>2];c[5778]=c[d+8>>2];c[5779]=c[d+12>>2];l=d;return 23104}function ho(a){a=a|0;var b=0,d=0;d=a+15&-16|0;b=c[i>>2]|0;a=b+d|0;if((d|0)>0&(a|0)<(b|0)|(a|0)<0){_()|0;Va(12);return -1}c[i>>2]=a;if((a|0)>(Z()|0)?(Y()|0)==0:0){Va(12);c[i>>2]=b;return -1}return b|0}function io(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=bH(c[b+4>>2]|0)|0;c[d>>2]=0;kn(a,e,d);Gq(b,e,c[a+12>>2]|0);l=d;return}function jo(b){b=b|0;var d=0;d=a[b+74>>0]|0;a[b+74>>0]=d+255|d;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;d=c[b+44>>2]|0;c[b+28>>2]=d;c[b+20>>2]=d;c[b+16>>2]=d+(c[b+48>>2]|0);d=0}else{c[b>>2]=d|32;d=-1}return d|0}function ko(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;if((e|0)!=-1)return;switch(b|0){case 2:case 1:{g[a+336>>2]=d;c[a+332>>2]=c[a+332>>2]|1;return}case 4:case 3:{g[a+340>>2]=d;c[a+332>>2]=c[a+332>>2]|2;return}default:return}}function lo(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+g[(HG(a)|0)>>2];c=c*+g[(bH(b)|0)>>2];d=+g[(HG(a+16|0)|0)>>2];d=c+d*+g[(IG(b)|0)>>2];c=+g[(HG(a+32|0)|0)>>2];return +(d+c*+g[(HG(b)|0)>>2])}function mo(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+g[(IG(a)|0)>>2];c=c*+g[(bH(b)|0)>>2];d=+g[(IG(a+16|0)|0)>>2];d=c+d*+g[(IG(b)|0)>>2];c=+g[(IG(a+32|0)|0)>>2];return +(d+c*+g[(HG(b)|0)>>2])}function no(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((b|0)==(d|0))return;e=c[(c[a+4>>2]|0)+136>>2]|0;zb[c[(c[e>>2]|0)+8>>2]&63](e,c[b+36>>2]|0,c[d+36>>2]|0)|0;a=(c[a+4>>2]|0)+160|0;c[a>>2]=(c[a>>2]|0)+1;return}function oo(b,d,e){b=b|0;d=d|0;e=+e;var f=0;f=l;l=l+16|0;if(!(a[22536]|0))qy(22536)|0;Mi(f,b,d,e);c[5719]=c[f>>2];c[5720]=c[f+4>>2];c[5721]=c[f+8>>2];c[5722]=c[f+12>>2];l=f;return 22876}function po(b,d,e){b=b|0;d=d|0;e=+e;var f=0;f=l;l=l+16|0;if(!(a[22584]|0))qy(22584)|0;Mi(f,b,d,e);c[5780]=c[f>>2];c[5781]=c[f+4>>2];c[5782]=c[f+8>>2];c[5783]=c[f+12>>2];l=f;return 23120}function qo(a){a=a|0;var b=0,d=0.0,e=0.0,f=0.0;b=l;l=l+32|0;Vb[c[(c[a>>2]|0)+12>>2]&127](a,b+8|0,b);f=+g[b+8>>2];e=+g[b+8+4>>2];d=+g[b+8+8>>2];d=+G(+(f*f+e*e+d*d));l=b;return +(d+ +g[b>>2])}function ro(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((e|0)>0)a=0;else return;do{b=d+(a<<4)|0;a=a+1|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0}while((a|0)!=(e|0));return}function so(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=l;l=l+16|0;c[f>>2]=5296;c[f+4>>2]=d;c[f+8>>2]=a;Vb[c[(c[b>>2]|0)+48>>2]&127](b,f,e);l=f;return}function to(b,c){b=b|0;c=c|0;var d=0,e=0;d=a[b>>0]|0;e=a[c>>0]|0;if(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24))do{b=b+1|0;c=c+1|0;d=a[b>>0]|0;e=a[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));return (d&255)-(e&255)|0}function uo(b){b=b|0;var d=0,e=0;if((a[22512]|0)==0?qy(22512)|0:0)Bl(22760);e=22760;b=NF(b)|0;d=e+84|0;do{c[e>>2]=c[b>>2];e=e+4|0;b=b+4|0}while((e|0)<(d|0));return 22760}function vo(b){b=b|0;var d=0,e=0;if((a[22568]|0)==0?qy(22568)|0:0)Bl(23020);e=23020;b=NF(b)|0;d=e+84|0;do{c[e>>2]=c[b>>2];e=e+4|0;b=b+4|0}while((e|0)<(d|0));return 23020}function wo(a,b,d){a=a|0;b=b|0;d=d|0;a=c[b+8>>2]|0;if(!((d|0)!=0&(a|0)!=0))return;lb[c[c[a>>2]>>2]&511](a);nb[c[(c[d>>2]|0)+60>>2]&127](d,c[b+8>>2]|0);c[b+8>>2]=0;return}function xo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=l;l=l+16|0;c[e>>2]=8892;c[e+4>>2]=b;c[e+8>>2]=a;c[e+12>>2]=d;Vb[c[(c[a>>2]|0)+48>>2]&127](a,e,d);l=e;return}function yo(b){b=b|0;var d=0;c[b>>2]=6864;if(a[b+61>>0]|0?(d=c[b+52>>2]|0,lb[c[c[d>>2]>>2]&511](d),d=c[b+52>>2]|0,d|0):0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[6486]=(c[6486]|0)+1;Uc(c[b+-4>>2]|0);return}function zo(a,b,c,d){a=+a;b=+b;c=+c;d=+d;var e=0,f=0;f=l;l=l+16|0;g[f+12>>2]=a;g[f+8>>2]=b;g[f+4>>2]=c;g[f>>2]=d;e=Ps()|0;Ot(e,f+12|0,f+8|0,f+4|0,f);l=f;return e|0}function Ao(a,b,c,d){a=+a;b=+b;c=+c;d=+d;var e=0,f=0;f=l;l=l+16|0;g[f+12>>2]=a;g[f+8>>2]=b;g[f+4>>2]=c;g[f>>2]=d;e=Ir(16)|0;cv(e,f+12|0,f+8|0,f+4|0,f);l=f;return e|0}function Bo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(LB(a,c[b+8>>2]|0)|0)_k(b,d,e,f);return}function Co(b){b=b|0;var d=0,e=0;if((a[22592]|0)==0?qy(22592)|0:0)Bl(23136);e=23136;b=NF(b)|0;d=e+84|0;do{c[e>>2]=c[b>>2];e=e+4|0;b=b+4|0}while((e|0)<(d|0));return 23136}function Do(a){a=a|0;var b=0.0,d=0,e=0,f=0.0;e=c[a+712>>2]|0;if((e|0)<=0){b=0.0;return +b}a=c[a+720>>2]|0;d=0;b=0.0;do{f=+g[a+(d*104|0)+88>>2];b=b+(f>0.0?1.0/f:0.0);d=d+1|0}while((d|0)!=(e|0));return +b}function Eo(a){a=a|0;var b=0;c[a>>2]=5600;c[a+12>>2]=5648;b=c[a+60>>2]|0;nb[c[(c[b>>2]|0)+20>>2]&127](b,c[a+76>>2]|0);b=c[a+60>>2]|0;nb[c[(c[b>>2]|0)+16>>2]&127](b,c[a+76>>2]|0);YG(a);return}function Fo(b){b=b|0;var d=0;c[b>>2]=5e3;d=c[b+140>>2]|0;if(d|0){if(a[b+144>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+140>>2]=0}a[b+144>>0]=1;c[b+140>>2]=0;c[b+132>>2]=0;c[b+136>>2]=0;return}function Go(b){b=b|0;var d=0;d=l;l=l+16|0;if(!(a[22504]|0))qy(22504)|0;az(d,b);c[5686]=c[d>>2];c[5687]=c[d+4>>2];c[5688]=c[d+8>>2];c[5689]=c[d+12>>2];l=d;return 22744}function Ho(b){b=b|0;var d=0;d=l;l=l+16|0;if(!(a[22496]|0))qy(22496)|0;Ox(d,b);c[5682]=c[d>>2];c[5683]=c[d+4>>2];c[5684]=c[d+8>>2];c[5685]=c[d+12>>2];l=d;return 22728}function Io(a,b,d){a=a|0;b=+b;d=d|0;b=b*.4000000059604645*+Db[c[(c[a>>2]|0)+48>>2]&15](a);b=b*+Db[c[(c[a>>2]|0)+48>>2]&15](a);g[d>>2]=b;g[d+4>>2]=b;g[d+8>>2]=b;g[d+12>>2]=0.0;return}function Jo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[b>>2]|0;a=Kb[c[(c[a>>2]|0)+56>>2]&31](a,24)|0;c[a+4>>2]=c[b>>2];c[a>>2]=4208;return a|0}function Ko(a,b,c,d,e,f,h){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;h=+h;var i=0;i=l;l=l+16|0;g[i+8>>2]=c*h-d*f;g[i+4>>2]=d*e-b*h;g[i>>2]=b*f-c*e;as(a,i+8|0,i+4|0,i);l=i;return}function Lo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;b=bH(b+4|0)|0;e=(bH(cF(b,0)|0)|0)+(c<<2)|0;d=(bH(cF(b,1)|0)|0)+(c<<2)|0;as(a,e,d,(bH(cF(b,2)|0)|0)+(c<<2)|0);return}function Mo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[d>>2]=-581039253;c[d+4>>2]=-581039253;c[d+8>>2]=-581039253;g[d+12>>2]=0.0;c[e>>2]=1566444395;c[e+4>>2]=1566444395;c[e+8>>2]=1566444395;g[e+12>>2]=0.0;return}function No(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+g[(bH(a)|0)>>2];c=c*+g[(bH(b)|0)>>2];d=+g[(bH(a+16|0)|0)>>2];d=c+d*+g[(IG(b)|0)>>2];c=+g[(bH(a+32|0)|0)>>2];return +(d+c*+g[(HG(b)|0)>>2])}function Oo(b){b=b|0;var d=0;d=l;l=l+16|0;if(!(a[22480]|0))qy(22480)|0;Bp(d,b);c[5674]=c[d>>2];c[5675]=c[d+4>>2];c[5676]=c[d+8>>2];c[5677]=c[d+12>>2];l=d;return 22696}function Po(b){b=b|0;var d=0;d=l;l=l+16|0;if(!(a[22488]|0))qy(22488)|0;$l(d,b);c[5678]=c[d>>2];c[5679]=c[d+4>>2];c[5680]=c[d+8>>2];c[5681]=c[d+12>>2];l=d;return 22712}function Qo(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+g[a>>2];c=c*+g[(bH(b)|0)>>2];d=+g[a+4>>2];d=c+d*+g[(IG(b)|0)>>2];c=+g[a+8>>2];c=d+c*+g[(HG(b)|0)>>2];return +(c+ +g[a+12>>2]*+g[b+12>>2])}function Ro(b){b=b|0;var d=0;c[b>>2]=8932;if(a[b+192>>0]|0?(d=c[b+136>>2]|0,lb[c[c[d>>2]>>2]&511](d),d=c[b+136>>2]|0,d|0):0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}Vh(b+64|0);Vh(b+4|0);return}function So(b){b=b|0;var d=0;c[b>>2]=9460;d=c[b+32>>2]|0;if(d|0){if(a[b+36>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;return}function To(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;as(a,b,c,d);as(a+16|0,e,f,g);as(a+32|0,h,i,j);return}function Uo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=l;l=l+64|0;nk(d+16|0,b,c);Sl(d,b,+g[c+48>>2],+g[c+52>>2],+g[c+56>>2]);hq(a,d+16|0,d);l=d;return}function Vo(a){a=a|0;var b=0;c[a>>2]=5600;c[a+12>>2]=5648;b=c[a+60>>2]|0;nb[c[(c[b>>2]|0)+20>>2]&127](b,c[a+76>>2]|0);b=c[a+60>>2]|0;nb[c[(c[b>>2]|0)+16>>2]&127](b,c[a+76>>2]|0);return}function Wo(b){b=b|0;var d=0;c[b>>2]=3124;d=c[b+32>>2]|0;if(d|0){if(a[b+36>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;return}function Xo(a){a=a|0;var b=0,d=0;c[a>>2]=7216;b=c[a+52>>2]|0;if(b|0?(lb[c[c[b>>2]>>2]&511](b),d=c[a+52>>2]|0,d|0):0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[6486]=(c[6486]|0)+1;Uc(c[a+-4>>2]|0);return}function Yo(a,b){a=a|0;b=b|0;var d=0;d=(c[a+92>>2]|0)+4|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];fj(a);return}function Zo(b,d){b=b|0;d=d|0;var e=0;if(a[b+273>>0]|0?(e=c[b+200>>2]|0,e|0):0){c[6486]=(c[6486]|0)+1;Uc(c[e+-4>>2]|0)}a[b+273>>0]=0;c[b+200>>2]=d;c[(c[b+196>>2]|0)+8>>2]=d;return}function _o(b){b=b|0;var d=0;c[b>>2]=5224;d=c[b+20>>2]|0;if(d|0){if(a[b+24>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+20>>2]=0}a[b+24>>0]=1;c[b+20>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;return}function $o(a,b){a=a|0;b=+b;c[a+8>>2]=0;c[a+12>>2]=1065353216;c[a+16>>2]=1065353216;c[a+20>>2]=1065353216;g[a+24>>2]=0.0;g[a+44>>2]=.03999999910593033;c[a>>2]=6764;c[a+4>>2]=8;RE(a+28|0,b);g[a+44>>2]=b;return}function ap(b){b=b|0;var d=0;c[b>>2]=5136;d=c[b+276>>2]|0;if(d|0){if(a[b+280>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+276>>2]=0}a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;c[b+272>>2]=0;return}function bp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[b>>2]|0;a=Kb[c[(c[a>>2]|0)+56>>2]&31](a,8)|0;c[a+4>>2]=c[b>>2];c[a>>2]=9320;return a|0}function cp(b){b=b|0;var d=0;c[b>>2]=4236;d=c[b+496>>2]|0;if(d|0){if(a[b+500>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+496>>2]=0}a[b+500>>0]=1;c[b+496>>2]=0;c[b+488>>2]=0;c[b+492>>2]=0;return}function dp(b){b=b|0;var d=0;c[b>>2]=8740;d=c[b+16>>2]|0;if(d|0){if(a[b+20>>0]|0){c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;return}function ep(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;var f=0;f=l;l=l+16|0;g[f+12>>2]=b;g[f+8>>2]=c;g[f+4>>2]=d;g[f>>2]=e;pr(a,f+12|0,f+8|0,f+4|0,f);l=f;return}function fp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;a=c[b+8>>2]|0;b=c[a+284>>2]|0;Vb[c[(c[b>>2]|0)+40>>2]&127](b,a,c[d+8>>2]|0);return}function gp(b){b=b|0;var d=0,e=0;c[b>>2]=6096;if(!(a[b+8>>0]|0)){YG(b);return}d=c[b+12>>2]|0;if(!d){YG(b);return}e=c[b+4>>2]|0;nb[c[(c[e>>2]|0)+16>>2]&127](e,d);YG(b);return}function hp(b){b=b|0;var d=0,e=0;c[b>>2]=9348;if(!(a[b+8>>0]|0)){YG(b);return}d=c[b+12>>2]|0;if(!d){YG(b);return}e=c[b+4>>2]|0;nb[c[(c[e>>2]|0)+16>>2]&127](e,d);YG(b);return}function ip(b){b=b|0;var d=0,e=0;c[b>>2]=5572;if(!(a[b+8>>0]|0)){YG(b);return}d=c[b+12>>2]|0;if(!d){YG(b);return}e=c[b+4>>2]|0;nb[c[(c[e>>2]|0)+16>>2]&127](e,d);YG(b);return}function jp(b){b=b|0;var d=0;c[b>>2]=6864;if(!(a[b+61>>0]|0))return;d=c[b+52>>2]|0;lb[c[c[d>>2]>>2]&511](d);b=c[b+52>>2]|0;if(!b)return;c[6486]=(c[6486]|0)+1;Uc(c[b+-4>>2]|0);return}function kp(a,b,d){a=a|0;b=b|0;d=d|0;a=c[b+204>>2]|0;if(a&4|0){d=0;return d|0}b=c[d+204>>2]|0;if(b&4|0){d=0;return d|0}if(!(a&3)){d=1;return d|0}d=(b&3|0)==0;return d|0}function lp(b){b=b|0;var d=0,e=0,f=0;d=c[b>>2]|0;e=(a[d>>0]|0)+-48|0;if(e>>>0<10){f=d;d=0;do{d=e+(d*10|0)|0;f=f+1|0;c[b>>2]=f;e=(a[f>>0]|0)+-48|0}while(e>>>0<10)}else d=0;return d|0}function mp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=l;l=l+16|0;c[e>>2]=8912;c[e+4>>2]=b;Vb[c[(c[a>>2]|0)+48>>2]&127](a,e,d);l=e;return}function np(b){b=b|0;var d=0,e=0;c[b>>2]=5668;if(!(a[b+8>>0]|0)){YG(b);return}d=c[b+12>>2]|0;if(!d){YG(b);return}e=c[b+4>>2]|0;nb[c[(c[e>>2]|0)+16>>2]&127](e,d);YG(b);return}function op(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else _h(b,c,d)|0;return b|0}function pp(){var a=0,b=0;b=l;l=l+32|0;a=Ir(112)|0;Ws(b);fg(a,b);l=b;return a|0}function qp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=S(b&65535,a&65535)|0;e=(c>>>16)+(S(b&65535,a>>>16)|0)|0;d=S(b>>>16,a&65535)|0;return (D=(e>>>16)+(S(b>>>16,a>>>16)|0)+(((e&65535)+d|0)>>>16)|0,e+d<<16|c&65535|0)|0}function rp(b){b=b|0;var d=0,e=0;c[b>>2]=6144;if(!(a[b+16>>0]|0)){YG(b);return}d=c[b+20>>2]|0;if(!d){YG(b);return}e=c[b+4>>2]|0;nb[c[(c[e>>2]|0)+16>>2]&127](e,d);YG(b);return}function sp(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0;e=+F(+(+g[b>>2]));d=+F(+(+g[b+4>>2]));c=+F(+(+g[b+8>>2]));g[a+12>>2]=e;g[a+16>>2]=d;g[a+20>>2]=c;g[a+24>>2]=0.0;return}function tp(a,b){a=a|0;b=b|0;Kf(a,c[b+36>>2]|0);return}function up(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(LB(a,c[b+8>>2]|0)|0)Lm(b,d,e);return}function vp(a){a=a|0;var b=0;c[a>>2]=5648;b=c[a+48>>2]|0;nb[c[(c[b>>2]|0)+20>>2]&127](b,c[a+64>>2]|0);b=c[a+48>>2]|0;nb[c[(c[b>>2]|0)+16>>2]&127](b,c[a+64>>2]|0);YG(a);return}function wp(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=+g;h=+h;i=+i;j=+j;k=k|0;l=+l;m=m|0;Qb[a&0](b|0,c|0,d|0,e|0,+f,+g,+h,+i,+j,k|0,+l,m|0)}function xp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;g[a>>2]=(1.0-d)*+g[b>>2]+ +g[c>>2]*d;g[a+4>>2]=(1.0-d)*+g[b+4>>2]+ +g[c+4>>2]*d;g[a+8>>2]=(1.0-d)*+g[b+8>>2]+ +g[c+8>>2]*d;return}function yp(a,b,c,d,e,f,h){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;h=+h;var i=0;i=l;l=l+16|0;g[i+8>>2]=b+e;g[i+4>>2]=c+f;g[i>>2]=d+h;as(a,i+8|0,i+4|0,i);l=i;return}function zp(a,b,c,d,e,f,h){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;h=+h;var i=0;i=l;l=l+16|0;g[i+8>>2]=b*e;g[i+4>>2]=c*f;g[i>>2]=d*h;as(a,i+8|0,i+4|0,i);l=i;return}function Ap(a,b,c,d,e,f,h){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;h=+h;var i=0;i=l;l=l+16|0;g[i+8>>2]=b-e;g[i+4>>2]=c-f;g[i>>2]=d-h;as(a,i+8|0,i+4|0,i);l=i;return}function Bp(a,b){a=a|0;b=b|0;var c=0;c=l;l=l+16|0;g[c+8>>2]=-+g[b>>2];g[c+4>>2]=-+g[b+4>>2];g[c>>2]=-+g[b+8>>2];cv(a,c+8|0,c+4|0,c,b+12|0);l=c;return}function Cp(a){a=a|0;var b=0;c[a>>2]=7216;b=c[a+52>>2]|0;if(!b)return;lb[c[c[b>>2]>>2]&511](b);b=c[a+52>>2]|0;if(!b)return;c[6486]=(c[6486]|0)+1;Uc(c[b+-4>>2]|0);return}function Dp(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return +(+db(0,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0))}function Ep(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;if(!((b|0)==0&(c|0)==0))do{e=e+-1|0;a[e>>0]=d[19995+(b&15)>>0]|0|f;b=Jt(b|0,c|0,4)|0;c=D}while(!((b|0)==0&(c|0)==0));return e|0}function Fp(a){a=a|0;var b=0;c[a>>2]=5648;b=c[a+48>>2]|0;nb[c[(c[b>>2]|0)+20>>2]&127](b,c[a+64>>2]|0);b=c[a+48>>2]|0;nb[c[(c[b>>2]|0)+16>>2]&127](b,c[a+64>>2]|0);return}function Gp(){var b=0;b=Ir(40)|0;g[b+12>>2]=1.0;c[b+8>>2]=0;c[b+4>>2]=5;c[b>>2]=3124;a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;a[b+16>>0]=1;return b|0}function Hp(b){b=b|0;var c=0;c=a[n+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[n+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[n+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[n+(b>>>24)>>0]|0)+24|0}function Ip(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0;e=l;l=l+16|0;zp(e,b,c,d,+g[a+348>>2],+g[a+352>>2],+g[a+356>>2]);Cr(a+412|0,e)|0;l=e;return}function Jp(a,b,c){a=+a;b=+b;c=+c;var d=0,e=0;e=l;l=l+16|0;g[e+8>>2]=a;g[e+4>>2]=b;g[e>>2]=c;d=Ps()|0;as(d,e+8|0,e+4|0,e);l=e;return d|0}function Kp(a,b){a=a|0;b=b|0;c[a+12>>2]=c[b>>2];c[a+12+4>>2]=c[b+4>>2];c[a+12+8>>2]=c[b+8>>2];c[a+12+12>>2]=c[b+12>>2];fj(a);return}function Lp(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return ob[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)|0}function Mp(a,b){a=a|0;b=b|0;a=c[a+12>>2]|0;return Kb[c[(c[a>>2]|0)+8>>2]&31](a,b)|0}function Np(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0;e=l;l=l+16|0;zp(e,b,c,d,+g[a+544>>2],+g[a+548>>2],+g[a+552>>2]);Cr(a+428|0,e)|0;l=e;return}function Op(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return +Mb[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function Pp(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=ts()|0;re(h,a,b,c,d,e,f,g);return h|0}function Qp(){var a=0,b=0;b=Br()|0;if((b|0?(a=c[b>>2]|0,a|0):0)?((c[a+48>>2]&-256|0)==1126902528?(c[a+48+4>>2]|0)==1129074247:0):0)Ww(c[a+12>>2]|0);Ww(AD()|0)}function Rp(a,b,d){a=a|0;b=b|0;d=d|0;Iy(a,b);c[a+48>>2]=c[d>>2];c[a+48+4>>2]=c[d+4>>2];c[a+48+8>>2]=c[d+8>>2];c[a+48+12>>2]=c[d+12>>2];return}function Sp(a,b){a=a|0;b=b|0;c[a+260>>2]=(c[a+260>>2]|0)+1;c[a+328>>2]=c[b>>2];c[a+328+4>>2]=c[b+4>>2];c[a+328+8>>2]=c[b+8>>2];c[a+328+12>>2]=c[b+12>>2];return}function Tp(){var a=0,b=0;b=l;l=l+32|0;a=Ir(92)|0;Ws(b);Jd(a,b);l=b;return a|0}function Up(a,b,d){a=a|0;b=b|0;d=d|0;c[d>>2]=c[a+56+(b<<4)>>2];c[d+4>>2]=c[a+56+(b<<4)+4>>2];c[d+8>>2]=c[a+56+(b<<4)+8>>2];c[d+12>>2]=c[a+56+(b<<4)+12>>2];return}function Vp(a,b){a=a|0;b=b|0;c[a+260>>2]=(c[a+260>>2]|0)+1;c[a+312>>2]=c[b>>2];c[a+312+4>>2]=c[b+4>>2];c[a+312+8>>2]=c[b+8>>2];c[a+312+12>>2]=c[b+12>>2];return}function Wp(b,d){b=b|0;d=d|0;if(!(a[22560]|0))qy(22560)|0;b=cF(b,d)|0;c[5751]=c[b>>2];c[5752]=c[b+4>>2];c[5753]=c[b+8>>2];c[5754]=c[b+12>>2];return 23004}function Xp(a,b){a=a|0;b=b|0;c[a+260>>2]=(c[a+260>>2]|0)+1;c[a+544>>2]=c[b>>2];c[a+544+4>>2]=c[b+4>>2];c[a+544+8>>2]=c[b+8>>2];c[a+544+12>>2]=c[b+12>>2];return}function Yp(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=+g;h=+h;i=+i;j=j|0;k=k|0;l=+l;wb[a&0](b|0,c|0,d|0,e|0,+f,+g,+h,+i,j|0,k|0,+l)}function Zp(a){a=a|0;var b=0.0,d=0.0;d=+g[a+32>>2];+Db[c[(c[a>>2]|0)+48>>2]&15](a);b=+Db[c[(c[a>>2]|0)+48>>2]&15](a);+Db[c[(c[a>>2]|0)+48>>2]&15](a);return +(d+b)}function _p(a){a=a|0;var b=0.0,d=0.0;d=+g[a+28>>2];b=+Db[c[(c[a>>2]|0)+48>>2]&15](a);+Db[c[(c[a>>2]|0)+48>>2]&15](a);+Db[c[(c[a>>2]|0)+48>>2]&15](a);return +(d+b)}function $p(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;Jb[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function aq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=l;l=l+16|0;c[e>>2]=c[d>>2];a=zb[c[(c[a>>2]|0)+16>>2]&63](a,b,e)|0;if(a)c[d>>2]=c[e>>2];l=e;return a&1|0}function bq(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;var f=0;f=l;l=l+16|0;g[f+8>>2]=b*e;g[f+4>>2]=c*e;g[f>>2]=d*e;as(a,f+8|0,f+4|0,f);l=f;return}function cq(a,b){a=a|0;b=b|0;g[a>>2]=+g[a>>2]*+g[b>>2];g[a+4>>2]=+g[a+4>>2]*+g[b>>2];g[a+8>>2]=+g[a+8>>2]*+g[b>>2];g[a+12>>2]=+g[a+12>>2]*+g[b>>2];return a|0}function dq(){var a=0;a=Ir(8)|0;c[6484]=a;Za(a|0,0)|0;c[6474]=19474;c[6475]=0;c[6476]=0;c[6477]=0;c[6478]=0;c[6479]=0;c[6480]=0;c[6481]=0;c[6482]=0;cr(25896);return}function eq(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;To(a,b,c,d,e,f,g,h,i,j);return}function fq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=Wr(324)|0;Qd(d,a,b,c);return d|0}function gq(b){b=b|0;var d=0;c[b>>2]=3124;d=c[b+32>>2]|0;if(!d){YG(b);return}if(!(a[b+36>>0]|0)){YG(b);return}c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0);YG(b);return}function hq(a,b,d){a=a|0;b=b|0;d=d|0;tm(a,b);c[a+48>>2]=c[d>>2];c[a+48+4>>2]=c[d+4>>2];c[a+48+8>>2]=c[d+8>>2];c[a+48+12>>2]=c[d+12>>2];return}function iq(b){b=b|0;var d=0;c[b>>2]=6096;if(!(a[b+8>>0]|0))return;d=c[b+12>>2]|0;if(!d)return;b=c[b+4>>2]|0;nb[c[(c[b>>2]|0)+16>>2]&127](b,d);return}function jq(b){b=b|0;var d=0;c[b>>2]=5224;d=c[b+20>>2]|0;if(!d){YG(b);return}if(!(a[b+24>>0]|0)){YG(b);return}c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0);YG(b);return}function kq(a,b){a=a|0;b=b|0;var c=0;c=l;l=l+128|0;In(c,a+68|0);Uo(c+64|0,c,a+4|0);Hq(b,c+64|0);l=c;return}function lq(b){b=b|0;var d=0;c[b>>2]=9348;if(!(a[b+8>>0]|0))return;d=c[b+12>>2]|0;if(!d)return;b=c[b+4>>2]|0;nb[c[(c[b>>2]|0)+16>>2]&127](b,d);return}function mq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0;g=ts()|0;re(g,a,b,c,d,e,f,0);return g|0}function nq(b){b=b|0;var d=0;c[b>>2]=5572;if(!(a[b+8>>0]|0))return;d=c[b+12>>2]|0;if(!d)return;b=c[b+4>>2]|0;nb[c[(c[b>>2]|0)+16>>2]&127](b,d);return}function oq(a,b){a=a|0;b=b|0;a=c[a+4>>2]|0;return ((c[b>>2]|0)==(a|0)?1:(c[b+4>>2]|0)==(a|0))|0}function pq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=es()|0;we(f,a,b,c,d,e);return f|0}function qq(a,b){a=a|0;b=b|0;a=c[a+20>>2]|0;return Kb[c[(c[a>>2]|0)+8>>2]&31](a,b)|0}function rq(b){b=b|0;var d=0;c[b>>2]=8740;d=c[b+16>>2]|0;if(!d){YG(b);return}if(!(a[b+20>>0]|0)){YG(b);return}c[6486]=(c[6486]|0)+1;Uc(c[d+-4>>2]|0);YG(b);return}function sq(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0;e=l;l=l+16|0;g[e+8>>2]=b;g[e+4>>2]=c;g[e>>2]=d;as(a,e+8|0,e+4|0,e);l=e;return}function tq(b){b=b|0;var d=0;c[b>>2]=5668;if(!(a[b+8>>0]|0))return;d=c[b+12>>2]|0;if(!d)return;b=c[b+4>>2]|0;nb[c[(c[b>>2]|0)+16>>2]&127](b,d);return}function uq(a,b,d){a=a|0;b=b|0;d=d|0;SF(a);c[a>>2]=3008;Hq(a+4|0,b);Hq(a+68|0,d);Hq(a+132|0,b);c[a+196>>2]=0;return}function vq(b){b=b|0;var d=0;c[b>>2]=6144;if(!(a[b+16>>0]|0))return;d=c[b+20>>2]|0;if(!d)return;b=c[b+4>>2]|0;nb[c[(c[b>>2]|0)+16>>2]&127](b,d);return}function wq(a){a=a|0;var b=0;b=l;l=l+16|0;$m(a);g[b+8>>2]=0.0;g[b+4>>2]=0.0;g[b>>2]=0.0;as(a+48|0,b+8|0,b+4|0,b);l=b;return}function xq(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return Tb[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)|0}function yq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;var f=0;f=Ir(44)|0;nm(f,a,b,c,d,e);return f|0}function zq(a,b,c){a=a|0;b=b|0;c=+c;switch(b|0){case 3:{b=a+452|0;break}case 4:{b=a+448|0;break}case 5:{b=a+444|0;break}default:return}g[b>>2]=c;return}function Aq(a,b){a=a|0;b=b|0;b=c[b+36>>2]|0;De(a,c[(c[(c[(c[a+4>>2]|0)+4>>2]|0)+24>>2]|0)+(b*80|0)+64>>2]|0,b);return}function Bq(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return +Ob[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function Cq(a,b){a=a|0;b=b|0;var c=0;c=0;while(1){if((c|0)==3)break;g[a+868+(c<<6)+4>>2]=+ss(+g[(bH(b)|0)+(c<<2)>>2]);c=c+1|0}return}function Dq(a,b,c,d){a=+a;b=b|0;c=c|0;d=d|0;var e=0;e=Ir(140)|0;Tk(e,a,b,c,d);return e|0}function Eq(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return +(+vb[c[(c[a>>2]|0)+12>>2]&1](a,b,d,e,f,g,h,i))}function Fq(b,c,d){b=b|0;c=c|0;d=d|0;if(!((b|0)==0&(c|0)==0))do{d=d+-1|0;a[d>>0]=b&7|48;b=Jt(b|0,c|0,3)|0;c=D}while(!((b|0)==0&(c|0)==0));return d|0}function Gq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=0;while(1){if((e|0)>=(b|0))break;c[d+(e<<2)>>2]=c[(c[a+12>>2]|0)+(e<<2)>>2];e=e+1|0}return}function Hq(a,b){a=a|0;b=b|0;tm(a,b);c[a+48>>2]=c[b+48>>2];c[a+48+4>>2]=c[b+48+4>>2];c[a+48+8>>2]=c[b+48+8>>2];c[a+48+12>>2]=c[b+48+12>>2];return}function Iq(a,b){a=a|0;b=b|0;as(a,b,b+16|0,b+32|0);as(a+16|0,b+4|0,b+20|0,b+36|0);as(a+32|0,b+8|0,b+24|0,b+40|0);return}function Jq(a,b){a=a|0;b=b|0;var c=0;c=0;while(1){if((c|0)==3)break;g[a+868+(c<<6)>>2]=+ss(+g[(bH(b)|0)+(c<<2)>>2]);c=c+1|0}return}function Kq(a){a=a|0;c[6485]=(c[6485]|0)+1;a=ic((a<<2|3)+16|0)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Lq(a,b){a=a|0;b=b|0;lb[c[(c[b>>2]|0)+32>>2]&511](b);dd(a,b);lb[c[(c[b>>2]|0)+36>>2]&511](b);return}function Mq(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;Ib[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function Nq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Vb[c[(c[a>>2]|0)+108>>2]&127](a,b,d);Vb[c[(c[a>>2]|0)+108>>2]&127](a,(b+1|0)%3|0,e);return}function Oq(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0;e=l;l=l+16|0;g[e+8>>2]=-b;g[e+4>>2]=-c;g[e>>2]=-d;as(a,e+8|0,e+4|0,e);l=e;return}function Pq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=js()|0;_d(f,a,b,c&65535,d,e);return f|0}function Qq(a){a=a|0;c[6485]=(c[6485]|0)+1;a=ic((a*104|3)+16|0)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Rq(a,b){a=a|0;b=b|0;c[a+12>>2]=c[b>>2];c[a+12+4>>2]=c[b+4>>2];c[a+12+8>>2]=c[b+8>>2];c[a+12+12>>2]=c[b+12>>2];return}function Sq(a,b){a=a|0;b=b|0;c[a+44>>2]=c[b>>2];c[a+44+4>>2]=c[b+4>>2];c[a+44+8>>2]=c[b+8>>2];c[a+44+12>>2]=c[b+12>>2];return}function Tq(a,c){a=a|0;c=c|0;if(!((b[c+4>>1]&b[a+6>>1])<<16>>16)){a=0;return a|0}a=(b[a+4>>1]&b[c+6>>1])<<16>>16!=0;return a|0}function Uq(a,c){a=a|0;c=c|0;if(!((b[c+4>>1]&b[a+10>>1])<<16>>16)){a=0;return a|0}a=(b[a+8>>1]&b[c+6>>1])<<16>>16!=0;return a|0}function Vq(a,b){a=a|0;b=b|0;c[a+696>>2]=c[b>>2];c[a+696+4>>2]=c[b+4>>2];c[a+696+8>>2]=c[b+8>>2];c[a+696+12>>2]=c[b+12>>2];return}function Wq(a,b){a=a|0;b=b|0;c[a+680>>2]=c[b>>2];c[a+680+4>>2]=c[b+4>>2];c[a+680+8>>2]=c[b+8>>2];c[a+680+12>>2]=c[b+12>>2];return}function Xq(a,b){a=a|0;b=b|0;c[a+60>>2]=c[b>>2];c[a+60+4>>2]=c[b+4>>2];c[a+60+8>>2]=c[b+8>>2];c[a+60+12>>2]=c[b+12>>2];return}function Yq(a,b){a=a|0;b=b|0;c[a+28>>2]=c[b>>2];c[a+28+4>>2]=c[b+4>>2];c[a+28+8>>2]=c[b+8>>2];c[a+28+12>>2]=c[b+12>>2];return}function Zq(a,b){a=a|0;b=b|0;c[a+156>>2]=c[b>>2];c[a+156+4>>2]=c[b+4>>2];c[a+156+8>>2]=c[b+8>>2];c[a+156+12>>2]=c[b+12>>2];return}function _q(a,c){a=a|0;c=c|0;if(!((b[c+4>>1]&b[a+14>>1])<<16>>16)){a=0;return a|0}a=(b[a+12>>1]&b[c+6>>1])<<16>>16!=0;return a|0}function $q(a,b){a=a|0;b=b|0;c[a+108>>2]=c[b>>2];c[a+108+4>>2]=c[b+4>>2];c[a+108+8>>2]=c[b+8>>2];c[a+108+12>>2]=c[b+12>>2];return}function ar(b){b=b|0;if(a[22616]|0)return 23332;if(!(qy(22616)|0))return 23332;c[5833]=1065353216;c[5834]=1065353216;c[5835]=1065353216;g[5836]=0.0;return 23332}function br(a,b){a=a|0;b=b|0;c[a+20>>2]=c[b>>2];c[a+20+4>>2]=c[b+4>>2];c[a+20+8>>2]=c[b+8>>2];c[a+20+12>>2]=c[b+12>>2];return}function cr(a){a=a|0;var b=0;do{c[a+4>>2]=0;g[a+8>>2]=0.0;b=c[a+24>>2]|0;if(b|0)cr(b);a=c[a+28>>2]|0}while((a|0)!=0);return}function dr(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;zd(a,b,c,d,e,f);return}function er(a,b){a=a|0;b=b|0;c[a+172>>2]=c[b>>2];c[a+172+4>>2]=c[b+4>>2];c[a+172+8>>2]=c[b+8>>2];c[a+172+12>>2]=c[b+12>>2];return}function fr(a,b){a=a|0;b=b|0;c[a+32>>2]=c[b>>2];c[a+32+4>>2]=c[b+4>>2];c[a+32+8>>2]=c[b+8>>2];c[a+32+12>>2]=c[b+12>>2];return}function gr(a){a=a|0;g[a>>2]=5.880000114440918;g[a+4>>2]=.8299999833106995;g[a+8>>2]=.8799999952316284;g[a+12>>2]=500.0;g[a+16>>2]=10.5;g[a+20>>2]=6.0e3;return}function hr(a,b){a=a|0;b=b|0;c[a+24>>2]=c[b>>2];c[a+24+4>>2]=c[b+4>>2];c[a+24+8>>2]=c[b+8>>2];c[a+24+12>>2]=c[b+12>>2];return}function ir(a,b){a=a|0;b=b|0;c[a+316>>2]=c[b>>2];c[a+316+4>>2]=c[b+4>>2];c[a+316+8>>2]=c[b+8>>2];c[a+316+12>>2]=c[b+12>>2];return}function jr(a,b){a=a|0;b=b|0;c[a+300>>2]=c[b>>2];c[a+300+4>>2]=c[b+4>>2];c[a+300+8>>2]=c[b+8>>2];c[a+300+12>>2]=c[b+12>>2];return}function kr(a,b){a=a|0;b=b|0;c[a+64>>2]=c[b>>2];c[a+64+4>>2]=c[b+4>>2];c[a+64+8>>2]=c[b+8>>2];c[a+64+12>>2]=c[b+12>>2];return}function lr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=js()|0;_d(e,a,b,c&65535,d,0);return e|0}function mr(a,b){a=a|0;b=b|0;c[a+52>>2]=c[b>>2];c[a+52+4>>2]=c[b+4>>2];c[a+52+8>>2]=c[b+8>>2];c[a+52+12>>2]=c[b+12>>2];return}function nr(a,b){a=a|0;b=b|0;c[a+188>>2]=c[b>>2];c[a+188+4>>2]=c[b+4>>2];c[a+188+8>>2]=c[b+8>>2];c[a+188+12>>2]=c[b+12>>2];return}function or(a,b){a=a|0;b=b|0;c[a+40>>2]=c[b>>2];c[a+40+4>>2]=c[b+4>>2];c[a+40+8>>2]=c[b+8>>2];c[a+40+12>>2]=c[b+12>>2];return}function pr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[d>>2];c[a+8>>2]=c[e>>2];c[a+12>>2]=c[f>>2];return}function qr(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return +vb[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function rr(a,b){a=a|0;b=b|0;c[a+16>>2]=c[b>>2];c[a+16+4>>2]=c[b+4>>2];c[a+16+8>>2]=c[b+8>>2];c[a+16+12>>2]=c[b+12>>2];return}function sr(a,b,d){a=a|0;b=b|0;d=+d;nb[c[(c[a>>2]|0)+32>>2]&127](a,b);Xb[c[(c[a>>2]|0)+36>>2]&7](a,b,d);return}function tr(a,b){a=a|0;b=b|0;c[a+68>>2]=c[b>>2];c[a+68+4>>2]=c[b+4>>2];c[a+68+8>>2]=c[b+8>>2];c[a+68+12>>2]=c[b+12>>2];return}function ur(a,b){a=a|0;b=b|0;c[a+36>>2]=c[b>>2];c[a+36+4>>2]=c[b+4>>2];c[a+36+8>>2]=c[b+8>>2];c[a+36+12>>2]=c[b+12>>2];return}function vr(a,b){a=a|0;b=b|0;c[a>>2]=c[b+248>>2];c[a+4>>2]=c[b+248+4>>2];c[a+8>>2]=c[b+248+8>>2];c[a+12>>2]=c[b+248+12>>2];return}function wr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=es()|0;Kd(d,a,b,c);return d|0}function xr(){var a=0;a=os()|0;wn();wn();uq(a,22892,22892);return a|0}function yr(a,b,d){a=a|0;b=b|0;d=d|0;if((c[a+4>>2]|0)==(b|0)?(c[a+28>>2]|0)!=1:0)c[a+28>>2]=d;return}function zr(){var a=0,b=0;b=ds(c[5672]|0,c[5673]|0,1284865837,1481765933)|0;b=Gv(b|0,D|0,1,0)|0;a=D;c[5672]=b;c[5673]=a;a=Jt(b|0,a|0,33)|0;return a|0}function Ar(a,b){a=a|0;b=b|0;c[a+48>>2]=c[b>>2];c[a+48+4>>2]=c[b+4>>2];c[a+48+8>>2]=c[b+8>>2];c[a+48+12>>2]=c[b+12>>2];return}function Br(){var a=0,b=0;a=l;l=l+16|0;if(!(_a(26508,3)|0)){b=Qa(c[6628]|0)|0;l=a;return b|0}else Lv(22180,a);return 0}function Cr(a,b){a=a|0;b=b|0;g[a>>2]=+g[a>>2]+ +g[b>>2];g[a+4>>2]=+g[a+4>>2]+ +g[b+4>>2];g[a+8>>2]=+g[a+8>>2]+ +g[b+8>>2];return a|0}function Dr(a,b){a=a|0;b=b|0;g[a>>2]=+g[a>>2]-+g[b>>2];g[a+4>>2]=+g[a+4>>2]-+g[b+4>>2];g[a+8>>2]=+g[a+8>>2]-+g[b+8>>2];return a|0}function Er(a,b){a=a|0;b=b|0;var c=0;c=l;l=l+64|0;Uo(c,b,a+68|0);Hq(a+4|0,c);l=c;return}function Fr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=l;l=l+16|0;Ne(a,b,d,e,f|0)|0;l=f;return (D=c[f+4>>2]|0,c[f>>2]|0)|0}function Gr(a){a=a|0;var b=0;b=Ir(112)|0;fg(b,a);return b|0}function Hr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=js()|0;_d(d,a,b,c&65535,0,0);return d|0}function Ir(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=ic(b)|0;if(a|0)break;a=vD()|0;if(!a){a=0;break}Wb[a&3]()}return a|0}function Jr(a,b){a=a|0;b=b|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function Kr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=Wr(1252)|0;uc(e,a,b,c,d);return e|0}function Lr(a,b){a=a|0;b=b|0;c[a+72>>2]=c[b>>2];c[a+72+4>>2]=c[b+4>>2];c[a+72+8>>2]=c[b+8>>2];c[a+72+12>>2]=c[b+12>>2];return}function Mr(a,b){a=a|0;b=b|0;g[a>>2]=+g[a>>2]*+g[b>>2];g[a+4>>2]=+g[a+4>>2]*+g[b>>2];g[a+8>>2]=+g[a+8>>2]*+g[b>>2];return a|0}function Nr(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;g[a+(c[b+52>>2]<<2)>>2]=1.0;return}function Or(a){a=a|0;var b=0;b=l;l=l+16|0;Uc(a);if(!(Sa(c[6628]|0,0)|0)){l=b;return}else Lv(22279,b)}function Pr(a,b){a=a|0;b=b|0;c[a+8>>2]=c[b>>2];c[a+8+4>>2]=c[b+4>>2];c[a+8+8>>2]=c[b+8>>2];c[a+8+12>>2]=c[b+12>>2];return}function Qr(){var a=0;c[6485]=(c[6485]|0)+1;a=ic(215)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Rr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Is()|0;Me(d,a,b,c);return d|0}function Sr(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return bc(b,c,d,e)|0}function Tr(b,c,d){b=b|0;c=c|0;d=d|0;a[b+1309+c>>0]=d&1;a[((c|0)<3?b+788+c|0:b+868+(c+-3<<6)+44|0)>>0]=d&1;return}function Ur(){var a=0;c[6485]=(c[6485]|0)+1;a=ic(203)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Vr(){var a=0;c[6485]=(c[6485]|0)+1;a=ic(1407)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Wr(a){a=a|0;c[6485]=(c[6485]|0)+1;a=ic(a+19|0)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Xr(a){a=a|0;var b=0;b=os()|0;wn();uq(b,a,22892);return b|0}function Yr(){var a=0;c[6485]=(c[6485]|0)+1;a=ic(191)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Zr(a,b){a=a|0;b=b|0;if(!b?c[a+204>>2]&3|0:0)return;if((c[a+216>>2]&-2|0)!=4)c[a+216>>2]=1;g[a+220>>2]=0.0;return}function _r(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Zb[c[(c[a+-4>>2]|0)+8>>2]&127](a+-4|0,b,d,e);return}function $r(a,b){a=a|0;b=b|0;var c=0.0;c=+OD(a);c=+PG(c*+OD(b));return +(+zz(+Qo(a,b)/c))}function as(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[d>>2];c[a+8>>2]=c[e>>2];g[a+12>>2]=0.0;return}function bs(){var a=0;c[6485]=(c[6485]|0)+1;a=ic(143)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function cs(){var a=0;c[6485]=(c[6485]|0)+1;a=ic(115)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function ds(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=qp(a,c)|0;f=D;return (D=(S(b,c)|0)+(S(d,a)|0)+f|f&0,e|0|0)|0}function es(){var a=0;c[6485]=(c[6485]|0)+1;a=ic(1331)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function fs(b){b=b|0;var d=0;d=c[b+12>>2]|0;if(!d)return;if(a[b+16>>0]&1)ix(d);c[b+12>>2]=0;return}function gs(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;Hb[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function hs(a){a=a|0;c[a>>2]=3768;c[a+12>>2]=3980;Rf(a+12|0);Ui(a+72|0);YG(a);return}function is(){var a=0;c[6485]=(c[6485]|0)+1;a=ic(379)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function js(){var a=0;c[6485]=(c[6485]|0)+1;a=ic(135)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function ks(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return}function ls(){var a=0;c[6485]=(c[6485]|0)+1;a=ic(627)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function ms(a,b){a=a|0;b=b|0;var c=0;c=js()|0;_d(c,a,b,16384,0,0);return c|0}function ns(){var a=0;c[6485]=(c[6485]|0)+1;a=ic(791)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function os(){var a=0;c[6485]=(c[6485]|0)+1;a=ic(219)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function ps(){var a=0;c[6485]=(c[6485]|0)+1;a=ic(1147)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function qs(a,b){a=a|0;b=b|0;var c=0;c=Ir(80)|0;Cm(c,a,b);return c|0}function rs(){var a=0;c[6485]=(c[6485]|0)+1;a=ic(103)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function ss(a){a=+a;a=+WF(a);if(a<-3.1415927410125732){a=a+6.2831854820251465;return +a}if(!(a>3.1415927410125732))return +a;a=a+-6.2831854820251465;return +a}function ts(){var a=0;c[6485]=(c[6485]|0)+1;a=ic(783)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function us(){var a=0;c[6485]=(c[6485]|0)+1;a=ic(131)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function vs(a,b){a=a|0;b=b|0;c[a+348>>2]=c[b>>2];c[a+348+4>>2]=c[b+4>>2];c[a+348+8>>2]=c[b+8>>2];return}function ws(){var a=0;c[6485]=(c[6485]|0)+1;a=ic(111)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function xs(a,b){a=a|0;b=b|0;c[a+480>>2]=b;if(!b)return;nb[c[(c[b>>2]|0)+8>>2]&127](b,a+4|0);return}function ys(a,b){a=a|0;b=b|0;var c=0;c=Is()|0;Me(c,a,b,1);return c|0}function zs(a){a=a|0;var b=0;b=Ir(92)|0;Jd(b,a);return b|0}function As(a,b){a=a|0;b=b|0;c[a>>2]=1065353216;c[a+4>>2]=1065353216;c[a+8>>2]=1065353216;g[a+12>>2]=0.0;return}function Bs(b){b=b|0;if(!(pb[c[(c[b>>2]|0)+40>>2]&127](b)|0))return;c[b+16>>2]=c[b+28>>2];a[b+169>>0]=1;return}function Cs(a){a=a|0;Uz(a+144|0);Uz(a+124|0);Uz(a+104|0);return}function Ds(a,b){a=a|0;b=b|0;var d=0;d=c[a+8>>2]|0;Vb[c[d+60>>2]&127](b,d,c[a+4>>2]|0);return 0}function Es(){var a=0;c[6485]=(c[6485]|0)+1;a=ic(71)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Fs(a,b){a=a|0;b=b|0;var d=0;d=a+92|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));return}function Gs(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Bg(a,b,c,d);return}function Hs(a){a=a|0;if(!a){a=0;return a|0}a=Kq(a)|0;return a|0}function Is(){var a=0;c[6485]=(c[6485]|0)+1;a=ic(95)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Js(a,b){a=a|0;b=b|0;return +(+lx(+g[a>>2],+g[a+4>>2],+g[a+8>>2],+g[b>>2],+g[b+4>>2],+g[b+8>>2]))}function Ks(a,b){a=a|0;b=b|0;var c=0;c=Ir(84)|0;Pm(c,a,b);return c|0}function Ls(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;return}function Ms(a){a=a|0;c[a>>2]=3768;c[a+12>>2]=3980;Rf(a+12|0);Ui(a+72|0);return}function Ns(){var a=0;c[6485]=(c[6485]|0)+1;a=ic(75)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Os(a){a=a|0;var b=0;b=l;l=l+16|0;c[b>>2]=bH(c[a+60>>2]|0)|0;a=lB(Wa(6,b|0)|0)|0;l=b;return a|0}function Ps(){var a=0;c[6485]=(c[6485]|0)+1;a=ic(35)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Qs(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Eb[a&3](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Rs(a){a=a|0;bg(a);if(!a)return;c[6486]=(c[6486]|0)+1;Uc(c[a+-4>>2]|0);return}function Ss(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Zb[c[(c[a>>2]|0)+8>>2]&127](a,b,d,e);return}function Ts(a){a=a|0;c[a>>2]=2928;g[a+4>>2]=1.0;c[a+8>>2]=0;b[a+12>>1]=1;b[a+14>>1]=-1;c[a+16>>2]=0;return}function Us(a){a=a|0;var b=0;b=Ns()|0;Qh(b,a);c[b>>2]=8440;c[b+52>>2]=2;return b|0}function Vs(a){a=a|0;var b=0;b=Ns()|0;Qh(b,a);c[b>>2]=8336;c[b+52>>2]=0;return b|0}function Ws(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=4096;c[a+12>>2]=4096;c[a+16>>2]=0;c[a+20>>2]=1;return}function Xs(a,b,d){a=a|0;b=b|0;d=d|0;le(c[a+116>>2]|0,c[a+144>>2]|0,b,d);return}function Ys(a,b){a=a|0;b=+b;var c=0;c=l;l=l+16|0;g[c>>2]=b;a=cq(a,c)|0;l=c;return a|0}function Zs(a,b){a=a|0;b=b|0;var c=0;c=os()|0;uq(c,a,b);return c|0}function _s(a,b,d){a=a|0;b=b|0;d=d|0;Vb[c[(c[b>>2]|0)+64>>2]&127](a,b,d);return}function $s(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 0.0}function at(a,b,d){a=a|0;b=+b;d=d|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;return}function bt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Zb[c[(c[a>>2]|0)+80>>2]&127](a,b,d,e);return}function ct(a){a=a|0;if(!a){a=0;return a|0}a=Qq(a)|0;return a|0}function dt(){var a=0;a=l;l=l+16|0;if(!(Ta(26512,259)|0)){l=a;return}else Lv(22229,a)}function et(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;return +Fb[a&3](b|0,c|0,d|0,+e,f|0,g|0)}function ft(a,b){a=a|0;b=+b;var c=0;c=l;l=l+16|0;g[c>>2]=b;a=Mr(a,c)|0;l=c;return a|0}function gt(a){a=a|0;if(c[a+204>>2]&3|0)return;if((c[a+216>>2]&-2|0)!=4)c[a+216>>2]=1;g[a+220>>2]=0.0;return}function ht(a,b){a=a|0;b=b|0;zn(a,+g[b>>2],+g[b+4>>2],+g[b+8>>2]);return}function it(){var a=0;a=Ir(8)|0;c[a>>2]=0;c[a+4>>2]=0;cy(a);return a|0}function jt(a,b){a=a|0;b=b|0;a=c[a+4>>2]|0;Kb[c[(c[a>>2]|0)+8>>2]&31](a,c[b+36>>2]|0)|0;return}function kt(a,b){a=a|0;b=b|0;Iq(a,b);as(a+48|0,b+48|0,b+52|0,b+56|0);return}function lt(a,b,d){a=a|0;b=b|0;d=d|0;Eg(c[a+116>>2]|0,b,d);return}function mt(a,b){a=a|0;b=b|0;c[a+260>>2]=(c[a+260>>2]|0)+1;c[a+192>>2]=b;c[a+200>>2]=b;return}function nt(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;Bb[a&7](b|0,c|0,d|0,e|0,f|0,g|0)}function ot(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;k=+k;l=l|0;W(33)}function pt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Zb[c[(c[a>>2]|0)+24>>2]&127](a,b,d,e);return}function qt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Zb[c[(c[a>>2]|0)+88>>2]&127](a,b,d,e);return}function rt(a,b,d){a=a|0;b=b|0;d=d|0;Vb[c[(c[b>>2]|0)+68>>2]&127](a,b,d);return}function st(b,d){b=b|0;d=d|0;b=(a[b+344>>0]|0)==0?3:0;c[d>>2]=b;c[d+4>>2]=b;return}function tt(a,b){a=a|0;b=+b;var c=0;c=l;l=l+16|0;g[c>>2]=1.0/b;a=cq(a,c)|0;l=c;return a|0}function ut(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Zb[c[(c[a>>2]|0)+36>>2]&127](a,b,d,e);return}function vt(a,b,d){a=a|0;b=+b;d=d|0;return Yb[c[(c[a>>2]|0)+52>>2]&1](a,b,d,.01666666753590107)|0}function wt(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}D=a<<c-32;return 0}function xt(a,b,d){a=a|0;b=+b;d=d|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;return}function yt(a,b){a=a|0;b=b|0;Kn(a,+g[b>>2],+g[b+4>>2],+g[b+8>>2]);return}function zt(a,b,d,e){a=a|0;b=+b;d=d|0;e=+e;return Yb[c[(c[a>>2]|0)+52>>2]&1](a,b,d,e)|0}function At(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=1065353216;g[a+12>>2]=0.0;return}function Bt(a,b){a=a|0;b=b|0;c[a>>2]=1065353216;c[a+4>>2]=0;c[a+8>>2]=0;g[a+12>>2]=0.0;return}function Ct(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=1065353216;c[a+8>>2]=0;g[a+12>>2]=0.0;return}function Dt(a,b){a=a|0;b=b|0;Vb[c[(c[a>>2]|0)+8>>2]&127](a,b,c[(c[a+8>>2]|0)+48>>2]|0);return}function Et(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;Ab[a&0](b|0,c|0,d|0,e|0,f|0,+g)}function Ft(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;mb[a&0](b|0,c|0,d|0,+e,f|0,g|0)}function Gt(a,b){a=a|0;b=b|0;Ln(a,+g[b>>2],+g[b+4>>2],+g[b+8>>2]);return}function Ht(b,d,e){b=b|0;d=d|0;e=+e;g[(c[b+720>>2]|0)+(d*104|0)+88>>2]=e>0.0?1.0/e:0.0;a[b+924>>0]=1;return}function It(a,b,d){a=a|0;b=b|0;d=+d;Xb[c[(c[a>>2]|0)+20>>2]&7](a,b,d);return}function Jt(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}D=0;return b>>>c-32|0}function Kt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Zb[c[(c[a>>2]|0)+124>>2]&127](a,e,b,d);return}function Lt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a+120>>2]=b;c[a+124>>2]=d;c[a+128>>2]=e;return}function Mt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;tb[c[(c[a>>2]|0)+8>>2]&31](a,b,d,e)|0;return}function Nt(a,b){a=a|0;b=b|0;Ip(a,+g[b>>2],+g[b+4>>2],+g[b+8>>2]);return}function Ot(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;as(a,b,d,e);c[a+12>>2]=c[f>>2];return}function Pt(b,c,d,e){b=b|0;c=c|0;d=+d;e=+e;a[b+737>>0]=c&1;g[b+680>>2]=d;g[b+684>>2]=e;return}function Qt(a,b){a=a|0;b=b|0;Hn(a,+g[b>>2],+g[b+4>>2],+g[b+8>>2]);return}function Rt(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;vn(a,b,c,d,e,f);return}function St(a){a=a|0;Pj(a);if(!a)return;c[6486]=(c[6486]|0)+1;Uc(c[a+-4>>2]|0);return}function Tt(a){a=a|0;Dl(a);if(!a)return;c[6486]=(c[6486]|0)+1;Uc(c[a+-4>>2]|0);return}function Ut(a,b,c,d,e,f,g){a=a|0;b=b|0;c=+c;d=+d;e=e|0;f=f|0;g=g|0;rb[a&0](b|0,+c,+d,e|0,f|0,g|0)}function Vt(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;W(29);return 0.0}function Wt(a,b,d){a=a|0;b=b|0;d=d|0;Zb[c[(c[a>>2]|0)+36>>2]&127](a,b,d,-3);return}function Xt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 1.0}function Yt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return}function Zt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Zb[c[(c[a>>2]|0)+32>>2]&127](a,b,d,e);return}function _t(a){a=a|0;Cg(a);if(!a)return;c[6486]=(c[6486]|0)+1;Uc(c[a+-4>>2]|0);return}function $t(){}function au(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (D=d,a-c>>>0|0)|0}function bu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Hf(a,b,c,d,e);return}function cu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Nf(a,b,c,d,e);return}function du(a){a=a|0;var b=0.0,c=0;c=+Qo(a,a)<0.0;b=+g[a+12>>2];return +(+zz(c?b:-b)*2.0)}function eu(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;W(5);return 0}function fu(a,b){a=a|0;b=b|0;He(a,b);return}function gu(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;k=+k;W(13)}function hu(a,b){a=a|0;b=b|0;Eg(c[a+116>>2]|0,b,1);return}function iu(a,b){a=a|0;b=b|0;c[a+260>>2]=(c[a+260>>2]|0)+1;Hq(a+4|0,b);return}function ju(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return +xb[a&15](b|0,c|0,d|0,e|0,f|0)}function ku(a,b){a=a|0;b=b|0;var c=0;c=Yr()|0;Wf(c,a,b);return c|0}function lu(a,b){a=a|0;b=b|0;if(!b)b=0;else b=Fi(c[b>>2]|0,c[b+4>>2]|0,a)|0;return (b|0?b:a)|0}function mu(a,b){a=a|0;b=b|0;Np(a,+g[b>>2],+g[b+4>>2],+g[b+8>>2]);return}function nu(a,b,d){a=a|0;b=b|0;d=d|0;Zb[c[(c[a>>2]|0)+36>>2]&127](a,b,d,-1);return}function ou(a,b){a=a|0;b=+b;var c=0;c=l;l=l+16|0;g[c>>2]=1.0/b;Mr(a,c)|0;l=c;return}function pu(a){a=a|0;c[a>>2]=3980;Rf(a);Ui(a+60|0);YG(a);return}function qu(a,b){a=a|0;b=+b;return Yb[c[(c[a>>2]|0)+52>>2]&1](a,b,1,.01666666753590107)|0}function ru(a){a=a|0;var b=0;b=Ir(8)|0;hv(b,a);return b|0}function su(a,b,d){a=a|0;b=b|0;d=d|0;Vb[c[(c[a>>2]|0)+56>>2]&127](a,b,d);return}function tu(a,b,d){a=a|0;b=b|0;d=+d;Xb[c[(c[a>>2]|0)+36>>2]&7](a,b,d);return}function uu(a){a=a|0;ai(a);if(!a)return;c[6486]=(c[6486]|0)+1;Uc(c[a+-4>>2]|0);return}function vu(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;W(26)}function wu(a){a=a|0;ej(a);if(!a)return;c[6486]=(c[6486]|0)+1;Uc(c[a+-4>>2]|0);return}function xu(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;vn(a,b,c,d,e,1.0);return}function yu(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;return +Rb[a&3](b|0,c|0,+d,e|0,f|0)}function zu(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;Pt(a,b,c,d);return}function Au(a,b){a=a|0;b=b|0;return c[(yA(c[a+24>>2]|0,b)|0)+64>>2]|0}function Bu(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;jb[a&31](b|0,c|0,d|0,e|0,f|0)}function Cu(a){a=a|0;if(!(c[a+12>>2]|0)){a=0;return a|0}a=c[a+20>>2]|0;return a|0}function Du(a){a=a|0;fs(a);zv(a);return}function Eu(a){a=a|0;Wl(a);if(!a)return;c[6486]=(c[6486]|0)+1;Uc(c[a+-4>>2]|0);return}function Fu(a,b){a=a|0;b=b|0;var c=0;c=Ir(64)|0;Rp(c,a,b);return c|0}function Gu(){var a=0;a=Ir(24)|0;Ws(a);return a|0}function Hu(a,b,d){a=a|0;b=b|0;d=+d;kb[c[(c[a>>2]|0)+16>>2]&31](a,d);return}function Iu(a,b,c){a=a|0;b=b|0;c=c|0;Mn(a,b,c);return}function Ju(a,b){a=a|0;b=b|0;Zb[c[(c[a>>2]|0)+36>>2]&127](a,b,2,-3);return}function Ku(a,b,d){a=a|0;b=+b;d=d|0;ub[c[(c[a>>2]|0)+32>>2]&15](a,b,d);return}function Lu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;return}function Mu(a){a=a|0;bi(a);if(!a)return;c[6486]=(c[6486]|0)+1;Uc(c[a+-4>>2]|0);return}function Nu(a){a=a|0;ei(a);if(!a)return;c[6486]=(c[6486]|0)+1;Uc(c[a+-4>>2]|0);return}function Ou(a,b){a=a|0;b=b|0;io(a,b);return}function Pu(a,b){a=a|0;b=b|0;io(a,b);return}function Qu(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;W(31);return 0.0}function Ru(a,b){a=a|0;b=b|0;io(a,b);return}function Su(a,b){a=a|0;b=b|0;return c[(sC(c[a+276>>2]|0,b)|0)>>2]|0}function Tu(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;Nb[a&1](b|0,c|0,d|0,e|0,+f)}function Uu(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;Gb[a&0](b|0,c|0,+d,e|0,f|0)}function Vu(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;W(36);return 0}function Wu(a){a=a|0;if(!(+g[a+16>>2]==0.0)){a=0;return a|0}a=+g[a+20>>2]==0.0;return a|0}function Xu(a){a=a|0;c[a>>2]=3980;Rf(a);Ui(a+60|0);return}function Yu(a,b){a=a|0;b=b|0;nb[c[(c[a>>2]|0)+16>>2]&127](a,b);return}function Zu(a,b){a=a|0;b=b|0;nb[c[(c[a>>2]|0)+40>>2]&127](a,b);return}function _u(a,b,d){a=a|0;b=b|0;d=+d;Xb[c[(c[a>>2]|0)+8>>2]&7](a,b,d);return}function $u(a,b){a=a|0;b=b|0;Wy(a,b);return}function av(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Kc(a,b,c,d)|0;return 1}function bv(a,b){a=a|0;b=b|0;nb[c[(c[a>>2]|0)+68>>2]&127](a,b);return}function cv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;pr(a,b,c,d,e);return}function dv(a){a=a|0;var b=0;b=Yr()|0;Wf(b,a,1);return b|0}function ev(a,b,d){a=a|0;b=+b;d=d|0;g[(c[a+144>>2]|0)+(d*284|0)+232>>2]=b;return}function fv(a,b,d){a=a|0;b=+b;d=d|0;g[(c[a+144>>2]|0)+(d*284|0)+252>>2]=b;return}function gv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return}function hv(a,b){a=a|0;b=b|0;EF(a);c[a>>2]=4980;c[a+4>>2]=b;return}function iv(a,b){a=a|0;b=b|0;Cq(a,b);return}function jv(a,b){a=a|0;b=b|0;Jq(a,b);return}function kv(a,b){a=a|0;b=b|0;Zb[c[(c[a>>2]|0)+36>>2]&127](a,b,1,-1);return}function lv(a){a=+a;var b=0;h[j>>3]=a;b=c[j>>2]|0;D=c[j+4>>2]|0;return b|0}function mv(a,b){a=a|0;b=b|0;nb[c[(c[a>>2]|0)+64>>2]&127](a,b);return}function nv(a,b,c){a=a|0;b=b|0;c=c|0;Kh(b,c);return}function ov(a){a=a|0;md(a);if(!a)return;c[6486]=(c[6486]|0)+1;Uc(c[a+-4>>2]|0);return}function pv(a){a=a|0;c[a>>2]=3100;g[a+4>>2]=1.0;b[a+8>>1]=1;b[a+10>>1]=-1;return}function qv(a,b){a=a|0;b=b|0;return c[(sC(c[a+12>>2]|0,b)|0)>>2]|0}function rv(a,b){a=a|0;b=b|0;if((c[a+216>>2]&-2|0)==4)return;c[a+216>>2]=b;return}function sv(a,b){a=a|0;b=b|0;Vq(a,b);return}function tv(a,b){a=a|0;b=b|0;Wq(a,b);return}function uv(a,b){a=a|0;b=b|0;Vb[c[(c[a>>2]|0)+56>>2]&127](a,b,0);return}function vv(a,b){a=a|0;b=+b;Xw(a,b);return}function wv(a,b){a=a|0;b=b|0;return Kb[c[(c[a>>2]|0)+40>>2]&31](a,b)|0}function xv(a,b){a=a|0;b=b|0;nb[c[(c[a>>2]|0)+60>>2]&127](a,b);return}function yv(a,b,d){a=a|0;b=b|0;d=+d;nb[c[(c[a>>2]|0)+12>>2]&127](a,b);return}function zv(b){b=b|0;a[b+16>>0]=1;c[b+12>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;return}function Av(a,b){a=a|0;b=b|0;nb[c[(c[a>>2]|0)+92>>2]&127](a,b);return}function Bv(a,b){a=a|0;b=b|0;Vm(a,b);return}function Cv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return tb[a&31](b|0,c|0,d|0,e|0)|0}function Dv(a,b){a=a|0;b=b|0;nb[c[(c[a>>2]|0)+32>>2]&127](a,b);return}function Ev(a){a=a|0;var b=0;b=Ns()|0;Qh(b,a);return b|0}function Fv(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;W(25)}function Gv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return (D=b+d+(a+c>>>0>>>0<a>>>0|0)>>>0,a+c>>>0|0)|0}function Hv(a,b,d){a=a|0;b=+b;d=d|0;g[(c[a+144>>2]|0)+(d*284|0)+256>>2]=b;return}function Iv(a,b){a=a|0;b=b|0;nb[c[(c[a>>2]|0)+84>>2]&127](a,b);return}function Jv(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;km(a,b,c,d);return}function Kv(a,b){a=a|0;b=b|0;nb[c[(c[a>>2]|0)+28>>2]&127](a,b);return}function Lv(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;c[d>>2]=b;yk(a,d);Qm();Ua()}function Mv(a,b){a=a|0;b=+b;c[a+260>>2]=(c[a+260>>2]|0)+1;g[a+232>>2]=b;return}function Nv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return +Sb[a&1](b|0,c|0,d|0,e|0)}function Ov(a,b){a=a|0;b=b|0;nb[c[(c[a>>2]|0)+72>>2]&127](a,b);return}function Pv(){var a=0;a=us()|0;_f(a,0,0,16);return a|0}function Qv(a){a=a|0;var b=0;b=Ir(284)|0;rj(b,a);return b|0}function Rv(a){a=a|0;if(!a)return;lb[c[(c[a>>2]|0)+8>>2]&511](a);return}function Sv(a,b){a=a|0;b=+b;g[a+36>>2]=b;g[a+40>>2]=+I(+b);return}function Tv(a){a=a|0;if(!a)return;lb[c[(c[a>>2]|0)+4>>2]&511](a);return}function Uv(a,b){a=a|0;b=+b;return +(+Db[c[(c[a>>2]|0)+16>>2]&15](a)*b)}function Vv(a){a=a|0;ou(a,+kz(+g[a>>2],+g[a+4>>2],+g[a+8>>2]));return}function Wv(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;W(12);return 0.0}function Xv(a,b){a=a|0;b=+b;eA(a,b);return}function Yv(a,b){a=a|0;b=b|0;Ru(a+868|0,b);return}function Zv(a,b){a=a|0;b=+b;c[a+260>>2]=(c[a+260>>2]|0)+1;g[a+228>>2]=b;return}function _v(a,b){a=a|0;b=b|0;Ee(a,b);return}function $v(a,b){a=a|0;b=b|0;nb[c[(c[a>>2]|0)+8>>2]&127](a,b);return}function aw(a){a=a|0;if(!a)return;Uz(a);YG(a);return}function bw(a,b,c){a=a|0;b=b|0;c=c|0;li(a,b,c);return}function cw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Zb[a&127](b|0,c|0,d|0,e|0)}function dw(a,b){a=a|0;b=b|0;nb[c[(c[a>>2]|0)+12>>2]&127](a,b);return}function ew(a,b,c){a=a|0;b=b|0;c=c|0;Zk(a,b,c);return}function fw(a,b){a=a|0;b=b|0;nb[c[(c[a>>2]|0)+68>>2]&127](a,b);return}function gw(a,b){a=a|0;b=+b;c[a+260>>2]=(c[a+260>>2]|0)+1;g[a+224>>2]=b;return}function hw(){var a=0;a=Yr()|0;Wf(a,1,1);return a|0}function iw(a,b,c){a=a|0;b=+b;c=+c;Tw(a,b,c);return}function jw(a,b){a=a|0;b=+b;kb[c[(c[a>>2]|0)+20>>2]&31](a,b);return}function kw(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;nl(a,b,c,d);return}function lw(a,b){a=a|0;b=+b;kb[c[(c[a>>2]|0)+16>>2]&31](a,b);return}function mw(a,b){a=a|0;b=b|0;return +(+g[(c[a+144>>2]|0)+(b*284|0)+232>>2])}function nw(){var a=0;a=Ir(196)|0;Fh(a,0);return a|0}function ow(a,b){a=a|0;b=b|0;nb[c[(c[a>>2]|0)+24>>2]&127](a,b);return}function pw(a,b,d){a=a|0;b=b|0;d=d|0;c[a+20>>2]=b;c[a+28>>2]=d;return}function qw(a,b,d){a=a|0;b=b|0;d=d|0;c[a+16>>2]=b;c[a+24>>2]=d;return}function rw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 0}function sw(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=+e;return Yb[a&1](b|0,+c,d|0,+e)|0}function tw(a,b,c){a=a|0;b=b|0;c=+c;sm(a,b,c);return}function uw(a,b){a=a|0;b=b|0;nb[c[(c[a>>2]|0)+64>>2]&127](a,b);return}function vw(a){a=a|0;var b=0;b=((bH(c[a+236>>2]|0)|0)&2|0)==0;return (b?0:a)|0}function ww(a,b){a=a|0;b=b|0;return HA(c[a+12>>2]|0,b)|0}function xw(a,b,c){a=a|0;b=b|0;c=c|0;Ml(a,b,c);return}function yw(a,b,c){a=a|0;b=b|0;c=+c;g[a+1340+(b<<2)>>2]=c;return}function zw(a,b,c){a=a|0;b=b|0;c=c|0;return dc(a,b,c)|0}function Aw(a,b){a=a|0;b=b|0;Rw(a,b);return}function Bw(a,b,c){a=a|0;b=b|0;c=+c;zq(a,b,c);return}function Cw(a,b){a=a|0;b=b|0;Bv(a+708|0,b);return}function Dw(a){a=a|0;if(!a)return;KD(a);YG(a);return}function Ew(a,b,c){a=a|0;b=b|0;c=+c;g[a+1364+(b<<2)>>2]=c;return}function Fw(a,b){a=a|0;b=b|0;je(a,b);return}function Gw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;Ub[a&15](b|0,c|0,d|0,+e)}function Hw(a){a=+a;var b=0;b=Es()|0;$o(b,a);return b|0}function Iw(a,b){a=a|0;b=b|0;iu(a,b);return}function Jw(a,b){a=a|0;b=+b;g[a+132>>2]=b;return}function Kw(a,b){a=a|0;b=+b;Wx(a,b);return}function Lw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;qb[a&7](b|0,c|0,+d,e|0)}function Mw(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;sb[a&0](b|0,+c,d|0,e|0)}function Nw(a,b){a=a|0;b=+b;g[a+128>>2]=b;return}function Ow(a,b){a=a|0;b=b|0;MA(a,b);return}function Pw(a,b){a=a|0;b=b|0;ir(a,b);return}function Qw(a,b){a=a|0;b=b|0;jr(a,b);return}function Rw(a,b){a=a|0;b=b|0;c[a+176>>2]=(b|0)<0?0:(b|0)<2?b:2;return}function Sw(a,b){a=a|0;b=b|0;c[a+24>>2]=b;return}function Tw(a,b,c){a=a|0;b=+b;c=+c;g[a+472>>2]=b;g[a+476>>2]=c;return}function Uw(a,b){a=a|0;b=b|0;return ZA(a,b)|0}function Vw(a,b){a=a|0;b=b|0;g[a+48>>2]=+(b|0);return}function Ww(a){a=a|0;var b=0;b=l;l=l+16|0;Wb[a&3]();Lv(22332,b)}function Xw(b,c){b=b|0;c=+c;g[b+572>>2]=c;a[b+553>>0]=1;return}function Yw(a,b){a=a|0;b=b|0;return c[(c[a+20>>2]|0)+(b<<2)>>2]|0}function Zw(a){a=a|0;return +(+mG(+g[a+16>>2]))}function _w(a){a=a|0;return pb[c[(c[a>>2]|0)+40>>2]&127](a)|0}function $w(a){a=a|0;var b=0;b=(bH(c[a+236>>2]|0)|0)==4;return (b?a:0)|0}function ax(a){a=a|0;return +(+kz(+g[a>>2],+g[a+4>>2],+g[a+8>>2]))}function bx(a,b){a=a|0;b=+b;zA(a,b);return}function cx(a,b){a=a|0;b=b|0;aB(a,b);return}function dx(a,b){a=a|0;b=b|0;xA(a,b);return}function ex(a,b){a=a|0;b=+b;kb[c[(c[a>>2]|0)+44>>2]&31](a,b);return}function fx(a,b){a=a|0;b=b|0;Sp(a,b);return}function gx(a,b){a=a|0;b=+b;g[a+136>>2]=b;return}function hx(a){a=a|0;return AE(+g[a+4>>2])|0}function ix(a){a=a|0;if(!a)return;c[6486]=(c[6486]|0)+1;Uc(c[a+-4>>2]|0);return}function jx(a,b){a=a|0;b=b|0;return (c[a+144>>2]|0)+(b*284|0)+92|0}function kx(a,b){a=a|0;b=b|0;return Su(a,b)|0}function lx(a,b,c,d,e,f){a=+a;b=+b;c=+c;d=+d;e=+e;f=+f;return +(a*d+b*e+c*f)}function mx(a){a=a|0;c[a>>2]=2880;b[a+4>>1]=1;b[a+6>>1]=-1;return}function nx(a){a=a|0;var b=0;b=(bH(c[a+236>>2]|0)|0)==8;return (b?a:0)|0}function ox(){var a=0;a=Ir(24)|0;gr(a);return a|0}function px(a,b){a=a|0;b=b|0;Vp(a,b);return}function qx(a,b){a=a|0;b=+b;nB(a,b);return}function rx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return}function sx(a){a=a|0;g[a>>2]=.30000001192092896;g[a+4>>2]=1.0;g[a+8>>2]=0.0;return}function tx(a,b){a=a|0;b=+b;JA(a,b);return}function ux(a){a=a|0;lb[c[(c[a>>2]|0)+44>>2]&511](a);return}function vx(a,b){a=a|0;b=b|0;Hq(a+4|0,b);return}function wx(a){a=a|0;return _D(c[a+204>>2]|0)|0}function xx(a,b){a=a|0;b=+b;oB(a,b);return}function yx(a,b){a=a|0;b=+b;zy(a,b);return}function zx(a,b){a=a|0;b=+b;pB(a,b);return}function Ax(a,b){a=a|0;b=+b;Ay(a,b);return}function Bx(a,b){a=a|0;b=b|0;xs(a,b);return}function Cx(a,b){a=a|0;b=b|0;Xp(a,b);return}function Dx(a){a=a|0;return +(+mG(+g[a+112>>2]))}function Ex(b,c){b=b|0;c=c|0;a[b+32>>0]=c&1;return}function Fx(a){a=a|0;return TD(c[a+8>>2]|0)|0}function Gx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return zb[a&63](b|0,c|0,d|0)|0}function Hx(a,b){a=a|0;b=b|0;return +(+Zn(a,b))}function Ix(a,b){a=a|0;b=b|0;li(a,b,1);return}function Jx(a,b){a=a|0;b=b|0;SA(a,b);return}function Kx(a){a=a|0;if(!a)a=0;else a=(Si(a,2816)|0)!=0;return a&1|0}function Lx(a){a=a|0;tj(a);YG(a);return}function Mx(a,b){a=a|0;b=b|0;im(a,b);return}function Nx(a,b){a=a|0;b=+b;g[a+116>>2]=b;return}function Ox(a,b){a=a|0;b=b|0;Lz(a,b,+KC(b));return}function Px(a,b){a=a|0;b=b|0;mB(a,b);return}function Qx(a,b){a=a|0;b=b|0;kt(a,b);return}function Rx(){var a=0;a=Ir(100)|0;lm(a);return a|0}function Sx(a,b){a=a|0;b=+b;g[a+112>>2]=b;return}function Tx(a,b){a=a|0;b=+b;g[a+124>>2]=b;return}function Ux(a,b){a=a|0;b=b|0;_A(a,b);return}function Vx(a,b){a=a|0;b=b|0;return c[(c[a+220>>2]|0)+(b<<2)>>2]|0}function Wx(b,c){b=b|0;c=+c;g[b+572>>2]=c;a[b+553>>0]=0;return}function Xx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +Lb[a&15](b|0,c|0,d|0)}function Yx(a,b){a=a|0;b=b|0;$A(a,b);return}function Zx(a,b){a=a|0;b=b|0;return dc(a,b,8192)|0}function _x(b,c){b=b|0;c=c|0;a[b+120>>0]=c&1;return}function $x(){var a=0;a=Ir(12)|0;sx(a);return a|0}function ay(a){a=a|0;if(!a)return;Cs(a);YG(a);return}function by(a){a=a|0;return pb[c[(c[a>>2]|0)+48>>2]&127](a)|0}function cy(a){a=a|0;mx(a);c[a>>2]=2856;return}function dy(a){a=a|0;return CE(a)|0}function ey(a,b){a=a|0;b=+b;Mv(a,b);return}function fy(a,b){a=a|0;b=b|0;return +(+ef(a,b))}function gy(a){a=a|0;return +(+mG(+g[a+120>>2]))}function hy(){var a=0;a=Ir(4)|0;qA(a);return a|0}function iy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return}function jy(a,b){a=a|0;b=+b;XB(a,b);return}function ky(a,b){a=a|0;b=b|0;ph(a,b);return}function ly(a,b){a=a|0;b=+b;VB(a,b);return}function my(a,b){a=a|0;b=b|0;return Au(a,b)|0}function ny(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return Cb[a&7](b|0,c|0,+d)|0}function oy(a){a=a|0;return +(+g[a+132>>2])}function py(a){a=a|0;return Py(c[a+68>>2]|0)|0}function qy(b){b=b|0;if((a[b>>0]|0)==1)b=0;else{a[b>>0]=1;b=1}return b|0}function ry(b,c){b=b|0;c=c|0;a[b+80>>0]=c&1;return}function sy(a,b){a=a|0;b=b|0;qB(a,b);return}function ty(a){a=a|0;return +(+g[a+128>>2])}function uy(a,b){a=a|0;b=b|0;return (c[a+144>>2]|0)+(b*284|0)|0}function vy(a,b){a=a|0;b=b|0;wB(a,b);return}function wy(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;W(24)}function xy(a){a=a|0;return UB(a)|0}function yy(a){a=a|0;zv(a);return}function zy(a,b){a=a|0;b=+b;g[a+196>>2]=+ss(b);return}function Ay(a,b){a=a|0;b=+b;g[a+192>>2]=+ss(b);return}function By(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Vb[a&127](b|0,c|0,d|0)}function Cy(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))lk(b,d,a);return}function Dy(a,b){a=a|0;b=b|0;Hq(a+92|0,b);return}function Ey(a){a=a|0;pj(a);YG(a);return}function Fy(a,b){a=a|0;b=+b;g[a+268>>2]=b;return}function Gy(a){a=a|0;return +(+mG(+g[a+80>>2]))}function Hy(a,b){a=a|0;b=b|0;c[b+748>>2]=0;return}function Iy(a,b){a=a|0;b=b|0;kk(a,b);return}function Jy(a){a=a|0;return dF(a)|0}function Ky(a,b){a=a|0;b=+b;Zv(a,b);return}function Ly(a,b){a=a|0;b=+b;g[a+96>>2]=b;return}function My(a){a=a|0;return +(+Db[c[(c[a>>2]|0)+48>>2]&15](a))}function Ny(a,c){a=a|0;c=c|0;b[a+10>>1]=c;return}function Oy(a,c){a=a|0;c=c|0;b[a+8>>1]=c;return}function Py(a){a=a|0;return pb[c[(c[a>>2]|0)+36>>2]&127](a)|0}function Qy(a){a=a|0;var b=0;b=l;l=l+a|0;l=l+15&-16;return b|0}function Ry(a,b){a=a|0;b=b|0;Ad(a,b);return}function Sy(a,b){a=a|0;b=b|0;WB(a,b);return}function Ty(a,b){a=a|0;b=+b;g[a+92>>2]=b;return}function Uy(a){a=a|0;return +(+g[a+136>>2])}function Vy(b){b=b|0;return (a[b+32>>0]&1)!=0|0}function Wy(b,c){b=b|0;c=c|0;a[b+170>>0]=c&1;return}function Xy(a,b){a=a|0;b=b|0;Ar(a,b);return}function Yy(a,b){a=a|0;b=b|0;on(a+288|0,b);return}function Zy(a,b){a=a|0;b=b|0;return vw(b)|0}function _y(a,b){a=a|0;b=+b;g[a+108>>2]=b;return}function $y(a,c){a=a|0;c=c|0;b[a+12>>1]=c;return}function az(a,b){a=a|0;b=b|0;ph(b,a);return}function bz(a,b){a=a|0;b=+b;g[a+272>>2]=b;return}function cz(a){a=a|0;return gF(a)|0}function dz(a){a=a|0;return hF(a)|0}function ez(a){a=a|0;return kF(a)|0}function fz(a,c){a=a|0;c=c|0;b[a+14>>1]=c;return}function gz(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;W(21);return 0}function hz(a,b){a=a|0;b=b|0;Iy(a,b);return}function iz(a,b){a=a|0;b=b|0;return nx(b)|0}function jz(a,b){a=a|0;b=b|0;c[a+44>>2]=b&1;return}function kz(a,b,c){a=+a;b=+b;c=+c;return +(+PG(+yz(a,b,c)))}function lz(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;ub[a&15](b|0,+c,d|0)}function mz(a,b){a=a|0;b=b|0;if(!a)a=0;else a=zk(a,b)|0;return a|0}function nz(a,b){a=a|0;b=+b;g[a+220>>2]=b;return}function oz(a,b){a=a|0;b=+b;g[a+100>>2]=b;return}function pz(b){b=b|0;return (a[b+120>>0]&1)!=0|0}function qz(b,c){b=b|0;c=c|0;a[b+24>>0]=c&1;return}function rz(a){a=a|0;return ~~+g[a+48>>2]|0}function sz(b,c){b=b|0;c=c|0;a[b+180>>0]=c&1;return}function tz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;Xb[a&7](b|0,c|0,+d)}function uz(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;W(22);return 0.0}function vz(a,b){a=a|0;b=+b;g[a+224>>2]=b;return}function wz(a,b){a=a|0;b=+b;gw(a,b);return}function xz(a){a=a|0;return XA(c[a+216>>2]|0)|0}function yz(a,b,c){a=+a;b=+b;c=+c;return +(+lx(a,b,c,a,b,c))}function zz(a){a=+a;if(!(a<-1.0)){if(a>1.0)a=1.0}else a=-1.0;return +(+L(+a))}function Az(a){a=a|0;return +(+g[a+116>>2])}function Bz(a){a=a|0;return +(+du(a))}function Cz(b,c){b=b|0;c=c|0;a[b+16>>0]=c&1;return}function Dz(a){a=a|0;return JC(a)|0}function Ez(a,b){a=a|0;b=+b;g[a+276>>2]=b;return}function Fz(a,b){a=a|0;b=+b;g[a+204>>2]=b;return}function Gz(a,b){a=a|0;b=+b;g[a+208>>2]=b;return}function Hz(a){a=a|0;return +(+g[a+112>>2])}function Iz(a){a=a|0;return +(+g[a+124>>2])}function Jz(a,b,c){a=a|0;b=+b;c=c|0;return}function Kz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return}function Lz(a,b,c){a=a|0;b=b|0;c=+c;En(a,b,1.0/c);return}function Mz(a){a=a|0;Ze(a);YG(a);return}function Nz(a,b){a=a|0;b=b|0;var c=0;c=lA(a|0)|0;return ((b|0)==0?a:c)|0}function Oz(a,b){a=a|0;b=+b;g[a+216>>2]=b;return}function Pz(b){b=b|0;return (a[b+80>>0]&1)!=0|0}function Qz(a){a=a|0;if(!a)return;ix(a);return}function Rz(a,b){a=a|0;b=b|0;c[a+36>>2]=b;return}function Sz(a,b){a=a|0;b=b|0;c[a+32>>2]=b;return}function Tz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ne(a,b,c,d,0)|0}function Uz(a){a=a|0;Du(a);return}function Vz(b,c){b=b|0;c=c|0;a[b+260>>0]=c&1;return}function Wz(a){a=a|0;return FF(a)|0}function Xz(b,c){b=b|0;c=c|0;a[b+25>>0]=c&1;return}function Yz(a,b,c){a=a|0;b=+b;c=c|0;return}function Zz(a,b){a=a|0;b=b|0;c[a+72>>2]=b;return}function _z(a){a=a|0;tt(a,+KC(a))|0;return}function $z(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;yb[a&7](b|0,+c,+d)}function aA(a){a=a|0;return +(+IF(+g[a+12>>2]))}function bA(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function cA(a){a=a|0;return BF(a)|0}function dA(a,b){a=a|0;b=b|0;return +(+$r(a,b))}function eA(a,b){a=a|0;b=+b;g[a+16>>2]=b;return}function fA(a,b){a=a|0;b=b|0;c[a+216>>2]=b;return}function gA(b,c){b=b|0;c=c|0;a[b+26>>0]=c&1;return}function hA(b,c){b=b|0;c=c|0;a[b+84>>0]=c&1;return}function iA(a){a=a|0;ak(a);YG(a);return}function jA(a){a=a|0;Ak(a);YG(a);return}function kA(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;W(18)}function lA(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function mA(a){a=a|0;return JF(a)|0}function nA(a){a=a|0;return hD(a)|0}function oA(a){a=a|0;return (c[a+116>>2]|0)+4|0}function pA(a,b){a=a|0;b=b|0;c[a+4>>2]=b;return}function qA(a){a=a|0;SE(a);c[a>>2]=2952;return}function rA(a,b,c){a=a|0;b=b|0;c=c|0;return Kb[a&31](b|0,c|0)|0}function sA(a,b){a=a|0;b=+b;g[a+244>>2]=b;return}function tA(a,b){a=a|0;b=+b;g[a+240>>2]=b;return}function uA(a){a=a|0;return +(+g[a+104>>2])}function vA(a,b){a=a|0;b=b|0;return ul(a,b)|0}function wA(a){a=a|0;$j(a);YG(a);return}function xA(b,c){b=b|0;c=c|0;a[b+524>>0]=c&1;return}function yA(a,b){a=a|0;b=b|0;return a+(b*80|0)|0}function zA(a,b){a=a|0;b=+b;g[a+248>>2]=b;return}function AA(a,b){a=a|0;b=+b;g[a+212>>2]=b;return}function BA(a,b){a=a|0;b=+b;g[a+228>>2]=b;return}function CA(a){a=a|0;return +(+g[a+268>>2])}function DA(a){a=a|0;return bH(c[a+84>>2]|0)|0}function EA(a,b){a=a|0;b=b|0;return eo(a,b)|0}function FA(a,b){a=a|0;b=b|0;return co(a,b)|0}function GA(a,b){a=a|0;b=b|0;return +(+Qo(a,b))}function HA(a,b){a=a|0;b=b|0;return a+(b*104|0)|0}function IA(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;W(17)}function JA(a,b){a=a|0;b=+b;g[a+252>>2]=b;return}function KA(a){a=a|0;return +(+g[a+96>>2])}function LA(a){a=a|0;return (c[a+44>>2]|0)!=0|0}function MA(a,b){a=a|0;b=b|0;c[a+84>>2]=b;return}function NA(a){a=a|0;yy(a);return}function OA(a){a=a|0;return +(+g[a+92>>2])}function PA(a){a=a|0;return bH(c[a+88>>2]|0)|0}function QA(a){a=a|0;return bH(c[a+748>>2]|0)|0}function RA(b){b=b|0;return (a[b+24>>0]&1)!=0|0}function SA(b,c){b=b|0;c=c|0;a[b+552>>0]=c&1;return}function TA(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function UA(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;W(3)}function VA(a){a=a|0;return gE(a)|0}function WA(a){a=a|0;return +(+g[a+108>>2])}function XA(a){a=a|0;a=bH(a)|0;return (a|0)!=5&(a|0)!=2|0}function YA(a){a=a|0;bk(a);YG(a);return}function ZA(a,b){a=a|0;b=b|0;return a+4+(b*184|0)|0}function _A(b,c){b=b|0;c=c|0;a[b+736>>0]=c&1;return}function $A(a,b){a=a|0;b=b|0;c[a+204>>2]=b;return}function aB(a,b){a=a|0;b=b|0;c[a+88>>2]=b;return}function bB(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;W(14);return 0.0}function cB(a,b){a=a|0;b=+b;g[a+232>>2]=b;return}function dB(a,b){a=a|0;b=+b;g[a+280>>2]=b;return}function eB(a,b){a=a|0;b=+b;g[a+236>>2]=b;return}function fB(a){a=a|0;return +(+g[a+272>>2])}function gB(a,b){a=a|0;b=+b;return tt(a,b)|0}function hB(b){b=b|0;return (a[b+16>>0]&1)!=0|0}function iB(a,b){a=a|0;b=b|0;c[a>>2]=b;return}function jB(a){a=a|0;return b[a+10>>1]|0}function kB(a){a=a|0;return b[a+8>>1]|0}function lB(a){a=a|0;if(a>>>0>4294963200){c[6630]=0-a;a=-1}return a|0}function mB(b,c){b=b|0;c=c|0;a[b+21>>0]=c&1;return}function nB(a,b){a=a|0;b=+b;g[a+684>>2]=b;return}function oB(a,b){a=a|0;b=+b;g[a+188>>2]=b;return}function pB(a,b){a=a|0;b=+b;g[a+184>>2]=b;return}function qB(a,b){a=a|0;b=b|0;c[a+240>>2]=b;return}function rB(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;W(8)}function sB(a){a=a|0;return +(+g[a+220>>2])}function tB(a){a=a|0;return +(+g[a+100>>2])}function uB(a){a=a|0;return bH(c[a+128>>2]|0)|0}function vB(a){a=a|0;return b[a+12>>1]|0}function wB(b,c){b=b|0;c=c|0;a[b+737>>0]=c&1;return}function xB(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;W(34);return 0.0}function yB(a,b){a=a|0;b=+b;g[a+256>>2]=b;return}function zB(a){a=a|0;return +(+g[a+224>>2])}function AB(a,b){a=a|0;b=b|0;return Dr(a,b)|0}function BB(a,b){a=a|0;b=b|0;return Cr(a,b)|0}function CB(a){a=a|0;return Yg(a)|0}function DB(a){a=a|0;return b[a+14>>1]|0}function EB(a,b){a=a|0;b=b|0;c[a+84>>2]=b;return}function FB(a,b){a=a|0;b=b|0;c[a+88>>2]=b;return}function GB(a,b){a=a|0;b=b|0;c[a+92>>2]=b;return}function HB(a,b){a=a|0;b=b|0;c[a+100>>2]=b;return}function IB(a,b){a=a|0;b=b|0;c[a+96>>2]=b;return}function JB(a){a=a|0;return (c[a+48>>2]|0)==1|0}function KB(a){a=a|0;ck(a);YG(a);return}function LB(a,b){a=a|0;b=b|0;return (a|0)==(b|0)|0}function MB(a,b){a=a|0;b=b|0;if(!o){o=a;p=b}}function NB(b){b=b|0;return (a[b+260>>0]&1)!=0|0}function OB(a){a=a|0;return bH(c[a+116>>2]|0)|0}function PB(a){a=a|0;return bH(c[a+120>>2]|0)|0}function QB(a){a=a|0;return bH(c[a+744>>2]|0)|0}function RB(a){a=a|0;return bH(c[a+740>>2]|0)|0}function SB(b){b=b|0;return (a[b+25>>0]&1)!=0|0}function TB(a){a=a|0;return (c[a+92>>2]|0)+4|0}function UB(a){a=a|0;return bH(c[a+268>>2]|0)|0}function VB(a,b){a=a|0;b=+b;g[a+440>>2]=b;return}function WB(a,b){a=a|0;b=b|0;c[a+240>>2]=b;return}function XB(a,b){a=a|0;b=+b;g[a+104>>2]=b;return}function YB(a,b,c){a=a|0;b=b|0;c=c|0;nb[a&127](b|0,c|0)}function ZB(a,b,c){a=a|0;b=b|0;c=+c;return +Pb[a&1](b|0,+c)}function _B(a){a=a|0;return +(+g[a+276>>2])}function $B(a){a=a|0;return +(+g[a+208>>2])}function aC(a){a=a|0;return bH(c[a+192>>2]|0)|0}function bC(a){a=a|0;return bH(c[a+204>>2]|0)|0}function cC(a){a=a|0;return bH(c[a+24>>2]|0)|0}function dC(a){a=a|0;return bH(c[a+68>>2]|0)|0}function eC(a,b){a=a|0;b=b|0;c[a+16>>2]=b;return}function fC(a,b){a=a|0;b=+b;g[a+64>>2]=b;return}function gC(a,b){a=a|0;b=+b;g[a+68>>2]=b;return}function hC(a){a=a|0;if(!a)return;YG(a);return}function iC(a){a=+a;return (g[j>>2]=a,c[j>>2]|0)|0}function jC(a){a=a|0;return +(+g[a+216>>2])}function kC(a){a=a|0;return bH(c[a+480>>2]|0)|0}function lC(a){a=a|0;return bH(c[a+124>>2]|0)|0}function mC(a,b){a=a|0;b=+b;$D(a,b);return}function nC(b){b=b|0;return (a[b+26>>0]&1)!=0|0}function oC(b){b=b|0;return (a[b+84>>0]&1)!=0|0}function pC(a,b){a=a|0;b=+b;g[a+80>>2]=b;return}function qC(a,b){a=a|0;b=+b;g[a+76>>2]=b;return}function rC(a){a=a|0;return +(+g[a+28>>2]*+g[a+12>>2])}function sC(a,b){a=a|0;b=b|0;return a+(b<<2)|0}function tC(a,b,c){a=a|0;b=b|0;c=c|0;return}function uC(a){a=a|0;return +(+g[a+248>>2])}function vC(a){a=a|0;return bH(c[a+240>>2]|0)|0}function wC(a,b){a=a|0;b=+b;g[a+60>>2]=b;return}function xC(a,b){a=a|0;b=+b;g[a+52>>2]=b;return}function yC(a,b){a=a|0;b=+b;g[a+56>>2]=b;return}function zC(a,b,c){a=a|0;b=b|0;c=+c;return 0}function AC(a){a=a|0;return +(+g[a+204>>2])}function BC(a){a=a|0;wq(a);return}function CC(a,b){a=a|0;b=b|0;return}function DC(a,b){a=a|0;b=+b;xE(a,b);return}function EC(a,b){a=a|0;b=+b;yE(a,b);return}function FC(a,b){a=a|0;b=+b;RE(a,b);return}function GC(a){a=a|0;return c[a+36>>2]|0}function HC(a){a=a|0;return c[a+32>>2]|0}function IC(a){a=a|0;return (c[a+48>>2]|0)+4|0}function JC(a){a=a|0;return bH(c[a+16>>2]|0)|0}function KC(a){a=a|0;return +(+PG(+OD(a)))}function LC(a){a=a|0;return a+44|0}function MC(a){a=a|0;return c[a+68>>2]|0}function NC(a){a=a|0;Uz(a);return}function OC(a,b,c){a=a|0;b=b|0;c=+c;kb[a&31](b|0,+c)}function PC(a){a=a|0;return +(+g[(HG(a)|0)>>2])}function QC(a){a=a|0;return +(+g[(IG(a)|0)>>2])}function RC(a){a=a|0;return +(+g[(GG(a)|0)>>2])}function SC(a){a=a|0;return cG(a)|0}function TC(a){a=a|0;_z(a);return}function UC(a){a=a|0;return c[a+8>>2]|0}function VC(a,b){a=a|0;b=+b;g[a+40>>2]=b;return}function WC(a,b){a=a|0;b=+b;g[a+36>>2]=b;return}function XC(a,b){a=a|0;b=+b;g[a+48>>2]=b;return}function YC(a){a=a|0;return a+60|0}function ZC(a){a=a|0;return c[a+200>>2]|0}function _C(a){a=a|0;return +(+g[a+244>>2])}function $C(a){a=a|0;return +(+g[a+240>>2])}function aD(a){a=a|0;return +(+OD(a))}function bD(a,b){a=a|0;b=+b;g[a+24>>2]=b;return}function cD(a,b){a=a|0;b=+b;g[a+20>>2]=b;return}function dD(a,b){a=a|0;b=+b;g[a+32>>2]=b;return}function eD(a,b){a=a|0;b=+b;g[a+16>>2]=b;return}function fD(a,b){a=a|0;b=+b;g[a+28>>2]=b;return}function gD(a){a=a|0;return c[a+212>>2]|0}function hD(a){a=a|0;return bH(c[a+136>>2]|0)|0}function iD(a){a=a|0;c[a+192>>2]=0;return}function jD(a,b,c){a=a|0;b=b|0;c=c|0;return}function kD(a,b){a=a|0;b=+b;g[a+72>>2]=b;return}function lD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;W(0)}function mD(a){a=a|0;return +(+g[a+212>>2])}function nD(a){a=a|0;return +(+g[a+228>>2])}function oD(a){a=a|0;return c[a+24>>2]|0}function pD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;W(30)}function qD(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;W(23)}function rD(a){a=a|0;return +(+g[a+252>>2])}function sD(a){a=a|0;return IG(a)|0}function tD(a){a=a|0;return +(+KC(a))}function uD(a){a=a|0;return c[a+4>>2]|0}function vD(){var a=0;a=c[6629]|0;c[6629]=a+0;return a|0}function wD(a){a=a|0;return c[a+136>>2]|0}function xD(a,b){a=a|0;b=+b;g[a+44>>2]=b;return}function yD(a){a=a|0;return a+156|0}function zD(a){a=a|0;return a+20|0}function AD(){var a=0;a=c[2413]|0;c[2413]=a+0;return a|0}function BD(a){a=a|0;fi(a);YG(a);return}function CD(a){a=a|0;Ro(a);YG(a);return}function DD(a){a=a|0;yj(a);YG(a);return}function ED(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;W(35);return 0.0}function FD(a){a=a|0;return +(+g[a+232>>2])}function GD(a){a=a|0;return +(+g[a+280>>2])}function HD(a){a=a|0;return +(+g[a+236>>2])}function ID(a){a=a|0;return 348}function JD(a){a=a|0;return c[a+12>>2]|0}function KD(a){a=a|0;NC(a+56|0);return}function LD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;W(10);return 0}function MD(a){a=a|0;Vv(a);return}function ND(a){a=a|0;return bH(c[a+4>>2]|0)|0}function OD(a){a=a|0;return +(+Qo(a,a))}function PD(a){a=a|0;return +(+g[a+256>>2])}function QD(a){a=a|0;return a+348|0}function RD(a){a=a|0;return +(+g[a>>2])}function SD(a){a=a|0;return c[a>>2]|0}function TD(a){a=a|0;return (a|0)!=0|0}function UD(a,b){a=a|0;b=b|0;return pb[a&127](b|0)|0}function VD(a){a=a|0;return a+24|0}function WD(a){a=a|0;Ra(a|0)|0;Qp()}function XD(a){a=a|0;return a+64|0}function YD(a){a=a|0;return +(+g[a+64>>2])}function ZD(a){a=a|0;return +(+g[a+68>>2])}function _D(a){a=a|0;return (a&2|0)!=0|0}function $D(a,b){a=a|0;b=+b;g[a+12>>2]=b;return}function aE(a){a=a|0;return a+172|0}function bE(a){a=a|0;return c[a+84>>2]|0}function cE(a){a=a|0;return c[a+88>>2]|0}function dE(a){a=a|0;return c[a+92>>2]|0}function eE(a){a=a|0;return c[a+100>>2]|0}function fE(a){a=a|0;return 252}function gE(a){a=a|0;return c[a+240>>2]|0}function hE(a,b,c,d){a=a|0;b=+b;c=c|0;d=+d;W(41);return 0}function iE(a){a=a|0;return +(+g[(bH(a)|0)>>2])}function jE(a){a=a|0;return a+52|0}function kE(a){a=a|0;return +(+g[a+80>>2])}function lE(a){a=a|0;return +(+g[a+76>>2])}function mE(a){a=a|0;return 28}function nE(a){a=a|0;return c[a+72>>2]|0}function oE(a,b){a=a|0;b=b|0;return +Db[a&15](b|0)}function pE(a){a=a|0;return a+40|0}function qE(a){a=a|0;return c[a+16>>2]|0}function rE(a){a=a|0;return +(+g[a+60>>2])}function sE(a){a=a|0;return +(+g[a+52>>2])}function tE(a){a=a|0;return +(+g[a+56>>2])}function uE(a){a=a|0;return a+108|0}function vE(a){a=a|0;return 212}function wE(a){a=a|0;return c[a+96>>2]|0}function xE(a,b){a=a|0;b=+b;g[a+8>>2]=b;return}function yE(a,b){a=a|0;b=+b;g[a+4>>2]=b;return}function zE(a){a=a|0;return a+16|0}function AE(a){a=+a;return a<1.0|0}function BE(a,b){a=a|0;b=b|0;return 1}function CE(a){a=a|0;return a+324|0}function DE(a){a=a|0;OF(a);return}function EE(a,b){a=a|0;b=b|0;l=a;m=b}function FE(a){a=a|0;return a+188|0}function GE(a){a=a|0;return 204}function HE(a,b){a=a|0;b=b|0;return}function IE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;W(42)}function JE(a){a=a|0;return a+36|0}function KE(a){a=a|0;return +(+g[a+44>>2])}function LE(a){a=a|0;return +(+g[a+40>>2])}function ME(a){a=a|0;return +(+g[a+36>>2])}function NE(a){a=a|0;return +(+g[a+48>>2])}function OE(a){a=a|0;return 220}function PE(a){a=a|0;return 256}function QE(a){a=a|0;return +(+g[a+72>>2])}function RE(a,b){a=a|0;b=+b;g[a>>2]=b;return}function SE(a){a=a|0;c[a>>2]=2980;return}function TE(a){a=a|0;DE(a);return}function UE(a){a=a|0;return +(+g[a+24>>2])}function VE(a){a=a|0;return +(+g[a+4>>2])}function WE(a){a=a|0;return +(+g[a+20>>2])}function XE(a){a=a|0;return +(+g[a+32>>2])}function YE(a){a=a|0;return +(+g[a+16>>2])}function ZE(a){a=a|0;return +(+g[a+12>>2])}function _E(a){a=a|0;return +(+g[a+28>>2])}function $E(a){a=a|0;return 52}function aF(a){a=a|0;return 68}function bF(a){a=a|0;return 84}function cF(a,b){a=a|0;b=b|0;return a+(b<<4)|0}function dF(a){a=a|0;return a+352|0}function eF(a){a=a|0;return a+868|0}function fF(a){a=a|0;return +(+g[a+8>>2])}function gF(a){a=a|0;return a+316|0}function hF(a){a=a|0;return a+300|0}function iF(a,b){a=a|0;b=b|0;lb[a&511](b|0)}function jF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;W(37)}function kF(a){a=a|0;return a+32|0}function lF(a){a=a|0;return 24}function mF(a,b){a=a|0;b=+b;return}function nF(a,b){a=a|0;b=b|0;return lu(a,b)|0}function oF(a){a=a|0;return a+68|0}function pF(a){a=a|0;ix(a);return}function qF(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;W(9)}function rF(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;W(7)}function sF(a){a=a|0;YG(a+-4|0);return}function tF(a){a=a|0;ei(a);return}function uF(a,b,c){a=a|0;b=b|0;c=c|0;W(28);return 0.0}function vF(a){a=a|0;return bH(a)|0}function wF(a){a=a|0;return a+708|0}function xF(a){a=a|0;return 488}function yF(a,b,c){a=a|0;b=b|0;c=c|0;W(16);return 0}function zF(a){a=a|0;return 32}function AF(a){a=a|0;return a+76|0}function BF(a){a=a|0;return a+328|0}function CF(a){a=a|0;return 60}function DF(a){a=a|0;return 428}function EF(a){a=a|0;c[a>>2]=3056;return}function FF(a){a=a|0;return a+28|0}function GF(a){a=a|0;return a+288|0}function HF(){return Ir(1)|0}function IF(a){a=+a;return +(+zz(a)*2.0)}function JF(a){a=a|0;return a+312|0}function KF(a){a=a|0;return (a&255)<<8|a>>8&255|0}function LF(a,b,c){a=a|0;b=b|0;c=+c;W(19);return 0}function MF(a){a=a|0;return 11178}function NF(a){a=a|0;return a+92|0}function OF(a){a=a|0;c[a>>2]=0;return}function PF(a){a=a|0;return 4}function QF(a){a=a|0;return 17887}function RF(a){a=a|0;return 17603}function SF(a){a=a|0;c[a>>2]=3032;return}function TF(){return Ps()|0}function UF(a){a=a|0;return 11066}function VF(a){a=a|0;return 16749}function WF(a){a=+a;return +(+ch(a,6.2831854820251465))}function XF(a){a=a|0;return a+72|0}function YF(a,b,c){a=a|0;b=b|0;c=c|0;W(38)}function ZF(a){a=a|0;return 17133}function _F(a){a=a|0;return 0}function $F(a,b){a=+a;b=b|0;return +(+cm(a,b))}function aG(){return Ir(64)|0}function bG(a){a=a|0;return 17191}function cG(a){a=a|0;return a+48|0}function dG(a){a=a|0;return 17389}function eG(a){a=a|0;return 1}function fG(a,b,c){a=a|0;b=b|0;c=+c;W(40)}function gG(a,b,c){a=a|0;b=+b;c=c|0;W(11)}function hG(a){a=a|0;return 18004}function iG(a){a=a|0;return 17975}function jG(a){a=a|0;return 3}function kG(a){a=a|0;return mm(a,25988)|0}function lG(a){a=a|0;return 11445}function mG(a){a=+a;return +a}function nG(a){a=a|0;return 17947}function oG(a){a=a|0;return 16464}function pG(a){a=a|0;return 17547}function qG(a){a=a|0;return 17520}function rG(a){a=a|0;return 17490}function sG(a){a=a|0;return 8}function tG(a,b,c){a=a|0;b=+b;c=+c;W(15)}function uG(a){a=a|0;return 16568}function vG(a,b){a=a|0;b=b|0;W(27);return 0}function wG(a){a=a|0;return 16526}function xG(a){a=a|0;return 16547}function yG(a){a=a|0;return 6}function zG(a){a=a|0;return 12}function AG(){return 4}function BG(a){a=a|0;return 16507}function CG(a,b){a=a|0;b=+b;W(32);return 0.0}function DG(a){a=a|0;return 2}function EG(a){a=a|0;return 17662}function FG(){c[5672]=1805;c[5673]=0;return}function GG(a){a=a|0;return a+12|0}function HG(a){a=a|0;return a+8|0}function IG(a){a=a|0;return a+4|0}function JG(a){a=a|0;Wb[a&3]()}function KG(){return 2}function LG(){return 1}function MG(){return 5}function NG(){return 3}function OG(){fb()}function PG(a){a=+a;return +(+G(+a))}function QG(a){a=+a;return +(+J(+a))}function RG(a){a=+a;return +(+I(+a))}function SG(a,b){a=a|0;b=b|0;W(4)}function TG(a){a=a|0;return}function UG(a){a=a|0;return Ir(a)|0}function VG(a){a=a|0;YG(a);return}function WG(a){a=a|0;l=a}function XG(a,b){a=a|0;b=+b;W(1)}function YG(a){a=a|0;Uc(a);return}function ZG(a){a=a|0;D=a}function _G(a){a=a|0;W(20);return 0.0}function $G(){return 25948}function aH(a){a=a|0;W(6);return 0}function bH(a){a=a|0;return a|0}function cH(){return D|0}function dH(){return l|0}function eH(a){a=a|0;W(2)}function fH(){return 0}function gH(){W(39)}
//
//// EMSCRIPTEN_END_FUNCS
//var jb=[lD,Og,tl,ag,fp,Ic,Se,Qf,yf,$b,Yc,vc,Ld,Rd,sc,Yt,rg,jc,Gd,Rk,Ai,$e,lD,lD,lD,lD,lD,lD,lD,lD,lD,lD];var kb=[XG,hc,Tc,Fm,$D,xD,mF,xD,uk,Rc,Of,ae,kg,Sj,Xe,Mc,me,Ac,kD,xD,wl,wl,wl,Vi,XG,XG,XG,XG,XG,XG,XG,XG];var lb=[eH,TG,VG,TG,VG,TG,VG,TG,VG,TG,VG,TG,VG,TG,pF,TG,VG,TG,VG,TG,VG,TG,VG,Wo,gq,Bn,tj,Lx,TG,VG,VG,VG,VG,md,ov,TG,VG,TG,VG,TG,ix,VG,VG,TG,ix,VG,VG,TG,VG,Ms,hs,TG,VG,TG,VG,Cp,Xo,Xu,pu,Pj,St,qe,Hk,ac,Eh,$f,hn,Re,sl,TG,VG,TG,VG,cp,$n,Cg,_t,cc,VG,$j,wA,TG,ix,Dd,Jm,ix,ix,Be,ix,TG,ix,ix,ee,ix,Jc,bg,Rs,iD,fi,BD,VG,Fo,Rn,Bs,VG,TG,VG,ap,Yn,Dl,Tt,_o,jq,TG,VG,Ze,Mz,VG,VG,VG,VG,VG,VG,VG,VG,VG,VG,bk,YA,nq,ip,Vo,Eo,VG,Fp,vp,tq,np,TG,VG,yj,DD,Ud,VG,VG,VG,VG,VG,TG,VG,TG,sF,VG,VG,VG,VG,VG,VG,iq,gp,TG,VG,vq,rp,VG,VG,VG,Ak,jA,VG,pj,Ey,VG,Wl,Eu,Ri,ix,ix,ix,ix,jp,yo,TG,VG,VG,VG,TG,ix,VG,TG,VG,TG,ix,Xo,bm,Yl,ix,ix,ix,Xo,VG,Xo,tF,Nu,VG,VG,TG,ix,ix,ix,ix,bi,Mu,ej,wu,TG,wu,dp,rq,ak,iA,VG,VG,Ro,CD,TG,VG,VG,VG,ei,Nu,VG,TG,VG,VG,VG,VG,VG,VG,TG,VG,TG,VG,lq,hp,VG,VG,ck,KB,ai,uu,So,Vn,TG,VG,TG,TG,VG,VG,Or,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH,eH];var mb=[UA];var nb=[SG,kq,Er,HE,pA,bA,HE,Cn,Nk,HE,As,Gn,Bc,be,sp,HE,HE,HE,CC,Zz,ci,ig,mh,Fj,om,zj,vr,fh,yi,Zo,mv,bv,uw,fw,Dc,HE,Wi,mt,xn,Cj,Nh,yg,Sf,rh,st,lf,sh,qc,Kk,gd,nj,pc,Gi,HE,hl,pk,Gk,wk,sz,qk,Hy,gn,rk,Wi,gj,Wi,ok,Lq,tp,Wi,Yi,jn,Aq,Nm,Wd,an,jl,Ct,At,Bt,qh,zm,xm,Hg,tr,Kp,Jk,Nr,Yo,Jk,ld,jd,$q,Jk,Nr,HE,HE,vh,xh,ie,Km,HE,HE,HE,Sw,Zz,qf,fd,Rl,Dt,jt,jt,HE,Wi,HE,HE,SG,SG,SG,SG,SG,SG,SG,SG,SG,SG,SG,SG];var ob=[eu,Hc,Xg,eu];var pb=[aH,_F,eG,uD,UC,UC,qE,oD,DF,DG,ar,UF,zG,GG,MF,$E,_F,zF,lG,DG,jG,jG,eG,nE,ZC,gD,PF,xF,DG,fE,ID,bF,$E,GE,vE,OE,eG,by,Wu,PE,JD,Cu,MC,MC,AF,oG,lF,BG,CF,wG,xG,uG,IC,VF,CF,ZF,oF,bG,$E,dG,aF,wE,wE,_F,rG,CF,qG,pG,TB,RF,_F,_F,_F,EG,yG,sG,zG,yG,bF,uE,QF,nG,CF,iG,hG,oD,JB,mE,dE,dE,qE,qE,IG,_F,eG,qE,qE,IG,UC,_F,wD,wD,qE,Os,aH,aH,aH,aH,aH,aH,aH,aH,aH,aH,aH,aH,aH,aH,aH,aH,aH,aH,aH,aH,aH,aH,aH,aH];var qb=[rF,Yj,ko,Hi,ym,Om,rF,rF];var rb=[rB];var sb=[qF];var tb=[LD,Rm,Jo,bo,hk,ek,Mh,fn,rl,pl,Hl,gg,Gl,bp,vm,Fl,yl,Ci,Ll,Kc,av,rw,nf,LD,LD,LD,LD,LD,LD,LD,LD,LD];var ub=[gG,Mg,Yz,Jz,xt,Gj,Ii,Io,xt,xt,Ti,$k,Jl,at,Rj,gG];var vb=[Wv,Dp];var wb=[gu];var xb=[bB,Xt,Xd,Xt,Xt,Yd,Xt,Xt,Gf,of,$s,Xt,Xt,bB,bB,bB];var yb=[tG,Nd,mg,ij,Vf,wf,tG,tG];var zb=[yF,nn,ti,ec,Wn,fl,dg,Vg,sf,Um,Zh,Ih,yh,uf,bf,jf,Wm,kp,Uj,zf,Yk,ug,gl,Sh,Xk,ze,Wk,xd,TA,TA,hf,Oj,lg,vg,hi,ao,al,yF,yF,yF,yF,yF,yF,yF,yF,yF,yF,yF,yF,yF,yF,yF,yF,yF,yF,yF,yF,yF,yF,yF,yF,yF,yF,yF];var Ab=[IA];var Bb=[kA,Od,ol,am,Bo,_m,Di,kA];var Cb=[LF,Ch,zC,zC,Bm,LF,LF,LF];var Db=[_G,qo,ZE,My,KE,QE,rC,_p,Zp,_p,_G,_G,_G,_G,_G,_G];var Eb=[gz,bd,od,Hd];var Fb=[uz,gk,fk,uz];var Gb=[qD];var Hb=[wy,Jg];var Ib=[Fv,wh];var Jb=[vu,Xl,Xl,vu];var Kb=[vG,Tq,_q,Uq,BE,BE,BE,_b,Vx,Vx,Bd,Pl,Mm,Yw,un,Ds,el,qq,Mp,Fk,oi,Tn,oq,vG,vG,vG,vG,vG,vG,vG,vG,vG];var Lb=[uF,qj,Wj,ji,Ok,On,Mj,um,en,Gh,rm,gm,Tl,uF,uF,uF];var Mb=[Vt,Li,Oc,Vt];var Nb=[pD,Lu];var Ob=[Qu,nc,wi,Qu];var Pb=[CG,Uv];var Qb=[ot];var Rb=[xB,Vj,Vj,xB];var Sb=[ED,Pc];var Tb=[Vu,qd,Jf,Vu];var Ub=[jF,iy,kc,Vd,Le,ks,oj,pe,_l,Dm,jF,jF,jF,jF,jF,jF];var Vb=[YF,jD,si,te,nv,$h,Nn,jD,jj,wj,_s,jD,Ed,kd,jD,Pk,El,Bk,Up,Ni,gf,Uh,jD,jD,xi,Yh,df,qw,pw,tC,tC,tC,tC,pd,Th,Ej,mk,Ls,hh,rt,Oe,ue,mf,dh,Pk,Lj,_n,oh,Pk,Rh,jD,Ul,Pn,Zl,Ql,ql,Jj,Im,Em,Hm,mn,An,ff,Fn,jD,jD,jD,jD,mp,wo,xo,xl,vj,Wh,no,tC,tC,tC,tC,ni,rd,Ph,YF,YF,YF,YF,YF,YF,YF,YF,YF,YF,YF,YF,YF,YF,YF,YF,YF,YF,YF,YF,YF,YF,YF,YF,YF,YF,YF,YF,YF,YF,YF,YF,YF,YF,YF,YF,YF,YF,YF,YF,YF,YF,YF,YF,YF,YF];var Wb=[gH,OG,dk,dt];var Xb=[fG,yv,Hu,sr,Qk,tc,fG,fG];var Yb=[hE,pg];var Zb=[IE,Qe,Kz,rx,gv,Lf,If,bt,tk,Nq,Kt,xk,Cc,xc,Ve,Gs,ih,Bf,fc,Lt,jm,dl,so,If,Te,Bg,Pf,ve,Ss,_r,ng,kh,bt,di,zl,ro,jh,Pd,Il,$i,mj,Mo,cg,Gg,Ah,ui,Ek,Kz,Bh,zg,ki,Kz,Kz,Zi,cj,Vl,Ik,Xj,sd,oe,gi,yc,cj,kl,cl,il,Xc,rn,lj,rn,ll,up,Dn,Sk,IE,IE,IE,IE,IE,IE,IE,IE,IE,IE,IE,IE,IE,IE,IE,IE,IE,IE,IE,IE,IE,IE,IE,IE,IE,IE,IE,IE,IE,IE,IE,IE,IE,IE,IE,IE,IE,IE,IE,IE,IE,IE,IE,IE,IE,IE,IE,IE,IE,IE,IE,IE,IE,IE];return{_emscripten_bind_btCylinderShape___destroy___0:Tv,_emscripten_bind_btGeneric6DofConstraint_enableFeedback_1:Px,_emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_3:ut,_emscripten_bind_btHingeConstraint_setBreakingImpulseThreshold_1:Xv,_emscripten_bind_btDispatcherInfo_set_m_useContinuous_1:Cz,_llvm_cttz_i32:Hp,_emscripten_bind_btCollisionObject_isActive_0:xz,_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingRelaxation_1:gC,_emscripten_bind_btVehicleTuning_set_m_frictionSlip_1:eD,_emscripten_bind_btDiscreteDynamicsWorld_btDiscreteDynamicsWorld_4:fq,_emscripten_bind_btCapsuleShapeX_getMargin_0:My,_emscripten_bind_Node_set_m_n_1:Lr,_emscripten_bind_btCompoundShape_getMargin_0:My,_emscripten_bind_RaycastInfo_set_m_wheelDirectionWS_1:mr,_emscripten_bind_btVehicleRaycasterResult_get_m_hitNormalInWorld_0:zE,_emscripten_bind_btContactSolverInfo___destroy___0:hC,_emscripten_bind_btWheelInfo_set_m_wheelsSuspensionForce_1:Ez,_emscripten_bind_ClosestRayResultCallback_get_m_hitPointWorld_0:oF,_emscripten_bind_btPairCachingGhostObject_getCollisionFlags_0:bC,_emscripten_bind_btQuaternion_setX_1:FC,_emscripten_bind_btCylinderShapeZ_getMargin_0:My,_emscripten_bind_btDispatcherInfo_get_m_timeOfImpact_0:ZE,_emscripten_bind_btQuaternion_setZ_1:DC,_emscripten_bind_btCollisionObject_getUserIndex_0:VA,_emscripten_bind_btCapsuleShapeZ_getMargin_0:My,_emscripten_bind_btSoftBodyWorldInfo_set_water_density_1:yE,_emscripten_bind_btKinematicCharacterController_setMaxSlope_1:Sv,_emscripten_bind_btQuadWord_z_0:PC,_emscripten_bind_btSoftBody_setCcdMotionThreshold_1:tx,_emscripten_bind_Material___destroy___0:hC,_emscripten_bind_btSoftBodyWorldInfo_get_m_maxDisplacement_0:ZE,_emscripten_bind_btSoftBody_rotate_1:Qj,_emscripten_bind_btWheelInfo_get_m_suspensionRestLength1_0:AC,_emscripten_bind_btQuaternion_dot_1:GA,_emscripten_bind_btWheelInfo_get_m_suspensionStiffness_0:jC,_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingThresholdSqr_1:Jw,_emscripten_bind_btSoftRigidDynamicsWorld___destroy___0:Tv,_emscripten_bind_btSoftRigidDynamicsWorld_removeConstraint_1:xv,_emscripten_bind_RaycastInfo_get_m_wheelAxleWS_0:oF,_emscripten_bind_btRigidBodyConstructionInfo_get_m_angularDamping_0:KA,_emscripten_bind_btCollisionDispatcher___destroy___0:Tv,_emscripten_bind_btRigidBody_applyCentralImpulse_1:yt,_emscripten_bind_btConvexHullShape_getMargin_0:My,_emscripten_bind_btDefaultMotionState_getWorldTransform_1:$v,_emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_1:qu,_emscripten_bind_btRaycastVehicle_getNumWheels_0:nA,_emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_3:zt,_emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_2:vt,_emscripten_bind_btSoftRigidDynamicsWorld_addAction_1:uw,_emscripten_bind_btDynamicsWorld_rayTest_3:Zt,_emscripten_bind_Config_set_kSR_SPLT_CL_1:fC,_emscripten_bind_btQuadWord_x_0:iE,_emscripten_bind_Config_get_diterations_0:dE,_emscripten_bind_btCollisionObject_isKinematicObject_0:wx,_emscripten_bind_btSoftRigidDynamicsWorld_removeSoftBody_1:zi,_emscripten_bind_ConvexResultCallback___destroy___0:Tv,_emscripten_bind_btGeneric6DofSpringConstraint_setLinearUpperLimit_1:sv,_emscripten_bind_btQuaternion_getAngleShortestPath_0:Bz,_emscripten_bind_ClosestConvexResultCallback_set_m_hitNormalWorld_1:Sq,_emscripten_bind_btSoftBody_isKinematicObject_0:wx,_emscripten_bind_btRigidBody_getCenterOfMassTransform_0:sD,_emscripten_bind_btGhostObject_isKinematicObject_0:wx,_emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_5:jk,_emscripten_bind_btWheelInfoConstructionInfo___destroy___0:hC,_emscripten_bind_btCapsuleShape___destroy___0:Tv,_emscripten_bind_btCollisionObject_activate_1:Zr,_emscripten_bind_btCollisionObject_activate_0:gt,_emscripten_bind_btKinematicCharacterController_setUpAxis_1:Aw,_emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_1:uv,_emscripten_bind_btWheelInfoConstructionInfo_get_m_chassisConnectionCS_0:bH,_emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionForce_0:lE,_emscripten_bind_btDispatcherInfo_set_m_timeOfImpact_1:$D,_emscripten_bind_btCollisionDispatcher_btCollisionDispatcher_1:Vk,_emscripten_bind_btVector3_setX_1:FC,_emscripten_bind_btCollisionConfiguration___destroy___0:Tv,_emscripten_bind_btCapsuleShapeZ_setMargin_1:ex,_emscripten_bind_btHingeConstraint_enableFeedback_1:Px,_emscripten_bind_btActionInterface_updateAction_2:_u,_emscripten_bind_btSphereShape___destroy___0:Tv,_emscripten_bind_btHeightfieldTerrainShape_setLocalScaling_1:ow,_emscripten_bind_btGeneric6DofConstraint_setAngularLowerLimit_1:jv,_emscripten_bind_btRaycastVehicle_updateSuspension_1:Dk,_emscripten_bind_btManifoldPoint_set_m_localPointB_1:rr,_emscripten_bind_btVector3_setZ_1:DC,_emscripten_bind_btKinematicCharacterController_setUseGhostSweepTest_1:$u,_emscripten_bind_btQuaternion_setValue_4:ep,_emscripten_bind_btDispatcherInfo_set_m_dispatchFunc_1:bA,_emscripten_bind_btSoftBody_transform_1:Ry,_emscripten_bind_LocalShapeInfo___destroy___0:hC,_emscripten_bind_btSoftBody_appendAnchor_4:Id,_emscripten_bind_btVehicleTuning_get_m_suspensionStiffness_0:RD,_emscripten_bind_btPoint2PointConstraint_get_m_setting_0:QD,_emscripten_bind_btQuadWord_setY_1:EC,_emscripten_bind_btRigidBody_setUserPointer_1:sy,_emscripten_bind_btVehicleRaycasterResult_get_m_distFraction_0:XE,_emscripten_bind_btRigidBodyConstructionInfo_set_m_restitution_1:_y,_emscripten_bind_btVector4_rotate_2:oo,_emscripten_bind_btDefaultMotionState_get_m_graphicsWorldTrans_0:IG,_emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_3:qt,_emscripten_bind_btPairCachingGhostObject_btPairCachingGhostObject_0:Lh,_emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionRestLength_0:NE,_emscripten_bind_btDiscreteDynamicsWorld_getSolverInfo_0:vo,_emscripten_bind_btCylinderShape_setMargin_1:ex,_emscripten_bind_btRaycastVehicle_rayCast_1:fy,_emscripten_bind_btCollisionWorld___destroy___0:Tv,_emscripten_bind_btSoftBodyWorldInfo_get_m_broadphase_0:HC,_emscripten_bind_LocalConvexResult_get_m_hitPointLocal_0:VD,_emscripten_bind_btBoxShape_btBoxShape_1:Oh,_emscripten_bind_btPersistentManifold_getBody1_0:QB,_emscripten_bind_ClosestRayResultCallback_set_m_collisionObject_1:bA,_emscripten_bind_RaycastInfo_set_m_isInContact_1:hA,_emscripten_bind_btKinematicCharacterController_setGravity_1:xD,_emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_5:pq,_emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_3:wr,_emscripten_bind_btQuaternion_setY_1:EC,_emscripten_bind_btSoftRigidDynamicsWorld_removeAction_1:fw,_emscripten_bind_btWheelInfo_get_m_rollInfluence_0:_C,_emscripten_bind_btTypedConstraint_setBreakingImpulseThreshold_1:Xv,_emscripten_bind_btBvhTriangleMeshShape_setLocalScaling_1:ow,_emscripten_bind_tNodeArray_size_0:ND,_emscripten_bind_btPoint2PointConstraint_setBreakingImpulseThreshold_1:Xv,_emscripten_bind_btRigidBody_getUserIndex_0:VA,_emscripten_bind_btDynamicsWorld_getDispatchInfo_0:Wz,_emscripten_bind_btCompoundShape_removeChildShapeByIndex_1:Fw,_emscripten_bind_btSoftBody_appendFace_4:cu,_emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_2:bl,_emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_1:vl,_emscripten_bind_ClosestConvexResultCallback_set_m_hitPointWorld_1:Xq,_emscripten_bind_RayResultCallback_set_m_collisionFilterMask_1:fz,_emscripten_bind_btBoxShape_getMargin_0:My,_emscripten_bind_btPairCachingGhostObject___destroy___0:Rv,_emscripten_bind_btSoftBodyHelpers_CreateRope_5:Jh,_emscripten_bind_btPairCachingGhostObject_setUserPointer_1:sy,_emscripten_bind_btPairCachingGhostObject_activate_0:gt,_emscripten_bind_btPairCachingGhostObject_activate_1:Zr,_emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionStiffness_1:wC,_emscripten_bind_btContactSolverInfo_get_m_splitImpulsePenetrationThreshold_0:rz,_emscripten_bind_btSoftBody_setUserPointer_1:sy,_emscripten_bind_btDynamicsWorld_getDispatcher_0:cC,_emscripten_bind_btSoftBody_setMass_2:Ht,_emscripten_bind_btConeShape_btConeShape_2:fm,_emscripten_bind_btDynamicsWorld___destroy___0:Tv,_emscripten_bind_Config_get_kCHR_0:ME,_emscripten_bind_btPairCachingGhostObject_forceActivationState_1:fA,_emscripten_bind_btDefaultMotionState___destroy___0:Tv,_emscripten_bind_btDispatcherInfo_get_m_stepCount_0:uD,_emscripten_bind_btRigidBodyConstructionInfo_set_m_angularDamping_1:Ly,_emscripten_bind_btQuadWord_setW_1:mC,_emscripten_bind_btRigidBodyConstructionInfo_get_m_friction_0:tB,_emscripten_bind_btCapsuleShapeX_btCapsuleShapeX_2:cn,_emscripten_bind_LocalShapeInfo_set_m_shapePart_1:iB,_emscripten_bind_btWheelInfoConstructionInfo_get_m_bIsFrontWheel_0:Pz,_emscripten_bind_btRigidBody_setLinearFactor_1:Mx,_emscripten_bind_btDispatcherInfo_set_m_useConvexConservativeDistanceUtil_1:Ex,_emscripten_bind_btSoftRigidDynamicsWorld_setGravity_1:Ov,_emscripten_bind_btRaycastVehicle_getUpAxis_0:lC,_emscripten_bind_btRaycastVehicle_getCurrentSpeedKmHour_0:Dx,_emscripten_bind_btWheelInfo_get_m_engineForce_0:rD,_emscripten_bind_Config_get_kSR_SPLT_CL_0:YD,_emscripten_bind_btRaycastVehicle_setSteeringValue_2:ev,_emscripten_bind_btPoint2PointConstraint___destroy___0:Tv,_emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionStiffness_0:rE,_emscripten_bind_btSoftBody_getUserPointer_0:vC,_emscripten_bind_btCollisionShape_setMargin_1:ex,_emscripten_bind_btGeneric6DofConstraint_setAngularUpperLimit_1:iv,_emscripten_bind_btDiscreteDynamicsWorld_addConstraint_2:su,_emscripten_bind_btDiscreteDynamicsWorld_addConstraint_1:uv,_emscripten_bind_btRigidBodyConstructionInfo_set_m_angularSleepingThreshold_1:Nx,_emscripten_bind_Config_get_kVCF_0:VE,_emscripten_bind_btKinematicCharacterController_setJumpSpeed_1:fD,_emscripten_bind_btRaycastVehicle_getRightAxis_0:PB,_malloc:ic,_emscripten_bind_btDispatcherInfo_get_m_useEpa_0:nC,_emscripten_bind_btTransform_btTransform_2:Fu,_emscripten_bind_btTransform_btTransform_0:aG,_emscripten_bind_btPairCachingGhostObject_getUserIndex_0:VA,_emscripten_bind_Config_set_kVC_1:bD,_emscripten_bind_btVector3_op_sub_1:AB,_emscripten_bind_btWheelInfo_set_m_wheelsRadius_1:AA,_emscripten_bind_btQuaternion_length_0:tD,_emscripten_bind_btDispatcherInfo_set_m_enableSPU_1:Xz,_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingCompression_0:YD,_emscripten_bind_btWheelInfo_set_m_wheelsDampingCompression_1:nz,_emscripten_bind_btSoftBody_appendNode_2:Wc,_emscripten_bind_btCollisionObject_setActivationState_1:rv,_emscripten_bind_btQuaternion_angle_1:dA,_emscripten_bind_btPersistentManifold___destroy___0:Qz,_emscripten_bind_btConstraintSetting_get_m_impulseClamp_0:fF,_emscripten_bind_btCylinderShapeZ___destroy___0:Tv,_emscripten_bind_btMatrix3x3___destroy___0:hC,_emscripten_bind_btQuaternion_angleShortestPath_1:Hx,_emscripten_bind_btWheelInfo_get_m_skidInfo_0:GD,_emscripten_bind_ConvexResultCallback_hasHit_0:hx,_emscripten_bind_btCollisionShape_calculateLocalInertia_2:Ku,_emscripten_bind_btGeneric6DofSpringConstraint_setBreakingImpulseThreshold_1:Xv,_emscripten_bind_Config_set_kPR_1:cD,_emscripten_bind_btCollisionWorld_convexSweepTest_5:dr,_emscripten_bind_btWheelInfoConstructionInfo_set_m_frictionSlip_1:kD,_emscripten_bind_btVector3_length_0:ax,_emscripten_bind_btSoftBody_set_m_materials_1:Yv,_emscripten_enum_PHY_ScalarType_PHY_UCHAR:MG,_emscripten_bind_ClosestRayResultCallback_set_m_hitPointWorld_1:tr,_emscripten_bind_btVehicleRaycasterResult___destroy___0:hC,_emscripten_bind_btCapsuleShapeX_calculateLocalInertia_2:Ku,_emscripten_bind_btConstraintSetting_set_m_damping_1:yE,_emscripten_bind_btVehicleRaycaster___destroy___0:Tv,_emscripten_bind_btSoftBody_set_m_cfg_1:Yy,_emscripten_bind_btRigidBody_setCcdMotionThreshold_1:tx,_emscripten_bind_btConvexHullShape_setMargin_1:ex,_emscripten_bind_btRigidBody_applyForce_2:xw,_emscripten_bind_btConeShapeZ_calculateLocalInertia_2:Ku,_emscripten_bind_btConstraintSetting_set_m_tau_1:RE,_emscripten_bind_btConvexHullShape_calculateLocalInertia_2:Ku,_emscripten_bind_btQuaternion_op_div_1:gB,___uremdi3:Fr,_emscripten_bind_RaycastInfo_get_m_contactPointWS_0:zE,_emscripten_bind_btRaycastVehicle_getForwardAxis_0:uB,_emscripten_bind_btSphereShape_calculateLocalInertia_2:Ku,_emscripten_bind_btSoftBody_appendMaterial_0:CB,_emscripten_bind_btVector4_normalize_0:MD,_emscripten_bind_btSoftRigidDynamicsWorld_getSolverInfo_0:uo,_emscripten_bind_btCollisionDispatcher_getManifoldByIndexInternal_1:wv,_emscripten_bind_btSoftBody_setTotalMass_2:$g,_emscripten_bind_LocalConvexResult_LocalConvexResult_5:yq,_emscripten_bind_btGhostObject_setFriction_1:wz,_emscripten_bind_btCollisionWorld_rayTest_3:Zt,_emscripten_bind_btRigidBody_setCcdSweptSphereRadius_1:bx,_emscripten_bind_btCylinderShapeZ_setMargin_1:ex,_emscripten_bind_btRigidBody_setFriction_1:wz,_emscripten_bind_LocalConvexResult_set_m_hitPointLocal_1:hr,_emscripten_bind_btGhostObject_setWorldTransform_1:Iw,_emscripten_bind_tMaterialArray_size_0:ND,_emscripten_bind_btManifoldPoint_getAppliedImpulse_0:gy,_emscripten_bind_btDiscreteDynamicsWorld_removeRigidBody_1:Av,_emscripten_bind_btConvexHullShape___destroy___0:Tv,_emscripten_bind_RaycastInfo_set_m_suspensionLength_1:dD,_emscripten_bind_btDiscreteDynamicsWorld_getBroadphase_0:dC,_emscripten_bind_btSoftBodyWorldInfo_get_m_dispatcher_0:GC,_emscripten_bind_btKinematicCharacterController_jump_0:ux,_emscripten_bind_btCollisionObject_getUserPointer_0:vC,_emscripten_bind_btWheelInfo_set_m_raycastInfo_1:Fs,_emscripten_bind_btSoftBody_generateClusters_1:Zx,_emscripten_bind_btConeTwistConstraint_setMaxMotorImpulseNormalized_1:vv,_emscripten_bind_btConvexTriangleMeshShape_setLocalScaling_1:ow,_emscripten_bind_btRigidBody_upcast_1:Zy,_emscripten_bind_btCollisionObject_getWorldTransform_0:sD,_emscripten_bind_btVector4_setZ_1:DC,_emscripten_bind_btManifoldPoint_set_m_positionWorldOnB_1:fr,___cxa_can_catch:aq,_emscripten_bind_btTransform_getBasis_0:vF,_emscripten_bind_btPairCachingGhostObject_setFriction_1:wz,_emscripten_bind_btWheelInfoConstructionInfo_get_m_frictionSlip_0:QE,_emscripten_bind_btQuaternion_getAngle_0:aA,_emscripten_bind_Config_set_kSRHR_CL_1:xC,_emscripten_bind_btCollisionDispatcher_getNumManifolds_0:Py,_emscripten_bind_btWheelInfo_set_m_bIsFrontWheel_1:Vz,_emscripten_bind_ClosestRayResultCallback___destroy___0:Tv,_emscripten_bind_btGeneric6DofSpringConstraint_setStiffness_2:yw,_emscripten_bind_btCylinderShapeX_setMargin_1:ex,_emscripten_bind_btQuadWord_w_0:RC,_emscripten_bind_Node___destroy___0:hC,_emscripten_bind_btDynamicsWorld_contactTest_2:Sm,_emscripten_bind_btDiscreteDynamicsWorld_contactTest_2:Sm,_emscripten_bind_btBvhTriangleMeshShape_calculateLocalInertia_2:Ku,_emscripten_bind_btTransform_setOrigin_1:Xy,_emscripten_bind_btCompoundShape_getNumChildShapes_0:Dz,_emscripten_bind_btSoftBodyWorldInfo_set_m_broadphase_1:Sz,_emscripten_bind_btWheelInfo_set_m_clippedInvContactDotSuspension_1:Fy,_emscripten_bind_btGhostObject_btGhostObject_0:Ei,_emscripten_bind_tNodeArray___destroy___0:aw,_emscripten_bind_ClosestConvexResultCallback_ClosestConvexResultCallback_2:qs,_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingFactor_1:gx,_emscripten_bind_btManifoldPoint_set_m_localPointA_1:Jr,_emscripten_bind_LocalConvexResult___destroy___0:hC,_emscripten_bind_btVector3_dot_1:Js,_emscripten_bind_btVehicleTuning_get_m_maxSuspensionTravelCm_0:ZE,_emscripten_bind_btVector4_op_add_1:BB,_emscripten_bind_btWheelInfo___destroy___0:hC,_emscripten_bind_btSoftRigidDynamicsWorld_getSoftBodyArray_0:dy,_emscripten_bind_btTransform_setRotation_1:hz,_emscripten_bind_Config_set_kSHR_1:xD,_emscripten_bind_btPoint2PointConstraint_enableFeedback_1:Px,_emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterGroup_1:$y,_emscripten_bind_btAxisSweep3_btAxisSweep3_2:ms,_emscripten_bind_btAxisSweep3_btAxisSweep3_3:Hr,_emscripten_bind_btSoftBody_setCollisionFlags_1:Yx,_emscripten_bind_btConstraintSetting_set_m_impulseClamp_1:xE,_emscripten_bind_btVector3_setY_1:EC,_emscripten_bind_btAxisSweep3_btAxisSweep3_4:lr,_emscripten_bind_btAxisSweep3_btAxisSweep3_5:Pq,_emscripten_bind_btQuadWord_setX_1:FC,_emscripten_bind_tMaterialArray___destroy___0:aw,_emscripten_bind_btQuaternion_length2_0:aD,_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalLinearDampingThresholdSqr_0:ty,_emscripten_bind_Config_set_piterations_1:FB,_emscripten_bind_btOverlappingPairCache___destroy___0:Tv,_emscripten_bind_btRigidBody_setUserIndex_1:Sy,_emscripten_bind_Material_get_m_kAST_0:fF,_emscripten_bind_btConstraintSetting___destroy___0:hC,_emscripten_bind_btWheelInfo_btWheelInfo_1:Qv,_emscripten_bind_RayResultCallback___destroy___0:Tv,_emscripten_bind_RaycastInfo_get_m_contactNormalWS_0:bH,_emscripten_bind_btSoftBodyWorldInfo_get_water_density_0:VE,_emscripten_bind_btPersistentManifold_getBody0_0:RB,_emscripten_bind_btConeShapeX_btConeShapeX_2:em,_emscripten_bind_btQuaternion_z_0:PC,_emscripten_bind_btSoftBody_setCcdSweptSphereRadius_1:bx,_emscripten_bind_btConeTwistConstraint_enableFeedback_1:Px,_emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_0:pp,_emscripten_bind_btCapsuleShapeZ_setLocalScaling_1:ow,_emscripten_bind_ClosestConvexResultCallback_get_m_closestHitFraction_0:VE,_emscripten_bind_btSoftBody_translate_1:Nl,_emscripten_bind_btSliderConstraint_setUpperLinLimit_1:xx,_emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_2:Ig,_emscripten_bind_btVector3_op_mul_1:ft,_emscripten_bind_btConcaveShape___destroy___0:Tv,_emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_4:hg,_emscripten_bind_btQuaternion_x_0:iE,_emscripten_bind_btSoftRigidDynamicsWorld_btSoftRigidDynamicsWorld_5:rf,_emscripten_bind_btVehicleRaycasterResult_set_m_distFraction_1:dD,_emscripten_bind_Config_set_timescale_1:pC,_emscripten_bind_LocalConvexResult_set_m_hitNormalLocal_1:Pr,_emscripten_bind_btConcaveShape_setLocalScaling_1:ow,_emscripten_bind_btDiscreteDynamicsWorld_getDispatchInfo_0:Wz,_emscripten_bind_btConeShapeX_setLocalScaling_1:ow,_emscripten_bind_btVehicleTuning_set_m_maxSuspensionForce_1:cD,_emscripten_bind_btSoftBody_appendLink_4:bu,_emscripten_bind_btCylinderShapeZ_setLocalScaling_1:ow,_emscripten_bind_btConvexHullShape_btConvexHullShape_0:Pv,_emscripten_bind_btWheelInfo_set_m_maxSuspensionForce_1:zA,_emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterMask_1:fz,_emscripten_bind_btSoftBody_getTotalMass_0:Do,_emscripten_bind_btSoftRigidDynamicsWorld_removeCollisionObject_1:Zu,_emscripten_bind_Config_get_kLF_0:YE,_emscripten_bind_btGhostObject___destroy___0:Rv,_emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_2:Wt,_emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_1:Ju,_emscripten_bind_btGhostObject_setContactProcessingThreshold_1:zx,_emscripten_bind_btSoftBodyHelpers_CreateFromConvexHull_4:Sr,_emscripten_bind_btCollisionWorld_getBroadphase_0:dC,_emscripten_bind_btQuaternion_op_mulq_1:vA,_emscripten_bind_btQuaternion___destroy___0:hC,_emscripten_bind_btStaticPlaneShape_calculateLocalInertia_2:Ku,_emscripten_bind_btKinematicCharacterController_updateAction_2:_u,_emscripten_bind_btDefaultMotionState_btDefaultMotionState_2:Zs,_emscripten_bind_Material_set_m_flags_1:eC,_emscripten_bind_btDefaultMotionState_btDefaultMotionState_0:xr,_emscripten_bind_btDefaultMotionState_btDefaultMotionState_1:Xr,_emscripten_bind_Config_get_viterations_0:bE,_emscripten_bind_btKinematicCharacterController_canJump_0:_w,_emscripten_bind_btSoftBodyArray_at_1:qv,_emscripten_bind_btVector4_length_0:ax,_emscripten_bind_btPairCachingGhostObject_setUserIndex_1:Sy,_emscripten_bind_btRigidBody_isActive_0:xz,_emscripten_bind_btRaycastVehicle_btRaycastVehicle_3:Uk,_emscripten_bind_btMotionState_setWorldTransform_1:dw,_emscripten_bind_btSoftRigidDynamicsWorld_getDispatcher_0:cC,_emscripten_bind_btCylinderShape_setLocalScaling_1:ow,_emscripten_bind_btPairCachingGhostObject_getWorldTransform_0:sD,_emscripten_bind_btCompoundShape_calculateLocalInertia_2:Ku,_emscripten_bind_btCollisionWorld_getDispatchInfo_0:Wz,_emscripten_enum_PHY_ScalarType_PHY_DOUBLE:LG,_emscripten_bind_btRigidBody_setCollisionShape_1:dw,_emscripten_bind_btSoftBody_appendTetra_5:Ef,_emscripten_bind_btConeShapeX___destroy___0:Tv,_emscripten_bind_btCollisionObject_getCollisionFlags_0:bC,_emscripten_bind_btDispatcherInfo_set_m_enableSatConvex_1:qz,_emscripten_bind_btConeTwistConstraint_enableMotor_1:Jx,_emscripten_bind_btWheelInfo_set_m_chassisConnectionPointCS_1:Zq,_emscripten_bind_btSoftBody_checkLink_2:Al,_emscripten_bind_btVehicleRaycasterResult_get_m_hitPointInWorld_0:bH,_emscripten_bind_btRaycastVehicle_setCoordinateSystem_3:pt,_emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_4:Tj,_emscripten_bind_btVector3_normalize_0:MD,_emscripten_bind_btPairCachingGhostObject_setRestitution_1:Ky,_emscripten_bind_Config_set_kAHR_1:XC,_emscripten_bind_btHeightfieldTerrainShape_getMargin_0:My,_emscripten_bind_btWheelInfo_updateWheel_2:Ki,_emscripten_bind_btBroadphaseInterface___destroy___0:Tv,_emscripten_bind_btSoftRigidDynamicsWorld_rayTest_3:Zt,_emscripten_bind_Config_get_kSRHR_CL_0:sE,_emscripten_bind_btSliderConstraint_getBreakingImpulseThreshold_0:Zw,_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDampingFactor_1:Tx,_emscripten_bind_btWheelInfo_get_m_brake_0:PD,_emscripten_bind_btStaticPlaneShape___destroy___0:Tv,_emscripten_bind_btWheelInfo_get_m_bIsFrontWheel_0:NB,_emscripten_bind_btCollisionObject_setContactProcessingThreshold_1:zx,_emscripten_bind_btCompoundShape___destroy___0:Tv,_emscripten_bind_btHingeConstraint_setMotorTarget_2:Kj,_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingFactor_0:Uy,_emscripten_bind_btCapsuleShapeX_setMargin_1:ex,_emscripten_bind_btSequentialImpulseConstraintSolver___destroy___0:Tv,_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalLinearDampingThresholdSqr_1:Nw,_emscripten_bind_btRigidBody_getCollisionFlags_0:bC,_emscripten_bind_btCollisionShape_setLocalScaling_1:ow,_emscripten_bind_Config_get_piterations_0:cE,_emscripten_bind_LocalConvexResult_get_m_hitCollisionObject_0:SD,_emscripten_bind_btMatrix3x3_setEulerZYX_3:kw,_emscripten_bind_btRigidBody_setRollingFriction_1:ey,_emscripten_bind_btDispatcherInfo_get_m_convexConservativeDistanceThreshold_0:ME,_emscripten_bind_btRigidBody_getUserPointer_0:vC,_emscripten_bind_Config_get_kSHR_0:KE,_emscripten_bind_btHeightfieldTerrainShape_calculateLocalInertia_2:Ku,_emscripten_bind_btVehicleRaycasterResult_set_m_hitPointInWorld_1:Jr,_emscripten_bind_btRigidBody_setMotionState_1:Bx,_emscripten_bind_RayResultCallback_get_m_collisionFilterMask_0:DB,_emscripten_bind_btCollisionWorld_getDispatcher_0:cC,_emscripten_bind_btVector4_dot_1:Js,_emscripten_bind_btCollisionObject_setRollingFriction_1:ey,_emscripten_bind_Config_set_kSK_SPLT_CL_1:gC,_emscripten_bind_RayResultCallback_set_m_collisionFilterGroup_1:$y,_emscripten_bind_btTriangleMesh_btTriangleMesh_1:dv,_i64Subtract:au,_emscripten_bind_btCylinderShapeX_getMargin_0:My,_emscripten_bind_btRigidBody_setDamping_2:pn,_emscripten_bind_RayResultCallback_get_m_collisionFilterGroup_0:vB,_emscripten_bind_btGhostObject_setCollisionFlags_1:Yx,_emscripten_bind_btMatrix3x3_getRotation_1:ky,_emscripten_bind_btWheelInfo_set_m_engineForce_1:JA,_emscripten_bind_btConeTwistConstraint_setMaxMotorImpulse_1:Kw,_emscripten_bind_btPersistentManifold_getNumContacts_0:QA,_emscripten_bind_btCylinderShapeX_setLocalScaling_1:ow,_emscripten_bind_btDbvtBroadphase_btDbvtBroadphase_0:nw,_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDamping_0:pz,_emscripten_bind_btCompoundShape_setLocalScaling_1:ow,_emscripten_bind_btOverlappingPairCallback___destroy___0:Tv,_emscripten_bind_btWheelInfo_get_m_suspensionRelativeVelocity_0:fB,_emscripten_bind_btDynamicsWorld_convexSweepTest_5:dr,_emscripten_bind_btCylinderShape_calculateLocalInertia_2:Ku,_emscripten_bind_btPairCachingGhostObject_setCcdSweptSphereRadius_1:bx,_emscripten_bind_btRigidBody_getCollisionShape_0:aC,_emscripten_bind_btRigidBody_setContactProcessingThreshold_1:zx,_emscripten_bind_btRigidBody_getLinearVelocity_0:mA,_emscripten_bind_btRigidBody_applyImpulse_2:ew,_emscripten_bind_btConcaveShape_calculateLocalInertia_2:Ku,_emscripten_bind_RaycastInfo_get_m_groundObject_0:cE,_emscripten_bind_btRigidBody_setWorldTransform_1:Iw,_emscripten_bind_btVehicleRaycaster_castRay_3:Mt,_emscripten_bind_btRigidBody_setAngularVelocity_1:fx,_emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_3:sk,_emscripten_bind_Config_get_kDP_0:fF,_emscripten_bind_btConvexShape_setLocalScaling_1:ow,_emscripten_bind_Config_get_collisions_0:eE,_emscripten_bind_btSoftBody_activate_0:gt,_emscripten_bind_btTriangleMeshShape_calculateLocalInertia_2:Ku,_emscripten_bind_btVector4_setX_1:FC,_emscripten_bind_btRaycastVehicle_setUserConstraintId_1:cx,_emscripten_bind_btWheelInfo_get_m_chassisConnectionPointCS_0:yD,_emscripten_bind_btPairCachingGhostObject_setContactProcessingThreshold_1:zx,_emscripten_bind_btGeneric6DofConstraint_setLinearUpperLimit_1:sv,_emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterMask_0:DB,_emscripten_bind_RayResultCallback_hasHit_0:Fx,_emscripten_bind_btSoftBody_isActive_0:xz,_emscripten_bind_btRigidBody_applyLocalTorque_1:Qt,_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingCompression_1:fC,_emscripten_bind_Config___destroy___0:ay,_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingThresholdSqr_0:oy,_emscripten_bind_btVehicleTuning_get_m_suspensionDamping_0:fF,_emscripten_bind_btRaycastVehicle_getWheelTransformWS_1:jx,_emscripten_bind_btQuaternion_normalize_0:TC,_emscripten_bind_ClosestConvexResultCallback_get_m_convexToWorld_0:FF,_emscripten_bind_btQuadWord_setZ_1:DC,_emscripten_bind_btConeShapeZ_setLocalScaling_1:ow,_emscripten_bind_Config_get_kPR_0:WE,_emscripten_bind_btGeneric6DofSpringConstraint___destroy___0:Tv,_emscripten_bind_btConvexTriangleMeshShape___destroy___0:Tv,_emscripten_bind_btVehicleTuning_set_m_maxSuspensionTravelCm_1:$D,_emscripten_bind_Material_set_m_kAST_1:xE,_emscripten_bind_btGhostObject_setRollingFriction_1:ey,_emscripten_bind_btCylinderShapeZ_btCylinderShapeZ_1:Us,___muldi3:ds,_emscripten_bind_btRigidBody_getAngularVelocity_0:cA,_emscripten_bind_btCompoundShape_btCompoundShape_0:kj,_emscripten_bind_btCompoundShape_btCompoundShape_1:_i,_emscripten_bind_btOverlappingPairCache_setInternalGhostPairCallback_1:xv,_emscripten_bind_btStaticPlaneShape_btStaticPlaneShape_2:Kl,_emscripten_bind_btSphereShape_getMargin_0:My,_emscripten_bind_btCollisionObject_setAnisotropicFriction_2:Iu,_emscripten_bind_btHingeConstraint_setAngularOnly_1:Ux,_emscripten_bind_btSoftRigidDynamicsWorld_contactTest_2:Sm,_emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionForce_1:qC,_emscripten_bind_Config_get_kDG_0:ZE,_emscripten_bind_btPairCachingGhostObject_setAnisotropicFriction_2:Iu,_emscripten_bind_Node_get_m_x_0:HG,_emscripten_bind_btSoftBodyArray_size_0:ND,_emscripten_bind_ClosestRayResultCallback_hasHit_0:Fx,_emscripten_bind_btCompoundShape_addChildShape_2:Fd,_emscripten_bind_btDispatcher___destroy___0:Tv,_emscripten_bind_btVehicleTuning_get_m_suspensionCompression_0:VE,_emscripten_bind_btVehicleTuning_set_m_suspensionStiffness_1:RE,_llvm_bswap_i16:KF,_emscripten_bind_btDiscreteDynamicsWorld___destroy___0:Tv,_emscripten_bind_btConvexShape___destroy___0:Tv,_emscripten_bind_btWheelInfo_set_m_brake_1:yB,_memmove:op,_emscripten_bind_btWheelInfo_set_m_worldTransform_1:Dy,___cxa_is_pointer_type:Kx,_emscripten_bind_btCapsuleShapeX_setLocalScaling_1:ow,_emscripten_bind_btPairCachingGhostObject_setCollisionFlags_1:Yx,_emscripten_bind_btSoftBody_getCollisionFlags_0:bC,_emscripten_bind_btRaycastVehicle_getChassisWorldTransform_0:oA,_emscripten_enum_PHY_ScalarType_PHY_INTEGER:KG,_emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_1:Gr,_emscripten_bind_btCollisionObject_setRestitution_1:Ky,_emscripten_bind_btRigidBody_applyCentralForce_1:Nt,_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelRadius_1:yC,_emscripten_bind_btSoftBodyWorldInfo_set_m_gravity_1:or,_emscripten_bind_LocalConvexResult_get_m_hitFraction_0:LE,_emscripten_bind_btDispatcherInfo_get_m_enableSPU_0:SB,_emscripten_bind_btQuaternion_w_0:RC,_emscripten_bind_ConvexResultCallback_get_m_collisionFilterGroup_0:kB,_emscripten_bind_btTransform_getRotation_0:Go,_emscripten_bind_Config_set_kSKHR_CL_1:yC,_emscripten_bind_btHingeConstraint_btHingeConstraint_6:mq,_emscripten_bind_btHingeConstraint_btHingeConstraint_7:Pp,_emscripten_bind_LocalConvexResult_get_m_hitNormalLocal_0:HG,_emscripten_bind_btHingeConstraint_btHingeConstraint_5:tg,_emscripten_bind_btHingeConstraint_btHingeConstraint_2:Zf,_emscripten_bind_btHingeConstraint_btHingeConstraint_3:Xf,_emscripten_bind_RaycastInfo___destroy___0:hC,_emscripten_bind_btSoftBody_setWorldTransform_1:Iw,_emscripten_bind_btBoxShape_setMargin_1:ex,_emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionTravelCm_1:xC,_emscripten_bind_ClosestConvexResultCallback_get_m_hitNormalWorld_0:LC,_emscripten_bind_btVector4_y_0:QC,_emscripten_bind_Config_get_kSK_SPLT_CL_0:ZD,_emscripten_bind_btTypedConstraint___destroy___0:Tv,_emscripten_bind_btCylinderShapeX_btCylinderShapeX_1:Vs,_emscripten_bind_btGeneric6DofSpringConstraint_setAngularUpperLimit_1:iv,_emscripten_bind_btConeTwistConstraint_setDamping_1:ly,_emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_1:Iv,_emscripten_bind_Config_set_collisions_1:HB,_emscripten_bind_btQuaternion_btQuaternion_4:Ao,_emscripten_bind_btSoftRigidDynamicsWorld_getBroadphase_0:dC,_emscripten_bind_btSoftBody_getCollisionShape_0:aC,_emscripten_bind_btWheelInfo_set_m_rotation_1:eB,_emscripten_bind_btSphereShape_btSphereShape_1:Hw,_emscripten_bind_btWheelInfo_get_m_wheelsSuspensionForce_0:_B,_emscripten_bind_btQuaternion_y_0:QC,_emscripten_bind_btCollisionWorld_addCollisionObject_1:kv,_emscripten_bind_btCollisionWorld_addCollisionObject_2:nu,_emscripten_bind_btCollisionWorld_addCollisionObject_3:ut,_emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterGroup_1:Oy,_emscripten_bind_btConeTwistConstraint_setBreakingImpulseThreshold_1:Xv,_emscripten_bind_btWheelInfoConstructionInfo_set_m_chassisConnectionCS_1:Jr,_emscripten_bind_btSoftBodyHelpers_CreateEllipsoid_4:Lg,_emscripten_bind_RaycastInfo_get_m_isInContact_0:oC,_emscripten_bind_Config_set_kKHR_1:VC,_emscripten_bind_btHeightfieldTerrainShape_setMargin_1:ex,_emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterGroup_0:kB,_emscripten_bind_btCapsuleShape_setMargin_1:ex,_emscripten_bind_btDefaultVehicleRaycaster_btDefaultVehicleRaycaster_1:ru,_emscripten_bind_ConcreteContactResultCallback_addSingleResult_7:Eq,_emscripten_bind_btCollisionObject_setUserPointer_1:sy,_emscripten_bind_btSequentialImpulseConstraintSolver_btSequentialImpulseConstraintSolver_0:Nj,_emscripten_bind_btActionInterface___destroy___0:Tv,_emscripten_bind_btSoftBody_generateClusters_2:zw,_emscripten_bind_btDefaultMotionState_setWorldTransform_1:dw,_emscripten_bind_btCollisionWorld_contactTest_2:Sm,_emscripten_bind_RayResultCallback_get_m_collisionObject_0:UC,_emscripten_bind_btPoint2PointConstraint_getPivotInA_0:dz,_emscripten_bind_Config_get_kAHR_0:NE,_emscripten_bind_ClosestConvexResultCallback_get_m_convexFromWorld_0:GG,_emscripten_bind_btVector4_setY_1:EC,_emscripten_bind_btCompoundShape_setMargin_1:ex,_emscripten_bind_btGhostObject_setRestitution_1:Ky,_emscripten_bind_btQuaternion_normalized_0:Ho,_emscripten_bind_btDynamicsWorld_addCollisionObject_1:kv,_emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterMask_0:jB,_emscripten_bind_btDynamicsWorld_addCollisionObject_3:ut,_emscripten_bind_btDynamicsWorld_addCollisionObject_2:nu,_emscripten_bind_btSoftRigidDynamicsWorld_getGravity_0:fo,_emscripten_bind_btDiscreteDynamicsWorld_getDispatcher_0:cC,_emscripten_bind_btVector3_rotate_2:po,_emscripten_bind_btHeightfieldTerrainShape___destroy___0:Tv,_emscripten_bind_btManifoldPoint_get_m_positionWorldOnB_0:kF,_emscripten_bind_btWheelInfo_get_m_maxSuspensionTravelCm_0:$B,_emscripten_bind_Config_get_kVC_0:UE,_emscripten_bind_btVector4_op_mul_1:ft,_emscripten_bind_btCylinderShape_btCylinderShape_1:Ev,_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelDirectionCS_1:rr,_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelAxleCS_1:fr,_emscripten_bind_btWheelInfo_set_m_suspensionStiffness_1:Oz,_emscripten_bind_Material_get_m_kVST_0:ZE,_emscripten_bind_Config_set_kVCF_1:yE,_emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_3:zt,_emscripten_bind_btGhostObject_getUserIndex_0:VA,_emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_1:qu,_emscripten_bind_btSoftBody_setRestitution_1:Ky,_emscripten_bind_btVector3___destroy___0:Qz,_bitshift64Lshr:Jt,_emscripten_bind_btRigidBody_setAngularFactor_1:Cx,_emscripten_bind_btCylinderShapeZ_calculateLocalInertia_2:Ku,_emscripten_bind_btWheelInfo_set_m_steering_1:cB,_emscripten_bind_btMotionState_getWorldTransform_1:$v,_emscripten_bind_btDynamicsWorld_getSolverInfo_0:Co,_emscripten_bind_btVehicleRaycasterResult_set_m_hitNormalInWorld_1:rr,_emscripten_bind_Config_get_kMT_0:XE,_emscripten_bind_btDynamicsWorld_getBroadphase_0:dC,_emscripten_bind_btDispatcherInfo_set_m_convexConservativeDistanceThreshold_1:WC,_emscripten_bind_Config_get_timescale_0:kE,_emscripten_bind_btVector3_x_0:iE,_emscripten_bind_btWheelInfo_set_m_skidInfo_1:dB,_emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_3:qn,_emscripten_bind_btCollisionObject_getCollisionShape_0:aC,_emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_4:Dq,_emscripten_bind_btManifoldPoint___destroy___0:hC,_emscripten_bind_btRigidBodyConstructionInfo_set_m_rollingFriction_1:XB,_emscripten_bind_btVector3_z_0:PC,_emscripten_bind_btGhostObject_setUserIndex_1:Sy,_emscripten_bind_btWheelInfo_getSuspensionRestLength_0:AC,_emscripten_bind_btDefaultMotionState_set_m_graphicsWorldTrans_1:vx,_emscripten_bind_ClosestConvexResultCallback___destroy___0:Tv,_emscripten_bind_btDefaultCollisionConstructionInfo___destroy___0:hC,_emscripten_bind_btCollisionObject_setFriction_1:wz,_emscripten_bind_btQuadWord_y_0:QC,_emscripten_bind_btDefaultCollisionConfiguration___destroy___0:Tv,_emscripten_bind_btRigidBody_setMassProps_2:Dj,_emscripten_bind_btVector3_setValue_3:sq,_emscripten_bind_btPairCachingGhostObject_setCcdMotionThreshold_1:tx,_emscripten_bind_RaycastInfo_get_m_suspensionLength_0:XE,_emscripten_bind_btGhostObject_getCollisionFlags_0:bC,_emscripten_bind_btCapsuleShapeX___destroy___0:Tv,_emscripten_bind_btWheelInfo_get_m_wheelDirectionCS_0:aE,_emscripten_bind_Config_set_kDG_1:$D,_emscripten_bind_btRigidBody_setActivationState_1:rv,_emscripten_bind_btQuaternion_getAxis_0:Po,_emscripten_bind_btRigidBody_updateInertiaTensor_0:xj,_emscripten_bind_btRaycastVehicle_getUserConstraintId_0:PA,_emscripten_bind_btRaycastVehicle_updateAction_2:_u,_emscripten_bind_btHingeConstraint_setLimit_4:xu,_emscripten_bind_btHingeConstraint_setLimit_5:Rt,_emscripten_bind_btSoftBodyWorldInfo_btSoftBodyWorldInfo_0:Rx,_emscripten_bind_btWheelInfo_get_m_wheelsDampingRelaxation_0:zB,_emscripten_bind_btWheelInfo_set_m_maxSuspensionTravelCm_1:Gz,_emscripten_bind_btConeShape_setLocalScaling_1:ow,_emscripten_bind_btSoftBody_scale_1:Je,_emscripten_bind_Config_get_citerations_0:wE,_emscripten_bind_btTypedConstraint_getBreakingImpulseThreshold_0:Zw,_emscripten_bind_btGhostObject_getCollisionShape_0:aC,_emscripten_bind_Config_get_kSSHR_CL_0:rE,_emscripten_bind_btBoxShape___destroy___0:Tv,_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelAxleCS_0:kF,_emscripten_bind_btPersistentManifold_getContactPoint_1:Uw,_emscripten_bind_btVector3_btVector3_0:TF,_emscripten_bind_btGeneric6DofSpringConstraint_getBreakingImpulseThreshold_0:Zw,_emscripten_bind_btConeShapeX_calculateLocalInertia_2:Ku,_emscripten_bind_RaycastInfo_set_m_groundObject_1:FB,_emscripten_bind_btGhostObject_activate_1:Zr,_emscripten_bind_btGeneric6DofSpringConstraint_enableSpring_2:Tr,_emscripten_bind_btManifoldPoint_getPositionWorldOnB_0:ez,_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelRadius_0:tE,_emscripten_bind_btManifoldPoint_get_m_positionWorldOnA_0:cG,_emscripten_bind_btDefaultSoftBodySolver_btDefaultSoftBodySolver_0:Gp,_bitshift64Shl:wt,_emscripten_bind_btSphereShape_setMargin_1:ex,_emscripten_bind_btSoftBody_get_m_cfg_0:GF,_emscripten_bind_btCollisionObject_setUserIndex_1:Sy,_emscripten_bind_btContactSolverInfo_set_m_splitImpulsePenetrationThreshold_1:Vw,_emscripten_bind_btSliderConstraint_setUpperAngLimit_1:yx,_emscripten_bind_btDynamicsWorld_contactPairTest_3:Aj,_emscripten_bind_btCollisionWorld_getPairCache_0:py,_emscripten_bind_btConeTwistConstraint_setMotorTarget_1:Xh,_emscripten_bind_ClosestConvexResultCallback_set_m_convexFromWorld_1:Rq,_emscripten_bind_btTransform_getOrigin_0:SC,_emscripten_bind_btWheelInfo_set_m_rollInfluence_1:sA,_emscripten_bind_btRigidBody_getWorldTransform_0:sD,_emscripten_bind_btDefaultCollisionConstructionInfo_btDefaultCollisionConstructionInfo_0:Gu,_emscripten_bind_btGhostObject_forceActivationState_1:fA,_emscripten_bind_btSoftBodyHelpers_CreateFromTriMesh_5:fe,_emscripten_bind_ConcreteContactResultCallback_ConcreteContactResultCallback_0:it,_emscripten_bind_VoidPtr___destroy___0:hC,_emscripten_bind_btSliderConstraint_setLowerAngLimit_1:Ax,_emscripten_bind_btSoftBody_get_m_materials_0:eF,_emscripten_bind_btVector4_op_sub_1:AB,_emscripten_bind_RaycastInfo_set_m_contactPointWS_1:rr,_emscripten_bind_RayResultCallback_set_m_collisionObject_1:bA,_emscripten_bind_ClosestRayResultCallback_get_m_rayFromWorld_0:zD,_emscripten_bind_btSoftBody_setContactProcessingThreshold_1:zx,_emscripten_bind_btPairCachingGhostObject_getNumOverlappingObjects_0:xy,_emscripten_bind_Config_get_kDF_0:_E,_emscripten_bind_btWheelInfo_get_m_steering_0:FD,_emscripten_bind_btConstraintSetting_get_m_tau_0:RD,_emscripten_bind_btSliderConstraint___destroy___0:Tv,_emscripten_bind_btCollisionObject_setCollisionShape_1:dw,_emscripten_bind_btCollisionShape___destroy___0:Tv,_emscripten_bind_btMatrix3x3_getRow_1:Wp,_emscripten_bind_ConvexResultCallback_get_m_closestHitFraction_0:VE,_emscripten_bind_btTriangleMesh_addTriangle_4:Zm,_emscripten_bind_btDispatcherInfo_get_m_dispatchFunc_0:UC,_emscripten_bind_btRigidBodyConstructionInfo_get_m_rollingFriction_0:uA,_emscripten_bind_btSoftBody_getUserIndex_0:VA,_emscripten_bind_btPairCachingGhostObject_setCollisionShape_1:dw,_emscripten_bind_btKinematicCharacterController_warp_1:Kv,_emscripten_bind_btAxisSweep3___destroy___0:Tv,_emscripten_bind_btSoftBody_getWorldTransform_0:sD,___muldsi3:qp,_emscripten_bind_btTriangleMesh___destroy___0:Tv,_emscripten_bind_btKinematicCharacterController_preStep_1:Dv,_emscripten_bind_btRaycastVehicle_applyEngineForce_2:fv,_emscripten_bind_btRaycastVehicle_setBrake_2:Hv,_emscripten_bind_ConcreteContactResultCallback___destroy___0:Tv,_emscripten_bind_RaycastInfo_set_m_wheelAxleWS_1:tr,_emscripten_bind_btRaycastVehicle_updateVehicle_1:lw,_emscripten_bind_btCollisionObject___destroy___0:Rv,_emscripten_bind_btVehicleTuning_set_m_suspensionDamping_1:xE,_emscripten_bind_btRigidBody_applyTorqueImpulse_1:Gt,_emscripten_bind_btTriangleMeshShape_setLocalScaling_1:ow,_emscripten_bind_btRigidBodyConstructionInfo_set_m_linearSleepingThreshold_1:Sx,_emscripten_bind_btConeTwistConstraint_setMotorTargetInConstraintSpace_1:fu,_emscripten_bind_btQuaternion_op_mul_1:Ys,_emscripten_bind_btDispatcherInfo_set_m_timeStep_1:RE,_emscripten_bind_btVector3_btVector3_3:Jp,_emscripten_bind_RaycastInfo_set_m_contactNormalWS_1:Jr,_emscripten_bind_btRigidBodyConstructionInfo_set_m_friction_1:oz,_emscripten_bind_btDiscreteDynamicsWorld_getGravity_0:go,_emscripten_bind_ClosestConvexResultCallback_get_m_hitPointWorld_0:YC,_emscripten_bind_btCollisionShape_getMargin_0:My,_emscripten_bind_btSoftBodyWorldInfo_set_water_offset_1:xE,_emscripten_bind_btRigidBody_isKinematicObject_0:wx,_emscripten_bind_RaycastInfo_get_m_hardPointWS_0:JE,_emscripten_bind_btConeTwistConstraint___destroy___0:Tv,_emscripten_bind_btQuadWord___destroy___0:hC,_emscripten_bind_btSoftRigidDynamicsWorld_contactPairTest_3:Aj,_emscripten_bind_ClosestRayResultCallback_set_m_rayFromWorld_1:br,_emscripten_bind_btGeneric6DofSpringConstraint_setDamping_2:Ew,_emscripten_bind_RaycastInfo_get_m_wheelDirectionWS_0:jE,_emscripten_bind_ClosestRayResultCallback_get_m_hitNormalWorld_0:jE,_emscripten_bind_btSoftBody_setUserIndex_1:Sy,_emscripten_bind_btSliderConstraint_setBreakingImpulseThreshold_1:Xv,_emscripten_bind_btSoftBody_setCollisionShape_1:dw,_emscripten_bind_btGhostObject_setAnisotropicFriction_2:Iu,_emscripten_bind_btConstraintSolver___destroy___0:Tv,_emscripten_bind_btDbvtBroadphase___destroy___0:Tv,_emscripten_bind_btCapsuleShape_btCapsuleShape_2:dn,_emscripten_bind_btTypedConstraint_enableFeedback_1:Px,_emscripten_bind_btSoftBody_setRollingFriction_1:ey,_emscripten_bind_btGhostObject_activate_0:gt,_emscripten_bind_btCapsuleShape_setLocalScaling_1:ow,_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDampingFactor_0:Iz,_emscripten_bind_btRigidBody_setAnisotropicFriction_2:Iu,_emscripten_bind_btSoftBody_btSoftBody_4:Kr,_emscripten_bind_btQuaternion_setRotation_2:tw,_emscripten_bind_btSoftBodyWorldInfo_set_air_density_1:RE,_emscripten_bind_ConvexResultCallback_set_m_closestHitFraction_1:yE,_emscripten_bind_btVector3_op_add_1:BB,_emscripten_bind_btPersistentManifold_btPersistentManifold_0:Ji,_emscripten_bind_ConvexResultCallback_get_m_collisionFilterMask_0:jB,_emscripten_bind_ClosestRayResultCallback_ClosestRayResultCallback_2:Ks,_emscripten_bind_btVector4___destroy___0:Qz,_emscripten_bind_btPairCachingGhostObject_isKinematicObject_0:wx,_emscripten_bind_btConstraintSetting_get_m_damping_0:VE,_emscripten_bind_tNodeArray_at_1:ww,_i64Add:Gv,_emscripten_bind_btContactSolverInfo_set_m_splitImpulse_1:jz,_emscripten_bind_btSoftBodyHelpers_CreatePatchUV_10:Zd,_emscripten_bind_btCollisionObject_setCcdMotionThreshold_1:tx,_emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_0:Tp,_emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_1:zs,_emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_3:Zj,_emscripten_bind_btRigidBodyConstructionInfo_get_m_angularSleepingThreshold_0:Az,_emscripten_bind_btWheelInfo_get_m_deltaRotation_0:$C,_emscripten_bind_btPoint2PointConstraint_getPivotInB_0:cz,_emscripten_bind_btKinematicCharacterController_playerStep_2:tu,_emscripten_bind_btDispatcherInfo___destroy___0:hC,_emscripten_bind_btCapsuleShape_getMargin_0:My,_emscripten_bind_btCylinderShape_getMargin_0:My,_emscripten_bind_btStaticPlaneShape_setLocalScaling_1:ow,_emscripten_bind_btConvexTriangleMeshShape_calculateLocalInertia_2:Ku,_emscripten_bind_btVector4_setValue_4:ep,_emscripten_bind_btWheelInfoConstructionInfo_set_m_bIsFrontWheel_1:ry,_emscripten_bind_ContactResultCallback_addSingleResult_7:Eq,_emscripten_bind_btGhostObject_getWorldTransform_0:sD,_emscripten_bind_btDiscreteDynamicsWorld_getPairCache_0:py,_emscripten_bind_LocalConvexResult_set_m_hitFraction_1:VC,_emscripten_bind_btCapsuleShapeZ_calculateLocalInertia_2:Ku,_emscripten_bind_btDispatcherInfo_get_m_timeStep_0:RD,_emscripten_bind_btConvexTriangleMeshShape_setMargin_1:ex,_emscripten_bind_btWheelInfo_get_m_frictionSlip_0:nD,_emscripten_bind_btVehicleTuning_set_m_suspensionCompression_1:yE,_emscripten_bind_btBoxShape_calculateLocalInertia_2:Ku,_emscripten_bind_btMotionState___destroy___0:Tv,_emscripten_bind_btCollisionObject_setCollisionFlags_1:Yx,_emscripten_bind_btPairCachingGhostObject_setActivationState_1:rv,_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_1:Ju,_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_2:Wt,_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_3:ut,_emscripten_bind_btGeneric6DofSpringConstraint_enableFeedback_1:Px,_emscripten_bind_Config_set_kSSHR_CL_1:wC,_emscripten_bind_btDispatcher_getManifoldByIndexInternal_1:wv,_emscripten_bind_btSoftBodyWorldInfo___destroy___0:Dw,_emscripten_bind_btConvexTriangleMeshShape_getMargin_0:My,_emscripten_bind_btSoftBodySolver___destroy___0:Tv,_emscripten_bind_Node_get_m_n_0:XF,_emscripten_bind_LocalShapeInfo_set_m_triangleIndex_1:pA,_emscripten_bind_btPairCachingGhostObject_setWorldTransform_1:Iw,_emscripten_bind_btHingeConstraint_getBreakingImpulseThreshold_0:Zw,_emscripten_bind_btConeTwistConstraint_setAngularOnly_1:dx,_emscripten_bind_btGhostObject_setCcdSweptSphereRadius_1:bx,_emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_4:_j,_emscripten_bind_btRaycastVehicle_updateFriction_1:jw,_emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_2:Hj,_emscripten_bind_btGhostObject_getNumOverlappingObjects_0:xy,_emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration___destroy___0:Tv,_emscripten_bind_ConvexResultCallback_set_m_collisionFilterGroup_1:Oy,_emscripten_enum_PHY_ScalarType_PHY_FIXEDPOINT88:AG,_emscripten_bind_btPairCachingGhostObject_getOverlappingObject_1:kx,_emscripten_bind_btRaycastVehicle_getForwardVector_0:Sn,_emscripten_bind_btRigidBodyConstructionInfo___destroy___0:hC,_emscripten_bind_btWheelInfo_set_m_wheelAxleCS_1:nr,_emscripten_bind_btGeneric6DofConstraint_setBreakingImpulseThreshold_1:Xv,_sbrk:ho,_emscripten_bind_btPoint2PointConstraint_setPivotA_1:Qw,_emscripten_bind_ClosestConvexResultCallback_set_m_convexToWorld_1:Yq,_memcpy:_h,_emscripten_bind_Config_get_maxvolume_0:lE,_emscripten_bind_btCapsuleShape_calculateLocalInertia_2:Ku,_emscripten_bind_btRigidBody___destroy___0:Rv,_emscripten_bind_btVector3_y_0:QC,_emscripten_bind_btDispatcherInfo_set_m_useEpa_1:gA,_emscripten_bind_btVehicleTuning_get_m_maxSuspensionForce_0:WE,_emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_2:ys,_emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_3:Rr,_emscripten_bind_LocalShapeInfo_get_m_triangleIndex_0:uD,_emscripten_bind_Config_set_kDF_1:fD,_emscripten_bind_btHeightfieldTerrainShape_btHeightfieldTerrainShape_9:Dg,_emscripten_bind_btSoftBody_activate_1:Zr,_emscripten_bind_btConeShapeZ_btConeShapeZ_2:dm,_emscripten_bind_btGhostObject_setCollisionShape_1:dw,_emscripten_bind_btDispatcherInfo_set_m_allowedCcdPenetration_1:fD,_emscripten_bind_btQuaternion_setW_1:mC,_emscripten_bind_btPairCachingGhostObject_setRollingFriction_1:ey,_emscripten_bind_btDiscreteDynamicsWorld_setGravity_1:Ov,_emscripten_get_global_libc:$G,_emscripten_bind_btGhostObject_isActive_0:xz,_emscripten_bind_btVector4_z_0:PC,_emscripten_bind_btCollisionObject_forceActivationState_1:fA,_emscripten_bind_btKinematicCharacterController_onGround_0:by,_emscripten_bind_btRaycastVehicle_getWheelInfo_1:uy,_emscripten_bind_btGeneric6DofConstraint_getBreakingImpulseThreshold_0:Zw,_emscripten_bind_btConeTwistConstraint_setLimit_2:Bw,_emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterMask_1:Ny,_emscripten_bind_btSoftBodyWorldInfo_get_water_normal_0:zE,_emscripten_bind_Node_set_m_x_1:Pr,_emscripten_bind_btSoftBody_setFriction_1:wz,_emscripten_bind_btRigidBody_setSleepingThresholds_2:iw,_emscripten_bind_btSoftBody_upcast_1:iz,_emscripten_bind_btCollisionObject_setWorldTransform_1:Iw,_emscripten_bind_LocalConvexResult_get_m_localShapeInfo_0:uD,_emscripten_bind_btSoftBodyWorldInfo_set_m_dispatcher_1:Rz,_emscripten_bind_btStridingMeshInterface___destroy___0:Tv,_emscripten_bind_btSoftBody_setActivationState_1:rv,_emscripten_bind_btManifoldPoint_get_m_localPointA_0:bH,_emscripten_bind_btRigidBodyConstructionInfo_get_m_linearDamping_0:OA,_emscripten_bind_btSoftBodyHelpers_CreatePatch_9:Ke,_emscripten_bind_btDispatcher_getNumManifolds_0:Py,_emscripten_bind_btConvexShape_setMargin_1:ex,_emscripten_bind_btSoftBody_get_m_nodes_0:wF,_emscripten_bind_btSoftBody___destroy___0:Rv,_emscripten_bind_btRigidBodyConstructionInfo_get_m_linearSleepingThreshold_0:Hz,_emscripten_bind_btRigidBody_activate_1:Zr,_emscripten_bind_btRaycastVehicle_updateWheelTransform_2:Xs,_emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_2:lt,_emscripten_bind_btRaycastVehicle___destroy___0:Tv,_emscripten_bind_btSoftBodyWorldInfo_get_m_gravity_0:pE,_emscripten_bind_btGhostObject_setActivationState_1:rv,_emscripten_bind_btSoftBodyArray___destroy___0:aw,_emscripten_bind_Material_set_m_kLST_1:yE,_emscripten_bind_btCollisionWorld_contactPairTest_3:Aj,_emscripten_bind_btDispatcherInfo_get_m_useContinuous_0:hB,_emscripten_bind_btHingeConstraint_setMaxMotorImpulse_1:qx,___udivdi3:Tz,_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingRelaxation_0:ZD,_emscripten_bind_Config_get_kSS_SPLT_CL_0:QE,_emscripten_bind_btCylinderShapeX___destroy___0:Tv,_emscripten_bind_btSoftRigidDynamicsWorld_getWorldInfo_0:Jy,_emscripten_bind_btManifoldPoint_getPositionWorldOnA_0:SC,_emscripten_bind_ContactResultCallback___destroy___0:Tv,_emscripten_bind_btDispatcherInfo_get_m_useConvexConservativeDistanceUtil_0:Vy,_emscripten_bind_btSoftBody_setAnisotropicFriction_2:Iu,_emscripten_bind_btConstraintSetting_btConstraintSetting_0:$x,_emscripten_bind_btRigidBody_getMotionState_0:kC,_emscripten_bind_btKinematicCharacterController_getGhostObject_0:UC,_emscripten_bind_btRigidBody_btRigidBody_1:vi,_emscripten_bind_btTriangleMeshShape___destroy___0:Tv,_emscripten_bind_btKinematicCharacterController_setWalkDirection_1:Yu,_emscripten_bind_btDynamicsWorld_removeAction_1:fw,_emscripten_bind_btRigidBody_applyTorque_1:mu,_emscripten_bind_btRigidBodyConstructionInfo_get_m_restitution_0:WA,_emscripten_bind_btTransform_setIdentity_0:BC,_emscripten_bind_btSoftBodyWorldInfo_get_air_density_0:RD,_emscripten_bind_btManifoldPoint_set_m_normalWorldOnB_1:kr,_emscripten_bind_btGhostObject_setUserPointer_1:sy,_emscripten_bind_btKinematicCharacterController_getGravity_0:KE,___udivmoddi4:Ne,_emscripten_enum_PHY_ScalarType_PHY_SHORT:NG,_emscripten_bind_btConeTwistConstraint_getBreakingImpulseThreshold_0:Zw,_emscripten_bind_btDiscreteDynamicsWorld_addAction_1:uw,_emscripten_bind_btRaycastVehicle_setPitchControl_1:jy,_emscripten_bind_btQuaternion_op_sub_1:EA,_emscripten_bind_btHingeConstraint_btHingeConstraint_4:wg,_emscripten_bind_LocalShapeInfo_get_m_shapePart_0:SD,_emscripten_bind_btConeShape_calculateLocalInertia_2:Ku,_emscripten_bind_btCylinderShapeX_calculateLocalInertia_2:Ku,_emscripten_bind_ConvexResultCallback_set_m_collisionFilterMask_1:Ny,_llvm_bswap_i32:lA,_emscripten_bind_btSoftRigidDynamicsWorld_removeRigidBody_1:Av,_emscripten_bind_btWheelInfo_set_m_suspensionRelativeVelocity_1:bz,_emscripten_bind_btSphereShape_setLocalScaling_1:ow,_emscripten_bind_btRigidBody_applyCentralLocalForce_1:ht,_emscripten_bind_btVector4_w_0:RC,_emscripten_bind_btWheelInfo_get_m_worldTransform_0:NF,_emscripten_bind_btManifoldPoint_get_m_normalWorldOnB_0:XD,_emscripten_bind_btBvhTriangleMeshShape___destroy___0:Tv,_emscripten_bind_Config_set_citerations_1:IB,_emscripten_bind_btSoftBody_checkFace_3:Ck,_emscripten_bind_Config_get_kSKHR_CL_0:tE,_free:Uc,_emscripten_bind_btDefaultVehicleRaycaster_castRay_3:Mt,_emscripten_bind_ClosestRayResultCallback_get_m_rayToWorld_0:JE,_emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionTravelCm_0:sE,_emscripten_bind_ClosestConvexResultCallback_set_m_closestHitFraction_1:yE,_emscripten_bind_btDiscreteDynamicsWorld_removeConstraint_1:xv,_emscripten_bind_btSoftBodyHelpers_btSoftBodyHelpers_0:HF,_emscripten_bind_Config_set_diterations_1:GB,_emscripten_bind_btRaycastVehicle_getUserConstraintType_0:DA,_emscripten_bind_btGeneric6DofConstraint___destroy___0:Tv,_emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_1:Iv,_emscripten_bind_btVector4_btVector4_4:zo,_emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_3:qt,_emscripten_bind_btVector4_x_0:iE,_emscripten_bind_Config_set_kDP_1:xE,_emscripten_bind_btGhostObject_getUserPointer_0:vC,_emscripten_bind_btConvexHullShape_addPoint_1:Ix,_emscripten_bind_btConvexHullShape_addPoint_2:bw,_emscripten_bind_btRaycastVehicle_resetSuspension_0:Cl,_emscripten_bind_btPoint2PointConstraint_getBreakingImpulseThreshold_0:Zw,_emscripten_bind_Config_set_kMT_1:dD,_emscripten_bind_btRigidBody_activate_0:gt,_emscripten_bind_Config_get_kKHR_0:LE,_emscripten_bind_Material_get_m_kLST_0:VE,_emscripten_bind_btHingeConstraint___destroy___0:Tv,_emscripten_bind_btPairCachingGhostObject_getUserPointer_0:vC,_emscripten_bind_btSoftBody_set_m_nodes_1:Cw,_emscripten_bind_Config_set_viterations_1:EB,_emscripten_bind_btConvexShape_calculateLocalInertia_2:Ku,_memset:Lk,_emscripten_bind_btKinematicCharacterController___destroy___0:Tv,_emscripten_bind_btConvexHullShape_setLocalScaling_1:ow,_emscripten_bind_btTriangleMesh_btTriangleMesh_0:hw,_emscripten_bind_btPairCachingGhostObject_getCollisionShape_0:aC,_emscripten_bind_btTriangleMesh_btTriangleMesh_2:ku,_emscripten_bind_btTransform___destroy___0:hC,_emscripten_bind_btWheelInfo_set_m_frictionSlip_1:BA,_emscripten_bind_btSoftBodyHelpers___destroy___0:hC,_emscripten_bind_btHingeConstraint_enableAngularMotor_3:zu,_emscripten_bind_btManifoldPoint_set_m_positionWorldOnA_1:Ar,_emscripten_bind_btRigidBody_setCenterOfMassTransform_1:_v,_emscripten_bind_btManifoldPoint_get_m_localPointB_0:zE,_emscripten_bind_btQuaternion_inverse_0:Oo,_emscripten_bind_btDiscreteDynamicsWorld_contactPairTest_3:Aj,_emscripten_bind_btSliderConstraint_setLowerLinLimit_1:zx,_emscripten_bind_btPoint2PointConstraint_set_m_setting_1:vs,_emscripten_bind_btCollisionObject_setCcdSweptSphereRadius_1:bx,_emscripten_bind_btWheelInfo_get_m_wheelsRadius_0:mD,_emscripten_bind_btRigidBody_setLinearVelocity_1:px,_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelDirectionCS_0:zE,_emscripten_bind_btVehicleTuning_btVehicleTuning_0:ox,_emscripten_bind_Config_set_maxvolume_1:qC,_emscripten_bind_btDefaultSoftBodySolver___destroy___0:Tv,_emscripten_bind_ClosestRayResultCallback_set_m_rayToWorld_1:ur,_emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterGroup_0:vB,_emscripten_bind_btWheelInfo_set_m_wheelsDampingRelaxation_1:vz,_emscripten_bind_btWheelInfo_get_m_clippedInvContactDotSuspension_0:CA,_emscripten_bind_btDynamicsWorld_addAction_1:uw,_emscripten_bind_btDiscreteDynamicsWorld_removeAction_1:fw,_emscripten_bind_btSoftBodyWorldInfo_set_m_maxDisplacement_1:$D,_emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_2:vt,_emscripten_bind_btDefaultVehicleRaycaster___destroy___0:Tv,_emscripten_bind_btRigidBodyConstructionInfo_set_m_linearDamping_1:Ty,_emscripten_bind_btQuaternion_setEulerZYX_3:Jv,_emscripten_bind_Config_set_kLF_1:eD,_emscripten_bind_btWheelInfo_get_m_rotation_0:HD,_emscripten_enum_PHY_ScalarType_PHY_FLOAT:fH,_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDamping_1:_x,_emscripten_bind_Config_set_kSS_SPLT_CL_1:kD,_emscripten_bind_btSoftBody_forceActivationState_1:fA,_emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionRestLength_1:XC,_emscripten_bind_btKinematicCharacterController_setFallSpeed_1:bD,_emscripten_bind_Material_get_m_flags_0:qE,_emscripten_bind_btWheelInfo_get_m_wheelsDampingCompression_0:sB,_emscripten_bind_ClosestConvexResultCallback_hasHit_0:hx,_emscripten_bind_btCapsuleShapeZ___destroy___0:Tv,_emscripten_bind_btRaycastVehicle_getRigidBody_0:OB,_emscripten_bind_btWheelInfo_get_m_maxSuspensionForce_0:uC,_emscripten_bind_ClosestRayResultCallback_get_m_collisionObject_0:UC,_emscripten_bind_btTriangleMesh_addTriangle_3:ln,_emscripten_bind_btGhostObject_getOverlappingObject_1:kx,_emscripten_bind_btSoftRigidDynamicsWorld_getPairCache_0:py,_emscripten_bind_btSoftRigidDynamicsWorld_getDispatchInfo_0:Wz,_emscripten_bind_btSoftBodyWorldInfo_set_water_normal_1:rr,_emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_2:su,_emscripten_bind_btCompoundShape_getChildShape_1:my,_emscripten_bind_btRigidBody_setCollisionFlags_1:Yx,_emscripten_bind_btWheelInfo_set_m_suspensionRestLength1_1:Fz,_emscripten_bind_Config_set_kCHR_1:WC,_emscripten_bind_btRaycastVehicle_setUserConstraintType_1:Ow,_emscripten_bind_btConeShape___destroy___0:Tv,_emscripten_bind_btCapsuleShapeZ_btCapsuleShapeZ_2:bn,_emscripten_bind_btSoftRigidDynamicsWorld_addSoftBody_3:Xi,_emscripten_bind_btSliderConstraint_btSliderConstraint_5:pf,_emscripten_bind_btSliderConstraint_btSliderConstraint_3:de,_emscripten_bind_btDispatcherInfo_get_m_allowedCcdPenetration_0:_E,_emscripten_bind_btWheelInfo_get_m_wheelAxleCS_0:FE,_emscripten_bind_RaycastInfo_set_m_hardPointWS_1:ur,_emscripten_bind_btRigidBody_forceActivationState_1:fA,_emscripten_bind_btPoint2PointConstraint_setPivotB_1:Pw,_emscripten_bind_btManifoldPoint_getDistance_0:Gy,_emscripten_bind_btWheelInfo_set_m_deltaRotation_1:tA,_emscripten_bind_btGhostPairCallback___destroy___0:Tv,_emscripten_bind_btTransform_setFromOpenGLMatrix_1:Qx,_emscripten_bind_btKinematicCharacterController_getMaxSlope_0:ME,_emscripten_bind_btSliderConstraint_enableFeedback_1:Px,_emscripten_bind_btRaycastVehicle_addWheel_7:Md,_emscripten_bind_btQuaternion_op_add_1:FA,_emscripten_bind_btPairCachingGhostObject_isActive_0:xz,_emscripten_bind_LocalConvexResult_set_m_localShapeInfo_1:pA,_emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_1:hu,_emscripten_bind_btHingeConstraint_enableMotor_1:vy,_emscripten_bind_btDispatcherInfo_set_m_stepCount_1:pA,_emscripten_bind_btBoxShape_setLocalScaling_1:ow,_emscripten_bind_btConeShapeZ___destroy___0:Tv,_emscripten_bind_btDynamicsWorld_getPairCache_0:py,_emscripten_bind_btSoftRigidDynamicsWorld_convexSweepTest_5:dr,_emscripten_bind_btDiscreteDynamicsWorld_convexSweepTest_5:dr,_emscripten_bind_btKinematicCharacterController_setVelocityForTimeInterval_2:It,_emscripten_bind_btRigidBody_setRestitution_1:Ky,_emscripten_bind_btVector4_btVector4_0:TF,_emscripten_bind_btDispatcherInfo_get_m_enableSatConvex_0:RA,_emscripten_bind_btGhostObject_setCcdMotionThreshold_1:tx,_emscripten_bind_btGeneric6DofConstraint_setLinearLowerLimit_1:tv,_emscripten_bind_btGeneric6DofSpringConstraint_setLinearLowerLimit_1:tv,_emscripten_bind_tMaterialArray_at_1:qv,_emscripten_bind_LocalConvexResult_set_m_hitCollisionObject_1:iB,_emscripten_bind_Material_set_m_kVST_1:$D,_emscripten_bind_btGeneric6DofSpringConstraint_setAngularLowerLimit_1:jv,_emscripten_bind_btSoftBodyWorldInfo_get_water_offset_0:fF,_emscripten_bind_btDiscreteDynamicsWorld_rayTest_3:Zt,_emscripten_bind_btWheelInfo_get_m_raycastInfo_0:bH,_emscripten_bind_btContactSolverInfo_get_m_splitImpulse_0:LA,_emscripten_bind_btConvexShape_getMargin_0:My,_emscripten_bind_btRaycastVehicle_getSteeringValue_1:mw,_emscripten_bind_btGhostPairCallback_btGhostPairCallback_0:hy,_emscripten_bind_btKinematicCharacterController_setMaxJumpHeight_1:dD,_emscripten_bind_ClosestRayResultCallback_set_m_hitNormalWorld_1:mr,_emscripten_bind_btWheelInfo_set_m_wheelDirectionCS_1:er,_emscripten_bind_btVehicleTuning_get_m_frictionSlip_0:YE,__GLOBAL__sub_I_btQuickprof_cpp:dq,runPostSets:$t,stackAlloc:Qy,stackSave:dH,stackRestore:WG,establishStackSpace:EE,setTempRet0:ZG,getTempRet0:cH,setThrew:MB,stackAlloc:Qy,stackSave:dH,stackRestore:WG,establishStackSpace:EE,setThrew:MB,setTempRet0:ZG,getTempRet0:cH,dynCall_viiiii:Bu,dynCall_vid:OC,dynCall_vi:iF,dynCall_viiidii:Ft,dynCall_vii:YB,dynCall_iiiiiiiiiii:Lp,dynCall_ii:UD,dynCall_viidi:Lw,dynCall_viddiii:Ut,dynCall_vidii:Mw,dynCall_iiiii:Cv,dynCall_vidi:lz,dynCall_diiiiiiii:qr,dynCall_viiiiddddiid:Yp,dynCall_diiiii:ju,dynCall_vidd:$z,dynCall_iiii:Gx,dynCall_viiiiid:Et,dynCall_viiiiii:nt,dynCall_iiid:ny,dynCall_di:oE,dynCall_iiiiiii:Qs,dynCall_diiidii:et,dynCall_viidii:Uu,dynCall_viiiiiii:gs,dynCall_viiiiiiiii:Mq,dynCall_viiiiiiiiii:$p,dynCall_iii:rA,dynCall_diii:Xx,dynCall_diiiiiiiiii:Op,dynCall_viiiid:Tu,dynCall_diiiiiiiii:Bq,dynCall_did:ZB,dynCall_viiiidddddidi:wp,dynCall_diidii:yu,dynCall_diiii:Nv,dynCall_iiiiiiiiii:xq,dynCall_viiid:Gw,dynCall_viii:By,dynCall_v:JG,dynCall_viid:tz,dynCall_iidid:sw,dynCall_viiii:cw}})
//
//
//// EMSCRIPTEN_END_ASM
//(c.B,c.C,buffer),Gb=c._emscripten_bind_btCylinderShape___destroy___0=n._emscripten_bind_btCylinderShape___destroy___0,Hb=c._emscripten_bind_btGeneric6DofConstraint_enableFeedback_1=n._emscripten_bind_btGeneric6DofConstraint_enableFeedback_1,Ib=c._emscripten_bind_btGhostObject___destroy___0=n._emscripten_bind_btGhostObject___destroy___0,Jb=c._emscripten_bind_Config_get_kSRHR_CL_0=n._emscripten_bind_Config_get_kSRHR_CL_0,Kb=c._emscripten_bind_btPoint2PointConstraint_set_m_setting_1=
//n._emscripten_bind_btPoint2PointConstraint_set_m_setting_1,Lb=c._emscripten_bind_btQuaternion_dot_1=n._emscripten_bind_btQuaternion_dot_1,Mb=c._emscripten_bind_btDispatcherInfo_set_m_useContinuous_1=n._emscripten_bind_btDispatcherInfo_set_m_useContinuous_1,Nb=c._emscripten_bind_btKinematicCharacterController_setWalkDirection_1=n._emscripten_bind_btKinematicCharacterController_setWalkDirection_1,Ob=c._emscripten_bind_btCollisionObject_isActive_0=n._emscripten_bind_btCollisionObject_isActive_0,Qb=c._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingRelaxation_1=
//n._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingRelaxation_1,Rb=c._emscripten_bind_btVehicleTuning_set_m_frictionSlip_1=n._emscripten_bind_btVehicleTuning_set_m_frictionSlip_1,Sb=c._emscripten_bind_btDiscreteDynamicsWorld_btDiscreteDynamicsWorld_4=n._emscripten_bind_btDiscreteDynamicsWorld_btDiscreteDynamicsWorld_4,Tb=c._emscripten_bind_btCapsuleShapeX_getMargin_0=n._emscripten_bind_btCapsuleShapeX_getMargin_0,Ub=c._emscripten_bind_Node_set_m_n_1=n._emscripten_bind_Node_set_m_n_1,
//Vb=c._emscripten_bind_btCompoundShape_getMargin_0=n._emscripten_bind_btCompoundShape_getMargin_0,Wb=c._emscripten_bind_RaycastInfo_set_m_wheelDirectionWS_1=n._emscripten_bind_RaycastInfo_set_m_wheelDirectionWS_1,Xb=c._emscripten_bind_btVehicleRaycasterResult_get_m_hitNormalInWorld_0=n._emscripten_bind_btVehicleRaycasterResult_get_m_hitNormalInWorld_0,Yb=c._emscripten_bind_btRigidBody_setUserPointer_1=n._emscripten_bind_btRigidBody_setUserPointer_1,Zb=c._emscripten_bind_ClosestRayResultCallback_get_m_hitPointWorld_0=
//n._emscripten_bind_ClosestRayResultCallback_get_m_hitPointWorld_0,$b=c._emscripten_bind_btTypedConstraint_setBreakingImpulseThreshold_1=n._emscripten_bind_btTypedConstraint_setBreakingImpulseThreshold_1,ac=c._emscripten_bind_btQuaternion_setX_1=n._emscripten_bind_btQuaternion_setX_1,bc=c._emscripten_bind_btCylinderShapeZ_getMargin_0=n._emscripten_bind_btCylinderShapeZ_getMargin_0,cc=c._emscripten_bind_btDispatcherInfo_get_m_timeOfImpact_0=n._emscripten_bind_btDispatcherInfo_get_m_timeOfImpact_0,dc=
//c._emscripten_bind_btQuaternion_setZ_1=n._emscripten_bind_btQuaternion_setZ_1,ec=c._emscripten_bind_btCollisionObject_getUserIndex_0=n._emscripten_bind_btCollisionObject_getUserIndex_0,fc=c._emscripten_bind_btDispatcherInfo_get_m_allowedCcdPenetration_0=n._emscripten_bind_btDispatcherInfo_get_m_allowedCcdPenetration_0,gc=c._emscripten_bind_LocalConvexResult_get_m_hitNormalLocal_0=n._emscripten_bind_LocalConvexResult_get_m_hitNormalLocal_0,hc=c._emscripten_bind_btSoftBodyWorldInfo_set_water_density_1=
//n._emscripten_bind_btSoftBodyWorldInfo_set_water_density_1,ic=c._emscripten_bind_btRigidBodyConstructionInfo_get_m_restitution_0=n._emscripten_bind_btRigidBodyConstructionInfo_get_m_restitution_0,jc=c._emscripten_bind_btKinematicCharacterController_setMaxSlope_1=n._emscripten_bind_btKinematicCharacterController_setMaxSlope_1,kc=c._emscripten_bind_btQuadWord_z_0=n._emscripten_bind_btQuadWord_z_0,mc=c._emscripten_bind_btSoftBody_setCcdMotionThreshold_1=n._emscripten_bind_btSoftBody_setCcdMotionThreshold_1,
//nc=c._emscripten_bind_Material___destroy___0=n._emscripten_bind_Material___destroy___0,oc=c._emscripten_bind_btHingeConstraint_btHingeConstraint_2=n._emscripten_bind_btHingeConstraint_btHingeConstraint_2,pc=c._emscripten_bind_btSoftBody_rotate_1=n._emscripten_bind_btSoftBody_rotate_1,qc=c._emscripten_bind_btWheelInfo_get_m_suspensionRestLength1_0=n._emscripten_bind_btWheelInfo_get_m_suspensionRestLength1_0,rc=c._emscripten_bind_btWheelInfo_get_m_suspensionStiffness_0=n._emscripten_bind_btWheelInfo_get_m_suspensionStiffness_0,
//sc=c._emscripten_bind_btVector4_setY_1=n._emscripten_bind_btVector4_setY_1,tc=c._emscripten_enum_PHY_ScalarType_PHY_UCHAR=n._emscripten_enum_PHY_ScalarType_PHY_UCHAR,uc=c._emscripten_bind_btQuaternion_setW_1=n._emscripten_bind_btQuaternion_setW_1,vc=c._emscripten_bind_btSoftRigidDynamicsWorld___destroy___0=n._emscripten_bind_btSoftRigidDynamicsWorld___destroy___0,wc=c._emscripten_bind_btSoftRigidDynamicsWorld_removeConstraint_1=n._emscripten_bind_btSoftRigidDynamicsWorld_removeConstraint_1,xc=c._emscripten_bind_RaycastInfo_get_m_wheelAxleWS_0=
//n._emscripten_bind_RaycastInfo_get_m_wheelAxleWS_0,zc=c._emscripten_bind_btRigidBodyConstructionInfo_get_m_angularDamping_0=n._emscripten_bind_btRigidBodyConstructionInfo_get_m_angularDamping_0,Ac=c._emscripten_bind_btCollisionDispatcher___destroy___0=n._emscripten_bind_btCollisionDispatcher___destroy___0,Bc=c._emscripten_bind_btRigidBody_applyCentralImpulse_1=n._emscripten_bind_btRigidBody_applyCentralImpulse_1,Cc=c._emscripten_bind_btConvexHullShape_getMargin_0=n._emscripten_bind_btConvexHullShape_getMargin_0,
//Dc=c._emscripten_bind_btDefaultMotionState_getWorldTransform_1=n._emscripten_bind_btDefaultMotionState_getWorldTransform_1,Ec=c._emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_1=n._emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_1,Fc=c._emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_3=n._emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_3,Gc=c._emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_2=n._emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_2,Hc=c._emscripten_bind_btSoftRigidDynamicsWorld_addAction_1=
//n._emscripten_bind_btSoftRigidDynamicsWorld_addAction_1,Ic=c._emscripten_bind_btDynamicsWorld_rayTest_3=n._emscripten_bind_btDynamicsWorld_rayTest_3,Jc=c._emscripten_bind_Config_set_kSR_SPLT_CL_1=n._emscripten_bind_Config_set_kSR_SPLT_CL_1,Kc=c._emscripten_bind_btQuadWord_x_0=n._emscripten_bind_btQuadWord_x_0,Lc=c._emscripten_bind_Config_get_diterations_0=n._emscripten_bind_Config_get_diterations_0,Mc=c._emscripten_bind_btCollisionObject_isKinematicObject_0=n._emscripten_bind_btCollisionObject_isKinematicObject_0,
//Nc=c._emscripten_bind_btSoftRigidDynamicsWorld_removeSoftBody_1=n._emscripten_bind_btSoftRigidDynamicsWorld_removeSoftBody_1,Oc=c._emscripten_bind_btSphereShape___destroy___0=n._emscripten_bind_btSphereShape___destroy___0,Pc=c._emscripten_bind_btGeneric6DofSpringConstraint_setLinearUpperLimit_1=n._emscripten_bind_btGeneric6DofSpringConstraint_setLinearUpperLimit_1,Qc=c._emscripten_bind_btQuaternion_getAngleShortestPath_0=n._emscripten_bind_btQuaternion_getAngleShortestPath_0,Rc=c._emscripten_bind_ClosestConvexResultCallback_set_m_hitNormalWorld_1=
//n._emscripten_bind_ClosestConvexResultCallback_set_m_hitNormalWorld_1,Sc=c._emscripten_bind_btSoftBody_isKinematicObject_0=n._emscripten_bind_btSoftBody_isKinematicObject_0,Tc=c._emscripten_bind_btRigidBody_getCenterOfMassTransform_0=n._emscripten_bind_btRigidBody_getCenterOfMassTransform_0,Uc=c._emscripten_bind_btTransform_setIdentity_0=n._emscripten_bind_btTransform_setIdentity_0,Vc=c._emscripten_bind_btGhostObject_isKinematicObject_0=n._emscripten_bind_btGhostObject_isKinematicObject_0,Wc=c._emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_5=
//n._emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_5,Xc=c._emscripten_bind_btWheelInfoConstructionInfo___destroy___0=n._emscripten_bind_btWheelInfoConstructionInfo___destroy___0,Yc=c._emscripten_bind_btCapsuleShape___destroy___0=n._emscripten_bind_btCapsuleShape___destroy___0,Zc=c._emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_1=n._emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_1,$c=c._emscripten_bind_btCollisionObject_activate_1=
//n._emscripten_bind_btCollisionObject_activate_1,ad=c._emscripten_bind_btCollisionObject_activate_0=n._emscripten_bind_btCollisionObject_activate_0,bd=c._emscripten_bind_btKinematicCharacterController_setUpAxis_1=n._emscripten_bind_btKinematicCharacterController_setUpAxis_1,cd=c._emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_1=n._emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_1,dd=c._emscripten_bind_Config_set_kSSHR_CL_1=n._emscripten_bind_Config_set_kSSHR_CL_1,ed=c._emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionForce_0=
//n._emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionForce_0,fd=c._emscripten_bind_btDispatcherInfo_set_m_timeOfImpact_1=n._emscripten_bind_btDispatcherInfo_set_m_timeOfImpact_1,gd=c._emscripten_bind_btCollisionDispatcher_btCollisionDispatcher_1=n._emscripten_bind_btCollisionDispatcher_btCollisionDispatcher_1,hd=c._emscripten_bind_btVector3_setX_1=n._emscripten_bind_btVector3_setX_1,id=c._emscripten_bind_btCollisionConfiguration___destroy___0=n._emscripten_bind_btCollisionConfiguration___destroy___0,
//jd=c._emscripten_bind_btCapsuleShapeZ_setMargin_1=n._emscripten_bind_btCapsuleShapeZ_setMargin_1,kd=c._emscripten_bind_btHingeConstraint_enableFeedback_1=n._emscripten_bind_btHingeConstraint_enableFeedback_1,ld=c._emscripten_bind_btActionInterface_updateAction_2=n._emscripten_bind_btActionInterface_updateAction_2;c.stackAlloc=n.stackAlloc;
//var md=c._emscripten_bind_btHeightfieldTerrainShape_setLocalScaling_1=n._emscripten_bind_btHeightfieldTerrainShape_setLocalScaling_1,nd=c._emscripten_bind_btManifoldPoint_set_m_positionWorldOnB_1=n._emscripten_bind_btManifoldPoint_set_m_positionWorldOnB_1,od=c._emscripten_bind_btRaycastVehicle_updateSuspension_1=n._emscripten_bind_btRaycastVehicle_updateSuspension_1,pd=c._emscripten_bind_btManifoldPoint_set_m_localPointB_1=n._emscripten_bind_btManifoldPoint_set_m_localPointB_1,qd=c._emscripten_bind_btVector3_setZ_1=
//n._emscripten_bind_btVector3_setZ_1,rd=c._emscripten_bind_btKinematicCharacterController_setUseGhostSweepTest_1=n._emscripten_bind_btKinematicCharacterController_setUseGhostSweepTest_1,sd=c._emscripten_bind_btQuaternion_setValue_4=n._emscripten_bind_btQuaternion_setValue_4,td=c._emscripten_bind_btDispatcherInfo_set_m_dispatchFunc_1=n._emscripten_bind_btDispatcherInfo_set_m_dispatchFunc_1,ud=c._emscripten_bind_btQuaternion_setRotation_2=n._emscripten_bind_btQuaternion_setRotation_2,vd=c._emscripten_bind_btMotionState_setWorldTransform_1=
//n._emscripten_bind_btMotionState_setWorldTransform_1,wd=c._emscripten_bind_LocalShapeInfo___destroy___0=n._emscripten_bind_LocalShapeInfo___destroy___0,xd=c._emscripten_bind_btSoftBody_appendAnchor_4=n._emscripten_bind_btSoftBody_appendAnchor_4,yd=c._emscripten_bind_btPoint2PointConstraint_get_m_setting_0=n._emscripten_bind_btPoint2PointConstraint_get_m_setting_0,zd=c._emscripten_bind_btQuadWord_setY_1=n._emscripten_bind_btQuadWord_setY_1,Ad=c._emscripten_bind_btRigidBody_isKinematicObject_0=n._emscripten_bind_btRigidBody_isKinematicObject_0,
//Bd=c._emscripten_bind_ContactResultCallback_addSingleResult_7=n._emscripten_bind_ContactResultCallback_addSingleResult_7,Cd=c._emscripten_bind_btRigidBodyConstructionInfo_set_m_restitution_1=n._emscripten_bind_btRigidBodyConstructionInfo_set_m_restitution_1,Dd=c._emscripten_bind_btVector4_rotate_2=n._emscripten_bind_btVector4_rotate_2,Ed=c._emscripten_bind_btDefaultMotionState_get_m_graphicsWorldTrans_0=n._emscripten_bind_btDefaultMotionState_get_m_graphicsWorldTrans_0,Fd=c._emscripten_bind_btSliderConstraint_btSliderConstraint_5=
//n._emscripten_bind_btSliderConstraint_btSliderConstraint_5,Gd=c._emscripten_bind_btConeTwistConstraint_setDamping_1=n._emscripten_bind_btConeTwistConstraint_setDamping_1,Hd=c._emscripten_bind_btPairCachingGhostObject_btPairCachingGhostObject_0=n._emscripten_bind_btPairCachingGhostObject_btPairCachingGhostObject_0,Id=c._emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionRestLength_0=n._emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionRestLength_0,Jd=c._emscripten_bind_btDiscreteDynamicsWorld_getSolverInfo_0=
//n._emscripten_bind_btDiscreteDynamicsWorld_getSolverInfo_0,Kd=c._emscripten_bind_btCylinderShape_setMargin_1=n._emscripten_bind_btCylinderShape_setMargin_1,Ld=c._emscripten_bind_btRaycastVehicle_rayCast_1=n._emscripten_bind_btRaycastVehicle_rayCast_1,Md=c._emscripten_bind_btCollisionWorld___destroy___0=n._emscripten_bind_btCollisionWorld___destroy___0,Nd=c._emscripten_bind_btSoftBodyWorldInfo_get_m_broadphase_0=n._emscripten_bind_btSoftBodyWorldInfo_get_m_broadphase_0,Od=c._emscripten_bind_LocalConvexResult_get_m_hitPointLocal_0=
//n._emscripten_bind_LocalConvexResult_get_m_hitPointLocal_0,Pd=c._emscripten_bind_btBoxShape_btBoxShape_1=n._emscripten_bind_btBoxShape_btBoxShape_1,Qd=c._emscripten_bind_btPersistentManifold_getBody1_0=n._emscripten_bind_btPersistentManifold_getBody1_0,Rd=c._emscripten_bind_ClosestRayResultCallback_set_m_collisionObject_1=n._emscripten_bind_ClosestRayResultCallback_set_m_collisionObject_1,Sd=c._emscripten_bind_RaycastInfo_set_m_isInContact_1=n._emscripten_bind_RaycastInfo_set_m_isInContact_1,Td=c._emscripten_bind_btKinematicCharacterController_setGravity_1=
//n._emscripten_bind_btKinematicCharacterController_setGravity_1,Ud=c._emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_5=n._emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_5,Vd=c._emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_3=n._emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_3,Wd=c._emscripten_bind_LocalShapeInfo_get_m_shapePart_0=n._emscripten_bind_LocalShapeInfo_get_m_shapePart_0,Xd=c._emscripten_bind_btSoftRigidDynamicsWorld_removeAction_1=
//n._emscripten_bind_btSoftRigidDynamicsWorld_removeAction_1,Yd=c._emscripten_bind_btWheelInfo_get_m_rollInfluence_0=n._emscripten_bind_btWheelInfo_get_m_rollInfluence_0,Zd=c._emscripten_bind_btRigidBody_activate_0=n._emscripten_bind_btRigidBody_activate_0,$d=c._emscripten_bind_btVector4_setValue_4=n._emscripten_bind_btVector4_setValue_4,ae=c._emscripten_bind_btBvhTriangleMeshShape_setLocalScaling_1=n._emscripten_bind_btBvhTriangleMeshShape_setLocalScaling_1,be=c._emscripten_bind_tNodeArray_size_0=
//n._emscripten_bind_tNodeArray_size_0,ce=c._emscripten_bind_btPoint2PointConstraint_setBreakingImpulseThreshold_1=n._emscripten_bind_btPoint2PointConstraint_setBreakingImpulseThreshold_1,de=c._emscripten_bind_btDynamicsWorld_getDispatchInfo_0=n._emscripten_bind_btDynamicsWorld_getDispatchInfo_0,ee=c._emscripten_bind_btCompoundShape_removeChildShapeByIndex_1=n._emscripten_bind_btCompoundShape_removeChildShapeByIndex_1,fe=c._emscripten_bind_btSoftBody_appendFace_4=n._emscripten_bind_btSoftBody_appendFace_4,
//ge=c._emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_2=n._emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_2,he=c._emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_1=n._emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_1,ie=c._emscripten_bind_ClosestConvexResultCallback_set_m_hitPointWorld_1=n._emscripten_bind_ClosestConvexResultCallback_set_m_hitPointWorld_1,je=c._emscripten_bind_RayResultCallback_set_m_collisionFilterMask_1=
//n._emscripten_bind_RayResultCallback_set_m_collisionFilterMask_1,ke=c._emscripten_bind_btBoxShape_getMargin_0=n._emscripten_bind_btBoxShape_getMargin_0,le=c._emscripten_bind_btPairCachingGhostObject___destroy___0=n._emscripten_bind_btPairCachingGhostObject___destroy___0,me=c._emscripten_bind_btPairCachingGhostObject_setUserPointer_1=n._emscripten_bind_btPairCachingGhostObject_setUserPointer_1,ne=c._emscripten_bind_btDynamicsWorld_addCollisionObject_3=n._emscripten_bind_btDynamicsWorld_addCollisionObject_3,
//oe=c._emscripten_bind_btPairCachingGhostObject_activate_0=n._emscripten_bind_btPairCachingGhostObject_activate_0,pe=c._emscripten_bind_btPairCachingGhostObject_activate_1=n._emscripten_bind_btPairCachingGhostObject_activate_1,qe=c._emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionStiffness_1=n._emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionStiffness_1,re=c._emscripten_bind_btContactSolverInfo_get_m_splitImpulsePenetrationThreshold_0=n._emscripten_bind_btContactSolverInfo_get_m_splitImpulsePenetrationThreshold_0,
//se=c._emscripten_bind_btSoftBody_setUserPointer_1=n._emscripten_bind_btSoftBody_setUserPointer_1,te=c._emscripten_bind_btSoftBody_setMass_2=n._emscripten_bind_btSoftBody_setMass_2,ue=c._emscripten_bind_Config_get_kCHR_0=n._emscripten_bind_Config_get_kCHR_0,ve=c._emscripten_bind_btPairCachingGhostObject_forceActivationState_1=n._emscripten_bind_btPairCachingGhostObject_forceActivationState_1,we=c._emscripten_bind_btDefaultMotionState___destroy___0=n._emscripten_bind_btDefaultMotionState___destroy___0,
//xe=c._emscripten_bind_btDispatcherInfo_get_m_stepCount_0=n._emscripten_bind_btDispatcherInfo_get_m_stepCount_0,ye=c._emscripten_bind_btRigidBodyConstructionInfo_set_m_angularDamping_1=n._emscripten_bind_btRigidBodyConstructionInfo_set_m_angularDamping_1,ze=c._emscripten_bind_btQuadWord_setW_1=n._emscripten_bind_btQuadWord_setW_1,Ae=c._emscripten_bind_btRigidBodyConstructionInfo_get_m_friction_0=n._emscripten_bind_btRigidBodyConstructionInfo_get_m_friction_0,Be=c._emscripten_bind_btCapsuleShapeX_btCapsuleShapeX_2=
//n._emscripten_bind_btCapsuleShapeX_btCapsuleShapeX_2,Ce=c._emscripten_bind_LocalShapeInfo_set_m_shapePart_1=n._emscripten_bind_LocalShapeInfo_set_m_shapePart_1,De=c._emscripten_bind_btRigidBody_setLinearFactor_1=n._emscripten_bind_btRigidBody_setLinearFactor_1,Ee=c._emscripten_bind_btCompoundShape_getChildShape_1=n._emscripten_bind_btCompoundShape_getChildShape_1,Fe=c._emscripten_bind_btDispatcherInfo_set_m_useConvexConservativeDistanceUtil_1=n._emscripten_bind_btDispatcherInfo_set_m_useConvexConservativeDistanceUtil_1,
//Ge=c._emscripten_bind_btSoftRigidDynamicsWorld_setGravity_1=n._emscripten_bind_btSoftRigidDynamicsWorld_setGravity_1,He=c._emscripten_bind_btRaycastVehicle_getUpAxis_0=n._emscripten_bind_btRaycastVehicle_getUpAxis_0,Ie=c._emscripten_bind_btRaycastVehicle_getCurrentSpeedKmHour_0=n._emscripten_bind_btRaycastVehicle_getCurrentSpeedKmHour_0,Je=c._emscripten_bind_btWheelInfo_get_m_engineForce_0=n._emscripten_bind_btWheelInfo_get_m_engineForce_0,Ke=c._emscripten_bind_Config_get_kSR_SPLT_CL_0=n._emscripten_bind_Config_get_kSR_SPLT_CL_0,
//Le=c._emscripten_bind_btRaycastVehicle_setSteeringValue_2=n._emscripten_bind_btRaycastVehicle_setSteeringValue_2,Me=c._emscripten_bind_btPoint2PointConstraint___destroy___0=n._emscripten_bind_btPoint2PointConstraint___destroy___0,Ne=c._emscripten_bind_btSoftBody_getUserPointer_0=n._emscripten_bind_btSoftBody_getUserPointer_0,Oe=c._emscripten_bind_btCollisionShape_setMargin_1=n._emscripten_bind_btCollisionShape_setMargin_1,Pe=c._emscripten_bind_btGeneric6DofConstraint_setAngularUpperLimit_1=n._emscripten_bind_btGeneric6DofConstraint_setAngularUpperLimit_1,
//Qe=c._emscripten_bind_btDiscreteDynamicsWorld_addConstraint_2=n._emscripten_bind_btDiscreteDynamicsWorld_addConstraint_2,Re=c._emscripten_bind_btDiscreteDynamicsWorld_addConstraint_1=n._emscripten_bind_btDiscreteDynamicsWorld_addConstraint_1,Se=c._emscripten_bind_btRigidBodyConstructionInfo_set_m_angularSleepingThreshold_1=n._emscripten_bind_btRigidBodyConstructionInfo_set_m_angularSleepingThreshold_1,Te=c._emscripten_bind_Config_get_kVCF_0=n._emscripten_bind_Config_get_kVCF_0,Ue=c._emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionStiffness_0=
//n._emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionStiffness_0,Ve=c._emscripten_bind_btRaycastVehicle_getRightAxis_0=n._emscripten_bind_btRaycastVehicle_getRightAxis_0,xa=c._malloc=n._malloc,We=c._emscripten_bind_btDispatcherInfo_get_m_useEpa_0=n._emscripten_bind_btDispatcherInfo_get_m_useEpa_0,Xe=c._emscripten_bind_btTransform_btTransform_2=n._emscripten_bind_btTransform_btTransform_2,Ye=c._emscripten_bind_btTransform_btTransform_0=n._emscripten_bind_btTransform_btTransform_0,Ze=c._emscripten_bind_btPairCachingGhostObject_getUserIndex_0=
//n._emscripten_bind_btPairCachingGhostObject_getUserIndex_0,$e=c._emscripten_bind_Config_set_kVC_1=n._emscripten_bind_Config_set_kVC_1,af=c._emscripten_bind_btSoftRigidDynamicsWorld_addSoftBody_3=n._emscripten_bind_btSoftRigidDynamicsWorld_addSoftBody_3,bf=c._emscripten_bind_btVector3_op_sub_1=n._emscripten_bind_btVector3_op_sub_1,cf=c._emscripten_bind_btWheelInfo_set_m_wheelsRadius_1=n._emscripten_bind_btWheelInfo_set_m_wheelsRadius_1,df=c._emscripten_bind_btQuaternion_length_0=n._emscripten_bind_btQuaternion_length_0,
//ef=c._emscripten_bind_btDispatcherInfo_set_m_enableSPU_1=n._emscripten_bind_btDispatcherInfo_set_m_enableSPU_1,ff=c._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingCompression_0=n._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingCompression_0,gf=c._emscripten_bind_btRaycastVehicle_setCoordinateSystem_3=n._emscripten_bind_btRaycastVehicle_setCoordinateSystem_3,hf=c._emscripten_bind_btSoftBody_appendNode_2=n._emscripten_bind_btSoftBody_appendNode_2,jf=c._emscripten_bind_btCollisionObject_setActivationState_1=
//n._emscripten_bind_btCollisionObject_setActivationState_1,kf=c._emscripten_bind_btQuaternion_angle_1=n._emscripten_bind_btQuaternion_angle_1,lf=c._emscripten_bind_btPersistentManifold___destroy___0=n._emscripten_bind_btPersistentManifold___destroy___0,mf=c._emscripten_bind_btConstraintSetting_get_m_impulseClamp_0=n._emscripten_bind_btConstraintSetting_get_m_impulseClamp_0,nf=c._emscripten_bind_btCylinderShapeZ___destroy___0=n._emscripten_bind_btCylinderShapeZ___destroy___0,of=c._emscripten_bind_btMatrix3x3___destroy___0=
//n._emscripten_bind_btMatrix3x3___destroy___0;c.setTempRet0=n.setTempRet0;
//var pf=c._emscripten_bind_btQuaternion_angleShortestPath_1=n._emscripten_bind_btQuaternion_angleShortestPath_1,qf=c._emscripten_bind_Config_set_kKHR_1=n._emscripten_bind_Config_set_kKHR_1,rf=c._emscripten_bind_ConvexResultCallback_hasHit_0=n._emscripten_bind_ConvexResultCallback_hasHit_0,sf=c._emscripten_bind_btCollisionShape_calculateLocalInertia_2=n._emscripten_bind_btCollisionShape_calculateLocalInertia_2,tf=c._emscripten_bind_btGeneric6DofSpringConstraint_setBreakingImpulseThreshold_1=n._emscripten_bind_btGeneric6DofSpringConstraint_setBreakingImpulseThreshold_1,
//uf=c._emscripten_bind_Config_set_kPR_1=n._emscripten_bind_Config_set_kPR_1,vf=c._emscripten_bind_btCollisionWorld_convexSweepTest_5=n._emscripten_bind_btCollisionWorld_convexSweepTest_5,wf=c._emscripten_bind_btSoftBody_set_m_materials_1=n._emscripten_bind_btSoftBody_set_m_materials_1,xf=c._emscripten_bind_ClosestRayResultCallback_set_m_hitPointWorld_1=n._emscripten_bind_ClosestRayResultCallback_set_m_hitPointWorld_1,yf=c._emscripten_bind_btVehicleRaycasterResult___destroy___0=n._emscripten_bind_btVehicleRaycasterResult___destroy___0,
//zf=c._emscripten_bind_btCapsuleShapeX_calculateLocalInertia_2=n._emscripten_bind_btCapsuleShapeX_calculateLocalInertia_2,Af=c._emscripten_bind_btConstraintSetting_set_m_damping_1=n._emscripten_bind_btConstraintSetting_set_m_damping_1,Bf=c._emscripten_bind_btWheelInfo_set_m_bIsFrontWheel_1=n._emscripten_bind_btWheelInfo_set_m_bIsFrontWheel_1,Cf=c._emscripten_bind_btRigidBody_setCcdMotionThreshold_1=n._emscripten_bind_btRigidBody_setCcdMotionThreshold_1,Df=c._emscripten_bind_btConvexHullShape_setMargin_1=
//n._emscripten_bind_btConvexHullShape_setMargin_1,Ef=c._emscripten_bind_btRigidBody_applyForce_2=n._emscripten_bind_btRigidBody_applyForce_2,Ff=c._emscripten_bind_btConeShapeZ_calculateLocalInertia_2=n._emscripten_bind_btConeShapeZ_calculateLocalInertia_2,Gf=c._emscripten_bind_btConstraintSetting_set_m_tau_1=n._emscripten_bind_btConstraintSetting_set_m_tau_1,Hf=c._emscripten_bind_btConvexHullShape_calculateLocalInertia_2=n._emscripten_bind_btConvexHullShape_calculateLocalInertia_2,If=c._emscripten_bind_btQuaternion_op_div_1=
//n._emscripten_bind_btQuaternion_op_div_1,Db=c.___uremdi3=n.___uremdi3,Jf=c._emscripten_bind_RaycastInfo_get_m_contactPointWS_0=n._emscripten_bind_RaycastInfo_get_m_contactPointWS_0,Kf=c._emscripten_bind_btSoftBody_setCollisionFlags_1=n._emscripten_bind_btSoftBody_setCollisionFlags_1,Lf=c._emscripten_bind_btSphereShape_calculateLocalInertia_2=n._emscripten_bind_btSphereShape_calculateLocalInertia_2,Mf=c._emscripten_bind_Config_set_maxvolume_1=n._emscripten_bind_Config_set_maxvolume_1,Nf=c._emscripten_bind_btSoftRigidDynamicsWorld_getSolverInfo_0=
//n._emscripten_bind_btSoftRigidDynamicsWorld_getSolverInfo_0,Of=c._emscripten_bind_btCollisionDispatcher_getManifoldByIndexInternal_1=n._emscripten_bind_btCollisionDispatcher_getManifoldByIndexInternal_1,Pf=c._emscripten_bind_btSoftBody_setTotalMass_2=n._emscripten_bind_btSoftBody_setTotalMass_2,Qf=c._emscripten_bind_ClosestRayResultCallback_get_m_rayToWorld_0=n._emscripten_bind_ClosestRayResultCallback_get_m_rayToWorld_0,Rf=c._emscripten_bind_btGhostObject_setFriction_1=n._emscripten_bind_btGhostObject_setFriction_1,
//Sf=c._emscripten_bind_btCollisionWorld_rayTest_3=n._emscripten_bind_btCollisionWorld_rayTest_3;c.stackRestore=n.stackRestore;
//var Tf=c._emscripten_bind_btRigidBody_setCcdSweptSphereRadius_1=n._emscripten_bind_btRigidBody_setCcdSweptSphereRadius_1,Uf=c._emscripten_bind_btCylinderShapeZ_setMargin_1=n._emscripten_bind_btCylinderShapeZ_setMargin_1,Vf=c._emscripten_bind_btRigidBody_setFriction_1=n._emscripten_bind_btRigidBody_setFriction_1,Wf=c._emscripten_bind_LocalConvexResult_set_m_hitPointLocal_1=n._emscripten_bind_LocalConvexResult_set_m_hitPointLocal_1,Xf=c._emscripten_bind_btGhostObject_setWorldTransform_1=n._emscripten_bind_btGhostObject_setWorldTransform_1,
//Yf=c._emscripten_bind_tMaterialArray_size_0=n._emscripten_bind_tMaterialArray_size_0,Zf=c._emscripten_bind_RaycastInfo_set_m_hardPointWS_1=n._emscripten_bind_RaycastInfo_set_m_hardPointWS_1,$f=c._emscripten_bind_btManifoldPoint_getAppliedImpulse_0=n._emscripten_bind_btManifoldPoint_getAppliedImpulse_0,ag=c._emscripten_bind_btDiscreteDynamicsWorld_removeRigidBody_1=n._emscripten_bind_btDiscreteDynamicsWorld_removeRigidBody_1,bg=c._emscripten_bind_btConvexHullShape___destroy___0=n._emscripten_bind_btConvexHullShape___destroy___0,
//cg=c._emscripten_bind_btDiscreteDynamicsWorld_getBroadphase_0=n._emscripten_bind_btDiscreteDynamicsWorld_getBroadphase_0,dg=c._emscripten_bind_btDiscreteDynamicsWorld_addAction_1=n._emscripten_bind_btDiscreteDynamicsWorld_addAction_1,eg=c._emscripten_bind_btVector4_setX_1=n._emscripten_bind_btVector4_setX_1,fg=c._emscripten_bind_btKinematicCharacterController_jump_0=n._emscripten_bind_btKinematicCharacterController_jump_0,gg=c._emscripten_bind_btCollisionObject_getUserPointer_0=n._emscripten_bind_btCollisionObject_getUserPointer_0,
//hg=c._emscripten_bind_btWheelInfo_set_m_raycastInfo_1=n._emscripten_bind_btWheelInfo_set_m_raycastInfo_1,ig=c._emscripten_bind_btCollisionWorld_contactTest_2=n._emscripten_bind_btCollisionWorld_contactTest_2,jg=c._emscripten_bind_btConeTwistConstraint_setMaxMotorImpulseNormalized_1=n._emscripten_bind_btConeTwistConstraint_setMaxMotorImpulseNormalized_1,kg=c._emscripten_bind_btConvexTriangleMeshShape_setLocalScaling_1=n._emscripten_bind_btConvexTriangleMeshShape_setLocalScaling_1,lg=c._emscripten_bind_btRigidBody_upcast_1=
//n._emscripten_bind_btRigidBody_upcast_1,mg=c._emscripten_bind_btTransform_setOrigin_1=n._emscripten_bind_btTransform_setOrigin_1,ng=c._emscripten_bind_btVector4_setZ_1=n._emscripten_bind_btVector4_setZ_1,og=c._emscripten_bind_btQuadWord_y_0=n._emscripten_bind_btQuadWord_y_0,pg=c._emscripten_bind_btTransform_getBasis_0=n._emscripten_bind_btTransform_getBasis_0,qg=c._emscripten_bind_btPairCachingGhostObject_setFriction_1=n._emscripten_bind_btPairCachingGhostObject_setFriction_1,rg=c._emscripten_bind_btSoftBody_setRollingFriction_1=
//n._emscripten_bind_btSoftBody_setRollingFriction_1,sg=c._emscripten_bind_Config_set_kSRHR_CL_1=n._emscripten_bind_Config_set_kSRHR_CL_1,tg=c._emscripten_bind_btCollisionDispatcher_getNumManifolds_0=n._emscripten_bind_btCollisionDispatcher_getNumManifolds_0,ug=c._emscripten_bind_btVehicleRaycaster___destroy___0=n._emscripten_bind_btVehicleRaycaster___destroy___0,vg=c._emscripten_bind_ClosestRayResultCallback___destroy___0=n._emscripten_bind_ClosestRayResultCallback___destroy___0,wg=c._emscripten_bind_ClosestConvexResultCallback_get_m_convexFromWorld_0=
//n._emscripten_bind_ClosestConvexResultCallback_get_m_convexFromWorld_0,xg=c._emscripten_bind_btCylinderShapeX_setMargin_1=n._emscripten_bind_btCylinderShapeX_setMargin_1,yg=c._emscripten_bind_btQuadWord_w_0=n._emscripten_bind_btQuadWord_w_0,zg=c._emscripten_bind_Node___destroy___0=n._emscripten_bind_Node___destroy___0,Ag=c._emscripten_bind_btAxisSweep3___destroy___0=n._emscripten_bind_btAxisSweep3___destroy___0,Bg=c._emscripten_bind_btDiscreteDynamicsWorld_contactTest_2=n._emscripten_bind_btDiscreteDynamicsWorld_contactTest_2,
//Cg=c._emscripten_bind_btBvhTriangleMeshShape_calculateLocalInertia_2=n._emscripten_bind_btBvhTriangleMeshShape_calculateLocalInertia_2,Dg=c._emscripten_bind_btCompoundShape_setMargin_1=n._emscripten_bind_btCompoundShape_setMargin_1,Eg=c._emscripten_bind_btCompoundShape_getNumChildShapes_0=n._emscripten_bind_btCompoundShape_getNumChildShapes_0,Fg=c._emscripten_bind_btSoftBodyWorldInfo_set_m_broadphase_1=n._emscripten_bind_btSoftBodyWorldInfo_set_m_broadphase_1,Gg=c._emscripten_bind_btCapsuleShape_setLocalScaling_1=
//n._emscripten_bind_btCapsuleShape_setLocalScaling_1,Hg=c._emscripten_bind_btGhostObject_btGhostObject_0=n._emscripten_bind_btGhostObject_btGhostObject_0,Ig=c._emscripten_bind_btConeShape_btConeShape_2=n._emscripten_bind_btConeShape_btConeShape_2,Jg=c._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingFactor_1=n._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingFactor_1,Kg=c._emscripten_bind_btManifoldPoint_set_m_localPointA_1=n._emscripten_bind_btManifoldPoint_set_m_localPointA_1,
//Lg=c._emscripten_bind_btCapsuleShapeX_setMargin_1=n._emscripten_bind_btCapsuleShapeX_setMargin_1,Mg=c._emscripten_bind_Config_set_kMT_1=n._emscripten_bind_Config_set_kMT_1,Ng=c._emscripten_bind_btVector3_dot_1=n._emscripten_bind_btVector3_dot_1,Og=c._emscripten_bind_btGhostObject_getUserPointer_0=n._emscripten_bind_btGhostObject_getUserPointer_0,Pg=c._emscripten_bind_btVector4_op_add_1=n._emscripten_bind_btVector4_op_add_1,Qg=c._emscripten_bind_btWheelInfo___destroy___0=n._emscripten_bind_btWheelInfo___destroy___0,
//Rg=c._emscripten_bind_btSoftRigidDynamicsWorld_getSoftBodyArray_0=n._emscripten_bind_btSoftRigidDynamicsWorld_getSoftBodyArray_0,Sg=c._emscripten_bind_btHingeConstraint_btHingeConstraint_4=n._emscripten_bind_btHingeConstraint_btHingeConstraint_4,Tg=c._emscripten_bind_btTransform_setRotation_1=n._emscripten_bind_btTransform_setRotation_1,Ug=c._emscripten_bind_Config_set_kSHR_1=n._emscripten_bind_Config_set_kSHR_1,Vg=c._emscripten_bind_btPoint2PointConstraint_enableFeedback_1=n._emscripten_bind_btPoint2PointConstraint_enableFeedback_1,
//Wg=c._emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterGroup_1=n._emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterGroup_1,Xg=c._emscripten_bind_btAxisSweep3_btAxisSweep3_2=n._emscripten_bind_btAxisSweep3_btAxisSweep3_2,Yg=c._emscripten_bind_btAxisSweep3_btAxisSweep3_3=n._emscripten_bind_btAxisSweep3_btAxisSweep3_3,Zg=c._emscripten_bind_btDynamicsWorld___destroy___0=n._emscripten_bind_btDynamicsWorld___destroy___0,$g=c._emscripten_bind_btVector3_setY_1=n._emscripten_bind_btVector3_setY_1,
//ah=c._emscripten_bind_btAxisSweep3_btAxisSweep3_4=n._emscripten_bind_btAxisSweep3_btAxisSweep3_4,bh=c._emscripten_bind_btAxisSweep3_btAxisSweep3_5=n._emscripten_bind_btAxisSweep3_btAxisSweep3_5,ch=c._emscripten_bind_btQuadWord_setX_1=n._emscripten_bind_btQuadWord_setX_1,dh=c._emscripten_bind_tMaterialArray___destroy___0=n._emscripten_bind_tMaterialArray___destroy___0,eh=c._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalLinearDampingThresholdSqr_1=n._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalLinearDampingThresholdSqr_1,
//fh=c._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalLinearDampingThresholdSqr_0=n._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalLinearDampingThresholdSqr_0,gh=c._emscripten_bind_Config_set_piterations_1=n._emscripten_bind_Config_set_piterations_1,hh=c._emscripten_bind_btOverlappingPairCache___destroy___0=n._emscripten_bind_btOverlappingPairCache___destroy___0,ih=c._emscripten_bind_btRigidBody_setUserIndex_1=n._emscripten_bind_btRigidBody_setUserIndex_1,jh=c._emscripten_bind_Material_get_m_kAST_0=
//n._emscripten_bind_Material_get_m_kAST_0,kh=c._emscripten_bind_btConstraintSetting___destroy___0=n._emscripten_bind_btConstraintSetting___destroy___0,lh=c._emscripten_bind_btWheelInfo_btWheelInfo_1=n._emscripten_bind_btWheelInfo_btWheelInfo_1,mh=c._emscripten_bind_RayResultCallback___destroy___0=n._emscripten_bind_RayResultCallback___destroy___0,nh=c._emscripten_bind_RaycastInfo_get_m_contactNormalWS_0=n._emscripten_bind_RaycastInfo_get_m_contactNormalWS_0,oh=c._emscripten_bind_btSoftBodyWorldInfo_get_water_density_0=
//n._emscripten_bind_btSoftBodyWorldInfo_get_water_density_0,ph=c._emscripten_bind_btPersistentManifold_getBody0_0=n._emscripten_bind_btPersistentManifold_getBody0_0,qh=c._emscripten_bind_btConeShapeX_btConeShapeX_2=n._emscripten_bind_btConeShapeX_btConeShapeX_2,rh=c._emscripten_bind_btSoftBody_setCcdSweptSphereRadius_1=n._emscripten_bind_btSoftBody_setCcdSweptSphereRadius_1,sh=c._emscripten_bind_btConeTwistConstraint_enableFeedback_1=n._emscripten_bind_btConeTwistConstraint_enableFeedback_1,th=c._emscripten_bind_btRaycastVehicle_setPitchControl_1=
//n._emscripten_bind_btRaycastVehicle_setPitchControl_1,uh=c._emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_0=n._emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_0,vh=c._emscripten_bind_btCapsuleShapeZ_setLocalScaling_1=n._emscripten_bind_btCapsuleShapeZ_setLocalScaling_1,wh=c._emscripten_bind_Config_get_piterations_0=n._emscripten_bind_Config_get_piterations_0,xh=c._emscripten_bind_btSoftBody_translate_1=
//n._emscripten_bind_btSoftBody_translate_1,yh=c._emscripten_bind_btSliderConstraint_setUpperLinLimit_1=n._emscripten_bind_btSliderConstraint_setUpperLinLimit_1,zh=c._emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_2=n._emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_2,Ah=c._emscripten_bind_btVector3_op_mul_1=n._emscripten_bind_btVector3_op_mul_1,Bh=c._emscripten_bind_btConcaveShape___destroy___0=n._emscripten_bind_btConcaveShape___destroy___0,Ch=c._emscripten_bind_Config_get_kSK_SPLT_CL_0=
//n._emscripten_bind_Config_get_kSK_SPLT_CL_0,Dh=c._emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_4=n._emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_4,Eh=c._emscripten_bind_btQuaternion_x_0=n._emscripten_bind_btQuaternion_x_0,Fh=c._emscripten_bind_btSoftRigidDynamicsWorld_btSoftRigidDynamicsWorld_5=n._emscripten_bind_btSoftRigidDynamicsWorld_btSoftRigidDynamicsWorld_5,Gh=c._emscripten_bind_btVehicleRaycasterResult_set_m_distFraction_1=n._emscripten_bind_btVehicleRaycasterResult_set_m_distFraction_1,
//Hh=c._emscripten_bind_Config_set_timescale_1=n._emscripten_bind_Config_set_timescale_1,Ih=c._emscripten_bind_LocalConvexResult_set_m_hitNormalLocal_1=n._emscripten_bind_LocalConvexResult_set_m_hitNormalLocal_1,Jh=c._emscripten_bind_btConcaveShape_setLocalScaling_1=n._emscripten_bind_btConcaveShape_setLocalScaling_1,Kh=c._emscripten_bind_btDiscreteDynamicsWorld_getDispatchInfo_0=n._emscripten_bind_btDiscreteDynamicsWorld_getDispatchInfo_0,Lh=c._emscripten_bind_btConeShapeX_setLocalScaling_1=n._emscripten_bind_btConeShapeX_setLocalScaling_1,
//Mh=c._emscripten_bind_btSoftBody_appendLink_4=n._emscripten_bind_btSoftBody_appendLink_4,Nh=c._emscripten_bind_btQuaternion_z_0=n._emscripten_bind_btQuaternion_z_0,Oh=c._emscripten_bind_btConvexHullShape_btConvexHullShape_0=n._emscripten_bind_btConvexHullShape_btConvexHullShape_0,Ph=c._emscripten_bind_btWheelInfo_set_m_maxSuspensionForce_1=n._emscripten_bind_btWheelInfo_set_m_maxSuspensionForce_1,Qh=c._emscripten_bind_btConstraintSetting_get_m_damping_0=n._emscripten_bind_btConstraintSetting_get_m_damping_0,
//Rh=c._emscripten_bind_btVector4_op_mul_1=n._emscripten_bind_btVector4_op_mul_1,Sh=c._emscripten_bind_btSoftRigidDynamicsWorld_removeCollisionObject_1=n._emscripten_bind_btSoftRigidDynamicsWorld_removeCollisionObject_1,Th=c._emscripten_bind_Config_get_kLF_0=n._emscripten_bind_Config_get_kLF_0,Uh=c._emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_3=n._emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_3,Vh=c._emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_2=n._emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_2,
//Wh=c._emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_1=n._emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_1,Xh=c._emscripten_bind_btGhostObject_setContactProcessingThreshold_1=n._emscripten_bind_btGhostObject_setContactProcessingThreshold_1,Yh=c._emscripten_bind_btSoftBodyHelpers_CreateFromConvexHull_4=n._emscripten_bind_btSoftBodyHelpers_CreateFromConvexHull_4,Zh=c._emscripten_bind_btCollisionWorld_getBroadphase_0=n._emscripten_bind_btCollisionWorld_getBroadphase_0,$h=c._emscripten_bind_btCylinderShape_btCylinderShape_1=
//n._emscripten_bind_btCylinderShape_btCylinderShape_1,ai=c._emscripten_bind_btDispatcherInfo_set_m_stepCount_1=n._emscripten_bind_btDispatcherInfo_set_m_stepCount_1,bi=c._emscripten_bind_btContactSolverInfo_set_m_splitImpulse_1=n._emscripten_bind_btContactSolverInfo_set_m_splitImpulse_1,ci=c._emscripten_bind_btKinematicCharacterController_updateAction_2=n._emscripten_bind_btKinematicCharacterController_updateAction_2,di=c._emscripten_bind_btDefaultMotionState_btDefaultMotionState_2=n._emscripten_bind_btDefaultMotionState_btDefaultMotionState_2,
//ei=c._emscripten_bind_Material_set_m_flags_1=n._emscripten_bind_Material_set_m_flags_1,fi=c._emscripten_bind_btDefaultMotionState_btDefaultMotionState_0=n._emscripten_bind_btDefaultMotionState_btDefaultMotionState_0,gi=c._emscripten_bind_btDefaultMotionState_btDefaultMotionState_1=n._emscripten_bind_btDefaultMotionState_btDefaultMotionState_1,hi=c._emscripten_bind_Config_get_viterations_0=n._emscripten_bind_Config_get_viterations_0,ii=c._emscripten_bind_btKinematicCharacterController_canJump_0=n._emscripten_bind_btKinematicCharacterController_canJump_0,
//ji=c._emscripten_bind_btSoftBodyArray_at_1=n._emscripten_bind_btSoftBodyArray_at_1,ki=c._emscripten_bind_btPairCachingGhostObject_setUserIndex_1=n._emscripten_bind_btPairCachingGhostObject_setUserIndex_1,li=c._emscripten_bind_btRigidBody_isActive_0=n._emscripten_bind_btRigidBody_isActive_0,mi=c._emscripten_bind_btRaycastVehicle_btRaycastVehicle_3=n._emscripten_bind_btRaycastVehicle_btRaycastVehicle_3,ni=c._emscripten_bind_btSoftBody_transform_1=n._emscripten_bind_btSoftBody_transform_1,oi=c._emscripten_bind_btSoftRigidDynamicsWorld_getDispatcher_0=
//n._emscripten_bind_btSoftRigidDynamicsWorld_getDispatcher_0,pi=c._emscripten_bind_btCylinderShape_setLocalScaling_1=n._emscripten_bind_btCylinderShape_setLocalScaling_1,qi=c._emscripten_bind_btPairCachingGhostObject_getWorldTransform_0=n._emscripten_bind_btPairCachingGhostObject_getWorldTransform_0,ri=c._emscripten_bind_btCompoundShape_calculateLocalInertia_2=n._emscripten_bind_btCompoundShape_calculateLocalInertia_2,si=c._emscripten_bind_btCollisionWorld_getDispatchInfo_0=n._emscripten_bind_btCollisionWorld_getDispatchInfo_0,
//ti=c._emscripten_bind_btRigidBody_setCollisionShape_1=n._emscripten_bind_btRigidBody_setCollisionShape_1,ui=c._emscripten_bind_btSoftBody_appendTetra_5=n._emscripten_bind_btSoftBody_appendTetra_5,vi=c._emscripten_bind_btConeShapeX___destroy___0=n._emscripten_bind_btConeShapeX___destroy___0,wi=c._emscripten_bind_btCollisionObject_getCollisionFlags_0=n._emscripten_bind_btCollisionObject_getCollisionFlags_0,xi=c._emscripten_bind_btDispatcherInfo_set_m_enableSatConvex_1=n._emscripten_bind_btDispatcherInfo_set_m_enableSatConvex_1,
//yi=c._emscripten_bind_btConeTwistConstraint_enableMotor_1=n._emscripten_bind_btConeTwistConstraint_enableMotor_1,zi=c._emscripten_bind_btWheelInfo_set_m_chassisConnectionPointCS_1=n._emscripten_bind_btWheelInfo_set_m_chassisConnectionPointCS_1,Ai=c._emscripten_bind_btVehicleRaycasterResult_get_m_hitPointInWorld_0=n._emscripten_bind_btVehicleRaycasterResult_get_m_hitPointInWorld_0,Bi=c._emscripten_bind_btWheelInfo_set_m_wheelsDampingCompression_1=n._emscripten_bind_btWheelInfo_set_m_wheelsDampingCompression_1,
//Ci=c._emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_0=n._emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_0,Di=c._emscripten_bind_btPairCachingGhostObject_setRestitution_1=n._emscripten_bind_btPairCachingGhostObject_setRestitution_1,Ei=c._emscripten_bind_Config_set_kAHR_1=n._emscripten_bind_Config_set_kAHR_1,Fi=c._emscripten_bind_btHeightfieldTerrainShape_getMargin_0=n._emscripten_bind_btHeightfieldTerrainShape_getMargin_0,Gi=c._emscripten_bind_ConvexResultCallback___destroy___0=
//n._emscripten_bind_ConvexResultCallback___destroy___0,Hi=c._emscripten_bind_btSoftRigidDynamicsWorld_rayTest_3=n._emscripten_bind_btSoftRigidDynamicsWorld_rayTest_3,Ii=c._emscripten_bind_btQuaternion_getAngle_0=n._emscripten_bind_btQuaternion_getAngle_0,Ji=c._emscripten_bind_btSliderConstraint_getBreakingImpulseThreshold_0=n._emscripten_bind_btSliderConstraint_getBreakingImpulseThreshold_0,Ki=c._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDampingFactor_1=n._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDampingFactor_1,
//Li=c._emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_3=n._emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_3,Mi=c._emscripten_bind_btCollisionObject_setContactProcessingThreshold_1=n._emscripten_bind_btCollisionObject_setContactProcessingThreshold_1,Ni=c._emscripten_bind_btCompoundShape___destroy___0=n._emscripten_bind_btCompoundShape___destroy___0,Oi=c._emscripten_bind_btHingeConstraint_setMotorTarget_2=n._emscripten_bind_btHingeConstraint_setMotorTarget_2,
//Pi=c._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingFactor_0=n._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingFactor_0,Qi=c._emscripten_bind_LocalConvexResult___destroy___0=n._emscripten_bind_LocalConvexResult___destroy___0,Ri=c._emscripten_bind_btSequentialImpulseConstraintSolver___destroy___0=n._emscripten_bind_btSequentialImpulseConstraintSolver___destroy___0;c.setThrew=n.setThrew;
//var Si=c._emscripten_bind_btSoftBodyHelpers_CreateRope_5=n._emscripten_bind_btSoftBodyHelpers_CreateRope_5,Ti=c._emscripten_bind_btRaycastVehicle___destroy___0=n._emscripten_bind_btRaycastVehicle___destroy___0,Ui=c._emscripten_bind_btCollisionWorld_addCollisionObject_3=n._emscripten_bind_btCollisionWorld_addCollisionObject_3,Vi=c._emscripten_bind_btRigidBody_getCollisionFlags_0=n._emscripten_bind_btRigidBody_getCollisionFlags_0,Wi=c._emscripten_bind_btCollisionShape_setLocalScaling_1=n._emscripten_bind_btCollisionShape_setLocalScaling_1,
//Xi=c._emscripten_bind_ClosestConvexResultCallback_get_m_closestHitFraction_0=n._emscripten_bind_ClosestConvexResultCallback_get_m_closestHitFraction_0,Yi=c._emscripten_bind_LocalConvexResult_get_m_hitCollisionObject_0=n._emscripten_bind_LocalConvexResult_get_m_hitCollisionObject_0,Zi=c._emscripten_bind_btMatrix3x3_setEulerZYX_3=n._emscripten_bind_btMatrix3x3_setEulerZYX_3,$i=c._emscripten_bind_btSoftBody_getTotalMass_0=n._emscripten_bind_btSoftBody_getTotalMass_0,aj=c._emscripten_bind_btDispatcherInfo_get_m_convexConservativeDistanceThreshold_0=
//n._emscripten_bind_btDispatcherInfo_get_m_convexConservativeDistanceThreshold_0,bj=c._emscripten_bind_btRigidBody_getUserPointer_0=n._emscripten_bind_btRigidBody_getUserPointer_0,cj=c._emscripten_bind_Config_get_kSHR_0=n._emscripten_bind_Config_get_kSHR_0,dj=c._emscripten_bind_btHeightfieldTerrainShape_calculateLocalInertia_2=n._emscripten_bind_btHeightfieldTerrainShape_calculateLocalInertia_2,ej=c._emscripten_bind_btRigidBody_setMotionState_1=n._emscripten_bind_btRigidBody_setMotionState_1,fj=c._emscripten_bind_RayResultCallback_get_m_collisionFilterMask_0=
//n._emscripten_bind_RayResultCallback_get_m_collisionFilterMask_0,gj=c._emscripten_bind_btCollisionWorld_getDispatcher_0=n._emscripten_bind_btCollisionWorld_getDispatcher_0,hj=c._emscripten_bind_btVector4_dot_1=n._emscripten_bind_btVector4_dot_1,ij=c._emscripten_bind_btSoftBody_forceActivationState_1=n._emscripten_bind_btSoftBody_forceActivationState_1,jj=c._emscripten_bind_btCollisionObject_setRollingFriction_1=n._emscripten_bind_btCollisionObject_setRollingFriction_1,kj=c._emscripten_bind_Config_set_kSK_SPLT_CL_1=
//n._emscripten_bind_Config_set_kSK_SPLT_CL_1,lj=c._emscripten_bind_RayResultCallback_set_m_collisionFilterGroup_1=n._emscripten_bind_RayResultCallback_set_m_collisionFilterGroup_1,mj=c._emscripten_bind_btVehicleRaycaster_castRay_3=n._emscripten_bind_btVehicleRaycaster_castRay_3,db=c._i64Subtract=n._i64Subtract,nj=c._emscripten_bind_btCylinderShapeX_getMargin_0=n._emscripten_bind_btCylinderShapeX_getMargin_0,oj=c._emscripten_bind_btRigidBody_setDamping_2=n._emscripten_bind_btRigidBody_setDamping_2,
//pj=c._emscripten_bind_btDynamicsWorld_getDispatcher_0=n._emscripten_bind_btDynamicsWorld_getDispatcher_0,qj=c._emscripten_bind_btGhostObject_setCollisionFlags_1=n._emscripten_bind_btGhostObject_setCollisionFlags_1,rj=c._emscripten_bind_btMatrix3x3_getRotation_1=n._emscripten_bind_btMatrix3x3_getRotation_1,sj=c._emscripten_bind_btWheelInfo_set_m_engineForce_1=n._emscripten_bind_btWheelInfo_set_m_engineForce_1,tj=c._emscripten_bind_btConeTwistConstraint_setMaxMotorImpulse_1=n._emscripten_bind_btConeTwistConstraint_setMaxMotorImpulse_1,
//uj=c._emscripten_bind_btPersistentManifold_getNumContacts_0=n._emscripten_bind_btPersistentManifold_getNumContacts_0,vj=c._emscripten_bind_btCylinderShapeX_setLocalScaling_1=n._emscripten_bind_btCylinderShapeX_setLocalScaling_1,wj=c._emscripten_bind_btDbvtBroadphase_btDbvtBroadphase_0=n._emscripten_bind_btDbvtBroadphase_btDbvtBroadphase_0,xj=c._emscripten_bind_btSoftBodyHelpers_btSoftBodyHelpers_0=n._emscripten_bind_btSoftBodyHelpers_btSoftBodyHelpers_0,yj=c._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDamping_0=
//n._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDamping_0,zj=c._emscripten_bind_btWheelInfoConstructionInfo_get_m_bIsFrontWheel_0=n._emscripten_bind_btWheelInfoConstructionInfo_get_m_bIsFrontWheel_0,Aj=c._emscripten_bind_btOverlappingPairCallback___destroy___0=n._emscripten_bind_btOverlappingPairCallback___destroy___0,Bj=c._emscripten_bind_btWheelInfo_get_m_suspensionRelativeVelocity_0=n._emscripten_bind_btWheelInfo_get_m_suspensionRelativeVelocity_0,Cj=c._emscripten_bind_btManifoldPoint_get_m_positionWorldOnB_0=
//n._emscripten_bind_btManifoldPoint_get_m_positionWorldOnB_0,Dj=c._emscripten_bind_tNodeArray___destroy___0=n._emscripten_bind_tNodeArray___destroy___0,Ej=c._emscripten_bind_btPairCachingGhostObject_setCcdSweptSphereRadius_1=n._emscripten_bind_btPairCachingGhostObject_setCcdSweptSphereRadius_1,Fj=c._emscripten_bind_btHingeConstraint_enableAngularMotor_3=n._emscripten_bind_btHingeConstraint_enableAngularMotor_3,Gj=c._emscripten_bind_btRigidBody_setContactProcessingThreshold_1=n._emscripten_bind_btRigidBody_setContactProcessingThreshold_1,
//Hj=c._emscripten_bind_btRigidBody_getLinearVelocity_0=n._emscripten_bind_btRigidBody_getLinearVelocity_0,Ij=c._emscripten_bind_btRigidBody_applyImpulse_2=n._emscripten_bind_btRigidBody_applyImpulse_2,Jj=c._emscripten_bind_btConcaveShape_calculateLocalInertia_2=n._emscripten_bind_btConcaveShape_calculateLocalInertia_2,Kj=c._emscripten_bind_RaycastInfo_get_m_groundObject_0=n._emscripten_bind_RaycastInfo_get_m_groundObject_0,Lj=c._emscripten_bind_btRigidBody_setWorldTransform_1=n._emscripten_bind_btRigidBody_setWorldTransform_1,
//Mj=c._emscripten_bind_LocalConvexResult_set_m_localShapeInfo_1=n._emscripten_bind_LocalConvexResult_set_m_localShapeInfo_1,Nj=c._emscripten_bind_btRigidBody_setAngularVelocity_1=n._emscripten_bind_btRigidBody_setAngularVelocity_1,Oj=c._emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_3=n._emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_3,Pj=c._emscripten_bind_Config_get_kDP_0=n._emscripten_bind_Config_get_kDP_0,Qj=c._emscripten_bind_btConvexShape_setLocalScaling_1=
//n._emscripten_bind_btConvexShape_setLocalScaling_1,Rj=c._emscripten_bind_Config_get_collisions_0=n._emscripten_bind_Config_get_collisions_0,Sj=c._emscripten_bind_Node_get_m_n_0=n._emscripten_bind_Node_get_m_n_0,Tj=c._emscripten_bind_btTriangleMeshShape_calculateLocalInertia_2=n._emscripten_bind_btTriangleMeshShape_calculateLocalInertia_2;c.stackSave=n.stackSave;
//var vb=c.___udivdi3=n.___udivdi3,Uj=c._emscripten_bind_btRaycastVehicle_setUserConstraintId_1=n._emscripten_bind_btRaycastVehicle_setUserConstraintId_1,Ia=c._free=n._free,Vj=c._emscripten_bind_btPairCachingGhostObject_setContactProcessingThreshold_1=n._emscripten_bind_btPairCachingGhostObject_setContactProcessingThreshold_1,Wj=c._emscripten_bind_btGeneric6DofConstraint_setLinearUpperLimit_1=n._emscripten_bind_btGeneric6DofConstraint_setLinearUpperLimit_1,Xj=c._emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterMask_0=
//n._emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterMask_0,Yj=c._emscripten_bind_RayResultCallback_hasHit_0=n._emscripten_bind_RayResultCallback_hasHit_0,Zj=c._emscripten_bind_btRigidBody_applyLocalTorque_1=n._emscripten_bind_btRigidBody_applyLocalTorque_1,hb=c._bitshift64Shl=n._bitshift64Shl,ak=c._emscripten_bind_Config___destroy___0=n._emscripten_bind_Config___destroy___0,bk=c._emscripten_bind_btVehicleTuning_set_m_maxSuspensionForce_1=n._emscripten_bind_btVehicleTuning_set_m_maxSuspensionForce_1,
//ck=c._emscripten_bind_btVehicleTuning_get_m_suspensionDamping_0=n._emscripten_bind_btVehicleTuning_get_m_suspensionDamping_0,dk=c._emscripten_bind_btRaycastVehicle_getWheelTransformWS_1=n._emscripten_bind_btRaycastVehicle_getWheelTransformWS_1,ek=c._emscripten_bind_btQuaternion_normalize_0=n._emscripten_bind_btQuaternion_normalize_0,fk=c._emscripten_bind_btQuaternion___destroy___0=n._emscripten_bind_btQuaternion___destroy___0,gk=c._emscripten_bind_btWheelInfo_get_m_frictionSlip_0=n._emscripten_bind_btWheelInfo_get_m_frictionSlip_0,
//hk=c._emscripten_bind_btConeShapeZ_setLocalScaling_1=n._emscripten_bind_btConeShapeZ_setLocalScaling_1,ik=c._emscripten_bind_btSoftBodyWorldInfo_get_m_dispatcher_0=n._emscripten_bind_btSoftBodyWorldInfo_get_m_dispatcher_0,jk=c._emscripten_bind_btGeneric6DofSpringConstraint___destroy___0=n._emscripten_bind_btGeneric6DofSpringConstraint___destroy___0,kk=c._emscripten_bind_btRaycastVehicle_getNumWheels_0=n._emscripten_bind_btRaycastVehicle_getNumWheels_0,lk=c._emscripten_bind_btVehicleTuning_set_m_maxSuspensionTravelCm_1=
//n._emscripten_bind_btVehicleTuning_set_m_maxSuspensionTravelCm_1,mk=c._emscripten_bind_Material_set_m_kAST_1=n._emscripten_bind_Material_set_m_kAST_1,nk=c._emscripten_bind_btGhostObject_setRollingFriction_1=n._emscripten_bind_btGhostObject_setRollingFriction_1,ok=c._emscripten_bind_btCylinderShapeZ_btCylinderShapeZ_1=n._emscripten_bind_btCylinderShapeZ_btCylinderShapeZ_1,yb=c.___muldi3=n.___muldi3,pk=c._emscripten_bind_btSoftBodyArray___destroy___0=n._emscripten_bind_btSoftBodyArray___destroy___0,
//qk=c._emscripten_bind_btCompoundShape_btCompoundShape_0=n._emscripten_bind_btCompoundShape_btCompoundShape_0,rk=c._emscripten_bind_btCompoundShape_btCompoundShape_1=n._emscripten_bind_btCompoundShape_btCompoundShape_1,sk=c._emscripten_bind_btOverlappingPairCache_setInternalGhostPairCallback_1=n._emscripten_bind_btOverlappingPairCache_setInternalGhostPairCallback_1,tk=c._emscripten_bind_btStaticPlaneShape_btStaticPlaneShape_2=n._emscripten_bind_btStaticPlaneShape_btStaticPlaneShape_2,bb=c.__GLOBAL__sub_I_btQuickprof_cpp=
//n.__GLOBAL__sub_I_btQuickprof_cpp,uk=c._emscripten_bind_btDispatcherInfo_set_m_convexConservativeDistanceThreshold_1=n._emscripten_bind_btDispatcherInfo_set_m_convexConservativeDistanceThreshold_1,vk=c._emscripten_bind_btSoftBody_checkLink_2=n._emscripten_bind_btSoftBody_checkLink_2,wk=c._emscripten_bind_btSoftBody_getCollisionShape_0=n._emscripten_bind_btSoftBody_getCollisionShape_0,xk=c._emscripten_bind_Config_get_kDG_0=n._emscripten_bind_Config_get_kDG_0,yk=c._emscripten_bind_btRigidBodyConstructionInfo_set_m_linearDamping_1=
//n._emscripten_bind_btRigidBodyConstructionInfo_set_m_linearDamping_1,zk=c._emscripten_bind_btDefaultVehicleRaycaster___destroy___0=n._emscripten_bind_btDefaultVehicleRaycaster___destroy___0,Ak=c._emscripten_bind_btPairCachingGhostObject_setAnisotropicFriction_2=n._emscripten_bind_btPairCachingGhostObject_setAnisotropicFriction_2,Bk=c._emscripten_bind_Node_get_m_x_0=n._emscripten_bind_Node_get_m_x_0,Ck=c._emscripten_bind_btCollisionObject_getWorldTransform_0=n._emscripten_bind_btCollisionObject_getWorldTransform_0,
//Dk=c._emscripten_bind_ClosestRayResultCallback_hasHit_0=n._emscripten_bind_ClosestRayResultCallback_hasHit_0,Ek=c._emscripten_bind_btCompoundShape_addChildShape_2=n._emscripten_bind_btCompoundShape_addChildShape_2,Fk=c._emscripten_bind_btDispatcher___destroy___0=n._emscripten_bind_btDispatcher___destroy___0,Gk=c._emscripten_bind_btVehicleTuning_get_m_suspensionCompression_0=n._emscripten_bind_btVehicleTuning_get_m_suspensionCompression_0,nb=c._llvm_bswap_i16=n._llvm_bswap_i16,Hk=c._emscripten_bind_btDiscreteDynamicsWorld___destroy___0=
//n._emscripten_bind_btDiscreteDynamicsWorld___destroy___0,Ik=c._emscripten_bind_btConvexShape___destroy___0=n._emscripten_bind_btConvexShape___destroy___0,Jk=c._emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_1=n._emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_1,Kk=c._emscripten_bind_btWheelInfo_set_m_brake_1=n._emscripten_bind_btWheelInfo_set_m_brake_1,Ab=c._memmove=n._memmove,Lk=c._emscripten_bind_btWheelInfo_set_m_worldTransform_1=n._emscripten_bind_btWheelInfo_set_m_worldTransform_1,
//Mk=c._emscripten_bind_btCapsuleShapeX_setLocalScaling_1=n._emscripten_bind_btCapsuleShapeX_setLocalScaling_1,Nk=c._emscripten_bind_btPairCachingGhostObject_getCollisionShape_0=n._emscripten_bind_btPairCachingGhostObject_getCollisionShape_0,Ok=c._emscripten_bind_btSoftBody_getCollisionFlags_0=n._emscripten_bind_btSoftBody_getCollisionFlags_0,Pk=c._emscripten_bind_btRaycastVehicle_getChassisWorldTransform_0=n._emscripten_bind_btRaycastVehicle_getChassisWorldTransform_0,Qk=c._emscripten_bind_btCollisionObject_setRestitution_1=
//n._emscripten_bind_btCollisionObject_setRestitution_1,Rk=c._emscripten_bind_btRigidBody_applyCentralForce_1=n._emscripten_bind_btRigidBody_applyCentralForce_1,Sk=c._emscripten_bind_btSoftBodyWorldInfo_set_m_gravity_1=n._emscripten_bind_btSoftBodyWorldInfo_set_m_gravity_1,Tk=c._emscripten_bind_LocalConvexResult_get_m_hitFraction_0=n._emscripten_bind_LocalConvexResult_get_m_hitFraction_0,Uk=c._emscripten_bind_btHingeConstraint_setBreakingImpulseThreshold_1=n._emscripten_bind_btHingeConstraint_setBreakingImpulseThreshold_1,
//Vk=c._emscripten_bind_btQuaternion_w_0=n._emscripten_bind_btQuaternion_w_0,Wk=c._emscripten_bind_ConvexResultCallback_get_m_collisionFilterGroup_0=n._emscripten_bind_ConvexResultCallback_get_m_collisionFilterGroup_0,Xk=c._emscripten_bind_btTransform_getRotation_0=n._emscripten_bind_btTransform_getRotation_0,Yk=c._emscripten_bind_Config_set_kSKHR_CL_1=n._emscripten_bind_Config_set_kSKHR_CL_1,Zk=c._emscripten_bind_btHingeConstraint_btHingeConstraint_6=n._emscripten_bind_btHingeConstraint_btHingeConstraint_6,
//$k=c._emscripten_bind_btHingeConstraint_btHingeConstraint_7=n._emscripten_bind_btHingeConstraint_btHingeConstraint_7,al=c._emscripten_bind_btCapsuleShapeZ_getMargin_0=n._emscripten_bind_btCapsuleShapeZ_getMargin_0,bl=c._emscripten_bind_btHingeConstraint_btHingeConstraint_5=n._emscripten_bind_btHingeConstraint_btHingeConstraint_5,cl=c._emscripten_bind_btSoftBodyWorldInfo_get_m_maxDisplacement_0=n._emscripten_bind_btSoftBodyWorldInfo_get_m_maxDisplacement_0,dl=c._emscripten_bind_btHingeConstraint_btHingeConstraint_3=
//n._emscripten_bind_btHingeConstraint_btHingeConstraint_3,el=c._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingThresholdSqr_1=n._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingThresholdSqr_1,fl=c._emscripten_bind_btSoftBody_setWorldTransform_1=n._emscripten_bind_btSoftBody_setWorldTransform_1,gl=c._emscripten_bind_btBoxShape_setMargin_1=n._emscripten_bind_btBoxShape_setMargin_1,hl=c._emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionTravelCm_1=
//n._emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionTravelCm_1,il=c._emscripten_bind_ClosestConvexResultCallback_get_m_hitNormalWorld_0=n._emscripten_bind_ClosestConvexResultCallback_get_m_hitNormalWorld_0,jl=c._emscripten_bind_btWheelInfoConstructionInfo_get_m_chassisConnectionCS_0=n._emscripten_bind_btWheelInfoConstructionInfo_get_m_chassisConnectionCS_0,kl=c._emscripten_bind_btTypedConstraint___destroy___0=n._emscripten_bind_btTypedConstraint___destroy___0,ll=c._emscripten_bind_btCylinderShapeX_btCylinderShapeX_1=
//n._emscripten_bind_btCylinderShapeX_btCylinderShapeX_1,ml=c._emscripten_bind_btGeneric6DofSpringConstraint_setAngularUpperLimit_1=n._emscripten_bind_btGeneric6DofSpringConstraint_setAngularUpperLimit_1,nl=c._emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_3=n._emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_3,ol=c._emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_1=n._emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_1,pl=c._emscripten_bind_Config_set_collisions_1=n._emscripten_bind_Config_set_collisions_1,
//ql=c._emscripten_bind_btQuaternion_btQuaternion_4=n._emscripten_bind_btQuaternion_btQuaternion_4,rl=c._emscripten_bind_btSoftRigidDynamicsWorld_getBroadphase_0=n._emscripten_bind_btSoftRigidDynamicsWorld_getBroadphase_0,sl=c._emscripten_bind_btWheelInfo_set_m_rotation_1=n._emscripten_bind_btWheelInfo_set_m_rotation_1,tl=c._emscripten_bind_btSphereShape_btSphereShape_1=n._emscripten_bind_btSphereShape_btSphereShape_1,ul=c._emscripten_bind_btWheelInfo_get_m_wheelsSuspensionForce_0=n._emscripten_bind_btWheelInfo_get_m_wheelsSuspensionForce_0,
//vl=c._emscripten_bind_btQuaternion_y_0=n._emscripten_bind_btQuaternion_y_0,wl=c._emscripten_bind_btCollisionWorld_addCollisionObject_1=n._emscripten_bind_btCollisionWorld_addCollisionObject_1,xl=c._emscripten_bind_btCollisionWorld_addCollisionObject_2=n._emscripten_bind_btCollisionWorld_addCollisionObject_2,yl=c._emscripten_bind_btCompoundShape_setLocalScaling_1=n._emscripten_bind_btCompoundShape_setLocalScaling_1,zl=c._emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterGroup_1=n._emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterGroup_1,
//Al=c._emscripten_bind_btConeTwistConstraint_setBreakingImpulseThreshold_1=n._emscripten_bind_btConeTwistConstraint_setBreakingImpulseThreshold_1,Bl=c._emscripten_bind_btWheelInfoConstructionInfo_set_m_chassisConnectionCS_1=n._emscripten_bind_btWheelInfoConstructionInfo_set_m_chassisConnectionCS_1,Cl=c._emscripten_bind_btSoftBodyHelpers_CreateEllipsoid_4=n._emscripten_bind_btSoftBodyHelpers_CreateEllipsoid_4,Dl=c._emscripten_bind_RaycastInfo_get_m_isInContact_0=n._emscripten_bind_RaycastInfo_get_m_isInContact_0,
//El=c._emscripten_bind_btWheelInfo_get_m_skidInfo_0=n._emscripten_bind_btWheelInfo_get_m_skidInfo_0,Fl=c._emscripten_bind_btHeightfieldTerrainShape_setMargin_1=n._emscripten_bind_btHeightfieldTerrainShape_setMargin_1,Gl=c._emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterGroup_0=n._emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterGroup_0,Hl=c._emscripten_bind_btCapsuleShape_setMargin_1=n._emscripten_bind_btCapsuleShape_setMargin_1,Il=c._emscripten_bind_btDefaultVehicleRaycaster_btDefaultVehicleRaycaster_1=
//n._emscripten_bind_btDefaultVehicleRaycaster_btDefaultVehicleRaycaster_1,Jl=c._emscripten_bind_btDynamicsWorld_contactTest_2=n._emscripten_bind_btDynamicsWorld_contactTest_2,Kl=c._emscripten_bind_btCollisionObject_setUserPointer_1=n._emscripten_bind_btCollisionObject_setUserPointer_1,Ll=c._emscripten_bind_btSequentialImpulseConstraintSolver_btSequentialImpulseConstraintSolver_0=n._emscripten_bind_btSequentialImpulseConstraintSolver_btSequentialImpulseConstraintSolver_0,Ml=c._emscripten_bind_btActionInterface___destroy___0=
//n._emscripten_bind_btActionInterface___destroy___0,Nl=c._emscripten_bind_btSoftBody_generateClusters_2=n._emscripten_bind_btSoftBody_generateClusters_2,Ol=c._emscripten_bind_btDefaultMotionState_setWorldTransform_1=n._emscripten_bind_btDefaultMotionState_setWorldTransform_1,Pl=c._emscripten_bind_btSoftBody_generateClusters_1=n._emscripten_bind_btSoftBody_generateClusters_1,Ql=c._emscripten_bind_RayResultCallback_get_m_collisionObject_0=n._emscripten_bind_RayResultCallback_get_m_collisionObject_0,
//Rl=c._emscripten_bind_btPoint2PointConstraint_getPivotInA_0=n._emscripten_bind_btPoint2PointConstraint_getPivotInA_0,Sl=c._emscripten_bind_Config_get_kAHR_0=n._emscripten_bind_Config_get_kAHR_0,Tl=c._emscripten_bind_btGeneric6DofSpringConstraint_setStiffness_2=n._emscripten_bind_btGeneric6DofSpringConstraint_setStiffness_2,Ul=c._emscripten_bind_btCylinderShape_calculateLocalInertia_2=n._emscripten_bind_btCylinderShape_calculateLocalInertia_2,Vl=c._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelRadius_1=
//n._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelRadius_1,Wl=c._emscripten_bind_ClosestConvexResultCallback___destroy___0=n._emscripten_bind_ClosestConvexResultCallback___destroy___0,Xl=c._emscripten_bind_btQuaternion_normalized_0=n._emscripten_bind_btQuaternion_normalized_0,Yl=c._emscripten_bind_btDynamicsWorld_addCollisionObject_1=n._emscripten_bind_btDynamicsWorld_addCollisionObject_1,Zl=c._emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterMask_0=n._emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterMask_0;
//c.___cxa_can_catch=n.___cxa_can_catch;
//var $l=c._emscripten_bind_btDynamicsWorld_addCollisionObject_2=n._emscripten_bind_btDynamicsWorld_addCollisionObject_2,am=c._emscripten_bind_btDiscreteDynamicsWorld_getDispatcher_0=n._emscripten_bind_btDiscreteDynamicsWorld_getDispatcher_0,bm=c._emscripten_bind_btCollisionObject_setFriction_1=n._emscripten_bind_btCollisionObject_setFriction_1,cm=c._emscripten_bind_btGeneric6DofSpringConstraint_enableFeedback_1=n._emscripten_bind_btGeneric6DofSpringConstraint_enableFeedback_1,dm=c._emscripten_bind_btVector3_rotate_2=
//n._emscripten_bind_btVector3_rotate_2,em=c._emscripten_bind_btHeightfieldTerrainShape___destroy___0=n._emscripten_bind_btHeightfieldTerrainShape___destroy___0,fm=c._emscripten_bind_btWheelInfo_get_m_maxSuspensionTravelCm_0=n._emscripten_bind_btWheelInfo_get_m_maxSuspensionTravelCm_0,gm=c._emscripten_bind_Config_get_kVC_0=n._emscripten_bind_Config_get_kVC_0,hm=c._emscripten_bind_btVehicleRaycasterResult_set_m_hitPointInWorld_1=n._emscripten_bind_btVehicleRaycasterResult_set_m_hitPointInWorld_1,im=
//c._emscripten_bind_btQuaternion_op_mulq_1=n._emscripten_bind_btQuaternion_op_mulq_1,jm=c._emscripten_bind_btPairCachingGhostObject_setActivationState_1=n._emscripten_bind_btPairCachingGhostObject_setActivationState_1,km=c._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelDirectionCS_1=n._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelDirectionCS_1,lm=c._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelAxleCS_1=n._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelAxleCS_1,
//mm=c._emscripten_bind_Material_get_m_kVST_0=n._emscripten_bind_Material_get_m_kVST_0,nm=c._emscripten_bind_Config_set_kVCF_1=n._emscripten_bind_Config_set_kVCF_1,om=c._emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_3=n._emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_3,pm=c._emscripten_bind_btGhostObject_getUserIndex_0=n._emscripten_bind_btGhostObject_getUserIndex_0,qm=c._emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_1=n._emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_1,
//rm=c._emscripten_bind_btWheelInfo_set_m_deltaRotation_1=n._emscripten_bind_btWheelInfo_set_m_deltaRotation_1,sm=c._emscripten_bind_btVector3___destroy___0=n._emscripten_bind_btVector3___destroy___0,tm=c._emscripten_bind_RaycastInfo___destroy___0=n._emscripten_bind_RaycastInfo___destroy___0,um=c._emscripten_bind_btRigidBody_setAngularFactor_1=n._emscripten_bind_btRigidBody_setAngularFactor_1,wm=c._emscripten_bind_btCylinderShapeZ_calculateLocalInertia_2=n._emscripten_bind_btCylinderShapeZ_calculateLocalInertia_2,
//xm=c._emscripten_bind_btConeShapeZ_btConeShapeZ_2=n._emscripten_bind_btConeShapeZ_btConeShapeZ_2,ym=c._emscripten_bind_LocalShapeInfo_set_m_triangleIndex_1=n._emscripten_bind_LocalShapeInfo_set_m_triangleIndex_1,zm=c._emscripten_bind_btMotionState_getWorldTransform_1=n._emscripten_bind_btMotionState_getWorldTransform_1,Am=c._emscripten_bind_btDynamicsWorld_getSolverInfo_0=n._emscripten_bind_btDynamicsWorld_getSolverInfo_0,Bm=c._emscripten_bind_btVehicleRaycasterResult_set_m_hitNormalInWorld_1=n._emscripten_bind_btVehicleRaycasterResult_set_m_hitNormalInWorld_1,
//Cm=c._emscripten_bind_btSoftRigidDynamicsWorld_convexSweepTest_5=n._emscripten_bind_btSoftRigidDynamicsWorld_convexSweepTest_5,Dm=c._emscripten_bind_Config_get_kMT_0=n._emscripten_bind_Config_get_kMT_0,Em=c._emscripten_bind_btDynamicsWorld_getBroadphase_0=n._emscripten_bind_btDynamicsWorld_getBroadphase_0,Fm=c._emscripten_bind_btSphereShape_getMargin_0=n._emscripten_bind_btSphereShape_getMargin_0,Gm=c._emscripten_bind_Config_get_timescale_0=n._emscripten_bind_Config_get_timescale_0,Hm=c._emscripten_bind_btVector3_x_0=
//n._emscripten_bind_btVector3_x_0;c.___cxa_is_pointer_type=n.___cxa_is_pointer_type;
//var Im=c._emscripten_bind_btConvexTriangleMeshShape___destroy___0=n._emscripten_bind_btConvexTriangleMeshShape___destroy___0,Jm=c._emscripten_bind_btCollisionObject_getCollisionShape_0=n._emscripten_bind_btCollisionObject_getCollisionShape_0,Km=c._emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_4=n._emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_4,Lm=c._emscripten_bind_btManifoldPoint___destroy___0=n._emscripten_bind_btManifoldPoint___destroy___0,Mm=
//c._emscripten_bind_btRigidBodyConstructionInfo_set_m_rollingFriction_1=n._emscripten_bind_btRigidBodyConstructionInfo_set_m_rollingFriction_1,Nm=c._emscripten_bind_btVector4_length_0=n._emscripten_bind_btVector4_length_0,Om=c._emscripten_bind_btGhostObject_setUserIndex_1=n._emscripten_bind_btGhostObject_setUserIndex_1,Pm=c._emscripten_bind_btWheelInfo_getSuspensionRestLength_0=n._emscripten_bind_btWheelInfo_getSuspensionRestLength_0,Qm=c._emscripten_bind_btDefaultMotionState_set_m_graphicsWorldTrans_1=
//n._emscripten_bind_btDefaultMotionState_set_m_graphicsWorldTrans_1,Rm=c._emscripten_bind_btGhostObject_setRestitution_1=n._emscripten_bind_btGhostObject_setRestitution_1,Sm=c._emscripten_bind_btConeTwistConstraint_setAngularOnly_1=n._emscripten_bind_btConeTwistConstraint_setAngularOnly_1,Tm=c._emscripten_bind_btQuadWord_setZ_1=n._emscripten_bind_btQuadWord_setZ_1,Um=c._emscripten_bind_btDefaultCollisionConfiguration___destroy___0=n._emscripten_bind_btDefaultCollisionConfiguration___destroy___0,Vm=
//c._emscripten_bind_btRigidBody_setMassProps_2=n._emscripten_bind_btRigidBody_setMassProps_2;c.getTempRet0=n.getTempRet0;
//var Wm=c._emscripten_bind_btVector3_setValue_3=n._emscripten_bind_btVector3_setValue_3,Xm=c._emscripten_bind_btPairCachingGhostObject_setCcdMotionThreshold_1=n._emscripten_bind_btPairCachingGhostObject_setCcdMotionThreshold_1,Ym=c._emscripten_bind_RaycastInfo_get_m_suspensionLength_0=n._emscripten_bind_RaycastInfo_get_m_suspensionLength_0,Zm=c._emscripten_bind_btGhostObject_getCollisionFlags_0=n._emscripten_bind_btGhostObject_getCollisionFlags_0,$m=c._emscripten_bind_btCapsuleShapeX___destroy___0=
//n._emscripten_bind_btCapsuleShapeX___destroy___0,an=c._emscripten_bind_btWheelInfo_get_m_wheelDirectionCS_0=n._emscripten_bind_btWheelInfo_get_m_wheelDirectionCS_0,bn=c._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingCompression_1=n._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingCompression_1,cn=c._emscripten_bind_Material_get_m_flags_0=n._emscripten_bind_Material_get_m_flags_0,dn=c._emscripten_bind_btQuaternion_getAxis_0=n._emscripten_bind_btQuaternion_getAxis_0,
//en=c._emscripten_bind_btRaycastVehicle_getUserConstraintId_0=n._emscripten_bind_btRaycastVehicle_getUserConstraintId_0,fn=c._emscripten_bind_btRaycastVehicle_updateAction_2=n._emscripten_bind_btRaycastVehicle_updateAction_2,gn=c._emscripten_bind_btHingeConstraint_setLimit_4=n._emscripten_bind_btHingeConstraint_setLimit_4,hn=c._emscripten_bind_btHingeConstraint_setLimit_5=n._emscripten_bind_btHingeConstraint_setLimit_5,jn=c._emscripten_bind_btSoftBodyWorldInfo_btSoftBodyWorldInfo_0=n._emscripten_bind_btSoftBodyWorldInfo_btSoftBodyWorldInfo_0,
//kn=c._emscripten_bind_Config_set_kDG_1=n._emscripten_bind_Config_set_kDG_1,ln=c._emscripten_bind_btWheelInfo_set_m_maxSuspensionTravelCm_1=n._emscripten_bind_btWheelInfo_set_m_maxSuspensionTravelCm_1,mn=c._emscripten_bind_btWheelInfo_set_m_wheelsSuspensionForce_1=n._emscripten_bind_btWheelInfo_set_m_wheelsSuspensionForce_1,nn=c._emscripten_bind_btSoftBody_scale_1=n._emscripten_bind_btSoftBody_scale_1,on=c._emscripten_bind_Config_get_citerations_0=n._emscripten_bind_Config_get_citerations_0,pn=c._emscripten_bind_btTypedConstraint_getBreakingImpulseThreshold_0=
//n._emscripten_bind_btTypedConstraint_getBreakingImpulseThreshold_0,qn=c._emscripten_bind_btGhostObject_getCollisionShape_0=n._emscripten_bind_btGhostObject_getCollisionShape_0,rn=c._emscripten_bind_btCollisionObject_setAnisotropicFriction_2=n._emscripten_bind_btCollisionObject_setAnisotropicFriction_2,sn=c._emscripten_bind_btBoxShape___destroy___0=n._emscripten_bind_btBoxShape___destroy___0,tn=c._emscripten_bind_btWheelInfo_get_m_bIsFrontWheel_0=n._emscripten_bind_btWheelInfo_get_m_bIsFrontWheel_0,
//un=c._emscripten_bind_btPersistentManifold_getContactPoint_1=n._emscripten_bind_btPersistentManifold_getContactPoint_1,vn=c._emscripten_bind_btGeneric6DofSpringConstraint_getBreakingImpulseThreshold_0=n._emscripten_bind_btGeneric6DofSpringConstraint_getBreakingImpulseThreshold_0,wn=c._emscripten_bind_ConvexResultCallback_set_m_collisionFilterGroup_1=n._emscripten_bind_ConvexResultCallback_set_m_collisionFilterGroup_1,xn=c._emscripten_bind_RaycastInfo_set_m_groundObject_1=n._emscripten_bind_RaycastInfo_set_m_groundObject_1,
//yn=c._emscripten_bind_btGhostObject_activate_1=n._emscripten_bind_btGhostObject_activate_1,zn=c._emscripten_bind_btRaycastVehicle_getForwardAxis_0=n._emscripten_bind_btRaycastVehicle_getForwardAxis_0,An=c._emscripten_bind_btManifoldPoint_getPositionWorldOnB_0=n._emscripten_bind_btManifoldPoint_getPositionWorldOnB_0,Bn=c._emscripten_bind_btManifoldPoint_get_m_positionWorldOnA_0=n._emscripten_bind_btManifoldPoint_get_m_positionWorldOnA_0,Cn=c._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDamping_1=
//n._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDamping_1,Dn=c._emscripten_bind_btDefaultSoftBodySolver_btDefaultSoftBodySolver_0=n._emscripten_bind_btDefaultSoftBodySolver_btDefaultSoftBodySolver_0,En=c._emscripten_bind_btSphereShape_setMargin_1=n._emscripten_bind_btSphereShape_setMargin_1,Fn=c._emscripten_bind_btSoftBody_get_m_cfg_0=n._emscripten_bind_btSoftBody_get_m_cfg_0,Gn=c._emscripten_bind_btCollisionObject_setUserIndex_1=n._emscripten_bind_btCollisionObject_setUserIndex_1,
//Hn=c._emscripten_bind_btContactSolverInfo_set_m_splitImpulsePenetrationThreshold_1=n._emscripten_bind_btContactSolverInfo_set_m_splitImpulsePenetrationThreshold_1,In=c._emscripten_bind_btSliderConstraint_setUpperAngLimit_1=n._emscripten_bind_btSliderConstraint_setUpperAngLimit_1,Jn=c._emscripten_bind_btDynamicsWorld_contactPairTest_3=n._emscripten_bind_btDynamicsWorld_contactPairTest_3,Kn=c._emscripten_bind_btCollisionWorld_getPairCache_0=n._emscripten_bind_btCollisionWorld_getPairCache_0,Ln=c._emscripten_bind_btConeTwistConstraint_setMotorTarget_1=
//n._emscripten_bind_btConeTwistConstraint_setMotorTarget_1,Mn=c._emscripten_bind_ClosestConvexResultCallback_set_m_convexFromWorld_1=n._emscripten_bind_ClosestConvexResultCallback_set_m_convexFromWorld_1,Nn=c._emscripten_bind_btWheelInfo_set_m_rollInfluence_1=n._emscripten_bind_btWheelInfo_set_m_rollInfluence_1,On=c._emscripten_bind_btGhostObject_setCcdMotionThreshold_1=n._emscripten_bind_btGhostObject_setCcdMotionThreshold_1,Pn=c._emscripten_bind_btGeneric6DofConstraint_setBreakingImpulseThreshold_1=
//n._emscripten_bind_btGeneric6DofConstraint_setBreakingImpulseThreshold_1,Qn=c._emscripten_enum_PHY_ScalarType_PHY_INTEGER=n._emscripten_enum_PHY_ScalarType_PHY_INTEGER,Rn=c._emscripten_bind_btSoftBodyHelpers_CreatePatchUV_10=n._emscripten_bind_btSoftBodyHelpers_CreatePatchUV_10,Sn=c._emscripten_bind_btGhostObject_forceActivationState_1=n._emscripten_bind_btGhostObject_forceActivationState_1,Tn=c._emscripten_bind_btGhostPairCallback_btGhostPairCallback_0=n._emscripten_bind_btGhostPairCallback_btGhostPairCallback_0,
//Un=c._emscripten_bind_btSoftBodyHelpers_CreateFromTriMesh_5=n._emscripten_bind_btSoftBodyHelpers_CreateFromTriMesh_5,Vn=c._emscripten_bind_btVector4_y_0=n._emscripten_bind_btVector4_y_0,Wn=c._emscripten_bind_VoidPtr___destroy___0=n._emscripten_bind_VoidPtr___destroy___0;c.establishStackSpace=n.establishStackSpace;
//var Xn=c._emscripten_bind_RaycastInfo_set_m_contactNormalWS_1=n._emscripten_bind_RaycastInfo_set_m_contactNormalWS_1,Yn=c._emscripten_bind_btSliderConstraint_setLowerAngLimit_1=n._emscripten_bind_btSliderConstraint_setLowerAngLimit_1,Zn=c._emscripten_bind_ClosestRayResultCallback_get_m_collisionObject_0=n._emscripten_bind_ClosestRayResultCallback_get_m_collisionObject_0,$n=c._emscripten_bind_RaycastInfo_set_m_contactPointWS_1=n._emscripten_bind_RaycastInfo_set_m_contactPointWS_1,ao=c._emscripten_bind_ClosestConvexResultCallback_ClosestConvexResultCallback_2=
//n._emscripten_bind_ClosestConvexResultCallback_ClosestConvexResultCallback_2,bo=c._emscripten_bind_ClosestRayResultCallback_get_m_rayFromWorld_0=n._emscripten_bind_ClosestRayResultCallback_get_m_rayFromWorld_0,co=c._emscripten_bind_btSoftBody_setContactProcessingThreshold_1=n._emscripten_bind_btSoftBody_setContactProcessingThreshold_1,eo=c._emscripten_bind_btPairCachingGhostObject_getNumOverlappingObjects_0=n._emscripten_bind_btPairCachingGhostObject_getNumOverlappingObjects_0,fo=c._emscripten_bind_btSliderConstraint_enableFeedback_1=
//n._emscripten_bind_btSliderConstraint_enableFeedback_1,go=c._emscripten_bind_RayResultCallback_get_m_collisionFilterGroup_0=n._emscripten_bind_RayResultCallback_get_m_collisionFilterGroup_0,ho=c._emscripten_enum_PHY_ScalarType_PHY_DOUBLE=n._emscripten_enum_PHY_ScalarType_PHY_DOUBLE,io=c._emscripten_bind_btConstraintSetting_get_m_tau_0=n._emscripten_bind_btConstraintSetting_get_m_tau_0,jo=c._emscripten_bind_btConeShape_setLocalScaling_1=n._emscripten_bind_btConeShape_setLocalScaling_1,ko=c._emscripten_bind_btCollisionObject_setCollisionShape_1=
//n._emscripten_bind_btCollisionObject_setCollisionShape_1,lo=c._emscripten_bind_btCollisionShape___destroy___0=n._emscripten_bind_btCollisionShape___destroy___0,mo=c._emscripten_bind_btMatrix3x3_getRow_1=n._emscripten_bind_btMatrix3x3_getRow_1,no=c._emscripten_bind_ConvexResultCallback_get_m_closestHitFraction_0=n._emscripten_bind_ConvexResultCallback_get_m_closestHitFraction_0,oo=c._emscripten_bind_btSoftRigidDynamicsWorld_getPairCache_0=n._emscripten_bind_btSoftRigidDynamicsWorld_getPairCache_0,
//po=c._emscripten_bind_btDispatcherInfo_get_m_dispatchFunc_0=n._emscripten_bind_btDispatcherInfo_get_m_dispatchFunc_0,qo=c._emscripten_bind_btRigidBodyConstructionInfo_get_m_rollingFriction_0=n._emscripten_bind_btRigidBodyConstructionInfo_get_m_rollingFriction_0,ro=c._emscripten_bind_btSoftBody_getUserIndex_0=n._emscripten_bind_btSoftBody_getUserIndex_0,so=c._emscripten_bind_btPairCachingGhostObject_setCollisionShape_1=n._emscripten_bind_btPairCachingGhostObject_setCollisionShape_1,to=c._emscripten_bind_btKinematicCharacterController_warp_1=
//n._emscripten_bind_btKinematicCharacterController_warp_1,uo=c._emscripten_bind_btContactSolverInfo___destroy___0=n._emscripten_bind_btContactSolverInfo___destroy___0,vo=c._emscripten_bind_btSoftBody_getWorldTransform_0=n._emscripten_bind_btSoftBody_getWorldTransform_0,xb=c.___muldsi3=n.___muldsi3,wo=c._emscripten_bind_btTriangleMesh___destroy___0=n._emscripten_bind_btTriangleMesh___destroy___0,xo=c._emscripten_bind_btKinematicCharacterController_preStep_1=n._emscripten_bind_btKinematicCharacterController_preStep_1,
//yo=c._emscripten_bind_btRaycastVehicle_applyEngineForce_2=n._emscripten_bind_btRaycastVehicle_applyEngineForce_2,zo=c._emscripten_bind_btBoxShape_calculateLocalInertia_2=n._emscripten_bind_btBoxShape_calculateLocalInertia_2,Ao=c._emscripten_bind_btRaycastVehicle_setBrake_2=n._emscripten_bind_btRaycastVehicle_setBrake_2,Bo=c._emscripten_bind_ConcreteContactResultCallback___destroy___0=n._emscripten_bind_ConcreteContactResultCallback___destroy___0,Co=c._emscripten_bind_RaycastInfo_set_m_wheelAxleWS_1=
//n._emscripten_bind_RaycastInfo_set_m_wheelAxleWS_1,Do=c._emscripten_bind_btRaycastVehicle_updateVehicle_1=n._emscripten_bind_btRaycastVehicle_updateVehicle_1,Eo=c._emscripten_bind_btCollisionObject___destroy___0=n._emscripten_bind_btCollisionObject___destroy___0,Fo=c._emscripten_bind_btVehicleTuning_set_m_suspensionDamping_1=n._emscripten_bind_btVehicleTuning_set_m_suspensionDamping_1,Go=c._emscripten_bind_btConvexTriangleMeshShape_setMargin_1=n._emscripten_bind_btConvexTriangleMeshShape_setMargin_1,
//Ho=c._emscripten_bind_btTriangleMeshShape_setLocalScaling_1=n._emscripten_bind_btTriangleMeshShape_setLocalScaling_1,Io=c._emscripten_bind_Config_get_kSSHR_CL_0=n._emscripten_bind_Config_get_kSSHR_CL_0,Jo=c._emscripten_bind_btConeTwistConstraint_setMotorTargetInConstraintSpace_1=n._emscripten_bind_btConeTwistConstraint_setMotorTargetInConstraintSpace_1,Ko=c._emscripten_bind_btQuaternion_op_mul_1=n._emscripten_bind_btQuaternion_op_mul_1,Lo=c._emscripten_bind_btDispatcherInfo_set_m_timeStep_1=n._emscripten_bind_btDispatcherInfo_set_m_timeStep_1,
//Mo=c._emscripten_bind_btVector3_btVector3_3=n._emscripten_bind_btVector3_btVector3_3,No=c._emscripten_bind_btVector3_btVector3_0=n._emscripten_bind_btVector3_btVector3_0,Oo=c._emscripten_bind_btRigidBodyConstructionInfo_set_m_friction_1=n._emscripten_bind_btRigidBodyConstructionInfo_set_m_friction_1,Po=c._emscripten_bind_btDiscreteDynamicsWorld_getGravity_0=n._emscripten_bind_btDiscreteDynamicsWorld_getGravity_0,Qo=c._emscripten_bind_btVector3_z_0=n._emscripten_bind_btVector3_z_0,Ro=c._emscripten_bind_ClosestConvexResultCallback_get_m_hitPointWorld_0=
//n._emscripten_bind_ClosestConvexResultCallback_get_m_hitPointWorld_0,So=c._emscripten_bind_btCollisionShape_getMargin_0=n._emscripten_bind_btCollisionShape_getMargin_0,To=c._emscripten_bind_btSoftBodyWorldInfo_set_water_offset_1=n._emscripten_bind_btSoftBodyWorldInfo_set_water_offset_1,Uo=c._emscripten_bind_btBroadphaseInterface___destroy___0=n._emscripten_bind_btBroadphaseInterface___destroy___0,Vo=c._emscripten_bind_btWheelInfo_updateWheel_2=n._emscripten_bind_btWheelInfo_updateWheel_2,Wo=c._emscripten_bind_ConcreteContactResultCallback_addSingleResult_7=
//n._emscripten_bind_ConcreteContactResultCallback_addSingleResult_7,Xo=c._emscripten_bind_RaycastInfo_get_m_hardPointWS_0=n._emscripten_bind_RaycastInfo_get_m_hardPointWS_0,Yo=c._emscripten_bind_btConeTwistConstraint___destroy___0=n._emscripten_bind_btConeTwistConstraint___destroy___0,Zo=c._emscripten_bind_btQuadWord___destroy___0=n._emscripten_bind_btQuadWord___destroy___0,$o=c._emscripten_bind_btSoftRigidDynamicsWorld_contactPairTest_3=n._emscripten_bind_btSoftRigidDynamicsWorld_contactPairTest_3,
//ap=c._emscripten_bind_btQuaternion_setEulerZYX_3=n._emscripten_bind_btQuaternion_setEulerZYX_3,bp=c._emscripten_bind_ClosestRayResultCallback_set_m_rayFromWorld_1=n._emscripten_bind_ClosestRayResultCallback_set_m_rayFromWorld_1,cp=c._emscripten_bind_btGeneric6DofSpringConstraint_setDamping_2=n._emscripten_bind_btGeneric6DofSpringConstraint_setDamping_2,dp=c._emscripten_bind_RaycastInfo_get_m_wheelDirectionWS_0=n._emscripten_bind_RaycastInfo_get_m_wheelDirectionWS_0,ep=c._emscripten_bind_btRigidBody_setCenterOfMassTransform_1=
//n._emscripten_bind_btRigidBody_setCenterOfMassTransform_1,fp=c._emscripten_bind_btSoftBody_setUserIndex_1=n._emscripten_bind_btSoftBody_setUserIndex_1,gp=c._emscripten_bind_btWheelInfo_get_m_chassisConnectionPointCS_0=n._emscripten_bind_btWheelInfo_get_m_chassisConnectionPointCS_0,hp=c._emscripten_bind_btSoftBody_setCollisionShape_1=n._emscripten_bind_btSoftBody_setCollisionShape_1,ip=c._emscripten_bind_btGhostObject_setAnisotropicFriction_2=n._emscripten_bind_btGhostObject_setAnisotropicFriction_2,
//jp=c._emscripten_bind_btConstraintSolver___destroy___0=n._emscripten_bind_btConstraintSolver___destroy___0,kp=c._emscripten_bind_btSoftBody_isActive_0=n._emscripten_bind_btSoftBody_isActive_0,lp=c._emscripten_bind_btCapsuleShape_btCapsuleShape_2=n._emscripten_bind_btCapsuleShape_btCapsuleShape_2,mp=c._emscripten_bind_btTypedConstraint_enableFeedback_1=n._emscripten_bind_btTypedConstraint_enableFeedback_1,np=c._emscripten_bind_btWheelInfoConstructionInfo_get_m_frictionSlip_0=n._emscripten_bind_btWheelInfoConstructionInfo_get_m_frictionSlip_0,
//op=c._emscripten_bind_btGhostObject_activate_0=n._emscripten_bind_btGhostObject_activate_0,pp=c._emscripten_bind_btConstraintSetting_btConstraintSetting_0=n._emscripten_bind_btConstraintSetting_btConstraintSetting_0,qp=c._emscripten_bind_btWheelInfo_set_m_clippedInvContactDotSuspension_1=n._emscripten_bind_btWheelInfo_set_m_clippedInvContactDotSuspension_1,rp=c._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDampingFactor_0=n._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDampingFactor_0,
//sp=c._emscripten_bind_btRigidBody_setAnisotropicFriction_2=n._emscripten_bind_btRigidBody_setAnisotropicFriction_2,tp=c._emscripten_bind_btSoftBody_btSoftBody_4=n._emscripten_bind_btSoftBody_btSoftBody_4,up=c._emscripten_bind_btSoftBody_activate_0=n._emscripten_bind_btSoftBody_activate_0,vp=c._emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_3=n._emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_3,wp=c._emscripten_bind_ConvexResultCallback_set_m_closestHitFraction_1=
//n._emscripten_bind_ConvexResultCallback_set_m_closestHitFraction_1,xp=c._emscripten_bind_btGeneric6DofSpringConstraint_enableSpring_2=n._emscripten_bind_btGeneric6DofSpringConstraint_enableSpring_2,yp=c._emscripten_bind_btPersistentManifold_btPersistentManifold_0=n._emscripten_bind_btPersistentManifold_btPersistentManifold_0,zp=c._emscripten_bind_ConvexResultCallback_get_m_collisionFilterMask_0=n._emscripten_bind_ConvexResultCallback_get_m_collisionFilterMask_0,Ap=c._emscripten_bind_ClosestRayResultCallback_ClosestRayResultCallback_2=
//n._emscripten_bind_ClosestRayResultCallback_ClosestRayResultCallback_2,Bp=c._emscripten_bind_btVector4___destroy___0=n._emscripten_bind_btVector4___destroy___0,Cp=c._emscripten_bind_btPairCachingGhostObject_isKinematicObject_0=n._emscripten_bind_btPairCachingGhostObject_isKinematicObject_0,Dp=c._emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterMask_1=n._emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterMask_1,Ep=c._emscripten_bind_tNodeArray_at_1=n._emscripten_bind_tNodeArray_at_1,
//eb=c._i64Add=n._i64Add,Fp=c._emscripten_bind_btStaticPlaneShape_calculateLocalInertia_2=n._emscripten_bind_btStaticPlaneShape_calculateLocalInertia_2,Gp=c._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingThresholdSqr_0=n._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingThresholdSqr_0,Hp=c._emscripten_bind_btCollisionObject_setCcdMotionThreshold_1=n._emscripten_bind_btCollisionObject_setCcdMotionThreshold_1,Ip=c._emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_4=
//n._emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_4,Jp=c._emscripten_bind_btSoftBody_set_m_cfg_1=n._emscripten_bind_btSoftBody_set_m_cfg_1,Kp=c._emscripten_bind_btWheelInfo_get_m_brake_0=n._emscripten_bind_btWheelInfo_get_m_brake_0,Lp=c._emscripten_bind_btRigidBodyConstructionInfo_get_m_angularSleepingThreshold_0=n._emscripten_bind_btRigidBodyConstructionInfo_get_m_angularSleepingThreshold_0,Mp=c._emscripten_bind_btWheelInfo_get_m_deltaRotation_0=n._emscripten_bind_btWheelInfo_get_m_deltaRotation_0,
//Np=c._emscripten_bind_btPoint2PointConstraint_getPivotInB_0=n._emscripten_bind_btPoint2PointConstraint_getPivotInB_0,Op=c._emscripten_bind_btKinematicCharacterController_playerStep_2=n._emscripten_bind_btKinematicCharacterController_playerStep_2,Pp=c._emscripten_bind_btDispatcherInfo___destroy___0=n._emscripten_bind_btDispatcherInfo___destroy___0,Qp=c._emscripten_bind_btCapsuleShape_getMargin_0=n._emscripten_bind_btCapsuleShape_getMargin_0,Rp=c._emscripten_bind_btCylinderShape_getMargin_0=n._emscripten_bind_btCylinderShape_getMargin_0,
//Sp=c._emscripten_bind_btSoftBodyArray_size_0=n._emscripten_bind_btSoftBodyArray_size_0,Tp=c._emscripten_bind_btStaticPlaneShape_setLocalScaling_1=n._emscripten_bind_btStaticPlaneShape_setLocalScaling_1,Up=c._emscripten_bind_btConvexTriangleMeshShape_calculateLocalInertia_2=n._emscripten_bind_btConvexTriangleMeshShape_calculateLocalInertia_2,Vp=c._emscripten_bind_btWheelInfoConstructionInfo_set_m_bIsFrontWheel_1=n._emscripten_bind_btWheelInfoConstructionInfo_set_m_bIsFrontWheel_1,Wp=c._emscripten_bind_ClosestConvexResultCallback_get_m_convexToWorld_0=
//n._emscripten_bind_ClosestConvexResultCallback_get_m_convexToWorld_0,Xp=c._emscripten_bind_btGhostObject_getWorldTransform_0=n._emscripten_bind_btGhostObject_getWorldTransform_0,Yp=c._emscripten_bind_btDiscreteDynamicsWorld_getPairCache_0=n._emscripten_bind_btDiscreteDynamicsWorld_getPairCache_0,Zp=c._emscripten_bind_LocalConvexResult_set_m_hitFraction_1=n._emscripten_bind_LocalConvexResult_set_m_hitFraction_1,$p=c._emscripten_bind_btCapsuleShapeZ_calculateLocalInertia_2=n._emscripten_bind_btCapsuleShapeZ_calculateLocalInertia_2,
//aq=c._emscripten_bind_btDispatcherInfo_get_m_timeStep_0=n._emscripten_bind_btDispatcherInfo_get_m_timeStep_0,bq=c._emscripten_bind_btHingeConstraint_setAngularOnly_1=n._emscripten_bind_btHingeConstraint_setAngularOnly_1,cq=c._emscripten_bind_btVehicleTuning_set_m_suspensionCompression_1=n._emscripten_bind_btVehicleTuning_set_m_suspensionCompression_1,dq=c._emscripten_bind_btConstraintSetting_set_m_impulseClamp_1=n._emscripten_bind_btConstraintSetting_set_m_impulseClamp_1,eq=c._emscripten_bind_btMotionState___destroy___0=
//n._emscripten_bind_btMotionState___destroy___0,fq=c._emscripten_bind_btCollisionObject_setCollisionFlags_1=n._emscripten_bind_btCollisionObject_setCollisionFlags_1,gq=c._emscripten_bind_Config_get_kPR_0=n._emscripten_bind_Config_get_kPR_0,hq=c._emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_1=n._emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_1,iq=c._emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_2=n._emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_2,
//jq=c._emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_3=n._emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_3,kq=c._emscripten_bind_btWheelInfo_set_m_suspensionStiffness_1=n._emscripten_bind_btWheelInfo_set_m_suspensionStiffness_1,lq=c._emscripten_bind_RaycastInfo_set_m_suspensionLength_1=n._emscripten_bind_RaycastInfo_set_m_suspensionLength_1,mq=c._emscripten_bind_btDispatcher_getManifoldByIndexInternal_1=n._emscripten_bind_btDispatcher_getManifoldByIndexInternal_1,nq=c._emscripten_bind_btSliderConstraint_setBreakingImpulseThreshold_1=
//n._emscripten_bind_btSliderConstraint_setBreakingImpulseThreshold_1,oq=c._emscripten_bind_btSoftBodyWorldInfo___destroy___0=n._emscripten_bind_btSoftBodyWorldInfo___destroy___0,pq=c._emscripten_bind_btConvexTriangleMeshShape_getMargin_0=n._emscripten_bind_btConvexTriangleMeshShape_getMargin_0,qq=c._emscripten_bind_btSoftBodySolver___destroy___0=n._emscripten_bind_btSoftBodySolver___destroy___0,gb=c._bitshift64Lshr=n._bitshift64Lshr,rq=c._emscripten_bind_btWheelInfo_set_m_steering_1=n._emscripten_bind_btWheelInfo_set_m_steering_1,
//sq=c._emscripten_bind_Node_set_m_x_1=n._emscripten_bind_Node_set_m_x_1,tq=c._emscripten_bind_btPairCachingGhostObject_setWorldTransform_1=n._emscripten_bind_btPairCachingGhostObject_setWorldTransform_1,uq=c._emscripten_bind_btHingeConstraint_getBreakingImpulseThreshold_0=n._emscripten_bind_btHingeConstraint_getBreakingImpulseThreshold_0,vq=c._emscripten_bind_btDefaultCollisionConstructionInfo___destroy___0=n._emscripten_bind_btDefaultCollisionConstructionInfo___destroy___0,wq=c._emscripten_bind_btConeShape___destroy___0=
//n._emscripten_bind_btConeShape___destroy___0,xq=c._emscripten_bind_btGhostObject_setCcdSweptSphereRadius_1=n._emscripten_bind_btGhostObject_setCcdSweptSphereRadius_1,yq=c._emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_4=n._emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_4,zq=c._emscripten_bind_btRaycastVehicle_updateFriction_1=n._emscripten_bind_btRaycastVehicle_updateFriction_1,Aq=c._emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_2=n._emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_2,
//Bq=c._emscripten_bind_btKinematicCharacterController_setJumpSpeed_1=n._emscripten_bind_btKinematicCharacterController_setJumpSpeed_1,Cq=c._emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration___destroy___0=n._emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration___destroy___0,Dq=c._emscripten_bind_btConeShapeX_calculateLocalInertia_2=n._emscripten_bind_btConeShapeX_calculateLocalInertia_2,Eq=c._emscripten_enum_PHY_ScalarType_PHY_FIXEDPOINT88=n._emscripten_enum_PHY_ScalarType_PHY_FIXEDPOINT88,
//Fq=c._emscripten_bind_btPairCachingGhostObject_getOverlappingObject_1=n._emscripten_bind_btPairCachingGhostObject_getOverlappingObject_1,Gq=c._emscripten_bind_btGhostObject_getNumOverlappingObjects_0=n._emscripten_bind_btGhostObject_getNumOverlappingObjects_0,Hq=c._emscripten_bind_btRigidBodyConstructionInfo___destroy___0=n._emscripten_bind_btRigidBodyConstructionInfo___destroy___0,Iq=c._emscripten_bind_btGhostPairCallback___destroy___0=n._emscripten_bind_btGhostPairCallback___destroy___0,Jq=c._emscripten_bind_btRigidBody_getWorldTransform_0=
//n._emscripten_bind_btRigidBody_getWorldTransform_0,zb=c._sbrk=n._sbrk,Kq=c._emscripten_bind_btPoint2PointConstraint_setPivotA_1=n._emscripten_bind_btPoint2PointConstraint_setPivotA_1,Lq=c._emscripten_bind_ClosestConvexResultCallback_set_m_convexToWorld_1=n._emscripten_bind_ClosestConvexResultCallback_set_m_convexToWorld_1,ob=c._memcpy=n._memcpy,Mq=c._emscripten_bind_Config_get_maxvolume_0=n._emscripten_bind_Config_get_maxvolume_0,Nq=c._emscripten_bind_btCapsuleShape_calculateLocalInertia_2=n._emscripten_bind_btCapsuleShape_calculateLocalInertia_2,
//Oq=c._emscripten_bind_btSoftRigidDynamicsWorld_getGravity_0=n._emscripten_bind_btSoftRigidDynamicsWorld_getGravity_0,Pq=c._emscripten_bind_btVector3_y_0=n._emscripten_bind_btVector3_y_0,Qq=c._emscripten_bind_btDispatcherInfo_set_m_useEpa_1=n._emscripten_bind_btDispatcherInfo_set_m_useEpa_1,Rq=c._emscripten_bind_btVehicleTuning_get_m_maxSuspensionForce_0=n._emscripten_bind_btVehicleTuning_get_m_maxSuspensionForce_0,Sq=c._emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_2=n._emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_2,
//Tq=c._emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_3=n._emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_3,Uq=c._emscripten_bind_LocalShapeInfo_get_m_triangleIndex_0=n._emscripten_bind_LocalShapeInfo_get_m_triangleIndex_0,Vq=c._emscripten_bind_Config_set_kDF_1=n._emscripten_bind_Config_set_kDF_1,Wq=c._emscripten_bind_btHeightfieldTerrainShape_btHeightfieldTerrainShape_9=n._emscripten_bind_btHeightfieldTerrainShape_btHeightfieldTerrainShape_9,Xq=c._emscripten_bind_btSoftBody_activate_1=
//n._emscripten_bind_btSoftBody_activate_1,Yq=c._emscripten_bind_btWheelInfoConstructionInfo_set_m_frictionSlip_1=n._emscripten_bind_btWheelInfoConstructionInfo_set_m_frictionSlip_1,Zq=c._emscripten_bind_btGhostObject_setCollisionShape_1=n._emscripten_bind_btGhostObject_setCollisionShape_1,$q=c._emscripten_bind_btDispatcherInfo_set_m_allowedCcdPenetration_1=n._emscripten_bind_btDispatcherInfo_set_m_allowedCcdPenetration_1,ar=c._emscripten_bind_btRigidBody_setRollingFriction_1=n._emscripten_bind_btRigidBody_setRollingFriction_1,
//br=c._emscripten_bind_btPairCachingGhostObject_setRollingFriction_1=n._emscripten_bind_btPairCachingGhostObject_setRollingFriction_1,cr=c._emscripten_bind_btDiscreteDynamicsWorld_setGravity_1=n._emscripten_bind_btDiscreteDynamicsWorld_setGravity_1;c._emscripten_get_global_libc=n._emscripten_get_global_libc;
//var dr=c._emscripten_bind_btVehicleTuning_set_m_suspensionStiffness_1=n._emscripten_bind_btVehicleTuning_set_m_suspensionStiffness_1,er=c._emscripten_bind_btVector4_z_0=n._emscripten_bind_btVector4_z_0,fr=c._emscripten_bind_btCollisionObject_forceActivationState_1=n._emscripten_bind_btCollisionObject_forceActivationState_1,gr=c._emscripten_bind_btKinematicCharacterController_onGround_0=n._emscripten_bind_btKinematicCharacterController_onGround_0,hr=c._emscripten_bind_btRaycastVehicle_getWheelInfo_1=
//n._emscripten_bind_btRaycastVehicle_getWheelInfo_1,ir=c._emscripten_bind_btGeneric6DofConstraint_getBreakingImpulseThreshold_0=n._emscripten_bind_btGeneric6DofConstraint_getBreakingImpulseThreshold_0,jr=c._emscripten_bind_btVector3_length_0=n._emscripten_bind_btVector3_length_0,kr=c._emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterMask_1=n._emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterMask_1,lr=c._emscripten_bind_btSoftBodyWorldInfo_get_water_normal_0=n._emscripten_bind_btSoftBodyWorldInfo_get_water_normal_0,
//mr=c._emscripten_bind_btVector3_normalize_0=n._emscripten_bind_btVector3_normalize_0,nr=c._emscripten_bind_btConeTwistConstraint_setLimit_2=n._emscripten_bind_btConeTwistConstraint_setLimit_2,or=c._emscripten_bind_btSoftBody_setFriction_1=n._emscripten_bind_btSoftBody_setFriction_1;c.runPostSets=n.runPostSets;
//var pr=c._emscripten_bind_btRigidBody_setSleepingThresholds_2=n._emscripten_bind_btRigidBody_setSleepingThresholds_2,qr=c._emscripten_bind_btSoftBody_upcast_1=n._emscripten_bind_btSoftBody_upcast_1,rr=c._emscripten_bind_btCollisionObject_setWorldTransform_1=n._emscripten_bind_btCollisionObject_setWorldTransform_1,sr=c._emscripten_bind_LocalConvexResult_get_m_localShapeInfo_0=n._emscripten_bind_LocalConvexResult_get_m_localShapeInfo_0,tr=c._emscripten_bind_btSoftBodyWorldInfo_set_m_dispatcher_1=n._emscripten_bind_btSoftBodyWorldInfo_set_m_dispatcher_1,
//ur=c._emscripten_bind_btConvexHullShape_setLocalScaling_1=n._emscripten_bind_btConvexHullShape_setLocalScaling_1,vr=c._emscripten_bind_btStridingMeshInterface___destroy___0=n._emscripten_bind_btStridingMeshInterface___destroy___0,wr=c._emscripten_bind_btSoftBody_setActivationState_1=n._emscripten_bind_btSoftBody_setActivationState_1,xr=c._emscripten_bind_btRigidBody_getUserIndex_0=n._emscripten_bind_btRigidBody_getUserIndex_0,yr=c._emscripten_bind_btRigidBodyConstructionInfo_get_m_linearDamping_0=
//n._emscripten_bind_btRigidBodyConstructionInfo_get_m_linearDamping_0,zr=c._emscripten_bind_btSoftBodyHelpers_CreatePatch_9=n._emscripten_bind_btSoftBodyHelpers_CreatePatch_9,Ar=c._emscripten_bind_btDispatcher_getNumManifolds_0=n._emscripten_bind_btDispatcher_getNumManifolds_0,Br=c._emscripten_bind_btConvexShape_setMargin_1=n._emscripten_bind_btConvexShape_setMargin_1,Cr=c._emscripten_bind_btSoftBody_get_m_nodes_0=n._emscripten_bind_btSoftBody_get_m_nodes_0,Dr=c._emscripten_bind_btSoftBody___destroy___0=
//n._emscripten_bind_btSoftBody___destroy___0,Er=c._emscripten_bind_btRigidBodyConstructionInfo_get_m_linearSleepingThreshold_0=n._emscripten_bind_btRigidBodyConstructionInfo_get_m_linearSleepingThreshold_0,Fr=c._emscripten_bind_btRigidBody_activate_1=n._emscripten_bind_btRigidBody_activate_1,Gr=c._emscripten_bind_btRaycastVehicle_updateWheelTransform_2=n._emscripten_bind_btRaycastVehicle_updateWheelTransform_2,Hr=c._emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionForce_1=n._emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionForce_1,
//Ir=c._emscripten_bind_btSoftBodyWorldInfo_get_m_gravity_0=n._emscripten_bind_btSoftBodyWorldInfo_get_m_gravity_0,Jr=c._emscripten_bind_Material_set_m_kVST_1=n._emscripten_bind_Material_set_m_kVST_1,Kr=c._emscripten_bind_btGhostObject_setActivationState_1=n._emscripten_bind_btGhostObject_setActivationState_1,Lr=c._emscripten_bind_Material_set_m_kLST_1=n._emscripten_bind_Material_set_m_kLST_1,Mr=c._emscripten_bind_btCollisionWorld_contactPairTest_3=n._emscripten_bind_btCollisionWorld_contactPairTest_3,
//Nr=c._emscripten_bind_btDispatcherInfo_get_m_useContinuous_0=n._emscripten_bind_btDispatcherInfo_get_m_useContinuous_0,Or=c._emscripten_bind_btHingeConstraint_setMaxMotorImpulse_1=n._emscripten_bind_btHingeConstraint_setMaxMotorImpulse_1,Pr=c._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingRelaxation_0=n._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingRelaxation_0,Qr=c._emscripten_bind_Config_get_kSS_SPLT_CL_0=n._emscripten_bind_Config_get_kSS_SPLT_CL_0,Rr=c._emscripten_bind_btCylinderShapeX___destroy___0=
//n._emscripten_bind_btCylinderShapeX___destroy___0,Sr=c._emscripten_bind_btRigidBodyConstructionInfo_set_m_linearSleepingThreshold_1=n._emscripten_bind_btRigidBodyConstructionInfo_set_m_linearSleepingThreshold_1,Tr=c._emscripten_bind_btRigidBody_updateInertiaTensor_0=n._emscripten_bind_btRigidBody_updateInertiaTensor_0,Ur=c._emscripten_bind_ContactResultCallback___destroy___0=n._emscripten_bind_ContactResultCallback___destroy___0,Vr=c._emscripten_bind_btDispatcherInfo_get_m_useConvexConservativeDistanceUtil_0=
//n._emscripten_bind_btDispatcherInfo_get_m_useConvexConservativeDistanceUtil_0,Wr=c._emscripten_bind_btSoftBody_setAnisotropicFriction_2=n._emscripten_bind_btSoftBody_setAnisotropicFriction_2,Xr=c._emscripten_bind_btPairCachingGhostObject_setCollisionFlags_1=n._emscripten_bind_btPairCachingGhostObject_setCollisionFlags_1,Yr=c._emscripten_bind_btRigidBody_getMotionState_0=n._emscripten_bind_btRigidBody_getMotionState_0,Zr=c._emscripten_bind_btKinematicCharacterController_getGhostObject_0=n._emscripten_bind_btKinematicCharacterController_getGhostObject_0,
//$r=c._emscripten_bind_btRigidBody_btRigidBody_1=n._emscripten_bind_btRigidBody_btRigidBody_1,as=c._emscripten_bind_btTriangleMeshShape___destroy___0=n._emscripten_bind_btTriangleMeshShape___destroy___0,tb=c._llvm_cttz_i32=n._llvm_cttz_i32,bs=c._emscripten_bind_btDynamicsWorld_removeAction_1=n._emscripten_bind_btDynamicsWorld_removeAction_1,cs=c._emscripten_bind_btRigidBody_applyTorque_1=n._emscripten_bind_btRigidBody_applyTorque_1,ds=c._emscripten_bind_btManifoldPoint_get_m_localPointA_0=n._emscripten_bind_btManifoldPoint_get_m_localPointA_0,
//es=c._emscripten_bind_btDefaultCollisionConstructionInfo_btDefaultCollisionConstructionInfo_0=n._emscripten_bind_btDefaultCollisionConstructionInfo_btDefaultCollisionConstructionInfo_0,gs=c._emscripten_bind_btVehicleTuning_get_m_suspensionStiffness_0=n._emscripten_bind_btVehicleTuning_get_m_suspensionStiffness_0,hs=c._emscripten_bind_btManifoldPoint_set_m_normalWorldOnB_1=n._emscripten_bind_btManifoldPoint_set_m_normalWorldOnB_1,is=c._emscripten_bind_btGhostObject_setUserPointer_1=n._emscripten_bind_btGhostObject_setUserPointer_1,
//js=c._emscripten_bind_btConvexHullShape_addPoint_2=n._emscripten_bind_btConvexHullShape_addPoint_2,ks=c._emscripten_bind_btKinematicCharacterController_getGravity_0=n._emscripten_bind_btKinematicCharacterController_getGravity_0,ub=c.___udivmoddi4=n.___udivmoddi4,ls=c._emscripten_enum_PHY_ScalarType_PHY_SHORT=n._emscripten_enum_PHY_ScalarType_PHY_SHORT,ms=c._emscripten_bind_btConeTwistConstraint_getBreakingImpulseThreshold_0=n._emscripten_bind_btConeTwistConstraint_getBreakingImpulseThreshold_0,ns=
//c._emscripten_bind_btGeneric6DofConstraint_setAngularLowerLimit_1=n._emscripten_bind_btGeneric6DofConstraint_setAngularLowerLimit_1,ps=c._emscripten_bind_btVehicleRaycasterResult_get_m_distFraction_0=n._emscripten_bind_btVehicleRaycasterResult_get_m_distFraction_0,qs=c._emscripten_bind_btQuaternion_op_sub_1=n._emscripten_bind_btQuaternion_op_sub_1,rs=c._emscripten_bind_btVector4_normalize_0=n._emscripten_bind_btVector4_normalize_0,ss=c._emscripten_bind_btQuaternion_setY_1=n._emscripten_bind_btQuaternion_setY_1,
//ts=c._emscripten_bind_btConeShape_calculateLocalInertia_2=n._emscripten_bind_btConeShape_calculateLocalInertia_2,us=c._emscripten_bind_btCylinderShapeX_calculateLocalInertia_2=n._emscripten_bind_btCylinderShapeX_calculateLocalInertia_2,vs=c._emscripten_bind_ConvexResultCallback_set_m_collisionFilterMask_1=n._emscripten_bind_ConvexResultCallback_set_m_collisionFilterMask_1,Eb=c._llvm_bswap_i32=n._llvm_bswap_i32,xs=c._emscripten_bind_btRaycastVehicle_getForwardVector_0=n._emscripten_bind_btRaycastVehicle_getForwardVector_0,
//ys=c._emscripten_bind_btKinematicCharacterController_setVelocityForTimeInterval_2=n._emscripten_bind_btKinematicCharacterController_setVelocityForTimeInterval_2,zs=c._emscripten_bind_btWheelInfo_set_m_suspensionRelativeVelocity_1=n._emscripten_bind_btWheelInfo_set_m_suspensionRelativeVelocity_1,As=c._emscripten_bind_btSphereShape_setLocalScaling_1=n._emscripten_bind_btSphereShape_setLocalScaling_1,Bs=c._emscripten_bind_btRigidBody_applyCentralLocalForce_1=n._emscripten_bind_btRigidBody_applyCentralLocalForce_1,
//Cs=c._emscripten_bind_btDiscreteDynamicsWorld_removeAction_1=n._emscripten_bind_btDiscreteDynamicsWorld_removeAction_1,Ds=c._emscripten_bind_btVector4_w_0=n._emscripten_bind_btVector4_w_0,Es=c._emscripten_bind_btWheelInfo_get_m_worldTransform_0=n._emscripten_bind_btWheelInfo_get_m_worldTransform_0,Fs=c._emscripten_bind_btManifoldPoint_get_m_normalWorldOnB_0=n._emscripten_bind_btManifoldPoint_get_m_normalWorldOnB_0,Gs=c._emscripten_bind_btBvhTriangleMeshShape___destroy___0=n._emscripten_bind_btBvhTriangleMeshShape___destroy___0,
//Hs=c._emscripten_bind_Config_set_citerations_1=n._emscripten_bind_Config_set_citerations_1,Is=c._emscripten_bind_btSoftBody_checkFace_3=n._emscripten_bind_btSoftBody_checkFace_3,Js=c._emscripten_bind_Config_get_kSKHR_CL_0=n._emscripten_bind_Config_get_kSKHR_CL_0,Ks=c._emscripten_bind_btDispatcherInfo_get_m_enableSatConvex_0=n._emscripten_bind_btDispatcherInfo_get_m_enableSatConvex_0,Ls=c._emscripten_bind_btDefaultVehicleRaycaster_castRay_3=n._emscripten_bind_btDefaultVehicleRaycaster_castRay_3,Ms=
//c._emscripten_bind_LocalConvexResult_LocalConvexResult_5=n._emscripten_bind_LocalConvexResult_LocalConvexResult_5,Ns=c._emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionTravelCm_0=n._emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionTravelCm_0,Os=c._emscripten_bind_ClosestConvexResultCallback_set_m_closestHitFraction_1=n._emscripten_bind_ClosestConvexResultCallback_set_m_closestHitFraction_1,Ps=c._emscripten_bind_btDiscreteDynamicsWorld_removeConstraint_1=n._emscripten_bind_btDiscreteDynamicsWorld_removeConstraint_1,
//Qs=c._emscripten_bind_ConcreteContactResultCallback_ConcreteContactResultCallback_0=n._emscripten_bind_ConcreteContactResultCallback_ConcreteContactResultCallback_0,Rs=c._emscripten_bind_Config_set_diterations_1=n._emscripten_bind_Config_set_diterations_1,Ss=c._emscripten_bind_btRaycastVehicle_getUserConstraintType_0=n._emscripten_bind_btRaycastVehicle_getUserConstraintType_0,Ts=c._emscripten_bind_btGeneric6DofConstraint___destroy___0=n._emscripten_bind_btGeneric6DofConstraint___destroy___0,Us=c._emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_1=
//n._emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_1,Vs=c._emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_3=n._emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_3,Ws=c._emscripten_bind_Config_set_kDP_1=n._emscripten_bind_Config_set_kDP_1,Xs=c._emscripten_bind_btVehicleTuning_get_m_maxSuspensionTravelCm_0=n._emscripten_bind_btVehicleTuning_get_m_maxSuspensionTravelCm_0,Ys=c._emscripten_bind_btConvexHullShape_addPoint_1=n._emscripten_bind_btConvexHullShape_addPoint_1,Zs=c._emscripten_bind_btQuaternion_length2_0=
//n._emscripten_bind_btQuaternion_length2_0,$s=c._emscripten_bind_btRaycastVehicle_resetSuspension_0=n._emscripten_bind_btRaycastVehicle_resetSuspension_0,at=c._emscripten_bind_btPoint2PointConstraint_getBreakingImpulseThreshold_0=n._emscripten_bind_btPoint2PointConstraint_getBreakingImpulseThreshold_0,bt=c._emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_1=n._emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_1,
//ct=c._emscripten_bind_btTransform_getOrigin_0=n._emscripten_bind_btTransform_getOrigin_0,dt=c._emscripten_bind_Config_get_kKHR_0=n._emscripten_bind_Config_get_kKHR_0,et=c._emscripten_bind_Material_get_m_kLST_0=n._emscripten_bind_Material_get_m_kLST_0,ft=c._emscripten_bind_btHingeConstraint___destroy___0=n._emscripten_bind_btHingeConstraint___destroy___0,gt=c._emscripten_bind_btPairCachingGhostObject_getUserPointer_0=n._emscripten_bind_btPairCachingGhostObject_getUserPointer_0,ht=c._emscripten_bind_btSoftBody_set_m_nodes_1=
//n._emscripten_bind_btSoftBody_set_m_nodes_1,it=c._emscripten_bind_btSoftBodyWorldInfo_set_air_density_1=n._emscripten_bind_btSoftBodyWorldInfo_set_air_density_1,jt=c._emscripten_bind_btDbvtBroadphase___destroy___0=n._emscripten_bind_btDbvtBroadphase___destroy___0,kt=c._emscripten_bind_Config_set_viterations_1=n._emscripten_bind_Config_set_viterations_1,lt=c._emscripten_bind_btConvexShape_calculateLocalInertia_2=n._emscripten_bind_btConvexShape_calculateLocalInertia_2,fb=c._memset=n._memset,mt=c._emscripten_bind_btGeneric6DofConstraint_setLinearLowerLimit_1=
//n._emscripten_bind_btGeneric6DofConstraint_setLinearLowerLimit_1,nt=c._emscripten_bind_ClosestRayResultCallback_get_m_hitNormalWorld_0=n._emscripten_bind_ClosestRayResultCallback_get_m_hitNormalWorld_0,ot=c._emscripten_bind_btTriangleMesh_btTriangleMesh_0=n._emscripten_bind_btTriangleMesh_btTriangleMesh_0,pt=c._emscripten_bind_btTriangleMesh_btTriangleMesh_1=n._emscripten_bind_btTriangleMesh_btTriangleMesh_1,qt=c._emscripten_bind_btTriangleMesh_btTriangleMesh_2=n._emscripten_bind_btTriangleMesh_btTriangleMesh_2,
//rt=c._emscripten_bind_btWheelInfo_set_m_frictionSlip_1=n._emscripten_bind_btWheelInfo_set_m_frictionSlip_1,st=c._emscripten_bind_btSoftBodyHelpers___destroy___0=n._emscripten_bind_btSoftBodyHelpers___destroy___0,tt=c._emscripten_bind_btRigidBody_getCollisionShape_0=n._emscripten_bind_btRigidBody_getCollisionShape_0,ut=c._emscripten_bind_btManifoldPoint_set_m_positionWorldOnA_1=n._emscripten_bind_btManifoldPoint_set_m_positionWorldOnA_1,vt=c._emscripten_bind_btWheelInfo_get_m_wheelsDampingRelaxation_0=
//n._emscripten_bind_btWheelInfo_get_m_wheelsDampingRelaxation_0,wt=c._emscripten_bind_btManifoldPoint_get_m_localPointB_0=n._emscripten_bind_btManifoldPoint_get_m_localPointB_0,xt=c._emscripten_bind_btQuaternion_inverse_0=n._emscripten_bind_btQuaternion_inverse_0,yt=c._emscripten_bind_btDiscreteDynamicsWorld_contactPairTest_3=n._emscripten_bind_btDiscreteDynamicsWorld_contactPairTest_3,zt=c._emscripten_bind_btSliderConstraint_setLowerLinLimit_1=n._emscripten_bind_btSliderConstraint_setLowerLinLimit_1,
//At=c._emscripten_bind_btRigidBody_getAngularVelocity_0=n._emscripten_bind_btRigidBody_getAngularVelocity_0,Bt=c._emscripten_bind_btCollisionObject_setCcdSweptSphereRadius_1=n._emscripten_bind_btCollisionObject_setCcdSweptSphereRadius_1,Ct=c._emscripten_bind_btWheelInfo_get_m_wheelsRadius_0=n._emscripten_bind_btWheelInfo_get_m_wheelsRadius_0,Dt=c._emscripten_bind_btRigidBody_setLinearVelocity_1=n._emscripten_bind_btRigidBody_setLinearVelocity_1,Et=c._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelDirectionCS_0=
//n._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelDirectionCS_0,Ft=c._emscripten_bind_btVehicleTuning_btVehicleTuning_0=n._emscripten_bind_btVehicleTuning_btVehicleTuning_0,Gt=c._emscripten_bind_RayResultCallback_set_m_collisionObject_1=n._emscripten_bind_RayResultCallback_set_m_collisionObject_1,Ht=c._emscripten_bind_btDefaultSoftBodySolver___destroy___0=n._emscripten_bind_btDefaultSoftBodySolver___destroy___0,It=c._emscripten_bind_ClosestRayResultCallback_set_m_rayToWorld_1=n._emscripten_bind_ClosestRayResultCallback_set_m_rayToWorld_1,
//Jt=c._emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterGroup_0=n._emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterGroup_0,Kt=c._emscripten_bind_btWheelInfo_set_m_wheelsDampingRelaxation_1=n._emscripten_bind_btWheelInfo_set_m_wheelsDampingRelaxation_1,Lt=c._emscripten_bind_btWheelInfo_get_m_clippedInvContactDotSuspension_0=n._emscripten_bind_btWheelInfo_get_m_clippedInvContactDotSuspension_0,Mt=c._emscripten_bind_btDynamicsWorld_addAction_1=n._emscripten_bind_btDynamicsWorld_addAction_1,
//Nt=c._emscripten_bind_btSoftBody_appendMaterial_0=n._emscripten_bind_btSoftBody_appendMaterial_0,Ot=c._emscripten_bind_btSoftBodyWorldInfo_set_m_maxDisplacement_1=n._emscripten_bind_btSoftBodyWorldInfo_set_m_maxDisplacement_1,Pt=c._emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_2=n._emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_2,Qt=c._emscripten_bind_btPairCachingGhostObject_getCollisionFlags_0=n._emscripten_bind_btPairCachingGhostObject_getCollisionFlags_0,Rt=c._emscripten_bind_btSoftBodyWorldInfo_get_air_density_0=
//n._emscripten_bind_btSoftBodyWorldInfo_get_air_density_0,St=c._emscripten_bind_btSoftBody_setRestitution_1=n._emscripten_bind_btSoftBody_setRestitution_1,Tt=c._emscripten_bind_Config_set_kLF_1=n._emscripten_bind_Config_set_kLF_1,Ut=c._emscripten_bind_btWheelInfo_get_m_rotation_0=n._emscripten_bind_btWheelInfo_get_m_rotation_0,Vt=c._emscripten_enum_PHY_ScalarType_PHY_FLOAT=n._emscripten_enum_PHY_ScalarType_PHY_FLOAT,Wt=c._emscripten_bind_btWheelInfo_set_m_skidInfo_1=n._emscripten_bind_btWheelInfo_set_m_skidInfo_1,
//Xt=c._emscripten_bind_Config_set_kSS_SPLT_CL_1=n._emscripten_bind_Config_set_kSS_SPLT_CL_1,Yt=c._emscripten_bind_btGhostObject_isActive_0=n._emscripten_bind_btGhostObject_isActive_0,Zt=c._emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionRestLength_1=n._emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionRestLength_1,$t=c._emscripten_bind_btKinematicCharacterController_setFallSpeed_1=n._emscripten_bind_btKinematicCharacterController_setFallSpeed_1,au=c._emscripten_bind_btRigidBody_setActivationState_1=
//n._emscripten_bind_btRigidBody_setActivationState_1,bu=c._emscripten_bind_btWheelInfo_get_m_wheelsDampingCompression_0=n._emscripten_bind_btWheelInfo_get_m_wheelsDampingCompression_0,cu=c._emscripten_bind_ClosestConvexResultCallback_hasHit_0=n._emscripten_bind_ClosestConvexResultCallback_hasHit_0,du=c._emscripten_bind_btCapsuleShapeZ___destroy___0=n._emscripten_bind_btCapsuleShapeZ___destroy___0,eu=c._emscripten_bind_btRaycastVehicle_getRigidBody_0=n._emscripten_bind_btRaycastVehicle_getRigidBody_0,
//fu=c._emscripten_bind_btWheelInfo_get_m_maxSuspensionForce_0=n._emscripten_bind_btWheelInfo_get_m_maxSuspensionForce_0,gu=c._emscripten_bind_btSoftBody_get_m_materials_0=n._emscripten_bind_btSoftBody_get_m_materials_0,hu=c._emscripten_bind_btTriangleMesh_addTriangle_3=n._emscripten_bind_btTriangleMesh_addTriangle_3,iu=c._emscripten_bind_btGhostObject_getOverlappingObject_1=n._emscripten_bind_btGhostObject_getOverlappingObject_1,ju=c._emscripten_bind_btTriangleMesh_addTriangle_4=n._emscripten_bind_btTriangleMesh_addTriangle_4,
//ku=c._emscripten_bind_btSoftRigidDynamicsWorld_getDispatchInfo_0=n._emscripten_bind_btSoftRigidDynamicsWorld_getDispatchInfo_0,lu=c._emscripten_bind_btSoftBodyWorldInfo_set_water_normal_1=n._emscripten_bind_btSoftBodyWorldInfo_set_water_normal_1,mu=c._emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_2=n._emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_2,nu=c._emscripten_bind_Config_get_kDF_0=n._emscripten_bind_Config_get_kDF_0,ou=c._emscripten_bind_btRigidBody_applyTorqueImpulse_1=n._emscripten_bind_btRigidBody_applyTorqueImpulse_1,
//pu=c._emscripten_bind_btVector3_op_add_1=n._emscripten_bind_btVector3_op_add_1,qu=c._emscripten_bind_btRigidBody_setCollisionFlags_1=n._emscripten_bind_btRigidBody_setCollisionFlags_1,ru=c._emscripten_bind_btWheelInfo_get_m_steering_0=n._emscripten_bind_btWheelInfo_get_m_steering_0,su=c._emscripten_bind_btRigidBody___destroy___0=n._emscripten_bind_btRigidBody___destroy___0,tu=c._emscripten_bind_btWheelInfo_set_m_suspensionRestLength1_1=n._emscripten_bind_btWheelInfo_set_m_suspensionRestLength1_1,
//uu=c._emscripten_bind_Config_set_kCHR_1=n._emscripten_bind_Config_set_kCHR_1,vu=c._emscripten_bind_btRaycastVehicle_setUserConstraintType_1=n._emscripten_bind_btRaycastVehicle_setUserConstraintType_1,wu=c._emscripten_bind_btSoftRigidDynamicsWorld_contactTest_2=n._emscripten_bind_btSoftRigidDynamicsWorld_contactTest_2,xu=c._emscripten_bind_btCapsuleShapeZ_btCapsuleShapeZ_2=n._emscripten_bind_btCapsuleShapeZ_btCapsuleShapeZ_2,yu=c._emscripten_bind_btDispatcherInfo_get_m_enableSPU_0=n._emscripten_bind_btDispatcherInfo_get_m_enableSPU_0,
//zu=c._emscripten_bind_btSoftRigidDynamicsWorld_getWorldInfo_0=n._emscripten_bind_btSoftRigidDynamicsWorld_getWorldInfo_0,Au=c._emscripten_bind_btSliderConstraint_btSliderConstraint_3=n._emscripten_bind_btSliderConstraint_btSliderConstraint_3,Bu=c._emscripten_bind_btTransform___destroy___0=n._emscripten_bind_btTransform___destroy___0,Cu=c._emscripten_bind_btWheelInfo_get_m_wheelAxleCS_0=n._emscripten_bind_btWheelInfo_get_m_wheelAxleCS_0,Du=c._emscripten_bind_btDynamicsWorld_convexSweepTest_5=n._emscripten_bind_btDynamicsWorld_convexSweepTest_5,
//Eu=c._emscripten_bind_btSliderConstraint___destroy___0=n._emscripten_bind_btSliderConstraint___destroy___0,Fu=c._emscripten_bind_btRigidBody_forceActivationState_1=n._emscripten_bind_btRigidBody_forceActivationState_1,Gu=c._emscripten_bind_btPoint2PointConstraint_setPivotB_1=n._emscripten_bind_btPoint2PointConstraint_setPivotB_1,Hu=c._emscripten_bind_btManifoldPoint_getDistance_0=n._emscripten_bind_btManifoldPoint_getDistance_0,Iu=c._emscripten_bind_btWheelInfo_set_m_wheelAxleCS_1=n._emscripten_bind_btWheelInfo_set_m_wheelAxleCS_1,
//Ju=c._emscripten_bind_btTransform_setFromOpenGLMatrix_1=n._emscripten_bind_btTransform_setFromOpenGLMatrix_1,Ku=c._emscripten_bind_btKinematicCharacterController_getMaxSlope_0=n._emscripten_bind_btKinematicCharacterController_getMaxSlope_0,Lu=c._emscripten_bind_btManifoldPoint_getPositionWorldOnA_0=n._emscripten_bind_btManifoldPoint_getPositionWorldOnA_0,Mu=c._emscripten_bind_btRaycastVehicle_addWheel_7=n._emscripten_bind_btRaycastVehicle_addWheel_7,Nu=c._emscripten_bind_btQuaternion_op_add_1=n._emscripten_bind_btQuaternion_op_add_1,
//Ou=c._emscripten_bind_ClosestRayResultCallback_set_m_hitNormalWorld_1=n._emscripten_bind_ClosestRayResultCallback_set_m_hitNormalWorld_1,Pu=c._emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_2=n._emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_2,Qu=c._emscripten_bind_btStaticPlaneShape___destroy___0=n._emscripten_bind_btStaticPlaneShape___destroy___0,Ru=c._emscripten_bind_btHingeConstraint_enableMotor_1=n._emscripten_bind_btHingeConstraint_enableMotor_1,Su=c._emscripten_bind_btCylinderShapeZ_setLocalScaling_1=
//n._emscripten_bind_btCylinderShapeZ_setLocalScaling_1,Tu=c._emscripten_bind_btBoxShape_setLocalScaling_1=n._emscripten_bind_btBoxShape_setLocalScaling_1,Uu=c._emscripten_bind_btConeShapeZ___destroy___0=n._emscripten_bind_btConeShapeZ___destroy___0,Vu=c._emscripten_bind_btDynamicsWorld_getPairCache_0=n._emscripten_bind_btDynamicsWorld_getPairCache_0,Wu=c._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelAxleCS_0=n._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelAxleCS_0,Xu=c._emscripten_bind_btDiscreteDynamicsWorld_convexSweepTest_5=
//n._emscripten_bind_btDiscreteDynamicsWorld_convexSweepTest_5,Yu=c._emscripten_bind_btSoftRigidDynamicsWorld_removeRigidBody_1=n._emscripten_bind_btSoftRigidDynamicsWorld_removeRigidBody_1,Zu=c._emscripten_bind_btRigidBody_setRestitution_1=n._emscripten_bind_btRigidBody_setRestitution_1,$u=c._emscripten_bind_btVector4_btVector4_0=n._emscripten_bind_btVector4_btVector4_0,av=c._emscripten_bind_btVector4_x_0=n._emscripten_bind_btVector4_x_0,bv=c._emscripten_bind_btVector4_btVector4_4=n._emscripten_bind_btVector4_btVector4_4,
//cv=c._emscripten_bind_btKinematicCharacterController___destroy___0=n._emscripten_bind_btKinematicCharacterController___destroy___0,dv=c._emscripten_bind_btGeneric6DofSpringConstraint_setLinearLowerLimit_1=n._emscripten_bind_btGeneric6DofSpringConstraint_setLinearLowerLimit_1,ev=c._emscripten_bind_tMaterialArray_at_1=n._emscripten_bind_tMaterialArray_at_1,fv=c._emscripten_bind_LocalConvexResult_set_m_hitCollisionObject_1=n._emscripten_bind_LocalConvexResult_set_m_hitCollisionObject_1,gv=c._emscripten_bind_btVector4_op_sub_1=
//n._emscripten_bind_btVector4_op_sub_1,hv=c._emscripten_bind_btGeneric6DofSpringConstraint_setAngularLowerLimit_1=n._emscripten_bind_btGeneric6DofSpringConstraint_setAngularLowerLimit_1,iv=c._emscripten_bind_btSoftBodyWorldInfo_get_water_offset_0=n._emscripten_bind_btSoftBodyWorldInfo_get_water_offset_0,jv=c._emscripten_bind_btDiscreteDynamicsWorld_rayTest_3=n._emscripten_bind_btDiscreteDynamicsWorld_rayTest_3,kv=c._emscripten_bind_btWheelInfo_get_m_raycastInfo_0=n._emscripten_bind_btWheelInfo_get_m_raycastInfo_0,
//lv=c._emscripten_bind_btContactSolverInfo_get_m_splitImpulse_0=n._emscripten_bind_btContactSolverInfo_get_m_splitImpulse_0,mv=c._emscripten_bind_btConvexShape_getMargin_0=n._emscripten_bind_btConvexShape_getMargin_0,nv=c._emscripten_bind_btRaycastVehicle_getSteeringValue_1=n._emscripten_bind_btRaycastVehicle_getSteeringValue_1,ov=c._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelRadius_0=n._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelRadius_0,pv=c._emscripten_bind_btKinematicCharacterController_setMaxJumpHeight_1=
//n._emscripten_bind_btKinematicCharacterController_setMaxJumpHeight_1,qv=c._emscripten_bind_btPairCachingGhostObject_isActive_0=n._emscripten_bind_btPairCachingGhostObject_isActive_0,rv=c._emscripten_bind_btWheelInfo_set_m_wheelDirectionCS_1=n._emscripten_bind_btWheelInfo_set_m_wheelDirectionCS_1,sv=c._emscripten_bind_btVehicleTuning_get_m_frictionSlip_0=n._emscripten_bind_btVehicleTuning_get_m_frictionSlip_0;c.dynCall_viiiii=n.dynCall_viiiii;c.dynCall_vid=n.dynCall_vid;c.dynCall_vi=n.dynCall_vi;
//c.dynCall_viiidii=n.dynCall_viiidii;c.dynCall_vii=n.dynCall_vii;c.dynCall_iiiiiiiiiii=n.dynCall_iiiiiiiiiii;c.dynCall_ii=n.dynCall_ii;c.dynCall_viidi=n.dynCall_viidi;c.dynCall_viddiii=n.dynCall_viddiii;c.dynCall_vidii=n.dynCall_vidii;c.dynCall_iiiii=n.dynCall_iiiii;c.dynCall_vidi=n.dynCall_vidi;c.dynCall_diiiiiiii=n.dynCall_diiiiiiii;c.dynCall_viiiiddddiid=n.dynCall_viiiiddddiid;c.dynCall_diiiii=n.dynCall_diiiii;c.dynCall_vidd=n.dynCall_vidd;c.dynCall_iiii=n.dynCall_iiii;c.dynCall_viiiiid=n.dynCall_viiiiid;
//c.dynCall_viiiiii=n.dynCall_viiiiii;c.dynCall_iiid=n.dynCall_iiid;c.dynCall_di=n.dynCall_di;c.dynCall_iiiiiii=n.dynCall_iiiiiii;c.dynCall_diiidii=n.dynCall_diiidii;c.dynCall_viidii=n.dynCall_viidii;c.dynCall_viiiiiii=n.dynCall_viiiiiii;c.dynCall_viiiiiiiii=n.dynCall_viiiiiiiii;c.dynCall_viiiiiiiiii=n.dynCall_viiiiiiiiii;c.dynCall_iii=n.dynCall_iii;c.dynCall_diii=n.dynCall_diii;c.dynCall_diiiiiiiiii=n.dynCall_diiiiiiiiii;c.dynCall_viiiid=n.dynCall_viiiid;c.dynCall_diiiiiiiii=n.dynCall_diiiiiiiii;
//c.dynCall_did=n.dynCall_did;c.dynCall_viiiidddddidi=n.dynCall_viiiidddddidi;c.dynCall_diidii=n.dynCall_diidii;c.dynCall_diiii=n.dynCall_diiii;c.dynCall_iiiiiiiiii=n.dynCall_iiiiiiiiii;c.dynCall_viiid=n.dynCall_viiid;c.dynCall_viii=n.dynCall_viii;c.dynCall_v=n.dynCall_v;c.dynCall_viid=n.dynCall_viid;c.dynCall_iidid=n.dynCall_iidid;c.dynCall_viiii=n.dynCall_viiii;d.t=c.stackAlloc;d.N=c.stackSave;d.M=c.stackRestore;d.S=c.establishStackSpace;d.e=c.setTempRet0;d.J=c.getTempRet0;c.asm=n;
//c.then=function(a){if(c.calledRun)a(c);else{var b=c.onRuntimeInitialized;c.onRuntimeInitialized=function(){b&&b();a(c)}}return c};function ja(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}ja.prototype=Error();ja.prototype.constructor=ja;var tv=null;
//c.callMain=c.Q=function(a){function b(){for(var a=0;3>a;a++)f.push(0)}a=a||[];Xa||(Xa=!0,Ra(Ta));var e=a.length+1,f=[wa(Za(c.thisProgram),"i8",0)];b();for(var g=0;g<e-1;g+=1)f.push(wa(Za(a[g]),"i8",0)),b();f.push(0);f=wa(f,"i32",0);try{var h=c._main(e,f,0);uv(h,!0)}catch(k){k instanceof ja||("SimulateInfiniteLoop"==k?c.noExitRuntime=!0:((a=k)&&"object"===typeof k&&k.stack&&(a=[k,k.stack]),c.h("exception thrown: "+a),c.quit(1,k)))}finally{}};
//function vv(a){function b(){if(!c.calledRun&&(c.calledRun=!0,!pa)){Xa||(Xa=!0,Ra(Ta));Ra(Ua);if(c.onRuntimeInitialized)c.onRuntimeInitialized();c._main&&wv&&c.callMain(a);if(c.postRun)for("function"==typeof c.postRun&&(c.postRun=[c.postRun]);c.postRun.length;){var b=c.postRun.shift();Wa.unshift(b)}Ra(Wa)}}a=a||c.arguments;null===tv&&(tv=Date.now());if(c.preRun)for("function"==typeof c.preRun&&(c.preRun=[c.preRun]);c.preRun.length;)Ya();Ra(Sa);c.calledRun||(c.setStatus?(c.setStatus("Running..."),setTimeout(function(){setTimeout(function(){c.setStatus("")},
//1);b()},1)):b())}c.run=c.run=vv;function uv(a,b){if(!b||!c.noExitRuntime){if(!c.noExitRuntime&&(pa=!0,ka=void 0,Ra(Va),c.onExit))c.onExit(a);ea&&process.exit(a);c.quit(a,new ja(a))}}c.exit=c.exit=uv;var xv=[];function qa(a){void 0!==a?(c.print(a),c.h(a),a=JSON.stringify(a)):a="";pa=!0;var b="abort("+a+") at "+Ja()+"\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";xv&&xv.forEach(function(e){b=e(b,a)});throw b;}c.abort=c.abort=qa;
//if(c.preInit)for("function"==typeof c.preInit&&(c.preInit=[c.preInit]);0<c.preInit.length;)c.preInit.pop()();var wv=!0;c.noInitialRun&&(wv=!1);c.noExitRuntime=!0;vv();function p(){}p.prototype=Object.create(p.prototype);p.prototype.constructor=p;p.prototype.b=p;p.c={};c.WrapperObject=p;function q(a){return(a||p).c}c.getCache=q;function r(a,b){var e=q(b),f=e[a];if(f)return f;f=Object.create((b||p).prototype);f.a=a;return e[a]=f}c.wrapPointer=r;c.castObject=function(a,b){return r(a.a,b)};c.NULL=r(0);
//c.destroy=function(a){if(!a.__destroy__)throw"Error: Cannot destroy object. (Did you create it yourself?)";a.__destroy__();delete q(a.b)[a.a]};c.compare=function(a,b){return a.a===b.a};c.getPointer=function(a){return a.a};c.getClass=function(a){return a.b};var yv=0,zv=0,Av=0,Bv=[],Cv=0;function Dv(){if(Cv){for(var a=0;a<Bv.length;a++)c._free(Bv[a]);Bv.length=0;c._free(yv);yv=0;zv+=Cv;Cv=0}yv||(zv+=128,yv=c._malloc(zv),assert(yv));Av=0}
//function Ev(a,b){assert(yv);var e=a.length*b.BYTES_PER_ELEMENT,e=e+7&-8,f;Av+e>=zv?(assert(0<e),Cv+=e,f=c._malloc(e),Bv.push(f)):(f=yv+Av,Av+=e);return f}function Fv(a,b,e){switch(b.BYTES_PER_ELEMENT){case 2:e>>=1;break;case 4:e>>=2;break;case 8:e>>=3}for(var f=0;f<a.length;f++)b[e+f]=a[f]}function Gv(a){if("object"===typeof a){var b=Ev(a,ua);Fv(a,ua,b);return b}return a}function Hv(){throw"cannot construct a btCollisionWorld, no constructor in IDL";}Hv.prototype=Object.create(p.prototype);
//Hv.prototype.constructor=Hv;Hv.prototype.b=Hv;Hv.c={};c.btCollisionWorld=Hv;Hv.prototype.getDispatcher=function(){return r(gj(this.a),Iv)};Hv.prototype.rayTest=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);Sf(f,a,b,e)};Hv.prototype.getPairCache=function(){return r(Kn(this.a),Jv)};Hv.prototype.getDispatchInfo=function(){return r(si(this.a),t)};
//Hv.prototype.addCollisionObject=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);void 0===b?wl(f,a):void 0===e?xl(f,a,b):Ui(f,a,b,e)};Hv.prototype.getBroadphase=function(){return r(Zh(this.a),Kv)};
//Hv.prototype.convexSweepTest=function(a,b,e,f,g){var h=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);g&&"object"===typeof g&&(g=g.a);vf(h,a,b,e,f,g)};Hv.prototype.contactPairTest=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);Mr(f,a,b,e)};
//Hv.prototype.contactTest=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);ig(e,a,b)};Hv.prototype.__destroy__=function(){Md(this.a)};function u(){throw"cannot construct a btCollisionShape, no constructor in IDL";}u.prototype=Object.create(p.prototype);u.prototype.constructor=u;u.prototype.b=u;u.c={};c.btCollisionShape=u;u.prototype.setLocalScaling=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Wi(b,a)};
//u.prototype.calculateLocalInertia=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);sf(e,a,b)};u.prototype.setMargin=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Oe(b,a)};u.prototype.getMargin=function(){return So(this.a)};u.prototype.__destroy__=function(){lo(this.a)};function w(){throw"cannot construct a btCollisionObject, no constructor in IDL";}w.prototype=Object.create(p.prototype);w.prototype.constructor=w;w.prototype.b=w;w.c={};
//c.btCollisionObject=w;w.prototype.setAnisotropicFriction=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);rn(e,a,b)};w.prototype.getCollisionShape=function(){return r(Jm(this.a),u)};w.prototype.setContactProcessingThreshold=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Mi(b,a)};w.prototype.setActivationState=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);jf(b,a)};
//w.prototype.forceActivationState=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);fr(b,a)};w.prototype.activate=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);void 0===a?ad(b):$c(b,a)};w.prototype.isActive=function(){return!!Ob(this.a)};w.prototype.isKinematicObject=function(){return!!Mc(this.a)};w.prototype.setRestitution=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Qk(b,a)};w.prototype.setFriction=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);bm(b,a)};
//w.prototype.setRollingFriction=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);jj(b,a)};w.prototype.getWorldTransform=function(){return r(Ck(this.a),y)};w.prototype.getCollisionFlags=function(){return wi(this.a)};w.prototype.setCollisionFlags=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);fq(b,a)};w.prototype.setWorldTransform=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);rr(b,a)};
//w.prototype.setCollisionShape=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ko(b,a)};w.prototype.setCcdMotionThreshold=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Hp(b,a)};w.prototype.setCcdSweptSphereRadius=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Bt(b,a)};w.prototype.getUserIndex=function(){return ec(this.a)};w.prototype.setUserIndex=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Gn(b,a)};
//w.prototype.getUserPointer=function(){return r(gg(this.a),Lv)};w.prototype.setUserPointer=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Kl(b,a)};w.prototype.__destroy__=function(){Eo(this.a)};function z(){throw"cannot construct a btDynamicsWorld, no constructor in IDL";}z.prototype=Object.create(Hv.prototype);z.prototype.constructor=z;z.prototype.b=z;z.c={};c.btDynamicsWorld=z;z.prototype.addAction=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Mt(b,a)};
//z.prototype.removeAction=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);bs(b,a)};z.prototype.getSolverInfo=function(){return r(Am(this.a),Mv)};z.prototype.getDispatcher=function(){return r(pj(this.a),Iv)};z.prototype.rayTest=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);Ic(f,a,b,e)};z.prototype.getPairCache=function(){return r(Vu(this.a),Jv)};z.prototype.getDispatchInfo=function(){return r(de(this.a),t)};
//z.prototype.addCollisionObject=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);void 0===b?Yl(f,a):void 0===e?$l(f,a,b):ne(f,a,b,e)};z.prototype.getBroadphase=function(){return r(Em(this.a),Kv)};
//z.prototype.convexSweepTest=function(a,b,e,f,g){var h=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);g&&"object"===typeof g&&(g=g.a);Du(h,a,b,e,f,g)};z.prototype.contactPairTest=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);Jn(f,a,b,e)};
//z.prototype.contactTest=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);Jl(e,a,b)};z.prototype.__destroy__=function(){Zg(this.a)};function Nv(){throw"cannot construct a btTypedConstraint, no constructor in IDL";}Nv.prototype=Object.create(p.prototype);Nv.prototype.constructor=Nv;Nv.prototype.b=Nv;Nv.c={};c.btTypedConstraint=Nv;Nv.prototype.enableFeedback=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);mp(b,a)};
//Nv.prototype.getBreakingImpulseThreshold=function(){return pn(this.a)};Nv.prototype.setBreakingImpulseThreshold=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);$b(b,a)};Nv.prototype.__destroy__=function(){kl(this.a)};function Ov(){throw"cannot construct a btConcaveShape, no constructor in IDL";}Ov.prototype=Object.create(u.prototype);Ov.prototype.constructor=Ov;Ov.prototype.b=Ov;Ov.c={};c.btConcaveShape=Ov;
//Ov.prototype.setLocalScaling=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Jh(b,a)};Ov.prototype.calculateLocalInertia=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);Jj(e,a,b)};Ov.prototype.__destroy__=function(){Bh(this.a)};function Pv(a,b){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);this.a=lp(a,b);q(Pv)[this.a]=this}Pv.prototype=Object.create(u.prototype);Pv.prototype.constructor=Pv;Pv.prototype.b=Pv;Pv.c={};
//c.btCapsuleShape=Pv;Pv.prototype.setMargin=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Hl(b,a)};Pv.prototype.getMargin=function(){return Qp(this.a)};Pv.prototype.setLocalScaling=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Gg(b,a)};Pv.prototype.calculateLocalInertia=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);Nq(e,a,b)};Pv.prototype.__destroy__=function(){Yc(this.a)};
//function Qv(a){a&&"object"===typeof a&&(a=a.a);this.a=void 0===a?Ci():Zc(a);q(Qv)[this.a]=this}Qv.prototype=Object.create(p.prototype);Qv.prototype.constructor=Qv;Qv.prototype.b=Qv;Qv.c={};c.btDefaultCollisionConfiguration=Qv;Qv.prototype.__destroy__=function(){Um(this.a)};function Rv(){throw"cannot construct a btTriangleMeshShape, no constructor in IDL";}Rv.prototype=Object.create(Ov.prototype);Rv.prototype.constructor=Rv;Rv.prototype.b=Rv;Rv.c={};c.btTriangleMeshShape=Rv;
//Rv.prototype.setLocalScaling=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Ho(b,a)};Rv.prototype.calculateLocalInertia=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);Tj(e,a,b)};Rv.prototype.__destroy__=function(){as(this.a)};function Sv(){throw"cannot construct a RayResultCallback, no constructor in IDL";}Sv.prototype=Object.create(p.prototype);Sv.prototype.constructor=Sv;Sv.prototype.b=Sv;Sv.c={};c.RayResultCallback=Sv;Sv.prototype.hasHit=function(){return!!Yj(this.a)};
//Sv.prototype.get_m_collisionFilterGroup=function(){return go(this.a)};Sv.prototype.set_m_collisionFilterGroup=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);lj(b,a)};Sv.prototype.get_m_collisionFilterMask=function(){return fj(this.a)};Sv.prototype.set_m_collisionFilterMask=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);je(b,a)};Sv.prototype.get_m_collisionObject=function(){return r(Ql(this.a),w)};
//Sv.prototype.set_m_collisionObject=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Gt(b,a)};Sv.prototype.__destroy__=function(){mh(this.a)};function Tv(a,b){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);this.a=Ig(a,b);q(Tv)[this.a]=this}Tv.prototype=Object.create(u.prototype);Tv.prototype.constructor=Tv;Tv.prototype.b=Tv;Tv.c={};c.btConeShape=Tv;Tv.prototype.setLocalScaling=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);jo(b,a)};
//Tv.prototype.calculateLocalInertia=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);ts(e,a,b)};Tv.prototype.__destroy__=function(){wq(this.a)};function Uv(){throw"cannot construct a btActionInterface, no constructor in IDL";}Uv.prototype=Object.create(p.prototype);Uv.prototype.constructor=Uv;Uv.prototype.b=Uv;Uv.c={};c.btActionInterface=Uv;
//Uv.prototype.updateAction=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);ld(e,a,b)};Uv.prototype.__destroy__=function(){Ml(this.a)};function B(a,b,e){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);this.a=void 0===a?No():void 0===b?_emscripten_bind_btVector3_btVector3_1(a):void 0===e?_emscripten_bind_btVector3_btVector3_2(a,b):Mo(a,b,e);q(B)[this.a]=this}B.prototype=Object.create(p.prototype);
//B.prototype.constructor=B;B.prototype.b=B;B.c={};c.btVector3=B;B.prototype.length=B.prototype.length=function(){return jr(this.a)};B.prototype.x=function(){return Hm(this.a)};B.prototype.y=function(){return Pq(this.a)};B.prototype.z=function(){return Qo(this.a)};B.prototype.setX=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);hd(b,a)};B.prototype.setY=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);$g(b,a)};
//B.prototype.setZ=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);qd(b,a)};B.prototype.setValue=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);Wm(f,a,b,e)};B.prototype.normalize=function(){mr(this.a)};B.prototype.rotate=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);return r(dm(e,a,b),B)};
//B.prototype.dot=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return Ng(b,a)};B.prototype.op_mul=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return r(Ah(b,a),B)};B.prototype.op_add=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return r(pu(b,a),B)};B.prototype.op_sub=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return r(bf(b,a),B)};B.prototype.__destroy__=function(){sm(this.a)};
//function Vv(){throw"cannot construct a btVehicleRaycaster, no constructor in IDL";}Vv.prototype=Object.create(p.prototype);Vv.prototype.constructor=Vv;Vv.prototype.b=Vv;Vv.c={};c.btVehicleRaycaster=Vv;Vv.prototype.castRay=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);mj(f,a,b,e)};Vv.prototype.__destroy__=function(){ug(this.a)};function Wv(){throw"cannot construct a btQuadWord, no constructor in IDL";}Wv.prototype=Object.create(p.prototype);
//Wv.prototype.constructor=Wv;Wv.prototype.b=Wv;Wv.c={};c.btQuadWord=Wv;Wv.prototype.x=function(){return Kc(this.a)};Wv.prototype.y=function(){return og(this.a)};Wv.prototype.z=function(){return kc(this.a)};Wv.prototype.w=function(){return yg(this.a)};Wv.prototype.setX=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ch(b,a)};Wv.prototype.setY=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);zd(b,a)};Wv.prototype.setZ=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Tm(b,a)};
//Wv.prototype.setW=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ze(b,a)};Wv.prototype.__destroy__=function(){Zo(this.a)};function Xv(a){a&&"object"===typeof a&&(a=a.a);this.a=$h(a);q(Xv)[this.a]=this}Xv.prototype=Object.create(u.prototype);Xv.prototype.constructor=Xv;Xv.prototype.b=Xv;Xv.c={};c.btCylinderShape=Xv;Xv.prototype.setMargin=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Kd(b,a)};Xv.prototype.getMargin=function(){return Rp(this.a)};
//Xv.prototype.setLocalScaling=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);pi(b,a)};Xv.prototype.calculateLocalInertia=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);Ul(e,a,b)};Xv.prototype.__destroy__=function(){Gb(this.a)};function C(a,b,e,f){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);this.a=Sb(a,b,e,f);q(C)[this.a]=this}C.prototype=Object.create(z.prototype);
//C.prototype.constructor=C;C.prototype.b=C;C.c={};c.btDiscreteDynamicsWorld=C;C.prototype.setGravity=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);cr(b,a)};C.prototype.getGravity=function(){return r(Po(this.a),B)};C.prototype.addRigidBody=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);void 0===b?ol(f,a):void 0===e?_emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_2(f,a,b):nl(f,a,b,e)};
//C.prototype.removeRigidBody=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ag(b,a)};C.prototype.addConstraint=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);void 0===b?Re(e,a):Qe(e,a,b)};C.prototype.removeConstraint=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Ps(b,a)};
//C.prototype.stepSimulation=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);return void 0===b?Ec(f,a):void 0===e?Gc(f,a,b):Fc(f,a,b,e)};C.prototype.getDispatcher=function(){return r(am(this.a),Iv)};C.prototype.rayTest=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);jv(f,a,b,e)};C.prototype.getPairCache=function(){return r(Yp(this.a),Jv)};
//C.prototype.getDispatchInfo=function(){return r(Kh(this.a),t)};C.prototype.addCollisionObject=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);void 0===b?hq(f,a):void 0===e?iq(f,a,b):jq(f,a,b,e)};C.prototype.getBroadphase=function(){return r(cg(this.a),Kv)};
//C.prototype.convexSweepTest=function(a,b,e,f,g){var h=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);g&&"object"===typeof g&&(g=g.a);Xu(h,a,b,e,f,g)};C.prototype.contactPairTest=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);yt(f,a,b,e)};
//C.prototype.contactTest=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);Bg(e,a,b)};C.prototype.addAction=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);dg(b,a)};C.prototype.removeAction=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Cs(b,a)};C.prototype.getSolverInfo=function(){return r(Jd(this.a),Mv)};C.prototype.__destroy__=function(){Hk(this.a)};function Yv(){throw"cannot construct a btConvexShape, no constructor in IDL";}
//Yv.prototype=Object.create(u.prototype);Yv.prototype.constructor=Yv;Yv.prototype.b=Yv;Yv.c={};c.btConvexShape=Yv;Yv.prototype.setLocalScaling=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Qj(b,a)};Yv.prototype.calculateLocalInertia=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);lt(e,a,b)};Yv.prototype.setMargin=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Br(b,a)};Yv.prototype.getMargin=function(){return mv(this.a)};
//Yv.prototype.__destroy__=function(){Ik(this.a)};function Iv(){throw"cannot construct a btDispatcher, no constructor in IDL";}Iv.prototype=Object.create(p.prototype);Iv.prototype.constructor=Iv;Iv.prototype.b=Iv;Iv.c={};c.btDispatcher=Iv;Iv.prototype.getNumManifolds=function(){return Ar(this.a)};Iv.prototype.getManifoldByIndexInternal=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return r(mq(b,a),Zv)};Iv.prototype.__destroy__=function(){Fk(this.a)};
//function $v(a,b,e,f,g){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);g&&"object"===typeof g&&(g=g.a);this.a=void 0===f?Vd(a,b,e):void 0===g?_emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_4(a,b,e,f):Ud(a,b,e,f,g);q($v)[this.a]=this}$v.prototype=Object.create(Nv.prototype);$v.prototype.constructor=$v;$v.prototype.b=$v;$v.c={};c.btGeneric6DofConstraint=$v;
//$v.prototype.setLinearLowerLimit=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);mt(b,a)};$v.prototype.setLinearUpperLimit=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Wj(b,a)};$v.prototype.setAngularLowerLimit=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ns(b,a)};$v.prototype.setAngularUpperLimit=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Pe(b,a)};$v.prototype.enableFeedback=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Hb(b,a)};
//$v.prototype.getBreakingImpulseThreshold=function(){return ir(this.a)};$v.prototype.setBreakingImpulseThreshold=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Pn(b,a)};$v.prototype.__destroy__=function(){Ts(this.a)};function aw(){throw"cannot construct a btStridingMeshInterface, no constructor in IDL";}aw.prototype=Object.create(p.prototype);aw.prototype.constructor=aw;aw.prototype.b=aw;aw.c={};c.btStridingMeshInterface=aw;aw.prototype.__destroy__=function(){vr(this.a)};
//function bw(){throw"cannot construct a btMotionState, no constructor in IDL";}bw.prototype=Object.create(p.prototype);bw.prototype.constructor=bw;bw.prototype.b=bw;bw.c={};c.btMotionState=bw;bw.prototype.getWorldTransform=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);zm(b,a)};bw.prototype.setWorldTransform=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);vd(b,a)};bw.prototype.__destroy__=function(){eq(this.a)};
//function cw(){throw"cannot construct a ConvexResultCallback, no constructor in IDL";}cw.prototype=Object.create(p.prototype);cw.prototype.constructor=cw;cw.prototype.b=cw;cw.c={};c.ConvexResultCallback=cw;cw.prototype.hasHit=function(){return!!rf(this.a)};cw.prototype.get_m_collisionFilterGroup=function(){return Wk(this.a)};cw.prototype.set_m_collisionFilterGroup=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);wn(b,a)};cw.prototype.get_m_collisionFilterMask=function(){return zp(this.a)};
//cw.prototype.set_m_collisionFilterMask=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);vs(b,a)};cw.prototype.get_m_closestHitFraction=function(){return no(this.a)};cw.prototype.set_m_closestHitFraction=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);wp(b,a)};cw.prototype.__destroy__=function(){Gi(this.a)};function dw(){throw"cannot construct a ContactResultCallback, no constructor in IDL";}dw.prototype=Object.create(p.prototype);dw.prototype.constructor=dw;dw.prototype.b=dw;
//dw.c={};c.ContactResultCallback=dw;dw.prototype.addSingleResult=function(a,b,e,f,g,h,k){var m=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);g&&"object"===typeof g&&(g=g.a);h&&"object"===typeof h&&(h=h.a);k&&"object"===typeof k&&(k=k.a);return Bd(m,a,b,e,f,g,h,k)};dw.prototype.__destroy__=function(){Ur(this.a)};function ew(){throw"cannot construct a btSoftBodySolver, no constructor in IDL";}ew.prototype=Object.create(p.prototype);
//ew.prototype.constructor=ew;ew.prototype.b=ew;ew.c={};c.btSoftBodySolver=ew;ew.prototype.__destroy__=function(){qq(this.a)};function D(){this.a=Hg();q(D)[this.a]=this}D.prototype=Object.create(w.prototype);D.prototype.constructor=D;D.prototype.b=D;D.c={};c.btGhostObject=D;D.prototype.getNumOverlappingObjects=function(){return Gq(this.a)};D.prototype.getOverlappingObject=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return r(iu(b,a),w)};
//D.prototype.setAnisotropicFriction=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);ip(e,a,b)};D.prototype.getCollisionShape=function(){return r(qn(this.a),u)};D.prototype.setContactProcessingThreshold=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Xh(b,a)};D.prototype.setActivationState=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Kr(b,a)};
//D.prototype.forceActivationState=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Sn(b,a)};D.prototype.activate=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);void 0===a?op(b):yn(b,a)};D.prototype.isActive=function(){return!!Yt(this.a)};D.prototype.isKinematicObject=function(){return!!Vc(this.a)};D.prototype.setRestitution=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Rm(b,a)};D.prototype.setFriction=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Rf(b,a)};
//D.prototype.setRollingFriction=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);nk(b,a)};D.prototype.getWorldTransform=function(){return r(Xp(this.a),y)};D.prototype.getCollisionFlags=function(){return Zm(this.a)};D.prototype.setCollisionFlags=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);qj(b,a)};D.prototype.setWorldTransform=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Xf(b,a)};
//D.prototype.setCollisionShape=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Zq(b,a)};D.prototype.setCcdMotionThreshold=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);On(b,a)};D.prototype.setCcdSweptSphereRadius=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);xq(b,a)};D.prototype.getUserIndex=function(){return pm(this.a)};D.prototype.setUserIndex=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Om(b,a)};
//D.prototype.getUserPointer=function(){return r(Og(this.a),Lv)};D.prototype.setUserPointer=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);is(b,a)};D.prototype.__destroy__=function(){Ib(this.a)};function fw(){throw"cannot construct a btMatrix3x3, no constructor in IDL";}fw.prototype=Object.create(p.prototype);fw.prototype.constructor=fw;fw.prototype.b=fw;fw.c={};c.btMatrix3x3=fw;
//fw.prototype.setEulerZYX=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);Zi(f,a,b,e)};fw.prototype.getRotation=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);rj(b,a)};fw.prototype.getRow=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return r(mo(b,a),B)};fw.prototype.__destroy__=function(){of(this.a)};function t(){throw"cannot construct a btDispatcherInfo, no constructor in IDL";}t.prototype=Object.create(p.prototype);
//t.prototype.constructor=t;t.prototype.b=t;t.c={};c.btDispatcherInfo=t;t.prototype.get_m_timeStep=function(){return aq(this.a)};t.prototype.set_m_timeStep=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Lo(b,a)};t.prototype.get_m_stepCount=function(){return xe(this.a)};t.prototype.set_m_stepCount=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ai(b,a)};t.prototype.get_m_dispatchFunc=function(){return po(this.a)};
//t.prototype.set_m_dispatchFunc=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);td(b,a)};t.prototype.get_m_timeOfImpact=function(){return cc(this.a)};t.prototype.set_m_timeOfImpact=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);fd(b,a)};t.prototype.get_m_useContinuous=function(){return!!Nr(this.a)};t.prototype.set_m_useContinuous=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Mb(b,a)};t.prototype.get_m_enableSatConvex=function(){return!!Ks(this.a)};
//t.prototype.set_m_enableSatConvex=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);xi(b,a)};t.prototype.get_m_enableSPU=function(){return!!yu(this.a)};t.prototype.set_m_enableSPU=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ef(b,a)};t.prototype.get_m_useEpa=function(){return!!We(this.a)};t.prototype.set_m_useEpa=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Qq(b,a)};t.prototype.get_m_allowedCcdPenetration=function(){return fc(this.a)};
//t.prototype.set_m_allowedCcdPenetration=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);$q(b,a)};t.prototype.get_m_useConvexConservativeDistanceUtil=function(){return!!Vr(this.a)};t.prototype.set_m_useConvexConservativeDistanceUtil=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Fe(b,a)};t.prototype.get_m_convexConservativeDistanceThreshold=function(){return aj(this.a)};
//t.prototype.set_m_convexConservativeDistanceThreshold=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);uk(b,a)};t.prototype.__destroy__=function(){Pp(this.a)};function gw(){throw"cannot construct a Material, no constructor in IDL";}gw.prototype=Object.create(p.prototype);gw.prototype.constructor=gw;gw.prototype.b=gw;gw.c={};c.Material=gw;gw.prototype.get_m_kLST=function(){return et(this.a)};gw.prototype.set_m_kLST=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Lr(b,a)};
//gw.prototype.get_m_kAST=function(){return jh(this.a)};gw.prototype.set_m_kAST=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);mk(b,a)};gw.prototype.get_m_kVST=function(){return mm(this.a)};gw.prototype.set_m_kVST=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Jr(b,a)};gw.prototype.get_m_flags=function(){return cn(this.a)};gw.prototype.set_m_flags=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ei(b,a)};gw.prototype.__destroy__=function(){nc(this.a)};
//function E(){throw"cannot construct a btWheelInfoConstructionInfo, no constructor in IDL";}E.prototype=Object.create(p.prototype);E.prototype.constructor=E;E.prototype.b=E;E.c={};c.btWheelInfoConstructionInfo=E;E.prototype.get_m_chassisConnectionCS=function(){return r(jl(this.a),B)};E.prototype.set_m_chassisConnectionCS=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Bl(b,a)};E.prototype.get_m_wheelDirectionCS=function(){return r(Et(this.a),B)};
//E.prototype.set_m_wheelDirectionCS=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);km(b,a)};E.prototype.get_m_wheelAxleCS=function(){return r(Wu(this.a),B)};E.prototype.set_m_wheelAxleCS=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);lm(b,a)};E.prototype.get_m_suspensionRestLength=function(){return Id(this.a)};E.prototype.set_m_suspensionRestLength=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Zt(b,a)};E.prototype.get_m_maxSuspensionTravelCm=function(){return Ns(this.a)};
//E.prototype.set_m_maxSuspensionTravelCm=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);hl(b,a)};E.prototype.get_m_wheelRadius=function(){return ov(this.a)};E.prototype.set_m_wheelRadius=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Vl(b,a)};E.prototype.get_m_suspensionStiffness=function(){return Ue(this.a)};E.prototype.set_m_suspensionStiffness=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);qe(b,a)};E.prototype.get_m_wheelsDampingCompression=function(){return ff(this.a)};
//E.prototype.set_m_wheelsDampingCompression=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);bn(b,a)};E.prototype.get_m_wheelsDampingRelaxation=function(){return Pr(this.a)};E.prototype.set_m_wheelsDampingRelaxation=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Qb(b,a)};E.prototype.get_m_frictionSlip=function(){return np(this.a)};E.prototype.set_m_frictionSlip=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Yq(b,a)};E.prototype.get_m_maxSuspensionForce=function(){return ed(this.a)};
//E.prototype.set_m_maxSuspensionForce=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Hr(b,a)};E.prototype.get_m_bIsFrontWheel=function(){return!!zj(this.a)};E.prototype.set_m_bIsFrontWheel=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Vp(b,a)};E.prototype.__destroy__=function(){Xc(this.a)};function hw(a,b){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);this.a=void 0===b?he(a):ge(a,b);q(hw)[this.a]=this}hw.prototype=Object.create(Yv.prototype);
//hw.prototype.constructor=hw;hw.prototype.b=hw;hw.c={};c.btConvexTriangleMeshShape=hw;hw.prototype.setLocalScaling=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);kg(b,a)};hw.prototype.calculateLocalInertia=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);Up(e,a,b)};hw.prototype.setMargin=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Go(b,a)};hw.prototype.getMargin=function(){return pq(this.a)};hw.prototype.__destroy__=function(){Im(this.a)};
//function Kv(){throw"cannot construct a btBroadphaseInterface, no constructor in IDL";}Kv.prototype=Object.create(p.prototype);Kv.prototype.constructor=Kv;Kv.prototype.b=Kv;Kv.c={};c.btBroadphaseInterface=Kv;Kv.prototype.__destroy__=function(){Uo(this.a)};function F(a,b,e,f){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);this.a=void 0===f?vp(a,b,e):Km(a,b,e,f);q(F)[this.a]=this}F.prototype=Object.create(p.prototype);
//F.prototype.constructor=F;F.prototype.b=F;F.c={};c.btRigidBodyConstructionInfo=F;F.prototype.get_m_linearDamping=function(){return yr(this.a)};F.prototype.set_m_linearDamping=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);yk(b,a)};F.prototype.get_m_angularDamping=function(){return zc(this.a)};F.prototype.set_m_angularDamping=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ye(b,a)};F.prototype.get_m_friction=function(){return Ae(this.a)};
//F.prototype.set_m_friction=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Oo(b,a)};F.prototype.get_m_rollingFriction=function(){return qo(this.a)};F.prototype.set_m_rollingFriction=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Mm(b,a)};F.prototype.get_m_restitution=function(){return ic(this.a)};F.prototype.set_m_restitution=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Cd(b,a)};F.prototype.get_m_linearSleepingThreshold=function(){return Er(this.a)};
//F.prototype.set_m_linearSleepingThreshold=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Sr(b,a)};F.prototype.get_m_angularSleepingThreshold=function(){return Lp(this.a)};F.prototype.set_m_angularSleepingThreshold=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Se(b,a)};F.prototype.get_m_additionalDamping=function(){return!!yj(this.a)};F.prototype.set_m_additionalDamping=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Cn(b,a)};
//F.prototype.get_m_additionalDampingFactor=function(){return rp(this.a)};F.prototype.set_m_additionalDampingFactor=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Ki(b,a)};F.prototype.get_m_additionalLinearDampingThresholdSqr=function(){return fh(this.a)};F.prototype.set_m_additionalLinearDampingThresholdSqr=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);eh(b,a)};F.prototype.get_m_additionalAngularDampingThresholdSqr=function(){return Gp(this.a)};
//F.prototype.set_m_additionalAngularDampingThresholdSqr=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);el(b,a)};F.prototype.get_m_additionalAngularDampingFactor=function(){return Pi(this.a)};F.prototype.set_m_additionalAngularDampingFactor=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Jg(b,a)};F.prototype.__destroy__=function(){Hq(this.a)};function iw(){throw"cannot construct a btCollisionConfiguration, no constructor in IDL";}iw.prototype=Object.create(p.prototype);
//iw.prototype.constructor=iw;iw.prototype.b=iw;iw.c={};c.btCollisionConfiguration=iw;iw.prototype.__destroy__=function(){id(this.a)};function Zv(){this.a=yp();q(Zv)[this.a]=this}Zv.prototype=Object.create(p.prototype);Zv.prototype.constructor=Zv;Zv.prototype.b=Zv;Zv.c={};c.btPersistentManifold=Zv;Zv.prototype.getBody0=function(){return r(ph(this.a),w)};Zv.prototype.getBody1=function(){return r(Qd(this.a),w)};Zv.prototype.getNumContacts=function(){return uj(this.a)};
//Zv.prototype.getContactPoint=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return r(un(b,a),G)};Zv.prototype.__destroy__=function(){lf(this.a)};function jw(a){a&&"object"===typeof a&&(a=a.a);this.a=void 0===a?qk():rk(a);q(jw)[this.a]=this}jw.prototype=Object.create(u.prototype);jw.prototype.constructor=jw;jw.prototype.b=jw;jw.c={};c.btCompoundShape=jw;jw.prototype.addChildShape=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);Ek(e,a,b)};
//jw.prototype.removeChildShapeByIndex=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ee(b,a)};jw.prototype.getNumChildShapes=function(){return Eg(this.a)};jw.prototype.getChildShape=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return r(Ee(b,a),u)};jw.prototype.setMargin=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Dg(b,a)};jw.prototype.getMargin=function(){return Vb(this.a)};
//jw.prototype.setLocalScaling=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);yl(b,a)};jw.prototype.calculateLocalInertia=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);ri(e,a,b)};jw.prototype.__destroy__=function(){Ni(this.a)};function H(a,b){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);this.a=ao(a,b);q(H)[this.a]=this}H.prototype=Object.create(cw.prototype);H.prototype.constructor=H;H.prototype.b=H;H.c={};
//c.ClosestConvexResultCallback=H;H.prototype.hasHit=function(){return!!cu(this.a)};H.prototype.get_m_convexFromWorld=function(){return r(wg(this.a),B)};H.prototype.set_m_convexFromWorld=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Mn(b,a)};H.prototype.get_m_convexToWorld=function(){return r(Wp(this.a),B)};H.prototype.set_m_convexToWorld=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Lq(b,a)};H.prototype.get_m_hitNormalWorld=function(){return r(il(this.a),B)};
//H.prototype.set_m_hitNormalWorld=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Rc(b,a)};H.prototype.get_m_hitPointWorld=function(){return r(Ro(this.a),B)};H.prototype.set_m_hitPointWorld=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ie(b,a)};H.prototype.get_m_collisionFilterGroup=function(){return Gl(this.a)};H.prototype.set_m_collisionFilterGroup=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);zl(b,a)};H.prototype.get_m_collisionFilterMask=function(){return Zl(this.a)};
//H.prototype.set_m_collisionFilterMask=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);kr(b,a)};H.prototype.get_m_closestHitFraction=function(){return Xi(this.a)};H.prototype.set_m_closestHitFraction=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Os(b,a)};H.prototype.__destroy__=function(){Wl(this.a)};function kw(){throw"cannot construct a tMaterialArray, no constructor in IDL";}kw.prototype=Object.create(p.prototype);kw.prototype.constructor=kw;kw.prototype.b=kw;kw.c={};
//c.tMaterialArray=kw;kw.prototype.size=function(){return Yf(this.a)};kw.prototype.at=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return r(ev(b,a),gw)};kw.prototype.__destroy__=function(){dh(this.a)};function lw(a){a&&"object"===typeof a&&(a=a.a);this.a=Il(a);q(lw)[this.a]=this}lw.prototype=Object.create(Vv.prototype);lw.prototype.constructor=lw;lw.prototype.b=lw;lw.c={};c.btDefaultVehicleRaycaster=lw;
//lw.prototype.castRay=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);Ls(f,a,b,e)};lw.prototype.__destroy__=function(){zk(this.a)};function mw(){this.a=pp();q(mw)[this.a]=this}mw.prototype=Object.create(p.prototype);mw.prototype.constructor=mw;mw.prototype.b=mw;mw.c={};c.btConstraintSetting=mw;mw.prototype.get_m_tau=function(){return io(this.a)};
//mw.prototype.set_m_tau=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Gf(b,a)};mw.prototype.get_m_damping=function(){return Qh(this.a)};mw.prototype.set_m_damping=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Af(b,a)};mw.prototype.get_m_impulseClamp=function(){return mf(this.a)};mw.prototype.set_m_impulseClamp=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);dq(b,a)};mw.prototype.__destroy__=function(){kh(this.a)};
//function nw(){throw"cannot construct a LocalShapeInfo, no constructor in IDL";}nw.prototype=Object.create(p.prototype);nw.prototype.constructor=nw;nw.prototype.b=nw;nw.c={};c.LocalShapeInfo=nw;nw.prototype.get_m_shapePart=function(){return Wd(this.a)};nw.prototype.set_m_shapePart=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Ce(b,a)};nw.prototype.get_m_triangleIndex=function(){return Uq(this.a)};
//nw.prototype.set_m_triangleIndex=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ym(b,a)};nw.prototype.__destroy__=function(){wd(this.a)};function I(a){a&&"object"===typeof a&&(a=a.a);this.a=$r(a);q(I)[this.a]=this}I.prototype=Object.create(w.prototype);I.prototype.constructor=I;I.prototype.b=I;I.c={};c.btRigidBody=I;I.prototype.getCenterOfMassTransform=function(){return r(Tc(this.a),y)};I.prototype.setCenterOfMassTransform=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ep(b,a)};
//I.prototype.setSleepingThresholds=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);pr(e,a,b)};I.prototype.setDamping=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);oj(e,a,b)};I.prototype.setMassProps=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);Vm(e,a,b)};I.prototype.setLinearFactor=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);De(b,a)};
//I.prototype.applyTorque=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);cs(b,a)};I.prototype.applyLocalTorque=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Zj(b,a)};I.prototype.applyForce=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);Ef(e,a,b)};I.prototype.applyCentralForce=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Rk(b,a)};
//I.prototype.applyCentralLocalForce=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Bs(b,a)};I.prototype.applyTorqueImpulse=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ou(b,a)};I.prototype.applyImpulse=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);Ij(e,a,b)};I.prototype.applyCentralImpulse=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Bc(b,a)};I.prototype.updateInertiaTensor=function(){Tr(this.a)};
//I.prototype.getLinearVelocity=function(){return r(Hj(this.a),B)};I.prototype.getAngularVelocity=function(){return r(At(this.a),B)};I.prototype.setLinearVelocity=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Dt(b,a)};I.prototype.setAngularVelocity=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Nj(b,a)};I.prototype.getMotionState=function(){return r(Yr(this.a),bw)};I.prototype.setMotionState=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ej(b,a)};
//I.prototype.setAngularFactor=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);um(b,a)};I.prototype.upcast=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return r(lg(b,a),I)};I.prototype.setAnisotropicFriction=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);sp(e,a,b)};I.prototype.getCollisionShape=function(){return r(tt(this.a),u)};I.prototype.setContactProcessingThreshold=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Gj(b,a)};
//I.prototype.setActivationState=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);au(b,a)};I.prototype.forceActivationState=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Fu(b,a)};I.prototype.activate=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);void 0===a?Zd(b):Fr(b,a)};I.prototype.isActive=function(){return!!li(this.a)};I.prototype.isKinematicObject=function(){return!!Ad(this.a)};
//I.prototype.setRestitution=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Zu(b,a)};I.prototype.setFriction=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Vf(b,a)};I.prototype.setRollingFriction=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ar(b,a)};I.prototype.getWorldTransform=function(){return r(Jq(this.a),y)};I.prototype.getCollisionFlags=function(){return Vi(this.a)};I.prototype.setCollisionFlags=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);qu(b,a)};
//I.prototype.setWorldTransform=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Lj(b,a)};I.prototype.setCollisionShape=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ti(b,a)};I.prototype.setCcdMotionThreshold=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Cf(b,a)};I.prototype.setCcdSweptSphereRadius=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Tf(b,a)};I.prototype.getUserIndex=function(){return xr(this.a)};
//I.prototype.setUserIndex=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ih(b,a)};I.prototype.getUserPointer=function(){return r(bj(this.a),Lv)};I.prototype.setUserPointer=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Yb(b,a)};I.prototype.__destroy__=function(){su(this.a)};function ow(){this.a=wj();q(ow)[this.a]=this}ow.prototype=Object.create(p.prototype);ow.prototype.constructor=ow;ow.prototype.b=ow;ow.c={};c.btDbvtBroadphase=ow;ow.prototype.__destroy__=function(){jt(this.a)};
//function pw(){this.a=Dn();q(pw)[this.a]=this}pw.prototype=Object.create(ew.prototype);pw.prototype.constructor=pw;pw.prototype.b=pw;pw.c={};c.btDefaultSoftBodySolver=pw;pw.prototype.__destroy__=function(){Ht(this.a)};function qw(a){a&&"object"===typeof a&&(a=a.a);this.a=gd(a);q(qw)[this.a]=this}qw.prototype=Object.create(Iv.prototype);qw.prototype.constructor=qw;qw.prototype.b=qw;qw.c={};c.btCollisionDispatcher=qw;qw.prototype.getNumManifolds=function(){return tg(this.a)};
//qw.prototype.getManifoldByIndexInternal=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return r(Of(b,a),Zv)};qw.prototype.__destroy__=function(){Ac(this.a)};function rw(a,b,e,f,g){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);g&&"object"===typeof g&&(g=g.a);this.a=void 0===e?Xg(a,b):void 0===f?Yg(a,b,e):void 0===g?ah(a,b,e,f):bh(a,b,e,f,g);q(rw)[this.a]=this}rw.prototype=Object.create(p.prototype);
//rw.prototype.constructor=rw;rw.prototype.b=rw;rw.c={};c.btAxisSweep3=rw;rw.prototype.__destroy__=function(){Ag(this.a)};function Lv(){throw"cannot construct a VoidPtr, no constructor in IDL";}Lv.prototype=Object.create(p.prototype);Lv.prototype.constructor=Lv;Lv.prototype.b=Lv;Lv.c={};c.VoidPtr=Lv;Lv.prototype.__destroy__=function(){Wn(this.a)};function J(){this.a=jn();q(J)[this.a]=this}J.prototype=Object.create(p.prototype);J.prototype.constructor=J;J.prototype.b=J;J.c={};c.btSoftBodyWorldInfo=J;
//J.prototype.get_air_density=function(){return Rt(this.a)};J.prototype.set_air_density=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);it(b,a)};J.prototype.get_water_density=function(){return oh(this.a)};J.prototype.set_water_density=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);hc(b,a)};J.prototype.get_water_offset=function(){return iv(this.a)};J.prototype.set_water_offset=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);To(b,a)};J.prototype.get_m_maxDisplacement=function(){return cl(this.a)};
//J.prototype.set_m_maxDisplacement=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Ot(b,a)};J.prototype.get_water_normal=function(){return r(lr(this.a),B)};J.prototype.set_water_normal=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);lu(b,a)};J.prototype.get_m_broadphase=function(){return r(Nd(this.a),Kv)};J.prototype.set_m_broadphase=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Fg(b,a)};J.prototype.get_m_dispatcher=function(){return r(ik(this.a),Iv)};
//J.prototype.set_m_dispatcher=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);tr(b,a)};J.prototype.get_m_gravity=function(){return r(Ir(this.a),B)};J.prototype.set_m_gravity=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Sk(b,a)};J.prototype.__destroy__=function(){oq(this.a)};
//function K(a,b,e,f){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);this.a=void 0===e?zh(a,b):void 0===f?_emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_3(a,b,e):Dh(a,b,e,f);q(K)[this.a]=this}K.prototype=Object.create(Nv.prototype);K.prototype.constructor=K;K.prototype.b=K;K.c={};c.btConeTwistConstraint=K;
//K.prototype.setLimit=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);nr(e,a,b)};K.prototype.setAngularOnly=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Sm(b,a)};K.prototype.setDamping=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Gd(b,a)};K.prototype.enableMotor=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);yi(b,a)};K.prototype.setMaxMotorImpulse=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);tj(b,a)};
//K.prototype.setMaxMotorImpulseNormalized=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);jg(b,a)};K.prototype.setMotorTarget=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Ln(b,a)};K.prototype.setMotorTargetInConstraintSpace=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Jo(b,a)};K.prototype.enableFeedback=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);sh(b,a)};K.prototype.getBreakingImpulseThreshold=function(){return ms(this.a)};
//K.prototype.setBreakingImpulseThreshold=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Al(b,a)};K.prototype.__destroy__=function(){Yo(this.a)};
//function sw(a,b,e,f,g,h,k){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);g&&"object"===typeof g&&(g=g.a);h&&"object"===typeof h&&(h=h.a);k&&"object"===typeof k&&(k=k.a);this.a=void 0===e?oc(a,b):void 0===f?dl(a,b,e):void 0===g?Sg(a,b,e,f):void 0===h?bl(a,b,e,f,g):void 0===k?Zk(a,b,e,f,g,h):$k(a,b,e,f,g,h,k);q(sw)[this.a]=this}sw.prototype=Object.create(Nv.prototype);sw.prototype.constructor=sw;sw.prototype.b=sw;
//sw.c={};c.btHingeConstraint=sw;sw.prototype.setLimit=function(a,b,e,f,g){var h=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);g&&"object"===typeof g&&(g=g.a);void 0===g?gn(h,a,b,e,f):hn(h,a,b,e,f,g)};sw.prototype.enableAngularMotor=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);Fj(f,a,b,e)};
//sw.prototype.setAngularOnly=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);bq(b,a)};sw.prototype.enableMotor=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Ru(b,a)};sw.prototype.setMaxMotorImpulse=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Or(b,a)};sw.prototype.setMotorTarget=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);Oi(e,a,b)};
//sw.prototype.enableFeedback=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);kd(b,a)};sw.prototype.getBreakingImpulseThreshold=function(){return uq(this.a)};sw.prototype.setBreakingImpulseThreshold=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Uk(b,a)};sw.prototype.__destroy__=function(){ft(this.a)};function tw(a,b){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);this.a=xm(a,b);q(tw)[this.a]=this}tw.prototype=Object.create(Tv.prototype);
//tw.prototype.constructor=tw;tw.prototype.b=tw;tw.c={};c.btConeShapeZ=tw;tw.prototype.setLocalScaling=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);hk(b,a)};tw.prototype.calculateLocalInertia=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);Ff(e,a,b)};tw.prototype.__destroy__=function(){Uu(this.a)};function uw(a,b){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);this.a=qh(a,b);q(uw)[this.a]=this}uw.prototype=Object.create(Tv.prototype);
//uw.prototype.constructor=uw;uw.prototype.b=uw;uw.c={};c.btConeShapeX=uw;uw.prototype.setLocalScaling=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Lh(b,a)};uw.prototype.calculateLocalInertia=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);Dq(e,a,b)};uw.prototype.__destroy__=function(){vi(this.a)};function vw(a,b){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);this.a=void 0===a?ot():void 0===b?pt(a):qt(a,b);q(vw)[this.a]=this}
//vw.prototype=Object.create(aw.prototype);vw.prototype.constructor=vw;vw.prototype.b=vw;vw.c={};c.btTriangleMesh=vw;vw.prototype.addTriangle=function(a,b,e,f){var g=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);void 0===f?hu(g,a,b,e):ju(g,a,b,e,f)};vw.prototype.__destroy__=function(){wo(this.a)};function ww(){this.a=Oh();q(ww)[this.a]=this}ww.prototype=Object.create(u.prototype);ww.prototype.constructor=ww;
//ww.prototype.b=ww;ww.c={};c.btConvexHullShape=ww;ww.prototype.addPoint=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);void 0===b?Ys(e,a):js(e,a,b)};ww.prototype.setMargin=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Df(b,a)};ww.prototype.getMargin=function(){return Cc(this.a)};ww.prototype.setLocalScaling=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ur(b,a)};
//ww.prototype.calculateLocalInertia=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);Hf(e,a,b)};ww.prototype.__destroy__=function(){bg(this.a)};function L(){this.a=Ft();q(L)[this.a]=this}L.prototype=Object.create(p.prototype);L.prototype.constructor=L;L.prototype.b=L;L.c={};c.btVehicleTuning=L;L.prototype.get_m_suspensionStiffness=function(){return gs(this.a)};
//L.prototype.set_m_suspensionStiffness=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);dr(b,a)};L.prototype.get_m_suspensionCompression=function(){return Gk(this.a)};L.prototype.set_m_suspensionCompression=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);cq(b,a)};L.prototype.get_m_suspensionDamping=function(){return ck(this.a)};L.prototype.set_m_suspensionDamping=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Fo(b,a)};L.prototype.get_m_maxSuspensionTravelCm=function(){return Xs(this.a)};
//L.prototype.set_m_maxSuspensionTravelCm=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);lk(b,a)};L.prototype.get_m_frictionSlip=function(){return sv(this.a)};L.prototype.set_m_frictionSlip=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Rb(b,a)};L.prototype.get_m_maxSuspensionForce=function(){return Rq(this.a)};L.prototype.set_m_maxSuspensionForce=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);bk(b,a)};
//function xw(){throw"cannot construct a btCollisionObjectWrapper, no constructor in IDL";}xw.prototype=Object.create(p.prototype);xw.prototype.constructor=xw;xw.prototype.b=xw;xw.c={};c.btCollisionObjectWrapper=xw;function yw(a,b){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);this.a=void 0===a?fi():void 0===b?gi(a):di(a,b);q(yw)[this.a]=this}yw.prototype=Object.create(bw.prototype);yw.prototype.constructor=yw;yw.prototype.b=yw;yw.c={};c.btDefaultMotionState=yw;
//yw.prototype.getWorldTransform=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Dc(b,a)};yw.prototype.setWorldTransform=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Ol(b,a)};yw.prototype.get_m_graphicsWorldTrans=function(){return r(Ed(this.a),y)};yw.prototype.set_m_graphicsWorldTrans=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Qm(b,a)};yw.prototype.__destroy__=function(){we(this.a)};function M(a){a&&"object"===typeof a&&(a=a.a);this.a=lh(a);q(M)[this.a]=this}
//M.prototype=Object.create(p.prototype);M.prototype.constructor=M;M.prototype.b=M;M.c={};c.btWheelInfo=M;M.prototype.getSuspensionRestLength=function(){return Pm(this.a)};M.prototype.updateWheel=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);Vo(e,a,b)};M.prototype.get_m_suspensionStiffness=function(){return rc(this.a)};M.prototype.set_m_suspensionStiffness=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);kq(b,a)};M.prototype.get_m_frictionSlip=function(){return gk(this.a)};
//M.prototype.set_m_frictionSlip=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);rt(b,a)};M.prototype.get_m_engineForce=function(){return Je(this.a)};M.prototype.set_m_engineForce=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);sj(b,a)};M.prototype.get_m_rollInfluence=function(){return Yd(this.a)};M.prototype.set_m_rollInfluence=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Nn(b,a)};M.prototype.get_m_suspensionRestLength1=function(){return qc(this.a)};
//M.prototype.set_m_suspensionRestLength1=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);tu(b,a)};M.prototype.get_m_wheelsRadius=function(){return Ct(this.a)};M.prototype.set_m_wheelsRadius=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);cf(b,a)};M.prototype.get_m_wheelsDampingCompression=function(){return bu(this.a)};M.prototype.set_m_wheelsDampingCompression=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Bi(b,a)};M.prototype.get_m_wheelsDampingRelaxation=function(){return vt(this.a)};
//M.prototype.set_m_wheelsDampingRelaxation=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Kt(b,a)};M.prototype.get_m_steering=function(){return ru(this.a)};M.prototype.set_m_steering=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);rq(b,a)};M.prototype.get_m_maxSuspensionForce=function(){return fu(this.a)};M.prototype.set_m_maxSuspensionForce=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Ph(b,a)};M.prototype.get_m_maxSuspensionTravelCm=function(){return fm(this.a)};
//M.prototype.set_m_maxSuspensionTravelCm=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ln(b,a)};M.prototype.get_m_wheelsSuspensionForce=function(){return ul(this.a)};M.prototype.set_m_wheelsSuspensionForce=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);mn(b,a)};M.prototype.get_m_bIsFrontWheel=function(){return!!tn(this.a)};M.prototype.set_m_bIsFrontWheel=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Bf(b,a)};
//M.prototype.get_m_raycastInfo=function(){return r(kv(this.a),N)};M.prototype.set_m_raycastInfo=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);hg(b,a)};M.prototype.get_m_chassisConnectionPointCS=function(){return r(gp(this.a),B)};M.prototype.set_m_chassisConnectionPointCS=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);zi(b,a)};M.prototype.get_m_worldTransform=function(){return r(Es(this.a),y)};
//M.prototype.set_m_worldTransform=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Lk(b,a)};M.prototype.get_m_wheelDirectionCS=function(){return r(an(this.a),B)};M.prototype.set_m_wheelDirectionCS=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);rv(b,a)};M.prototype.get_m_wheelAxleCS=function(){return r(Cu(this.a),B)};M.prototype.set_m_wheelAxleCS=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Iu(b,a)};M.prototype.get_m_rotation=function(){return Ut(this.a)};
//M.prototype.set_m_rotation=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);sl(b,a)};M.prototype.get_m_deltaRotation=function(){return Mp(this.a)};M.prototype.set_m_deltaRotation=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);rm(b,a)};M.prototype.get_m_brake=function(){return Kp(this.a)};M.prototype.set_m_brake=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Kk(b,a)};M.prototype.get_m_clippedInvContactDotSuspension=function(){return Lt(this.a)};
//M.prototype.set_m_clippedInvContactDotSuspension=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);qp(b,a)};M.prototype.get_m_suspensionRelativeVelocity=function(){return Bj(this.a)};M.prototype.set_m_suspensionRelativeVelocity=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);zs(b,a)};M.prototype.get_m_skidInfo=function(){return El(this.a)};M.prototype.set_m_skidInfo=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Wt(b,a)};M.prototype.__destroy__=function(){Qg(this.a)};
//function O(a,b,e,f){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);this.a=void 0===a?$u():void 0===b?_emscripten_bind_btVector4_btVector4_1(a):void 0===e?_emscripten_bind_btVector4_btVector4_2(a,b):void 0===f?_emscripten_bind_btVector4_btVector4_3(a,b,e):bv(a,b,e,f);q(O)[this.a]=this}O.prototype=Object.create(B.prototype);O.prototype.constructor=O;O.prototype.b=O;O.c={};c.btVector4=O;O.prototype.w=function(){return Ds(this.a)};
//O.prototype.setValue=function(a,b,e,f){var g=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);$d(g,a,b,e,f)};O.prototype.length=O.prototype.length=function(){return Nm(this.a)};O.prototype.x=function(){return av(this.a)};O.prototype.y=function(){return Vn(this.a)};O.prototype.z=function(){return er(this.a)};O.prototype.setX=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);eg(b,a)};
//O.prototype.setY=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);sc(b,a)};O.prototype.setZ=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ng(b,a)};O.prototype.normalize=function(){rs(this.a)};O.prototype.rotate=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);return r(Dd(e,a,b),B)};O.prototype.dot=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return hj(b,a)};
//O.prototype.op_mul=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return r(Rh(b,a),B)};O.prototype.op_add=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return r(Pg(b,a),B)};O.prototype.op_sub=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return r(gv(b,a),B)};O.prototype.__destroy__=function(){Bp(this.a)};function zw(){this.a=es();q(zw)[this.a]=this}zw.prototype=Object.create(p.prototype);zw.prototype.constructor=zw;zw.prototype.b=zw;zw.c={};
//c.btDefaultCollisionConstructionInfo=zw;zw.prototype.__destroy__=function(){vq(this.a)};function Aw(){throw"cannot construct a btVehicleRaycasterResult, no constructor in IDL";}Aw.prototype=Object.create(p.prototype);Aw.prototype.constructor=Aw;Aw.prototype.b=Aw;Aw.c={};c.btVehicleRaycasterResult=Aw;Aw.prototype.get_m_hitPointInWorld=function(){return r(Ai(this.a),B)};Aw.prototype.set_m_hitPointInWorld=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);hm(b,a)};
//Aw.prototype.get_m_hitNormalInWorld=function(){return r(Xb(this.a),B)};Aw.prototype.set_m_hitNormalInWorld=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Bm(b,a)};Aw.prototype.get_m_distFraction=function(){return ps(this.a)};Aw.prototype.set_m_distFraction=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Gh(b,a)};Aw.prototype.__destroy__=function(){yf(this.a)};function Bw(){throw"cannot construct a btConstraintSolver, no constructor in IDL";}Bw.prototype=Object.create(p.prototype);
//Bw.prototype.constructor=Bw;Bw.prototype.b=Bw;Bw.c={};c.btConstraintSolver=Bw;Bw.prototype.__destroy__=function(){jp(this.a)};function P(a,b,e){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);this.a=mi(a,b,e);q(P)[this.a]=this}P.prototype=Object.create(Uv.prototype);P.prototype.constructor=P;P.prototype.b=P;P.c={};c.btRaycastVehicle=P;
//P.prototype.applyEngineForce=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);yo(e,a,b)};P.prototype.setSteeringValue=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);Le(e,a,b)};P.prototype.getWheelTransformWS=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return r(dk(b,a),y)};
//P.prototype.updateWheelTransform=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);Gr(e,a,b)};P.prototype.addWheel=function(a,b,e,f,g,h,k){var m=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);g&&"object"===typeof g&&(g=g.a);h&&"object"===typeof h&&(h=h.a);k&&"object"===typeof k&&(k=k.a);return r(Mu(m,a,b,e,f,g,h,k),M)};P.prototype.getNumWheels=function(){return kk(this.a)};
//P.prototype.getRigidBody=function(){return r(eu(this.a),I)};P.prototype.getWheelInfo=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return r(hr(b,a),M)};P.prototype.setBrake=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);Ao(e,a,b)};P.prototype.setCoordinateSystem=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);gf(f,a,b,e)};P.prototype.getCurrentSpeedKmHour=function(){return Ie(this.a)};
//P.prototype.getChassisWorldTransform=function(){return r(Pk(this.a),y)};P.prototype.rayCast=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return Ld(b,a)};P.prototype.updateVehicle=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Do(b,a)};P.prototype.resetSuspension=function(){$s(this.a)};P.prototype.getSteeringValue=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return nv(b,a)};
//P.prototype.updateWheelTransformsWS=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);void 0===b?Jk(e,a):Pu(e,a,b)};P.prototype.setPitchControl=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);th(b,a)};P.prototype.updateSuspension=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);od(b,a)};P.prototype.updateFriction=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);zq(b,a)};P.prototype.getRightAxis=function(){return Ve(this.a)};
//P.prototype.getUpAxis=function(){return He(this.a)};P.prototype.getForwardAxis=function(){return zn(this.a)};P.prototype.getForwardVector=function(){return r(xs(this.a),B)};P.prototype.getUserConstraintType=function(){return Ss(this.a)};P.prototype.setUserConstraintType=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);vu(b,a)};P.prototype.setUserConstraintId=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Uj(b,a)};P.prototype.getUserConstraintId=function(){return en(this.a)};
//P.prototype.updateAction=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);fn(e,a,b)};P.prototype.__destroy__=function(){Ti(this.a)};function Cw(a){a&&"object"===typeof a&&(a=a.a);this.a=ll(a);q(Cw)[this.a]=this}Cw.prototype=Object.create(Xv.prototype);Cw.prototype.constructor=Cw;Cw.prototype.b=Cw;Cw.c={};c.btCylinderShapeX=Cw;Cw.prototype.setMargin=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);xg(b,a)};Cw.prototype.getMargin=function(){return nj(this.a)};
//Cw.prototype.setLocalScaling=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);vj(b,a)};Cw.prototype.calculateLocalInertia=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);us(e,a,b)};Cw.prototype.__destroy__=function(){Rr(this.a)};function Dw(a){a&&"object"===typeof a&&(a=a.a);this.a=ok(a);q(Dw)[this.a]=this}Dw.prototype=Object.create(Xv.prototype);Dw.prototype.constructor=Dw;Dw.prototype.b=Dw;Dw.c={};c.btCylinderShapeZ=Dw;
//Dw.prototype.setMargin=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Uf(b,a)};Dw.prototype.getMargin=function(){return bc(this.a)};Dw.prototype.setLocalScaling=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Su(b,a)};Dw.prototype.calculateLocalInertia=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);wm(e,a,b)};Dw.prototype.__destroy__=function(){nf(this.a)};function Ew(){this.a=Ll();q(Ew)[this.a]=this}Ew.prototype=Object.create(p.prototype);
//Ew.prototype.constructor=Ew;Ew.prototype.b=Ew;Ew.c={};c.btSequentialImpulseConstraintSolver=Ew;Ew.prototype.__destroy__=function(){Ri(this.a)};function N(){throw"cannot construct a RaycastInfo, no constructor in IDL";}N.prototype=Object.create(p.prototype);N.prototype.constructor=N;N.prototype.b=N;N.c={};c.RaycastInfo=N;N.prototype.get_m_contactNormalWS=function(){return r(nh(this.a),B)};N.prototype.set_m_contactNormalWS=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Xn(b,a)};
//N.prototype.get_m_contactPointWS=function(){return r(Jf(this.a),B)};N.prototype.set_m_contactPointWS=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);$n(b,a)};N.prototype.get_m_suspensionLength=function(){return Ym(this.a)};N.prototype.set_m_suspensionLength=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);lq(b,a)};N.prototype.get_m_hardPointWS=function(){return r(Xo(this.a),B)};N.prototype.set_m_hardPointWS=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Zf(b,a)};
//N.prototype.get_m_wheelDirectionWS=function(){return r(dp(this.a),B)};N.prototype.set_m_wheelDirectionWS=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Wb(b,a)};N.prototype.get_m_wheelAxleWS=function(){return r(xc(this.a),B)};N.prototype.set_m_wheelAxleWS=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Co(b,a)};N.prototype.get_m_isInContact=function(){return!!Dl(this.a)};N.prototype.set_m_isInContact=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Sd(b,a)};
//N.prototype.get_m_groundObject=function(){return Kj(this.a)};N.prototype.set_m_groundObject=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);xn(b,a)};N.prototype.__destroy__=function(){tm(this.a)};function Fw(){throw"cannot construct a tNodeArray, no constructor in IDL";}Fw.prototype=Object.create(p.prototype);Fw.prototype.constructor=Fw;Fw.prototype.b=Fw;Fw.c={};c.tNodeArray=Fw;Fw.prototype.size=function(){return be(this.a)};
//Fw.prototype.at=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return r(Ep(b,a),Node)};Fw.prototype.__destroy__=function(){Dj(this.a)};function Q(a,b,e,f){Dv();a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);"object"==typeof f&&(f=Gv(f));this.a=tp(a,b,e,f);q(Q)[this.a]=this}Q.prototype=Object.create(w.prototype);Q.prototype.constructor=Q;Q.prototype.b=Q;Q.c={};c.btSoftBody=Q;
//Q.prototype.checkLink=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);return!!vk(e,a,b)};Q.prototype.checkFace=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);return!!Is(f,a,b,e)};Q.prototype.appendMaterial=function(){return r(Nt(this.a),gw)};Q.prototype.appendNode=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);hf(e,a,b)};
//Q.prototype.appendLink=function(a,b,e,f){var g=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);Mh(g,a,b,e,f)};Q.prototype.appendFace=function(a,b,e,f){var g=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);fe(g,a,b,e,f)};
//Q.prototype.appendTetra=function(a,b,e,f,g){var h=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);g&&"object"===typeof g&&(g=g.a);ui(h,a,b,e,f,g)};Q.prototype.appendAnchor=function(a,b,e,f){var g=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);xd(g,a,b,e,f)};Q.prototype.getTotalMass=function(){return $i(this.a)};
//Q.prototype.setTotalMass=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);Pf(e,a,b)};Q.prototype.setMass=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);te(e,a,b)};Q.prototype.transform=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ni(b,a)};Q.prototype.translate=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);xh(b,a)};
//Q.prototype.rotate=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);pc(b,a)};Q.prototype.scale=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);nn(b,a)};Q.prototype.generateClusters=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);return void 0===b?Pl(e,a):Nl(e,a,b)};Q.prototype.upcast=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return r(qr(b,a),Q)};
//Q.prototype.setAnisotropicFriction=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);Wr(e,a,b)};Q.prototype.getCollisionShape=function(){return r(wk(this.a),u)};Q.prototype.setContactProcessingThreshold=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);co(b,a)};Q.prototype.setActivationState=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);wr(b,a)};
//Q.prototype.forceActivationState=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ij(b,a)};Q.prototype.activate=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);void 0===a?up(b):Xq(b,a)};Q.prototype.isActive=function(){return!!kp(this.a)};Q.prototype.isKinematicObject=function(){return!!Sc(this.a)};Q.prototype.setRestitution=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);St(b,a)};Q.prototype.setFriction=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);or(b,a)};
//Q.prototype.setRollingFriction=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);rg(b,a)};Q.prototype.getWorldTransform=function(){return r(vo(this.a),y)};Q.prototype.getCollisionFlags=function(){return Ok(this.a)};Q.prototype.setCollisionFlags=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Kf(b,a)};Q.prototype.setWorldTransform=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);fl(b,a)};
//Q.prototype.setCollisionShape=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);hp(b,a)};Q.prototype.setCcdMotionThreshold=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);mc(b,a)};Q.prototype.setCcdSweptSphereRadius=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);rh(b,a)};Q.prototype.getUserIndex=function(){return ro(this.a)};Q.prototype.setUserIndex=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);fp(b,a)};
//Q.prototype.getUserPointer=function(){return r(Ne(this.a),Lv)};Q.prototype.setUserPointer=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);se(b,a)};Q.prototype.get_m_cfg=function(){return r(Fn(this.a),R)};Q.prototype.set_m_cfg=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Jp(b,a)};Q.prototype.get_m_nodes=function(){return r(Cr(this.a),Fw)};Q.prototype.set_m_nodes=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ht(b,a)};
//Q.prototype.get_m_materials=function(){return r(gu(this.a),kw)};Q.prototype.set_m_materials=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);wf(b,a)};Q.prototype.__destroy__=function(){Dr(this.a)};
//function Gw(a,b,e,f,g,h,k,m,v){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);g&&"object"===typeof g&&(g=g.a);h&&"object"===typeof h&&(h=h.a);k&&"object"===typeof k&&(k=k.a);m&&"object"===typeof m&&(m=m.a);v&&"object"===typeof v&&(v=v.a);this.a=Wq(a,b,e,f,g,h,k,m,v);q(Gw)[this.a]=this}Gw.prototype=Object.create(Ov.prototype);Gw.prototype.constructor=Gw;Gw.prototype.b=Gw;Gw.c={};c.btHeightfieldTerrainShape=Gw;
//Gw.prototype.setMargin=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Fl(b,a)};Gw.prototype.getMargin=function(){return Fi(this.a)};Gw.prototype.setLocalScaling=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);md(b,a)};Gw.prototype.calculateLocalInertia=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);dj(e,a,b)};Gw.prototype.__destroy__=function(){em(this.a)};function R(){throw"cannot construct a Config, no constructor in IDL";}
//R.prototype=Object.create(p.prototype);R.prototype.constructor=R;R.prototype.b=R;R.c={};c.Config=R;R.prototype.get_kVCF=function(){return Te(this.a)};R.prototype.set_kVCF=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);nm(b,a)};R.prototype.get_kDP=function(){return Pj(this.a)};R.prototype.set_kDP=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Ws(b,a)};R.prototype.get_kDG=function(){return xk(this.a)};
//R.prototype.set_kDG=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);kn(b,a)};R.prototype.get_kLF=function(){return Th(this.a)};R.prototype.set_kLF=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Tt(b,a)};R.prototype.get_kPR=function(){return gq(this.a)};R.prototype.set_kPR=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);uf(b,a)};R.prototype.get_kVC=function(){return gm(this.a)};R.prototype.set_kVC=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);$e(b,a)};
//R.prototype.get_kDF=function(){return nu(this.a)};R.prototype.set_kDF=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Vq(b,a)};R.prototype.get_kMT=function(){return Dm(this.a)};R.prototype.set_kMT=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Mg(b,a)};R.prototype.get_kCHR=function(){return ue(this.a)};R.prototype.set_kCHR=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);uu(b,a)};R.prototype.get_kKHR=function(){return dt(this.a)};
//R.prototype.set_kKHR=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);qf(b,a)};R.prototype.get_kSHR=function(){return cj(this.a)};R.prototype.set_kSHR=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Ug(b,a)};R.prototype.get_kAHR=function(){return Sl(this.a)};R.prototype.set_kAHR=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Ei(b,a)};R.prototype.get_kSRHR_CL=function(){return Jb(this.a)};
//R.prototype.set_kSRHR_CL=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);sg(b,a)};R.prototype.get_kSKHR_CL=function(){return Js(this.a)};R.prototype.set_kSKHR_CL=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Yk(b,a)};R.prototype.get_kSSHR_CL=function(){return Io(this.a)};R.prototype.set_kSSHR_CL=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);dd(b,a)};R.prototype.get_kSR_SPLT_CL=function(){return Ke(this.a)};
//R.prototype.set_kSR_SPLT_CL=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Jc(b,a)};R.prototype.get_kSK_SPLT_CL=function(){return Ch(this.a)};R.prototype.set_kSK_SPLT_CL=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);kj(b,a)};R.prototype.get_kSS_SPLT_CL=function(){return Qr(this.a)};R.prototype.set_kSS_SPLT_CL=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Xt(b,a)};R.prototype.get_maxvolume=function(){return Mq(this.a)};
//R.prototype.set_maxvolume=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Mf(b,a)};R.prototype.get_timescale=function(){return Gm(this.a)};R.prototype.set_timescale=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Hh(b,a)};R.prototype.get_viterations=function(){return hi(this.a)};R.prototype.set_viterations=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);kt(b,a)};R.prototype.get_piterations=function(){return wh(this.a)};
//R.prototype.set_piterations=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);gh(b,a)};R.prototype.get_diterations=function(){return Lc(this.a)};R.prototype.set_diterations=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Rs(b,a)};R.prototype.get_citerations=function(){return on(this.a)};R.prototype.set_citerations=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Hs(b,a)};R.prototype.get_collisions=function(){return Rj(this.a)};
//R.prototype.set_collisions=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);pl(b,a)};R.prototype.__destroy__=function(){ak(this.a)};function Node(){throw"cannot construct a Node, no constructor in IDL";}Node.prototype=Object.create(p.prototype);Node.prototype.constructor=Node;Node.prototype.b=Node;Node.c={};c.Node=Node;Node.prototype.get_m_x=function(){return r(Bk(this.a),B)};Node.prototype.set_m_x=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);sq(b,a)};
//Node.prototype.get_m_n=function(){return r(Sj(this.a),B)};Node.prototype.set_m_n=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Ub(b,a)};Node.prototype.__destroy__=function(){zg(this.a)};function Hw(){this.a=Tn();q(Hw)[this.a]=this}Hw.prototype=Object.create(p.prototype);Hw.prototype.constructor=Hw;Hw.prototype.b=Hw;Hw.c={};c.btGhostPairCallback=Hw;Hw.prototype.__destroy__=function(){Iq(this.a)};function Iw(){throw"cannot construct a btOverlappingPairCallback, no constructor in IDL";}
//Iw.prototype=Object.create(p.prototype);Iw.prototype.constructor=Iw;Iw.prototype.b=Iw;Iw.c={};c.btOverlappingPairCallback=Iw;Iw.prototype.__destroy__=function(){Aj(this.a)};function S(a,b,e,f){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);this.a=void 0===f?Li(a,b,e):Ip(a,b,e,f);q(S)[this.a]=this}S.prototype=Object.create(Uv.prototype);S.prototype.constructor=S;S.prototype.b=S;S.c={};
//c.btKinematicCharacterController=S;S.prototype.setUpAxis=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);bd(b,a)};S.prototype.setWalkDirection=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Nb(b,a)};S.prototype.setVelocityForTimeInterval=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);ys(e,a,b)};S.prototype.warp=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);to(b,a)};
//S.prototype.preStep=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);xo(b,a)};S.prototype.playerStep=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);Op(e,a,b)};S.prototype.setFallSpeed=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);$t(b,a)};S.prototype.setJumpSpeed=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Bq(b,a)};S.prototype.setMaxJumpHeight=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);pv(b,a)};
//S.prototype.canJump=function(){return!!ii(this.a)};S.prototype.jump=function(){fg(this.a)};S.prototype.setGravity=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Td(b,a)};S.prototype.getGravity=function(){return ks(this.a)};S.prototype.setMaxSlope=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);jc(b,a)};S.prototype.getMaxSlope=function(){return Ku(this.a)};S.prototype.getGhostObject=function(){return r(Zr(this.a),U)};
//S.prototype.setUseGhostSweepTest=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);rd(b,a)};S.prototype.onGround=function(){return!!gr(this.a)};S.prototype.updateAction=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);ci(e,a,b)};S.prototype.__destroy__=function(){cv(this.a)};function Jw(){throw"cannot construct a btSoftBodyArray, no constructor in IDL";}Jw.prototype=Object.create(p.prototype);Jw.prototype.constructor=Jw;Jw.prototype.b=Jw;Jw.c={};
//c.btSoftBodyArray=Jw;Jw.prototype.size=function(){return Sp(this.a)};Jw.prototype.at=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return r(ji(b,a),Q)};Jw.prototype.__destroy__=function(){pk(this.a)};function Kw(a,b){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);this.a=tk(a,b);q(Kw)[this.a]=this}Kw.prototype=Object.create(Ov.prototype);Kw.prototype.constructor=Kw;Kw.prototype.b=Kw;Kw.c={};c.btStaticPlaneShape=Kw;
//Kw.prototype.setLocalScaling=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Tp(b,a)};Kw.prototype.calculateLocalInertia=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);Fp(e,a,b)};Kw.prototype.__destroy__=function(){Qu(this.a)};function Jv(){throw"cannot construct a btOverlappingPairCache, no constructor in IDL";}Jv.prototype=Object.create(p.prototype);Jv.prototype.constructor=Jv;Jv.prototype.b=Jv;Jv.c={};c.btOverlappingPairCache=Jv;
//Jv.prototype.setInternalGhostPairCallback=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);sk(b,a)};Jv.prototype.__destroy__=function(){hh(this.a)};function V(a,b,e,f,g){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);g&&"object"===typeof g&&(g=g.a);this.a=Fh(a,b,e,f,g);q(V)[this.a]=this}V.prototype=Object.create(C.prototype);V.prototype.constructor=V;V.prototype.b=V;V.c={};c.btSoftRigidDynamicsWorld=V;
//V.prototype.addSoftBody=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);af(f,a,b,e)};V.prototype.removeSoftBody=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Nc(b,a)};V.prototype.removeCollisionObject=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Sh(b,a)};V.prototype.getWorldInfo=function(){return r(zu(this.a),J)};V.prototype.getSoftBodyArray=function(){return r(Rg(this.a),Jw)};
//V.prototype.getDispatcher=function(){return r(oi(this.a),Iv)};V.prototype.rayTest=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);Hi(f,a,b,e)};V.prototype.getPairCache=function(){return r(oo(this.a),Jv)};V.prototype.getDispatchInfo=function(){return r(ku(this.a),t)};
//V.prototype.addCollisionObject=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);void 0===b?Wh(f,a):void 0===e?Vh(f,a,b):Uh(f,a,b,e)};V.prototype.getBroadphase=function(){return r(rl(this.a),Kv)};
//V.prototype.convexSweepTest=function(a,b,e,f,g){var h=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);g&&"object"===typeof g&&(g=g.a);Cm(h,a,b,e,f,g)};V.prototype.contactPairTest=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);$o(f,a,b,e)};
//V.prototype.contactTest=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);wu(e,a,b)};V.prototype.setGravity=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Ge(b,a)};V.prototype.getGravity=function(){return r(Oq(this.a),B)};
//V.prototype.addRigidBody=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);void 0===b?Us(f,a):void 0===e?_emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_2(f,a,b):Vs(f,a,b,e)};V.prototype.removeRigidBody=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Yu(b,a)};V.prototype.addConstraint=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);void 0===b?cd(e,a):mu(e,a,b)};
//V.prototype.removeConstraint=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);wc(b,a)};V.prototype.stepSimulation=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);return void 0===b?qm(f,a):void 0===e?Pt(f,a,b):om(f,a,b,e)};V.prototype.addAction=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Hc(b,a)};V.prototype.removeAction=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Xd(b,a)};
//V.prototype.getSolverInfo=function(){return r(Nf(this.a),Mv)};V.prototype.__destroy__=function(){vc(this.a)};function y(a,b){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);this.a=void 0===a?Ye():void 0===b?_emscripten_bind_btTransform_btTransform_1(a):Xe(a,b);q(y)[this.a]=this}y.prototype=Object.create(p.prototype);y.prototype.constructor=y;y.prototype.b=y;y.c={};c.btTransform=y;y.prototype.setIdentity=function(){Uc(this.a)};
//y.prototype.setOrigin=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);mg(b,a)};y.prototype.setRotation=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Tg(b,a)};y.prototype.getOrigin=function(){return r(ct(this.a),B)};y.prototype.getRotation=function(){return r(Xk(this.a),W)};y.prototype.getBasis=function(){return r(pg(this.a),fw)};y.prototype.setFromOpenGLMatrix=function(a){var b=this.a;Dv();"object"==typeof a&&(a=Gv(a));Ju(b,a)};y.prototype.__destroy__=function(){Bu(this.a)};
//function X(a,b){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);this.a=Ap(a,b);q(X)[this.a]=this}X.prototype=Object.create(Sv.prototype);X.prototype.constructor=X;X.prototype.b=X;X.c={};c.ClosestRayResultCallback=X;X.prototype.hasHit=function(){return!!Dk(this.a)};X.prototype.get_m_rayFromWorld=function(){return r(bo(this.a),B)};X.prototype.set_m_rayFromWorld=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);bp(b,a)};
//X.prototype.get_m_rayToWorld=function(){return r(Qf(this.a),B)};X.prototype.set_m_rayToWorld=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);It(b,a)};X.prototype.get_m_hitNormalWorld=function(){return r(nt(this.a),B)};X.prototype.set_m_hitNormalWorld=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Ou(b,a)};X.prototype.get_m_hitPointWorld=function(){return r(Zb(this.a),B)};X.prototype.set_m_hitPointWorld=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);xf(b,a)};
//X.prototype.get_m_collisionFilterGroup=function(){return Jt(this.a)};X.prototype.set_m_collisionFilterGroup=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Wg(b,a)};X.prototype.get_m_collisionFilterMask=function(){return Xj(this.a)};X.prototype.set_m_collisionFilterMask=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Dp(b,a)};X.prototype.get_m_collisionObject=function(){return r(Zn(this.a),w)};
//X.prototype.set_m_collisionObject=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Rd(b,a)};X.prototype.__destroy__=function(){vg(this.a)};function Lw(a){a&&"object"===typeof a&&(a=a.a);this.a=void 0===a?uh():bt(a);q(Lw)[this.a]=this}Lw.prototype=Object.create(Qv.prototype);Lw.prototype.constructor=Lw;Lw.prototype.b=Lw;Lw.c={};c.btSoftBodyRigidBodyCollisionConfiguration=Lw;Lw.prototype.__destroy__=function(){Cq(this.a)};function Mw(){this.a=Qs();q(Mw)[this.a]=this}Mw.prototype=Object.create(dw.prototype);
//Mw.prototype.constructor=Mw;Mw.prototype.b=Mw;Mw.c={};c.ConcreteContactResultCallback=Mw;Mw.prototype.addSingleResult=function(a,b,e,f,g,h,k){var m=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);g&&"object"===typeof g&&(g=g.a);h&&"object"===typeof h&&(h=h.a);k&&"object"===typeof k&&(k=k.a);return Wo(m,a,b,e,f,g,h,k)};Mw.prototype.__destroy__=function(){Bo(this.a)};
//function Nw(a,b,e){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);this.a=void 0===e?Sq(a,b):Tq(a,b,e);q(Nw)[this.a]=this}Nw.prototype=Object.create(Rv.prototype);Nw.prototype.constructor=Nw;Nw.prototype.b=Nw;Nw.c={};c.btBvhTriangleMeshShape=Nw;Nw.prototype.setLocalScaling=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ae(b,a)};
//Nw.prototype.calculateLocalInertia=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);Cg(e,a,b)};Nw.prototype.__destroy__=function(){Gs(this.a)};
//function Ow(a,b,e,f,g){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);g&&"object"===typeof g&&(g=g.a);this.a=void 0===f?Au(a,b,e):void 0===g?_emscripten_bind_btSliderConstraint_btSliderConstraint_4(a,b,e,f):Fd(a,b,e,f,g);q(Ow)[this.a]=this}Ow.prototype=Object.create(Nv.prototype);Ow.prototype.constructor=Ow;Ow.prototype.b=Ow;Ow.c={};c.btSliderConstraint=Ow;
//Ow.prototype.setLowerLinLimit=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);zt(b,a)};Ow.prototype.setUpperLinLimit=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);yh(b,a)};Ow.prototype.setLowerAngLimit=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Yn(b,a)};Ow.prototype.setUpperAngLimit=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);In(b,a)};Ow.prototype.enableFeedback=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);fo(b,a)};
//Ow.prototype.getBreakingImpulseThreshold=function(){return Ji(this.a)};Ow.prototype.setBreakingImpulseThreshold=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);nq(b,a)};Ow.prototype.__destroy__=function(){Eu(this.a)};function U(){this.a=Hd();q(U)[this.a]=this}U.prototype=Object.create(D.prototype);U.prototype.constructor=U;U.prototype.b=U;U.c={};c.btPairCachingGhostObject=U;
//U.prototype.setAnisotropicFriction=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);Ak(e,a,b)};U.prototype.getCollisionShape=function(){return r(Nk(this.a),u)};U.prototype.setContactProcessingThreshold=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Vj(b,a)};U.prototype.setActivationState=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);jm(b,a)};
//U.prototype.forceActivationState=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ve(b,a)};U.prototype.activate=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);void 0===a?oe(b):pe(b,a)};U.prototype.isActive=function(){return!!qv(this.a)};U.prototype.isKinematicObject=function(){return!!Cp(this.a)};U.prototype.setRestitution=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Di(b,a)};U.prototype.setFriction=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);qg(b,a)};
//U.prototype.setRollingFriction=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);br(b,a)};U.prototype.getWorldTransform=function(){return r(qi(this.a),y)};U.prototype.getCollisionFlags=function(){return Qt(this.a)};U.prototype.setCollisionFlags=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Xr(b,a)};U.prototype.setWorldTransform=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);tq(b,a)};
//U.prototype.setCollisionShape=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);so(b,a)};U.prototype.setCcdMotionThreshold=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Xm(b,a)};U.prototype.setCcdSweptSphereRadius=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Ej(b,a)};U.prototype.getUserIndex=function(){return Ze(this.a)};U.prototype.setUserIndex=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ki(b,a)};
//U.prototype.getUserPointer=function(){return r(gt(this.a),Lv)};U.prototype.setUserPointer=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);me(b,a)};U.prototype.getNumOverlappingObjects=function(){return eo(this.a)};U.prototype.getOverlappingObject=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return r(Fq(b,a),w)};U.prototype.__destroy__=function(){le(this.a)};function G(){throw"cannot construct a btManifoldPoint, no constructor in IDL";}G.prototype=Object.create(p.prototype);
//G.prototype.constructor=G;G.prototype.b=G;G.c={};c.btManifoldPoint=G;G.prototype.getPositionWorldOnA=function(){return r(Lu(this.a),B)};G.prototype.getPositionWorldOnB=function(){return r(An(this.a),B)};G.prototype.getAppliedImpulse=function(){return $f(this.a)};G.prototype.getDistance=function(){return Hu(this.a)};G.prototype.get_m_localPointA=function(){return r(ds(this.a),B)};G.prototype.set_m_localPointA=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Kg(b,a)};
//G.prototype.get_m_localPointB=function(){return r(wt(this.a),B)};G.prototype.set_m_localPointB=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);pd(b,a)};G.prototype.get_m_positionWorldOnB=function(){return r(Cj(this.a),B)};G.prototype.set_m_positionWorldOnB=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);nd(b,a)};G.prototype.get_m_positionWorldOnA=function(){return r(Bn(this.a),B)};G.prototype.set_m_positionWorldOnA=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ut(b,a)};
//G.prototype.get_m_normalWorldOnB=function(){return r(Fs(this.a),B)};G.prototype.set_m_normalWorldOnB=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);hs(b,a)};G.prototype.__destroy__=function(){Lm(this.a)};
//function Pw(a,b,e,f){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);this.a=void 0===e?Aq(a,b):void 0===f?_emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_3(a,b,e):yq(a,b,e,f);q(Pw)[this.a]=this}Pw.prototype=Object.create(Nv.prototype);Pw.prototype.constructor=Pw;Pw.prototype.b=Pw;Pw.c={};c.btPoint2PointConstraint=Pw;Pw.prototype.setPivotA=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Kq(b,a)};
//Pw.prototype.setPivotB=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Gu(b,a)};Pw.prototype.getPivotInA=function(){return r(Rl(this.a),B)};Pw.prototype.getPivotInB=function(){return r(Np(this.a),B)};Pw.prototype.enableFeedback=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Vg(b,a)};Pw.prototype.getBreakingImpulseThreshold=function(){return at(this.a)};Pw.prototype.setBreakingImpulseThreshold=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ce(b,a)};
//Pw.prototype.get_m_setting=function(){return r(yd(this.a),mw)};Pw.prototype.set_m_setting=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Kb(b,a)};Pw.prototype.__destroy__=function(){Me(this.a)};function Qw(){this.a=xj();q(Qw)[this.a]=this}Qw.prototype=Object.create(p.prototype);Qw.prototype.constructor=Qw;Qw.prototype.b=Qw;Qw.c={};c.btSoftBodyHelpers=Qw;
//Qw.prototype.CreateRope=function(a,b,e,f,g){var h=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);g&&"object"===typeof g&&(g=g.a);return r(Si(h,a,b,e,f,g),Q)};
//Qw.prototype.CreatePatch=function(a,b,e,f,g,h,k,m,v){var x=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);g&&"object"===typeof g&&(g=g.a);h&&"object"===typeof h&&(h=h.a);k&&"object"===typeof k&&(k=k.a);m&&"object"===typeof m&&(m=m.a);v&&"object"===typeof v&&(v=v.a);return r(zr(x,a,b,e,f,g,h,k,m,v),Q)};
//Qw.prototype.CreatePatchUV=function(a,b,e,f,g,h,k,m,v,x){var A=this.a;Dv();a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);g&&"object"===typeof g&&(g=g.a);h&&"object"===typeof h&&(h=h.a);k&&"object"===typeof k&&(k=k.a);m&&"object"===typeof m&&(m=m.a);v&&"object"===typeof v&&(v=v.a);"object"==typeof x&&(x=Gv(x));return r(Rn(A,a,b,e,f,g,h,k,m,v,x),Q)};
//Qw.prototype.CreateEllipsoid=function(a,b,e,f){var g=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);return r(Cl(g,a,b,e,f),Q)};
//Qw.prototype.CreateFromTriMesh=function(a,b,e,f,g){var h=this.a;Dv();a&&"object"===typeof a&&(a=a.a);"object"==typeof b&&(b=Gv(b));if("object"==typeof e&&"object"===typeof e){var k=Ev(e,l);Fv(e,l,k);e=k}f&&"object"===typeof f&&(f=f.a);g&&"object"===typeof g&&(g=g.a);return r(Un(h,a,b,e,f,g),Q)};
//Qw.prototype.CreateFromConvexHull=function(a,b,e,f){var g=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);return r(Yh(g,a,b,e,f),Q)};Qw.prototype.__destroy__=function(){st(this.a)};function Rw(a){a&&"object"===typeof a&&(a=a.a);this.a=Pd(a);q(Rw)[this.a]=this}Rw.prototype=Object.create(u.prototype);Rw.prototype.constructor=Rw;Rw.prototype.b=Rw;Rw.c={};c.btBoxShape=Rw;
//Rw.prototype.setMargin=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);gl(b,a)};Rw.prototype.getMargin=function(){return ke(this.a)};Rw.prototype.setLocalScaling=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Tu(b,a)};Rw.prototype.calculateLocalInertia=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);zo(e,a,b)};Rw.prototype.__destroy__=function(){sn(this.a)};
//function Sw(a,b){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);this.a=Be(a,b);q(Sw)[this.a]=this}Sw.prototype=Object.create(Pv.prototype);Sw.prototype.constructor=Sw;Sw.prototype.b=Sw;Sw.c={};c.btCapsuleShapeX=Sw;Sw.prototype.setMargin=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Lg(b,a)};Sw.prototype.getMargin=function(){return Tb(this.a)};Sw.prototype.setLocalScaling=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Mk(b,a)};
//Sw.prototype.calculateLocalInertia=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);zf(e,a,b)};Sw.prototype.__destroy__=function(){$m(this.a)};function W(a,b,e,f){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);this.a=ql(a,b,e,f);q(W)[this.a]=this}W.prototype=Object.create(Wv.prototype);W.prototype.constructor=W;W.prototype.b=W;W.c={};c.btQuaternion=W;
//W.prototype.setValue=function(a,b,e,f){var g=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);sd(g,a,b,e,f)};W.prototype.setEulerZYX=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);ap(f,a,b,e)};W.prototype.setRotation=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);ud(e,a,b)};
//W.prototype.normalize=function(){ek(this.a)};W.prototype.length2=function(){return Zs(this.a)};W.prototype.length=W.prototype.length=function(){return df(this.a)};W.prototype.dot=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return Lb(b,a)};W.prototype.normalized=function(){return r(Xl(this.a),W)};W.prototype.getAxis=function(){return r(dn(this.a),B)};W.prototype.inverse=function(){return r(xt(this.a),W)};W.prototype.getAngle=function(){return Ii(this.a)};
//W.prototype.getAngleShortestPath=function(){return Qc(this.a)};W.prototype.angle=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return kf(b,a)};W.prototype.angleShortestPath=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return pf(b,a)};W.prototype.op_add=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return r(Nu(b,a),W)};W.prototype.op_sub=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return r(qs(b,a),W)};
//W.prototype.op_mul=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return r(Ko(b,a),W)};W.prototype.op_mulq=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return r(im(b,a),W)};W.prototype.op_div=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return r(If(b,a),W)};W.prototype.x=function(){return Eh(this.a)};W.prototype.y=function(){return vl(this.a)};W.prototype.z=function(){return Nh(this.a)};W.prototype.w=function(){return Vk(this.a)};
//W.prototype.setX=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ac(b,a)};W.prototype.setY=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ss(b,a)};W.prototype.setZ=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);dc(b,a)};W.prototype.setW=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);uc(b,a)};W.prototype.__destroy__=function(){fk(this.a)};function Tw(a,b){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);this.a=xu(a,b);q(Tw)[this.a]=this}
//Tw.prototype=Object.create(Pv.prototype);Tw.prototype.constructor=Tw;Tw.prototype.b=Tw;Tw.c={};c.btCapsuleShapeZ=Tw;Tw.prototype.setMargin=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);jd(b,a)};Tw.prototype.getMargin=function(){return al(this.a)};Tw.prototype.setLocalScaling=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);vh(b,a)};Tw.prototype.calculateLocalInertia=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);$p(e,a,b)};
//Tw.prototype.__destroy__=function(){du(this.a)};function Mv(){throw"cannot construct a btContactSolverInfo, no constructor in IDL";}Mv.prototype=Object.create(p.prototype);Mv.prototype.constructor=Mv;Mv.prototype.b=Mv;Mv.c={};c.btContactSolverInfo=Mv;Mv.prototype.get_m_splitImpulse=function(){return!!lv(this.a)};Mv.prototype.set_m_splitImpulse=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);bi(b,a)};Mv.prototype.get_m_splitImpulsePenetrationThreshold=function(){return re(this.a)};
//Mv.prototype.set_m_splitImpulsePenetrationThreshold=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Hn(b,a)};Mv.prototype.__destroy__=function(){uo(this.a)};
//function Y(a,b,e,f,g){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);g&&"object"===typeof g&&(g=g.a);this.a=void 0===f?Oj(a,b,e):void 0===g?_emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_4(a,b,e,f):Wc(a,b,e,f,g);q(Y)[this.a]=this}Y.prototype=Object.create($v.prototype);Y.prototype.constructor=Y;Y.prototype.b=Y;Y.c={};c.btGeneric6DofSpringConstraint=Y;
//Y.prototype.enableSpring=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);xp(e,a,b)};Y.prototype.setStiffness=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);Tl(e,a,b)};Y.prototype.setDamping=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);cp(e,a,b)};Y.prototype.setLinearLowerLimit=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);dv(b,a)};
//Y.prototype.setLinearUpperLimit=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Pc(b,a)};Y.prototype.setAngularLowerLimit=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);hv(b,a)};Y.prototype.setAngularUpperLimit=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ml(b,a)};Y.prototype.enableFeedback=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);cm(b,a)};Y.prototype.getBreakingImpulseThreshold=function(){return vn(this.a)};
//Y.prototype.setBreakingImpulseThreshold=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);tf(b,a)};Y.prototype.__destroy__=function(){jk(this.a)};function Uw(a){a&&"object"===typeof a&&(a=a.a);this.a=tl(a);q(Uw)[this.a]=this}Uw.prototype=Object.create(u.prototype);Uw.prototype.constructor=Uw;Uw.prototype.b=Uw;Uw.c={};c.btSphereShape=Uw;Uw.prototype.setMargin=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);En(b,a)};Uw.prototype.getMargin=function(){return Fm(this.a)};
//Uw.prototype.setLocalScaling=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);As(b,a)};Uw.prototype.calculateLocalInertia=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);Lf(e,a,b)};Uw.prototype.__destroy__=function(){Oc(this.a)};
//function Z(a,b,e,f,g){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);g&&"object"===typeof g&&(g=g.a);this.a=Ms(a,b,e,f,g);q(Z)[this.a]=this}Z.prototype=Object.create(p.prototype);Z.prototype.constructor=Z;Z.prototype.b=Z;Z.c={};c.LocalConvexResult=Z;Z.prototype.get_m_hitCollisionObject=function(){return r(Yi(this.a),w)};
//Z.prototype.set_m_hitCollisionObject=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);fv(b,a)};Z.prototype.get_m_localShapeInfo=function(){return r(sr(this.a),nw)};Z.prototype.set_m_localShapeInfo=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Mj(b,a)};Z.prototype.get_m_hitNormalLocal=function(){return r(gc(this.a),B)};Z.prototype.set_m_hitNormalLocal=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Ih(b,a)};
//Z.prototype.get_m_hitPointLocal=function(){return r(Od(this.a),B)};Z.prototype.set_m_hitPointLocal=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Wf(b,a)};Z.prototype.get_m_hitFraction=function(){return Tk(this.a)};Z.prototype.set_m_hitFraction=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Zp(b,a)};Z.prototype.__destroy__=function(){Qi(this.a)};
//(function(){function a(){c.PHY_FLOAT=Vt();c.PHY_DOUBLE=ho();c.PHY_INTEGER=Qn();c.PHY_SHORT=ls();c.PHY_FIXEDPOINT88=Eq();c.PHY_UCHAR=tc()}c.calledRun?a():Ua.unshift(a)})();//this.Ammo=c;
//
//
//  return Ammo;
//})();