diff --git a/bindings.c b/bindings.c index 4c234ac..274ea38 100644 --- a/bindings.c +++ b/bindings.c @@ -492,6 +492,9 @@ int libavjs_with_cli() { } #ifndef LIBAVJS_WITH_CLI +static int ffmpeg_get_total_size_bytes() { return 0; } +static int ffmpeg_get_out_time_ms() { return 0; } +static void ffmpeg_interrupt() { } int ffmpeg_main() { return 0; } int ffprobe_main() { return 0; } #endif diff --git a/configs/configs/h264-aac-mp3/ffmpeg-config.txt b/configs/configs/h264-aac-mp3/ffmpeg-config.txt index 62a8909..7afea7d 100644 --- a/configs/configs/h264-aac-mp3/ffmpeg-config.txt +++ b/configs/configs/h264-aac-mp3/ffmpeg-config.txt @@ -1,12 +1,15 @@ ---enable-protocol=data --enable-protocol=file +--enable-protocol=data --enable-protocol=file --enable-protocol=jsfetch --enable-protocol=crypto --enable-filter=aresample --enable-filter=asetnsamples --enable-muxer=mp4 --enable-muxer=matroska --enable-demuxer=matroska --enable-demuxer=aac +--enable-demuxer=hls +--enable-muxer=hls --enable-parser=aac --enable-decoder=aac +--enable-decoder=h264 --enable-parser=h264 --enable-bsf=h264_metadata --enable-bsf=extract_extradata diff --git a/dist/libav-6.5.7.1-h264-aac-mp3.mjs b/dist/libav-6.5.7.1-h264-aac-mp3.mjs index c8f0e4e..d7eda3c 100644 --- a/dist/libav-6.5.7.1-h264-aac-mp3.mjs +++ b/dist/libav-6.5.7.1-h264-aac-mp3.mjs @@ -1 +1 @@ -const libav={};(function(){function isWebAssemblySupported(module){module=module||[0,97,115,109,1,0,0,0];if(typeof WebAssembly!=="object"||typeof WebAssembly.instantiate!=="function")return false;try{var module=new WebAssembly.Module(new Uint8Array(module));if(module instanceof WebAssembly.Module)return new WebAssembly.Instance(module)instanceof WebAssembly.Instance}catch(e){}return false}function isThreadingSupported(){try{var mem=new WebAssembly.Memory({initial:1,maximum:1,shared:true});if(!(mem.buffer instanceof SharedArrayBuffer))return false;return true}catch(e){}return false}var nodejs=typeof process!=="undefined";if(!libav.base){libav.base=import.meta.url;libav.base=libav.base.replace(/\/[^\/]*$/,"")}libav.isWebAssemblySupported=isWebAssemblySupported;libav.isThreadingSupported=isThreadingSupported;function target(opts){opts=opts||{};var wasm=!opts.nowasm&&isWebAssemblySupported();var thr=opts.yesthreads&&wasm&&!opts.nothreads&&isThreadingSupported();if(!wasm)return"asm";else if(thr)return"thr";else return"wasm"}libav.target=target;libav.VER="6.5.7.1";libav.CONFIG="h264-aac-mp3";libav.DBG="";libav.factories={};var libavStatics={};libavStatics.i64tof64=function(lo,hi){if(!hi&&lo>=0)return lo;if(hi===-1&&lo<0)return lo;return hi*4294967296+lo+(lo<0?4294967296:0)};libavStatics.f64toi64=function(val){return[~~val,Math.floor(val/4294967296)]};libavStatics.i64ToBigInt=function(lo,hi){var dv=new DataView(new ArrayBuffer(8));dv.setInt32(0,lo,true);dv.setInt32(4,hi,true);return dv.getBigInt64(0,true)};libavStatics.bigIntToi64=function(val){var dv=new DataView(new ArrayBuffer(8));dv.setBigInt64(0,val,true);return[dv.getInt32(0,true),dv.getInt32(4,true)]};libavStatics.ff_channel_layout=function(frame){if(frame.channel_layout)return frame.channel_layout;else if(frame.channels&&frame.channels!==1)return(1<>=1}return channels}else{return 1}};function enume(vals,first){if(typeof first===undefined)first=0;var i=first;vals.forEach((function(val){libavStatics[val]=i++}))}libavStatics.AV_TIME_BASE=1e6;libavStatics.AV_OPT_SEARCH_CHILDREN=1;enume(["AVMEDIA_TYPE_UNKNOWN","AVMEDIA_TYPE_VIDEO","AVMEDIA_TYPE_AUDIO","AVMEDIA_TYPE_DATA","AVMEDIA_TYPE_SUBTITLE","AVMEDIA_TYPE_ATTACHMENT"],-1);enume(["AV_SAMPLE_FMT_NONE","AV_SAMPLE_FMT_U8","AV_SAMPLE_FMT_S16","AV_SAMPLE_FMT_S32","AV_SAMPLE_FMT_FLT","AV_SAMPLE_FMT_DBL","AV_SAMPLE_FMT_U8P","AV_SAMPLE_FMT_S16P","AV_SAMPLE_FMT_S32P","AV_SAMPLE_FMT_FLTP","AV_SAMPLE_FMT_DBLP","AV_SAMPLE_FMT_S64","AV_SAMPLE_FMT_S64P","AV_SAMPLE_FMT_NB"],-1);enume(["AV_PIX_FMT_NONE","AV_PIX_FMT_YUV420P","AV_PIX_FMT_YUYV422","AV_PIX_FMT_RGB24","AV_PIX_FMT_BGR24","AV_PIX_FMT_YUV422P","AV_PIX_FMT_YUV444P","AV_PIX_FMT_YUV410P","AV_PIX_FMT_YUV411P","AV_PIX_FMT_GRAY8","AV_PIX_FMT_MONOWHITE","AV_PIX_FMT_MONOBLACK","AV_PIX_FMT_PAL8","AV_PIX_FMT_YUVJ420P","AV_PIX_FMT_YUVJ422P","AV_PIX_FMT_YUVJ444P","AV_PIX_FMT_UYVY422","AV_PIX_FMT_UYYVYY411","AV_PIX_FMT_BGR8","AV_PIX_FMT_BGR4","AV_PIX_FMT_BGR4_BYTE","AV_PIX_FMT_RGB8","AV_PIX_FMT_RGB4","AV_PIX_FMT_RGB4_BYTE","AV_PIX_FMT_NV12","AV_PIX_FMT_NV21","AV_PIX_FMT_ARGB","AV_PIX_FMT_RGBA","AV_PIX_FMT_ABGR","AV_PIX_FMT_BGRA","AV_PIX_FMT_GRAY16BE","AV_PIX_FMT_GRAY16LE","AV_PIX_FMT_YUV440P","AV_PIX_FMT_YUVJ440P","AV_PIX_FMT_YUVA420P","AV_PIX_FMT_RGB48BE","AV_PIX_FMT_RGB48LE","AV_PIX_FMT_RGB565BE","AV_PIX_FMT_RGB565LE","AV_PIX_FMT_RGB555BE","AV_PIX_FMT_RGB555LE","AV_PIX_FMT_BGR565BE","AV_PIX_FMT_BGR565LE","AV_PIX_FMT_BGR555BE","AV_PIX_FMT_BGR555LE"],-1);libavStatics.AVIO_FLAG_READ=1;libavStatics.AVIO_FLAG_WRITE=2;libavStatics.AVIO_FLAG_READ_WRITE=3;libavStatics.AVIO_FLAG_NONBLOCK=8;libavStatics.AVIO_FLAG_DIRECT=32768;libavStatics.AVFMT_FLAG_NOBUFFER=64;libavStatics.AVFMT_FLAG_FLUSH_PACKETS=512;libavStatics.AVSEEK_FLAG_BACKWARD=1;libavStatics.AVSEEK_FLAG_BYTE=2;libavStatics.AVSEEK_FLAG_ANY=4;libavStatics.AVSEEK_FLAG_FRAME=8;libavStatics.AVDISCARD_NONE=-16;libavStatics.AVDISCARD_DEFAULT=0;libavStatics.AVDISCARD_NONREF=8;libavStatics.AVDISCARD_BIDIR=16;libavStatics.AVDISCARD_NONINTRA=24;libavStatics.AVDISCARD_NONKEY=32;libavStatics.AVDISCARD_ALL=48;libavStatics.AV_LOG_QUIET=-8;libavStatics.AV_LOG_PANIC=0;libavStatics.AV_LOG_FATAL=8;libavStatics.AV_LOG_ERROR=16;libavStatics.AV_LOG_WARNING=24;libavStatics.AV_LOG_INFO=32;libavStatics.AV_LOG_VERBOSE=40;libavStatics.AV_LOG_DEBUG=48;libavStatics.AV_LOG_TRACE=56;libavStatics.AV_PKT_FLAG_KEY=1;libavStatics.AV_PKT_FLAG_CORRUPT=2;libavStatics.AV_PKT_FLAG_DISCARD=4;libavStatics.AV_PKT_FLAG_TRUSTED=8;libavStatics.AV_PKT_FLAG_DISPOSABLE=16;enume(["E2BIG","EPERM","EADDRINUSE","EADDRNOTAVAIL","EAFNOSUPPORT","EAGAIN","EALREADY","EBADF","EBADMSG","EBUSY","ECANCELED","ECHILD","ECONNABORTED","ECONNREFUSED","ECONNRESET","EDEADLOCK","EDESTADDRREQ","EDOM","EDQUOT","EEXIST","EFAULT","EFBIG","EHOSTUNREACH","EIDRM","EILSEQ","EINPROGRESS","EINTR","EINVAL","EIO","EISCONN","EISDIR","ELOOP","EMFILE","EMLINK","EMSGSIZE","EMULTIHOP","ENAMETOOLONG","ENETDOWN","ENETRESET","ENETUNREACH","ENFILE","ENOBUFS","ENODEV","ENOENT"],1);libavStatics.AVERROR_EOF=-541478725;Object.assign(libav,libavStatics);libav.LibAV=function(opts){opts=opts||{};var base=opts.base||libav.base;var t=target(opts);var variant="h264-aac-mp3";if(t==="asm"){variant=opts.variant||libav.variant||"h264-aac-mp3"}var useES6=true;if(useES6&&(opts.noes6||libav.noes6))useES6=false;var toImport=opts.toImport||libav.toImport||base+"/libav-6.5.7.1-"+variant+"."+t+"."+(useES6?"mjs":"js");var ret;var mode="direct";if(t==="thr")mode="threads";else if(!nodejs&&!opts.noworker&&typeof Worker!=="undefined")mode="worker";return Promise.all([]).then((function(){if(opts.factory||libav.factory)return opts.factory||libav.factory;if(libav.factories[toImport])return libav.factories[toImport];if(mode==="worker"){}else if(useES6){return import(toImport).then((function(laf){libav.factories[toImport]=laf.default;return laf.default}))}else if(nodejs){return libav.factories[toImport]=require(toImport)}else if(typeof importScripts!=="undefined"){importScripts(toImport);return libav.factories[toImport]=LibAVFactory}else{return new Promise((function(res,rej){var scr=document.createElement("script");scr.src=toImport;scr.addEventListener("load",res);scr.addEventListener("error",rej);scr.async=true;document.body.appendChild(scr)})).then((function(){return libav.factories[toImport]=LibAVFactory}))}})).then((function(factory){if(mode==="worker"){ret={};ret.worker=new Worker(toImport,{type:useES6?"module":"classic"});ret.worker.postMessage({config:{variant:opts.variant||libav.variant,wasmurl:opts.wasmurl||libav.wasmurl}});return new Promise((function(res,rej){ret.on=1;ret.handlers={onready:[function(){res()},null],onwrite:[function(args){if(ret.onwrite)ret.onwrite.apply(ret,args)},null],onread:[function(args){try{var rr=null;if(ret.onread)rr=ret.onread.apply(ret,args);if(rr&&rr.then&&rr.catch){rr.catch((function(ex){ret.ff_reader_dev_send(args[0],null,{error:ex})}))}}catch(ex){ret.ff_reader_dev_send(args[0],null,{error:ex})}},null],onblockread:[function(args){try{var brr=null;if(ret.onblockread)brr=ret.onblockread.apply(ret,args);if(brr&&brr.then&&brr.catch){brr.catch((function(ex){ret.ff_block_reader_dev_send(args[0],args[1],null,{error:ex})}))}}catch(ex){ret.ff_block_reader_dev_send(args[0],args[1],null,{error:ex})}},null]};ret.c=function(){var msg=Array.prototype.slice.call(arguments);var transfer=[];for(var i=0;i=0)return lo;if(hi===-1&&lo<0)return lo;return hi*4294967296+lo+(lo<0?4294967296:0)};libavStatics.f64toi64=function(val){return[~~val,Math.floor(val/4294967296)]};libavStatics.i64ToBigInt=function(lo,hi){var dv=new DataView(new ArrayBuffer(8));dv.setInt32(0,lo,true);dv.setInt32(4,hi,true);return dv.getBigInt64(0,true)};libavStatics.bigIntToi64=function(val){var dv=new DataView(new ArrayBuffer(8));dv.setBigInt64(0,val,true);return[dv.getInt32(0,true),dv.getInt32(4,true)]};libavStatics.ff_channel_layout=function(frame){if(frame.channel_layout)return frame.channel_layout;else if(frame.channels&&frame.channels!==1)return(1<>=1}return channels}else{return 1}};function enume(vals,first){if(typeof first===undefined)first=0;var i=first;vals.forEach((function(val){libavStatics[val]=i++}))}libavStatics.AV_TIME_BASE=1e6;libavStatics.AV_OPT_SEARCH_CHILDREN=1;enume(["AVMEDIA_TYPE_UNKNOWN","AVMEDIA_TYPE_VIDEO","AVMEDIA_TYPE_AUDIO","AVMEDIA_TYPE_DATA","AVMEDIA_TYPE_SUBTITLE","AVMEDIA_TYPE_ATTACHMENT"],-1);enume(["AV_SAMPLE_FMT_NONE","AV_SAMPLE_FMT_U8","AV_SAMPLE_FMT_S16","AV_SAMPLE_FMT_S32","AV_SAMPLE_FMT_FLT","AV_SAMPLE_FMT_DBL","AV_SAMPLE_FMT_U8P","AV_SAMPLE_FMT_S16P","AV_SAMPLE_FMT_S32P","AV_SAMPLE_FMT_FLTP","AV_SAMPLE_FMT_DBLP","AV_SAMPLE_FMT_S64","AV_SAMPLE_FMT_S64P","AV_SAMPLE_FMT_NB"],-1);enume(["AV_PIX_FMT_NONE","AV_PIX_FMT_YUV420P","AV_PIX_FMT_YUYV422","AV_PIX_FMT_RGB24","AV_PIX_FMT_BGR24","AV_PIX_FMT_YUV422P","AV_PIX_FMT_YUV444P","AV_PIX_FMT_YUV410P","AV_PIX_FMT_YUV411P","AV_PIX_FMT_GRAY8","AV_PIX_FMT_MONOWHITE","AV_PIX_FMT_MONOBLACK","AV_PIX_FMT_PAL8","AV_PIX_FMT_YUVJ420P","AV_PIX_FMT_YUVJ422P","AV_PIX_FMT_YUVJ444P","AV_PIX_FMT_UYVY422","AV_PIX_FMT_UYYVYY411","AV_PIX_FMT_BGR8","AV_PIX_FMT_BGR4","AV_PIX_FMT_BGR4_BYTE","AV_PIX_FMT_RGB8","AV_PIX_FMT_RGB4","AV_PIX_FMT_RGB4_BYTE","AV_PIX_FMT_NV12","AV_PIX_FMT_NV21","AV_PIX_FMT_ARGB","AV_PIX_FMT_RGBA","AV_PIX_FMT_ABGR","AV_PIX_FMT_BGRA","AV_PIX_FMT_GRAY16BE","AV_PIX_FMT_GRAY16LE","AV_PIX_FMT_YUV440P","AV_PIX_FMT_YUVJ440P","AV_PIX_FMT_YUVA420P","AV_PIX_FMT_RGB48BE","AV_PIX_FMT_RGB48LE","AV_PIX_FMT_RGB565BE","AV_PIX_FMT_RGB565LE","AV_PIX_FMT_RGB555BE","AV_PIX_FMT_RGB555LE","AV_PIX_FMT_BGR565BE","AV_PIX_FMT_BGR565LE","AV_PIX_FMT_BGR555BE","AV_PIX_FMT_BGR555LE"],-1);libavStatics.AVIO_FLAG_READ=1;libavStatics.AVIO_FLAG_WRITE=2;libavStatics.AVIO_FLAG_READ_WRITE=3;libavStatics.AVIO_FLAG_NONBLOCK=8;libavStatics.AVIO_FLAG_DIRECT=32768;libavStatics.AVFMT_FLAG_NOBUFFER=64;libavStatics.AVFMT_FLAG_FLUSH_PACKETS=512;libavStatics.AVSEEK_FLAG_BACKWARD=1;libavStatics.AVSEEK_FLAG_BYTE=2;libavStatics.AVSEEK_FLAG_ANY=4;libavStatics.AVSEEK_FLAG_FRAME=8;libavStatics.AVDISCARD_NONE=-16;libavStatics.AVDISCARD_DEFAULT=0;libavStatics.AVDISCARD_NONREF=8;libavStatics.AVDISCARD_BIDIR=16;libavStatics.AVDISCARD_NONINTRA=24;libavStatics.AVDISCARD_NONKEY=32;libavStatics.AVDISCARD_ALL=48;libavStatics.AV_LOG_QUIET=-8;libavStatics.AV_LOG_PANIC=0;libavStatics.AV_LOG_FATAL=8;libavStatics.AV_LOG_ERROR=16;libavStatics.AV_LOG_WARNING=24;libavStatics.AV_LOG_INFO=32;libavStatics.AV_LOG_VERBOSE=40;libavStatics.AV_LOG_DEBUG=48;libavStatics.AV_LOG_TRACE=56;libavStatics.AV_PKT_FLAG_KEY=1;libavStatics.AV_PKT_FLAG_CORRUPT=2;libavStatics.AV_PKT_FLAG_DISCARD=4;libavStatics.AV_PKT_FLAG_TRUSTED=8;libavStatics.AV_PKT_FLAG_DISPOSABLE=16;enume(["E2BIG","EPERM","EADDRINUSE","EADDRNOTAVAIL","EAFNOSUPPORT","EAGAIN","EALREADY","EBADF","EBADMSG","EBUSY","ECANCELED","ECHILD","ECONNABORTED","ECONNREFUSED","ECONNRESET","EDEADLOCK","EDESTADDRREQ","EDOM","EDQUOT","EEXIST","EFAULT","EFBIG","EHOSTUNREACH","EIDRM","EILSEQ","EINPROGRESS","EINTR","EINVAL","EIO","EISCONN","EISDIR","ELOOP","EMFILE","EMLINK","EMSGSIZE","EMULTIHOP","ENAMETOOLONG","ENETDOWN","ENETRESET","ENETUNREACH","ENFILE","ENOBUFS","ENODEV","ENOENT"],1);libavStatics.AVERROR_EOF=-541478725;Object.assign(libav,libavStatics);libav.LibAV=function(opts){opts=opts||{};var base=opts.base||libav.base;var t=target(opts);var variant="h264-aac-mp3";if(t==="asm"){variant=opts.variant||libav.variant||"h264-aac-mp3"}var useES6=true;if(useES6&&(opts.noes6||libav.noes6))useES6=false;var toImport=opts.toImport||libav.toImport||base+"/libav-6.5.7.1-"+variant+"."+t+"."+(useES6?"mjs":"js");var ret;var mode="direct";if(t==="thr")mode="threads";else if(!nodejs&&!opts.noworker&&typeof Worker!=="undefined")mode="worker";return Promise.all([]).then((function(){if(opts.factory||libav.factory)return opts.factory||libav.factory;if(libav.factories[toImport])return libav.factories[toImport];if(mode==="worker"){}else if(useES6){return import(toImport).then((function(laf){libav.factories[toImport]=laf.default;return laf.default}))}else if(nodejs){return libav.factories[toImport]=require(toImport)}else if(typeof importScripts!=="undefined"){importScripts(toImport);return libav.factories[toImport]=LibAVFactory}else{return new Promise((function(res,rej){var scr=document.createElement("script");scr.src=toImport;scr.addEventListener("load",res);scr.addEventListener("error",rej);scr.async=true;document.body.appendChild(scr)})).then((function(){return libav.factories[toImport]=LibAVFactory}))}})).then((function(factory){if(mode==="worker"){ret={};ret.worker=new Worker(toImport,{type:useES6?"module":"classic"});ret.worker.postMessage({config:{variant:opts.variant||libav.variant,wasmurl:opts.wasmurl||libav.wasmurl}});return new Promise((function(res,rej){ret.on=1;ret.handlers={onready:[function(){res()},null],onwrite:[function(args){if(ret.onwrite)ret.onwrite.apply(ret,args)},null],onread:[function(args){try{var rr=null;if(ret.onread)rr=ret.onread.apply(ret,args);if(rr&&rr.then&&rr.catch){rr.catch((function(ex){ret.ff_reader_dev_send(args[0],null,{error:ex})}))}}catch(ex){ret.ff_reader_dev_send(args[0],null,{error:ex})}},null],onblockread:[function(args){try{var brr=null;if(ret.onblockread)brr=ret.onblockread.apply(ret,args);if(brr&&brr.then&&brr.catch){brr.catch((function(ex){ret.ff_block_reader_dev_send(args[0],args[1],null,{error:ex})}))}}catch(ex){ret.ff_block_reader_dev_send(args[0],args[1],null,{error:ex})}},null]};ret.c=function(){var msg=Array.prototype.slice.call(arguments);var transfer=[];for(var i=0;i { var _scriptName = import.meta.url; @@ -665,7 +666,7 @@ var LibAVFactory = (() => { async function(moduleArg = {}) { var moduleRtn; -var Module=moduleArg;var readyPromiseResolve,readyPromiseReject;var readyPromise=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof WorkerGlobalScope!="undefined";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string"&&process.type!="renderer";if(ENVIRONMENT_IS_NODE){const{createRequire}=await import("module");var require=createRequire(import.meta.url)}let _scriptName;if(typeof _scriptName==="undefined"){if(typeof LibAV==="object"&&LibAV&&LibAV.base)_scriptName=LibAV.base+"/libav-6.5.7.1-h264-aac-mp3.wasm.mjs";else if(typeof self==="object"&&self&&self.location)_scriptName=self.location.href}Module.printErr=console.log.bind(console);Module.locateFile=function(path,prefix){if(path.lastIndexOf(".wasm")===path.length-5&&path.indexOf("libav-")!==-1){if(Module.wasmurl)return Module.wasmurl;if(Module.variant)return prefix+"libav-6.5.7.1-"+Module.variant+".wasm.wasm"}return prefix+path};var moduleOverrides={...Module};var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=require("fs");var nodePath=require("path");if(!import.meta.url.startsWith("data:")){scriptDirectory=nodePath.dirname(require("url").fileURLToPath(import.meta.url))+"/"}readBinary=filename=>{filename=isFileURI(filename)?new URL(filename):filename;var ret=fs.readFileSync(filename);return ret};readAsync=async(filename,binary=true)=>{filename=isFileURI(filename)?new URL(filename):filename;var ret=fs.readFileSync(filename,binary?undefined:"utf8");return ret};if(!Module["thisProgram"]&&process.argv.length>1){thisProgram=process.argv[1].replace(/\\/g,"/")}arguments_=process.argv.slice(2);quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptName){scriptDirectory=_scriptName}if(scriptDirectory.startsWith("blob:")){scriptDirectory=""}else{scriptDirectory=scriptDirectory.slice(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}{if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=async url=>{if(isFileURI(url)){return new Promise((resolve,reject)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){resolve(xhr.response);return}reject(xhr.status)};xhr.onerror=reject;xhr.send(null)})}var response=await fetch(url,{credentials:"same-origin"});if(response.ok){return response.arrayBuffer()}throw new Error(response.status+" : "+response.url)}}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];var wasmBinary=Module["wasmBinary"];var wasmMemory;var ABORT=false;var EXITSTATUS;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAP64,HEAPU64,HEAPF64;var runtimeInitialized=false;var isFileURI=filename=>filename.startsWith("file://");function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b);Module["HEAP64"]=HEAP64=new BigInt64Array(b);Module["HEAPU64"]=HEAPU64=new BigUint64Array(b)}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(onPreRuns)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.initialized)FS.init();TTY.init();wasmExports["da"]();FS.ignorePermissions=false}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(onPostRuns)}var runDependencies=0;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;Module["monitorRunDependencies"]?.(runDependencies)}function removeRunDependency(id){runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(runDependencies==0){if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var wasmBinaryFile;function findWasmBinary(){if(Module["locateFile"]){return locateFile("libav-6.5.7.1-h264-aac-mp3.wasm.wasm")}return new URL("libav-6.5.7.1-h264-aac-mp3.wasm.wasm",import.meta.url).href}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}async function getWasmBinary(binaryFile){if(!wasmBinary){try{var response=await readAsync(binaryFile);return new Uint8Array(response)}catch{}}return getBinarySync(binaryFile)}async function instantiateArrayBuffer(binaryFile,imports){try{var binary=await getWasmBinary(binaryFile);var instance=await WebAssembly.instantiate(binary,imports);return instance}catch(reason){err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)}}async function instantiateAsync(binary,binaryFile,imports){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isFileURI(binaryFile)&&!ENVIRONMENT_IS_NODE){try{var response=fetch(binaryFile,{credentials:"same-origin"});var instantiationResult=await WebAssembly.instantiateStreaming(response,imports);return instantiationResult}catch(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation")}}return instantiateArrayBuffer(binaryFile,imports)}function getWasmImports(){return{a:wasmImports}}async function createWasm(){function receiveInstance(instance,module){wasmExports=instance.exports;wasmExports=Asyncify.instrumentWasmExports(wasmExports);wasmMemory=wasmExports["ca"];updateMemoryViews();wasmTable=wasmExports["Lf"];removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){return receiveInstance(result["instance"])}var info=getWasmImports();if(Module["instantiateWasm"]){return new Promise((resolve,reject)=>{Module["instantiateWasm"](info,(mod,inst)=>{receiveInstance(mod,inst);resolve(mod.exports)})})}wasmBinaryFile??=findWasmBinary();try{var result=await instantiateAsync(wasmBinary,wasmBinaryFile,info);var exports=receiveInstantiationResult(result);return exports}catch(e){readyPromiseReject(e);return Promise.reject(e)}}class ExitStatus{name="ExitStatus";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var onPostRuns=[];var addOnPostRun=cb=>onPostRuns.unshift(cb);var onPreRuns=[];var addOnPreRun=cb=>onPreRuns.unshift(cb);var noExitRuntime=Module["noExitRuntime"]||true;var stackRestore=val=>__emscripten_stack_restore(val);var stackSave=()=>_emscripten_stack_get_current();var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder:undefined;var UTF8ArrayToString=(heapOrArray,idx=0,maxBytesToRead=NaN)=>{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str};var UTF8ToString=(ptr,maxBytesToRead)=>ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):"";var ___assert_fail=(condition,filename,line,func)=>abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"]);var PATH={isAbs:path=>path.charAt(0)==="/",splitPath:filename=>{var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(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:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.slice(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(p=>!!p),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.slice(0,-1)}return root+dir},basename:path=>path&&path.match(/([^\/]+|\/)\/*$/)[1],join:(...paths)=>PATH.normalize(paths.join("/")),join2:(l,r)=>PATH.normalize(l+"/"+r)};var initRandomFill=()=>{if(ENVIRONMENT_IS_NODE){var nodeCrypto=require("crypto");return view=>nodeCrypto.randomFillSync(view)}return view=>crypto.getRandomValues(view)};var randomFill=view=>{(randomFill=initRandomFill())(view)};var PATH_FS={resolve:(...args)=>{var resolvedPath="",resolvedAbsolute=false;for(var i=args.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?args[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.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).slice(1);to=PATH_FS.resolve(to).slice(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;i{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,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;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(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;return outIdx-startIdx};var 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};var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=Buffer.alloc(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;try{bytesRead=fs.readSync(fd,buf,0,BUFSIZE)}catch(e){if(e.toString().includes("EOF"))bytesRead=0;else throw e}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else{}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output));tty.output=[]}},ioctl_tcgets(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output?.length>0){err(UTF8ArrayToString(tty.output));tty.output=[]}}}};var mmapAlloc=size=>{abort()};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,"/",16895,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}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,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.atime=node.mtime=node.ctime=Date.now();if(parent){parent.contents[name]=node;parent.atime=parent.mtime=parent.ctime=node.atime}return node},getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.atime);attr.mtime=new Date(node.mtime);attr.ctime=new Date(node.ctime);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){for(const key of["mode","atime","mtime","ctime"]){if(attr[key]!=null){node[key]=attr[key]}}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){throw MEMFS.doesNotExistError},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){if(FS.isDir(old_node.mode)){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}FS.hashRemoveNode(new_node)}delete old_node.parent.contents[old_node.name];new_dir.contents[new_name]=old_node;old_node.name=new_name;new_dir.ctime=new_dir.mtime=old_node.parent.ctime=old_node.parent.mtime=Date.now()},unlink(parent,name){delete parent.contents[name];parent.ctime=parent.mtime=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.ctime=parent.mtime=Date.now()},readdir(node){return[".","..",...Object.keys(node.contents)]},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=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+length{var arrayBuffer=await readAsync(url);return new Uint8Array(arrayBuffer)};asyncLoad.isAsync=true;var FS_createDataFile=(parent,name,fileData,canRead,canWrite,canOwn)=>{FS.createDataFile(parent,name,fileData,canRead,canWrite,canOwn)};var preloadPlugins=Module["preloadPlugins"]||[];var FS_handledByPreloadPlugin=(byteArray,fullname,finish,onerror)=>{if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(plugin=>{if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}onload?.();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url).then(processData,onerror)}else{processData(url)}};var FS_modeStringToFlags=str=>{var flagModes={r:0,"r+":2,w:512|64|1,"w+":512|64|2,a:1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,filesystems:null,syncFSRequests:0,readFiles:{},ErrnoError:class{name="ErrnoError";constructor(errno){this.errno=errno}},FSStream:class{shared={};get object(){return this.node}set object(val){this.node=val}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(val){this.shared.flags=val}get position(){return this.shared.position}set position(val){this.shared.position=val}},FSNode:class{node_ops={};stream_ops={};readMode=292|73;writeMode=146;mounted=null;constructor(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.rdev=rdev;this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.readMode}set read(val){val?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(val){val?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return FS.isDir(this.mode)}get isDevice(){return FS.isChrdev(this.mode)}},lookupPath(path,opts={}){if(!path){throw new FS.ErrnoError(44)}opts.follow_mount??=true;if(!PATH.isAbs(path)){path=FS.cwd()+"/"+path}linkloop:for(var nlinks=0;nlinks<40;nlinks++){var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i>>0)%FS.nameTable.length},hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode(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(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode)}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(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode(node){FS.hashRemoveNode(node)},isRoot(node){return node===node.parent},isMountpoint(node){return!!node.mounted},isFile(mode){return(mode&61440)===32768},isDir(mode){return(mode&61440)===16384},isLink(mode){return(mode&61440)===40960},isChrdev(mode){return(mode&61440)===8192},isBlkdev(mode){return(mode&61440)===24576},isFIFO(mode){return(mode&61440)===4096},isSocket(mode){return(mode&49152)===49152},flagsToPermissionString(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions(node,perms){if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup(dir){if(!FS.isDir(dir.mode))return 54;var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate(dir,name){if(!FS.isDir(dir.mode)){return 54}try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&(512|64)){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},checkOpExists(op,err){if(!op){throw new FS.ErrnoError(err)}return op},MAX_OPEN_FDS:4096,nextfd(){for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked(fd){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream(stream,fd=-1){stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream(fd){FS.streams[fd]=null},dupStream(origStream,fd=-1){var stream=FS.createStream(origStream,fd);stream.stream_ops?.dup?.(stream);return stream},doSetAttr(stream,node,attr){var setattr=stream?.stream_ops.setattr;var arg=setattr?stream:node;setattr??=node.node_ops.setattr;FS.checkOpExists(setattr,63);setattr(arg,attr)},chrdev_stream_ops:{open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;stream.stream_ops.open?.(stream)},llseek(){throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push(...m.mounts)}return mounts},syncfs(populate,callback){if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`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(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}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(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type,opts,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(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(hash=>{var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup(parent,name){return parent.node_ops.lookup(parent,name)},mknod(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name){throw new FS.ErrnoError(28)}if(name==="."||name===".."){throw new FS.ErrnoError(20)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},statfs(path){return FS.statfsNode(FS.lookupPath(path,{follow:true}).node)},statfsStream(stream){return FS.statfsNode(stream.node)},statfsNode(node){var rtn={bsize:4096,frsize:4096,blocks:1e6,bfree:5e5,bavail:5e5,files:FS.nextInode,ffree:FS.nextInode-1,fsid:42,flags:2,namelen:255};if(node.node_ops.statfs){Object.assign(rtn,node.node_ops.statfs(node.mount.opts.root))}return rtn},create(path,mode=438){mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir(path,mode=511){mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree(path,mode){var dirs=path.split("/");var d="";for(var dir of dirs){if(!dir)continue;if(d||PATH.isAbs(path))d+="/";d+=dir;try{FS.mkdir(d,mode)}catch(e){if(e.errno!=20)throw e}}},mkdev(path,mode,dev){if(typeof dev=="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)},symlink(oldpath,newpath){if(!PATH_FS.resolve(oldpath)){throw new FS.ErrnoError(44)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var newname=PATH.basename(newpath);var errCode=FS.mayCreate(parent,newname);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(63)}return parent.node_ops.symlink(parent,newname,oldpath)},rename(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node;if(!old_dir||!new_dir)throw new FS.ErrnoError(44);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(75)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH_FS.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(28)}relative=PATH_FS.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(55)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var errCode=FS.mayDelete(old_dir,old_name,isdir);if(errCode){throw new FS.ErrnoError(errCode)}errCode=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(errCode){throw new FS.ErrnoError(errCode)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(63)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(10)}if(new_dir!==old_dir){errCode=FS.nodePermissions(old_dir,"w");if(errCode){throw new FS.ErrnoError(errCode)}}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name);old_node.parent=new_dir}catch(e){throw e}finally{FS.hashAddNode(old_node)}},rmdir(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,true);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node)},readdir(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;var readdir=FS.checkOpExists(node.node_ops.readdir,54);return readdir(node)},unlink(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,false);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.unlink(parent,name);FS.destroyNode(node)},readlink(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(44)}if(!link.node_ops.readlink){throw new FS.ErrnoError(28)}return link.node_ops.readlink(link)},stat(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;var getattr=FS.checkOpExists(node.node_ops.getattr,63);return getattr(node)},fstat(fd){var stream=FS.getStreamChecked(fd);var node=stream.node;var getattr=stream.stream_ops.getattr;var arg=getattr?stream:node;getattr??=node.node_ops.getattr;FS.checkOpExists(getattr,63);return getattr(arg)},lstat(path){return FS.stat(path,true)},doChmod(stream,node,mode,dontFollow){FS.doSetAttr(stream,node,{mode:mode&4095|node.mode&~4095,ctime:Date.now(),dontFollow})},chmod(path,mode,dontFollow){var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}FS.doChmod(null,node,mode,dontFollow)},lchmod(path,mode){FS.chmod(path,mode,true)},fchmod(fd,mode){var stream=FS.getStreamChecked(fd);FS.doChmod(stream,stream.node,mode,false)},doChown(stream,node,dontFollow){FS.doSetAttr(stream,node,{timestamp:Date.now(),dontFollow})},chown(path,uid,gid,dontFollow){var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}FS.doChown(null,node,dontFollow)},lchown(path,uid,gid){FS.chown(path,uid,gid,true)},fchown(fd,uid,gid){var stream=FS.getStreamChecked(fd);FS.doChown(stream,stream.node,false)},doTruncate(stream,node,len){if(FS.isDir(node.mode)){throw new FS.ErrnoError(31)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(28)}var errCode=FS.nodePermissions(node,"w");if(errCode){throw new FS.ErrnoError(errCode)}FS.doSetAttr(stream,node,{size:len,timestamp:Date.now()})},truncate(path,len){if(len<0){throw new FS.ErrnoError(28)}var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}FS.doTruncate(null,node,len)},ftruncate(fd,len){var stream=FS.getStreamChecked(fd);if(len<0||(stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.doTruncate(stream,stream.node,len)},utime(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;var setattr=FS.checkOpExists(node.node_ops.setattr,63);setattr(node,{atime,mtime})},open(path,flags,mode=438){if(path===""){throw new FS.ErrnoError(44)}flags=typeof flags=="string"?FS_modeStringToFlags(flags):flags;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;var isDirPath;if(typeof path=="object"){node=path}else{isDirPath=path.endsWith("/");var lookup=FS.lookupPath(path,{follow:!(flags&131072),noent_okay:true});node=lookup.node;path=lookup.path}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else if(isDirPath){throw new FS.ErrnoError(31)}else{node=FS.mknod(path,mode|511,0);created=true}}if(!node){throw new FS.ErrnoError(44)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}if(!created){var errCode=FS.mayOpen(node,flags);if(errCode){throw new FS.ErrnoError(errCode)}}if(flags&512&&!created){FS.truncate(node,0)}flags&=~(128|512|131072);var stream=FS.createStream({node,path:FS.getPath(node),flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false});if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(created){FS.chmod(node,mode&511)}if(Module["logReadFiles"]&&!(flags&1)){if(!(path in FS.readFiles)){FS.readFiles[path]=1}}return stream},close(stream){if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}stream.fd=null},isClosed(stream){return stream.fd===null},llseek(stream,offset,whence){if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(70)}if(whence!=0&&whence!=1&&whence!=2){throw new FS.ErrnoError(28)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position},read(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.read){throw new FS.ErrnoError(28)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.write){throw new FS.ErrnoError(28)}if(stream.seekable&&stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;return bytesWritten},mmap(stream,length,position,prot,flags){if((prot&2)!==0&&(flags&2)===0&&(stream.flags&2097155)!==2){throw new FS.ErrnoError(2)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(2)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(43)}if(!length){throw new FS.ErrnoError(28)}return stream.stream_ops.mmap(stream,length,position,prot,flags)},msync(stream,buffer,offset,length,mmapFlags){if(!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},ioctl(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile(path,opts={}){opts.flags=opts.flags||0;opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error(`Invalid encoding type "${opts.encoding}"`)}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret},writeFile(path,data,opts={}){opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data=="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)},cwd:()=>FS.currentPath,chdir(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length,llseek:()=>0});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var randomBuffer=new Uint8Array(1024),randomLeft=0;var randomByte=()=>{if(randomLeft===0){randomFill(randomBuffer);randomLeft=randomBuffer.byteLength}return randomBuffer[--randomLeft]};FS.createDevice("/dev","random",randomByte);FS.createDevice("/dev","urandom",randomByte);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories(){FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount(){var node=FS.createNode(proc_self,"fd",16895,73);node.stream_ops={llseek:MEMFS.stream_ops.llseek};node.node_ops={lookup(parent,name){var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path},id:fd+1};ret.parent=ret;return ret},readdir(){return Array.from(FS.streams.entries()).filter(([k,v])=>v).map(([k,v])=>k.toString())}};return node}},{},"/proc/self/fd")},createStandardStreams(input,output,error){if(input){FS.createDevice("/dev","stdin",input)}else{FS.symlink("/dev/tty","/dev/stdin")}if(output){FS.createDevice("/dev","stdout",null,output)}else{FS.symlink("/dev/tty","/dev/stdout")}if(error){FS.createDevice("/dev","stderr",null,error)}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},staticInit(){FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={MEMFS}},init(input,output,error){FS.initialized=true;input??=Module["stdin"];output??=Module["stdout"];error??=Module["stderr"];FS.createStandardStreams(input,output,error)},quit(){FS.initialized=false;for(var stream of FS.streams){if(stream){FS.close(stream)}}},findObject(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(!ret.exists){return null}return ret.object},analyzePath(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret},createPath(parent,path,canRead,canWrite){parent=typeof parent=="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){if(e.errno!=20)throw e}parent=current}return current},createFile(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent=="string"?parent:FS.getPath(parent),name);var mode=FS_getMode(canRead,canWrite);return FS.create(path,mode)},createDataFile(parent,name,data,canRead,canWrite,canOwn){var path=name;if(parent){parent=typeof parent=="string"?parent:FS.getPath(parent);path=name?PATH.join2(parent,name):parent}var mode=FS_getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data=="string"){var arr=new Array(data.length);for(var i=0,len=data.length;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]}setDataGetter(getter){this.getter=getter}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=(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);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||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(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;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true}get length(){if(!this.lengthKnown){this.cacheLength()}return this._length}get chunkSize(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}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;var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,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(key=>{var fn=node.stream_ops[key];stream_ops[key]=(...args)=>{FS.forceLoadFile(node);return fn(...args)}});function writeChunks(stream,buffer,offset,length,position){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{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr,allocated:true}};node.stream_ops=stream_ops;return node}};var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return dir+"/"+path},writeStat(buf,stat){HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=stat.mode;HEAPU32[buf+8>>2]=stat.nlink;HEAP32[buf+12>>2]=stat.uid;HEAP32[buf+16>>2]=stat.gid;HEAP32[buf+20>>2]=stat.rdev;HEAP64[buf+24>>3]=BigInt(stat.size);HEAP32[buf+32>>2]=4096;HEAP32[buf+36>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();HEAP64[buf+40>>3]=BigInt(Math.floor(atime/1e3));HEAPU32[buf+48>>2]=atime%1e3*1e3*1e3;HEAP64[buf+56>>3]=BigInt(Math.floor(mtime/1e3));HEAPU32[buf+64>>2]=mtime%1e3*1e3*1e3;HEAP64[buf+72>>3]=BigInt(Math.floor(ctime/1e3));HEAPU32[buf+80>>2]=ctime%1e3*1e3*1e3;HEAP64[buf+88>>3]=BigInt(stat.ino);return 0},writeStatFs(buf,stats){HEAP32[buf+4>>2]=stats.bsize;HEAP32[buf+40>>2]=stats.bsize;HEAP32[buf+8>>2]=stats.blocks;HEAP32[buf+12>>2]=stats.bfree;HEAP32[buf+16>>2]=stats.bavail;HEAP32[buf+20>>2]=stats.files;HEAP32[buf+24>>2]=stats.ffree;HEAP32[buf+28>>2]=stats.fsid;HEAP32[buf+44>>2]=stats.flags;HEAP32[buf+36>>2]=stats.namelen},doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream},varargs:undefined,getStr(ptr){var ret=UTF8ToString(ptr);return ret}};var ___syscall__newselect=function(nfds,readfds,writefds,exceptfds,timeout){try{var total=0;var srcReadLow=readfds?HEAP32[readfds>>2]:0,srcReadHigh=readfds?HEAP32[readfds+4>>2]:0;var srcWriteLow=writefds?HEAP32[writefds>>2]:0,srcWriteHigh=writefds?HEAP32[writefds+4>>2]:0;var srcExceptLow=exceptfds?HEAP32[exceptfds>>2]:0,srcExceptHigh=exceptfds?HEAP32[exceptfds+4>>2]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?HEAP32[readfds>>2]:0)|(writefds?HEAP32[writefds>>2]:0)|(exceptfds?HEAP32[exceptfds>>2]:0);var allHigh=(readfds?HEAP32[readfds+4>>2]:0)|(writefds?HEAP32[writefds+4>>2]:0)|(exceptfds?HEAP32[exceptfds+4>>2]:0);var check=(fd,low,high,val)=>fd<32?low&val:high&val;for(var fd=0;fd>2]:0,tv_usec=readfds?HEAP32[timeout+4>>2]:0;timeoutInMillis=(tv_sec+tv_usec/1e6)*1e3}flags=stream.stream_ops.poll(stream,timeoutInMillis)}if(flags&1&&check(fd,srcReadLow,srcReadHigh,mask)){fd<32?dstReadLow=dstReadLow|mask:dstReadHigh=dstReadHigh|mask;total++}if(flags&4&&check(fd,srcWriteLow,srcWriteHigh,mask)){fd<32?dstWriteLow=dstWriteLow|mask:dstWriteHigh=dstWriteHigh|mask;total++}if(flags&2&&check(fd,srcExceptLow,srcExceptHigh,mask)){fd<32?dstExceptLow=dstExceptLow|mask:dstExceptHigh=dstExceptHigh|mask;total++}}if(readfds){HEAP32[readfds>>2]=dstReadLow;HEAP32[readfds+4>>2]=dstReadHigh}if(writefds){HEAP32[writefds>>2]=dstWriteLow;HEAP32[writefds+4>>2]=dstWriteHigh}if(exceptfds){HEAP32[exceptfds>>2]=dstExceptLow;HEAP32[exceptfds+4>>2]=dstExceptHigh}return total}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}};function ___syscall_dup3(fd,newfd,flags){try{var old=SYSCALLS.getStreamFromFD(fd);if(old.fd===newfd)return-28;if(newfd<0||newfd>=FS.MAX_OPEN_FDS)return-8;var existing=FS.getStream(newfd);if(existing)FS.close(existing);return FS.dupStream(old,newfd).fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_faccessat(dirfd,path,amode,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(amode&~7){return-28}var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var syscallGetVarargI=()=>{var ret=HEAP32[+SYSCALLS.varargs>>2];SYSCALLS.varargs+=4;return ret};var syscallGetVarargP=syscallGetVarargI;function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=syscallGetVarargI();if(arg<0){return-28}while(FS.streams[arg]){arg++}var newStream;newStream=FS.dupStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=syscallGetVarargI();stream.flags|=arg;return 0}case 12:{var arg=syscallGetVarargP();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0}return-28}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fstat64(fd,buf){try{return SYSCALLS.writeStat(buf,FS.fstat(fd))}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);function ___syscall_getdents64(fd,dirp,count){try{var stream=SYSCALLS.getStreamFromFD(fd);stream.getdents||=FS.readdir(stream.path);var struct_size=280;var pos=0;var off=FS.llseek(stream,0,1);var startIdx=Math.floor(off/struct_size);var endIdx=Math.min(stream.getdents.length,startIdx+Math.floor(count/struct_size));for(var idx=startIdx;idx>3]=BigInt(id);HEAP64[dirp+pos+8>>3]=BigInt((idx+1)*struct_size);HEAP16[dirp+pos+16>>1]=280;HEAP8[dirp+pos+18]=type;stringToUTF8(name,dirp+pos+19,256);pos+=struct_size}FS.llseek(stream,idx*struct_size,0);return pos}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:{if(!stream.tty)return-59;return 0}case 21505:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcgets){var termios=stream.tty.ops.ioctl_tcgets(stream);var argp=syscallGetVarargP();HEAP32[argp>>2]=termios.c_iflag||0;HEAP32[argp+4>>2]=termios.c_oflag||0;HEAP32[argp+8>>2]=termios.c_cflag||0;HEAP32[argp+12>>2]=termios.c_lflag||0;for(var i=0;i<32;i++){HEAP8[argp+i+17]=termios.c_cc[i]||0}return 0}return 0}case 21510:case 21511:case 21512:{if(!stream.tty)return-59;return 0}case 21506:case 21507:case 21508:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcsets){var argp=syscallGetVarargP();var c_iflag=HEAP32[argp>>2];var c_oflag=HEAP32[argp+4>>2];var c_cflag=HEAP32[argp+8>>2];var c_lflag=HEAP32[argp+12>>2];var c_cc=[];for(var i=0;i<32;i++){c_cc.push(HEAP8[argp+i+17])}return stream.tty.ops.ioctl_tcsets(stream.tty,op,{c_iflag,c_oflag,c_cflag,c_lflag,c_cc})}return 0}case 21519:{if(!stream.tty)return-59;var argp=syscallGetVarargP();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=syscallGetVarargP();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tiocgwinsz){var winsize=stream.tty.ops.ioctl_tiocgwinsz(stream.tty);var argp=syscallGetVarargP();HEAP16[argp>>1]=winsize[0];HEAP16[argp+2>>1]=winsize[1]}return 0}case 21524:{if(!stream.tty)return-59;return 0}case 21515:{if(!stream.tty)return-59;return 0}default:return-28}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_lstat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.writeStat(buf,FS.lstat(path))}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_newfstatat(dirfd,path,buf,flags){try{path=SYSCALLS.getStr(path);var nofollow=flags&256;var allowEmpty=flags&4096;flags=flags&~6400;path=SYSCALLS.calculateAt(dirfd,path,allowEmpty);return SYSCALLS.writeStat(buf,nofollow?FS.lstat(path):FS.stat(path))}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_openat(dirfd,path,flags,varargs){SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var mode=varargs?syscallGetVarargI():0;return FS.open(path,flags,mode).fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_renameat(olddirfd,oldpath,newdirfd,newpath){try{oldpath=SYSCALLS.getStr(oldpath);newpath=SYSCALLS.getStr(newpath);oldpath=SYSCALLS.calculateAt(olddirfd,oldpath);newpath=SYSCALLS.calculateAt(newdirfd,newpath);FS.rename(oldpath,newpath);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_rmdir(path){try{path=SYSCALLS.getStr(path);FS.rmdir(path);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_stat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.writeStat(buf,FS.stat(path))}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_unlinkat(dirfd,path,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(flags===0){FS.unlink(path)}else if(flags===512){FS.rmdir(path)}else{abort("Invalid flags passed to unlinkat")}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var __abort_js=()=>abort("");var __emscripten_throw_longjmp=()=>{throw Infinity};var INT53_MAX=9007199254740992;var INT53_MIN=-9007199254740992;var bigintToI53Checked=num=>numINT53_MAX?NaN:Number(num);function __gmtime_js(time,tmPtr){time=bigintToI53Checked(time);var date=new Date(time*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();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}var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335];var MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334];var ydayFromDate=date=>{var leap=isLeapYear(date.getFullYear());var monthDaysCumulative=leap?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE;var yday=monthDaysCumulative[date.getMonth()]+date.getDate()-1;return yday};function __localtime_js(time,tmPtr){time=bigintToI53Checked(time);var date=new Date(time*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 yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst}var __mktime_js=function(tmPtr){var ret=(()=>{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(date.getFullYear(),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=ydayFromDate(date)|0;HEAP32[tmPtr+28>>2]=yday;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.getYear();var timeMs=date.getTime();if(isNaN(timeMs)){return-1}return timeMs/1e3})();return BigInt(ret)};var __tzset_js=(timezone,daylight,std_name,dst_name)=>{var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>2]=stdTimezoneOffset*60;HEAP32[daylight>>2]=Number(winterOffset!=summerOffset);var extractZone=timezoneOffset=>{var sign=timezoneOffset>=0?"-":"+";var absOffset=Math.abs(timezoneOffset);var hours=String(Math.floor(absOffset/60)).padStart(2,"0");var minutes=String(absOffset%60).padStart(2,"0");return`UTC${sign}${hours}${minutes}`};var winterName=extractZone(winterOffset);var summerName=extractZone(summerOffset);if(summerOffsetperformance.now();var _emscripten_date_now=()=>Date.now();var nowIsMonotonic=1;var checkWasiClock=clock_id=>clock_id>=0&&clock_id<=3;function _clock_time_get(clk_id,ignored_precision,ptime){ignored_precision=bigintToI53Checked(ignored_precision);if(!checkWasiClock(clk_id)){return 28}var now;if(clk_id===0){now=_emscripten_date_now()}else if(nowIsMonotonic){now=_emscripten_get_now()}else{return 52}var nsec=Math.round(now*1e3*1e3);HEAP64[ptime>>3]=BigInt(nsec);return 0}var readEmAsmArgsArray=[];var readEmAsmArgs=(sigPtr,buf)=>{readEmAsmArgsArray.length=0;var ch;while(ch=HEAPU8[sigPtr++]){var wide=ch!=105;wide&=ch!=112;buf+=wide&&buf%8?4:0;readEmAsmArgsArray.push(ch==112?HEAPU32[buf>>2]:ch==106?HEAP64[buf>>3]:ch==105?HEAP32[buf>>2]:HEAPF64[buf>>3]);buf+=wide?8:4}return readEmAsmArgsArray};var runEmAsmFunction=(code,sigPtr,argbuf)=>{var args=readEmAsmArgs(sigPtr,argbuf);return ASM_CONSTS[code](...args)};var _emscripten_asm_const_int=(code,sigPtr,argbuf)=>runEmAsmFunction(code,sigPtr,argbuf);var runAndAbortIfError=func=>{try{return func()}catch(e){abort(e)}};var handleException=e=>{if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)};var runtimeKeepaliveCounter=0;var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};var _exit=exitJS;var maybeExit=()=>{if(!keepRuntimeAlive()){try{_exit(EXITSTATUS)}catch(e){handleException(e)}}};var callUserCallback=func=>{if(ABORT){return}try{func();maybeExit()}catch(e){handleException(e)}};var runtimeKeepalivePush=()=>{runtimeKeepaliveCounter+=1};var runtimeKeepalivePop=()=>{runtimeKeepaliveCounter-=1};var Asyncify={instrumentWasmImports(imports){var importPattern=/^(libavjs_wait_reader|invoke_.*|__asyncjs__.*)$/;for(let[x,original]of Object.entries(imports)){if(typeof original=="function"){let isAsyncifyImport=original.isAsync||importPattern.test(x)}}},instrumentWasmExports(exports){var ret={};for(let[x,original]of Object.entries(exports)){if(typeof original=="function"){ret[x]=(...args)=>{Asyncify.exportCallStack.push(x);try{return original(...args)}finally{if(!ABORT){var y=Asyncify.exportCallStack.pop();Asyncify.maybeStopUnwind()}}}}else{ret[x]=original}}return ret},State:{Normal:0,Unwinding:1,Rewinding:2,Disabled:3},state:0,StackSize:4096,currData:null,handleSleepReturnValue:0,exportCallStack:[],callStackNameToId:{},callStackIdToName:{},callStackId:0,asyncPromiseHandlers:null,sleepCallbacks:[],getCallStackId(funcName){var id=Asyncify.callStackNameToId[funcName];if(id===undefined){id=Asyncify.callStackId++;Asyncify.callStackNameToId[funcName]=id;Asyncify.callStackIdToName[id]=funcName}return id},maybeStopUnwind(){if(Asyncify.currData&&Asyncify.state===Asyncify.State.Unwinding&&Asyncify.exportCallStack.length===0){Asyncify.state=Asyncify.State.Normal;runAndAbortIfError(_asyncify_stop_unwind);if(typeof Fibers!="undefined"){Fibers.trampoline()}}},whenDone(){return new Promise((resolve,reject)=>{Asyncify.asyncPromiseHandlers={resolve,reject}})},allocateData(){var ptr=_malloc(12+Asyncify.StackSize);Asyncify.setDataHeader(ptr,ptr+12,Asyncify.StackSize);Asyncify.setDataRewindFunc(ptr);return ptr},setDataHeader(ptr,stack,stackSize){HEAPU32[ptr>>2]=stack;HEAPU32[ptr+4>>2]=stack+stackSize},setDataRewindFunc(ptr){var bottomOfCallStack=Asyncify.exportCallStack[0];var rewindId=Asyncify.getCallStackId(bottomOfCallStack);HEAP32[ptr+8>>2]=rewindId},getDataRewindFuncName(ptr){var id=HEAP32[ptr+8>>2];var name=Asyncify.callStackIdToName[id];return name},getDataRewindFunc(name){var func=wasmExports[name];return func},doRewind(ptr){var name=Asyncify.getDataRewindFuncName(ptr);var func=Asyncify.getDataRewindFunc(name);return func()},handleSleep(startAsync){if(ABORT)return;if(Asyncify.state===Asyncify.State.Normal){var reachedCallback=false;var reachedAfterCallback=false;startAsync((handleSleepReturnValue=0)=>{if(ABORT)return;Asyncify.handleSleepReturnValue=handleSleepReturnValue;reachedCallback=true;if(!reachedAfterCallback){return}Asyncify.state=Asyncify.State.Rewinding;runAndAbortIfError(()=>_asyncify_start_rewind(Asyncify.currData));if(typeof MainLoop!="undefined"&&MainLoop.func){MainLoop.resume()}var asyncWasmReturnValue,isError=false;try{asyncWasmReturnValue=Asyncify.doRewind(Asyncify.currData)}catch(err){asyncWasmReturnValue=err;isError=true}var handled=false;if(!Asyncify.currData){var asyncPromiseHandlers=Asyncify.asyncPromiseHandlers;if(asyncPromiseHandlers){Asyncify.asyncPromiseHandlers=null;(isError?asyncPromiseHandlers.reject:asyncPromiseHandlers.resolve)(asyncWasmReturnValue);handled=true}}if(isError&&!handled){throw asyncWasmReturnValue}});reachedAfterCallback=true;if(!reachedCallback){Asyncify.state=Asyncify.State.Unwinding;Asyncify.currData=Asyncify.allocateData();if(typeof MainLoop!="undefined"&&MainLoop.func){MainLoop.pause()}runAndAbortIfError(()=>_asyncify_start_unwind(Asyncify.currData))}}else if(Asyncify.state===Asyncify.State.Rewinding){Asyncify.state=Asyncify.State.Normal;runAndAbortIfError(_asyncify_stop_rewind);_free(Asyncify.currData);Asyncify.currData=null;Asyncify.sleepCallbacks.forEach(callUserCallback)}else{abort(`invalid state: ${Asyncify.state}`)}return Asyncify.handleSleepReturnValue},handleAsync(startAsync){return Asyncify.handleSleep(wakeUp=>{startAsync().then(wakeUp)})}};var Fibers={nextFiber:0,trampolineRunning:false,trampoline(){if(!Fibers.trampolineRunning&&Fibers.nextFiber){Fibers.trampolineRunning=true;do{var fiber=Fibers.nextFiber;Fibers.nextFiber=0;Fibers.finishContextSwitch(fiber)}while(Fibers.nextFiber);Fibers.trampolineRunning=false}},finishContextSwitch(newFiber){var stack_base=HEAPU32[newFiber>>2];var stack_max=HEAPU32[newFiber+4>>2];_emscripten_stack_set_limits(stack_base,stack_max);stackRestore(HEAPU32[newFiber+8>>2]);var entryPoint=HEAPU32[newFiber+12>>2];if(entryPoint!==0){Asyncify.currData=null;HEAPU32[newFiber+12>>2]=0;var userData=HEAPU32[newFiber+16>>2];(a1=>dynCall_vi(entryPoint,a1))(userData)}else{var asyncifyData=newFiber+20;Asyncify.currData=asyncifyData;Asyncify.state=Asyncify.State.Rewinding;_asyncify_start_rewind(asyncifyData);Asyncify.doRewind(asyncifyData)}}};var _emscripten_fiber_swap=(oldFiber,newFiber)=>{if(ABORT)return;if(Asyncify.state===Asyncify.State.Normal){Asyncify.state=Asyncify.State.Unwinding;var asyncifyData=oldFiber+20;Asyncify.setDataRewindFunc(asyncifyData);Asyncify.currData=asyncifyData;_asyncify_start_unwind(asyncifyData);var stackTop=stackSave();HEAPU32[oldFiber+8>>2]=stackTop;Fibers.nextFiber=newFiber}else{Asyncify.state=Asyncify.State.Normal;_asyncify_stop_rewind();Asyncify.currData=null}};_emscripten_fiber_swap.isAsync=true;var getHeapMax=()=>2147483648;var _emscripten_get_heap_max=()=>getHeapMax();var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536|0;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignMemory(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var stringToAscii=(str,buffer)=>{for(var i=0;i{var bufSize=0;getEnvStrings().forEach((string,i)=>{var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;stringToAscii(string,ptr);bufSize+=string.length+1});return 0};var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(string=>bufSize+=string.length+1);HEAPU32[penviron_buf_size>>2]=bufSize;return 0};function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_fdstat_get(fd,pbuf){try{var rightsBase=0;var rightsInheriting=0;var flags=0;{var stream=SYSCALLS.getStreamFromFD(fd);var type=stream.tty?2:FS.isDir(stream.mode)?3:FS.isLink(stream.mode)?7:4}HEAP8[pbuf]=type;HEAP16[pbuf+2>>1]=flags;HEAP64[pbuf+8>>3]=BigInt(rightsBase);HEAP64[pbuf+16>>3]=BigInt(rightsInheriting);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_seek(fd,offset,whence,newOffset){offset=bigintToI53Checked(offset);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);HEAP64[newOffset>>3]=BigInt(stream.position);if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var wasmTable;var getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};var stackAlloc=sz=>__emscripten_stack_alloc(sz);var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={string:str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},array: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{var numericArgs=!argTypes||argTypes.every(type=>type==="number"||type==="boolean");var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return(...args)=>ccall(ident,returnType,argTypes,args,opts)};FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();MEMFS.doesNotExistError=new FS.ErrnoError(44);MEMFS.doesNotExistError.stack="";var ASM_CONSTS={561366:()=>{Fibers.trampolineRunning=false}};function writeoutEmscriptenOOM(){throw new Error("Out of memory")}function libavjs_wait_reader(fd){return Asyncify.handleAsync(function(){return new Promise(function(res){var name=Module.fdName(fd);var waiters=Module.ff_reader_dev_waiters[name];if(!waiters)waiters=Module.ff_reader_dev_waiters[name]=[];waiters.push(res)})})}function jsfetch_open_js(url){return Asyncify.handleAsync(function(){return Promise.all([]).then(function(){url=UTF8ToString(url);if(url.slice(0,8)==="jsfetch:")return fetch(url.slice(8));else return fetch(url)}).then(function(response){if(!Module.libavjsJSFetch)Module.libavjsJSFetch={ctr:1,fetches:{}};var jsf=Module.libavjsJSFetch;var idx=jsf.ctr++;var reader=response.body.getReader();var jsfo=jsf.fetches[idx]={url,response,reader,next:reader.read().then(function(res){jsfo.buf=res}).catch(function(rej){jsfo.rej=rej}),buf:null,rej:null};return idx}).catch(function(ex){Module.fsThrownError=ex;console.error(ex);return-11})})}function jsfetch_read_js(idx,toBuf,size){var jsfo=Module.libavjsJSFetch.fetches[idx];return Asyncify.handleAsync(function(){return Promise.all([]).then(function(){if(jsfo.buf||jsfo.rej){var fromBuf=jsfo.buf;var rej=jsfo.rej;if(fromBuf){if(fromBuf.done){return-541478725}if(fromBuf.value.length>size){Module.HEAPU8.set(fromBuf.value.subarray(0,size),toBuf);fromBuf.value=fromBuf.value.subarray(size);return size}var ret=fromBuf.value.length;Module.HEAPU8.set(fromBuf.value,toBuf);jsfo.buf=jsfo.rej=null;jsfo.next=jsfo.reader.read().then(function(res){jsfo.buf=res}).catch(function(rej){jsfo.rej=rej});return ret}Module.fsThrownError=rej;console.error(rej);return-11}return Promise.race([jsfo.next,new Promise(function(res){setTimeout(res,100)})]).then(function(){return-6})})})}function jsfetch_close_js(idx){var jsfo=Module.libavjsJSFetch.fetches[idx];if(jsfo){try{jsfo.reader.cancel()}catch(ex){}delete Module.libavjsJSFetch.fetches[idx]}}function emfiberthreads_pthread_mutex_timedwait_setTimeout(cond,thr,timeoutReached,sec,nsec){Module.HEAPU32[timeoutReached/4]=0;var wait=sec*1e3+nsec/1e6-(new Date).getTime();return setTimeout(function(){Module.HEAPU32[timeoutReached/4]=1;Module.ccall("emfiberthreads_timeout_expiry",null,["number","number"],[cond,thr])},wait)}function emfiberthreads_pthread_mutex_timedwait_clearTimeout(timeout){clearTimeout(timeout)}var wasmImports={a:___assert_fail,B:___syscall__newselect,w:___syscall_dup3,T:___syscall_faccessat,l:___syscall_fcntl64,R:___syscall_fstat64,F:___syscall_getdents64,k:___syscall_ioctl,O:___syscall_lstat64,P:___syscall_newfstatat,q:___syscall_openat,E:___syscall_renameat,D:___syscall_rmdir,Q:___syscall_stat64,z:___syscall_unlinkat,V:__abort_js,x:__emscripten_throw_longjmp,G:__gmtime_js,H:__localtime_js,I:__mktime_js,J:__tzset_js,S:_clock_time_get,X:emfiberthreads_pthread_mutex_timedwait_clearTimeout,Y:emfiberthreads_pthread_mutex_timedwait_setTimeout,W:_emscripten_asm_const_int,r:_emscripten_date_now,Z:_emscripten_fiber_swap,A:_emscripten_get_heap_max,o:_emscripten_get_now,y:_emscripten_resize_heap,M:_environ_get,N:_environ_sizes_get,g:_exit,h:_fd_close,p:_fd_fdstat_get,s:_fd_read,K:_fd_seek,j:_fd_write,$:invoke_i,f:invoke_ii,e:invoke_iii,i:invoke_iiii,v:invoke_iiiii,b:invoke_vi,n:invoke_vii,d:invoke_viii,c:invoke_viiii,m:invoke_viiiii,aa:invoke_viiiiii,t:invoke_viiiiiii,u:invoke_viiiiiiii,C:jsfetch_close_js,U:jsfetch_open_js,L:jsfetch_read_js,_:libavjs_wait_reader,ba:writeoutEmscriptenOOM};var wasmExports=await createWasm();var ___wasm_call_ctors=wasmExports["da"];var _ff_nothing=Module["_ff_nothing"]=wasmExports["ea"];var _AVFrame_crop_bottom=Module["_AVFrame_crop_bottom"]=wasmExports["fa"];var _AVFrame_crop_bottom_s=Module["_AVFrame_crop_bottom_s"]=wasmExports["ga"];var _AVFrame_crop_left=Module["_AVFrame_crop_left"]=wasmExports["ha"];var _AVFrame_crop_left_s=Module["_AVFrame_crop_left_s"]=wasmExports["ia"];var _AVFrame_crop_right=Module["_AVFrame_crop_right"]=wasmExports["ja"];var _AVFrame_crop_right_s=Module["_AVFrame_crop_right_s"]=wasmExports["ka"];var _AVFrame_crop_top=Module["_AVFrame_crop_top"]=wasmExports["la"];var _AVFrame_crop_top_s=Module["_AVFrame_crop_top_s"]=wasmExports["ma"];var _AVFrame_data_a=Module["_AVFrame_data_a"]=wasmExports["na"];var _AVFrame_data_a_s=Module["_AVFrame_data_a_s"]=wasmExports["oa"];var _AVFrame_format=Module["_AVFrame_format"]=wasmExports["pa"];var _AVFrame_format_s=Module["_AVFrame_format_s"]=wasmExports["qa"];var _AVFrame_height=Module["_AVFrame_height"]=wasmExports["ra"];var _AVFrame_height_s=Module["_AVFrame_height_s"]=wasmExports["sa"];var _AVFrame_key_frame=Module["_AVFrame_key_frame"]=wasmExports["ta"];var _AVFrame_key_frame_s=Module["_AVFrame_key_frame_s"]=wasmExports["ua"];var _AVFrame_linesize_a=Module["_AVFrame_linesize_a"]=wasmExports["va"];var _AVFrame_linesize_a_s=Module["_AVFrame_linesize_a_s"]=wasmExports["wa"];var _AVFrame_nb_samples=Module["_AVFrame_nb_samples"]=wasmExports["xa"];var _AVFrame_nb_samples_s=Module["_AVFrame_nb_samples_s"]=wasmExports["ya"];var _AVFrame_pict_type=Module["_AVFrame_pict_type"]=wasmExports["za"];var _AVFrame_pict_type_s=Module["_AVFrame_pict_type_s"]=wasmExports["Aa"];var _AVFrame_pts=Module["_AVFrame_pts"]=wasmExports["Ba"];var _AVFrame_ptshi=Module["_AVFrame_ptshi"]=wasmExports["Ca"];var _AVFrame_pts_s=Module["_AVFrame_pts_s"]=wasmExports["Da"];var _AVFrame_ptshi_s=Module["_AVFrame_ptshi_s"]=wasmExports["Ea"];var _AVFrame_sample_rate=Module["_AVFrame_sample_rate"]=wasmExports["Fa"];var _AVFrame_sample_rate_s=Module["_AVFrame_sample_rate_s"]=wasmExports["Ga"];var _AVFrame_width=Module["_AVFrame_width"]=wasmExports["Ha"];var _AVFrame_width_s=Module["_AVFrame_width_s"]=wasmExports["Ia"];var _AVFrame_sample_aspect_ratio_num=Module["_AVFrame_sample_aspect_ratio_num"]=wasmExports["Ja"];var _AVFrame_sample_aspect_ratio_den=Module["_AVFrame_sample_aspect_ratio_den"]=wasmExports["Ka"];var _AVFrame_sample_aspect_ratio_num_s=Module["_AVFrame_sample_aspect_ratio_num_s"]=wasmExports["La"];var _AVFrame_sample_aspect_ratio_den_s=Module["_AVFrame_sample_aspect_ratio_den_s"]=wasmExports["Ma"];var _AVFrame_sample_aspect_ratio_s=Module["_AVFrame_sample_aspect_ratio_s"]=wasmExports["Na"];var _AVFrame_time_base_num=Module["_AVFrame_time_base_num"]=wasmExports["Oa"];var _AVFrame_time_base_den=Module["_AVFrame_time_base_den"]=wasmExports["Pa"];var _AVFrame_time_base_num_s=Module["_AVFrame_time_base_num_s"]=wasmExports["Qa"];var _AVFrame_time_base_den_s=Module["_AVFrame_time_base_den_s"]=wasmExports["Ra"];var _AVFrame_time_base_s=Module["_AVFrame_time_base_s"]=wasmExports["Sa"];var _AVFrame_channel_layoutmask_s=Module["_AVFrame_channel_layoutmask_s"]=wasmExports["Ta"];var _AVFrame_channel_layoutmask=Module["_AVFrame_channel_layoutmask"]=wasmExports["Ua"];var _AVFrame_channels=Module["_AVFrame_channels"]=wasmExports["Va"];var _AVFrame_channels_s=Module["_AVFrame_channels_s"]=wasmExports["Wa"];var _AVFrame_ch_layout_nb_channels=Module["_AVFrame_ch_layout_nb_channels"]=wasmExports["Xa"];var _AVFrame_ch_layout_nb_channels_s=Module["_AVFrame_ch_layout_nb_channels_s"]=wasmExports["Ya"];var _AVFrame_channel_layout=Module["_AVFrame_channel_layout"]=wasmExports["Za"];var _AVFrame_channel_layouthi=Module["_AVFrame_channel_layouthi"]=wasmExports["_a"];var _AVFrame_channel_layout_s=Module["_AVFrame_channel_layout_s"]=wasmExports["$a"];var _AVFrame_channel_layouthi_s=Module["_AVFrame_channel_layouthi_s"]=wasmExports["ab"];var _ff_frame_rescale_ts_js=Module["_ff_frame_rescale_ts_js"]=wasmExports["bb"];var _AVPixFmtDescriptor_flags=Module["_AVPixFmtDescriptor_flags"]=wasmExports["cb"];var _AVPixFmtDescriptor_flags_s=Module["_AVPixFmtDescriptor_flags_s"]=wasmExports["db"];var _AVPixFmtDescriptor_nb_components=Module["_AVPixFmtDescriptor_nb_components"]=wasmExports["eb"];var _AVPixFmtDescriptor_nb_components_s=Module["_AVPixFmtDescriptor_nb_components_s"]=wasmExports["fb"];var _AVPixFmtDescriptor_log2_chroma_h=Module["_AVPixFmtDescriptor_log2_chroma_h"]=wasmExports["gb"];var _AVPixFmtDescriptor_log2_chroma_h_s=Module["_AVPixFmtDescriptor_log2_chroma_h_s"]=wasmExports["hb"];var _AVPixFmtDescriptor_log2_chroma_w=Module["_AVPixFmtDescriptor_log2_chroma_w"]=wasmExports["ib"];var _AVPixFmtDescriptor_log2_chroma_w_s=Module["_AVPixFmtDescriptor_log2_chroma_w_s"]=wasmExports["jb"];var _AVPixFmtDescriptor_comp_depth=Module["_AVPixFmtDescriptor_comp_depth"]=wasmExports["kb"];var _av_opt_set_int_list_js=Module["_av_opt_set_int_list_js"]=wasmExports["lb"];var _AVCodec_name=Module["_AVCodec_name"]=wasmExports["mb"];var _AVCodec_sample_fmts=Module["_AVCodec_sample_fmts"]=wasmExports["nb"];var _AVCodec_sample_fmts_s=Module["_AVCodec_sample_fmts_s"]=wasmExports["ob"];var _AVCodec_sample_fmts_a=Module["_AVCodec_sample_fmts_a"]=wasmExports["pb"];var _AVCodec_sample_fmts_a_s=Module["_AVCodec_sample_fmts_a_s"]=wasmExports["qb"];var _AVCodec_supported_samplerates=Module["_AVCodec_supported_samplerates"]=wasmExports["rb"];var _AVCodec_supported_samplerates_s=Module["_AVCodec_supported_samplerates_s"]=wasmExports["sb"];var _AVCodec_supported_samplerates_a=Module["_AVCodec_supported_samplerates_a"]=wasmExports["tb"];var _AVCodec_supported_samplerates_a_s=Module["_AVCodec_supported_samplerates_a_s"]=wasmExports["ub"];var _AVCodec_type=Module["_AVCodec_type"]=wasmExports["vb"];var _AVCodec_type_s=Module["_AVCodec_type_s"]=wasmExports["wb"];var _AVCodecContext_codec_id=Module["_AVCodecContext_codec_id"]=wasmExports["xb"];var _AVCodecContext_codec_id_s=Module["_AVCodecContext_codec_id_s"]=wasmExports["yb"];var _AVCodecContext_codec_type=Module["_AVCodecContext_codec_type"]=wasmExports["zb"];var _AVCodecContext_codec_type_s=Module["_AVCodecContext_codec_type_s"]=wasmExports["Ab"];var _AVCodecContext_bit_rate=Module["_AVCodecContext_bit_rate"]=wasmExports["Bb"];var _AVCodecContext_bit_ratehi=Module["_AVCodecContext_bit_ratehi"]=wasmExports["Cb"];var _AVCodecContext_bit_rate_s=Module["_AVCodecContext_bit_rate_s"]=wasmExports["Db"];var _AVCodecContext_bit_ratehi_s=Module["_AVCodecContext_bit_ratehi_s"]=wasmExports["Eb"];var _AVCodecContext_extradata=Module["_AVCodecContext_extradata"]=wasmExports["Fb"];var _AVCodecContext_extradata_s=Module["_AVCodecContext_extradata_s"]=wasmExports["Gb"];var _AVCodecContext_extradata_size=Module["_AVCodecContext_extradata_size"]=wasmExports["Hb"];var _AVCodecContext_extradata_size_s=Module["_AVCodecContext_extradata_size_s"]=wasmExports["Ib"];var _AVCodecContext_frame_size=Module["_AVCodecContext_frame_size"]=wasmExports["Jb"];var _AVCodecContext_frame_size_s=Module["_AVCodecContext_frame_size_s"]=wasmExports["Kb"];var _AVCodecContext_gop_size=Module["_AVCodecContext_gop_size"]=wasmExports["Lb"];var _AVCodecContext_gop_size_s=Module["_AVCodecContext_gop_size_s"]=wasmExports["Mb"];var _AVCodecContext_height=Module["_AVCodecContext_height"]=wasmExports["Nb"];var _AVCodecContext_height_s=Module["_AVCodecContext_height_s"]=wasmExports["Ob"];var _AVCodecContext_keyint_min=Module["_AVCodecContext_keyint_min"]=wasmExports["Pb"];var _AVCodecContext_keyint_min_s=Module["_AVCodecContext_keyint_min_s"]=wasmExports["Qb"];var _AVCodecContext_level=Module["_AVCodecContext_level"]=wasmExports["Rb"];var _AVCodecContext_level_s=Module["_AVCodecContext_level_s"]=wasmExports["Sb"];var _AVCodecContext_max_b_frames=Module["_AVCodecContext_max_b_frames"]=wasmExports["Tb"];var _AVCodecContext_max_b_frames_s=Module["_AVCodecContext_max_b_frames_s"]=wasmExports["Ub"];var _AVCodecContext_pix_fmt=Module["_AVCodecContext_pix_fmt"]=wasmExports["Vb"];var _AVCodecContext_pix_fmt_s=Module["_AVCodecContext_pix_fmt_s"]=wasmExports["Wb"];var _AVCodecContext_profile=Module["_AVCodecContext_profile"]=wasmExports["Xb"];var _AVCodecContext_profile_s=Module["_AVCodecContext_profile_s"]=wasmExports["Yb"];var _AVCodecContext_rc_max_rate=Module["_AVCodecContext_rc_max_rate"]=wasmExports["Zb"];var _AVCodecContext_rc_max_ratehi=Module["_AVCodecContext_rc_max_ratehi"]=wasmExports["_b"];var _AVCodecContext_rc_max_rate_s=Module["_AVCodecContext_rc_max_rate_s"]=wasmExports["$b"];var _AVCodecContext_rc_max_ratehi_s=Module["_AVCodecContext_rc_max_ratehi_s"]=wasmExports["ac"];var _AVCodecContext_rc_min_rate=Module["_AVCodecContext_rc_min_rate"]=wasmExports["bc"];var _AVCodecContext_rc_min_ratehi=Module["_AVCodecContext_rc_min_ratehi"]=wasmExports["cc"];var _AVCodecContext_rc_min_rate_s=Module["_AVCodecContext_rc_min_rate_s"]=wasmExports["dc"];var _AVCodecContext_rc_min_ratehi_s=Module["_AVCodecContext_rc_min_ratehi_s"]=wasmExports["ec"];var _AVCodecContext_sample_fmt=Module["_AVCodecContext_sample_fmt"]=wasmExports["fc"];var _AVCodecContext_sample_fmt_s=Module["_AVCodecContext_sample_fmt_s"]=wasmExports["gc"];var _AVCodecContext_sample_rate=Module["_AVCodecContext_sample_rate"]=wasmExports["hc"];var _AVCodecContext_sample_rate_s=Module["_AVCodecContext_sample_rate_s"]=wasmExports["ic"];var _AVCodecContext_qmax=Module["_AVCodecContext_qmax"]=wasmExports["jc"];var _AVCodecContext_qmax_s=Module["_AVCodecContext_qmax_s"]=wasmExports["kc"];var _AVCodecContext_qmin=Module["_AVCodecContext_qmin"]=wasmExports["lc"];var _AVCodecContext_qmin_s=Module["_AVCodecContext_qmin_s"]=wasmExports["mc"];var _AVCodecContext_width=Module["_AVCodecContext_width"]=wasmExports["nc"];var _AVCodecContext_width_s=Module["_AVCodecContext_width_s"]=wasmExports["oc"];var _AVCodecContext_framerate_num=Module["_AVCodecContext_framerate_num"]=wasmExports["pc"];var _AVCodecContext_framerate_den=Module["_AVCodecContext_framerate_den"]=wasmExports["qc"];var _AVCodecContext_framerate_num_s=Module["_AVCodecContext_framerate_num_s"]=wasmExports["rc"];var _AVCodecContext_framerate_den_s=Module["_AVCodecContext_framerate_den_s"]=wasmExports["sc"];var _AVCodecContext_framerate_s=Module["_AVCodecContext_framerate_s"]=wasmExports["tc"];var _AVCodecContext_sample_aspect_ratio_num=Module["_AVCodecContext_sample_aspect_ratio_num"]=wasmExports["uc"];var _AVCodecContext_sample_aspect_ratio_den=Module["_AVCodecContext_sample_aspect_ratio_den"]=wasmExports["vc"];var _AVCodecContext_sample_aspect_ratio_num_s=Module["_AVCodecContext_sample_aspect_ratio_num_s"]=wasmExports["wc"];var _AVCodecContext_sample_aspect_ratio_den_s=Module["_AVCodecContext_sample_aspect_ratio_den_s"]=wasmExports["xc"];var _AVCodecContext_sample_aspect_ratio_s=Module["_AVCodecContext_sample_aspect_ratio_s"]=wasmExports["yc"];var _AVCodecContext_time_base_num=Module["_AVCodecContext_time_base_num"]=wasmExports["zc"];var _AVCodecContext_time_base_den=Module["_AVCodecContext_time_base_den"]=wasmExports["Ac"];var _AVCodecContext_time_base_num_s=Module["_AVCodecContext_time_base_num_s"]=wasmExports["Bc"];var _AVCodecContext_time_base_den_s=Module["_AVCodecContext_time_base_den_s"]=wasmExports["Cc"];var _AVCodecContext_time_base_s=Module["_AVCodecContext_time_base_s"]=wasmExports["Dc"];var _AVCodecContext_channel_layoutmask_s=Module["_AVCodecContext_channel_layoutmask_s"]=wasmExports["Ec"];var _AVCodecContext_channel_layoutmask=Module["_AVCodecContext_channel_layoutmask"]=wasmExports["Fc"];var _AVCodecContext_channels=Module["_AVCodecContext_channels"]=wasmExports["Gc"];var _AVCodecContext_channels_s=Module["_AVCodecContext_channels_s"]=wasmExports["Hc"];var _AVCodecContext_ch_layout_nb_channels=Module["_AVCodecContext_ch_layout_nb_channels"]=wasmExports["Ic"];var _AVCodecContext_ch_layout_nb_channels_s=Module["_AVCodecContext_ch_layout_nb_channels_s"]=wasmExports["Jc"];var _AVCodecContext_channel_layout=Module["_AVCodecContext_channel_layout"]=wasmExports["Kc"];var _AVCodecContext_channel_layouthi=Module["_AVCodecContext_channel_layouthi"]=wasmExports["Lc"];var _AVCodecContext_channel_layout_s=Module["_AVCodecContext_channel_layout_s"]=wasmExports["Mc"];var _AVCodecContext_channel_layouthi_s=Module["_AVCodecContext_channel_layouthi_s"]=wasmExports["Nc"];var _AVCodecDescriptor_id=Module["_AVCodecDescriptor_id"]=wasmExports["Oc"];var _AVCodecDescriptor_id_s=Module["_AVCodecDescriptor_id_s"]=wasmExports["Pc"];var _AVCodecDescriptor_long_name=Module["_AVCodecDescriptor_long_name"]=wasmExports["Qc"];var _AVCodecDescriptor_long_name_s=Module["_AVCodecDescriptor_long_name_s"]=wasmExports["Rc"];var _AVCodecDescriptor_mime_types_a=Module["_AVCodecDescriptor_mime_types_a"]=wasmExports["Sc"];var _AVCodecDescriptor_mime_types_a_s=Module["_AVCodecDescriptor_mime_types_a_s"]=wasmExports["Tc"];var _AVCodecDescriptor_name=Module["_AVCodecDescriptor_name"]=wasmExports["Uc"];var _AVCodecDescriptor_name_s=Module["_AVCodecDescriptor_name_s"]=wasmExports["Vc"];var _AVCodecDescriptor_props=Module["_AVCodecDescriptor_props"]=wasmExports["Wc"];var _AVCodecDescriptor_props_s=Module["_AVCodecDescriptor_props_s"]=wasmExports["Xc"];var _AVCodecDescriptor_type=Module["_AVCodecDescriptor_type"]=wasmExports["Yc"];var _AVCodecDescriptor_type_s=Module["_AVCodecDescriptor_type_s"]=wasmExports["Zc"];var _AVCodecParameters_codec_id=Module["_AVCodecParameters_codec_id"]=wasmExports["_c"];var _AVCodecParameters_codec_id_s=Module["_AVCodecParameters_codec_id_s"]=wasmExports["$c"];var _AVCodecParameters_codec_tag=Module["_AVCodecParameters_codec_tag"]=wasmExports["ad"];var _AVCodecParameters_codec_tag_s=Module["_AVCodecParameters_codec_tag_s"]=wasmExports["bd"];var _AVCodecParameters_codec_type=Module["_AVCodecParameters_codec_type"]=wasmExports["cd"];var _AVCodecParameters_codec_type_s=Module["_AVCodecParameters_codec_type_s"]=wasmExports["dd"];var _AVCodecParameters_extradata=Module["_AVCodecParameters_extradata"]=wasmExports["ed"];var _AVCodecParameters_extradata_s=Module["_AVCodecParameters_extradata_s"]=wasmExports["fd"];var _AVCodecParameters_extradata_size=Module["_AVCodecParameters_extradata_size"]=wasmExports["gd"];var _AVCodecParameters_extradata_size_s=Module["_AVCodecParameters_extradata_size_s"]=wasmExports["hd"];var _AVCodecParameters_format=Module["_AVCodecParameters_format"]=wasmExports["id"];var _AVCodecParameters_format_s=Module["_AVCodecParameters_format_s"]=wasmExports["jd"];var _AVCodecParameters_bit_rate=Module["_AVCodecParameters_bit_rate"]=wasmExports["kd"];var _AVCodecParameters_bit_rate_s=Module["_AVCodecParameters_bit_rate_s"]=wasmExports["ld"];var _AVCodecParameters_profile=Module["_AVCodecParameters_profile"]=wasmExports["md"];var _AVCodecParameters_profile_s=Module["_AVCodecParameters_profile_s"]=wasmExports["nd"];var _AVCodecParameters_level=Module["_AVCodecParameters_level"]=wasmExports["od"];var _AVCodecParameters_level_s=Module["_AVCodecParameters_level_s"]=wasmExports["pd"];var _AVCodecParameters_width=Module["_AVCodecParameters_width"]=wasmExports["qd"];var _AVCodecParameters_width_s=Module["_AVCodecParameters_width_s"]=wasmExports["rd"];var _AVCodecParameters_height=Module["_AVCodecParameters_height"]=wasmExports["sd"];var _AVCodecParameters_height_s=Module["_AVCodecParameters_height_s"]=wasmExports["td"];var _AVCodecParameters_color_range=Module["_AVCodecParameters_color_range"]=wasmExports["ud"];var _AVCodecParameters_color_range_s=Module["_AVCodecParameters_color_range_s"]=wasmExports["vd"];var _AVCodecParameters_color_primaries=Module["_AVCodecParameters_color_primaries"]=wasmExports["wd"];var _AVCodecParameters_color_primaries_s=Module["_AVCodecParameters_color_primaries_s"]=wasmExports["xd"];var _AVCodecParameters_color_trc=Module["_AVCodecParameters_color_trc"]=wasmExports["yd"];var _AVCodecParameters_color_trc_s=Module["_AVCodecParameters_color_trc_s"]=wasmExports["zd"];var _AVCodecParameters_color_space=Module["_AVCodecParameters_color_space"]=wasmExports["Ad"];var _AVCodecParameters_color_space_s=Module["_AVCodecParameters_color_space_s"]=wasmExports["Bd"];var _AVCodecParameters_chroma_location=Module["_AVCodecParameters_chroma_location"]=wasmExports["Cd"];var _AVCodecParameters_chroma_location_s=Module["_AVCodecParameters_chroma_location_s"]=wasmExports["Dd"];var _AVCodecParameters_sample_rate=Module["_AVCodecParameters_sample_rate"]=wasmExports["Ed"];var _AVCodecParameters_sample_rate_s=Module["_AVCodecParameters_sample_rate_s"]=wasmExports["Fd"];var _AVCodecParameters_framerate_num=Module["_AVCodecParameters_framerate_num"]=wasmExports["Gd"];var _AVCodecParameters_framerate_den=Module["_AVCodecParameters_framerate_den"]=wasmExports["Hd"];var _AVCodecParameters_framerate_num_s=Module["_AVCodecParameters_framerate_num_s"]=wasmExports["Id"];var _AVCodecParameters_framerate_den_s=Module["_AVCodecParameters_framerate_den_s"]=wasmExports["Jd"];var _AVCodecParameters_framerate_s=Module["_AVCodecParameters_framerate_s"]=wasmExports["Kd"];var _AVCodecParameters_channel_layoutmask_s=Module["_AVCodecParameters_channel_layoutmask_s"]=wasmExports["Ld"];var _AVCodecParameters_channel_layoutmask=Module["_AVCodecParameters_channel_layoutmask"]=wasmExports["Md"];var _AVCodecParameters_channels=Module["_AVCodecParameters_channels"]=wasmExports["Nd"];var _AVCodecParameters_channels_s=Module["_AVCodecParameters_channels_s"]=wasmExports["Od"];var _AVCodecParameters_ch_layout_nb_channels=Module["_AVCodecParameters_ch_layout_nb_channels"]=wasmExports["Pd"];var _AVCodecParameters_ch_layout_nb_channels_s=Module["_AVCodecParameters_ch_layout_nb_channels_s"]=wasmExports["Qd"];var _AVPacket_data=Module["_AVPacket_data"]=wasmExports["Rd"];var _AVPacket_data_s=Module["_AVPacket_data_s"]=wasmExports["Sd"];var _AVPacket_dts=Module["_AVPacket_dts"]=wasmExports["Td"];var _AVPacket_dtshi=Module["_AVPacket_dtshi"]=wasmExports["Ud"];var _AVPacket_dts_s=Module["_AVPacket_dts_s"]=wasmExports["Vd"];var _AVPacket_dtshi_s=Module["_AVPacket_dtshi_s"]=wasmExports["Wd"];var _AVPacket_duration=Module["_AVPacket_duration"]=wasmExports["Xd"];var _AVPacket_durationhi=Module["_AVPacket_durationhi"]=wasmExports["Yd"];var _AVPacket_duration_s=Module["_AVPacket_duration_s"]=wasmExports["Zd"];var _AVPacket_durationhi_s=Module["_AVPacket_durationhi_s"]=wasmExports["_d"];var _AVPacket_flags=Module["_AVPacket_flags"]=wasmExports["$d"];var _AVPacket_flags_s=Module["_AVPacket_flags_s"]=wasmExports["ae"];var _AVPacket_pos=Module["_AVPacket_pos"]=wasmExports["be"];var _AVPacket_poshi=Module["_AVPacket_poshi"]=wasmExports["ce"];var _AVPacket_pos_s=Module["_AVPacket_pos_s"]=wasmExports["de"];var _AVPacket_poshi_s=Module["_AVPacket_poshi_s"]=wasmExports["ee"];var _AVPacket_pts=Module["_AVPacket_pts"]=wasmExports["fe"];var _AVPacket_ptshi=Module["_AVPacket_ptshi"]=wasmExports["ge"];var _AVPacket_pts_s=Module["_AVPacket_pts_s"]=wasmExports["he"];var _AVPacket_ptshi_s=Module["_AVPacket_ptshi_s"]=wasmExports["ie"];var _AVPacket_side_data=Module["_AVPacket_side_data"]=wasmExports["je"];var _AVPacket_side_data_s=Module["_AVPacket_side_data_s"]=wasmExports["ke"];var _AVPacket_side_data_elems=Module["_AVPacket_side_data_elems"]=wasmExports["le"];var _AVPacket_side_data_elems_s=Module["_AVPacket_side_data_elems_s"]=wasmExports["me"];var _AVPacket_size=Module["_AVPacket_size"]=wasmExports["ne"];var _AVPacket_size_s=Module["_AVPacket_size_s"]=wasmExports["oe"];var _AVPacket_stream_index=Module["_AVPacket_stream_index"]=wasmExports["pe"];var _AVPacket_stream_index_s=Module["_AVPacket_stream_index_s"]=wasmExports["qe"];var _AVPacket_time_base_num=Module["_AVPacket_time_base_num"]=wasmExports["re"];var _AVPacket_time_base_den=Module["_AVPacket_time_base_den"]=wasmExports["se"];var _AVPacket_time_base_num_s=Module["_AVPacket_time_base_num_s"]=wasmExports["te"];var _AVPacket_time_base_den_s=Module["_AVPacket_time_base_den_s"]=wasmExports["ue"];var _AVPacket_time_base_s=Module["_AVPacket_time_base_s"]=wasmExports["ve"];var _AVPacketSideData_data=Module["_AVPacketSideData_data"]=wasmExports["we"];var _AVPacketSideData_size=Module["_AVPacketSideData_size"]=wasmExports["xe"];var _AVPacketSideData_type=Module["_AVPacketSideData_type"]=wasmExports["ye"];var _avcodec_open2_js=Module["_avcodec_open2_js"]=wasmExports["ze"];var _avcodec_open2=Module["_avcodec_open2"]=wasmExports["Ae"];var _av_packet_rescale_ts_js=Module["_av_packet_rescale_ts_js"]=wasmExports["Be"];var _AVFormatContext_duration=Module["_AVFormatContext_duration"]=wasmExports["Ce"];var _AVFormatContext_durationhi=Module["_AVFormatContext_durationhi"]=wasmExports["De"];var _AVFormatContext_duration_s=Module["_AVFormatContext_duration_s"]=wasmExports["Ee"];var _AVFormatContext_durationhi_s=Module["_AVFormatContext_durationhi_s"]=wasmExports["Fe"];var _AVFormatContext_flags=Module["_AVFormatContext_flags"]=wasmExports["Ge"];var _AVFormatContext_flags_s=Module["_AVFormatContext_flags_s"]=wasmExports["He"];var _AVFormatContext_nb_streams=Module["_AVFormatContext_nb_streams"]=wasmExports["Ie"];var _AVFormatContext_nb_streams_s=Module["_AVFormatContext_nb_streams_s"]=wasmExports["Je"];var _AVFormatContext_oformat=Module["_AVFormatContext_oformat"]=wasmExports["Ke"];var _AVFormatContext_oformat_s=Module["_AVFormatContext_oformat_s"]=wasmExports["Le"];var _AVFormatContext_pb=Module["_AVFormatContext_pb"]=wasmExports["Me"];var _AVFormatContext_pb_s=Module["_AVFormatContext_pb_s"]=wasmExports["Ne"];var _AVFormatContext_start_time=Module["_AVFormatContext_start_time"]=wasmExports["Oe"];var _AVFormatContext_start_timehi=Module["_AVFormatContext_start_timehi"]=wasmExports["Pe"];var _AVFormatContext_start_time_s=Module["_AVFormatContext_start_time_s"]=wasmExports["Qe"];var _AVFormatContext_start_timehi_s=Module["_AVFormatContext_start_timehi_s"]=wasmExports["Re"];var _AVFormatContext_streams_a=Module["_AVFormatContext_streams_a"]=wasmExports["Se"];var _AVFormatContext_streams_a_s=Module["_AVFormatContext_streams_a_s"]=wasmExports["Te"];var _AVStream_codecpar=Module["_AVStream_codecpar"]=wasmExports["Ue"];var _AVStream_codecpar_s=Module["_AVStream_codecpar_s"]=wasmExports["Ve"];var _AVStream_discard=Module["_AVStream_discard"]=wasmExports["We"];var _AVStream_discard_s=Module["_AVStream_discard_s"]=wasmExports["Xe"];var _AVStream_duration=Module["_AVStream_duration"]=wasmExports["Ye"];var _AVStream_durationhi=Module["_AVStream_durationhi"]=wasmExports["Ze"];var _AVStream_duration_s=Module["_AVStream_duration_s"]=wasmExports["_e"];var _AVStream_durationhi_s=Module["_AVStream_durationhi_s"]=wasmExports["$e"];var _AVStream_time_base_num=Module["_AVStream_time_base_num"]=wasmExports["af"];var _AVStream_time_base_den=Module["_AVStream_time_base_den"]=wasmExports["bf"];var _AVStream_time_base_num_s=Module["_AVStream_time_base_num_s"]=wasmExports["cf"];var _AVStream_time_base_den_s=Module["_AVStream_time_base_den_s"]=wasmExports["df"];var _AVStream_time_base_s=Module["_AVStream_time_base_s"]=wasmExports["ef"];var _avformat_seek_file_min=Module["_avformat_seek_file_min"]=wasmExports["ff"];var _avformat_seek_file=Module["_avformat_seek_file"]=wasmExports["gf"];var _avformat_seek_file_max=Module["_avformat_seek_file_max"]=wasmExports["hf"];var _avformat_seek_file_approx=Module["_avformat_seek_file_approx"]=wasmExports["jf"];var _AVFilterInOut_filter_ctx=Module["_AVFilterInOut_filter_ctx"]=wasmExports["kf"];var _AVFilterInOut_filter_ctx_s=Module["_AVFilterInOut_filter_ctx_s"]=wasmExports["lf"];var _AVFilterInOut_name=Module["_AVFilterInOut_name"]=wasmExports["mf"];var _AVFilterInOut_name_s=Module["_AVFilterInOut_name_s"]=wasmExports["nf"];var _AVFilterInOut_next=Module["_AVFilterInOut_next"]=wasmExports["of"];var _AVFilterInOut_next_s=Module["_AVFilterInOut_next_s"]=wasmExports["pf"];var _AVFilterInOut_pad_idx=Module["_AVFilterInOut_pad_idx"]=wasmExports["qf"];var _AVFilterInOut_pad_idx_s=Module["_AVFilterInOut_pad_idx_s"]=wasmExports["rf"];var _av_buffersink_get_time_base_num=Module["_av_buffersink_get_time_base_num"]=wasmExports["sf"];var _av_buffersink_get_time_base_den=Module["_av_buffersink_get_time_base_den"]=wasmExports["tf"];var _ff_buffersink_set_ch_layout=Module["_ff_buffersink_set_ch_layout"]=wasmExports["uf"];var _av_opt_set=Module["_av_opt_set"]=wasmExports["vf"];var _libavjs_with_swscale=Module["_libavjs_with_swscale"]=wasmExports["wf"];var _libavjs_create_main_thread=Module["_libavjs_create_main_thread"]=wasmExports["xf"];var _avformat_alloc_output_context2_js=Module["_avformat_alloc_output_context2_js"]=wasmExports["yf"];var _avformat_open_input_js=Module["_avformat_open_input_js"]=wasmExports["zf"];var _avformat_open_input=Module["_avformat_open_input"]=wasmExports["Af"];var _avio_open2_js=Module["_avio_open2_js"]=wasmExports["Bf"];var _avfilter_graph_create_filter_js=Module["_avfilter_graph_create_filter_js"]=wasmExports["Cf"];var _av_dict_copy_js=Module["_av_dict_copy_js"]=wasmExports["Df"];var _av_dict_set_js=Module["_av_dict_set_js"]=wasmExports["Ef"];var _av_compare_ts_js=Module["_av_compare_ts_js"]=wasmExports["Ff"];var _ff_error=Module["_ff_error"]=wasmExports["Gf"];var _mallinfo_uordblks=Module["_mallinfo_uordblks"]=wasmExports["Hf"];var _av_dict_free=Module["_av_dict_free"]=wasmExports["If"];var _av_log_set_level=Module["_av_log_set_level"]=wasmExports["Jf"];var _av_strdup=Module["_av_strdup"]=wasmExports["Kf"];var _avcodec_parameters_alloc=Module["_avcodec_parameters_alloc"]=wasmExports["Mf"];var _avcodec_parameters_copy=Module["_avcodec_parameters_copy"]=wasmExports["Nf"];var _ffmpeg_main=Module["_ffmpeg_main"]=wasmExports["Of"];var _avcodec_descriptor_get=Module["_avcodec_descriptor_get"]=wasmExports["Pf"];var _av_log_get_level=Module["_av_log_get_level"]=wasmExports["Qf"];var _avcodec_parameters_free=Module["_avcodec_parameters_free"]=wasmExports["Rf"];var _avio_flush=Module["_avio_flush"]=wasmExports["Sf"];var _avcodec_free_context=Module["_avcodec_free_context"]=wasmExports["Tf"];var _av_frame_free=Module["_av_frame_free"]=wasmExports["Uf"];var _av_packet_free=Module["_av_packet_free"]=wasmExports["Vf"];var _av_frame_alloc=Module["_av_frame_alloc"]=wasmExports["Wf"];var _av_packet_alloc=Module["_av_packet_alloc"]=wasmExports["Xf"];var _avcodec_alloc_context3=Module["_avcodec_alloc_context3"]=wasmExports["Yf"];var _avcodec_parameters_to_context=Module["_avcodec_parameters_to_context"]=wasmExports["Zf"];var _avcodec_find_decoder_by_name=Module["_avcodec_find_decoder_by_name"]=wasmExports["_f"];var _avcodec_find_decoder=Module["_avcodec_find_decoder"]=wasmExports["$f"];var _av_frame_unref=Module["_av_frame_unref"]=wasmExports["ag"];var _avcodec_send_packet=Module["_avcodec_send_packet"]=wasmExports["bg"];var _avcodec_receive_frame=Module["_avcodec_receive_frame"]=wasmExports["cg"];var _av_frame_ref=Module["_av_frame_ref"]=wasmExports["dg"];var _av_packet_unref=Module["_av_packet_unref"]=wasmExports["eg"];var _avcodec_flush_buffers=Module["_avcodec_flush_buffers"]=wasmExports["fg"];var _av_pix_fmt_desc_get=Module["_av_pix_fmt_desc_get"]=wasmExports["gg"];var _avformat_close_input=Module["_avformat_close_input"]=wasmExports["hg"];var _avcodec_get_name=Module["_avcodec_get_name"]=wasmExports["ig"];var _av_find_input_format=Module["_av_find_input_format"]=wasmExports["jg"];var _avformat_alloc_context=Module["_avformat_alloc_context"]=wasmExports["kg"];var _avformat_free_context=Module["_avformat_free_context"]=wasmExports["lg"];var _avformat_find_stream_info=Module["_avformat_find_stream_info"]=wasmExports["mg"];var _avio_close=Module["_avio_close"]=wasmExports["ng"];var _av_read_frame=Module["_av_read_frame"]=wasmExports["og"];var _av_get_bytes_per_sample=Module["_av_get_bytes_per_sample"]=wasmExports["pg"];var _avcodec_parameters_from_context=Module["_avcodec_parameters_from_context"]=wasmExports["qg"];var _av_shrink_packet=Module["_av_shrink_packet"]=wasmExports["rg"];var _avcodec_send_frame=Module["_avcodec_send_frame"]=wasmExports["sg"];var _avcodec_receive_packet=Module["_avcodec_receive_packet"]=wasmExports["tg"];var _avfilter_graph_alloc=Module["_avfilter_graph_alloc"]=wasmExports["ug"];var _avfilter_inout_free=Module["_avfilter_inout_free"]=wasmExports["vg"];var _avfilter_graph_free=Module["_avfilter_graph_free"]=wasmExports["wg"];var _av_get_sample_fmt_name=Module["_av_get_sample_fmt_name"]=wasmExports["xg"];var _av_buffersrc_add_frame_flags=Module["_av_buffersrc_add_frame_flags"]=wasmExports["yg"];var _avfilter_get_by_name=Module["_avfilter_get_by_name"]=wasmExports["zg"];var _avfilter_link=Module["_avfilter_link"]=wasmExports["Ag"];var _avfilter_graph_config=Module["_avfilter_graph_config"]=wasmExports["Bg"];var _av_frame_get_buffer=Module["_av_frame_get_buffer"]=wasmExports["Cg"];var _avformat_write_header=Module["_avformat_write_header"]=wasmExports["Dg"];var _av_write_trailer=Module["_av_write_trailer"]=wasmExports["Eg"];var _av_interleaved_write_frame=Module["_av_interleaved_write_frame"]=wasmExports["Fg"];var _avcodec_find_encoder=Module["_avcodec_find_encoder"]=wasmExports["Gg"];var _avformat_new_stream=Module["_avformat_new_stream"]=wasmExports["Hg"];var _strerror=Module["_strerror"]=wasmExports["Ig"];var _avcodec_find_encoder_by_name=Module["_avcodec_find_encoder_by_name"]=wasmExports["Jg"];var _avcodec_descriptor_get_by_name=Module["_avcodec_descriptor_get_by_name"]=wasmExports["Kg"];var _av_packet_ref=Module["_av_packet_ref"]=wasmExports["Lg"];var _ffprobe_main=Module["_ffprobe_main"]=wasmExports["Mg"];var _avcodec_descriptor_next=Module["_avcodec_descriptor_next"]=wasmExports["Ng"];var _av_frame_clone=Module["_av_frame_clone"]=wasmExports["Og"];var _av_frame_make_writable=Module["_av_frame_make_writable"]=wasmExports["Pg"];var _free=Module["_free"]=wasmExports["Qg"];var _open=Module["_open"]=wasmExports["Rg"];var _av_find_best_stream=Module["_av_find_best_stream"]=wasmExports["Sg"];var _av_packet_new_side_data=Module["_av_packet_new_side_data"]=wasmExports["Tg"];var _av_grow_packet=Module["_av_grow_packet"]=wasmExports["Ug"];var _av_packet_make_writable=Module["_av_packet_make_writable"]=wasmExports["Vg"];var _av_write_frame=Module["_av_write_frame"]=wasmExports["Wg"];var _close=Module["_close"]=wasmExports["Xg"];var _av_seek_frame=Module["_av_seek_frame"]=wasmExports["Yg"];var _avformat_flush=Module["_avformat_flush"]=wasmExports["Zg"];var _avcodec_close=Module["_avcodec_close"]=wasmExports["_g"];var _av_packet_clone=Module["_av_packet_clone"]=wasmExports["$g"];var _avfilter_free=Module["_avfilter_free"]=wasmExports["ah"];var _av_buffersink_get_frame=Module["_av_buffersink_get_frame"]=wasmExports["bh"];var _av_buffersink_set_frame_size=Module["_av_buffersink_set_frame_size"]=wasmExports["ch"];var _avfilter_inout_alloc=Module["_avfilter_inout_alloc"]=wasmExports["dh"];var _avfilter_graph_parse=Module["_avfilter_graph_parse"]=wasmExports["eh"];var _sws_scale_frame=Module["_sws_scale_frame"]=wasmExports["fh"];var _sws_getContext=Module["_sws_getContext"]=wasmExports["gh"];var _sws_freeContext=Module["_sws_freeContext"]=wasmExports["hh"];var _calloc=Module["_calloc"]=wasmExports["ih"];var _malloc=Module["_malloc"]=wasmExports["jh"];var _emfiberthreads_timeout_expiry=Module["_emfiberthreads_timeout_expiry"]=wasmExports["kh"];var _dup2=Module["_dup2"]=wasmExports["lh"];var _setThrew=wasmExports["mh"];var _emscripten_stack_set_limits=wasmExports["nh"];var __emscripten_stack_restore=wasmExports["oh"];var __emscripten_stack_alloc=wasmExports["ph"];var _emscripten_stack_get_current=wasmExports["qh"];var dynCall_iiii=Module["dynCall_iiii"]=wasmExports["rh"];var dynCall_vi=Module["dynCall_vi"]=wasmExports["sh"];var dynCall_vii=Module["dynCall_vii"]=wasmExports["th"];var dynCall_ii=Module["dynCall_ii"]=wasmExports["uh"];var dynCall_iii=Module["dynCall_iii"]=wasmExports["vh"];var dynCall_viii=Module["dynCall_viii"]=wasmExports["wh"];var dynCall_iiiii=Module["dynCall_iiiii"]=wasmExports["xh"];var dynCall_i=Module["dynCall_i"]=wasmExports["yh"];var dynCall_viiii=Module["dynCall_viiii"]=wasmExports["zh"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=wasmExports["Ah"];var dynCall_viiiii=Module["dynCall_viiiii"]=wasmExports["Bh"];var dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=wasmExports["Ch"];var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=wasmExports["Dh"];var _asyncify_start_unwind=wasmExports["Eh"];var _asyncify_stop_unwind=wasmExports["Fh"];var _asyncify_start_rewind=wasmExports["Gh"];var _asyncify_stop_rewind=wasmExports["Hh"];function invoke_iiiii(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_iiiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vii(index,a1,a2){var sp=stackSave();try{dynCall_vii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iii(index,a1,a2){var sp=stackSave();try{return dynCall_iii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiii(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_viiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viii(index,a1,a2,a3){var sp=stackSave();try{dynCall_viii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vi(index,a1){var sp=stackSave();try{dynCall_vi(index,a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_ii(index,a1){var sp=stackSave();try{return dynCall_ii(index,a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{dynCall_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiii(index,a1,a2,a3){var sp=stackSave();try{return dynCall_iiii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{dynCall_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{dynCall_viiiii(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{dynCall_viiiiii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_i(index){var sp=stackSave();try{return dynCall_i(index)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}Module["ccall"]=ccall;Module["cwrap"]=cwrap;function run(){if(runDependencies>0){dependenciesFulfilled=run;return}preRun();if(runDependencies>0){dependenciesFulfilled=run;return}function doRun(){Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);Module["onRuntimeInitialized"]?.();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(()=>{setTimeout(()=>Module["setStatus"](""),1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run();var serializationPromise=null;function serially(f){var p;if(serializationPromise){p=serializationPromise.catch(function(){}).then(function(){return f()})}else{p=f()}serializationPromise=p=p.finally(function(){if(serializationPromise===p)serializationPromise=null});return p}Module.fsThrownError=null;var ERRNO_CODES={EPERM:1,EIO:5,EAGAIN:6,ECANCELED:11,ESPIPE:29};var readerCallbacks={open:function(stream){if(stream.flags&3){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}},close:function(){},read:function(stream,buffer,offset,length,position){var data=Module.readBuffers[stream.node.name];if(!data||data.buf.length===0&&!data.eof){if(Module.onread){try{var rr=Module.onread(stream.node.name,position,length);if(rr&&rr.then&&rr.catch){rr.catch(function(ex){ff_reader_dev_send(stream.node.name,null,{error:ex})})}}catch(ex){ff_reader_dev_send(stream.node.name,null,{error:ex})}}data=Module.readBuffers[stream.node.name]}if(!data)throw new FS.ErrnoError(ERRNO_CODES.EAGAIN);if(data.error){Module.fsThrownError=data.error;throw new FS.ErrnoError(ERRNO_CODES.ECANCELED)}if(data.errorCode)throw new FS.ErrnoError(data.errorCode);if(data.buf.length===0){if(data.eof){return 0}else{data.ready=false;throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var ret;if(length=bufMax){if(position>=stream.node.ff_block_reader_dev_size)return 0;if(!Module.onblockread)throw new FS.ErrnoError(ERRNO_CODES.EIO);try{var brr=Module.onblockread(stream.node.name,position,length);if(brr&&brr.then&&brr.catch){brr.catch(function(ex){ff_block_reader_dev_send(stream.node.name,position,null,{error:ex})})}}catch(ex){Module.fsThrownError=ex;throw new FS.ErrnoError(ERRNO_CODES.ECANCELED)}bufMin=data.position;bufMax=data.position+data.buf.length;if(position=bufMax){data.ready=false;throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var bufPos=position-bufMin;var ret;if(bufPos+lengthdata.length)av_shrink_packet(pkt,data.length)}var ptr=AVPacket_data(pkt);Module.HEAPU8.set(data,ptr)};var ff_init_muxer=Module.ff_init_muxer=function(opts,streamCtxs){var oformat=opts.oformat?opts.oformat:0;var format_name=opts.format_name?opts.format_name:null;var filename=opts.filename?opts.filename:null;var oc=avformat_alloc_output_context2_js(oformat,format_name,filename);if(oc===0)throw new Error("Failed to allocate output context");var fmt=AVFormatContext_oformat(oc);var sts=[];streamCtxs.forEach(function(ctx){var st=avformat_new_stream(oc,0);if(st===0)throw new Error("Could not allocate stream");sts.push(st);var codecpar=AVStream_codecpar(st);var ret;if(opts.codecpars){ret=avcodec_parameters_copy(codecpar,ctx[0]);AVCodecParameters_codec_tag_s(codecpar,0)}else{ret=avcodec_parameters_from_context(codecpar,ctx[0])}if(ret<0)throw new Error("Could not copy the stream parameters: "+ff_error(ret));AVStream_time_base_s(st,ctx[1],ctx[2])});if(opts.device)FS.mkdev(opts.filename,511,writerDev);var pb=null;if(opts.open){pb=avio_open2_js(opts.filename,2,0,0);if(pb===0)throw new Error("Could not open file");AVFormatContext_pb_s(oc,pb)}return[oc,fmt,pb,sts]};var ff_free_muxer=Module.ff_free_muxer=function(oc,pb){avformat_free_context(oc);if(pb)avio_close(pb)};function ff_init_demuxer_file(filename,fmt){var fmt_ctx;return avformat_open_input_js(filename,fmt?fmt:null,null).then(function(ret){fmt_ctx=ret;if(fmt_ctx===0)throw new Error("Could not open source file");return avformat_find_stream_info(fmt_ctx,0)}).then(function(){var nb_streams=AVFormatContext_nb_streams(fmt_ctx);var streams=[];for(var i=0;i=opts.limit)return[-6,outPackets];return Promise.all([]).then(step)})}return step()}Module.ff_read_frame_multi=function(){var args=arguments;return serially(function(){return ff_read_frame_multi.apply(void 0,args)})};Module.ff_read_multi=function(fmt_ctx,pkt,devfile,opts){console.log("[libav.js] ff_read_multi is deprecated. Use ff_read_frame_multi.");return Module.ff_read_frame_multi(fmt_ctx,pkt,opts)};var ff_init_filter_graph=Module.ff_init_filter_graph=function(filters_descr,input,output){var buffersrc,abuffersrc,buffersink,abuffersink,filter_graph,tmp_src_ctx,tmp_sink_ctx,src_ctxs,sink_ctxs,io_outputs,io_inputs,int32s;var instr,outstr;var multiple_inputs=!!input.length;if(!multiple_inputs)input=[input];var multiple_outputs=!!output.length;if(!multiple_outputs)output=[output];src_ctxs=[];sink_ctxs=[];try{buffersrc=avfilter_get_by_name("buffer");abuffersrc=avfilter_get_by_name("abuffer");buffersink=avfilter_get_by_name("buffersink");abuffersink=avfilter_get_by_name("abuffersink");filter_graph=avfilter_graph_alloc();if(filter_graph===0)throw new Error("Failed to allocate filter graph");io_outputs=0;var ii=0;input.forEach(function(input){var next_io_outputs=avfilter_inout_alloc();if(next_io_outputs===0)throw new Error("Failed to allocate outputs");AVFilterInOut_next_s(next_io_outputs,io_outputs);io_outputs=next_io_outputs;var nm="in"+(multiple_inputs?ii:"");if(input.type===0){if(buffersrc===0)throw new Error("Failed to load buffer filter");var frame_rate=input.frame_rate;var time_base=input.time_base;if(typeof frame_rate==="undefined")frame_rate=30;if(typeof time_base==="undefined")time_base=[1,frame_rate];tmp_src_ctx=avfilter_graph_create_filter_js(buffersrc,nm,"time_base="+time_base[0]+"/"+time_base[1]+":frame_rate="+frame_rate+":pix_fmt="+(input.pix_fmt?input.pix_fmt:0)+":width="+(input.width?input.width:640)+":height="+(input.height?input.height:360),null,filter_graph)}else{if(abuffersrc===0)throw new Error("Failed to load abuffer filter");var sample_rate=input.sample_rate;var time_base=input.time_base;if(typeof sample_rate==="undefined")sample_rate=48e3;if(typeof time_base==="undefined")time_base=[1,sample_rate];tmp_src_ctx=avfilter_graph_create_filter_js(abuffersrc,nm,"time_base="+time_base[0]+"/"+time_base[1]+":sample_rate="+sample_rate+":sample_fmt="+(input.sample_fmt?input.sample_fmt:3)+":channel_layout=0x"+(input.channel_layout?input.channel_layout:4).toString(16),null,filter_graph)}if(tmp_src_ctx===0)throw new Error("Cannot create buffer source");src_ctxs.push(tmp_src_ctx);instr=av_strdup(nm);if(instr===0)throw new Error("Failed to allocate output");AVFilterInOut_name_s(io_outputs,instr);instr=0;AVFilterInOut_filter_ctx_s(io_outputs,tmp_src_ctx);tmp_src_ctx=0;AVFilterInOut_pad_idx_s(io_outputs,0);ii++});io_inputs=0;var oi=0;output.forEach(function(output){var next_io_inputs=avfilter_inout_alloc();if(next_io_inputs===0)throw new Error("Failed to allocate inputs");AVFilterInOut_next_s(next_io_inputs,io_inputs);io_inputs=next_io_inputs;var nm="out"+(multiple_outputs?oi:"");if(output.type===0){if(buffersink===0)throw new Error("Failed to load buffersink filter");tmp_sink_ctx=avfilter_graph_create_filter_js(buffersink,nm,null,null,filter_graph)}else{tmp_sink_ctx=avfilter_graph_create_filter_js(abuffersink,nm,null,null,filter_graph)}if(tmp_sink_ctx===0)throw new Error("Cannot create buffer sink");sink_ctxs.push(tmp_sink_ctx);if(output.type===0){int32s=ff_malloc_int32_list([output.pix_fmt?output.pix_fmt:0,-1]);if(int32s===0)throw new Error("Failed to transfer parameters");if(av_opt_set_int_list_js(tmp_sink_ctx,"pix_fmts",4,int32s,-1,1)<0){throw new Error("Failed to set filter parameters")}free(int32s);int32s=0}else{int32s=ff_malloc_int32_list([output.sample_fmt?output.sample_fmt:3,-1,output.sample_rate?output.sample_rate:48e3,-1]);if(int32s===0)throw new Error("Failed to transfer parameters");var ch_layout=output.channel_layout?output.channel_layout:4;var ch_layout_i64=[~~ch_layout,Math.floor(ch_layout/4294967296)];if(av_opt_set_int_list_js(tmp_sink_ctx,"sample_fmts",4,int32s,-1,1)<0||ff_buffersink_set_ch_layout(tmp_sink_ctx,ch_layout_i64[0],ch_layout_i64[1])<0||av_opt_set_int_list_js(tmp_sink_ctx,"sample_rates",4,int32s+8,-1,1)<0){throw new Error("Failed to set filter parameters")}free(int32s);int32s=0}outstr=av_strdup(nm);if(outstr===0)throw new Error("Failed to transfer parameters");AVFilterInOut_name_s(io_inputs,outstr);outstr=0;AVFilterInOut_filter_ctx_s(io_inputs,tmp_sink_ctx);tmp_sink_ctx=0;AVFilterInOut_pad_idx_s(io_inputs,0);oi++});var ret=avfilter_graph_parse(filter_graph,filters_descr,io_inputs,io_outputs,0);if(ret<0)throw new Error("Failed to initialize filters: "+ff_error(ret));io_inputs=io_outputs=0;var oi=0;output.forEach(function(output){if(output.frame_size)av_buffersink_set_frame_size(sink_ctxs[oi],output.frame_size);oi++});ret=avfilter_graph_config(filter_graph,0);if(ret<0)throw new Error("Failed to configure filter graph: "+ff_error(ret))}catch(ex){if(io_outputs)avfilter_inout_free(io_outputs);if(io_inputs)avfilter_inout_free(io_inputs);if(filter_graph)avfilter_graph_free(filter_graph);if(tmp_src_ctx)avfilter_free(tmp_src_ctx);if(tmp_sink_ctx)avfilter_free(tmp_sink_ctx);if(int32s)free(int32s);if(instr)free(instr);if(outstr)free(outstr);throw ex}return[filter_graph,multiple_inputs?src_ctxs:src_ctxs[0],multiple_outputs?sink_ctxs:sink_ctxs[0]]};var ff_filter_multi=Module.ff_filter_multi=function(srcs,buffersink_ctx,framePtr,inFrames,config){var outFrames=[];var transfer=[];var tbNum=-1,tbDen=-1;if(!srcs.length){srcs=[srcs];inFrames=[inFrames];config=[config]}config=config.map(function(config){if(config===true)return{fin:true};return config||{}});var max=inFrames.map(function(srcFrames){return srcFrames.length}).reduce(function(a,b){return Math.max(a,b)});function handleFrame(buffersrc_ctx,inFrame,copyoutFrame,config){if(inFrame!==null)ff_copyin_frame(framePtr,inFrame);var ret=av_buffersrc_add_frame_flags(buffersrc_ctx,inFrame?framePtr:0,8);if(ret<0)throw new Error("Error while feeding the audio filtergraph: "+ff_error(ret));av_frame_unref(framePtr);while(true){ret=av_buffersink_get_frame(buffersink_ctx,framePtr);if(ret===-6||ret===-541478725)break;if(ret<0)throw new Error("Error while receiving a frame from the filtergraph: "+ff_error(ret));if(tbNum<0){tbNum=av_buffersink_get_time_base_num(buffersink_ctx);tbDen=av_buffersink_get_time_base_den(buffersink_ctx)}var outFrame=copyoutFrame(framePtr);if(tbNum&&!config.ignoreSinkTimebase){if(typeof outFrame==="number"){AVFrame_time_base_s(outFrame,tbNum,tbDen)}else if(outFrame){outFrame.time_base_num=tbNum;outFrame.time_base_den=tbDen}}if(outFrame&&outFrame.libavjsTransfer&&outFrame.libavjsTransfer.length)transfer.push.apply(transfer,outFrame.libavjsTransfer);outFrames.push(outFrame);av_frame_unref(framePtr)}}var copyoutFrames=[];for(var ti=0;ti=5){var data=[];for(var ci=0;ci>=log2ch;plane+=linesize*h;if(plane>dataHi)dataHi=plane}outFrame.data=Module.HEAPU8.slice(dataLo,dataHi);transfer.push(outFrame.data.buffer);for(var p=0;p<8;p++){var linesize=AVFrame_linesize_a(frame,p);if(!linesize)break;var plane=AVFrame_data_a(frame,p);layout.push({offset:plane-dataLo,stride:linesize})}return outFrame};var ff_frame_video_packed_size=Module.ff_frame_video_packed_size=function(frame){var width=AVFrame_width(frame);var height=AVFrame_height(frame);var format=AVFrame_format(frame);var desc=av_pix_fmt_desc_get(format);var bpp=1;if(!(AVPixFmtDescriptor_flags(desc)&16))bpp*=AVPixFmtDescriptor_nb_components(desc);var dataSz=0;for(var i=0;i<8;i++){var linesize=AVFrame_linesize_a(frame,i);if(!linesize)break;var w=width*bpp;var h=height;if(i===1||i===2){w>>=AVPixFmtDescriptor_log2_chroma_w(desc);h>>=AVPixFmtDescriptor_log2_chroma_h(desc)}dataSz+=w*h}return dataSz};function ff_copyout_frame_data_packed(data,layout,frame){var width=AVFrame_width(frame);var height=AVFrame_height(frame);var format=AVFrame_format(frame);var desc=av_pix_fmt_desc_get(format);var bpp=1;if(!(AVPixFmtDescriptor_flags(desc)&16))bpp*=AVPixFmtDescriptor_nb_components(desc);var dIdx=0;for(var i=0;i<8;i++){var linesize=AVFrame_linesize_a(frame,i);if(!linesize)break;var inData=AVFrame_data_a(frame,i);var w=width*bpp;var h=height;if(i===1||i===2){w>>=AVPixFmtDescriptor_log2_chroma_w(desc);h>>=AVPixFmtDescriptor_log2_chroma_h(desc)}layout.push({offset:dIdx,stride:w});for(var y=0;y>>=1}}["channel_layout","channels","format","pts","ptshi","sample_rate","time_base_num","time_base_den"].forEach(function(key){if(key in frame)CAccessors["AVFrame_"+key+"_s"](framePtr,frame[key])});var nb_samples;if(format>=5){nb_samples=frame.data[0].length}else{nb_samples=frame.data.length/channels}AVFrame_nb_samples_s(framePtr,nb_samples);if(av_frame_make_writable(framePtr)<0){var ret=av_frame_get_buffer(framePtr,0);if(ret<0)throw new Error("Failed to allocate frame buffers: "+ff_error(ret))}if(format>=5){for(var ci=0;ci>=log2cw;h>>=log2ch}layout.push({offset:off,stride:w*bpp});off+=w*h*bpp}}for(var p=0;p>=log2ch;var ioff=lplane.offset;var ooff=0;var stride=Math.min(lplane.stride,linesize);for(var y=0;y{readyPromiseResolve=resolve;readyPromiseReject=reject});var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof WorkerGlobalScope!="undefined";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string"&&process.type!="renderer";if(ENVIRONMENT_IS_NODE){const{createRequire}=await import("module");let dirname=import.meta.url;if(dirname.startsWith("data:")){dirname="/"}var require=createRequire(dirname)}let _scriptName;if(typeof _scriptName==="undefined"){if(typeof LibAV==="object"&&LibAV&&LibAV.base)_scriptName=LibAV.base+"/libav-6.5.7.1-h264-aac-mp3.wasm.mjs";else if(typeof self==="object"&&self&&self.location)_scriptName=self.location.href}Module.printErr=console.log.bind(console);Module.locateFile=function(path,prefix){if(path.lastIndexOf(".wasm")===path.length-5&&path.indexOf("libav-")!==-1){if(Module.wasmurl)return Module.wasmurl;if(Module.variant)return prefix+"libav-6.5.7.1-"+Module.variant+".wasm.wasm"}return prefix+path};var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=require("fs");var nodePath=require("path");if(!import.meta.url.startsWith("data:")){scriptDirectory=nodePath.dirname(require("url").fileURLToPath(import.meta.url))+"/"}readBinary=filename=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);var ret=fs.readFileSync(filename);return ret};readAsync=(filename,binary=true)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);return new Promise((resolve,reject)=>{fs.readFile(filename,binary?undefined:"utf8",(err,data)=>{if(err)reject(err);else resolve(binary?data.buffer:data)})})};if(!Module["thisProgram"]&&process.argv.length>1){thisProgram=process.argv[1].replace(/\\/g,"/")}arguments_=process.argv.slice(2);quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptName){scriptDirectory=_scriptName}if(scriptDirectory.startsWith("blob:")){scriptDirectory=""}else{scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}{if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=url=>{if(isFileURI(url)){return new Promise((resolve,reject)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){resolve(xhr.response);return}reject(xhr.status)};xhr.onerror=reject;xhr.send(null)})}return fetch(url,{credentials:"same-origin"}).then(response=>{if(response.ok){return response.arrayBuffer()}return Promise.reject(new Error(response.status+" : "+response.url))})}}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];var wasmBinary=Module["wasmBinary"];var wasmMemory;var ABORT=false;var EXITSTATUS;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b)}var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=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.initialized)FS.init();FS.ignorePermissions=false;TTY.init();callRuntimeCallbacks(__ATINIT__)}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 addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;Module["monitorRunDependencies"]?.(runDependencies)}function removeRunDependency(id){runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";var isDataURI=filename=>filename.startsWith(dataURIPrefix);var isFileURI=filename=>filename.startsWith("file://");function findWasmBinary(){if(Module["locateFile"]){var f="libav-6.5.7.1-h264-aac-mp3.wasm.wasm";if(!isDataURI(f)){return locateFile(f)}return f}return new URL("libav-6.5.7.1-h264-aac-mp3.wasm.wasm",import.meta.url).href}var wasmBinaryFile;function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}function getBinaryPromise(binaryFile){if(!wasmBinary){return readAsync(binaryFile).then(response=>new Uint8Array(response),()=>getBinarySync(binaryFile))}return Promise.resolve().then(()=>getBinarySync(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>WebAssembly.instantiate(binary,imports)).then(receiver,reason=>{err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(binaryFile)&&!isFileURI(binaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(binaryFile,imports,callback)})})}return instantiateArrayBuffer(binaryFile,imports,callback)}function getWasmImports(){return{a:wasmImports}}function createWasm(){var info=getWasmImports();function receiveInstance(instance,module){wasmExports=instance.exports;wasmExports=Asyncify.instrumentWasmExports(wasmExports);wasmMemory=wasmExports["da"];updateMemoryViews();wasmTable=wasmExports["Mf"];addOnInit(wasmExports["ea"]);removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err(`Module.instantiateWasm callback failed with error: ${e}`);readyPromiseReject(e)}}wasmBinaryFile??=findWasmBinary();instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult).catch(readyPromiseReject);return{}}var tempDouble;var tempI64;var ASM_CONSTS={621951:()=>{Fibers.trampolineRunning=false}};function writeoutEmscriptenOOM(){throw new Error("Out of memory")}function libavjs_wait_reader(fd){return Asyncify.handleAsync(function(){return new Promise(function(res){var name=Module.fdName(fd);var waiters=Module.ff_reader_dev_waiters[name];if(!waiters)waiters=Module.ff_reader_dev_waiters[name]=[];waiters.push(res)})})}function jsfetch_open_js(url,range_header,has_range){return Asyncify.handleAsync(function(){return Promise.all([]).then(function(){url=UTF8ToString(url);var headers={};if(has_range){var range=range_header?UTF8ToString(range_header):undefined;headers.Range=range}var fetchUrl=url.startsWith("jsfetch:")?url.slice(8):url;return fetch(fetchUrl,{headers})}).then(function(response){if(!Module.libavjsJSFetch)Module.libavjsJSFetch={ctr:1,fetches:{}};var jsf=Module.libavjsJSFetch;var idx=jsf.ctr++;var reader=response.body.getReader();var jsfo=jsf.fetches[idx]={url,response,reader,next:reader.read().then(function(res){jsfo.buf=res}).catch(function(rej){jsfo.rej=rej}),buf:null,rej:null};return idx}).catch(function(ex){Module.fsThrownError=ex;console.error(ex);return-11})})}function jsfetch_read_js(idx,toBuf,size){var jsfo=Module.libavjsJSFetch.fetches[idx];return Asyncify.handleAsync(function(){return Promise.all([]).then(function(){if(jsfo.buf||jsfo.rej){var fromBuf=jsfo.buf;var rej=jsfo.rej;if(fromBuf){if(fromBuf.done){return-541478725}if(fromBuf.value.length>size){Module.HEAPU8.set(fromBuf.value.subarray(0,size),toBuf);fromBuf.value=fromBuf.value.subarray(size);return size}var ret=fromBuf.value.length;Module.HEAPU8.set(fromBuf.value,toBuf);jsfo.buf=jsfo.rej=null;jsfo.next=jsfo.reader.read().then(function(res){jsfo.buf=res}).catch(function(rej){jsfo.rej=rej});return ret}Module.fsThrownError=rej;console.error(rej);return-11}return Promise.race([jsfo.next,new Promise(function(res){setTimeout(res,100)})]).then(function(){return-6})})})}function jsfetch_close_js(idx){var jsfo=Module.libavjsJSFetch.fetches[idx];if(jsfo){try{jsfo.reader.cancel()}catch(ex){}delete Module.libavjsJSFetch.fetches[idx]}}function emfiberthreads_pthread_mutex_timedwait_setTimeout(cond,thr,timeoutReached,sec,nsec){Module.HEAPU32[timeoutReached/4]=0;var wait=sec*1e3+nsec/1e6-(new Date).getTime();return setTimeout(function(){Module.HEAPU32[timeoutReached/4]=1;Module.ccall("emfiberthreads_timeout_expiry",null,["number","number"],[cond,thr])},wait)}function emfiberthreads_pthread_mutex_timedwait_clearTimeout(timeout){clearTimeout(timeout)}class ExitStatus{name="ExitStatus";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var noExitRuntime=Module["noExitRuntime"]||true;var stackRestore=val=>__emscripten_stack_restore(val);var stackSave=()=>_emscripten_stack_get_current();var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder:undefined;var UTF8ArrayToString=(heapOrArray,idx=0,maxBytesToRead=NaN)=>{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str};var UTF8ToString=(ptr,maxBytesToRead)=>ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):"";var ___assert_fail=(condition,filename,line,func)=>{abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])};var PATH={isAbs:path=>path.charAt(0)==="/",splitPath:filename=>{var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(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:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(p=>!!p),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname: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:path=>{if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},join:(...paths)=>PATH.normalize(paths.join("/")),join2:(l,r)=>PATH.normalize(l+"/"+r)};var initRandomFill=()=>{if(typeof crypto=="object"&&typeof crypto["getRandomValues"]=="function"){return view=>crypto.getRandomValues(view)}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");var randomFillSync=crypto_module["randomFillSync"];if(randomFillSync){return view=>crypto_module["randomFillSync"](view)}var randomBytes=crypto_module["randomBytes"];return view=>(view.set(randomBytes(view.byteLength)),view)}catch(e){}}abort("initRandomDevice")};var randomFill=view=>(randomFill=initRandomFill())(view);var PATH_FS={resolve:(...args)=>{var resolvedPath="",resolvedAbsolute=false;for(var i=args.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?args[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.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(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;i{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,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;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(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;return outIdx-startIdx};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}var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=Buffer.alloc(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;try{bytesRead=fs.readSync(fd,buf,0,BUFSIZE)}catch(e){if(e.toString().includes("EOF"))bytesRead=0;else throw e}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else{}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output));tty.output=[]}},ioctl_tcgets(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output));tty.output=[]}}}};var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var mmapAlloc=size=>{abort()};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}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;parent.timestamp=node.timestamp}return node},getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){throw FS.genericErrors[44]},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}}delete old_node.parent.contents[old_node.name];old_node.parent.timestamp=Date.now();old_node.name=new_name;new_dir.contents[new_name]=old_node;new_dir.timestamp=old_node.parent.timestamp},unlink(parent,name){delete parent.contents[name];parent.timestamp=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.timestamp=Date.now()},readdir(node){var entries=[".",".."];for(var key of Object.keys(node.contents)){entries.push(key)}return entries},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=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+length{var dep=!noRunDep?getUniqueRunDependency(`al ${url}`):"";readAsync(url).then(arrayBuffer=>{onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},err=>{if(onerror){onerror()}else{throw`Loading data file "${url}" failed.`}});if(dep)addRunDependency(dep)};var FS_createDataFile=(parent,name,fileData,canRead,canWrite,canOwn)=>{FS.createDataFile(parent,name,fileData,canRead,canWrite,canOwn)};var preloadPlugins=Module["preloadPlugins"]||[];var FS_handledByPreloadPlugin=(byteArray,fullname,finish,onerror)=>{if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(plugin=>{if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}onload?.();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url,processData,onerror)}else{processData(url)}};var FS_modeStringToFlags=str=>{var flagModes={r:0,"r+":2,w:512|64|1,"w+":512|64|2,a:1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:class{name="ErrnoError";constructor(errno){this.errno=errno}},genericErrors:{},filesystems:null,syncFSRequests:0,readFiles:{},FSStream:class{shared={};get object(){return this.node}set object(val){this.node=val}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(val){this.shared.flags=val}get position(){return this.shared.position}set position(val){this.shared.position=val}},FSNode:class{node_ops={};stream_ops={};readMode=292|73;writeMode=146;mounted=null;constructor(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.rdev=rdev}get read(){return(this.mode&this.readMode)===this.readMode}set read(val){val?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(val){val?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return FS.isDir(this.mode)}get isDevice(){return FS.isChrdev(this.mode)}},lookupPath(path,opts={}){path=PATH_FS.resolve(path);if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};opts=Object.assign(defaults,opts);if(opts.recurse_count>8){throw new FS.ErrnoError(32)}var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath(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(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode(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(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode)}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(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode(node){FS.hashRemoveNode(node)},isRoot(node){return node===node.parent},isMountpoint(node){return!!node.mounted},isFile(mode){return(mode&61440)===32768},isDir(mode){return(mode&61440)===16384},isLink(mode){return(mode&61440)===40960},isChrdev(mode){return(mode&61440)===8192},isBlkdev(mode){return(mode&61440)===24576},isFIFO(mode){return(mode&61440)===4096},isSocket(mode){return(mode&49152)===49152},flagsToPermissionString(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions(node,perms){if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup(dir){if(!FS.isDir(dir.mode))return 54;var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd(){for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked(fd){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream(stream,fd=-1){stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream(fd){FS.streams[fd]=null},dupStream(origStream,fd=-1){var stream=FS.createStream(origStream,fd);stream.stream_ops?.dup?.(stream);return stream},chrdev_stream_ops:{open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;stream.stream_ops.open?.(stream)},llseek(){throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push(...m.mounts)}return mounts},syncfs(populate,callback){if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`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(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}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(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type,opts,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(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(hash=>{var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup(parent,name){return parent.node_ops.lookup(parent,name)},mknod(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(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree(path,mode){var dirs=path.split("/");var d="";for(var i=0;iFS.currentPath,chdir(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var randomBuffer=new Uint8Array(1024),randomLeft=0;var randomByte=()=>{if(randomLeft===0){randomLeft=randomFill(randomBuffer).byteLength}return randomBuffer[--randomLeft]};FS.createDevice("/dev","random",randomByte);FS.createDevice("/dev","urandom",randomByte);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories(){FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount(){var node=FS.createNode(proc_self,"fd",16384|511,73);node.node_ops={lookup(parent,name){var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams(input,output,error){if(input){FS.createDevice("/dev","stdin",input)}else{FS.symlink("/dev/tty","/dev/stdin")}if(output){FS.createDevice("/dev","stdout",null,output)}else{FS.symlink("/dev/tty","/dev/stdout")}if(error){FS.createDevice("/dev","stderr",null,error)}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},staticInit(){[44].forEach(code=>{FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=""});FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={MEMFS}},init(input,output,error){FS.initialized=true;input??=Module["stdin"];output??=Module["stdout"];error??=Module["stderr"];FS.createStandardStreams(input,output,error)},quit(){FS.initialized=false;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]}setDataGetter(getter){this.getter=getter}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=(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);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||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(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;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true}get length(){if(!this.lengthKnown){this.cacheLength()}return this._length}get chunkSize(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}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;var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,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(key=>{var fn=node.stream_ops[key];stream_ops[key]=(...args)=>{FS.forceLoadFile(node);return fn(...args)}});function writeChunks(stream,buffer,offset,length,position){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{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr,allocated:true}};node.stream_ops=stream_ops;return node}};var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return PATH.join2(dir,path)},doStat(func,path,buf){var stat=func(path);HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=stat.mode;HEAPU32[buf+8>>2]=stat.nlink;HEAP32[buf+12>>2]=stat.uid;HEAP32[buf+16>>2]=stat.gid;HEAP32[buf+20>>2]=stat.rdev;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+24>>2]=tempI64[0],HEAP32[buf+28>>2]=tempI64[1];HEAP32[buf+32>>2]=4096;HEAP32[buf+36>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();tempI64=[Math.floor(atime/1e3)>>>0,(tempDouble=Math.floor(atime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAPU32[buf+48>>2]=atime%1e3*1e3*1e3;tempI64=[Math.floor(mtime/1e3)>>>0,(tempDouble=Math.floor(mtime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+56>>2]=tempI64[0],HEAP32[buf+60>>2]=tempI64[1];HEAPU32[buf+64>>2]=mtime%1e3*1e3*1e3;tempI64=[Math.floor(ctime/1e3)>>>0,(tempDouble=Math.floor(ctime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+72>>2]=tempI64[0],HEAP32[buf+76>>2]=tempI64[1];HEAPU32[buf+80>>2]=ctime%1e3*1e3*1e3;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+88>>2]=tempI64[0],HEAP32[buf+92>>2]=tempI64[1];return 0},doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream},varargs:undefined,getStr(ptr){var ret=UTF8ToString(ptr);return ret}};var ___syscall__newselect=function(nfds,readfds,writefds,exceptfds,timeout){try{var total=0;var srcReadLow=readfds?HEAP32[readfds>>2]:0,srcReadHigh=readfds?HEAP32[readfds+4>>2]:0;var srcWriteLow=writefds?HEAP32[writefds>>2]:0,srcWriteHigh=writefds?HEAP32[writefds+4>>2]:0;var srcExceptLow=exceptfds?HEAP32[exceptfds>>2]:0,srcExceptHigh=exceptfds?HEAP32[exceptfds+4>>2]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?HEAP32[readfds>>2]:0)|(writefds?HEAP32[writefds>>2]:0)|(exceptfds?HEAP32[exceptfds>>2]:0);var allHigh=(readfds?HEAP32[readfds+4>>2]:0)|(writefds?HEAP32[writefds+4>>2]:0)|(exceptfds?HEAP32[exceptfds+4>>2]:0);var check=(fd,low,high,val)=>fd<32?low&val:high&val;for(var fd=0;fd>2]:0,tv_usec=readfds?HEAP32[timeout+4>>2]:0;timeoutInMillis=(tv_sec+tv_usec/1e6)*1e3}flags=stream.stream_ops.poll(stream,timeoutInMillis)}if(flags&1&&check(fd,srcReadLow,srcReadHigh,mask)){fd<32?dstReadLow=dstReadLow|mask:dstReadHigh=dstReadHigh|mask;total++}if(flags&4&&check(fd,srcWriteLow,srcWriteHigh,mask)){fd<32?dstWriteLow=dstWriteLow|mask:dstWriteHigh=dstWriteHigh|mask;total++}if(flags&2&&check(fd,srcExceptLow,srcExceptHigh,mask)){fd<32?dstExceptLow=dstExceptLow|mask:dstExceptHigh=dstExceptHigh|mask;total++}}if(readfds){HEAP32[readfds>>2]=dstReadLow;HEAP32[readfds+4>>2]=dstReadHigh}if(writefds){HEAP32[writefds>>2]=dstWriteLow;HEAP32[writefds+4>>2]=dstWriteHigh}if(exceptfds){HEAP32[exceptfds>>2]=dstExceptLow;HEAP32[exceptfds+4>>2]=dstExceptHigh}return total}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}};function ___syscall_dup3(fd,newfd,flags){try{var old=SYSCALLS.getStreamFromFD(fd);if(old.fd===newfd)return-28;if(newfd<0||newfd>=FS.MAX_OPEN_FDS)return-8;var existing=FS.getStream(newfd);if(existing)FS.close(existing);return FS.dupStream(old,newfd).fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_faccessat(dirfd,path,amode,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(amode&~7){return-28}var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var syscallGetVarargI=()=>{var ret=HEAP32[+SYSCALLS.varargs>>2];SYSCALLS.varargs+=4;return ret};var syscallGetVarargP=syscallGetVarargI;function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=syscallGetVarargI();if(arg<0){return-28}while(FS.streams[arg]){arg++}var newStream;newStream=FS.dupStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=syscallGetVarargI();stream.flags|=arg;return 0}case 12:{var arg=syscallGetVarargP();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0}return-28}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fstat64(fd,buf){try{var stream=SYSCALLS.getStreamFromFD(fd);return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);function ___syscall_getdents64(fd,dirp,count){try{var stream=SYSCALLS.getStreamFromFD(fd);stream.getdents||=FS.readdir(stream.path);var struct_size=280;var pos=0;var off=FS.llseek(stream,0,1);var idx=Math.floor(off/struct_size);while(idx>>0,(tempDouble=id,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[dirp+pos>>2]=tempI64[0],HEAP32[dirp+pos+4>>2]=tempI64[1];tempI64=[(idx+1)*struct_size>>>0,(tempDouble=(idx+1)*struct_size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[dirp+pos+8>>2]=tempI64[0],HEAP32[dirp+pos+12>>2]=tempI64[1];HEAP16[dirp+pos+16>>1]=280;HEAP8[dirp+pos+18]=type;stringToUTF8(name,dirp+pos+19,256);pos+=struct_size;idx+=1}FS.llseek(stream,idx*struct_size,0);return pos}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:{if(!stream.tty)return-59;return 0}case 21505:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcgets){var termios=stream.tty.ops.ioctl_tcgets(stream);var argp=syscallGetVarargP();HEAP32[argp>>2]=termios.c_iflag||0;HEAP32[argp+4>>2]=termios.c_oflag||0;HEAP32[argp+8>>2]=termios.c_cflag||0;HEAP32[argp+12>>2]=termios.c_lflag||0;for(var i=0;i<32;i++){HEAP8[argp+i+17]=termios.c_cc[i]||0}return 0}return 0}case 21510:case 21511:case 21512:{if(!stream.tty)return-59;return 0}case 21506:case 21507:case 21508:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcsets){var argp=syscallGetVarargP();var c_iflag=HEAP32[argp>>2];var c_oflag=HEAP32[argp+4>>2];var c_cflag=HEAP32[argp+8>>2];var c_lflag=HEAP32[argp+12>>2];var c_cc=[];for(var i=0;i<32;i++){c_cc.push(HEAP8[argp+i+17])}return stream.tty.ops.ioctl_tcsets(stream.tty,op,{c_iflag,c_oflag,c_cflag,c_lflag,c_cc})}return 0}case 21519:{if(!stream.tty)return-59;var argp=syscallGetVarargP();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=syscallGetVarargP();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tiocgwinsz){var winsize=stream.tty.ops.ioctl_tiocgwinsz(stream.tty);var argp=syscallGetVarargP();HEAP16[argp>>1]=winsize[0];HEAP16[argp+2>>1]=winsize[1]}return 0}case 21524:{if(!stream.tty)return-59;return 0}case 21515:{if(!stream.tty)return-59;return 0}default:return-28}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_lstat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.lstat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_mkdirat(dirfd,path,mode){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_newfstatat(dirfd,path,buf,flags){try{path=SYSCALLS.getStr(path);var nofollow=flags&256;var allowEmpty=flags&4096;flags=flags&~6400;path=SYSCALLS.calculateAt(dirfd,path,allowEmpty);return SYSCALLS.doStat(nofollow?FS.lstat:FS.stat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_openat(dirfd,path,flags,varargs){SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var mode=varargs?syscallGetVarargI():0;return FS.open(path,flags,mode).fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_renameat(olddirfd,oldpath,newdirfd,newpath){try{oldpath=SYSCALLS.getStr(oldpath);newpath=SYSCALLS.getStr(newpath);oldpath=SYSCALLS.calculateAt(olddirfd,oldpath);newpath=SYSCALLS.calculateAt(newdirfd,newpath);FS.rename(oldpath,newpath);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_rmdir(path){try{path=SYSCALLS.getStr(path);FS.rmdir(path);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_stat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_unlinkat(dirfd,path,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(flags===0){FS.unlink(path)}else if(flags===512){FS.rmdir(path)}else{abort("Invalid flags passed to unlinkat")}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var __abort_js=()=>{abort("")};var nowIsMonotonic=1;var __emscripten_get_now_is_monotonic=()=>nowIsMonotonic;var __emscripten_throw_longjmp=()=>{throw Infinity};var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;function __gmtime_js(time_low,time_high,tmPtr){var time=convertI32PairToI53Checked(time_low,time_high);var date=new Date(time*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();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}var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335];var MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334];var ydayFromDate=date=>{var leap=isLeapYear(date.getFullYear());var monthDaysCumulative=leap?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE;var yday=monthDaysCumulative[date.getMonth()]+date.getDate()-1;return yday};function __localtime_js(time_low,time_high,tmPtr){var time=convertI32PairToI53Checked(time_low,time_high);var date=new Date(time*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 yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst}var setTempRet0=val=>__emscripten_tempret_set(val);var __mktime_js=function(tmPtr){var ret=(()=>{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(date.getFullYear(),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=ydayFromDate(date)|0;HEAP32[tmPtr+28>>2]=yday;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.getYear();var timeMs=date.getTime();if(isNaN(timeMs)){return-1}return timeMs/1e3})();return setTempRet0((tempDouble=ret,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)),ret>>>0};var __tzset_js=(timezone,daylight,std_name,dst_name)=>{var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>2]=stdTimezoneOffset*60;HEAP32[daylight>>2]=Number(winterOffset!=summerOffset);var extractZone=timezoneOffset=>{var sign=timezoneOffset>=0?"-":"+";var absOffset=Math.abs(timezoneOffset);var hours=String(Math.floor(absOffset/60)).padStart(2,"0");var minutes=String(absOffset%60).padStart(2,"0");return`UTC${sign}${hours}${minutes}`};var winterName=extractZone(winterOffset);var summerName=extractZone(summerOffset);if(summerOffset{readEmAsmArgsArray.length=0;var ch;while(ch=HEAPU8[sigPtr++]){var wide=ch!=105;wide&=ch!=112;buf+=wide&&buf%8?4:0;readEmAsmArgsArray.push(ch==112?HEAPU32[buf>>2]:ch==105?HEAP32[buf>>2]:HEAPF64[buf>>3]);buf+=wide?8:4}return readEmAsmArgsArray};var runEmAsmFunction=(code,sigPtr,argbuf)=>{var args=readEmAsmArgs(sigPtr,argbuf);return ASM_CONSTS[code](...args)};var _emscripten_asm_const_int=(code,sigPtr,argbuf)=>runEmAsmFunction(code,sigPtr,argbuf);var _emscripten_date_now=()=>Date.now();var runAndAbortIfError=func=>{try{return func()}catch(e){abort(e)}};var handleException=e=>{if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)};var runtimeKeepaliveCounter=0;var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};var _exit=exitJS;var maybeExit=()=>{if(!keepRuntimeAlive()){try{_exit(EXITSTATUS)}catch(e){handleException(e)}}};var callUserCallback=func=>{if(ABORT){return}try{func();maybeExit()}catch(e){handleException(e)}};var runtimeKeepalivePush=()=>{runtimeKeepaliveCounter+=1};var runtimeKeepalivePop=()=>{runtimeKeepaliveCounter-=1};var Asyncify={instrumentWasmImports(imports){var importPattern=/^(libavjs_wait_reader|invoke_.*|__asyncjs__.*)$/;for(let[x,original]of Object.entries(imports)){if(typeof original=="function"){let isAsyncifyImport=original.isAsync||importPattern.test(x)}}},instrumentWasmExports(exports){var ret={};for(let[x,original]of Object.entries(exports)){if(typeof original=="function"){ret[x]=(...args)=>{Asyncify.exportCallStack.push(x);try{return original(...args)}finally{if(!ABORT){var y=Asyncify.exportCallStack.pop();Asyncify.maybeStopUnwind()}}}}else{ret[x]=original}}return ret},State:{Normal:0,Unwinding:1,Rewinding:2,Disabled:3},state:0,StackSize:4096,currData:null,handleSleepReturnValue:0,exportCallStack:[],callStackNameToId:{},callStackIdToName:{},callStackId:0,asyncPromiseHandlers:null,sleepCallbacks:[],getCallStackId(funcName){var id=Asyncify.callStackNameToId[funcName];if(id===undefined){id=Asyncify.callStackId++;Asyncify.callStackNameToId[funcName]=id;Asyncify.callStackIdToName[id]=funcName}return id},maybeStopUnwind(){if(Asyncify.currData&&Asyncify.state===Asyncify.State.Unwinding&&Asyncify.exportCallStack.length===0){Asyncify.state=Asyncify.State.Normal;runAndAbortIfError(_asyncify_stop_unwind);if(typeof Fibers!="undefined"){Fibers.trampoline()}}},whenDone(){return new Promise((resolve,reject)=>{Asyncify.asyncPromiseHandlers={resolve,reject}})},allocateData(){var ptr=_malloc(12+Asyncify.StackSize);Asyncify.setDataHeader(ptr,ptr+12,Asyncify.StackSize);Asyncify.setDataRewindFunc(ptr);return ptr},setDataHeader(ptr,stack,stackSize){HEAPU32[ptr>>2]=stack;HEAPU32[ptr+4>>2]=stack+stackSize},setDataRewindFunc(ptr){var bottomOfCallStack=Asyncify.exportCallStack[0];var rewindId=Asyncify.getCallStackId(bottomOfCallStack);HEAP32[ptr+8>>2]=rewindId},getDataRewindFuncName(ptr){var id=HEAP32[ptr+8>>2];var name=Asyncify.callStackIdToName[id];return name},getDataRewindFunc(name){var func=wasmExports[name];return func},doRewind(ptr){var name=Asyncify.getDataRewindFuncName(ptr);var func=Asyncify.getDataRewindFunc(name);return func()},handleSleep(startAsync){if(ABORT)return;if(Asyncify.state===Asyncify.State.Normal){var reachedCallback=false;var reachedAfterCallback=false;startAsync((handleSleepReturnValue=0)=>{if(ABORT)return;Asyncify.handleSleepReturnValue=handleSleepReturnValue;reachedCallback=true;if(!reachedAfterCallback){return}Asyncify.state=Asyncify.State.Rewinding;runAndAbortIfError(()=>_asyncify_start_rewind(Asyncify.currData));if(typeof MainLoop!="undefined"&&MainLoop.func){MainLoop.resume()}var asyncWasmReturnValue,isError=false;try{asyncWasmReturnValue=Asyncify.doRewind(Asyncify.currData)}catch(err){asyncWasmReturnValue=err;isError=true}var handled=false;if(!Asyncify.currData){var asyncPromiseHandlers=Asyncify.asyncPromiseHandlers;if(asyncPromiseHandlers){Asyncify.asyncPromiseHandlers=null;(isError?asyncPromiseHandlers.reject:asyncPromiseHandlers.resolve)(asyncWasmReturnValue);handled=true}}if(isError&&!handled){throw asyncWasmReturnValue}});reachedAfterCallback=true;if(!reachedCallback){Asyncify.state=Asyncify.State.Unwinding;Asyncify.currData=Asyncify.allocateData();if(typeof MainLoop!="undefined"&&MainLoop.func){MainLoop.pause()}runAndAbortIfError(()=>_asyncify_start_unwind(Asyncify.currData))}}else if(Asyncify.state===Asyncify.State.Rewinding){Asyncify.state=Asyncify.State.Normal;runAndAbortIfError(_asyncify_stop_rewind);_free(Asyncify.currData);Asyncify.currData=null;Asyncify.sleepCallbacks.forEach(callUserCallback)}else{abort(`invalid state: ${Asyncify.state}`)}return Asyncify.handleSleepReturnValue},handleAsync(startAsync){return Asyncify.handleSleep(wakeUp=>{startAsync().then(wakeUp)})}};var Fibers={nextFiber:0,trampolineRunning:false,trampoline(){if(!Fibers.trampolineRunning&&Fibers.nextFiber){Fibers.trampolineRunning=true;do{var fiber=Fibers.nextFiber;Fibers.nextFiber=0;Fibers.finishContextSwitch(fiber)}while(Fibers.nextFiber);Fibers.trampolineRunning=false}},finishContextSwitch(newFiber){var stack_base=HEAPU32[newFiber>>2];var stack_max=HEAPU32[newFiber+4>>2];_emscripten_stack_set_limits(stack_base,stack_max);stackRestore(HEAPU32[newFiber+8>>2]);var entryPoint=HEAPU32[newFiber+12>>2];if(entryPoint!==0){Asyncify.currData=null;HEAPU32[newFiber+12>>2]=0;var userData=HEAPU32[newFiber+16>>2];(a1=>dynCall_vi(entryPoint,a1))(userData)}else{var asyncifyData=newFiber+20;Asyncify.currData=asyncifyData;Asyncify.state=Asyncify.State.Rewinding;_asyncify_start_rewind(asyncifyData);Asyncify.doRewind(asyncifyData)}}};var _emscripten_fiber_swap=(oldFiber,newFiber)=>{if(ABORT)return;if(Asyncify.state===Asyncify.State.Normal){Asyncify.state=Asyncify.State.Unwinding;var asyncifyData=oldFiber+20;Asyncify.setDataRewindFunc(asyncifyData);Asyncify.currData=asyncifyData;_asyncify_start_unwind(asyncifyData);var stackTop=stackSave();HEAPU32[oldFiber+8>>2]=stackTop;Fibers.nextFiber=newFiber}else{Asyncify.state=Asyncify.State.Normal;_asyncify_stop_rewind();Asyncify.currData=null}};_emscripten_fiber_swap.isAsync=true;var getHeapMax=()=>2147483648;var _emscripten_get_heap_max=()=>getHeapMax();var _emscripten_get_now=()=>performance.now();var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536|0;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignMemory(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var stringToAscii=(str,buffer)=>{for(var i=0;i{var bufSize=0;getEnvStrings().forEach((string,i)=>{var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;stringToAscii(string,ptr);bufSize+=string.length+1});return 0};var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(string=>bufSize+=string.length+1);HEAPU32[penviron_buf_size>>2]=bufSize;return 0};function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_fdstat_get(fd,pbuf){try{var rightsBase=0;var rightsInheriting=0;var flags=0;{var stream=SYSCALLS.getStreamFromFD(fd);var type=stream.tty?2:FS.isDir(stream.mode)?3:FS.isLink(stream.mode)?7:4}HEAP8[pbuf]=type;HEAP16[pbuf+2>>1]=flags;tempI64=[rightsBase>>>0,(tempDouble=rightsBase,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+8>>2]=tempI64[0],HEAP32[pbuf+12>>2]=tempI64[1];tempI64=[rightsInheriting>>>0,(tempDouble=rightsInheriting,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+16>>2]=tempI64[0],HEAP32[pbuf+20>>2]=tempI64[1];return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var wasmTable;var getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};var stackAlloc=sz=>__emscripten_stack_alloc(sz);var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={string:str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},array: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{var numericArgs=!argTypes||argTypes.every(type=>type==="number"||type==="boolean");var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return(...args)=>ccall(ident,returnType,argTypes,args,opts)};FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();var wasmImports={a:___assert_fail,G:___syscall__newselect,A:___syscall_dup3,U:___syscall_faccessat,n:___syscall_fcntl64,S:___syscall_fstat64,J:___syscall_getdents64,m:___syscall_ioctl,P:___syscall_lstat64,L:___syscall_mkdirat,Q:___syscall_newfstatat,r:___syscall_openat,I:___syscall_renameat,H:___syscall_rmdir,R:___syscall_stat64,E:___syscall_unlinkat,W:__abort_js,T:__emscripten_get_now_is_monotonic,B:__emscripten_throw_longjmp,w:__gmtime_js,x:__localtime_js,y:__mktime_js,K:__tzset_js,Y:emfiberthreads_pthread_mutex_timedwait_clearTimeout,Z:emfiberthreads_pthread_mutex_timedwait_setTimeout,X:_emscripten_asm_const_int,h:_emscripten_date_now,_:_emscripten_fiber_swap,F:_emscripten_get_heap_max,k:_emscripten_get_now,C:_emscripten_resize_heap,M:_environ_get,O:_environ_sizes_get,g:_exit,i:_fd_close,q:_fd_fdstat_get,s:_fd_read,z:_fd_seek,l:_fd_write,aa:invoke_i,f:invoke_ii,e:invoke_iii,j:invoke_iiii,v:invoke_iiiii,b:invoke_vi,p:invoke_vii,d:invoke_viii,c:invoke_viiii,o:invoke_viiiii,ba:invoke_viiiiii,t:invoke_viiiiiii,u:invoke_viiiiiiii,D:jsfetch_close_js,V:jsfetch_open_js,N:jsfetch_read_js,$:libavjs_wait_reader,ca:writeoutEmscriptenOOM};var wasmExports=createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports["ea"])();var _ff_nothing=Module["_ff_nothing"]=()=>(_ff_nothing=Module["_ff_nothing"]=wasmExports["fa"])();var _AVFrame_crop_bottom=Module["_AVFrame_crop_bottom"]=a0=>(_AVFrame_crop_bottom=Module["_AVFrame_crop_bottom"]=wasmExports["ga"])(a0);var _AVFrame_crop_bottom_s=Module["_AVFrame_crop_bottom_s"]=(a0,a1)=>(_AVFrame_crop_bottom_s=Module["_AVFrame_crop_bottom_s"]=wasmExports["ha"])(a0,a1);var _AVFrame_crop_left=Module["_AVFrame_crop_left"]=a0=>(_AVFrame_crop_left=Module["_AVFrame_crop_left"]=wasmExports["ia"])(a0);var _AVFrame_crop_left_s=Module["_AVFrame_crop_left_s"]=(a0,a1)=>(_AVFrame_crop_left_s=Module["_AVFrame_crop_left_s"]=wasmExports["ja"])(a0,a1);var _AVFrame_crop_right=Module["_AVFrame_crop_right"]=a0=>(_AVFrame_crop_right=Module["_AVFrame_crop_right"]=wasmExports["ka"])(a0);var _AVFrame_crop_right_s=Module["_AVFrame_crop_right_s"]=(a0,a1)=>(_AVFrame_crop_right_s=Module["_AVFrame_crop_right_s"]=wasmExports["la"])(a0,a1);var _AVFrame_crop_top=Module["_AVFrame_crop_top"]=a0=>(_AVFrame_crop_top=Module["_AVFrame_crop_top"]=wasmExports["ma"])(a0);var _AVFrame_crop_top_s=Module["_AVFrame_crop_top_s"]=(a0,a1)=>(_AVFrame_crop_top_s=Module["_AVFrame_crop_top_s"]=wasmExports["na"])(a0,a1);var _AVFrame_data_a=Module["_AVFrame_data_a"]=(a0,a1)=>(_AVFrame_data_a=Module["_AVFrame_data_a"]=wasmExports["oa"])(a0,a1);var _AVFrame_data_a_s=Module["_AVFrame_data_a_s"]=(a0,a1,a2)=>(_AVFrame_data_a_s=Module["_AVFrame_data_a_s"]=wasmExports["pa"])(a0,a1,a2);var _AVFrame_format=Module["_AVFrame_format"]=a0=>(_AVFrame_format=Module["_AVFrame_format"]=wasmExports["qa"])(a0);var _AVFrame_format_s=Module["_AVFrame_format_s"]=(a0,a1)=>(_AVFrame_format_s=Module["_AVFrame_format_s"]=wasmExports["ra"])(a0,a1);var _AVFrame_height=Module["_AVFrame_height"]=a0=>(_AVFrame_height=Module["_AVFrame_height"]=wasmExports["sa"])(a0);var _AVFrame_height_s=Module["_AVFrame_height_s"]=(a0,a1)=>(_AVFrame_height_s=Module["_AVFrame_height_s"]=wasmExports["ta"])(a0,a1);var _AVFrame_key_frame=Module["_AVFrame_key_frame"]=a0=>(_AVFrame_key_frame=Module["_AVFrame_key_frame"]=wasmExports["ua"])(a0);var _AVFrame_key_frame_s=Module["_AVFrame_key_frame_s"]=(a0,a1)=>(_AVFrame_key_frame_s=Module["_AVFrame_key_frame_s"]=wasmExports["va"])(a0,a1);var _AVFrame_linesize_a=Module["_AVFrame_linesize_a"]=(a0,a1)=>(_AVFrame_linesize_a=Module["_AVFrame_linesize_a"]=wasmExports["wa"])(a0,a1);var _AVFrame_linesize_a_s=Module["_AVFrame_linesize_a_s"]=(a0,a1,a2)=>(_AVFrame_linesize_a_s=Module["_AVFrame_linesize_a_s"]=wasmExports["xa"])(a0,a1,a2);var _AVFrame_nb_samples=Module["_AVFrame_nb_samples"]=a0=>(_AVFrame_nb_samples=Module["_AVFrame_nb_samples"]=wasmExports["ya"])(a0);var _AVFrame_nb_samples_s=Module["_AVFrame_nb_samples_s"]=(a0,a1)=>(_AVFrame_nb_samples_s=Module["_AVFrame_nb_samples_s"]=wasmExports["za"])(a0,a1);var _AVFrame_pict_type=Module["_AVFrame_pict_type"]=a0=>(_AVFrame_pict_type=Module["_AVFrame_pict_type"]=wasmExports["Aa"])(a0);var _AVFrame_pict_type_s=Module["_AVFrame_pict_type_s"]=(a0,a1)=>(_AVFrame_pict_type_s=Module["_AVFrame_pict_type_s"]=wasmExports["Ba"])(a0,a1);var _AVFrame_pts=Module["_AVFrame_pts"]=a0=>(_AVFrame_pts=Module["_AVFrame_pts"]=wasmExports["Ca"])(a0);var _AVFrame_ptshi=Module["_AVFrame_ptshi"]=a0=>(_AVFrame_ptshi=Module["_AVFrame_ptshi"]=wasmExports["Da"])(a0);var _AVFrame_pts_s=Module["_AVFrame_pts_s"]=(a0,a1)=>(_AVFrame_pts_s=Module["_AVFrame_pts_s"]=wasmExports["Ea"])(a0,a1);var _AVFrame_ptshi_s=Module["_AVFrame_ptshi_s"]=(a0,a1)=>(_AVFrame_ptshi_s=Module["_AVFrame_ptshi_s"]=wasmExports["Fa"])(a0,a1);var _AVFrame_sample_rate=Module["_AVFrame_sample_rate"]=a0=>(_AVFrame_sample_rate=Module["_AVFrame_sample_rate"]=wasmExports["Ga"])(a0);var _AVFrame_sample_rate_s=Module["_AVFrame_sample_rate_s"]=(a0,a1)=>(_AVFrame_sample_rate_s=Module["_AVFrame_sample_rate_s"]=wasmExports["Ha"])(a0,a1);var _AVFrame_width=Module["_AVFrame_width"]=a0=>(_AVFrame_width=Module["_AVFrame_width"]=wasmExports["Ia"])(a0);var _AVFrame_width_s=Module["_AVFrame_width_s"]=(a0,a1)=>(_AVFrame_width_s=Module["_AVFrame_width_s"]=wasmExports["Ja"])(a0,a1);var _AVFrame_sample_aspect_ratio_num=Module["_AVFrame_sample_aspect_ratio_num"]=a0=>(_AVFrame_sample_aspect_ratio_num=Module["_AVFrame_sample_aspect_ratio_num"]=wasmExports["Ka"])(a0);var _AVFrame_sample_aspect_ratio_den=Module["_AVFrame_sample_aspect_ratio_den"]=a0=>(_AVFrame_sample_aspect_ratio_den=Module["_AVFrame_sample_aspect_ratio_den"]=wasmExports["La"])(a0);var _AVFrame_sample_aspect_ratio_num_s=Module["_AVFrame_sample_aspect_ratio_num_s"]=(a0,a1)=>(_AVFrame_sample_aspect_ratio_num_s=Module["_AVFrame_sample_aspect_ratio_num_s"]=wasmExports["Ma"])(a0,a1);var _AVFrame_sample_aspect_ratio_den_s=Module["_AVFrame_sample_aspect_ratio_den_s"]=(a0,a1)=>(_AVFrame_sample_aspect_ratio_den_s=Module["_AVFrame_sample_aspect_ratio_den_s"]=wasmExports["Na"])(a0,a1);var _AVFrame_sample_aspect_ratio_s=Module["_AVFrame_sample_aspect_ratio_s"]=(a0,a1,a2)=>(_AVFrame_sample_aspect_ratio_s=Module["_AVFrame_sample_aspect_ratio_s"]=wasmExports["Oa"])(a0,a1,a2);var _AVFrame_time_base_num=Module["_AVFrame_time_base_num"]=a0=>(_AVFrame_time_base_num=Module["_AVFrame_time_base_num"]=wasmExports["Pa"])(a0);var _AVFrame_time_base_den=Module["_AVFrame_time_base_den"]=a0=>(_AVFrame_time_base_den=Module["_AVFrame_time_base_den"]=wasmExports["Qa"])(a0);var _AVFrame_time_base_num_s=Module["_AVFrame_time_base_num_s"]=(a0,a1)=>(_AVFrame_time_base_num_s=Module["_AVFrame_time_base_num_s"]=wasmExports["Ra"])(a0,a1);var _AVFrame_time_base_den_s=Module["_AVFrame_time_base_den_s"]=(a0,a1)=>(_AVFrame_time_base_den_s=Module["_AVFrame_time_base_den_s"]=wasmExports["Sa"])(a0,a1);var _AVFrame_time_base_s=Module["_AVFrame_time_base_s"]=(a0,a1,a2)=>(_AVFrame_time_base_s=Module["_AVFrame_time_base_s"]=wasmExports["Ta"])(a0,a1,a2);var _AVFrame_channel_layoutmask_s=Module["_AVFrame_channel_layoutmask_s"]=(a0,a1,a2)=>(_AVFrame_channel_layoutmask_s=Module["_AVFrame_channel_layoutmask_s"]=wasmExports["Ua"])(a0,a1,a2);var _AVFrame_channel_layoutmask=Module["_AVFrame_channel_layoutmask"]=a0=>(_AVFrame_channel_layoutmask=Module["_AVFrame_channel_layoutmask"]=wasmExports["Va"])(a0);var _AVFrame_channels=Module["_AVFrame_channels"]=a0=>(_AVFrame_channels=Module["_AVFrame_channels"]=wasmExports["Wa"])(a0);var _AVFrame_channels_s=Module["_AVFrame_channels_s"]=(a0,a1)=>(_AVFrame_channels_s=Module["_AVFrame_channels_s"]=wasmExports["Xa"])(a0,a1);var _AVFrame_ch_layout_nb_channels=Module["_AVFrame_ch_layout_nb_channels"]=a0=>(_AVFrame_ch_layout_nb_channels=Module["_AVFrame_ch_layout_nb_channels"]=wasmExports["Ya"])(a0);var _AVFrame_ch_layout_nb_channels_s=Module["_AVFrame_ch_layout_nb_channels_s"]=(a0,a1)=>(_AVFrame_ch_layout_nb_channels_s=Module["_AVFrame_ch_layout_nb_channels_s"]=wasmExports["Za"])(a0,a1);var _AVFrame_channel_layout=Module["_AVFrame_channel_layout"]=a0=>(_AVFrame_channel_layout=Module["_AVFrame_channel_layout"]=wasmExports["_a"])(a0);var _AVFrame_channel_layouthi=Module["_AVFrame_channel_layouthi"]=a0=>(_AVFrame_channel_layouthi=Module["_AVFrame_channel_layouthi"]=wasmExports["$a"])(a0);var _AVFrame_channel_layout_s=Module["_AVFrame_channel_layout_s"]=(a0,a1)=>(_AVFrame_channel_layout_s=Module["_AVFrame_channel_layout_s"]=wasmExports["ab"])(a0,a1);var _AVFrame_channel_layouthi_s=Module["_AVFrame_channel_layouthi_s"]=(a0,a1)=>(_AVFrame_channel_layouthi_s=Module["_AVFrame_channel_layouthi_s"]=wasmExports["bb"])(a0,a1);var _ff_frame_rescale_ts_js=Module["_ff_frame_rescale_ts_js"]=(a0,a1,a2,a3,a4)=>(_ff_frame_rescale_ts_js=Module["_ff_frame_rescale_ts_js"]=wasmExports["cb"])(a0,a1,a2,a3,a4);var _AVPixFmtDescriptor_flags=Module["_AVPixFmtDescriptor_flags"]=a0=>(_AVPixFmtDescriptor_flags=Module["_AVPixFmtDescriptor_flags"]=wasmExports["db"])(a0);var _AVPixFmtDescriptor_flags_s=Module["_AVPixFmtDescriptor_flags_s"]=(a0,a1,a2)=>(_AVPixFmtDescriptor_flags_s=Module["_AVPixFmtDescriptor_flags_s"]=wasmExports["eb"])(a0,a1,a2);var _AVPixFmtDescriptor_nb_components=Module["_AVPixFmtDescriptor_nb_components"]=a0=>(_AVPixFmtDescriptor_nb_components=Module["_AVPixFmtDescriptor_nb_components"]=wasmExports["fb"])(a0);var _AVPixFmtDescriptor_nb_components_s=Module["_AVPixFmtDescriptor_nb_components_s"]=(a0,a1)=>(_AVPixFmtDescriptor_nb_components_s=Module["_AVPixFmtDescriptor_nb_components_s"]=wasmExports["gb"])(a0,a1);var _AVPixFmtDescriptor_log2_chroma_h=Module["_AVPixFmtDescriptor_log2_chroma_h"]=a0=>(_AVPixFmtDescriptor_log2_chroma_h=Module["_AVPixFmtDescriptor_log2_chroma_h"]=wasmExports["hb"])(a0);var _AVPixFmtDescriptor_log2_chroma_h_s=Module["_AVPixFmtDescriptor_log2_chroma_h_s"]=(a0,a1)=>(_AVPixFmtDescriptor_log2_chroma_h_s=Module["_AVPixFmtDescriptor_log2_chroma_h_s"]=wasmExports["ib"])(a0,a1);var _AVPixFmtDescriptor_log2_chroma_w=Module["_AVPixFmtDescriptor_log2_chroma_w"]=a0=>(_AVPixFmtDescriptor_log2_chroma_w=Module["_AVPixFmtDescriptor_log2_chroma_w"]=wasmExports["jb"])(a0);var _AVPixFmtDescriptor_log2_chroma_w_s=Module["_AVPixFmtDescriptor_log2_chroma_w_s"]=(a0,a1)=>(_AVPixFmtDescriptor_log2_chroma_w_s=Module["_AVPixFmtDescriptor_log2_chroma_w_s"]=wasmExports["kb"])(a0,a1);var _AVPixFmtDescriptor_comp_depth=Module["_AVPixFmtDescriptor_comp_depth"]=(a0,a1)=>(_AVPixFmtDescriptor_comp_depth=Module["_AVPixFmtDescriptor_comp_depth"]=wasmExports["lb"])(a0,a1);var _av_opt_set_int_list_js=Module["_av_opt_set_int_list_js"]=(a0,a1,a2,a3,a4,a5)=>(_av_opt_set_int_list_js=Module["_av_opt_set_int_list_js"]=wasmExports["mb"])(a0,a1,a2,a3,a4,a5);var _AVCodec_name=Module["_AVCodec_name"]=a0=>(_AVCodec_name=Module["_AVCodec_name"]=wasmExports["nb"])(a0);var _AVCodec_sample_fmts=Module["_AVCodec_sample_fmts"]=a0=>(_AVCodec_sample_fmts=Module["_AVCodec_sample_fmts"]=wasmExports["ob"])(a0);var _AVCodec_sample_fmts_s=Module["_AVCodec_sample_fmts_s"]=(a0,a1)=>(_AVCodec_sample_fmts_s=Module["_AVCodec_sample_fmts_s"]=wasmExports["pb"])(a0,a1);var _AVCodec_sample_fmts_a=Module["_AVCodec_sample_fmts_a"]=(a0,a1)=>(_AVCodec_sample_fmts_a=Module["_AVCodec_sample_fmts_a"]=wasmExports["qb"])(a0,a1);var _AVCodec_sample_fmts_a_s=Module["_AVCodec_sample_fmts_a_s"]=(a0,a1,a2)=>(_AVCodec_sample_fmts_a_s=Module["_AVCodec_sample_fmts_a_s"]=wasmExports["rb"])(a0,a1,a2);var _AVCodec_supported_samplerates=Module["_AVCodec_supported_samplerates"]=a0=>(_AVCodec_supported_samplerates=Module["_AVCodec_supported_samplerates"]=wasmExports["sb"])(a0);var _AVCodec_supported_samplerates_s=Module["_AVCodec_supported_samplerates_s"]=(a0,a1)=>(_AVCodec_supported_samplerates_s=Module["_AVCodec_supported_samplerates_s"]=wasmExports["tb"])(a0,a1);var _AVCodec_supported_samplerates_a=Module["_AVCodec_supported_samplerates_a"]=(a0,a1)=>(_AVCodec_supported_samplerates_a=Module["_AVCodec_supported_samplerates_a"]=wasmExports["ub"])(a0,a1);var _AVCodec_supported_samplerates_a_s=Module["_AVCodec_supported_samplerates_a_s"]=(a0,a1,a2)=>(_AVCodec_supported_samplerates_a_s=Module["_AVCodec_supported_samplerates_a_s"]=wasmExports["vb"])(a0,a1,a2);var _AVCodec_type=Module["_AVCodec_type"]=a0=>(_AVCodec_type=Module["_AVCodec_type"]=wasmExports["wb"])(a0);var _AVCodec_type_s=Module["_AVCodec_type_s"]=(a0,a1)=>(_AVCodec_type_s=Module["_AVCodec_type_s"]=wasmExports["xb"])(a0,a1);var _AVCodecContext_codec_id=Module["_AVCodecContext_codec_id"]=a0=>(_AVCodecContext_codec_id=Module["_AVCodecContext_codec_id"]=wasmExports["yb"])(a0);var _AVCodecContext_codec_id_s=Module["_AVCodecContext_codec_id_s"]=(a0,a1)=>(_AVCodecContext_codec_id_s=Module["_AVCodecContext_codec_id_s"]=wasmExports["zb"])(a0,a1);var _AVCodecContext_codec_type=Module["_AVCodecContext_codec_type"]=a0=>(_AVCodecContext_codec_type=Module["_AVCodecContext_codec_type"]=wasmExports["Ab"])(a0);var _AVCodecContext_codec_type_s=Module["_AVCodecContext_codec_type_s"]=(a0,a1)=>(_AVCodecContext_codec_type_s=Module["_AVCodecContext_codec_type_s"]=wasmExports["Bb"])(a0,a1);var _AVCodecContext_bit_rate=Module["_AVCodecContext_bit_rate"]=a0=>(_AVCodecContext_bit_rate=Module["_AVCodecContext_bit_rate"]=wasmExports["Cb"])(a0);var _AVCodecContext_bit_ratehi=Module["_AVCodecContext_bit_ratehi"]=a0=>(_AVCodecContext_bit_ratehi=Module["_AVCodecContext_bit_ratehi"]=wasmExports["Db"])(a0);var _AVCodecContext_bit_rate_s=Module["_AVCodecContext_bit_rate_s"]=(a0,a1)=>(_AVCodecContext_bit_rate_s=Module["_AVCodecContext_bit_rate_s"]=wasmExports["Eb"])(a0,a1);var _AVCodecContext_bit_ratehi_s=Module["_AVCodecContext_bit_ratehi_s"]=(a0,a1)=>(_AVCodecContext_bit_ratehi_s=Module["_AVCodecContext_bit_ratehi_s"]=wasmExports["Fb"])(a0,a1);var _AVCodecContext_extradata=Module["_AVCodecContext_extradata"]=a0=>(_AVCodecContext_extradata=Module["_AVCodecContext_extradata"]=wasmExports["Gb"])(a0);var _AVCodecContext_extradata_s=Module["_AVCodecContext_extradata_s"]=(a0,a1)=>(_AVCodecContext_extradata_s=Module["_AVCodecContext_extradata_s"]=wasmExports["Hb"])(a0,a1);var _AVCodecContext_extradata_size=Module["_AVCodecContext_extradata_size"]=a0=>(_AVCodecContext_extradata_size=Module["_AVCodecContext_extradata_size"]=wasmExports["Ib"])(a0);var _AVCodecContext_extradata_size_s=Module["_AVCodecContext_extradata_size_s"]=(a0,a1)=>(_AVCodecContext_extradata_size_s=Module["_AVCodecContext_extradata_size_s"]=wasmExports["Jb"])(a0,a1);var _AVCodecContext_frame_size=Module["_AVCodecContext_frame_size"]=a0=>(_AVCodecContext_frame_size=Module["_AVCodecContext_frame_size"]=wasmExports["Kb"])(a0);var _AVCodecContext_frame_size_s=Module["_AVCodecContext_frame_size_s"]=(a0,a1)=>(_AVCodecContext_frame_size_s=Module["_AVCodecContext_frame_size_s"]=wasmExports["Lb"])(a0,a1);var _AVCodecContext_gop_size=Module["_AVCodecContext_gop_size"]=a0=>(_AVCodecContext_gop_size=Module["_AVCodecContext_gop_size"]=wasmExports["Mb"])(a0);var _AVCodecContext_gop_size_s=Module["_AVCodecContext_gop_size_s"]=(a0,a1)=>(_AVCodecContext_gop_size_s=Module["_AVCodecContext_gop_size_s"]=wasmExports["Nb"])(a0,a1);var _AVCodecContext_height=Module["_AVCodecContext_height"]=a0=>(_AVCodecContext_height=Module["_AVCodecContext_height"]=wasmExports["Ob"])(a0);var _AVCodecContext_height_s=Module["_AVCodecContext_height_s"]=(a0,a1)=>(_AVCodecContext_height_s=Module["_AVCodecContext_height_s"]=wasmExports["Pb"])(a0,a1);var _AVCodecContext_keyint_min=Module["_AVCodecContext_keyint_min"]=a0=>(_AVCodecContext_keyint_min=Module["_AVCodecContext_keyint_min"]=wasmExports["Qb"])(a0);var _AVCodecContext_keyint_min_s=Module["_AVCodecContext_keyint_min_s"]=(a0,a1)=>(_AVCodecContext_keyint_min_s=Module["_AVCodecContext_keyint_min_s"]=wasmExports["Rb"])(a0,a1);var _AVCodecContext_level=Module["_AVCodecContext_level"]=a0=>(_AVCodecContext_level=Module["_AVCodecContext_level"]=wasmExports["Sb"])(a0);var _AVCodecContext_level_s=Module["_AVCodecContext_level_s"]=(a0,a1)=>(_AVCodecContext_level_s=Module["_AVCodecContext_level_s"]=wasmExports["Tb"])(a0,a1);var _AVCodecContext_max_b_frames=Module["_AVCodecContext_max_b_frames"]=a0=>(_AVCodecContext_max_b_frames=Module["_AVCodecContext_max_b_frames"]=wasmExports["Ub"])(a0);var _AVCodecContext_max_b_frames_s=Module["_AVCodecContext_max_b_frames_s"]=(a0,a1)=>(_AVCodecContext_max_b_frames_s=Module["_AVCodecContext_max_b_frames_s"]=wasmExports["Vb"])(a0,a1);var _AVCodecContext_pix_fmt=Module["_AVCodecContext_pix_fmt"]=a0=>(_AVCodecContext_pix_fmt=Module["_AVCodecContext_pix_fmt"]=wasmExports["Wb"])(a0);var _AVCodecContext_pix_fmt_s=Module["_AVCodecContext_pix_fmt_s"]=(a0,a1)=>(_AVCodecContext_pix_fmt_s=Module["_AVCodecContext_pix_fmt_s"]=wasmExports["Xb"])(a0,a1);var _AVCodecContext_profile=Module["_AVCodecContext_profile"]=a0=>(_AVCodecContext_profile=Module["_AVCodecContext_profile"]=wasmExports["Yb"])(a0);var _AVCodecContext_profile_s=Module["_AVCodecContext_profile_s"]=(a0,a1)=>(_AVCodecContext_profile_s=Module["_AVCodecContext_profile_s"]=wasmExports["Zb"])(a0,a1);var _AVCodecContext_rc_max_rate=Module["_AVCodecContext_rc_max_rate"]=a0=>(_AVCodecContext_rc_max_rate=Module["_AVCodecContext_rc_max_rate"]=wasmExports["_b"])(a0);var _AVCodecContext_rc_max_ratehi=Module["_AVCodecContext_rc_max_ratehi"]=a0=>(_AVCodecContext_rc_max_ratehi=Module["_AVCodecContext_rc_max_ratehi"]=wasmExports["$b"])(a0);var _AVCodecContext_rc_max_rate_s=Module["_AVCodecContext_rc_max_rate_s"]=(a0,a1)=>(_AVCodecContext_rc_max_rate_s=Module["_AVCodecContext_rc_max_rate_s"]=wasmExports["ac"])(a0,a1);var _AVCodecContext_rc_max_ratehi_s=Module["_AVCodecContext_rc_max_ratehi_s"]=(a0,a1)=>(_AVCodecContext_rc_max_ratehi_s=Module["_AVCodecContext_rc_max_ratehi_s"]=wasmExports["bc"])(a0,a1);var _AVCodecContext_rc_min_rate=Module["_AVCodecContext_rc_min_rate"]=a0=>(_AVCodecContext_rc_min_rate=Module["_AVCodecContext_rc_min_rate"]=wasmExports["cc"])(a0);var _AVCodecContext_rc_min_ratehi=Module["_AVCodecContext_rc_min_ratehi"]=a0=>(_AVCodecContext_rc_min_ratehi=Module["_AVCodecContext_rc_min_ratehi"]=wasmExports["dc"])(a0);var _AVCodecContext_rc_min_rate_s=Module["_AVCodecContext_rc_min_rate_s"]=(a0,a1)=>(_AVCodecContext_rc_min_rate_s=Module["_AVCodecContext_rc_min_rate_s"]=wasmExports["ec"])(a0,a1);var _AVCodecContext_rc_min_ratehi_s=Module["_AVCodecContext_rc_min_ratehi_s"]=(a0,a1)=>(_AVCodecContext_rc_min_ratehi_s=Module["_AVCodecContext_rc_min_ratehi_s"]=wasmExports["fc"])(a0,a1);var _AVCodecContext_sample_fmt=Module["_AVCodecContext_sample_fmt"]=a0=>(_AVCodecContext_sample_fmt=Module["_AVCodecContext_sample_fmt"]=wasmExports["gc"])(a0);var _AVCodecContext_sample_fmt_s=Module["_AVCodecContext_sample_fmt_s"]=(a0,a1)=>(_AVCodecContext_sample_fmt_s=Module["_AVCodecContext_sample_fmt_s"]=wasmExports["hc"])(a0,a1);var _AVCodecContext_sample_rate=Module["_AVCodecContext_sample_rate"]=a0=>(_AVCodecContext_sample_rate=Module["_AVCodecContext_sample_rate"]=wasmExports["ic"])(a0);var _AVCodecContext_sample_rate_s=Module["_AVCodecContext_sample_rate_s"]=(a0,a1)=>(_AVCodecContext_sample_rate_s=Module["_AVCodecContext_sample_rate_s"]=wasmExports["jc"])(a0,a1);var _AVCodecContext_qmax=Module["_AVCodecContext_qmax"]=a0=>(_AVCodecContext_qmax=Module["_AVCodecContext_qmax"]=wasmExports["kc"])(a0);var _AVCodecContext_qmax_s=Module["_AVCodecContext_qmax_s"]=(a0,a1)=>(_AVCodecContext_qmax_s=Module["_AVCodecContext_qmax_s"]=wasmExports["lc"])(a0,a1);var _AVCodecContext_qmin=Module["_AVCodecContext_qmin"]=a0=>(_AVCodecContext_qmin=Module["_AVCodecContext_qmin"]=wasmExports["mc"])(a0);var _AVCodecContext_qmin_s=Module["_AVCodecContext_qmin_s"]=(a0,a1)=>(_AVCodecContext_qmin_s=Module["_AVCodecContext_qmin_s"]=wasmExports["nc"])(a0,a1);var _AVCodecContext_width=Module["_AVCodecContext_width"]=a0=>(_AVCodecContext_width=Module["_AVCodecContext_width"]=wasmExports["oc"])(a0);var _AVCodecContext_width_s=Module["_AVCodecContext_width_s"]=(a0,a1)=>(_AVCodecContext_width_s=Module["_AVCodecContext_width_s"]=wasmExports["pc"])(a0,a1);var _AVCodecContext_framerate_num=Module["_AVCodecContext_framerate_num"]=a0=>(_AVCodecContext_framerate_num=Module["_AVCodecContext_framerate_num"]=wasmExports["qc"])(a0);var _AVCodecContext_framerate_den=Module["_AVCodecContext_framerate_den"]=a0=>(_AVCodecContext_framerate_den=Module["_AVCodecContext_framerate_den"]=wasmExports["rc"])(a0);var _AVCodecContext_framerate_num_s=Module["_AVCodecContext_framerate_num_s"]=(a0,a1)=>(_AVCodecContext_framerate_num_s=Module["_AVCodecContext_framerate_num_s"]=wasmExports["sc"])(a0,a1);var _AVCodecContext_framerate_den_s=Module["_AVCodecContext_framerate_den_s"]=(a0,a1)=>(_AVCodecContext_framerate_den_s=Module["_AVCodecContext_framerate_den_s"]=wasmExports["tc"])(a0,a1);var _AVCodecContext_framerate_s=Module["_AVCodecContext_framerate_s"]=(a0,a1,a2)=>(_AVCodecContext_framerate_s=Module["_AVCodecContext_framerate_s"]=wasmExports["uc"])(a0,a1,a2);var _AVCodecContext_sample_aspect_ratio_num=Module["_AVCodecContext_sample_aspect_ratio_num"]=a0=>(_AVCodecContext_sample_aspect_ratio_num=Module["_AVCodecContext_sample_aspect_ratio_num"]=wasmExports["vc"])(a0);var _AVCodecContext_sample_aspect_ratio_den=Module["_AVCodecContext_sample_aspect_ratio_den"]=a0=>(_AVCodecContext_sample_aspect_ratio_den=Module["_AVCodecContext_sample_aspect_ratio_den"]=wasmExports["wc"])(a0);var _AVCodecContext_sample_aspect_ratio_num_s=Module["_AVCodecContext_sample_aspect_ratio_num_s"]=(a0,a1)=>(_AVCodecContext_sample_aspect_ratio_num_s=Module["_AVCodecContext_sample_aspect_ratio_num_s"]=wasmExports["xc"])(a0,a1);var _AVCodecContext_sample_aspect_ratio_den_s=Module["_AVCodecContext_sample_aspect_ratio_den_s"]=(a0,a1)=>(_AVCodecContext_sample_aspect_ratio_den_s=Module["_AVCodecContext_sample_aspect_ratio_den_s"]=wasmExports["yc"])(a0,a1);var _AVCodecContext_sample_aspect_ratio_s=Module["_AVCodecContext_sample_aspect_ratio_s"]=(a0,a1,a2)=>(_AVCodecContext_sample_aspect_ratio_s=Module["_AVCodecContext_sample_aspect_ratio_s"]=wasmExports["zc"])(a0,a1,a2);var _AVCodecContext_time_base_num=Module["_AVCodecContext_time_base_num"]=a0=>(_AVCodecContext_time_base_num=Module["_AVCodecContext_time_base_num"]=wasmExports["Ac"])(a0);var _AVCodecContext_time_base_den=Module["_AVCodecContext_time_base_den"]=a0=>(_AVCodecContext_time_base_den=Module["_AVCodecContext_time_base_den"]=wasmExports["Bc"])(a0);var _AVCodecContext_time_base_num_s=Module["_AVCodecContext_time_base_num_s"]=(a0,a1)=>(_AVCodecContext_time_base_num_s=Module["_AVCodecContext_time_base_num_s"]=wasmExports["Cc"])(a0,a1);var _AVCodecContext_time_base_den_s=Module["_AVCodecContext_time_base_den_s"]=(a0,a1)=>(_AVCodecContext_time_base_den_s=Module["_AVCodecContext_time_base_den_s"]=wasmExports["Dc"])(a0,a1);var _AVCodecContext_time_base_s=Module["_AVCodecContext_time_base_s"]=(a0,a1,a2)=>(_AVCodecContext_time_base_s=Module["_AVCodecContext_time_base_s"]=wasmExports["Ec"])(a0,a1,a2);var _AVCodecContext_channel_layoutmask_s=Module["_AVCodecContext_channel_layoutmask_s"]=(a0,a1,a2)=>(_AVCodecContext_channel_layoutmask_s=Module["_AVCodecContext_channel_layoutmask_s"]=wasmExports["Fc"])(a0,a1,a2);var _AVCodecContext_channel_layoutmask=Module["_AVCodecContext_channel_layoutmask"]=a0=>(_AVCodecContext_channel_layoutmask=Module["_AVCodecContext_channel_layoutmask"]=wasmExports["Gc"])(a0);var _AVCodecContext_channels=Module["_AVCodecContext_channels"]=a0=>(_AVCodecContext_channels=Module["_AVCodecContext_channels"]=wasmExports["Hc"])(a0);var _AVCodecContext_channels_s=Module["_AVCodecContext_channels_s"]=(a0,a1)=>(_AVCodecContext_channels_s=Module["_AVCodecContext_channels_s"]=wasmExports["Ic"])(a0,a1);var _AVCodecContext_ch_layout_nb_channels=Module["_AVCodecContext_ch_layout_nb_channels"]=a0=>(_AVCodecContext_ch_layout_nb_channels=Module["_AVCodecContext_ch_layout_nb_channels"]=wasmExports["Jc"])(a0);var _AVCodecContext_ch_layout_nb_channels_s=Module["_AVCodecContext_ch_layout_nb_channels_s"]=(a0,a1)=>(_AVCodecContext_ch_layout_nb_channels_s=Module["_AVCodecContext_ch_layout_nb_channels_s"]=wasmExports["Kc"])(a0,a1);var _AVCodecContext_channel_layout=Module["_AVCodecContext_channel_layout"]=a0=>(_AVCodecContext_channel_layout=Module["_AVCodecContext_channel_layout"]=wasmExports["Lc"])(a0);var _AVCodecContext_channel_layouthi=Module["_AVCodecContext_channel_layouthi"]=a0=>(_AVCodecContext_channel_layouthi=Module["_AVCodecContext_channel_layouthi"]=wasmExports["Mc"])(a0);var _AVCodecContext_channel_layout_s=Module["_AVCodecContext_channel_layout_s"]=(a0,a1)=>(_AVCodecContext_channel_layout_s=Module["_AVCodecContext_channel_layout_s"]=wasmExports["Nc"])(a0,a1);var _AVCodecContext_channel_layouthi_s=Module["_AVCodecContext_channel_layouthi_s"]=(a0,a1)=>(_AVCodecContext_channel_layouthi_s=Module["_AVCodecContext_channel_layouthi_s"]=wasmExports["Oc"])(a0,a1);var _AVCodecDescriptor_id=Module["_AVCodecDescriptor_id"]=a0=>(_AVCodecDescriptor_id=Module["_AVCodecDescriptor_id"]=wasmExports["Pc"])(a0);var _AVCodecDescriptor_id_s=Module["_AVCodecDescriptor_id_s"]=(a0,a1)=>(_AVCodecDescriptor_id_s=Module["_AVCodecDescriptor_id_s"]=wasmExports["Qc"])(a0,a1);var _AVCodecDescriptor_long_name=Module["_AVCodecDescriptor_long_name"]=a0=>(_AVCodecDescriptor_long_name=Module["_AVCodecDescriptor_long_name"]=wasmExports["Rc"])(a0);var _AVCodecDescriptor_long_name_s=Module["_AVCodecDescriptor_long_name_s"]=(a0,a1)=>(_AVCodecDescriptor_long_name_s=Module["_AVCodecDescriptor_long_name_s"]=wasmExports["Sc"])(a0,a1);var _AVCodecDescriptor_mime_types_a=Module["_AVCodecDescriptor_mime_types_a"]=(a0,a1)=>(_AVCodecDescriptor_mime_types_a=Module["_AVCodecDescriptor_mime_types_a"]=wasmExports["Tc"])(a0,a1);var _AVCodecDescriptor_mime_types_a_s=Module["_AVCodecDescriptor_mime_types_a_s"]=(a0,a1,a2)=>(_AVCodecDescriptor_mime_types_a_s=Module["_AVCodecDescriptor_mime_types_a_s"]=wasmExports["Uc"])(a0,a1,a2);var _AVCodecDescriptor_name=Module["_AVCodecDescriptor_name"]=a0=>(_AVCodecDescriptor_name=Module["_AVCodecDescriptor_name"]=wasmExports["Vc"])(a0);var _AVCodecDescriptor_name_s=Module["_AVCodecDescriptor_name_s"]=(a0,a1)=>(_AVCodecDescriptor_name_s=Module["_AVCodecDescriptor_name_s"]=wasmExports["Wc"])(a0,a1);var _AVCodecDescriptor_props=Module["_AVCodecDescriptor_props"]=a0=>(_AVCodecDescriptor_props=Module["_AVCodecDescriptor_props"]=wasmExports["Xc"])(a0);var _AVCodecDescriptor_props_s=Module["_AVCodecDescriptor_props_s"]=(a0,a1)=>(_AVCodecDescriptor_props_s=Module["_AVCodecDescriptor_props_s"]=wasmExports["Yc"])(a0,a1);var _AVCodecDescriptor_type=Module["_AVCodecDescriptor_type"]=a0=>(_AVCodecDescriptor_type=Module["_AVCodecDescriptor_type"]=wasmExports["Zc"])(a0);var _AVCodecDescriptor_type_s=Module["_AVCodecDescriptor_type_s"]=(a0,a1)=>(_AVCodecDescriptor_type_s=Module["_AVCodecDescriptor_type_s"]=wasmExports["_c"])(a0,a1);var _AVCodecParameters_codec_id=Module["_AVCodecParameters_codec_id"]=a0=>(_AVCodecParameters_codec_id=Module["_AVCodecParameters_codec_id"]=wasmExports["$c"])(a0);var _AVCodecParameters_codec_id_s=Module["_AVCodecParameters_codec_id_s"]=(a0,a1)=>(_AVCodecParameters_codec_id_s=Module["_AVCodecParameters_codec_id_s"]=wasmExports["ad"])(a0,a1);var _AVCodecParameters_codec_tag=Module["_AVCodecParameters_codec_tag"]=a0=>(_AVCodecParameters_codec_tag=Module["_AVCodecParameters_codec_tag"]=wasmExports["bd"])(a0);var _AVCodecParameters_codec_tag_s=Module["_AVCodecParameters_codec_tag_s"]=(a0,a1)=>(_AVCodecParameters_codec_tag_s=Module["_AVCodecParameters_codec_tag_s"]=wasmExports["cd"])(a0,a1);var _AVCodecParameters_codec_type=Module["_AVCodecParameters_codec_type"]=a0=>(_AVCodecParameters_codec_type=Module["_AVCodecParameters_codec_type"]=wasmExports["dd"])(a0);var _AVCodecParameters_codec_type_s=Module["_AVCodecParameters_codec_type_s"]=(a0,a1)=>(_AVCodecParameters_codec_type_s=Module["_AVCodecParameters_codec_type_s"]=wasmExports["ed"])(a0,a1);var _AVCodecParameters_extradata=Module["_AVCodecParameters_extradata"]=a0=>(_AVCodecParameters_extradata=Module["_AVCodecParameters_extradata"]=wasmExports["fd"])(a0);var _AVCodecParameters_extradata_s=Module["_AVCodecParameters_extradata_s"]=(a0,a1)=>(_AVCodecParameters_extradata_s=Module["_AVCodecParameters_extradata_s"]=wasmExports["gd"])(a0,a1);var _AVCodecParameters_extradata_size=Module["_AVCodecParameters_extradata_size"]=a0=>(_AVCodecParameters_extradata_size=Module["_AVCodecParameters_extradata_size"]=wasmExports["hd"])(a0);var _AVCodecParameters_extradata_size_s=Module["_AVCodecParameters_extradata_size_s"]=(a0,a1)=>(_AVCodecParameters_extradata_size_s=Module["_AVCodecParameters_extradata_size_s"]=wasmExports["id"])(a0,a1);var _AVCodecParameters_format=Module["_AVCodecParameters_format"]=a0=>(_AVCodecParameters_format=Module["_AVCodecParameters_format"]=wasmExports["jd"])(a0);var _AVCodecParameters_format_s=Module["_AVCodecParameters_format_s"]=(a0,a1)=>(_AVCodecParameters_format_s=Module["_AVCodecParameters_format_s"]=wasmExports["kd"])(a0,a1);var _AVCodecParameters_bit_rate=Module["_AVCodecParameters_bit_rate"]=a0=>(_AVCodecParameters_bit_rate=Module["_AVCodecParameters_bit_rate"]=wasmExports["ld"])(a0);var _AVCodecParameters_bit_rate_s=Module["_AVCodecParameters_bit_rate_s"]=(a0,a1,a2)=>(_AVCodecParameters_bit_rate_s=Module["_AVCodecParameters_bit_rate_s"]=wasmExports["md"])(a0,a1,a2);var _AVCodecParameters_profile=Module["_AVCodecParameters_profile"]=a0=>(_AVCodecParameters_profile=Module["_AVCodecParameters_profile"]=wasmExports["nd"])(a0);var _AVCodecParameters_profile_s=Module["_AVCodecParameters_profile_s"]=(a0,a1)=>(_AVCodecParameters_profile_s=Module["_AVCodecParameters_profile_s"]=wasmExports["od"])(a0,a1);var _AVCodecParameters_level=Module["_AVCodecParameters_level"]=a0=>(_AVCodecParameters_level=Module["_AVCodecParameters_level"]=wasmExports["pd"])(a0);var _AVCodecParameters_level_s=Module["_AVCodecParameters_level_s"]=(a0,a1)=>(_AVCodecParameters_level_s=Module["_AVCodecParameters_level_s"]=wasmExports["qd"])(a0,a1);var _AVCodecParameters_width=Module["_AVCodecParameters_width"]=a0=>(_AVCodecParameters_width=Module["_AVCodecParameters_width"]=wasmExports["rd"])(a0);var _AVCodecParameters_width_s=Module["_AVCodecParameters_width_s"]=(a0,a1)=>(_AVCodecParameters_width_s=Module["_AVCodecParameters_width_s"]=wasmExports["sd"])(a0,a1);var _AVCodecParameters_height=Module["_AVCodecParameters_height"]=a0=>(_AVCodecParameters_height=Module["_AVCodecParameters_height"]=wasmExports["td"])(a0);var _AVCodecParameters_height_s=Module["_AVCodecParameters_height_s"]=(a0,a1)=>(_AVCodecParameters_height_s=Module["_AVCodecParameters_height_s"]=wasmExports["ud"])(a0,a1);var _AVCodecParameters_color_range=Module["_AVCodecParameters_color_range"]=a0=>(_AVCodecParameters_color_range=Module["_AVCodecParameters_color_range"]=wasmExports["vd"])(a0);var _AVCodecParameters_color_range_s=Module["_AVCodecParameters_color_range_s"]=(a0,a1)=>(_AVCodecParameters_color_range_s=Module["_AVCodecParameters_color_range_s"]=wasmExports["wd"])(a0,a1);var _AVCodecParameters_color_primaries=Module["_AVCodecParameters_color_primaries"]=a0=>(_AVCodecParameters_color_primaries=Module["_AVCodecParameters_color_primaries"]=wasmExports["xd"])(a0);var _AVCodecParameters_color_primaries_s=Module["_AVCodecParameters_color_primaries_s"]=(a0,a1)=>(_AVCodecParameters_color_primaries_s=Module["_AVCodecParameters_color_primaries_s"]=wasmExports["yd"])(a0,a1);var _AVCodecParameters_color_trc=Module["_AVCodecParameters_color_trc"]=a0=>(_AVCodecParameters_color_trc=Module["_AVCodecParameters_color_trc"]=wasmExports["zd"])(a0);var _AVCodecParameters_color_trc_s=Module["_AVCodecParameters_color_trc_s"]=(a0,a1)=>(_AVCodecParameters_color_trc_s=Module["_AVCodecParameters_color_trc_s"]=wasmExports["Ad"])(a0,a1);var _AVCodecParameters_color_space=Module["_AVCodecParameters_color_space"]=a0=>(_AVCodecParameters_color_space=Module["_AVCodecParameters_color_space"]=wasmExports["Bd"])(a0);var _AVCodecParameters_color_space_s=Module["_AVCodecParameters_color_space_s"]=(a0,a1)=>(_AVCodecParameters_color_space_s=Module["_AVCodecParameters_color_space_s"]=wasmExports["Cd"])(a0,a1);var _AVCodecParameters_chroma_location=Module["_AVCodecParameters_chroma_location"]=a0=>(_AVCodecParameters_chroma_location=Module["_AVCodecParameters_chroma_location"]=wasmExports["Dd"])(a0);var _AVCodecParameters_chroma_location_s=Module["_AVCodecParameters_chroma_location_s"]=(a0,a1)=>(_AVCodecParameters_chroma_location_s=Module["_AVCodecParameters_chroma_location_s"]=wasmExports["Ed"])(a0,a1);var _AVCodecParameters_sample_rate=Module["_AVCodecParameters_sample_rate"]=a0=>(_AVCodecParameters_sample_rate=Module["_AVCodecParameters_sample_rate"]=wasmExports["Fd"])(a0);var _AVCodecParameters_sample_rate_s=Module["_AVCodecParameters_sample_rate_s"]=(a0,a1)=>(_AVCodecParameters_sample_rate_s=Module["_AVCodecParameters_sample_rate_s"]=wasmExports["Gd"])(a0,a1);var _AVCodecParameters_framerate_num=Module["_AVCodecParameters_framerate_num"]=a0=>(_AVCodecParameters_framerate_num=Module["_AVCodecParameters_framerate_num"]=wasmExports["Hd"])(a0);var _AVCodecParameters_framerate_den=Module["_AVCodecParameters_framerate_den"]=a0=>(_AVCodecParameters_framerate_den=Module["_AVCodecParameters_framerate_den"]=wasmExports["Id"])(a0);var _AVCodecParameters_framerate_num_s=Module["_AVCodecParameters_framerate_num_s"]=(a0,a1)=>(_AVCodecParameters_framerate_num_s=Module["_AVCodecParameters_framerate_num_s"]=wasmExports["Jd"])(a0,a1);var _AVCodecParameters_framerate_den_s=Module["_AVCodecParameters_framerate_den_s"]=(a0,a1)=>(_AVCodecParameters_framerate_den_s=Module["_AVCodecParameters_framerate_den_s"]=wasmExports["Kd"])(a0,a1);var _AVCodecParameters_framerate_s=Module["_AVCodecParameters_framerate_s"]=(a0,a1,a2)=>(_AVCodecParameters_framerate_s=Module["_AVCodecParameters_framerate_s"]=wasmExports["Ld"])(a0,a1,a2);var _AVCodecParameters_channel_layoutmask_s=Module["_AVCodecParameters_channel_layoutmask_s"]=(a0,a1,a2)=>(_AVCodecParameters_channel_layoutmask_s=Module["_AVCodecParameters_channel_layoutmask_s"]=wasmExports["Md"])(a0,a1,a2);var _AVCodecParameters_channel_layoutmask=Module["_AVCodecParameters_channel_layoutmask"]=a0=>(_AVCodecParameters_channel_layoutmask=Module["_AVCodecParameters_channel_layoutmask"]=wasmExports["Nd"])(a0);var _AVCodecParameters_channels=Module["_AVCodecParameters_channels"]=a0=>(_AVCodecParameters_channels=Module["_AVCodecParameters_channels"]=wasmExports["Od"])(a0);var _AVCodecParameters_channels_s=Module["_AVCodecParameters_channels_s"]=(a0,a1)=>(_AVCodecParameters_channels_s=Module["_AVCodecParameters_channels_s"]=wasmExports["Pd"])(a0,a1);var _AVCodecParameters_ch_layout_nb_channels=Module["_AVCodecParameters_ch_layout_nb_channels"]=a0=>(_AVCodecParameters_ch_layout_nb_channels=Module["_AVCodecParameters_ch_layout_nb_channels"]=wasmExports["Qd"])(a0);var _AVCodecParameters_ch_layout_nb_channels_s=Module["_AVCodecParameters_ch_layout_nb_channels_s"]=(a0,a1)=>(_AVCodecParameters_ch_layout_nb_channels_s=Module["_AVCodecParameters_ch_layout_nb_channels_s"]=wasmExports["Rd"])(a0,a1);var _AVPacket_data=Module["_AVPacket_data"]=a0=>(_AVPacket_data=Module["_AVPacket_data"]=wasmExports["Sd"])(a0);var _AVPacket_data_s=Module["_AVPacket_data_s"]=(a0,a1)=>(_AVPacket_data_s=Module["_AVPacket_data_s"]=wasmExports["Td"])(a0,a1);var _AVPacket_dts=Module["_AVPacket_dts"]=a0=>(_AVPacket_dts=Module["_AVPacket_dts"]=wasmExports["Ud"])(a0);var _AVPacket_dtshi=Module["_AVPacket_dtshi"]=a0=>(_AVPacket_dtshi=Module["_AVPacket_dtshi"]=wasmExports["Vd"])(a0);var _AVPacket_dts_s=Module["_AVPacket_dts_s"]=(a0,a1)=>(_AVPacket_dts_s=Module["_AVPacket_dts_s"]=wasmExports["Wd"])(a0,a1);var _AVPacket_dtshi_s=Module["_AVPacket_dtshi_s"]=(a0,a1)=>(_AVPacket_dtshi_s=Module["_AVPacket_dtshi_s"]=wasmExports["Xd"])(a0,a1);var _AVPacket_duration=Module["_AVPacket_duration"]=a0=>(_AVPacket_duration=Module["_AVPacket_duration"]=wasmExports["Yd"])(a0);var _AVPacket_durationhi=Module["_AVPacket_durationhi"]=a0=>(_AVPacket_durationhi=Module["_AVPacket_durationhi"]=wasmExports["Zd"])(a0);var _AVPacket_duration_s=Module["_AVPacket_duration_s"]=(a0,a1)=>(_AVPacket_duration_s=Module["_AVPacket_duration_s"]=wasmExports["_d"])(a0,a1);var _AVPacket_durationhi_s=Module["_AVPacket_durationhi_s"]=(a0,a1)=>(_AVPacket_durationhi_s=Module["_AVPacket_durationhi_s"]=wasmExports["$d"])(a0,a1);var _AVPacket_flags=Module["_AVPacket_flags"]=a0=>(_AVPacket_flags=Module["_AVPacket_flags"]=wasmExports["ae"])(a0);var _AVPacket_flags_s=Module["_AVPacket_flags_s"]=(a0,a1)=>(_AVPacket_flags_s=Module["_AVPacket_flags_s"]=wasmExports["be"])(a0,a1);var _AVPacket_pos=Module["_AVPacket_pos"]=a0=>(_AVPacket_pos=Module["_AVPacket_pos"]=wasmExports["ce"])(a0);var _AVPacket_poshi=Module["_AVPacket_poshi"]=a0=>(_AVPacket_poshi=Module["_AVPacket_poshi"]=wasmExports["de"])(a0);var _AVPacket_pos_s=Module["_AVPacket_pos_s"]=(a0,a1)=>(_AVPacket_pos_s=Module["_AVPacket_pos_s"]=wasmExports["ee"])(a0,a1);var _AVPacket_poshi_s=Module["_AVPacket_poshi_s"]=(a0,a1)=>(_AVPacket_poshi_s=Module["_AVPacket_poshi_s"]=wasmExports["fe"])(a0,a1);var _AVPacket_pts=Module["_AVPacket_pts"]=a0=>(_AVPacket_pts=Module["_AVPacket_pts"]=wasmExports["ge"])(a0);var _AVPacket_ptshi=Module["_AVPacket_ptshi"]=a0=>(_AVPacket_ptshi=Module["_AVPacket_ptshi"]=wasmExports["he"])(a0);var _AVPacket_pts_s=Module["_AVPacket_pts_s"]=(a0,a1)=>(_AVPacket_pts_s=Module["_AVPacket_pts_s"]=wasmExports["ie"])(a0,a1);var _AVPacket_ptshi_s=Module["_AVPacket_ptshi_s"]=(a0,a1)=>(_AVPacket_ptshi_s=Module["_AVPacket_ptshi_s"]=wasmExports["je"])(a0,a1);var _AVPacket_side_data=Module["_AVPacket_side_data"]=a0=>(_AVPacket_side_data=Module["_AVPacket_side_data"]=wasmExports["ke"])(a0);var _AVPacket_side_data_s=Module["_AVPacket_side_data_s"]=(a0,a1)=>(_AVPacket_side_data_s=Module["_AVPacket_side_data_s"]=wasmExports["le"])(a0,a1);var _AVPacket_side_data_elems=Module["_AVPacket_side_data_elems"]=a0=>(_AVPacket_side_data_elems=Module["_AVPacket_side_data_elems"]=wasmExports["me"])(a0);var _AVPacket_side_data_elems_s=Module["_AVPacket_side_data_elems_s"]=(a0,a1)=>(_AVPacket_side_data_elems_s=Module["_AVPacket_side_data_elems_s"]=wasmExports["ne"])(a0,a1);var _AVPacket_size=Module["_AVPacket_size"]=a0=>(_AVPacket_size=Module["_AVPacket_size"]=wasmExports["oe"])(a0);var _AVPacket_size_s=Module["_AVPacket_size_s"]=(a0,a1)=>(_AVPacket_size_s=Module["_AVPacket_size_s"]=wasmExports["pe"])(a0,a1);var _AVPacket_stream_index=Module["_AVPacket_stream_index"]=a0=>(_AVPacket_stream_index=Module["_AVPacket_stream_index"]=wasmExports["qe"])(a0);var _AVPacket_stream_index_s=Module["_AVPacket_stream_index_s"]=(a0,a1)=>(_AVPacket_stream_index_s=Module["_AVPacket_stream_index_s"]=wasmExports["re"])(a0,a1);var _AVPacket_time_base_num=Module["_AVPacket_time_base_num"]=a0=>(_AVPacket_time_base_num=Module["_AVPacket_time_base_num"]=wasmExports["se"])(a0);var _AVPacket_time_base_den=Module["_AVPacket_time_base_den"]=a0=>(_AVPacket_time_base_den=Module["_AVPacket_time_base_den"]=wasmExports["te"])(a0);var _AVPacket_time_base_num_s=Module["_AVPacket_time_base_num_s"]=(a0,a1)=>(_AVPacket_time_base_num_s=Module["_AVPacket_time_base_num_s"]=wasmExports["ue"])(a0,a1);var _AVPacket_time_base_den_s=Module["_AVPacket_time_base_den_s"]=(a0,a1)=>(_AVPacket_time_base_den_s=Module["_AVPacket_time_base_den_s"]=wasmExports["ve"])(a0,a1);var _AVPacket_time_base_s=Module["_AVPacket_time_base_s"]=(a0,a1,a2)=>(_AVPacket_time_base_s=Module["_AVPacket_time_base_s"]=wasmExports["we"])(a0,a1,a2);var _AVPacketSideData_data=Module["_AVPacketSideData_data"]=(a0,a1)=>(_AVPacketSideData_data=Module["_AVPacketSideData_data"]=wasmExports["xe"])(a0,a1);var _AVPacketSideData_size=Module["_AVPacketSideData_size"]=(a0,a1)=>(_AVPacketSideData_size=Module["_AVPacketSideData_size"]=wasmExports["ye"])(a0,a1);var _AVPacketSideData_type=Module["_AVPacketSideData_type"]=(a0,a1)=>(_AVPacketSideData_type=Module["_AVPacketSideData_type"]=wasmExports["ze"])(a0,a1);var _avcodec_open2_js=Module["_avcodec_open2_js"]=(a0,a1,a2)=>(_avcodec_open2_js=Module["_avcodec_open2_js"]=wasmExports["Ae"])(a0,a1,a2);var _avcodec_open2=Module["_avcodec_open2"]=(a0,a1,a2)=>(_avcodec_open2=Module["_avcodec_open2"]=wasmExports["Be"])(a0,a1,a2);var _av_packet_rescale_ts_js=Module["_av_packet_rescale_ts_js"]=(a0,a1,a2,a3,a4)=>(_av_packet_rescale_ts_js=Module["_av_packet_rescale_ts_js"]=wasmExports["Ce"])(a0,a1,a2,a3,a4);var _AVFormatContext_duration=Module["_AVFormatContext_duration"]=a0=>(_AVFormatContext_duration=Module["_AVFormatContext_duration"]=wasmExports["De"])(a0);var _AVFormatContext_durationhi=Module["_AVFormatContext_durationhi"]=a0=>(_AVFormatContext_durationhi=Module["_AVFormatContext_durationhi"]=wasmExports["Ee"])(a0);var _AVFormatContext_duration_s=Module["_AVFormatContext_duration_s"]=(a0,a1)=>(_AVFormatContext_duration_s=Module["_AVFormatContext_duration_s"]=wasmExports["Fe"])(a0,a1);var _AVFormatContext_durationhi_s=Module["_AVFormatContext_durationhi_s"]=(a0,a1)=>(_AVFormatContext_durationhi_s=Module["_AVFormatContext_durationhi_s"]=wasmExports["Ge"])(a0,a1);var _AVFormatContext_flags=Module["_AVFormatContext_flags"]=a0=>(_AVFormatContext_flags=Module["_AVFormatContext_flags"]=wasmExports["He"])(a0);var _AVFormatContext_flags_s=Module["_AVFormatContext_flags_s"]=(a0,a1)=>(_AVFormatContext_flags_s=Module["_AVFormatContext_flags_s"]=wasmExports["Ie"])(a0,a1);var _AVFormatContext_nb_streams=Module["_AVFormatContext_nb_streams"]=a0=>(_AVFormatContext_nb_streams=Module["_AVFormatContext_nb_streams"]=wasmExports["Je"])(a0);var _AVFormatContext_nb_streams_s=Module["_AVFormatContext_nb_streams_s"]=(a0,a1)=>(_AVFormatContext_nb_streams_s=Module["_AVFormatContext_nb_streams_s"]=wasmExports["Ke"])(a0,a1);var _AVFormatContext_oformat=Module["_AVFormatContext_oformat"]=a0=>(_AVFormatContext_oformat=Module["_AVFormatContext_oformat"]=wasmExports["Le"])(a0);var _AVFormatContext_oformat_s=Module["_AVFormatContext_oformat_s"]=(a0,a1)=>(_AVFormatContext_oformat_s=Module["_AVFormatContext_oformat_s"]=wasmExports["Me"])(a0,a1);var _AVFormatContext_pb=Module["_AVFormatContext_pb"]=a0=>(_AVFormatContext_pb=Module["_AVFormatContext_pb"]=wasmExports["Ne"])(a0);var _AVFormatContext_pb_s=Module["_AVFormatContext_pb_s"]=(a0,a1)=>(_AVFormatContext_pb_s=Module["_AVFormatContext_pb_s"]=wasmExports["Oe"])(a0,a1);var _AVFormatContext_start_time=Module["_AVFormatContext_start_time"]=a0=>(_AVFormatContext_start_time=Module["_AVFormatContext_start_time"]=wasmExports["Pe"])(a0);var _AVFormatContext_start_timehi=Module["_AVFormatContext_start_timehi"]=a0=>(_AVFormatContext_start_timehi=Module["_AVFormatContext_start_timehi"]=wasmExports["Qe"])(a0);var _AVFormatContext_start_time_s=Module["_AVFormatContext_start_time_s"]=(a0,a1)=>(_AVFormatContext_start_time_s=Module["_AVFormatContext_start_time_s"]=wasmExports["Re"])(a0,a1);var _AVFormatContext_start_timehi_s=Module["_AVFormatContext_start_timehi_s"]=(a0,a1)=>(_AVFormatContext_start_timehi_s=Module["_AVFormatContext_start_timehi_s"]=wasmExports["Se"])(a0,a1);var _AVFormatContext_streams_a=Module["_AVFormatContext_streams_a"]=(a0,a1)=>(_AVFormatContext_streams_a=Module["_AVFormatContext_streams_a"]=wasmExports["Te"])(a0,a1);var _AVFormatContext_streams_a_s=Module["_AVFormatContext_streams_a_s"]=(a0,a1,a2)=>(_AVFormatContext_streams_a_s=Module["_AVFormatContext_streams_a_s"]=wasmExports["Ue"])(a0,a1,a2);var _AVStream_codecpar=Module["_AVStream_codecpar"]=a0=>(_AVStream_codecpar=Module["_AVStream_codecpar"]=wasmExports["Ve"])(a0);var _AVStream_codecpar_s=Module["_AVStream_codecpar_s"]=(a0,a1)=>(_AVStream_codecpar_s=Module["_AVStream_codecpar_s"]=wasmExports["We"])(a0,a1);var _AVStream_discard=Module["_AVStream_discard"]=a0=>(_AVStream_discard=Module["_AVStream_discard"]=wasmExports["Xe"])(a0);var _AVStream_discard_s=Module["_AVStream_discard_s"]=(a0,a1)=>(_AVStream_discard_s=Module["_AVStream_discard_s"]=wasmExports["Ye"])(a0,a1);var _AVStream_duration=Module["_AVStream_duration"]=a0=>(_AVStream_duration=Module["_AVStream_duration"]=wasmExports["Ze"])(a0);var _AVStream_durationhi=Module["_AVStream_durationhi"]=a0=>(_AVStream_durationhi=Module["_AVStream_durationhi"]=wasmExports["_e"])(a0);var _AVStream_duration_s=Module["_AVStream_duration_s"]=(a0,a1)=>(_AVStream_duration_s=Module["_AVStream_duration_s"]=wasmExports["$e"])(a0,a1);var _AVStream_durationhi_s=Module["_AVStream_durationhi_s"]=(a0,a1)=>(_AVStream_durationhi_s=Module["_AVStream_durationhi_s"]=wasmExports["af"])(a0,a1);var _AVStream_time_base_num=Module["_AVStream_time_base_num"]=a0=>(_AVStream_time_base_num=Module["_AVStream_time_base_num"]=wasmExports["bf"])(a0);var _AVStream_time_base_den=Module["_AVStream_time_base_den"]=a0=>(_AVStream_time_base_den=Module["_AVStream_time_base_den"]=wasmExports["cf"])(a0);var _AVStream_time_base_num_s=Module["_AVStream_time_base_num_s"]=(a0,a1)=>(_AVStream_time_base_num_s=Module["_AVStream_time_base_num_s"]=wasmExports["df"])(a0,a1);var _AVStream_time_base_den_s=Module["_AVStream_time_base_den_s"]=(a0,a1)=>(_AVStream_time_base_den_s=Module["_AVStream_time_base_den_s"]=wasmExports["ef"])(a0,a1);var _AVStream_time_base_s=Module["_AVStream_time_base_s"]=(a0,a1,a2)=>(_AVStream_time_base_s=Module["_AVStream_time_base_s"]=wasmExports["ff"])(a0,a1,a2);var _avformat_seek_file_min=Module["_avformat_seek_file_min"]=(a0,a1,a2,a3,a4)=>(_avformat_seek_file_min=Module["_avformat_seek_file_min"]=wasmExports["gf"])(a0,a1,a2,a3,a4);var _avformat_seek_file=Module["_avformat_seek_file"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(_avformat_seek_file=Module["_avformat_seek_file"]=wasmExports["hf"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var _avformat_seek_file_max=Module["_avformat_seek_file_max"]=(a0,a1,a2,a3,a4)=>(_avformat_seek_file_max=Module["_avformat_seek_file_max"]=wasmExports["jf"])(a0,a1,a2,a3,a4);var _avformat_seek_file_approx=Module["_avformat_seek_file_approx"]=(a0,a1,a2,a3,a4)=>(_avformat_seek_file_approx=Module["_avformat_seek_file_approx"]=wasmExports["kf"])(a0,a1,a2,a3,a4);var _AVFilterInOut_filter_ctx=Module["_AVFilterInOut_filter_ctx"]=a0=>(_AVFilterInOut_filter_ctx=Module["_AVFilterInOut_filter_ctx"]=wasmExports["lf"])(a0);var _AVFilterInOut_filter_ctx_s=Module["_AVFilterInOut_filter_ctx_s"]=(a0,a1)=>(_AVFilterInOut_filter_ctx_s=Module["_AVFilterInOut_filter_ctx_s"]=wasmExports["mf"])(a0,a1);var _AVFilterInOut_name=Module["_AVFilterInOut_name"]=a0=>(_AVFilterInOut_name=Module["_AVFilterInOut_name"]=wasmExports["nf"])(a0);var _AVFilterInOut_name_s=Module["_AVFilterInOut_name_s"]=(a0,a1)=>(_AVFilterInOut_name_s=Module["_AVFilterInOut_name_s"]=wasmExports["of"])(a0,a1);var _AVFilterInOut_next=Module["_AVFilterInOut_next"]=a0=>(_AVFilterInOut_next=Module["_AVFilterInOut_next"]=wasmExports["pf"])(a0);var _AVFilterInOut_next_s=Module["_AVFilterInOut_next_s"]=(a0,a1)=>(_AVFilterInOut_next_s=Module["_AVFilterInOut_next_s"]=wasmExports["qf"])(a0,a1);var _AVFilterInOut_pad_idx=Module["_AVFilterInOut_pad_idx"]=a0=>(_AVFilterInOut_pad_idx=Module["_AVFilterInOut_pad_idx"]=wasmExports["rf"])(a0);var _AVFilterInOut_pad_idx_s=Module["_AVFilterInOut_pad_idx_s"]=(a0,a1)=>(_AVFilterInOut_pad_idx_s=Module["_AVFilterInOut_pad_idx_s"]=wasmExports["sf"])(a0,a1);var _av_buffersink_get_time_base_num=Module["_av_buffersink_get_time_base_num"]=a0=>(_av_buffersink_get_time_base_num=Module["_av_buffersink_get_time_base_num"]=wasmExports["tf"])(a0);var _av_buffersink_get_time_base_den=Module["_av_buffersink_get_time_base_den"]=a0=>(_av_buffersink_get_time_base_den=Module["_av_buffersink_get_time_base_den"]=wasmExports["uf"])(a0);var _ff_buffersink_set_ch_layout=Module["_ff_buffersink_set_ch_layout"]=(a0,a1,a2)=>(_ff_buffersink_set_ch_layout=Module["_ff_buffersink_set_ch_layout"]=wasmExports["vf"])(a0,a1,a2);var _av_opt_set=Module["_av_opt_set"]=(a0,a1,a2,a3)=>(_av_opt_set=Module["_av_opt_set"]=wasmExports["wf"])(a0,a1,a2,a3);var _libavjs_with_swscale=Module["_libavjs_with_swscale"]=()=>(_libavjs_with_swscale=Module["_libavjs_with_swscale"]=wasmExports["xf"])();var _libavjs_create_main_thread=Module["_libavjs_create_main_thread"]=()=>(_libavjs_create_main_thread=Module["_libavjs_create_main_thread"]=wasmExports["yf"])();var _avformat_alloc_output_context2_js=Module["_avformat_alloc_output_context2_js"]=(a0,a1,a2)=>(_avformat_alloc_output_context2_js=Module["_avformat_alloc_output_context2_js"]=wasmExports["zf"])(a0,a1,a2);var _avformat_open_input_js=Module["_avformat_open_input_js"]=(a0,a1,a2)=>(_avformat_open_input_js=Module["_avformat_open_input_js"]=wasmExports["Af"])(a0,a1,a2);var _avformat_open_input=Module["_avformat_open_input"]=(a0,a1,a2,a3)=>(_avformat_open_input=Module["_avformat_open_input"]=wasmExports["Bf"])(a0,a1,a2,a3);var _avio_open2_js=Module["_avio_open2_js"]=(a0,a1,a2,a3)=>(_avio_open2_js=Module["_avio_open2_js"]=wasmExports["Cf"])(a0,a1,a2,a3);var _avfilter_graph_create_filter_js=Module["_avfilter_graph_create_filter_js"]=(a0,a1,a2,a3,a4)=>(_avfilter_graph_create_filter_js=Module["_avfilter_graph_create_filter_js"]=wasmExports["Df"])(a0,a1,a2,a3,a4);var _av_dict_copy_js=Module["_av_dict_copy_js"]=(a0,a1,a2)=>(_av_dict_copy_js=Module["_av_dict_copy_js"]=wasmExports["Ef"])(a0,a1,a2);var _av_dict_set_js=Module["_av_dict_set_js"]=(a0,a1,a2,a3)=>(_av_dict_set_js=Module["_av_dict_set_js"]=wasmExports["Ff"])(a0,a1,a2,a3);var _av_compare_ts_js=Module["_av_compare_ts_js"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(_av_compare_ts_js=Module["_av_compare_ts_js"]=wasmExports["Gf"])(a0,a1,a2,a3,a4,a5,a6,a7);var _ff_error=Module["_ff_error"]=a0=>(_ff_error=Module["_ff_error"]=wasmExports["Hf"])(a0);var _mallinfo_uordblks=Module["_mallinfo_uordblks"]=()=>(_mallinfo_uordblks=Module["_mallinfo_uordblks"]=wasmExports["If"])();var _av_dict_free=Module["_av_dict_free"]=a0=>(_av_dict_free=Module["_av_dict_free"]=wasmExports["Jf"])(a0);var _av_log_set_level=Module["_av_log_set_level"]=a0=>(_av_log_set_level=Module["_av_log_set_level"]=wasmExports["Kf"])(a0);var _av_strdup=Module["_av_strdup"]=a0=>(_av_strdup=Module["_av_strdup"]=wasmExports["Lf"])(a0);var _avcodec_free_context=Module["_avcodec_free_context"]=a0=>(_avcodec_free_context=Module["_avcodec_free_context"]=wasmExports["Nf"])(a0);var _av_frame_free=Module["_av_frame_free"]=a0=>(_av_frame_free=Module["_av_frame_free"]=wasmExports["Of"])(a0);var _av_packet_free=Module["_av_packet_free"]=a0=>(_av_packet_free=Module["_av_packet_free"]=wasmExports["Pf"])(a0);var _av_frame_alloc=Module["_av_frame_alloc"]=()=>(_av_frame_alloc=Module["_av_frame_alloc"]=wasmExports["Qf"])();var _av_packet_alloc=Module["_av_packet_alloc"]=()=>(_av_packet_alloc=Module["_av_packet_alloc"]=wasmExports["Rf"])();var _avcodec_alloc_context3=Module["_avcodec_alloc_context3"]=a0=>(_avcodec_alloc_context3=Module["_avcodec_alloc_context3"]=wasmExports["Sf"])(a0);var _avcodec_parameters_to_context=Module["_avcodec_parameters_to_context"]=(a0,a1)=>(_avcodec_parameters_to_context=Module["_avcodec_parameters_to_context"]=wasmExports["Tf"])(a0,a1);var _avcodec_find_decoder_by_name=Module["_avcodec_find_decoder_by_name"]=a0=>(_avcodec_find_decoder_by_name=Module["_avcodec_find_decoder_by_name"]=wasmExports["Uf"])(a0);var _avcodec_find_decoder=Module["_avcodec_find_decoder"]=a0=>(_avcodec_find_decoder=Module["_avcodec_find_decoder"]=wasmExports["Vf"])(a0);var _avcodec_descriptor_get=Module["_avcodec_descriptor_get"]=a0=>(_avcodec_descriptor_get=Module["_avcodec_descriptor_get"]=wasmExports["Wf"])(a0);var _av_frame_unref=Module["_av_frame_unref"]=a0=>(_av_frame_unref=Module["_av_frame_unref"]=wasmExports["Xf"])(a0);var _avcodec_send_packet=Module["_avcodec_send_packet"]=(a0,a1)=>(_avcodec_send_packet=Module["_avcodec_send_packet"]=wasmExports["Yf"])(a0,a1);var _avcodec_receive_frame=Module["_avcodec_receive_frame"]=(a0,a1)=>(_avcodec_receive_frame=Module["_avcodec_receive_frame"]=wasmExports["Zf"])(a0,a1);var _av_frame_ref=Module["_av_frame_ref"]=(a0,a1)=>(_av_frame_ref=Module["_av_frame_ref"]=wasmExports["_f"])(a0,a1);var _av_packet_unref=Module["_av_packet_unref"]=a0=>(_av_packet_unref=Module["_av_packet_unref"]=wasmExports["$f"])(a0);var _avcodec_flush_buffers=Module["_avcodec_flush_buffers"]=a0=>(_avcodec_flush_buffers=Module["_avcodec_flush_buffers"]=wasmExports["ag"])(a0);var _av_pix_fmt_desc_get=Module["_av_pix_fmt_desc_get"]=a0=>(_av_pix_fmt_desc_get=Module["_av_pix_fmt_desc_get"]=wasmExports["bg"])(a0);var _avformat_close_input=Module["_avformat_close_input"]=a0=>(_avformat_close_input=Module["_avformat_close_input"]=wasmExports["cg"])(a0);var _avcodec_parameters_free=Module["_avcodec_parameters_free"]=a0=>(_avcodec_parameters_free=Module["_avcodec_parameters_free"]=wasmExports["dg"])(a0);var _avcodec_get_name=Module["_avcodec_get_name"]=a0=>(_avcodec_get_name=Module["_avcodec_get_name"]=wasmExports["eg"])(a0);var _av_find_input_format=Module["_av_find_input_format"]=a0=>(_av_find_input_format=Module["_av_find_input_format"]=wasmExports["fg"])(a0);var _avformat_alloc_context=Module["_avformat_alloc_context"]=()=>(_avformat_alloc_context=Module["_avformat_alloc_context"]=wasmExports["gg"])();var _avformat_free_context=Module["_avformat_free_context"]=a0=>(_avformat_free_context=Module["_avformat_free_context"]=wasmExports["hg"])(a0);var _avformat_find_stream_info=Module["_avformat_find_stream_info"]=(a0,a1)=>(_avformat_find_stream_info=Module["_avformat_find_stream_info"]=wasmExports["ig"])(a0,a1);var _avio_close=Module["_avio_close"]=a0=>(_avio_close=Module["_avio_close"]=wasmExports["jg"])(a0);var _avcodec_parameters_alloc=Module["_avcodec_parameters_alloc"]=()=>(_avcodec_parameters_alloc=Module["_avcodec_parameters_alloc"]=wasmExports["kg"])();var _avcodec_parameters_copy=Module["_avcodec_parameters_copy"]=(a0,a1)=>(_avcodec_parameters_copy=Module["_avcodec_parameters_copy"]=wasmExports["lg"])(a0,a1);var _av_read_frame=Module["_av_read_frame"]=(a0,a1)=>(_av_read_frame=Module["_av_read_frame"]=wasmExports["mg"])(a0,a1);var _av_get_bytes_per_sample=Module["_av_get_bytes_per_sample"]=a0=>(_av_get_bytes_per_sample=Module["_av_get_bytes_per_sample"]=wasmExports["ng"])(a0);var _avcodec_parameters_from_context=Module["_avcodec_parameters_from_context"]=(a0,a1)=>(_avcodec_parameters_from_context=Module["_avcodec_parameters_from_context"]=wasmExports["og"])(a0,a1);var _avio_flush=Module["_avio_flush"]=a0=>(_avio_flush=Module["_avio_flush"]=wasmExports["pg"])(a0);var _av_shrink_packet=Module["_av_shrink_packet"]=(a0,a1)=>(_av_shrink_packet=Module["_av_shrink_packet"]=wasmExports["qg"])(a0,a1);var _avcodec_send_frame=Module["_avcodec_send_frame"]=(a0,a1)=>(_avcodec_send_frame=Module["_avcodec_send_frame"]=wasmExports["rg"])(a0,a1);var _avcodec_receive_packet=Module["_avcodec_receive_packet"]=(a0,a1)=>(_avcodec_receive_packet=Module["_avcodec_receive_packet"]=wasmExports["sg"])(a0,a1);var _avfilter_graph_alloc=Module["_avfilter_graph_alloc"]=()=>(_avfilter_graph_alloc=Module["_avfilter_graph_alloc"]=wasmExports["tg"])();var _avfilter_inout_free=Module["_avfilter_inout_free"]=a0=>(_avfilter_inout_free=Module["_avfilter_inout_free"]=wasmExports["ug"])(a0);var _avfilter_graph_free=Module["_avfilter_graph_free"]=a0=>(_avfilter_graph_free=Module["_avfilter_graph_free"]=wasmExports["vg"])(a0);var _av_get_sample_fmt_name=Module["_av_get_sample_fmt_name"]=a0=>(_av_get_sample_fmt_name=Module["_av_get_sample_fmt_name"]=wasmExports["wg"])(a0);var _av_buffersrc_add_frame_flags=Module["_av_buffersrc_add_frame_flags"]=(a0,a1,a2)=>(_av_buffersrc_add_frame_flags=Module["_av_buffersrc_add_frame_flags"]=wasmExports["xg"])(a0,a1,a2);var _avfilter_get_by_name=Module["_avfilter_get_by_name"]=a0=>(_avfilter_get_by_name=Module["_avfilter_get_by_name"]=wasmExports["yg"])(a0);var _avfilter_link=Module["_avfilter_link"]=(a0,a1,a2,a3)=>(_avfilter_link=Module["_avfilter_link"]=wasmExports["zg"])(a0,a1,a2,a3);var _avfilter_graph_config=Module["_avfilter_graph_config"]=(a0,a1)=>(_avfilter_graph_config=Module["_avfilter_graph_config"]=wasmExports["Ag"])(a0,a1);var _av_frame_get_buffer=Module["_av_frame_get_buffer"]=(a0,a1)=>(_av_frame_get_buffer=Module["_av_frame_get_buffer"]=wasmExports["Bg"])(a0,a1);var _avcodec_find_encoder=Module["_avcodec_find_encoder"]=a0=>(_avcodec_find_encoder=Module["_avcodec_find_encoder"]=wasmExports["Cg"])(a0);var _avformat_new_stream=Module["_avformat_new_stream"]=(a0,a1)=>(_avformat_new_stream=Module["_avformat_new_stream"]=wasmExports["Dg"])(a0,a1);var _strerror=Module["_strerror"]=a0=>(_strerror=Module["_strerror"]=wasmExports["Eg"])(a0);var _avformat_write_header=Module["_avformat_write_header"]=(a0,a1)=>(_avformat_write_header=Module["_avformat_write_header"]=wasmExports["Fg"])(a0,a1);var _av_write_trailer=Module["_av_write_trailer"]=a0=>(_av_write_trailer=Module["_av_write_trailer"]=wasmExports["Gg"])(a0);var _av_interleaved_write_frame=Module["_av_interleaved_write_frame"]=(a0,a1)=>(_av_interleaved_write_frame=Module["_av_interleaved_write_frame"]=wasmExports["Hg"])(a0,a1);var _ffmpeg_get_out_time_ms=Module["_ffmpeg_get_out_time_ms"]=()=>(_ffmpeg_get_out_time_ms=Module["_ffmpeg_get_out_time_ms"]=wasmExports["Ig"])();var _ffmpeg_get_total_size_bytes=Module["_ffmpeg_get_total_size_bytes"]=()=>(_ffmpeg_get_total_size_bytes=Module["_ffmpeg_get_total_size_bytes"]=wasmExports["Jg"])();var _ffmpeg_interrupt=Module["_ffmpeg_interrupt"]=()=>(_ffmpeg_interrupt=Module["_ffmpeg_interrupt"]=wasmExports["Kg"])();var _ffmpeg_main=Module["_ffmpeg_main"]=(a0,a1)=>(_ffmpeg_main=Module["_ffmpeg_main"]=wasmExports["Lg"])(a0,a1);var _av_log_get_level=Module["_av_log_get_level"]=()=>(_av_log_get_level=Module["_av_log_get_level"]=wasmExports["Mg"])();var _avcodec_find_encoder_by_name=Module["_avcodec_find_encoder_by_name"]=a0=>(_avcodec_find_encoder_by_name=Module["_avcodec_find_encoder_by_name"]=wasmExports["Ng"])(a0);var _avcodec_descriptor_get_by_name=Module["_avcodec_descriptor_get_by_name"]=a0=>(_avcodec_descriptor_get_by_name=Module["_avcodec_descriptor_get_by_name"]=wasmExports["Og"])(a0);var _av_packet_ref=Module["_av_packet_ref"]=(a0,a1)=>(_av_packet_ref=Module["_av_packet_ref"]=wasmExports["Pg"])(a0,a1);var _ffprobe_main=Module["_ffprobe_main"]=(a0,a1)=>(_ffprobe_main=Module["_ffprobe_main"]=wasmExports["Qg"])(a0,a1);var _avcodec_descriptor_next=Module["_avcodec_descriptor_next"]=a0=>(_avcodec_descriptor_next=Module["_avcodec_descriptor_next"]=wasmExports["Rg"])(a0);var _av_frame_clone=Module["_av_frame_clone"]=a0=>(_av_frame_clone=Module["_av_frame_clone"]=wasmExports["Sg"])(a0);var _av_frame_make_writable=Module["_av_frame_make_writable"]=a0=>(_av_frame_make_writable=Module["_av_frame_make_writable"]=wasmExports["Tg"])(a0);var _free=Module["_free"]=a0=>(_free=Module["_free"]=wasmExports["Ug"])(a0);var _open=Module["_open"]=(a0,a1,a2)=>(_open=Module["_open"]=wasmExports["Vg"])(a0,a1,a2);var _av_find_best_stream=Module["_av_find_best_stream"]=(a0,a1,a2,a3,a4,a5)=>(_av_find_best_stream=Module["_av_find_best_stream"]=wasmExports["Wg"])(a0,a1,a2,a3,a4,a5);var _av_packet_new_side_data=Module["_av_packet_new_side_data"]=(a0,a1,a2)=>(_av_packet_new_side_data=Module["_av_packet_new_side_data"]=wasmExports["Xg"])(a0,a1,a2);var _av_write_frame=Module["_av_write_frame"]=(a0,a1)=>(_av_write_frame=Module["_av_write_frame"]=wasmExports["Yg"])(a0,a1);var _av_grow_packet=Module["_av_grow_packet"]=(a0,a1)=>(_av_grow_packet=Module["_av_grow_packet"]=wasmExports["Zg"])(a0,a1);var _av_packet_make_writable=Module["_av_packet_make_writable"]=a0=>(_av_packet_make_writable=Module["_av_packet_make_writable"]=wasmExports["_g"])(a0);var _close=Module["_close"]=a0=>(_close=Module["_close"]=wasmExports["$g"])(a0);var _av_seek_frame=Module["_av_seek_frame"]=(a0,a1,a2,a3,a4)=>(_av_seek_frame=Module["_av_seek_frame"]=wasmExports["ah"])(a0,a1,a2,a3,a4);var _avformat_flush=Module["_avformat_flush"]=a0=>(_avformat_flush=Module["_avformat_flush"]=wasmExports["bh"])(a0);var _avcodec_close=Module["_avcodec_close"]=a0=>(_avcodec_close=Module["_avcodec_close"]=wasmExports["ch"])(a0);var _av_packet_clone=Module["_av_packet_clone"]=a0=>(_av_packet_clone=Module["_av_packet_clone"]=wasmExports["dh"])(a0);var _avfilter_free=Module["_avfilter_free"]=a0=>(_avfilter_free=Module["_avfilter_free"]=wasmExports["eh"])(a0);var _av_buffersink_get_frame=Module["_av_buffersink_get_frame"]=(a0,a1)=>(_av_buffersink_get_frame=Module["_av_buffersink_get_frame"]=wasmExports["fh"])(a0,a1);var _av_buffersink_set_frame_size=Module["_av_buffersink_set_frame_size"]=(a0,a1)=>(_av_buffersink_set_frame_size=Module["_av_buffersink_set_frame_size"]=wasmExports["gh"])(a0,a1);var _avfilter_inout_alloc=Module["_avfilter_inout_alloc"]=()=>(_avfilter_inout_alloc=Module["_avfilter_inout_alloc"]=wasmExports["hh"])();var _avfilter_graph_parse=Module["_avfilter_graph_parse"]=(a0,a1,a2,a3,a4)=>(_avfilter_graph_parse=Module["_avfilter_graph_parse"]=wasmExports["ih"])(a0,a1,a2,a3,a4);var _sws_scale_frame=Module["_sws_scale_frame"]=(a0,a1,a2)=>(_sws_scale_frame=Module["_sws_scale_frame"]=wasmExports["jh"])(a0,a1,a2);var _sws_getContext=Module["_sws_getContext"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9)=>(_sws_getContext=Module["_sws_getContext"]=wasmExports["kh"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9);var _sws_freeContext=Module["_sws_freeContext"]=a0=>(_sws_freeContext=Module["_sws_freeContext"]=wasmExports["lh"])(a0);var _calloc=Module["_calloc"]=(a0,a1)=>(_calloc=Module["_calloc"]=wasmExports["mh"])(a0,a1);var _malloc=Module["_malloc"]=a0=>(_malloc=Module["_malloc"]=wasmExports["nh"])(a0);var _emfiberthreads_timeout_expiry=Module["_emfiberthreads_timeout_expiry"]=(a0,a1)=>(_emfiberthreads_timeout_expiry=Module["_emfiberthreads_timeout_expiry"]=wasmExports["oh"])(a0,a1);var _dup2=Module["_dup2"]=(a0,a1)=>(_dup2=Module["_dup2"]=wasmExports["ph"])(a0,a1);var _setThrew=(a0,a1)=>(_setThrew=wasmExports["qh"])(a0,a1);var __emscripten_tempret_set=a0=>(__emscripten_tempret_set=wasmExports["rh"])(a0);var _emscripten_stack_set_limits=(a0,a1)=>(_emscripten_stack_set_limits=wasmExports["sh"])(a0,a1);var __emscripten_stack_restore=a0=>(__emscripten_stack_restore=wasmExports["th"])(a0);var __emscripten_stack_alloc=a0=>(__emscripten_stack_alloc=wasmExports["uh"])(a0);var _emscripten_stack_get_current=()=>(_emscripten_stack_get_current=wasmExports["vh"])();var dynCall_iiii=Module["dynCall_iiii"]=(a0,a1,a2,a3)=>(dynCall_iiii=Module["dynCall_iiii"]=wasmExports["wh"])(a0,a1,a2,a3);var dynCall_ii=Module["dynCall_ii"]=(a0,a1)=>(dynCall_ii=Module["dynCall_ii"]=wasmExports["xh"])(a0,a1);var dynCall_iii=Module["dynCall_iii"]=(a0,a1,a2)=>(dynCall_iii=Module["dynCall_iii"]=wasmExports["yh"])(a0,a1,a2);var dynCall_vii=Module["dynCall_vii"]=(a0,a1,a2)=>(dynCall_vii=Module["dynCall_vii"]=wasmExports["zh"])(a0,a1,a2);var dynCall_vi=Module["dynCall_vi"]=(a0,a1)=>(dynCall_vi=Module["dynCall_vi"]=wasmExports["Ah"])(a0,a1);var dynCall_viii=Module["dynCall_viii"]=(a0,a1,a2,a3)=>(dynCall_viii=Module["dynCall_viii"]=wasmExports["Bh"])(a0,a1,a2,a3);var dynCall_iiiii=Module["dynCall_iiiii"]=(a0,a1,a2,a3,a4)=>(dynCall_iiiii=Module["dynCall_iiiii"]=wasmExports["Ch"])(a0,a1,a2,a3,a4);var dynCall_i=Module["dynCall_i"]=a0=>(dynCall_i=Module["dynCall_i"]=wasmExports["Dh"])(a0);var dynCall_viiii=Module["dynCall_viiii"]=(a0,a1,a2,a3,a4)=>(dynCall_viiii=Module["dynCall_viiii"]=wasmExports["Eh"])(a0,a1,a2,a3,a4);var dynCall_viiiiii=Module["dynCall_viiiiii"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_viiiiii=Module["dynCall_viiiiii"]=wasmExports["Fh"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_viiiii=Module["dynCall_viiiii"]=(a0,a1,a2,a3,a4,a5)=>(dynCall_viiiii=Module["dynCall_viiiii"]=wasmExports["Gh"])(a0,a1,a2,a3,a4,a5);var dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=wasmExports["Hh"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(dynCall_viiiiiii=Module["dynCall_viiiiiii"]=wasmExports["Ih"])(a0,a1,a2,a3,a4,a5,a6,a7);var _asyncify_start_unwind=a0=>(_asyncify_start_unwind=wasmExports["Jh"])(a0);var _asyncify_stop_unwind=()=>(_asyncify_stop_unwind=wasmExports["Kh"])();var _asyncify_start_rewind=a0=>(_asyncify_start_rewind=wasmExports["Lh"])(a0);var _asyncify_stop_rewind=()=>(_asyncify_stop_rewind=wasmExports["Mh"])();var _ff_h264_cabac_tables=Module["_ff_h264_cabac_tables"]=459340;function invoke_iiiii(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_iiiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vii(index,a1,a2){var sp=stackSave();try{dynCall_vii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iii(index,a1,a2){var sp=stackSave();try{return dynCall_iii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiii(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_viiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viii(index,a1,a2,a3){var sp=stackSave();try{dynCall_viii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vi(index,a1){var sp=stackSave();try{dynCall_vi(index,a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_ii(index,a1){var sp=stackSave();try{return dynCall_ii(index,a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{dynCall_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiii(index,a1,a2,a3){var sp=stackSave();try{return dynCall_iiii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{dynCall_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{dynCall_viiiii(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{dynCall_viiiiii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_i(index){var sp=stackSave();try{return dynCall_i(index)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}Module["ccall"]=ccall;Module["cwrap"]=cwrap;var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(){if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);Module["onRuntimeInitialized"]?.();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(()=>{setTimeout(()=>Module["setStatus"](""),1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run();var serializationPromise=null;function serially(f){var p;if(serializationPromise){p=serializationPromise.catch(function(){}).then(function(){return f()})}else{p=f()}serializationPromise=p=p.finally(function(){if(serializationPromise===p)serializationPromise=null});return p}Module.fsThrownError=null;var ERRNO_CODES={EPERM:1,EIO:5,EAGAIN:6,ECANCELED:11,ESPIPE:29};var readerCallbacks={open:function(stream){if(stream.flags&3){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}},close:function(){},read:function(stream,buffer,offset,length,position){var data=Module.readBuffers[stream.node.name];if(!data||data.buf.length===0&&!data.eof){if(Module.onread){try{var rr=Module.onread(stream.node.name,position,length);if(rr&&rr.then&&rr.catch){rr.catch(function(ex){ff_reader_dev_send(stream.node.name,null,{error:ex})})}}catch(ex){ff_reader_dev_send(stream.node.name,null,{error:ex})}}data=Module.readBuffers[stream.node.name]}if(!data)throw new FS.ErrnoError(ERRNO_CODES.EAGAIN);if(data.error){Module.fsThrownError=data.error;throw new FS.ErrnoError(ERRNO_CODES.ECANCELED)}if(data.errorCode)throw new FS.ErrnoError(data.errorCode);if(data.buf.length===0){if(data.eof){return 0}else{data.ready=false;throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var ret;if(length=bufMax){if(position>=stream.node.ff_block_reader_dev_size)return 0;if(!Module.onblockread)throw new FS.ErrnoError(ERRNO_CODES.EIO);try{var brr=Module.onblockread(stream.node.name,position,length);if(brr&&brr.then&&brr.catch){brr.catch(function(ex){ff_block_reader_dev_send(stream.node.name,position,null,{error:ex})})}}catch(ex){Module.fsThrownError=ex;throw new FS.ErrnoError(ERRNO_CODES.ECANCELED)}bufMin=data.position;bufMax=data.position+data.buf.length;if(position=bufMax){data.ready=false;throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var bufPos=position-bufMin;var ret;if(bufPos+lengthdata.length)av_shrink_packet(pkt,data.length)}var ptr=AVPacket_data(pkt);Module.HEAPU8.set(data,ptr)};var ff_init_muxer=Module.ff_init_muxer=function(opts,streamCtxs){var oformat=opts.oformat?opts.oformat:0;var format_name=opts.format_name?opts.format_name:null;var filename=opts.filename?opts.filename:null;var oc=avformat_alloc_output_context2_js(oformat,format_name,filename);if(oc===0)throw new Error("Failed to allocate output context");var fmt=AVFormatContext_oformat(oc);var sts=[];streamCtxs.forEach(function(ctx){var st=avformat_new_stream(oc,0);if(st===0)throw new Error("Could not allocate stream");sts.push(st);var codecpar=AVStream_codecpar(st);var ret;if(opts.codecpars){ret=avcodec_parameters_copy(codecpar,ctx[0]);AVCodecParameters_codec_tag_s(codecpar,0)}else{ret=avcodec_parameters_from_context(codecpar,ctx[0])}if(ret<0)throw new Error("Could not copy the stream parameters: "+ff_error(ret));AVStream_time_base_s(st,ctx[1],ctx[2])});if(opts.device)FS.mkdev(opts.filename,511,writerDev);var pb=null;if(opts.open){pb=avio_open2_js(opts.filename,2,0,0);if(pb===0)throw new Error("Could not open file");AVFormatContext_pb_s(oc,pb)}return[oc,fmt,pb,sts]};var ff_free_muxer=Module.ff_free_muxer=function(oc,pb){avformat_free_context(oc);if(pb)avio_close(pb)};function ff_init_demuxer_file(filename,fmt){var fmt_ctx;return avformat_open_input_js(filename,fmt?fmt:null,null).then(function(ret){fmt_ctx=ret;if(fmt_ctx===0)throw new Error("Could not open source file");return avformat_find_stream_info(fmt_ctx,0)}).then(function(){var nb_streams=AVFormatContext_nb_streams(fmt_ctx);var streams=[];for(var i=0;i=opts.limit)return[-6,outPackets];return Promise.all([]).then(step)})}return step()}Module.ff_read_frame_multi=function(){var args=arguments;return serially(function(){return ff_read_frame_multi.apply(void 0,args)})};Module.ff_read_multi=function(fmt_ctx,pkt,devfile,opts){console.log("[libav.js] ff_read_multi is deprecated. Use ff_read_frame_multi.");return Module.ff_read_frame_multi(fmt_ctx,pkt,opts)};var ff_init_filter_graph=Module.ff_init_filter_graph=function(filters_descr,input,output){var buffersrc,abuffersrc,buffersink,abuffersink,filter_graph,tmp_src_ctx,tmp_sink_ctx,src_ctxs,sink_ctxs,io_outputs,io_inputs,int32s;var instr,outstr;var multiple_inputs=!!input.length;if(!multiple_inputs)input=[input];var multiple_outputs=!!output.length;if(!multiple_outputs)output=[output];src_ctxs=[];sink_ctxs=[];try{buffersrc=avfilter_get_by_name("buffer");abuffersrc=avfilter_get_by_name("abuffer");buffersink=avfilter_get_by_name("buffersink");abuffersink=avfilter_get_by_name("abuffersink");filter_graph=avfilter_graph_alloc();if(filter_graph===0)throw new Error("Failed to allocate filter graph");io_outputs=0;var ii=0;input.forEach(function(input){var next_io_outputs=avfilter_inout_alloc();if(next_io_outputs===0)throw new Error("Failed to allocate outputs");AVFilterInOut_next_s(next_io_outputs,io_outputs);io_outputs=next_io_outputs;var nm="in"+(multiple_inputs?ii:"");if(input.type===0){if(buffersrc===0)throw new Error("Failed to load buffer filter");var frame_rate=input.frame_rate;var time_base=input.time_base;if(typeof frame_rate==="undefined")frame_rate=30;if(typeof time_base==="undefined")time_base=[1,frame_rate];tmp_src_ctx=avfilter_graph_create_filter_js(buffersrc,nm,"time_base="+time_base[0]+"/"+time_base[1]+":frame_rate="+frame_rate+":pix_fmt="+(input.pix_fmt?input.pix_fmt:0)+":width="+(input.width?input.width:640)+":height="+(input.height?input.height:360),null,filter_graph)}else{if(abuffersrc===0)throw new Error("Failed to load abuffer filter");var sample_rate=input.sample_rate;var time_base=input.time_base;if(typeof sample_rate==="undefined")sample_rate=48e3;if(typeof time_base==="undefined")time_base=[1,sample_rate];tmp_src_ctx=avfilter_graph_create_filter_js(abuffersrc,nm,"time_base="+time_base[0]+"/"+time_base[1]+":sample_rate="+sample_rate+":sample_fmt="+(input.sample_fmt?input.sample_fmt:3)+":channel_layout=0x"+(input.channel_layout?input.channel_layout:4).toString(16),null,filter_graph)}if(tmp_src_ctx===0)throw new Error("Cannot create buffer source");src_ctxs.push(tmp_src_ctx);instr=av_strdup(nm);if(instr===0)throw new Error("Failed to allocate output");AVFilterInOut_name_s(io_outputs,instr);instr=0;AVFilterInOut_filter_ctx_s(io_outputs,tmp_src_ctx);tmp_src_ctx=0;AVFilterInOut_pad_idx_s(io_outputs,0);ii++});io_inputs=0;var oi=0;output.forEach(function(output){var next_io_inputs=avfilter_inout_alloc();if(next_io_inputs===0)throw new Error("Failed to allocate inputs");AVFilterInOut_next_s(next_io_inputs,io_inputs);io_inputs=next_io_inputs;var nm="out"+(multiple_outputs?oi:"");if(output.type===0){if(buffersink===0)throw new Error("Failed to load buffersink filter");tmp_sink_ctx=avfilter_graph_create_filter_js(buffersink,nm,null,null,filter_graph)}else{tmp_sink_ctx=avfilter_graph_create_filter_js(abuffersink,nm,null,null,filter_graph)}if(tmp_sink_ctx===0)throw new Error("Cannot create buffer sink");sink_ctxs.push(tmp_sink_ctx);if(output.type===0){int32s=ff_malloc_int32_list([output.pix_fmt?output.pix_fmt:0,-1]);if(int32s===0)throw new Error("Failed to transfer parameters");if(av_opt_set_int_list_js(tmp_sink_ctx,"pix_fmts",4,int32s,-1,1)<0){throw new Error("Failed to set filter parameters")}free(int32s);int32s=0}else{int32s=ff_malloc_int32_list([output.sample_fmt?output.sample_fmt:3,-1,output.sample_rate?output.sample_rate:48e3,-1]);if(int32s===0)throw new Error("Failed to transfer parameters");var ch_layout=output.channel_layout?output.channel_layout:4;var ch_layout_i64=[~~ch_layout,Math.floor(ch_layout/4294967296)];if(av_opt_set_int_list_js(tmp_sink_ctx,"sample_fmts",4,int32s,-1,1)<0||ff_buffersink_set_ch_layout(tmp_sink_ctx,ch_layout_i64[0],ch_layout_i64[1])<0||av_opt_set_int_list_js(tmp_sink_ctx,"sample_rates",4,int32s+8,-1,1)<0){throw new Error("Failed to set filter parameters")}free(int32s);int32s=0}outstr=av_strdup(nm);if(outstr===0)throw new Error("Failed to transfer parameters");AVFilterInOut_name_s(io_inputs,outstr);outstr=0;AVFilterInOut_filter_ctx_s(io_inputs,tmp_sink_ctx);tmp_sink_ctx=0;AVFilterInOut_pad_idx_s(io_inputs,0);oi++});var ret=avfilter_graph_parse(filter_graph,filters_descr,io_inputs,io_outputs,0);if(ret<0)throw new Error("Failed to initialize filters: "+ff_error(ret));io_inputs=io_outputs=0;var oi=0;output.forEach(function(output){if(output.frame_size)av_buffersink_set_frame_size(sink_ctxs[oi],output.frame_size);oi++});ret=avfilter_graph_config(filter_graph,0);if(ret<0)throw new Error("Failed to configure filter graph: "+ff_error(ret))}catch(ex){if(io_outputs)avfilter_inout_free(io_outputs);if(io_inputs)avfilter_inout_free(io_inputs);if(filter_graph)avfilter_graph_free(filter_graph);if(tmp_src_ctx)avfilter_free(tmp_src_ctx);if(tmp_sink_ctx)avfilter_free(tmp_sink_ctx);if(int32s)free(int32s);if(instr)free(instr);if(outstr)free(outstr);throw ex}return[filter_graph,multiple_inputs?src_ctxs:src_ctxs[0],multiple_outputs?sink_ctxs:sink_ctxs[0]]};var ff_filter_multi=Module.ff_filter_multi=function(srcs,buffersink_ctx,framePtr,inFrames,config){var outFrames=[];var transfer=[];var tbNum=-1,tbDen=-1;if(!srcs.length){srcs=[srcs];inFrames=[inFrames];config=[config]}config=config.map(function(config){if(config===true)return{fin:true};return config||{}});var max=inFrames.map(function(srcFrames){return srcFrames.length}).reduce(function(a,b){return Math.max(a,b)});function handleFrame(buffersrc_ctx,inFrame,copyoutFrame,config){if(inFrame!==null)ff_copyin_frame(framePtr,inFrame);var ret=av_buffersrc_add_frame_flags(buffersrc_ctx,inFrame?framePtr:0,8);if(ret<0)throw new Error("Error while feeding the audio filtergraph: "+ff_error(ret));av_frame_unref(framePtr);while(true){ret=av_buffersink_get_frame(buffersink_ctx,framePtr);if(ret===-6||ret===-541478725)break;if(ret<0)throw new Error("Error while receiving a frame from the filtergraph: "+ff_error(ret));if(tbNum<0){tbNum=av_buffersink_get_time_base_num(buffersink_ctx);tbDen=av_buffersink_get_time_base_den(buffersink_ctx)}var outFrame=copyoutFrame(framePtr);if(tbNum&&!config.ignoreSinkTimebase){if(typeof outFrame==="number"){AVFrame_time_base_s(outFrame,tbNum,tbDen)}else if(outFrame){outFrame.time_base_num=tbNum;outFrame.time_base_den=tbDen}}if(outFrame&&outFrame.libavjsTransfer&&outFrame.libavjsTransfer.length)transfer.push.apply(transfer,outFrame.libavjsTransfer);outFrames.push(outFrame);av_frame_unref(framePtr)}}var copyoutFrames=[];for(var ti=0;ti=5){var data=[];for(var ci=0;ci>=log2ch;plane+=linesize*h;if(plane>dataHi)dataHi=plane}outFrame.data=Module.HEAPU8.slice(dataLo,dataHi);transfer.push(outFrame.data.buffer);for(var p=0;p<8;p++){var linesize=AVFrame_linesize_a(frame,p);if(!linesize)break;var plane=AVFrame_data_a(frame,p);layout.push({offset:plane-dataLo,stride:linesize})}return outFrame};var ff_frame_video_packed_size=Module.ff_frame_video_packed_size=function(frame){var width=AVFrame_width(frame);var height=AVFrame_height(frame);var format=AVFrame_format(frame);var desc=av_pix_fmt_desc_get(format);var bpp=1;if(!(AVPixFmtDescriptor_flags(desc)&16))bpp*=AVPixFmtDescriptor_nb_components(desc);var dataSz=0;for(var i=0;i<8;i++){var linesize=AVFrame_linesize_a(frame,i);if(!linesize)break;var w=width*bpp;var h=height;if(i===1||i===2){w>>=AVPixFmtDescriptor_log2_chroma_w(desc);h>>=AVPixFmtDescriptor_log2_chroma_h(desc)}dataSz+=w*h}return dataSz};function ff_copyout_frame_data_packed(data,layout,frame){var width=AVFrame_width(frame);var height=AVFrame_height(frame);var format=AVFrame_format(frame);var desc=av_pix_fmt_desc_get(format);var bpp=1;if(!(AVPixFmtDescriptor_flags(desc)&16))bpp*=AVPixFmtDescriptor_nb_components(desc);var dIdx=0;for(var i=0;i<8;i++){var linesize=AVFrame_linesize_a(frame,i);if(!linesize)break;var inData=AVFrame_data_a(frame,i);var w=width*bpp;var h=height;if(i===1||i===2){w>>=AVPixFmtDescriptor_log2_chroma_w(desc);h>>=AVPixFmtDescriptor_log2_chroma_h(desc)}layout.push({offset:dIdx,stride:w});for(var y=0;y>>=1}}["channel_layout","channels","format","pts","ptshi","sample_rate","time_base_num","time_base_den"].forEach(function(key){if(key in frame)CAccessors["AVFrame_"+key+"_s"](framePtr,frame[key])});var nb_samples;if(format>=5){nb_samples=frame.data[0].length}else{nb_samples=frame.data.length/channels}AVFrame_nb_samples_s(framePtr,nb_samples);if(av_frame_make_writable(framePtr)<0){var ret=av_frame_get_buffer(framePtr,0);if(ret<0)throw new Error("Failed to allocate frame buffers: "+ff_error(ret))}if(format>=5){for(var ci=0;ci>=log2cw;h>>=log2ch}layout.push({offset:off,stride:w*bpp});off+=w*h*bpp}}for(var p=0;p>=log2ch;var ioff=lplane.offset;var ooff=0;var stride=Math.min(lplane.stride,linesize);for(var y=0;y; libavjs_create_main_thread(): Promise; ffmpeg_main(a0: number,a1: number): Promise; ffprobe_main(a0: number,a1: number): Promise; +ffmpeg_interrupt(): Promise; +ffmpeg_get_out_time_ms(): Promise; +ffmpeg_get_total_size_bytes(): Promise; AVFrame_channel_layout(ptr: number): Promise; AVFrame_channel_layout_s(ptr: number, val: number): Promise; AVFrame_channel_layouthi(ptr: number): Promise; @@ -3988,6 +3991,9 @@ libavjs_with_swscale_sync(): number; libavjs_create_main_thread_sync(): number; ffmpeg_main_sync(a0: number,a1: number): number | Promise; ffprobe_main_sync(a0: number,a1: number): number | Promise; +ffmpeg_interrupt_sync(): void | Promise; +ffmpeg_get_out_time_ms_sync(): number | Promise; +ffmpeg_get_total_size_bytes_sync(): number | Promise; AVFrame_channel_layout_sync(ptr: number): number; AVFrame_channel_layout_s_sync(ptr: number, val: number): void; AVFrame_channel_layouthi_sync(ptr: number): number; diff --git a/funcs.json b/funcs.json index ea7c3be..2f8c4de 100644 --- a/funcs.json +++ b/funcs.json @@ -126,7 +126,10 @@ ["libavjs_create_main_thread", "number", []], ["ffmpeg_main", "number", ["number", "number"], {"async": true}], - ["ffprobe_main", "number", ["number", "number"], {"async": true}] + ["ffprobe_main", "number", ["number", "number"], {"async": true}], + ["ffmpeg_interrupt", null, [], {"async": true}], + ["ffmpeg_get_out_time_ms", "number", [], {"async": true}], + ["ffmpeg_get_total_size_bytes", "number", [], {"async": true}] ], "fs": [ diff --git a/patches/ffmpeg/07-jsfetch-protocol.diff b/patches/ffmpeg/07-jsfetch-protocol.diff index 7d8e468..97769fc 100644 --- a/patches/ffmpeg/07-jsfetch-protocol.diff +++ b/patches/ffmpeg/07-jsfetch-protocol.diff @@ -17,7 +17,62 @@ Index: ffmpeg-6.0.1/libavformat/hls.c =================================================================== --- ffmpeg-6.0.1.orig/libavformat/hls.c +++ ffmpeg-6.0.1/libavformat/hls.c -@@ -673,6 +673,8 @@ static int open_url(AVFormatContext *s, +--- a/libavformat/hls.c ++++ b/libavformat/hls.c +@@ -311,6 +311,36 @@ static void free_rendition_list(HLSContext *c) + c->n_renditions = 0; + } + ++// When the M3U8 contains any absolute URIs - i.e init segment, AES key, or just normal segments, ++// the jsfetch: protocol needs to be prepended. ++static int jsfetch_wrap_url(const char *url, char **out_url) ++{ ++ char *url_fixed = NULL; ++ ++ if (av_strstart(url, "http://", NULL) || av_strstart(url, "https://", NULL)) { ++ url_fixed = av_malloc(strlen("jsfetch:") + strlen(url) + 1); ++ if (!url_fixed) ++ return AVERROR(ENOMEM); ++ strcpy(url_fixed, "jsfetch:"); ++ strcat(url_fixed, url); ++ } else if (av_strstart(url, "crypto+http://", NULL) || av_strstart(url, "crypto+https://", NULL)) { ++ const char *url_tail = url + strlen("crypto+"); ++ url_fixed = av_malloc(strlen("crypto+jsfetch:") + strlen(url_tail) + 1); ++ if (!url_fixed) ++ return AVERROR(ENOMEM); ++ strcpy(url_fixed, "crypto+jsfetch:"); ++ strcat(url_fixed, url_tail); ++ } else { ++ // No transformation needed; just duplicate original URL ++ url_fixed = av_strdup(url); ++ if (!url_fixed) ++ return AVERROR(ENOMEM); ++ } ++ ++ *out_url = url_fixed; ++ return 0; ++} ++ + static struct playlist *new_playlist(HLSContext *c, const char *url, + const char *base) + { +@@ -438,7 +468,14 @@ static struct segment *new_init_section(struct playlist *pls, + return NULL; + } + } +- sec->url = av_strdup(ptr); ++ char *wrapped_url = NULL; ++ int ret = jsfetch_wrap_url(ptr, &wrapped_url); ++ if (ret < 0) { ++ sec->url = av_strdup(ptr); ++ fprintf(stderr, "Failed to wrap URL: %s\n", av_err2str(ret)); ++ } else { ++ sec->url = av_strdup(wrapped_url); ++ } + if (!sec->url) { + av_free(sec); + return NULL; +@@ -680,6 +717,8 @@ static int open_url(AVFormatContext *s, AVIOContext **pb, const char *url, is_http = 1; } else if (av_strstart(proto_name, "data", NULL)) { ; @@ -26,11 +81,68 @@ Index: ffmpeg-6.0.1/libavformat/hls.c } else return AVERROR_INVALIDDATA; -Index: ffmpeg-6.0.1/libavformat/jsfetch.c +@@ -981,7 +1020,14 @@ static int parse_playlist(HLSContext *c, const char *url, + av_free(seg); + goto fail; + } +- seg->url = av_strdup(tmp_str); ++ char *wrapped_url = NULL; ++ int ret = jsfetch_wrap_url(tmp_str, &wrapped_url); ++ if (ret < 0) { ++ seg->url = av_strdup(tmp_str); ++ fprintf(stderr, "Failed to wrap URL: %s\n", av_err2str(ret)); ++ } else { ++ seg->url = av_strdup(wrapped_url); ++ } + if (!seg->url) { + av_free(seg->key); + av_free(seg); +@@ -1294,6 +1340,16 @@ static int open_input(HLSContext *c, struct playlist *pls, struct segment *seg, + * (if this is in fact a HTTP request) */ + av_dict_set_int(&opts, "offset", seg->url_offset, 0); + av_dict_set_int(&opts, "end_offset", seg->url_offset + seg->size, 0); ++ ++ // Pre-populate the byte range header if needed. Passed to jsfetch in AVDictionary. ++ char range_header[128] = {0}; ++ if (seg->url_offset >= 0 && seg->size > 0) { ++ snprintf(range_header, sizeof(range_header), "bytes=%" PRId64 "-%" PRId64, seg->url_offset, seg->url_offset + seg->size - 1); ++ av_dict_set(&opts, "range_header", range_header, 0); ++ } else if (seg->url_offset >= 0) { ++ snprintf(range_header, sizeof(range_header), "bytes=%" PRId64 "-", seg->url_offset); ++ av_dict_set(&opts, "range_header", range_header, 0); ++ } + } + + av_log(pls->parent, AV_LOG_VERBOSE, "HLS request for url '%s', offset %"PRId64", playlist %d\n", +@@ -1348,14 +1404,15 @@ static int open_input(HLSContext *c, struct playlist *pls, struct segment *seg, + * as would be expected. Wrong offset received from the server will not be + * noticed without the call, though. + */ +- if (ret == 0 && !is_http && seg->url_offset) { +- int64_t seekret = avio_seek(*in, seg->url_offset, SEEK_SET); +- if (seekret < 0) { +- av_log(pls->parent, AV_LOG_ERROR, "Unable to seek to offset %"PRId64" of HLS segment '%s'\n", seg->url_offset, seg->url); +- ret = seekret; +- ff_format_io_close(pls->parent, in); +- } +- } ++ // Breaks seeking on M3U8s containing byte ranges. Not needed for "http" anyways. ++ // if (ret == 0 && !is_http && seg->url_offset) { ++ // int64_t seekret = avio_seek(*in, seg->url_offset, SEEK_SET); ++ // if (seekret < 0) { ++ // av_log(pls->parent, AV_LOG_ERROR, "Unable to seek to offset %"PRId64" of HLS segment '%s'\n", seg->url_offset, seg->url); ++ // ret = seekret; ++ // ff_format_io_close(pls->parent, in); ++ // } ++ // } + + cleanup: + av_dict_free(&opts); + Index: ffmpeg-6.0.1/libavformat/jsfetch.c =================================================================== --- /dev/null +++ ffmpeg-6.0.1/libavformat/jsfetch.c -@@ -0,0 +1,188 @@ +@@ -0,0 +1,194 @@ +/* + * JavaScript fetch metaprotocol for ffmpeg client + * Copyright (c) 2023 Yahweasel and contributors @@ -70,7 +182,6 @@ Index: ffmpeg-6.0.1/libavformat/jsfetch.c +static const AVOption options[] = { + { NULL } +}; -+ +#if CONFIG_JSFETCH_PROTOCOL +static const AVClass jsfetch_context_class = { + .class_name = "jsfetch", @@ -82,14 +193,17 @@ Index: ffmpeg-6.0.1/libavformat/jsfetch.c +/** + * Open a fetch connection (JavaScript side). + */ -+EM_JS(int, jsfetch_open_js, (const char *url), { ++EM_JS(int, jsfetch_open_js, (const char *url, char* range_header, bool has_range), { + return Asyncify.handleAsync(function() { + return Promise.all([]).then(function() { + url = UTF8ToString(url); -+ if (url.slice(0, 8) === "jsfetch:") -+ return fetch(url.slice(8)); -+ else -+ return fetch(url); ++ var headers = {}; ++ if (has_range) { ++ var range = range_header ? UTF8ToString(range_header) : undefined; ++ headers.Range = range; ++ } ++ var fetchUrl = url.startsWith("jsfetch:") ? url.slice(8) : url; ++ return fetch(fetchUrl, { headers }); + }).then(function(response) { + if (!Module.libavjsJSFetch) + Module.libavjsJSFetch = {ctr: 1, fetches: {}}; @@ -124,7 +238,11 @@ Index: ffmpeg-6.0.1/libavformat/jsfetch.c +{ + JSFetchContext *ctx = h->priv_data; + h->is_streamed = 1; -+ ctx->idx = jsfetch_open_js(url); ++ ++ AVDictionaryEntry *entry = av_dict_get(*options, "range_header", NULL, 0); ++ const char *range_ptr = entry ? entry->value : NULL; ++ bool has_range = range_ptr != NULL; ++ ctx->idx = jsfetch_open_js(url, range_ptr, has_range); + return (ctx->idx > 0) ? 0 : ctx->idx; +} + @@ -216,7 +334,7 @@ Index: ffmpeg-6.0.1/libavformat/jsfetch.c + .priv_data_size = sizeof(JSFetchContext), + .priv_data_class = &jsfetch_context_class, + .flags = URL_PROTOCOL_FLAG_NETWORK, -+ .default_whitelist = "jsfetch,http,https" ++ .default_whitelist = "jsfetch,http,https,crypto" +}; +#endif Index: ffmpeg-6.0.1/libavformat/protocols.c @@ -234,3 +352,74 @@ Index: ffmpeg-6.0.1/libavformat/protocols.c #include "libavformat/protocol_list.c" const AVClass *ff_urlcontext_child_class_iterate(void **iter) + +Index: ffmpeg-6.0.1/libavformat/mov.c +=================================================================== +From https://trac.ffmpeg.org/ticket/7359 +https://github.com/FFmpeg/FFmpeg/commit/380a518c439d4e5e3cf17b97e4a06259e8048f99 +Note: this patch isn't in 7.1.1. +--- ffmpeg-6.0.1.orig/libavformat/mov.c ++++ ffmpeg-6.0.1/libavformat/mov.c +@@ -10416,15 +10416,15 @@ static int mov_switch_root(AVFormatContext *s, int64_t target, int index) + + if (index >= 0 && index < mov->frag_index.nb_items) + target = mov->frag_index.item[index].moof_offset; +- if (avio_seek(s->pb, target, SEEK_SET) != target) { ++ if (target >= 0 && avio_seek(s->pb, target, SEEK_SET) != target) { + av_log(mov->fc, AV_LOG_ERROR, "root atom offset 0x%"PRIx64": partial file\n", target); + return AVERROR_INVALIDDATA; + } + + mov->next_root_atom = 0; +- if (index < 0 || index >= mov->frag_index.nb_items) ++ if ((index < 0 && target >= 0) || index >= mov->frag_index.nb_items) + index = search_frag_moof_offset(&mov->frag_index, target); +- if (index < mov->frag_index.nb_items && ++ if (index >= 0 && index < mov->frag_index.nb_items && + mov->frag_index.item[index].moof_offset == target) { + if (index + 1 < mov->frag_index.nb_items) + mov->next_root_atom = mov->frag_index.item[index + 1].moof_offset; +@@ -10554,10 +10554,43 @@ static int mov_read_packet(AVFormatContext *s, AVPacket *pkt) + MOVStreamContext *sc; + AVIndexEntry *sample; + AVStream *st = NULL; ++ FFStream *avsti = NULL; + int64_t current_index; + int ret; ++ int i; + mov->fc = s; + retry: ++ if (s->pb->pos == 0) { ++ ++ // Discard current fragment index ++ if (mov->frag_index.allocated_size > 0) { ++ av_freep(&mov->frag_index.item); ++ mov->frag_index.nb_items = 0; ++ mov->frag_index.allocated_size = 0; ++ mov->frag_index.current = -1; ++ mov->frag_index.complete = 0; ++ } ++ ++ for (i = 0; i < s->nb_streams; i++) { ++ AVStream *avst = s->streams[i]; ++ MOVStreamContext *msc = avst->priv_data; ++ ++ // Clear current sample ++ mov_current_sample_set(msc, 0); ++ msc->ctts_index = 0; ++ ++ // Discard current index entries ++ avsti = ffstream(avst); ++ if (avsti->index_entries_allocated_size > 0) { ++ av_freep(&avsti->index_entries); ++ avsti->index_entries_allocated_size = 0; ++ avsti->nb_index_entries = 0; ++ } ++ } ++ ++ if ((ret = mov_switch_root(s, -1, -1)) < 0) ++ return ret; ++ } + sample = mov_find_next_sample(s, &st); + if (!sample || (mov->next_root_atom && sample->pos > mov->next_root_atom)) { + if (!mov->next_root_atom) \ No newline at end of file diff --git a/patches/ffmpeg/08-fftools.diff b/patches/ffmpeg/08-fftools.diff index 198b6ac..cab7db6 100644 --- a/patches/ffmpeg/08-fftools.diff +++ b/patches/ffmpeg/08-fftools.diff @@ -32,11 +32,54 @@ Index: ffmpeg-7.1/fftools/ffmpeg.c } av_freep(&vstats_filename); of_enc_stats_close(); -@@ -943,7 +950,12 @@ static int64_t getmaxrss(void) +@@ -544,6 +551,19 @@ void update_benchmark(const char *fmt, ...) + current_time = t; + } + } ++static volatile int curr_transcode_pts_ms = 0; ++int ffmpeg_get_out_time_ms(void); ++int ffmpeg_get_out_time_ms() ++{ ++ return curr_transcode_pts_ms; ++} ++ ++static volatile int curr_total_size_bytes = 0; ++int ffmpeg_get_total_size_bytes(void); ++int ffmpeg_get_total_size_bytes() ++{ ++ return curr_total_size_bytes; ++} + + static void print_report(int is_last_report, int64_t timer_start, int64_t cur_time, int64_t pts) + { +@@ -645,6 +665,9 @@ static void print_report(int is_last_report, int64_t timer_start, int64_t cur_ti + + if (total_size < 0) av_bprintf(&buf_script, "total_size=N/A\n"); + else av_bprintf(&buf_script, "total_size=%"PRId64"\n", total_size); ++ if (total_size > 0) { ++ curr_total_size_bytes = total_size; ++ } + if (pts == AV_NOPTS_VALUE) { + av_bprintf(&buf_script, "out_time_us=N/A\n"); + av_bprintf(&buf_script, "out_time_ms=N/A\n"); +@@ -654,6 +677,7 @@ static void print_report(int is_last_report, int64_t timer_start, int64_t cur_ti + av_bprintf(&buf_script, "out_time_ms=%"PRId64"\n", pts); + av_bprintf(&buf_script, "out_time=%s%02"PRId64":%02d:%02d.%06d\n", + hours_sign, hours, mins, secs, us); ++ curr_transcode_pts_ms = (pts / 1000); + } + + if (nb_frames_dup || nb_frames_drop) +@@ -943,7 +967,17 @@ static int64_t getmaxrss(void) #endif } +#ifdef __EMSCRIPTEN__ ++void ffmpeg_interrupt(void); ++void ffmpeg_interrupt() { ++ received_nb_signals++; ++} ++ +int ffmpeg_main(int argc, char **argv); +int ffmpeg_main(int argc, char **argv) +#else @@ -45,7 +88,7 @@ Index: ffmpeg-7.1/fftools/ffmpeg.c { Scheduler *sch = NULL; -@@ -1009,8 +1021,12 @@ finish: +@@ -1009,8 +1043,12 @@ finish: ret = 0; ffmpeg_cleanup(ret);