You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

213 lines
2.3 MiB

/*
Viz.js 1.7.1 (Graphviz 2.40.1, Expat 2.1.0, Emscripten 1.37.9)
Copyright (c) 2014-2017 Michael Daines
Licensed under MIT license
This distribution contains other software in object code form:
Graphviz
Licensed under Eclipse Public License - v 1.0
http://www.graphviz.org
Expat
Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd and Clark Cooper
Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006 Expat maintainers.
Licensed under MIT license
http://www.libexpat.org
zlib
Copyright (C) 1995-2013 Jean-loup Gailly and Mark Adler
http://www.zlib.net/zlib_license.html
*/
(function(global) {
var Module = function(Module) {
Module = Module || {};
var Module = Module;
var Module;if(!Module)Module=(typeof Module!=="undefined"?Module:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};Module["load"]=function load(f){globalEval(read(f))};if(!Module["thisProgram"]){if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function read(){throw"no read() available"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return xhr.response}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){abort("NO_DYNAMIC_EXECUTION=1 was set, cannot eval")}if(!Module["load"]&&Module["read"]
var asm=(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_vi;var aa=env.invoke_iiii;var ba=env.invoke_viiiii;var ca=env.invoke_d;var da=env.invoke_di;var ea=env.invoke_i;var fa=env.invoke_iiiiiiiiiii;var ga=env.invoke_iiidd;var ha=env.invoke_vii;var ia=env.invoke_iiiiiii;var ja=env.invoke_viiiddi;var ka=env.invoke_viiiiiiiii;var la=env.invoke_ii;var ma=env.invoke_dddd;var na=env.invoke_viii;var oa=env.invoke_v;var pa=env.invoke_iiiii;var qa=env.invoke_viiiiii;var ra=env.invoke_iii;var sa=env.invoke_iiiiii;var ta=env.invoke_viiii;var ua=env.___syscall221;var va=env._emscripten_get_now_is_monotonic;var wa=env._llvm_pow_f64;var xa=env.___syscall6;var ya=env.___syscall20;var za=env._setenv;var Aa=env.___assert_fail;var Ba=env.___buildEnvironment;var Ca=env._longjmp;var Da=env._clock_gettime;var Ea=env._times;var Fa=env.___setErrNo;var Ga=env.___syscall192;var Ha=env.___syscall197;var Ia=env._emscripten_get_now;var Ja=env.___syscall195;var Ka=env.__exit;var La=env._emscripten_memcpy_big;var Ma=env.___syscall91;var Na=env._getenv;var Oa=env.___map_file;var Pa=env.___syscall33;var Qa=env.___syscall54;var Ra=env.___unlock;var Sa=env._emscripten_asm_const_iii;var Ta=env.___syscall10;var Ua=env.___lock;var Va=env._abort;var Wa=env.___syscall5;var Xa=env.___clock_gettime;var Ya=env._time;var Za=env.___syscall140;var _a=env._llvm_trap;var $a=env._exit;var ab=env.___syscall145;var bb=env.___syscall146;var cb=0.0;
// EMSCRIPTEN_START_FUNCS
function CV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;$=l;l=l+96|0;X=$+32|0;f=$+16|0;Y=$;r=X;k=b+(a*56|0)|0;q=r+56|0;do{c[r>>2]=c[k>>2];r=r+4|0;k=k+4|0}while((r|0)<(q|0));Z=X+16|0;_=X+24|0;i=+h[_>>3];P=X+8|0;j=+h[P>>3];g=X+36|0;p=X+40|0;do if(!(i>j+1.0e-07)){if(!(i<j+-1.0e-07)?+h[Z>>3]>+h[X>>3]:0){O=4;break}O=(GV(a,b,1)|0)==0;f=c[g>>2]|0;if(O){n=0;O=7}else{f=EV(X,Z,f,b,e)|0;O=20}}else O=4;while(0);if((O|0)==4){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[X>>2]=c[Z>>2];c[X+4>>2]=c[Z+4>>2];c[X+8>>2]=c[Z+8>>2];c[X+12>>2]=c[Z+12>>2];c[Z>>2]=c[f>>2];c[Z+4>>2]=c[f+4>>2];c[Z+8>>2]=c[f+8>>2];c[Z+12>>2]=c[f+12>>2];O=c[g>>2]|0;f=c[p>>2]|0;c[g>>2]=f;c[p>>2]=O;if(!(GV(a,b,2)|0)){n=1;O=7}else{f=EV(X,Z,f,b,e)|0;O=19}}if((O|0)==7){m=EV(X,Z,f,b,e)|0;f=HV(d)|0;c[d+(f*72|0)+68>>2]=1;r=d+(f*72|0)|0;k=d+(m*72|0)|0;q=r+72|0;do{c[r>>2]=c[k>>2];r=r+4|0;k=k+4|0}while((r|0)<(q|0));t=+h[P>>3];h[d+(f*72|0)+16>>3]=t;h[d+(m*72|0)+32>>3]=t;t=+h[X>>3];h[d+(f*72|0)+8>>3]=t;h[d+(m*72|0)+24>>3]=t;c[d+(m*72|0)+48>>2]=f;c[d+(m*72|0)+52>>2]=0;c[d+(f*72|0)+40>>2]=m;c[d+(f*72|0)+44>>2]=0;g=c[d+(f*72|0)+48>>2]|0;if((g|0)>0){k=d+(g*72|0)+40|0;if((c[k>>2]|0)==(m|0))c[k>>2]=f;g=d+(g*72|0)+44|0;if((c[g>>2]|0)==(m|0))c[g>>2]=f}g=c[d+(f*72|0)+52>>2]|0;if((g|0)>0){k=d+(g*72|0)+40|0;if((c[k>>2]|0)==(m|0))c[k>>2]=f;g=d+(g*72|0)+44|0;if((c[g>>2]|0)==(m|0))c[g>>2]=f}M=IV()|0;O=IV()|0;N=d+(m*72|0)+56|0;L=c[N>>2]|0;c[e+(L*40|0)>>2]=2;K=e+(L*40|0)+8|0;c[K>>2]=c[X>>2];c[K+4>>2]=c[X+4>>2];c[K+8>>2]=c[X+8>>2];c[K+12>>2]=c[X+12>>2];c[e+(L*40|0)+4>>2]=a;c[e+(L*40|0)+32>>2]=O;c[e+(L*40|0)+36>>2]=M;c[e+(M*40|0)>>2]=3;c[e+(M*40|0)+24>>2]=m;c[e+(M*40|0)+28>>2]=L;c[e+(O*40|0)>>2]=3;c[e+(O*40|0)+24>>2]=f;c[e+(O*40|0)+28>>2]=L;c[N>>2]=M;c[d+(f*72|0)+56>>2]=O;if(n)O=19;else O=20}if((O|0)==19)if(!(GV(a,b,1)|0)){o=1;O=21}else{g=1;O=32}else if((O|0)==20)if(!(GV(a,b,2)|0)){o=0;O=21}else{g=0;O=32}if((O|0)==21){n=EV(Z,X,c[p>>2]|0,b,e)|0;m=HV(d)|0;c[d+(m*72|0)+68>>2]=1;r=d+(m*72|0)|0;k=d+(n*72|0)|0;q=r+72|0;do{c[r>>2]=c[k>>2];r=r+4|0;k=k+4|0}while((r|0)<(q|0));t=+h[_>>3];h[d+(m*72|0)+16>>3]=t;h[d+(n*72|0)+32>>3]=t;t=+h[Z>>3];h[d+(m*72|0)+8>>3]=t;h[d+(n*72|0)+24>>3]=t;c[d+(n*72|0)+48>>2]=m;c[d+(n*72|0)+52>>2]=0;c[d+(m*72|0)+40>>2]=n;c[d+(m*72|0)+44>>2]=0;g=c[d+(m*72|0)+48>>2]|0;if((g|0)>0){k=d+(g*72|0)+40|0;if((c[k>>2]|0)==(n|0))c[k>>2]=m;g=d+(g*72|0)+44|0;if((c[g>>2]|0)==(n|0))c[g>>2]=m}g=c[d+(m*72|0)+52>>2]|0;if((g|0)>0){k=d+(g*72|0)+40|0;if((c[k>>2]|0)==(n|0))c[k>>2]=m;g=d+(g*72|0)+44|0;if((c[g>>2]|0)==(n|0))c[g>>2]=m}M=IV()|0;N=IV()|0;g=d+(n*72|0)+56|0;L=c[g>>2]|0;c[e+(L*40|0)>>2]=2;K=e+(L*40|0)+8|0;c[K>>2]=c[Z>>2];c[K+4>>2]=c[Z+4>>2];c[K+8>>2]=c[Z+8>>2];c[K+12>>2]=c[Z+12>>2];c[e+(L*40|0)+4>>2]=a;c[e+(L*40|0)+32>>2]=N;c[e+(L*40|0)+36>>2]=M;c[e+(M*40|0)>>2]=3;c[e+(M*40|0)+24>>2]=n;c[e+(M*40|0)+28>>2]=L;c[e+(N*40|0)>>2]=3;c[e+(N*40|0)+24>>2]=m;c[e+(N*40|0)+28>>2]=L;c[g>>2]=M;c[d+(m*72|0)+56>>2]=N;N=f;f=0;g=o}else if((O|0)==32){N=f;n=EV(Z,X,c[p>>2]|0,b,e)|0;f=1}a:do if((N|0)>0){L=d+(n*72|0)+24|0;M=d+(n*72|0)+32|0;K=(f|0)!=0;G=g?b+(a*56|0)+48|0:b+(a*56|0)+44|0;I=Y+8|0;g=0;f=0;H=N;while(1){k=d+(H*72|0)|0;D=d+(H*72|0)+24|0;if(!(JV(D,L)|0))break a;m=d+(H*72|0)+56|0;C=c[m>>2]|0;o=IV()|0;p=IV()|0;c[e+(C*40|0)>>2]=1;c[e+(C*40|0)+4>>2]=a;c[e+(C*40|0)+32>>2]=o;c[e+(C*40|0)+36>>2]=p;c[e+(o*40|0)>>2]=3;c[e+(o*40|0)+24>>2]=H;c[e+(o*40|0)+28>>2]=C;c[e+(p*40|0)>>2]=3;E=HV(d)|0;c[e+(p*40|0)+24>>2]=E;J=d+(E*72|0)|0;c[d+(E*72|0)+68>>2]=1;c[e+(p*40|0)+28>>2]=C;g=(H|0)==(N|0)?E:g;C=d+(H*72|0)+32|0;if(+F(+(+h[C>>3]-+h[M>>3]))<=1.0e-07?+F(+(+h[D>>3]-+h[L>>3]))<=1.0e-07:0)f=E;r=J;q=r+72|0;do{c[r>>2]=c[k>>2];r=r+4|0;k=k+4|0}while((r|0)<(q|0));c[m>>2]=o;c[d+(E*72|0)+56>>2]=p;z=d+(H*72|0)+48|0;k=c[z>>2]|0;q=(k|0)<1;m=d+(H*72|0)+52|0;if(q?(c[m>>2]|0)<1:0)break;A=d+(E*72|0)+48|0;r=d+(H*72|0)+64|0;p=d+(E*72|0)+44|0;o=d+(E*72|0)+52|0;v=d+(H*72|0)+60|0;w=d+(E*72|0)+60|0;y=d+(E*72|0)+40|0;x=d+
function s_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a:do if((e|0)!=(f|0)){p=b+76|0;l=b+356|0;m=f;n=b+360|0;i=e+1|0;o=b+364|0;h=m-e|0;j=(i|0)==(f|0);k=e+2|0;b:do switch(a[p+(d[e>>0]|0)>>0]|0){case 4:{if(j){e=-1;break a}if((a[i>>0]|0)==93){if((k|0)==(f|0)){e=-1;break a}if((a[k>>0]|0)==62){c[g>>2]=e+3;e=40;break a}}break}case 9:{if(j){e=-1;break a}c[g>>2]=(a[p+(d[i>>0]|0)>>0]|0)==10?k:i;e=7;break a}case 10:{c[g>>2]=i;e=7;break a}case 5:{if((h|0)<2){e=-2;break a}if(!(vb[c[l>>2]&127](b,e)|0))i=k;else{c[g>>2]=e;e=0;break a}break}case 6:{if((h|0)<3){e=-2;break a}if(!(vb[c[n>>2]&127](b,e)|0)){i=e+3|0;break b}else{c[g>>2]=e;e=0;break a}}case 7:{if((h|0)<4){e=-2;break a}if(!(vb[c[o>>2]&127](b,e)|0)){i=e+4|0;break b}else{c[g>>2]=e;e=0;break a}}case 8:case 1:case 0:{c[g>>2]=e;e=0;break a}default:{}}while(0);c:while(1){if((i|0)==(f|0)){h=36;break}e=m-i|0;switch(a[p+(d[i>>0]|0)>>0]|0){case 4:case 10:case 9:case 8:case 1:case 0:{h=34;break c}case 5:{if((e|0)<2){h=27;break c}if(!(vb[c[l>>2]&127](b,i)|0))e=2;else{h=27;break c}break}case 6:{if((e|0)<3){h=30;break c}if(!(vb[c[n>>2]&127](b,i)|0))e=3;else{h=30;break c}break}case 7:{if((e|0)<4){h=33;break c}if(!(vb[c[o>>2]&127](b,i)|0))e=4;else{h=33;break c}break}default:e=1}i=i+e|0}if((h|0)==27){c[g>>2]=i;e=6;break}else if((h|0)==30){c[g>>2]=i;e=6;break}else if((h|0)==33){c[g>>2]=i;e=6;break}else if((h|0)==34){c[g>>2]=i;e=6;break}else if((h|0)==36){c[g>>2]=f;e=6;break}}else e=-4;while(0);return e|0}function t_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;o=b+76|0;p=f;q=b+356|0;r=b+360|0;s=b+364|0;n=0;a:while(1){if((e|0)==(f|0)){e=-1;break}h=e+1|0;i=e+2|0;j=(i|0)==(f|0);k=e+3|0;l=p-e|0;m=(h|0)==(f|0);switch(a[o+(d[e>>0]|0)>>0]|0){case 8:case 1:case 0:{t=14;break a}case 5:{if((l|0)<2){e=-2;break a}if(!(vb[c[q>>2]&127](b,e)|0)){m=n;e=i;n=m;continue a}else{t=6;break a}}case 6:{if((l|0)<3){e=-2;break a}if(!(vb[c[r>>2]&127](b,e)|0)){m=n;e=k;n=m;continue a}else{t=9;break a}}case 7:{if((l|0)<4){e=-2;break a}if(vb[c[s>>2]&127](b,e)|0){t=12;break a}m=n;e=e+4|0;n=m;continue a}case 2:{if(m){e=-1;break a}if((a[h>>0]|0)!=33){m=n;e=h;n=m;continue a}if(j){e=-1;break a}e=(a[i>>0]|0)==91;n=(e&1)+n|0;e=e?k:i;continue a}case 4:{if(m){e=-1;break a}if((a[h>>0]|0)!=93){m=n;e=h;n=m;continue a}if(j){e=-1;break a}if((a[i>>0]|0)!=62){m=n;e=i;n=m;continue a}if(!n){t=24;break a}n=n+-1|0;e=k;continue a}default:{m=n;e=h;n=m;continue a}}}if((t|0)==6){c[g>>2]=e;e=0}else if((t|0)==9){c[g>>2]=e;e=0}else if((t|0)==12){c[g>>2]=e;e=0}else if((t|0)==14){c[g>>2]=e;e=0}else if((t|0)==24){c[g>>2]=k;e=42}return e|0}function u_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;do if((e|0)!=(f|0)){j=b+76|0;h=e;a:while(1){if((h|0)==(f|0)){k=22;break}i=h+1|0;switch(a[j+(d[h>>0]|0)>>0]|0){case 3:{k=8;break a}case 2:{k=11;break a}case 10:{k=12;break a}case 9:{k=15;break a}case 21:{k=19;break a}case 5:{h=h+2|0;continue a}case 6:{h=h+3|0;continue a}case 7:{h=h+4|0;continue a}default:{h=i;continue a}}}if((k|0)==8)if((h|0)==(e|0)){h=H_(b,i,f,g)|0;break}else{c[g>>2]=h;h=6;break}else if((k|0)==11){c[g>>2]=h;h=0;break}else if((k|0)==12)if((h|0)==(e|0)){c[g>>2]=i;h=7;break}else{c[g>>2]=h;h=6;break}else if((k|0)==15){if((h|0)!=(e|0)){c[g>>2]=h;h=6;break}if((i|0)==(f|0)){h=-3;break}c[g>>2]=(a[j+(d[i>>0]|0)>>0]|0)==10?e+2|0:i;h=7;break}else if((k|0)==19)if((h|0)==(e|0)){c[g>>2]=i;h=39;break}else{c[g>>2]=h;h=6;break}else if((k|0)==22){c[g>>2]=f;h=6;break}}else h=-4;while(0);return h|0}function v_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;do if((e|0)!=(f|0)){j=b+76|0;h=e;a:while(1){if((h|0)==(f|0)){k=21;break}i=h+1|0;switch(a[j+(d[h>>0]|0)>>0]|0){case 3:{k=8;break a}case 30:{k=11;break a}case 10:{k=14;break a}case 9:{k=17;break a}case 5:{h=h+2|0;continue a}case 6:{h=h+3|0;continue a}case 7:{h=h+4|0;continue a}default:{h=i;continue a}}}if((k|0)==8)if((h|0)==(e|0)){h=H_(b,i,f,g)|0;break}else{c[g>>2]=h;h=6;break}else if((k|0)==11)if((h|0)==(e|0)){h=I_(b,i,f,g)|0;h=(h|0)==22?0:h;break}else{c[g>>2]=h;h=6;break}else if((k|0)==14)if((h|0)==(e|0)){c[g>>2]=i;
function yb(a){a=a|0;var b=0;b=l;l=l+a|0;l=l+15&-16;return b|0}function zb(){return l|0}function Ab(a){a=a|0;l=a}function Bb(a,b){a=a|0;b=b|0;l=a;m=b}function Cb(a,b){a=a|0;b=b|0;if(!o){o=a;p=b}}function Db(a){a=a|0;D=a}function Eb(){return D|0}function Fb(a){a=a|0;c[46696]=a;return 0}function Gb(){return c[46696]|0}function Hb(a,b){a=a|0;b=b|0;Sa(0,a|0,b|0)|0;return}function Ib(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+4|0;g=i;c[f>>2]=0;h=kG()|0;pG(h,11016);pG(h,17260);pG(h,17480);cA(1)|0;bA(18)|0;while(1){a=WB(a)|0;e=c[f>>2]|0;if(!a)break;if(e|0){a=195341;continue}lG(h,a,d)|0;oG(h,a,b,f,g)|0;a=195341}l=i;return e|0}function Jb(a){a=a|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+4|0;e=g;f=c[(c[a+16>>2]|0)+8>>2]|0;a=a+64|0;switch(c[a>>2]|0){case 0:{HL(f);break}case 1:{if(b[(c[f+16>>2]|0)+136>>1]&1)SP(f);break}case 4:case 5:case 6:{EL(f,e,d);Mb(f,c[e>>2]|0,c[d>>2]|0,c[a>>2]|0);break}default:{}}l=g;return}function Kb(a){a=a|0;var b=0,d=0,e=0,f=0;e=c[(c[a+16>>2]|0)+8>>2]|0;if(!(c[46697]|0)){c[46697]=c[4689];c[46698]=57;c[46699]=19}f=e+64|0;d=(c[f>>2]|0)+8|0;b=c[d>>2]|0;c[d>>2]=186788;d=a+152|0;switch(c[a+64>>2]|0){case 2:{uL(a,e,a,0);break}case 3:{uL(a,e,a,1);break}case 1:case 0:{if(!(c[d>>2]&134217728))bE(e,a)|0;break}case 6:case 5:case 4:{Lb(e);if(!(c[d>>2]&134217728))bE(e,a)|0;break}default:{}}c[(c[f>>2]|0)+8>>2]=b;return}function Lb(b){b=b|0;var d=0,e=0;d=c[46701]|0;if((d|0)!=(c[46700]|0)){e=c[c[46732]>>2]|0;if(!e){e=YP(b,0,100109,195341)|0;c[c[46732]>>2]=e;d=c[46701]|0}if(d>>>0>=(c[46702]|0)>>>0){iA(186800,1)|0;d=c[46701]|0}a[d>>0]=0;d=c[46700]|0;c[46701]=d;HA(b,e,d)|0}if(c[(c[b+16>>2]|0)+12>>2]|0){e=c[(c[46732]|0)+4>>2]|0;d=c[46717]|0;if(d>>>0>=(c[46718]|0)>>>0){iA(186864,1)|0;d=c[46717]|0}a[d>>0]=0;d=c[46716]|0;c[46717]=d;HA(b,e,d)|0}QA(b,67025,c[(c[46732]|0)+8236>>2]|0,195341)|0;d=0;while(1){if((d|0)==8)break;lA(186800+(d<<4)|0);d=d+1|0}l6(c[46732]|0);h[1]=1.0;h[5]=1.0;c[46733]=0;c[46737]=0;return}function Mb(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=k6(8240)|0;c[46732]=j;h=j+8232|0;a:do switch(g|0){case 6:{b[h>>1]=14;g=67041;h=j;break}case 5:{b[h>>1]=12;g=67045;h=j;break}default:{g=NA(d,67025)|0;if((g|0?a[g>>0]|0:0)?(i=Nb(g)|0,(i&65535)>10):0){h=c[46732]|0;b[h+8232>>1]=i;break a}g=Nb(67037)|0;h=c[46732]|0;b[h+8232>>1]=g;g=67037}}while(0);c[h+8236>>2]=g;j=d+16|0;g=c[j>>2]|0;if(!(c[g+180>>2]|0))i=0;else{i=YP(d,0,100109,195341)|0;h=c[46732]|0;g=c[j>>2]|0}c[h>>2]=i;if(!(a[g+113>>0]&8))g=0;else g=YP(d,0,67049,195341)|0;c[(c[46732]|0)+4>>2]=g;i=YP(d,1,100109,195341)|0;c[(c[46732]|0)+8>>2]=i;i=YP(d,1,67049,195341)|0;c[(c[46732]|0)+12>>2]=i;i=YP(d,2,100109,195341)|0;g=c[46732]|0;c[g+16>>2]=i;if(!f)h=0;else{h=YP(d,2,67057,195341)|0;g=c[46732]|0}c[g+20>>2]=h;if(!e)h=0;else{h=YP(d,2,67065,195341)|0;g=c[46732]|0}c[g+24>>2]=h;h=a[(c[j>>2]|0)+113>>0]|0;if(!(h&33))i=0;else{i=YP(d,2,67049,195341)|0;g=c[46732]|0;h=a[(c[j>>2]|0)+113>>0]|0}c[g+28>>2]=i;if(!(h&2))i=0;else{i=YP(d,2,67073,195341)|0;g=c[46732]|0;h=a[(c[j>>2]|0)+113>>0]|0}c[g+32>>2]=i;if(!(h&4))h=0;else{h=YP(d,2,67082,195341)|0;g=c[46732]|0}c[g+36>>2]=h;g=0;while(1){if((g|0)==8)break;hA(186800+(g<<4)|0,1024,(c[46732]|0)+40+(g<<10)|0);g=g+1|0}return}function Nb(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+1040|0;h=j;i=j+8|0;g=0;d=b;a:while(1){e=d;do{f=e;e=e+1|0;f=a[f>>0]|0;if(!(f<<24>>24)){e=8;break a}}while(((f<<24>>24)+-48|0)>>>0>=10);d=i+g|0;if((g|0)>=1023){e=7;break}a[d>>0]=f;g=g+1|0;d=e}if((e|0)==7){c[h>>2]=b;dA(0,67091,h)|0}else if((e|0)==8)d=i+g|0;a[d>>0]=0;i=(d6(i)|0)&65535;l=j;return i|0}function Ob(b){b=b|0;var d=0,e=0;e=c[(c[b+16>>2]|0)+8>>2]|0;d=c[c[46732]>>2]|0;b=c[46705]|0;if(b>>>0>=(c[46706]|0)>>>0){iA(186816,1)|0;b=c[46705]|0}a[b>>0]=0;b=c[46704]|0;c[46705]=b;HA(e,d,b)|0;if(c[(c[e+16>>2]|0)+12>>2]|0){d=c[(c[46732]|0)+4>>2]|0;b=c[46721]|0;if(b>>>0>=(c[46722]|0)>>>0){iA(186880,1)|0;b=c[46721]|0}a[b>>0]=0;b=c[46720]|0;c[46721]=b;HA(e,d,b)|0}h[2]=1.0;h[6]=1.0;c[46734]=0;c[46738]=0;return}function Pb(b){b=b|0;var d=0,e=0;e=c[(c[b+16>>2]|0)+8>>2]|0;b=c[46705]|0;if((b|0)!=(c[46704]|0)){d=c[(c[46732]|0)+8>>2]|0;if(b>>>0>=
function EB(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;j=(e|0)!=0;i=b+64|0;do if(j){if((a[e>>0]|0)!=37?(h=c[i>>2]|0,h=wb[c[(c[h+4>>2]|0)+4>>2]&63](c[h+16>>2]|0,d,e,f,g)|0,h|0):0)break;h=JB(b,d,e,f)|0;if(!h)k=5}else k=5;while(0);if((k|0)==5)if(g){h=c[i>>2]|0;h=wb[c[(c[h+4>>2]|0)+4>>2]&63](c[h+16>>2]|0,d,0,f,g)|0;if(j&(h|0)!=0){k=f;KB(b,d,e,c[k>>2]|0,c[k+4>>2]|0)}}else h=0;return h|0}function FB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[a+64>>2]|0;return tb[c[(c[a+4>>2]|0)+8>>2]&127](c[a+16>>2]|0,b,d,e)|0}function GB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;PB(a,b,d,e)|0;a=c[a+64>>2]|0;xb[c[(c[a+4>>2]|0)+12>>2]&31](c[a+16>>2]|0,b,d,e);return}function HB(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;d=uC(a)|0;f=a+8|0;b=f;b=NB(d,c[a>>2]&3,c[b>>2]|0,c[b+4>>2]|0)|0;do if(!b){b=c[d+64>>2]|0;d=c[(c[b+4>>2]|0)+16>>2]|0;if(d|0?(e=f,e=tb[d&127](c[b+16>>2]|0,c[a>>2]&3,c[e>>2]|0,c[e+4>>2]|0)|0,e|0):0){b=e;break}if((c[a>>2]&3|0)==2)b=0;else{e=c[f>>2]|0;f=c[f+4>>2]|0;c[g>>2]=37;b=g+8|0;c[b>>2]=e;c[b+4>>2]=f;i2(195053,96757,g)|0;b=195053}}while(0);l=h;return b|0}function IB(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a+64>>2]|0;rb[c[(c[a+4>>2]|0)+24>>2]&127](c[a+16>>2]|0,b,d);return}function JB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+32|0;h=i;b=c[(c[a+64>>2]|0)+56+(((b|0)==3?2:b)<<2)>>2]|0;if(((b|0)!=0?(f=aD(a,d)|0,(f|0)!=0):0)?(c[h+24>>2]=f,g=eb[c[b>>2]&63](b,h,4)|0,(g|0)!=0):0){d=g+16|0;h=c[d+4>>2]|0;b=e;c[b>>2]=c[d>>2];c[b+4>>2]=h;b=1}else b=0;l=i;return b|0}function KB(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=aC(a,32)|0;g=h+16|0;c[g>>2]=e;c[g+4>>2]=f;c[h+24>>2]=dD(a,d)|0;e=(b|0)==3?2:b;g=a+64|0;d=c[g>>2]|0;b=c[d+56+(e<<2)>>2]|0;if(!b){f=SD(a,18684,c[4599]|0)|0;c[(c[g>>2]|0)+56+(e<<2)>>2]=f;b=c[g>>2]|0}else{f=b;b=d}b=c[b+68+(e<<2)>>2]|0;if(!b){b=SD(a,18720,c[4599]|0)|0;c[(c[g>>2]|0)+68+(e<<2)>>2]=b}eb[c[f>>2]&63](f,h,1)|0;eb[c[b>>2]&63](b,h,1)|0;return}function LB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=b+16|0;b=c[a>>2]|0;a=c[a+4>>2]|0;d=d+16|0;e=c[d>>2]|0;d=c[d+4>>2]|0;return (a>>>0>d>>>0|(a|0)==(d|0)&b>>>0>e>>>0?1:(a>>>0<d>>>0|(a|0)==(d|0)&b>>>0<e>>>0)<<31>>31)|0}function MB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=c[b+24>>2]|0;e=c[d+24>>2]|0;return (b>>>0>e>>>0?1:(b>>>0<e>>>0)<<31>>31)|0}function NB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=OB(a,b,d,e)|0;if(!a)a=0;else a=c[a+24>>2]|0;return a|0}function OB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+32|0;f=g;a=c[(c[a+64>>2]|0)+68+(((b|0)==3?2:b)<<2)>>2]|0;if(!a)a=0;else{b=f+16|0;c[b>>2]=d;c[b+4>>2]=e;a=eb[c[a>>2]&63](a,f,4)|0}l=g;return a|0}function PB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=(b|0)==3?2:b;b=OB(a,f,d,e)|0;if(!b)b=0;else{e=a+64|0;d=c[(c[e>>2]|0)+56+(f<<2)>>2]|0;eb[c[d>>2]&63](d,b,2)|0;e=c[(c[e>>2]|0)+68+(f<<2)>>2]|0;eb[c[e>>2]&63](e,b,2)|0;fD(a,c[b+24>>2]|0)|0;bC(a,b);b=1}return b|0}function QB(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;c[46985]=b;g=c[b+64>>2]|0;f=0;while(1){if((f|0)==3)break;h=g+56+(f<<2)|0;d=c[h>>2]|0;a:do if(d|0){d=eb[c[d>>2]&63](d,0,128)|0;while(1){if(!d)break a;e=c[h>>2]|0;e=eb[c[e>>2]&63](e,d,8)|0;if((a[c[d+24>>2]>>0]|0)!=37){d=e;continue}i=d+16|0;PB(b,f,c[i>>2]|0,c[i+4>>2]|0)|0;d=e}}while(0);f=f+1|0}return}function RB(a){a=a|0;c[46985]=a;a=a+64|0;SB((c[a>>2]|0)+56|0);SB((c[a>>2]|0)+68|0);return}function SB(a){a=a|0;var b=0,d=0,e=0;b=0;while(1){if((b|0)==3)break;d=a+(b<<2)|0;e=c[d>>2]|0;if(e|0){Oz(e)|0;c[d>>2]=0}b=b+1|0}return}function TB(a,b,c){a=a|0;b=b|0;c=c|0;if(!(o4(b,c,a)|0))a=0;else a=D3(b)|0;return a|0}function UB(a,b){a=a|0;b=b|0;return Z3(b,a)|0}function VB(a){a=a|0;return m4(a)|0}function WB(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+32|0;e=b+12|0;d=b;c[4693]=c[4690];c[4694]=c[4691];c[e>>2]=a;c[e+4>>2]=D3(a)|0;c[e+8>>2]=0;c[d>>2]=18780;c[d+4>>2]=18656;c[d+8>>2]=18768;a=hF(e,d)|0;iD(0);l=b;return a|0}function XB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;if((e|0)!=0?(h=b+8|0,f=c[h>>2]|0,(f|0)<(c[b+4>>2]|0)):0){i=(c[b>>2]|0)+f|0;b=0;g=a[i>>0]|0;f=d;d=i;while(1){d=d+1|0;a[f>>0]=g;b=b+1|0;if(!(g<<24>>24!=10&(b|0)<(e|0)))break;g=a[d>>0]|0;if(!(g<<24>>24))break;else f=f+1|0}c[h>>2]=(c[h>>2]|0)+b}else b=0;return b|
function EI(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;q=s;o=s+40|0;p=s+36|0;r=s+32|0;e=NA(d,141280)|0;if(!e){j=1;e=137499}else{i=(a[e>>0]|0)==0;j=i&1;e=i?137499:e}h=c[b+152>>2]|0;i=(a[e>>0]|0)==116;if(!(h&256))if(i){m=(f2(e,137680)|0)==0;k=m?137499:e;m=m?1:j;n=8}else{k=e;m=j;n=8}else if(!(i?!(f2(e,137680)|0):0)){k=e;m=j;n=8}if((n|0)==8?!((m|0)!=0&(h&33554432|0)!=0):0)if(!((HJ(k,o,p)|0)<<24>>24)){hS(b,k);fS(b,137680);r=b+256|0;c[q>>2]=c[r>>2];c[q+4>>2]=c[r+4>>2];c[q+8>>2]=c[r+8>>2];c[q+12>>2]=c[r+12>>2];c[q+16>>2]=c[r+16>>2];c[q+20>>2]=c[r+20>>2];c[q+24>>2]=c[r+24>>2];c[q+28>>2]=c[r+28>>2];mS(b,q,1)}else{c[r>>2]=0;i=c[o>>2]|0;hS(b,i);fS(b,137680);GJ(d,r)|0;e=c[o+4>>2]|0;h=XO(d,c[47197]|0,0,0)|0;f=+g[p>>2];if(!e)iS(b,137615,h,f);else iS(b,e,h,f);r=(c[r>>2]|0)>>>1&1|2;p=b+256|0;c[q>>2]=c[p>>2];c[q+4>>2]=c[p+4>>2];c[q+8>>2]=c[p+8>>2];c[q+12>>2]=c[p+12>>2];c[q+16>>2]=c[p+16>>2];c[q+20>>2]=c[p+20>>2];c[q+24>>2]=c[p+24>>2];c[q+28>>2]=c[p+28>>2];mS(b,q,r);l6(i)}e=c[(c[(c[d+16>>2]|0)+8>>2]|0)+88>>2]|0;if(e|0)JJ(b,e);l=s;return}function FI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=(c[a>>2]|0)+28|0;c[g>>2]=(c[g>>2]|0)+1;g=(d&4|0)!=0;if(!g)GI(a,b,d);a:do if(!(d&1)){if(d&16|0){WR(a);f=gC(b)|0;while(1){if(!f)break;e=UA(b,f)|0;while(1){if(!e)break;II(a,e);e=WA(b,e)|0}f=hC(b,f)|0}XR(a);UR(a);e=gC(b)|0;while(1){if(!e)break;HI(a,e);e=hC(b,e)|0}VR(a);break}if(!(d&8)){f=gC(b)|0;while(1){if(!f)break a;HI(a,f);e=UA(b,f)|0;while(1){if(!e)break;HI(a,c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0);II(a,e);e=WA(b,e)|0}f=hC(b,f)|0}}UR(a);e=gC(b)|0;while(1){if(!e)break;if((JI(b,e)|0)<<24>>24)HI(a,e);e=hC(b,e)|0}VR(a);WR(a);f=gC(b)|0;while(1){if(!f)break;e=UA(b,f)|0;while(1){if(!e)break;if((KI(b,e)|0)<<24>>24)II(a,e);e=WA(b,e)|0}f=hC(b,f)|0}XR(a)}else{UR(a);e=gC(b)|0;while(1){if(!e)break;HI(a,e);e=hC(b,e)|0}VR(a);WR(a);f=gC(b)|0;while(1){if(!f)break;e=UA(b,f)|0;while(1){if(!e)break;II(a,e);e=WA(b,e)|0}f=hC(b,f)|0}XR(a)}while(0);if(g)GI(a,b,d);return}function GI(e,f,i){e=e|0;f=f|0;i=i|0;var j=0,k=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;R=l;l=l+128|0;y=R+72|0;P=R+64|0;J=R+112|0;K=R;L=R+104|0;M=f+16|0;N=(i&4|0)!=0;O=e+16|0;z=K+24|0;A=K+56|0;C=K+8|0;D=K+16|0;E=K+32|0;F=K+40|0;G=K+48|0;H=(i&8|0)==0;I=L+4|0;x=1;while(1){j=c[M>>2]|0;if((x|0)>(c[j+180>>2]|0))break;w=c[(c[j+184>>2]|0)+(x<<2)>>2]|0;if((EJ(e,w)|0)<<24>>24){if(N)GI(e,w,i);FJ(e,w);j=c[O>>2]|0;s=j+208|0;if(!(c[s>>2]|0))v=(b[j+260>>1]&1)!=0;else v=1;FT(NA(w,100333)|0);t=j+212|0;u=j+228|0;q=j+244|0;r=w+16|0;if(!(N|v^1)){p=(c[r>>2]|0)+16|0;c[y>>2]=c[p>>2];c[y+4>>2]=c[p+4>>2];c[y+8>>2]=c[p+8>>2];c[y+12>>2]=c[p+12>>2];c[y+16>>2]=c[p+16>>2];c[y+20>>2]=c[p+20>>2];c[y+24>>2]=c[p+24>>2];c[y+28>>2]=c[p+28>>2];iI(e,y);aS(e,c[s>>2]|0,c[u>>2]|0,c[q>>2]|0,c[t>>2]|0)}c[J>>2]=0;j=GJ(w,J)|0;if(!j)o=0;else{jS(e,j);o=c[J>>2]&1}j=d[(c[r>>2]|0)+112>>0]|0;do if(!(j&1)){if(j&2|0){j=$O(w,c[47188]|0,106557)|0;k=$O(w,c[47189]|0,106565)|0;Q=29;break}if(j&8|0){j=$O(w,c[47192]|0,106573)|0;k=$O(w,c[47193]|0,106581)|0;Q=29;break}if(j&4|0){j=$O(w,c[47190]|0,106589)|0;k=$O(w,c[47191]|0,106597)|0;Q=29;break}j=NA(w,141126)|0;if(!j)k=0;else k=(a[j>>0]|0)==0?0:j;j=NA(w,138032)|0;if(!j)j=k;else j=(a[j>>0]|0)==0?k:j;m=NA(w,101719)|0;if(m)k=(a[m>>0]|0)==0?k:m;if(!((o|0)!=0&(k|0)!=0)){m=NA(w,141280)|0;if(m|0?a[m>>0]|0:0){k=m;Q=29;break}j=(j|0)==0?137615:j;m=(k|0)==0?135101:k;c[L>>2]=0;if(!o){k=0;o=m}else{o=m;Q=31}}else Q=29}else{j=$O(w,c[47188]|0,106541)|0;k=$O(w,c[47189]|0,106549)|0;Q=29}while(0);if((Q|0)==29){c[L>>2]=0;j=(j|0)==0?137615:j;o=(k|0)==0?135101:k;Q=31}if((Q|0)==31){Q=0;if(!((HJ(o,L,y)|0)<<24>>24)){hS(e,o);k=1}else{hS(e,c[L>>2]|0);k=c[I>>2]|0;m=XO(w,c[47197]|0,0,0)|0;n=+g[y>>2];if(!k)iS(e,137615,m,n);else iS(e,k,m,n);k=(c[J>>2]|0)>>>1&1|2}}m=c[47196]|0;if((m|0?(B=OA(w,m)|0,B|0):0)?a[B>>0]|0:0)sS(e,+YO(w,c[47196]|0,1.0,0.0));p=c[J>>2]|0;m=c[47195]|0;do if(p&4){m=XO(w,m,1,0)|0;if(m|k|0){o=c[r>>2]|0;S=o+16|0;c[K>>2]=c[S>>2];c[K+4>>2]=c[S+4>>2];c[K+8>>2]=c[S+8>>2];c[K+12>>2]=c[S+12
function aQ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;g=j;a[g>>0]=b;a[g+1>>0]=0;g=cQ(g)|0;h=d+4|0;i=d+8|0;e=D3(g)|0;f=g;while(1){if((e|0)<=1)break;b=c[h>>2]|0;if(b>>>0>=(c[i>>2]|0)>>>0){iA(d,1)|0;b=c[h>>2]|0}k=a[f>>0]|0;c[h>>2]=b+1;a[b>>0]=k;e=e+-1|0;f=f+1|0}k=a[f>>0]|0;l6(g);l=j;return k|0}function bQ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;h=i;d=i+8|0;e=c[b>>2]|0;a:do if((a[e>>0]|0)!=35){c[h>>2]=d;f=0;while(1){if((f|0)>=8){d=0;break a}g=a[e+f>>0]|0;if(!(g<<24>>24)){d=0;break a}f=f+1|0;if(g<<24>>24==59)break;a[d>>0]=g;d=d+1|0}a[d>>0]=0;d=e6(h,23712,252,8,96)|0;if(!d)d=0;else{e=e+f|0;d=c[d+4>>2]|0}}else{h=a[e+1>>0]|0;d=h&255;b:do if((h|32)<<24>>24==120){h=0;g=2;while(1){if((g|0)>=8){f=h;break b}f=a[e+g>>0]|0;d=f&255;if((f+-65&255)>=6)if((f+-97&255)>=6)if((f+-48&255)<10)f=-48;else{f=h;break b}else f=-87;else f=-55;d=f+d|0;h=d+(h<<4)|0;g=g+1|0}}else{f=0;g=1;while(1){if((g|0)>=8)break b;h=a[e+g>>0]|0;d=h&255;if((h+-48&255)>=10)break b;f=(f*10|0)+-48+d|0;g=g+1|0}}while(0);d=(d|0)==59;e=d?e+(g+1)|0:e;d=d?f:0}while(0);c[b>>2]=e;l=i;return d|0}function cQ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+1056|0;i=n;k=n+8|0;c[i>>2]=b;hA(k,1024,n+24|0);j=k+8|0;m=k+4|0;while(1){c[i>>2]=b+1;d=a[b>>0]|0;if(!(d<<24>>24))break;b=d&255;if(d<<24>>24==38){b=bQ(i)|0;if(!b){b=38;e=c[j>>2]|0;h=7}else h=6}else h=6;do if((h|0)==6){h=0;e=c[j>>2]|0;if(b>>>0<127)h=7;else{d=c[m>>2]|0;e=d>>>0>=e>>>0;f=b>>>6;g=(b&63|128)&255;if(b>>>0<2047){if(e){iA(k,1)|0;b=c[m>>2]|0}else b=d;c[m>>2]=b+1;a[b>>0]=f|192;b=c[m>>2]|0;if(b>>>0>=(c[j>>2]|0)>>>0){iA(k,1)|0;b=c[m>>2]|0}c[m>>2]=b+1;a[b>>0]=g;break}if(e){iA(k,1)|0;d=c[m>>2]|0}c[m>>2]=d+1;a[d>>0]=b>>>12|224;b=c[m>>2]|0;if(b>>>0>=(c[j>>2]|0)>>>0){iA(k,1)|0;b=c[m>>2]|0}c[m>>2]=b+1;a[b>>0]=f&63|128;b=c[m>>2]|0;if(b>>>0>=(c[j>>2]|0)>>>0){iA(k,1)|0;b=c[m>>2]|0}c[m>>2]=b+1;a[b>>0]=g}}while(0);if((h|0)==7){d=c[m>>2]|0;if(d>>>0>=e>>>0){iA(k,1)|0;d=c[m>>2]|0}c[m>>2]=d+1;a[d>>0]=b}b=c[i>>2]|0}b=c[m>>2]|0;if(b>>>0>=(c[j>>2]|0)>>>0){iA(k,1)|0;b=c[m>>2]|0}a[b>>0]=0;j=c[k>>2]|0;c[m>>2]=j;m=Y3(j)|0;lA(k);l=n;return m|0}function dQ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+1040|0;h=j;hA(h,1024,j+16|0);i=h+4|0;g=h+8|0;while(1){d=b+1|0;e=a[b>>0]|0;f=c[g>>2]|0;if(!(e<<24>>24))break;if((e&255)<127){b=c[i>>2]|0;if(b>>>0>=f>>>0){iA(h,1)|0;b=c[i>>2]|0}c[i>>2]=b+1;a[b>>0]=e;b=d;continue}else{e=a[d>>0]&63|e<<6&255;d=c[i>>2]|0;if(d>>>0>=f>>>0){iA(h,1)|0;d=c[i>>2]|0}c[i>>2]=d+1;a[d>>0]=e;b=b+2|0;continue}}b=c[i>>2]|0;if(b>>>0>=f>>>0){iA(h,1)|0;b=c[i>>2]|0}a[b>>0]=0;g=c[h>>2]|0;c[i>>2]=g;i=Y3(g)|0;lA(h);l=j;return i|0}function eQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+80|0;e=n+48|0;d=n+32|0;f=n+64|0;g=n+16|0;i=n;j=b+16|0;k=a+16|0;m=c[k>>2]|0;if(((+h[j>>3]>=+h[m+48>>3]?+h[m+64>>3]>=+h[b>>3]:0)?+h[b+24>>3]>=+h[m+56>>3]:0)?+h[m+72>>3]>=+h[b+8>>3]:0){m=m+16|0;c[d>>2]=c[j>>2];c[d+4>>2]=c[j+4>>2];c[d+8>>2]=c[j+8>>2];c[d+12>>2]=c[j+12>>2];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];fQ(g,d,e);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[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];BP(i,d,e);c[f>>2]=a;c[f+4>>2]=0;d=c[(c[(c[(c[k>>2]|0)+8>>2]|0)+4>>2]|0)+12>>2]|0;c[e>>2]=c[i>>2];c[e+4>>2]=c[i+4>>2];c[e+8>>2]=c[i+8>>2];c[e+12>>2]=c[i+12>>2];d=vb[d&127](f,e)|0}else d=0;l=n;return d|0}function fQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=(+h[b+8>>3]+ +h[c+8>>3])*.5;h[a>>3]=(+h[b>>3]+ +h[c>>3])*.5;h[a+8>>3]=d;return}function gQ(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0.0,g=0,i=0.0,j=0,k=0,m=0,n=0;e=l;l=l+80|0;j=e+64|0;k=e+48|0;m=e;n=e+32|0;g=e+16|0;h[m>>3]=+h[a+24>>3]*.5;h[m+8>>3]=+h[a+32>>3]*.5;a=a+56|0;c[k>>2]=c[a>>2];c[k+4>>2]=c[a+4>>2];c[k+8>>2]=c[a+8>>2];c[k+12>>2]=c[a+12>>2];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];BP(n,k,j);i=+h[n>>3];f=+h[n+8>>3];c[k>>2]=c[a>>2];c[k+4>>2]=c[a+4>>2];c[k+8>>2]=c[a+8>>2];c[k+12>>2]=c[a+12>>2];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];CP(g,k,j);d=+h[g+8>>3];if((+h[b+16>>
function pq(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0.0,o=0.0,p=0,q=0.0,r=0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0,B=0.0,C=0,D=0,E=0,F=0,I=0,J=0.0,K=0.0,L=0,M=0,N=0,O=0.0,P=0.0,Q=0,R=0,T=0,U=0,V=0,W=0,X=0,Y=0.0,Z=0,_=0.0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;ha=l;l=l+32|0;ba=ha+24|0;ca=ha+20|0;da=ha+16|0;fa=ha+12|0;ga=ha+8|0;X=ha;q=+h[e>>3];p=e+24|0;o=+h[p>>3];r=e+32|0;n=+h[r>>3];Y=+h[e+72>>3];Z=c[e+80>>2]|0;_=+h[e+88>>3];t=+h[e+96>>3];$=c[e+104>>2]|0;c[ba>>2]=0;c[ca>>2]=10;c[da>>2]=0;c[fa>>2]=0;c[ga>>2]=0;h[X>>3]=0.0;if(!((b|0)==0|(Z|0)<1)?(aa=c[b>>2]|0,m=c[b+4>>2]|0,!((a|0)<1|(m|0)<1)):0){if((m|0)<(c[e+52>>2]|0)){s=0;j=0;k=0}else{k=IK(a*80|0)|0;c[da>>2]=k;c[fa>>2]=IK(80)|0;c[ga>>2]=IK(80)|0;s=1;j=k}c[i>>2]=0;if((aa|0)==(m|0)){R=sw(b,1)|0;T=c[R+20>>2]|0;U=c[R+24>>2]|0;V=c[d+20>>2]|0;W=c[d+24>>2]|0;Q=c[d+28>>2]|0;a:do if(c[e+16>>2]|0){T4(c[e+108>>2]|0);k=S(aa,a)|0;j=0;while(1){if((j|0)>=(k|0))break a;h[g+(j<<3)>>3]=+Pw();j=j+1|0}}while(0);if(o<0.0){o=+aq(R,a,g);h[p>>3]=o}if(n<0.0){h[r>>3]=.2;n=.2}if(q>=0.0){h[e>>3]=-1.0;q=-1.0}O=1.0-q;P=+H(+o,+O);K=+H(+n,+((2.0-q)/3.0))/o;M=a<<3;L=IK(M)|0;M=S(aa,M)|0;N=IK(M)|0;F=(s|0)!=0;I=e+116|0;J=K*.2;C=q==-1.0;D=e+64|0;E=(f|0)!=0;j=0;A=0;B=0.0;z=t;b:while(1){A=A+1|0;B6(N|0,g|0,M|0)|0;if(F)j=ew(a,aa,10,g,(c[I>>2]|0)==0?0:f)|0;s=0;o=0.0;c:while(1){if((s|0)<(aa|0))k=0;else break;while(1){if((k|0)>=(a|0))break;h[L+(k<<3)>>3]=0.0;k=k+1|0}x=s+1|0;d=T+(x<<2)|0;y=S(s,a)|0;m=c[T+(s<<2)>>2]|0;while(1){if((m|0)>=(c[d>>2]|0))break;p=U+(m<<2)|0;k=c[p>>2]|0;d:do if((k|0)!=(s|0)){n=+Xw(g,a,s,k);k=0;while(1){if((k|0)>=(a|0))break d;t=n*(K*(+h[g+(k+y<<3)>>3]-+h[g+((S(c[p>>2]|0,a)|0)+k<<3)>>3]));w=L+(k<<3)|0;h[w>>3]=+h[w>>3]-t;k=k+1|0}}while(0);m=m+1|0}p=V+(x<<2)|0;d=c[V+(s<<2)>>2]|0;while(1){if((d|0)>=(c[p>>2]|0))break;r=W+(d<<2)|0;k=c[r>>2]|0;e:do if((k|0)!=(s|0)){n=+Ww(g,a,s,k);m=Q+(d<<3)|0;k=0;while(1){if((k|0)>=(a|0))break e;q=+h[m>>3];t=n-q;t=t*(t*(J*(+h[g+(k+y<<3)>>3]-+h[g+((S(c[r>>2]|0,a)|0)+k<<3)>>3])))/n;w=L+(k<<3)|0;h[w>>3]=+h[w>>3]+(n<q?t:-t);k=k+1|0}}while(0);d=d+1|0}f:do if(!F)if(E&(c[I>>2]|0)!=0){k=0;while(1){if((k|0)==(aa|0)){n=0.0;k=0;break f}g:do if((k|0)!=(s|0)){q=+Ww(g,a,s,k);d=f+(k<<3)|0;p=S(k,a)|0;t=q*q;m=0;while(1){if((m|0)>=(a|0))break g;r=L+(m<<3)|0;if(C)n=t;else n=+H(+q,+O);h[r>>3]=+h[r>>3]+P*+h[d>>3]*(+h[g+(m+y<<3)>>3]-+h[g+(m+p<<3)>>3])/n;m=m+1|0}}while(0);k=k+1|0}}else{k=0;while(1){if((k|0)==(aa|0)){n=0.0;k=0;break f}h:do if((k|0)!=(s|0)){q=+Ww(g,a,s,k);d=S(k,a)|0;t=q*q;m=0;while(1){if((m|0)>=(a|0))break h;p=L+(m<<3)|0;if(C)n=t;else n=+H(+q,+O);h[p>>3]=+h[p>>3]+P*(+h[g+(m+y<<3)>>3]-+h[g+(m+d<<3)>>3])/n;m=m+1|0}}while(0);k=k+1|0}}else{_v(j,+h[D>>3],g+(y<<3)|0,s,ba,ca,da,fa,ga,X,i);d=c[ba>>2]|0;if(c[i>>2]|0)break b;p=c[ga>>2]|0;r=c[fa>>2]|0;s=c[da>>2]|0;k=0;while(1){if((k|0)>=(d|0)){n=0.0;k=0;break f}q=+h[p+(k<<3)>>3];q=q>1.0e-15?q:1.0e-15;u=r+(k<<3)|0;v=S(k,a)|0;t=q*q;m=0;while(1){if((m|0)>=(a|0))break;w=L+(m<<3)|0;if(C)n=t;else n=+H(+q,+O);h[w>>3]=+h[w>>3]+P*+h[u>>3]*(+h[g+(m+y<<3)>>3]-+h[s+(m+v<<3)>>3])/n;m=m+1|0}k=k+1|0}}while(0);while(1){if((k|0)>=(a|0))break;t=+h[L+(k<<3)>>3];n=n+t*t;k=k+1|0}n=+G(+n);o=o+n;i:do if(n>0.0){k=0;while(1){if((k|0)>=(a|0)){k=0;break i}w=L+(k<<3)|0;h[w>>3]=+h[w>>3]/n;k=k+1|0}}else k=0;while(0);while(1){if((k|0)>=(a|0)){s=x;continue c}w=g+(k+y<<3)|0;h[w>>3]=+h[w>>3]+z*+h[L+(k<<3)>>3];k=k+1|0}}if(j|0)lw(j);z=+gq($,z,o,B,_);if(!((A|0)<(Z|0)&z>Y)){ea=75;break}else B=o}if((ea|0)==75?c[e+112>>2]|0:0)hq(a,R,g);l6(N);if((R|0)!=(b|0))nw(R);l6(L);j=c[da>>2]|0;k=j}else c[i>>2]=-100;if(k|0)l6(j);j=c[fa>>2]|0;if(j|0)l6(j);j=c[ga>>2]|0;if(j|0)l6(j)}l=ha;return}function qq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;n=c[b+20>>2]|0;o=c[b+24>>2]|0;p=IK(a<<3)|0;m=c[b>>2]|0;k=0;a:while(1){if((k|0)<(m|0))b=0;else break;while(1){if((b|0)>=(a|0))break;h[p+(b<<3)>>3]=0.0;b=b+1|0}l=k+1|0;j=c[n+(l<<2)>>2]|0;i=c[n+(k<<2)>>2]|0;b=0;while(1){if((i|0)>=(j|0))break;e=c[o+(i<<2)>>2]|0;if((e|0)!=(k|0)){g=S(e,a)|0;e=0;while(1){if((e|0)>=(a|0))break;q=p+(e<<3)|0;h[q>>3]=+h[d+(e+g<<3)>>3]
function NM(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.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,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,P=0;K=l;l=l+304|0;A=K+272|0;z=K+208|0;F=K+96|0;H=K+32|0;I=K+16|0;J=K;r=K+192|0;y=K+176|0;i=K+160|0;B=K+296|0;C=K+288|0;j=c[d>>2]|0;w=c[j>>2]&3;k=j+-48|0;D=c[((w|0)==2?j:k)+40>>2]|0;t=F+16|0;w=(c[(c[((w|0)==3?j:j+48|0)+40>>2]|0)+16>>2]|0)+16|0;x=j+16|0;E=(c[x>>2]|0)+16|0;c[z>>2]=c[w>>2];c[z+4>>2]=c[w+4>>2];c[z+8>>2]=c[w+8>>2];c[z+12>>2]=c[w+12>>2];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];OM(r,z,A);c[F>>2]=c[r>>2];c[F+4>>2]=c[r+4>>2];c[F+8>>2]=c[r+8>>2];c[F+12>>2]=c[r+12>>2];c[t>>2]=c[r>>2];c[t+4>>2]=c[r+4>>2];c[t+8>>2]=c[r+8>>2];c[t+12>>2]=c[r+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];r=F+32|0;E=F+48|0;w=(c[D+16>>2]|0)+16|0;x=(c[x>>2]|0)+56|0;c[z>>2]=c[w>>2];c[z+4>>2]=c[w+4>>2];c[z+8>>2]=c[w+8>>2];c[z+12>>2]=c[w+12>>2];c[A>>2]=c[x>>2];c[A+4>>2]=c[x+4>>2];c[A+8>>2]=c[x+8>>2];c[A+12>>2]=c[x+12>>2];OM(y,z,A);c[E>>2]=c[y>>2];c[E+4>>2]=c[y+4>>2];c[E+8>>2]=c[y+8>>2];c[E+12>>2]=c[y+12>>2];c[r>>2]=c[y>>2];c[r+4>>2]=c[y+4>>2];c[r+8>>2]=c[y+8>>2];c[r+12>>2]=c[y+12>>2];c[J>>2]=c[y>>2];c[J+4>>2]=c[y+4>>2];c[J+8>>2]=c[y+8>>2];c[J+12>>2]=c[y+12>>2];a:do if((e|0)!=1&(a[195236]|0)==0){m=+h[F>>3];n=+h[E>>3];L=m-n;o=+h[F+8>>3];p=+h[F+56>>3];s=o-p;q=s*s;if(L*L+q<1.0e-06){c[t>>2]=c[F>>2];c[t+4>>2]=c[F+4>>2];c[t+8>>2]=c[F+8>>2];c[t+12>>2]=c[F+12>>2];c[r>>2]=c[E>>2];c[r+4>>2]=c[E+4>>2];c[r+8>>2]=c[E+8>>2];c[r+12>>2]=c[E+12>>2];y=F+24|0;x=F+40|0;n=0.0;m=0.0}else{M=n-m;L=+G(+(M*M+q));w=c[(c[(c[b+60>>2]|0)+16>>2]|0)+248>>2]|0;N=+((S(w,e+-1|0)|0)/2|0|0);q=s*N/L;h[t>>3]=m+q;m=M*N/L;y=F+24|0;h[y>>3]=o+m;h[r>>3]=n+q;x=F+40|0;h[x>>3]=p+m;m=+(0-w|0);n=M*m/L;m=s*m/L}f=(f|0)==6;u=C+4|0;v=B+4|0;j=0;while(1){if((j|0)>=(e|0))break a;w=c[d+(j<<2)>>2]|0;k=w+-48|0;b:do if((c[((c[w>>2]&3|0)==2?w:k)+40>>2]|0)==(D|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[J>>2]=c[E>>2];c[J+4>>2]=c[E+4>>2];c[J+8>>2]=c[E+8>>2];c[J+12>>2]=c[E+12>>2];i=0;while(1){if((i|0)==4)break b;O=H+(i<<4)|0;P=F+(i<<4)|0;c[O>>2]=c[P>>2];c[O+4>>2]=c[P+4>>2];c[O+8>>2]=c[P+8>>2];c[O+12>>2]=c[P+12>>2];i=i+1|0}}else{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];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];i=0;while(1){if((i|0)==4)break b;P=H+(3-i<<4)|0;O=F+(i<<4)|0;c[P>>2]=c[O>>2];c[P+4>>2]=c[O+4>>2];c[P+8>>2]=c[O+8>>2];c[P+12>>2]=c[O+12>>2];i=i+1|0}}while(0);if(f){c[u>>2]=4;c[C>>2]=z;i=0;while(1){if((i|0)==4)break;P=z+(i<<4)|0;O=H+(i<<4)|0;c[P>>2]=c[O>>2];c[P+4>>2]=c[O+4>>2];c[P+8>>2]=c[O+8>>2];c[P+12>>2]=c[O+12>>2];i=i+1|0}c[A>>2]=c[C>>2];c[A+4>>2]=c[C+4>>2];DY(A,B);bO(w,c[((c[w>>2]&3|0)==2?w:k)+40>>2]|0,c[B>>2]|0,c[v>>2]|0,g)}else bO(w,c[((c[w>>2]&3|0)==2?w:k)+40>>2]|0,H,4,g);c[z>>2]=c[I>>2];c[z+4>>2]=c[I+4>>2];c[z+8>>2]=c[I+8>>2];c[z+12>>2]=c[I+12>>2];c[A>>2]=c[J>>2];c[A+4>>2]=c[J+4>>2];c[A+8>>2]=c[J+8>>2];c[A+12>>2]=c[J+12>>2];wO(b,w,z,A);h[t>>3]=m+ +h[t>>3];h[y>>3]=n+ +h[y>>3];h[r>>3]=m+ +h[r>>3];h[x>>3]=n+ +h[x>>3];j=j+1|0}}else{if((f|0)==4){PM(i,b);c[A>>2]=c[i>>2];c[A+4>>2]=c[i+4>>2];c[A+8>>2]=c[i+8>>2];c[A+12>>2]=c[i+12>>2];QM(F,A)}bO(j,c[((c[j>>2]&3|0)==2?j:k)+40>>2]|0,F,4,g);c[z>>2]=c[I>>2];c[z+4>>2]=c[I+4>>2];c[z+8>>2]=c[I+8>>2];c[z+12>>2]=c[I+12>>2];c[A>>2]=c[J>>2];c[A+4>>2]=c[J+4>>2];c[A+8>>2]=c[J+8>>2];c[A+12>>2]=c[J+12>>2];wO(b,j,z,A)}while(0);l=K;return}function OM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[b+8>>3]+ +h[c+8>>3];h[a>>3]=+h[b>>3]+ +h[c>>3];h[a+8>>3]=d;return}function PM(a,b){a=a|0;b=b|0;b=c[b+16>>2]|0;h[23326]=(+h[b+16>>3]+ +h[b+32>>3])*.5;h[23327]=(+h[b+24>>3]+ +h[b+40>>3])*.5;c[a>>2]=c[46652];c[a+4>>2]=c[46653];c[a+8>>2]=c[46654];c[a+12>>2]=c[46655];return}function QM(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0.0,g=0.0,i=0.0;g=+h[a>>3];d=+h[a+48>>3];i=(g+d)*.5;f=+h[a+8>>3];c=+h[a+56>>3];e=(f+c)*.5;g=d-g;f=c-f;f=+G(+(g*g+f*f))/5.0;g=+h[b>>3]-i;c=+h[b+8>>3]-e;d=+G(+(g*g+c*c));if(!(d=
function tw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=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.0;if(a){if((c[a+32>>2]|0)!=1)Aa(95220,95244,187,95375);s=a+36|0;d=c[s>>2]|0;if((d&2|0)==0?(p=(b|0)!=0,(d&1|0)==0|p^1):0)if((c[a>>2]|0)==(c[a+4>>2]|0)?(t=mw(a)|0,(t|0)!=0):0){k=c[a+20>>2]|0;l=c[a+24>>2]|0;m=c[t+20>>2]|0;n=c[t+24>>2]|0;o=c[a>>2]|0;q=IK(o<<2)|0;b=0;while(1){if((b|0)>=(o|0))break;c[q+(b<<2)>>2]=-1;b=b+1|0}b=a+28|0;d=t+28|0;a:do switch((p?8:c[a+16>>2]|0)|0){case 1:{i=c[b>>2]|0;g=c[d>>2]|0;b=0;while(1){if((b|0)>(o|0)){d=0;break}if((c[k+(b<<2)>>2]|0)==(c[m+(b<<2)>>2]|0))b=b+1|0;else{b=0;break a}}b:while(1){if((d|0)>=(o|0)){r=54;break a}e=k+(d<<2)|0;f=d+1|0;a=k+(f<<2)|0;b=c[e>>2]|0;while(1){if((b|0)>=(c[a>>2]|0))break;c[q+(c[l+(b<<2)>>2]<<2)>>2]=b;b=b+1|0}b=c[m+(d<<2)>>2]|0;a=c[m+(f<<2)>>2]|0;d=b;while(1){if((d|0)>=(a|0))break;if((c[q+(c[n+(d<<2)>>2]<<2)>>2]|0)<(c[e>>2]|0)){b=0;break a}else d=d+1|0}while(1){if((b|0)>=(a|0)){d=f;continue b}u=+h[g+(b<<3)>>3]-+h[i+(c[q+(c[n+(b<<2)>>2]<<2)>>2]<<3)>>3];if((u>=0.0?u:-u)>1.0e-07){b=0;break a}else b=b+1|0}}}case 2:{j=c[b>>2]|0;i=c[d>>2]|0;b=0;while(1){if((b|0)>(o|0)){d=0;break}if((c[k+(b<<2)>>2]|0)==(c[m+(b<<2)>>2]|0))b=b+1|0;else{b=0;break a}}c:while(1){if((d|0)>=(o|0)){r=54;break a}f=k+(d<<2)|0;g=d+1|0;a=k+(g<<2)|0;b=c[f>>2]|0;while(1){if((b|0)>=(c[a>>2]|0))break;c[q+(c[l+(b<<2)>>2]<<2)>>2]=b;b=b+1|0}d=c[m+(d<<2)>>2]|0;e=c[m+(g<<2)>>2]|0;b=d;while(1){if((b|0)>=(e|0)){b=d;break}if((c[q+(c[n+(b<<2)>>2]<<2)>>2]|0)<(c[f>>2]|0)){b=0;break a}else b=b+1|0}while(1){if((b|0)>=(e|0)){d=g;continue c}d=b<<1;a=c[q+(c[n+(b<<2)>>2]<<2)>>2]<<1;u=+h[i+(d<<3)>>3]-+h[j+(a<<3)>>3];if((u>=0.0?u:-u)>1.0e-07){b=0;break a}u=+h[i+((d|1)<<3)>>3]-+h[j+((a|1)<<3)>>3];if((u>=0.0?u:-u)>1.0e-07){b=0;break a}else b=b+1|0}}}case 4:{i=c[b>>2]|0;f=c[d>>2]|0;b=0;d:while(1){if((b|0)>=(o|0)){r=54;break a}e=k+(b<<2)|0;g=b+1|0;a=k+(g<<2)|0;d=c[e>>2]|0;while(1){if((d|0)>=(c[a>>2]|0))break;c[q+(c[l+(d<<2)>>2]<<2)>>2]=d;d=d+1|0}b=c[m+(b<<2)>>2]|0;a=c[m+(g<<2)>>2]|0;d=b;while(1){if((d|0)>=(a|0))break;if((c[q+(c[n+(d<<2)>>2]<<2)>>2]|0)<(c[e>>2]|0)){b=0;break a}else d=d+1|0}while(1){if((b|0)>=(a|0)){b=g;continue d}if((c[f+(b<<2)>>2]|0)==(c[i+(c[q+(c[n+(b<<2)>>2]<<2)>>2]<<2)>>2]|0))b=b+1|0;else{b=0;break a}}}}case 8:{a=0;e:while(1){if((a|0)>=(o|0)){r=54;break a}e=k+(a<<2)|0;f=a+1|0;d=k+(f<<2)|0;b=c[e>>2]|0;while(1){if((b|0)>=(c[d>>2]|0))break;c[q+(c[l+(b<<2)>>2]<<2)>>2]=b;b=b+1|0}d=c[m+(f<<2)>>2]|0;b=c[m+(a<<2)>>2]|0;while(1){if((b|0)>=(d|0)){a=f;continue e}if((c[q+(c[n+(b<<2)>>2]<<2)>>2]|0)<(c[e>>2]|0)){b=0;break a}else b=b+1|0}}}default:b=0}while(0);if((r|0)==54){d=c[s>>2]|0;if(p)b=1;else{c[s>>2]=d|2;b=3}c[s>>2]=b|d;b=1}l6(q);nw(t)}else b=0;else b=1}else b=0;return b|0}function uw(a){a=a|0;var b=0,d=0,e=0,f=0;if(!a)b=0;else{e=a+8|0;f=a+40|0;b=ww(c[a>>2]|0,c[a+4>>2]|0,c[e>>2]|0,c[a+16>>2]|0,c[f>>2]|0,c[a+32>>2]|0)|0;d=a+20|0;B6(c[b+20>>2]|0,c[d>>2]|0,(c[a>>2]<<2)+4|0)|0;B6(c[b+24>>2]|0,c[a+24>>2]|0,c[(c[d>>2]|0)+(c[a>>2]<<2)>>2]<<2|0)|0;d=c[a+28>>2]|0;if(d|0)B6(c[b+28>>2]|0,d|0,S(c[e>>2]|0,c[f>>2]|0)|0)|0;c[b+36>>2]=c[a+36>>2];c[b+8>>2]=c[e>>2]}return b|0}function vw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0.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;r=c[a+20>>2]|0;t=c[a+24>>2]|0;u=c[b+20>>2]|0;v=c[b+24>>2]|0;if(!((a|0)!=0&(b|0)!=0))Aa(95282,95244,973,95289);s=c[a+32>>2]|0;if(!((s|0)==1?(s|0)==(c[b+32>>2]|0):0))Aa(95306,95244,974,95289);f=a+16|0;d=c[f>>2]|0;if((d|0)!=(c[b+16>>2]|0))Aa(95356,95244,975,95289);q=c[a>>2]|0;e=c[a+4>>2]|0;if(((q|0)==(c[b>>2]|0)?(e|0)==(c[b+4>>2]|0):0)?(w=ow(q,e,(c[b+8>>2]|0)+(c[a+8>>2]|0)|0,d,1)|0,w|0):0){o=c[w+20>>2]|0;p=c[w+24>>2]|0;s=IK(e<<2)|0;d=0;while(1){if((d|0)>=(e|0))break;c[s+(d<<2)>>2]=-1;d=d+1|0}c[o>>2]=0;d=a+28|0;a=b+28|0;e=w+28|0;a:do switch(c[f>>2]|0){case 1:{m=c[d>>2]|0;l=c[a>>2]|0;j=c[e>>2]|0;d=0;b=0;while(1){if((b|0)>=(q|0))break a;k=b+1|0;e=r+(k<<2)|0;a=c[r+(b<<2)>>2]|0;while(1){if((a|0)>=(c[e>>2]|0))break;n=t+(a<<2)|0;c[s+(c[n>>2]<<2)>>2]=d;c[p+(d<<2)>>2]=c[n>>2];h[j+(d<<3)>>3]=+h[m+(a<<3)>>3];a=a+1|0;d=d+1|0}f=u+(k<<2)|0;g=o+(b<<2)|0;b
function Ol(a){a=a|0;var d=0,e=0,f=0,g=0;g=a+16|0;a=c[g>>2]|0;if(b[a+236>>1]|0)Aa(88706,88689,190,88725);d=c[a+196>>2]|0;a=(b[a+238>>1]<<6)+192|0;if(!d)a=IK(a)|0;else a=KK(d,a)|0;e=a+64|0;a=c[g>>2]|0;c[a+196>>2]=e;a=b[a+238>>1]|0;while(1){d=e+(a<<6)|0;if((a|0)<=-1)break;a=a+-1|0;e=e+(a<<6)|0;f=d+64|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));e=c[(c[g>>2]|0)+196>>2]|0}c[e+(a<<6)+8>>2]=0;c[d>>2]=0;e=HK(8)|0;g=c[g>>2]|0;f=c[g+196>>2]|0;c[f+(a<<6)+12>>2]=e;c[f+(a<<6)+4>>2]=e;c[f+(a<<6)+56>>2]=0;h[f+(a<<6)+24>>3]=1.0;h[f+(a<<6)+16>>3]=1.0;h[f+(a<<6)+40>>3]=1.0;h[f+(a<<6)+32>>3]=1.0;g=g+236|0;b[g>>1]=(b[g>>1]|0)+-1<<16>>16;return}function Pl(b){b=b|0;var d=0,e=0,f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0;j=b+16|0;if(c[(c[j>>2]|0)+96>>2]|0){m=b+48|0;k=dg(c[((c[b>>2]&3|0)==3?b:m)+40>>2]|0)|0;d=c[(c[(c[((c[b>>2]&3|0)==3?b:m)+40>>2]|0)+16>>2]|0)+232>>2]|0;l=Ql(k,b)|0;n=k+16|0;e=c[n>>2]|0;g=c[e+196>>2]|0;o=d+-1|0;i=c[c[g+(o<<6)+4>>2]>>2]|0;if(!i)f=+h[(c[(c[c[g+(d<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+ +h[g+(d<<6)+24>>3]+ +(c[e+252>>2]|0);else f=+h[(c[i+16>>2]|0)+24>>3]-+h[g+(o<<6)+16>>3];d=Rl(k,o,l)|0;k=c[(c[j>>2]|0)+96>>2]|0;q=+h[k+24>>3];p=+h[k+32>>3];j=(c[(c[n>>2]|0)+116>>2]&1|0)==0;r=j?p:q;g=d+16|0;e=c[g>>2]|0;h[e+80>>3]=r;l=~~(r*.5);p=(j?q:p)*.5;h[e+96>>3]=p;h[e+88>>3]=p;c[e+104>>2]=k;h[e+24>>3]=+(l+~~f|0);e=kh(d,c[((c[b>>2]&3|0)==3?b:m)+40>>2]|0,b)|0;e=c[e+16>>2]|0;h[e+16>>3]=-+h[(c[g>>2]|0)+88>>3];h[e+56>>3]=+h[(c[(c[((c[b>>2]&3|0)==3?b:m)+40>>2]|0)+16>>2]|0)+96>>3];a[e+112>>0]=4;e=b+-48|0;d=kh(d,c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0,b)|0;g=c[g>>2]|0;d=c[d+16>>2]|0;h[d+16>>3]=+h[g+96>>3];h[d+56>>3]=+h[(c[(c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0)+16>>2]|0)+88>>3];a[d+112>>0]=4;d=c[(c[n>>2]|0)+196>>2]|0;e=d+(o<<6)+16|0;f=+(l|0);if(+h[e>>3]<f)h[e>>3]=f;d=d+(o<<6)+24|0;if(+h[d>>3]<f)h[d>>3]=f;c[g+112>>2]=b}return}function Ql(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;j=n+8|0;f=n+4|0;g=n;d=c[b>>2]&3;e=c[((d|0)==3?b:b+48|0)+40>>2]|0;k=(c[(c[e+16>>2]|0)+232>>2]|0)+-1|0;a=c[(c[a+16>>2]|0)+196>>2]|0;h=c[a+(k<<6)+4>>2]|0;a=c[a+(k<<6)>>2]|0;k=j+8|0;c[k>>2]=-1;c[j>>2]=-1;m=j+12|0;c[m>>2]=a;i=j+4|0;c[i>>2]=a;Sl(e,c[((d|0)==2?b:b+-48|0)+40>>2]|0,f,g);f=c[f>>2]|0;g=c[g>>2]|0;d=0;e=a;b=-1;while(1){if((d|0)>=(e|0))break;e=e+-1|0;Tl(c[h+(d<<2)>>2]|0,j,f,g);if((d|0)!=(e|0))Tl(c[h+(e<<2)>>2]|0,j,f,g);a=c[i>>2]|0;b=c[j>>2]|0;if((a-b|0)<2)break;else d=d+1|0}if((b|0)>(a|0))a=(c[m>>2]|0)+(c[k>>2]|0)|0;else a=a+b|0;l=n;return (a+1|0)/2|0|0}function Rl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=a+16|0;e=c[(c[g>>2]|0)+196>>2]|0;f=c[e+(b<<6)+4>>2]|0;e=(c[e+(b<<6)>>2]<<2)+8|0;if(!f)f=IK(e)|0;else f=KK(f,e)|0;e=c[(c[g>>2]|0)+196>>2]|0;c[e+(b<<6)+4>>2]=f;e=c[e+(b<<6)>>2]|0;while(1){if((e|0)<=(d|0))break;h=e+-1|0;i=c[f+(h<<2)>>2]|0;c[f+(e<<2)>>2]=i;i=(c[i+16>>2]|0)+236|0;c[i>>2]=(c[i>>2]|0)+1;e=h}h=ph(a)|0;i=f+(d<<2)|0;c[i>>2]=h;h=c[h+16>>2]|0;c[h+236>>2]=d;c[h+232>>2]=b;g=(c[(c[g>>2]|0)+196>>2]|0)+(b<<6)|0;h=(c[g>>2]|0)+1|0;c[g>>2]=h;c[f+(h<<2)>>2]=0;return c[i>>2]|0}function Sl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;a=c[(c[a+16>>2]|0)+236>>2]|0;b=c[(c[b+16>>2]|0)+236>>2]|0;f=(a|0)>(b|0);c[d>>2]=f?b:a;c[e>>2]=f?a:b;return}function Tl(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,m=0,n=0,o=0;o=l;l=l+16|0;h=o+4|0;g=o;b=c[b+16>>2]|0;do if((a[b+156>>0]|0)==1){n=c[b+236>>2]|0;m=d+4|0;j=c[b+180>>2]|0;if(c[b+176>>2]|0){b=0;g=0;h=0;while(1){i=c[j+(h<<2)>>2]|0;if(!i)break;i=c[(c[(c[((c[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;k=(i|0)>(e|0);b=k?((i|0)<(f|0)?b:1):b;g=k?g:1;h=h+1|0}if(g<<24>>24!=0&b<<24>>24==0){c[d>>2]=n+1;break}if(!(g<<24>>24==0&b<<24>>24!=0))break;c[m>>2]=n+-1;break}if((c[b+184>>2]|0)!=2)Aa(88669,88689,63,88696);k=c[j>>2]|0;j=c[j+4>>2]|0;Sl(c[((c[k>>2]&3|0)==2?k:k+-48|0)+40>>2]|0,c[((c[j>>2]&3|0)==2?j:j+-48|0)+40>>2]|0,h,g);j=c[g>>2]|0;k=d+8|0;if((j|0)<=(e|0)){c[d>>2]=n;c[k>>2]=n;break}i=c[h>>2]|0;h=d+12|0;if((i|0)>=(f|0)){c[m>>2]=n;c[h>>2]=n;break}b=(i|0)<(e|0);g=(j|0)>(f|0);if(!(g&b)){if(!(!b?!((j|0)<(f|0)&(i|0)==(e|0)):0))c[k>>2]=n;if(!g?!((j|0)==(f|0)&(i|0
function $g(a){a=a|0;var b=0,d=0,e=0;while(1){b=c[(c[a+16>>2]|0)+116>>2]|0;if(!b)break;else a=b}b=c[a>>2]&3;d=c[(c[((b|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0;e=c[d+232>>2]|0;a=c[(c[((b|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0;b=c[a+232>>2]|0;if((e|0)<=(b|0))if((e|0)<(b|0))a=1;else a=(c[d+236>>2]|0)<(c[a+236>>2]|0)&1;else a=0;return a|0}function ah(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=l;l=l+16|0;e=d+8|0;f=d;h=(c[a+16>>2]|0)+180|0;g=(c[b+16>>2]|0)+172|0;c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];b=bh(a,f,b,e)|0;l=d;return b|0}function bh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=c[b+4>>2]|0;a:do if((f|0)>0?(g=c[e+4>>2]|0,(g|0)>0):0)if((f|0)<(g|0)){f=c[b>>2]|0;e=0;while(1){b=c[f+(e<<2)>>2]|0;if(!b){b=0;break a}if((c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)==(d|0))break;else e=e+1|0}}else{f=c[e>>2]|0;e=0;while(1){b=c[f+(e<<2)>>2]|0;if(!b){b=0;break a}if((c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)==(a|0))break;else e=e+1|0}}else b=0;while(0);return b|0}function ch(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=l;l=l+16|0;e=d+8|0;f=d;h=(c[a+16>>2]|0)+188|0;g=(c[b+16>>2]|0)+196|0;c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];b=bh(a,f,b,e)|0;l=d;return b|0}function dh(a){a=a|0;var b=0,d=0,e=0,f=0;e=a+48|0;d=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;b=c[d+180>>2]|0;d=(c[d+184>>2]<<2)+8|0;if(!b)b=IK(d)|0;else b=KK(b,d)|0;c[(c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0)+180>>2]=b;f=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;b=c[f+180>>2]|0;f=f+184|0;d=c[f>>2]|0;c[f>>2]=d+1;c[b+(d<<2)>>2]=a;e=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;c[(c[e+180>>2]|0)+(c[e+184>>2]<<2)>>2]=0;e=a+-48|0;d=c[(c[((c[a>>2]&3|0)==2?a:e)+40>>2]|0)+16>>2]|0;b=c[d+172>>2]|0;d=(c[d+176>>2]<<2)+8|0;if(!b)b=IK(d)|0;else b=KK(b,d)|0;c[(c[(c[((c[a>>2]&3|0)==2?a:e)+40>>2]|0)+16>>2]|0)+172>>2]=b;b=c[(c[((c[a>>2]&3|0)==2?a:e)+40>>2]|0)+16>>2]|0;d=c[b+172>>2]|0;b=b+176|0;f=c[b>>2]|0;c[b>>2]=f+1;c[d+(f<<2)>>2]=a;f=c[(c[((c[a>>2]&3|0)==2?a:e)+40>>2]|0)+16>>2]|0;c[(c[f+172>>2]|0)+(c[f+176>>2]<<2)>>2]=0;return a|0}function eh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=a+4|0;f=c[e>>2]|0;d=0;while(1){if((d|0)>=(f|0))break;g=c[a>>2]|0;h=g+(d<<2)|0;if((c[h>>2]|0)==(b|0)){i=4;break}else d=d+1|0}if((i|0)==4){i=f+-1|0;c[e>>2]=i;c[h>>2]=c[g+(i<<2)>>2];c[(c[a>>2]|0)+(i<<2)>>2]=0}return}function fh(a){a=a|0;if(!a)Aa(85823,85833,117,85842);else{eh((c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+180|0,a);eh((c[(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+172|0,a);return}}function gh(a){a=a|0;var b=0,d=0,e=0,f=0;e=a+48|0;d=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;b=c[d+204>>2]|0;d=(c[d+208>>2]<<2)+8|0;if(!b)b=IK(d)|0;else b=KK(b,d)|0;c[(c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0)+204>>2]=b;f=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;b=c[f+204>>2]|0;f=f+208|0;d=c[f>>2]|0;c[f>>2]=d+1;c[b+(d<<2)>>2]=a;e=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;c[(c[e+204>>2]|0)+(c[e+208>>2]<<2)>>2]=0;return}function hh(a){a=a|0;ih(a,(c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+204|0);return}function ih(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=b+4|0;e=c[h>>2]|0;g=c[b>>2]|0;d=0;while(1){if((d|0)>=(e|0)){f=4;break}if((c[g+(d<<2)>>2]|0)==(a|0))break;else d=d+1|0}if((f|0)==4){d=(e<<2)+8|0;if(!g)d=IK(d)|0;else d=KK(g,d)|0;c[b>>2]=d;f=c[h>>2]|0;g=f+1|0;c[h>>2]=g;c[d+(f<<2)>>2]=a;c[(c[b>>2]|0)+(g<<2)>>2]=0}return}function jh(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,o=0;o=HK(96)|0;g=o+48|0;c[g>>2]=c[g>>2]|3;c[o>>2]=c[o>>2]&-4|2;i=HK(176)|0;n=o+16|0;c[n>>2]=i;c[((c[o>>2]&3|0)==3?o:g)+40>>2]=d;j=o+-48|0;c[((c[o>>2]&3|0)==2?o:j)+40>>2]=e;a[i+112>>0]=1;if(!f){c[i+156>>2]=1;b[i+154>>1]=1;b[i+168>>1]=1;b[i+170>>1]=1}else{c[o>>2]=c[o>>2]&15|c[f>>2]&-16;c[g>>2]=c[g>>2]&15|c[f>>2]&-16;m=f+16|0;h=c[m>>2]|0;b[i+168>>1]=b[h+168>>1]|0;b[i+154>>1]=b[h+154>>1]|0;c[i+156>>2]=c[h+156>>2];b[i+170>>1]=b[h+170>>1]|0;d=c[((c[o>>2]&3|0)==3?o:g)+40>>2]|0;e=c[f>>2]&3;k=f+48|0;l=f+-48|0;if((d|0)!=(c[((e|0)==3?f:k)+40>>2]|0)){if((d|0)==(c[((e|0)==2?f:l)+40>>2]|0)){g=i+16|0;d=h+56|0;e=g+40|0;do{c
function r3(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+256|0;e=h;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=e,a|0):0)while(1){f=a>>>0<256?a:256;B6(e|0,c[b>>2]|0,f|0)|0;e=0;do{i=b+(e<<2)|0;e=e+1|0;B6(c[i>>2]|0,c[b+(e<<2)>>2]|0,f|0)|0;c[i>>2]=(c[i>>2]|0)+f}while((e|0)!=(d|0));a=a-f|0;if(!a)break a;e=c[g>>2]|0}while(0);l=h;return}function s3(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;switch(e|0){case 0:{l=-149;m=24;j=4;break}case 1:{l=-1074;m=53;j=4;break}case 2:{l=-1074;m=53;j=4;break}default:g=0.0}a:do if((j|0)==4){o=b+4|0;n=b+100|0;do{e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=W1(b)|0}while((X1(e)|0)!=0);b:do switch(e|0){case 43:case 45:{i=1-(((e|0)==45&1)<<1)|0;e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;h=d[e>>0]|0;break b}else{h=W1(b)|0;break b}}default:{h=e;i=1}}while(0);e=0;do{if((h|32|0)!=(a[153600+e>>0]|0))break;do if(e>>>0<7){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0;break}else{h=W1(b)|0;break}}while(0);e=e+1|0}while(e>>>0<8);c:do switch(e|0){case 8:break;case 3:{j=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{j=23;break c}d:do if(!e){e=0;do{if((h|32|0)!=(a[153609+e>>0]|0))break d;do if(e>>>0<2){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0;break}else{h=W1(b)|0;break}}while(0);e=e+1|0}while(e>>>0<3)}while(0);switch(e|0){case 3:{e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=W1(b)|0;if((e|0)==40)e=1;else{if(!(c[n>>2]|0)){g=s;break a}c[o>>2]=(c[o>>2]|0)+-1;g=s;break a}while(1){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0}else h=W1(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=s;break a}h=(c[n>>2]|0)==0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if(!k){c[(L1()|0)>>2]=22;U1(b,0);g=0.0;break a}if(!e){g=s;break a}while(1){e=e+-1|0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if(!e){g=s;break a}}}case 0:{if((h|0)==48){e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=W1(b)|0;if((e|32|0)==120){g=+t3(b,m,l,i,f);break a}if(!(c[n>>2]|0))e=48;else{c[o>>2]=(c[o>>2]|0)+-1;e=48}}else e=h;g=+u3(b,e,m,l,i,f);break a}default:{if(c[n>>2]|0)c[o>>2]=(c[o>>2]|0)+-1;c[(L1()|0)>>2]=22;U1(b,0);g=0.0;break a}}}}while(0);if((j|0)==23){h=(c[n>>2]|0)==0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[o>>2]=(c[o>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(i|0)*t}while(0);return +g}function t3(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0.0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=a+4|0;i=c[w>>2]|0;v=a+100|0;if(i>>>0<(c[v>>2]|0)>>>0){c[w>>2]=i+1;i=d[i>>0]|0;j=0}else{i=W1(a)|0;j=0}a:while(1){switch(i|0){case 46:{n=8;break a}case 48:break;default:{s=0;t=0;p=1.0;h=0.0;u=0;r=j;j=0;q=0;m=0;l=0;break a}}i=c[w>>2]|0;if(i>>>0<(c[v>>2]|0)>>>0){c[w>>2]=i+1;i=d[i>>0]|0;j=1;continue}else{i=W1(a)|0;j=1;continue}}if((n|0)==8){i=c[w>>2]|0;if(i>>>0<(c[v>>2]|0)>>>0){c[w>>2]=i+1;i=d[i>>0]|0}else i=W1(a)|0;if((i|0)==48){l=0;j=0;do{i=c[w>>2]|0;if(i>>>0<(c[v>>2]|0)>>>0){c[w>>2]=i+1;i=d[i>>0]|0}else i=W1(a)|0;l=w6(l|0,j|0,-1,-1)|0;j=D}while((i|0)==48);s=1;t=0;p=1.0;h=0.0;u=0;r=1;q=0;m=0}else{s=1;t=0;p=1.0;h=0.0;u=0;r=j;j=0;q=0;m=0;l=0}}while(1){n=i+-48|0;o=(i|0)==46;if(n>>>0>=10?!(o|((i|32)+-97|0)>>>0<6):0)break;if(o)if(!s){s=1;n=t;k=p;i=u;l=m;j=q}else{i=46;break}else{i=(i|0)>57?(i|32)+-87|0:n;do if(!((q|0)<0|(q|0)==0&m>>>0<8))if((q|0)<0|(q|0)==0&m>>>0<14){p=p*.0625;n=t;k=p;h=h+p*+(i|0);i=u;break}else{i=(t|0)!=0|(i|0)==0;n=i?t:1;k=p;h=i?h:h+p*.5;i=u;break}else{n=t;k=p;i=i+(u<<4)|0}while(0);m=w6(m|0,q|0,1,0)|0;r=1;q=D}o=c[w>>2]|0;if(o>>>0<(c[v>>2]|0)>>>0){c[w>>2]=o+1;t=n;p=k;u=i;i=d[o>>0]|0;continue}else{t=n;p=k;u=i;i=W1(a)|0;continue}}do if(!r){i=c[v>>2]|0;j=(i|0)!=0;if(j)c[w>>2]=(c[w>>2]|0)+-1;if(g){if(j)c[w>>2]=(c[w>>2]|0)+-1;if(!((s|0)==0|(i|0)==0))c[w>>2]=(c[w>>2]|0)+-1}else U1(a,0);h=+(f|0)*0.0}else{n=(s|0)==0;o=n?m:l;n=n?q:j;if((q|0)<0|(q|0)==0&m>>>0<8){j=u;l=q;do{j=j<<4;m=w6(m|0,l|0,1,0)|0;l=D}while((l|0)<0|(l|0)==0&m>>>0<8);m=j}else m=u;if((i|32|0)==112){j=v3(a,g)|0;i=D;if((j|0)==0&(i|0)==-2147483648){i
function o6(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=a+4|0;n=c[o>>2]|0;d=n&-8;k=a+d|0;i=c[47620]|0;e=n&3;if(!((e|0)!=1&a>>>0>=i>>>0&a>>>0<k>>>0))Va();f=c[k+4>>2]|0;if(!(f&1))Va();if(!e){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[47736]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;m=a+b|0;c[o>>2]=n&1|b|2;c[m+4>>2]=d|3;o=m+d+4|0;c[o>>2]=c[o>>2]|1;p6(m,d);return a|0}if((k|0)==(c[47622]|0)){m=(c[47619]|0)+d|0;d=m-b|0;e=a+b|0;if(m>>>0<=b>>>0){a=0;return a|0}c[o>>2]=n&1|b|2;c[e+4>>2]=d|1;c[47622]=e;c[47619]=d;return a|0}if((k|0)==(c[47621]|0)){f=(c[47618]|0)+d|0;if(f>>>0<b>>>0){a=0;return a|0}d=f-b|0;e=n&1;if(d>>>0>15){n=a+b|0;m=n+d|0;c[o>>2]=e|b|2;c[n+4>>2]=d|1;c[m>>2]=d;e=m+4|0;c[e>>2]=c[e>>2]&-2;e=n}else{c[o>>2]=e|f|2;e=a+f+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[47618]=d;c[47621]=e;return a|0}if(f&2|0){a=0;return a|0}l=(f&-8)+d|0;if(l>>>0<b>>>0){a=0;return a|0}m=l-b|0;g=f>>>3;a:do if(f>>>0>=256){h=c[k+24>>2]|0;f=c[k+12>>2]|0;do if((f|0)==(k|0)){f=k+16|0;e=f+4|0;d=c[e>>2]|0;if(!d){d=c[f>>2]|0;if(!d){j=0;break}else e=f}while(1){f=d+20|0;g=c[f>>2]|0;if(g|0){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0<i>>>0)Va();else{c[e>>2]=0;j=d;break}}else{g=c[k+8>>2]|0;if(g>>>0<i>>>0)Va();d=g+12|0;if((c[d>>2]|0)!=(k|0))Va();e=f+8|0;if((c[e>>2]|0)==(k|0)){c[d>>2]=f;c[e>>2]=g;j=f;break}else Va()}while(0);if(h|0){d=c[k+28>>2]|0;e=190768+(d<<2)|0;do if((k|0)==(c[e>>2]|0)){c[e>>2]=j;if(!j){c[47617]=c[47617]&~(1<<d);break a}}else if(h>>>0>=(c[47620]|0)>>>0){c[h+16+(((c[h+16>>2]|0)!=(k|0)&1)<<2)>>2]=j;if(!j)break a;else break}else Va();while(0);f=c[47620]|0;if(j>>>0<f>>>0)Va();c[j+24>>2]=h;d=k+16|0;e=c[d>>2]|0;do if(e|0)if(e>>>0<f>>>0)Va();else{c[j+16>>2]=e;c[e+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[47620]|0)>>>0)Va();else{c[j+20>>2]=d;c[d+24>>2]=j;break}}}else{e=c[k+8>>2]|0;f=c[k+12>>2]|0;d=190504+(g<<1<<2)|0;if((e|0)!=(d|0)){if(e>>>0<i>>>0)Va();if((c[e+12>>2]|0)!=(k|0))Va()}if((f|0)==(e|0)){c[47616]=c[47616]&~(1<<g);break}if((f|0)!=(d|0)){if(f>>>0<i>>>0)Va();d=f+8|0;if((c[d>>2]|0)==(k|0))h=d;else Va()}else h=f+8|0;c[e+12>>2]=f;c[h>>2]=e}while(0);d=n&1;if(m>>>0<16){c[o>>2]=l|d|2;o=a+l+4|0;c[o>>2]=c[o>>2]|1;return a|0}else{n=a+b|0;c[o>>2]=d|b|2;c[n+4>>2]=m|3;o=n+m+4|0;c[o>>2]=c[o>>2]|1;p6(n,m);return a|0}return 0}function p6(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+b|0;d=c[a+4>>2]|0;a:do if(!(d&1)){g=c[a>>2]|0;if(!(d&3))return;l=a+(0-g)|0;k=g+b|0;i=c[47620]|0;if(l>>>0<i>>>0)Va();if((l|0)==(c[47621]|0)){a=o+4|0;d=c[a>>2]|0;if((d&3|0)!=3){r=l;f=k;break}c[47618]=k;c[a>>2]=d&-2;c[l+4>>2]=k|1;c[l+k>>2]=k;return}e=g>>>3;if(g>>>0<256){d=c[l+8>>2]|0;b=c[l+12>>2]|0;a=190504+(e<<1<<2)|0;if((d|0)!=(a|0)){if(d>>>0<i>>>0)Va();if((c[d+12>>2]|0)!=(l|0))Va()}if((b|0)==(d|0)){c[47616]=c[47616]&~(1<<e);r=l;f=k;break}if((b|0)!=(a|0)){if(b>>>0<i>>>0)Va();a=b+8|0;if((c[a>>2]|0)==(l|0))h=a;else Va()}else h=b+8|0;c[d+12>>2]=b;c[h>>2]=d;r=l;f=k;break}g=c[l+24>>2]|0;b=c[l+12>>2]|0;do if((b|0)==(l|0)){b=l+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){j=0;break}else d=b}while(1){b=a+20|0;e=c[b>>2]|0;if(e|0){a=e;d=b;continue}b=a+16|0;e=c[b>>2]|0;if(!e)break;else{a=e;d=b}}if(d>>>0<i>>>0)Va();else{c[d>>2]=0;j=a;break}}else{e=c[l+8>>2]|0;if(e>>>0<i>>>0)Va();a=e+12|0;if((c[a>>2]|0)!=(l|0))Va();d=b+8|0;if((c[d>>2]|0)==(l|0)){c[a>>2]=b;c[d>>2]=e;j=b;break}else Va()}while(0);if(g){a=c[l+28>>2]|0;d=190768+(a<<2)|0;do if((l|0)==(c[d>>2]|0)){c[d>>2]=j;if(!j){c[47617]=c[47617]&~(1<<a);r=l;f=k;break a}}else if(g>>>0>=(c[47620]|0)>>>0){c[g+16+(((c[g+16>>2]|0)!=(l|0)&1)<<2)>>2]=j;if(!j){r=l;f=k;break a}else break}else Va();while(0);b=c[47620]|0;if(j>>>0<b>>>0)Va();c[j+24>>2]=g;a=l+16|0;d=c[a>>2]|0;do if(d|0)if(d>>>0<b>>>0)Va();else{c[j+16>>2]=d;c[d+24>>2]=j;break}while(0);a=c[a+4>>2]|0;if(a)if(a>>>0<(c[47620]|0)>>>0)Va();else{c[j+20>>2]=a;c[a+24>>2]=j;r=l;f=k;break}else{r=l;f=k}}else{r=l;f=k}}else{r=a;f=b}while(0);h=c[47620]|0;if(o>>>0<h>>>0)Va();a=o+4|0;d=c[a>>2]|0;if(!(d&2)){a=c[47621]|0;if((o|0)
// EMSCRIPTEN_END_FUNCS
var db=[f7,Jb,Kb,Ob,Pb,Qb,ic,jc,Hc,Ic,Jc,Kc,Lc,Mc,Nc,Zc,_c,bd,cd,dd,ed,fd,gd,hd,td,ud,vd,xd,yd,zd,Ad,Bd,Cd,Dd,Ed,Pd,Qd,Rd,Td,Ud,Vd,Wd,Xd,Yd,Zd,_d,$d,be,oe,pe,qe,re,Ce,De,Ee,Ge,Te,Ue,Ve,Xe,Ye,Ze,_e,$e,af,bf,cf,df,nf,of,pf,qf,Tf,Of,mm,Yl,ap,Bo,Lp,Up,Xn,Zn,Ip,Jp,Ul,Vl,$n,io,ko,vo,CB,VM,lN,XM,WM,HN,sM,vM,FS,KS,Hf,Al,Fo,Jo,bp,l6,Uv,qA,wG,pI,TU,yR,zQ,LL,lV,OX,hY,iY,oY,f7,f7,f7,f7,f7,f7,f7,f7,f7];var eb=[g7,Em,Jv,Az,Iz,Rz,Wz,TB,XB,UL,NP,OU,w_,C_,W$,a0,k$,q$,I1,J1,P1,Q1,N2,dA,Um,xv,op,kt,Sx,Ux,Xx,Yz,rG,i2,LD,z4,OO,QL,FR,jY,C0,K$,w0,G0,s4,g7,g7,g7,g7,g7,g7,g7,g7,g7,g7,g7,g7,g7,g7,g7,g7,g7,g7,g7];var fb=[h7,$c,Fd,Md,ae,Fe,F_,G_,W_,X_,t0,d0,e0,t$,u$,xl,uG,AQ,o_,p_,h7,h7,h7,h7,h7,h7,h7,h7,h7,h7,h7,h7];var gb=[i7,SO];var hb=[j7,ZO];var ib=[k7,Yq,RK,IL];var jb=[l7,F0,v0,l7];var kb=[m7,su,nu,m7];var lb=[n7,Pc,Uc,jd,od,Ld,he,xe,Me,kf,wf,$B,pN,TN,LN,GN,jN,kN,PN,QN,IS,MS,aM,gA,sG,TK,qQ,PW,NX,kY,lY,pY,rY,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7];var mb=[o7,PX];var nb=[p7,KH,LH,MH,NH,OH,PH,QH,RH,p7,p7,p7,p7,p7,p7,p7];var ob=[q7];var pb=[r7,$g,ug,Im,Jm,VB,YB,FQ,GQ,xS,yS,zS,AS,BS,CS,DS,ES,H1,Fb,oF,vl,yl,Xm,IK,qB,gC,pB,NK,SK,rB,rQ,HK,wQ,xQ,qY,k6,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7];var qb=[s7,bJ,cJ,dJ,eJ,s7,s7,s7];var rb=[t7,Rb,Sb,Vb,Gc,Oc,Qc,Tc,id,kd,nd,Gd,Hd,Kd,ce,de,ge,se,te,we,He,Ie,Le,ef,ff,jf,rf,sf,vf,lk,mk,nk,Fm,Bz,Jz,nA,DB,dC,NC,RD,jG,OJ,JL,VL,uM,OP,RP,fR,dR,GS,HS,JS,LS,NS,PU,CW,BW,GA,gB,rC,VC,YC,MK,PO,OL,uQ,yQ,DW,FW,GW,OW,QW,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7];var sb=[u7,RO,OK,PK,QK,UK,VK,WK,UU,u7,u7,u7,u7,u7,u7,u7];var tb=[v7,Gm,Or,Kv,Cz,Kz,SA,QD,TA,kB,zB,BB,MB,LB,_B,cC,eC,KL,PP,gR,eR,cT,QU,kV,jV,q_,r_,s_,t_,u_,v_,x_,A_,E_,Q$,R$,S$,T$,U$,V$,X$,_$,c0,e$,f$,g$,h$,i$,j$,l$,o$,s$,$z,RC,vG,QO,dZ,hZ,oZ,yZ,HZ,MZ,KZ,NZ,H0,j_,a_,M$,N$,D0,E0,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7];var ub=[w7,Ub,Sc,md,Jd,fe,ve,Ke,hf,uf,BQ,w7,w7,w7,w7,w7];var vb=[x7,xB,UB,ZB,RN,SN,JN,FN,nN,ZW,_W,$W,aX,bX,cX,eX,fX,gX,hX,iX,jX,kX,lX,mX,nX,oX,pX,qX,rX,sX,tX,uX,vX,wX,xX,yX,zX,AX,BX,CX,y_,z_,B_,Y_,Z_,__,$_,a$,b$,c$,d$,Y$,Z$,$$,m$,n$,p$,mF,kg,_g,Bh,di,vi,Gk,Ek,wl,zl,Wo,eq,gr,Cr,Er,Gr,Hr,Jr,Ir,Ur,et,jt,lt,qv,px,CE,BE,AE,tG,hC,KK,GG,WG,RG,SG,TH,Z3,W5,MO,_P,NA,cV,UA,WA,sQ,f2,DT,YW,mY,nY,n6,l_,m_,n_,J5,x7,x7,x7,x7,x7,x7,x7,x7,x7,x7,x7,x7,x7,x7,x7,x7];var wb=[y7,yB,oN,KN,J0,K0,L0,M0,O0,P0,Q0,R0,S0,U0,V0,W0,X0,Y0,T0,w1,x1,n1,g1,Z0,_0,$0,b1,a1,c1,d1,e1,f1,h1,i1,j1,k1,l1,m1,o1,p1,q1,r1,v1,t1,s1,u1,C1,y1,z1,A1,B1,D1,E1,F1,y7,y7,y7,y7,y7,y7,y7,y7,y7,y7];var xb=[z7,Tb,Rc,ld,wd,Id,Sd,ee,ue,Je,We,gf,tf,Kf,Jf,If,Gf,Ff,Ef,hc,Df,Cf,AB,mN,IN,D_,b0,r$,k3,tQ,vQ,O$];return{_i64Subtract:t6,_memset:u6,_bitshift64Lshr:z6,_bitshift64Shl:v6,_fflush:m4,_bitshift64Ashr:y6,_vizLastErrorMessage:Gb,_sbrk:H6,_memcpy:B6,_llvm_bswap_i32:K6,___muldi3:G6,___uremdi3:J6,_testSetjmp:A6,_llvm_cttz_i32:C6,_vizCreateFile:Hb,___udivmoddi4:D6,_realloc:n6,_i64Add:w6,_llvm_bswap_i16:L6,_emscripten_get_global_libc:G1,_htons:L4,___udivdi3:E6,___errno_location:L1,___muldsi3:F6,_vizRenderFromString:Ib,_saveSetjmp:x6,_free:l6,_dtextract:Pz,_memmove:I6,_malloc:k6,_memalign:q6,runPostSets:s6,stackAlloc:yb,stackSave:zb,stackRestore:Ab,establishStackSpace:Bb,setTempRet0:Db,getTempRet0:Eb,setThrew:Cb,stackAlloc:yb,stackSave:zb,stackRestore:Ab,establishStackSpace:Bb,setThrew:Cb,setTempRet0:Db,getTempRet0:Eb,dynCall_vi:M6,dynCall_iiii:N6,dynCall_viiiii:O6,dynCall_d:P6,dynCall_di:Q6,dynCall_i:R6,dynCall_iiiiiiiiiii:S6,dynCall_iiidd:T6,dynCall_vii:U6,dynCall_iiiiiii:V6,dynCall_viiiddi:W6,dynCall_viiiiiiiii:X6,dynCall_ii:Y6,dynCall_dddd:Z6,dynCall_viii:_6,dynCall_v:$6,dynCall_iiiii:a7,dynCall_viiiiii:b7,dynCall_iii:c7,dynCall_iiiiii:d7,dynCall_viiii:e7}})
// EMSCRIPTEN_END_ASM
(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var stackSave=Module["stackSave"]=asm["stackSave"];var _vizCreateFile=Module["_vizCreateFile"]=asm["_vizCreateFile"];var _vizLastErrorMessage=Module["_vizLastErrorMessage"]=asm["_vizLastErrorMessage"];var getTempRet0=Module["getTempRet0"]=asm["getTempRet0"];var _vizRenderFromString=Module["_vizRenderFromString"]=asm["_vizRenderFromString"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _fflush=Module["_fflush"]=asm["_fflush"];var _bitshift64Ashr=Module["_bitshift64Ashr"]=asm["_bitshift64Ashr"];var _memset=Module["_memset"]=asm["_memset"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___uremdi3=Module["___uremdi3"]=asm["___uremdi3"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var _llvm_cttz_i32=Module["_llvm_cttz_i32"]=asm["_llvm_cttz_i32"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var ___udivmoddi4=Module["___udivmoddi4"]=asm["___udivmoddi4"];var setTempRet0=Module["setTempRet0"]=asm["setTempRet0"];var _realloc=Module["_realloc"]=asm["_realloc"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _llvm_bswap_i16=Module["_llvm_bswap_i16"]=asm["_llvm_bswap_i16"];var _emscripten_get_global_libc=Module["_emscripten_get_global_libc"]=asm["_emscripten_get_global_libc"];var _htons=Module["_htons"]=asm["_htons"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var ___muldsi3=Module["___muldsi3"]=asm["___muldsi3"];var _testSetjmp=Module["_testSetjmp"]=asm["_testSetjmp"];var _saveSetjmp=Module["_saveSetjmp"]=asm["_saveSetjmp"];var _free=Module["_free"]=asm["_free"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var setThrew=Module["setThrew"]=asm["setThrew"];var _dtextract=Module["_dtextract"]=asm["_dtextract"];var _memmove=Module["_memmove"]=asm["_memmove"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var _malloc=Module["_malloc"]=asm["_malloc"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var _memalign=Module["_memalign"]=asm["_memalign"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_d=Module["dynCall_d"]=asm["dynCall_d"];var dynCall_di=Module["dynCall_di"]=asm["dynCall_di"];var dynCall_i=Module["dynCall_i"]=asm["dynCall_i"];var dynCall_iiiiiiiiiii=Module["dynCall_iiiiiiiiiii"]=asm["dynCall_iiiiiiiiiii"];var dynCall_iiidd=Module["dynCall_iiidd"]=asm["dynCall_iiidd"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_viiiddi=Module["dynCall_viiiddi"]=asm["dynCall_viiiddi"];var dynCall_viiiiiiiii=Module["dynCall_viiiiiiiii"]=asm["dynCall_viiiiiiiii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_dddd=Module["dynCall_dddd"]=asm["dynCall_dddd"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];Runtime.stackAlloc=Module["stackAlloc"];Runtime.stackSave=Module["stackSave"];Runtime.stackRestore=Module["stackRestore"];Runtime.establishStackSpace=Module["establishStackSpace"];Runtime.setTempRet0=Module["setTempRet0"];Runtime.getTempRet0=Module["getTempRet0"];Module["asm"]=asm;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototyp
return Module;
};
function Viz(src) {
var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
var format = options.format === undefined ? "svg" : options.format;
var engine = options.engine === undefined ? "dot" : options.engine;
var scale = options.scale;
var totalMemory = options.totalMemory;
var files = options.files === undefined ? [] : options.files;
var images = options.images === undefined ? [] : options.images;
var i;
for (i = 0; i < images.length; i++) {
files.push({ path: images[i].path, data: "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n<svg width=\"" + images[i].width + "\" height=\"" + images[i].height + "\"></svg>" });
}
if (format == "png-image-element") {
return Viz.svgXmlToPngImageElement(render(src, "svg", engine, totalMemory, files), scale);
} else {
return render(src, format, engine, totalMemory, files);
}
}
function render(src, format, engine, totalMemory, files) {
var graphviz = Module({ TOTAL_MEMORY: totalMemory });
var i;
for (i = 0; i < files.length; i++) {
graphviz["ccall"]("vizCreateFile", "number", ["string", "string"], [files[i].path, files[i].data]);
}
var resultPointer = graphviz["ccall"]("vizRenderFromString", "number", ["string", "string", "string"], [src, format, engine]);
var resultString = graphviz["Pointer_stringify"](resultPointer);
var errorMessagePointer = graphviz["ccall"]("vizLastErrorMessage", "number", [], []);
var errorMessageString = graphviz["Pointer_stringify"](errorMessagePointer);
if (errorMessageString != "") {
throw new Error(errorMessageString);
}
return resultString;
}
// https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/Base64_encoding_and_decoding
function b64EncodeUnicode(str) {
return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, function(match, p1) {
return String.fromCharCode('0x' + p1);
}));
}
Viz.svgXmlToPngImageElement = function(svgXml, scale, callback) {
if (scale === undefined) {
if ("devicePixelRatio" in window && window.devicePixelRatio > 1) {
scale = window.devicePixelRatio;
} else {
scale = 1;
}
}
var pngImage = new Image();
try {
if (typeof fabric === "object" && fabric.loadSVGFromString) {
fabric.loadSVGFromString(svgXml, function(objects, options) {
// If there's something wrong with the SVG, Fabric may return an empty array of objects. Graphviz appears to give us at least one <g> element back even given an empty graph, so we will assume an error in this case.
if (objects.length == 0) {
if (callback !== undefined) {
callback(new Error("Error loading SVG with Fabric"));
return;
} else {
throw new Error("Error loading SVG with Fabric");
}
}
var element = document.createElement("canvas");
element.width = options.width;
element.height = options.height;
var canvas = new fabric.Canvas(element, { enableRetinaScaling: false });
var obj = fabric.util.groupSVGElements(objects, options);
canvas.add(obj).renderAll();
pngImage.src = canvas.toDataURL({ multiplier: scale });
pngImage.width = options.width;
pngImage.height = options.height;
if (callback !== undefined) {
callback(null, pngImage);
}
});
} else {
var svgImage = new Image();
svgImage.onload = function() {
var canvas = document.createElement("canvas");
canvas.width = svgImage.width * scale;
canvas.height = svgImage.height * scale;
var context = canvas.getContext("2d");
context.drawImage(svgImage, 0, 0, canvas.width, canvas.height);
pngImage.src = canvas.toDataURL("image/png");
pngImage.width = svgImage.width;
pngImage.height = svgImage.height;
if (callback !== undefined) {
callback(null, pngImage);
}
}
svgImage.onerror = function(e) {
var error;
if ('error' in e) {
error = e.error;
} else {
error = new Error('Error loading SVG');
}
if (callback !== undefined) {
callback(error);
} else {
throw error;
}
}
svgImage.src = "data:image/svg+xml;base64," + b64EncodeUnicode(svgXml);
}
} catch (e) {
if (callback !== undefined) {
callback(e);
} else {
throw e;
}
}
if (callback === undefined) {
return pngImage;
}
}
Viz.svgXmlToPngBase64 = function(svgXml, scale, callback) {
Viz.svgXmlToPngImageElement(svgXml, scale, function(err, image) {
if (err) {
callback(err);
} else {
callback(null, image.src.slice("data:image/png;base64,".length));
}
});
}
if (typeof module === "object" && module.exports) {
module.exports = Viz;
} else {
global.Viz = Viz;
}
})(this);