JuHua-web/public/js/jessibuca-pro/decoder-pro-mt.js
2024-12-09 14:12:40 +08:00

2 lines
566 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("crypto")):"function"==typeof define&&define.amd?define(["crypto"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).crypto$1)}(this,(function(e){"use strict";function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r,n=t(e),o=(r="undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-mt.js",document.baseURI).href,function(e){var t,i;(e=void 0!==(e=e||{})?e:{}).ready=new Promise((function(e,r){t=e,i=r})),(e=void 0!==e?e:{}).locateFile=function(e){return"decoder-pro-mt-worker.wasm"==e&&"undefined"!=typeof JESSIBUCA_PRO_MT_WORKER_WASM_URL&&""!=JESSIBUCA_PRO_MT_WORKER_WASM_URL?JESSIBUCA_PRO_MT_WORKER_WASM_URL:e};var n,o,s,a,d,l,u=Object.assign({},e),c="./this.program",f=(e,t)=>{throw t},h="object"==typeof window,p="function"==typeof importScripts,m="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,_=e.ENVIRONMENT_IS_PTHREAD||!1,g="";function y(t){return e.locateFile?e.locateFile(t,g):g+t}if(m){let t;g=p?require("path").dirname(g)+"/":__dirname+"/",l=()=>{d||(a=require("fs"),d=require("path"))},n=function(e,t){return l(),e=d.normalize(e),a.readFileSync(e,t?void 0:"utf8")},s=e=>{var t=n(e,!0);return t.buffer||(t=new Uint8Array(t)),t},o=(e,t,r)=>{l(),e=d.normalize(e),a.readFile(e,(function(e,i){e?r(e):t(i.buffer)}))},process.argv.length>1&&(c=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),process.on("uncaughtException",(function(e){if(!(e instanceof ue))throw e})),process.on("unhandledRejection",(function(e){throw e})),f=(e,t)=>{if(X())throw process.exitCode=e,t;var r;(r=t)instanceof ue||E("exiting due to exception: "+r),process.exit(e)},e.inspect=function(){return"[Emscripten Module object]"};try{t=require("worker_threads")}catch(e){throw console.error('The "worker_threads" module is not supported in this node.js build - perhaps a newer version is needed?'),e}global.Worker=t.Worker}else(h||p)&&(p?g=self.location.href:"undefined"!=typeof document&&document.currentScript&&(g=document.currentScript.src),r&&(g=r),g=0!==g.indexOf("blob:")?g.substr(0,g.replace(/[?#].*/,"").lastIndexOf("/")+1):"",m||(n=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},p&&(s=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),o=(e,t,r)=>{var i=new XMLHttpRequest;i.open("GET",e,!0),i.responseType="arraybuffer",i.onload=()=>{200==i.status||0==i.status&&i.response?t(i.response):r()},i.onerror=r,i.send(null)}));m&&"undefined"==typeof performance&&(global.performance=require("perf_hooks").performance);var v=console.log.bind(console),b=console.warn.bind(console);m&&(l(),v=e=>a.writeSync(1,e+"\n"),b=e=>a.writeSync(2,e+"\n"));var w,S=e.print||v,E=e.printErr||b;Object.assign(e,u),u=null,e.arguments&&e.arguments,e.thisProgram&&(c=e.thisProgram),e.quit&&(f=e.quit),e.wasmBinary&&(w=e.wasmBinary);var A,x,B=e.noExitRuntime||!0;"object"!=typeof WebAssembly&&oe("no native wasm support detected");var U,k=!1;function T(e,t){e||oe(t)}var C,D,P,F,I,L,M,R,z,N="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function O(e,t,r){for(var i=t+r,n=t;e[n]&&!(n>=i);)++n;if(n-t>16&&e.buffer&&N)return N.decode(e.buffer instanceof SharedArrayBuffer?e.slice(t,n):e.subarray(t,n));for(var o="";t<n;){var s=e[t++];if(128&s){var a=63&e[t++];if(192!=(224&s)){var d=63&e[t++];if((s=224==(240&s)?(15&s)<<12|a<<6|d:(7&s)<<18|a<<12|d<<6|63&e[t++])<65536)o+=String.fromCharCode(s);else{var l=s-65536;o+=String.fromCharCode(55296|l>>10,56320|1023&l)}}else o+=String.fromCharCode((31&s)<<6|a)}else o+=String.fromCharCode(s)}return o}function G(e,t){return e?O(P,e,t):""}function $(e,t,r,i){if(!(i>0))return 0;for(var n=r,o=r+i-1,s=0;s<e.length;++s){var a=e.charCodeAt(s);if(a>=55296&&a<=57343&&(a=65536+((1023&a)<<10)|1023&e.charCodeAt(++s)),a<=127){if(r>=o)break;t[r++]=a}else if(a<=2047){if(r+1>=o)break;t[r++]=192|a>>6,t[r++]=128|63&a}else if(a<=65535){if(r+2>=o)break;t[r++]=224|a>>12,t[r++]=128|a>>6&63,t[r++]=128|63&a}else{if(r+3>=o)break;t[r++]=240|a>>18,t[r++]=128|a>>12&63,t[r++]=128|a>>6&63,t[r++]=128|63&a}}return t[r]=0,r-n}function H(e){for(var t=0,r=0;r<e.length;++r){var i=e.charCodeAt(r);i<=127?t++:i<=2047?t+=2:i>=55296&&i<=57343?(t+=4,++r):t+=3}return t}_&&(C=e.buffer);var V,W,j=e.INITIAL_MEMORY||268435456;if(_)A=e.wasmMemory,C=e.buffer;else if(e.wasmMemory)A=e.wasmMemory;else if(!((A=new WebAssembly.Memory({initial:j/65536,maximum:j/65536,shared:!0})).buffer instanceof SharedArrayBuffer))throw E("requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag"),m&&console.log("(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and also use a recent version)"),Error("bad memory");A&&(C=A.buffer),j=C.byteLength,C=V=C,e.HEAP8=D=new Int8Array(V),e.HEAP16=F=new Int16Array(V),e.HEAP32=L=new Int32Array(V),e.HEAPU8=P=new Uint8Array(V),e.HEAPU16=I=new Uint16Array(V),e.HEAPU32=M=new Uint32Array(V),e.HEAPF32=R=new Float32Array(V),e.HEAPF64=z=new Float64Array(V);var q=[],Y=[],K=[];function X(){return B}function Z(){_||(e.noFSInit||ve.init.initialized||ve.init(),ve.ignorePermissions=!1,Ae(Y))}var J,Q,ee,te=0,re=null;function ie(t){te++,e.monitorRunDependencies&&e.monitorRunDependencies(te)}function ne(t){if(te--,e.monitorRunDependencies&&e.monitorRunDependencies(te),0==te&&re){var r=re;re=null,r()}}function oe(t){_?postMessage({cmd:"onAbort",arg:t}):e.onAbort&&e.onAbort(t),E(t="Aborted("+t+")"),k=!0,U=1,t+=". Build with -sASSERTIONS for more info.";var r=new WebAssembly.RuntimeError(t);throw i(r),r}function se(e){return e.startsWith("data:application/octet-stream;base64,")}function ae(e){return e.startsWith("file://")}function de(e){try{if(e==J&&w)return new Uint8Array(w);if(s)return s(e);throw"both async and sync fetching of the wasm failed"}catch(e){oe(e)}}e.locateFile?se(J="decoder-pro-mt-worker.wasm")||(J=y(J)):J=new URL("decoder-pro-mt-worker.wasm","undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-mt.js",document.baseURI).href).toString();var le={};function ue(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}function ce(e){var t=Ee.pthreads[e];T(t),Ee.returnWorkerToPool(t)}function fe(e){var t=Ee.getNewWorker();if(!t)return 6;Ee.runningWorkers.push(t),Ee.pthreads[e.pthread_ptr]=t,t.pthread_ptr=e.pthread_ptr;var r={cmd:"run",start_routine:e.startRoutine,arg:e.arg,pthread_ptr:e.pthread_ptr};return t.runPthread=()=>{r.time=performance.now(),t.postMessage(r,e.transferList)},t.loaded&&(t.runPthread(),delete t.runPthread),0}var he={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,t)=>{for(var r=0,i=e.length-1;i>=0;i--){var n=e[i];"."===n?e.splice(i,1):".."===n?(e.splice(i,1),r++):r&&(e.splice(i,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},normalize:e=>{var t=he.isAbs(e),r="/"===e.substr(-1);return(e=he.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},dirname:e=>{var t=he.splitPath(e),r=t[0],i=t[1];return r||i?(i&&(i=i.substr(0,i.length-1)),r+i):"."},basename:e=>{if("/"===e)return"/";var t=(e=(e=he.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)},join:function(){var e=Array.prototype.slice.call(arguments,0);return he.normalize(e.join("/"))},join2:(e,t)=>he.normalize(e+"/"+t)},pe={resolve:function(){for(var e="",t=!1,r=arguments.length-1;r>=-1&&!t;r--){var i=r>=0?arguments[r]:ve.cwd();if("string"!=typeof i)throw new TypeError("Arguments to path.resolve must be strings");if(!i)return"";e=i+"/"+e,t=he.isAbs(i)}return(t?"/":"")+(e=he.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||"."},relative:(e,t)=>{function r(e){for(var t=0;t<e.length&&""===e[t];t++);for(var r=e.length-1;r>=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=pe.resolve(e).substr(1),t=pe.resolve(t).substr(1);for(var i=r(e.split("/")),n=r(t.split("/")),o=Math.min(i.length,n.length),s=o,a=0;a<o;a++)if(i[a]!==n[a]){s=a;break}var d=[];for(a=s;a<i.length;a++)d.push("..");return(d=d.concat(n.slice(s))).join("/")}};function me(e,t,r){var i=r>0?r:H(e)+1,n=new Array(i),o=$(e,n,0,n.length);return t&&(n.length=o),n}var _e={ttys:[],init:function(){},shutdown:function(){},register:function(e,t){_e.ttys[e]={input:[],output:[],ops:t},ve.registerDevice(e,_e.stream_ops)},stream_ops:{open:function(e){var t=_e.ttys[e.node.rdev];if(!t)throw new ve.ErrnoError(43);e.tty=t,e.seekable=!1},close:function(e){e.tty.ops.flush(e.tty)},flush:function(e){e.tty.ops.flush(e.tty)},read:function(e,t,r,i,n){if(!e.tty||!e.tty.ops.get_char)throw new ve.ErrnoError(60);for(var o=0,s=0;s<i;s++){var a;try{a=e.tty.ops.get_char(e.tty)}catch(e){throw new ve.ErrnoError(29)}if(void 0===a&&0===o)throw new ve.ErrnoError(6);if(null==a)break;o++,t[r+s]=a}return o&&(e.node.timestamp=Date.now()),o},write:function(e,t,r,i,n){if(!e.tty||!e.tty.ops.put_char)throw new ve.ErrnoError(60);try{for(var o=0;o<i;o++)e.tty.ops.put_char(e.tty,t[r+o])}catch(e){throw new ve.ErrnoError(29)}return i&&(e.node.timestamp=Date.now()),o}},default_tty_ops:{get_char:function(e){if(!e.input.length){var t=null;if(m){var r=Buffer.alloc(256),i=0;try{i=a.readSync(process.stdin.fd,r,0,256,-1)}catch(e){if(!e.toString().includes("EOF"))throw e;i=0}t=i>0?r.slice(0,i).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(t=window.prompt("Input: "))&&(t+="\n"):"function"==typeof readline&&null!==(t=readline())&&(t+="\n");if(!t)return null;e.input=me(t,!0)}return e.input.shift()},put_char:function(e,t){null===t||10===t?(S(O(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},flush:function(e){e.output&&e.output.length>0&&(S(O(e.output,0)),e.output=[])}},default_tty1_ops:{put_char:function(e,t){null===t||10===t?(E(O(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},flush:function(e){e.output&&e.output.length>0&&(E(O(e.output,0)),e.output=[])}}};function ge(e){e=function(e,t){return Math.ceil(e/t)*t}(e,65536);var t=Br(65536,e);return t?(function(e,t){P.fill(0,e,e+t)}(t,e),t):0}var ye={ops_table:null,mount:function(e){return ye.createNode(null,"/",16895,0)},createNode:function(e,t,r,i){if(ve.isBlkdev(r)||ve.isFIFO(r))throw new ve.ErrnoError(63);ye.ops_table||(ye.ops_table={dir:{node:{getattr:ye.node_ops.getattr,setattr:ye.node_ops.setattr,lookup:ye.node_ops.lookup,mknod:ye.node_ops.mknod,rename:ye.node_ops.rename,unlink:ye.node_ops.unlink,rmdir:ye.node_ops.rmdir,readdir:ye.node_ops.readdir,symlink:ye.node_ops.symlink},stream:{llseek:ye.stream_ops.llseek}},file:{node:{getattr:ye.node_ops.getattr,setattr:ye.node_ops.setattr},stream:{llseek:ye.stream_ops.llseek,read:ye.stream_ops.read,write:ye.stream_ops.write,allocate:ye.stream_ops.allocate,mmap:ye.stream_ops.mmap,msync:ye.stream_ops.msync}},link:{node:{getattr:ye.node_ops.getattr,setattr:ye.node_ops.setattr,readlink:ye.node_ops.readlink},stream:{}},chrdev:{node:{getattr:ye.node_ops.getattr,setattr:ye.node_ops.setattr},stream:ve.chrdev_stream_ops}});var n=ve.createNode(e,t,r,i);return ve.isDir(n.mode)?(n.node_ops=ye.ops_table.dir.node,n.stream_ops=ye.ops_table.dir.stream,n.contents={}):ve.isFile(n.mode)?(n.node_ops=ye.ops_table.file.node,n.stream_ops=ye.ops_table.file.stream,n.usedBytes=0,n.contents=null):ve.isLink(n.mode)?(n.node_ops=ye.ops_table.link.node,n.stream_ops=ye.ops_table.link.stream):ve.isChrdev(n.mode)&&(n.node_ops=ye.ops_table.chrdev.node,n.stream_ops=ye.ops_table.chrdev.stream),n.timestamp=Date.now(),e&&(e.contents[t]=n,e.timestamp=n.timestamp),n},getFileDataAsTypedArray:function(e){return e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0)},expandFileStorage:function(e,t){var r=e.contents?e.contents.length:0;if(!(r>=t)){t=Math.max(t,r*(r<1048576?2:1.125)>>>0),0!=r&&(t=Math.max(t,256));var i=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(i.subarray(0,e.usedBytes),0)}},resizeFileStorage:function(e,t){if(e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var r=e.contents;e.contents=new Uint8Array(t),r&&e.contents.set(r.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr:function(e){var t={};return t.dev=ve.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,ve.isDir(e.mode)?t.size=4096:ve.isFile(e.mode)?t.size=e.usedBytes:ve.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr:function(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&ye.resizeFileStorage(e,t.size)},lookup:function(e,t){throw ve.genericErrors[44]},mknod:function(e,t,r,i){return ye.createNode(e,t,r,i)},rename:function(e,t,r){if(ve.isDir(e.mode)){var i;try{i=ve.lookupNode(t,r)}catch(e){}if(i)for(var n in i.contents)throw new ve.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=r,t.contents[r]=e,t.timestamp=e.parent.timestamp,e.parent=t},unlink:function(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir:function(e,t){var r=ve.lookupNode(e,t);for(var i in r.contents)throw new ve.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir:function(e){var t=[".",".."];for(var r in e.contents)e.contents.hasOwnProperty(r)&&t.push(r);return t},symlink:function(e,t,r){var i=ye.createNode(e,t,41471,0);return i.link=r,i},readlink:function(e){if(!ve.isLink(e.mode))throw new ve.ErrnoError(28);return e.link}},stream_ops:{read:function(e,t,r,i,n){var o=e.node.contents;if(n>=e.node.usedBytes)return 0;var s=Math.min(e.node.usedBytes-n,i);if(s>8&&o.subarray)t.set(o.subarray(n,n+s),r);else for(var a=0;a<s;a++)t[r+a]=o[n+a];return s},write:function(e,t,r,i,n,o){if(!i)return 0;var s=e.node;if(s.timestamp=Date.now(),t.subarray&&(!s.contents||s.contents.subarray)){if(o)return s.contents=t.subarray(r,r+i),s.usedBytes=i,i;if(0===s.usedBytes&&0===n)return s.contents=t.slice(r,r+i),s.usedBytes=i,i;if(n+i<=s.usedBytes)return s.contents.set(t.subarray(r,r+i),n),i}if(ye.expandFileStorage(s,n+i),s.contents.subarray&&t.subarray)s.contents.set(t.subarray(r,r+i),n);else for(var a=0;a<i;a++)s.contents[n+a]=t[r+a];return s.usedBytes=Math.max(s.usedBytes,n+i),i},llseek:function(e,t,r){var i=t;if(1===r?i+=e.position:2===r&&ve.isFile(e.node.mode)&&(i+=e.node.usedBytes),i<0)throw new ve.ErrnoError(28);return i},allocate:function(e,t,r){ye.expandFileStorage(e.node,t+r),e.node.usedBytes=Math.max(e.node.usedBytes,t+r)},mmap:function(e,t,r,i,n){if(!ve.isFile(e.node.mode))throw new ve.ErrnoError(43);var o,s,a=e.node.contents;if(2&n||a.buffer!==C){if((r>0||r+t<a.length)&&(a=a.subarray?a.subarray(r,r+t):Array.prototype.slice.call(a,r,r+t)),s=!0,!(o=ge(t)))throw new ve.ErrnoError(48);D.set(a,o)}else s=!1,o=a.byteOffset;return{ptr:o,allocated:s}},msync:function(e,t,r,i,n){if(!ve.isFile(e.node.mode))throw new ve.ErrnoError(43);return 2&n||ye.stream_ops.write(e,t,0,i,r,!1),0}}},ve={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!(e=pe.resolve(ve.cwd(),e)))return{path:"",node:null};var r={follow_mount:!0,recurse_count:0};if(t=Object.assign(r,t),t.recurse_count>8)throw new ve.ErrnoError(32);for(var i=he.normalizeArray(e.split("/").filter((e=>!!e)),!1),n=ve.root,o="/",s=0;s<i.length;s++){var a=s===i.length-1;if(a&&t.parent)break;if(n=ve.lookupNode(n,i[s]),o=he.join2(o,i[s]),ve.isMountpoint(n)&&(!a||a&&t.follow_mount)&&(n=n.mounted.root),!a||t.follow)for(var d=0;ve.isLink(n.mode);){var l=ve.readlink(o);o=pe.resolve(he.dirname(o),l);var u=ve.lookupPath(o,{recurse_count:t.recurse_count+1});if(n=u.node,d++>40)throw new ve.ErrnoError(32)}}return{path:o,node:n}},getPath:e=>{for(var t;;){if(ve.isRoot(e)){var r=e.mount.mountpoint;return t?"/"!==r[r.length-1]?r+"/"+t:r+t:r}t=t?e.name+"/"+t:e.name,e=e.parent}},hashName:(e,t)=>{for(var r=0,i=0;i<t.length;i++)r=(r<<5)-r+t.charCodeAt(i)|0;return(e+r>>>0)%ve.nameTable.length},hashAddNode:e=>{var t=ve.hashName(e.parent.id,e.name);e.name_next=ve.nameTable[t],ve.nameTable[t]=e},hashRemoveNode:e=>{var t=ve.hashName(e.parent.id,e.name);if(ve.nameTable[t]===e)ve.nameTable[t]=e.name_next;else for(var r=ve.nameTable[t];r;){if(r.name_next===e){r.name_next=e.name_next;break}r=r.name_next}},lookupNode:(e,t)=>{var r=ve.mayLookup(e);if(r)throw new ve.ErrnoError(r,e);for(var i=ve.hashName(e.id,t),n=ve.nameTable[i];n;n=n.name_next){var o=n.name;if(n.parent.id===e.id&&o===t)return n}return ve.lookup(e,t)},createNode:(e,t,r,i)=>{var n=new ve.FSNode(e,t,r,i);return ve.hashAddNode(n),n},destroyNode:e=>{ve.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>49152==(49152&e),flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:e=>{var t=ve.flagModes[e];if(void 0===t)throw new Error("Unknown file open mode: "+e);return t},flagsToPermissionString:e=>{var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:(e,t)=>ve.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2,mayLookup:e=>{var t=ve.nodePermissions(e,"x");return t||(e.node_ops.lookup?0:2)},mayCreate:(e,t)=>{try{return ve.lookupNode(e,t),20}catch(e){}return ve.nodePermissions(e,"wx")},mayDelete:(e,t,r)=>{var i;try{i=ve.lookupNode(e,t)}catch(e){return e.errno}var n=ve.nodePermissions(e,"wx");if(n)return n;if(r){if(!ve.isDir(i.mode))return 54;if(ve.isRoot(i)||ve.getPath(i)===ve.cwd())return 10}else if(ve.isDir(i.mode))return 31;return 0},mayOpen:(e,t)=>e?ve.isLink(e.mode)?32:ve.isDir(e.mode)&&("r"!==ve.flagsToPermissionString(t)||512&t)?31:ve.nodePermissions(e,ve.flagsToPermissionString(t)):44,MAX_OPEN_FDS:4096,nextfd:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ve.MAX_OPEN_FDS;for(var r=e;r<=t;r++)if(!ve.streams[r])return r;throw new ve.ErrnoError(33)},getStream:e=>ve.streams[e],createStream:(e,t,r)=>{ve.FSStream||(ve.FSStream=function(){this.shared={}},ve.FSStream.prototype={},Object.defineProperties(ve.FSStream.prototype,{object:{get:function(){return this.node},set:function(e){this.node=e}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}},flags:{get:function(){return this.shared.flags},set:function(e){this.shared.flags=e}},position:{get:function(){return this.shared.position},set:function(e){this.shared.position=e}}})),e=Object.assign(new ve.FSStream,e);var i=ve.nextfd(t,r);return e.fd=i,ve.streams[i]=e,e},closeStream:e=>{ve.streams[e]=null},chrdev_stream_ops:{open:e=>{var t=ve.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:()=>{throw new ve.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,t)=>e<<8|t,registerDevice:(e,t)=>{ve.devices[e]={stream_ops:t}},getDevice:e=>ve.devices[e],getMounts:e=>{for(var t=[],r=[e];r.length;){var i=r.pop();t.push(i),r.push.apply(r,i.mounts)}return t},syncfs:(e,t)=>{"function"==typeof e&&(t=e,e=!1),ve.syncFSRequests++,ve.syncFSRequests>1&&E("warning: "+ve.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var r=ve.getMounts(ve.root.mount),i=0;function n(e){return ve.syncFSRequests--,t(e)}function o(e){if(e)return o.errored?void 0:(o.errored=!0,n(e));++i>=r.length&&n(null)}r.forEach((t=>{if(!t.type.syncfs)return o(null);t.type.syncfs(t,e,o)}))},mount:(e,t,r)=>{var i,n="/"===r,o=!r;if(n&&ve.root)throw new ve.ErrnoError(10);if(!n&&!o){var s=ve.lookupPath(r,{follow_mount:!1});if(r=s.path,i=s.node,ve.isMountpoint(i))throw new ve.ErrnoError(10);if(!ve.isDir(i.mode))throw new ve.ErrnoError(54)}var a={type:e,opts:t,mountpoint:r,mounts:[]},d=e.mount(a);return d.mount=a,a.root=d,n?ve.root=d:i&&(i.mounted=a,i.mount&&i.mount.mounts.push(a)),d},unmount:e=>{var t=ve.lookupPath(e,{follow_mount:!1});if(!ve.isMountpoint(t.node))throw new ve.ErrnoError(28);var r=t.node,i=r.mounted,n=ve.getMounts(i);Object.keys(ve.nameTable).forEach((e=>{for(var t=ve.nameTable[e];t;){var r=t.name_next;n.includes(t.mount)&&ve.destroyNode(t),t=r}})),r.mounted=null;var o=r.mount.mounts.indexOf(i);r.mount.mounts.splice(o,1)},lookup:(e,t)=>e.node_ops.lookup(e,t),mknod:(e,t,r)=>{var i=ve.lookupPath(e,{parent:!0}).node,n=he.basename(e);if(!n||"."===n||".."===n)throw new ve.ErrnoError(28);var o=ve.mayCreate(i,n);if(o)throw new ve.ErrnoError(o);if(!i.node_ops.mknod)throw new ve.ErrnoError(63);return i.node_ops.mknod(i,n,t,r)},create:(e,t)=>(t=void 0!==t?t:438,t&=4095,t|=32768,ve.mknod(e,t,0)),mkdir:(e,t)=>(t=void 0!==t?t:511,t&=1023,t|=16384,ve.mknod(e,t,0)),mkdirTree:(e,t)=>{for(var r=e.split("/"),i="",n=0;n<r.length;++n)if(r[n]){i+="/"+r[n];try{ve.mkdir(i,t)}catch(e){if(20!=e.errno)throw e}}},mkdev:(e,t,r)=>(void 0===r&&(r=t,t=438),t|=8192,ve.mknod(e,t,r)),symlink:(e,t)=>{if(!pe.resolve(e))throw new ve.ErrnoError(44);var r=ve.lookupPath(t,{parent:!0}).node;if(!r)throw new ve.ErrnoError(44);var i=he.basename(t),n=ve.mayCreate(r,i);if(n)throw new ve.ErrnoError(n);if(!r.node_ops.symlink)throw new ve.ErrnoError(63);return r.node_ops.symlink(r,i,e)},rename:(e,t)=>{var r,i,n=he.dirname(e),o=he.dirname(t),s=he.basename(e),a=he.basename(t);if(r=ve.lookupPath(e,{parent:!0}).node,i=ve.lookupPath(t,{parent:!0}).node,!r||!i)throw new ve.ErrnoError(44);if(r.mount!==i.mount)throw new ve.ErrnoError(75);var d,l=ve.lookupNode(r,s),u=pe.relative(e,o);if("."!==u.charAt(0))throw new ve.ErrnoError(28);if("."!==(u=pe.relative(t,n)).charAt(0))throw new ve.ErrnoError(55);try{d=ve.lookupNode(i,a)}catch(e){}if(l!==d){var c=ve.isDir(l.mode),f=ve.mayDelete(r,s,c);if(f)throw new ve.ErrnoError(f);if(f=d?ve.mayDelete(i,a,c):ve.mayCreate(i,a))throw new ve.ErrnoError(f);if(!r.node_ops.rename)throw new ve.ErrnoError(63);if(ve.isMountpoint(l)||d&&ve.isMountpoint(d))throw new ve.ErrnoError(10);if(i!==r&&(f=ve.nodePermissions(r,"w")))throw new ve.ErrnoError(f);ve.hashRemoveNode(l);try{r.node_ops.rename(l,i,a)}catch(e){throw e}finally{ve.hashAddNode(l)}}},rmdir:e=>{var t=ve.lookupPath(e,{parent:!0}).node,r=he.basename(e),i=ve.lookupNode(t,r),n=ve.mayDelete(t,r,!0);if(n)throw new ve.ErrnoError(n);if(!t.node_ops.rmdir)throw new ve.ErrnoError(63);if(ve.isMountpoint(i))throw new ve.ErrnoError(10);t.node_ops.rmdir(t,r),ve.destroyNode(i)},readdir:e=>{var t=ve.lookupPath(e,{follow:!0}).node;if(!t.node_ops.readdir)throw new ve.ErrnoError(54);return t.node_ops.readdir(t)},unlink:e=>{var t=ve.lookupPath(e,{parent:!0}).node;if(!t)throw new ve.ErrnoError(44);var r=he.basename(e),i=ve.lookupNode(t,r),n=ve.mayDelete(t,r,!1);if(n)throw new ve.ErrnoError(n);if(!t.node_ops.unlink)throw new ve.ErrnoError(63);if(ve.isMountpoint(i))throw new ve.ErrnoError(10);t.node_ops.unlink(t,r),ve.destroyNode(i)},readlink:e=>{var t=ve.lookupPath(e).node;if(!t)throw new ve.ErrnoError(44);if(!t.node_ops.readlink)throw new ve.ErrnoError(28);return pe.resolve(ve.getPath(t.parent),t.node_ops.readlink(t))},stat:(e,t)=>{var r=ve.lookupPath(e,{follow:!t}).node;if(!r)throw new ve.ErrnoError(44);if(!r.node_ops.getattr)throw new ve.ErrnoError(63);return r.node_ops.getattr(r)},lstat:e=>ve.stat(e,!0),chmod:(e,t,r)=>{var i;if(!(i="string"==typeof e?ve.lookupPath(e,{follow:!r}).node:e).node_ops.setattr)throw new ve.ErrnoError(63);i.node_ops.setattr(i,{mode:4095&t|-4096&i.mode,timestamp:Date.now()})},lchmod:(e,t)=>{ve.chmod(e,t,!0)},fchmod:(e,t)=>{var r=ve.getStream(e);if(!r)throw new ve.ErrnoError(8);ve.chmod(r.node,t)},chown:(e,t,r,i)=>{var n;if(!(n="string"==typeof e?ve.lookupPath(e,{follow:!i}).node:e).node_ops.setattr)throw new ve.ErrnoError(63);n.node_ops.setattr(n,{timestamp:Date.now()})},lchown:(e,t,r)=>{ve.chown(e,t,r,!0)},fchown:(e,t,r)=>{var i=ve.getStream(e);if(!i)throw new ve.ErrnoError(8);ve.chown(i.node,t,r)},truncate:(e,t)=>{if(t<0)throw new ve.ErrnoError(28);var r;if(!(r="string"==typeof e?ve.lookupPath(e,{follow:!0}).node:e).node_ops.setattr)throw new ve.ErrnoError(63);if(ve.isDir(r.mode))throw new ve.ErrnoError(31);if(!ve.isFile(r.mode))throw new ve.ErrnoError(28);var i=ve.nodePermissions(r,"w");if(i)throw new ve.ErrnoError(i);r.node_ops.setattr(r,{size:t,timestamp:Date.now()})},ftruncate:(e,t)=>{var r=ve.getStream(e);if(!r)throw new ve.ErrnoError(8);if(0==(2097155&r.flags))throw new ve.ErrnoError(28);ve.truncate(r.node,t)},utime:(e,t,r)=>{var i=ve.lookupPath(e,{follow:!0}).node;i.node_ops.setattr(i,{timestamp:Math.max(t,r)})},open:(t,r,i)=>{if(""===t)throw new ve.ErrnoError(44);var n;if(i=void 0===i?438:i,i=64&(r="string"==typeof r?ve.modeStringToFlags(r):r)?4095&i|32768:0,"object"==typeof t)n=t;else{t=he.normalize(t);try{n=ve.lookupPath(t,{follow:!(131072&r)}).node}catch(e){}}var o=!1;if(64&r)if(n){if(128&r)throw new ve.ErrnoError(20)}else n=ve.mknod(t,i,0),o=!0;if(!n)throw new ve.ErrnoError(44);if(ve.isChrdev(n.mode)&&(r&=-513),65536&r&&!ve.isDir(n.mode))throw new ve.ErrnoError(54);if(!o){var s=ve.mayOpen(n,r);if(s)throw new ve.ErrnoError(s)}512&r&&!o&&ve.truncate(n,0),r&=-131713;var a=ve.createStream({node:n,path:ve.getPath(n),flags:r,seekable:!0,position:0,stream_ops:n.stream_ops,ungotten:[],error:!1});return a.stream_ops.open&&a.stream_ops.open(a),!e.logReadFiles||1&r||(ve.readFiles||(ve.readFiles={}),t in ve.readFiles||(ve.readFiles[t]=1)),a},close:e=>{if(ve.isClosed(e))throw new ve.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{ve.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek:(e,t,r)=>{if(ve.isClosed(e))throw new ve.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new ve.ErrnoError(70);if(0!=r&&1!=r&&2!=r)throw new ve.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,r),e.ungotten=[],e.position},read:(e,t,r,i,n)=>{if(i<0||n<0)throw new ve.ErrnoError(28);if(ve.isClosed(e))throw new ve.ErrnoError(8);if(1==(2097155&e.flags))throw new ve.ErrnoError(8);if(ve.isDir(e.node.mode))throw new ve.ErrnoError(31);if(!e.stream_ops.read)throw new ve.ErrnoError(28);var o=void 0!==n;if(o){if(!e.seekable)throw new ve.ErrnoError(70)}else n=e.position;var s=e.stream_ops.read(e,t,r,i,n);return o||(e.position+=s),s},write:(e,t,r,i,n,o)=>{if(i<0||n<0)throw new ve.ErrnoError(28);if(ve.isClosed(e))throw new ve.ErrnoError(8);if(0==(2097155&e.flags))throw new ve.ErrnoError(8);if(ve.isDir(e.node.mode))throw new ve.ErrnoError(31);if(!e.stream_ops.write)throw new ve.ErrnoError(28);e.seekable&&1024&e.flags&&ve.llseek(e,0,2);var s=void 0!==n;if(s){if(!e.seekable)throw new ve.ErrnoError(70)}else n=e.position;var a=e.stream_ops.write(e,t,r,i,n,o);return s||(e.position+=a),a},allocate:(e,t,r)=>{if(ve.isClosed(e))throw new ve.ErrnoError(8);if(t<0||r<=0)throw new ve.ErrnoError(28);if(0==(2097155&e.flags))throw new ve.ErrnoError(8);if(!ve.isFile(e.node.mode)&&!ve.isDir(e.node.mode))throw new ve.ErrnoError(43);if(!e.stream_ops.allocate)throw new ve.ErrnoError(138);e.stream_ops.allocate(e,t,r)},mmap:(e,t,r,i,n)=>{if(0!=(2&i)&&0==(2&n)&&2!=(2097155&e.flags))throw new ve.ErrnoError(2);if(1==(2097155&e.flags))throw new ve.ErrnoError(2);if(!e.stream_ops.mmap)throw new ve.ErrnoError(43);return e.stream_ops.mmap(e,t,r,i,n)},msync:(e,t,r,i,n)=>e&&e.stream_ops.msync?e.stream_ops.msync(e,t,r,i,n):0,munmap:e=>0,ioctl:(e,t,r)=>{if(!e.stream_ops.ioctl)throw new ve.ErrnoError(59);return e.stream_ops.ioctl(e,t,r)},readFile:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(t.flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding)throw new Error('Invalid encoding type "'+t.encoding+'"');var r,i=ve.open(e,t.flags),n=ve.stat(e),o=n.size,s=new Uint8Array(o);return ve.read(i,s,0,o,0),"utf8"===t.encoding?r=O(s,0):"binary"===t.encoding&&(r=s),ve.close(i),r},writeFile:function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};r.flags=r.flags||577;var i=ve.open(e,r.flags,r.mode);if("string"==typeof t){var n=new Uint8Array(H(t)+1),o=$(t,n,0,n.length);ve.write(i,n,0,o,void 0,r.canOwn)}else{if(!ArrayBuffer.isView(t))throw new Error("Unsupported data type");ve.write(i,t,0,t.byteLength,void 0,r.canOwn)}ve.close(i)},cwd:()=>ve.currentPath,chdir:e=>{var t=ve.lookupPath(e,{follow:!0});if(null===t.node)throw new ve.ErrnoError(44);if(!ve.isDir(t.node.mode))throw new ve.ErrnoError(54);var r=ve.nodePermissions(t.node,"x");if(r)throw new ve.ErrnoError(r);ve.currentPath=t.path},createDefaultDirectories:()=>{ve.mkdir("/tmp"),ve.mkdir("/home"),ve.mkdir("/home/web_user")},createDefaultDevices:()=>{ve.mkdir("/dev"),ve.registerDevice(ve.makedev(1,3),{read:()=>0,write:(e,t,r,i,n)=>i}),ve.mkdev("/dev/null",ve.makedev(1,3)),_e.register(ve.makedev(5,0),_e.default_tty_ops),_e.register(ve.makedev(6,0),_e.default_tty1_ops),ve.mkdev("/dev/tty",ve.makedev(5,0)),ve.mkdev("/dev/tty1",ve.makedev(6,0));var e=function(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues){var e=new Uint8Array(1);return()=>(crypto.getRandomValues(e),e[0])}if(m)try{var t=require("crypto");return()=>t.randomBytes(1)[0]}catch(e){}return()=>oe("randomDevice")}();ve.createDevice("/dev","random",e),ve.createDevice("/dev","urandom",e),ve.mkdir("/dev/shm"),ve.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{ve.mkdir("/proc");var e=ve.mkdir("/proc/self");ve.mkdir("/proc/self/fd"),ve.mount({mount:()=>{var t=ve.createNode(e,"fd",16895,73);return t.node_ops={lookup:(e,t)=>{var r=+t,i=ve.getStream(r);if(!i)throw new ve.ErrnoError(8);var n={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>i.path}};return n.parent=n,n}},t}},{},"/proc/self/fd")},createStandardStreams:()=>{e.stdin?ve.createDevice("/dev","stdin",e.stdin):ve.symlink("/dev/tty","/dev/stdin"),e.stdout?ve.createDevice("/dev","stdout",null,e.stdout):ve.symlink("/dev/tty","/dev/stdout"),e.stderr?ve.createDevice("/dev","stderr",null,e.stderr):ve.symlink("/dev/tty1","/dev/stderr"),ve.open("/dev/stdin",0),ve.open("/dev/stdout",1),ve.open("/dev/stderr",1)},ensureErrnoError:()=>{ve.ErrnoError||(ve.ErrnoError=function(e,t){this.node=t,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},ve.ErrnoError.prototype=new Error,ve.ErrnoError.prototype.constructor=ve.ErrnoError,[44].forEach((e=>{ve.genericErrors[e]=new ve.ErrnoError(e),ve.genericErrors[e].stack="<generic error, no stack>"})))},staticInit:()=>{ve.ensureErrnoError(),ve.nameTable=new Array(4096),ve.mount(ye,{},"/"),ve.createDefaultDirectories(),ve.createDefaultDevices(),ve.createSpecialDirectories(),ve.filesystems={MEMFS:ye}},init:(t,r,i)=>{ve.init.initialized=!0,ve.ensureErrnoError(),e.stdin=t||e.stdin,e.stdout=r||e.stdout,e.stderr=i||e.stderr,ve.createStandardStreams()},quit:()=>{ve.init.initialized=!1;for(var e=0;e<ve.streams.length;e++){var t=ve.streams[e];t&&ve.close(t)}},getMode:(e,t)=>{var r=0;return e&&(r|=365),t&&(r|=146),r},findObject:(e,t)=>{var r=ve.analyzePath(e,t);return r.exists?r.object:null},analyzePath:(e,t)=>{try{e=(i=ve.lookupPath(e,{follow:!t})).path}catch(e){}var r={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var i=ve.lookupPath(e,{parent:!0});r.parentExists=!0,r.parentPath=i.path,r.parentObject=i.node,r.name=he.basename(e),i=ve.lookupPath(e,{follow:!t}),r.exists=!0,r.path=i.path,r.object=i.node,r.name=i.node.name,r.isRoot="/"===i.path}catch(e){r.error=e.errno}return r},createPath:(e,t,r,i)=>{e="string"==typeof e?e:ve.getPath(e);for(var n=t.split("/").reverse();n.length;){var o=n.pop();if(o){var s=he.join2(e,o);try{ve.mkdir(s)}catch(e){}e=s}}return s},createFile:(e,t,r,i,n)=>{var o=he.join2("string"==typeof e?e:ve.getPath(e),t),s=ve.getMode(i,n);return ve.create(o,s)},createDataFile:(e,t,r,i,n,o)=>{var s=t;e&&(e="string"==typeof e?e:ve.getPath(e),s=t?he.join2(e,t):e);var a=ve.getMode(i,n),d=ve.create(s,a);if(r){if("string"==typeof r){for(var l=new Array(r.length),u=0,c=r.length;u<c;++u)l[u]=r.charCodeAt(u);r=l}ve.chmod(d,146|a);var f=ve.open(d,577);ve.write(f,r,0,r.length,0,o),ve.close(f),ve.chmod(d,a)}return d},createDevice:(e,t,r,i)=>{var n=he.join2("string"==typeof e?e:ve.getPath(e),t),o=ve.getMode(!!r,!!i);ve.createDevice.major||(ve.createDevice.major=64);var s=ve.makedev(ve.createDevice.major++,0);return ve.registerDevice(s,{open:e=>{e.seekable=!1},close:e=>{i&&i.buffer&&i.buffer.length&&i(10)},read:(e,t,i,n,o)=>{for(var s=0,a=0;a<n;a++){var d;try{d=r()}catch(e){throw new ve.ErrnoError(29)}if(void 0===d&&0===s)throw new ve.ErrnoError(6);if(null==d)break;s++,t[i+a]=d}return s&&(e.node.timestamp=Date.now()),s},write:(e,t,r,n,o)=>{for(var s=0;s<n;s++)try{i(t[r+s])}catch(e){throw new ve.ErrnoError(29)}return n&&(e.node.timestamp=Date.now()),s}}),ve.mkdev(n,o,s)},forceLoadFile:e=>{if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if("undefined"!=typeof XMLHttpRequest)throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");if(!n)throw new Error("Cannot load without read() or XMLHttpRequest.");try{e.contents=me(n(e.url),!0),e.usedBytes=e.contents.length}catch(e){throw new ve.ErrnoError(29)}},createLazyFile:(e,t,r,i,n)=>{function o(){this.lengthKnown=!1,this.chunks=[]}if(o.prototype.get=function(e){if(!(e>this.length-1||e<0)){var t=e%this.chunkSize,r=e/this.chunkSize|0;return this.getter(r)[t]}},o.prototype.setDataGetter=function(e){this.getter=e},o.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",r,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+r+". Status: "+e.status);var t,i=Number(e.getResponseHeader("Content-length")),n=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,o=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,s=1048576;n||(s=i);var a=this;a.setDataGetter((e=>{var t=e*s,n=(e+1)*s-1;if(n=Math.min(n,i-1),void 0===a.chunks[e]&&(a.chunks[e]=((e,t)=>{if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>i-1)throw new Error("only "+i+" bytes available! programmer error!");var n=new XMLHttpRequest;if(n.open("GET",r,!1),i!==s&&n.setRequestHeader("Range","bytes="+e+"-"+t),n.responseType="arraybuffer",n.overrideMimeType&&n.overrideMimeType("text/plain; charset=x-user-defined"),n.send(null),!(n.status>=200&&n.status<300||304===n.status))throw new Error("Couldn't load "+r+". Status: "+n.status);return void 0!==n.response?new Uint8Array(n.response||[]):me(n.responseText||"",!0)})(t,n)),void 0===a.chunks[e])throw new Error("doXHR failed!");return a.chunks[e]})),!o&&i||(s=i=1,i=this.getter(0).length,s=i,S("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=i,this._chunkSize=s,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!p)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var s=new o;Object.defineProperties(s,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var a={isDevice:!1,contents:s}}else a={isDevice:!1,url:r};var d=ve.createFile(e,t,a,i,n);a.contents?d.contents=a.contents:a.url&&(d.contents=null,d.url=a.url),Object.defineProperties(d,{usedBytes:{get:function(){return this.contents.length}}});var l={};function u(e,t,r,i,n){var o=e.node.contents;if(n>=o.length)return 0;var s=Math.min(o.length-n,i);if(o.slice)for(var a=0;a<s;a++)t[r+a]=o[n+a];else for(a=0;a<s;a++)t[r+a]=o.get(n+a);return s}return Object.keys(d.stream_ops).forEach((e=>{var t=d.stream_ops[e];l[e]=function(){return ve.forceLoadFile(d),t.apply(null,arguments)}})),l.read=(e,t,r,i,n)=>(ve.forceLoadFile(d),u(e,t,r,i,n)),l.mmap=(e,t,r,i,n)=>{ve.forceLoadFile(d);var o=ge(t);if(!o)throw new ve.ErrnoError(48);return u(e,D,o,t,r),{ptr:o,allocated:!0}},d.stream_ops=l,d},createPreloadedFile:(e,t,r,i,n,s,a,d,l,u)=>{var c=t?pe.resolve(he.join2(e,t)):e;function f(r){function o(r){u&&u(),d||ve.createDataFile(e,t,r,i,n,l),s&&s(),ne()}Browser.handledByPreloadPlugin(r,c,o,(()=>{a&&a(),ne()}))||o(r)}ie(),"string"==typeof r?function(e,t,r,i){var n=i?"":"al "+e;o(e,(r=>{T(r,'Loading data file "'+e+'" failed (no arrayBuffer).'),t(new Uint8Array(r)),n&&ne()}),(t=>{if(!r)throw'Loading data file "'+e+'" failed.';r()})),n&&ie()}(r,(e=>f(e)),a):f(r)},indexedDB:()=>window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB,DB_NAME:()=>"EM_FS_"+window.location.pathname,DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(e,t,r)=>{t=t||(()=>{}),r=r||(()=>{});var i=ve.indexedDB();try{var n=i.open(ve.DB_NAME(),ve.DB_VERSION)}catch(e){return r(e)}n.onupgradeneeded=()=>{S("creating db"),n.result.createObjectStore(ve.DB_STORE_NAME)},n.onsuccess=()=>{var i=n.result.transaction([ve.DB_STORE_NAME],"readwrite"),o=i.objectStore(ve.DB_STORE_NAME),s=0,a=0,d=e.length;function l(){0==a?t():r()}e.forEach((e=>{var t=o.put(ve.analyzePath(e).object.contents,e);t.onsuccess=()=>{++s+a==d&&l()},t.onerror=()=>{a++,s+a==d&&l()}})),i.onerror=r},n.onerror=r},loadFilesFromDB:(e,t,r)=>{t=t||(()=>{}),r=r||(()=>{});var i=ve.indexedDB();try{var n=i.open(ve.DB_NAME(),ve.DB_VERSION)}catch(e){return r(e)}n.onupgradeneeded=r,n.onsuccess=()=>{var i=n.result;try{var o=i.transaction([ve.DB_STORE_NAME],"readonly")}catch(e){return void r(e)}var s=o.objectStore(ve.DB_STORE_NAME),a=0,d=0,l=e.length;function u(){0==d?t():r()}e.forEach((e=>{var t=s.get(e);t.onsuccess=()=>{ve.analyzePath(e).exists&&ve.unlink(e),ve.createDataFile(he.dirname(e),he.basename(e),t.result,!0,!0,!0),++a+d==l&&u()},t.onerror=()=>{d++,a+d==l&&u()}})),o.onerror=r},n.onerror=r}},be={DEFAULT_POLLMASK:5,calculateAt:function(e,t,r){if(he.isAbs(t))return t;var i;if(-100===e)i=ve.cwd();else{var n=ve.getStream(e);if(!n)throw new ve.ErrnoError(8);i=n.path}if(0==t.length){if(!r)throw new ve.ErrnoError(44);return i}return he.join2(i,t)},doStat:function(e,t,r){try{var i=e(t)}catch(e){if(e&&e.node&&he.normalize(t)!==he.normalize(ve.getPath(e.node)))return-54;throw e}return L[r>>2]=i.dev,L[r+4>>2]=0,L[r+8>>2]=i.ino,L[r+12>>2]=i.mode,L[r+16>>2]=i.nlink,L[r+20>>2]=i.uid,L[r+24>>2]=i.gid,L[r+28>>2]=i.rdev,L[r+32>>2]=0,ee=[i.size>>>0,(Q=i.size,+Math.abs(Q)>=1?Q>0?(0|Math.min(+Math.floor(Q/4294967296),4294967295))>>>0:~~+Math.ceil((Q-+(~~Q>>>0))/4294967296)>>>0:0)],L[r+40>>2]=ee[0],L[r+44>>2]=ee[1],L[r+48>>2]=4096,L[r+52>>2]=i.blocks,ee=[Math.floor(i.atime.getTime()/1e3)>>>0,(Q=Math.floor(i.atime.getTime()/1e3),+Math.abs(Q)>=1?Q>0?(0|Math.min(+Math.floor(Q/4294967296),4294967295))>>>0:~~+Math.ceil((Q-+(~~Q>>>0))/4294967296)>>>0:0)],L[r+56>>2]=ee[0],L[r+60>>2]=ee[1],L[r+64>>2]=0,ee=[Math.floor(i.mtime.getTime()/1e3)>>>0,(Q=Math.floor(i.mtime.getTime()/1e3),+Math.abs(Q)>=1?Q>0?(0|Math.min(+Math.floor(Q/4294967296),4294967295))>>>0:~~+Math.ceil((Q-+(~~Q>>>0))/4294967296)>>>0:0)],L[r+72>>2]=ee[0],L[r+76>>2]=ee[1],L[r+80>>2]=0,ee=[Math.floor(i.ctime.getTime()/1e3)>>>0,(Q=Math.floor(i.ctime.getTime()/1e3),+Math.abs(Q)>=1?Q>0?(0|Math.min(+Math.floor(Q/4294967296),4294967295))>>>0:~~+Math.ceil((Q-+(~~Q>>>0))/4294967296)>>>0:0)],L[r+88>>2]=ee[0],L[r+92>>2]=ee[1],L[r+96>>2]=0,ee=[i.ino>>>0,(Q=i.ino,+Math.abs(Q)>=1?Q>0?(0|Math.min(+Math.floor(Q/4294967296),4294967295))>>>0:~~+Math.ceil((Q-+(~~Q>>>0))/4294967296)>>>0:0)],L[r+104>>2]=ee[0],L[r+108>>2]=ee[1],0},doMsync:function(e,t,r,i,n){var o=P.slice(e,e+r);ve.msync(t,o,n,r,i)},varargs:void 0,get:function(){return be.varargs+=4,L[be.varargs-4>>2]},getStr:function(e){return G(e)},getStreamFromFD:function(e){var t=ve.getStream(e);if(!t)throw new ve.ErrnoError(8);return t}};function we(t){if(_)return sr(1,1,t);U=t,X()||(Ee.terminateAllThreads(),e.onExit&&e.onExit(t),k=!0),f(t,new ue(t))}var Se=function(e,t){if(U=e,!t&&_)throw Be(e),"unwind";we(e)},Ee={unusedWorkers:[],runningWorkers:[],tlsInitFunctions:[],pthreads:{},init:function(){_?Ee.initWorker():Ee.initMainThread()},initMainThread:function(){},initWorker:function(){B=!1},setExitStatus:function(e){U=e},terminateAllThreads:function(){for(var e in Ee.pthreads)(r=Ee.pthreads[e])&&Ee.returnWorkerToPool(r);for(var t=0;t<Ee.unusedWorkers.length;++t){var r;(r=Ee.unusedWorkers[t]).terminate()}Ee.unusedWorkers=[]},returnWorkerToPool:function(e){var t=e.pthread_ptr;delete Ee.pthreads[t],Ee.unusedWorkers.push(e),Ee.runningWorkers.splice(Ee.runningWorkers.indexOf(e),1),e.pthread_ptr=0,Pr(t)},receiveObjectTransfer:function(e){},threadInitTLS:function(){for(var e in Ee.tlsInitFunctions)Ee.tlsInitFunctions.hasOwnProperty(e)&&Ee.tlsInitFunctions[e]()},loadWasmModuleToWorker:function(t,r){t.onmessage=i=>{var n,o=i.data,s=o.cmd;if(t.pthread_ptr&&(Ee.currentProxiedOperationCallerThread=t.pthread_ptr),o.targetThread&&o.targetThread!=xr()){var a=Ee.pthreads[o.targetThread];return a?a.postMessage(o,o.transferList):E('Internal error! Worker sent a message "'+s+'" to target pthread '+o.targetThread+", but that thread no longer exists!"),void(Ee.currentProxiedOperationCallerThread=void 0)}"processProxyingQueue"===s?er(o.queue):"spawnThread"===s?fe(o):"cleanupThread"===s?ce(o.thread):"killThread"===s?function(e){var t=Ee.pthreads[e];delete Ee.pthreads[e],t.terminate(),Pr(e),Ee.runningWorkers.splice(Ee.runningWorkers.indexOf(t),1),t.pthread_ptr=0}(o.thread):"cancelThread"===s?(n=o.thread,Ee.pthreads[n].postMessage({cmd:"cancel"})):"loaded"===s?(t.loaded=!0,r&&r(t),t.runPthread&&(t.runPthread(),delete t.runPthread)):"print"===s?S("Thread "+o.threadId+": "+o.text):"printErr"===s?E("Thread "+o.threadId+": "+o.text):"alert"===s?alert("Thread "+o.threadId+": "+o.text):"setimmediate"===o.target?t.postMessage(o):"onAbort"===s?e.onAbort&&e.onAbort(o.arg):s&&E("worker sent an unknown command "+s),Ee.currentProxiedOperationCallerThread=void 0},t.onerror=e=>{throw E("worker sent an error! "+e.filename+":"+e.lineno+": "+e.message),e},m&&(t.on("message",(function(e){t.onmessage({data:e})})),t.on("error",(function(e){t.onerror(e)})),t.on("detachedExit",(function(){}))),t.postMessage({cmd:"load",urlOrBlob:e.mainScriptUrlOrBlob,wasmMemory:A,wasmModule:x})},allocateUnusedWorker:function(){if(e.locateFile){var t=y("decoder-pro-mt-worker.worker.js");Ee.unusedWorkers.push(new Worker(t))}else Ee.unusedWorkers.push(new Worker(new URL("decoder-pro-mt-worker.worker.js","undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-mt.js",document.baseURI).href)))},getNewWorker:function(){return 0==Ee.unusedWorkers.length&&(Ee.allocateUnusedWorker(),Ee.loadWasmModuleToWorker(Ee.unusedWorkers[0])),Ee.unusedWorkers.pop()}};function Ae(t){for(;t.length>0;)t.shift()(e)}function xe(e){var t=Lr(),r=e();return Mr(t),r}function Be(e){if(_)return sr(2,0,e);try{Se(e)}catch(e){!function(e){if(e instanceof ue||"unwind"==e)return U;f(1,e)}(e)}}e.PThread=Ee,e.establishStackSpace=function(){var e=xr(),t=L[e+44>>2],r=L[e+48>>2];Ir(t,t-r),Mr(t)};var Ue=[];function ke(e){var t=Ue[e];return t||(e>=Ue.length&&(Ue.length=e+1),Ue[e]=t=W.get(e)),t}function Te(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(e){M[this.ptr+4>>2]=e},this.get_type=function(){return M[this.ptr+4>>2]},this.set_destructor=function(e){M[this.ptr+8>>2]=e},this.get_destructor=function(){return M[this.ptr+8>>2]},this.set_refcount=function(e){L[this.ptr>>2]=e},this.set_caught=function(e){e=e?1:0,D[this.ptr+12>>0]=e},this.get_caught=function(){return 0!=D[this.ptr+12>>0]},this.set_rethrown=function(e){e=e?1:0,D[this.ptr+13>>0]=e},this.get_rethrown=function(){return 0!=D[this.ptr+13>>0]},this.init=function(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t),this.set_refcount(0),this.set_caught(!1),this.set_rethrown(!1)},this.add_ref=function(){Atomics.add(L,this.ptr+0>>2,1)},this.release_ref=function(){return 1===Atomics.sub(L,this.ptr+0>>2,1)},this.set_adjusted_ptr=function(e){M[this.ptr+16>>2]=e},this.get_adjusted_ptr=function(){return M[this.ptr+16>>2]},this.get_exception_ptr=function(){if(zr(this.get_type()))return M[this.excPtr>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}function Ce(e,t,r,i){return _?sr(3,1,e,t,r,i):De(e,t,r,i)}function De(e,t,r,i){if("undefined"==typeof SharedArrayBuffer)return E("Current environment does not support SharedArrayBuffer, pthreads are not available!"),6;var n=[];if(_&&0===n.length)return Ce(e,t,r,i);var o={startRoutine:r,pthread_ptr:e,arg:i,transferList:n};return _?(o.cmd="spawnThread",postMessage(o,n),0):fe(o)}function Pe(e,t,r){if(_)return sr(4,1,e,t,r);be.varargs=r;try{var i=be.getStreamFromFD(e);switch(t){case 0:return(n=be.get())<0?-28:ve.createStream(i,n).fd;case 1:case 2:case 6:case 7:return 0;case 3:return i.flags;case 4:var n=be.get();return i.flags|=n,0;case 5:return n=be.get(),F[n+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return o=28,L[Ar()>>2]=o,-1}}catch(e){if(void 0===ve||!(e instanceof ve.ErrnoError))throw e;return-e.errno}var o}function Fe(e,t,r,i){if(_)return sr(5,1,e,t,r,i);be.varargs=i;try{t=be.getStr(t),t=be.calculateAt(e,t);var n=i?be.get():0;return ve.open(t,r,n).fd}catch(e){if(void 0===ve||!(e instanceof ve.ErrnoError))throw e;return-e.errno}}function Ie(e){switch(e){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+e)}}e.invokeEntryPoint=function(e,t){var r=ke(e)(t);X()?Ee.setExitStatus(r):Fr(r)};var Le=void 0;function Me(e){for(var t="",r=e;P[r];)t+=Le[P[r++]];return t}var Re={},ze={},Ne={};function Oe(e){if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=48&&t<=57?"_"+e:e}function Ge(e,t){return e=Oe(e),new Function("body","return function "+e+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(t)}function $e(e,t){var r=Ge(t,(function(e){this.name=t,this.message=e;var r=new Error(e).stack;void 0!==r&&(this.stack=this.toString()+"\n"+r.replace(/^Error(:[^\n]*)?\n/,""))}));return r.prototype=Object.create(e.prototype),r.prototype.constructor=r,r.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},r}var He=void 0;function Ve(e){throw new He(e)}var We=void 0;function je(e){throw new We(e)}function qe(e,t,r){function i(t){var i=r(t);i.length!==e.length&&je("Mismatched type converter count");for(var n=0;n<e.length;++n)Ye(e[n],i[n])}e.forEach((function(e){Ne[e]=t}));var n=new Array(t.length),o=[],s=0;t.forEach(((e,t)=>{ze.hasOwnProperty(e)?n[t]=ze[e]:(o.push(e),Re.hasOwnProperty(e)||(Re[e]=[]),Re[e].push((()=>{n[t]=ze[e],++s===o.length&&i(n)})))})),0===o.length&&i(n)}function Ye(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");var i=t.name;if(e||Ve('type "'+i+'" must have a positive integer typeid pointer'),ze.hasOwnProperty(e)){if(r.ignoreDuplicateRegistrations)return;Ve("Cannot register type '"+i+"' twice")}if(ze[e]=t,delete Ne[e],Re.hasOwnProperty(e)){var n=Re[e];delete Re[e],n.forEach((e=>e()))}}function Ke(e){if(!(this instanceof gt))return!1;if(!(e instanceof gt))return!1;for(var t=this.$$.ptrType.registeredClass,r=this.$$.ptr,i=e.$$.ptrType.registeredClass,n=e.$$.ptr;t.baseClass;)r=t.upcast(r),t=t.baseClass;for(;i.baseClass;)n=i.upcast(n),i=i.baseClass;return t===i&&r===n}function Xe(e){Ve(e.$$.ptrType.registeredClass.name+" instance already deleted")}var Ze=!1;function Je(e){}function Qe(e){e.count.value-=1,0===e.count.value&&function(e){e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)}(e)}function et(e,t,r){if(t===r)return e;if(void 0===r.baseClass)return null;var i=et(e,t,r.baseClass);return null===i?null:r.downcast(i)}var tt={};function rt(){return Object.keys(dt).length}function it(){var e=[];for(var t in dt)dt.hasOwnProperty(t)&&e.push(dt[t]);return e}var nt=[];function ot(){for(;nt.length;){var e=nt.pop();e.$$.deleteScheduled=!1,e.delete()}}var st=void 0;function at(e){st=e,nt.length&&st&&st(ot)}var dt={};function lt(e,t){return t=function(e,t){for(void 0===t&&Ve("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t}(e,t),dt[t]}function ut(e,t){return t.ptrType&&t.ptr||je("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!=!!t.smartPtr&&je("Both smartPtrType and smartPtr must be specified"),t.count={value:1},ft(Object.create(e,{$$:{value:t}}))}function ct(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var r=lt(this.registeredClass,t);if(void 0!==r){if(0===r.$$.count.value)return r.$$.ptr=t,r.$$.smartPtr=e,r.clone();var i=r.clone();return this.destructor(e),i}function n(){return this.isSmartPointer?ut(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):ut(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var o,s=this.registeredClass.getActualType(t),a=tt[s];if(!a)return n.call(this);o=this.isConst?a.constPointerType:a.pointerType;var d=et(t,this.registeredClass,o.registeredClass);return null===d?n.call(this):this.isSmartPointer?ut(o.registeredClass.instancePrototype,{ptrType:o,ptr:d,smartPtrType:this,smartPtr:e}):ut(o.registeredClass.instancePrototype,{ptrType:o,ptr:d})}function ft(e){return"undefined"==typeof FinalizationRegistry?(ft=e=>e,e):(Ze=new FinalizationRegistry((e=>{Qe(e.$$)})),ft=e=>{var t=e.$$;if(t.smartPtr){var r={$$:t};Ze.register(e,r,e)}return e},Je=e=>Ze.unregister(e),ft(e))}function ht(){if(this.$$.ptr||Xe(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e,t=ft(Object.create(Object.getPrototypeOf(this),{$$:{value:(e=this.$$,{count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType})}}));return t.$$.count.value+=1,t.$$.deleteScheduled=!1,t}function pt(){this.$$.ptr||Xe(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Ve("Object already scheduled for deletion"),Je(this),Qe(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)}function mt(){return!this.$$.ptr}function _t(){return this.$$.ptr||Xe(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Ve("Object already scheduled for deletion"),nt.push(this),1===nt.length&&st&&st(ot),this.$$.deleteScheduled=!0,this}function gt(){}function yt(e,t,r){if(void 0===e[t].overloadTable){var i=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||Ve("Function '"+r+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+e[t].overloadTable+")!"),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[i.argCount]=i}}function vt(e,t,r,i,n,o,s,a){this.name=e,this.constructor=t,this.instancePrototype=r,this.rawDestructor=i,this.baseClass=n,this.getActualType=o,this.upcast=s,this.downcast=a,this.pureVirtualFunctions=[]}function bt(e,t,r){for(;t!==r;)t.upcast||Ve("Expected null or instance of "+r.name+", got an instance of "+t.name),e=t.upcast(e),t=t.baseClass;return e}function wt(e,t){if(null===t)return this.isReference&&Ve("null is not a valid "+this.name),0;t.$$||Ve('Cannot pass "'+Vt(t)+'" as a '+this.name),t.$$.ptr||Ve("Cannot pass deleted object as a pointer of type "+this.name);var r=t.$$.ptrType.registeredClass;return bt(t.$$.ptr,r,this.registeredClass)}function St(e,t){var r;if(null===t)return this.isReference&&Ve("null is not a valid "+this.name),this.isSmartPointer?(r=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,r),r):0;t.$$||Ve('Cannot pass "'+Vt(t)+'" as a '+this.name),t.$$.ptr||Ve("Cannot pass deleted object as a pointer of type "+this.name),!this.isConst&&t.$$.ptrType.isConst&&Ve("Cannot convert argument of type "+(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name)+" to parameter type "+this.name);var i=t.$$.ptrType.registeredClass;if(r=bt(t.$$.ptr,i,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&Ve("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?r=t.$$.smartPtr:Ve("Cannot convert argument of type "+(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name)+" to parameter type "+this.name);break;case 1:r=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)r=t.$$.smartPtr;else{var n=t.clone();r=this.rawShare(r,Ht.toHandle((function(){n.delete()}))),null!==e&&e.push(this.rawDestructor,r)}break;default:Ve("Unsupporting sharing policy")}return r}function Et(e,t){if(null===t)return this.isReference&&Ve("null is not a valid "+this.name),0;t.$$||Ve('Cannot pass "'+Vt(t)+'" as a '+this.name),t.$$.ptr||Ve("Cannot pass deleted object as a pointer of type "+this.name),t.$$.ptrType.isConst&&Ve("Cannot convert argument of type "+t.$$.ptrType.name+" to parameter type "+this.name);var r=t.$$.ptrType.registeredClass;return bt(t.$$.ptr,r,this.registeredClass)}function At(e){return this.fromWireType(L[e>>2])}function xt(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e}function Bt(e){this.rawDestructor&&this.rawDestructor(e)}function Ut(e){null!==e&&e.delete()}function kt(e,t,r,i,n,o,s,a,d,l,u){this.name=e,this.registeredClass=t,this.isReference=r,this.isConst=i,this.isSmartPointer=n,this.pointeeType=o,this.sharingPolicy=s,this.rawGetPointee=a,this.rawConstructor=d,this.rawShare=l,this.rawDestructor=u,n||void 0!==t.baseClass?this.toWireType=St:i?(this.toWireType=wt,this.destructorFunction=null):(this.toWireType=Et,this.destructorFunction=null)}function Tt(t,r,i){return t.includes("j")?function(t,r,i){var n=e["dynCall_"+t];return i&&i.length?n.apply(null,[r].concat(i)):n.call(null,r)}(t,r,i):ke(r).apply(null,i)}function Ct(e,t){var r,i,n,o=(e=Me(e)).includes("j")?(r=e,i=t,n=[],function(){return n.length=0,Object.assign(n,arguments),Tt(r,i,n)}):ke(t);return"function"!=typeof o&&Ve("unknown function pointer with signature "+e+": "+t),o}var Dt=void 0;function Pt(e){var t=Ur(e),r=Me(t);return Sr(t),r}function Ft(e,t){var r=[],i={};throw t.forEach((function e(t){i[t]||ze[t]||(Ne[t]?Ne[t].forEach(e):(r.push(t),i[t]=!0))})),new Dt(e+": "+r.map(Pt).join([", "]))}function It(e,t){for(var r=[],i=0;i<e;i++)r.push(M[t+4*i>>2]);return r}function Lt(e){for(;e.length;){var t=e.pop();e.pop()(t)}}function Mt(e,t){if(!(e instanceof Function))throw new TypeError("new_ called with constructor type "+typeof e+" which is not a function");var r=Ge(e.name||"unknownFunctionName",(function(){}));r.prototype=e.prototype;var i=new r,n=e.apply(i,t);return n instanceof Object?n:i}function Rt(e,t,r,i,n){var o=t.length;o<2&&Ve("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var s=null!==t[1]&&null!==r,a=!1,d=1;d<t.length;++d)if(null!==t[d]&&void 0===t[d].destructorFunction){a=!0;break}var l="void"!==t[0].name,u="",c="";for(d=0;d<o-2;++d)u+=(0!==d?", ":"")+"arg"+d,c+=(0!==d?", ":"")+"arg"+d+"Wired";var f="return function "+Oe(e)+"("+u+") {\nif (arguments.length !== "+(o-2)+") {\nthrowBindingError('function "+e+" called with ' + arguments.length + ' arguments, expected "+(o-2)+" args!');\n}\n";a&&(f+="var destructors = [];\n");var h=a?"destructors":"null",p=["throwBindingError","invoker","fn","runDestructors","retType","classParam"],m=[Ve,i,n,Lt,t[0],t[1]];for(s&&(f+="var thisWired = classParam.toWireType("+h+", this);\n"),d=0;d<o-2;++d)f+="var arg"+d+"Wired = argType"+d+".toWireType("+h+", arg"+d+"); // "+t[d+2].name+"\n",p.push("argType"+d),m.push(t[d+2]);if(s&&(c="thisWired"+(c.length>0?", ":"")+c),f+=(l?"var rv = ":"")+"invoker(fn"+(c.length>0?", ":"")+c+");\n",a)f+="runDestructors(destructors);\n";else for(d=s?1:2;d<t.length;++d){var _=1===d?"thisWired":"arg"+(d-2)+"Wired";null!==t[d].destructorFunction&&(f+=_+"_dtor("+_+"); // "+t[d].name+"\n",p.push(_+"_dtor"),m.push(t[d].destructorFunction))}return l&&(f+="var ret = retType.fromWireType(rv);\nreturn ret;\n"),f+="}\n",p.push(f),Mt(Function,p).apply(null,m)}var zt=[],Nt=[{},{value:void 0},{value:null},{value:!0},{value:!1}];function Ot(e){e>4&&0==--Nt[e].refcount&&(Nt[e]=void 0,zt.push(e))}function Gt(){for(var e=0,t=5;t<Nt.length;++t)void 0!==Nt[t]&&++e;return e}function $t(){for(var e=5;e<Nt.length;++e)if(void 0!==Nt[e])return Nt[e];return null}var Ht={toValue:e=>(e||Ve("Cannot use deleted val. handle = "+e),Nt[e].value),toHandle:e=>{switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var t=zt.length?zt.pop():Nt.length;return Nt[t]={refcount:1,value:e},t}}};function Vt(e){if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e}function Wt(e,t){switch(t){case 2:return function(e){return this.fromWireType(R[e>>2])};case 3:return function(e){return this.fromWireType(z[e>>3])};default:throw new TypeError("Unknown float type: "+e)}}function jt(e,t,r){switch(t){case 0:return r?function(e){return D[e]}:function(e){return P[e]};case 1:return r?function(e){return F[e>>1]}:function(e){return I[e>>1]};case 2:return r?function(e){return L[e>>2]}:function(e){return M[e>>2]};default:throw new TypeError("Unknown integer type: "+e)}}var qt="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function Yt(e,t){for(var r=e,i=r>>1,n=i+t/2;!(i>=n)&&I[i];)++i;if((r=i<<1)-e>32&&qt)return qt.decode(P.slice(e,r));for(var o="",s=0;!(s>=t/2);++s){var a=F[e+2*s>>1];if(0==a)break;o+=String.fromCharCode(a)}return o}function Kt(e,t,r){if(void 0===r&&(r=2147483647),r<2)return 0;for(var i=t,n=(r-=2)<2*e.length?r/2:e.length,o=0;o<n;++o){var s=e.charCodeAt(o);F[t>>1]=s,t+=2}return F[t>>1]=0,t-i}function Xt(e){return 2*e.length}function Zt(e,t){for(var r=0,i="";!(r>=t/4);){var n=L[e+4*r>>2];if(0==n)break;if(++r,n>=65536){var o=n-65536;i+=String.fromCharCode(55296|o>>10,56320|1023&o)}else i+=String.fromCharCode(n)}return i}function Jt(e,t,r){if(void 0===r&&(r=2147483647),r<4)return 0;for(var i=t,n=i+r-4,o=0;o<e.length;++o){var s=e.charCodeAt(o);if(s>=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++o)),L[t>>2]=s,(t+=4)+4>n)break}return L[t>>2]=0,t-i}function Qt(e){for(var t=0,r=0;r<e.length;++r){var i=e.charCodeAt(r);i>=55296&&i<=57343&&++r,t+=4}return t}function er(e){Atomics.store(L,e>>2,1),xr()&&Dr(e),Atomics.compareExchange(L,e>>2,1,0)}e.executeNotifiedProxyingQueue=er;var tr,rr={},ir=[],nr=[];function or(e){or.shown||(or.shown={}),or.shown[e]||(or.shown[e]=1,m&&(e="warning: "+e),E(e))}function sr(e,t){var r=arguments.length-2,i=arguments;return xe((function(){for(var n=r,o=Rr(8*n),s=o>>3,a=0;a<r;a++){var d=i[2+a];z[s+a]=d}return Cr(e,n,o,t)}))}tr=m?()=>{var e=process.hrtime();return 1e3*e[0]+e[1]/1e6}:_?()=>performance.now()-e.__performance_now_clock_drift:()=>performance.now();var ar=[],dr={};function lr(){if(!lr.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:c||"./this.program"};for(var t in dr)void 0===dr[t]?delete e[t]:e[t]=dr[t];var r=[];for(var t in e)r.push(t+"="+e[t]);lr.strings=r}return lr.strings}function ur(e,t){if(_)return sr(6,1,e,t);var r=0;return lr().forEach((function(i,n){var o=t+r;M[e+4*n>>2]=o,function(e,t,r){for(var i=0;i<e.length;++i)D[t++>>0]=e.charCodeAt(i);r||(D[t>>0]=0)}(i,o),r+=i.length+1})),0}function cr(e,t){if(_)return sr(7,1,e,t);var r=lr();M[e>>2]=r.length;var i=0;return r.forEach((function(e){i+=e.length+1})),M[t>>2]=i,0}function fr(e){if(_)return sr(8,1,e);try{var t=be.getStreamFromFD(e);return ve.close(t),0}catch(e){if(void 0===ve||!(e instanceof ve.ErrnoError))throw e;return e.errno}}function hr(e,t){if(_)return sr(9,1,e,t);try{var r=be.getStreamFromFD(e),i=r.tty?2:ve.isDir(r.mode)?3:ve.isLink(r.mode)?7:4;return D[t>>0]=i,0}catch(e){if(void 0===ve||!(e instanceof ve.ErrnoError))throw e;return e.errno}}function pr(e,t,r,i){if(_)return sr(10,1,e,t,r,i);try{var n=function(e,t,r,i){for(var n=0,o=0;o<r;o++){var s=M[t>>2],a=M[t+4>>2];t+=8;var d=ve.read(e,D,s,a,i);if(d<0)return-1;if(n+=d,d<a)break}return n}(be.getStreamFromFD(e),t,r);return L[i>>2]=n,0}catch(e){if(void 0===ve||!(e instanceof ve.ErrnoError))throw e;return e.errno}}function mr(e,t,r,i,n){if(_)return sr(11,1,e,t,r,i,n);try{var o=(d=r)+2097152>>>0<4194305-!!(a=t)?(a>>>0)+4294967296*d:NaN;if(isNaN(o))return 61;var s=be.getStreamFromFD(e);return ve.llseek(s,o,i),ee=[s.position>>>0,(Q=s.position,+Math.abs(Q)>=1?Q>0?(0|Math.min(+Math.floor(Q/4294967296),4294967295))>>>0:~~+Math.ceil((Q-+(~~Q>>>0))/4294967296)>>>0:0)],L[n>>2]=ee[0],L[n+4>>2]=ee[1],s.getdents&&0===o&&0===i&&(s.getdents=null),0}catch(e){if(void 0===ve||!(e instanceof ve.ErrnoError))throw e;return e.errno}var a,d}function _r(e,t,r,i){if(_)return sr(12,1,e,t,r,i);try{var n=function(e,t,r,i){for(var n=0,o=0;o<r;o++){var s=M[t>>2],a=M[t+4>>2];t+=8;var d=ve.write(e,D,s,a,i);if(d<0)return-1;n+=d}return n}(be.getStreamFromFD(e),t,r);return M[i>>2]=n,0}catch(e){if(void 0===ve||!(e instanceof ve.ErrnoError))throw e;return e.errno}}Ee.init();var gr=function(e,t,r,i){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=ve.nextInode++,this.name=t,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=i},yr=365,vr=146;Object.defineProperties(gr.prototype,{read:{get:function(){return(this.mode&yr)===yr},set:function(e){e?this.mode|=yr:this.mode&=-366}},write:{get:function(){return(this.mode&vr)===vr},set:function(e){e?this.mode|=vr:this.mode&=-147}},isFolder:{get:function(){return ve.isDir(this.mode)}},isDevice:{get:function(){return ve.isChrdev(this.mode)}}}),ve.FSNode=gr,ve.staticInit(),function(){for(var e=new Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);Le=e}(),He=e.BindingError=$e(Error,"BindingError"),We=e.InternalError=$e(Error,"InternalError"),gt.prototype.isAliasOf=Ke,gt.prototype.clone=ht,gt.prototype.delete=pt,gt.prototype.isDeleted=mt,gt.prototype.deleteLater=_t,e.getInheritedInstanceCount=rt,e.getLiveInheritedInstances=it,e.flushPendingDeletes=ot,e.setDelayFunction=at,kt.prototype.getPointee=xt,kt.prototype.destructor=Bt,kt.prototype.argPackAdvance=8,kt.prototype.readValueFromPointer=At,kt.prototype.deleteObject=Ut,kt.prototype.fromWireType=ct,Dt=e.UnboundTypeError=$e(Error,"UnboundTypeError"),e.count_emval_handles=Gt,e.get_first_emval=$t;var br=[null,we,Be,Ce,Pe,Fe,ur,cr,fr,hr,pr,mr,_r],wr={t:function(e){return Er(e+24)+24},s:function(e,t,r){throw new Te(e).init(t,r),e},G:function(e){kr(e,!p,1,!h),Ee.threadInitTLS()},j:function(e){_?postMessage({cmd:"cleanupThread",thread:e}):ce(e)},C:De,Q:Pe,F:Fe,v:function(e,t,r,i,n){},S:function(e,t,r,i,n){var o=Ie(r);Ye(e,{name:t=Me(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?i:n},argPackAdvance:8,readValueFromPointer:function(e){var i;if(1===r)i=D;else if(2===r)i=F;else{if(4!==r)throw new TypeError("Unknown boolean type size: "+t);i=L}return this.fromWireType(i[e>>o])},destructorFunction:null})},H:function(t,r,i,n,o,s,a,d,l,u,c,f,h){c=Me(c),s=Ct(o,s),d&&(d=Ct(a,d)),u&&(u=Ct(l,u)),h=Ct(f,h);var p=Oe(c);!function(t,r,i){e.hasOwnProperty(t)?((void 0===i||void 0!==e[t].overloadTable&&void 0!==e[t].overloadTable[i])&&Ve("Cannot register public name '"+t+"' twice"),yt(e,t,t),e.hasOwnProperty(i)&&Ve("Cannot register multiple overloads of a function with the same number of arguments ("+i+")!"),e[t].overloadTable[i]=r):(e[t]=r,void 0!==i&&(e[t].numArguments=i))}(p,(function(){Ft("Cannot construct "+c+" due to unbound types",[n])})),qe([t,r,i],n?[n]:[],(function(r){var i,o;r=r[0],o=n?(i=r.registeredClass).instancePrototype:gt.prototype;var a=Ge(p,(function(){if(Object.getPrototypeOf(this)!==l)throw new He("Use 'new' to construct "+c);if(void 0===f.constructor_body)throw new He(c+" has no accessible constructor");var e=f.constructor_body[arguments.length];if(void 0===e)throw new He("Tried to invoke ctor of "+c+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(f.constructor_body).toString()+") parameters instead!");return e.apply(this,arguments)})),l=Object.create(o,{constructor:{value:a}});a.prototype=l;var f=new vt(c,a,l,h,i,s,d,u),m=new kt(c,f,!0,!1,!1),_=new kt(c+"*",f,!1,!1,!1),g=new kt(c+" const*",f,!1,!0,!1);return tt[t]={pointerType:_,constPointerType:g},function(t,r,i){e.hasOwnProperty(t)||je("Replacing nonexistant public symbol"),void 0!==e[t].overloadTable&&void 0!==i?e[t].overloadTable[i]=r:(e[t]=r,e[t].argCount=i)}(p,a),[m,_,g]}))},y:function(e,t,r,i,n,o){T(t>0);var s=It(t,r);n=Ct(i,n),qe([],[e],(function(e){var r="constructor "+(e=e[0]).name;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new He("Cannot register multiple constructors with identical number of parameters ("+(t-1)+") for class '"+e.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");return e.registeredClass.constructor_body[t-1]=()=>{Ft("Cannot construct "+e.name+" due to unbound types",s)},qe([],s,(function(i){return i.splice(1,0,null),e.registeredClass.constructor_body[t-1]=Rt(r,i,null,n,o),[]})),[]}))},f:function(e,t,r,i,n,o,s,a){var d=It(r,i);t=Me(t),o=Ct(n,o),qe([],[e],(function(e){var i=(e=e[0]).name+"."+t;function n(){Ft("Cannot call "+i+" due to unbound types",d)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),a&&e.registeredClass.pureVirtualFunctions.push(t);var l=e.registeredClass.instancePrototype,u=l[t];return void 0===u||void 0===u.overloadTable&&u.className!==e.name&&u.argCount===r-2?(n.argCount=r-2,n.className=e.name,l[t]=n):(yt(l,t,i),l[t].overloadTable[r-2]=n),qe([],d,(function(n){var a=Rt(i,n,e,o,s);return void 0===l[t].overloadTable?(a.argCount=r-2,l[t]=a):l[t].overloadTable[r-2]=a,[]})),[]}))},R:function(e,t){Ye(e,{name:t=Me(t),fromWireType:function(e){var t=Ht.toValue(e);return Ot(e),t},toWireType:function(e,t){return Ht.toHandle(t)},argPackAdvance:8,readValueFromPointer:At,destructorFunction:null})},p:function(e,t,r){var i=Ie(r);Ye(e,{name:t=Me(t),fromWireType:function(e){return e},toWireType:function(e,t){return t},argPackAdvance:8,readValueFromPointer:Wt(t,i),destructorFunction:null})},d:function(e,t,r,i,n){t=Me(t);var o=Ie(r),s=e=>e;if(0===i){var a=32-8*r;s=e=>e<<a>>>a}var d=t.includes("unsigned");Ye(e,{name:t,fromWireType:s,toWireType:d?function(e,t){return this.name,t>>>0}:function(e,t){return this.name,t},argPackAdvance:8,readValueFromPointer:jt(t,o,0!==i),destructorFunction:null})},c:function(e,t,r){var i=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function n(e){var t=M,r=t[e>>=2],n=t[e+1];return new i(C,n,r)}Ye(e,{name:r=Me(r),fromWireType:n,argPackAdvance:8,readValueFromPointer:n},{ignoreDuplicateRegistrations:!0})},o:function(e,t){var r="std::string"===(t=Me(t));Ye(e,{name:t,fromWireType:function(e){var t,i=M[e>>2],n=e+4;if(r)for(var o=n,s=0;s<=i;++s){var a=n+s;if(s==i||0==P[a]){var d=G(o,a-o);void 0===t?t=d:(t+=String.fromCharCode(0),t+=d),o=a+1}}else{var l=new Array(i);for(s=0;s<i;++s)l[s]=String.fromCharCode(P[n+s]);t=l.join("")}return Sr(e),t},toWireType:function(e,t){var i;t instanceof ArrayBuffer&&(t=new Uint8Array(t));var n="string"==typeof t;n||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int8Array||Ve("Cannot pass non-string to std::string"),i=r&&n?H(t):t.length;var o=Er(4+i+1),s=o+4;if(M[o>>2]=i,r&&n)$(t,P,s,i+1);else if(n)for(var a=0;a<i;++a){var d=t.charCodeAt(a);d>255&&(Sr(s),Ve("String has UTF-16 code units that do not fit in 8 bits")),P[s+a]=d}else for(a=0;a<i;++a)P[s+a]=t[a];return null!==e&&e.push(Sr,o),o},argPackAdvance:8,readValueFromPointer:At,destructorFunction:function(e){Sr(e)}})},h:function(e,t,r){var i,n,o,s,a;r=Me(r),2===t?(i=Yt,n=Kt,s=Xt,o=()=>I,a=1):4===t&&(i=Zt,n=Jt,s=Qt,o=()=>M,a=2),Ye(e,{name:r,fromWireType:function(e){for(var r,n=M[e>>2],s=o(),d=e+4,l=0;l<=n;++l){var u=e+4+l*t;if(l==n||0==s[u>>a]){var c=i(d,u-d);void 0===r?r=c:(r+=String.fromCharCode(0),r+=c),d=u+t}}return Sr(e),r},toWireType:function(e,i){"string"!=typeof i&&Ve("Cannot pass non-string to C++ string type "+r);var o=s(i),d=Er(4+o+t);return M[d>>2]=o>>a,n(i,d+4,o+t),null!==e&&e.push(Sr,d),d},argPackAdvance:8,readValueFromPointer:At,destructorFunction:function(e){Sr(e)}})},r:function(e,t){Ye(e,{isVoid:!0,name:t=Me(t),argPackAdvance:0,fromWireType:function(){},toWireType:function(e,t){}})},g:function(){return Date.now()},D:function(){return 2097152},E:function(e,t,r,i){if(e==t)setTimeout((()=>er(i)));else if(_)postMessage({targetThread:e,cmd:"processProxyingQueue",queue:i});else{var n=Ee.pthreads[e];if(!n)return;n.postMessage({cmd:"processProxyingQueue",queue:i})}return 1},J:function(e,t,r){return-1},m:function(e,t,r,i){var n,o;(e=ir[e])(t=Ht.toValue(t),r=void 0===(o=rr[n=r])?Me(n):o,null,i)},i:Ot,q:function(e,t){var r=function(e,t){for(var r,i,n,o=new Array(e),s=0;s<e;++s)o[s]=(r=M[t+4*s>>2],i="parameter "+s,n=void 0,void 0===(n=ze[r])&&Ve(i+" has unknown type "+Pt(r)),n);return o}(e,t),i=r[0],n=i.name+"_$"+r.slice(1).map((function(e){return e.name})).join("_")+"$",o=nr[n];if(void 0!==o)return o;for(var s=["retType"],a=[i],d="",l=0;l<e-1;++l)d+=(0!==l?", ":"")+"arg"+l,s.push("argType"+l),a.push(r[1+l]);var u="return function "+Oe("methodCaller_"+n)+"(handle, name, destructors, args) {\n",c=0;for(l=0;l<e-1;++l)u+=" var arg"+l+" = argType"+l+".readValueFromPointer(args"+(c?"+"+c:"")+");\n",c+=r[l+1].argPackAdvance;for(u+=" var rv = handle[name]("+d+");\n",l=0;l<e-1;++l)r[l+1].deleteObject&&(u+=" argType"+l+".deleteObject(arg"+l+");\n");i.isVoid||(u+=" return retType.toWireType(destructors, rv);\n"),u+="};\n",s.push(u);var f,h,p=Mt(Function,s).apply(null,a);return f=p,h=ir.length,ir.push(f),o=h,nr[n]=o,o},b:function(){oe("")},k:function(){m||p||or("Blocking on the main thread is very dangerous, see https://emscripten.org/docs/porting/pthreads.html#blocking-on-the-main-browser-thread")},z:function(){return P.length},e:tr,N:function(e,t,r){P.copyWithin(e,t,t+r)},A:function(){return m?require("os").cpus().length:navigator.hardwareConcurrency},I:function(e,t,r){ar.length=t;for(var i=r>>3,n=0;n<t;n++)ar[n]=z[i+n];return(e<0?le[-e-1]:br[e]).apply(null,ar)},x:function(e){P.length,oe("OOM")},O:function(){throw"unwind"},L:ur,M:cr,B:Se,n:fr,K:hr,P:pr,u:mr,l:_r,a:A||e.wasmMemory,w:function(e){}};!function(){var t={a:wr};function r(t,r){var i,n,o=t.exports;e.asm=o,i=e.asm.Y,Ee.tlsInitFunctions.push(i),W=e.asm.W,n=e.asm.T,Y.unshift(n),x=r,_||ne()}function n(e){r(e.instance,e.module)}function s(e){return function(){if(!w&&(h||p)){if("function"==typeof fetch&&!ae(J))return fetch(J,{credentials:"same-origin"}).then((function(e){if(!e.ok)throw"failed to load wasm binary file at '"+J+"'";return e.arrayBuffer()})).catch((function(){return de(J)}));if(o)return new Promise((function(e,t){o(J,(function(t){e(new Uint8Array(t))}),t)}))}return Promise.resolve().then((function(){return de(J)}))}().then((function(e){return WebAssembly.instantiate(e,t)})).then((function(e){return e})).then(e,(function(e){E("failed to asynchronously prepare wasm: "+e),oe(e)}))}if(_||ie(),e.instantiateWasm)try{return e.instantiateWasm(t,r)}catch(e){return E("Module.instantiateWasm callback failed with error: "+e),!1}(w||"function"!=typeof WebAssembly.instantiateStreaming||se(J)||ae(J)||m||"function"!=typeof fetch?s(n):fetch(J,{credentials:"same-origin"}).then((function(e){return WebAssembly.instantiateStreaming(e,t).then(n,(function(e){return E("wasm streaming compile failed: "+e),E("falling back to ArrayBuffer instantiation"),s(n)}))}))).catch(i)}(),e.___wasm_call_ctors=function(){return(e.___wasm_call_ctors=e.asm.T).apply(null,arguments)};var Sr=e._free=function(){return(Sr=e._free=e.asm.U).apply(null,arguments)},Er=e._malloc=function(){return(Er=e._malloc=e.asm.V).apply(null,arguments)},Ar=e.___errno_location=function(){return(Ar=e.___errno_location=e.asm.X).apply(null,arguments)};e.__emscripten_tls_init=function(){return(e.__emscripten_tls_init=e.asm.Y).apply(null,arguments)};var xr=e._pthread_self=function(){return(xr=e._pthread_self=e.asm.Z).apply(null,arguments)},Br=e._emscripten_builtin_memalign=function(){return(Br=e._emscripten_builtin_memalign=e.asm._).apply(null,arguments)},Ur=e.___getTypeName=function(){return(Ur=e.___getTypeName=e.asm.$).apply(null,arguments)};e.___embind_register_native_and_builtin_types=function(){return(e.___embind_register_native_and_builtin_types=e.asm.aa).apply(null,arguments)};var kr=e.__emscripten_thread_init=function(){return(kr=e.__emscripten_thread_init=e.asm.ba).apply(null,arguments)};e.__emscripten_thread_crashed=function(){return(e.__emscripten_thread_crashed=e.asm.ca).apply(null,arguments)};var Tr,Cr=e._emscripten_run_in_main_runtime_thread_js=function(){return(Cr=e._emscripten_run_in_main_runtime_thread_js=e.asm.da).apply(null,arguments)},Dr=e.__emscripten_proxy_execute_task_queue=function(){return(Dr=e.__emscripten_proxy_execute_task_queue=e.asm.ea).apply(null,arguments)},Pr=e.__emscripten_thread_free_data=function(){return(Pr=e.__emscripten_thread_free_data=e.asm.fa).apply(null,arguments)},Fr=e.__emscripten_thread_exit=function(){return(Fr=e.__emscripten_thread_exit=e.asm.ga).apply(null,arguments)},Ir=e._emscripten_stack_set_limits=function(){return(Ir=e._emscripten_stack_set_limits=e.asm.ha).apply(null,arguments)},Lr=e.stackSave=function(){return(Lr=e.stackSave=e.asm.ia).apply(null,arguments)},Mr=e.stackRestore=function(){return(Mr=e.stackRestore=e.asm.ja).apply(null,arguments)},Rr=e.stackAlloc=function(){return(Rr=e.stackAlloc=e.asm.ka).apply(null,arguments)},zr=e.___cxa_is_pointer_type=function(){return(zr=e.___cxa_is_pointer_type=e.asm.la).apply(null,arguments)};function Nr(r){if(!(te>0)){if(_)return t(e),Z(),void postMessage({cmd:"loaded"});!function(){if(e.preRun)for("function"==typeof e.preRun&&(e.preRun=[e.preRun]);e.preRun.length;)t=e.preRun.shift(),q.unshift(t);var t;Ae(q)}(),te>0||(e.setStatus?(e.setStatus("Running..."),setTimeout((function(){setTimeout((function(){e.setStatus("")}),1),i()}),1)):i())}function i(){Tr||(Tr=!0,e.calledRun=!0,k||(Z(),t(e),e.onRuntimeInitialized&&e.onRuntimeInitialized(),function(){if(!_){if(e.postRun)for("function"==typeof e.postRun&&(e.postRun=[e.postRun]);e.postRun.length;)t=e.postRun.shift(),K.unshift(t);var t;Ae(K)}}()))}}if(e.dynCall_jiji=function(){return(e.dynCall_jiji=e.asm.ma).apply(null,arguments)},e._ff_h264_cabac_tables=111557,e.keepRuntimeAlive=X,e.wasmMemory=A,e.ExitStatus=ue,e.PThread=Ee,re=function e(){Tr||Nr(),Tr||(re=e)},e.preInit)for("function"==typeof e.preInit&&(e.preInit=[e.preInit]);e.preInit.length>0;)e.preInit.pop()();return Nr(),e.ready}),s=(()=>{var e="undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-mt.js",document.baseURI).href;return function(t){var r,i;(t=void 0!==(t=t||{})?t:{}).ready=new Promise((function(e,t){r=e,i=t})),(t=void 0!==t?t:{}).locateFile=function(e){return"decoder-pro-audio.wasm"==e&&"undefined"!=typeof JESSIBUCA_PRO_AUDIO_WASM_URL&&""!=JESSIBUCA_PRO_AUDIO_WASM_URL?JESSIBUCA_PRO_AUDIO_WASM_URL:e};var n,o,s,a,d,l,u=Object.assign({},t),c="./this.program",f="object"==typeof window,h="function"==typeof importScripts,p="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,m="";p?(m=h?require("path").dirname(m)+"/":__dirname+"/",l=()=>{d||(a=require("fs"),d=require("path"))},n=function(e,t){return l(),e=d.normalize(e),a.readFileSync(e,t?void 0:"utf8")},s=e=>{var t=n(e,!0);return t.buffer||(t=new Uint8Array(t)),t},o=(e,t,r)=>{l(),e=d.normalize(e),a.readFile(e,(function(e,i){e?r(e):t(i.buffer)}))},process.argv.length>1&&(c=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),process.on("uncaughtException",(function(e){if(!(e instanceof J))throw e})),process.on("unhandledRejection",(function(e){throw e})),t.inspect=function(){return"[Emscripten Module object]"}):(f||h)&&(h?m=self.location.href:"undefined"!=typeof document&&document.currentScript&&(m=document.currentScript.src),e&&(m=e),m=0!==m.indexOf("blob:")?m.substr(0,m.replace(/[?#].*/,"").lastIndexOf("/")+1):"",n=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},h&&(s=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),o=(e,t,r)=>{var i=new XMLHttpRequest;i.open("GET",e,!0),i.responseType="arraybuffer",i.onload=()=>{200==i.status||0==i.status&&i.response?t(i.response):r()},i.onerror=r,i.send(null)});var _=t.print||console.log.bind(console),g=t.printErr||console.warn.bind(console);Object.assign(t,u),u=null,t.arguments&&t.arguments,t.thisProgram&&(c=t.thisProgram),t.quit&&t.quit;var y,v;t.wasmBinary&&(y=t.wasmBinary),t.noExitRuntime,"object"!=typeof WebAssembly&&V("no native wasm support detected");var b=!1;function w(e,t){e||V(t)}var S,E,A,x,B,U,k,T,C,D,P="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function F(e,t,r){for(var i=t+r,n=t;e[n]&&!(n>=i);)++n;if(n-t>16&&e.buffer&&P)return P.decode(e.subarray(t,n));for(var o="";t<n;){var s=e[t++];if(128&s){var a=63&e[t++];if(192!=(224&s)){var d=63&e[t++];if((s=224==(240&s)?(15&s)<<12|a<<6|d:(7&s)<<18|a<<12|d<<6|63&e[t++])<65536)o+=String.fromCharCode(s);else{var l=s-65536;o+=String.fromCharCode(55296|l>>10,56320|1023&l)}}else o+=String.fromCharCode((31&s)<<6|a)}else o+=String.fromCharCode(s)}return o}function I(e,t){return e?F(A,e,t):""}function L(e,t,r,i){if(!(i>0))return 0;for(var n=r,o=r+i-1,s=0;s<e.length;++s){var a=e.charCodeAt(s);if(a>=55296&&a<=57343)a=65536+((1023&a)<<10)|1023&e.charCodeAt(++s);if(a<=127){if(r>=o)break;t[r++]=a}else if(a<=2047){if(r+1>=o)break;t[r++]=192|a>>6,t[r++]=128|63&a}else if(a<=65535){if(r+2>=o)break;t[r++]=224|a>>12,t[r++]=128|a>>6&63,t[r++]=128|63&a}else{if(r+3>=o)break;t[r++]=240|a>>18,t[r++]=128|a>>12&63,t[r++]=128|a>>6&63,t[r++]=128|63&a}}return t[r]=0,r-n}function M(e){for(var t=0,r=0;r<e.length;++r){var i=e.charCodeAt(r);i<=127?t++:i<=2047?t+=2:i>=55296&&i<=57343?(t+=4,++r):t+=3}return t}t.INITIAL_MEMORY;var R=[],z=[],N=[];var O=0,G=null;function $(e){O++,t.monitorRunDependencies&&t.monitorRunDependencies(O)}function H(e){if(O--,t.monitorRunDependencies&&t.monitorRunDependencies(O),0==O&&G){var r=G;G=null,r()}}function V(e){t.onAbort&&t.onAbort(e),g(e="Aborted("+e+")"),b=!0,e+=". Build with -sASSERTIONS for more info.";var r=new WebAssembly.RuntimeError(e);throw i(r),r}var W,j,q,Y;function K(e){return e.startsWith("data:application/octet-stream;base64,")}function X(e){return e.startsWith("file://")}function Z(e){try{if(e==W&&y)return new Uint8Array(y);if(s)return s(e);throw"both async and sync fetching of the wasm failed"}catch(e){V(e)}}function J(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}function Q(e){for(;e.length>0;)e.shift()(t)}function ee(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(e){k[this.ptr+4>>2]=e},this.get_type=function(){return k[this.ptr+4>>2]},this.set_destructor=function(e){k[this.ptr+8>>2]=e},this.get_destructor=function(){return k[this.ptr+8>>2]},this.set_refcount=function(e){U[this.ptr>>2]=e},this.set_caught=function(e){e=e?1:0,E[this.ptr+12>>0]=e},this.get_caught=function(){return 0!=E[this.ptr+12>>0]},this.set_rethrown=function(e){e=e?1:0,E[this.ptr+13>>0]=e},this.get_rethrown=function(){return 0!=E[this.ptr+13>>0]},this.init=function(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t),this.set_refcount(0),this.set_caught(!1),this.set_rethrown(!1)},this.add_ref=function(){var e=U[this.ptr>>2];U[this.ptr>>2]=e+1},this.release_ref=function(){var e=U[this.ptr>>2];return U[this.ptr>>2]=e-1,1===e},this.set_adjusted_ptr=function(e){k[this.ptr+16>>2]=e},this.get_adjusted_ptr=function(){return k[this.ptr+16>>2]},this.get_exception_ptr=function(){if(jt(this.get_type()))return k[this.excPtr>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}t.locateFile?K(W="decoder-pro-audio.wasm")||(j=W,W=t.locateFile?t.locateFile(j,m):m+j):W=new URL("decoder-pro-audio.wasm","undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-mt.js",document.baseURI).href).toString();var te={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,t)=>{for(var r=0,i=e.length-1;i>=0;i--){var n=e[i];"."===n?e.splice(i,1):".."===n?(e.splice(i,1),r++):r&&(e.splice(i,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},normalize:e=>{var t=te.isAbs(e),r="/"===e.substr(-1);return(e=te.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},dirname:e=>{var t=te.splitPath(e),r=t[0],i=t[1];return r||i?(i&&(i=i.substr(0,i.length-1)),r+i):"."},basename:e=>{if("/"===e)return"/";var t=(e=(e=te.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)},join:function(){var e=Array.prototype.slice.call(arguments,0);return te.normalize(e.join("/"))},join2:(e,t)=>te.normalize(e+"/"+t)};var re={resolve:function(){for(var e="",t=!1,r=arguments.length-1;r>=-1&&!t;r--){var i=r>=0?arguments[r]:ae.cwd();if("string"!=typeof i)throw new TypeError("Arguments to path.resolve must be strings");if(!i)return"";e=i+"/"+e,t=te.isAbs(i)}return(t?"/":"")+(e=te.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||"."},relative:(e,t)=>{function r(e){for(var t=0;t<e.length&&""===e[t];t++);for(var r=e.length-1;r>=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=re.resolve(e).substr(1),t=re.resolve(t).substr(1);for(var i=r(e.split("/")),n=r(t.split("/")),o=Math.min(i.length,n.length),s=o,a=0;a<o;a++)if(i[a]!==n[a]){s=a;break}var d=[];for(a=s;a<i.length;a++)d.push("..");return(d=d.concat(n.slice(s))).join("/")}};function ie(e,t,r){var i=r>0?r:M(e)+1,n=new Array(i),o=L(e,n,0,n.length);return t&&(n.length=o),n}var ne={ttys:[],init:function(){},shutdown:function(){},register:function(e,t){ne.ttys[e]={input:[],output:[],ops:t},ae.registerDevice(e,ne.stream_ops)},stream_ops:{open:function(e){var t=ne.ttys[e.node.rdev];if(!t)throw new ae.ErrnoError(43);e.tty=t,e.seekable=!1},close:function(e){e.tty.ops.flush(e.tty)},flush:function(e){e.tty.ops.flush(e.tty)},read:function(e,t,r,i,n){if(!e.tty||!e.tty.ops.get_char)throw new ae.ErrnoError(60);for(var o=0,s=0;s<i;s++){var a;try{a=e.tty.ops.get_char(e.tty)}catch(e){throw new ae.ErrnoError(29)}if(void 0===a&&0===o)throw new ae.ErrnoError(6);if(null==a)break;o++,t[r+s]=a}return o&&(e.node.timestamp=Date.now()),o},write:function(e,t,r,i,n){if(!e.tty||!e.tty.ops.put_char)throw new ae.ErrnoError(60);try{for(var o=0;o<i;o++)e.tty.ops.put_char(e.tty,t[r+o])}catch(e){throw new ae.ErrnoError(29)}return i&&(e.node.timestamp=Date.now()),o}},default_tty_ops:{get_char:function(e){if(!e.input.length){var t=null;if(p){var r=Buffer.alloc(256),i=0;try{i=a.readSync(process.stdin.fd,r,0,256,-1)}catch(e){if(!e.toString().includes("EOF"))throw e;i=0}t=i>0?r.slice(0,i).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(t=window.prompt("Input: "))&&(t+="\n"):"function"==typeof readline&&null!==(t=readline())&&(t+="\n");if(!t)return null;e.input=ie(t,!0)}return e.input.shift()},put_char:function(e,t){null===t||10===t?(_(F(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},flush:function(e){e.output&&e.output.length>0&&(_(F(e.output,0)),e.output=[])}},default_tty1_ops:{put_char:function(e,t){null===t||10===t?(g(F(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},flush:function(e){e.output&&e.output.length>0&&(g(F(e.output,0)),e.output=[])}}};function oe(e){e=function(e,t){return Math.ceil(e/t)*t}(e,65536);var t=Wt(65536,e);return t?(function(e,t){A.fill(0,e,e+t)}(t,e),t):0}var se={ops_table:null,mount:function(e){return se.createNode(null,"/",16895,0)},createNode:function(e,t,r,i){if(ae.isBlkdev(r)||ae.isFIFO(r))throw new ae.ErrnoError(63);se.ops_table||(se.ops_table={dir:{node:{getattr:se.node_ops.getattr,setattr:se.node_ops.setattr,lookup:se.node_ops.lookup,mknod:se.node_ops.mknod,rename:se.node_ops.rename,unlink:se.node_ops.unlink,rmdir:se.node_ops.rmdir,readdir:se.node_ops.readdir,symlink:se.node_ops.symlink},stream:{llseek:se.stream_ops.llseek}},file:{node:{getattr:se.node_ops.getattr,setattr:se.node_ops.setattr},stream:{llseek:se.stream_ops.llseek,read:se.stream_ops.read,write:se.stream_ops.write,allocate:se.stream_ops.allocate,mmap:se.stream_ops.mmap,msync:se.stream_ops.msync}},link:{node:{getattr:se.node_ops.getattr,setattr:se.node_ops.setattr,readlink:se.node_ops.readlink},stream:{}},chrdev:{node:{getattr:se.node_ops.getattr,setattr:se.node_ops.setattr},stream:ae.chrdev_stream_ops}});var n=ae.createNode(e,t,r,i);return ae.isDir(n.mode)?(n.node_ops=se.ops_table.dir.node,n.stream_ops=se.ops_table.dir.stream,n.contents={}):ae.isFile(n.mode)?(n.node_ops=se.ops_table.file.node,n.stream_ops=se.ops_table.file.stream,n.usedBytes=0,n.contents=null):ae.isLink(n.mode)?(n.node_ops=se.ops_table.link.node,n.stream_ops=se.ops_table.link.stream):ae.isChrdev(n.mode)&&(n.node_ops=se.ops_table.chrdev.node,n.stream_ops=se.ops_table.chrdev.stream),n.timestamp=Date.now(),e&&(e.contents[t]=n,e.timestamp=n.timestamp),n},getFileDataAsTypedArray:function(e){return e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0)},expandFileStorage:function(e,t){var r=e.contents?e.contents.length:0;if(!(r>=t)){t=Math.max(t,r*(r<1048576?2:1.125)>>>0),0!=r&&(t=Math.max(t,256));var i=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(i.subarray(0,e.usedBytes),0)}},resizeFileStorage:function(e,t){if(e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var r=e.contents;e.contents=new Uint8Array(t),r&&e.contents.set(r.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr:function(e){var t={};return t.dev=ae.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,ae.isDir(e.mode)?t.size=4096:ae.isFile(e.mode)?t.size=e.usedBytes:ae.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr:function(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&se.resizeFileStorage(e,t.size)},lookup:function(e,t){throw ae.genericErrors[44]},mknod:function(e,t,r,i){return se.createNode(e,t,r,i)},rename:function(e,t,r){if(ae.isDir(e.mode)){var i;try{i=ae.lookupNode(t,r)}catch(e){}if(i)for(var n in i.contents)throw new ae.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=r,t.contents[r]=e,t.timestamp=e.parent.timestamp,e.parent=t},unlink:function(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir:function(e,t){var r=ae.lookupNode(e,t);for(var i in r.contents)throw new ae.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir:function(e){var t=[".",".."];for(var r in e.contents)e.contents.hasOwnProperty(r)&&t.push(r);return t},symlink:function(e,t,r){var i=se.createNode(e,t,41471,0);return i.link=r,i},readlink:function(e){if(!ae.isLink(e.mode))throw new ae.ErrnoError(28);return e.link}},stream_ops:{read:function(e,t,r,i,n){var o=e.node.contents;if(n>=e.node.usedBytes)return 0;var s=Math.min(e.node.usedBytes-n,i);if(s>8&&o.subarray)t.set(o.subarray(n,n+s),r);else for(var a=0;a<s;a++)t[r+a]=o[n+a];return s},write:function(e,t,r,i,n,o){if(!i)return 0;var s=e.node;if(s.timestamp=Date.now(),t.subarray&&(!s.contents||s.contents.subarray)){if(o)return s.contents=t.subarray(r,r+i),s.usedBytes=i,i;if(0===s.usedBytes&&0===n)return s.contents=t.slice(r,r+i),s.usedBytes=i,i;if(n+i<=s.usedBytes)return s.contents.set(t.subarray(r,r+i),n),i}if(se.expandFileStorage(s,n+i),s.contents.subarray&&t.subarray)s.contents.set(t.subarray(r,r+i),n);else for(var a=0;a<i;a++)s.contents[n+a]=t[r+a];return s.usedBytes=Math.max(s.usedBytes,n+i),i},llseek:function(e,t,r){var i=t;if(1===r?i+=e.position:2===r&&ae.isFile(e.node.mode)&&(i+=e.node.usedBytes),i<0)throw new ae.ErrnoError(28);return i},allocate:function(e,t,r){se.expandFileStorage(e.node,t+r),e.node.usedBytes=Math.max(e.node.usedBytes,t+r)},mmap:function(e,t,r,i,n){if(!ae.isFile(e.node.mode))throw new ae.ErrnoError(43);var o,s,a=e.node.contents;if(2&n||a.buffer!==S){if((r>0||r+t<a.length)&&(a=a.subarray?a.subarray(r,r+t):Array.prototype.slice.call(a,r,r+t)),s=!0,!(o=oe(t)))throw new ae.ErrnoError(48);E.set(a,o)}else s=!1,o=a.byteOffset;return{ptr:o,allocated:s}},msync:function(e,t,r,i,n){if(!ae.isFile(e.node.mode))throw new ae.ErrnoError(43);return 2&n||se.stream_ops.write(e,t,0,i,r,!1),0}}};var ae={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!(e=re.resolve(ae.cwd(),e)))return{path:"",node:null};var r={follow_mount:!0,recurse_count:0};if(t=Object.assign(r,t),t.recurse_count>8)throw new ae.ErrnoError(32);for(var i=te.normalizeArray(e.split("/").filter((e=>!!e)),!1),n=ae.root,o="/",s=0;s<i.length;s++){var a=s===i.length-1;if(a&&t.parent)break;if(n=ae.lookupNode(n,i[s]),o=te.join2(o,i[s]),ae.isMountpoint(n)&&(!a||a&&t.follow_mount)&&(n=n.mounted.root),!a||t.follow)for(var d=0;ae.isLink(n.mode);){var l=ae.readlink(o);o=re.resolve(te.dirname(o),l);var u=ae.lookupPath(o,{recurse_count:t.recurse_count+1});if(n=u.node,d++>40)throw new ae.ErrnoError(32)}}return{path:o,node:n}},getPath:e=>{for(var t;;){if(ae.isRoot(e)){var r=e.mount.mountpoint;return t?"/"!==r[r.length-1]?r+"/"+t:r+t:r}t=t?e.name+"/"+t:e.name,e=e.parent}},hashName:(e,t)=>{for(var r=0,i=0;i<t.length;i++)r=(r<<5)-r+t.charCodeAt(i)|0;return(e+r>>>0)%ae.nameTable.length},hashAddNode:e=>{var t=ae.hashName(e.parent.id,e.name);e.name_next=ae.nameTable[t],ae.nameTable[t]=e},hashRemoveNode:e=>{var t=ae.hashName(e.parent.id,e.name);if(ae.nameTable[t]===e)ae.nameTable[t]=e.name_next;else for(var r=ae.nameTable[t];r;){if(r.name_next===e){r.name_next=e.name_next;break}r=r.name_next}},lookupNode:(e,t)=>{var r=ae.mayLookup(e);if(r)throw new ae.ErrnoError(r,e);for(var i=ae.hashName(e.id,t),n=ae.nameTable[i];n;n=n.name_next){var o=n.name;if(n.parent.id===e.id&&o===t)return n}return ae.lookup(e,t)},createNode:(e,t,r,i)=>{var n=new ae.FSNode(e,t,r,i);return ae.hashAddNode(n),n},destroyNode:e=>{ae.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>49152==(49152&e),flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:e=>{var t=ae.flagModes[e];if(void 0===t)throw new Error("Unknown file open mode: "+e);return t},flagsToPermissionString:e=>{var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:(e,t)=>ae.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2,mayLookup:e=>{var t=ae.nodePermissions(e,"x");return t||(e.node_ops.lookup?0:2)},mayCreate:(e,t)=>{try{ae.lookupNode(e,t);return 20}catch(e){}return ae.nodePermissions(e,"wx")},mayDelete:(e,t,r)=>{var i;try{i=ae.lookupNode(e,t)}catch(e){return e.errno}var n=ae.nodePermissions(e,"wx");if(n)return n;if(r){if(!ae.isDir(i.mode))return 54;if(ae.isRoot(i)||ae.getPath(i)===ae.cwd())return 10}else if(ae.isDir(i.mode))return 31;return 0},mayOpen:(e,t)=>e?ae.isLink(e.mode)?32:ae.isDir(e.mode)&&("r"!==ae.flagsToPermissionString(t)||512&t)?31:ae.nodePermissions(e,ae.flagsToPermissionString(t)):44,MAX_OPEN_FDS:4096,nextfd:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ae.MAX_OPEN_FDS;for(var r=e;r<=t;r++)if(!ae.streams[r])return r;throw new ae.ErrnoError(33)},getStream:e=>ae.streams[e],createStream:(e,t,r)=>{ae.FSStream||(ae.FSStream=function(){this.shared={}},ae.FSStream.prototype={},Object.defineProperties(ae.FSStream.prototype,{object:{get:function(){return this.node},set:function(e){this.node=e}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}},flags:{get:function(){return this.shared.flags},set:function(e){this.shared.flags=e}},position:{get:function(){return this.shared.position},set:function(e){this.shared.position=e}}})),e=Object.assign(new ae.FSStream,e);var i=ae.nextfd(t,r);return e.fd=i,ae.streams[i]=e,e},closeStream:e=>{ae.streams[e]=null},chrdev_stream_ops:{open:e=>{var t=ae.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:()=>{throw new ae.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,t)=>e<<8|t,registerDevice:(e,t)=>{ae.devices[e]={stream_ops:t}},getDevice:e=>ae.devices[e],getMounts:e=>{for(var t=[],r=[e];r.length;){var i=r.pop();t.push(i),r.push.apply(r,i.mounts)}return t},syncfs:(e,t)=>{"function"==typeof e&&(t=e,e=!1),ae.syncFSRequests++,ae.syncFSRequests>1&&g("warning: "+ae.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var r=ae.getMounts(ae.root.mount),i=0;function n(e){return ae.syncFSRequests--,t(e)}function o(e){if(e)return o.errored?void 0:(o.errored=!0,n(e));++i>=r.length&&n(null)}r.forEach((t=>{if(!t.type.syncfs)return o(null);t.type.syncfs(t,e,o)}))},mount:(e,t,r)=>{var i,n="/"===r,o=!r;if(n&&ae.root)throw new ae.ErrnoError(10);if(!n&&!o){var s=ae.lookupPath(r,{follow_mount:!1});if(r=s.path,i=s.node,ae.isMountpoint(i))throw new ae.ErrnoError(10);if(!ae.isDir(i.mode))throw new ae.ErrnoError(54)}var a={type:e,opts:t,mountpoint:r,mounts:[]},d=e.mount(a);return d.mount=a,a.root=d,n?ae.root=d:i&&(i.mounted=a,i.mount&&i.mount.mounts.push(a)),d},unmount:e=>{var t=ae.lookupPath(e,{follow_mount:!1});if(!ae.isMountpoint(t.node))throw new ae.ErrnoError(28);var r=t.node,i=r.mounted,n=ae.getMounts(i);Object.keys(ae.nameTable).forEach((e=>{for(var t=ae.nameTable[e];t;){var r=t.name_next;n.includes(t.mount)&&ae.destroyNode(t),t=r}})),r.mounted=null;var o=r.mount.mounts.indexOf(i);r.mount.mounts.splice(o,1)},lookup:(e,t)=>e.node_ops.lookup(e,t),mknod:(e,t,r)=>{var i=ae.lookupPath(e,{parent:!0}).node,n=te.basename(e);if(!n||"."===n||".."===n)throw new ae.ErrnoError(28);var o=ae.mayCreate(i,n);if(o)throw new ae.ErrnoError(o);if(!i.node_ops.mknod)throw new ae.ErrnoError(63);return i.node_ops.mknod(i,n,t,r)},create:(e,t)=>(t=void 0!==t?t:438,t&=4095,t|=32768,ae.mknod(e,t,0)),mkdir:(e,t)=>(t=void 0!==t?t:511,t&=1023,t|=16384,ae.mknod(e,t,0)),mkdirTree:(e,t)=>{for(var r=e.split("/"),i="",n=0;n<r.length;++n)if(r[n]){i+="/"+r[n];try{ae.mkdir(i,t)}catch(e){if(20!=e.errno)throw e}}},mkdev:(e,t,r)=>(void 0===r&&(r=t,t=438),t|=8192,ae.mknod(e,t,r)),symlink:(e,t)=>{if(!re.resolve(e))throw new ae.ErrnoError(44);var r=ae.lookupPath(t,{parent:!0}).node;if(!r)throw new ae.ErrnoError(44);var i=te.basename(t),n=ae.mayCreate(r,i);if(n)throw new ae.ErrnoError(n);if(!r.node_ops.symlink)throw new ae.ErrnoError(63);return r.node_ops.symlink(r,i,e)},rename:(e,t)=>{var r,i,n=te.dirname(e),o=te.dirname(t),s=te.basename(e),a=te.basename(t);if(r=ae.lookupPath(e,{parent:!0}).node,i=ae.lookupPath(t,{parent:!0}).node,!r||!i)throw new ae.ErrnoError(44);if(r.mount!==i.mount)throw new ae.ErrnoError(75);var d,l=ae.lookupNode(r,s),u=re.relative(e,o);if("."!==u.charAt(0))throw new ae.ErrnoError(28);if("."!==(u=re.relative(t,n)).charAt(0))throw new ae.ErrnoError(55);try{d=ae.lookupNode(i,a)}catch(e){}if(l!==d){var c=ae.isDir(l.mode),f=ae.mayDelete(r,s,c);if(f)throw new ae.ErrnoError(f);if(f=d?ae.mayDelete(i,a,c):ae.mayCreate(i,a))throw new ae.ErrnoError(f);if(!r.node_ops.rename)throw new ae.ErrnoError(63);if(ae.isMountpoint(l)||d&&ae.isMountpoint(d))throw new ae.ErrnoError(10);if(i!==r&&(f=ae.nodePermissions(r,"w")))throw new ae.ErrnoError(f);ae.hashRemoveNode(l);try{r.node_ops.rename(l,i,a)}catch(e){throw e}finally{ae.hashAddNode(l)}}},rmdir:e=>{var t=ae.lookupPath(e,{parent:!0}).node,r=te.basename(e),i=ae.lookupNode(t,r),n=ae.mayDelete(t,r,!0);if(n)throw new ae.ErrnoError(n);if(!t.node_ops.rmdir)throw new ae.ErrnoError(63);if(ae.isMountpoint(i))throw new ae.ErrnoError(10);t.node_ops.rmdir(t,r),ae.destroyNode(i)},readdir:e=>{var t=ae.lookupPath(e,{follow:!0}).node;if(!t.node_ops.readdir)throw new ae.ErrnoError(54);return t.node_ops.readdir(t)},unlink:e=>{var t=ae.lookupPath(e,{parent:!0}).node;if(!t)throw new ae.ErrnoError(44);var r=te.basename(e),i=ae.lookupNode(t,r),n=ae.mayDelete(t,r,!1);if(n)throw new ae.ErrnoError(n);if(!t.node_ops.unlink)throw new ae.ErrnoError(63);if(ae.isMountpoint(i))throw new ae.ErrnoError(10);t.node_ops.unlink(t,r),ae.destroyNode(i)},readlink:e=>{var t=ae.lookupPath(e).node;if(!t)throw new ae.ErrnoError(44);if(!t.node_ops.readlink)throw new ae.ErrnoError(28);return re.resolve(ae.getPath(t.parent),t.node_ops.readlink(t))},stat:(e,t)=>{var r=ae.lookupPath(e,{follow:!t}).node;if(!r)throw new ae.ErrnoError(44);if(!r.node_ops.getattr)throw new ae.ErrnoError(63);return r.node_ops.getattr(r)},lstat:e=>ae.stat(e,!0),chmod:(e,t,r)=>{var i;"string"==typeof e?i=ae.lookupPath(e,{follow:!r}).node:i=e;if(!i.node_ops.setattr)throw new ae.ErrnoError(63);i.node_ops.setattr(i,{mode:4095&t|-4096&i.mode,timestamp:Date.now()})},lchmod:(e,t)=>{ae.chmod(e,t,!0)},fchmod:(e,t)=>{var r=ae.getStream(e);if(!r)throw new ae.ErrnoError(8);ae.chmod(r.node,t)},chown:(e,t,r,i)=>{var n;"string"==typeof e?n=ae.lookupPath(e,{follow:!i}).node:n=e;if(!n.node_ops.setattr)throw new ae.ErrnoError(63);n.node_ops.setattr(n,{timestamp:Date.now()})},lchown:(e,t,r)=>{ae.chown(e,t,r,!0)},fchown:(e,t,r)=>{var i=ae.getStream(e);if(!i)throw new ae.ErrnoError(8);ae.chown(i.node,t,r)},truncate:(e,t)=>{if(t<0)throw new ae.ErrnoError(28);var r;"string"==typeof e?r=ae.lookupPath(e,{follow:!0}).node:r=e;if(!r.node_ops.setattr)throw new ae.ErrnoError(63);if(ae.isDir(r.mode))throw new ae.ErrnoError(31);if(!ae.isFile(r.mode))throw new ae.ErrnoError(28);var i=ae.nodePermissions(r,"w");if(i)throw new ae.ErrnoError(i);r.node_ops.setattr(r,{size:t,timestamp:Date.now()})},ftruncate:(e,t)=>{var r=ae.getStream(e);if(!r)throw new ae.ErrnoError(8);if(0==(2097155&r.flags))throw new ae.ErrnoError(28);ae.truncate(r.node,t)},utime:(e,t,r)=>{var i=ae.lookupPath(e,{follow:!0}).node;i.node_ops.setattr(i,{timestamp:Math.max(t,r)})},open:(e,r,i)=>{if(""===e)throw new ae.ErrnoError(44);var n;if(i=void 0===i?438:i,i=64&(r="string"==typeof r?ae.modeStringToFlags(r):r)?4095&i|32768:0,"object"==typeof e)n=e;else{e=te.normalize(e);try{n=ae.lookupPath(e,{follow:!(131072&r)}).node}catch(e){}}var o=!1;if(64&r)if(n){if(128&r)throw new ae.ErrnoError(20)}else n=ae.mknod(e,i,0),o=!0;if(!n)throw new ae.ErrnoError(44);if(ae.isChrdev(n.mode)&&(r&=-513),65536&r&&!ae.isDir(n.mode))throw new ae.ErrnoError(54);if(!o){var s=ae.mayOpen(n,r);if(s)throw new ae.ErrnoError(s)}512&r&&!o&&ae.truncate(n,0),r&=-131713;var a=ae.createStream({node:n,path:ae.getPath(n),flags:r,seekable:!0,position:0,stream_ops:n.stream_ops,ungotten:[],error:!1});return a.stream_ops.open&&a.stream_ops.open(a),!t.logReadFiles||1&r||(ae.readFiles||(ae.readFiles={}),e in ae.readFiles||(ae.readFiles[e]=1)),a},close:e=>{if(ae.isClosed(e))throw new ae.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{ae.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek:(e,t,r)=>{if(ae.isClosed(e))throw new ae.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new ae.ErrnoError(70);if(0!=r&&1!=r&&2!=r)throw new ae.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,r),e.ungotten=[],e.position},read:(e,t,r,i,n)=>{if(i<0||n<0)throw new ae.ErrnoError(28);if(ae.isClosed(e))throw new ae.ErrnoError(8);if(1==(2097155&e.flags))throw new ae.ErrnoError(8);if(ae.isDir(e.node.mode))throw new ae.ErrnoError(31);if(!e.stream_ops.read)throw new ae.ErrnoError(28);var o=void 0!==n;if(o){if(!e.seekable)throw new ae.ErrnoError(70)}else n=e.position;var s=e.stream_ops.read(e,t,r,i,n);return o||(e.position+=s),s},write:(e,t,r,i,n,o)=>{if(i<0||n<0)throw new ae.ErrnoError(28);if(ae.isClosed(e))throw new ae.ErrnoError(8);if(0==(2097155&e.flags))throw new ae.ErrnoError(8);if(ae.isDir(e.node.mode))throw new ae.ErrnoError(31);if(!e.stream_ops.write)throw new ae.ErrnoError(28);e.seekable&&1024&e.flags&&ae.llseek(e,0,2);var s=void 0!==n;if(s){if(!e.seekable)throw new ae.ErrnoError(70)}else n=e.position;var a=e.stream_ops.write(e,t,r,i,n,o);return s||(e.position+=a),a},allocate:(e,t,r)=>{if(ae.isClosed(e))throw new ae.ErrnoError(8);if(t<0||r<=0)throw new ae.ErrnoError(28);if(0==(2097155&e.flags))throw new ae.ErrnoError(8);if(!ae.isFile(e.node.mode)&&!ae.isDir(e.node.mode))throw new ae.ErrnoError(43);if(!e.stream_ops.allocate)throw new ae.ErrnoError(138);e.stream_ops.allocate(e,t,r)},mmap:(e,t,r,i,n)=>{if(0!=(2&i)&&0==(2&n)&&2!=(2097155&e.flags))throw new ae.ErrnoError(2);if(1==(2097155&e.flags))throw new ae.ErrnoError(2);if(!e.stream_ops.mmap)throw new ae.ErrnoError(43);return e.stream_ops.mmap(e,t,r,i,n)},msync:(e,t,r,i,n)=>e&&e.stream_ops.msync?e.stream_ops.msync(e,t,r,i,n):0,munmap:e=>0,ioctl:(e,t,r)=>{if(!e.stream_ops.ioctl)throw new ae.ErrnoError(59);return e.stream_ops.ioctl(e,t,r)},readFile:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(t.flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding)throw new Error('Invalid encoding type "'+t.encoding+'"');var r,i=ae.open(e,t.flags),n=ae.stat(e),o=n.size,s=new Uint8Array(o);return ae.read(i,s,0,o,0),"utf8"===t.encoding?r=F(s,0):"binary"===t.encoding&&(r=s),ae.close(i),r},writeFile:function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};r.flags=r.flags||577;var i=ae.open(e,r.flags,r.mode);if("string"==typeof t){var n=new Uint8Array(M(t)+1),o=L(t,n,0,n.length);ae.write(i,n,0,o,void 0,r.canOwn)}else{if(!ArrayBuffer.isView(t))throw new Error("Unsupported data type");ae.write(i,t,0,t.byteLength,void 0,r.canOwn)}ae.close(i)},cwd:()=>ae.currentPath,chdir:e=>{var t=ae.lookupPath(e,{follow:!0});if(null===t.node)throw new ae.ErrnoError(44);if(!ae.isDir(t.node.mode))throw new ae.ErrnoError(54);var r=ae.nodePermissions(t.node,"x");if(r)throw new ae.ErrnoError(r);ae.currentPath=t.path},createDefaultDirectories:()=>{ae.mkdir("/tmp"),ae.mkdir("/home"),ae.mkdir("/home/web_user")},createDefaultDevices:()=>{ae.mkdir("/dev"),ae.registerDevice(ae.makedev(1,3),{read:()=>0,write:(e,t,r,i,n)=>i}),ae.mkdev("/dev/null",ae.makedev(1,3)),ne.register(ae.makedev(5,0),ne.default_tty_ops),ne.register(ae.makedev(6,0),ne.default_tty1_ops),ae.mkdev("/dev/tty",ae.makedev(5,0)),ae.mkdev("/dev/tty1",ae.makedev(6,0));var e=function(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues){var e=new Uint8Array(1);return()=>(crypto.getRandomValues(e),e[0])}if(p)try{var t=require("crypto");return()=>t.randomBytes(1)[0]}catch(e){}return()=>V("randomDevice")}();ae.createDevice("/dev","random",e),ae.createDevice("/dev","urandom",e),ae.mkdir("/dev/shm"),ae.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{ae.mkdir("/proc");var e=ae.mkdir("/proc/self");ae.mkdir("/proc/self/fd"),ae.mount({mount:()=>{var t=ae.createNode(e,"fd",16895,73);return t.node_ops={lookup:(e,t)=>{var r=+t,i=ae.getStream(r);if(!i)throw new ae.ErrnoError(8);var n={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>i.path}};return n.parent=n,n}},t}},{},"/proc/self/fd")},createStandardStreams:()=>{t.stdin?ae.createDevice("/dev","stdin",t.stdin):ae.symlink("/dev/tty","/dev/stdin"),t.stdout?ae.createDevice("/dev","stdout",null,t.stdout):ae.symlink("/dev/tty","/dev/stdout"),t.stderr?ae.createDevice("/dev","stderr",null,t.stderr):ae.symlink("/dev/tty1","/dev/stderr"),ae.open("/dev/stdin",0),ae.open("/dev/stdout",1),ae.open("/dev/stderr",1)},ensureErrnoError:()=>{ae.ErrnoError||(ae.ErrnoError=function(e,t){this.node=t,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},ae.ErrnoError.prototype=new Error,ae.ErrnoError.prototype.constructor=ae.ErrnoError,[44].forEach((e=>{ae.genericErrors[e]=new ae.ErrnoError(e),ae.genericErrors[e].stack="<generic error, no stack>"})))},staticInit:()=>{ae.ensureErrnoError(),ae.nameTable=new Array(4096),ae.mount(se,{},"/"),ae.createDefaultDirectories(),ae.createDefaultDevices(),ae.createSpecialDirectories(),ae.filesystems={MEMFS:se}},init:(e,r,i)=>{ae.init.initialized=!0,ae.ensureErrnoError(),t.stdin=e||t.stdin,t.stdout=r||t.stdout,t.stderr=i||t.stderr,ae.createStandardStreams()},quit:()=>{ae.init.initialized=!1;for(var e=0;e<ae.streams.length;e++){var t=ae.streams[e];t&&ae.close(t)}},getMode:(e,t)=>{var r=0;return e&&(r|=365),t&&(r|=146),r},findObject:(e,t)=>{var r=ae.analyzePath(e,t);return r.exists?r.object:null},analyzePath:(e,t)=>{try{e=(i=ae.lookupPath(e,{follow:!t})).path}catch(e){}var r={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var i=ae.lookupPath(e,{parent:!0});r.parentExists=!0,r.parentPath=i.path,r.parentObject=i.node,r.name=te.basename(e),i=ae.lookupPath(e,{follow:!t}),r.exists=!0,r.path=i.path,r.object=i.node,r.name=i.node.name,r.isRoot="/"===i.path}catch(e){r.error=e.errno}return r},createPath:(e,t,r,i)=>{e="string"==typeof e?e:ae.getPath(e);for(var n=t.split("/").reverse();n.length;){var o=n.pop();if(o){var s=te.join2(e,o);try{ae.mkdir(s)}catch(e){}e=s}}return s},createFile:(e,t,r,i,n)=>{var o=te.join2("string"==typeof e?e:ae.getPath(e),t),s=ae.getMode(i,n);return ae.create(o,s)},createDataFile:(e,t,r,i,n,o)=>{var s=t;e&&(e="string"==typeof e?e:ae.getPath(e),s=t?te.join2(e,t):e);var a=ae.getMode(i,n),d=ae.create(s,a);if(r){if("string"==typeof r){for(var l=new Array(r.length),u=0,c=r.length;u<c;++u)l[u]=r.charCodeAt(u);r=l}ae.chmod(d,146|a);var f=ae.open(d,577);ae.write(f,r,0,r.length,0,o),ae.close(f),ae.chmod(d,a)}return d},createDevice:(e,t,r,i)=>{var n=te.join2("string"==typeof e?e:ae.getPath(e),t),o=ae.getMode(!!r,!!i);ae.createDevice.major||(ae.createDevice.major=64);var s=ae.makedev(ae.createDevice.major++,0);return ae.registerDevice(s,{open:e=>{e.seekable=!1},close:e=>{i&&i.buffer&&i.buffer.length&&i(10)},read:(e,t,i,n,o)=>{for(var s=0,a=0;a<n;a++){var d;try{d=r()}catch(e){throw new ae.ErrnoError(29)}if(void 0===d&&0===s)throw new ae.ErrnoError(6);if(null==d)break;s++,t[i+a]=d}return s&&(e.node.timestamp=Date.now()),s},write:(e,t,r,n,o)=>{for(var s=0;s<n;s++)try{i(t[r+s])}catch(e){throw new ae.ErrnoError(29)}return n&&(e.node.timestamp=Date.now()),s}}),ae.mkdev(n,o,s)},forceLoadFile:e=>{if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if("undefined"!=typeof XMLHttpRequest)throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");if(!n)throw new Error("Cannot load without read() or XMLHttpRequest.");try{e.contents=ie(n(e.url),!0),e.usedBytes=e.contents.length}catch(e){throw new ae.ErrnoError(29)}},createLazyFile:(e,t,r,i,n)=>{function o(){this.lengthKnown=!1,this.chunks=[]}if(o.prototype.get=function(e){if(!(e>this.length-1||e<0)){var t=e%this.chunkSize,r=e/this.chunkSize|0;return this.getter(r)[t]}},o.prototype.setDataGetter=function(e){this.getter=e},o.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",r,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+r+". Status: "+e.status);var t,i=Number(e.getResponseHeader("Content-length")),n=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,o=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,s=1048576;n||(s=i);var a=this;a.setDataGetter((e=>{var t=e*s,n=(e+1)*s-1;if(n=Math.min(n,i-1),void 0===a.chunks[e]&&(a.chunks[e]=((e,t)=>{if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>i-1)throw new Error("only "+i+" bytes available! programmer error!");var n=new XMLHttpRequest;if(n.open("GET",r,!1),i!==s&&n.setRequestHeader("Range","bytes="+e+"-"+t),n.responseType="arraybuffer",n.overrideMimeType&&n.overrideMimeType("text/plain; charset=x-user-defined"),n.send(null),!(n.status>=200&&n.status<300||304===n.status))throw new Error("Couldn't load "+r+". Status: "+n.status);return void 0!==n.response?new Uint8Array(n.response||[]):ie(n.responseText||"",!0)})(t,n)),void 0===a.chunks[e])throw new Error("doXHR failed!");return a.chunks[e]})),!o&&i||(s=i=1,i=this.getter(0).length,s=i,_("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=i,this._chunkSize=s,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!h)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var s=new o;Object.defineProperties(s,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var a={isDevice:!1,contents:s}}else a={isDevice:!1,url:r};var d=ae.createFile(e,t,a,i,n);a.contents?d.contents=a.contents:a.url&&(d.contents=null,d.url=a.url),Object.defineProperties(d,{usedBytes:{get:function(){return this.contents.length}}});var l={};function u(e,t,r,i,n){var o=e.node.contents;if(n>=o.length)return 0;var s=Math.min(o.length-n,i);if(o.slice)for(var a=0;a<s;a++)t[r+a]=o[n+a];else for(a=0;a<s;a++)t[r+a]=o.get(n+a);return s}return Object.keys(d.stream_ops).forEach((e=>{var t=d.stream_ops[e];l[e]=function(){return ae.forceLoadFile(d),t.apply(null,arguments)}})),l.read=(e,t,r,i,n)=>(ae.forceLoadFile(d),u(e,t,r,i,n)),l.mmap=(e,t,r,i,n)=>{ae.forceLoadFile(d);var o=oe(t);if(!o)throw new ae.ErrnoError(48);return u(e,E,o,t,r),{ptr:o,allocated:!0}},d.stream_ops=l,d},createPreloadedFile:(e,t,r,i,n,s,a,d,l,u)=>{var c=t?re.resolve(te.join2(e,t)):e;function f(r){function o(r){u&&u(),d||ae.createDataFile(e,t,r,i,n,l),s&&s(),H()}Browser.handledByPreloadPlugin(r,c,o,(()=>{a&&a(),H()}))||o(r)}$(),"string"==typeof r?function(e,t,r,i){var n=i?"":"al "+e;o(e,(r=>{w(r,'Loading data file "'+e+'" failed (no arrayBuffer).'),t(new Uint8Array(r)),n&&H()}),(t=>{if(!r)throw'Loading data file "'+e+'" failed.';r()})),n&&$()}(r,(e=>f(e)),a):f(r)},indexedDB:()=>window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB,DB_NAME:()=>"EM_FS_"+window.location.pathname,DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(e,t,r)=>{t=t||(()=>{}),r=r||(()=>{});var i=ae.indexedDB();try{var n=i.open(ae.DB_NAME(),ae.DB_VERSION)}catch(e){return r(e)}n.onupgradeneeded=()=>{_("creating db"),n.result.createObjectStore(ae.DB_STORE_NAME)},n.onsuccess=()=>{var i=n.result.transaction([ae.DB_STORE_NAME],"readwrite"),o=i.objectStore(ae.DB_STORE_NAME),s=0,a=0,d=e.length;function l(){0==a?t():r()}e.forEach((e=>{var t=o.put(ae.analyzePath(e).object.contents,e);t.onsuccess=()=>{++s+a==d&&l()},t.onerror=()=>{a++,s+a==d&&l()}})),i.onerror=r},n.onerror=r},loadFilesFromDB:(e,t,r)=>{t=t||(()=>{}),r=r||(()=>{});var i=ae.indexedDB();try{var n=i.open(ae.DB_NAME(),ae.DB_VERSION)}catch(e){return r(e)}n.onupgradeneeded=r,n.onsuccess=()=>{var i=n.result;try{var o=i.transaction([ae.DB_STORE_NAME],"readonly")}catch(e){return void r(e)}var s=o.objectStore(ae.DB_STORE_NAME),a=0,d=0,l=e.length;function u(){0==d?t():r()}e.forEach((e=>{var t=s.get(e);t.onsuccess=()=>{ae.analyzePath(e).exists&&ae.unlink(e),ae.createDataFile(te.dirname(e),te.basename(e),t.result,!0,!0,!0),++a+d==l&&u()},t.onerror=()=>{d++,a+d==l&&u()}})),o.onerror=r},n.onerror=r}},de={DEFAULT_POLLMASK:5,calculateAt:function(e,t,r){if(te.isAbs(t))return t;var i;if(-100===e)i=ae.cwd();else{var n=ae.getStream(e);if(!n)throw new ae.ErrnoError(8);i=n.path}if(0==t.length){if(!r)throw new ae.ErrnoError(44);return i}return te.join2(i,t)},doStat:function(e,t,r){try{var i=e(t)}catch(e){if(e&&e.node&&te.normalize(t)!==te.normalize(ae.getPath(e.node)))return-54;throw e}return U[r>>2]=i.dev,U[r+4>>2]=0,U[r+8>>2]=i.ino,U[r+12>>2]=i.mode,U[r+16>>2]=i.nlink,U[r+20>>2]=i.uid,U[r+24>>2]=i.gid,U[r+28>>2]=i.rdev,U[r+32>>2]=0,Y=[i.size>>>0,(q=i.size,+Math.abs(q)>=1?q>0?(0|Math.min(+Math.floor(q/4294967296),4294967295))>>>0:~~+Math.ceil((q-+(~~q>>>0))/4294967296)>>>0:0)],U[r+40>>2]=Y[0],U[r+44>>2]=Y[1],U[r+48>>2]=4096,U[r+52>>2]=i.blocks,Y=[Math.floor(i.atime.getTime()/1e3)>>>0,(q=Math.floor(i.atime.getTime()/1e3),+Math.abs(q)>=1?q>0?(0|Math.min(+Math.floor(q/4294967296),4294967295))>>>0:~~+Math.ceil((q-+(~~q>>>0))/4294967296)>>>0:0)],U[r+56>>2]=Y[0],U[r+60>>2]=Y[1],U[r+64>>2]=0,Y=[Math.floor(i.mtime.getTime()/1e3)>>>0,(q=Math.floor(i.mtime.getTime()/1e3),+Math.abs(q)>=1?q>0?(0|Math.min(+Math.floor(q/4294967296),4294967295))>>>0:~~+Math.ceil((q-+(~~q>>>0))/4294967296)>>>0:0)],U[r+72>>2]=Y[0],U[r+76>>2]=Y[1],U[r+80>>2]=0,Y=[Math.floor(i.ctime.getTime()/1e3)>>>0,(q=Math.floor(i.ctime.getTime()/1e3),+Math.abs(q)>=1?q>0?(0|Math.min(+Math.floor(q/4294967296),4294967295))>>>0:~~+Math.ceil((q-+(~~q>>>0))/4294967296)>>>0:0)],U[r+88>>2]=Y[0],U[r+92>>2]=Y[1],U[r+96>>2]=0,Y=[i.ino>>>0,(q=i.ino,+Math.abs(q)>=1?q>0?(0|Math.min(+Math.floor(q/4294967296),4294967295))>>>0:~~+Math.ceil((q-+(~~q>>>0))/4294967296)>>>0:0)],U[r+104>>2]=Y[0],U[r+108>>2]=Y[1],0},doMsync:function(e,t,r,i,n){var o=A.slice(e,e+r);ae.msync(t,o,n,r,i)},varargs:void 0,get:function(){return de.varargs+=4,U[de.varargs-4>>2]},getStr:function(e){return I(e)},getStreamFromFD:function(e){var t=ae.getStream(e);if(!t)throw new ae.ErrnoError(8);return t}};function le(e){switch(e){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+e)}}var ue=void 0;function ce(e){for(var t="",r=e;A[r];)t+=ue[A[r++]];return t}var fe={},he={},pe={};function me(e){if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=48&&t<=57?"_"+e:e}function _e(e,t){return e=me(e),new Function("body","return function "+e+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(t)}function ge(e,t){var r=_e(t,(function(e){this.name=t,this.message=e;var r=new Error(e).stack;void 0!==r&&(this.stack=this.toString()+"\n"+r.replace(/^Error(:[^\n]*)?\n/,""))}));return r.prototype=Object.create(e.prototype),r.prototype.constructor=r,r.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},r}var ye=void 0;function ve(e){throw new ye(e)}var be=void 0;function we(e){throw new be(e)}function Se(e,t,r){function i(t){var i=r(t);i.length!==e.length&&we("Mismatched type converter count");for(var n=0;n<e.length;++n)Ee(e[n],i[n])}e.forEach((function(e){pe[e]=t}));var n=new Array(t.length),o=[],s=0;t.forEach(((e,t)=>{he.hasOwnProperty(e)?n[t]=he[e]:(o.push(e),fe.hasOwnProperty(e)||(fe[e]=[]),fe[e].push((()=>{n[t]=he[e],++s===o.length&&i(n)})))})),0===o.length&&i(n)}function Ee(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");var i=t.name;if(e||ve('type "'+i+'" must have a positive integer typeid pointer'),he.hasOwnProperty(e)){if(r.ignoreDuplicateRegistrations)return;ve("Cannot register type '"+i+"' twice")}if(he[e]=t,delete pe[e],fe.hasOwnProperty(e)){var n=fe[e];delete fe[e],n.forEach((e=>e()))}}function Ae(e){if(!(this instanceof je))return!1;if(!(e instanceof je))return!1;for(var t=this.$$.ptrType.registeredClass,r=this.$$.ptr,i=e.$$.ptrType.registeredClass,n=e.$$.ptr;t.baseClass;)r=t.upcast(r),t=t.baseClass;for(;i.baseClass;)n=i.upcast(n),i=i.baseClass;return t===i&&r===n}function xe(e){ve(e.$$.ptrType.registeredClass.name+" instance already deleted")}var Be=!1;function Ue(e){}function ke(e){e.count.value-=1,0===e.count.value&&function(e){e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)}(e)}function Te(e,t,r){if(t===r)return e;if(void 0===r.baseClass)return null;var i=Te(e,t,r.baseClass);return null===i?null:r.downcast(i)}var Ce={};function De(){return Object.keys(Re).length}function Pe(){var e=[];for(var t in Re)Re.hasOwnProperty(t)&&e.push(Re[t]);return e}var Fe=[];function Ie(){for(;Fe.length;){var e=Fe.pop();e.$$.deleteScheduled=!1,e.delete()}}var Le=void 0;function Me(e){Le=e,Fe.length&&Le&&Le(Ie)}var Re={};function ze(e,t){return t=function(e,t){for(void 0===t&&ve("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t}(e,t),Re[t]}function Ne(e,t){return t.ptrType&&t.ptr||we("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!==!!t.smartPtr&&we("Both smartPtrType and smartPtr must be specified"),t.count={value:1},Ge(Object.create(e,{$$:{value:t}}))}function Oe(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var r=ze(this.registeredClass,t);if(void 0!==r){if(0===r.$$.count.value)return r.$$.ptr=t,r.$$.smartPtr=e,r.clone();var i=r.clone();return this.destructor(e),i}function n(){return this.isSmartPointer?Ne(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):Ne(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var o,s=this.registeredClass.getActualType(t),a=Ce[s];if(!a)return n.call(this);o=this.isConst?a.constPointerType:a.pointerType;var d=Te(t,this.registeredClass,o.registeredClass);return null===d?n.call(this):this.isSmartPointer?Ne(o.registeredClass.instancePrototype,{ptrType:o,ptr:d,smartPtrType:this,smartPtr:e}):Ne(o.registeredClass.instancePrototype,{ptrType:o,ptr:d})}function Ge(e){return"undefined"==typeof FinalizationRegistry?(Ge=e=>e,e):(Be=new FinalizationRegistry((e=>{ke(e.$$)})),Ge=e=>{var t=e.$$;if(!!t.smartPtr){var r={$$:t};Be.register(e,r,e)}return e},Ue=e=>Be.unregister(e),Ge(e))}function $e(){if(this.$$.ptr||xe(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e,t=Ge(Object.create(Object.getPrototypeOf(this),{$$:{value:(e=this.$$,{count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType})}}));return t.$$.count.value+=1,t.$$.deleteScheduled=!1,t}function He(){this.$$.ptr||xe(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&ve("Object already scheduled for deletion"),Ue(this),ke(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)}function Ve(){return!this.$$.ptr}function We(){return this.$$.ptr||xe(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&ve("Object already scheduled for deletion"),Fe.push(this),1===Fe.length&&Le&&Le(Ie),this.$$.deleteScheduled=!0,this}function je(){}function qe(e,t,r){if(void 0===e[t].overloadTable){var i=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||ve("Function '"+r+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+e[t].overloadTable+")!"),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[i.argCount]=i}}function Ye(e,t,r,i,n,o,s,a){this.name=e,this.constructor=t,this.instancePrototype=r,this.rawDestructor=i,this.baseClass=n,this.getActualType=o,this.upcast=s,this.downcast=a,this.pureVirtualFunctions=[]}function Ke(e,t,r){for(;t!==r;)t.upcast||ve("Expected null or instance of "+r.name+", got an instance of "+t.name),e=t.upcast(e),t=t.baseClass;return e}function Xe(e,t){if(null===t)return this.isReference&&ve("null is not a valid "+this.name),0;t.$$||ve('Cannot pass "'+wt(t)+'" as a '+this.name),t.$$.ptr||ve("Cannot pass deleted object as a pointer of type "+this.name);var r=t.$$.ptrType.registeredClass;return Ke(t.$$.ptr,r,this.registeredClass)}function Ze(e,t){var r;if(null===t)return this.isReference&&ve("null is not a valid "+this.name),this.isSmartPointer?(r=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,r),r):0;t.$$||ve('Cannot pass "'+wt(t)+'" as a '+this.name),t.$$.ptr||ve("Cannot pass deleted object as a pointer of type "+this.name),!this.isConst&&t.$$.ptrType.isConst&&ve("Cannot convert argument of type "+(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name)+" to parameter type "+this.name);var i=t.$$.ptrType.registeredClass;if(r=Ke(t.$$.ptr,i,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&ve("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?r=t.$$.smartPtr:ve("Cannot convert argument of type "+(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name)+" to parameter type "+this.name);break;case 1:r=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)r=t.$$.smartPtr;else{var n=t.clone();r=this.rawShare(r,bt.toHandle((function(){n.delete()}))),null!==e&&e.push(this.rawDestructor,r)}break;default:ve("Unsupporting sharing policy")}return r}function Je(e,t){if(null===t)return this.isReference&&ve("null is not a valid "+this.name),0;t.$$||ve('Cannot pass "'+wt(t)+'" as a '+this.name),t.$$.ptr||ve("Cannot pass deleted object as a pointer of type "+this.name),t.$$.ptrType.isConst&&ve("Cannot convert argument of type "+t.$$.ptrType.name+" to parameter type "+this.name);var r=t.$$.ptrType.registeredClass;return Ke(t.$$.ptr,r,this.registeredClass)}function Qe(e){return this.fromWireType(U[e>>2])}function et(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e}function tt(e){this.rawDestructor&&this.rawDestructor(e)}function rt(e){null!==e&&e.delete()}function it(e,t,r,i,n,o,s,a,d,l,u){this.name=e,this.registeredClass=t,this.isReference=r,this.isConst=i,this.isSmartPointer=n,this.pointeeType=o,this.sharingPolicy=s,this.rawGetPointee=a,this.rawConstructor=d,this.rawShare=l,this.rawDestructor=u,n||void 0!==t.baseClass?this.toWireType=Ze:i?(this.toWireType=Xe,this.destructorFunction=null):(this.toWireType=Je,this.destructorFunction=null)}var nt=[];function ot(e){var t=nt[e];return t||(e>=nt.length&&(nt.length=e+1),nt[e]=t=D.get(e)),t}function st(e,r,i){return e.includes("j")?function(e,r,i){var n=t["dynCall_"+e];return i&&i.length?n.apply(null,[r].concat(i)):n.call(null,r)}(e,r,i):ot(r).apply(null,i)}function at(e,t){var r,i,n,o=(e=ce(e)).includes("j")?(r=e,i=t,n=[],function(){return n.length=0,Object.assign(n,arguments),st(r,i,n)}):ot(t);return"function"!=typeof o&&ve("unknown function pointer with signature "+e+": "+t),o}var dt=void 0;function lt(e){var t=$t(e),r=ce(t);return Ot(t),r}function ut(e,t){var r=[],i={};throw t.forEach((function e(t){i[t]||he[t]||(pe[t]?pe[t].forEach(e):(r.push(t),i[t]=!0))})),new dt(e+": "+r.map(lt).join([", "]))}function ct(e,t){for(var r=[],i=0;i<e;i++)r.push(k[t+4*i>>2]);return r}function ft(e){for(;e.length;){var t=e.pop();e.pop()(t)}}function ht(e,t){if(!(e instanceof Function))throw new TypeError("new_ called with constructor type "+typeof e+" which is not a function");var r=_e(e.name||"unknownFunctionName",(function(){}));r.prototype=e.prototype;var i=new r,n=e.apply(i,t);return n instanceof Object?n:i}function pt(e,t,r,i,n){var o=t.length;o<2&&ve("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var s=null!==t[1]&&null!==r,a=!1,d=1;d<t.length;++d)if(null!==t[d]&&void 0===t[d].destructorFunction){a=!0;break}var l="void"!==t[0].name,u="",c="";for(d=0;d<o-2;++d)u+=(0!==d?", ":"")+"arg"+d,c+=(0!==d?", ":"")+"arg"+d+"Wired";var f="return function "+me(e)+"("+u+") {\nif (arguments.length !== "+(o-2)+") {\nthrowBindingError('function "+e+" called with ' + arguments.length + ' arguments, expected "+(o-2)+" args!');\n}\n";a&&(f+="var destructors = [];\n");var h=a?"destructors":"null",p=["throwBindingError","invoker","fn","runDestructors","retType","classParam"],m=[ve,i,n,ft,t[0],t[1]];s&&(f+="var thisWired = classParam.toWireType("+h+", this);\n");for(d=0;d<o-2;++d)f+="var arg"+d+"Wired = argType"+d+".toWireType("+h+", arg"+d+"); // "+t[d+2].name+"\n",p.push("argType"+d),m.push(t[d+2]);if(s&&(c="thisWired"+(c.length>0?", ":"")+c),f+=(l?"var rv = ":"")+"invoker(fn"+(c.length>0?", ":"")+c+");\n",a)f+="runDestructors(destructors);\n";else for(d=s?1:2;d<t.length;++d){var _=1===d?"thisWired":"arg"+(d-2)+"Wired";null!==t[d].destructorFunction&&(f+=_+"_dtor("+_+"); // "+t[d].name+"\n",p.push(_+"_dtor"),m.push(t[d].destructorFunction))}return l&&(f+="var ret = retType.fromWireType(rv);\nreturn ret;\n"),f+="}\n",p.push(f),ht(Function,p).apply(null,m)}var mt=[],_t=[{},{value:void 0},{value:null},{value:!0},{value:!1}];function gt(e){e>4&&0==--_t[e].refcount&&(_t[e]=void 0,mt.push(e))}function yt(){for(var e=0,t=5;t<_t.length;++t)void 0!==_t[t]&&++e;return e}function vt(){for(var e=5;e<_t.length;++e)if(void 0!==_t[e])return _t[e];return null}var bt={toValue:e=>(e||ve("Cannot use deleted val. handle = "+e),_t[e].value),toHandle:e=>{switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var t=mt.length?mt.pop():_t.length;return _t[t]={refcount:1,value:e},t}}};function wt(e){if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e}function St(e,t){switch(t){case 2:return function(e){return this.fromWireType(T[e>>2])};case 3:return function(e){return this.fromWireType(C[e>>3])};default:throw new TypeError("Unknown float type: "+e)}}function Et(e,t,r){switch(t){case 0:return r?function(e){return E[e]}:function(e){return A[e]};case 1:return r?function(e){return x[e>>1]}:function(e){return B[e>>1]};case 2:return r?function(e){return U[e>>2]}:function(e){return k[e>>2]};default:throw new TypeError("Unknown integer type: "+e)}}var At="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function xt(e,t){for(var r=e,i=r>>1,n=i+t/2;!(i>=n)&&B[i];)++i;if((r=i<<1)-e>32&&At)return At.decode(A.subarray(e,r));for(var o="",s=0;!(s>=t/2);++s){var a=x[e+2*s>>1];if(0==a)break;o+=String.fromCharCode(a)}return o}function Bt(e,t,r){if(void 0===r&&(r=2147483647),r<2)return 0;for(var i=t,n=(r-=2)<2*e.length?r/2:e.length,o=0;o<n;++o){var s=e.charCodeAt(o);x[t>>1]=s,t+=2}return x[t>>1]=0,t-i}function Ut(e){return 2*e.length}function kt(e,t){for(var r=0,i="";!(r>=t/4);){var n=U[e+4*r>>2];if(0==n)break;if(++r,n>=65536){var o=n-65536;i+=String.fromCharCode(55296|o>>10,56320|1023&o)}else i+=String.fromCharCode(n)}return i}function Tt(e,t,r){if(void 0===r&&(r=2147483647),r<4)return 0;for(var i=t,n=i+r-4,o=0;o<e.length;++o){var s=e.charCodeAt(o);if(s>=55296&&s<=57343)s=65536+((1023&s)<<10)|1023&e.charCodeAt(++o);if(U[t>>2]=s,(t+=4)+4>n)break}return U[t>>2]=0,t-i}function Ct(e){for(var t=0,r=0;r<e.length;++r){var i=e.charCodeAt(r);i>=55296&&i<=57343&&++r,t+=4}return t}var Dt={};var Pt=[];var Ft=[];var It={};function Lt(){if(!Lt.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:c||"./this.program"};for(var t in It)void 0===It[t]?delete e[t]:e[t]=It[t];var r=[];for(var t in e)r.push(t+"="+e[t]);Lt.strings=r}return Lt.strings}var Mt=function(e,t,r,i){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=ae.nextInode++,this.name=t,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=i},Rt=365,zt=146;Object.defineProperties(Mt.prototype,{read:{get:function(){return(this.mode&Rt)===Rt},set:function(e){e?this.mode|=Rt:this.mode&=-366}},write:{get:function(){return(this.mode&zt)===zt},set:function(e){e?this.mode|=zt:this.mode&=-147}},isFolder:{get:function(){return ae.isDir(this.mode)}},isDevice:{get:function(){return ae.isChrdev(this.mode)}}}),ae.FSNode=Mt,ae.staticInit(),function(){for(var e=new Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);ue=e}(),ye=t.BindingError=ge(Error,"BindingError"),be=t.InternalError=ge(Error,"InternalError"),je.prototype.isAliasOf=Ae,je.prototype.clone=$e,je.prototype.delete=He,je.prototype.isDeleted=Ve,je.prototype.deleteLater=We,t.getInheritedInstanceCount=De,t.getLiveInheritedInstances=Pe,t.flushPendingDeletes=Ie,t.setDelayFunction=Me,it.prototype.getPointee=et,it.prototype.destructor=tt,it.prototype.argPackAdvance=8,it.prototype.readValueFromPointer=Qe,it.prototype.deleteObject=rt,it.prototype.fromWireType=Oe,dt=t.UnboundTypeError=ge(Error,"UnboundTypeError"),t.count_emval_handles=yt,t.get_first_emval=vt;var Nt={q:function(e){return Vt(e+24)+24},p:function(e,t,r){throw new ee(e).init(t,r),e},C:function(e,t,r){de.varargs=r;try{var i=de.getStreamFromFD(e);switch(t){case 0:return(n=de.get())<0?-28:ae.createStream(i,n).fd;case 1:case 2:case 6:case 7:return 0;case 3:return i.flags;case 4:var n=de.get();return i.flags|=n,0;case 5:n=de.get();return x[n+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return o=28,U[Gt()>>2]=o,-1}}catch(e){if(void 0===ae||!(e instanceof ae.ErrnoError))throw e;return-e.errno}var o},w:function(e,t,r,i){de.varargs=i;try{t=de.getStr(t),t=de.calculateAt(e,t);var n=i?de.get():0;return ae.open(t,r,n).fd}catch(e){if(void 0===ae||!(e instanceof ae.ErrnoError))throw e;return-e.errno}},u:function(e,t,r,i,n){},E:function(e,t,r,i,n){var o=le(r);Ee(e,{name:t=ce(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?i:n},argPackAdvance:8,readValueFromPointer:function(e){var i;if(1===r)i=E;else if(2===r)i=x;else{if(4!==r)throw new TypeError("Unknown boolean type size: "+t);i=U}return this.fromWireType(i[e>>o])},destructorFunction:null})},t:function(e,r,i,n,o,s,a,d,l,u,c,f,h){c=ce(c),s=at(o,s),d&&(d=at(a,d)),u&&(u=at(l,u)),h=at(f,h);var p=me(c);!function(e,r,i){t.hasOwnProperty(e)?((void 0===i||void 0!==t[e].overloadTable&&void 0!==t[e].overloadTable[i])&&ve("Cannot register public name '"+e+"' twice"),qe(t,e,e),t.hasOwnProperty(i)&&ve("Cannot register multiple overloads of a function with the same number of arguments ("+i+")!"),t[e].overloadTable[i]=r):(t[e]=r,void 0!==i&&(t[e].numArguments=i))}(p,(function(){ut("Cannot construct "+c+" due to unbound types",[n])})),Se([e,r,i],n?[n]:[],(function(r){var i,o;r=r[0],o=n?(i=r.registeredClass).instancePrototype:je.prototype;var a=_e(p,(function(){if(Object.getPrototypeOf(this)!==l)throw new ye("Use 'new' to construct "+c);if(void 0===f.constructor_body)throw new ye(c+" has no accessible constructor");var e=f.constructor_body[arguments.length];if(void 0===e)throw new ye("Tried to invoke ctor of "+c+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(f.constructor_body).toString()+") parameters instead!");return e.apply(this,arguments)})),l=Object.create(o,{constructor:{value:a}});a.prototype=l;var f=new Ye(c,a,l,h,i,s,d,u),m=new it(c,f,!0,!1,!1),_=new it(c+"*",f,!1,!1,!1),g=new it(c+" const*",f,!1,!0,!1);return Ce[e]={pointerType:_,constPointerType:g},function(e,r,i){t.hasOwnProperty(e)||we("Replacing nonexistant public symbol"),void 0!==t[e].overloadTable&&void 0!==i?t[e].overloadTable[i]=r:(t[e]=r,t[e].argCount=i)}(p,a),[m,_,g]}))},r:function(e,t,r,i,n,o){w(t>0);var s=ct(t,r);n=at(i,n),Se([],[e],(function(e){var r="constructor "+(e=e[0]).name;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new ye("Cannot register multiple constructors with identical number of parameters ("+(t-1)+") for class '"+e.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");return e.registeredClass.constructor_body[t-1]=()=>{ut("Cannot construct "+e.name+" due to unbound types",s)},Se([],s,(function(i){return i.splice(1,0,null),e.registeredClass.constructor_body[t-1]=pt(r,i,null,n,o),[]})),[]}))},d:function(e,t,r,i,n,o,s,a){var d=ct(r,i);t=ce(t),o=at(n,o),Se([],[e],(function(e){var i=(e=e[0]).name+"."+t;function n(){ut("Cannot call "+i+" due to unbound types",d)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),a&&e.registeredClass.pureVirtualFunctions.push(t);var l=e.registeredClass.instancePrototype,u=l[t];return void 0===u||void 0===u.overloadTable&&u.className!==e.name&&u.argCount===r-2?(n.argCount=r-2,n.className=e.name,l[t]=n):(qe(l,t,i),l[t].overloadTable[r-2]=n),Se([],d,(function(n){var a=pt(i,n,e,o,s);return void 0===l[t].overloadTable?(a.argCount=r-2,l[t]=a):l[t].overloadTable[r-2]=a,[]})),[]}))},D:function(e,t){Ee(e,{name:t=ce(t),fromWireType:function(e){var t=bt.toValue(e);return gt(e),t},toWireType:function(e,t){return bt.toHandle(t)},argPackAdvance:8,readValueFromPointer:Qe,destructorFunction:null})},n:function(e,t,r){var i=le(r);Ee(e,{name:t=ce(t),fromWireType:function(e){return e},toWireType:function(e,t){return t},argPackAdvance:8,readValueFromPointer:St(t,i),destructorFunction:null})},c:function(e,t,r,i,n){t=ce(t);var o=le(r),s=e=>e;if(0===i){var a=32-8*r;s=e=>e<<a>>>a}var d=t.includes("unsigned");Ee(e,{name:t,fromWireType:s,toWireType:d?function(e,t){return this.name,t>>>0}:function(e,t){return this.name,t},argPackAdvance:8,readValueFromPointer:Et(t,o,0!==i),destructorFunction:null})},b:function(e,t,r){var i=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function n(e){var t=k,r=t[e>>=2],n=t[e+1];return new i(S,n,r)}Ee(e,{name:r=ce(r),fromWireType:n,argPackAdvance:8,readValueFromPointer:n},{ignoreDuplicateRegistrations:!0})},m:function(e,t){var r="std::string"===(t=ce(t));Ee(e,{name:t,fromWireType:function(e){var t,i=k[e>>2],n=e+4;if(r)for(var o=n,s=0;s<=i;++s){var a=n+s;if(s==i||0==A[a]){var d=I(o,a-o);void 0===t?t=d:(t+=String.fromCharCode(0),t+=d),o=a+1}}else{var l=new Array(i);for(s=0;s<i;++s)l[s]=String.fromCharCode(A[n+s]);t=l.join("")}return Ot(e),t},toWireType:function(e,t){var i;t instanceof ArrayBuffer&&(t=new Uint8Array(t));var n="string"==typeof t;n||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int8Array||ve("Cannot pass non-string to std::string"),i=r&&n?M(t):t.length;var o=Vt(4+i+1),s=o+4;if(k[o>>2]=i,r&&n)L(t,A,s,i+1);else if(n)for(var a=0;a<i;++a){var d=t.charCodeAt(a);d>255&&(Ot(s),ve("String has UTF-16 code units that do not fit in 8 bits")),A[s+a]=d}else for(a=0;a<i;++a)A[s+a]=t[a];return null!==e&&e.push(Ot,o),o},argPackAdvance:8,readValueFromPointer:Qe,destructorFunction:function(e){Ot(e)}})},h:function(e,t,r){var i,n,o,s,a;r=ce(r),2===t?(i=xt,n=Bt,s=Ut,o=()=>B,a=1):4===t&&(i=kt,n=Tt,s=Ct,o=()=>k,a=2),Ee(e,{name:r,fromWireType:function(e){for(var r,n=k[e>>2],s=o(),d=e+4,l=0;l<=n;++l){var u=e+4+l*t;if(l==n||0==s[u>>a]){var c=i(d,u-d);void 0===r?r=c:(r+=String.fromCharCode(0),r+=c),d=u+t}}return Ot(e),r},toWireType:function(e,i){"string"!=typeof i&&ve("Cannot pass non-string to C++ string type "+r);var o=s(i),d=Vt(4+o+t);return k[d>>2]=o>>a,n(i,d+4,o+t),null!==e&&e.push(Ot,d),d},argPackAdvance:8,readValueFromPointer:Qe,destructorFunction:function(e){Ot(e)}})},o:function(e,t){Ee(e,{isVoid:!0,name:t=ce(t),argPackAdvance:0,fromWireType:function(){},toWireType:function(e,t){}})},f:function(){return Date.now()},g:function(e,t,r,i){var n,o;(e=Pt[e])(t=bt.toValue(t),r=void 0===(o=Dt[n=r])?ce(n):o,null,i)},j:gt,i:function(e,t){var r=function(e,t){for(var r,i,n,o=new Array(e),s=0;s<e;++s)o[s]=(r=k[t+4*s>>2],i="parameter "+s,n=void 0,void 0===(n=he[r])&&ve(i+" has unknown type "+lt(r)),n);return o}(e,t),i=r[0],n=i.name+"_$"+r.slice(1).map((function(e){return e.name})).join("_")+"$",o=Ft[n];if(void 0!==o)return o;for(var s=["retType"],a=[i],d="",l=0;l<e-1;++l)d+=(0!==l?", ":"")+"arg"+l,s.push("argType"+l),a.push(r[1+l]);var u="return function "+me("methodCaller_"+n)+"(handle, name, destructors, args) {\n",c=0;for(l=0;l<e-1;++l)u+=" var arg"+l+" = argType"+l+".readValueFromPointer(args"+(c?"+"+c:"")+");\n",c+=r[l+1].argPackAdvance;for(u+=" var rv = handle[name]("+d+");\n",l=0;l<e-1;++l)r[l+1].deleteObject&&(u+=" argType"+l+".deleteObject(arg"+l+");\n");i.isVoid||(u+=" return retType.toWireType(destructors, rv);\n"),u+="};\n",s.push(u);var f,h,p=ht(Function,s).apply(null,a);return f=p,h=Pt.length,Pt.push(f),o=h,Ft[n]=o,o},a:function(){V("")},A:function(e,t,r){A.copyWithin(e,t,t+r)},v:function(e){A.length,V("OOM")},y:function(e,t){var r=0;return Lt().forEach((function(i,n){var o=t+r;k[e+4*n>>2]=o,function(e,t,r){for(var i=0;i<e.length;++i)E[t++>>0]=e.charCodeAt(i);r||(E[t>>0]=0)}(i,o),r+=i.length+1})),0},z:function(e,t){var r=Lt();k[e>>2]=r.length;var i=0;return r.forEach((function(e){i+=e.length+1})),k[t>>2]=i,0},l:function(e){try{var t=de.getStreamFromFD(e);return ae.close(t),0}catch(e){if(void 0===ae||!(e instanceof ae.ErrnoError))throw e;return e.errno}},x:function(e,t){try{var r=de.getStreamFromFD(e),i=r.tty?2:ae.isDir(r.mode)?3:ae.isLink(r.mode)?7:4;return E[t>>0]=i,0}catch(e){if(void 0===ae||!(e instanceof ae.ErrnoError))throw e;return e.errno}},B:function(e,t,r,i){try{var n=function(e,t,r,i){for(var n=0,o=0;o<r;o++){var s=k[t>>2],a=k[t+4>>2];t+=8;var d=ae.read(e,E,s,a,i);if(d<0)return-1;if(n+=d,d<a)break}return n}(de.getStreamFromFD(e),t,r);return U[i>>2]=n,0}catch(e){if(void 0===ae||!(e instanceof ae.ErrnoError))throw e;return e.errno}},s:function(e,t,r,i,n){try{var o=(d=r)+2097152>>>0<4194305-!!(a=t)?(a>>>0)+4294967296*d:NaN;if(isNaN(o))return 61;var s=de.getStreamFromFD(e);return ae.llseek(s,o,i),Y=[s.position>>>0,(q=s.position,+Math.abs(q)>=1?q>0?(0|Math.min(+Math.floor(q/4294967296),4294967295))>>>0:~~+Math.ceil((q-+(~~q>>>0))/4294967296)>>>0:0)],U[n>>2]=Y[0],U[n+4>>2]=Y[1],s.getdents&&0===o&&0===i&&(s.getdents=null),0}catch(e){if(void 0===ae||!(e instanceof ae.ErrnoError))throw e;return e.errno}var a,d},k:function(e,t,r,i){try{var n=function(e,t,r,i){for(var n=0,o=0;o<r;o++){var s=k[t>>2],a=k[t+4>>2];t+=8;var d=ae.write(e,E,s,a,i);if(d<0)return-1;n+=d}return n}(de.getStreamFromFD(e),t,r);return k[i>>2]=n,0}catch(e){if(void 0===ae||!(e instanceof ae.ErrnoError))throw e;return e.errno}},e:function(e){}};!function(){var e={a:Nt};function r(e,r){var i,n,o=e.exports;t.asm=o,v=t.asm.F,i=v.buffer,S=i,t.HEAP8=E=new Int8Array(i),t.HEAP16=x=new Int16Array(i),t.HEAP32=U=new Int32Array(i),t.HEAPU8=A=new Uint8Array(i),t.HEAPU16=B=new Uint16Array(i),t.HEAPU32=k=new Uint32Array(i),t.HEAPF32=T=new Float32Array(i),t.HEAPF64=C=new Float64Array(i),D=t.asm.I,n=t.asm.G,z.unshift(n),H()}function n(e){r(e.instance)}function s(t){return function(){if(!y&&(f||h)){if("function"==typeof fetch&&!X(W))return fetch(W,{credentials:"same-origin"}).then((function(e){if(!e.ok)throw"failed to load wasm binary file at '"+W+"'";return e.arrayBuffer()})).catch((function(){return Z(W)}));if(o)return new Promise((function(e,t){o(W,(function(t){e(new Uint8Array(t))}),t)}))}return Promise.resolve().then((function(){return Z(W)}))}().then((function(t){return WebAssembly.instantiate(t,e)})).then((function(e){return e})).then(t,(function(e){g("failed to asynchronously prepare wasm: "+e),V(e)}))}if($(),t.instantiateWasm)try{return t.instantiateWasm(e,r)}catch(e){return g("Module.instantiateWasm callback failed with error: "+e),!1}(y||"function"!=typeof WebAssembly.instantiateStreaming||K(W)||X(W)||p||"function"!=typeof fetch?s(n):fetch(W,{credentials:"same-origin"}).then((function(t){return WebAssembly.instantiateStreaming(t,e).then(n,(function(e){return g("wasm streaming compile failed: "+e),g("falling back to ArrayBuffer instantiation"),s(n)}))}))).catch(i)}(),t.___wasm_call_ctors=function(){return(t.___wasm_call_ctors=t.asm.G).apply(null,arguments)};var Ot=t._free=function(){return(Ot=t._free=t.asm.H).apply(null,arguments)},Gt=t.___errno_location=function(){return(Gt=t.___errno_location=t.asm.J).apply(null,arguments)},$t=t.___getTypeName=function(){return($t=t.___getTypeName=t.asm.K).apply(null,arguments)};t.___embind_register_native_and_builtin_types=function(){return(t.___embind_register_native_and_builtin_types=t.asm.L).apply(null,arguments)};var Ht,Vt=t._malloc=function(){return(Vt=t._malloc=t.asm.M).apply(null,arguments)},Wt=t._emscripten_builtin_memalign=function(){return(Wt=t._emscripten_builtin_memalign=t.asm.N).apply(null,arguments)},jt=t.___cxa_is_pointer_type=function(){return(jt=t.___cxa_is_pointer_type=t.asm.O).apply(null,arguments)};function qt(e){function i(){Ht||(Ht=!0,t.calledRun=!0,b||(t.noFSInit||ae.init.initialized||ae.init(),ae.ignorePermissions=!1,Q(z),r(t),t.onRuntimeInitialized&&t.onRuntimeInitialized(),function(){if(t.postRun)for("function"==typeof t.postRun&&(t.postRun=[t.postRun]);t.postRun.length;)e=t.postRun.shift(),N.unshift(e);var e;Q(N)}()))}O>0||(!function(){if(t.preRun)for("function"==typeof t.preRun&&(t.preRun=[t.preRun]);t.preRun.length;)e=t.preRun.shift(),R.unshift(e);var e;Q(R)}(),O>0||(t.setStatus?(t.setStatus("Running..."),setTimeout((function(){setTimeout((function(){t.setStatus("")}),1),i()}),1)):i()))}if(t.dynCall_viiijj=function(){return(t.dynCall_viiijj=t.asm.P).apply(null,arguments)},t.dynCall_jij=function(){return(t.dynCall_jij=t.asm.Q).apply(null,arguments)},t.dynCall_jii=function(){return(t.dynCall_jii=t.asm.R).apply(null,arguments)},t.dynCall_jiji=function(){return(t.dynCall_jiji=t.asm.S).apply(null,arguments)},G=function e(){Ht||qt(),Ht||(G=e)},t.preInit)for("function"==typeof t.preInit&&(t.preInit=[t.preInit]);t.preInit.length>0;)t.preInit.pop()();return qt(),t.ready}})(),a=1e-6,d="undefined"!=typeof Float32Array?Float32Array:Array;function l(){var e=new d(16);return d!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e}function u(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}Math.hypot||(Math.hypot=function(){for(var e=0,t=arguments.length;t--;)e+=arguments[t]*arguments[t];return Math.sqrt(e)});var c,f=function(e,t,r,i,n,o,s){var a=1/(t-r),d=1/(i-n),l=1/(o-s);return e[0]=-2*a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*d,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*l,e[11]=0,e[12]=(t+r)*a,e[13]=(n+i)*d,e[14]=(s+o)*l,e[15]=1,e};function h(e,t,r){var i=new d(3);return i[0]=e,i[1]=t,i[2]=r,i}c=new d(3),d!=Float32Array&&(c[0]=0,c[1]=0,c[2]=0);var p=(e,t)=>{t&&e.pixelStorei(e.UNPACK_ALIGNMENT,1);const r=function(){const t=m(e.VERTEX_SHADER,"\n attribute vec4 aVertexPosition;\n attribute vec2 aTexturePosition;\n uniform mat4 uModelMatrix;\n uniform mat4 uViewMatrix;\n uniform mat4 uProjectionMatrix;\n varying lowp vec2 vTexturePosition;\n void main(void) {\n gl_Position = uProjectionMatrix * uViewMatrix * uModelMatrix * aVertexPosition;\n vTexturePosition = aTexturePosition;\n }\n "),r=m(e.FRAGMENT_SHADER,"\n precision highp float;\n varying highp vec2 vTexturePosition;\n uniform int isyuv;\n uniform sampler2D rgbaTexture;\n uniform sampler2D yTexture;\n uniform sampler2D uTexture;\n uniform sampler2D vTexture;\n\n const mat4 YUV2RGB = mat4( 1.1643828125, 0, 1.59602734375, -.87078515625,\n 1.1643828125, -.39176171875, -.81296875, .52959375,\n 1.1643828125, 2.017234375, 0, -1.081390625,\n 0, 0, 0, 1);\n\n\n void main(void) {\n\n if (isyuv>0) {\n\n highp float y = texture2D(yTexture, vTexturePosition).r;\n highp float u = texture2D(uTexture, vTexturePosition).r;\n highp float v = texture2D(vTexture, vTexturePosition).r;\n gl_FragColor = vec4(y, u, v, 1) * YUV2RGB;\n\n } else {\n gl_FragColor = texture2D(rgbaTexture, vTexturePosition);\n }\n }\n "),i=e.createProgram();if(e.attachShader(i,t),e.attachShader(i,r),e.linkProgram(i),!e.getProgramParameter(i,e.LINK_STATUS))return console.log("Unable to initialize the shader program: "+e.getProgramInfoLog(i)),null;return i}();let i={program:r,attribLocations:{vertexPosition:e.getAttribLocation(r,"aVertexPosition"),texturePosition:e.getAttribLocation(r,"aTexturePosition")},uniformLocations:{projectionMatrix:e.getUniformLocation(r,"uProjectionMatrix"),modelMatrix:e.getUniformLocation(r,"uModelMatrix"),viewMatrix:e.getUniformLocation(r,"uViewMatrix"),rgbatexture:e.getUniformLocation(r,"rgbaTexture"),ytexture:e.getUniformLocation(r,"yTexture"),utexture:e.getUniformLocation(r,"uTexture"),vtexture:e.getUniformLocation(r,"vTexture"),isyuv:e.getUniformLocation(r,"isyuv")}},n=function(){const t=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,t);e.bufferData(e.ARRAY_BUFFER,new Float32Array([-1,-1,-1,1,-1,-1,1,1,-1,-1,1,-1]),e.STATIC_DRAW);var r=[];r=r.concat([0,1],[1,1],[1,0],[0,0]);const i=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,i),e.bufferData(e.ARRAY_BUFFER,new Float32Array(r),e.STATIC_DRAW);const n=e.createBuffer();e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,n);return e.bufferData(e.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,0,2,3]),e.STATIC_DRAW),{position:t,texPosition:i,indices:n}}(),o=p(),s=p(),d=p(),c=p();function p(){let t=e.createTexture();return e.bindTexture(e.TEXTURE_2D,t),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),t}function m(t,r){const i=e.createShader(t);return e.shaderSource(i,r),e.compileShader(i),e.getShaderParameter(i,e.COMPILE_STATUS)?i:(console.log("An error occurred compiling the shaders: "+e.getShaderInfoLog(i)),e.deleteShader(i),null)}function _(t,r){e.viewport(0,0,t,r),e.clearColor(0,0,0,0),e.clearDepth(1),e.enable(e.DEPTH_TEST),e.depthFunc(e.LEQUAL),e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT);const o=l();f(o,-1,1,-1,1,.1,100);const p=l();u(p);const m=l();!function(e,t,r,i){var n,o,s,d,l,c,f,h,p,m,_=t[0],g=t[1],y=t[2],v=i[0],b=i[1],w=i[2],S=r[0],E=r[1],A=r[2];Math.abs(_-S)<a&&Math.abs(g-E)<a&&Math.abs(y-A)<a?u(e):(f=_-S,h=g-E,p=y-A,n=b*(p*=m=1/Math.hypot(f,h,p))-w*(h*=m),o=w*(f*=m)-v*p,s=v*h-b*f,(m=Math.hypot(n,o,s))?(n*=m=1/m,o*=m,s*=m):(n=0,o=0,s=0),d=h*s-p*o,l=p*n-f*s,c=f*o-h*n,(m=Math.hypot(d,l,c))?(d*=m=1/m,l*=m,c*=m):(d=0,l=0,c=0),e[0]=n,e[1]=d,e[2]=f,e[3]=0,e[4]=o,e[5]=l,e[6]=h,e[7]=0,e[8]=s,e[9]=c,e[10]=p,e[11]=0,e[12]=-(n*_+o*g+s*y),e[13]=-(d*_+l*g+c*y),e[14]=-(f*_+h*g+p*y),e[15]=1)}(m,h(0,0,0),h(0,0,-1),h(0,1,0));{const t=3,r=e.FLOAT,o=!1,s=0,a=0;e.bindBuffer(e.ARRAY_BUFFER,n.position),e.vertexAttribPointer(i.attribLocations.vertexPosition,t,r,o,s,a),e.enableVertexAttribArray(i.attribLocations.vertexPosition)}{const t=2,r=e.FLOAT,o=!1,s=0,a=0;e.bindBuffer(e.ARRAY_BUFFER,n.texPosition),e.vertexAttribPointer(i.attribLocations.texturePosition,t,r,o,s,a),e.enableVertexAttribArray(i.attribLocations.texturePosition)}e.activeTexture(e.TEXTURE0+3),e.bindTexture(e.TEXTURE_2D,s),e.activeTexture(e.TEXTURE0+4),e.bindTexture(e.TEXTURE_2D,d),e.activeTexture(e.TEXTURE0+5),e.bindTexture(e.TEXTURE_2D,c),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,n.indices),e.useProgram(i.program),e.uniformMatrix4fv(i.uniformLocations.projectionMatrix,!1,o),e.uniformMatrix4fv(i.uniformLocations.modelMatrix,!1,p),e.uniformMatrix4fv(i.uniformLocations.viewMatrix,!1,m),e.uniform1i(i.uniformLocations.rgbatexture,2),e.uniform1i(i.uniformLocations.ytexture,3),e.uniform1i(i.uniformLocations.utexture,4),e.uniform1i(i.uniformLocations.vtexture,5),e.uniform1i(i.uniformLocations.isyuv,1);{const t=6,r=e.UNSIGNED_SHORT,i=0;e.drawElements(e.TRIANGLES,t,r,i)}}return{render:function(t,r,i,n,o){e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,s),e.texImage2D(e.TEXTURE_2D,0,e.LUMINANCE,t,r,0,e.LUMINANCE,e.UNSIGNED_BYTE,i),e.activeTexture(e.TEXTURE1),e.bindTexture(e.TEXTURE_2D,d),e.texImage2D(e.TEXTURE_2D,0,e.LUMINANCE,t/2,r/2,0,e.LUMINANCE,e.UNSIGNED_BYTE,n),e.activeTexture(e.TEXTURE2),e.bindTexture(e.TEXTURE_2D,c),e.texImage2D(e.TEXTURE_2D,0,e.LUMINANCE,t/2,r/2,0,e.LUMINANCE,e.UNSIGNED_BYTE,o),_(t,r)},renderYUV:function(t,r,i){let n=i.slice(0,t*r),o=i.slice(t*r,t*r*5/4),a=i.slice(t*r*5/4,t*r*3/2);e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,s),e.texImage2D(e.TEXTURE_2D,0,e.LUMINANCE,t,r,0,e.LUMINANCE,e.UNSIGNED_BYTE,n),e.activeTexture(e.TEXTURE1),e.bindTexture(e.TEXTURE_2D,d),e.texImage2D(e.TEXTURE_2D,0,e.LUMINANCE,t/2,r/2,0,e.LUMINANCE,e.UNSIGNED_BYTE,o),e.activeTexture(e.TEXTURE2),e.bindTexture(e.TEXTURE_2D,c),e.texImage2D(e.TEXTURE_2D,0,e.LUMINANCE,t/2,r/2,0,e.LUMINANCE,e.UNSIGNED_BYTE,a),_(t,r)},destroy:function(){e.deleteProgram(i.program),e.deleteBuffer(n.position),e.deleteBuffer(n.texPosition),e.deleteBuffer(n.indices),e.deleteTexture(o),e.deleteTexture(s),e.deleteTexture(d),e.deleteTexture(c),i=null,n=null,o=null,s=null,d=null,c=null}}};const m=1,_=2,g="fetch",y="websocket",v="player",b="playbackTF",w="mp4",S="debug",E="warn",A=36e5,x=4080,B=12,U={playType:v,container:"",videoBuffer:1e3,videoBufferDelay:1e3,networkDelay:1e4,isResize:!0,isFullResize:!1,isFlv:!1,isHls:!1,isFmp4:!1,isFmp4Private:!1,isWebrtc:!1,isWebrtcForZLM:!1,isWebrtcForSRS:!1,isWebrtcForOthers:!1,isNakedFlow:!1,isMpeg4:!1,isAliyunRtc:!1,isTs:!1,debug:!1,debugLevel:E,debugUuid:"",isMulti:!0,multiIndex:-1,hotKey:!1,loadingTimeout:10,heartTimeout:10,timeout:10,pageVisibilityHiddenTimeout:300,loadingTimeoutReplay:!0,heartTimeoutReplay:!0,loadingTimeoutReplayTimes:3,heartTimeoutReplayTimes:3,heartTimeoutReplayUseLastFrameShow:!0,replayUseLastFrameShow:!0,replayShowLoadingIcon:!1,supportDblclickFullscreen:!1,showBandwidth:!1,showPerformance:!1,mseCorrectTimeDuration:20,mseCorrectAudioTimeDuration:20,keepScreenOn:!0,isNotMute:!1,muted:!0,hasAudio:!0,hasVideo:!0,operateBtns:{fullscreen:!1,screenshot:!1,play:!1,audio:!1,record:!1,ptz:!1,quality:!1,zoom:!1,close:!1,scale:!1,performance:!1,logSave:!1,aiFace:!1,aiObject:!1,aiOcclusion:!1,fullscreenFn:null,fullscreenExitFn:null,screenshotFn:null,playFn:null,pauseFn:null,recordFn:null,recordStopFn:null},extendOperateBtns:[],contextmenuBtns:[],watermarkConfig:{},controlAutoHide:!1,hasControl:!1,loadingIcon:!0,loadingIconStyle:{},loadingText:"",background:"",poster:"",backgroundLoadingShow:!0,loadingBackground:"",loadingBackgroundWidth:0,loadingBackgroundHeight:0,decoder:"decoder-pro.js",decoderAudio:"decoder-pro-audio.js",decoderHard:"decoder-pro-hard.js",decoderHardNotWasm:"decoder-pro-hard-not-wasm.js",wasmMp4RecorderDecoder:"jessibuca-pro-mp4-recorder-decoder.js",decoderWASM:"",isDecoderUseCDN:!1,url:"",rotate:0,mirrorRotate:"none",aspectRatio:"default",playbackConfig:{playList:[],fps:"",showControl:!0,controlType:"normal",duration:0,startTime:"",showRateBtn:!1,rateConfig:[],showPrecision:"",showPrecisionBtn:!0,isCacheBeforeDecodeForFpsRender:!1,uiUsePlaybackPause:!1,isPlaybackPauseClearCache:!0,isUseFpsRender:!1,isUseLocalCalculateTime:!1,localOneFrameTimestamp:40,supportWheel:!1,useWCS:!1,useMSE:!1},qualityConfig:[],defaultStreamQuality:"",scaleConfig:["拉伸","缩放","正常"],forceNoOffscreen:!0,hiddenAutoPause:!1,protocol:_,demuxType:"flv",useWasm:!1,useMSE:!1,useWCS:!1,useSIMD:!0,useMThreading:!1,wcsUseVideoRender:!0,wcsUseWebgl2Render:!0,wasmUseVideoRender:!0,mseUseCanvasRender:!1,hlsUseCanvasRender:!1,webrtcUseCanvasRender:!1,useOffscreen:!1,useWebGPU:!1,mseDecodeErrorReplay:!0,wcsDecodeErrorReplay:!0,wasmDecodeErrorReplay:!0,simdDecodeErrorReplay:!0,simdDecodeErrorReplayType:"wasm",autoWasm:!0,decoderErrorAutoWasm:!0,hardDecodingNotSupportAutoWasm:!0,webglAlignmentErrorReplay:!0,webglContextLostErrorReplay:!0,openWebglAlignment:!1,syncAudioAndVideo:!1,syncAudioAndVideoDiff:500,playbackDelayTime:1e3,playbackFps:25,playbackForwardMaxRateDecodeIFrame:4,playbackCurrentTimeMove:!0,useVideoRender:!0,useCanvasRender:!1,networkDelayTimeoutReplay:!1,recordType:w,checkFirstIFrame:!0,nakedFlowFps:25,audioEngine:null,isShowRecordingUI:!0,isShowZoomingUI:!0,useFaceDetector:!1,useObjectDetector:!1,useImageDetector:!1,useOcclusionDetector:!1,ptzPositionConfig:{},ptzShowType:"vertical",ptzClickType:"click",ptzStopEmitDelay:.3,ptzZoomShow:!1,ptzApertureShow:!1,ptzFocusShow:!1,ptzMoreArrowShow:!1,ptzCruiseShow:!1,ptzFogShow:!1,ptzWiperShow:!1,ptzSupportDraggable:!1,weiXinInAndroidAudioBufferSize:4800,isM7sCrypto:!1,m7sCryptoAudio:!1,isSm4Crypto:!1,isXorCrypto:!1,sm4CryptoKey:"",m7sCryptoKey:"",xorCryptoKey:"",cryptoKey:"",cryptoIV:"",cryptoKeyUrl:"",autoResize:!1,useWebFullScreen:!1,ptsMaxDiff:3600,aiFaceDetectLevel:2,aiFaceDetectWidth:240,aiFaceDetectShowRect:!0,aiFaceDetectInterval:1e3,aiFaceDetectRectConfig:{},aiObjectDetectLevel:2,aiObjectDetectWidth:240,aiObjectDetectShowRect:!0,aiObjectDetectInterval:1e3,aiObjectDetectRectConfig:{},aiOcclusionDetectInterval:1e3,aiImageDetectDrop:!1,aiImageDetectActive:!1,videoRenderSupportScale:!0,mediaSourceTsIsMaxDiffReplay:!0,controlHtml:"",isH265:!1,isWebrtcH265:!1,supportLockScreenPlayAudio:!0,supportHls265:!1,isEmitSEI:!1,pauseAndNextPlayUseLastFrameShow:!1,demuxUseWorker:!0,playFailedAndReplay:!0,showMessageConfig:{webglAlignmentError:"Webgl 渲染失败",webglContextLostError:"webgl 上下文丢失",mediaSourceH265NotSupport:"不支持硬解码H265",mediaSourceFull:"缓冲区已满",mediaSourceAppendBufferError:"初始化解码器失败",mseSourceBufferError:"解码失败",mseAddSourceBufferError:"初始化解码器失败",mediaSourceDecoderConfigurationError:"初始化解码器失败",mediaSourceTsIsMaxDiff:"流异常",mseWidthOrHeightChange:"流异常",mediaSourceAudioG711NotSupport:"硬解码不支持G711a/u音频格式",mediaSourceUseCanvasRenderPlayFailed:"MediaSource解码使用canvas渲染失败",webcodecsH265NotSupport:"不支持硬解码H265",webcodecsUnsupportedConfigurationError:"初始化解码器失败",webcodecsDecodeConfigureError:"初始化解码器失败",webcodecsDecodeError:"解码失败",wcsWidthOrHeightChange:"解码失败",wasmDecodeError:"解码失败",simdDecodeError:"解码失败",wasmWidthOrHeightChange:"流异常",wasmUseVideoRenderError:"video自动渲染失败",videoElementPlayingFailed:"video自动渲染失败",simdH264DecodeVideoWidthIsTooLarge:"不支持该分辨率的视频",networkDelayTimeout:"网络超时重播失败",fetchError:"请求失败",streamEnd:"请求结束",websocketError:"请求失败",webrtcError:"请求失败",hlsError:"请求失败",decoderWorkerInitError:"初始化worker失败",videoElementPlayingFailedForWebrtc:"video自动渲染失败",videoInfoError:"解析视频分辨率失败",webrtcStreamH265:"webrtc不支持H265",delayTimeout:"播放超时重播失败",loadingTimeout:"加载超时重播失败",loadingTimeoutRetryEnd:"加载超时重播失败",delayTimeoutRetryEnd:"播放超时重播失败"},videoElementPlayingFailedReplay:!0,mp4RecordUseWasm:!0,mseAutoCleanupSourceBuffer:!0,mseAutoCleanupMaxBackwardDuration:30,mseAutoCleanupMinBackwardDuration:10,widthOrHeightChangeReplay:!0,simdH264DecodeVideoWidthIsTooLargeReplay:!0,mediaSourceAudioG711NotSupportReplay:!0,mediaSourceAudioInitTimeoutReplay:!0,mediaSourceUseCanvasRenderPlayFailedReplay:!0,mediaSourceUseCanvasRenderPlayFailedReplayType:"video",widthOrHeightChangeReplayDelayTime:0,ghostWatermarkConfig:{on:5,off:5,content:"",fontSize:12,color:"white",opacity:.15,speed:.2},dynamicWatermarkConfig:{content:"",speed:.2,fontSize:12,color:"white",opacity:.15},isDropSameTimestampGop:!1,mseDecodeAudio:!1,nakedFlowH265DemuxUseNew:!0,extendDomConfig:{html:"",showBeforePlay:!1,showAfterLoading:!0},disableContextmenu:!1,mseDecoderUseWorker:!1,openMemoryLog:!1,mainThreadFetchUseWorker:!0,playFailedAndPausedShowPlayBtn:!0,mseCorrectionTimestamp:!0,flvDemuxBufferSizeTooLargeReplay:!1,flvDemuxBufferSizeTooLargeEmitFailed:!1,flvDemuxBufferSizeMaxLarge:1048576,isCheckInView:!1,hiddenControl:!1},k="init",T="initVideo",C="render",D="playAudio",P="initAudio",F="audioCode",I="audioNalu",L="audioAACSequenceHeader",M="videoCode",R="videoCodec",z="videoNalu",N="videoPayload",O="audioPayload",G="workerFetch",$="iframeIntervalTs",H="isDropping",V="playbackStreamVideoFps",W="wasmWidthOrHeightChange",j="simdDecodeError",q="simdH264DecodeVideoWidthIsTooLarge",Y="closeEnd",K="tempStream",X="videoSEI",Z="flvScriptData",J="aacSequenceHeader",Q="videoSequenceHeader",ee="flvBufferData",te="checkFirstIFrame",re="mseHandle",ie="mseFirstRenderTime",ne="mseError",oe=1,se=2,ae=8,de=9,le=18,ue="init",ce="decode",fe="audioDecode",he="videoDecode",pe="close",me="updateConfig",_e="clearBuffer",ge="fetchStream",ye="sendWsMessage",ve="mseUpdateVideoTimestamp",be="delayTimeout",we="loadingTimeout",Se="streamEnd",Ee="streamRate",Ae="streamAbps",xe="streamVbps",Be="streamDts",Ue="streamSuccess",ke="streamStats",Te="networkDelayTimeout",Ce="websocketOpen",De={playError:"playIsNotPauseOrUrlIsNull",fetchError:"fetchError",websocketError:"websocketError",webcodecsH265NotSupport:"webcodecsH265NotSupport",webcodecsDecodeError:"webcodecsDecodeError",webcodecsUnsupportedConfigurationError:"webcodecsUnsupportedConfigurationError",webcodecsDecodeConfigureError:"webcodecsDecodeConfigureError",mediaSourceH265NotSupport:"mediaSourceH265NotSupport",mediaSourceAudioG711NotSupport:"mediaSourceAudioG711NotSupport",mediaSourceAudioInitTimeout:"mediaSourceAudioInitTimeout",mediaSourceAudioNoDataTimeout:"mediaSourceAudioNoDataTimeout",mediaSourceDecoderConfigurationError:"mediaSourceDecoderConfigurationError",mediaSourceFull:"mseSourceBufferFull",mseSourceBufferError:"mseSourceBufferError",mseAddSourceBufferError:"mseAddSourceBufferError",mediaSourceAppendBufferError:"mediaSourceAppendBufferError",mediaSourceTsIsMaxDiff:"mediaSourceTsIsMaxDiff",mediaSourceUseCanvasRenderPlayFailed:"mediaSourceUseCanvasRenderPlayFailed",mediaSourceBufferedIsZeroError:"mediaSourceBufferedIsZeroError",wasmDecodeError:"wasmDecodeError",wasmUseVideoRenderError:"wasmUseVideoRenderError",hlsError:"hlsError",webrtcError:"webrtcError",webrtcClosed:"webrtcClosed",webrtcIceCandidateError:"webrtcIceCandidateError",webglAlignmentError:"webglAlignmentError",wasmWidthOrHeightChange:"wasmWidthOrHeightChange",mseWidthOrHeightChange:"mseWidthOrHeightChange",wcsWidthOrHeightChange:"wcsWidthOrHeightChange",widthOrHeightChange:"widthOrHeightChange",tallWebsocketClosedByError:"tallWebsocketClosedByError",flvDemuxBufferSizeTooLarge:"flvDemuxBufferSizeTooLarge",wasmDecodeVideoNoResponseError:"wasmDecodeVideoNoResponseError",audioChannelError:"audioChannelError",simdH264DecodeVideoWidthIsTooLarge:"simdH264DecodeVideoWidthIsTooLarge",simdDecodeError:"simdDecodeError",webglContextLostError:"webglContextLostError",videoElementPlayingFailed:"videoElementPlayingFailed",videoElementPlayingFailedForWebrtc:"videoElementPlayingFailedForWebrtc",decoderWorkerInitError:"decoderWorkerInitError",videoInfoError:"videoInfoError",videoCodecIdError:"videoCodecIdError",streamEnd:Se,websocket1006Error:"websocket1006Error",delayTimeout:be,loadingTimeout:we,networkDelayTimeout:Te,aliyunRtcError:"aliyunRtcError",...{talkStreamError:"talkStreamError",talkStreamClose:"talkStreamClose"}},Pe=1,Fe=7,Ie=12,Le=99,Me="H264(AVC)",Re="H265(HEVC)",ze=10,Ne=7,Oe=8,Ge=2,$e=7,He=8,Ve=5,We=1,je=5,qe=6,Ye=7,Ke=8,Xe=14,Ze=19,Je=20,Qe=21,et=32,tt=32,rt=33,it=33,nt=34,ot=34,st=39,at=39,dt=40,lt="key",ut="delta",ct='video/mp4; codecs="avc1.64002A"',ft='video/mp4; codecs="hev1.1.6.L123.b0"',ht='video/mp4;codecs="hev1.1.6.L120.90"',pt='video/mp4;codecs="hev1.2.4.L120.90"',mt='video/mp4;codecs="hev1.3.E.L120.90"',_t='video/mp4;codecs="hev1.4.10.L120.90"',gt="ended",yt="open",vt="closed",bt="sourceclose",wt="sourceopen",St="sourceended",Et="avc",At="hevc",xt="AbortError",Bt=0,Ut=1,kt=1,Tt="idle",Ct="buffering",Dt="complete",Pt=1,Ft=2,It=128,Lt=0,Mt=1,Rt=3,zt=16;var Nt="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function Ot(e,t){return e(t={exports:{}},t.exports),t.exports}Ot((function(e){!function(){var t="undefined"!=typeof window&&void 0!==window.document?window.document:{},r=e.exports,i=function(){for(var e,r=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],i=0,n=r.length,o={};i<n;i++)if((e=r[i])&&e[1]in t){for(i=0;i<e.length;i++)o[r[0][i]]=e[i];return o}return!1}(),n={change:i.fullscreenchange,error:i.fullscreenerror},o={request:function(e,r){return new Promise(function(n,o){var s=function(){this.off("change",s),n()}.bind(this);this.on("change",s);var a=(e=e||t.documentElement)[i.requestFullscreen](r);a instanceof Promise&&a.then(s).catch(o)}.bind(this))},exit:function(){return new Promise(function(e,r){if(this.isFullscreen){var n=function(){this.off("change",n),e()}.bind(this);this.on("change",n);var o=t[i.exitFullscreen]();o instanceof Promise&&o.then(n).catch(r)}else e()}.bind(this))},toggle:function(e,t){return this.isFullscreen?this.exit():this.request(e,t)},onchange:function(e){this.on("change",e)},onerror:function(e){this.on("error",e)},on:function(e,r){var i=n[e];i&&t.addEventListener(i,r,!1)},off:function(e,r){var i=n[e];i&&t.removeEventListener(i,r,!1)},raw:i};i?(Object.defineProperties(o,{isFullscreen:{get:function(){return Boolean(t[i.fullscreenElement])}},element:{enumerable:!0,get:function(){return t[i.fullscreenElement]}},isEnabled:{enumerable:!0,get:function(){return Boolean(t[i.fullscreenEnabled])}}}),r?e.exports=o:window.screenfull=o):r?e.exports={isEnabled:!1}:window.screenfull={isEnabled:!1}}()})).isEnabled;class Gt{constructor(e){this._buffer=e,this._buffer_index=0,this._total_bytes=e.byteLength,this._total_bits=8*e.byteLength,this._current_word=0,this._current_word_bits_left=0}destroy(){this._buffer=null}_fillCurrentWord(){let e=this._total_bytes-this._buffer_index;if(e<=0)return void console.error("ExpGolomb: _fillCurrentWord() but no bytes available",this._total_bytes,this._buffer_index);let t=Math.min(4,e),r=new Uint8Array(4);r.set(this._buffer.subarray(this._buffer_index,this._buffer_index+t)),this._current_word=new DataView(r.buffer).getUint32(0,!1),this._buffer_index+=t,this._current_word_bits_left=8*t}readBits(e){if(e>32&&console.error("ExpGolomb: readBits() bits exceeded max 32bits!"),e<=this._current_word_bits_left){let t=this._current_word>>>32-e;return this._current_word<<=e,this._current_word_bits_left-=e,t}let t=this._current_word_bits_left?this._current_word:0;t>>>=32-this._current_word_bits_left;let r=e-this._current_word_bits_left;this._fillCurrentWord();let i=Math.min(r,this._current_word_bits_left),n=this._current_word>>>32-i;return this._current_word<<=i,this._current_word_bits_left-=i,t=t<<i|n,t}readBool(){return 1===this.readBits(1)}readByte(){return this.readBits(8)}_skipLeadingZero(){let e;for(e=0;e<this._current_word_bits_left;e++)if(0!=(this._current_word&2147483648>>>e))return this._current_word<<=e,this._current_word_bits_left-=e,e;return this._fillCurrentWord(),e+this._skipLeadingZero()}readUEG(){let e=this._skipLeadingZero();return this.readBits(e+1)-1}readSEG(){let e=this.readUEG();return 1&e?e+1>>>1:-1*(e>>>1)}}const $t=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350,-1,-1,-1],Ht=$t,Vt=$t;function Wt(e){let{profile:t,sampleRate:r,channel:i}=e;return new Uint8Array([175,0,t<<3|(14&r)>>1,(1&r)<<7|i<<3])}function jt(e){return qt(e)&&e[1]===Bt}function qt(e){return e[0]>>4===ze}const Yt=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];function Kt(e){let t=new Uint8Array(e),r=null,i=0,n=0,o=0,s=null;if(i=n=t[0]>>>3,o=(7&t[0])<<1|t[1]>>>7,o<0||o>=Yt.length)return void console.error("Flv: AAC invalid sampling frequency index!");let a=Yt[o],d=(120&t[1])>>>3;if(d<0||d>=8)return void console.log("Flv: AAC invalid channel configuration");5===i&&(s=(7&t[1])<<1|t[2]>>>7,t[2]);let l=self.navigator.userAgent.toLowerCase();return-1!==l.indexOf("firefox")?o>=6?(i=5,r=new Array(4),s=o-3):(i=2,r=new Array(2),s=o):-1!==l.indexOf("android")?(i=2,r=new Array(2),s=o):(i=5,s=o,r=new Array(4),o>=6?s=o-3:1===d&&(i=2,r=new Array(2),s=o)),r[0]=i<<3,r[0]|=(15&o)>>>1,r[1]=(15&o)<<7,r[1]|=(15&d)<<3,5===i&&(r[1]|=(15&s)>>>1,r[2]=(1&s)<<7,r[2]|=8,r[3]=0),{audioType:"aac",config:r,sampleRate:a,channelCount:d,objectType:i,codec:"mp4a.40."+i,originalCodec:"mp4a.40."+n}}class Xt{constructor(e){this.data_=e,this.eof_flag_=!1,this.current_syncword_offset_=this.findNextSyncwordOffset(0),this.eof_flag_&&console.error("Could not found ADTS syncword until payload end")}findNextSyncwordOffset(e){let t=e,r=this.data_;for(;;){if(t+7>=r.byteLength)return this.eof_flag_=!0,r.byteLength;if(4095===(r[t+0]<<8|r[t+1])>>>4)return t;t++}}readNextAACFrame(){let e=this.data_,t=null;for(;null==t&&!this.eof_flag_;){let r=this.current_syncword_offset_,i=(8&e[r+1])>>>3,n=(6&e[r+1])>>>1,o=1&e[r+1],s=(192&e[r+2])>>>6,a=(60&e[r+2])>>>2,d=(1&e[r+2])<<2|(192&e[r+3])>>>6,l=(3&e[r+3])<<11|e[r+4]<<3|(224&e[r+5])>>>5;if(e[r+6],r+l>this.data_.byteLength){this.eof_flag_=!0,this.has_last_incomplete_data=!0;break}let u=1===o?7:9,c=l-u;r+=u;let f=this.findNextSyncwordOffset(r+c);if(this.current_syncword_offset_=f,0!==i&&1!==i||0!==n)continue;let h=e.subarray(r,r+c);t={},t.audio_object_type=s+1,t.sampling_freq_index=a,t.sampling_frequency=Ht[a],t.channel_config=d,t.data=h}return t}hasIncompleteData(){return this.has_last_incomplete_data}getIncompleteData(){return this.has_last_incomplete_data?this.data_.subarray(this.current_syncword_offset_):null}}class Zt{constructor(e){this.data_=e,this.eof_flag_=!1,this.current_syncword_offset_=this.findNextSyncwordOffset(0),this.eof_flag_&&console.error("Could not found ADTS syncword until payload end")}findNextSyncwordOffset(e){let t=e,r=this.data_;for(;;){if(t+1>=r.byteLength)return this.eof_flag_=!0,r.byteLength;if(695===(r[t+0]<<3|r[t+1]>>>5))return t;t++}}getLATMValue(e){let t=e.readBits(2),r=0;for(let i=0;i<=t;i++)r<<=8,r|=e.readByte();return r}readNextAACFrame(e){let t=this.data_,r=null;for(;null==r&&!this.eof_flag_;){let i=this.current_syncword_offset_,n=(31&t[i+1])<<8|t[i+2];if(i+3+n>=this.data_.byteLength){this.eof_flag_=!0,this.has_last_incomplete_data=!0;break}let o=new Gt(t.subarray(i+3,i+3+n)),s=null;if(o.readBool()){if(null==e){console.warn("StreamMuxConfig Missing"),this.current_syncword_offset_=this.findNextSyncwordOffset(i+3+n),o.destroy();continue}s=e}else{let e=o.readBool();if(e&&o.readBool()){console.error("audioMuxVersionA is Not Supported"),o.destroy();break}if(e&&this.getLATMValue(o),!o.readBool()){console.error("allStreamsSameTimeFraming zero is Not Supported"),o.destroy();break}if(0!==o.readBits(6)){console.error("more than 2 numSubFrames Not Supported"),o.destroy();break}if(0!==o.readBits(4)){console.error("more than 2 numProgram Not Supported"),o.destroy();break}if(0!==o.readBits(3)){console.error("more than 2 numLayer Not Supported"),o.destroy();break}let t=e?this.getLATMValue(o):0,r=o.readBits(5);t-=5;let i=o.readBits(4);t-=4;let n=o.readBits(4);t-=4,o.readBits(3),t-=3,t>0&&o.readBits(t);let a=o.readBits(3);if(0!==a){console.error(`frameLengthType = ${a}. Only frameLengthType = 0 Supported`),o.destroy();break}o.readByte();let d=o.readBool();if(d)if(e)this.getLATMValue(o);else{let e=0;for(;;){e<<=8;let t=o.readBool();if(e+=o.readByte(),!t)break}console.log(e)}o.readBool()&&o.readByte(),s={},s.audio_object_type=r,s.sampling_freq_index=i,s.sampling_frequency=Ht[s.sampling_freq_index],s.channel_config=n,s.other_data_present=d}let a=0;for(;;){let e=o.readByte();if(a+=e,255!==e)break}let d=new Uint8Array(a);for(let e=0;e<a;e++)d[e]=o.readByte();r={},r.audio_object_type=s.audio_object_type,r.sampling_freq_index=s.sampling_freq_index,r.sampling_frequency=Ht[s.sampling_freq_index],r.channel_config=s.channel_config,r.other_data_present=s.other_data_present,r.data=d,this.current_syncword_offset_=this.findNextSyncwordOffset(i+3+n)}return r}hasIncompleteData(){return this.has_last_incomplete_data}getIncompleteData(){return this.has_last_incomplete_data?this.data_.subarray(this.current_syncword_offset_):null}}function Jt(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return(e[t]<<24>>>0)+(e[t+1]<<16)+(e[t+2]<<8)+(e[t+3]||0)}function Qt(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:4;if(e.length<4)return;const r=e.length,i=[];let n,o=0;for(;o+t<r;)if(n=Jt(e,o),3===t&&(n>>>=8),o+=t,n){if(o+n>r)break;i.push(e.subarray(o,o+n)),o+=n}return i}function er(e){const t=e.byteLength,r=new Uint8Array(4);r[0]=t>>>24&255,r[1]=t>>>16&255,r[2]=t>>>8&255,r[3]=255&t;const i=new Uint8Array(t+4);return i.set(r,0),i.set(e,4),i}function tr(e,t){let r=null;return t?e.length>=28&&(r=1+(3&e[26])):e.length>=12&&(r=1+(3&e[9])),r}function rr(){return(new Date).getTime()}function ir(e,t,r){return Math.max(Math.min(e,Math.max(t,r)),Math.min(t,r))}function nr(){return performance&&"function"==typeof performance.now?performance.now():Date.now()}function or(e){let t=0,r=nr();return i=>{if(n=i,"[object Number]"!==Object.prototype.toString.call(n))return;var n;t+=i;const o=nr(),s=o-r;s>=1e3&&(e(t/s*1e3),r=o,t=0)}}function sr(){const e=window.navigator.userAgent.toLowerCase();return/firefox/i.test(e)}function ar(){let e=!1;return"MediaSource"in self&&(self.MediaSource.isTypeSupported(ft)||self.MediaSource.isTypeSupported(ht)||self.MediaSource.isTypeSupported(pt)||self.MediaSource.isTypeSupported(mt)||self.MediaSource.isTypeSupported(_t))&&(e=!0),e}function dr(e){return null==e}function lr(e){return!dr(e)}function ur(e){return"function"==typeof e}function cr(e){let t=null,r=31&e[0];return r!==$e&&r!==He||(t=Me),t||(r=(126&e[0])>>1,r!==et&&r!==rt&&r!==nt||(t=Re)),t}function fr(){return"undefined"!=typeof WritableStream}function hr(e){e.close()}function pr(e,t){t&&(e=e.filter((e=>e.type&&e.type===t)));let r=e[0],i=null,n=1;if(e.length>0){let t=e[1];t&&t.ts-r.ts>1e5&&(r=t,n=2)}if(r)for(let o=n;o<e.length;o++){let n=e[o];if(t&&n.type&&n.type!==t&&(n=null),n){if(n.ts-r.ts>=1e3){e[o-1].ts-r.ts<1e3&&(i=o+1)}}}return i}function mr(e){return e.ok&&e.status>=200&&e.status<=299}function _r(){return function(e){let t="";if("object"==typeof e)try{t=JSON.stringify(e),t=JSON.parse(t)}catch(r){t=e}else t=e;return t}(U)}function gr(e){return e[0]>>4===Ut&&e[1]===Bt}function yr(e){return!0===e||"true"===e}function vr(e){return!0!==e&&"true"!==e}function br(){return!!(self.Worker&&self.MediaSource&&"canConstructInDedicatedWorker"in self.MediaSource&&!0===self.MediaSource.canConstructInDedicatedWorker)}(()=>{try{if("object"==typeof WebAssembly&&"function"==typeof WebAssembly.instantiate){const e=new WebAssembly.Module(Uint8Array.of(0,97,115,109,1,0,0,0));if(e instanceof WebAssembly.Module)return new WebAssembly.Instance(e)instanceof WebAssembly.Instance}}catch(e){}})();var wr=function(e,t,r,i){return new(r||(r=Promise))((function(n,o){function s(e){try{d(i.next(e))}catch(e){o(e)}}function a(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(s,a)}d((i=i.apply(e,t||[])).next())}))};const Sr=Symbol(32),Er=Symbol(16),Ar=Symbol(8);class xr{constructor(e){this.g=e,this.consumed=0,e&&(this.need=e.next().value)}setG(e){this.g=e,this.demand(e.next().value,!0)}consume(){this.buffer&&this.consumed&&(this.buffer.copyWithin(0,this.consumed),this.buffer=this.buffer.subarray(0,this.buffer.length-this.consumed),this.consumed=0)}demand(e,t){return t&&this.consume(),this.need=e,this.flush()}read(e){return wr(this,void 0,void 0,(function*(){return this.lastReadPromise&&(yield this.lastReadPromise),this.lastReadPromise=new Promise(((t,r)=>{var i;this.reject=r,this.resolve=e=>{delete this.lastReadPromise,delete this.resolve,delete this.need,t(e)};this.demand(e,!0)||null===(i=this.pull)||void 0===i||i.call(this,e)}))}))}readU32(){return this.read(Sr)}readU16(){return this.read(Er)}readU8(){return this.read(Ar)}close(){var e;this.g&&this.g.return(),this.buffer&&this.buffer.subarray(0,0),null===(e=this.reject)||void 0===e||e.call(this,new Error("EOF")),delete this.lastReadPromise}flush(){if(!this.buffer||!this.need)return;let e=null;const t=this.buffer.subarray(this.consumed);let r=0;const i=e=>t.length<(r=e);if("number"==typeof this.need){if(i(this.need))return;e=t.subarray(0,r)}else if(this.need===Sr){if(i(4))return;e=t[0]<<24|t[1]<<16|t[2]<<8|t[3]}else if(this.need===Er){if(i(2))return;e=t[0]<<8|t[1]}else if(this.need===Ar){if(i(1))return;e=t[0]}else if("buffer"in this.need){if("byteOffset"in this.need){if(i(this.need.byteLength-this.need.byteOffset))return;new Uint8Array(this.need.buffer,this.need.byteOffset).set(t.subarray(0,r)),e=this.need}else if(this.g)return void this.g.throw(new Error("Unsupported type"))}else{if(i(this.need.byteLength))return;new Uint8Array(this.need).set(t.subarray(0,r)),e=this.need}return this.consumed+=r,this.g?this.demand(this.g.next(e).value,!0):this.resolve&&this.resolve(e),e}write(e){if(e instanceof Uint8Array?this.malloc(e.length).set(e):"buffer"in e?this.malloc(e.byteLength).set(new Uint8Array(e.buffer,e.byteOffset,e.byteLength)):this.malloc(e.byteLength).set(new Uint8Array(e)),!this.g&&!this.resolve)return new Promise((e=>this.pull=e));this.flush()}writeU32(e){this.malloc(4).set([e>>24&255,e>>16&255,e>>8&255,255&e]),this.flush()}writeU16(e){this.malloc(2).set([e>>8&255,255&e]),this.flush()}writeU8(e){this.malloc(1)[0]=e,this.flush()}malloc(e){if(this.buffer){const t=this.buffer.length,r=t+e;if(r<=this.buffer.buffer.byteLength-this.buffer.byteOffset)this.buffer=new Uint8Array(this.buffer.buffer,this.buffer.byteOffset,r);else{const e=new Uint8Array(r);e.set(this.buffer),this.buffer=e}return this.buffer.subarray(t,r)}return this.buffer=new Uint8Array(e),this.buffer}}xr.U32=Sr,xr.U16=Er,xr.U8=Ar;class Br{constructor(e){this.log=function(t){if(e._opt.debug&&e._opt.debugLevel==S){const o=e._opt.debugUuid?`[${e._opt.debugUuid}]`:"";for(var r=arguments.length,i=new Array(r>1?r-1:0),n=1;n<r;n++)i[n-1]=arguments[n];console.log(`JbPro${o}[✅✅✅][${t}]`,...i)}},this.warn=function(t){if(e._opt.debug&&(e._opt.debugLevel==S||e._opt.debugLevel==E)){const o=e._opt.debugUuid?`[${e._opt.debugUuid}]`:"";for(var r=arguments.length,i=new Array(r>1?r-1:0),n=1;n<r;n++)i[n-1]=arguments[n];console.log(`JbPro${o}[❗❗❗][${t}]`,...i)}},this.error=function(t){const r=e._opt.debugUuid?`[${e._opt.debugUuid}]`:"";for(var i=arguments.length,n=new Array(i>1?i-1:0),o=1;o<i;o++)n[o-1]=arguments[o];console.error(`JbPro${r}[❌❌❌][${t}]`,...n)}}}class Ur{static _ebsp2rbsp(e){let t=e,r=t.byteLength,i=new Uint8Array(r),n=0;for(let e=0;e<r;e++)e>=2&&3===t[e]&&0===t[e-1]&&0===t[e-2]||(i[n]=t[e],n++);return new Uint8Array(i.buffer,0,n)}static parseSPS(e){let t=Ur._ebsp2rbsp(e),r=new Gt(t);r.readByte();let i=r.readByte();r.readByte();let n=r.readByte();r.readUEG();let o=Ur.getProfileString(i),s=Ur.getLevelString(n),a=1,d=420,l=[0,420,422,444],u=8;if((100===i||110===i||122===i||244===i||44===i||83===i||86===i||118===i||128===i||138===i||144===i)&&(a=r.readUEG(),3===a&&r.readBits(1),a<=3&&(d=l[a]),u=r.readUEG()+8,r.readUEG(),r.readBits(1),r.readBool())){let e=3!==a?8:12;for(let t=0;t<e;t++)r.readBool()&&(t<6?Ur._skipScalingList(r,16):Ur._skipScalingList(r,64))}r.readUEG();let c=r.readUEG();if(0===c)r.readUEG();else if(1===c){r.readBits(1),r.readSEG(),r.readSEG();let e=r.readUEG();for(let t=0;t<e;t++)r.readSEG()}let f=r.readUEG();r.readBits(1);let h=r.readUEG(),p=r.readUEG(),m=r.readBits(1);0===m&&r.readBits(1),r.readBits(1);let _=0,g=0,y=0,v=0;r.readBool()&&(_=r.readUEG(),g=r.readUEG(),y=r.readUEG(),v=r.readUEG());let b=1,w=1,S=0,E=!0,A=0,x=0;if(r.readBool()){if(r.readBool()){let e=r.readByte(),t=[1,12,10,16,40,24,20,32,80,18,15,64,160,4,3,2],i=[1,11,11,11,33,11,11,11,33,11,11,33,99,3,2,1];e>0&&e<16?(b=t[e-1],w=i[e-1]):255===e&&(b=r.readByte()<<8|r.readByte(),w=r.readByte()<<8|r.readByte())}if(r.readBool()&&r.readBool(),r.readBool()&&(r.readBits(4),r.readBool()&&r.readBits(24)),r.readBool()&&(r.readUEG(),r.readUEG()),r.readBool()){let e=r.readBits(32),t=r.readBits(32);E=r.readBool(),A=t,x=2*e,S=A/x}}let B=1;1===b&&1===w||(B=b/w);let U=0,k=0;if(0===a)U=1,k=2-m;else{U=3===a?1:2,k=(1===a?2:1)*(2-m)}let T=16*(h+1),C=16*(p+1)*(2-m);T-=(_+g)*U,C-=(y+v)*k;let D=Math.ceil(T*B);return r.destroy(),r=null,{profile_string:o,level_string:s,bit_depth:u,ref_frames:f,chroma_format:d,chroma_format_string:Ur.getChromaFormatString(d),frame_rate:{fixed:E,fps:S,fps_den:x,fps_num:A},sar_ratio:{width:b,height:w},codec_size:{width:T,height:C},present_size:{width:D,height:C}}}static parseSPS$2(e){let t=e.subarray(1,4),r="avc1.";for(let e=0;e<3;e++){let i=t[e].toString(16);i.length<2&&(i="0"+i),r+=i}let i=Ur._ebsp2rbsp(e),n=new Gt(i);n.readByte();let o=n.readByte();n.readByte();let s=n.readByte();n.readUEG();let a=Ur.getProfileString(o),d=Ur.getLevelString(s),l=1,u=420,c=[0,420,422,444],f=8,h=8;if((100===o||110===o||122===o||244===o||44===o||83===o||86===o||118===o||128===o||138===o||144===o)&&(l=n.readUEG(),3===l&&n.readBits(1),l<=3&&(u=c[l]),f=n.readUEG()+8,h=n.readUEG()+8,n.readBits(1),n.readBool())){let e=3!==l?8:12;for(let t=0;t<e;t++)n.readBool()&&(t<6?Ur._skipScalingList(n,16):Ur._skipScalingList(n,64))}n.readUEG();let p=n.readUEG();if(0===p)n.readUEG();else if(1===p){n.readBits(1),n.readSEG(),n.readSEG();let e=n.readUEG();for(let t=0;t<e;t++)n.readSEG()}let m=n.readUEG();n.readBits(1);let _=n.readUEG(),g=n.readUEG(),y=n.readBits(1);0===y&&n.readBits(1),n.readBits(1);let v=0,b=0,w=0,S=0;n.readBool()&&(v=n.readUEG(),b=n.readUEG(),w=n.readUEG(),S=n.readUEG());let E=1,A=1,x=0,B=!0,U=0,k=0;if(n.readBool()){if(n.readBool()){let e=n.readByte(),t=[1,12,10,16,40,24,20,32,80,18,15,64,160,4,3,2],r=[1,11,11,11,33,11,11,11,33,11,11,33,99,3,2,1];e>0&&e<16?(E=t[e-1],A=r[e-1]):255===e&&(E=n.readByte()<<8|n.readByte(),A=n.readByte()<<8|n.readByte())}if(n.readBool()&&n.readBool(),n.readBool()&&(n.readBits(4),n.readBool()&&n.readBits(24)),n.readBool()&&(n.readUEG(),n.readUEG()),n.readBool()){let e=n.readBits(32),t=n.readBits(32);B=n.readBool(),U=t,k=2*e,x=U/k}}let T=1;1===E&&1===A||(T=E/A);let C=0,D=0;if(0===l)C=1,D=2-y;else{C=3===l?1:2,D=(1===l?2:1)*(2-y)}let P=16*(_+1),F=16*(g+1)*(2-y);P-=(v+b)*C,F-=(w+S)*D;let I=Math.ceil(P*T);return n.destroy(),n=null,{codec_mimetype:r,profile_idc:o,level_idc:s,profile_string:a,level_string:d,chroma_format_idc:l,bit_depth:f,bit_depth_luma:f,bit_depth_chroma:h,ref_frames:m,chroma_format:u,chroma_format_string:Ur.getChromaFormatString(u),frame_rate:{fixed:B,fps:x,fps_den:k,fps_num:U},sar_ratio:{width:E,height:A},codec_size:{width:P,height:F},present_size:{width:I,height:F}}}static _skipScalingList(e,t){let r=8,i=8,n=0;for(let o=0;o<t;o++)0!==i&&(n=e.readSEG(),i=(r+n+256)%256),r=0===i?r:i}static getProfileString(e){switch(e){case 66:return"Baseline";case 77:return"Main";case 88:return"Extended";case 100:return"High";case 110:return"High10";case 122:return"High422";case 244:return"High444";default:return"Unknown"}}static getLevelString(e){return(e/10).toFixed(1)}static getChromaFormatString(e){switch(e){case 420:return"4:2:0";case 422:return"4:2:2";case 444:return"4:4:4";default:return"Unknown"}}}class kr{constructor(e){this.buffer=e,this.buflen=e.length,this.bufpos=0,this.bufoff=0,this.iserro=!1}read(e){let t=0,r=0;for(;e;){if(e<0||this.bufpos>=this.buflen)return this.iserro=!0,0;this.iserro=!1,r=this.bufoff+e>8?8-this.bufoff:e,t<<=r,t+=this.buffer[this.bufpos]>>8-this.bufoff-r&255>>8-r,this.bufoff+=r,e-=r,8==this.bufoff&&(this.bufpos++,this.bufoff=0)}return t}look(e){let t=this.bufpos,r=this.bufoff,i=this.read(e);return this.bufpos=t,this.bufoff=r,i}read_golomb(){let e;for(e=0;0===this.read(1)&&!this.iserro;e++);return(1<<e)+this.read(e)-1}}function Tr(e){const t={};let r=function(){let e=new ArrayBuffer(2);return new DataView(e).setInt16(0,256,!0),256===new Int16Array(e)[0]}();const i=new DataView(e.buffer);let n=i.getUint8(0),o=i.getUint8(1);if(i.getUint8(2),i.getUint8(3),1!==n||0===o)return{};const s=1+(3&i.getUint8(4));if(3!==s&&4!==s)return{};let a=31&i.getUint8(5);if(0===a)return{};let d=6;for(let n=0;n<a;n++){let o=i.getUint16(d,!r);if(d+=2,0===o)continue;let s=new Uint8Array(e.buffer,d,o);d+=o;let a=Ur.parseSPS(s);if(0!==n)continue;t.sps=s,t.timescale=1e3,t.codecWidth=a.codec_size.width,t.codecHeight=a.codec_size.height,t.presentWidth=a.present_size.width,t.presentHeight=a.present_size.height,t.profile=a.profile_string,t.level=a.level_string,t.bitDepth=a.bit_depth,t.chromaFormat=a.chroma_format,t.sarRatio=a.sar_ratio,t.frameRate=a.frame_rate,!1!==a.frame_rate.fixed&&0!==a.frame_rate.fps_num&&0!==a.frame_rate.fps_den||(t.frameRate={fixed:!0,fps:25,fps_num:25e3,fps_den:1e3});let l=t.frameRate.fps_den,u=t.frameRate.fps_num;t.refSampleDuration=t.timescale*(l/u);let c=s.subarray(1,4),f="avc1.";for(let e=0;e<3;e++){let t=c[e].toString(16);t.length<2&&(t="0"+t),f+=t}t.codec=f}let l=i.getUint8(d);if(0===l)return{};d++;for(let n=0;n<l;n++){let n=i.getUint16(d,!r);if(d+=2,0===n)continue;let o=new Uint8Array(e.buffer,d,n);d+=n,t.pps=o}if(t.videoType=Et,t.sps){const e=t.sps.byteLength,r=new Uint8Array([e>>>24&255,e>>>16&255,e>>>8&255,255&e]),i=new Uint8Array(e+4);i.set(r,0),i.set(t.sps,4),t.sps=i}if(t.pps){const e=t.pps.byteLength,r=new Uint8Array([e>>>24&255,e>>>16&255,e>>>8&255,255&e]),i=new Uint8Array(e+4);i.set(r,0),i.set(t.pps,4),t.pps=i}return t}function Cr(e){let{sps:t,pps:r}=e;const i=[23,0,0,0,0,1,66,0,30,255];i[0]=23,i[6]=t[1],i[7]=t[2],i[8]=t[3],i[10]=225,i[11]=t.byteLength>>8&255,i[12]=255&t.byteLength,i.push(...t,1,r.byteLength>>8&255,255&r.byteLength,...r);return new Uint8Array(i)}function Dr(e){let{sps:t,pps:r}=e,i=8+t.byteLength+1+2+r.byteLength,n=!1;const o=Ur.parseSPS$2(t);66!==t[3]&&77!==t[3]&&88!==t[3]&&(n=!0,i+=4);let s=new Uint8Array(i);s[0]=1,s[1]=t[1],s[2]=t[2],s[3]=t[3],s[4]=255,s[5]=225;let a=t.byteLength;s[6]=a>>>8,s[7]=255&a;let d=8;s.set(t,8),d+=a,s[d]=1;let l=r.byteLength;s[d+1]=l>>>8,s[d+2]=255&l,s.set(r,d+3),d+=3+l,n&&(s[d]=252|o.chroma_format_idc,s[d+1]=248|o.bit_depth_luma-8,s[d+2]=248|o.bit_depth_chroma-8,s[d+3]=0,d+=4);const u=[23,0,0,0,0],c=new Uint8Array(u.length+s.byteLength);return c.set(u,0),c.set(s,u.length),c}function Pr(e,t){let r=[];r[0]=t?23:39,r[1]=1,r[2]=0,r[3]=0,r[4]=0,r[5]=e.byteLength>>24&255,r[6]=e.byteLength>>16&255,r[7]=e.byteLength>>8&255,r[8]=255&e.byteLength;const i=new Uint8Array(r.length+e.byteLength);return i.set(r,0),i.set(e,r.length),i}function Fr(e,t){let r=[];r[0]=t?23:39,r[1]=1,r[2]=0,r[3]=0,r[4]=0;const i=new Uint8Array(r.length+e.byteLength);return i.set(r,0),i.set(e,r.length),i}function Ir(e){return 31&e[0]}function Lr(e){return e===qe}function Mr(e){return!function(e){return e===$e||e===He}(e)&&!Lr(e)}function Rr(e){return e===Ve}function zr(e){if(0===e.length)return!1;const t=Ir(e[0]);for(let r=1;r<e.length;r++)if(t!==Ir(e[r]))return!1;return!0}class Nr{constructor(e){this.data=e,this.eofFlag=!1,this.currentStartcodeOffset=this.findNextStartCodeOffset(0),this.eofFlag&&console.error("Could not find H264 startcode until payload end!")}findNextStartCodeOffset(e){let t=e,r=this.data;for(;;){if(t+3>=r.byteLength)return this.eofFlag=!0,r.byteLength;let e=r[t+0]<<24|r[t+1]<<16|r[t+2]<<8|r[t+3],i=r[t+0]<<16|r[t+1]<<8|r[t+2];if(1===e||1===i)return t;t++}}readNextNaluPayload(){let e=this.data,t=null;for(;null==t&&!this.eofFlag;){let r=this.currentStartcodeOffset;r+=1===(e[r]<<24|e[r+1]<<16|e[r+2]<<8|e[r+3])?4:3;let i=31&e[r],n=(128&e[r])>>>7,o=this.findNextStartCodeOffset(r);this.currentStartcodeOffset=o,i>=Xe||0===n&&(t={type:i,data:e.subarray(r,o)})}return t}}class Or{constructor(e){let t=e.data.byteLength;this.type=e.type,this.data=new Uint8Array(4+t),new DataView(this.data.buffer).setUint32(0,t),this.data.set(e.data,4)}}const Gr=e=>{let t=e,r=t.byteLength,i=new Uint8Array(r),n=0;for(let e=0;e<r;e++)e>=2&&3===t[e]&&0===t[e-1]&&0===t[e-2]||(i[n]=t[e],n++);return new Uint8Array(i.buffer,0,n)},$r=e=>{switch(e){case 0:return"4:0:0";case 1:return"4:2:0";case 2:return"4:2:2";case 3:return"4:4:4";default:return"Unknown"}};class Hr{static _ebsp2rbsp(e){let t=e,r=t.byteLength,i=new Uint8Array(r),n=0;for(let e=0;e<r;e++)e>=2&&3===t[e]&&0===t[e-1]&&0===t[e-2]||(i[n]=t[e],n++);return new Uint8Array(i.buffer,0,n)}static parseVPS(e){let t=Hr._ebsp2rbsp(e),r=new Gt(t);return r.readByte(),r.readByte(),r.readBits(4),r.readBits(2),r.readBits(6),{num_temporal_layers:r.readBits(3)+1,temporal_id_nested:r.readBool()}}static parseSPS(e){let t=Hr._ebsp2rbsp(e),r=new Gt(t);r.readByte(),r.readByte();let i=0,n=0,o=0,s=0;r.readBits(4);let a=r.readBits(3);r.readBool();let d=r.readBits(2),l=r.readBool(),u=r.readBits(5),c=r.readByte(),f=r.readByte(),h=r.readByte(),p=r.readByte(),m=r.readByte(),_=r.readByte(),g=r.readByte(),y=r.readByte(),v=r.readByte(),b=r.readByte(),w=r.readByte(),S=[],E=[];for(let e=0;e<a;e++)S.push(r.readBool()),E.push(r.readBool());if(a>0)for(let e=a;e<8;e++)r.readBits(2);for(let e=0;e<a;e++)S[e]&&(r.readByte(),r.readByte(),r.readByte(),r.readByte(),r.readByte(),r.readByte(),r.readByte(),r.readByte(),r.readByte(),r.readByte(),r.readByte()),E[e]&&r.readByte();r.readUEG();let A=r.readUEG();3==A&&r.readBits(1);let x=r.readUEG(),B=r.readUEG();r.readBool()&&(i+=r.readUEG(),n+=r.readUEG(),o+=r.readUEG(),s+=r.readUEG());let U=r.readUEG(),k=r.readUEG(),T=r.readUEG();for(let e=r.readBool()?0:a;e<=a;e++)r.readUEG(),r.readUEG(),r.readUEG();if(r.readUEG(),r.readUEG(),r.readUEG(),r.readUEG(),r.readUEG(),r.readUEG(),r.readBool()){if(r.readBool())for(let e=0;e<4;e++)for(let t=0;t<(3===e?2:6);t++){if(r.readBool()){let t=Math.min(64,1<<4+(e<<1));e>1&&r.readSEG();for(let e=0;e<t;e++)r.readSEG()}else r.readUEG()}}r.readBool(),r.readBool(),r.readBool()&&(r.readByte(),r.readUEG(),r.readUEG(),r.readBool());let C=r.readUEG(),D=0;for(let e=0;e<C;e++){let t=!1;if(0!==e&&(t=r.readBool()),t){e===C&&r.readUEG(),r.readBool(),r.readUEG();let t=0;for(let e=0;e<=D;e++){let e=r.readBool(),i=!1;e||(i=r.readBool()),(e||i)&&t++}D=t}else{let e=r.readUEG(),t=r.readUEG();D=e+t;for(let t=0;t<e;t++)r.readUEG(),r.readBool();for(let e=0;e<t;e++)r.readUEG(),r.readBool()}}if(r.readBool()){let e=r.readUEG();for(let t=0;t<e;t++){for(let e=0;e<T+4;e++)r.readBits(1);r.readBits(1)}}let P=!1,F=0,I=1,L=1,M=!1,R=1,z=1;if(r.readBool(),r.readBool(),r.readBool()){if(r.readBool()){let e=r.readByte(),t=[1,12,10,16,40,24,20,32,80,18,15,64,160,4,3,2],i=[1,11,11,11,33,11,11,11,33,11,11,33,99,3,2,1];e>0&&e<=16?(I=t[e-1],L=i[e-1]):255===e&&(I=r.readBits(16),L=r.readBits(16))}if(r.readBool()&&r.readBool(),r.readBool()){r.readBits(3),r.readBool(),r.readBool()&&(r.readByte(),r.readByte(),r.readByte())}if(r.readBool()&&(r.readUEG(),r.readUEG()),r.readBool(),r.readBool(),r.readBool(),P=r.readBool(),P&&(r.readUEG(),r.readUEG(),r.readUEG(),r.readUEG()),r.readBool()){if(R=r.readBits(32),z=r.readBits(32),r.readBool()&&r.readUEG(),r.readBool()){let e=!1,t=!1,i=!1;e=r.readBool(),t=r.readBool(),(e||t)&&(i=r.readBool(),i&&(r.readByte(),r.readBits(5),r.readBool(),r.readBits(5)),r.readBits(4),r.readBits(4),i&&r.readBits(4),r.readBits(5),r.readBits(5),r.readBits(5));for(let n=0;n<=a;n++){let n=r.readBool();M=n;let o=!0,s=1;n||(o=r.readBool());let a=!1;if(o?r.readUEG():a=r.readBool(),a||(s=r.readUEG()+1),e){for(let e=0;e<s;e++)r.readUEG(),r.readUEG(),i&&(r.readUEG(),r.readUEG());r.readBool()}if(t){for(let e=0;e<s;e++)r.readUEG(),r.readUEG(),i&&(r.readUEG(),r.readUEG());r.readBool()}}}}r.readBool()&&(r.readBool(),r.readBool(),r.readBool(),F=r.readUEG(),r.readUEG(),r.readUEG(),r.readUEG(),r.readUEG())}r.readBool();let N=`hvc1.${u}.1.L${w}.B0`,O=x-(i+n)*(1===A||2===A?2:1),G=B-(o+s)*(1===A?2:1),$=1;return 1!==I&&1!==L&&($=I/L),r.destroy(),r=null,{codec_mimetype:N,profile_string:Hr.getProfileString(u),level_string:Hr.getLevelString(w),profile_idc:u,bit_depth:U+8,ref_frames:1,chroma_format:A,chroma_format_string:Hr.getChromaFormatString(A),general_level_idc:w,general_profile_space:d,general_tier_flag:l,general_profile_idc:u,general_profile_compatibility_flags_1:c,general_profile_compatibility_flags_2:f,general_profile_compatibility_flags_3:h,general_profile_compatibility_flags_4:p,general_constraint_indicator_flags_1:m,general_constraint_indicator_flags_2:_,general_constraint_indicator_flags_3:g,general_constraint_indicator_flags_4:y,general_constraint_indicator_flags_5:v,general_constraint_indicator_flags_6:b,min_spatial_segmentation_idc:F,constant_frame_rate:0,chroma_format_idc:A,bit_depth_luma_minus8:U,bit_depth_chroma_minus8:k,frame_rate:{fixed:M,fps:z/R,fps_den:R,fps_num:z},sar_ratio:{width:I,height:L},codec_size:{width:O,height:G},present_size:{width:O*$,height:G}}}static parsePPS(e){let t=Hr._ebsp2rbsp(e),r=new Gt(t);r.readByte(),r.readByte(),r.readUEG(),r.readUEG(),r.readBool(),r.readBool(),r.readBits(3),r.readBool(),r.readBool(),r.readUEG(),r.readUEG(),r.readSEG(),r.readBool(),r.readBool(),r.readBool()&&r.readUEG(),r.readSEG(),r.readSEG(),r.readBool(),r.readBool(),r.readBool(),r.readBool();let i=r.readBool(),n=r.readBool(),o=1;return n&&i?o=0:n?o=3:i&&(o=2),{parallelismType:o}}static getChromaFormatString(e){switch(e){case 0:return"4:0:0";case 1:return"4:2:0";case 2:return"4:2:2";case 3:return"4:4:4";default:return"Unknown"}}static getProfileString(e){switch(e){case 1:return"Main";case 2:return"Main10";case 3:return"MainSP";case 4:return"Rext";case 9:return"SCC";default:return"Unknown"}}static getLevelString(e){return(e/30).toFixed(1)}}function Vr(e){let t={codecWidth:0,codecHeight:0,videoType:At,width:0,height:0,profile:0,level:0};e=e.slice(5);do{let r={};if(e.length<23){console.warn("parseHEVCDecoderConfigurationRecord$2",`arrayBuffer.length ${e.length} < 23`);break}if(r.configurationVersion=e[0],1!=r.configurationVersion)break;r.general_profile_space=e[1]>>6&3,r.general_tier_flag=e[1]>>5&1,r.general_profile_idc=31&e[1],r.general_profile_compatibility_flags=e[2]<<24|e[3]<<16|e[4]<<8|e[5],r.general_constraint_indicator_flags=e[6]<<24|e[7]<<16|e[8]<<8|e[9],r.general_constraint_indicator_flags=r.general_constraint_indicator_flags<<16|e[10]<<8|e[11],r.general_level_idc=e[12],r.min_spatial_segmentation_idc=(15&e[13])<<8|e[14],r.parallelismType=3&e[15],r.chromaFormat=3&e[16],r.bitDepthLumaMinus8=7&e[17],r.bitDepthChromaMinus8=7&e[18],r.avgFrameRate=e[19]<<8|e[20],r.constantFrameRate=e[21]>>6&3,r.numTemporalLayers=e[21]>>3&7,r.temporalIdNested=e[21]>>2&1,r.lengthSizeMinusOne=3&e[21];let i=e[22],n=e.slice(23);for(let e=0;e<i&&!(n.length<3);e++){let e=63&n[0],i=n[1]<<8|n[2];n=n.slice(3);for(let o=0;o<i&&!(n.length<2);o++){let i=n[0]<<8|n[1];if(n.length<2+i)break;if(n=n.slice(2),33==e){let e=new Uint8Array(i);e.set(n.slice(0,i),0),r.psps=jr(e,r),t.profile=r.general_profile_idc,t.level=r.general_level_idc/30,t.width=r.psps.pic_width_in_luma_samples-(r.psps.conf_win_left_offset+r.psps.conf_win_right_offset),t.height=r.psps.pic_height_in_luma_samples-(r.psps.conf_win_top_offset+r.psps.conf_win_bottom_offset)}n=n.slice(i)}}}while(0);return t.codecWidth=t.width||1920,t.codecHeight=t.height||1080,t.presentHeight=t.codecHeight,t.presentWidth=t.codecWidth,t.timescale=1e3,t.refSampleDuration=1e3/23976*1e3,t}function Wr(e){const t=e;if(t.length<22)return console.error(`Invalid HEVCDecoderConfigurationRecord, lack of data! ${t.length} < 22`),{};let r={codecWidth:0,codecHeight:0,videoType:At},i=function(){let e=new ArrayBuffer(2);return new DataView(e).setInt16(0,256,!0),256===new Int16Array(e)[0]}(),n=new DataView(t.buffer),o=n.getUint8(0),s=31&n.getUint8(1);if(1!==o||0===s)return console.error(`Invalid HEVCDecoderConfigurationRecord,version is ${o}, hevcProfile is ${s}`),{};let a=1+(3&n.getUint8(21));if(3!==a&&4!==a)return console.error("Invalid HEVCDecoderConfigurationRecord, Strange NaluLengthSizeMinusOne: "+(a-1)),{};let d=n.getUint8(22);for(let e=0,o=23;e<d;e++){let e=63&n.getUint8(o+0),s=n.getUint16(o+1,!i);o+=3;for(let a=0;a<s;a++){let s=n.getUint16(o+0,!i);if(0===a)if(33===e){o+=2;let e=new Uint8Array(t.buffer,o,s),i=Hr.parseSPS(e);r.codecWidth=i.codec_size.width,r.codecHeight=i.codec_size.height,r.presentWidth=i.present_size.width,r.presentHeight=i.present_size.height,r.profile=i.profile_string,r.level=i.level_string,r.bitDepth=i.bit_depth,r.chromaFormat=i.chroma_format,r.sarRatio=i.sar_ratio,r.frameRate=i.frame_rate,!1!==i.frame_rate.fixed&&0!==i.frame_rate.fps_num&&0!==i.frame_rate.fps_den||(r.frameRate={fixed:!0,fps:23.976,fps_num:23976,fps_den:1e3}),r.frameRate.fps_den,r.frameRate.fps_num,r.codec=i.codec_mimetype,o+=s}else o+=2+s;else o+=2+s}}return r.hvcc=new Uint8Array(t),r}function jr(e,t){let r={},i=e.length,n=[],o=new kr(e);o.read(1),o.read(6),o.read(6),o.read(3);for(let e=2;e<i;e++)e+2<i&&3==o.look(24)?(n.push(o.read(8)),n.push(o.read(8)),e+=2,o.read(8)):n.push(o.read(8));let s=new Uint8Array(n),a=new kr(s);if(r.sps_video_parameter_set_id=a.read(4),r.sps_max_sub_layers_minus1=a.read(3),r.sps_temporal_id_nesting_flag=a.read(1),r.profile_tier_level=function(e,t,r){let i={};i.profile_space=e.read(2),i.tier_flag=e.read(1),i.profile_idc=e.read(5),i.profile_compatibility_flags=e.read(32),i.general_progressive_source_flag=e.read(1),i.general_interlaced_source_flag=e.read(1),i.general_non_packed_constraint_flag=e.read(1),i.general_frame_only_constraint_flag=e.read(1),e.read(32),e.read(12),i.level_idc=e.read(8),i.sub_layer_profile_present_flag=[],i.sub_layer_level_present_flag=[];for(let t=0;t<r;t++)i.sub_layer_profile_present_flag[t]=e.read(1),i.sub_layer_level_present_flag[t]=e.read(1);if(r>0)for(let t=r;t<8;t++)e.read(2);i.sub_layer_profile_space=[],i.sub_layer_tier_flag=[],i.sub_layer_profile_idc=[],i.sub_layer_profile_compatibility_flag=[],i.sub_layer_progressive_source_flag=[],i.sub_layer_interlaced_source_flag=[],i.sub_layer_non_packed_constraint_flag=[],i.sub_layer_frame_only_constraint_flag=[],i.sub_layer_level_idc=[];for(let t=0;t<r;t++)i.sub_layer_profile_present_flag[t]&&(i.sub_layer_profile_space[t]=e.read(2),i.sub_layer_tier_flag[t]=e.read(1),i.sub_layer_profile_idc[t]=e.read(5),i.sub_layer_profile_compatibility_flag[t]=e.read(32),i.sub_layer_progressive_source_flag[t]=e.read(1),i.sub_layer_interlaced_source_flag[t]=e.read(1),i.sub_layer_non_packed_constraint_flag[t]=e.read(1),i.sub_layer_frame_only_constraint_flag[t]=e.read(1),e.read(32),e.read(12)),i.sub_layer_level_present_flag[t]?i.sub_layer_level_idc[t]=e.read(8):i.sub_layer_level_idc[t]=1;return i}(a,0,r.sps_max_sub_layers_minus1),r.sps_seq_parameter_set_id=a.read_golomb(),r.chroma_format_idc=a.read_golomb(),3==r.chroma_format_idc?r.separate_colour_plane_flag=a.read(1):r.separate_colour_plane_flag=0,r.pic_width_in_luma_samples=a.read_golomb(),r.pic_height_in_luma_samples=a.read_golomb(),r.conformance_window_flag=a.read(1),r.conformance_window_flag){let e=1+(r.chroma_format_idc<2),t=1+(r.chroma_format_idc<3);r.conf_win_left_offset=a.read_golomb()*t,r.conf_win_right_offset=a.read_golomb()*t,r.conf_win_top_offset=a.read_golomb()*e,r.conf_win_bottom_offset=a.read_golomb()*e}else r.conf_win_left_offset=0,r.conf_win_right_offset=0,r.conf_win_top_offset=0,r.conf_win_bottom_offset=0;return r}function qr(e){let{vps:t,pps:r,sps:i}=e,n={configurationVersion:1};const o=(e=>{let t=Gr(e),r=new Gt(t);return r.readByte(),r.readByte(),r.readBits(4),r.readBits(2),r.readBits(6),{num_temporal_layers:r.readBits(3)+1,temporal_id_nested:r.readBool()}})(t),s=(e=>{let t=Gr(e),r=new Gt(t);r.readByte(),r.readByte();let i=0,n=0,o=0,s=0;r.readBits(4);let a=r.readBits(3);r.readBool();let d=r.readBits(2),l=r.readBool(),u=r.readBits(5),c=r.readByte(),f=r.readByte(),h=r.readByte(),p=r.readByte(),m=r.readByte(),_=r.readByte(),g=r.readByte(),y=r.readByte(),v=r.readByte(),b=r.readByte(),w=r.readByte(),S=[],E=[];for(let e=0;e<a;e++)S.push(r.readBool()),E.push(r.readBool());if(a>0)for(let e=a;e<8;e++)r.readBits(2);for(let e=0;e<a;e++)S[e]&&(r.readByte(),r.readByte(),r.readByte(),r.readByte(),r.readByte(),r.readByte(),r.readByte(),r.readByte(),r.readByte(),r.readByte(),r.readByte()),S[e]&&r.readByte();r.readUEG();let A=r.readUEG();3==A&&r.readBits(1);let x=r.readUEG(),B=r.readUEG();r.readBool()&&(i+=r.readUEG(),n+=r.readUEG(),o+=r.readUEG(),s+=r.readUEG());let U=r.readUEG(),k=r.readUEG(),T=r.readUEG();for(let e=r.readBool()?0:a;e<=a;e++)r.readUEG(),r.readUEG(),r.readUEG();if(r.readUEG(),r.readUEG(),r.readUEG(),r.readUEG(),r.readUEG(),r.readUEG(),r.readBool()&&r.readBool())for(let e=0;e<4;e++)for(let t=0;t<(3===e?2:6);t++)if(r.readBool()){let t=Math.min(64,1<<4+(e<<1));e>1&&r.readSEG();for(let e=0;e<t;e++)r.readSEG()}else r.readUEG();r.readBool(),r.readBool(),r.readBool()&&(r.readByte(),r.readUEG(),r.readUEG(),r.readBool());let C=r.readUEG(),D=0;for(let e=0;e<C;e++){let t=!1;if(0!==e&&(t=r.readBool()),t){e===C&&r.readUEG(),r.readBool(),r.readUEG();let t=0;for(let e=0;e<=D;e++){let e=r.readBool(),i=!1;e||(i=r.readBool()),(e||i)&&t++}D=t}else{let e=r.readUEG(),t=r.readUEG();D=e+t;for(let t=0;t<e;t++)r.readUEG(),r.readBool();for(let e=0;e<t;e++)r.readUEG(),r.readBool()}}if(r.readBool()){let e=r.readUEG();for(let t=0;t<e;t++){for(let e=0;e<T+4;e++)r.readBits(1);r.readBits(1)}}let P=!1,F=0,I=1,L=1,M=!1,R=1,z=1;if(r.readBool(),r.readBool(),r.readBool()){if(r.readBool()){let e=r.readByte(),t=[1,12,10,16,40,24,20,32,80,18,15,64,160,4,3,2],i=[1,11,11,11,33,11,11,11,33,11,11,33,99,3,2,1];e>0&&e<16?(I=t[e-1],L=i[e-1]):255===e&&(I=r.readBits(16),L=r.readBits(16))}if(r.readBool()&&r.readBool(),r.readBool()&&(r.readBits(3),r.readBool(),r.readBool()&&(r.readByte(),r.readByte(),r.readByte())),r.readBool()&&(r.readUEG(),r.readUEG()),r.readBool(),r.readBool(),r.readBool(),P=r.readBool(),P&&(i+=r.readUEG(),n+=r.readUEG(),o+=r.readUEG(),s+=r.readUEG()),r.readBool()&&(R=r.readBits(32),z=r.readBits(32),r.readBool()&&(r.readUEG(),r.readBool()))){let e=!1,t=!1,i=!1;e=r.readBool(),t=r.readBool(),(e||t)&&(i=r.readBool(),i&&(r.readByte(),r.readBits(5),r.readBool(),r.readBits(5)),r.readBits(4),r.readBits(4),i&&r.readBits(4),r.readBits(5),r.readBits(5),r.readBits(5));for(let n=0;n<=a;n++){let n=r.readBool();M=n;let o=!1,s=1;n||(o=r.readBool());let a=!1;if(o?r.readSEG():a=r.readBool(),a||(cpbcnt=r.readUEG()+1),e)for(let e=0;e<s;e++)r.readUEG(),r.readUEG(),i&&(r.readUEG(),r.readUEG());if(t)for(let e=0;e<s;e++)r.readUEG(),r.readUEG(),i&&(r.readUEG(),r.readUEG())}}r.readBool()&&(r.readBool(),r.readBool(),r.readBool(),F=r.readUEG(),r.readUEG(),r.readUEG(),r.readUEG(),r.readUEG())}r.readBool();let N=`hvc1.${u}.1.L${w}.B0`,O=x,G=B,$=1;return 1!==I&&1!==L&&($=I/L),r.destroy(),r=null,{codec_mimetype:N,level_string:(H=w,(H/30).toFixed(1)),profile_idc:u,bit_depth:U+8,ref_frames:1,chroma_format:A,chroma_format_string:$r(A),general_level_idc:w,general_profile_space:d,general_tier_flag:l,general_profile_idc:u,general_profile_compatibility_flags_1:c,general_profile_compatibility_flags_2:f,general_profile_compatibility_flags_3:h,general_profile_compatibility_flags_4:p,general_constraint_indicator_flags_1:m,general_constraint_indicator_flags_2:_,general_constraint_indicator_flags_3:g,general_constraint_indicator_flags_4:y,general_constraint_indicator_flags_5:v,general_constraint_indicator_flags_6:b,min_spatial_segmentation_idc:F,constant_frame_rate:0,chroma_format_idc:A,bit_depth_luma_minus8:U,bit_depth_chroma_minus8:k,frame_rate:{fixed:M,fps:z/R,fps_den:R,fps_num:z},sar_ratio:{width:I,height:L},codec_size:{width:O,height:G},present_size:{width:O*$,height:G}};var H})(i),a=(e=>{let t=Gr(e),r=new Gt(t);r.readByte(),r.readByte(),r.readUEG(),r.readUEG(),r.readBool(),r.readBool(),r.readBits(3),r.readBool(),r.readBool(),r.readUEG(),r.readUEG(),r.readSEG(),r.readBool(),r.readBool(),r.readBool()&&r.readUEG(),r.readSEG(),r.readSEG(),r.readBool(),r.readBool(),r.readBool(),r.readBool();let i=r.readBool(),n=r.readBool(),o=1;return n&&i?o=0:n?o=3:i&&(o=2),{parallelismType:o}})(r);n=Object.assign(n,o,s,a);let d=23+(5+t.byteLength)+(5+i.byteLength)+(5+r.byteLength),l=new Uint8Array(d);l[0]=1,l[1]=(3&n.general_profile_space)<<6|(n.general_tier_flag?1:0)<<5|31&n.general_profile_idc,l[2]=n.general_profile_compatibility_flags_1||0,l[3]=n.general_profile_compatibility_flags_2||0,l[4]=n.general_profile_compatibility_flags_3||0,l[5]=n.general_profile_compatibility_flags_4||0,l[6]=n.general_constraint_indicator_flags_1||0,l[7]=n.general_constraint_indicator_flags_2||0,l[8]=n.general_constraint_indicator_flags_3||0,l[9]=n.general_constraint_indicator_flags_4||0,l[10]=n.general_constraint_indicator_flags_5||0,l[11]=n.general_constraint_indicator_flags_6||0,l[12]=60,l[13]=240|(3840&n.min_spatial_segmentation_idc)>>8,l[14]=255&n.min_spatial_segmentation_idc,l[15]=252|3&n.parallelismType,l[16]=252|3&n.chroma_format_idc,l[17]=248|7&n.bit_depth_luma_minus8,l[18]=248|7&n.bit_depth_chroma_minus8,l[19]=0,l[20]=0,l[21]=(3&n.constant_frame_rate)<<6|(7&n.num_temporal_layers)<<3|(n.temporal_id_nested?1:0)<<2|3,l[22]=3,l[23]=128|et,l[24]=0,l[25]=1,l[26]=(65280&t.byteLength)>>8,l[27]=(255&t.byteLength)>>0,l.set(t,28),l[23+(5+t.byteLength)+0]=128|rt,l[23+(5+t.byteLength)+1]=0,l[23+(5+t.byteLength)+2]=1,l[23+(5+t.byteLength)+3]=(65280&i.byteLength)>>8,l[23+(5+t.byteLength)+4]=(255&i.byteLength)>>0,l.set(i,23+(5+t.byteLength)+5),l[23+(5+t.byteLength+5+i.byteLength)+0]=128|nt,l[23+(5+t.byteLength+5+i.byteLength)+1]=0,l[23+(5+t.byteLength+5+i.byteLength)+2]=1,l[23+(5+t.byteLength+5+i.byteLength)+3]=(65280&r.byteLength)>>8,l[23+(5+t.byteLength+5+i.byteLength)+4]=(255&r.byteLength)>>0,l.set(r,23+(5+t.byteLength+5+i.byteLength)+5);const u=[28,0,0,0,0],c=new Uint8Array(u.length+l.byteLength);return c.set(u,0),c.set(l,u.length),c}function Yr(e,t){let r=[];r[0]=t?28:44,r[1]=1,r[2]=0,r[3]=0,r[4]=0,r[5]=e.byteLength>>24&255,r[6]=e.byteLength>>16&255,r[7]=e.byteLength>>8&255,r[8]=255&e.byteLength;const i=new Uint8Array(r.length+e.byteLength);return i.set(r,0),i.set(e,r.length),i}function Kr(e,t){let r=[];r[0]=t?28:44,r[1]=1,r[2]=0,r[3]=0,r[4]=0;const i=new Uint8Array(r.length+e.byteLength);return i.set(r,0),i.set(e,r.length),i}function Xr(e){return(126&e[0])>>1}function Zr(e){return e===st}function Jr(e){return!function(e){return e>=32&&e<=40}(e)}function Qr(e){return e>=16&&e<=21}function ei(e){if(0===e.length)return!1;const t=Xr(e[0]);for(let r=1;r<e.length;r++)if(t!==Xr(e[r]))return!1;return!0}class ti{constructor(e){this.data=e,this.eofFlag=!1,this.currentStartcodeOffset=this.findNextStartCodeOffset(0),this.eofFlag&&console.error("Could not find H265 startcode until payload end!")}findNextStartCodeOffset(e){let t=e,r=this.data;for(;;){if(t+3>=r.byteLength)return this.eofFlag=!0,r.byteLength;let e=r[t+0]<<24|r[t+1]<<16|r[t+2]<<8|r[t+3],i=r[t+0]<<16|r[t+1]<<8|r[t+2];if(1===e||1===i)return t;t++}}readNextNaluPayload(){let e=this.data,t=null;for(;null==t&&!this.eofFlag;){let r=this.currentStartcodeOffset;r+=1===(e[r]<<24|e[r+1]<<16|e[r+2]<<8|e[r+3])?4:3;let i=e[r]>>1&63,n=(128&e[r])>>>7,o=this.findNextStartCodeOffset(r);this.currentStartcodeOffset=o,0===n&&(t={type:i,data:e.subarray(r,o)})}return t}}class ri{constructor(e){let t=e.data.byteLength;this.type=e.type,this.data=new Uint8Array(4+t),new DataView(this.data.buffer).setUint32(0,t),this.data.set(e.data,4)}}function ii(e){return parseInt(e)===e}function ni(e){if(!ii(e.length))return!1;for(var t=0;t<e.length;t++)if(!ii(e[t])||e[t]<0||e[t]>255)return!1;return!0}function oi(e,t){if(e.buffer&&"Uint8Array"===e.name)return t&&(e=e.slice?e.slice():Array.prototype.slice.call(e)),e;if(Array.isArray(e)){if(!ni(e))throw new Error("Array contains invalid value: "+e);return new Uint8Array(e)}if(ii(e.length)&&ni(e))return new Uint8Array(e);throw new Error("unsupported array-like object")}function si(e){return new Uint8Array(e)}function ai(e,t,r,i,n){null==i&&null==n||(e=e.slice?e.slice(i,n):Array.prototype.slice.call(e,i,n)),t.set(e,r)}var di,li={toBytes:function(e){var t=[],r=0;for(e=encodeURI(e);r<e.length;){var i=e.charCodeAt(r++);37===i?(t.push(parseInt(e.substr(r,2),16)),r+=2):t.push(i)}return oi(t)},fromBytes:function(e){for(var t=[],r=0;r<e.length;){var i=e[r];i<128?(t.push(String.fromCharCode(i)),r++):i>191&&i<224?(t.push(String.fromCharCode((31&i)<<6|63&e[r+1])),r+=2):(t.push(String.fromCharCode((15&i)<<12|(63&e[r+1])<<6|63&e[r+2])),r+=3)}return t.join("")}},ui=(di="0123456789abcdef",{toBytes:function(e){for(var t=[],r=0;r<e.length;r+=2)t.push(parseInt(e.substr(r,2),16));return t},fromBytes:function(e){for(var t=[],r=0;r<e.length;r++){var i=e[r];t.push(di[(240&i)>>4]+di[15&i])}return t.join("")}}),ci={16:10,24:12,32:14},fi=[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145],hi=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],pi=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125],mi=[3328402341,4168907908,4000806809,4135287693,4294111757,3597364157,3731845041,2445657428,1613770832,33620227,3462883241,1445669757,3892248089,3050821474,1303096294,3967186586,2412431941,528646813,2311702848,4202528135,4026202645,2992200171,2387036105,4226871307,1101901292,3017069671,1604494077,1169141738,597466303,1403299063,3832705686,2613100635,1974974402,3791519004,1033081774,1277568618,1815492186,2118074177,4126668546,2211236943,1748251740,1369810420,3521504564,4193382664,3799085459,2883115123,1647391059,706024767,134480908,2512897874,1176707941,2646852446,806885416,932615841,168101135,798661301,235341577,605164086,461406363,3756188221,3454790438,1311188841,2142417613,3933566367,302582043,495158174,1479289972,874125870,907746093,3698224818,3025820398,1537253627,2756858614,1983593293,3084310113,2108928974,1378429307,3722699582,1580150641,327451799,2790478837,3117535592,0,3253595436,1075847264,3825007647,2041688520,3059440621,3563743934,2378943302,1740553945,1916352843,2487896798,2555137236,2958579944,2244988746,3151024235,3320835882,1336584933,3992714006,2252555205,2588757463,1714631509,293963156,2319795663,3925473552,67240454,4269768577,2689618160,2017213508,631218106,1269344483,2723238387,1571005438,2151694528,93294474,1066570413,563977660,1882732616,4059428100,1673313503,2008463041,2950355573,1109467491,537923632,3858759450,4260623118,3218264685,2177748300,403442708,638784309,3287084079,3193921505,899127202,2286175436,773265209,2479146071,1437050866,4236148354,2050833735,3362022572,3126681063,840505643,3866325909,3227541664,427917720,2655997905,2749160575,1143087718,1412049534,999329963,193497219,2353415882,3354324521,1807268051,672404540,2816401017,3160301282,369822493,2916866934,3688947771,1681011286,1949973070,336202270,2454276571,201721354,1210328172,3093060836,2680341085,3184776046,1135389935,3294782118,965841320,831886756,3554993207,4068047243,3588745010,2345191491,1849112409,3664604599,26054028,2983581028,2622377682,1235855840,3630984372,2891339514,4092916743,3488279077,3395642799,4101667470,1202630377,268961816,1874508501,4034427016,1243948399,1546530418,941366308,1470539505,1941222599,2546386513,3421038627,2715671932,3899946140,1042226977,2521517021,1639824860,227249030,260737669,3765465232,2084453954,1907733956,3429263018,2420656344,100860677,4160157185,470683154,3261161891,1781871967,2924959737,1773779408,394692241,2579611992,974986535,664706745,3655459128,3958962195,731420851,571543859,3530123707,2849626480,126783113,865375399,765172662,1008606754,361203602,3387549984,2278477385,2857719295,1344809080,2782912378,59542671,1503764984,160008576,437062935,1707065306,3622233649,2218934982,3496503480,2185314755,697932208,1512910199,504303377,2075177163,2824099068,1841019862,739644986],_i=[2781242211,2230877308,2582542199,2381740923,234877682,3184946027,2984144751,1418839493,1348481072,50462977,2848876391,2102799147,434634494,1656084439,3863849899,2599188086,1167051466,2636087938,1082771913,2281340285,368048890,3954334041,3381544775,201060592,3963727277,1739838676,4250903202,3930435503,3206782108,4149453988,2531553906,1536934080,3262494647,484572669,2923271059,1783375398,1517041206,1098792767,49674231,1334037708,1550332980,4098991525,886171109,150598129,2481090929,1940642008,1398944049,1059722517,201851908,1385547719,1699095331,1587397571,674240536,2704774806,252314885,3039795866,151914247,908333586,2602270848,1038082786,651029483,1766729511,3447698098,2682942837,454166793,2652734339,1951935532,775166490,758520603,3000790638,4004797018,4217086112,4137964114,1299594043,1639438038,3464344499,2068982057,1054729187,1901997871,2534638724,4121318227,1757008337,0,750906861,1614815264,535035132,3363418545,3988151131,3201591914,1183697867,3647454910,1265776953,3734260298,3566750796,3903871064,1250283471,1807470800,717615087,3847203498,384695291,3313910595,3617213773,1432761139,2484176261,3481945413,283769337,100925954,2180939647,4037038160,1148730428,3123027871,3813386408,4087501137,4267549603,3229630528,2315620239,2906624658,3156319645,1215313976,82966005,3747855548,3245848246,1974459098,1665278241,807407632,451280895,251524083,1841287890,1283575245,337120268,891687699,801369324,3787349855,2721421207,3431482436,959321879,1469301956,4065699751,2197585534,1199193405,2898814052,3887750493,724703513,2514908019,2696962144,2551808385,3516813135,2141445340,1715741218,2119445034,2872807568,2198571144,3398190662,700968686,3547052216,1009259540,2041044702,3803995742,487983883,1991105499,1004265696,1449407026,1316239930,504629770,3683797321,168560134,1816667172,3837287516,1570751170,1857934291,4014189740,2797888098,2822345105,2754712981,936633572,2347923833,852879335,1133234376,1500395319,3084545389,2348912013,1689376213,3533459022,3762923945,3034082412,4205598294,133428468,634383082,2949277029,2398386810,3913789102,403703816,3580869306,2297460856,1867130149,1918643758,607656988,4049053350,3346248884,1368901318,600565992,2090982877,2632479860,557719327,3717614411,3697393085,2249034635,2232388234,2430627952,1115438654,3295786421,2865522278,3633334344,84280067,33027830,303828494,2747425121,1600795957,4188952407,3496589753,2434238086,1486471617,658119965,3106381470,953803233,334231800,3005978776,857870609,3151128937,1890179545,2298973838,2805175444,3056442267,574365214,2450884487,550103529,1233637070,4289353045,2018519080,2057691103,2399374476,4166623649,2148108681,387583245,3664101311,836232934,3330556482,3100665960,3280093505,2955516313,2002398509,287182607,3413881008,4238890068,3597515707,975967766],gi=[1671808611,2089089148,2006576759,2072901243,4061003762,1807603307,1873927791,3310653893,810573872,16974337,1739181671,729634347,4263110654,3613570519,2883997099,1989864566,3393556426,2191335298,3376449993,2106063485,4195741690,1508618841,1204391495,4027317232,2917941677,3563566036,2734514082,2951366063,2629772188,2767672228,1922491506,3227229120,3082974647,4246528509,2477669779,644500518,911895606,1061256767,4144166391,3427763148,878471220,2784252325,3845444069,4043897329,1905517169,3631459288,827548209,356461077,67897348,3344078279,593839651,3277757891,405286936,2527147926,84871685,2595565466,118033927,305538066,2157648768,3795705826,3945188843,661212711,2999812018,1973414517,152769033,2208177539,745822252,439235610,455947803,1857215598,1525593178,2700827552,1391895634,994932283,3596728278,3016654259,695947817,3812548067,795958831,2224493444,1408607827,3513301457,0,3979133421,543178784,4229948412,2982705585,1542305371,1790891114,3410398667,3201918910,961245753,1256100938,1289001036,1491644504,3477767631,3496721360,4012557807,2867154858,4212583931,1137018435,1305975373,861234739,2241073541,1171229253,4178635257,33948674,2139225727,1357946960,1011120188,2679776671,2833468328,1374921297,2751356323,1086357568,2408187279,2460827538,2646352285,944271416,4110742005,3168756668,3066132406,3665145818,560153121,271589392,4279952895,4077846003,3530407890,3444343245,202643468,322250259,3962553324,1608629855,2543990167,1154254916,389623319,3294073796,2817676711,2122513534,1028094525,1689045092,1575467613,422261273,1939203699,1621147744,2174228865,1339137615,3699352540,577127458,712922154,2427141008,2290289544,1187679302,3995715566,3100863416,339486740,3732514782,1591917662,186455563,3681988059,3762019296,844522546,978220090,169743370,1239126601,101321734,611076132,1558493276,3260915650,3547250131,2901361580,1655096418,2443721105,2510565781,3828863972,2039214713,3878868455,3359869896,928607799,1840765549,2374762893,3580146133,1322425422,2850048425,1823791212,1459268694,4094161908,3928346602,1706019429,2056189050,2934523822,135794696,3134549946,2022240376,628050469,779246638,472135708,2800834470,3032970164,3327236038,3894660072,3715932637,1956440180,522272287,1272813131,3185336765,2340818315,2323976074,1888542832,1044544574,3049550261,1722469478,1222152264,50660867,4127324150,236067854,1638122081,895445557,1475980887,3117443513,2257655686,3243809217,489110045,2662934430,3778599393,4162055160,2561878936,288563729,1773916777,3648039385,2391345038,2493985684,2612407707,505560094,2274497927,3911240169,3460925390,1442818645,678973480,3749357023,2358182796,2717407649,2306869641,219617805,3218761151,3862026214,1120306242,1756942440,1103331905,2578459033,762796589,252780047,2966125488,1425844308,3151392187,372911126],yi=[1667474886,2088535288,2004326894,2071694838,4075949567,1802223062,1869591006,3318043793,808472672,16843522,1734846926,724270422,4278065639,3621216949,2880169549,1987484396,3402253711,2189597983,3385409673,2105378810,4210693615,1499065266,1195886990,4042263547,2913856577,3570689971,2728590687,2947541573,2627518243,2762274643,1920112356,3233831835,3082273397,4261223649,2475929149,640051788,909531756,1061110142,4160160501,3435941763,875846760,2779116625,3857003729,4059105529,1903268834,3638064043,825316194,353713962,67374088,3351728789,589522246,3284360861,404236336,2526454071,84217610,2593830191,117901582,303183396,2155911963,3806477791,3958056653,656894286,2998062463,1970642922,151591698,2206440989,741110872,437923380,454765878,1852748508,1515908788,2694904667,1381168804,993742198,3604373943,3014905469,690584402,3823320797,791638366,2223281939,1398011302,3520161977,0,3991743681,538992704,4244381667,2981218425,1532751286,1785380564,3419096717,3200178535,960056178,1246420628,1280103576,1482221744,3486468741,3503319995,4025428677,2863326543,4227536621,1128514950,1296947098,859002214,2240123921,1162203018,4193849577,33687044,2139062782,1347481760,1010582648,2678045221,2829640523,1364325282,2745433693,1077985408,2408548869,2459086143,2644360225,943212656,4126475505,3166494563,3065430391,3671750063,555836226,269496352,4294908645,4092792573,3537006015,3452783745,202118168,320025894,3974901699,1600119230,2543297077,1145359496,387397934,3301201811,2812801621,2122220284,1027426170,1684319432,1566435258,421079858,1936954854,1616945344,2172753945,1330631070,3705438115,572679748,707427924,2425400123,2290647819,1179044492,4008585671,3099120491,336870440,3739122087,1583276732,185277718,3688593069,3772791771,842159716,976899700,168435220,1229577106,101059084,606366792,1549591736,3267517855,3553849021,2897014595,1650632388,2442242105,2509612081,3840161747,2038008818,3890688725,3368567691,926374254,1835907034,2374863873,3587531953,1313788572,2846482505,1819063512,1448540844,4109633523,3941213647,1701162954,2054852340,2930698567,134748176,3132806511,2021165296,623210314,774795868,471606328,2795958615,3031746419,3334885783,3907527627,3722280097,1953799400,522133822,1263263126,3183336545,2341176845,2324333839,1886425312,1044267644,3048588401,1718004428,1212733584,50529542,4143317495,235803164,1633788866,892690282,1465383342,3115962473,2256965911,3250673817,488449850,2661202215,3789633753,4177007595,2560144171,286339874,1768537042,3654906025,2391705863,2492770099,2610673197,505291324,2273808917,3924369609,3469625735,1431699370,673740880,3755965093,2358021891,2711746649,2307489801,218961690,3217021541,3873845719,1111672452,1751693520,1094828930,2576986153,757954394,252645662,2964376443,1414855848,3149649517,370555436],vi=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,632953703,1172967064,1576976609,3274667266,2169303058,2370213795,1809054150,59727847,361929877,3211623147,2505202138,3569255213,1484005843,1239443753,2395588676,1975683434,4102977912,2572697195,666464733,3202437046,4035489047,3374361702,2110667444,1675577880,3843699074,2538681184,1649639237,2976151520,3144396420,4269907996,4178062228,1883793496,2403728665,2497604743,1383856311,2876494627,1917518562,3810496343,1716890410,3001755655,800440835,2261089178,3543599269,807962610,599762354,33778362,3977675356,2328828971,2809771154,4077384432,1315562145,1708848333,101039829,3509871135,3299278474,875451293,2733856160,92987698,2767645557,193195065,1080094634,1584504582,3178106961,1042385657,2531067453,3711829422,1306967366,2438237621,1908694277,67556463,1615861247,429456164,3602770327,2302690252,1742315127,2968011453,126454664,3877198648,2043211483,2709260871,2084704233,4169408201,0,159417987,841739592,504459436,1817866830,4245618683,260388950,1034867998,908933415,168810852,1750902305,2606453969,607530554,202008497,2472011535,3035535058,463180190,2160117071,1641816226,1517767529,470948374,3801332234,3231722213,1008918595,303765277,235474187,4069246893,766945465,337553864,1475418501,2943682380,4003061179,2743034109,4144047775,1551037884,1147550661,1543208500,2336434550,3408119516,3069049960,3102011747,3610369226,1113818384,328671808,2227573024,2236228733,3535486456,2935566865,3341394285,496906059,3702665459,226906860,2009195472,733156972,2842737049,294930682,1206477858,2835123396,2700099354,1451044056,573804783,2269728455,3644379585,2362090238,2564033334,2801107407,2776292904,3669462566,1068351396,742039012,1350078989,1784663195,1417561698,4136440770,2430122216,775550814,2193862645,2673705150,1775276924,1876241833,3475313331,3366754619,270040487,3902563182,3678124923,3441850377,1851332852,3969562369,2203032232,3868552805,2868897406,566021896,4011190502,3135740889,1248802510,3936291284,699432150,832877231,708780849,3332740144,899835584,1951317047,4236429990,3767586992,866637845,4043610186,1106041591,2144161806,395441711,1984812685,1139781709,3433712980,3835036895,2664543715,1282050075,3240894392,1181045119,2640243204,25965917,4203181171,4211818798,3009879386,2463879762,3910161971,1842759443,2597806476,933301370,1509430414,3943906441,3467192302,3076639029,3776767469,2051518780,2631065433,1441952575,404016761,1942435775,1408749034,1610459739,3745345300,2017778566,3400528769,3110650942,941896748,3265478751,371049330,3168937228,675039627,4279080257,967311729,135050206,3635733660,1683407248,2076935265,3576870512,1215061108,3501741890],bi=[1347548327,1400783205,3273267108,2520393566,3409685355,4045380933,2880240216,2471224067,1428173050,4138563181,2441661558,636813900,4233094615,3620022987,2149987652,2411029155,1239331162,1730525723,2554718734,3781033664,46346101,310463728,2743944855,3328955385,3875770207,2501218972,3955191162,3667219033,768917123,3545789473,692707433,1150208456,1786102409,2029293177,1805211710,3710368113,3065962831,401639597,1724457132,3028143674,409198410,2196052529,1620529459,1164071807,3769721975,2226875310,486441376,2499348523,1483753576,428819965,2274680428,3075636216,598438867,3799141122,1474502543,711349675,129166120,53458370,2592523643,2782082824,4063242375,2988687269,3120694122,1559041666,730517276,2460449204,4042459122,2706270690,3446004468,3573941694,533804130,2328143614,2637442643,2695033685,839224033,1973745387,957055980,2856345839,106852767,1371368976,4181598602,1033297158,2933734917,1179510461,3046200461,91341917,1862534868,4284502037,605657339,2547432937,3431546947,2003294622,3182487618,2282195339,954669403,3682191598,1201765386,3917234703,3388507166,0,2198438022,1211247597,2887651696,1315723890,4227665663,1443857720,507358933,657861945,1678381017,560487590,3516619604,975451694,2970356327,261314535,3535072918,2652609425,1333838021,2724322336,1767536459,370938394,182621114,3854606378,1128014560,487725847,185469197,2918353863,3106780840,3356761769,2237133081,1286567175,3152976349,4255350624,2683765030,3160175349,3309594171,878443390,1988838185,3704300486,1756818940,1673061617,3403100636,272786309,1075025698,545572369,2105887268,4174560061,296679730,1841768865,1260232239,4091327024,3960309330,3497509347,1814803222,2578018489,4195456072,575138148,3299409036,446754879,3629546796,4011996048,3347532110,3252238545,4270639778,915985419,3483825537,681933534,651868046,2755636671,3828103837,223377554,2607439820,1649704518,3270937875,3901806776,1580087799,4118987695,3198115200,2087309459,2842678573,3016697106,1003007129,2802849917,1860738147,2077965243,164439672,4100872472,32283319,2827177882,1709610350,2125135846,136428751,3874428392,3652904859,3460984630,3572145929,3593056380,2939266226,824852259,818324884,3224740454,930369212,2801566410,2967507152,355706840,1257309336,4148292826,243256656,790073846,2373340630,1296297904,1422699085,3756299780,3818836405,457992840,3099667487,2135319889,77422314,1560382517,1945798516,788204353,1521706781,1385356242,870912086,325965383,2358957921,2050466060,2388260884,2313884476,4006521127,901210569,3990953189,1014646705,1503449823,1062597235,2031621326,3212035895,3931371469,1533017514,350174575,2256028891,2177544179,1052338372,741876788,1606591296,1914052035,213705253,2334669897,1107234197,1899603969,3725069491,2631447780,2422494913,1635502980,1893020342,1950903388,1120974935],wi=[2807058932,1699970625,2764249623,1586903591,1808481195,1173430173,1487645946,59984867,4199882800,1844882806,1989249228,1277555970,3623636965,3419915562,1149249077,2744104290,1514790577,459744698,244860394,3235995134,1963115311,4027744588,2544078150,4190530515,1608975247,2627016082,2062270317,1507497298,2200818878,567498868,1764313568,3359936201,2305455554,2037970062,1047239e3,1910319033,1337376481,2904027272,2892417312,984907214,1243112415,830661914,861968209,2135253587,2011214180,2927934315,2686254721,731183368,1750626376,4246310725,1820824798,4172763771,3542330227,48394827,2404901663,2871682645,671593195,3254988725,2073724613,145085239,2280796200,2779915199,1790575107,2187128086,472615631,3029510009,4075877127,3802222185,4107101658,3201631749,1646252340,4270507174,1402811438,1436590835,3778151818,3950355702,3963161475,4020912224,2667994737,273792366,2331590177,104699613,95345982,3175501286,2377486676,1560637892,3564045318,369057872,4213447064,3919042237,1137477952,2658625497,1119727848,2340947849,1530455833,4007360968,172466556,266959938,516552836,0,2256734592,3980931627,1890328081,1917742170,4294704398,945164165,3575528878,958871085,3647212047,2787207260,1423022939,775562294,1739656202,3876557655,2530391278,2443058075,3310321856,547512796,1265195639,437656594,3121275539,719700128,3762502690,387781147,218828297,3350065803,2830708150,2848461854,428169201,122466165,3720081049,1627235199,648017665,4122762354,1002783846,2117360635,695634755,3336358691,4234721005,4049844452,3704280881,2232435299,574624663,287343814,612205898,1039717051,840019705,2708326185,793451934,821288114,1391201670,3822090177,376187827,3113855344,1224348052,1679968233,2361698556,1058709744,752375421,2431590963,1321699145,3519142200,2734591178,188127444,2177869557,3727205754,2384911031,3215212461,2648976442,2450346104,3432737375,1180849278,331544205,3102249176,4150144569,2952102595,2159976285,2474404304,766078933,313773861,2570832044,2108100632,1668212892,3145456443,2013908262,418672217,3070356634,2594734927,1852171925,3867060991,3473416636,3907448597,2614737639,919489135,164948639,2094410160,2997825956,590424639,2486224549,1723872674,3157750862,3399941250,3501252752,3625268135,2555048196,3673637356,1343127501,4130281361,3599595085,2957853679,1297403050,81781910,3051593425,2283490410,532201772,1367295589,3926170974,895287692,1953757831,1093597963,492483431,3528626907,1446242576,1192455638,1636604631,209336225,344873464,1015671571,669961897,3375740769,3857572124,2973530695,3747192018,1933530610,3464042516,935293895,3454686199,2858115069,1863638845,3683022916,4085369519,3292445032,875313188,1080017571,3279033885,621591778,1233856572,2504130317,24197544,3017672716,3835484340,3247465558,2220981195,3060847922,1551124588,1463996600],Si=[4104605777,1097159550,396673818,660510266,2875968315,2638606623,4200115116,3808662347,821712160,1986918061,3430322568,38544885,3856137295,718002117,893681702,1654886325,2975484382,3122358053,3926825029,4274053469,796197571,1290801793,1184342925,3556361835,2405426947,2459735317,1836772287,1381620373,3196267988,1948373848,3764988233,3385345166,3263785589,2390325492,1480485785,3111247143,3780097726,2293045232,548169417,3459953789,3746175075,439452389,1362321559,1400849762,1685577905,1806599355,2174754046,137073913,1214797936,1174215055,3731654548,2079897426,1943217067,1258480242,529487843,1437280870,3945269170,3049390895,3313212038,923313619,679998e3,3215307299,57326082,377642221,3474729866,2041877159,133361907,1776460110,3673476453,96392454,878845905,2801699524,777231668,4082475170,2330014213,4142626212,2213296395,1626319424,1906247262,1846563261,562755902,3708173718,1040559837,3871163981,1418573201,3294430577,114585348,1343618912,2566595609,3186202582,1078185097,3651041127,3896688048,2307622919,425408743,3371096953,2081048481,1108339068,2216610296,0,2156299017,736970802,292596766,1517440620,251657213,2235061775,2933202493,758720310,265905162,1554391400,1532285339,908999204,174567692,1474760595,4002861748,2610011675,3234156416,3693126241,2001430874,303699484,2478443234,2687165888,585122620,454499602,151849742,2345119218,3064510765,514443284,4044981591,1963412655,2581445614,2137062819,19308535,1928707164,1715193156,4219352155,1126790795,600235211,3992742070,3841024952,836553431,1669664834,2535604243,3323011204,1243905413,3141400786,4180808110,698445255,2653899549,2989552604,2253581325,3252932727,3004591147,1891211689,2487810577,3915653703,4237083816,4030667424,2100090966,865136418,1229899655,953270745,3399679628,3557504664,4118925222,2061379749,3079546586,2915017791,983426092,2022837584,1607244650,2118541908,2366882550,3635996816,972512814,3283088770,1568718495,3499326569,3576539503,621982671,2895723464,410887952,2623762152,1002142683,645401037,1494807662,2595684844,1335535747,2507040230,4293295786,3167684641,367585007,3885750714,1865862730,2668221674,2960971305,2763173681,1059270954,2777952454,2724642869,1320957812,2194319100,2429595872,2815956275,77089521,3973773121,3444575871,2448830231,1305906550,4021308739,2857194700,2516901860,3518358430,1787304780,740276417,1699839814,1592394909,2352307457,2272556026,188821243,1729977011,3687994002,274084841,3594982253,3613494426,2701949495,4162096729,322734571,2837966542,1640576439,484830689,1202797690,3537852828,4067639125,349075736,3342319475,4157467219,4255800159,1030690015,1155237496,2951971274,1757691577,607398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480],Ei=[0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795],Ai=[0,185469197,370938394,487725847,741876788,657861945,975451694,824852259,1483753576,1400783205,1315723890,1164071807,1950903388,2135319889,1649704518,1767536459,2967507152,3152976349,2801566410,2918353863,2631447780,2547432937,2328143614,2177544179,3901806776,3818836405,4270639778,4118987695,3299409036,3483825537,3535072918,3652904859,2077965243,1893020342,1841768865,1724457132,1474502543,1559041666,1107234197,1257309336,598438867,681933534,901210569,1052338372,261314535,77422314,428819965,310463728,3409685355,3224740454,3710368113,3593056380,3875770207,3960309330,4045380933,4195456072,2471224067,2554718734,2237133081,2388260884,3212035895,3028143674,2842678573,2724322336,4138563181,4255350624,3769721975,3955191162,3667219033,3516619604,3431546947,3347532110,2933734917,2782082824,3099667487,3016697106,2196052529,2313884476,2499348523,2683765030,1179510461,1296297904,1347548327,1533017514,1786102409,1635502980,2087309459,2003294622,507358933,355706840,136428751,53458370,839224033,957055980,605657339,790073846,2373340630,2256028891,2607439820,2422494913,2706270690,2856345839,3075636216,3160175349,3573941694,3725069491,3273267108,3356761769,4181598602,4063242375,4011996048,3828103837,1033297158,915985419,730517276,545572369,296679730,446754879,129166120,213705253,1709610350,1860738147,1945798516,2029293177,1239331162,1120974935,1606591296,1422699085,4148292826,4233094615,3781033664,3931371469,3682191598,3497509347,3446004468,3328955385,2939266226,2755636671,3106780840,2988687269,2198438022,2282195339,2501218972,2652609425,1201765386,1286567175,1371368976,1521706781,1805211710,1620529459,2105887268,1988838185,533804130,350174575,164439672,46346101,870912086,954669403,636813900,788204353,2358957921,2274680428,2592523643,2441661558,2695033685,2880240216,3065962831,3182487618,3572145929,3756299780,3270937875,3388507166,4174560061,4091327024,4006521127,3854606378,1014646705,930369212,711349675,560487590,272786309,457992840,106852767,223377554,1678381017,1862534868,1914052035,2031621326,1211247597,1128014560,1580087799,1428173050,32283319,182621114,401639597,486441376,768917123,651868046,1003007129,818324884,1503449823,1385356242,1333838021,1150208456,1973745387,2125135846,1673061617,1756818940,2970356327,3120694122,2802849917,2887651696,2637442643,2520393566,2334669897,2149987652,3917234703,3799141122,4284502037,4100872472,3309594171,3460984630,3545789473,3629546796,2050466060,1899603969,1814803222,1730525723,1443857720,1560382517,1075025698,1260232239,575138148,692707433,878443390,1062597235,243256656,91341917,409198410,325965383,3403100636,3252238545,3704300486,3620022987,3874428392,3990953189,4042459122,4227665663,2460449204,2578018489,2226875310,2411029155,3198115200,3046200461,2827177882,2743944855],xi=[0,218828297,437656594,387781147,875313188,958871085,775562294,590424639,1750626376,1699970625,1917742170,2135253587,1551124588,1367295589,1180849278,1265195639,3501252752,3720081049,3399941250,3350065803,3835484340,3919042237,4270507174,4085369519,3102249176,3051593425,2734591178,2952102595,2361698556,2177869557,2530391278,2614737639,3145456443,3060847922,2708326185,2892417312,2404901663,2187128086,2504130317,2555048196,3542330227,3727205754,3375740769,3292445032,3876557655,3926170974,4246310725,4027744588,1808481195,1723872674,1910319033,2094410160,1608975247,1391201670,1173430173,1224348052,59984867,244860394,428169201,344873464,935293895,984907214,766078933,547512796,1844882806,1627235199,2011214180,2062270317,1507497298,1423022939,1137477952,1321699145,95345982,145085239,532201772,313773861,830661914,1015671571,731183368,648017665,3175501286,2957853679,2807058932,2858115069,2305455554,2220981195,2474404304,2658625497,3575528878,3625268135,3473416636,3254988725,3778151818,3963161475,4213447064,4130281361,3599595085,3683022916,3432737375,3247465558,3802222185,4020912224,4172763771,4122762354,3201631749,3017672716,2764249623,2848461854,2331590177,2280796200,2431590963,2648976442,104699613,188127444,472615631,287343814,840019705,1058709744,671593195,621591778,1852171925,1668212892,1953757831,2037970062,1514790577,1463996600,1080017571,1297403050,3673637356,3623636965,3235995134,3454686199,4007360968,3822090177,4107101658,4190530515,2997825956,3215212461,2830708150,2779915199,2256734592,2340947849,2627016082,2443058075,172466556,122466165,273792366,492483431,1047239e3,861968209,612205898,695634755,1646252340,1863638845,2013908262,1963115311,1446242576,1530455833,1277555970,1093597963,1636604631,1820824798,2073724613,1989249228,1436590835,1487645946,1337376481,1119727848,164948639,81781910,331544205,516552836,1039717051,821288114,669961897,719700128,2973530695,3157750862,2871682645,2787207260,2232435299,2283490410,2667994737,2450346104,3647212047,3564045318,3279033885,3464042516,3980931627,3762502690,4150144569,4199882800,3070356634,3121275539,2904027272,2686254721,2200818878,2384911031,2570832044,2486224549,3747192018,3528626907,3310321856,3359936201,3950355702,3867060991,4049844452,4234721005,1739656202,1790575107,2108100632,1890328081,1402811438,1586903591,1233856572,1149249077,266959938,48394827,369057872,418672217,1002783846,919489135,567498868,752375421,209336225,24197544,376187827,459744698,945164165,895287692,574624663,793451934,1679968233,1764313568,2117360635,1933530610,1343127501,1560637892,1243112415,1192455638,3704280881,3519142200,3336358691,3419915562,3907448597,3857572124,4075877127,4294704398,3029510009,3113855344,2927934315,2744104290,2159976285,2377486676,2594734927,2544078150],Bi=[0,151849742,303699484,454499602,607398968,758720310,908999204,1059270954,1214797936,1097159550,1517440620,1400849762,1817998408,1699839814,2118541908,2001430874,2429595872,2581445614,2194319100,2345119218,3034881240,3186202582,2801699524,2951971274,3635996816,3518358430,3399679628,3283088770,4237083816,4118925222,4002861748,3885750714,1002142683,850817237,698445255,548169417,529487843,377642221,227885567,77089521,1943217067,2061379749,1640576439,1757691577,1474760595,1592394909,1174215055,1290801793,2875968315,2724642869,3111247143,2960971305,2405426947,2253581325,2638606623,2487810577,3808662347,3926825029,4044981591,4162096729,3342319475,3459953789,3576539503,3693126241,1986918061,2137062819,1685577905,1836772287,1381620373,1532285339,1078185097,1229899655,1040559837,923313619,740276417,621982671,439452389,322734571,137073913,19308535,3871163981,4021308739,4104605777,4255800159,3263785589,3414450555,3499326569,3651041127,2933202493,2815956275,3167684641,3049390895,2330014213,2213296395,2566595609,2448830231,1305906550,1155237496,1607244650,1455525988,1776460110,1626319424,2079897426,1928707164,96392454,213114376,396673818,514443284,562755902,679998e3,865136418,983426092,3708173718,3557504664,3474729866,3323011204,4180808110,4030667424,3945269170,3794078908,2507040230,2623762152,2272556026,2390325492,2975484382,3092726480,2738905026,2857194700,3973773121,3856137295,4274053469,4157467219,3371096953,3252932727,3673476453,3556361835,2763173681,2915017791,3064510765,3215307299,2156299017,2307622919,2459735317,2610011675,2081048481,1963412655,1846563261,1729977011,1480485785,1362321559,1243905413,1126790795,878845905,1030690015,645401037,796197571,274084841,425408743,38544885,188821243,3613494426,3731654548,3313212038,3430322568,4082475170,4200115116,3780097726,3896688048,2668221674,2516901860,2366882550,2216610296,3141400786,2989552604,2837966542,2687165888,1202797690,1320957812,1437280870,1554391400,1669664834,1787304780,1906247262,2022837584,265905162,114585348,499347990,349075736,736970802,585122620,972512814,821712160,2595684844,2478443234,2293045232,2174754046,3196267988,3079546586,2895723464,2777952454,3537852828,3687994002,3234156416,3385345166,4142626212,4293295786,3841024952,3992742070,174567692,57326082,410887952,292596766,777231668,660510266,1011452712,893681702,1108339068,1258480242,1343618912,1494807662,1715193156,1865862730,1948373848,2100090966,2701949495,2818666809,3004591147,3122358053,2235061775,2352307457,2535604243,2653899549,3915653703,3764988233,4219352155,4067639125,3444575871,3294430577,3746175075,3594982253,836553431,953270745,600235211,718002117,367585007,484830689,133361907,251657213,2041877159,1891211689,1806599355,1654886325,1568718495,1418573201,1335535747,1184342925];function Ui(e){for(var t=[],r=0;r<e.length;r+=4)t.push(e[r]<<24|e[r+1]<<16|e[r+2]<<8|e[r+3]);return t}var ki=function(e){if(!(this instanceof ki))throw Error("AES must be instanitated with `new`");Object.defineProperty(this,"key",{value:oi(e,!0)}),this._prepare()};ki.prototype._prepare=function(){var e=ci[this.key.length];if(null==e)throw new Error("invalid key size (must be 16, 24 or 32 bytes)");this._Ke=[],this._Kd=[];for(var t=0;t<=e;t++)this._Ke.push([0,0,0,0]),this._Kd.push([0,0,0,0]);var r,i=4*(e+1),n=this.key.length/4,o=Ui(this.key);for(t=0;t<n;t++)r=t>>2,this._Ke[r][t%4]=o[t],this._Kd[e-r][t%4]=o[t];for(var s,a=0,d=n;d<i;){if(s=o[n-1],o[0]^=hi[s>>16&255]<<24^hi[s>>8&255]<<16^hi[255&s]<<8^hi[s>>24&255]^fi[a]<<24,a+=1,8!=n)for(t=1;t<n;t++)o[t]^=o[t-1];else{for(t=1;t<n/2;t++)o[t]^=o[t-1];s=o[n/2-1],o[n/2]^=hi[255&s]^hi[s>>8&255]<<8^hi[s>>16&255]<<16^hi[s>>24&255]<<24;for(t=n/2+1;t<n;t++)o[t]^=o[t-1]}for(t=0;t<n&&d<i;)l=d>>2,u=d%4,this._Ke[l][u]=o[t],this._Kd[e-l][u]=o[t++],d++}for(var l=1;l<e;l++)for(var u=0;u<4;u++)s=this._Kd[l][u],this._Kd[l][u]=Ei[s>>24&255]^Ai[s>>16&255]^xi[s>>8&255]^Bi[255&s]},ki.prototype.encrypt=function(e){if(16!=e.length)throw new Error("invalid plaintext size (must be 16 bytes)");for(var t=this._Ke.length-1,r=[0,0,0,0],i=Ui(e),n=0;n<4;n++)i[n]^=this._Ke[0][n];for(var o=1;o<t;o++){for(n=0;n<4;n++)r[n]=mi[i[n]>>24&255]^_i[i[(n+1)%4]>>16&255]^gi[i[(n+2)%4]>>8&255]^yi[255&i[(n+3)%4]]^this._Ke[o][n];i=r.slice()}var s,a=si(16);for(n=0;n<4;n++)s=this._Ke[t][n],a[4*n]=255&(hi[i[n]>>24&255]^s>>24),a[4*n+1]=255&(hi[i[(n+1)%4]>>16&255]^s>>16),a[4*n+2]=255&(hi[i[(n+2)%4]>>8&255]^s>>8),a[4*n+3]=255&(hi[255&i[(n+3)%4]]^s);return a},ki.prototype.decrypt=function(e){if(16!=e.length)throw new Error("invalid ciphertext size (must be 16 bytes)");for(var t=this._Kd.length-1,r=[0,0,0,0],i=Ui(e),n=0;n<4;n++)i[n]^=this._Kd[0][n];for(var o=1;o<t;o++){for(n=0;n<4;n++)r[n]=vi[i[n]>>24&255]^bi[i[(n+3)%4]>>16&255]^wi[i[(n+2)%4]>>8&255]^Si[255&i[(n+1)%4]]^this._Kd[o][n];i=r.slice()}var s,a=si(16);for(n=0;n<4;n++)s=this._Kd[t][n],a[4*n]=255&(pi[i[n]>>24&255]^s>>24),a[4*n+1]=255&(pi[i[(n+3)%4]>>16&255]^s>>16),a[4*n+2]=255&(pi[i[(n+2)%4]>>8&255]^s>>8),a[4*n+3]=255&(pi[255&i[(n+1)%4]]^s);return a};var Ti=function(e){if(!(this instanceof Ti))throw Error("AES must be instanitated with `new`");this.description="Electronic Code Block",this.name="ecb",this._aes=new ki(e)};Ti.prototype.encrypt=function(e){if((e=oi(e)).length%16!=0)throw new Error("invalid plaintext size (must be multiple of 16 bytes)");for(var t=si(e.length),r=si(16),i=0;i<e.length;i+=16)ai(e,r,0,i,i+16),ai(r=this._aes.encrypt(r),t,i);return t},Ti.prototype.decrypt=function(e){if((e=oi(e)).length%16!=0)throw new Error("invalid ciphertext size (must be multiple of 16 bytes)");for(var t=si(e.length),r=si(16),i=0;i<e.length;i+=16)ai(e,r,0,i,i+16),ai(r=this._aes.decrypt(r),t,i);return t};var Ci=function(e,t){if(!(this instanceof Ci))throw Error("AES must be instanitated with `new`");if(this.description="Cipher Block Chaining",this.name="cbc",t){if(16!=t.length)throw new Error("invalid initialation vector size (must be 16 bytes)")}else t=si(16);this._lastCipherblock=oi(t,!0),this._aes=new ki(e)};Ci.prototype.encrypt=function(e){if((e=oi(e)).length%16!=0)throw new Error("invalid plaintext size (must be multiple of 16 bytes)");for(var t=si(e.length),r=si(16),i=0;i<e.length;i+=16){ai(e,r,0,i,i+16);for(var n=0;n<16;n++)r[n]^=this._lastCipherblock[n];this._lastCipherblock=this._aes.encrypt(r),ai(this._lastCipherblock,t,i)}return t},Ci.prototype.decrypt=function(e){if((e=oi(e)).length%16!=0)throw new Error("invalid ciphertext size (must be multiple of 16 bytes)");for(var t=si(e.length),r=si(16),i=0;i<e.length;i+=16){ai(e,r,0,i,i+16),r=this._aes.decrypt(r);for(var n=0;n<16;n++)t[i+n]=r[n]^this._lastCipherblock[n];ai(e,this._lastCipherblock,0,i,i+16)}return t};var Di=function(e,t,r){if(!(this instanceof Di))throw Error("AES must be instanitated with `new`");if(this.description="Cipher Feedback",this.name="cfb",t){if(16!=t.length)throw new Error("invalid initialation vector size (must be 16 size)")}else t=si(16);r||(r=1),this.segmentSize=r,this._shiftRegister=oi(t,!0),this._aes=new ki(e)};Di.prototype.encrypt=function(e){if(e.length%this.segmentSize!=0)throw new Error("invalid plaintext size (must be segmentSize bytes)");for(var t,r=oi(e,!0),i=0;i<r.length;i+=this.segmentSize){t=this._aes.encrypt(this._shiftRegister);for(var n=0;n<this.segmentSize;n++)r[i+n]^=t[n];ai(this._shiftRegister,this._shiftRegister,0,this.segmentSize),ai(r,this._shiftRegister,16-this.segmentSize,i,i+this.segmentSize)}return r},Di.prototype.decrypt=function(e){if(e.length%this.segmentSize!=0)throw new Error("invalid ciphertext size (must be segmentSize bytes)");for(var t,r=oi(e,!0),i=0;i<r.length;i+=this.segmentSize){t=this._aes.encrypt(this._shiftRegister);for(var n=0;n<this.segmentSize;n++)r[i+n]^=t[n];ai(this._shiftRegister,this._shiftRegister,0,this.segmentSize),ai(e,this._shiftRegister,16-this.segmentSize,i,i+this.segmentSize)}return r};var Pi=function(e,t){if(!(this instanceof Pi))throw Error("AES must be instanitated with `new`");if(this.description="Output Feedback",this.name="ofb",t){if(16!=t.length)throw new Error("invalid initialation vector size (must be 16 bytes)")}else t=si(16);this._lastPrecipher=oi(t,!0),this._lastPrecipherIndex=16,this._aes=new ki(e)};Pi.prototype.encrypt=function(e){for(var t=oi(e,!0),r=0;r<t.length;r++)16===this._lastPrecipherIndex&&(this._lastPrecipher=this._aes.encrypt(this._lastPrecipher),this._lastPrecipherIndex=0),t[r]^=this._lastPrecipher[this._lastPrecipherIndex++];return t},Pi.prototype.decrypt=Pi.prototype.encrypt;var Fi=function(e){if(!(this instanceof Fi))throw Error("Counter must be instanitated with `new`");0===e||e||(e=1),"number"==typeof e?(this._counter=si(16),this.setValue(e)):this.setBytes(e)};Fi.prototype.setValue=function(e){if("number"!=typeof e||parseInt(e)!=e)throw new Error("invalid counter value (must be an integer)");if(e>Number.MAX_SAFE_INTEGER)throw new Error("integer value out of safe range");for(var t=15;t>=0;--t)this._counter[t]=e%256,e=parseInt(e/256)},Fi.prototype.setBytes=function(e){if(16!=(e=oi(e,!0)).length)throw new Error("invalid counter bytes size (must be 16 bytes)");this._counter=e},Fi.prototype.increment=function(){for(var e=15;e>=0;e--){if(255!==this._counter[e]){this._counter[e]++;break}this._counter[e]=0}};var Ii=function(e,t){if(!(this instanceof Ii))throw Error("AES must be instanitated with `new`");this.description="Counter",this.name="ctr",t instanceof Fi||(t=new Fi(t)),this._counter=t,this._remainingCounter=null,this._remainingCounterIndex=16,this._aes=new ki(e)};Ii.prototype.encrypt=function(e){for(var t=oi(e,!0),r=0;r<t.length;r++)16===this._remainingCounterIndex&&(this._remainingCounter=this._aes.encrypt(this._counter._counter),this._remainingCounterIndex=0,this._counter.increment()),t[r]^=this._remainingCounter[this._remainingCounterIndex++];return t},Ii.prototype.decrypt=Ii.prototype.encrypt;const Li={AES:ki,Counter:Fi,ModeOfOperation:{ecb:Ti,cbc:Ci,cfb:Di,ofb:Pi,ctr:Ii},utils:{hex:ui,utf8:li},padding:{pkcs7:{pad:function(e){var t=16-(e=oi(e,!0)).length%16,r=si(e.length+t);ai(e,r);for(var i=e.length;i<r.length;i++)r[i]=t;return r},strip:function(e){if((e=oi(e,!0)).length<16)throw new Error("PKCS#7 invalid length");var t=e[e.length-1];if(t>16)throw new Error("PKCS#7 padding byte out of range");for(var r=e.length-t,i=0;i<t;i++)if(e[r+i]!==t)throw new Error("PKCS#7 invalid padding byte");var n=si(r);return ai(e,n,0,0,r),n}}},_arrayTest:{coerceArray:oi,createArray:si,copyArray:ai}};var Mi=Ot((function(e,t){var r;e.exports=(r=r||function(e,t){var r;if("undefined"!=typeof window&&window.crypto&&(r=window.crypto),"undefined"!=typeof self&&self.crypto&&(r=self.crypto),"undefined"!=typeof globalThis&&globalThis.crypto&&(r=globalThis.crypto),!r&&"undefined"!=typeof window&&window.msCrypto&&(r=window.msCrypto),!r&&void 0!==Nt&&Nt.crypto&&(r=Nt.crypto),!r)try{r=n.default}catch(e){}var i=function(){if(r){if("function"==typeof r.getRandomValues)try{return r.getRandomValues(new Uint32Array(1))[0]}catch(e){}if("function"==typeof r.randomBytes)try{return r.randomBytes(4).readInt32LE()}catch(e){}}throw new Error("Native crypto module could not be used to get secure random number.")},o=Object.create||function(){function e(){}return function(t){var r;return e.prototype=t,r=new e,e.prototype=null,r}}(),s={},a=s.lib={},d=a.Base={extend:function(e){var t=o(this);return e&&t.mixIn(e),t.hasOwnProperty("init")&&this.init!==t.init||(t.init=function(){t.$super.init.apply(this,arguments)}),t.init.prototype=t,t.$super=this,t},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty("toString")&&(this.toString=e.toString)},clone:function(){return this.init.prototype.extend(this)}},l=a.WordArray=d.extend({init:function(e,r){e=this.words=e||[],this.sigBytes=r!=t?r:4*e.length},toString:function(e){return(e||c).stringify(this)},concat:function(e){var t=this.words,r=e.words,i=this.sigBytes,n=e.sigBytes;if(this.clamp(),i%4)for(var o=0;o<n;o++){var s=r[o>>>2]>>>24-o%4*8&255;t[i+o>>>2]|=s<<24-(i+o)%4*8}else for(var a=0;a<n;a+=4)t[i+a>>>2]=r[a>>>2];return this.sigBytes+=n,this},clamp:function(){var t=this.words,r=this.sigBytes;t[r>>>2]&=4294967295<<32-r%4*8,t.length=e.ceil(r/4)},clone:function(){var e=d.clone.call(this);return e.words=this.words.slice(0),e},random:function(e){for(var t=[],r=0;r<e;r+=4)t.push(i());return new l.init(t,e)}}),u=s.enc={},c=u.Hex={stringify:function(e){for(var t=e.words,r=e.sigBytes,i=[],n=0;n<r;n++){var o=t[n>>>2]>>>24-n%4*8&255;i.push((o>>>4).toString(16)),i.push((15&o).toString(16))}return i.join("")},parse:function(e){for(var t=e.length,r=[],i=0;i<t;i+=2)r[i>>>3]|=parseInt(e.substr(i,2),16)<<24-i%8*4;return new l.init(r,t/2)}},f=u.Latin1={stringify:function(e){for(var t=e.words,r=e.sigBytes,i=[],n=0;n<r;n++){var o=t[n>>>2]>>>24-n%4*8&255;i.push(String.fromCharCode(o))}return i.join("")},parse:function(e){for(var t=e.length,r=[],i=0;i<t;i++)r[i>>>2]|=(255&e.charCodeAt(i))<<24-i%4*8;return new l.init(r,t)}},h=u.Utf8={stringify:function(e){try{return decodeURIComponent(escape(f.stringify(e)))}catch(e){throw new Error("Malformed UTF-8 data")}},parse:function(e){return f.parse(unescape(encodeURIComponent(e)))}},p=a.BufferedBlockAlgorithm=d.extend({reset:function(){this._data=new l.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=h.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var r,i=this._data,n=i.words,o=i.sigBytes,s=this.blockSize,a=o/(4*s),d=(a=t?e.ceil(a):e.max((0|a)-this._minBufferSize,0))*s,u=e.min(4*d,o);if(d){for(var c=0;c<d;c+=s)this._doProcessBlock(n,c);r=n.splice(0,d),i.sigBytes-=u}return new l.init(r,u)},clone:function(){var e=d.clone.call(this);return e._data=this._data.clone(),e},_minBufferSize:0});a.Hasher=p.extend({cfg:d.extend(),init:function(e){this.cfg=this.cfg.extend(e),this.reset()},reset:function(){p.reset.call(this),this._doReset()},update:function(e){return this._append(e),this._process(),this},finalize:function(e){return e&&this._append(e),this._doFinalize()},blockSize:16,_createHelper:function(e){return function(t,r){return new e.init(r).finalize(t)}},_createHmacHelper:function(e){return function(t,r){return new m.HMAC.init(e,r).finalize(t)}}});var m=s.algo={};return s}(Math),r)}));Ot((function(e,t){var r,i,n,o,s,a,d;e.exports=(n=(i=d=Mi).lib,o=n.Base,s=n.WordArray,(a=i.x64={}).Word=o.extend({init:function(e,t){this.high=e,this.low=t}}),a.WordArray=o.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=t!=r?t:8*e.length},toX32:function(){for(var e=this.words,t=e.length,r=[],i=0;i<t;i++){var n=e[i];r.push(n.high),r.push(n.low)}return s.create(r,this.sigBytes)},clone:function(){for(var e=o.clone.call(this),t=e.words=this.words.slice(0),r=t.length,i=0;i<r;i++)t[i]=t[i].clone();return e}}),d)})),Ot((function(e,t){var r;e.exports=(r=Mi,function(){if("function"==typeof ArrayBuffer){var e=r.lib.WordArray,t=e.init,i=e.init=function(e){if(e instanceof ArrayBuffer&&(e=new Uint8Array(e)),(e instanceof Int8Array||"undefined"!=typeof Uint8ClampedArray&&e instanceof Uint8ClampedArray||e instanceof Int16Array||e instanceof Uint16Array||e instanceof Int32Array||e instanceof Uint32Array||e instanceof Float32Array||e instanceof Float64Array)&&(e=new Uint8Array(e.buffer,e.byteOffset,e.byteLength)),e instanceof Uint8Array){for(var r=e.byteLength,i=[],n=0;n<r;n++)i[n>>>2]|=e[n]<<24-n%4*8;t.call(this,i,r)}else t.apply(this,arguments)};i.prototype=e}}(),r.lib.WordArray)})),Ot((function(e,t){var r;e.exports=(r=Mi,function(){var e=r,t=e.lib.WordArray,i=e.enc;function n(e){return e<<8&4278255360|e>>>8&16711935}i.Utf16=i.Utf16BE={stringify:function(e){for(var t=e.words,r=e.sigBytes,i=[],n=0;n<r;n+=2){var o=t[n>>>2]>>>16-n%4*8&65535;i.push(String.fromCharCode(o))}return i.join("")},parse:function(e){for(var r=e.length,i=[],n=0;n<r;n++)i[n>>>1]|=e.charCodeAt(n)<<16-n%2*16;return t.create(i,2*r)}},i.Utf16LE={stringify:function(e){for(var t=e.words,r=e.sigBytes,i=[],o=0;o<r;o+=2){var s=n(t[o>>>2]>>>16-o%4*8&65535);i.push(String.fromCharCode(s))}return i.join("")},parse:function(e){for(var r=e.length,i=[],o=0;o<r;o++)i[o>>>1]|=n(e.charCodeAt(o)<<16-o%2*16);return t.create(i,2*r)}}}(),r.enc.Utf16)})),Ot((function(e,t){var r;e.exports=(r=Mi,function(){var e=r,t=e.lib.WordArray;function i(e,r,i){for(var n=[],o=0,s=0;s<r;s++)if(s%4){var a=i[e.charCodeAt(s-1)]<<s%4*2|i[e.charCodeAt(s)]>>>6-s%4*2;n[o>>>2]|=a<<24-o%4*8,o++}return t.create(n,o)}e.enc.Base64={stringify:function(e){var t=e.words,r=e.sigBytes,i=this._map;e.clamp();for(var n=[],o=0;o<r;o+=3)for(var s=(t[o>>>2]>>>24-o%4*8&255)<<16|(t[o+1>>>2]>>>24-(o+1)%4*8&255)<<8|t[o+2>>>2]>>>24-(o+2)%4*8&255,a=0;a<4&&o+.75*a<r;a++)n.push(i.charAt(s>>>6*(3-a)&63));var d=i.charAt(64);if(d)for(;n.length%4;)n.push(d);return n.join("")},parse:function(e){var t=e.length,r=this._map,n=this._reverseMap;if(!n){n=this._reverseMap=[];for(var o=0;o<r.length;o++)n[r.charCodeAt(o)]=o}var s=r.charAt(64);if(s){var a=e.indexOf(s);-1!==a&&(t=a)}return i(e,t,n)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}}(),r.enc.Base64)})),Ot((function(e,t){var r;e.exports=(r=Mi,function(){var e=r,t=e.lib.WordArray;function i(e,r,i){for(var n=[],o=0,s=0;s<r;s++)if(s%4){var a=i[e.charCodeAt(s-1)]<<s%4*2|i[e.charCodeAt(s)]>>>6-s%4*2;n[o>>>2]|=a<<24-o%4*8,o++}return t.create(n,o)}e.enc.Base64url={stringify:function(e,t){void 0===t&&(t=!0);var r=e.words,i=e.sigBytes,n=t?this._safe_map:this._map;e.clamp();for(var o=[],s=0;s<i;s+=3)for(var a=(r[s>>>2]>>>24-s%4*8&255)<<16|(r[s+1>>>2]>>>24-(s+1)%4*8&255)<<8|r[s+2>>>2]>>>24-(s+2)%4*8&255,d=0;d<4&&s+.75*d<i;d++)o.push(n.charAt(a>>>6*(3-d)&63));var l=n.charAt(64);if(l)for(;o.length%4;)o.push(l);return o.join("")},parse:function(e,t){void 0===t&&(t=!0);var r=e.length,n=t?this._safe_map:this._map,o=this._reverseMap;if(!o){o=this._reverseMap=[];for(var s=0;s<n.length;s++)o[n.charCodeAt(s)]=s}var a=n.charAt(64);if(a){var d=e.indexOf(a);-1!==d&&(r=d)}return i(e,r,o)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",_safe_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"}}(),r.enc.Base64url)})),Ot((function(e,t){var r;e.exports=(r=Mi,function(e){var t=r,i=t.lib,n=i.WordArray,o=i.Hasher,s=t.algo,a=[];!function(){for(var t=0;t<64;t++)a[t]=4294967296*e.abs(e.sin(t+1))|0}();var d=s.MD5=o.extend({_doReset:function(){this._hash=new n.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(e,t){for(var r=0;r<16;r++){var i=t+r,n=e[i];e[i]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8)}var o=this._hash.words,s=e[t+0],d=e[t+1],h=e[t+2],p=e[t+3],m=e[t+4],_=e[t+5],g=e[t+6],y=e[t+7],v=e[t+8],b=e[t+9],w=e[t+10],S=e[t+11],E=e[t+12],A=e[t+13],x=e[t+14],B=e[t+15],U=o[0],k=o[1],T=o[2],C=o[3];U=l(U,k,T,C,s,7,a[0]),C=l(C,U,k,T,d,12,a[1]),T=l(T,C,U,k,h,17,a[2]),k=l(k,T,C,U,p,22,a[3]),U=l(U,k,T,C,m,7,a[4]),C=l(C,U,k,T,_,12,a[5]),T=l(T,C,U,k,g,17,a[6]),k=l(k,T,C,U,y,22,a[7]),U=l(U,k,T,C,v,7,a[8]),C=l(C,U,k,T,b,12,a[9]),T=l(T,C,U,k,w,17,a[10]),k=l(k,T,C,U,S,22,a[11]),U=l(U,k,T,C,E,7,a[12]),C=l(C,U,k,T,A,12,a[13]),T=l(T,C,U,k,x,17,a[14]),U=u(U,k=l(k,T,C,U,B,22,a[15]),T,C,d,5,a[16]),C=u(C,U,k,T,g,9,a[17]),T=u(T,C,U,k,S,14,a[18]),k=u(k,T,C,U,s,20,a[19]),U=u(U,k,T,C,_,5,a[20]),C=u(C,U,k,T,w,9,a[21]),T=u(T,C,U,k,B,14,a[22]),k=u(k,T,C,U,m,20,a[23]),U=u(U,k,T,C,b,5,a[24]),C=u(C,U,k,T,x,9,a[25]),T=u(T,C,U,k,p,14,a[26]),k=u(k,T,C,U,v,20,a[27]),U=u(U,k,T,C,A,5,a[28]),C=u(C,U,k,T,h,9,a[29]),T=u(T,C,U,k,y,14,a[30]),U=c(U,k=u(k,T,C,U,E,20,a[31]),T,C,_,4,a[32]),C=c(C,U,k,T,v,11,a[33]),T=c(T,C,U,k,S,16,a[34]),k=c(k,T,C,U,x,23,a[35]),U=c(U,k,T,C,d,4,a[36]),C=c(C,U,k,T,m,11,a[37]),T=c(T,C,U,k,y,16,a[38]),k=c(k,T,C,U,w,23,a[39]),U=c(U,k,T,C,A,4,a[40]),C=c(C,U,k,T,s,11,a[41]),T=c(T,C,U,k,p,16,a[42]),k=c(k,T,C,U,g,23,a[43]),U=c(U,k,T,C,b,4,a[44]),C=c(C,U,k,T,E,11,a[45]),T=c(T,C,U,k,B,16,a[46]),U=f(U,k=c(k,T,C,U,h,23,a[47]),T,C,s,6,a[48]),C=f(C,U,k,T,y,10,a[49]),T=f(T,C,U,k,x,15,a[50]),k=f(k,T,C,U,_,21,a[51]),U=f(U,k,T,C,E,6,a[52]),C=f(C,U,k,T,p,10,a[53]),T=f(T,C,U,k,w,15,a[54]),k=f(k,T,C,U,d,21,a[55]),U=f(U,k,T,C,v,6,a[56]),C=f(C,U,k,T,B,10,a[57]),T=f(T,C,U,k,g,15,a[58]),k=f(k,T,C,U,A,21,a[59]),U=f(U,k,T,C,m,6,a[60]),C=f(C,U,k,T,S,10,a[61]),T=f(T,C,U,k,h,15,a[62]),k=f(k,T,C,U,b,21,a[63]),o[0]=o[0]+U|0,o[1]=o[1]+k|0,o[2]=o[2]+T|0,o[3]=o[3]+C|0},_doFinalize:function(){var t=this._data,r=t.words,i=8*this._nDataBytes,n=8*t.sigBytes;r[n>>>5]|=128<<24-n%32;var o=e.floor(i/4294967296),s=i;r[15+(n+64>>>9<<4)]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),r[14+(n+64>>>9<<4)]=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),t.sigBytes=4*(r.length+1),this._process();for(var a=this._hash,d=a.words,l=0;l<4;l++){var u=d[l];d[l]=16711935&(u<<8|u>>>24)|4278255360&(u<<24|u>>>8)}return a},clone:function(){var e=o.clone.call(this);return e._hash=this._hash.clone(),e}});function l(e,t,r,i,n,o,s){var a=e+(t&r|~t&i)+n+s;return(a<<o|a>>>32-o)+t}function u(e,t,r,i,n,o,s){var a=e+(t&i|r&~i)+n+s;return(a<<o|a>>>32-o)+t}function c(e,t,r,i,n,o,s){var a=e+(t^r^i)+n+s;return(a<<o|a>>>32-o)+t}function f(e,t,r,i,n,o,s){var a=e+(r^(t|~i))+n+s;return(a<<o|a>>>32-o)+t}t.MD5=o._createHelper(d),t.HmacMD5=o._createHmacHelper(d)}(Math),r.MD5)})),Ot((function(e,t){var r,i,n,o,s,a,d,l;e.exports=(i=(r=l=Mi).lib,n=i.WordArray,o=i.Hasher,s=r.algo,a=[],d=s.SHA1=o.extend({_doReset:function(){this._hash=new n.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var r=this._hash.words,i=r[0],n=r[1],o=r[2],s=r[3],d=r[4],l=0;l<80;l++){if(l<16)a[l]=0|e[t+l];else{var u=a[l-3]^a[l-8]^a[l-14]^a[l-16];a[l]=u<<1|u>>>31}var c=(i<<5|i>>>27)+d+a[l];c+=l<20?1518500249+(n&o|~n&s):l<40?1859775393+(n^o^s):l<60?(n&o|n&s|o&s)-1894007588:(n^o^s)-899497514,d=s,s=o,o=n<<30|n>>>2,n=i,i=c}r[0]=r[0]+i|0,r[1]=r[1]+n|0,r[2]=r[2]+o|0,r[3]=r[3]+s|0,r[4]=r[4]+d|0},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,i=8*e.sigBytes;return t[i>>>5]|=128<<24-i%32,t[14+(i+64>>>9<<4)]=Math.floor(r/4294967296),t[15+(i+64>>>9<<4)]=r,e.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var e=o.clone.call(this);return e._hash=this._hash.clone(),e}}),r.SHA1=o._createHelper(d),r.HmacSHA1=o._createHmacHelper(d),l.SHA1)})),Ot((function(e,t){var r;e.exports=(r=Mi,function(e){var t=r,i=t.lib,n=i.WordArray,o=i.Hasher,s=t.algo,a=[],d=[];!function(){function t(t){for(var r=e.sqrt(t),i=2;i<=r;i++)if(!(t%i))return!1;return!0}function r(e){return 4294967296*(e-(0|e))|0}for(var i=2,n=0;n<64;)t(i)&&(n<8&&(a[n]=r(e.pow(i,.5))),d[n]=r(e.pow(i,1/3)),n++),i++}();var l=[],u=s.SHA256=o.extend({_doReset:function(){this._hash=new n.init(a.slice(0))},_doProcessBlock:function(e,t){for(var r=this._hash.words,i=r[0],n=r[1],o=r[2],s=r[3],a=r[4],u=r[5],c=r[6],f=r[7],h=0;h<64;h++){if(h<16)l[h]=0|e[t+h];else{var p=l[h-15],m=(p<<25|p>>>7)^(p<<14|p>>>18)^p>>>3,_=l[h-2],g=(_<<15|_>>>17)^(_<<13|_>>>19)^_>>>10;l[h]=m+l[h-7]+g+l[h-16]}var y=i&n^i&o^n&o,v=(i<<30|i>>>2)^(i<<19|i>>>13)^(i<<10|i>>>22),b=f+((a<<26|a>>>6)^(a<<21|a>>>11)^(a<<7|a>>>25))+(a&u^~a&c)+d[h]+l[h];f=c,c=u,u=a,a=s+b|0,s=o,o=n,n=i,i=b+(v+y)|0}r[0]=r[0]+i|0,r[1]=r[1]+n|0,r[2]=r[2]+o|0,r[3]=r[3]+s|0,r[4]=r[4]+a|0,r[5]=r[5]+u|0,r[6]=r[6]+c|0,r[7]=r[7]+f|0},_doFinalize:function(){var t=this._data,r=t.words,i=8*this._nDataBytes,n=8*t.sigBytes;return r[n>>>5]|=128<<24-n%32,r[14+(n+64>>>9<<4)]=e.floor(i/4294967296),r[15+(n+64>>>9<<4)]=i,t.sigBytes=4*r.length,this._process(),this._hash},clone:function(){var e=o.clone.call(this);return e._hash=this._hash.clone(),e}});t.SHA256=o._createHelper(u),t.HmacSHA256=o._createHmacHelper(u)}(Math),r.SHA256)})),Ot((function(e,t){var r,i,n,o,s,a;e.exports=(i=(r=a=Mi).lib.WordArray,n=r.algo,o=n.SHA256,s=n.SHA224=o.extend({_doReset:function(){this._hash=new i.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var e=o._doFinalize.call(this);return e.sigBytes-=4,e}}),r.SHA224=o._createHelper(s),r.HmacSHA224=o._createHmacHelper(s),a.SHA224)})),Ot((function(e,t){var r;e.exports=(r=Mi,function(){var e=r,t=e.lib.Hasher,i=e.x64,n=i.Word,o=i.WordArray,s=e.algo;function a(){return n.create.apply(n,arguments)}var d=[a(1116352408,3609767458),a(1899447441,602891725),a(3049323471,3964484399),a(3921009573,2173295548),a(961987163,4081628472),a(1508970993,3053834265),a(2453635748,2937671579),a(2870763221,3664609560),a(3624381080,2734883394),a(310598401,1164996542),a(607225278,1323610764),a(1426881987,3590304994),a(1925078388,4068182383),a(2162078206,991336113),a(2614888103,633803317),a(3248222580,3479774868),a(3835390401,2666613458),a(4022224774,944711139),a(264347078,2341262773),a(604807628,2007800933),a(770255983,1495990901),a(1249150122,1856431235),a(1555081692,3175218132),a(1996064986,2198950837),a(2554220882,3999719339),a(2821834349,766784016),a(2952996808,2566594879),a(3210313671,3203337956),a(3336571891,1034457026),a(3584528711,2466948901),a(113926993,3758326383),a(338241895,168717936),a(666307205,1188179964),a(773529912,1546045734),a(1294757372,1522805485),a(1396182291,2643833823),a(1695183700,2343527390),a(1986661051,1014477480),a(2177026350,1206759142),a(2456956037,344077627),a(2730485921,1290863460),a(2820302411,3158454273),a(3259730800,3505952657),a(3345764771,106217008),a(3516065817,3606008344),a(3600352804,1432725776),a(4094571909,1467031594),a(275423344,851169720),a(430227734,3100823752),a(506948616,1363258195),a(659060556,3750685593),a(883997877,3785050280),a(958139571,3318307427),a(1322822218,3812723403),a(1537002063,2003034995),a(1747873779,3602036899),a(1955562222,1575990012),a(2024104815,1125592928),a(2227730452,2716904306),a(2361852424,442776044),a(2428436474,593698344),a(2756734187,3733110249),a(3204031479,2999351573),a(3329325298,3815920427),a(3391569614,3928383900),a(3515267271,566280711),a(3940187606,3454069534),a(4118630271,4000239992),a(116418474,1914138554),a(174292421,2731055270),a(289380356,3203993006),a(460393269,320620315),a(685471733,587496836),a(852142971,1086792851),a(1017036298,365543100),a(1126000580,2618297676),a(1288033470,3409855158),a(1501505948,4234509866),a(1607167915,987167468),a(1816402316,1246189591)],l=[];!function(){for(var e=0;e<80;e++)l[e]=a()}();var u=s.SHA512=t.extend({_doReset:function(){this._hash=new o.init([new n.init(1779033703,4089235720),new n.init(3144134277,2227873595),new n.init(1013904242,4271175723),new n.init(2773480762,1595750129),new n.init(1359893119,2917565137),new n.init(2600822924,725511199),new n.init(528734635,4215389547),new n.init(1541459225,327033209)])},_doProcessBlock:function(e,t){for(var r=this._hash.words,i=r[0],n=r[1],o=r[2],s=r[3],a=r[4],u=r[5],c=r[6],f=r[7],h=i.high,p=i.low,m=n.high,_=n.low,g=o.high,y=o.low,v=s.high,b=s.low,w=a.high,S=a.low,E=u.high,A=u.low,x=c.high,B=c.low,U=f.high,k=f.low,T=h,C=p,D=m,P=_,F=g,I=y,L=v,M=b,R=w,z=S,N=E,O=A,G=x,$=B,H=U,V=k,W=0;W<80;W++){var j,q,Y=l[W];if(W<16)q=Y.high=0|e[t+2*W],j=Y.low=0|e[t+2*W+1];else{var K=l[W-15],X=K.high,Z=K.low,J=(X>>>1|Z<<31)^(X>>>8|Z<<24)^X>>>7,Q=(Z>>>1|X<<31)^(Z>>>8|X<<24)^(Z>>>7|X<<25),ee=l[W-2],te=ee.high,re=ee.low,ie=(te>>>19|re<<13)^(te<<3|re>>>29)^te>>>6,ne=(re>>>19|te<<13)^(re<<3|te>>>29)^(re>>>6|te<<26),oe=l[W-7],se=oe.high,ae=oe.low,de=l[W-16],le=de.high,ue=de.low;q=(q=(q=J+se+((j=Q+ae)>>>0<Q>>>0?1:0))+ie+((j+=ne)>>>0<ne>>>0?1:0))+le+((j+=ue)>>>0<ue>>>0?1:0),Y.high=q,Y.low=j}var ce,fe=R&N^~R&G,he=z&O^~z&$,pe=T&D^T&F^D&F,me=C&P^C&I^P&I,_e=(T>>>28|C<<4)^(T<<30|C>>>2)^(T<<25|C>>>7),ge=(C>>>28|T<<4)^(C<<30|T>>>2)^(C<<25|T>>>7),ye=(R>>>14|z<<18)^(R>>>18|z<<14)^(R<<23|z>>>9),ve=(z>>>14|R<<18)^(z>>>18|R<<14)^(z<<23|R>>>9),be=d[W],we=be.high,Se=be.low,Ee=H+ye+((ce=V+ve)>>>0<V>>>0?1:0),Ae=ge+me;H=G,V=$,G=N,$=O,N=R,O=z,R=L+(Ee=(Ee=(Ee=Ee+fe+((ce+=he)>>>0<he>>>0?1:0))+we+((ce+=Se)>>>0<Se>>>0?1:0))+q+((ce+=j)>>>0<j>>>0?1:0))+((z=M+ce|0)>>>0<M>>>0?1:0)|0,L=F,M=I,F=D,I=P,D=T,P=C,T=Ee+(_e+pe+(Ae>>>0<ge>>>0?1:0))+((C=ce+Ae|0)>>>0<ce>>>0?1:0)|0}p=i.low=p+C,i.high=h+T+(p>>>0<C>>>0?1:0),_=n.low=_+P,n.high=m+D+(_>>>0<P>>>0?1:0),y=o.low=y+I,o.high=g+F+(y>>>0<I>>>0?1:0),b=s.low=b+M,s.high=v+L+(b>>>0<M>>>0?1:0),S=a.low=S+z,a.high=w+R+(S>>>0<z>>>0?1:0),A=u.low=A+O,u.high=E+N+(A>>>0<O>>>0?1:0),B=c.low=B+$,c.high=x+G+(B>>>0<$>>>0?1:0),k=f.low=k+V,f.high=U+H+(k>>>0<V>>>0?1:0)},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,i=8*e.sigBytes;return t[i>>>5]|=128<<24-i%32,t[30+(i+128>>>10<<5)]=Math.floor(r/4294967296),t[31+(i+128>>>10<<5)]=r,e.sigBytes=4*t.length,this._process(),this._hash.toX32()},clone:function(){var e=t.clone.call(this);return e._hash=this._hash.clone(),e},blockSize:32});e.SHA512=t._createHelper(u),e.HmacSHA512=t._createHmacHelper(u)}(),r.SHA512)})),Ot((function(e,t){var r,i,n,o,s,a,d,l;e.exports=(i=(r=l=Mi).x64,n=i.Word,o=i.WordArray,s=r.algo,a=s.SHA512,d=s.SHA384=a.extend({_doReset:function(){this._hash=new o.init([new n.init(3418070365,3238371032),new n.init(1654270250,914150663),new n.init(2438529370,812702999),new n.init(355462360,4144912697),new n.init(1731405415,4290775857),new n.init(2394180231,1750603025),new n.init(3675008525,1694076839),new n.init(1203062813,3204075428)])},_doFinalize:function(){var e=a._doFinalize.call(this);return e.sigBytes-=16,e}}),r.SHA384=a._createHelper(d),r.HmacSHA384=a._createHmacHelper(d),l.SHA384)})),Ot((function(e,t){var r;e.exports=(r=Mi,function(e){var t=r,i=t.lib,n=i.WordArray,o=i.Hasher,s=t.x64.Word,a=t.algo,d=[],l=[],u=[];!function(){for(var e=1,t=0,r=0;r<24;r++){d[e+5*t]=(r+1)*(r+2)/2%64;var i=(2*e+3*t)%5;e=t%5,t=i}for(e=0;e<5;e++)for(t=0;t<5;t++)l[e+5*t]=t+(2*e+3*t)%5*5;for(var n=1,o=0;o<24;o++){for(var a=0,c=0,f=0;f<7;f++){if(1&n){var h=(1<<f)-1;h<32?c^=1<<h:a^=1<<h-32}128&n?n=n<<1^113:n<<=1}u[o]=s.create(a,c)}}();var c=[];!function(){for(var e=0;e<25;e++)c[e]=s.create()}();var f=a.SHA3=o.extend({cfg:o.cfg.extend({outputLength:512}),_doReset:function(){for(var e=this._state=[],t=0;t<25;t++)e[t]=new s.init;this.blockSize=(1600-2*this.cfg.outputLength)/32},_doProcessBlock:function(e,t){for(var r=this._state,i=this.blockSize/2,n=0;n<i;n++){var o=e[t+2*n],s=e[t+2*n+1];o=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),s=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),(k=r[n]).high^=s,k.low^=o}for(var a=0;a<24;a++){for(var f=0;f<5;f++){for(var h=0,p=0,m=0;m<5;m++)h^=(k=r[f+5*m]).high,p^=k.low;var _=c[f];_.high=h,_.low=p}for(f=0;f<5;f++){var g=c[(f+4)%5],y=c[(f+1)%5],v=y.high,b=y.low;for(h=g.high^(v<<1|b>>>31),p=g.low^(b<<1|v>>>31),m=0;m<5;m++)(k=r[f+5*m]).high^=h,k.low^=p}for(var w=1;w<25;w++){var S=(k=r[w]).high,E=k.low,A=d[w];A<32?(h=S<<A|E>>>32-A,p=E<<A|S>>>32-A):(h=E<<A-32|S>>>64-A,p=S<<A-32|E>>>64-A);var x=c[l[w]];x.high=h,x.low=p}var B=c[0],U=r[0];for(B.high=U.high,B.low=U.low,f=0;f<5;f++)for(m=0;m<5;m++){var k=r[w=f+5*m],T=c[w],C=c[(f+1)%5+5*m],D=c[(f+2)%5+5*m];k.high=T.high^~C.high&D.high,k.low=T.low^~C.low&D.low}k=r[0];var P=u[a];k.high^=P.high,k.low^=P.low}},_doFinalize:function(){var t=this._data,r=t.words;this._nDataBytes;var i=8*t.sigBytes,o=32*this.blockSize;r[i>>>5]|=1<<24-i%32,r[(e.ceil((i+1)/o)*o>>>5)-1]|=128,t.sigBytes=4*r.length,this._process();for(var s=this._state,a=this.cfg.outputLength/8,d=a/8,l=[],u=0;u<d;u++){var c=s[u],f=c.high,h=c.low;f=16711935&(f<<8|f>>>24)|4278255360&(f<<24|f>>>8),h=16711935&(h<<8|h>>>24)|4278255360&(h<<24|h>>>8),l.push(h),l.push(f)}return new n.init(l,a)},clone:function(){for(var e=o.clone.call(this),t=e._state=this._state.slice(0),r=0;r<25;r++)t[r]=t[r].clone();return e}});t.SHA3=o._createHelper(f),t.HmacSHA3=o._createHmacHelper(f)}(Math),r.SHA3)})),Ot((function(e,t){var r;e.exports=(r=Mi,function(e){var t=r,i=t.lib,n=i.WordArray,o=i.Hasher,s=t.algo,a=n.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),d=n.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),l=n.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),u=n.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),c=n.create([0,1518500249,1859775393,2400959708,2840853838]),f=n.create([1352829926,1548603684,1836072691,2053994217,0]),h=s.RIPEMD160=o.extend({_doReset:function(){this._hash=n.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var r=0;r<16;r++){var i=t+r,n=e[i];e[i]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8)}var o,s,h,b,w,S,E,A,x,B,U,k=this._hash.words,T=c.words,C=f.words,D=a.words,P=d.words,F=l.words,I=u.words;for(S=o=k[0],E=s=k[1],A=h=k[2],x=b=k[3],B=w=k[4],r=0;r<80;r+=1)U=o+e[t+D[r]]|0,U+=r<16?p(s,h,b)+T[0]:r<32?m(s,h,b)+T[1]:r<48?_(s,h,b)+T[2]:r<64?g(s,h,b)+T[3]:y(s,h,b)+T[4],U=(U=v(U|=0,F[r]))+w|0,o=w,w=b,b=v(h,10),h=s,s=U,U=S+e[t+P[r]]|0,U+=r<16?y(E,A,x)+C[0]:r<32?g(E,A,x)+C[1]:r<48?_(E,A,x)+C[2]:r<64?m(E,A,x)+C[3]:p(E,A,x)+C[4],U=(U=v(U|=0,I[r]))+B|0,S=B,B=x,x=v(A,10),A=E,E=U;U=k[1]+h+x|0,k[1]=k[2]+b+B|0,k[2]=k[3]+w+S|0,k[3]=k[4]+o+E|0,k[4]=k[0]+s+A|0,k[0]=U},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,i=8*e.sigBytes;t[i>>>5]|=128<<24-i%32,t[14+(i+64>>>9<<4)]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8),e.sigBytes=4*(t.length+1),this._process();for(var n=this._hash,o=n.words,s=0;s<5;s++){var a=o[s];o[s]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8)}return n},clone:function(){var e=o.clone.call(this);return e._hash=this._hash.clone(),e}});function p(e,t,r){return e^t^r}function m(e,t,r){return e&t|~e&r}function _(e,t,r){return(e|~t)^r}function g(e,t,r){return e&r|t&~r}function y(e,t,r){return e^(t|~r)}function v(e,t){return e<<t|e>>>32-t}t.RIPEMD160=o._createHelper(h),t.HmacRIPEMD160=o._createHmacHelper(h)}(),r.RIPEMD160)})),Ot((function(e,t){var r,i,n;e.exports=(i=(r=Mi).lib.Base,n=r.enc.Utf8,void(r.algo.HMAC=i.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=n.parse(t));var r=e.blockSize,i=4*r;t.sigBytes>i&&(t=e.finalize(t)),t.clamp();for(var o=this._oKey=t.clone(),s=this._iKey=t.clone(),a=o.words,d=s.words,l=0;l<r;l++)a[l]^=1549556828,d[l]^=909522486;o.sigBytes=s.sigBytes=i,this.reset()},reset:function(){var e=this._hasher;e.reset(),e.update(this._iKey)},update:function(e){return this._hasher.update(e),this},finalize:function(e){var t=this._hasher,r=t.finalize(e);return t.reset(),t.finalize(this._oKey.clone().concat(r))}})))})),Ot((function(e,t){var r,i,n,o,s,a,d,l,u;e.exports=(i=(r=u=Mi).lib,n=i.Base,o=i.WordArray,s=r.algo,a=s.SHA256,d=s.HMAC,l=s.PBKDF2=n.extend({cfg:n.extend({keySize:4,hasher:a,iterations:25e4}),init:function(e){this.cfg=this.cfg.extend(e)},compute:function(e,t){for(var r=this.cfg,i=d.create(r.hasher,e),n=o.create(),s=o.create([1]),a=n.words,l=s.words,u=r.keySize,c=r.iterations;a.length<u;){var f=i.update(t).finalize(s);i.reset();for(var h=f.words,p=h.length,m=f,_=1;_<c;_++){m=i.finalize(m),i.reset();for(var g=m.words,y=0;y<p;y++)h[y]^=g[y]}n.concat(f),l[0]++}return n.sigBytes=4*u,n}}),r.PBKDF2=function(e,t,r){return l.create(r).compute(e,t)},u.PBKDF2)})),Ot((function(e,t){var r,i,n,o,s,a,d,l;e.exports=(i=(r=l=Mi).lib,n=i.Base,o=i.WordArray,s=r.algo,a=s.MD5,d=s.EvpKDF=n.extend({cfg:n.extend({keySize:4,hasher:a,iterations:1}),init:function(e){this.cfg=this.cfg.extend(e)},compute:function(e,t){for(var r,i=this.cfg,n=i.hasher.create(),s=o.create(),a=s.words,d=i.keySize,l=i.iterations;a.length<d;){r&&n.update(r),r=n.update(e).finalize(t),n.reset();for(var u=1;u<l;u++)r=n.finalize(r),n.reset();s.concat(r)}return s.sigBytes=4*d,s}}),r.EvpKDF=function(e,t,r){return d.create(r).compute(e,t)},l.EvpKDF)})),Ot((function(e,t){var r;e.exports=void((r=Mi).lib.Cipher||function(e){var t=r,i=t.lib,n=i.Base,o=i.WordArray,s=i.BufferedBlockAlgorithm,a=t.enc;a.Utf8;var d=a.Base64,l=t.algo.EvpKDF,u=i.Cipher=s.extend({cfg:n.extend(),createEncryptor:function(e,t){return this.create(this._ENC_XFORM_MODE,e,t)},createDecryptor:function(e,t){return this.create(this._DEC_XFORM_MODE,e,t)},init:function(e,t,r){this.cfg=this.cfg.extend(r),this._xformMode=e,this._key=t,this.reset()},reset:function(){s.reset.call(this),this._doReset()},process:function(e){return this._append(e),this._process()},finalize:function(e){return e&&this._append(e),this._doFinalize()},keySize:4,ivSize:4,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(){function e(e){return"string"==typeof e?v:g}return function(t){return{encrypt:function(r,i,n){return e(i).encrypt(t,r,i,n)},decrypt:function(r,i,n){return e(i).decrypt(t,r,i,n)}}}}()});i.StreamCipher=u.extend({_doFinalize:function(){return this._process(!0)},blockSize:1});var c=t.mode={},f=i.BlockCipherMode=n.extend({createEncryptor:function(e,t){return this.Encryptor.create(e,t)},createDecryptor:function(e,t){return this.Decryptor.create(e,t)},init:function(e,t){this._cipher=e,this._iv=t}}),h=c.CBC=function(){var t=f.extend();function r(t,r,i){var n,o=this._iv;o?(n=o,this._iv=e):n=this._prevBlock;for(var s=0;s<i;s++)t[r+s]^=n[s]}return t.Encryptor=t.extend({processBlock:function(e,t){var i=this._cipher,n=i.blockSize;r.call(this,e,t,n),i.encryptBlock(e,t),this._prevBlock=e.slice(t,t+n)}}),t.Decryptor=t.extend({processBlock:function(e,t){var i=this._cipher,n=i.blockSize,o=e.slice(t,t+n);i.decryptBlock(e,t),r.call(this,e,t,n),this._prevBlock=o}}),t}(),p=(t.pad={}).Pkcs7={pad:function(e,t){for(var r=4*t,i=r-e.sigBytes%r,n=i<<24|i<<16|i<<8|i,s=[],a=0;a<i;a+=4)s.push(n);var d=o.create(s,i);e.concat(d)},unpad:function(e){var t=255&e.words[e.sigBytes-1>>>2];e.sigBytes-=t}};i.BlockCipher=u.extend({cfg:u.cfg.extend({mode:h,padding:p}),reset:function(){var e;u.reset.call(this);var t=this.cfg,r=t.iv,i=t.mode;this._xformMode==this._ENC_XFORM_MODE?e=i.createEncryptor:(e=i.createDecryptor,this._minBufferSize=1),this._mode&&this._mode.__creator==e?this._mode.init(this,r&&r.words):(this._mode=e.call(i,this,r&&r.words),this._mode.__creator=e)},_doProcessBlock:function(e,t){this._mode.processBlock(e,t)},_doFinalize:function(){var e,t=this.cfg.padding;return this._xformMode==this._ENC_XFORM_MODE?(t.pad(this._data,this.blockSize),e=this._process(!0)):(e=this._process(!0),t.unpad(e)),e},blockSize:4});var m=i.CipherParams=n.extend({init:function(e){this.mixIn(e)},toString:function(e){return(e||this.formatter).stringify(this)}}),_=(t.format={}).OpenSSL={stringify:function(e){var t=e.ciphertext,r=e.salt;return(r?o.create([1398893684,1701076831]).concat(r).concat(t):t).toString(d)},parse:function(e){var t,r=d.parse(e),i=r.words;return 1398893684==i[0]&&1701076831==i[1]&&(t=o.create(i.slice(2,4)),i.splice(0,4),r.sigBytes-=16),m.create({ciphertext:r,salt:t})}},g=i.SerializableCipher=n.extend({cfg:n.extend({format:_}),encrypt:function(e,t,r,i){i=this.cfg.extend(i);var n=e.createEncryptor(r,i),o=n.finalize(t),s=n.cfg;return m.create({ciphertext:o,key:r,iv:s.iv,algorithm:e,mode:s.mode,padding:s.padding,blockSize:e.blockSize,formatter:i.format})},decrypt:function(e,t,r,i){return i=this.cfg.extend(i),t=this._parse(t,i.format),e.createDecryptor(r,i).finalize(t.ciphertext)},_parse:function(e,t){return"string"==typeof e?t.parse(e,this):e}}),y=(t.kdf={}).OpenSSL={execute:function(e,t,r,i,n){if(i||(i=o.random(8)),n)s=l.create({keySize:t+r,hasher:n}).compute(e,i);else var s=l.create({keySize:t+r}).compute(e,i);var a=o.create(s.words.slice(t),4*r);return s.sigBytes=4*t,m.create({key:s,iv:a,salt:i})}},v=i.PasswordBasedCipher=g.extend({cfg:g.cfg.extend({kdf:y}),encrypt:function(e,t,r,i){var n=(i=this.cfg.extend(i)).kdf.execute(r,e.keySize,e.ivSize,i.salt,i.hasher);i.iv=n.iv;var o=g.encrypt.call(this,e,t,n.key,i);return o.mixIn(n),o},decrypt:function(e,t,r,i){i=this.cfg.extend(i),t=this._parse(t,i.format);var n=i.kdf.execute(r,e.keySize,e.ivSize,t.salt,i.hasher);return i.iv=n.iv,g.decrypt.call(this,e,t,n.key,i)}})}())})),Ot((function(e,t){var r;e.exports=((r=Mi).mode.CFB=function(){var e=r.lib.BlockCipherMode.extend();function t(e,t,r,i){var n,o=this._iv;o?(n=o.slice(0),this._iv=void 0):n=this._prevBlock,i.encryptBlock(n,0);for(var s=0;s<r;s++)e[t+s]^=n[s]}return e.Encryptor=e.extend({processBlock:function(e,r){var i=this._cipher,n=i.blockSize;t.call(this,e,r,n,i),this._prevBlock=e.slice(r,r+n)}}),e.Decryptor=e.extend({processBlock:function(e,r){var i=this._cipher,n=i.blockSize,o=e.slice(r,r+n);t.call(this,e,r,n,i),this._prevBlock=o}}),e}(),r.mode.CFB)})),Ot((function(e,t){var r,i,n;e.exports=((n=Mi).mode.CTR=(r=n.lib.BlockCipherMode.extend(),i=r.Encryptor=r.extend({processBlock:function(e,t){var r=this._cipher,i=r.blockSize,n=this._iv,o=this._counter;n&&(o=this._counter=n.slice(0),this._iv=void 0);var s=o.slice(0);r.encryptBlock(s,0),o[i-1]=o[i-1]+1|0;for(var a=0;a<i;a++)e[t+a]^=s[a]}}),r.Decryptor=i,r),n.mode.CTR)})),Ot((function(e,t){var r;e.exports=((r=Mi).mode.CTRGladman=function(){var e=r.lib.BlockCipherMode.extend();function t(e){if(255==(e>>24&255)){var t=e>>16&255,r=e>>8&255,i=255&e;255===t?(t=0,255===r?(r=0,255===i?i=0:++i):++r):++t,e=0,e+=t<<16,e+=r<<8,e+=i}else e+=1<<24;return e}function i(e){return 0===(e[0]=t(e[0]))&&(e[1]=t(e[1])),e}var n=e.Encryptor=e.extend({processBlock:function(e,t){var r=this._cipher,n=r.blockSize,o=this._iv,s=this._counter;o&&(s=this._counter=o.slice(0),this._iv=void 0),i(s);var a=s.slice(0);r.encryptBlock(a,0);for(var d=0;d<n;d++)e[t+d]^=a[d]}});return e.Decryptor=n,e}(),r.mode.CTRGladman)})),Ot((function(e,t){var r,i,n;e.exports=((n=Mi).mode.OFB=(r=n.lib.BlockCipherMode.extend(),i=r.Encryptor=r.extend({processBlock:function(e,t){var r=this._cipher,i=r.blockSize,n=this._iv,o=this._keystream;n&&(o=this._keystream=n.slice(0),this._iv=void 0),r.encryptBlock(o,0);for(var s=0;s<i;s++)e[t+s]^=o[s]}}),r.Decryptor=i,r),n.mode.OFB)})),Ot((function(e,t){var r,i;e.exports=((i=Mi).mode.ECB=((r=i.lib.BlockCipherMode.extend()).Encryptor=r.extend({processBlock:function(e,t){this._cipher.encryptBlock(e,t)}}),r.Decryptor=r.extend({processBlock:function(e,t){this._cipher.decryptBlock(e,t)}}),r),i.mode.ECB)})),Ot((function(e,t){var r;e.exports=((r=Mi).pad.AnsiX923={pad:function(e,t){var r=e.sigBytes,i=4*t,n=i-r%i,o=r+n-1;e.clamp(),e.words[o>>>2]|=n<<24-o%4*8,e.sigBytes+=n},unpad:function(e){var t=255&e.words[e.sigBytes-1>>>2];e.sigBytes-=t}},r.pad.Ansix923)})),Ot((function(e,t){var r;e.exports=((r=Mi).pad.Iso10126={pad:function(e,t){var i=4*t,n=i-e.sigBytes%i;e.concat(r.lib.WordArray.random(n-1)).concat(r.lib.WordArray.create([n<<24],1))},unpad:function(e){var t=255&e.words[e.sigBytes-1>>>2];e.sigBytes-=t}},r.pad.Iso10126)})),Ot((function(e,t){var r;e.exports=((r=Mi).pad.Iso97971={pad:function(e,t){e.concat(r.lib.WordArray.create([2147483648],1)),r.pad.ZeroPadding.pad(e,t)},unpad:function(e){r.pad.ZeroPadding.unpad(e),e.sigBytes--}},r.pad.Iso97971)})),Ot((function(e,t){var r;e.exports=((r=Mi).pad.ZeroPadding={pad:function(e,t){var r=4*t;e.clamp(),e.sigBytes+=r-(e.sigBytes%r||r)},unpad:function(e){var t=e.words,r=e.sigBytes-1;for(r=e.sigBytes-1;r>=0;r--)if(t[r>>>2]>>>24-r%4*8&255){e.sigBytes=r+1;break}}},r.pad.ZeroPadding)})),Ot((function(e,t){var r;e.exports=((r=Mi).pad.NoPadding={pad:function(){},unpad:function(){}},r.pad.NoPadding)})),Ot((function(e,t){var r;e.exports=(r=Mi,function(e){var t=r,i=t.lib.CipherParams,n=t.enc.Hex;t.format.Hex={stringify:function(e){return e.ciphertext.toString(n)},parse:function(e){var t=n.parse(e);return i.create({ciphertext:t})}}}(),r.format.Hex)})),Ot((function(e,t){var r;e.exports=(r=Mi,function(){var e=r,t=e.lib.BlockCipher,i=e.algo,n=[],o=[],s=[],a=[],d=[],l=[],u=[],c=[],f=[],h=[];!function(){for(var e=[],t=0;t<256;t++)e[t]=t<128?t<<1:t<<1^283;var r=0,i=0;for(t=0;t<256;t++){var p=i^i<<1^i<<2^i<<3^i<<4;p=p>>>8^255&p^99,n[r]=p,o[p]=r;var m=e[r],_=e[m],g=e[_],y=257*e[p]^16843008*p;s[r]=y<<24|y>>>8,a[r]=y<<16|y>>>16,d[r]=y<<8|y>>>24,l[r]=y,y=16843009*g^65537*_^257*m^16843008*r,u[p]=y<<24|y>>>8,c[p]=y<<16|y>>>16,f[p]=y<<8|y>>>24,h[p]=y,r?(r=m^e[e[e[g^m]]],i^=e[e[i]]):r=i=1}}();var p=[0,1,2,4,8,16,32,64,128,27,54],m=i.AES=t.extend({_doReset:function(){if(!this._nRounds||this._keyPriorReset!==this._key){for(var e=this._keyPriorReset=this._key,t=e.words,r=e.sigBytes/4,i=4*((this._nRounds=r+6)+1),o=this._keySchedule=[],s=0;s<i;s++)s<r?o[s]=t[s]:(l=o[s-1],s%r?r>6&&s%r==4&&(l=n[l>>>24]<<24|n[l>>>16&255]<<16|n[l>>>8&255]<<8|n[255&l]):(l=n[(l=l<<8|l>>>24)>>>24]<<24|n[l>>>16&255]<<16|n[l>>>8&255]<<8|n[255&l],l^=p[s/r|0]<<24),o[s]=o[s-r]^l);for(var a=this._invKeySchedule=[],d=0;d<i;d++){if(s=i-d,d%4)var l=o[s];else l=o[s-4];a[d]=d<4||s<=4?l:u[n[l>>>24]]^c[n[l>>>16&255]]^f[n[l>>>8&255]]^h[n[255&l]]}}},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._keySchedule,s,a,d,l,n)},decryptBlock:function(e,t){var r=e[t+1];e[t+1]=e[t+3],e[t+3]=r,this._doCryptBlock(e,t,this._invKeySchedule,u,c,f,h,o),r=e[t+1],e[t+1]=e[t+3],e[t+3]=r},_doCryptBlock:function(e,t,r,i,n,o,s,a){for(var d=this._nRounds,l=e[t]^r[0],u=e[t+1]^r[1],c=e[t+2]^r[2],f=e[t+3]^r[3],h=4,p=1;p<d;p++){var m=i[l>>>24]^n[u>>>16&255]^o[c>>>8&255]^s[255&f]^r[h++],_=i[u>>>24]^n[c>>>16&255]^o[f>>>8&255]^s[255&l]^r[h++],g=i[c>>>24]^n[f>>>16&255]^o[l>>>8&255]^s[255&u]^r[h++],y=i[f>>>24]^n[l>>>16&255]^o[u>>>8&255]^s[255&c]^r[h++];l=m,u=_,c=g,f=y}m=(a[l>>>24]<<24|a[u>>>16&255]<<16|a[c>>>8&255]<<8|a[255&f])^r[h++],_=(a[u>>>24]<<24|a[c>>>16&255]<<16|a[f>>>8&255]<<8|a[255&l])^r[h++],g=(a[c>>>24]<<24|a[f>>>16&255]<<16|a[l>>>8&255]<<8|a[255&u])^r[h++],y=(a[f>>>24]<<24|a[l>>>16&255]<<16|a[u>>>8&255]<<8|a[255&c])^r[h++],e[t]=m,e[t+1]=_,e[t+2]=g,e[t+3]=y},keySize:8});e.AES=t._createHelper(m)}(),r.AES)})),Ot((function(e,t){var r;e.exports=(r=Mi,function(){var e=r,t=e.lib,i=t.WordArray,n=t.BlockCipher,o=e.algo,s=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],a=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],d=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],l=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],u=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],c=o.DES=n.extend({_doReset:function(){for(var e=this._key.words,t=[],r=0;r<56;r++){var i=s[r]-1;t[r]=e[i>>>5]>>>31-i%32&1}for(var n=this._subKeys=[],o=0;o<16;o++){var l=n[o]=[],u=d[o];for(r=0;r<24;r++)l[r/6|0]|=t[(a[r]-1+u)%28]<<31-r%6,l[4+(r/6|0)]|=t[28+(a[r+24]-1+u)%28]<<31-r%6;for(l[0]=l[0]<<1|l[0]>>>31,r=1;r<7;r++)l[r]=l[r]>>>4*(r-1)+3;l[7]=l[7]<<5|l[7]>>>27}var c=this._invSubKeys=[];for(r=0;r<16;r++)c[r]=n[15-r]},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._subKeys)},decryptBlock:function(e,t){this._doCryptBlock(e,t,this._invSubKeys)},_doCryptBlock:function(e,t,r){this._lBlock=e[t],this._rBlock=e[t+1],f.call(this,4,252645135),f.call(this,16,65535),h.call(this,2,858993459),h.call(this,8,16711935),f.call(this,1,1431655765);for(var i=0;i<16;i++){for(var n=r[i],o=this._lBlock,s=this._rBlock,a=0,d=0;d<8;d++)a|=l[d][((s^n[d])&u[d])>>>0];this._lBlock=s,this._rBlock=o^a}var c=this._lBlock;this._lBlock=this._rBlock,this._rBlock=c,f.call(this,1,1431655765),h.call(this,8,16711935),h.call(this,2,858993459),f.call(this,16,65535),f.call(this,4,252645135),e[t]=this._lBlock,e[t+1]=this._rBlock},keySize:2,ivSize:2,blockSize:2});function f(e,t){var r=(this._lBlock>>>e^this._rBlock)&t;this._rBlock^=r,this._lBlock^=r<<e}function h(e,t){var r=(this._rBlock>>>e^this._lBlock)&t;this._lBlock^=r,this._rBlock^=r<<e}e.DES=n._createHelper(c);var p=o.TripleDES=n.extend({_doReset:function(){var e=this._key.words;if(2!==e.length&&4!==e.length&&e.length<6)throw new Error("Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192.");var t=e.slice(0,2),r=e.length<4?e.slice(0,2):e.slice(2,4),n=e.length<6?e.slice(0,2):e.slice(4,6);this._des1=c.createEncryptor(i.create(t)),this._des2=c.createEncryptor(i.create(r)),this._des3=c.createEncryptor(i.create(n))},encryptBlock:function(e,t){this._des1.encryptBlock(e,t),this._des2.decryptBlock(e,t),this._des3.encryptBlock(e,t)},decryptBlock:function(e,t){this._des3.decryptBlock(e,t),this._des2.encryptBlock(e,t),this._des1.decryptBlock(e,t)},keySize:6,ivSize:2,blockSize:2});e.TripleDES=n._createHelper(p)}(),r.TripleDES)})),Ot((function(e,t){var r;e.exports=(r=Mi,function(){var e=r,t=e.lib.StreamCipher,i=e.algo,n=i.RC4=t.extend({_doReset:function(){for(var e=this._key,t=e.words,r=e.sigBytes,i=this._S=[],n=0;n<256;n++)i[n]=n;n=0;for(var o=0;n<256;n++){var s=n%r,a=t[s>>>2]>>>24-s%4*8&255;o=(o+i[n]+a)%256;var d=i[n];i[n]=i[o],i[o]=d}this._i=this._j=0},_doProcessBlock:function(e,t){e[t]^=o.call(this)},keySize:8,ivSize:0});function o(){for(var e=this._S,t=this._i,r=this._j,i=0,n=0;n<4;n++){r=(r+e[t=(t+1)%256])%256;var o=e[t];e[t]=e[r],e[r]=o,i|=e[(e[t]+e[r])%256]<<24-8*n}return this._i=t,this._j=r,i}e.RC4=t._createHelper(n);var s=i.RC4Drop=n.extend({cfg:n.cfg.extend({drop:192}),_doReset:function(){n._doReset.call(this);for(var e=this.cfg.drop;e>0;e--)o.call(this)}});e.RC4Drop=t._createHelper(s)}(),r.RC4)})),Ot((function(e,t){var r;e.exports=(r=Mi,function(){var e=r,t=e.lib.StreamCipher,i=e.algo,n=[],o=[],s=[],a=i.Rabbit=t.extend({_doReset:function(){for(var e=this._key.words,t=this.cfg.iv,r=0;r<4;r++)e[r]=16711935&(e[r]<<8|e[r]>>>24)|4278255360&(e[r]<<24|e[r]>>>8);var i=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],n=this._C=[e[2]<<16|e[2]>>>16,4294901760&e[0]|65535&e[1],e[3]<<16|e[3]>>>16,4294901760&e[1]|65535&e[2],e[0]<<16|e[0]>>>16,4294901760&e[2]|65535&e[3],e[1]<<16|e[1]>>>16,4294901760&e[3]|65535&e[0]];for(this._b=0,r=0;r<4;r++)d.call(this);for(r=0;r<8;r++)n[r]^=i[r+4&7];if(t){var o=t.words,s=o[0],a=o[1],l=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),u=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),c=l>>>16|4294901760&u,f=u<<16|65535&l;for(n[0]^=l,n[1]^=c,n[2]^=u,n[3]^=f,n[4]^=l,n[5]^=c,n[6]^=u,n[7]^=f,r=0;r<4;r++)d.call(this)}},_doProcessBlock:function(e,t){var r=this._X;d.call(this),n[0]=r[0]^r[5]>>>16^r[3]<<16,n[1]=r[2]^r[7]>>>16^r[5]<<16,n[2]=r[4]^r[1]>>>16^r[7]<<16,n[3]=r[6]^r[3]>>>16^r[1]<<16;for(var i=0;i<4;i++)n[i]=16711935&(n[i]<<8|n[i]>>>24)|4278255360&(n[i]<<24|n[i]>>>8),e[t+i]^=n[i]},blockSize:4,ivSize:2});function d(){for(var e=this._X,t=this._C,r=0;r<8;r++)o[r]=t[r];for(t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0<o[0]>>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0<o[1]>>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0<o[2]>>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0<o[3]>>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0<o[4]>>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0<o[5]>>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0<o[6]>>>0?1:0)|0,this._b=t[7]>>>0<o[7]>>>0?1:0,r=0;r<8;r++){var i=e[r]+t[r],n=65535&i,a=i>>>16,d=((n*n>>>17)+n*a>>>15)+a*a,l=((4294901760&i)*i|0)+((65535&i)*i|0);s[r]=d^l}e[0]=s[0]+(s[7]<<16|s[7]>>>16)+(s[6]<<16|s[6]>>>16)|0,e[1]=s[1]+(s[0]<<8|s[0]>>>24)+s[7]|0,e[2]=s[2]+(s[1]<<16|s[1]>>>16)+(s[0]<<16|s[0]>>>16)|0,e[3]=s[3]+(s[2]<<8|s[2]>>>24)+s[1]|0,e[4]=s[4]+(s[3]<<16|s[3]>>>16)+(s[2]<<16|s[2]>>>16)|0,e[5]=s[5]+(s[4]<<8|s[4]>>>24)+s[3]|0,e[6]=s[6]+(s[5]<<16|s[5]>>>16)+(s[4]<<16|s[4]>>>16)|0,e[7]=s[7]+(s[6]<<8|s[6]>>>24)+s[5]|0}e.Rabbit=t._createHelper(a)}(),r.Rabbit)})),Ot((function(e,t){var r;e.exports=(r=Mi,function(){var e=r,t=e.lib.StreamCipher,i=e.algo,n=[],o=[],s=[],a=i.RabbitLegacy=t.extend({_doReset:function(){var e=this._key.words,t=this.cfg.iv,r=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],i=this._C=[e[2]<<16|e[2]>>>16,4294901760&e[0]|65535&e[1],e[3]<<16|e[3]>>>16,4294901760&e[1]|65535&e[2],e[0]<<16|e[0]>>>16,4294901760&e[2]|65535&e[3],e[1]<<16|e[1]>>>16,4294901760&e[3]|65535&e[0]];this._b=0;for(var n=0;n<4;n++)d.call(this);for(n=0;n<8;n++)i[n]^=r[n+4&7];if(t){var o=t.words,s=o[0],a=o[1],l=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),u=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),c=l>>>16|4294901760&u,f=u<<16|65535&l;for(i[0]^=l,i[1]^=c,i[2]^=u,i[3]^=f,i[4]^=l,i[5]^=c,i[6]^=u,i[7]^=f,n=0;n<4;n++)d.call(this)}},_doProcessBlock:function(e,t){var r=this._X;d.call(this),n[0]=r[0]^r[5]>>>16^r[3]<<16,n[1]=r[2]^r[7]>>>16^r[5]<<16,n[2]=r[4]^r[1]>>>16^r[7]<<16,n[3]=r[6]^r[3]>>>16^r[1]<<16;for(var i=0;i<4;i++)n[i]=16711935&(n[i]<<8|n[i]>>>24)|4278255360&(n[i]<<24|n[i]>>>8),e[t+i]^=n[i]},blockSize:4,ivSize:2});function d(){for(var e=this._X,t=this._C,r=0;r<8;r++)o[r]=t[r];for(t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0<o[0]>>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0<o[1]>>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0<o[2]>>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0<o[3]>>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0<o[4]>>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0<o[5]>>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0<o[6]>>>0?1:0)|0,this._b=t[7]>>>0<o[7]>>>0?1:0,r=0;r<8;r++){var i=e[r]+t[r],n=65535&i,a=i>>>16,d=((n*n>>>17)+n*a>>>15)+a*a,l=((4294901760&i)*i|0)+((65535&i)*i|0);s[r]=d^l}e[0]=s[0]+(s[7]<<16|s[7]>>>16)+(s[6]<<16|s[6]>>>16)|0,e[1]=s[1]+(s[0]<<8|s[0]>>>24)+s[7]|0,e[2]=s[2]+(s[1]<<16|s[1]>>>16)+(s[0]<<16|s[0]>>>16)|0,e[3]=s[3]+(s[2]<<8|s[2]>>>24)+s[1]|0,e[4]=s[4]+(s[3]<<16|s[3]>>>16)+(s[2]<<16|s[2]>>>16)|0,e[5]=s[5]+(s[4]<<8|s[4]>>>24)+s[3]|0,e[6]=s[6]+(s[5]<<16|s[5]>>>16)+(s[4]<<16|s[4]>>>16)|0,e[7]=s[7]+(s[6]<<8|s[6]>>>24)+s[5]|0}e.RabbitLegacy=t._createHelper(a)}(),r.RabbitLegacy)})),Ot((function(e,t){var r;e.exports=(r=Mi,function(){var e=r,t=e.lib.BlockCipher,i=e.algo;const n=16,o=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],s=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]];var a={pbox:[],sbox:[]};function d(e,t){let r=t>>24&255,i=t>>16&255,n=t>>8&255,o=255&t,s=e.sbox[0][r]+e.sbox[1][i];return s^=e.sbox[2][n],s+=e.sbox[3][o],s}function l(e,t,r){let i,o=t,s=r;for(let t=0;t<n;++t)o^=e.pbox[t],s=d(e,o)^s,i=o,o=s,s=i;return i=o,o=s,s=i,s^=e.pbox[n],o^=e.pbox[n+1],{left:o,right:s}}function u(e,t,r){let i,o=t,s=r;for(let t=n+1;t>1;--t)o^=e.pbox[t],s=d(e,o)^s,i=o,o=s,s=i;return i=o,o=s,s=i,s^=e.pbox[1],o^=e.pbox[0],{left:o,right:s}}function c(e,t,r){for(let t=0;t<4;t++){e.sbox[t]=[];for(let r=0;r<256;r++)e.sbox[t][r]=s[t][r]}let i=0;for(let s=0;s<n+2;s++)e.pbox[s]=o[s]^t[i],i++,i>=r&&(i=0);let a=0,d=0,u=0;for(let t=0;t<n+2;t+=2)u=l(e,a,d),a=u.left,d=u.right,e.pbox[t]=a,e.pbox[t+1]=d;for(let t=0;t<4;t++)for(let r=0;r<256;r+=2)u=l(e,a,d),a=u.left,d=u.right,e.sbox[t][r]=a,e.sbox[t][r+1]=d;return!0}var f=i.Blowfish=t.extend({_doReset:function(){if(this._keyPriorReset!==this._key){var e=this._keyPriorReset=this._key,t=e.words,r=e.sigBytes/4;c(a,t,r)}},encryptBlock:function(e,t){var r=l(a,e[t],e[t+1]);e[t]=r.left,e[t+1]=r.right},decryptBlock:function(e,t){var r=u(a,e[t],e[t+1]);e[t]=r.left,e[t+1]=r.right},blockSize:2,keySize:4,ivSize:2});e.Blowfish=t._createHelper(f)}(),r.Blowfish)}));function Ri(e){return e[3]|e[2]<<8|e[1]<<16|e[0]<<24}function zi(e,t,r){let i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];t=new Uint8Array(t),r=new Uint8Array(r);const n=e.byteLength;let o=5;for(;o<n;){let s=Ri(e.slice(o,o+4));if(s>n)break;let a=e[o+4],d=!1;if(i?(a=a>>>1&63,d=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21].includes(a)):(a&=31,d=1===a||5===a),d){const i=e.slice(o+4+2,o+4+s);let n=new Li.ModeOfOperation.ctr(t,new Li.Counter(r));const a=n.decrypt(i);n=null,e.set(a,o+4+2)}o=o+4+s}return e}function Ni(e,t,r){if(e.byteLength<=30)return e;const i=e.slice(32);let n=new Li.ModeOfOperation.ctr(t,new Li.Counter(r));const o=n.decrypt(i);return n=null,e.set(o,32),e}Ot((function(e,t){e.exports=Mi}));var Oi=Ot((function(e,t){var r,n,o,s=(r=new Date,n=4,o={setLogLevel:function(e){n=e==this.debug?1:e==this.info?2:e==this.warn?3:(this.error,4)},debug:function(e,t){void 0===console.debug&&(console.debug=console.log),1>=n&&console.debug("["+s.getDurationString(new Date-r,1e3)+"]","["+e+"]",t)},log:function(e,t){this.debug(e.msg)},info:function(e,t){2>=n&&console.info("["+s.getDurationString(new Date-r,1e3)+"]","["+e+"]",t)},warn:function(e,t){3>=n&&console.warn("["+s.getDurationString(new Date-r,1e3)+"]","["+e+"]",t)},error:function(e,t){4>=n&&console.error("["+s.getDurationString(new Date-r,1e3)+"]","["+e+"]",t)}},o);s.getDurationString=function(e,t){var r;function i(e,t){for(var r=(""+e).split(".");r[0].length<t;)r[0]="0"+r[0];return r.join(".")}e<0?(r=!0,e=-e):r=!1;var n=e/(t||1),o=Math.floor(n/3600);n-=3600*o;var s=Math.floor(n/60),a=1e3*(n-=60*s);return a-=1e3*(n=Math.floor(n)),a=Math.floor(a),(r?"-":"")+o+":"+i(s,2)+":"+i(n,2)+"."+i(a,3)},s.printRanges=function(e){var t=e.length;if(t>0){for(var r="",i=0;i<t;i++)i>0&&(r+=","),r+="["+s.getDurationString(e.start(i))+","+s.getDurationString(e.end(i))+"]";return r}return"(empty)"},t.Log=s;var a=function(e){if(!(e instanceof ArrayBuffer))throw"Needs an array buffer";this.buffer=e,this.dataview=new DataView(e),this.position=0};a.prototype.getPosition=function(){return this.position},a.prototype.getEndPosition=function(){return this.buffer.byteLength},a.prototype.getLength=function(){return this.buffer.byteLength},a.prototype.seek=function(e){var t=Math.max(0,Math.min(this.buffer.byteLength,e));return this.position=isNaN(t)||!isFinite(t)?0:t,!0},a.prototype.isEos=function(){return this.getPosition()>=this.getEndPosition()},a.prototype.readAnyInt=function(e,t){var r=0;if(this.position+e<=this.buffer.byteLength){switch(e){case 1:r=t?this.dataview.getInt8(this.position):this.dataview.getUint8(this.position);break;case 2:r=t?this.dataview.getInt16(this.position):this.dataview.getUint16(this.position);break;case 3:if(t)throw"No method for reading signed 24 bits values";r=this.dataview.getUint8(this.position)<<16,r|=this.dataview.getUint8(this.position+1)<<8,r|=this.dataview.getUint8(this.position+2);break;case 4:r=t?this.dataview.getInt32(this.position):this.dataview.getUint32(this.position);break;case 8:if(t)throw"No method for reading signed 64 bits values";r=this.dataview.getUint32(this.position)<<32,r|=this.dataview.getUint32(this.position+4);break;default:throw"readInt method not implemented for size: "+e}return this.position+=e,r}throw"Not enough bytes in buffer"},a.prototype.readUint8=function(){return this.readAnyInt(1,!1)},a.prototype.readUint16=function(){return this.readAnyInt(2,!1)},a.prototype.readUint24=function(){return this.readAnyInt(3,!1)},a.prototype.readUint32=function(){return this.readAnyInt(4,!1)},a.prototype.readUint64=function(){return this.readAnyInt(8,!1)},a.prototype.readString=function(e){if(this.position+e<=this.buffer.byteLength){for(var t="",r=0;r<e;r++)t+=String.fromCharCode(this.readUint8());return t}throw"Not enough bytes in buffer"},a.prototype.readCString=function(){for(var e=[];;){var t=this.readUint8();if(0===t)break;e.push(t)}return String.fromCharCode.apply(null,e)},a.prototype.readInt8=function(){return this.readAnyInt(1,!0)},a.prototype.readInt16=function(){return this.readAnyInt(2,!0)},a.prototype.readInt32=function(){return this.readAnyInt(4,!0)},a.prototype.readInt64=function(){return this.readAnyInt(8,!1)},a.prototype.readUint8Array=function(e){for(var t=new Uint8Array(e),r=0;r<e;r++)t[r]=this.readUint8();return t},a.prototype.readInt16Array=function(e){for(var t=new Int16Array(e),r=0;r<e;r++)t[r]=this.readInt16();return t},a.prototype.readUint16Array=function(e){for(var t=new Int16Array(e),r=0;r<e;r++)t[r]=this.readUint16();return t},a.prototype.readUint32Array=function(e){for(var t=new Uint32Array(e),r=0;r<e;r++)t[r]=this.readUint32();return t},a.prototype.readInt32Array=function(e){for(var t=new Int32Array(e),r=0;r<e;r++)t[r]=this.readInt32();return t},t.MP4BoxStream=a;var d=function(e,t,r){this._byteOffset=t||0,e instanceof ArrayBuffer?this.buffer=e:"object"==typeof e?(this.dataView=e,t&&(this._byteOffset+=t)):this.buffer=new ArrayBuffer(e||0),this.position=0,this.endianness=null==r?d.LITTLE_ENDIAN:r};d.prototype={},d.prototype.getPosition=function(){return this.position},d.prototype._realloc=function(e){if(this._dynamicSize){var t=this._byteOffset+this.position+e,r=this._buffer.byteLength;if(t<=r)t>this._byteLength&&(this._byteLength=t);else{for(r<1&&(r=1);t>r;)r*=2;var i=new ArrayBuffer(r),n=new Uint8Array(this._buffer);new Uint8Array(i,0,n.length).set(n),this.buffer=i,this._byteLength=t}}},d.prototype._trimAlloc=function(){if(this._byteLength!=this._buffer.byteLength){var e=new ArrayBuffer(this._byteLength),t=new Uint8Array(e),r=new Uint8Array(this._buffer,0,t.length);t.set(r),this.buffer=e}},d.BIG_ENDIAN=!1,d.LITTLE_ENDIAN=!0,d.prototype._byteLength=0,Object.defineProperty(d.prototype,"byteLength",{get:function(){return this._byteLength-this._byteOffset}}),Object.defineProperty(d.prototype,"buffer",{get:function(){return this._trimAlloc(),this._buffer},set:function(e){this._buffer=e,this._dataView=new DataView(this._buffer,this._byteOffset),this._byteLength=this._buffer.byteLength}}),Object.defineProperty(d.prototype,"byteOffset",{get:function(){return this._byteOffset},set:function(e){this._byteOffset=e,this._dataView=new DataView(this._buffer,this._byteOffset),this._byteLength=this._buffer.byteLength}}),Object.defineProperty(d.prototype,"dataView",{get:function(){return this._dataView},set:function(e){this._byteOffset=e.byteOffset,this._buffer=e.buffer,this._dataView=new DataView(this._buffer,this._byteOffset),this._byteLength=this._byteOffset+e.byteLength}}),d.prototype.seek=function(e){var t=Math.max(0,Math.min(this.byteLength,e));this.position=isNaN(t)||!isFinite(t)?0:t},d.prototype.isEof=function(){return this.position>=this._byteLength},d.prototype.mapUint8Array=function(e){this._realloc(1*e);var t=new Uint8Array(this._buffer,this.byteOffset+this.position,e);return this.position+=1*e,t},d.prototype.readInt32Array=function(e,t){e=null==e?this.byteLength-this.position/4:e;var r=new Int32Array(e);return d.memcpy(r.buffer,0,this.buffer,this.byteOffset+this.position,e*r.BYTES_PER_ELEMENT),d.arrayToNative(r,null==t?this.endianness:t),this.position+=r.byteLength,r},d.prototype.readInt16Array=function(e,t){e=null==e?this.byteLength-this.position/2:e;var r=new Int16Array(e);return d.memcpy(r.buffer,0,this.buffer,this.byteOffset+this.position,e*r.BYTES_PER_ELEMENT),d.arrayToNative(r,null==t?this.endianness:t),this.position+=r.byteLength,r},d.prototype.readInt8Array=function(e){e=null==e?this.byteLength-this.position:e;var t=new Int8Array(e);return d.memcpy(t.buffer,0,this.buffer,this.byteOffset+this.position,e*t.BYTES_PER_ELEMENT),this.position+=t.byteLength,t},d.prototype.readUint32Array=function(e,t){e=null==e?this.byteLength-this.position/4:e;var r=new Uint32Array(e);return d.memcpy(r.buffer,0,this.buffer,this.byteOffset+this.position,e*r.BYTES_PER_ELEMENT),d.arrayToNative(r,null==t?this.endianness:t),this.position+=r.byteLength,r},d.prototype.readUint16Array=function(e,t){e=null==e?this.byteLength-this.position/2:e;var r=new Uint16Array(e);return d.memcpy(r.buffer,0,this.buffer,this.byteOffset+this.position,e*r.BYTES_PER_ELEMENT),d.arrayToNative(r,null==t?this.endianness:t),this.position+=r.byteLength,r},d.prototype.readUint8Array=function(e){e=null==e?this.byteLength-this.position:e;var t=new Uint8Array(e);return d.memcpy(t.buffer,0,this.buffer,this.byteOffset+this.position,e*t.BYTES_PER_ELEMENT),this.position+=t.byteLength,t},d.prototype.readFloat64Array=function(e,t){e=null==e?this.byteLength-this.position/8:e;var r=new Float64Array(e);return d.memcpy(r.buffer,0,this.buffer,this.byteOffset+this.position,e*r.BYTES_PER_ELEMENT),d.arrayToNative(r,null==t?this.endianness:t),this.position+=r.byteLength,r},d.prototype.readFloat32Array=function(e,t){e=null==e?this.byteLength-this.position/4:e;var r=new Float32Array(e);return d.memcpy(r.buffer,0,this.buffer,this.byteOffset+this.position,e*r.BYTES_PER_ELEMENT),d.arrayToNative(r,null==t?this.endianness:t),this.position+=r.byteLength,r},d.prototype.readInt32=function(e){var t=this._dataView.getInt32(this.position,null==e?this.endianness:e);return this.position+=4,t},d.prototype.readInt16=function(e){var t=this._dataView.getInt16(this.position,null==e?this.endianness:e);return this.position+=2,t},d.prototype.readInt8=function(){var e=this._dataView.getInt8(this.position);return this.position+=1,e},d.prototype.readUint32=function(e){var t=this._dataView.getUint32(this.position,null==e?this.endianness:e);return this.position+=4,t},d.prototype.readUint16=function(e){var t=this._dataView.getUint16(this.position,null==e?this.endianness:e);return this.position+=2,t},d.prototype.readUint8=function(){var e=this._dataView.getUint8(this.position);return this.position+=1,e},d.prototype.readFloat32=function(e){var t=this._dataView.getFloat32(this.position,null==e?this.endianness:e);return this.position+=4,t},d.prototype.readFloat64=function(e){var t=this._dataView.getFloat64(this.position,null==e?this.endianness:e);return this.position+=8,t},d.endianness=new Int8Array(new Int16Array([1]).buffer)[0]>0,d.memcpy=function(e,t,r,i,n){var o=new Uint8Array(e,t,n),s=new Uint8Array(r,i,n);o.set(s)},d.arrayToNative=function(e,t){return t==this.endianness?e:this.flipArrayEndianness(e)},d.nativeToEndian=function(e,t){return this.endianness==t?e:this.flipArrayEndianness(e)},d.flipArrayEndianness=function(e){for(var t=new Uint8Array(e.buffer,e.byteOffset,e.byteLength),r=0;r<e.byteLength;r+=e.BYTES_PER_ELEMENT)for(var i=r+e.BYTES_PER_ELEMENT-1,n=r;i>n;i--,n++){var o=t[n];t[n]=t[i],t[i]=o}return e},d.prototype.failurePosition=0,String.fromCharCodeUint8=function(e){for(var t=[],r=0;r<e.length;r++)t[r]=e[r];return String.fromCharCode.apply(null,t)},d.prototype.readString=function(e,t){return null==t||"ASCII"==t?String.fromCharCodeUint8.apply(null,[this.mapUint8Array(null==e?this.byteLength-this.position:e)]):new TextDecoder(t).decode(this.mapUint8Array(e))},d.prototype.readCString=function(e){var t=this.byteLength-this.position,r=new Uint8Array(this._buffer,this._byteOffset+this.position),i=t;null!=e&&(i=Math.min(e,t));for(var n=0;n<i&&0!==r[n];n++);var o=String.fromCharCodeUint8.apply(null,[this.mapUint8Array(n)]);return null!=e?this.position+=i-n:n!=t&&(this.position+=1),o};var l=Math.pow(2,32);d.prototype.readInt64=function(){return this.readInt32()*l+this.readUint32()},d.prototype.readUint64=function(){return this.readUint32()*l+this.readUint32()},d.prototype.readInt64=function(){return this.readUint32()*l+this.readUint32()},d.prototype.readUint24=function(){return(this.readUint8()<<16)+(this.readUint8()<<8)+this.readUint8()},t.DataStream=d,d.prototype.save=function(e){var t=new Blob([this.buffer]);if(!window.URL||!URL.createObjectURL)throw"DataStream.save: Can't create object URL.";var r=window.URL.createObjectURL(t),i=document.createElement("a");document.body.appendChild(i),i.setAttribute("href",r),i.setAttribute("download",e),i.setAttribute("target","_self"),i.click(),window.URL.revokeObjectURL(r)},d.prototype._dynamicSize=!0,Object.defineProperty(d.prototype,"dynamicSize",{get:function(){return this._dynamicSize},set:function(e){e||this._trimAlloc(),this._dynamicSize=e}}),d.prototype.shift=function(e){var t=new ArrayBuffer(this._byteLength-e),r=new Uint8Array(t),i=new Uint8Array(this._buffer,e,r.length);r.set(i),this.buffer=t,this.position-=e},d.prototype.writeInt32Array=function(e,t){if(this._realloc(4*e.length),e instanceof Int32Array&&this.byteOffset+this.position%e.BYTES_PER_ELEMENT===0)d.memcpy(this._buffer,this.byteOffset+this.position,e.buffer,0,e.byteLength),this.mapInt32Array(e.length,t);else for(var r=0;r<e.length;r++)this.writeInt32(e[r],t)},d.prototype.writeInt16Array=function(e,t){if(this._realloc(2*e.length),e instanceof Int16Array&&this.byteOffset+this.position%e.BYTES_PER_ELEMENT===0)d.memcpy(this._buffer,this.byteOffset+this.position,e.buffer,0,e.byteLength),this.mapInt16Array(e.length,t);else for(var r=0;r<e.length;r++)this.writeInt16(e[r],t)},d.prototype.writeInt8Array=function(e){if(this._realloc(1*e.length),e instanceof Int8Array&&this.byteOffset+this.position%e.BYTES_PER_ELEMENT===0)d.memcpy(this._buffer,this.byteOffset+this.position,e.buffer,0,e.byteLength),this.mapInt8Array(e.length);else for(var t=0;t<e.length;t++)this.writeInt8(e[t])},d.prototype.writeUint32Array=function(e,t){if(this._realloc(4*e.length),e instanceof Uint32Array&&this.byteOffset+this.position%e.BYTES_PER_ELEMENT===0)d.memcpy(this._buffer,this.byteOffset+this.position,e.buffer,0,e.byteLength),this.mapUint32Array(e.length,t);else for(var r=0;r<e.length;r++)this.writeUint32(e[r],t)},d.prototype.writeUint16Array=function(e,t){if(this._realloc(2*e.length),e instanceof Uint16Array&&this.byteOffset+this.position%e.BYTES_PER_ELEMENT===0)d.memcpy(this._buffer,this.byteOffset+this.position,e.buffer,0,e.byteLength),this.mapUint16Array(e.length,t);else for(var r=0;r<e.length;r++)this.writeUint16(e[r],t)},d.prototype.writeUint8Array=function(e){if(this._realloc(1*e.length),e instanceof Uint8Array&&this.byteOffset+this.position%e.BYTES_PER_ELEMENT===0)d.memcpy(this._buffer,this.byteOffset+this.position,e.buffer,0,e.byteLength),this.mapUint8Array(e.length);else for(var t=0;t<e.length;t++)this.writeUint8(e[t])},d.prototype.writeFloat64Array=function(e,t){if(this._realloc(8*e.length),e instanceof Float64Array&&this.byteOffset+this.position%e.BYTES_PER_ELEMENT===0)d.memcpy(this._buffer,this.byteOffset+this.position,e.buffer,0,e.byteLength),this.mapFloat64Array(e.length,t);else for(var r=0;r<e.length;r++)this.writeFloat64(e[r],t)},d.prototype.writeFloat32Array=function(e,t){if(this._realloc(4*e.length),e instanceof Float32Array&&this.byteOffset+this.position%e.BYTES_PER_ELEMENT===0)d.memcpy(this._buffer,this.byteOffset+this.position,e.buffer,0,e.byteLength),this.mapFloat32Array(e.length,t);else for(var r=0;r<e.length;r++)this.writeFloat32(e[r],t)},d.prototype.writeInt32=function(e,t){this._realloc(4),this._dataView.setInt32(this.position,e,null==t?this.endianness:t),this.position+=4},d.prototype.writeInt16=function(e,t){this._realloc(2),this._dataView.setInt16(this.position,e,null==t?this.endianness:t),this.position+=2},d.prototype.writeInt8=function(e){this._realloc(1),this._dataView.setInt8(this.position,e),this.position+=1},d.prototype.writeUint32=function(e,t){this._realloc(4),this._dataView.setUint32(this.position,e,null==t?this.endianness:t),this.position+=4},d.prototype.writeUint16=function(e,t){this._realloc(2),this._dataView.setUint16(this.position,e,null==t?this.endianness:t),this.position+=2},d.prototype.writeUint8=function(e){this._realloc(1),this._dataView.setUint8(this.position,e),this.position+=1},d.prototype.writeFloat32=function(e,t){this._realloc(4),this._dataView.setFloat32(this.position,e,null==t?this.endianness:t),this.position+=4},d.prototype.writeFloat64=function(e,t){this._realloc(8),this._dataView.setFloat64(this.position,e,null==t?this.endianness:t),this.position+=8},d.prototype.writeUCS2String=function(e,t,r){null==r&&(r=e.length);for(var i=0;i<e.length&&i<r;i++)this.writeUint16(e.charCodeAt(i),t);for(;i<r;i++)this.writeUint16(0)},d.prototype.writeString=function(e,t,r){var i=0;if(null==t||"ASCII"==t)if(null!=r){var n=Math.min(e.length,r);for(i=0;i<n;i++)this.writeUint8(e.charCodeAt(i));for(;i<r;i++)this.writeUint8(0)}else for(i=0;i<e.length;i++)this.writeUint8(e.charCodeAt(i));else this.writeUint8Array(new TextEncoder(t).encode(e.substring(0,r)))},d.prototype.writeCString=function(e,t){var r=0;if(null!=t){var i=Math.min(e.length,t);for(r=0;r<i;r++)this.writeUint8(e.charCodeAt(r));for(;r<t;r++)this.writeUint8(0)}else{for(r=0;r<e.length;r++)this.writeUint8(e.charCodeAt(r));this.writeUint8(0)}},d.prototype.writeStruct=function(e,t){for(var r=0;r<e.length;r+=2){var i=e[r+1];this.writeType(i,t[e[r]],t)}},d.prototype.writeType=function(e,t,r){var i;if("function"==typeof e)return e(this,t);if("object"==typeof e&&!(e instanceof Array))return e.set(this,t,r);var n=null,o="ASCII",s=this.position;switch("string"==typeof e&&/:/.test(e)&&(i=e.split(":"),e=i[0],n=parseInt(i[1])),"string"==typeof e&&/,/.test(e)&&(i=e.split(","),e=i[0],o=parseInt(i[1])),e){case"uint8":this.writeUint8(t);break;case"int8":this.writeInt8(t);break;case"uint16":this.writeUint16(t,this.endianness);break;case"int16":this.writeInt16(t,this.endianness);break;case"uint32":this.writeUint32(t,this.endianness);break;case"int32":this.writeInt32(t,this.endianness);break;case"float32":this.writeFloat32(t,this.endianness);break;case"float64":this.writeFloat64(t,this.endianness);break;case"uint16be":this.writeUint16(t,d.BIG_ENDIAN);break;case"int16be":this.writeInt16(t,d.BIG_ENDIAN);break;case"uint32be":this.writeUint32(t,d.BIG_ENDIAN);break;case"int32be":this.writeInt32(t,d.BIG_ENDIAN);break;case"float32be":this.writeFloat32(t,d.BIG_ENDIAN);break;case"float64be":this.writeFloat64(t,d.BIG_ENDIAN);break;case"uint16le":this.writeUint16(t,d.LITTLE_ENDIAN);break;case"int16le":this.writeInt16(t,d.LITTLE_ENDIAN);break;case"uint32le":this.writeUint32(t,d.LITTLE_ENDIAN);break;case"int32le":this.writeInt32(t,d.LITTLE_ENDIAN);break;case"float32le":this.writeFloat32(t,d.LITTLE_ENDIAN);break;case"float64le":this.writeFloat64(t,d.LITTLE_ENDIAN);break;case"cstring":this.writeCString(t,n);break;case"string":this.writeString(t,o,n);break;case"u16string":this.writeUCS2String(t,this.endianness,n);break;case"u16stringle":this.writeUCS2String(t,d.LITTLE_ENDIAN,n);break;case"u16stringbe":this.writeUCS2String(t,d.BIG_ENDIAN,n);break;default:if(3==e.length){for(var a=e[1],l=0;l<t.length;l++)this.writeType(a,t[l]);break}this.writeStruct(e,t)}null!=n&&(this.position=s,this._realloc(n),this.position=s+n)},d.prototype.writeUint64=function(e){var t=Math.floor(e/l);this.writeUint32(t),this.writeUint32(4294967295&e)},d.prototype.writeUint24=function(e){this.writeUint8((16711680&e)>>16),this.writeUint8((65280&e)>>8),this.writeUint8(255&e)},d.prototype.adjustUint32=function(e,t){var r=this.position;this.seek(e),this.writeUint32(t),this.seek(r)},d.prototype.mapInt32Array=function(e,t){this._realloc(4*e);var r=new Int32Array(this._buffer,this.byteOffset+this.position,e);return d.arrayToNative(r,null==t?this.endianness:t),this.position+=4*e,r},d.prototype.mapInt16Array=function(e,t){this._realloc(2*e);var r=new Int16Array(this._buffer,this.byteOffset+this.position,e);return d.arrayToNative(r,null==t?this.endianness:t),this.position+=2*e,r},d.prototype.mapInt8Array=function(e){this._realloc(1*e);var t=new Int8Array(this._buffer,this.byteOffset+this.position,e);return this.position+=1*e,t},d.prototype.mapUint32Array=function(e,t){this._realloc(4*e);var r=new Uint32Array(this._buffer,this.byteOffset+this.position,e);return d.arrayToNative(r,null==t?this.endianness:t),this.position+=4*e,r},d.prototype.mapUint16Array=function(e,t){this._realloc(2*e);var r=new Uint16Array(this._buffer,this.byteOffset+this.position,e);return d.arrayToNative(r,null==t?this.endianness:t),this.position+=2*e,r},d.prototype.mapFloat64Array=function(e,t){this._realloc(8*e);var r=new Float64Array(this._buffer,this.byteOffset+this.position,e);return d.arrayToNative(r,null==t?this.endianness:t),this.position+=8*e,r},d.prototype.mapFloat32Array=function(e,t){this._realloc(4*e);var r=new Float32Array(this._buffer,this.byteOffset+this.position,e);return d.arrayToNative(r,null==t?this.endianness:t),this.position+=4*e,r};var u=function(e){this.buffers=[],this.bufferIndex=-1,e&&(this.insertBuffer(e),this.bufferIndex=0)};(u.prototype=new d(new ArrayBuffer,0,d.BIG_ENDIAN)).initialized=function(){var e;return this.bufferIndex>-1||(this.buffers.length>0?0===(e=this.buffers[0]).fileStart?(this.buffer=e,this.bufferIndex=0,s.debug("MultiBufferStream","Stream ready for parsing"),!0):(s.warn("MultiBufferStream","The first buffer should have a fileStart of 0"),this.logBufferLevel(),!1):(s.warn("MultiBufferStream","No buffer to start parsing from"),this.logBufferLevel(),!1))},ArrayBuffer.concat=function(e,t){s.debug("ArrayBuffer","Trying to create a new buffer of size: "+(e.byteLength+t.byteLength));var r=new Uint8Array(e.byteLength+t.byteLength);return r.set(new Uint8Array(e),0),r.set(new Uint8Array(t),e.byteLength),r.buffer},u.prototype.reduceBuffer=function(e,t,r){var i;return(i=new Uint8Array(r)).set(new Uint8Array(e,t,r)),i.buffer.fileStart=e.fileStart+t,i.buffer.usedBytes=0,i.buffer},u.prototype.insertBuffer=function(e){for(var t=!0,r=0;r<this.buffers.length;r++){var i=this.buffers[r];if(e.fileStart<=i.fileStart){if(e.fileStart===i.fileStart){if(e.byteLength>i.byteLength){this.buffers.splice(r,1),r--;continue}s.warn("MultiBufferStream","Buffer (fileStart: "+e.fileStart+" - Length: "+e.byteLength+") already appended, ignoring")}else e.fileStart+e.byteLength<=i.fileStart||(e=this.reduceBuffer(e,0,i.fileStart-e.fileStart)),s.debug("MultiBufferStream","Appending new buffer (fileStart: "+e.fileStart+" - Length: "+e.byteLength+")"),this.buffers.splice(r,0,e),0===r&&(this.buffer=e);t=!1;break}if(e.fileStart<i.fileStart+i.byteLength){var n=i.fileStart+i.byteLength-e.fileStart,o=e.byteLength-n;if(!(o>0)){t=!1;break}e=this.reduceBuffer(e,n,o)}}t&&(s.debug("MultiBufferStream","Appending new buffer (fileStart: "+e.fileStart+" - Length: "+e.byteLength+")"),this.buffers.push(e),0===r&&(this.buffer=e))},u.prototype.logBufferLevel=function(e){var t,r,i,n,o,a=[],d="";for(i=0,n=0,t=0;t<this.buffers.length;t++)r=this.buffers[t],0===t?(o={},a.push(o),o.start=r.fileStart,o.end=r.fileStart+r.byteLength,d+="["+o.start+"-"):o.end===r.fileStart?o.end=r.fileStart+r.byteLength:((o={}).start=r.fileStart,d+=a[a.length-1].end-1+"], ["+o.start+"-",o.end=r.fileStart+r.byteLength,a.push(o)),i+=r.usedBytes,n+=r.byteLength;a.length>0&&(d+=o.end-1+"]");var l=e?s.info:s.debug;0===this.buffers.length?l("MultiBufferStream","No more buffer in memory"):l("MultiBufferStream",this.buffers.length+" stored buffer(s) ("+i+"/"+n+" bytes), continuous ranges: "+d)},u.prototype.cleanBuffers=function(){var e,t;for(e=0;e<this.buffers.length;e++)(t=this.buffers[e]).usedBytes===t.byteLength&&(s.debug("MultiBufferStream","Removing buffer #"+e),this.buffers.splice(e,1),e--)},u.prototype.mergeNextBuffer=function(){var e;if(this.bufferIndex+1<this.buffers.length){if((e=this.buffers[this.bufferIndex+1]).fileStart===this.buffer.fileStart+this.buffer.byteLength){var t=this.buffer.byteLength,r=this.buffer.usedBytes,i=this.buffer.fileStart;return this.buffers[this.bufferIndex]=ArrayBuffer.concat(this.buffer,e),this.buffer=this.buffers[this.bufferIndex],this.buffers.splice(this.bufferIndex+1,1),this.buffer.usedBytes=r,this.buffer.fileStart=i,s.debug("ISOFile","Concatenating buffer for box parsing (length: "+t+"->"+this.buffer.byteLength+")"),!0}return!1}return!1},u.prototype.findPosition=function(e,t,r){var i,n=null,o=-1;for(i=!0===e?0:this.bufferIndex;i<this.buffers.length&&(n=this.buffers[i]).fileStart<=t;)o=i,r&&(n.fileStart+n.byteLength<=t?n.usedBytes=n.byteLength:n.usedBytes=t-n.fileStart,this.logBufferLevel()),i++;return-1!==o&&(n=this.buffers[o]).fileStart+n.byteLength>=t?(s.debug("MultiBufferStream","Found position in existing buffer #"+o),o):-1},u.prototype.findEndContiguousBuf=function(e){var t,r,i,n=void 0!==e?e:this.bufferIndex;if(r=this.buffers[n],this.buffers.length>n+1)for(t=n+1;t<this.buffers.length&&(i=this.buffers[t]).fileStart===r.fileStart+r.byteLength;t++)r=i;return r.fileStart+r.byteLength},u.prototype.getEndFilePositionAfter=function(e){var t=this.findPosition(!0,e,!1);return-1!==t?this.findEndContiguousBuf(t):e},u.prototype.addUsedBytes=function(e){this.buffer.usedBytes+=e,this.logBufferLevel()},u.prototype.setAllUsedBytes=function(){this.buffer.usedBytes=this.buffer.byteLength,this.logBufferLevel()},u.prototype.seek=function(e,t,r){var i;return-1!==(i=this.findPosition(t,e,r))?(this.buffer=this.buffers[i],this.bufferIndex=i,this.position=e-this.buffer.fileStart,s.debug("MultiBufferStream","Repositioning parser at buffer position: "+this.position),!0):(s.debug("MultiBufferStream","Position "+e+" not found in buffered data"),!1)},u.prototype.getPosition=function(){if(-1===this.bufferIndex||null===this.buffers[this.bufferIndex])throw"Error accessing position in the MultiBufferStream";return this.buffers[this.bufferIndex].fileStart+this.position},u.prototype.getLength=function(){return this.byteLength},u.prototype.getEndPosition=function(){if(-1===this.bufferIndex||null===this.buffers[this.bufferIndex])throw"Error accessing position in the MultiBufferStream";return this.buffers[this.bufferIndex].fileStart+this.byteLength},u.prototype.destroy=function(){this.buffers=[],this.bufferIndex},t.MultiBufferStream=u;var c=function(){var e=[];e[3]="ES_Descriptor",e[4]="DecoderConfigDescriptor",e[5]="DecoderSpecificInfo",e[6]="SLConfigDescriptor",this.getDescriptorName=function(t){return e[t]};var t=this,r={};return this.parseOneDescriptor=function(t){var i,n,o,a=0;for(i=t.readUint8(),o=t.readUint8();128&o;)a=(127&o)<<7,o=t.readUint8();return a+=127&o,s.debug("MPEG4DescriptorParser","Found "+(e[i]||"Descriptor "+i)+", size "+a+" at position "+t.getPosition()),(n=e[i]?new r[e[i]](a):new r.Descriptor(a)).parse(t),n},r.Descriptor=function(e,t){this.tag=e,this.size=t,this.descs=[]},r.Descriptor.prototype.parse=function(e){this.data=e.readUint8Array(this.size)},r.Descriptor.prototype.findDescriptor=function(e){for(var t=0;t<this.descs.length;t++)if(this.descs[t].tag==e)return this.descs[t];return null},r.Descriptor.prototype.parseRemainingDescriptors=function(e){for(var r=e.position;e.position<r+this.size;){var i=t.parseOneDescriptor(e);this.descs.push(i)}},r.ES_Descriptor=function(e){r.Descriptor.call(this,3,e)},r.ES_Descriptor.prototype=new r.Descriptor,r.ES_Descriptor.prototype.parse=function(e){if(this.ES_ID=e.readUint16(),this.flags=e.readUint8(),this.size-=3,128&this.flags?(this.dependsOn_ES_ID=e.readUint16(),this.size-=2):this.dependsOn_ES_ID=0,64&this.flags){var t=e.readUint8();this.URL=e.readString(t),this.size-=t+1}else this.URL="";32&this.flags?(this.OCR_ES_ID=e.readUint16(),this.size-=2):this.OCR_ES_ID=0,this.parseRemainingDescriptors(e)},r.ES_Descriptor.prototype.getOTI=function(e){var t=this.findDescriptor(4);return t?t.oti:0},r.ES_Descriptor.prototype.getAudioConfig=function(e){var t=this.findDescriptor(4);if(!t)return null;var r=t.findDescriptor(5);if(r&&r.data){var i=(248&r.data[0])>>3;return 31===i&&r.data.length>=2&&(i=32+((7&r.data[0])<<3)+((224&r.data[1])>>5)),i}return null},r.DecoderConfigDescriptor=function(e){r.Descriptor.call(this,4,e)},r.DecoderConfigDescriptor.prototype=new r.Descriptor,r.DecoderConfigDescriptor.prototype.parse=function(e){this.oti=e.readUint8(),this.streamType=e.readUint8(),this.upStream=0!=(this.streamType>>1&1),this.streamType=this.streamType>>>2,this.bufferSize=e.readUint24(),this.maxBitrate=e.readUint32(),this.avgBitrate=e.readUint32(),this.size-=13,this.parseRemainingDescriptors(e)},r.DecoderSpecificInfo=function(e){r.Descriptor.call(this,5,e)},r.DecoderSpecificInfo.prototype=new r.Descriptor,r.SLConfigDescriptor=function(e){r.Descriptor.call(this,6,e)},r.SLConfigDescriptor.prototype=new r.Descriptor,this};t.MPEG4DescriptorParser=c;var f={ERR_INVALID_DATA:-1,ERR_NOT_ENOUGH_DATA:0,OK:1,BASIC_BOXES:["mdat","idat","free","skip","meco","strk"],FULL_BOXES:["hmhd","nmhd","iods","xml ","bxml","ipro","mere"],CONTAINER_BOXES:[["moov",["trak","pssh"]],["trak"],["edts"],["mdia"],["minf"],["dinf"],["stbl",["sgpd","sbgp"]],["mvex",["trex"]],["moof",["traf"]],["traf",["trun","sgpd","sbgp"]],["vttc"],["tref"],["iref"],["mfra",["tfra"]],["meco"],["hnti"],["hinf"],["strk"],["strd"],["sinf"],["rinf"],["schi"],["trgr"],["udta",["kind"]],["iprp",["ipma"]],["ipco"],["grpl"],["j2kH"],["etyp",["tyco"]]],boxCodes:[],fullBoxCodes:[],containerBoxCodes:[],sampleEntryCodes:{},sampleGroupEntryCodes:[],trackGroupTypes:[],UUIDBoxes:{},UUIDs:[],initialize:function(){f.FullBox.prototype=new f.Box,f.ContainerBox.prototype=new f.Box,f.SampleEntry.prototype=new f.Box,f.TrackGroupTypeBox.prototype=new f.FullBox,f.BASIC_BOXES.forEach((function(e){f.createBoxCtor(e)})),f.FULL_BOXES.forEach((function(e){f.createFullBoxCtor(e)})),f.CONTAINER_BOXES.forEach((function(e){f.createContainerBoxCtor(e[0],null,e[1])}))},Box:function(e,t,r){this.type=e,this.size=t,this.uuid=r},FullBox:function(e,t,r){f.Box.call(this,e,t,r),this.flags=0,this.version=0},ContainerBox:function(e,t,r){f.Box.call(this,e,t,r),this.boxes=[]},SampleEntry:function(e,t,r,i){f.ContainerBox.call(this,e,t),this.hdr_size=r,this.start=i},SampleGroupEntry:function(e){this.grouping_type=e},TrackGroupTypeBox:function(e,t){f.FullBox.call(this,e,t)},createBoxCtor:function(e,t){f.boxCodes.push(e),f[e+"Box"]=function(t){f.Box.call(this,e,t)},f[e+"Box"].prototype=new f.Box,t&&(f[e+"Box"].prototype.parse=t)},createFullBoxCtor:function(e,t){f[e+"Box"]=function(t){f.FullBox.call(this,e,t)},f[e+"Box"].prototype=new f.FullBox,f[e+"Box"].prototype.parse=function(e){this.parseFullHeader(e),t&&t.call(this,e)}},addSubBoxArrays:function(e){if(e){this.subBoxNames=e;for(var t=e.length,r=0;r<t;r++)this[e[r]+"s"]=[]}},createContainerBoxCtor:function(e,t,r){f[e+"Box"]=function(t){f.ContainerBox.call(this,e,t),f.addSubBoxArrays.call(this,r)},f[e+"Box"].prototype=new f.ContainerBox,t&&(f[e+"Box"].prototype.parse=t)},createMediaSampleEntryCtor:function(e,t,r){f.sampleEntryCodes[e]=[],f[e+"SampleEntry"]=function(e,t){f.SampleEntry.call(this,e,t),f.addSubBoxArrays.call(this,r)},f[e+"SampleEntry"].prototype=new f.SampleEntry,t&&(f[e+"SampleEntry"].prototype.parse=t)},createSampleEntryCtor:function(e,t,r,i){f.sampleEntryCodes[e].push(t),f[t+"SampleEntry"]=function(r){f[e+"SampleEntry"].call(this,t,r),f.addSubBoxArrays.call(this,i)},f[t+"SampleEntry"].prototype=new f[e+"SampleEntry"],r&&(f[t+"SampleEntry"].prototype.parse=r)},createEncryptedSampleEntryCtor:function(e,t,r){f.createSampleEntryCtor.call(this,e,t,r,["sinf"])},createSampleGroupCtor:function(e,t){f[e+"SampleGroupEntry"]=function(t){f.SampleGroupEntry.call(this,e,t)},f[e+"SampleGroupEntry"].prototype=new f.SampleGroupEntry,t&&(f[e+"SampleGroupEntry"].prototype.parse=t)},createTrackGroupCtor:function(e,t){f[e+"TrackGroupTypeBox"]=function(t){f.TrackGroupTypeBox.call(this,e,t)},f[e+"TrackGroupTypeBox"].prototype=new f.TrackGroupTypeBox,t&&(f[e+"TrackGroupTypeBox"].prototype.parse=t)},createUUIDBox:function(e,t,r,i){f.UUIDs.push(e),f.UUIDBoxes[e]=function(i){t?f.FullBox.call(this,"uuid",i,e):r?f.ContainerBox.call(this,"uuid",i,e):f.Box.call(this,"uuid",i,e)},f.UUIDBoxes[e].prototype=t?new f.FullBox:r?new f.ContainerBox:new f.Box,i&&(f.UUIDBoxes[e].prototype.parse=t?function(e){this.parseFullHeader(e),i&&i.call(this,e)}:i)}};function h(e,t){this.x=e,this.y=t}function p(e,t){this.bad_pixel_row=e,this.bad_pixel_column=t}f.initialize(),f.TKHD_FLAG_ENABLED=1,f.TKHD_FLAG_IN_MOVIE=2,f.TKHD_FLAG_IN_PREVIEW=4,f.TFHD_FLAG_BASE_DATA_OFFSET=1,f.TFHD_FLAG_SAMPLE_DESC=2,f.TFHD_FLAG_SAMPLE_DUR=8,f.TFHD_FLAG_SAMPLE_SIZE=16,f.TFHD_FLAG_SAMPLE_FLAGS=32,f.TFHD_FLAG_DUR_EMPTY=65536,f.TFHD_FLAG_DEFAULT_BASE_IS_MOOF=131072,f.TRUN_FLAGS_DATA_OFFSET=1,f.TRUN_FLAGS_FIRST_FLAG=4,f.TRUN_FLAGS_DURATION=256,f.TRUN_FLAGS_SIZE=512,f.TRUN_FLAGS_FLAGS=1024,f.TRUN_FLAGS_CTS_OFFSET=2048,f.Box.prototype.add=function(e){return this.addBox(new f[e+"Box"])},f.Box.prototype.addBox=function(e){return this.boxes.push(e),this[e.type+"s"]?this[e.type+"s"].push(e):this[e.type]=e,e},f.Box.prototype.set=function(e,t){return this[e]=t,this},f.Box.prototype.addEntry=function(e,t){var r=t||"entries";return this[r]||(this[r]=[]),this[r].push(e),this},t.BoxParser=f,f.parseUUID=function(e){return f.parseHex16(e)},f.parseHex16=function(e){for(var t="",r=0;r<16;r++){var i=e.readUint8().toString(16);t+=1===i.length?"0"+i:i}return t},f.parseOneBox=function(e,t,r){var i,n,o,a=e.getPosition(),d=0;if(e.getEndPosition()-a<8)return s.debug("BoxParser","Not enough data in stream to parse the type and size of the box"),{code:f.ERR_NOT_ENOUGH_DATA};if(r&&r<8)return s.debug("BoxParser","Not enough bytes left in the parent box to parse a new box"),{code:f.ERR_NOT_ENOUGH_DATA};var l=e.readUint32(),u=e.readString(4),c=u;if(s.debug("BoxParser","Found box of type '"+u+"' and size "+l+" at position "+a),d=8,"uuid"==u){if(e.getEndPosition()-e.getPosition()<16||r-d<16)return e.seek(a),s.debug("BoxParser","Not enough bytes left in the parent box to parse a UUID box"),{code:f.ERR_NOT_ENOUGH_DATA};d+=16,c=o=f.parseUUID(e)}if(1==l){if(e.getEndPosition()-e.getPosition()<8||r&&r-d<8)return e.seek(a),s.warn("BoxParser",'Not enough data in stream to parse the extended size of the "'+u+'" box'),{code:f.ERR_NOT_ENOUGH_DATA};l=e.readUint64(),d+=8}else if(0===l)if(r)l=r;else if("mdat"!==u)return s.error("BoxParser","Unlimited box size not supported for type: '"+u+"'"),i=new f.Box(u,l),{code:f.OK,box:i,size:i.size};return 0!==l&&l<d?(s.error("BoxParser","Box of type "+u+" has an invalid size "+l+" (too small to be a box)"),{code:f.ERR_NOT_ENOUGH_DATA,type:u,size:l,hdr_size:d,start:a}):0!==l&&r&&l>r?(s.error("BoxParser","Box of type '"+u+"' has a size "+l+" greater than its container size "+r),{code:f.ERR_NOT_ENOUGH_DATA,type:u,size:l,hdr_size:d,start:a}):0!==l&&a+l>e.getEndPosition()?(e.seek(a),s.info("BoxParser","Not enough data in stream to parse the entire '"+u+"' box"),{code:f.ERR_NOT_ENOUGH_DATA,type:u,size:l,hdr_size:d,start:a}):t?{code:f.OK,type:u,size:l,hdr_size:d,start:a}:(f[u+"Box"]?i=new f[u+"Box"](l):"uuid"!==u?(s.warn("BoxParser","Unknown box type: '"+u+"'"),(i=new f.Box(u,l)).has_unparsed_data=!0):f.UUIDBoxes[o]?i=new f.UUIDBoxes[o](l):(s.warn("BoxParser","Unknown uuid type: '"+o+"'"),(i=new f.Box(u,l)).uuid=o,i.has_unparsed_data=!0),i.hdr_size=d,i.start=a,i.write===f.Box.prototype.write&&"mdat"!==i.type&&(s.info("BoxParser","'"+c+"' box writing not yet implemented, keeping unparsed data in memory for later write"),i.parseDataAndRewind(e)),i.parse(e),(n=e.getPosition()-(i.start+i.size))<0?(s.warn("BoxParser","Parsing of box '"+c+"' did not read the entire indicated box data size (missing "+-n+" bytes), seeking forward"),e.seek(i.start+i.size)):n>0&&(s.error("BoxParser","Parsing of box '"+c+"' read "+n+" more bytes than the indicated box data size, seeking backwards"),0!==i.size&&e.seek(i.start+i.size)),{code:f.OK,box:i,size:i.size})},f.Box.prototype.parse=function(e){"mdat"!=this.type?this.data=e.readUint8Array(this.size-this.hdr_size):0===this.size?e.seek(e.getEndPosition()):e.seek(this.start+this.size)},f.Box.prototype.parseDataAndRewind=function(e){this.data=e.readUint8Array(this.size-this.hdr_size),e.position-=this.size-this.hdr_size},f.FullBox.prototype.parseDataAndRewind=function(e){this.parseFullHeader(e),this.data=e.readUint8Array(this.size-this.hdr_size),this.hdr_size-=4,e.position-=this.size-this.hdr_size},f.FullBox.prototype.parseFullHeader=function(e){this.version=e.readUint8(),this.flags=e.readUint24(),this.hdr_size+=4},f.FullBox.prototype.parse=function(e){this.parseFullHeader(e),this.data=e.readUint8Array(this.size-this.hdr_size)},f.ContainerBox.prototype.parse=function(e){for(var t,r;e.getPosition()<this.start+this.size;){if((t=f.parseOneBox(e,!1,this.size-(e.getPosition()-this.start))).code!==f.OK)return;if(r=t.box,this.boxes.push(r),this.subBoxNames&&-1!=this.subBoxNames.indexOf(r.type))this[this.subBoxNames[this.subBoxNames.indexOf(r.type)]+"s"].push(r);else{var i="uuid"!==r.type?r.type:r.uuid;this[i]?s.warn("Box of type "+i+" already stored in field of this type"):this[i]=r}}},f.Box.prototype.parseLanguage=function(e){this.language=e.readUint16();var t=[];t[0]=this.language>>10&31,t[1]=this.language>>5&31,t[2]=31&this.language,this.languageString=String.fromCharCode(t[0]+96,t[1]+96,t[2]+96)},f.SAMPLE_ENTRY_TYPE_VISUAL="Visual",f.SAMPLE_ENTRY_TYPE_AUDIO="Audio",f.SAMPLE_ENTRY_TYPE_HINT="Hint",f.SAMPLE_ENTRY_TYPE_METADATA="Metadata",f.SAMPLE_ENTRY_TYPE_SUBTITLE="Subtitle",f.SAMPLE_ENTRY_TYPE_SYSTEM="System",f.SAMPLE_ENTRY_TYPE_TEXT="Text",f.SampleEntry.prototype.parseHeader=function(e){e.readUint8Array(6),this.data_reference_index=e.readUint16(),this.hdr_size+=8},f.SampleEntry.prototype.parse=function(e){this.parseHeader(e),this.data=e.readUint8Array(this.size-this.hdr_size)},f.SampleEntry.prototype.parseDataAndRewind=function(e){this.parseHeader(e),this.data=e.readUint8Array(this.size-this.hdr_size),this.hdr_size-=8,e.position-=this.size-this.hdr_size},f.SampleEntry.prototype.parseFooter=function(e){f.ContainerBox.prototype.parse.call(this,e)},f.createMediaSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_HINT),f.createMediaSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_METADATA),f.createMediaSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_SUBTITLE),f.createMediaSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_SYSTEM),f.createMediaSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_TEXT),f.createMediaSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,(function(e){var t;this.parseHeader(e),e.readUint16(),e.readUint16(),e.readUint32Array(3),this.width=e.readUint16(),this.height=e.readUint16(),this.horizresolution=e.readUint32(),this.vertresolution=e.readUint32(),e.readUint32(),this.frame_count=e.readUint16(),t=Math.min(31,e.readUint8()),this.compressorname=e.readString(t),t<31&&e.readString(31-t),this.depth=e.readUint16(),e.readUint16(),this.parseFooter(e)})),f.createMediaSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_AUDIO,(function(e){this.parseHeader(e),e.readUint32Array(2),this.channel_count=e.readUint16(),this.samplesize=e.readUint16(),e.readUint16(),e.readUint16(),this.samplerate=e.readUint32()/65536,this.parseFooter(e)})),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"avc1"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"avc2"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"avc3"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"avc4"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"av01"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"dav1"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"hvc1"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"hev1"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"hvt1"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"lhe1"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"dvh1"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"dvhe"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"vvc1"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"vvi1"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"vvs1"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"vvcN"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"vp08"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"vp09"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"avs3"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"j2ki"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"mjp2"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"mjpg"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"uncv"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_AUDIO,"mp4a"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_AUDIO,"ac-3"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_AUDIO,"ac-4"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_AUDIO,"ec-3"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_AUDIO,"Opus"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_AUDIO,"mha1"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_AUDIO,"mha2"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_AUDIO,"mhm1"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_AUDIO,"mhm2"),f.createEncryptedSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"encv"),f.createEncryptedSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_AUDIO,"enca"),f.createEncryptedSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_SUBTITLE,"encu"),f.createEncryptedSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_SYSTEM,"encs"),f.createEncryptedSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_TEXT,"enct"),f.createEncryptedSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_METADATA,"encm"),f.createBoxCtor("a1lx",(function(e){var t=16*(1+(1&(1&e.readUint8())));this.layer_size=[];for(var r=0;r<3;r++)this.layer_size[r]=16==t?e.readUint16():e.readUint32()})),f.createBoxCtor("a1op",(function(e){this.op_index=e.readUint8()})),f.createFullBoxCtor("auxC",(function(e){this.aux_type=e.readCString();var t=this.size-this.hdr_size-(this.aux_type.length+1);this.aux_subtype=e.readUint8Array(t)})),f.createBoxCtor("av1C",(function(e){var t=e.readUint8();if(t>>7&!1)s.error("av1C marker problem");else if(this.version=127&t,1===this.version)if(t=e.readUint8(),this.seq_profile=t>>5&7,this.seq_level_idx_0=31&t,t=e.readUint8(),this.seq_tier_0=t>>7&1,this.high_bitdepth=t>>6&1,this.twelve_bit=t>>5&1,this.monochrome=t>>4&1,this.chroma_subsampling_x=t>>3&1,this.chroma_subsampling_y=t>>2&1,this.chroma_sample_position=3&t,t=e.readUint8(),this.reserved_1=t>>5&7,0===this.reserved_1){if(this.initial_presentation_delay_present=t>>4&1,1===this.initial_presentation_delay_present)this.initial_presentation_delay_minus_one=15&t;else if(this.reserved_2=15&t,0!==this.reserved_2)return void s.error("av1C reserved_2 parsing problem");var r=this.size-this.hdr_size-4;this.configOBUs=e.readUint8Array(r)}else s.error("av1C reserved_1 parsing problem");else s.error("av1C version "+this.version+" not supported")})),f.createBoxCtor("avcC",(function(e){var t,r;for(this.configurationVersion=e.readUint8(),this.AVCProfileIndication=e.readUint8(),this.profile_compatibility=e.readUint8(),this.AVCLevelIndication=e.readUint8(),this.lengthSizeMinusOne=3&e.readUint8(),this.nb_SPS_nalus=31&e.readUint8(),r=this.size-this.hdr_size-6,this.SPS=[],t=0;t<this.nb_SPS_nalus;t++)this.SPS[t]={},this.SPS[t].length=e.readUint16(),this.SPS[t].nalu=e.readUint8Array(this.SPS[t].length),r-=2+this.SPS[t].length;for(this.nb_PPS_nalus=e.readUint8(),r--,this.PPS=[],t=0;t<this.nb_PPS_nalus;t++)this.PPS[t]={},this.PPS[t].length=e.readUint16(),this.PPS[t].nalu=e.readUint8Array(this.PPS[t].length),r-=2+this.PPS[t].length;r>0&&(this.ext=e.readUint8Array(r))})),f.createBoxCtor("btrt",(function(e){this.bufferSizeDB=e.readUint32(),this.maxBitrate=e.readUint32(),this.avgBitrate=e.readUint32()})),f.createFullBoxCtor("ccst",(function(e){var t=e.readUint8();this.all_ref_pics_intra=128==(128&t),this.intra_pred_used=64==(64&t),this.max_ref_per_pic=(63&t)>>2,e.readUint24()})),f.createBoxCtor("cdef",(function(e){var t;for(this.channel_count=e.readUint16(),this.channel_indexes=[],this.channel_types=[],this.channel_associations=[],t=0;t<this.channel_count;t++)this.channel_indexes.push(e.readUint16()),this.channel_types.push(e.readUint16()),this.channel_associations.push(e.readUint16())})),f.createBoxCtor("clap",(function(e){this.cleanApertureWidthN=e.readUint32(),this.cleanApertureWidthD=e.readUint32(),this.cleanApertureHeightN=e.readUint32(),this.cleanApertureHeightD=e.readUint32(),this.horizOffN=e.readUint32(),this.horizOffD=e.readUint32(),this.vertOffN=e.readUint32(),this.vertOffD=e.readUint32()})),f.createBoxCtor("clli",(function(e){this.max_content_light_level=e.readUint16(),this.max_pic_average_light_level=e.readUint16()})),f.createFullBoxCtor("cmex",(function(e){1&this.flags&&(this.pos_x=e.readInt32()),2&this.flags&&(this.pos_y=e.readInt32()),4&this.flags&&(this.pos_z=e.readInt32()),8&this.flags&&(0==this.version?16&this.flags?(this.quat_x=e.readInt32(),this.quat_y=e.readInt32(),this.quat_z=e.readInt32()):(this.quat_x=e.readInt16(),this.quat_y=e.readInt16(),this.quat_z=e.readInt16()):this.version),32&this.flags&&(this.id=e.readUint32())})),f.createFullBoxCtor("cmin",(function(e){this.focal_length_x=e.readInt32(),this.principal_point_x=e.readInt32(),this.principal_point_y=e.readInt32(),1&this.flags&&(this.focal_length_y=e.readInt32(),this.skew_factor=e.readInt32())})),f.createBoxCtor("cmpd",(function(e){for(this.component_count=e.readUint32(),this.component_types=[],this.component_type_urls=[],i=0;i<this.component_count;i++){var t=e.readUint16();this.component_types.push(t),t>=32768&&this.component_type_urls.push(e.readCString())}})),f.createFullBoxCtor("co64",(function(e){var t,r;if(t=e.readUint32(),this.chunk_offsets=[],0===this.version)for(r=0;r<t;r++)this.chunk_offsets.push(e.readUint64())})),f.createFullBoxCtor("CoLL",(function(e){this.maxCLL=e.readUint16(),this.maxFALL=e.readUint16()})),f.createBoxCtor("colr",(function(e){if(this.colour_type=e.readString(4),"nclx"===this.colour_type){this.colour_primaries=e.readUint16(),this.transfer_characteristics=e.readUint16(),this.matrix_coefficients=e.readUint16();var t=e.readUint8();this.full_range_flag=t>>7}else("rICC"===this.colour_type||"prof"===this.colour_type)&&(this.ICC_profile=e.readUint8Array(this.size-4))})),f.createFullBoxCtor("cprt",(function(e){this.parseLanguage(e),this.notice=e.readCString()})),f.createFullBoxCtor("cslg",(function(e){0===this.version&&(this.compositionToDTSShift=e.readInt32(),this.leastDecodeToDisplayDelta=e.readInt32(),this.greatestDecodeToDisplayDelta=e.readInt32(),this.compositionStartTime=e.readInt32(),this.compositionEndTime=e.readInt32())})),f.createFullBoxCtor("ctts",(function(e){var t,r;if(t=e.readUint32(),this.sample_counts=[],this.sample_offsets=[],0===this.version)for(r=0;r<t;r++){this.sample_counts.push(e.readUint32());var i=e.readInt32();i<0&&s.warn("BoxParser","ctts box uses negative values without using version 1"),this.sample_offsets.push(i)}else if(1==this.version)for(r=0;r<t;r++)this.sample_counts.push(e.readUint32()),this.sample_offsets.push(e.readInt32())})),f.createBoxCtor("dac3",(function(e){var t=e.readUint8(),r=e.readUint8(),i=e.readUint8();this.fscod=t>>6,this.bsid=t>>1&31,this.bsmod=(1&t)<<2|r>>6&3,this.acmod=r>>3&7,this.lfeon=r>>2&1,this.bit_rate_code=3&r|i>>5&7})),f.createBoxCtor("dec3",(function(e){var t=e.readUint16();this.data_rate=t>>3,this.num_ind_sub=7&t,this.ind_subs=[];for(var r=0;r<this.num_ind_sub+1;r++){var i={};this.ind_subs.push(i);var n=e.readUint8(),o=e.readUint8(),s=e.readUint8();i.fscod=n>>6,i.bsid=n>>1&31,i.bsmod=(1&n)<<4|o>>4&15,i.acmod=o>>1&7,i.lfeon=1&o,i.num_dep_sub=s>>1&15,i.num_dep_sub>0&&(i.chan_loc=(1&s)<<8|e.readUint8())}})),f.createFullBoxCtor("dfLa",(function(e){var t=[],r=["STREAMINFO","PADDING","APPLICATION","SEEKTABLE","VORBIS_COMMENT","CUESHEET","PICTURE","RESERVED"];for(this.parseFullHeader(e);;){var i=e.readUint8(),n=Math.min(127&i,r.length-1);if(n?e.readUint8Array(e.readUint24()):(e.readUint8Array(13),this.samplerate=e.readUint32()>>12,e.readUint8Array(20)),t.push(r[n]),128&i)break}this.numMetadataBlocks=t.length+" ("+t.join(", ")+")"})),f.createBoxCtor("dimm",(function(e){this.bytessent=e.readUint64()})),f.createBoxCtor("dmax",(function(e){this.time=e.readUint32()})),f.createBoxCtor("dmed",(function(e){this.bytessent=e.readUint64()})),f.createBoxCtor("dOps",(function(e){if(this.Version=e.readUint8(),this.OutputChannelCount=e.readUint8(),this.PreSkip=e.readUint16(),this.InputSampleRate=e.readUint32(),this.OutputGain=e.readInt16(),this.ChannelMappingFamily=e.readUint8(),0!==this.ChannelMappingFamily){this.StreamCount=e.readUint8(),this.CoupledCount=e.readUint8(),this.ChannelMapping=[];for(var t=0;t<this.OutputChannelCount;t++)this.ChannelMapping[t]=e.readUint8()}})),f.createFullBoxCtor("dref",(function(e){var t,r;this.entries=[];for(var i=e.readUint32(),n=0;n<i;n++){if((t=f.parseOneBox(e,!1,this.size-(e.getPosition()-this.start))).code!==f.OK)return;r=t.box,this.entries.push(r)}})),f.createBoxCtor("drep",(function(e){this.bytessent=e.readUint64()})),f.createFullBoxCtor("elng",(function(e){this.extended_language=e.readString(this.size-this.hdr_size)})),f.createFullBoxCtor("elst",(function(e){this.entries=[];for(var t=e.readUint32(),r=0;r<t;r++){var i={};this.entries.push(i),1===this.version?(i.segment_duration=e.readUint64(),i.media_time=e.readInt64()):(i.segment_duration=e.readUint32(),i.media_time=e.readInt32()),i.media_rate_integer=e.readInt16(),i.media_rate_fraction=e.readInt16()}})),f.createFullBoxCtor("emsg",(function(e){1==this.version?(this.timescale=e.readUint32(),this.presentation_time=e.readUint64(),this.event_duration=e.readUint32(),this.id=e.readUint32(),this.scheme_id_uri=e.readCString(),this.value=e.readCString()):(this.scheme_id_uri=e.readCString(),this.value=e.readCString(),this.timescale=e.readUint32(),this.presentation_time_delta=e.readUint32(),this.event_duration=e.readUint32(),this.id=e.readUint32());var t=this.size-this.hdr_size-(16+(this.scheme_id_uri.length+1)+(this.value.length+1));1==this.version&&(t-=4),this.message_data=e.readUint8Array(t)})),f.createEntityToGroupCtor=function(e,t){f[e+"Box"]=function(t){f.FullBox.call(this,e,t)},f[e+"Box"].prototype=new f.FullBox,f[e+"Box"].prototype.parse=function(e){if(this.parseFullHeader(e),t)t.call(this,e);else for(this.group_id=e.readUint32(),this.num_entities_in_group=e.readUint32(),this.entity_ids=[],i=0;i<this.num_entities_in_group;i++){var r=e.readUint32();this.entity_ids.push(r)}}},f.createEntityToGroupCtor("aebr"),f.createEntityToGroupCtor("afbr"),f.createEntityToGroupCtor("albc"),f.createEntityToGroupCtor("altr"),f.createEntityToGroupCtor("brst"),f.createEntityToGroupCtor("dobr"),f.createEntityToGroupCtor("eqiv"),f.createEntityToGroupCtor("favc"),f.createEntityToGroupCtor("fobr"),f.createEntityToGroupCtor("iaug"),f.createEntityToGroupCtor("pano"),f.createEntityToGroupCtor("slid"),f.createEntityToGroupCtor("ster"),f.createEntityToGroupCtor("tsyn"),f.createEntityToGroupCtor("wbbr"),f.createEntityToGroupCtor("prgr"),f.createFullBoxCtor("esds",(function(e){var t=e.readUint8Array(this.size-this.hdr_size),r=new c;this.esd=r.parseOneDescriptor(new d(t.buffer,0,d.BIG_ENDIAN))})),f.createBoxCtor("fiel",(function(e){this.fieldCount=e.readUint8(),this.fieldOrdering=e.readUint8()})),f.createBoxCtor("frma",(function(e){this.data_format=e.readString(4)})),f.createBoxCtor("ftyp",(function(e){var t=this.size-this.hdr_size;this.major_brand=e.readString(4),this.minor_version=e.readUint32(),t-=8,this.compatible_brands=[];for(var r=0;t>=4;)this.compatible_brands[r]=e.readString(4),t-=4,r++})),f.createFullBoxCtor("hdlr",(function(e){0===this.version&&(e.readUint32(),this.handler=e.readString(4),e.readUint32Array(3),this.name=e.readString(this.size-this.hdr_size-20),"\0"===this.name[this.name.length-1]&&(this.name=this.name.slice(0,-1)))})),f.createBoxCtor("hvcC",(function(e){var t,r,i,n;this.configurationVersion=e.readUint8(),n=e.readUint8(),this.general_profile_space=n>>6,this.general_tier_flag=(32&n)>>5,this.general_profile_idc=31&n,this.general_profile_compatibility=e.readUint32(),this.general_constraint_indicator=e.readUint8Array(6),this.general_level_idc=e.readUint8(),this.min_spatial_segmentation_idc=4095&e.readUint16(),this.parallelismType=3&e.readUint8(),this.chroma_format_idc=3&e.readUint8(),this.bit_depth_luma_minus8=7&e.readUint8(),this.bit_depth_chroma_minus8=7&e.readUint8(),this.avgFrameRate=e.readUint16(),n=e.readUint8(),this.constantFrameRate=n>>6,this.numTemporalLayers=(13&n)>>3,this.temporalIdNested=(4&n)>>2,this.lengthSizeMinusOne=3&n,this.nalu_arrays=[];var o=e.readUint8();for(t=0;t<o;t++){var s=[];this.nalu_arrays.push(s),n=e.readUint8(),s.completeness=(128&n)>>7,s.nalu_type=63&n;var a=e.readUint16();for(r=0;r<a;r++){var d={};s.push(d),i=e.readUint16(),d.data=e.readUint8Array(i)}}})),f.createFullBoxCtor("iinf",(function(e){var t;0===this.version?this.entry_count=e.readUint16():this.entry_count=e.readUint32(),this.item_infos=[];for(var r=0;r<this.entry_count;r++){if((t=f.parseOneBox(e,!1,this.size-(e.getPosition()-this.start))).code!==f.OK)return;"infe"!==t.box.type&&s.error("BoxParser","Expected 'infe' box, got "+t.box.type),this.item_infos[r]=t.box}})),f.createFullBoxCtor("iloc",(function(e){var t;t=e.readUint8(),this.offset_size=t>>4&15,this.length_size=15&t,t=e.readUint8(),this.base_offset_size=t>>4&15,1===this.version||2===this.version?this.index_size=15&t:this.index_size=0,this.items=[];var r=0;if(this.version<2)r=e.readUint16();else{if(2!==this.version)throw"version of iloc box not supported";r=e.readUint32()}for(var i=0;i<r;i++){var n={};if(this.items.push(n),this.version<2)n.item_ID=e.readUint16();else{if(2!==this.version)throw"version of iloc box not supported";n.item_ID=e.readUint32()}switch(1===this.version||2===this.version?n.construction_method=15&e.readUint16():n.construction_method=0,n.data_reference_index=e.readUint16(),this.base_offset_size){case 0:n.base_offset=0;break;case 4:n.base_offset=e.readUint32();break;case 8:n.base_offset=e.readUint64();break;default:throw"Error reading base offset size"}var o=e.readUint16();n.extents=[];for(var s=0;s<o;s++){var a={};if(n.extents.push(a),1===this.version||2===this.version)switch(this.index_size){case 0:a.extent_index=0;break;case 4:a.extent_index=e.readUint32();break;case 8:a.extent_index=e.readUint64();break;default:throw"Error reading extent index"}switch(this.offset_size){case 0:a.extent_offset=0;break;case 4:a.extent_offset=e.readUint32();break;case 8:a.extent_offset=e.readUint64();break;default:throw"Error reading extent index"}switch(this.length_size){case 0:a.extent_length=0;break;case 4:a.extent_length=e.readUint32();break;case 8:a.extent_length=e.readUint64();break;default:throw"Error reading extent index"}}}})),f.createBoxCtor("imir",(function(e){var t=e.readUint8();this.reserved=t>>7,this.axis=1&t})),f.createFullBoxCtor("infe",(function(e){if(0!==this.version&&1!==this.version||(this.item_ID=e.readUint16(),this.item_protection_index=e.readUint16(),this.item_name=e.readCString(),this.content_type=e.readCString(),this.content_encoding=e.readCString()),1===this.version)return this.extension_type=e.readString(4),s.warn("BoxParser","Cannot parse extension type"),void e.seek(this.start+this.size);this.version>=2&&(2===this.version?this.item_ID=e.readUint16():3===this.version&&(this.item_ID=e.readUint32()),this.item_protection_index=e.readUint16(),this.item_type=e.readString(4),this.item_name=e.readCString(),"mime"===this.item_type?(this.content_type=e.readCString(),this.content_encoding=e.readCString()):"uri "===this.item_type&&(this.item_uri_type=e.readCString()))})),f.createFullBoxCtor("ipma",(function(e){var t,r;for(entry_count=e.readUint32(),this.associations=[],t=0;t<entry_count;t++){var i={};this.associations.push(i),this.version<1?i.id=e.readUint16():i.id=e.readUint32();var n=e.readUint8();for(i.props=[],r=0;r<n;r++){var o=e.readUint8(),s={};i.props.push(s),s.essential=(128&o)>>7==1,1&this.flags?s.property_index=(127&o)<<8|e.readUint8():s.property_index=127&o}}})),f.createFullBoxCtor("iref",(function(e){var t,r;for(this.references=[];e.getPosition()<this.start+this.size;){if((t=f.parseOneBox(e,!0,this.size-(e.getPosition()-this.start))).code!==f.OK)return;(r=0===this.version?new f.SingleItemTypeReferenceBox(t.type,t.size,t.hdr_size,t.start):new f.SingleItemTypeReferenceBoxLarge(t.type,t.size,t.hdr_size,t.start)).write===f.Box.prototype.write&&"mdat"!==r.type&&(s.warn("BoxParser",r.type+" box writing not yet implemented, keeping unparsed data in memory for later write"),r.parseDataAndRewind(e)),r.parse(e),this.references.push(r)}})),f.createBoxCtor("irot",(function(e){this.angle=3&e.readUint8()})),f.createFullBoxCtor("ispe",(function(e){this.image_width=e.readUint32(),this.image_height=e.readUint32()})),f.createFullBoxCtor("kind",(function(e){this.schemeURI=e.readCString(),this.value=e.readCString()})),f.createFullBoxCtor("leva",(function(e){var t=e.readUint8();this.levels=[];for(var r=0;r<t;r++){var i={};this.levels[r]=i,i.track_ID=e.readUint32();var n=e.readUint8();switch(i.padding_flag=n>>7,i.assignment_type=127&n,i.assignment_type){case 0:i.grouping_type=e.readString(4);break;case 1:i.grouping_type=e.readString(4),i.grouping_type_parameter=e.readUint32();break;case 2:case 3:break;case 4:i.sub_track_id=e.readUint32();break;default:s.warn("BoxParser","Unknown leva assignement type")}}})),f.createBoxCtor("lsel",(function(e){this.layer_id=e.readUint16()})),f.createBoxCtor("maxr",(function(e){this.period=e.readUint32(),this.bytes=e.readUint32()})),h.prototype.toString=function(){return"("+this.x+","+this.y+")"},f.createBoxCtor("mdcv",(function(e){this.display_primaries=[],this.display_primaries[0]=new h(e.readUint16(),e.readUint16()),this.display_primaries[1]=new h(e.readUint16(),e.readUint16()),this.display_primaries[2]=new h(e.readUint16(),e.readUint16()),this.white_point=new h(e.readUint16(),e.readUint16()),this.max_display_mastering_luminance=e.readUint32(),this.min_display_mastering_luminance=e.readUint32()})),f.createFullBoxCtor("mdhd",(function(e){1==this.version?(this.creation_time=e.readUint64(),this.modification_time=e.readUint64(),this.timescale=e.readUint32(),this.duration=e.readUint64()):(this.creation_time=e.readUint32(),this.modification_time=e.readUint32(),this.timescale=e.readUint32(),this.duration=e.readUint32()),this.parseLanguage(e),e.readUint16()})),f.createFullBoxCtor("mehd",(function(e){1&this.flags&&(s.warn("BoxParser","mehd box incorrectly uses flags set to 1, converting version to 1"),this.version=1),1==this.version?this.fragment_duration=e.readUint64():this.fragment_duration=e.readUint32()})),f.createFullBoxCtor("meta",(function(e){this.boxes=[],f.ContainerBox.prototype.parse.call(this,e)})),f.createFullBoxCtor("mfhd",(function(e){this.sequence_number=e.readUint32()})),f.createFullBoxCtor("mfro",(function(e){this._size=e.readUint32()})),f.createFullBoxCtor("mskC",(function(e){this.bits_per_pixel=e.readUint8()})),f.createFullBoxCtor("mvhd",(function(e){1==this.version?(this.creation_time=e.readUint64(),this.modification_time=e.readUint64(),this.timescale=e.readUint32(),this.duration=e.readUint64()):(this.creation_time=e.readUint32(),this.modification_time=e.readUint32(),this.timescale=e.readUint32(),this.duration=e.readUint32()),this.rate=e.readUint32(),this.volume=e.readUint16()>>8,e.readUint16(),e.readUint32Array(2),this.matrix=e.readUint32Array(9),e.readUint32Array(6),this.next_track_id=e.readUint32()})),f.createBoxCtor("npck",(function(e){this.packetssent=e.readUint32()})),f.createBoxCtor("nump",(function(e){this.packetssent=e.readUint64()})),f.createFullBoxCtor("padb",(function(e){var t=e.readUint32();this.padbits=[];for(var r=0;r<Math.floor((t+1)/2);r++)this.padbits=e.readUint8()})),f.createBoxCtor("pasp",(function(e){this.hSpacing=e.readUint32(),this.vSpacing=e.readUint32()})),f.createBoxCtor("payl",(function(e){this.text=e.readString(this.size-this.hdr_size)})),f.createBoxCtor("payt",(function(e){this.payloadID=e.readUint32();var t=e.readUint8();this.rtpmap_string=e.readString(t)})),f.createFullBoxCtor("pdin",(function(e){var t=(this.size-this.hdr_size)/8;this.rate=[],this.initial_delay=[];for(var r=0;r<t;r++)this.rate[r]=e.readUint32(),this.initial_delay[r]=e.readUint32()})),f.createFullBoxCtor("pitm",(function(e){0===this.version?this.item_id=e.readUint16():this.item_id=e.readUint32()})),f.createFullBoxCtor("pixi",(function(e){var t;for(this.num_channels=e.readUint8(),this.bits_per_channels=[],t=0;t<this.num_channels;t++)this.bits_per_channels[t]=e.readUint8()})),f.createBoxCtor("pmax",(function(e){this.bytes=e.readUint32()})),f.createFullBoxCtor("prdi",(function(e){if(this.step_count=e.readUint16(),this.item_count=[],2&this.flags)for(var t=0;t<this.step_count;t++)this.item_count[t]=e.readUint16()})),f.createFullBoxCtor("prft",(function(e){this.ref_track_id=e.readUint32(),this.ntp_timestamp=e.readUint64(),0===this.version?this.media_time=e.readUint32():this.media_time=e.readUint64()})),f.createFullBoxCtor("pssh",(function(e){if(this.system_id=f.parseHex16(e),this.version>0){var t=e.readUint32();this.kid=[];for(var r=0;r<t;r++)this.kid[r]=f.parseHex16(e)}var i=e.readUint32();i>0&&(this.data=e.readUint8Array(i))})),f.createFullBoxCtor("clef",(function(e){this.width=e.readUint32(),this.height=e.readUint32()})),f.createFullBoxCtor("enof",(function(e){this.width=e.readUint32(),this.height=e.readUint32()})),f.createFullBoxCtor("prof",(function(e){this.width=e.readUint32(),this.height=e.readUint32()})),f.createContainerBoxCtor("tapt",null,["clef","prof","enof"]),f.createBoxCtor("rtp ",(function(e){this.descriptionformat=e.readString(4),this.sdptext=e.readString(this.size-this.hdr_size-4)})),f.createFullBoxCtor("saio",(function(e){1&this.flags&&(this.aux_info_type=e.readUint32(),this.aux_info_type_parameter=e.readUint32());var t=e.readUint32();this.offset=[];for(var r=0;r<t;r++)0===this.version?this.offset[r]=e.readUint32():this.offset[r]=e.readUint64()})),f.createFullBoxCtor("saiz",(function(e){1&this.flags&&(this.aux_info_type=e.readUint32(),this.aux_info_type_parameter=e.readUint32()),this.default_sample_info_size=e.readUint8();var t=e.readUint32();if(this.sample_info_size=[],0===this.default_sample_info_size)for(var r=0;r<t;r++)this.sample_info_size[r]=e.readUint8()})),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_METADATA,"mett",(function(e){this.parseHeader(e),this.content_encoding=e.readCString(),this.mime_format=e.readCString(),this.parseFooter(e)})),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_METADATA,"metx",(function(e){this.parseHeader(e),this.content_encoding=e.readCString(),this.namespace=e.readCString(),this.schema_location=e.readCString(),this.parseFooter(e)})),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_SUBTITLE,"sbtt",(function(e){this.parseHeader(e),this.content_encoding=e.readCString(),this.mime_format=e.readCString(),this.parseFooter(e)})),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_SUBTITLE,"stpp",(function(e){this.parseHeader(e),this.namespace=e.readCString(),this.schema_location=e.readCString(),this.auxiliary_mime_types=e.readCString(),this.parseFooter(e)})),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_SUBTITLE,"stxt",(function(e){this.parseHeader(e),this.content_encoding=e.readCString(),this.mime_format=e.readCString(),this.parseFooter(e)})),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_SUBTITLE,"tx3g",(function(e){this.parseHeader(e),this.displayFlags=e.readUint32(),this.horizontal_justification=e.readInt8(),this.vertical_justification=e.readInt8(),this.bg_color_rgba=e.readUint8Array(4),this.box_record=e.readInt16Array(4),this.style_record=e.readUint8Array(12),this.parseFooter(e)})),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_METADATA,"wvtt",(function(e){this.parseHeader(e),this.parseFooter(e)})),f.createSampleGroupCtor("alst",(function(e){var t,r=e.readUint16();for(this.first_output_sample=e.readUint16(),this.sample_offset=[],t=0;t<r;t++)this.sample_offset[t]=e.readUint32();var i=this.description_length-4-4*r;for(this.num_output_samples=[],this.num_total_samples=[],t=0;t<i/4;t++)this.num_output_samples[t]=e.readUint16(),this.num_total_samples[t]=e.readUint16()})),f.createSampleGroupCtor("avll",(function(e){this.layerNumber=e.readUint8(),this.accurateStatisticsFlag=e.readUint8(),this.avgBitRate=e.readUint16(),this.avgFrameRate=e.readUint16()})),f.createSampleGroupCtor("avss",(function(e){this.subSequenceIdentifier=e.readUint16(),this.layerNumber=e.readUint8();var t=e.readUint8();this.durationFlag=t>>7,this.avgRateFlag=t>>6&1,this.durationFlag&&(this.duration=e.readUint32()),this.avgRateFlag&&(this.accurateStatisticsFlag=e.readUint8(),this.avgBitRate=e.readUint16(),this.avgFrameRate=e.readUint16()),this.dependency=[];for(var r=e.readUint8(),i=0;i<r;i++){var n={};this.dependency.push(n),n.subSeqDirectionFlag=e.readUint8(),n.layerNumber=e.readUint8(),n.subSequenceIdentifier=e.readUint16()}})),f.createSampleGroupCtor("dtrt",(function(e){s.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")})),f.createSampleGroupCtor("mvif",(function(e){s.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")})),f.createSampleGroupCtor("prol",(function(e){this.roll_distance=e.readInt16()})),f.createSampleGroupCtor("rap ",(function(e){var t=e.readUint8();this.num_leading_samples_known=t>>7,this.num_leading_samples=127&t})),f.createSampleGroupCtor("rash",(function(e){if(this.operation_point_count=e.readUint16(),this.description_length!==2+(1===this.operation_point_count?2:6*this.operation_point_count)+9)s.warn("BoxParser","Mismatch in "+this.grouping_type+" sample group length"),this.data=e.readUint8Array(this.description_length-2);else{if(1===this.operation_point_count)this.target_rate_share=e.readUint16();else{this.target_rate_share=[],this.available_bitrate=[];for(var t=0;t<this.operation_point_count;t++)this.available_bitrate[t]=e.readUint32(),this.target_rate_share[t]=e.readUint16()}this.maximum_bitrate=e.readUint32(),this.minimum_bitrate=e.readUint32(),this.discard_priority=e.readUint8()}})),f.createSampleGroupCtor("roll",(function(e){this.roll_distance=e.readInt16()})),f.SampleGroupEntry.prototype.parse=function(e){s.warn("BoxParser","Unknown Sample Group type: "+this.grouping_type),this.data=e.readUint8Array(this.description_length)},f.createSampleGroupCtor("scif",(function(e){s.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")})),f.createSampleGroupCtor("scnm",(function(e){s.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")})),f.createSampleGroupCtor("seig",(function(e){this.reserved=e.readUint8();var t=e.readUint8();this.crypt_byte_block=t>>4,this.skip_byte_block=15&t,this.isProtected=e.readUint8(),this.Per_Sample_IV_Size=e.readUint8(),this.KID=f.parseHex16(e),this.constant_IV_size=0,this.constant_IV=0,1===this.isProtected&&0===this.Per_Sample_IV_Size&&(this.constant_IV_size=e.readUint8(),this.constant_IV=e.readUint8Array(this.constant_IV_size))})),f.createSampleGroupCtor("stsa",(function(e){s.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")})),f.createSampleGroupCtor("sync",(function(e){var t=e.readUint8();this.NAL_unit_type=63&t})),f.createSampleGroupCtor("tele",(function(e){var t=e.readUint8();this.level_independently_decodable=t>>7})),f.createSampleGroupCtor("tsas",(function(e){s.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")})),f.createSampleGroupCtor("tscl",(function(e){s.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")})),f.createSampleGroupCtor("vipr",(function(e){s.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")})),f.createFullBoxCtor("sbgp",(function(e){this.grouping_type=e.readString(4),1===this.version?this.grouping_type_parameter=e.readUint32():this.grouping_type_parameter=0,this.entries=[];for(var t=e.readUint32(),r=0;r<t;r++){var i={};this.entries.push(i),i.sample_count=e.readInt32(),i.group_description_index=e.readInt32()}})),p.prototype.toString=function(){return"[row: "+this.bad_pixel_row+", column: "+this.bad_pixel_column+"]"},f.createFullBoxCtor("sbpm",(function(e){var t;for(this.component_count=e.readUint16(),this.component_index=[],t=0;t<this.component_count;t++)this.component_index.push(e.readUint16());var r=e.readUint8();for(this.correction_applied=128==(128&r),this.num_bad_rows=e.readUint32(),this.num_bad_cols=e.readUint32(),this.num_bad_pixels=e.readUint32(),this.bad_rows=[],this.bad_columns=[],this.bad_pixels=[],t=0;t<this.num_bad_rows;t++)this.bad_rows.push(e.readUint32());for(t=0;t<this.num_bad_cols;t++)this.bad_columns.push(e.readUint32());for(t=0;t<this.num_bad_pixels;t++){var i=e.readUint32(),n=e.readUint32();this.bad_pixels.push(new p(i,n))}})),f.createFullBoxCtor("schm",(function(e){this.scheme_type=e.readString(4),this.scheme_version=e.readUint32(),1&this.flags&&(this.scheme_uri=e.readString(this.size-this.hdr_size-8))})),f.createBoxCtor("sdp ",(function(e){this.sdptext=e.readString(this.size-this.hdr_size)})),f.createFullBoxCtor("sdtp",(function(e){var t,r=this.size-this.hdr_size;this.is_leading=[],this.sample_depends_on=[],this.sample_is_depended_on=[],this.sample_has_redundancy=[];for(var i=0;i<r;i++)t=e.readUint8(),this.is_leading[i]=t>>6,this.sample_depends_on[i]=t>>4&3,this.sample_is_depended_on[i]=t>>2&3,this.sample_has_redundancy[i]=3&t})),f.createFullBoxCtor("senc"),f.createFullBoxCtor("sgpd",(function(e){this.grouping_type=e.readString(4),s.debug("BoxParser","Found Sample Groups of type "+this.grouping_type),1===this.version?this.default_length=e.readUint32():this.default_length=0,this.version>=2&&(this.default_group_description_index=e.readUint32()),this.entries=[];for(var t=e.readUint32(),r=0;r<t;r++){var i;i=f[this.grouping_type+"SampleGroupEntry"]?new f[this.grouping_type+"SampleGroupEntry"](this.grouping_type):new f.SampleGroupEntry(this.grouping_type),this.entries.push(i),1===this.version&&0===this.default_length?i.description_length=e.readUint32():i.description_length=this.default_length,i.write===f.SampleGroupEntry.prototype.write&&(s.info("BoxParser","SampleGroup for type "+this.grouping_type+" writing not yet implemented, keeping unparsed data in memory for later write"),i.data=e.readUint8Array(i.description_length),e.position-=i.description_length),i.parse(e)}})),f.createFullBoxCtor("sidx",(function(e){this.reference_ID=e.readUint32(),this.timescale=e.readUint32(),0===this.version?(this.earliest_presentation_time=e.readUint32(),this.first_offset=e.readUint32()):(this.earliest_presentation_time=e.readUint64(),this.first_offset=e.readUint64()),e.readUint16(),this.references=[];for(var t=e.readUint16(),r=0;r<t;r++){var i={};this.references.push(i);var n=e.readUint32();i.reference_type=n>>31&1,i.referenced_size=2147483647&n,i.subsegment_duration=e.readUint32(),n=e.readUint32(),i.starts_with_SAP=n>>31&1,i.SAP_type=n>>28&7,i.SAP_delta_time=268435455&n}})),f.SingleItemTypeReferenceBox=function(e,t,r,i){f.Box.call(this,e,t),this.hdr_size=r,this.start=i},f.SingleItemTypeReferenceBox.prototype=new f.Box,f.SingleItemTypeReferenceBox.prototype.parse=function(e){this.from_item_ID=e.readUint16();var t=e.readUint16();this.references=[];for(var r=0;r<t;r++)this.references[r]={},this.references[r].to_item_ID=e.readUint16()},f.SingleItemTypeReferenceBoxLarge=function(e,t,r,i){f.Box.call(this,e,t),this.hdr_size=r,this.start=i},f.SingleItemTypeReferenceBoxLarge.prototype=new f.Box,f.SingleItemTypeReferenceBoxLarge.prototype.parse=function(e){this.from_item_ID=e.readUint32();var t=e.readUint16();this.references=[];for(var r=0;r<t;r++)this.references[r]={},this.references[r].to_item_ID=e.readUint32()},f.createFullBoxCtor("SmDm",(function(e){this.primaryRChromaticity_x=e.readUint16(),this.primaryRChromaticity_y=e.readUint16(),this.primaryGChromaticity_x=e.readUint16(),this.primaryGChromaticity_y=e.readUint16(),this.primaryBChromaticity_x=e.readUint16(),this.primaryBChromaticity_y=e.readUint16(),this.whitePointChromaticity_x=e.readUint16(),this.whitePointChromaticity_y=e.readUint16(),this.luminanceMax=e.readUint32(),this.luminanceMin=e.readUint32()})),f.createFullBoxCtor("smhd",(function(e){this.balance=e.readUint16(),e.readUint16()})),f.createFullBoxCtor("ssix",(function(e){this.subsegments=[];for(var t=e.readUint32(),r=0;r<t;r++){var i={};this.subsegments.push(i),i.ranges=[];for(var n=e.readUint32(),o=0;o<n;o++){var s={};i.ranges.push(s),s.level=e.readUint8(),s.range_size=e.readUint24()}}})),f.createFullBoxCtor("stco",(function(e){var t;if(t=e.readUint32(),this.chunk_offsets=[],0===this.version)for(var r=0;r<t;r++)this.chunk_offsets.push(e.readUint32())})),f.createFullBoxCtor("stdp",(function(e){var t=(this.size-this.hdr_size)/2;this.priority=[];for(var r=0;r<t;r++)this.priority[r]=e.readUint16()})),f.createFullBoxCtor("sthd"),f.createFullBoxCtor("stri",(function(e){this.switch_group=e.readUint16(),this.alternate_group=e.readUint16(),this.sub_track_id=e.readUint32();var t=(this.size-this.hdr_size-8)/4;this.attribute_list=[];for(var r=0;r<t;r++)this.attribute_list[r]=e.readUint32()})),f.createFullBoxCtor("stsc",(function(e){var t,r;if(t=e.readUint32(),this.first_chunk=[],this.samples_per_chunk=[],this.sample_description_index=[],0===this.version)for(r=0;r<t;r++)this.first_chunk.push(e.readUint32()),this.samples_per_chunk.push(e.readUint32()),this.sample_description_index.push(e.readUint32())})),f.createFullBoxCtor("stsd",(function(e){var t,r,i,n;for(this.entries=[],i=e.readUint32(),t=1;t<=i;t++){if((r=f.parseOneBox(e,!0,this.size-(e.getPosition()-this.start))).code!==f.OK)return;f[r.type+"SampleEntry"]?((n=new f[r.type+"SampleEntry"](r.size)).hdr_size=r.hdr_size,n.start=r.start):(s.warn("BoxParser","Unknown sample entry type: "+r.type),n=new f.SampleEntry(r.type,r.size,r.hdr_size,r.start)),n.write===f.SampleEntry.prototype.write&&(s.info("BoxParser","SampleEntry "+n.type+" box writing not yet implemented, keeping unparsed data in memory for later write"),n.parseDataAndRewind(e)),n.parse(e),this.entries.push(n)}})),f.createFullBoxCtor("stsg",(function(e){this.grouping_type=e.readUint32();var t=e.readUint16();this.group_description_index=[];for(var r=0;r<t;r++)this.group_description_index[r]=e.readUint32()})),f.createFullBoxCtor("stsh",(function(e){var t,r;if(t=e.readUint32(),this.shadowed_sample_numbers=[],this.sync_sample_numbers=[],0===this.version)for(r=0;r<t;r++)this.shadowed_sample_numbers.push(e.readUint32()),this.sync_sample_numbers.push(e.readUint32())})),f.createFullBoxCtor("stss",(function(e){var t,r;if(r=e.readUint32(),0===this.version)for(this.sample_numbers=[],t=0;t<r;t++)this.sample_numbers.push(e.readUint32())})),f.createFullBoxCtor("stsz",(function(e){var t;if(this.sample_sizes=[],0===this.version)for(this.sample_size=e.readUint32(),this.sample_count=e.readUint32(),t=0;t<this.sample_count;t++)0===this.sample_size?this.sample_sizes.push(e.readUint32()):this.sample_sizes[t]=this.sample_size})),f.createFullBoxCtor("stts",(function(e){var t,r,i;if(t=e.readUint32(),this.sample_counts=[],this.sample_deltas=[],0===this.version)for(r=0;r<t;r++)this.sample_counts.push(e.readUint32()),(i=e.readInt32())<0&&(s.warn("BoxParser","File uses negative stts sample delta, using value 1 instead, sync may be lost!"),i=1),this.sample_deltas.push(i)})),f.createFullBoxCtor("stvi",(function(e){var t=e.readUint32();this.single_view_allowed=3&t,this.stereo_scheme=e.readUint32();var r,i,n=e.readUint32();for(this.stereo_indication_type=e.readString(n),this.boxes=[];e.getPosition()<this.start+this.size;){if((r=f.parseOneBox(e,!1,this.size-(e.getPosition()-this.start))).code!==f.OK)return;i=r.box,this.boxes.push(i),this[i.type]=i}})),f.createBoxCtor("styp",(function(e){f.ftypBox.prototype.parse.call(this,e)})),f.createFullBoxCtor("stz2",(function(e){var t,r;if(this.sample_sizes=[],0===this.version)if(this.reserved=e.readUint24(),this.field_size=e.readUint8(),r=e.readUint32(),4===this.field_size)for(t=0;t<r;t+=2){var i=e.readUint8();this.sample_sizes[t]=i>>4&15,this.sample_sizes[t+1]=15&i}else if(8===this.field_size)for(t=0;t<r;t++)this.sample_sizes[t]=e.readUint8();else if(16===this.field_size)for(t=0;t<r;t++)this.sample_sizes[t]=e.readUint16();else s.error("BoxParser","Error in length field in stz2 box")})),f.createFullBoxCtor("subs",(function(e){var t,r,i,n;for(i=e.readUint32(),this.entries=[],t=0;t<i;t++){var o={};if(this.entries[t]=o,o.sample_delta=e.readUint32(),o.subsamples=[],(n=e.readUint16())>0)for(r=0;r<n;r++){var s={};o.subsamples.push(s),1==this.version?s.size=e.readUint32():s.size=e.readUint16(),s.priority=e.readUint8(),s.discardable=e.readUint8(),s.codec_specific_parameters=e.readUint32()}}})),f.createFullBoxCtor("tenc",(function(e){if(e.readUint8(),0===this.version)e.readUint8();else{var t=e.readUint8();this.default_crypt_byte_block=t>>4&15,this.default_skip_byte_block=15&t}this.default_isProtected=e.readUint8(),this.default_Per_Sample_IV_Size=e.readUint8(),this.default_KID=f.parseHex16(e),1===this.default_isProtected&&0===this.default_Per_Sample_IV_Size&&(this.default_constant_IV_size=e.readUint8(),this.default_constant_IV=e.readUint8Array(this.default_constant_IV_size))})),f.createFullBoxCtor("tfdt",(function(e){1==this.version?this.baseMediaDecodeTime=e.readUint64():this.baseMediaDecodeTime=e.readUint32()})),f.createFullBoxCtor("tfhd",(function(e){var t=0;this.track_id=e.readUint32(),this.size-this.hdr_size>t&&this.flags&f.TFHD_FLAG_BASE_DATA_OFFSET?(this.base_data_offset=e.readUint64(),t+=8):this.base_data_offset=0,this.size-this.hdr_size>t&&this.flags&f.TFHD_FLAG_SAMPLE_DESC?(this.default_sample_description_index=e.readUint32(),t+=4):this.default_sample_description_index=0,this.size-this.hdr_size>t&&this.flags&f.TFHD_FLAG_SAMPLE_DUR?(this.default_sample_duration=e.readUint32(),t+=4):this.default_sample_duration=0,this.size-this.hdr_size>t&&this.flags&f.TFHD_FLAG_SAMPLE_SIZE?(this.default_sample_size=e.readUint32(),t+=4):this.default_sample_size=0,this.size-this.hdr_size>t&&this.flags&f.TFHD_FLAG_SAMPLE_FLAGS?(this.default_sample_flags=e.readUint32(),t+=4):this.default_sample_flags=0})),f.createFullBoxCtor("tfra",(function(e){this.track_ID=e.readUint32(),e.readUint24();var t=e.readUint8();this.length_size_of_traf_num=t>>4&3,this.length_size_of_trun_num=t>>2&3,this.length_size_of_sample_num=3&t,this.entries=[];for(var r=e.readUint32(),i=0;i<r;i++)1===this.version?(this.time=e.readUint64(),this.moof_offset=e.readUint64()):(this.time=e.readUint32(),this.moof_offset=e.readUint32()),this.traf_number=e["readUint"+8*(this.length_size_of_traf_num+1)](),this.trun_number=e["readUint"+8*(this.length_size_of_trun_num+1)](),this.sample_number=e["readUint"+8*(this.length_size_of_sample_num+1)]()})),f.createFullBoxCtor("tkhd",(function(e){1==this.version?(this.creation_time=e.readUint64(),this.modification_time=e.readUint64(),this.track_id=e.readUint32(),e.readUint32(),this.duration=e.readUint64()):(this.creation_time=e.readUint32(),this.modification_time=e.readUint32(),this.track_id=e.readUint32(),e.readUint32(),this.duration=e.readUint32()),e.readUint32Array(2),this.layer=e.readInt16(),this.alternate_group=e.readInt16(),this.volume=e.readInt16()>>8,e.readUint16(),this.matrix=e.readInt32Array(9),this.width=e.readUint32(),this.height=e.readUint32()})),f.createBoxCtor("tmax",(function(e){this.time=e.readUint32()})),f.createBoxCtor("tmin",(function(e){this.time=e.readUint32()})),f.createBoxCtor("totl",(function(e){this.bytessent=e.readUint32()})),f.createBoxCtor("tpay",(function(e){this.bytessent=e.readUint32()})),f.createBoxCtor("tpyl",(function(e){this.bytessent=e.readUint64()})),f.TrackGroupTypeBox.prototype.parse=function(e){this.parseFullHeader(e),this.track_group_id=e.readUint32()},f.createTrackGroupCtor("msrc"),f.TrackReferenceTypeBox=function(e,t,r,i){f.Box.call(this,e,t),this.hdr_size=r,this.start=i},f.TrackReferenceTypeBox.prototype=new f.Box,f.TrackReferenceTypeBox.prototype.parse=function(e){this.track_ids=e.readUint32Array((this.size-this.hdr_size)/4)},f.trefBox.prototype.parse=function(e){for(var t,r;e.getPosition()<this.start+this.size;){if((t=f.parseOneBox(e,!0,this.size-(e.getPosition()-this.start))).code!==f.OK)return;(r=new f.TrackReferenceTypeBox(t.type,t.size,t.hdr_size,t.start)).write===f.Box.prototype.write&&"mdat"!==r.type&&(s.info("BoxParser","TrackReference "+r.type+" box writing not yet implemented, keeping unparsed data in memory for later write"),r.parseDataAndRewind(e)),r.parse(e),this.boxes.push(r)}},f.createFullBoxCtor("trep",(function(e){for(this.track_ID=e.readUint32(),this.boxes=[];e.getPosition()<this.start+this.size;){if(ret=f.parseOneBox(e,!1,this.size-(e.getPosition()-this.start)),ret.code!==f.OK)return;box=ret.box,this.boxes.push(box)}})),f.createFullBoxCtor("trex",(function(e){this.track_id=e.readUint32(),this.default_sample_description_index=e.readUint32(),this.default_sample_duration=e.readUint32(),this.default_sample_size=e.readUint32(),this.default_sample_flags=e.readUint32()})),f.createBoxCtor("trpy",(function(e){this.bytessent=e.readUint64()})),f.createFullBoxCtor("trun",(function(e){var t=0;if(this.sample_count=e.readUint32(),t+=4,this.size-this.hdr_size>t&&this.flags&f.TRUN_FLAGS_DATA_OFFSET?(this.data_offset=e.readInt32(),t+=4):this.data_offset=0,this.size-this.hdr_size>t&&this.flags&f.TRUN_FLAGS_FIRST_FLAG?(this.first_sample_flags=e.readUint32(),t+=4):this.first_sample_flags=0,this.sample_duration=[],this.sample_size=[],this.sample_flags=[],this.sample_composition_time_offset=[],this.size-this.hdr_size>t)for(var r=0;r<this.sample_count;r++)this.flags&f.TRUN_FLAGS_DURATION&&(this.sample_duration[r]=e.readUint32()),this.flags&f.TRUN_FLAGS_SIZE&&(this.sample_size[r]=e.readUint32()),this.flags&f.TRUN_FLAGS_FLAGS&&(this.sample_flags[r]=e.readUint32()),this.flags&f.TRUN_FLAGS_CTS_OFFSET&&(0===this.version?this.sample_composition_time_offset[r]=e.readUint32():this.sample_composition_time_offset[r]=e.readInt32())})),f.createFullBoxCtor("tsel",(function(e){this.switch_group=e.readUint32();var t=(this.size-this.hdr_size-4)/4;this.attribute_list=[];for(var r=0;r<t;r++)this.attribute_list[r]=e.readUint32()})),f.createFullBoxCtor("txtC",(function(e){this.config=e.readCString()})),f.createBoxCtor("tyco",(function(e){var t=(this.size-this.hdr_size)/4;this.compatible_brands=[];for(var r=0;r<t;r++)this.compatible_brands[r]=e.readString(4)})),f.createFullBoxCtor("udes",(function(e){this.lang=e.readCString(),this.name=e.readCString(),this.description=e.readCString(),this.tags=e.readCString()})),f.createFullBoxCtor("uncC",(function(e){var t;if(this.profile=e.readUint32(),1==this.version);else if(0==this.version){for(this.component_count=e.readUint32(),this.component_index=[],this.component_bit_depth_minus_one=[],this.component_format=[],this.component_align_size=[],t=0;t<this.component_count;t++)this.component_index.push(e.readUint16()),this.component_bit_depth_minus_one.push(e.readUint8()),this.component_format.push(e.readUint8()),this.component_align_size.push(e.readUint8());this.sampling_type=e.readUint8(),this.interleave_type=e.readUint8(),this.block_size=e.readUint8();var r=e.readUint8();this.component_little_endian=r>>7&1,this.block_pad_lsb=r>>6&1,this.block_little_endian=r>>5&1,this.block_reversed=r>>4&1,this.pad_unknown=r>>3&1,this.pixel_size=e.readUint32(),this.row_align_size=e.readUint32(),this.tile_align_size=e.readUint32(),this.num_tile_cols_minus_one=e.readUint32(),this.num_tile_rows_minus_one=e.readUint32()}})),f.createFullBoxCtor("url ",(function(e){1!==this.flags&&(this.location=e.readCString())})),f.createFullBoxCtor("urn ",(function(e){this.name=e.readCString(),this.size-this.hdr_size-this.name.length-1>0&&(this.location=e.readCString())})),f.createUUIDBox("a5d40b30e81411ddba2f0800200c9a66",!0,!1,(function(e){this.LiveServerManifest=e.readString(this.size-this.hdr_size).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")})),f.createUUIDBox("d08a4f1810f34a82b6c832d8aba183d3",!0,!1,(function(e){this.system_id=f.parseHex16(e);var t=e.readUint32();t>0&&(this.data=e.readUint8Array(t))})),f.createUUIDBox("a2394f525a9b4f14a2446c427c648df4",!0,!1),f.createUUIDBox("8974dbce7be74c5184f97148f9882554",!0,!1,(function(e){this.default_AlgorithmID=e.readUint24(),this.default_IV_size=e.readUint8(),this.default_KID=f.parseHex16(e)})),f.createUUIDBox("d4807ef2ca3946958e5426cb9e46a79f",!0,!1,(function(e){this.fragment_count=e.readUint8(),this.entries=[];for(var t=0;t<this.fragment_count;t++){var r={},i=0,n=0;1===this.version?(i=e.readUint64(),n=e.readUint64()):(i=e.readUint32(),n=e.readUint32()),r.absolute_time=i,r.absolute_duration=n,this.entries.push(r)}})),f.createUUIDBox("6d1d9b0542d544e680e2141daff757b2",!0,!1,(function(e){1===this.version?(this.absolute_time=e.readUint64(),this.duration=e.readUint64()):(this.absolute_time=e.readUint32(),this.duration=e.readUint32())})),f.createFullBoxCtor("vmhd",(function(e){this.graphicsmode=e.readUint16(),this.opcolor=e.readUint16Array(3)})),f.createFullBoxCtor("vpcC",(function(e){var t;1===this.version?(this.profile=e.readUint8(),this.level=e.readUint8(),t=e.readUint8(),this.bitDepth=t>>4,this.chromaSubsampling=t>>1&7,this.videoFullRangeFlag=1&t,this.colourPrimaries=e.readUint8(),this.transferCharacteristics=e.readUint8(),this.matrixCoefficients=e.readUint8(),this.codecIntializationDataSize=e.readUint16(),this.codecIntializationData=e.readUint8Array(this.codecIntializationDataSize)):(this.profile=e.readUint8(),this.level=e.readUint8(),t=e.readUint8(),this.bitDepth=t>>4&15,this.colorSpace=15&t,t=e.readUint8(),this.chromaSubsampling=t>>4&15,this.transferFunction=t>>1&7,this.videoFullRangeFlag=1&t,this.codecIntializationDataSize=e.readUint16(),this.codecIntializationData=e.readUint8Array(this.codecIntializationDataSize))})),f.createBoxCtor("vttC",(function(e){this.text=e.readString(this.size-this.hdr_size)})),f.createFullBoxCtor("vvcC",(function(e){var t,r,i={held_bits:void 0,num_held_bits:0,stream_read_1_bytes:function(e){this.held_bits=e.readUint8(),this.num_held_bits=8},stream_read_2_bytes:function(e){this.held_bits=e.readUint16(),this.num_held_bits=16},extract_bits:function(e){var t=this.held_bits>>this.num_held_bits-e&(1<<e)-1;return this.num_held_bits-=e,t}};if(i.stream_read_1_bytes(e),i.extract_bits(5),this.lengthSizeMinusOne=i.extract_bits(2),this.ptl_present_flag=i.extract_bits(1),this.ptl_present_flag){if(i.stream_read_2_bytes(e),this.ols_idx=i.extract_bits(9),this.num_sublayers=i.extract_bits(3),this.constant_frame_rate=i.extract_bits(2),this.chroma_format_idc=i.extract_bits(2),i.stream_read_1_bytes(e),this.bit_depth_minus8=i.extract_bits(3),i.extract_bits(5),i.stream_read_2_bytes(e),i.extract_bits(2),this.num_bytes_constraint_info=i.extract_bits(6),this.general_profile_idc=i.extract_bits(7),this.general_tier_flag=i.extract_bits(1),this.general_level_idc=e.readUint8(),i.stream_read_1_bytes(e),this.ptl_frame_only_constraint_flag=i.extract_bits(1),this.ptl_multilayer_enabled_flag=i.extract_bits(1),this.general_constraint_info=new Uint8Array(this.num_bytes_constraint_info),this.num_bytes_constraint_info){for(t=0;t<this.num_bytes_constraint_info-1;t++){var n=i.extract_bits(6);i.stream_read_1_bytes(e);var o=i.extract_bits(2);this.general_constraint_info[t]=n<<2|o}this.general_constraint_info[this.num_bytes_constraint_info-1]=i.extract_bits(6)}else i.extract_bits(6);if(this.num_sublayers>1){for(i.stream_read_1_bytes(e),this.ptl_sublayer_present_mask=0,r=this.num_sublayers-2;r>=0;--r){var s=i.extract_bits(1);this.ptl_sublayer_present_mask|=s<<r}for(r=this.num_sublayers;r<=8&&this.num_sublayers>1;++r)i.extract_bits(1);for(this.sublayer_level_idc=[],r=this.num_sublayers-2;r>=0;--r)this.ptl_sublayer_present_mask&1<<r&&(this.sublayer_level_idc[r]=e.readUint8())}if(this.ptl_num_sub_profiles=e.readUint8(),this.general_sub_profile_idc=[],this.ptl_num_sub_profiles)for(t=0;t<this.ptl_num_sub_profiles;t++)this.general_sub_profile_idc.push(e.readUint32());this.max_picture_width=e.readUint16(),this.max_picture_height=e.readUint16(),this.avg_frame_rate=e.readUint16()}this.nalu_arrays=[];var a=e.readUint8();for(t=0;t<a;t++){var d=[];this.nalu_arrays.push(d),i.stream_read_1_bytes(e),d.completeness=i.extract_bits(1),i.extract_bits(2),d.nalu_type=i.extract_bits(5);var l=1;for(13!=d.nalu_type&&12!=d.nalu_type&&(l=e.readUint16()),r=0;r<l;r++){var u=e.readUint16();d.push({data:e.readUint8Array(u),length:u})}}})),f.createFullBoxCtor("vvnC",(function(e){var t=strm.readUint8();this.lengthSizeMinusOne=3&t})),f.SampleEntry.prototype.isVideo=function(){return!1},f.SampleEntry.prototype.isAudio=function(){return!1},f.SampleEntry.prototype.isSubtitle=function(){return!1},f.SampleEntry.prototype.isMetadata=function(){return!1},f.SampleEntry.prototype.isHint=function(){return!1},f.SampleEntry.prototype.getCodec=function(){return this.type.replace(".","")},f.SampleEntry.prototype.getWidth=function(){return""},f.SampleEntry.prototype.getHeight=function(){return""},f.SampleEntry.prototype.getChannelCount=function(){return""},f.SampleEntry.prototype.getSampleRate=function(){return""},f.SampleEntry.prototype.getSampleSize=function(){return""},f.VisualSampleEntry.prototype.isVideo=function(){return!0},f.VisualSampleEntry.prototype.getWidth=function(){return this.width},f.VisualSampleEntry.prototype.getHeight=function(){return this.height},f.AudioSampleEntry.prototype.isAudio=function(){return!0},f.AudioSampleEntry.prototype.getChannelCount=function(){return this.channel_count},f.AudioSampleEntry.prototype.getSampleRate=function(){return this.samplerate},f.AudioSampleEntry.prototype.getSampleSize=function(){return this.samplesize},f.SubtitleSampleEntry.prototype.isSubtitle=function(){return!0},f.MetadataSampleEntry.prototype.isMetadata=function(){return!0},f.decimalToHex=function(e,t){var r=Number(e).toString(16);for(t=null==t?t=2:t;r.length<t;)r="0"+r;return r},f.avc1SampleEntry.prototype.getCodec=f.avc2SampleEntry.prototype.getCodec=f.avc3SampleEntry.prototype.getCodec=f.avc4SampleEntry.prototype.getCodec=function(){var e=f.SampleEntry.prototype.getCodec.call(this);return this.avcC?e+"."+f.decimalToHex(this.avcC.AVCProfileIndication)+f.decimalToHex(this.avcC.profile_compatibility)+f.decimalToHex(this.avcC.AVCLevelIndication):e},f.hev1SampleEntry.prototype.getCodec=f.hvc1SampleEntry.prototype.getCodec=function(){var e,t=f.SampleEntry.prototype.getCodec.call(this);if(this.hvcC){switch(t+=".",this.hvcC.general_profile_space){case 0:t+="";break;case 1:t+="A";break;case 2:t+="B";break;case 3:t+="C"}t+=this.hvcC.general_profile_idc,t+=".";var r=this.hvcC.general_profile_compatibility,i=0;for(e=0;e<32&&(i|=1&r,31!=e);e++)i<<=1,r>>=1;t+=f.decimalToHex(i,0),t+=".",0===this.hvcC.general_tier_flag?t+="L":t+="H",t+=this.hvcC.general_level_idc;var n=!1,o="";for(e=5;e>=0;e--)(this.hvcC.general_constraint_indicator[e]||n)&&(o="."+f.decimalToHex(this.hvcC.general_constraint_indicator[e],0)+o,n=!0);t+=o}return t},f.vvc1SampleEntry.prototype.getCodec=f.vvi1SampleEntry.prototype.getCodec=function(){var e,t=f.SampleEntry.prototype.getCodec.call(this);if(this.vvcC){t+="."+this.vvcC.general_profile_idc,this.vvcC.general_tier_flag?t+=".H":t+=".L",t+=this.vvcC.general_level_idc;var r="";if(this.vvcC.general_constraint_info){var i,n=[],o=0;for(o|=this.vvcC.ptl_frame_only_constraint<<7,o|=this.vvcC.ptl_multilayer_enabled<<6,e=0;e<this.vvcC.general_constraint_info.length;++e)o|=this.vvcC.general_constraint_info[e]>>2&63,n.push(o),o&&(i=e),o=this.vvcC.general_constraint_info[e]>>2&3;if(void 0===i)r=".CA";else{r=".C";var s="ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",a=0,d=0;for(e=0;e<=i;++e)for(a=a<<8|n[e],d+=8;d>=5;){r+=s[a>>d-5&31],a&=(1<<(d-=5))-1}d&&(r+=s[31&(a<<=5-d)])}}t+=r}return t},f.mp4aSampleEntry.prototype.getCodec=function(){var e=f.SampleEntry.prototype.getCodec.call(this);if(this.esds&&this.esds.esd){var t=this.esds.esd.getOTI(),r=this.esds.esd.getAudioConfig();return e+"."+f.decimalToHex(t)+(r?"."+r:"")}return e},f.stxtSampleEntry.prototype.getCodec=function(){var e=f.SampleEntry.prototype.getCodec.call(this);return this.mime_format?e+"."+this.mime_format:e},f.vp08SampleEntry.prototype.getCodec=f.vp09SampleEntry.prototype.getCodec=function(){var e=f.SampleEntry.prototype.getCodec.call(this),t=this.vpcC.level;0==t&&(t="00");var r=this.vpcC.bitDepth;return 8==r&&(r="08"),e+".0"+this.vpcC.profile+"."+t+"."+r},f.av01SampleEntry.prototype.getCodec=function(){var e,t=f.SampleEntry.prototype.getCodec.call(this),r=this.av1C.seq_level_idx_0;return r<10&&(r="0"+r),2===this.av1C.seq_profile&&1===this.av1C.high_bitdepth?e=1===this.av1C.twelve_bit?"12":"10":this.av1C.seq_profile<=2&&(e=1===this.av1C.high_bitdepth?"10":"08"),t+"."+this.av1C.seq_profile+"."+r+(this.av1C.seq_tier_0?"H":"M")+"."+e},f.Box.prototype.writeHeader=function(e,t){this.size+=8,this.size>l&&(this.size+=8),"uuid"===this.type&&(this.size+=16),s.debug("BoxWriter","Writing box "+this.type+" of size: "+this.size+" at position "+e.getPosition()+(t||"")),this.size>l?e.writeUint32(1):(this.sizePosition=e.getPosition(),e.writeUint32(this.size)),e.writeString(this.type,null,4),"uuid"===this.type&&e.writeUint8Array(this.uuid),this.size>l&&e.writeUint64(this.size)},f.FullBox.prototype.writeHeader=function(e){this.size+=4,f.Box.prototype.writeHeader.call(this,e," v="+this.version+" f="+this.flags),e.writeUint8(this.version),e.writeUint24(this.flags)},f.Box.prototype.write=function(e){"mdat"===this.type?this.data&&(this.size=this.data.length,this.writeHeader(e),e.writeUint8Array(this.data)):(this.size=this.data?this.data.length:0,this.writeHeader(e),this.data&&e.writeUint8Array(this.data))},f.ContainerBox.prototype.write=function(e){this.size=0,this.writeHeader(e);for(var t=0;t<this.boxes.length;t++)this.boxes[t]&&(this.boxes[t].write(e),this.size+=this.boxes[t].size);s.debug("BoxWriter","Adjusting box "+this.type+" with new size "+this.size),e.adjustUint32(this.sizePosition,this.size)},f.TrackReferenceTypeBox.prototype.write=function(e){this.size=4*this.track_ids.length,this.writeHeader(e),e.writeUint32Array(this.track_ids)},f.avcCBox.prototype.write=function(e){var t;for(this.size=7,t=0;t<this.SPS.length;t++)this.size+=2+this.SPS[t].length;for(t=0;t<this.PPS.length;t++)this.size+=2+this.PPS[t].length;for(this.ext&&(this.size+=this.ext.length),this.writeHeader(e),e.writeUint8(this.configurationVersion),e.writeUint8(this.AVCProfileIndication),e.writeUint8(this.profile_compatibility),e.writeUint8(this.AVCLevelIndication),e.writeUint8(this.lengthSizeMinusOne+252),e.writeUint8(this.SPS.length+224),t=0;t<this.SPS.length;t++)e.writeUint16(this.SPS[t].length),e.writeUint8Array(this.SPS[t].nalu);for(e.writeUint8(this.PPS.length),t=0;t<this.PPS.length;t++)e.writeUint16(this.PPS[t].length),e.writeUint8Array(this.PPS[t].nalu);this.ext&&e.writeUint8Array(this.ext)},f.co64Box.prototype.write=function(e){var t;for(this.version=0,this.flags=0,this.size=4+8*this.chunk_offsets.length,this.writeHeader(e),e.writeUint32(this.chunk_offsets.length),t=0;t<this.chunk_offsets.length;t++)e.writeUint64(this.chunk_offsets[t])},f.cslgBox.prototype.write=function(e){this.version=0,this.flags=0,this.size=20,this.writeHeader(e),e.writeInt32(this.compositionToDTSShift),e.writeInt32(this.leastDecodeToDisplayDelta),e.writeInt32(this.greatestDecodeToDisplayDelta),e.writeInt32(this.compositionStartTime),e.writeInt32(this.compositionEndTime)},f.cttsBox.prototype.write=function(e){var t;for(this.version=0,this.flags=0,this.size=4+8*this.sample_counts.length,this.writeHeader(e),e.writeUint32(this.sample_counts.length),t=0;t<this.sample_counts.length;t++)e.writeUint32(this.sample_counts[t]),1===this.version?e.writeInt32(this.sample_offsets[t]):e.writeUint32(this.sample_offsets[t])},f.drefBox.prototype.write=function(e){this.version=0,this.flags=0,this.size=4,this.writeHeader(e),e.writeUint32(this.entries.length);for(var t=0;t<this.entries.length;t++)this.entries[t].write(e),this.size+=this.entries[t].size;s.debug("BoxWriter","Adjusting box "+this.type+" with new size "+this.size),e.adjustUint32(this.sizePosition,this.size)},f.elngBox.prototype.write=function(e){this.version=0,this.flags=0,this.size=this.extended_language.length,this.writeHeader(e),e.writeString(this.extended_language)},f.elstBox.prototype.write=function(e){this.version=0,this.flags=0,this.size=4+12*this.entries.length,this.writeHeader(e),e.writeUint32(this.entries.length);for(var t=0;t<this.entries.length;t++){var r=this.entries[t];e.writeUint32(r.segment_duration),e.writeInt32(r.media_time),e.writeInt16(r.media_rate_integer),e.writeInt16(r.media_rate_fraction)}},f.emsgBox.prototype.write=function(e){this.version=0,this.flags=0,this.size=16+this.message_data.length+(this.scheme_id_uri.length+1)+(this.value.length+1),this.writeHeader(e),e.writeCString(this.scheme_id_uri),e.writeCString(this.value),e.writeUint32(this.timescale),e.writeUint32(this.presentation_time_delta),e.writeUint32(this.event_duration),e.writeUint32(this.id),e.writeUint8Array(this.message_data)},f.ftypBox.prototype.write=function(e){this.size=8+4*this.compatible_brands.length,this.writeHeader(e),e.writeString(this.major_brand,null,4),e.writeUint32(this.minor_version);for(var t=0;t<this.compatible_brands.length;t++)e.writeString(this.compatible_brands[t],null,4)},f.hdlrBox.prototype.write=function(e){this.size=20+this.name.length+1,this.version=0,this.flags=0,this.writeHeader(e),e.writeUint32(0),e.writeString(this.handler,null,4),e.writeUint32(0),e.writeUint32(0),e.writeUint32(0),e.writeCString(this.name)},f.hvcCBox.prototype.write=function(e){var t,r;for(this.size=23,t=0;t<this.nalu_arrays.length;t++)for(this.size+=3,r=0;r<this.nalu_arrays[t].length;r++)this.size+=2+this.nalu_arrays[t][r].data.length;for(this.writeHeader(e),e.writeUint8(this.configurationVersion),e.writeUint8(this.general_profile_space<<6+this.general_tier_flag<<5+this.general_profile_idc),e.writeUint32(this.general_profile_compatibility),e.writeUint8Array(this.general_constraint_indicator),e.writeUint8(this.general_level_idc),e.writeUint16(this.min_spatial_segmentation_idc+(15<<24)),e.writeUint8(this.parallelismType+252),e.writeUint8(this.chroma_format_idc+252),e.writeUint8(this.bit_depth_luma_minus8+248),e.writeUint8(this.bit_depth_chroma_minus8+248),e.writeUint16(this.avgFrameRate),e.writeUint8((this.constantFrameRate<<6)+(this.numTemporalLayers<<3)+(this.temporalIdNested<<2)+this.lengthSizeMinusOne),e.writeUint8(this.nalu_arrays.length),t=0;t<this.nalu_arrays.length;t++)for(e.writeUint8((this.nalu_arrays[t].completeness<<7)+this.nalu_arrays[t].nalu_type),e.writeUint16(this.nalu_arrays[t].length),r=0;r<this.nalu_arrays[t].length;r++)e.writeUint16(this.nalu_arrays[t][r].data.length),e.writeUint8Array(this.nalu_arrays[t][r].data)},f.kindBox.prototype.write=function(e){this.version=0,this.flags=0,this.size=this.schemeURI.length+1+(this.value.length+1),this.writeHeader(e),e.writeCString(this.schemeURI),e.writeCString(this.value)},f.mdhdBox.prototype.write=function(e){this.size=20,this.flags=0,this.version=0,this.writeHeader(e),e.writeUint32(this.creation_time),e.writeUint32(this.modification_time),e.writeUint32(this.timescale),e.writeUint32(this.duration),e.writeUint16(this.language),e.writeUint16(0)},f.mehdBox.prototype.write=function(e){this.version=0,this.flags=0,this.size=4,this.writeHeader(e),e.writeUint32(this.fragment_duration)},f.mfhdBox.prototype.write=function(e){this.version=0,this.flags=0,this.size=4,this.writeHeader(e),e.writeUint32(this.sequence_number)},f.mvhdBox.prototype.write=function(e){this.version=0,this.flags=0,this.size=96,this.writeHeader(e),e.writeUint32(this.creation_time),e.writeUint32(this.modification_time),e.writeUint32(this.timescale),e.writeUint32(this.duration),e.writeUint32(this.rate),e.writeUint16(this.volume<<8),e.writeUint16(0),e.writeUint32(0),e.writeUint32(0),e.writeUint32Array(this.matrix),e.writeUint32(0),e.writeUint32(0),e.writeUint32(0),e.writeUint32(0),e.writeUint32(0),e.writeUint32(0),e.writeUint32(this.next_track_id)},f.SampleEntry.prototype.writeHeader=function(e){this.size=8,f.Box.prototype.writeHeader.call(this,e),e.writeUint8(0),e.writeUint8(0),e.writeUint8(0),e.writeUint8(0),e.writeUint8(0),e.writeUint8(0),e.writeUint16(this.data_reference_index)},f.SampleEntry.prototype.writeFooter=function(e){for(var t=0;t<this.boxes.length;t++)this.boxes[t].write(e),this.size+=this.boxes[t].size;s.debug("BoxWriter","Adjusting box "+this.type+" with new size "+this.size),e.adjustUint32(this.sizePosition,this.size)},f.SampleEntry.prototype.write=function(e){this.writeHeader(e),e.writeUint8Array(this.data),this.size+=this.data.length,s.debug("BoxWriter","Adjusting box "+this.type+" with new size "+this.size),e.adjustUint32(this.sizePosition,this.size)},f.VisualSampleEntry.prototype.write=function(e){this.writeHeader(e),this.size+=70,e.writeUint16(0),e.writeUint16(0),e.writeUint32(0),e.writeUint32(0),e.writeUint32(0),e.writeUint16(this.width),e.writeUint16(this.height),e.writeUint32(this.horizresolution),e.writeUint32(this.vertresolution),e.writeUint32(0),e.writeUint16(this.frame_count),e.writeUint8(Math.min(31,this.compressorname.length)),e.writeString(this.compressorname,null,31),e.writeUint16(this.depth),e.writeInt16(-1),this.writeFooter(e)},f.AudioSampleEntry.prototype.write=function(e){this.writeHeader(e),this.size+=20,e.writeUint32(0),e.writeUint32(0),e.writeUint16(this.channel_count),e.writeUint16(this.samplesize),e.writeUint16(0),e.writeUint16(0),e.writeUint32(this.samplerate<<16),this.writeFooter(e)},f.stppSampleEntry.prototype.write=function(e){this.writeHeader(e),this.size+=this.namespace.length+1+this.schema_location.length+1+this.auxiliary_mime_types.length+1,e.writeCString(this.namespace),e.writeCString(this.schema_location),e.writeCString(this.auxiliary_mime_types),this.writeFooter(e)},f.SampleGroupEntry.prototype.write=function(e){e.writeUint8Array(this.data)},f.sbgpBox.prototype.write=function(e){this.version=1,this.flags=0,this.size=12+8*this.entries.length,this.writeHeader(e),e.writeString(this.grouping_type,null,4),e.writeUint32(this.grouping_type_parameter),e.writeUint32(this.entries.length);for(var t=0;t<this.entries.length;t++){var r=this.entries[t];e.writeInt32(r.sample_count),e.writeInt32(r.group_description_index)}},f.sgpdBox.prototype.write=function(e){var t,r;for(this.flags=0,this.size=12,t=0;t<this.entries.length;t++)r=this.entries[t],1===this.version&&(0===this.default_length&&(this.size+=4),this.size+=r.data.length);for(this.writeHeader(e),e.writeString(this.grouping_type,null,4),1===this.version&&e.writeUint32(this.default_length),this.version>=2&&e.writeUint32(this.default_sample_description_index),e.writeUint32(this.entries.length),t=0;t<this.entries.length;t++)r=this.entries[t],1===this.version&&0===this.default_length&&e.writeUint32(r.description_length),r.write(e)},f.sidxBox.prototype.write=function(e){this.version=0,this.flags=0,this.size=20+12*this.references.length,this.writeHeader(e),e.writeUint32(this.reference_ID),e.writeUint32(this.timescale),e.writeUint32(this.earliest_presentation_time),e.writeUint32(this.first_offset),e.writeUint16(0),e.writeUint16(this.references.length);for(var t=0;t<this.references.length;t++){var r=this.references[t];e.writeUint32(r.reference_type<<31|r.referenced_size),e.writeUint32(r.subsegment_duration),e.writeUint32(r.starts_with_SAP<<31|r.SAP_type<<28|r.SAP_delta_time)}},f.smhdBox.prototype.write=function(e){this.version=0,this.flags=1,this.size=4,this.writeHeader(e),e.writeUint16(this.balance),e.writeUint16(0)},f.stcoBox.prototype.write=function(e){this.version=0,this.flags=0,this.size=4+4*this.chunk_offsets.length,this.writeHeader(e),e.writeUint32(this.chunk_offsets.length),e.writeUint32Array(this.chunk_offsets)},f.stscBox.prototype.write=function(e){var t;for(this.version=0,this.flags=0,this.size=4+12*this.first_chunk.length,this.writeHeader(e),e.writeUint32(this.first_chunk.length),t=0;t<this.first_chunk.length;t++)e.writeUint32(this.first_chunk[t]),e.writeUint32(this.samples_per_chunk[t]),e.writeUint32(this.sample_description_index[t])},f.stsdBox.prototype.write=function(e){var t;for(this.version=0,this.flags=0,this.size=0,this.writeHeader(e),e.writeUint32(this.entries.length),this.size+=4,t=0;t<this.entries.length;t++)this.entries[t].write(e),this.size+=this.entries[t].size;s.debug("BoxWriter","Adjusting box "+this.type+" with new size "+this.size),e.adjustUint32(this.sizePosition,this.size)},f.stshBox.prototype.write=function(e){var t;for(this.version=0,this.flags=0,this.size=4+8*this.shadowed_sample_numbers.length,this.writeHeader(e),e.writeUint32(this.shadowed_sample_numbers.length),t=0;t<this.shadowed_sample_numbers.length;t++)e.writeUint32(this.shadowed_sample_numbers[t]),e.writeUint32(this.sync_sample_numbers[t])},f.stssBox.prototype.write=function(e){this.version=0,this.flags=0,this.size=4+4*this.sample_numbers.length,this.writeHeader(e),e.writeUint32(this.sample_numbers.length),e.writeUint32Array(this.sample_numbers)},f.stszBox.prototype.write=function(e){var t,r=!0;if(this.version=0,this.flags=0,this.sample_sizes.length>0)for(t=0;t+1<this.sample_sizes.length;){if(this.sample_sizes[t+1]!==this.sample_sizes[0]){r=!1;break}t++}else r=!1;this.size=8,r||(this.size+=4*this.sample_sizes.length),this.writeHeader(e),r?e.writeUint32(this.sample_sizes[0]):e.writeUint32(0),e.writeUint32(this.sample_sizes.length),r||e.writeUint32Array(this.sample_sizes)},f.sttsBox.prototype.write=function(e){var t;for(this.version=0,this.flags=0,this.size=4+8*this.sample_counts.length,this.writeHeader(e),e.writeUint32(this.sample_counts.length),t=0;t<this.sample_counts.length;t++)e.writeUint32(this.sample_counts[t]),e.writeUint32(this.sample_deltas[t])},f.tfdtBox.prototype.write=function(e){var t=Math.pow(2,32)-1;this.version=this.baseMediaDecodeTime>t?1:0,this.flags=0,this.size=4,1===this.version&&(this.size+=4),this.writeHeader(e),1===this.version?e.writeUint64(this.baseMediaDecodeTime):e.writeUint32(this.baseMediaDecodeTime)},f.tfhdBox.prototype.write=function(e){this.version=0,this.size=4,this.flags&f.TFHD_FLAG_BASE_DATA_OFFSET&&(this.size+=8),this.flags&f.TFHD_FLAG_SAMPLE_DESC&&(this.size+=4),this.flags&f.TFHD_FLAG_SAMPLE_DUR&&(this.size+=4),this.flags&f.TFHD_FLAG_SAMPLE_SIZE&&(this.size+=4),this.flags&f.TFHD_FLAG_SAMPLE_FLAGS&&(this.size+=4),this.writeHeader(e),e.writeUint32(this.track_id),this.flags&f.TFHD_FLAG_BASE_DATA_OFFSET&&e.writeUint64(this.base_data_offset),this.flags&f.TFHD_FLAG_SAMPLE_DESC&&e.writeUint32(this.default_sample_description_index),this.flags&f.TFHD_FLAG_SAMPLE_DUR&&e.writeUint32(this.default_sample_duration),this.flags&f.TFHD_FLAG_SAMPLE_SIZE&&e.writeUint32(this.default_sample_size),this.flags&f.TFHD_FLAG_SAMPLE_FLAGS&&e.writeUint32(this.default_sample_flags)},f.tkhdBox.prototype.write=function(e){this.version=0,this.size=80,this.writeHeader(e),e.writeUint32(this.creation_time),e.writeUint32(this.modification_time),e.writeUint32(this.track_id),e.writeUint32(0),e.writeUint32(this.duration),e.writeUint32(0),e.writeUint32(0),e.writeInt16(this.layer),e.writeInt16(this.alternate_group),e.writeInt16(this.volume<<8),e.writeUint16(0),e.writeInt32Array(this.matrix),e.writeUint32(this.width),e.writeUint32(this.height)},f.trexBox.prototype.write=function(e){this.version=0,this.flags=0,this.size=20,this.writeHeader(e),e.writeUint32(this.track_id),e.writeUint32(this.default_sample_description_index),e.writeUint32(this.default_sample_duration),e.writeUint32(this.default_sample_size),e.writeUint32(this.default_sample_flags)},f.trunBox.prototype.write=function(e){this.version=0,this.size=4,this.flags&f.TRUN_FLAGS_DATA_OFFSET&&(this.size+=4),this.flags&f.TRUN_FLAGS_FIRST_FLAG&&(this.size+=4),this.flags&f.TRUN_FLAGS_DURATION&&(this.size+=4*this.sample_duration.length),this.flags&f.TRUN_FLAGS_SIZE&&(this.size+=4*this.sample_size.length),this.flags&f.TRUN_FLAGS_FLAGS&&(this.size+=4*this.sample_flags.length),this.flags&f.TRUN_FLAGS_CTS_OFFSET&&(this.size+=4*this.sample_composition_time_offset.length),this.writeHeader(e),e.writeUint32(this.sample_count),this.flags&f.TRUN_FLAGS_DATA_OFFSET&&(this.data_offset_position=e.getPosition(),e.writeInt32(this.data_offset)),this.flags&f.TRUN_FLAGS_FIRST_FLAG&&e.writeUint32(this.first_sample_flags);for(var t=0;t<this.sample_count;t++)this.flags&f.TRUN_FLAGS_DURATION&&e.writeUint32(this.sample_duration[t]),this.flags&f.TRUN_FLAGS_SIZE&&e.writeUint32(this.sample_size[t]),this.flags&f.TRUN_FLAGS_FLAGS&&e.writeUint32(this.sample_flags[t]),this.flags&f.TRUN_FLAGS_CTS_OFFSET&&(0===this.version?e.writeUint32(this.sample_composition_time_offset[t]):e.writeInt32(this.sample_composition_time_offset[t]))},f["url Box"].prototype.write=function(e){this.version=0,this.location?(this.flags=0,this.size=this.location.length+1):(this.flags=1,this.size=0),this.writeHeader(e),this.location&&e.writeCString(this.location)},f["urn Box"].prototype.write=function(e){this.version=0,this.flags=0,this.size=this.name.length+1+(this.location?this.location.length+1:0),this.writeHeader(e),e.writeCString(this.name),this.location&&e.writeCString(this.location)},f.vmhdBox.prototype.write=function(e){this.version=0,this.flags=1,this.size=8,this.writeHeader(e),e.writeUint16(this.graphicsmode),e.writeUint16Array(this.opcolor)},f.cttsBox.prototype.unpack=function(e){var t,r,i;for(i=0,t=0;t<this.sample_counts.length;t++)for(r=0;r<this.sample_counts[t];r++)e[i].pts=e[i].dts+this.sample_offsets[t],i++},f.sttsBox.prototype.unpack=function(e){var t,r,i;for(i=0,t=0;t<this.sample_counts.length;t++)for(r=0;r<this.sample_counts[t];r++)e[i].dts=0===i?0:e[i-1].dts+this.sample_deltas[t],i++},f.stcoBox.prototype.unpack=function(e){var t;for(t=0;t<this.chunk_offsets.length;t++)e[t].offset=this.chunk_offsets[t]},f.stscBox.prototype.unpack=function(e){var t,r,i,n,o;for(n=0,o=0,t=0;t<this.first_chunk.length;t++)for(r=0;r<(t+1<this.first_chunk.length?this.first_chunk[t+1]:1/0);r++)for(o++,i=0;i<this.samples_per_chunk[t];i++){if(!e[n])return;e[n].description_index=this.sample_description_index[t],e[n].chunk_index=o,n++}},f.stszBox.prototype.unpack=function(e){var t;for(t=0;t<this.sample_sizes.length;t++)e[t].size=this.sample_sizes[t]},f.DIFF_BOXES_PROP_NAMES=["boxes","entries","references","subsamples","items","item_infos","extents","associations","subsegments","ranges","seekLists","seekPoints","esd","levels"],f.DIFF_PRIMITIVE_ARRAY_PROP_NAMES=["compatible_brands","matrix","opcolor","sample_counts","sample_counts","sample_deltas","first_chunk","samples_per_chunk","sample_sizes","chunk_offsets","sample_offsets","sample_description_index","sample_duration"],f.boxEqualFields=function(e,t){if(e&&!t)return!1;var r;for(r in e)if(!(f.DIFF_BOXES_PROP_NAMES.indexOf(r)>-1||e[r]instanceof f.Box||t[r]instanceof f.Box||void 0===e[r]||void 0===t[r]||"function"==typeof e[r]||"function"==typeof t[r]||e.subBoxNames&&e.subBoxNames.indexOf(r.slice(0,4))>-1||t.subBoxNames&&t.subBoxNames.indexOf(r.slice(0,4))>-1||"data"===r||"start"===r||"size"===r||"creation_time"===r||"modification_time"===r||f.DIFF_PRIMITIVE_ARRAY_PROP_NAMES.indexOf(r)>-1||e[r]===t[r]))return!1;return!0},f.boxEqual=function(e,t){if(!f.boxEqualFields(e,t))return!1;for(var r=0;r<f.DIFF_BOXES_PROP_NAMES.length;r++){var i=f.DIFF_BOXES_PROP_NAMES[r];if(e[i]&&t[i]&&!f.boxEqual(e[i],t[i]))return!1}return!0};var m=function(){};m.prototype.parseSample=function(e){var t,r={};r.resources=[];var i=new a(e.data.buffer);if(e.subsamples&&0!==e.subsamples.length){if(r.documentString=i.readString(e.subsamples[0].size),e.subsamples.length>1)for(t=1;t<e.subsamples.length;t++)r.resources[t]=i.readUint8Array(e.subsamples[t].size)}else r.documentString=i.readString(e.data.length);return"undefined"!=typeof DOMParser&&(r.document=(new DOMParser).parseFromString(r.documentString,"application/xml")),r};var _=function(){};_.prototype.parseSample=function(e){return new a(e.data.buffer).readString(e.data.length)},_.prototype.parseConfig=function(e){var t=new a(e.buffer);return t.readUint32(),t.readCString()},t.XMLSubtitlein4Parser=m,t.Textin4Parser=_;var g=function(e){this.stream=e||new u,this.boxes=[],this.mdats=[],this.moofs=[],this.isProgressive=!1,this.moovStartFound=!1,this.onMoovStart=null,this.moovStartSent=!1,this.onReady=null,this.readySent=!1,this.onSegment=null,this.onSamples=null,this.onError=null,this.sampleListBuilt=!1,this.fragmentedTracks=[],this.extractedTracks=[],this.isFragmentationInitialized=!1,this.sampleProcessingStarted=!1,this.nextMoofNumber=0,this.itemListBuilt=!1,this.onSidx=null,this.sidxSent=!1};g.prototype.destroy=function(){this.stream&&(this.stream.destroy(),this.stream=null),this.boxes=[],this.mdats=[],this.moofs=[],this.isProgressive=!1,this.moovStartFound=!1,this.onMoovStart=null,this.moovStartSent=!1,this.onReady=null,this.readySent=!1,this.onSegment=null,this.onSamples=null,this.onError=null,this.sampleListBuilt=!1,this.fragmentedTracks=[],this.extractedTracks=[],this.isFragmentationInitialized=!1,this.sampleProcessingStarted=!1,this.nextMoofNumber=0,this.itemListBuilt=!1,this.onSidx=null,this.sidxSent=!1},g.prototype.setSegmentOptions=function(e,t,r){var i=this.getTrackById(e);if(i){var n={};this.fragmentedTracks.push(n),n.id=e,n.user=t,n.trak=i,i.nextSample=0,n.segmentStream=null,n.nb_samples=1e3,n.rapAlignement=!0,r&&(r.nbSamples&&(n.nb_samples=r.nbSamples),r.rapAlignement&&(n.rapAlignement=r.rapAlignement))}},g.prototype.unsetSegmentOptions=function(e){for(var t=-1,r=0;r<this.fragmentedTracks.length;r++){this.fragmentedTracks[r].id==e&&(t=r)}t>-1&&this.fragmentedTracks.splice(t,1)},g.prototype.setExtractionOptions=function(e,t,r){var i=this.getTrackById(e);if(i){var n={};this.extractedTracks.push(n),n.id=e,n.user=t,n.trak=i,i.nextSample=0,n.nb_samples=1e3,n.samples=[],r&&r.nbSamples&&(n.nb_samples=r.nbSamples)}},g.prototype.unsetExtractionOptions=function(e){for(var t=-1,r=0;r<this.extractedTracks.length;r++){this.extractedTracks[r].id==e&&(t=r)}t>-1&&this.extractedTracks.splice(t,1)},g.prototype.parse=function(){var e,t;if(!this.restoreParsePosition||this.restoreParsePosition())for(;;){if(this.hasIncompleteMdat&&this.hasIncompleteMdat()){if(this.processIncompleteMdat())continue;return}if(this.saveParsePosition&&this.saveParsePosition(),(e=f.parseOneBox(this.stream,false)).code===f.ERR_NOT_ENOUGH_DATA){if(this.processIncompleteBox){if(this.processIncompleteBox(e))continue;return}return}var r;switch(r="uuid"!==(t=e.box).type?t.type:t.uuid,this.boxes.push(t),r){case"mdat":this.mdats.push(t);break;case"moof":this.moofs.push(t);break;case"moov":this.moovStartFound=!0,0===this.mdats.length&&(this.isProgressive=!0);default:void 0!==this[r]&&s.warn("ISOFile","Duplicate Box of type: "+r+", overriding previous occurrence"),this[r]=t}this.updateUsedBytes&&this.updateUsedBytes(t,e)}},g.prototype.checkBuffer=function(e){if(null==e)throw"Buffer must be defined and non empty";if(void 0===e.fileStart)throw"Buffer must have a fileStart property";return 0===e.byteLength?(s.warn("ISOFile","Ignoring empty buffer (fileStart: "+e.fileStart+")"),this.stream.logBufferLevel(),!1):(s.info("ISOFile","Processing buffer (fileStart: "+e.fileStart+")"),e.usedBytes=0,this.stream.insertBuffer(e),this.stream.logBufferLevel(),!!this.stream.initialized()||(s.warn("ISOFile","Not ready to start parsing"),!1))},g.prototype.appendBuffer=function(e,t){var r;if(this.checkBuffer(e))return this.parse(),this.moovStartFound&&!this.moovStartSent&&(this.moovStartSent=!0,this.onMoovStart&&this.onMoovStart()),this.moov?(this.sampleListBuilt||(this.buildSampleLists(),this.sampleListBuilt=!0),this.updateSampleLists(),this.onReady&&!this.readySent&&(this.readySent=!0,this.onReady(this.getInfo())),this.processSamples(t),this.nextSeekPosition?(r=this.nextSeekPosition,this.nextSeekPosition=void 0):r=this.nextParsePosition,this.stream.getEndFilePositionAfter&&(r=this.stream.getEndFilePositionAfter(r))):r=this.nextParsePosition?this.nextParsePosition:0,this.sidx&&this.onSidx&&!this.sidxSent&&(this.onSidx(this.sidx),this.sidxSent=!0),this.meta&&(this.flattenItemInfo&&!this.itemListBuilt&&(this.flattenItemInfo(),this.itemListBuilt=!0),this.processItems&&this.processItems(this.onItem)),this.stream.cleanBuffers&&(s.info("ISOFile","Done processing buffer (fileStart: "+e.fileStart+") - next buffer to fetch should have a fileStart position of "+r),this.stream.logBufferLevel(),this.stream.cleanBuffers(),this.stream.logBufferLevel(!0),s.info("ISOFile","Sample data size in memory: "+this.getAllocatedSampleDataSize())),r},g.prototype.getInfo=function(){var e,t,r,i,n,o,s={},a=new Date("1904-01-01T00:00:00Z").getTime();if(this.moov)for(s.hasMoov=!0,s.duration=this.moov.mvhd.duration,s.timescale=this.moov.mvhd.timescale,s.isFragmented=null!=this.moov.mvex,s.isFragmented&&this.moov.mvex.mehd&&(s.fragment_duration=this.moov.mvex.mehd.fragment_duration),s.isProgressive=this.isProgressive,s.hasIOD=null!=this.moov.iods,s.brands=[],s.brands.push(this.ftyp.major_brand),s.brands=s.brands.concat(this.ftyp.compatible_brands),s.created=new Date(a+1e3*this.moov.mvhd.creation_time),s.modified=new Date(a+1e3*this.moov.mvhd.modification_time),s.tracks=[],s.audioTracks=[],s.videoTracks=[],s.subtitleTracks=[],s.metadataTracks=[],s.hintTracks=[],s.otherTracks=[],e=0;e<this.moov.traks.length;e++){if(o=(r=this.moov.traks[e]).mdia.minf.stbl.stsd.entries[0],i={},s.tracks.push(i),i.id=r.tkhd.track_id,i.name=r.mdia.hdlr.name,i.references=[],r.tref)for(t=0;t<r.tref.boxes.length;t++)n={},i.references.push(n),n.type=r.tref.boxes[t].type,n.track_ids=r.tref.boxes[t].track_ids;r.edts&&(i.edits=r.edts.elst.entries),i.created=new Date(a+1e3*r.tkhd.creation_time),i.modified=new Date(a+1e3*r.tkhd.modification_time),i.movie_duration=r.tkhd.duration,i.movie_timescale=s.timescale,i.layer=r.tkhd.layer,i.alternate_group=r.tkhd.alternate_group,i.volume=r.tkhd.volume,i.matrix=r.tkhd.matrix,i.track_width=r.tkhd.width/65536,i.track_height=r.tkhd.height/65536,i.timescale=r.mdia.mdhd.timescale,i.cts_shift=r.mdia.minf.stbl.cslg,i.duration=r.mdia.mdhd.duration,i.samples_duration=r.samples_duration,i.codec=o.getCodec(),i.kind=r.udta&&r.udta.kinds.length?r.udta.kinds[0]:{schemeURI:"",value:""},i.language=r.mdia.elng?r.mdia.elng.extended_language:r.mdia.mdhd.languageString,i.nb_samples=r.samples.length,i.size=r.samples_size,i.bitrate=8*i.size*i.timescale/i.samples_duration,o.isAudio()?(i.type="audio",s.audioTracks.push(i),i.audio={},i.audio.sample_rate=o.getSampleRate(),i.audio.channel_count=o.getChannelCount(),i.audio.sample_size=o.getSampleSize()):o.isVideo()?(i.type="video",s.videoTracks.push(i),i.video={},i.video.width=o.getWidth(),i.video.height=o.getHeight()):o.isSubtitle()?(i.type="subtitles",s.subtitleTracks.push(i)):o.isHint()?(i.type="metadata",s.hintTracks.push(i)):o.isMetadata()?(i.type="metadata",s.metadataTracks.push(i)):(i.type="metadata",s.otherTracks.push(i))}else s.hasMoov=!1;if(s.mime="",s.hasMoov&&s.tracks){for(s.videoTracks&&s.videoTracks.length>0?s.mime+='video/mp4; codecs="':s.audioTracks&&s.audioTracks.length>0?s.mime+='audio/mp4; codecs="':s.mime+='application/mp4; codecs="',e=0;e<s.tracks.length;e++)0!==e&&(s.mime+=","),s.mime+=s.tracks[e].codec;s.mime+='"; profiles="',s.mime+=this.ftyp.compatible_brands.join(),s.mime+='"'}return s},g.prototype.setNextSeekPositionFromSample=function(e){e&&(this.nextSeekPosition?this.nextSeekPosition=Math.min(e.offset+e.alreadyRead,this.nextSeekPosition):this.nextSeekPosition=e.offset+e.alreadyRead)},g.prototype.processSamples=function(e){var t,r;if(this.sampleProcessingStarted){if(this.isFragmentationInitialized&&null!==this.onSegment)for(t=0;t<this.fragmentedTracks.length;t++){var i=this.fragmentedTracks[t];for(r=i.trak;r.nextSample<r.samples.length&&this.sampleProcessingStarted;){s.debug("ISOFile","Creating media fragment on track #"+i.id+" for sample "+r.nextSample);var n=this.createFragment(i.id,r.nextSample,i.segmentStream);if(!n)break;if(i.segmentStream=n,r.nextSample++,(r.nextSample%i.nb_samples==0||e||r.nextSample>=r.samples.length)&&(s.info("ISOFile","Sending fragmented data on track #"+i.id+" for samples ["+Math.max(0,r.nextSample-i.nb_samples)+","+(r.nextSample-1)+"]"),s.info("ISOFile","Sample data size in memory: "+this.getAllocatedSampleDataSize()),this.onSegment&&this.onSegment(i.id,i.user,i.segmentStream.buffer,r.nextSample,e||r.nextSample>=r.samples.length),i.segmentStream=null,i!==this.fragmentedTracks[t]))break}}if(null!==this.onSamples)for(t=0;t<this.extractedTracks.length;t++){var o=this.extractedTracks[t];for(r=o.trak;r.nextSample<r.samples.length&&this.sampleProcessingStarted;){s.debug("ISOFile","Exporting on track #"+o.id+" sample #"+r.nextSample);var a=this.getSample(r,r.nextSample);if(!a){this.setNextSeekPositionFromSample(r.samples[r.nextSample]);break}if(r.nextSample++,o.samples.push(a),(r.nextSample%o.nb_samples==0||r.nextSample>=r.samples.length)&&(s.debug("ISOFile","Sending samples on track #"+o.id+" for sample "+r.nextSample),this.onSamples&&this.onSamples(o.id,o.user,o.samples),o.samples=[],o!==this.extractedTracks[t]))break}}}},g.prototype.getBox=function(e){var t=this.getBoxes(e,!0);return t.length?t[0]:null},g.prototype.getBoxes=function(e,t){var r=[];return g._sweep.call(this,e,r,t),r},g._sweep=function(e,t,r){for(var i in this.type&&this.type==e&&t.push(this),this.boxes){if(t.length&&r)return;g._sweep.call(this.boxes[i],e,t,r)}},g.prototype.getTrackSamplesInfo=function(e){var t=this.getTrackById(e);return t?t.samples:void 0},g.prototype.getTrackSample=function(e,t){var r=this.getTrackById(e);return this.getSample(r,t)},g.prototype.releaseUsedSamples=function(e,t){var r=0,i=this.getTrackById(e);i.lastValidSample||(i.lastValidSample=0);for(var n=i.lastValidSample;n<t;n++)r+=this.releaseSample(i,n);s.info("ISOFile","Track #"+e+" released samples up to "+t+" (released size: "+r+", remaining: "+this.samplesDataSize+")"),i.lastValidSample=t},g.prototype.start=function(){this.sampleProcessingStarted=!0,this.processSamples(!1)},g.prototype.stop=function(){this.sampleProcessingStarted=!1},g.prototype.flush=function(){s.info("ISOFile","Flushing remaining samples"),this.updateSampleLists(),this.processSamples(!0),this.stream.cleanBuffers(),this.stream.logBufferLevel(!0)},g.prototype.seekTrack=function(e,t,r){var i,n,o,a,d=0,l=0;if(0===r.samples.length)return s.info("ISOFile","No sample in track, cannot seek! Using time "+s.getDurationString(0,1)+" and offset: 0"),{offset:0,time:0};for(i=0;i<r.samples.length;i++){if(n=r.samples[i],0===i)l=0,a=n.timescale;else if(n.cts>e*n.timescale){l=i-1;break}t&&n.is_sync&&(d=i)}for(t&&(l=d),e=r.samples[l].cts,r.nextSample=l;r.samples[l].alreadyRead===r.samples[l].size&&r.samples[l+1];)l++;return o=r.samples[l].offset+r.samples[l].alreadyRead,s.info("ISOFile","Seeking to "+(t?"RAP":"")+" sample #"+r.nextSample+" on track "+r.tkhd.track_id+", time "+s.getDurationString(e,a)+" and offset: "+o),{offset:o,time:e/a}},g.prototype.getTrackDuration=function(e){var t;return e.samples?((t=e.samples[e.samples.length-1]).cts+t.duration)/t.timescale:1/0},g.prototype.seek=function(e,t){var r,i,n,o=this.moov,a={offset:1/0,time:1/0};if(this.moov){for(n=0;n<o.traks.length;n++)r=o.traks[n],e>this.getTrackDuration(r)||((i=this.seekTrack(e,t,r)).offset<a.offset&&(a.offset=i.offset),i.time<a.time&&(a.time=i.time));return s.info("ISOFile","Seeking at time "+s.getDurationString(a.time,1)+" needs a buffer with a fileStart position of "+a.offset),a.offset===1/0?a={offset:this.nextParsePosition,time:0}:a.offset=this.stream.getEndFilePositionAfter(a.offset),s.info("ISOFile","Adjusted seek position (after checking data already in buffer): "+a.offset),a}throw"Cannot seek: moov not received!"},g.prototype.equal=function(e){for(var t=0;t<this.boxes.length&&t<e.boxes.length;){var r=this.boxes[t],i=e.boxes[t];if(!f.boxEqual(r,i))return!1;t++}return!0},t.ISOFile=g,g.prototype.lastBoxStartPosition=0,g.prototype.parsingMdat=null,g.prototype.nextParsePosition=0,g.prototype.discardMdatData=!1,g.prototype.processIncompleteBox=function(e){var t;return"mdat"===e.type?(t=new f[e.type+"Box"](e.size),this.parsingMdat=t,this.boxes.push(t),this.mdats.push(t),t.start=e.start,t.hdr_size=e.hdr_size,this.stream.addUsedBytes(t.hdr_size),this.lastBoxStartPosition=t.start+t.size,this.stream.seek(t.start+t.size,!1,this.discardMdatData)?(this.parsingMdat=null,!0):(this.moovStartFound?this.nextParsePosition=this.stream.findEndContiguousBuf():this.nextParsePosition=t.start+t.size,!1)):("moov"===e.type&&(this.moovStartFound=!0,0===this.mdats.length&&(this.isProgressive=!0)),!!this.stream.mergeNextBuffer&&this.stream.mergeNextBuffer()?(this.nextParsePosition=this.stream.getEndPosition(),!0):(e.type?this.moovStartFound?this.nextParsePosition=this.stream.getEndPosition():this.nextParsePosition=this.stream.getPosition()+e.size:this.nextParsePosition=this.stream.getEndPosition(),!1))},g.prototype.hasIncompleteMdat=function(){return null!==this.parsingMdat},g.prototype.processIncompleteMdat=function(){var e;return e=this.parsingMdat,this.stream.seek(e.start+e.size,!1,this.discardMdatData)?(s.debug("ISOFile","Found 'mdat' end in buffered data"),this.parsingMdat=null,!0):(this.nextParsePosition=this.stream.findEndContiguousBuf(),!1)},g.prototype.restoreParsePosition=function(){return this.stream.seek(this.lastBoxStartPosition,!0,this.discardMdatData)},g.prototype.saveParsePosition=function(){this.lastBoxStartPosition=this.stream.getPosition()},g.prototype.updateUsedBytes=function(e,t){this.stream.addUsedBytes&&("mdat"===e.type?(this.stream.addUsedBytes(e.hdr_size),this.discardMdatData&&this.stream.addUsedBytes(e.size-e.hdr_size)):this.stream.addUsedBytes(e.size))},g.prototype.add=f.Box.prototype.add,g.prototype.addBox=f.Box.prototype.addBox,g.prototype.init=function(e){var t=e||{};this.add("ftyp").set("major_brand",t.brands&&t.brands[0]||"iso4").set("minor_version",0).set("compatible_brands",t.brands||["iso4"]);var r=this.add("moov");return r.add("mvhd").set("timescale",t.timescale||600).set("rate",t.rate||65536).set("creation_time",0).set("modification_time",0).set("duration",t.duration||0).set("volume",t.width?0:256).set("matrix",[65536,0,0,0,65536,0,0,0,1073741824]).set("next_track_id",1),r.add("mvex"),this},g.prototype.addTrack=function(e){this.moov||this.init(e);var t=e||{};t.width=t.width||320,t.height=t.height||320,t.id=t.id||this.moov.mvhd.next_track_id,t.type=t.type||"avc1";var r=this.moov.add("trak");this.moov.mvhd.next_track_id=t.id+1,r.add("tkhd").set("flags",f.TKHD_FLAG_ENABLED|f.TKHD_FLAG_IN_MOVIE|f.TKHD_FLAG_IN_PREVIEW).set("creation_time",0).set("modification_time",0).set("track_id",t.id).set("duration",t.duration||0).set("layer",t.layer||0).set("alternate_group",0).set("volume",1).set("matrix",[0,0,0,0,0,0,0,0,0]).set("width",t.width<<16).set("height",t.height<<16);var i=r.add("mdia");i.add("mdhd").set("creation_time",0).set("modification_time",0).set("timescale",t.timescale||1).set("duration",t.media_duration||0).set("language",t.language||"und"),i.add("hdlr").set("handler",t.hdlr||"vide").set("name",t.name||"Track created with MP4Box.js"),i.add("elng").set("extended_language",t.language||"fr-FR");var n=i.add("minf");if(void 0!==f[t.type+"SampleEntry"]){var o=new f[t.type+"SampleEntry"];o.data_reference_index=1;var s="";for(var d in f.sampleEntryCodes)for(var l=f.sampleEntryCodes[d],u=0;u<l.length;u++)if(l.indexOf(t.type)>-1){s=d;break}switch(s){case"Visual":if(n.add("vmhd").set("graphicsmode",0).set("opcolor",[0,0,0]),o.set("width",t.width).set("height",t.height).set("horizresolution",72<<16).set("vertresolution",72<<16).set("frame_count",1).set("compressorname",t.type+" Compressor").set("depth",24),t.avcDecoderConfigRecord){var c=new f.avcCBox;c.parse(new a(t.avcDecoderConfigRecord)),o.addBox(c)}else if(t.hevcDecoderConfigRecord){var h=new f.hvcCBox;h.parse(new a(t.hevcDecoderConfigRecord)),o.addBox(h)}break;case"Audio":n.add("smhd").set("balance",t.balance||0),o.set("channel_count",t.channel_count||2).set("samplesize",t.samplesize||16).set("samplerate",t.samplerate||65536);break;case"Hint":n.add("hmhd");break;case"Subtitle":if(n.add("sthd"),"stpp"===t.type)o.set("namespace",t.namespace||"nonamespace").set("schema_location",t.schema_location||"").set("auxiliary_mime_types",t.auxiliary_mime_types||"");break;default:n.add("nmhd")}t.description&&o.addBox(t.description),t.description_boxes&&t.description_boxes.forEach((function(e){o.addBox(e)})),n.add("dinf").add("dref").addEntry((new f["url Box"]).set("flags",1));var p=n.add("stbl");return p.add("stsd").addEntry(o),p.add("stts").set("sample_counts",[]).set("sample_deltas",[]),p.add("stsc").set("first_chunk",[]).set("samples_per_chunk",[]).set("sample_description_index",[]),p.add("stco").set("chunk_offsets",[]),p.add("stsz").set("sample_sizes",[]),this.moov.mvex.add("trex").set("track_id",t.id).set("default_sample_description_index",t.default_sample_description_index||1).set("default_sample_duration",t.default_sample_duration||0).set("default_sample_size",t.default_sample_size||0).set("default_sample_flags",t.default_sample_flags||0),this.buildTrakSampleLists(r),t.id}},f.Box.prototype.computeSize=function(e){var t=e||new d;t.endianness=d.BIG_ENDIAN,this.write(t)},g.prototype.addSample=function(e,t,r){var i=r||{},n={},o=this.getTrackById(e);if(null!==o){n.number=o.samples.length,n.track_id=o.tkhd.track_id,n.timescale=o.mdia.mdhd.timescale,n.description_index=i.sample_description_index?i.sample_description_index-1:0,n.description=o.mdia.minf.stbl.stsd.entries[n.description_index],n.data=t,n.size=t.byteLength,n.alreadyRead=n.size,n.duration=i.duration||1,n.cts=i.cts||0,n.dts=i.dts||0,n.is_sync=i.is_sync||!1,n.is_leading=i.is_leading||0,n.depends_on=i.depends_on||0,n.is_depended_on=i.is_depended_on||0,n.has_redundancy=i.has_redundancy||0,n.degradation_priority=i.degradation_priority||0,n.offset=0,n.subsamples=i.subsamples,o.samples.push(n),o.samples_size+=n.size,o.samples_duration+=n.duration,void 0===o.first_dts&&(o.first_dts=i.dts),this.processSamples();var s=this.createSingleSampleMoof(n);return this.addBox(s),s.computeSize(),s.trafs[0].truns[0].data_offset=s.size+8,this.add("mdat").data=new Uint8Array(t),n}},g.prototype.createSingleSampleMoof=function(e){var t=0;t=e.is_sync?1<<25:65536;var r=new f.moofBox;r.add("mfhd").set("sequence_number",this.nextMoofNumber),this.nextMoofNumber++;var i=r.add("traf"),n=this.getTrackById(e.track_id);return i.add("tfhd").set("track_id",e.track_id).set("flags",f.TFHD_FLAG_DEFAULT_BASE_IS_MOOF),i.add("tfdt").set("baseMediaDecodeTime",e.dts-(n.first_dts||0)),i.add("trun").set("flags",f.TRUN_FLAGS_DATA_OFFSET|f.TRUN_FLAGS_DURATION|f.TRUN_FLAGS_SIZE|f.TRUN_FLAGS_FLAGS|f.TRUN_FLAGS_CTS_OFFSET).set("data_offset",0).set("first_sample_flags",0).set("sample_count",1).set("sample_duration",[e.duration]).set("sample_size",[e.size]).set("sample_flags",[t]).set("sample_composition_time_offset",[e.cts-e.dts]),r},g.prototype.lastMoofIndex=0,g.prototype.samplesDataSize=0,g.prototype.resetTables=function(){var e,t,r,i,n,o;for(this.initial_duration=this.moov.mvhd.duration,this.moov.mvhd.duration=0,e=0;e<this.moov.traks.length;e++){(t=this.moov.traks[e]).tkhd.duration=0,t.mdia.mdhd.duration=0,(t.mdia.minf.stbl.stco||t.mdia.minf.stbl.co64).chunk_offsets=[],(r=t.mdia.minf.stbl.stsc).first_chunk=[],r.samples_per_chunk=[],r.sample_description_index=[],(t.mdia.minf.stbl.stsz||t.mdia.minf.stbl.stz2).sample_sizes=[],(i=t.mdia.minf.stbl.stts).sample_counts=[],i.sample_deltas=[],(n=t.mdia.minf.stbl.ctts)&&(n.sample_counts=[],n.sample_offsets=[]),o=t.mdia.minf.stbl.stss;var s=t.mdia.minf.stbl.boxes.indexOf(o);-1!=s&&(t.mdia.minf.stbl.boxes[s]=null)}},g.initSampleGroups=function(e,t,r,i,n){var o,s,a,d;function l(e,t,r){this.grouping_type=e,this.grouping_type_parameter=t,this.sbgp=r,this.last_sample_in_run=-1,this.entry_index=-1}for(t&&(t.sample_groups_info=[]),e.sample_groups_info||(e.sample_groups_info=[]),s=0;s<r.length;s++){for(d=r[s].grouping_type+"/"+r[s].grouping_type_parameter,a=new l(r[s].grouping_type,r[s].grouping_type_parameter,r[s]),t&&(t.sample_groups_info[d]=a),e.sample_groups_info[d]||(e.sample_groups_info[d]=a),o=0;o<i.length;o++)i[o].grouping_type===r[s].grouping_type&&(a.description=i[o],a.description.used=!0);if(n)for(o=0;o<n.length;o++)n[o].grouping_type===r[s].grouping_type&&(a.fragment_description=n[o],a.fragment_description.used=!0,a.is_fragment=!0)}if(t){if(n)for(s=0;s<n.length;s++)!n[s].used&&n[s].version>=2&&(d=n[s].grouping_type+"/0",(a=new l(n[s].grouping_type,0)).is_fragment=!0,t.sample_groups_info[d]||(t.sample_groups_info[d]=a))}else for(s=0;s<i.length;s++)!i[s].used&&i[s].version>=2&&(d=i[s].grouping_type+"/0",a=new l(i[s].grouping_type,0),e.sample_groups_info[d]||(e.sample_groups_info[d]=a))},g.setSampleGroupProperties=function(e,t,r,i){var n,o;for(n in t.sample_groups=[],i){var s;if(t.sample_groups[n]={},t.sample_groups[n].grouping_type=i[n].grouping_type,t.sample_groups[n].grouping_type_parameter=i[n].grouping_type_parameter,r>=i[n].last_sample_in_run&&(i[n].last_sample_in_run<0&&(i[n].last_sample_in_run=0),i[n].entry_index++,i[n].entry_index<=i[n].sbgp.entries.length-1&&(i[n].last_sample_in_run+=i[n].sbgp.entries[i[n].entry_index].sample_count)),i[n].entry_index<=i[n].sbgp.entries.length-1?t.sample_groups[n].group_description_index=i[n].sbgp.entries[i[n].entry_index].group_description_index:t.sample_groups[n].group_description_index=-1,0!==t.sample_groups[n].group_description_index)s=i[n].fragment_description?i[n].fragment_description:i[n].description,t.sample_groups[n].group_description_index>0?(o=t.sample_groups[n].group_description_index>65535?(t.sample_groups[n].group_description_index>>16)-1:t.sample_groups[n].group_description_index-1,s&&o>=0&&(t.sample_groups[n].description=s.entries[o])):s&&s.version>=2&&s.default_group_description_index>0&&(t.sample_groups[n].description=s.entries[s.default_group_description_index-1])}},g.process_sdtp=function(e,t,r){t&&(e?(t.is_leading=e.is_leading[r],t.depends_on=e.sample_depends_on[r],t.is_depended_on=e.sample_is_depended_on[r],t.has_redundancy=e.sample_has_redundancy[r]):(t.is_leading=0,t.depends_on=0,t.is_depended_on=0,t.has_redundancy=0))},g.prototype.buildSampleLists=function(){var e,t;for(e=0;e<this.moov.traks.length;e++)t=this.moov.traks[e],this.buildTrakSampleLists(t)},g.prototype.buildTrakSampleLists=function(e){var t,r,i,n,o,s,a,d,l,u,c,f,h,p,m,_,y,v,b,w,S,E,A,x;if(e.samples=[],e.samples_duration=0,e.samples_size=0,r=e.mdia.minf.stbl.stco||e.mdia.minf.stbl.co64,i=e.mdia.minf.stbl.stsc,n=e.mdia.minf.stbl.stsz||e.mdia.minf.stbl.stz2,o=e.mdia.minf.stbl.stts,s=e.mdia.minf.stbl.ctts,a=e.mdia.minf.stbl.stss,d=e.mdia.minf.stbl.stsd,l=e.mdia.minf.stbl.subs,f=e.mdia.minf.stbl.stdp,u=e.mdia.minf.stbl.sbgps,c=e.mdia.minf.stbl.sgpds,v=-1,b=-1,w=-1,S=-1,E=0,A=0,x=0,g.initSampleGroups(e,null,u,c),void 0!==n){for(t=0;t<n.sample_sizes.length;t++){var B={};B.number=t,B.track_id=e.tkhd.track_id,B.timescale=e.mdia.mdhd.timescale,B.alreadyRead=0,e.samples[t]=B,B.size=n.sample_sizes[t],e.samples_size+=B.size,0===t?(p=1,h=0,B.chunk_index=p,B.chunk_run_index=h,y=i.samples_per_chunk[h],_=0,m=h+1<i.first_chunk.length?i.first_chunk[h+1]-1:1/0):t<y?(B.chunk_index=p,B.chunk_run_index=h):(p++,B.chunk_index=p,_=0,p<=m||(m=++h+1<i.first_chunk.length?i.first_chunk[h+1]-1:1/0),B.chunk_run_index=h,y+=i.samples_per_chunk[h]),B.description_index=i.sample_description_index[B.chunk_run_index]-1,B.description=d.entries[B.description_index],B.offset=r.chunk_offsets[B.chunk_index-1]+_,_+=B.size,t>v&&(b++,v<0&&(v=0),v+=o.sample_counts[b]),t>0?(e.samples[t-1].duration=o.sample_deltas[b],e.samples_duration+=e.samples[t-1].duration,B.dts=e.samples[t-1].dts+e.samples[t-1].duration):B.dts=0,s?(t>=w&&(S++,w<0&&(w=0),w+=s.sample_counts[S]),B.cts=e.samples[t].dts+s.sample_offsets[S]):B.cts=B.dts,a?(t==a.sample_numbers[E]-1?(B.is_sync=!0,E++):(B.is_sync=!1,B.degradation_priority=0),l&&l.entries[A].sample_delta+x==t+1&&(B.subsamples=l.entries[A].subsamples,x+=l.entries[A].sample_delta,A++)):B.is_sync=!0,g.process_sdtp(e.mdia.minf.stbl.sdtp,B,B.number),B.degradation_priority=f?f.priority[t]:0,l&&l.entries[A].sample_delta+x==t&&(B.subsamples=l.entries[A].subsamples,x+=l.entries[A].sample_delta),(u.length>0||c.length>0)&&g.setSampleGroupProperties(e,B,t,e.sample_groups_info)}t>0&&(e.samples[t-1].duration=Math.max(e.mdia.mdhd.duration-e.samples[t-1].dts,0),e.samples_duration+=e.samples[t-1].duration)}},g.prototype.updateSampleLists=function(){var e,t,r,i,n,o,s,a,d,l,u,c,h,p,m;if(void 0!==this.moov)for(;this.lastMoofIndex<this.moofs.length;)if(d=this.moofs[this.lastMoofIndex],this.lastMoofIndex++,"moof"==d.type)for(l=d,e=0;e<l.trafs.length;e++){for(u=l.trafs[e],c=this.getTrackById(u.tfhd.track_id),h=this.getTrexById(u.tfhd.track_id),i=u.tfhd.flags&f.TFHD_FLAG_SAMPLE_DESC?u.tfhd.default_sample_description_index:h?h.default_sample_description_index:1,n=u.tfhd.flags&f.TFHD_FLAG_SAMPLE_DUR?u.tfhd.default_sample_duration:h?h.default_sample_duration:0,o=u.tfhd.flags&f.TFHD_FLAG_SAMPLE_SIZE?u.tfhd.default_sample_size:h?h.default_sample_size:0,s=u.tfhd.flags&f.TFHD_FLAG_SAMPLE_FLAGS?u.tfhd.default_sample_flags:h?h.default_sample_flags:0,u.sample_number=0,u.sbgps.length>0&&g.initSampleGroups(c,u,u.sbgps,c.mdia.minf.stbl.sgpds,u.sgpds),t=0;t<u.truns.length;t++){var _=u.truns[t];for(r=0;r<_.sample_count;r++){(p={}).moof_number=this.lastMoofIndex,p.number_in_traf=u.sample_number,u.sample_number++,p.number=c.samples.length,u.first_sample_index=c.samples.length,c.samples.push(p),p.track_id=c.tkhd.track_id,p.timescale=c.mdia.mdhd.timescale,p.description_index=i-1,p.description=c.mdia.minf.stbl.stsd.entries[p.description_index],p.size=o,_.flags&f.TRUN_FLAGS_SIZE&&(p.size=_.sample_size[r]),c.samples_size+=p.size,p.duration=n,_.flags&f.TRUN_FLAGS_DURATION&&(p.duration=_.sample_duration[r]),c.samples_duration+=p.duration,c.first_traf_merged||r>0?p.dts=c.samples[c.samples.length-2].dts+c.samples[c.samples.length-2].duration:(u.tfdt?p.dts=u.tfdt.baseMediaDecodeTime:p.dts=0,c.first_traf_merged=!0),p.cts=p.dts,_.flags&f.TRUN_FLAGS_CTS_OFFSET&&(p.cts=p.dts+_.sample_composition_time_offset[r]),m=s,_.flags&f.TRUN_FLAGS_FLAGS?m=_.sample_flags[r]:0===r&&_.flags&f.TRUN_FLAGS_FIRST_FLAG&&(m=_.first_sample_flags),p.is_sync=!(m>>16&1),p.is_leading=m>>26&3,p.depends_on=m>>24&3,p.is_depended_on=m>>22&3,p.has_redundancy=m>>20&3,p.degradation_priority=65535&m;var y=!!(u.tfhd.flags&f.TFHD_FLAG_BASE_DATA_OFFSET),v=!!(u.tfhd.flags&f.TFHD_FLAG_DEFAULT_BASE_IS_MOOF),b=!!(_.flags&f.TRUN_FLAGS_DATA_OFFSET),w=0;w=y?u.tfhd.base_data_offset:v||0===t?l.start:a,p.offset=0===t&&0===r?b?w+_.data_offset:w:a,a=p.offset+p.size,(u.sbgps.length>0||u.sgpds.length>0||c.mdia.minf.stbl.sbgps.length>0||c.mdia.minf.stbl.sgpds.length>0)&&g.setSampleGroupProperties(c,p,p.number_in_traf,u.sample_groups_info)}}if(u.subs){c.has_fragment_subsamples=!0;var S=u.first_sample_index;for(t=0;t<u.subs.entries.length;t++)S+=u.subs.entries[t].sample_delta,(p=c.samples[S-1]).subsamples=u.subs.entries[t].subsamples}}},g.prototype.getSample=function(e,t){var r,i=e.samples[t];if(!this.moov)return null;if(i.data){if(i.alreadyRead==i.size)return i}else i.data=new Uint8Array(i.size),i.alreadyRead=0,this.samplesDataSize+=i.size,s.debug("ISOFile","Allocating sample #"+t+" on track #"+e.tkhd.track_id+" of size "+i.size+" (total: "+this.samplesDataSize+")");for(;;){var n=this.stream.findPosition(!0,i.offset+i.alreadyRead,!1);if(!(n>-1))return null;var o=(r=this.stream.buffers[n]).byteLength-(i.offset+i.alreadyRead-r.fileStart);if(i.size-i.alreadyRead<=o)return s.debug("ISOFile","Getting sample #"+t+" data (alreadyRead: "+i.alreadyRead+" offset: "+(i.offset+i.alreadyRead-r.fileStart)+" read size: "+(i.size-i.alreadyRead)+" full size: "+i.size+")"),d.memcpy(i.data.buffer,i.alreadyRead,r,i.offset+i.alreadyRead-r.fileStart,i.size-i.alreadyRead),r.usedBytes+=i.size-i.alreadyRead,this.stream.logBufferLevel(),i.alreadyRead=i.size,i;if(0===o)return null;s.debug("ISOFile","Getting sample #"+t+" partial data (alreadyRead: "+i.alreadyRead+" offset: "+(i.offset+i.alreadyRead-r.fileStart)+" read size: "+o+" full size: "+i.size+")"),d.memcpy(i.data.buffer,i.alreadyRead,r,i.offset+i.alreadyRead-r.fileStart,o),i.alreadyRead+=o,r.usedBytes+=o,this.stream.logBufferLevel()}},g.prototype.releaseSample=function(e,t){var r=e.samples[t];return r.data?(this.samplesDataSize-=r.size,r.data=null,r.alreadyRead=0,r.size):0},g.prototype.getAllocatedSampleDataSize=function(){return this.samplesDataSize},g.prototype.getCodecs=function(){var e,t="";for(e=0;e<this.moov.traks.length;e++){e>0&&(t+=","),t+=this.moov.traks[e].mdia.minf.stbl.stsd.entries[0].getCodec()}return t},g.prototype.getTrexById=function(e){var t;if(!this.moov||!this.moov.mvex)return null;for(t=0;t<this.moov.mvex.trexs.length;t++){var r=this.moov.mvex.trexs[t];if(r.track_id==e)return r}return null},g.prototype.getTrackById=function(e){if(void 0===this.moov)return null;for(var t=0;t<this.moov.traks.length;t++){var r=this.moov.traks[t];if(r.tkhd.track_id==e)return r}return null},g.prototype.items=[],g.prototype.entity_groups=[],g.prototype.itemsDataSize=0,g.prototype.flattenItemInfo=function(){var e,t,r,i=this.items,n=this.entity_groups,o=this.meta;if(null!=o&&void 0!==o.hdlr&&void 0!==o.iinf){for(e=0;e<o.iinf.item_infos.length;e++)(r={}).id=o.iinf.item_infos[e].item_ID,i[r.id]=r,r.ref_to=[],r.name=o.iinf.item_infos[e].item_name,o.iinf.item_infos[e].protection_index>0&&(r.protection=o.ipro.protections[o.iinf.item_infos[e].protection_index-1]),o.iinf.item_infos[e].item_type?r.type=o.iinf.item_infos[e].item_type:r.type="mime",r.content_type=o.iinf.item_infos[e].content_type,r.content_encoding=o.iinf.item_infos[e].content_encoding;if(o.grpl)for(e=0;e<o.grpl.boxes.length;e++)entity_group={},entity_group.id=o.grpl.boxes[e].group_id,entity_group.entity_ids=o.grpl.boxes[e].entity_ids,entity_group.type=o.grpl.boxes[e].type,n[entity_group.id]=entity_group;if(o.iloc)for(e=0;e<o.iloc.items.length;e++){var a=o.iloc.items[e];switch(r=i[a.item_ID],0!==a.data_reference_index&&(s.warn("Item storage with reference to other files: not supported"),r.source=o.dinf.boxes[a.data_reference_index-1]),a.construction_method){case 0:break;case 1:case 2:s.warn("Item storage with construction_method : not supported")}for(r.extents=[],r.size=0,t=0;t<a.extents.length;t++)r.extents[t]={},r.extents[t].offset=a.extents[t].extent_offset+a.base_offset,r.extents[t].length=a.extents[t].extent_length,r.extents[t].alreadyRead=0,r.size+=r.extents[t].length}if(o.pitm&&(i[o.pitm.item_id].primary=!0),o.iref)for(e=0;e<o.iref.references.length;e++){var d=o.iref.references[e];for(t=0;t<d.references.length;t++)i[d.from_item_ID].ref_to.push({type:d.type,id:d.references[t]})}if(o.iprp)for(var l=0;l<o.iprp.ipmas.length;l++){var u=o.iprp.ipmas[l];for(e=0;e<u.associations.length;e++){var c=u.associations[e];if((r=i[c.id])||(r=n[c.id]),r)for(void 0===r.properties&&(r.properties={},r.properties.boxes=[]),t=0;t<c.props.length;t++){var f=c.props[t];if(f.property_index>0&&f.property_index-1<o.iprp.ipco.boxes.length){var h=o.iprp.ipco.boxes[f.property_index-1];r.properties[h.type]=h,r.properties.boxes.push(h)}}}}}},g.prototype.getItem=function(e){var t,r;if(!this.meta)return null;if(!(r=this.items[e]).data&&r.size)r.data=new Uint8Array(r.size),r.alreadyRead=0,this.itemsDataSize+=r.size,s.debug("ISOFile","Allocating item #"+e+" of size "+r.size+" (total: "+this.itemsDataSize+")");else if(r.alreadyRead===r.size)return r;for(var i=0;i<r.extents.length;i++){var n=r.extents[i];if(n.alreadyRead!==n.length){var o=this.stream.findPosition(!0,n.offset+n.alreadyRead,!1);if(!(o>-1))return null;var a=(t=this.stream.buffers[o]).byteLength-(n.offset+n.alreadyRead-t.fileStart);if(!(n.length-n.alreadyRead<=a))return s.debug("ISOFile","Getting item #"+e+" extent #"+i+" partial data (alreadyRead: "+n.alreadyRead+" offset: "+(n.offset+n.alreadyRead-t.fileStart)+" read size: "+a+" full extent size: "+n.length+" full item size: "+r.size+")"),d.memcpy(r.data.buffer,r.alreadyRead,t,n.offset+n.alreadyRead-t.fileStart,a),n.alreadyRead+=a,r.alreadyRead+=a,t.usedBytes+=a,this.stream.logBufferLevel(),null;s.debug("ISOFile","Getting item #"+e+" extent #"+i+" data (alreadyRead: "+n.alreadyRead+" offset: "+(n.offset+n.alreadyRead-t.fileStart)+" read size: "+(n.length-n.alreadyRead)+" full extent size: "+n.length+" full item size: "+r.size+")"),d.memcpy(r.data.buffer,r.alreadyRead,t,n.offset+n.alreadyRead-t.fileStart,n.length-n.alreadyRead),t.usedBytes+=n.length-n.alreadyRead,this.stream.logBufferLevel(),r.alreadyRead+=n.length-n.alreadyRead,n.alreadyRead=n.length}}return r.alreadyRead===r.size?r:null},g.prototype.releaseItem=function(e){var t=this.items[e];if(t.data){this.itemsDataSize-=t.size,t.data=null,t.alreadyRead=0;for(var r=0;r<t.extents.length;r++){t.extents[r].alreadyRead=0}return t.size}return 0},g.prototype.processItems=function(e){for(var t in this.items){var r=this.items[t];this.getItem(r.id),e&&!r.sent&&(e(r),r.sent=!0,r.data=null)}},g.prototype.hasItem=function(e){for(var t in this.items){var r=this.items[t];if(r.name===e)return r.id}return-1},g.prototype.getMetaHandler=function(){return this.meta?this.meta.hdlr.handler:null},g.prototype.getPrimaryItem=function(){return this.meta&&this.meta.pitm?this.getItem(this.meta.pitm.item_id):null},g.prototype.itemToFragmentedTrackFile=function(e){var t=e||{},r=null;if(null==(r=t.itemId?this.getItem(t.itemId):this.getPrimaryItem()))return null;var i=new g;i.discardMdatData=!1;var n={type:r.type,description_boxes:r.properties.boxes};r.properties.ispe&&(n.width=r.properties.ispe.image_width,n.height=r.properties.ispe.image_height);var o=i.addTrack(n);return o?(i.addSample(o,r.data),i):null},g.prototype.write=function(e){for(var t=0;t<this.boxes.length;t++)this.boxes[t].write(e)},g.prototype.createFragment=function(e,t,r){var i=this.getTrackById(e),n=this.getSample(i,t);if(null==n)return this.setNextSeekPositionFromSample(i.samples[t]),null;var o=r||new d;o.endianness=d.BIG_ENDIAN;var a=this.createSingleSampleMoof(n);a.write(o),a.trafs[0].truns[0].data_offset=a.size+8,s.debug("MP4Box","Adjusting data_offset with new value "+a.trafs[0].truns[0].data_offset),o.adjustUint32(a.trafs[0].truns[0].data_offset_position,a.trafs[0].truns[0].data_offset);var l=new f.mdatBox;return l.data=n.data,l.write(o),o},g.writeInitializationSegment=function(e,t,r,i){var n;s.debug("ISOFile","Generating initialization segment");var o=new d;o.endianness=d.BIG_ENDIAN,e.write(o);var a=t.add("mvex");for(r&&a.add("mehd").set("fragment_duration",r),n=0;n<t.traks.length;n++)a.add("trex").set("track_id",t.traks[n].tkhd.track_id).set("default_sample_description_index",1).set("default_sample_duration",i).set("default_sample_size",0).set("default_sample_flags",65536);return t.write(o),o.buffer},g.prototype.save=function(e){var t=new d;t.endianness=d.BIG_ENDIAN,this.write(t),t.save(e)},g.prototype.getBuffer=function(){var e=new d;return e.endianness=d.BIG_ENDIAN,this.write(e),e.buffer},g.prototype.initializeSegmentation=function(){var e,t,r,i;for(null===this.onSegment&&s.warn("MP4Box","No segmentation callback set!"),this.isFragmentationInitialized||(this.isFragmentationInitialized=!0,this.nextMoofNumber=0,this.resetTables()),t=[],e=0;e<this.fragmentedTracks.length;e++){var n=new f.moovBox;n.mvhd=this.moov.mvhd,n.boxes.push(n.mvhd),r=this.getTrackById(this.fragmentedTracks[e].id),n.boxes.push(r),n.traks.push(r),(i={}).id=r.tkhd.track_id,i.user=this.fragmentedTracks[e].user,i.buffer=g.writeInitializationSegment(this.ftyp,n,this.moov.mvex&&this.moov.mvex.mehd?this.moov.mvex.mehd.fragment_duration:void 0,this.moov.traks[e].samples.length>0?this.moov.traks[e].samples[0].duration:0),t.push(i)}return t},f.Box.prototype.printHeader=function(e){this.size+=8,this.size>l&&(this.size+=8),"uuid"===this.type&&(this.size+=16),e.log(e.indent+"size:"+this.size),e.log(e.indent+"type:"+this.type)},f.FullBox.prototype.printHeader=function(e){this.size+=4,f.Box.prototype.printHeader.call(this,e),e.log(e.indent+"version:"+this.version),e.log(e.indent+"flags:"+this.flags)},f.Box.prototype.print=function(e){this.printHeader(e)},f.ContainerBox.prototype.print=function(e){this.printHeader(e);for(var t=0;t<this.boxes.length;t++)if(this.boxes[t]){var r=e.indent;e.indent+=" ",this.boxes[t].print(e),e.indent=r}},g.prototype.print=function(e){e.indent="";for(var t=0;t<this.boxes.length;t++)this.boxes[t]&&this.boxes[t].print(e)},f.mvhdBox.prototype.print=function(e){f.FullBox.prototype.printHeader.call(this,e),e.log(e.indent+"creation_time: "+this.creation_time),e.log(e.indent+"modification_time: "+this.modification_time),e.log(e.indent+"timescale: "+this.timescale),e.log(e.indent+"duration: "+this.duration),e.log(e.indent+"rate: "+this.rate),e.log(e.indent+"volume: "+(this.volume>>8)),e.log(e.indent+"matrix: "+this.matrix.join(", ")),e.log(e.indent+"next_track_id: "+this.next_track_id)},f.tkhdBox.prototype.print=function(e){f.FullBox.prototype.printHeader.call(this,e),e.log(e.indent+"creation_time: "+this.creation_time),e.log(e.indent+"modification_time: "+this.modification_time),e.log(e.indent+"track_id: "+this.track_id),e.log(e.indent+"duration: "+this.duration),e.log(e.indent+"volume: "+(this.volume>>8)),e.log(e.indent+"matrix: "+this.matrix.join(", ")),e.log(e.indent+"layer: "+this.layer),e.log(e.indent+"alternate_group: "+this.alternate_group),e.log(e.indent+"width: "+this.width),e.log(e.indent+"height: "+this.height)};var y={createFile:function(e,t){var r=void 0===e||e,i=new g(t);return i.discardMdatData=!r,i}};t.createFile=y.createFile}));function Gi(e){return e.reduce(((e,t)=>256*e+t))}function $i(e){const t=[101,103,119,99],r=e.length-28,i=e.slice(r,r+t.length);return t.every(((e,t)=>e===i[t]))}Oi.Log,Oi.MP4BoxStream,Oi.DataStream,Oi.MultiBufferStream,Oi.MPEG4DescriptorParser,Oi.BoxParser,Oi.XMLSubtitlein4Parser,Oi.Textin4Parser,Oi.ISOFile,Oi.createFile;class Hi{constructor(){this.s=null,this.a=null,this.l=0,this.c=0,this.u=1/0,this.A=!1,this.d=!1,this.r=4194304,this.n=new Uint8Array([30,158,90,33,244,57,83,165,2,70,35,87,215,231,226,108]),this.t=this.n.slice().reverse()}destroy(){this.s=null,this.a=null,this.l=0,this.c=0,this.u=1/0,this.A=!1,this.d=!1,this.r=4194304,this.n=null,this.t=null}transport(e){if(!this.s&&this.l>50)return e;if(this.l++,this.d)return e;const t=new Uint8Array(e);if(this.A){if(!(this.c<this.u))return this.a&&this.s?(this.a.set(t,this.r),this.s.parse(null,this.r,t.byteLength),this.a.slice(this.r,this.r+t.byteLength)):(console.error("video_error_2"),this.d=!0,e);$i(t)&&this.c++}else{const r=function(e,t){const r=function(e,t){for(let r=0;r<e.byteLength-t.length;r++)for(let i=0;i<t.length&&e[r+i]===t[i];i++)if(i===t.length-1)return r;return null}(e,t);if(r){const t=Gi(e.slice(r+16,r+16+8));return[t,Gi(e.slice(r+24,r+24+8)),function(e){return e.map((e=>~e))}(e.slice(r+32,r+32+t))]}return null}(t,this.t);if(!r)return e;const i=function(e){try{if("object"!=typeof WebAssembly||"function"!=typeof WebAssembly.instantiate)throw null;{const e=new WebAssembly.Module(Uint8Array.of(0,97,115,109,1,0,0,0));if(!(e instanceof WebAssembly.Module&&new WebAssembly.Instance(e)instanceof WebAssembly.Instance))throw null}}catch(e){return new Error("video_error_4")}let t;try{t={env:{__handle_stack_overflow:()=>e(new Error("video_error_1")),memory:new WebAssembly.Memory({initial:256,maximum:256})}}}catch(e){return new Error("video_error_5")}return t}(e);if(i instanceof Error)return console.error(i.message),this.d=!0,e;this.A=!0,this.u=r[1],$i(t)&&this.c++,WebAssembly.instantiate(r[2],i).then((e=>{if("function"!=typeof(t=e.instance.exports).parse||"object"!=typeof t.memory)return this.d=!0,void console.error("video_error_3");var t;this.s=e.instance.exports,this.a=new Uint8Array(this.s.memory.buffer)})).catch((e=>{this.d=!0,console.error("video_error_6")}))}return e}}const Vi=16,Wi=[214,144,233,254,204,225,61,183,22,182,20,194,40,251,44,5,43,103,154,118,42,190,4,195,170,68,19,38,73,134,6,153,156,66,80,244,145,239,152,122,51,84,11,67,237,207,172,98,228,179,28,169,201,8,232,149,128,223,148,250,117,143,63,166,71,7,167,252,243,115,23,186,131,89,60,25,230,133,79,168,104,107,129,178,113,100,218,139,248,235,15,75,112,86,157,53,30,36,14,94,99,88,209,162,37,34,124,59,1,33,120,135,212,0,70,87,159,211,39,82,76,54,2,231,160,196,200,158,234,191,138,210,64,199,56,181,163,247,242,206,249,97,21,161,224,174,93,164,155,52,26,85,173,147,50,48,245,140,177,227,29,246,226,46,130,102,202,96,192,41,35,171,13,83,78,111,213,219,55,69,222,253,142,47,3,255,106,114,109,108,91,81,141,27,175,146,187,221,188,127,17,217,92,65,31,16,90,216,10,193,49,136,165,205,123,189,45,116,208,18,184,229,180,176,137,105,151,74,12,150,119,126,101,185,241,9,197,110,198,132,24,240,125,236,58,220,77,32,121,238,95,62,215,203,57,72],ji=[462357,472066609,943670861,1415275113,1886879365,2358483617,2830087869,3301692121,3773296373,4228057617,404694573,876298825,1347903077,1819507329,2291111581,2762715833,3234320085,3705924337,4177462797,337322537,808926789,1280531041,1752135293,2223739545,2695343797,3166948049,3638552301,4110090761,269950501,741554753,1213159005,1684763257];function qi(e){const t=[];for(let r=0,i=e.length;r<i;r+=2)t.push(parseInt(e.substr(r,2),16));return t}function Yi(e){return e.map((e=>1===(e=e.toString(16)).length?"0"+e:e)).join("")}function Ki(e){const t=[];for(let r=0,i=e.length;r<i;r++){const i=e.codePointAt(r);if(i<=127)t.push(i);else if(i<=2047)t.push(192|i>>>6),t.push(128|63&i);else if(i<=55295||i>=57344&&i<=65535)t.push(224|i>>>12),t.push(128|i>>>6&63),t.push(128|63&i);else{if(!(i>=65536&&i<=1114111))throw t.push(i),new Error("input is not supported");r++,t.push(240|i>>>18&28),t.push(128|i>>>12&63),t.push(128|i>>>6&63),t.push(128|63&i)}}return t}function Xi(e){const t=[];for(let r=0,i=e.length;r<i;r++)e[r]>=240&&e[r]<=247?(t.push(String.fromCodePoint(((7&e[r])<<18)+((63&e[r+1])<<12)+((63&e[r+2])<<6)+(63&e[r+3]))),r+=3):e[r]>=224&&e[r]<=239?(t.push(String.fromCodePoint(((15&e[r])<<12)+((63&e[r+1])<<6)+(63&e[r+2]))),r+=2):e[r]>=192&&e[r]<=223?(t.push(String.fromCodePoint(((31&e[r])<<6)+(63&e[r+1]))),r++):t.push(String.fromCodePoint(e[r]));return t.join("")}function Zi(e,t){const r=31&t;return e<<r|e>>>32-r}function Ji(e){return(255&Wi[e>>>24&255])<<24|(255&Wi[e>>>16&255])<<16|(255&Wi[e>>>8&255])<<8|255&Wi[255&e]}function Qi(e){return e^Zi(e,2)^Zi(e,10)^Zi(e,18)^Zi(e,24)}function en(e){return e^Zi(e,13)^Zi(e,23)}function tn(e,t,r){const i=new Array(4),n=new Array(4);for(let t=0;t<4;t++)n[0]=255&e[4*t],n[1]=255&e[4*t+1],n[2]=255&e[4*t+2],n[3]=255&e[4*t+3],i[t]=n[0]<<24|n[1]<<16|n[2]<<8|n[3];for(let e,t=0;t<32;t+=4)e=i[1]^i[2]^i[3]^r[t+0],i[0]^=Qi(Ji(e)),e=i[2]^i[3]^i[0]^r[t+1],i[1]^=Qi(Ji(e)),e=i[3]^i[0]^i[1]^r[t+2],i[2]^=Qi(Ji(e)),e=i[0]^i[1]^i[2]^r[t+3],i[3]^=Qi(Ji(e));for(let e=0;e<16;e+=4)t[e]=i[3-e/4]>>>24&255,t[e+1]=i[3-e/4]>>>16&255,t[e+2]=i[3-e/4]>>>8&255,t[e+3]=255&i[3-e/4]}function rn(e,t,r){const i=new Array(4),n=new Array(4);for(let t=0;t<4;t++)n[0]=255&e[0+4*t],n[1]=255&e[1+4*t],n[2]=255&e[2+4*t],n[3]=255&e[3+4*t],i[t]=n[0]<<24|n[1]<<16|n[2]<<8|n[3];i[0]^=2746333894,i[1]^=1453994832,i[2]^=1736282519,i[3]^=2993693404;for(let e,r=0;r<32;r+=4)e=i[1]^i[2]^i[3]^ji[r+0],t[r+0]=i[0]^=en(Ji(e)),e=i[2]^i[3]^i[0]^ji[r+1],t[r+1]=i[1]^=en(Ji(e)),e=i[3]^i[0]^i[1]^ji[r+2],t[r+2]=i[2]^=en(Ji(e)),e=i[0]^i[1]^i[2]^ji[r+3],t[r+3]=i[3]^=en(Ji(e));if(0===r)for(let e,r=0;r<16;r++)e=t[r],t[r]=t[31-r],t[31-r]=e}function nn(e,t,r){let{padding:i="pkcs#7",mode:n,iv:o=[],output:s="string"}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if("cbc"===n&&("string"==typeof o&&(o=qi(o)),16!==o.length))throw new Error("iv is invalid");if("string"==typeof t&&(t=qi(t)),16!==t.length)throw new Error("key is invalid");if(e="string"==typeof e?0!==r?Ki(e):qi(e):[...e],("pkcs#5"===i||"pkcs#7"===i)&&0!==r){const t=Vi-e.length%Vi;for(let r=0;r<t;r++)e.push(t)}const a=new Array(32);rn(t,a,r);const d=[];let l=o,u=e.length,c=0;for(;u>=Vi;){const t=e.slice(c,c+16),i=new Array(16);if("cbc"===n)for(let e=0;e<Vi;e++)0!==r&&(t[e]^=l[e]);tn(t,i,a);for(let e=0;e<Vi;e++)"cbc"===n&&0===r&&(i[e]^=l[e]),d[c+e]=i[e];"cbc"===n&&(l=0!==r?i:t),u-=Vi,c+=Vi}if(("pkcs#5"===i||"pkcs#7"===i)&&0===r){const e=d.length,t=d[e-1];for(let r=1;r<=t;r++)if(d[e-r]!==t)throw new Error("padding is invalid");d.splice(e-t,t)}return"array"!==s?0!==r?Yi(d):Xi(d):d}function on(e){return e[3]|e[2]<<8|e[1]<<16|e[0]<<24}function sn(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const i=e.byteLength;let n=5;for(;n<i;){let o=on(e.slice(n,n+4));if(o>i)break;let s=e[n+4],a=!1;if(r?(s=s>>>1&63,a=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21].includes(s)):(s&=31,a=1===s||5===s),a){const r=nn(e.slice(n+4+2,n+4+o),t,0,{padding:"none",output:"array"});e.set(r,n+4+2)}n=n+4+o}return e}class an{on(e,t,r){const i=this.e||(this.e={});return(i[e]||(i[e]=[])).push({fn:t,ctx:r}),this}once(e,t,r){const i=this;function n(){i.off(e,n);for(var o=arguments.length,s=new Array(o),a=0;a<o;a++)s[a]=arguments[a];t.apply(r,s)}return n._=t,this.on(e,n,r)}emit(e){const t=((this.e||(this.e={}))[e]||[]).slice();for(var r=arguments.length,i=new Array(r>1?r-1:0),n=1;n<r;n++)i[n-1]=arguments[n];for(let e=0;e<t.length;e+=1)t[e].fn.apply(t[e].ctx,i);return this}off(e,t){const r=this.e||(this.e={});if(!e)return Object.keys(r).forEach((e=>{delete r[e]})),void delete this.e;const i=r[e],n=[];if(i&&t)for(let e=0,r=i.length;e<r;e+=1)i[e].fn!==t&&i[e].fn._!==t&&n.push(i[e]);return n.length?r[e]=n:delete r[e],this}}const dn={init:0,findFirstStartCode:1,findSecondStartCode:2};class ln extends an{constructor(e){super(),this.player=e,this.isDestroyed=!1,this.reset()}destroy(){this.isDestroyed=!1,this.off(),this.reset()}reset(){this.stats=dn.init,this.tempBuffer=new Uint8Array(0),this.parsedOffset=0,this.versionLayer=0}dispatch(e,t){let r=new Uint8Array(this.tempBuffer.length+e.length);for(r.set(this.tempBuffer,0),r.set(e,this.tempBuffer.length),this.tempBuffer=r;!this.isDestroyed;){if(this.state==dn.Init){let e=!1;for(;this.tempBuffer.length-this.parsedOffset>=2&&!this.isDestroyed;)if(255==this.tempBuffer[this.parsedOffset]){if(!(!1&this.tempBuffer[this.parsedOffset+1])){this.versionLayer=this.tempBuffer[this.parsedOffset+1],this.state=dn.findFirstStartCode,this.fisrtStartCodeOffset=this.parsedOffset,this.parsedOffset+=2,e=!0;break}this.parsedOffset++}else this.parsedOffset++;if(e)continue;break}if(this.state==dn.findFirstStartCode){let e=!1;for(;this.tempBuffer.length-this.parsedOffset>=2&&!this.isDestroyed;)if(255==this.tempBuffer[this.parsedOffset]){if(this.tempBuffer[this.parsedOffset+1]==this.versionLayer){this.state=dn.findSecondStartCode,this.secondStartCodeOffset=this.parsedOffset,this.parsedOffset+=2,e=!0;break}this.parsedOffset++}else this.parsedOffset++;if(e)continue;break}if(this.state==dn.findSecondStartCode){let e=this.tempBuffer.slice(this.fisrtStartCodeOffset,this.secondStartCodeOffset);this.emit("data",e,t),this.tempBuffer=this.tempBuffer.slice(this.secondStartCodeOffset),this.fisrtStartCodeOffset=0,this.parsedOffset=2,this.state=dn.findFirstStartCode}}}}function un(e,t,r){for(let i=2;i<e.length;++i){const n=i-2,o=t[n%t.length],s=r[n%r.length];e[i]=e[i]^o^s}return e}function cn(e){return e[3]|e[2]<<8|e[1]<<16|e[0]<<24}function fn(e,t,r){let i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];const n=e.byteLength;let o=5;for(;o<n;){let s=cn(e.slice(o,o+4));if(s>n)break;let a=e[o+4],d=!1;if(i?(a=a>>>1&63,d=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21].includes(a)):(a&=31,d=1===a||5===a),d){const i=un(e.slice(o+4,o+4+s),t,r);e.set(i,o+4)}o=o+4+s}return e}function hn(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];if((t=t.filter(Boolean)).length<2)return t[0];const i=new Uint8Array(t.reduce(((e,t)=>e+t.byteLength),0));let n=0;return t.forEach((e=>{i.set(e,n),n+=e.byteLength})),i}class pn{constructor(e){this.destroys=[],this.proxy=this.proxy.bind(this),this.master=e}proxy(e,t,r){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(!e)return;if(Array.isArray(t))return t.map((t=>this.proxy(e,t,r,i)));e.addEventListener(t,r,i);const n=()=>{ur(e.removeEventListener)&&e.removeEventListener(t,r,i)};return this.destroys.push(n),n}destroy(){this.master.debug&&this.master.debug.log("Events","destroy"),this.destroys.forEach((e=>e())),this.destroys=[]}}class mn{static init(){mn.types={avc1:[],avcC:[],hvc1:[],hvcC:[],av01:[],av1C:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],mvex:[],mvhd:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[],".mp3":[],Opus:[],dOps:[],"ac-3":[],dac3:[],"ec-3":[],dec3:[]};for(let e in mn.types)mn.types.hasOwnProperty(e)&&(mn.types[e]=[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)]);let e=mn.constants={};e.FTYP=new Uint8Array([105,115,111,109,0,0,0,1,105,115,111,109,97,118,99,49]),e.STSD_PREFIX=new Uint8Array([0,0,0,0,0,0,0,1]),e.STTS=new Uint8Array([0,0,0,0,0,0,0,0]),e.STSC=e.STCO=e.STTS,e.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),e.HDLR_VIDEO=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),e.HDLR_AUDIO=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]),e.DREF=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),e.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),e.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0])}static box(e){let t=8,r=null,i=Array.prototype.slice.call(arguments,1),n=i.length;for(let e=0;e<n;e++)t+=i[e].byteLength;r=new Uint8Array(t),r[0]=t>>>24&255,r[1]=t>>>16&255,r[2]=t>>>8&255,r[3]=255&t,r.set(e,4);let o=8;for(let e=0;e<n;e++)r.set(i[e],o),o+=i[e].byteLength;return r}static generateInitSegment(e){let t=mn.box(mn.types.ftyp,mn.constants.FTYP),r=mn.moov(e),i=new Uint8Array(t.byteLength+r.byteLength);return i.set(t,0),i.set(r,t.byteLength),i}static moov(e){let t=mn.mvhd(e.timescale,e.duration),r=mn.trak(e),i=mn.mvex(e);return mn.box(mn.types.moov,t,r,i)}static mvhd(e,t){return mn.box(mn.types.mvhd,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,e>>>24&255,e>>>16&255,e>>>8&255,255&e,t>>>24&255,t>>>16&255,t>>>8&255,255&t,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]))}static trak(e){return mn.box(mn.types.trak,mn.tkhd(e),mn.mdia(e))}static tkhd(e){let t=e.id,r=e.duration,i=e.presentWidth,n=e.presentHeight;return mn.box(mn.types.tkhd,new Uint8Array([0,0,0,7,0,0,0,0,0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t,0,0,0,0,r>>>24&255,r>>>16&255,r>>>8&255,255&r,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,i>>>8&255,255&i,0,0,n>>>8&255,255&n,0,0]))}static mdia(e){return mn.box(mn.types.mdia,mn.mdhd(e),mn.hdlr(e),mn.minf(e))}static mdhd(e){let t=e.timescale,r=e.duration;return mn.box(mn.types.mdhd,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t,r>>>24&255,r>>>16&255,r>>>8&255,255&r,85,196,0,0]))}static hdlr(e){let t=null;return t="audio"===e.type?mn.constants.HDLR_AUDIO:mn.constants.HDLR_VIDEO,mn.box(mn.types.hdlr,t)}static minf(e){let t=null;return t="audio"===e.type?mn.box(mn.types.smhd,mn.constants.SMHD):mn.box(mn.types.vmhd,mn.constants.VMHD),mn.box(mn.types.minf,t,mn.dinf(),mn.stbl(e))}static dinf(){return mn.box(mn.types.dinf,mn.box(mn.types.dref,mn.constants.DREF))}static stbl(e){return mn.box(mn.types.stbl,mn.stsd(e),mn.box(mn.types.stts,mn.constants.STTS),mn.box(mn.types.stsc,mn.constants.STSC),mn.box(mn.types.stsz,mn.constants.STSZ),mn.box(mn.types.stco,mn.constants.STCO))}static stsd(e){return"audio"===e.type?"mp3"===e.audioType?mn.box(mn.types.stsd,mn.constants.STSD_PREFIX,mn.mp3(e)):mn.box(mn.types.stsd,mn.constants.STSD_PREFIX,mn.mp4a(e)):"avc"===e.videoType?mn.box(mn.types.stsd,mn.constants.STSD_PREFIX,mn.avc1(e)):mn.box(mn.types.stsd,mn.constants.STSD_PREFIX,mn.hvc1(e))}static mp3(e){let t=e.channelCount,r=e.audioSampleRate,i=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,t,0,16,0,0,0,0,r>>>8&255,255&r,0,0]);return mn.box(mn.types[".mp3"],i)}static mp4a(e){let t=e.channelCount,r=e.audioSampleRate,i=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,t,0,16,0,0,0,0,r>>>8&255,255&r,0,0]);return mn.box(mn.types.mp4a,i,mn.esds(e))}static esds(e){let t=e.config||[],r=t.length,i=new Uint8Array([0,0,0,0,3,23+r,0,1,0,4,15+r,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([r]).concat(t).concat([6,1,2]));return mn.box(mn.types.esds,i)}static avc1(e){let t=e.avcc;const r=e.codecWidth,i=e.codecHeight;let n=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,r>>>8&255,255&r,i>>>8&255,255&i,0,72,0,0,0,72,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return mn.box(mn.types.avc1,n,mn.box(mn.types.avcC,t))}static hvc1(e){let t=e.avcc;const r=e.codecWidth,i=e.codecHeight;let n=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,r>>>8&255,255&r,i>>>8&255,255&i,0,72,0,0,0,72,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return mn.box(mn.types.hvc1,n,mn.box(mn.types.hvcC,t))}static mvex(e){return mn.box(mn.types.mvex,mn.trex(e))}static trex(e){let t=e.id,r=new Uint8Array([0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]);return mn.box(mn.types.trex,r)}static moof(e,t){return mn.box(mn.types.moof,mn.mfhd(e.sequenceNumber),mn.traf(e,t))}static mfhd(e){let t=new Uint8Array([0,0,0,0,e>>>24&255,e>>>16&255,e>>>8&255,255&e]);return mn.box(mn.types.mfhd,t)}static traf(e,t){let r=e.id,i=mn.box(mn.types.tfhd,new Uint8Array([0,0,0,0,r>>>24&255,r>>>16&255,r>>>8&255,255&r])),n=mn.box(mn.types.tfdt,new Uint8Array([0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t])),o=mn.sdtp(e),s=mn.trun(e,o.byteLength+16+16+8+16+8+8);return mn.box(mn.types.traf,i,n,s,o)}static sdtp(e){let t=new Uint8Array(5),r=e.flags;return t[4]=r.isLeading<<6|r.dependsOn<<4|r.isDependedOn<<2|r.hasRedundancy,mn.box(mn.types.sdtp,t)}static trun(e,t){let r=new Uint8Array(28);t+=36,r.set([0,0,15,1,0,0,0,1,t>>>24&255,t>>>16&255,t>>>8&255,255&t],0);let i=e.duration,n=e.size,o=e.flags,s=e.cts;return r.set([i>>>24&255,i>>>16&255,i>>>8&255,255&i,n>>>24&255,n>>>16&255,n>>>8&255,255&n,o.isLeading<<2|o.dependsOn,o.isDependedOn<<6|o.hasRedundancy<<4|o.isNonSync,0,0,s>>>24&255,s>>>16&255,s>>>8&255,255&s],12),mn.box(mn.types.trun,r)}static mdat(e){return mn.box(mn.types.mdat,e)}}mn.init();var _n,gn=Ot((function(e){e.exports=function(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e},e.exports.__esModule=!0,e.exports.default=e.exports}));(_n=gn)&&_n.__esModule&&Object.prototype.hasOwnProperty.call(_n,"default")&&_n.default;const yn=[44100,48e3,32e3,0],vn=[22050,24e3,16e3,0],bn=[11025,12e3,8e3,0],wn=[0,32,64,96,128,160,192,224,256,288,320,352,384,416,448,-1],Sn=[0,32,48,56,64,80,96,112,128,160,192,224,256,320,384,-1],En=[0,32,40,48,56,64,80,96,112,128,160,192,224,256,320,-1];function An(e){if(e.length<4)return void console.error("Invalid MP3 packet, header missing!");let t=new Uint8Array(e.buffer),r=null;if(255!==t[0])return void console.error("Invalid MP3 packet, first byte != 0xFF ");let i=t[1]>>>3&3,n=(6&t[1])>>1,o=(240&t[2])>>>4,s=(12&t[2])>>>2,a=3!==(t[3]>>>6&3)?2:1,d=0,l=0;switch(i){case 0:d=bn[s];break;case 2:d=vn[s];break;case 3:d=yn[s]}switch(n){case 1:o<En.length&&(l=En[o]);break;case 2:o<Sn.length&&(l=Sn[o]);break;case 3:o<wn.length&&(l=wn[o])}return r={bitRate:l,samplingRate:d,channelCount:a,codec:"mp3",originalCodec:"mp3",audioType:"mp3"},r}const xn=3,Bn=4,Un=6,kn=15,Tn=17,Cn=129,Dn=135,Pn=21,Fn=134,In=27,Ln=36;class Mn{constructor(){this.slices=[],this.total_length=0,this.expected_length=0,this.random_access_indicator=0}}class Rn{constructor(){this.pid=null,this.data=null,this.stream_type=null,this.random_access_indicator=null}}class zn{constructor(){this.pid=null,this.stream_id=null,this.len=null,this.data=null,this.pts=null,this.nearest_pts=null,this.dts=null}}const Nn=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];class On{constructor(){this.mimeType=null,this.duration=null,this.hasAudio=null,this.hasVideo=null,this.audioCodec=null,this.videoCodec=null,this.audioDataRate=null,this.videoDataRate=null,this.audioSampleRate=null,this.audioChannelCount=null,this.width=null,this.height=null,this.fps=null,this.profile=null,this.level=null,this.refFrames=null,this.chromaFormat=null,this.sarNum=null,this.sarDen=null,this.metadata=null,this.segments=null,this.segmentCount=null,this.hasKeyframesIndex=null,this.keyframesIndex=null}isComplete(){let e=!1===this.hasAudio||!0===this.hasAudio&&null!=this.audioCodec&&null!=this.audioSampleRate&&null!=this.audioChannelCount,t=!1===this.hasVideo||!0===this.hasVideo&&null!=this.videoCodec&&null!=this.width&&null!=this.height&&null!=this.fps&&null!=this.profile&&null!=this.level&&null!=this.refFrames&&null!=this.chromaFormat&&null!=this.sarNum&&null!=this.sarDen;return null!=this.mimeType&&e&&t}isSeekable(){return!0===this.hasKeyframesIndex}getNearestKeyframe(e){if(null==this.keyframesIndex)return null;let t=this.keyframesIndex,r=this._search(t.times,e);return{index:r,milliseconds:t.times[r],fileposition:t.filepositions[r]}}_search(e,t){let r=0,i=e.length-1,n=0,o=0,s=i;for(t<e[0]&&(r=0,o=s+1);o<=s;){if(n=o+Math.floor((s-o)/2),n===i||t>=e[n]&&t<e[n+1]){r=n;break}e[n]<t?o=n+1:s=n-1}return r}}class Gn{constructor(e){let t=null,r=e.audio_object_type,i=e.audio_object_type,n=e.sampling_freq_index,o=e.channel_config,s=0,a=navigator.userAgent.toLowerCase();-1!==a.indexOf("firefox")?n>=6?(i=5,t=new Array(4),s=n-3):(i=2,t=new Array(2),s=n):-1!==a.indexOf("android")?(i=2,t=new Array(2),s=n):(i=5,s=n,t=new Array(4),n>=6?s=n-3:1===o&&(i=2,t=new Array(2),s=n)),t[0]=i<<3,t[0]|=(15&n)>>>1,t[1]=(15&n)<<7,t[1]|=(15&o)<<3,5===i&&(t[1]|=(15&s)>>>1,t[2]=(1&s)<<7,t[2]|=8,t[3]=0),this.config=t,this.sampling_rate=Nn[n],this.sampling_index=n,this.channel_count=o,this.object_type=i,this.original_object_type=r,this.codec_mimetype="mp4a.40."+i,this.original_codec_mimetype="mp4a.40."+r}}Date.now||(Date.now=function(){return(new Date).getTime()});const $n=[];$n.push(s({printErr:function(e){console.warn("JbPro[❌❌❌][worker]:",e)}}),o({printErr:function(e){console.warn("JbPro[❌❌❌][worker]:",e)}})),Promise.all($n).then((e=>{const t=e[0];!function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=[],n=[],o={},s=new AbortController,a=null,d=null,l=null,u=null,c=!1,f=null,h=null,S=!1,E=!1,U=!!yr(r),be=!1,we=null,Ve=null,Xe=null,st=[],ht=null,pt=null,mt=0,_t=0,Et=null,At=null,Ut=0,Nt=0,Ot=!1,Gt=!1,$t=!1,Ht=null,Yt=null,Jt=null,nr=!1,wr=!0,Sr=()=>{const e=_r();return{debug:e.debug,debugLevel:e.debugLevel,debugUuid:e.debugUuid,useOffscreen:e.useOffscreen,useWCS:e.useWCS,useMSE:e.useMSE,videoBuffer:e.videoBuffer,videoBufferDelay:e.videoBufferDelay,openWebglAlignment:e.openWebglAlignment,playType:e.playType,hasAudio:e.hasAudio,hasVideo:e.hasVideo,playbackRate:1,playbackForwardMaxRateDecodeIFrame:e.playbackForwardMaxRateDecodeIFrame,playbackIsCacheBeforeDecodeForFpsRender:e.playbackConfig.isCacheBeforeDecodeForFpsRender,sampleRate:0,networkDelay:e.networkDelay,visibility:!0,useSIMD:e.useSIMD,isRecording:!1,recordType:e.recordType,isNakedFlow:e.isNakedFlow,checkFirstIFrame:e.checkFirstIFrame,audioBufferSize:1024,isM7sCrypto:e.isM7sCrypto,m7sCryptoAudio:e.m7sCryptoAudio,cryptoKey:e.cryptoKey,cryptoIV:e.cryptoIV,isSm4Crypto:e.isSm4Crypto,sm4CryptoKey:e.sm4CryptoKey,isXorCrypto:e.isXorCrypto,isHls265:!1,isFlv:e.isFlv,isFmp4:e.isFmp4,isMpeg4:e.isMpeg4,isTs:e.isTs,isFmp4Private:e.isFmp4Private,isEmitSEI:e.isEmitSEI,isRecordTypeFlv:!1,isWasmMp4:!1,isChrome:!1,isDropSameTimestampGop:e.isDropSameTimestampGop,mseDecodeAudio:e.mseDecodeAudio,nakedFlowH265DemuxUseNew:e.nakedFlowH265DemuxUseNew,mseDecoderUseWorker:e.mseDecoderUseWorker,mseAutoCleanupSourceBuffer:e.mseAutoCleanupSourceBuffer,mseAutoCleanupMaxBackwardDuration:e.mseAutoCleanupMaxBackwardDuration,mseAutoCleanupMinBackwardDuration:e.mseAutoCleanupMinBackwardDuration,mseCorrectTimeDuration:e.mseCorrectTimeDuration,mseCorrectAudioTimeDuration:e.mseCorrectAudioTimeDuration}};"VideoEncoder"in self&&(o={hasInit:!1,isEmitInfo:!1,offscreenCanvas:null,offscreenCanvasCtx:null,decoder:new VideoDecoder({output:function(e){if(o.isEmitInfo||(ii.debug.log("worker","Webcodecs Video Decoder initSize"),postMessage({cmd:T,w:e.codedWidth,h:e.codedHeight}),o.isEmitInfo=!0,o.offscreenCanvas=new OffscreenCanvas(e.codedWidth,e.codedHeight),o.offscreenCanvasCtx=o.offscreenCanvas.getContext("2d")),ur(e.createImageBitmap))e.createImageBitmap().then((t=>{o.offscreenCanvasCtx.drawImage(t,0,0,e.codedWidth,e.codedHeight);let r=o.offscreenCanvas.transferToImageBitmap();postMessage({cmd:C,buffer:r,delay:ii.delay,ts:0},[r]),hr(e)}));else{o.offscreenCanvasCtx.drawImage(e,0,0,e.codedWidth,e.codedHeight);let t=o.offscreenCanvas.transferToImageBitmap();postMessage({cmd:C,buffer:t,delay:ii.delay,ts:0},[t]),hr(e)}},error:function(e){ii.debug.error("worker","VideoDecoder error",e)}}),decode:function(e,t,r){const i=e[0]>>4==1;if(o.hasInit){const r=new EncodedVideoChunk({data:e.slice(5),timestamp:t,type:i?lt:ut});o.decoder.decode(r)}else if(i&&0===e[1]){const t=15&e[0];postMessage({cmd:M,code:t});const r=new Uint8Array(e);postMessage({cmd:R,buffer:r,codecId:t},[r.buffer]);let i=null,n=null;const s=e.slice(5);t===Fe?(n=Tr(s),i={codec:n.codec,description:s}):t===Ie&&(n=Wr(s),i={codec:n.codec,description:s}),n&&n.codecWidth&&n.codecHeight&&(i.codedHeight=n.codecHeight,i.codedWidth=n.codecWidth);try{o.decoder.configure(i),o.hasInit=!0}catch(e){ii.debug.log("worker","VideoDecoder configure error",e.code,e)}}},reset(){o.hasInit=!1,o.isEmitInfo=!1,o.offscreenCanvas=null,o.offscreenCanvasCtx=null}});let Er=function(){if(nr=!0,ii.fetchStatus!==Ct||vr(ii._opt.isChrome)){if(s)try{s.abort(),s=null}catch(e){ii.debug.log("worker","abort catch",e)}}else s=null,ii.debug.log("worker",`abort() and not abortController.abort() _status is ${ii.fetchStatus} and _isChrome is ${ii._opt.isChrome}`)},Ar={init(){Ar.lastBuf=null,Ar.vps=null,Ar.sps=null,Ar.pps=null,Ar.streamType=null,Ar.localDts=0,Ar.isSendSeqHeader=!1},destroy(){Ar.lastBuf=null,Ar.vps=null,Ar.sps=null,Ar.pps=null,Ar.streamType=null,Ar.localDts=0,Ar.isSendSeqHeader=!1},dispatch(e){const t=new Uint8Array(e);Ar.extractNALu$2(t)},getNaluDts(){let e=Ar.localDts;return Ar.localDts=Ar.localDts+40,e},getNaluAudioDts(){const e=ii._opt.sampleRate,t=ii._opt.audioBufferSize;return Ar.localDts+parseInt(t/e*1e3)},extractNALu(e){let t,r,i=0,n=e.byteLength,o=0,s=[];for(;i<n;)switch(t=e[i++],o){case 0:0===t&&(o=1);break;case 1:o=0===t?2:0;break;case 2:case 3:0===t?o=3:1===t&&i<n?(r&&s.push(e.subarray(r,i-o-1)),r=i,o=0):o=0}return r&&s.push(e.subarray(r,n)),s},extractNALu$2(e){let t=null;if(!e||e.byteLength<1)return;Ar.lastBuf?(t=new Uint8Array(e.byteLength+Ar.lastBuf.length),t.set(Ar.lastBuf),t.set(new Uint8Array(e),Ar.lastBuf.length)):t=new Uint8Array(e);let r=0,i=-1,n=-2;const o=new Array;for(let e=0;e<t.length;e+=2){const r=t[e],s=t[e+1];0==i&&0==r&&0==s?o.push(e-1):1==s&&0==r&&0==i&&0==n&&o.push(e-2),n=r,i=s}if(o.length>1)for(let e=0;e<o.length-1;++e){const i=t.subarray(o[e],o[e+1]+1);Ar.handleNALu(i),r=o[e+1]}else r=o[0];if(0!=r&&r<t.length)Ar.lastBuf=t.subarray(r);else{Ar.lastBuf||(Ar.lastBuf=t);const r=new Uint8Array(Ar.lastBuf.length+e.byteLength);r.set(Ar.lastBuf),r.set(new Uint8Array(e),Ar.lastBuf.length),Ar.lastBuf=r}},handleNALu(e){e.byteLength<=4?ii.debug.warn("worker",`handleNALu nalu byteLength is ${e.byteLength} <= 4`):(e=e.slice(4),Ar.handleVideoNalu(e))},handleVideoNalu(e){if(Ar.streamType||(Ar.streamType=cr(e),Ht=Ar.streamType===Re),Ar.streamType===Me){const t=Ar.handleAddNaluStartCode(e),r=Ar.extractNALu(t);if(0===r.length)return void ii.debug.warn("worker","handleVideoNalu","h264 naluList.length === 0");const i=[];if(r.forEach((e=>{const t=Ir(e);t===He||t===$e?Ar.handleVideoH264Nalu(e):Mr(t)&&i.push(e)})),1===i.length)Ar.handleVideoH264Nalu(i[0]);else if(zr(i)){const e=Ir(i[0]),t=Rr(e);Ar.handleVideoH264NaluList(i,t,e)}else i.forEach((e=>{Ar.handleVideoH264Nalu(e)}))}else if(Ar.streamType===Re)if(ii._opt.nakedFlowH265DemuxUseNew){const t=Ar.handleAddNaluStartCode(e),r=Ar.extractNALu(t);if(0===r.length)return void ii.debug.warn("worker","handleVideoNalu","h265 naluList.length === 0");const i=[];if(r.forEach((e=>{const t=Xr(e);t===nt||t===rt||t===et?Ar.handleVideoH265Nalu(e):Jr(t)&&i.push(e)})),1===i.length)Ar.handleVideoH265Nalu(i[0]);else if(ei(i)){const e=Xr(i[0]),t=Qr(e);Ar.handleVideoH265NaluList(i,t,e)}else i.forEach((e=>{Ar.handleVideoH265Nalu(e)}))}else Xr(e)===nt?Ar.extractH265PPS(e):Ar.handleVideoH265Nalu(e)},extractH264PPS(e){const t=Ar.handleAddNaluStartCode(e);Ar.extractNALu(t).forEach((e=>{Lr(Ir(e))?Ar.extractH264SEI(e):Ar.handleVideoH264Nalu(e)}))},extractH265PPS(e){const t=Ar.handleAddNaluStartCode(e);Ar.extractNALu(t).forEach((e=>{Zr(Xr(e))?Ar.extractH265SEI(e):Ar.handleVideoH265Nalu(e)}))},extractH264SEI(e){const t=Ar.handleAddNaluStartCode(e);Ar.extractNALu(t).forEach((e=>{Ar.handleVideoH264Nalu(e)}))},extractH265SEI(e){const t=Ar.handleAddNaluStartCode(e);Ar.extractNALu(t).forEach((e=>{Ar.handleVideoH265Nalu(e)}))},handleAddNaluStartCode(e){const t=[0,0,0,1],r=new Uint8Array(e.length+t.length);return r.set(t),r.set(e,t.length),r},handleVideoH264Nalu(e){const t=Ir(e);switch(t){case $e:Ar.sps=e;break;case He:Ar.pps=e}if(Ar.isSendSeqHeader){if(Ar.sps&&Ar.pps){const e=Cr({sps:Ar.sps,pps:Ar.pps}),t=Ar.getNaluDts();ii.decode(e,{type:se,ts:t,isIFrame:!0,cts:0}),Ar.sps=null,Ar.pps=null}if(Mr(t)){const r=Rr(t),i=Ar.getNaluDts(),n=Pr(e,r);Ar.doDecode(n,{type:se,ts:i,isIFrame:r,cts:0})}else ii.debug.warn("work",`handleVideoH264Nalu Avc Seq Head is ${t}`)}else if(Ar.sps&&Ar.pps){Ar.isSendSeqHeader=!0;const e=Cr({sps:Ar.sps,pps:Ar.pps});ii.decode(e,{type:se,ts:0,isIFrame:!0,cts:0}),Ar.sps=null,Ar.pps=null}},handleVideoH264NaluList(e,t,r){if(Ar.isSendSeqHeader){const i=Ar.getNaluDts(),n=Fr(e.reduce(((e,t)=>{const r=er(e),i=er(t),n=new Uint8Array(r.byteLength+i.byteLength);return n.set(r,0),n.set(i,r.byteLength),n})),t);Ar.doDecode(n,{type:se,ts:i,isIFrame:t,cts:0}),ii.debug.log("worker",`handleVideoH264NaluList list size is ${e.length} package length is ${n.byteLength} isIFrame is ${t},nalu type is ${r}, dts is ${i}`)}else ii.debug.warn("worker","handleVideoH264NaluList isSendSeqHeader is false")},handleVideoH265Nalu(e){const t=Xr(e);switch(t){case et:Ar.vps=e;break;case rt:Ar.sps=e;break;case nt:Ar.pps=e}if(Ar.isSendSeqHeader){if(Ar.vps&&Ar.sps&&Ar.pps){const e=qr({vps:Ar.vps,sps:Ar.sps,pps:Ar.pps}),t=Ar.getNaluDts();ii.decode(e,{type:se,ts:t,isIFrame:!0,cts:0}),Ar.vps=null,Ar.sps=null,Ar.pps=null}if(Jr(t)){const r=Qr(t),i=Ar.getNaluDts(),n=Yr(e,r);Ar.doDecode(n,{type:se,ts:i,isIFrame:r,cts:0})}else ii.debug.warn("work",`handleVideoH265Nalu HevcSeqHead is ${t}`)}else if(Ar.vps&&Ar.sps&&Ar.pps){Ar.isSendSeqHeader=!0;const e=qr({vps:Ar.vps,sps:Ar.sps,pps:Ar.pps});ii.decode(e,{type:se,ts:0,isIFrame:!0,cts:0}),Ar.vps=null,Ar.sps=null,Ar.pps=null}},handleVideoH265NaluList(e,t,r){if(Ar.isSendSeqHeader){const i=Ar.getNaluDts(),n=Kr(e.reduce(((e,t)=>{const r=er(e),i=er(t),n=new Uint8Array(r.byteLength+i.byteLength);return n.set(r,0),n.set(i,r.byteLength),n})),t);Ar.doDecode(n,{type:se,ts:i,isIFrame:t,cts:0}),ii.debug.log("worker",`handleVideoH265NaluList list size is ${e.length} package length is ${n.byteLength} isIFrame is ${t},nalu type is ${r}, dts is ${i}`)}else ii.debug.warn("worker","handleVideoH265NaluList isSendSeqHeader is false")},doDecode(e,t){ii.calcNetworkDelay(t.ts),t.isIFrame&&ii.calcIframeIntervalTimestamp(t.ts),ii.decode(e,t)}},kr={LOG_NAME:"worker fmp4Demuxer",mp4Box:null,offset:0,videoTrackId:null,audioTrackId:null,isHevc:!1,listenMp4Box(){kr.mp4Box=Oi.createFile(),kr.mp4Box.onReady=kr.onReady,kr.mp4Box.onError=kr.onError,kr.mp4Box.onSamples=kr.onSamples},initTransportDescarmber(){kr.transportDescarmber=new Hi},_getSeqHeader(e){const t=kr.mp4Box.getTrackById(e.id);for(const e of t.mdia.minf.stbl.stsd.entries)if(e.avcC||e.hvcC){const t=new Oi.DataStream(void 0,0,Oi.DataStream.BIG_ENDIAN);let r=[];e.avcC?(e.avcC.write(t),r=[23,0,0,0,0]):(kr.isHevc=!0,Ht=!0,e.hvcC.write(t),r=[28,0,0,0,0]);const i=new Uint8Array(t.buffer,8),n=new Uint8Array(r.length+i.length);return n.set(r,0),n.set(i,r.length),n}return null},onReady(e){ii.debug.log(kr.LOG_NAME,"onReady()");const t=e.videoTracks[0],r=e.audioTracks[0];if(t){kr.videoTrackId=t.id;const e=kr._getSeqHeader(t);e&&(ii.debug.log(kr.LOG_NAME,"seqHeader"),ii.decodeVideo(e,0,!0,0)),kr.mp4Box.setExtractionOptions(t.id)}if(r&&ii._opt.hasAudio){kr.audioTrackId=r.id;const e=r.audio||{},t=Vt.indexOf(e.sample_rate),i=r.codec.replace("mp4a.40.","");kr.mp4Box.setExtractionOptions(r.id);const n=Wt({profile:parseInt(i,10),sampleRate:t,channel:e.channel_count});ii.debug.log(kr.LOG_NAME,"aacADTSHeader"),ii.decodeAudio(n,0)}kr.mp4Box.start()},onError(e){ii.debug.error(kr.LOG_NAME,"mp4Box onError",e)},onSamples(e,t,r){if(e===kr.videoTrackId)for(const t of r){const r=t.data,i=t.is_sync,n=1e3*t.cts/t.timescale;t.duration,t.timescale,i&&ii.calcIframeIntervalTimestamp(n);let o=null;o=kr.isHevc?Kr(r,i):Fr(r,i),ii.decode(o,{type:se,ts:n,isIFrame:i,cts:0}),kr.mp4Box.releaseUsedSamples(e,t.number)}else if(e===kr.audioTrackId){if(ii._opt.hasAudio)for(const t of r){const r=t.data,i=1e3*t.cts/t.timescale;t.duration,t.timescale;const n=new Uint8Array(r.byteLength+2);n.set([175,1],0),n.set(r,2),ii.decode(n,{type:oe,ts:i,isIFrame:!1,cts:0}),kr.mp4Box.releaseUsedSamples(e,t.number)}}else ii.debug.warn(kr.LOG_NAME,"onSamples() trackId error",e)},dispatch(e){let t=new Uint8Array(e);kr.transportDescarmber&&(t=kr.transportDescarmber.transport(t)),t.buffer.fileStart=kr.offset,kr.offset+=t.byteLength,kr.mp4Box.appendBuffer(t.buffer)},destroy(){kr.mp4Box&&(kr.mp4Box.stop(),kr.mp4Box.flush(),kr.mp4Box.destroy(),kr.mp4Box=null),kr.transportDescarmber&&(kr.transportDescarmber.destroy(),kr.transportDescarmber=null),kr.offset=0,kr.videoTrackId=null,kr.audioTrackId=null,kr.isHevc=!1}},Gr={LOG_NAME:"worker mpeg4Demuxer",lastBuffer:new Uint8Array(0),parsedOffset:0,firstStartCodeOffset:0,secondStartCodeOffset:0,state:"init",hasInitVideoCodec:!1,localDts:0,dispatch(e){const t=new Uint8Array(e);Gr.extractNALu(t)},destroy(){Gr.lastBuffer=new Uint8Array(0),Gr.parsedOffset=0,Gr.firstStartCodeOffset=0,Gr.secondStartCodeOffset=0,Gr.state="init",Gr.hasInitVideoCodec=!1,Gr.localDts=0},extractNALu(e){if(!e||e.byteLength<1)return void ii.debug.warn(Gr.LOG_NAME,"extractNALu() buffer error",e);const t=new Uint8Array(Gr.lastBuffer.length+e.length);for(t.set(Gr.lastBuffer,0),t.set(new Uint8Array(e),Gr.lastBuffer.length),Gr.lastBuffer=t;;){if("init"===Gr.state){let e=!1;for(;Gr.lastBuffer.length-Gr.parsedOffset>=4;)if(0===Gr.lastBuffer[Gr.parsedOffset])if(0===Gr.lastBuffer[Gr.parsedOffset+1])if(1===Gr.lastBuffer[Gr.parsedOffset+2]){if(182===Gr.lastBuffer[Gr.parsedOffset+3]){Gr.state="findFirstStartCode",Gr.firstStartCodeOffset=Gr.parsedOffset,Gr.parsedOffset+=4,e=!0;break}Gr.parsedOffset++}else Gr.parsedOffset++;else Gr.parsedOffset++;else Gr.parsedOffset++;if(e)continue;break}if("findFirstStartCode"===Gr.state){let e=!1;for(;Gr.lastBuffer.length-Gr.parsedOffset>=4;)if(0===Gr.lastBuffer[Gr.parsedOffset])if(0===Gr.lastBuffer[Gr.parsedOffset+1])if(1===Gr.lastBuffer[Gr.parsedOffset+2]){if(182===Gr.lastBuffer[Gr.parsedOffset+3]){Gr.state="findSecondStartCode",Gr.secondStartCodeOffset=Gr.parsedOffset,Gr.parsedOffset+=4,e=!0;break}Gr.parsedOffset++}else Gr.parsedOffset++;else Gr.parsedOffset++;else Gr.parsedOffset++;if(e)continue;break}if("findSecondStartCode"===Gr.state){if(!(Gr.lastBuffer.length-Gr.parsedOffset>0))break;{let e,t,r=192&Gr.lastBuffer[Gr.parsedOffset];e=0==r?Gr.secondStartCodeOffset-14:Gr.secondStartCodeOffset;let i=0==(192&Gr.lastBuffer[Gr.firstStartCodeOffset+4]);if(i){if(Gr.firstStartCodeOffset-14<0)return void ii.debug.warn(Gr.LOG_NAME,"firstStartCodeOffset -14 is",Gr.firstStartCodeOffset-14);Gr.hasInitVideoCodec||(Gr.hasInitVideoCodec=!0,ii.debug.log(Gr.LOG_NAME,"setCodec"),oi.setCodec(Le,"")),t=Gr.lastBuffer.subarray(Gr.firstStartCodeOffset-14,e)}else t=Gr.lastBuffer.subarray(Gr.firstStartCodeOffset,e);let n=Gr.getNaluDts();Gr.hasInitVideoCodec?(postMessage({cmd:G,type:xe,value:t.byteLength}),postMessage({cmd:G,type:Be,value:n}),oi.decode(t,i?1:0,n)):ii.debug.warn(Gr.LOG_NAME,"has not init video codec"),Gr.lastBuffer=Gr.lastBuffer.subarray(e),Gr.firstStartCodeOffset=0==r?14:0,Gr.parsedOffset=Gr.firstStartCodeOffset+4,Gr.state="findFirstStartCode"}}}},getNaluDts(){let e=Gr.localDts;return Gr.localDts=Gr.localDts+40,e}},$r={TAG_NAME:"worker TsLoaderV2",first_parse_:!0,tsPacketSize:0,syncOffset:0,pmt_:null,config_:null,media_info_:new On,timescale_:90,duration_:0,pat_:{version_number:0,network_pid:0,program_map_pid:{}},current_program_:null,current_pmt_pid_:-1,program_pmt_map_:{},pes_slice_queues_:{},section_slice_queues_:{},video_metadata_:{vps:null,sps:null,pps:null,details:null},audio_metadata_:{codec:null,audio_object_type:null,sampling_freq_index:null,sampling_frequency:null,channel_config:null},last_pcr_:null,audio_last_sample_pts_:void 0,aac_last_incomplete_data_:null,has_video_:!1,has_audio_:!1,video_init_segment_dispatched_:!1,audio_init_segment_dispatched_:!1,video_metadata_changed_:!1,audio_metadata_changed_:!1,loas_previous_frame:null,video_track_:{type:"video",id:1,sequenceNumber:0,samples:[],length:0},audio_track_:{type:"audio",id:2,sequenceNumber:0,samples:[],length:0},_remainingPacketData:null,init(){},destroy(){$r.media_info_=null,$r.pes_slice_queues_=null,$r.section_slice_queues_=null,$r.video_metadata_=null,$r.audio_metadata_=null,$r.aac_last_incomplete_data_=null,$r.video_track_=null,$r.audio_track_=null,$r._remainingPacketData=null},probe(e){let t=new Uint8Array(e),r=-1,i=188;if(t.byteLength<=3*i)return{needMoreData:!0};for(;-1===r;){let e=Math.min(1e3,t.byteLength-3*i);for(let n=0;n<e;){if(71===t[n]&&71===t[n+i]&&71===t[n+2*i]){r=n;break}n++}if(-1===r)if(188===i)i=192;else{if(192!==i)break;i=204}}return-1===r?{match:!1}:(192===i&&r>=4&&(r-=4),{match:!0,consumed:0,ts_packet_size:i,sync_offset:r})},_initPmt:()=>({program_number:0,version_number:0,pcr_pid:0,pid_stream_type:{},common_pids:{h264:void 0,h265:void 0,adts_aac:void 0,loas_aac:void 0,opus:void 0,ac3:void 0,eac3:void 0,mp3:void 0},pes_private_data_pids:{},timed_id3_pids:{},synchronous_klv_pids:{},asynchronous_klv_pids:{},scte_35_pids:{},smpte2038_pids:{}}),dispatch(e){$r._remainingPacketData&&(e=hn($r._remainingPacketData,e),$r._remainingPacketData=null);let t=e.buffer;const r=$r.parseChunks(t);r?$r._remainingPacketData=e.subarray(r):e.length<this.tsPacketSize&&($r._remainingPacketData=e)},parseChunks(e){let t=0;if($r.first_parse_){$r.first_parse_=!1;const r=$r.probe(e);r.match&&($r.tsPacketSize=r.ts_packet_size,$r.syncOffset=r.sync_offset),t=$r.syncOffset,ii.debug.log($r.TAG_NAME,`isFirstDispatch and tsPacketSize = ${$r.tsPacketSize}, syncOffset = ${$r.syncOffset}`)}for(;t+$r.tsPacketSize<=e.byteLength;){192===$r.tsPacketSize&&(t+=4);const r=new Uint8Array(e,t,188);let i=r[0];if(71!==i){ii.debug.warn($r.TAG_NAME,`sync_byte = ${i}, not 0x47`);break}let n=(64&r[1])>>>6;r[1];let o=(31&r[1])<<8|r[2],s=(48&r[3])>>>4,a=15&r[3],d=!(!$r.pmt_||$r.pmt_.pcr_pid!==o),l={},u=4;if(2==s||3==s){let e=r[4];if(e>0&&(d||3==s)&&(l.discontinuity_indicator=(128&r[5])>>>7,l.random_access_indicator=(64&r[5])>>>6,l.elementary_stream_priority_indicator=(32&r[5])>>>5,(16&r[5])>>>4)){let e=300*(r[6]<<25|r[7]<<17|r[8]<<9|r[9]<<1|r[10]>>>7)+((1&r[10])<<8|r[11]);$r.last_pcr_=e}if(2==s||5+e===188){t+=188,204===$r.tsPacketSize&&(t+=16);continue}u=5+e}if(1==s||3==s)if(0===o||o===$r.current_pmt_pid_||null!=$r.pmt_&&$r.pmt_.pid_stream_type[o]===Fn){let r=188-u;$r.handleSectionSlice(e,t+u,r,{pid:o,payload_unit_start_indicator:n,continuity_conunter:a,random_access_indicator:l.random_access_indicator})}else if(null!=$r.pmt_&&null!=$r.pmt_.pid_stream_type[o]){let r=188-u,i=$r.pmt_.pid_stream_type[o];o!==$r.pmt_.common_pids.h264&&o!==$r.pmt_.common_pids.h265&&o!==$r.pmt_.common_pids.adts_aac&&o!==$r.pmt_.common_pids.loas_aac&&o!==$r.pmt_.common_pids.ac3&&o!==$r.pmt_.common_pids.eac3&&o!==$r.pmt_.common_pids.opus&&o!==$r.pmt_.common_pids.mp3&&!0!==$r.pmt_.pes_private_data_pids[o]&&!0!==$r.pmt_.timed_id3_pids[o]&&!0!==$r.pmt_.synchronous_klv_pids[o]&&!0!==$r.pmt_.asynchronous_klv_pids[o]||$r.handlePESSlice(e,t+u,r,{pid:o,stream_type:i,payload_unit_start_indicator:n,continuity_conunter:a,random_access_indicator:l.random_access_indicator})}t+=188,204===$r.tsPacketSize&&(t+=16)}return $r.dispatchAudioVideoMediaSegment(),t},handleSectionSlice(e,t,r,i){let n=new Uint8Array(e,t,r),o=$r.section_slice_queues_[i.pid];if(i.payload_unit_start_indicator){let s=n[0];if(null!=o&&0!==o.total_length){let n=new Uint8Array(e,t+1,Math.min(r,s));o.slices.push(n),o.total_length+=n.byteLength,o.total_length===o.expected_length?$r.emitSectionSlices(o,i):$r.clearSlices(o,i)}for(let a=1+s;a<n.byteLength&&255!==n[a+0];){let s=(15&n[a+1])<<8|n[a+2];$r.section_slice_queues_[i.pid]=new Mn,o=$r.section_slice_queues_[i.pid],o.expected_length=s+3,o.random_access_indicator=i.random_access_indicator;let d=new Uint8Array(e,t+a,Math.min(r-a,o.expected_length-o.total_length));o.slices.push(d),o.total_length+=d.byteLength,o.total_length===o.expected_length?$r.emitSectionSlices(o,i):o.total_length>=o.expected_length&&$r.clearSlices(o,i),a+=d.byteLength}}else if(null!=o&&0!==o.total_length){let n=new Uint8Array(e,t,Math.min(r,o.expected_length-o.total_length));o.slices.push(n),o.total_length+=n.byteLength,o.total_length===o.expected_length?$r.emitSectionSlices(o,i):o.total_length>=o.expected_length&&$r.clearSlices(o,i)}},handlePESSlice(e,t,r,i){let n=new Uint8Array(e,t,r),o=n[0]<<16|n[1]<<8|n[2];n[3];let s=n[4]<<8|n[5];if(i.payload_unit_start_indicator){if(1!==o)return void ii.debug.warn($r.TAG_NAME,`handlePESSlice: packet_start_code_prefix should be 1 but with value ${o}`);let e=$r.pes_slice_queues_[i.pid];e&&(0===e.expected_length||e.expected_length===e.total_length?$r.emitPESSlices(e,i):$r.clearSlices(e,i)),$r.pes_slice_queues_[i.pid]=new Mn,$r.pes_slice_queues_[i.pid].random_access_indicator=i.random_access_indicator}if(null==$r.pes_slice_queues_[i.pid])return;let a=$r.pes_slice_queues_[i.pid];a.slices.push(n),i.payload_unit_start_indicator&&(a.expected_length=0===s?0:s+6),a.total_length+=n.byteLength,a.expected_length>0&&a.expected_length===a.total_length?$r.emitPESSlices(a,i):a.expected_length>0&&a.expected_length<a.total_length&&$r.clearSlices(a,i)},emitSectionSlices(e,t){let r=new Uint8Array(e.total_length);for(let t=0,i=0;t<e.slices.length;t++){let n=e.slices[t];r.set(n,i),i+=n.byteLength}e.slices=[],e.expected_length=-1,e.total_length=0;let i={};i.pid=t.pid,i.data=r,i.file_position=e.file_position,i.random_access_indicator=e.random_access_indicator,$r.parseSection(i)},emitPESSlices(e,t){let r=new Uint8Array(e.total_length);for(let t=0,i=0;t<e.slices.length;t++){let n=e.slices[t];r.set(n,i),i+=n.byteLength}e.slices=[],e.expected_length=-1,e.total_length=0;let i=new Rn;i.pid=t.pid,i.data=r,i.stream_type=t.stream_type,i.random_access_indicator=e.random_access_indicator,$r.parsePES(i)},clearSlices(e){e.slices=[],e.expected_length=-1,e.total_length=0},parseSection(e){let t=e.data,r=e.pid;0===r?$r.parsePAT(t):r===$r.current_pmt_pid_?$r.parsePMT(t):null!=$r.pmt_&&$r.pmt_.scte_35_pids[r]},parsePES(e){let t=e.data,r=t[0]<<16|t[1]<<8|t[2],i=t[3],n=t[4]<<8|t[5];if(1===r){if(188!==i&&190!==i&&191!==i&&240!==i&&241!==i&&255!==i&&242!==i&&248!==i){t[6];let r,o,s=(192&t[7])>>>6,a=t[8];2!==s&&3!==s||(r=536870912*(14&t[9])+4194304*(255&t[10])+16384*(254&t[11])+128*(255&t[12])+(254&t[13])/2,o=3===s?536870912*(14&t[14])+4194304*(255&t[15])+16384*(254&t[16])+128*(255&t[17])+(254&t[18])/2:r);let d,l=9+a;if(0!==n){if(n<3+a)return void ii.debug.warn($r.TAG_NAME,"Malformed PES: PES_packet_length < 3 + PES_header_data_length");d=n-3-a}else d=t.byteLength-l;let u=t.subarray(l,l+d);switch(e.stream_type){case xn:case Bn:$r.parseMP3Payload(u,r);break;case Un:$r.pmt_.common_pids.opus===e.pid||$r.pmt_.common_pids.ac3===e.pid||$r.pmt_.common_pids.eac3===e.pid||($r.pmt_.asynchronous_klv_pids[e.pid]?$r.parseAsynchronousKLVMetadataPayload(u,e.pid,i):$r.pmt_.smpte2038_pids[e.pid]?$r.parseSMPTE2038MetadataPayload(u,r,o,e.pid,i):$r.parsePESPrivateDataPayload(u,r,o,e.pid,i));break;case kn:$r.parseADTSAACPayload(u,r);break;case Tn:$r.parseLOASAACPayload(u,r);break;case Cn:case Dn:break;case Pn:$r.pmt_.timed_id3_pids[e.pid]?$r.parseTimedID3MetadataPayload(u,r,o,e.pid,i):$r.pmt_.synchronous_klv_pids[e.pid]&&$r.parseSynchronousKLVMetadataPayload(u,r,o,e.pid,i);break;case In:$r.parseH264Payload(u,r,o,e.random_access_indicator);break;case Ln:$r.parseH265Payload(u,r,o,e.random_access_indicator)}}else if((188===i||191===i||240===i||241===i||255===i||242===i||248===i)&&e.stream_type===Un){let r,o=6;r=0!==n?n:t.byteLength-o;let s=t.subarray(o,o+r);$r.parsePESPrivateDataPayload(s,void 0,void 0,e.pid,i)}}else ii.debug.error($r.TAG_NAME,`parsePES: packet_start_code_prefix should be 1 but with value ${r}`)},parsePAT(e){let t=e[0];if(0!==t)return void Log.e($r.TAG,`parsePAT: table_id ${t} is not corresponded to PAT!`);let r=(15&e[1])<<8|e[2];e[3],e[4];let i=(62&e[5])>>>1,n=1&e[5],o=e[6];e[7];let s=null;if(1===n&&0===o)s={version_number:0,network_pid:0,program_pmt_pid:{}},s.version_number=i;else if(s=$r.pat_,null==s)return;let a=r-5-4,d=-1,l=-1;for(let t=8;t<8+a;t+=4){let r=e[t]<<8|e[t+1],i=(31&e[t+2])<<8|e[t+3];0===r?s.network_pid=i:(s.program_pmt_pid[r]=i,-1===d&&(d=r),-1===l&&(l=i))}1===n&&0===o&&(null==$r.pat_&&ii.debug.log($r.TAG_NAME,`Parsed first PAT: ${JSON.stringify(s)}`),$r.pat_=s,$r.current_program_=d,$r.current_pmt_pid_=l)},parsePMT(e){let t=e[0];if(2!==t)return void ii.debug.error($r.TAG_NAME,`parsePMT: table_id ${t} is not corresponded to PMT!`);let r,i=(15&e[1])<<8|e[2],n=e[3]<<8|e[4],o=(62&e[5])>>>1,s=1&e[5],a=e[6];if(e[7],1===s&&0===a)r=$r._initPmt(),r.program_number=n,r.version_number=o,$r.program_pmt_map_[n]=r;else if(r=$r.program_pmt_map_[n],null==r)return;r.pcr_pid=(31&e[8])<<8|e[9];let d=(15&e[10])<<8|e[11],l=12+d,u=i-9-d-4;for(let t=l;t<l+u;){let i=e[t],n=(31&e[t+1])<<8|e[t+2],o=(15&e[t+3])<<8|e[t+4];r.pid_stream_type[n]=i;let s=r.common_pids.h264||r.common_pids.h265,a=r.common_pids.adts_aac||r.common_pids.loas_aac||r.common_pids.ac3||r.common_pids.eac3||r.common_pids.opus||r.common_pids.mp3;if(i!==In||s)if(i!==Ln||s)if(i!==kn||a)if(i!==Tn||a)if(i!==Cn||a)if(i!==Dn||a)if(i!==xn&&i!==Bn||a)if(i===Un){if(r.pes_private_data_pids[n]=!0,o>0){for(let i=t+5;i<t+5+o;){let t=e[i+0],o=e[i+1];if(5===t){let t=String.fromCharCode(...Array.from(e.subarray(i+2,i+2+o)));"VANC"===t?r.smpte2038_pids[n]=!0:"Opus"===t?r.common_pids.opus=n:"KLVA"===t&&(r.asynchronous_klv_pids[n]=!0)}else if(127===t&&n===r.common_pids.opus){let t=null;if(128===e[i+2]&&(t=e[i+3]),null==t){Log.e($r.TAG,"Not Supported Opus channel count.");continue}const r={codec:"opus",channel_count:0==(15&t)?2:15&t,channel_config_code:t,sample_rate:48e3},n={codec:"opus",meta:r};0==$r.audio_init_segment_dispatched_?($r.audio_metadata_=r,$r.dispatchAudioInitSegment(n)):$r.detectAudioMetadataChange(n)&&($r.dispatchAudioMediaSegment(),$r.dispatchAudioInitSegment(n))}i+=2+o}e.subarray(t+5,t+5+o)}}else if(i===Pn){if(o>0)for(let i=t+5;i<t+5+o;){let t=e[i+0],o=e[i+1];if(38===t){let t=e[i+2]<<8|e[i+3]<<0,o=null;65535===t&&(o=String.fromCharCode(...Array.from(e.subarray(i+4,i+4+4))));let s=null;if(255===e[i+4+(65535===t?4:0)]){let r=4+(65535===t?4:0)+1;s=String.fromCharCode(...Array.from(e.subarray(i+r,i+r+4)))}"ID3 "===o&&"ID3 "===s?r.timed_id3_pids[n]=!0:"KLVA"===s&&(r.synchronous_klv_pids[n]=!0)}i+=2+o}}else i===Fn&&(r.scte_35_pids[n]=!0);else r.common_pids.mp3=n;else r.common_pids.eac3=n;else r.common_pids.ac3=n;else r.common_pids.loas_aac=n;else r.common_pids.adts_aac=n;else r.common_pids.h265=n;else r.common_pids.h264=n;t+=5+o}n===$r.current_program_&&(null==$r.pmt_&&ii.debug.log($r.TAG_NAME,`Parsed first PMT: ${JSON.stringify(r)}`),$r.pmt_=r,(r.common_pids.h264||r.common_pids.h265)&&($r.has_video_=!0),(r.common_pids.adts_aac||r.common_pids.loas_aac||r.common_pids.ac3||r.common_pids.opus||r.common_pids.mp3)&&($r.has_audio_=!0))},parseSCTE35(e){},parseH264Payload(e,t,r,i){let n=new Nr(e),o=null,s=null,a=[],d=0,l=!1;for(;null!=(o=n.readNextNaluPayload());){let e=new Or(o);if(e.type===Ye){let t=Ur.parseSPS$2(o.data);$r.video_init_segment_dispatched_?!0===$r.detectVideoMetadataChange(e,t)&&(ii.debug.log($r.TAG_NAME,"H264: Critical h264 metadata has been changed, attempt to re-generate InitSegment"),$r.video_metadata_changed_=!0,$r.video_metadata_={vps:void 0,sps:e,pps:void 0,details:t}):($r.video_metadata_.sps=e,$r.video_metadata_.details=t)}else e.type===Ke?$r.video_init_segment_dispatched_&&!$r.video_metadata_changed_||($r.video_metadata_.pps=e,$r.video_metadata_.sps&&$r.video_metadata_.pps&&($r.video_metadata_changed_&&$r.dispatchVideoMediaSegment(),$r.dispatchVideoInitSegment())):(e.type===je||e.type===We&&1===i)&&(l=!0);$r.video_init_segment_dispatched_&&(a.push(e),d+=e.data.byteLength)}let u=Math.floor(t/$r.timescale_),c=Math.floor(r/$r.timescale_);if(a.length){let e=$r.video_track_;for(let e=0;e<a.length;e++){let t=a[e];if(null==s)s=t.data;else{let e=new Uint8Array(s.byteLength+t.data.byteLength);e.set(s,0),e.set(t.data,s.byteLength),s=e}}let t={length:d,isIFrame:l,dts:c,pts:u,cts:u-c,payload:s,type:se,isHevc:!1};e.samples.push(t),e.length=s.byteLength}},parseH265Payload(e,t,r,i){let n=new ti(e),o=null,s=null,a=[],d=0,l=!1;for(;null!=(o=n.readNextNaluPayload());){let e=new ri(o);if(e.type===tt){if(!$r.video_init_segment_dispatched_){let t=Hr.parseVPS(o.data);$r.video_metadata_.vps=e,$r.video_metadata_.details={...$r.video_metadata_.details,...t}}}else if(e.type===it){let t=Hr.parseSPS(o.data);$r.video_init_segment_dispatched_?!0===$r.detectVideoMetadataChange(e,t)&&(ii.debug.log($r.TAG_NAME,"H265: Critical h265 metadata has been changed, attempt to re-generate InitSegment"),$r.video_metadata_changed_=!0,$r.video_metadata_={vps:void 0,sps:e,pps:void 0,details:t}):($r.video_metadata_.sps=e,$r.video_metadata_.details={...$r.video_metadata_.details,...t})}else if(e.type===ot){if(!$r.video_init_segment_dispatched_||$r.video_metadata_changed_){let t=Hr.parsePPS(o.data);$r.video_metadata_.pps=e,$r.video_metadata_.details={...$r.video_metadata_.details,...t},$r.video_metadata_.vps&&$r.video_metadata_.sps&&$r.video_metadata_.pps&&($r.video_metadata_changed_&&$r.dispatchVideoMediaSegment(),$r.dispatchVideoInitSegment())}}else e.type!==Ze&&e.type!==Je&&e.type!==Qe||(l=!0);$r.video_init_segment_dispatched_&&(a.push(e),d+=e.data.byteLength)}let u=Math.floor(t/$r.timescale_),c=Math.floor(r/$r.timescale_);if(a.length){let e=$r.video_track_;for(let e=0;e<a.length;e++){let t=a[e];if(null==s)s=t.data;else{let e=new Uint8Array(s.byteLength+t.data.byteLength);e.set(s,0),e.set(t.data,s.byteLength),s=e}}let t={type:se,length:d,isIFrame:l,dts:c,pts:u,cts:u-c,payload:s,isHevc:!0};e.samples.push(t),e.length=s.byteLength}},detectVideoMetadataChange(e,t){if(t.codec_mimetype!==$r.video_metadata_.details.codec_mimetype)return ii.debug.log($r.TAG_NAME,`Video: Codec mimeType changed from ${$r.video_metadata_.details.codec_mimetype} to ${t.codec_mimetype}`),!0;if(t.codec_size.width!==$r.video_metadata_.details.codec_size.width||t.codec_size.height!==$r.video_metadata_.details.codec_size.height){let e=$r.video_metadata_.details.codec_size,r=t.codec_size;return ii.debug.log($r.TAG_NAME,`Video: Coded Resolution changed from ${e.width}x${e.height} to ${r.width}x${r.height}`),!0}return t.present_size.width!==$r.video_metadata_.details.present_size.width&&(ii.debug.log($r.TAG_NAME,`Video: Present resolution width changed from ${$r.video_metadata_.details.present_size.width} to ${t.present_size.width}`),!0)},isInitSegmentDispatched:()=>$r.has_video_&&$r.has_audio_?$r.video_init_segment_dispatched_&&$r.audio_init_segment_dispatched_:$r.has_video_&&!$r.has_audio_?$r.video_init_segment_dispatched_:!($r.has_video_||!$r.has_audio_)&&$r.audio_init_segment_dispatched_,dispatchVideoInitSegment(){let e=$r.video_metadata_.details,t={type:"video"};t.id=$r.video_track_.id,t.timescale=1e3,t.duration=$r.duration_,t.codecWidth=e.codec_size.width,t.codecHeight=e.codec_size.height,t.presentWidth=e.present_size.width,t.presentHeight=e.present_size.height,t.profile=e.profile_string,t.level=e.level_string,t.bitDepth=e.bit_depth,t.chromaFormat=e.chroma_format,t.sarRatio=e.sar_ratio,t.frameRate=e.frame_rate;let r=t.frameRate.fps_den,i=t.frameRate.fps_num;if(t.refSampleDuration=r/i*1e3,t.codec=e.codec_mimetype,$r.video_metadata_.vps){let e=$r.video_metadata_.vps.data.subarray(4),r=$r.video_metadata_.sps.data.subarray(4),i=$r.video_metadata_.pps.data.subarray(4);t.hvcc=qr({vps:e,sps:r,pps:i}),0==$r.video_init_segment_dispatched_&&ii.debug.log($r.TAG_NAME,`Generated first HEVCDecoderConfigurationRecord for mimeType: ${t.codec}`),t.hvcc&&ii.decodeVideo(t.hvcc,0,!0,0)}else{let e=$r.video_metadata_.sps.data.subarray(4),r=$r.video_metadata_.pps.data.subarray(4);t.avcc=Dr({sps:e,pps:r}),0==$r.video_init_segment_dispatched_&&ii.debug.log($r.TAG_NAME,`Generated first AVCDecoderConfigurationRecord for mimeType: ${t.codec}`),t.avcc&&ii.decodeVideo(t.avcc,0,!0,0)}$r.video_init_segment_dispatched_=!0,$r.video_metadata_changed_=!1;let n=$r.media_info_;n.hasVideo=!0,n.width=t.codecWidth,n.height=t.codecHeight,n.fps=t.frameRate.fps,n.profile=t.profile,n.level=t.level,n.refFrames=e.ref_frames,n.chromaFormat=e.chroma_format_string,n.sarNum=t.sarRatio.width,n.sarDen=t.sarRatio.height,n.videoCodec=t.codec,n.hasAudio&&n.audioCodec?n.mimeType=`video/mp2t; codecs="${n.videoCodec},${n.audioCodec}"`:n.mimeType=`video/mp2t; codecs="${n.videoCodec}"`},dispatchVideoMediaSegment(){$r.isInitSegmentDispatched()&&$r.video_track_.length&&$r._preDoDecode()},dispatchAudioMediaSegment(){$r.isInitSegmentDispatched()&&$r.audio_track_.length&&$r._preDoDecode()},dispatchAudioVideoMediaSegment(){$r.isInitSegmentDispatched()&&($r.audio_track_.length||$r.video_track_.length)&&$r._preDoDecode()},parseADTSAACPayload(e,t){if($r.has_video_&&!$r.video_init_segment_dispatched_)return;if($r.aac_last_incomplete_data_){let t=new Uint8Array(e.byteLength+$r.aac_last_incomplete_data_.byteLength);t.set($r.aac_last_incomplete_data_,0),t.set(e,$r.aac_last_incomplete_data_.byteLength),e=t}let r,i;if(null!=t&&(i=t/$r.timescale_),"aac"===$r.audio_metadata_.codec){if(null==t&&null!=$r.audio_last_sample_pts_)r=1024/$r.audio_metadata_.sampling_frequency*1e3,i=$r.audio_last_sample_pts_+r;else if(null==t)return void ii.debug.warn($r.TAG_NAME,"AAC: Unknown pts");if($r.aac_last_incomplete_data_&&$r.audio_last_sample_pts_){r=1024/$r.audio_metadata_.sampling_frequency*1e3;let e=$r.audio_last_sample_pts_+r;Math.abs(e-i)>1&&(ii.debug.warn($r.TAG_NAME,`AAC: Detected pts overlapped, expected: ${e}ms, PES pts: ${i}ms`),i=e)}}let n,o=new Xt(e),s=null,a=i;for(;null!=(s=o.readNextAACFrame());){r=1024/s.sampling_frequency*1e3;const e={codec:"aac",data:s};0==$r.audio_init_segment_dispatched_?($r.audio_metadata_={codec:"aac",audio_object_type:s.audio_object_type,sampling_freq_index:s.sampling_freq_index,sampling_frequency:s.sampling_frequency,channel_config:s.channel_config},$r.dispatchAudioInitSegment(e)):$r.detectAudioMetadataChange(e)&&($r.dispatchAudioMediaSegment(),$r.dispatchAudioInitSegment(e)),n=a;let t=Math.floor(a);const i=new Uint8Array(s.data.length+2);i.set([175,1],0),i.set(s.data,2);let o={payload:i,length:i.byteLength,pts:t,dts:t,type:oe};$r.audio_track_.samples.push(o),$r.audio_track_.length+=i.byteLength,a+=r}o.hasIncompleteData()&&($r.aac_last_incomplete_data_=o.getIncompleteData()),n&&($r.audio_last_sample_pts_=n)},parseLOASAACPayload(e,t){if($r.has_video_&&!$r.video_init_segment_dispatched_)return;if($r.aac_last_incomplete_data_){let t=new Uint8Array(e.byteLength+$r.aac_last_incomplete_data_.byteLength);t.set($r.aac_last_incomplete_data_,0),t.set(e,$r.aac_last_incomplete_data_.byteLength),e=t}let r,i;if(null!=t&&(i=t/$r.timescale_),"aac"===$r.audio_metadata_.codec){if(null==t&&null!=$r.audio_last_sample_pts_)r=1024/$r.audio_metadata_.sampling_frequency*1e3,i=$r.audio_last_sample_pts_+r;else if(null==t)return void ii.debug.warn($r.TAG_NAME,"AAC: Unknown pts");if($r.aac_last_incomplete_data_&&$r.audio_last_sample_pts_){r=1024/$r.audio_metadata_.sampling_frequency*1e3;let e=$r.audio_last_sample_pts_+r;Math.abs(e-i)>1&&(ii.debug.warn($r.TAG,`AAC: Detected pts overlapped, expected: ${e}ms, PES pts: ${i}ms`),i=e)}}let n,o=new Zt(e),s=null,a=i;for(;null!=(s=o.readNextAACFrame(dr(this.loas_previous_frame)?void 0:this.loas_previous_frame));){$r.loas_previous_frame=s,r=1024/s.sampling_frequency*1e3;const e={codec:"aac",data:s};0==$r.audio_init_segment_dispatched_?($r.audio_metadata_={codec:"aac",audio_object_type:s.audio_object_type,sampling_freq_index:s.sampling_freq_index,sampling_frequency:s.sampling_frequency,channel_config:s.channel_config},$r.dispatchAudioInitSegment(e)):$r.detectAudioMetadataChange(e)&&($r.dispatchAudioMediaSegment(),$r.dispatchAudioInitSegment(e)),n=a;let t=Math.floor(a);const i=new Uint8Array(s.data.length+2);i.set([175,1],0),i.set(s.data,2);let o={payload:i,length:i.byteLength,pts:t,dts:t,type:oe};$r.audio_track_.samples.push(o),$r.audio_track_.length+=i.byteLength,a+=r}o.hasIncompleteData()&&($r.aac_last_incomplete_data_=o.getIncompleteData()),n&&($r.audio_last_sample_pts_=n)},parseAC3Payload(e,t){},parseEAC3Payload(e,t){},parseOpusPayload(e,t){},parseMP3Payload(e,t){if($r.has_video_&&!$r.video_init_segment_dispatched_)return;let r=[44100,48e3,32e3,0],i=[22050,24e3,16e3,0],n=[11025,12e3,8e3,0],o=e[1]>>>3&3,s=(6&e[1])>>1;e[2];let a=(12&e[2])>>>2,d=3!=(e[3]>>>6&3)?2:1,l=0,u=34;switch(o){case 0:l=n[a];break;case 2:l=i[a];break;case 3:l=r[a]}switch(s){case 1:u=34;break;case 2:u=33;break;case 3:u=32}const c={};c.object_type=u,c.sample_rate=l,c.channel_count=d,c.data=e;const f={codec:"mp3",data:c};0==$r.audio_init_segment_dispatched_?($r.audio_metadata_={codec:"mp3",object_type:u,sample_rate:l,channel_count:d},$r.dispatchAudioInitSegment(f)):$r.detectAudioMetadataChange(f)&&($r.dispatchAudioMediaSegment(),$r.dispatchAudioInitSegment(f));let h={payload:e,length:e.byteLength,pts:t/$r.timescale_,dts:t/$r.timescale_,type:oe};$r.audio_track_.samples.push(h),$r.audio_track_.length+=e.byteLength},detectAudioMetadataChange(e){if(e.codec!==$r.audio_metadata_.codec)return ii.debug.log($r.TAG_NAME,`Audio: Audio Codecs changed from ${$r.audio_metadata_.codec} to ${e.codec}`),!0;if("aac"===e.codec&&"aac"===$r.audio_metadata_.codec){const t=e.data;if(t.audio_object_type!==$r.audio_metadata_.audio_object_type)return ii.debug.log($r.TAG_NAME,`AAC: AudioObjectType changed from ${$r.audio_metadata_.audio_object_type} to ${t.audio_object_type}`),!0;if(t.sampling_freq_index!==$r.audio_metadata_.sampling_freq_index)return ii.debug.log($r.TAG_NAME,`AAC: SamplingFrequencyIndex changed from ${$r.audio_metadata_.sampling_freq_index} to ${t.sampling_freq_index}`),!0;if(t.channel_config!==$r.audio_metadata_.channel_config)return ii.debug.log($r.TAG_NAME,`AAC: Channel configuration changed from ${$r.audio_metadata_.channel_config} to ${t.channel_config}`),!0}else if("ac-3"===e.codec&&"ac-3"===$r.audio_metadata_.codec){const t=e.data;if(t.sampling_frequency!==$r.audio_metadata_.sampling_frequency)return ii.debug.log($r.TAG_NAME,`AC3: Sampling Frequency changed from ${$r.audio_metadata_.sampling_frequency} to ${t.sampling_frequency}`),!0;if(t.bit_stream_identification!==$r.audio_metadata_.bit_stream_identification)return ii.debug.log($r.TAG_NAME,`AC3: Bit Stream Identification changed from ${$r.audio_metadata_.bit_stream_identification} to ${t.bit_stream_identification}`),!0;if(t.bit_stream_mode!==$r.audio_metadata_.bit_stream_mode)return ii.debug.log($r.TAG_NAME,`AC3: BitStream Mode changed from ${$r.audio_metadata_.bit_stream_mode} to ${t.bit_stream_mode}`),!0;if(t.channel_mode!==$r.audio_metadata_.channel_mode)return ii.debug.log($r.TAG_NAME,`AC3: Channel Mode changed from ${$r.audio_metadata_.channel_mode} to ${t.channel_mode}`),!0;if(t.low_frequency_effects_channel_on!==$r.audio_metadata_.low_frequency_effects_channel_on)return ii.debug.log($r.TAG_NAME,`AC3: Low Frequency Effects Channel On changed from ${$r.audio_metadata_.low_frequency_effects_channel_on} to ${t.low_frequency_effects_channel_on}`),!0}else if("opus"===e.codec&&"opus"===$r.audio_metadata_.codec){const t=e.meta;if(t.sample_rate!==$r.audio_metadata_.sample_rate)return ii.debug.log($r.TAG_NAME,`Opus: SamplingFrequencyIndex changed from ${$r.audio_metadata_.sample_rate} to ${t.sample_rate}`),!0;if(t.channel_count!==$r.audio_metadata_.channel_count)return ii.debug.log($r.TAG_NAME,`Opus: Channel count changed from ${$r.audio_metadata_.channel_count} to ${t.channel_count}`),!0}else if("mp3"===e.codec&&"mp3"===$r.audio_metadata_.codec){const t=e.data;if(t.object_type!==$r.audio_metadata_.object_type)return ii.debug.log($r.TAG_NAME,`MP3: AudioObjectType changed from ${$r.audio_metadata_.object_type} to ${t.object_type}`),!0;if(t.sample_rate!==$r.audio_metadata_.sample_rate)return ii.debug.log($r.TAG_NAME,`MP3: SamplingFrequencyIndex changed from ${$r.audio_metadata_.sample_rate} to ${t.sample_rate}`),!0;if(t.channel_count!==$r.audio_metadata_.channel_count)return ii.debug.log($r.TAG_NAME,`MP3: Channel count changed from ${$r.audio_metadata_.channel_count} to ${t.channel_count}`),!0}return!1},dispatchAudioInitSegment(e){let t={type:"audio"};if(t.id=$r.audio_track_.id,t.timescale=1e3,t.duration=$r.duration_,"aac"===$r.audio_metadata_.codec){let r="aac"===e.codec?e.data:null,i=new Gn(r);t.audioSampleRate=i.sampling_rate,t.audioSampleRateIndex=i.sampling_index,t.channelCount=i.channel_count,t.codec=i.codec_mimetype,t.originalCodec=i.original_codec_mimetype,t.config=i.config,t.refSampleDuration=1024/t.audioSampleRate*t.timescale;const n=Wt({profile:ii._opt.mseDecodeAudio?i.object_type:i.original_object_type,sampleRate:t.audioSampleRateIndex,channel:t.channelCount});ii.decodeAudio(n,0)}else"ac-3"===$r.audio_metadata_.codec||"ec-3"===$r.audio_metadata_.codec||"opus"===$r.audio_metadata_.codec||"mp3"===$r.audio_metadata_.codec&&(t.audioSampleRate=$r.audio_metadata_.sample_rate,t.channelCount=$r.audio_metadata_.channel_count,t.codec="mp3",t.originalCodec="mp3",t.config=void 0);0==$r.audio_init_segment_dispatched_&&ii.debug.log($r.TAG_NAME,`Generated first AudioSpecificConfig for mimeType: ${t.codec}`),$r.audio_init_segment_dispatched_=!0,$r.video_metadata_changed_=!1;let r=$r.media_info_;r.hasAudio=!0,r.audioCodec=t.originalCodec,r.audioSampleRate=t.audioSampleRate,r.audioChannelCount=t.channelCount,r.hasVideo&&r.videoCodec?r.mimeType=`video/mp2t; codecs="${r.videoCodec},${r.audioCodec}"`:r.mimeType=`video/mp2t; codecs="${r.audioCodec}"`},dispatchPESPrivateDataDescriptor(e,t,r){},parsePESPrivateDataPayload(e,t,r,i,n){let o=new zn;if(o.pid=i,o.stream_id=n,o.len=e.byteLength,o.data=e,null!=t){let e=Math.floor(t/$r.timescale_);o.pts=e}else o.nearest_pts=$r.getNearestTimestampMilliseconds();if(null!=r){let e=Math.floor(r/$r.timescale_);o.dts=e}},parseTimedID3MetadataPayload(e,t,r,i,n){ii.debug.log($r.TAG_NAME,`Timed ID3 Metadata: pid=${i}, pts=${t}, dts=${r}, stream_id=${n}`)},parseSynchronousKLVMetadataPayload(e,t,r,i,n){ii.debug.log($r.TAG_NAME,`Synchronous KLV Metadata: pid=${i}, pts=${t}, dts=${r}, stream_id=${n}`)},parseAsynchronousKLVMetadataPayload(e,t,r){ii.debug.log($r.TAG_NAME,`Asynchronous KLV Metadata: pid=${t}, stream_id=${r}`)},parseSMPTE2038MetadataPayload(e,t,r,i,n){ii.debug.log($r.TAG_NAME,`SMPTE 2038 Metadata: pid=${i}, pts=${t}, dts=${r}, stream_id=${n}`)},getNearestTimestampMilliseconds:()=>null!=$r.audio_last_sample_pts_?Math.floor($r.audio_last_sample_pts_):null!=$r.last_pcr_?Math.floor($r.last_pcr_/300/$r.timescale_):void 0,_preDoDecode(){const e=$r.video_track_,t=$r.audio_track_;let r=e.samples;t.samples.length>0&&(r=e.samples.concat(t.samples),r=r.sort(((e,t)=>e.dts-t.dts))),r.forEach((e=>{const t=new Uint8Array(e.payload);delete e.payload,e.type===se?$r._doDecodeVideo({...e,payload:t}):e.type===oe&&$r._doDecodeAudio({...e,payload:t})})),e.samples=[],e.length=0,t.samples=[],t.length=0},_doDecodeVideo(e){const t=new Uint8Array(e.payload);let r=null;r=e.isHevc?Kr(t,e.isIFrame):Fr(t,e.isIFrame),e.isIFrame&&ii.calcIframeIntervalTimestamp(e.dts);let i=ii.cryptoPayload(r,e.isIFrame);ii.decode(i,{type:se,ts:e.dts,isIFrame:e.isIFrame,cts:e.cts})},_doDecodeAudio(e){const t=new Uint8Array(e.payload);let r=t;yr(ii._opt.m7sCryptoAudio)&&(r=ii.cryptoPayloadAudio(t)),ii.decode(r,{type:oe,ts:e.dts,isIFrame:!1,cts:0})}},jr=null;br()&&(jr={TAG_NAME:"worker MediaSource",_resetInIt(){jr.isAvc=null,jr.isAAC=null,jr.videoInfo={},jr.videoMeta={},jr.audioMeta={},jr.sourceBuffer=null,jr.audioSourceBuffer=null,jr.hasInit=!1,jr.hasAudioInit=!1,jr.isAudioInitInfo=!1,jr.videoMimeType="",jr.audioMimeType="",jr.cacheTrack={},jr.cacheAudioTrack={},jr.timeInit=!1,jr.sequenceNumber=0,jr.audioSequenceNumber=0,jr.firstRenderTime=null,jr.firstAudioTime=null,jr.mediaSourceAppendBufferFull=!1,jr.mediaSourceAppendBufferError=!1,jr.mediaSourceAddSourceBufferError=!1,jr.mediaSourceBufferError=!1,jr.mediaSourceError=!1,jr.prevTimestamp=null,jr.decodeDiffTimestamp=null,jr.prevDts=null,jr.prevAudioDts=null,jr.prevPayloadBufferSize=0,jr.isWidthOrHeightChanged=!1,jr.prevTs=null,jr.prevAudioTs=null,jr.eventListenList=[],jr.pendingRemoveRanges=[],jr.pendingSegments=[],jr.pendingAudioRemoveRanges=[],jr.pendingAudioSegments=[],jr.supportVideoFrameCallbackHandle=null,jr.audioSourceBufferCheckTimeout=null,jr.audioSourceNoDataCheckTimeout=null,jr.hasPendingEos=!1,jr.$video={currentTime:0,readyState:0}},init(){jr.events=new pn,jr._resetInIt(),jr.mediaSource=new self.MediaSource,jr.isDecodeFirstIIframe=!!vr(ii._opt.checkFirstIFrame),jr._bindMediaSourceEvents()},destroy(){jr.stop(),jr._clearAudioSourceBufferCheckTimeout(),jr.eventListenList&&jr.eventListenList.length&&(jr.eventListenList.forEach((e=>e())),jr.eventListenList=[]),jr._resetInIt(),jr.mediaSource=null},getState:()=>jr.mediaSource&&jr.mediaSource.readyState,isStateOpen:()=>jr.getState()===yt,isStateClosed:()=>jr.getState()===vt,isStateEnded:()=>jr.getState()===gt,_bindMediaSourceEvents(){const{proxy:e}=jr.events,t=e(jr.mediaSource,wt,(()=>{ii.debug.log(jr.TAG_NAME,"sourceOpen"),jr._onMediaSourceSourceOpen()})),r=e(jr.mediaSource,bt,(()=>{ii.debug.log(jr.TAG_NAME,"sourceClose")})),i=e(jr.mediaSource,St,(()=>{ii.debug.log(jr.TAG_NAME,"sourceended")}));jr.eventListenList.push(t,r,i)},_onMediaSourceSourceOpen(){jr.sourceBuffer||(ii.debug.log(jr.TAG_NAME,"onMediaSourceSourceOpen() sourceBuffer is null and next init"),jr._initSourceBuffer()),jr.audioSourceBuffer||(ii.debug.log(jr.TAG_NAME,"onMediaSourceSourceOpen() audioSourceBuffer is null and next init"),jr._initAudioSourceBuffer()),jr._hasPendingSegments()&&jr._doAppendSegments()},decodeVideo(e,t,r,i){if(ii.isDestroyed)ii.debug.warn(jr.TAG_NAME,"decodeVideo() and decoder is destroyed");else if(vr(jr.hasInit))if(r&&e[1]===Bt){const i=15&e[0];if(i===Ie&&vr(ar()))return void jr.emitError(De.mediaSourceH265NotSupport);jr.videoInfo.codec=i,postMessage({cmd:M,code:i});const n=new Uint8Array(e);postMessage({cmd:R,buffer:n,codecId:i},[n.buffer]),jr.hasInit=jr._decodeConfigurationRecord(e,t,r,i)}else ii.debug.warn(jr.TAG_NAME,`decodeVideo has not init , isIframe is ${r} , payload is ${e[1]}`);else if(!jr.isDecodeFirstIIframe&&r&&(jr.isDecodeFirstIIframe=!0),jr.isDecodeFirstIIframe){if(r&&0===e[1]){const t=15&e[0];let r={};t===Fe?r=Tr(e.slice(5)):t===Ie&&(r=Vr(e));const i=jr.videoInfo;i&&i.codecWidth&&i.codecWidth&&r&&r.codecWidth&&r.codecHeight&&(r.codecWidth!==i.codecWidth||r.codecHeight!==i.codecWidth)&&(ii.debug.warn(jr.TAG_NAME,`\n decodeVideo: video width or height is changed,\n old width is ${i.codecWidth}, old height is ${i.codecWidth},\n new width is ${r.codecWidth}, new height is ${r.codecHeight},\n and emit change event`),jr.isWidthOrHeightChanged=!0,jr.emitError(De.mseWidthOrHeightChange))}if(jr.isWidthOrHeightChanged)return void ii.debug.warn(jr.TAG_NAME,"decodeVideo: video width or height is changed, and return");if(gr(e))return void ii.debug.warn(jr.TAG_NAME,"decodeVideo and payload is video sequence header so drop this frame");if(e.byteLength<B)return void ii.debug.warn(jr.TAG_NAME,`decodeVideo and payload is too small , payload length is ${e.byteLength}`);let n=t;if(ii.isPlayer){if(null===jr.firstRenderTime&&(jr.firstRenderTime=t,postMessage({cmd:ie,value:jr.firstRenderTime})),n=t-jr.firstRenderTime,n<0&&(ii.debug.warn(jr.TAG_NAME,`decodeVideo\n local dts is < 0 , ts is ${t} and prevTs is ${jr.prevTs},\n firstRenderTime is ${jr.firstRenderTime} and mseCorrectTimeDuration is ${ii._opt.mseCorrectTimeDuration}`),n=null===jr.prevDts?0:jr.prevDts+ii._opt.mseCorrectTimeDuration,jr._checkTsIsMaxDiff(t)))return ii.debug.warn(jr.TAG_NAME,`decodeVideo is max diff , ts is ${t} and prevTs is ${jr.prevTs}, diff is ${jr.prevTs-t}`),void jr.emitError(De.mediaSourceTsIsMaxDiff);if(null!==jr.prevDts&&n<=jr.prevDts){if(ii.debug.warn(jr.TAG_NAME,`\n decodeVideo dts is less than(or equal) prev dts ,\n dts is ${n} and prev dts is ${jr.prevDts} \n and now ts is ${t} and prev ts is ${jr.prevTs} \n and diff is ${t-jr.prevTs} and firstRenderTime is ${jr.firstRenderTime} and isIframe is ${r}\n and mseCorrectTimeDuration is ${ii._opt.mseCorrectTimeDuration},\n and prevPayloadBufferSize is ${jr.prevPayloadBufferSize} and payload size is ${e.byteLength}`),n===jr.prevDts&&jr.prevPayloadBufferSize===e.byteLength)return void ii.debug.warn(jr.TAG_NAME,"decodeVideo dts is equal to prev dts and payload size is equal to prev payload size so drop this frame");if(n=jr.prevDts+ii._opt.mseCorrectTimeDuration,jr._checkTsIsMaxDiff(t))return ii.debug.warn(jr.TAG_NAME,`decodeVideo is max diff , ts is ${t} and prevTs is ${jr.prevTs}, diff is ${jr.prevTs-t} and emit replay`),void jr.emitError(De.mediaSourceTsIsMaxDiff)}}ii.isPlayer?jr._decodeVideo(e,n,r,i,t):ii.isPlayback,jr.prevDts=n,jr.prevPayloadBufferSize=e.byteLength,jr.prevTs=t}else ii.debug.log(jr.TAG_NAME,"decodeVideo first frame is not iFrame")},decodeAudio(e,t){if(ii.isDestroyed)ii.debug.warn(jr.TAG_NAME,"decodeAudio() and decoder is destroyed");else if(vr(jr.hasAudioInit))jr.hasAudioInit=jr._decodeAudioConfigurationRecord(e,t);else{let r=t;if(jt(e))return void ii.debug.log(jr.TAG_NAME,"decodeAudio and has already initialized and payload is aac codec packet so drop this frame");if(jr._clearAudioNoDataCheckTimeout(),jr.isDecodeFirstIIframe){if(ii.isPlayer){if(null===jr.firstAudioTime&&(jr.firstAudioTime=t,null!==jr.firstRenderTime&&null!==jr.prevTs)){const e=Math.abs(jr.firstRenderTime-jr.prevTs);e>300&&(jr.firstAudioTime-=e,ii.debug.warn(jr.TAG_NAME,`video\n firstAudioTime is ${jr.firstRenderTime} and current time is ${jr.prevTs}\n play time is ${e} and firstAudioTime ${t} - ${e} = ${jr.firstAudioTime}`))}r=t-jr.firstAudioTime,r<0&&(ii.debug.warn(jr.TAG_NAME,`decodeAudio\n local dts is < 0 , ts is ${t} and prevTs is ${jr.prevAudioTs},\n firstAudioTime is ${jr.firstAudioTime}`),r=null===jr.prevAudioDts?0:jr.prevAudioDts+ii._opt.mseCorrectAudioTimeDuration),null!==jr.prevAudioTs&&r<=jr.prevAudioDts&&(ii.debug.warn(jr.TAG_NAME,`\n decodeAudio dts is less than(or equal) prev dts ,\n dts is ${r} and prev dts is ${jr.prevAudioDts} \n and now ts is ${t} and prev ts is ${jr.prevAudioTs} \n and diff is ${t-jr.prevAudioTs}`),r=jr.prevAudioDts+ii._opt.mseCorrectAudioTimeDuration)}ii.isPlayer?jr._decodeAudio(e,r,t):ii.isPlayback,jr.prevAudioTs=t,jr.prevAudioDts=r}else ii.debug.log(jr.TAG_NAME,"decodeAudio first frame is not iFrame")}},_checkTsIsMaxDiff:e=>jr.prevTs>0&&e<jr.prevTs&&jr.prevTs-e>A,_decodeConfigurationRecord(e,t,r,i){let n=e.slice(5),o={};if(i===Fe?o=Tr(n):i===Ie&&(o=Wr(n)),jr.videoInfo.width=o.codecWidth,jr.videoInfo.height=o.codecHeight,0===o.codecWidth&&0===o.codecHeight)return ii.debug.warn(jr.TAG_NAME,"_decodeConfigurationRecord error",JSON.stringify(o)),jr.emitError(De.mediaSourceDecoderConfigurationError),!1;const s={id:Pt,type:"video",timescale:1e3,duration:0,avcc:n,codecWidth:o.codecWidth,codecHeight:o.codecHeight,videoType:o.videoType},a=mn.generateInitSegment(s);jr.isAvc=i===Fe;let d=o.codec;return jr.videoMimeType=d?`video/mp4; codecs="${o.codec}"`:jr.isAvc?ct:ft,postMessage({cmd:T,w:o.codecWidth,h:o.codecHeight}),jr._initSourceBuffer(),jr.appendBuffer(a.buffer),jr.sequenceNumber=0,jr.cacheTrack={},jr.timeInit=!1,!0},_decodeAudioConfigurationRecord(e,t){const r=e[0]>>4,i=e[0]>>1&1,n=r===Ge,o=r===ze;if(vr(o||n))return ii.debug.warn(jr.TAG_NAME,`_decodeAudioConfigurationRecord audio codec is not support , codecId is ${r} ant auto wasm decode`),jr.emitError(De.mediaSourceAudioG711NotSupport),!1;const s={id:Ft,type:"audio",timescale:1e3};let a={};if(jt(e)){if(a=Kt(e.slice(2)),!a)return!1;s.audioSampleRate=a.sampleRate,s.channelCount=a.channelCount,s.config=a.config,s.refSampleDuration=1024/s.audioSampleRate*s.timescale}else{if(!n)return!1;if(a=An(e),!a)return!1;s.audioSampleRate=a.samplingRate,s.channelCount=a.channelCount,s.refSampleDuration=1152/s.audioSampleRate*s.timescale}s.codec=a.codec,s.duration=0;let d="mp4",l=a.codec,u=null;n&&vr(sr())?(d="mpeg",l="",u=new Uint8Array):u=mn.generateInitSegment(s);let c=`${s.type}/${d}`;return l&&l.length>0&&(c+=`;codecs=${l}`),vr(jr.isAudioInitInfo)&&(Jt=r===ze?i?16:8:0===i?8:16,postMessage({cmd:F,code:r}),postMessage({cmd:P,sampleRate:s.audioSampleRate,channels:s.channelCount,depth:Jt}),jr.isAudioInitInfo=!0),jr.audioMimeType=c,jr.isAAC=o,jr._initAudioSourceBuffer(),jr.appendAudioBuffer(u.buffer),!0},_initSourceBuffer(){const{proxy:e}=jr.events;if(null===jr.sourceBuffer&&null!==jr.mediaSource&&jr.isStateOpen()&&jr.videoMimeType){try{jr.sourceBuffer=jr.mediaSource.addSourceBuffer(jr.videoMimeType),ii.debug.log(jr.TAG_NAME,"_initSourceBuffer() mseDecoder.mediaSource.addSourceBuffer()",jr.videoMimeType)}catch(e){return ii.debug.error(jr.TAG_NAME,"appendBuffer() mseDecoder.mediaSource.addSourceBuffer()",e.code,e),jr.emitError(De.mseAddSourceBufferError,e.code),void(jr.mediaSourceAddSourceBufferError=!0)}if(jr.sourceBuffer){const t=e(jr.sourceBuffer,"error",(e=>{jr.mediaSourceBufferError=!0,ii.debug.error(jr.TAG_NAME,"mseSourceBufferError mseDecoder.sourceBuffer",e),jr.emitError(De.mseSourceBufferError,e.code)})),r=e(jr.sourceBuffer,"updateend",(()=>{jr._hasPendingRemoveRanges()?jr._doRemoveRanges():jr._hasPendingSegments()?jr._doAppendSegments():jr.hasPendingEos&&(ii.debug.log(jr.TAG_NAME,"videoSourceBuffer updateend and hasPendingEos is true, next endOfStream()"),jr.endOfStream())}));jr.eventListenList.push(t,r)}}else ii.debug.log(jr.TAG_NAME,`_initSourceBuffer and mseDecoder.isStateOpen is ${jr.isStateOpen()} and mseDecoder.isAvc === null is ${null===jr.isAvc}`)},_initAudioSourceBuffer(){const{proxy:e}=jr.events;if(null===jr.audioSourceBuffer&&null!==jr.mediaSource&&jr.isStateOpen()&&jr.audioMimeType){try{jr.audioSourceBuffer=jr.mediaSource.addSourceBuffer(jr.audioMimeType),jr._clearAudioSourceBufferCheckTimeout(),ii.debug.log(jr.TAG_NAME,"_initAudioSourceBuffer() mseDecoder.mediaSource.addSourceBuffer()",jr.audioMimeType)}catch(e){return ii.debug.error(jr.TAG_NAME,"appendAudioBuffer() mseDecoder.mediaSource.addSourceBuffer()",e.code,e),jr.emitError(De.mseAddSourceBufferError,e.code),void(jr.mediaSourceAddSourceBufferError=!0)}if(jr.audioSourceBuffer){const t=e(jr.audioSourceBuffer,"error",(e=>{jr.mediaSourceBufferError=!0,ii.debug.error(jr.TAG_NAME,"mseSourceBufferError mseDecoder.audioSourceBuffer",e),jr.emitError(De.mseSourceBufferError,e.code)})),r=e(jr.audioSourceBuffer,"updateend",(()=>{jr._hasPendingRemoveRanges()?jr._doRemoveRanges():jr._hasPendingSegments()?jr._doAppendSegments():jr.hasPendingEos&&(ii.debug.log(jr.TAG_NAME,"audioSourceBuffer updateend and hasPendingEos is true, next endOfStream()"),jr.endOfStream())}));jr.eventListenList.push(t,r),null===jr.audioSourceNoDataCheckTimeout&&(jr.audioSourceNoDataCheckTimeout=setTimeout((()=>{jr._clearAudioNoDataCheckTimeout(),jr.emitError(De.mediaSourceAudioNoDataTimeout)}),1e3))}}else ii.debug.log(jr.TAG_NAME,`_initAudioSourceBuffer and mseDecoder.isStateOpen is ${jr.isStateOpen()} and mseDecoder.audioMimeType is ${jr.audioMimeType}`)},_decodeVideo(e,t,r,i,n){let o=e.slice(5),s=o.byteLength;if(0===s)return void ii.debug.warn(jr.TAG_NAME,"_decodeVideo payload bytes is 0 and return");let a=(new Date).getTime(),d=!1;jr.prevTimestamp||(jr.prevTimestamp=a,d=!0);const l=a-jr.prevTimestamp;if(jr.decodeDiffTimestamp=l,l>500&&!d&&ii.isPlayer&&ii.debug.warn(jr.TAG_NAME,`_decodeVideo now time is ${a} and prev time is ${jr.prevTimestamp}, diff time is ${l} ms`),jr.cacheTrack.id&&t>=jr.cacheTrack.dts){let e=8+jr.cacheTrack.size,r=new Uint8Array(e);r[0]=e>>>24&255,r[1]=e>>>16&255,r[2]=e>>>8&255,r[3]=255&e,r.set(mn.types.mdat,4),r.set(jr.cacheTrack.data,8),jr.cacheTrack.duration=t-jr.cacheTrack.dts;let i=mn.moof(jr.cacheTrack,jr.cacheTrack.dts);jr.cacheTrack={};let n=new Uint8Array(i.byteLength+r.byteLength);n.set(i,0),n.set(r,i.byteLength),jr.appendBuffer(n.buffer)}else ii.debug.log(jr.TAG_NAME,`timeInit set false , cacheTrack = {} now dts is ${t}, and ts is ${n} cacheTrack dts is ${jr.cacheTrack&&jr.cacheTrack.dts}`),jr.timeInit=!1,jr.cacheTrack={};jr.cacheTrack||(jr.cacheTrack={}),jr.cacheTrack.id=Pt,jr.cacheTrack.sequenceNumber=++jr.sequenceNumber,jr.cacheTrack.size=s,jr.cacheTrack.dts=t,jr.cacheTrack.cts=i,jr.cacheTrack.isKeyframe=r,jr.cacheTrack.data=o,jr.cacheTrack.flags={isLeading:0,dependsOn:r?2:1,isDependedOn:r?1:0,hasRedundancy:0,isNonSync:r?0:1},jr.prevTimestamp=(new Date).getTime()},_decodeAudio(e,t,r){let i=jr.isAAC?e.slice(2):e.slice(1),n=i.byteLength;if(jr.cacheAudioTrack.id&&t>=jr.cacheAudioTrack.dts){let e=8+jr.cacheAudioTrack.size,r=new Uint8Array(e);r[0]=e>>>24&255,r[1]=e>>>16&255,r[2]=e>>>8&255,r[3]=255&e,r.set(mn.types.mdat,4),r.set(jr.cacheAudioTrack.data,8),jr.cacheAudioTrack.duration=t-jr.cacheAudioTrack.dts;let i=mn.moof(jr.cacheAudioTrack,jr.cacheAudioTrack.dts);jr.cacheAudioTrack={};let n=new Uint8Array(i.byteLength+r.byteLength);n.set(i,0),n.set(r,i.byteLength),jr.appendAudioBuffer(n.buffer)}else jr.cacheAudioTrack={};jr.cacheAudioTrack||(jr.cacheAudioTrack={}),jr.cacheAudioTrack.id=Ft,jr.cacheAudioTrack.sequenceNumber=++jr.audioSequenceNumber,jr.cacheAudioTrack.size=n,jr.cacheAudioTrack.dts=t,jr.cacheAudioTrack.cts=0,jr.cacheAudioTrack.data=i,jr.cacheAudioTrack.flags={isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0}},appendBuffer(e){ii.isDestroyed?ii.debug.warn(jr.TAG_NAME,"appendBuffer() player is destroyed"):jr.mediaSourceAddSourceBufferError?ii.debug.warn(jr.TAG_NAME,"mseDecoder.mediaSourceAddSourceBufferError is true"):jr.mediaSourceAppendBufferFull?ii.debug.warn(jr.TAG_NAME,"mseDecoder.mediaSourceAppendBufferFull is true"):jr.mediaSourceAppendBufferError?ii.debug.warn(jr.TAG_NAME,"mseDecoder.mediaSourceAppendBufferError is true"):jr.mediaSourceBufferError?ii.debug.warn(jr.TAG_NAME,"mseDecoder.mediaSourceBufferError is true"):(jr.pendingSegments.push(e),jr.sourceBuffer&&(ii._opt.mseAutoCleanupSourceBuffer&&jr._needCleanupSourceBuffer()&&jr._doCleanUpSourceBuffer(),vr(jr.getSourceBufferUpdating())&&jr.isStateOpen()&&vr(jr._hasPendingRemoveRanges()))?jr._doAppendSegments():jr.isStateClosed()?(jr.mediaSourceBufferError=!0,jr.emitError(De.mseSourceBufferError,"mediaSource is not attached to video or mediaSource is closed")):jr.isStateEnded()?(jr.mediaSourceBufferError=!0,jr.emitError(De.mseSourceBufferError,"mediaSource is end")):jr._hasPendingRemoveRanges()&&ii.debug.log(jr.TAG_NAME,`video has pending remove ranges and video length is ${jr.pendingRemoveRanges.length}, audio length is ${jr.pendingAudioRemoveRanges.length}`))},appendAudioBuffer(e){ii.isDestroyed?ii.debug.warn(jr.TAG_NAME,"appendAudioBuffer() player is destroyed"):jr.mediaSourceAddSourceBufferError?ii.debug.warn(jr.TAG_NAME,"mseDecoder.mediaSourceAddSourceBufferError is true"):jr.mediaSourceAppendBufferFull?ii.debug.warn(jr.TAG_NAME,"mseDecoder.mediaSourceAppendBufferFull is true"):jr.mediaSourceAppendBufferError?ii.debug.warn(jr.TAG_NAME,"mseDecoder.mediaSourceAppendBufferError is true"):jr.mediaSourceBufferError?ii.debug.warn(jr.TAG_NAME,"mseDecoder.mediaSourceBufferError is true"):(jr.pendingAudioSegments.push(e),jr.audioSourceBuffer&&(ii._opt.mseAutoCleanupSourceBuffer&&jr._needCleanupSourceBuffer()&&jr._doCleanUpSourceBuffer(),vr(jr.getAudioSourceBufferUpdating())&&jr.isStateOpen()&&vr(jr._hasPendingRemoveRanges()))?jr._doAppendSegments():jr.isStateClosed()?(jr.mediaSourceBufferError=!0,jr.emitError(De.mseSourceBufferError,"mediaSource is not attached to video or mediaSource is closed")):jr.isStateEnded()?(jr.mediaSourceBufferError=!0,jr.emitError(De.mseSourceBufferError,"mediaSource is end")):jr._hasPendingRemoveRanges()&&ii.debug.log(jr.TAG_NAME,`audio has pending remove ranges and video length is ${jr.pendingRemoveRanges.length}, audio length is ${jr.pendingAudioRemoveRanges.length}`))},getSourceBufferUpdating:()=>jr.sourceBuffer&&jr.sourceBuffer.updating,getAudioSourceBufferUpdating:()=>jr.audioSourceBuffer&&jr.audioSourceBuffer.updating,stop(){jr.abortSourceBuffer(),jr.removeSourceBuffer(),jr.endOfStream()},clearUpAllSourceBuffer(){if(jr.sourceBuffer){const e=jr.sourceBuffer.buffered;for(let t=0;t<e.length;t++){let r=e.start(t),i=e.end(t);jr.pendingRemoveRanges.push({start:r,end:i})}vr(jr.getSourceBufferUpdating())&&jr._doRemoveRanges()}if(jr.audioSourceBuffer){const e=jr.audioSourceBuffer.buffered;for(let t=0;t<e.length;t++){let r=e.start(t),i=e.end(t);jr.pendingAudioRemoveRanges.push({start:r,end:i})}vr(jr.getAudioSourceBufferUpdating())&&jr._doRemoveRanges()}},endOfStream(){if(jr.isStateOpen()&&wr)if(jr.getSourceBufferUpdating()||jr.getAudioSourceBufferUpdating())ii.debug.log(jr.TAG_NAME,"endOfStream() has pending eos"),jr.hasPendingEos=!0;else{jr.hasPendingEos=!1;try{ii.debug.log(jr.TAG_NAME,"endOfStream()"),jr.mediaSource.endOfStream()}catch(e){ii.debug.warn(jr.TAG_NAME,"endOfStream() error",e)}}},abortSourceBuffer(){if(jr.isStateOpen){if(jr.sourceBuffer){try{ii.debug.log(jr.TAG_NAME,"abortSourceBuffer() abort sourceBuffer"),jr.sourceBuffer.abort()}catch(e){}vr(jr.getSourceBufferUpdating())&&jr._doRemoveRanges()}if(jr.audioSourceBuffer){try{ii.debug.log(jr.TAG_NAME,"abortSourceBuffer() abort audioSourceBuffer"),jr.audioSourceBuffer.abort()}catch(e){}vr(jr.getAudioSourceBufferUpdating())&&jr._doRemoveRanges()}}jr.sourceBuffer=null,jr.audioSourceBuffer=null},removeSourceBuffer(){if(!jr.isStateClosed()&&jr.mediaSource){if(jr.sourceBuffer)try{ii.debug.log(jr.TAG_NAME,"removeSourceBuffer() sourceBuffer"),jr.mediaSource.removeSourceBuffer(jr.sourceBuffer)}catch(e){ii.debug.warn(jr.TAG_NAME,"removeSourceBuffer() sourceBuffer error",e)}if(jr.audioSourceBuffer)try{ii.debug.log(jr.TAG_NAME,"removeSourceBuffer() audioSourceBuffer"),jr.mediaSource.removeSourceBuffer(jr.audioSourceBuffer)}catch(e){ii.debug.warn(jr.TAG_NAME,"removeSourceBuffer() audioSourceBuffer error",e)}}},_hasPendingSegments:()=>jr.pendingSegments.length>0||jr.pendingAudioSegments.length>0,getPendingSegmentsLength:()=>jr.pendingSegments.length,_handleUpdatePlaybackRate(){},_doAppendSegments(){if(jr.isStateClosed()||jr.isStateEnded())ii.debug.log(jr.TAG_NAME,"_doAppendSegments() mediaSource is closed or ended and return");else if(null!==jr.sourceBuffer){if(jr.needInitAudio()&&null===jr.audioSourceBuffer)return ii.debug.log(jr.TAG_NAME,"_doAppendSegments() audioSourceBuffer is null and need init audio source buffer"),void(null===jr.audioSourceBufferCheckTimeout&&(jr.audioSourceBufferCheckTimeout=setTimeout((()=>{jr._clearAudioSourceBufferCheckTimeout(),jr.emitError(De.mediaSourceAudioInitTimeout)}),1e3)));if(vr(jr.getSourceBufferUpdating())&&jr.pendingSegments.length>0){const e=jr.pendingSegments.shift();try{jr.sourceBuffer.appendBuffer(e)}catch(e){ii.debug.error(jr.TAG_NAME,"mseDecoder.sourceBuffer.appendBuffer()",e.code,e),22===e.code?(jr.stop(),jr.mediaSourceAppendBufferFull=!0,jr.emitError(De.mediaSourceFull)):11===e.code?(jr.stop(),jr.mediaSourceAppendBufferError=!0,jr.emitError(De.mediaSourceAppendBufferError)):(jr.stop(),jr.mediaSourceBufferError=!0,jr.emitError(De.mseSourceBufferError,e.code))}}if(vr(jr.getAudioSourceBufferUpdating())&&jr.pendingAudioSegments.length>0){const e=jr.pendingAudioSegments.shift();try{jr.audioSourceBuffer.appendBuffer(e)}catch(e){ii.debug.error(jr.TAG_NAME,"mseDecoder.audioSourceBuffer.appendBuffer()",e.code,e),22===e.code?(jr.stop(),jr.mediaSourceAppendBufferFull=!0,jr.emitError(De.mediaSourceFull)):11===e.code?(jr.stop(),jr.mediaSourceAppendBufferError=!0,jr.emitError(De.mediaSourceAppendBufferError)):(jr.stop(),jr.mediaSourceBufferError=!0,jr.emitError(De.mseSourceBufferError,e.code))}}}else ii.debug.log(jr.TAG_NAME,"_doAppendSegments() sourceBuffer is null and wait init and return")},_doCleanUpSourceBuffer(){const e=jr.$video.currentTime;if(jr.sourceBuffer){const t=jr.sourceBuffer.buffered;let r=!1;for(let i=0;i<t.length;i++){let n=t.start(i),o=t.end(i);if(n<=e&&e<o+3){if(e-n>=ii._opt.mseAutoCleanupMaxBackwardDuration){r=!0;let t=e-ii._opt.mseAutoCleanupMinBackwardDuration;jr.pendingRemoveRanges.push({start:n,end:t})}}else o<e&&(r=!0,jr.pendingRemoveRanges.push({start:n,end:o}))}r&&vr(jr.getSourceBufferUpdating())&&jr._doRemoveRanges()}if(jr.audioSourceBuffer){const t=jr.audioSourceBuffer.buffered;let r=!1;for(let i=0;i<t.length;i++){let n=t.start(i),o=t.end(i);if(n<=e&&e<o+3){if(e-n>=ii._opt.mseAutoCleanupMaxBackwardDuration){r=!0;let t=e-ii._opt.mseAutoCleanupMinBackwardDuration;jr.pendingAudioRemoveRanges.push({start:n,end:t})}}else o<e&&(r=!0,jr.pendingAudioRemoveRanges.push({start:n,end:o}))}r&&vr(jr.getAudioSourceBufferUpdating())&&jr._doRemoveRanges()}},_hasPendingRemoveRanges:()=>jr.pendingRemoveRanges.length>0||jr.pendingAudioRemoveRanges.length>0,needInitAudio:()=>ii._opt.hasAudio&&ii._opt.mseDecodeAudio,_doRemoveRanges(){if(jr.sourceBuffer&&vr(jr.getSourceBufferUpdating())){let e=jr.pendingRemoveRanges;for(;e.length&&vr(jr.getSourceBufferUpdating());){let t=e.shift();try{jr.sourceBuffer.remove(t.start,t.end)}catch(e){ii.debug.warn(jr.TAG_NAME,"_doRemoveRanges() sourceBuffer error",e)}}}if(jr.audioSourceBuffer&&vr(jr.getAudioSourceBufferUpdating())){let e=jr.pendingAudioRemoveRanges;for(;e.length&&vr(jr.getAudioSourceBufferUpdating());){let t=e.shift();try{jr.audioSourceBuffer.remove(t.start,t.end)}catch(e){ii.debug.warn(jr.TAG_NAME,"_doRemoveRanges() audioSourceBuffer error",e)}}}},_getPlaybackRate(){},_needCleanupSourceBuffer(){if(vr(ii._opt.mseAutoCleanupSourceBuffer))return!1;const e=jr.$video.currentTime;if(jr.sourceBuffer){let t=jr.sourceBuffer.buffered;if(t.length>=1&&e-t.start(0)>=ii._opt.mseAutoCleanupMaxBackwardDuration)return!0}if(jr.audioSourceBuffer){let t=jr.audioSourceBuffer.buffered;if(t.length>=1&&e-t.start(0)>=ii._opt.mseAutoCleanupMaxBackwardDuration)return!0}return!1},_clearAudioSourceBufferCheckTimeout(){jr.audioSourceBufferCheckTimeout&&(clearTimeout(jr.audioSourceBufferCheckTimeout),jr.audioSourceBufferCheckTimeout=null)},_clearAudioNoDataCheckTimeout(){jr.audioSourceNoDataCheckTimeout&&(clearTimeout(jr.audioSourceNoDataCheckTimeout),jr.audioSourceNoDataCheckTimeout=null)},getHandle:()=>jr.mediaSource.handle,emitError(e){postMessage({cmd:ne,value:e,msg:arguments.length>1&&void 0!==arguments[1]?arguments[1]:""})}});let ii={isPlayer:!0,isPlayback:!1,dropping:!1,isPushDropping:!1,isWorkerFetch:!1,isDestroyed:!1,fetchStatus:Tt,_opt:Sr(),mp3Demuxer:null,delay:-1,pushLatestDelay:-1,firstTimestamp:null,startTimestamp:null,preDelayTimestamp:null,stopId:null,streamFps:null,streamAudioFps:null,streamVideoFps:null,writableStream:null,networkDelay:0,webglObj:null,startStreamRateAndStatsInterval:function(){ii.stopStreamRateAndStatsInterval(),l=setInterval((()=>{d&&d(0);const e=JSON.stringify({demuxBufferDelay:ii.getVideoBufferLength(),audioDemuxBufferDelay:ii.getAudioBufferLength(),streamBufferByteLength:ii.getStreamBufferLength(),netBuf:ii.networkDelay||0,pushLatestDelay:ii.pushLatestDelay||0,latestDelay:ii.delay,isStreamTsMoreThanLocal:be});postMessage({cmd:G,type:ke,value:e})}),1e3)},stopStreamRateAndStatsInterval:function(){l&&(clearInterval(l),l=null)},useOffscreen:function(){return ii._opt.useOffscreen&&"undefined"!=typeof OffscreenCanvas},getDelay:function(e,t){if(!e||ii._opt.hasVideo&&!U)return-1;if(t===oe)return ii.delay;if(ii.preDelayTimestamp&&ii.preDelayTimestamp>e)return ii.preDelayTimestamp-e>1e3&&ii.debug.warn("worker",`getDelay() and preDelayTimestamp is ${ii.preDelayTimestamp} > timestamp is ${e} more than ${ii.preDelayTimestamp-e}ms and return ${ii.delay}`),ii.preDelayTimestamp=e,ii.delay;if(ii.firstTimestamp){if(e){const t=Date.now()-ii.startTimestamp,r=e-ii.firstTimestamp;t>=r?(be=!1,ii.delay=t-r):(be=!0,ii.delay=r-t)}}else ii.firstTimestamp=e,ii.startTimestamp=Date.now(),ii.delay=-1;return ii.preDelayTimestamp=e,ii.delay},getDelayNotUpdateDelay:function(e,t){if(!e||ii._opt.hasVideo&&!U)return-1;if(t===oe)return ii.pushLatestDelay;if(ii.preDelayTimestamp&&ii.preDelayTimestamp-e>1e3)return ii.debug.warn("worker",`getDelayNotUpdateDelay() and preDelayTimestamp is ${ii.preDelayTimestamp} > timestamp is ${e} more than ${ii.preDelayTimestamp-e}ms and return -1`),-1;if(ii.firstTimestamp){let t=-1;if(e){const r=Date.now()-ii.startTimestamp,i=e-ii.firstTimestamp;r>=i?(be=!1,t=r-i):(be=!0,t=i-r)}return t}return-1},resetDelay:function(){ii.firstTimestamp=null,ii.startTimestamp=null,ii.delay=-1,ii.dropping=!1},resetAllDelay:function(){ii.resetDelay(),ii.preDelayTimestamp=null},doDecode:function(e){ii._opt.isEmitSEI&&e.type===se&&ii.isWorkerFetch&&ii.findSei(e.payload,e.ts),ii.isPlayUseMSEAndDecoderInWorker()?e.type===oe?ii._opt.mseDecodeAudio?jr.decodeAudio(e.payload,e.ts):e.decoder.decode(e.payload,e.ts):e.type===se&&jr.decodeVideo(e.payload,e.ts,e.isIFrame,e.cts):ii._opt.useWCS&&ii.useOffscreen()&&e.type===se&&o.decode?o.decode(e.payload,e.ts,e.cts):e.decoder.decode(e.payload,e.ts,e.isIFrame,e.cts)},decodeNext(e){if(0===i.length)return;const t=e.ts,n=i[0],o=e.type===se&&gr(e.payload);if(vr(r))o&&(ii.debug.log("worker",`decode data type is ${e.type} and\n ts is ${t} next data type is ${n.type} ts is ${n.ts}\n isVideoSqeHeader is ${o}`),i.shift(),ii.doDecode(n));else{const r=n.ts-t,s=n.type===oe&&e.type===se;(r<=20||s||o)&&(ii.debug.log("worker",`decode data type is ${e.type} and\n ts is ${t} next data type is ${n.type} ts is ${n.ts}\n diff is ${r} and isVideoAndNextAudio is ${s} and isVideoSqeHeader is ${o}`),i.shift(),ii.doDecode(n))}},init:function(){ii.debug.log("worker","init and opt is",JSON.stringify(ii._opt));const e=ii._opt.playType===v,t=ii._opt.playType===b;if(Ar.init(),ii.isPlayer=e,ii.isPlayback=t,ii.isPlayUseMSEAndDecoderInWorker()&&jr&&jr.init(),ii.isPlaybackCacheBeforeDecodeForFpsRender())ii.debug.log("worker","playback and playbackIsCacheBeforeDecodeForFpsRender is true");else{ii.debug.log("worker","setInterval()");const t=ii._opt.videoBuffer+ii._opt.videoBufferDelay,r=()=>{let r=null;if(i.length){if(ii.isPushDropping)return void ii.debug.warn("worker",`loop() isPushDropping is true and bufferList length is ${i.length}`);if(ii.dropping){for(r=i.shift(),ii.debug.warn("worker",`loop() dropBuffer is dropping and isIFrame ${r.isIFrame} and delay is ${ii.delay} and bufferlist is ${i.length}`);!r.isIFrame&&i.length;)r=i.shift();const e=ii.getDelayNotUpdateDelay(r.ts,r.type);r.isIFrame&&e<=ii.getNotDroppingDelayTs()&&(ii.debug.log("worker","loop() is dropping = false, is iFrame"),ii.dropping=!1,ii.doDecode(r),ii.decodeNext(r))}else if(ii.isPlayback||ii.isPlayUseMSE()||0===ii._opt.videoBuffer)for(;i.length;)r=i.shift(),ii.doDecode(r);else if(r=i[0],-1===ii.getDelay(r.ts,r.type))ii.debug.log("worker","loop() common dumex delay is -1 ,data.ts is",r.ts),i.shift(),ii.doDecode(r),ii.decodeNext(r);else if(ii.delay>t&&e)ii.hasIframeInBufferList()?(ii.debug.log("worker",`delay is ${ii.delay} > maxDelay ${t}, set dropping is true`),ii.resetAllDelay(),ii.dropping=!0,postMessage({cmd:H})):(i.shift(),ii.doDecode(r),ii.decodeNext(r));else for(;i.length;){if(r=i[0],!(ii.getDelay(r.ts,r.type)>ii._opt.videoBuffer)){ii.delay<0&&ii.debug.warn("worker",`loop() do not decode and delay is ${ii.delay}, bufferList is ${i.length}`);break}i.shift(),ii.doDecode(r)}}else-1!==ii.delay&&ii.debug.log("worker","loop() bufferList is empty and reset delay"),ii.resetAllDelay()};ii.stopId=setInterval((()=>{let e=(new Date).getTime();we||(we=e);const t=e-we;t>100&&ii.debug.warn("worker",`loop demux diff time is ${t}`),r(),we=(new Date).getTime()}),20)}if(vr(ii._opt.checkFirstIFrame)&&(U=!0),ii.isPlayUseMSEAndDecoderInWorker()&&jr){const e=jr.getHandle();e&&postMessage({cmd:re,mseHandle:e},[e])}},playbackCacheLoop:function(){ii.stopId&&(clearInterval(ii.stopId),ii.stopId=null);const e=()=>{let e=null;i.length&&(e=i.shift(),ii.doDecode(e))};e();const t=Math.ceil(1e3/(ii.streamFps*ii._opt.playbackRate));ii.debug.log("worker",`playbackCacheLoop fragDuration is ${t}, streamFps is ${ii.streamFps}, streamAudioFps is ${ii.streamAudioFps} ,streamVideoFps is ${ii.streamVideoFps} playbackRate is ${ii._opt.playbackRate}`),ii.stopId=setInterval(e,t)},close:function(){if(ii.debug.log("worker","close"),ii.isDestroyed=!0,Er(),!a||1!==a.readyState&&2!==a.readyState?a&&ii.debug.log("worker",`close() and socket.readyState is ${a.readyState}`):(nr=!0,a.close(1e3,"Client disconnecting")),a=null,ii.stopStreamRateAndStatsInterval(),ii.stopId&&(clearInterval(ii.stopId),ii.stopId=null),ii.mp3Demuxer&&(ii.mp3Demuxer.destroy(),ii.mp3Demuxer=null),ii.writableStream&&vr(ii.writableStream.locked)&&ii.writableStream.close().catch((e=>{ii.debug.log("worker","close() and writableStream.close() error",e)})),ii.writableStream=null,ni)try{ni.clear&&ni.clear(),ni=null}catch(e){ii.debug.warn("worker","close() and audioDecoder.clear error",e)}if(oi)try{oi.clear&&oi.clear(),oi=null}catch(e){ii.debug.warn("worker","close() and videoDecoder.clear error",e)}d=null,we=null,be=!1,o&&(o.reset&&o.reset(),o=null),jr&&(jr.destroy(),jr=null),ii.firstTimestamp=null,ii.startTimestamp=null,ii.networkDelay=0,ii.streamFps=null,ii.streamAudioFps=null,ii.streamVideoFps=null,ii.delay=-1,ii.pushLatestDelay=-1,ii.preDelayTimestamp=null,ii.dropping=!1,ii.isPushDropping=!1,ii.isPlayer=!0,ii.isPlayback=!1,ii.isWorkerFetch=!1,ii._opt=Sr(),ii.webglObj&&(ii.webglObj.destroy(),ii.offscreenCanvas.removeEventListener("webglcontextlost",ii.onOffscreenCanvasWebglContextLost),ii.offscreenCanvas.removeEventListener("webglcontextrestored",ii.onOffscreenCanvasWebglContextRestored),ii.offscreenCanvas=null,ii.offscreenCanvasGL=null,ii.offscreenCanvasCtx=null),i=[],n=[],u&&(u.buffer=null,u=null),f=null,h=null,S=!1,E=!1,U=!1,Ot=!1,Gt=!1,$t=!1,Ht=null,Yt=null,st=[],mt=0,_t=0,Ve=null,Xe=null,Et=null,At=null,Jt=null,Ut=0,Nt=0,ht=null,pt=null,ii.fetchStatus=Tt,wr=!0,Ar.destroy(),kr.destroy(),Gr.destroy(),$r.destroy(),postMessage({cmd:Y})},pushBuffer:function(e,t){if(t.type===oe&&jt(e)){if(ii.debug.log("worker",`pushBuffer audio ts is ${t.ts}, isAacCodecPacket is true`),ii._opt.isRecordTypeFlv){const t=new Uint8Array(e);postMessage({cmd:J,buffer:t},[t.buffer])}ii.decodeAudio(e,t.ts)}else if(t.type===se&&t.isIFrame&&gr(e)){if(ii.debug.log("worker",`pushBuffer video ts is ${t.ts}, isVideoSequenceHeader is true`),ii._opt.isRecordTypeFlv){const t=new Uint8Array(e);postMessage({cmd:Q,buffer:t},[t.buffer])}ii.decodeVideo(e,t.ts,t.isIFrame,t.cts)}else{if(ii._opt.isRecording)if(ii._opt.isRecordTypeFlv){const r=new Uint8Array(e);postMessage({cmd:ee,type:t.type,buffer:r,ts:t.ts},[r.buffer])}else if(ii._opt.recordType===w)if(t.type===se){const r=new Uint8Array(e).slice(5);postMessage({cmd:z,buffer:r,isIFrame:t.isIFrame,ts:t.ts,cts:t.cts},[r.buffer])}else if(t.type===oe&&ii._opt.isWasmMp4){const r=new Uint8Array(e),i=qt(r)?r.slice(2):r.slice(1);postMessage({cmd:I,buffer:i,ts:t.ts},[i.buffer])}if(ii.isPlayer&&Ut>0&&At>0&&t.type===se){const e=t.ts-At,r=Ut+Ut/2;e>r&&ii.debug.log("worker",`pushBuffer video\n ts is ${t.ts}, preTimestamp is ${At},\n diff is ${e} and preTimestampDuration is ${Ut} and maxDiff is ${r}\n maybe trigger black screen or flower screen\n `)}if(ii.isPlayer&&At>0&&t.type===se&&t.ts<At&&At-t.ts>A&&(ii.debug.warn("worker",`pushBuffer,\n preTimestamp is ${At}, options.ts is ${t.ts},\n diff is ${At-t.ts} more than 3600000,\n and resetAllDelay`),ii.resetAllDelay(),At=null,Ut=0),ii.isPlayer&&At>0&&t.ts<=At&&t.type===se&&(ii.debug.warn("worker",`pushBuffer() and isIFrame is ${t.isIFrame} and,\n options.ts is ${t.ts} less than (or equal) preTimestamp is ${At} and\n payloadBufferSize is ${e.byteLength} and prevPayloadBufferSize is ${Nt}`),ii._opt.isDropSameTimestampGop&&vr(t.isIFrame)&&U)){const e=ii.hasIframeInBufferList(),t=vr(ii.isPushDropping);return ii.debug.log("worker",`pushBuffer, isDropSameTimestampGop is true and\n hasIframe is ${e} and isNotPushDropping is ${t} and next dropBuffer`),void(e&&t?ii.dropBuffer$2():(ii.clearBuffer(!0),yr(ii._opt.checkFirstIFrame)&&yr(r)&&(ii.isPlayUseMSEAndDecoderInWorker()?jr.isDecodeFirstIIframe=!1:postMessage({cmd:te}))))}if(ii.isPlayer&&U){const e=ii._opt.videoBuffer+ii._opt.videoBufferDelay,r=ii.getDelayNotUpdateDelay(t.ts,t.type);ii.pushLatestDelay=r,r>e&&ii.delay<e&&ii.delay>0&&ii.hasIframeInBufferList()&&!1===ii.isPushDropping&&(ii.debug.log("worker",`pushBuffer(), pushLatestDelay is ${r} more than ${e} and decoder.delay is ${ii.delay} and has iIframe and next decoder.dropBuffer$2()`),ii.dropBuffer$2())}if(ii.isPlayer&&t.type===se&&(At>0&&(Ut=t.ts-At),Nt=e.byteLength,At=t.ts),t.type===oe?i.push({ts:t.ts,payload:e,decoder:{decode:ii.decodeAudio},type:oe,isIFrame:!1}):t.type===se&&i.push({ts:t.ts,cts:t.cts,payload:e,decoder:{decode:ii.decodeVideo},type:se,isIFrame:t.isIFrame}),ii.isPlaybackCacheBeforeDecodeForFpsRender()&&(dr(ii.streamVideoFps)||dr(ii.streamAudioFps))){let e=ii.streamVideoFps,t=ii.streamAudioFps;if(dr(ii.streamVideoFps)&&(e=pr(i,se),e&&(ii.streamVideoFps=e,postMessage({cmd:V,value:ii.streamVideoFps}),ii.streamFps=t?e+t:e,vr(ii._opt.hasAudio)&&(ii.debug.log("worker","playbackCacheBeforeDecodeForFpsRender, _opt.hasAudio is false and set streamAudioFps is 0"),ii.streamAudioFps=0),ii.playbackCacheLoop())),dr(ii.streamAudioFps)&&(t=pr(i,oe),t&&(ii.streamAudioFps=t,ii.streamFps=e?e+t:t,ii.playbackCacheLoop())),dr(ii.streamVideoFps)&&dr(ii.streamAudioFps)){const r=i.map((e=>({type:e.type,ts:e.ts})));ii.debug.log("worker",`playbackCacheBeforeDecodeForFpsRender, calc streamAudioFps is ${t}, streamVideoFps is ${e}, bufferListLength is ${i.length}, and ts list is ${JSON.stringify(r)}`)}const r=ii.getAudioBufferLength()>0,n=r?60:40;i.length>=n&&(ii.debug.warn("worker",`playbackCacheBeforeDecodeForFpsRender, bufferListLength is ${i.length} more than ${n}, and hasAudio is ${r} an set streamFps is 25`),ii.streamVideoFps=25,postMessage({cmd:V,value:ii.streamVideoFps}),r?(ii.streamAudioFps=25,ii.streamFps=ii.streamVideoFps+ii.streamAudioFps):ii.streamFps=ii.streamVideoFps,ii.playbackCacheLoop())}}},getVideoBufferLength(){let e=0;return i.forEach((t=>{t.type===se&&(e+=1)})),e},hasIframeInBufferList:()=>i.some((e=>e.type===se&&e.isIFrame)),isAllIframeInBufferList(){const e=ii.getVideoBufferLength();let t=0;return i.forEach((e=>{e.type===se&&e.isIFrame&&(t+=1)})),e===t},getNotDroppingDelayTs:()=>ii._opt.videoBuffer+ii._opt.videoBufferDelay/2,getAudioBufferLength(){let e=0;return i.forEach((t=>{t.type===oe&&(e+=1)})),e},getStreamBufferLength(){let e=0;return u&&u.buffer&&(e=u.buffer.byteLength),ii._opt.isNakedFlow?Ar.lastBuf&&(e=Ar.lastBuf.byteLength):ii._opt.isTs?$r._remainingPacketData&&(e=$r._remainingPacketData.byteLength):ii._opt.isFmp4&&kr.mp4Box&&(e=kr.mp4Box.getAllocatedSampleDataSize()),e},fetchStream:function(e,t){ii.debug.log("worker","fetchStream, url is "+e,"options:",JSON.stringify(t)),ii.isWorkerFetch=!0,t.isFlv?ii._opt.isFlv=!0:t.isFmp4?ii._opt.isFmp4=!0:t.isMpeg4?ii._opt.isMpeg4=!0:t.isNakedFlow?ii._opt.isNakedFlow=!0:t.isTs&&(ii._opt.isTs=!0),d=or((e=>{postMessage({cmd:G,type:Ee,value:e})})),ii.startStreamRateAndStatsInterval(),t.isFmp4&&(kr.listenMp4Box(),ii._opt.isFmp4Private&&kr.initTransportDescarmber()),t.protocol===_?(u=new xr(ii.demuxFlv()),fetch(e,{signal:s.signal}).then((e=>{if(yr(nr))return ii.debug.log("worker","request abort and run res.body.cancel()"),ii.fetchStatus=Tt,void e.body.cancel();if(!mr(e))return ii.debug.warn("worker",`fetch response status is ${e.status} and ok is ${e.ok} and emit error and next abort()`),Er(),void postMessage({cmd:G,type:De.fetchError,value:`fetch response status is ${e.status} and ok is ${e.ok}`});if(postMessage({cmd:G,type:Ue}),fr())ii.writableStream=new WritableStream({write:e=>s&&s.signal&&s.signal.aborted?(ii.debug.log("worker","writableStream write() and abortController.signal.aborted is true so return"),void(ii.fetchStatus=Dt)):yr(nr)?(ii.debug.log("worker","writableStream write() and requestAbort is true so return"),void(ii.fetchStatus=Dt)):void("string"!=typeof e?(ii.fetchStatus=Ct,d(e.byteLength),t.isFlv?u.write(e):t.isFmp4?ii.demuxFmp4(e):t.isMpeg4?ii.demuxMpeg4(e):t.isTs&&ii.demuxTs(e)):ii.debug.warn("worker",`writableStream write() and value is "${e}" string so return`)),close:()=>{ii.debug.log("worker","writableStream close()"),ii.fetchStatus=Dt,u=null,Er(),postMessage({cmd:G,type:Se,value:g,msg:"fetch done"})},abort:e=>{if(s&&s.signal&&s.signal.aborted)return ii.debug.log("worker","writableStream abort() and abortController.signal.aborted is true so return"),void(ii.fetchStatus=Dt);u=null,e.name!==xt?(ii.debug.log("worker",`writableStream abort() and e is ${e.toString()}`),Er(),postMessage({cmd:G,type:De.fetchError,value:e.toString()})):ii.debug.log("worker","writableStream abort() and e.name is AbortError so return")}}),e.body.pipeTo(ii.writableStream);else{const r=e.body.getReader(),i=()=>{r.read().then((e=>{let{done:r,value:n}=e;return r?(ii.debug.log("worker","fetchNext().then() and done is true"),ii.fetchStatus=Dt,u=null,Er(),void postMessage({cmd:G,type:Se,value:g,msg:"fetch done"})):s&&s.signal&&s.signal.aborted?(ii.debug.log("worker","fetchNext().then() and abortController.signal.aborted is true so return"),void(ii.fetchStatus=Dt)):yr(nr)?(ii.debug.log("worker","fetchNext().then() and requestAbort is true so return"),void(ii.fetchStatus=Dt)):void("string"!=typeof n?(ii.fetchStatus=Ct,d(n.byteLength),t.isFlv?u.write(n):t.isFmp4?ii.demuxFmp4(n):t.isMpeg4&&ii.demuxMpeg4(n),i()):ii.debug.warn("worker",`fetchNext().then() and value "${n}" is string so return`))})).catch((e=>{if(s&&s.signal&&s.signal.aborted)return ii.debug.log("worker","fetchNext().catch() and abortController.signal.aborted is true so return"),void(ii.fetchStatus=Dt);u=null,e.name!==xt?(ii.debug.log("worker",`fetchNext().catch() and e is ${e.toString()}`),Er(),postMessage({cmd:G,type:De.fetchError,value:e.toString()})):ii.debug.log("worker","fetchNext().catch() and e.name is AbortError so return")}))};i()}})).catch((e=>{s&&s.signal&&s.signal.aborted?ii.debug.log("worker","fetch().catch() and abortController.signal.aborted is true so return"):e.name!==xt?(ii.debug.log("worker",`fetch().catch() and e is ${e.toString()}`),Er(),postMessage({cmd:G,type:De.fetchError,value:e.toString()}),u=null):ii.debug.log("worker","fetch().catch() and e.name is AbortError so return")}))):t.protocol===m&&(t.isFlv&&(u=new xr(ii.demuxFlv())),a=new WebSocket(e),a.binaryType="arraybuffer",a.onopen=()=>{ii.debug.log("worker","fetchStream, WebsocketStream socket open"),postMessage({cmd:G,type:Ue}),postMessage({cmd:G,type:Ce})},a.onclose=e=>{c?ii.debug.log("worker","fetchStream, WebsocketStream socket close and isSocketError is true , so return"):(ii.debug.log("worker",`fetchStream, WebsocketStream socket close and code is ${e.code}`),1006===e.code&&ii.debug.error("worker",`fetchStream, WebsocketStream socket close abnormally and code is ${e.code}`),yr(nr)?ii.debug.log("worker","fetchStream, WebsocketStream socket close and requestAbort is true so return"):(u=null,postMessage({cmd:G,type:Se,value:y,msg:e.code})))},a.onerror=e=>{ii.debug.error("worker","fetchStream, WebsocketStream socket error",e),c=!0,u=null,postMessage({cmd:G,type:De.websocketError,value:e.isTrusted?"websocket user aborted":"websocket error"})},a.onmessage=e=>{"string"!=typeof e.data?(d(e.data.byteLength),t.isFlv?u.write(e.data):t.isFmp4?ii.demuxFmp4(e.data):t.isMpeg4?ii.demuxMpeg4(e.data):ii._opt.isNakedFlow?ii.demuxNakedFlow(e.data):ii.demuxM7s(e.data)):ii.debug.warn("worker",`socket on message is string "${e.data}" and return`)})},demuxFlv:function*(){yield 9;const e=new ArrayBuffer(4),t=new Uint8Array(e),r=new Uint32Array(e);for(;;){t[3]=0;const e=yield 15,i=e[4];t[0]=e[7],t[1]=e[6],t[2]=e[5];const n=r[0];t[0]=e[10],t[1]=e[9],t[2]=e[8],t[3]=e[11];let o=r[0];const s=(yield n).slice();switch(i){case ae:if(s.byteLength>0){let e=s;yr(ii._opt.m7sCryptoAudio)&&(e=ii.cryptoPayloadAudio(s)),ii.decode(e,{type:oe,ts:o})}else ii.debug.warn("worker",`demuxFlv() type is audio and payload.byteLength is ${s.byteLength} and return`);break;case de:if(s.byteLength>=6){const e=s[0];if(ii._isEnhancedH265Header(e))ii._decodeEnhancedH265Video(s,o);else{s[0];let e=s[0]>>4===kt;if(e&&gr(s)&&null===Ht){const e=15&s[0];Ht=e===Ie,Yt=tr(s,Ht),ii.debug.log("worker",`demuxFlv() isVideoSequenceHeader is true and isHevc is ${Ht} and nalUnitSize is ${Yt}`)}e&&ii.calcIframeIntervalTimestamp(o),ii.isPlayer&&ii.calcNetworkDelay(o),r[0]=s[4],r[1]=s[3],r[2]=s[2],r[3]=0;let t=r[0],i=ii.cryptoPayload(s,e);ii.decode(i,{type:se,ts:o,isIFrame:e,cts:t})}}else ii.debug.warn("worker",`demuxFlv() type is video and payload.byteLength is ${s.byteLength} and return`);break;case le:postMessage({cmd:Z,buffer:s},[s.buffer]);break;default:ii.debug.log("worker",`demuxFlv() type is ${i}`)}}},decode:function(e,t){t.type===oe?ii._opt.hasAudio&&(postMessage({cmd:G,type:Ae,value:e.byteLength}),ii.isPlayer?ii.pushBuffer(e,{type:t.type,ts:t.ts,cts:t.cts}):ii.isPlayback&&(ii.isPlaybackOnlyDecodeIFrame()||(ii.isPlaybackCacheBeforeDecodeForFpsRender(),ii.pushBuffer(e,{type:t.type,ts:t.ts,cts:t.cts})))):t.type===se&&ii._opt.hasVideo&&(postMessage({cmd:G,type:xe,value:e.byteLength}),postMessage({cmd:G,type:Be,value:t.ts}),ii.isPlayer?ii.pushBuffer(e,{type:t.type,ts:t.ts,isIFrame:t.isIFrame,cts:t.cts}):ii.isPlayback&&(ii.isPlaybackOnlyDecodeIFrame()?t.isIFrame&&ii.pushBuffer(e,{type:t.type,ts:t.ts,cts:t.cts,isIFrame:t.isIFrame}):(ii.isPlaybackCacheBeforeDecodeForFpsRender(),ii.pushBuffer(e,{type:t.type,ts:t.ts,cts:t.cts,isIFrame:t.isIFrame}))))},cryptoPayload:function(e,t){let r=e;return ii._opt.isM7sCrypto?ii._opt.cryptoIV&&ii._opt.cryptoIV.byteLength>0&&ii._opt.cryptoKey&&ii._opt.cryptoKey.byteLength>0?r=zi(e,ii._opt.cryptoKey,ii._opt.cryptoIV,Ht):ii.debug.error("worker",`isM7sCrypto cryptoKey.length is ${ii._opt.cryptoKey&&ii._opt.cryptoKey.byteLength} or cryptoIV.length is ${ii._opt.cryptoIV&&ii._opt.cryptoIV.byteLength} null`):ii._opt.isSm4Crypto?ii._opt.sm4CryptoKey&&t?r=sn(e,ii._opt.sm4CryptoKey):ii._opt.sm4CryptoKey||ii.debug.error("worker","isSm4Crypto opt.sm4CryptoKey is null"):ii._opt.isXorCrypto&&(ii._opt.cryptoIV&&ii._opt.cryptoIV.byteLength>0&&ii._opt.cryptoKey&&ii._opt.cryptoKey.byteLength>0?r=fn(e,ii._opt.cryptoKey,ii._opt.cryptoIV,Ht):ii.debug.error("worker",`isXorCrypto cryptoKey.length is ${ii._opt.cryptoKey&&ii._opt.cryptoKey.byteLength} or cryptoIV.length is ${ii._opt.cryptoIV&&ii._opt.cryptoIV.byteLength} null`)),r},cryptoPayloadAudio:function(e){let t=e;return ii._opt.isM7sCrypto&&(ii._opt.cryptoIV&&ii._opt.cryptoIV.byteLength>0&&ii._opt.cryptoKey&&ii._opt.cryptoKey.byteLength>0?e[0]>>4===ze&&(t=Ni(e,ii._opt.cryptoKey,ii._opt.cryptoIV)):ii.debug.error("worker",`isM7sCrypto cryptoKey.length is ${ii._opt.cryptoKey&&ii._opt.cryptoKey.byteLength} or cryptoIV.length is ${ii._opt.cryptoIV&&ii._opt.cryptoIV.byteLength} null`)),t},setCodecAudio:function(e,t){const r=e[0]>>4,i=e[0]>>1&1;if(Jt=r===ze?i?16:8:0===i?8:16,ni&&ni.setCodec)if(jt(e)||r===Ne||r===Oe||r===Ge){ii.debug.log("worker",`setCodecAudio: init audio codec, codeId is ${r}`);const i=r===ze?e.slice(2):new Uint8Array(0);ni.setCodec(r,ii._opt.sampleRate,i),r===ze&&postMessage({cmd:L,buffer:i},[i.buffer]),E=!0,r!==ze&&(r===Ge?(ii.mp3Demuxer||(ii.mp3Demuxer=new ln(ii),ii.mp3Demuxer.on("data",((e,t)=>{ni.decode(e,t)}))),ii.mp3Demuxer.dispatch(e.slice(1),t)):ni.decode(e.slice(1),t))}else ii.debug.warn("worker","setCodecAudio: hasInitAudioCodec is false, codecId is ",r);else ii.debug.error("worker","setCodecAudio: audioDecoder or audioDecoder.setCodec is null")},decodeAudio:function(e,t){if(ii.isDestroyed)ii.debug.log("worker","decodeAudio, decoder is destroyed and return");else if(ii.isPlayUseMSEAndDecoderInWorkerAndMseDecodeAudio())jr.decodeAudio(e,t);else if(yr(r)&&yr(ii._opt.mseDecodeAudio))postMessage({cmd:O,payload:e,ts:t,cts:t},[e.buffer]);else{const r=e[0]>>4;if(E){if(jt(e))return void ii.debug.log("worker","decodeAudio and has already initialized and payload is aac codec packet so drop this frame");r===Ge?ii.mp3Demuxer.dispatch(e.slice(1),t):ni.decode(r===ze?e.slice(2):e.slice(1),t)}else ii.setCodecAudio(e,t)}},setCodecVideo:function(e){const t=15&e[0];if(oi&&oi.setCodec)if(gr(e))if(t===Fe||t===Ie){ii.debug.log("worker",`setCodecVideo: init video codec , codecId is ${t}`);const r=e.slice(5);if(t===Fe&&ii._opt.useSIMD){const e=Tr(r);if(e.codecWidth>x||e.codecHeight>x)return postMessage({cmd:q}),void ii.debug.warn("worker",`setCodecVideo: SIMD H264 decode video width is too large, width is ${e.codecWidth}, height is ${e.codecHeight}`)}const i=new Uint8Array(e);S=!0,oi.setCodec(t,r),postMessage({cmd:M,code:t}),postMessage({cmd:R,buffer:i,codecId:t},[i.buffer])}else ii.debug.warn("worker",`setCodecVideo: hasInitVideoCodec is false, codecId is ${t} is not H264 or H265`);else ii.debug.warn("worker",`decodeVideo: hasInitVideoCodec is false, codecId is ${t} and frameType is ${e[0]>>4} and packetType is ${e[1]}`);else ii.debug.error("worker","setCodecVideo: videoDecoder or videoDecoder.setCodec is null")},decodeVideo:function(e,t,i){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;if(ii.isDestroyed)ii.debug.log("worker","decodeVideo, decoder is destroyed and return");else if(ii.isPlayUseMSEAndDecoderInWorker())jr.decodeVideo(e,t,i,n);else if(yr(r))postMessage({cmd:N,payload:e,isIFrame:i,ts:t,cts:n,delay:ii.delay},[e.buffer]);else if(S)if(!U&&i&&(U=!0),U){if(i&&gr(e)){const t=15&e[0];let r={};t===Fe?r=Tr(e.slice(5)):t===Ie&&(r=Vr(e)),r.codecWidth&&r.codecHeight&&f&&h&&(r.codecWidth!==f||r.codecHeight!==h)&&(ii.debug.warn("worker",`\n decodeVideo: video width or height is changed,\n old width is ${f}, old height is ${h},\n new width is ${r.codecWidth}, new height is ${r.codecHeight},\n and emit change event`),Gt=!0,postMessage({cmd:W}))}if(Gt)return void ii.debug.warn("worker","decodeVideo: video width or height is changed, and return");if($t)return void ii.debug.warn("worker","decodeVideo: simd decode error, and return");if(gr(e))return void ii.debug.warn("worker","decodeVideo and payload is video sequence header so drop this frame");if(e.byteLength<B)return void ii.debug.warn("worker",`decodeVideo and payload is too small , payload length is ${e.byteLength}`);const r=e.slice(5);oi.decode(r,i?1:0,t)}else ii.debug.log("worker","decodeVideo first frame is not iFrame");else ii.setCodecVideo(e)},clearBuffer:function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];ii.debug.log("worker",`clearBuffer,bufferList length is ${i.length}, need clear is ${e}`),e&&(i=[]),ii.isPlayer&&(ii.resetAllDelay(),yr(ii._opt.checkFirstIFrame)&&(ii.dropping=!0,postMessage({cmd:H}))),yr(ii._opt.checkFirstIFrame)&&vr(r)&&(U=!1)},dropBuffer$2:function(){if(i.length>0){let e=i.findIndex((e=>yr(e.isIFrame)&&e.type===se));if(ii.isAllIframeInBufferList())for(let t=0;t<i.length;t++){const r=i[t],n=ii.getDelayNotUpdateDelay(r.ts,r.type);if(n>=ii.getNotDroppingDelayTs()){ii.debug.log("worker",`dropBuffer$2() isAllIframeInBufferList() is true, and index is ${t} and tempDelay is ${n} and notDroppingDelayTs is ${ii.getNotDroppingDelayTs()}`),e=t;break}}if(e>=0){ii.isPushDropping=!0,postMessage({cmd:H});const t=i.length;i=i.slice(e);const r=i.shift();ii.resetAllDelay(),ii.getDelay(r.ts,r.type),ii.doDecode(r),ii.isPushDropping=!1,ii.debug.log("worker",`dropBuffer$2() iFrameIndex is ${e},and old bufferList length is ${t} ,new bufferList is ${i.length} and new delay is ${ii.delay} `)}else ii.isPushDropping=!1}0===i.length&&(ii.isPushDropping=!1)},demuxM7s:function(e){const t=new DataView(e),r=t.getUint32(1,!1),i=t.getUint8(0),n=new ArrayBuffer(4),o=new Uint32Array(n);switch(i){case oe:ii.decode(new Uint8Array(e,5),{type:oe,ts:r});break;case se:if(t.byteLength>=11){const i=new Uint8Array(e,5),n=i[0];if(ii._isEnhancedH265Header(n))ii._decodeEnhancedH265Video(i,r);else{const e=t.getUint8(5)>>4==1;if(e&&(ii.calcIframeIntervalTimestamp(r),gr(i)&&null===Ht)){const e=15&i[0];Ht=e===Ie}ii.isPlayer&&ii.calcNetworkDelay(r),o[0]=i[4],o[1]=i[3],o[2]=i[2],o[3]=0;let n=o[0],s=ii.cryptoPayload(i,e);ii.decode(s,{type:se,ts:r,isIFrame:e,cts:n})}}else ii.debug.warn("worker",`demuxM7s() type is video and arrayBuffer length is ${e.byteLength} and return`)}},demuxNakedFlow:function(e){Ar.dispatch(e)},demuxFmp4:function(e){kr.dispatch(e)},demuxMpeg4:function(e){Gr.dispatch(e)},demuxTs:function(e){$r.dispatch(e)},_decodeEnhancedH265Video:function(e,t){const r=e[0],i=48&r,n=15&r,o=e.slice(1,5),s=new ArrayBuffer(4),a=new Uint32Array(s),d="a"==String.fromCharCode(o[0]);if(Ht=vr(d),n===Lt){if(i===zt){const r=e.slice(5);if(d);else{const i=new Uint8Array(5+r.length);i.set([28,0,0,0,0],0),i.set(r,5),Yt=tr(e,Ht),ii.debug.log("worker",`demuxFlv() isVideoSequenceHeader(enhancedH265) is true and isHevc is ${Ht} and nalUnitSize is ${Yt}`),ii.decode(i,{type:se,ts:t,isIFrame:!0,cts:0})}}}else if(n===Mt){let r=e,n=0;const o=i===zt;o&&ii.calcIframeIntervalTimestamp(t),d||(a[0]=e[4],a[1]=e[3],a[2]=e[2],a[3]=0,n=a[0],r=Kr(e.slice(8),o),r=ii.cryptoPayload(r,o),ii.decode(r,{type:se,ts:t,isIFrame:o,cts:n}))}else if(n===Rt){const r=i===zt;r&&ii.calcIframeIntervalTimestamp(t);let n=Kr(e.slice(5),r);n=ii.cryptoPayload(n,r),ii.decode(n,{type:se,ts:t,isIFrame:r,cts:0})}},_isEnhancedH265Header:function(e){return(e&It)===It},findSei:function(e,t){let r=4;lr(Yt)&&(r=Yt),Qt(e.slice(5),r).forEach((e=>{const r=Ht?e[0]>>>1&63:31&e[0];(Ht&&(r===dt||r===at)||vr(Ht)&&r===qe)&&postMessage({cmd:X,buffer:e,ts:t},[e.buffer])}))},calcNetworkDelay:function(e){if(!(U&&e>0))return;null===Ve?(Ve=e,Xe=rr()):e<Ve&&(ii.debug.warn("worker",`calcNetworkDelay, dts is ${e} less than bufferStartDts is ${Ve}`),Ve=e,Xe=rr());const t=e-Ve,r=rr()-Xe,i=r>t?r-t:0;ii.networkDelay=i,i>ii._opt.networkDelay&&ii._opt.playType===v&&(ii.debug.warn("worker",`calcNetworkDelay now dts:${e}, start dts is ${Ve} vs start is ${t},local diff is ${r} ,delay is ${i}`),postMessage({cmd:G,type:Te,value:i}))},calcIframeIntervalTimestamp:function(e){null===Et?Et=e:Et<e&&(pt=e-Et,postMessage({cmd:$,value:pt}),Et=e)},canVisibilityDecodeNotDrop:function(){return ii._opt.visibility&&f*h<=2073600},isPlaybackCacheBeforeDecodeForFpsRender:function(){return ii.isPlayback&&ii._opt.playbackIsCacheBeforeDecodeForFpsRender},isPlaybackOnlyDecodeIFrame:function(){return ii._opt.playbackRate>=ii._opt.playbackForwardMaxRateDecodeIFrame},isPlayUseMSE:function(){return ii.isPlayer&&ii._opt.useMSE&&yr(r)},isPlayUseMSEAndDecoderInWorker:function(){return ii.isPlayUseMSE()&&ii._opt.mseDecoderUseWorker},isPlayUseMSEAndDecoderInWorkerAndMseDecodeAudio:function(){return ii.isPlayUseMSEAndDecoderInWorker()&&ii._opt.mseDecodeAudio},playbackUpdatePlaybackRate:function(){ii.clearBuffer(!0)},onOffscreenCanvasWebglContextLost:function(e){ii.debug.error("worker","handleOffscreenCanvasWebglContextLost and next try to create webgl"),e.preventDefault(),Ot=!0,ii.webglObj.destroy(),ii.webglObj=null,ii.offscreenCanvasGL=null,setTimeout((()=>{ii.offscreenCanvasGL=ii.offscreenCanvas.getContext("webgl"),ii.offscreenCanvasGL&&ii.offscreenCanvasGL.getContextAttributes().stencil?(ii.webglObj=p(ii.offscreenCanvasGL,ii._opt.openWebglAlignment),Ot=!1):ii.debug.error("worker","handleOffscreenCanvasWebglContextLost, stencil is false")}),500)},onOffscreenCanvasWebglContextRestored:function(e){ii.debug.log("worker","handleOffscreenCanvasWebglContextRestored"),e.preventDefault()},videoInfo:function(e,t,r){postMessage({cmd:M,code:e}),postMessage({cmd:T,w:t,h:r}),f=t,h=r,ii.useOffscreen()&&(ii.offscreenCanvas=new OffscreenCanvas(t,r),ii.offscreenCanvasGL=ii.offscreenCanvas.getContext("webgl"),ii.webglObj=p(ii.offscreenCanvasGL,ii._opt.openWebglAlignment),ii.offscreenCanvas.addEventListener("webglcontextlost",ii.onOffscreenCanvasWebglContextLost,!1),ii.offscreenCanvas.addEventListener("webglcontextrestored",ii.onOffscreenCanvasWebglContextRestored,!1))},audioInfo:function(e,t,r){postMessage({cmd:F,code:e}),postMessage({cmd:P,sampleRate:t,channels:r,depth:Jt}),_t=r},yuvData:function(t,r){if(ii.isDestroyed)return void ii.debug.log("worker","yuvData, decoder is destroyed and return");const i=f*h*3/2;let n=e.HEAPU8.subarray(t,t+i),o=new Uint8Array(n);if(ht=null,ii.useOffscreen())try{if(Ot)return;ii.webglObj.renderYUV(f,h,o);let e=ii.offscreenCanvas.transferToImageBitmap();postMessage({cmd:C,buffer:e,delay:ii.delay,ts:r},[e])}catch(e){ii.debug.error("worker","yuvData, transferToImageBitmap error is",e)}else postMessage({cmd:C,output:o,delay:ii.delay,ts:r},[o.buffer])},pcmData:function(e,r,i){if(ii.isDestroyed)return void ii.debug.log("worker","pcmData, decoder is destroyed and return");let o=r,s=[],a=0,d=ii._opt.audioBufferSize;for(let r=0;r<2;r++){let i=t.HEAPU32[(e>>2)+r]>>2;s[r]=t.HEAPF32.subarray(i,i+o)}if(mt){if(!(o>=(r=d-mt)))return mt+=o,n[0]=Float32Array.of(...n[0],...s[0]),void(2==_t&&(n[1]=Float32Array.of(...n[1],...s[1])));st[0]=Float32Array.of(...n[0],...s[0].subarray(0,r)),2==_t&&(st[1]=Float32Array.of(...n[1],...s[1].subarray(0,r))),postMessage({cmd:D,buffer:st,ts:i},st.map((e=>e.buffer))),a=r,o-=r}for(mt=o;mt>=d;mt-=d)st[0]=s[0].slice(a,a+=d),2==_t&&(st[1]=s[1].slice(a-d,a)),postMessage({cmd:D,buffer:st,ts:i},st.map((e=>e.buffer)));mt&&(n[0]=s[0].slice(a),2==_t&&(n[1]=s[1].slice(a))),s=[]},errorInfo:function(e){null===ht&&(ht=rr());const t=rr(),r=ir(pt>0?2*pt:5e3,1e3,5e3),i=t-ht;i>r&&(ii.debug.warn("worker",`errorInfo() emit simdDecodeError and\n iframeIntervalTimestamp is ${pt} and diff is ${i} and maxDiff is ${r}\n and replay`),$t=!0,postMessage({cmd:j}))},sendWebsocketMessage:function(e){a?a.readyState===Pe?a.send(e):ii.debug.error("worker","socket is not open"):ii.debug.error("worker","socket is null")},timeEnd:function(){},postStreamToMain(e,t){postMessage({cmd:K,type:t,buffer:e},[e.buffer])}};ii.debug=new Br(ii);let ni=null;t.AudioDecoder&&(ni=new t.AudioDecoder(ii));let oi=null;e.VideoDecoder&&(oi=new e.VideoDecoder(ii)),postMessage({cmd:k}),self.onmessage=function(e){let t=e.data;switch(t.cmd){case ue:try{ii._opt=Object.assign(ii._opt,JSON.parse(t.opt))}catch(e){}ii.init();break;case ce:ii.pushBuffer(t.buffer,t.options);break;case fe:ii.decodeAudio(t.buffer,t.ts);break;case he:ii.decodeVideo(t.buffer,t.ts,t.isIFrame);break;case _e:ii.clearBuffer(t.needClear);break;case ge:ii.fetchStream(t.url,JSON.parse(t.opt));break;case pe:ii.debug.log("worker","close",JSON.stringify(t.options)),t.options&&vr(t.options.isVideoInited)&&(wr=t.options.isVideoInited),ii.close();break;case me:ii.debug.log("worker","updateConfig",t.key,t.value),ii._opt[t.key]=t.value,"playbackRate"===t.key&&(ii.playbackUpdatePlaybackRate(),ii.isPlaybackCacheBeforeDecodeForFpsRender()&&ii.playbackCacheLoop());break;case ye:ii.sendWebsocketMessage(t.message);break;case ve:jr.$video.currentTime=Number(t.message)}}}(e[1],t)}))}));