This repository has been archived by the owner on Feb 15, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 24
/
Copy pathscrypt.js
30 lines (30 loc) · 133 KB
/
scrypt.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/**
* The included code and documentation ("scrypt") is distributed under the
* following terms:
*
* Copyright 2005-2016 Colin Percival. All rights reserved.
* Copyright 2005-2016 Tarsnap Backup Inc. All rights reserved.
* Copyright 2014 Sean Kelly. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
global.scrypt=function(){var e,m=void 0!==(m={TOTAL_MEMORY:67108864})?m:{},r={};for(e in m)m.hasOwnProperty(e)&&(r[e]=m[e]);m.arguments=[],m.thisProgram="./this.program",m.quit=function(e,r){throw r},m.preRun=[];var c,t,n=m.postRun=[],s=!1;n="object"==typeof window,c="function"==typeof importScripts,s="object"==typeof process&&"function"==typeof require&&!n&&!c,t=!n&&!s&&!c;var o,i,a="";s?(a=__dirname+"/",m.read=function(e,r){var t;return(t=ye(e))||(o||(o=require("fs")),i||(i=require("path")),e=i.normalize(e),t=o.readFileSync(e)),r?t:t.toString()},m.readBinary=function(e){var r=m.read(e,!0);return r.buffer||(r=new Uint8Array(r)),h(r.buffer),r},1<process.argv.length&&(m.thisProgram=process.argv[1].replace(/\\/g,"/")),m.arguments=process.argv.slice(2),"undefined"!=typeof module&&(module.exports=m),process.on("uncaughtException",function(e){if(!(e instanceof Fe))throw e}),process.on("unhandledRejection",function(e,r){process.exit(1)}),m.quit=function(e){process.exit(e)},m.inspect=function(){return"[Emscripten Module object]"}):t?("undefined"!=typeof read&&(m.read=function(e){var r=ye(e);return r?we(r):read(e)}),m.readBinary=function(e){var r;return(r=ye(e))?r:"function"==typeof readbuffer?new Uint8Array(readbuffer(e)):(h("object"==typeof(r=read(e,"binary"))),r)},"undefined"!=typeof scriptArgs?m.arguments=scriptArgs:void 0!==arguments&&(m.arguments=arguments),"function"==typeof quit&&(m.quit=function(e){quit(e)})):(n||c)&&(n?document.currentScript&&(a=document.currentScript.src):a=self.location.href,a=0!==a.indexOf("blob:")?a.substr(0,a.lastIndexOf("/")+1):"",m.read=function(r){try{var e=new XMLHttpRequest;return e.open("GET",r,!1),e.send(null),e.responseText}catch(e){var t=ye(r);if(t)return we(t);throw e}},c&&(m.readBinary=function(r){try{var e=new XMLHttpRequest;return e.open("GET",r,!1),e.responseType="arraybuffer",e.send(null),new Uint8Array(e.response)}catch(e){var t=ye(r);if(t)return t;throw e}}),m.readAsync=function(r,t,n){var o=new XMLHttpRequest;o.open("GET",r,!0),o.responseType="arraybuffer",o.onload=function(){if(200==o.status||0==o.status&&o.response)t(o.response);else{var e=ye(r);e?t(e.buffer):n()}},o.onerror=n,o.send(null)},m.setWindowTitle=function(e){document.title=e});var u=m.print||("undefined"!=typeof console?console.log.bind(console):"undefined"!=typeof print?print:null),f=m.printErr||("undefined"!=typeof printErr?printErr:"undefined"!=typeof console&&console.warn.bind(console)||u);for(e in r)r.hasOwnProperty(e)&&(m[e]=r[e]);r=void 0;function l(e,r){return r||(r=16),e=Math.ceil(e/r)*r}new Array(0);var d=!1;function h(e,r){e||Le("Assertion failed: "+r)}function E(e,r){if(0===r||!e)return"";for(var t,n=0,o=0;n|=t=_[e+o>>0],(0!=t||r)&&(o++,!r||o!=r););r||(r=o);var i="";if(n<128){for(var a;0<r;)a=String.fromCharCode.apply(String,_.subarray(e,e+Math.min(r,1024))),i=i?i+a:a,e+=1024,r-=1024;return i}return w(_,e)}var p="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function w(e,r){for(var t=r;e[t];)++t;if(16<t-r&&e.subarray&&p)return p.decode(e.subarray(r,t));for(var n,o,i,a,s,u="";;){if(!(n=e[r++]))return u;if(128&n)if(o=63&e[r++],192!=(224&n))if(i=63&e[r++],(n=224==(240&n)?(15&n)<<12|o<<6|i:(a=63&e[r++],240==(248&n)?(7&n)<<18|o<<12|i<<6|a:(s=63&e[r++],248==(252&n)?(3&n)<<24|o<<18|i<<12|a<<6|s:(1&n)<<30|o<<24|i<<18|a<<12|s<<6|63&e[r++])))<65536)u+=String.fromCharCode(n);else{var f=n-65536;u+=String.fromCharCode(55296|f>>10,56320|1023&f)}else u+=String.fromCharCode((31&n)<<6|o);else u+=String.fromCharCode(n)}}function v(e,r,t,n){if(!(0<n))return 0;for(var o=t,i=t+n-1,a=0;a<e.length;++a){var s=e.charCodeAt(a);if(55296<=s&&s<=57343)s=65536+((1023&s)<<10)|1023&e.charCodeAt(++a);if(s<=127){if(i<=t)break;r[t++]=s}else if(s<=2047){if(i<=t+1)break;r[t++]=192|s>>6,r[t++]=128|63&s}else if(s<=65535){if(i<=t+2)break;r[t++]=224|s>>12,r[t++]=128|s>>6&63,r[t++]=128|63&s}else if(s<=2097151){if(i<=t+3)break;r[t++]=240|s>>18,r[t++]=128|s>>12&63,r[t++]=128|s>>6&63,r[t++]=128|63&s}else if(s<=67108863){if(i<=t+4)break;r[t++]=248|s>>24,r[t++]=128|s>>18&63,r[t++]=128|s>>12&63,r[t++]=128|s>>6&63,r[t++]=128|63&s}else{if(i<=t+5)break;r[t++]=252|s>>30,r[t++]=128|s>>24&63,r[t++]=128|s>>18&63,r[t++]=128|s>>12&63,r[t++]=128|s>>6&63,r[t++]=128|63&s}}return r[t]=0,t-o}function y(e,r,t){return v(e,_,r,t)}function g(e){for(var r=0,t=0;t<e.length;++t){var n=e.charCodeAt(t);55296<=n&&n<=57343&&(n=65536+((1023&n)<<10)|1023&e.charCodeAt(++t)),n<=127?++r:r+=n<=2047?2:n<=65535?3:n<=2097151?4:n<=67108863?5:6}return r}"undefined"!=typeof TextDecoder&&new TextDecoder("utf-16le");function k(){var e=function(){var r=new Error;if(!r.stack){try{throw new Error(0)}catch(e){r=e}if(!r.stack)return"(no stack trace available)"}return r.stack.toString()}();return m.extraStackTrace&&(e+="\n"+m.extraStackTrace()),e.replace(/__Z[\w\d_]+/g,function(e){var r=e;return e===r?e:e+" ["+r+"]"})}var A,b,_,D,S,N,O,T,P,R,M=65536,I=16777216,F=16777216;function B(e,r){return 0<e%r&&(e+=r-e%r),e}function L(){m.HEAP8=b=new Int8Array(A),m.HEAP16=new Int16Array(A),m.HEAP32=D=new Int32Array(A),m.HEAPU8=_=new Uint8Array(A),m.HEAPU16=new Uint16Array(A),m.HEAPU32=new Uint32Array(A),m.HEAPF32=new Float32Array(A),m.HEAPF64=new Float64Array(A)}function C(){var e=m.usingWasm?M:I,r=2147483648-e;if(D[P>>2]>r)return!1;var t=z;for(z=Math.max(z,F);z<D[P>>2];)z=z<=536870912?B(2*z,e):Math.min(B((3*z+2147483648)/4,e),r);var n,o=m.reallocBuffer(z);return o&&o.byteLength==z?(n=o,m.buffer=A=n,L(),!0):(z=t,!1)}S=P=0,m.reallocBuffer||(m.reallocBuffer=function(e){var r;try{var t=b;r=new ArrayBuffer(e),new Int8Array(r).set(t)}catch(e){return!1}return!!Ae(r)&&r});try{(R=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get))(new ArrayBuffer(4))}catch(e){R=function(e){return e.byteLength}}var x=m.TOTAL_STACK||5242880,z=m.TOTAL_MEMORY||16777216;function U(e){for(;0<e.length;){var r=e.shift();if("function"!=typeof r){var t=r.func;"number"==typeof t?void 0===r.arg?m.dynCall_v(t):m.dynCall_vi(t,r.arg):t(void 0===r.arg?null:r.arg)}else r()}}z<x&&f("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+z+"! (TOTAL_STACK="+x+")"),m.buffer?A=m.buffer:(A=new ArrayBuffer(z),m.buffer=A),L();var j=[],q=[],H=[],V=[],Y=[],G=!1;Math.abs,Math.ceil,Math.floor,Math.min;var X=0,W=null,K=null;function Q(e){X++,m.monitorRunDependencies&&m.monitorRunDependencies(X)}function Z(e){if(X--,m.monitorRunDependencies&&m.monitorRunDependencies(X),0==X&&(null!==W&&(clearInterval(W),W=null),K)){var r=K;K=null,r()}}m.preloadedImages={},m.preloadedAudios={};var J=null,$="data:application/octet-stream;base64,";function ee(e){return String.prototype.startsWith?e.startsWith($):0===e.indexOf($)}S=728,q.push();var re=S;S+=16;var te={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},ne={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 oe(e){return m.___errno_location&&(D[m.___errno_location()>>2]=e),e}var ie={splitPath:function(e){return/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1)},normalizeArray:function(e,r){for(var t=0,n=e.length-1;0<=n;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=ie.normalizeArray(e.split("/").filter(function(e){return!!e}),!r).join("/"))||r||(e="."),e&&t&&(e+="/"),(r?"/":"")+e},dirname:function(e){var r=ie.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 ie.splitPath(e)[3]},join:function(){var e=Array.prototype.slice.call(arguments,0);return ie.normalize(e.join("/"))},join2:function(e,r){return ie.normalize(e+"/"+r)},resolve:function(){for(var e="",r=!1,t=arguments.length-1;-1<=t&&!r;t--){var n=0<=t?arguments[t]:le.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=ie.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;0<=t&&""===e[t];t--);return t<r?[]:e.slice(r,t-r+1)}e=ie.resolve(e).substr(1),r=ie.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("/")}},ae={ttys:[],init:function(){},shutdown:function(){},register:function(e,r){ae.ttys[e]={input:[],output:[],ops:r},le.registerDevice(e,ae.stream_ops)},stream_ops:{open:function(e){var r=ae.ttys[e.node.rdev];if(!r)throw new le.ErrnoError(te.ENODEV);e.tty=r,e.seekable=!1},close:function(e){e.tty.ops.flush(e.tty)},flush:function(e){e.tty.ops.flush(e.tty)},read:function(e,r,t,n,o){if(!e.tty||!e.tty.ops.get_char)throw new le.ErrnoError(te.ENXIO);for(var i=0,a=0;a<n;a++){var s;try{s=e.tty.ops.get_char(e.tty)}catch(e){throw new le.ErrnoError(te.EIO)}if(void 0===s&&0===i)throw new le.ErrnoError(te.EAGAIN);if(null==s)break;i++,r[t+a]=s}return i&&(e.node.timestamp=Date.now()),i},write:function(e,r,t,n,o){if(!e.tty||!e.tty.ops.put_char)throw new le.ErrnoError(te.ENXIO);for(var i=0;i<n;i++)try{e.tty.ops.put_char(e.tty,r[t+i])}catch(e){throw new le.ErrnoError(te.EIO)}return n&&(e.node.timestamp=Date.now()),i}},default_tty_ops:{get_char:function(e){if(!e.input.length){var r=null;if(s){var t=new Buffer(256),n=0,o="win32"!=process.platform,i=process.stdin.fd;if(o){var a=!1;try{i=he.openSync("/dev/stdin","r"),a=!0}catch(e){}}try{n=he.readSync(i,t,0,256,null)}catch(e){if(-1==e.toString().indexOf("EOF"))throw e;n=0}a&&he.closeSync(i),r=0<n?t.slice(0,n).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(r=window.prompt("Input: "))&&(r+="\n"):"function"==typeof readline&&null!==(r=readline())&&(r+="\n");if(!r)return null;e.input=pe(r,!0)}return e.input.shift()},put_char:function(e,r){null===r||10===r?(u(w(e.output,0)),e.output=[]):0!=r&&e.output.push(r)},flush:function(e){e.output&&0<e.output.length&&(u(w(e.output,0)),e.output=[])}},default_tty1_ops:{put_char:function(e,r){null===r||10===r?(f(w(e.output,0)),e.output=[]):0!=r&&e.output.push(r)},flush:function(e){e.output&&0<e.output.length&&(f(w(e.output,0)),e.output=[])}}},se={ops_table:null,mount:function(e){return se.createNode(null,"/",16895,0)},createNode:function(e,r,t,n){if(le.isBlkdev(t)||le.isFIFO(t))throw new le.ErrnoError(te.EPERM);se.ops_table||(se.ops_table={dir:{node:{getattr:se.node_ops.getattr,setattr:se.node_ops.setattr,lookup:se.node_ops.lookup,mknod:se.node_ops.mknod,rename:se.node_ops.rename,unlink:se.node_ops.unlink,rmdir:se.node_ops.rmdir,readdir:se.node_ops.readdir,symlink:se.node_ops.symlink},stream:{llseek:se.stream_ops.llseek}},file:{node:{getattr:se.node_ops.getattr,setattr:se.node_ops.setattr},stream:{llseek:se.stream_ops.llseek,read:se.stream_ops.read,write:se.stream_ops.write,allocate:se.stream_ops.allocate,mmap:se.stream_ops.mmap,msync:se.stream_ops.msync}},link:{node:{getattr:se.node_ops.getattr,setattr:se.node_ops.setattr,readlink:se.node_ops.readlink},stream:{}},chrdev:{node:{getattr:se.node_ops.getattr,setattr:se.node_ops.setattr},stream:le.chrdev_stream_ops}});var o=le.createNode(e,r,t,n);return le.isDir(o.mode)?(o.node_ops=se.ops_table.dir.node,o.stream_ops=se.ops_table.dir.stream,o.contents={}):le.isFile(o.mode)?(o.node_ops=se.ops_table.file.node,o.stream_ops=se.ops_table.file.stream,o.usedBytes=0,o.contents=null):le.isLink(o.mode)?(o.node_ops=se.ops_table.link.node,o.stream_ops=se.ops_table.link.stream):le.isChrdev(o.mode)&&(o.node_ops=se.ops_table.chrdev.node,o.stream_ops=se.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=se.getFileDataAsRegularArray(e),e.usedBytes=e.contents.length),!e.contents||e.contents.subarray){var t=e.contents?e.contents.length:0;if(r<=t)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(0<e.usedBytes&&e.contents.set(n.subarray(0,e.usedBytes),0))}for(!e.contents&&0<r&&(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=le.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,le.isDir(e.mode)?r.size=4096:le.isFile(e.mode)?r.size=e.usedBytes:le.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&&se.resizeFileStorage(e,r.size)},lookup:function(e,r){throw le.genericErrors[te.ENOENT]},mknod:function(e,r,t,n){return se.createNode(e,r,t,n)},rename:function(e,r,t){if(le.isDir(e.mode)){var n;try{n=le.lookupNode(r,t)}catch(e){}if(n)for(var o in n.contents)throw new le.ErrnoError(te.ENOTEMPTY)}delete e.parent.contents[e.name],e.name=t,(r.contents[t]=e).parent=r},unlink:function(e,r){delete e.contents[r]},rmdir:function(e,r){var t=le.lookupNode(e,r);for(var n in t.contents)throw new le.ErrnoError(te.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=se.createNode(e,r,41471,0);return n.link=t,n},readlink:function(e){if(!le.isLink(e.mode))throw new le.ErrnoError(te.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(h(0<=a),8<a&&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 a.contents=r.subarray(t,t+n),a.usedBytes=n;if(0===a.usedBytes&&0===o)return a.contents=new Uint8Array(r.subarray(t,t+n)),a.usedBytes=n;if(o+n<=a.usedBytes)return a.contents.set(r.subarray(t,t+n),o),n}if(se.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&&le.isFile(e.node.mode)&&(n+=e.node.usedBytes),n<0)throw new le.ErrnoError(te.EINVAL);return n},allocate:function(e,r,t){se.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(!le.isFile(e.node.mode))throw new le.ErrnoError(te.ENODEV);var s,u,f=e.node.contents;if(2&a||f.buffer!==r&&f.buffer!==r.buffer){if((0<o||o+n<e.node.usedBytes)&&(f=f.subarray?f.subarray(o,o+n):Array.prototype.slice.call(f,o,o+n)),u=!0,!(s=_e(n)))throw new le.ErrnoError(te.ENOMEM);r.set(f,s)}else u=!1,s=f.byteOffset;return{ptr:s,allocated:u}},msync:function(e,r,t,n,o){if(!le.isFile(e.node.mode))throw new le.ErrnoError(te.ENODEV);if(2&o)return 0;se.stream_ops.write(e,r,0,n,t,!1);return 0}}},ue={dbs:{},indexedDB:function(){if("undefined"!=typeof indexedDB)return indexedDB;var e=null;return"object"==typeof window&&(e=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB),h(e,"IDBFS used, but indexedDB not supported"),e},DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:function(e){return se.mount.apply(null,arguments)},syncfs:function(r,i,a){ue.getLocalSet(r,function(e,o){if(e)return a(e);ue.getRemoteSet(r,function(e,r){if(e)return a(e);var t=i?r:o,n=i?o:r;ue.reconcile(t,n,a)})})},getDB:function(e,r){var t,n=ue.dbs[e];if(n)return r(null,n);try{t=ue.indexedDB().open(e,ue.DB_VERSION)}catch(e){return r(e)}if(!t)return r("Unable to connect to IndexedDB");t.onupgradeneeded=function(e){var r,t=e.target.result,n=e.target.transaction;(r=t.objectStoreNames.contains(ue.DB_STORE_NAME)?n.objectStore(ue.DB_STORE_NAME):t.createObjectStore(ue.DB_STORE_NAME)).indexNames.contains("timestamp")||r.createIndex("timestamp","timestamp",{unique:!1})},t.onsuccess=function(){n=t.result,ue.dbs[e]=n,r(null,n)},t.onerror=function(e){r(this.error),e.preventDefault()}},getLocalSet:function(e,r){var t={};function n(e){return"."!==e&&".."!==e}function o(r){return function(e){return ie.join2(r,e)}}for(var i=le.readdir(e.mountpoint).filter(n).map(o(e.mountpoint));i.length;){var a,s=i.pop();try{a=le.stat(s)}catch(e){return r(e)}le.isDir(a.mode)&&i.push.apply(i,le.readdir(s).filter(n).map(o(s))),t[s]={timestamp:a.mtime}}return r(null,{type:"local",entries:t})},getRemoteSet:function(e,n){var o={};ue.getDB(e.mountpoint,function(e,t){if(e)return n(e);try{var r=t.transaction([ue.DB_STORE_NAME],"readonly");r.onerror=function(e){n(this.error),e.preventDefault()},r.objectStore(ue.DB_STORE_NAME).index("timestamp").openKeyCursor().onsuccess=function(e){var r=e.target.result;if(!r)return n(null,{type:"remote",db:t,entries:o});o[r.primaryKey]={timestamp:r.key},r.continue()}}catch(e){return n(e)}})},loadLocalEntry:function(e,r){var t,n;try{n=le.lookupPath(e).node,t=le.stat(e)}catch(e){return r(e)}return le.isDir(t.mode)?r(null,{timestamp:t.mtime,mode:t.mode}):le.isFile(t.mode)?(n.contents=se.getFileDataAsTypedArray(n),r(null,{timestamp:t.mtime,mode:t.mode,contents:n.contents})):r(new Error("node type not supported"))},storeLocalEntry:function(e,r,t){try{if(le.isDir(r.mode))le.mkdir(e,r.mode);else{if(!le.isFile(r.mode))return t(new Error("node type not supported"));le.writeFile(e,r.contents,{canOwn:!0})}le.chmod(e,r.mode),le.utime(e,r.timestamp,r.timestamp)}catch(e){return t(e)}t(null)},removeLocalEntry:function(e,r){try{le.lookupPath(e);var t=le.stat(e);le.isDir(t.mode)?le.rmdir(e):le.isFile(t.mode)&&le.unlink(e)}catch(e){return r(e)}r(null)},loadRemoteEntry:function(e,r,t){var n=e.get(r);n.onsuccess=function(e){t(null,e.target.result)},n.onerror=function(e){t(this.error),e.preventDefault()}},storeRemoteEntry:function(e,r,t,n){var o=e.put(t,r);o.onsuccess=function(){n(null)},o.onerror=function(e){n(this.error),e.preventDefault()}},removeRemoteEntry:function(e,r,t){var n=e.delete(r);n.onsuccess=function(){t(null)},n.onerror=function(e){t(this.error),e.preventDefault()}},reconcile:function(n,o,r){var i=0,a=[];Object.keys(n.entries).forEach(function(e){var r=n.entries[e],t=o.entries[e];(!t||r.timestamp>t.timestamp)&&(a.push(e),i++)});var t=[];if(Object.keys(o.entries).forEach(function(e){o.entries[e];n.entries[e]||(t.push(e),i++)}),!i)return r(null);var s=0,e=("remote"===n.type?n.db:o.db).transaction([ue.DB_STORE_NAME],"readwrite"),u=e.objectStore(ue.DB_STORE_NAME);function f(e){return e?f.errored?void 0:(f.errored=!0,r(e)):++s>=i?r(null):void 0}e.onerror=function(e){f(this.error),e.preventDefault()},a.sort().forEach(function(t){"local"===o.type?ue.loadRemoteEntry(u,t,function(e,r){if(e)return f(e);ue.storeLocalEntry(t,r,f)}):ue.loadLocalEntry(t,function(e,r){if(e)return f(e);ue.storeRemoteEntry(u,t,r,f)})}),t.sort().reverse().forEach(function(e){"local"===o.type?ue.removeLocalEntry(e,f):ue.removeRemoteEntry(u,e,f)})}},fe={isWindows:!(J="data:application/octet-stream;base64,AAAAAAAAAABn5glqha5nu3Lzbjw69U+lf1IOUYxoBZur2YMfGc3gW4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAZGtMZW4gPD0gMzIgKiAoc2l6ZV90KShVSU5UMzJfTUFYKQBzY3J5cHQtMS4yLjAvbGliY3BlcmNpdmEvYWxnL3NoYTI1Ni5jAFBCS0RGMl9TSEEyNTY="),staticInit:function(){fe.isWindows=!!process.platform.match(/^win/);var e=process.binding("constants");e.fs&&(e=e.fs),fe.flagsForNodeMap={1024:e.O_APPEND,64:e.O_CREAT,128:e.O_EXCL,0:e.O_RDONLY,2:e.O_RDWR,4096:e.O_SYNC,512:e.O_TRUNC,1:e.O_WRONLY}},bufferFrom:function(e){return Buffer.alloc?Buffer.from(e):new Buffer(e)},mount:function(e){return h(s),fe.createNode(null,"/",fe.getMode(e.opts.root),0)},createNode:function(e,r,t,n){if(!le.isDir(t)&&!le.isFile(t)&&!le.isLink(t))throw new le.ErrnoError(te.EINVAL);var o=le.createNode(e,r,t);return o.node_ops=fe.node_ops,o.stream_ops=fe.stream_ops,o},getMode:function(e){var r;try{r=he.lstatSync(e),fe.isWindows&&(r.mode=r.mode|(292&r.mode)>>2)}catch(e){if(!e.code)throw e;throw new le.ErrnoError(te[e.code])}return r.mode},realPath:function(e){for(var r=[];e.parent!==e;)r.push(e.name),e=e.parent;return r.push(e.mount.opts.root),r.reverse(),ie.join.apply(null,r)},flagsForNode:function(e){e&=-2097153,e&=-2049,e&=-32769,e&=-524289;var r=0;for(var t in fe.flagsForNodeMap)e&t&&(r|=fe.flagsForNodeMap[t],e^=t);if(e)throw new le.ErrnoError(te.EINVAL);return r},node_ops:{getattr:function(e){var r,t=fe.realPath(e);try{r=he.lstatSync(t)}catch(e){if(!e.code)throw e;throw new le.ErrnoError(te[e.code])}return fe.isWindows&&!r.blksize&&(r.blksize=4096),fe.isWindows&&!r.blocks&&(r.blocks=(r.size+r.blksize-1)/r.blksize|0),{dev:r.dev,ino:r.ino,mode:r.mode,nlink:r.nlink,uid:r.uid,gid:r.gid,rdev:r.rdev,size:r.size,atime:r.atime,mtime:r.mtime,ctime:r.ctime,blksize:r.blksize,blocks:r.blocks}},setattr:function(e,r){var t=fe.realPath(e);try{if(void 0!==r.mode&&(he.chmodSync(t,r.mode),e.mode=r.mode),void 0!==r.timestamp){var n=new Date(r.timestamp);he.utimesSync(t,n,n)}void 0!==r.size&&he.truncateSync(t,r.size)}catch(e){if(!e.code)throw e;throw new le.ErrnoError(te[e.code])}},lookup:function(e,r){var t=ie.join2(fe.realPath(e),r),n=fe.getMode(t);return fe.createNode(e,r,n)},mknod:function(e,r,t,n){var o=fe.createNode(e,r,t,n),i=fe.realPath(o);try{le.isDir(o.mode)?he.mkdirSync(i,o.mode):he.writeFileSync(i,"",{mode:o.mode})}catch(e){if(!e.code)throw e;throw new le.ErrnoError(te[e.code])}return o},rename:function(e,r,t){var n=fe.realPath(e),o=ie.join2(fe.realPath(r),t);try{he.renameSync(n,o)}catch(e){if(!e.code)throw e;throw new le.ErrnoError(te[e.code])}},unlink:function(e,r){var t=ie.join2(fe.realPath(e),r);try{he.unlinkSync(t)}catch(e){if(!e.code)throw e;throw new le.ErrnoError(te[e.code])}},rmdir:function(e,r){var t=ie.join2(fe.realPath(e),r);try{he.rmdirSync(t)}catch(e){if(!e.code)throw e;throw new le.ErrnoError(te[e.code])}},readdir:function(e){var r=fe.realPath(e);try{return he.readdirSync(r)}catch(e){if(!e.code)throw e;throw new le.ErrnoError(te[e.code])}},symlink:function(e,r,t){var n=ie.join2(fe.realPath(e),r);try{he.symlinkSync(t,n)}catch(e){if(!e.code)throw e;throw new le.ErrnoError(te[e.code])}},readlink:function(e){var r=fe.realPath(e);try{return r=he.readlinkSync(r),r=me.relative(me.resolve(e.mount.opts.root),r)}catch(e){if(!e.code)throw e;throw new le.ErrnoError(te[e.code])}}},stream_ops:{open:function(e){var r=fe.realPath(e.node);try{le.isFile(e.node.mode)&&(e.nfd=he.openSync(r,fe.flagsForNode(e.flags)))}catch(e){if(!e.code)throw e;throw new le.ErrnoError(te[e.code])}},close:function(e){try{le.isFile(e.node.mode)&&e.nfd&&he.closeSync(e.nfd)}catch(e){if(!e.code)throw e;throw new le.ErrnoError(te[e.code])}},read:function(e,r,t,n,o){if(0===n)return 0;try{return he.readSync(e.nfd,fe.bufferFrom(r.buffer),t,n,o)}catch(e){throw new le.ErrnoError(te[e.code])}},write:function(e,r,t,n,o){try{return he.writeSync(e.nfd,fe.bufferFrom(r.buffer),t,n,o)}catch(e){throw new le.ErrnoError(te[e.code])}},llseek:function(e,r,t){var n=r;if(1===t)n+=e.position;else if(2===t&&le.isFile(e.node.mode))try{n+=he.fstatSync(e.nfd).size}catch(e){throw new le.ErrnoError(te[e.code])}if(n<0)throw new le.ErrnoError(te.EINVAL);return n}}},ce={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(e){h(c),ce.reader||(ce.reader=new FileReaderSync);var i=ce.createNode(null,"/",ce.DIR_MODE,0),a={};function n(e){for(var r=e.split("/"),t=i,n=0;n<r.length-1;n++){var o=r.slice(0,n+1).join("/");a[o]||(a[o]=ce.createNode(t,r[n],ce.DIR_MODE,0)),t=a[o]}return t}function o(e){var r=e.split("/");return r[r.length-1]}return Array.prototype.forEach.call(e.opts.files||[],function(e){ce.createNode(n(e.name),o(e.name),ce.FILE_MODE,0,e,e.lastModifiedDate)}),(e.opts.blobs||[]).forEach(function(e){ce.createNode(n(e.name),o(e.name),ce.FILE_MODE,0,e.data)}),(e.opts.packages||[]).forEach(function(t){t.metadata.files.forEach(function(e){var r=e.filename.substr(1);ce.createNode(n(r),o(r),ce.FILE_MODE,0,t.blob.slice(e.start,e.end))})}),i},createNode:function(e,r,t,n,o,i){var a=le.createNode(e,r,t);return a.mode=t,a.node_ops=ce.node_ops,a.stream_ops=ce.stream_ops,a.timestamp=(i||new Date).getTime(),h(ce.FILE_MODE!==ce.DIR_MODE),t===ce.FILE_MODE?(a.size=o.size,a.contents=o):(a.size=4096,a.contents={}),e&&(e.contents[r]=a),a},node_ops:{getattr:function(e){return{dev:1,ino:void 0,mode:e.mode,nlink:1,uid:0,gid:0,rdev:void 0,size:e.size,atime:new Date(e.timestamp),mtime:new Date(e.timestamp),ctime:new Date(e.timestamp),blksize:4096,blocks:Math.ceil(e.size/4096)}},setattr:function(e,r){void 0!==r.mode&&(e.mode=r.mode),void 0!==r.timestamp&&(e.timestamp=r.timestamp)},lookup:function(e,r){throw new le.ErrnoError(te.ENOENT)},mknod:function(e,r,t,n){throw new le.ErrnoError(te.EPERM)},rename:function(e,r,t){throw new le.ErrnoError(te.EPERM)},unlink:function(e,r){throw new le.ErrnoError(te.EPERM)},rmdir:function(e,r){throw new le.ErrnoError(te.EPERM)},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){throw new le.ErrnoError(te.EPERM)},readlink:function(e){throw new le.ErrnoError(te.EPERM)}},stream_ops:{read:function(e,r,t,n,o){if(o>=e.node.size)return 0;var i=e.node.contents.slice(o,o+n),a=ce.reader.readAsArrayBuffer(i);return r.set(new Uint8Array(a),t),i.size},write:function(e,r,t,n,o){throw new le.ErrnoError(te.EIO)},llseek:function(e,r,t){var n=r;if(1===t?n+=e.position:2===t&&le.isFile(e.node.mode)&&(n+=e.node.size),n<0)throw new le.ErrnoError(te.EINVAL);return n}}};S+=16,S+=16,S+=16;var le={root:null,mounts:[],devices:{},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 le.ErrnoError))throw e+" : "+k();return oe(e.errno)},lookupPath:function(e,r){if(r=r||{},!(e=ie.resolve(le.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(8<r.recurse_count)throw new le.ErrnoError(te.ELOOP);for(var o=ie.normalizeArray(e.split("/").filter(function(e){return!!e}),!1),i=le.root,a="/",s=0;s<o.length;s++){var u=s===o.length-1;if(u&&r.parent)break;if(i=le.lookupNode(i,o[s]),a=ie.join2(a,o[s]),le.isMountpoint(i)&&(!u||u&&r.follow_mount)&&(i=i.mounted.root),!u||r.follow)for(var f=0;le.isLink(i.mode);){var c=le.readlink(a);if(a=ie.resolve(ie.dirname(a),c),i=le.lookupPath(a,{recurse_count:r.recurse_count}).node,40<f++)throw new le.ErrnoError(te.ELOOP)}}return{path:a,node:i}},getPath:function(e){for(var r;;){if(le.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)%le.nameTable.length},hashAddNode:function(e){var r=le.hashName(e.parent.id,e.name);e.name_next=le.nameTable[r],le.nameTable[r]=e},hashRemoveNode:function(e){var r=le.hashName(e.parent.id,e.name);if(le.nameTable[r]===e)le.nameTable[r]=e.name_next;else for(var t=le.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=le.mayLookup(e);if(t)throw new le.ErrnoError(t,e);for(var n=le.hashName(e.id,r),o=le.nameTable[n];o;o=o.name_next){var i=o.name;if(o.parent.id===e.id&&i===r)return o}return le.lookup(e,r)},createNode:function(e,r,t,n){if(!le.FSNode){le.FSNode=function(e,r,t,n){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=le.nextInode++,this.name=r,this.mode=t,this.node_ops={},this.stream_ops={},this.rdev=n},le.FSNode.prototype={};Object.defineProperties(le.FSNode.prototype,{read:{get:function(){return 365==(365&this.mode)},set:function(e){e?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146==(146&this.mode)},set:function(e){e?this.mode|=146:this.mode&=-147}},isFolder:{get:function(){return le.isDir(this.mode)}},isDevice:{get:function(){return le.isChrdev(this.mode)}}})}var o=new le.FSNode(e,r,t,n);return le.hashAddNode(o),o},destroyNode:function(e){le.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=le.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 le.ignorePermissions?0:(-1===r.indexOf("r")||292&e.mode)&&(-1===r.indexOf("w")||146&e.mode)&&(-1===r.indexOf("x")||73&e.mode)?0:te.EACCES},mayLookup:function(e){var r=le.nodePermissions(e,"x");return r||(e.node_ops.lookup?0:te.EACCES)},mayCreate:function(e,r){try{le.lookupNode(e,r);return te.EEXIST}catch(e){}return le.nodePermissions(e,"wx")},mayDelete:function(e,r,t){var n;try{n=le.lookupNode(e,r)}catch(e){return e.errno}var o=le.nodePermissions(e,"wx");if(o)return o;if(t){if(!le.isDir(n.mode))return te.ENOTDIR;if(le.isRoot(n)||le.getPath(n)===le.cwd())return te.EBUSY}else if(le.isDir(n.mode))return te.EISDIR;return 0},mayOpen:function(e,r){return e?le.isLink(e.mode)?te.ELOOP:le.isDir(e.mode)&&("r"!==le.flagsToPermissionString(r)||512&r)?te.EISDIR:le.nodePermissions(e,le.flagsToPermissionString(r)):te.ENOENT},MAX_OPEN_FDS:4096,nextfd:function(e,r){e=e||0,r=r||le.MAX_OPEN_FDS;for(var t=e;t<=r;t++)if(!le.streams[t])return t;throw new le.ErrnoError(te.EMFILE)},getStream:function(e){return le.streams[e]},createStream:function(e,r,t){le.FSStream||(le.FSStream=function(){},le.FSStream.prototype={},Object.defineProperties(le.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 le.FSStream;for(var o in e)n[o]=e[o];e=n;var i=le.nextfd(r,t);return e.fd=i,le.streams[i]=e},closeStream:function(e){le.streams[e]=null},chrdev_stream_ops:{open:function(e){var r=le.getDevice(e.node.rdev);e.stream_ops=r.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:function(){throw new le.ErrnoError(te.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){le.devices[e]={stream_ops:r}},getDevice:function(e){return le.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(r,t){"function"==typeof r&&(t=r,r=!1),le.syncFSRequests++,1<le.syncFSRequests&&console.log("warning: "+le.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var n=le.getMounts(le.root.mount),o=0;function i(e){return h(0<le.syncFSRequests),le.syncFSRequests--,t(e)}function a(e){if(e)return a.errored?void 0:(a.errored=!0,i(e));++o>=n.length&&i(null)}n.forEach(function(e){if(!e.type.syncfs)return a(null);e.type.syncfs(e,r,a)})},mount:function(e,r,t){var n,o="/"===t,i=!t;if(o&&le.root)throw new le.ErrnoError(te.EBUSY);if(!o&&!i){var a=le.lookupPath(t,{follow_mount:!1});if(t=a.path,n=a.node,le.isMountpoint(n))throw new le.ErrnoError(te.EBUSY);if(!le.isDir(n.mode))throw new le.ErrnoError(te.ENOTDIR)}var s={type:e,opts:r,mountpoint:t,mounts:[]},u=e.mount(s);return(u.mount=s).root=u,o?le.root=u:n&&(n.mounted=s,n.mount&&n.mount.mounts.push(s)),u},unmount:function(e){var r=le.lookupPath(e,{follow_mount:!1});if(!le.isMountpoint(r.node))throw new le.ErrnoError(te.EINVAL);var t=r.node,n=t.mounted,o=le.getMounts(n);Object.keys(le.nameTable).forEach(function(e){for(var r=le.nameTable[e];r;){var t=r.name_next;-1!==o.indexOf(r.mount)&&le.destroyNode(r),r=t}}),t.mounted=null;var i=t.mount.mounts.indexOf(n);h(-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=le.lookupPath(e,{parent:!0}).node,o=ie.basename(e);if(!o||"."===o||".."===o)throw new le.ErrnoError(te.EINVAL);var i=le.mayCreate(n,o);if(i)throw new le.ErrnoError(i);if(!n.node_ops.mknod)throw new le.ErrnoError(te.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,le.mknod(e,r,0)},mkdir:function(e,r){return r=void 0!==r?r:511,r&=1023,r|=16384,le.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{le.mkdir(n,r)}catch(e){if(e.errno!=te.EEXIST)throw e}}},mkdev:function(e,r,t){return void 0===t&&(t=r,r=438),r|=8192,le.mknod(e,r,t)},symlink:function(e,r){if(!ie.resolve(e))throw new le.ErrnoError(te.ENOENT);var t=le.lookupPath(r,{parent:!0}).node;if(!t)throw new le.ErrnoError(te.ENOENT);var n=ie.basename(r),o=le.mayCreate(t,n);if(o)throw new le.ErrnoError(o);if(!t.node_ops.symlink)throw new le.ErrnoError(te.EPERM);return t.node_ops.symlink(t,n,e)},rename:function(r,t){var e,n,o=ie.dirname(r),i=ie.dirname(t),a=ie.basename(r),s=ie.basename(t);try{e=le.lookupPath(r,{parent:!0}).node,n=le.lookupPath(t,{parent:!0}).node}catch(e){throw new le.ErrnoError(te.EBUSY)}if(!e||!n)throw new le.ErrnoError(te.ENOENT);if(e.mount!==n.mount)throw new le.ErrnoError(te.EXDEV);var u,f=le.lookupNode(e,a),c=ie.relative(r,i);if("."!==c.charAt(0))throw new le.ErrnoError(te.EINVAL);if("."!==(c=ie.relative(t,o)).charAt(0))throw new le.ErrnoError(te.ENOTEMPTY);try{u=le.lookupNode(n,s)}catch(e){}if(f!==u){var l=le.isDir(f.mode),d=le.mayDelete(e,a,l);if(d)throw new le.ErrnoError(d);if(d=u?le.mayDelete(n,s,l):le.mayCreate(n,s))throw new le.ErrnoError(d);if(!e.node_ops.rename)throw new le.ErrnoError(te.EPERM);if(le.isMountpoint(f)||u&&le.isMountpoint(u))throw new le.ErrnoError(te.EBUSY);if(n!==e&&(d=le.nodePermissions(e,"w")))throw new le.ErrnoError(d);try{le.trackingDelegate.willMovePath&&le.trackingDelegate.willMovePath(r,t)}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+r+"', '"+t+"') threw an exception: "+e.message)}le.hashRemoveNode(f);try{e.node_ops.rename(f,n,s)}catch(e){throw e}finally{le.hashAddNode(f)}try{le.trackingDelegate.onMovePath&&le.trackingDelegate.onMovePath(r,t)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+r+"', '"+t+"') threw an exception: "+e.message)}}},rmdir:function(r){var e=le.lookupPath(r,{parent:!0}).node,t=ie.basename(r),n=le.lookupNode(e,t),o=le.mayDelete(e,t,!0);if(o)throw new le.ErrnoError(o);if(!e.node_ops.rmdir)throw new le.ErrnoError(te.EPERM);if(le.isMountpoint(n))throw new le.ErrnoError(te.EBUSY);try{le.trackingDelegate.willDeletePath&&le.trackingDelegate.willDeletePath(r)}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+r+"') threw an exception: "+e.message)}e.node_ops.rmdir(e,t),le.destroyNode(n);try{le.trackingDelegate.onDeletePath&&le.trackingDelegate.onDeletePath(r)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+r+"') threw an exception: "+e.message)}},readdir:function(e){var r=le.lookupPath(e,{follow:!0}).node;if(!r.node_ops.readdir)throw new le.ErrnoError(te.ENOTDIR);return r.node_ops.readdir(r)},unlink:function(r){var e=le.lookupPath(r,{parent:!0}).node,t=ie.basename(r),n=le.lookupNode(e,t),o=le.mayDelete(e,t,!1);if(o)throw new le.ErrnoError(o);if(!e.node_ops.unlink)throw new le.ErrnoError(te.EPERM);if(le.isMountpoint(n))throw new le.ErrnoError(te.EBUSY);try{le.trackingDelegate.willDeletePath&&le.trackingDelegate.willDeletePath(r)}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+r+"') threw an exception: "+e.message)}e.node_ops.unlink(e,t),le.destroyNode(n);try{le.trackingDelegate.onDeletePath&&le.trackingDelegate.onDeletePath(r)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+r+"') threw an exception: "+e.message)}},readlink:function(e){var r=le.lookupPath(e).node;if(!r)throw new le.ErrnoError(te.ENOENT);if(!r.node_ops.readlink)throw new le.ErrnoError(te.EINVAL);return ie.resolve(le.getPath(r.parent),r.node_ops.readlink(r))},stat:function(e,r){var t=le.lookupPath(e,{follow:!r}).node;if(!t)throw new le.ErrnoError(te.ENOENT);if(!t.node_ops.getattr)throw new le.ErrnoError(te.EPERM);return t.node_ops.getattr(t)},lstat:function(e){return le.stat(e,!0)},chmod:function(e,r,t){var n;"string"==typeof e?n=le.lookupPath(e,{follow:!t}).node:n=e;if(!n.node_ops.setattr)throw new le.ErrnoError(te.EPERM);n.node_ops.setattr(n,{mode:4095&r|-4096&n.mode,timestamp:Date.now()})},lchmod:function(e,r){le.chmod(e,r,!0)},fchmod:function(e,r){var t=le.getStream(e);if(!t)throw new le.ErrnoError(te.EBADF);le.chmod(t.node,r)},chown:function(e,r,t,n){var o;"string"==typeof e?o=le.lookupPath(e,{follow:!n}).node:o=e;if(!o.node_ops.setattr)throw new le.ErrnoError(te.EPERM);o.node_ops.setattr(o,{timestamp:Date.now()})},lchown:function(e,r,t){le.chown(e,r,t,!0)},fchown:function(e,r,t){var n=le.getStream(e);if(!n)throw new le.ErrnoError(te.EBADF);le.chown(n.node,r,t)},truncate:function(e,r){if(r<0)throw new le.ErrnoError(te.EINVAL);var t;"string"==typeof e?t=le.lookupPath(e,{follow:!0}).node:t=e;if(!t.node_ops.setattr)throw new le.ErrnoError(te.EPERM);if(le.isDir(t.mode))throw new le.ErrnoError(te.EISDIR);if(!le.isFile(t.mode))throw new le.ErrnoError(te.EINVAL);var n=le.nodePermissions(t,"w");if(n)throw new le.ErrnoError(n);t.node_ops.setattr(t,{size:r,timestamp:Date.now()})},ftruncate:function(e,r){var t=le.getStream(e);if(!t)throw new le.ErrnoError(te.EBADF);if(0==(2097155&t.flags))throw new le.ErrnoError(te.EINVAL);le.truncate(t.node,r)},utime:function(e,r,t){var n=le.lookupPath(e,{follow:!0}).node;n.node_ops.setattr(n,{timestamp:Math.max(r,t)})},open:function(r,e,t,n,o){if(""===r)throw new le.ErrnoError(te.ENOENT);var i;if(t=void 0===t?438:t,t=64&(e="string"==typeof e?le.modeStringToFlags(e):e)?4095&t|32768:0,"object"==typeof r)i=r;else{r=ie.normalize(r);try{i=le.lookupPath(r,{follow:!(131072&e)}).node}catch(e){}}var a=!1;if(64&e)if(i){if(128&e)throw new le.ErrnoError(te.EEXIST)}else i=le.mknod(r,t,0),a=!0;if(!i)throw new le.ErrnoError(te.ENOENT);if(le.isChrdev(i.mode)&&(e&=-513),65536&e&&!le.isDir(i.mode))throw new le.ErrnoError(te.ENOTDIR);if(!a){var s=le.mayOpen(i,e);if(s)throw new le.ErrnoError(s)}512&e&&le.truncate(i,0),e&=-641;var u=le.createStream({node:i,path:le.getPath(i),flags:e,seekable:!0,position:0,stream_ops:i.stream_ops,ungotten:[],error:!1},n,o);u.stream_ops.open&&u.stream_ops.open(u),!m.logReadFiles||1&e||(le.readFiles||(le.readFiles={}),r in le.readFiles||(le.readFiles[r]=1,s("read file: "+r)));try{if(le.trackingDelegate.onOpenFile){var f=0;1!=(2097155&e)&&(f|=le.tracking.openFlags.READ),0!=(2097155&e)&&(f|=le.tracking.openFlags.WRITE),le.trackingDelegate.onOpenFile(r,f)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+r+"', flags) threw an exception: "+e.message)}return u},close:function(e){if(le.isClosed(e))throw new le.ErrnoError(te.EBADF);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{le.closeStream(e.fd)}e.fd=null},isClosed:function(e){return null===e.fd},llseek:function(e,r,t){if(le.isClosed(e))throw new le.ErrnoError(te.EBADF);if(!e.seekable||!e.stream_ops.llseek)throw new le.ErrnoError(te.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 le.ErrnoError(te.EINVAL);if(le.isClosed(e))throw new le.ErrnoError(te.EBADF);if(1==(2097155&e.flags))throw new le.ErrnoError(te.EBADF);if(le.isDir(e.node.mode))throw new le.ErrnoError(te.EISDIR);if(!e.stream_ops.read)throw new le.ErrnoError(te.EINVAL);var i=void 0!==o;if(i){if(!e.seekable)throw new le.ErrnoError(te.ESPIPE)}else o=e.position;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 le.ErrnoError(te.EINVAL);if(le.isClosed(e))throw new le.ErrnoError(te.EBADF);if(0==(2097155&e.flags))throw new le.ErrnoError(te.EBADF);if(le.isDir(e.node.mode))throw new le.ErrnoError(te.EISDIR);if(!e.stream_ops.write)throw new le.ErrnoError(te.EINVAL);1024&e.flags&&le.llseek(e,0,2);var a=void 0!==o;if(a){if(!e.seekable)throw new le.ErrnoError(te.ESPIPE)}else o=e.position;var s=e.stream_ops.write(e,r,t,n,o,i);a||(e.position+=s);try{e.path&&le.trackingDelegate.onWriteToFile&&le.trackingDelegate.onWriteToFile(e.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return s},allocate:function(e,r,t){if(le.isClosed(e))throw new le.ErrnoError(te.EBADF);if(r<0||t<=0)throw new le.ErrnoError(te.EINVAL);if(0==(2097155&e.flags))throw new le.ErrnoError(te.EBADF);if(!le.isFile(e.node.mode)&&!le.isDir(e.node.mode))throw new le.ErrnoError(te.ENODEV);if(!e.stream_ops.allocate)throw new le.ErrnoError(te.EOPNOTSUPP);e.stream_ops.allocate(e,r,t)},mmap:function(e,r,t,n,o,i,a){if(1==(2097155&e.flags))throw new le.ErrnoError(te.EACCES);if(!e.stream_ops.mmap)throw new le.ErrnoError(te.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 le.ErrnoError(te.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=le.open(e,r.flags),o=le.stat(e).size,i=new Uint8Array(o);return le.read(n,i,0,o,0),"utf8"===r.encoding?t=w(i,0):"binary"===r.encoding&&(t=i),le.close(n),t},writeFile:function(e,r,t){(t=t||{}).flags=t.flags||"w";var n=le.open(e,t.flags,t.mode);if("string"==typeof r){var o=new Uint8Array(g(r)+1),i=v(r,o,0,o.length);le.write(n,o,0,i,void 0,t.canOwn)}else{if(!ArrayBuffer.isView(r))throw new Error("Unsupported data type");le.write(n,r,0,r.byteLength,void 0,t.canOwn)}le.close(n)},cwd:function(){return le.currentPath},chdir:function(e){var r=le.lookupPath(e,{follow:!0});if(null===r.node)throw new le.ErrnoError(te.ENOENT);if(!le.isDir(r.node.mode))throw new le.ErrnoError(te.ENOTDIR);var t=le.nodePermissions(r.node,"x");if(t)throw new le.ErrnoError(t);le.currentPath=r.path},createDefaultDirectories:function(){le.mkdir("/tmp"),le.mkdir("/home"),le.mkdir("/home/web_user")},createDefaultDevices:function(){var e;if(le.mkdir("/dev"),le.registerDevice(le.makedev(1,3),{read:function(){return 0},write:function(e,r,t,n,o){return n}}),le.mkdev("/dev/null",le.makedev(1,3)),ae.register(le.makedev(5,0),ae.default_tty_ops),ae.register(le.makedev(6,0),ae.default_tty1_ops),le.mkdev("/dev/tty",le.makedev(5,0)),le.mkdev("/dev/tty1",le.makedev(6,0)),"undefined"!=typeof crypto){var r=new Uint8Array(1);e=function(){return crypto.getRandomValues(r),r[0]}}else e=s?function(){return require("crypto").randomBytes(1)[0]}:function(){return 256*Math.random()|0};le.createDevice("/dev","random",e),le.createDevice("/dev","urandom",e),le.mkdir("/dev/shm"),le.mkdir("/dev/shm/tmp")},createSpecialDirectories:function(){le.mkdir("/proc"),le.mkdir("/proc/self"),le.mkdir("/proc/self/fd"),le.mount({mount:function(){var e=le.createNode("/proc/self","fd",16895,73);return e.node_ops={lookup:function(e,r){var t=+r,n=le.getStream(t);if(!n)throw new le.ErrnoError(te.EBADF);var o={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:function(){return n.path}}};return o.parent=o}},e}},{},"/proc/self/fd")},createStandardStreams:function(){m.stdin?le.createDevice("/dev","stdin",m.stdin):le.symlink("/dev/tty","/dev/stdin"),m.stdout?le.createDevice("/dev","stdout",null,m.stdout):le.symlink("/dev/tty","/dev/stdout"),m.stderr?le.createDevice("/dev","stderr",null,m.stderr):le.symlink("/dev/tty1","/dev/stderr");var e=le.open("/dev/stdin","r");h(0===e.fd,"invalid handle for stdin ("+e.fd+")");var r=le.open("/dev/stdout","w");h(1===r.fd,"invalid handle for stdout ("+r.fd+")");var t=le.open("/dev/stderr","w");h(2===t.fd,"invalid handle for stderr ("+t.fd+")")},ensureErrnoError:function(){le.ErrnoError||(le.ErrnoError=function(e,r){this.node=r,this.setErrno=function(e){for(var r in this.errno=e,te)if(te[r]===e){this.code=r;break}},this.setErrno(e),this.message=ne[e],this.stack&&Object.defineProperty(this,"stack",{value:(new Error).stack,writable:!0})},le.ErrnoError.prototype=new Error,le.ErrnoError.prototype.constructor=le.ErrnoError,[te.ENOENT].forEach(function(e){le.genericErrors[e]=new le.ErrnoError(e),le.genericErrors[e].stack="<generic error, no stack>"}))},staticInit:function(){le.ensureErrnoError(),le.nameTable=new Array(4096),le.mount(se,{},"/"),le.createDefaultDirectories(),le.createDefaultDevices(),le.createSpecialDirectories(),le.filesystems={MEMFS:se,IDBFS:ue,NODEFS:fe,WORKERFS:ce}},init:function(e,r,t){h(!le.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)"),le.init.initialized=!0,le.ensureErrnoError(),m.stdin=e||m.stdin,m.stdout=r||m.stdout,m.stderr=t||m.stderr,le.createStandardStreams()},quit:function(){le.init.initialized=!1;var e=m._fflush;e&&e(0);for(var r=0;r<le.streams.length;r++){var t=le.streams[r];t&&le.close(t)}},getMode:function(e,r){var t=0;return e&&(t|=365),r&&(t|=146),t},joinPath:function(e,r){var t=ie.join.apply(null,e);return r&&"/"==t[0]&&(t=t.substr(1)),t},absolutePath:function(e,r){return ie.resolve(r,e)},standardizePath:function(e){return ie.normalize(e)},findObject:function(e,r){var t=le.analyzePath(e,r);return t.exists?t.object:(oe(t.error),null)},analyzePath:function(e,r){try{e=(n=le.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=le.lookupPath(e,{parent:!0});t.parentExists=!0,t.parentPath=n.path,t.parentObject=n.node,t.name=ie.basename(e),n=le.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=ie.join2("string"==typeof e?e:le.getPath(e),r),i=le.getMode(t,n);return le.mkdir(o,i)},createPath:function(e,r,t,n){e="string"==typeof e?e:le.getPath(e);for(var o=r.split("/").reverse();o.length;){var i=o.pop();if(i){var a=ie.join2(e,i);try{le.mkdir(a)}catch(e){}e=a}}return a},createFile:function(e,r,t,n,o){var i=ie.join2("string"==typeof e?e:le.getPath(e),r),a=le.getMode(n,o);return le.create(i,a)},createDataFile:function(e,r,t,n,o,i){var a=r?ie.join2("string"==typeof e?e:le.getPath(e),r):e,s=le.getMode(n,o),u=le.create(a,s);if(t){if("string"==typeof t){for(var f=new Array(t.length),c=0,l=t.length;c<l;++c)f[c]=t.charCodeAt(c);t=f}le.chmod(u,146|s);var d=le.open(u,"w");le.write(d,t,0,t.length,0,i),le.close(d),le.chmod(u,s)}return u},createDevice:function(e,r,u,a){var t=ie.join2("string"==typeof e?e:le.getPath(e),r),n=le.getMode(!!u,!!a);le.createDevice.major||(le.createDevice.major=64);var o=le.makedev(le.createDevice.major++,0);return le.registerDevice(o,{open:function(e){e.seekable=!1},close:function(e){a&&a.buffer&&a.buffer.length&&a(10)},read:function(e,r,t,n,o){for(var i=0,a=0;a<n;a++){var s;try{s=u()}catch(e){throw new le.ErrnoError(te.EIO)}if(void 0===s&&0===i)throw new le.ErrnoError(te.EAGAIN);if(null==s)break;i++,r[t+a]=s}return i&&(e.node.timestamp=Date.now()),i},write:function(e,r,t,n,o){for(var i=0;i<n;i++)try{a(r[t+i])}catch(e){throw new le.ErrnoError(te.EIO)}return n&&(e.node.timestamp=Date.now()),i}}),le.mkdev(t,n,o)},createLink:function(e,r,t,n,o){var i=ie.join2("string"==typeof e?e:le.getPath(e),r);return le.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(!m.read)throw new Error("Cannot load without read() or XMLHttpRequest.");try{e.contents=pe(m.read(e.url),!0),e.usedBytes=e.contents.length}catch(e){r=!1}return r||oe(te.EIO),r},createLazyFile:function(e,r,s,t,n){function o(){this.lengthKnown=!1,this.chunks=[]}if(o.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]}},o.prototype.setDataGetter=function(e){this.getter=e},o.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",s,!1),e.send(null),!(200<=e.status&&e.status<300||304===e.status))throw new Error("Couldn't load "+s+". Status: "+e.status);var r,n=Number(e.getResponseHeader("Content-length")),t=(r=e.getResponseHeader("Accept-Ranges"))&&"bytes"===r,o=(r=e.getResponseHeader("Content-Encoding"))&&"gzip"===r,i=1048576;t||(i=n);var a=this;a.setDataGetter(function(e){var r=e*i,t=(e+1)*i-1;if(t=Math.min(t,n-1),void 0===a.chunks[e]&&(a.chunks[e]=function(e,r){if(r<e)throw new Error("invalid range ("+e+", "+r+") or no bytes requested!");if(n-1<r)throw new Error("only "+n+" bytes available! programmer error!");var t=new XMLHttpRequest;if(t.open("GET",s,!1),n!==i&&t.setRequestHeader("Range","bytes="+e+"-"+r),"undefined"!=typeof Uint8Array&&(t.responseType="arraybuffer"),t.overrideMimeType&&t.overrideMimeType("text/plain; charset=x-user-defined"),t.send(null),!(200<=t.status&&t.status<300||304===t.status))throw new Error("Couldn't load "+s+". Status: "+t.status);return void 0!==t.response?new Uint8Array(t.response||[]):pe(t.responseText||"",!0)}(r,t)),void 0===a.chunks[e])throw new Error("doXHR failed!");return a.chunks[e]}),!o&&n||(i=n=1,n=this.getter(0).length,i=n,console.log("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=i,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!c)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var i=new o;Object.defineProperties(i,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var a={isDevice:!1,contents:i}}else a={isDevice:!1,url:s};var u=le.createFile(e,r,a,t,n);a.contents?u.contents=a.contents:a.url&&(u.contents=null,u.url=a.url),Object.defineProperties(u,{usedBytes:{get:function(){return this.contents.length}}});var f={};return Object.keys(u.stream_ops).forEach(function(e){var r=u.stream_ops[e];f[e]=function(){if(!le.forceLoadFile(u))throw new le.ErrnoError(te.EIO);return r.apply(null,arguments)}}),f.read=function(e,r,t,n,o){if(!le.forceLoadFile(u))throw new le.ErrnoError(te.EIO);var i=e.node.contents;if(o>=i.length)return 0;var a=Math.min(i.length-o,n);if(h(0<=a),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=f,u},createPreloadedFile:function(o,i,e,a,s,u,f,c,l,d){Browser.init();var h=i?ie.resolve(ie.join2(o,i)):o;function r(r){function t(e){d&&d(),c||le.createDataFile(o,i,e,a,s,l),u&&u(),Z()}var n=!1;m.preloadPlugins.forEach(function(e){n||e.canHandle(h)&&(e.handle(r,h,t,function(){f&&f(),Z()}),n=!0)}),n||t(r)}Q(),"string"==typeof e?Browser.asyncLoad(e,function(e){r(e)},f):r(e)},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(r,s,u){s=s||function(){},u=u||function(){};var e=le.indexedDB();try{var f=e.open(le.DB_NAME(),le.DB_VERSION)}catch(e){return u(e)}f.onupgradeneeded=function(){console.log("creating db"),f.result.createObjectStore(le.DB_STORE_NAME)},f.onsuccess=function(){var e=f.result.transaction([le.DB_STORE_NAME],"readwrite"),t=e.objectStore(le.DB_STORE_NAME),n=0,o=0,i=r.length;function a(){0==o?s():u()}r.forEach(function(e){var r=t.put(le.analyzePath(e).object.contents,e);r.onsuccess=function(){++n+o==i&&a()},r.onerror=function(){n+ ++o==i&&a()}}),e.onerror=u},f.onerror=u},loadFilesFromDB:function(s,u,f){u=u||function(){},f=f||function(){};var e=le.indexedDB();try{var c=e.open(le.DB_NAME(),le.DB_VERSION)}catch(e){return f(e)}c.onupgradeneeded=f,c.onsuccess=function(){var e=c.result;try{var r=e.transaction([le.DB_STORE_NAME],"readonly")}catch(e){return void f(e)}var t=r.objectStore(le.DB_STORE_NAME),n=0,o=0,i=s.length;function a(){0==o?u():f()}s.forEach(function(e){var r=t.get(e);r.onsuccess=function(){le.analyzePath(e).exists&&le.unlink(e),le.createDataFile(ie.dirname(e),ie.basename(e),r.result,!0,!0,!0),++n+o==i&&a()},r.onerror=function(){n+ ++o==i&&a()}}),r.onerror=f},c.onerror=f}},de={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:function(e,r){if("/"!==r[0]){var t;if(-100===e)t=le.cwd();else{var n=le.getStream(e);if(!n)throw new le.ErrnoError(te.EBADF);t=n.path}r=ie.join2(t,r)}return r},doStat:function(e,r,t){try{var n=e(r)}catch(e){if(e&&e.node&&ie.normalize(r)!==ie.normalize(le.getPath(e.node)))return-te.ENOTDIR;throw e}return D[t>>2]=n.dev,D[t+4>>2]=0,D[t+8>>2]=n.ino,D[t+12>>2]=n.mode,D[t+16>>2]=n.nlink,D[t+20>>2]=n.uid,D[t+24>>2]=n.gid,D[t+28>>2]=n.rdev,D[t+32>>2]=0,D[t+36>>2]=n.size,D[t+40>>2]=4096,D[t+44>>2]=n.blocks,D[t+48>>2]=n.atime.getTime()/1e3|0,D[t+52>>2]=0,D[t+56>>2]=n.mtime.getTime()/1e3|0,D[t+60>>2]=0,D[t+64>>2]=n.ctime.getTime()/1e3|0,D[t+68>>2]=0,D[t+72>>2]=n.ino,0},doMsync:function(e,r,t,n){var o=new Uint8Array(_.subarray(e,e+t));le.msync(r,o,0,t,n)},doMkdir:function(e,r){return"/"===(e=ie.normalize(e))[e.length-1]&&(e=e.substr(0,e.length-1)),le.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-te.EINVAL}return le.mknod(e,r,t),0},doReadlink:function(e,r,t){if(t<=0)return-te.EINVAL;var n=le.readlink(e),o=Math.min(t,g(n)),i=b[r+o];return y(n,r,t+1),b[r+o]=i,o},doAccess:function(e,r){if(-8&r)return-te.EINVAL;var t;t=le.lookupPath(e,{follow:!0}).node;var n="";return 4&r&&(n+="r"),2&r&&(n+="w"),1&r&&(n+="x"),n&&le.nodePermissions(t,n)?-te.EACCES:0},doDup:function(e,r,t){var n=le.getStream(t);return n&&le.close(n),le.open(e,r,0,t,t).fd},doReadv:function(e,r,t,n){for(var o=0,i=0;i<t;i++){var a=D[r+8*i>>2],s=D[r+(8*i+4)>>2],u=le.read(e,b,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=D[r+8*i>>2],s=D[r+(8*i+4)>>2],u=le.write(e,b,a,s,n);if(u<0)return-1;o+=u}return o},varargs:0,get:function(e){return de.varargs+=4,D[de.varargs-4>>2]},getStr:function(){return E(de.get())},getStreamFromFD:function(){var e=le.getStream(de.get());if(!e)throw new le.ErrnoError(te.EBADF);return e},getSocketFromFD:function(){var e=SOCKFS.getSocket(de.get());if(!e)throw new le.ErrnoError(te.EBADF);return e},getSocketAddress:function(e){var r=de.get(),t=de.get();if(e&&0===r)return null;var n=__read_sockaddr(r,t);if(n.errno)throw new le.ErrnoError(n.errno);return n.addr=DNS.lookup_addr(n.addr)||n.addr,n},get64:function(){var e=de.get(),r=de.get();return h(0<=e?0===r:-1===r),e},getZero:function(){h(0===de.get())}};if(le.staticInit(),q.unshift(function(){m.noFSInit||le.init.initialized||le.init()}),H.push(function(){le.ignorePermissions=!1}),V.push(function(){le.quit()}),q.unshift(function(){ae.init()}),V.push(function(){ae.shutdown()}),s){var he=require("fs"),me=require("path");fe.staticInit()}P=S,T=l(O=(N=l(S=S+4+15&-16))+x),D[P>>2]=T;var Ee=!!0;function pe(e,r,t){var n=0<t?t:g(e)+1,o=new Array(n),i=v(e,o,0,o.length);return r&&(o.length=i),o}function we(e){for(var r=[],t=0;t<e.length;t++){var n=e[t];255<n&&(Ee&&h(!1,"Character code "+n+" ("+String.fromCharCode(n)+") at offset "+t+" not in 0x00-0xFF."),n&=255),r.push(String.fromCharCode(n))}return r.join("")}var ve="function"==typeof atob?atob:function(e){var r,t,n,o,i,a,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",u="",f=0;for(e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");r=s.indexOf(e.charAt(f++))<<2|(o=s.indexOf(e.charAt(f++)))>>4,t=(15&o)<<4|(i=s.indexOf(e.charAt(f++)))>>2,n=(3&i)<<6|(a=s.indexOf(e.charAt(f++))),u+=String.fromCharCode(r),64!==i&&(u+=String.fromCharCode(t)),64!==a&&(u+=String.fromCharCode(n)),f<e.length;);return u};function ye(e){if(ee(e))return function(r){if("boolean"==typeof s&&s){var t;try{t=Buffer.from(r,"base64")}catch(e){t=new Buffer(r,"base64")}return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}try{for(var e=ve(r),n=new Uint8Array(e.length),o=0;o<e.length;++o)n[o]=e.charCodeAt(o);return n}catch(e){throw new Error("Converting base64 string to bytes failed.")}}(e.slice($.length))}m.asmGlobalArg={Math:Math,Int8Array:Int8Array,Int16Array:Int16Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Uint16Array:Uint16Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array,NaN:NaN,Infinity:1/0,byteLength:R},m.asmLibraryArg={abort:Le,assert:h,enlargeMemory:C,getTotalMemory:function(){return z},abortOnCannotGrowMemory:function(){Le("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+z+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")},invoke_vii:function(e,r,t){var n=Oe();try{m.dynCall_vii(e,r,t)}catch(e){if(Ne(n),"number"!=typeof e&&"longjmp"!==e)throw e;m.setThrew(1,0)}},___assert_fail:function(e,r,t,n){Le("Assertion failed: "+E(e)+", at: "+[r?E(r):"unknown filename",t,n?E(n):"unknown function"])},___setErrNo:oe,___syscall192:function(e,r){de.varargs=r;try{var t,n=de.get(),o=de.get(),i=de.get(),a=de.get(),s=de.get(),u=de.get();u<<=12;var f=!1;if(-1===s){if(!(t=De(16384,o)))return-te.ENOMEM;Se(t,0,o),f=!0}else{var c=le.getStream(s);if(!c)return-te.EBADF;var l=le.mmap(c,_,n,o,u,i,a);t=l.ptr,f=l.allocated}return de.mappings[t]={malloc:t,len:o,allocated:f,fd:s,flags:a},t}catch(e){return void 0!==le&&e instanceof le.ErrnoError||Le(e),-e.errno}},___syscall91:function(e,r){de.varargs=r;try{var t=de.get(),n=de.get(),o=de.mappings[t];if(!o)return 0;if(n===o.len){var i=le.getStream(o.fd);de.doMsync(t,i,n,o.flags),le.munmap(i),de.mappings[t]=null,o.allocated&&be(o.malloc)}return 0}catch(e){return void 0!==le&&e instanceof le.ErrnoError||Le(e),-e.errno}},_emscripten_memcpy_big:function(e,r,t){return _.set(_.subarray(r,r+t),e),e},DYNAMICTOP_PTR:P,tempDoublePtr:re,STACKTOP:N,STACK_MAX:O};var ge,ke=function(e,r,t){var n=e.Int8Array,m=new n(t),o=e.Int16Array,i=(new o(t),e.Int32Array),B=new i(t),a=e.Uint8Array,h=new a(t),s=e.Uint16Array,u=(new s(t),e.Uint32Array),f=(new u(t),e.Float32Array),c=(new f(t),e.Float64Array),l=(new c(t),e.byteLength),d=0|r.DYNAMICTOP_PTR,L=(r.tempDoublePtr,0|r.STACKTOP),E=(r.STACK_MAX,0),p=(e.NaN,e.Infinity,0),w=(e.Math.floor,e.Math.abs,e.Math.sqrt,e.Math.pow,e.Math.cos,e.Math.sin,e.Math.tan,e.Math.acos,e.Math.asin,e.Math.atan,e.Math.atan2,e.Math.exp,e.Math.log,e.Math.ceil,e.Math.imul),v=(e.Math.min,e.Math.max,e.Math.clz32,r.abort),y=(r.assert,r.enlargeMemory),g=r.getTotalMemory,k=r.abortOnCannotGrowMemory,A=(r.invoke_vii,r.___assert_fail),b=r.___setErrNo,_=r.___syscall192,D=r.___syscall91,S=r._emscripten_memcpy_big;function N(e,r){e|=0,r|=0;var t,n=0,o=0,i=0,a=0,s=0,u=0,f=0,c=0,l=0,d=0;for(L=(t=L)+304|0,B[t+32>>2]=(0|h[r+2>>0])<<8|0|h[r+3>>0]|(0|h[r+1>>0])<<16|(0|h[r>>0])<<24,B[t+32+4>>2]=(0|h[r+6>>0])<<8|0|h[r+7>>0]|(0|h[r+5>>0])<<16|(0|h[r+4>>0])<<24,B[t+32+8>>2]=(0|h[r+10>>0])<<8|0|h[r+11>>0]|(0|h[r+9>>0])<<16|(0|h[r+8>>0])<<24,B[t+32+12>>2]=(0|h[r+14>>0])<<8|0|h[r+15>>0]|(0|h[r+13>>0])<<16|(0|h[r+12>>0])<<24,B[t+32+16>>2]=(0|h[r+18>>0])<<8|0|h[r+19>>0]|(0|h[r+17>>0])<<16|(0|h[r+16>>0])<<24,B[t+32+20>>2]=(0|h[r+22>>0])<<8|0|h[r+23>>0]|(0|h[r+21>>0])<<16|(0|h[r+20>>0])<<24,B[t+32+24>>2]=(0|h[r+26>>0])<<8|0|h[r+27>>0]|(0|h[r+25>>0])<<16|(0|h[r+24>>0])<<24,B[t+32+28>>2]=(0|h[r+30>>0])<<8|0|h[r+31>>0]|(0|h[r+29>>0])<<16|(0|h[r+28>>0])<<24,B[t+32+32>>2]=(0|h[r+34>>0])<<8|0|h[r+35>>0]|(0|h[r+33>>0])<<16|(0|h[r+32>>0])<<24,B[t+32+36>>2]=(0|h[r+38>>0])<<8|0|h[r+39>>0]|(0|h[r+37>>0])<<16|(0|h[r+36>>0])<<24,B[t+32+40>>2]=(0|h[r+42>>0])<<8|0|h[r+43>>0]|(0|h[r+41>>0])<<16|(0|h[r+40>>0])<<24,B[t+32+44>>2]=(0|h[r+46>>0])<<8|0|h[r+47>>0]|(0|h[r+45>>0])<<16|(0|h[r+44>>0])<<24,B[t+32+48>>2]=(0|h[r+50>>0])<<8|0|h[r+51>>0]|(0|h[r+49>>0])<<16|(0|h[r+48>>0])<<24,B[t+32+52>>2]=(0|h[r+54>>0])<<8|0|h[r+55>>0]|(0|h[r+53>>0])<<16|(0|h[r+52>>0])<<24,B[t+32+56>>2]=(0|h[r+58>>0])<<8|0|h[r+59>>0]|(0|h[r+57>>0])<<16|(0|h[r+56>>0])<<24,B[t+32+60>>2]=(0|h[r+62>>0])<<8|0|h[r+63>>0]|(0|h[r+61>>0])<<16|(0|h[r+60>>0])<<24,r=16,n=0|B[t+32>>2];o=0|B[t+32+(r+-2<<2)>>2],i=n,n=0|B[t+32+(r+-15<<2)>>2],B[t+32+(r<<2)>>2]=i+(0|B[t+32+(r+-7<<2)>>2])+((o>>>19|o<<13)^o>>>10^(o>>>17|o<<15))+((n>>>18|n<<14)^n>>>3^(n>>>7|n<<25)),64!=(0|(r=r+1|0)););B[t>>2]=B[e>>2],B[t+4>>2]=B[e+4>>2],B[t+8>>2]=B[e+8>>2],B[t+12>>2]=B[e+12>>2],B[t+16>>2]=B[e+16>>2],B[t+20>>2]=B[e+20>>2],B[t+24>>2]=B[e+24>>2],B[t+28>>2]=B[e+28>>2],l=0|B[t+16>>2],o=0|B[t+20>>2],c=0|B[t+24>>2],r=1116352408+(0|B[t+28>>2])+(0|B[t+32>>2])+((l>>>6|l<<26)^(l>>>11|l<<21)^(l>>>25|l<<7))+((c^o)&l^c)|0,n=0|B[t>>2],i=0|B[t+4>>2],u=0|B[t+8>>2],f=(0|B[t+12>>2])+r|0,B[t+12>>2]=f,B[t+28>>2]=((u|i)&n|u&i)+((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+r,c=c+1899447441+(f&(o^l)^o)+(0|B[t+32+4>>2])+((f>>>6|f<<26)^(f>>>11|f<<21)^(f>>>25|f<<7))|0,B[t+8>>2]=c+u,a=c+((((((u|i)&n|u&i)+((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+r|0)>>>2|((u|i)&n|u&i)+((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+r<<30)^((((u|i)&n|u&i)+((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+r|0)>>>13|((u|i)&n|u&i)+((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+r<<19)^((((u|i)&n|u&i)+((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+r|0)>>>22|((u|i)&n|u&i)+((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+r<<10))+(((u|i)&n|u&i)+((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+r&(i|n)|i&n))|0,B[t+24>>2]=a,o=o+-1245643825+(0|B[t+32+8>>2])+(c+u&(f^l)^l)+(((c+u|0)>>>6|c+u<<26)^((c+u|0)>>>11|c+u<<21)^((c+u|0)>>>25|c+u<<7))|0,B[t+4>>2]=o+i,s=o+(((a>>>2|a<<30)^(a>>>13|a<<19)^(a>>>22|a<<10))+(a&(((u|i)&n|u&i)+((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+r|n)|((u|i)&n|u&i)+((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+r&n))|0,B[t+20>>2]=s,l=l+-373957723+(0|B[t+32+12>>2])+(o+i&(c+u^f)^f)+(((o+i|0)>>>6|o+i<<26)^((o+i|0)>>>11|o+i<<21)^((o+i|0)>>>25|o+i<<7))|0,B[t>>2]=l+n,d=l+(((s>>>2|s<<30)^(s>>>13|s<<19)^(s>>>22|s<<10))+(s&(a|((u|i)&n|u&i)+((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+r)|a&((u|i)&n|u&i)+((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+r))|0,B[t+16>>2]=d,r=(f=f+961987163+(0|B[t+32+16>>2])+(l+n&(o+i^c+u)^c+u)+(((l+n|0)>>>6|l+n<<26)^((l+n|0)>>>11|l+n<<21)^((l+n|0)>>>25|l+n<<7))|0)+(((u|i)&n|u&i)+((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+r)|0,B[t+28>>2]=r,B[t+12>>2]=f+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a)),u=c+u+1508970993+(0|B[t+32+20>>2])+(r&(l+n^o+i)^o+i)+((r>>>6|r<<26)^(r>>>11|r<<21)^(r>>>25|r<<7))|0,B[t+24>>2]=u+a,c=u+((((f+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a))|0)>>>2|f+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a))<<30)^((f+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a))|0)>>>13|f+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a))<<19)^((f+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a))|0)>>>22|f+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a))<<10))+(f+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a))&(d|s)|d&s))|0,B[t+8>>2]=c,i=o+i+-1841331548+(0|B[t+32+24>>2])+(u+a&(r^l+n)^l+n)+(((u+a|0)>>>6|u+a<<26)^((u+a|0)>>>11|u+a<<21)^((u+a|0)>>>25|u+a<<7))|0,B[t+20>>2]=i+s,o=i+(((c>>>2|c<<30)^(c>>>13|c<<19)^(c>>>22|c<<10))+(c&(f+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a))|d)|f+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a))&d))|0,B[t+4>>2]=o,n=l+n+-1424204075+(0|B[t+32+28>>2])+(i+s&(u+a^r)^r)+(((i+s|0)>>>6|i+s<<26)^((i+s|0)>>>11|i+s<<21)^((i+s|0)>>>25|i+s<<7))|0,B[t+16>>2]=n+d,l=n+(((o>>>2|o<<30)^(o>>>13|o<<19)^(o>>>22|o<<10))+(o&(c|f+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a)))|c&f+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a))))|0,B[t>>2]=l,f=(r=r+-670586216+(0|B[t+32+32>>2])+(n+d&(i+s^u+a)^u+a)+(((n+d|0)>>>6|n+d<<26)^((n+d|0)>>>11|n+d<<21)^((n+d|0)>>>25|n+d<<7))|0)+(f+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a)))|0,B[t+12>>2]=f,B[t+28>>2]=r+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c)),a=310598401+(0|B[t+32+36>>2])+(u+a)+(f&(n+d^i+s)^i+s)+((f>>>6|f<<26)^(f>>>11|f<<21)^(f>>>25|f<<7))|0,B[t+8>>2]=a+c,u=a+((((r+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c))|0)>>>2|r+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c))<<30)^((r+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c))|0)>>>13|r+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c))<<19)^((r+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c))|0)>>>22|r+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c))<<10))+(r+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c))&(l|o)|l&o))|0,B[t+24>>2]=u,s=607225278+(0|B[t+32+40>>2])+(i+s)+(a+c&(f^n+d)^n+d)+(((a+c|0)>>>6|a+c<<26)^((a+c|0)>>>11|a+c<<21)^((a+c|0)>>>25|a+c<<7))|0,B[t+4>>2]=s+o,i=s+(((u>>>2|u<<30)^(u>>>13|u<<19)^(u>>>22|u<<10))+(u&(r+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c))|l)|r+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c))&l))|0,B[t+20>>2]=i,d=1426881987+(0|B[t+32+44>>2])+(n+d)+(s+o&(a+c^f)^f)+(((s+o|0)>>>6|s+o<<26)^((s+o|0)>>>11|s+o<<21)^((s+o|0)>>>25|s+o<<7))|0,B[t>>2]=d+l,n=d+(((i>>>2|i<<30)^(i>>>13|i<<19)^(i>>>22|i<<10))+(i&(u|r+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c)))|u&r+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c))))|0,B[t+16>>2]=n,r=(f=1925078388+(0|B[t+32+48>>2])+f+(d+l&(s+o^a+c)^a+c)+(((d+l|0)>>>6|d+l<<26)^((d+l|0)>>>11|d+l<<21)^((d+l|0)>>>25|d+l<<7))|0)+(r+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c)))|0,B[t+28>>2]=r,B[t+12>>2]=f+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u)),c=(0|B[t+32+52>>2])-2132889090+(a+c)+(r&(d+l^s+o)^s+o)+((r>>>6|r<<26)^(r>>>11|r<<21)^(r>>>25|r<<7))|0,B[t+24>>2]=c+u,a=c+((((f+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u))|0)>>>2|f+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u))<<30)^((f+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u))|0)>>>13|f+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u))<<19)^((f+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u))|0)>>>22|f+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u))<<10))+(f+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u))&(n|i)|n&i))|0,B[t+8>>2]=a,o=(0|B[t+32+56>>2])-1680079193+(s+o)+(c+u&(r^d+l)^d+l)+(((c+u|0)>>>6|c+u<<26)^((c+u|0)>>>11|c+u<<21)^((c+u|0)>>>25|c+u<<7))|0,B[t+20>>2]=o+i,s=o+(((a>>>2|a<<30)^(a>>>13|a<<19)^(a>>>22|a<<10))+(a&(f+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u))|n)|f+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u))&n))|0,B[t+4>>2]=s,l=(0|B[t+32+60>>2])-1046744716+(d+l)+(o+i&(c+u^r)^r)+(((o+i|0)>>>6|o+i<<26)^((o+i|0)>>>11|o+i<<21)^((o+i|0)>>>25|o+i<<7))|0,B[t+16>>2]=l+n,d=l+(((s>>>2|s<<30)^(s>>>13|s<<19)^(s>>>22|s<<10))+(s&(a|f+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u)))|a&f+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u))))|0,B[t>>2]=d,f=(r=(0|B[t+32+64>>2])-459576895+r+(l+n&(o+i^c+u)^c+u)+(((l+n|0)>>>6|l+n<<26)^((l+n|0)>>>11|l+n<<21)^((l+n|0)>>>25|l+n<<7))|0)+(f+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u)))|0,B[t+12>>2]=f,B[t+28>>2]=r+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a)),u=(0|B[t+32+68>>2])-272742522+(c+u)+(f&(l+n^o+i)^o+i)+((f>>>6|f<<26)^(f>>>11|f<<21)^(f>>>25|f<<7))|0,B[t+8>>2]=u+a,c=u+((((r+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a))|0)>>>2|r+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a))<<30)^((r+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a))|0)>>>13|r+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a))<<19)^((r+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a))|0)>>>22|r+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a))<<10))+(r+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a))&(d|s)|d&s))|0,B[t+24>>2]=c,i=264347078+(0|B[t+32+72>>2])+(o+i)+(u+a&(f^l+n)^l+n)+(((u+a|0)>>>6|u+a<<26)^((u+a|0)>>>11|u+a<<21)^((u+a|0)>>>25|u+a<<7))|0,B[t+4>>2]=i+s,o=i+(((c>>>2|c<<30)^(c>>>13|c<<19)^(c>>>22|c<<10))+(c&(r+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a))|d)|r+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a))&d))|0,B[t+20>>2]=o,n=604807628+(0|B[t+32+76>>2])+(l+n)+(i+s&(u+a^f)^f)+(((i+s|0)>>>6|i+s<<26)^((i+s|0)>>>11|i+s<<21)^((i+s|0)>>>25|i+s<<7))|0,B[t>>2]=n+d,l=n+(((o>>>2|o<<30)^(o>>>13|o<<19)^(o>>>22|o<<10))+(o&(c|r+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a)))|c&r+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a))))|0,B[t+16>>2]=l,r=(f=770255983+(0|B[t+32+80>>2])+f+(n+d&(i+s^u+a)^u+a)+(((n+d|0)>>>6|n+d<<26)^((n+d|0)>>>11|n+d<<21)^((n+d|0)>>>25|n+d<<7))|0)+(r+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a)))|0,B[t+28>>2]=r,B[t+12>>2]=f+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c)),a=1249150122+(0|B[t+32+84>>2])+(u+a)+(r&(n+d^i+s)^i+s)+((r>>>6|r<<26)^(r>>>11|r<<21)^(r>>>25|r<<7))|0,B[t+24>>2]=a+c,u=a+((((f+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c))|0)>>>2|f+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c))<<30)^((f+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c))|0)>>>13|f+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c))<<19)^((f+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c))|0)>>>22|f+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c))<<10))+(f+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c))&(l|o)|l&o))|0,B[t+8>>2]=u,s=1555081692+(0|B[t+32+88>>2])+(i+s)+(a+c&(r^n+d)^n+d)+(((a+c|0)>>>6|a+c<<26)^((a+c|0)>>>11|a+c<<21)^((a+c|0)>>>25|a+c<<7))|0,B[t+20>>2]=s+o,i=s+(((u>>>2|u<<30)^(u>>>13|u<<19)^(u>>>22|u<<10))+(u&(f+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c))|l)|f+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c))&l))|0,B[t+4>>2]=i,d=1996064986+(0|B[t+32+92>>2])+(n+d)+(s+o&(a+c^r)^r)+(((s+o|0)>>>6|s+o<<26)^((s+o|0)>>>11|s+o<<21)^((s+o|0)>>>25|s+o<<7))|0,B[t+16>>2]=d+l,n=d+(((i>>>2|i<<30)^(i>>>13|i<<19)^(i>>>22|i<<10))+(i&(u|f+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c)))|u&f+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c))))|0,B[t>>2]=n,f=(r=(0|B[t+32+96>>2])-1740746414+r+(d+l&(s+o^a+c)^a+c)+(((d+l|0)>>>6|d+l<<26)^((d+l|0)>>>11|d+l<<21)^((d+l|0)>>>25|d+l<<7))|0)+(f+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c)))|0,B[t+12>>2]=f,B[t+28>>2]=r+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u)),c=(0|B[t+32+100>>2])-1473132947+(a+c)+(f&(d+l^s+o)^s+o)+((f>>>6|f<<26)^(f>>>11|f<<21)^(f>>>25|f<<7))|0,B[t+8>>2]=c+u,a=c+((((r+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u))|0)>>>2|r+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u))<<30)^((r+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u))|0)>>>13|r+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u))<<19)^((r+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u))|0)>>>22|r+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u))<<10))+(r+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u))&(n|i)|n&i))|0,B[t+24>>2]=a,o=(0|B[t+32+104>>2])-1341970488+(s+o)+(c+u&(f^d+l)^d+l)+(((c+u|0)>>>6|c+u<<26)^((c+u|0)>>>11|c+u<<21)^((c+u|0)>>>25|c+u<<7))|0,B[t+4>>2]=o+i,s=o+(((a>>>2|a<<30)^(a>>>13|a<<19)^(a>>>22|a<<10))+(a&(r+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u))|n)|r+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u))&n))|0,B[t+20>>2]=s,l=(0|B[t+32+108>>2])-1084653625+(d+l)+(o+i&(c+u^f)^f)+(((o+i|0)>>>6|o+i<<26)^((o+i|0)>>>11|o+i<<21)^((o+i|0)>>>25|o+i<<7))|0,B[t>>2]=l+n,d=l+(((s>>>2|s<<30)^(s>>>13|s<<19)^(s>>>22|s<<10))+(s&(a|r+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u)))|a&r+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u))))|0,B[t+16>>2]=d,r=(f=(0|B[t+32+112>>2])-958395405+f+(l+n&(o+i^c+u)^c+u)+(((l+n|0)>>>6|l+n<<26)^((l+n|0)>>>11|l+n<<21)^((l+n|0)>>>25|l+n<<7))|0)+(r+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u)))|0,B[t+28>>2]=r,B[t+12>>2]=f+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a)),u=(0|B[t+32+116>>2])-710438585+(c+u)+(r&(l+n^o+i)^o+i)+((r>>>6|r<<26)^(r>>>11|r<<21)^(r>>>25|r<<7))|0,B[t+24>>2]=u+a,c=u+((((f+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a))|0)>>>2|f+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a))<<30)^((f+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a))|0)>>>13|f+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a))<<19)^((f+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a))|0)>>>22|f+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a))<<10))+(f+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a))&(d|s)|d&s))|0,B[t+8>>2]=c,i=113926993+(0|B[t+32+120>>2])+(o+i)+(u+a&(r^l+n)^l+n)+(((u+a|0)>>>6|u+a<<26)^((u+a|0)>>>11|u+a<<21)^((u+a|0)>>>25|u+a<<7))|0,B[t+20>>2]=i+s,o=i+(((c>>>2|c<<30)^(c>>>13|c<<19)^(c>>>22|c<<10))+(c&(f+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a))|d)|f+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a))&d))|0,B[t+4>>2]=o,n=338241895+(0|B[t+32+124>>2])+(l+n)+(i+s&(u+a^r)^r)+(((i+s|0)>>>6|i+s<<26)^((i+s|0)>>>11|i+s<<21)^((i+s|0)>>>25|i+s<<7))|0,B[t+16>>2]=n+d,l=n+(((o>>>2|o<<30)^(o>>>13|o<<19)^(o>>>22|o<<10))+(o&(c|f+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a)))|c&f+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a))))|0,B[t>>2]=l,f=(r=666307205+(0|B[t+32+128>>2])+r+(n+d&(i+s^u+a)^u+a)+(((n+d|0)>>>6|n+d<<26)^((n+d|0)>>>11|n+d<<21)^((n+d|0)>>>25|n+d<<7))|0)+(f+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a)))|0,B[t+12>>2]=f,B[t+28>>2]=r+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c)),a=773529912+(0|B[t+32+132>>2])+(u+a)+(f&(n+d^i+s)^i+s)+((f>>>6|f<<26)^(f>>>11|f<<21)^(f>>>25|f<<7))|0,B[t+8>>2]=a+c,u=a+((((r+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c))|0)>>>2|r+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c))<<30)^((r+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c))|0)>>>13|r+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c))<<19)^((r+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c))|0)>>>22|r+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c))<<10))+(r+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c))&(l|o)|l&o))|0,B[t+24>>2]=u,s=1294757372+(0|B[t+32+136>>2])+(i+s)+(a+c&(f^n+d)^n+d)+(((a+c|0)>>>6|a+c<<26)^((a+c|0)>>>11|a+c<<21)^((a+c|0)>>>25|a+c<<7))|0,B[t+4>>2]=s+o,i=s+(((u>>>2|u<<30)^(u>>>13|u<<19)^(u>>>22|u<<10))+(u&(r+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c))|l)|r+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c))&l))|0,B[t+20>>2]=i,d=1396182291+(0|B[t+32+140>>2])+(n+d)+(s+o&(a+c^f)^f)+(((s+o|0)>>>6|s+o<<26)^((s+o|0)>>>11|s+o<<21)^((s+o|0)>>>25|s+o<<7))|0,B[t>>2]=d+l,n=d+(((i>>>2|i<<30)^(i>>>13|i<<19)^(i>>>22|i<<10))+(i&(u|r+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c)))|u&r+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c))))|0,B[t+16>>2]=n,r=(f=1695183700+(0|B[t+32+144>>2])+f+(d+l&(s+o^a+c)^a+c)+(((d+l|0)>>>6|d+l<<26)^((d+l|0)>>>11|d+l<<21)^((d+l|0)>>>25|d+l<<7))|0)+(r+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c)))|0,B[t+28>>2]=r,B[t+12>>2]=f+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u)),c=1986661051+(0|B[t+32+148>>2])+(a+c)+(r&(d+l^s+o)^s+o)+((r>>>6|r<<26)^(r>>>11|r<<21)^(r>>>25|r<<7))|0,B[t+24>>2]=c+u,a=c+((((f+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u))|0)>>>2|f+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u))<<30)^((f+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u))|0)>>>13|f+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u))<<19)^((f+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u))|0)>>>22|f+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u))<<10))+(f+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u))&(n|i)|n&i))|0,B[t+8>>2]=a,o=(0|B[t+32+152>>2])-2117940946+(s+o)+(c+u&(r^d+l)^d+l)+(((c+u|0)>>>6|c+u<<26)^((c+u|0)>>>11|c+u<<21)^((c+u|0)>>>25|c+u<<7))|0,B[t+20>>2]=o+i,s=o+(((a>>>2|a<<30)^(a>>>13|a<<19)^(a>>>22|a<<10))+(a&(f+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u))|n)|f+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u))&n))|0,B[t+4>>2]=s,l=(0|B[t+32+156>>2])-1838011259+(d+l)+(o+i&(c+u^r)^r)+(((o+i|0)>>>6|o+i<<26)^((o+i|0)>>>11|o+i<<21)^((o+i|0)>>>25|o+i<<7))|0,B[t+16>>2]=l+n,d=l+(((s>>>2|s<<30)^(s>>>13|s<<19)^(s>>>22|s<<10))+(s&(a|f+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u)))|a&f+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u))))|0,B[t>>2]=d,f=(r=(0|B[t+32+160>>2])-1564481375+r+(l+n&(o+i^c+u)^c+u)+(((l+n|0)>>>6|l+n<<26)^((l+n|0)>>>11|l+n<<21)^((l+n|0)>>>25|l+n<<7))|0)+(f+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u)))|0,B[t+12>>2]=f,B[t+28>>2]=r+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a)),u=(0|B[t+32+164>>2])-1474664885+(c+u)+(f&(l+n^o+i)^o+i)+((f>>>6|f<<26)^(f>>>11|f<<21)^(f>>>25|f<<7))|0,B[t+8>>2]=u+a,c=u+((((r+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a))|0)>>>2|r+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a))<<30)^((r+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a))|0)>>>13|r+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a))<<19)^((r+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a))|0)>>>22|r+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a))<<10))+(r+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a))&(d|s)|d&s))|0,B[t+24>>2]=c,i=(0|B[t+32+168>>2])-1035236496+(o+i)+(u+a&(f^l+n)^l+n)+(((u+a|0)>>>6|u+a<<26)^((u+a|0)>>>11|u+a<<21)^((u+a|0)>>>25|u+a<<7))|0,B[t+4>>2]=i+s,o=i+(((c>>>2|c<<30)^(c>>>13|c<<19)^(c>>>22|c<<10))+(c&(r+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a))|d)|r+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a))&d))|0,B[t+20>>2]=o,n=(0|B[t+32+172>>2])-949202525+(l+n)+(i+s&(u+a^f)^f)+(((i+s|0)>>>6|i+s<<26)^((i+s|0)>>>11|i+s<<21)^((i+s|0)>>>25|i+s<<7))|0,B[t>>2]=n+d,l=n+(((o>>>2|o<<30)^(o>>>13|o<<19)^(o>>>22|o<<10))+(o&(c|r+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a)))|c&r+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a))))|0,B[t+16>>2]=l,r=(f=(0|B[t+32+176>>2])-778901479+f+(n+d&(i+s^u+a)^u+a)+(((n+d|0)>>>6|n+d<<26)^((n+d|0)>>>11|n+d<<21)^((n+d|0)>>>25|n+d<<7))|0)+(r+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a)))|0,B[t+28>>2]=r,B[t+12>>2]=f+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c)),a=(0|B[t+32+180>>2])-694614492+(u+a)+(r&(n+d^i+s)^i+s)+((r>>>6|r<<26)^(r>>>11|r<<21)^(r>>>25|r<<7))|0,B[t+24>>2]=a+c,u=a+((((f+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c))|0)>>>2|f+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c))<<30)^((f+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c))|0)>>>13|f+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c))<<19)^((f+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c))|0)>>>22|f+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c))<<10))+(f+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c))&(l|o)|l&o))|0,B[t+8>>2]=u,s=(0|B[t+32+184>>2])-200395387+(i+s)+(a+c&(r^n+d)^n+d)+(((a+c|0)>>>6|a+c<<26)^((a+c|0)>>>11|a+c<<21)^((a+c|0)>>>25|a+c<<7))|0,B[t+20>>2]=s+o,i=s+(((u>>>2|u<<30)^(u>>>13|u<<19)^(u>>>22|u<<10))+(u&(f+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c))|l)|f+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c))&l))|0,B[t+4>>2]=i,d=275423344+(0|B[t+32+188>>2])+(n+d)+(s+o&(a+c^r)^r)+(((s+o|0)>>>6|s+o<<26)^((s+o|0)>>>11|s+o<<21)^((s+o|0)>>>25|s+o<<7))|0,B[t+16>>2]=d+l,n=d+(((i>>>2|i<<30)^(i>>>13|i<<19)^(i>>>22|i<<10))+(i&(u|f+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c)))|u&f+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c))))|0,B[t>>2]=n,f=(r=430227734+(0|B[t+32+192>>2])+r+(d+l&(s+o^a+c)^a+c)+(((d+l|0)>>>6|d+l<<26)^((d+l|0)>>>11|d+l<<21)^((d+l|0)>>>25|d+l<<7))|0)+(f+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c)))|0,B[t+12>>2]=f,B[t+28>>2]=r+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u)),c=506948616+(0|B[t+32+196>>2])+(a+c)+(f&(d+l^s+o)^s+o)+((f>>>6|f<<26)^(f>>>11|f<<21)^(f>>>25|f<<7))|0,B[t+8>>2]=c+u,a=c+((((r+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u))|0)>>>2|r+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u))<<30)^((r+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u))|0)>>>13|r+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u))<<19)^((r+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u))|0)>>>22|r+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u))<<10))+(r+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u))&(n|i)|n&i))|0,B[t+24>>2]=a,o=659060556+(0|B[t+32+200>>2])+(s+o)+(c+u&(f^d+l)^d+l)+(((c+u|0)>>>6|c+u<<26)^((c+u|0)>>>11|c+u<<21)^((c+u|0)>>>25|c+u<<7))|0,B[t+4>>2]=o+i,s=o+(((a>>>2|a<<30)^(a>>>13|a<<19)^(a>>>22|a<<10))+(a&(r+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u))|n)|r+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u))&n))|0,B[t+20>>2]=s,l=883997877+(0|B[t+32+204>>2])+(d+l)+(o+i&(c+u^f)^f)+(((o+i|0)>>>6|o+i<<26)^((o+i|0)>>>11|o+i<<21)^((o+i|0)>>>25|o+i<<7))|0,B[t>>2]=l+n,d=l+(((s>>>2|s<<30)^(s>>>13|s<<19)^(s>>>22|s<<10))+(s&(a|r+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u)))|a&r+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u))))|0,B[t+16>>2]=d,r=(f=958139571+(0|B[t+32+208>>2])+f+(l+n&(o+i^c+u)^c+u)+(((l+n|0)>>>6|l+n<<26)^((l+n|0)>>>11|l+n<<21)^((l+n|0)>>>25|l+n<<7))|0)+(r+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u)))|0,B[t+28>>2]=r,B[t+12>>2]=f+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a)),u=1322822218+(0|B[t+32+212>>2])+(c+u)+(r&(l+n^o+i)^o+i)+((r>>>6|r<<26)^(r>>>11|r<<21)^(r>>>25|r<<7))|0,B[t+24>>2]=u+a,c=u+((((f+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a))|0)>>>2|f+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a))<<30)^((f+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a))|0)>>>13|f+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a))<<19)^((f+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a))|0)>>>22|f+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a))<<10))+(f+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a))&(d|s)|d&s))|0,B[t+8>>2]=c,i=1537002063+(0|B[t+32+216>>2])+(o+i)+(u+a&(r^l+n)^l+n)+(((u+a|0)>>>6|u+a<<26)^((u+a|0)>>>11|u+a<<21)^((u+a|0)>>>25|u+a<<7))|0,B[t+20>>2]=i+s,o=i+(((c>>>2|c<<30)^(c>>>13|c<<19)^(c>>>22|c<<10))+(c&(f+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a))|d)|f+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a))&d))|0,B[t+4>>2]=o,n=1747873779+(0|B[t+32+220>>2])+(l+n)+(i+s&(u+a^r)^r)+(((i+s|0)>>>6|i+s<<26)^((i+s|0)>>>11|i+s<<21)^((i+s|0)>>>25|i+s<<7))|0,B[t+16>>2]=n+d,l=n+(((o>>>2|o<<30)^(o>>>13|o<<19)^(o>>>22|o<<10))+(o&(c|f+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a)))|c&f+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a))))|0,B[t>>2]=l,f=(r=1955562222+(0|B[t+32+224>>2])+r+(n+d&(i+s^u+a)^u+a)+(((n+d|0)>>>6|n+d<<26)^((n+d|0)>>>11|n+d<<21)^((n+d|0)>>>25|n+d<<7))|0)+(f+(((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&(s|a)|s&a)))|0,B[t+12>>2]=f,B[t+28>>2]=r+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c)),a=2024104815+(0|B[t+32+228>>2])+(u+a)+(f&(n+d^i+s)^i+s)+((f>>>6|f<<26)^(f>>>11|f<<21)^(f>>>25|f<<7))|0,B[t+8>>2]=a+c,u=a+((((r+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c))|0)>>>2|r+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c))<<30)^((r+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c))|0)>>>13|r+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c))<<19)^((r+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c))|0)>>>22|r+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c))<<10))+(r+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c))&(l|o)|l&o))|0,B[t+24>>2]=u,s=(0|B[t+32+232>>2])-2067236844+(i+s)+(a+c&(f^n+d)^n+d)+(((a+c|0)>>>6|a+c<<26)^((a+c|0)>>>11|a+c<<21)^((a+c|0)>>>25|a+c<<7))|0,B[t+4>>2]=s+o,i=s+(((u>>>2|u<<30)^(u>>>13|u<<19)^(u>>>22|u<<10))+(u&(r+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c))|l)|r+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c))&l))|0,B[t+20>>2]=i,d=(0|B[t+32+236>>2])-1933114872+(n+d)+(s+o&(a+c^f)^f)+(((s+o|0)>>>6|s+o<<26)^((s+o|0)>>>11|s+o<<21)^((s+o|0)>>>25|s+o<<7))|0,B[t>>2]=d+l,n=d+(((i>>>2|i<<30)^(i>>>13|i<<19)^(i>>>22|i<<10))+(i&(u|r+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c)))|u&r+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c))))|0,B[t+16>>2]=n,r=(f=(0|B[t+32+240>>2])-1866530822+f+(d+l&(s+o^a+c)^a+c)+(((d+l|0)>>>6|d+l<<26)^((d+l|0)>>>11|d+l<<21)^((d+l|0)>>>25|d+l<<7))|0)+(r+(((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&(o|c)|o&c)))|0,B[t+28>>2]=r,B[t+12>>2]=f+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u)),c=(0|B[t+32+244>>2])-1538233109+(a+c)+(r&(d+l^s+o)^s+o)+((r>>>6|r<<26)^(r>>>11|r<<21)^(r>>>25|r<<7))|0,B[t+24>>2]=c+u,a=c+((((f+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u))|0)>>>2|f+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u))<<30)^((f+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u))|0)>>>13|f+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u))<<19)^((f+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u))|0)>>>22|f+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u))<<10))+(f+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u))&(n|i)|n&i))|0,B[t+8>>2]=a,o=(0|B[t+32+248>>2])-1090935817+(s+o)+(c+u&(r^d+l)^d+l)+(((c+u|0)>>>6|c+u<<26)^((c+u|0)>>>11|c+u<<21)^((c+u|0)>>>25|c+u<<7))|0,B[t+20>>2]=o+i,s=o+(((a>>>2|a<<30)^(a>>>13|a<<19)^(a>>>22|a<<10))+(a&(f+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u))|n)|f+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u))&n))|0,B[t+4>>2]=s,r=(0|B[t+32+252>>2])-965641998+(d+l)+(o+i&(c+u^r)^r)+(((o+i|0)>>>6|o+i<<26)^((o+i|0)>>>11|o+i<<21)^((o+i|0)>>>25|o+i<<7))|0,B[t+292>>2]=r,u=((s>>>2|s<<30)^(s>>>13|s<<19)^(s>>>22|s<<10))+(s&(a|f+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u)))|a&f+(((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&(i|u)|i&u)))|0,B[t+288>>2]=u,B[t+16>>2]=r+n,B[t>>2]=r+u,B[e>>2]=(0|B[e>>2])+(r+u),B[e+4>>2]=(0|B[e+4>>2])+s,B[e+8>>2]=(0|B[e+8>>2])+a,B[e+12>>2]=(0|B[e+12>>2])+(0|B[t+12>>2]),B[e+16>>2]=(0|B[e+16>>2])+(r+n),B[e+20>>2]=(0|B[e+20>>2])+(o+i),B[e+24>>2]=(0|B[e+24>>2])+(0|B[t+24>>2]),B[e+28>>2]=(0|B[e+28>>2])+(0|B[t+28>>2]),Q[1&B[28]](t+32|0,256),Q[1&B[28]](t,32),Q[1&B[28]](t+292|0,4),Q[1&B[28]](t+288|0,4),L=t}function O(e){e|=0;var r,t=0,n=0,o=0,i=0,a=0,s=0,u=0,f=0,c=0,l=0,d=0,h=0,m=0,E=0,p=0,w=0,v=0,y=0,g=0;L=(r=L)+16|0;do{if(e>>>0<245){if(d=e>>>0<11?16:e+11&-8,(c=0|B[52])>>>(d>>>3)&3|0)return t=0|B[(e=248+((c>>>(d>>>3)&1^1)+(d>>>3)<<1<<2)|0)+8>>2],(0|(n=0|B[t+8>>2]))==(0|e)?B[52]=c&~(1<<(c>>>(d>>>3)&1^1)+(d>>>3)):(B[n+12>>2]=e,B[e+8>>2]=n),g=(c>>>(d>>>3)&1^1)+(d>>>3)<<3,B[t+4>>2]=3|g,B[t+g+4>>2]=1|B[t+g+4>>2],L=r,0|(g=t+8|0);if((l=0|B[54])>>>0<d>>>0){if(c>>>(d>>>3)|0)return i=0|B[248+((o=((i=(((e=c>>>(d>>>3)<<(d>>>3)&(2<<(d>>>3)|0-(2<<(d>>>3))))&0-e)-1|0)>>>(((e&0-e)-1|0)>>>12&16))>>>5&8|((e&0-e)-1|0)>>>12&16|i>>>(i>>>5&8)>>>2&4|(o=i>>>(i>>>5&8)>>>(i>>>(i>>>5&8)>>>2&4))>>>1&2|o>>>(o>>>1&2)>>>1&1)+(o>>>(o>>>1&2)>>>(o>>>(o>>>1&2)>>>1&1))|0)<<1<<2)+8>>2],e=(0|(e=0|B[i+8>>2]))==(248+(o<<1<<2)|0)?(B[52]=c&~(1<<o),c&~(1<<o)):(B[e+12>>2]=248+(o<<1<<2),B[248+(o<<1<<2)+8>>2]=e,c),B[i+4>>2]=3|d,B[i+d+4>>2]=(o<<3)-d|1,B[i+(o<<3)>>2]=(o<<3)-d,0|l&&(n=0|B[57],t=(e=e&1<<(l>>>3)?0|B[248+(l>>>3<<1<<2)+8>>2]:(B[52]=e|1<<(l>>>3),248+(l>>>3<<1<<2)|0),248+(l>>>3<<1<<2)+8|0),B[t>>2]=n,B[e+12>>2]=n,B[n+8>>2]=e,B[n+12>>2]=248+(l>>>3<<1<<2)),B[54]=(o<<3)-d,B[57]=i+d,L=r,0|(g=i+8|0);if(a=0|B[53]){for(f=0|B[512+(((t=((a&0-a)-1|0)>>>(((a&0-a)-1|0)>>>12&16))>>>5&8|((a&0-a)-1|0)>>>12&16|t>>>(t>>>5&8)>>>2&4|(f=t>>>(t>>>5&8)>>>(t>>>(t>>>5&8)>>>2&4))>>>1&2|f>>>(f>>>1&2)>>>1&1)+(f>>>(f>>>1&2)>>>(f>>>(f>>>1&2)>>>1&1))<<2)>>2],f=(-8&B[(u=t=f)+4>>2])-d|0;(e=0|B[t+16>>2])||(e=0|B[t+20>>2]);)u=(i=(s=(-8&B[(t=e)+4>>2])-d|0)>>>0<f>>>0)?e:u,f=i?s:f;if(u>>>0<(s=u+d|0)>>>0){i=0|B[u+24>>2],e=0|B[u+12>>2];do{if((0|e)==(0|u)){if(!(e=0|B[(t=u+20|0)>>2])&&!(e=0|B[(t=u+16|0)>>2])){t=0;break}for(;;)if(n=0|B[(o=e+20|0)>>2])e=n,t=o;else{if(!(n=0|B[(o=e+16|0)>>2]))break;e=n,t=o}B[t>>2]=0,t=e}else t=0|B[u+8>>2],B[t+12>>2]=e,B[e+8>>2]=t,t=e}while(0);do{if(0|i){if(e=0|B[u+28>>2],(0|u)==(0|B[512+(e<<2)>>2])){if(!(B[512+(e<<2)>>2]=t)){B[53]=a&~(1<<e);break}}else if(!(B[((0|B[i+16>>2])==(0|u)?i+16|0:i+20|0)>>2]=t))break;B[t+24>>2]=i,0|(e=0|B[u+16>>2])&&(B[t+16>>2]=e,B[e+24>>2]=t),0|(e=0|B[u+20>>2])&&(B[t+20>>2]=e,B[e+24>>2]=t)}}while(0);return f>>>0<16?(g=f+d|0,B[u+4>>2]=3|g,B[(g=u+g+4|0)>>2]=1|B[g>>2]):(B[u+4>>2]=3|d,B[s+4>>2]=1|f,B[s+f>>2]=f,0|l&&(n=0|B[57],t=(e=1<<(l>>>3)&c?0|B[248+(l>>>3<<1<<2)+8>>2]:(B[52]=1<<(l>>>3)|c,248+(l>>>3<<1<<2)|0),248+(l>>>3<<1<<2)+8|0),B[t>>2]=n,B[e+12>>2]=n,B[n+8>>2]=e,B[n+12>>2]=248+(l>>>3<<1<<2)),B[54]=f,B[57]=s),L=r,0|(g=u+8|0)}}}}else if(e>>>0<=4294967231){if(d=e+11&-8,o=0|B[53]){u=(e+11|0)>>>8?16777215<d>>>0?31:d>>>((u=14-(((u=(e+11|0)>>>8<<((1048320+((e+11|0)>>>8)|0)>>>16&8))+520192|0)>>>16&4|(1048320+((e+11|0)>>>8)|0)>>>16&8|(245760+(u<<((u+520192|0)>>>16&4))|0)>>>16&2)+(u<<((u+520192|0)>>>16&4)<<((245760+(u<<((u+520192|0)>>>16&4))|0)>>>16&2)>>>15)|0)+7|0)&1|u<<1:0,e=0|B[512+(u<<2)>>2];e:do{if(e)for(t=(a=0)-d|0,s=d<<(31==(0|u)?0:25-(u>>>1)|0),n=0;;){if((i=(-8&B[e+4>>2])-d|0)>>>0<t>>>0){if(!i){t=0,n=i=e,E=65;break e}a=e,t=i}if(n=0==(0|(E=0|B[e+20>>2]))|(0|E)==(0|(e=0|B[e+16+(s>>>31<<2)>>2]))?n:E,!e){e=a,E=61;break}s<<=1}else t=(e=n=0)-d|0,E=61}while(0);if(61==(0|E)){if(0==(0|n)&0==(0|e)){if(!(((e=2<<u)|0-e)&o))break;c=((e|0-e)&o&0-((e|0-e)&o))-1|0,n=(e=0)|B[512+((c>>>(c>>>12&16)>>>5&8|c>>>12&16|(l=c>>>(c>>>12&16)>>>(c>>>(c>>>12&16)>>>5&8))>>>2&4|l>>>(l>>>2&4)>>>1&2|(n=l>>>(l>>>2&4)>>>(l>>>(l>>>2&4)>>>1&2))>>>1&1)+(n>>>(n>>>1&1))<<2)>>2]}n?(i=e,E=65):(u=e,s=t)}if(65==(0|E))for(;;){if(t=(e=(l=(-8&B[n+4>>2])-d|0)>>>0<t>>>0)?l:t,i=e?n:i,(e=0|B[n+16>>2])||(e=0|B[n+20>>2]),!e){u=i,s=t;break}n=e}if(0!=(0|u)&&s>>>0<((0|B[54])-d|0)>>>0&&u>>>0<(f=u+d|0)>>>0){a=0|B[u+24>>2],e=0|B[u+12>>2];do{if((0|e)==(0|u)){if(!(e=0|B[(t=u+20|0)>>2])&&!(e=0|B[(t=u+16|0)>>2])){e=0;break}for(;;)if(n=0|B[(i=e+20|0)>>2])e=n,t=i;else{if(!(n=0|B[(i=e+16|0)>>2]))break;e=n,t=i}B[t>>2]=0}else g=0|B[u+8>>2],B[g+12>>2]=e,B[e+8>>2]=g}while(0);do{if(a){if(t=0|B[u+28>>2],(0|u)==(0|B[512+(t<<2)>>2])){if(!(B[512+(t<<2)>>2]=e)){B[53]=o&~(1<<t),o&=~(1<<t);break}}else if(!(B[((0|B[a+16>>2])==(0|u)?a+16|0:a+20|0)>>2]=e))break;B[e+24>>2]=a,0|(t=0|B[u+16>>2])&&(B[e+16>>2]=t,B[t+24>>2]=e),(t=0|B[u+20>>2])&&(B[e+20>>2]=t,B[t+24>>2]=e)}}while(0);e:do{if(s>>>0<16)g=s+d|0,B[u+4>>2]=3|g,B[(g=u+g+4|0)>>2]=1|B[g>>2];else{if(B[u+4>>2]=3|d,B[f+4>>2]=1|s,n=(B[f+s>>2]=s)>>>3,s>>>0<256){t=(e=(e=0|B[52])&1<<n?0|B[248+(n<<1<<2)+8>>2]:(B[52]=e|1<<n,248+(n<<1<<2)|0),248+(n<<1<<2)+8|0),B[t>>2]=f,B[e+12>>2]=f,B[f+8>>2]=e,B[f+12>>2]=248+(n<<1<<2);break}if(e=512+((n=(e=s>>>8)?16777215<s>>>0?31:s>>>((n=14-((520192+(e<<((e+1048320|0)>>>16&8))|0)>>>16&4|(e+1048320|0)>>>16&8|((n=e<<((e+1048320|0)>>>16&8)<<((520192+(e<<((e+1048320|0)>>>16&8))|0)>>>16&4))+245760|0)>>>16&2)+(n<<((n+245760|0)>>>16&2)>>>15)|0)+7|0)&1|n<<1:0)<<2)|0,B[f+28>>2]=n,B[f+16+4>>2]=0,B[f+16>>2]=0,!(o&(t=1<<n))){B[53]=o|t,B[e>>2]=f,B[f+24>>2]=e,B[f+12>>2]=f,B[f+8>>2]=f;break}e=0|B[e>>2];r:do{if((-8&B[e+4>>2]|0)!=(0|s)){for(o=s<<(31==(0|n)?0:25-(n>>>1)|0);t=0|B[(n=e+16+(o>>>31<<2)|0)>>2];){if((-8&B[t+4>>2]|0)==(0|s)){e=t;break r}o<<=1,e=t}B[n>>2]=f,B[f+24>>2]=e,B[f+12>>2]=f,B[f+8>>2]=f;break e}}while(0);g=0|B[(y=e+8|0)>>2],B[g+12>>2]=f,B[y>>2]=f,B[f+8>>2]=g,B[f+12>>2]=e,B[f+24>>2]=0}}while(0);return L=r,0|(g=u+8|0)}}}else d=-1}while(0);if(d>>>0<=(n=0|B[54])>>>0)return e=n-d|0,t=0|B[57],15<e>>>0?(g=t+d|0,B[57]=g,B[54]=e,B[g+4>>2]=1|e,B[t+n>>2]=e,B[t+4>>2]=3|d):(B[54]=0,B[57]=0,B[t+4>>2]=3|n,B[t+n+4>>2]=1|B[t+n+4>>2]),L=r,0|(g=t+8|0);if(d>>>0<(i=0|B[55])>>>0)return v=i-d|0,B[55]=v,y=(g=0|B[58])+d|0,B[58]=y,B[y+4>>2]=1|v,B[g+4>>2]=3|d,L=r,0|(g=g+8|0);if(a=d+48|0,((f=(e=0|B[170]?0|B[172]:(B[172]=4096,B[171]=4096,B[173]=-1,B[174]=-1,B[175]=0,B[163]=0,B[170]=-16&r^1431655768,4096))+(s=d+47|0)|0)&(u=0-e|0))>>>0<=d>>>0)return L=r,(g=0)|g;if(0|(e=0|B[162])&&(((l=0|B[160])+(f&u)|0)>>>0<=l>>>0||e>>>0<(l+(f&u)|0)>>>0))return L=r,(g=0)|g;e:do{if(4&B[163])e=0,E=143;else{n=0|B[58];r:do{if(n){for(t=656;!((l=0|B[t>>2])>>>0<=n>>>0&&(l+(0|B[t+4>>2])|0)>>>0>n>>>0);){if(!(e=0|B[t+8>>2])){E=128;break r}t=e}if((f-i&u)>>>0<2147483647)if((0|(e=0|H(f-i&u|0)))==((0|B[t>>2])+(0|B[t+4>>2])|0)){if(-1!=(0|e)){s=f-i&u,i=e,E=145;break e}e=f-i&u}else o=e,n=f-i&u,E=136;else e=0}else E=128}while(0);do{if(128==(0|E))if(-1!=(0|(t=0|H(0)))&&(m=(0==((m=0|B[171])+-1&t|0)?0:(m+-1+t&0-m)-t|0)+(f&u)|0,h=0|B[160],d>>>0<m>>>0&m>>>0<2147483647)){if(0|(l=0|B[162])&&(m+h|0)>>>0<=h>>>0|l>>>0<(m+h|0)>>>0){e=0;break}if((0|(e=0|H(0|m)))==(0|t)){s=m,i=t,E=145;break e}o=e,n=m,E=136}else e=0}while(0);do{if(136==(0|E)){if(t=0-n|0,!(n>>>0<a>>>0&n>>>0<2147483647&-1!=(0|o))){if(-1==(0|o)){e=0;break}s=n,i=o,E=145;break e}if(2147483647<=(e=s-n+(e=0|B[172])&0-e)>>>0){s=n,i=o,E=145;break e}if(-1==(0|H(0|e))){H(0|t),e=0;break}s=e+n|0,i=o,E=145;break e}}while(0);B[163]=4|B[163],E=143}}while(0);if(143==(0|E)&&(f&u)>>>0<2147483647&&!(-1==(0|(v=0|H(f&u|0)))|1^(w=(d+40|0)>>>0<((p=0|H(0))-v|0)>>>0)|v>>>0<p>>>0&-1!=(0|v)&-1!=(0|p)^1)&&(s=w?p-v|0:e,i=v,E=145),145==(0|E)){e=(0|B[160])+s|0,(B[160]=e)>>>0>(0|B[161])>>>0&&(B[161]=e),f=0|B[58];e:do{if(f){for(e=656;;){if((0|i)==((t=0|B[e>>2])+(n=0|B[e+4>>2])|0)){E=154;break}if(!(o=0|B[e+8>>2]))break;e=o}if(154==(0|E)&&(y=e+4|0,0==(8&B[e+12>>2]|0))&&f>>>0<i>>>0&t>>>0<=f>>>0){B[y>>2]=n+s,g=(0|B[55])+s|0,y=0==(f+8&7|0)?0:0-(f+8)&7,B[58]=f+y,B[55]=g-y,B[f+y+4>>2]=g-y|1,B[f+g+4>>2]=40,B[59]=B[174];break}for(i>>>0<(0|B[56])>>>0&&(B[56]=i),n=i+s|0,e=656;;){if((0|B[e>>2])==(0|n)){E=162;break}if(!(t=0|B[e+8>>2]))break;e=t}if(162==(0|E)&&0==(8&B[e+12>>2]|0)){B[e>>2]=i,B[(l=e+4|0)>>2]=(0|B[l>>2])+s,c=(l=i+(0==(7&(l=i+8|0)|0)?0:0-l&7)|0)+d|0,u=(e=n+(0==(n+8&7|0)?0:0-(n+8)&7)|0)-l-d|0,B[l+4>>2]=3|d;r:do{if((0|f)==(0|e))g=(0|B[55])+u|0,B[55]=g,B[58]=c,B[c+4>>2]=1|g;else{if((0|B[57])==(0|e)){g=(0|B[54])+u|0,B[54]=g,B[57]=c,B[c+4>>2]=1|g,B[c+g>>2]=g;break}if(1==(3&(s=0|B[e+4>>2])|0)){t:do{if(s>>>0<256){if(t=0|B[e+8>>2],(0|(n=0|B[e+12>>2]))==(0|t)){B[52]=B[52]&~(1<<(s>>>3));break}B[t+12>>2]=n,B[n+8>>2]=t;break}a=0|B[e+24>>2],t=0|B[e+12>>2];do{if((0|t)==(0|e)){if(t=0|B[e+16+4>>2])n=e+16+4|0;else{if(!(t=0|B[e+16>>2])){t=0;break}n=e+16|0}for(;;)if(o=0|B[(i=t+20|0)>>2])t=o,n=i;else{if(!(o=0|B[(i=t+16|0)>>2]))break;t=o,n=i}B[n>>2]=0}else g=0|B[e+8>>2],B[g+12>>2]=t,B[t+8>>2]=g}while(0);if(!a)break;n=0|B[e+28>>2];do{if((0|B[512+(n<<2)>>2])==(0|e)){if(0|(B[512+(n<<2)>>2]=t))break;B[53]=B[53]&~(1<<n);break t}if(!(B[((0|B[a+16>>2])==(0|e)?a+16|0:a+20|0)>>2]=t))break t}while(0);if(B[t+24>>2]=a,0|(n=0|B[e+16>>2])&&(B[t+16>>2]=n,B[n+24>>2]=t),!(n=0|B[e+16+4>>2]))break;B[t+20>>2]=n,B[n+24>>2]=t}while(0);e=e+(-8&s)|0,i=(-8&s)+u|0}else i=u;if(B[(n=e+4|0)>>2]=-2&B[n>>2],B[c+4>>2]=1|i,n=(B[c+i>>2]=i)>>>3,i>>>0<256){t=(e=(e=0|B[52])&1<<n?0|B[248+(n<<1<<2)+8>>2]:(B[52]=e|1<<n,248+(n<<1<<2)|0),248+(n<<1<<2)+8|0),B[t>>2]=c,B[e+12>>2]=c,B[c+8>>2]=e,B[c+12>>2]=248+(n<<1<<2);break}e=i>>>8;do{if(e){if(16777215<i>>>0){o=31;break}o=i>>>((o=14-((520192+(e<<((e+1048320|0)>>>16&8))|0)>>>16&4|(e+1048320|0)>>>16&8|((o=e<<((e+1048320|0)>>>16&8)<<((520192+(e<<((e+1048320|0)>>>16&8))|0)>>>16&4))+245760|0)>>>16&2)+(o<<((o+245760|0)>>>16&2)>>>15)|0)+7|0)&1|o<<1}else o=0}while(0);if(e=512+(o<<2)|0,B[c+28>>2]=o,B[c+16+4>>2]=0,!((t=(B[c+16>>2]=0)|B[53])&(n=1<<o))){B[53]=t|n,B[e>>2]=c,B[c+24>>2]=e,B[c+12>>2]=c,B[c+8>>2]=c;break}e=0|B[e>>2];t:do{if((-8&B[e+4>>2]|0)!=(0|i)){for(o=i<<(31==(0|o)?0:25-(o>>>1)|0);t=0|B[(n=e+16+(o>>>31<<2)|0)>>2];){if((-8&B[t+4>>2]|0)==(0|i)){e=t;break t}o<<=1,e=t}B[n>>2]=c,B[c+24>>2]=e,B[c+12>>2]=c,B[c+8>>2]=c;break r}}while(0);g=0|B[(y=e+8|0)>>2],B[g+12>>2]=c,B[y>>2]=c,B[c+8>>2]=g,B[c+12>>2]=e,B[c+24>>2]=0}}while(0);return L=r,0|(g=l+8|0)}for(e=656;!((t=0|B[e>>2])>>>0<=f>>>0&&f>>>0<(g=t+(0|B[e+4>>2])|0)>>>0);)e=0|B[e+8>>2];for(a=(a=g+-47+(0==(g+-47+8&7|0)?0:0-(g+-47+8)&7)|0)>>>0<(f+16|0)>>>0?f:a,e=s+-40|0,y=i+(v=0==(7&(v=i+8|0)|0)?0:0-v&7)|0,B[58]=y,B[55]=e-v,B[y+4>>2]=e-v|1,B[i+e+4>>2]=40,B[59]=B[174],B[a+4>>2]=27,B[a+8>>2]=B[164],B[a+8+4>>2]=B[165],B[a+8+8>>2]=B[166],B[a+8+12>>2]=B[167],B[164]=i,B[165]=s,B[167]=0,B[166]=a+8,e=a+24|0;B[(e=(y=e)+4|0)>>2]=7,(y+8|0)>>>0<g>>>0;);if((0|a)!=(0|f)){if(B[a+4>>2]=-2&B[a+4>>2],B[f+4>>2]=a-f|1,B[a>>2]=a-f,(a-f|0)>>>0<256){n=248+((a-f|0)>>>3<<1<<2)|0,t=(e=0|B[52])&1<<((a-f|0)>>>3)?(e=0|B[n+8>>2],n+8|0):(B[52]=e|1<<((a-f|0)>>>3),(e=n)+8|0),B[t>>2]=f,B[e+12>>2]=f,B[f+8>>2]=e,B[f+12>>2]=n;break}if(e=512+((o=(a-f|0)>>>8?16777215<(a-f|0)>>>0?31:(a-f|0)>>>((o=14-(((o=(a-f|0)>>>8<<((1048320+((a-f|0)>>>8)|0)>>>16&8))+520192|0)>>>16&4|(1048320+((a-f|0)>>>8)|0)>>>16&8|(245760+(o<<((o+520192|0)>>>16&4))|0)>>>16&2)+(o<<((o+520192|0)>>>16&4)<<((245760+(o<<((o+520192|0)>>>16&4))|0)>>>16&2)>>>15)|0)+7|0)&1|o<<1:0)<<2)|0,B[f+28>>2]=o,B[f+20>>2]=0,!((t=(B[f+16>>2]=0)|B[53])&(n=1<<o))){B[53]=t|n,B[e>>2]=f,B[f+24>>2]=e,B[f+12>>2]=f,B[f+8>>2]=f;break}e=0|B[e>>2];r:do{if((-8&B[e+4>>2]|0)!=(a-f|0)){for(o=a-f<<(31==(0|o)?0:25-(o>>>1)|0);t=0|B[(n=e+16+(o>>>31<<2)|0)>>2];){if((-8&B[t+4>>2]|0)==(a-f|0)){e=t;break r}o<<=1,e=t}B[n>>2]=f,B[f+24>>2]=e,B[f+12>>2]=f,B[f+8>>2]=f;break e}}while(0);g=0|B[(y=e+8|0)>>2],B[g+12>>2]=f,B[y>>2]=f,B[f+8>>2]=g,B[f+12>>2]=e,B[f+24>>2]=0}}else 0==(0|(g=0|B[56]))|i>>>0<g>>>0&&(B[56]=i),B[164]=i,B[165]=s,B[167]=0,B[61]=B[170],B[60]=-1,B[65]=248,B[64]=248,B[67]=256,B[66]=256,B[69]=264,B[68]=264,B[71]=272,B[70]=272,B[73]=280,B[72]=280,B[75]=288,B[74]=288,B[77]=296,B[76]=296,B[79]=304,B[78]=304,B[81]=312,B[80]=312,B[83]=320,B[82]=320,B[85]=328,B[84]=328,B[87]=336,B[86]=336,B[89]=344,B[88]=344,B[91]=352,B[90]=352,B[93]=360,B[92]=360,B[95]=368,B[94]=368,B[97]=376,B[96]=376,B[99]=384,B[98]=384,B[101]=392,B[100]=392,B[103]=400,B[102]=400,B[105]=408,B[104]=408,B[107]=416,B[106]=416,B[109]=424,B[108]=424,B[111]=432,B[110]=432,B[113]=440,B[112]=440,B[115]=448,B[114]=448,B[117]=456,B[116]=456,B[119]=464,B[118]=464,B[121]=472,B[120]=472,B[123]=480,B[122]=480,B[125]=488,B[124]=488,B[127]=496,B[126]=496,g=s+-40|0,y=i+(v=0==(7&(v=i+8|0)|0)?0:0-v&7)|0,B[58]=y,B[55]=g-v,B[y+4>>2]=g-v|1,B[i+g+4>>2]=40,B[59]=B[174]}while(0);if(d>>>0<(e=0|B[55])>>>0)return v=e-d|0,B[55]=v,y=(g=0|B[58])+d|0,B[58]=y,B[y+4>>2]=1|v,B[g+4>>2]=3|d,L=r,0|(g=g+8|0)}return B[(g=704)>>2]=12,L=r,(g=0)|g}function T(e,r,t,n,o,i,a,s){e|=0,r|=0,t|=0,n|=0,o|=0,i|=0,a|=0;var u,f=0,c=0,l=0,d=0,h=0;L=(u=L)+496|0,4294967265<=(s|=0)>>>0&&A(116,151,403,189),F(u+272|0,e,r);do{if(0|n){if(l=0|G(0|(c=0|B[u+272+32>>2]),0|(d=0|B[u+272+32+4>>2]),3),h=0|X(0|c,0|d,0|(h=0|Y(0|n,0,3)),0|p),B[u+272+32>>2]=h,B[u+272+32+4>>2]=p,n>>>0<(64-(63&l)|0)>>>0){z(u+272+40+(63&l)|0,0|t,0|n);break}if(z(u+272+40+(63&l)|0,0|t,64-(63&l)|0),N(u+272|0,u+272+40|0),63<(n-(64-(63&l))|0)>>>0){for(f=n-(64-(63&l))|0,c=t+(64-(63&l))|0;N(u+272|0,c),!((f=f+-64|0)>>>0<=63);)c=c+64|0;c=t+(128-(63&l)+(n+-128+(63&l)&-64))|0,f=n+-128+(63&l)-(n+-128+(63&l)&-64)|0}else c=t+(64-(63&l))|0,f=n-(64-(63&l))|0;z(u+272+40|0,0|c,0|f)}}while(0);if(!s)return s=0|B[28],Q[1&s](u+272|0,208),void(L=u);h=d=0;do{if(d=d+1|0,m[u+480+3>>0]=d,m[u+480+2>>0]=d>>>8,m[u+480+1>>0]=d>>>16,m[u+480>>0]=d>>>24,z(u+64|0,u+272|0,208),t=0|G(0|(n=0|B[u+64+32>>2]),0|(f=0|B[u+64+32+4>>2]),3),f=0|X(0|n,0|f,32,0),B[u+64+32>>2]=f,B[u+64+32+4>>2]=p,f=u+64+40+(63&t)|0,4<(64-(63&t)|0)>>>0)n=0|B[u+480>>2],m[f>>0]=n,m[f+1>>0]=n>>8,m[f+2>>0]=n>>16,m[f+3>>0]=n>>24;else{if(z(0|f,u+480|0,64-(63&t)|0),N(u+64|0,u+64+40|0),63<(4-(64-(63&t))|0)>>>0){for(f=4-(64-(63&t))|0,c=u+480+(64-(63&t))|0;N(u+64|0,c),!((f=f+-64|0)>>>0<=63);)c=c+64|0;c=u+480+(128-(63&t)+((63&t)-124&-64))|0,f=(63&t)-124-((63&t)-124&-64)|0}else c=u+480+(64-(63&t))|0,f=4-(64-(63&t))|0;z(u+64+40|0,0|c,0|f)}if(j(u+32|0,u+64|0),B[u>>2]=B[u+32>>2],B[u+4>>2]=B[u+32+4>>2],B[u+8>>2]=B[u+32+8>>2],B[u+12>>2]=B[u+32+12>>2],B[u+16>>2]=B[u+32+16>>2],B[u+20>>2]=B[u+32+20>>2],B[u+24>>2]=B[u+32+24>>2],B[u+28>>2]=B[u+32+28>>2],!(i>>>0<0|0==(0|i)&o>>>0<2)){l=2,n=0;do{if(F(u+64|0,e,r),t=0|G(0|(f=0|B[u+64+32>>2]),0|(c=0|B[u+64+32+4>>2]),3),c=0|X(0|f,0|c,256,0),B[u+64+32>>2]=c,B[u+64+32+4>>2]=p,32<(64-(63&t)|0)>>>0)for(c=u+32|0,t=(f=u+64+40+(63&t)|0)+32|0;m[f>>0]=0|m[c>>0],c=c+1|0,(0|(f=f+1|0))<(0|t););else{if(z(u+64+40+(63&t)|0,u+32|0,64-(63&t)|0),N(u+64|0,u+64+40|0),63<(32-(64-(63&t))|0)>>>0){for(f=32-(64-(63&t))|0,c=u+32+(64-(63&t))|0;N(u+64|0,c),!((f=f+-64|0)>>>0<=63);)c=c+64|0;c=u+32+(128-(63&t)+((63&t)-96&-64))|0,f=(63&t)-96-((63&t)-96&-64)|0}else c=u+32+(64-(63&t))|0,f=32-(64-(63&t))|0;z(u+64+40|0,0|c,0|f)}j(u+32|0,u+64|0),m[u>>0]=m[u>>0]^m[u+32>>0],m[u+1>>0]=m[u+1>>0]^m[u+32+1>>0],m[u+2>>0]=m[u+2>>0]^m[u+32+2>>0],m[u+3>>0]=m[u+3>>0]^m[u+32+3>>0],m[u+4>>0]=m[u+4>>0]^m[u+32+4>>0],m[u+5>>0]=m[u+5>>0]^m[u+32+5>>0],m[u+6>>0]=m[u+6>>0]^m[u+32+6>>0],m[u+7>>0]=m[u+7>>0]^m[u+32+7>>0],m[u+8>>0]=m[u+8>>0]^m[u+32+8>>0],m[u+9>>0]=m[u+9>>0]^m[u+32+9>>0],m[u+10>>0]=m[u+10>>0]^m[u+32+10>>0],m[u+11>>0]=m[u+11>>0]^m[u+32+11>>0],m[u+12>>0]=m[u+12>>0]^m[u+32+12>>0],m[u+13>>0]=m[u+13>>0]^m[u+32+13>>0],m[u+14>>0]=m[u+14>>0]^m[u+32+14>>0],m[u+15>>0]=m[u+15>>0]^m[u+32+15>>0],m[u+16>>0]=m[u+16>>0]^m[u+32+16>>0],m[u+17>>0]=m[u+17>>0]^m[u+32+17>>0],m[u+18>>0]=m[u+18>>0]^m[u+32+18>>0],m[u+19>>0]=m[u+19>>0]^m[u+32+19>>0],m[u+20>>0]=m[u+20>>0]^m[u+32+20>>0],m[u+21>>0]=m[u+21>>0]^m[u+32+21>>0],m[u+22>>0]=m[u+22>>0]^m[u+32+22>>0],m[u+23>>0]=m[u+23>>0]^m[u+32+23>>0],m[u+24>>0]=m[u+24>>0]^m[u+32+24>>0],m[u+25>>0]=m[u+25>>0]^m[u+32+25>>0],m[u+26>>0]=m[u+26>>0]^m[u+32+26>>0],m[u+27>>0]=m[u+27>>0]^m[u+32+27>>0],m[u+28>>0]=m[u+28>>0]^m[u+32+28>>0],m[u+29>>0]=m[u+29>>0]^m[u+32+29>>0],m[u+30>>0]=m[u+30>>0]^m[u+32+30>>0],m[u+31>>0]=m[u+31>>0]^m[u+32+31>>0],l=0|X(0|l,0|n,1,0),n=p}while(!(i>>>0<n>>>0|(0|n)==(0|i)&o>>>0<l>>>0))}z(a+h|0,0|u,0|((n=s-h|0)>>>0<32?n:32)),h=d<<5}while(h>>>0<s>>>0);s=0|B[28],Q[1&s](u+272|0,208),L=u}function P(e){var r=0,t=0,n=0,o=0,i=0,a=0,s=0,u=0;if(e|=0){r=0|B[56],u=e+-8+(-8&(t=0|B[e+-4>>2]))|0;do{if(1&t)r=-8&t,a=s=e+-8|0;else{if(n=0|B[e+-8>>2],!(3&t))return;if(i=n+(-8&t)|0,(a=e+-8+(0-n)|0)>>>0<r>>>0)return;if((0|B[57])==(0|a)){if(3==(3&(r=0|B[u+4>>2])|0))return B[54]=i,B[u+4>>2]=-2&r,B[a+4>>2]=1|i,void(B[a+i>>2]=i);s=a,r=i;break}if(n>>>0<256){if(r=0|B[a+8>>2],(0|(e=0|B[a+12>>2]))==(0|r)){B[52]=B[52]&~(1<<(n>>>3)),s=a,r=i;break}B[r+12>>2]=e,B[e+8>>2]=r,s=a,r=i;break}o=0|B[a+24>>2],r=0|B[a+12>>2];do{if((0|r)==(0|a)){if(r=0|B[a+16+4>>2])e=a+16+4|0;else{if(!(r=0|B[a+16>>2])){r=0;break}e=a+16|0}for(;;)if(t=0|B[(n=r+20|0)>>2])r=t,e=n;else{if(!(t=0|B[(n=r+16|0)>>2]))break;r=t,e=n}B[e>>2]=0}else s=0|B[a+8>>2],B[s+12>>2]=r,B[r+8>>2]=s}while(0);if(o){if(e=0|B[a+28>>2],(0|B[512+(e<<2)>>2])==(0|a)){if(!(B[512+(e<<2)>>2]=r)){B[53]=B[53]&~(1<<e),s=a,r=i;break}}else if(!(B[((0|B[o+16>>2])==(0|a)?o+16|0:o+20|0)>>2]=r)){s=a,r=i;break}B[r+24>>2]=o,0|(e=0|B[a+16>>2])&&(B[r+16>>2]=e,B[e+24>>2]=r),r=(s=((e=0|B[a+16+4>>2])&&(B[r+20>>2]=e,B[e+24>>2]=r),a),i)}else s=a,r=i}}while(0);if(!(u>>>0<=a>>>0)&&1&(t=0|B[u+4>>2])){if(2&t)B[u+4>>2]=-2&t,B[s+4>>2]=1|r,o=B[a+r>>2]=r;else{if((0|B[58])==(0|u)){if(u=(0|B[55])+r|0,B[55]=u,B[58]=s,B[s+4>>2]=1|u,(0|s)!=(0|B[57]))return;return B[57]=0,void(B[54]=0)}if((0|B[57])==(0|u))return u=(0|B[54])+r|0,B[54]=u,B[57]=a,B[s+4>>2]=1|u,void(B[a+u>>2]=u);o=(-8&t)+r|0;do{if(t>>>0<256){if(e=0|B[u+8>>2],(0|(r=0|B[u+12>>2]))==(0|e)){B[52]=B[52]&~(1<<(t>>>3));break}B[e+12>>2]=r,B[r+8>>2]=e;break}i=0|B[u+24>>2],r=0|B[u+12>>2];do{if((0|r)==(0|u)){if(r=0|B[u+16+4>>2])e=u+16+4|0;else{if(!(r=0|B[u+16>>2])){e=0;break}e=u+16|0}for(;;)if(t=0|B[(n=r+20|0)>>2])r=t,e=n;else{if(!(t=0|B[(n=r+16|0)>>2]))break;r=t,e=n}B[e>>2]=0,e=r}else e=0|B[u+8>>2],B[e+12>>2]=r,B[r+8>>2]=e,e=r}while(0);if(0|i){if(r=0|B[u+28>>2],(0|B[512+(r<<2)>>2])==(0|u)){if(!(B[512+(r<<2)>>2]=e)){B[53]=B[53]&~(1<<r);break}}else if(!(B[((0|B[i+16>>2])==(0|u)?i+16|0:i+20|0)>>2]=e))break;B[e+24>>2]=i,0|(r=0|B[u+16>>2])&&(B[e+16>>2]=r,B[r+24>>2]=e),0|(r=0|B[u+16+4>>2])&&(B[e+20>>2]=r,B[r+24>>2]=e)}}while(0);if(B[s+4>>2]=1|o,B[a+o>>2]=o,(0|s)==(0|B[57]))return void(B[54]=o)}if(t=o>>>3,o>>>0<256)return e=(r=(r=0|B[52])&1<<t?0|B[248+(t<<1<<2)+8>>2]:(B[52]=r|1<<t,248+(t<<1<<2)|0),248+(t<<1<<2)+8|0),B[e>>2]=s,B[r+12>>2]=s,B[s+8>>2]=r,void(B[s+12>>2]=248+(t<<1<<2));r=512+((n=(r=o>>>8)?16777215<o>>>0?31:o>>>((n=14-((520192+(r<<((r+1048320|0)>>>16&8))|0)>>>16&4|(r+1048320|0)>>>16&8|((n=r<<((r+1048320|0)>>>16&8)<<((520192+(r<<((r+1048320|0)>>>16&8))|0)>>>16&4))+245760|0)>>>16&2)+(n<<((n+245760|0)>>>16&2)>>>15)|0)+7|0)&1|n<<1:0)<<2)|0,B[s+28>>2]=n,B[s+20>>2]=0,e=(B[s+16>>2]=0)|B[53],t=1<<n;e:do{if(e&t){r=0|B[r>>2];r:do{if((-8&B[r+4>>2]|0)!=(0|o)){for(n=o<<(31==(0|n)?0:25-(n>>>1)|0);e=0|B[(t=r+16+(n>>>31<<2)|0)>>2];){if((-8&B[e+4>>2]|0)==(0|o)){r=e;break r}n<<=1,r=e}B[t>>2]=s,B[s+24>>2]=r,B[s+12>>2]=s,B[s+8>>2]=s;break e}}while(0);u=0|B[(a=r+8|0)>>2],B[u+12>>2]=s,B[a>>2]=s,B[s+8>>2]=u,B[s+12>>2]=r,B[s+24>>2]=0}else B[53]=e|t,B[r>>2]=s,B[s+24>>2]=r,B[s+12>>2]=s,B[s+8>>2]=s}while(0);if(u=(0|B[60])-1|0,!(0|(B[60]=u))){for(r=664;r=0|B[r>>2];)r=r+8|0;B[60]=-1}}}}function R(e,r){r|=0;var t=0,n=0,o=0,i=0,a=0,s=0,u=0;t=0|B[(e|=0)+4>>2];do{if(1&t)u=e,t=r;else{if(s=0|B[e>>2],!(3&t))return;if((0|B[57])==(e+(0-s)|0)){if(3==(3&(t=0|B[e+r+4>>2])|0))return B[54]=s+r,B[e+r+4>>2]=-2&t,B[e+(0-s)+4>>2]=s+r|1,void(B[e+r>>2]=s+r);u=e+(0-s)|0,t=s+r|0;break}if(s>>>0<256){if(t=0|B[e+(0-s)+8>>2],(0|(n=0|B[e+(0-s)+12>>2]))==(0|t)){B[52]=B[52]&~(1<<(s>>>3)),u=e+(0-s)|0,t=s+r|0;break}B[t+12>>2]=n,B[n+8>>2]=t,u=e+(0-s)|0,t=s+r|0;break}a=0|B[e+(0-s)+24>>2],t=0|B[e+(0-s)+12>>2];do{if((0|t)==(e+(0-s)|0)){if(t=0|B[(n=e+(0-s)+16|0)+4>>2])n=n+4|0;else if(!(t=0|B[n>>2])){t=0;break}for(;;)if(o=0|B[(i=t+20|0)>>2])t=o,n=i;else{if(!(o=0|B[(i=t+16|0)>>2]))break;t=o,n=i}B[n>>2]=0}else u=0|B[e+(0-s)+8>>2],B[u+12>>2]=t,B[t+8>>2]=u}while(0);if(a){if(n=0|B[e+(0-s)+28>>2],(0|B[512+(n<<2)>>2])==(e+(0-s)|0)){if(!(B[512+(n<<2)>>2]=t)){B[53]=B[53]&~(1<<n),u=e+(0-s)|0,t=s+r|0;break}}else if(!(B[((0|B[a+16>>2])==(e+(0-s)|0)?a+16|0:a+20|0)>>2]=t)){u=e+(0-s)|0,t=s+r|0;break}B[t+24>>2]=a,0|(n=0|B[e+(0-s)+16>>2])&&(B[t+16>>2]=n,B[n+24>>2]=t),t=(u=((n=0|B[e+(0-s)+16+4>>2])&&(B[t+20>>2]=n,B[n+24>>2]=t),e+(0-s)|0),s+r|0)}else u=e+(0-s)|0,t=s+r|0}}while(0);if(2&(o=0|B[e+r+4>>2]))B[e+r+4>>2]=-2&o,B[u+4>>2]=1|t,a=B[u+t>>2]=t;else{if((0|B[58])==(e+r|0)){if(r=(0|B[55])+t|0,B[55]=r,B[58]=u,B[u+4>>2]=1|r,(0|u)!=(0|B[57]))return;return B[57]=0,void(B[54]=0)}if((0|B[57])==(e+r|0))return r=(0|B[54])+t|0,B[54]=r,B[57]=u,B[u+4>>2]=1|r,void(B[u+r>>2]=r);a=(-8&o)+t|0;do{if(o>>>0<256){if(n=0|B[e+r+8>>2],(0|(t=0|B[e+r+12>>2]))==(0|n)){B[52]=B[52]&~(1<<(o>>>3));break}B[n+12>>2]=t,B[t+8>>2]=n;break}s=0|B[e+r+24>>2],t=0|B[e+r+12>>2];do{if((0|t)==(e+r|0)){if(t=0|B[e+r+16+4>>2])n=e+r+16+4|0;else{if(!(t=0|B[e+r+16>>2])){n=0;break}n=e+r+16|0}for(;;)if(o=0|B[(i=t+20|0)>>2])t=o,n=i;else{if(!(o=0|B[(i=t+16|0)>>2]))break;t=o,n=i}B[n>>2]=0,n=t}else n=0|B[e+r+8>>2],B[n+12>>2]=t,B[t+8>>2]=n,n=t}while(0);if(0|s){if(t=0|B[e+r+28>>2],(0|B[512+(t<<2)>>2])==(e+r|0)){if(!(B[512+(t<<2)>>2]=n)){B[53]=B[53]&~(1<<t);break}}else if(!(B[((0|B[s+16>>2])==(e+r|0)?s+16|0:s+20|0)>>2]=n))break;B[n+24>>2]=s,0|(t=0|B[e+r+16>>2])&&(B[n+16>>2]=t,B[t+24>>2]=n),0|(t=0|B[e+r+16+4>>2])&&(B[n+20>>2]=t,B[t+24>>2]=n)}}while(0);if(B[u+4>>2]=1|a,B[u+a>>2]=a,(0|u)==(0|B[57]))return void(B[54]=a)}if(o=a>>>3,a>>>0<256)return n=(t=(t=0|B[52])&1<<o?0|B[248+(o<<1<<2)+8>>2]:(B[52]=t|1<<o,248+(o<<1<<2)|0),248+(o<<1<<2)+8|0),B[n>>2]=u,B[t+12>>2]=u,B[u+8>>2]=t,void(B[u+12>>2]=248+(o<<1<<2));if(t=512+((i=(t=a>>>8)?16777215<a>>>0?31:a>>>((i=14-((520192+(t<<((t+1048320|0)>>>16&8))|0)>>>16&4|(t+1048320|0)>>>16&8|((i=t<<((t+1048320|0)>>>16&8)<<((520192+(t<<((t+1048320|0)>>>16&8))|0)>>>16&4))+245760|0)>>>16&2)+(i<<((i+245760|0)>>>16&2)>>>15)|0)+7|0)&1|i<<1:0)<<2)|0,B[u+28>>2]=i,B[u+20>>2]=0,!((n=(B[u+16>>2]=0)|B[53])&(o=1<<i)))return B[53]=n|o,B[t>>2]=u,B[u+24>>2]=t,B[u+12>>2]=u,void(B[u+8>>2]=u);t=0|B[t>>2];e:do{if((-8&B[t+4>>2]|0)!=(0|a)){for(i=a<<(31==(0|i)?0:25-(i>>>1)|0);n=0|B[(o=t+16+(i>>>31<<2)|0)>>2];){if((-8&B[n+4>>2]|0)==(0|a)){t=n;break e}i<<=1,t=n}return B[o>>2]=u,B[u+24>>2]=t,B[u+12>>2]=u,void(B[u+8>>2]=u)}}while(0);r=0|B[(e=t+8|0)>>2],B[r+12>>2]=u,B[e>>2]=u,B[u+8>>2]=r,B[u+12>>2]=t,B[u+24>>2]=0}function M(e,r,t,n){r|=0,t|=0;var o=0,i=0,a=0,s=0,u=0,f=0,c=0,l=0,d=0,h=0,m=0,E=0,p=0,w=0,v=0,y=0,g=0,k=0,A=0;if(E=0|B[(e|=0)+(((n|=0)<<5)-16<<2)>>2],B[t>>2]=E,v=0|B[e+((n<<5)-16<<2)+4>>2],B[t+4>>2]=v,y=0|B[e+((n<<5)-16<<2)+8>>2],B[t+8>>2]=y,w=0|B[e+((n<<5)-16<<2)+12>>2],B[t+12>>2]=w,p=0|B[e+((n<<5)-16<<2)+16>>2],B[t+16>>2]=p,m=0|B[e+((n<<5)-16<<2)+20>>2],B[t+20>>2]=m,d=0|B[e+((n<<5)-16<<2)+24>>2],B[t+24>>2]=d,c=0|B[e+((n<<5)-16<<2)+28>>2],B[t+28>>2]=c,u=0|B[e+((n<<5)-16<<2)+32>>2],B[t+32>>2]=u,a=0|B[e+((n<<5)-16<<2)+36>>2],B[t+36>>2]=a,o=0|B[e+((n<<5)-16<<2)+40>>2],B[t+40>>2]=o,i=0|B[e+((n<<5)-16<<2)+44>>2],B[t+44>>2]=i,s=0|B[e+((n<<5)-16<<2)+48>>2],B[t+48>>2]=s,f=0|B[e+((n<<5)-16<<2)+52>>2],B[t+52>>2]=f,l=0|B[e+((n<<5)-16<<2)+56>>2],B[t+56>>2]=l,h=0|B[e+((n<<5)-16<<2)+60>>2],B[t+60>>2]=h,n<<1)for(g=s,s=k=0;A=k<<4,B[t>>2]=E^B[e+(A<<2)>>2],B[t+4>>2]=v^B[e+(A<<2)+4>>2],B[t+8>>2]=y^B[e+(A<<2)+8>>2],B[t+12>>2]=w^B[e+(A<<2)+12>>2],B[t+16>>2]=p^B[e+(A<<2)+16>>2],B[t+20>>2]=m^B[e+(A<<2)+20>>2],B[t+24>>2]=d^B[e+(A<<2)+24>>2],B[t+28>>2]=c^B[e+(A<<2)+28>>2],B[t+32>>2]=u^B[e+(A<<2)+32>>2],B[t+36>>2]=a^B[e+(A<<2)+36>>2],B[t+40>>2]=o^B[e+(A<<2)+40>>2],B[t+44>>2]=i^B[e+(A<<2)+44>>2],B[t+48>>2]=g^B[e+(A<<2)+48>>2],B[t+52>>2]=f^B[e+(A<<2)+52>>2],B[t+56>>2]=l^B[e+(A<<2)+56>>2],B[t+60>>2]=h^B[e+(A<<2)+60>>2],C(t),B[r+((g=k<<3)<<2)>>2]=B[t>>2],B[r+(g<<2)+4>>2]=B[t+4>>2],B[r+(g<<2)+8>>2]=B[t+8>>2],B[r+(g<<2)+12>>2]=B[t+12>>2],B[r+(g<<2)+16>>2]=B[t+16>>2],B[r+(g<<2)+20>>2]=B[t+20>>2],B[r+(g<<2)+24>>2]=B[t+24>>2],B[r+(g<<2)+28>>2]=B[t+28>>2],B[r+(g<<2)+32>>2]=B[t+32>>2],B[r+(g<<2)+36>>2]=B[t+36>>2],B[r+(g<<2)+40>>2]=B[t+40>>2],B[r+(g<<2)+44>>2]=B[t+44>>2],B[r+(g<<2)+48>>2]=B[t+48>>2],B[r+(g<<2)+52>>2]=B[t+52>>2],B[r+(g<<2)+56>>2]=B[t+56>>2],B[r+(g<<2)+60>>2]=B[t+60>>2],B[t>>2]=B[t>>2]^B[e+((16|A)<<2)>>2],B[t+4>>2]=B[t+4>>2]^B[e+((16|A)<<2)+4>>2],B[t+8>>2]=B[t+8>>2]^B[e+((16|A)<<2)+8>>2],B[t+12>>2]=B[t+12>>2]^B[e+((16|A)<<2)+12>>2],B[t+16>>2]=B[t+16>>2]^B[e+((16|A)<<2)+16>>2],B[t+20>>2]=B[t+20>>2]^B[e+((16|A)<<2)+20>>2],B[t+24>>2]=B[t+24>>2]^B[e+((16|A)<<2)+24>>2],B[t+28>>2]=B[t+28>>2]^B[e+((16|A)<<2)+28>>2],B[t+32>>2]=B[t+32>>2]^B[e+((16|A)<<2)+32>>2],B[t+36>>2]=B[t+36>>2]^B[e+((16|A)<<2)+36>>2],B[t+40>>2]=B[t+40>>2]^B[e+((16|A)<<2)+40>>2],B[t+44>>2]=B[t+44>>2]^B[e+((16|A)<<2)+44>>2],B[t+48>>2]=B[t+48>>2]^B[e+((16|A)<<2)+48>>2],B[t+52>>2]=B[t+52>>2]^B[e+((16|A)<<2)+52>>2],B[t+56>>2]=B[t+56>>2]^B[e+((16|A)<<2)+56>>2],B[t+60>>2]=B[t+60>>2]^B[e+((16|A)<<2)+60>>2],C(t),B[(g=r+(g+(n<<4)<<2)|0)>>2]=B[t>>2],B[g+4>>2]=B[t+4>>2],B[g+8>>2]=B[t+8>>2],B[g+12>>2]=B[t+12>>2],B[g+16>>2]=B[t+16>>2],B[g+20>>2]=B[t+20>>2],B[g+24>>2]=B[t+24>>2],B[g+28>>2]=B[t+28>>2],B[g+32>>2]=B[t+32>>2],B[g+36>>2]=B[t+36>>2],B[g+40>>2]=B[t+40>>2],B[g+44>>2]=B[t+44>>2],B[g+48>>2]=B[t+48>>2],B[g+52>>2]=B[t+52>>2],B[g+56>>2]=B[t+56>>2],B[g+60>>2]=B[t+60>>2],(0|s)!=(((n<<1)-1|0)>>>1|0);)k=k+2|0,o=0|B[t+40>>2],i=0|B[t+44>>2],g=0|B[t+48>>2],f=0|B[t+52>>2],l=0|B[t+56>>2],h=0|B[t+60>>2],E=0|B[t>>2],v=0|B[t+4>>2],y=0|B[t+8>>2],w=0|B[t+12>>2],p=0|B[t+16>>2],m=0|B[t+20>>2],d=0|B[t+24>>2],c=0|B[t+28>>2],u=0|B[t+32>>2],a=0|B[t+36>>2],s=s+1|0}function I(e,r){e|=0;var t,n=0,o=0,i=0,a=0,s=0;L=(t=L)+16|0,o=0|B[(r|=0)+32>>2],n=0|B[r+32+4>>2],i=0|G(0|(m[t+7>>0]=o),0|n,8),m[t+6>>0]=i,i=0|G(0|o,0|n,16),m[t+5>>0]=i,i=0|G(0|o,0|n,24),m[t+4>>0]=i,i=0|G(0|o,0|(m[t+3>>0]=n),40),m[t+2>>0]=i,i=0|G(0|o,0|n,48),m[t+1>>0]=i,i=0|G(0|o,0|n,56),m[t>>0]=i,a=(63&(i=0|G(0|o,0|n,3)))>>>0<56?56:120;do{if(a-(63&i)|0){if(o=0|X(0|(s=0|Y(a-(63&i)|0,0,3)),0|p,0|o,0|n),n=p,B[r+32>>2]=o,B[r+32+4>>2]=n,(a-(63&i)|0)>>>0<(64-(63&i)|0)>>>0){z(r+40+(63&i)|0,48,a-(63&i)|0);break}if(z(r+40+(63&i)|0,48,64-(63&i)|0),N(r,r+40|0),63<(n=a-(63&i)-(64-(63&i))|0)>>>0){for(o=64-(63&i)+48|0;N(r,o),!((n=n+-64|0)>>>0<=63);)o=o+64|0;o=128-(63&i)+(-64&(-128|a))+48|0,n=(-128|a)-(-64&(-128|a))|0}else o=64-(63&i)+48|0;z(r+40|0,0|o,0|n),o=0|B[r+32>>2],n=0|B[r+32+4>>2]}}while(0);if(i=0|G(0|o,0|n,3),s=0|X(0|o,0|n,64,0),B[r+32>>2]=s,B[r+32+4>>2]=p,8<(64-(63&i)|0)>>>0)a=0|B[t>>2],s=0|B[t+4>>2],m[(n=r+40+(63&i)|0)>>0]=a,m[n+1>>0]=a>>8,m[n+2>>0]=a>>16,m[n+3>>0]=a>>24,m[(n=r+40+(63&i)+4|0)>>0]=s,m[n+1>>0]=s>>8,m[n+2>>0]=s>>16,m[n+3>>0]=s>>24,n=r;else{if(z(r+40+(63&i)|0,0|t,64-(63&i)|0),N(r,r+40|0),63<(8-(64-(63&i))|0)>>>0){for(n=8-(64-(63&i))|0,o=t+(64-(63&i))|0;N(r,o),!((n=n+-64|0)>>>0<=63);)o=o+64|0;o=t+(128-(63&i)+((63&i)-120&-64))|0,n=(63&i)-120-((63&i)-120&-64)|0}else o=t+(64-(63&i))|0,n=8-(64-(63&i))|0;z(r+40|0,0|o,0|n),n=r}s=0|B[n>>2],m[e+3>>0]=s,m[e+2>>0]=s>>>8,m[e+1>>0]=s>>>16,m[e>>0]=s>>>24,s=0|B[r+4>>2],m[e+7>>0]=s,m[e+6>>0]=s>>>8,m[e+5>>0]=s>>>16,m[e+4>>0]=s>>>24,s=0|B[r+8>>2],m[e+11>>0]=s,m[e+10>>0]=s>>>8,m[e+9>>0]=s>>>16,m[e+8>>0]=s>>>24,s=0|B[r+12>>2],m[e+15>>0]=s,m[e+14>>0]=s>>>8,m[e+13>>0]=s>>>16,m[e+12>>0]=s>>>24,s=0|B[r+16>>2],m[e+19>>0]=s,m[e+18>>0]=s>>>8,m[e+17>>0]=s>>>16,m[e+16>>0]=s>>>24,s=0|B[r+20>>2],m[e+23>>0]=s,m[e+22>>0]=s>>>8,m[e+21>>0]=s>>>16,m[e+20>>0]=s>>>24,s=0|B[r+24>>2],m[e+27>>0]=s,m[e+26>>0]=s>>>8,m[e+25>>0]=s>>>16,m[e+24>>0]=s>>>24,s=0|B[r+28>>2],m[e+31>>0]=s,m[e+30>>0]=s>>>8,m[e+29>>0]=s>>>16,m[e+28>>0]=s>>>24,Q[1&B[28]](r,104),L=t}function F(e,r,t){e|=0,r|=0;var n,o=0,i=0,a=0,s=0,u=0;if(L=(n=L)+96|0,(t|=0)>>>0<=64){for(B[e+32>>2]=0,B[e+32+4>>2]=0,B[e>>2]=B[4],B[e+4>>2]=B[5],B[e+8>>2]=B[6],B[e+12>>2]=B[7],B[e+16>>2]=B[8],B[e+20>>2]=B[9],B[e+24>>2]=B[10],B[e+28>>2]=B[11],s=(a=n+32|0)+64|0;B[a>>2]=909522486,(0|(a=a+4|0))<(0|s););t?(i=r,r=e+32|0,u=8):(i=r,o=e+32|(t=0),r=1)}else{for(B[e>>2]=B[4],B[e+4>>2]=B[5],B[e+8>>2]=B[6],B[e+12>>2]=B[7],B[e+16>>2]=B[8],B[e+20>>2]=B[9],B[e+24>>2]=B[10],B[e+28>>2]=B[11],a=0|Y(0|t,0,3),B[e+32>>2]=a,B[e+32+4>>2]=p,o=r,s=(a=e+40|0)+64|0;m[a>>0]=0|m[o>>0],o=o+1|0,(0|(a=a+1|0))<(0|s););if(N(e,e+40|0),63<(t+-64|0)>>>0){for(o=t+-64|0,i=r+64|0;N(e,i),!((o=o+-64|0)>>>0<=63);)i=i+64|0;i=r+(128+(t+-128&-64))|0,o=t+-128-(t+-128&-64)|0}else i=r+64|0,o=t+-64|0;for(z(e+40|0,0|i,0|o),I(n,e),B[e+32>>2]=0,B[e+32+4>>2]=0,B[e>>2]=B[4],B[e+4>>2]=B[5],B[e+8>>2]=B[6],B[e+12>>2]=B[7],B[e+16>>2]=B[8],B[e+20>>2]=B[9],B[e+24>>2]=B[10],B[e+28>>2]=B[11],s=(a=n+32|0)+64|0;B[a>>2]=909522486,(0|(a=a+4|0))<(0|s););i=n,r=e+(t=32)|0,u=8}if(8==(0|u))if(m[n+32>>0]=54^m[i>>0],1==(0|t))o=r,r=0;else{for(o=1;m[n+32+o>>0]=m[n+32+o>>0]^m[i+o>>0],(0|(o=o+1|0))!=(0|t););o=r,r=0}for(B[(a=o)>>2]=512,o=n+32|(B[a+4>>2]=0),s=(a=e+40|0)+64|0;m[a>>0]=0|m[o>>0],o=o+1|0,(0|(a=a+1|0))<(0|s););for(N(e,e+40|0),B[e+136>>2]=0,B[e+136+4>>2]=0,B[e+104>>2]=B[4],B[e+104+4>>2]=B[5],B[e+104+8>>2]=B[6],B[e+104+12>>2]=B[7],B[e+104+16>>2]=B[8],B[e+104+20>>2]=B[9],B[e+104+24>>2]=B[10],B[e+104+28>>2]=B[11],s=(a=n+32|0)+64|0;B[a>>2]=1549556828,(0|(a=a+4|0))<(0|s););if(!r&&(m[n+32>>0]=92^m[i>>0],1!=(0|t)))for(o=1;m[n+32+o>>0]=m[n+32+o>>0]^m[i+o>>0],(0|(o=o+1|0))!=(0|t););for(B[e+136>>2]=512,o=n+32|(B[e+136+4>>2]=0),s=(a=e+144|0)+64|0;m[a>>0]=0|m[o>>0],o=o+1|0,(0|(a=a+1|0))<(0|s););N(e+104|0,e+144|0),Q[1&B[28]](n,32),Q[1&B[28]](n+32|0,64),L=n}function C(e){var r,t=0,n=0,o=0,i=0,a=0,s=0,u=0,f=0,c=0,l=0,d=0,h=0,m=0,E=0,p=0,w=0,v=0,y=0,g=0,k=0,A=0,b=0,_=0,D=0,S=0,N=0,O=0,T=0,P=0,R=0,M=0,I=0,F=0;for(L=(r=L)+64|0,n=e|=0,o=(t=r)+64|0;B[t>>2]=B[n>>2],n=n+4|0,(0|(t=t+4|0))<(0|o););for(n=(t=0)|B[r+28>>2],o=0|B[r>>2],i=0|B[r+48>>2],a=0|B[r+16>>2],s=0|B[r+32>>2],u=0|B[r+20>>2],f=0|B[r+4>>2],c=0|B[r+36>>2],l=0|B[r+52>>2],d=0|B[r+40>>2],h=0|B[r+24>>2],m=0|B[r+56>>2],E=0|B[r+8>>2],p=0|B[r+60>>2],w=0|B[r+44>>2],v=0|B[r+12>>2];N=((F=((k=((k=(_=((_=f+u|0)<<7|_>>>25)^c)+u|0)<<9|k>>>23)^l)+_<<13|(k+_|0)>>>19)^f)+k<<18|(F+k|0)>>>14)^u,b=((T=((I=((I=(g=((g=h+d|0)<<7|g>>>25)^m)+d|0)<<9|I>>>23)^E)+g<<13|(I+g|0)>>>19)^h)+I<<18|(T+I|0)>>>14)^d,y=((S=((P=((P=(M=((M=w+p|0)<<7|M>>>25)^v)+p|0)<<9|P>>>23)^n)+M<<13|(P+M|0)>>>19)^w)+P<<18|(S+P|0)>>>14)^p,o=((M=(v=((I=(E=((F=(f=(M+(R=((A=((D=((D=(O=((O=i+o|0)<<7|O>>>25)^a)+o|0)<<9|D>>>23)^s)+O<<13|(D+O|0)>>>19)^i)+D<<18|(A+D|0)>>>14)^o)<<7|(M+R|0)>>>25)^F)+R|0)<<9|F>>>23)^I)+f|0)<<13|I>>>19)^M)+E|0)<<18|M>>>14)^R,u=((O=(a=((T=(n=P^((T=(h=T^(N+O<<7|(N+O|0)>>>25))+N|0)<<9|T>>>23))+h|0)<<13|T>>>19)^O)+n|0)<<18|O>>>14)^N,d=((_=(c=((D=(s=((S=(w=S^(b+_<<7|(b+_|0)>>>25))+b|0)<<9|S>>>23)^D)+w|0)<<13|D>>>19)^_)+s|0)<<18|_>>>14)^b,p=((g=(m=((k=(l=((A=(i=(y+g<<7|(y+g|0)>>>25)^A)+y|0)<<9|A>>>23)^k)+i|0)<<13|k>>>19)^g)+l|0)<<18|g>>>14)^y,(t=t+2|0)>>>0<8;);B[e>>2]=(0|B[e>>2])+o,B[e+4>>2]=(0|B[e+4>>2])+f,B[e+8>>2]=(0|B[e+8>>2])+E,B[e+12>>2]=(0|B[e+12>>2])+v,B[e+16>>2]=(0|B[e+16>>2])+a,B[e+20>>2]=(0|B[e+20>>2])+u,B[e+24>>2]=(0|B[e+24>>2])+h,B[e+28>>2]=(0|B[e+28>>2])+n,B[e+32>>2]=(0|B[e+32>>2])+s,B[e+36>>2]=(0|B[e+36>>2])+c,B[e+40>>2]=(0|B[e+40>>2])+d,B[e+44>>2]=(0|B[e+44>>2])+w,B[e+48>>2]=(0|B[e+48>>2])+i,B[e+52>>2]=(0|B[e+52>>2])+l,B[e+56>>2]=(0|B[e+56>>2])+m,B[e+60>>2]=(0|B[e+60>>2])+p,L=r}function x(e,r,t,n,o,i){e|=0,t|=0,n|=0,o|=0;var a=0,s=0,u=0,f=0,c=0,l=0;if(c=(i|=0)+((r|=0)<<7)|0,r<<5|0)for(a=0;f=e+(a<<2)|0,B[i+(a<<2)>>2]=(0|h[f+1>>0])<<8|0|h[f>>0]|(0|h[f+2>>0])<<16|(0|h[f+3>>0])<<24,(0|(a=a+1|0))!=(r<<5|0););e:do{if(!(0==(0|t)&0==(0|n))){if(r<<5&1073741792){f=u=0;do{for(s=o+((0|w(r<<5,u))<<2)|0,a=0;B[s+(a<<2)>>2]=B[i+(a<<2)>>2],(0|(a=a+1|0))!=(r<<5&1073741792|0););for(M(i,c,i+(r<<8)|0,r),s=o+((0|w(1|u,r<<5))<<2)|0,a=0;B[s+(a<<2)>>2]=B[c+(a<<2)>>2],(0|(a=a+1|0))!=(r<<5&1073741792|0););M(c,i,i+(r<<8)|0,r),u=0|X(0|u,0|f,2,0),f=p}while(f>>>0<n>>>0|(0|f)==(0|n)&u>>>0<t>>>0)}else for(s=a=0;M(i,c,i+(r<<8)|0,r),M(c,i,i+(r<<8)|0,r),a=0|X(0|a,0|s,2,0),(s=p)>>>0<n>>>0|(0|s)==(0|n)&a>>>0<t>>>0;);if(!(0==(0|t)&0==(0|n))){if(!(r<<5&1073741792))for(s=a=0;;)if(M(i,c,i+(r<<8)|0,r),M(c,i,i+(r<<8)|0,r),a=0|X(0|a,0|s,2,0),!((s=p)>>>0<n>>>0|(0|s)==(0|n)&a>>>0<t>>>0))break e;f=u=0;do{for(s=o+((0|w(B[(r<<7)-64+i>>2]&t+-1,r<<5))<<2)|0,a=0;B[(l=i+(a<<2)|0)>>2]=B[l>>2]^B[s+(a<<2)>>2],(0|(a=a+1|0))!=(r<<5&1073741792|0););for(M(i,c,i+(r<<8)|0,r),s=o+((0|w(B[(r<<7)-64+c>>2]&t+-1,r<<5))<<2)|0,a=0;B[(l=c+(a<<2)|0)>>2]=B[l>>2]^B[s+(a<<2)>>2],(0|(a=a+1|0))!=(r<<5&1073741792|0););M(c,i,i+(r<<8)|0,r),u=0|X(0|u,0|f,2,0),f=p}while(f>>>0<n>>>0|(0|f)==(0|n)&u>>>0<t>>>0)}}}while(0);if(r<<5)for(a=0;l=e+(a<<2)|0,c=0|B[i+(a<<2)>>2],m[l>>0]=c,m[l+1>>0]=c>>>8,m[l+2>>0]=c>>>16,m[l+3>>0]=c>>>24,(0|(a=a+1|0))!=(r<<5|0););}function z(e,r,t){e|=0,r|=0;var n,o,i=0;if(8192<=(0|(t|=0)))return 0|S(0|e,0|r,0|t);if(o=0|e,n=e+t|0,(3&e)==(3&r)){for(;3&e;){if(!t)return 0|o;m[e>>0]=0|m[r>>0],e=e+1|0,r=r+1|0,t=t-1|0}for(i=(t=-4&n|0)-64|0;(0|e)<=(0|i);)B[e>>2]=B[r>>2],B[e+4>>2]=B[r+4>>2],B[e+8>>2]=B[r+8>>2],B[e+12>>2]=B[r+12>>2],B[e+16>>2]=B[r+16>>2],B[e+20>>2]=B[r+20>>2],B[e+24>>2]=B[r+24>>2],B[e+28>>2]=B[r+28>>2],B[e+32>>2]=B[r+32>>2],B[e+36>>2]=B[r+36>>2],B[e+40>>2]=B[r+40>>2],B[e+44>>2]=B[r+44>>2],B[e+48>>2]=B[r+48>>2],B[e+52>>2]=B[r+52>>2],B[e+56>>2]=B[r+56>>2],B[e+60>>2]=B[r+60>>2],e=e+64|0,r=r+64|0;for(;(0|e)<(0|t);)B[e>>2]=B[r>>2],e=e+4|0,r=r+4|0}else for(t=n-4|0;(0|e)<(0|t);)m[e>>0]=0|m[r>>0],m[e+1>>0]=0|m[r+1>>0],m[e+2>>0]=0|m[r+2>>0],m[e+3>>0]=0|m[r+3>>0],e=e+4|0,r=r+4|0;for(;(0|e)<(0|n);)m[e>>0]=0|m[r>>0],e=e+1|0,r=r+1|0;return 0|o}function U(e,r){r|=0;var t=0,n=0,o=0;if((t=16<(e|=0)>>>0?e:16)+-1&t)for(e=16;e>>>0<t>>>0;)e<<=1;else e=t;if((-64-e|0)>>>0<=r>>>0)return B[(o=704)>>2]=12,(o=0)|o;if(!(n=0|O((o=r>>>0<11?16:r+11&-8)+12+e|0)))return(o=0)|o;do{if(e+-1&n){if(e=(r=15<((r=(n+e+-1&0-e)-8|0)-(n+-8)|0)>>>0?r:r+e|0)-(n+-8)|0,3&(t=0|B[n+-4>>2])){B[r+4>>2]=(-8&t)-e|1&B[r+4>>2]|2,B[r+((-8&t)-e)+4>>2]=1|B[r+((-8&t)-e)+4>>2],B[n+-4>>2]=e|1&B[n+-4>>2]|2,B[r+4>>2]=1|B[r+4>>2],R(n+-8|0,e),e=r;break}B[r>>2]=(0|B[n+-8>>2])+e,B[r+4>>2]=(-8&t)-e,e=r;break}r=e=n+-8|0}while(0);return 3&(t=0|B[(e=e+4|0)>>2])|0&&(o+16|0)>>>0<(-8&t)>>>0&&(n=r+o|0,B[e>>2]=o|1&t|2,B[n+4>>2]=(-8&t)-o|3,B[(e=r+(-8&t)+4|0)>>2]=1|B[e>>2],R(n,(-8&t)-o|0)),0|(o=r+8|0)}function j(e,r){e|=0;var t,n=0,o=0,i=0;if(L=(t=L)+32|0,I(t,r|=0),i=0|G(0|(n=0|B[r+136>>2]),0|(o=0|B[r+136+4>>2]),3),o=0|X(0|n,0|o,256,0),B[r+136>>2]=o,B[r+136+4>>2]=p,32<(64-(63&i)|0)>>>0){for(o=t,i=(n=r+144+(63&i)|0)+32|0;m[n>>0]=0|m[o>>0],o=o+1|0,(0|(n=n+1|0))<(0|i););return I(e,r+104|0),r=0|B[28],Q[1&r](t,32),void(L=t)}if(z(r+144+(63&i)|0,0|t,64-(63&i)|0),N(r+104|0,r+144|0),63<(32-(64-(63&i))|0)>>>0){for(n=32-(64-(63&i))|0,o=t+(64-(63&i))|0;N(r+104|0,o),!((n=n+-64|0)>>>0<=63);)o=o+64|0;o=t+(128-(63&i)+((63&i)-96&-64))|0,n=(63&i)-96-((63&i)-96&-64)|0}else o=t+(64-(63&i))|0,n=32-(64-(63&i))|0;z(r+144|0,0|o,0|n),I(e,r+104|0),r=0|B[28],Q[1&r](t,32),L=t}function q(e,r,t){e|=0,r|=0,t|=0;do{if(8!=(0|r)){if(0!=(3&r|0)|0==(r>>>2|0))return 0|(e=22);if(1073741823+(r>>>2)&r>>>2|0)return 0|(e=22);if((-64-r|0)>>>0<t>>>0)return 0|(e=12);r=0|U(16<r>>>0?r:16,t);break}r=0|O(t)}while(0);return r?(B[e>>2]=r,(e=0)|e):0|(e=12)}function H(e){var r;return 0<(0|(e|=0))&((r=0|B[d>>2])+e|0)<(0|r)|(r+e|0)<0?(k(),b(12),-1):(B[d>>2]=r+e,(r+e|0)>(0|g())&&0==(0|y())?(B[d>>2]=r,b(12),-1):0|r)}function V(e,r,t,n){r|=0,n|=0;var o,i,a,s,u,f,c;return o=0|(a=e|=0,s=t|=0,c=((u=0|w(65535&(s|=0),65535&(a|=0)))>>>16)+(0|w(65535&s,a>>>16))|0,f=0|w(s>>>16,65535&a),0|(p=(c>>>16)+(0|w(s>>>16,a>>>16))+(((65535&c)+f|0)>>>16)|0,c+f<<16|65535&u|0)),i=p,0|(p=(0|w(r,t))+(0|w(n,e))+i|0&i,0|o)}function Y(e,r,t){return e|=0,r|=0,(0|(t|=0))<32?(p=r<<t|(e&(1<<t)-1<<32-t)>>>32-t,e<<t):(p=e<<t-32,0)}function G(e,r,t){return e|=0,r|=0,(0|(t|=0))<32?(p=r>>>t,e>>>t|(r&(1<<t)-1)<<32-t):r>>>t-32|(p=0)}function X(e,r,t,n){return 0|(p=(r|=0)+(n|=0)+((e|=0)+(t|=0)>>>0>>>0<e>>>0|0)>>>0,e+t>>>0|0)}function W(e){return 4294963200<(e|=0)>>>0&&(B[704>>2]=0-e,e=-1),0|e}function K(){return 704}var Q=[function(e,r){v(0)},function(e,r){e|=0;var t=0;if(r|=0)for(t=0;(0|(t=t+1|(m[e+t>>0]=0)))!=(0|r););}];return{___errno_location:K,___muldi3:V,_bitshift64Lshr:G,_bitshift64Shl:Y,_crypto_scrypt:function(e,r,t,n,o,i,a,s,u,f){e|=0,r|=0,t|=0,n|=0,o|=0,i|=0,u|=0,f|=0;var c,l=0,d=0,h=0,m=0,E=0;if(L=(c=L)+16|0,E=0|V(0|(s|=0),0,0|(a|=0),0),0<(m=p)>>>0|0==(0|m)&1073741823<E>>>0)return B[(f=704)>>2]=27,L=c,0|(f=-1);if(i>>>0<0|0==(0|i)&o>>>0<2|0!=((E=0|X(0|o,0|i,-1,-1))&o|0)|0!=(p&i|0))return B[(f=704)>>2]=22,L=c,0|(f=-1);if(16777215<a>>>0||(33554431/(s>>>0)|0)>>>0<a>>>0||0<i>>>0|(0==(0|i)?(33554431/(a>>>0)|0)>>>0<o>>>0:0))return B[(f=704)>>2]=12,L=c,0|(f=-1);if(E=0|q(c+4|0,64,0|w(a<<7,s)),0|(B[(m=704)>>2]=E))return L=c,0|(f=-1);if(l=0|B[c+4>>2],E=0|q(c,64,a<<8|64),!(B[(m=704)>>2]=E)){if(d=0|B[c>>2],-1!=(0|(m=0|function(e,r,t,n,o,i){e|=0,r|=0,t|=0,n|=0,o|=0,i|=0;var a=0;L=(a=L)+32|0;do{if(0==(4095&i|0)&0==(((0|i)<0)<<31>>31&-4096|0)){if(2147483646<r>>>0){B[(e=704)>>2]=12,e=-1;break}B[a>>2]=e,B[a+4>>2]=r,B[a+8>>2]=t,B[a+12>>2]=n,B[a+16>>2]=o,B[a+20>>2]=i>>12,e=0|W(0|_(192,0|a))}else B[(e=704)>>2]=22,e=-1}while(0);return L=a,0|e}(0,h=0|w(a<<7,o),3,34,-1,0)))){if(T(e,r,t,n,1,0,l,E=0|w(s<<7,a)),0|s)for(t=0;x(l+(0|w(t,a<<7))|0,a,o,i,m,d),(0|(t=t+1|0))!=(0|s););if(T(e,r,l,E,1,0,u,f),!(0|function(e,r){e|=0,r|=0;var t=0;return L=(t=L)+16|0,B[t>>2]=e,B[t+4>>2]=r,r=0|W(0|D(91,0|t)),L=t,0|r}(m,h)))return P(0|B[c>>2]),P(0|B[c+4>>2]),L=c,(f=0)|f}P(0|B[c>>2])}return P(0|B[c+4>>2]),L=c,0|(f=-1)},_emscripten_replace_memory:function(e){return!(16777215&l(e)||l(e)<=16777215||2147483648<l(e)||(m=new n(e),new o(e),B=new i(e),h=new a(e),new s(e),new u(e),new f(e),new c(e),t=e,0))},_free:P,_i64Add:X,_malloc:O,_memalign:function(e,r){return r|=0,(e|=0)>>>0<9?0|(r=0|O(r)):0|(r=0|U(e,r))},_memcpy:z,_memset:function(e,r,t){r|=0;var n,o=0;if(n=(e|=0)+(t|=0)|0,r&=255,67<=(0|t)){for(;3&e;)m[e>>0]=r,e=e+1|0;for(o=r|r<<8|r<<16|r<<24;(0|e)<=((-4&n)-64|0);)B[e>>2]=o,B[e+4>>2]=o,B[e+8>>2]=o,B[e+12>>2]=o,B[e+16>>2]=o,B[e+20>>2]=o,B[e+24>>2]=o,B[e+28>>2]=o,B[e+32>>2]=o,B[e+36>>2]=o,B[e+40>>2]=o,B[e+44>>2]=o,B[e+48>>2]=o,B[e+52>>2]=o,B[e+56>>2]=o,B[e+60>>2]=o,e=e+64|0;for(;(0|e)<(-4&n|0);)B[e>>2]=o,e=e+4|0}for(;(0|e)<(0|n);)m[e>>0]=r,e=e+1|0;return n-t|0},_sbrk:H,dynCall_vii:function(e,r,t){r|=0,t|=0,Q[1&(e|=0)](0|r,0|t)},establishStackSpace:function(e,r){L=e|=0,r|=0},getTempRet0:function(){return 0|p},runPostSets:function(){},setTempRet0:function(e){p=e|=0},setThrew:function(e,r){e|=0,r|=0,E||(E=e,r)},stackAlloc:function(e){var r;return L=15+(L=(r=L)+(e|=0)|0)&-16,0|r},stackRestore:function(e){L=e|=0},stackSave:function(){return 0|L}}}(m.asmGlobalArg,m.asmLibraryArg,A),Ae=(m.___errno_location=ke.___errno_location,m.___muldi3=ke.___muldi3,m._bitshift64Lshr=ke._bitshift64Lshr,m._bitshift64Shl=ke._bitshift64Shl,m._crypto_scrypt=ke._crypto_scrypt,m._emscripten_replace_memory=ke._emscripten_replace_memory),be=m._free=ke._free,_e=(m._i64Add=ke._i64Add,m._malloc=ke._malloc),De=m._memalign=ke._memalign,Se=(m._memcpy=ke._memcpy,m._memset=ke._memset),Ne=(m._sbrk=ke._sbrk,m.establishStackSpace=ke.establishStackSpace,m.getTempRet0=ke.getTempRet0,m.runPostSets=ke.runPostSets,m.setTempRet0=ke.setTempRet0,m.setThrew=ke.setThrew,m.stackAlloc=ke.stackAlloc,m.stackRestore=ke.stackRestore),Oe=m.stackSave=ke.stackSave;m.dynCall_vii=ke.dynCall_vii;if(m.asm=ke,J)if(ee(J)||(ge=J,J=m.locateFile?m.locateFile(ge,a):a+ge),s||t){var Te=m.readBinary(J);_.set(Te,8)}else{Q();var Pe=function(e){e.byteLength&&(e=new Uint8Array(e)),_.set(e,8),m.memoryInitializerRequest&&delete m.memoryInitializerRequest.response,Z()};function Re(){m.readAsync(J,Pe,function(){throw"could not load memory initializer "+J})}var Me=ye(J);if(Me)Pe(Me.buffer);else if(m.memoryInitializerRequest){function Ie(){var e=m.memoryInitializerRequest,r=e.response;if(200!==e.status&&0!==e.status){var t=ye(m.memoryInitializerRequestURL);if(!t)return console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+e.status+", retrying "+J),void Re();r=t.buffer}Pe(r)}m.memoryInitializerRequest.response?setTimeout(Ie,0):m.memoryInitializerRequest.addEventListener("load",Ie)}else Re()}function Fe(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}function Be(e){function r(){m.calledRun||(m.calledRun=!0,d||(G||(G=!0,U(q)),U(H),m.onRuntimeInitialized&&m.onRuntimeInitialized(),function(){if(m.postRun)for("function"==typeof m.postRun&&(m.postRun=[m.postRun]);m.postRun.length;)e=m.postRun.shift(),Y.unshift(e);var e;U(Y)}()))}e=e||m.arguments,0<X||(!function(){if(m.preRun)for("function"==typeof m.preRun&&(m.preRun=[m.preRun]);m.preRun.length;)e=m.preRun.shift(),j.unshift(e);var e;U(j)}(),0<X||m.calledRun||(m.setStatus?(m.setStatus("Running..."),setTimeout(function(){setTimeout(function(){m.setStatus("")},1),r()},1)):r()))}function Le(e){throw m.onAbort&&m.onAbort(e),e=void 0!==e?(u(e),f(e),JSON.stringify(e)):"",d=!0,1,"abort("+e+"). Build with -s ASSERTIONS=1 for more info."}if((Fe.prototype=new Error).constructor=Fe,K=function e(){m.calledRun||Be(),m.calledRun||(K=e)},m.run=Be,m.abort=Le,m.preInit)for("function"==typeof m.preInit&&(m.preInit=[m.preInit]);0<m.preInit.length;)m.preInit.pop()();return m.noExitRuntime=!0,Be(),function(){var e={};function f(e,r){var t=r||0,n=m._malloc(e.length+t);m.HEAPU8.set(e,n+t);for(var o=n;o<n+t;o++)m.HEAPU8[o]=0;return n}function c(e){this.length=e,this.address=m._malloc(e)}return c.prototype.extractBytes=function(e){var r=new Uint8Array(this.length);return r.set(m.HEAPU8.subarray(this.address,this.address+this.length)),m._free(this.address),this.address=null,r},e.hash=function(e,r,t,n,o,i){var a=new c(i),s=f(e),u=f(r);return m._crypto_scrypt(s,e.length,u,r.length,t,0,n,o,a.address,a.length),m._free(s),m._free(u),a.extractBytes()},e}()}(),Object.freeze(global.scrypt);