text: 
  var Module = (function() {
    var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;
    return (
  function(Module) {
    Module = Module || {};
  
  var e;e||(e=typeof Module !== 'undefined' ? Module : {});
  e.compileGLSLZeroCopy=function(a,b,c){c=!!c;if("number"===typeof b)var d=b;else if("string"===typeof b)d=m("get_shader_stage_from_string","number",["string"],[b]);else throw Error("shader_stage must be 'vertex', 'fragment', 'compute', or an EShLanguage integer value");b=e._malloc(4);var g=e._malloc(4),f=m("convert_glsl_to_spirv","number",["string","number","boolean","number","number"],[a,d,c,b,g]);c=aa(b);a=aa(g);e._free(b);e._free(g);if(0===f)throw Error("GLSL compilation failed");b={};g=c/4;b.data=
  e.HEAPU32.subarray(g,g+a);b.aa=function(){e._destroy_output_buffer(f)};return b};e.getVersion=function(){return m("get_version","string",[],[])};e.compileGLSL=function(a,b,c){a=e.compileGLSLZeroCopy(a,b,c);b=a.data.slice();a.aa();return b};var p={},r;for(r in e)e.hasOwnProperty(r)&&(p[r]=e[r]);var ba="",ca,da;ba=__dirname+"/";var ea,fa;ca=function(a){ea||(ea=require("fs"));fa||(fa=require("path"));a=fa.normalize(a);return ea.readFileSync(a)};
  da=function(a){a=ca(a);a.buffer||(a=new Uint8Array(a));a.buffer||t("Assertion failed: undefined");return a};1<process.argv.length&&process.argv[1].replace(/\\/g,"/");process.argv.slice(2);process.on("uncaughtException",function(a){throw a;});process.on("unhandledRejection",t);e.inspect=function(){return"[Emscripten Module object]"};var ha=e.print||console.log.bind(console),v=e.printErr||console.warn.bind(console);for(r in p)p.hasOwnProperty(r)&&(e[r]=p[r]);p=null;
  var ia={"f64-rem":function(a,b){return a%b},"debugger":function(){}},ja;e.wasmBinary&&(ja=e.wasmBinary);"object"!==typeof WebAssembly&&v("no native wasm support detected");function aa(a){var b="i32";"*"===b.charAt(b.length-1)&&(b="i32");switch(b){case "i1":return w[a>>0];case "i8":return w[a>>0];case "i16":return x[a>>1];case "i32":return y[a>>2];case "i64":return y[a>>2];case "float":return ka[a>>2];case "double":return la[a>>3];default:t("invalid type for getValue: "+b)}return null}
  var z,ma=new WebAssembly.Table({initial:1322,maximum:1322,element:"anyfunc"}),na=!1;function oa(a){var b=e["_"+a];b||t("Assertion failed: "+("Cannot call unknown function "+a+", make sure it is exported"));return b}
  function m(a,b,c,d){var g={string:function(a){var b=0;if(null!==a&&void 0!==a&&0!==a){var c=(a.length<<2)+1;b=pa(c);A(a,B,b,c)}return b},array:function(a){var b=pa(a.length);w.set(a,b);return b}},f=oa(a),k=[];a=0;if(d)for(var h=0;h<d.length;h++){var q=g[c[h]];q?(0===a&&(a=qa()),k[h]=q(d[h])):k[h]=d[h]}c=f.apply(null,k);c=function(a){return"string"===b?C(a):"boolean"===b?!!a:a}(c);0!==a&&ra(a);return c}var sa="undefined"!==typeof TextDecoder?new TextDecoder("utf8"):void 0;
  function ta(a,b,c){var d=b+c;for(c=b;a[c]&&!(c>=d);)++c;if(16<c-b&&a.subarray&&sa)return sa.decode(a.subarray(b,c));for(d="";b<c;){var g=a[b++];if(g&128){var f=a[b++]&63;if(192==(g&224))d+=String.fromCharCode((g&31)<<6|f);else{var k=a[b++]&63;g=224==(g&240)?(g&15)<<12|f<<6|k:(g&7)<<18|f<<12|k<<6|a[b++]&63;65536>g?d+=String.fromCharCode(g):(g-=65536,d+=String.fromCharCode(55296|g>>10,56320|g&1023))}}else d+=String.fromCharCode(g)}return d}function C(a){return a?ta(B,a,void 0):""}
  function A(a,b,c,d){if(0<d){d=c+d-1;for(var g=0;g<a.length;++g){var f=a.charCodeAt(g);if(55296<=f&&57343>=f){var k=a.charCodeAt(++g);f=65536+((f&1023)<<10)|k&1023}if(127>=f){if(c>=d)break;b[c++]=f}else{if(2047>=f){if(c+1>=d)break;b[c++]=192|f>>6}else{if(65535>=f){if(c+2>=d)break;b[c++]=224|f>>12}else{if(c+3>=d)break;b[c++]=240|f>>18;b[c++]=128|f>>12&63}b[c++]=128|f>>6&63}b[c++]=128|f&63}}b[c]=0}}
  function ua(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 va(a){0<a%65536&&(a+=65536-a%65536);return a}var buffer,w,B,x,wa,y,D,ka,la;
  function xa(a){buffer=a;e.HEAP8=w=new Int8Array(a);e.HEAP16=x=new Int16Array(a);e.HEAP32=y=new Int32Array(a);e.HEAPU8=B=new Uint8Array(a);e.HEAPU16=wa=new Uint16Array(a);e.HEAPU32=D=new Uint32Array(a);e.HEAPF32=ka=new Float32Array(a);e.HEAPF64=la=new Float64Array(a)}var ya=e.TOTAL_MEMORY||16777216;e.wasmMemory?z=e.wasmMemory:z=new WebAssembly.Memory({initial:ya/65536});z&&(buffer=z.buffer);ya=buffer.byteLength;xa(buffer);y[78092]=5555456;
  function E(a){for(;0<a.length;){var b=a.shift();if("function"==typeof b)b();else{var c=b.ba;"number"===typeof c?void 0===b.Z?e.dynCall_v(c):e.dynCall_vi(c,b.Z):c(void 0===b.Z?null:b.Z)}}}var za=[],Aa=[],Ba=[],Ca=[];function Da(){var a=e.preRun.shift();za.unshift(a)}var F=0,Ea=null,G=null;e.preloadedImages={};e.preloadedAudios={};function t(a){if(e.onAbort)e.onAbort(a);ha(a);v(a);na=!0;throw"abort("+a+"). Build with -s ASSERTIONS=1 for more info.";}var H="glslang.wasm";
  if(String.prototype.startsWith?!H.startsWith("data:application/octet-stream;base64,"):0!==H.indexOf("data:application/octet-stream;base64,")){var Fa=H;H=e.locateFile?e.locateFile(Fa,ba):ba+Fa}
  e.asm=function(){function a(a){e.asm=a.exports;F--;e.monitorRunDependencies&&e.monitorRunDependencies(F);0==F&&(null!==Ea&&(clearInterval(Ea),Ea=null),G&&(a=G,G=null,a()))}var b={env:Ga,wasi_unstable:Ga,global:{NaN:NaN,Infinity:Infinity},"global.Math":Math,asm2wasm:ia};F++;e.monitorRunDependencies&&e.monitorRunDependencies(F);if(e.instantiateWasm)try{return e.instantiateWasm(b,a)}catch(c){return v("Module.instantiateWasm callback failed with error: "+c),!1}(function(){try{a:{try{if(ja){var c=new Uint8Array(ja);
  break a}if(da){c=da(H);break a}throw"sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)";}catch(f){t(f)}c=void 0}var d=new WebAssembly.Module(c);var g=new WebAssembly.Instance(d,b)}catch(f){throw g=f.toString(),v("failed to compile wasm module: "+g),(0<=g.indexOf("imported Memory")||0<=g.indexOf("memory import"))&&v("Memory size incompatibility issues may be due to changing TOTAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set TOTAL_MEMORY at runtime to something smaller than it was at compile time)."),
  f;}a(g,d)})();return e.asm};Aa.push({ba:function(){Ha()}});var Ia=[null,[],[]],I=0;function J(){I+=4;return y[I-4>>2]}var K={};function Ja(){return 0}function Ka(a,b,c,d){try{for(var g=0,f=0;f<c;f++){for(var k=y[b+8*f>>2],h=y[b+(8*f+4)>>2],q=0;q<h;q++){var l=B[k+q],n=Ia[a];0===l||10===l?((1===a?ha:v)(ta(n,0)),n.length=0):n.push(l)}g+=h}y[d>>2]=g;return 0}catch(u){return t(u),u.$}}
  function La(a){switch(a){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+a);}}var Ma=void 0;function L(a){for(var b="";B[a];)b+=Ma[B[a++]];return b}var Na={},Oa={},Pa={};function Ra(a,b){if(void 0===a)a="_unknown";else{a=a.replace(/[^a-zA-Z0-9_]/g,"$");var c=a.charCodeAt(0);a=48<=c&&57>=c?"_"+a:a}return(new Function("body","return function "+a+'() {\n    "use strict";    return body.apply(this, arguments);\n};\n'))(b)}
  function Sa(a){var b=Error,c=Ra(a,function(b){this.name=a;this.message=b;b=Error(b).stack;void 0!==b&&(this.stack=this.toString()+"\n"+b.replace(/^Error(:[^\n]*)?\n/,""))});c.prototype=Object.create(b.prototype);c.prototype.constructor=c;c.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message};return c}var Ta=void 0;function M(a){throw new Ta(a);}
  function N(a,b,c){c=c||{};if(!("argPackAdvance"in b))throw new TypeError("registerType registeredInstance requires argPackAdvance");var d=b.name;a||M('type "'+d+'" must have a positive integer typeid pointer');if(Oa.hasOwnProperty(a)){if(c.da)return;M("Cannot register type '"+d+"' twice")}Oa[a]=b;delete Pa[a];Na.hasOwnProperty(a)&&(b=Na[a],delete Na[a],b.forEach(function(a){a()}))}var Ua=[],O=[{},{value:void 0},{value:null},{value:!0},{value:!1}];
  function Va(a){switch(a){case void 0:return 1;case null:return 2;case !0:return 3;case !1:return 4;default:var b=Ua.length?Ua.pop():O.length;O[b]={fa:1,value:a};return b}}function Wa(a){return this.fromWireType(D[a>>2])}function Xa(a){if(null===a)return"null";var b=typeof a;return"object"===b||"array"===b||"function"===b?a.toString():""+a}
  function Ya(a,b){switch(b){case 2:return function(a){return this.fromWireType(ka[a>>2])};case 3:return function(a){return this.fromWireType(la[a>>3])};default:throw new TypeError("Unknown float type: "+a);}}
  function Za(a,b,c){switch(b){case 0:return c?function(a){return w[a]}:function(a){return B[a]};case 1:return c?function(a){return x[a>>1]}:function(a){return wa[a>>1]};case 2:return c?function(a){return y[a>>2]}:function(a){return D[a>>2]};default:throw new TypeError("Unknown integer type: "+a);}}function $a(){return w.length}var ab={};function P(a){if(0===a)return 0;a=C(a);if(!ab.hasOwnProperty(a))return 0;P.S&&Q(P.S);a=ab[a];var b=ua(a)+1,c=bb(b);c&&A(a,w,c,b);P.S=c;return P.S}
  function R(){R.S||(R.S=[]);R.S.push(qa());return R.S.length-1}function S(a){return 0===a%4&&(0!==a%100||0===a%400)}function cb(a,b){for(var c=0,d=0;d<=b;c+=a[d++]);return c}var T=[31,29,31,30,31,30,31,31,30,31,30,31],U=[31,28,31,30,31,30,31,31,30,31,30,31];
  function V(a,b){for(a=new Date(a.getTime());0<b;){var c=a.getMonth(),d=(S(a.getFullYear())?T:U)[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 db(a,b,c,d){function g(a,b,c){for(a="number"===typeof a?a.toString():a||"";a.length<b;)a=c[0]+a;return a}function f(a,b){return g(a,b,"0")}function k(a,b){function c(a){return 0>a?-1:0<a?1:0}var X;0===(X=c(a.getFullYear()-b.getFullYear()))&&0===(X=c(a.getMonth()-b.getMonth()))&&(X=c(a.getDate()-b.getDate()));return X}function h(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 q(a){a=V(new Date(a.R+1900,0,1),a.Y);var b=h(new Date(a.getFullYear()+1,0,4));return 0>=k(h(new Date(a.getFullYear(),0,4)),a)?0>=k(b,a)?a.getFullYear()+1:a.getFullYear():a.getFullYear()-1}var l=y[d+40>>2];d={ia:y[d>>2],ha:y[d+4>>2],W:y[d+8>>2],V:y[d+12>>2],T:y[d+16>>2],R:y[d+20>>2],X:y[d+24>>2],Y:y[d+28>>2],sa:y[d+32>>2],ga:y[d+36>>2],ja:l?C(l):
  ""};c=C(c);l={"%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 n in l)c=c.replace(new RegExp(n,"g"),l[n]);var u="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),
  Qa="January February March April May June July August September October November December".split(" ");l={"%a":function(a){return u[a.X].substring(0,3)},"%A":function(a){return u[a.X]},"%b":function(a){return Qa[a.T].substring(0,3)},"%B":function(a){return Qa[a.T]},"%C":function(a){return f((a.R+1900)/100|0,2)},"%d":function(a){return f(a.V,2)},"%e":function(a){return g(a.V,2," ")},"%g":function(a){return q(a).toString().substring(2)},"%G":function(a){return q(a)},"%H":function(a){return f(a.W,2)},
  "%I":function(a){a=a.W;0==a?a=12:12<a&&(a-=12);return f(a,2)},"%j":function(a){return f(a.V+cb(S(a.R+1900)?T:U,a.T-1),3)},"%m":function(a){return f(a.T+1,2)},"%M":function(a){return f(a.ha,2)},"%n":function(){return"\n"},"%p":function(a){return 0<=a.W&&12>a.W?"AM":"PM"},"%S":function(a){return f(a.ia,2)},"%t":function(){return"\t"},"%u":function(a){return a.X||7},"%U":function(a){var b=new Date(a.R+1900,0,1),c=0===b.getDay()?b:V(b,7-b.getDay());a=new Date(a.R+1900,a.T,a.V);return 0>k(c,a)?f(Math.ceil((31-
  c.getDate()+(cb(S(a.getFullYear())?T:U,a.getMonth()-1)-31)+a.getDate())/7),2):0===k(c,b)?"01":"00"},"%V":function(a){var b=h(new Date(a.R+1900,0,4)),c=h(new Date(a.R+1901,0,4)),d=V(new Date(a.R+1900,0,1),a.Y);return 0>k(d,b)?"53":0>=k(c,d)?"01":f(Math.ceil((b.getFullYear()<a.R+1900?a.Y+32-b.getDate():a.Y+1-b.getDate())/7),2)},"%w":function(a){return a.X},"%W":function(a){var b=new Date(a.R,0,1),c=1===b.getDay()?b:V(b,0===b.getDay()?1:7-b.getDay()+1);a=new Date(a.R+1900,a.T,a.V);return 0>k(c,a)?f(Math.ceil((31-
  c.getDate()+(cb(S(a.getFullYear())?T:U,a.getMonth()-1)-31)+a.getDate())/7),2):0===k(c,b)?"01":"00"},"%y":function(a){return(a.R+1900).toString().substring(2)},"%Y":function(a){return a.R+1900},"%z":function(a){a=a.ga;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.ja},"%%":function(){return"%"}};for(n in l)0<=c.indexOf(n)&&(c=c.replace(new RegExp(n,"g"),l[n](d)));n=eb(c);if(n.length>b)return 0;w.set(n,a);return n.length-1}
  for(var fb=Array(256),W=0;256>W;++W)fb[W]=String.fromCharCode(W);Ma=fb;Ta=e.BindingError=Sa("BindingError");e.InternalError=Sa("InternalError");e.count_emval_handles=function(){for(var a=0,b=5;b<O.length;++b)void 0!==O[b]&&++a;return a};e.get_first_emval=function(){for(var a=5;a<O.length;++a)if(void 0!==O[a])return O[a];return null};function eb(a){var b=Array(ua(a)+1);A(a,b,0,b.length);return b}
  var Ga={B:function(){},v:function(){e.___errno_location&&(y[e.___errno_location()>>2]=63);return-1},p:function(a,b){I=b;try{return K.na(),J(),J(),J(),J(),0}catch(c){return t(c),-c.$}},o:function(a,b){I=b;try{var c=J();var d=J();if(-1===c||0===d)var g=-28;else{var f=K.ea[c];if(f&&d===f.pa){var k=(void 0).ma(f.fd);K.la(c,k,d,f.flags);(void 0).ra(k);K.ea[c]=null;f.ka&&Q(f.qa)}g=0}return g}catch(h){return t(h),-h.$}},h:function(){},n:function(){return Ja.apply(null,arguments)},m:function(){return Ka.apply(null,
  arguments)},l:function(a,b,c,d,g){var f=La(c);b=L(b);N(a,{name:b,fromWireType:function(a){return!!a},toWireType:function(a,b){return b?d:g},argPackAdvance:8,readValueFromPointer:function(a){if(1===c)var d=w;else if(2===c)d=x;else if(4===c)d=y;else throw new TypeError("Unknown boolean type size: "+b);return this.fromWireType(d[a>>f])},U:null})},k:function(a,b){b=L(b);N(a,{name:b,fromWireType:function(a){var b=O[a].value;4<a&&0===--O[a].fa&&(O[a]=void 0,Ua.push(a));return b},toWireType:function(a,b){return Va(b)},
  argPackAdvance:8,readValueFromPointer:Wa,U:null})},j:function(a,b,c){c=La(c);b=L(b);N(a,{name:b,fromWireType:function(a){return a},toWireType:function(a,b){if("number"!==typeof b&&"boolean"!==typeof b)throw new TypeError('Cannot convert "'+Xa(b)+'" to '+this.name);return b},argPackAdvance:8,readValueFromPointer:Ya(b,c),U:null})},d:function(a,b,c,d,g){function f(a){return a}b=L(b);-1===g&&(g=4294967295);var k=La(c);if(0===d){var h=32-8*c;f=function(a){return a<<h>>>h}}var q=-1!=b.indexOf("unsigned");
  N(a,{name:b,fromWireType:f,toWireType:function(a,c){if("number"!==typeof c&&"boolean"!==typeof c)throw new TypeError('Cannot convert "'+Xa(c)+'" to '+this.name);if(c<d||c>g)throw new TypeError('Passing a number "'+Xa(c)+'" from JS side to C/C++ side to an argument of type "'+b+'", which is outside the valid range ['+d+", "+g+"]!");return q?c>>>0:c|0},argPackAdvance:8,readValueFromPointer:Za(b,k,0!==d),U:null})},c:function(a,b,c){function d(a){a>>=2;var b=D;return new g(b.buffer,b[a+1],b[a])}var g=
  [Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][b];c=L(c);N(a,{name:c,fromWireType:d,argPackAdvance:8,readValueFromPointer:d},{da:!0})},i:function(a,b){b=L(b);var c="std::string"===b;N(a,{name:b,fromWireType:function(a){var b=D[a>>2];if(c){var f=B[a+4+b],d=0;0!=f&&(d=f,B[a+4+b]=0);var h=a+4;for(f=0;f<=b;++f){var q=a+4+f;if(0==B[q]){h=C(h);if(void 0===l)var l=h;else l+=String.fromCharCode(0),l+=h;h=q+1}}0!=d&&(B[a+4+b]=d)}else{l=Array(b);for(f=0;f<b;++f)l[f]=
  String.fromCharCode(B[a+4+f]);l=l.join("")}Q(a);return l},toWireType:function(a,b){b instanceof ArrayBuffer&&(b=new Uint8Array(b));var d="string"===typeof b;d||b instanceof Uint8Array||b instanceof Uint8ClampedArray||b instanceof Int8Array||M("Cannot pass non-string to std::string");var g=(c&&d?function(){return ua(b)}:function(){return b.length})(),h=bb(4+g+1);D[h>>2]=g;if(c&&d)A(b,B,h+4,g+1);else if(d)for(d=0;d<g;++d){var q=b.charCodeAt(d);255<q&&(Q(h),M("String has UTF-16 code units that do not fit in 8 bits"));
  B[h+4+d]=q}else for(d=0;d<g;++d)B[h+4+d]=b[d];null!==a&&a.push(Q,h);return h},argPackAdvance:8,readValueFromPointer:Wa,U:function(a){Q(a)}})},A:function(a,b,c){c=L(c);if(2===b){var d=function(){return wa};var g=1}else 4===b&&(d=function(){return D},g=2);N(a,{name:c,fromWireType:function(a){for(var b=d(),c=D[a>>2],f=Array(c),l=a+4>>g,n=0;n<c;++n)f[n]=String.fromCharCode(b[l+n]);Q(a);return f.join("")},toWireType:function(a,c){var f=c.length,k=bb(4+f*b),l=d();D[k>>2]=f;for(var n=k+4>>g,u=0;u<f;++u)l[n+
  u]=c.charCodeAt(u);null!==a&&a.push(Q,k);return k},argPackAdvance:8,readValueFromPointer:Wa,U:function(a){Q(a)}})},z:function(a,b){b=L(b);N(a,{oa:!0,name:b,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},__memory_base:1024,__table_base:0,a:function(){t()},y:$a,x:function(a,b,c){B.set(B.subarray(b,b+c),a)},w:function(a){if(2147418112<a)return!1;for(var b=Math.max($a(),16777216);b<a;)536870912>=b?b=va(2*b):b=Math.min(va((3*b+2147483648)/4),2147418112);a:{try{z.grow(b-buffer.byteLength+
  65535>>16);xa(z.buffer);var c=1;break a}catch(d){}c=void 0}return c?!0:!1},g:P,u:function(a){return Math.log(a)/Math.LN2},f:function(a){var b=R.S[a];R.S.splice(a,1);ra(b)},e:R,t:function(){t("trap!")},s:function(){},r:function(){},q:function(a,b,c,d){return db(a,b,c,d)},b:t,memory:z,table:ma},Y=e.asm({},Ga,buffer),Ha=e.__GLOBAL__sub_I_bind_cpp=Y.C;e.___embind_register_native_and_builtin_types=Y.D;e.___getTypeName=Y.E;e._convert_glsl_to_spirv=Y.F;e._destroy_output_buffer=Y.G;var Q=e._free=Y.H;
  e._get_shader_stage_from_string=Y.I;e._get_version=Y.J;var bb=e._malloc=Y.K,pa=e.stackAlloc=Y.N,ra=e.stackRestore=Y.O,qa=e.stackSave=Y.P;e.dynCall_v=Y.L;e.dynCall_vi=Y.M;e.asm=Y;var Z;e.then=function(a){if(Z)a(e);else{var b=e.onRuntimeInitialized;e.onRuntimeInitialized=function(){b&&b();a(e)}}return e};G=function gb(){Z||hb();Z||(G=gb)};
  function hb(){function a(){if(!Z&&(Z=!0,!na)){E(Aa);E(Ba);if(e.onRuntimeInitialized)e.onRuntimeInitialized();if(e.postRun)for("function"==typeof e.postRun&&(e.postRun=[e.postRun]);e.postRun.length;){var a=e.postRun.shift();Ca.unshift(a)}E(Ca)}}if(!(0<F)){if(e.preRun)for("function"==typeof e.preRun&&(e.preRun=[e.preRun]);e.preRun.length;)Da();E(za);0<F||(e.setStatus?(e.setStatus("Running..."),setTimeout(function(){setTimeout(function(){e.setStatus("")},1);a()},1)):a())}}e.run=hb;
  if(e.preInit)for("function"==typeof e.preInit&&(e.preInit=[e.preInit]);0<e.preInit.length;)e.preInit.pop()();hb();
  
  
    return Module
  }
  );
  })();
  if (typeof exports === 'object' && typeof module === 'object')
        module.exports = Module;
      else if (typeof define === 'function' && define['amd'])
        define([], function() { return Module; });
      else if (typeof exports === 'object')
        exports["Module"] = Module;
      