diff --git a/Mobile.md b/Mobile.md new file mode 100644 index 00000000..60d2da35 --- /dev/null +++ b/Mobile.md @@ -0,0 +1,35 @@ +How to use +====== +>exmple:[**Official Instance**](https://binbashbanana.github.io/webretro/m.html) + +way 1 +===== +```html +
+ + +``` +way 2 +==== +```html + + + + +``` + +way3 +==== +```html + + + +``` + +way4 +==== +> yousite/m.html?rom=xx.gbc&system=mgba diff --git a/assets/Mobile/Fix.js b/assets/Mobile/Fix.js new file mode 100644 index 00000000..add7780c --- /dev/null +++ b/assets/Mobile/Fix.js @@ -0,0 +1,91 @@ +; +function _RWebAudioStart() { + Module.CF('resume'); + return true +} +function _RWebAudioInit(latency) { + RA.numBuffers = latency * RA.context.sampleRate / (1e3 * RA.BUFFER_SIZE) | 0; + if (RA.numBuffers < 2) RA.numBuffers = 2; + for (var i = 0; i < RA.numBuffers; i++) { + RA.buffers[i] = RA.context.createBuffer(2, RA.BUFFER_SIZE, RA.context.sampleRate); + RA.buffers[i].endTime = 0 + } + RA.nonblock = false; + RA.startTime = 0; + RA.context.createGain(); + window["setTimeout"](RA.setStartTime, 0); + Module["pauseMainLoop"](); + return 1 +} +function findEventTarget(target) { + target = maybeCStringToJsString(target); + if(target=="#canvas") return Module.canvas; + var domElement = specialHTMLTargets[target] || (typeof document !== "undefined" ? document.querySelector(target) : undefined); + return domElement +} + +if (!Module.cwrap) { + let ccall = function ccall(ident, returnType, argTypes, args, opts) { + var toC = { + string: (str) => { + var ret = 0; + if (str !== null && str !== undefined && str !== 0) { + var len = (str.length << 2) + 1; + ret = stackAlloc(len); + stringToUTF8(str, ret, len); + } + return ret; + }, + array: (arr) => { + var ret = stackAlloc(arr.length); + writeArrayToMemory(arr, ret); + return ret; + }, + }; + + function convertReturnValue(ret) { + if (returnType === "string") { + return UTF8ToString(ret); + } + if (returnType === "boolean") return Boolean(ret); + return ret; + } + var func = Module['_'+ident]; + var cArgs = []; + var stack = 0; + if (args) { + for (var i = 0; i < args.length; i++) { + var converter = toC[argTypes[i]]; + if (converter) { + if (stack === 0) stack = stackSave(); + cArgs[i] = converter(args[i]); + } else { + cArgs[i] = args[i]; + } + } + } + var ret = func.apply(null, cArgs); + + function onDone(ret) { + if (stack !== 0) stackRestore(stack); + return convertReturnValue(ret); + } + ret = onDone(ret); + return ret; + }; + Module.cwrap = function cwrap(ident, returnType, argTypes, opts) { + argTypes = argTypes || []; + var numericArgs = argTypes.every(function (type) { + return type === "number" + }); + var numericRet = returnType !== "string"; + if (numericRet && numericArgs && !opts) { + return Module['_' + ident]; + } + return function () { + return ccall(ident, returnType, argTypes, arguments, opts) + } + }; +} +var GLOBAL_BASE, RI, RA, MEMFS, FS; +Module.setMEMFS(MEMFS, FS, RA, GLOBAL_BASE); \ No newline at end of file diff --git a/assets/Mobile/Module.js b/assets/Mobile/Module.js new file mode 100644 index 00000000..ccbbe942 --- /dev/null +++ b/assets/Mobile/Module.js @@ -0,0 +1,149 @@ +const Module = new class{ + noInitialRun = true; + arguments = ["-v", "--menu"]; + preRun = []; + postRun = []; + totalDependencies = 0; + serviceVersion = 'cache_v1'; + version = 'v6.5'; + JSversion = 1; + elmid = '#emu-webretro'; + bundleCdn = "https://cdn.jsdelivr.net/gh/BinBashBanana/webretro@master/"; + bundleCdnLatest = "https://cdn.jsdelivr.net/gh/BinBashBanana/webretro/"; + biosCdn = "https://cdn.jsdelivr.net/gh/archtaurus/RetroPieBIOS@master/BIOS/"; + action={}; + isLocal = /^(127|localhost|172)/.test(location.host) + constructor(T){ + const M=this; + M.JSURLINFO = document.currentScript && document.currentScript.src.split('?'); + M.JSpath = (M.JSURLINFO||[''])[0].split('/').slice(0, -1).join('/') + '/'; + if(!T){ + let script = document.createElement('script'); + script.src = M.JSpath+'common.min.js'; + document.addEventListener('NengeReady',e=>{ + console.log(e); + M.RunSart(e.detail); + M.installStart(); + + }) + document.body.appendChild(script); + }else{ + M.RunSart(T); + T.docload(e=>M.installStart(T)); + } + } + RunSart(T){ + const M=this, I = T.Set(M),ElmBody = T.$(M.elmid); + T.DB_NAME = 'webretro_mobile'; //定义 indexdb name + T.LibStore = 'data-libjs'; //定义 储存js文件表 + T.version = 1; + T.DB_STORE_MAP = { //所有表 + 'data-roms': {system: false}, + 'data-system': {version:false}, + 'data-bios': {system: false}, + 'data-config': {timestamp: false}, + 'data-userdata': {timestamp: false}, + 'data-libjs': {}, + } + ElmBody.classList.add('emu-container'); + ElmBody.classList.add('emu-'+T.i18nName); + ElmBody.innerHTML = +`${entry[0].replace(str,'.')}
${entry[1].timestamp.toLocaleTimeString()}
${coreInfo.name}
`)}${coreInfo.core}
${T.getLang('Empty')}
`; + I.toArr(keys, key => { + let other = ''; + if (store == DISK.DB.system) { + other = ``; + } + html += `${T.F.getname(key)}
${other}
${T.getLang('one line one code!')}
`; + T.on(Elm, 'keydown keyup keypress', e => T.stopProp(e), { + passive: true + }); + T.on(Elm, 'opendialog', async function () { + this.hidden = false; + let code = CoreSetings['data']['cheat']; + if (code) T.$(formatClass('dialog-text', !0), this).value = code; + }); + T.on(formatClass('dialog-btn', 'apply', itemName, !0), 'click', async e => { + let code = T.$(formatClass('dialog-text', 'cheat', !0)).value; + CoreSetings.set({ + cheat: code + }); + let codelist = code.trim().split('\n'); + M.cwrap('cmd_cheat_realloc', '', ['number'])(codelist.length); + I.toArr(codelist, (cstr, index) => { + cstr = cstr.trim(); + if (cstr && /^[\w\d\s]+$/.test(cstr)) { + if (M.sysName == 'gba') { + cstr = cstr.replace(/^0(\d)/, '8$1'); + } + M.cwrap('cmd_cheat_set_code', 'string', ['number', 'string'])(index, cstr); + if (!M.cwrap('cmd_cheat_get_code_state', 'number', ['number'])(index)) { + M.cwrap('cmd_cheat_toggle_index', 'string', ['number'])(index); + } + } + }); + M.cwrap('cmd_cheat_apply_cheats', '', [])() + //M.cwrap('cmd_set_shader','null',['string'])('crt-easymode.glslp') + //M.cwrap('cmd_cheat_get_code','string', ['number'])(0) + //M.cwrap('cmd_cheat_set_code','string', ['number', 'string'])(0,'824deded 01') + //M.cwrap('cmd_cheat_realloc','', ['number'])(9) set cheat list + //size M.cwrap('cmd_cheat_toggle_index','number', ['number'])(0) + //size M.cwrap('cmd_cheat_get_code_state','number', ['number'])(0) + //size M.cwrap('cmd_cheat_get_size','number', ['number'])(0) + }); + } + + }, + entry => { + let [itemName, func] = entry, Elm = T.$append(ELMENTS['dialog'], T.$ct('div', '', formatClass('dialog-item', itemName))); + Elm.hidden = true; + Elm.innerHTML = ``; + T.on(T.$(formatClass('dialog-btn', 'close', itemName, !0)), 'click', e => M.CF('CloseDialog', itemName)); + func(Elm, itemName); + } + ) + }, + HtmlMobile() { + let btn = (k, s, t) => ``; + T.$append(ELMENTS['controls'], T.$ct('div', () => { + let html = '', + t = ['up', 'down'], + m; + I.toArr(['left', 'right'], v => { + I.toArr(t, x => { + html += btn(v + ',' + x); + if (!m) html += btn(x); + }); + html += btn(v); + if (!m) html += btn(); + m = !0; + + }); + return html; + }, 'emu-dpad')) + T.$append(ELMENTS['controls'], T.$ct('div', () => { + let html = ''; + I.toArr(['x', 'y', 'a', 'b'], v => { + html += btn(v, v.toUpperCase(), 'ab'); + }); + return html; + }, 'emu-xyab')) + T.$append(ELMENTS['controls'], T.$ct('div', () => { + let html = ''; + I.toArr(['l', 'r'], v => { + html += btn(v, v.toUpperCase(), 'lr'); + }); + return html; + }, 'emu-lbrt')); + T.$append(ELMENTS['controls'], T.$ct('div', () => { + let html = ''; + I.toArr(['select', 'start'], v => { + html += btn(v, v.toUpperCase(), 'ss'); + }); + return html; + }, 'emu-bottom')) + + }, + async HtmlWelcome() { + var system = M.sysName, + sysExt = system + '-', + ElmResult = T.$(resultID), + WelResult = T.$('.emu-wel-result', ElmResult), + WelMenu = T.$('.emu-wel-menu', ElmResult), + Welroms = T.$('.emu-wel-roms', ElmResult), + Welbios = T.$('.emu-wel-bios', ElmResult), + Welgame = T.$('.emu-wel-game', ElmResult), + makeBtn = (gamename, text, key, type) => `${type||''}${gamename}
`, + creatBtn = (gamename, text) => makeBtn(gamename, text, 'path', ''), + biosBtn = (gamename) => makeBtn(gamename, 'download', 'down', 'BIOS:'), + writefile = async (name, u8, index) => { + var store = DISK.DB[index > 1 ? 'bios' : 'roms'], + gamename = name.replace(sysExt, ''); + T.$append(WelResult, T.$ct('div', gamename + ' ' + T.getLang('is write'))); + if (u8) { + if (u8.length <= T.maxsize) { + await store.setData(sysExt + gamename, u8, { + system: system + }); + } + } else { + u8 = await store.data(sysExt + gamename); + } + DISK.MKFILE((index > 1 ? '/system/' : '') + gamename, u8); + if (index < 2) { + T.$append(Welgame, T.$ct('li', creatBtn(gamename, 'play this'), 'emu-wel-li')); + } + u8 = null; + + }, + upload = index => { + M.CF('upload', async file => { + let elm = T.$append(WelResult, T.$ct('div', file.name)), + u8; + if (index == 1 || index == 3) u8 = await T.unFile(file, e => elm.innerHTML = file.name + ':' + e); + else u8 = I.U8(await file.arrayBuffer()); + if (I.u8buf(u8)) { + await writefile(file.name, u8, index); + } else { + await I.Async(I.toArr(u8).map(async entry => writefile(entry[0], entry[1], index))); + T.null(u8); + } + file = null; + u8 = null; + }); + }, + resultfunc = async (e, index) => { + let elm = e.target, + data = I.elmdata(elm); + if (data.path) { + writefile(data.path, null, index ? 2 : 1); + elm.parentNode.remove(); + } else if (data.down) { + let name = F.getname(data.down), + url = data.down, + wpath = ""; + if (index) { + url = ROOT.bios + data.down; + wpath = '/system/'; + if (M.coreInfo['bios'] && M.coreInfo['path']) { + wpath += M.coreInfo['path']; + } + } + elm.parentNode.remove(); + await T.FetchItem({ + url, + key: sysExt + name, + store: DISK.DB[index ? 'bios' : 'roms'], + dataOption: { + system: system + }, + async success(u8) { + let mime = F.CheckExt(u8); + if ((mime == 'zip' && M.coreInfo['extensions'].includes(mime)) || ['7z', 'rar'].includes(mime)) { + let elm = T.$append(WelResult, T.$ce('div')); + u8 = await F.unFile(u8, e => elm.innerHTML = name + ' ' + e); + } + if (I.u8buf(u8)) DISK.MKFILE(wpath + name, u8); + else I.toArr(v => DISK.MKFILE((index ? '/system/' + v[0] : F.gamename(v[0])), v[1])); + T.$append(WelResult, T.$ct('div', data.down + ' ' + T.getLang('is write'))); + if (!index) { + T.$append(Welgame, T.$ct('li', creatBtn(name, 'play this'))); + } + } + }); + } + }; + I.toArr({ + 'importRoms': 'import roms', + 'importDeRoms': 'decompressed roms', + 'importBios': 'import bios', + 'importDeBios': 'decompressed bios', + }, + (entry, index) => { + let elm = T.$append(WelMenu, T.$ct('button', T.getLang(entry[1]), 'emu-wel-menu-btn emu-wel-btn')); + T.on(elm, 'click', e => upload(index)); + } + ); + I.toArr({ + roms: await DISK.DB.roms.keys({ + index: 'system', + Range: IDBKeyRange.only(system) + }), + bios: await DISK.DB.bios.keys({ + index: 'system', + Range: IDBKeyRange.only(system) + }), + }, (entry, index) => { + let html = "", + elm = T.$('.emu-wel-' + entry[0], ElmResult); + I.toArr(entry[1], v => { + v = v.replace(sysExt, ''); + html += `${t[0].replace(e,".")}
${t[1].timestamp.toLocaleTimeString()}
${s.name}
`}${s.core}
${T.getLang("Empty")}
`;I.toArr(o,(t=>{let o="";e==DISK.DB.system&&(o=``),s+=`${T.F.getname(t)}
${o}
${T.getLang("one line one code!")}
`,T.on(e,"keydown keyup keypress",(e=>T.stopProp(e)),{passive:!0}),T.on(e,"opendialog",(async function(){this.hidden=!1;let e=CoreSetings.data.cheat;e&&(T.$(formatClass("dialog-text",!0),this).value=e)})),T.on(formatClass("dialog-btn","apply",t,!0),"click",(async e=>{let t=T.$(formatClass("dialog-text","cheat",!0)).value;CoreSetings.set({cheat:t});let a=t.trim().split("\n");M.cwrap("cmd_cheat_realloc","",["number"])(a.length),I.toArr(a,((e,t)=>{(e=e.trim())&&/^[\w\d\s]+$/.test(e)&&("gba"==M.sysName&&(e=e.replace(/^0(\d)/,"8$1")),M.cwrap("cmd_cheat_set_code","string",["number","string"])(t,e),M.cwrap("cmd_cheat_get_code_state","number",["number"])(t)||M.cwrap("cmd_cheat_toggle_index","string",["number"])(t))})),M.cwrap("cmd_cheat_apply_cheats","",[])()}))}},(e=>{let[t,a]=e,o=T.$append(ELMENTS.dialog,T.$ct("div","",formatClass("dialog-item",t)));o.hidden=!0,o.innerHTML=``,T.on(T.$(formatClass("dialog-btn","close",t,!0)),"click",(e=>M.CF("CloseDialog",t))),a(o,t)}))},HtmlMobile(){let e=(e,t,a)=>``;T.$append(ELMENTS.controls,T.$ct("div",(()=>{let t,a="",o=["up","down"];return I.toArr(["left","right"],(s=>{I.toArr(o,(o=>{a+=e(s+","+o),t||(a+=e(o))})),a+=e(s),t||(a+=e()),t=!0})),a}),"emu-dpad")),T.$append(ELMENTS.controls,T.$ct("div",(()=>{let t="";return I.toArr(["x","y","a","b"],(a=>{t+=e(a,a.toUpperCase(),"ab")})),t}),"emu-xyab")),T.$append(ELMENTS.controls,T.$ct("div",(()=>{let t="";return I.toArr(["l","r"],(a=>{t+=e(a,a.toUpperCase(),"lr")})),t}),"emu-lbrt")),T.$append(ELMENTS.controls,T.$ct("div",(()=>{let t="";return I.toArr(["select","start"],(a=>{t+=e(a,a.toUpperCase(),"ss")})),t}),"emu-bottom"))},async HtmlWelcome(){var e=M.sysName,t=e+"-",a=T.$(resultID),o=T.$(".emu-wel-result",a),s=T.$(".emu-wel-menu",a),n=(T.$(".emu-wel-roms",a),T.$(".emu-wel-bios",a),T.$(".emu-wel-game",a)),i=(e,t,a,o)=>`${o||""}${e}
`,r=(e,t)=>i(e,t,"path",""),l=async(a,s,i)=>{var l=DISK.DB[i>1?"bios":"roms"],u=a.replace(t,"");T.$append(o,T.$ct("div",u+" "+T.getLang("is write"))),s?s.length<=T.maxsize&&await l.setData(t+u,s,{system:e}):s=await l.data(t+u),DISK.MKFILE((i>1?"/system/":"")+u,s),i<2&&T.$append(n,T.$ct("li",r(u,"play this"),"emu-wel-li")),s=null};I.toArr({importRoms:"import roms",importDeRoms:"decompressed roms",importBios:"import bios",importDeBios:"decompressed bios"},((e,t)=>{let a=T.$append(s,T.$ct("button",T.getLang(e[1]),"emu-wel-menu-btn emu-wel-btn"));T.on(a,"click",(e=>(e=>{M.CF("upload",(async t=>{let a,s=T.$append(o,T.$ct("div",t.name));a=1==e||3==e?await T.unFile(t,(e=>s.innerHTML=t.name+":"+e)):I.U8(await t.arrayBuffer()),I.u8buf(a)?await l(t.name,a,e):(await I.Async(I.toArr(a).map((async t=>l(t[0],t[1],e)))),T.null(a)),t=null,a=null}))})(t)))})),I.toArr({roms:await DISK.DB.roms.keys({index:"system",Range:IDBKeyRange.only(e)}),bios:await DISK.DB.bios.keys({index:"system",Range:IDBKeyRange.only(e)})},((s,u)=>{let m="",c=T.$(".emu-wel-"+s[0],a);I.toArr(s[1],(e=>{e=e.replace(t,""),m+=`
+
\n?CGJMXYZ[\\]^_`acdefgijklrstyz{|\0Illegal byte sequence\0Domain error\0Result not representable\0Not a tty\0Permission denied\0Operation not permitted\0No such file or directory\0No such process\0File exists\0Value too large for data type\0No space left on device\0Out of memory\0Resource busy\0Interrupted system call\0Resource temporarily unavailable\0Invalid seek\0Cross-device link\0Read-only file system\0Directory not empty\0Connection reset by peer\0Operation timed out\0Connection refused\0Host is down\0Host is unreachable\0Address in use\0Broken pipe\0I/O error\0No such device or address\0Block device required\0No such device\0Not a directory\0Is a directory\0Text file busy\0Exec format error\0Invalid argument\0Argument list too long\0Symbolic link loop\0Filename too long\0Too many open files in system\0No file descriptors available\0Bad file descriptor\0No child process\0Bad address\0File too large\0Too many links\0No locks available\0Resource deadlock would occur\0State not recoverable\0Previous owner died\0Operation canceled\0Function not implemented\0No message of desired type\0Identifier removed\0Device not a stream\0No data available\0Device timeout\0Out of streams resources\0Link has been severed\0Protocol error\0Bad message\0File descriptor in bad state\0Not a socket\0Destination address required\0Message too large\0Protocol wrong type for socket\0Protocol not available\0Protocol not supported\0Socket type not supported\0Not supported\0Protocol family not supported\0Address family not supported by protocol\0Address not available\0Network is down\0Network unreachable\0Connection reset by network\0Connection aborted\0No buffer space available\0Socket is connected\0Socket not connected\0Cannot send after socket shutdown\0Operation already in progress\0Operation in progress\0Stale file handle\0Remote I/O error\0Quota exceeded\0No medium found\0Wrong medium type\0No error information[--2]rwa\0', + t = []; + return r.match(/\[--\d+?\]/g).forEach((t => { + e = parseInt(t.match(/\d+/g)[0]), r = r.replace(t, Array(e).fill("\0").join("")) + })), Array.from(r).forEach((e => t.push(e.charCodeAt(0)))), t +} +STATIC_BASE = Runtime.GLOBAL_BASE, STATICTOP = STATIC_BASE + 5408, __ATINIT__.push(), allocate(getAllocte(), "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +var tempDoublePtr = STATICTOP; +STATICTOP += 16, assert(tempDoublePtr % 8 == 0); +var ERRNO_CODES = { + EPERM: 1, + ENOENT: 2, + ESRCH: 3, + EINTR: 4, + EIO: 5, + ENXIO: 6, + E2BIG: 7, + ENOEXEC: 8, + EBADF: 9, + ECHILD: 10, + EAGAIN: 11, + EWOULDBLOCK: 11, + ENOMEM: 12, + EACCES: 13, + EFAULT: 14, + ENOTBLK: 15, + EBUSY: 16, + EEXIST: 17, + EXDEV: 18, + ENODEV: 19, + ENOTDIR: 20, + EISDIR: 21, + EINVAL: 22, + ENFILE: 23, + EMFILE: 24, + ENOTTY: 25, + ETXTBSY: 26, + EFBIG: 27, + ENOSPC: 28, + ESPIPE: 29, + EROFS: 30, + EMLINK: 31, + EPIPE: 32, + EDOM: 33, + ERANGE: 34, + ENOMSG: 42, + EIDRM: 43, + ECHRNG: 44, + EL2NSYNC: 45, + EL3HLT: 46, + EL3RST: 47, + ELNRNG: 48, + EUNATCH: 49, + ENOCSI: 50, + EL2HLT: 51, + EDEADLK: 35, + ENOLCK: 37, + EBADE: 52, + EBADR: 53, + EXFULL: 54, + ENOANO: 55, + EBADRQC: 56, + EBADSLT: 57, + EDEADLOCK: 35, + EBFONT: 59, + ENOSTR: 60, + ENODATA: 61, + ETIME: 62, + ENOSR: 63, + ENONET: 64, + ENOPKG: 65, + EREMOTE: 66, + ENOLINK: 67, + EADV: 68, + ESRMNT: 69, + ECOMM: 70, + EPROTO: 71, + EMULTIHOP: 72, + EDOTDOT: 73, + EBADMSG: 74, + ENOTUNIQ: 76, + EBADFD: 77, + EREMCHG: 78, + ELIBACC: 79, + ELIBBAD: 80, + ELIBSCN: 81, + ELIBMAX: 82, + ELIBEXEC: 83, + ENOSYS: 38, + ENOTEMPTY: 39, + ENAMETOOLONG: 36, + ELOOP: 40, + EOPNOTSUPP: 95, + EPFNOSUPPORT: 96, + ECONNRESET: 104, + ENOBUFS: 105, + EAFNOSUPPORT: 97, + EPROTOTYPE: 91, + ENOTSOCK: 88, + ENOPROTOOPT: 92, + ESHUTDOWN: 108, + ECONNREFUSED: 111, + EADDRINUSE: 98, + ECONNABORTED: 103, + ENETUNREACH: 101, + ENETDOWN: 100, + ETIMEDOUT: 110, + EHOSTDOWN: 112, + EHOSTUNREACH: 113, + EINPROGRESS: 115, + EALREADY: 114, + EDESTADDRREQ: 89, + EMSGSIZE: 90, + EPROTONOSUPPORT: 93, + ESOCKTNOSUPPORT: 94, + EADDRNOTAVAIL: 99, + ENETRESET: 102, + EISCONN: 106, + ENOTCONN: 107, + ETOOMANYREFS: 109, + EUSERS: 87, + EDQUOT: 122, + ESTALE: 116, + ENOTSUP: 95, + ENOMEDIUM: 123, + EILSEQ: 84, + EOVERFLOW: 75, + ECANCELED: 125, + ENOTRECOVERABLE: 131, + EOWNERDEAD: 130, + ESTRPIPE: 86 + }, + ERRNO_MESSAGES = { + 0: "Success", + 1: "Not super-user", + 2: "No such file or directory", + 3: "No such process", + 4: "Interrupted system call", + 5: "I/O error", + 6: "No such device or address", + 7: "Arg list too long", + 8: "Exec format error", + 9: "Bad file number", + 10: "No children", + 11: "No more processes", + 12: "Not enough core", + 13: "Permission denied", + 14: "Bad address", + 15: "Block device required", + 16: "Mount device busy", + 17: "File exists", + 18: "Cross-device link", + 19: "No such device", + 20: "Not a directory", + 21: "Is a directory", + 22: "Invalid argument", + 23: "Too many open files in system", + 24: "Too many open files", + 25: "Not a typewriter", + 26: "Text file busy", + 27: "File too large", + 28: "No space left on device", + 29: "Illegal seek", + 30: "Read only file system", + 31: "Too many links", + 32: "Broken pipe", + 33: "Math arg out of domain of func", + 34: "Math result not representable", + 35: "File locking deadlock error", + 36: "File or path name too long", + 37: "No record locks available", + 38: "Function not implemented", + 39: "Directory not empty", + 40: "Too many symbolic links", + 42: "No message of desired type", + 43: "Identifier removed", + 44: "Channel number out of range", + 45: "Level 2 not synchronized", + 46: "Level 3 halted", + 47: "Level 3 reset", + 48: "Link number out of range", + 49: "Protocol driver not attached", + 50: "No CSI structure available", + 51: "Level 2 halted", + 52: "Invalid exchange", + 53: "Invalid request descriptor", + 54: "Exchange full", + 55: "No anode", + 56: "Invalid request code", + 57: "Invalid slot", + 59: "Bad font file fmt", + 60: "Device not a stream", + 61: "No data (for no delay io)", + 62: "Timer expired", + 63: "Out of streams resources", + 64: "Machine is not on the network", + 65: "Package not installed", + 66: "The object is remote", + 67: "The link has been severed", + 68: "Advertise error", + 69: "Srmount error", + 70: "Communication error on send", + 71: "Protocol error", + 72: "Multihop attempted", + 73: "Cross mount point (not really error)", + 74: "Trying to read unreadable message", + 75: "Value too large for defined data type", + 76: "Given log. name not unique", + 77: "f.d. invalid for this operation", + 78: "Remote address changed", + 79: "Can access a needed shared lib", + 80: "Accessing a corrupted shared lib", + 81: ".lib section in a.out corrupted", + 82: "Attempting to link in too many libs", + 83: "Attempting to exec a shared library", + 84: "Illegal byte sequence", + 86: "Streams pipe error", + 87: "Too many users", + 88: "Socket operation on non-socket", + 89: "Destination address required", + 90: "Message too long", + 91: "Protocol wrong type for socket", + 92: "Protocol not available", + 93: "Unknown protocol", + 94: "Socket type not supported", + 95: "Not supported", + 96: "Protocol family not supported", + 97: "Address family not supported by protocol family", + 98: "Address already in use", + 99: "Address not available", + 100: "Network interface is not configured", + 101: "Network is unreachable", + 102: "Connection reset by network", + 103: "Connection aborted", + 104: "Connection reset by peer", + 105: "No buffer space available", + 106: "Socket is already connected", + 107: "Socket is not connected", + 108: "Can't send after socket shutdown", + 109: "Too many references", + 110: "Connection timed out", + 111: "Connection refused", + 112: "Host is down", + 113: "Host is unreachable", + 114: "Socket already connected", + 115: "Connection already in progress", + 116: "Stale file handle", + 122: "Quota exceeded", + 123: "No medium (in tape drive)", + 125: "Operation canceled", + 130: "Previous owner died", + 131: "State not recoverable" + }; + +function ___setErrNo(e) { + return Module.___errno_location ? HEAP32[Module.___errno_location() >> 2] = e : Module.printErr("failed to set errno from JS"), e +} +var PATH = { + splitPath: function (e) { + return /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1) + }, + normalizeArray: function (e, r) { + for (var t = 0, n = e.length - 1; n >= 0; n--) { + var o = e[n]; + "." === o ? e.splice(n, 1) : ".." === o ? (e.splice(n, 1), t++) : t && (e.splice(n, 1), t--) + } + if (r) + for (; t; t--) e.unshift(".."); + return e + }, + normalize: function (e) { + var r = "/" === e.charAt(0), + t = "/" === e.substr(-1); + return (e = PATH.normalizeArray(e.split("/").filter((function (e) { + return !!e + })), !r).join("/")) || r || (e = "."), e && t && (e += "/"), (r ? "/" : "") + e + }, + dirname: function (e) { + var r = PATH.splitPath(e), + t = r[0], + n = r[1]; + return t || n ? (n && (n = n.substr(0, n.length - 1)), t + n) : "." + }, + basename: function (e) { + if ("/" === e) return "/"; + var r = e.lastIndexOf("/"); + return -1 === r ? e : e.substr(r + 1) + }, + extname: function (e) { + return PATH.splitPath(e)[3] + }, + join: function () { + var e = Array.prototype.slice.call(arguments, 0); + return PATH.normalize(e.join("/")) + }, + join2: function (e, r) { + return PATH.normalize(e + "/" + r) + }, + resolve: function () { + for (var e = "", r = !1, t = arguments.length - 1; t >= -1 && !r; t--) { + var n = t >= 0 ? arguments[t] : FS.cwd(); + if ("string" != typeof n) throw new TypeError("Arguments to path.resolve must be strings"); + if (!n) return ""; + e = n + "/" + e, r = "/" === n.charAt(0) + } + return (r ? "/" : "") + (e = PATH.normalizeArray(e.split("/").filter((function (e) { + return !!e + })), !r).join("/")) || "." + }, + relative: function (e, r) { + function t(e) { + for (var r = 0; r < e.length && "" === e[r]; r++); + for (var t = e.length - 1; t >= 0 && "" === e[t]; t--); + return r > t ? [] : e.slice(r, t - r + 1) + } + e = PATH.resolve(e).substr(1), r = PATH.resolve(r).substr(1); + for (var n = t(e.split("/")), o = t(r.split("/")), i = Math.min(n.length, o.length), a = i, s = 0; s < i; s++) + if (n[s] !== o[s]) { + a = s; + break + } var u = []; + for (s = a; s < n.length; s++) u.push(".."); + return (u = u.concat(o.slice(a))).join("/") + } + }, + MEMFS = { + ops_table: null, + mount: function (e) { + return MEMFS.createNode(null, "/", 16895, 0) + }, + createNode: function (e, r, t, n) { + if (FS.isBlkdev(t) || FS.isFIFO(t)) throw new FS.ErrnoError(ERRNO_CODES.EPERM); + MEMFS.ops_table || (MEMFS.ops_table = { + dir: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + lookup: MEMFS.node_ops.lookup, + mknod: MEMFS.node_ops.mknod, + rename: MEMFS.node_ops.rename, + unlink: MEMFS.node_ops.unlink, + rmdir: MEMFS.node_ops.rmdir, + readdir: MEMFS.node_ops.readdir, + symlink: MEMFS.node_ops.symlink + }, + stream: { + llseek: MEMFS.stream_ops.llseek + } + }, + file: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: { + llseek: MEMFS.stream_ops.llseek, + read: MEMFS.stream_ops.read, + write: MEMFS.stream_ops.write, + allocate: MEMFS.stream_ops.allocate, + mmap: MEMFS.stream_ops.mmap, + msync: MEMFS.stream_ops.msync + } + }, + link: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + readlink: MEMFS.node_ops.readlink + }, + stream: {} + }, + chrdev: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: FS.chrdev_stream_ops + } + }); + var o = FS.createNode(e, r, t, n); + return FS.isDir(o.mode) ? (o.node_ops = MEMFS.ops_table.dir.node, o.stream_ops = MEMFS.ops_table.dir.stream, o.contents = {}) : FS.isFile(o.mode) ? (o.node_ops = MEMFS.ops_table.file.node, o.stream_ops = MEMFS.ops_table.file.stream, o.usedBytes = 0, o.contents = null) : FS.isLink(o.mode) ? (o.node_ops = MEMFS.ops_table.link.node, o.stream_ops = MEMFS.ops_table.link.stream) : FS.isChrdev(o.mode) && (o.node_ops = MEMFS.ops_table.chrdev.node, o.stream_ops = MEMFS.ops_table.chrdev.stream), o.timestamp = Date.now(), e && (e.contents[r] = o), o + }, + getFileDataAsRegularArray: function (e) { + if (e.contents && e.contents.subarray) { + for (var r = [], t = 0; t < e.usedBytes; ++t) r.push(e.contents[t]); + return r + } + return e.contents + }, + getFileDataAsTypedArray: function (e) { + return e.contents ? e.contents.subarray ? e.contents.subarray(0, e.usedBytes) : new Uint8Array(e.contents) : new Uint8Array + }, + expandFileStorage: function (e, r) { + if (e.contents && e.contents.subarray && r > e.contents.length && (e.contents = MEMFS.getFileDataAsRegularArray(e), e.usedBytes = e.contents.length), !e.contents || e.contents.subarray) { + var t = e.contents ? e.contents.length : 0; + if (t >= r) return; + r = Math.max(r, t * (t < 1048576 ? 2 : 1.125) | 0), 0 != t && (r = Math.max(r, 256)); + var n = e.contents; + return e.contents = new Uint8Array(r), void(e.usedBytes > 0 && e.contents.set(n.subarray(0, e.usedBytes), 0)) + } + for (!e.contents && r > 0 && (e.contents = []); e.contents.length < r;) e.contents.push(0) + }, + resizeFileStorage: function (e, r) { + if (e.usedBytes != r) { + if (0 == r) return e.contents = null, void(e.usedBytes = 0); + if (!e.contents || e.contents.subarray) { + var t = e.contents; + return e.contents = new Uint8Array(new ArrayBuffer(r)), t && e.contents.set(t.subarray(0, Math.min(r, e.usedBytes))), void(e.usedBytes = r) + } + if (e.contents || (e.contents = []), e.contents.length > r) e.contents.length = r; + else + for (; e.contents.length < r;) e.contents.push(0); + e.usedBytes = r + } + }, + node_ops: { + getattr: function (e) { + var r = {}; + return r.dev = FS.isChrdev(e.mode) ? e.id : 1, r.ino = e.id, r.mode = e.mode, r.nlink = 1, r.uid = 0, r.gid = 0, r.rdev = e.rdev, FS.isDir(e.mode) ? r.size = 4096 : FS.isFile(e.mode) ? r.size = e.usedBytes : FS.isLink(e.mode) ? r.size = e.link.length : r.size = 0, r.atime = new Date(e.timestamp), r.mtime = new Date(e.timestamp), r.ctime = new Date(e.timestamp), r.blksize = 4096, r.blocks = Math.ceil(r.size / r.blksize), r + }, + setattr: function (e, r) { + void 0 !== r.mode && (e.mode = r.mode), void 0 !== r.timestamp && (e.timestamp = r.timestamp), void 0 !== r.size && MEMFS.resizeFileStorage(e, r.size) + }, + lookup: function (e, r) { + throw FS.genericErrors[ERRNO_CODES.ENOENT] + }, + mknod: function (e, r, t, n) { + return MEMFS.createNode(e, r, t, n) + }, + rename: function (e, r, t) { + if (FS.isDir(e.mode)) { + var n; + try { + n = FS.lookupNode(r, t) + } catch (e) {} + if (n) + for (var o in n.contents) throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY) + } + delete e.parent.contents[e.name], e.name = t, r.contents[t] = e, e.parent = r + }, + unlink: function (e, r) { + delete e.contents[r] + }, + rmdir: function (e, r) { + var t = FS.lookupNode(e, r); + for (var n in t.contents) throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); + delete e.contents[r] + }, + readdir: function (e) { + var r = [".", ".."]; + for (var t in e.contents) e.contents.hasOwnProperty(t) && r.push(t); + return r + }, + symlink: function (e, r, t) { + var n = MEMFS.createNode(e, r, 41471, 0); + return n.link = t, n + }, + readlink: function (e) { + if (!FS.isLink(e.mode)) throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + return e.link + } + }, + stream_ops: { + read: function (e, r, t, n, o) { + var i = e.node.contents; + if (o >= e.node.usedBytes) return 0; + var a = Math.min(e.node.usedBytes - o, n); + if (assert(a >= 0), a > 8 && i.subarray) r.set(i.subarray(o, o + a), t); + else + for (var s = 0; s < a; s++) r[t + s] = i[o + s]; + return a + }, + write: function (e, r, t, n, o, i) { + if (!n) return 0; + var a = e.node; + if (a.timestamp = Date.now(), r.subarray && (!a.contents || a.contents.subarray)) { + if (i) return assert(0 === o, "canOwn must imply no weird position inside the file"), a.contents = r.subarray(t, t + n), a.usedBytes = n, n; + if (0 === a.usedBytes && 0 === o) return a.contents = new Uint8Array(r.subarray(t, t + n)), a.usedBytes = n, n; + if (o + n <= a.usedBytes) return a.contents.set(r.subarray(t, t + n), o), n + } + if (MEMFS.expandFileStorage(a, o + n), a.contents.subarray && r.subarray) a.contents.set(r.subarray(t, t + n), o); + else + for (var s = 0; s < n; s++) a.contents[o + s] = r[t + s]; + return a.usedBytes = Math.max(a.usedBytes, o + n), n + }, + llseek: function (e, r, t) { + var n = r; + if (1 === t ? n += e.position : 2 === t && FS.isFile(e.node.mode) && (n += e.node.usedBytes), n < 0) throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + return n + }, + allocate: function (e, r, t) { + MEMFS.expandFileStorage(e.node, r + t), e.node.usedBytes = Math.max(e.node.usedBytes, r + t) + }, + mmap: function (e, r, t, n, o, i, a) { + if (!FS.isFile(e.node.mode)) throw new FS.ErrnoError(ERRNO_CODES.ENODEV); + var s, u, c = e.node.contents; + if (2 & a || c.buffer !== r && c.buffer !== r.buffer) { + if ((o > 0 || o + n < e.node.usedBytes) && (c = c.subarray ? c.subarray(o, o + n) : Array.prototype.slice.call(c, o, o + n)), u = !0, !(s = _malloc(n))) throw new FS.ErrnoError(ERRNO_CODES.ENOMEM); + r.set(c, s) + } else u = !1, s = c.byteOffset; + return { + ptr: s, + allocated: u + } + }, + msync: function (e, r, t, n, o) { + if (!FS.isFile(e.node.mode)) throw new FS.ErrnoError(ERRNO_CODES.ENODEV); + if (2 & o) return 0; + MEMFS.stream_ops.write(e, r, 0, n, t, !1); + return 0 + } + } + }; +STATICTOP += 16, STATICTOP += 16, STATICTOP += 16; +var FS = { + root: null, + mounts: [], + devices: [null], + streams: [], + nextInode: 1, + nameTable: null, + currentPath: "/", + initialized: !1, + ignorePermissions: !0, + trackingDelegate: {}, + tracking: { + openFlags: { + READ: 1, + WRITE: 2 + } + }, + ErrnoError: null, + genericErrors: {}, + filesystems: null, + syncFSRequests: 0, + handleFSError: function (e) { + if (!(e instanceof FS.ErrnoError)) throw e + " : " + stackTrace(); + return ___setErrNo(e.errno) + }, + lookupPath: function (e, r) { + if (r = r || {}, !(e = PATH.resolve(FS.cwd(), e))) return { + path: "", + node: null + }; + var t = { + follow_mount: !0, + recurse_count: 0 + }; + for (var n in t) void 0 === r[n] && (r[n] = t[n]); + if (r.recurse_count > 8) throw new FS.ErrnoError(ERRNO_CODES.ELOOP); + for (var o = PATH.normalizeArray(e.split("/").filter((function (e) { + return !!e + })), !1), i = FS.root, a = "/", s = 0; s < o.length; s++) { + var u = s === o.length - 1; + if (u && r.parent) break; + if (i = FS.lookupNode(i, o[s]), a = PATH.join2(a, o[s]), FS.isMountpoint(i) && (!u || u && r.follow_mount) && (i = i.mounted.root), !u || r.follow) + for (var c = 0; FS.isLink(i.mode);) { + var l = FS.readlink(a); + if (a = PATH.resolve(PATH.dirname(a), l), i = FS.lookupPath(a, { + recurse_count: r.recurse_count + }).node, c++ > 40) throw new FS.ErrnoError(ERRNO_CODES.ELOOP) + } + } + return { + path: a, + node: i + } + }, + getPath: function (e) { + for (var r;;) { + if (FS.isRoot(e)) { + var t = e.mount.mountpoint; + return r ? "/" !== t[t.length - 1] ? t + "/" + r : t + r : t + } + r = r ? e.name + "/" + r : e.name, e = e.parent + } + }, + hashName: function (e, r) { + for (var t = 0, n = 0; n < r.length; n++) t = (t << 5) - t + r.charCodeAt(n) | 0; + return (e + t >>> 0) % FS.nameTable.length + }, + hashAddNode: function (e) { + var r = FS.hashName(e.parent.id, e.name); + e.name_next = FS.nameTable[r], FS.nameTable[r] = e + }, + hashRemoveNode: function (e) { + var r = FS.hashName(e.parent.id, e.name); + if (FS.nameTable[r] === e) FS.nameTable[r] = e.name_next; + else + for (var t = FS.nameTable[r]; t;) { + if (t.name_next === e) { + t.name_next = e.name_next; + break + } + t = t.name_next + } + }, + lookupNode: function (e, r) { + var t = FS.mayLookup(e); + if (t) throw new FS.ErrnoError(t, e); + for (var n = FS.hashName(e.id, r), o = FS.nameTable[n]; o; o = o.name_next) { + var i = o.name; + if (o.parent.id === e.id && i === r) return o + } + return FS.lookup(e, r) + }, + createNode: function (e, r, t, n) { + if (!FS.FSNode) { + FS.FSNode = function (e, r, t, n) { + e || (e = this), this.parent = e, this.mount = e.mount, this.mounted = null, this.id = FS.nextInode++, this.name = r, this.mode = t, this.node_ops = {}, this.stream_ops = {}, this.rdev = n + }, FS.FSNode.prototype = {}; + var o = 365, + i = 146; + Object.defineProperties(FS.FSNode.prototype, { + read: { + get: function () { + return (this.mode & o) === o + }, + set: function (e) { + e ? this.mode |= o : this.mode &= -366 + } + }, + write: { + get: function () { + return (this.mode & i) === i + }, + set: function (e) { + e ? this.mode |= i : this.mode &= -147 + } + }, + isFolder: { + get: function () { + return FS.isDir(this.mode) + } + }, + isDevice: { + get: function () { + return FS.isChrdev(this.mode) + } + } + }) + } + var a = new FS.FSNode(e, r, t, n); + return FS.hashAddNode(a), a + }, + destroyNode: function (e) { + FS.hashRemoveNode(e) + }, + isRoot: function (e) { + return e === e.parent + }, + isMountpoint: function (e) { + return !!e.mounted + }, + isFile: function (e) { + return 32768 == (61440 & e) + }, + isDir: function (e) { + return 16384 == (61440 & e) + }, + isLink: function (e) { + return 40960 == (61440 & e) + }, + isChrdev: function (e) { + return 8192 == (61440 & e) + }, + isBlkdev: function (e) { + return 24576 == (61440 & e) + }, + isFIFO: function (e) { + return 4096 == (61440 & e) + }, + isSocket: function (e) { + return 49152 == (49152 & e) + }, + flagModes: { + r: 0, + rs: 1052672, + "r+": 2, + w: 577, + wx: 705, + xw: 705, + "w+": 578, + "wx+": 706, + "xw+": 706, + a: 1089, + ax: 1217, + xa: 1217, + "a+": 1090, + "ax+": 1218, + "xa+": 1218 + }, + modeStringToFlags: function (e) { + var r = FS.flagModes[e]; + if (void 0 === r) throw new Error("Unknown file open mode: " + e); + return r + }, + flagsToPermissionString: function (e) { + var r = ["r", "w", "rw"][3 & e]; + return 512 & e && (r += "w"), r + }, + nodePermissions: function (e, r) { + return FS.ignorePermissions || (-1 === r.indexOf("r") || 292 & e.mode) && (-1 === r.indexOf("w") || 146 & e.mode) && (-1 === r.indexOf("x") || 73 & e.mode) ? 0 : ERRNO_CODES.EACCES + }, + mayLookup: function (e) { + var r = FS.nodePermissions(e, "x"); + return r || (e.node_ops.lookup ? 0 : ERRNO_CODES.EACCES) + }, + mayCreate: function (e, r) { + try { + FS.lookupNode(e, r); + return ERRNO_CODES.EEXIST + } catch (e) {} + return FS.nodePermissions(e, "wx") + }, + mayDelete: function (e, r, t) { + var n; + try { + n = FS.lookupNode(e, r) + } catch (e) { + return e.errno + } + var o = FS.nodePermissions(e, "wx"); + if (o) return o; + if (t) { + if (!FS.isDir(n.mode)) return ERRNO_CODES.ENOTDIR; + if (FS.isRoot(n) || FS.getPath(n) === FS.cwd()) return ERRNO_CODES.EBUSY + } else if (FS.isDir(n.mode)) return ERRNO_CODES.EISDIR; + return 0 + }, + mayOpen: function (e, r) { + return e ? FS.isLink(e.mode) ? ERRNO_CODES.ELOOP : FS.isDir(e.mode) && ("r" !== FS.flagsToPermissionString(r) || 512 & r) ? ERRNO_CODES.EISDIR : FS.nodePermissions(e, FS.flagsToPermissionString(r)) : ERRNO_CODES.ENOENT + }, + MAX_OPEN_FDS: 4096, + nextfd: function (e, r) { + e = e || 0, r = r || FS.MAX_OPEN_FDS; + for (var t = e; t <= r; t++) + if (!FS.streams[t]) return t; + throw new FS.ErrnoError(ERRNO_CODES.EMFILE) + }, + getStream: function (e) { + return FS.streams[e] + }, + createStream: function (e, r, t) { + FS.FSStream || (FS.FSStream = function () {}, FS.FSStream.prototype = {}, Object.defineProperties(FS.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 + } + } + })); + var n = new FS.FSStream; + for (var o in e) n[o] = e[o]; + e = n; + var i = FS.nextfd(r, t); + return e.fd = i, FS.streams[i] = e, e + }, + closeStream: function (e) { + FS.streams[e] = null + }, + chrdev_stream_ops: { + open: function (e) {}, + llseek: function () { + throw new FS.ErrnoError(ERRNO_CODES.ESPIPE) + } + }, + major: function (e) { + return e >> 8 + }, + minor: function (e) { + return 255 & e + }, + makedev: function (e, r) { + return e << 8 | r + }, + registerDevice: function (e, r) { + FS.devices[e] = { + stream_ops: r + } + }, + getDevice: function (e) { + return FS.devices[e] + }, + getMounts: function (e) { + for (var r = [], t = [e]; t.length;) { + var n = t.pop(); + r.push(n), t.push.apply(t, n.mounts) + } + return r + }, + syncfs: function (e, r) { + "function" == typeof e && (r = e, e = !1), FS.syncFSRequests++, FS.syncFSRequests; + var t = FS.getMounts(FS.root.mount), + n = 0; + + function o(e) { + return assert(FS.syncFSRequests > 0), FS.syncFSRequests--, r(e) + } + + function i(e) { + if (e) return i.errored ? void 0 : (i.errored = !0, o(e)); + ++n >= t.length && o(null) + } + t.forEach((function (r) { + if (!r.type.syncfs) return i(null); + r.type.syncfs(r, e, i) + })) + }, + mount: function (e, r, t) { + var n, o = "/" === t, + i = !t; + if (o && FS.root) throw new FS.ErrnoError(ERRNO_CODES.EBUSY); + if (!o && !i) { + var a = FS.lookupPath(t, { + follow_mount: !1 + }); + if (t = a.path, n = a.node, FS.isMountpoint(n)) throw new FS.ErrnoError(ERRNO_CODES.EBUSY); + if (!FS.isDir(n.mode)) throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR) + } + var s = { + type: e, + opts: r, + mountpoint: t, + mounts: [] + }, + u = e.mount(s); + return u.mount = s, s.root = u, o ? FS.root = u : n && (n.mounted = s, n.mount && n.mount.mounts.push(s)), u + }, + unmount: function (e) { + var r = FS.lookupPath(e, { + follow_mount: !1 + }); + if (!FS.isMountpoint(r.node)) throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + var t = r.node, + n = t.mounted, + o = FS.getMounts(n); + Object.keys(FS.nameTable).forEach((function (e) { + for (var r = FS.nameTable[e]; r;) { + var t = r.name_next; - 1 !== o.indexOf(r.mount) && FS.destroyNode(r), r = t + } + })), t.mounted = null; + var i = t.mount.mounts.indexOf(n); + assert(-1 !== i), t.mount.mounts.splice(i, 1) + }, + lookup: function (e, r) { + return e.node_ops.lookup(e, r) + }, + mknod: function (e, r, t) { + var n = FS.lookupPath(e, { + parent: !0 + }).node, + o = PATH.basename(e); + if (!o || "." === o || ".." === o) throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + var i = FS.mayCreate(n, o); + if (i) throw new FS.ErrnoError(i); + if (!n.node_ops.mknod) throw new FS.ErrnoError(ERRNO_CODES.EPERM); + return n.node_ops.mknod(n, o, r, t) + }, + create: function (e, r) { + return r = void 0 !== r ? r : 438, r &= 4095, r |= 32768, FS.mknod(e, r, 0) + }, + mkdir: function (e, r) { + return r = void 0 !== r ? r : 511, r &= 1023, r |= 16384, FS.mknod(e, r, 0) + }, + mkdirTree: function (e, r) { + for (var t = e.split("/"), n = "", o = 0; o < t.length; ++o) + if (t[o]) { + n += "/" + t[o]; + try { + FS.mkdir(n, r) + } catch (e) { + if (e.errno != ERRNO_CODES.EEXIST) throw e + } + } + }, + mkdev: function (e, r, t) { + return void 0 === t && (t = r, r = 438), r |= 8192, FS.mknod(e, r, t) + }, + symlink: function (e, r) { + if (!PATH.resolve(e)) throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + var t = FS.lookupPath(r, { + parent: !0 + }).node; + if (!t) throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + var n = PATH.basename(r), + o = FS.mayCreate(t, n); + if (o) throw new FS.ErrnoError(o); + if (!t.node_ops.symlink) throw new FS.ErrnoError(ERRNO_CODES.EPERM); + return t.node_ops.symlink(t, n, e) + }, + rename: function (e, r) { + var t, n, o = PATH.dirname(e), + i = PATH.dirname(r), + a = PATH.basename(e), + s = PATH.basename(r); + try { + t = FS.lookupPath(e, { + parent: !0 + }).node, n = FS.lookupPath(r, { + parent: !0 + }).node + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES.EBUSY) + } + if (!t || !n) throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + if (t.mount !== n.mount) throw new FS.ErrnoError(ERRNO_CODES.EXDEV); + var u, c = FS.lookupNode(t, a), + l = PATH.relative(e, i); + if ("." !== l.charAt(0)) throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + if ("." !== (l = PATH.relative(r, o)).charAt(0)) throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); + try { + u = FS.lookupNode(n, s) + } catch (e) {} + if (c !== u) { + var f = FS.isDir(c.mode), + d = FS.mayDelete(t, a, f); + if (d) throw new FS.ErrnoError(d); + if (d = u ? FS.mayDelete(n, s, f) : FS.mayCreate(n, s)) throw new FS.ErrnoError(d); + if (!t.node_ops.rename) throw new FS.ErrnoError(ERRNO_CODES.EPERM); + if (FS.isMountpoint(c) || u && FS.isMountpoint(u)) throw new FS.ErrnoError(ERRNO_CODES.EBUSY); + if (n !== t && (d = FS.nodePermissions(t, "w"))) throw new FS.ErrnoError(d); + try { + FS.trackingDelegate.willMovePath && FS.trackingDelegate.willMovePath(e, r) + } catch (e) {} + FS.hashRemoveNode(c); + try { + t.node_ops.rename(c, n, s) + } catch (e) { + throw e + } finally { + FS.hashAddNode(c) + } + try { + FS.trackingDelegate.onMovePath && FS.trackingDelegate.onMovePath(e, r) + } catch (e) {} + } + }, + rmdir: function (e) { + var r = FS.lookupPath(e, { + parent: !0 + }).node, + t = PATH.basename(e), + n = FS.lookupNode(r, t), + o = FS.mayDelete(r, t, !0); + if (o) throw new FS.ErrnoError(o); + if (!r.node_ops.rmdir) throw new FS.ErrnoError(ERRNO_CODES.EPERM); + if (FS.isMountpoint(n)) throw new FS.ErrnoError(ERRNO_CODES.EBUSY); + try { + FS.trackingDelegate.willDeletePath && FS.trackingDelegate.willDeletePath(e) + } catch (e) {} + r.node_ops.rmdir(r, t), FS.destroyNode(n); + try { + FS.trackingDelegate.onDeletePath && FS.trackingDelegate.onDeletePath(e) + } catch (e) {} + }, + readdir: function (e) { + var r = FS.lookupPath(e, { + follow: !0 + }).node; + if (!r.node_ops.readdir) throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); + return r.node_ops.readdir(r) + }, + unlink: function (e) { + var r = FS.lookupPath(e, { + parent: !0 + }).node, + t = PATH.basename(e), + n = FS.lookupNode(r, t), + o = FS.mayDelete(r, t, !1); + if (o) throw new FS.ErrnoError(o); + if (!r.node_ops.unlink) throw new FS.ErrnoError(ERRNO_CODES.EPERM); + if (FS.isMountpoint(n)) throw new FS.ErrnoError(ERRNO_CODES.EBUSY); + try { + FS.trackingDelegate.willDeletePath && FS.trackingDelegate.willDeletePath(e) + } catch (e) {} + r.node_ops.unlink(r, t), FS.destroyNode(n); + try { + FS.trackingDelegate.onDeletePath && FS.trackingDelegate.onDeletePath(e) + } catch (e) {} + }, + readlink: function (e) { + var r = FS.lookupPath(e).node; + if (!r) throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + if (!r.node_ops.readlink) throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + return PATH.resolve(FS.getPath(r.parent), r.node_ops.readlink(r)) + }, + stat: function (e, r) { + var t = FS.lookupPath(e, { + follow: !r + }).node; + if (!t) throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + if (!t.node_ops.getattr) throw new FS.ErrnoError(ERRNO_CODES.EPERM); + return t.node_ops.getattr(t) + }, + lstat: function (e) { + return FS.stat(e, !0) + }, + chmod: function (e, r, t) { + var n; + "string" == typeof e ? n = FS.lookupPath(e, { + follow: !t + }).node : n = e; + if (!n.node_ops.setattr) throw new FS.ErrnoError(ERRNO_CODES.EPERM); + n.node_ops.setattr(n, { + mode: 4095 & r | -4096 & n.mode, + timestamp: Date.now() + }) + }, + lchmod: function (e, r) { + FS.chmod(e, r, !0) + }, + fchmod: function (e, r) { + var t = FS.getStream(e); + if (!t) throw new FS.ErrnoError(ERRNO_CODES.EBADF); + FS.chmod(t.node, r) + }, + chown: function (e, r, t, n) { + var o; + "string" == typeof e ? o = FS.lookupPath(e, { + follow: !n + }).node : o = e; + if (!o.node_ops.setattr) throw new FS.ErrnoError(ERRNO_CODES.EPERM); + o.node_ops.setattr(o, { + timestamp: Date.now() + }) + }, + lchown: function (e, r, t) { + FS.chown(e, r, t, !0) + }, + fchown: function (e, r, t) { + var n = FS.getStream(e); + if (!n) throw new FS.ErrnoError(ERRNO_CODES.EBADF); + FS.chown(n.node, r, t) + }, + truncate: function (e, r) { + if (r < 0) throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + var t; + "string" == typeof e ? t = FS.lookupPath(e, { + follow: !0 + }).node : t = e; + if (!t.node_ops.setattr) throw new FS.ErrnoError(ERRNO_CODES.EPERM); + if (FS.isDir(t.mode)) throw new FS.ErrnoError(ERRNO_CODES.EISDIR); + if (!FS.isFile(t.mode)) throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + var n = FS.nodePermissions(t, "w"); + if (n) throw new FS.ErrnoError(n); + t.node_ops.setattr(t, { + size: r, + timestamp: Date.now() + }) + }, + ftruncate: function (e, r) { + var t = FS.getStream(e); + if (!t) throw new FS.ErrnoError(ERRNO_CODES.EBADF); + if (0 == (2097155 & t.flags)) throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + FS.truncate(t.node, r) + }, + utime: function (e, r, t) { + var n = FS.lookupPath(e, { + follow: !0 + }).node; + n.node_ops.setattr(n, { + timestamp: Math.max(r, t) + }) + }, + open: function (e, r, t, n, o) { + if ("" === e) throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + var i; + if (t = void 0 === t ? 438 : t, t = 64 & (r = "string" == typeof r ? FS.modeStringToFlags(r) : r) ? 4095 & t | 32768 : 0, "object" == typeof e) i = e; + else { + e = PATH.normalize(e); + try { + i = FS.lookupPath(e, { + follow: !(131072 & r) + }).node + } catch (e) {} + } + var a = !1; + if (64 & r) + if (i) { + if (128 & r) throw new FS.ErrnoError(ERRNO_CODES.EEXIST) + } else i = FS.mknod(e, t, 0), a = !0; + if (!i) throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + if (FS.isChrdev(i.mode) && (r &= -513), 65536 & r && !FS.isDir(i.mode)) throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); + if (!a) { + var s = FS.mayOpen(i, r); + if (s) throw new FS.ErrnoError(s) + } + 512 & r && FS.truncate(i, 0), r &= -641; + var u = FS.createStream({ + node: i, + path: FS.getPath(i), + flags: r, + seekable: !0, + position: 0, + stream_ops: i.stream_ops, + ungotten: [], + error: !1 + }, n, o); + u.stream_ops.open && u.stream_ops.open(u), !Module.logReadFiles || 1 & r || (FS.readFiles || (FS.readFiles = {}), e in FS.readFiles || (FS.readFiles[e] = 1, Module.printErr("read file: " + e))); + try { + if (FS.trackingDelegate.onOpenFile) { + var c = 0; + 1 != (2097155 & r) && (c |= FS.tracking.openFlags.READ), 0 != (2097155 & r) && (c |= FS.tracking.openFlags.WRITE), FS.trackingDelegate.onOpenFile(e, c) + } + } catch (e) {} + return u + }, + close: function (e) { + e.getdents && (e.getdents = null); + try { + e.stream_ops.close && e.stream_ops.close(e) + } catch (e) { + throw e + } finally { + FS.closeStream(e.fd) + } + }, + llseek: function (e, r, t) { + if (!e.seekable || !e.stream_ops.llseek) throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); + return e.position = e.stream_ops.llseek(e, r, t), e.ungotten = [], e.position + }, + read: function (e, r, t, n, o) { + if (n < 0 || o < 0) throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + if (1 == (2097155 & e.flags)) throw new FS.ErrnoError(ERRNO_CODES.EBADF); + if (FS.isDir(e.node.mode)) throw new FS.ErrnoError(ERRNO_CODES.EISDIR); + if (!e.stream_ops.read) throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + var i = !0; + if (void 0 === o) o = e.position, i = !1; + else if (!e.seekable) throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); + var a = e.stream_ops.read(e, r, t, n, o); + return i || (e.position += a), a + }, + write: function (e, r, t, n, o, i) { + if (n < 0 || o < 0) throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + if (0 == (2097155 & e.flags)) throw new FS.ErrnoError(ERRNO_CODES.EBADF); + if (FS.isDir(e.node.mode)) throw new FS.ErrnoError(ERRNO_CODES.EISDIR); + if (!e.stream_ops.write) throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + 1024 & e.flags && FS.llseek(e, 0, 2); + var a = !0; + if (void 0 === o) o = e.position, a = !1; + else if (!e.seekable) throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); + var s = e.stream_ops.write(e, r, t, n, o, i); + a || (e.position += s); + try { + e.path && FS.trackingDelegate.onWriteToFile && FS.trackingDelegate.onWriteToFile(e.path) + } catch (e) {} + return s + }, + allocate: function (e, r, t) { + if (r < 0 || t <= 0) throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + if (0 == (2097155 & e.flags)) throw new FS.ErrnoError(ERRNO_CODES.EBADF); + if (!FS.isFile(e.node.mode) && !FS.isDir(e.node.mode)) throw new FS.ErrnoError(ERRNO_CODES.ENODEV); + if (!e.stream_ops.allocate) throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP); + e.stream_ops.allocate(e, r, t) + }, + mmap: function (e, r, t, n, o, i, a) { + if (1 == (2097155 & e.flags)) throw new FS.ErrnoError(ERRNO_CODES.EACCES); + if (!e.stream_ops.mmap) throw new FS.ErrnoError(ERRNO_CODES.ENODEV); + return e.stream_ops.mmap(e, r, t, n, o, i, a) + }, + msync: function (e, r, t, n, o) { + return e && e.stream_ops.msync ? e.stream_ops.msync(e, r, t, n, o) : 0 + }, + munmap: function (e) { + return 0 + }, + ioctl: function (e, r, t) { + if (!e.stream_ops.ioctl) throw new FS.ErrnoError(ERRNO_CODES.ENOTTY); + return e.stream_ops.ioctl(e, r, t) + }, + readFile: function (e, r) { + if ((r = r || {}).flags = r.flags || "r", r.encoding = r.encoding || "binary", "utf8" !== r.encoding && "binary" !== r.encoding) throw new Error('Invalid encoding type "' + r.encoding + '"'); + var t, n = FS.open(e, r.flags), + o = FS.stat(e).size, + i = new Uint8Array(o); + return FS.read(n, i, 0, o, 0), "utf8" === r.encoding ? t = UTF8ArrayToString(i, 0) : "binary" === r.encoding && (t = i), FS.close(n), t + }, + writeFile: function (e, r, t) { + if ((t = t || {}).flags = t.flags || "w", t.encoding = t.encoding || "utf8", "utf8" !== t.encoding && "binary" !== t.encoding) throw new Error('Invalid encoding type "' + t.encoding + '"'); + var n = FS.open(e, t.flags, t.mode); + if ("utf8" === t.encoding) { + var o = new Uint8Array(lengthBytesUTF8(r) + 1), + i = stringToUTF8Array(r, o, 0, o.length); + FS.write(n, o, 0, i, 0, t.canOwn) + } else "binary" === t.encoding && FS.write(n, r, 0, r.length, 0, t.canOwn); + FS.close(n) + }, + cwd: function () { + return FS.currentPath + }, + chdir: function (e) { + var r = FS.lookupPath(e, { + follow: !0 + }); + if (null === r.node) throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + if (!FS.isDir(r.node.mode)) throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); + var t = FS.nodePermissions(r.node, "x"); + if (t) throw new FS.ErrnoError(t); + FS.currentPath = r.path + }, + createDefaultDirectories: function () { + FS.mkdir("/tmp"), FS.mkdir("/home"), FS.mkdir("/home/web_user") + }, + createDefaultDevices: function () { + var e; + if (FS.mkdir("/dev"), FS.registerDevice(FS.makedev(1, 3), { + read: function () { + return 0 + }, + write: function (e, r, t, n, o) { + return n + } + }), FS.mkdev("/dev/null", FS.makedev(1, 3)), FS.mkdev("/dev/tty", FS.makedev(5, 0)), FS.mkdev("/dev/tty1", FS.makedev(6, 0)), "undefined" != typeof crypto) { + var r = new Uint8Array(1); + e = function () { + return crypto.getRandomValues(r), r[0] + } + } else e = function () { + return 256 * Math.random() | 0 + }; + FS.createDevice("/dev", "random", e), FS.createDevice("/dev", "urandom", e), FS.mkdir("/dev/shm"), FS.mkdir("/dev/shm/tmp") + }, + createSpecialDirectories: function () { + FS.mkdir("/proc"), FS.mkdir("/proc/self"), FS.mkdir("/proc/self/fd"), FS.mount({ + mount: function () { + var e = FS.createNode("/proc/self", "fd", 16895, 73); + return e.node_ops = { + lookup: function (e, r) { + var t = +r, + n = FS.getStream(t); + if (!n) throw new FS.ErrnoError(ERRNO_CODES.EBADF); + var o = { + parent: null, + mount: { + mountpoint: "fake" + }, + node_ops: { + readlink: function () { + return n.path + } + } + }; + return o.parent = o, o + } + }, e + } + }, {}, "/proc/self/fd") + }, + createStandardStreams: function () { + Module.stdin ? FS.createDevice("/dev", "stdin", Module.stdin) : FS.symlink("/dev/tty", "/dev/stdin"), Module.stdout ? FS.createDevice("/dev", "stdout", null, Module.stdout) : FS.symlink("/dev/tty", "/dev/stdout"), Module.stderr ? FS.createDevice("/dev", "stderr", null, Module.stderr) : FS.symlink("/dev/tty1", "/dev/stderr"); + var e = FS.open("/dev/stdin", "r"); + assert(0 === e.fd, "invalid handle for stdin (" + e.fd + ")"); + var r = FS.open("/dev/stdout", "w"); + assert(1 === r.fd, "invalid handle for stdout (" + r.fd + ")"); + var t = FS.open("/dev/stderr", "w"); + assert(2 === t.fd, "invalid handle for stderr (" + t.fd + ")") + }, + ensureErrnoError: function () { + FS.ErrnoError || (FS.ErrnoError = function (e, r) { + this.node = r, this.setErrno = function (e) { + for (var r in this.errno = e, ERRNO_CODES) + if (ERRNO_CODES[r] === e) { + this.code = r; + break + } + }, this.setErrno(e), this.message = ERRNO_MESSAGES[e], this.stack && (this.stack = demangleAll(this.stack)) + }, FS.ErrnoError.prototype = new Error, FS.ErrnoError.prototype.constructor = FS.ErrnoError, [ERRNO_CODES.ENOENT].forEach((function (e) { + FS.genericErrors[e] = new FS.ErrnoError(e), FS.genericErrors[e].stack = "" + }))) + }, + staticInit: function () { + FS.ensureErrnoError(), FS.nameTable = new Array(4096), FS.mount(MEMFS, {}, "/"), FS.createDefaultDirectories(), FS.createDefaultDevices(), FS.createSpecialDirectories(), FS.filesystems = { + MEMFS: MEMFS + } + }, + init: function (e, r, t) { + assert(!FS.init.initialized, "FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"), FS.init.initialized = !0, FS.ensureErrnoError(), Module.stdin = e || Module.stdin, Module.stdout = r || Module.stdout, Module.stderr = t || Module.stderr, FS.createStandardStreams() + }, + quit: function () { + FS.init.initialized = !1; + var e = Module._fflush; + e && e(0); + for (var r = 0; r < FS.streams.length; r++) { + var t = FS.streams[r]; + t && FS.close(t) + } + }, + getMode: function (e, r) { + var t = 0; + return e && (t |= 365), r && (t |= 146), t + }, + joinPath: function (e, r) { + var t = PATH.join.apply(null, e); + return r && "/" == t[0] && (t = t.substr(1)), t + }, + absolutePath: function (e, r) { + return PATH.resolve(r, e) + }, + standardizePath: function (e) { + return PATH.normalize(e) + }, + findObject: function (e, r) { + var t = FS.analyzePath(e, r); + return t.exists ? t.object : (___setErrNo(t.error), null) + }, + analyzePath: function (e, r) { + try { + e = (n = FS.lookupPath(e, { + follow: !r + })).path + } catch (e) {} + var t = { + isRoot: !1, + exists: !1, + error: 0, + name: null, + path: null, + object: null, + parentExists: !1, + parentPath: null, + parentObject: null + }; + try { + var n = FS.lookupPath(e, { + parent: !0 + }); + t.parentExists = !0, t.parentPath = n.path, t.parentObject = n.node, t.name = PATH.basename(e), n = FS.lookupPath(e, { + follow: !r + }), t.exists = !0, t.path = n.path, t.object = n.node, t.name = n.node.name, t.isRoot = "/" === n.path + } catch (e) { + t.error = e.errno + } + return t + }, + createFolder: function (e, r, t, n) { + var o = PATH.join2("string" == typeof e ? e : FS.getPath(e), r), + i = FS.getMode(t, n); + return FS.mkdir(o, i) + }, + createPath: function (e, r, t, n) { + e = "string" == typeof e ? e : FS.getPath(e); + for (var o = r.split("/").reverse(); o.length;) { + var i = o.pop(); + if (i) { + var a = PATH.join2(e, i); + try { + FS.mkdir(a) + } catch (e) {} + e = a + } + } + return a + }, + createFile: function (e, r, t, n, o) { + var i = PATH.join2("string" == typeof e ? e : FS.getPath(e), r), + a = FS.getMode(n, o); + return FS.create(i, a) + }, + createDataFile: function (e, r, t, n, o, i) { + var a = r ? PATH.join2("string" == typeof e ? e : FS.getPath(e), r) : e, + s = FS.getMode(n, o), + u = FS.create(a, s); + if (t) { + if ("string" == typeof t) { + for (var c = new Array(t.length), l = 0, f = t.length; l < f; ++l) c[l] = t.charCodeAt(l); + t = c + } + FS.chmod(u, 146 | s); + var d = FS.open(u, "w"); + FS.write(d, t, 0, t.length, 0, i), FS.close(d), FS.chmod(u, s) + } + return u + }, + createDevice: function (e, r, t, n) { + var o = PATH.join2("string" == typeof e ? e : FS.getPath(e), r), + i = FS.getMode(!!t, !!n); + FS.createDevice.major || (FS.createDevice.major = 64); + var a = FS.makedev(FS.createDevice.major++, 0); + return FS.registerDevice(a, { + open: function (e) { + e.seekable = !1 + }, + close: function (e) { + n && n.buffer && n.buffer.length && n(10) + }, + read: function (e, r, n, o, i) { + for (var a = 0, s = 0; s < o; s++) { + var u; + try { + u = t() + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES.EIO) + } + if (void 0 === u && 0 === a) throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); + if (null == u) break; + a++, r[n + s] = u + } + return a && (e.node.timestamp = Date.now()), a + }, + write: function (e, r, t, o, i) { + for (var a = 0; a < o; a++) try { + n(r[t + a]) + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES.EIO) + } + return o && (e.node.timestamp = Date.now()), a + } + }), FS.mkdev(o, i, a) + }, + createLink: function (e, r, t, n, o) { + var i = PATH.join2("string" == typeof e ? e : FS.getPath(e), r); + return FS.symlink(t, i) + }, + forceLoadFile: function (e) { + if (e.isDevice || e.isFolder || e.link || e.contents) return !0; + var r = !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 (!Module.read) throw new Error("Cannot load without read() or XMLHttpRequest."); + try { + e.contents = intArrayFromString(Module.read(e.url), !0), e.usedBytes = e.contents.length + } catch (e) { + r = !1 + } + return r || ___setErrNo(ERRNO_CODES.EIO), r + }, + createLazyFile: function (e, r, t, n, o) { + function i() { + this.lengthKnown = !1, this.chunks = [] + } + if (i.prototype.get = function (e) { + if (!(e > this.length - 1 || e < 0)) { + var r = e % this.chunkSize, + t = e / this.chunkSize | 0; + return this.getter(t)[r] + } + }, i.prototype.setDataGetter = function (e) { + this.getter = e + }, i.prototype.cacheLength = function () { + var e = new XMLHttpRequest; + if (e.open("HEAD", t, !1), e.send(null), !(e.status >= 200 && e.status < 300 || 304 === e.status)) throw new Error("Couldn't load " + t + ". Status: " + e.status); + var r, n = Number(e.getResponseHeader("Content-length")), + o = (r = e.getResponseHeader("Accept-Ranges")) && "bytes" === r, + i = (r = e.getResponseHeader("Content-Encoding")) && "gzip" === r, + a = 1048576; + o || (a = n); + var s = this; + s.setDataGetter((function (e) { + var r = e * a, + o = (e + 1) * a - 1; + if (o = Math.min(o, n - 1), void 0 === s.chunks[e] && (s.chunks[e] = function (e, r) { + if (e > r) throw new Error("invalid range (" + e + ", " + r + ") or no bytes requested!"); + if (r > n - 1) throw new Error("only " + n + " bytes available! programmer error!"); + var o = new XMLHttpRequest; + if (o.open("GET", t, !1), n !== a && o.setRequestHeader("Range", "bytes=" + e + "-" + r), "undefined" != typeof Uint8Array && (o.responseType = "arraybuffer"), o.overrideMimeType && o.overrideMimeType("text/plain; charset=x-user-defined"), o.send(null), !(o.status >= 200 && o.status < 300 || 304 === o.status)) throw new Error("Couldn't load " + t + ". Status: " + o.status); + return void 0 !== o.response ? new Uint8Array(o.response || []) : intArrayFromString(o.responseText || "", !0) + }(r, o)), void 0 === s.chunks[e]) throw new Error("doXHR failed!"); + return s.chunks[e] + })), !i && n || (a = n = 1, n = this.getter(0).length, a = n), this._length = n, this._chunkSize = a, this.lengthKnown = !0 + }, "undefined" != typeof XMLHttpRequest) { + if (!ENVIRONMENT_IS_WORKER) throw "Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc"; + var a = new i; + Object.defineProperties(a, { + length: { + get: function () { + return this.lengthKnown || this.cacheLength(), this._length + } + }, + chunkSize: { + get: function () { + return this.lengthKnown || this.cacheLength(), this._chunkSize + } + } + }); + var s = { + isDevice: !1, + contents: a + } + } else s = { + isDevice: !1, + url: t + }; + var u = FS.createFile(e, r, s, n, o); + s.contents ? u.contents = s.contents : s.url && (u.contents = null, u.url = s.url), Object.defineProperties(u, { + usedBytes: { + get: function () { + return this.contents.length + } + } + }); + var c = {}; + return Object.keys(u.stream_ops).forEach((function (e) { + var r = u.stream_ops[e]; + c[e] = function () { + if (!FS.forceLoadFile(u)) throw new FS.ErrnoError(ERRNO_CODES.EIO); + return r.apply(null, arguments) + } + })), c.read = function (e, r, t, n, o) { + if (!FS.forceLoadFile(u)) throw new FS.ErrnoError(ERRNO_CODES.EIO); + var i = e.node.contents; + if (o >= i.length) return 0; + var a = Math.min(i.length - o, n); + if (assert(a >= 0), i.slice) + for (var s = 0; s < a; s++) r[t + s] = i[o + s]; + else + for (s = 0; s < a; s++) r[t + s] = i.get(o + s); + return a + }, u.stream_ops = c, u + }, + createPreloadedFile: function (e, r, t, n, o, i, a, s, u, c) { + Browser.init(); + var l = r ? PATH.resolve(PATH.join2(e, r)) : e, + f = getUniqueRunDependency("cp " + l); + + function d(t) { + function d(t) { + c && c(), s || FS.createDataFile(e, r, t, n, o, u), i && i(), removeRunDependency(f) + } + var S = !1; + Module.preloadPlugins.forEach((function (e) { + S || e.canHandle(l) && (e.handle(t, l, d, (function () { + a && a(), removeRunDependency(f) + })), S = !0) + })), S || d(t) + } + addRunDependency(f), "string" == typeof t ? Browser.asyncLoad(t, (function (e) { + d(e) + }), a) : d(t) + }, + indexedDB: function () { + return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB + }, + DB_NAME: function () { + return "EM_FS_" + window.location.pathname + }, + DB_VERSION: 20, + DB_STORE_NAME: "FILE_DATA", + saveFilesToDB: function (e, r, t) { + r = r || function () {}, t = t || function () {}; + var n = FS.indexedDB(); + try { + var o = n.open(FS.DB_NAME(), FS.DB_VERSION) + } catch (e) { + return t(e) + } + o.onupgradeneeded = function () { + o.result.createObjectStore(FS.DB_STORE_NAME) + }, o.onsuccess = function () { + var n = o.result.transaction([FS.DB_STORE_NAME], "readwrite"), + i = n.objectStore(FS.DB_STORE_NAME), + a = 0, + s = 0, + u = e.length; + + function c() { + 0 == s ? r() : t() + } + e.forEach((function (e) { + var r = i.put(FS.analyzePath(e).object.contents, e); + r.onsuccess = function () { + ++a + s == u && c() + }, r.onerror = function () { + s++, a + s == u && c() + } + })), n.onerror = t + }, o.onerror = t + }, + loadFilesFromDB: function (e, r, t) { + r = r || function () {}, t = t || function () {}; + var n = FS.indexedDB(); + try { + var o = n.open(FS.DB_NAME(), FS.DB_VERSION) + } catch (e) { + return t(e) + } + o.onupgradeneeded = t, o.onsuccess = function () { + var n = o.result; + try { + var i = n.transaction([FS.DB_STORE_NAME], "readonly") + } catch (e) { + return void t(e) + } + var a = i.objectStore(FS.DB_STORE_NAME), + s = 0, + u = 0, + c = e.length; + + function l() { + 0 == u ? r() : t() + } + e.forEach((function (e) { + var r = a.get(e); + r.onsuccess = function () { + FS.analyzePath(e).exists && FS.unlink(e), FS.createDataFile(PATH.dirname(e), PATH.basename(e), r.result, !0, !0, !0), ++s + u == c && l() + }, r.onerror = function () { + u++, s + u == c && l() + } + })), i.onerror = t + }, o.onerror = t + } + }, + SYSCALLS = { + DEFAULT_POLLMASK: 5, + mappings: {}, + umask: 511, + calculateAt: function (e, r) { + if ("/" !== r[0]) { + var t; + if (-100 === e) t = FS.cwd(); + else { + var n = FS.getStream(e); + if (!n) throw new FS.ErrnoError(ERRNO_CODES.EBADF); + t = n.path + } + r = PATH.join2(t, r) + } + return r + }, + doStat: function (e, r, t) { + try { + var n = e(r) + } catch (e) { + if (e && e.node && PATH.normalize(r) !== PATH.normalize(FS.getPath(e.node))) return -ERRNO_CODES.ENOTDIR; + throw e + } + return HEAP32[t >> 2] = n.dev, HEAP32[t + 4 >> 2] = 0, HEAP32[t + 8 >> 2] = n.ino, HEAP32[t + 12 >> 2] = n.mode, HEAP32[t + 16 >> 2] = n.nlink, HEAP32[t + 20 >> 2] = n.uid, HEAP32[t + 24 >> 2] = n.gid, HEAP32[t + 28 >> 2] = n.rdev, HEAP32[t + 32 >> 2] = 0, HEAP32[t + 36 >> 2] = n.size, HEAP32[t + 40 >> 2] = 4096, HEAP32[t + 44 >> 2] = n.blocks, HEAP32[t + 48 >> 2] = n.atime.getTime() / 1e3 | 0, HEAP32[t + 52 >> 2] = 0, HEAP32[t + 56 >> 2] = n.mtime.getTime() / 1e3 | 0, HEAP32[t + 60 >> 2] = 0, HEAP32[t + 64 >> 2] = n.ctime.getTime() / 1e3 | 0, HEAP32[t + 68 >> 2] = 0, HEAP32[t + 72 >> 2] = n.ino, 0 + }, + doMsync: function (e, r, t, n) { + var o = new Uint8Array(HEAPU8.subarray(e, e + t)); + FS.msync(r, o, 0, t, n) + }, + doMkdir: function (e, r) { + return "/" === (e = PATH.normalize(e))[e.length - 1] && (e = e.substr(0, e.length - 1)), FS.mkdir(e, r, 0), 0 + }, + doMknod: function (e, r, t) { + switch (61440 & r) { + case 32768: + case 8192: + case 24576: + case 4096: + case 49152: + break; + default: + return -ERRNO_CODES.EINVAL + } + return FS.mknod(e, r, t), 0 + }, + doReadlink: function (e, r, t) { + if (t <= 0) return -ERRNO_CODES.EINVAL; + var n = FS.readlink(e), + o = Math.min(t, lengthBytesUTF8(n)), + i = HEAP8[r + o]; + return stringToUTF8(n, r, t + 1), HEAP8[r + o] = i, o + }, + doAccess: function (e, r) { + if (-8 & r) return -ERRNO_CODES.EINVAL; + var t; + t = FS.lookupPath(e, { + follow: !0 + }).node; + var n = ""; + return 4 & r && (n += "r"), 2 & r && (n += "w"), 1 & r && (n += "x"), n && FS.nodePermissions(t, n) ? -ERRNO_CODES.EACCES : 0 + }, + doDup: function (e, r, t) { + var n = FS.getStream(t); + return n && FS.close(n), FS.open(e, r, 0, t, t).fd + }, + doReadv: function (e, r, t, n) { + for (var o = 0, i = 0; i < t; i++) { + var a = HEAP32[r + 8 * i >> 2], + s = HEAP32[r + (8 * i + 4) >> 2], + u = FS.read(e, HEAP8, a, s, n); + if (u < 0) return -1; + if (o += u, u < s) break + } + return o + }, + doWritev: function (e, r, t, n) { + for (var o = 0, i = 0; i < t; i++) { + var a = HEAP32[r + 8 * i >> 2], + s = HEAP32[r + (8 * i + 4) >> 2], + u = FS.write(e, HEAP8, a, s, n); + if (u < 0) return -1; + o += u + } + return o + }, + varargs: 0, + get: function (e) { + return SYSCALLS.varargs += 4, HEAP32[SYSCALLS.varargs - 4 >> 2] + }, + getStr: function () { + return Pointer_stringify(SYSCALLS.get()) + }, + getStreamFromFD: function () { + var e = FS.getStream(SYSCALLS.get()); + if (!e) throw new FS.ErrnoError(ERRNO_CODES.EBADF); + return e + }, + getSocketFromFD: function () { + var e = SOCKFS.getSocket(SYSCALLS.get()); + if (!e) throw new FS.ErrnoError(ERRNO_CODES.EBADF); + return e + }, + getSocketAddress: function (e) { + var r = SYSCALLS.get(), + t = SYSCALLS.get(); + if (e && 0 === r) return null; + var n = __read_sockaddr(r, t); + if (n.errno) throw new FS.ErrnoError(n.errno); + return n.addr = DNS.lookup_addr(n.addr) || n.addr, n + }, + get64: function () { + var e = SYSCALLS.get(), + r = SYSCALLS.get(); + return assert(e >= 0 ? 0 === r : -1 === r), e + }, + getZero: function () { + assert(0 === SYSCALLS.get()) + } + }; + +function ___syscall5(e, r) { + SYSCALLS.varargs = r; + try { + var t = SYSCALLS.getStr(), + n = SYSCALLS.get(), + o = SYSCALLS.get(); + return FS.open(t, n, o).fd + } catch (e) { + return void 0 !== FS && e instanceof FS.ErrnoError || abort(e), -e.errno + } +} + +function ___lock() {} + +function ___unlock() {} + +function ___syscall6(e, r) { + SYSCALLS.varargs = r; + try { + var t = SYSCALLS.getStreamFromFD(); + return FS.close(t), 0 + } catch (e) { + return void 0 !== FS && e instanceof FS.ErrnoError || abort(e), -e.errno + } +} +var cttz_i8 = allocate([8, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 6, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 7, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 6, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0], "i8", ALLOC_STATIC); + +function _emscripten_memcpy_big(e, r, t) { + return HEAPU8.set(HEAPU8.subarray(r, r + t), e), e +} + +function ___syscall140(e, r) { + SYSCALLS.varargs = r; + try { + var t = SYSCALLS.getStreamFromFD(), + n = (SYSCALLS.get(), SYSCALLS.get()), + o = SYSCALLS.get(), + i = SYSCALLS.get(), + a = n; + return FS.llseek(t, a, i), HEAP32[o >> 2] = t.position, t.getdents && 0 === a && 0 === i && (t.getdents = null), 0 + } catch (e) { + return void 0 !== FS && e instanceof FS.ErrnoError || abort(e), -e.errno + } +} + +function ___syscall146(e, r) { + SYSCALLS.varargs = r; + try { + var t = SYSCALLS.getStreamFromFD(), + n = SYSCALLS.get(), + o = SYSCALLS.get(); + return SYSCALLS.doWritev(t, n, o) + } catch (e) { + return void 0 !== FS && e instanceof FS.ErrnoError || abort(e), -e.errno + } +} + +function ___syscall54(e, r) { + SYSCALLS.varargs = r; + try { + var t = SYSCALLS.getStreamFromFD(), + n = SYSCALLS.get(); + switch (n) { + case 21505: + return t.tty ? 0 : -ERRNO_CODES.ENOTTY; + case 21506: + return t.tty ? 0 : -ERRNO_CODES.ENOTTY; + case 21519: + if (!t.tty) return -ERRNO_CODES.ENOTTY; + var o = SYSCALLS.get(); + return HEAP32[o >> 2] = 0, 0; + case 21520: + return t.tty ? -ERRNO_CODES.EINVAL : -ERRNO_CODES.ENOTTY; + case 21531: + o = SYSCALLS.get(); + return FS.ioctl(t, n, o); + case 21523: + return t.tty ? 0 : -ERRNO_CODES.ENOTTY; + default: + abort("bad ioctl syscall " + n) + } + } catch (e) { + return void 0 !== FS && e instanceof FS.ErrnoError || abort(e), -e.errno + } +} + +function ___syscall221(e, r) { + SYSCALLS.varargs = r; + try { + var t = SYSCALLS.getStreamFromFD(); + switch (SYSCALLS.get()) { + case 0: + return (n = SYSCALLS.get()) < 0 ? -ERRNO_CODES.EINVAL : FS.open(t.path, t.flags, 0, n).fd; + case 1: + case 2: + return 0; + case 3: + return t.flags; + case 4: + var n = SYSCALLS.get(); + return t.flags |= n, 0; + case 12: + case 12: + n = SYSCALLS.get(); + return HEAP16[n + 0 >> 1] = 2, 0; + case 13: + case 14: + case 13: + case 14: + return 0; + case 16: + case 8: + return -ERRNO_CODES.EINVAL; + case 9: + return ___setErrNo(ERRNO_CODES.EINVAL), -1; + default: + return -ERRNO_CODES.EINVAL + } + } catch (e) { + return void 0 !== FS && e instanceof FS.ErrnoError || abort(e), -e.errno + } +} + +function ___syscall145(e, r) { + SYSCALLS.varargs = r; + try { + var t = SYSCALLS.getStreamFromFD(), + n = SYSCALLS.get(), + o = SYSCALLS.get(); + return SYSCALLS.doReadv(t, n, o) + } catch (e) { + return void 0 !== FS && e instanceof FS.ErrnoError || abort(e), -e.errno + } +} + +function nullFunc_ii(e) { + Module.printErr("Invalid function pointer called with signature 'ii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"), Module.printErr("Build with ASSERTIONS=2 for more info."), abort(e) +} + +function nullFunc_iiii(e) { + Module.printErr("Invalid function pointer called with signature 'iiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"), Module.printErr("Build with ASSERTIONS=2 for more info."), abort(e) +} + +function invoke_ii(e, r) { + try { + return Module.dynCall_ii(e, r) + } catch (e) { + if ("number" != typeof e && "longjmp" !== e) throw e; + Module.setThrew(1, 0) + } +} + +function invoke_iiii(e, r, t, n) { + try { + return Module.dynCall_iiii(e, r, t, n) + } catch (e) { + if ("number" != typeof e && "longjmp" !== e) throw e; + Module.setThrew(1, 0) + } +} +FS.staticInit(), __ATINIT__.unshift((function () { + Module.noFSInit || FS.init.initialized || FS.init() +})), __ATMAIN__.push((function () { + FS.ignorePermissions = !1 +})), __ATEXIT__.push((function () { + FS.quit() +})), Module.FS_createFolder = FS.createFolder, Module.FS_createPath = FS.createPath, Module.FS_createDataFile = FS.createDataFile, Module.FS_createPreloadedFile = FS.createPreloadedFile, Module.FS_createLazyFile = FS.createLazyFile, Module.FS_createLink = FS.createLink, Module.FS_createDevice = FS.createDevice, Module.FS_unlink = FS.unlink, DYNAMICTOP_PTR = allocate(1, "i32", ALLOC_STATIC), STACK_BASE = STACKTOP = Runtime.alignMemory(STATICTOP), STACK_MAX = STACK_BASE + TOTAL_STACK, DYNAMIC_BASE = Runtime.alignMemory(STACK_MAX), HEAP32[DYNAMICTOP_PTR >> 2] = DYNAMIC_BASE, staticSealed = !0, assert(DYNAMIC_BASE < TOTAL_MEMORY, "TOTAL_MEMORY not big enough for stack"), Module.asmLibraryArg = { + abort: abort, + assert: assert, + enlargeMemory: enlargeMemory, + getTotalMemory: getTotalMemory, + abortOnCannotGrowMemory: abortOnCannotGrowMemory, + abortStackOverflow: abortStackOverflow, + nullFunc_ii: nullFunc_ii, + nullFunc_iiii: nullFunc_iiii, + invoke_ii: invoke_ii, + invoke_iiii: invoke_iiii, + ___syscall221: ___syscall221, + _emscripten_asm_const_iiii: _emscripten_asm_const_iiii, + _emscripten_asm_const_i: _emscripten_asm_const_i, + ___lock: ___lock, + ___syscall6: ___syscall6, + ___setErrNo: ___setErrNo, + ___syscall140: ___syscall140, + ___syscall146: ___syscall146, + ___syscall5: ___syscall5, + _emscripten_memcpy_big: _emscripten_memcpy_big, + ___syscall54: ___syscall54, + ___unlock: ___unlock, + ___syscall145: ___syscall145, + _emscripten_asm_const_iii: _emscripten_asm_const_iii, + DYNAMICTOP_PTR: DYNAMICTOP_PTR, + tempDoublePtr: tempDoublePtr, + ABORT: ABORT, + STACKTOP: STACKTOP, + STACK_MAX: STACK_MAX, + cttz_i8: cttz_i8 +}; +var asm = function (e, r) { + var t = new Int8Array(r), + n = new Int16Array(r), + o = new Int32Array(r), + i = new Uint8Array(r), + a = (new Uint16Array(r), new Uint32Array(r), new Float32Array(r), new Float64Array(r)), + s = byteLength, + u = 0 | e.DYNAMICTOP_PTR, + c = 0 | e.tempDoublePtr, + l = (e.ABORT, 0 | e.STACKTOP), + f = 0 | e.STACK_MAX, + d = 0 | e.cttz_i8, + S = 0, + E = 0, + _ = Math.imul, + m = Math.clz32, + h = e.enlargeMemory, + p = e.getTotalMemory, + b = e.abortOnCannotGrowMemory, + k = e.abortStackOverflow, + A = e.nullFunc_ii, + F = e.nullFunc_iiii, + v = e.___syscall221, + M = e._emscripten_asm_const_iiii, + y = e._emscripten_asm_const_i, + T = e.___lock, + g = e.___syscall6, + w = e.___setErrNo, + O = e.___syscall140, + R = e.___syscall146, + N = e.___syscall5, + P = e._emscripten_memcpy_big, + C = e.___syscall54, + D = e.___unlock, + L = e.___syscall145, + I = e._emscripten_asm_const_iii; + + function x(e, r) { + r |= 0; + var n, i = 0, + a = 0; + n = 0 | function (e, r) { + e |= 0, r |= 0; + var n = 0, + i = 0, + a = 0, + s = 0, + u = 0, + c = 0; + n = l, (0 | (l = l + 48 | 0)) >= (0 | f) && k(48); + i = n + 32 | 0, a = n + 16 | 0, s = n, 0 | ie(3788, 0 | t[r >> 0], 4) ? (u = 0 | (d = r, S = 0, E = 0, _ = 0, m = 0, S = 0 == (0 | he(d |= 0, 43)), E = 0 | t[d >> 0], _ = S ? E << 24 >> 24 != 114 & 1 : 2, S = 0 == (0 | he(d, 120)), m = S ? _ : 128 | _, _ = 0 == (0 | he(d, 101)), d = _ ? m : 524288 | m, m = E << 24 >> 24 == 114 ? d : 64 | d, d = E << 24 >> 24 == 119 ? 512 | m : m, 0 | (E << 24 >> 24 == 97 ? 1024 | d : d)), o[s >> 2] = e, o[s + 4 >> 2] = 32768 | u, o[s + 8 >> 2] = 438, (0 | (e = 0 | X(0 | N(5, 0 | s)))) >= 0 ? (524288 & u | 0 && (o[a >> 2] = e, o[a + 4 >> 2] = 2, o[a + 8 >> 2] = 1, v(221, 0 | a)), (a = 0 | function (e, r) { + e |= 0, r |= 0; + var n = 0, + i = 0, + a = 0, + s = 0, + u = 0, + c = 0, + d = 0, + S = 0, + E = 0, + _ = 0, + m = 0, + h = 0, + p = 0; + n = l, (0 | (l = l + 64 | 0)) >= (0 | f) && k(64); + if (i = n + 40 | 0, a = n + 24 | 0, s = n + 16 | 0, u = n, c = n + 56 | 0, 0 | ie(3788, (d = 0 | t[r >> 0]) << 24 >> 24, 4)) + if (S = 0 | V(1156)) { + m = (_ = S) + 124 | 0; + do { + o[_ >> 2] = 0, _ = _ + 4 | 0 + } while ((0 | _) < (0 | m)); + 0 | he(r, 43) || (o[S >> 2] = d << 24 >> 24 == 114 ? 8 : 4), 0 | he(r, 101) ? (o[u >> 2] = e, o[u + 4 >> 2] = 2, o[u + 8 >> 2] = 1, v(221, 0 | u), h = 0 | t[r >> 0]) : h = d, h << 24 >> 24 == 97 ? (o[s >> 2] = e, o[s + 4 >> 2] = 3, 1024 & (h = 0 | v(221, 0 | s)) || (o[a >> 2] = e, o[a + 4 >> 2] = 4, o[a + 8 >> 2] = 1024 | h, v(221, 0 | a)), a = 128 | o[S >> 2], o[S >> 2] = a, p = a) : p = 0 | o[S >> 2], o[S + 60 >> 2] = e, o[S + 44 >> 2] = S + 132, o[S + 48 >> 2] = 1024, t[(a = S + 75 | 0) >> 0] = -1, 0 == (8 & p | 0) && (o[i >> 2] = e, o[i + 4 >> 2] = 21523, o[i + 8 >> 2] = c, 0 == (0 | C(54, 0 | i))) && (t[a >> 0] = 10), o[S + 32 >> 2] = 4, o[S + 36 >> 2] = 3, o[S + 40 >> 2] = 2, o[S + 12 >> 2] = 1, 0 | o[1073] || (o[S + 76 >> 2] = -1), + function (e) { + e |= 0; + var r = 0, + t = 0; + r = 0 | Ae(), o[e + 56 >> 2] = o[r >> 2], 0 | (t = 0 | o[r >> 2]) && (o[t + 52 >> 2] = e); + o[r >> 2] = e, Fe() + }(S), E = S + } else E = 0; + else S = 0 | G(), o[S >> 2] = 22, E = 0; + return l = n, 0 | E + }(e, r)) ? c = a : (o[i >> 2] = e, g(6, 0 | i), c = 0)) : c = 0) : (a = 0 | G(), o[a >> 2] = 22, c = 0); + var d, S, E, _, m; + return l = n, 0 | c + }(e |= 0, 964); + do { + if (0 | n) { + if (Te(n, 0, 2), e = 0 | Re(n), De(n), !(i = 0 | V(e + 1 | 0))) { + Ce(1230), ve(n); + break + } + return (0 | (a = 0 | Oe(i, 1, e, n))) < (0 | e) && Ce(1256), o[r >> 2] = i, t[i + e >> 0] = 0, ve(n), 0 | a + } + } while (0); + return o[r >> 2] = 0, 0 | -1 + } + + function H(e, r, n) { + e |= 0, r |= 0, n |= 0; + var a, s, u, c, d, S, E, _ = 0, + m = 0; + if (a = l, (0 | (l = l + 32 | 0)) >= (0 | f) && k(32), s = a + 20 | 0, u = a + 12 | 0, c = a + 8 | 0, d = a + 4 | 0, S = a, E = a + 24 | 0, o[(_ = a + 16 | 0) >> 2] = e, o[u >> 2] = r, o[c >> 2] = n, o[d >> 2] = o[u >> 2], o[S >> 2] = o[_ >> 2], !(0 | o[d >> 2])) return o[s >> 2] = 0, m = 0 | o[s >> 2], l = a, 0 | m; + for (o[S >> 2] = ~o[S >> 2]; _ = 0 | o[c >> 2], o[c >> 2] = _ + -1, _;) _ = 0 | o[d >> 2], o[d >> 2] = _ + 1, t[E >> 0] = 0 | t[_ >> 0], o[S >> 2] = (0 | o[S >> 2]) >>> 4 ^ o[8 + ((15 & o[S >> 2] ^ 15 & (0 | i[E >> 0])) << 2) >> 2], o[S >> 2] = (0 | o[S >> 2]) >>> 4 ^ o[8 + ((15 & o[S >> 2] ^ (0 | i[E >> 0]) >> 4) << 2) >> 2]; + return o[s >> 2] = ~o[S >> 2], m = 0 | o[s >> 2], l = a, 0 | m + } + + function B(e, r) { + e |= 0, r |= 0; + var t, n, i, a, s, u = 0; + return t = l, (0 | (l = l + 16 | 0)) >= (0 | f) && k(16), n = t + 12 | 0, a = t + 4 | 0, s = t, o[(i = t + 8 | 0) >> 2] = e, o[a >> 2] = r, 0 | o[i >> 2] ? 15 != (0 | o[a >> 2]) && 15 != (0 - (0 | o[a >> 2]) | 0) ? (o[n >> 2] = -1e4, u = 0 | o[n >> 2], l = t, 0 | u) : (o[36 + (0 | o[i >> 2]) >> 2] = 0, o[40 + (0 | o[i >> 2]) >> 2] = 0, o[24 + (0 | o[i >> 2]) >> 2] = 0, o[8 + (0 | o[i >> 2]) >> 2] = 0, o[20 + (0 | o[i >> 2]) >> 2] = 0, o[44 + (0 | o[i >> 2]) >> 2] = 0, r = 0 | V(43784), o[s >> 2] = r, 0 | o[s >> 2] ? (o[28 + (0 | o[i >> 2]) >> 2] = o[s >> 2], o[o[s >> 2] >> 2] = 0, o[10992 + (0 | o[s >> 2]) >> 2] = 0, o[10996 + (0 | o[s >> 2]) >> 2] = 0, o[43780 + (0 | o[s >> 2]) >> 2] = 1, o[11e3 + (0 | o[s >> 2]) >> 2] = 1, o[11004 + (0 | o[s >> 2]) >> 2] = 0, o[11008 + (0 | o[s >> 2]) >> 2] = o[a >> 2], o[n >> 2] = 0, u = 0 | o[n >> 2], l = t, 0 | u) : (o[n >> 2] = -4, u = 0 | o[n >> 2], l = t, 0 | u)) : (o[n >> 2] = -2, u = 0 | o[n >> 2], l = t, 0 | u); + return 0 + } + + function U(e, r, t, n) { + e |= 0, r |= 0, t |= 0, n |= 0; + var i, a, s, u, c, d, S, E, _, m, h, p, b, A = 0, + F = 0, + v = 0, + M = 0, + y = 0; + if (i = l, (0 | (l = l + 64 | 0)) >= (0 | f) && k(64), a = i + 48 | 0, u = i + 40 | 0, c = i + 36 | 0, d = i + 32 | 0, S = i + 28 | 0, E = i + 24 | 0, A = i + 20 | 0, _ = i + 16 | 0, m = i + 12 | 0, h = i + 8 | 0, p = i + 4 | 0, b = i, o[(s = i + 44 | 0) >> 2] = e, o[u >> 2] = r, o[c >> 2] = t, o[d >> 2] = n, o[_ >> 2] = 8, 0 | o[s >> 2] && 0 | o[28 + (0 | o[s >> 2]) >> 2]) { + if (1 == (0 | o[u >> 2]) && (o[u >> 2] = 2), 0 != (0 | o[u >> 2]) & 2 != (0 | o[u >> 2]) & 4 != (0 | o[u >> 2])) return o[a >> 2] = -2, F = 0 | o[a >> 2], l = i, 0 | F; + if (o[S >> 2] = o[28 + (0 | o[s >> 2]) >> 2], (0 | o[11008 + (0 | o[S >> 2]) >> 2]) > 0 && (o[_ >> 2] = 1 | o[_ >> 2]), o[p >> 2] = o[4 + (0 | o[s >> 2]) >> 2], o[A >> 2] = o[11e3 + (0 | o[S >> 2]) >> 2], o[11e3 + (0 | o[S >> 2]) >> 2] = 0, (0 | o[43780 + (0 | o[S >> 2]) >> 2]) < 0) return o[a >> 2] = -3, F = 0 | o[a >> 2], l = i, 0 | F; + if (4 != (0 | o[u >> 2]) && 0 != (0 | o[11004 + (0 | o[S >> 2]) >> 2])) return o[a >> 2] = -2, F = 0 | o[a >> 2], l = i, 0 | F; + if (n = 11004 + (0 | o[S >> 2]) | 0, o[n >> 2] = o[n >> 2] | 4 == (0 | o[u >> 2]), 4 == (0 | o[u >> 2]) & 0 != (0 | o[A >> 2])) return o[_ >> 2] = 4 | o[_ >> 2], o[m >> 2] = o[4 + (0 | o[s >> 2]) >> 2], o[h >> 2] = o[16 + (0 | o[s >> 2]) >> 2], A = 0 | Y(0 | o[S >> 2], 0 | o[o[s >> 2] >> 2], m, 0 | o[12 + (0 | o[s >> 2]) >> 2], 0 | o[12 + (0 | o[s >> 2]) >> 2], h, 0 | o[_ >> 2], 0 | o[c >> 2], 0 | o[d >> 2]), o[b >> 2] = A, o[43780 + (0 | o[S >> 2]) >> 2] = o[b >> 2], A = 0 | o[s >> 2], o[A >> 2] = (0 | o[A >> 2]) + (0 | o[m >> 2]), A = 4 + (0 | o[s >> 2]) | 0, o[A >> 2] = (0 | o[A >> 2]) - (0 | o[m >> 2]), A = 8 + (0 | o[s >> 2]) | 0, o[A >> 2] = (0 | o[A >> 2]) + (0 | o[m >> 2]), o[40 + (0 | o[s >> 2]) >> 2] = o[28 + (0 | o[S >> 2]) >> 2], A = 12 + (0 | o[s >> 2]) | 0, o[A >> 2] = (0 | o[A >> 2]) + (0 | o[h >> 2]), A = 16 + (0 | o[s >> 2]) | 0, o[A >> 2] = (0 | o[A >> 2]) - (0 | o[h >> 2]), A = 20 + (0 | o[s >> 2]) | 0, o[A >> 2] = (0 | o[A >> 2]) + (0 | o[h >> 2]), (0 | o[b >> 2]) < 0 ? (o[a >> 2] = -3, F = 0 | o[a >> 2], l = i, 0 | F) : 0 | o[b >> 2] ? (o[43780 + (0 | o[S >> 2]) >> 2] = -1, o[a >> 2] = -5, F = 0 | o[a >> 2], l = i, 0 | F) : (o[a >> 2] = 1, F = 0 | o[a >> 2], l = i, 0 | F); + if (4 != (0 | o[u >> 2]) && (o[_ >> 2] = 2 | o[_ >> 2]), 0 | o[10996 + (0 | o[S >> 2]) >> 2]) return o[E >> 2] = o[((0 | o[10996 + (0 | o[S >> 2]) >> 2]) >>> 0 < (0 | o[16 + (0 | o[s >> 2]) >> 2]) >>> 0 ? 10996 + (0 | o[S >> 2]) | 0 : 16 + (0 | o[s >> 2]) | 0) >> 2], je(0 | o[12 + (0 | o[s >> 2]) >> 2], 11012 + (0 | o[S >> 2]) + (0 | o[10992 + (0 | o[S >> 2]) >> 2]) | 0, 0 | o[E >> 2]), A = 12 + (0 | o[s >> 2]) | 0, o[A >> 2] = (0 | o[A >> 2]) + (0 | o[E >> 2]), A = 16 + (0 | o[s >> 2]) | 0, o[A >> 2] = (0 | o[A >> 2]) - (0 | o[E >> 2]), A = 20 + (0 | o[s >> 2]) | 0, o[A >> 2] = (0 | o[A >> 2]) + (0 | o[E >> 2]), A = 10996 + (0 | o[S >> 2]) | 0, o[A >> 2] = (0 | o[A >> 2]) - (0 | o[E >> 2]), o[10992 + (0 | o[S >> 2]) >> 2] = (0 | o[10992 + (0 | o[S >> 2]) >> 2]) + (0 | o[E >> 2]) & 32767, v = 0 | o[43780 + (0 | o[S >> 2]) >> 2] ? 0 : 0 != (0 | o[10996 + (0 | o[S >> 2]) >> 2]) ^ 1, o[a >> 2] = v ? 1 : 0, F = 0 | o[a >> 2], l = i, 0 | F; + for (;;) { + if (o[m >> 2] = o[4 + (0 | o[s >> 2]) >> 2], o[h >> 2] = 32768 - (0 | o[10992 + (0 | o[S >> 2]) >> 2]), v = 0 | Y(0 | o[S >> 2], 0 | o[o[s >> 2] >> 2], m, 11012 + (0 | o[S >> 2]) | 0, 11012 + (0 | o[S >> 2]) + (0 | o[10992 + (0 | o[S >> 2]) >> 2]) | 0, h, 0 | o[_ >> 2], 0 | o[c >> 2], 0 | o[d >> 2]), o[b >> 2] = v, o[43780 + (0 | o[S >> 2]) >> 2] = o[b >> 2], v = 0 | o[s >> 2], o[v >> 2] = (0 | o[v >> 2]) + (0 | o[m >> 2]), v = 4 + (0 | o[s >> 2]) | 0, o[v >> 2] = (0 | o[v >> 2]) - (0 | o[m >> 2]), v = 8 + (0 | o[s >> 2]) | 0, o[v >> 2] = (0 | o[v >> 2]) + (0 | o[m >> 2]), o[40 + (0 | o[s >> 2]) >> 2] = o[28 + (0 | o[S >> 2]) >> 2], o[10996 + (0 | o[S >> 2]) >> 2] = o[h >> 2], o[E >> 2] = o[((0 | o[10996 + (0 | o[S >> 2]) >> 2]) >>> 0 < (0 | o[16 + (0 | o[s >> 2]) >> 2]) >>> 0 ? 10996 + (0 | o[S >> 2]) | 0 : 16 + (0 | o[s >> 2]) | 0) >> 2], je(0 | o[12 + (0 | o[s >> 2]) >> 2], 11012 + (0 | o[S >> 2]) + (0 | o[10992 + (0 | o[S >> 2]) >> 2]) | 0, 0 | o[E >> 2]), v = 12 + (0 | o[s >> 2]) | 0, o[v >> 2] = (0 | o[v >> 2]) + (0 | o[E >> 2]), v = 16 + (0 | o[s >> 2]) | 0, o[v >> 2] = (0 | o[v >> 2]) - (0 | o[E >> 2]), v = 20 + (0 | o[s >> 2]) | 0, o[v >> 2] = (0 | o[v >> 2]) + (0 | o[E >> 2]), v = 10996 + (0 | o[S >> 2]) | 0, o[v >> 2] = (0 | o[v >> 2]) - (0 | o[E >> 2]), o[10992 + (0 | o[S >> 2]) >> 2] = (0 | o[10992 + (0 | o[S >> 2]) >> 2]) + (0 | o[E >> 2]) & 32767, (0 | o[b >> 2]) < 0) { + M = 27; + break + } + if (!(1 != (0 | o[b >> 2]) | 0 != (0 | o[p >> 2]))) { + M = 29; + break + } + if (v = 0 == (0 | o[b >> 2]), 4 == (0 | o[u >> 2])) { + if (v) { + M = 32; + break + } + if (0 | o[16 + (0 | o[s >> 2]) >> 2]) continue; + M = 34; + break + } + if (v) { + M = 39; + break + } + if (!(0 | o[4 + (0 | o[s >> 2]) >> 2])) { + M = 39; + break + } + if (!(0 | o[16 + (0 | o[s >> 2]) >> 2])) { + M = 39; + break + } + if (0 | o[10996 + (0 | o[S >> 2]) >> 2]) { + M = 39; + break + } + } + if (27 == (0 | M)) return o[a >> 2] = -3, F = 0 | o[a >> 2], l = i, 0 | F; + if (29 == (0 | M)) return o[a >> 2] = -5, F = 0 | o[a >> 2], l = i, 0 | F; + if (32 == (0 | M)) return o[a >> 2] = 0 | o[10996 + (0 | o[S >> 2]) >> 2] ? -5 : 1, F = 0 | o[a >> 2], l = i, 0 | F; + if (34 == (0 | M)) return o[a >> 2] = -5, F = 0 | o[a >> 2], l = i, 0 | F; + if (39 == (0 | M)) return y = 0 | o[b >> 2] ? 0 : 0 != (0 | o[10996 + (0 | o[S >> 2]) >> 2]) ^ 1, o[a >> 2] = y ? 1 : 0, F = 0 | o[a >> 2], l = i, 0 | F + } + return o[a >> 2] = -2, F = 0 | o[a >> 2], l = i, 0 | F + } + + function Y(e, r, a, s, u, c, d, S, E) { + e |= 0, r |= 0, a |= 0, s |= 0, u |= 0, c |= 0, d |= 0, S |= 0, E |= 0; + var _, m, h, p, b, A, F, v, M, y, T, g, w, O, R, N, P, C, D, L, x, H, B, U, Y, z, V, K, j, X, G, W, q, Z, Q, $, J, ee, re, te, ne, oe, ie, ae, se, ue, ce, le, fe, de, Se, Ee, _e, me, he, pe, be, ke, Ae, Fe, ve, Me, ye, Te, ge, we, Oe, Re, Ne, Pe, Ce, De, Le, Ie, He = 0, + Be = 0, + Ue = 0, + Ye = 0, + ze = 0, + Ve = 0, + Ke = 0, + Xe = 0, + Ge = 0, + We = 0, + qe = 0, + Ze = 0, + Qe = 0, + $e = 0, + Je = 0, + er = 0, + rr = 0; + if (_ = l, (0 | (l = l + 432 | 0)) >= (0 | f) && k(432), m = _ + 416 | 0, p = _ + 408 | 0, b = _ + 404 | 0, A = _ + 400 | 0, He = _ + 396 | 0, F = _ + 392 | 0, v = _ + 388 | 0, M = _ + 384 | 0, y = _ + 380 | 0, T = _ + 376 | 0, g = _ + 372 | 0, w = _ + 368 | 0, O = _ + 364 | 0, R = _ + 360 | 0, N = _ + 356 | 0, P = _ + 352 | 0, C = _ + 348 | 0, D = _ + 344 | 0, L = _ + 340 | 0, x = _ + 336 | 0, H = _ + 332 | 0, B = _ + 328 | 0, U = _ + 324 | 0, Y = _ + 320 | 0, z = _ + 316 | 0, V = _ + 312 | 0, K = _ + 308 | 0, j = _ + 304 | 0, X = _ + 300 | 0, G = _ + 296 | 0, W = _ + 292 | 0, q = _ + 288 | 0, Z = _ + 284 | 0, Q = _ + 280 | 0, $ = _ + 276 | 0, J = _ + 272 | 0, ee = _ + 268 | 0, re = _ + 264 | 0, te = _ + 260 | 0, ne = _ + 192 | 0, oe = _ + 128 | 0, ie = _ + 120 | 0, ae = _ + 116 | 0, se = _ + 112 | 0, ue = _ + 108 | 0, ce = _ + 420 | 0, le = _ + 104 | 0, fe = _ + 100 | 0, de = _ + 96 | 0, Se = _ + 92 | 0, Ee = _ + 88 | 0, _e = _ + 84 | 0, me = _ + 80 | 0, he = _ + 76 | 0, pe = _ + 72 | 0, be = _ + 68 | 0, ke = _ + 64 | 0, Ae = _ + 60 | 0, Fe = _ + 56 | 0, ve = _ + 52 | 0, Me = _ + 48 | 0, ye = _ + 44 | 0, Te = _ + 40 | 0, ge = _ + 36 | 0, we = _ + 32 | 0, Oe = _ + 28 | 0, Re = _ + 24 | 0, Ne = _ + 20 | 0, Pe = _ + 16 | 0, Ce = _ + 12 | 0, De = _ + 8 | 0, Le = _ + 4 | 0, Ie = _, o[(h = _ + 412 | 0) >> 2] = e, o[p >> 2] = r, o[b >> 2] = a, o[A >> 2] = s, o[He >> 2] = u, o[F >> 2] = c, o[v >> 2] = d, o[M >> 2] = S, o[y >> 2] = E, o[T >> 2] = -1, o[P >> 2] = o[p >> 2], o[C >> 2] = (0 | o[p >> 2]) + (0 | o[o[b >> 2] >> 2]), o[D >> 2] = o[He >> 2], o[L >> 2] = (0 | o[He >> 2]) + (0 | o[o[F >> 2] >> 2]), Be = 4 & o[v >> 2] | 0 ? -1 : (0 | o[He >> 2]) - (0 | o[A >> 2]) + (0 | o[o[F >> 2] >> 2]) - 1 | 0, o[x >> 2] = Be, 0 == (1 + (0 | o[x >> 2]) & o[x >> 2] | 0) && (0 | o[He >> 2]) >>> 0 >= (0 | o[A >> 2]) >>> 0) { + switch (o[g >> 2] = o[4 + (0 | o[h >> 2]) >> 2], o[N >> 2] = o[56 + (0 | o[h >> 2]) >> 2], o[w >> 2] = o[32 + (0 | o[h >> 2]) >> 2], o[O >> 2] = o[36 + (0 | o[h >> 2]) >> 2], o[R >> 2] = o[40 + (0 | o[h >> 2]) >> 2], o[H >> 2] = o[60 + (0 | o[h >> 2]) >> 2], 0 | o[o[h >> 2] >> 2]) { + case 0: + o[12 + (0 | o[h >> 2]) >> 2] = 0, o[8 + (0 | o[h >> 2]) >> 2] = 0, o[R >> 2] = 0, o[O >> 2] = 0, o[w >> 2] = 0, o[g >> 2] = 0, o[N >> 2] = 0, o[28 + (0 | o[h >> 2]) >> 2] = 1, o[16 + (0 | o[h >> 2]) >> 2] = 1, 1 & o[v >> 2] | 0 ? (0 | o[P >> 2]) >>> 0 >= (0 | o[C >> 2]) >>> 0 ? Ue = 9 : (Be = 0 | o[P >> 2], o[P >> 2] = Be + 1, Ye = 0 | i[Be >> 0], ze = 0 | o[h >> 2], Ue = 15) : Ue = 31; + break; + case 1: + (0 | o[P >> 2]) >>> 0 < (0 | o[C >> 2]) >>> 0 ? (Be = 0 | o[P >> 2], o[P >> 2] = Be + 1, Ye = 0 | i[Be >> 0], ze = 0 | o[h >> 2], Ue = 15) : Ue = 9; + break; + case 2: + (0 | o[P >> 2]) >>> 0 < (0 | o[C >> 2]) >>> 0 ? (Be = 0 | o[P >> 2], o[P >> 2] = Be + 1, Ve = 0 | o[h >> 2], Ke = 0 | i[Be >> 0], Ue = 22) : Ue = 16; + break; + case 36: + Ue = 30; + break; + case 3: + (0 | o[P >> 2]) >>> 0 < (0 | o[C >> 2]) >>> 0 ? (Be = 0 | o[P >> 2], o[P >> 2] = Be + 1, o[B >> 2] = i[Be >> 0], Ue = 39) : Ue = 33; + break; + case 5: + (0 | o[P >> 2]) >>> 0 < (0 | o[C >> 2]) >>> 0 ? (Be = 0 | o[P >> 2], o[P >> 2] = Be + 1, o[U >> 2] = i[Be >> 0], Ue = 49) : Ue = 43; + break; + case 6: + (0 | o[P >> 2]) >>> 0 < (0 | o[C >> 2]) >>> 0 ? (Be = 0 | o[P >> 2], o[P >> 2] = Be + 1, o[Y >> 2] = i[Be >> 0], Ue = 61) : Ue = 55; + break; + case 7: + (0 | o[P >> 2]) >>> 0 < (0 | o[C >> 2]) >>> 0 ? (Be = 0 | o[P >> 2], o[P >> 2] = Be + 1, Xe = 0 | t[Be >> 0], Ge = 0 | o[O >> 2], We = 0 | o[h >> 2], Ue = 70) : Ue = 64; + break; + case 39: + Ue = 73; + break; + case 51: + (0 | o[P >> 2]) >>> 0 < (0 | o[C >> 2]) >>> 0 ? (Be = 0 | o[P >> 2], o[P >> 2] = Be + 1, o[z >> 2] = i[Be >> 0], Ue = 83) : Ue = 77; + break; + case 52: + Ue = 85; + break; + case 9: + Ue = 89; + break; + case 38: + Ue = 91; + break; + case 40: + Ue = 94; + break; + case 10: + Ue = 100; + break; + case 11: + (0 | o[P >> 2]) >>> 0 < (0 | o[C >> 2]) >>> 0 ? (Be = 0 | o[P >> 2], o[P >> 2] = Be + 1, o[X >> 2] = i[Be >> 0], Ue = 121) : Ue = 115; + break; + case 14: + (0 | o[P >> 2]) >>> 0 < (0 | o[C >> 2]) >>> 0 ? (Be = 0 | o[P >> 2], o[P >> 2] = Be + 1, o[W >> 2] = i[Be >> 0], Ue = 133) : Ue = 127; + break; + case 35: + Ue = 144; + break; + case 16: + (0 | o[P >> 2]) >>> 0 < (0 | o[C >> 2]) >>> 0 ? (Be = 0 | o[P >> 2], o[P >> 2] = Be + 1, o[Se >> 2] = i[Be >> 0], Ue = 185) : Ue = 179; + break; + case 17: + Ue = 194; + break; + case 18: + (0 | o[P >> 2]) >>> 0 < (0 | o[C >> 2]) >>> 0 ? (Be = 0 | o[P >> 2], o[P >> 2] = Be + 1, o[Ee >> 2] = i[Be >> 0], Ue = 203) : Ue = 197; + break; + case 21: + Ue = 208; + break; + case 23: + (0 | o[P >> 2]) >>> 0 < (0 | o[C >> 2]) >>> 0 ? (Be = 0 | o[P >> 2], o[P >> 2] = Be + 1, o[pe >> 2] = i[Be >> 0], Ue = 231) : Ue = 225; + break; + case 24: + Ue = 238; + break; + case 25: + (0 | o[P >> 2]) >>> 0 < (0 | o[C >> 2]) >>> 0 ? (Be = 0 | o[P >> 2], o[P >> 2] = Be + 1, o[Fe >> 2] = i[Be >> 0], Ue = 267) : Ue = 261; + break; + case 26: + (0 | o[P >> 2]) >>> 0 < (0 | o[C >> 2]) >>> 0 ? (Be = 0 | o[P >> 2], o[P >> 2] = Be + 1, o[ye >> 2] = i[Be >> 0], Ue = 286) : Ue = 280; + break; + case 27: + (0 | o[P >> 2]) >>> 0 < (0 | o[C >> 2]) >>> 0 ? (Be = 0 | o[P >> 2], o[P >> 2] = Be + 1, o[ge >> 2] = i[Be >> 0], Ue = 301) : Ue = 295; + break; + case 37: + Ue = 305; + break; + case 53: + Ue = 308; + break; + case 32: + (0 | o[P >> 2]) >>> 0 < (0 | o[C >> 2]) >>> 0 ? (Be = 0 | o[P >> 2], o[P >> 2] = Be + 1, o[we >> 2] = i[Be >> 0], Ue = 326) : Ue = 320; + break; + case 41: + (0 | o[P >> 2]) >>> 0 < (0 | o[C >> 2]) >>> 0 ? (Be = 0 | o[P >> 2], o[P >> 2] = Be + 1, o[Re >> 2] = i[Be >> 0], Ue = 338) : Ue = 332; + break; + case 42: + (0 | o[P >> 2]) >>> 0 < (0 | o[C >> 2]) >>> 0 ? (Be = 0 | o[P >> 2], o[P >> 2] = Be + 1, o[Oe >> 2] = i[Be >> 0], Ue = 347) : Ue = 341; + break; + case 34: + Ue = 348; + break; + default: + Ue = 350 + } + do { + if (9 == (0 | Ue)) { + if (2 & o[v >> 2] | 0) { + o[T >> 2] = 1, qe = 1, Ze = 0 | o[h >> 2], Ue = 349; + break + } + Ye = 0, ze = 0 | o[h >> 2], Ue = 15; + break + } + } while (0); + 15 == (0 | Ue) && (o[ze + 8 >> 2] = Ye, (0 | o[P >> 2]) >>> 0 >= (0 | o[C >> 2]) >>> 0 ? Ue = 16 : (Ye = 0 | o[P >> 2], o[P >> 2] = Ye + 1, Ve = 0 | o[h >> 2], Ke = 0 | i[Ye >> 0], Ue = 22)); + do { + if (16 == (0 | Ue)) { + if (2 & o[v >> 2] | 0) { + o[T >> 2] = 1, qe = 2, Ze = 0 | o[h >> 2], Ue = 349; + break + } + Ve = 0 | o[h >> 2], Ke = 0, Ue = 22; + break + } + } while (0); + 22 == (0 | Ue) && (o[Ve + 12 >> 2] = Ke, Qe = 0 | (((o[8 + (0 | o[h >> 2]) >> 2] << 8) + (0 | o[12 + (0 | o[h >> 2]) >> 2]) | 0) >>> 0) % 31 || 32 & o[12 + (0 | o[h >> 2]) >> 2] | 0 ? 1 : 8 != (15 & o[8 + (0 | o[h >> 2]) >> 2] | 0), o[O >> 2] = 1 & Qe, 4 & o[v >> 2] || ($e = 1 << 8 + ((0 | o[8 + (0 | o[h >> 2]) >> 2]) >>> 4) >>> 0 > 32768 ? 1 : (1 + (0 | o[x >> 2]) | 0) >>> 0 < 1 << 8 + ((0 | o[8 + (0 | o[h >> 2]) >> 2]) >>> 4) >>> 0, o[O >> 2] = o[O >> 2] | 1 & $e), Ue = 0 | o[O >> 2] ? 30 : 31), 30 == (0 | Ue) && (o[T >> 2] = -1, qe = 36, Ze = 0 | o[h >> 2], Ue = 349); + e: for (;;) { + switch (0 | Ue) { + case 31: + Ue = 0, I(2, (0 | o[y >> 2]) + (0 | o[H >> 2]) | 0, 0 | o[M >> 2]), Ue = (0 | o[g >> 2]) >>> 0 < 3 ? 32 : 40; + break; + case 33: + if (Ue = 0, 2 & o[v >> 2] | 0) { + o[T >> 2] = 1, qe = 3, Ze = 0 | o[h >> 2], Ue = 349; + continue e + } + o[B >> 2] = 0, Ue = 39; + continue e; + break; + case 39: + Ue = 0, o[N >> 2] = o[N >> 2] | o[B >> 2] << o[g >> 2], o[g >> 2] = 8 + (0 | o[g >> 2]), Ue = (0 | o[g >> 2]) >>> 0 < 3 ? 32 : 40; + break; + case 43: + if (Ue = 0, 2 & o[v >> 2] | 0) { + o[T >> 2] = 1, qe = 5, Ze = 0 | o[h >> 2], Ue = 349; + continue e + } + o[U >> 2] = 0, Ue = 49; + continue e; + break; + case 49: + Ue = 0, o[N >> 2] = o[N >> 2] | o[U >> 2] << o[g >> 2], o[g >> 2] = 8 + (0 | o[g >> 2]), Ue = (0 | o[g >> 2]) >>> 0 < (7 & o[g >> 2]) >>> 0 ? 42 : 50; + break; + case 55: + if (Ue = 0, 2 & o[v >> 2] | 0) { + o[T >> 2] = 1, qe = 6, Ze = 0 | o[h >> 2], Ue = 349; + continue e + } + o[Y >> 2] = 0, Ue = 61; + continue e; + break; + case 61: + Ue = 0, o[N >> 2] = o[N >> 2] | o[Y >> 2] << o[g >> 2], o[g >> 2] = 8 + (0 | o[g >> 2]), Ue = (0 | o[g >> 2]) >>> 0 < 8 ? 54 : 62; + break; + case 64: + if (Ue = 0, 2 & o[v >> 2] | 0) { + o[T >> 2] = 1, qe = 7, Ze = 0 | o[h >> 2], Ue = 349; + continue e + } + Xe = 0, Ge = 0 | o[O >> 2], We = 0 | o[h >> 2], Ue = 70; + continue e; + break; + case 70: + Ue = 0, t[We + 10528 + Ge >> 0] = Xe, Ue = 71; + break; + case 73: + Ue = 0, o[T >> 2] = -1, qe = 39, Ze = 0 | o[h >> 2], Ue = 349; + continue e; + break; + case 77: + if (Ue = 0, 2 & o[v >> 2] | 0) { + o[T >> 2] = 1, qe = 51, Ze = 0 | o[h >> 2], Ue = 349; + continue e + } + o[z >> 2] = 0, Ue = 83; + continue e; + break; + case 83: + Ue = 0, o[N >> 2] = o[N >> 2] | o[z >> 2] << o[g >> 2], o[g >> 2] = 8 + (0 | o[g >> 2]), Ue = (0 | o[g >> 2]) >>> 0 < 8 ? 76 : 84; + break; + case 85: + if (Ue = 0, (0 | o[D >> 2]) >>> 0 >= (0 | o[L >> 2]) >>> 0) { + o[T >> 2] = 2, qe = 52, Ze = 0 | o[h >> 2], Ue = 349; + continue e + } + $e = 255 & o[w >> 2], Qe = 0 | o[D >> 2], o[D >> 2] = Qe + 1, t[Qe >> 0] = $e, o[O >> 2] = (0 | o[O >> 2]) - 1, Ue = 74; + break; + break; + case 89: + if (Ue = 0, (0 | o[D >> 2]) >>> 0 < (0 | o[L >> 2]) >>> 0) { + Ue = 91; + continue e + } + o[T >> 2] = 2, qe = 9, Ze = 0 | o[h >> 2], Ue = 349; + continue e; + break; + case 91: + if (Ue = 0, (0 | o[P >> 2]) >>> 0 >= (0 | o[C >> 2]) >>> 0) { + if (!(2 & o[v >> 2])) { + Ue = 94; + continue e + } + o[T >> 2] = 1, qe = 38, Ze = 0 | o[h >> 2], Ue = 349; + continue e + } + Je = ((($e = ((0 | o[L >> 2]) - (0 | o[D >> 2]) | 0) >>> 0 < ((0 | o[C >> 2]) - (0 | o[P >> 2]) | 0) >>> 0) ? 0 | o[L >> 2] : 0 | o[C >> 2]) - ($e ? 0 | o[D >> 2] : 0 | o[P >> 2]) | 0) >>> 0 < (0 | o[O >> 2]) >>> 0 ? (($e = ((0 | o[L >> 2]) - (0 | o[D >> 2]) | 0) >>> 0 < ((0 | o[C >> 2]) - (0 | o[P >> 2]) | 0) >>> 0) ? 0 | o[L >> 2] : 0 | o[C >> 2]) - ($e ? 0 | o[D >> 2] : 0 | o[P >> 2]) | 0 : 0 | o[O >> 2], o[V >> 2] = Je, je(0 | o[D >> 2], 0 | o[P >> 2], 0 | o[V >> 2]), o[P >> 2] = (0 | o[P >> 2]) + (0 | o[V >> 2]), o[D >> 2] = (0 | o[D >> 2]) + (0 | o[V >> 2]), o[O >> 2] = (0 | o[O >> 2]) - (0 | o[V >> 2]), Ue = 88; + break; + case 94: + Ue = 0, o[T >> 2] = -1, qe = 40, Ze = 0 | o[h >> 2], Ue = 349; + continue e; + break; + case 100: + Ue = 0, o[T >> 2] = -1, qe = 10, Ze = 0 | o[h >> 2], Ue = 349; + continue e; + break; + case 115: + if (Ue = 0, 2 & o[v >> 2] | 0) { + o[T >> 2] = 1, qe = 11, Ze = 0 | o[h >> 2], Ue = 349; + continue e + } + o[X >> 2] = 0, Ue = 121; + continue e; + break; + case 121: + Ue = 0, o[N >> 2] = o[N >> 2] | o[X >> 2] << o[g >> 2], o[g >> 2] = 8 + (0 | o[g >> 2]), Ue = (0 | o[g >> 2]) >>> 0 < (0 | t[1331 + (0 | o[O >> 2]) >> 0]) >>> 0 ? 114 : 122; + break; + case 127: + if (Ue = 0, 2 & o[v >> 2] | 0) { + o[T >> 2] = 1, qe = 14, Ze = 0 | o[h >> 2], Ue = 349; + continue e + } + o[W >> 2] = 0, Ue = 133; + continue e; + break; + case 133: + Ue = 0, o[N >> 2] = o[N >> 2] | o[W >> 2] << o[g >> 2], o[g >> 2] = 8 + (0 | o[g >> 2]), Ue = (0 | o[g >> 2]) >>> 0 < 3 ? 126 : 134; + break; + case 144: + Ue = 0, o[T >> 2] = -1, qe = 35, Ze = 0 | o[h >> 2], Ue = 349; + continue e; + break; + case 179: + if (Ue = 0, 2 & o[v >> 2] | 0) { + o[T >> 2] = 1, qe = 16, Ze = 0 | o[h >> 2], Ue = 349; + continue e + } + o[Se >> 2] = 0, Ue = 185; + continue e; + break; + case 185: + Ue = 0, o[N >> 2] = o[N >> 2] | o[Se >> 2] << o[g >> 2], o[g >> 2] = 8 + (0 | o[g >> 2]), Ue = (0 | o[g >> 2]) >>> 0 < 15 ? 170 : 187; + break; + case 194: + Ue = 0, o[T >> 2] = -1, qe = 17, Ze = 0 | o[h >> 2], Ue = 349; + continue e; + break; + case 197: + if (Ue = 0, 2 & o[v >> 2] | 0) { + o[T >> 2] = 1, qe = 18, Ze = 0 | o[h >> 2], Ue = 349; + continue e + } + o[Ee >> 2] = 0, Ue = 203; + continue e; + break; + case 203: + Ue = 0, o[N >> 2] = o[N >> 2] | o[Ee >> 2] << o[g >> 2], o[g >> 2] = 8 + (0 | o[g >> 2]), Ue = (0 | o[g >> 2]) >>> 0 < (0 | o[R >> 2]) >>> 0 ? 196 : 204; + break; + case 208: + Ue = 0, o[T >> 2] = -1, qe = 21, Ze = 0 | o[h >> 2], Ue = 349; + continue e; + break; + case 225: + if (Ue = 0, 2 & o[v >> 2] | 0) { + o[T >> 2] = 1, qe = 23, Ze = 0 | o[h >> 2], Ue = 349; + continue e + } + o[pe >> 2] = 0, Ue = 231; + continue e; + break; + case 231: + Ue = 0, o[N >> 2] = o[N >> 2] | o[pe >> 2] << o[g >> 2], o[g >> 2] = 8 + (0 | o[g >> 2]), Ue = (0 | o[g >> 2]) >>> 0 < 15 ? 216 : 233; + break; + case 238: + if (Ue = 0, (0 | o[D >> 2]) >>> 0 >= (0 | o[L >> 2]) >>> 0) { + o[T >> 2] = 2, qe = 24, Ze = 0 | o[h >> 2], Ue = 349; + continue e + } + $e = 255 & o[O >> 2], Qe = 0 | o[D >> 2], o[D >> 2] = Qe + 1, t[Qe >> 0] = $e, Ue = 212; + break; + break; + case 261: + if (Ue = 0, 2 & o[v >> 2] | 0) { + o[T >> 2] = 1, qe = 25, Ze = 0 | o[h >> 2], Ue = 349; + continue e + } + o[Fe >> 2] = 0, Ue = 267; + continue e; + break; + case 267: + Ue = 0, o[N >> 2] = o[N >> 2] | o[Fe >> 2] << o[g >> 2], o[g >> 2] = 8 + (0 | o[g >> 2]), Ue = (0 | o[g >> 2]) >>> 0 < (0 | o[R >> 2]) >>> 0 ? 260 : 268; + break; + case 280: + if (Ue = 0, 2 & o[v >> 2] | 0) { + o[T >> 2] = 1, qe = 26, Ze = 0 | o[h >> 2], Ue = 349; + continue e + } + o[ye >> 2] = 0, Ue = 286; + continue e; + break; + case 286: + Ue = 0, o[N >> 2] = o[N >> 2] | o[ye >> 2] << o[g >> 2], o[g >> 2] = 8 + (0 | o[g >> 2]), Ue = (0 | o[g >> 2]) >>> 0 < 15 ? 271 : 288; + break; + case 295: + if (Ue = 0, 2 & o[v >> 2] | 0) { + o[T >> 2] = 1, qe = 27, Ze = 0 | o[h >> 2], Ue = 349; + continue e + } + o[ge >> 2] = 0, Ue = 301; + continue e; + break; + case 301: + Ue = 0, o[N >> 2] = o[N >> 2] | o[ge >> 2] << o[g >> 2], o[g >> 2] = 8 + (0 | o[g >> 2]), Ue = (0 | o[g >> 2]) >>> 0 < (0 | o[R >> 2]) >>> 0 ? 294 : 302; + break; + case 305: + Ue = 0, o[T >> 2] = -1, qe = 37, Ze = 0 | o[h >> 2], Ue = 349; + continue e; + break; + case 308: + if (Ue = 0, (0 | o[D >> 2]) >>> 0 >= (0 | o[L >> 2]) >>> 0) { + o[T >> 2] = 2, qe = 53, Ze = 0 | o[h >> 2], Ue = 349; + continue e + } + $e = 0 | o[H >> 2], o[H >> 2] = $e + 1, Qe = 0 | t[(0 | o[A >> 2]) + ($e - (0 | o[w >> 2]) & o[x >> 2]) >> 0], $e = 0 | o[D >> 2], o[D >> 2] = $e + 1, t[$e >> 0] = Qe, Ue = 307; + break; + break; + case 320: + if (Ue = 0, 2 & o[v >> 2] | 0) { + o[T >> 2] = 1, qe = 32, Ze = 0 | o[h >> 2], Ue = 349; + continue e + } + o[we >> 2] = 0, Ue = 326; + continue e; + break; + case 326: + Ue = 0, o[N >> 2] = o[N >> 2] | o[we >> 2] << o[g >> 2], o[g >> 2] = 8 + (0 | o[g >> 2]), Ue = (0 | o[g >> 2]) >>> 0 < (7 & o[g >> 2]) >>> 0 ? 319 : 327; + break; + case 332: + if (Ue = 0, 2 & o[v >> 2] | 0) { + o[T >> 2] = 1, qe = 41, Ze = 0 | o[h >> 2], Ue = 349; + continue e + } + o[Re >> 2] = 0, Ue = 338; + continue e; + break; + case 338: + Ue = 0, o[N >> 2] = o[N >> 2] | o[Re >> 2] << o[g >> 2], o[g >> 2] = 8 + (0 | o[g >> 2]), Ue = (0 | o[g >> 2]) >>> 0 < 8 ? 331 : 339; + break; + case 341: + if (Ue = 0, 2 & o[v >> 2] | 0) { + o[T >> 2] = 1, qe = 42, Ze = 0 | o[h >> 2], Ue = 349; + continue e + } + o[Oe >> 2] = 0, Ue = 347; + continue e; + break; + case 347: + Ue = 0, o[16 + (0 | o[h >> 2]) >> 2] = o[16 + (0 | o[h >> 2]) >> 2] << 8 | o[Oe >> 2], o[O >> 2] = 1 + (0 | o[O >> 2]), Ue = 328; + break; + case 348: + Ue = 0, o[T >> 2] = 0, qe = 34, Ze = 0 | o[h >> 2], Ue = 349; + continue e; + break; + case 349: + Ue = 0, o[Ze >> 2] = qe, Ue = 350; + continue e; + break; + case 350: + if (Ue = 0, o[4 + (0 | o[h >> 2]) >> 2] = o[g >> 2], o[56 + (0 | o[h >> 2]) >> 2] = o[N >> 2], o[32 + (0 | o[h >> 2]) >> 2] = o[w >> 2], o[36 + (0 | o[h >> 2]) >> 2] = o[O >> 2], o[40 + (0 | o[h >> 2]) >> 2] = o[R >> 2], o[60 + (0 | o[h >> 2]) >> 2] = o[H >> 2], o[o[b >> 2] >> 2] = (0 | o[P >> 2]) - (0 | o[p >> 2]), o[o[F >> 2] >> 2] = (0 | o[D >> 2]) - (0 | o[He >> 2]), 0 != (9 & o[v >> 2] | 0) & (0 | o[T >> 2]) >= 0) { + Ue = 351; + break e + } + break e; + break + } + if (32 != (0 | Ue)) { + r: do { + if (40 == (0 | Ue)) { + if (Ue = 0, o[20 + (0 | o[h >> 2]) >> 2] = 7 & o[N >> 2], o[N >> 2] = (0 | o[N >> 2]) >>> 3, o[g >> 2] = (0 | o[g >> 2]) - 3, o[24 + (0 | o[h >> 2]) >> 2] = (0 | o[20 + (0 | o[h >> 2]) >> 2]) >>> 1, !(0 | o[24 + (0 | o[h >> 2]) >> 2])) { + if ((0 | o[g >> 2]) >>> 0 < (7 & o[g >> 2]) >>> 0) { + Ue = 42; + break + } + Ue = 50; + break + } + if (3 == (0 | o[24 + (0 | o[h >> 2]) >> 2])) { + Ue = 100; + continue e + } + if (1 != (0 | o[24 + (0 | o[h >> 2]) >> 2])) { + o[O >> 2] = 0, Ue = 112; + break + } + for (o[K >> 2] = 64 + (0 | o[h >> 2]), o[44 + (0 | o[h >> 2]) >> 2] = 288, o[44 + (0 | o[h >> 2]) + 4 >> 2] = 32, Qe = 64 + (0 | o[h >> 2]) + 3488 | 0, o[Qe >> 2] = 84215045, o[Qe + 4 >> 2] = 84215045, o[Qe + 8 >> 2] = 84215045, o[Qe + 12 >> 2] = 84215045, o[Qe + 16 >> 2] = 84215045, o[Qe + 20 >> 2] = 84215045, o[Qe + 24 >> 2] = 84215045, o[Qe + 28 >> 2] = 84215045, o[j >> 2] = 0; !((0 | o[j >> 2]) >>> 0 > 143);) Qe = 0 | o[K >> 2], o[K >> 2] = Qe + 1, t[Qe >> 0] = 8, o[j >> 2] = 1 + (0 | o[j >> 2]); + for (; !((0 | o[j >> 2]) >>> 0 > 255);) Qe = 0 | o[K >> 2], o[K >> 2] = Qe + 1, t[Qe >> 0] = 9, o[j >> 2] = 1 + (0 | o[j >> 2]); + for (; !((0 | o[j >> 2]) >>> 0 > 279);) Qe = 0 | o[K >> 2], o[K >> 2] = Qe + 1, t[Qe >> 0] = 7, o[j >> 2] = 1 + (0 | o[j >> 2]); + for (;;) { + if ((0 | o[j >> 2]) >>> 0 > 287) { + Ue = 136; + break r + } + Qe = 0 | o[K >> 2], o[K >> 2] = Qe + 1, t[Qe >> 0] = 8, o[j >> 2] = 1 + (0 | o[j >> 2]) + } + } + } while (0); + if (42 != (0 | Ue)) { + 50 == (0 | Ue) && (Ue = 0, o[N >> 2] = (0 | o[N >> 2]) >>> (7 & o[g >> 2]), o[g >> 2] = (0 | o[g >> 2]) - (7 & o[g >> 2]), o[O >> 2] = 0, Ue = 51); + r: for (;;) { + switch (0 | Ue) { + case 51: + if (Ue = 0, (0 | o[O >> 2]) >>> 0 >= 4) { + if (Qe = i[10528 + (0 | o[h >> 2]) >> 0] | i[10528 + (0 | o[h >> 2]) + 1 >> 0] << 8, o[O >> 2] = Qe, (0 | Qe) != (65535 ^ (i[10528 + (0 | o[h >> 2]) + 2 >> 0] | i[10528 + (0 | o[h >> 2]) + 3 >> 0] << 8) | 0)) { + Ue = 73; + continue e + } + Ue = 74; + continue r + } + if (!(0 | o[g >> 2])) { + Ue = 63; + break r + } + if ((0 | o[g >> 2]) >>> 0 < 8) { + Ue = 54; + continue r + } + Ue = 62; + continue r; + break; + case 54: + if (Ue = 0, (0 | o[P >> 2]) >>> 0 >= (0 | o[C >> 2]) >>> 0) { + Ue = 55; + continue e + } + Ue = 60; + break r; + break; + case 62: + Ue = 0, t[10528 + (0 | o[h >> 2]) + (0 | o[O >> 2]) >> 0] = o[N >> 2], o[N >> 2] = (0 | o[N >> 2]) >>> 8, o[g >> 2] = (0 | o[g >> 2]) - 8, Ue = 71; + continue r; + break; + case 71: + Ue = 0, o[O >> 2] = 1 + (0 | o[O >> 2]), Ue = 51; + continue r; + break; + case 74: + if (Ue = 0, !(0 | o[O >> 2] && 0 != (0 | o[g >> 2]))) { + Ue = 88; + continue r + } + if ((0 | o[g >> 2]) >>> 0 < 8) { + Ue = 76; + continue r + } + Ue = 84; + continue r; + break; + case 76: + if (Ue = 0, (0 | o[P >> 2]) >>> 0 >= (0 | o[C >> 2]) >>> 0) { + Ue = 77; + continue e + } + Ue = 82; + break r; + break; + case 84: + Ue = 0, o[w >> 2] = 255 & o[N >> 2], o[N >> 2] = (0 | o[N >> 2]) >>> 8, o[g >> 2] = (0 | o[g >> 2]) - 8, Ue = 85; + continue e; + break; + case 88: + if (Ue = 0, 0 | o[O >> 2]) { + Ue = 89; + continue e + } + Ue = 316; + break; + case 112: + if (Ue = 0, (0 | o[O >> 2]) >>> 0 < 3) { + if ((0 | o[g >> 2]) >>> 0 < (0 | t[1331 + (0 | o[O >> 2]) >> 0]) >>> 0) { + Ue = 114; + continue r + } + Ue = 122; + continue r + } + xe(64 + (0 | o[h >> 2]) + 6976 | 0, 0, 288), o[O >> 2] = 0, Ue = 124; + break; + break; + case 114: + if (Ue = 0, (0 | o[P >> 2]) >>> 0 >= (0 | o[C >> 2]) >>> 0) { + Ue = 115; + continue e + } + Ue = 120; + break r; + break; + case 122: + Ue = 0, o[44 + (0 | o[h >> 2]) + (o[O >> 2] << 2) >> 2] = o[N >> 2] & (1 << t[1331 + (0 | o[O >> 2]) >> 0]) - 1, o[N >> 2] = (0 | o[N >> 2]) >>> (0 | t[1331 + (0 | o[O >> 2]) >> 0]), o[g >> 2] = (0 | o[g >> 2]) - (0 | t[1331 + (0 | o[O >> 2]) >> 0]), Qe = 44 + (0 | o[h >> 2]) + (o[O >> 2] << 2) | 0, o[Qe >> 2] = (0 | o[Qe >> 2]) + (0 | o[72 + (o[O >> 2] << 2) >> 2]), o[O >> 2] = 1 + (0 | o[O >> 2]), Ue = 112; + continue r; + break; + case 126: + if (Ue = 0, (0 | o[P >> 2]) >>> 0 >= (0 | o[C >> 2]) >>> 0) { + Ue = 127; + continue e + } + Ue = 132; + break r; + break; + case 134: + Ue = 0, o[G >> 2] = 7 & o[N >> 2], o[N >> 2] = (0 | o[N >> 2]) >>> 3, o[g >> 2] = (0 | o[g >> 2]) - 3, t[64 + (0 | o[h >> 2]) + 6976 + (0 | i[1335 + (0 | o[O >> 2]) >> 0]) >> 0] = o[G >> 2], o[O >> 2] = 1 + (0 | o[O >> 2]), Ue = 124; + break; + case 136: + if (Ue = 0, (0 | o[24 + (0 | o[h >> 2]) >> 2]) >= 0) { + o[Q >> 2] = 64 + (0 | o[h >> 2]) + (3488 * (0 | o[24 + (0 | o[h >> 2]) >> 2]) | 0), $e = (Qe = oe) + 64 | 0; + do { + o[Qe >> 2] = 0, Qe = Qe + 4 | 0 + } while ((0 | Qe) < (0 | $e)); + for (xe(288 + (0 | o[Q >> 2]) | 0, 0, 2048), xe(2336 + (0 | o[Q >> 2]) | 0, 0, 1152), o[$ >> 2] = 0; !((0 | o[$ >> 2]) >>> 0 >= (0 | o[44 + (0 | o[h >> 2]) + (o[24 + (0 | o[h >> 2]) >> 2] << 2) >> 2]) >>> 0);) Qe = oe + (i[(0 | o[Q >> 2]) + (0 | o[$ >> 2]) >> 0] << 2) | 0, o[Qe >> 2] = 1 + (0 | o[Qe >> 2]), o[$ >> 2] = 1 + (0 | o[$ >> 2]); + for (o[ee >> 2] = 0, o[re >> 2] = 0, o[ne + 4 >> 2] = 0, o[ne >> 2] = 0, o[$ >> 2] = 1; !((0 | o[$ >> 2]) >>> 0 > 15);) o[ee >> 2] = (0 | o[ee >> 2]) + (0 | o[oe + (o[$ >> 2] << 2) >> 2]), Qe = (0 | o[re >> 2]) + (0 | o[oe + (o[$ >> 2] << 2) >> 2]) << 1, o[re >> 2] = Qe, o[ne + (1 + (0 | o[$ >> 2]) << 2) >> 2] = Qe, o[$ >> 2] = 1 + (0 | o[$ >> 2]); + if (65536 != (0 | o[re >> 2]) & (0 | o[ee >> 2]) >>> 0 > 1) { + Ue = 144; + continue e + } + for (o[q >> 2] = -1, o[te >> 2] = 0; !((0 | o[te >> 2]) >>> 0 >= (0 | o[44 + (0 | o[h >> 2]) + (o[24 + (0 | o[h >> 2]) >> 2] << 2) >> 2]) >>> 0);) { + o[ie >> 2] = 0, o[ue >> 2] = i[(0 | o[Q >> 2]) + (0 | o[te >> 2]) >> 0]; + t: do { + if (0 | o[ue >> 2]) { + for (Qe = ne + (o[ue >> 2] << 2) | 0, $e = 0 | o[Qe >> 2], o[Qe >> 2] = $e + 1, o[se >> 2] = $e, o[ae >> 2] = o[ue >> 2]; !((0 | o[ae >> 2]) >>> 0 <= 0);) o[ie >> 2] = o[ie >> 2] << 1 | 1 & o[se >> 2], o[ae >> 2] = (0 | o[ae >> 2]) - 1, o[se >> 2] = (0 | o[se >> 2]) >>> 1; + if ((0 | o[ue >> 2]) >>> 0 <= 10) + for (n[ce >> 1] = o[ue >> 2] << 9 | o[te >> 2];;) { + if ((0 | o[ie >> 2]) >>> 0 >= 1024) break t; + n[288 + (0 | o[Q >> 2]) + (o[ie >> 2] << 1) >> 1] = 0 | n[ce >> 1], o[ie >> 2] = (0 | o[ie >> 2]) + (1 << o[ue >> 2]) + } + for ($e = 0 | n[288 + (0 | o[Q >> 2]) + ((1023 & o[ie >> 2]) << 1) >> 1], o[Z >> 2] = $e, $e || (n[288 + (0 | o[Q >> 2]) + ((1023 & o[ie >> 2]) << 1) >> 1] = o[q >> 2], o[Z >> 2] = o[q >> 2], o[q >> 2] = (0 | o[q >> 2]) - 2), o[ie >> 2] = (0 | o[ie >> 2]) >>> 9, o[J >> 2] = o[ue >> 2]; $e = (0 | o[J >> 2]) >>> 0 > 11, Qe = (0 | o[ie >> 2]) >>> 1, o[ie >> 2] = Qe, o[Z >> 2] = (0 | o[Z >> 2]) - (1 & Qe), $e;) 0 | n[2336 + (0 | o[Q >> 2]) + (0 - (0 | o[Z >> 2]) - 1 << 1) >> 1] ? o[Z >> 2] = n[2336 + (0 | o[Q >> 2]) + (0 - (0 | o[Z >> 2]) - 1 << 1) >> 1] : (n[2336 + (0 | o[Q >> 2]) + (0 - (0 | o[Z >> 2]) - 1 << 1) >> 1] = o[q >> 2], o[Z >> 2] = o[q >> 2], o[q >> 2] = (0 | o[q >> 2]) - 2), o[J >> 2] = (0 | o[J >> 2]) - 1; + n[2336 + (0 | o[Q >> 2]) + (0 - (0 | o[Z >> 2]) - 1 << 1) >> 1] = o[te >> 2] + } + } while (0); + o[te >> 2] = 1 + (0 | o[te >> 2]) + } + 2 == (0 | o[24 + (0 | o[h >> 2]) >> 2]) ? (o[O >> 2] = 0, Ue = 167) : Ue = 210 + } else Ue = 211; + break; + case 170: + if (Ue = 0, o[fe >> 2] = n[64 + (0 | o[h >> 2]) + 6976 + 288 + ((1023 & o[N >> 2]) << 1) >> 1], (0 | o[fe >> 2]) >= 0) { + if (o[de >> 2] = o[fe >> 2] >> 9, !(0 | o[de >> 2])) { + Ue = 178; + break r + } + if ((0 | o[g >> 2]) >>> 0 >= (0 | o[de >> 2]) >>> 0) { + Ue = 187; + continue r + } + Ue = 178; + break r + } + if ((0 | o[g >> 2]) >>> 0 <= 10) { + Ue = 178; + break r + } + o[de >> 2] = 10; + do { + if ($e = ~o[fe >> 2], Qe = 0 | o[N >> 2], Ke = 0 | o[de >> 2], o[de >> 2] = Ke + 1, o[fe >> 2] = n[64 + (0 | o[h >> 2]) + 6976 + 2336 + ($e + (Qe >>> Ke & 1) << 1) >> 1], (0 | o[fe >> 2]) >= 0) break + } while ((0 | o[g >> 2]) >>> 0 >= (1 + (0 | o[de >> 2]) | 0) >>> 0); + if ((0 | o[fe >> 2]) >= 0) { + Ue = 187; + continue r + } + Ue = 178; + break r; + break; + case 187: + if (Ue = 0, Ke = 0 | n[64 + (0 | o[h >> 2]) + 6976 + 288 + ((1023 & o[N >> 2]) << 1) >> 1], o[fe >> 2] = Ke, (0 | Ke) >= 0) o[de >> 2] = o[fe >> 2] >> 9, o[fe >> 2] = 511 & o[fe >> 2]; + else { + o[de >> 2] = 10; + do { + Ke = ~o[fe >> 2], Qe = 0 | o[N >> 2], $e = 0 | o[de >> 2], o[de >> 2] = $e + 1, o[fe >> 2] = n[64 + (0 | o[h >> 2]) + 6976 + 2336 + (Ke + (Qe >>> $e & 1) << 1) >> 1] + } while ((0 | o[fe >> 2]) < 0) + } + if (o[w >> 2] = o[fe >> 2], o[N >> 2] = (0 | o[N >> 2]) >>> (0 | o[de >> 2]), o[g >> 2] = (0 | o[g >> 2]) - (0 | o[de >> 2]), $e = 0 | o[w >> 2], (0 | o[w >> 2]) >>> 0 < 16) { + Qe = 0 | o[O >> 2], o[O >> 2] = Qe + 1, t[10532 + (0 | o[h >> 2]) + Qe >> 0] = $e, Ue = 167; + break + } + if (!(16 != (0 | $e) | 0 != (0 | o[O >> 2]))) { + Ue = 194; + continue e + } + if (o[R >> 2] = t[(0 | o[w >> 2]) - 16 + 1354 >> 0], (0 | o[g >> 2]) >>> 0 < (0 | o[R >> 2]) >>> 0) { + Ue = 196; + continue r + } + Ue = 204; + continue r; + break; + case 196: + if (Ue = 0, (0 | o[P >> 2]) >>> 0 >= (0 | o[C >> 2]) >>> 0) { + Ue = 197; + continue e + } + Ue = 202; + break r; + break; + case 204: + Ue = 0, o[le >> 2] = o[N >> 2] & (1 << o[R >> 2]) - 1, o[N >> 2] = (0 | o[N >> 2]) >>> (0 | o[R >> 2]), o[g >> 2] = (0 | o[g >> 2]) - (0 | o[R >> 2]), o[le >> 2] = (0 | o[le >> 2]) + (0 | t[(0 | o[w >> 2]) - 16 + 1358 >> 0]), er = 16 == (0 | o[w >> 2]) ? 0 | i[10532 + (0 | o[h >> 2]) + ((0 | o[O >> 2]) - 1) >> 0] : 0, xe(10532 + (0 | o[h >> 2]) + (0 | o[O >> 2]) | 0, 255 & er | 0, 0 | o[le >> 2]), o[O >> 2] = (0 | o[O >> 2]) + (0 | o[le >> 2]), Ue = 167; + break; + case 212: + if (Ue = 0, ((0 | o[C >> 2]) - (0 | o[P >> 2]) | 0) >= 4 && ((0 | o[L >> 2]) - (0 | o[D >> 2]) | 0) >= 2) { + if ((0 | o[g >> 2]) >>> 0 < 15 && (o[N >> 2] = o[N >> 2] | (i[o[P >> 2] >> 0] | i[1 + (0 | o[P >> 2]) >> 0] << 8) << o[g >> 2], o[P >> 2] = 2 + (0 | o[P >> 2]), o[g >> 2] = 16 + (0 | o[g >> 2])), $e = 0 | n[64 + (0 | o[h >> 2]) + 288 + ((1023 & o[N >> 2]) << 1) >> 1], o[be >> 2] = $e, (0 | $e) >= 0) o[ke >> 2] = o[be >> 2] >> 9; + else { + o[ke >> 2] = 10; + do { + $e = ~o[be >> 2], Qe = 0 | o[N >> 2], Ke = 0 | o[ke >> 2], o[ke >> 2] = Ke + 1, o[be >> 2] = n[64 + (0 | o[h >> 2]) + 2336 + ($e + (Qe >>> Ke & 1) << 1) >> 1] + } while ((0 | o[be >> 2]) < 0) + } + if (o[O >> 2] = o[be >> 2], o[N >> 2] = (0 | o[N >> 2]) >>> (0 | o[ke >> 2]), o[g >> 2] = (0 | o[g >> 2]) - (0 | o[ke >> 2]), 256 & o[O >> 2] | 0) { + Ue = 257; + break + } + if ((0 | o[g >> 2]) >>> 0 < 15 && (o[N >> 2] = o[N >> 2] | (i[o[P >> 2] >> 0] | i[1 + (0 | o[P >> 2]) >> 0] << 8) << o[g >> 2], o[P >> 2] = 2 + (0 | o[P >> 2]), o[g >> 2] = 16 + (0 | o[g >> 2])), Ke = 0 | n[64 + (0 | o[h >> 2]) + 288 + ((1023 & o[N >> 2]) << 1) >> 1], o[be >> 2] = Ke, (0 | Ke) >= 0) o[ke >> 2] = o[be >> 2] >> 9; + else { + o[ke >> 2] = 10; + do { + Ke = ~o[be >> 2], Qe = 0 | o[N >> 2], $e = 0 | o[ke >> 2], o[ke >> 2] = $e + 1, o[be >> 2] = n[64 + (0 | o[h >> 2]) + 2336 + (Ke + (Qe >>> $e & 1) << 1) >> 1] + } while ((0 | o[be >> 2]) < 0) + } + if (o[N >> 2] = (0 | o[N >> 2]) >>> (0 | o[ke >> 2]), o[g >> 2] = (0 | o[g >> 2]) - (0 | o[ke >> 2]), t[o[D >> 2] >> 0] = o[O >> 2], 256 & o[be >> 2] | 0) { + o[D >> 2] = 1 + (0 | o[D >> 2]), o[O >> 2] = o[be >> 2], Ue = 257; + break + } + t[1 + (0 | o[D >> 2]) >> 0] = o[be >> 2], o[D >> 2] = 2 + (0 | o[D >> 2]), Ue = 212; + continue r + } + if ((0 | o[g >> 2]) >>> 0 >= 15) { + Ue = 233; + continue r + } + if (((0 | o[C >> 2]) - (0 | o[P >> 2]) | 0) < 2) { + Ue = 216; + continue r + } + o[N >> 2] = o[N >> 2] | i[o[P >> 2] >> 0] << o[g >> 2] | i[1 + (0 | o[P >> 2]) >> 0] << 8 + (0 | o[g >> 2]), o[P >> 2] = 2 + (0 | o[P >> 2]), o[g >> 2] = 16 + (0 | o[g >> 2]), Ue = 233; + continue r; + break; + case 216: + if (Ue = 0, o[me >> 2] = n[64 + (0 | o[h >> 2]) + 288 + ((1023 & o[N >> 2]) << 1) >> 1], (0 | o[me >> 2]) >= 0) { + if (o[he >> 2] = o[me >> 2] >> 9, !(0 | o[he >> 2])) { + Ue = 224; + break r + } + if ((0 | o[g >> 2]) >>> 0 >= (0 | o[he >> 2]) >>> 0) { + Ue = 233; + continue r + } + Ue = 224; + break r + } + if ((0 | o[g >> 2]) >>> 0 <= 10) { + Ue = 224; + break r + } + o[he >> 2] = 10; + do { + if ($e = ~o[me >> 2], Qe = 0 | o[N >> 2], Ke = 0 | o[he >> 2], o[he >> 2] = Ke + 1, o[me >> 2] = n[64 + (0 | o[h >> 2]) + 2336 + ($e + (Qe >>> Ke & 1) << 1) >> 1], (0 | o[me >> 2]) >= 0) break + } while ((0 | o[g >> 2]) >>> 0 >= (1 + (0 | o[he >> 2]) | 0) >>> 0); + if ((0 | o[me >> 2]) >= 0) { + Ue = 233; + continue r + } + Ue = 224; + break r; + break; + case 233: + if (Ue = 0, Ke = 0 | n[64 + (0 | o[h >> 2]) + 288 + ((1023 & o[N >> 2]) << 1) >> 1], o[me >> 2] = Ke, (0 | Ke) >= 0) o[he >> 2] = o[me >> 2] >> 9, o[me >> 2] = 511 & o[me >> 2]; + else { + o[he >> 2] = 10; + do { + Ke = ~o[me >> 2], Qe = 0 | o[N >> 2], $e = 0 | o[he >> 2], o[he >> 2] = $e + 1, o[me >> 2] = n[64 + (0 | o[h >> 2]) + 2336 + (Ke + (Qe >>> $e & 1) << 1) >> 1] + } while ((0 | o[me >> 2]) < 0) + } + if (o[O >> 2] = o[me >> 2], o[N >> 2] = (0 | o[N >> 2]) >>> (0 | o[he >> 2]), o[g >> 2] = (0 | o[g >> 2]) - (0 | o[he >> 2]), !((0 | o[O >> 2]) >>> 0 >= 256)) { + Ue = 238; + continue e + } + Ue = 257; + break; + case 260: + if (Ue = 0, (0 | o[P >> 2]) >>> 0 >= (0 | o[C >> 2]) >>> 0) { + Ue = 261; + continue e + } + Ue = 266; + break r; + break; + case 268: + Ue = 0, o[Ae >> 2] = o[N >> 2] & (1 << o[R >> 2]) - 1, o[N >> 2] = (0 | o[N >> 2]) >>> (0 | o[R >> 2]), o[g >> 2] = (0 | o[g >> 2]) - (0 | o[R >> 2]), o[O >> 2] = (0 | o[O >> 2]) + (0 | o[Ae >> 2]), Ue = 269; + break; + case 271: + if (Ue = 0, o[ve >> 2] = n[64 + (0 | o[h >> 2]) + 3488 + 288 + ((1023 & o[N >> 2]) << 1) >> 1], (0 | o[ve >> 2]) >= 0) { + if (o[Me >> 2] = o[ve >> 2] >> 9, !(0 | o[Me >> 2])) { + Ue = 279; + break r + } + if ((0 | o[g >> 2]) >>> 0 >= (0 | o[Me >> 2]) >>> 0) { + Ue = 288; + continue r + } + Ue = 279; + break r + } + if ((0 | o[g >> 2]) >>> 0 <= 10) { + Ue = 279; + break r + } + o[Me >> 2] = 10; + do { + if ($e = ~o[ve >> 2], Qe = 0 | o[N >> 2], Ke = 0 | o[Me >> 2], o[Me >> 2] = Ke + 1, o[ve >> 2] = n[64 + (0 | o[h >> 2]) + 3488 + 2336 + ($e + (Qe >>> Ke & 1) << 1) >> 1], (0 | o[ve >> 2]) >= 0) break + } while ((0 | o[g >> 2]) >>> 0 >= (1 + (0 | o[Me >> 2]) | 0) >>> 0); + if ((0 | o[ve >> 2]) >= 0) { + Ue = 288; + continue r + } + Ue = 279; + break r; + break; + case 288: + if (Ue = 0, Ke = 0 | n[64 + (0 | o[h >> 2]) + 3488 + 288 + ((1023 & o[N >> 2]) << 1) >> 1], o[ve >> 2] = Ke, (0 | Ke) >= 0) o[Me >> 2] = o[ve >> 2] >> 9, o[ve >> 2] = 511 & o[ve >> 2]; + else { + o[Me >> 2] = 10; + do { + Ke = ~o[ve >> 2], Qe = 0 | o[N >> 2], $e = 0 | o[Me >> 2], o[Me >> 2] = $e + 1, o[ve >> 2] = n[64 + (0 | o[h >> 2]) + 3488 + 2336 + (Ke + (Qe >>> $e & 1) << 1) >> 1] + } while ((0 | o[ve >> 2]) < 0) + } + if (o[w >> 2] = o[ve >> 2], o[N >> 2] = (0 | o[N >> 2]) >>> (0 | o[Me >> 2]), o[g >> 2] = (0 | o[g >> 2]) - (0 | o[Me >> 2]), o[R >> 2] = o[332 + (o[w >> 2] << 2) >> 2], o[w >> 2] = o[460 + (o[w >> 2] << 2) >> 2], 0 | o[R >> 2]) { + if ((0 | o[g >> 2]) >>> 0 < (0 | o[R >> 2]) >>> 0) { + Ue = 294; + continue r + } + Ue = 302; + continue r + } + Ue = 303; + break; + case 294: + if (Ue = 0, (0 | o[P >> 2]) >>> 0 >= (0 | o[C >> 2]) >>> 0) { + Ue = 295; + continue e + } + Ue = 300; + break r; + break; + case 302: + Ue = 0, o[Te >> 2] = o[N >> 2] & (1 << o[R >> 2]) - 1, o[N >> 2] = (0 | o[N >> 2]) >>> (0 | o[R >> 2]), o[g >> 2] = (0 | o[g >> 2]) - (0 | o[R >> 2]), o[w >> 2] = (0 | o[w >> 2]) + (0 | o[Te >> 2]), Ue = 303; + break; + case 307: + if (Ue = 0, $e = 0 | o[O >> 2], o[O >> 2] = $e + -1, 0 | $e) { + Ue = 308; + continue e + } + Ue = 211; + break; + case 319: + if (Ue = 0, (0 | o[P >> 2]) >>> 0 >= (0 | o[C >> 2]) >>> 0) { + Ue = 320; + continue e + } + Ue = 325; + break r; + break; + case 327: + Ue = 0, o[N >> 2] = (0 | o[N >> 2]) >>> (7 & o[g >> 2]), o[g >> 2] = (0 | o[g >> 2]) - (7 & o[g >> 2]), o[O >> 2] = 0, Ue = 328; + continue r; + break; + case 328: + if (Ue = 0, (0 | o[O >> 2]) >>> 0 >= 4) { + Ue = 348; + continue e + } + if (!(0 | o[g >> 2])) { + Ue = 340; + break r + } + if ((0 | o[g >> 2]) >>> 0 < 8) { + Ue = 331; + continue r + } + Ue = 339; + continue r; + break; + case 331: + if (Ue = 0, (0 | o[P >> 2]) >>> 0 >= (0 | o[C >> 2]) >>> 0) { + Ue = 332; + continue e + } + Ue = 337; + break r; + break; + case 339: + Ue = 0, o[Oe >> 2] = 255 & o[N >> 2], o[N >> 2] = (0 | o[N >> 2]) >>> 8, o[g >> 2] = (0 | o[g >> 2]) - 8, Ue = 347; + continue e; + break + } + do { + if (124 == (0 | Ue)) { + if (Ue = 0, (0 | o[O >> 2]) >>> 0 < (0 | o[44 + (0 | o[h >> 2]) + 8 >> 2]) >>> 0) { + if ((0 | o[g >> 2]) >>> 0 < 3) { + Ue = 126; + continue r + } + Ue = 134; + continue r + } + o[44 + (0 | o[h >> 2]) + 8 >> 2] = 19, Ue = 136; + continue r + } + if (167 == (0 | Ue)) { + if (Ue = 0, (0 | o[O >> 2]) >>> 0 >= ((0 | o[44 + (0 | o[h >> 2]) >> 2]) + (0 | o[44 + (0 | o[h >> 2]) + 4 >> 2]) | 0) >>> 0) { + if (((0 | o[44 + (0 | o[h >> 2]) >> 2]) + (0 | o[44 + (0 | o[h >> 2]) + 4 >> 2]) | 0) != (0 | o[O >> 2])) { + Ue = 208; + continue e + } + je(64 + (0 | o[h >> 2]) | 0, 10532 + (0 | o[h >> 2]) | 0, 0 | o[44 + (0 | o[h >> 2]) >> 2]), je(64 + (0 | o[h >> 2]) + 3488 | 0, 10532 + (0 | o[h >> 2]) + (0 | o[44 + (0 | o[h >> 2]) >> 2]) | 0, 0 | o[44 + (0 | o[h >> 2]) + 4 >> 2]), Ue = 210; + break + } + if ((0 | o[g >> 2]) >>> 0 >= 15) { + Ue = 187; + continue r + } + if (((0 | o[C >> 2]) - (0 | o[P >> 2]) | 0) < 2) { + Ue = 170; + continue r + } + o[N >> 2] = o[N >> 2] | i[o[P >> 2] >> 0] << o[g >> 2] | i[1 + (0 | o[P >> 2]) >> 0] << 8 + (0 | o[g >> 2]), o[P >> 2] = 2 + (0 | o[P >> 2]), o[g >> 2] = 16 + (0 | o[g >> 2]), Ue = 187; + continue r + } + if (257 == (0 | Ue)) + if (Ue = 0, $e = 511 & o[O >> 2], o[O >> 2] = $e, 256 != (0 | $e)) { + if (o[R >> 2] = o[84 + ((0 | o[O >> 2]) - 257 << 2) >> 2], o[O >> 2] = o[208 + ((0 | o[O >> 2]) - 257 << 2) >> 2], 0 | o[R >> 2]) { + if ((0 | o[g >> 2]) >>> 0 < (0 | o[R >> 2]) >>> 0) { + Ue = 260; + continue r + } + Ue = 268; + continue r + } + Ue = 269 + } else Ue = 316; + else if (303 == (0 | Ue)) { + if (Ue = 0, o[H >> 2] = (0 | o[D >> 2]) - (0 | o[A >> 2]), (0 | o[w >> 2]) >>> 0 > (0 | o[H >> 2]) >>> 0 && 4 & o[v >> 2] | 0) { + Ue = 305; + continue e + } + if (o[_e >> 2] = (0 | o[A >> 2]) + ((0 | o[H >> 2]) - (0 | o[w >> 2]) & o[x >> 2]), (((0 | o[D >> 2]) >>> 0 > (0 | o[_e >> 2]) >>> 0 ? 0 | o[D >> 2] : 0 | o[_e >> 2]) + (0 | o[O >> 2]) | 0) >>> 0 > (0 | o[L >> 2]) >>> 0) { + Ue = 307; + continue r + } + do { + t[o[D >> 2] >> 0] = 0 | t[o[_e >> 2] >> 0], t[1 + (0 | o[D >> 2]) >> 0] = 0 | t[1 + (0 | o[_e >> 2]) >> 0], t[2 + (0 | o[D >> 2]) >> 0] = 0 | t[2 + (0 | o[_e >> 2]) >> 0], o[D >> 2] = 3 + (0 | o[D >> 2]), o[_e >> 2] = 3 + (0 | o[_e >> 2]), $e = (0 | o[O >> 2]) - 3 | 0, o[O >> 2] = $e + } while ((0 | $e) > 2); + (0 | o[O >> 2]) > 0 ? (t[o[D >> 2] >> 0] = 0 | t[o[_e >> 2] >> 0], (0 | o[O >> 2]) > 1 && (t[1 + (0 | o[D >> 2]) >> 0] = 0 | t[1 + (0 | o[_e >> 2]) >> 0]), o[D >> 2] = (0 | o[D >> 2]) + (0 | o[O >> 2]), Ue = 211) : Ue = 211 + } + } while (0); + if (210 != (0 | Ue)) + if (211 != (0 | Ue)) + if (269 != (0 | Ue)) + if (316 != (0 | Ue)); + else { + if (Ue = 0, 0 != (1 & o[20 + (0 | o[h >> 2]) >> 2] | 0) ^ 1) { + Ue = 31; + continue e + } + if (!(1 & o[v >> 2])) { + Ue = 348; + continue e + } + if ((0 | o[g >> 2]) >>> 0 < (7 & o[g >> 2]) >>> 0) { + Ue = 319; + continue + } + Ue = 327 + } + else { + if (Ue = 0, (0 | o[g >> 2]) >>> 0 >= 15) { + Ue = 288; + continue + } + if (((0 | o[C >> 2]) - (0 | o[P >> 2]) | 0) < 2) { + Ue = 271; + continue + } + o[N >> 2] = o[N >> 2] | i[o[P >> 2] >> 0] << o[g >> 2] | i[1 + (0 | o[P >> 2]) >> 0] << 8 + (0 | o[g >> 2]), o[P >> 2] = 2 + (0 | o[P >> 2]), o[g >> 2] = 16 + (0 | o[g >> 2]), Ue = 288 + } else Ue = 0, Ue = 212; + else Ue = 0, $e = 24 + (0 | o[h >> 2]) | 0, o[$e >> 2] = (0 | o[$e >> 2]) - 1, Ue = 136 + } + switch (0 | Ue) { + case 60: + Ue = 0, $e = 0 | o[P >> 2], o[P >> 2] = $e + 1, o[Y >> 2] = i[$e >> 0], Ue = 61; + continue e; + break; + case 63: + if (Ue = 0, (0 | o[P >> 2]) >>> 0 >= (0 | o[C >> 2]) >>> 0) { + Ue = 64; + continue e + } + $e = 0 | o[P >> 2], o[P >> 2] = $e + 1, Xe = 0 | t[$e >> 0], Ge = 0 | o[O >> 2], We = 0 | o[h >> 2], Ue = 70; + continue e; + break; + case 82: + Ue = 0, $e = 0 | o[P >> 2], o[P >> 2] = $e + 1, o[z >> 2] = i[$e >> 0], Ue = 83; + continue e; + break; + case 120: + Ue = 0, $e = 0 | o[P >> 2], o[P >> 2] = $e + 1, o[X >> 2] = i[$e >> 0], Ue = 121; + continue e; + break; + case 132: + Ue = 0, $e = 0 | o[P >> 2], o[P >> 2] = $e + 1, o[W >> 2] = i[$e >> 0], Ue = 133; + continue e; + break; + case 178: + if (Ue = 0, (0 | o[P >> 2]) >>> 0 >= (0 | o[C >> 2]) >>> 0) { + Ue = 179; + continue e + } + $e = 0 | o[P >> 2], o[P >> 2] = $e + 1, o[Se >> 2] = i[$e >> 0], Ue = 185; + continue e; + break; + case 202: + Ue = 0, $e = 0 | o[P >> 2], o[P >> 2] = $e + 1, o[Ee >> 2] = i[$e >> 0], Ue = 203; + continue e; + break; + case 224: + if (Ue = 0, (0 | o[P >> 2]) >>> 0 >= (0 | o[C >> 2]) >>> 0) { + Ue = 225; + continue e + } + $e = 0 | o[P >> 2], o[P >> 2] = $e + 1, o[pe >> 2] = i[$e >> 0], Ue = 231; + continue e; + break; + case 266: + Ue = 0, $e = 0 | o[P >> 2], o[P >> 2] = $e + 1, o[Fe >> 2] = i[$e >> 0], Ue = 267; + continue e; + break; + case 279: + if (Ue = 0, (0 | o[P >> 2]) >>> 0 >= (0 | o[C >> 2]) >>> 0) { + Ue = 280; + continue e + } + $e = 0 | o[P >> 2], o[P >> 2] = $e + 1, o[ye >> 2] = i[$e >> 0], Ue = 286; + continue e; + break; + case 300: + Ue = 0, $e = 0 | o[P >> 2], o[P >> 2] = $e + 1, o[ge >> 2] = i[$e >> 0], Ue = 301; + continue e; + break; + case 325: + Ue = 0, $e = 0 | o[P >> 2], o[P >> 2] = $e + 1, o[we >> 2] = i[$e >> 0], Ue = 326; + continue e; + break; + case 337: + Ue = 0, $e = 0 | o[P >> 2], o[P >> 2] = $e + 1, o[Re >> 2] = i[$e >> 0], Ue = 338; + continue e; + break; + case 340: + if (Ue = 0, (0 | o[P >> 2]) >>> 0 >= (0 | o[C >> 2]) >>> 0) { + Ue = 341; + continue e + } + $e = 0 | o[P >> 2], o[P >> 2] = $e + 1, o[Oe >> 2] = i[$e >> 0], Ue = 347; + continue e; + break + } + } else { + if (Ue = 0, (0 | o[P >> 2]) >>> 0 >= (0 | o[C >> 2]) >>> 0) { + Ue = 43; + continue + } + Qe = 0 | o[P >> 2], o[P >> 2] = Qe + 1, o[U >> 2] = i[Qe >> 0], Ue = 49 + } + } + else { + if (Ue = 0, (0 | o[P >> 2]) >>> 0 >= (0 | o[C >> 2]) >>> 0) { + Ue = 33; + continue + } + Qe = 0 | o[P >> 2], o[P >> 2] = Qe + 1, o[B >> 2] = i[Qe >> 0], Ue = 39 + } + } + if (351 == (0 | Ue)) { + for (o[Ne >> 2] = o[He >> 2], o[Pe >> 2] = o[o[F >> 2] >> 2], o[De >> 2] = 65535 & o[28 + (0 | o[h >> 2]) >> 2], o[Le >> 2] = (0 | o[28 + (0 | o[h >> 2]) >> 2]) >>> 16, o[Ie >> 2] = ((0 | o[Pe >> 2]) >>> 0) % 5552 | 0; 0 | o[Pe >> 2];) { + for (o[Ce >> 2] = 0; !((7 + (0 | o[Ce >> 2]) | 0) >>> 0 >= (0 | o[Ie >> 2]) >>> 0);) o[De >> 2] = (0 | o[De >> 2]) + (0 | i[o[Ne >> 2] >> 0]), o[Le >> 2] = (0 | o[Le >> 2]) + (0 | o[De >> 2]), o[De >> 2] = (0 | o[De >> 2]) + (0 | i[1 + (0 | o[Ne >> 2]) >> 0]), o[Le >> 2] = (0 | o[Le >> 2]) + (0 | o[De >> 2]), o[De >> 2] = (0 | o[De >> 2]) + (0 | i[2 + (0 | o[Ne >> 2]) >> 0]), o[Le >> 2] = (0 | o[Le >> 2]) + (0 | o[De >> 2]), o[De >> 2] = (0 | o[De >> 2]) + (0 | i[3 + (0 | o[Ne >> 2]) >> 0]), o[Le >> 2] = (0 | o[Le >> 2]) + (0 | o[De >> 2]), o[De >> 2] = (0 | o[De >> 2]) + (0 | i[4 + (0 | o[Ne >> 2]) >> 0]), o[Le >> 2] = (0 | o[Le >> 2]) + (0 | o[De >> 2]), o[De >> 2] = (0 | o[De >> 2]) + (0 | i[5 + (0 | o[Ne >> 2]) >> 0]), o[Le >> 2] = (0 | o[Le >> 2]) + (0 | o[De >> 2]), o[De >> 2] = (0 | o[De >> 2]) + (0 | i[6 + (0 | o[Ne >> 2]) >> 0]), o[Le >> 2] = (0 | o[Le >> 2]) + (0 | o[De >> 2]), o[De >> 2] = (0 | o[De >> 2]) + (0 | i[7 + (0 | o[Ne >> 2]) >> 0]), o[Le >> 2] = (0 | o[Le >> 2]) + (0 | o[De >> 2]), o[Ce >> 2] = 8 + (0 | o[Ce >> 2]), o[Ne >> 2] = 8 + (0 | o[Ne >> 2]); + for (; !((0 | o[Ce >> 2]) >>> 0 >= (0 | o[Ie >> 2]) >>> 0);) He = 0 | o[Ne >> 2], o[Ne >> 2] = He + 1, o[De >> 2] = (0 | o[De >> 2]) + (0 | i[He >> 0]), o[Le >> 2] = (0 | o[Le >> 2]) + (0 | o[De >> 2]), o[Ce >> 2] = 1 + (0 | o[Ce >> 2]); + o[De >> 2] = ((0 | o[De >> 2]) >>> 0) % 65521 | 0, o[Le >> 2] = ((0 | o[Le >> 2]) >>> 0) % 65521 | 0, o[Pe >> 2] = (0 | o[Pe >> 2]) - (0 | o[Ie >> 2]), o[Ie >> 2] = 5552 + } + o[28 + (0 | o[h >> 2]) >> 2] = (o[Le >> 2] << 16) + (0 | o[De >> 2]), 0 == (0 | o[T >> 2]) && 1 & o[v >> 2] | 0 && (0 | o[28 + (0 | o[h >> 2]) >> 2]) != (0 | o[16 + (0 | o[h >> 2]) >> 2]) && (o[T >> 2] = -2) + } + return o[m >> 2] = o[T >> 2], rr = 0 | o[m >> 2], l = _, 0 | rr + } + return o[o[F >> 2] >> 2] = 0, o[o[b >> 2] >> 2] = 0, o[m >> 2] = -3, rr = 0 | o[m >> 2], l = _, 0 | rr + } + + function z(e) { + e |= 0; + var r, t, n, i = 0; + return r = l, (0 | (l = l + 16 | 0)) >= (0 | f) && k(16), t = r + 4 | 0, o[(n = r) >> 2] = e, 0 | o[n >> 2] ? (0 | o[28 + (0 | o[n >> 2]) >> 2] && (K(0 | o[28 + (0 | o[n >> 2]) >> 2]), o[28 + (0 | o[n >> 2]) >> 2] = 0), o[t >> 2] = 0, i = 0 | o[t >> 2], l = r, 0 | i) : (o[t >> 2] = -2, i = 0 | o[t >> 2], l = r, 0 | i) + } + + function V(e) { + e |= 0; + var r, t = 0, + n = 0, + i = 0, + a = 0, + s = 0, + u = 0, + c = 0, + d = 0, + S = 0, + E = 0, + _ = 0, + m = 0, + h = 0, + p = 0, + b = 0, + A = 0, + F = 0, + v = 0, + M = 0, + y = 0, + T = 0, + g = 0, + w = 0, + O = 0, + R = 0, + N = 0, + P = 0, + C = 0, + D = 0, + L = 0, + I = 0, + x = 0, + H = 0, + B = 0, + U = 0, + Y = 0, + z = 0, + V = 0, + K = 0, + j = 0, + X = 0, + W = 0, + q = 0, + Z = 0, + Q = 0, + $ = 0, + J = 0, + ee = 0, + re = 0, + te = 0, + ne = 0, + oe = 0, + ie = 0, + ae = 0, + se = 0, + ue = 0, + ce = 0, + le = 0, + fe = 0, + de = 0, + Se = 0, + Ee = 0, + _e = 0, + me = 0, + he = 0, + pe = 0, + be = 0, + ke = 0, + Ae = 0, + Fe = 0, + ve = 0, + Me = 0, + ye = 0, + Te = 0; + r = l, (0 | (l = l + 16 | 0)) >= (0 | f) && k(16), t = r; + do { + if (e >>> 0 < 245) { + if (i = (n = e >>> 0 < 11 ? 16 : e + 11 & -8) >>> 3, 3 & (s = (a = 0 | o[948]) >>> i) | 0) return S = 0 | o[(d = (c = 3832 + ((u = (1 & s ^ 1) + i | 0) << 1 << 2) | 0) + 8 | 0) >> 2], (0 | c) == (0 | (_ = 0 | o[(E = S + 8 | 0) >> 2])) ? o[948] = a & ~(1 << u) : (o[_ + 12 >> 2] = c, o[d >> 2] = _), _ = u << 3, o[S + 4 >> 2] = 3 | _, o[(u = S + _ + 4 | 0) >> 2] = 1 | o[u >> 2], l = r, 0 | E; + if (n >>> 0 > (E = 0 | o[950]) >>> 0) { + if (0 | s) return s = 0 | o[(d = (S = 3832 + ((c = ((u = (i = (u = ((_ = s << i & ((u = 2 << i) | 0 - u)) & 0 - _) - 1 | 0) >>> (_ = u >>> 12 & 16)) >>> 5 & 8) | _ | (i = (s = i >>> u) >>> 2 & 4) | (s = (S = s >>> i) >>> 1 & 2) | (S = (d = S >>> s) >>> 1 & 1)) + (d >>> S) | 0) << 1 << 2) | 0) + 8 | 0) >> 2], (0 | S) == (0 | (_ = 0 | o[(i = s + 8 | 0) >> 2])) ? (u = a & ~(1 << c), o[948] = u, m = u) : (o[_ + 12 >> 2] = S, o[d >> 2] = _, m = a), _ = (c << 3) - n | 0, o[s + 4 >> 2] = 3 | n, o[(c = s + n | 0) + 4 >> 2] = 1 | _, o[c + _ >> 2] = _, 0 | E && (s = 0 | o[953], S = 3832 + ((d = E >>> 3) << 1 << 2) | 0, m & (u = 1 << d) ? (h = 0 | o[(u = S + 8 | 0) >> 2], p = u) : (o[948] = m | u, h = S, p = S + 8 | 0), o[p >> 2] = s, o[h + 12 >> 2] = s, o[s + 8 >> 2] = h, o[s + 12 >> 2] = S), o[950] = _, o[953] = c, l = r, 0 | i; + if (i = 0 | o[949]) { + if (b = 0 | o[4096 + (((c = (S = (c = (i & 0 - i) - 1 | 0) >>> (_ = c >>> 12 & 16)) >>> 5 & 8) | _ | (S = (s = S >>> c) >>> 2 & 4) | (s = (u = s >>> S) >>> 1 & 2) | (u = (d = u >>> s) >>> 1 & 1)) + (d >>> u) << 2) >> 2], u = (-8 & o[b + 4 >> 2]) - n | 0, d = 0 | o[b + 16 + ((0 == (0 | o[b + 16 >> 2]) & 1) << 2) >> 2]) + for (s = b, b = u, u = d;;) { + if (_ = (S = (d = (-8 & o[u + 4 >> 2]) - n | 0) >>> 0 < b >>> 0) ? d : b, d = S ? u : s, !(u = 0 | o[u + 16 + ((0 == (0 | o[u + 16 >> 2]) & 1) << 2) >> 2])) { + A = d, F = _; + break + } + s = d, b = _ + } else A = b, F = u; + if (A >>> 0 < (b = A + n | 0) >>> 0) { + s = 0 | o[A + 24 >> 2], u = 0 | o[A + 12 >> 2]; + do { + if ((0 | u) == (0 | A)) { + if (d = 0 | o[(_ = A + 20 | 0) >> 2]) M = d, y = _; + else { + if (!(c = 0 | o[(S = A + 16 | 0) >> 2])) { + v = 0; + break + } + M = c, y = S + } + for (;;) + if (0 | (d = 0 | o[(_ = M + 20 | 0) >> 2])) M = d, y = _; + else { + if (!(d = 0 | o[(_ = M + 16 | 0) >> 2])) break; + M = d, y = _ + } o[y >> 2] = 0, v = M + } else _ = 0 | o[A + 8 >> 2], o[_ + 12 >> 2] = u, o[u + 8 >> 2] = _, v = u + } while (0); + do { + if (0 | s) { + if (u = 0 | o[A + 28 >> 2], (0 | A) == (0 | o[(_ = 4096 + (u << 2) | 0) >> 2])) { + if (o[_ >> 2] = v, !v) { + o[949] = i & ~(1 << u); + break + } + } else if (o[s + 16 + (((0 | o[s + 16 >> 2]) != (0 | A) & 1) << 2) >> 2] = v, !v) break; + o[v + 24 >> 2] = s, 0 | (u = 0 | o[A + 16 >> 2]) && (o[v + 16 >> 2] = u, o[u + 24 >> 2] = v), 0 | (u = 0 | o[A + 20 >> 2]) && (o[v + 20 >> 2] = u, o[u + 24 >> 2] = v) + } + } while (0); + return F >>> 0 < 16 ? (s = F + n | 0, o[A + 4 >> 2] = 3 | s, o[(i = A + s + 4 | 0) >> 2] = 1 | o[i >> 2]) : (o[A + 4 >> 2] = 3 | n, o[b + 4 >> 2] = 1 | F, o[b + F >> 2] = F, 0 | E && (i = 0 | o[953], u = 3832 + ((s = E >>> 3) << 1 << 2) | 0, a & (_ = 1 << s) ? (T = 0 | o[(_ = u + 8 | 0) >> 2], g = _) : (o[948] = a | _, T = u, g = u + 8 | 0), o[g >> 2] = i, o[T + 12 >> 2] = i, o[i + 8 >> 2] = T, o[i + 12 >> 2] = u), o[950] = F, o[953] = b), l = r, 0 | (A + 8 | 0) + } + w = n + } else w = n + } else w = n + } else if (e >>> 0 <= 4294967231) + if (i = -8 & (u = e + 11 | 0), _ = 0 | o[949]) { + s = 0 - i | 0, O = (d = u >>> 8) ? i >>> 0 > 16777215 ? 31 : i >>> ((R = 14 - ((d = ((S = d << (u = (d + 1048320 | 0) >>> 16 & 8)) + 520192 | 0) >>> 16 & 4) | u | (S = ((c = S << d) + 245760 | 0) >>> 16 & 2)) + (c << S >>> 15) | 0) + 7 | 0) & 1 | R << 1 : 0, R = 0 | o[4096 + (O << 2) >> 2]; + e: do { + if (R) + for (S = 0, c = s, u = R, d = i << (31 == (0 | O) ? 0 : 25 - (O >>> 1) | 0), L = 0;;) { + if ((I = (-8 & o[u + 4 >> 2]) - i | 0) >>> 0 < c >>> 0) { + if (!I) { + x = u, H = 0, B = u, D = 61; + break e + } + U = u, Y = I + } else U = S, Y = c; + if (z = 0 == (0 | (I = 0 | o[u + 20 >> 2])) | (0 | I) == (0 | (u = 0 | o[u + 16 + (d >>> 31 << 2) >> 2])) ? L : I, I = 0 == (0 | u)) { + N = z, P = U, C = Y, D = 57; + break + } + S = U, c = Y, d <<= 1 & (1 ^ I), L = z + } else N = 0, P = 0, C = s, D = 57 + } while (0); + if (57 == (0 | D)) { + if (0 == (0 | N) & 0 == (0 | P)) { + if (!(s = _ & ((R = 2 << O) | 0 - R))) { + w = i; + break + } + V = 0, K = 0 | o[4096 + (((R = (n = (R = (s & 0 - s) - 1 | 0) >>> (s = R >>> 12 & 16)) >>> 5 & 8) | s | (n = (b = n >>> R) >>> 2 & 4) | (b = (a = b >>> n) >>> 1 & 2) | (a = (E = a >>> b) >>> 1 & 1)) + (E >>> a) << 2) >> 2] + } else V = P, K = N; + K ? (x = V, H = C, B = K, D = 61) : (j = V, X = C) + } + if (61 == (0 | D)) + for (;;) { + if (D = 0, b = (E = (a = (-8 & o[B + 4 >> 2]) - i | 0) >>> 0 < H >>> 0) ? a : H, a = E ? B : x, !(B = 0 | o[B + 16 + ((0 == (0 | o[B + 16 >> 2]) & 1) << 2) >> 2])) { + j = a, X = b; + break + } + x = a, H = b, D = 61 + } + if (0 != (0 | j) && X >>> 0 < ((0 | o[950]) - i | 0) >>> 0) { + if (j >>> 0 >= (b = j + i | 0) >>> 0) return l = r, 0 | 0; + a = 0 | o[j + 24 >> 2], E = 0 | o[j + 12 >> 2]; + do { + if ((0 | E) == (0 | j)) { + if (s = 0 | o[(n = j + 20 | 0) >> 2]) q = s, Z = n; + else { + if (!(L = 0 | o[(R = j + 16 | 0) >> 2])) { + W = 0; + break + } + q = L, Z = R + } + for (;;) + if (0 | (s = 0 | o[(n = q + 20 | 0) >> 2])) q = s, Z = n; + else { + if (!(s = 0 | o[(n = q + 16 | 0) >> 2])) break; + q = s, Z = n + } o[Z >> 2] = 0, W = q + } else n = 0 | o[j + 8 >> 2], o[n + 12 >> 2] = E, o[E + 8 >> 2] = n, W = E + } while (0); + do { + if (a) { + if (E = 0 | o[j + 28 >> 2], (0 | j) == (0 | o[(n = 4096 + (E << 2) | 0) >> 2])) { + if (o[n >> 2] = W, !W) { + n = _ & ~(1 << E), o[949] = n, Q = n; + break + } + } else if (o[a + 16 + (((0 | o[a + 16 >> 2]) != (0 | j) & 1) << 2) >> 2] = W, !W) { + Q = _; + break + } + o[W + 24 >> 2] = a, 0 | (n = 0 | o[j + 16 >> 2]) && (o[W + 16 >> 2] = n, o[n + 24 >> 2] = W), (n = 0 | o[j + 20 >> 2]) ? (o[W + 20 >> 2] = n, o[n + 24 >> 2] = W, Q = _) : Q = _ + } else Q = _ + } while (0); + do { + if (X >>> 0 >= 16) { + if (o[j + 4 >> 2] = 3 | i, o[b + 4 >> 2] = 1 | X, o[b + X >> 2] = X, _ = X >>> 3, X >>> 0 < 256) { + a = 3832 + (_ << 1 << 2) | 0, (n = 0 | o[948]) & (E = 1 << _) ? ($ = 0 | o[(E = a + 8 | 0) >> 2], J = E) : (o[948] = n | E, $ = a, J = a + 8 | 0), o[J >> 2] = b, o[$ + 12 >> 2] = b, o[b + 8 >> 2] = $, o[b + 12 >> 2] = a; + break + } + if (ee = (a = X >>> 8) ? X >>> 0 > 16777215 ? 31 : X >>> ((s = 14 - ((a = ((n = a << (E = (a + 1048320 | 0) >>> 16 & 8)) + 520192 | 0) >>> 16 & 4) | E | (n = ((_ = n << a) + 245760 | 0) >>> 16 & 2)) + (_ << n >>> 15) | 0) + 7 | 0) & 1 | s << 1 : 0, s = 4096 + (ee << 2) | 0, o[b + 28 >> 2] = ee, o[(n = b + 16 | 0) + 4 >> 2] = 0, o[n >> 2] = 0, !(Q & (n = 1 << ee))) { + o[949] = Q | n, o[s >> 2] = b, o[b + 24 >> 2] = s, o[b + 12 >> 2] = b, o[b + 8 >> 2] = b; + break + } + for (n = X << (31 == (0 | ee) ? 0 : 25 - (ee >>> 1) | 0), _ = 0 | o[s >> 2];;) { + if ((-8 & o[_ + 4 >> 2] | 0) == (0 | X)) { + D = 97; + break + } + if (!(s = 0 | o[(re = _ + 16 + (n >>> 31 << 2) | 0) >> 2])) { + D = 96; + break + } + n <<= 1, _ = s + } + if (96 == (0 | D)) { + o[re >> 2] = b, o[b + 24 >> 2] = _, o[b + 12 >> 2] = b, o[b + 8 >> 2] = b; + break + } + if (97 == (0 | D)) { + s = 0 | o[(n = _ + 8 | 0) >> 2], o[s + 12 >> 2] = b, o[n >> 2] = b, o[b + 8 >> 2] = s, o[b + 12 >> 2] = _, o[b + 24 >> 2] = 0; + break + } + } else s = X + i | 0, o[j + 4 >> 2] = 3 | s, o[(n = j + s + 4 | 0) >> 2] = 1 | o[n >> 2] + } while (0); + return l = r, 0 | (j + 8 | 0) + } + w = i + } else w = i; + else w = -1 + } while (0); + if ((j = 0 | o[950]) >>> 0 >= w >>> 0) return X = j - w | 0, re = 0 | o[953], X >>> 0 > 15 ? (ee = re + w | 0, o[953] = ee, o[950] = X, o[ee + 4 >> 2] = 1 | X, o[ee + X >> 2] = X, o[re + 4 >> 2] = 3 | w) : (o[950] = 0, o[953] = 0, o[re + 4 >> 2] = 3 | j, o[(X = re + j + 4 | 0) >> 2] = 1 | o[X >> 2]), l = r, 0 | (re + 8 | 0); + if ((re = 0 | o[951]) >>> 0 > w >>> 0) return X = re - w | 0, o[951] = X, ee = (j = 0 | o[954]) + w | 0, o[954] = ee, o[ee + 4 >> 2] = 1 | X, o[j + 4 >> 2] = 3 | w, l = r, 0 | (j + 8 | 0); + if (0 | o[1066] ? te = 0 | o[1068] : (o[1068] = 4096, o[1067] = 4096, o[1069] = -1, o[1070] = -1, o[1071] = 0, o[1059] = 0, j = -16 & t ^ 1431655768, o[t >> 2] = j, o[1066] = j, te = 4096), j = w + 48 | 0, (te = (X = te + (t = w + 47 | 0) | 0) & (ee = 0 - te | 0)) >>> 0 <= w >>> 0) return l = r, 0 | 0; + if (0 | (Q = 0 | o[1058]) && (J = ($ = 0 | o[1056]) + te | 0) >>> 0 <= $ >>> 0 | J >>> 0 > Q >>> 0) return l = r, 0 | 0; + e: do { + if (4 & o[1059]) ce = 0, D = 133; + else { + Q = 0 | o[954]; + r: do { + if (Q) { + for (J = 4240; !(($ = 0 | o[J >> 2]) >>> 0 <= Q >>> 0 && ($ + (0 | o[(ne = J + 4 | 0) >> 2]) | 0) >>> 0 > Q >>> 0);) { + if (!($ = 0 | o[J + 8 >> 2])) { + D = 118; + break r + } + J = $ + } + if ((_ = X - re & ee) >>> 0 < 2147483647) + if ((0 | ($ = 0 | Ve(0 | _))) == ((0 | o[J >> 2]) + (0 | o[ne >> 2]) | 0)) { + if (-1 != (0 | $)) { + ie = _, ae = $, D = 135; + break e + } + oe = _ + } else se = $, ue = _, D = 126; + else oe = 0 + } else D = 118 + } while (0); + do { + if (118 == (0 | D)) + if (-1 != (0 | (Q = 0 | Ve(0))) && (i = Q, _ = (W = (0 == (($ = (_ = 0 | o[1067]) + -1 | 0) & i | 0) ? 0 : ($ + i & 0 - _) - i | 0) + te | 0) + (i = 0 | o[1056]) | 0, W >>> 0 > w >>> 0 & W >>> 0 < 2147483647)) { + if (0 | ($ = 0 | o[1058]) && _ >>> 0 <= i >>> 0 | _ >>> 0 > $ >>> 0) { + oe = 0; + break + } + if ((0 | ($ = 0 | Ve(0 | W))) == (0 | Q)) { + ie = W, ae = Q, D = 135; + break e + } + se = $, ue = W, D = 126 + } else oe = 0 + } while (0); + do { + if (126 == (0 | D)) { + if (W = 0 - ue | 0, !(j >>> 0 > ue >>> 0 & ue >>> 0 < 2147483647 & -1 != (0 | se))) { + if (-1 == (0 | se)) { + oe = 0; + break + } + ie = ue, ae = se, D = 135; + break e + } + if ((Q = t - ue + ($ = 0 | o[1068]) & 0 - $) >>> 0 >= 2147483647) { + ie = ue, ae = se, D = 135; + break e + } + if (-1 == (0 | Ve(0 | Q))) { + Ve(0 | W), oe = 0; + break + } + ie = Q + ue | 0, ae = se, D = 135; + break e + } + } while (0); + o[1059] = 4 | o[1059], ce = oe, D = 133 + } + } while (0); + if (133 == (0 | D) && te >>> 0 < 2147483647 && !(-1 == (0 | (oe = 0 | Ve(0 | te))) | 1 ^ (ue = (se = (te = 0 | Ve(0)) - oe | 0) >>> 0 > (w + 40 | 0) >>> 0) | oe >>> 0 < te >>> 0 & -1 != (0 | oe) & -1 != (0 | te) ^ 1) && (ie = ue ? se : ce, ae = oe, D = 135), 135 == (0 | D)) { + oe = (0 | o[1056]) + ie | 0, o[1056] = oe, oe >>> 0 > (0 | o[1057]) >>> 0 && (o[1057] = oe), oe = 0 | o[954]; + do { + if (oe) { + for (ce = 4240;;) { + if ((0 | ae) == ((le = 0 | o[ce >> 2]) + (de = 0 | o[(fe = ce + 4 | 0) >> 2]) | 0)) { + D = 145; + break + } + if (!(se = 0 | o[ce + 8 >> 2])) break; + ce = se + } + if (145 == (0 | D) && 0 == (8 & o[ce + 12 >> 2] | 0) && oe >>> 0 < ae >>> 0 & oe >>> 0 >= le >>> 0) { + o[fe >> 2] = de + ie, se = oe + (ue = 0 == (7 & (se = oe + 8 | 0) | 0) ? 0 : 0 - se & 7) | 0, te = (0 | o[951]) + (ie - ue) | 0, o[954] = se, o[951] = te, o[se + 4 >> 2] = 1 | te, o[se + te + 4 >> 2] = 40, o[955] = o[1070]; + break + } + for (ae >>> 0 < (0 | o[952]) >>> 0 && (o[952] = ae), te = ae + ie | 0, se = 4240;;) { + if ((0 | o[se >> 2]) == (0 | te)) { + D = 153; + break + } + if (!(ue = 0 | o[se + 8 >> 2])) break; + se = ue + } + if (153 == (0 | D) && 0 == (8 & o[se + 12 >> 2] | 0)) { + o[se >> 2] = ae, o[(ce = se + 4 | 0) >> 2] = (0 | o[ce >> 2]) + ie, ue = ae + (0 == (7 & (ce = ae + 8 | 0) | 0) ? 0 : 0 - ce & 7) | 0, t = te + (0 == (7 & (ce = te + 8 | 0) | 0) ? 0 : 0 - ce & 7) | 0, ce = ue + w | 0, j = t - ue - w | 0, o[ue + 4 >> 2] = 3 | w; + do { + if ((0 | t) != (0 | oe)) { + if ((0 | t) == (0 | o[953])) { + ne = (0 | o[950]) + j | 0, o[950] = ne, o[953] = ce, o[ce + 4 >> 2] = 1 | ne, o[ce + ne >> 2] = ne; + break + } + if (1 == (3 & (ne = 0 | o[t + 4 >> 2]) | 0)) { + ee = -8 & ne, re = ne >>> 3; + e: do { + if (ne >>> 0 < 256) { + if (X = 0 | o[t + 8 >> 2], (0 | (Q = 0 | o[t + 12 >> 2])) == (0 | X)) { + o[948] = o[948] & ~(1 << re); + break + } + o[X + 12 >> 2] = Q, o[Q + 8 >> 2] = X; + break + } + X = 0 | o[t + 24 >> 2], Q = 0 | o[t + 12 >> 2]; + do { + if ((0 | Q) == (0 | t)) { + if (_ = 0 | o[($ = (W = t + 16 | 0) + 4 | 0) >> 2]) Ee = _, _e = $; + else { + if (!(i = 0 | o[W >> 2])) { + Se = 0; + break + } + Ee = i, _e = W + } + for (;;) + if (0 | (_ = 0 | o[($ = Ee + 20 | 0) >> 2])) Ee = _, _e = $; + else { + if (!(_ = 0 | o[($ = Ee + 16 | 0) >> 2])) break; + Ee = _, _e = $ + } o[_e >> 2] = 0, Se = Ee + } else $ = 0 | o[t + 8 >> 2], o[$ + 12 >> 2] = Q, o[Q + 8 >> 2] = $, Se = Q + } while (0); + if (!X) break; + $ = 4096 + ((Q = 0 | o[t + 28 >> 2]) << 2) | 0; + do { + if ((0 | t) == (0 | o[$ >> 2])) { + if (o[$ >> 2] = Se, 0 | Se) break; + o[949] = o[949] & ~(1 << Q); + break e + } + if (o[X + 16 + (((0 | o[X + 16 >> 2]) != (0 | t) & 1) << 2) >> 2] = Se, !Se) break e + } while (0); + if (o[Se + 24 >> 2] = X, 0 | ($ = 0 | o[(Q = t + 16 | 0) >> 2]) && (o[Se + 16 >> 2] = $, o[$ + 24 >> 2] = Se), !($ = 0 | o[Q + 4 >> 2])) break; + o[Se + 20 >> 2] = $, o[$ + 24 >> 2] = Se + } while (0); + me = t + ee | 0, he = ee + j | 0 + } else me = t, he = j; + if (o[(re = me + 4 | 0) >> 2] = -2 & o[re >> 2], o[ce + 4 >> 2] = 1 | he, o[ce + he >> 2] = he, re = he >>> 3, he >>> 0 < 256) { + ne = 3832 + (re << 1 << 2) | 0, (J = 0 | o[948]) & ($ = 1 << re) ? (pe = 0 | o[($ = ne + 8 | 0) >> 2], be = $) : (o[948] = J | $, pe = ne, be = ne + 8 | 0), o[be >> 2] = ce, o[pe + 12 >> 2] = ce, o[ce + 8 >> 2] = pe, o[ce + 12 >> 2] = ne; + break + } + ne = he >>> 8; + do { + if (ne) { + if (he >>> 0 > 16777215) { + ke = 31; + break + } + ke = he >>> ((_ = 14 - ((re = ((J = ne << ($ = (ne + 1048320 | 0) >>> 16 & 8)) + 520192 | 0) >>> 16 & 4) | $ | (J = ((Q = J << re) + 245760 | 0) >>> 16 & 2)) + (Q << J >>> 15) | 0) + 7 | 0) & 1 | _ << 1 + } else ke = 0 + } while (0); + if (ne = 4096 + (ke << 2) | 0, o[ce + 28 >> 2] = ke, o[(ee = ce + 16 | 0) + 4 >> 2] = 0, o[ee >> 2] = 0, !((ee = 0 | o[949]) & (_ = 1 << ke))) { + o[949] = ee | _, o[ne >> 2] = ce, o[ce + 24 >> 2] = ne, o[ce + 12 >> 2] = ce, o[ce + 8 >> 2] = ce; + break + } + for (_ = he << (31 == (0 | ke) ? 0 : 25 - (ke >>> 1) | 0), ee = 0 | o[ne >> 2];;) { + if ((-8 & o[ee + 4 >> 2] | 0) == (0 | he)) { + D = 194; + break + } + if (!(ne = 0 | o[(Ae = ee + 16 + (_ >>> 31 << 2) | 0) >> 2])) { + D = 193; + break + } + _ <<= 1, ee = ne + } + if (193 == (0 | D)) { + o[Ae >> 2] = ce, o[ce + 24 >> 2] = ee, o[ce + 12 >> 2] = ce, o[ce + 8 >> 2] = ce; + break + } + if (194 == (0 | D)) { + ne = 0 | o[(_ = ee + 8 | 0) >> 2], o[ne + 12 >> 2] = ce, o[_ >> 2] = ce, o[ce + 8 >> 2] = ne, o[ce + 12 >> 2] = ee, o[ce + 24 >> 2] = 0; + break + } + } else ne = (0 | o[951]) + j | 0, o[951] = ne, o[954] = ce, o[ce + 4 >> 2] = 1 | ne + } while (0); + return l = r, 0 | (ue + 8 | 0) + } + for (ce = 4240; !((j = 0 | o[ce >> 2]) >>> 0 <= oe >>> 0 && (Fe = j + (0 | o[ce + 4 >> 2]) | 0) >>> 0 > oe >>> 0);) ce = 0 | o[ce + 8 >> 2]; + j = (ce = (j = (ce = Fe + -47 | 0) + (0 == (7 & (ue = ce + 8 | 0) | 0) ? 0 : 0 - ue & 7) | 0) >>> 0 < (ue = oe + 16 | 0) >>> 0 ? oe : j) + 8 | 0, t = ae + (te = 0 == (7 & (t = ae + 8 | 0) | 0) ? 0 : 0 - t & 7) | 0, se = ie + -40 - te | 0, o[954] = t, o[951] = se, o[t + 4 >> 2] = 1 | se, o[t + se + 4 >> 2] = 40, o[955] = o[1070], o[(se = ce + 4 | 0) >> 2] = 27, o[j >> 2] = o[1060], o[j + 4 >> 2] = o[1061], o[j + 8 >> 2] = o[1062], o[j + 12 >> 2] = o[1063], o[1060] = ae, o[1061] = ie, o[1063] = 0, o[1062] = j, j = ce + 24 | 0; + do { + t = j, o[(j = j + 4 | 0) >> 2] = 7 + } while ((t + 8 | 0) >>> 0 < Fe >>> 0); + if ((0 | ce) != (0 | oe)) { + if (j = ce - oe | 0, o[se >> 2] = -2 & o[se >> 2], o[oe + 4 >> 2] = 1 | j, o[ce >> 2] = j, t = j >>> 3, j >>> 0 < 256) { + te = 3832 + (t << 1 << 2) | 0, (ne = 0 | o[948]) & (_ = 1 << t) ? (ve = 0 | o[(_ = te + 8 | 0) >> 2], Me = _) : (o[948] = ne | _, ve = te, Me = te + 8 | 0), o[Me >> 2] = oe, o[ve + 12 >> 2] = oe, o[oe + 8 >> 2] = ve, o[oe + 12 >> 2] = te; + break + } + if (ye = (te = j >>> 8) ? j >>> 0 > 16777215 ? 31 : j >>> ((J = 14 - ((te = ((ne = te << (_ = (te + 1048320 | 0) >>> 16 & 8)) + 520192 | 0) >>> 16 & 4) | _ | (ne = ((t = ne << te) + 245760 | 0) >>> 16 & 2)) + (t << ne >>> 15) | 0) + 7 | 0) & 1 | J << 1 : 0, J = 4096 + (ye << 2) | 0, o[oe + 28 >> 2] = ye, o[oe + 20 >> 2] = 0, o[ue >> 2] = 0, !((ne = 0 | o[949]) & (t = 1 << ye))) { + o[949] = ne | t, o[J >> 2] = oe, o[oe + 24 >> 2] = J, o[oe + 12 >> 2] = oe, o[oe + 8 >> 2] = oe; + break + } + for (t = j << (31 == (0 | ye) ? 0 : 25 - (ye >>> 1) | 0), ne = 0 | o[J >> 2];;) { + if ((-8 & o[ne + 4 >> 2] | 0) == (0 | j)) { + D = 216; + break + } + if (!(J = 0 | o[(Te = ne + 16 + (t >>> 31 << 2) | 0) >> 2])) { + D = 215; + break + } + t <<= 1, ne = J + } + if (215 == (0 | D)) { + o[Te >> 2] = oe, o[oe + 24 >> 2] = ne, o[oe + 12 >> 2] = oe, o[oe + 8 >> 2] = oe; + break + } + if (216 == (0 | D)) { + j = 0 | o[(t = ne + 8 | 0) >> 2], o[j + 12 >> 2] = oe, o[t >> 2] = oe, o[oe + 8 >> 2] = j, o[oe + 12 >> 2] = ne, o[oe + 24 >> 2] = 0; + break + } + } + } else { + 0 == (0 | (j = 0 | o[952])) | ae >>> 0 < j >>> 0 && (o[952] = ae), o[1060] = ae, o[1061] = ie, o[1063] = 0, o[957] = o[1066], o[956] = -1, j = 0; + do { + o[(t = 3832 + (j << 1 << 2) | 0) + 12 >> 2] = t, o[t + 8 >> 2] = t, j = j + 1 | 0 + } while (32 != (0 | j)); + j = ae + (ne = 0 == (7 & (j = ae + 8 | 0) | 0) ? 0 : 0 - j & 7) | 0, t = ie + -40 - ne | 0, o[954] = j, o[951] = t, o[j + 4 >> 2] = 1 | t, o[j + t + 4 >> 2] = 40, o[955] = o[1070] + } + } while (0); + if ((ie = 0 | o[951]) >>> 0 > w >>> 0) return ae = ie - w | 0, o[951] = ae, oe = (ie = 0 | o[954]) + w | 0, o[954] = oe, o[oe + 4 >> 2] = 1 | ae, o[ie + 4 >> 2] = 3 | w, l = r, 0 | (ie + 8 | 0) + } + return ie = 0 | G(), o[ie >> 2] = 12, l = r, 0 | 0 + } + + function K(e) { + var r, t = 0, + n = 0, + i = 0, + a = 0, + s = 0, + u = 0, + c = 0, + l = 0, + f = 0, + d = 0, + S = 0, + E = 0, + _ = 0, + m = 0, + h = 0, + p = 0, + b = 0, + k = 0, + A = 0, + F = 0, + v = 0, + M = 0, + y = 0, + T = 0, + g = 0, + w = 0, + O = 0; + if (e |= 0) { + t = e + -8 | 0, n = 0 | o[952], r = t + (e = -8 & (i = 0 | o[e + -4 >> 2])) | 0; + do { + if (1 & i) f = t, d = e, S = t; + else { + if (a = 0 | o[t >> 2], !(3 & i)) return; + if (u = a + e | 0, (s = t + (0 - a) | 0) >>> 0 < n >>> 0) return; + if ((0 | s) == (0 | o[953])) { + if (3 != (3 & (l = 0 | o[(c = r + 4 | 0) >> 2]) | 0)) { + f = s, d = u, S = s; + break + } + return o[950] = u, o[c >> 2] = -2 & l, o[s + 4 >> 2] = 1 | u, void(o[s + u >> 2] = u) + } + if (l = a >>> 3, a >>> 0 < 256) { + if (a = 0 | o[s + 8 >> 2], (0 | (c = 0 | o[s + 12 >> 2])) == (0 | a)) { + o[948] = o[948] & ~(1 << l), f = s, d = u, S = s; + break + } + o[a + 12 >> 2] = c, o[c + 8 >> 2] = a, f = s, d = u, S = s; + break + } + a = 0 | o[s + 24 >> 2], c = 0 | o[s + 12 >> 2]; + do { + if ((0 | c) == (0 | s)) { + if (_ = 0 | o[(E = (l = s + 16 | 0) + 4 | 0) >> 2]) p = _, b = E; + else { + if (!(m = 0 | o[l >> 2])) { + h = 0; + break + } + p = m, b = l + } + for (;;) + if (0 | (_ = 0 | o[(E = p + 20 | 0) >> 2])) p = _, b = E; + else { + if (!(_ = 0 | o[(E = p + 16 | 0) >> 2])) break; + p = _, b = E + } o[b >> 2] = 0, h = p + } else E = 0 | o[s + 8 >> 2], o[E + 12 >> 2] = c, o[c + 8 >> 2] = E, h = c + } while (0); + if (a) { + if (c = 0 | o[s + 28 >> 2], (0 | s) == (0 | o[(E = 4096 + (c << 2) | 0) >> 2])) { + if (o[E >> 2] = h, !h) { + o[949] = o[949] & ~(1 << c), f = s, d = u, S = s; + break + } + } else if (o[a + 16 + (((0 | o[a + 16 >> 2]) != (0 | s) & 1) << 2) >> 2] = h, !h) { + f = s, d = u, S = s; + break + } + o[h + 24 >> 2] = a, 0 | (E = 0 | o[(c = s + 16 | 0) >> 2]) && (o[h + 16 >> 2] = E, o[E + 24 >> 2] = h), (E = 0 | o[c + 4 >> 2]) ? (o[h + 20 >> 2] = E, o[E + 24 >> 2] = h, f = s, d = u, S = s) : (f = s, d = u, S = s) + } else f = s, d = u, S = s + } + } while (0); + if (!(S >>> 0 >= r >>> 0) && 1 & (e = 0 | o[(t = r + 4 | 0) >> 2])) { + if (2 & e) o[t >> 2] = -2 & e, o[f + 4 >> 2] = 1 | d, o[S + d >> 2] = d, v = d; + else { + if (h = 0 | o[953], (0 | r) == (0 | o[954])) { + if (p = (0 | o[951]) + d | 0, o[951] = p, o[954] = f, o[f + 4 >> 2] = 1 | p, (0 | f) != (0 | h)) return; + return o[953] = 0, void(o[950] = 0) + } + if ((0 | r) == (0 | h)) return h = (0 | o[950]) + d | 0, o[950] = h, o[953] = S, o[f + 4 >> 2] = 1 | h, void(o[S + h >> 2] = h); + h = (-8 & e) + d | 0, p = e >>> 3; + do { + if (e >>> 0 < 256) { + if (b = 0 | o[r + 8 >> 2], (0 | (n = 0 | o[r + 12 >> 2])) == (0 | b)) { + o[948] = o[948] & ~(1 << p); + break + } + o[b + 12 >> 2] = n, o[n + 8 >> 2] = b; + break + } + b = 0 | o[r + 24 >> 2], n = 0 | o[r + 12 >> 2]; + do { + if ((0 | n) == (0 | r)) { + if (c = 0 | o[(E = (i = r + 16 | 0) + 4 | 0) >> 2]) A = c, F = E; + else { + if (!(_ = 0 | o[i >> 2])) { + k = 0; + break + } + A = _, F = i + } + for (;;) + if (0 | (c = 0 | o[(E = A + 20 | 0) >> 2])) A = c, F = E; + else { + if (!(c = 0 | o[(E = A + 16 | 0) >> 2])) break; + A = c, F = E + } o[F >> 2] = 0, k = A + } else E = 0 | o[r + 8 >> 2], o[E + 12 >> 2] = n, o[n + 8 >> 2] = E, k = n + } while (0); + if (0 | b) { + if (n = 0 | o[r + 28 >> 2], (0 | r) == (0 | o[(s = 4096 + (n << 2) | 0) >> 2])) { + if (o[s >> 2] = k, !k) { + o[949] = o[949] & ~(1 << n); + break + } + } else if (o[b + 16 + (((0 | o[b + 16 >> 2]) != (0 | r) & 1) << 2) >> 2] = k, !k) break; + o[k + 24 >> 2] = b, 0 | (s = 0 | o[(n = r + 16 | 0) >> 2]) && (o[k + 16 >> 2] = s, o[s + 24 >> 2] = k), 0 | (s = 0 | o[n + 4 >> 2]) && (o[k + 20 >> 2] = s, o[s + 24 >> 2] = k) + } + } while (0); + if (o[f + 4 >> 2] = 1 | h, o[S + h >> 2] = h, (0 | f) == (0 | o[953])) return void(o[950] = h); + v = h + } + if (d = v >>> 3, v >>> 0 < 256) return S = 3832 + (d << 1 << 2) | 0, (e = 0 | o[948]) & (t = 1 << d) ? (M = 0 | o[(t = S + 8 | 0) >> 2], y = t) : (o[948] = e | t, M = S, y = S + 8 | 0), o[y >> 2] = f, o[M + 12 >> 2] = f, o[f + 8 >> 2] = M, void(o[f + 12 >> 2] = S); + T = (S = v >>> 8) ? v >>> 0 > 16777215 ? 31 : v >>> ((e = 14 - ((S = ((y = S << (M = (S + 1048320 | 0) >>> 16 & 8)) + 520192 | 0) >>> 16 & 4) | M | (y = ((t = y << S) + 245760 | 0) >>> 16 & 2)) + (t << y >>> 15) | 0) + 7 | 0) & 1 | e << 1 : 0, e = 4096 + (T << 2) | 0, o[f + 28 >> 2] = T, o[f + 20 >> 2] = 0, o[f + 16 >> 2] = 0, y = 0 | o[949], t = 1 << T; + do { + if (y & t) { + for (M = v << (31 == (0 | T) ? 0 : 25 - (T >>> 1) | 0), S = 0 | o[e >> 2];;) { + if ((-8 & o[S + 4 >> 2] | 0) == (0 | v)) { + g = 73; + break + } + if (!(d = 0 | o[(w = S + 16 + (M >>> 31 << 2) | 0) >> 2])) { + g = 72; + break + } + M <<= 1, S = d + } + if (72 == (0 | g)) { + o[w >> 2] = f, o[f + 24 >> 2] = S, o[f + 12 >> 2] = f, o[f + 8 >> 2] = f; + break + } + if (73 == (0 | g)) { + b = 0 | o[(M = S + 8 | 0) >> 2], o[b + 12 >> 2] = f, o[M >> 2] = f, o[f + 8 >> 2] = b, o[f + 12 >> 2] = S, o[f + 24 >> 2] = 0; + break + } + } else o[949] = y | t, o[e >> 2] = f, o[f + 24 >> 2] = e, o[f + 12 >> 2] = f, o[f + 8 >> 2] = f + } while (0); + if (f = (0 | o[956]) - 1 | 0, o[956] = f, !f) { + for (O = 4248; f = 0 | o[O >> 2];) O = f + 8 | 0; + o[956] = -1 + } + } + } + } + + function j(e, r, t) { + e |= 0, r |= 0, t |= 0; + var n, i, a, s, u, c = 0, + d = 0, + S = 0, + E = 0, + _ = 0, + m = 0, + h = 0, + p = 0, + b = 0, + A = 0, + F = 0, + v = 0, + M = 0; + n = l, (0 | (l = l + 48 | 0)) >= (0 | f) && k(48), i = n + 16 | 0, c = n, a = n + 32 | 0, d = 0 | o[(s = e + 28 | 0) >> 2], o[a >> 2] = d, S = (0 | o[(u = e + 20 | 0) >> 2]) - d | 0, o[a + 4 >> 2] = S, o[a + 8 >> 2] = r, o[a + 12 >> 2] = t, r = S + t | 0, S = e + 60 | 0, o[c >> 2] = o[S >> 2], o[c + 4 >> 2] = a, o[c + 8 >> 2] = 2, d = 0 | X(0 | R(146, 0 | c)); + e: do { + if ((0 | r) != (0 | d)) { + for (c = 2, E = r, _ = a, m = d; !((0 | m) < 0);) { + if (E = E - m | 0, A = ((p = m >>> 0 > (h = 0 | o[_ + 4 >> 2]) >>> 0) << 31 >> 31) + c | 0, F = m - (p ? h : 0) | 0, o[(b = p ? _ + 8 | 0 : _) >> 2] = (0 | o[b >> 2]) + F, o[(h = b + 4 | 0) >> 2] = (0 | o[h >> 2]) - F, o[i >> 2] = o[S >> 2], o[i + 4 >> 2] = b, o[i + 8 >> 2] = A, (0 | E) == (0 | (m = 0 | X(0 | R(146, 0 | i))))) { + v = 3; + break e + } + c = A, _ = b + } + o[e + 16 >> 2] = 0, o[s >> 2] = 0, o[u >> 2] = 0, o[e >> 2] = 32 | o[e >> 2], M = 2 == (0 | c) ? 0 : t - (0 | o[_ + 4 >> 2]) | 0 + } else v = 3 + } while (0); + return 3 == (0 | v) && (v = 0 | o[e + 44 >> 2], o[e + 16 >> 2] = v + (0 | o[e + 48 >> 2]), o[s >> 2] = v, o[u >> 2] = v, M = t), l = n, 0 | M + } + + function X(e) { + var r = 0, + t = 0; + return (e |= 0) >>> 0 > 4294963200 ? (r = 0 | G(), o[r >> 2] = 0 - e, t = -1) : t = e, 0 | t + } + + function G() { + return 652 + } + + function W(e, r) { + r |= 0; + var n = 0, + o = 0, + i = 0, + a = 0; + if (n = 0 | t[(e |= 0) >> 0], o = 0 | t[r >> 0], n << 24 >> 24 == 0 || n << 24 >> 24 != o << 24 >> 24) i = o, a = n; + else { + n = r, r = e; + do { + n = n + 1 | 0, e = 0 | t[(r = r + 1 | 0) >> 0], o = 0 | t[n >> 0] + } while (e << 24 >> 24 != 0 && e << 24 >> 24 == o << 24 >> 24); + i = o, a = e + } + return (255 & a) - (255 & i) | 0 + } + + function q(e, r, i, s, u) { + e |= 0, r |= 0, i |= 0, s |= 0, u |= 0; + var c, d, S, _, m, h, p, b, A, F = 0, + v = 0, + M = 0, + y = 0, + T = 0, + g = 0, + w = 0, + O = 0, + R = 0, + N = 0, + P = 0, + C = 0, + D = 0, + L = 0, + I = 0, + x = 0, + H = 0, + B = 0, + U = 0, + Y = 0, + z = 0, + V = 0, + K = 0, + j = 0, + X = 0, + G = 0, + W = 0, + q = 0, + Z = 0, + Q = 0, + ce = 0, + le = 0, + fe = 0, + de = 0, + Se = 0, + Ee = 0, + _e = 0, + me = 0, + he = 0, + pe = 0, + be = 0, + ke = 0, + Ae = 0, + Fe = 0, + ve = 0, + Me = 0, + ye = 0, + Te = 0, + ge = 0, + we = 0, + Oe = 0, + Re = 0, + Ne = 0, + Pe = 0, + Ce = 0, + De = 0, + Ie = 0, + xe = 0, + He = 0, + Be = 0, + Ue = 0, + Ye = 0, + ze = 0, + Ve = 0, + Ke = 0, + je = 0, + Xe = 0, + Ge = 0, + We = 0; + c = l, (0 | (l = l + 64 | 0)) >= (0 | f) && k(64), S = c, F = c + 24 | 0, _ = c + 8 | 0, m = c + 20 | 0, o[(d = c + 16 | 0) >> 2] = r, h = 0 != (0 | e), b = p = F + 40 | 0, A = F + 39 | 0, F = _ + 4 | 0, v = 0, M = 0, y = 0, T = r; + e: for (;;) { + do { + if ((0 | M) > -1) { + if ((0 | v) > (2147483647 - M | 0)) { + o[(r = 652) >> 2] = 75, g = -1; + break + } + g = v + M | 0; + break + } + g = M + } while (0); + if (!((r = 0 | t[T >> 0]) << 24 >> 24)) { + w = 87; + break + } + O = r, R = T; + r: for (;;) { + switch (O << 24 >> 24) { + case 37: + N = R, P = R, w = 9; + break r; + break; + case 0: + C = R, D = R; + break r; + break; + default: + } + r = R + 1 | 0, o[d >> 2] = r, O = 0 | t[r >> 0], R = r + } + r: do { + if (9 == (0 | w)) + for (;;) { + if (w = 0, 37 != (0 | t[P + 1 >> 0])) { + C = N, D = P; + break r + } + if (r = N + 1 | 0, L = P + 2 | 0, o[d >> 2] = L, 37 != (0 | t[L >> 0])) { + C = r, D = L; + break + } + N = r, P = L, w = 9 + } + } while (0); + if (L = C - T | 0, h && $(e, T, L), 0 | L) v = L, M = g, T = D; + else { + (r = (0 | t[(L = D + 1 | 0) >> 0]) - 48 | 0) >>> 0 < 10 ? (x = (I = 36 == (0 | t[D + 2 >> 0])) ? r : -1, H = I ? 1 : y, B = I ? D + 3 | 0 : L) : (x = -1, H = y, B = L), o[d >> 2] = B, I = ((L = 0 | t[B >> 0]) << 24 >> 24) - 32 | 0; + r: do { + if (I >>> 0 < 32) + for (r = 0, U = L, Y = I, z = B;;) { + if (!(75913 & (V = 1 << Y))) { + K = r, j = U, X = z; + break r + } + if (G = V | r, V = z + 1 | 0, o[d >> 2] = V, (Y = ((W = 0 | t[V >> 0]) << 24 >> 24) - 32 | 0) >>> 0 >= 32) { + K = G, j = W, X = V; + break + } + r = G, U = W, z = V + } else K = 0, j = L, X = B + } while (0); + if (j << 24 >> 24 == 42) { + if ((I = (0 | t[(L = X + 1 | 0) >> 0]) - 48 | 0) >>> 0 < 10 && 36 == (0 | t[X + 2 >> 0])) o[u + (I << 2) >> 2] = 10, q = 0 | o[s + ((0 | t[L >> 0]) - 48 << 3) >> 2], Z = 1, Q = X + 3 | 0; + else { + if (0 | H) { + ce = -1; + break + } + h ? (I = 3 + (0 | o[i >> 2]) & -4, z = 0 | o[I >> 2], o[i >> 2] = I + 4, q = z, Z = 0, Q = L) : (q = 0, Z = 0, Q = L) + } + o[d >> 2] = Q, le = (L = (0 | q) < 0) ? 0 - q | 0 : q, fe = L ? 8192 | K : K, de = Z, Se = Q + } else { + if ((0 | (L = 0 | J(d))) < 0) { + ce = -1; + break + } + le = L, fe = K, de = H, Se = 0 | o[d >> 2] + } + do { + if (46 == (0 | t[Se >> 0])) { + if (42 != (0 | t[Se + 1 >> 0])) { + o[d >> 2] = Se + 1, Ee = L = 0 | J(d), _e = 0 | o[d >> 2]; + break + } + if ((z = (0 | t[(L = Se + 2 | 0) >> 0]) - 48 | 0) >>> 0 < 10 && 36 == (0 | t[Se + 3 >> 0])) { + o[u + (z << 2) >> 2] = 10, z = 0 | o[s + ((0 | t[L >> 0]) - 48 << 3) >> 2], I = Se + 4 | 0, o[d >> 2] = I, Ee = z, _e = I; + break + } + if (0 | de) { + ce = -1; + break e + } + h ? (I = 3 + (0 | o[i >> 2]) & -4, z = 0 | o[I >> 2], o[i >> 2] = I + 4, me = z) : me = 0, o[d >> 2] = L, Ee = me, _e = L + } else Ee = -1, _e = Se + } while (0); + for (L = 0, z = _e;;) { + if (((0 | t[z >> 0]) - 65 | 0) >>> 0 > 57) { + ce = -1; + break e + } + if (he = z + 1 | 0, o[d >> 2] = he, !(((be = 255 & (pe = 0 | t[(0 | t[z >> 0]) - 65 + (1362 + (58 * L | 0)) >> 0])) + -1 | 0) >>> 0 < 8)) break; + L = be, z = he + } + if (!(pe << 24 >> 24)) { + ce = -1; + break + } + I = (0 | x) > -1; + do { + if (pe << 24 >> 24 == 19) { + if (I) { + ce = -1; + break e + } + w = 49 + } else { + if (I) { + o[u + (x << 2) >> 2] = be, r = 0 | o[(U = s + (x << 3) | 0) + 4 >> 2], o[(Y = S) >> 2] = o[U >> 2], o[Y + 4 >> 2] = r, w = 49; + break + } + if (!h) { + ce = 0; + break e + } + ee(S, be, i) + } + } while (0); + if (49 != (0 | w) || (w = 0, h)) { + r = 0 != (0 | L) & 3 == (15 & (I = 0 | t[z >> 0]) | 0) ? -33 & I : I, I = -65537 & fe, Y = 0 == (8192 & fe | 0) ? fe : I; + r: do { + switch (0 | r) { + case 110: + switch ((255 & L) << 24 >> 24) { + case 0: + o[o[S >> 2] >> 2] = g, v = 0, M = g, y = de, T = he; + continue e; + break; + case 1: + o[o[S >> 2] >> 2] = g, v = 0, M = g, y = de, T = he; + continue e; + break; + case 2: + U = 0 | o[S >> 2], o[U >> 2] = g, o[U + 4 >> 2] = ((0 | g) < 0) << 31 >> 31, v = 0, M = g, y = de, T = he; + continue e; + break; + case 3: + n[o[S >> 2] >> 1] = g, v = 0, M = g, y = de, T = he; + continue e; + break; + case 4: + t[o[S >> 2] >> 0] = g, v = 0, M = g, y = de, T = he; + continue e; + break; + case 6: + o[o[S >> 2] >> 2] = g, v = 0, M = g, y = de, T = he; + continue e; + break; + case 7: + U = 0 | o[S >> 2], o[U >> 2] = g, o[U + 4 >> 2] = ((0 | g) < 0) << 31 >> 31, v = 0, M = g, y = de, T = he; + continue e; + break; + default: + v = 0, M = g, y = de, T = he; + continue e + } + break; + case 112: + ke = 120, Ae = Ee >>> 0 > 8 ? Ee : 8, Fe = 8 | Y, w = 61; + break; + case 88: + case 120: + ke = r, Ae = Ee, Fe = Y, w = 61; + break; + case 111: + ve = U = 0 | te(V = 0 | o[(U = S) >> 2], W = 0 | o[U + 4 >> 2], p), Me = 0, ye = 1826, Te = 0 == (8 & Y | 0) | (0 | Ee) > (0 | (G = b - U | 0)) ? Ee : G + 1 | 0, ge = Y, we = V, Oe = W, w = 67; + break; + case 105: + case 100: + if (V = 0 | o[(W = S) >> 2], (0 | (G = 0 | o[W + 4 >> 2])) < 0) { + W = 0 | Le(0, 0, 0 | V, 0 | G), U = E, o[(Re = S) >> 2] = W, o[Re + 4 >> 2] = U, Ne = 1, Pe = 1826, Ce = W, De = U, w = 66; + break r + } + Ne = 0 != (2049 & Y | 0) & 1, Pe = 0 == (2048 & Y | 0) ? 0 == (1 & Y | 0) ? 1826 : 1828 : 1827, Ce = V, De = G, w = 66; + break r; + break; + case 117: + Ne = 0, Pe = 1826, Ce = 0 | o[(G = S) >> 2], De = 0 | o[G + 4 >> 2], w = 66; + break; + case 99: + t[A >> 0] = o[S >> 2], Ie = A, xe = 0, He = 1826, Be = p, Ue = 1, Ye = I; + break; + case 109: + ze = 0 | oe(0 | o[(G = 652) >> 2]), w = 71; + break; + case 115: + ze = 0 | (G = 0 | o[S >> 2]) ? G : 1836, w = 71; + break; + case 67: + o[_ >> 2] = o[S >> 2], o[F >> 2] = 0, o[S >> 2] = _, Ve = -1, Ke = _, w = 75; + break; + case 83: + G = 0 | o[S >> 2], Ee ? (Ve = Ee, Ke = G, w = 75) : (ae(e, 32, le, 0, Y), je = 0, w = 84); + break; + case 65: + case 71: + case 70: + case 69: + case 97: + case 103: + case 102: + case 101: + v = 0 | ue(e, +a[S >> 3], le, Ee, Y, r), M = g, y = de, T = he; + continue e; + break; + default: + Ie = T, xe = 0, He = 1826, Be = p, Ue = Ee, Ye = Y + } + } while (0); + r: do { + if (61 == (0 | w)) w = 0, ve = r = 0 | re(L = 0 | o[(r = S) >> 2], z = 0 | o[r + 4 >> 2], p, 32 & ke), Me = (G = 0 == (8 & Fe | 0) | 0 == (0 | L) & 0 == (0 | z)) ? 0 : 2, ye = G ? 1826 : 1826 + (ke >> 4) | 0, Te = Ae, ge = Fe, we = L, Oe = z, w = 67; + else if (66 == (0 | w)) w = 0, ve = 0 | ne(Ce, De, p), Me = Ne, ye = Pe, Te = Ee, ge = Y, we = Ce, Oe = De, w = 67; + else if (71 == (0 | w)) w = 0, Ie = ze, xe = 0, He = 1826, Be = (L = 0 == (0 | (z = 0 | ie(ze, 0, Ee)))) ? ze + Ee | 0 : z, Ue = L ? Ee : z - ze | 0, Ye = I; + else if (75 == (0 | w)) { + for (w = 0, z = Ke, L = 0, G = 0;;) { + if (!(r = 0 | o[z >> 2])) { + Xe = L, Ge = G; + break + } + if ((0 | (V = 0 | se(m, r))) < 0 | V >>> 0 > (Ve - L | 0) >>> 0) { + Xe = L, Ge = V; + break + } + if (!(Ve >>> 0 > (r = V + L | 0) >>> 0)) { + Xe = r, Ge = V; + break + } + z = z + 4 | 0, L = r, G = V + } + if ((0 | Ge) < 0) { + ce = -1; + break e + } + if (ae(e, 32, le, Xe, Y), Xe) + for (G = Ke, L = 0;;) { + if (!(z = 0 | o[G >> 2])) { + je = Xe, w = 84; + break r + } + if ((0 | (L = (V = 0 | se(m, z)) + L | 0)) > (0 | Xe)) { + je = Xe, w = 84; + break r + } + if ($(e, m, V), L >>> 0 >= Xe >>> 0) { + je = Xe, w = 84; + break + } + G = G + 4 | 0 + } else je = 0, w = 84 + } + } while (0); + if (67 == (0 | w)) w = 0, L = b - ve + (1 & (1 ^ (I = 0 != (0 | we) | 0 != (0 | Oe)))) | 0, Ie = (G = 0 != (0 | Te) | I) ? ve : p, xe = Me, He = ye, Be = p, Ue = G ? (0 | Te) > (0 | L) ? Te : L : Te, Ye = (0 | Te) > -1 ? -65537 & ge : ge; + else if (84 == (0 | w)) { + w = 0, ae(e, 32, le, je, 8192 ^ Y), v = (0 | le) > (0 | je) ? le : je, M = g, y = de, T = he; + continue + } + ae(e, 32, V = (0 | le) < (0 | (I = (G = (0 | Ue) < (0 | (L = Be - Ie | 0)) ? L : Ue) + xe | 0)) ? I : le, I, Ye), $(e, He, xe), ae(e, 48, V, I, 65536 ^ Ye), ae(e, 48, G, L, 0), $(e, Ie, L), ae(e, 32, V, I, 8192 ^ Ye), v = V, M = g, y = de, T = he + } else v = 0, M = g, y = de, T = he + } + } + e: do { + if (87 == (0 | w)) + if (e) ce = g; + else if (y) { + for (he = 1;;) { + if (!(T = 0 | o[u + (he << 2) >> 2])) { + We = he; + break + } + if (ee(s + (he << 3) | 0, T, i), (0 | (he = he + 1 | 0)) >= 10) { + ce = 1; + break e + } + } + for (;;) { + if (0 | o[u + (We << 2) >> 2]) { + ce = -1; + break e + } + if ((0 | (We = We + 1 | 0)) >= 10) { + ce = 1; + break + } + } + } else ce = 0 + } while (0); + return l = c, 0 | ce + } + + function Z(e) { + return 0, 0 + } + + function Q(e) { + 0 + } + + function $(e, r, t) { + r |= 0, t |= 0, 32 & o[(e |= 0) >> 2] || Ee(r, t, e) + } + + function J(e) { + var r = 0, + n = 0, + i = 0, + a = 0, + s = 0; + if (r = 0 | o[(e |= 0) >> 2], (n = (0 | t[r >> 0]) - 48 | 0) >>> 0 < 10) + for (i = 0, a = r, r = n;;) { + if (n = r + (10 * i | 0) | 0, a = a + 1 | 0, o[e >> 2] = a, (r = (0 | t[a >> 0]) - 48 | 0) >>> 0 >= 10) { + s = n; + break + } + i = n + } else s = 0; + return 0 | s + } + + function ee(e, r, t) { + e |= 0, r |= 0, t |= 0; + var n = 0, + i = 0, + s = 0, + u = 0, + c = 0; + e: do { + if (r >>> 0 <= 20) { + switch (0 | r) { + case 9: + n = 3 + (0 | o[t >> 2]) & -4, i = 0 | o[n >> 2], o[t >> 2] = n + 4, o[e >> 2] = i; + break e; + break; + case 10: + i = 3 + (0 | o[t >> 2]) & -4, n = 0 | o[i >> 2], o[t >> 2] = i + 4, o[(i = e) >> 2] = n, o[i + 4 >> 2] = ((0 | n) < 0) << 31 >> 31; + break e; + break; + case 11: + n = 3 + (0 | o[t >> 2]) & -4, i = 0 | o[n >> 2], o[t >> 2] = n + 4, o[(n = e) >> 2] = i, o[n + 4 >> 2] = 0; + break e; + break; + case 12: + n = 7 + (0 | o[t >> 2]) & -8, s = 0 | o[(i = n) >> 2], u = 0 | o[i + 4 >> 2], o[t >> 2] = n + 8, o[(n = e) >> 2] = s, o[n + 4 >> 2] = u; + break e; + break; + case 13: + u = 3 + (0 | o[t >> 2]) & -4, n = 0 | o[u >> 2], o[t >> 2] = u + 4, u = (65535 & n) << 16 >> 16, o[(n = e) >> 2] = u, o[n + 4 >> 2] = ((0 | u) < 0) << 31 >> 31; + break e; + break; + case 14: + u = 3 + (0 | o[t >> 2]) & -4, n = 0 | o[u >> 2], o[t >> 2] = u + 4, o[(u = e) >> 2] = 65535 & n, o[u + 4 >> 2] = 0; + break e; + break; + case 15: + u = 3 + (0 | o[t >> 2]) & -4, n = 0 | o[u >> 2], o[t >> 2] = u + 4, u = (255 & n) << 24 >> 24, o[(n = e) >> 2] = u, o[n + 4 >> 2] = ((0 | u) < 0) << 31 >> 31; + break e; + break; + case 16: + u = 3 + (0 | o[t >> 2]) & -4, n = 0 | o[u >> 2], o[t >> 2] = u + 4, o[(u = e) >> 2] = 255 & n, o[u + 4 >> 2] = 0; + break e; + break; + case 17: + u = 7 + (0 | o[t >> 2]) & -8, c = +a[u >> 3], o[t >> 2] = u + 8, a[e >> 3] = c; + break e; + break; + case 18: + u = 7 + (0 | o[t >> 2]) & -8, c = +a[u >> 3], o[t >> 2] = u + 8, a[e >> 3] = c; + break e; + break; + default: + break e + } + } + } while (0) + } + + function re(e, r, n, o) { + n |= 0, o |= 0; + var a = 0, + s = 0; + if (0 == (0 | (e |= 0)) & 0 == (0 | (r |= 0))) a = n; + else + for (s = n, n = r, r = e;;) { + if (t[(e = s + -1 | 0) >> 0] = 0 | i[1878 + (15 & r) >> 0] | o, 0 == (0 | (r = 0 | He(0 | r, 0 | n, 4))) & 0 == (0 | (n = E))) { + a = e; + break + } + s = e + } + return 0 | a + } + + function te(e, r, n) { + n |= 0; + var o = 0, + i = 0; + if (0 == (0 | (e |= 0)) & 0 == (0 | (r |= 0))) o = n; + else + for (i = n, n = r, r = e;;) { + if (t[(e = i + -1 | 0) >> 0] = 7 & r | 48, 0 == (0 | (r = 0 | He(0 | r, 0 | n, 3))) & 0 == (0 | (n = E))) { + o = e; + break + } + i = e + } + return 0 | o + } + + function ne(e, r, n) { + n |= 0; + var o = 0, + i = 0, + a = 0, + s = 0, + u = 0, + c = 0; + if ((r |= 0) >>> 0 > 0 | 0 == (0 | r) & (e |= 0) >>> 0 > 4294967295) { + for (o = n, i = e, a = r; r = 0 | Ke(0 | i, 0 | a, 10, 0), t[(o = o + -1 | 0) >> 0] = 255 & r | 48, r = i, i = 0 | ze(0 | i, 0 | a, 10, 0), a >>> 0 > 9 | 9 == (0 | a) & r >>> 0 > 4294967295;) a = E; + s = i, u = o + } else s = e, u = n; + if (s) + for (n = s, s = u;;) { + if (t[(u = s + -1 | 0) >> 0] = 48 | (n >>> 0) % 10, n >>> 0 < 10) { + c = u; + break + } + n = (n >>> 0) / 10 | 0, s = u + } else c = u; + return 0 | c + } + + function oe(e) { + return 776, 0 | function (e, r) { + e |= 0, r |= 0; + var n = 0, + a = 0, + s = 0, + u = 0, + c = 0, + l = 0; + n = 0; + for (;;) { + if ((0 | i[1896 + n >> 0]) == (0 | e)) { + a = 2; + break + } + if (87 == (0 | (s = n + 1 | 0))) { + u = 1984, c = 87, a = 5; + break + } + n = s + } + 2 == (0 | a) && (n ? (u = 1984, c = n, a = 5) : l = 1984); + if (5 == (0 | a)) + for (;;) { + a = 0, n = u; + do { + e = n, n = n + 1 | 0 + } while (0 != (0 | t[e >> 0])); + if (!(c = c + -1 | 0)) { + l = n; + break + } + u = n, a = 5 + } + return 0 | (f = l, d = 0 | o[r + 20 >> 2], 0 | function (e, r) { + e |= 0; + var n = 0; + return 0 | (0 | (n = (r |= 0) ? 0 | function (e, r, n) { + r |= 0, n |= 0; + var i = 0, + a = 0, + s = 0, + u = 0, + c = 0, + l = 0, + f = 0, + d = 0, + S = 0, + E = 0, + _ = 0, + m = 0, + h = 0, + p = 0, + b = 0; + i = 1794895138 + (0 | o[(e |= 0) >> 2]) | 0, a = 0 | Se(0 | o[e + 8 >> 2], i), s = 0 | Se(0 | o[e + 12 >> 2], i), u = 0 | Se(0 | o[e + 16 >> 2], i); + e: do { + if (a >>> 0 < r >>> 2 >>> 0 && (c = r - (a << 2) | 0, s >>> 0 < c >>> 0 & u >>> 0 < c >>> 0) && 0 == (3 & (u | s) | 0)) { + for (c = s >>> 2, l = u >>> 2, f = 0, d = a;;) { + if (h = 0 | Se(0 | o[e + ((m = (_ = (E = f + (S = d >>> 1) | 0) << 1) + c | 0) << 2) >> 2], i), !((p = 0 | Se(0 | o[e + (m + 1 << 2) >> 2], i)) >>> 0 < r >>> 0 & h >>> 0 < (r - p | 0) >>> 0)) { + b = 0; + break e + } + if (0 | t[e + (p + h) >> 0]) { + b = 0; + break e + } + if (!(h = 0 | W(n, e + p | 0))) break; + if (p = (0 | h) < 0, 1 == (0 | d)) { + b = 0; + break e + } + f = p ? f : E, d = p ? S : d - S | 0 + } + f = 0 | Se(0 | o[e + ((d = _ + l | 0) << 2) >> 2], i), b = (c = 0 | Se(0 | o[e + (d + 1 << 2) >> 2], i)) >>> 0 < r >>> 0 & f >>> 0 < (r - c | 0) >>> 0 && 0 == (0 | t[e + (c + f) >> 0]) ? e + c | 0 : 0 + } else b = 0 + } while (0); + return 0 | b + }(0 | o[r >> 2], 0 | o[r + 4 >> 2], e) : 0) ? n : e) + }(f |= 0, d |= 0)); + var f, d + }(e |= 0, 0 | o[194]) + } + + function ie(e, r, n) { + e |= 0; + var i, a = 0, + s = 0, + u = 0, + c = 0, + l = 0, + f = 0, + d = 0, + S = 0, + E = 0, + m = 0, + h = 0, + p = 0, + b = 0, + k = 0, + A = 0, + F = 0, + v = 0, + M = 0, + y = 0; + i = 255 & (r |= 0), a = 0 != (0 | (n |= 0)); + e: do { + if (a & 0 != (3 & e | 0)) + for (s = 255 & r, u = e, c = n;;) { + if ((0 | t[u >> 0]) == s << 24 >> 24) { + l = u, f = c, d = 6; + break e + } + if (!((m = 0 != (0 | (E = c + -1 | 0))) & 0 != (3 & (S = u + 1 | 0) | 0))) { + h = S, p = E, b = m, d = 5; + break + } + u = S, c = E + } else h = e, p = n, b = a, d = 5 + } while (0); + 5 == (0 | d) && (b ? (l = h, f = p, d = 6) : (k = h, A = 0)); + e: do { + if (6 == (0 | d)) + if (h = 255 & r, (0 | t[l >> 0]) == h << 24 >> 24) k = l, A = f; + else { + p = 0 | _(i, 16843009); + r: do { + if (f >>> 0 > 3) { + for (b = l, a = f; !((-2139062144 & (n = o[b >> 2] ^ p) ^ -2139062144) & n + -16843009 | 0);) { + if (n = b + 4 | 0, !((e = a + -4 | 0) >>> 0 > 3)) { + F = n, v = e, d = 11; + break r + } + b = n, a = e + } + M = b, y = a + } else F = l, v = f, d = 11 + } while (0); + if (11 == (0 | d)) { + if (!v) { + k = F, A = 0; + break + } + M = F, y = v + } + for (;;) { + if ((0 | t[M >> 0]) == h << 24 >> 24) { + k = M, A = y; + break e + } + if (p = M + 1 | 0, !(y = y + -1 | 0)) { + k = p, A = 0; + break + } + M = p + } + } + } while (0); + return 0 | (0 | A ? k : 0) + } + + function ae(e, r, t, n, o) { + e |= 0, r |= 0, t |= 0, n |= 0, o |= 0; + var i, a, s = 0; + if (i = l, (0 | (l = l + 256 | 0)) >= (0 | f) && k(256), a = i, (0 | t) > (0 | n) & 0 == (73728 & o | 0)) { + if (xe(0 | a, 0 | r, 0 | ((o = t - n | 0) >>> 0 < 256 ? o : 256)), o >>> 0 > 255) { + r = t - n | 0, n = o; + do { + $(e, a, 256), n = n + -256 | 0 + } while (n >>> 0 > 255); + s = 255 & r + } else s = o; + $(e, a, s) + } + l = i + } + + function se(e, r) { + r |= 0; + return 0 | ((e |= 0) ? 0 | function (e, r, n) { + e |= 0, r |= 0, n |= 0; + var i = 0; + do { + if (e) { + if (r >>> 0 < 128) { + t[e >> 0] = r, i = 1; + break + } + if (n = 188 + (0 | de()) | 0, !(0 | o[o[n >> 2] >> 2])) { + if (57216 == (-128 & r | 0)) { + t[e >> 0] = r, i = 1; + break + } + o[(n = 652) >> 2] = 84, i = -1; + break + } + if (r >>> 0 < 2048) { + t[e >> 0] = r >>> 6 | 192, t[e + 1 >> 0] = 63 & r | 128, i = 2; + break + } + if (r >>> 0 < 55296 | 57344 == (-8192 & r | 0)) { + t[e >> 0] = r >>> 12 | 224, t[e + 1 >> 0] = r >>> 6 & 63 | 128, t[e + 2 >> 0] = 63 & r | 128, i = 3; + break + } + if ((r + -65536 | 0) >>> 0 < 1048576) { + t[e >> 0] = r >>> 18 | 240, t[e + 1 >> 0] = r >>> 12 & 63 | 128, t[e + 2 >> 0] = r >>> 6 & 63 | 128, t[e + 3 >> 0] = 63 & r | 128, i = 4; + break + } + o[(n = 652) >> 2] = 84, i = -1; + break + } + i = 1 + } while (0); + return 0 | i + }(e, r, 0) : 0) + } + + function ue(e, r, n, a, s, u) { + e |= 0, r = +r, n |= 0, a |= 0, s |= 0, u |= 0; + var c, d, S, m, h, p, b, A, F = 0, + v = 0, + M = 0, + y = 0, + T = 0, + g = 0, + w = 0, + O = 0, + R = 0, + N = 0, + P = 0, + C = 0, + D = 0, + L = 0, + I = 0, + x = 0, + H = 0, + B = 0, + U = 0, + Y = 0, + z = 0, + V = 0, + K = 0, + j = 0, + X = 0, + G = 0, + W = 0, + q = 0, + Z = 0, + Q = 0, + J = 0, + ee = 0, + re = 0, + te = 0, + oe = 0, + ie = 0, + se = 0, + ue = 0, + fe = 0, + de = 0, + Se = 0, + Ee = 0, + _e = 0, + me = 0, + he = 0, + pe = 0, + be = 0, + ke = 0, + Ae = 0, + Fe = 0, + ve = 0, + Me = 0, + ye = 0, + Te = 0, + ge = 0, + we = 0, + Oe = 0, + Re = 0, + Ne = 0, + Pe = 0, + Ce = 0, + De = 0, + Le = 0, + He = 0, + Ue = 0; + c = l, (0 | (l = l + 560 | 0)) >= (0 | f) && k(560), d = c + 8 | 0, h = m = c + 524 | 0, p = c + 512 | 0, o[(S = c) >> 2] = 0, b = p + 12 | 0, ce(r), (0 | E) < 0 ? (F = -r, v = 1, M = 1843) : (F = r, v = 0 != (2049 & s | 0) & 1, M = 0 == (2048 & s | 0) ? 0 == (1 & s | 0) ? 1844 : 1849 : 1846), ce(F), A = 2146435072 & E; + do { + if (A >>> 0 < 2146435072 | 2146435072 == (0 | A) & !1) { + if ((y = 0 != (r = 2 * +le(F, S))) && (o[S >> 2] = (0 | o[S >> 2]) - 1), 97 == (0 | (T = 32 | u))) { + w = 0 == (0 | (g = 32 & u)) ? M : M + 9 | 0, O = 2 | v, R = 12 - a | 0; + do { + if (!(a >>> 0 > 11 | 0 == (0 | R))) { + N = 8, P = R; + do { + P = P + -1 | 0, N *= 16 + } while (0 != (0 | P)); + if (45 == (0 | t[w >> 0])) { + C = -(N + (-r - N)); + break + } + C = r + N - N; + break + } + C = r + } while (0); + for ((0 | (D = 0 | ne(P = (0 | (R = 0 | o[S >> 2])) < 0 ? 0 - R | 0 : R, ((0 | P) < 0) << 31 >> 31, b))) == (0 | b) ? (t[(P = p + 11 | 0) >> 0] = 48, L = P) : L = D, t[L + -1 >> 0] = 43 + (R >> 31 & 2), t[(R = L + -2 | 0) >> 0] = u + 15, D = (0 | a) < 1, P = 0 == (8 & s | 0), I = m, x = C; H = ~~x, B = I + 1 | 0, t[I >> 0] = i[1878 + H >> 0] | g, x = 16 * (x - +(0 | H)), 1 != (B - h | 0) || P & D & 0 == x ? U = B : (t[B >> 0] = 46, U = I + 2 | 0), 0 != x;) I = U; + ae(e, 32, n, g = (D = b - R | 0) + O + (P = 0 != (0 | a) & ((I = U - h | 0) + -2 | 0) < (0 | a) ? a + 2 | 0 : I) | 0, s), $(e, w, O), ae(e, 48, n, g, 65536 ^ s), $(e, m, I), ae(e, 48, P - I | 0, 0, 0), $(e, R, D), ae(e, 32, n, g, 8192 ^ s), Y = g; + break + } + g = (0 | a) < 0 ? 6 : a, y ? (D = (0 | o[S >> 2]) - 28 | 0, o[S >> 2] = D, z = 268435456 * r, V = D) : (z = r, V = 0 | o[S >> 2]), I = D = (0 | V) < 0 ? d : d + 288 | 0, x = z; + do { + P = ~~x >>> 0, o[I >> 2] = P, I = I + 4 | 0, x = 1e9 * (x - +(P >>> 0)) + } while (0 != x); + if ((0 | V) > 0) + for (y = D, R = I, O = V;;) { + if (w = (0 | O) < 29 ? O : 29, (P = R + -4 | 0) >>> 0 >= y >>> 0) { + B = P, P = 0; + do { + j = 0 | Ke(0 | (K = 0 | Ie(0 | (H = 0 | Be(0 | o[B >> 2], 0, 0 | w)), 0 | E, 0 | P, 0)), 0 | (H = E), 1e9, 0), o[B >> 2] = j, P = 0 | ze(0 | K, 0 | H, 1e9, 0), B = B + -4 | 0 + } while (B >>> 0 >= y >>> 0); + P ? (o[(B = y + -4 | 0) >> 2] = P, X = B) : X = y + } else X = y; + for (B = R; !(B >>> 0 <= X >>> 0 || 0 | o[(H = B + -4 | 0) >> 2]);) B = H; + if (P = (0 | o[S >> 2]) - w | 0, o[S >> 2] = P, !((0 | P) > 0)) { + G = X, W = B, q = P; + break + } + y = X, R = B, O = P + } else G = D, W = I, q = V; + if ((0 | q) < 0) + for (O = 1 + ((g + 25 | 0) / 9 | 0) | 0, R = 102 == (0 | T), y = G, P = W, H = q;;) { + if (j = (0 | (K = 0 - H | 0)) < 9 ? K : 9, y >>> 0 < P >>> 0) { + K = (1 << j) - 1 | 0, Z = 1e9 >>> j, Q = 0, J = y; + do { + ee = 0 | o[J >> 2], o[J >> 2] = (ee >>> j) + Q, Q = 0 | _(ee & K, Z), J = J + 4 | 0 + } while (J >>> 0 < P >>> 0); + J = 0 == (0 | o[y >> 2]) ? y + 4 | 0 : y, Q ? (o[P >> 2] = Q, re = J, te = P + 4 | 0) : (re = J, te = P) + } else re = 0 == (0 | o[y >> 2]) ? y + 4 | 0 : y, te = P; + if (Z = (te - (J = R ? D : re) >> 2 | 0) > (0 | O) ? J + (O << 2) | 0 : te, H = (0 | o[S >> 2]) + j | 0, o[S >> 2] = H, (0 | H) >= 0) { + oe = re, ie = Z; + break + } + y = re, P = Z + } else oe = G, ie = W; + if (P = D, oe >>> 0 < ie >>> 0) + if (y = 9 * (P - oe >> 2) | 0, (H = 0 | o[oe >> 2]) >>> 0 < 10) se = y; + else + for (O = y, y = 10;;) { + if (R = O + 1 | 0, H >>> 0 < (y = 10 * y | 0) >>> 0) { + se = R; + break + } + O = R + } else se = 0; + if ((0 | (H = g - (102 != (0 | T) ? se : 0) + (((y = 0 != (0 | g)) & (O = 103 == (0 | T))) << 31 >> 31) | 0)) < ((9 * (ie - P >> 2) | 0) - 9 | 0)) { + if (H = D + 4 + (((0 | (R = H + 9216 | 0)) / 9 | 0) - 1024 << 2) | 0, (0 | (I = 1 + ((0 | R) % 9 | 0) | 0)) < 9) + for (R = I, I = 10;;) { + if (Z = 10 * I | 0, 9 == (0 | (R = R + 1 | 0))) { + ue = Z; + break + } + I = Z + } else ue = 10; + if ((T = (H + 4 | 0) == (0 | ie)) & 0 == (0 | (R = ((I = 0 | o[H >> 2]) >>> 0) % (ue >>> 0) | 0))) me = H, he = se, pe = oe; + else if (N = 0 == (1 & ((I >>> 0) / (ue >>> 0) | 0) | 0) ? 9007199254740992 : 9007199254740994, x = R >>> 0 < (Z = (0 | ue) / 2 | 0) >>> 0 ? .5 : T & (0 | R) == (0 | Z) ? 1 : 1.5, v ? (fe = (Z = 45 == (0 | t[M >> 0])) ? -x : x, de = Z ? -N : N) : (fe = x, de = N), Z = I - R | 0, o[H >> 2] = Z, de + fe != de) { + if (R = Z + ue | 0, o[H >> 2] = R, R >>> 0 > 999999999) + for (R = oe, Z = H;;) { + if (I = Z + -4 | 0, o[Z >> 2] = 0, I >>> 0 < R >>> 0 ? (o[(T = R + -4 | 0) >> 2] = 0, Se = T) : Se = R, T = 1 + (0 | o[I >> 2]) | 0, o[I >> 2] = T, !(T >>> 0 > 999999999)) { + Ee = Se, _e = I; + break + } + R = Se, Z = I + } else Ee = oe, _e = H; + if (Z = 9 * (P - Ee >> 2) | 0, (R = 0 | o[Ee >> 2]) >>> 0 < 10) me = _e, he = Z, pe = Ee; + else + for (I = Z, Z = 10;;) { + if (T = I + 1 | 0, R >>> 0 < (Z = 10 * Z | 0) >>> 0) { + me = _e, he = T, pe = Ee; + break + } + I = T + } + } else me = H, he = se, pe = oe; + be = he, ke = ie >>> 0 > (I = me + 4 | 0) >>> 0 ? I : ie, Ae = pe + } else be = se, ke = ie, Ae = oe; + for (I = ke;;) { + if (I >>> 0 <= Ae >>> 0) { + Fe = 0; + break + } + if (0 | o[(Z = I + -4 | 0) >> 2]) { + Fe = 1; + break + } + I = Z + } + H = 0 - be | 0; + do { + if (O) { + if ((0 | (Z = (1 & (1 ^ y)) + g | 0)) > (0 | be) & (0 | be) > -5 ? (ve = u + -1 | 0, Me = Z + -1 - be | 0) : (ve = u + -2 | 0, Me = Z + -1 | 0), !(Z = 8 & s)) { + if (Fe && 0 != (0 | (R = 0 | o[I + -4 >> 2]))) + if ((R >>> 0) % 10 | 0) ye = 0; + else + for (T = 0, J = 10;;) { + if (K = T + 1 | 0, 0 | (R >>> 0) % ((J = 10 * J | 0) >>> 0)) { + ye = K; + break + } + T = K + } else ye = 9; + if (T = (9 * (I - P >> 2) | 0) - 9 | 0, 102 == (32 | ve)) { + Te = ve, ge = (0 | Me) < (0 | (R = (0 | (J = T - ye | 0)) > 0 ? J : 0)) ? Me : R, we = 0; + break + } + Te = ve, ge = (0 | Me) < (0 | (T = (0 | (R = T + be - ye | 0)) > 0 ? R : 0)) ? Me : T, we = 0; + break + } + Te = ve, ge = Me, we = Z + } else Te = u, ge = g, we = 8 & s + } while (0); + if (P = 0 != (0 | (g = ge | we)) & 1, y = 102 == (32 | Te)) Oe = 0, Re = (0 | be) > 0 ? be : 0; + else { + if (T = 0 | ne(O = (0 | be) < 0 ? H : be, ((0 | O) < 0) << 31 >> 31, b), ((O = b) - T | 0) < 2) + for (R = T;;) { + if (t[(J = R + -1 | 0) >> 0] = 48, !((O - J | 0) < 2)) { + Ne = J; + break + } + R = J + } else Ne = T; + t[Ne + -1 >> 0] = 43 + (be >> 31 & 2), t[(R = Ne + -2 | 0) >> 0] = Te, Oe = R, Re = O - R | 0 + } + if (ae(e, 32, n, R = v + 1 + ge + P + Re | 0, s), $(e, M, v), ae(e, 48, n, R, 65536 ^ s), y) { + j = J = m + 9 | 0, Q = m + 8 | 0, K = H = Ae >>> 0 > D >>> 0 ? D : Ae; + do { + if (B = 0 | ne(0 | o[K >> 2], 0, J), (0 | K) == (0 | H))(0 | B) == (0 | J) ? (t[Q >> 0] = 48, Pe = Q) : Pe = B; + else if (B >>> 0 > m >>> 0) + for (xe(0 | m, 48, B - h | 0), w = B;;) { + if (!((ee = w + -1 | 0) >>> 0 > m >>> 0)) { + Pe = ee; + break + } + w = ee + } else Pe = B; + $(e, Pe, j - Pe | 0), K = K + 4 | 0 + } while (K >>> 0 <= D >>> 0); + if (0 | g && $(e, 1894, 1), K >>> 0 < I >>> 0 & (0 | ge) > 0) + for (D = ge, j = K;;) { + if ((Q = 0 | ne(0 | o[j >> 2], 0, J)) >>> 0 > m >>> 0) + for (xe(0 | m, 48, Q - h | 0), H = Q;;) { + if (!((y = H + -1 | 0) >>> 0 > m >>> 0)) { + Ce = y; + break + } + H = y + } else Ce = Q; + if ($(e, Ce, (0 | D) < 9 ? D : 9), H = D + -9 | 0, !((j = j + 4 | 0) >>> 0 < I >>> 0 & (0 | D) > 9)) { + De = H; + break + } + D = H + } else De = ge; + ae(e, 48, De + 9 | 0, 9, 0) + } else { + if (D = Fe ? I : Ae + 4 | 0, (0 | ge) > -1) + for (J = 0 == (0 | we), K = j = m + 9 | 0, g = 0 - h | 0, H = m + 8 | 0, B = ge, y = Ae;;) { + (0 | (P = 0 | ne(0 | o[y >> 2], 0, j))) == (0 | j) ? (t[H >> 0] = 48, Le = H) : Le = P; + do { + if ((0 | y) == (0 | Ae)) { + if (P = Le + 1 | 0, $(e, Le, 1), J & (0 | B) < 1) { + He = P; + break + } + $(e, 1894, 1), He = P + } else { + if (Le >>> 0 <= m >>> 0) { + He = Le; + break + } + for (xe(0 | m, 48, Le + g | 0), P = Le;;) { + if (!((O = P + -1 | 0) >>> 0 > m >>> 0)) { + He = O; + break + } + P = O + } + } + } while (0); + if ($(e, He, (0 | B) > (0 | (Q = K - He | 0)) ? Q : B), !((y = y + 4 | 0) >>> 0 < D >>> 0 & (0 | (P = B - Q | 0)) > -1)) { + Ue = P; + break + } + B = P + } else Ue = ge; + ae(e, 48, Ue + 18 | 0, 18, 0), $(e, Oe, b - Oe | 0) + } + ae(e, 32, n, R, 8192 ^ s), Y = R + } else B = 0 != (32 & u | 0), ae(e, 32, n, D = v + 3 | 0, -65537 & s), $(e, M, v), $(e, F != F | !1 ? B ? 1870 : 1874 : B ? 1862 : 1866, 3), ae(e, 32, n, D, 8192 ^ s), Y = D + } while (0); + return l = c, 0 | ((0 | Y) < (0 | n) ? n : Y) + } + + function ce(e) { + e = +e; + var r; + return a[c >> 3] = e, r = 0 | o[c >> 2], E = 0 | o[c + 4 >> 2], 0 | r + } + + function le(e, r) { + return + +fe(e = +e, r |= 0) + } + + function fe(e, r) { + e = +e, r |= 0; + var t, n, i, s = 0, + u = 0, + l = 0; + switch (a[c >> 3] = e, 2047 & (i = 0 | He(0 | (t = 0 | o[c >> 2]), 0 | (n = 0 | o[c + 4 >> 2]), 52))) { + case 0: + 0 != e ? (s = +fe(0x10000000000000000 * e, r), u = (0 | o[r >> 2]) - 64 | 0) : (s = e, u = 0), o[r >> 2] = u, l = s; + break; + case 2047: + l = e; + break; + default: + o[r >> 2] = (2047 & i) - 1022, o[c >> 2] = t, o[c + 4 >> 2] = -2146435073 & n | 1071644672, l = +a[c >> 3] + } + return +l + } + + function de() { + return 588 + } + + function Se(e, r) { + r |= 0; + var t; + return t = 0 | Xe(0 | (e |= 0)), 0 | (0 == (0 | r) ? e : t) + } + + function Ee(e, r, n) { + e |= 0, r |= 0; + var i = 0, + a = 0, + s = 0, + u = 0, + c = 0, + l = 0, + f = 0, + d = 0, + S = 0, + E = 0, + _ = 0; + (a = 0 | o[(i = (n |= 0) + 16 | 0) >> 2]) ? (s = a, u = 5) : 0 | _e(n) ? c = 0 : (s = 0 | o[i >> 2], u = 5); + e: do { + if (5 == (0 | u)) { + if (l = i = 0 | o[(a = n + 20 | 0) >> 2], (s - i | 0) >>> 0 < r >>> 0) { + c = 0 | qe[7 & o[n + 36 >> 2]](n, e, r); + break + } + r: do { + if ((0 | t[n + 75 >> 0]) > -1) { + for (i = r;;) { + if (!i) { + f = 0, d = e, S = r, E = l; + break r + } + if (10 == (0 | t[e + (_ = i + -1 | 0) >> 0])) break; + i = _ + } + if ((_ = 0 | qe[7 & o[n + 36 >> 2]](n, e, i)) >>> 0 < i >>> 0) { + c = _; + break e + } + f = i, d = e + i | 0, S = r - i | 0, E = 0 | o[a >> 2] + } else f = 0, d = e, S = r, E = l + } while (0); + je(0 | E, 0 | d, 0 | S), o[a >> 2] = (0 | o[a >> 2]) + S, c = f + S | 0 + } + } while (0); + return 0 | c + } + + function _e(e) { + var r = 0, + n = 0, + i = 0; + return n = 0 | t[(r = (e |= 0) + 74 | 0) >> 0], t[r >> 0] = n + 255 | n, 8 & (n = 0 | o[e >> 2]) ? (o[e >> 2] = 32 | n, i = -1) : (o[e + 8 >> 2] = 0, o[e + 4 >> 2] = 0, r = 0 | o[e + 44 >> 2], o[e + 28 >> 2] = r, o[e + 20 >> 2] = r, o[e + 16 >> 2] = r + (0 | o[e + 48 >> 2]), i = 0), 0 | i + } + + function me(e) { + var r, n = 0, + i = 0, + a = 0, + s = 0, + u = 0, + c = 0, + l = 0, + f = 0; + r = e |= 0; + e: do { + if (3 & r) + for (a = e, s = r;;) { + if (!(0 | t[a >> 0])) { + u = s; + break e + } + if (!(3 & (s = c = a + 1 | 0))) { + n = c, i = 4; + break + } + a = c + } else n = e, i = 4 + } while (0); + if (4 == (0 | i)) { + for (i = n; !((-2139062144 & (l = 0 | o[i >> 2]) ^ -2139062144) & l + -16843009);) i = i + 4 | 0; + if ((255 & l) << 24 >> 24) + for (l = i;;) { + if (!(0 | t[(i = l + 1 | 0) >> 0])) { + f = i; + break + } + l = i + } else f = i; + u = f + } + return u - r | 0 + } + + function he(e, r) { + var n; + return n = 0 | function (e, r) { + e |= 0; + var n = 0, + i = 0, + a = 0, + s = 0, + u = 0, + c = 0, + l = 0, + f = 0, + d = 0; + n = 255 & (r |= 0); + e: do { + if (n) { + if (3 & e) + for (s = 255 & r, u = e;;) { + if ((c = 0 | t[u >> 0]) << 24 >> 24 == 0 || c << 24 >> 24 == s << 24 >> 24) { + i = u; + break e + } + if (!(3 & (c = u + 1 | 0))) { + a = c; + break + } + u = c + } else a = e; + u = 0 | _(n, 16843009), s = 0 | o[a >> 2]; + r: do { + if ((-2139062144 & s ^ -2139062144) & s + -16843009) d = a; + else + for (c = a, l = s;;) { + if ((-2139062144 & (f = l ^ u) ^ -2139062144) & f + -16843009 | 0) { + d = c; + break r + } + if ((-2139062144 & (l = 0 | o[(f = c + 4 | 0) >> 2]) ^ -2139062144) & l + -16843009 | 0) { + d = f; + break + } + c = f + } + } while (0); + for (u = 255 & r, s = d;;) { + if ((c = 0 | t[s >> 0]) << 24 >> 24 == 0 || c << 24 >> 24 == u << 24 >> 24) { + i = s; + break + } + s = s + 1 | 0 + } + } else i = e + (0 | me(e)) | 0 + } while (0); + return 0 | i + }(e |= 0, r |= 0), 0 | ((0 | t[n >> 0]) == (255 & r) << 24 >> 24 ? n : 0) + } + + function pe(e, r) { + r |= 0; + var t; + return ((0 | function (e, r, t, n) { + e |= 0, n |= 0; + var i = 0, + a = 0, + s = 0, + u = 0, + c = 0; + i = 0 | _(t = t | 0, r = r | 0), a = 0 == (0 | r) ? 0 : t, (0 | o[n + 76 >> 2]) > -1 ? (t = 0 == (0 | Z()), s = 0 | Ee(e, i, n), t || Q(), u = s) : u = 0 | Ee(e, i, n); + c = (0 | u) == (0 | i) ? a : (u >>> 0) / (r >>> 0) | 0; + return 0 | c + }(e |= 0, 1, t = 0 | me(e), r)) != (0 | t)) << 31 >> 31 | 0 + } + + function be(e) { + var r = 0, + t = 0; + 0 | o[(e |= 0) + 68 >> 2] && (t = e + 112 | 0, 0 | (r = 0 | o[e + 116 >> 2]) && (o[r + 112 >> 2] = o[t >> 2]), e = 0 | o[t >> 2], o[(e ? e + 116 | 0 : 820) >> 2] = r) + } + + function ke(e, r) { + e |= 0, r |= 0; + var n, a, s, u = 0, + c = 0, + d = 0, + S = 0, + E = 0, + _ = 0; + n = l, (0 | (l = l + 16 | 0)) >= (0 | f) && k(16), s = 255 & r, t[(a = n) >> 0] = s, (c = 0 | o[(u = e + 16 | 0) >> 2]) ? (d = c, S = 4) : 0 | _e(e) ? E = -1 : (d = 0 | o[u >> 2], S = 4); + do { + if (4 == (0 | S)) { + if ((u = 0 | o[(c = e + 20 | 0) >> 2]) >>> 0 < d >>> 0 && (0 | (_ = 255 & r)) != (0 | t[e + 75 >> 0])) { + o[c >> 2] = u + 1, t[u >> 0] = s, E = _; + break + } + E = 1 == (0 | qe[7 & o[e + 36 >> 2]](e, a, 1)) ? 0 | i[a >> 0] : -1 + } + } while (0); + return l = n, 0 | E + } + + function Ae() { + return T(4352), 4360 + } + + function Fe() { + D(4352) + } + + function ve(e) { + var r, t = 0, + n = 0, + i = 0, + a = 0, + s = 0; + return t = (0 | o[(e |= 0) + 76 >> 2]) > -1 ? 0 | Z() : 0, be(e), (r = 0 != (1 & o[e >> 2] | 0)) || (n = 0 | Ae(), a = e + 56 | 0, 0 | (i = 0 | o[e + 52 >> 2]) && (o[i + 56 >> 2] = o[a >> 2]), 0 | (s = 0 | o[a >> 2]) && (o[s + 52 >> 2] = i), (0 | o[n >> 2]) == (0 | e) && (o[n >> 2] = s), Fe()), s = 0 | Me(e), n = 0 | We[1 & o[e + 12 >> 2]](e) | s, 0 | (s = 0 | o[e + 92 >> 2]) && K(s), r ? 0 | t && Q() : K(e), 0 | n + } + + function Me(e) { + e |= 0; + var r = 0, + t = 0, + n = 0, + i = 0, + a = 0, + s = 0, + u = 0; + do { + if (e) { + if ((0 | o[e + 76 >> 2]) <= -1) { + r = 0 | ye(e); + break + } + t = 0 == (0 | Z()), n = 0 | ye(e), t || Q(), r = n + } else { + if (i = 0 | o[240] ? 0 | Me(0 | o[240]) : 0, n = 0 | Ae(), t = 0 | o[n >> 2]) + for (n = t, t = i;;) { + if (s = (0 | o[n + 76 >> 2]) > -1 ? 0 | Z() : 0, u = (0 | o[n + 20 >> 2]) >>> 0 > (0 | o[n + 28 >> 2]) >>> 0 ? 0 | ye(n) | t : t, 0 | s && Q(), !(n = 0 | o[n + 56 >> 2])) { + a = u; + break + } + t = u + } else a = i; + Fe(), r = a + } + } while (0); + return 0 | r + } + + function ye(e) { + var r, t, n = 0, + i = 0, + a = 0, + s = 0, + u = 0; + return t = (e |= 0) + 28 | 0, (0 | o[(r = e + 20 | 0) >> 2]) >>> 0 > (0 | o[t >> 2]) >>> 0 && (qe[7 & o[e + 36 >> 2]](e, 0, 0), 0 == (0 | o[r >> 2])) ? n = -1 : ((a = 0 | o[(i = e + 4 | 0) >> 2]) >>> 0 < (u = 0 | o[(s = e + 8 | 0) >> 2]) >>> 0 && qe[7 & o[e + 40 >> 2]](e, a - u | 0, 1), o[e + 16 >> 2] = 0, o[t >> 2] = 0, o[r >> 2] = 0, o[s >> 2] = 0, o[i >> 2] = 0, n = 0), 0 | n + } + + function Te(e, r, t) { + return 0 | function (e, r, t) { + r |= 0, t |= 0; + var n = 0, + i = 0, + a = 0; + (0 | o[76 + (e |= 0) >> 2]) > -1 ? (n = 0 == (0 | Z()), i = 0 | ge(e, r, t), n || Q(), a = i) : a = 0 | ge(e, r, t); + return 0 | a + }(e |= 0, r |= 0, t |= 0) + } + + function ge(e, r, t) { + e |= 0, r |= 0; + var n, i = 0, + a = 0; + return i = 1 == (0 | (t |= 0)) ? r - (0 | o[e + 8 >> 2]) + (0 | o[e + 4 >> 2]) | 0 : r, n = e + 28 | 0, (0 | o[(r = e + 20 | 0) >> 2]) >>> 0 > (0 | o[n >> 2]) >>> 0 && (qe[7 & o[e + 36 >> 2]](e, 0, 0), 0 == (0 | o[r >> 2])) ? a = -1 : (o[e + 16 >> 2] = 0, o[n >> 2] = 0, o[r >> 2] = 0, (0 | qe[7 & o[e + 40 >> 2]](e, i, t)) < 0 ? a = -1 : (o[e + 8 >> 2] = 0, o[e + 4 >> 2] = 0, o[e >> 2] = -17 & o[e >> 2], a = 0)), 0 | a + } + + function we(e) { + var r, t = 0; + return t = 128 & o[(e |= 0) >> 2] && (0 | o[e + 20 >> 2]) >>> 0 > (0 | o[e + 28 >> 2]) >>> 0 ? 2 : 1, 0 | ((0 | (r = 0 | qe[7 & o[e + 40 >> 2]](e, 0, t))) < 0 ? r : r - (0 | o[e + 8 >> 2]) + (0 | o[e + 4 >> 2]) + (0 | o[e + 20 >> 2]) - (0 | o[e + 28 >> 2]) | 0) + } + + function Oe(e, r, n, i) { + e |= 0, i |= 0; + var a, s, u, c, l, f, d = 0, + S = 0, + E = 0, + m = 0, + h = 0, + p = 0, + b = 0, + k = 0; + a = 0 | _(n |= 0, r |= 0), s = 0 == (0 | r) ? 0 : n, d = (0 | o[i + 76 >> 2]) > -1 ? 0 | Z() : 0, S = 0 | t[(n = i + 74 | 0) >> 0], t[n >> 0] = S + 255 | S, n = 0 | o[(S = i + 4 | 0) >> 2], m = (E = (0 | o[i + 8 >> 2]) - n | 0) >>> 0 < a >>> 0 ? E : a, (0 | E) > 0 ? (je(0 | e, 0 | n, 0 | m), o[S >> 2] = n + m, h = a - m | 0, p = e + m | 0) : (h = a, p = e); + e: do { + if (h) { + for (e = i + 32 | 0, m = h, n = p; !(0 | (u = i, c = void 0, l = void 0, f = void 0, c = 0, l = 0, f = 0, l = 0 | t[(c = 74 + (u |= 0) | 0) >> 0], t[c >> 0] = l + 255 | l, c = u + 28 | 0, (0 | o[(l = u + 20 | 0) >> 2]) >>> 0 > (0 | o[c >> 2]) >>> 0 && qe[7 & o[u + 36 >> 2]](u, 0, 0), o[u + 16 >> 2] = 0, o[c >> 2] = 0, o[l >> 2] = 0, 4 & (l = 0 | o[u >> 2]) ? (o[u >> 2] = 32 | l, f = -1) : (c = (0 | o[u + 44 >> 2]) + (0 | o[u + 48 >> 2]) | 0, o[u + 8 >> 2] = c, o[u + 4 >> 2] = c, f = l << 27 >> 31), 0 | f) || ((S = 0 | qe[7 & o[e >> 2]](i, n, m)) + 1 | 0) >>> 0 < 2);) { + if (!(E = m - S | 0)) { + b = 13; + break e + } + m = E, n = n + S | 0 + } + 0 | d && Q(), k = ((a - m | 0) >>> 0) / (r >>> 0) | 0 + } else b = 13 + } while (0); + return 13 == (0 | b) && (d ? (Q(), k = s) : k = s), 0 | k + } + + function Re(e) { + return 0 | (r = e |= 0, t = 0, n = 0, i = 0, (0 | o[76 + (r |= 0) >> 2]) > -1 ? (t = 0 == (0 | Z()), n = 0 | we(r), t || Q(), i = n) : i = 0 | we(r), 0 | i); + var r, t, n, i + } + + function Ne(e, r) { + e |= 0, r |= 0; + var n, i; + return n = l, (0 | (l = l + 16 | 0)) >= (0 | f) && k(16), o[(i = n) >> 2] = r, r = 0 | function (e, r, n) { + e |= 0, r |= 0, n |= 0; + var i, a, s, u = 0, + c = 0, + d = 0, + S = 0, + E = 0, + _ = 0, + m = 0, + h = 0, + p = 0, + b = 0, + A = 0, + F = 0; + i = l, (0 | (l = l + 224 | 0)) >= (0 | f) && k(224), a = i + 120 | 0, s = i, c = i + 136 | 0, S = 40 + (d = u = i + 80 | 0) | 0; + do { + o[d >> 2] = 0, d = d + 4 | 0 + } while ((0 | d) < (0 | S)); + return o[a >> 2] = o[n >> 2], (0 | q(0, r, a, s, u)) < 0 ? E = -1 : (_ = (0 | o[e + 76 >> 2]) > -1 ? 0 | Z() : 0, d = 32 & (n = 0 | o[e >> 2]), (0 | t[e + 74 >> 0]) < 1 && (o[e >> 2] = -33 & n), 0 | o[(n = e + 48 | 0) >> 2] ? A = 0 | q(e, r, a, s, u) : (m = 0 | o[(S = e + 44 | 0) >> 2], o[S >> 2] = c, o[(h = e + 28 | 0) >> 2] = c, o[(p = e + 20 | 0) >> 2] = c, o[n >> 2] = 80, o[(b = e + 16 | 0) >> 2] = c + 80, c = 0 | q(e, r, a, s, u), m ? (qe[7 & o[e + 36 >> 2]](e, 0, 0), F = 0 == (0 | o[p >> 2]) ? -1 : c, o[S >> 2] = m, o[n >> 2] = 0, o[b >> 2] = 0, o[h >> 2] = 0, o[p >> 2] = 0, A = F) : A = c), u = 0 | o[e >> 2], o[e >> 2] = u | d, 0 | _ && Q(), E = 0 == (32 & u | 0) ? A : -1), l = i, 0 | E + }(0 | o[208], e, i), l = n, 0 | r + } + + function Pe(e) { + return 0 | function (e, r) { + var n, i, a = 0, + s = 0, + u = 0, + c = 0, + l = 0; + n = 255 & (e |= 0), i = 255 & e, (0 | o[76 + (r |= 0) >> 2]) >= 0 && 0 != (0 | Z()) ? ((0 | i) != (0 | t[r + 75 >> 0]) && (s = 0 | o[(a = r + 20 | 0) >> 2]) >>> 0 < (0 | o[r + 16 >> 2]) >>> 0 ? (o[a >> 2] = s + 1, t[s >> 0] = n, u = i) : u = 0 | ke(r, e), Q(), c = u) : l = 3; + do { + if (3 == (0 | l)) { + if ((0 | i) != (0 | t[r + 75 >> 0]) && (s = 0 | o[(u = r + 20 | 0) >> 2]) >>> 0 < (0 | o[r + 16 >> 2]) >>> 0) { + o[u >> 2] = s + 1, t[s >> 0] = n, c = i; + break + } + c = 0 | ke(r, e) + } + } while (0); + return 0 | c + }(e |= 0, 0 | o[208]) + } + + function Ce(e) { + e |= 0; + var r, n = 0, + i = 0, + a = 0, + s = 0; + r = 0 | o[208], n = (0 | o[r + 76 >> 2]) > -1 ? 0 | Z() : 0; + do { + if ((0 | pe(e, r)) < 0) i = 1; + else { + if (10 != (0 | t[r + 75 >> 0]) && (s = 0 | o[(a = r + 20 | 0) >> 2]) >>> 0 < (0 | o[r + 16 >> 2]) >>> 0) { + o[a >> 2] = s + 1, t[s >> 0] = 10, i = 0; + break + } + i = (0 | ke(r, 10)) < 0 + } + } while (0); + return 0 | n && Q(), i << 31 >> 31 | 0 + } + + function De(e) { + var r = 0; + (0 | o[(e |= 0) + 76 >> 2]) > -1 ? (r = 0 == (0 | Z()), ge(e, 0, 0), o[e >> 2] = -33 & o[e >> 2], r || Q()) : (ge(e, 0, 0), o[e >> 2] = -33 & o[e >> 2]) + } + + function Le(e, r, t, n) { + return (r |= 0) - (n |= 0) >>> 0, 0 | (E = r - n - ((t |= 0) >>> 0 > (e |= 0) >>> 0 | 0) >>> 0, e - t >>> 0 | 0) + } + + function Ie(e, r, t, n) { + var o; + return 0 | (E = (r |= 0) + (n |= 0) + ((o = (e |= 0) + (t |= 0) >>> 0) >>> 0 < e >>> 0 | 0) >>> 0, 0 | o) + } + + function xe(e, r, n) { + r |= 0; + var i, a = 0, + s = 0, + u = 0; + if (i = (e |= 0) + (n |= 0) | 0, r &= 255, (0 | n) >= 67) { + for (; 3 & e;) t[e >> 0] = r, e = e + 1 | 0; + for (s = (a = -4 & i | 0) - 64 | 0, u = r | r << 8 | r << 16 | r << 24; + (0 | e) <= (0 | s);) o[e >> 2] = u, o[e + 4 >> 2] = u, o[e + 8 >> 2] = u, o[e + 12 >> 2] = u, o[e + 16 >> 2] = u, o[e + 20 >> 2] = u, o[e + 24 >> 2] = u, o[e + 28 >> 2] = u, o[e + 32 >> 2] = u, o[e + 36 >> 2] = u, o[e + 40 >> 2] = u, o[e + 44 >> 2] = u, o[e + 48 >> 2] = u, o[e + 52 >> 2] = u, o[e + 56 >> 2] = u, o[e + 60 >> 2] = u, e = e + 64 | 0; + for (; + (0 | e) < (0 | a);) o[e >> 2] = u, e = e + 4 | 0 + } + for (; + (0 | e) < (0 | i);) t[e >> 0] = r, e = e + 1 | 0; + return i - n | 0 + } + + function He(e, r, t) { + return e |= 0, r |= 0, (0 | (t |= 0)) < 32 ? (E = r >>> t, e >>> t | (r & (1 << t) - 1) << 32 - t) : (E = 0, r >>> t - 32 | 0) + } + + function Be(e, r, t) { + return e |= 0, r |= 0, (0 | (t |= 0)) < 32 ? (E = r << t | (e & (1 << t) - 1 << 32 - t) >>> 32 - t, e << t) : (E = e << t - 32, 0) + } + + function Ue(e) { + var r = 0; + return (0 | (r = 0 | t[d + (255 & (e |= 0)) >> 0])) < 8 ? 0 | r : (0 | (r = 0 | t[d + (e >> 8 & 255) >> 0])) < 8 ? r + 8 | 0 : (0 | (r = 0 | t[d + (e >> 16 & 255) >> 0])) < 8 ? r + 16 | 0 : 24 + (0 | t[d + (e >>> 24) >> 0]) | 0 + } + + function Ye(e, r, t, n, i) { + i |= 0; + var a, s = 0, + u = 0, + c = 0, + l = 0, + f = 0, + d = 0, + S = 0, + _ = 0, + h = 0, + p = 0, + b = 0, + k = 0, + A = 0, + F = 0, + v = 0, + M = 0, + y = 0, + T = 0, + g = 0, + w = 0, + O = 0, + R = 0, + N = 0, + P = 0, + C = 0, + D = 0; + if (s = e |= 0, a = t |= 0, f = l = n |= 0, !(c = u = r |= 0)) return d = 0 != (0 | i), f ? d ? (o[i >> 2] = 0 | e, o[i + 4 >> 2] = 0 & r, 0 | (E = S = 0, _ = 0)) : 0 | (E = S = 0, _ = 0) : (d && (o[i >> 2] = (s >>> 0) % (a >>> 0), o[i + 4 >> 2] = 0), 0 | (E = S = 0, _ = (s >>> 0) / (a >>> 0) >>> 0)); + d = 0 == (0 | f); + do { + if (a) { + if (!d) { + if ((h = (0 | m(0 | f)) - (0 | m(0 | c)) | 0) >>> 0 <= 31) { + A = p = h + 1 | 0, F = s >>> (p >>> 0) & (k = h - 31 >> 31) | c << (b = 31 - h | 0), v = c >>> (p >>> 0) & k, M = 0, y = s << b; + break + } + return i ? (o[i >> 2] = 0 | e, o[i + 4 >> 2] = u | 0 & r, 0 | (E = S = 0, _ = 0)) : 0 | (E = S = 0, _ = 0) + } + if ((b = a - 1 | 0) & a | 0) { + A = k = 33 + (0 | m(0 | a)) - (0 | m(0 | c)) | 0, F = (h = 32 - k | 0) - 1 >> 31 & c >>> ((g = k - 32 | 0) >>> 0) | (c << h | s >>> (k >>> 0)) & (w = g >> 31), v = w & c >>> (k >>> 0), M = s << (p = 64 - k | 0) & (T = h >> 31), y = (c << p | s >>> (g >>> 0)) & T | s << h & k - 33 >> 31; + break + } + return 0 | i && (o[i >> 2] = b & s, o[i + 4 >> 2] = 0), 1 == (0 | a) ? 0 | (E = S = u | 0 & r, _ = 0 | e) : (b = 0 | Ue(0 | a), 0 | (E = S = c >>> (b >>> 0) | 0, _ = c << 32 - b | s >>> (b >>> 0) | 0)) + } + if (d) return 0 | i && (o[i >> 2] = (c >>> 0) % (a >>> 0), o[i + 4 >> 2] = 0), 0 | (E = S = 0, _ = (c >>> 0) / (a >>> 0) >>> 0); + if (!s) return 0 | i && (o[i >> 2] = 0, o[i + 4 >> 2] = (c >>> 0) % (f >>> 0)), 0 | (E = S = 0, _ = (c >>> 0) / (f >>> 0) >>> 0); + if (!((b = f - 1 | 0) & f)) return 0 | i && (o[i >> 2] = 0 | e, o[i + 4 >> 2] = b & c | 0 & r), S = 0, _ = c >>> ((0 | Ue(0 | f)) >>> 0), 0 | (E = S, _); + if ((b = (0 | m(0 | f)) - (0 | m(0 | c)) | 0) >>> 0 <= 30) { + A = k = b + 1 | 0, F = c << (h = 31 - b | 0) | s >>> (k >>> 0), v = c >>> (k >>> 0), M = 0, y = s << h; + break + } + return i ? (o[i >> 2] = 0 | e, o[i + 4 >> 2] = u | 0 & r, 0 | (E = S = 0, _ = 0)) : 0 | (E = S = 0, _ = 0) + } while (0); + if (A) { + n = 0 | Ie(0 | (r = 0 | t), 0 | (t = l | 0 & n), -1, -1), l = E, u = y, y = M, M = v, v = F, F = A, A = 0; + do { + e = u, u = y >>> 31 | u << 1, y = A | y << 1, Le(0 | n, 0 | l, 0 | (s = v << 1 | e >>> 31 | 0), 0 | (e = v >>> 31 | M << 1 | 0)), A = 1 & (f = (c = E) >> 31 | ((0 | c) < 0 ? -1 : 0) << 1), v = 0 | Le(0 | s, 0 | e, f & r | 0, (((0 | c) < 0 ? -1 : 0) >> 31 | ((0 | c) < 0 ? -1 : 0) << 1) & t | 0), M = E, F = F - 1 | 0 + } while (0 != (0 | F)); + O = u, R = y, N = M, P = v, C = 0, D = A + } else O = y, R = M, N = v, P = F, C = 0, D = 0; + return A = R, R = 0, 0 | i && (o[i >> 2] = P, o[i + 4 >> 2] = N), 0 | (E = S = (0 | A) >>> 31 | (O | R) << 1 | 0 & (R << 1 | A >>> 31) | C, _ = -2 & (A << 1 | 0) | D) + } + + function ze(e, r, t, n) { + return 0 | Ye(e |= 0, r |= 0, t |= 0, n |= 0, 0) + } + + function Ve(e) { + var r, t; + return (0 | (e = (e |= 0) + 15 & -16 | 0)) > 0 & (0 | (t = (r = 0 | o[u >> 2]) + e | 0)) < (0 | r) | (0 | t) < 0 ? (b(), w(12), -1) : (o[u >> 2] = t, (0 | t) > (0 | p()) && 0 == (0 | h()) ? (o[u >> 2] = r, w(12), -1) : 0 | r) + } + + function Ke(e, r, t, n) { + var i, a; + return i = l, l = l + 16 | 0, Ye(e |= 0, r |= 0, t |= 0, n |= 0, a = 0 | i), l = i, 0 | (E = 0 | o[a + 4 >> 2], 0 | o[a >> 2]) + } + + function je(e, r, n) { + e |= 0, r |= 0; + var i, a, s = 0; + if ((0 | (n |= 0)) >= 8192) return 0 | P(0 | e, 0 | r, 0 | n); + if (i = 0 | e, a = e + n | 0, (3 & e) == (3 & r)) { + for (; 3 & e;) { + if (!n) return 0 | i; + t[e >> 0] = 0 | t[r >> 0], e = e + 1 | 0, r = r + 1 | 0, n = n - 1 | 0 + } + for (n = (s = -4 & a | 0) - 64 | 0; + (0 | e) <= (0 | n);) o[e >> 2] = o[r >> 2], o[e + 4 >> 2] = o[r + 4 >> 2], o[e + 8 >> 2] = o[r + 8 >> 2], o[e + 12 >> 2] = o[r + 12 >> 2], o[e + 16 >> 2] = o[r + 16 >> 2], o[e + 20 >> 2] = o[r + 20 >> 2], o[e + 24 >> 2] = o[r + 24 >> 2], o[e + 28 >> 2] = o[r + 28 >> 2], o[e + 32 >> 2] = o[r + 32 >> 2], o[e + 36 >> 2] = o[r + 36 >> 2], o[e + 40 >> 2] = o[r + 40 >> 2], o[e + 44 >> 2] = o[r + 44 >> 2], o[e + 48 >> 2] = o[r + 48 >> 2], o[e + 52 >> 2] = o[r + 52 >> 2], o[e + 56 >> 2] = o[r + 56 >> 2], o[e + 60 >> 2] = o[r + 60 >> 2], e = e + 64 | 0, r = r + 64 | 0; + for (; + (0 | e) < (0 | s);) o[e >> 2] = o[r >> 2], e = e + 4 | 0, r = r + 4 | 0 + } else + for (s = a - 4 | 0; + (0 | e) < (0 | s);) t[e >> 0] = 0 | t[r >> 0], t[e + 1 >> 0] = 0 | t[r + 1 >> 0], t[e + 2 >> 0] = 0 | t[r + 2 >> 0], t[e + 3 >> 0] = 0 | t[r + 3 >> 0], e = e + 4 | 0, r = r + 4 | 0; + for (; + (0 | e) < (0 | a);) t[e >> 0] = 0 | t[r >> 0], e = e + 1 | 0, r = r + 1 | 0; + return 0 | i + } + + function Xe(e) { + return (255 & (e |= 0)) << 24 | (e >> 8 & 255) << 16 | (e >> 16 & 255) << 8 | e >>> 24 | 0 + } + + function Ge(e, r, t) { + return 0, 0, 0, F(1), 0 + } + var We = [function (e) { + return 0, A(0), 0 + }, function (e) { + e |= 0; + var r, t, n, i = 0; + return r = l, (0 | (l = l + 16 | 0)) >= (0 | f) && k(16), t = r, i = 0 | (n = 0 | o[e + 60 >> 2], 0 | (n |= 0)), o[t >> 2] = i, i = 0 | X(0 | g(6, 0 | t)), l = r, 0 | i + }], + qe = [Ge, function (e, r, n) { + e |= 0, r |= 0, n |= 0; + var i, a = 0; + return i = l, (0 | (l = l + 32 | 0)) >= (0 | f) && k(32), a = i, o[e + 36 >> 2] = 3, 0 == (64 & o[e >> 2] | 0) && (o[a >> 2] = o[e + 60 >> 2], o[a + 4 >> 2] = 21523, o[a + 8 >> 2] = i + 16, 0 | C(54, 0 | a)) && (t[e + 75 >> 0] = -1), a = 0 | j(e, r, n), l = i, 0 | a + }, function (e, r, t) { + e |= 0, r |= 0, t |= 0; + var n, i, a, s = 0; + return n = l, (0 | (l = l + 32 | 0)) >= (0 | f) && k(32), a = n + 20 | 0, o[(i = n) >> 2] = o[e + 60 >> 2], o[i + 4 >> 2] = 0, o[i + 8 >> 2] = r, o[i + 12 >> 2] = a, o[i + 16 >> 2] = t, (0 | X(0 | O(140, 0 | i))) < 0 ? (o[a >> 2] = -1, s = -1) : s = 0 | o[a >> 2], l = n, 0 | s + }, j, function (e, r, n) { + e |= 0, r |= 0, n |= 0; + var i, a, s, u = 0, + c = 0, + d = 0, + S = 0, + E = 0; + return i = l, (0 | (l = l + 32 | 0)) >= (0 | f) && k(32), u = i, o[(c = i + 16 | 0) >> 2] = r, d = c + 4 | 0, s = 0 | o[(a = e + 48 | 0) >> 2], o[d >> 2] = n - (0 != (0 | s) & 1), S = e + 44 | 0, o[c + 8 >> 2] = o[S >> 2], o[c + 12 >> 2] = s, o[u >> 2] = o[e + 60 >> 2], o[u + 4 >> 2] = c, o[u + 8 >> 2] = 2, (0 | (c = 0 | X(0 | L(145, 0 | u)))) >= 1 ? c >>> 0 > (u = 0 | o[d >> 2]) >>> 0 ? (d = 0 | o[S >> 2], o[(S = e + 4 | 0) >> 2] = d, o[e + 8 >> 2] = d + (c - u), 0 | o[a >> 2] ? (o[S >> 2] = d + 1, t[r + (n + -1) >> 0] = 0 | t[d >> 0], E = n) : E = n) : E = c : (o[e >> 2] = o[e >> 2] | 48 & c ^ 16, E = c), l = i, 0 | E + }, Ge, Ge, Ge]; + return { + _llvm_bswap_i32: Xe, + _i64Subtract: Le, + ___udivdi3: ze, + setThrew: function (e, r) { + e |= 0, r |= 0, S || (S = e, _0x5a7807 = r) + }, + _bitshift64Lshr: He, + _bitshift64Shl: Be, + _fflush: Me, + ___errno_location: G, + _extract: function (e) { + return function (e, r) { + e |= 0, r |= 0; + var n, a, s, u, c, d, S, E, _ = 0, + m = 0, + h = 0, + p = 0, + b = 0, + A = 0, + F = 0, + v = 0, + T = 0, + g = 0, + w = 0, + O = 0, + R = 0, + N = 0, + P = 0, + C = 0, + D = 0, + L = 0, + I = 0, + Y = 0, + j = 0, + X = 0; + if (r = l, (0 | (l = l + 4192 | 0)) >= (0 | f) && k(4192), n = r + 32 | 0, a = r + 24 | 0, s = r + 16 | 0, u = r + 8 | 0, _ = r, c = r + 40 | 0, S = r + 88 | 0, o[(d = r + 36 | 0) >> 2] = 0, (0 | (E = 0 | x(e, d))) < 22) return o[_ >> 2] = 182, Ne(967, _), K(0 | o[d >> 2]), l = r, 0; + _ = E + -22 | 0; + e: do { + if ((0 | _) > 22) { + for (m = (e = 0 | o[d >> 2]) + E | 0, h = _; 101010256 != ((0 | i[1 + (A = 1 + (b = 1 + (p = e + h | 0) | 0) | 0) >> 0]) << 24 | (0 | i[A >> 0]) << 16 | (0 | i[b >> 0]) << 8 | 0 | i[p >> 0] | 0) || (p + 22 + ((0 | i[1 + (b = p + 20 | 0) >> 0]) << 8 | 0 | i[b >> 0]) | 0) != (0 | m);) + if ((0 | (h = h + -1 | 0)) <= 22) break e; + if (A = e + ((0 | i[1 + (b = 1 + (m = 1 + (h = p + 16 | 0) | 0) | 0) >> 0]) << 24 | (0 | i[b >> 0]) << 16 | (0 | i[m >> 0]) << 8 | 0 | i[h >> 0]) | 0, 33639248 == ((0 | i[A + 3 >> 0]) << 24 | (0 | i[A + 2 >> 0]) << 16 | (0 | i[A + 1 >> 0]) << 8 | 0 | i[A >> 0] | 0)) + for (h = A, m = 0;;) { + if (b = ((0 | i[h + 27 >> 0]) << 24 | (0 | i[h + 26 >> 0]) << 16 | (0 | i[h + 25 >> 0]) << 8 | 0 | i[h + 24 >> 0]) + m | 0, h = h + (46 + ((0 | i[h + 29 >> 0]) << 8 | 0 | i[h + 28 >> 0]) + ((0 | i[h + 31 >> 0]) << 8 | 0 | i[h + 30 >> 0]) + ((0 | i[h + 33 >> 0]) << 8 | 0 | i[h + 32 >> 0])) | 0, 33639248 != ((0 | i[h + 3 >> 0]) << 24 | (0 | i[h + 2 >> 0]) << 16 | (0 | i[h + 1 >> 0]) << 8 | 0 | i[h >> 0] | 0)) { + F = b; + break + } + m = b + } else F = 0; + m = c + 4 | 0, h = c + 12 | 0, b = c + 16 | 0; + r: do { + if (33639248 == ((0 | i[A + 3 >> 0]) << 24 | (0 | i[A + 2 >> 0]) << 16 | (0 | i[A + 1 >> 0]) << 8 | 0 | i[A >> 0] | 0)) { + for (v = 0, T = A; g = 0 | t[T + 10 >> 0], w = 0 | t[T + 11 >> 0], O = (0 | i[T + 19 >> 0]) << 24 | (0 | i[T + 18 >> 0]) << 16 | (0 | i[T + 17 >> 0]) << 8 | 0 | i[T + 16 >> 0], R = (0 | i[T + 23 >> 0]) << 24 | (0 | i[T + 22 >> 0]) << 16 | (0 | i[T + 21 >> 0]) << 8 | 0 | i[T + 20 >> 0], N = (0 | i[T + 27 >> 0]) << 24 | (0 | i[T + 26 >> 0]) << 16 | (0 | i[T + 25 >> 0]) << 8 | 0 | i[T + 24 >> 0], P = (0 | i[T + 29 >> 0]) << 8 | 0 | i[T + 28 >> 0], C = (0 | i[T + 33 >> 0]) << 8 | 0 | i[T + 32 >> 0], D = (0 | i[T + 31 >> 0]) << 8 | 0 | i[T + 30 >> 0], xe(0 | S, 0, 4096), !(P >>> 0 > 4095);) { + switch (je(0 | S, T + 46 | 0, 0 | P), Y = 28 + (L = e + ((0 | i[T + 45 >> 0]) << 24 | (0 | i[T + 44 >> 0]) << 16 | (0 | i[T + 43 >> 0]) << 8 | 0 | i[T + 42 >> 0]) | 0) | 0, j = L + 30 + ((0 | i[1 + (I = L + 26 | 0) >> 0]) << 8 | 0 | i[I >> 0]) + ((0 | i[Y + 1 >> 0]) << 8 | 0 | i[Y >> 0]) | 0, (65535 & ((255 & w) << 8 | 255 & g)) << 16 >> 16) { + case 0: + M(0, 0 | S, 0 | N, 0 | j), X = 15; + break; + case 8: + X = 15; + break; + default: + } + if (15 == (0 | X) && (X = 0, 0 | (g = 0 | V(N)))) { + Y = (w = c) + 48 | 0; + do { + o[w >> 2] = 0, w = w + 4 | 0 + } while ((0 | w) < (0 | Y)); + do { + if (!(0 | B(c, -15))) { + if (o[c >> 2] = j, o[m >> 2] = R, o[h >> 2] = g, o[b >> 2] = N, w = 1 == (0 | U(c, 4, F, v)), z(c), !w) { + K(g); + break + } + if ((0 | (w = 0 | H(0, g, N))) == (0 | O)) { + M(0, 0 | S, 0 | N, 0 | g), K(g); + break + } + o[s >> 2] = w, o[s + 4 >> 2] = O, Ne(1175, s), K(g); + break + } + K(g) + } while (0) + } + if (Pe(10), 33639248 != ((0 | i[3 + (T = T + (P + 46 + D + C) | 0) >> 0]) << 24 | (0 | i[T + 2 >> 0]) << 16 | (0 | i[T + 1 >> 0]) << 8 | 0 | i[T >> 0] | 0)) break r; + v = N + v | 0 + } + return o[a >> 2] = 240, Ne(967, a), K(0 | o[d >> 2]), l = r, 0 + } + } while (0); + return y(1), o[n >> 2] = 307, Ne(967, n), K(0 | o[d >> 2]), l = r, 0 + } + } while (0); + o[u >> 2] = 188, Ne(967, u), K(0 | o[d >> 2]), l = r + }(e |= 0, 0), 1 + }, + _memset: xe, + _sbrk: Ve, + _memcpy: je, + stackAlloc: function (e) { + var r; + return r = l, (0 | (l = (l = l + (e |= 0) | 0) + 15 & -16)) >= (0 | f) && k(0 | e), 0 | r + }, + ___uremdi3: Ke, + getTempRet0: function () { + return 0 | E + }, + setTempRet0: function (e) { + E = e |= 0 + }, + _i64Add: Ie, + dynCall_iiii: function (e, r, t, n) { + return r |= 0, t |= 0, n |= 0, 0 | qe[7 & (e |= 0)](0 | r, 0 | t, 0 | n) + }, + _emscripten_get_global_libc: function () { + return 4288 + }, + dynCall_ii: function (e, r) { + return r |= 0, 0 | We[1 & (e |= 0)](0 | r) + }, + stackSave: function () { + return 0 | l + }, + _free: K, + runPostSets: function () {}, + establishStackSpace: function (e, r) { + l = e |= 0, f = r |= 0 + }, + stackRestore: function (e) { + l = e |= 0 + }, + _malloc: V, + _emscripten_replace_memory: function (e) { + return !(16777215 & s(e) || s(e) <= 16777215 || s(e) > 2147483648) && (t = new Int8Array(e), n = new Int16Array(e), o = new Int32Array(e), i = new Uint8Array(e), new Uint16Array(e), new Uint32Array(e), new Float32Array(e), a = new Float64Array(e), r = e, !0) + } + } + }(Module.asmLibraryArg, buffer), + real__llvm_bswap_i32 = asm._llvm_bswap_i32; +asm._llvm_bswap_i32 = function () { + return real__llvm_bswap_i32.apply(null, arguments) +}; +var real_getTempRet0 = asm.getTempRet0; +asm.getTempRet0 = function () { + return real_getTempRet0.apply(null, arguments) +}; +var real____udivdi3 = asm.___udivdi3; +asm.___udivdi3 = function () { + return real____udivdi3.apply(null, arguments) +}; +var real_setThrew = asm.setThrew; +asm.setThrew = function () { + return real_setThrew.apply(null, arguments) +}; +var real__bitshift64Lshr = asm._bitshift64Lshr; +asm._bitshift64Lshr = function () { + return real__bitshift64Lshr.apply(null, arguments) +}; +var real__bitshift64Shl = asm._bitshift64Shl; +asm._bitshift64Shl = function () { + return real__bitshift64Shl.apply(null, arguments) +}; +var real__fflush = asm._fflush; +asm._fflush = function () { + return real__fflush.apply(null, arguments) +}; +var real__extract = asm._extract; +asm._extract = function () { + return real__extract.apply(null, arguments) +}; +var real__sbrk = asm._sbrk; +asm._sbrk = function () { + return real__sbrk.apply(null, arguments) +}; +var real____errno_location = asm.___errno_location; +asm.___errno_location = function () { + return real____errno_location.apply(null, arguments) +}; +var real____uremdi3 = asm.___uremdi3; +asm.___uremdi3 = function () { + return real____uremdi3.apply(null, arguments) +}; +var real_stackAlloc = asm.stackAlloc; +asm.stackAlloc = function () { + return real_stackAlloc.apply(null, arguments) +}; +var real__i64Subtract = asm._i64Subtract; +asm._i64Subtract = function () { + return real__i64Subtract.apply(null, arguments) +}; +var real_setTempRet0 = asm.setTempRet0; +asm.setTempRet0 = function () { + return real_setTempRet0.apply(null, arguments) +}; +var real__i64Add = asm._i64Add; +asm._i64Add = function () { + return real__i64Add.apply(null, arguments) +}; +var real__emscripten_get_global_libc = asm._emscripten_get_global_libc; +asm._emscripten_get_global_libc = function () { + return real__emscripten_get_global_libc.apply(null, arguments) +}; +var real_stackSave = asm.stackSave; +asm.stackSave = function () { + return real_stackSave.apply(null, arguments) +}; +var real__free = asm._free; +asm._free = function () { + return real__free.apply(null, arguments) +}; +var real_establishStackSpace = asm.establishStackSpace; +asm.establishStackSpace = function () { + return real_establishStackSpace.apply(null, arguments) +}; +var real_stackRestore = asm.stackRestore; +asm.stackRestore = function () { + return real_stackRestore.apply(null, arguments) +}; +var real__malloc = asm._malloc; +asm._malloc = function () { + return real__malloc.apply(null, arguments) +}; +var _llvm_bswap_i32 = Module._llvm_bswap_i32 = asm._llvm_bswap_i32, + getTempRet0 = Module.getTempRet0 = asm.getTempRet0, + ___udivdi3 = Module.___udivdi3 = asm.___udivdi3, + setThrew = Module.setThrew = asm.setThrew, + _bitshift64Lshr = Module._bitshift64Lshr = asm._bitshift64Lshr, + _bitshift64Shl = Module._bitshift64Shl = asm._bitshift64Shl, + _fflush = Module._fflush = asm._fflush, + _extract = Module._extract = asm._extract, + _memset = Module._memset = asm._memset, + _sbrk = Module._sbrk = asm._sbrk, + _memcpy = Module._memcpy = asm._memcpy, + ___errno_location = Module.___errno_location = asm.___errno_location, + ___uremdi3 = Module.___uremdi3 = asm.___uremdi3, + stackAlloc = Module.stackAlloc = asm.stackAlloc, + _i64Subtract = Module._i64Subtract = asm._i64Subtract, + setTempRet0 = Module.setTempRet0 = asm.setTempRet0, + _i64Add = Module._i64Add = asm._i64Add, + _emscripten_get_global_libc = Module._emscripten_get_global_libc = asm._emscripten_get_global_libc, + stackSave = Module.stackSave = asm.stackSave, + _free = Module._free = asm._free, + runPostSets = Module.runPostSets = asm.runPostSets, + establishStackSpace = Module.establishStackSpace = asm.establishStackSpace, + stackRestore = Module.stackRestore = asm.stackRestore, + _malloc = Module._malloc = asm._malloc, + _emscripten_replace_memory = Module._emscripten_replace_memory = asm._emscripten_replace_memory, + dynCall_ii = Module.dynCall_ii = asm.dynCall_ii, + dynCall_iiii = Module.dynCall_iiii = asm.dynCall_iiii, + initialStackTop; + +function ExitStatus(e) { + this.name = "ExitStatus", this.message = "Program terminated with exit(" + e + ")", this.status = e +} +Runtime.stackAlloc = Module.stackAlloc, Runtime.stackSave = Module.stackSave, Runtime.stackRestore = Module.stackRestore, Runtime.establishStackSpace = Module.establishStackSpace, Runtime.setTempRet0 = Module.setTempRet0, Runtime.getTempRet0 = Module.getTempRet0, Module.asm = asm, ExitStatus.prototype = new Error, ExitStatus.prototype.constructor = ExitStatus; +var preloadStartTime = null, + calledMain = !1; + +function run(e) { + function r() { + Module.calledRun || (Module.calledRun = !0, ABORT || (ensureInitRuntime(), preMain(), ENVIRONMENT_IS_WEB && null !== preloadStartTime && Module.printErr("pre-main prep time: " + (Date.now() - preloadStartTime) + " ms"), Module.onRuntimeInitialized && Module.onRuntimeInitialized(), Module._main && shouldRunNow && Module.callMain(e), postRun())) + } + e = e || Module.arguments, null === preloadStartTime && (preloadStartTime = Date.now()), runDependencies > 0 || (writeStackCookie(), preRun(), runDependencies > 0 || Module.calledRun || (Module.setStatus ? (Module.setStatus("Running..."), setTimeout((function () { + setTimeout((function () { + Module.setStatus("") + }), 1), r() + }), 1)) : r(), checkStackCookie())) +} + +function exit(e, r) { + r && Module.noExitRuntime ? Module.printErr("exit(" + e + ") implicitly called by end of main(), but noExitRuntime, so not exiting the runtime (you can use emscripten_force_exit, if you want to force a true shutdown)") : (Module.noExitRuntime ? Module.printErr("exit(" + e + ") called, but noExitRuntime, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)") : (ABORT = !0, EXITSTATUS = e, STACKTOP = initialStackTop, exitRuntime(), Module.onExit && Module.onExit(e)), Module.quit(e, new ExitStatus(e))) +} +dependenciesFulfilled = function e() { + Module.calledRun || run(), Module.calledRun || (dependenciesFulfilled = e) +}, Module.callMain = Module.callMain = function (e) { + assert(0 == runDependencies, "cannot call main when async dependencies remain! (listen on __ATMAIN__)"), assert(0 == __ATPRERUN__.length, "cannot call main when preRun functions remain to be called"), e = e || [], ensureInitRuntime(); + var r = e.length + 1; + + function t() { + for (var e = 0; e < 3; e++) n.push(0) + } + var n = [allocate(intArrayFromString(Module.thisProgram), "i8", ALLOC_NORMAL)]; + t(); + for (var o = 0; o < r - 1; o += 1) n.push(allocate(intArrayFromString(e[o]), "i8", ALLOC_NORMAL)), t(); + n.push(0), n = allocate(n, "i32", ALLOC_NORMAL); + try { + exit(Module._main(r, n, 0), !0) + } catch (e) { + if (e instanceof ExitStatus) return; + if ("SimulateInfiniteLoop" == e) return void(Module.noExitRuntime = !0); + var i = e; + e && "object" == typeof e && e.stack && (i = [e, e.stack]), Module.printErr("exception thrown: " + i), Module.quit(1, e) + } finally { + calledMain = !0 + } +}, Module.run = Module.run = run, Module.exit = Module.exit = exit; +var abortDecorators = []; + +function abort(e) { + Module.onAbort && Module.onAbort(e), void 0 !== e ? (Module.print(e), Module.printErr(e), e = JSON.stringify(e)) : e = "", ABORT = !0, EXITSTATUS = 1; + var r = "abort(" + e + ") at " + stackTrace(); + throw abortDecorators && abortDecorators.forEach((function (t) { + r = t(r, e) + })), r +} +if (Module.abort = Module.abort = abort, Module.preInit) + for ("function" == typeof Module.preInit && (Module.preInit = [Module.preInit]); Module.preInit.length > 0;) Module.preInit.pop()(); +var shouldRunNow = !0; +Module.noInitialRun && (shouldRunNow = !1), run(), onmessage = async function (e) { + let contents = e.data.contents instanceof Uint8Array ? e.data.contents:new Uint8Array(await e.data.contents.arrayBuffer()); + Module.FS_createDataFile("/", "1.zip", contents, !0, !1), Module.cwrap("extract", "number", ["string"])("1.zip"), FS.unlink("1.zip") +}; \ No newline at end of file diff --git a/assets/Mobile/gamepad.min.js b/assets/Mobile/gamepad.min.js new file mode 100644 index 00000000..b8741b87 --- /dev/null +++ b/assets/Mobile/gamepad.min.js @@ -0,0 +1 @@ +!function(a){"use strict";var b=function(){},c={getType:function(){return"null"},isSupported:function(){return!1},update:b},d=function(a){var c=this,d=window;this.update=b;this.requestAnimationFrame=a||d.requestAnimationFrame||d.webkitRequestAnimationFrame||d.mozRequestAnimationFrame;this.tickFunction=function(){c.update();c.startTicker()};this.startTicker=function(){c.requestAnimationFrame.apply(d,[c.tickFunction])}};d.prototype.start=function(a){this.update=a||b;this.startTicker()};var e=function(){};e.prototype.update=b;e.prototype.start=function(a){this.update=a||b};var f=function(a,b){this.listener=a;this.gamepadGetter=b;this.knownGamepads=[]};f.factory=function(a){var b=c,d=window&&window.navigator;d&&("undefined"!=typeof d.getGamepads?b=new f(a,function(){return d.getGamepads()}):"undefined"!=typeof d.webkitGamepads?b=new f(a,function(){return d.webkitGamepads()}):"undefined"!=typeof d.webkitGetGamepads&&(b=new f(a,function(){return d.webkitGetGamepads()})));return b};f.getType=function(){return"WebKit"},f.prototype.getType=function(){return f.getType()},f.prototype.isSupported=function(){return!0};f.prototype.update=function(){var a,b,c=this,d=Array.prototype.slice.call(this.gamepadGetter(),0);for(b=this.knownGamepads.length-1;b>=0;b--){a=this.knownGamepads[b];if(d.indexOf(a)<0){this.knownGamepads.splice(b,1);this.listener._disconnect(a)}}for(b=0;b c;c++)this._addButtonUpdater(a,d,c);b=d.axes.byAxis.length;for(c=0;b>c;c++)this._addAxisUpdater(a,d,c);this.gamepads[a.index]=a;this._fire(h.Event.CONNECTED,a)};h.prototype._addButtonUpdater=function(a,c,d){var e=b,f=i(h.StandardButtons,d,"EXTRA_BUTTON_"),g=this._createButtonGetter(a,c.buttons,d),j=this,k={gamepad:a,control:f};a.state[f]=0;a.lastState[f]=0;e=function(){var b=g(),c=a.lastState[f],d=b>.5,e=c>.5;a.state[f]=b;d&&!e?j._fire(h.Event.BUTTON_DOWN,Object.create(k)):!d&&e&&j._fire(h.Event.BUTTON_UP,Object.create(k));0!==b&&1!==b&&b!==c&&j._fireAxisChangedEvent(a,f,b);a.lastState[f]=b};a.updater.push(e)};h.prototype._addAxisUpdater=function(a,c,d){var e=b,f=i(h.StandardAxes,d,"EXTRA_AXIS_"),g=this._createAxisGetter(a,c.axes,d),j=this;a.state[f]=0;a.lastState[f]=0;e=function(){var b=g(),c=a.lastState[f];a.state[f]=b;b!==c&&j._fireAxisChangedEvent(a,f,b);a.lastState[f]=b};a.updater.push(e)};h.prototype._fireAxisChangedEvent=function(a,b,c){var d={gamepad:a,axis:b,value:c};this._fire(h.Event.AXIS_CHANGED,d)};h.prototype._createButtonGetter=function(){var a=function(){return 0},b=function(b,c,d){var e=a;d>c?e=function(){var a=d-c,e=b();e=(e-c)/a;return 0>e?0:e}:c>d&&(e=function(){var a=c-d,e=b();e=(e-d)/a;return e>1?0:1-e});return e},c=function(a){return"[object Array]"===Object.prototype.toString.call(a)};return function(d,e,f){var g,h=a,i=this;g=e.byButton[f];if(-1!==g)"number"==typeof g&&g 0&&this._fire(h.Event.TICK,this.gamepads)},h.prototype._applyDeadzoneMaximize=function(a,b,c){b="undefined"!=typeof b?b:this.deadzone;c="undefined"!=typeof c?c:this.maximizeThreshold;a>=0?b>a?a=0:a>c&&(a=1):a>-b?a=0:-c>a&&(a=-1);return a};a.Gamepad=h}("undefined"!=typeof module&&module.exports||Nenge); \ No newline at end of file diff --git a/assets/Mobile/i18n/en.json b/assets/Mobile/i18n/en.json new file mode 100644 index 00000000..544b7b4d --- /dev/null +++ b/assets/Mobile/i18n/en.json @@ -0,0 +1,3 @@ +{ + +} \ No newline at end of file diff --git a/assets/Mobile/i18n/zh-hans.json b/assets/Mobile/i18n/zh-hans.json new file mode 100644 index 00000000..6f1cceac --- /dev/null +++ b/assets/Mobile/i18n/zh-hans.json @@ -0,0 +1,48 @@ +{ + "FS UI Write:":"界面资源写入:", + "RetroArch Config Write:":"RetroArch配置写入:", + "process:":"进度:", + "Click to work":"点击继续", + "import roms":"导入游戏", + "decompressed roms":"导入并解压", + "import bios":"导入BIOS", + "decompressed bios":"导入并解压BIOS", + "Write":"写入", + "is write":"已写入", + "play this":"运行它", + "restart":"重启", + "load state":"即时读档", + "save state":"即时存档", + "import state":"导入即时存档", + "import saves":"导入电子存档", +"auto saves":"每10s确保存档", +"show cache":"文件管理", +"Database Table:":"数据表", +"Database Name:":"数据库名", +"Local Virtual File System":"模拟器虚拟文件系统", +"FS Shader Write:":"滤镜文件", +"unsupport load srm,it will write saves to reload page. are you sure?":"不支持即时读取存档,你确定要写入吗?写入后会重启浏览.", +"setting":"设置", +"import file":"导入文件", +"back menu":"返回", +"Close Menu":"关闭菜单", +"set shader":"设置滤镜", +"remove":"删除", +"my action":"我的操作", +"show System":"显示系统", +"Delete data":"删除数据", +"Download data":"下载数据", +"Replace Core":"替换核心", +"cheat code":"金手指", +"toggle system":"显示/隐藏系统", +"apply":"应用", +"one line one code!":"一行一个代码", +"set volume":"设置音量", +"volume++":"增加", +"volume--":"减少", +"volume mute":"开启/静音", +"pause":"暂停", +"download":"下载并写入", +"Play Now":"开始游戏", +"Close Dialog":"关闭窗口" +} \ No newline at end of file diff --git a/assets/Mobile/i18n/zh-hant.json b/assets/Mobile/i18n/zh-hant.json new file mode 100644 index 00000000..544b7b4d --- /dev/null +++ b/assets/Mobile/i18n/zh-hant.json @@ -0,0 +1,3 @@ +{ + +} \ No newline at end of file diff --git a/assets/Mobile/libunrar.min.zip b/assets/Mobile/libunrar.min.zip new file mode 100644 index 00000000..de570a48 Binary files /dev/null and b/assets/Mobile/libunrar.min.zip differ diff --git a/assets/Mobile/nipplejs.js b/assets/Mobile/nipplejs.js new file mode 100644 index 00000000..3f5f3581 --- /dev/null +++ b/assets/Mobile/nipplejs.js @@ -0,0 +1 @@ +!function(t,i){"object"==typeof exports&&"object"==typeof module?module.exports=i():"function"==typeof define&&define.amd?define("nipplejs",[],i):"object"==typeof exports?exports.nipplejs=i():t.nipplejs=i()}(Nenge,function(){return function(t){var i={};function e(o){if(i[o])return i[o].exports;var n=i[o]={i:o,l:!1,exports:{}};return t[o].call(n.exports,n,n.exports,e),n.l=!0,n.exports}return e.m=t,e.c=i,e.d=function(t,i,o){e.o(t,i)||Object.defineProperty(t,i,{enumerable:!0,get:o})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,i){if(1&i&&(t=e(t)),8&i)return t;if(4&i&&"object"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(e.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:t}),2&i&&"string"!=typeof t)for(var n in t)e.d(o,n,function(i){return t[i]}.bind(null,n));return o},e.n=function(t){var i=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(i,"a",i),i},e.o=function(t,i){return Object.prototype.hasOwnProperty.call(t,i)},e.p="",e(e.s=0)}([function(t,i,e){"use strict";e.r(i);var o,n=function(t,i){var e=i.x-t.x,o=i.y-t.y;return Math.sqrt(e*e+o*o)},s=function(t){return t*(Math.PI/180)},r=function(t){return t*(180/Math.PI)},d=new Map,a=function(t){d.has(t)&&clearTimeout(d.get(t)),d.set(t,setTimeout(t,100))},p=function(t,i,e){for(var o,n=i.split(/[ ,]+/g),s=0;s =0&&this._handlers_[t].splice(this._handlers_[t].indexOf(i),1),this},_.prototype.trigger=function(t,i){var e,o=this,n=t.split(/[ ,]+/g);o._handlers_=o._handlers_||{};for(var s=0;s s&&n<3*s&&!t.lockX?i="up":n>-s&&n<=s&&!t.lockY?i="left":n>3*-s&&n<=-s&&!t.lockX?i="down":t.lockY||(i="right"),t.lockY||(e=n>-r&&n 0?"up":"down"),t.force>this.options.threshold){var d,a={};for(d in this.direction)this.direction.hasOwnProperty(d)&&(a[d]=this.direction[d]);var p={};for(d in this.direction={x:e,y:o,angle:i},t.direction=this.direction,a)a[d]===this.direction[d]&&(p[d]=!0);if(p.x&&p.y&&p.angle)return t;p.x&&p.y||this.trigger("plain",t),p.x||this.trigger("plain:"+e,t),p.y||this.trigger("plain:"+o,t),p.angle||this.trigger("dir dir:"+i,t)}else this.resetDirection();return t};var P=k;function E(t,i){this.nipples=[],this.idles=[],this.actives=[],this.ids=[],this.pressureIntervals={},this.manager=t,this.id=E.id,E.id+=1,this.defaults={zone:document.body,multitouch:!1,maxNumberOfNipples:10,mode:"dynamic",position:{top:0,left:0},catchDistance:200,size:100,threshold:.1,color:"white",fadeTime:250,dataOnly:!1,restJoystick:!0,restOpacity:.5,lockX:!1,lockY:!1,shape:"circle",dynamicPage:!1,follow:!1},this.config(i),"static"!==this.options.mode&&"semi"!==this.options.mode||(this.options.multitouch=!1),this.options.multitouch||(this.options.maxNumberOfNipples=1);var e=getComputedStyle(this.options.zone.parentElement);return e&&"flex"===e.display&&(this.parentIsFlex=!0),this.updateBox(),this.prepareNipples(),this.bindings(),this.begin(),this.nipples}E.prototype=new T,E.constructor=E,E.id=0,E.prototype.prepareNipples=function(){var t=this.nipples;t.on=this.on.bind(this),t.off=this.off.bind(this),t.options=this.options,t.destroy=this.destroy.bind(this),t.ids=this.ids,t.id=this.id,t.processOnMove=this.processOnMove.bind(this),t.processOnEnd=this.processOnEnd.bind(this),t.get=function(i){if(void 0===i)return t[0];for(var e=0,o=t.length;e 0&&e.pressureFn(t,i,i.identifier),e.processOnMove(t)};if((i=e.idles.indexOf(a))>=0&&e.idles.splice(i,1),e.actives.push(a),e.ids.push(a.identifier),"semi"!==o.mode)p(a);else{if(!(n(d,a.position)<=o.catchDistance))return a.destroy(),void e.processOnStart(t);p(a)}return a},E.prototype.getOrCreate=function(t,i){var e,o=this.options;return/(semi|static)/.test(o.mode)?(e=this.idles[0])?(this.idles.splice(0,1),e):"semi"===o.mode?this.createNipple(i,t):(console.warn("Coudln't find the needed nipple."),!1):e=this.createNipple(i,t)},E.prototype.processOnMove=function(t){var i=this.options,e=this.manager.getIdentifier(t),o=this.nipples.get(e),d=this.manager.scroll;if(function(t){return isNaN(t.buttons)?0!==t.pressure:0!==t.buttons}(t)){if(!o)return console.error("Found zombie joystick with ID "+e),void this.manager.removeIdentifier(e);if(i.dynamicPage){var a=o.el.getBoundingClientRect();o.position={x:d.x+a.left,y:d.y+a.top}}o.identifier=e;var p=o.options.size/2,c={x:t.pageX,y:t.pageY};i.lockX&&(c.y=o.position.y),i.lockY&&(c.x=o.position.x);var l,h,u,f,y,m,v,g,b,x,O=n(c,o.position),w=(l=c,h=o.position,u=h.x-l.x,f=h.y-l.y,r(Math.atan2(f,u))),_=s(w),T=O/p,k={distance:O,position:c};if("circle"===o.options.shape?(y=Math.min(O,p),v=o.position,g=y,x={x:0,y:0},b=s(b=w),x.x=v.x-g*Math.cos(b),x.y=v.y-g*Math.sin(b),m=x):(m=function(t,i,e){return{x:Math.min(Math.max(t.x,i.x-e),i.x+e),y:Math.min(Math.max(t.y,i.y-e),i.y+e)}}(c,o.position,p),y=n(m,o.position)),i.follow){if(O>p){var P=c.x-m.x,E=c.y-m.y;o.position.x+=P,o.position.y+=E,o.el.style.top=o.position.y-(this.box.top+d.y)+"px",o.el.style.left=o.position.x-(this.box.left+d.x)+"px",O=n(c,o.position)}}else c=m,O=y;var I=c.x-o.position.x,z=c.y-o.position.y;o.frontPosition={x:I,y:z},i.dataOnly||(o.ui.front.style.transform="translate("+I+"px,"+z+"px)");var D={identifier:o.identifier,position:c,force:T,pressure:t.force||t.pressure||t.webkitForce||0,distance:O,angle:{radian:_,degree:w},vector:{x:I/p,y:-z/p},raw:k,instance:o,lockX:i.lockX,lockY:i.lockY};(D=o.computeDirection(D)).angle={radian:s(180-w),degree:180-w},o.trigger("move",D),this.trigger("move "+o.id+":move",D)}else this.processOnEnd(t)},E.prototype.processOnEnd=function(t){var i=this,e=i.options,o=i.manager.getIdentifier(t),n=i.nipples.get(o),s=i.manager.removeIdentifier(n.identifier);n&&(e.dataOnly||n.hide(function(){"dynamic"===e.mode&&(n.trigger("removed",n),i.trigger("removed "+n.id+":removed",n),i.manager.trigger("removed "+n.id+":removed",n),n.destroy())}),clearInterval(i.pressureIntervals[n.identifier]),n.resetDirection(),n.trigger("end",n),i.trigger("end "+n.id+":end",n),i.ids.indexOf(n.identifier)>=0&&i.ids.splice(i.ids.indexOf(n.identifier),1),i.actives.indexOf(n)>=0&&i.actives.splice(i.actives.indexOf(n),1),/(semi|static)/.test(e.mode)?i.idles.push(n):i.nipples.indexOf(n)>=0&&i.nipples.splice(i.nipples.indexOf(n),1),i.manager.unbindDocument(),/(semi|static)/.test(e.mode)&&(i.manager.ids[s.id]=s.identifier))},E.prototype.onDestroyed=function(t,i){this.nipples.indexOf(i)>=0&&this.nipples.splice(this.nipples.indexOf(i),1),this.actives.indexOf(i)>=0&&this.actives.splice(this.actives.indexOf(i),1),this.idles.indexOf(i)>=0&&this.idles.splice(this.idles.indexOf(i),1),this.ids.indexOf(i.identifier)>=0&&this.ids.splice(this.ids.indexOf(i.identifier),1),this.manager.removeIdentifier(i.identifier),this.manager.unbindDocument()},E.prototype.destroy=function(){for(var t in this.unbindEvt(this.options.zone,"start"),this.nipples.forEach(function(t){t.destroy()}),this.pressureIntervals)this.pressureIntervals.hasOwnProperty(t)&&clearInterval(this.pressureIntervals[t]);this.trigger("destroyed",this.nipples),this.manager.unbindDocument(),this.off()};var I=E;function z(t){var i=this;i.ids={},i.index=0,i.collections=[],i.scroll=h(),i.config(t),i.prepareCollections();var e=function(){var t;i.collections.forEach(function(e){e.forEach(function(e){t=e.el.getBoundingClientRect(),e.position={x:i.scroll.x+t.left,y:i.scroll.y+t.top}})})};p(window,"resize",function(){a(e)});var o=function(){i.scroll=h()};return p(window,"scroll",function(){a(o)}),i.collections}z.prototype=new T,z.constructor=z,z.prototype.prepareCollections=function(){var t=this;t.collections.create=t.create.bind(t),t.collections.on=t.on.bind(t),t.collections.off=t.off.bind(t),t.collections.destroy=t.destroy.bind(t),t.collections.get=function(i){var e;return t.collections.every(function(t){return!(e=t.get(i))}),e}},z.prototype.create=function(t){return this.createCollection(t)},z.prototype.createCollection=function(t){var i=new I(this,t);return this.bindCollection(i),this.collections.push(i),i},z.prototype.bindCollection=function(t){var i,e=this,o=function(t,o){i=t.type+" "+o.id+":"+t.type,e.trigger(i,o)};t.on("destroyed",e.onDestroyed.bind(e)),t.on("shown hidden rested dir plain",o),t.on("dir:up dir:right dir:down dir:left",o),t.on("plain:up plain:right plain:down plain:left",o)},z.prototype.bindDocument=function(){this.binded||(this.bindEvt(document,"move").bindEvt(document,"end"),this.binded=!0)},z.prototype.unbindDocument=function(t){Object.keys(this.ids).length&&!0!==t||(this.unbindEvt(document,"move").unbindEvt(document,"end"),this.binded=!1)},z.prototype.getIdentifier=function(t){var i;return t?void 0===(i=void 0===t.identifier?t.pointerId:t.identifier)&&(i=this.latest||0):i=this.index,void 0===this.ids[i]&&(this.ids[i]=this.index,this.index+=1),this.latest=i,this.ids[i]},z.prototype.removeIdentifier=function(t){var i={};for(var e in this.ids)if(this.ids[e]===t){i.id=e,i.identifier=this.ids[e],delete this.ids[e];break}return i},z.prototype.onmove=function(t){return this.onAny("move",t),!1},z.prototype.onend=function(t){return this.onAny("end",t),!1},z.prototype.oncancel=function(t){return this.onAny("end",t),!1},z.prototype.onAny=function(t,i){var e,o=this,n="processOn"+t.charAt(0).toUpperCase()+t.slice(1);i=l(i);return v(i,function(t){e=o.getIdentifier(t),v(o.collections,function(t,i,e){e.ids.indexOf(i)>=0&&(e[n](t),t._found_=!0)}.bind(null,t,e)),t._found_||o.removeIdentifier(e)}),!1},z.prototype.destroy=function(){this.unbindDocument(!0),this.ids={},this.index=0,this.collections.forEach(function(t){t.destroy()}),this.off()},z.prototype.onDestroyed=function(t,i){if(this.collections.indexOf(i)<0)return!1;this.collections.splice(this.collections.indexOf(i),1)};var D=new z;i.default={create:function(t){return D.create(t)},factory:D}}]).default}); diff --git a/assets/Mobile/retroarch.cfg b/assets/Mobile/retroarch.cfg new file mode 100644 index 00000000..48367166 --- /dev/null +++ b/assets/Mobile/retroarch.cfg @@ -0,0 +1,125 @@ +menu_mouse_enable = "true" +menu_pointer_enable = "true" +menu_driver = "glui" +materialui_playlist_icons_enable = "false" +materialui_auto_rotate_nav_bar = "false" +always_reload_core_on_run_content = "true" +savestate_auto_load = "true" +rewind_enable = "false" +menu_widget_scale_auto = "false" +materialui_icons_enable = "false" +menu_scale_factor = "1.7500000" +menu_show_core_updater = "false" +menu_show_help = "false" +menu_show_information = "false" +menu_show_legacy_thumbnail_updater = "false" +menu_show_load_core = "false" +menu_show_quit_retroarch = "false" +menu_show_overlays = "false" +menu_show_online_updater = "false" +menu_show_load_content_animation = "false" +quit_on_close_content = "0" +settings_show_accessibility = "false" +settings_show_user = "false" +settings_show_recording = "false" +settings_show_power_management = "false" +settings_show_playlists = "false" +settings_show_network = "false" +settings_show_logging = "false" +settings_show_file_browser = "false" +settings_show_directory = "false" +settings_show_core = "false" +settings_show_ai_service = "false" +settings_show_achievements = "false" +settings_show_drivers = "false" +settings_show_configuration = "false" +settings_show_latency = "false" +settings_show_saving = "false" +camera_allow = "false" +camera_driver = "null" +camera_device = "null" +input_max_users = "1" +quick_menu_show_information = "false" +quick_menu_show_recording = "false" +quick_menu_show_reset_core_association = "false" +quick_menu_show_save_content_dir_overrides = "false" +quick_menu_show_save_core_overrides = "false" +quick_menu_show_save_game_overrides = "false" +quick_menu_show_start_recording = "false" +quick_menu_show_start_streaming = "false" +quick_menu_show_streaming = "false" +quick_menu_show_add_to_favorites = "false" +content_show_explore = "fasle" +content_show_favorites = "fasle" +content_show_history = "fasle" +content_show_music = "fasle" +content_show_playlists = "fasle" +content_favorites_path = "null" +content_history_path = "null" +content_image_history_path = "null" +content_music_history_path = "null" +playlist_directory = "null" +auto_screenshot_filename = "false" +savestate_thumbnail_enable = "true" +autosave_interval = "1" +block_sram_overwrite = "false" +savestate_file_compression = "false" +save_file_compression = "false" +input_exit_emulator = "nul" + + +video_vsync = "true" +video_font_size = "12.000000" +video_adaptive_vsync = "true" +video_scale = "1.000000" +video_scale_integer = "OFF" +video_aspect_ratio = "1" +video_aspect_ratio_auto = "true" +video_ctx_scaling = "true" +video_shader_enable = "true" +video_font_enable = "false" +video_fullscreen_x = "auto" +video_fullscreen_y = "0" + +camera_allow = "false" +camera_driver = "null" +camera_device = "null" + +input_overlay = "overlay.cfg"; +input_overlay_auto_rotate = "true" +input_overlay_auto_scale = "true" +input_overlay_aspect_adjust_landscape = "1" +input_overlay_aspect_adjust_portrait = "1" + +#fastforward_ratio = "2.0" +rewind_enable = "true" + + + +menu_mouse_enable = "true" +menu_pointer_enable = "true" + + +video_shader_dir = "/shader/" +video_shader = "/shader/shader.glslp" + +screenshot_directory = "/" +system_directory = "/system" +#savefile_directory = "/userdata/saves" +#savestate_directory = "/userdata/states" +#rgui_browser_directory = "/userdata/rooms" +#core_assets_directory = "/userdata/rooms/downloads" +#cheat_database_path = "/userdata/cheats" +#rgui_config_directory = "/userdata/config" +#input_remapping_directory = "/userdata/config/remaps" +#thumbnails_directory = "/userdata/thumbnails" + + +materialui_menu_color_theme = "0" + + +input_player1_l_x_minus = "num1" +input_player1_l_x_plus = "num2" +input_player1_l_y_minus = "num3" +input_player1_l_y_plus = "num4" +input_player1_l2 = "num5" \ No newline at end of file diff --git a/assets/Mobile/sw.js b/assets/Mobile/sw.js new file mode 100644 index 00000000..76942e64 --- /dev/null +++ b/assets/Mobile/sw.js @@ -0,0 +1,95 @@ +var CACHE_NAME = localStorage.getItem('mobile_sw_version')||'v1'; +var path = '/assets/Mobile/'; +var urlsToCache = [ + path+'common.min.js', + path+'Module.js', + path+'webretro.css', + 'manifest.json', + 'favicon.ico', + 'm.html', +]; + +let lang = navigator.language.split('-'); +if (lang[0] == 'zh') { + if (lang[1] == 'CN') { + lang = 'zh-hans'; + } else { + lang = 'zh-hant'; + } +} else { + lang = lang[0]; +} +urlsToCache.push(path+'i18n/'+lang+'.json'); + +const eventFunc = { + install(event){ + postMsg('Updated...','status'); + console.log('install',event); + //self.skipWaiting();//跳过等待 + event.waitUntil( + caches.open(CACHE_NAME).then( + cache=>cache.addAll(urlsToCache) + ).then(() => { + console.log('Cache downloaded',caches) + self.skipWaiting() + }) + ); + }, + activate(event){ + console.log('activate'); + self.clients.claim(); + event.waitUntil( + caches.keys().then( + cacheNames=>{ + return Promise.all( + cacheNames.map(cacheName=>{ + console.log(cacheName); + if(CACHE_NAME != cacheName){ + return caches.delete(cacheName); + } + }) + ) + } + ) + ); + postMsg('Updated!','status'); + }, + fetch(event){ + console.log('fetch',event); + event.respondWith( + caches.match(event.request, { + ignoreSearch: true + }).then(function (response) { + // Cache hit - return response + if (response) { + return response; + } + console.log('cache miss', event.request.url) + return fetch(event.request); + }) + ); + }, + message(event){ + console.log(event.data); + } +}; +function postMsg(msg,type,data) { + var obj = Object.assign({ + type:type||'load', + id:'webretro', + msg:msg||'serviceWorker load', + data + }); + clients.matchAll({ includeUncontrolled: true, type: 'window' }).then((arr) => { + for (client of arr) { + client.postMessage(obj); + } + }) +} +self.addEventListener('fetch',e=>console.log(e)); +Object.entries(eventFunc).forEach( + entry=>{ + self.addEventListener(entry[0],event=>entry[1](event)); + } +); +postMsg('serviceWorker load','load'); \ No newline at end of file diff --git a/assets/Mobile/webretro.css b/assets/Mobile/webretro.css new file mode 100644 index 00000000..f8f3445e --- /dev/null +++ b/assets/Mobile/webretro.css @@ -0,0 +1 @@ +img{max-width:100%}body{padding:0px;margin:0px}.emu-container{margin:auto;left:0px;right:0px;top:0px;bottom:0px;background-color:#000;--aspect-hw:0.5;--aspect-wh:1;--width:100%;--height:100%;user-select:none;touch-action:none;overflow:hidden}.emu-container:not([class~="emu-zh-hans"]) #emu-logo{display:none}.emu-welcome{padding:5px;color:#fff;overflow:hidden;overflow-y:auto;position:absolute;margin:auto;left:0px;right:0px;top:0px;bottom:0px}#emu-logo{width:150px;margin:0px calc(50% - 75px)}#emu-welcome-result{font-size:0.625rem;word-break:break-word;white-space:pre-wrap}.emu-core-ul{padding:15px;margin:5px 15px;list-style:none;display:flex;flex-wrap:wrap;justify-content:center;align-items:center}.emu-core-item{margin:15px 5px;width:120px;text-align:center;border:1px dashed #ff7916;border-radius:5px;padding:5px 0px}.emu-core-img{vertical-align:middle;width:30px;background-color:#fff;border-radius:5px;pointer-events:none}.emu-core-sys{padding:0px;margin:0px;pointer-events:none}.emu-core-name{padding:0px;margin:0px;font-size:0.625rem;pointer-events:none}.emu-game-start{display:block;margin:0px auto;background-image:linear-gradient(0deg, #0547ff, #47afe1);color:#fff;border:1px solid;border-radius:5px;padding:10px 15px;font-size:2rem}.emu-screen{position:absolute;text-align:center;left:0px;right:0px;bottom:0px;top:0px}.emu-screen canvas{max-width:100% !important;max-height:100% !important;width:100% !important;user-select:none;touch-action:none;margin:auto}@media screen and (orientation:portrait) and (max-width:666px){.emu-screen canvas{height:min(var(--height), calc(var(--width) * var(--aspect-hw))) !important}}@media screen and (orientation:landscape) and (min-width:667px){.emu-screen canvas{height:var(--height) !important}}.emu-controls{position:absolute;z-index:2}@media screen and (orientation:portrait) and (max-width:666px){.emu-controls{bottom:calc((var(--height) - 300px - min(var(--height),calc(var(--width) * var(--aspect-hw)))) /2);width:100%;height:300px}}@media screen and (orientation:landscape) and (min-width:667px){.emu-controls{margin:auto;left:0px;right:0px;top:0px;bottom:0px}.emu-controls .emu-dpad,.emu-controls .emu-xyab,.emu-controls .emu-joystick{top:0;bottom:0;margin:auto}.emu-controls button{background-color:#0000003b}}.emu-dpad{display:flex;width:180px;height:180px;align-items:stretch;justify-content:flex-start;flex-wrap:wrap;position:absolute;left:5px;top:60px}.emu-dp-btn{position:relative;background:transparent;outline:none;border:1px solid #ffffffa8;border-radius:5px;padding:0px;overflow:hidden}.emu-dp-btn[data-key]::before{content:"";margin:auto;left:0px;right:0px;top:0px;bottom:0px;background-color:#ffffffa8;clip-path:path("M 5 0 L0 10 L 10 10 Z");width:10px;height:10px;position:absolute}.emu-dp-btn.active::before{background-color:#ffd001}.emu-dp-btn:not([data-key*=","]){width:calc(100% / 3);height:calc(100% / 3)}.emu-dp-btn[data-key*=","]{width:calc(100% / 3 - 20%);height:calc(100% / 3 - 20%);margin:10%;border-color:transparent}.emu-dp-btn[data-key="left,up"]{order:1}.emu-dp-btn[data-key="left,up"]::before{transform:rotate(-45deg)}.emu-dp-btn[data-key="up"]{order:2}.emu-dp-btn[data-key="right,up"]{order:3}.emu-dp-btn[data-key="right,up"]::before{transform:rotate(45deg)}.emu-dp-btn[data-key=left]{order:4}.emu-dp-btn[data-key=left]::before{transform:rotate(-90deg)}.emu-dp-btn:not([data-key]){order:5;border-color:transparent}.emu-dp-btn[data-key=right]{order:6}.emu-dp-btn[data-key=right]::before{transform:rotate(90deg)}.emu-dp-btn[data-key="left,down"]{order:7}.emu-dp-btn[data-key="left,down"]::before{transform:rotate(-135deg)}.emu-dp-btn[data-key=down]{order:8}.emu-dp-btn[data-key=down]::before{transform:rotate(-180deg)}.emu-dp-btn[data-key="right,down"]{order:9}.emu-dp-btn[data-key="right,down"]::before{transform:rotate(135deg)}.emu-xyab{display:flex;width:150px;height:150px;align-items:stretch;justify-content:flex-start;flex-wrap:wrap;position:absolute;right:5px;top:60px}.emu-ab-btn{position:relative;background:transparent;outline:none;border:1px solid #ffffffa8;border-radius:50%;padding:0px;overflow:hidden;width:25%;height:25%;margin-top:calc(25% / 6);margin-bottom:calc(25% / 6);color:#fff;font-size:24px}.emu-ab-btn.active{color:#ffd001}.emu-ab-btn:first-child[data-key=a]{order:1;width:calc(100% / 3);height:calc(100% / 3);margin-top:calc(100% / 9);margin-left:calc(100% / 1.6);margin-right:unset}.emu-ab-btn:first-child[data-key=a]+.emu-ab-btn{order:2;width:calc(100% / 3);height:calc(100% / 3);margin-left:calc(100% / 5)}.emu-ab-btn[data-key=y]{order:1;margin-left:calc(100% / 3 + 25% / 6);margin-right:calc(100% / 3 + 25% / 6)}.emu-ab-btn[data-key=x]{order:2;margin-left:calc(25% / 6);margin-right:calc(100% / 3 + 25% / 6)}.emu-ab-btn[data-key=x]:not([hidden])~.emu-ab-btn[data-key=a]{order:4;margin-top:calc(25% / 6);margin-left:calc(100% / 3 + 25% / 6);margin-right:calc(100% / 3 + 25% / 6)}.emu-ab-btn[data-key=x]:not([hidden])~.emu-ab-btn[data-key=b]{order:3;margin-left:calc(25% / 6);margin-right:calc(25% / 6)}.emu-lr-btn{background:transparent;outline:none;border:1px solid #ffffffa8;border-radius:5px;padding:0px;overflow:hidden;width:50px;color:#fff;font-size:1rem;padding:2px;text-align:center;top:5px;position:absolute}.emu-lr-btn.active{color:#ffd001}.emu-lr-btn[data-key=l]{left:5px}.emu-lr-btn[data-key=r]{right:5px}.emu-ss-btn{background:transparent;outline:none;border:1px solid #ffffffa8;border-radius:5px;padding:0px;overflow:hidden;width:70px;color:#fff;font-size:0.625rem;padding:2px 5px;text-align:center;top:5px;position:absolute;top:260px}.emu-ss-btn.active{color:#ffd001}.emu-ss-btn[data-key=select],.emu-ss-btn[data-key=l2]{right:calc(50% + 10px)}.emu-ss-btn[data-key=start]{left:calc(50% + 10px)}@media screen and (orientation:landscape) and (min-width:667px){.emu-ss-btn{top:unset;bottom:20px}.emu-ss-btn[data-key=select],.emu-ss-btn[data-key=l2]{right:unset;left:40px}.emu-ss-btn[data-key=start]{left:unset;right:40px}}.emu-sys-n64 .emu-dpad{width:90px;height:90px;top:calc(50% - 115px);bottom:unset}@media screen and (orientation:portrait) and (max-width:666px){.emu-sys-n64 .emu-dpad{left:110px}}.emu-sys-n64 .emu-joystick{top:calc(50% - 10px);left:15px;bottom:unset}.emu-sys-n64 .emu-xyab button{font-size:0.625rem}.emu-joystick{width:90px;height:90px;position:absolute;left:5px;top:60px}.emu-settings.active{margin:auto;left:0px;right:0px;top:0px;bottom:0px;position:absolute;z-index:10;pointer-events:auto;background-color:#000000d1}.emu-settings.active .emu-settings-icon{transform:rotate(45deg)}.emu-settings.active .emu-settings-icon:before{top:0;transform:rotate(-90deg)}.emu-settings.active .emu-settings-icon:after{bottom:0;opacity:0}.emu-settings:not([class~="active"]) .emu-settings-ctrls{right:-100vw;transform:translateX(100%)}.emu-settings-btn{position:absolute;z-index:11;left:calc(var(--width) * 0.5 - 14px);top:5px;border:none;border-radius:5px;padding:5px 5px 7px;pointer-events:auto;background-color:#abaaaa33;outline:none}.emu-settings-icon{color:#1e293b;border-color:#0000001a;height:2px;width:1.25em;background:#ffffff54;border-radius:10px;position:relative;display:inline-block;vertical-align:middle;transition:all 0.3s}.emu-settings-icon:after,.emu-settings-icon:before{content:"";display:block;height:inherit;width:inherit;border-radius:inherit;background:inherit;position:absolute;left:0;transition:inherit}.emu-settings-icon:before{top:-0.45em}.emu-settings-icon:after{bottom:-0.45em}.emu-settings-ctrls{margin:auto;left:0px;right:0px;top:0px;bottom:0px;position:absolute;height:300px;width:300px;display:flex;flex-wrap:wrap;justify-content:space-around;align-items:center;align-content:center;overflow:hidden;overflow-y:auto;word-break:break-word;transition:transform 0.3s}.emu-settings-menu-item{width:40%;margin:5px 5%;background-color:#ffffffb3;border:1px solid #ff7d01;border-radius:5px;font-size:1rem}.emu-settings-menu-autoSaves.active{background-color:#0547ff;color:#fff}.emu-settings-popup{position:absolute;right:10px;bottom:30px;max-height:80vh;z-index:999;overflow:hidden;overflow-y:auto}.emu-spopup-container{position:relative;transition:all 0.3s;border:1px dashed #929292;border-radius:5px;background-color:#202020}.emu-spopup-item{flex-wrap:wrap;flex-direction:column;align-content:space-between;justify-content:flex-start;align-items:stretch;display:none}.emu-spopup-item.active{display:flex}.emu-spopup-item.position{display:flex;position:absolute;transform:translateX(600%)}.emu-spopup-item-title{margin:0px;padding:6px;text-align:center;border-bottom:1px dashed #929292;color:#fff;background-color:#2e2e2e}.emu-spopup-btn{display:flex;flex-wrap:nowrap;flex-direction:row;justify-content:space-between;align-items:center;background-color:transparent;outline:none;border:none;color:#fff;padding:5px;margin:5px;min-width:130px;border-bottom:1px dashed #929292}.emu-spopup-btn:last-child{border-bottom-color:transparent}.emu-spopup-span-key{font-size:1rem}.emu-spopup-span-value{font-size:0.625rem}.emu-resume{margin:auto;left:0px;right:0px;top:0px;bottom:0px;position:absolute;background-color:#00000096;z-index:9}.emu-resume:not([hidden])~.emu-settings,.emu-resume:not([hidden])~.emu-controls,.emu-resume:not([hidden])~.emu-dialog{display:none !important}.emu-resume-txt{margin:auto;left:0px;right:0px;top:0px;bottom:0px;position:absolute;text-align:center;width:100%;height:60px;color:#fff}.emu-wel-game,.emu-wel-bios,.emu-wel-roms{margin:0px;padding:0px}.emu-wel-menu{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-around;align-items:center;padding:15px}.emu-wel-li{display:flex;justify-content:space-around;flex-wrap:wrap;flex-direction:row;align-items:center;margin:8px 0px;padding:3px}.emu-wel-p{margin:0px;font-size:1rem;background:#48443e;padding:2px 5px}.emu-wel-btn{display:block;background-image:linear-gradient(0deg, #012a36, #0089ff);border:1px dashed #9bff00;border-radius:5px;padding:3px 6px;color:#fff}.emu-wel-menu-btn{margin:10px}.emu-dialog{margin:auto;left:0px;right:0px;top:0px;bottom:0px;position:absolute;width:100%;height:100%;transform:translateX(200%);transition:all 0.2s;background:#000000d1;z-index:12;color:#fff}.emu-dialog.active{transform:translateX(0%)}.emu-dialog-item{margin:auto;left:0px;right:0px;top:0px;bottom:0px;position:absolute;width:100%;height:100%}.emu-dialog-container{margin:auto;left:0px;right:0px;top:0px;bottom:0px;position:absolute;height:calc(100% - 120px);padding:10px 30px 10px 5px;top:0px;bottom:unset;overflow:hidden;overflow-y:auto;font-size:0.625rem;text-align:center;word-wrap:break-word;word-break:break-all;background-color:#4a4845}.emu-dialog-footer{position:absolute;bottom:unset;height:60px;text-align:center;left:0px;top:calc(100% - 100px);right:0px;display:flex;justify-content:center;align-items:center}.emu-dialog-btn{display:block;background-image:linear-gradient(0deg, #012a36, #0089ff);border:1px dashed #9bff00;border-radius:5px;margin:2px 5px;color:#fff;font-size:1rem;padding:6px}.emu-dialog-item-cache h3,.emu-dialog-item-cache h6{margin:0px 0px 5px;display:inline-block;background-image:linear-gradient(180deg, #007cfb, #024bf7);padding:3px;border-radius:5px;color:#fff}.emu-dialog-item-cache p{color:#000;margin:0px 0px 0px;padding:0px}.emu-dialog-item-cache p+p{margin-top:5px}.emu-dialog-item-cache ul button{color:#000;padding:1px 3px;font-size:0.625rem;border-radius:5px;background:#d1b840;border:1px dashed #ff7c08}.emu-dialog-item-cache ul button+button{margin-left:10px}.emu-dialog-item-cache ul>li{text-align:left}.emu-dialog-item-cache ul>li+li{margin-top:5px}.emu-dialog-item-cache .fspath,.emu-dialog-item-cache h6+ul{background:#7a7a7a;padding:5px}.emu-dialog-item-cache .fspath li,.emu-dialog-item-cache h6+ul li{color:#000;display:flex;justify-content:space-between;flex-wrap:wrap;align-items:center;flex-direction:row}.emu-dialog-item-cache .fspath li:hover,.emu-dialog-item-cache h6+ul li:hover{background-color:#fff}.emu-dialog-item-cache .fspath li+li,.emu-dialog-item-cache h6+ul li+li{border-top:1px dashed #ccc;padding-top:5px;margin:10px}.emu-dialog-item-cache .fspath+h3,.emu-dialog-item-cache h6+ul+h3{margin-top:5px}.emu-dialog-item-cache .fspath p+p{background:#d9b073;padding:0px 2px;border-radius:5px}.emu-dialog-item-cache h6{color:#04ff00}.emu-dialog-container-cheat textarea{width:100%;height:70%}.emu-dialog-container-cheat p{text-align:center}.emu-dialog-container-cheat .emu-dialog-btn{margin:auto}.ajaxWindow{position:fixed;margin:auto;left:0px;right:0px;top:0px;bottom:0px;width:100%;height:100%;z-index:9999;background-color:#0000006b} \ No newline at end of file diff --git a/assets/Mobile/webretro.scss b/assets/Mobile/webretro.scss new file mode 100644 index 00000000..84253001 --- /dev/null +++ b/assets/Mobile/webretro.scss @@ -0,0 +1,777 @@ +@mixin poscenter { + margin: auto; + left: 0px; + right: 0px; + top: 0px; + bottom: 0px; +} +img{ + max-width: 100%; +} +body{ + padding: 0px; + margin: 0px; +} +.emu-container{ + @include poscenter(); + background-color: #000; + --aspect-hw:0.5; + --aspect-wh:1; + --width:100%; + --height:100%; + user-select: none; + touch-action: none; + overflow: hidden; + &:not([class~="emu-zh-hans"]){ + #emu-logo{ + display: none; + } + } +} +.emu-welcome{ + padding: 5px; + color: #fff; + overflow: hidden; + overflow-y: auto; + position: absolute; + @include poscenter(); +} +#emu-logo{ + width: 150px; + margin: 0px calc(50% - 75px); +} +#emu-welcome-result{ + + font-size: .625rem; + word-break: break-word; + white-space: pre-wrap; +} +.emu-core-ul{ + padding: 15px; + margin: 5px 15px; + list-style: none; + display: flex; + flex-wrap: wrap; + justify-content: center; + align-items: center; +} +.emu-core-item{ + margin: 15px 5px; + width: 120px; + text-align: center; + border: 1px dashed #ff7916; + border-radius: 5px; + padding: 5px 0px; +} +.emu-core-img{ + vertical-align: middle; + width: 30px; + background-color: #fff; + border-radius: 5px; + pointer-events: none; +} +.emu-core-sys{ + padding: 0px; + margin: 0px; + pointer-events: none; +} +.emu-core-name{ + padding: 0px; + margin: 0px; + font-size: .625rem; + pointer-events: none; +} +.emu-game-start{ + display: block; + margin: 0px auto; + background-image: linear-gradient(0deg, #0547ff, #47afe1); + color: #fff; + border: 1px solid; + border-radius: 5px; + padding: 10px 15px; + font-size: 2rem; +} +.emu-screen{ + position: absolute; + text-align: center; + left: 0px; + right: 0px; + bottom: 0px; + top: 0px; + canvas{ + max-width: 100% !important; + max-height: 100% !important; + width: 100% !important; + user-select: none; + touch-action: none; + margin: auto; + @media screen and (orientation: portrait) and (max-width: 666px) { + height:min(var(--height),calc(var(--width) * var(--aspect-hw))) !important; + } + @media screen and (orientation: landscape) and (min-width: 667px) { + height:var(--height) !important; + } + } +} +.emu-controls{ + position: absolute; + z-index: 2; + @media screen and (orientation: portrait) and (max-width: 666px) { + bottom:calc((var(--height) - 300px - min(var(--height),calc(var(--width) * var(--aspect-hw)))) /2 ); + width: 100%; + height: 300px; + } + @media screen and (orientation: landscape) and (min-width: 667px) { + @include poscenter(); + .emu-dpad,.emu-xyab,.emu-joystick{ + top: 0; + bottom: 0; + margin: auto; + } + button{ + background-color: #0000003b; + } + } + +} +.emu-dpad{ + display: flex; + width: 180px; + height: 180px; + align-items: stretch; + justify-content: flex-start; + flex-wrap: wrap; + position: absolute; + left: 5px; + top:60px; +} +.emu-dp-btn{ + position: relative; + background: transparent; + outline: none; + border: 1px solid #ffffffa8; + border-radius: 5px; + padding: 0px; + overflow: hidden; + &[data-key]::before{ + content: ""; + @include poscenter(); + background-color: #ffffffa8; + clip-path: path('M 5 0 \ L0 10 \L 10 10 Z'); + width: 10px; + height: 10px; + position: absolute; + } + &.active::before{ + background-color: #ffd001; + } + &:not([data-key*=',']){ + width:calc(100% / 3); + height:calc(100% / 3); + } + &[data-key*=',']{ + width:calc(100% / 3 - 20%); + height:calc(100% / 3 - 20%); + margin:10%; + border-color: transparent; + } + &[data-key='left,up']{ + order: 1; + &::before{ + transform: rotate(-45deg); + } + } + &[data-key='up']{ + order: 2; + } + &[data-key='right,up']{ + order: 3; + &::before{ + transform: rotate(45deg); + } + } + &[data-key=left]{ + order: 4; + &::before{ + transform: rotate(-90deg); + } + } + &:not([data-key]){ + order: 5; + border-color: transparent; + } + &[data-key=right]{ + order: 6; + &::before{ + transform: rotate(90deg); + } + } + &[data-key='left,down']{ + order: 7; + &::before{ + transform: rotate(-135deg); + } + } + + &[data-key=down]{ + order: 8; + &::before{ + transform: rotate(-180deg); + } + } + + &[data-key='right,down']{ + order: 9; + &::before{ + transform: rotate(135deg); + } + } +} +.emu-xyab{ + display: flex; + width: 150px; + height: 150px; + align-items: stretch; + justify-content: flex-start; + flex-wrap: wrap; + position: absolute; + right: 5px; + top:60px; +} +.emu-ab-btn{ + position: relative; + background: transparent; + outline: none; + border: 1px solid #ffffffa8; + border-radius: 50%; + padding: 0px; + overflow: hidden; + width:25%; + height:25%; + margin-top: calc(25% / 6); + margin-bottom: calc(25% / 6); + color: #fff; + font-size: 24px; + &.active{ + color: #ffd001; + } + &:first-child[data-key=a]{ + order: 1; + width:calc(100% / 3); + height:calc(100% / 3); + margin-top: calc(100% / 9); + margin-left: calc(100% / 1.6); + margin-right: unset; + + .emu-ab-btn{ + order: 2; + width:calc(100% / 3); + height:calc(100% / 3); + margin-left: calc(100% / 5); + } + } + &[data-key=y]{ + order: 1; + margin-left: calc(100% / 3 + 25% / 6); + margin-right: calc(100% / 3 + 25% / 6); + } + &[data-key=x]{ + order: 2; + margin-left: calc(25% / 6); + margin-right: calc(100% / 3 + 25% / 6); + &:not([hidden]){ + ~ .emu-ab-btn[data-key=a]{ + order: 4; + margin-top: calc(25% / 6); + margin-left: calc(100% / 3 + 25% / 6); + margin-right: calc(100% / 3 + 25% / 6); + } + ~ .emu-ab-btn[data-key=b]{ + order: 3; + margin-left: calc(25% / 6); + margin-right: calc(25% / 6); + } + } + } +} +.emu-lr-btn{ + background: transparent; + outline: none; + border: 1px solid #ffffffa8; + border-radius: 5px; + padding: 0px; + overflow: hidden; + width: 50px; + color: #fff; + font-size: 1rem; + padding: 2px; + text-align: center; + top: 5px; + position: absolute; + &.active{ + color: #ffd001; + } + &[data-key=l]{ + left: 5px; + } + &[data-key=r]{ + right: 5px; + } + +} +.emu-ss-btn{ + background: transparent; + outline: none; + border: 1px solid #ffffffa8; + border-radius: 5px; + padding: 0px; + overflow: hidden; + width: 70px; + color: #fff; + font-size: 0.625rem; + padding: 2px 5px; + text-align: center; + top: 5px; + position: absolute; + top:260px; + &.active{ + color: #ffd001; + } + &[data-key=select],&[data-key=l2]{ + right: calc(50% + 10px); + } + &[data-key=start]{ + left:calc(50% + 10px); + } + @media screen and (orientation: landscape) and (min-width: 667px) { + top: unset; + bottom: 20px; + &[data-key=select],&[data-key=l2]{ + right:unset; + left: 40px; + } + &[data-key=start]{ + left:unset; + right: 40px; + } + } + +} +.emu-sys-n64{ + .emu-dpad{ + width: 90px; + height: 90px; + top: calc(50% - 115px); + bottom: unset; + @media screen and (orientation: portrait) and (max-width: 666px) { + left: 110px; + } + } + .emu-joystick{ + top: calc(50% - 10px); + left: 15px; + bottom: unset; + } + .emu-xyab{ + button{ + font-size: .625rem; + } + } + +} +.emu-joystick{ + width: 90px; + height: 90px; + position: absolute; + left: 5px; + top: 60px; +} +.emu-settings{ + &.active{ + @include poscenter(); + position: absolute; + z-index: 10; + pointer-events: auto; + background-color:#000000d1; + .emu-settings-icon{ + transform: rotate(45deg); + &:before { + top: 0; + transform: rotate(-90deg); + } + + &:after { + bottom: 0; + opacity: 0; + } + } + } + &:not([class~="active"]){ + .emu-settings-ctrls{ + right: -100vw; + transform: translateX(100%); + } + .emu-settings-popup{ + transform: translateX(300%); + } + } +} +.emu-settings-btn{ + position: absolute; + z-index: 11; + left: calc(var(--width) * 0.5 - 14px); + top: 5px;border:none; + border-radius: 5px; + padding: 5px 5px 7px; + pointer-events: auto; + background-color: #abaaaa33; + outline: none; +} +.emu-settings-icon { + color: #1e293b; + border-color: #0000001a; + height: 2px; + width: 1.25em; + background: #ffffff54; + border-radius: 10px; + position: relative; + display: inline-block; + vertical-align: middle; + transition: all .3s; + &:after, + &:before { + content: ""; + display: block; + height: inherit; + width: inherit; + border-radius: inherit; + background: inherit; + position: absolute; + left: 0; + transition: inherit; + } + + &:before { + top: -.45em; + } + + &:after { + bottom: -.45em; + } +} +.emu-settings-ctrls{ + @include poscenter(); + position: absolute; + height: 300px; + width: 300px; + display: flex; + flex-wrap: wrap; + justify-content: space-around; + align-items: center; + align-content: center; + overflow: hidden; + overflow-y: auto; + word-break: break-word; + transition: transform .3s; +} +.emu-settings-menu-item{ + + width: 40%; + margin: 5px 5%; + background-color: #ffffffb3; + border: 1px solid #ff7d01; + border-radius: 5px; + font-size: 1rem; +} +.emu-settings-menu-autoSaves.active{ + background-color: #0547ff; + color: #fff; +} +.emu-settings-popup{ + position: absolute; + right: 10px; + bottom: 30px; + max-height: 80vh; + z-index: 999; + overflow: hidden; + overflow-y: auto; +} +.emu-spopup-container{ + position: relative; + transition: all .3s; + border: 1px dashed #929292; + border-radius: 5px; + background-color: #202020; +} +.emu-spopup-item{ + flex-wrap: wrap; + flex-direction: column; + align-content: space-between; + justify-content: flex-start; + align-items: stretch; + display: none; + &.active{ + display: flex; + } + &.position{ + display: flex; + position: absolute; + transform: translateX(600%); + } +} +.emu-spopup-item-title{ + margin: 0px; + padding: 6px; + text-align: center; + border-bottom: 1px dashed #929292; + color: #fff; + background-color: #2e2e2e; +} +.emu-spopup-btn{ + display: flex; + flex-wrap: nowrap; + flex-direction: row; + justify-content: space-between; + align-items: center; + background-color: transparent; + outline: none; + border: none; + color: #fff; + padding: 5px; + margin: 5px; + min-width:130px; + border-bottom: 1px dashed #929292; + &:last-child{ + border-bottom-color: transparent; + } +} +.emu-spopup-span-key{ + font-size: 1rem; +} +.emu-spopup-span-value{ + font-size: .625rem; +} +.emu-resume{ + @include poscenter(); + position:absolute; + background-color: #00000096; + z-index: 9; + &:not([hidden]){ + &~.emu-settings,&~.emu-controls,&~.emu-dialog{ + display: none !important; + } + } +} +.emu-resume-txt{ + @include poscenter(); + position:absolute; + text-align: center; + width: 100%; + height: 60px; + color: #fff; + +} +.emu-wel-game,.emu-wel-bios,.emu-wel-roms{ + margin: 0px; + padding: 10px; +} +.emu-wel-menu{ + display: flex; + flex-direction: row; + flex-wrap: wrap; + justify-content: space-around; + align-items: center; + padding: 15px; +} + +.emu-wel-li{ + display: flex; + justify-content: space-around; + flex-wrap: wrap; + flex-direction: row; + align-items: center; +} +.emu-wel-p{ + margin: 0px; + font-size: 1rem; + background: #48443e; + padding: 2px 5px; +} +.emu-wel-btn{ + display: block; + background-image: linear-gradient(0deg, #012a36, #0089ff); + border: 1px dashed #9bff00; + border-radius: 5px; + padding: 3px 6px; + color: #fff; + +} +.emu-wel-menu-btn{ + margin: 10px; +} +.emu-dialog{ + @include poscenter(); + position: absolute; + width: 100%; + height: 100%; + transform: translateX(200%); + transition: all .2s; + background: #000000d1; + z-index: 12; + color: #fff; + &.active{ + transform: translateX(0%); + } +} +.emu-dialog-item{ + @include poscenter(); + position: absolute; + width: 100%; + height: 100%; +} +.emu-dialog-container{ + @include poscenter(); + position: absolute; + height: calc(100% - 120px); + padding: 10px 30px 10px 5px; + top:0px; + bottom: unset; + overflow: hidden; + overflow-y: auto; + font-size: .625rem; + text-align: center; + word-wrap: break-word; + word-break: break-all; + background-color: #4a4845; + +} +.emu-dialog-footer{ + position: absolute; + bottom: 50px; + height: 60px; + text-align: center; + left: 0px; + top: unset; + right: 0px; + display: flex; + justify-content: center; + align-items: center; +} +.emu-dialog-btn{ + display: block; + background-image: linear-gradient(0deg, #012a36, #0089ff); + border: 1px dashed #9bff00; + border-radius: 5px; + padding: 3px 6px; + margin: 2px 5px; + color: #fff; +} +.emu-dialog-item-cache{ + h3, + h6 { + margin: 0px 0px 5px; + display: inline-block; + background-image: linear-gradient(180deg, #007cfb, #024bf7); + padding: 3px; + border-radius: 5px; + color: #fff; + } + + p { + color: #000; + margin: 0px 0px 0px; + padding: 0px; + + +p { + margin-top: 5px; + } + } + + ul { + button { + color: #000; + padding: 1px 3px; + font-size: 0.625rem; + border-radius: 5px; + background: #d1b840; + border: 1px dashed #ff7c08; + + +button { + margin-left: 10px; + } + } + + >li { + text-align: left; + + +li { + margin-top: 5px; + } + } + } + + .fspath, + h6+ul { + background: #7a7a7a; + padding: 5px; + + li { + color: #000; + display: flex; + justify-content: space-between; + flex-wrap: wrap; + align-items: center; + flex-direction: row; + + &:hover { + background-color: #fff; + } + + +li { + border-top: 1px dashed #ccc; + padding-top: 5px; + margin: 10px; + } + } + + +h3 { + margin-top: 5px; + } + } + + .fspath { + p { + +p { + background: #d9b073; + padding: 0px 2px; + border-radius: 5px; + } + } + } + + h6 { + color: #04ff00; + } +} +.emu-dialog-container-cheat{ + textarea{ + width: 100%; + height: 70%; + } + p{ + text-align: center; + } + .emu-dialog-btn{ + + margin: auto; + } + +} + +.ajaxWindow{ + position: fixed; + @include poscenter(); + width: 100%; + height: 100%; + z-index: 9999; + background-color: #0000006b; +} \ No newline at end of file diff --git a/assets/Mobile/zan.jpg b/assets/Mobile/zan.jpg new file mode 100644 index 00000000..93a8fd29 Binary files /dev/null and b/assets/Mobile/zan.jpg differ diff --git a/assets/Mobile/zip.min.js b/assets/Mobile/zip.min.js new file mode 100644 index 00000000..844d7a47 --- /dev/null +++ b/assets/Mobile/zip.min.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).zip={})}(this,(function(e){"use strict";const{Array:t,Object:n,String:r,Number:s,BigInt:i,Math:a,Date:o,Map:c,Set:l,Response:u,URL:f,Error:d,Uint8Array:w,Uint16Array:h,Uint32Array:p,DataView:g,Blob:m,Promise:y,TextEncoder:b,TextDecoder:S,document:k,crypto:z,btoa:x,TransformStream:v,ReadableStream:C,WritableStream:_,CompressionStream:D,DecompressionStream:F,navigator:R,Worker:E}="undefined"!=typeof globalThis?globalThis:this||self,I=4294967295,A=65535,T=67324752,H=134695760,O=H,U=33639248,N=101010256,W=101075792,q=117853008,L=22,M=39169,P=21589,V=2048,B="/",K=new o(2107,11,31),Y=new o(1980,0,1),Z=void 0,X="undefined",G="function";class j{constructor(e){return class extends v{constructor(t,n){const r=new e(n);super({transform(e,t){t.enqueue(r.append(e))},flush(e){const t=r.flush();t&&e.enqueue(t)}})}}}}let J=2;try{typeof R!=X&&R.hardwareConcurrency&&(J=R.hardwareConcurrency)}catch(e){}const Q={chunkSize:524288,maxWorkers:J,terminateWorkerTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,workerScripts:Z,CompressionStreamNative:typeof D!=X&&D,DecompressionStreamNative:typeof F!=X&&F},$=n.assign({},Q);function ee(){return $}function te(e){return a.max(e.chunkSize,64)}function ne(e){const{baseURL:n,chunkSize:r,maxWorkers:s,terminateWorkerTimeout:i,useCompressionStream:a,useWebWorkers:o,Deflate:c,Inflate:l,CompressionStream:u,DecompressionStream:f,workerScripts:w}=e;if(re("baseURL",n),re("chunkSize",r),re("maxWorkers",s),re("terminateWorkerTimeout",i),re("useCompressionStream",a),re("useWebWorkers",o),c&&($.CompressionStream=new j(c)),l&&($.DecompressionStream=new j(l)),re("CompressionStream",u),re("DecompressionStream",f),w!==Z){const{deflate:e,inflate:n}=w;if((e||n)&&($.workerScripts||($.workerScripts={})),e){if(!t.isArray(e))throw new d("workerScripts.deflate must be an array");$.workerScripts.deflate=e}if(n){if(!t.isArray(n))throw new d("workerScripts.inflate must be an array");$.workerScripts.inflate=n}}}function re(e,t){t!==Z&&($[e]=t)}function se(e,t,r){return class{constructor(s){const i=this;n.hasOwn(s,"level")&&void 0===s.level&&delete s.level,i.codec=new e(n.assign({},t,s)),r(i.codec,(e=>{if(i.pendingData){const t=i.pendingData;i.pendingData=new w(t.length+e.length);const{pendingData:n}=i;n.set(t,0),n.set(e,t.length)}else i.pendingData=new w(e)}))}append(e){return this.codec.push(e),s(this)}flush(){return this.codec.push(new w,!0),s(this)}};function s(e){if(e.pendingData){const t=e.pendingData;return e.pendingData=null,t}return new w}}const ie=[];for(let e=0;e<256;e++){let t=e;for(let e=0;e<8;e++)1&t?t=t>>>1^3988292384:t>>>=1;ie[e]=t}class ae{constructor(e){this.crc=e||-1}append(e){let t=0|this.crc;for(let n=0,r=0|e.length;n >>8^ie[255&(t^e[n])];this.crc=t}get(){return~this.crc}}class oe extends v{constructor(){const e=new ae;super({transform(t){e.append(t)},flush(t){const n=new w(4);new g(n.buffer).setUint32(0,e.get()),t.enqueue(n)}})}}function ce(e){if(void 0===b){e=unescape(encodeURIComponent(e));const t=new w(e.length);for(let n=0;n 0&&t&&(e[n-1]=le.partial(t,e[n-1]&2147483648>>t-1,1)),e},partial:(e,t,n)=>32===e?t:(n?0|t:t<<32-e)+1099511627776*e,getPartial:e=>a.round(e/1099511627776)||32,_shiftRight(e,t,n,r){for(void 0===r&&(r=[]);t>=32;t-=32)r.push(n),n=0;if(0===t)return r.concat(e);for(let s=0;s >>t),n=e[s]<<32-t;const s=e.length?e[e.length-1]:0,i=le.getPartial(s);return r.push(le.partial(t+i&31,t+i>32?n:r.pop(),1)),r}},ue={bytes:{fromBits(e){const t=le.bitLength(e)/8,n=new w(t);let r;for(let s=0;s >>24,r<<=8;return n},toBits(e){const t=[];let n,r=0;for(n=0;n 9007199254740991)throw new d("Cannot hash more than 2^53 - 1 bits");const i=new p(n);let a=0;for(let e=t.blockSize+r-(t.blockSize+r&t.blockSize-1);e<=s;e+=t.blockSize)t._block(i.subarray(16*a,16*(a+1))),a+=1;return n.splice(0,16*a),t}finalize(){const e=this;let t=e._buffer;const n=e._h;t=le.concat(t,[le.partial(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(a.floor(e._length/4294967296)),t.push(0|e._length);t.length;)e._block(t.splice(0,16));return e.reset(),n}_f(e,t,n,r){return e<=19?t&n|~t&r:e<=39?t^n^r:e<=59?t&n|t&r|n&r:e<=79?t^n^r:void 0}_S(e,t){return t< >>32-e}_block(e){const n=this,r=n._h,s=t(80);for(let t=0;t<16;t++)s[t]=e[t];let i=r[0],o=r[1],c=r[2],l=r[3],u=r[4];for(let e=0;e<=79;e++){e>=16&&(s[e]=n._S(1,s[e-3]^s[e-8]^s[e-14]^s[e-16]));const t=n._S(5,i)+n._f(e,o,c,l)+u+s[e]+n._key[a.floor(e/20)]|0;u=l,l=c,c=n._S(30,o),o=i,i=t}r[0]=r[0]+i|0,r[1]=r[1]+o|0,r[2]=r[2]+c|0,r[3]=r[3]+l|0,r[4]=r[4]+u|0}}},de={aes:class{constructor(e){const t=this;t._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],t._tables[0][0][0]||t._precompute();const n=t._tables[0][4],r=t._tables[1],s=e.length;let i,a,o,c=1;if(4!==s&&6!==s&&8!==s)throw new d("invalid aes key size");for(t._key=[a=e.slice(0),o=[]],i=s;i<4*s+28;i++){let e=a[i-1];(i%s==0||8===s&&i%s==4)&&(e=n[e>>>24]<<24^n[e>>16&255]<<16^n[e>>8&255]<<8^n[255&e],i%s==0&&(e=e<<8^e>>>24^c<<24,c=c<<1^283*(c>>7))),a[i]=a[i-s]^e}for(let e=0;i;e++,i--){const t=a[3&e?i:i-4];o[e]=i<=4||e<4?t:r[0][n[t>>>24]]^r[1][n[t>>16&255]]^r[2][n[t>>8&255]]^r[3][n[255&t]]}}encrypt(e){return this._crypt(e,0)}decrypt(e){return this._crypt(e,1)}_precompute(){const e=this._tables[0],t=this._tables[1],n=e[4],r=t[4],s=[],i=[];let a,o,c,l;for(let e=0;e<256;e++)i[(s[e]=e<<1^283*(e>>7))^e]=e;for(let u=a=0;!n[u];u^=o||1,a=i[a]||1){let i=a^a<<1^a<<2^a<<3^a<<4;i=i>>8^255&i^99,n[u]=i,r[i]=u,l=s[c=s[o=s[u]]];let f=16843009*l^65537*c^257*o^16843008*u,d=257*s[i]^16843008*i;for(let n=0;n<4;n++)e[n][u]=d=d<<24^d>>>8,t[n][i]=f=f<<24^f>>>8}for(let n=0;n<5;n++)e[n]=e[n].slice(0),t[n]=t[n].slice(0)}_crypt(e,t){if(4!==e.length)throw new d("invalid aes block size");const n=this._key[t],r=n.length/4-2,s=[0,0,0,0],i=this._tables[t],a=i[0],o=i[1],c=i[2],l=i[3],u=i[4];let f,w,h,p=e[0]^n[0],g=e[t?3:1]^n[1],m=e[2]^n[2],y=e[t?1:3]^n[3],b=4;for(let e=0;e >>24]^o[g>>16&255]^c[m>>8&255]^l[255&y]^n[b],w=a[g>>>24]^o[m>>16&255]^c[y>>8&255]^l[255&p]^n[b+1],h=a[m>>>24]^o[y>>16&255]^c[p>>8&255]^l[255&g]^n[b+2],y=a[y>>>24]^o[p>>16&255]^c[g>>8&255]^l[255&m]^n[b+3],b+=4,p=f,g=w,m=h;for(let e=0;e<4;e++)s[t?3&-e:e]=u[p>>>24]<<24^u[g>>16&255]<<16^u[m>>8&255]<<8^u[255&y]^n[b++],f=p,p=g,g=m,m=y,y=f;return s}}},we={getRandomValues(e){const t=new p(e.buffer),n=e=>{let t=987654321;const n=4294967295;return function(){t=36969*(65535&t)+(t>>16)&n;return(((t<<16)+(e=18e3*(65535&e)+(e>>16)&n)&n)/4294967296+.5)*(a.random()>.5?1:-1)}};for(let r,s=0;s >24&255)){let t=e>>16&255,n=e>>8&255,r=255&e;255===t?(t=0,255===n?(n=0,255===r?r=0:++r):++n):++t,e=0,e+=t<<16,e+=n<<8,e+=r}else e+=1<<24;return e}incCounter(e){0===(e[0]=this.incWord(e[0]))&&(e[1]=this.incWord(e[1]))}calculate(e,t,n){let r;if(!(r=t.length))return[];const s=le.bitLength(t);for(let s=0;s new pe.hmacSha1(ue.bytes.toBits(e)),pbkdf2(e,t,n,r){if(n=n||1e4,r<0||n<0)throw new d("invalid params to pbkdf2");const s=1+(r>>5)<<2;let i,a,o,c,l;const u=new ArrayBuffer(s),f=new g(u);let w=0;const h=le;for(t=ue.bytes.toBits(t),l=1;w<(s||1);l++){for(i=a=e.encrypt(h.concat(t,[l])),o=1;o s&&(e=(new n).update(e).finalize());for(let t=0;t this.resolveReady=e)),password:e,signed:t,strength:r-1,pending:new w})},async transform(e,t){const n=this,{password:r,strength:s,resolveReady:i,ready:a}=n;r?(await async function(e,t,n,r){const s=await Ve(e,t,n,Ke(r,0,Ce[t])),i=Ke(r,Ce[t]);if(s[0]!=i[0]||s[1]!=i[1])throw new d(me)}(n,s,r,Ke(e,0,Ce[s]+2)),e=Ke(e,Ce[s]+2),i()):await a;const o=new w(e.length-De-(e.length-De)%Se);t.enqueue(Pe(n,e,o,0,De,!0))},async flush(e){const{signed:t,ctr:n,hmac:r,pending:s,ready:i}=this;await i;const a=Ke(s,0,s.length-De),o=Ke(s,s.length-De);let c=new w;if(a.length){const e=Ze(He,a);r.update(e);const t=n.update(e);c=Ye(He,t)}if(t){const e=Ke(Ye(He,r.digest()),0,De);for(let t=0;tthis.resolveReady=e)),password:e,strength:t-1,pending:new w})},async transform(e,t){const n=this,{password:r,strength:s,resolveReady:i,ready:a}=n;let o=new w;r?(o=await async function(e,t,n){const r=be(new w(Ce[t])),s=await Ve(e,t,n,r);return Be(r,s)}(n,s,r),i()):await a;const c=new w(o.length+e.length-e.length%Se);c.set(o,0),t.enqueue(Pe(n,e,c,o.length,0))},async flush(e){const{ctr:t,hmac:n,pending:s,ready:i}=this;await i;let a=new w;if(s.length){const e=t.update(Ze(He,s));n.update(e),a=Ye(He,e)}r.signature=Ye(He,n.digest()).slice(0,De),e.enqueue(Be(a,r.signature))}}),r=this}}function Pe(e,t,n,r,s,i){const{ctr:a,hmac:o,pending:c}=e,l=t.length-s;let u;for(c.length&&(t=Be(c,t),n=function(e,t){if(t&&t>e.length){const n=e;(e=new w(t)).set(n,0)}return e}(n,l-l%Se)),u=0;u<=l-Se;u+=Se){const e=Ze(He,Ke(t,u,u+Se));i&&o.update(e);const s=a.update(e);i||o.update(s),n.set(Ye(He,s),u+r)}return e.pending=Ke(t,u),n}async function Ve(e,r,s,i){e.password=null;const a=ce(s),o=await async function(e,t,n,r,s){if(!We)return pe.importKey(t);try{return await Ae.importKey(e,t,n,r,s)}catch(e){return We=!1,pe.importKey(t)}}("raw",a,ze,!1,ve),c=await async function(e,t,n){if(!qe)return pe.pbkdf2(t,e.salt,xe.iterations,n);try{return await Ae.deriveBits(e,t,n)}catch(r){return qe=!1,pe.pbkdf2(t,e.salt,xe.iterations,n)}}(n.assign({salt:i},xe),o,8*(2*_e[r]+2)),l=new w(c),u=Ze(He,Ke(l,0,_e[r])),f=Ze(He,Ke(l,_e[r],2*_e[r])),d=Ke(l,2*_e[r]);return n.assign(e,{keys:{key:u,authentication:f,passwordVerification:d},ctr:new Ue(new Oe(u),t.from(Fe)),hmac:new Ne(f)}),d}function Be(e,t){let n=e;return e.length+t.length&&(n=new w(e.length+t.length),n.set(e,0),n.set(t,e.length)),n}function Ke(e,t,n){return e.subarray(t,n)}function Ye(e,t){return e.fromBits(t)}function Ze(e,t){return e.toBits(t)}const Xe=12;class Ge extends v{constructor({password:e,passwordVerification:t}){super({start(){n.assign(this,{password:e,passwordVerification:t}),$e(this,e)},transform(e,t){const n=this;if(n.password){const t=Je(n,e.subarray(0,Xe));if(n.password=null,t[11]!=n.passwordVerification)throw new d(me);e=e.subarray(Xe)}t.enqueue(Je(n,e))}})}}class je extends v{constructor({password:e,passwordVerification:t}){super({start(){n.assign(this,{password:e,passwordVerification:t}),$e(this,e)},transform(e,t){const n=this;let r,s;if(n.password){n.password=null;const t=be(new w(Xe));t[11]=n.passwordVerification,r=new w(e.length+t.length),r.set(Qe(n,t),0),s=Xe}else r=new w(e.length),s=0;r.set(Qe(n,e),s),t.enqueue(r)}})}}function Je(e,t){const n=new w(t.length);for(let r=0;r >>24]),s=~e.crcKey2.get(),e.keys=[n,r,s]}function tt(e){const t=2|e.keys[2];return nt(a.imul(t,1^t)>>>8)}function nt(e){return 255&e}function rt(e){return 4294967295&e}const st="deflate-raw";class it extends v{constructor(e,{chunkSize:t,CompressionStream:n,CompressionStreamNative:r}){super({});const{compressed:s,encrypted:i,useCompressionStream:a,zipCrypto:o,signed:c,level:l}=e,u=this;let f,d,w=ot(super.readable);i&&!o||!c||([w,f]=w.tee(),f=ut(f,new oe)),s&&(w=lt(w,a,{level:l,chunkSize:t},r,n)),i&&(o?w=ut(w,new je(e)):(d=new Me(e),w=ut(w,d))),ct(u,w,(async()=>{let e;i&&!o&&(e=d.signature),i&&!o||!c||(e=await f.getReader().read(),e=new g(e.value.buffer).getUint32(0)),u.signature=e}))}}class at extends v{constructor(e,{chunkSize:t,DecompressionStream:n,DecompressionStreamNative:r}){super({});const{zipCrypto:s,encrypted:i,signed:a,signature:o,compressed:c,useCompressionStream:l}=e;let u,f,w=ot(super.readable);i&&(s?w=ut(w,new Ge(e)):(f=new Le(e),w=ut(w,f))),c&&(w=lt(w,l,{chunkSize:t},r,n)),i&&!s||!a||([w,u]=w.tee(),u=ut(u,new oe)),ct(this,w,(async()=>{if((!i||s)&&a){const e=await u.getReader().read(),t=new g(e.value.buffer);if(o!=t.getUint32(0,!1))throw new d(ye)}}))}}function ot(e){return ut(e,new v({transform(e,t){e&&e.length&&t.enqueue(e)}}))}function ct(e,t,r){t=ut(t,new v({flush:r})),n.defineProperty(e,"readable",{get:()=>t})}function lt(e,t,n,r,s){try{e=ut(e,new(t&&r?r:s)(st,n))}catch(r){if(!t)throw r;e=ut(e,new s(st,n))}return e}function ut(e,t){return e.pipeThrough(t)}const ft="start",dt="pull",wt="data",ht="close",pt="deflate",gt="inflate";class mt extends v{constructor(e,t){super({});const r=this,{codecType:s}=e;let i;s.startsWith(pt)?i=it:s.startsWith(gt)&&(i=at);let a=0;const o=new i(e,t),c=super.readable,l=new v({transform(e,t){e&&e.length&&(a+=e.length,t.enqueue(e))},flush(){const{signature:e}=o;n.assign(r,{signature:e,size:a})}});n.defineProperty(r,"readable",{get:()=>c.pipeThrough(o).pipeThrough(l)})}}const yt=typeof E!=X;class bt{constructor(e,{readable:t,writable:r},{options:s,config:i,streamOptions:a,useWebWorkers:o,transferStreams:c,scripts:l},u){const{signal:f}=a;return n.assign(e,{busy:!0,readable:t.pipeThrough(new St(t,a,i),{signal:f}),writable:r,options:n.assign({},s),scripts:l,transferStreams:c,terminate(){const{worker:t,busy:n}=e;t&&!n&&(t.terminate(),e.interface=null)},onTaskFinished(){e.busy=!1,u(e)}}),(o&&yt?xt:zt)(e,i)}}class St extends v{constructor(e,{onstart:t,onprogress:n,size:r,onend:s},{chunkSize:i}){let a=0;super({start(){t&&kt(t,r)},async transform(e,t){a+=e.length,n&&await kt(n,a,r),t.enqueue(e)},flush(){e.size=a,s&&kt(s,a)}},{highWaterMark:1,size:()=>i})}}async function kt(e,...t){try{await e(...t)}catch(e){}}function zt(e,t){return{run:()=>async function({options:e,readable:t,writable:n,onTaskFinished:r},s){const i=new mt(e,s);try{await t.pipeThrough(i).pipeTo(n,{preventClose:!0,preventAbort:!0});const{signature:e,size:s}=i;return{signature:e,size:s}}finally{r()}}(e,t)}}function xt(e,{baseURL:t,chunkSize:r}){return e.interface||n.assign(e,{worker:_t(e.scripts[0],t,e),interface:{run:()=>async function(e,t){let r,s;const i=new y(((e,t)=>{r=e,s=t}));n.assign(e,{reader:null,writer:null,resolveResult:r,rejectResult:s,result:i});const{readable:a,options:o,scripts:c}=e,{writable:l,closed:u}=function(e){const t=e.getWriter();let n;const r=new y((e=>n=e));return{writable:new _({async write(e){await t.ready,await t.write(e)},close(){t.releaseLock(),n()},abort:e=>t.abort(e)}),closed:r}}(e.writable);Dt({type:ft,scripts:c.slice(1),options:o,config:t,readable:a,writable:l},e)||n.assign(e,{reader:a.getReader(),writer:l.getWriter()});const f=await i;try{await l.close()}catch(e){}return await u,f}(e,{chunkSize:r})}}),e.interface}let vt=!0,Ct=!0;function _t(e,t,r){const s={type:"module"};let i,a;typeof e==G&&(e=e());try{i=new f(e,t)}catch(t){i=e}if(vt)try{a=new E(i)}catch(e){vt=!1,a=new E(i,s)}else a=new E(i,s);return a.addEventListener("message",(e=>async function({data:e},t){const{type:r,value:s,messageId:i,result:a,error:o}=e,{reader:c,writer:l,resolveResult:u,rejectResult:f,onTaskFinished:h}=t;try{if(o){const{message:e,stack:t,code:r,name:s}=o,i=new d(e);n.assign(i,{stack:t,code:r,name:s}),p(i)}else{if(r==dt){const{value:e,done:n}=await c.read();Dt({type:wt,value:e,done:n,messageId:i},t)}r==wt&&(await l.ready,await l.write(new w(s)),Dt({type:"ack",messageId:i},t)),r==ht&&p(null,a)}}catch(o){p(o)}function p(e,t){e?f(e):u(t),l&&l.releaseLock(),h()}}(e,r))),a}function Dt(e,{worker:t,writer:n,onTaskFinished:r,transferStreams:s}){try{let{value:n,readable:r,writable:i}=e;const a=[];if(n){const{buffer:t,length:r}=n;r!=t.byteLength&&(n=new w(n)),e.value=n.buffer,a.push(e.value)}if(s&&Ct?(r&&a.push(r),i&&a.push(i)):e.readable=e.writable=null,a.length)try{return t.postMessage(e,a),!0}catch(n){Ct=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw n&&n.releaseLock(),r(),e}}let Ft=[];const Rt=[];let Et=0;async function It(e,t){const{options:n,config:r}=t,{transferStreams:i,useWebWorkers:a,useCompressionStream:o,codecType:c,compressed:l,signed:u,encrypted:f}=n,{workerScripts:d,maxWorkers:w,terminateWorkerTimeout:h}=r;t.transferStreams=i||i===Z;const p=!(l||u||f||t.transferStreams);let g;t.useWebWorkers=!p&&(a||a===Z&&r.useWebWorkers),t.scripts=t.useWebWorkers&&d?d[c]:[],n.useCompressionStream=o||o===Z&&r.useCompressionStream;const m=Ft.find((e=>!e.busy));if(m)At(m),g=new bt(m,e,t,b);else if(Ft.length Rt.push({resolve:n,stream:e,workerOptions:t})));return g.run();function b(e){if(Rt.length){const[{resolve:t,stream:n,workerOptions:r}]=Rt.splice(0,1);t(new bt(e,n,r,b))}else e.worker?(At(e),s.isFinite(h)&&h>=0&&(e.terminateTimeout=setTimeout((()=>{Ft=Ft.filter((t=>t!=e)),e.terminate()}),h))):Ft=Ft.filter((t=>t!=e))}}function At(e){const{terminateTimeout:t}=e;t&&(clearTimeout(t),e.terminateTimeout=null)}const Tt="HTTP error ",Ht="HTTP Range not supported",Ot="Writer iterator completed too soon",Ut="GET",Nt="bytes",Wt=65536,qt="writable";class Lt{constructor(){this.size=0}init(){this.initialized=!0}}class Mt extends Lt{get readable(){const e=this,{chunkSize:t=Wt}=e,n=new C({start(){this.chunkOffset=0},async pull(r){const{offset:s=0,size:i,diskNumberStart:o}=n,{chunkOffset:c}=this;r.enqueue(await fn(e,s+c,a.min(t,i-c),o)),c+t>i?r.close():this.chunkOffset+=t}});return n}}class Pt extends Lt{constructor(){super();const e=this,t=new _({write:t=>e.writeUint8Array(t)});n.defineProperty(e,qt,{get:()=>t})}writeUint8Array(){}}class Vt extends Mt{constructor(e){super(),n.assign(this,{blob:e,size:e.size})}async readUint8Array(e,t){const n=this,r=e+t,s=e||r t.writable}),this.blob=new u(t.readable,{headers:r}).blob()}getData(){return this.blob}}class Kt extends Mt{constructor(e,t){super(),Zt(this,e,t)}async init(){super.init(),await Xt(this,nn,Qt)}readUint8Array(e,t){return Gt(this,e,t,nn,Qt)}}class Yt extends Mt{constructor(e,t){super(),Zt(this,e,t)}async init(){super.init(),await Xt(this,rn,$t)}readUint8Array(e,t){return Gt(this,e,t,rn,$t)}}function Zt(e,t,r){const{preventHeadRequest:s,useRangeHeader:i,forceRangeRequests:a}=r;delete(r=n.assign({},r)).preventHeadRequest,delete r.useRangeHeader,delete r.forceRangeRequests,delete r.useXHR,n.assign(e,{url:t,options:r,preventHeadRequest:s,useRangeHeader:i,forceRangeRequests:a})}async function Xt(e,t,n){const{url:r,useRangeHeader:i,forceRangeRequests:a}=e;if(function(e){const{baseURL:t}=ee(),{protocol:n}=new f(e,t);return"http:"==n||"https:"==n}(r)&&(i||a)){const{headers:r}=await t(Ut,e,jt(e));if(!a&&r.get("Accept-Ranges")!=Nt)throw new d(Ht);{let i;const a=r.get("Content-Range");if(a){const e=a.trim().split(/\s*\/\s*/);if(e.length){const t=e[1];t&&"*"!=t&&(i=s(t))}}i===Z?await tn(e,t,n):e.size=i}}else await tn(e,t,n)}async function Gt(e,t,n,r,s){const{useRangeHeader:i,forceRangeRequests:a,options:o}=e;if(i||a){const s=await r(Ut,e,jt(e,t,n));if(206!=s.status)throw new d(Ht);return new w(await s.arrayBuffer())}{const{data:r}=e;return r||await s(e,o),new w(e.data.subarray(t,t+n))}}function jt(e,t=0,r=1){return n.assign({},Jt(e),{Range:"bytes="+t+"-"+(t+r-1)})}function Jt({options:e}){const{headers:t}=e;if(t)return Symbol.iterator in t?n.fromEntries(t):t}async function Qt(e){await en(e,nn)}async function $t(e){await en(e,rn)}async function en(e,t){const n=await t(Ut,e,Jt(e));e.data=new w(await n.arrayBuffer()),e.size||(e.size=e.data.length)}async function tn(e,t,n){if(e.preventHeadRequest)await n(e,e.options);else{const r=(await t("HEAD",e,Jt(e))).headers.get("Content-Length");r?e.size=s(r):await n(e,e.options)}}async function nn(e,{options:t,url:r},s){const i=await fetch(r,n.assign({},t,{method:e,headers:s}));if(i.status<400)return i;throw 416==i.status?new d(Ht):new d(Tt+(i.statusText||i.status))}function rn(e,{url:t},r){return new y(((s,i)=>{const a=new XMLHttpRequest;if(a.addEventListener("load",(()=>{if(a.status<400){const e=[];a.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach((t=>{const n=t.trim().split(/\s*:\s*/);n[0]=n[0].trim().replace(/^[a-z]|-[a-z]/g,(e=>e.toUpperCase())),e.push(n)})),s({status:a.status,arrayBuffer:()=>a.response,headers:new c(e)})}else i(416==a.status?new d(Ht):new d(Tt+(a.statusText||a.status)))}),!1),a.addEventListener("error",(e=>i(e.detail.error)),!1),a.open(e,t),r)for(const e of n.entries(r))a.setRequestHeader(e[0],e[1]);a.responseType="arraybuffer",a.send()}))}class sn extends Mt{constructor(e,t={}){super(),n.assign(this,{url:e,reader:t.useXHR?new Yt(e,t):new Kt(e,t)})}set size(e){}get size(){return this.reader.size}async init(){super.init(),await this.reader.init()}readUint8Array(e,t){return this.reader.readUint8Array(e,t)}}class an extends Mt{constructor(e){super(),this.readers=e}async init(){super.init();const e=this,{readers:t}=e;e.lastDiskNumber=0,await y.all(t.map((async t=>{await t.init(),e.size+=t.size})))}async readUint8Array(e,t,n=0){const r=this,{readers:s}=this;let i,o=n;-1==o&&(o=s.length-1);let c=e;for(;c>=s[o].size;)c-=s[o].size,o++;const l=s[o],u=l.size;if(c+t<=u)i=await fn(l,c,t);else{const s=u-c;i=new w(t),i.set(await fn(l,c,s)),i.set(await r.readUint8Array(e+s,t-s,n),s)}return r.lastDiskNumber=a.max(o,r.lastDiskNumber),i}}class on extends Lt{constructor(e,t=4294967295){super();const r=this;let s,i,a;n.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const o=new _({async write(t){const{availableSize:n}=r;if(a)t.length>=n?(await c(t.slice(0,n)),await l(),r.diskOffset+=s.size,r.diskNumber++,a=null,await this.write(t.slice(n))):await c(t);else{const{value:n,done:o}=await e.next();if(o&&!n)throw new d(Ot);s=n,s.size=0,s.maxSize&&(r.maxSize=s.maxSize),r.availableSize=r.maxSize,await cn(s),i=n.writable,a=i.getWriter(),await this.write(t)}},async close(){await a.ready,await l()}});async function c(e){const t=e.length;t&&(await a.ready,await a.write(e),s.size+=t,r.size+=t,r.availableSize-=t)}async function l(){i.size=s.size,await a.close()}n.defineProperty(r,qt,{get:()=>o})}}async function cn(e,t){e.init&&!e.initialized&&await e.init(t)}function ln(e){return t.isArray(e)&&(e=new an(e)),e instanceof C&&(e={readable:e}),e}function un(e){e.writable===Z&&typeof e.next==G&&(e=new on(e)),e instanceof _&&(e={writable:e});const{writable:t}=e;t.size===Z&&(t.size=0);return e instanceof on||n.assign(e,{diskNumber:0,diskOffset:0,availableSize:1/0,maxSize:1/0}),e}function fn(e,t,n,r){return e.readUint8Array(t,n,r)}const dn=an,wn=on,hn="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split(""),pn=256==hn.length;function gn(e,t){let n=mn(e,t="cp437"==t?void 0:t),r=!t&&function(e){return(new b).encode(e)}(n);if(r&&r.join(",")!=e){let t=mn(e,"gbk");if(n.length<=t.length)return function(e){if(pn){let t="";for(let n=0;n this[t]=e[t]))}}const Wn="File format is not recognized",qn="End of central directory not found",Ln="End of Zip64 central directory not found",Mn="End of Zip64 central directory locator not found",Pn="Central directory header not found",Vn="Local file header not found",Bn="Zip64 extra field not found",Kn="File contains encrypted entry",Yn="Encryption method not supported",Zn="Compression method not supported",Xn="Split zip file",Gn="utf-8",jn="cp437",Jn=[[zn,I],[xn,I],[vn,I],[Cn,A]],Qn={[A]:{getValue:cr,bytes:4},[I]:{getValue:lr,bytes:8}};class $n{constructor(e,t,r){n.assign(this,{reader:e,config:t,options:r})}async getData(e,t,r={}){const s=this,{reader:i,offset:a,diskNumberStart:o,extraFieldAES:c,compressionMethod:l,config:u,bitFlag:f,signature:h,rawLastModDate:p,uncompressedSize:g,compressedSize:m}=s,y=s.localDirectory={},b=ur(await fn(i,a,30,o));let S=rr(s,r,"password");if(S=S&&S.length&&S,c&&99!=c.originalCompressionMethod)throw new d(Zn);if(0!=l&&8!=l)throw new d(Zn);if(cr(b,0)!=T)throw new d(Vn);er(y,b,4),y.rawExtraField=y.extraFieldLength?await fn(i,a+30+y.filenameLength,y.extraFieldLength,o):new w,await tr(s,y,b,4),n.assign(t,{lastAccessDate:y.lastAccessDate,creationDate:y.creationDate});const k=s.encrypted&&y.encrypted,z=k&&!c;if(k){if(!z&&c.strength===Z)throw new d(Yn);if(!S)throw new d(Kn)}const x=a+30+y.filenameLength+y.extraFieldLength,v=i.readable;v.diskNumberStart=o,v.offset=x;const C=v.size=m,_=rr(s,r,"signal");e=un(e),await cn(e,g);const{writable:D}=e,{onstart:F,onprogress:R,onend:E}=r,I={options:{codecType:gt,password:S,zipCrypto:z,encryptionStrength:c&&c.strength,signed:rr(s,r,"checkSignature"),passwordVerification:z&&(f.dataDescriptor?p>>>8&255:h>>>24&255),signature:h,compressed:0!=l,encrypted:k,useWebWorkers:rr(s,r,"useWebWorkers"),useCompressionStream:rr(s,r,"useCompressionStream"),transferStreams:rr(s,r,"transferStreams")},config:u,streamOptions:{signal:_,size:C,onstart:F,onprogress:R,onend:E}};D.size+=(await It({readable:v,writable:D},I)).size;return rr(s,r,"preventClose")||await D.close(),e.getData?e.getData():D}}function er(e,t,r){const s=e.rawBitFlag=or(t,r+2),i=1==(1&s),a=cr(t,r+6);n.assign(e,{encrypted:i,version:or(t,r),bitFlag:{rawBitFlag:s,level:(6&s)>>1,dataDescriptor:8==(8&s),languageEncodingFlag:(s&V)==V},rawLastModDate:a,lastModDate:sr(a),filenameLength:or(t,r+22),extraFieldLength:or(t,r+24)})}async function tr(e,t,r,s){const{rawExtraField:i}=t,a=t.extraField=new c,l=ur(new w(i));let u=0;try{for(;u t[e]==n));for(let s=0,i=0;s {if(e.data.length>=a+4){const c=cr(n,a);t[r]=e[r]=new o(1e3*c);const l=i[s];e[l]=c}a+=4}))}(b,t),t.extraFieldExtendedTimestamp=b)}async function nr(e,t,r,s,i){const a=ur(e.data),o=new ae;o.append(i[r]);const c=ur(new w(4));c.setUint32(0,o.get(),!0),n.assign(e,{version:ar(a,0),signature:cr(a,1),[t]:await gn(e.data.subarray(5)),valid:!i.bitFlag.languageEncodingFlag&&e.signature==cr(c,0)}),e.valid&&(s[t]=e[t],s[t+"UTF8"]=!0)}function rr(e,t,n){return t[n]===Z?e.options[n]:t[n]}function sr(e){const t=(4294901760&e)>>16,n=65535&e;try{return new o(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&n)>>11,(2016&n)>>5,2*(31&n),0)}catch(e){}}function ir(e){return new o(s(e/i(1e4)-i(116444736e5)))}function ar(e,t){return e.getUint8(t)}function or(e,t){return e.getUint16(t,!0)}function cr(e,t){return e.getUint32(t,!0)}function lr(e,t){return s(e.getBigUint64(t,!0))}function ur(e){return new g(e.buffer)}const fr="File already exists",dr="Zip file comment exceeds 64KB",wr="File entry comment exceeds 64KB",hr="File entry name exceeds 64KB",pr="Version exceeds 65535",gr="The strength must equal 1, 2, or 3",mr="Extra field type exceeds 65535",yr="Extra field data exceeds 64KB",br="Zip64 is not supported (make sure 'keepOrder' is set to 'true')",Sr=new w([7,0,2,0,65,69,3,0,0]);let kr=0;const zr=[];async function xr(e,t){const n=e.getWriter();await n.ready,e.size+=Ar(t),await n.write(t),n.releaseLock()}function vr(e){if(e)return(i(e.getTime())+i(116444736e5))*i(1e4)}function Cr(e,t,n,r){const s=t[n]===Z?e.options[n]:t[n];return s===Z?r:s}function _r(e,t,n){e.setUint8(t,n)}function Dr(e,t,n){e.setUint16(t,n,!0)}function Fr(e,t,n){e.setUint32(t,n,!0)}function Rr(e,t,n){e.setBigUint64(t,n,!0)}function Er(e,t,n){e.set(t,n)}function Ir(e){return new g(e.buffer)}function Ar(...e){let t=0;return e.forEach((e=>e&&(t+=e.length))),t}let Tr;try{Tr=void 0===k&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:void 0===k?location.href:k.currentScript&&k.currentScript.src||new f("zip.js",k.baseURI).href}catch(e){}ne({baseURL:Tr}),function(e){const t=()=>f.createObjectURL(new m(['const{Array:e,Object:t,Number:n,Math:r,Error:s,Uint8Array:i,Uint16Array:o,Uint32Array:c,Int32Array:f,Map:a,DataView:l,Promise:u,TextEncoder:w,crypto:h,postMessage:d,TransformStream:p,ReadableStream:y,WritableStream:m,CompressionStream:b,DecompressionStream:g}=self;class k{constructor(e){return class extends p{constructor(t,n){const r=new e(n);super({transform(e,t){t.enqueue(r.append(e))},flush(e){const t=r.flush();t&&e.enqueue(t)}})}}}}const v=[];for(let e=0;256>e;e++){let t=e;for(let e=0;8>e;e++)1&t?t=t>>>1^3988292384:t>>>=1;v[e]=t}class S{constructor(e){this.t=e||-1}append(e){let t=0|this.t;for(let n=0,r=0|e.length;r>n;n++)t=t>>>8^v[255&(t^e[n])];this.t=t}get(){return~this.t}}class z extends p{constructor(){const e=new S;super({transform(t){e.append(t)},flush(t){const n=new i(4);new l(n.buffer).setUint32(0,e.get()),t.enqueue(n)}})}}const C={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const n=e[e.length-1],r=C.i(n);return 32===r?e.concat(t):C.o(t,r,0|n,e.slice(0,e.length-1))},l(e){const t=e.length;if(0===t)return 0;const n=e[t-1];return 32*(t-1)+C.i(n)},u(e,t){if(32*e.length 0&&t&&(e[n-1]=C.h(t,e[n-1]&2147483648>>t-1,1)),e},h:(e,t,n)=>32===e?t:(n?0|t:t<<32-e)+1099511627776*e,i:e=>r.round(e/1099511627776)||32,o(e,t,n,r){for(void 0===r&&(r=[]);t>=32;t-=32)r.push(n),n=0;if(0===t)return r.concat(e);for(let s=0;s >>t),n=e[s]<<32-t;const s=e.length?e[e.length-1]:0,i=C.i(s);return r.push(C.h(t+i&31,t+i>32?n:r.pop(),1)),r}},I={p:{m(e){const t=C.l(e)/8,n=new i(t);let r;for(let s=0;t>s;s++)0==(3&s)&&(r=e[s/4]),n[s]=r>>>24,r<<=8;return n},g(e){const t=[];let n,r=0;for(n=0;n {let t=987654321;const n=4294967295;return()=>(t=36969*(65535&t)+(t>>16)&n,(((t<<16)+(e=18e3*(65535&e)+(e>>16)&n)&n)/4294967296+.5)*(r.random()>.5?1:-1))};for(let s,i=0;i new _.k(I.p.g(e)),v(e,t,n,r){if(n=n||1e4,0>r||0>n)throw new s("invalid params to pbkdf2");const i=1+(r>>5)<<2;let o,c,f,a,u;const w=new ArrayBuffer(i),h=new l(w);let d=0;const p=C;for(t=I.p.g(t),u=1;(i||1)>d;u++){for(o=c=e.encrypt(p.concat(t,[u])),f=1;n>f;f++)for(c=e.encrypt(c),a=0;a d&&f 9007199254740991)throw new s("Cannot hash more than 2^53 - 1 bits");const o=new c(n);let f=0;for(let e=t.blockSize+r-(t.blockSize+r&t.blockSize-1);i>=e;e+=t.blockSize)t.R(o.subarray(16*f,16*(f+1))),f+=1;return n.splice(0,16*f),t}B(){const e=this;let t=e.A;const n=e._;t=C.concat(t,[C.h(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(r.floor(e.D/4294967296)),t.push(0|e.D);t.length;)e.R(t.splice(0,16));return e.reset(),n}M(e,t,n,r){return e>19?e>39?e>59?e>79?void 0:t^n^r:t&n|t&r|n&r:t^n^r:t&n|~t&r}K(e,t){return t< >>32-e}R(t){const n=this,s=n._,i=e(80);for(let e=0;16>e;e++)i[e]=t[e];let o=s[0],c=s[1],f=s[2],a=s[3],l=s[4];for(let e=0;79>=e;e++){16>e||(i[e]=n.K(1,i[e-3]^i[e-8]^i[e-14]^i[e-16]));const t=n.K(5,o)+n.M(e,c,f,a)+l+i[e]+n.I[r.floor(e/20)]|0;l=a,a=f,f=n.K(30,c),c=o,o=t}s[0]=s[0]+o|0,s[1]=s[1]+c|0,s[2]=s[2]+f|0,s[3]=s[3]+a|0,s[4]=s[4]+l|0}},o=[[],[]];n.P=[new i,new i];const f=n.P[0].blockSize/32;t.length>f&&(t=(new i).update(t).B());for(let e=0;f>e;e++)o[0][e]=909522486^t[e],o[1][e]=1549556828^t[e];n.P[0].update(o[0]),n.P[1].update(o[1]),n.U=new i(n.P[0])}reset(){const e=this;e.U=new e.S(e.P[0]),e.N=!1}update(e){this.N=!0,this.U.update(e)}digest(){const e=this,t=e.U.B(),n=new e.S(e.P[1]).update(t).B();return e.reset(),n}encrypt(e){if(this.N)throw new s("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},A=void 0!==h&&"function"==typeof h.getRandomValues;function D(e){return A?h.getRandomValues(e):x.getRandomValues(e)}const V={name:"PBKDF2"},R=t.assign({hash:{name:"HMAC"}},V),B=t.assign({iterations:1e3,hash:{name:"SHA-1"}},V),E=["deriveBits"],M=[8,12,16],K=[16,24,32],P=[0,0,0,0],U=void 0!==h,N=U&&h.subtle,T=U&&void 0!==N,W=I.p,H=class{constructor(e){const t=this;t.T=[[[],[],[],[],[]],[[],[],[],[],[]]],t.T[0][0][0]||t.W();const n=t.T[0][4],r=t.T[1],i=e.length;let o,c,f,a=1;if(4!==i&&6!==i&&8!==i)throw new s("invalid aes key size");for(t.I=[c=e.slice(0),f=[]],o=i;4*i+28>o;o++){let e=c[o-1];(o%i==0||8===i&&o%i==4)&&(e=n[e>>>24]<<24^n[e>>16&255]<<16^n[e>>8&255]<<8^n[255&e],o%i==0&&(e=e<<8^e>>>24^a<<24,a=a<<1^283*(a>>7))),c[o]=c[o-i]^e}for(let e=0;o;e++,o--){const t=c[3&e?o:o-4];f[e]=4>=o||4>e?t:r[0][n[t>>>24]]^r[1][n[t>>16&255]]^r[2][n[t>>8&255]]^r[3][n[255&t]]}}encrypt(e){return this.H(e,0)}decrypt(e){return this.H(e,1)}W(){const e=this.T[0],t=this.T[1],n=e[4],r=t[4],s=[],i=[];let o,c,f,a;for(let e=0;256>e;e++)i[(s[e]=e<<1^283*(e>>7))^e]=e;for(let l=o=0;!n[l];l^=c||1,o=i[o]||1){let i=o^o<<1^o<<2^o<<3^o<<4;i=i>>8^255&i^99,n[l]=i,r[i]=l,a=s[f=s[c=s[l]]];let u=16843009*a^65537*f^257*c^16843008*l,w=257*s[i]^16843008*i;for(let n=0;4>n;n++)e[n][l]=w=w<<24^w>>>8,t[n][i]=u=u<<24^u>>>8}for(let n=0;5>n;n++)e[n]=e[n].slice(0),t[n]=t[n].slice(0)}H(e,t){if(4!==e.length)throw new s("invalid aes block size");const n=this.I[t],r=n.length/4-2,i=[0,0,0,0],o=this.T[t],c=o[0],f=o[1],a=o[2],l=o[3],u=o[4];let w,h,d,p=e[0]^n[0],y=e[t?3:1]^n[1],m=e[2]^n[2],b=e[t?1:3]^n[3],g=4;for(let e=0;r>e;e++)w=c[p>>>24]^f[y>>16&255]^a[m>>8&255]^l[255&b]^n[g],h=c[y>>>24]^f[m>>16&255]^a[b>>8&255]^l[255&p]^n[g+1],d=c[m>>>24]^f[b>>16&255]^a[p>>8&255]^l[255&y]^n[g+2],b=c[b>>>24]^f[p>>16&255]^a[y>>8&255]^l[255&m]^n[g+3],g+=4,p=w,y=h,m=d;for(let e=0;4>e;e++)i[t?3&-e:e]=u[p>>>24]<<24^u[y>>16&255]<<16^u[m>>8&255]<<8^u[255&b]^n[g++],w=p,p=y,y=m,m=b,b=w;return i}},L=class{constructor(e,t){this.L=e,this.j=t,this.F=t}reset(){this.F=this.j}update(e){return this.O(this.L,e,this.F)}q(e){if(255==(e>>24&255)){let t=e>>16&255,n=e>>8&255,r=255&e;255===t?(t=0,255===n?(n=0,255===r?r=0:++r):++n):++t,e=0,e+=t<<16,e+=n<<8,e+=r}else e+=1<<24;return e}G(e){0===(e[0]=this.q(e[0]))&&(e[1]=this.q(e[1]))}O(e,t,n){let r;if(!(r=t.length))return[];const s=C.l(t);for(let s=0;r>s;s+=4){this.G(n);const r=e.encrypt(n);t[s]^=r[0],t[s+1]^=r[1],t[s+2]^=r[2],t[s+3]^=r[3]}return C.u(t,s)}},j=_.k;let F=U&&T&&"function"==typeof N.importKey,O=U&&T&&"function"==typeof N.deriveBits;class q extends p{constructor({password:e,signed:n,encryptionStrength:r}){super({start(){t.assign(this,{ready:new u((e=>this.J=e)),password:e,signed:n,X:r-1,pending:new i})},async transform(e,t){const n=this,{password:r,X:o,J:c,ready:f}=n;r?(await(async(e,t,n,r)=>{const i=await Q(e,t,n,Y(r,0,M[t])),o=Y(r,M[t]);if(i[0]!=o[0]||i[1]!=o[1])throw new s("Invalid password")})(n,o,r,Y(e,0,M[o]+2)),e=Y(e,M[o]+2),c()):await f;const a=new i(e.length-10-(e.length-10)%16);t.enqueue(J(n,e,a,0,10,!0))},async flush(e){const{signed:t,Y:n,Z:r,pending:o,ready:c}=this;await c;const f=Y(o,0,o.length-10),a=Y(o,o.length-10);let l=new i;if(f.length){const e=$(W,f);r.update(e);const t=n.update(e);l=Z(W,t)}if(t){const e=Y(Z(W,r.digest()),0,10);for(let t=0;10>t;t++)if(e[t]!=a[t])throw new s("Invalid signature")}e.enqueue(l)}})}}class G extends p{constructor({password:e,encryptionStrength:n}){let r;super({start(){t.assign(this,{ready:new u((e=>this.J=e)),password:e,X:n-1,pending:new i})},async transform(e,t){const n=this,{password:r,X:s,J:o,ready:c}=n;let f=new i;r?(f=await(async(e,t,n)=>{const r=D(new i(M[t]));return X(r,await Q(e,t,n,r))})(n,s,r),o()):await c;const a=new i(f.length+e.length-e.length%16);a.set(f,0),t.enqueue(J(n,e,a,f.length,0))},async flush(e){const{Y:t,Z:n,pending:s,ready:o}=this;await o;let c=new i;if(s.length){const e=t.update($(W,s));n.update(e),c=Z(W,e)}r.signature=Z(W,n.digest()).slice(0,10),e.enqueue(X(c,r.signature))}}),r=this}}function J(e,t,n,r,s,o){const{Y:c,Z:f,pending:a}=e,l=t.length-s;let u;for(a.length&&(t=X(a,t),n=((e,t)=>{if(t&&t>e.length){const n=e;(e=new i(t)).set(n,0)}return e})(n,l-l%16)),u=0;l-16>=u;u+=16){const e=$(W,Y(t,u,u+16));o&&f.update(e);const s=c.update(e);o||f.update(s),n.set(Z(W,s),u+r)}return e.pending=Y(t,u),n}async function Q(n,r,s,o){n.password=null;const c=(e=>{if(void 0===w){const t=new i((e=unescape(encodeURIComponent(e))).length);for(let n=0;n {if(!F)return _.importKey(t);try{return await N.importKey("raw",t,n,!1,s)}catch(e){return F=!1,_.importKey(t)}})(0,c,R,0,E),a=await(async(e,t,n)=>{if(!O)return _.v(t,e.salt,B.iterations,n);try{return await N.deriveBits(e,t,n)}catch(r){return O=!1,_.v(t,e.salt,B.iterations,n)}})(t.assign({salt:o},B),f,8*(2*K[r]+2)),l=new i(a),u=$(W,Y(l,0,K[r])),h=$(W,Y(l,K[r],2*K[r])),d=Y(l,2*K[r]);return t.assign(n,{keys:{key:u,$:h,passwordVerification:d},Y:new L(new H(u),e.from(P)),Z:new j(h)}),d}function X(e,t){let n=e;return e.length+t.length&&(n=new i(e.length+t.length),n.set(e,0),n.set(t,e.length)),n}function Y(e,t,n){return e.subarray(t,n)}function Z(e,t){return e.m(t)}function $(e,t){return e.g(t)}class ee extends p{constructor({password:e,passwordVerification:n}){super({start(){t.assign(this,{password:e,passwordVerification:n}),se(this,e)},transform(e,t){const n=this;if(n.password){const t=ne(n,e.subarray(0,12));if(n.password=null,t[11]!=n.passwordVerification)throw new s("Invalid password");e=e.subarray(12)}t.enqueue(ne(n,e))}})}}class te extends p{constructor({password:e,passwordVerification:n}){super({start(){t.assign(this,{password:e,passwordVerification:n}),se(this,e)},transform(e,t){const n=this;let r,s;if(n.password){n.password=null;const t=D(new i(12));t[11]=n.passwordVerification,r=new i(e.length+t.length),r.set(re(n,t),0),s=12}else r=new i(e.length),s=0;r.set(re(n,e),s),t.enqueue(r)}})}}function ne(e,t){const n=new i(t.length);for(let r=0;r >>24]),i=~e.te.get(),e.keys=[n,s,i]}function oe(e){const t=2|e.keys[2];return ce(r.imul(t,1^t)>>>8)}function ce(e){return 255&e}function fe(e){return 4294967295&e}class ae extends p{constructor(e,{chunkSize:t,CompressionStream:n,CompressionStreamNative:r}){super({});const{compressed:s,encrypted:i,useCompressionStream:o,zipCrypto:c,signed:f,level:a}=e,u=this;let w,h,d=ue(super.readable);i&&!c||!f||([d,w]=d.tee(),w=de(w,new z)),s&&(d=he(d,o,{level:a,chunkSize:t},r,n)),i&&(c?d=de(d,new te(e)):(h=new G(e),d=de(d,h))),we(u,d,(async()=>{let e;i&&!c&&(e=h.signature),i&&!c||!f||(e=await w.getReader().read(),e=new l(e.value.buffer).getUint32(0)),u.signature=e}))}}class le extends p{constructor(e,{chunkSize:t,DecompressionStream:n,DecompressionStreamNative:r}){super({});const{zipCrypto:i,encrypted:o,signed:c,signature:f,compressed:a,useCompressionStream:u}=e;let w,h,d=ue(super.readable);o&&(i?d=de(d,new ee(e)):(h=new q(e),d=de(d,h))),a&&(d=he(d,u,{chunkSize:t},r,n)),o&&!i||!c||([d,w]=d.tee(),w=de(w,new z)),we(this,d,(async()=>{if((!o||i)&&c){const e=await w.getReader().read(),t=new l(e.value.buffer);if(f!=t.getUint32(0,!1))throw new s("Invalid signature")}}))}}function ue(e){return de(e,new p({transform(e,t){e&&e.length&&t.enqueue(e)}}))}function we(e,n,r){n=de(n,new p({flush:r})),t.defineProperty(e,"readable",{get:()=>n})}function he(e,t,n,r,s){try{e=de(e,new(t&&r?r:s)("deflate-raw",n))}catch(r){if(!t)throw r;e=de(e,new s("deflate-raw",n))}return e}function de(e,t){return e.pipeThrough(t)}class pe extends p{constructor(e,n){super({});const r=this,{codecType:s}=e;let i;s.startsWith("deflate")?i=ae:s.startsWith("inflate")&&(i=le);let o=0;const c=new i(e,n),f=super.readable,a=new p({transform(e,t){e&&e.length&&(o+=e.length,t.enqueue(e))},flush(){const{signature:e}=c;t.assign(r,{signature:e,size:o})}});t.defineProperty(r,"readable",{get:()=>f.pipeThrough(c).pipeThrough(a)})}}const ye=new a,me=new a;let be=0;async function ge(e){try{const{options:t,scripts:r,config:s}=e;r&&r.length&&importScripts.apply(void 0,r),self.initCodec&&self.initCodec(),s.CompressionStreamNative=self.CompressionStream,s.DecompressionStreamNative=self.DecompressionStream,self.Deflate&&(s.CompressionStream=new k(self.Deflate)),self.Inflate&&(s.DecompressionStream=new k(self.Inflate));const i={highWaterMark:1,size:()=>s.chunkSize},o=e.readable||new y({async pull(e){const t=new u((e=>ye.set(be,e)));ke({type:"pull",messageId:be}),be=(be+1)%n.MAX_SAFE_INTEGER;const{value:r,done:s}=await t;e.enqueue(r),s&&e.close()}},i),c=e.writable||new m({async write(e){let t;const r=new u((e=>t=e));me.set(be,t),ke({type:"data",value:e,messageId:be}),be=(be+1)%n.MAX_SAFE_INTEGER,await r}},i),f=new pe(t,s);await o.pipeThrough(f).pipeTo(c,{preventAbort:!0});try{await c.close()}catch(e){}const{signature:a,size:l}=f;ke({type:"close",result:{signature:a,size:l}})}catch(e){ve(e)}}function ke(e){let{value:t}=e;if(t)if(t.length)try{t=new i(t),e.value=t.buffer,d(e,[e.value])}catch(t){d(e)}else d(e);else d(e)}function ve(e){const{message:t,stack:n,code:r,name:s}=e;d({error:{message:t,stack:n,code:r,name:s}})}function Se(t){return ze(t.map((([t,n])=>new e(t).fill(n,0,t))))}function ze(t){return t.reduce(((t,n)=>t.concat(e.isArray(n)?ze(n):n)),[])}addEventListener("message",(({data:e})=>{const{type:t,messageId:n,value:r,done:s}=e;try{if("start"==t&&ge(e),"data"==t){const e=ye.get(n);ye.delete(n),e({value:new i(r),done:s})}if("ack"==t){const e=me.get(n);me.delete(n),e()}}catch(e){ve(e)}}));const Ce=[0,1,2,3].concat(...Se([[2,4],[2,5],[4,6],[4,7],[8,8],[8,9],[16,10],[16,11],[32,12],[32,13],[64,14],[64,15],[2,0],[1,16],[1,17],[2,18],[2,19],[4,20],[4,21],[8,22],[8,23],[16,24],[16,25],[32,26],[32,27],[64,28],[64,29]]));function Ie(){const e=this;function t(e,t){let n=0;do{n|=1&e,e>>>=1,n<<=1}while(--t>0);return n>>>1}e.ne=n=>{const s=e.re,i=e.ie.se,o=e.ie.oe;let c,f,a,l=-1;for(n.ce=0,n.fe=573,c=0;o>c;c++)0!==s[2*c]?(n.ae[++n.ce]=l=c,n.le[c]=0):s[2*c+1]=0;for(;2>n.ce;)a=n.ae[++n.ce]=2>l?++l:0,s[2*a]=1,n.le[a]=0,n.ue--,i&&(n.we-=i[2*a+1]);for(e.he=l,c=r.floor(n.ce/2);c>=1;c--)n.de(s,c);a=o;do{c=n.ae[1],n.ae[1]=n.ae[n.ce--],n.de(s,1),f=n.ae[1],n.ae[--n.fe]=c,n.ae[--n.fe]=f,s[2*a]=s[2*c]+s[2*f],n.le[a]=r.max(n.le[c],n.le[f])+1,s[2*c+1]=s[2*f+1]=a,n.ae[1]=a++,n.de(s,1)}while(n.ce>=2);n.ae[--n.fe]=n.ae[1],(t=>{const n=e.re,r=e.ie.se,s=e.ie.pe,i=e.ie.ye,o=e.ie.me;let c,f,a,l,u,w,h=0;for(l=0;15>=l;l++)t.be[l]=0;for(n[2*t.ae[t.fe]+1]=0,c=t.fe+1;573>c;c++)f=t.ae[c],l=n[2*n[2*f+1]+1]+1,l>o&&(l=o,h++),n[2*f+1]=l,f>e.he||(t.be[l]++,u=0,i>f||(u=s[f-i]),w=n[2*f],t.ue+=w*(l+u),r&&(t.we+=w*(r[2*f+1]+u)));if(0!==h){do{for(l=o-1;0===t.be[l];)l--;t.be[l]--,t.be[l+1]+=2,t.be[o]--,h-=2}while(h>0);for(l=o;0!==l;l--)for(f=t.be[l];0!==f;)a=t.ae[--c],a>e.he||(n[2*a+1]!=l&&(t.ue+=(l-n[2*a+1])*n[2*a],n[2*a+1]=l),f--)}})(n),((e,n,r)=>{const s=[];let i,o,c,f=0;for(i=1;15>=i;i++)s[i]=f=f+r[i-1]<<1;for(o=0;n>=o;o++)c=e[2*o+1],0!==c&&(e[2*o]=t(s[c]++,c))})(s,e.he,n.be)}}function xe(e,t,n,r,s){const i=this;i.se=e,i.pe=t,i.ye=n,i.oe=r,i.me=s}Ie.ge=[0,1,2,3,4,5,6,7].concat(...Se([[2,8],[2,9],[2,10],[2,11],[4,12],[4,13],[4,14],[4,15],[8,16],[8,17],[8,18],[8,19],[16,20],[16,21],[16,22],[16,23],[32,24],[32,25],[32,26],[31,27],[1,28]])),Ie.ke=[0,1,2,3,4,5,6,7,8,10,12,14,16,20,24,28,32,40,48,56,64,80,96,112,128,160,192,224,0],Ie.ve=[0,1,2,3,4,6,8,12,16,24,32,48,64,96,128,192,256,384,512,768,1024,1536,2048,3072,4096,6144,8192,12288,16384,24576],Ie.Se=e=>256>e?Ce[e]:Ce[256+(e>>>7)],Ie.ze=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],Ie.Ce=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],Ie.Ie=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],Ie.xe=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];const _e=Se([[144,8],[112,9],[24,7],[8,8]]);xe._e=ze([12,140,76,204,44,172,108,236,28,156,92,220,60,188,124,252,2,130,66,194,34,162,98,226,18,146,82,210,50,178,114,242,10,138,74,202,42,170,106,234,26,154,90,218,58,186,122,250,6,134,70,198,38,166,102,230,22,150,86,214,54,182,118,246,14,142,78,206,46,174,110,238,30,158,94,222,62,190,126,254,1,129,65,193,33,161,97,225,17,145,81,209,49,177,113,241,9,137,73,201,41,169,105,233,25,153,89,217,57,185,121,249,5,133,69,197,37,165,101,229,21,149,85,213,53,181,117,245,13,141,77,205,45,173,109,237,29,157,93,221,61,189,125,253,19,275,147,403,83,339,211,467,51,307,179,435,115,371,243,499,11,267,139,395,75,331,203,459,43,299,171,427,107,363,235,491,27,283,155,411,91,347,219,475,59,315,187,443,123,379,251,507,7,263,135,391,71,327,199,455,39,295,167,423,103,359,231,487,23,279,151,407,87,343,215,471,55,311,183,439,119,375,247,503,15,271,143,399,79,335,207,463,47,303,175,431,111,367,239,495,31,287,159,415,95,351,223,479,63,319,191,447,127,383,255,511,0,64,32,96,16,80,48,112,8,72,40,104,24,88,56,120,4,68,36,100,20,84,52,116,3,131,67,195,35,163,99,227].map(((e,t)=>[e,_e[t]])));const Ae=Se([[30,5]]);function De(e,t,n,r,s){const i=this;i.Ae=e,i.De=t,i.Ve=n,i.Re=r,i.Be=s}xe.Ee=ze([0,16,8,24,4,20,12,28,2,18,10,26,6,22,14,30,1,17,9,25,5,21,13,29,3,19,11,27,7,23].map(((e,t)=>[e,Ae[t]]))),xe.Me=new xe(xe._e,Ie.ze,257,286,15),xe.Ke=new xe(xe.Ee,Ie.Ce,0,30,15),xe.Pe=new xe(null,Ie.Ie,0,19,7);const Ve=[new De(0,0,0,0,0),new De(4,4,8,4,1),new De(4,5,16,8,1),new De(4,6,32,32,1),new De(4,4,16,16,2),new De(8,16,32,32,2),new De(8,16,128,128,2),new De(8,32,128,256,2),new De(32,128,258,1024,2),new De(32,258,258,4096,2)],Re=["need dictionary","stream end","","","stream error","data error","","buffer error","",""];function Be(e,t,n,r){const s=e[2*t],i=e[2*n];return i>s||s==i&&r[t]<=r[n]}function Ee(){const e=this;let t,n,s,c,f,a,l,u,w,h,d,p,y,m,b,g,k,v,S,z,C,I,x,_,A,D,V,R,B,E,M,K,P;const U=new Ie,N=new Ie,T=new Ie;let W,H,L,j,F,O;function q(){let t;for(t=0;286>t;t++)M[2*t]=0;for(t=0;30>t;t++)K[2*t]=0;for(t=0;19>t;t++)P[2*t]=0;M[512]=1,e.ue=e.we=0,H=L=0}function G(e,t){let n,r=-1,s=e[1],i=0,o=7,c=4;0===s&&(o=138,c=3),e[2*(t+1)+1]=65535;for(let f=0;t>=f;f++)n=s,s=e[2*(f+1)+1],++i i?P[2*n]+=i:0!==n?(n!=r&&P[2*n]++,P[32]++):i>10?P[36]++:P[34]++,i=0,r=n,0===s?(o=138,c=3):n==s?(o=6,c=3):(o=7,c=4))}function J(t){e.Ue[e.pending++]=t}function Q(e){J(255&e),J(e>>>8&255)}function X(e,t){let n;const r=t;O>16-r?(n=e,F|=n< >>16-O,O+=r-16):(F|=e< =n;n++)if(r=i,i=e[2*(n+1)+1],++o>=c||r!=i){if(f>o)do{Y(r,P)}while(0!=--o);else 0!==r?(r!=s&&(Y(r,P),o--),Y(16,P),X(o-3,2)):o>10?(Y(18,P),X(o-11,7)):(Y(17,P),X(o-3,3));o=0,s=r,0===i?(c=138,f=3):r==i?(c=6,f=3):(c=7,f=4)}}function $(){16==O?(Q(F),F=0,O=0):8>O||(J(255&F),F>>>=8,O-=8)}function ee(t,n){let s,i,o;if(e.Ne[H]=t,e.Te[H]=255&n,H++,0===t?M[2*n]++:(L++,t--,M[2*(Ie.ge[n]+256+1)]++,K[2*Ie.Se(t)]++),0==(8191&H)&&V>2){for(s=8*H,i=C-k,o=0;30>o;o++)s+=K[2*o]*(5+Ie.Ce[o]);if(s>>>=3,L c);Y(256,t),j=t[513]}function ne(){O>8?Q(F):O>0&&J(255&F),F=0,O=0}function re(t,n,r){X(0+(r?1:0),3),((t,n)=>{ne(),j=8,Q(n),Q(~n),e.Ue.set(u.subarray(t,t+n),e.pending),e.pending+=n})(t,n)}function se(n){((t,n,r)=>{let s,i,o=0;V>0?(U.ne(e),N.ne(e),o=(()=>{let t;for(G(M,U.he),G(K,N.he),T.ne(e),t=18;t>=3&&0===P[2*Ie.xe[t]+1];t--);return e.ue+=14+3*(t+1),t})(),s=e.ue+3+7>>>3,i=e.we+3+7>>>3,i>s||(s=i)):s=i=n+5,n+4>s||-1==t?i==s?(X(2+(r?1:0),3),te(xe._e,xe.Ee)):(X(4+(r?1:0),3),((e,t,n)=>{let r;for(X(e-257,5),X(t-1,5),X(n-4,4),r=0;n>r;r++)X(P[2*Ie.xe[r]+1],3);Z(M,e-1),Z(K,t-1)})(U.he+1,N.he+1,o+1),te(M,K)):re(t,n,r),q(),r&&ne()})(0>k?-1:k,C-k,n),k=C,t.We()}function ie(){let e,n,r,s;do{if(s=w-x-C,0===s&&0===C&&0===x)s=f;else if(-1==s)s--;else if(C>=f+f-262){u.set(u.subarray(f,f+f),0),I-=f,C-=f,k-=f,e=y,r=e;do{n=65535&d[--r],d[r]=f>n?0:n-f}while(0!=--e);e=f,r=e;do{n=65535&h[--r],h[r]=f>n?0:n-f}while(0!=--e);s+=f}if(0===t.He)return;e=t.Le(u,C+x,s),x+=e,3>x||(p=255&u[C],p=(p< x&&0!==t.He)}function oe(e){let t,n,r=A,s=C,i=_;const o=C>f-262?C-(f-262):0;let c=E;const a=l,w=C+258;let d=u[s+i-1],p=u[s+i];B>_||(r>>=2),c>x&&(c=x);do{if(t=e,u[t+i]==p&&u[t+i-1]==d&&u[t]==u[s]&&u[++t]==u[s+1]){s+=2,t++;do{}while(u[++s]==u[++t]&&u[++s]==u[++t]&&u[++s]==u[++t]&&u[++s]==u[++t]&&u[++s]==u[++t]&&u[++s]==u[++t]&&u[++s]==u[++t]&&u[++s]==u[++t]&&w>s);if(n=258-(w-s),s=w-258,n>i){if(I=e,i=n,n>=c)break;d=u[s+i-1],p=u[s+i]}}}while((e=65535&h[e&a])>o&&0!=--r);return i>x?x:i}e.le=[],e.be=[],e.ae=[],M=[],K=[],P=[],e.de=(t,n)=>{const r=e.ae,s=r[n];let i=n<<1;for(;i<=e.ce&&(i (H||(H=8),L||(L=8),G||(G=0),t.Fe=null,-1==S&&(S=6),1>L||L>9||8!=H||9>I||I>15||0>S||S>9||0>G||G>2?-2:(t.Oe=e,a=I,f=1<(t.qe=t.Ge=0,t.Fe=null,e.pending=0,e.Je=0,n=113,c=0,U.re=M,U.ie=xe.Me,N.re=K,N.ie=xe.Ke,T.re=P,T.ie=xe.Pe,F=0,O=0,j=8,q(),(()=>{w=2*f,d[y-1]=0;for(let e=0;y-1>e;e++)d[e]=0;D=Ve[V].De,B=Ve[V].Ae,E=Ve[V].Ve,A=Ve[V].Re,C=0,k=0,x=0,v=_=2,z=0,p=0})(),0))(t))),e.Qe=()=>42!=n&&113!=n&&666!=n?-2:(e.Te=null,e.Ne=null,e.Ue=null,d=null,h=null,u=null,e.Oe=null,113==n?-3:0),e.Xe=(e,t,n)=>{let r=0;return-1==t&&(t=6),0>t||t>9||0>n||n>2?-2:(Ve[V].Be!=Ve[t].Be&&0!==e.qe&&(r=e.Ye(1)),V!=t&&(V=t,D=Ve[V].De,B=Ve[V].Ae,E=Ve[V].Ve,A=Ve[V].Re),R=n,r)},e.Ze=(e,t,r)=>{let s,i=r,o=0;if(!t||42!=n)return-2;if(3>i)return 0;for(i>f-262&&(i=f-262,o=r-i),u.set(t.subarray(o,o+i),0),C=i,k=i,p=255&u[0],p=(p< =s;s++)p=(p< {let o,w,m,A,B;if(i>4||0>i)return-2;if(!r.$e||!r.et&&0!==r.He||666==n&&4!=i)return r.Fe=Re[4],-2;if(0===r.tt)return r.Fe=Re[7],-5;var E;if(t=r,A=c,c=i,42==n&&(w=8+(a-8<<4)<<8,m=(V-1&255)>>1,m>3&&(m=3),w|=m<<6,0!==C&&(w|=32),w+=31-w%31,n=113,J((E=w)>>8&255),J(255&E)),0!==e.pending){if(t.We(),0===t.tt)return c=-1,0}else if(0===t.He&&A>=i&&4!=i)return t.Fe=Re[7],-5;if(666==n&&0!==t.He)return r.Fe=Re[7],-5;if(0!==t.He||0!==x||0!=i&&666!=n){switch(B=-1,Ve[V].Be){case 0:B=(e=>{let n,r=65535;for(r>s-5&&(r=s-5);;){if(1>=x){if(ie(),0===x&&0==e)return 0;if(0===x)break}if(C+=x,x=0,n=k+r,(0===C||C>=n)&&(x=C-n,C=n,se(!1),0===t.tt))return 0;if(C-k>=f-262&&(se(!1),0===t.tt))return 0}return se(4==e),0===t.tt?4==e?2:0:4==e?3:1})(i);break;case 1:B=(e=>{let n,r=0;for(;;){if(262>x){if(ie(),262>x&&0==e)return 0;if(0===x)break}if(3>x||(p=(p< f-262||2!=R&&(v=oe(r)),3>v)n=ee(0,255&u[C]),x--,C++;else if(n=ee(C-I,v-3),x-=v,v>D||3>x)C+=v,v=0,p=255&u[C],p=(p< {let n,r,s=0;for(;;){if(262>x){if(ie(),262>x&&0==e)return 0;if(0===x)break}if(3>x||(p=(p< _&&f-262>=(C-s&65535)&&(2!=R&&(v=oe(s)),5>=v&&(1==R||3==v&&C-I>4096)&&(v=2)),3>_||v>_)if(0!==z){if(n=ee(0,255&u[C-1]),n&&se(!1),C++,x--,0===t.tt)return 0}else z=1,C++,x--;else{r=C+x-3,n=ee(C-1-S,_-3),x-=_-1,_-=2;do{++C>r||(p=(p< 1+j+10-O&&(X(2,3),Y(256,xe._e),$()),j=7;else if(re(0,0,!1),3==i)for(o=0;y>o;o++)d[o]=0;if(t.We(),0===t.tt)return c=-1,0}}return 4!=i?0:1}}function Me(){const e=this;e.nt=0,e.rt=0,e.He=0,e.qe=0,e.tt=0,e.Ge=0}function Ke(e){const t=new Me,n=(o=e&&e.chunkSize?e.chunkSize:65536)+5*(r.floor(o/16383)+1);var o;const c=new i(n);let f=e?e.level:-1;void 0===f&&(f=-1),t.je(f),t.$e=c,this.append=(e,r)=>{let o,f,a=0,l=0,u=0;const w=[];if(e.length){t.nt=0,t.et=e,t.He=e.length;do{if(t.rt=0,t.tt=n,o=t.Ye(0),0!=o)throw new s("deflating: "+t.Fe);t.rt&&(t.rt==n?w.push(new i(c)):w.push(c.slice(0,t.rt))),u+=t.rt,r&&t.nt>0&&t.nt!=a&&(r(t.nt),a=t.nt)}while(t.He>0||0===t.tt);return w.length>1?(f=new i(u),w.forEach((e=>{f.set(e,l),l+=e.length}))):f=w[0]||new i,f}},this.flush=()=>{let e,r,o=0,f=0;const a=[];do{if(t.rt=0,t.tt=n,e=t.Ye(4),1!=e&&0!=e)throw new s("deflating: "+t.Fe);n-t.tt>0&&a.push(c.slice(0,t.rt)),f+=t.rt}while(t.He>0||0===t.tt);return t.Qe(),r=new i(f),a.forEach((e=>{r.set(e,o),o+=e.length})),r}}Me.prototype={je(e,t){const n=this;return n.Oe=new Ee,t||(t=15),n.Oe.je(n,e,t)},Ye(e){const t=this;return t.Oe?t.Oe.Ye(t,e):-2},Qe(){const e=this;if(!e.Oe)return-2;const t=e.Oe.Qe();return e.Oe=null,t},Xe(e,t){const n=this;return n.Oe?n.Oe.Xe(n,e,t):-2},Ze(e,t){const n=this;return n.Oe?n.Oe.Ze(n,e,t):-2},Le(e,t,n){const r=this;let s=r.He;return s>n&&(s=n),0===s?0:(r.He-=s,e.set(r.et.subarray(r.nt,r.nt+s),t),r.nt+=s,r.qe+=s,s)},We(){const e=this;let t=e.Oe.pending;t>e.tt&&(t=e.tt),0!==t&&(e.$e.set(e.Oe.Ue.subarray(e.Oe.Je,e.Oe.Je+t),e.rt),e.rt+=t,e.Oe.Je+=t,e.Ge+=t,e.tt-=t,e.Oe.pending-=t,0===e.Oe.pending&&(e.Oe.Je=0))}};const Pe=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535],Ue=[96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,192,80,7,10,0,8,96,0,8,32,0,9,160,0,8,0,0,8,128,0,8,64,0,9,224,80,7,6,0,8,88,0,8,24,0,9,144,83,7,59,0,8,120,0,8,56,0,9,208,81,7,17,0,8,104,0,8,40,0,9,176,0,8,8,0,8,136,0,8,72,0,9,240,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,200,81,7,13,0,8,100,0,8,36,0,9,168,0,8,4,0,8,132,0,8,68,0,9,232,80,7,8,0,8,92,0,8,28,0,9,152,84,7,83,0,8,124,0,8,60,0,9,216,82,7,23,0,8,108,0,8,44,0,9,184,0,8,12,0,8,140,0,8,76,0,9,248,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,196,81,7,11,0,8,98,0,8,34,0,9,164,0,8,2,0,8,130,0,8,66,0,9,228,80,7,7,0,8,90,0,8,26,0,9,148,84,7,67,0,8,122,0,8,58,0,9,212,82,7,19,0,8,106,0,8,42,0,9,180,0,8,10,0,8,138,0,8,74,0,9,244,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,204,81,7,15,0,8,102,0,8,38,0,9,172,0,8,6,0,8,134,0,8,70,0,9,236,80,7,9,0,8,94,0,8,30,0,9,156,84,7,99,0,8,126,0,8,62,0,9,220,82,7,27,0,8,110,0,8,46,0,9,188,0,8,14,0,8,142,0,8,78,0,9,252,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,194,80,7,10,0,8,97,0,8,33,0,9,162,0,8,1,0,8,129,0,8,65,0,9,226,80,7,6,0,8,89,0,8,25,0,9,146,83,7,59,0,8,121,0,8,57,0,9,210,81,7,17,0,8,105,0,8,41,0,9,178,0,8,9,0,8,137,0,8,73,0,9,242,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,202,81,7,13,0,8,101,0,8,37,0,9,170,0,8,5,0,8,133,0,8,69,0,9,234,80,7,8,0,8,93,0,8,29,0,9,154,84,7,83,0,8,125,0,8,61,0,9,218,82,7,23,0,8,109,0,8,45,0,9,186,0,8,13,0,8,141,0,8,77,0,9,250,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,198,81,7,11,0,8,99,0,8,35,0,9,166,0,8,3,0,8,131,0,8,67,0,9,230,80,7,7,0,8,91,0,8,27,0,9,150,84,7,67,0,8,123,0,8,59,0,9,214,82,7,19,0,8,107,0,8,43,0,9,182,0,8,11,0,8,139,0,8,75,0,9,246,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,206,81,7,15,0,8,103,0,8,39,0,9,174,0,8,7,0,8,135,0,8,71,0,9,238,80,7,9,0,8,95,0,8,31,0,9,158,84,7,99,0,8,127,0,8,63,0,9,222,82,7,27,0,8,111,0,8,47,0,9,190,0,8,15,0,8,143,0,8,79,0,9,254,96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,193,80,7,10,0,8,96,0,8,32,0,9,161,0,8,0,0,8,128,0,8,64,0,9,225,80,7,6,0,8,88,0,8,24,0,9,145,83,7,59,0,8,120,0,8,56,0,9,209,81,7,17,0,8,104,0,8,40,0,9,177,0,8,8,0,8,136,0,8,72,0,9,241,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,201,81,7,13,0,8,100,0,8,36,0,9,169,0,8,4,0,8,132,0,8,68,0,9,233,80,7,8,0,8,92,0,8,28,0,9,153,84,7,83,0,8,124,0,8,60,0,9,217,82,7,23,0,8,108,0,8,44,0,9,185,0,8,12,0,8,140,0,8,76,0,9,249,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,197,81,7,11,0,8,98,0,8,34,0,9,165,0,8,2,0,8,130,0,8,66,0,9,229,80,7,7,0,8,90,0,8,26,0,9,149,84,7,67,0,8,122,0,8,58,0,9,213,82,7,19,0,8,106,0,8,42,0,9,181,0,8,10,0,8,138,0,8,74,0,9,245,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,205,81,7,15,0,8,102,0,8,38,0,9,173,0,8,6,0,8,134,0,8,70,0,9,237,80,7,9,0,8,94,0,8,30,0,9,157,84,7,99,0,8,126,0,8,62,0,9,221,82,7,27,0,8,110,0,8,46,0,9,189,0,8,14,0,8,142,0,8,78,0,9,253,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,195,80,7,10,0,8,97,0,8,33,0,9,163,0,8,1,0,8,129,0,8,65,0,9,227,80,7,6,0,8,89,0,8,25,0,9,147,83,7,59,0,8,121,0,8,57,0,9,211,81,7,17,0,8,105,0,8,41,0,9,179,0,8,9,0,8,137,0,8,73,0,9,243,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,203,81,7,13,0,8,101,0,8,37,0,9,171,0,8,5,0,8,133,0,8,69,0,9,235,80,7,8,0,8,93,0,8,29,0,9,155,84,7,83,0,8,125,0,8,61,0,9,219,82,7,23,0,8,109,0,8,45,0,9,187,0,8,13,0,8,141,0,8,77,0,9,251,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,199,81,7,11,0,8,99,0,8,35,0,9,167,0,8,3,0,8,131,0,8,67,0,9,231,80,7,7,0,8,91,0,8,27,0,9,151,84,7,67,0,8,123,0,8,59,0,9,215,82,7,19,0,8,107,0,8,43,0,9,183,0,8,11,0,8,139,0,8,75,0,9,247,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,207,81,7,15,0,8,103,0,8,39,0,9,175,0,8,7,0,8,135,0,8,71,0,9,239,80,7,9,0,8,95,0,8,31,0,9,159,84,7,99,0,8,127,0,8,63,0,9,223,82,7,27,0,8,111,0,8,47,0,9,191,0,8,15,0,8,143,0,8,79,0,9,255],Ne=[80,5,1,87,5,257,83,5,17,91,5,4097,81,5,5,89,5,1025,85,5,65,93,5,16385,80,5,3,88,5,513,84,5,33,92,5,8193,82,5,9,90,5,2049,86,5,129,192,5,24577,80,5,2,87,5,385,83,5,25,91,5,6145,81,5,7,89,5,1537,85,5,97,93,5,24577,80,5,4,88,5,769,84,5,49,92,5,12289,82,5,13,90,5,3073,86,5,193,192,5,24577],Te=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],We=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,112,112],He=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],Le=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13];function je(){let e,t,n,r,s,i;function o(e,t,o,c,f,a,l,u,w,h,d){let p,y,m,b,g,k,v,S,z,C,I,x,_,A,D;C=0,g=o;do{n[e[t+C]]++,C++,g--}while(0!==g);if(n[0]==o)return l[0]=-1,u[0]=0,0;for(S=u[0],k=1;15>=k&&0===n[k];k++);for(v=k,k>S&&(S=k),g=15;0!==g&&0===n[g];g--);for(m=g,S>g&&(S=g),u[0]=S,A=1< k;k++,A<<=1)if(0>(A-=n[k]))return-3;if(0>(A-=n[g]))return-3;for(n[g]+=A,i[1]=k=0,C=1,_=2;0!=--g;)i[_]=k+=n[C],_++,C++;g=0,C=0;do{0!==(k=e[t+C])&&(d[i[k]++]=g),C++}while(++g =v;v++)for(p=n[v];0!=p--;){for(;v>x+S;){if(b++,x+=S,D=m-x,D=D>S?S:D,(y=1<<(k=v-x))>p+1&&(y-=p+1,_=v,D>k))for(;++k n[++_];)y-=n[_];if(D=1< 1440)return-3;s[b]=I=h[0],h[0]+=D,0!==b?(i[b]=g,r[0]=k,r[1]=S,k=g>>>x-S,r[2]=I-s[b-1]-k,w.set(r,3*(s[b-1]+k))):l[0]=I}for(r[1]=v-x,o>C?d[C] d[C]?0:96,r[2]=d[C++]):(r[0]=a[d[C]-c]+16+64,r[2]=f[d[C++]-c]):r[0]=192,y=1< >>x;D>k;k+=y)w.set(r,3*(I+k));for(k=1< >>=1)g^=k;for(g^=k,z=(1< c;c++)t[c]=0;for(c=0;16>c;c++)n[c]=0;for(c=0;3>c;c++)r[c]=0;s.set(n.subarray(0,15),0),i.set(n.subarray(0,16),0)}this.st=(n,r,s,i,f)=>{let a;return c(19),e[0]=0,a=o(n,0,19,19,null,null,s,r,i,e,t),-3==a?f.Fe="oversubscribed dynamic bit lengths tree":-5!=a&&0!==r[0]||(f.Fe="incomplete dynamic bit lengths tree",a=-3),a},this.it=(n,r,s,i,f,a,l,u,w)=>{let h;return c(288),e[0]=0,h=o(s,0,n,257,Te,We,a,i,u,e,t),0!=h||0===i[0]?(-3==h?w.Fe="oversubscribed literal/length tree":-4!=h&&(w.Fe="incomplete literal/length tree",h=-3),h):(c(288),h=o(s,n,r,0,He,Le,l,f,u,e,t),0!=h||0===f[0]&&n>257?(-3==h?w.Fe="oversubscribed distance tree":-5==h?(w.Fe="incomplete distance tree",h=-3):-4!=h&&(w.Fe="empty distance tree with lengths",h=-3),h):0)}}function Fe(){const e=this;let t,n,r,s,i=0,o=0,c=0,f=0,a=0,l=0,u=0,w=0,h=0,d=0;function p(e,t,n,r,s,i,o,c){let f,a,l,u,w,h,d,p,y,m,b,g,k,v,S,z;d=c.nt,p=c.He,w=o.ot,h=o.ct,y=o.write,m=y h;)p--,w|=(255&c.ft(d++))< >=a[z+1],h-=a[z+1],0!=(16&u)){for(u&=15,k=a[z+2]+(w&Pe[u]),w>>=u,h-=u;15>h;)p--,w|=(255&c.ft(d++))< >=a[z+1],h-=a[z+1],0!=(16&u)){for(u&=15;u>h;)p--,w|=(255&c.ft(d++))< >=u,h-=u,m-=k,v>y){S=y-v;do{S+=o.end}while(0>S);if(u=o.end-S,k>u){if(k-=u,y-S>0&&u>y-S)do{o.lt[y++]=o.lt[S++]}while(0!=--u);else o.lt.set(o.lt.subarray(S,S+u),y),y+=u,S+=u,u=0;S=0}}else S=y-v,y-S>0&&2>y-S?(o.lt[y++]=o.lt[S++],o.lt[y++]=o.lt[S++],k-=2):(o.lt.set(o.lt.subarray(S,S+2),y),y+=2,S+=2,k-=2);if(y-S>0&&k>y-S)do{o.lt[y++]=o.lt[S++]}while(0!=--k);else o.lt.set(o.lt.subarray(S,S+k),y),y+=k,S+=k,k=0;break}if(0!=(64&u))return c.Fe="invalid distance code",k=c.He-p,k=k>h>>3?h>>3:k,p+=k,d-=k,h-=k<<3,o.ot=w,o.ct=h,c.He=p,c.qe+=d-c.nt,c.nt=d,o.write=y,-3;f+=a[z+2],f+=w&Pe[u],z=3*(l+f),u=a[z]}break}if(0!=(64&u))return 0!=(32&u)?(k=c.He-p,k=k>h>>3?h>>3:k,p+=k,d-=k,h-=k<<3,o.ot=w,o.ct=h,c.He=p,c.qe+=d-c.nt,c.nt=d,o.write=y,1):(c.Fe="invalid literal/length code",k=c.He-p,k=k>h>>3?h>>3:k,p+=k,d-=k,h-=k<<3,o.ot=w,o.ct=h,c.He=p,c.qe+=d-c.nt,c.nt=d,o.write=y,-3);if(f+=a[z+2],f+=w&Pe[u],z=3*(l+f),0===(u=a[z])){w>>=a[z+1],h-=a[z+1],o.lt[y++]=a[z+2],m--;break}}else w>>=a[z+1],h-=a[z+1],o.lt[y++]=a[z+2],m--}while(m>=258&&p>=10);return k=c.He-p,k=k>h>>3?h>>3:k,p+=k,d-=k,h-=k<<3,o.ot=w,o.ct=h,c.He=p,c.qe+=d-c.nt,c.nt=d,o.write=y,0}e.init=(e,i,o,c,f,a)=>{t=0,u=e,w=i,r=o,h=c,s=f,d=a,n=null},e.ut=(e,y,m)=>{let b,g,k,v,S,z,C,I=0,x=0,_=0;for(_=y.nt,v=y.He,I=e.ot,x=e.ct,S=e.write,z=S =258&&v>=10&&(e.ot=I,e.ct=x,y.He=v,y.qe+=_-y.nt,y.nt=_,e.write=S,m=p(u,w,r,h,s,d,e,y),_=y.nt,v=y.He,I=e.ot,x=e.ct,S=e.write,z=S x;){if(0===v)return e.ot=I,e.ct=x,y.He=v,y.qe+=_-y.nt,y.nt=_,e.write=S,e.wt(y,m);m=0,v--,I|=(255&y.ft(_++))< >>=n[g+1],x-=n[g+1],k=n[g],0===k){f=n[g+2],t=6;break}if(0!=(16&k)){a=15&k,i=n[g+2],t=2;break}if(0==(64&k)){c=k,o=g/3+n[g+2];break}if(0!=(32&k)){t=7;break}return t=9,y.Fe="invalid literal/length code",m=-3,e.ot=I,e.ct=x,y.He=v,y.qe+=_-y.nt,y.nt=_,e.write=S,e.wt(y,m);case 2:for(b=a;b>x;){if(0===v)return e.ot=I,e.ct=x,y.He=v,y.qe+=_-y.nt,y.nt=_,e.write=S,e.wt(y,m);m=0,v--,I|=(255&y.ft(_++))< >=b,x-=b,c=w,n=s,o=d,t=3;case 3:for(b=c;b>x;){if(0===v)return e.ot=I,e.ct=x,y.He=v,y.qe+=_-y.nt,y.nt=_,e.write=S,e.wt(y,m);m=0,v--,I|=(255&y.ft(_++))< >=n[g+1],x-=n[g+1],k=n[g],0!=(16&k)){a=15&k,l=n[g+2],t=4;break}if(0==(64&k)){c=k,o=g/3+n[g+2];break}return t=9,y.Fe="invalid distance code",m=-3,e.ot=I,e.ct=x,y.He=v,y.qe+=_-y.nt,y.nt=_,e.write=S,e.wt(y,m);case 4:for(b=a;b>x;){if(0===v)return e.ot=I,e.ct=x,y.He=v,y.qe+=_-y.nt,y.nt=_,e.write=S,e.wt(y,m);m=0,v--,I|=(255&y.ft(_++))< >=b,x-=b,t=5;case 5:for(C=S-l;0>C;)C+=e.end;for(;0!==i;){if(0===z&&(S==e.end&&0!==e.read&&(S=0,z=S 7&&(x-=8,v++,_--),e.write=S,m=e.wt(y,m),S=e.write,z=S {}}je.dt=(e,t,n,r)=>(e[0]=9,t[0]=5,n[0]=Ue,r[0]=Ne,0);const Oe=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];function qe(e,t){const n=this;let r,s=0,o=0,c=0,a=0;const l=[0],u=[0],w=new Fe;let h=0,d=new f(4320);const p=new je;n.ct=0,n.ot=0,n.lt=new i(t),n.end=t,n.read=0,n.write=0,n.reset=(e,t)=>{t&&(t[0]=0),6==s&&w.ht(e),s=0,n.ct=0,n.ot=0,n.read=n.write=0},n.reset(e,null),n.wt=(e,t)=>{let r,s,i;return s=e.rt,i=n.read,r=(i>n.write?n.end:n.write)-i,r>e.tt&&(r=e.tt),0!==r&&-5==t&&(t=0),e.tt-=r,e.Ge+=r,e.$e.set(n.lt.subarray(i,i+r),s),s+=r,i+=r,i==n.end&&(i=0,n.write==n.end&&(n.write=0),r=n.write-i,r>e.tt&&(r=e.tt),0!==r&&-5==t&&(t=0),e.tt-=r,e.Ge+=r,e.$e.set(n.lt.subarray(i,i+r),s),s+=r,i+=r),e.rt=s,n.read=i,t},n.ut=(e,t)=>{let i,f,y,m,b,g,k,v;for(m=e.nt,b=e.He,f=n.ot,y=n.ct,g=n.write,k=g y;){if(0===b)return n.ot=f,n.ct=y,e.He=b,e.qe+=m-e.nt,e.nt=m,n.write=g,n.wt(e,t);t=0,b--,f|=(255&e.ft(m++))< >>1){case 0:f>>>=3,y-=3,i=7&y,f>>>=i,y-=i,s=1;break;case 1:S=[],z=[],C=[[]],I=[[]],je.dt(S,z,C,I),w.init(S[0],z[0],C[0],0,I[0],0),f>>>=3,y-=3,s=6;break;case 2:f>>>=3,y-=3,s=3;break;case 3:return f>>>=3,y-=3,s=9,e.Fe="invalid block type",t=-3,n.ot=f,n.ct=y,e.He=b,e.qe+=m-e.nt,e.nt=m,n.write=g,n.wt(e,t)}break;case 1:for(;32>y;){if(0===b)return n.ot=f,n.ct=y,e.He=b,e.qe+=m-e.nt,e.nt=m,n.write=g,n.wt(e,t);t=0,b--,f|=(255&e.ft(m++))< >>16&65535)!=(65535&f))return s=9,e.Fe="invalid stored block lengths",t=-3,n.ot=f,n.ct=y,e.He=b,e.qe+=m-e.nt,e.nt=m,n.write=g,n.wt(e,t);o=65535&f,f=y=0,s=0!==o?2:0!==h?7:0;break;case 2:if(0===b)return n.ot=f,n.ct=y,e.He=b,e.qe+=m-e.nt,e.nt=m,n.write=g,n.wt(e,t);if(0===k&&(g==n.end&&0!==n.read&&(g=0,k=g b&&(i=b),i>k&&(i=k),n.lt.set(e.Le(m,i),g),m+=i,b-=i,g+=i,k-=i,0!=(o-=i))break;s=0!==h?7:0;break;case 3:for(;14>y;){if(0===b)return n.ot=f,n.ct=y,e.He=b,e.qe+=m-e.nt,e.nt=m,n.write=g,n.wt(e,t);t=0,b--,f|=(255&e.ft(m++))< 29||(i>>5&31)>29)return s=9,e.Fe="too many length or distance symbols",t=-3,n.ot=f,n.ct=y,e.He=b,e.qe+=m-e.nt,e.nt=m,n.write=g,n.wt(e,t);if(i=258+(31&i)+(i>>5&31),!r||r.lengthv;v++)r[v]=0;f>>>=14,y-=14,a=0,s=4;case 4:for(;4+(c>>>10)>a;){for(;3>y;){if(0===b)return n.ot=f,n.ct=y,e.He=b,e.qe+=m-e.nt,e.nt=m,n.write=g,n.wt(e,t);t=0,b--,f|=(255&e.ft(m++))< >>=3,y-=3}for(;19>a;)r[Oe[a++]]=0;if(l[0]=7,i=p.st(r,l,u,d,e),0!=i)return-3==(t=i)&&(r=null,s=9),n.ot=f,n.ct=y,e.He=b,e.qe+=m-e.nt,e.nt=m,n.write=g,n.wt(e,t);a=0,s=5;case 5:for(;i=c,258+(31&i)+(i>>5&31)>a;){let o,w;for(i=l[0];i>y;){if(0===b)return n.ot=f,n.ct=y,e.He=b,e.qe+=m-e.nt,e.nt=m,n.write=g,n.wt(e,t);t=0,b--,f|=(255&e.ft(m++))< w)f>>>=i,y-=i,r[a++]=w;else{for(v=18==w?7:w-14,o=18==w?11:3;i+v>y;){if(0===b)return n.ot=f,n.ct=y,e.He=b,e.qe+=m-e.nt,e.nt=m,n.write=g,n.wt(e,t);t=0,b--,f|=(255&e.ft(m++))< >>=i,y-=i,o+=f&Pe[v],f>>>=v,y-=v,v=a,i=c,v+o>258+(31&i)+(i>>5&31)||16==w&&1>v)return r=null,s=9,e.Fe="invalid bit length repeat",t=-3,n.ot=f,n.ct=y,e.He=b,e.qe+=m-e.nt,e.nt=m,n.write=g,n.wt(e,t);w=16==w?r[v-1]:0;do{r[v++]=w}while(0!=--o);a=v}}if(u[0]=-1,x=[],_=[],A=[],D=[],x[0]=9,_[0]=6,i=c,i=p.it(257+(31&i),1+(i>>5&31),r,x,_,A,D,d,e),0!=i)return-3==i&&(r=null,s=9),t=i,n.ot=f,n.ct=y,e.He=b,e.qe+=m-e.nt,e.nt=m,n.write=g,n.wt(e,t);w.init(x[0],_[0],d,A[0],d,D[0]),s=6;case 6:if(n.ot=f,n.ct=y,e.He=b,e.qe+=m-e.nt,e.nt=m,n.write=g,1!=(t=w.ut(n,e,t)))return n.wt(e,t);if(t=0,w.ht(e),m=e.nt,b=e.He,f=n.ot,y=n.ct,g=n.write,k=g {n.reset(e,null),n.lt=null,d=null},n.yt=(e,t,r)=>{n.lt.set(e.subarray(t,t+r),0),n.read=n.write=r},n.bt=()=>1==s?1:0}const Ge=[0,0,255,255];function Je(){const e=this;function t(e){return e&&e.gt?(e.qe=e.Ge=0,e.Fe=null,e.gt.mode=7,e.gt.kt.reset(e,null),0):-2}e.mode=0,e.method=0,e.vt=[0],e.St=0,e.marker=0,e.zt=0,e.Ct=t=>(e.kt&&e.kt.ht(t),e.kt=null,0),e.It=(n,r)=>(n.Fe=null,e.kt=null,8>r||r>15?(e.Ct(n),-2):(e.zt=r,n.gt.kt=new qe(n,1< {let n,r;if(!e||!e.gt||!e.et)return-2;const s=e.gt;for(t=4==t?-5:0,n=-5;;)switch(s.mode){case 0:if(0===e.He)return n;if(n=t,e.He--,e.qe++,8!=(15&(s.method=e.ft(e.nt++)))){s.mode=13,e.Fe="unknown compression method",s.marker=5;break}if(8+(s.method>>4)>s.zt){s.mode=13,e.Fe="invalid win size",s.marker=5;break}s.mode=1;case 1:if(0===e.He)return n;if(n=t,e.He--,e.qe++,r=255&e.ft(e.nt++),((s.method<<8)+r)%31!=0){s.mode=13,e.Fe="incorrect header check",s.marker=5;break}if(0==(32&r)){s.mode=7;break}s.mode=2;case 2:if(0===e.He)return n;n=t,e.He--,e.qe++,s.St=(255&e.ft(e.nt++))<<24&4278190080,s.mode=3;case 3:if(0===e.He)return n;n=t,e.He--,e.qe++,s.St+=(255&e.ft(e.nt++))<<16&16711680,s.mode=4;case 4:if(0===e.He)return n;n=t,e.He--,e.qe++,s.St+=(255&e.ft(e.nt++))<<8&65280,s.mode=5;case 5:return 0===e.He?n:(n=t,e.He--,e.qe++,s.St+=255&e.ft(e.nt++),s.mode=6,2);case 6:return s.mode=13,e.Fe="need dictionary",s.marker=0,-2;case 7:if(n=s.kt.ut(e,n),-3==n){s.mode=13,s.marker=0;break}if(0==n&&(n=t),1!=n)return n;n=t,s.kt.reset(e,s.vt),s.mode=12;case 12:return e.He=0,1;case 13:return-3;default:return-2}},e._t=(e,t,n)=>{let r=0,s=n;if(!e||!e.gt||6!=e.gt.mode)return-2;const i=e.gt;return s<1< {let n,r,s,i,o;if(!e||!e.gt)return-2;const c=e.gt;if(13!=c.mode&&(c.mode=13,c.marker=0),0===(n=e.He))return-5;for(r=e.nt,s=c.marker;0!==n&&4>s;)e.ft(r)==Ge[s]?s++:s=0!==e.ft(r)?0:4-s,r++,n--;return e.qe+=r-e.nt,e.nt=r,e.He=n,c.marker=s,4!=s?-3:(i=e.qe,o=e.Ge,t(e),e.qe=i,e.Ge=o,c.mode=7,0)},e.Dt=e=>e&&e.gt&&e.gt.kt?e.gt.kt.bt():-2}function Qe(){}function Xe(e){const t=new Qe,n=e&&e.chunkSize?r.floor(2*e.chunkSize):131072,o=new i(n);let c=!1;t.It(),t.$e=o,this.append=(e,r)=>{const f=[];let a,l,u=0,w=0,h=0;if(0!==e.length){t.nt=0,t.et=e,t.He=e.length;do{if(t.rt=0,t.tt=n,0!==t.He||c||(t.nt=0,c=!0),a=t.xt(0),c&&-5===a){if(0!==t.He)throw new s("inflating: bad input")}else if(0!==a&&1!==a)throw new s("inflating: "+t.Fe);if((c||1===a)&&t.He===e.length)throw new s("inflating: bad input");t.rt&&(t.rt===n?f.push(new i(o)):f.push(o.slice(0,t.rt))),h+=t.rt,r&&t.nt>0&&t.nt!=u&&(r(t.nt),u=t.nt)}while(t.He>0||0===t.tt);return f.length>1?(l=new i(h),f.forEach((e=>{l.set(e,w),w+=e.length}))):l=f[0]||new i,l}},this.flush=()=>{t.Ct()}}Qe.prototype={It(e){const t=this;return t.gt=new Je,e||(e=15),t.gt.It(t,e)},xt(e){const t=this;return t.gt?t.gt.xt(t,e):-2},Ct(){const e=this;if(!e.gt)return-2;const t=e.gt.Ct(e);return e.gt=null,t},At(){const e=this;return e.gt?e.gt.At(e):-2},_t(e,t){const n=this;return n.gt?n.gt._t(n,e,t):-2},ft(e){return this.et[e]},Le(e,t){return this.et.subarray(e,e+t)}},self.initCodec=()=>{self.Deflate=Ke,self.Inflate=Xe};\n'],{type:"text/javascript"}));e({workerScripts:{inflate:[t],deflate:[t]}})}(ne),e.BlobReader=Vt,e.BlobWriter=Bt,e.Data64URIReader=class extends Mt{constructor(e){super();let t=e.length;for(;"="==e.charAt(t-1);)t--;const r=e.indexOf(",")+1;n.assign(this,{dataURI:e,dataStart:r,size:a.floor(.75*(t-r))})}readUint8Array(e,t){const{dataStart:n,dataURI:r}=this,s=new w(t),i=4*a.floor(e/3),o=atob(r.substring(i+n,4*a.ceil((e+t)/3)+n)),c=e-3*a.floor(i/4);for(let e=c;e 2?t.data+=x(s):t.pending=s}getData(){return this.data+x(this.pending)}},e.ERR_BAD_FORMAT=Wn,e.ERR_CENTRAL_DIRECTORY_NOT_FOUND=Pn,e.ERR_DUPLICATED_NAME=fr,e.ERR_ENCRYPTED=Kn,e.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=Mn,e.ERR_EOCDR_NOT_FOUND=qn,e.ERR_EOCDR_ZIP64_NOT_FOUND=Ln,e.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=Bn,e.ERR_HTTP_RANGE=Ht,e.ERR_INVALID_COMMENT=dr,e.ERR_INVALID_ENCRYPTION_STRENGTH=gr,e.ERR_INVALID_ENTRY_COMMENT=wr,e.ERR_INVALID_ENTRY_NAME=hr,e.ERR_INVALID_EXTRAFIELD_DATA=yr,e.ERR_INVALID_EXTRAFIELD_TYPE=mr,e.ERR_INVALID_PASSWORD=me,e.ERR_INVALID_SIGNATURE=ye,e.ERR_INVALID_VERSION=pr,e.ERR_ITERATOR_COMPLETED_TOO_SOON=Ot,e.ERR_LOCAL_FILE_HEADER_NOT_FOUND=Vn,e.ERR_SPLIT_ZIP_FILE=Xn,e.ERR_UNSUPPORTED_COMPRESSION=Zn,e.ERR_UNSUPPORTED_ENCRYPTION=Yn,e.ERR_UNSUPPORTED_FORMAT=br,e.HttpRangeReader=class extends sn{constructor(e,t={}){t.useRangeHeader=!0,super(e,t)}},e.HttpReader=sn,e.Reader=Mt,e.SplitDataReader=an,e.SplitDataWriter=on,e.SplitZipReader=dn,e.SplitZipWriter=wn,e.TextReader=class extends Vt{constructor(e){super(new m([e],{type:"text/plain"}))}},e.TextWriter=class extends Bt{constructor(e){super(e),n.assign(this,{encoding:e,utf8:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,utf8:t}=this,r=await super.getData();if(r.text&&t)return r.text();{const t=new FileReader;return new y(((s,i)=>{n.assign(t,{onload:({target:e})=>s(e.result),onerror:()=>i(t.error)}),t.readAsText(r,e)}))}}},e.Uint8ArrayReader=class extends Mt{constructor(e){super(),n.assign(this,{array:e,size:e.length})}readUint8Array(e,t){return this.array.slice(e,e+t)}},e.Uint8ArrayWriter=class extends Bt{async getData(){return new w(await(await this.blob).arrayBuffer())}},e.Writer=Pt,e.ZipReader=class{constructor(e,t={}){n.assign(this,{reader:ln(e),options:t,config:ee()})}async*getEntriesGenerator(e={}){const t=this;let{reader:r}=t;const{config:s}=t;if(await cn(r),r.size!==Z&&r.readUint8Array||(r=new Vt(await new u(r.readable).blob()),await cn(r)),r.size =0;e--)if(a[e]==i[0]&&a[e+1]==i[1]&&a[e+2]==i[2]&&a[e+3]==i[3])return{offset:s+e,buffer:a.slice(e,e+r).buffer}}}(r,N,r.size,L,1048560);if(!i){throw cr(ur(await fn(r,0,4)))==H?new d(Xn):new d(qn)}const o=ur(i);let c=cr(o,12),l=cr(o,16);const f=i.offset,h=or(o,20),p=f+L+h;let g=or(o,4);const m=r.lastDiskNumber||0;let b=or(o,6),S=or(o,8),k=0,z=0;if(l==I||c==I||S==A||b==A){const e=ur(await fn(r,i.offset-20,20));if(cr(e,0)!=q)throw new d(Ln);l=lr(e,8);let t=await fn(r,l,56,-1),n=ur(t);const s=i.offset-20-56;if(cr(n,0)!=W&&l!=s){const e=l;l=s,k=l-e,t=await fn(r,l,56,-1),n=ur(t)}if(cr(n,0)!=W)throw new d(Mn);g==A&&(g=cr(n,16)),b==A&&(b=cr(n,20)),S==A&&(S=lr(n,32)),c==I&&(c=lr(n,40)),l-=c}if(m!=g)throw new d(Xn);if(l<0||l>=r.size)throw new d(Wn);let x=0,v=await fn(r,l,c,b),C=ur(v);if(c){const e=i.offset-c;if(cr(C,x)!=U&&l!=e){const t=l;l=e,k=l-t,v=await fn(r,l,c,b),C=ur(v)}}if(l<0||l>=r.size)throw new d(Wn);const _=rr(t,e,"filenameEncoding"),D=rr(t,e,"commentEncoding");for(let i=0;i o.getData(e,H,t),x=m;const{onprogress:O}=e;if(O)try{await O(i+1,S,new Nn(o))}catch(e){}yield H}const F=rr(t,e,"extractPrependedData"),R=rr(t,e,"extractAppendedData");return F&&(t.prependedData=z>0?await fn(r,0,z):new w),t.comment=h?await fn(r,f+L,h):new w,R&&(t.appendedData=pzr.push(e)));try{if(e=e.trim(),c.filenames.has(e))throw new d(fr);return c.filenames.add(e),f=async function(e,r,s,c){r=r.trim(),c.directory&&!r.endsWith(B)?r+=B:c.directory=r.endsWith(B);const l=ce(r);if(Ar(l)>A)throw new d(hr);const u=c.comment||"",f=ce(u);if(Ar(f)>A)throw new d(wr);const m=Cr(e,c,"version",20);if(m>A)throw new d(pr);const b=Cr(e,c,"versionMadeBy",20);if(b>A)throw new d(pr);const S=Cr(e,c,_n,new o),k=Cr(e,c,Fn),z=Cr(e,c,En),x=Cr(e,c,Hn,!0),v=Cr(e,c,An,0),C=Cr(e,c,Tn,0),_=Cr(e,c,"password"),D=Cr(e,c,"encryptionStrength",3),F=Cr(e,c,"zipCrypto"),R=Cr(e,c,"extendedTimestamp",!0),E=Cr(e,c,"keepOrder",!0),U=Cr(e,c,"level"),N=Cr(e,c,"useWebWorkers"),W=Cr(e,c,"bufferedWrite"),q=Cr(e,c,"dataDescriptorSignature",!1),L=Cr(e,c,"signal"),X=Cr(e,c,"useCompressionStream");let G=Cr(e,c,"dataDescriptor",!0),j=Cr(e,c,On);if(_!==Z&&D!==Z&&(D<1||D>3))throw new d(gr);let J=new w;const{extraField:Q}=c;if(Q){let e=0,t=0;Q.forEach((t=>e+=4+Ar(t))),J=new w(e),Q.forEach(((e,n)=>{if(n>A)throw new d(mr);if(Ar(e)>A)throw new d(yr);Er(J,new h([n]),t),Er(J,new h([Ar(e)]),t+2),Er(J,e,t+4),t+=4+Ar(e)}))}let $=0,ee=0,ne=0;const re=!0===j;s&&(s=ln(s),await cn(s),s.size===Z?(G=!0,(j||j===Z)&&(j=!0,$=I)):(ne=s.size,$=function(e){return e+5*(a.floor(e/16383)+1)}(ne)));const{diskOffset:se,diskNumber:ie,maxSize:ae}=e.writer,oe=re||ne>=I,le=re||$>=I,ue=re||e.offset+e.pendingEntriesSize-se>=I,fe=Cr(e,c,"supportZip64SplitFile",!0)&&re||ie+a.ceil(e.pendingEntriesSize/ae)>=A;if(ue||oe||le||fe){if(!1===j||!E)throw new d(br);j=!0}j=j||!1;const de=function(e){const{rawFilename:t,lastModDate:n,lastAccessDate:r,creationDate:s,password:i,level:o,zip64:c,zipCrypto:l,dataDescriptor:u,directory:f,rawExtraField:d,encryptionStrength:h,extendedTimestamp:g}=e,m=0!==o&&!f,y=Boolean(i&&Ar(i));let b,S,k,z=e.version;if(y&&!l){b=new w(Ar(Sr)+2);const e=Ir(b);Dr(e,0,M),Er(b,Sr,2),_r(e,8,h)}else b=new w;if(g){k=new w(9+(r?4:0)+(s?4:0));const e=Ir(k);Dr(e,0,P),Dr(e,2,Ar(k)-4);_r(e,4,1+(r?2:0)+(s?4:0)),Fr(e,5,a.floor(n.getTime()/1e3)),r&&Fr(e,9,a.floor(r.getTime()/1e3)),s&&Fr(e,13,a.floor(s.getTime()/1e3));try{S=new w(36);const e=Ir(S),t=vr(n);Dr(e,0,10),Dr(e,2,32),Dr(e,8,1),Dr(e,10,24),Rr(e,12,t),Rr(e,20,vr(r)||t),Rr(e,28,vr(s)||t)}catch(e){S=new w}}else S=k=new w;let x=V;u&&(x|=8);let v=0;m&&(v=8);c&&(z=z>45?z:45);y&&(x|=1,l||(z=z>51?z:51,v=99,m&&(b[9]=8)));const C=new w(26),_=Ir(C);Dr(_,0,z),Dr(_,2,x),Dr(_,4,v);const D=new p(1),F=Ir(D);let R;R=n K?K:n;Dr(F,0,(R.getHours()<<6|R.getMinutes())<<5|R.getSeconds()/2),Dr(F,2,(R.getFullYear()-1980<<4|R.getMonth()+1)<<5|R.getDate());const E=D[0];Fr(_,6,E),Dr(_,22,Ar(t));const I=Ar(b,k,S,d);Dr(_,24,I);const A=new w(30+Ar(t)+I);return Fr(Ir(A),0,T),Er(A,C,4),Er(A,t,30),Er(A,b,30+Ar(t)),Er(A,k,30+Ar(t,b)),Er(A,S,30+Ar(t,b,k)),Er(A,d,30+Ar(t,b,k,S)),{localHeaderArray:A,headerArray:C,headerView:_,lastModDate:n,rawLastModDate:E,encrypted:y,compressed:m,version:z,compressionMethod:v,rawExtraFieldExtendedTimestamp:k,rawExtraFieldNTFS:S,rawExtraFieldAES:b}}(c=n.assign({},c,{rawFilename:l,rawComment:f,version:m,versionMadeBy:b,lastModDate:S,lastAccessDate:k,creationDate:z,rawExtraField:J,zip64:j,zip64UncompressedSize:oe,zip64CompressedSize:le,zip64Offset:ue,zip64DiskNumberStart:fe,password:_,level:U,useWebWorkers:N,encryptionStrength:D,extendedTimestamp:R,zipCrypto:F,bufferedWrite:W,keepOrder:E,dataDescriptor:G,dataDescriptorSignature:q,signal:L,msDosCompatible:x,internalFileAttribute:v,externalFileAttribute:C,useCompressionStream:X})),we=function(e){const{zip64:t,dataDescriptor:n,dataDescriptorSignature:r}=e;let s,i=new w,a=0;n&&(i=new w(t?r?24:20:r?16:12),s=Ir(i),r&&(a=4,Fr(s,0,O)));return{dataDescriptorArray:i,dataDescriptorView:s,dataDescriptorOffset:a}}(c);let he;ee=Ar(de.localHeaderArray,we.dataDescriptorArray)+$,e.pendingEntriesSize+=ee;try{he=await async function(e,r,s,a,o){const{files:c,writer:l}=e,{keepOrder:u,dataDescriptor:f,signal:h}=o,{headerInfo:p}=a,m=t.from(c.values()).pop();let b,S,k,z,x,v,C={};c.set(r,C);try{let t;u&&(t=m&&m.lock,_()),o.bufferedWrite||e.writerLocked||e.bufferedWrites&&u||!f?(v=new Bt,v.writable.size=0,b=!0,e.bufferedWrites++,await cn(l)):(v=l,await D()),await cn(v);const{writable:p}=l;let{diskOffset:y}=l;if(e.addSplitZipSignature){delete e.addSplitZipSignature;const t=new w(4);Fr(Ir(t),0,H),await xr(p,t),e.offset+=4}b||(await t,await F(p));const{diskNumber:R}=l;if(x=!0,C.diskNumberStart=R,C=await async function(e,t,{diskNumberStart:r,lock:s},a,o,c){const{headerInfo:l,dataDescriptorInfo:u}=a,{localHeaderArray:f,headerArray:d,lastModDate:h,rawLastModDate:p,encrypted:g,compressed:m,version:y,compressionMethod:b,rawExtraFieldExtendedTimestamp:S,rawExtraFieldNTFS:k,rawExtraFieldAES:z}=l,{dataDescriptorArray:x}=u,{rawFilename:v,lastAccessDate:C,creationDate:_,password:D,level:F,zip64:R,zip64UncompressedSize:E,zip64CompressedSize:A,zip64Offset:T,zip64DiskNumberStart:H,zipCrypto:O,dataDescriptor:U,directory:N,versionMadeBy:W,rawComment:q,rawExtraField:L,useWebWorkers:M,onstart:P,onprogress:V,onend:B,signal:K,encryptionStrength:Y,extendedTimestamp:X,msDosCompatible:G,internalFileAttribute:j,externalFileAttribute:J,useCompressionStream:Q}=c,$={lock:s,versionMadeBy:W,zip64:R,directory:Boolean(N),filenameUTF8:!0,rawFilename:v,commentUTF8:!0,rawComment:q,rawExtraFieldExtendedTimestamp:S,rawExtraFieldNTFS:k,rawExtraFieldAES:z,rawExtraField:L,extendedTimestamp:X,msDosCompatible:G,internalFileAttribute:j,externalFileAttribute:J,diskNumberStart:r};let ee,ne=0,re=0;const{writable:se}=t;if(e){e.chunkSize=te(o),await xr(se,f);const t=e.readable,n=t.size=e.size,r={options:{codecType:pt,level:F,password:D,encryptionStrength:Y,zipCrypto:g&&O,passwordVerification:g&&O&&p>>8&255,signed:!0,compressed:m,encrypted:g,useWebWorkers:M,useCompressionStream:Q,transferStreams:!1},config:o,streamOptions:{signal:K,size:n,onstart:P,onprogress:V,onend:B}},s=await It({readable:t,writable:se},r);se.size+=s.size,ee=s.signature,re=e.size=t.size,ne=s.size}else await xr(se,f);let ie;if(R){let e=4;E&&(e+=8),A&&(e+=8),T&&(e+=8),H&&(e+=4),ie=new w(e)}else ie=new w;e&&function(e,t){const{signature:n,rawExtraFieldZip64:r,compressedSize:s,uncompressedSize:a,headerInfo:o,dataDescriptorInfo:c}=e,{headerView:l,encrypted:u}=o,{dataDescriptorView:f,dataDescriptorOffset:d}=c,{zip64:w,zip64UncompressedSize:h,zip64CompressedSize:p,zipCrypto:g,dataDescriptor:m}=t;u&&!g||n===Z||(Fr(l,10,n),m&&Fr(f,d,n));if(w){const e=Ir(r);Dr(e,0,1),Dr(e,2,r.length-4);let t=4;h&&(Fr(l,18,I),Rr(e,t,i(a)),t+=8),p&&(Fr(l,14,I),Rr(e,t,i(s))),m&&(Rr(f,d+4,i(s)),Rr(f,d+12,i(a)))}else Fr(l,14,s),Fr(l,18,a),m&&(Fr(f,d+4,s),Fr(f,d+8,a))}({signature:ee,rawExtraFieldZip64:ie,compressedSize:ne,uncompressedSize:re,headerInfo:l,dataDescriptorInfo:u},c);U&&await xr(se,x);return n.assign($,{uncompressedSize:re,compressedSize:ne,lastModDate:h,rawLastModDate:p,creationDate:_,lastAccessDate:C,encrypted:g,length:Ar(f,x)+ne,compressionMethod:b,version:y,headerArray:d,signature:ee,rawExtraFieldZip64:ie,zip64UncompressedSize:E,zip64CompressedSize:A,zip64Offset:T,zip64DiskNumberStart:H}),$}(s,v,C,a,e.config,o),x=!1,c.set(r,C),C.filename=r,b){await v.writable.close();let e=await v.getData();await t,await D(),z=!0,f||(e=await async function(e,t,n,{zipCrypto:r}){const s=await function(e,t,n){return t||n?e.slice(t,n).arrayBuffer():e.arrayBuffer()}(t,0,26),i=new g(s);e.encrypted&&!r||Fr(i,14,e.signature);e.zip64?(Fr(i,18,I),Fr(i,22,I)):(Fr(i,18,e.compressedSize),Fr(i,22,e.uncompressedSize));return await xr(n,new w(s)),t.slice(s.byteLength)}(C,e,p,o)),await F(p),C.diskNumberStart=l.diskNumber,y=l.diskOffset,await e.stream().pipeTo(p,{preventClose:!0,signal:h}),p.size+=e.size,z=!1}if(C.offset=e.offset-y,C.zip64)!function(e,t){const{rawExtraFieldZip64:n,offset:r,diskNumberStart:s}=e,{zip64UncompressedSize:a,zip64CompressedSize:o,zip64Offset:c,zip64DiskNumberStart:l}=t,u=Ir(n);let f=4;a&&(f+=8);o&&(f+=8);c&&(Rr(u,f,i(r)),f+=8);l&&Fr(u,f,s)}(C,o);else if(C.offset>=I)throw new d(br);return e.offset+=C.length,C}catch(t){throw(b&&z||!b&&x)&&(e.hasCorruptedEntries=!0,t&&(t.corruptedEntry=!0),b?e.offset+=v.writable.size:e.offset=v.writable.size),c.delete(r),t}finally{b&&e.bufferedWrites--,k&&k(),S&&S()}function _(){C.lock=new y((e=>k=e))}async function D(){e.writerLocked=!0;const{lockWriter:t}=e;e.lockWriter=new y((t=>S=()=>{e.writerLocked=!1,t()})),await t}async function F(e){p.localHeaderArray.length>l.availableSize&&(l.availableSize=0,await xr(e,new w))}}(e,r,s,{headerInfo:de,dataDescriptorInfo:we},c)}finally{e.pendingEntriesSize-=ee}return n.assign(he,{name:r,comment:u,extraField:Q}),new Nn(he)}(c,e,r,s),l.add(f),await f}catch(t){throw c.filenames.delete(e),t}finally{l.delete(f);const e=zr.shift();e?e():kr--}}async close(e=new w,n={}){const{pendingAddFileCalls:r,writer:s}=this,{writable:o}=s;for(;r.size;)await y.all(t.from(r));await async function(e,n,r){const{files:s,writer:o}=e,{diskOffset:c,writable:l}=o;let{diskNumber:u}=o,f=0,h=0,p=e.offset-c,g=s.size;for(const[,{rawFilename:e,rawExtraFieldZip64:t,rawExtraFieldAES:n,rawExtraField:r,rawComment:i,rawExtraFieldExtendedTimestamp:a,rawExtraFieldNTFS:o}]of s)h+=46+Ar(e,i,t,n,a,o,r);const m=new w(h),y=Ir(m);await cn(o);let b=0;for(const[e,n]of t.from(s.values()).entries()){const{offset:t,rawFilename:i,rawExtraFieldZip64:c,rawExtraFieldAES:u,rawExtraFieldNTFS:d,rawExtraField:h,rawComment:p,versionMadeBy:g,headerArray:S,directory:k,zip64:z,zip64UncompressedSize:x,zip64CompressedSize:v,zip64DiskNumberStart:C,zip64Offset:_,msDosCompatible:D,internalFileAttribute:F,externalFileAttribute:R,extendedTimestamp:E,lastModDate:T,diskNumberStart:H,uncompressedSize:O,compressedSize:N}=n;let W;if(E){W=new w(9);const e=Ir(W);Dr(e,0,P),Dr(e,2,Ar(W)-4),_r(e,4,1),Fr(e,5,a.floor(T.getTime()/1e3))}else W=new w;const q=Ar(c,u,W,d,h);Fr(y,f,U),Dr(y,f+4,g);const L=Ir(S);x||Fr(L,18,O),v||Fr(L,14,N),Er(m,S,f+6),Dr(y,f+30,q),Dr(y,f+32,Ar(p)),Dr(y,f+34,z&&C?A:H),Dr(y,f+36,F),R?Fr(y,f+38,R):k&&D&&_r(y,f+38,16),Fr(y,f+42,z&&_?I:t),Er(m,i,f+46),Er(m,c,f+46+Ar(i)),Er(m,u,f+46+Ar(i,c)),Er(m,W,f+46+Ar(i,c,u)),Er(m,d,f+46+Ar(i,c,u,W)),Er(m,h,f+46+Ar(i,c,u,W,d)),Er(m,p,f+46+Ar(i)+q);const M=46+Ar(i,p)+q;if(f-b>o.availableSize&&(o.availableSize=0,await xr(l,m.slice(b,f)),b=f),f+=M,r.onprogress)try{await r.onprogress(e+1,s.size,new Nn(n))}catch(e){}}await xr(l,b?m.slice(b):m);let S=o.diskNumber;const{availableSize:k}=o;k =I||h>=I||g>=A||S>=A){if(!1===z)throw new d(br);z=!0}const x=new w(z?98:L),v=Ir(x);if(f=0,z){Fr(v,0,W),Rr(v,4,i(44)),Dr(v,12,45),Dr(v,14,45),Fr(v,16,S),Fr(v,20,u),Rr(v,24,i(g)),Rr(v,32,i(g)),Rr(v,40,i(h)),Rr(v,48,i(p)),Fr(v,56,q),Rr(v,64,i(p)+i(h)),Fr(v,72,S+1);Cr(e,r,"supportZip64SplitFile",!0)&&(S=A,u=A),g=A,p=I,h=I,f+=76}Fr(v,f,N),Dr(v,f+4,S),Dr(v,f+6,u),Dr(v,f+8,g),Dr(v,f+10,g),Fr(v,f+12,h),Fr(v,f+16,p);const C=Ar(n);if(C){if(!(C<=A))throw new d(dr);Dr(v,f+20,C)}await xr(l,x),C&&await xr(l,n)}(this,e,n);return Cr(this,n,"preventClose")||await o.close(),s.getData?s.getData():o}},e.configure=ne,e.getMimeType=function(){return"application/octet-stream"},e.initReader=ln,e.initShimAsyncCodec=function(e,t={},n){return{Deflate:se(e.Deflate,t.deflate,n),Inflate:se(e.Inflate,t.inflate,n)}},e.initStream=cn,e.initWriter=un,e.readUint8Array=fn,e.terminateWorkers=function(){Ft.forEach((e=>{At(e),e.terminate()}))},n.defineProperty(e,"__esModule",{value:!0})})); \ No newline at end of file diff --git a/assets/Mobile/zip/base.zip b/assets/Mobile/zip/base.zip new file mode 100644 index 00000000..63e45d9b Binary files /dev/null and b/assets/Mobile/zip/base.zip differ diff --git a/assets/Mobile/zip/glui.zip b/assets/Mobile/zip/glui.zip new file mode 100644 index 00000000..a601d9e2 Binary files /dev/null and b/assets/Mobile/zip/glui.zip differ diff --git a/assets/Mobile/zip/shader.zip b/assets/Mobile/zip/shader.zip new file mode 100644 index 00000000..248953a3 Binary files /dev/null and b/assets/Mobile/zip/shader.zip differ diff --git a/assets/Mobile/zip/system-icons.zip b/assets/Mobile/zip/system-icons.zip new file mode 100644 index 00000000..653e2f5c Binary files /dev/null and b/assets/Mobile/zip/system-icons.zip differ diff --git a/m.html b/m.html new file mode 100644 index 00000000..e3595775 --- /dev/null +++ b/m.html @@ -0,0 +1,19 @@ + + + + + + + + + + + + + webretro + + + + + + \ No newline at end of file