var WORKER_ENABLED=!!(window.URL&&window.Blob&&window.Worker);function __GET_FUNC_BODY__(A){return A.trim().match(/^function\s*\w*\s*\([\w\s,]*\)\s*{([\w\W]*?)}$/)[1]}function __GLUE_EXEC__(C){var Q=!1;try{Q=!!new SharedArrayBuffer(0)}catch(A){}var A="function"==typeof importScripts,I="__CODE_BRIDGE__"+ +new Date;(A?self:window)[I]={onHeader:function(A){C.postMessage({type:"header",data:A})},onMediaInfo:function(A){C.postMessage({type:"mediaInfo",data:A})},onAudioDataSize:function(A){C.audioBufferSize=A.size,C.audioBuffer=C._malloc(C.audioBufferSize),C._codecSetAudioBuffer(C.audioBuffer)},onAudioData:function(A){var B=A.timestamp;C.audioTimestamps.push(B);var I=C.HEAPU8.subarray(C.audioBuffer,C.audioBuffer+C.audioBufferSize),g=null;Q?(g=new Uint8Array(new SharedArrayBuffer(I.byteLength))).set(I):g=new Uint8Array(I),C._free(C.audioBuffer),C.audioBuffer=null,C.postMessage({type:"audio",data:{buffer:g.buffer,timestamp:B}},Q?null:[g.buffer])},onVideoDataSize:function(A){null==C.videoBuffer&&(C.videoBufferSize=A.size,C.videoBuffer=C._malloc(C.videoBufferSize),Q&&(C.videoSharedBuffer=new SharedArrayBuffer(A.size))),C._codecSetVideoBuffer(C.videoBuffer)},onVideoData:function(A){var B=A.timestamp;C.videoTimestamps.push(B);var I=C.HEAPU8.subarray(C.videoBuffer,C.videoBuffer+C.videoBufferSize),g=null;Q?(g=new Uint8Array(C.videoSharedBuffer)).set(I):g=new Uint8Array(I),C.postMessage({type:"video",data:{buffer:g.buffer,timestamp:B,width:A.width,height:A.height,stride0:A.stride0,stride1:A.stride1}},Q?null:[g.buffer])},onComplete:function(){C.postMessage({type:"complete"})}};var B={audioTimestamps:[],videoTimestamps:[],audioBufferSize:0,videoBufferSize:0,audioBuffer:null,videoBuffer:null,postMessage:A?postMessage.bind(self):function(){},onRuntimeInitialized:function(){C._codecInit();var A=I.split("");A=A.map(function(A){return A.charCodeAt(0)}).concat(0);var B=C._malloc(A.length-1);C.HEAPU8.set(A,B),C._codecSetBridgeName(B),C.postMessage({type:"ready"})}};for(var g in C=C||{},B)B.hasOwnProperty(g)&&(C[g]=B[g]);C.onmessage=function(A){switch((I=A.data).type){case"decode":var B=new Uint8Array(I.buffer),I=C._malloc(B.length);C.HEAPU8.set(B,I);var g=+new Date;C.audioTimestamps=[],C.videoTimestamps=[],C._codecDecode(I,B.length);var Q=C.audioTimestamps,E=C.videoTimestamps;C.postMessage({type:"decode",data:{consume:+new Date-g,duration:Math.max(0>2];return(A=B+A+15&-16)>UA()&&CB("failure to dynamicAlloc - memory growth etc. is not supported there, call malloc/sbrk directly"),J[r>>2]=A,B}function S(A){(y=y||{})[A]||(y[A]=1,w(A))}I=null,Object.getOwnPropertyDescriptor(C,"arguments")||Object.defineProperty(C,"arguments",{get:function(){CB("Module.arguments has been replaced with plain arguments_")}}),C.thisProgram&&(D=C.thisProgram),Object.getOwnPropertyDescriptor(C,"thisProgram")||Object.defineProperty(C,"thisProgram",{get:function(){CB("Module.thisProgram has been replaced with plain thisProgram")}}),Object.getOwnPropertyDescriptor(C,"quit")||Object.defineProperty(C,"quit",{get:function(){CB("Module.quit has been replaced with plain quit_")}}),L(void 0===C.memoryInitializerPrefixURL,"Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead"),L(void 0===C.pthreadMainPrefixURL,"Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead"),L(void 0===C.cdInitializerPrefixURL,"Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead"),L(void 0===C.filePackagePrefixURL,"Module.filePackagePrefixURL option was removed, use Module.locateFile instead"),L(void 0===C.read,"Module.read option was removed (modify read_ in JS)"),L(void 0===C.readAsync,"Module.readAsync option was removed (modify readAsync in JS)"),L(void 0===C.readBinary,"Module.readBinary option was removed (modify readBinary in JS)"),L(void 0===C.setWindowTitle,"Module.setWindowTitle option was removed (modify setWindowTitle in JS)"),Object.getOwnPropertyDescriptor(C,"read")||Object.defineProperty(C,"read",{get:function(){CB("Module.read has been replaced with plain read_")}}),Object.getOwnPropertyDescriptor(C,"readAsync")||Object.defineProperty(C,"readAsync",{get:function(){CB("Module.readAsync has been replaced with plain readAsync")}}),Object.getOwnPropertyDescriptor(C,"readBinary")||Object.defineProperty(C,"readBinary",{get:function(){CB("Module.readBinary has been replaced with plain readBinary")}}),xA=qA=function(){CB("cannot use the stack before compiled code is ready to run, and has provided stack access")};var y,a,U={"f64-rem":function(A,B){return A%B},debugger:function(){}},s=0;C.wasmBinary&&(a=C.wasmBinary),Object.getOwnPropertyDescriptor(C,"wasmBinary")||Object.defineProperty(C,"wasmBinary",{get:function(){CB("Module.wasmBinary has been replaced with plain wasmBinary")}}),Object.getOwnPropertyDescriptor(C,"noExitRuntime")||Object.defineProperty(C,"noExitRuntime",{get:function(){CB("Module.noExitRuntime has been replaced with plain noExitRuntime")}}),"object"!=typeof WebAssembly&&CB("No WebAssembly support found. Build with -s WASM=0 to target JavaScript instead.");var h,G=!1;function L(A,B){A||CB("Assertion failed: "+B)}var t,c,M,N,J,Y,k="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function e(A,B,I){var g=B+I;for(I=B;A[I]&&!(g<=I);)++I;if(16>10,56320|1023&Q))}}else g+=String.fromCharCode(Q)}return g}function H(A){return A?e(M,A,void 0):""}function n(A,B,I,g){if(0>6}else{if(E<=65535){if(g<=I+2)break;B[I++]=224|E>>12}else{if(g<=I+3)break;2097152<=E&&S("Invalid Unicode code point 0x"+E.toString(16)+" encountered when serializing a JS string to an UTF-8 string on the asm.js/wasm heap! (Valid unicode code points should be in range 0-0x1FFFFF)."),B[I++]=240|E>>18,B[I++]=128|E>>12&63}B[I++]=128|E>>6&63}B[I++]=128|63&E}}B[I]=0}}function K(A){for(var B=0,I=0;I>2]=5273776,J[0]=1668509029,N[1]=25459,115!==M[2]||99!==M[3])throw"Runtime error: expected the system to be little-endian!";function l(A,B){CB("Invalid function pointer "+A+" called with signature '"+B+"'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this). Build with ASSERTIONS=2 for more info.")}function X(A){for(;0>2],B.v.push(A),s=g[Q],0|A;return A=J[A>>2],s=I,0|A}function DA(A){return C.___errno_location?J[C.___errno_location()>>2]=A:w("failed to set errno from JS"),A}C.___cxa_find_matching_catch=FA;var wA=[null,[],[]];function RA(A,B){var I=wA[A];L(I),0===B||10===B?((1===A?E:w)(e(I,0)),I.length=0):I.push(B)}var SA=0;function yA(){return J[(SA+=4)-4>>2]}var aA={};function UA(){return c.length}function sA(){return sA.b||(sA.b=[]),sA.b.push(xA()),sA.b.length-1}function hA(A){return 0==A%4&&(0!=A%100||0==A%400)}function GA(A,B){for(var I=0,g=0;g<=B;I+=A[g++]);return I}var LA=[31,29,31,30,31,30,31,31,30,31,30,31],tA=[31,28,31,30,31,30,31,31,30,31,30,31];function cA(A,B){for(A=new Date(A.getTime());0g-A.getDate())){A.setDate(A.getDate()+B);break}B-=g-A.getDate()+1,A.setDate(1),I<11?A.setMonth(I+1):(A.setMonth(0),A.setFullYear(A.getFullYear()+1))}return A}function MA(A,B,I,g){function Q(A,B,I){for(A="number"==typeof A?A.toString():A||"";A.length>2];for(var D in g={J:J[g>>2],I:J[g+4>>2],l:J[g+8>>2],f:J[g+12>>2],c:J[g+16>>2],a:J[g+20>>2],m:J[g+24>>2],o:J[g+28>>2],$:J[g+32>>2],H:J[g+36>>2],K:F?H(F):""},I=H(I),F={"%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"})I=I.replace(new RegExp(D,"g"),F[D]);var w="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),R="January February March April May June July August September October November December".split(" ");for(D in F={"%a":function(A){return w[A.m].substring(0,3)},"%A":function(A){return w[A.m]},"%b":function(A){return R[A.c].substring(0,3)},"%B":function(A){return R[A.c]},"%C":function(A){return E((A.a+1900)/100|0,2)},"%d":function(A){return E(A.f,2)},"%e":function(A){return Q(A.f,2," ")},"%g":function(A){return o(A).toString().substring(2)},"%G":function(A){return o(A)},"%H":function(A){return E(A.l,2)},"%I":function(A){return 0==(A=A.l)?A=12:12B?0:(function(A,B){L(0<=A.length,"writeArrayToMemory array must have a length (should be an array or typed array)"),c.set(A,B)}(D,A),D.length-1)}T.push(function(){var A=C._fflush;A&&A(0),wA[1].length&&RA(1,10),wA[2].length&&RA(2,10)});var NA="function"==typeof atob?atob:function(A){var B="",I=0;A=A.replace(/[^A-Za-z0-9\+\/=]/g,"");do{var g="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(A.charAt(I++)),Q="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(A.charAt(I++)),E="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(A.charAt(I++)),C="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(A.charAt(I++));g=g<<2|Q>>4,Q=(15&Q)<<4|E>>2;var i=(3&E)<<6|C;B+=String.fromCharCode(g),64!==E&&(B+=String.fromCharCode(Q)),64!==C&&(B+=String.fromCharCode(i))}while(I>2],g=J[I>>2];else A.b=!0,gA.USER=gA.LOGNAME="web_user",gA.PATH="/",gA.PWD="/",gA.HOME="/home/web_user",gA.LANG=("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",gA._=D,g=W?fA(1024):R(1024),I=W?fA(256):R(256),J[I>>2]=g,J[B>>2]=I;B=[];var Q,E=0;for(Q in gA)if("string"==typeof gA[Q]){var C=Q+"="+gA[Q];B.push(C),E+=C.length}if(1024>0]=E.charCodeAt(o);c[i>>0]=0,J[I+4*Q>>2]=g,g+=C.length+1}J[I+4*B.length>>2]=0},___cxa_allocate_exception:function(A){return fA(A)},___cxa_atexit:function(){return function(A,B){T.unshift({B:A,h:B})}.apply(null,arguments)},___cxa_begin_catch:function(A){var B=QA[A];return B&&!B.w&&(B.w=!0,kA.s--),B&&(B.j=!1),EA.push(A),(B=CA(A))&&QA[B].i++,A},___cxa_end_catch:function(){dA(0);var A=EA.pop();if(A){if(A=CA(A)){var B=QA[A];L(0>2],i=J[B+(8*E+4)>>2],o=0;o>2]=Q,0}catch(A){return void 0!==F&&A instanceof F.g||CB(A),-A.u}}.apply(null,arguments)},_abort:function(){C.abort()},_emscripten_asm_const_ii:function(A,B){return BA[A](B)},_emscripten_asm_const_iii:function(A,B,I){return BA[A](B,I)},_emscripten_asm_const_iiii:function(A,B,I,g){return BA[A](B,I,g)},_emscripten_asm_const_iiiiiii:function(A,B,I,g,Q,E,C){return BA[A](B,I,g,Q,E,C)},_emscripten_get_heap_size:UA,_emscripten_memcpy_big:function(A,B,I){M.set(M.subarray(B,B+I),A)},_emscripten_resize_heap:function(B){var A=UA();if(L(A>16),d(h.buffer);var g=1;break A}catch(A){console.error("emscripten_realloc_buffer: Attempted to grow heap from "+t.byteLength+" bytes to "+B+" bytes, but got error: "+A)}g=void 0}return!!g||(w("Failed to grow the heap from "+A+" bytes to "+I+" bytes, not enough memory!"),!1)},_getenv:function A(B){if(0===B)return 0;if(B=H(B),!gA.hasOwnProperty(B))return 0;A.b&&KA(A.b);var I=K(B=gA[B])+1,g=fA(I);return g&&n(B,c,g,I),A.b=g},_llvm_exp2_f64:function(A){return Math.pow(2,A)},_llvm_stackrestore:function(A){var B=sA.b[A];sA.b.splice(A,1),qA(B)},_llvm_stacksave:sA,_pthread_cond_wait:function(){return 0},_strftime_l:function(A,B,I,g){return MA(A,B,I,g)},abortOnCannotGrowMemory:function(A){CB("Cannot enlarge memory arrays to size "+A+" bytes (OOM). Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+c.length+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")},DYNAMICTOP_PTR:r,___dso_handle:30688},t);C.asm=YA;var kA=C.__ZSt18uncaught_exceptionv=function(){return L(W,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),L(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),C.asm.__ZSt18uncaught_exceptionv.apply(null,arguments)},eA=C.___cxa_can_catch=function(){return L(W,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),L(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),C.asm.___cxa_can_catch.apply(null,arguments)},HA=C.___cxa_is_pointer_type=function(){return L(W,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),L(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),C.asm.___cxa_is_pointer_type.apply(null,arguments)},nA=C.___emscripten_environ_constructor=function(){return L(W,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),L(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),C.asm.___emscripten_environ_constructor.apply(null,arguments)};C._codecDecode=function(){return L(W,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),L(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),C.asm._codecDecode.apply(null,arguments)},C._codecFree=function(){return L(W,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),L(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),C.asm._codecFree.apply(null,arguments)},C._codecInit=function(){return L(W,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),L(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),C.asm._codecInit.apply(null,arguments)},C._codecSetAudioBuffer=function(){return L(W,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),L(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),C.asm._codecSetAudioBuffer.apply(null,arguments)},C._codecSetBridgeName=function(){return L(W,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),L(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),C.asm._codecSetBridgeName.apply(null,arguments)},C._codecSetVideoBuffer=function(){return L(W,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),L(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),C.asm._codecSetVideoBuffer.apply(null,arguments)},C._codecTry2Seek=function(){return L(W,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),L(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),C.asm._codecTry2Seek.apply(null,arguments)};var KA=C._free=function(){return L(W,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),L(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),C.asm._free.apply(null,arguments)},fA=C._malloc=function(){return L(W,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),L(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),C.asm._malloc.apply(null,arguments)},dA=C._setThrew=function(){return L(W,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),L(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),C.asm._setThrew.apply(null,arguments)};C.establishStackSpace=function(){return L(W,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),L(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),C.asm.establishStackSpace.apply(null,arguments)},C.stackAlloc=function(){return L(W,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),L(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),C.asm.stackAlloc.apply(null,arguments)};var rA,qA=C.stackRestore=function(){return L(W,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),L(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),C.asm.stackRestore.apply(null,arguments)},xA=C.stackSave=function(){return L(W,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),L(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),C.asm.stackSave.apply(null,arguments)},lA=C.dynCall_dii=function(){return L(W,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),L(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),C.asm.dynCall_dii.apply(null,arguments)},XA=C.dynCall_i=function(){return L(W,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),L(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),C.asm.dynCall_i.apply(null,arguments)},pA=C.dynCall_ii=function(){return L(W,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),L(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),C.asm.dynCall_ii.apply(null,arguments)},jA=C.dynCall_iid=function(){return L(W,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),L(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),C.asm.dynCall_iid.apply(null,arguments)},OA=C.dynCall_iii=function(){return L(W,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),L(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),C.asm.dynCall_iii.apply(null,arguments)},TA=C.dynCall_iiii=function(){return L(W,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),L(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),C.asm.dynCall_iiii.apply(null,arguments)},VA=C.dynCall_iiiii=function(){return L(W,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),L(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),C.asm.dynCall_iiiii.apply(null,arguments)},WA=C.dynCall_iiiiid=function(){return L(W,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),L(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),C.asm.dynCall_iiiiid.apply(null,arguments)},bA=C.dynCall_iiiiii=function(){return L(W,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),L(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),C.asm.dynCall_iiiiii.apply(null,arguments)},uA=C.dynCall_iiiiiii=function(){return L(W,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),L(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),C.asm.dynCall_iiiiiii.apply(null,arguments)},mA=C.dynCall_iiiiiiii=function(){return L(W,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),L(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),C.asm.dynCall_iiiiiiii.apply(null,arguments)},ZA=C.dynCall_iiiiiiiii=function(){return L(W,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),L(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),C.asm.dynCall_iiiiiiiii.apply(null,arguments)},PA=C.dynCall_iiiiiiiiiiii=function(){return L(W,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),L(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),C.asm.dynCall_iiiiiiiiiiii.apply(null,arguments)},_A=C.dynCall_v=function(){return L(W,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),L(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),C.asm.dynCall_v.apply(null,arguments)},vA=C.dynCall_vi=function(){return L(W,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),L(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),C.asm.dynCall_vi.apply(null,arguments)},zA=C.dynCall_vii=function(){return L(W,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),L(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),C.asm.dynCall_vii.apply(null,arguments)},$A=C.dynCall_viii=function(){return L(W,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),L(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),C.asm.dynCall_viii.apply(null,arguments)},AB=C.dynCall_viiii=function(){return L(W,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),L(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),C.asm.dynCall_viiii.apply(null,arguments)},BB=C.dynCall_viiiiiii=function(){return L(W,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),L(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),C.asm.dynCall_viiiiiii.apply(null,arguments)},IB=C.dynCall_viiiiiiiiii=function(){return L(W,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),L(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),C.asm.dynCall_viiiiiiiiii.apply(null,arguments)},gB=C.dynCall_viiiiiiiiiiiiiii=function(){return L(W,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),L(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),C.asm.dynCall_viiiiiiiiiiiiiii.apply(null,arguments)};function QB(){function A(){if(!rA&&(rA=!0,!G)){if(x(),L(!W),W=!0,X(j),x(),X(O),C.onRuntimeInitialized&&C.onRuntimeInitialized(),L(!C._main,'compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]'),x(),C.postRun)for("function"==typeof C.postRun&&(C.postRun=[C.postRun]);C.postRun.length;){var A=C.postRun.shift();V.unshift(A)}X(V)}}if(!(0