From 21c4c037d4075d36e000b740405fe08ab3228849 Mon Sep 17 00:00:00 2001
From: Yuan <294065614@qq.com>
Date: Thu, 4 Jul 2024 21:22:42 +0800
Subject: [PATCH 01/12] 1
---
sdk/src/AppController.js | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/sdk/src/AppController.js b/sdk/src/AppController.js
index 9c130bd..ed3f8ee 100644
--- a/sdk/src/AppController.js
+++ b/sdk/src/AppController.js
@@ -354,7 +354,7 @@ class AppController {
initPlyerAndStart() {
this.initPlayer();
if (this.player) {
- if (this.options.keycodeInput || this.isMobile) {
+ if (this.options.keycodeInput || this.options.isMobile) {
this.keyboardListener = new KeyboardListener(this.options.containerId, this.send);
} else {
this.keyboardInput = new KeyboardInput(this.options.containerId, this.send, this.options.isMobile);
@@ -370,7 +370,7 @@ class AppController {
containerId: this.options.containerId,
});
this.touchHandler.start();
- if (this.options.keycodeInput || this.isMobile) {
+ if (this.options.keycodeInput || this.options.isMobile) {
this.keyboardListener.start(this.touchHandler);
} else {
this.keyboardInput.getTouchHandler(this.touchHandler);
--
Gitee
From dbd12f24116ae8c117a090e4c990aa31f7325e85 Mon Sep 17 00:00:00 2001
From: Yuan <294065614@qq.com>
Date: Thu, 4 Jul 2024 21:35:47 +0800
Subject: [PATCH 02/12] 1
---
sdk/src/AppController.js | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/sdk/src/AppController.js b/sdk/src/AppController.js
index ed3f8ee..2cc69ee 100644
--- a/sdk/src/AppController.js
+++ b/sdk/src/AppController.js
@@ -111,6 +111,7 @@ class AppController {
this.util = new Util();
this.render = true;
this.player = null;
+ this.currentVisible = 'visibility';
this.playerContainerId = undefined;
this.videoEleId = 'phoenixVideo';
this.canvasEleId = 'phoenixCanvas';
@@ -1320,18 +1321,20 @@ class AppController {
}
this.handleVisibilityChange = () => {
- if (document[hidden]) {
+ if (document[hidden] && this.currentVisible == 'visibility') {
// 页面隐藏后停止发送心跳
Logger.debug('Page hidden, pause');
// 页面隐藏后虚拟设备停止发送数据
this.pauseDeviceHardware();
this.pauseCloudPhone();
- } else if (this.wsState === WEBSOCKET_READY_STATE.OPEN) {
+ this.currentVisible = 'hidden'
+ } else if (this.wsState === WEBSOCKET_READY_STATE.OPEN && this.currentVisible == 'hidden') {
Logger.debug('Page visibility, resume');
// 恢复虚拟设备发送数据
this.resumeDeviceHardware();
this.resumeCloudPhone();
this.checkAndRecoverSocket('visibilityChange');
+ this.currentVisible = 'visibility'
}
};
--
Gitee
From cc67b615cd26f2600cbac5e1b959ee736b093667 Mon Sep 17 00:00:00 2001
From: Yuan <294065614@qq.com>
Date: Thu, 11 Jul 2024 09:41:36 +0800
Subject: [PATCH 03/12] 1
---
sdk/demo/demo.html | 3 +-
sdk/enter.html | 31 -
sdk/package.json | 1 +
.../3rd/video-codec-lib/libffmpeg_264_265.js | 1 -
.../video-codec-lib/libffmpeg_264_265.wasm | Bin 2061766 -> 0 bytes
sdk/src/AppController.js | 6 -
sdk/src/CanvasPlayer.js | 130 +-
sdk/src/CloudApp.js | 4 -
sdk/src/codec/Decode.js | 113 --
sdk/src/rtc/MessageHandler.js | 253 ---
sdk/src/rtc/RTCChannel.js | 721 -------
sdk/src/rtc/RTCCloudApp.js | 67 -
sdk/src/rtc/TouchController.js | 276 ---
sdk/src/rtc/grs.js | 695 -------
sdk/src/rtc/sdk/hrtc.d.ts | 1794 -----------------
sdk/src/rtc/sdk/hrtc.js | 18 -
sdk/src/worker/H264NALDecoderWorker.js | 2 +
sdk/src/worker/VideoDecoder.js | 33 -
18 files changed, 46 insertions(+), 4102 deletions(-)
delete mode 100644 sdk/src/3rd/video-codec-lib/libffmpeg_264_265.js
delete mode 100644 sdk/src/3rd/video-codec-lib/libffmpeg_264_265.wasm
delete mode 100644 sdk/src/codec/Decode.js
delete mode 100644 sdk/src/rtc/MessageHandler.js
delete mode 100644 sdk/src/rtc/RTCChannel.js
delete mode 100644 sdk/src/rtc/RTCCloudApp.js
delete mode 100644 sdk/src/rtc/TouchController.js
delete mode 100644 sdk/src/rtc/grs.js
delete mode 100644 sdk/src/rtc/sdk/hrtc.d.ts
delete mode 100644 sdk/src/rtc/sdk/hrtc.js
create mode 100644 sdk/src/worker/H264NALDecoderWorker.js
delete mode 100644 sdk/src/worker/VideoDecoder.js
diff --git a/sdk/demo/demo.html b/sdk/demo/demo.html
index 8aaaf45..5f5a492 100644
--- a/sdk/demo/demo.html
+++ b/sdk/demo/demo.html
@@ -580,7 +580,8 @@ Copyright 2022 Huawei Cloud Computing Technology Co., Ltd.
...cloudPhoneParams,
channelType: channelType,
ticket: '256random'.padStart(256, '0'),
- aes_key: '11111111111111111111111111111111',
+ aes_key: '38cd1479423e42369f099661d3f61ee6',
+ // aes_key: '18718724bdab49658868d43a9c3b13db', // 10706
auth_ts: 'test_auth_ts',
_debug: true,
auto_rotate: true,
diff --git a/sdk/enter.html b/sdk/enter.html
index 058a76f..acd4f8f 100644
--- a/sdk/enter.html
+++ b/sdk/enter.html
@@ -173,10 +173,6 @@
WebSocket
-
-
- WebRtc
-
-
diff --git a/sdk/package.json b/sdk/package.json
index e4b01bd..56362d7 100644
--- a/sdk/package.json
+++ b/sdk/package.json
@@ -19,6 +19,7 @@
"crypto-js": "4.1.1",
"gl-matrix": "^3.4.3",
"jmuxer": "1.2.0",
+ "tinyh264": "^0.0.7",
"webworkify-webpack": "2.1.5"
},
"devDependencies": {
diff --git a/sdk/src/3rd/video-codec-lib/libffmpeg_264_265.js b/sdk/src/3rd/video-codec-lib/libffmpeg_264_265.js
deleted file mode 100644
index 29628c1..0000000
--- a/sdk/src/3rd/video-codec-lib/libffmpeg_264_265.js
+++ /dev/null
@@ -1 +0,0 @@
-var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_HAS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_HAS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";ENVIRONMENT_IS_NODE=ENVIRONMENT_HAS_NODE&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";var nodeFS;var nodePath;read_=function shell_read(filename,binary){var ret;if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename);return binary?ret:ret.toString()};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)};setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){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"];var STACK_ALIGN=16;function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end>_emscripten_get_heap_size()){abort()}HEAP32[DYNAMICTOP_PTR>>2]=end;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var asm2wasmImports={"f64-rem":function(x,y){return x%y},"debugger":function(){}};var jsCallStartIndex=1;var functionPointers=new Array(14);function convertJsFunctionToWasm(func,sig){var typeSection=[1,0,1,96];var sigRet=sig.slice(0,1);var sigParam=sig.slice(1);var typeCodes={"i":127,"j":126,"f":125,"d":124};typeSection.push(sigParam.length);for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var wasmTable;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string")return UTF8ToString(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,HEAP8,ret,size);return ret}function allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}var PAGE_SIZE=16384;var WASM_PAGE_SIZE=65536;var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var STACK_BASE=238208,DYNAMIC_BASE=5481088,DYNAMICTOP_PTR=238176;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||67108864;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE,"maximum":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_TOTAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var wasmBinaryFile="libffmpeg_264_265.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(env){var info={"env":env,"wasi_unstable":env,"global":{"NaN":NaN,Infinity:Infinity},"global.Math":Math,"asm2wasm":asm2wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}Module["asm"]=function(global,env,providedBuffer){env["memory"]=wasmMemory;env["table"]=wasmTable=new WebAssembly.Table({"initial":2704,"maximum":2704,"element":"anyfunc"});env["__memory_base"]=1024;env["__table_base"]=0;var exports=createWasm(env);return exports};var tempDouble;var tempI64;__ATINIT__.push({func:function(){___emscripten_environ_constructor()}});var tempDoublePtr=238192;function demangle(func){return func}function demangleAll(text){var regex=/\b__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var ENV={};function ___buildEnvironment(environ){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]=(typeof navigator==="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";ENV["_"]=thisProgram;poolPtr=getMemory(TOTAL_ENV_SIZE);envPtr=getMemory(MAX_ENV_VALUES*4);HEAP32[envPtr>>2]=poolPtr;HEAP32[environ>>2]=envPtr}else{envPtr=HEAP32[environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in ENV){if(typeof ENV[key]==="string"){var line=key+"="+ENV[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(1)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+lengthe2.timestamp){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}});if(!total){return callback(null)}var errored=false;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err&&!errored){errored=true;return callback(err)}}transaction.onerror=function(e){done(this.error);e.preventDefault()};transaction.oncomplete=function(e){if(!errored){callback(null)}};create.sort().forEach(function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};var NODEFS={isWindows:false,staticInit:function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={1024:flags["O_APPEND"],64:flags["O_CREAT"],128:flags["O_EXCL"],0:flags["O_RDONLY"],2:flags["O_RDWR"],4096:flags["O_SYNC"],512:flags["O_TRUNC"],1:flags["O_WRONLY"]}},bufferFrom:function(arrayBuffer){return Buffer["alloc"]?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)},mount:function(mount){assert(ENVIRONMENT_HAS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)},createNode:function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(22)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node},getMode:function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return stat.mode},realPath:function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)},flagsForNode:function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(22)}},node_ops:{getattr:function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}},setattr:function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},lookup:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)},mknod:function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return node},rename:function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},unlink:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},rmdir:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readdir:function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},symlink:function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readlink:function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}}},stream_ops:{open:function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},close:function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},read:function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},write:function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(-e.errno)}}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size},write:function(stream,buffer,offset,length,position){throw new FS.ErrnoError(5)},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)},lookupPath:function(path,opts){path=PATH_FS.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(40)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(40)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 13}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 13}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 13}return 0},mayLookup:function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return 13;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 17}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return 20}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 16}}else{if(FS.isDir(node.mode)){return 21}}return 0},mayOpen:function(node,flags){if(!node){return 2}if(FS.isLink(node.mode)){return 40}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 21}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(24)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(29)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(16)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(20)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(22)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(22)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(1)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;i"})},staticInit:function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}},init:function(input,output,error){FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit:function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-22}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-22;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-22}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-2}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-13}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},getStreamFromFD:function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(9);return stream},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-75}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[result>>2]=tempI64[0],HEAP32[result+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-22}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-22;case 9:___setErrNo(22);return-1;default:{return-22}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-25;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-25;return 0}case 21519:{if(!stream.tty)return-25;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-25;return-22}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-25;return 0}case 21524:{if(!stream.tty)return-25;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _fd_write(stream,iov,iovcnt,pnum){try{stream=FS.getStream(stream);if(!stream)throw new FS.ErrnoError(9);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___wasi_fd_write(){return _fd_write.apply(null,arguments)}function _abort(){Module["abort"]()}function _clock(){if(_clock.start===undefined)_clock.start=Date.now();return(Date.now()-_clock.start)*(1e6/1e3)|0}function _emscripten_get_heap_size(){return HEAP8.length}var _fabs=Math_abs;function _getenv(name){if(name===0)return 0;name=UTF8ToString(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocateUTF8(ENV[name]);return _getenv.ret}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}var ___tm_timezone=(stringToUTF8("GMT",238080,4),238080);function _gmtime_r(time,tmPtr){var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getUTCSeconds();HEAP32[tmPtr+4>>2]=date.getUTCMinutes();HEAP32[tmPtr+8>>2]=date.getUTCHours();HEAP32[tmPtr+12>>2]=date.getUTCDate();HEAP32[tmPtr+16>>2]=date.getUTCMonth();HEAP32[tmPtr+20>>2]=date.getUTCFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getUTCDay();HEAP32[tmPtr+36>>2]=0;HEAP32[tmPtr+32>>2]=0;var start=Date.UTC(date.getUTCFullYear(),0,1,0,0,0,0);var yday=(date.getTime()-start)/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+40>>2]=___tm_timezone;return tmPtr}function _llvm_exp2_f32(x){return Math.pow(2,x)}function _llvm_exp2_f64(a0){return _llvm_exp2_f32(a0)}var _llvm_trunc_f64=Math_trunc;function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[__get_timezone()>>2]=(new Date).getTimezoneOffset()*60;var winter=new Date(2e3,0,1);var summer=new Date(2e3,6,1);HEAP32[__get_daylight()>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()>2]=winterNamePtr;HEAP32[__get_tzname()+4>>2]=summerNamePtr}else{HEAP32[__get_tzname()>>2]=summerNamePtr;HEAP32[__get_tzname()+4>>2]=winterNamePtr}}function _localtime_r(time,tmPtr){_tzset();var date=new Date(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();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=new Date(2e3,6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[__get_tzname()+(dst?4:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest)}function _mktime(tmPtr){_tzset();var date=new Date(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0);var dst=HEAP32[tmPtr+32>>2];var guessedOffset=date.getTimezoneOffset();var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(2e3,6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dstOffset=Math.min(winterOffset,summerOffset);if(dst<0){HEAP32[tmPtr+32>>2]=Number(summerOffset!=winterOffset&&dstOffset==guessedOffset)}else if(dst>0!=(dstOffset==guessedOffset)){var nonDstOffset=Math.max(winterOffset,summerOffset);var trueOffset=dst>0?dstOffset:nonDstOffset;date.setTime(date.getTime()+(trueOffset-guessedOffset)*6e4)}HEAP32[tmPtr+24>>2]=date.getDay();var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;return date.getTime()/1e3|0}function _pthread_cond_destroy(){return 0}function _pthread_cond_init(){return 0}function _pthread_cond_signal(){return 0}function _pthread_cond_wait(){return 0}function _pthread_create(){return 11}function _pthread_join(){}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}function _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 85:var maxHeapSize=2*1024*1024*1024-65536;maxHeapSize=HEAPU8.length;return maxHeapSize/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;return 1}}___setErrNo(22);return-1}FS.staticInit();Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;if(ENVIRONMENT_HAS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function jsCall_dd(index,a1){return functionPointers[index](a1)}function jsCall_did(index,a1,a2){return functionPointers[index](a1,a2)}function jsCall_didd(index,a1,a2,a3){return functionPointers[index](a1,a2,a3)}function jsCall_ii(index,a1){return functionPointers[index](a1)}function jsCall_iidiiii(index,a1,a2,a3,a4,a5,a6){return functionPointers[index](a1,a2,a3,a4,a5,a6)}function jsCall_iii(index,a1,a2){return functionPointers[index](a1,a2)}function jsCall_iiii(index,a1,a2,a3){return functionPointers[index](a1,a2,a3)}function jsCall_iiiii(index,a1,a2,a3,a4){return functionPointers[index](a1,a2,a3,a4)}function jsCall_iiiiii(index,a1,a2,a3,a4,a5){return functionPointers[index](a1,a2,a3,a4,a5)}function jsCall_iiiiiii(index,a1,a2,a3,a4,a5,a6){return functionPointers[index](a1,a2,a3,a4,a5,a6)}function jsCall_jiji(index,a1,a2,a3){return functionPointers[index](a1,a2,a3)}function jsCall_v(index){functionPointers[index]()}function jsCall_vi(index,a1){functionPointers[index](a1)}function jsCall_vii(index,a1,a2){functionPointers[index](a1,a2)}function jsCall_viii(index,a1,a2,a3){functionPointers[index](a1,a2,a3)}function jsCall_viiii(index,a1,a2,a3,a4){functionPointers[index](a1,a2,a3,a4)}function jsCall_viiiii(index,a1,a2,a3,a4,a5){functionPointers[index](a1,a2,a3,a4,a5)}function jsCall_viiiiii(index,a1,a2,a3,a4,a5,a6){functionPointers[index](a1,a2,a3,a4,a5,a6)}function jsCall_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7){functionPointers[index](a1,a2,a3,a4,a5,a6,a7)}function jsCall_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8){functionPointers[index](a1,a2,a3,a4,a5,a6,a7,a8)}function jsCall_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){functionPointers[index](a1,a2,a3,a4,a5,a6,a7,a8,a9)}function jsCall_viiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){functionPointers[index](a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}function jsCall_viiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){functionPointers[index](a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}function jsCall_viiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12){functionPointers[index](a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12)}function jsCall_viiiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14){functionPointers[index](a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14)}var asmGlobalArg={};var asmLibraryArg={"abort":abort,"setTempRet0":setTempRet0,"getTempRet0":getTempRet0,"jsCall_dd":jsCall_dd,"jsCall_did":jsCall_did,"jsCall_didd":jsCall_didd,"jsCall_ii":jsCall_ii,"jsCall_iidiiii":jsCall_iidiiii,"jsCall_iii":jsCall_iii,"jsCall_iiii":jsCall_iiii,"jsCall_iiiii":jsCall_iiiii,"jsCall_iiiiii":jsCall_iiiiii,"jsCall_iiiiiii":jsCall_iiiiiii,"jsCall_jiji":jsCall_jiji,"jsCall_v":jsCall_v,"jsCall_vi":jsCall_vi,"jsCall_vii":jsCall_vii,"jsCall_viii":jsCall_viii,"jsCall_viiii":jsCall_viiii,"jsCall_viiiii":jsCall_viiiii,"jsCall_viiiiii":jsCall_viiiiii,"jsCall_viiiiiii":jsCall_viiiiiii,"jsCall_viiiiiiii":jsCall_viiiiiiii,"jsCall_viiiiiiiii":jsCall_viiiiiiiii,"jsCall_viiiiiiiiii":jsCall_viiiiiiiiii,"jsCall_viiiiiiiiiii":jsCall_viiiiiiiiiii,"jsCall_viiiiiiiiiiii":jsCall_viiiiiiiiiiii,"jsCall_viiiiiiiiiiiiii":jsCall_viiiiiiiiiiiiii,"___buildEnvironment":___buildEnvironment,"___setErrNo":___setErrNo,"___syscall140":___syscall140,"___syscall221":___syscall221,"___syscall3":___syscall3,"___syscall5":___syscall5,"___syscall54":___syscall54,"___syscall6":___syscall6,"___wasi_fd_write":___wasi_fd_write,"_abort":_abort,"_clock":_clock,"_emscripten_get_heap_size":_emscripten_get_heap_size,"_emscripten_memcpy_big":_emscripten_memcpy_big,"_emscripten_resize_heap":_emscripten_resize_heap,"_fabs":_fabs,"_fd_write":_fd_write,"_getenv":_getenv,"_gettimeofday":_gettimeofday,"_gmtime_r":_gmtime_r,"_llvm_exp2_f32":_llvm_exp2_f32,"_llvm_exp2_f64":_llvm_exp2_f64,"_llvm_trunc_f64":_llvm_trunc_f64,"_localtime_r":_localtime_r,"_mktime":_mktime,"_pthread_cond_destroy":_pthread_cond_destroy,"_pthread_cond_init":_pthread_cond_init,"_pthread_cond_signal":_pthread_cond_signal,"_pthread_cond_wait":_pthread_cond_wait,"_pthread_create":_pthread_create,"_pthread_join":_pthread_join,"_sysconf":_sysconf,"_tzset":_tzset,"abortOnCannotGrowMemory":abortOnCannotGrowMemory,"demangle":demangle,"demangleAll":demangleAll,"jsStackTrace":jsStackTrace,"stackTrace":stackTrace,"tempDoublePtr":tempDoublePtr,"DYNAMICTOP_PTR":DYNAMICTOP_PTR};var asm=Module["asm"](asmGlobalArg,asmLibraryArg,buffer);Module["asm"]=asm;var ___emscripten_environ_constructor=Module["___emscripten_environ_constructor"]=function(){return Module["asm"]["___emscripten_environ_constructor"].apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return Module["asm"]["___errno_location"].apply(null,arguments)};var __get_daylight=Module["__get_daylight"]=function(){return Module["asm"]["__get_daylight"].apply(null,arguments)};var __get_environ=Module["__get_environ"]=function(){return Module["asm"]["__get_environ"].apply(null,arguments)};var __get_timezone=Module["__get_timezone"]=function(){return Module["asm"]["__get_timezone"].apply(null,arguments)};var __get_tzname=Module["__get_tzname"]=function(){return Module["asm"]["__get_tzname"].apply(null,arguments)};var _closeDecoder=Module["_closeDecoder"]=function(){return Module["asm"]["_closeDecoder"].apply(null,arguments)};var _decodeData=Module["_decodeData"]=function(){return Module["asm"]["_decodeData"].apply(null,arguments)};var _flushDecoder=Module["_flushDecoder"]=function(){return Module["asm"]["_flushDecoder"].apply(null,arguments)};var _free=Module["_free"]=function(){return Module["asm"]["_free"].apply(null,arguments)};var _llvm_bswap_i16=Module["_llvm_bswap_i16"]=function(){return Module["asm"]["_llvm_bswap_i16"].apply(null,arguments)};var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=function(){return Module["asm"]["_llvm_bswap_i32"].apply(null,arguments)};var _llvm_round_f64=Module["_llvm_round_f64"]=function(){return Module["asm"]["_llvm_round_f64"].apply(null,arguments)};var _main=Module["_main"]=function(){return Module["asm"]["_main"].apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return Module["asm"]["_malloc"].apply(null,arguments)};var _memalign=Module["_memalign"]=function(){return Module["asm"]["_memalign"].apply(null,arguments)};var _memcpy=Module["_memcpy"]=function(){return Module["asm"]["_memcpy"].apply(null,arguments)};var _memmove=Module["_memmove"]=function(){return Module["asm"]["_memmove"].apply(null,arguments)};var _memset=Module["_memset"]=function(){return Module["asm"]["_memset"].apply(null,arguments)};var _openDecoder=Module["_openDecoder"]=function(){return Module["asm"]["_openDecoder"].apply(null,arguments)};var _pthread_cond_broadcast=Module["_pthread_cond_broadcast"]=function(){return Module["asm"]["_pthread_cond_broadcast"].apply(null,arguments)};var _sbrk=Module["_sbrk"]=function(){return Module["asm"]["_sbrk"].apply(null,arguments)};var establishStackSpace=Module["establishStackSpace"]=function(){return Module["asm"]["establishStackSpace"].apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return Module["asm"]["stackAlloc"].apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return Module["asm"]["stackRestore"].apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return Module["asm"]["stackSave"].apply(null,arguments)};var dynCall_dd=Module["dynCall_dd"]=function(){return Module["asm"]["dynCall_dd"].apply(null,arguments)};var dynCall_did=Module["dynCall_did"]=function(){return Module["asm"]["dynCall_did"].apply(null,arguments)};var dynCall_didd=Module["dynCall_didd"]=function(){return Module["asm"]["dynCall_didd"].apply(null,arguments)};var dynCall_ii=Module["dynCall_ii"]=function(){return Module["asm"]["dynCall_ii"].apply(null,arguments)};var dynCall_iidiiii=Module["dynCall_iidiiii"]=function(){return Module["asm"]["dynCall_iidiiii"].apply(null,arguments)};var dynCall_iii=Module["dynCall_iii"]=function(){return Module["asm"]["dynCall_iii"].apply(null,arguments)};var dynCall_iiii=Module["dynCall_iiii"]=function(){return Module["asm"]["dynCall_iiii"].apply(null,arguments)};var dynCall_iiiii=Module["dynCall_iiiii"]=function(){return Module["asm"]["dynCall_iiiii"].apply(null,arguments)};var dynCall_iiiiii=Module["dynCall_iiiiii"]=function(){return Module["asm"]["dynCall_iiiiii"].apply(null,arguments)};var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=function(){return Module["asm"]["dynCall_iiiiiii"].apply(null,arguments)};var dynCall_jiji=Module["dynCall_jiji"]=function(){return Module["asm"]["dynCall_jiji"].apply(null,arguments)};var dynCall_v=Module["dynCall_v"]=function(){return Module["asm"]["dynCall_v"].apply(null,arguments)};var dynCall_vi=Module["dynCall_vi"]=function(){return Module["asm"]["dynCall_vi"].apply(null,arguments)};var dynCall_vii=Module["dynCall_vii"]=function(){return Module["asm"]["dynCall_vii"].apply(null,arguments)};var dynCall_viii=Module["dynCall_viii"]=function(){return Module["asm"]["dynCall_viii"].apply(null,arguments)};var dynCall_viiii=Module["dynCall_viiii"]=function(){return Module["asm"]["dynCall_viiii"].apply(null,arguments)};var dynCall_viiiii=Module["dynCall_viiiii"]=function(){return Module["asm"]["dynCall_viiiii"].apply(null,arguments)};var dynCall_viiiiii=Module["dynCall_viiiiii"]=function(){return Module["asm"]["dynCall_viiiiii"].apply(null,arguments)};var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=function(){return Module["asm"]["dynCall_viiiiiii"].apply(null,arguments)};var dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=function(){return Module["asm"]["dynCall_viiiiiiii"].apply(null,arguments)};var dynCall_viiiiiiiii=Module["dynCall_viiiiiiiii"]=function(){return Module["asm"]["dynCall_viiiiiiiii"].apply(null,arguments)};var dynCall_viiiiiiiiii=Module["dynCall_viiiiiiiiii"]=function(){return Module["asm"]["dynCall_viiiiiiiiii"].apply(null,arguments)};var dynCall_viiiiiiiiiii=Module["dynCall_viiiiiiiiiii"]=function(){return Module["asm"]["dynCall_viiiiiiiiiii"].apply(null,arguments)};var dynCall_viiiiiiiiiiii=Module["dynCall_viiiiiiiiiiii"]=function(){return Module["asm"]["dynCall_viiiiiiiiiiii"].apply(null,arguments)};var dynCall_viiiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiiii"]=function(){return Module["asm"]["dynCall_viiiiiiiiiiiiii"].apply(null,arguments)};Module["asm"]=asm;Module["getMemory"]=getMemory;Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;Module["addFunction"]=addFunction;Module["calledRun"]=calledRun;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){args=args||[];var argc=args.length+1;var argv=stackAlloc((argc+1)*4);HEAP32[argv>>2]=allocateUTF8OnStack(thisProgram);for(var i=1;i>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;try{var ret=Module["_main"](argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}quit_(status,new ExitStatus(status))}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run();
diff --git a/sdk/src/3rd/video-codec-lib/libffmpeg_264_265.wasm b/sdk/src/3rd/video-codec-lib/libffmpeg_264_265.wasm
deleted file mode 100644
index 1754c0b749f962125365a9f8c6415dde2675e4c4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 2061766
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