text: var f;var h;h||(h=typeof Module !== 'undefined' ? Module : {});h.Yc||(h.Yc=0,h.ee=0);h.Yc++;
  (function(a){function b(a,b,c){var d=new XMLHttpRequest;d.open("GET",a,!0);d.responseType="arraybuffer";d.onprogress=function(c){var e=b;c.total&&(e=c.total);if(c.loaded){d.Pb?h.dc[a].loaded=c.loaded:(d.Pb=!0,h.dc||(h.dc={}),h.dc[a]={loaded:c.loaded,total:e});var g=e=c=0,k;for(k in h.dc){var n=h.dc[k];c+=n.total;e+=n.loaded;g++}c=Math.ceil(c*h.Yc/g);h.setStatus&&h.setStatus("Downloading data... ("+e+"/"+c+")")}else!h.dc&&h.setStatus&&h.setStatus("Downloading data...")};d.onerror=function(){throw Error("NetworkError for: "+
  a);};d.onload=function(){if(200==d.status||304==d.status||206==d.status||0==d.status&&d.response)c(d.response);else throw Error(d.statusText+" : "+d.responseURL);};d.send(null)}function c(a){console.error("package error:",a)}function d(){function b(a,b,c){this.start=a;this.end=b;this.audio=c}function c(c){h.ee++;if(!c)throw"Loading data file failed."+Error().stack;if(!(c instanceof ArrayBuffer))throw"bad input to processPackageData"+Error().stack;c=new Uint8Array(c);b.prototype.ae=c;c=a.files;for(var d=
  0;d<c.length;++d)b.prototype.requests[c[d].filename].onload();h.removeRunDependency("datafile_R:/emsOut/MinSizeRel/wglApp.data")}h.FS_createPath("/","Shaders",!0,!0);b.prototype={requests:{},open:function(a,b){this.name=b;this.requests[b]=this;h.addRunDependency("fp "+this.name)},onload:function(){this.finish(this.ae.subarray(this.start,this.end))},finish:function(a){h.FS_createDataFile(this.name,null,a,!0,!0,!0);h.removeRunDependency("fp "+this.name);this.requests[this.name]=null}};for(var d=a.files,
  e=0;e<d.length;++e)(new b(d[e].start,d[e].end,d[e].audio)).open("GET",d[e].filename);h.addRunDependency("datafile_R:/emsOut/MinSizeRel/wglApp.data");h.Kd||(h.Kd={});h.Kd["R:/emsOut/MinSizeRel/wglApp.data"]={Oe:!1};n?(c(n),n=null):k=c}if("object"===typeof window)window.encodeURIComponent(window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/");else if("undefined"!==typeof location)encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+
  "/");else throw"using preloaded data can only be done on a web page or in a web worker";"function"!==typeof h.locateFilePackage||h.locateFile||(h.locateFile=h.locateFilePackage,l("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)"));var e=h.locateFile?h.locateFile("wglApp.data",""):"wglApp.data",g=a.Xe,k=null,n=h.getPreloadedPackage?h.getPreloadedPackage(e,g):null;n||b(e,g,function(a){k?(k(a),k=null):n=a},c);h.calledRun?
  d():(h.preRun||(h.preRun=[]),h.preRun.push(d))})({files:[{start:0,audio:0,end:5589,filename:"/Shaders/frag.glsl"},{start:5589,audio:0,end:5750,filename:"/Shaders/vert.glsl"},{start:5750,audio:0,end:2170074,filename:"/image1.png"}],remote_package_size:2170074,package_uuid:"c4321d89-2f33-480a-8a92-6c7d28d5809e"});var aa={},m;for(m in h)h.hasOwnProperty(m)&&(aa[m]=h[m]);var ba=[],ca="./this.program";function da(a,b){throw b;}var ea=!1,p=!1,fa=!1,ha=!1,ia=!1;ea="object"===typeof window;
  p="function"===typeof importScripts;fa=(ha="object"===typeof process&&"object"===typeof process.versions&&"string"===typeof process.versions.node)&&!ea&&!p;ia=!ea&&!fa&&!p;var q="",ja,ka,la;
  if(fa){q=__dirname+"/";var ma,na;ja=function(a,b){ma||(ma=require("fs"));na||(na=require("path"));a=na.normalize(a);a=ma.readFileSync(a);return b?a:a.toString()};la=function(a){a=ja(a,!0);a.buffer||(a=new Uint8Array(a));assert(a.buffer);return a};1<process.argv.length&&(ca=process.argv[1].replace(/\\/g,"/"));ba=process.argv.slice(2);"undefined"!==typeof module&&(module.exports=h);process.on("uncaughtException",function(a){if(!(a instanceof oa))throw a;});process.on("unhandledRejection",t);da=function(a){process.exit(a)};
  h.inspect=function(){return"[Emscripten Module object]"}}else if(ia)"undefined"!=typeof read&&(ja=function(a){return read(a)}),la=function(a){if("function"===typeof readbuffer)return new Uint8Array(readbuffer(a));a=read(a,"binary");assert("object"===typeof a);return a},"undefined"!=typeof scriptArgs?ba=scriptArgs:"undefined"!=typeof arguments&&(ba=arguments),"function"===typeof quit&&(da=function(a){quit(a)}),"undefined"!==typeof print&&("undefined"===typeof console&&(console={}),console.log=print,
  console.warn=console.error="undefined"!==typeof printErr?printErr:print);else if(ea||p)p?q=self.location.href:document.currentScript&&(q=document.currentScript.src),q=0!==q.indexOf("blob:")?q.substr(0,q.lastIndexOf("/")+1):"",ja=function(a){var b=new XMLHttpRequest;b.open("GET",a,!1);b.send(null);return b.responseText},p&&(la=function(a){var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)}),ka=function(a,b,c){var d=new XMLHttpRequest;
  d.open("GET",a,!0);d.responseType="arraybuffer";d.onload=function(){200==d.status||0==d.status&&d.response?b(d.response):c()};d.onerror=c;d.send(null)};var pa=h.print||console.log.bind(console),l=h.printErr||console.warn.bind(console);for(m in aa)aa.hasOwnProperty(m)&&(h[m]=aa[m]);aa=null;h.arguments&&(ba=h.arguments);h.thisProgram&&(ca=h.thisProgram);h.quit&&(da=h.quit);
  function qa(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:if("*"===a[a.length-1])return 4;if("i"===a[0]){var b=parseInt(a.substr(1));assert(0===b%8,"getNativeTypeSize invalid bits "+b+", type "+a);return b/8}return 0}}function ra(a){sa||(sa={});sa[a]||(sa[a]=1,l(a))}var sa,ta={"f64-rem":function(a,b){return a%b},"debugger":function(){}},ua;h.wasmBinary&&(ua=h.wasmBinary);
  "object"!==typeof WebAssembly&&l("no native wasm support detected");
  function v(a,b,c){c=c||"i8";"*"===c.charAt(c.length-1)&&(c="i32");switch(c){case "i1":x[a>>0]=b;break;case "i8":x[a>>0]=b;break;case "i16":va[a>>1]=b;break;case "i32":y[a>>2]=b;break;case "i64":wa=[b>>>0,(z=b,1<=+xa(z)?0<z?(ya(+za(z/4294967296),4294967295)|0)>>>0:~~+Aa((z-+(~~z>>>0))/4294967296)>>>0:0)];y[a>>2]=wa[0];y[a+4>>2]=wa[1];break;case "float":A[a>>2]=b;break;case "double":Ba[a>>3]=b;break;default:t("invalid type for setValue: "+c)}}var Ca,B=!1;
  function assert(a,b){a||t("Assertion failed: "+b)}function Da(a,b){if("number"===typeof a){var c=!0;var d=a}else c=!1,d=a.length;var e="string"===typeof b?b:null;var g=Ea(Math.max(d,e?1:b.length));if(c){a=g;assert(0==(g&3));for(b=g+(d&-4);a<b;a+=4)y[a>>2]=0;for(b=g+d;a<b;)x[a++>>0]=0;return g}if("i8"===e)return a.subarray||a.slice?C.set(a,g):C.set(new Uint8Array(a),g),g;c=0;for(var k,n,r;c<d;){var u=a[c];k=e||b[c];0===k?c++:("i64"==k&&(k="i32"),v(g+c,u,k),r!==k&&(n=qa(k),r=k),c+=n)}return g}
  var Fa="undefined"!==typeof TextDecoder?new TextDecoder("utf8"):void 0;
  function Ga(a,b,c){var d=b+c;for(c=b;a[c]&&!(c>=d);)++c;if(16<c-b&&a.subarray&&Fa)return Fa.decode(a.subarray(b,c));for(d="";b<c;){var e=a[b++];if(e&128){var g=a[b++]&63;if(192==(e&224))d+=String.fromCharCode((e&31)<<6|g);else{var k=a[b++]&63;e=224==(e&240)?(e&15)<<12|g<<6|k:(e&7)<<18|g<<12|k<<6|a[b++]&63;65536>e?d+=String.fromCharCode(e):(e-=65536,d+=String.fromCharCode(55296|e>>10,56320|e&1023))}}else d+=String.fromCharCode(e)}return d}function Ha(a,b){return a?Ga(C,a,b):""}
  function Ia(a,b,c,d){if(!(0<d))return 0;var e=c;d=c+d-1;for(var g=0;g<a.length;++g){var k=a.charCodeAt(g);if(55296<=k&&57343>=k){var n=a.charCodeAt(++g);k=65536+((k&1023)<<10)|n&1023}if(127>=k){if(c>=d)break;b[c++]=k}else{if(2047>=k){if(c+1>=d)break;b[c++]=192|k>>6}else{if(65535>=k){if(c+2>=d)break;b[c++]=224|k>>12}else{if(c+3>=d)break;b[c++]=240|k>>18;b[c++]=128|k>>12&63}b[c++]=128|k>>6&63}b[c++]=128|k&63}}b[c]=0;return c-e}
  function Ja(a){for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);55296<=d&&57343>=d&&(d=65536+((d&1023)<<10)|a.charCodeAt(++c)&1023);127>=d?++b:b=2047>=d?b+2:65535>=d?b+3:b+4}return b}"undefined"!==typeof TextDecoder&&new TextDecoder("utf-16le");function Ka(a){var b=Ja(a)+1,c=La(b);Ia(a,x,c,b);return c}function Ma(a){0<a%65536&&(a+=65536-a%65536);return a}var buffer,x,C,va,Na,y,Oa,A,Ba;
  function Pa(){h.HEAP8=x=new Int8Array(buffer);h.HEAP16=va=new Int16Array(buffer);h.HEAP32=y=new Int32Array(buffer);h.HEAPU8=C=new Uint8Array(buffer);h.HEAPU16=Na=new Uint16Array(buffer);h.HEAPU32=Oa=new Uint32Array(buffer);h.HEAPF32=A=new Float32Array(buffer);h.HEAPF64=Ba=new Float64Array(buffer)}var Qa=h.TOTAL_MEMORY||16777216;h.wasmMemory?Ca=h.wasmMemory:Ca=new WebAssembly.Memory({initial:Qa/65536});Ca&&(buffer=Ca.buffer);Qa=buffer.byteLength;Pa();y[13740]=5297872;
  function Ra(a){for(;0<a.length;){var b=a.shift();if("function"==typeof b)b();else{var c=b.Wb;"number"===typeof c?void 0===b.Zb?h.dynCall_v(c):h.dynCall_vi(c,b.Zb):c(void 0===b.Zb?null:b.Zb)}}}var Sa=[],Ta=[],Ua=[],Va=[],Wa=!1;function Xa(){var a=h.preRun.shift();Sa.unshift(a)}var xa=Math.abs,Aa=Math.ceil,za=Math.floor,ya=Math.min,Ya=0,Za=null,$a=null;function ab(){Ya++;h.monitorRunDependencies&&h.monitorRunDependencies(Ya)}
  function bb(){Ya--;h.monitorRunDependencies&&h.monitorRunDependencies(Ya);if(0==Ya&&(null!==Za&&(clearInterval(Za),Za=null),$a)){var a=$a;$a=null;a()}}h.preloadedImages={};h.preloadedAudios={};function cb(){var a=db;return String.prototype.startsWith?a.startsWith("data:application/octet-stream;base64,"):0===a.indexOf("data:application/octet-stream;base64,")}var db="wglApp.wasm";if(!cb()){var eb=db;db=h.locateFile?h.locateFile(eb,q):q+eb}
  function fb(){try{if(ua)return new Uint8Array(ua);if(la)return la(db);throw"both async and sync fetching of the wasm failed";}catch(a){t(a)}}function gb(){return ua||!ea&&!p||"function"!==typeof fetch?new Promise(function(a){a(fb())}):fetch(db,{credentials:"same-origin"}).then(function(a){if(!a.ok)throw"failed to load wasm binary file at '"+db+"'";return a.arrayBuffer()}).catch(function(){return fb()})}
  function hb(a){function b(a){h.asm=a.exports;bb("wasm-instantiate")}function c(a){b(a.instance)}function d(a){return gb().then(function(a){return WebAssembly.instantiate(a,e)}).then(a,function(a){l("failed to asynchronously prepare wasm: "+a);t(a)})}var e={env:a,global:{NaN:NaN,Infinity:Infinity},"global.Math":Math,asm2wasm:ta};ab("wasm-instantiate");if(h.instantiateWasm)try{return h.instantiateWasm(e,b)}catch(g){return l("Module.instantiateWasm callback failed with error: "+g),!1}(function(){if(ua||
  "function"!==typeof WebAssembly.instantiateStreaming||cb()||"function"!==typeof fetch)return d(c);fetch(db,{credentials:"same-origin"}).then(function(a){return WebAssembly.instantiateStreaming(a,e).then(c,function(a){l("wasm streaming compile failed: "+a);l("falling back to ArrayBuffer instantiation");d(c)})})})();return{}}h.asm=function(a,b){b.memory=Ca;b.table=new WebAssembly.Table({initial:967,maximum:967,element:"anyfunc"});b.__memory_base=1024;b.__table_base=0;return hb(b)};var z,wa;Ta.push({Wb:function(){ib()}});
  function jb(a){h.___errno_location&&(y[h.___errno_location()>>2]=a);return a}function lb(a,b){for(var c=0,d=a.length-1;0<=d;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c;c--)a.unshift("..");return a}function mb(a){var b="/"===a.charAt(0),c="/"===a.substr(-1);(a=lb(a.split("/").filter(function(a){return!!a}),!b).join("/"))||b||(a=".");a&&c&&(a+="/");return(b?"/":"")+a}
  function nb(a){var b=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(a).slice(1);a=b[0];b=b[1];if(!a&&!b)return".";b&&(b=b.substr(0,b.length-1));return a+b}function ob(a){if("/"===a)return"/";var b=a.lastIndexOf("/");return-1===b?a:a.substr(b+1)}function pb(){var a=Array.prototype.slice.call(arguments,0);return mb(a.join("/"))}function D(a,b){return mb(a+"/"+b)}
  function qb(){for(var a="",b=!1,c=arguments.length-1;-1<=c&&!b;c--){b=0<=c?arguments[c]:"/";if("string"!==typeof b)throw new TypeError("Arguments to path.resolve must be strings");if(!b)return"";a=b+"/"+a;b="/"===b.charAt(0)}a=lb(a.split("/").filter(function(a){return!!a}),!b).join("/");return(b?"/":"")+a||"."}var rb=[];function sb(a,b){rb[a]={input:[],output:[],jc:b};tb(a,ub)}
  var ub={open:function(a){var b=rb[a.node.rdev];if(!b)throw new E(19);a.tty=b;a.seekable=!1},close:function(a){a.tty.jc.flush(a.tty)},flush:function(a){a.tty.jc.flush(a.tty)},read:function(a,b,c,d){if(!a.tty||!a.tty.jc.Ad)throw new E(6);for(var e=0,g=0;g<d;g++){try{var k=a.tty.jc.Ad(a.tty)}catch(n){throw new E(5);}if(void 0===k&&0===e)throw new E(11);if(null===k||void 0===k)break;e++;b[c+g]=k}e&&(a.node.timestamp=Date.now());return e},write:function(a,b,c,d){if(!a.tty||!a.tty.jc.gd)throw new E(6);
  try{for(var e=0;e<d;e++)a.tty.jc.gd(a.tty,b[c+e])}catch(g){throw new E(5);}d&&(a.node.timestamp=Date.now());return e}},wb={Ad:function(a){if(!a.input.length){var b=null;if(fa){var c=Buffer.Pb?Buffer.Pb(256):new Buffer(256),d=0,e=process.stdin.fd;if("win32"!=process.platform){var g=!1;try{e=fs.openSync("/dev/stdin","r"),g=!0}catch(k){}}try{d=fs.readSync(e,c,0,256,null)}catch(k){if(-1!=k.toString().indexOf("EOF"))d=0;else throw k;}g&&fs.closeSync(e);0<d?b=c.slice(0,d).toString("utf-8"):b=null}else"undefined"!=
  typeof window&&"function"==typeof window.prompt?(b=window.prompt("Input: "),null!==b&&(b+="\n")):"function"==typeof readline&&(b=readline(),null!==b&&(b+="\n"));if(!b)return null;a.input=vb(b,!0)}return a.input.shift()},gd:function(a,b){null===b||10===b?(pa(Ga(a.output,0)),a.output=[]):0!=b&&a.output.push(b)},flush:function(a){a.output&&0<a.output.length&&(pa(Ga(a.output,0)),a.output=[])}},xb={gd:function(a,b){null===b||10===b?(l(Ga(a.output,0)),a.output=[]):0!=b&&a.output.push(b)},flush:function(a){a.output&&
  0<a.output.length&&(l(Ga(a.output,0)),a.output=[])}},F={Ub:null,Sb:function(){return F.createNode(null,"/",16895,0)},createNode:function(a,b,c,d){if(24576===(c&61440)||4096===(c&61440))throw new E(1);F.Ub||(F.Ub={dir:{node:{Vb:F.Lb.Vb,Qb:F.Lb.Qb,lookup:F.Lb.lookup,sc:F.Lb.sc,rename:F.Lb.rename,unlink:F.Lb.unlink,rmdir:F.Lb.rmdir,readdir:F.Lb.readdir,symlink:F.Lb.symlink},stream:{Xb:F.Mb.Xb}},file:{node:{Vb:F.Lb.Vb,Qb:F.Lb.Qb},stream:{Xb:F.Mb.Xb,read:F.Mb.read,write:F.Mb.write,nd:F.Mb.nd,Gd:F.Mb.Gd,
  Mc:F.Mb.Mc}},link:{node:{Vb:F.Lb.Vb,Qb:F.Lb.Qb,readlink:F.Lb.readlink},stream:{}},rd:{node:{Vb:F.Lb.Vb,Qb:F.Lb.Qb},stream:yb}});c=zb(a,b,c,d);G(c.mode)?(c.Lb=F.Ub.dir.node,c.Mb=F.Ub.dir.stream,c.Kb={}):32768===(c.mode&61440)?(c.Lb=F.Ub.file.node,c.Mb=F.Ub.file.stream,c.Ob=0,c.Kb=null):40960===(c.mode&61440)?(c.Lb=F.Ub.link.node,c.Mb=F.Ub.link.stream):8192===(c.mode&61440)&&(c.Lb=F.Ub.rd.node,c.Mb=F.Ub.rd.stream);c.timestamp=Date.now();a&&(a.Kb[b]=c);return c},Pe:function(a){if(a.Kb&&a.Kb.subarray){for(var b=
  [],c=0;c<a.Ob;++c)b.push(a.Kb[c]);return b}return a.Kb},Qe:function(a){return a.Kb?a.Kb.subarray?a.Kb.subarray(0,a.Ob):new Uint8Array(a.Kb):new Uint8Array},ud:function(a,b){var c=a.Kb?a.Kb.length:0;c>=b||(b=Math.max(b,c*(1048576>c?2:1.125)|0),0!=c&&(b=Math.max(b,256)),c=a.Kb,a.Kb=new Uint8Array(b),0<a.Ob&&a.Kb.set(c.subarray(0,a.Ob),0))},re:function(a,b){if(a.Ob!=b)if(0==b)a.Kb=null,a.Ob=0;else{if(!a.Kb||a.Kb.subarray){var c=a.Kb;a.Kb=new Uint8Array(new ArrayBuffer(b));c&&a.Kb.set(c.subarray(0,Math.min(b,
  a.Ob)))}else if(a.Kb||(a.Kb=[]),a.Kb.length>b)a.Kb.length=b;else for(;a.Kb.length<b;)a.Kb.push(0);a.Ob=b}},Lb:{Vb:function(a){var b={};b.dev=8192===(a.mode&61440)?a.id:1;b.ino=a.id;b.mode=a.mode;b.nlink=1;b.uid=0;b.gid=0;b.rdev=a.rdev;G(a.mode)?b.size=4096:32768===(a.mode&61440)?b.size=a.Ob:40960===(a.mode&61440)?b.size=a.link.length:b.size=0;b.atime=new Date(a.timestamp);b.mtime=new Date(a.timestamp);b.ctime=new Date(a.timestamp);b.$b=4096;b.blocks=Math.ceil(b.size/b.$b);return b},Qb:function(a,
  b){void 0!==b.mode&&(a.mode=b.mode);void 0!==b.timestamp&&(a.timestamp=b.timestamp);void 0!==b.size&&F.re(a,b.size)},lookup:function(){throw Ab[2];},sc:function(a,b,c,d){return F.createNode(a,b,c,d)},rename:function(a,b,c){if(G(a.mode)){try{var d=Bb(b,c)}catch(g){}if(d)for(var e in d.Kb)throw new E(39);}delete a.parent.Kb[a.name];a.name=c;b.Kb[c]=a;a.parent=b},unlink:function(a,b){delete a.Kb[b]},rmdir:function(a,b){var c=Bb(a,b),d;for(d in c.Kb)throw new E(39);delete a.Kb[b]},readdir:function(a){var b=
  [".",".."],c;for(c in a.Kb)a.Kb.hasOwnProperty(c)&&b.push(c);return b},symlink:function(a,b,c){a=F.createNode(a,b,41471,0);a.link=c;return a},readlink:function(a){if(40960!==(a.mode&61440))throw new E(22);return a.link}},Mb:{read:function(a,b,c,d,e){var g=a.node.Kb;if(e>=a.node.Ob)return 0;a=Math.min(a.node.Ob-e,d);if(8<a&&g.subarray)b.set(g.subarray(e,e+a),c);else for(d=0;d<a;d++)b[c+d]=g[e+d];return a},write:function(a,b,c,d,e,g){g=!1;if(!d)return 0;a=a.node;a.timestamp=Date.now();if(b.subarray&&
  (!a.Kb||a.Kb.subarray)){if(g)return a.Kb=b.subarray(c,c+d),a.Ob=d;if(0===a.Ob&&0===e)return a.Kb=new Uint8Array(b.subarray(c,c+d)),a.Ob=d;if(e+d<=a.Ob)return a.Kb.set(b.subarray(c,c+d),e),d}F.ud(a,e+d);if(a.Kb.subarray&&b.subarray)a.Kb.set(b.subarray(c,c+d),e);else for(g=0;g<d;g++)a.Kb[e+g]=b[c+g];a.Ob=Math.max(a.Ob,e+d);return d},Xb:function(a,b,c){1===c?b+=a.position:2===c&&32768===(a.node.mode&61440)&&(b+=a.node.Ob);if(0>b)throw new E(22);return b},nd:function(a,b,c){F.ud(a.node,b+c);a.node.Ob=
  Math.max(a.node.Ob,b+c)},Gd:function(a,b,c,d,e,g,k){if(32768!==(a.node.mode&61440))throw new E(19);c=a.node.Kb;if(k&2||c.buffer!==b&&c.buffer!==b.buffer){if(0<e||e+d<a.node.Ob)c.subarray?c=c.subarray(e,e+d):c=Array.prototype.slice.call(c,e,e+d);a=!0;e=b.buffer==x.buffer;d=Ea(d);if(!d)throw new E(12);(e?x:b).set(c,d)}else a=!1,d=c.byteOffset;return{We:d,Xd:a}},Mc:function(a,b,c,d,e){if(32768!==(a.node.mode&61440))throw new E(19);if(e&2)return 0;F.Mb.write(a,b,0,d,c,!1);return 0}}},H={Gc:!1,ye:function(){H.Gc=
  !!process.platform.match(/^win/);var a=process.binding("constants");a.fs&&(a=a.fs);H.vd={1024:a.O_APPEND,64:a.O_CREAT,128:a.O_EXCL,0:a.O_RDONLY,2:a.O_RDWR,4096:a.O_SYNC,512:a.O_TRUNC,1:a.O_WRONLY}},od:function(a){return Buffer.Pb?Buffer.from(a):new Buffer(a)},Sb:function(a){assert(ha);return H.createNode(null,"/",H.zd(a.ed.root),0)},createNode:function(a,b,c){if(!G(c)&&32768!==(c&61440)&&40960!==(c&61440))throw new E(22);a=zb(a,b,c);a.Lb=H.Lb;a.Mb=H.Mb;return a},zd:function(a){try{var b=fs.lstatSync(a);
  H.Gc&&(b.mode=b.mode|(b.mode&292)>>2)}catch(c){if(!c.code)throw c;throw new E(-c.Nb);}return b.mode},Tb:function(a){for(var b=[];a.parent!==a;)b.push(a.name),a=a.parent;b.push(a.Sb.ed.root);b.reverse();return pb.apply(null,b)},fe:function(a){a&=-2656257;var b=0,c;for(c in H.vd)a&c&&(b|=H.vd[c],a^=c);if(a)throw new E(22);return b},Lb:{Vb:function(a){a=H.Tb(a);try{var b=fs.lstatSync(a)}catch(c){if(!c.code)throw c;throw new E(-c.Nb);}H.Gc&&!b.$b&&(b.$b=4096);H.Gc&&!b.blocks&&(b.blocks=(b.size+b.$b-1)/
  b.$b|0);return{dev:b.dev,ino:b.ino,mode:b.mode,nlink:b.nlink,uid:b.uid,gid:b.gid,rdev:b.rdev,size:b.size,atime:b.atime,mtime:b.mtime,ctime:b.ctime,$b:b.$b,blocks:b.blocks}},Qb:function(a,b){var c=H.Tb(a);try{void 0!==b.mode&&(fs.chmodSync(c,b.mode),a.mode=b.mode),void 0!==b.size&&fs.truncateSync(c,b.size)}catch(d){if(!d.code)throw d;throw new E(-d.Nb);}},lookup:function(a,b){var c=D(H.Tb(a),b);c=H.zd(c);return H.createNode(a,b,c)},sc:function(a,b,c,d){a=H.createNode(a,b,c,d);b=H.Tb(a);try{G(a.mode)?
  fs.mkdirSync(b,a.mode):fs.writeFileSync(b,"",{mode:a.mode})}catch(e){if(!e.code)throw e;throw new E(-e.Nb);}return a},rename:function(a,b,c){a=H.Tb(a);b=D(H.Tb(b),c);try{fs.renameSync(a,b)}catch(d){if(!d.code)throw d;throw new E(-d.Nb);}},unlink:function(a,b){a=D(H.Tb(a),b);try{fs.unlinkSync(a)}catch(c){if(!c.code)throw c;throw new E(-c.Nb);}},rmdir:function(a,b){a=D(H.Tb(a),b);try{fs.rmdirSync(a)}catch(c){if(!c.code)throw c;throw new E(-c.Nb);}},readdir:function(a){a=H.Tb(a);try{return fs.readdirSync(a)}catch(b){if(!b.code)throw b;
  throw new E(-b.Nb);}},symlink:function(a,b,c){a=D(H.Tb(a),b);try{fs.symlinkSync(c,a)}catch(d){if(!d.code)throw d;throw new E(-d.Nb);}},readlink:function(a){var b=H.Tb(a);try{return b=fs.readlinkSync(b),b=Cb.relative(Cb.resolve(a.Sb.ed.root),b)}catch(c){if(!c.code)throw c;throw new E(-c.Nb);}}},Mb:{open:function(a){var b=H.Tb(a.node);try{32768===(a.node.mode&61440)&&(a.uc=fs.openSync(b,H.fe(a.flags)))}catch(c){if(!c.code)throw c;throw new E(-c.Nb);}},close:function(a){try{32768===(a.node.mode&61440)&&
  a.uc&&fs.closeSync(a.uc)}catch(b){if(!b.code)throw b;throw new E(-b.Nb);}},read:function(a,b,c,d,e){if(0===d)return 0;try{return fs.readSync(a.uc,H.od(b.buffer),c,d,e)}catch(g){throw new E(-g.Nb);}},write:function(a,b,c,d,e){try{return fs.writeSync(a.uc,H.od(b.buffer),c,d,e)}catch(g){throw new E(-g.Nb);}},Xb:function(a,b,c){if(1===c)b+=a.position;else if(2===c&&32768===(a.node.mode&61440))try{b+=fs.fstatSync(a.uc).size}catch(d){throw new E(-d.Nb);}if(0>b)throw new E(22);return b}}},Db=null,Eb={},
  Fb=[],Gb=1,Hb=null,Ib=!0,Jb={},E=null,Ab={};
  function I(a,b){a=qb("/",a);b=b||{};if(!a)return{path:"",node:null};var c={wd:!0,hd:0},d;for(d in c)void 0===b[d]&&(b[d]=c[d]);if(8<b.hd)throw new E(40);a=lb(a.split("/").filter(function(a){return!!a}),!1);var e=Db;c="/";for(d=0;d<a.length;d++){var g=d===a.length-1;if(g&&b.parent)break;e=Bb(e,a[d]);c=D(c,a[d]);e.tc&&(!g||g&&b.wd)&&(e=e.tc.root);if(!g||b.Zc)for(g=0;40960===(e.mode&61440);)if(e=Kb(c),c=qb(nb(c),e),e=I(c,{hd:b.hd}).node,40<g++)throw new E(40);}return{path:c,node:e}}
  function Lb(a){for(var b;;){if(a===a.parent)return a=a.Sb.Hd,b?"/"!==a[a.length-1]?a+"/"+b:a+b:a;b=b?a.name+"/"+b:a.name;a=a.parent}}function Mb(a,b){for(var c=0,d=0;d<b.length;d++)c=(c<<5)-c+b.charCodeAt(d)|0;return(a+c>>>0)%Hb.length}function Nb(a){var b=Mb(a.parent.id,a.name);a.hc=Hb[b];Hb[b]=a}function Bb(a,b){var c;if(c=(c=Ob(a,"x"))?c:a.Lb.lookup?0:13)throw new E(c,a);for(c=Hb[Mb(a.id,b)];c;c=c.hc){var d=c.name;if(c.parent.id===a.id&&d===b)return c}return a.Lb.lookup(a,b)}
  function zb(a,b,c,d){Qb||(Qb=function(a,b,c,d){a||(a=this);this.parent=a;this.Sb=a.Sb;this.tc=null;this.id=Gb++;this.name=b;this.mode=c;this.Lb={};this.Mb={};this.rdev=d},Qb.prototype={},Object.defineProperties(Qb.prototype,{read:{get:function(){return 365===(this.mode&365)},set:function(a){a?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146===(this.mode&146)},set:function(a){a?this.mode|=146:this.mode&=-147}},oe:{get:function(){return G(this.mode)}},ne:{get:function(){return 8192===
  (this.mode&61440)}}}));a=new Qb(a,b,c,d);Nb(a);return a}function G(a){return 16384===(a&61440)}var Rb={r:0,rs:1052672,"r+":2,w:577,wx:705,xw:705,"w+":578,"wx+":706,"xw+":706,a:1089,ax:1217,xa:1217,"a+":1090,"ax+":1218,"xa+":1218};function Sb(a){var b=["r","w","rw"][a&3];a&512&&(b+="w");return b}function Ob(a,b){if(Ib)return 0;if(-1===b.indexOf("r")||a.mode&292){if(-1!==b.indexOf("w")&&!(a.mode&146)||-1!==b.indexOf("x")&&!(a.mode&73))return 13}else return 13;return 0}
  function Tb(a,b){try{return Bb(a,b),17}catch(c){}return Ob(a,"wx")}function Ub(a){var b=4096;for(a=a||0;a<=b;a++)if(!Fb[a])return a;throw new E(24);}function Vb(a,b){Wb||(Wb=function(){},Wb.prototype={},Object.defineProperties(Wb.prototype,{object:{get:function(){return this.node},set:function(a){this.node=a}}}));var c=new Wb,d;for(d in a)c[d]=a[d];a=c;b=Ub(b);a.fd=b;return Fb[b]=a}var yb={open:function(a){a.Mb=Eb[a.node.rdev].Mb;a.Mb.open&&a.Mb.open(a)},Xb:function(){throw new E(29);}};
  function tb(a,b){Eb[a]={Mb:b}}function Xb(a,b){var c="/"===b,d=!b;if(c&&Db)throw new E(16);if(!c&&!d){var e=I(b,{wd:!1});b=e.path;e=e.node;if(e.tc)throw new E(16);if(!G(e.mode))throw new E(20);}b={type:a,ed:{},Hd:b,qe:[]};a=a.Sb(b);a.Sb=b;b.root=a;c?Db=a:e&&(e.tc=b,e.Sb&&e.Sb.qe.push(b))}function Yb(a,b,c){var d=I(a,{parent:!0}).node;a=ob(a);if(!a||"."===a||".."===a)throw new E(22);var e=Tb(d,a);if(e)throw new E(e);if(!d.Lb.sc)throw new E(1);return d.Lb.sc(d,a,b,c)}
  function J(a,b){return Yb(a,(void 0!==b?b:511)&1023|16384,0)}function Zb(a,b,c){"undefined"===typeof c&&(c=b,b=438);return Yb(a,b|8192,c)}function $b(a,b){if(!qb(a))throw new E(2);var c=I(b,{parent:!0}).node;if(!c)throw new E(2);b=ob(b);var d=Tb(c,b);if(d)throw new E(d);if(!c.Lb.symlink)throw new E(1);return c.Lb.symlink(c,b,a)}
  function ac(a){var b=I(a,{parent:!0}).node,c=ob(a),d=Bb(b,c);a:{try{var e=Bb(b,c)}catch(k){e=k.Nb;break a}var g=Ob(b,"wx");e=g?g:G(e.mode)?21:0}if(e)throw new E(e);if(!b.Lb.unlink)throw new E(1);if(d.tc)throw new E(16);try{Jb.willDeletePath&&Jb.willDeletePath(a)}catch(k){console.log("FS.trackingDelegate['willDeletePath']('"+a+"') threw an exception: "+k.message)}b.Lb.unlink(b,c);b=Mb(d.parent.id,d.name);if(Hb[b]===d)Hb[b]=d.hc;else for(b=Hb[b];b;){if(b.hc===d){b.hc=d.hc;break}b=b.hc}try{if(Jb.onDeletePath)Jb.onDeletePath(a)}catch(k){console.log("FS.trackingDelegate['onDeletePath']('"+
  a+"') threw an exception: "+k.message)}}function Kb(a){a=I(a).node;if(!a)throw new E(2);if(!a.Lb.readlink)throw new E(22);return qb(Lb(a.parent),a.Lb.readlink(a))}function bc(a,b){var c;"string"===typeof a?c=I(a,{Zc:!0}).node:c=a;if(!c.Lb.Qb)throw new E(1);c.Lb.Qb(c,{mode:b&4095|c.mode&-4096,timestamp:Date.now()})}
  function cc(a,b,c,d){if(""===a)throw new E(2);if("string"===typeof b){var e=Rb[b];if("undefined"===typeof e)throw Error("Unknown file open mode: "+b);b=e}c=b&64?("undefined"===typeof c?438:c)&4095|32768:0;if("object"===typeof a)var g=a;else{a=mb(a);try{g=I(a,{Zc:!(b&131072)}).node}catch(n){}}e=!1;if(b&64)if(g){if(b&128)throw new E(17);}else g=Yb(a,c,0),e=!0;if(!g)throw new E(2);8192===(g.mode&61440)&&(b&=-513);if(b&65536&&!G(g.mode))throw new E(20);if(!e&&(c=g?40960===(g.mode&61440)?40:G(g.mode)&&
  ("r"!==Sb(b)||b&512)?21:Ob(g,Sb(b)):2))throw new E(c);if(b&512){c=g;var k;"string"===typeof c?k=I(c,{Zc:!0}).node:k=c;if(!k.Lb.Qb)throw new E(1);if(G(k.mode))throw new E(21);if(32768!==(k.mode&61440))throw new E(22);if(c=Ob(k,"w"))throw new E(c);k.Lb.Qb(k,{size:0,timestamp:Date.now()})}b&=-641;d=Vb({node:g,path:Lb(g),flags:b,seekable:!0,position:0,Mb:g.Mb,Ee:[],error:!1},d);d.Mb.open&&d.Mb.open(d);!h.logReadFiles||b&1||(dc||(dc={}),a in dc||(dc[a]=1,console.log("FS.trackingDelegate error on read file: "+
  a)));try{Jb.onOpenFile&&(g=0,1!==(b&2097155)&&(g|=1),0!==(b&2097155)&&(g|=2),Jb.onOpenFile(a,g))}catch(n){console.log("FS.trackingDelegate['onOpenFile']('"+a+"', flags) threw an exception: "+n.message)}return d}function ec(a){if(null===a.fd)throw new E(9);a.bd&&(a.bd=null);try{a.Mb.close&&a.Mb.close(a)}catch(b){throw b;}finally{Fb[a.fd]=null}a.fd=null}
  function fc(a,b,c){if(null===a.fd)throw new E(9);if(!a.seekable||!a.Mb.Xb)throw new E(29);if(0!=c&&1!=c&&2!=c)throw new E(22);a.position=a.Mb.Xb(a,b,c);a.Ee=[]}
  function hc(a,b,c,d,e,g){if(0>d||0>e)throw new E(22);if(null===a.fd)throw new E(9);if(0===(a.flags&2097155))throw new E(9);if(G(a.node.mode))throw new E(21);if(!a.Mb.write)throw new E(22);a.flags&1024&&fc(a,0,2);var k="undefined"!==typeof e;if(!k)e=a.position;else if(!a.seekable)throw new E(29);b=a.Mb.write(a,b,c,d,e,g);k||(a.position+=b);try{if(a.path&&Jb.onWriteToFile)Jb.onWriteToFile(a.path)}catch(n){console.log("FS.trackingDelegate['onWriteToFile']('"+a.path+"') threw an exception: "+n.message)}return b}
  function ic(){E||(E=function(a,b){this.node=b;this.ve=function(a){this.Nb=a};this.ve(a);this.message="FS error";this.stack&&Object.defineProperty(this,"stack",{value:Error().stack,writable:!0})},E.prototype=Error(),E.prototype.constructor=E,[2].forEach(function(a){Ab[a]=new E(a);Ab[a].stack="<generic error, no stack>"}))}var jc;function kc(a,b){var c=0;a&&(c|=365);b&&(c|=146);return c}function lc(a,b,c,d){a=D("string"===typeof a?a:Lb(a),b);return J(a,kc(c,d))}
  function mc(a,b){a="string"===typeof a?a:Lb(a);for(b=b.split("/").reverse();b.length;){var c=b.pop();if(c){var d=D(a,c);try{J(d)}catch(e){}a=d}}return d}function nc(a,b,c,d){a=D("string"===typeof a?a:Lb(a),b);c=kc(c,d);return Yb(a,(void 0!==c?c:438)&4095|32768,0)}
  function oc(a,b,c,d,e,g){a=b?D("string"===typeof a?a:Lb(a),b):a;d=kc(d,e);e=Yb(a,(void 0!==d?d:438)&4095|32768,0);if(c){if("string"===typeof c){a=Array(c.length);b=0;for(var k=c.length;b<k;++b)a[b]=c.charCodeAt(b);c=a}bc(e,d|146);a=cc(e,"w");hc(a,c,0,c.length,0,g);ec(a);bc(e,d)}return e}
  function K(a,b,c,d){a=D("string"===typeof a?a:Lb(a),b);b=kc(!!c,!!d);K.Ed||(K.Ed=64);var e=K.Ed++<<8|0;tb(e,{open:function(a){a.seekable=!1},close:function(){d&&d.buffer&&d.buffer.length&&d(10)},read:function(a,b,d,e){for(var g=0,k=0;k<e;k++){try{var n=c()}catch(P){throw new E(5);}if(void 0===n&&0===g)throw new E(11);if(null===n||void 0===n)break;g++;b[d+k]=n}g&&(a.node.timestamp=Date.now());return g},write:function(a,b,c,e){for(var g=0;g<e;g++)try{d(b[c+g])}catch(w){throw new E(5);}e&&(a.node.timestamp=
  Date.now());return g}});return Zb(a,b,e)}function pc(a,b,c){a=D("string"===typeof a?a:Lb(a),b);return $b(c,a)}
  function qc(a){if(a.ne||a.oe||a.link||a.Kb)return!0;var b=!0;if("undefined"!==typeof XMLHttpRequest)throw Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");if(ja)try{a.Kb=vb(ja(a.url),!0),a.Ob=a.Kb.length}catch(c){b=!1}else throw Error("Cannot load without read() or XMLHttpRequest.");b||jb(5);return b}
  function rc(a,b,c,d,e){function g(){this.cd=!1;this.Bc=[]}g.prototype.get=function(a){if(!(a>this.length-1||0>a)){var b=a%this.chunkSize;return this.Bd(a/this.chunkSize|0)[b]}};g.prototype.ue=function(a){this.Bd=a};g.prototype.pd=function(){var a=new XMLHttpRequest;a.open("HEAD",c,!1);a.send(null);if(!(200<=a.status&&300>a.status||304===a.status))throw Error("Couldn't load "+c+". Status: "+a.status);var b=Number(a.getResponseHeader("Content-length")),d,e=(d=a.getResponseHeader("Accept-Ranges"))&&
  "bytes"===d;a=(d=a.getResponseHeader("Content-Encoding"))&&"gzip"===d;var g=1048576;e||(g=b);var k=this;k.ue(function(a){var d=a*g,e=(a+1)*g-1;e=Math.min(e,b-1);if("undefined"===typeof k.Bc[a]){var Y=k.Bc;if(d>e)throw Error("invalid range ("+d+", "+e+") or no bytes requested!");if(e>b-1)throw Error("only "+b+" bytes available! programmer error!");var n=new XMLHttpRequest;n.open("GET",c,!1);b!==g&&n.setRequestHeader("Range","bytes="+d+"-"+e);"undefined"!=typeof Uint8Array&&(n.responseType="arraybuffer");
  n.overrideMimeType&&n.overrideMimeType("text/plain; charset=x-user-defined");n.send(null);if(!(200<=n.status&&300>n.status||304===n.status))throw Error("Couldn't load "+c+". Status: "+n.status);d=void 0!==n.response?new Uint8Array(n.response||[]):vb(n.responseText||"",!0);Y[a]=d}if("undefined"===typeof k.Bc[a])throw Error("doXHR failed!");return k.Bc[a]});if(a||!b)g=b=1,g=b=this.Bd(0).length,console.log("LazyFiles on gzip forces download of the whole file when length is accessed");this.Wd=b;this.Vd=
  g;this.cd=!0};if("undefined"!==typeof XMLHttpRequest){if(!p)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var k=new g;Object.defineProperties(k,{length:{get:function(){this.cd||this.pd();return this.Wd}},chunkSize:{get:function(){this.cd||this.pd();return this.Vd}}});var n=void 0}else n=c,k=void 0;var r=nc(a,b,d,e);k?r.Kb=k:n&&(r.Kb=null,r.url=n);Object.defineProperties(r,{Ob:{get:function(){return this.Kb.length}}});var u=
  {};Object.keys(r.Mb).forEach(function(a){var b=r.Mb[a];u[a]=function(){if(!qc(r))throw new E(5);return b.apply(null,arguments)}});u.read=function(a,b,c,d,e){if(!qc(r))throw new E(5);a=a.node.Kb;if(e>=a.length)return 0;d=Math.min(a.length-e,d);if(a.slice)for(var g=0;g<d;g++)b[c+g]=a[e+g];else for(g=0;g<d;g++)b[c+g]=a.get(e+g);return d};r.Mb=u;return r}
  function sc(a,b,c,d,e,g,k,n,r,u){function w(c){function Y(c){u&&u();n||oc(a,b,c,d,e,r);g&&g();bb(P)}var w=!1;h.preloadPlugins.forEach(function(a){!w&&a.canHandle(O)&&(a.handle(c,O,Y,function(){k&&k();bb(P)}),w=!0)});w||Y(c)}f.Cd();var O=b?qb(D(a,b)):a,P="cp "+O;ab(P);"string"==typeof c?f.Yd(c,function(a){w(a)},k):w(c)}var tc={},Qb,Wb,dc,uc={},L=0;function M(){L+=4;return y[L-4>>2]}function vc(){var a=Fb[M()];if(!a)throw new E(9);return a}function wc(){return x.length}
  f={Jb:{Yb:null,method:"",cc:0,Wb:null,Zb:0,Qc:0,Rc:0,bc:0,Ld:[],pause:function(){f.Jb.Yb=null;f.Jb.cc++},resume:function(){f.Jb.cc++;var a=f.Jb.Qc,b=f.Jb.Rc,c=f.Jb.Wb;f.Jb.Wb=null;xc(c,0,!1,f.Jb.Zb,!0);yc(a,b);f.Jb.Yb()},Fe:function(){if(h.setStatus){var a=h.statusMessage||"Please wait...",b=f.Jb.jd,c=f.Jb.Me;b?b<c?h.setStatus(a+" ("+(c-b)+"/"+c+")"):h.setStatus(a):h.setStatus("")}},se:function(a){if(!(B||h.preMainLoop&&!1===h.preMainLoop())){try{a()}catch(b){if(b instanceof oa)return;b&&"object"===
  typeof b&&b.stack&&l("exception thrown: "+[b,b.stack]);throw b;}h.postMainLoop&&h.postMainLoop()}}},pc:!1,vc:!1,pe:[],workers:[],Cd:function(){function a(){f.vc=document.pointerLockElement===h.canvas||document.mozPointerLockElement===h.canvas||document.webkitPointerLockElement===h.canvas||document.msPointerLockElement===h.canvas}h.preloadPlugins||(h.preloadPlugins=[]);if(!f.le){f.le=!0;try{f.Ec=!0}catch(c){f.Ec=!1,console.log("warning: no blob constructor, cannot create blobs with mimetypes")}f.BlobBuilder=
  "undefined"!=typeof MozBlobBuilder?MozBlobBuilder:"undefined"!=typeof WebKitBlobBuilder?WebKitBlobBuilder:f.Ec?null:console.log("warning: no BlobBuilder");f.zc="undefined"!=typeof window?window.URL?window.URL:window.webkitURL:void 0;h.Jd||"undefined"!==typeof f.zc||(console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),h.Jd=!0);h.preloadPlugins.push({canHandle:function(a){return!h.Jd&&/\.(jpg|jpeg|png|bmp)$/i.test(a)},handle:function(a,
  b,e,g){var c=null;if(f.Ec)try{c=new Blob([a],{type:f.ad(b)}),c.size!==a.length&&(c=new Blob([(new Uint8Array(a)).buffer],{type:f.ad(b)}))}catch(u){ra("Blob constructor present but fails: "+u+"; falling back to blob builder")}c||(c=new f.BlobBuilder,c.append((new Uint8Array(a)).buffer),c=c.getBlob());var d=f.zc.createObjectURL(c),r=new Image;r.onload=function(){assert(r.complete,"Image "+b+" could not be decoded");var c=document.createElement("canvas");c.width=r.width;c.height=r.height;c.getContext("2d").drawImage(r,
  0,0);h.preloadedImages[b]=c;f.zc.revokeObjectURL(d);e&&e(a)};r.onerror=function(){console.log("Image "+d+" could not be decoded");g&&g()};r.src=d}});h.preloadPlugins.push({canHandle:function(a){return!h.Ue&&a.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},handle:function(a,b,e,g){function c(c){r||(r=!0,h.preloadedAudios[b]=c,e&&e(a))}function d(){r||(r=!0,h.preloadedAudios[b]=new Audio,g&&g())}var r=!1;if(f.Ec){try{var u=new Blob([a],{type:f.ad(b)})}catch(O){return d()}u=f.zc.createObjectURL(u);var w=
  new Audio;w.addEventListener("canplaythrough",function(){c(w)},!1);w.onerror=function(){if(!r){console.log("warning: browser could not fully decode audio "+b+", trying slower base64 approach");for(var d="",e=0,g=0,k=0;k<a.length;k++)for(e=e<<8|a[k],g+=8;6<=g;){var n=e>>g-6&63;g-=6;d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[n]}2==g?(d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(e&3)<<4],d+="=="):4==g&&(d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(e&
  15)<<2],d+="=");w.src="data:audio/x-"+b.substr(-3)+";base64,"+d;c(w)}};w.src=u;f.te(function(){c(w)},1E4)}else return d()}});var b=h.canvas;b&&(b.requestPointerLock=b.requestPointerLock||b.mozRequestPointerLock||b.webkitRequestPointerLock||b.msRequestPointerLock||function(){},b.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},b.exitPointerLock=b.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",
  a,!1),document.addEventListener("mozpointerlockchange",a,!1),document.addEventListener("webkitpointerlockchange",a,!1),document.addEventListener("mspointerlockchange",a,!1),h.elementPointerLock&&b.addEventListener("click",function(a){!f.vc&&h.canvas.requestPointerLock&&(h.canvas.requestPointerLock(),a.preventDefault())},!1))}},createContext:function(a,b,c,d){if(b&&h.ac&&a==h.canvas)return h.ac;var e;if(b){var g={antialias:!1,alpha:!1,Fd:"undefined"!==typeof WebGL2RenderingContext?2:1};if(d)for(var k in d)g[k]=
  d[k];if("undefined"!==typeof zc&&(e=Ac(a,g)))var n=Bc[e].nc}else n=a.getContext("2d");if(!n)return null;c&&(b||assert("undefined"===typeof N,"cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),h.ac=n,b&&(Q=Bc[e],h.ac=N=Q&&Q.nc),h.df=b,f.pe.forEach(function(a){a()}),f.Cd());return n},Ke:function(){},yd:!1,Ic:void 0,kc:void 0,requestFullscreen:function(a,b,c){function d(){f.pc=!1;var a=e.parentNode;(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||
  document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===a?(e.exitFullscreen=f.exitFullscreen,f.Ic&&e.requestPointerLock(),f.pc=!0,f.kc?f.we():f.yc(e)):(a.parentNode.insertBefore(e,a),a.parentNode.removeChild(a),f.kc?f.xe():f.yc(e));if(h.onFullScreen)h.onFullScreen(f.pc);if(h.onFullscreen)h.onFullscreen(f.pc)}f.Ic=a;f.kc=b;f.Td=c;"undefined"===typeof f.Ic&&(f.Ic=!0);"undefined"===typeof f.kc&&(f.kc=!1);"undefined"===typeof f.Td&&(f.Td=null);var e=h.canvas;f.yd||(f.yd=!0,document.addEventListener("fullscreenchange",
  d,!1),document.addEventListener("mozfullscreenchange",d,!1),document.addEventListener("webkitfullscreenchange",d,!1),document.addEventListener("MSFullscreenChange",d,!1));var g=document.createElement("div");e.parentNode.insertBefore(g,e);g.appendChild(e);g.requestFullscreen=g.requestFullscreen||g.mozRequestFullScreen||g.msRequestFullscreen||(g.webkitRequestFullscreen?function(){g.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}:null)||(g.webkitRequestFullScreen?function(){g.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:
  null);c?g.requestFullscreen({ef:c}):g.requestFullscreen()},Md:function(a,b,c){l("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.");f.Md=function(a,b,c){return f.requestFullscreen(a,b,c)};return f.requestFullscreen(a,b,c)},exitFullscreen:function(){if(!f.pc)return!1;(document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||function(){}).apply(document,[]);return!0},ic:0,de:function(a){var b=
  Date.now();if(0===f.ic)f.ic=b+1E3/60;else for(;b+2>=f.ic;)f.ic+=1E3/60;setTimeout(a,Math.max(f.ic-b,0))},requestAnimationFrame:function(a){if("function"===typeof requestAnimationFrame)requestAnimationFrame(a);else{var b=f.de;b(a)}},Ze:function(a){return function(){if(!B)return a.apply(null,arguments)}},oc:!0,wc:[],Ve:function(){f.oc=!1},Ye:function(){f.oc=!0;if(0<f.wc.length){var a=f.wc;f.wc=[];a.forEach(function(a){a()})}},$e:function(a){return f.requestAnimationFrame(function(){B||(f.oc?a():f.wc.push(a))})},
  te:function(a,b){h.noExitRuntime=!0;return setTimeout(function(){B||(f.oc?a():f.wc.push(a))},b)},af:function(a,b){h.noExitRuntime=!0;return setInterval(function(){B||f.oc&&a()},b)},ad:function(a){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[a.substr(a.lastIndexOf(".")+1)]},getUserMedia:function(a){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia);window.getUserMedia(a)},he:function(a){return a.movementX||
  a.mozMovementX||a.webkitMovementX||0},ie:function(a){return a.movementY||a.mozMovementY||a.webkitMovementY||0},ge:function(a){switch(a.type){case "DOMMouseScroll":var b=a.detail/3;break;case "mousewheel":b=a.wheelDelta/120;break;case "wheel":b=a.deltaY;switch(a.deltaMode){case 0:b/=100;break;case 1:b/=3;break;case 2:b*=80;break;default:throw"unrecognized mouse wheel delta mode: "+a.deltaMode;}break;default:throw"unrecognized mouse wheel event: "+a.type;}return b},ec:0,fc:0,Kc:0,Lc:0,touches:{},Dd:{},
  qd:function(a){if(f.vc)"mousemove"!=a.type&&"mozMovementX"in a?f.Kc=f.Lc=0:(f.Kc=f.he(a),f.Lc=f.ie(a)),f.ec+=f.Kc,f.fc+=f.Lc;else{var b=h.canvas.getBoundingClientRect(),c=h.canvas.width,d=h.canvas.height,e="undefined"!==typeof window.scrollX?window.scrollX:window.pageXOffset,g="undefined"!==typeof window.scrollY?window.scrollY:window.pageYOffset;if("touchstart"===a.type||"touchend"===a.type||"touchmove"===a.type){var k=a.cf;if(void 0!==k)if(e=k.pageX-(e+b.left),g=k.pageY-(g+b.top),e*=c/b.width,g*=
  d/b.height,b={x:e,y:g},"touchstart"===a.type)f.Dd[k.identifier]=b,f.touches[k.identifier]=b;else if("touchend"===a.type||"touchmove"===a.type)(a=f.touches[k.identifier])||(a=b),f.Dd[k.identifier]=a,f.touches[k.identifier]=b}else k=a.pageX-(e+b.left),a=a.pageY-(g+b.top),k*=c/b.width,a*=d/b.height,f.Kc=k-f.ec,f.Lc=a-f.fc,f.ec=k,f.fc=a}},Yd:function(a,b,c,d){var e=d?"":"al "+a;ka(a,function(c){assert(c,'Loading data file "'+a+'" failed (no arrayBuffer).');b(new Uint8Array(c));e&&bb(e)},function(){if(c)c();
  else throw'Loading data file "'+a+'" failed.';});e&&ab(e)},Nd:[],ld:function(){var a=h.canvas;f.Nd.forEach(function(b){b(a.width,a.height)})},Pc:function(a,b,c){f.yc(h.canvas,a,b);c||f.ld()},hf:0,gf:0,we:function(){f.yc(h.canvas);f.ld()},xe:function(){f.yc(h.canvas);f.ld()},yc:function(a,b,c){b&&c?(a.Ge=b,a.je=c):(b=a.Ge,c=a.je);var d=b,e=c;h.forcedAspectRatio&&0<h.forcedAspectRatio&&(d/e<h.forcedAspectRatio?d=Math.round(e*h.forcedAspectRatio):e=Math.round(d/h.forcedAspectRatio));if((document.fullscreenElement||
  document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===a.parentNode&&"undefined"!=typeof screen){var g=Math.min(screen.width/d,screen.height/e);d=Math.round(d*g);e=Math.round(e*g)}f.kc?(a.width!=d&&(a.width=d),a.height!=e&&(a.height=e),"undefined"!=typeof a.style&&(a.style.removeProperty("width"),a.style.removeProperty("height"))):(a.width!=b&&(a.width=b),a.height!=c&&(a.height=c),"undefined"!=typeof a.style&&(d!=b||
  e!=c?(a.style.setProperty("width",d+"px","important"),a.style.setProperty("height",e+"px","important")):(a.style.removeProperty("width"),a.style.removeProperty("height"))))},ff:{},Id:0,Re:function(){var a=f.Id;f.Id++;return a}};
  function yc(a,b){f.Jb.Qc=a;f.Jb.Rc=b;if(f.Jb.Wb)if(0==a)f.Jb.Yb=function(){var a=Math.max(0,f.Jb.ze+b-Cc())|0;setTimeout(f.Jb.Nc,a)},f.Jb.method="timeout";else if(1==a)f.Jb.Yb=function(){f.requestAnimationFrame(f.Jb.Nc)},f.Jb.method="rAF";else if(2==a){if("undefined"===typeof setImmediate){var c=[];addEventListener("message",function(a){if("setimmediate"===a.data||"setimmediate"===a.data.target)a.stopPropagation(),c.shift()()},!0);setImmediate=function(a){c.push(a);p?(void 0===h.setImmediates&&(h.setImmediates=
  []),h.setImmediates.push(a),postMessage({target:"setimmediate"})):postMessage("setimmediate","*")}}f.Jb.Yb=function(){setImmediate(f.Jb.Nc)};f.Jb.method="immediate"}}function Cc(){t()}
  function xc(a,b,c,d,e){h.noExitRuntime=!0;assert(!f.Jb.Wb,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");f.Jb.Wb=a;f.Jb.Zb=d;var g="undefined"!==typeof d?function(){h.dynCall_vi(a,d)}:function(){h.dynCall_v(a)};var k=f.Jb.cc;f.Jb.Nc=function(){if(!B)if(0<f.Jb.Ld.length){var a=Date.now(),b=f.Jb.Ld.shift();b.Wb(b.Zb);if(f.Jb.jd){var c=f.Jb.jd,d=0==c%1?c-1:Math.floor(c);
  f.Jb.jd=b.Ie?d:(8*c+(d+.5))/9}console.log('main loop blocker "'+b.name+'" took '+(Date.now()-a)+" ms");f.Jb.Fe();k<f.Jb.cc||setTimeout(f.Jb.Nc,0)}else k<f.Jb.cc||(f.Jb.bc=f.Jb.bc+1|0,1==f.Jb.Qc&&1<f.Jb.Rc&&0!=f.Jb.bc%f.Jb.Rc?f.Jb.Yb():(0==f.Jb.Qc&&(f.Jb.ze=Cc()),"undefined"!==typeof zc&&Q&&!zc.Je&&!Q.attributes.Ne&&Q.nc.be&&Q.nc.be(),"timeout"===f.Jb.method&&h.ac&&(l("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),
  f.Jb.method=""),f.Jb.se(g),k<f.Jb.cc||f.Jb.Yb()))};e||(b&&0<b?yc(0,1E3/b):yc(1,1),f.Jb.Yb());if(c)throw"SimulateInfiniteLoop";}var Dc={};function Ec(a){if(0===a)return 0;a=Ha(a);if(!Dc.hasOwnProperty(a))return 0;Ec.Pb&&Fc(Ec.Pb);a=Dc[a];var b=Ja(a)+1,c=Ea(b);c&&Ia(a,x,c,b);Ec.Pb=c;return Ec.Pb}var Gc=1,Hc=0,Ic=[],R=[],Jc=[],S=[],T=[],Kc=[],Bc={},Q=null,Lc=[],Mc={},Nc=4;function U(a){Hc||(Hc=a)}function Oc(a){for(var b=Gc++,c=a.length;c<b;c++)a[c]=null;return b}var Pc=null,Qc=[0];
  function Ac(a,b){return(a=1<b.Fd?a.getContext("webgl2",b):a.getContext("webgl",b)||a.getContext("experimental-webgl",b))?Rc(a,b):0}function Rc(a,b){function c(){var a=navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./);return a?parseInt(a[2],10):!1}var d=Ea(8),e={handle:d,attributes:b,version:b.Fd,nc:a};e.kd=2<=e.version&&(!1===c()||58<=c());a.canvas&&(a.canvas.He=e);Bc[d]=e;("undefined"===typeof b.ce||b.ce)&&Sc(e);return d}
  function Tc(a){var b=a.getExtension("ANGLE_instanced_arrays");b&&(a.vertexAttribDivisor=function(a,d){b.vertexAttribDivisorANGLE(a,d)},a.drawArraysInstanced=function(a,d,e,g){b.drawArraysInstancedANGLE(a,d,e,g)},a.drawElementsInstanced=function(a,d,e,g,k){b.drawElementsInstancedANGLE(a,d,e,g,k)})}
  function Uc(a){var b=a.getExtension("OES_vertex_array_object");b&&(a.createVertexArray=function(){return b.createVertexArrayOES()},a.deleteVertexArray=function(a){b.deleteVertexArrayOES(a)},a.bindVertexArray=function(a){b.bindVertexArrayOES(a)},a.isVertexArray=function(a){return b.isVertexArrayOES(a)})}function Vc(a){var b=a.getExtension("WEBGL_draw_buffers");b&&(a.drawBuffers=function(a,d){b.drawBuffersWEBGL(a,d)})}
  function Sc(a){a||(a=Q);if(!a.ke){a.ke=!0;var b=a.nc;2>a.version&&(Tc(b),Uc(b),Vc(b));b.Le=b.getExtension("EXT_disjoint_timer_query");var c="OES_texture_float OES_texture_half_float OES_standard_derivatives OES_vertex_array_object WEBGL_compressed_texture_s3tc WEBGL_depth_texture OES_element_index_uint EXT_texture_filter_anisotropic EXT_frag_depth WEBGL_draw_buffers ANGLE_instanced_arrays OES_texture_float_linear OES_texture_half_float_linear EXT_blend_minmax EXT_shader_texture_lod WEBGL_compressed_texture_pvrtc EXT_color_buffer_half_float WEBGL_color_buffer_float EXT_sRGB WEBGL_compressed_texture_etc1 EXT_disjoint_timer_query WEBGL_compressed_texture_etc WEBGL_compressed_texture_astc EXT_color_buffer_float WEBGL_compressed_texture_s3tc_srgb EXT_disjoint_timer_query_webgl2".split(" ");
  (a=b.getSupportedExtensions())&&0<a.length&&b.getSupportedExtensions().forEach(function(a){-1!=c.indexOf(a)&&b.getExtension(a)})}}var zc={},Wc,Xc;function Yc(a,b,c,d){for(var e=0;e<a;e++){var g=N[c](),k=g&&Oc(d);g?(g.name=k,d[k]=g):U(1282);y[b+4*e>>2]=k}}
  function Zc(a,b){if(b){var c=void 0;switch(a){case 36346:c=1;break;case 36344:return;case 34814:case 36345:c=0;break;case 34466:var d=N.getParameter(34467);c=d?d.length:0;break;case 33309:if(2>Q.version){U(1282);return}d=N.getSupportedExtensions();c=null===d?0:2*d.length;break;case 33307:case 33308:if(2>Q.version){U(1280);return}c=33307==a?3:0}if(void 0===c)switch(d=N.getParameter(a),typeof d){case "number":c=d;break;case "boolean":c=d?1:0;break;case "string":U(1280);return;case "object":if(null===
  d)switch(a){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 35097:case 36389:case 34068:c=0;break;default:U(1280);return}else{if(d instanceof Float32Array||d instanceof Uint32Array||d instanceof Int32Array||d instanceof Array){for(a=0;a<d.length;++a)y[b+4*a>>2]=d[a];return}try{c=d.name|0}catch(e){U(1280);l("GL_INVALID_ENUM in glGet0v: Unknown object returned from WebGL getParameter("+a+")! (error: "+e+")");return}}break;default:U(1280);l("GL_INVALID_ENUM in glGet0v: Native code calling glGet0v("+
  a+") and it returns "+d+" of type "+typeof d+"!");return}y[b>>2]=c}else U(1281)}var $c={6402:1,6403:1,6406:1,6407:3,6408:4,6409:1,6410:2,33319:2,33320:2,35904:3,35906:4,36244:1,36248:3,36249:4},ad={5120:1,5121:1,5122:2,5123:2,5124:4,5125:4,5126:4,5131:2,32819:2,32820:2,33635:2,33640:4,34042:4,35899:4,35902:4,36193:2};
  function bd(a,b,c,d,e){if(b=$c[b]*ad[a]){var g=Nc;c=e+d*(c*b+g-1&-g);switch(a){case 5120:return x.subarray(e,c);case 5121:return C.subarray(e,c);case 5122:return va.subarray(e>>1,c>>1);case 5124:return y.subarray(e>>2,c>>2);case 5126:return A.subarray(e>>2,c>>2);case 5125:case 34042:case 35902:case 33640:case 35899:return Oa.subarray(e>>2,c>>2);case 5123:case 33635:case 32819:case 32820:case 36193:case 5131:return Na.subarray(e>>1,c>>1);default:U(1280)}}else U(1280)}
  function cd(a){switch(a){case 5120:return x;case 5121:return C;case 5122:return va;case 5123:case 33635:case 32819:case 32820:case 36193:case 5131:return Na;case 5124:return y;case 5125:case 34042:case 35902:case 33640:case 35899:case 34042:return Oa;case 5126:return A}}var dd={5122:1,5123:1,5124:2,5125:2,5126:2,5131:1,32819:1,32820:1,33635:1,33640:2,34042:2,35899:2,35902:2,36193:1};
  function ed(a,b,c,d,e){this.id=a;this.y=this.x=0;this.$c=!1;this.Rd=this.Qd=0;this.width=b;this.height=c;this.Pd=b;this.Od=c;this.title=d;this.share=e;this.attributes=fd;this.Fc={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=[];this.Xc=[];this.Ac=this.Hc=this.td=this.Oc=this.Cc=this.Dc=this.Jc=this.xd=this.Vc=this.mc=this.Ud=this.title=null}function V(a){return 0>=a||!W?null:W[a-1]}
  var gd=null,hd=null,X=null,W=null,id=null,jd=null,fd=null,kd={131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0};
  function ld(a){switch(a){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;
  case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 94;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;
  case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;
  case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;
  case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 93:return 348;default:return-1}}function md(){var a=X,b=0;a.keys[340]&&(b|=1);a.keys[341]&&(b|=2);a.keys[342]&&(b|=4);a.keys[343]&&(b|=8);return b}function nd(a){X&&X.Ac&&!a.ctrlKey&&!a.metaKey&&(a=a.charCode,0==a||0<=a&&31>=a||od(X.Ac,X.id,a))}function pd(a,b){if(X){var c=ld(a);if(-1!=c){var d=b&&X.keys[c];X.keys[c]=b;X.Xc[a]=b;X.Hc&&(d&&(b=2),qd(X.Hc,X.id,c,a,b,md()))}}}
  function rd(){sd()}function td(){sd()}function ud(a){pd(a.keyCode,1);8!==a.keyCode&&9!==a.keyCode||a.preventDefault()}function vd(a){pd(a.keyCode,0)}function wd(){if(X)for(var a=0;a<X.Xc.length;++a)X.Xc[a]&&pd(a,0)}function xd(a){X&&(f.qd(a),a.target==h.canvas&&X.Dc&&yd(X.Dc,X.id,f.ec,f.fc))}function zd(a){X&&a.target==h.canvas&&X.Cc&&od(X.Cc,X.id,1)}function Ad(a){X&&a.target==h.canvas&&X.Cc&&od(X.Cc,X.id,0)}
  function Bd(a,b){if(X&&(f.qd(a),a.target==h.canvas)){var c=a.button;0<c&&(c=1==c?2:1);if(1==b){X.buttons|=1<<c;try{a.target.setCapture()}catch(d){}}else X.buttons&=~(1<<c);X.Jc&&Cd(X.Jc,X.id,c,b,md())}}function Dd(a){X&&Bd(a,1)}function Ed(a){X&&Bd(a,0)}function Fd(a){f.ge(a);if(X&&X.Oc&&a.target==h.canvas){if("mousewheel"==a.type){var b=a.wheelDeltaX;var c=a.wheelDeltaY}else b=a.deltaX,c=a.deltaY;yd(X.Oc,X.id,b,c);a.preventDefault()}}
  function Gd(){(h.canvas.requestFullscreen||h.canvas.mozRequestFullScreen||h.canvas.webkitRequestFullScreen||function(){}).apply(h.canvas,[])}var Z={},Hd=null,Id=null;
  function sd(){if(f.Jb.bc!==Id||!f.Jb.bc){Hd=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;Id=f.Jb.bc;for(var a=0;a<Hd.length;++a){var b=Hd[a];if(b){Z[a]||(console.log("glfw joystick connected:",a),Z[a]={id:Da(vb(b.id),"i8"),$d:b.buttons.length,Zd:b.axes.length,buttons:Da(Array(b.buttons.length),"i8"),axes:Da(Array(4*b.axes.length),"float")});for(var c=Z[a],d=0;d<b.buttons.length;++d)v(c.buttons+d,b.buttons[d].pressed,"i8");for(d=0;d<b.axes.length;++d)v(c.axes+
  4*d,b.axes[d],"float")}else Z[a]&&(console.log("glfw joystick disconnected",a),Fc(Z[a].id),Fc(Z[a].buttons),Fc(Z[a].axes),delete Z[a])}}}function Jd(a){if(X&&X.td&&a.dataTransfer&&a.dataTransfer.files&&0!=a.dataTransfer.files.length)return a.preventDefault(),!1}function Kd(a){if(X&&X.td)return a.preventDefault(),!1}function Ld(a){!f.vc&&h.canvas.requestPointerLock&&(h.canvas.requestPointerLock(),a.preventDefault())}function Md(){Md.Pb||(Md.Pb=[]);Md.Pb.push(Nd());return Md.Pb.length-1}
  function Od(a){a=Ma(a);var b=buffer.byteLength;try{return-1!==Ca.grow((a-b)/65536)?(buffer=Ca.buffer,!0):!1}catch(c){return!1}}function Pd(a){return 0===a%4&&(0!==a%100||0===a%400)}function Qd(a,b){for(var c=0,d=0;d<=b;c+=a[d++]);return c}var Rd=[31,29,31,30,31,30,31,31,30,31,30,31],Sd=[31,28,31,30,31,30,31,31,30,31,30,31];
  function Td(a,b){for(a=new Date(a.getTime());0<b;){var c=a.getMonth(),d=(Pd(a.getFullYear())?Rd:Sd)[c];if(b>d-a.getDate())b-=d-a.getDate()+1,a.setDate(1),11>c?a.setMonth(c+1):(a.setMonth(0),a.setFullYear(a.getFullYear()+1));else{a.setDate(a.getDate()+b);break}}return a}
  function Ud(a,b,c,d){function e(a,b,c){for(a="number"===typeof a?a.toString():a||"";a.length<b;)a=c[0]+a;return a}function g(a,b){return e(a,b,"0")}function k(a,b){function c(a){return 0>a?-1:0<a?1:0}var d;0===(d=c(a.getFullYear()-b.getFullYear()))&&0===(d=c(a.getMonth()-b.getMonth()))&&(d=c(a.getDate()-b.getDate()));return d}function n(a){switch(a.getDay()){case 0:return new Date(a.getFullYear()-1,11,29);case 1:return a;case 2:return new Date(a.getFullYear(),0,3);case 3:return new Date(a.getFullYear(),
  0,2);case 4:return new Date(a.getFullYear(),0,1);case 5:return new Date(a.getFullYear()-1,11,31);case 6:return new Date(a.getFullYear()-1,11,30)}}function r(a){a=Td(new Date(a.Rb+1900,0,1),a.Uc);var b=n(new Date(a.getFullYear()+1,0,4));return 0>=k(n(new Date(a.getFullYear(),0,4)),a)?0>=k(b,a)?a.getFullYear()+1:a.getFullYear():a.getFullYear()-1}var u=y[d+40>>2];d={Ce:y[d>>2],Be:y[d+4>>2],Sc:y[d+8>>2],xc:y[d+12>>2],lc:y[d+16>>2],Rb:y[d+20>>2],Tc:y[d+24>>2],Uc:y[d+28>>2],bf:y[d+32>>2],Ae:y[d+36>>2],
  De:u?Ha(u):""};c=Ha(c);u={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var w in u)c=c.replace(new RegExp(w,"g"),u[w]);var O="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),
  P="January February March April May June July August September October November December".split(" ");u={"%a":function(a){return O[a.Tc].substring(0,3)},"%A":function(a){return O[a.Tc]},"%b":function(a){return P[a.lc].substring(0,3)},"%B":function(a){return P[a.lc]},"%C":function(a){return g((a.Rb+1900)/100|0,2)},"%d":function(a){return g(a.xc,2)},"%e":function(a){return e(a.xc,2," ")},"%g":function(a){return r(a).toString().substring(2)},"%G":function(a){return r(a)},"%H":function(a){return g(a.Sc,
  2)},"%I":function(a){a=a.Sc;0==a?a=12:12<a&&(a-=12);return g(a,2)},"%j":function(a){return g(a.xc+Qd(Pd(a.Rb+1900)?Rd:Sd,a.lc-1),3)},"%m":function(a){return g(a.lc+1,2)},"%M":function(a){return g(a.Be,2)},"%n":function(){return"\n"},"%p":function(a){return 0<=a.Sc&&12>a.Sc?"AM":"PM"},"%S":function(a){return g(a.Ce,2)},"%t":function(){return"\t"},"%u":function(a){return a.Tc||7},"%U":function(a){var b=new Date(a.Rb+1900,0,1),c=0===b.getDay()?b:Td(b,7-b.getDay());a=new Date(a.Rb+1900,a.lc,a.xc);return 0>
  k(c,a)?g(Math.ceil((31-c.getDate()+(Qd(Pd(a.getFullYear())?Rd:Sd,a.getMonth()-1)-31)+a.getDate())/7),2):0===k(c,b)?"01":"00"},"%V":function(a){var b=n(new Date(a.Rb+1900,0,4)),c=n(new Date(a.Rb+1901,0,4)),d=Td(new Date(a.Rb+1900,0,1),a.Uc);return 0>k(d,b)?"53":0>=k(c,d)?"01":g(Math.ceil((b.getFullYear()<a.Rb+1900?a.Uc+32-b.getDate():a.Uc+1-b.getDate())/7),2)},"%w":function(a){return a.Tc},"%W":function(a){var b=new Date(a.Rb,0,1),c=1===b.getDay()?b:Td(b,0===b.getDay()?1:7-b.getDay()+1);a=new Date(a.Rb+
  1900,a.lc,a.xc);return 0>k(c,a)?g(Math.ceil((31-c.getDate()+(Qd(Pd(a.getFullYear())?Rd:Sd,a.getMonth()-1)-31)+a.getDate())/7),2):0===k(c,b)?"01":"00"},"%y":function(a){return(a.Rb+1900).toString().substring(2)},"%Y":function(a){return a.Rb+1900},"%z":function(a){a=a.Ae;var b=0<=a;a=Math.abs(a)/60;return(b?"+":"-")+String("0000"+(a/60*100+a%60)).slice(-4)},"%Z":function(a){return a.De},"%%":function(){return"%"}};for(w in u)0<=c.indexOf(w)&&(c=c.replace(new RegExp(w,"g"),u[w](d)));w=vb(c,!1);if(w.length>
  b)return 0;x.set(w,a);return w.length-1}ic();Hb=Array(4096);Xb(F,"/");J("/tmp");J("/home");J("/home/web_user");
  (function(){J("/dev");tb(259,{read:function(){return 0},write:function(a,b,c,k){return k}});Zb("/dev/null",259);sb(1280,wb);sb(1536,xb);Zb("/dev/tty",1280);Zb("/dev/tty1",1536);if("object"===typeof crypto&&"function"===typeof crypto.getRandomValues){var a=new Uint8Array(1);var b=function(){crypto.getRandomValues(a);return a[0]}}else if(fa)try{var c=require("crypto");b=function(){return c.randomBytes(1)[0]}}catch(d){}b||(b=function(){t("random_device")});K("/dev","random",b);K("/dev","urandom",b);
  J("/dev/shm");J("/dev/shm/tmp")})();J("/proc");J("/proc/self");J("/proc/self/fd");Xb({Sb:function(){var a=zb("/proc/self","fd",16895,73);a.Lb={lookup:function(a,c){var b=Fb[+c];if(!b)throw new E(9);a={parent:null,Sb:{Hd:"fake"},Lb:{readlink:function(){return b.path}}};return a.parent=a}};return a}},"/proc/self/fd");h.FS_createFolder=lc;h.FS_createPath=mc;h.FS_createDataFile=oc;h.FS_createPreloadedFile=sc;h.FS_createLazyFile=rc;h.FS_createLink=pc;h.FS_createDevice=K;h.FS_unlink=ac;
  if(ha){var fs=require("fs"),Cb=require("path");H.ye()}h.requestFullScreen=function(a,b,c){l("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead.");h.requestFullScreen=h.requestFullscreen;f.Md(a,b,c)};h.requestFullscreen=function(a,b,c){f.requestFullscreen(a,b,c)};h.requestAnimationFrame=function(a){f.requestAnimationFrame(a)};h.setCanvasSize=function(a,b,c){f.Pc(a,b,c)};h.pauseMainLoop=function(){f.Jb.pause()};h.resumeMainLoop=function(){f.Jb.resume()};
  h.getUserMedia=function(){f.getUserMedia()};h.createContext=function(a,b,c,d){return f.createContext(a,b,c,d)};fa?Cc=function(){var a=process.hrtime();return 1E3*a[0]+a[1]/1E6}:"undefined"!==typeof dateNow?Cc=dateNow:"object"===typeof performance&&performance&&"function"===typeof performance.now?Cc=function(){return performance.now()}:Cc=Date.now;var N;Pc=new Float32Array(256);for(var Vd=0;256>Vd;Vd++)Qc[Vd]=Pc.subarray(0,Vd+1);
  function vb(a,b){var c=Array(Ja(a)+1);a=Ia(a,c,0,c.length);b&&(c.length=a);return c}
  var ae=h.asm({},{c:t,E:function(a){return Ea(a)},ab:function(){B=!0;throw"Pure virtual function called!";},B:function(a){"uncaught_exception"in Wd?Wd.md++:Wd.md=1;throw a;},Sa:function(){return Wd.md},$:function(){},Ka:function(){jb(1);return-1},T:jb,Ea:function(a,b){L=b;try{var c=vc(),d=M(),e=M(),g=M(),k=M();a=4294967296*d+(e>>>0);if(-9007199254740992>=a||9007199254740992<=a)return-75;fc(c,a,k);wa=[c.position>>>0,(z=c.position,1<=+xa(z)?0<z?(ya(+za(z/4294967296),4294967295)|0)>>>0:~~+Aa((z-+(~~z>>>
  0))/4294967296)>>>0:0)];y[g>>2]=wa[0];y[g+4>>2]=wa[1];c.bd&&0===a&&0===k&&(c.bd=null);return 0}catch(n){return"undefined"!==typeof tc&&n instanceof E||t(n),-n.Nb}},va:function(a,b){L=b;try{var c=vc(),d=M();a:{var e=M();for(b=a=0;b<e;b++){var g=y[d+(8*b+4)>>2],k=c,n=y[d+8*b>>2],r=g,u=void 0,w=x;if(0>r||0>u)throw new E(22);if(null===k.fd)throw new E(9);if(1===(k.flags&2097155))throw new E(9);if(G(k.node.mode))throw new E(21);if(!k.Mb.read)throw new E(22);var O="undefined"!==typeof u;if(!O)u=k.position;
  else if(!k.seekable)throw new E(29);var P=k.Mb.read(k,w,n,r,u);O||(k.position+=P);var Y=P;if(0>Y){var Pb=-1;break a}a+=Y;if(Y<g)break}Pb=a}return Pb}catch(kb){return"undefined"!==typeof tc&&kb instanceof E||t(kb),-kb.Nb}},pa:function(a,b){L=b;try{var c=vc(),d=M();a:{var e=M();for(b=a=0;b<e;b++){var g=hc(c,x,y[d+8*b>>2],y[d+(8*b+4)>>2],void 0);if(0>g){var k=-1;break a}a+=g}k=a}return k}catch(n){return"undefined"!==typeof tc&&n instanceof E||t(n),-n.Nb}},D:function(a,b){L=b;try{var c=vc();switch(M()){case 0:var d=
  M();return 0>d?-22:cc(c.path,c.flags,0,d).fd;case 1:case 2:return 0;case 3:return c.flags;case 4:return d=M(),c.flags|=d,0;case 12:return d=M(),va[d+0>>1]=2,0;case 13:case 14:return 0;case 16:case 8:return-22;case 9:return jb(22),-1;default:return-22}}catch(e){return"undefined"!==typeof tc&&e instanceof E||t(e),-e.Nb}},ib:function(a,b){L=b;try{var c=Ha(M()),d=M(),e=M();return cc(c,d,e).fd}catch(g){return"undefined"!==typeof tc&&g instanceof E||t(g),-g.Nb}},fa:function(a,b){L=b;try{var c=vc(),d=M();
  switch(d){case 21509:case 21505:return c.tty?0:-25;case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:return c.tty?0:-25;case 21519:if(!c.tty)return-25;var e=M();return y[e>>2]=0;case 21520:return c.tty?-22:-25;case 21531:a=e=M();if(!c.Mb.me)throw new E(25);return c.Mb.me(c,d,a);case 21523:return c.tty?0:-25;case 21524:return c.tty?0:-25;default:t("bad ioctl syscall "+d)}}catch(g){return"undefined"!==typeof tc&&g instanceof E||t(g),-g.Nb}},ea:function(a,b){L=b;try{var c=vc();ec(c);
  return 0}catch(d){return"undefined"!==typeof tc&&d instanceof E||t(d),-d.Nb}},db:function(a,b){L=b;try{var c=M(),d=M();if(-1===c||0===d)var e=-22;else{var g=uc[c];if(g&&d===g.Se){var k=Fb[g.fd],n=g.flags,r=new Uint8Array(C.subarray(c,c+d));k&&k.Mb.Mc&&k.Mb.Mc(k,r,0,d,n);uc[c]=null;g.Xd&&Fc(g.Te)}e=0}return e}catch(u){return"undefined"!==typeof tc&&u instanceof E||t(u),-u.Nb}},p:function(){},b:function(){h.abort()},cb:wc,bb:function(a,b,c){C.set(C.subarray(b,b+c),a)},$a:function(a){if(2147418112<a)return!1;
  for(var b=Math.max(wc(),16777216);b<a;)536870912>=b?b=Ma(2*b):b=Math.min(Ma((3*b+2147483648)/4),2147418112);if(!Od(b))return!1;Pa();return!0},_a:xc,da:function(a){Xd(a)},C:Ec,L:function(a){N.activeTexture(a)},K:function(a,b){N.attachShader(R[a],T[b])},n:function(a,b){35051==a?N.sd=b:35052==a&&(N.Wc=b);N.bindBuffer(a,Ic[b])},ca:function(a,b){N.bindSampler(a,Lc[b])},i:function(a,b){N.bindTexture(a,Jc[b])},o:function(a){N.bindVertexArray(Kc[a])},Za:function(a){N.blendEquation(a)},Ya:function(a,b){N.blendEquationSeparate(a,
  b)},Xa:function(a,b){N.blendFunc(a,b)},Wa:function(a,b,c,d){N.blendFuncSeparate(a,b,c,d)},J:function(a,b,c,d){Q.kd?c?N.bufferData(a,C,d,c,b):N.bufferData(a,b,d):N.bufferData(a,c?C.subarray(c,c+b):b,d)},Va:function(a){N.clear(a)},Ua:function(a,b,c){N.clearBufferfv(a,b,A,c>>2)},Ta:function(a,b,c,d){N.clearColor(a,b,c,d)},I:function(a){N.compileShader(T[a])},ba:function(){var a=Oc(R),b=N.createProgram();b.name=a;R[a]=b;return a},A:function(a){var b=Oc(T);T[b]=N.createShader(a);return b},Ra:function(a,
  b){for(var c=0;c<a;c++){var d=y[b+4*c>>2],e=Ic[d];e&&(N.deleteBuffer(e),e.name=0,Ic[d]=null,d==Wc&&(Wc=0),d==Xc&&(Xc=0),d==N.sd&&(N.sd=0),d==N.Wc&&(N.Wc=0))}},Qa:function(a){if(a){var b=R[a];b?(N.deleteProgram(b),b.name=0,R[a]=null,Mc[a]=null):U(1281)}},Pa:function(a){if(a){var b=T[a];b?(N.deleteShader(b),T[a]=null):U(1281)}},Oa:function(a,b){for(var c=0;c<a;c++){var d=y[b+4*c>>2],e=Jc[d];e&&(N.deleteTexture(e),e.name=0,Jc[d]=null)}},aa:function(a,b){for(var c=0;c<a;c++){var d=y[b+4*c>>2];N.deleteVertexArray(Kc[d]);
  Kc[d]=null}},Na:function(a,b){N.detachShader(R[a],T[b])},m:function(a){N.disable(a)},Ma:function(a,b,c){N.drawArrays(a,b,c)},La:function(a,b,c,d){N.drawElements(a,b,c,d)},l:function(a){N.enable(a)},z:function(a){N.enableVertexAttribArray(a)},H:function(a,b){Yc(a,b,"createBuffer",Ic)},_:function(a,b){Yc(a,b,"createTexture",Jc)},Z:function(a,b){Yc(a,b,"createVertexArray",Kc)},G:function(a,b){return N.getAttribLocation(R[a],Ha(b))},d:function(a,b){Zc(a,b)},Y:function(a,b,c,d){a=N.getProgramInfoLog(R[a]);
  null===a&&(a="(unknown error)");b=0<b&&d?Ia(a,C,d,b):0;c&&(y[c>>2]=b)},y:function(a,b,c){if(c)if(a>=Gc)U(1281);else{var d=Mc[a];if(d)if(35716==b)a=N.getProgramInfoLog(R[a]),null===a&&(a="(unknown error)"),y[c>>2]=a.length+1;else if(35719==b)y[c>>2]=d.dd;else if(35722==b){if(-1==d.qc){a=R[a];var e=N.getProgramParameter(a,35721);for(b=d.qc=0;b<e;++b)d.qc=Math.max(d.qc,N.getActiveAttrib(a,b).name.length+1)}y[c>>2]=d.qc}else if(35381==b){if(-1==d.rc)for(a=R[a],e=N.getProgramParameter(a,35382),b=d.rc=
  0;b<e;++b)d.rc=Math.max(d.rc,N.getActiveUniformBlockName(a,b).length+1);y[c>>2]=d.rc}else y[c>>2]=N.getProgramParameter(R[a],b);else U(1282)}else U(1281)},X:function(a,b,c,d){a=N.getShaderInfoLog(T[a]);null===a&&(a="(unknown error)");b=0<b&&d?Ia(a,C,d,b):0;c&&(y[c>>2]=b)},x:function(a,b,c){c?35716==b?(a=N.getShaderInfoLog(T[a]),null===a&&(a="(unknown error)"),y[c>>2]=a.length+1):35720==b?(a=N.getShaderSource(T[a]),y[c>>2]=null===a||0==a.length?0:a.length+1):y[c>>2]=N.getShaderParameter(T[a],b):U(1281)},
  f:function(a,b){b=Ha(b);var c=0;if("]"==b[b.length-1]){var d=b.lastIndexOf("[");c="]"!=b[d+1]?parseInt(b.slice(d+1)):0;b=b.slice(0,d)}return(a=Mc[a]&&Mc[a].Sd[b])&&0<=c&&c<a[0]?a[1]+c:-1},w:function(a){return N.isEnabled(a)},W:function(a){N.linkProgram(R[a]);var b=R[a];a=Mc[a]={Sd:{},dd:0,qc:-1,rc:-1};for(var c=a.Sd,d=N.getProgramParameter(b,35718),e=0;e<d;++e){var g=N.getActiveUniform(b,e),k=g.name;a.dd=Math.max(a.dd,k.length+1);"]"==k.slice(-1)&&(k=k.slice(0,k.lastIndexOf("[")));var n=N.getUniformLocation(b,
  k);if(n){var r=Oc(S);c[k]=[g.size,r];S[r]=n;for(var u=1;u<g.size;++u)n=N.getUniformLocation(b,k+"["+u+"]"),r=Oc(S),S[r]=n}}},Ja:function(a,b){3317==a&&(Nc=b);N.pixelStorei(a,b)},V:function(a,b,c,d){N.scissor(a,b,c,d)},F:function(a,b,c,d){for(var e="",g=0;g<b;++g){var k=d?y[d+4*g>>2]:-1;e+=Ha(y[c+4*g>>2],0>k?void 0:k)}N.shaderSource(T[a],e)},U:function(a,b,c,d,e,g,k,n,r){Q.kd?N.Wc?N.texImage2D(a,b,c,d,e,g,k,n,r):0!=r?N.texImage2D(a,b,c,d,e,g,k,n,cd(n),r>>(dd[n]|0)):N.texImage2D(a,b,c,d,e,g,k,n,null):
  N.texImage2D(a,b,c,d,e,g,k,n,r?bd(n,k,d,e,r):null)},k:function(a,b,c){N.texParameteri(a,b,c)},v:function(a,b){N.uniform1f(S[a],b)},S:function(a,b){N.uniform1i(S[a],b)},Ia:function(a,b,c){N.uniform2f(S[a],b,c)},Ha:function(a,b,c,d){if(Q.kd)N.uniformMatrix4fv(S[a],!!c,A,d>>2,16*b);else{if(256>=16*b)for(var e=Qc[16*b-1],g=0;g<16*b;g+=16)e[g]=A[d+4*g>>2],e[g+1]=A[d+(4*g+4)>>2],e[g+2]=A[d+(4*g+8)>>2],e[g+3]=A[d+(4*g+12)>>2],e[g+4]=A[d+(4*g+16)>>2],e[g+5]=A[d+(4*g+20)>>2],e[g+6]=A[d+(4*g+24)>>2],e[g+7]=
  A[d+(4*g+28)>>2],e[g+8]=A[d+(4*g+32)>>2],e[g+9]=A[d+(4*g+36)>>2],e[g+10]=A[d+(4*g+40)>>2],e[g+11]=A[d+(4*g+44)>>2],e[g+12]=A[d+(4*g+48)>>2],e[g+13]=A[d+(4*g+52)>>2],e[g+14]=A[d+(4*g+56)>>2],e[g+15]=A[d+(4*g+60)>>2];else e=A.subarray(d>>2,d+64*b>>2);N.uniformMatrix4fv(S[a],!!c,e)}},u:function(a){N.useProgram(R[a])},t:function(a,b,c,d,e,g){N.vertexAttribPointer(a,b,c,!!d,e,g)},s:function(a,b,c,d){N.viewport(a,b,c,d)},e:function(){},R:function(a,b,c,d,e){var g;for(g=0;g<W.length&&null!==W[g];g++);if(0<
  g)throw"glfwCreateWindow only supports one window at time currently";var k=g+1;if(0>=a||0>=b)k=0;else{d?Gd():f.Pc(a,b);for(g=0;g<W.length&&null==W[g];g++);g==W.length&&(h.ac=f.createContext(h.canvas,!0,!0,{antialias:1<fd[135181],depth:0<fd[135173],stencil:0<fd[135174],alpha:0<fd[135172]}));h.ac?(a=new ed(k,a,b,c,e),k-1==W.length?W.push(a):W[k-1]=a,X=a,k=a.id):k=0}return k},Ga:function(){throw"glfwCreateWindowSurface is not implemented.";},Fa:function(a){a:{if(a=V(a)){a.Vc&&Yd(a.Vc,a.id);W[a.id-1]=
  null;X.id==a.id&&(X=null);for(a=0;a<W.length;a++)if(null!==W[a]){a=void 0;break a}h.ac=void 0}a=void 0}return a},Da:function(){},Ca:function(){},Q:function(a,b,c){v(b,f.ec,"double");v(c,f.fc,"double")},Ba:function(a,b,c){var d=0,e=0;if(a=V(a))d=a.width,e=a.height;v(b,d,"i32");v(c,e,"i32")},Aa:function(a,b){if(a=V(a)){switch(b){case 208897:a.Fc[b]=f.vc?212995:212993}return a.Fc[b]}},za:function(a,b){sd();if((a=Z[a])&&a.axes)return v(b,a.Zd,"i32"),a.axes;v(b,0,"i32")},ya:function(a,b){sd();if((a=Z[a])&&
  a.buttons)return v(b,a.$d,"i32"),a.buttons;v(b,0,"i32")},xa:function(a,b,c){v(b,0,"i32");v(c,0,"i32")},wa:function(a){v(a,1,"i32");id||(id=Da([1,0,0,0],"i32"));return id},r:function(a,b){return(a=V(a))?0<(a.buttons&1<<b):0},ua:function(){return Cc()/1E3-jd},ta:function(){return 0},P:function(a,b){return(a=V(a))?a.attributes[b]:0},O:function(a,b,c){var d=0,e=0;if(a=V(a))d=a.x,e=a.y;v(b,d,"i32");v(c,e,"i32")},N:function(a,b,c){var d=0,e=0;if(a=V(a))d=a.width,e=a.height;v(b,d,"i32");v(c,e,"i32")},sa:function(){if(W)return 1;
  jd=Cc()/1E3;fd=kd;W=[];X=null;window.addEventListener("gamepadconnected",rd,!0);window.addEventListener("gamepaddisconnected",td,!0);window.addEventListener("keydown",ud,!0);window.addEventListener("keypress",nd,!0);window.addEventListener("keyup",vd,!0);window.addEventListener("blur",wd,!0);h.canvas.addEventListener("mousemove",xd,!0);h.canvas.addEventListener("mousedown",Dd,!0);h.canvas.addEventListener("mouseup",Ed,!0);h.canvas.addEventListener("wheel",Fd,!0);h.canvas.addEventListener("mousewheel",
  Fd,!0);h.canvas.addEventListener("mouseenter",zd,!0);h.canvas.addEventListener("mouseleave",Ad,!0);h.canvas.addEventListener("drop",Jd,!0);h.canvas.addEventListener("dragover",Kd,!0);f.Nd.push(function(a,b){if(X){var c=!0;document.fullscreen||document.fullScreen||document.mozFullScreen||document.webkitIsFullScreen?(X.Qd=X.x,X.Rd=X.y,X.Pd=X.width,X.Od=X.height,X.x=X.y=0,X.width=screen.width,X.height=screen.height,X.$c=!0):1==X.$c?(X.x=X.Qd,X.y=X.Rd,X.width=X.Pd,X.height=X.Od,X.$c=!1):X.width!=a||X.height!=
  b?(X.width=a,X.height=b):c=!1;c&&(f.Pc(X.width,X.height,!0),X&&X.mc&&Zd(X.mc,X.id,X.width,X.height),X&&X.xd&&Zd(X.xd,X.id,X.width,X.height))}});return 1},q:function(){},ra:function(){},M:function(a,b){if(a=V(a)){var c=a.Ac;a.Ac=b;b=c}else b=null;return b},qa:function(){},sb:function(){},rb:function(){},qb:function(a,b){if(a=V(a)){var c=a.Dc;a.Dc=b;b=c}else b=null;return b},pb:function(a){var b=gd;gd=a;return b},oa:function(a,b,c){if(a=V(a))switch(b){case 208897:switch(c){case 212993:a.Fc[b]=c;h.canvas.removeEventListener("click",
  Ld,!0);h.canvas.exitPointerLock();break;case 212994:console.log("glfwSetInputMode called with GLFW_CURSOR_HIDDEN value not implemented.");break;case 212995:a.Fc[b]=c;h.canvas.addEventListener("click",Ld,!0);h.canvas.requestPointerLock();break;default:console.log("glfwSetInputMode called with unknown value parameter value: "+c+".")}break;case 208898:console.log("glfwSetInputMode called with GLFW_STICKY_KEYS mode not implemented.");break;case 208899:console.log("glfwSetInputMode called with GLFW_STICKY_MOUSE_BUTTONS mode not implemented.");
  break;default:console.log("glfwSetInputMode called with unknown mode parameter value: "+b+".")}},na:function(a,b){if(a=V(a)){var c=a.Hc;a.Hc=b;b=c}else b=null;return b},ob:function(a){var b=hd;hd=a;return b},ma:function(a,b){if(a=V(a)){var c=a.Jc;a.Jc=b;b=c}else b=null;return b},la:function(a,b){if(a=V(a)){var c=a.Oc;a.Oc=b;b=c}else b=null;return b},nb:function(a,b){if(a=V(a)){var c=a.Vc;a.Vc=b;b=c}else b=null;return b},ka:function(a,b,c){if(a=V(a))a.x=b,a.y=c},mb:function(a,b){a=V(a);if(!a)return null;
  var c=a.Ud;a.Ud=b;return c},ja:function(a,b,c){if(a=V(a))X.id==a.id&&(b==screen.width&&c==screen.height?Gd():(f.exitFullscreen(),f.Pc(b,c),a.width=b,a.height=c)),a.mc&&Zd(a.mc,a.id,b,c)},ia:function(a,b){if(a=V(a)){var c=a.mc;a.mc=b;b=c}else b=null;return b},lb:function(a,b){if(a=V(a))a.title=Ha(b),X.id==a.id&&(document.title=a.title)},kb:function(){},ha:function(){},ga:function(a){a=Math.abs(a);0==a?yc(0,0):yc(1,a)},jb:function(){window.removeEventListener("gamepadconnected",rd,!0);window.removeEventListener("gamepaddisconnected",
  td,!0);window.removeEventListener("keydown",ud,!0);window.removeEventListener("keypress",nd,!0);window.removeEventListener("keyup",vd,!0);window.removeEventListener("blur",wd,!0);h.canvas.removeEventListener("mousemove",xd,!0);h.canvas.removeEventListener("mousedown",Dd,!0);h.canvas.removeEventListener("mouseup",Ed,!0);h.canvas.removeEventListener("wheel",Fd,!0);h.canvas.removeEventListener("mousewheel",Fd,!0);h.canvas.removeEventListener("mouseenter",zd,!0);h.canvas.removeEventListener("mouseleave",
  Ad,!0);h.canvas.removeEventListener("drop",Jd,!0);h.canvas.removeEventListener("dragover",Kd,!0);h.canvas.width=h.canvas.height=1;X=W=null},j:function(a,b){fd[a]=b},h:function(a){var b=Md.Pb[a];Md.Pb.splice(a,1);$d(b)},g:Md,hb:function(){t("trap!")},gb:function(){return 0},fb:function(a,b,c,d){return Ud(a,b,c,d)},eb:function(){t("OOM")},a:54960},buffer);h.asm=ae;var Wd=h.__ZSt18uncaught_exceptionv=function(){return h.asm.tb.apply(null,arguments)};
  h.___errno_location=function(){return h.asm.ub.apply(null,arguments)};var Fc=h._free=function(){return h.asm.vb.apply(null,arguments)};h._main=function(){return h.asm.wb.apply(null,arguments)};
  var Ea=h._malloc=function(){return h.asm.xb.apply(null,arguments)},ib=h.globalCtors=function(){return h.asm.Fb.apply(null,arguments)},La=h.stackAlloc=function(){return h.asm.Gb.apply(null,arguments)},$d=h.stackRestore=function(){return h.asm.Hb.apply(null,arguments)},Nd=h.stackSave=function(){return h.asm.Ib.apply(null,arguments)};h.dynCall_v=function(){return h.asm.yb.apply(null,arguments)};
  var Yd=h.dynCall_vi=function(){return h.asm.zb.apply(null,arguments)},yd=h.dynCall_vidd=function(){return h.asm.Ab.apply(null,arguments)},od=h.dynCall_vii=function(){return h.asm.Bb.apply(null,arguments)},Zd=h.dynCall_viii=function(){return h.asm.Cb.apply(null,arguments)},Cd=h.dynCall_viiii=function(){return h.asm.Db.apply(null,arguments)},qd=h.dynCall_viiiii=function(){return h.asm.Eb.apply(null,arguments)};h.asm=ae;
  h.getMemory=function(a){if(Wa)var b=Ea(a);else b=y[13740],a=b+a+15&-16,a>wc()&&t(),y[13740]=a;return b};h.addRunDependency=ab;h.removeRunDependency=bb;h.FS_createFolder=lc;h.FS_createPath=mc;h.FS_createDataFile=oc;h.FS_createPreloadedFile=sc;h.FS_createLazyFile=rc;h.FS_createLink=pc;h.FS_createDevice=K;h.FS_unlink=ac;function oa(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}$a=function be(){h.calledRun||ce();h.calledRun||($a=be)};
  function ce(a){function b(){if(!h.calledRun&&(h.calledRun=!0,!B)){Wa=!0;h.noFSInit||jc||(jc=!0,ic(),h.stdin=h.stdin,h.stdout=h.stdout,h.stderr=h.stderr,h.stdin?K("/dev","stdin",h.stdin):$b("/dev/tty","/dev/stdin"),h.stdout?K("/dev","stdout",null,h.stdout):$b("/dev/tty","/dev/stdout"),h.stderr?K("/dev","stderr",null,h.stderr):$b("/dev/tty1","/dev/stderr"),cc("/dev/stdin","r"),cc("/dev/stdout","w"),cc("/dev/stderr","w"));Ra(Ta);Ib=!1;Ra(Ua);if(h.onRuntimeInitialized)h.onRuntimeInitialized();if(de){var b=
  a;b=b||[];var d=b.length+1,e=La(4*(d+1));y[e>>2]=Ka(ca);for(var g=1;g<d;g++)y[(e>>2)+g]=Ka(b[g-1]);y[(e>>2)+d]=0;try{var k=h._main(d,e);Xd(k,!0)}catch(n){n instanceof oa||("SimulateInfiniteLoop"==n?h.noExitRuntime=!0:((b=n)&&"object"===typeof n&&n.stack&&(b=[n,n.stack]),l("exception thrown: "+b),da(1,n)))}finally{}}if(h.postRun)for("function"==typeof h.postRun&&(h.postRun=[h.postRun]);h.postRun.length;)b=h.postRun.shift(),Va.unshift(b);Ra(Va)}}a=a||ba;if(!(0<Ya)){if(h.preRun)for("function"==typeof h.preRun&&
  (h.preRun=[h.preRun]);h.preRun.length;)Xa();Ra(Sa);0<Ya||h.calledRun||(h.setStatus?(h.setStatus("Running..."),setTimeout(function(){setTimeout(function(){h.setStatus("")},1);b()},1)):b())}}h.run=ce;function Xd(a,b){if(!b||!h.noExitRuntime||0!==a){if(!h.noExitRuntime&&(B=!0,h.onExit))h.onExit(a);da(a,new oa(a))}}function t(a){if(h.onAbort)h.onAbort(a);pa(a);l(a);B=!0;throw"abort("+a+"). Build with -s ASSERTIONS=1 for more info.";}h.abort=t;
  if(h.preInit)for("function"==typeof h.preInit&&(h.preInit=[h.preInit]);0<h.preInit.length;)h.preInit.pop()();var de=!0;h.noInitialRun&&(de=!1);h.noExitRuntime=!0;ce();
  