varJSAudioInterComModule=(function(){var_scriptDir=typeofdocument!=='undefined'&&document.currentScript?document.currentScript.src:undefined;if(typeof__filename!=='undefined')_scriptDir=_scriptDir||__filename;return(function(JSAudioInterComModule){JSAudioInterComModule=JSAudioInterComModule||{};varModule=typeofJSAudioInterComModule!=="undefined"?JSAudioInterComModule:{};varreadyPromiseResolve,readyPromiseReject;Module["ready"]=newPromise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});varmoduleOverrides={};varkey;for(keyinModule){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}vararguments_=[];varthisProgram="./this.program";varquit_=function(status,toThrow){throwtoThrow};varENVIRONMENT_IS_WEB=typeofwindow==="object";varENVIRONMENT_IS_WORKER=typeofimportScripts==="function";varENVIRONMENT_IS_NODE=typeofprocess==="object"&&typeofprocess.versions==="object"&&typeofprocess.versions.node==="string";varscriptDirectory="";functionlocateFile(path){if(Module["locateFile"]){returnModule["locateFile"](path,scriptDirectory)}returnscriptDirectory+path}varread_,readAsync,readBinary,setWindowTitle;varnodeFS;varnodePath;if(ENVIRONMENT_IS_NODE){if(ENVIRONMENT_IS_WORKER){scriptDirectory=require("path").dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=functionshell_read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);returnnodeFS["readFileSync"](filename,binary?null:"utf8")};readBinary=functionreadBinary(filename){varret=read_(filename,true);if(!ret.buffer){ret=newUint8Array(ret)}assert(ret.buffer);returnret};readAsync=functionreadAsync(filename,onload,onerror){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);nodeFS["readFile"](filename,function(err,data){if(err)onerror(err);elseonload(data.buffer)})};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);process["on"]("uncaughtException",function(ex){if(!(exinstanceofExitStatus)){throwex}});process["on"]("unhandledRejection",abort);quit_=function(status,toThrow){if(keepRuntimeAlive()){process["exitCode"]=status;throwtoThrow}process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}elseif(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}elseif(typeofdocument!=="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function(url){varxhr=newXMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);returnxhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function(url){varxhr=newXMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);returnnewUint8Array(xhr.response)}}readAsync=function(url,onload,onerror){varxhr=newXMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}varout=Module["print"]||console.log.bind(console);varerr=Module["printErr"]||console.warn.bind(console);for(keyinmoduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];functionwarnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}vartempRet0=0;varsetTempRet0=function(value){tempRet0=value};varwasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];varnoExitRuntime=Module["noExitRuntime"]||true;if(typeofWebAssembly!=="object"){abort("no native wasm support detected")}functiongetValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":returnHEAP8[ptr>>0];case"i8":returnHEAP8[ptr>>0];case"i16":returnHEAP16[ptr>>1];case"i32":returnHEAP32[ptr>>2];case"i64":returnHEAP32[ptr>>2];case"float":returnHEAPF32[ptr>>2];case"double":returnHEAPF64[ptr>>3];default:abort("invalid type for getValue: "+type)}returnnull}varwasmMemory;varABORT=false;varEXITSTATUS;functionassert(condition,text){if(!condition){abort("Assertion failed: "+text)}}functiongetCFunc(ident){varfunc=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");returnfunc}functionccall(ident,returnType,argTypes,args,opts){vartoC={"string":function(str){varret=0;if(str!==null&&str!==undefined&&str!==0){varlen=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}returnret},"array":function(arr){varret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);returnret}};functionconvertReturnValue(ret){if(returnType==="string")returnUTF8ToString(ret);if(returnType==="boolean")returnBoolean(ret);returnret}varfunc=getCFunc(ident);varcArgs=[];varstack=0;if(args){for(vari=0;i<args.length;i++){varconverter=toC[argTypes[i]];if(converter){if(stack===0)stack=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}varret=func.apply(null,cArgs);functiononDone(ret){if(stack!==0)stackRestore(stack);returnconvertReturnValue(ret)}ret=onDone(ret);returnret}varALLOC_NORMAL=0;varALLOC_STACK=1;functionallocate(slab,allocator){varret;if(allocator==ALLOC_STACK){ret=stackAlloc(slab.length)}else{ret=_malloc(slab.length)}if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(newUint8Array(slab),ret)}returnret}varUTF8Decoder=typeofTextDecoder!=="undefined"?newTextDecoder("utf8"):undefined;functionUTF8ArrayToString(heap,idx,maxBytesToRead){varendIdx=idx+maxBytesToRead;varendPtr=idx;while(heap[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){returnUTF8Decoder.decode(heap.subarray(idx,endPtr))}else{varstr="";while(idx<endPtr){varu0=heap[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}varu1=heap[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}varu2=heap[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|heap[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{varch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}returnstr}functionUTF8ToString(ptr,maxBytesToRead){returnptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}functionstringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return0;varstartIdx=outIdx;varendIdx=outIdx+maxBytesToWrite-1;for(vari=0;i<str.length;++i){varu=str.charCodeAt(i);if(u>=55296&&u<=57343){varu1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}elseif(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}elseif(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;returnoutIdx-startIdx}functionstringToUTF8(str,outPtr,maxBytesToWrite){returnstringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}functionlengthBytesUTF8(str){varlen=0;for(vari=0;i<str.length;++i){varu=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;elseif(u<=2047)len+=2;elseif(u<=65535)len+=3;elselen+=4}returnlen}varUTF16Decoder=typeofTextDecoder!=="undefined"?newTextDecoder("utf-16le"):undefined;functionUTF16ToString(ptr,maxBytesToRead){varendPtr=ptr;varidx=endPtr>>1;varmaxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&HEAPU16[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder){returnUTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr))}else{varstr="";for(vari=0;!(i>=maxBytesToRead/2);++i){varcodeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}returnstr}}functionstringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return0;maxBytesToWrite-=2;varstartPtr=outPtr;varnumCharsToWrite=maxBytesToWrite<str.length*2?maxBytesToWrite/2:str.length;for(vari=0;i<numCharsToWrite;++i){varcodeUnit=str.charCodeAt(i);HEAP16[outPtr>>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;returnoutPtr-startPtr}functionlengthBytesUTF16(str){returnstr.length*2}functionUTF32ToString(ptr,maxBytesToRead){vari=0;varstr="";while(!(i>=maxBytesToRead/4)){varutf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){varch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}returnstr}functionstringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return0;varstartPtr=outPtr;varendPtr=startPtr+maxBytesToWrite-4;for(vari=0;i<str.length;++i){varcodeUnit=str.charCodeAt(i);if(codeUnit>=55296&&codeUnit<=57343){vartrailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;returnoutPtr-startPtr}functionlengthBytesUTF32(str){varlen=0;for(vari=0;i<str.length;++i){varcodeUnit=str.charCodeAt(i);if(codeUnit>=55296&&codeUnit<=57343)++i;len+=4}returnlen}functionallocateUTF8(str){varsize=lengthBytesUTF8(str)+1;varret=_malloc(size);if(ret)stringToUTF8Array(str,HEAP8,ret,size);returnret}functionwriteArrayToMemory(array,buffer){HEAP8.set(array,buffer)}varbuffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;functionupdateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=newInt8Array(buf);Module["HEAP16"]=HEAP16=newInt16Array(buf);Module["HEAP32"]=HEAP32=newInt32Array(buf);Module["HEAPU8"]=HEAPU8=newUint8Array(buf);Module["HEAPU16"]=HEAPU16=newUint16Array(buf);Module["HEAPU32"]=HEAPU32=newUint32Array(buf);Module["HEAPF32"]=HEAPF32=newFloat32Array(buf);Module["HEAPF64"]=HEAPF64=newFloat64Array(buf)}varINITIAL_MEMORY=Module["INITIAL_MEMORY"]||134217728;varwasmTable;var__ATPRERUN__=[];var__ATINIT__=[];var__ATPOSTRUN__=[];varruntimeInitialized=false;varruntimeExited=false;varruntimeKeepaliveCounter=0;functionkeepRuntimeAlive(){returnnoExitRuntime||runtimeKeepaliveCounter>0}functionpreRun(){if(Module["preRun"]){if(typeofModule["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}functioninitRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}functionexitRuntime(){runtimeExited=true}functionpostRun(){if(Module["postRun"]){if(typeofModule["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}functionaddOnPreRun(cb){__ATPRERUN__.unshift(cb)}functionaddOnInit(cb){__ATINIT__.unshift(cb)}functionaddOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}varrunDependencies=0;varrunDependencyWatcher=null;vardependenciesFulfilled=null;functionaddRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}functionremoveRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){varcallback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};functionabort(what){{if(Module["onAbort"]){Module["onAbort"](what)}}what+="";err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";vare=newWebAssembly.RuntimeError(what);readyPromiseReject(e);throwe}vardataURIPrefix="data:application/octet-stream;base64,";functionisDataURI(filename){returnfilename.startsWith(dataURIPrefix)}functionisFileURI(filename){returnfilename.startsWith("file://")}varwasmBinaryFile;wasmBinaryFile="AudioInterCom.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}functiongetBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){returnnewUint8Array(wasmBinary)}if(readBinary){returnreadBinary(file)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}functiongetBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeoffetch==="function"&&!isFileURI(wasmBinaryFile)){returnfetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}returnresponse["arrayBuffer"]()}).catch(function(){returngetBinary(wasmBinaryFile)})}else{if(readAsync){returnnewPromise(function(resolve,reject){readAsync(wasmBinaryFile,function(response){resolve(newUint8Array(response))},reject)})}}}returnPromise.resolve().then(function(){returngetBinary(wasmBinaryFile)})}functioncreateWasm(){varinfo={"a":asmLibraryArg};functionreceiveInstance(instance,module){varexports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["pa"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["ib"];addOnInit(Module["asm"]["qa"]);removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");functionreceiveInstantiationResult(result){receiveInstance(result["instance"])}functioninstantiateArrayBuffer(receiver){returngetBinaryPromise().then(function(binary){returnWebAssembly.instantiate(binary,info)}).then(function(instance){returninstance}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}functioninstantiateAsync(){if(!wasmBinary&&typeofWebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&typeoffetch==="function"){returnfetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){varresult=WebAssembly.instantiateStreaming(response,info);returnresult.then(receiveInstantiationResult,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");returninstantiateArrayBuffer(receiveInstantiationResult)})})}else{returninstantiateArrayBuffer(receiveInstantiationResult)}}if(Module["instantiateWasm"]){try{varexports=Module["instantiateWasm"](info,receiveInstance);returnexports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);returnfalse}}instantiateAsync().catch(readyPromiseReject);return{}}varASM_CONSTS={372252:function($0){if(!$0){AL.alcErr=40964;return1}},372300:function($0){err("bad name in alcGetProcAddress: "+UTF8ToString($0))},372363:function($0){if(!AL.currentCtx){err("alGetProcAddress() called without a valid context");return1}if(!$0){AL.currentCtx.err=40963;return1}},372511:function($0){err("bad name in alGetProcAddress: "+UTF8ToString($0))}};functioncallRuntimeCallbacks(callbacks){while(callbacks.length>0){varcallback=callbacks.shift();if(typeofcallback=="function"){callback(Module);continue}varfunc=callback.func;if(typeoffunc==="number"){if(callback.arg===undefined){wasmTable.get(func)()}else{wasmTable.get(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}functionhandleException(e){if(einstanceofExitStatus||e=="unwind"){returnEXITSTATUS}vartoLog=e;err("exception thrown: "+toLog);quit_(1,e)}function_CaptureDataCB(port,pCaptureData,size,nType){varaCaptureData=newUint8Array(size);aCaptureData.set(Module.HEAPU8.subarray(pCaptureData,pCaptureData+size));JSAUDIOCOM_CaptureDataCBFun(port,aCaptureData,size,nType);aCaptureData=null}function_DecodeDataCB(port,pDecodeData,size,nType){varaDecodeData=newUint8Array(size);aDecodeData.set(Module.HEAPU8.subarray(pDecodeData,pDecodeData+size));JSAUDIOCOM_DecodeDataCBFun(port,aDecodeData,size,nType);aDecodeData=null}function_EncodeDataCB(port,pEncodeData,size,nType){varaEncodeData=newUint8Array(size);aEncodeData.set(Module.HEAPU8.subarray(pEncodeData,pEncodeData+size));JSAUDIOCOM_EncodeDataCBFun(port,aEncodeData,size,nType);aEncodeData=null}function_ResampleDataCB(port,pResampleData,size,nType){varaResampleData=newUint8Array(size);aResampleData.set(Module.HEAPU8.subarray(pResampleData,pResampleData+size));JSAUDIOCOM_ResampleDataCBFun(port,aResampleData,size,nType);aResampleData=null}function___cxa_allocate_exception(size){return_malloc(size+16)+16}functionExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-16;this.set_type=function(type){HEAP32[this.ptr+4>>2]=type};this.get_type=function(){returnHEAP32[this.ptr+4>>2]};this.set_destructor=function(destructor){HEAP32[this.ptr+8>>2]=destructor};this.get_destructor=function(){returnHEAP32[this.ptr+8>>2]};this.set_refcount=function(refcount){HEAP32[this.ptr>>2]=refcount};this.set_caught=function(caught){caught=caught?1:0;HEAP8[this.ptr+12>>0]=caught};this.get_caught=function(){returnHEAP8[this.ptr+12>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13>>0]=rethrown};this.get_rethrown=function(){returnHEAP8[this.ptr+13>>0]!=0};this.init=function(type,destructor){this.set_type(type);this.set_destructor(destructor);this.set_refcount(0);this.set_caught(false);this.set_rethrown(false)};this.add_ref=function(){varvalue=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=value+1};this.release_ref=function(){varprev=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=prev-1;returnprev===1}}varexceptionLast=0;varuncaughtExceptionCount=0;function___cxa_throw(ptr,type,destructor){varinfo=newExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throwptr}function_tzset_impl(){varcurrentYear=(newDate).getFullYear();varwinter=newDate(currentYear,0,1);varsummer=newDate(currentYear,6,1);varwinterOffset=winter.getTimezoneOffset();varsummerOffset=summer.getTimezoneOffset();varstdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAP32[__get_timezone()>>2]=stdTimezoneOffset*60;HEAP32[__get_daylight()>>2]=Number(winterOffset!=summerOffset);functionextractZone(date){varmatch=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);returnmatch?match[1]:"GMT"}varwinterName=extractZone(winter);varsummerName=extractZone(summer);varwinterNamePtr=allocateUTF8(winterName);varsummerNamePtr=allocateUTF8(summerName);if(summerOffset<winterOffset){HEAP32[__get_tzname()>>2]=winterNamePtr;HEAP32[__get_tzname()+4>>2]=summerNamePtr}else{HEAP32[__get_tzname()>>2]=summerNamePtr;HEAP32[__get_tzname()+4>>2]=winterNamePtr}}function_tzset(){if(_tzset.called)return;_tzset.called=true;_tzset_impl()}function_localtime_r(time,tmPtr){_tzset();vardate=newDate(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();varstart=newDate(date.getFullYear(),0,1);varyday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);varsummerOffset=newDate(date.getFullYear(),6,1).getTimezoneOffset();varwinterOffset=start.getTimezoneOffset();vardst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst;varzonePtr=HEAP32[__get_tzname()+(dst?4:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;returntmPtr}function___localtime_r(a0,a1){return_localtime_r(a0,a1)}varstructRegistrations={};functionrunDestructors(destructors){while(destructors.length){varptr=destructors.pop();vardel=destructors.pop();del(ptr)}}functionsimpleReadValueFromPointer(pointer){returnthis["fromWireType"](HEAPU32[pointer>>2])}varawaitingDependencies={};varregisteredTypes={};vartypeDependencies={};varchar_0=48;varchar_9=57;functionmakeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");varf=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{returnname}}functioncreateNamedFunction(name,body){name=makeLegalFunctionName(name);returnnewFunction("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}functionextendError(baseErrorType,errorName){varerrorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;varstack=newError(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){returnthis.name}else{returnthis.name+": "+this.message}};returnerrorClass}varInternalError=undefined;functionthrowInternalError(message){thrownewInternalError(message)}functionwhenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});functiononComplete(typeConverters){varmyTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(vari=0;i<myTypes.length;++i){registerType(myTypes[i],myTypeConverters[i])}}vartypeConverters=newArray(dependentTypes.length);varunregisteredTypes=[];varregistered=0;dependentTypes.forEach(function(dt,i){if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(function(){typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}}function__embind_finalize_value_object(structType){varreg=structRegistrations[structType];deletestructRegistrations[structType];varrawConstructor=reg.rawConstructor;varrawDestructor=reg.rawDestructor;varfieldRecords=reg.fields;varfieldTypes=fieldRecords.map(function(field){returnfield.getterReturnType}).concat(fieldRecords.map(function(field){returnfield.setterArgumentType}));whenDependentTypesAreResolved([structType],fieldTypes,function(fieldTypes){varfields={};fieldRecords.forEach(function(field,i){varfieldName=field.fieldName;vargetterReturnType=fieldTypes[i];vargetter=field.getter;vargetterContext=field.getterContext;varsetterArgumentType=fieldTypes[i+fieldRecords.length];varsetter=field.setter;varsetterContext=field.setterContext;fields[fieldName]={read:function(ptr){returngetterReturnType["fromWireType"](getter(getterContext,ptr))},write:function(ptr,o){vardestructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,o));runDestructors(destructors)}}});return[{name:reg.name,"fromWireType":function(ptr){varrv={};for(variinfields){rv[i]=fields[i].read(ptr)}rawDestructor(ptr);returnrv},"toWireType":function(destructors,o){for(varfieldNameinfields){if(!(fieldNameino)){thrownewTypeError('Missing field: "'+fieldName+'"')}}varptr=rawConstructor();for(fieldNameinfields){fields[fieldName].write(ptr,o[fieldName])}if(destructors!==null){destructors.push(rawDestructor,ptr)}returnptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:rawDestructor}]})}function__embind_register_bigint(primitiveType,name,size,minRange,maxRange){}functiongetShiftFromSize(size){switch(size){case1:return0;case2:return1;case4:return2;case8:return3;default:thrownewTypeError("Unknown type size: "+size)}}functionembind_init_charCodes(){varcodes=newArray(256);for(vari=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}varembind_charCodes=undefined;functionreadLatin1String(ptr){varret="";varc=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}returnret}varBindingError=undefined;functionthrowBindingError(message){thrownewBindingError(message)}functionregisterType(rawType,registeredInstance,options){options=options||{};if(!("argPackAdvance"inregisteredInstance)){thrownewTypeError("registerType registeredInstance requires argPackAdvance")}varname=registeredInstance.name;if(!rawType){throwBindingError('type "'+name+'" must have a positive integer typeid pointer')}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError("Cannot register type '"+name+"' twice")}}registeredTypes[rawType]=registeredInstance;deletetypeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){varcallbacks=awaitingDependencies[rawType];deleteawaitingDependencies[rawType];callbacks.forEach(function(cb){cb()})}}function__embind_register_bool(rawType,name,size,trueValue,falseValue){varshift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(wt){return!!wt},"toWireType":function(destructors,o){returno?trueValue:falseValue},"argPackAdvance":8,"readValueFromPointer":function(pointer){varheap;if(size===1){heap=HEAP8}elseif(size===2){heap=HEAP16}elseif(size===4){heap=HEAP32}else{thrownewTypeError("Unknown boolean type size: "+name)}returnthis["fromWireType"](heap[pointer>>shift])},destructorFunction:null})}varemval_free_list=[];varemval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function__emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}functioncount_emval_handles(){varcount=0;for(vari=5;i<emval_handle_array.length;++i){if(emval_handle_array[i]!==undefined){++count}}returncount}functionget_first_emval(){for(vari=5;i<emval_handle_array.length;++i){if(emval_handle_array[i]!==undefined){returnemval_handle_array[i]}}returnnull}functioninit_emval(){Module["count_emval_handles"]=count_emval_handles;Module["get_first_emval"]=get_first_emval}function__emval_register(value){switch(value){caseundefined:{return1}casenull:{return2}casetrue:{return3}casefalse:{return4}default:{varhandle=emval_free_list.length?emval_free_list.pop():emval_handle_array.length;emval_handle_array[handle]={refcount:1,value:value};returnhandle}}}function__embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){varrv=emval_handle_array[handle].value;__emval_decref(handle);returnrv},"toWireType":function(destructors,value){return__emval_register(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function_embind_repr(v){if(v===null){return"null"}vart=typeofv;if(t==="object"||t==="array"||t==="function"){returnv.toString()}else{return""+v}}functionfloatReadValueFromPointer(name,shift){switch(shift){case2:returnfunction(pointer){returnthis["fromWireType"](HEAPF32[pointer>>2])};case3:returnfunction(pointer){returnthis["fromWireType"](HEAPF64[pointer>>3])};default:thrownewTypeError("Unknown float type: "+name)}}function__embind_register_float(rawType,name,size){varshift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){returnvalue},"toWireType":function(destructors,value){if(typeofvalue!=="number"&&typeofvalue!=="boolean"){thrownewTypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}returnvalue},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}functionnew_(constructor,argumentList){if(!(constructorinstanceofFunction)){thrownewTypeError("new_ called with constructor type "+typeofconstructor+" which is not a function")}vardummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;varobj=newdummy;varr=constructor.apply(obj,argumentList);returnrinstanceofObject?r:obj}functioncraftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){varargCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}varisClassMethodFunc=argTypes[1]!==null&&classType!==null;varneedsDestructorStack=false;for(vari=1;i<argTypes.length;++i){if(argTypes[i]!==null&&argTypes[i].destructorFunction===undefined){needsDestructorStack=true;break}}varreturns=argTypes[0].name!=="void";varargsList="";varargsListWired="";for(vari=0;i<argCount-2;++i){argsList+=(i!==0?", ":"")+"arg"+i;argsListWired+=(i!==0?", ":"")+"arg"+i+"Wired"}varinvokerFnBody="return function "+makeLegalFunctionName(humanName)+"("+argsList+") {\n"+"if (arguments.length !== "+(argCount-2)+") {\n"+"throwBindingError('function "+humanName+" called with ' + arguments.length + ' arguments, expected "+(argCount-2)+" args!');\n"+"}\n";if(needsDestructorStack){invokerFnBody+="var destructors = [];\n"}vardtorStack=needsDestructorStack?"destructors":"null";varargs1=["throwBindingError","invoker","fn","runDestructors","retType","classParam"];varargs2=[throwBindingError,cppInvokerFunc,cppTargetFunc,runDestructors,argTypes[0],argTypes[1]];if(isClassMethodFunc){invokerFnBody+="var thisWired = classParam.toWireType("+dtorStack+", this);\n"}for(vari=0;i<argCount-2;++i){invokerFnBody+="var arg"+i+"Wired = argType"+i+".toWireType("+dtorStack+", arg"+i+"); // "+argTypes[i+2].name+"\n";args1.push("argType"+i);args2.push(argTypes[i+2])}if(isClassMethodFunc){argsListWired="thisWired"+(argsListWired.length>0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(vari=isClassMethodFunc?1:2;i<argTypes.length;++i){varparamName=i===1?"thisWired":"arg"+(i-2)+"Wired";if(argTypes[i].destructorFunction!==null){invokerFnBody+=paramName+"_dtor("+paramName+"); // "+argTypes[i].name+"\n";args1.push(paramName+"_dtor");args2.push(argTypes[i].destructorFunction)}}}if(returns){invokerFnBody+="var ret = retType.fromWireType(rv);\n"+"return ret;\n"}else{}invokerFnBody+="}\n";args1.push(invokerFnBody);varinvokerFunction=new_(Function,args1).apply(null,args2);returninvokerFunction}functionensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){varprevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError("Function '"+humanName+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+proto[methodName].overloadTable+")!")}returnproto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}functionexposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError("Cannot register public name '"+name+"' twice")}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError("Cannot register multiple overloads of a function with the same number of arguments ("+numArguments+")!")}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}functionheap32VectorToArray(count,firstElement){vararray=[];for(vari=0;i<count;i++){array.push(HEAP32[(firstElement>>2)+i])}returnarray}functionreplacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}functiondynCallLegacy(sig,ptr,args){varf=Module["dynCall_"+sig];returnargs&&args.length?f.apply(null,[ptr].concat(args)):f.call(null,ptr)}functiondynCall(sig,ptr,args){if(sig.includes("j")){returndynCallLegacy(sig,ptr,args)}returnwasmTable.get(ptr).apply(null,args)}functiongetDynCaller(sig,ptr){varargCache=[];returnfunction(){argCache.length=arguments.length;for(vari=0;i<arguments.length;i++){argCache[i]=arguments[i]}returndynCall(sig,ptr,argCache)}}functionembind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);functionmakeDynCaller(){if(signature.includes("j")){returngetDynCaller(signature,rawFunction)}returnwasmTable.get(rawFunction)}varfp=makeDynCaller();if(typeoffp!=="function"){throwBindingError("unknown function pointer with signature "+signature+": "+rawFunction)}returnfp}varUnboundTypeError=undefined;functiongetTypeName(type){varptr=___getTypeName(type);varrv=readLatin1String(ptr);_free(ptr);returnrv}functionthrowUnboundTypeError(message,types){varunboundTypes=[];varseen={};functionvisit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);thrownewUnboundTypeError(message+": "+unboundTypes.map(getTypeName).join([", "]))}function__embind_register_function(name,argCount,rawArgTypesAddr,signature,rawInvoker,fn){varargTypes=heap32VectorToArray(argCount,rawArgTypesAddr);name=readLatin1String(name);rawInvoker=embind__requireFunction(signature,rawInvoker);exposePublicSymbol(name,function(){throwUnboundTypeError("Cannot call "+name+" due to unbound types",argTypes)},argCount-1);whenDependentTypesAreResolved([],argTypes,function(argTypes){varinvokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));replacePublicSymbol(name,craftInvokerFunction(name,invokerArgsArray,null,rawInvoker,fn),argCount-1);return[]})}functionintegerReadValueFromPointer(name,shift,signed){switch(shift){case0:returnsigned?functionreadS8FromPointer(pointer){returnHEAP8[pointer]}:functionreadU8FromPointer(pointer){returnHEAPU8[pointer]};case1:returnsigned?functionreadS16FromPointer(pointer){returnHEAP16[pointer>>1]}:functionreadU16FromPointer(pointer){returnHEAPU16[pointer>>1]};case2:returnsigned?functionreadS32FromPointer(pointer){returnHEAP32[pointer>>2]}:functionreadU32FromPointer(pointer){returnHEAPU32[pointer>>2]};default:thrownewTypeError("Unknown integer type: "+name)}}function__embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}varshift=getShiftFromSize(size);varfromWireType=function(value){returnvalue};if(minRange===0){varbitshift=32-8*size;fromWireType=function(value){returnvalue<<bitshift>>>bitshift}}varisUnsignedType=name.includes("unsigned");registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":function(destructors,value){if(typeofvalue!=="number"&&typeofvalue!=="boolean"){thrownewTypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(value<minRange||value>maxRange){thrownewTypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}returnisUnsignedType?value>>>0:value|0},"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function__embind_register_memory_view(rawType,dataTypeIndex,name){vartypeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];varTA=typeMapping[dataTypeIndex];functiondecodeMemoryView(handle){handle=handle>>2;varheap=HEAPU32;varsize=heap[handle];vardata=heap[handle+1];returnnewTA(buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function__embind_register_std_string(rawType,name){name=readLatin1String(name);varstdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){varlength=HEAPU32[value>>2];varstr;if(stdStringIsUTF8){vardecodeStartPtr=value+4;for(vari=0;i<=length;++i){varcurrentBytePtr=value+4+i;if(i==length||HEAPU8[currentBytePtr]==0){varmaxRead=currentBytePtr-decodeStartPtr;varstringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}}else{vara=newArray(length);for(vari=0;i<length;++i){a[i]=String.fromCharCode(HEAPU8[value+4+i])}str=a.join("")}_free(value);returnstr},"toWireType":function(destructors,value){if(valueinstanceofArrayBuffer){value=newUint8Array(value)}vargetLength;varvalueIsOfTypeString=typeofvalue==="string";if(!(valueIsOfTypeString||valueinstanceofUint8Array||valueinstanceofUint8ClampedArray||valueinstanceofInt8Array)){throwBindingError("Cannot pass non-string to std::string")}if(stdStringIsUTF8&&valueIsOfTypeString){getLength=function(){returnlengthBytesUTF8(value)}}else{getLength=function(){returnvalue.length}}varlength=getLength();varptr=_malloc(4+length+1);HEAPU32[ptr>>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(vari=0;i<length;++i){varcharCode=value.charCodeAt(i);if(charCode>255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}}else{for(vari=0;i<length;++i){HEAPU8[ptr+4+i]=value[i]}}}if(destructors!==null){destructors.push(_free,ptr)}returnptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function__embind_register_std_wstring(rawType,charSize,name){name=readLatin1String(name);vardecodeString,encodeString,getHeap,lengthBytesUTF,shift;if(charSize===2){decodeString=UTF16ToString;encodeString=stringToUTF16;lengthBytesUTF=lengthBytesUTF16;getHeap=function(){returnHEAPU16};shift=1}elseif(charSize===4){decodeString=UTF32ToString;encodeString=stringToUTF32;lengthBytesUTF=lengthBytesUTF32;getHeap=function(){returnHEAPU32};shift=2}registerType(rawType,{name:name,"fromWireType":function(value){varlength=HEAPU32[value>>2];varHEAP=getHeap();varstr;vardecodeStartPtr=value+4;for(vari=0;i<=length;++i){varcurrentBytePtr=value+4+i*charSize;if(i==length||HEAP[currentBytePtr>>shift]==0){varmaxReadBytes=currentBytePtr-decodeStartPtr;varstringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}_free(value);returnstr},"toWireType":function(destructors,value){if(!(typeofvalue==="string")){throwBindingError("Cannot pass non-string to C++ string type "+name)}varlength=lengthBytesUTF(value);varptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}returnptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function__embind_register_value_object(rawType,name,constructorSignature,rawConstructor,destructorSignature,rawDestructor){structRegistrations[rawType]={name:readLatin1String(name),rawConstructor:embind__requireFunction(constructorSignature,rawConstructor),rawDestructor:embind__requireFunction(destructorSignature,rawDestructor),fields:[]}}function__embind_register_value_object_field(structType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){structRegistrations[structType].fields.push({fieldName:readLatin1String(fieldName),getterReturnType:getterReturnType,getter:embind__requireFunction(getterSignature,getter),getterContext:getterContext,setterArgumentType:setterArgumentType,setter:embind__requireFunction(setterSignature,setter),setterContext:setterContext})}function__embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){returnundefined},"toWireType":function(destructors,o){returnundefined}})}function_emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return1}if(!Browser.mainLoop.running){Browser.mainLoop.running=true}if(mode==0){Browser.mainLoop.scheduler=functionBrowser_mainLoop_scheduler_setTimeout(){vartimeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}elseif(mode==1){Browser.mainLoop.scheduler=functionBrowser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}elseif(mode==2){if(typeofsetImmediate==="undefined"){varsetImmediates=[];varemscriptenMainLoopMessageId="setimmediate";varBrowser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=functionBrowser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}elsepostMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=functionBrowser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return0}var_emscripten_get_now;if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function(){vart=process["hrtime"]();returnt[0]*1e3+t[1]/1e6}}else_emscripten_get_now=function(){returnperformance.now()};function_exit(status){exit(status)}functionmaybeExit(){if(!keepRuntimeAlive()){try{_exit(EXITSTATUS)}catch(e){handleException(e)}}}functionsetMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming){assert(!Browser.mainLoop.func,"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.");Browser.mainLoop.func=browserIterationFunc;Browser.mainLoop.arg=arg;varthisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;functioncheckIsRunning(){if(thisMainLoopId<Browser.mainLoop.currentlyRunningMainloop){maybeExit();returnfalse}returntrue}Browser.mainLoop.running=false;Browser.mainLoop.runner=functionBrowser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){varstart=Date.now();varblocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){varremaining=Browser.mainLoop.remainingBlockers;varnext=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}out('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(!checkIsRunning())return;setTimeout(Browser.mainLoop.runner,0);return}if(!checkIsRunning())return;Browser.mainLoop.currentFrameNumber=Browser.mainLoop.currentFrameNumber+1|0;if(Browser.mainLoop.timingMode==1&&Browser.mainLoop.timingValue>1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}elseif(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}Browser.mainLoop.runIter(browserIterationFunc);if(!checkIsRunning())return;if(typeofSDL==="object"&&SDL.audio&&SDL.audio.queueNewAudioData)SDL.audio.queueNewAudioData();Browser.mainLoop.scheduler()};if(!noSetTiming){if(fps&&fps>0)_emscripten_set_main_loop_timing(0,1e3/fps);else_emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"unwind"}}functioncallUserCallback(func,synchronous){if(ABORT){return}if(synchronous){func();return}try{func()}catch(e){handleException(e)}}functionsafeSetTimeout(func,timeout){returnsetTimeout(function(){callUserCallback(func)},timeout)}varBrowser={mainLoop:{running:false,scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;vartimingMode=Browser.mainLoop.timingMode;vartimingValue=Browser.mainLoop.timingValue;varfunc=Browser.mainLoop.func;Browser.mainLoop.func=null;setMainLoop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){varmessage=Module["statusMessage"]||"Please wait...";varremaining=Browser.mainLoop.remainingBlockers;varexpected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining<expected){Module["setStatus"](message+" ("+(expected-remaining)+"/"+expected+")")}else{Module["setStatus"](message)}}else{Module["setStatus"]("")}}},runIter:function(func){if(ABORT)return;if(Module["preMainLoop"]){varpreRet=Module["preMainLoop"]();if(preRet===false){return}}callUserCallback(func);if(Module["postMainLoop"])Module["postMainLoop"]()}},isFullscreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function(){if(!Module["preloadPlugins"])Module["preloadPlugins"]=[];if(Browser.initted)return;Browser.initted=true;try{newBlob;Browser.hasBlobConstructor=true}catch(e){Browser.hasBlobConstructor=false;out("warning: no blob constructor, cannot create blobs with mimetypes")}Browser.BlobBuilder=typeofMozBlobBuilder!="undefined"?MozBlobBuilder:typeofWebKitBlobBuilder!="undefined"?WebKitBlobBuilder:!Browser.hasBlobConstructor?out("warning: no BlobBuilder"):null;Browser.URLObject=typeofwindow!="undefined"?window.URL?window.URL:window.webkitURL:undefined;if(!Module.noImageDecoding&&typeofBrowser.URLObject==="undefined"){out("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available.");Module.noImageDecoding=true}varimagePlugin={};imagePlugin["canHandle"]=functionimagePlugin_canHandle(name){return!Module.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(name)};imagePlugin["handle"]=functionimagePlugin_handle(byteArray,name,onload,onerror){varb=null;if(Browser.hasBlobConstructor){try{b=newBlob([byteArray],{type:Browser.getMimetype(name)});if(b.size!==byteArray.length){b=newBlob([newUint8Array(byteArray).buffer],{type:Browser.getMimetype(name)})}}catch(e){warnOnce("Blob constructor present but fails: "+e+"; falling back to blob builder")}}if(!b){varbb=newBrowser.BlobBuilder;bb.append(newUint8Array(byteArray).buffer);b=bb.getBlob()}varurl=Browser.URLObject.createObjectURL(b);varimg=newImage;img.onload=functionimg_onload(){assert(img.complete,"Image "+name+" could not be decoded");varcanvas=document.createElement("canvas");canvas.width=img.width;canvas.height=img.height;varctx=canvas.getContext("2d");ctx.drawImage(img,0,0);Module["preloadedImages"][name]=canvas;Browser.URLObject.revokeObjectURL(url);if(onload)onload(byteArray)};img.onerror=functionimg_onerror(event){out("Image "+url+" could not be decoded");if(onerror)onerror()};img.src=url};Module["preloadPlugins"].push(imagePlugin);varaudioPlugin={};audioPlugin["canHandle"]=functionaudioPlugin_canHandle(name){return!Module.noAudioDecoding&&name.substr(-4)in{".ogg":1,".wav":1,".mp3":1}};audioPlugin["handle"]=functionaudioPlugin_handle(byteArray,name,onload,onerror){vardone=false;functionfinish(audio){if(done)return;done=true;Module["preloadedAudios"][name]=audio;if(onload)onload(byteArray)}functionfail(){if(done)return;done=true;Module["preloadedAudios"][name]=newAudio;if(onerror)onerror()}if(Browser.hasBlobConstructor){try{varb=newBlob([byteArray],{type:Browser.getMimetype(name)})}catch(e){returnfail()}varurl=Browser.URLObject.createObjectURL(b);varaudio=newAudio;audio.addEventListener("canplaythrough",function(){finish(audio)},false);audio.onerror=functionaudio_onerror(event){if(done)return;out("warning: browser could not fully decode audio "+name+", trying slower base64 approach");functionencode64(data){varBASE="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";varPAD="=";varret="";varleftchar=0;varleftbits=0;for(vari=0;i<data.length;i++){leftchar=leftchar<<8|data[i];leftbits+=8;while(leftbits>=6){varcurr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}elseif(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}returnret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;safeSetTimeout(function(){finish(audio)},1e4)}else{returnfail()}};Module["preloadPlugins"].push(audioPlugin);functionpointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}varcanvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)returnModule.ctx;varctx;varcontextHandle;if(useWebGL){varcontextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(varattributeinwebGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeofGL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)returnnull;if(setInModule){if(!useWebGL)assert(typeofGLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}returnctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeofBrowser.lockPointer==="undefined")Browser.lockPointer=true;if(typeofBrowser.resizeCanvas==="undefined")Browser.resizeCanvas=false;varcanvas=Module["canvas"];functionfullscreenChange(){Browser.isFullscreen=false;varcanvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}varcanvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);canvasContainer.requestFullscreen()},exitFullscreen:function(){if(!Browser.isFullscreen){returnfalse}varCFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);returntrue},nextRAF:0,fakeRequestAnimationFrame:function(func){varnow=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}vardelay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeofrequestAnimationFrame==="function"){requestAnimationFrame(func);return}varRAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeSetTimeout:function(func){returnsafeSetTimeout(func)},safeRequestAnimationFrame:function(func){returnBrowser.requestAnimationFrame(function(){callUserCallback(func)})},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){returnevent["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){returnevent["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){vardelta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case0:delta/=100;break;case1:delta/=3;break;case2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}returndelta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"inevent){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeofSDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{varrect=Module["canvas"].getBoundingClientRect();varcw=Module["canvas"].width;varch=Module["canvas"].height;varscrollX=typeofwindow.scrollX!=="undefined"?window.scrollX:window.pageXOffset;varscrollY=typeofwindow.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){vartouch=event.touch;if(touch===undefined){return}varadjustedX=touch.pageX-(scrollX+rect.left);varadjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);varcoords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}elseif(event.type==="touchend"||event.type==="touchmove"){varlast=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}varx=event.pageX-(scrollX+rect.left);vary=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},resizeListeners:[],updateResizeListeners:function(){varcanvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){varcanvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeofSDL!="undefined"){varflags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeofSDL!="undefined"){varflags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}varw=wNative;varh=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h<Module["forcedAspectRatio"]){w=Math.round(h*Module["forcedAspectRatio"])}else{h=Math.round(w/Module["forcedAspectRatio"])}}if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvas.parentNode&&typeofscreen!="undefined"){varfactor=Math.min(screen.width/w,screen.height/h);w=Math.round(w*factor);h=Math.round(h*factor)}if(Browser.resizeCanvas){if(canvas.width!=w)canvas.width=w;if(canvas.height!=h)canvas.height=h;if(typeofcanvas.style!="undefined"){canvas.style.removeProperty("width");canvas.style.removeProperty("height")}}else{if(canvas.width!=wNative)canvas.width=wNative;if(canvas.height!=hNative)canvas.height=hNative;if(typeofcanvas.style!="undefined"){if(w!=wNative||h!=hNative){canvas.style.setProperty("width",w+"px","important");canvas.style.setProperty("height",h+"px","important")}else{canvas.style.removeProperty("width");canvas.style.removeProperty("height")}}}}};varAL={QUEUE_INTERVAL:25,QUEUE_LOOKAHEAD:.1,DEVICE_NAME:"Emscripten OpenAL",CAPTURE_DEVICE_NAME:"Emscripten OpenAL capture",ALC_EXTENSIONS:{ALC_SOFT_pause_device:true,ALC_SOFT_HRTF:true},AL_EXTENSIONS:{AL_EXT_float32:true,AL_SOFT_loop_points:true,AL_SOFT_source_length:true,AL_EXT_source_distance_model:true,AL_SOFT_source_spatialize:true},_alcErr:0,alcErr:0,deviceRefCounts:{},alcStringCache:{},paused:false,stringCache:{},contexts:{},currentCtx:null,buffers:{0:{id:0,refCount:0,audioBuf:null,frequency:0,bytesPerSample:2,channels:1,length:0}},paramArray:[],_nextId:1,newId:function(){returnAL.freeIds.length>0?AL.freeIds.pop():AL._nextId++},freeIds:[],scheduleContextAudio:function(ctx){if(Browser.mainLoop.timingMode===1&&document["visibilityState"]!="visible"){return}for(variinctx.sources){AL.scheduleSourceAudio(ctx.sources[i])}},scheduleSourceAudio:function(src,lookahead){if(Browser.mainLoop.timingMode===1&&document["visibilityState"]!="visible"){return}if(src.state!==4114){return}varcurrentTime=AL.updateSourceTime(src);varstartTime=src.bufStartTime;varstartOffset=src.bufOffset;varbufCursor=src.bufsProcessed;for(vari=0;i<src.audioQueue.length;i++){varaudioSrc=src.audioQueue[i];startTime=audioSrc._startTime+audioSrc._duration;startOffset=0;bufCursor+=audioSrc._skipCount+1}if(!lookahead){lookahead=AL.QUEUE_LOOKAHEAD}varlookaheadTime=currentTime+lookahead;varskipCount=0;while(startTime<lookaheadTime){if(bufCursor>=src.bufQueue.length){if(src.looping){bufCursor%=src.bufQueue.length}else{break}}varbuf=src.bufQueue[bufCursor%src.bufQueue.length];if(buf.length===0){skipCount++;if(skipCount===src.bufQueue.length){break}}else{varaudioSrc=src.context.audioCtx.createBufferSource();audioSrc.buffer=buf.audioBuf;audioSrc.playbackRate.value=src.playbackRate;if(buf.audioBuf._loopStart||buf.audioBuf._loopEnd){audioSrc.loopStart=buf.audioBuf._loopStart;audioSrc.loopEnd=buf.audioBuf._loopEnd}varduration=0;if(src.type===4136&&src.looping){duration=Number.POSITIVE_INFINITY;audioSrc.loop=true;if(buf.audioBuf._loopStart){audioSrc.loopStart=buf.audioBuf._loopStart}if(buf.audioBuf._loopEnd){audioSrc.loopEnd=buf.audioBuf._loopEnd}}else{duration=(buf.audioBuf.duration-startOffset)/src.playbackRate}audioSrc._startOffset=startOffset;audioSrc._duration=duration;audioSrc._skipCount=skipCount;skipCount=0;audioSrc.connect(src.gain);if(typeofaudioSrc.start!=="undefined"){startTime=Math.max(startTime,src.context.audioCtx.currentTime);audioSrc.start(startTime,startOffset)}elseif(typeofaudioSrc.noteOn!=="undefined"){startTime=Math.max(startTime,src.context.audioCtx.currentTime);audioSrc.noteOn(startTime)}audioSrc._startTime=startTime;src.audioQueue.push(audioSrc);startTime+=duration}startOffset=0;bufCursor++}},updateSourceTime:function(src){varcurrentTime=src.context.audioCtx.currentTime;if(src.state!==4114){returncurrentTime}if(!isFinite(src.bufStartTime)){src.bufStartTime=currentTime-src.bufOffset/src.playbackRate;src.bufOffset=0}varnextStartTime=0;while(src.audioQueue.length){varaudioSrc=src.audioQueue[0];src.bufsProcessed+=audioSrc._skipCount;nextStartTime=audioSrc._startTime+audioSrc._duration;if(currentTime<nextStartTime){break}src.audioQueue.shift();src.bufStartTime=nextStartTime;src.bufOffset=0;src.bufsProcessed++}if(src.bufsProcessed>=src.bufQueue.length&&!src.looping){AL.setSourceState(src,4116)}elseif(src.type===4136&&src.looping){varbuf=src.bufQueue[0];if(buf.length===0){src.bufOffset=0}else{vardelta=(currentTime-src.bufStartTime)*src.playbackRate;varloopStart=buf.audioBuf._loopStart||0;varloopEnd=buf.audioBuf._loopEnd||buf.audioBuf.duration;if(loopEnd<=loopStart){loopEnd=buf.audioBuf.duration}if(delta<loopEnd){src.bufOffset=delta}else{src.bufOffset=loopStart+(delta-loopStart)%(loopEnd-loopStart)}}}elseif(src.audioQueue[0]){src.bufOffset=(currentTime-src.audioQueue[0]._startTime)*src.playbackRate}else{if(src.type!==4136&&src.looping){varsrcDuration=AL.sourceDuration(src)/src.playbackRate;if(srcDuration>0){src.bufStartTime+=Math.floor((currentTime-src.bufStartTime)/srcDuration)*srcDuration}}for(vari=0;i<src.bufQueue.length;i++){if(src.bufsProcessed>=src.bufQueue.length){if(src.looping){src.bufsProcessed%=src.bufQueue.length}else{AL.setSourceState(src,4116);break}}varbuf=src.bufQueue[src.bufsProcessed];if(buf.length>0){nextStartTime=src.bufStartTime+buf.audioBuf.duration/src.playbackRate;if(currentTime<nextStartTime){src.bufOffset=(currentTime-src.bufStartTime)*src.playbackRate;break}src.bufStartTime=nextStartTime}src.bufOffset=0;src.bufsProcessed++}}returncurrentTime},cancelPendingSourceAudio:function(src){AL.updateSourceTime(src);for(vari=1;i<src.audioQueue.length;i++){varaudioSrc=src.audioQueue[i];audioSrc.stop()}if(src.audioQueue.length>1){src.audioQueue.length=1}},stopSourceAudio:function(src){for(vari=0;i<src.audioQueue.length;i++){src.audioQueue[i].stop()}src.audioQueue.length=0},setSourceState:function(src,state){if(state===4114){if(src.state===4114||src.state==4116){src.bufsProcessed=0;src.bufOffset=0}else{}AL.stopSourceAudio(src);src.state=4114;src.bufStartTime=Number.NEGATIVE_INFINITY;AL.scheduleSourceAudio(src)}elseif(state===4115){if(src.state===4114){AL.updateSourceTime(src);AL.stopSourceAudio(src);src.state=4115}}elseif(state===4116){if(src.state!==4113){src.state=4116;src.bufsProcessed=src.bufQueue.length;src.bufStartTime=Number.NEGATIVE_INFINITY;src.bufOffset=0;AL.stopSourceAudio(src)}}elseif(state===4113){if(src.state!==4113){src.state=4113;src.bufsProcessed=0;src.bufStartTime=Number.NEGATIVE_INFINITY;src.bufOffset=0;AL.stopSourceAudio(src)}}},initSourcePanner:function(src){if(src.type===4144){return}vartemplateBuf=AL.buffers[0];for(vari=0;i<src.bufQueue.length;i++){if(src.bufQueue[i].id!==0){templateBuf=src.bufQueue[i];break}}if(src.spatialize===1||src.spatialize===2&&templateBuf.channels===1){if(src.panner){return}src.panner=src.context.audioCtx.createPanner();AL.updateSourceGlobal(src);AL.updateSourceSpace(src);src.panner.connect(src.context.gain);src.gain.disconnect();src.gain.connect(src.panner)}else{if(!src.panner){return}src.panner.disconnect();src.gain.disconnect();src.gain.connect(src.context.gain);src.panner=null}},updateContextGlobal:function(ctx){for(variinctx.sources){AL.updateSourceGlobal(ctx.sources[i])}},updateSourceGlobal:function(src){varpanner=src.panner;if(!panner){return}panner.refDistance=src.refDistance;panner.maxDistance=src.maxDistance;panner.rolloffFactor=src.rolloffFactor;panner.panningModel=src.context.hrtf?"HRTF":"equalpower";vardistanceModel=src.context.sourceDistanceModel?src.distanceModel:src.context.distanceModel;switch(distanceModel){case0:panner.distanceModel="inverse";panner.refDistance=3.40282e38;break;case53249:case53250:panner.distanceModel="inverse";break;case53251:case53252:panner.distanceModel="linear";break;case53253:case53254:panner.distanceModel="exponential";break}},updateListenerSpace:function(ctx){varlistener=ctx.audioCtx.listener;if(listener.positionX){listener.positionX.value=ctx.listener.position[0];listener.positionY.value=ctx.listener.position[1];listener.positionZ.value=ctx.listener.position[2]}else{listener.setPosition(ctx.listener.position[0],ctx.listener.position[1],ctx.listener.position[2])}if(listener.forwardX){listener.forwardX.value=ctx.listener.direction[0];listener.forwardY.value=ctx.listener.direction[1];listener.forwardZ.value=ctx.listener.direction[2];listener.upX.value=ctx.listener.up[0];listener.upY.value=ctx.listener.up[1];listener.upZ.value=ctx.listener.up[2]}else{listener.setOrientation(ctx.listener.direction[0],ctx.listener.direction[1],ctx.listener.direction[2],ctx.listener.up[0],ctx.listener.up[1],ctx.listener.up[2])}for(variinctx.sources){AL.updateSourceSpace(ctx.sources[i])}},updateSourceSpace:function(src){if(!src.panner){return}varpanner=src.panner;varposX=src.position[0];varposY=src.position[1];varposZ=src.position[2];vardirX=src.direction[0];vardirY=src.direction[1];vardirZ=src.direction[2];varlistener=src.context.listener;varlPosX=listener.position[0];varlPosY=listener.position[1];varlPosZ=listener.position[2];if(src.relative){varlBackX=-listener.direction[0];varlBackY=-listener.direction[1];varlBackZ=-listener.direction[2];varlUpX=listener.up[0];varlUpY=listener.up[1];varlUpZ=listener.up[2];varinverseMagnitude=function(x,y,z){varlength=Math.sqrt(x*x+y*y+z*z);if(length<Number.EPSILON){return0}return1/length};varinvMag=inverseMagnitude(lBackX,lBackY,lBackZ);lBackX*=invMag;lBackY*=invMag;lBackZ*=invMag;invMag=inverseMagnitude(lUpX,lUpY,lUpZ);lUpX*=invMag;lUpY*=invMag;lUpZ*=invMag;varlRightX=lUpY*lBackZ-lUpZ*lBackY;varlRightY=lUpZ*lBackX-lUpX*lBackZ;varlRightZ=lUpX*lBackY-lUpY*lBackX;invMag=inverseMagnitude(lRightX,lRightY,lRightZ);lRightX*=invMag;lRightY*=invMag;lRightZ*=invMag;lUpX=lBackY*lRightZ-lBackZ*lRightY;lUpY=lBackZ*lRightX-lBackX*lRightZ;lUpZ=lBackX*lRightY-lBackY*lRightX;varoldX=dirX;varoldY=dirY;varoldZ=dirZ;dirX=oldX*lRightX+oldY*lUpX+oldZ*lBackX;dirY=oldX*lRightY+oldY*lUpY+oldZ*lBackY;dirZ=oldX*lRightZ+oldY*lUpZ+oldZ*lBackZ;oldX=posX;oldY=posY;oldZ=posZ;posX=oldX*lRightX+oldY*lUpX+oldZ*lBackX;posY=oldX*lRightY+oldY*lUpY+oldZ*lBackY;posZ=oldX*lRightZ+oldY*lUpZ+oldZ*lBackZ;posX+=lPosX;posY+=lPosY;posZ+=lPosZ}if(panner.positionX){panner.positionX.value=posX;panner.positionY.value=posY;panner.positionZ.value=posZ}else{panner.setPosition(posX,posY,posZ)}if(panner.orientationX){panner.orientationX.value=dirX;panner.orientationY.value=dirY;panner.orientationZ.value=dirZ}else{panner.setOrientation(dirX,dirY,dirZ)}varoldShift=src.dopplerShift;varvelX=src.velocity[0];varvelY=src.velocity[1];varvelZ=src.velocity[2];varlVelX=listener.velocity[0];varlVelY=listener.velocity[1];varlVelZ=listener.velocity[2];if(posX===lPosX&&posY===lPosY&&posZ===lPosZ||velX===lVelX&&velY===lVelY&&velZ===lVelZ){src.dopplerShift=1}else{varspeedOfSound=src.context.speedOfSound;vardopplerFactor=src.context.dopplerFactor;varslX=lPosX-posX;varslY=lPosY-posY;varslZ=lPosZ-posZ;varmagSl=Math.sqrt(slX*slX+slY*slY+slZ*slZ);varvls=(slX*lVelX+slY*lVelY+slZ*lVelZ)/magSl;varvss=(slX*velX+slY*velY+slZ*velZ)/magSl;vls=Math.min(vls,speedOfSound/dopplerFactor);vss=Math.min(vss,speedOfSound/dopplerFactor);src.dopplerShift=(speedOfSound-dopplerFactor*vls)/(speedOfSound-dopplerFactor*vss)}if(src.dopplerShift!==oldShift){AL.updateSourceRate(src)}},updateSourceRate:function(src){if(src.state===4114){AL.cancelPendingSourceAudio(src);varaudioSrc=src.audioQueue[0];if(!audioSrc){return}varduration;if(src.type===4136&&src.looping){duration=Number.POSITIVE_INFINITY}else{duration=(audioSrc.buffer.duration-audioSrc._startOffset)/src.playbackRate}audioSrc._duration=duration;audioSrc.playbackRate.value=src.playbackRate;AL.scheduleSourceAudio(src)}},sourceDuration:function(src){varlength=0;for(vari=0;i<src.bufQueue.length;i++){varaudioBuf=src.bufQueue[i].audioBuf;length+=audioBuf?audioBuf.duration:0}returnlength},sourceTell:function(src){AL.updateSourceTime(src);varoffset=0;for(vari=0;i<src.bufsProcessed;i++){offset+=src.bufQueue[i].audioBuf.duration}offset+=src.bufOffset;returnoffset},sourceSeek:function(src,offset){varplaying=src.state==4114;if(playing){AL.setSourceState(src,4113)}if(src.bufQueue[src.bufsProcessed].audioBuf!==null){src.bufsProcessed=0;while(offset>src.bufQueue[src.bufsProcessed].audioBuf.duration){offset-=src.bufQueue[src.bufsProcessed].audiobuf.duration;src.bufsProcessed++}src.bufOffset=offset}if(playing){AL.setSourceState(src,4114)}},getGlobalParam:function(funcname,param){if(!AL.currentCtx){returnnull}switch(param){case49152:returnAL.currentCtx.dopplerFactor;case49155:returnAL.currentCtx.speedOfSound;case53248:returnAL.currentCtx.distanceModel;default:AL.currentCtx.err=40962;returnnull}},setGlobalParam:function(funcname,param,value){if(!AL.currentCtx){return}switch(param){case49152:if(!Number.isFinite(value)||value<0){AL.currentCtx.err=40963;return}AL.currentCtx.dopplerFactor=value;AL.updateListenerSpace(AL.currentCtx);break;case49155:if(!Number.isFinite(value)||value<=0){AL.currentCtx.err=40963;return}AL.currentCtx.speedOfSound=value;AL.updateListenerSpace(AL.currentCtx);break;case53248:switch(value){case0:case53249:case53250:case53251:case53252:case53253:case53254:AL.currentCtx.distanceModel=value;AL.updateContextGlobal(AL.currentCtx);break;default:AL.currentCtx.err=40963;return}break;default:AL.currentCtx.err=40962;return}},getListenerParam:function(funcname,param){if(!AL.currentCtx){returnnull}switch(param){case4100:returnAL.currentCtx.listener.position;case4102:returnAL.currentCtx.listener.velocity;case4111:returnAL.currentCtx.listener.direction.concat(AL.currentCtx.listener.up);case4106:returnAL.currentCtx.gain.gain.value;default:AL.currentCtx.err=40962;returnnull}},setListenerParam:function(funcname,param,value){if(!AL.currentCtx){return}if(value===null){AL.currentCtx.err=40962;return}varlistener=AL.currentCtx.listener;switch(param){case4100:if(!Number.isFinite(value[0])||!Number.isFinite(value[1])||!Number.isFinite(value[2])){AL.currentCtx.err=40963;return}listener.position[0]=value[0];listener.position[1]=value[1];listener.position[2]=value[2];AL.updateListenerSpace(AL.currentCtx);break;case4102:if(!Number.isFinite(value[0])||!Number.isFinite(value[1])||!Number.isFinite(value[2])){AL.currentCtx.err=40963;return}listener.velocity[0]=value[0];listener.velocity[1]=value[1];listener.velocity[2]=value[2];AL.updateListenerSpace(AL.currentCtx);break;case4106:if(!Number.isFinite(value)||value<0){AL.currentCtx.err=40963;return}AL.currentCtx.gain.gain.value=value;break;case4111:if(!Number.isFinite(value[0])||!Number.isFinite(value[1])||!Number.isFinite(value[2])||!Number.isFinite(value[3])||!Number.isFinite(value[4])||!Number.isFinite(value[5])){AL.currentCtx.err=40963;return}listener.direction[0]=value[0];listener.direction[1]=value[1];listener.direction[2]=value[2];listener.up[0]=value[3];listener.up[1]=value[4];listener.up[2]=value[5];AL.updateListenerSpace(AL.currentCtx);break;default:AL.currentCtx.err=40962;return}},getBufferParam:function(funcname,bufferId,param){if(!AL.currentCtx){return}varbuf=AL.buffers[bufferId];if(!buf||bufferId===0){AL.currentCtx.err=40961;return}switch(param){case8193:returnbuf.frequency;case8194:returnbuf.bytesPerSample*8;case8195:returnbuf.channels;case8196:returnbuf.length*buf.bytesPerSample*buf.channels;case8213:if(buf.length===0){return[0,0]}else{return[(buf.audioBuf._loopStart||0)*buf.frequency,(buf.audioBuf._loopEnd||buf.length)*buf.frequency]}default:AL.currentCtx.err=40962;returnnull}},setBufferParam:function(funcname,bufferId,param,value){if(!AL.currentCtx){return}varbuf=AL.buffers[bufferId];if(!buf||bufferId===0){AL.currentCtx.err=40961;return}if(value===null){AL.currentCtx.err=40962;return}switch(param){case8196:if(value!==0){AL.currentCtx.err=40963;return}break;case8213:if(value[0]<0||value[0]>buf.length||value[1]<0||value[1]>buf.Length||value[0]>=value[1]){AL.currentCtx.err=40963;return}if(buf.refCount>0){AL.currentCtx.err=40964;return}if(buf.audioBuf){buf.audioBuf._loopStart=value[0]/buf.frequency;buf.audioBuf._loopEnd=value[1]/buf.frequency}break;default:AL.currentCtx.err=40962;return}},getSourceParam:function(funcname,sourceId,param){if(!AL.currentCtx){returnnull}varsrc=AL.currentCtx.sources[sourceId];if(!src){AL.currentCtx.err=40961;returnnull}switch(param){case514:returnsrc.relative;case4097:returnsrc.coneInnerAngle;case4098:returnsrc.coneOuterAngle;case4099:returnsrc.pitch;case4100:returnsrc.position;case4101:returnsrc.direction;case4102:returnsrc.velocity;case4103:returnsrc.looping;case4105:if(src.type===4136){returnsrc.bufQueue[0].id}else{return0}case4106:returnsrc.gain.gain.value;case4109:returnsrc.minGain;case4110:returnsrc.maxGain;case4112:returnsrc.state;case4117:if(src.bufQueue.length===1&&src.bufQueue[0].id===0){return0}else{returnsrc.bufQueue.length}case4118:if(src.bufQueue.length===1&&src.bufQueue[0].id===0||src.looping){return0}else{returnsrc.bufsProcessed}case4128:returnsrc.refDistance;case4129:returnsrc.rolloffFactor;case4130:returnsrc.coneOuterGain;case4131:returnsrc.maxDistance;case4132:returnAL.sourceTell(src);case4133:varoffset=AL.sourceTell(src);if(offset>0){offset*=src.bufQueue[0].frequency}returnoffset;case4134:varoffset=AL.sourceTell(src);if(offset>0){offset*=src.bufQueue[0].frequency*src.bufQueue[0].bytesPerSample}returnoffset;case4135:returnsrc.type;case4628:returnsrc.spatialize;case8201:varlength=0;varbytesPerFrame=0;for(vari=0;i<src.bufQueue.length;i++){length+=src.bufQueue[i].length;if(src.bufQueue[i].id!==0){bytesPerFrame=src.bufQueue[i].bytesPerSample*src.bufQueue[i].channels}}returnlength*bytesPerFrame;case8202:varlength=0;for(vari=0;i<src.bufQueue.length;i++){length+=src.bufQueue[i].length}returnlength;case8203:returnAL.sourceDuration(src);case53248:returnsrc.distanceModel;default:AL.currentCtx.err=40962;returnnull}},setSourceParam:function(funcname,sourceId,param,value){if(!AL.currentCtx){return}varsrc=AL.currentCtx.sources[sourceId];if(!src){AL.currentCtx.err=40961;return}if(value===null){AL.currentCtx.err=40962;return}switch(param){case514:if(value===1){src.relative=true;AL.updateSourceSpace(src)}elseif(value===0){src.relative=false;AL.updateSourceSpace(src)}else{AL.currentCtx.err=40963;return}break;case4097:if(!Number.isFinite(value)){AL.currentCtx.err=40963;return}src.coneInnerAngle=value;if(src.panner){src.panner.coneInnerAngle=value%360}break;case4098:if(!Number.isFinite(value)){AL.currentCtx.err=40963;return}src.coneOuterAngle=value;if(src.panner){src.panner.coneOuterAngle=value%360}break;case4099:if(!Number.isFinite(value)||value<=0){AL.currentCtx.err=40963;return}if(src.pitch===value){break}src.pitch=value;AL.updateSourceRate(src);break;case4100:if(!Number.isFinite(value[0])||!Number.isFinite(value[1])||!Number.isFinite(value[2])){AL.currentCtx.err=40963;return}src.position[0]=value[0];src.position[1]=value[1];src.position[2]=value[2];AL.updateSourceSpace(src);break;case4101:if(!Number.isFinite(value[0])||!Number.isFinite(value[1])||!Number.isFinite(value[2])){AL.currentCtx.err=40963;return}src.direction[0]=value[0];src.direction[1]=value[1];src.direction[2]=value[2];AL.updateSourceSpace(src);break;case4102:if(!Number.isFinite(value[0])||!Number.isFinite(value[1])||!Number.isFinite(value[2])){AL.currentCtx.err=40963;return}src.velocity[0]=value[0];src.velocity[1]=value[1];src.velocity[2]=value[2];AL.updateSourceSpace(src);break;case4103:if(value===1){src.looping=true;AL.updateSourceTime(src);if(src.type===4136&&src.audioQueue.length>0){varaudioSrc=src.audioQueue[0];audioSrc.loop=true;audioSrc._duration=Number.POSITIVE_INFINITY}}elseif(value===0){src.looping=false;varcurrentTime=AL.updateSourceTime(src);if(src.type===4136&&src.audioQueue.length>0){varaudioSrc=src.audioQueue[0];audioSrc.loop=false;audioSrc._duration=src.bufQueue[0].audioBuf.duration/src.playbackRate;audioSrc._startTime=currentTime-src.bufOffset/src.playbackRate}}else{AL.currentCtx.err=40963;return}break;case4105:if(src.state===4114||src.state===4115){AL.currentCtx.err=40964;return}if(value===0){for(variinsrc.bufQueue){src.bufQueue[i].refCount--}src.bufQueue.length=1;src.bufQueue[0]=AL.buffers[0];src.bufsProcessed=0;src.type=4144}else{varbuf=AL.buffers[value];if(!buf){AL.currentCtx.err=40963;return}for(variinsrc.bufQueue){src.bufQueue[i].refCount--}src.bufQueue.length=0;buf.refCount++;src.bufQueue=[buf];src.bufsProcessed=0;src.type=4136}AL.initSourcePanner(src);AL.scheduleSourceAudio(src);break;case4106:if(!Number.isFinite(value)||value<0){AL.currentCtx.err=40963;return}src.gain.gain.value=value;break;case4109:if(!Number.isFinite(value)||value<0||value>Math.min(src.maxGain,1)){AL.currentCtx.err=40963;return}src.minGain=value;break;case4110:if(!Number.isFinite(value)||value<Math.max(0,src.minGain)||value>1){AL.currentCtx.err=40963;return}src.maxGain=value;break;case4128:if(!Number.isFinite(value)||value<0){AL.currentCtx.err=40963;return}src.refDistance=value;if(src.panner){src.panner.refDistance=value}break;case4129:if(!Number.isFinite(value)||value<0){AL.currentCtx.err=40963;return}src.rolloffFactor=value;if(src.panner){src.panner.rolloffFactor=value}break;case4130:if(!Number.isFinite(value)||value<0||value>1){AL.currentCtx.err=40963;return}src.coneOuterGain=value;if(src.panner){src.panner.coneOuterGain=value}break;case4131:if(!Number.isFinite(value)||value<0){AL.currentCtx.err=40963;return}src.maxDistance=value;if(src.panner){src.panner.maxDistance=value}break;case4132:if(value<0||value>AL.sourceDuration(src)){AL.currentCtx.err=40963;return}AL.sourceSeek(src,value);break;case4133:varsrcLen=AL.sourceDuration(src);if(srcLen>0){varfrequency;for(varbufIdinsrc.bufQueue){if(bufId){frequency=src.bufQueue[bufId].frequency;break}}value/=frequency}if(value<0||value>srcLen){AL.currentCtx.err=40963;return}AL.sourceSeek(src,value);break;case4134:varsrcLen=AL.sourceDuration(src);if(srcLen>0){varbytesPerSec;for(varbufIdinsrc.bufQueue){if(bufId){varbuf=src.bufQueue[bufId];bytesPerSec=buf.frequency*buf.bytesPerSample*buf.channels;break}}value/=bytesPerSec}if(value<0||value>srcLen){AL.currentCtx.err=40963;return}AL.sourceSeek(src,value);break;case4628:if(value!==0&&value!==1&&value!==2){AL.currentCtx.err=40963;return}src.spatialize=value;AL.initSourcePanner(src);break;case8201:case8202:case8203:AL.currentCtx.err=40964;break;case53248:switch(value){case0:case53249:case53250:case53251:case53252:case53253:case53254:src.distanceModel=value;if(AL.currentCtx.sourceDistanceModel){AL.updateContextGlobal(AL.currentCtx)}break;default:AL.currentCtx.err=40963;return}break;default:AL.currentCtx.err=40962;return}},captures:{},sharedCaptureAudioCtx:null,requireValidCaptureDevice:function(deviceId,funcname){if(deviceId===0){AL.alcErr=40961;returnnull}varc=AL.captures[deviceId];if(!c){AL.alcErr=40961;returnnull}varerr=c.mediaStreamError;if(err){AL.alcErr=40961;returnnull}returnc}};function_alBufferData(bufferId,format,pData,size,freq){if(!AL.currentCtx){return}varbuf=AL.buffers[bufferId];if(!buf){AL.currentCtx.err=40963;return}if(freq<=0){AL.currentCtx.err=40963;return}varaudioBuf=null;try{switch(format){case4352:if(size>0){audioBuf=AL.currentCtx.audioCtx.createBuffer(1,size,freq);varchannel0=audioBuf.getChannelData(0);for(vari=0;i<size;++i){channel0[i]=HEAPU8[pData++]*.0078125-1}}buf.bytesPerSample=1;buf.channels=1;buf.length=size;break;case4353:if(size>0){audioBuf=AL.currentCtx.audioCtx.createBuffer(1,size>>1,freq);varchannel0=audioBuf.getChannelData(0);pData>>=1;for(vari=0;i<size>>1;++i){channel0[i]=HEAP16[pData++]*30517578125e-15}}buf.bytesPerSample=2;buf.channels=1;buf.length=size>>1;break;case4354:if(size>0){audioBuf=AL.currentCtx.audioCtx.createBuffer(2,size>>1,freq);varchannel0=audioBuf.getChannelData(0);varchannel1=audioBuf.getChannelData(1);for(vari=0;i<size>>1;++i){channel0[i]=HEAPU8[pData++]*.0078125-1;channel1[i]=HEAPU8[pData++]*.0078125-1}}buf.bytesPerSample=1;buf.channels=2;buf.length=size>>1;break;case4355:if(size>0){audioBuf=AL.currentCtx.audioCtx.createBuffer(2,size>>2,freq);varchannel0=audioBuf.getChannelData(0);varchannel1=audioBuf.getChannelData(1);pData>>=1;for(vari=0;i<size>>2;++i){channel0[i]=HEAP16[pData++]*30517578125e-15;channel1[i]=HEAP16[pData++]*30517578125e-15}}buf.bytesPerSample=2;buf.channels=2;buf.length=size>>2;break;case65552:if(size>0){audioBuf=AL.currentCtx.audioCtx.createBuffer(1,size>>2,freq);varchannel0=audioBuf.getChannelData(0);pData>>=2;for(vari=0;i<size>>2;++i){channel0[i]=HEAPF32[pData++]}}buf.bytesPerSample=4;buf.channels=1;buf.length=size>>2;break;case65553:if(size>0){audioBuf=AL.currentCtx.audioCtx.createBuffer(2,size>>3,freq);varchannel0=audioBuf.getChannelData(0);varchannel1=audioBuf.getChannelData(1);pData>>=2;for(vari=0;i<size>>3;++i){channel0[i]=HEAPF32[pData++];channel1[i]=HEAPF32[pData++]}}buf.bytesPerSample=4;buf.channels=2;buf.length=size>>3;break;default:AL.currentCtx.err=40963;return}buf.frequency=freq;buf.audioBuf=audioBuf}catch(e){AL.currentCtx.err=40963;return}}function_alDeleteBuffers(count,pBufferIds){if(!AL.currentCtx){return}for(vari=0;i<count;++i){varbufId=HEAP32[pBufferIds+i*4>>2];if(bufId===0){continue}if(!AL.buffers[bufId]){AL.currentCtx.err=40961;return}if(AL.buffers[bufId].refCount){AL.currentCtx.err=40964;return}}for(vari=0;i<count;++i){varbufId=HEAP32[pBufferIds+i*4>>2];if(bufId===0){continue}AL.deviceRefCounts[AL.buffers[bufId].deviceId]--;deleteAL.buffers[bufId];AL.freeIds.push(bufId)}}function_alSourcei(sourceId,param,value){switch(param){case514:case4097:case4098:case4103:case4105:case4128:case4129:case4131:case4132:case4133:case4134:case4628:case8201:case8202:case53248:AL.setSourceParam("alSourcei",sourceId,param,value);break;default:AL.setSourceParam("alSourcei",sourceId,param,null);break}}function_alDeleteSources(count,pSourceIds){if(!AL.currentCtx){return}for(vari=0;i<count;++i){varsrcId=HEAP32[pSourceIds+i*4>>2];if(!AL.currentCtx.sources[srcId]){AL.currentCtx.err=40961;return}}for(vari=0;i<count;++i){varsrcId=HEAP32[pSourceIds+i*4>>2];AL.setSourceState(AL.currentCtx.sources[srcId],4116);_alSourcei(srcId,4105,0);deleteAL.currentCtx.sources[srcId];AL.freeIds.push(srcId)}}function_alGenBuffers(count,pBufferIds){if(!AL.currentCtx){return}for(vari=0;i<count;++i){varbuf={deviceId:AL.currentCtx.deviceId,id:AL.newId(),refCount:0,audioBuf:null,frequency:0,bytesPerSample:2,channels:1,length:0};AL.deviceRefCounts[buf.deviceId]++;AL.buffers[buf.id]=buf;HEAP32[pBufferIds+i*4>>2]=buf.id}}function_alGenSources(count,pSourceIds){if(!AL.currentCtx){return}for(vari=0;i<count;++i){vargain=AL.currentCtx.audioCtx.createGain();gain.connect(AL.currentCtx.gain);varsrc={context:AL.currentCtx,id:AL.newId(),type:4144,state:4113,bufQueue:[AL.buffers[0]],audioQueue:[],looping:false,pitch:1,dopplerShift:1,gain:gain,minGain:0,maxGain:1,panner:null,bufsProcessed:0,bufStartTime:Number.NEGATIVE_INFINITY,bufOffset:0,relative:false,refDistance:1,maxDistance:3.40282e38,rolloffFactor:1,position:[0,0,0],velocity:[0,0,0],direction:[0,0,0],coneOuterGain:0,coneInnerAngle:360,coneOuterAngle:360,distanceModel:53250,spatialize:2,getplaybackRate(){returnthis.pitch*this.dopplerShift}};AL.currentCtx.sources[src.id]=src;HEAP32[pSourceIds+i*4>>2]=src.id}}function_alGetEnumValue(pEnumName){if(!AL.currentCtx){return0}if(!pEnumName){AL.currentCtx.err=40963;return0}varname=UTF8ToString(pEnumName);switch(name){case"AL_BITS":return8194;case"AL_BUFFER":return4105;case"AL_BUFFERS_PROCESSED":return4118;case"AL_BUFFERS_QUEUED":return4117;case"AL_BYTE_OFFSET":return4134;case"AL_CHANNELS":return8195;case"AL_CONE_INNER_ANGLE":return4097;case"AL_CONE_OUTER_ANGLE":return4098;case"AL_CONE_OUTER_GAIN":return4130;case"AL_DIRECTION":return4101;case"AL_DISTANCE_MODEL":return53248;case"AL_DOPPLER_FACTOR":return49152;case"AL_DOPPLER_VELOCITY":return49153;case"AL_EXPONENT_DISTANCE":return53253;case"AL_EXPONENT_DISTANCE_CLAMPED":return53254;case"AL_EXTENSIONS":return45060;case"AL_FORMAT_MONO16":return4353;case"AL_FORMAT_MONO8":return4352;case"AL_FORMAT_STEREO16":return4355;case"AL_FORMAT_STEREO8":return4354;case"AL_FREQUENCY":return8193;case"AL_GAIN":return4106;case"AL_INITIAL":return4113;case"AL_INVALID":return-1;case"AL_ILLEGAL_ENUM":case"AL_INVALID_ENUM":return40962;case"AL_INVALID_NAME":return40961;case"AL_ILLEGAL_COMMAND":case"AL_INVALID_OPERATION":return40964;case"AL_INVALID_VALUE":return40963;case"AL_INVERSE_DISTANCE":return53249;case"AL_INVERSE_DISTANCE_CLAMPED":return53250;case"AL_LINEAR_DISTANCE":return53251;case"AL_LINEAR_DISTANCE_CLAMPED":return53252;case"AL_LOOPING":return4103;case"AL_MAX_DISTANCE":return4131;case"AL_MAX_GAIN":return4110;case"AL_MIN_GAIN":return4109;case"AL_NONE":return0;case"AL_NO_ERROR":return0;case"AL_ORIENTATION":return4111;case"AL_OUT_OF_MEMORY":return40965;case"AL_PAUSED":return4115;case"AL_PENDING":return8209;case"AL_PITCH":return4099;case"AL_PLAYING":return4114;case"AL_POSITION":return4100;case"AL_PROCESSED":return8210;case"AL_REFERENCE_DISTANCE":return4128;case"AL_RENDERER":return45059;case"AL_ROLLOFF_FACTOR":return4129;case"AL_SAMPLE_OFFSET":return4133;case"AL_SEC_OFFSET":return4132;case"AL_SIZE":return8196;case"AL_SOURCE_RELATIVE":return514;case"AL_SOURCE_STATE":return4112;case"AL_SOURCE_TYPE":return4135;case"AL_SPEED_OF_SOUND":return49155;case"AL_STATIC":return4136;case"AL_STOPPED":return4116;case"AL_STREAMING":return4137;case"AL_UNDETERMINED":return4144;case"AL_UNUSED":return8208;case"AL_VELOCITY":return4102;case"AL_VENDOR":return45057;case"AL_VERSION":return45058;case"AL_AUTO_SOFT":return2;case"AL_SOURCE_DISTANCE_MODEL":return512;case"AL_SOURCE_SPATIALIZE_SOFT":return4628;case"AL_LOOP_POINTS_SOFT":return8213;case"AL_BYTE_LENGTH_SOFT":return8201;case"AL_SAMPLE_LENGTH_SOFT":return8202;case"AL_SEC_LENGTH_SOFT":return8203;case"AL_FORMAT_MONO_FLOAT32":return65552;case"AL_FORMAT_STEREO_FLOAT32":return65553;default:AL.currentCtx.err=40963;return0}}function_alGetError(){if(!AL.currentCtx){return40964}else{varerr=AL.currentCtx.err;AL.currentCtx.err=0;returnerr}}function_alGetSourcef(sourceId,param,pValue){varval=AL.getSourceParam("alGetSourcef",sourceId,param);if(val===null){return}if(!pValue){AL.currentCtx.err=40963;return}switch(param){case4097:case4098:case4099:case4106:case4109:case4110:case4128:case4129:case4130:case4131:case4132:case4133:case4134:case8203:HEAPF32[pValue>>2]=val;break;default:AL.currentCtx.err=40962;return}}function_alGetSourcei(sourceId,param,pValue){varval=AL.getSourceParam("alGetSourcei",sourceId,param);if(val===null){return}if(!pValue){AL.currentCtx.err=40963;return}switch(param){case514:case4097:case4098:case4103:case4105:case4112:case4117:case4118:case4128:case4129:case4131:case4132:case4133:case4134:case4135:case4628:case8201:case8202:case53248:HEAP32[pValue>>2]=val;break;default:AL.currentCtx.err=40962;return}}function_alIsSource(sourceId){if(!AL.currentCtx){returnfalse}if(!AL.currentCtx.sources[sourceId]){returnfalse}else{returntrue}}function_alListenerfv(param,pValues){if(!AL.currentCtx){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case4100:case4102:AL.paramArray[0]=HEAPF32[pValues>>2];AL.paramArray[1]=HEAPF32[pValues+4>>2];AL.paramArray[2]=HEAPF32[pValues+8>>2];AL.setListenerParam("alListenerfv",param,AL.paramArray);break;case4111:AL.paramArray[0]=HEAPF32[pValues>>2];AL.paramArray[1]=HEAPF32[pValues+4>>2];AL.paramArray[2]=HEAPF32[pValues+8>>2];AL.paramArray[3]=HEAPF32[pValues+12>>2];AL.paramArray[4]=HEAPF32[pValues+16>>2];AL.paramArray[5]=HEAPF32[pValues+20>>2];AL.setListenerParam("alListenerfv",param,AL.paramArray);break;default:AL.setListenerParam("alListenerfv",param,null);break}}function_alSourcePlay(sourceId){if(!AL.currentCtx){return}varsrc=AL.currentCtx.sources[sourceId];if(!src){AL.currentCtx.err=40961;return}AL.setSourceState(src,4114)}function_alSourceQueueBuffers(sourceId,count,pBufferIds){if(!AL.currentCtx){return}varsrc=AL.currentCtx.sources[sourceId];if(!src){AL.currentCtx.err=40961;return}if(src.type===4136){AL.currentCtx.err=40964;return}if(count===0){return}vartemplateBuf=AL.buffers[0];for(vari=0;i<src.bufQueue.length;i++){if(src.bufQueue[i].id!==0){templateBuf=src.bufQueue[i];break}}for(vari=0;i<count;++i){varbufId=HEAP32[pBufferIds+i*4>>2];varbuf=AL.buffers[bufId];if(!buf){AL.currentCtx.err=40961;return}if(templateBuf.id!==0&&(buf.frequency!==templateBuf.frequency||buf.bytesPerSample!==templateBuf.bytesPerSample||buf.channels!==templateBuf.channels)){AL.currentCtx.err=40964}}if(src.bufQueue.length===1&&src.bufQueue[0].id===0){src.bufQueue.length=0}src.type=4137;for(vari=0;i<count;++i){varbufId=HEAP32[pBufferIds+i*4>>2];varbuf=AL.buffers[bufId];buf.refCount++;src.bufQueue.push(buf)}if(src.looping){AL.cancelPendingSourceAudio(src)}AL.initSourcePanner(src);AL.scheduleSourceAudio(src)}function_alSourceStop(sourceId){if(!AL.currentCtx){return}varsrc=AL.currentCtx.sources[sourceId];if(!src){AL.currentCtx.err=40961;return}AL.setSourceState(src,4116)}function_alSourceUnqueueBuffers(sourceId,count,pBufferIds){if(!AL.currentCtx){return}varsrc=AL.currentCtx.sources[sourceId];if(!src){AL.currentCtx.err=40961;return}if(count>(src.bufQueue.length===1&&src.bufQueue[0].id===0?0:src.bufsProcessed)){AL.currentCtx.err=40963;return}if(count===0){return}for(vari=0;i<count;i++){varbuf=src.bufQueue.shift();buf.refCount--;HEAP32[pBufferIds+i*4>>2]=buf.id;src.bufsProcessed--}if(src.bufQueue.length===0){src.bufQueue.push(AL.buffers[0])}AL.initSourcePanner(src);AL.scheduleSourceAudio(src)}function_alSourcef(sourceId,param,value){switch(param){case4097:case4098:case4099:case4106:case4109:case4110:case4128:case4129:case4130:case4131:case4132:case4133:case4134:case8203:AL.setSourceParam("alSourcef",sourceId,param,value);break;default:AL.setSourceParam("alSourcef",sourceId,param,null);break}}function_alSourcefv(sourceId,param,pValues){if(!AL.currentCtx){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case4097:case4098:case4099:case4106:case4109:case4110:case4128:case4129:case4130:case4131:case4132:case4133:case4134:case8203:varval=HEAPF32[pValues>>2];AL.setSourceParam("alSourcefv",sourceId,param,val);break;case4100:case4101:case4102:AL.paramArray[0]=HEAPF32[pValues>>2];AL.paramArray[1]=HEAPF32[pValues+4>>2];AL.paramArray[2]=HEAPF32[pValues+8>>2];AL.setSourceParam("alSourcefv",sourceId,param,AL.paramArray);break;default:AL.setSourceParam("alSourcefv",sourceId,param,null);break}}function_alcCaptureCloseDevice(deviceId){varc=AL.requireValidCaptureDevice(deviceId,"alcCaptureCloseDevice");if(!c)returnfalse;deleteAL.captures[deviceId];AL.freeIds.push(deviceId);if(c.mediaStreamSourceNode)c.mediaStreamSourceNode.disconnect();if(c.mergerNode)c.mergerNode.disconnect();if(c.splitterNode)c.splitterNode.disconnect();if(c.scriptProcessorNode)c.scriptProcessorNode.disconnect();if(c.mediaStream){c.mediaStream.getTracks().forEach(function(track){track.stop()})}deletec.buffers;c.capturedFrameCount=0;c.isCapturing=false;returntrue}functionlistenOnce(object,event,func){object.addEventListener(event,func,{"once":true})}functionautoResumeAudioContext(ctx,elements){if(!elements){elements=[document,document.getElementById("canvas")]}["keydown","mousedown","touchstart"].forEach(function(event){elements.forEach(function(element){if(element){listenOnce(element,event,function(){if(ctx.state==="suspended")ctx.resume()})}})})}function_alcCaptureOpenDevice(pDeviceName,requestedSampleRate,format,bufferFrameCapacity){varresolvedDeviceName=AL.CAPTURE_DEVICE_NAME;if(pDeviceName!==0){resolvedDeviceName=UTF8ToString(pDeviceName);if(resolvedDeviceName!==AL.CAPTURE_DEVICE_NAME){AL.alcErr=40965;return0}}if(bufferFrameCapacity<0){AL.alcErr=40964;return0}navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia;varhas_getUserMedia=navigator.getUserMedia||navigator.mediaDevices&&navigator.mediaDevices.getUserMedia;if(!has_getUserMedia){AL.alcErr=40965;return0}varAudioContext=window.AudioContext||window.webkitAudioContext;if(!AL.sharedCaptureAudioCtx){try{AL.sharedCaptureAudioCtx=newAudioContext}catch(e){AL.alcErr=40965;return0}}autoResumeAudioContext(AL.sharedCaptureAudioCtx);varoutputChannelCount;switch(format){case65552:case4353:case4352:outputChannelCount=1;break;case65553:case4355:case4354:outputChannelCount=2;break;default:AL.alcErr=40964;return0}functionnewF32Array(cap){returnnewFloat32Array(cap)}functionnewI16Array(cap){returnnewInt16Array(cap)}functionnewU8Array(cap){returnnewUint8Array(cap)}varrequestedSampleType;varnewSampleArray;switch(format){case65552:case65553:requestedSampleType="f32";newSampleArray=newF32Array;break;case4353:case4355:requestedSampleType="i16";newSampleArray=newI16Array;break;case4352:case4354:requestedSampleType="u8";newSampleArray=newU8Array;break}varbuffers=[];try{for(varchan=0;chan<outputChannelCount;++chan){buffers[chan]=newSampleArray(bufferFrameCapacity)}}catch(e){AL.alcErr=40965;return0}varnewCapture={audioCtx:AL.sharedCaptureAudioCtx,deviceName:resolvedDeviceName,requestedSampleRate:requestedSampleRate,requestedSampleType:requestedSampleType,outputChannelCount:outputChannelCount,inputChannelCount:null,mediaStreamError:null,mediaStreamSourceNode:null,mediaStream:null,mergerNode:null,splitterNode:null,scriptProcessorNode:null,isCapturing:false,buffers:buffers,getbufferFrameCapacity(){returnbuffers[0].length},capturePlayhead:0,captureReadhead:0,capturedFrameCount:0};varonError=function(mediaStreamError){newCapture.mediaStreamError=mediaStreamError};varonSuccess=function(mediaStream){newCapture.mediaStreamSourceNode=newCapture.audioCtx.createMediaStreamSource(mediaStream);newCapture.mediaStream=mediaStream;varinputChannelCount=1;switch(newCapture.mediaStreamSourceNode.channelCountMode){case"max":inputChannelCount=outputChannelCount;break;case"clamped-max":inputChannelCount=Math.min(outputChannelCount,newCapture.mediaStreamSourceNode.channelCount);break;case"explicit":inputChannelCount=newCapture.mediaStreamSourceNode.channelCount;break}newCapture.inputChannelCount=inputChannelCount;varprocessorFrameCount=512;newCapture.scriptProcessorNode=newCapture.audioCtx.createScriptProcessor(processorFrameCount,inputChannelCount,outputChannelCount);if(inputChannelCount>outputChannelCount){newCapture.mergerNode=newCapture.audioCtx.createChannelMerger(inputChannelCount);newCapture.mediaStreamSourceNode.connect(newCapture.mergerNode);newCapture.mergerNode.connect(newCapture.scriptProcessorNode)}elseif(inputChannelCount<outputChannelCount){newCapture.splitterNode=newCapture.audioCtx.createChannelSplitter(outputChannelCount);newCapture.mediaStreamSourceNode.connect(newCapture.splitterNode);newCapture.splitterNode.connect(newCapture.scriptProcessorNode)}else{newCapture.mediaStreamSourceNode.connect(newCapture.scriptProcessorNode)}newCapture.scriptProcessorNode.connect(newCapture.audioCtx.destination);newCapture.scriptProcessorNode.onaudioprocess=function(audioProcessingEvent){if(!newCapture.isCapturing){return}varc=newCapture;varsrcBuf=audioProcessingEvent.inputBuffer;switch(format){case65552:varchannel0=srcBuf.getChannelData(0);for(vari=0;i<srcBuf.length;++i){varwi=(c.capturePlayhead+i)%c.bufferFrameCapacity;c.buffers[0][wi]=channel0[i]}break;case65553:varchannel0=srcBuf.getChannelData(0);varchannel1=srcBuf.getChannelData(1);for(vari=0;i<srcBuf.length;++i){varwi=(c.capturePlayhead+i)%c.bufferFrameCapacity;c.buffers[0][wi]=channel0[i];c.buffers[1][wi]=channel1[i]}break;case4353:varchannel0=srcBuf.getChannelData(0);for(vari=0;i<srcBuf.length;++i){varwi=(c.capturePlayhead+i)%c.bufferFrameCapacity;c.buffers[0][wi]=channel0[i]*32767}break;case4355:varchannel0=srcBuf.getChannelData(0);varchannel1=srcBuf.getChannelData(1);for(vari=0;i<srcBuf.length;++i){varwi=(c.capturePlayhead+i)%c.bufferFrameCapacity;c.buffers[0][wi]=channel0[i]*32767;c.buffers[1][wi]=channel1[i]*32767}break;case4352:varchannel0=srcBuf.getChannelData(0);for(vari=0;i<srcBuf.length;++i){varwi=(c.capturePlayhead+i)%c.bufferFrameCapacity;c.buffers[0][wi]=(channel0[i]+1)*127}break;case4354:varchannel0=srcBuf.getChannelData(0);varchannel1=srcBuf.getChannelData(1);for(vari=0;i<srcBuf.length;++i){varwi=(c.capturePlayhead+i)%c.bufferFrameCapacity;c.buffers[0][wi]=(channel0[i]+1)*127;c.buffers[1][wi]=(channel1[i]+1)*127}break}c.capturePlayhead+=srcBuf.length;c.capturePlayhead%=c.bufferFrameCapacity;c.capturedFrameCount+=srcBuf.length;c.capturedFrameCount=Math.min(c.capturedFrameCount,c.bufferFrameCapacity)}};if(navigator.mediaDevices&&navigator.mediaDevices.getUserMedia){navigator.mediaDevices.getUserMedia({audio:true}).then(onSuccess).catch(onError)}else{navigator.getUserMedia({audio:true},onSuccess,onError)}varid=AL.newId();AL.captures[id]=newCapture;returnid}function_alcCaptureSamples(deviceId,pFrames,requestedFrameCount){varc=AL.requireValidCaptureDevice(deviceId,"alcCaptureSamples");if(!c)return;vardstfreq=c.requestedSampleRate;varsrcfreq=c.audioCtx.sampleRate;varfratio=srcfreq/dstfreq;if(requestedFrameCount<0||requestedFrameCount>c.capturedFrameCount/fratio){err("alcCaptureSamples() with invalid bufferSize");AL.alcErr=40964;return}functionsetF32Sample(i,sample){HEAPF32[pFrames+4*i>>2]=sample}functionsetI16Sample(i,sample){HEAP16[pFrames+2*i>>1]=sample}functionsetU8Sample(i,sample){HEAP8[pFrames+i>>0]=sample}varsetSample;switch(c.requestedSampleType){case"f32":setSample=setF32Sample;break;case"i16":setSample=setI16Sample;break;case"u8":setSample=setU8Sample;break;default:return}if(Math.floor(fratio)==fratio){for(vari=0,frame_i=0;frame_i<requestedFrameCount;++frame_i){for(varchan=0;chan<c.buffers.length;++chan,++i){setSample(i,c.buffers[chan][c.captureReadhead])}c.captureReadhead=(fratio+c.captureReadhead)%c.bufferFrameCapacity}}else{for(vari=0,frame_i=0;frame_i<requestedFrameCount;++frame_i){varlefti=Math.floor(c.captureReadhead);varrighti=Math.ceil(c.captureReadhead);vard=c.captureReadhead-lefti;for(varchan=0;chan<c.buffers.length;++chan,++i){varlefts=c.buffers[chan][lefti];varrights=c.buffers[chan][righti];setSample(i,(1-d)*lefts+d*rights)}c.captureReadhead=(c.captureReadhead+fratio)%c.bufferFrameCapacity}}c.capturedFrameCount=0}function_alcCaptureStart(deviceId){varc=AL.requireValidCaptureDevice(deviceId,"alcCaptureStart");if(!c)return;if(c.isCapturing){return}c.isCapturing=true;c.capturedFrameCount=0;c.capturePlayhead=0}function_alcCaptureStop(deviceId){varc=AL.requireValidCaptureDevice(deviceId,"alcCaptureStop");if(!c)return;c.isCapturing=false}function_alcCloseDevice(deviceId){if(!(deviceIdinAL.deviceRefCounts)||AL.deviceRefCounts[deviceId]>0){return0}deleteAL.deviceRefCounts[deviceId];AL.freeIds.push(deviceId);return1}function_alcCreateContext(deviceId,pAttrList){if(!(deviceIdinAL.deviceRefCounts)){AL.alcErr=40961;return0}varoptions=null;varattrs=[];varhrtf=null;pAttrList>>=2;if(pAttrList){varattr=0;varval=0;while(true){attr=HEAP32[pAttrList++];attrs.push(attr);if(attr===0){break}val=HEAP32[pAttrList++];attrs.push(val);switch(attr){case4103:if(!options){options={}}options.sampleRate=val;break;case4112:case4113:break;case6546:switch(val){case0:hrtf=false;break;case1:hrtf=true;break;case2:break;default:AL.alcErr=40964;return0}break;case6550:if(val!==0){AL.alcErr=40964;return0}break;default:AL.alcErr=40964;return0}}}varAudioContext=window.AudioContext||window.webkitAudioContext;varac=null;try{if(options){ac=newAudioContext(options)}else{ac=newAudioContext}}catch(e){if(e.name==="NotSupportedError"){AL.alcErr=40964}else{AL.alcErr=40961}return0}autoResumeAudioContext(ac);if(typeofac.createGain==="undefined"){ac.createGain=ac.createGainNode}vargain=ac.createGain();gain.connect(ac.destination);varctx={deviceId:deviceId,id:AL.newId(),attrs:attrs,audioCtx:ac,listener:{position:[0,0,0],velocity:[0,0,0],direction:[0,0,0],up:[0,0,0]},sources:[],interval:setInterval(function(){AL.scheduleContextAudio(ctx)},AL.QUEUE_INTERVAL),gain:gain,distanceModel:53250,speedOfSound:343.3,dopplerFactor:1,sourceDistanceModel:false,hrtf:hrtf||false,_err:0,geterr(){returnthis._err},seterr(val){if(this._err===0||val===0){this._err=val}}};AL.deviceRefCounts[deviceId]++;AL.contexts[ctx.id]=ctx;if(hrtf!==null){for(varctxIdinAL.contexts){varc=AL.contexts[ctxId];if(c.deviceId===deviceId){c.hrtf=hrtf;AL.updateContextGlobal(c)}}}returnctx.id}function_alcDestroyContext(contextId){varctx=AL.contexts[contextId];if(AL.currentCtx===ctx){AL.alcErr=40962;return}if(AL.contexts[contextId].interval){clearInterval(AL.contexts[contextId].interval)}AL.deviceRefCounts[ctx.deviceId]--;deleteAL.contexts[contextId];AL.freeIds.push(contextId)}function_alcGetContextsDevice(contextId){if(contextIdinAL.contexts){returnAL.contexts[contextId].deviceId}else{return0}}function_alcGetCurrentContext(){if(AL.currentCtx!==null){returnAL.currentCtx.id}else{return0}}function_alcGetEnumValue(deviceId,pEnumName){if(deviceId!==0&&!(deviceIdinAL.deviceRefCounts)){return0}elseif(!pEnumName){AL.alcErr=40964;return0}varname=UTF8ToString(pEnumName);switch(name){case"ALC_NO_ERROR":return0;case"ALC_INVALID_DEVICE":return40961;case"ALC_INVALID_CONTEXT":return40962;case"ALC_INVALID_ENUM":return40963;case"ALC_INVALID_VALUE":return40964;case"ALC_OUT_OF_MEMORY":return40965;case"ALC_MAJOR_VERSION":return4096;case"ALC_MINOR_VERSION":return4097;case"ALC_ATTRIBUTES_SIZE":return4098;case"ALC_ALL_ATTRIBUTES":return4099;case"ALC_DEFAULT_DEVICE_SPECIFIER":return4100;case"ALC_DEVICE_SPECIFIER":return4101;case"ALC_EXTENSIONS":return4102;case"ALC_FREQUENCY":return4103;case"ALC_REFRESH":return4104;case"ALC_SYNC":return4105;case"ALC_MONO_SOURCES":return4112;case"ALC_STEREO_SOURCES":return4113;case"ALC_CAPTURE_DEVICE_SPECIFIER":return784;case"ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER":return785;case"ALC_CAPTURE_SAMPLES":return786;case"ALC_HRTF_SOFT":return6546;case"ALC_HRTF_ID_SOFT":return6550;case"ALC_DONT_CARE_SOFT":return2;case"ALC_HRTF_STATUS_SOFT":return6547;case"ALC_NUM_HRTF_SPECIFIERS_SOFT":return6548;case"ALC_HRTF_SPECIFIER_SOFT":return6549;case"ALC_HRTF_DISABLED_SOFT":return0;case"ALC_HRTF_ENABLED_SOFT":return1;case"ALC_HRTF_DENIED_SOFT":return2;case"ALC_HRTF_REQUIRED_SOFT":return3;case"ALC_HRTF_HEADPHONES_DETECTED_SOFT":return4;case"ALC_HRTF_UNSUPPORTED_FORMAT_SOFT":return5;default:AL.alcErr=40964;return0}}function_alcGetError(deviceId){varerr=AL.alcErr;AL.alcErr=0;returnerr}function_alcGetIntegerv(deviceId,param,size,pValues){if(size===0||!pValues){return}switch(param){case4096:HEAP32[pValues>>2]=1;break;case4097:HEAP32[pValues>>2]=1;break;case4098:if(!(deviceIdinAL.deviceRefCounts)){AL.alcErr=40961;return}if(!AL.currentCtx){AL.alcErr=40962;return}HEAP32[pValues>>2]=AL.currentCtx.attrs.length;break;case4099:if(!(deviceIdinAL.deviceRefCounts)){AL.alcErr=40961;return}if(!AL.currentCtx){AL.alcErr=40962;return}for(vari=0;i<AL.currentCtx.attrs.length;i++){HEAP32[pValues+i*4>>2]=AL.currentCtx.attrs[i]}break;case4103:if(!(deviceIdinAL.deviceRefCounts)){AL.alcErr=40961;return}if(!AL.currentCtx){AL.alcErr=40962;return}HEAP32[pValues>>2]=AL.currentCtx.audioCtx.sampleRate;break;case4112:case4113:if(!(deviceIdinAL.deviceRefCounts)){AL.alcErr=40961;return}if(!AL.currentCtx){AL.alcErr=40962;return}HEAP32[pValues>>2]=2147483647;break;case6546:case6547:if(!(deviceIdinAL.deviceRefCounts)){AL.alcErr=40961;return}varhrtfStatus=0;for(varctxIdinAL.contexts){varctx=AL.contexts[ctxId];if(ctx.deviceId===deviceId){hrtfStatus=ctx.hrtf?1:0}}HEAP32[pValues>>2]=hrtfStatus;break;case6548:if(!(deviceIdinAL.deviceRefCounts)){AL.alcErr=40961;return}HEAP32[pValues>>2]=1;break;case131075:if(!(deviceIdinAL.deviceRefCounts)){AL.alcErr=40961;return}if(!AL.currentCtx){AL.alcErr=40962;return}HEAP32[pValues>>2]=1;case786:varc=AL.requireValidCaptureDevice(deviceId,"alcGetIntegerv");if(!c){return}varn=c.capturedFrameCount;vardstfreq=c.requestedSampleRate;varsrcfreq=c.audioCtx.sampleRate;varnsamples=Math.floor(n*(dstfreq/srcfreq));HEAP32[pValues>>2]=nsamples;break;default:AL.alcErr=40963;return}}function_alcGetString(deviceId,param){if(AL.alcStringCache[param]){returnAL.alcStringCache[param]}varret;switch(param){case0:ret="No Error";break;case40961:ret="Invalid Device";break;case40962:ret="Invalid Context";break;case40963:ret="Invalid Enum";break;case40964:ret="Invalid Value";break;case40965:ret="Out of Memory";break;case4100:if(typeofAudioContext!=="undefined"||typeofwebkitAudioContext!=="undefined"){ret=AL.DEVICE_NAME}else{return0}break;case4101:if(typeofAudioContext!=="undefined"||typeofwebkitAudioContext!=="undefined"){ret=AL.DEVICE_NAME.concat("\0")}else{ret="\0"}break;case785:ret=AL.CAPTURE_DEVICE_NAME;break;case784:if(deviceId===0)ret=AL.CAPTURE_DEVICE_NAME.concat("\0");else{varc=AL.requireValidCaptureDevice(deviceId,"alcGetString");if(!c){return0}ret=c.deviceName}break;case4102:if(!deviceId){AL.alcErr=40961;return0}ret="";for(varextinAL.ALC_EXTENSIONS){ret=ret.concat(ext);ret=ret.concat(" ")}ret=ret.trim();break;default:AL.alcErr=40963;return0}ret=allocate(intArrayFromString(ret),ALLOC_NORMAL);AL.alcStringCache[param]=ret;returnret}function_alcIsExtensionPresent(deviceId,pExtName){varname=UTF8ToString(pExtName);returnAL.ALC_EXTENSIONS[name]?1:0}function_alcMakeContextCurrent(contextId){if(contextId===0){AL.currentCtx=null;return0}else{AL.currentCtx=AL.contexts[contextId];return1}}function_alcOpenDevice(pDeviceName){if(pDeviceName){varname=UTF8ToString(pDeviceName);if(name!==AL.DEVICE_NAME){return0}}if(typeofAudioContext!=="undefined"||typeofwebkitAudioContext!=="undefined"){vardeviceId=AL.newId();AL.deviceRefCounts[deviceId]=0;returndeviceId}else{return0}}function_alcProcessContext(contextId){}function_alcSuspendContext(contextId){}function_clock(){if(_clock.start===undefined)_clock.start=Date.now();return(Date.now()-_clock.start)*(1e6/1e3)|0}function_emscripten_alcDevicePauseSOFT(deviceId){if(!(deviceIdinAL.deviceRefCounts)){AL.alcErr=40961;return}if(AL.paused){return}AL.paused=true;for(varctxIdinAL.contexts){varctx=AL.contexts[ctxId];if(ctx.deviceId!==deviceId){continue}ctx.audioCtx.suspend();clearInterval(ctx.interval);ctx.interval=null}}function_emscripten_alcDeviceResumeSOFT(deviceId){if(!(deviceIdinAL.deviceRefCounts)){AL.alcErr=40961;return}if(!AL.paused){return}AL.paused=false;for(varctxIdinAL.contexts){varctx=AL.contexts[ctxId];if(ctx.deviceId!==deviceId){continue}ctx.interval=setInterval(function(){AL.scheduleContextAudio(ctx)},AL.QUEUE_INTERVAL);ctx.audioCtx.resume()}}function_emscripten_alcGetStringiSOFT(deviceId,param,index){if(!(deviceIdinAL.deviceRefCounts)){AL.alcErr=40961;return0}if(AL.alcStringCache[param]){returnAL.alcStringCache[param]}varret;switch(param){case6549:if(index===0){ret="Web Audio HRTF"}else{AL.alcErr=40964;return0}break;default:if(index===0){return_alcGetString(deviceId,param)}else{AL.alcErr=40963;return0}}ret=allocate(intArrayFromString(ret),ALLOC_NORMAL);AL.alcStringCache[param]=ret;returnret}function_emscripten_alcResetDeviceSOFT(deviceId,pAttrList){if(!(deviceIdinAL.deviceRefCounts)){AL.alcErr=40961;return0}varhrtf=null;pAttrList>>=2;if(pAttrList){varattr=0;varval=0;while(true){attr=HEAP32[pAttrList++];if(attr===0){break}val=HEAP32[pAttrList++];switch(attr){case6546:if(val===1){hrtf=true}elseif(val===0){hrtf=false}break}}}if(hrtf!==null){for(varctxIdinAL.contexts){varctx=AL.contexts[ctxId];if(ctx.deviceId===deviceId){ctx.hrtf=hrtf;AL.updateContextGlobal(ctx)}}}return1}varreadAsmConstArgsArray=[];functionreadAsmConstArgs(sigPtr,buf){readAsmConstArgsArray.length=0;varch;buf>>=2;while(ch=HEAPU8[sigPtr++]){vardouble=ch<105;if(double&&buf&1)buf++;readAsmConstArgsArray.push(double?HEAPF64[buf++>>1]:HEAP32[buf]);++buf}returnreadAsmConstArgsArray}function_emscripten_asm_const_int(code,sigPtr,argbuf){varargs=readAsmConstArgs(sigPtr,argbuf);returnASM_CONSTS[code].apply(null,args)}function_emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}functionabortOnCannotGrowMemory(requestedSize){abort("OOM")}function_emscripten_resize_heap(requestedSize){varoldSize=HEAPU8.length;requestedSize=requestedSize>>>0;abortOnCannotGrowMemory(requestedSize)}function_emscripten_thread_sleep(msecs){varstart=_emscripten_get_now();while(_emscripten_get_now()-start<msecs){}}varSYSCALLS={mappings:{},buffers:[null,[],[]],printChar:function(stream,curr){varbuffer=SYSCALLS.buffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}},varargs:undefined,get:function(){SYSCALLS.varargs+=4;varret=HEAP32[SYSCALLS.varargs-4>>2];returnret},getStr:function(ptr){varret=UTF8ToString(ptr);returnret},get64:function(low,high){returnlow}};function_fd_write(fd,iov,iovcnt,pnum){varnum=0;for(vari=0;i<iovcnt;i++){varptr=HEAP32[iov+i*8>>2];varlen=HEAP32[iov+(i*8+4)>>2];for(varj=0;j<len;j++){SYSCALLS.printChar(fd,HEAPU8[ptr+j])}num+=len}HEAP32[pnum>>2]=num;return0}function_gettimeofday(ptr){varnow=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return0}function_setTempRet0(val){setTempRet0(val)}InternalError=Module["InternalError"]=extendError(Error,"InternalError");embind_init_charCodes();BindingError=Module["BindingError"]=extendError(Error,"BindingError");init_emval();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");Module["requestFullscreen"]=functionModule_requestFullscreen(lockPointer,resizeCanvas){Browser.requestFullscreen(lockPointer,resizeCanvas)};Module["requestAnimationFrame"]=functionModule_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=functionModule_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=functionModule_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=functionModule_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=functionModule_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=functionModule_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){returnBrowser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};functionintArrayFromString(stringy,dontAddNull,length){varlen=length>0?length:lengthBytesUTF8(stringy)+1;varu8array=newArray(len);varnumBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;returnu8array}varasmLibraryArg={"ka":_CaptureDataCB,"ha":_DecodeDataCB,"ia":_EncodeDataCB,"ja":_ResampleDataCB,"E":___cxa_allocate_exception,"D":___cxa_throw,"K":___localtime_r,"I":__embind_finalize_value_object,"F":__embind_register_bigint,"na":__embind_register_bool,"ea":__embind_register_emval,"n":__embind_register_float,"H":__embind_register_function,"b":__embind_register_integer,"a":__embind_register_memory_view,"B":__embind_register_std_string,"k":__embind_register_std_wstring,"J":__embind_register_value_object,"c":__embind_register_value_object_field,"oa":__embind_register_void,"j":_alBufferData,"z":_alDeleteBuffers,"A":_alDeleteSources,"w":_alGenBuffers,"v":_alGenSources,"O":_alGetEnumValue,"t":_alGetError,"p":_alGetSourcef,"d":_alGetSourcei,"ca":_alIsSource,"f":_alListenerfv,"q":_alSourcePlay,"i":_alSourceQueueBuffers,"h":_alSourceStop,"e":_alSourceUnqueueBuffers,"g":_alSourcef,"l":_alSourcefv,"u":_alSourcei,"W":_alcCaptureCloseDevice,"X":_alcCaptureOpenDevice,"T":_alcCaptureSamples,"V":_alcCaptureStart,"U":_alcCaptureStop,"ga":_alcCloseDevice,"y":_alcCreateContext,"fa":_alcDestroyContext,"_":_alcGetContextsDevice,"m":_alcGetCurrentContext,"Y":_alcGetEnumValue,"Z":_alcGetError,"ba":_alcGetIntegerv,"s":_alcGetString,"da":_alcIsExtensionPresent,"x":_alcMakeContextCurrent,"r":_alcOpenDevice,"aa":_alcProcessContext,"$":_alcSuspendContext,"N":_clock,"S":_emscripten_alcDevicePauseSOFT,"R":_emscripten_alcDeviceResumeSOFT,"Q":_emscripten_alcGetStringiSOFT,"P":_emscripten_alcResetDeviceSOFT,"o":_emscripten_asm_const_int,"la":_emscripten_memcpy_big,"ma":_emscripten_resize_heap,"M":_emscripten_thread_sleep,"C":_fd_write,"L":_gettimeofday,"G":_setTempRet0};varasm=createWasm();var___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["qa"]).apply(null,arguments)};var_CaptureDataCallBack=Module["_CaptureDataCallBack"]=function(){return(_CaptureDataCallBack=Module["_CaptureDataCallBack"]=Module["asm"]["ra"]).apply(null,arguments)};var_ResampleDataCallBack=Module["_ResampleDataCallBack"]=function(){return(_ResampleDataCallBack=Module["_ResampleDataCallBack"]=Module["asm"]["sa"]).apply(null,arguments)};var_EncodeDataCallBack=Module["_EncodeDataCallBack"]=function(){return(_EncodeDataCallBack=Module["_EncodeDataCallBack"]=Module["asm"]["ta"]).apply(null,arguments)};var_DecodeDataCallBack=Module["_DecodeDataCallBack"]=function(){return(_DecodeDataCallBack=Module["_DecodeDataCallBack"]=Module["asm"]["ua"]).apply(null,arguments)};var_JSAUDIOCOM_LoadLibrary=Module["_JSAUDIOCOM_LoadLibrary"]=function(){return(_JSAUDIOCOM_LoadLibrary=Module["_JSAUDIOCOM_LoadLibrary"]=Module["asm"]["va"]).apply(null,arguments)};var_JSAUDIOCOM_GetSoundCardNum=Module["_JSAUDIOCOM_GetSoundCardNum"]=function(){return(_JSAUDIOCOM_GetSoundCardNum=Module["_JSAUDIOCOM_GetSoundCardNum"]=Module["asm"]["wa"]).apply(null,arguments)};var_JSAUDIOCOM_GetOneSoundCardInfo=Module["_JSAUDIOCOM_GetOneSoundCardInfo"]=function(){return(_JSAUDIOCOM_GetOneSoundCardInfo=Module["_JSAUDIOCOM_GetOneSoundCardInfo"]=Module["asm"]["xa"]).apply(null,arguments)};var_JSAUDIOCOM_GetCaptureDeviceNum=Module["_JSAUDIOCOM_GetCaptureDeviceNum"]=function(){return(_JSAUDIOCOM_GetCaptureDeviceNum=Module["_JSAUDIOCOM_GetCaptureDeviceNum"]=Module["asm"]["ya"]).apply(null,arguments)};var_JSAUDIOCOM_GetOneCaptureDeviceName=Module["_JSAUDIOCOM_GetOneCaptureDeviceName"]=function(){return(_JSAUDIOCOM_GetOneCaptureDeviceName=Module["_JSAUDIOCOM_GetOneCaptureDeviceName"]=Module["asm"]["za"]).apply(null,arguments)};var_JSAUDIOCOM_CreateCaptureHandle=Module["_JSAUDIOCOM_CreateCaptureHandle"]=function(){return(_JSAUDIOCOM_CreateCaptureHandle=Module["_JSAUDIOCOM_CreateCaptureHandle"]=Module["asm"]["Aa"]).apply(null,arguments)};var_JSAUDIOCOM_RegisterCaptureDataCallBack=Module["_JSAUDIOCOM_RegisterCaptureDataCallBack"]=function(){return(_JSAUDIOCOM_RegisterCaptureDataCallBack=Module["_JSAUDIOCOM_RegisterCaptureDataCallBack"]=Module["asm"]["Ba"]).apply(null,arguments)};var_JSAUDIOCOM_RegisterEncodeDataCallBack0=Module["_JSAUDIOCOM_RegisterEncodeDataCallBack0"]=function(){return(_JSAUDIOCOM_RegisterEncodeDataCallBack0=Module["_JSAUDIOCOM_RegisterEncodeDataCallBack0"]=Module["asm"]["Ca"]).apply(null,arguments)};var_JSAUDIOCOM_RegisterResampleDataCallBack=Module["_JSAUDIOCOM_RegisterResampleDataCallBack"]=function(){return(_JSAUDIOCOM_RegisterResampleDataCallBack=Module["_JSAUDIOCOM_RegisterResampleDataCallBack"]=Module["asm"]["Da"]).apply(null,arguments)};var_JSAUDIOCOM_StartCapture=Module["_JSAUDIOCOM_StartCapture"]=function(){return(_JSAUDIOCOM_StartCapture=Module["_JSAUDIOCOM_StartCapture"]=Module["asm"]["Ea"]).apply(null,arguments)};var_JSAUDIOCOM_StopCapture=Module["_JSAUDIOCOM_StopCapture"]=function(){return(_JSAUDIOCOM_StopCapture=Module["_JSAUDIOCOM_StopCapture"]=Module["asm"]["Fa"]).apply(null,arguments)};var_JSAUDIOCOM_ReleaseCaptureHandle=Module["_JSAUDIOCOM_ReleaseCaptureHandle"]=function(){return(_JSAUDIOCOM_ReleaseCaptureHandle=Module["_JSAUDIOCOM_ReleaseCaptureHandle"]=Module["asm"]["Ga"]).apply(null,arguments)};var_JSAUDIOCOM_SetCaptureStatus=Module["_JSAUDIOCOM_SetCaptureStatus"]=function(){return(_JSAUDIOCOM_SetCaptureStatus=Module["_JSAUDIOCOM_SetCaptureStatus"]=Module["asm"]["Ha"]).apply(null,arguments)};var_JSAUDIOCOM_CreateEncodeHandle=Module["_JSAUDIOCOM_CreateEncodeHandle"]=function(){return(_JSAUDIOCOM_CreateEncodeHandle=Module["_JSAUDIOCOM_CreateEncodeHandle"]=Module["asm"]["Ia"]).apply(null,arguments)};var_JSAUDIOCOM_RegisterEncodeDataCallBack=Module["_JSAUDIOCOM_RegisterEncodeDataCallBack"]=function(){return(_JSAUDIOCOM_RegisterEncodeDataCallBack=Module["_JSAUDIOCOM_RegisterEncodeDataCallBack"]=Module["asm"]["Ja"]).apply(null,arguments)};var_JSAUDIOCOM_StartEncode=Module["_JSAUDIOCOM_StartEncode"]=function(){return(_JSAUDIOCOM_StartEncode=Module["_JSAUDIOCOM_StartEncode"]=Module["asm"]["Ka"]).apply(null,arguments)};var_JSAUDIOCOM_InputEncodeData=Module["_JSAUDIOCOM_InputEncodeData"]=function(){return(_JSAUDIOCOM_InputEncodeData=Module["_JSAUDIOCOM_InputEncodeData"]=Module["asm"]["La"]).apply(null,arguments)};var_JSAUDIOCOM_StopEncode=Module["_JSAUDIOCOM_StopEncode"]=function(){return(_JSAUDIOCOM_StopEncode=Module["_JSAUDIOCOM_StopEncode"]=Module["asm"]["Ma"]).apply(null,arguments)};var_JSAUDIOCOM_ReleaseEncodeHandle=Module["_JSAUDIOCOM_ReleaseEncodeHandle"]=function(){return(_JSAUDIOCOM_ReleaseEncodeHandle=Module["_JSAUDIOCOM_ReleaseEncodeHandle"]=Module["asm"]["Na"]).apply(null,arguments)};var_JSAUDIOCOM_GetPlayDeviceNum=Module["_JSAUDIOCOM_GetPlayDeviceNum"]=function(){return(_JSAUDIOCOM_GetPlayDeviceNum=Module["_JSAUDIOCOM_GetPlayDeviceNum"]=Module["asm"]["Oa"]).apply(null,arguments)};var_JSAUDIOCOM_GetOnePlayDeviceName=Module["_JSAUDIOCOM_GetOnePlayDeviceName"]=function(){return(_JSAUDIOCOM_GetOnePlayDeviceName=Module["_JSAUDIOCOM_GetOnePlayDeviceName"]=Module["asm"]["Pa"]).apply(null,arguments)};var_JSAUDIOCOM_CreatePlayHandle=Module["_JSAUDIOCOM_CreatePlayHandle"]=function(){return(_JSAUDIOCOM_CreatePlayHandle=Module["_JSAUDIOCOM_CreatePlayHandle"]=Module["asm"]["Qa"]).apply(null,arguments)};var_JSAUDIOCOM_OpenStream=Module["_JSAUDIOCOM_OpenStream"]=function(){return(_JSAUDIOCOM_OpenStream=Module["_JSAUDIOCOM_OpenStream"]=Module["asm"]["Ra"]).apply(null,arguments)};var_JSAUDIOCOM_RegisterDecodeDataCallBack=Module["_JSAUDIOCOM_RegisterDecodeDataCallBack"]=function(){return(_JSAUDIOCOM_RegisterDecodeDataCallBack=Module["_JSAUDIOCOM_RegisterDecodeDataCallBack"]=Module["asm"]["Sa"]).apply(null,arguments)};var_JSAUDIOCOM_StartPlay=Module["_JSAUDIOCOM_StartPlay"]=function(){return(_JSAUDIOCOM_StartPlay=Module["_JSAUDIOCOM_StartPlay"]=Module["asm"]["Ta"]).apply(null,arguments)};var_JSAUDIOCOM_SetPlayStatus=Module["_JSAUDIOCOM_SetPlayStatus"]=function(){return(_JSAUDIOCOM_SetPlayStatus=Module["_JSAUDIOCOM_SetPlayStatus"]=Module["asm"]["Ua"]).apply(null,arguments)};var_JSAUDIOCOM_InputStreamData=Module["_JSAUDIOCOM_InputStreamData"]=function(){return(_JSAUDIOCOM_InputStreamData=Module["_JSAUDIOCOM_InputStreamData"]=Module["asm"]["Va"]).apply(null,arguments)};var_JSAUDIOCOM_StopPlay=Module["_JSAUDIOCOM_StopPlay"]=function(){return(_JSAUDIOCOM_StopPlay=Module["_JSAUDIOCOM_StopPlay"]=Module["asm"]["Wa"]).apply(null,arguments)};var_JSAUDIOCOM_ReleasePlayHandle=Module["_JSAUDIOCOM_ReleasePlayHandle"]=function(){return(_JSAUDIOCOM_ReleasePlayHandle=Module["_JSAUDIOCOM_ReleasePlayHandle"]=Module["asm"]["Xa"]).apply(null,arguments)};var_JSAUDIOCOM_SetVolume=Module["_JSAUDIOCOM_SetVolume"]=function(){return(_JSAUDIOCOM_SetVolume=Module["_JSAUDIOCOM_SetVolume"]=Module["asm"]["Ya"]).apply(null,arguments)};var_JSAUDIOCOM_GetVolume=Module["_JSAUDIOCOM_GetVolume"]=function(){return(_JSAUDIOCOM_GetVolume=Module["_JSAUDIOCOM_GetVolume"]=Module["asm"]["Za"]).apply(null,arguments)};var_JSAUDIOCOM_GetLastError=Module["_JSAUDIOCOM_GetLastError"]=function(){return(_JSAUDIOCOM_GetLastError=Module["_JSAUDIOCOM_GetLastError"]=Module["asm"]["_a"]).apply(null,arguments)};var_JSAUDIOCOM_GetSDKVersion=Module["_JSAUDIOCOM_GetSDKVersion"]=function(){return(_JSAUDIOCOM_GetSDKVersion=Module["_JSAUDIOCOM_GetSDKVersion"]=Module["asm"]["$a"]).apply(null,arguments)};var_JSAUDIOCOM_GetBuildDate=Module["_JSAUDIOCOM_GetBuildDate"]=function(){return(_JSAUDIOCOM_GetBuildDate=Module["_JSAUDIOCOM_GetBuildDate"]=Module["asm"]["ab"]).apply(null,arguments)};var_JSAUDIOCOM_GetPlayBufferRemian=Module["_JSAUDIOCOM_GetPlayBufferRemian"]=function(){return(_JSAUDIOCOM_GetPlayBufferRemian=Module["_JSAUDIOCOM_GetPlayBufferRemian"]=Module["asm"]["bb"]).apply(null,arguments)};var_JSAUDIOCOM_GetBufferValue=Module["_JSAUDIOCOM_GetBufferValue"]=function(){return(_JSAUDIOCOM_GetBufferValue=Module["_JSAUDIOCOM_GetBufferValue"]=Module["asm"]["cb"]).apply(null,arguments)};var_JSAUDIOCOM_SetPrintLogFlag=Module["_JSAUDIOCOM_SetPrintLogFlag"]=function(){return(_JSAUDIOCOM_SetPrintLogFlag=Module["_JSAUDIOCOM_SetPrintLogFlag"]=Module["asm"]["db"]).apply(null,arguments)};var_JSAUDIOCOM_SetResampleParam=Module["_JSAUDIOCOM_SetResampleParam"]=function(){return(_JSAUDIOCOM_SetResampleParam=Module["_JSAUDIOCOM_SetResampleParam"]=Module["asm"]["eb"]).apply(null,arguments)};var_JSAUDIOCOM_SetANRParam=Module["_JSAUDIOCOM_SetANRParam"]=function(){return(_JSAUDIOCOM_SetANRParam=Module["_JSAUDIOCOM_SetANRParam"]=Module["asm"]["fb"]).apply(null,arguments)};var___getTypeName=Module["___getTypeName"]=function(){return(___getTypeName=Module["___getTypeName"]=Module["asm"]["gb"]).apply(null,arguments)};var___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=function(){return(___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=Module["asm"]["hb"]).apply(null,arguments)};var_malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["jb"]).apply(null,arguments)};var__get_tzname=Module["__get_tzname"]=function(){return(__get_tzname=Module["__get_tzname"]=Module["asm"]["kb"]).apply(null,arguments)};var__get_daylight=Module["__get_daylight"]=function(){return(__get_daylight=Module["__get_daylight"]=Module["asm"]["lb"]).apply(null,arguments)};var__get_timezone=Module["__get_timezone"]=function(){return(__get_timezone=Module["__get_timezone"]=Module["asm"]["mb"]).apply(null,arguments)};varstackSave=Module["stackSave"]=function(){return(stackSave=Module["stackSave"]=Module["asm"]["nb"]).apply(null,arguments)};varstackRestore=Module["stackRestore"]=function(){return(stackRestore=Module["stackRestore"]=Module["asm"]["ob"]).apply(null,arguments)};varstackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["pb"]).apply(null,arguments)};var_free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["qb"]).apply(null,arguments)};vardynCall_jiji=Module["dynCall_jiji"]=function(){return(dynCall_jiji=Module["dynCall_jiji"]=Module["asm"]["rb"]).apply(null,arguments)};Module["ccall"]=ccall;Module["getValue"]=getValue;Module["writeArrayToMemory"]=writeArrayToMemory;varcalledRun;functionExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}dependenciesFulfilled=functionrunCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};functionrun(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0){return}functiondoRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;functionexit(status,implicit){EXITSTATUS=status;if(keepRuntimeAlive()){}else{exitRuntime()}procExit(status)}functionprocExit(code){EXITSTATUS=code;if(!keepRuntimeAlive()){if(Module["onExit"])Module["onExit"](code);ABORT=true}quit_(code,newExitStatus(code))}if(Module["preInit"]){if(typeofModule["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run();returnJSAudioInterComModule.ready});})();if(typeofexports==='object'&&typeofmodule==='object')module.exports=JSAudioInterComModule;elseif(typeofdefine==='function'&&define['amd'])define([],function(){returnJSAudioInterComModule;});elseif(typeofexports==='object')exports["JSAudioInterComModule"]=JSAudioInterComModule;