UNPKG

@kobakazu0429/wasmer-wasi

Version:

Isomorphic Javascript library for interacting with WASI Modules in Node.js and the Browser. 📚

86 lines (83 loc) • 35 kB
/* ***************************************************************************** Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABLITY OR NON-INFRINGEMENT. See the Apache Version 2.0 License for specific language governing permissions and limitations under the License. *****************************************************************************/ 'use strict';Object.defineProperty(exports,"__esModule",{value:!0});var extendStatics=function(c,a){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])};return extendStatics(c,a)};function __extends(c,a){function d(){this.constructor=c}extendStatics(c,a);c.prototype=null===a?Object.create(a):(d.prototype=a.prototype,new d)} function __awaiter(c,a,d,b){return new (d||(d=Promise))(function(h,l){function n(a){try{k(b.next(a))}catch(u){l(u)}}function g(a){try{k(b["throw"](a))}catch(u){l(u)}}function k(b){b.done?h(b.value):(new d(function(a){a(b.value)})).then(n,g)}k((b=b.apply(c,a||[])).next())})} function __generator(c,a){function d(a){return function(c){return b([a,c])}}function b(b){if(l)throw new TypeError("Generator is already executing.");for(;h;)try{if(l=1,n&&(g=b[0]&2?n["return"]:b[0]?n["throw"]||((g=n["return"])&&g.call(n),0):n.next)&&!(g=g.call(n,b[1])).done)return g;if(n=0,g)b=[b[0]&2,g.value];switch(b[0]){case 0:case 1:g=b;break;case 4:return h.label++,{value:b[1],done:!1};case 5:h.label++;n=b[1];b=[0];continue;case 7:b=h.ops.pop();h.trys.pop();continue;default:if(!(g=h.trys,g= 0<g.length&&g[g.length-1])&&(6===b[0]||2===b[0])){h=0;continue}if(3===b[0]&&(!g||b[1]>g[0]&&b[1]<g[3]))h.label=b[1];else if(6===b[0]&&h.label<g[1])h.label=g[1],g=b;else if(g&&h.label<g[2])h.label=g[2],h.ops.push(b);else{g[2]&&h.ops.pop();h.trys.pop();continue}}b=a.call(c,h)}catch(u){b=[6,u],n=0}finally{l=g=0}if(b[0]&5)throw b[1];return{value:b[0]?b[1]:void 0,done:!0}}var h={label:0,sent:function(){if(g[0]&1)throw g[1];return g[1]},trys:[],ops:[]},l,n,g,k;return k={next:d(0),"throw":d(1),"return":d(2)}, "function"===typeof Symbol&&(k[Symbol.iterator]=function(){return this}),k}function __values(c){var a="function"===typeof Symbol&&c[Symbol.iterator],d=0;return a?a.call(c):{next:function(){c&&d>=c.length&&(c=void 0);return{value:c&&c[d++],done:!c}}}} function __read(c,a){var d="function"===typeof Symbol&&c[Symbol.iterator];if(!d)return c;c=d.call(c);var b,h=[];try{for(;(void 0===a||0<a--)&&!(b=c.next()).done;)h.push(b.value)}catch(n){var l={error:n}}finally{try{b&&!b.done&&(d=c["return"])&&d.call(c)}finally{if(l)throw l.error;}}return h}function __spread(){for(var c=[],a=0;a<arguments.length;a++)c=c.concat(__read(arguments[a]));return c} function __asyncValues(c){function a(b){h[b]=c[b]&&function(a){return new Promise(function(g,k){a=c[b](a);d(g,k,a.done,a.value)})}}function d(b,a,c,d){Promise.resolve(d).then(function(a){b({value:a,done:c})},a)}if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var b=c[Symbol.asyncIterator],h;return b?b.call(c):(c="function"===typeof __values?__values(c):c[Symbol.iterator](),h={},a("next"),a("throw"),a("return"),h[Symbol.asyncIterator]=function(){return this},h)} var globalObj="undefined"!==typeof globalThis?globalThis:"undefined"!==typeof global?global:{},BigIntPolyfill="undefined"!==typeof BigInt?BigInt:globalObj.BigInt||Number,exportedDataView=DataView; exportedDataView.prototype.setBigUint64||(exportedDataView.prototype.setBigUint64=function(c,a,d){if(a<Math.pow(2,32)){a=Number(a);var b=0}else{b=a.toString(2);a="";for(var h=0;h<64-b.length;h++)a+="0";a+=b;b=parseInt(a.substring(0,32),2);a=parseInt(a.substring(32),2)}this.setUint32(c+(d?0:4),a,d);this.setUint32(c+(d?4:0),b,d)},exportedDataView.prototype.getBigUint64=function(c,a){var d=this.getUint32(c+(a?0:4),a);c=this.getUint32(c+(a?4:0),a);d=d.toString(2);c=c.toString(2);a="";for(var b=0;b<32- d.length;b++)a+="0";return BigIntPolyfill("0b"+c+(a+d))});var DataViewPolyfill=exportedDataView,isomorphicBuffer=Buffer,NS_PER_SEC=1E9,getBigIntHrtime=function(c){return function(a){a=c(a);return a[0]*NS_PER_SEC+a[1]}},crypto=require("crypto"),fs=require("fs"),isTTY=require("tty").isatty,path=require("path"),bigIntHrtime=getBigIntHrtime(process.hrtime);process.hrtime&&process.hrtime.bigint&&(bigIntHrtime=process.hrtime.bigint); var bindings={hrtime:bigIntHrtime,exit:function(c){process.exit(c)},kill:function(c){process.kill(process.pid,c)},randomFillSync:crypto.randomFillSync,isTTY,fs,path},_a,WASI_ESUCCESS=0,WASI_E2BIG=1,WASI_EACCES=2,WASI_EADDRINUSE=3,WASI_EADDRNOTAVAIL=4,WASI_EAFNOSUPPORT=5,WASI_EAGAIN=6,WASI_EALREADY=7,WASI_EBADF=8,WASI_EBADMSG=9,WASI_EBUSY=10,WASI_ECANCELED=11,WASI_ECHILD=12,WASI_ECONNABORTED=13,WASI_ECONNREFUSED=14,WASI_ECONNRESET=15,WASI_EDEADLK=16,WASI_EDESTADDRREQ=17,WASI_EDOM=18,WASI_EDQUOT=19, WASI_EEXIST=20,WASI_EFAULT=21,WASI_EFBIG=22,WASI_EHOSTUNREACH=23,WASI_EIDRM=24,WASI_EILSEQ=25,WASI_EINPROGRESS=26,WASI_EINTR=27,WASI_EINVAL=28,WASI_EIO=29,WASI_EISCONN=30,WASI_EISDIR=31,WASI_ELOOP=32,WASI_EMFILE=33,WASI_EMLINK=34,WASI_EMSGSIZE=35,WASI_EMULTIHOP=36,WASI_ENAMETOOLONG=37,WASI_ENETDOWN=38,WASI_ENETRESET=39,WASI_ENETUNREACH=40,WASI_ENFILE=41,WASI_ENOBUFS=42,WASI_ENODEV=43,WASI_ENOENT=44,WASI_ENOEXEC=45,WASI_ENOLCK=46,WASI_ENOLINK=47,WASI_ENOMEM=48,WASI_ENOMSG=49,WASI_ENOPROTOOPT=50,WASI_ENOSPC= 51,WASI_ENOSYS=52,WASI_ENOTCONN=53,WASI_ENOTDIR=54,WASI_ENOTEMPTY=55,WASI_ENOTRECOVERABLE=56,WASI_ENOTSOCK=57,WASI_ENOTTY=59,WASI_ENXIO=60,WASI_EOVERFLOW=61,WASI_EOWNERDEAD=62,WASI_EPERM=63,WASI_EPIPE=64,WASI_EPROTO=65,WASI_EPROTONOSUPPORT=66,WASI_EPROTOTYPE=67,WASI_ERANGE=68,WASI_EROFS=69,WASI_ESPIPE=70,WASI_ESRCH=71,WASI_ESTALE=72,WASI_ETIMEDOUT=73,WASI_ETXTBSY=74,WASI_EXDEV=75,WASI_ENOTCAPABLE=76,WASI_SIGABRT=0,WASI_SIGALRM=1,WASI_SIGBUS=2,WASI_SIGCHLD=3,WASI_SIGCONT=4,WASI_SIGFPE=5,WASI_SIGHUP= 6,WASI_SIGILL=7,WASI_SIGINT=8,WASI_SIGKILL=9,WASI_SIGPIPE=10,WASI_SIGQUIT=11,WASI_SIGSEGV=12,WASI_SIGSTOP=13,WASI_SIGTERM=14,WASI_SIGTRAP=15,WASI_SIGTSTP=16,WASI_SIGTTIN=17,WASI_SIGTTOU=18,WASI_SIGURG=19,WASI_SIGUSR1=20,WASI_SIGUSR2=21,WASI_SIGVTALRM=22,WASI_SIGXCPU=23,WASI_SIGXFSZ=24,WASI_FILETYPE_UNKNOWN=0,WASI_FILETYPE_BLOCK_DEVICE=1,WASI_FILETYPE_CHARACTER_DEVICE=2,WASI_FILETYPE_DIRECTORY=3,WASI_FILETYPE_REGULAR_FILE=4,WASI_FILETYPE_SOCKET_STREAM=6,WASI_FILETYPE_SYMBOLIC_LINK=7,WASI_FDFLAG_APPEND= 1,WASI_FDFLAG_DSYNC=2,WASI_FDFLAG_NONBLOCK=4,WASI_FDFLAG_RSYNC=8,WASI_FDFLAG_SYNC=16,WASI_RIGHT_FD_DATASYNC=BigIntPolyfill(1),WASI_RIGHT_FD_READ=BigIntPolyfill(2),WASI_RIGHT_FD_SEEK=BigIntPolyfill(4),WASI_RIGHT_FD_FDSTAT_SET_FLAGS=BigIntPolyfill(8),WASI_RIGHT_FD_SYNC=BigIntPolyfill(16),WASI_RIGHT_FD_TELL=BigIntPolyfill(32),WASI_RIGHT_FD_WRITE=BigIntPolyfill(64),WASI_RIGHT_FD_ADVISE=BigIntPolyfill(128),WASI_RIGHT_FD_ALLOCATE=BigIntPolyfill(256),WASI_RIGHT_PATH_CREATE_DIRECTORY=BigIntPolyfill(512), WASI_RIGHT_PATH_CREATE_FILE=BigIntPolyfill(1024),WASI_RIGHT_PATH_LINK_SOURCE=BigIntPolyfill(2048),WASI_RIGHT_PATH_LINK_TARGET=BigIntPolyfill(4096),WASI_RIGHT_PATH_OPEN=BigIntPolyfill(8192),WASI_RIGHT_FD_READDIR=BigIntPolyfill(16384),WASI_RIGHT_PATH_READLINK=BigIntPolyfill(32768),WASI_RIGHT_PATH_RENAME_SOURCE=BigIntPolyfill(65536),WASI_RIGHT_PATH_RENAME_TARGET=BigIntPolyfill(131072),WASI_RIGHT_PATH_FILESTAT_GET=BigIntPolyfill(262144),WASI_RIGHT_PATH_FILESTAT_SET_SIZE=BigIntPolyfill(524288),WASI_RIGHT_PATH_FILESTAT_SET_TIMES= BigIntPolyfill(1048576),WASI_RIGHT_FD_FILESTAT_GET=BigIntPolyfill(2097152),WASI_RIGHT_FD_FILESTAT_SET_SIZE=BigIntPolyfill(4194304),WASI_RIGHT_FD_FILESTAT_SET_TIMES=BigIntPolyfill(8388608),WASI_RIGHT_PATH_SYMLINK=BigIntPolyfill(16777216),WASI_RIGHT_PATH_REMOVE_DIRECTORY=BigIntPolyfill(33554432),WASI_RIGHT_PATH_UNLINK_FILE=BigIntPolyfill(67108864),WASI_RIGHT_POLL_FD_READWRITE=BigIntPolyfill(134217728),WASI_RIGHT_SOCK_SHUTDOWN=BigIntPolyfill(268435456),RIGHTS_ALL=WASI_RIGHT_FD_DATASYNC|WASI_RIGHT_FD_READ| WASI_RIGHT_FD_SEEK|WASI_RIGHT_FD_FDSTAT_SET_FLAGS|WASI_RIGHT_FD_SYNC|WASI_RIGHT_FD_TELL|WASI_RIGHT_FD_WRITE|WASI_RIGHT_FD_ADVISE|WASI_RIGHT_FD_ALLOCATE|WASI_RIGHT_PATH_CREATE_DIRECTORY|WASI_RIGHT_PATH_CREATE_FILE|WASI_RIGHT_PATH_LINK_SOURCE|WASI_RIGHT_PATH_LINK_TARGET|WASI_RIGHT_PATH_OPEN|WASI_RIGHT_FD_READDIR|WASI_RIGHT_PATH_READLINK|WASI_RIGHT_PATH_RENAME_SOURCE|WASI_RIGHT_PATH_RENAME_TARGET|WASI_RIGHT_PATH_FILESTAT_GET|WASI_RIGHT_PATH_FILESTAT_SET_SIZE|WASI_RIGHT_PATH_FILESTAT_SET_TIMES|WASI_RIGHT_FD_FILESTAT_GET| WASI_RIGHT_FD_FILESTAT_SET_TIMES|WASI_RIGHT_FD_FILESTAT_SET_SIZE|WASI_RIGHT_PATH_SYMLINK|WASI_RIGHT_PATH_UNLINK_FILE|WASI_RIGHT_PATH_REMOVE_DIRECTORY|WASI_RIGHT_POLL_FD_READWRITE|WASI_RIGHT_SOCK_SHUTDOWN,RIGHTS_BLOCK_DEVICE_BASE=RIGHTS_ALL,RIGHTS_BLOCK_DEVICE_INHERITING=RIGHTS_ALL,RIGHTS_CHARACTER_DEVICE_BASE=RIGHTS_ALL,RIGHTS_CHARACTER_DEVICE_INHERITING=RIGHTS_ALL,RIGHTS_REGULAR_FILE_BASE=WASI_RIGHT_FD_DATASYNC|WASI_RIGHT_FD_READ|WASI_RIGHT_FD_SEEK|WASI_RIGHT_FD_FDSTAT_SET_FLAGS|WASI_RIGHT_FD_SYNC| WASI_RIGHT_FD_TELL|WASI_RIGHT_FD_WRITE|WASI_RIGHT_FD_ADVISE|WASI_RIGHT_FD_ALLOCATE|WASI_RIGHT_FD_FILESTAT_GET|WASI_RIGHT_FD_FILESTAT_SET_SIZE|WASI_RIGHT_FD_FILESTAT_SET_TIMES|WASI_RIGHT_POLL_FD_READWRITE,RIGHTS_REGULAR_FILE_INHERITING=BigIntPolyfill(0),RIGHTS_DIRECTORY_BASE=WASI_RIGHT_FD_FDSTAT_SET_FLAGS|WASI_RIGHT_FD_SYNC|WASI_RIGHT_FD_ADVISE|WASI_RIGHT_PATH_CREATE_DIRECTORY|WASI_RIGHT_PATH_CREATE_FILE|WASI_RIGHT_PATH_LINK_SOURCE|WASI_RIGHT_PATH_LINK_TARGET|WASI_RIGHT_PATH_OPEN|WASI_RIGHT_FD_READDIR| WASI_RIGHT_PATH_READLINK|WASI_RIGHT_PATH_RENAME_SOURCE|WASI_RIGHT_PATH_RENAME_TARGET|WASI_RIGHT_PATH_FILESTAT_GET|WASI_RIGHT_PATH_FILESTAT_SET_SIZE|WASI_RIGHT_PATH_FILESTAT_SET_TIMES|WASI_RIGHT_FD_FILESTAT_GET|WASI_RIGHT_FD_FILESTAT_SET_TIMES|WASI_RIGHT_PATH_SYMLINK|WASI_RIGHT_PATH_UNLINK_FILE|WASI_RIGHT_PATH_REMOVE_DIRECTORY|WASI_RIGHT_POLL_FD_READWRITE,RIGHTS_DIRECTORY_INHERITING=RIGHTS_DIRECTORY_BASE|RIGHTS_REGULAR_FILE_BASE,RIGHTS_SOCKET_BASE=WASI_RIGHT_FD_READ|WASI_RIGHT_FD_FDSTAT_SET_FLAGS| WASI_RIGHT_FD_WRITE|WASI_RIGHT_FD_FILESTAT_GET|WASI_RIGHT_POLL_FD_READWRITE|WASI_RIGHT_SOCK_SHUTDOWN,RIGHTS_SOCKET_INHERITING=RIGHTS_ALL,RIGHTS_TTY_BASE=WASI_RIGHT_FD_READ|WASI_RIGHT_FD_FDSTAT_SET_FLAGS|WASI_RIGHT_FD_WRITE|WASI_RIGHT_FD_FILESTAT_GET|WASI_RIGHT_POLL_FD_READWRITE,RIGHTS_TTY_INHERITING=BigIntPolyfill(0),WASI_CLOCK_REALTIME=0,WASI_CLOCK_MONOTONIC=1,WASI_CLOCK_PROCESS_CPUTIME_ID=2,WASI_CLOCK_THREAD_CPUTIME_ID=3,WASI_EVENTTYPE_CLOCK=0,WASI_EVENTTYPE_FD_READ=1,WASI_EVENTTYPE_FD_WRITE=2, WASI_FILESTAT_SET_ATIM=1,WASI_FILESTAT_SET_ATIM_NOW=2,WASI_FILESTAT_SET_MTIM=4,WASI_FILESTAT_SET_MTIM_NOW=8,WASI_O_CREAT=1,WASI_O_DIRECTORY=2,WASI_O_EXCL=4,WASI_O_TRUNC=8,WASI_PREOPENTYPE_DIR=0,WASI_STDIN_FILENO=0,WASI_STDOUT_FILENO=1,WASI_STDERR_FILENO=2,WASI_WHENCE_SET=0,WASI_WHENCE_CUR=1,WASI_WHENCE_END=2,ERROR_MAP={E2BIG:WASI_E2BIG,EACCES:WASI_EACCES,EADDRINUSE:WASI_EADDRINUSE,EADDRNOTAVAIL:WASI_EADDRNOTAVAIL,EAFNOSUPPORT:WASI_EAFNOSUPPORT,EALREADY:WASI_EALREADY,EAGAIN:WASI_EAGAIN,EBADF:WASI_EBADF, EBADMSG:WASI_EBADMSG,EBUSY:WASI_EBUSY,ECANCELED:WASI_ECANCELED,ECHILD:WASI_ECHILD,ECONNABORTED:WASI_ECONNABORTED,ECONNREFUSED:WASI_ECONNREFUSED,ECONNRESET:WASI_ECONNRESET,EDEADLOCK:WASI_EDEADLK,EDESTADDRREQ:WASI_EDESTADDRREQ,EDOM:WASI_EDOM,EDQUOT:WASI_EDQUOT,EEXIST:WASI_EEXIST,EFAULT:WASI_EFAULT,EFBIG:WASI_EFBIG,EHOSTDOWN:WASI_EHOSTUNREACH,EHOSTUNREACH:WASI_EHOSTUNREACH,EIDRM:WASI_EIDRM,EILSEQ:WASI_EILSEQ,EINPROGRESS:WASI_EINPROGRESS,EINTR:WASI_EINTR,EINVAL:WASI_EINVAL,EIO:WASI_EIO,EISCONN:WASI_EISCONN, EISDIR:WASI_EISDIR,ELOOP:WASI_ELOOP,EMFILE:WASI_EMFILE,EMLINK:WASI_EMLINK,EMSGSIZE:WASI_EMSGSIZE,EMULTIHOP:WASI_EMULTIHOP,ENAMETOOLONG:WASI_ENAMETOOLONG,ENETDOWN:WASI_ENETDOWN,ENETRESET:WASI_ENETRESET,ENETUNREACH:WASI_ENETUNREACH,ENFILE:WASI_ENFILE,ENOBUFS:WASI_ENOBUFS,ENODEV:WASI_ENODEV,ENOENT:WASI_ENOENT,ENOEXEC:WASI_ENOEXEC,ENOLCK:WASI_ENOLCK,ENOLINK:WASI_ENOLINK,ENOMEM:WASI_ENOMEM,ENOMSG:WASI_ENOMSG,ENOPROTOOPT:WASI_ENOPROTOOPT,ENOSPC:WASI_ENOSPC,ENOSYS:WASI_ENOSYS,ENOTCONN:WASI_ENOTCONN,ENOTDIR:WASI_ENOTDIR, ENOTEMPTY:WASI_ENOTEMPTY,ENOTRECOVERABLE:WASI_ENOTRECOVERABLE,ENOTSOCK:WASI_ENOTSOCK,ENOTTY:WASI_ENOTTY,ENXIO:WASI_ENXIO,EOVERFLOW:WASI_EOVERFLOW,EOWNERDEAD:WASI_EOWNERDEAD,EPERM:WASI_EPERM,EPIPE:WASI_EPIPE,EPROTO:WASI_EPROTO,EPROTONOSUPPORT:WASI_EPROTONOSUPPORT,EPROTOTYPE:WASI_EPROTOTYPE,ERANGE:WASI_ERANGE,EROFS:WASI_EROFS,ESPIPE:WASI_ESPIPE,ESRCH:WASI_ESRCH,ESTALE:WASI_ESTALE,ETIMEDOUT:WASI_ETIMEDOUT,ETXTBSY:WASI_ETXTBSY,EXDEV:WASI_EXDEV},SIGNAL_MAP=(_a={},_a[WASI_SIGHUP]="SIGHUP",_a[WASI_SIGINT]= "SIGINT",_a[WASI_SIGQUIT]="SIGQUIT",_a[WASI_SIGILL]="SIGILL",_a[WASI_SIGTRAP]="SIGTRAP",_a[WASI_SIGABRT]="SIGABRT",_a[WASI_SIGBUS]="SIGBUS",_a[WASI_SIGFPE]="SIGFPE",_a[WASI_SIGKILL]="SIGKILL",_a[WASI_SIGUSR1]="SIGUSR1",_a[WASI_SIGSEGV]="SIGSEGV",_a[WASI_SIGUSR2]="SIGUSR2",_a[WASI_SIGPIPE]="SIGPIPE",_a[WASI_SIGALRM]="SIGALRM",_a[WASI_SIGTERM]="SIGTERM",_a[WASI_SIGCHLD]="SIGCHLD",_a[WASI_SIGCONT]="SIGCONT",_a[WASI_SIGSTOP]="SIGSTOP",_a[WASI_SIGTSTP]="SIGTSTP",_a[WASI_SIGTTIN]="SIGTTIN",_a[WASI_SIGTTOU]= "SIGTTOU",_a[WASI_SIGURG]="SIGURG",_a[WASI_SIGXCPU]="SIGXCPU",_a[WASI_SIGXFSZ]="SIGXFSZ",_a[WASI_SIGVTALRM]="SIGVTALRM",_a),defaultBindings;defaultBindings=bindings; var STDIN_DEFAULT_RIGHTS=WASI_RIGHT_FD_DATASYNC|WASI_RIGHT_FD_READ|WASI_RIGHT_FD_SYNC|WASI_RIGHT_FD_ADVISE|WASI_RIGHT_FD_FILESTAT_GET|WASI_RIGHT_POLL_FD_READWRITE,STDOUT_DEFAULT_RIGHTS=WASI_RIGHT_FD_DATASYNC|WASI_RIGHT_FD_WRITE|WASI_RIGHT_FD_SYNC|WASI_RIGHT_FD_ADVISE|WASI_RIGHT_FD_FILESTAT_GET|WASI_RIGHT_POLL_FD_READWRITE,STDERR_DEFAULT_RIGHTS=STDOUT_DEFAULT_RIGHTS,msToNs=function(c){var a=Math.trunc(c);c=BigIntPolyfill(Math.round(1E6*(c-a)));return BigIntPolyfill(a)*BigIntPolyfill(1E6)+c},nsToMs= function(c){"number"===typeof c&&(c=Math.trunc(c));c=BigIntPolyfill(c);return Number(c/BigIntPolyfill(1E6))},wrap=function(c){return function(){for(var a=[],d=0;d<arguments.length;d++)a[d]=arguments[d];try{return c.apply(void 0,__spread(a))}catch(b){if(b&&b.code&&"string"===typeof b.code)return ERROR_MAP[b.code]||WASI_EINVAL;if(b instanceof WASIError)return b.errno;throw b;}}},stat=function(c,a){var d=c.FD_MAP.get(a);if(!d)throw new WASIError(WASI_EBADF);if(void 0===d.filetype){var b=c.bindings.fs.fstatSync(d.real); c=translateFileAttributes(c,a,b);a=c.rightsBase;b=c.rightsInheriting;d.filetype=c.filetype;d.rights||(d.rights={base:a,inheriting:b})}return d},translateFileAttributes=function(c,a,d){switch(!0){case d.isBlockDevice():return{filetype:WASI_FILETYPE_BLOCK_DEVICE,rightsBase:RIGHTS_BLOCK_DEVICE_BASE,rightsInheriting:RIGHTS_BLOCK_DEVICE_INHERITING};case d.isCharacterDevice():return d=WASI_FILETYPE_CHARACTER_DEVICE,void 0!==a&&c.bindings.isTTY(a)?{filetype:d,rightsBase:RIGHTS_TTY_BASE,rightsInheriting:RIGHTS_TTY_INHERITING}: {filetype:d,rightsBase:RIGHTS_CHARACTER_DEVICE_BASE,rightsInheriting:RIGHTS_CHARACTER_DEVICE_INHERITING};case d.isDirectory():return{filetype:WASI_FILETYPE_DIRECTORY,rightsBase:RIGHTS_DIRECTORY_BASE,rightsInheriting:RIGHTS_DIRECTORY_INHERITING};case d.isFIFO():return{filetype:WASI_FILETYPE_SOCKET_STREAM,rightsBase:RIGHTS_SOCKET_BASE,rightsInheriting:RIGHTS_SOCKET_INHERITING};case d.isFile():return{filetype:WASI_FILETYPE_REGULAR_FILE,rightsBase:RIGHTS_REGULAR_FILE_BASE,rightsInheriting:RIGHTS_REGULAR_FILE_INHERITING}; case d.isSocket():return{filetype:WASI_FILETYPE_SOCKET_STREAM,rightsBase:RIGHTS_SOCKET_BASE,rightsInheriting:RIGHTS_SOCKET_INHERITING};case d.isSymbolicLink():return{filetype:WASI_FILETYPE_SYMBOLIC_LINK,rightsBase:BigIntPolyfill(0),rightsInheriting:BigIntPolyfill(0)};default:return{filetype:WASI_FILETYPE_UNKNOWN,rightsBase:BigIntPolyfill(0),rightsInheriting:BigIntPolyfill(0)}}},WASIError=function(c){function a(d){var b=c.call(this)||this;b.errno=d;Object.setPrototypeOf(b,a.prototype);return b}__extends(a, c);return a}(Error),WASIExitError=function(c){function a(d){var b=c.call(this,"WASI Exit error: "+d)||this;b.code=d;Object.setPrototypeOf(b,a.prototype);return b}__extends(a,c);return a}(Error),WASIKillError=function(c){function a(d){var b=c.call(this,"WASI Kill signal: "+d)||this;b.signal=d;Object.setPrototypeOf(b,a.prototype);return b}__extends(a,c);return a}(Error),WASIDefault=function(){function c(a){var c,b=this,h={};a&&a.preopens?h=a.preopens:a&&a.preopenDirectories&&(h=a.preopenDirectories); this.stdin=null===a||void 0===a?void 0:a.stdin;var l={};a&&a.env&&(l=a.env);var n=[];a&&a.args&&(n=a.args);var g=defaultBindings;a&&a.bindings&&(g=a.bindings);this.view=this.memory=void 0;this.bindings=g;this.FD_MAP=new Map([[WASI_STDIN_FILENO,{real:0,filetype:WASI_FILETYPE_CHARACTER_DEVICE,rights:{base:STDIN_DEFAULT_RIGHTS,inheriting:BigIntPolyfill(0)},path:void 0}],[WASI_STDOUT_FILENO,{real:1,filetype:WASI_FILETYPE_CHARACTER_DEVICE,rights:{base:STDOUT_DEFAULT_RIGHTS,inheriting:BigIntPolyfill(0)}, path:void 0}],[WASI_STDERR_FILENO,{real:2,filetype:WASI_FILETYPE_CHARACTER_DEVICE,rights:{base:STDERR_DEFAULT_RIGHTS,inheriting:BigIntPolyfill(0)},path:void 0}]]);var k=this.bindings.fs,t=this.bindings.path;try{for(var u=__values(Object.entries(h)),v=u.next();!v.done;v=u.next()){var z=__read(v.value,2),G=z[0],A=z[1],H=k.openSync(A,k.constants.O_RDONLY),I=__spread(this.FD_MAP.keys()).reverse()[0]+1;this.FD_MAP.set(I,{real:H,filetype:WASI_FILETYPE_DIRECTORY,rights:{base:RIGHTS_DIRECTORY_BASE,inheriting:RIGHTS_DIRECTORY_INHERITING}, fakePath:G,path:A})}}catch(f){var E={error:f}}finally{try{v&&!v.done&&(c=u.return)&&c.call(u)}finally{if(E)throw E.error;}}var C=function(f,e){b.refreshMemory();return Array.from({length:e},function(e,a){a=f+8*a;e=b.view.getUint32(a,!0);a=b.view.getUint32(a+4,!0);return new Uint8Array(b.memory.buffer,e,a)})},p=function(f,e){f=stat(b,f);if(e!==BigIntPolyfill(0)&&(f.rights.base&e)===BigIntPolyfill(0))throw new WASIError(WASI_EPERM);return f},J=g.hrtime(),w=function(b){switch(b){case WASI_CLOCK_MONOTONIC:return g.hrtime(); case WASI_CLOCK_REALTIME:return msToNs(Date.now());case WASI_CLOCK_PROCESS_CPUTIME_ID:case WASI_CLOCK_THREAD_CPUTIME_ID:return g.hrtime()-J;default:return null}};this.wasiImport={args_get:function(f,e){b.refreshMemory();var a=f,c=e;n.forEach(function(f){b.view.setUint32(a,c,!0);a+=4;c+=isomorphicBuffer.from(b.memory.buffer).write(f+"\x00",c)});return WASI_ESUCCESS},args_sizes_get:function(f,e){b.refreshMemory();b.view.setUint32(f,n.length,!0);f=n.reduce(function(b,f){return b+isomorphicBuffer.byteLength(f)+ 1},0);b.view.setUint32(e,f,!0);return WASI_ESUCCESS},environ_get:function(f,e){b.refreshMemory();var a=f,c=e;Object.entries(l).forEach(function(f){var e=__read(f,2);f=e[0];e=e[1];b.view.setUint32(a,c,!0);a+=4;c+=isomorphicBuffer.from(b.memory.buffer).write(f+"="+e+"\x00",c)});return WASI_ESUCCESS},environ_sizes_get:function(f,e){b.refreshMemory();var a=Object.entries(l).map(function(b){b=__read(b,2);return b[0]+"="+b[1]+"\x00"}),c=a.reduce(function(b,f){return b+isomorphicBuffer.byteLength(f)},0); b.view.setUint32(f,a.length,!0);b.view.setUint32(e,c,!0);return WASI_ESUCCESS},clock_res_get:function(f,e){switch(f){case WASI_CLOCK_MONOTONIC:case WASI_CLOCK_PROCESS_CPUTIME_ID:case WASI_CLOCK_THREAD_CPUTIME_ID:var a=BigIntPolyfill(1);break;case WASI_CLOCK_REALTIME:a=BigIntPolyfill(1E3)}b.view.setBigUint64(e,a);return WASI_ESUCCESS},clock_time_get:function(f,e,a){b.refreshMemory();f=w(f);if(null===f)return WASI_EINVAL;b.view.setBigUint64(a,BigIntPolyfill(f),!0);return WASI_ESUCCESS},fd_advise:wrap(function(b, e,a,c){p(b,WASI_RIGHT_FD_ADVISE);return WASI_ENOSYS}),fd_allocate:wrap(function(b,e,a){p(b,WASI_RIGHT_FD_ALLOCATE);return WASI_ENOSYS}),fd_close:wrap(function(f){var e=p(f,BigIntPolyfill(0));k.closeSync(e.real);b.FD_MAP.delete(f);return WASI_ESUCCESS}),fd_datasync:wrap(function(b){b=p(b,WASI_RIGHT_FD_DATASYNC);k.fdatasyncSync(b.real);return WASI_ESUCCESS}),fd_fdstat_get:wrap(function(f,e){f=p(f,BigIntPolyfill(0));b.refreshMemory();b.view.setUint8(e,f.filetype);b.view.setUint16(e+2,0,!0);b.view.setUint16(e+ 4,0,!0);b.view.setBigUint64(e+8,BigIntPolyfill(f.rights.base),!0);b.view.setBigUint64(e+8+8,BigIntPolyfill(f.rights.inheriting),!0);return WASI_ESUCCESS}),fd_fdstat_set_flags:wrap(function(b,e){p(b,WASI_RIGHT_FD_FDSTAT_SET_FLAGS);return WASI_ENOSYS}),fd_fdstat_set_rights:wrap(function(b,e,a){b=p(b,BigIntPolyfill(0));if((b.rights.base|e)>b.rights.base||(b.rights.inheriting|a)>b.rights.inheriting)return WASI_EPERM;b.rights.base=e;b.rights.inheriting=a;return WASI_ESUCCESS}),fd_filestat_get:wrap(function(f, e){f=p(f,WASI_RIGHT_FD_FILESTAT_GET);var a=k.fstatSync(f.real);b.refreshMemory();b.view.setBigUint64(e,BigIntPolyfill(a.dev),!0);e+=8;b.view.setBigUint64(e,BigIntPolyfill(a.ino),!0);e+=8;b.view.setUint8(e,f.filetype);e+=8;b.view.setBigUint64(e,BigIntPolyfill(a.nlink),!0);e+=8;b.view.setBigUint64(e,BigIntPolyfill(a.size),!0);e+=8;b.view.setBigUint64(e,msToNs(a.atimeMs),!0);e+=8;b.view.setBigUint64(e,msToNs(a.mtimeMs),!0);b.view.setBigUint64(e+8,msToNs(a.ctimeMs),!0);return WASI_ESUCCESS}),fd_filestat_set_size:wrap(function(b, a){b=p(b,WASI_RIGHT_FD_FILESTAT_SET_SIZE);k.ftruncateSync(b.real,Number(a));return WASI_ESUCCESS}),fd_filestat_set_times:wrap(function(b,a,c,d){b=p(b,WASI_RIGHT_FD_FILESTAT_SET_TIMES);var f=k.fstatSync(b.real),e=f.atime;f=f.mtime;var m=nsToMs(w(WASI_CLOCK_REALTIME)),g=WASI_FILESTAT_SET_ATIM|WASI_FILESTAT_SET_ATIM_NOW;if((d&g)===g)return WASI_EINVAL;g=WASI_FILESTAT_SET_MTIM|WASI_FILESTAT_SET_MTIM_NOW;if((d&g)===g)return WASI_EINVAL;(d&WASI_FILESTAT_SET_ATIM)===WASI_FILESTAT_SET_ATIM?e=nsToMs(a):(d& WASI_FILESTAT_SET_ATIM_NOW)===WASI_FILESTAT_SET_ATIM_NOW&&(e=m);(d&WASI_FILESTAT_SET_MTIM)===WASI_FILESTAT_SET_MTIM?f=nsToMs(c):(d&WASI_FILESTAT_SET_MTIM_NOW)===WASI_FILESTAT_SET_MTIM_NOW&&(f=m);k.futimesSync(b.real,new Date(e),new Date(f));return WASI_ESUCCESS}),fd_prestat_get:wrap(function(f,a){f=p(f,BigIntPolyfill(0));if(!f.path)return WASI_EINVAL;b.refreshMemory();b.view.setUint8(a,WASI_PREOPENTYPE_DIR);b.view.setUint32(a+4,isomorphicBuffer.byteLength(f.fakePath),!0);return WASI_ESUCCESS}),fd_prestat_dir_name:wrap(function(f, a,c){f=p(f,BigIntPolyfill(0));if(!f.path)return WASI_EINVAL;b.refreshMemory();isomorphicBuffer.from(b.memory.buffer).write(f.fakePath,a,c,"utf8");return WASI_ESUCCESS}),fd_pwrite:wrap(function(f,a,c,d,r){var e=p(f,WASI_RIGHT_FD_WRITE|WASI_RIGHT_FD_SEEK),m=0;C(a,c).forEach(function(b){for(var f=0;f<b.byteLength;)f+=k.writeSync(e.real,b,f,b.byteLength-f,Number(d)+m+f);m+=f});b.view.setUint32(r,m,!0);return WASI_ESUCCESS}),fd_write:wrap(function(f,a,c,d){var e=p(f,WASI_RIGHT_FD_WRITE),m=0;C(a,c).forEach(function(b){for(var f= 0;f<b.byteLength;){var a=k.writeSync(e.real,b,f,b.byteLength-f,e.offset?Number(e.offset):null);e.offset&&(e.offset+=BigIntPolyfill(a));f+=a}m+=f});b.view.setUint32(d,m,!0);return WASI_ESUCCESS}),fd_pread:wrap(function(f,a,c,d,r){var e;f=p(f,WASI_RIGHT_FD_READ|WASI_RIGHT_FD_SEEK);var m=0;try{var g=__values(C(a,c)),h=g.next();a:for(;!h.done;h=g.next()){var q=h.value;for(a=0;a<q.byteLength;){var x=q.byteLength-a,n=k.readSync(f.real,q,a,q.byteLength-a,Number(d)+m+a);a+=n;m+=n;if(0===n||n<x)break a}m+= a}}catch(B){var l={error:B}}finally{try{h&&!h.done&&(e=g.return)&&e.call(g)}finally{if(l)throw l.error;}}b.view.setUint32(r,m,!0);return WASI_ESUCCESS}),fd_read:wrap(function(f,a,c,d){return __awaiter(b,void 0,void 0,function(){var b,e,m,g,h,q,x,n,l,t,u,v,w,y,z,D,A;return __generator(this,function(r){switch(r.label){case 0:b=p(f,WASI_RIGHT_FD_READ),e=0===b.real,m=0,r.label=1;case 1:r.trys.push([1,9,10,15]),g=__asyncValues(C(a,c)),r.label=2;case 2:return[4,g.next()];case 3:if(h=r.sent(),h.done)return[3, 8];q=h.value;return e&&this.stdin?[4,this.stdin.read()]:[3,5];case 4:return n=r.sent(),[3,6];case 5:n=void 0,r.label=6;case 6:x=n;for(l=0;l<q.byteLength;){t=q.byteLength-l;u=e||void 0===b.offset?null:Number(b.offset);if(x)for(v=0,w=x.byteLength;v<w;v++)q[v]=x[v];y=k.readSync(b.real,q,l,t,u);e||(b.offset=(b.offset?b.offset:BigIntPolyfill(0))+BigIntPolyfill(y));l+=y;m+=y;if(0===y||y<t)return[3,8]}r.label=7;case 7:return[3,2];case 8:return[3,15];case 9:return z=r.sent(),D={error:z},[3,15];case 10:return r.trys.push([10, ,13,14]),h&&!h.done&&(A=g.return)?[4,A.call(g)]:[3,12];case 11:r.sent(),r.label=12;case 12:return[3,14];case 13:if(D)throw D.error;return[7];case 14:return[7];case 15:return this.view.setUint32(d,m,!0),[2,WASI_ESUCCESS]}})})}),fd_readdir:wrap(function(f,a,c,d,g){f=p(f,WASI_RIGHT_FD_READDIR);b.refreshMemory();var e=k.readdirSync(f.path,{withFileTypes:!0}),m=a;for(d=Number(d);d<e.length;d+=1){var r=e[d],h=isomorphicBuffer.byteLength(r.name);if(a-m>c)break;b.view.setBigUint64(a,BigIntPolyfill(d+1),!0); a+=8;if(a-m>c)break;var q=k.statSync(t.resolve(f.path,r.name));b.view.setBigUint64(a,BigIntPolyfill(q.ino),!0);a+=8;if(a-m>c)break;b.view.setUint32(a,h,!0);a+=4;if(a-m>c)break;switch(!0){case q.isBlockDevice():q=WASI_FILETYPE_BLOCK_DEVICE;break;case q.isCharacterDevice():q=WASI_FILETYPE_CHARACTER_DEVICE;break;case q.isDirectory():q=WASI_FILETYPE_DIRECTORY;break;case q.isFIFO():q=WASI_FILETYPE_SOCKET_STREAM;break;case q.isFile():q=WASI_FILETYPE_REGULAR_FILE;break;case q.isSocket():q=WASI_FILETYPE_SOCKET_STREAM; break;case q.isSymbolicLink():q=WASI_FILETYPE_SYMBOLIC_LINK;break;default:q=WASI_FILETYPE_UNKNOWN}b.view.setUint8(a,q);a+=1;a+=3;if(a+h>=m+c)break;isomorphicBuffer.from(b.memory.buffer).write(r.name,a);a+=h}b.view.setUint32(g,Math.min(a-m,c),!0);return WASI_ESUCCESS}),fd_renumber:wrap(function(a,e){p(a,BigIntPolyfill(0));p(e,BigIntPolyfill(0));k.closeSync(b.FD_MAP.get(a).real);b.FD_MAP.set(a,b.FD_MAP.get(e));b.FD_MAP.delete(e);return WASI_ESUCCESS}),fd_seek:wrap(function(a,e,c,d){a=p(a,WASI_RIGHT_FD_SEEK); b.refreshMemory();switch(c){case WASI_WHENCE_CUR:a.offset=(a.offset?a.offset:BigIntPolyfill(0))+BigIntPolyfill(e);break;case WASI_WHENCE_END:c=k.fstatSync(a.real).size;a.offset=BigIntPolyfill(c)+BigIntPolyfill(e);break;case WASI_WHENCE_SET:a.offset=BigIntPolyfill(e)}b.view.setBigUint64(d,a.offset,!0);return WASI_ESUCCESS}),fd_tell:wrap(function(a,e){a=p(a,WASI_RIGHT_FD_TELL);b.refreshMemory();a.offset||(a.offset=BigIntPolyfill(0));b.view.setBigUint64(e,a.offset,!0);return WASI_ESUCCESS}),fd_sync:wrap(function(b){b= p(b,WASI_RIGHT_FD_SYNC);k.fsyncSync(b.real);return WASI_ESUCCESS}),path_create_directory:wrap(function(a,e,c){a=p(a,WASI_RIGHT_PATH_CREATE_DIRECTORY);if(!a.path)return WASI_EINVAL;b.refreshMemory();e=isomorphicBuffer.from(b.memory.buffer,e,c).toString();k.mkdirSync(t.resolve(a.path,e));return WASI_ESUCCESS}),path_filestat_get:wrap(function(a,e,c,d,g){a=p(a,WASI_RIGHT_PATH_FILESTAT_GET);if(!a.path)return WASI_EINVAL;b.refreshMemory();c=isomorphicBuffer.from(b.memory.buffer,c,d).toString();c=k.statSync(t.resolve(a.path, c));b.view.setBigUint64(g,BigIntPolyfill(c.dev),!0);g+=8;b.view.setBigUint64(g,BigIntPolyfill(c.ino),!0);g+=8;b.view.setUint8(g,translateFileAttributes(b,void 0,c).filetype);g+=8;b.view.setBigUint64(g,BigIntPolyfill(c.nlink),!0);g+=8;b.view.setBigUint64(g,BigIntPolyfill(c.size),!0);g+=8;b.view.setBigUint64(g,msToNs(c.atimeMs),!0);g+=8;b.view.setBigUint64(g,msToNs(c.mtimeMs),!0);b.view.setBigUint64(g+8,msToNs(c.ctimeMs),!0);return WASI_ESUCCESS}),path_filestat_set_times:wrap(function(a,c,d,g,h,n,l){a= p(a,WASI_RIGHT_PATH_FILESTAT_SET_TIMES);if(!a.path)return WASI_EINVAL;b.refreshMemory();var f=k.fstatSync(a.real);c=f.atime;f=f.mtime;var e=nsToMs(w(WASI_CLOCK_REALTIME)),m=WASI_FILESTAT_SET_ATIM|WASI_FILESTAT_SET_ATIM_NOW;if((l&m)===m)return WASI_EINVAL;m=WASI_FILESTAT_SET_MTIM|WASI_FILESTAT_SET_MTIM_NOW;if((l&m)===m)return WASI_EINVAL;(l&WASI_FILESTAT_SET_ATIM)===WASI_FILESTAT_SET_ATIM?c=nsToMs(h):(l&WASI_FILESTAT_SET_ATIM_NOW)===WASI_FILESTAT_SET_ATIM_NOW&&(c=e);(l&WASI_FILESTAT_SET_MTIM)===WASI_FILESTAT_SET_MTIM? f=nsToMs(n):(l&WASI_FILESTAT_SET_MTIM_NOW)===WASI_FILESTAT_SET_MTIM_NOW&&(f=e);d=isomorphicBuffer.from(b.memory.buffer,d,g).toString();k.utimesSync(t.resolve(a.path,d),new Date(c),new Date(f));return WASI_ESUCCESS}),path_link:wrap(function(a,c,d,g,h,l,n){a=p(a,WASI_RIGHT_PATH_LINK_SOURCE);h=p(h,WASI_RIGHT_PATH_LINK_TARGET);if(!a.path||!h.path)return WASI_EINVAL;b.refreshMemory();d=isomorphicBuffer.from(b.memory.buffer,d,g).toString();l=isomorphicBuffer.from(b.memory.buffer,l,n).toString();k.linkSync(t.resolve(a.path, d),t.resolve(h.path,l));return WASI_ESUCCESS}),path_open:wrap(function(a,c,d,g,h,l,n,u,v){c=p(a,WASI_RIGHT_PATH_OPEN);l=BigIntPolyfill(l);n=BigIntPolyfill(n);a=(l&(WASI_RIGHT_FD_READ|WASI_RIGHT_FD_READDIR))!==BigIntPolyfill(0);var f=(l&(WASI_RIGHT_FD_DATASYNC|WASI_RIGHT_FD_WRITE|WASI_RIGHT_FD_ALLOCATE|WASI_RIGHT_FD_FILESTAT_SET_SIZE))!==BigIntPolyfill(0);if(f&&a)var e=k.constants.O_RDWR;else a?e=k.constants.O_RDONLY:f&&(e=k.constants.O_WRONLY);a=l|WASI_RIGHT_PATH_OPEN;l|=n;0!==(h&WASI_O_CREAT)&&(e|= k.constants.O_CREAT,a|=WASI_RIGHT_PATH_CREATE_FILE);0!==(h&WASI_O_DIRECTORY)&&(e|=k.constants.O_DIRECTORY);0!==(h&WASI_O_EXCL)&&(e|=k.constants.O_EXCL);0!==(h&WASI_O_TRUNC)&&(e|=k.constants.O_TRUNC,a|=WASI_RIGHT_PATH_FILESTAT_SET_SIZE);0!==(u&WASI_FDFLAG_APPEND)&&(e|=k.constants.O_APPEND);0!==(u&WASI_FDFLAG_DSYNC)&&(e=k.constants.O_DSYNC?e|k.constants.O_DSYNC:e|k.constants.O_SYNC,l|=WASI_RIGHT_FD_DATASYNC);0!==(u&WASI_FDFLAG_NONBLOCK)&&(e|=k.constants.O_NONBLOCK);0!==(u&WASI_FDFLAG_RSYNC)&&(e=k.constants.O_RSYNC? e|k.constants.O_RSYNC:e|k.constants.O_SYNC,l|=WASI_RIGHT_FD_SYNC);0!==(u&WASI_FDFLAG_SYNC)&&(e|=k.constants.O_SYNC,l|=WASI_RIGHT_FD_SYNC);f&&0===(e&(k.constants.O_APPEND|k.constants.O_TRUNC))&&(l|=WASI_RIGHT_FD_SEEK);b.refreshMemory();d=isomorphicBuffer.from(b.memory.buffer,d,g).toString();d=t.resolve(c.path,d);if(t.relative(c.path,d).startsWith(".."))return WASI_ENOTCAPABLE;try{var m=k.realpathSync(d);if(t.relative(c.path,m).startsWith(".."))return WASI_ENOTCAPABLE}catch(B){if("ENOENT"===B.code)m= d;else throw B;}try{var r=k.statSync(m).isDirectory()}catch(B){}e=!f&&r?k.openSync(m,k.constants.O_RDONLY):k.openSync(m,e);r=__spread(b.FD_MAP.keys()).reverse()[0]+1;b.FD_MAP.set(r,{real:e,filetype:void 0,rights:{base:a,inheriting:l},path:m});stat(b,r);b.view.setUint32(v,r,!0);return WASI_ESUCCESS}),path_readlink:wrap(function(a,c,d,g,h,l){a=p(a,WASI_RIGHT_PATH_READLINK);if(!a.path)return WASI_EINVAL;b.refreshMemory();c=isomorphicBuffer.from(b.memory.buffer,c,d).toString();c=t.resolve(a.path,c);c= k.readlinkSync(c);g=isomorphicBuffer.from(b.memory.buffer).write(c,g,h);b.view.setUint32(l,g,!0);return WASI_ESUCCESS}),path_remove_directory:wrap(function(a,c,d){a=p(a,WASI_RIGHT_PATH_REMOVE_DIRECTORY);if(!a.path)return WASI_EINVAL;b.refreshMemory();c=isomorphicBuffer.from(b.memory.buffer,c,d).toString();k.rmdirSync(t.resolve(a.path,c));return WASI_ESUCCESS}),path_rename:wrap(function(a,c,d,g,h,l){a=p(a,WASI_RIGHT_PATH_RENAME_SOURCE);g=p(g,WASI_RIGHT_PATH_RENAME_TARGET);if(!a.path||!g.path)return WASI_EINVAL; b.refreshMemory();c=isomorphicBuffer.from(b.memory.buffer,c,d).toString();h=isomorphicBuffer.from(b.memory.buffer,h,l).toString();k.renameSync(t.resolve(a.path,c),t.resolve(g.path,h));return WASI_ESUCCESS}),path_symlink:wrap(function(a,c,d,g,h){d=p(d,WASI_RIGHT_PATH_SYMLINK);if(!d.path)return WASI_EINVAL;b.refreshMemory();a=isomorphicBuffer.from(b.memory.buffer,a,c).toString();g=isomorphicBuffer.from(b.memory.buffer,g,h).toString();k.symlinkSync(a,t.resolve(d.path,g));return WASI_ESUCCESS}),path_unlink_file:wrap(function(a, c,d){a=p(a,WASI_RIGHT_PATH_UNLINK_FILE);if(!a.path)return WASI_EINVAL;b.refreshMemory();c=isomorphicBuffer.from(b.memory.buffer,c,d).toString();k.unlinkSync(t.resolve(a.path,c));return WASI_ESUCCESS}),poll_oneoff:function(a,c,d,h){var e=0,f=0;b.refreshMemory();for(var k=0;k<d;k+=1){var l=b.view.getBigUint64(a,!0);a+=8;var m=b.view.getUint8(a);a+=1;switch(m){case WASI_EVENTTYPE_CLOCK:a+=7;b.view.getBigUint64(a,!0);a+=8;var n=b.view.getUint32(a,!0);a+=4;a+=4;m=b.view.getBigUint64(a,!0);a+=8;b.view.getBigUint64(a, !0);a+=8;var p=b.view.getUint16(a,!0);a+=2;a+=6;var t=1===p;p=WASI_ESUCCESS;n=BigIntPolyfill(w(n));null===n?p=WASI_EINVAL:(m=t?m:n+m,f=m>f?m:f);b.view.setBigUint64(c,l,!0);c+=8;b.view.setUint16(c,p,!0);c+=2;b.view.setUint8(c,WASI_EVENTTYPE_CLOCK);c+=1;c+=5;e+=1;break;case WASI_EVENTTYPE_FD_READ:case WASI_EVENTTYPE_FD_WRITE:a+=3;b.view.getUint32(a,!0);a+=4;b.view.setBigUint64(c,l,!0);c+=8;b.view.setUint16(c,WASI_ENOSYS,!0);c+=2;b.view.setUint8(c,m);c+=1;c+=5;e+=1;break;default:return WASI_EINVAL}}for(b.view.setUint32(h, e,!0);g.hrtime()<f;);return WASI_ESUCCESS},proc_exit:function(a){g.exit(a);return WASI_ESUCCESS},proc_raise:function(a){if(!(a in SIGNAL_MAP))return WASI_EINVAL;g.kill(SIGNAL_MAP[a]);return WASI_ESUCCESS},random_get:function(a,c){b.refreshMemory();g.randomFillSync(new Uint8Array(b.memory.buffer),a,c);return WASI_ESUCCESS},sched_yield:function(){return WASI_ESUCCESS},sock_recv:function(){return WASI_ENOSYS},sock_send:function(){return WASI_ENOSYS},sock_shutdown:function(){return WASI_ENOSYS}};a.traceSyscalls&& Object.keys(this.wasiImport).forEach(function(a){var c=b.wasiImport[a];b.wasiImport[a]=function(){for(var b=[],d=0;d<arguments.length;d++)b[d]=arguments[d];console.log("WASI: wasiImport called: "+a+" ("+b+")");try{var e=c.apply(void 0,__spread(b));console.log("WASI: => "+e);return e}catch(F){throw console.log("Catched error: "+F),F;}}})}c.prototype.refreshMemory=function(){this.view&&0!==this.view.buffer.byteLength||(this.view=new DataViewPolyfill(this.memory.buffer))};c.prototype.setMemory=function(a){this.memory= a};c.prototype.start=function(a){a=a.exports;if(null===a||"object"!==typeof a)throw Error("instance.exports must be an Object. Received "+a+".");var c=a.memory;if(!(c instanceof WebAssembly.Memory))throw Error("instance.exports.memory must be a WebAssembly.Memory. Recceived "+c+".");this.setMemory(c);a._start&&a._start()};c.prototype.getImportNamespace=function(a){var c,b=null;try{for(var h=__values(WebAssembly.Module.imports(a)),l=h.next();!l.done;l=h.next()){var n=l.value;if("function"===n.kind&& n.module.startsWith("wasi_"))if(!b)b=n.module;else if(b!==n.module)throw Error("Multiple namespaces detected.");}}catch(k){var g={error:k}}finally{try{l&&!l.done&&(c=h.return)&&c.call(h)}finally{if(g)throw g.error;}}return b};c.prototype.getImports=function(a){switch(this.getImportNamespace(a)){case "wasi_unstable":return{wasi_unstable:this.wasiImport};case "wasi_snapshot_preview1":return{wasi_snapshot_preview1:this.wasiImport};default:throw Error("Can't detect a WASI namespace for the WebAssembly Module"); }};c.defaultBindings=defaultBindings;return c}(),WASI=WASIDefault;exports.WASI=WASI;exports.WASIError=WASIError;exports.WASIExitError=WASIExitError;exports.WASIKillError=WASIKillError;exports.default=WASIDefault;