just-bash 2.3.1 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/dist/Bash.d.ts +0 -6
- package/dist/bin/chunks/cat-ZEMMQGY5.js +6 -0
- package/dist/bin/chunks/chunk-45SNFRCY.js +3 -0
- package/dist/bin/chunks/chunk-OBH7XN5N.js +1 -0
- package/dist/bin/{shell/chunks/chunk-OQRRF62X.js → chunks/chunk-UUQYHLBO.js} +3 -3
- package/dist/bin/chunks/cut-WWPJ2PYT.js +6 -0
- package/dist/bin/chunks/du-XQPYLN3H.js +8 -0
- package/dist/bin/chunks/find-4D6S5MQR.js +11 -0
- package/dist/bin/chunks/grep-U2RCKOEG.js +15 -0
- package/dist/bin/chunks/jq-63OXR3LZ.js +15 -0
- package/dist/bin/chunks/ls-BEHQBUMC.js +26 -0
- package/dist/bin/chunks/sort-C3F6LCNY.js +16 -0
- package/dist/bin/chunks/sqlite3-PZRKN3TT.js +37 -0
- package/dist/bin/chunks/tree-DQBEJH47.js +12 -0
- package/dist/bin/chunks/uniq-DKS7RIAE.js +5 -0
- package/dist/bin/chunks/wc-4LMTC3QD.js +6 -0
- package/dist/bin/{shell/chunks/xan-ASGSTJP4.js → chunks/xan-WNN2ZOAX.js} +48 -48
- package/dist/bin/chunks/{xan-view-YGORUYA2.js → xan-view-6Z6TWXMY.js} +1 -1
- package/dist/bin/chunks/xargs-IWT2HHEA.js +5 -0
- package/dist/bin/just-bash.js +77 -77
- package/dist/bin/shell/chunks/cat-ZEMMQGY5.js +6 -0
- package/dist/bin/shell/chunks/chunk-45SNFRCY.js +3 -0
- package/dist/bin/shell/chunks/chunk-OBH7XN5N.js +1 -0
- package/dist/bin/{chunks/chunk-OQRRF62X.js → shell/chunks/chunk-UUQYHLBO.js} +3 -3
- package/dist/bin/shell/chunks/cut-WWPJ2PYT.js +6 -0
- package/dist/bin/shell/chunks/du-XQPYLN3H.js +8 -0
- package/dist/bin/shell/chunks/find-4D6S5MQR.js +11 -0
- package/dist/bin/shell/chunks/grep-U2RCKOEG.js +15 -0
- package/dist/bin/shell/chunks/jq-63OXR3LZ.js +15 -0
- package/dist/bin/shell/chunks/ls-BEHQBUMC.js +26 -0
- package/dist/bin/shell/chunks/sort-C3F6LCNY.js +16 -0
- package/dist/bin/shell/chunks/sqlite3-PZRKN3TT.js +37 -0
- package/dist/bin/shell/chunks/tree-DQBEJH47.js +12 -0
- package/dist/bin/shell/chunks/uniq-DKS7RIAE.js +5 -0
- package/dist/bin/shell/chunks/wc-4LMTC3QD.js +6 -0
- package/dist/bin/{chunks/xan-ASGSTJP4.js → shell/chunks/xan-WNN2ZOAX.js} +48 -48
- package/dist/bin/shell/chunks/{xan-view-YGORUYA2.js → xan-view-6Z6TWXMY.js} +1 -1
- package/dist/bin/shell/chunks/xargs-IWT2HHEA.js +5 -0
- package/dist/bin/shell/shell.js +69 -69
- package/dist/bundle/browser.js +432 -432
- package/dist/bundle/chunks/cat-W5XITXDC.js +5 -0
- package/dist/bundle/chunks/chunk-4ACWXGKW.js +2 -0
- package/dist/bundle/chunks/{chunk-U4UYWYTO.js → chunk-A263W2RD.js} +3 -3
- package/dist/bundle/chunks/chunk-NUFRM6SI.js +0 -0
- package/dist/bundle/chunks/cut-KKAAQJVD.js +5 -0
- package/dist/bundle/chunks/du-NQXEC3EF.js +7 -0
- package/dist/bundle/chunks/find-GPKJFOPK.js +10 -0
- package/dist/bundle/chunks/grep-CTJRP2G3.js +14 -0
- package/dist/bundle/chunks/jq-WOKA22RE.js +14 -0
- package/dist/bundle/chunks/ls-5W3NU5OJ.js +23 -0
- package/dist/bundle/chunks/sort-JHO22QVO.js +15 -0
- package/dist/bundle/chunks/sqlite3-CX5D36A5.js +36 -0
- package/dist/bundle/chunks/tree-MEM64BW3.js +11 -0
- package/dist/bundle/chunks/uniq-SEKCFR7B.js +4 -0
- package/dist/bundle/chunks/wc-52FZ4QGS.js +5 -0
- package/dist/bundle/chunks/{xan-B3RI2BDO.js → xan-ZHXYF6B4.js} +48 -48
- package/dist/bundle/chunks/{xan-view-33AU6NPN.js → xan-view-DMFUMZG7.js} +1 -1
- package/dist/bundle/chunks/xargs-4FRA6OJ7.js +4 -0
- package/dist/bundle/index.js +59 -59
- package/dist/commands/browser-excluded.d.ts +0 -3
- package/dist/commands/find/matcher.d.ts +5 -0
- package/dist/commands/registry.d.ts +5 -16
- package/dist/commands/sqlite3/sqlite3.d.ts +4 -1
- package/dist/commands/sqlite3/worker.d.ts +3 -0
- package/dist/commands/xan/csv.d.ts +5 -0
- package/dist/index.d.ts +2 -2
- package/dist/utils/constants.d.ts +15 -0
- package/dist/utils/file-reader.d.ts +4 -1
- package/package.json +3 -3
- package/dist/bin/chunks/cat-7TVSOZLU.js +0 -6
- package/dist/bin/chunks/chunk-J7MJV6WO.js +0 -3
- package/dist/bin/chunks/cut-VCKWLT2T.js +0 -6
- package/dist/bin/chunks/du-ZONJJZUK.js +0 -8
- package/dist/bin/chunks/find-P6UQXFKX.js +0 -11
- package/dist/bin/chunks/grep-L5HBHEEQ.js +0 -15
- package/dist/bin/chunks/jq-MTQKMJJI.js +0 -16
- package/dist/bin/chunks/ls-FSSC77F4.js +0 -26
- package/dist/bin/chunks/sort-J5ARYV56.js +0 -16
- package/dist/bin/chunks/sqlite3-6WCINK3O.js +0 -38
- package/dist/bin/chunks/tree-ESVATRDW.js +0 -12
- package/dist/bin/chunks/uniq-7JNZWE5D.js +0 -5
- package/dist/bin/chunks/wc-OFU3HUEZ.js +0 -6
- package/dist/bin/chunks/xargs-WIJC4RTG.js +0 -4
- package/dist/bin/shell/chunks/cat-7TVSOZLU.js +0 -6
- package/dist/bin/shell/chunks/chunk-J7MJV6WO.js +0 -3
- package/dist/bin/shell/chunks/cut-VCKWLT2T.js +0 -6
- package/dist/bin/shell/chunks/du-ZONJJZUK.js +0 -8
- package/dist/bin/shell/chunks/find-P6UQXFKX.js +0 -11
- package/dist/bin/shell/chunks/grep-L5HBHEEQ.js +0 -15
- package/dist/bin/shell/chunks/jq-MTQKMJJI.js +0 -16
- package/dist/bin/shell/chunks/ls-FSSC77F4.js +0 -26
- package/dist/bin/shell/chunks/sort-J5ARYV56.js +0 -16
- package/dist/bin/shell/chunks/sqlite3-6WCINK3O.js +0 -38
- package/dist/bin/shell/chunks/tree-ESVATRDW.js +0 -12
- package/dist/bin/shell/chunks/uniq-7JNZWE5D.js +0 -5
- package/dist/bin/shell/chunks/wc-OFU3HUEZ.js +0 -6
- package/dist/bin/shell/chunks/xargs-WIJC4RTG.js +0 -4
- package/dist/bundle/chunks/cat-CE7XIAD2.js +0 -5
- package/dist/bundle/chunks/chunk-3YNHMZ5M.js +0 -2
- package/dist/bundle/chunks/cut-MCCSW2TZ.js +0 -5
- package/dist/bundle/chunks/du-3NURMGXT.js +0 -7
- package/dist/bundle/chunks/find-QJDJJ5KW.js +0 -10
- package/dist/bundle/chunks/grep-4K5T3MYL.js +0 -14
- package/dist/bundle/chunks/jq-QAA4WF2O.js +0 -15
- package/dist/bundle/chunks/ls-CS3TIKWR.js +0 -23
- package/dist/bundle/chunks/sort-PMLMEZ4E.js +0 -15
- package/dist/bundle/chunks/sqlite3-GFVRV2TN.js +0 -37
- package/dist/bundle/chunks/tree-5TYW7S7K.js +0 -11
- package/dist/bundle/chunks/uniq-ONGDGSEB.js +0 -4
- package/dist/bundle/chunks/wc-Y5MNUNQQ.js +0 -5
- package/dist/bundle/chunks/xargs-2IMBHM4N.js +0 -3
package/README.md
CHANGED
|
@@ -245,7 +245,7 @@ pnpm shell --no-network
|
|
|
245
245
|
|
|
246
246
|
### Data Processing
|
|
247
247
|
|
|
248
|
-
`jq` (JSON), `sqlite3` (SQLite
|
|
248
|
+
`jq` (JSON), `sqlite3` (SQLite), `xan` (CSV), `yq` (YAML/XML/TOML/CSV)
|
|
249
249
|
|
|
250
250
|
### Compression
|
|
251
251
|
|
|
@@ -324,10 +324,10 @@ const env = new Bash({
|
|
|
324
324
|
|
|
325
325
|
## SQLite Support
|
|
326
326
|
|
|
327
|
-
|
|
327
|
+
The `sqlite3` command uses sql.js (WASM-based SQLite) which is fully sandboxed and cannot access the real filesystem:
|
|
328
328
|
|
|
329
329
|
```typescript
|
|
330
|
-
const env = new Bash(
|
|
330
|
+
const env = new Bash();
|
|
331
331
|
|
|
332
332
|
// Query in-memory database
|
|
333
333
|
await env.exec('sqlite3 :memory: "SELECT 1 + 1"');
|
|
@@ -336,7 +336,7 @@ await env.exec('sqlite3 :memory: "SELECT 1 + 1"');
|
|
|
336
336
|
await env.exec('sqlite3 data.db "SELECT * FROM users"');
|
|
337
337
|
```
|
|
338
338
|
|
|
339
|
-
**Note:**
|
|
339
|
+
**Note:** SQLite is not available in browser environments. Queries run in a worker thread with a configurable timeout (default: 5 seconds) to prevent runaway queries from blocking execution.
|
|
340
340
|
|
|
341
341
|
### Allow-List Security
|
|
342
342
|
|
package/dist/Bash.d.ts
CHANGED
|
@@ -51,12 +51,6 @@ export interface BashOptions {
|
|
|
51
51
|
* Network access is disabled by default - you must explicitly configure allowed URLs.
|
|
52
52
|
*/
|
|
53
53
|
network?: NetworkConfig;
|
|
54
|
-
/**
|
|
55
|
-
* Enable SQLite support (sqlite3 command).
|
|
56
|
-
* Disabled by default because it requires the better-sqlite3 native module.
|
|
57
|
-
* Not available in browser environments.
|
|
58
|
-
*/
|
|
59
|
-
sqlite?: boolean;
|
|
60
54
|
/**
|
|
61
55
|
* Optional list of command names to register.
|
|
62
56
|
* If not provided, all built-in commands are available.
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import{a as p}from"./chunk-45SNFRCY.js";import"./chunk-OBH7XN5N.js";import{a as d}from"./chunk-TA7RUHGQ.js";import{a as c,b as m}from"./chunk-GTNBSMZR.js";import"./chunk-KGOUQS5A.js";var f={name:"cat",summary:"concatenate files and print on the standard output",usage:"cat [OPTION]... [FILE]...",options:["-n, --number number all output lines"," --help display this help and exit"]},b={number:{short:"n",long:"number",type:"boolean"}},w={name:"cat",async execute(t,r){if(m(t))return c(f);let e=d("cat",t,b);if(!e.ok)return e.error;let s=e.result.flags.number,o=e.result.positional,a=await p(r,o,{cmdName:"cat",allowStdinMarker:!0,stopOnError:!1}),n="",i=1;for(let{content:l}of a.files)if(s){let u=h(l,i);n+=u.content,i=u.nextLineNumber}else n+=l;return{stdout:n,stderr:a.stderr,exitCode:a.exitCode}}};function h(t,r){let e=t.split(`
|
|
3
|
+
`),s=t.endsWith(`
|
|
4
|
+
`),o=s?e.slice(0,-1):e;return{content:o.map((n,i)=>`${String(r+i).padStart(6," ")} ${n}`).join(`
|
|
5
|
+
`)+(s?`
|
|
6
|
+
`:""),nextLineNumber:r+o.length}}export{w as catCommand};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
async function w(t,n,s){let{cmdName:r,allowStdinMarker:f=!0,stopOnError:a=!1,batchSize:u=100}=s;if(n.length===0)return{files:[{filename:"",content:t.stdin}],stderr:"",exitCode:0};let i=[],c="",l=0;for(let o=0;o<n.length;o+=u){let d=n.slice(o,o+u),m=await Promise.all(d.map(async e=>{if(f&&e==="-")return{filename:"-",content:t.stdin,error:null};try{let h=t.fs.resolvePath(t.cwd,e),p=await t.fs.readFile(h);return{filename:e,content:p,error:null}}catch{return{filename:e,content:"",error:`${r}: ${e}: No such file or directory
|
|
3
|
+
`}}}));for(let e of m)if(e.error){if(c+=e.error,l=1,a)return{files:i,stderr:c,exitCode:l}}else i.push({filename:e.filename,content:e.content})}return{files:i,stderr:c,exitCode:l}}async function E(t,n,s){let r=await w(t,n,{...s,stopOnError:!0});return r.exitCode!==0?{ok:!1,error:{stdout:"",stderr:r.stderr,exitCode:r.exitCode}}:{ok:!0,content:r.files.map(a=>a.content).join("")}}export{w as a,E as b};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{a as
|
|
2
|
+
import{a as y}from"./chunk-QSDVMMYI.js";import{e as x}from"./chunk-KGOUQS5A.js";var g=x(y(),1);function j(n){let r=g.default.parse(n.trim(),{header:!0,dynamicTyping:!0,skipEmptyLines:!0});return{headers:r.meta.fields||[],data:r.data}}function C(n,r){return r.length===0?`${n.join(",")}
|
|
3
3
|
`:`${g.default.unparse(r,{columns:n}).replace(/\r\n/g,`
|
|
4
4
|
`)}
|
|
5
5
|
`}async function w(n,r){let s=n.find(p=>!p.startsWith("-")),i;if(!s||s==="-")i=r.stdin;else try{let p=r.fs.resolvePath(r.cwd,s);i=await r.fs.readFile(p)}catch{return{headers:[],data:[],error:{stdout:"",stderr:`xan: ${s}: No such file or directory
|
|
6
|
-
`,exitCode:1}}}let{headers:a,data:d}=
|
|
6
|
+
`,exitCode:1}}}let{headers:a,data:d}=j(i);return{headers:a,data:d}}async function S(n,r){let s=0,i=[],a=[];for(let t=0;t<n.length;t++){let e=n[t];(e==="-l"||e==="--limit")&&t+1<n.length?s=Number.parseInt(n[++t],10):(e==="-s"||e==="--select")&&t+1<n.length?i=n[++t].split(","):e.startsWith("-")||a.push(e)}let{headers:d,data:p,error:h}=await w(a,r);if(h)return h;let l=i.length>0?i.filter(t=>d.includes(t)):d,c=s>0?p.slice(0,s):p,f=Math.max(...l.map(t=>t.length)),o=[],$="\u2500".repeat(80);for(let t=0;t<c.length;t++){let e=c[t];o.push(`Row n\xB0${t}`),o.push($);for(let u of l){let m=e[u],v=m==null?"":String(m);o.push(`${u.padEnd(f)} ${v}`)}t<c.length-1&&o.push("")}return{stdout:`${o.join(`
|
|
7
7
|
`)}
|
|
8
8
|
`,stderr:"",exitCode:0}}async function W(n,r){let s=0,i=[];for(let t=0;t<n.length;t++){let e=n[t];e==="-n"&&t+1<n.length?s=Number.parseInt(n[++t],10):e.startsWith("-")||i.push(e)}let{headers:a,data:d,error:p}=await w(i,r);if(p)return p;let h=s>0?d.slice(0,s):d,l=a.map(t=>t.length);for(let t of h)for(let e=0;e<a.length;e++){let u=String(t[a[e]]??"");l[e]=Math.max(l[e],u.length)}let c=[],f="\u2500",o="\u2502";c.push(`\u250C${l.map(t=>f.repeat(t+2)).join("\u252C")}\u2510`);let $=a.map((t,e)=>` ${t.padEnd(l[e])} `).join(o);c.push(`${o}${$}${o}`),c.push(`\u251C${l.map(t=>f.repeat(t+2)).join("\u253C")}\u2524`);for(let t of h){let e=a.map((u,m)=>` ${String(t[u]??"").padEnd(l[m])} `).join(o);c.push(`${o}${e}${o}`)}return c.push(`\u2514${l.map(t=>f.repeat(t+2)).join("\u2534")}\u2518`),{stdout:`${c.join(`
|
|
9
9
|
`)}
|
|
10
|
-
`,stderr:"",exitCode:0}}export{
|
|
10
|
+
`,stderr:"",exitCode:0}}export{j as a,C as b,w as c,S as d,W as e};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import{b as x}from"./chunk-45SNFRCY.js";import"./chunk-OBH7XN5N.js";import{a as y,b as I,c as m}from"./chunk-GTNBSMZR.js";import"./chunk-KGOUQS5A.js";var W={name:"cut",summary:"remove sections from each line of files",usage:"cut [OPTION]... [FILE]...",options:["-c LIST select only these characters","-d DELIM use DELIM instead of TAB for field delimiter","-f LIST select only these fields","-s, --only-delimited do not print lines without delimiters"," --help display this help and exit"]};function k(t){let c=[],l=t.split(",");for(let n of l)if(n.includes("-")){let[s,r]=n.split("-");c.push({start:s?parseInt(s,10):1,end:r?parseInt(r,10):null})}else{let s=parseInt(n,10);c.push({start:s,end:s})}return c}function C(t,c){let l=[];for(let n of c){let s=n.start-1,r=n.end===null?t.length:n.end;for(let i=s;i<r&&i<t.length;i++)i>=0&&!l.includes(t[i])&&l.push(t[i])}return l}var E={name:"cut",async execute(t,c){if(I(t))return y(W);let l=" ",n=null,s=null,r=!1,i=[];for(let o=0;o<t.length;o++){let e=t[o];if(e==="-d")l=t[++o]||" ";else if(e.startsWith("-d"))l=e.slice(2);else if(e==="-f")n=t[++o];else if(e.startsWith("-f"))n=e.slice(2);else if(e==="-c")s=t[++o];else if(e.startsWith("-c"))s=e.slice(2);else if(e==="-s"||e==="--only-delimited")r=!0;else{if(e.startsWith("--"))return m("cut",e);if(e.startsWith("-")){let f=!1;for(let u of e.slice(1))if(u==="s")r=!0;else if(!"dfc".includes(u)){f=!0;break}if(f)return m("cut",e)}else i.push(e)}}if(!n&&!s)return{stdout:"",stderr:`cut: you must specify a list of bytes, characters, or fields
|
|
3
|
+
`,exitCode:1};let p=await x(c,i,{cmdName:"cut"});if(!p.ok)return p.error;let a=p.content.split(`
|
|
4
|
+
`);a.length>0&&a[a.length-1]===""&&a.pop();let g=k(n||s||"1"),h="";for(let o of a)if(s){let e=o.split(""),f=[];for(let u of g){let w=u.start-1,L=u.end===null?e.length:u.end;for(let d=w;d<L&&d<e.length;d++)d>=0&&f.push(e[d])}h+=`${f.join("")}
|
|
5
|
+
`}else{if(r&&!o.includes(l))continue;let e=o.split(l),f=C(e,g);h+=`${f.join(l)}
|
|
6
|
+
`}return{stdout:h,stderr:"",exitCode:0}}};export{E as cutCommand};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import"./chunk-OBH7XN5N.js";import{a as F}from"./chunk-TA7RUHGQ.js";import{a as $,b as w}from"./chunk-GTNBSMZR.js";import"./chunk-KGOUQS5A.js";var R={name:"du",summary:"estimate file space usage",usage:"du [OPTION]... [FILE]...",options:["-a write counts for all files, not just directories","-h print sizes in human readable format","-s display only a total for each argument","-c produce a grand total","--max-depth=N print total for directory only if N or fewer levels deep"," --help display this help and exit"]},x={allFiles:{short:"a",type:"boolean"},humanReadable:{short:"h",type:"boolean"},summarize:{short:"s",type:"boolean"},grandTotal:{short:"c",type:"boolean"},maxDepth:{long:"max-depth",type:"number"}},H={name:"du",async execute(a,s){if(w(a))return $(R);let n=F("du",a,x);if(!n.ok)return n.error;let r={allFiles:n.result.flags.allFiles,humanReadable:n.result.flags.humanReadable,summarize:n.result.flags.summarize,grandTotal:n.result.flags.grandTotal,maxDepth:n.result.flags.maxDepth??null},c=n.result.positional;c.length===0&&c.push(".");let o="",m="",h=0;for(let l of c){let z=s.fs.resolvePath(s.cwd,l);try{await s.fs.stat(z);let p=await b(s,z,l,r,0);o+=p.output,h+=p.totalSize,m+=p.stderr}catch{m+=`du: cannot access '${l}': No such file or directory
|
|
3
|
+
`}}return r.grandTotal&&c.length>0&&(o+=`${D(h,r.humanReadable)} total
|
|
4
|
+
`),{stdout:o,stderr:m,exitCode:m?1:0}}};async function b(a,s,n,r,c){let o={output:"",totalSize:0,stderr:""};try{let m=await a.fs.stat(s);if(!m.isDirectory)return o.totalSize=m.size,(r.allFiles||c===0)&&(o.output=D(m.size,r.humanReadable)+" "+n+`
|
|
5
|
+
`),o;let h=0,l=[];if(a.fs.readdirWithFileTypes){let t=await a.fs.readdirWithFileTypes(s),i=t.filter(e=>e.isFile),f=t.filter(e=>e.isDirectory);for(let e=0;e<i.length;e+=100){let u=i.slice(e,e+100),g=await Promise.all(u.map(async d=>{let T=s==="/"?`/${d.name}`:`${s}/${d.name}`;try{let S=await a.fs.stat(T);return{name:d.name,isDirectory:!1,size:S.size}}catch{return{name:d.name,isDirectory:!1,size:0}}}));l.push(...g)}l.push(...f.map(e=>({name:e.name,isDirectory:!0})))}else{let t=await a.fs.readdir(s);for(let i=0;i<t.length;i+=100){let f=t.slice(i,i+100),e=await Promise.all(f.map(async u=>{let g=s==="/"?`/${u}`:`${s}/${u}`;try{let d=await a.fs.stat(g);return{name:u,isDirectory:d.isDirectory,size:d.isDirectory?void 0:d.size}}catch{return{name:u,isDirectory:!1,size:0}}}));l.push(...e)}}l.sort((t,i)=>t.name.localeCompare(i.name));let z=l.filter(t=>!t.isDirectory);for(let t of z){let i=t.size??0;if(h+=i,r.allFiles&&!r.summarize){let f=n==="."?t.name:`${n}/${t.name}`;o.output+=D(i,r.humanReadable)+" "+f+`
|
|
6
|
+
`}}let p=l.filter(t=>t.isDirectory);for(let t=0;t<p.length;t+=100){let i=p.slice(t,t+100),f=await Promise.all(i.map(async e=>{let u=s==="/"?`/${e.name}`:`${s}/${e.name}`,g=n==="."?e.name:`${n}/${e.name}`;return{name:e.name,result:await b(a,u,g,r,c+1)}}));f.sort((e,u)=>e.name.localeCompare(u.name));for(let{result:e}of f)h+=e.totalSize,r.summarize||(r.maxDepth===null||c+1<=r.maxDepth)&&(o.output+=e.output)}o.totalSize=h,(r.summarize||r.maxDepth===null||c<=r.maxDepth)&&(o.output+=`${D(h,r.humanReadable)} ${n}
|
|
7
|
+
`)}catch{o.stderr=`du: cannot read directory '${n}': Permission denied
|
|
8
|
+
`}return o}function D(a,s){return s?a<1024?`${a}`:a<1024*1024?`${(a/1024).toFixed(1)}K`:a<1024*1024*1024?`${(a/(1024*1024)).toFixed(1)}M`:`${(a/(1024*1024*1024)).toFixed(1)}G`:String(Math.ceil(a/1024)||1)}export{H as duCommand};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import{a as H}from"./chunk-26Q3PZQ6.js";import{a as J,b as U,c as q}from"./chunk-PM2DS2YW.js";import"./chunk-OBH7XN5N.js";import{a as _,b as V}from"./chunk-GTNBSMZR.js";import"./chunk-KGOUQS5A.js";function F(e,s){switch(e.type){case"name":return{matches:H(s.name,e.pattern,e.ignoreCase),pruned:!1,printed:!1};case"path":return{matches:H(s.relativePath,e.pattern,e.ignoreCase),pruned:!1,printed:!1};case"regex":try{let n=e.ignoreCase?"i":"";return{matches:new RegExp(e.pattern,n).test(s.relativePath),pruned:!1,printed:!1}}catch{return{matches:!1,pruned:!1,printed:!1}}case"type":return e.fileType==="f"?{matches:s.isFile,pruned:!1,printed:!1}:e.fileType==="d"?{matches:s.isDirectory,pruned:!1,printed:!1}:{matches:!1,pruned:!1,printed:!1};case"empty":return{matches:s.isEmpty,pruned:!1,printed:!1};case"mtime":{let r=(Date.now()-s.mtime)/(1e3*60*60*24),t;return e.comparison==="more"?t=r>e.days:e.comparison==="less"?t=r<e.days:t=Math.floor(r)===e.days,{matches:t,pruned:!1,printed:!1}}case"newer":{let n=s.newerRefTimes.get(e.refPath);return n===void 0?{matches:!1,pruned:!1,printed:!1}:{matches:s.mtime>n,pruned:!1,printed:!1}}case"size":{let n=e.value;switch(e.unit){case"c":n=e.value;break;case"k":n=e.value*1024;break;case"M":n=e.value*1024*1024;break;case"G":n=e.value*1024*1024*1024;break;case"b":n=e.value*512;break}let r;return e.comparison==="more"?r=s.size>n:e.comparison==="less"?r=s.size<n:e.unit==="b"?r=Math.ceil(s.size/512)===e.value:r=s.size===n,{matches:r,pruned:!1,printed:!1}}case"perm":{let n=s.mode&511,r=e.mode&511,t;return e.matchType==="exact"?t=n===r:e.matchType==="all"?t=(n&r)===r:t=(n&r)!==0,{matches:t,pruned:!1,printed:!1}}case"prune":return{matches:!0,pruned:!0,printed:!1};case"print":return{matches:!0,pruned:!1,printed:!0};case"not":{let n=F(e.expr,s);return{matches:!n.matches,pruned:n.pruned,printed:!1}}case"and":{let n=F(e.left,s);if(!n.matches)return{matches:!1,pruned:n.pruned,printed:!1};let r=F(e.right,s);return{matches:r.matches,pruned:n.pruned||r.pruned,printed:n.printed||r.printed}}case"or":{let n=F(e.left,s);if(n.matches)return n;let r=F(e.right,s);return{matches:r.matches,pruned:n.pruned||r.pruned,printed:r.printed}}}}function z(e){if(!e)return!1;switch(e.type){case"name":case"path":case"regex":case"type":case"prune":case"print":return!1;case"empty":case"mtime":case"newer":case"size":case"perm":return!0;case"not":return z(e.expr);case"and":case"or":return z(e.left)||z(e.right)}}function K(e){let s=[],n=r=>{r&&(r.type==="newer"?s.push(r.refPath):r.type==="not"?n(r.expr):(r.type==="and"||r.type==="or")&&(n(r.left),n(r.right)))};return n(e),s}function Q(e,s){let n=[],r=[],t=s;for(;t<e.length;){let a=e[t];if(a==="("||a==="\\("){n.push({type:"lparen"}),t++;continue}if(a===")"||a==="\\)"){n.push({type:"rparen"}),t++;continue}if(a==="-name"&&t+1<e.length)n.push({type:"expr",expr:{type:"name",pattern:e[++t]}});else if(a==="-iname"&&t+1<e.length)n.push({type:"expr",expr:{type:"name",pattern:e[++t],ignoreCase:!0}});else if(a==="-path"&&t+1<e.length)n.push({type:"expr",expr:{type:"path",pattern:e[++t]}});else if(a==="-ipath"&&t+1<e.length)n.push({type:"expr",expr:{type:"path",pattern:e[++t],ignoreCase:!0}});else if(a==="-regex"&&t+1<e.length)n.push({type:"expr",expr:{type:"regex",pattern:e[++t]}});else if(a==="-iregex"&&t+1<e.length)n.push({type:"expr",expr:{type:"regex",pattern:e[++t],ignoreCase:!0}});else if(a==="-type"&&t+1<e.length){let i=e[++t];if(i==="f"||i==="d")n.push({type:"expr",expr:{type:"type",fileType:i}});else return{expr:null,pathIndex:t,error:`find: Unknown argument to -type: ${i}
|
|
3
|
+
`,actions:[]}}else if(a==="-empty")n.push({type:"expr",expr:{type:"empty"}});else if(a==="-mtime"&&t+1<e.length){let i=e[++t],c="exact",p=i;i.startsWith("+")?(c="more",p=i.slice(1)):i.startsWith("-")&&(c="less",p=i.slice(1));let u=parseInt(p,10);Number.isNaN(u)||n.push({type:"expr",expr:{type:"mtime",days:u,comparison:c}})}else if(a==="-newer"&&t+1<e.length){let i=e[++t];n.push({type:"expr",expr:{type:"newer",refPath:i}})}else if(a==="-size"&&t+1<e.length){let i=e[++t],c="exact",p=i;i.startsWith("+")?(c="more",p=i.slice(1)):i.startsWith("-")&&(c="less",p=i.slice(1));let u=p.match(/^(\d+)([ckMGb])?$/);if(u){let W=parseInt(u[1],10),E=u[2]||"b";n.push({type:"expr",expr:{type:"size",value:W,unit:E,comparison:c}})}}else if(a==="-perm"&&t+1<e.length){let i=e[++t],c="exact",p=i;i.startsWith("-")?(c="all",p=i.slice(1)):i.startsWith("/")&&(c="any",p=i.slice(1));let u=parseInt(p,8);Number.isNaN(u)||n.push({type:"expr",expr:{type:"perm",mode:u,matchType:c}})}else if(a==="-prune")n.push({type:"expr",expr:{type:"prune"}});else if(a==="-not"||a==="!")n.push({type:"not"});else if(a==="-o"||a==="-or")n.push({type:"op",op:"or"});else if(a==="-a"||a==="-and")n.push({type:"op",op:"and"});else if(a==="-maxdepth"||a==="-mindepth")t++;else if(a!=="-depth")if(a==="-exec"){let i=[];for(t++;t<e.length&&e[t]!==";"&&e[t]!=="+";)i.push(e[t]),t++;if(t>=e.length)return{expr:null,pathIndex:t,error:"find: missing argument to `-exec'\n",actions:[]};let c=e[t]==="+";r.push({type:"exec",command:i,batchMode:c})}else if(a==="-print")n.push({type:"expr",expr:{type:"print"}}),r.push({type:"print"});else if(a==="-print0")r.push({type:"print0"});else if(a==="-printf"&&t+1<e.length){let i=e[++t];r.push({type:"printf",format:i})}else if(a==="-delete")r.push({type:"delete"});else{if(a.startsWith("-"))return{expr:null,pathIndex:t,error:`find: unknown predicate '${a}'
|
|
4
|
+
`,actions:[]};if(n.length===0){t++;continue}break}t++}if(n.length===0)return{expr:null,pathIndex:t,actions:r};let D=te(n);return D.error?{expr:null,pathIndex:t,error:D.error,actions:r}:{expr:D.expr,pathIndex:t,actions:r}}function te(e){let s=0;function n(){let i=r();if(!i)return null;for(;s<e.length;){let c=e[s];if(c.type==="op"&&c.op==="or"){s++;let p=r();if(!p)return i;i={type:"or",left:i,right:p}}else break}return i}function r(){let i=t();if(!i)return null;for(;s<e.length;){let c=e[s];if(c.type==="op"&&c.op==="and"){s++;let p=t();if(!p)return i;i={type:"and",left:i,right:p}}else if(c.type==="expr"||c.type==="not"||c.type==="lparen"){let p=t();if(!p)return i;i={type:"and",left:i,right:p}}else break}return i}function t(){if(s<e.length&&e[s].type==="not"){s++;let i=t();return i?{type:"not",expr:i}:null}return D()}function D(){if(s>=e.length)return null;let i=e[s];if(i.type==="lparen"){s++;let c=n();return s<e.length&&e[s].type==="rparen"&&s++,c}return i.type==="expr"?(s++,i.expr):(i.type==="rparen",null)}return{expr:n()}}var ne={name:"find",summary:"search for files in a directory hierarchy",usage:"find [path...] [expression]",options:["-name PATTERN file name matches shell pattern PATTERN","-iname PATTERN like -name but case insensitive","-path PATTERN file path matches shell pattern PATTERN","-ipath PATTERN like -path but case insensitive","-regex PATTERN file path matches regular expression PATTERN","-iregex PATTERN like -regex but case insensitive","-type TYPE file is of type: f (regular file), d (directory)","-empty file is empty or directory is empty","-mtime N file's data was modified N*24 hours ago","-newer FILE file was modified more recently than FILE","-size N[ckMGb] file uses N units of space (c=bytes, k=KB, M=MB, G=GB, b=512B blocks)","-perm MODE file's permission bits are exactly MODE (octal)","-perm -MODE all permission bits MODE are set","-perm /MODE any permission bits MODE are set","-maxdepth LEVELS descend at most LEVELS directories","-mindepth LEVELS do not apply tests at levels less than LEVELS","-depth process directory contents before directory itself","-prune do not descend into this directory","-not, ! negate the following expression","-a, -and logical AND (default)","-o, -or logical OR","-exec CMD {} ; execute CMD on each file ({} is replaced by filename)","-exec CMD {} + execute CMD with multiple files at once","-print print the full file name (default action)","-print0 print the full file name followed by a null character","-printf FORMAT print FORMAT with directives: %f %h %p %P %s %d %m %M %t","-delete delete found files/directories"," --help display this help and exit"]},se=new Set(["-name","-iname","-path","-ipath","-regex","-iregex","-type","-maxdepth","-mindepth","-mtime","-newer","-size","-perm"]),ge={name:"find",async execute(e,s){if(V(e))return _(ne);let n=[],r=null,t=null,D=!1,a=!1;for(let o=0;o<e.length;o++){let l=e[o];if(l==="-maxdepth"&&o+1<e.length)a=!0,r=parseInt(e[++o],10);else if(l==="-mindepth"&&o+1<e.length)a=!0,t=parseInt(e[++o],10);else if(l==="-depth")a=!0,D=!0;else if(l==="-exec")for(a=!0,o++;o<e.length&&e[o]!==";"&&e[o]!=="+";)o++;else!l.startsWith("-")&&l!==";"&&l!=="+"&&l!=="("&&l!==")"&&l!=="\\("&&l!=="\\)"&&l!=="!"?a||n.push(l):se.has(l)?(a=!0,o++):(l.startsWith("-")||l==="("||l==="\\("||l==="!")&&(a=!0)}n.length===0&&n.push(".");let{expr:i,error:c,actions:p}=Q(e,0);if(c)return{stdout:"",stderr:c,exitCode:1};let u=p.some(o=>o.type==="print"),W=p.length===0,E=[],j=p.some(o=>o.type==="printf"),Y=[],A="",C=0,Z=K(i),L=new Map;for(let o of Z){let l=s.fs.resolvePath(s.cwd,o);try{let I=await s.fs.stat(l);L.set(o,I.mtime?.getTime()??Date.now())}catch{}}let X=z(i)||j,ee=typeof s.fs.readdirWithFileTypes=="function";for(let o of n){let b=function(h){let d=t===null||h.depth>=t,T=!1;if(d&&i!==null){let m={name:h.name,relativePath:h.relativePath,isFile:h.isFile,isDirectory:h.isDirectory,isEmpty:h.isEmpty,mtime:h.stat?.mtime?.getTime()??Date.now(),size:h.stat?.size??0,mode:h.stat?.mode??420,newerRefTimes:L},f=F(i,m);d=f.matches,T=u?f.printed:d}else d&&(T=!0);return T?{print:!0,printfData:j?{path:h.relativePath,name:h.name,size:h.stat?.size??0,mtime:h.stat?.mtime?.getTime()??Date.now(),mode:h.stat?.mode??420,isDirectory:h.isDirectory,depth:h.depth,startingPoint:o}:null}:{print:!1,printfData:null}};var le=b;o.length>1&&o.endsWith("/")&&(o=o.slice(0,-1));let l=s.fs.resolvePath(s.cwd,o);try{await s.fs.stat(l)}catch{A+=`find: ${o}: No such file or directory
|
|
5
|
+
`,C=1;continue}async function I(h){let{path:P,depth:d,typeInfo:T}=h;if(r!==null&&d>r)return null;let v,m,f;if(T&&!X)v=T.isFile,m=T.isDirectory;else{try{f=await s.fs.stat(P)}catch{return null}if(!f)return null;v=f.isFile,m=f.isDirectory}let y;P===l?y=o.split("/").pop()||o:y=P.split("/").pop()||"";let g=P===l?o:o==="."?`./${P.slice(l==="/"?l.length:l.length+1)}`:o+P.slice(l.length),S=[],M=null,$=null;m&&(ee&&s.fs.readdirWithFileTypes?(M=await s.fs.readdirWithFileTypes(P),S=M.map((R,O)=>({path:P==="/"?`/${R.name}`:`${P}/${R.name}`,depth:d+1,typeInfo:{isFile:R.isFile,isDirectory:R.isDirectory},resultIndex:O})),$=M.map(R=>R.name)):($=await s.fs.readdir(P),S=$.map((R,O)=>({path:P==="/"?`/${R}`:`${P}/${R}`,depth:d+1,resultIndex:O}))));let w=v?(f?.size??0)===0:$!==null&&$.length===0,B=!1;if(!D&&i!==null){let R={name:y,relativePath:g,isFile:v,isDirectory:m,isEmpty:w,mtime:f?.mtime?.getTime()??Date.now(),size:f?.size??0,mode:f?.mode??420,newerRefTimes:L};B=F(i,R).pruned}return{relativePath:g,name:y,isFile:v,isDirectory:m,isEmpty:w,stat:f,depth:d,children:B?[]:S,pruned:B}}async function x(){let h={paths:[],printfData:[]};if(D){let m=function(f){let y={paths:[],printfData:[]},g=d[f];if(!g)return y;for(let $ of g.childIndices){let w=m($);y.paths.push(...w.paths),y.printfData.push(...w.printfData)}let{print:S,printfData:M}=b(g.node);return S&&(y.paths.push(g.node.relativePath),M&&y.printfData.push(M)),y};var P=m;let d=[],T=[{item:{path:l,depth:0,resultIndex:0},parentIndex:-1,childOrderInParent:0}],v=new Map;for(;T.length>0;){let f=T.splice(0,100),y=await Promise.all(f.map(g=>I(g.item)));for(let g=0;g<f.length;g++){let S=y[g],M=f[g];if(!S)continue;let $=d.length;if(M.parentIndex>=0){let w=v.get(M.parentIndex)||[];w.push($),v.set(M.parentIndex,w)}d.push({node:S,parentIndex:M.parentIndex,childIndices:[]});for(let w=0;w<S.children.length;w++)T.push({item:S.children[w],parentIndex:$,childOrderInParent:w})}}for(let[f,y]of v)f>=0&&f<d.length&&(d[f].childIndices=y);if(d.length>0){let f=m(0);h.paths.push(...f.paths),h.printfData.push(...f.printfData)}}else{async function d(v){let m={paths:[],printfData:[]},f=await I(v);if(!f)return m;let{print:y,printfData:g}=b(f);y&&(m.paths.push(f.relativePath),g&&m.printfData.push(g));for(let S=0;S<f.children.length;S+=100){let M=f.children.slice(S,S+100),$=await Promise.all(M.map(d));for(let w of $)m.paths.push(...w.paths),m.printfData.push(...w.printfData)}return m}let T=await d({path:l,depth:0,resultIndex:0});h.paths.push(...T.paths),h.printfData.push(...T.printfData)}return h}let k=await x();E.push(...k.paths),Y.push(...k.printfData)}let N="";if(p.length>0)for(let o of p)switch(o.type){case"print":N+=E.length>0?`${E.join(`
|
|
6
|
+
`)}
|
|
7
|
+
`:"";break;case"print0":N+=E.length>0?`${E.join("\0")}\0`:"";break;case"delete":{let l=[...E].sort((I,b)=>b.length-I.length);for(let I of l){let b=s.fs.resolvePath(s.cwd,I);try{await s.fs.rm(b,{recursive:!1})}catch(x){let k=x instanceof Error?x.message:String(x);A+=`find: cannot delete '${I}': ${k}
|
|
8
|
+
`,C=1}}break}case"printf":for(let l of Y)N+=re(o.format,l);break;case"exec":if(!s.exec)return{stdout:"",stderr:`find: -exec not supported in this context
|
|
9
|
+
`,exitCode:1};if(o.batchMode){let l=[];for(let x of o.command)x==="{}"?l.push(...E):l.push(x);let I=l.map(x=>`"${x}"`).join(" "),b=await s.exec(I,{cwd:s.cwd});N+=b.stdout,A+=b.stderr,b.exitCode!==0&&(C=b.exitCode)}else for(let l of E){let b=o.command.map(k=>k==="{}"?l:k).map(k=>`"${k}"`).join(" "),x=await s.exec(b,{cwd:s.cwd});N+=x.stdout,A+=x.stderr,x.exitCode!==0&&(C=x.exitCode)}break}else W&&(N=E.length>0?`${E.join(`
|
|
10
|
+
`)}
|
|
11
|
+
`:"");return{stdout:N,stderr:A,exitCode:C}}};function re(e,s){let n=q(e),r="",t=0;for(;t<n.length;)if(n[t]==="%"&&t+1<n.length){if(t++,n[t]==="%"){r+="%",t++;continue}let[D,a,i]=U(n,t);if(t+=i,t>=n.length){r+="%";break}let c=n[t],p;switch(c){case"f":p=s.name,t++;break;case"h":{let u=s.path.lastIndexOf("/");p=u>0?s.path.slice(0,u):".",t++;break}case"p":p=s.path,t++;break;case"P":{let u=s.startingPoint;s.path===u?p="":s.path.startsWith(`${u}/`)?p=s.path.slice(u.length+1):u==="."&&s.path.startsWith("./")?p=s.path.slice(2):p=s.path,t++;break}case"s":p=String(s.size),t++;break;case"d":p=String(s.depth),t++;break;case"m":p=(s.mode&511).toString(8),t++;break;case"M":p=ie(s.mode,s.isDirectory),t++;break;case"t":{let u=new Date(s.mtime);p=ae(u),t++;break}case"T":{if(t+1<n.length){let u=n[t+1],W=new Date(s.mtime);p=pe(W,u),t+=2}else p="%T",t++;break}default:r+=`%${D!==0||a!==-1?`${D}.${a}`:""}${c}`,t++;continue}r+=J(p,D,a)}else r+=n[t],t++;return r}function ie(e,s){let n=e&511,r=s?"d":"-";return r+=n&256?"r":"-",r+=n&128?"w":"-",r+=n&64?"x":"-",r+=n&32?"r":"-",r+=n&16?"w":"-",r+=n&8?"x":"-",r+=n&4?"r":"-",r+=n&2?"w":"-",r+=n&1?"x":"-",r}function ae(e){let s=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],n=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],r=s[e.getDay()],t=n[e.getMonth()],D=String(e.getDate()).padStart(2," "),a=String(e.getHours()).padStart(2,"0"),i=String(e.getMinutes()).padStart(2,"0"),c=String(e.getSeconds()).padStart(2,"0"),p=e.getFullYear();return`${r} ${t} ${D} ${a}:${i}:${c} ${p}`}function pe(e,s){switch(s){case"@":return String(e.getTime()/1e3);case"Y":return String(e.getFullYear());case"m":return String(e.getMonth()+1).padStart(2,"0");case"d":return String(e.getDate()).padStart(2,"0");case"H":return String(e.getHours()).padStart(2,"0");case"M":return String(e.getMinutes()).padStart(2,"0");case"S":return String(e.getSeconds()).padStart(2,"0");case"T":return`${String(e.getHours()).padStart(2,"0")}:${String(e.getMinutes()).padStart(2,"0")}:${String(e.getSeconds()).padStart(2,"0")}`;case"F":return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`;default:return`%T${s}`}}export{ge as findCommand};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import{a as N}from"./chunk-26Q3PZQ6.js";import{a as j,b as Z,c as q}from"./chunk-GTNBSMZR.js";import"./chunk-KGOUQS5A.js";var Y={name:"grep",summary:"print lines that match patterns",usage:"grep [OPTION]... PATTERN [FILE]...",options:["-E, --extended-regexp PATTERN is an extended regular expression","-P, --perl-regexp PATTERN is a Perl regular expression","-F, --fixed-strings PATTERN is a set of newline-separated strings","-i, --ignore-case ignore case distinctions","-v, --invert-match select non-matching lines","-w, --word-regexp match only whole words","-x, --line-regexp match only whole lines","-c, --count print only a count of matching lines","-l, --files-with-matches print only names of files with matches","-L, --files-without-match print names of files with no matches","-m NUM, --max-count=NUM stop after NUM matches","-n, --line-number print line number with output lines","-h, --no-filename suppress the file name prefix on output","-o, --only-matching show only nonempty parts of lines that match","-q, --quiet, --silent suppress all normal output","-r, -R, --recursive search directories recursively","-A NUM print NUM lines of trailing context","-B NUM print NUM lines of leading context","-C NUM print NUM lines of context","-e PATTERN use PATTERN for matching"," --include=GLOB search only files matching GLOB"," --exclude=GLOB skip files matching GLOB"," --exclude-dir=DIR skip directories matching DIR"," --help display this help and exit"]},z={name:"grep",async execute(s,e){if(Z(s))return j(Y);let l=!1,i=!1,f=!1,o=!1,w=!1,h=!1,r=!1,$=!1,y=!1,d=!1,m=!1,P=!1,I=!1,R=!1,M=!1,c=0,T=0,a=0,n=[],C=[],S=[],x=null,O=[];for(let p=0;p<s.length;p++){let u=s[p];if(u.startsWith("-")&&u!=="-"){if(u==="-e"&&p+1<s.length){x=s[++p];continue}if(u.startsWith("--include=")){n.push(u.slice(10));continue}if(u.startsWith("--exclude=")){C.push(u.slice(10));continue}if(u.startsWith("--exclude-dir=")){S.push(u.slice(14));continue}if(u.startsWith("--max-count=")){c=parseInt(u.slice(12),10);continue}let A=u.match(/^-m(\d+)$/);if(A){c=parseInt(A[1],10);continue}if(u==="-m"&&p+1<s.length){c=parseInt(s[++p],10);continue}let g=u.match(/^-([ABC])(\d+)$/);if(g){let t=parseInt(g[2],10);g[1]==="A"?a=t:g[1]==="B"?T=t:g[1]==="C"&&(T=t,a=t);continue}if((u==="-A"||u==="-B"||u==="-C")&&p+1<s.length){let t=parseInt(s[++p],10);u==="-A"?a=t:u==="-B"?T=t:(T=t,a=t);continue}let F=u.startsWith("--")?[u]:u.slice(1).split("");for(let t of F)if(t==="i"||t==="--ignore-case")l=!0;else if(t==="n"||t==="--line-number")i=!0;else if(t==="v"||t==="--invert-match")f=!0;else if(t==="c"||t==="--count")o=!0;else if(t==="l"||t==="--files-with-matches")w=!0;else if(t==="L"||t==="--files-without-match")h=!0;else if(t==="r"||t==="R"||t==="--recursive")r=!0;else if(t==="w"||t==="--word-regexp")$=!0;else if(t==="x"||t==="--line-regexp")y=!0;else if(t==="E"||t==="--extended-regexp")d=!0;else if(t==="P"||t==="--perl-regexp")m=!0;else if(t==="F"||t==="--fixed-strings")P=!0;else if(t==="o"||t==="--only-matching")I=!0;else if(t==="h"||t==="--no-filename")R=!0;else if(t==="q"||t==="--quiet"||t==="--silent")M=!0;else{if(t.startsWith("--"))return q("grep",t);if(t.length===1)return q("grep",`-${t}`)}}else x===null?x=u:O.push(u)}if(x===null)return{stdout:"",stderr:`grep: missing pattern
|
|
3
|
+
`,exitCode:2};let W;P?W=x.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"):d||m?W=x:W=ee(x),$&&(W=`\\b${W}\\b`),y&&(W=`^${W}$`);let U;try{U=new RegExp(W,l?"gi":"g")}catch{return{stdout:"",stderr:`grep: invalid regular expression: ${x}
|
|
4
|
+
`,exitCode:2}}if(O.length===0&&e.stdin){let p=_(e.stdin,U,f,i,o,"",I,T,a,c);return M?{stdout:"",stderr:"",exitCode:p.matched?0:1}:{stdout:p.output,stderr:"",exitCode:p.matched?0:1}}if(O.length===0)return{stdout:"",stderr:`grep: no input files
|
|
5
|
+
`,exitCode:2};let E="",G="",D=!1,H=!1,v=[];for(let p of O)if(p.includes("*")||p.includes("?")||p.includes("[")){let u=await te(p,e);if(r)for(let A of u){let g=await Q(A.path,e,n,C,S,A.isFile);v.push(...g)}else v.push(...u)}else if(r){let u=await Q(p,e,n,C,S);v.push(...u)}else v.push({path:p});let K=(v.length>1||r)&&!R,k=50;for(let p=0;p<v.length;p+=k){let u=v.slice(p,p+k),A=await Promise.all(u.map(async g=>{let F=g.path,t=F.split("/").pop()||F;if(C.length>0&&!r&&C.some(B=>N(t,B,{stripQuotes:!0}))||n.length>0&&!r&&!n.some(B=>N(t,B,{stripQuotes:!0})))return null;try{let B=e.fs.resolvePath(e.cwd,F),b=!1;if(g.isFile===void 0?b=(await e.fs.stat(B)).isDirectory:b=!g.isFile,b)return r?null:{error:`grep: ${F}: Is a directory
|
|
6
|
+
`};let V=await e.fs.readFile(B),X=_(V,U,f,i,o,K?F:"",I,T,a,c);return{file:F,result:X}}catch{return{error:`grep: ${F}: No such file or directory
|
|
7
|
+
`}}}));for(let g of A){if(g===null)continue;if("error"in g&&g.error){G+=g.error,g.error.includes("Is a directory")||(H=!0);continue}if(!("file"in g)||!g.result)continue;let{file:F,result:t}=g;if(t.matched){if(D=!0,M)return{stdout:"",stderr:"",exitCode:0};w?E+=`${F}
|
|
8
|
+
`:h||(E+=t.output)}else h?E+=`${F}
|
|
9
|
+
`:o&&!w&&(E+=t.output)}}let L;return H?L=2:h?L=E.length>0?0:1:L=D?0:1,M?{stdout:"",stderr:"",exitCode:L}:{stdout:E,stderr:G,exitCode:L}}};function ee(s){let e="",l=0;for(;l<s.length;){let i=s[l];if(i==="\\"&&l+1<s.length){let f=s[l+1];if(f==="|"||f==="("||f===")"){e+=f,l+=2;continue}else if(f==="{"||f==="}"){e+=`\\${f}`,l+=2;continue}}i==="+"||i==="?"||i==="|"||i==="("||i===")"||i==="{"||i==="}"?e+=`\\${i}`:e+=i,l++}return e}function _(s,e,l,i,f,o,w=!1,h=0,r=0,$=0){let y=s.split(`
|
|
10
|
+
`),d=y.length,m=d>0&&y[d-1]===""?d-1:d;if(f){let c=0;for(let a=0;a<m;a++)e.lastIndex=0,e.test(y[a])!==l&&c++;return{output:`${o?`${o}:${c}`:String(c)}
|
|
11
|
+
`,matched:c>0}}if(h===0&&r===0){let c=[],T=!1,a=0;for(let n=0;n<m&&!($>0&&a>=$);n++){let C=y[n];if(e.lastIndex=0,e.test(C)!==l)if(T=!0,a++,w){e.lastIndex=0;for(let x=e.exec(C);x!==null;x=e.exec(C))c.push(o?`${o}:${x[0]}`:x[0]),x[0].length===0&&e.lastIndex++}else i?c.push(o?`${o}:${n+1}:${C}`:`${n+1}:${C}`):c.push(o?`${o}:${C}`:C)}return{output:c.length>0?`${c.join(`
|
|
12
|
+
`)}
|
|
13
|
+
`:"",matched:T}}let P=[],I=0,R=new Set,M=[];for(let c=0;c<m&&!($>0&&I>=$);c++)e.lastIndex=0,e.test(y[c])!==l&&(M.push(c),I++);for(let c of M){for(let a=Math.max(0,c-h);a<c;a++)if(!R.has(a)){R.add(a);let n=y[a];i&&(n=`${a+1}-${n}`),o&&(n=`${o}-${n}`),P.push(n)}if(!R.has(c)){R.add(c);let a=y[c];if(w){e.lastIndex=0;for(let n=e.exec(a);n!==null;n=e.exec(a))P.push(o?`${o}:${n[0]}`:n[0]),n[0].length===0&&e.lastIndex++}else{let n=a;i&&(n=`${c+1}:${n}`),o&&(n=`${o}:${n}`),P.push(n)}}let T=Math.min(m-1,c+r);for(let a=c+1;a<=T;a++)if(!R.has(a)){R.add(a);let n=y[a];i&&(n=`${a+1}-${n}`),o&&(n=`${o}-${n}`),P.push(n)}}return{output:P.length>0?`${P.join(`
|
|
14
|
+
`)}
|
|
15
|
+
`:"",matched:I>0}}async function J(s,e,l,i){let f=l.fs.resolvePath(l.cwd,s);try{if(!(await l.fs.stat(f)).isDirectory){let h=s.split("/").pop()||"";if(e){let r=e.replace(/^\//,"");N(h,r,{stripQuotes:!0})&&i.push(s)}return}let w=await l.fs.readdir(f);for(let h of w){let r=s==="."?h:`${s}/${h}`,$=l.fs.resolvePath(l.cwd,r);if((await l.fs.stat($)).isDirectory)await J(r,e,l,i);else if(e){let d=e.replace(/^\//,"");N(h,d,{stripQuotes:!0})&&i.push(r)}}}catch{}}async function te(s,e){let l=[],i=s.lastIndexOf("/"),f,o;if(i===-1?(f=e.cwd,o=s):(f=s.slice(0,i)||"/",o=s.slice(i+1)),s.includes("**")){let h=[],r=s.split("**"),$=r[0].replace(/\/$/,"")||".",y=r[1]||"";return await J($,y,e,h),h.map(d=>({path:d}))}let w=e.fs.resolvePath(e.cwd,f);try{if(e.fs.readdirWithFileTypes){let h=await e.fs.readdirWithFileTypes(w);for(let r of h)if(N(r.name,o,{stripQuotes:!0})){let $=i===-1?r.name:`${f}/${r.name}`;l.push({path:$,isFile:r.isFile})}}else{let h=await e.fs.readdir(w);for(let r of h)if(N(r,o,{stripQuotes:!0})){let $=i===-1?r:`${f}/${r}`;l.push({path:$})}}}catch{}return l.sort((h,r)=>h.path.localeCompare(r.path))}async function Q(s,e,l=[],i=[],f=[],o){let w=e.fs.resolvePath(e.cwd,s),h=[];try{let r,$;if(o!==void 0)r=o,$=!o;else{let d=await e.fs.stat(w);r=d.isFile,$=d.isDirectory}if(r){let d=s.split("/").pop()||s;return i.length>0&&i.some(m=>N(d,m,{stripQuotes:!0}))?[]:l.length>0&&!l.some(m=>N(d,m,{stripQuotes:!0}))?[]:[{path:s,isFile:!0}]}if(!$)return[];let y=s.split("/").pop()||s;if(f.length>0&&f.some(d=>N(y,d,{stripQuotes:!0})))return[];if(e.fs.readdirWithFileTypes){let d=await e.fs.readdirWithFileTypes(w);for(let m of d){if(m.name.startsWith("."))continue;let P=s==="."?m.name:`${s}/${m.name}`,I=await Q(P,e,l,i,f,m.isFile);h.push(...I)}}else{let d=await e.fs.readdir(w);for(let m of d){if(m.startsWith("."))continue;let P=s==="."?m:`${s}/${m}`,I=await Q(P,e,l,i,f);h.push(...I)}}}catch{}return h}var re={name:"fgrep",async execute(s,e){return z.execute(["-F",...s],e)}},le={name:"egrep",async execute(s,e){return z.execute(["-E",...s],e)}};export{le as egrepCommand,re as fgrepCommand,z as grepCommand};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import{a as y,b as J}from"./chunk-ACRTDIBO.js";import{i as x}from"./chunk-NWWB2XRE.js";import{a as I}from"./chunk-45SNFRCY.js";import"./chunk-OBH7XN5N.js";import{a as N,b as w,c as q}from"./chunk-GTNBSMZR.js";import"./chunk-KGOUQS5A.js";var F={name:"jq",summary:"command-line JSON processor",usage:"jq [OPTIONS] FILTER [FILE]",options:["-r, --raw-output output strings without quotes","-c, --compact compact output (no pretty printing)","-e, --exit-status set exit status based on output","-s, --slurp read entire input into array","-n, --null-input don't read any input","-j, --join-output don't print newlines after each output","-a, --ascii force ASCII output","-S, --sort-keys sort object keys","-C, --color colorize output (ignored)","-M, --monochrome monochrome output (ignored)"," --tab use tabs for indentation"," --help display this help and exit"]};function g(t,p,h,l,f,u=0){if(t===null||t===void 0)return"null";if(typeof t=="boolean")return String(t);if(typeof t=="number")return Number.isFinite(t)?String(t):"null";if(typeof t=="string")return h?t:JSON.stringify(t);let a=f?" ":" ";if(Array.isArray(t))return t.length===0?"[]":p?`[${t.map(c=>g(c,!0,!1,l,f)).join(",")}]`:`[
|
|
3
|
+
${t.map(c=>a.repeat(u+1)+g(c,!1,!1,l,f,u+1)).join(`,
|
|
4
|
+
`)}
|
|
5
|
+
${a.repeat(u)}]`;if(typeof t=="object"){let i=Object.keys(t);return l&&(i=i.sort()),i.length===0?"{}":p?`{${i.map(m=>`${JSON.stringify(m)}:${g(t[m],!0,!1,l,f)}`).join(",")}}`:`{
|
|
6
|
+
${i.map(m=>{let S=g(t[m],!1,!1,l,f,u+1);return`${a.repeat(u+1)}${JSON.stringify(m)}: ${S}`}).join(`,
|
|
7
|
+
`)}
|
|
8
|
+
${a.repeat(u)}}`}return String(t)}var M={name:"jq",async execute(t,p){if(w(t))return N(F);let h=!1,l=!1,f=!1,u=!1,a=!1,i=!1,c=!1,m=!1,S=".",C=!1,d=[];for(let r=0;r<t.length;r++){let e=t[r];if(e==="-r"||e==="--raw-output")h=!0;else if(e==="-c"||e==="--compact-output")l=!0;else if(e==="-e"||e==="--exit-status")f=!0;else if(e==="-s"||e==="--slurp")u=!0;else if(e==="-n"||e==="--null-input")a=!0;else if(e==="-j"||e==="--join-output")i=!0;else if(!(e==="-a"||e==="--ascii")){if(e==="-S"||e==="--sort-keys")c=!0;else if(!(e==="-C"||e==="--color")){if(!(e==="-M"||e==="--monochrome"))if(e==="--tab")m=!0;else if(e==="-")d.push("-");else{if(e.startsWith("--"))return q("jq",e);if(e.startsWith("-")){for(let s of e.slice(1))if(s==="r")h=!0;else if(s==="c")l=!0;else if(s==="e")f=!0;else if(s==="s")u=!0;else if(s==="n")a=!0;else if(s==="j")i=!0;else if(s!=="a"){if(s==="S")c=!0;else if(s!=="C"){if(s!=="M")return q("jq",`-${s}`)}}}else C?d.push(e):(S=e,C=!0)}}}}let $=[];if(!a)if(d.length===0||d.length===1&&d[0]==="-")$.push({source:"stdin",content:p.stdin});else{let r=await I(p,d,{cmdName:"jq",stopOnError:!0});if(r.exitCode!==0)return{stdout:"",stderr:r.stderr,exitCode:2};$=r.files.map(e=>({source:e.filename||"stdin",content:e.content}))}try{let r=J(S),e=[],s={limits:p.limits?{maxIterations:p.limits.maxJqIterations}:void 0,env:p.env};if(a)e=y(null,r,s);else if(u){let o=[];for(let{content:j}of $)for(let n of j.trim().split(`
|
|
9
|
+
`))n.trim()&&o.push(JSON.parse(n));e=y(o,r,s)}else{let o=j=>{for(let n of j.split(`
|
|
10
|
+
`))n.trim()&&e.push(...y(JSON.parse(n),r,s))};for(let{content:j}of $){let n=j.trim();if(n)if(n.startsWith("{")||n.startsWith("["))try{e.push(...y(JSON.parse(n),r,s))}catch{o(n)}else o(n)}}let b=e.map(o=>g(o,l,h,c,m)),E=i?"":`
|
|
11
|
+
`,O=b.join(E),k=f&&(e.length===0||e.every(o=>o==null||o===!1))?1:0;return{stdout:O?i?O:`${O}
|
|
12
|
+
`:"",stderr:"",exitCode:k}}catch(r){if(r instanceof x)return{stdout:"",stderr:`jq: ${r.message}
|
|
13
|
+
`,exitCode:x.EXIT_CODE};let e=r.message;return e.includes("Unknown function")?{stdout:"",stderr:`jq: error: ${e}
|
|
14
|
+
`,exitCode:3}:{stdout:"",stderr:`jq: parse error: ${e}
|
|
15
|
+
`,exitCode:5}}}};export{M as jqCommand};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import"./chunk-OBH7XN5N.js";import{a as U}from"./chunk-TA7RUHGQ.js";import{a as I,b as J}from"./chunk-GTNBSMZR.js";import"./chunk-KGOUQS5A.js";var G=(n,t,e)=>{let s=n instanceof RegExp?Z(n,e):n,r=t instanceof RegExp?Z(t,e):t,i=s!==null&&r!=null&&wt(s,r,e);return i&&{start:i[0],end:i[1],pre:e.slice(0,i[0]),body:e.slice(i[0]+s.length,i[1]),post:e.slice(i[1]+r.length)}},Z=(n,t)=>{let e=t.match(n);return e?e[0]:null},wt=(n,t,e)=>{let s,r,i,o,l,h=e.indexOf(n),f=e.indexOf(t,h+1),u=h;if(h>=0&&f>0){if(n===t)return[h,f];for(s=[],i=e.length;u>=0&&!l;){if(u===h)s.push(u),h=e.indexOf(n,u+1);else if(s.length===1){let g=s.pop();g!==void 0&&(l=[g,f])}else r=s.pop(),r!==void 0&&r<i&&(i=r,o=f),f=e.indexOf(t,u+1);u=h<f&&h>=0?h:f}s.length&&o!==void 0&&(l=[i,o])}return l};var K="\0SLASH"+Math.random()+"\0",V="\0OPEN"+Math.random()+"\0",F="\0CLOSE"+Math.random()+"\0",X="\0COMMA"+Math.random()+"\0",Y="\0PERIOD"+Math.random()+"\0",St=new RegExp(K,"g"),xt=new RegExp(V,"g"),$t=new RegExp(F,"g"),bt=new RegExp(X,"g"),Et=new RegExp(Y,"g"),At=/\\\\/g,Tt=/\\{/g,Mt=/\\}/g,vt=/\\,/g,Pt=/\\./g;function B(n){return isNaN(n)?n.charCodeAt(0):parseInt(n,10)}function Nt(n){return n.replace(At,K).replace(Tt,V).replace(Mt,F).replace(vt,X).replace(Pt,Y)}function Ot(n){return n.replace(St,"\\").replace(xt,"{").replace($t,"}").replace(bt,",").replace(Et,".")}function Q(n){if(!n)return[""];let t=[],e=G("{","}",n);if(!e)return n.split(",");let{pre:s,body:r,post:i}=e,o=s.split(",");o[o.length-1]+="{"+r+"}";let l=Q(i);return i.length&&(o[o.length-1]+=l.shift(),o.push.apply(o,l)),t.push.apply(t,o),t}function tt(n){return n?(n.slice(0,2)==="{}"&&(n="\\{\\}"+n.slice(2)),z(Nt(n),!0).map(Ot)):[]}function Ct(n){return"{"+n+"}"}function Dt(n){return/^-?0\d/.test(n)}function zt(n,t){return n<=t}function Rt(n,t){return n>=t}function z(n,t){let e=[],s=G("{","}",n);if(!s)return[n];let r=s.pre,i=s.post.length?z(s.post,!1):[""];if(/\$$/.test(s.pre))for(let o=0;o<i.length;o++){let l=r+"{"+s.body+"}"+i[o];e.push(l)}else{let o=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(s.body),l=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(s.body),h=o||l,f=s.body.indexOf(",")>=0;if(!h&&!f)return s.post.match(/,(?!,).*\}/)?(n=s.pre+"{"+s.body+F+s.post,z(n)):[n];let u;if(h)u=s.body.split(/\.\./);else if(u=Q(s.body),u.length===1&&u[0]!==void 0&&(u=z(u[0],!1).map(Ct),u.length===1))return i.map(a=>s.pre+u[0]+a);let g;if(h&&u[0]!==void 0&&u[1]!==void 0){let a=B(u[0]),c=B(u[1]),p=Math.max(u[0].length,u[1].length),d=u.length===3&&u[2]!==void 0?Math.abs(B(u[2])):1,S=zt;c<a&&(d*=-1,S=Rt);let x=u.some(Dt);g=[];for(let y=a;S(y,c);y+=d){let m;if(l)m=String.fromCharCode(y),m==="\\"&&(m="");else if(m=String(y),x){let b=p-m.length;if(b>0){let $=new Array(b+1).join("0");y<0?m="-"+$+m.slice(1):m=$+m}}g.push(m)}}else{g=[];for(let a=0;a<u.length;a++)g.push.apply(g,z(u[a],!1))}for(let a=0;a<g.length;a++)for(let c=0;c<i.length;c++){let p=r+g[a]+i[c];(!t||h||p)&&e.push(p)}}return e}var R=n=>{if(typeof n!="string")throw new TypeError("invalid pattern");if(n.length>65536)throw new TypeError("pattern is too long")};var Wt={"[:alnum:]":["\\p{L}\\p{Nl}\\p{Nd}",!0],"[:alpha:]":["\\p{L}\\p{Nl}",!0],"[:ascii:]":["\\x00-\\x7f",!1],"[:blank:]":["\\p{Zs}\\t",!0],"[:cntrl:]":["\\p{Cc}",!0],"[:digit:]":["\\p{Nd}",!0],"[:graph:]":["\\p{Z}\\p{C}",!0,!0],"[:lower:]":["\\p{Ll}",!0],"[:print:]":["\\p{C}",!0],"[:punct:]":["\\p{P}",!0],"[:space:]":["\\p{Z}\\t\\r\\n\\v\\f",!0],"[:upper:]":["\\p{Lu}",!0],"[:word:]":["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}",!0],"[:xdigit:]":["A-Fa-f0-9",!1]},W=n=>n.replace(/[[\]\\-]/g,"\\$&"),jt=n=>n.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),et=n=>n.join(""),st=(n,t)=>{let e=t;if(n.charAt(e)!=="[")throw new Error("not in a brace expression");let s=[],r=[],i=e+1,o=!1,l=!1,h=!1,f=!1,u=e,g="";t:for(;i<n.length;){let d=n.charAt(i);if((d==="!"||d==="^")&&i===e+1){f=!0,i++;continue}if(d==="]"&&o&&!h){u=i+1;break}if(o=!0,d==="\\"&&!h){h=!0,i++;continue}if(d==="["&&!h){for(let[S,[w,x,y]]of Object.entries(Wt))if(n.startsWith(S,i)){if(g)return["$.",!1,n.length-e,!0];i+=S.length,y?r.push(w):s.push(w),l=l||x;continue t}}if(h=!1,g){d>g?s.push(W(g)+"-"+W(d)):d===g&&s.push(W(d)),g="",i++;continue}if(n.startsWith("-]",i+1)){s.push(W(d+"-")),i+=2;continue}if(n.startsWith("-",i+1)){g=d,i+=2;continue}s.push(W(d)),i++}if(u<i)return["",!1,0,!1];if(!s.length&&!r.length)return["$.",!1,n.length-e,!0];if(r.length===0&&s.length===1&&/^\\?.$/.test(s[0])&&!f){let d=s[0].length===2?s[0].slice(-1):s[0];return[jt(d),!1,u-e,!1]}let a="["+(f?"^":"")+et(s)+"]",c="["+(f?"":"^")+et(r)+"]";return[s.length&&r.length?"("+a+"|"+c+")":s.length?a:c,l,u-e,!0]};var v=(n,{windowsPathsNoEscape:t=!1,magicalBraces:e=!0}={})=>e?t?n.replace(/\[([^\/\\])\]/g,"$1"):n.replace(/((?!\\).|^)\[([^\/\\])\]/g,"$1$2").replace(/\\([^\/])/g,"$1"):t?n.replace(/\[([^\/\\{}])\]/g,"$1"):n.replace(/((?!\\).|^)\[([^\/\\{}])\]/g,"$1$2").replace(/\\([^\/{}])/g,"$1");var Lt=new Set(["!","?","+","*","@"]),nt=n=>Lt.has(n),kt="(?!(?:^|/)\\.\\.?(?:$|/))",j="(?!\\.)",Gt=new Set(["[","."]),Bt=new Set(["..","."]),Ft=new Set("().*{}+?[]^$\\!"),_t=n=>n.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),_="[^/]",it=_+"*?",rt=_+"+?",O=class n{type;#s;#n;#r=!1;#t=[];#e;#o;#c;#a=!1;#i;#l;#u=!1;constructor(t,e,s={}){this.type=t,t&&(this.#n=!0),this.#e=e,this.#s=this.#e?this.#e.#s:this,this.#i=this.#s===this?s:this.#s.#i,this.#c=this.#s===this?[]:this.#s.#c,t==="!"&&!this.#s.#a&&this.#c.push(this),this.#o=this.#e?this.#e.#t.length:0}get hasMagic(){if(this.#n!==void 0)return this.#n;for(let t of this.#t)if(typeof t!="string"&&(t.type||t.hasMagic))return this.#n=!0;return this.#n}toString(){return this.#l!==void 0?this.#l:this.type?this.#l=this.type+"("+this.#t.map(t=>String(t)).join("|")+")":this.#l=this.#t.map(t=>String(t)).join("")}#p(){if(this!==this.#s)throw new Error("should only call on root");if(this.#a)return this;this.toString(),this.#a=!0;let t;for(;t=this.#c.pop();){if(t.type!=="!")continue;let e=t,s=e.#e;for(;s;){for(let r=e.#o+1;!s.type&&r<s.#t.length;r++)for(let i of t.#t){if(typeof i=="string")throw new Error("string part in extglob AST??");i.copyIn(s.#t[r])}e=s,s=e.#e}}return this}push(...t){for(let e of t)if(e!==""){if(typeof e!="string"&&!(e instanceof n&&e.#e===this))throw new Error("invalid part: "+e);this.#t.push(e)}}toJSON(){let t=this.type===null?this.#t.slice().map(e=>typeof e=="string"?e:e.toJSON()):[this.type,...this.#t.map(e=>e.toJSON())];return this.isStart()&&!this.type&&t.unshift([]),this.isEnd()&&(this===this.#s||this.#s.#a&&this.#e?.type==="!")&&t.push({}),t}isStart(){if(this.#s===this)return!0;if(!this.#e?.isStart())return!1;if(this.#o===0)return!0;let t=this.#e;for(let e=0;e<this.#o;e++){let s=t.#t[e];if(!(s instanceof n&&s.type==="!"))return!1}return!0}isEnd(){if(this.#s===this||this.#e?.type==="!")return!0;if(!this.#e?.isEnd())return!1;if(!this.type)return this.#e?.isEnd();let t=this.#e?this.#e.#t.length:0;return this.#o===t-1}copyIn(t){typeof t=="string"?this.push(t):this.push(t.clone(this))}clone(t){let e=new n(this.type,t);for(let s of this.#t)e.copyIn(s);return e}static#h(t,e,s,r){let i=!1,o=!1,l=-1,h=!1;if(e.type===null){let c=s,p="";for(;c<t.length;){let d=t.charAt(c++);if(i||d==="\\"){i=!i,p+=d;continue}if(o){c===l+1?(d==="^"||d==="!")&&(h=!0):d==="]"&&!(c===l+2&&h)&&(o=!1),p+=d;continue}else if(d==="["){o=!0,l=c,h=!1,p+=d;continue}if(!r.noext&&nt(d)&&t.charAt(c)==="("){e.push(p),p="";let S=new n(d,e);c=n.#h(t,S,c,r),e.push(S);continue}p+=d}return e.push(p),c}let f=s+1,u=new n(null,e),g=[],a="";for(;f<t.length;){let c=t.charAt(f++);if(i||c==="\\"){i=!i,a+=c;continue}if(o){f===l+1?(c==="^"||c==="!")&&(h=!0):c==="]"&&!(f===l+2&&h)&&(o=!1),a+=c;continue}else if(c==="["){o=!0,l=f,h=!1,a+=c;continue}if(nt(c)&&t.charAt(f)==="("){u.push(a),a="";let p=new n(c,u);u.push(p),f=n.#h(t,p,f,r);continue}if(c==="|"){u.push(a),a="",g.push(u),u=new n(null,e);continue}if(c===")")return a===""&&e.#t.length===0&&(e.#u=!0),u.push(a),a="",e.push(...g,u),f;a+=c}return e.type=null,e.#n=void 0,e.#t=[t.substring(s-1)],f}static fromGlob(t,e={}){let s=new n(null,void 0,e);return n.#h(t,s,0,e),s}toMMPattern(){if(this!==this.#s)return this.#s.toMMPattern();let t=this.toString(),[e,s,r,i]=this.toRegExpSource();if(!(r||this.#n||this.#i.nocase&&!this.#i.nocaseMagicOnly&&t.toUpperCase()!==t.toLowerCase()))return s;let l=(this.#i.nocase?"i":"")+(i?"u":"");return Object.assign(new RegExp(`^${e}$`,l),{_src:e,_glob:t})}get options(){return this.#i}toRegExpSource(t){let e=t??!!this.#i.dot;if(this.#s===this&&this.#p(),!this.type){let h=this.isStart()&&this.isEnd()&&!this.#t.some(c=>typeof c!="string"),f=this.#t.map(c=>{let[p,d,S,w]=typeof c=="string"?n.#d(c,this.#n,h):c.toRegExpSource(t);return this.#n=this.#n||S,this.#r=this.#r||w,p}).join(""),u="";if(this.isStart()&&typeof this.#t[0]=="string"&&!(this.#t.length===1&&Bt.has(this.#t[0]))){let p=Gt,d=e&&p.has(f.charAt(0))||f.startsWith("\\.")&&p.has(f.charAt(2))||f.startsWith("\\.\\.")&&p.has(f.charAt(4)),S=!e&&!t&&p.has(f.charAt(0));u=d?kt:S?j:""}let g="";return this.isEnd()&&this.#s.#a&&this.#e?.type==="!"&&(g="(?:$|\\/)"),[u+f+g,v(f),this.#n=!!this.#n,this.#r]}let s=this.type==="*"||this.type==="+",r=this.type==="!"?"(?:(?!(?:":"(?:",i=this.#f(e);if(this.isStart()&&this.isEnd()&&!i&&this.type!=="!"){let h=this.toString();return this.#t=[h],this.type=null,this.#n=void 0,[h,v(this.toString()),!1,!1]}let o=!s||t||e||!j?"":this.#f(!0);o===i&&(o=""),o&&(i=`(?:${i})(?:${o})*?`);let l="";if(this.type==="!"&&this.#u)l=(this.isStart()&&!e?j:"")+rt;else{let h=this.type==="!"?"))"+(this.isStart()&&!e&&!t?j:"")+it+")":this.type==="@"?")":this.type==="?"?")?":this.type==="+"&&o?")":this.type==="*"&&o?")?":`)${this.type}`;l=r+i+h}return[l,v(i),this.#n=!!this.#n,this.#r]}#f(t){return this.#t.map(e=>{if(typeof e=="string")throw new Error("string type in extglob ast??");let[s,r,i,o]=e.toRegExpSource(t);return this.#r=this.#r||o,s}).filter(e=>!(this.isStart()&&this.isEnd())||!!e).join("|")}static#d(t,e,s=!1){let r=!1,i="",o=!1;for(let l=0;l<t.length;l++){let h=t.charAt(l);if(r){r=!1,i+=(Ft.has(h)?"\\":"")+h;continue}if(h==="\\"){l===t.length-1?i+="\\\\":r=!0;continue}if(h==="["){let[f,u,g,a]=st(t,l);if(g){i+=f,o=o||u,l+=g-1,e=e||a;continue}}if(h==="*"){i+=s&&t==="*"?rt:it,e=!0;continue}if(h==="?"){i+=_,e=!0;continue}i+=_t(h)}return[i,v(t),!!e,o]}};var q=(n,{windowsPathsNoEscape:t=!1,magicalBraces:e=!1}={})=>e?t?n.replace(/[?*()[\]{}]/g,"[$&]"):n.replace(/[?*()[\]\\{}]/g,"\\$&"):t?n.replace(/[?*()[\]]/g,"[$&]"):n.replace(/[?*()[\]\\]/g,"\\$&");var E=(n,t,e={})=>(R(t),!e.nocomment&&t.charAt(0)==="#"?!1:new C(t,e).match(n)),qt=/^\*+([^+@!?\*\[\(]*)$/,Ht=n=>t=>!t.startsWith(".")&&t.endsWith(n),It=n=>t=>t.endsWith(n),Jt=n=>(n=n.toLowerCase(),t=>!t.startsWith(".")&&t.toLowerCase().endsWith(n)),Ut=n=>(n=n.toLowerCase(),t=>t.toLowerCase().endsWith(n)),Zt=/^\*+\.\*+$/,Kt=n=>!n.startsWith(".")&&n.includes("."),Vt=n=>n!=="."&&n!==".."&&n.includes("."),Xt=/^\.\*+$/,Yt=n=>n!=="."&&n!==".."&&n.startsWith("."),Qt=/^\*+$/,te=n=>n.length!==0&&!n.startsWith("."),ee=n=>n.length!==0&&n!=="."&&n!=="..",se=/^\?+([^+@!?\*\[\(]*)?$/,ne=([n,t=""])=>{let e=ct([n]);return t?(t=t.toLowerCase(),s=>e(s)&&s.toLowerCase().endsWith(t)):e},ie=([n,t=""])=>{let e=lt([n]);return t?(t=t.toLowerCase(),s=>e(s)&&s.toLowerCase().endsWith(t)):e},re=([n,t=""])=>{let e=lt([n]);return t?s=>e(s)&&s.endsWith(t):e},oe=([n,t=""])=>{let e=ct([n]);return t?s=>e(s)&&s.endsWith(t):e},ct=([n])=>{let t=n.length;return e=>e.length===t&&!e.startsWith(".")},lt=([n])=>{let t=n.length;return e=>e.length===t&&e!=="."&&e!==".."},ht=typeof process=="object"&&process?typeof process.env=="object"&&process.env&&process.env.__MINIMATCH_TESTING_PLATFORM__||process.platform:"posix",ot={win32:{sep:"\\"},posix:{sep:"/"}},ae=ht==="win32"?ot.win32.sep:ot.posix.sep;E.sep=ae;var M=Symbol("globstar **");E.GLOBSTAR=M;var ce="[^/]",le=ce+"*?",he="(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?",ue="(?:(?!(?:\\/|^)\\.).)*?",fe=(n,t={})=>e=>E(e,n,t);E.filter=fe;var T=(n,t={})=>Object.assign({},n,t),pe=n=>{if(!n||typeof n!="object"||!Object.keys(n).length)return E;let t=E;return Object.assign((s,r,i={})=>t(s,r,T(n,i)),{Minimatch:class extends t.Minimatch{constructor(r,i={}){super(r,T(n,i))}static defaults(r){return t.defaults(T(n,r)).Minimatch}},AST:class extends t.AST{constructor(r,i,o={}){super(r,i,T(n,o))}static fromGlob(r,i={}){return t.AST.fromGlob(r,T(n,i))}},unescape:(s,r={})=>t.unescape(s,T(n,r)),escape:(s,r={})=>t.escape(s,T(n,r)),filter:(s,r={})=>t.filter(s,T(n,r)),defaults:s=>t.defaults(T(n,s)),makeRe:(s,r={})=>t.makeRe(s,T(n,r)),braceExpand:(s,r={})=>t.braceExpand(s,T(n,r)),match:(s,r,i={})=>t.match(s,r,T(n,i)),sep:t.sep,GLOBSTAR:M})};E.defaults=pe;var ut=(n,t={})=>(R(n),t.nobrace||!/\{(?:(?!\{).)*\}/.test(n)?[n]:tt(n));E.braceExpand=ut;var de=(n,t={})=>new C(n,t).makeRe();E.makeRe=de;var ge=(n,t,e={})=>{let s=new C(t,e);return n=n.filter(r=>s.match(r)),s.options.nonull&&!n.length&&n.push(t),n};E.match=ge;var at=/[?*]|[+@!]\(.*?\)|\[|\]/,me=n=>n.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),C=class{options;set;pattern;windowsPathsNoEscape;nonegate;negate;comment;empty;preserveMultipleSlashes;partial;globSet;globParts;nocase;isWindows;platform;windowsNoMagicRoot;regexp;constructor(t,e={}){R(t),e=e||{},this.options=e,this.pattern=t,this.platform=e.platform||ht,this.isWindows=this.platform==="win32",this.windowsPathsNoEscape=!!e.windowsPathsNoEscape||e.allowWindowsEscape===!1,this.windowsPathsNoEscape&&(this.pattern=this.pattern.replace(/\\/g,"/")),this.preserveMultipleSlashes=!!e.preserveMultipleSlashes,this.regexp=null,this.negate=!1,this.nonegate=!!e.nonegate,this.comment=!1,this.empty=!1,this.partial=!!e.partial,this.nocase=!!this.options.nocase,this.windowsNoMagicRoot=e.windowsNoMagicRoot!==void 0?e.windowsNoMagicRoot:!!(this.isWindows&&this.nocase),this.globSet=[],this.globParts=[],this.set=[],this.make()}hasMagic(){if(this.options.magicalBraces&&this.set.length>1)return!0;for(let t of this.set)for(let e of t)if(typeof e!="string")return!0;return!1}debug(...t){}make(){let t=this.pattern,e=this.options;if(!e.nocomment&&t.charAt(0)==="#"){this.comment=!0;return}if(!t){this.empty=!0;return}this.parseNegate(),this.globSet=[...new Set(this.braceExpand())],e.debug&&(this.debug=(...i)=>console.error(...i)),this.debug(this.pattern,this.globSet);let s=this.globSet.map(i=>this.slashSplit(i));this.globParts=this.preprocess(s),this.debug(this.pattern,this.globParts);let r=this.globParts.map((i,o,l)=>{if(this.isWindows&&this.windowsNoMagicRoot){let h=i[0]===""&&i[1]===""&&(i[2]==="?"||!at.test(i[2]))&&!at.test(i[3]),f=/^[a-z]:/i.test(i[0]);if(h)return[...i.slice(0,4),...i.slice(4).map(u=>this.parse(u))];if(f)return[i[0],...i.slice(1).map(u=>this.parse(u))]}return i.map(h=>this.parse(h))});if(this.debug(this.pattern,r),this.set=r.filter(i=>i.indexOf(!1)===-1),this.isWindows)for(let i=0;i<this.set.length;i++){let o=this.set[i];o[0]===""&&o[1]===""&&this.globParts[i][2]==="?"&&typeof o[3]=="string"&&/^[a-z]:$/i.test(o[3])&&(o[2]="?")}this.debug(this.pattern,this.set)}preprocess(t){if(this.options.noglobstar)for(let s=0;s<t.length;s++)for(let r=0;r<t[s].length;r++)t[s][r]==="**"&&(t[s][r]="*");let{optimizationLevel:e=1}=this.options;return e>=2?(t=this.firstPhasePreProcess(t),t=this.secondPhasePreProcess(t)):e>=1?t=this.levelOneOptimize(t):t=this.adjascentGlobstarOptimize(t),t}adjascentGlobstarOptimize(t){return t.map(e=>{let s=-1;for(;(s=e.indexOf("**",s+1))!==-1;){let r=s;for(;e[r+1]==="**";)r++;r!==s&&e.splice(s,r-s)}return e})}levelOneOptimize(t){return t.map(e=>(e=e.reduce((s,r)=>{let i=s[s.length-1];return r==="**"&&i==="**"?s:r===".."&&i&&i!==".."&&i!=="."&&i!=="**"?(s.pop(),s):(s.push(r),s)},[]),e.length===0?[""]:e))}levelTwoFileOptimize(t){Array.isArray(t)||(t=this.slashSplit(t));let e=!1;do{if(e=!1,!this.preserveMultipleSlashes){for(let r=1;r<t.length-1;r++){let i=t[r];r===1&&i===""&&t[0]===""||(i==="."||i==="")&&(e=!0,t.splice(r,1),r--)}t[0]==="."&&t.length===2&&(t[1]==="."||t[1]==="")&&(e=!0,t.pop())}let s=0;for(;(s=t.indexOf("..",s+1))!==-1;){let r=t[s-1];r&&r!=="."&&r!==".."&&r!=="**"&&(e=!0,t.splice(s-1,2),s-=2)}}while(e);return t.length===0?[""]:t}firstPhasePreProcess(t){let e=!1;do{e=!1;for(let s of t){let r=-1;for(;(r=s.indexOf("**",r+1))!==-1;){let o=r;for(;s[o+1]==="**";)o++;o>r&&s.splice(r+1,o-r);let l=s[r+1],h=s[r+2],f=s[r+3];if(l!==".."||!h||h==="."||h===".."||!f||f==="."||f==="..")continue;e=!0,s.splice(r,1);let u=s.slice(0);u[r]="**",t.push(u),r--}if(!this.preserveMultipleSlashes){for(let o=1;o<s.length-1;o++){let l=s[o];o===1&&l===""&&s[0]===""||(l==="."||l==="")&&(e=!0,s.splice(o,1),o--)}s[0]==="."&&s.length===2&&(s[1]==="."||s[1]==="")&&(e=!0,s.pop())}let i=0;for(;(i=s.indexOf("..",i+1))!==-1;){let o=s[i-1];if(o&&o!=="."&&o!==".."&&o!=="**"){e=!0;let h=i===1&&s[i+1]==="**"?["."]:[];s.splice(i-1,2,...h),s.length===0&&s.push(""),i-=2}}}}while(e);return t}secondPhasePreProcess(t){for(let e=0;e<t.length-1;e++)for(let s=e+1;s<t.length;s++){let r=this.partsMatch(t[e],t[s],!this.preserveMultipleSlashes);if(r){t[e]=[],t[s]=r;break}}return t.filter(e=>e.length)}partsMatch(t,e,s=!1){let r=0,i=0,o=[],l="";for(;r<t.length&&i<e.length;)if(t[r]===e[i])o.push(l==="b"?e[i]:t[r]),r++,i++;else if(s&&t[r]==="**"&&e[i]===t[r+1])o.push(t[r]),r++;else if(s&&e[i]==="**"&&t[r]===e[i+1])o.push(e[i]),i++;else if(t[r]==="*"&&e[i]&&(this.options.dot||!e[i].startsWith("."))&&e[i]!=="**"){if(l==="b")return!1;l="a",o.push(t[r]),r++,i++}else if(e[i]==="*"&&t[r]&&(this.options.dot||!t[r].startsWith("."))&&t[r]!=="**"){if(l==="a")return!1;l="b",o.push(e[i]),r++,i++}else return!1;return t.length===e.length&&o}parseNegate(){if(this.nonegate)return;let t=this.pattern,e=!1,s=0;for(let r=0;r<t.length&&t.charAt(r)==="!";r++)e=!e,s++;s&&(this.pattern=t.slice(s)),this.negate=e}matchOne(t,e,s=!1){let r=this.options;if(this.isWindows){let d=typeof t[0]=="string"&&/^[a-z]:$/i.test(t[0]),S=!d&&t[0]===""&&t[1]===""&&t[2]==="?"&&/^[a-z]:$/i.test(t[3]),w=typeof e[0]=="string"&&/^[a-z]:$/i.test(e[0]),x=!w&&e[0]===""&&e[1]===""&&e[2]==="?"&&typeof e[3]=="string"&&/^[a-z]:$/i.test(e[3]),y=S?3:d?0:void 0,m=x?3:w?0:void 0;if(typeof y=="number"&&typeof m=="number"){let[b,$]=[t[y],e[m]];b.toLowerCase()===$.toLowerCase()&&(e[m]=b,m>y?e=e.slice(m):y>m&&(t=t.slice(y)))}}let{optimizationLevel:i=1}=this.options;i>=2&&(t=this.levelTwoFileOptimize(t)),this.debug("matchOne",this,{file:t,pattern:e}),this.debug("matchOne",t.length,e.length);for(var o=0,l=0,h=t.length,f=e.length;o<h&&l<f;o++,l++){this.debug("matchOne loop");var u=e[l],g=t[o];if(this.debug(e,u,g),u===!1)return!1;if(u===M){this.debug("GLOBSTAR",[e,u,g]);var a=o,c=l+1;if(c===f){for(this.debug("** at the end");o<h;o++)if(t[o]==="."||t[o]===".."||!r.dot&&t[o].charAt(0)===".")return!1;return!0}for(;a<h;){var p=t[a];if(this.debug(`
|
|
3
|
+
globstar while`,t,a,e,c,p),this.matchOne(t.slice(a),e.slice(c),s))return this.debug("globstar found match!",a,h,p),!0;if(p==="."||p===".."||!r.dot&&p.charAt(0)==="."){this.debug("dot detected!",t,a,e,c);break}this.debug("globstar swallow a segment, and continue"),a++}return!!(s&&(this.debug(`
|
|
4
|
+
>>> no match, partial?`,t,a,e,c),a===h))}let d;if(typeof u=="string"?(d=g===u,this.debug("string match",u,g,d)):(d=u.test(g),this.debug("pattern match",u,g,d)),!d)return!1}if(o===h&&l===f)return!0;if(o===h)return s;if(l===f)return o===h-1&&t[o]==="";throw new Error("wtf?")}braceExpand(){return ut(this.pattern,this.options)}parse(t){R(t);let e=this.options;if(t==="**")return M;if(t==="")return"";let s,r=null;(s=t.match(Qt))?r=e.dot?ee:te:(s=t.match(qt))?r=(e.nocase?e.dot?Ut:Jt:e.dot?It:Ht)(s[1]):(s=t.match(se))?r=(e.nocase?e.dot?ie:ne:e.dot?re:oe)(s):(s=t.match(Zt))?r=e.dot?Vt:Kt:(s=t.match(Xt))&&(r=Yt);let i=O.fromGlob(t,this.options).toMMPattern();return r&&typeof i=="object"&&Reflect.defineProperty(i,"test",{value:r}),i}makeRe(){if(this.regexp||this.regexp===!1)return this.regexp;let t=this.set;if(!t.length)return this.regexp=!1,this.regexp;let e=this.options,s=e.noglobstar?le:e.dot?he:ue,r=new Set(e.nocase?["i"]:[]),i=t.map(h=>{let f=h.map(g=>{if(g instanceof RegExp)for(let a of g.flags.split(""))r.add(a);return typeof g=="string"?me(g):g===M?M:g._src});f.forEach((g,a)=>{let c=f[a+1],p=f[a-1];g!==M||p===M||(p===void 0?c!==void 0&&c!==M?f[a+1]="(?:\\/|"+s+"\\/)?"+c:f[a]=s:c===void 0?f[a-1]=p+"(?:\\/|\\/"+s+")?":c!==M&&(f[a-1]=p+"(?:\\/|\\/"+s+"\\/)"+c,f[a+1]=M))});let u=f.filter(g=>g!==M);if(this.partial&&u.length>=1){let g=[];for(let a=1;a<=u.length;a++)g.push(u.slice(0,a).join("/"));return"(?:"+g.join("|")+")"}return u.join("/")}).join("|"),[o,l]=t.length>1?["(?:",")"]:["",""];i="^"+o+i+l+"$",this.partial&&(i="^(?:\\/|"+o+i.slice(1,-1)+l+")$"),this.negate&&(i="^(?!"+i+").+$");try{this.regexp=new RegExp(i,[...r].join(""))}catch{this.regexp=!1}return this.regexp}slashSplit(t){return this.preserveMultipleSlashes?t.split("/"):this.isWindows&&/^\/\/[^\/]+/.test(t)?["",...t.split(/\/+/)]:t.split(/\/+/)}match(t,e=this.partial){if(this.debug("match",t,this.pattern),this.comment)return!1;if(this.empty)return t==="";if(t==="/"&&e)return!0;let s=this.options;this.isWindows&&(t=t.split("\\").join("/"));let r=this.slashSplit(t);this.debug(this.pattern,"split",r);let i=this.set;this.debug(this.pattern,"set",i);let o=r[r.length-1];if(!o)for(let l=r.length-2;!o&&l>=0;l--)o=r[l];for(let l=0;l<i.length;l++){let h=i[l],f=r;if(s.matchBase&&h.length===1&&(f=[o]),this.matchOne(f,h,e))return s.flipNegate?!0:!this.negate}return s.flipNegate?!1:this.negate}static defaults(t){return E.defaults(t).Minimatch}};E.AST=O;E.Minimatch=C;E.escape=q;E.unescape=v;function L(n){if(n<1024)return String(n);if(n<1024*1024){let e=n/1024;return e<10?`${e.toFixed(1)}K`:`${Math.round(e)}K`}if(n<1024*1024*1024){let e=n/1048576;return e<10?`${e.toFixed(1)}M`:`${Math.round(e)}M`}let t=n/(1024*1024*1024);return t<10?`${t.toFixed(1)}G`:`${Math.round(t)}G`}function k(n){let e=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"][n.getMonth()],s=String(n.getDate()).padStart(2," "),r=new Date,i=new Date(r.getTime()-4320*60*60*1e3);if(n>i){let l=String(n.getHours()).padStart(2,"0"),h=String(n.getMinutes()).padStart(2,"0");return`${e} ${s} ${l}:${h}`}let o=n.getFullYear();return`${e} ${s} ${o}`}var ye={name:"ls",summary:"list directory contents",usage:"ls [OPTION]... [FILE]...",options:["-a, --all do not ignore entries starting with .","-A, --almost-all do not list . and ..","-d, --directory list directories themselves, not their contents","-h, --human-readable with -l, print sizes like 1K 234M 2G etc.","-l use a long listing format","-r, --reverse reverse order while sorting","-R, --recursive list subdirectories recursively","-S sort by file size, largest first","-t sort by time, newest first","-1 list one file per line"," --help display this help and exit"]},we={showAll:{short:"a",long:"all",type:"boolean"},showAlmostAll:{short:"A",long:"almost-all",type:"boolean"},longFormat:{short:"l",type:"boolean"},humanReadable:{short:"h",long:"human-readable",type:"boolean"},recursive:{short:"R",long:"recursive",type:"boolean"},reverse:{short:"r",long:"reverse",type:"boolean"},sortBySize:{short:"S",type:"boolean"},directoryOnly:{short:"d",long:"directory",type:"boolean"},sortByTime:{short:"t",type:"boolean"},onePerLine:{short:"1",type:"boolean"}},Ie={name:"ls",async execute(n,t){if(J(n))return I(ye);let e=U("ls",n,we);if(!e.ok)return e.error;let s=e.result.flags.showAll,r=e.result.flags.showAlmostAll,i=e.result.flags.longFormat,o=e.result.flags.humanReadable,l=e.result.flags.recursive,h=e.result.flags.reverse,f=e.result.flags.sortBySize,u=e.result.flags.directoryOnly,g=e.result.flags.sortByTime;e.result.flags.onePerLine;let a=e.result.positional;a.length===0&&a.push(".");let c="",p="",d=0;for(let S=0;S<a.length;S++){let w=a[S];if(S>0&&c&&!c.endsWith(`
|
|
5
|
+
|
|
6
|
+
`)&&(c+=`
|
|
7
|
+
`),u){let x=t.fs.resolvePath(t.cwd,w);try{let y=await t.fs.stat(x);if(i){let m=y.isDirectory?"drwxr-xr-x":"-rw-r--r--",b=y.isDirectory?"/":"",$=y.size??0,A=o?L($).padStart(5):String($).padStart(5),P=y.mtime??new Date(0),N=k(P);c+=`${m} 1 user user ${A} ${N} ${w}${b}
|
|
8
|
+
`}else c+=`${w}
|
|
9
|
+
`}catch{p+=`ls: cannot access '${w}': No such file or directory
|
|
10
|
+
`,d=2}continue}if(w.includes("*")||w.includes("?")||w.includes("[")){let x=await Se(w,t,s,r,i,h,o,f);c+=x.stdout,p+=x.stderr,x.exitCode!==0&&(d=x.exitCode)}else{let x=await ft(w,t,s,r,i,l,a.length>1,h,o,f);c+=x.stdout,p+=x.stderr,x.exitCode!==0&&(d=x.exitCode)}}return{stdout:c,stderr:p,exitCode:d}}};async function Se(n,t,e,s,r,i=!1,o=!1,l=!1){let h=e||s,f=t.fs.getAllPaths(),u=t.fs.resolvePath(t.cwd,"."),g=[];for(let a of f){let c=a.startsWith(u)&&a.slice(u.length+1)||a;if(E(c,n)||E(a,n)){let p=c.split("/").pop()||c;if(!h&&p.startsWith("."))continue;g.push(c||a)}}if(g.length===0)return{stdout:"",stderr:`ls: ${n}: No such file or directory
|
|
11
|
+
`,exitCode:2};if(l){let a=[];for(let c of g){let p=t.fs.resolvePath(t.cwd,c);try{let d=await t.fs.stat(p);a.push({path:c,size:d.size??0})}catch{a.push({path:c,size:0})}}a.sort((c,p)=>p.size-c.size),g.length=0,g.push(...a.map(c=>c.path))}else g.sort();if(i&&g.reverse(),r){let a=[];for(let c of g){let p=t.fs.resolvePath(t.cwd,c);try{let d=await t.fs.stat(p),S=d.isDirectory?"drwxr-xr-x":"-rw-r--r--",w=d.isDirectory?"/":"",x=d.size??0,y=o?L(x).padStart(5):String(x).padStart(5),m=d.mtime??new Date(0),b=k(m);a.push(`${S} 1 user user ${y} ${b} ${c}${w}`)}catch{a.push(`-rw-r--r-- 1 user user 0 Jan 1 00:00 ${c}`)}}return{stdout:`${a.join(`
|
|
12
|
+
`)}
|
|
13
|
+
`,stderr:"",exitCode:0}}return{stdout:`${g.join(`
|
|
14
|
+
`)}
|
|
15
|
+
`,stderr:"",exitCode:0}}async function ft(n,t,e,s,r,i,o,l=!1,h=!1,f=!1,u=!1){let g=e||s,a=t.fs.resolvePath(t.cwd,n);try{let c=await t.fs.stat(a);if(!c.isDirectory){if(r){let S=c.size??0,w=h?L(S).padStart(5):String(S).padStart(5),x=c.mtime??new Date(0),y=k(x);return{stdout:`-rw-r--r-- 1 user user ${w} ${y} ${n}
|
|
16
|
+
`,stderr:"",exitCode:0}}return{stdout:`${n}
|
|
17
|
+
`,stderr:"",exitCode:0}}let p=await t.fs.readdir(a);if(g||(p=p.filter(S=>!S.startsWith("."))),f){let S=[];for(let w of p){let x=a==="/"?`/${w}`:`${a}/${w}`;try{let y=await t.fs.stat(x);S.push({name:w,size:y.size??0})}catch{S.push({name:w,size:0})}}S.sort((w,x)=>x.size-w.size),p=S.map(w=>w.name)}else p.sort();e&&(p=[".","..",...p]),l&&p.reverse();let d="";if((i||o)&&(d+=`${n}:
|
|
18
|
+
`),r){d+=`total ${p.length}
|
|
19
|
+
`;let S=p.filter(m=>m==="."||m===".."),w=p.filter(m=>m!=="."&&m!=="..");for(let m of S)d+=`drwxr-xr-x 1 user user 0 Jan 1 00:00 ${m}
|
|
20
|
+
`;let x=[];for(let m=0;m<w.length;m+=100){let b=w.slice(m,m+100),$=await Promise.all(b.map(async A=>{let P=a==="/"?`/${A}`:`${a}/${A}`;try{let N=await t.fs.stat(P),pt=N.isDirectory?"drwxr-xr-x":"-rw-r--r--",dt=N.isDirectory?"/":"",H=N.size??0,gt=h?L(H).padStart(5):String(H).padStart(5),mt=N.mtime??new Date(0),yt=k(mt);return{name:A,line:`${pt} 1 user user ${gt} ${yt} ${A}${dt}
|
|
21
|
+
`}}catch{return{name:A,line:`-rw-r--r-- 1 user user 0 Jan 1 00:00 ${A}
|
|
22
|
+
`}}}));x.push(...$)}let y=new Map(w.map((m,b)=>[m,b]));x.sort((m,b)=>(y.get(m.name)??0)-(y.get(b.name)??0));for(let{line:m}of x)d+=m}else d+=p.join(`
|
|
23
|
+
`)+(p.length?`
|
|
24
|
+
`:"");if(i){let S=p.filter(y=>y!=="."&&y!==".."),w=[];if(t.fs.readdirWithFileTypes)w=(await t.fs.readdirWithFileTypes(a)).filter(m=>m.isDirectory&&S.includes(m.name)).map(m=>({name:m.name,isDirectory:!0}));else for(let y=0;y<S.length;y+=100){let m=S.slice(y,y+100),b=await Promise.all(m.map(async $=>{let A=a==="/"?`/${$}`:`${a}/${$}`;try{let P=await t.fs.stat(A);return{name:$,isDirectory:P.isDirectory}}catch{return{name:$,isDirectory:!1}}}));w.push(...b.filter($=>$.isDirectory))}w.sort((y,m)=>y.name.localeCompare(m.name)),l&&w.reverse();let x=[];for(let y=0;y<w.length;y+=100){let m=w.slice(y,y+100),b=await Promise.all(m.map(async $=>{let A=n==="."?`./${$.name}`:`${n}/${$.name}`,P=await ft(A,t,e,s,r,i,!1,l,h,f,!0);return{name:$.name,result:P}}));x.push(...b)}x.sort((y,m)=>y.name.localeCompare(m.name)),l&&x.reverse();for(let{result:y}of x)d+=`
|
|
25
|
+
`,d+=y.stdout}return{stdout:d,stderr:"",exitCode:0}}catch{return{stdout:"",stderr:`ls: ${n}: No such file or directory
|
|
26
|
+
`,exitCode:2}}}export{Ie as lsCommand};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import{b as O}from"./chunk-45SNFRCY.js";import"./chunk-OBH7XN5N.js";import{a as F,b as N,c as k}from"./chunk-GTNBSMZR.js";import"./chunk-KGOUQS5A.js";var P={"":1,k:1024,m:1048576,g:1073741824,t:1099511627776,p:0x4000000000000,e:1152921504606847e3},V={jan:1,feb:2,mar:3,apr:4,may:5,jun:6,jul:7,aug:8,sep:9,oct:10,nov:11,dec:12};function w(u){let r=u.trim(),e=r.match(/^([+-]?\d*\.?\d+)\s*([kmgtpeKMGTPE])?[iI]?[bB]?$/);if(!e){let n=parseFloat(r);return Number.isNaN(n)?0:n}let l=parseFloat(e[1]),s=(e[2]||"").toLowerCase(),i=P[s]||1;return l*i}function L(u){let r=u.trim().toLowerCase().slice(0,3);return V[r]||0}function D(u,r){let e=u.split(/(\d+)/),l=r.split(/(\d+)/),s=Math.max(e.length,l.length);for(let i=0;i<s;i++){let n=e[i]||"",d=l[i]||"",o=/^\d+$/.test(n)?parseInt(n,10):null,c=/^\d+$/.test(d)?parseInt(d,10):null;if(o!==null&&c!==null){if(o!==c)return o-c}else if(n!==d)return n.localeCompare(d)}return 0}function x(u){return u.replace(/[^a-zA-Z0-9\s]/g,"")}function v(u,r,e){let l=e!==null?e:/\s+/,s=u.split(l),i=r.startField-1;if(i>=s.length)return"";if(r.endField===void 0){let o=s[i]||"";return r.startChar!==void 0&&(o=o.slice(r.startChar-1)),r.ignoreLeading&&(o=o.trimStart()),o}let n=Math.min(r.endField-1,s.length-1),d="";for(let o=i;o<=n&&o<s.length;o++){let c=s[o]||"";if(o===i&&r.startChar!==void 0&&(c=c.slice(r.startChar-1)),o===n&&r.endChar!==void 0){let t=o===i&&r.startChar!==void 0?r.endChar-r.startChar+1:r.endChar;c=c.slice(0,t)}o>i&&(d+=e||" "),d+=c}return r.ignoreLeading&&(d=d.trimStart()),d}function I(u,r,e){let l=u,s=r;if(e.dictionaryOrder&&(l=x(l),s=x(s)),e.ignoreCase&&(l=l.toLowerCase(),s=s.toLowerCase()),e.monthSort){let i=L(l),n=L(s);return i-n}if(e.humanNumeric){let i=w(l),n=w(s);return i-n}if(e.versionSort)return D(l,s);if(e.numeric){let i=parseFloat(l)||0,n=parseFloat(s)||0;return i-n}return l.localeCompare(s)}function M(u){let{keys:r,fieldDelimiter:e,numeric:l,ignoreCase:s,reverse:i,humanNumeric:n,versionSort:d,dictionaryOrder:o,monthSort:c,ignoreLeadingBlanks:t,stable:a}=u;return(f,S)=>{let g=f,b=S;if(t&&(g=g.trimStart(),b=b.trimStart()),r.length===0){let h=I(g,b,{numeric:l,ignoreCase:s,humanNumeric:n,versionSort:d,dictionaryOrder:o,monthSort:c});if(h!==0)return i?-h:h;if(!a){let p=f.localeCompare(S);return i?-p:p}return 0}for(let m of r){let h=v(g,m,e),p=v(b,m,e);m.ignoreLeading&&(h=h.trimStart(),p=p.trimStart());let B={numeric:m.numeric??l,ignoreCase:m.ignoreCase??s,humanNumeric:m.humanNumeric??n,versionSort:m.versionSort??d,dictionaryOrder:m.dictionaryOrder??o,monthSort:m.monthSort??c},A=m.reverse??i,y=I(h,p,B);if(y!==0)return A?-y:y}if(!a){let m=f.localeCompare(S);return i?-m:m}return 0}}function E(u,r){if(r.keys.length===0){if(r.ignoreCase){let s=new Set;return u.filter(i=>{let n=i.toLowerCase();return s.has(n)?!1:(s.add(n),!0)})}return[...new Set(u)]}let e=r.keys[0],l=new Set;return u.filter(s=>{let i=v(s,e,r.fieldDelimiter);return(e.ignoreCase??r.ignoreCase)&&(i=i.toLowerCase()),l.has(i)?!1:(l.add(i),!0)})}function C(u){let r={startField:1},e="",l=u,s=l.match(/([bdfhMnrV]+)$/);s&&(e=s[1],l=l.slice(0,-e.length)),e.includes("n")&&(r.numeric=!0),e.includes("r")&&(r.reverse=!0),e.includes("f")&&(r.ignoreCase=!0),e.includes("b")&&(r.ignoreLeading=!0),e.includes("h")&&(r.humanNumeric=!0),e.includes("V")&&(r.versionSort=!0),e.includes("d")&&(r.dictionaryOrder=!0),e.includes("M")&&(r.monthSort=!0);let i=l.split(",");if(i.length===0||i[0]==="")return null;let n=i[0].split("."),d=parseInt(n[0],10);if(Number.isNaN(d)||d<1)return null;if(r.startField=d,n.length>1&&n[1]){let o=parseInt(n[1],10);!Number.isNaN(o)&&o>=1&&(r.startChar=o)}if(i.length>1&&i[1]){let o=i[1],c=o.match(/([bdfhMnrV]+)$/);if(c){let a=c[1];a.includes("n")&&(r.numeric=!0),a.includes("r")&&(r.reverse=!0),a.includes("f")&&(r.ignoreCase=!0),a.includes("b")&&(r.ignoreLeading=!0),a.includes("h")&&(r.humanNumeric=!0),a.includes("V")&&(r.versionSort=!0),a.includes("d")&&(r.dictionaryOrder=!0),a.includes("M")&&(r.monthSort=!0),o=o.slice(0,-a.length)}let t=o.split(".");if(t[0]){let a=parseInt(t[0],10);if(!Number.isNaN(a)&&a>=1&&(r.endField=a),t.length>1&&t[1]){let f=parseInt(t[1],10);!Number.isNaN(f)&&f>=1&&(r.endChar=f)}}}return r}var q={name:"sort",summary:"sort lines of text files",usage:"sort [OPTION]... [FILE]...",options:["-b, --ignore-leading-blanks ignore leading blanks","-d, --dictionary-order consider only blanks and alphanumeric characters","-f, --ignore-case fold lower case to upper case characters","-h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G)","-M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC'","-n, --numeric-sort compare according to string numerical value","-r, --reverse reverse the result of comparisons","-V, --version-sort natural sort of (version) numbers within text","-c, --check check for sorted input; do not sort","-o, --output=FILE write result to FILE instead of stdout","-s, --stable stabilize sort by disabling last-resort comparison","-u, --unique output only unique lines","-k, --key=KEYDEF sort via a key; KEYDEF gives location and type","-t, --field-separator=SEP use SEP as field separator"," --help display this help and exit"],description:`KEYDEF is F[.C][OPTS][,F[.C][OPTS]]
|
|
3
|
+
F is a field number (1-indexed)
|
|
4
|
+
C is a character position within the field (1-indexed)
|
|
5
|
+
OPTS can be: b d f h M n r V (per-key modifiers)
|
|
6
|
+
|
|
7
|
+
Examples:
|
|
8
|
+
-k1 sort by first field
|
|
9
|
+
-k2,2 sort by second field only
|
|
10
|
+
-k1.3 sort by first field starting at 3rd character
|
|
11
|
+
-k1,2n sort by fields 1-2 numerically
|
|
12
|
+
-k2 -k1 sort by field 2, then by field 1`},j={name:"sort",async execute(u,r){if(N(u))return F(q);let e={reverse:!1,numeric:!1,unique:!1,ignoreCase:!1,humanNumeric:!1,versionSort:!1,dictionaryOrder:!1,monthSort:!1,ignoreLeadingBlanks:!1,stable:!1,checkOnly:!1,outputFile:null,keys:[],fieldDelimiter:null},l=[];for(let c=0;c<u.length;c++){let t=u[c];if(t==="-r"||t==="--reverse")e.reverse=!0;else if(t==="-n"||t==="--numeric-sort")e.numeric=!0;else if(t==="-u"||t==="--unique")e.unique=!0;else if(t==="-f"||t==="--ignore-case")e.ignoreCase=!0;else if(t==="-h"||t==="--human-numeric-sort")e.humanNumeric=!0;else if(t==="-V"||t==="--version-sort")e.versionSort=!0;else if(t==="-d"||t==="--dictionary-order")e.dictionaryOrder=!0;else if(t==="-M"||t==="--month-sort")e.monthSort=!0;else if(t==="-b"||t==="--ignore-leading-blanks")e.ignoreLeadingBlanks=!0;else if(t==="-s"||t==="--stable")e.stable=!0;else if(t==="-c"||t==="--check")e.checkOnly=!0;else if(t==="-o"||t==="--output")e.outputFile=u[++c]||null;else if(t.startsWith("-o"))e.outputFile=t.slice(2)||null;else if(t.startsWith("--output="))e.outputFile=t.slice(9)||null;else if(t==="-t"||t==="--field-separator")e.fieldDelimiter=u[++c]||null;else if(t.startsWith("-t"))e.fieldDelimiter=t.slice(2)||null;else if(t.startsWith("--field-separator="))e.fieldDelimiter=t.slice(18)||null;else if(t==="-k"||t==="--key"){let a=u[++c];if(a){let f=C(a);f&&e.keys.push(f)}}else if(t.startsWith("-k")){let a=C(t.slice(2));a&&e.keys.push(a)}else if(t.startsWith("--key=")){let a=C(t.slice(6));a&&e.keys.push(a)}else{if(t.startsWith("--"))return k("sort",t);if(t.startsWith("-")&&!t.startsWith("--")){let a=!1;for(let f of t.slice(1))if(f==="r")e.reverse=!0;else if(f==="n")e.numeric=!0;else if(f==="u")e.unique=!0;else if(f==="f")e.ignoreCase=!0;else if(f==="h")e.humanNumeric=!0;else if(f==="V")e.versionSort=!0;else if(f==="d")e.dictionaryOrder=!0;else if(f==="M")e.monthSort=!0;else if(f==="b")e.ignoreLeadingBlanks=!0;else if(f==="s")e.stable=!0;else if(f==="c")e.checkOnly=!0;else{a=!0;break}if(a)return k("sort",t)}else l.push(t)}}let s=await O(r,l,{cmdName:"sort"});if(!s.ok)return s.error;let n=s.content.split(`
|
|
13
|
+
`);n.length>0&&n[n.length-1]===""&&n.pop();let d=M(e);if(e.checkOnly){let c=l.length>0?l[0]:"-";for(let t=1;t<n.length;t++)if(d(n[t-1],n[t])>0)return{stdout:"",stderr:`sort: ${c}:${t+1}: disorder: ${n[t]}
|
|
14
|
+
`,exitCode:1};return{stdout:"",stderr:"",exitCode:0}}n.sort(d),e.unique&&(n=E(n,e));let o=n.length>0?`${n.join(`
|
|
15
|
+
`)}
|
|
16
|
+
`:"";if(e.outputFile){let c=r.fs.resolvePath(r.cwd,e.outputFile);return await r.fs.writeFile(c,o),{stdout:"",stderr:"",exitCode:0}}return{stdout:o,stderr:"",exitCode:0}}};export{j as sortCommand};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import{a as ar,b as ur}from"./chunk-GTNBSMZR.js";import{a as bt,c as ln,e as fn}from"./chunk-KGOUQS5A.js";var lr=ln((Ve,le)=>{var Fe=void 0,Be=function(l){return Fe||(Fe=new Promise(function(h,d){var c=typeof l<"u"?l:{},b=c.onAbort;c.onAbort=function(e){d(new Error(e)),b&&b(e)},c.postRun=c.postRun||[],c.postRun.push(function(){h(c)}),le=void 0;var i;i||=typeof c<"u"?c:{};var w=typeof window=="object",m=typeof WorkerGlobalScope<"u",R=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string"&&process.type!="renderer";i.onRuntimeInitialized=function(){function e(s,f){switch(typeof f){case"boolean":an(s,f?1:0);break;case"number":nn(s,f);break;case"string":on(s,f,-1,-1);break;case"object":if(f===null)nr(s);else if(f.length!=null){var y=We(f,De);sn(s,y,f.length,-1),Ie(y)}else Qe(s,"Wrong API use : tried to return a value of an unknown type ("+f+").",-1);break;default:nr(s)}}function t(s,f){for(var y=[],g=0;g<s;g+=1){var E=J(f+4*g,"i32"),x=Zr(E);if(x===1||x===2)E=rn(E);else if(x===3)E=en(E);else if(x===4){x=E,E=Kr(x),x=tn(x);for(var H=new Uint8Array(E),Q=0;Q<E;Q+=1)H[Q]=$[x+Q];E=H}else E=null;y.push(E)}return y}function r(s,f){this.Qa=s,this.db=f,this.Oa=1,this.lb=[]}function n(s,f){if(this.db=f,f=ge(s)+1,this.eb=dt(f),this.eb===null)throw Error("Unable to allocate memory for the SQL string");Z(s,k,this.eb,f),this.kb=this.eb,this.Za=this.pb=null}function o(s){if(this.filename="dbfile_"+(4294967295*Math.random()>>>0),s!=null){var f=this.filename,y="/",g=f;if(y&&(y=typeof y=="string"?y:rt(y),g=f?Ke(y+"/"+f):y),f=Mt(!0,!0),g=Nr(g,f),s){if(typeof s=="string"){y=Array(s.length);for(var E=0,x=s.length;E<x;++E)y[E]=s.charCodeAt(E);s=y}$e(g,f|146),y=we(g,577),Ht(y,s,0,s.length,0),ut(y),$e(g,f)}}this.handleError(v(this.filename,a)),this.db=J(a,"i32"),or(this.db),this.fb={},this.Sa={}}var a=ne(4),u=i.cwrap,v=u("sqlite3_open","number",["string","number"]),A=u("sqlite3_close_v2","number",["number"]),S=u("sqlite3_exec","number",["number","string","number","number","number"]),j=u("sqlite3_changes","number",["number"]),U=u("sqlite3_prepare_v2","number",["number","string","number","number","number"]),Zt=u("sqlite3_sql","string",["number"]),$r=u("sqlite3_normalized_sql","string",["number"]),Kt=u("sqlite3_prepare_v2","number",["number","number","number","number","number"]),Pr=u("sqlite3_bind_text","number",["number","number","number","number","number"]),er=u("sqlite3_bind_blob","number",["number","number","number","number","number"]),Cr=u("sqlite3_bind_double","number",["number","number","number"]),Ur=u("sqlite3_bind_int","number",["number","number","number"]),Dr=u("sqlite3_bind_parameter_index","number",["number","string"]),Wr=u("sqlite3_step","number",["number"]),Ir=u("sqlite3_errmsg","string",["number"]),Qr=u("sqlite3_column_count","number",["number"]),Fr=u("sqlite3_data_count","number",["number"]),Br=u("sqlite3_column_double","number",["number","number"]),tr=u("sqlite3_column_text","string",["number","number"]),Vr=u("sqlite3_column_blob","number",["number","number"]),zr=u("sqlite3_column_bytes","number",["number","number"]),Hr=u("sqlite3_column_type","number",["number","number"]),Xr=u("sqlite3_column_name","string",["number","number"]),Yr=u("sqlite3_reset","number",["number"]),Gr=u("sqlite3_clear_bindings","number",["number"]),Jr=u("sqlite3_finalize","number",["number"]),rr=u("sqlite3_create_function_v2","number","number string number number number number number number number".split(" ")),Zr=u("sqlite3_value_type","number",["number"]),Kr=u("sqlite3_value_bytes","number",["number"]),en=u("sqlite3_value_text","string",["number"]),tn=u("sqlite3_value_blob","number",["number"]),rn=u("sqlite3_value_double","number",["number"]),nn=u("sqlite3_result_double","",["number","number"]),nr=u("sqlite3_result_null","",["number"]),on=u("sqlite3_result_text","",["number","string","number","number"]),sn=u("sqlite3_result_blob","",["number","number","number","number"]),an=u("sqlite3_result_int","",["number","number"]),Qe=u("sqlite3_result_error","",["number","string","number"]),ir=u("sqlite3_aggregate_context","number",["number","number"]),or=u("RegisterExtensionFunctions","number",["number"]),sr=u("sqlite3_update_hook","number",["number","number","number"]);r.prototype.bind=function(s){if(!this.Qa)throw"Statement closed";return this.reset(),Array.isArray(s)?this.Cb(s):s!=null&&typeof s=="object"?this.Db(s):!0},r.prototype.step=function(){if(!this.Qa)throw"Statement closed";this.Oa=1;var s=Wr(this.Qa);switch(s){case 100:return!0;case 101:return!1;default:throw this.db.handleError(s)}},r.prototype.wb=function(s){return s==null&&(s=this.Oa,this.Oa+=1),Br(this.Qa,s)},r.prototype.Gb=function(s){if(s==null&&(s=this.Oa,this.Oa+=1),s=tr(this.Qa,s),typeof BigInt!="function")throw Error("BigInt is not supported");return BigInt(s)},r.prototype.Hb=function(s){return s==null&&(s=this.Oa,this.Oa+=1),tr(this.Qa,s)},r.prototype.getBlob=function(s){s==null&&(s=this.Oa,this.Oa+=1);var f=zr(this.Qa,s);s=Vr(this.Qa,s);for(var y=new Uint8Array(f),g=0;g<f;g+=1)y[g]=$[s+g];return y},r.prototype.get=function(s,f){f=f||{},s!=null&&this.bind(s)&&this.step(),s=[];for(var y=Fr(this.Qa),g=0;g<y;g+=1)switch(Hr(this.Qa,g)){case 1:var E=f.useBigInt?this.Gb(g):this.wb(g);s.push(E);break;case 2:s.push(this.wb(g));break;case 3:s.push(this.Hb(g));break;case 4:s.push(this.getBlob(g));break;default:s.push(null)}return s},r.prototype.getColumnNames=function(){for(var s=[],f=Qr(this.Qa),y=0;y<f;y+=1)s.push(Xr(this.Qa,y));return s},r.prototype.getAsObject=function(s,f){s=this.get(s,f),f=this.getColumnNames();for(var y={},g=0;g<f.length;g+=1)y[f[g]]=s[g];return y},r.prototype.getSQL=function(){return Zt(this.Qa)},r.prototype.getNormalizedSQL=function(){return $r(this.Qa)},r.prototype.run=function(s){return s!=null&&this.bind(s),this.step(),this.reset()},r.prototype.sb=function(s,f){f==null&&(f=this.Oa,this.Oa+=1),s=xt(s);var y=We(s,De);this.lb.push(y),this.db.handleError(Pr(this.Qa,f,y,s.length-1,0))},r.prototype.Bb=function(s,f){f==null&&(f=this.Oa,this.Oa+=1);var y=We(s,De);this.lb.push(y),this.db.handleError(er(this.Qa,f,y,s.length,0))},r.prototype.rb=function(s,f){f==null&&(f=this.Oa,this.Oa+=1),this.db.handleError((s===(s|0)?Ur:Cr)(this.Qa,f,s))},r.prototype.Eb=function(s){s==null&&(s=this.Oa,this.Oa+=1),er(this.Qa,s,0,0,0)},r.prototype.tb=function(s,f){switch(f==null&&(f=this.Oa,this.Oa+=1),typeof s){case"string":this.sb(s,f);return;case"number":this.rb(s,f);return;case"bigint":this.sb(s.toString(),f);return;case"boolean":this.rb(s+0,f);return;case"object":if(s===null){this.Eb(f);return}if(s.length!=null){this.Bb(s,f);return}}throw"Wrong API use : tried to bind a value of an unknown type ("+s+")."},r.prototype.Db=function(s){var f=this;return Object.keys(s).forEach(function(y){var g=Dr(f.Qa,y);g!==0&&f.tb(s[y],g)}),!0},r.prototype.Cb=function(s){for(var f=0;f<s.length;f+=1)this.tb(s[f],f+1);return!0},r.prototype.reset=function(){return this.freemem(),Gr(this.Qa)===0&&Yr(this.Qa)===0},r.prototype.freemem=function(){for(var s;(s=this.lb.pop())!==void 0;)Ie(s)},r.prototype.free=function(){this.freemem();var s=Jr(this.Qa)===0;return delete this.db.fb[this.Qa],this.Qa=0,s},n.prototype.next=function(){if(this.eb===null)return{done:!0};if(this.Za!==null&&(this.Za.free(),this.Za=null),!this.db.db)throw this.mb(),Error("Database closed");var s=ke(),f=ne(4);ve(a),ve(f);try{this.db.handleError(Kt(this.db.db,this.kb,-1,a,f)),this.kb=J(f,"i32");var y=J(a,"i32");return y===0?(this.mb(),{done:!0}):(this.Za=new r(y,this.db),this.db.fb[y]=this.Za,{value:this.Za,done:!1})}catch(g){throw this.pb=Ze(this.kb),this.mb(),g}finally{Ae(s)}},n.prototype.mb=function(){Ie(this.eb),this.eb=null},n.prototype.getRemainingSQL=function(){return this.pb!==null?this.pb:Ze(this.kb)},typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"&&(n.prototype[Symbol.iterator]=function(){return this}),o.prototype.run=function(s,f){if(!this.db)throw"Database closed";if(f){s=this.prepare(s,f);try{s.step()}finally{s.free()}}else this.handleError(S(this.db,s,0,0,a));return this},o.prototype.exec=function(s,f,y){if(!this.db)throw"Database closed";var g=ke(),E=null;try{var x=ct(s),H=ne(4);for(s=[];J(x,"i8")!==0;){ve(a),ve(H),this.handleError(Kt(this.db,x,-1,a,H));var Q=J(a,"i32");if(x=J(H,"i32"),Q!==0){var D=null;for(E=new r(Q,this),f!=null&&E.bind(f);E.step();)D===null&&(D={columns:E.getColumnNames(),values:[]},s.push(D)),D.values.push(E.get(null,y));E.free()}}return s}catch(X){throw E&&E.free(),X}finally{Ae(g)}},o.prototype.each=function(s,f,y,g,E){typeof f=="function"&&(g=y,y=f,f=void 0),s=this.prepare(s,f);try{for(;s.step();)y(s.getAsObject(null,E))}finally{s.free()}if(typeof g=="function")return g()},o.prototype.prepare=function(s,f){if(ve(a),this.handleError(U(this.db,s,-1,a,0)),s=J(a,"i32"),s===0)throw"Nothing to prepare";var y=new r(s,this);return f!=null&&y.bind(f),this.fb[s]=y},o.prototype.iterateStatements=function(s){return new n(s,this)},o.prototype.export=function(){Object.values(this.fb).forEach(function(f){f.free()}),Object.values(this.Sa).forEach(re),this.Sa={},this.handleError(A(this.db));var s=Lr(this.filename);return this.handleError(v(this.filename,a)),this.db=J(a,"i32"),or(this.db),s},o.prototype.close=function(){this.db!==null&&(Object.values(this.fb).forEach(function(s){s.free()}),Object.values(this.Sa).forEach(re),this.Sa={},this.Ya&&(re(this.Ya),this.Ya=void 0),this.handleError(A(this.db)),Qt("/"+this.filename),this.db=null)},o.prototype.handleError=function(s){if(s===0)return null;throw s=Ir(this.db),Error(s)},o.prototype.getRowsModified=function(){return j(this.db)},o.prototype.create_function=function(s,f){Object.prototype.hasOwnProperty.call(this.Sa,s)&&(re(this.Sa[s]),delete this.Sa[s]);var y=Se(function(g,E,x){E=t(E,x);try{var H=f.apply(null,E)}catch(Q){Qe(g,Q,-1);return}e(g,H)},"viii");return this.Sa[s]=y,this.handleError(rr(this.db,s,f.length,1,0,y,0,0,0)),this},o.prototype.create_aggregate=function(s,f){var y=f.init||function(){return null},g=f.finalize||function(D){return D},E=f.step;if(!E)throw"An aggregate function must have a step function in "+s;var x={};Object.hasOwnProperty.call(this.Sa,s)&&(re(this.Sa[s]),delete this.Sa[s]),f=s+"__finalize",Object.hasOwnProperty.call(this.Sa,f)&&(re(this.Sa[f]),delete this.Sa[f]);var H=Se(function(D,X,wt){var ue=ir(D,1);Object.hasOwnProperty.call(x,ue)||(x[ue]=y()),X=t(X,wt),X=[x[ue]].concat(X);try{x[ue]=E.apply(null,X)}catch(un){delete x[ue],Qe(D,un,-1)}},"viii"),Q=Se(function(D){var X=ir(D,1);try{var wt=g(x[X])}catch(ue){delete x[X],Qe(D,ue,-1);return}e(D,wt),delete x[X]},"vi");return this.Sa[s]=H,this.Sa[f]=Q,this.handleError(rr(this.db,s,E.length-1,1,0,0,H,Q,0)),this},o.prototype.updateHook=function(s){this.Ya&&(sr(this.db,0,0),re(this.Ya),this.Ya=void 0),s&&(this.Ya=Se(function(f,y,g,E,x){switch(y){case 18:f="insert";break;case 23:f="update";break;case 9:f="delete";break;default:throw"unknown operationCode in updateHook callback: "+y}if(g=g?M(k,g):"",E=E?M(k,E):"",x>Number.MAX_SAFE_INTEGER)throw"rowId too big to fit inside a Number";s(f,g,E,Number(x))},"viiiij"),sr(this.db,this.Ya,0))},i.Database=o};var F={...i},fe="./this.program",he=(e,t)=>{throw t},B="",V,ce;if(R){var Y=bt("fs");bt("path"),B=__dirname+"/",ce=e=>(e=Me(e)?new URL(e):e,Y.readFileSync(e)),V=async e=>(e=Me(e)?new URL(e):e,Y.readFileSync(e,void 0)),!i.thisProgram&&1<process.argv.length&&(fe=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),typeof le<"u"&&(le.exports=i),he=(e,t)=>{throw process.exitCode=e,t}}else(w||m)&&(m?B=self.location.href:typeof document<"u"&&document.currentScript&&(B=document.currentScript.src),B=B.startsWith("blob:")?"":B.slice(0,B.replace(/[?#].*/,"").lastIndexOf("/")+1),m&&(ce=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),V=async e=>{if(Me(e))return new Promise((r,n)=>{var o=new XMLHttpRequest;o.open("GET",e,!0),o.responseType="arraybuffer",o.onload=()=>{o.status==200||o.status==0&&o.response?r(o.response):n(o.status)},o.onerror=n,o.send(null)});var t=await fetch(e,{credentials:"same-origin"});if(t.ok)return t.arrayBuffer();throw Error(t.status+" : "+t.url)});var be=i.print||console.log.bind(console),T=i.printErr||console.error.bind(console);Object.assign(i,F),F=null,i.thisProgram&&(fe=i.thisProgram);var xe=i.wasmBinary,Ne,Le=!1,ze,$,k,ye,N,O,He,z,Xe,Me=e=>e.startsWith("file://");function _t(){var e=Ne.buffer;i.HEAP8=$=new Int8Array(e),i.HEAP16=ye=new Int16Array(e),i.HEAPU8=k=new Uint8Array(e),i.HEAPU16=new Uint16Array(e),i.HEAP32=N=new Int32Array(e),i.HEAPU32=O=new Uint32Array(e),i.HEAPF32=He=new Float32Array(e),i.HEAPF64=Xe=new Float64Array(e),i.HEAP64=z=new BigInt64Array(e),i.HEAPU64=new BigUint64Array(e)}var ie=0,_e=null;function me(e){throw i.onAbort?.(e),e="Aborted("+e+")",T(e),Le=!0,new WebAssembly.RuntimeError(e+". Build with -sASSERTIONS for more info.")}var Ye;async function dr(e){if(!xe)try{var t=await V(e);return new Uint8Array(t)}catch{}if(e==Ye&&xe)e=new Uint8Array(xe);else if(ce)e=ce(e);else throw"both async and sync fetching of the wasm failed";return e}async function pr(e,t){try{var r=await dr(e);return await WebAssembly.instantiate(r,t)}catch(n){T(`failed to asynchronously prepare wasm: ${n}`),me(n)}}async function wr(e){var t=Ye;if(!xe&&typeof WebAssembly.instantiateStreaming=="function"&&!Me(t)&&!R)try{var r=fetch(t,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(r,e)}catch(n){T(`wasm streaming compile failed: ${n}`),T("falling back to ArrayBuffer instantiation")}return pr(t,e)}class Ge{name="ExitStatus";constructor(t){this.message=`Program terminated with exit(${t})`,this.status=t}}var vt=e=>{for(;0<e.length;)e.shift()(i)},gt=[],Et=[],br=()=>{var e=i.preRun.shift();Et.unshift(e)};function J(e,t="i8"){switch(t.endsWith("*")&&(t="*"),t){case"i1":return $[e];case"i8":return $[e];case"i16":return ye[e>>1];case"i32":return N[e>>2];case"i64":return z[e>>3];case"float":return He[e>>2];case"double":return Xe[e>>3];case"*":return O[e>>2];default:me(`invalid type for getValue: ${t}`)}}var Je=i.noExitRuntime||!0;function ve(e){var t="i32";switch(t.endsWith("*")&&(t="*"),t){case"i1":$[e]=0;break;case"i8":$[e]=0;break;case"i16":ye[e>>1]=0;break;case"i32":N[e>>2]=0;break;case"i64":z[e>>3]=BigInt(0);break;case"float":He[e>>2]=0;break;case"double":Xe[e>>3]=0;break;case"*":O[e>>2]=0;break;default:me(`invalid type for setValue: ${t}`)}}var qt=typeof TextDecoder<"u"?new TextDecoder:void 0,M=(e,t=0,r=NaN)=>{var n=t+r;for(r=t;e[r]&&!(r>=n);)++r;if(16<r-t&&e.buffer&&qt)return qt.decode(e.subarray(t,r));for(n="";t<r;){var o=e[t++];if(o&128){var a=e[t++]&63;if((o&224)==192)n+=String.fromCharCode((o&31)<<6|a);else{var u=e[t++]&63;o=(o&240)==224?(o&15)<<12|a<<6|u:(o&7)<<18|a<<12|u<<6|e[t++]&63,65536>o?n+=String.fromCharCode(o):(o-=65536,n+=String.fromCharCode(55296|o>>10,56320|o&1023))}}else n+=String.fromCharCode(o)}return n},Ze=(e,t)=>e?M(k,e,t):"",St=(e,t)=>{for(var r=0,n=e.length-1;0<=n;n--){var o=e[n];o==="."?e.splice(n,1):o===".."?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},Ke=e=>{var t=e.charAt(0)==="/",r=e.slice(-1)==="/";return(e=St(e.split("/").filter(n=>!!n),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},At=e=>{var t=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1);return e=t[0],t=t[1],!e&&!t?".":(t&&=t.slice(0,-1),e+t)},Te=e=>e&&e.match(/([^\/]+|\/)\/*$/)[1],yr=()=>{if(R){var e=bt("crypto");return t=>e.randomFillSync(t)}return t=>crypto.getRandomValues(t)},kt=e=>{(kt=yr())(e)},_r=(...e)=>{for(var t="",r=!1,n=e.length-1;-1<=n&&!r;n--){if(r=0<=n?e[n]:"/",typeof r!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!r)return"";t=r+"/"+t,r=r.charAt(0)==="/"}return t=St(t.split("/").filter(o=>!!o),!r).join("/"),(r?"/":"")+t||"."},et=[],ge=e=>{for(var t=0,r=0;r<e.length;++r){var n=e.charCodeAt(r);127>=n?t++:2047>=n?t+=2:55296<=n&&57343>=n?(t+=4,++r):t+=3}return t},Z=(e,t,r,n)=>{if(!(0<n))return 0;var o=r;n=r+n-1;for(var a=0;a<e.length;++a){var u=e.charCodeAt(a);if(55296<=u&&57343>=u){var v=e.charCodeAt(++a);u=65536+((u&1023)<<10)|v&1023}if(127>=u){if(r>=n)break;t[r++]=u}else{if(2047>=u){if(r+1>=n)break;t[r++]=192|u>>6}else{if(65535>=u){if(r+2>=n)break;t[r++]=224|u>>12}else{if(r+3>=n)break;t[r++]=240|u>>18,t[r++]=128|u>>12&63}t[r++]=128|u>>6&63}t[r++]=128|u&63}}return t[r]=0,r-o},xt=(e,t)=>{var r=Array(ge(e)+1);return e=Z(e,r,0,r.length),t&&(r.length=e),r},Nt=[];function Lt(e,t){Nt[e]={input:[],output:[],cb:t},st(e,vr)}var vr={open(e){var t=Nt[e.node.rdev];if(!t)throw new p(43);e.tty=t,e.seekable=!1},close(e){e.tty.cb.fsync(e.tty)},fsync(e){e.tty.cb.fsync(e.tty)},read(e,t,r,n){if(!e.tty||!e.tty.cb.xb)throw new p(60);for(var o=0,a=0;a<n;a++){try{var u=e.tty.cb.xb(e.tty)}catch{throw new p(29)}if(u===void 0&&o===0)throw new p(6);if(u==null)break;o++,t[r+a]=u}return o&&(e.node.atime=Date.now()),o},write(e,t,r,n){if(!e.tty||!e.tty.cb.qb)throw new p(60);try{for(var o=0;o<n;o++)e.tty.cb.qb(e.tty,t[r+o])}catch{throw new p(29)}return n&&(e.node.mtime=e.node.ctime=Date.now()),o}},gr={xb(){e:{if(!et.length){var e=null;if(R){var t=Buffer.alloc(256),r=0,n=process.stdin.fd;try{r=Y.readSync(n,t,0,256)}catch(o){if(o.toString().includes("EOF"))r=0;else throw o}0<r&&(e=t.slice(0,r).toString("utf-8"))}else typeof window<"u"&&typeof window.prompt=="function"&&(e=window.prompt("Input: "),e!==null&&(e+=`
|
|
3
|
+
`));if(!e){e=null;break e}et=xt(e,!0)}e=et.shift()}return e},qb(e,t){t===null||t===10?(be(M(e.output)),e.output=[]):t!=0&&e.output.push(t)},fsync(e){0<e.output?.length&&(be(M(e.output)),e.output=[])},Tb(){return{Ob:25856,Qb:5,Nb:191,Pb:35387,Mb:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},Ub(){return 0},Vb(){return[24,80]}},Er={qb(e,t){t===null||t===10?(T(M(e.output)),e.output=[]):t!=0&&e.output.push(t)},fsync(e){0<e.output?.length&&(T(M(e.output)),e.output=[])}},q={Wa:null,Xa(){return q.createNode(null,"/",16895,0)},createNode(e,t,r,n){if((r&61440)===24576||(r&61440)===4096)throw new p(63);return q.Wa||(q.Wa={dir:{node:{Ta:q.La.Ta,Ua:q.La.Ua,lookup:q.La.lookup,hb:q.La.hb,rename:q.La.rename,unlink:q.La.unlink,rmdir:q.La.rmdir,readdir:q.La.readdir,symlink:q.La.symlink},stream:{Va:q.Ma.Va}},file:{node:{Ta:q.La.Ta,Ua:q.La.Ua},stream:{Va:q.Ma.Va,read:q.Ma.read,write:q.Ma.write,ib:q.Ma.ib,jb:q.Ma.jb}},link:{node:{Ta:q.La.Ta,Ua:q.La.Ua,readlink:q.La.readlink},stream:{}},ub:{node:{Ta:q.La.Ta,Ua:q.La.Ua},stream:xr}}),r=$t(e,t,r,n),C(r.mode)?(r.La=q.Wa.dir.node,r.Ma=q.Wa.dir.stream,r.Na={}):(r.mode&61440)===32768?(r.La=q.Wa.file.node,r.Ma=q.Wa.file.stream,r.Ra=0,r.Na=null):(r.mode&61440)===40960?(r.La=q.Wa.link.node,r.Ma=q.Wa.link.stream):(r.mode&61440)===8192&&(r.La=q.Wa.ub.node,r.Ma=q.Wa.ub.stream),r.atime=r.mtime=r.ctime=Date.now(),e&&(e.Na[t]=r,e.atime=e.mtime=e.ctime=r.atime),r},Sb(e){return e.Na?e.Na.subarray?e.Na.subarray(0,e.Ra):new Uint8Array(e.Na):new Uint8Array(0)},La:{Ta(e){var t={};return t.dev=(e.mode&61440)===8192?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,C(e.mode)?t.size=4096:(e.mode&61440)===32768?t.size=e.Ra:(e.mode&61440)===40960?t.size=e.link.length:t.size=0,t.atime=new Date(e.atime),t.mtime=new Date(e.mtime),t.ctime=new Date(e.ctime),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},Ua(e,t){for(var r of["mode","atime","mtime","ctime"])t[r]!=null&&(e[r]=t[r]);t.size!==void 0&&(t=t.size,e.Ra!=t&&(t==0?(e.Na=null,e.Ra=0):(r=e.Na,e.Na=new Uint8Array(t),r&&e.Na.set(r.subarray(0,Math.min(t,e.Ra))),e.Ra=t)))},lookup(){throw q.vb},hb(e,t,r,n){return q.createNode(e,t,r,n)},rename(e,t,r){try{var n=oe(t,r)}catch{}if(n){if(C(e.mode))for(var o in n.Na)throw new p(55);it(n)}delete e.parent.Na[e.name],t.Na[r]=e,e.name=r,t.ctime=t.mtime=e.parent.ctime=e.parent.mtime=Date.now()},unlink(e,t){delete e.Na[t],e.ctime=e.mtime=Date.now()},rmdir(e,t){var r=oe(e,t),n;for(n in r.Na)throw new p(55);delete e.Na[t],e.ctime=e.mtime=Date.now()},readdir(e){return[".","..",...Object.keys(e.Na)]},symlink(e,t,r){return e=q.createNode(e,t,41471,0),e.link=r,e},readlink(e){if((e.mode&61440)!==40960)throw new p(28);return e.link}},Ma:{read(e,t,r,n,o){var a=e.node.Na;if(o>=e.node.Ra)return 0;if(e=Math.min(e.node.Ra-o,n),8<e&&a.subarray)t.set(a.subarray(o,o+e),r);else for(n=0;n<e;n++)t[r+n]=a[o+n];return e},write(e,t,r,n,o,a){if(t.buffer===$.buffer&&(a=!1),!n)return 0;if(e=e.node,e.mtime=e.ctime=Date.now(),t.subarray&&(!e.Na||e.Na.subarray)){if(a)return e.Na=t.subarray(r,r+n),e.Ra=n;if(e.Ra===0&&o===0)return e.Na=t.slice(r,r+n),e.Ra=n;if(o+n<=e.Ra)return e.Na.set(t.subarray(r,r+n),o),n}a=o+n;var u=e.Na?e.Na.length:0;if(u>=a||(a=Math.max(a,u*(1048576>u?2:1.125)>>>0),u!=0&&(a=Math.max(a,256)),u=e.Na,e.Na=new Uint8Array(a),0<e.Ra&&e.Na.set(u.subarray(0,e.Ra),0)),e.Na.subarray&&t.subarray)e.Na.set(t.subarray(r,r+n),o);else for(a=0;a<n;a++)e.Na[o+a]=t[r+a];return e.Ra=Math.max(e.Ra,o+n),n},Va(e,t,r){if(r===1?t+=e.position:r===2&&(e.node.mode&61440)===32768&&(t+=e.node.Ra),0>t)throw new p(28);return t},ib(e,t,r,n,o){if((e.node.mode&61440)!==32768)throw new p(43);if(e=e.node.Na,o&2||!e||e.buffer!==$.buffer){o=!0,n=65536*Math.ceil(t/65536);var a=Gt(65536,n);if(a&&k.fill(0,a,a+n),n=a,!n)throw new p(48);e&&((0<r||r+t<e.length)&&(e.subarray?e=e.subarray(r,r+t):e=Array.prototype.slice.call(e,r,r+t)),$.set(e,n))}else o=!1,n=e.byteOffset;return{Kb:n,Ab:o}},jb(e,t,r,n){return q.Ma.write(e,t,0,n,r,!1),0}}},Mt=(e,t)=>{var r=0;return e&&(r|=365),t&&(r|=146),r},tt=null,Tt={},de=[],qr=1,ee=null,jt=!1,Rt=!0,Ot={},p=class{name="ErrnoError";constructor(e){this.Pa=e}},Sr=class{gb={};node=null;get flags(){return this.gb.flags}set flags(e){this.gb.flags=e}get position(){return this.gb.position}set position(e){this.gb.position=e}},Ar=class{La={};Ma={};ab=null;constructor(e,t,r,n){e||=this,this.parent=e,this.Xa=e.Xa,this.id=qr++,this.name=t,this.mode=r,this.rdev=n,this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&365)===365}set read(e){e?this.mode|=365:this.mode&=-366}get write(){return(this.mode&146)===146}set write(e){e?this.mode|=146:this.mode&=-147}};function I(e,t={}){if(!e)throw new p(44);t.nb??(t.nb=!0),e.charAt(0)==="/"||(e="//"+e);var r=0;e:for(;40>r;r++){e=e.split("/").filter(v=>!!v);for(var n=tt,o="/",a=0;a<e.length;a++){var u=a===e.length-1;if(u&&t.parent)break;if(e[a]!==".")if(e[a]==="..")o=At(o),n=n.parent;else{o=Ke(o+"/"+e[a]);try{n=oe(n,e[a])}catch(v){if(v?.Pa===44&&u&&t.Jb)return{path:o};throw v}if(!n.ab||u&&!t.nb||(n=n.ab.root),(n.mode&61440)===40960&&(!u||t.$a)){if(!n.La.readlink)throw new p(52);n=n.La.readlink(n),n.charAt(0)==="/"||(n=At(o)+"/"+n),e=n+"/"+e.slice(a+1).join("/");continue e}}}return{path:o,node:n}}throw new p(32)}function rt(e){for(var t;;){if(e===e.parent)return e=e.Xa.zb,t?e[e.length-1]!=="/"?`${e}/${t}`:e+t:e;t=t?`${e.name}/${t}`:e.name,e=e.parent}}function nt(e,t){for(var r=0,n=0;n<t.length;n++)r=(r<<5)-r+t.charCodeAt(n)|0;return(e+r>>>0)%ee.length}function it(e){var t=nt(e.parent.id,e.name);if(ee[t]===e)ee[t]=e.bb;else for(t=ee[t];t;){if(t.bb===e){t.bb=e.bb;break}t=t.bb}}function oe(e,t){var r=C(e.mode)?(r=pe(e,"x"))?r:e.La.lookup?0:2:54;if(r)throw new p(r);for(r=ee[nt(e.id,t)];r;r=r.bb){var n=r.name;if(r.parent.id===e.id&&n===t)return r}return e.La.lookup(e,t)}function $t(e,t,r,n){return e=new Ar(e,t,r,n),t=nt(e.parent.id,e.name),e.bb=ee[t],ee[t]=e}function C(e){return(e&61440)===16384}function Pt(e){var t=["r","w","rw"][e&3];return e&512&&(t+="w"),t}function pe(e,t){if(Rt)return 0;if(!t.includes("r")||e.mode&292){if(t.includes("w")&&!(e.mode&146)||t.includes("x")&&!(e.mode&73))return 2}else return 2;return 0}function Ct(e,t){if(!C(e.mode))return 54;try{return oe(e,t),20}catch{}return pe(e,"wx")}function Ut(e,t,r){try{var n=oe(e,t)}catch(o){return o.Pa}if(e=pe(e,"wx"))return e;if(r){if(!C(n.mode))return 54;if(n===n.parent||rt(n)==="/")return 10}else if(C(n.mode))return 31;return 0}function je(e){if(!e)throw new p(63);return e}function P(e){if(e=de[e],!e)throw new p(8);return e}function Dt(e,t=-1){if(e=Object.assign(new Sr,e),t==-1)e:{for(t=0;4096>=t;t++)if(!de[t])break e;throw new p(33)}return e.fd=t,de[t]=e}function kr(e,t=-1){return e=Dt(e,t),e.Ma?.Rb?.(e),e}function ot(e,t,r){var n=e?.Ma.Ua;e=n?e:t,n??=t.La.Ua,je(n),n(e,r)}var xr={open(e){e.Ma=Tt[e.node.rdev].Ma,e.Ma.open?.(e)},Va(){throw new p(70)}};function st(e,t){Tt[e]={Ma:t}}function Wt(e,t){var r=t==="/";if(r&&tt)throw new p(10);if(!r&&t){var n=I(t,{nb:!1});if(t=n.path,n=n.node,n.ab)throw new p(10);if(!C(n.mode))throw new p(54)}t={type:e,Wb:{},zb:t,Ib:[]},e=e.Xa(t),e.Xa=t,t.root=e,r?tt=e:n&&(n.ab=t,n.Xa&&n.Xa.Ib.push(t))}function Re(e,t,r){var n=I(e,{parent:!0}).node;if(e=Te(e),!e)throw new p(28);if(e==="."||e==="..")throw new p(20);var o=Ct(n,e);if(o)throw new p(o);if(!n.La.hb)throw new p(63);return n.La.hb(n,e,t,r)}function Nr(e,t=438){return Re(e,t&4095|32768,0)}function G(e,t=511){return Re(e,t&1023|16384,0)}function Oe(e,t,r){typeof r>"u"&&(r=t,t=438),Re(e,t|8192,r)}function at(e,t){if(!_r(e))throw new p(44);var r=I(t,{parent:!0}).node;if(!r)throw new p(44);t=Te(t);var n=Ct(r,t);if(n)throw new p(n);if(!r.La.symlink)throw new p(63);r.La.symlink(r,t,e)}function It(e){var t=I(e,{parent:!0}).node;e=Te(e);var r=oe(t,e),n=Ut(t,e,!0);if(n)throw new p(n);if(!t.La.rmdir)throw new p(63);if(r.ab)throw new p(10);t.La.rmdir(t,e),it(r)}function Qt(e){var t=I(e,{parent:!0}).node;if(!t)throw new p(44);e=Te(e);var r=oe(t,e),n=Ut(t,e,!1);if(n)throw new p(n);if(!t.La.unlink)throw new p(63);if(r.ab)throw new p(10);t.La.unlink(t,e),it(r)}function Ee(e,t){return e=I(e,{$a:!t}).node,je(e.La.Ta)(e)}function Ft(e,t,r,n){ot(e,t,{mode:r&4095|t.mode&-4096,ctime:Date.now(),Fb:n})}function $e(e,t){e=typeof e=="string"?I(e,{$a:!0}).node:e,Ft(null,e,t)}function Bt(e,t,r){if(C(t.mode))throw new p(31);if((t.mode&61440)!==32768)throw new p(28);var n=pe(t,"w");if(n)throw new p(n);ot(e,t,{size:r,timestamp:Date.now()})}function we(e,t,r=438){if(e==="")throw new p(44);if(typeof t=="string"){var n={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[t];if(typeof n>"u")throw Error(`Unknown file open mode: ${t}`);t=n}if(r=t&64?r&4095|32768:0,typeof e=="object")n=e;else{var o=e.endsWith("/");e=I(e,{$a:!(t&131072),Jb:!0}),n=e.node,e=e.path}var a=!1;if(t&64)if(n){if(t&128)throw new p(20)}else{if(o)throw new p(31);n=Re(e,r|511,0),a=!0}if(!n)throw new p(44);if((n.mode&61440)===8192&&(t&=-513),t&65536&&!C(n.mode))throw new p(54);if(!a&&(o=n?(n.mode&61440)===40960?32:C(n.mode)&&(Pt(t)!=="r"||t&576)?31:pe(n,Pt(t)):44))throw new p(o);return t&512&&!a&&(o=n,o=typeof o=="string"?I(o,{$a:!0}).node:o,Bt(null,o,0)),t&=-131713,o=Dt({node:n,path:rt(n),flags:t,seekable:!0,position:0,Ma:n.Ma,Lb:[],error:!1}),o.Ma.open&&o.Ma.open(o),a&&$e(n,r&511),!i.logReadFiles||t&1||e in Ot||(Ot[e]=1),o}function ut(e){if(e.fd===null)throw new p(8);e.ob&&(e.ob=null);try{e.Ma.close&&e.Ma.close(e)}catch(t){throw t}finally{de[e.fd]=null}e.fd=null}function Vt(e,t,r){if(e.fd===null)throw new p(8);if(!e.seekable||!e.Ma.Va)throw new p(70);if(r!=0&&r!=1&&r!=2)throw new p(28);e.position=e.Ma.Va(e,t,r),e.Lb=[]}function zt(e,t,r,n,o){if(0>n||0>o)throw new p(28);if(e.fd===null)throw new p(8);if((e.flags&2097155)===1)throw new p(8);if(C(e.node.mode))throw new p(31);if(!e.Ma.read)throw new p(28);var a=typeof o<"u";if(!a)o=e.position;else if(!e.seekable)throw new p(70);return t=e.Ma.read(e,t,r,n,o),a||(e.position+=t),t}function Ht(e,t,r,n,o){if(0>n||0>o)throw new p(28);if(e.fd===null)throw new p(8);if((e.flags&2097155)===0)throw new p(8);if(C(e.node.mode))throw new p(31);if(!e.Ma.write)throw new p(28);e.seekable&&e.flags&1024&&Vt(e,0,2);var a=typeof o<"u";if(!a)o=e.position;else if(!e.seekable)throw new p(70);return t=e.Ma.write(e,t,r,n,o,void 0),a||(e.position+=t),t}function Lr(e){var t="binary";if(t!=="utf8"&&t!=="binary")throw Error(`Invalid encoding type "${t}"`);var r,n=we(e,n||0);e=Ee(e).size;var o=new Uint8Array(e);return zt(n,o,0,e,0),t==="utf8"?r=M(o):t==="binary"&&(r=o),ut(n),r}function te(e,t,r){e=Ke("/dev/"+e);var n=Mt(!!t,!!r);te.yb??(te.yb=64);var o=te.yb++<<8|0;st(o,{open(a){a.seekable=!1},close(){r?.buffer?.length&&r(10)},read(a,u,v,A){for(var S=0,j=0;j<A;j++){try{var U=t()}catch{throw new p(29)}if(U===void 0&&S===0)throw new p(6);if(U==null)break;S++,u[v+j]=U}return S&&(a.node.atime=Date.now()),S},write(a,u,v,A){for(var S=0;S<A;S++)try{r(u[v+S])}catch{throw new p(29)}return A&&(a.node.mtime=a.node.ctime=Date.now()),S}}),Oe(e,n,o)}var L={};function se(e,t,r){if(t.charAt(0)==="/")return t;if(e=e===-100?"/":P(e).path,t.length==0){if(!r)throw new p(44);return e}return e+"/"+t}function Pe(e,t){N[e>>2]=t.dev,N[e+4>>2]=t.mode,O[e+8>>2]=t.nlink,N[e+12>>2]=t.uid,N[e+16>>2]=t.gid,N[e+20>>2]=t.rdev,z[e+24>>3]=BigInt(t.size),N[e+32>>2]=4096,N[e+36>>2]=t.blocks;var r=t.atime.getTime(),n=t.mtime.getTime(),o=t.ctime.getTime();return z[e+40>>3]=BigInt(Math.floor(r/1e3)),O[e+48>>2]=r%1e3*1e6,z[e+56>>3]=BigInt(Math.floor(n/1e3)),O[e+64>>2]=n%1e3*1e6,z[e+72>>3]=BigInt(Math.floor(o/1e3)),O[e+80>>2]=o%1e3*1e6,z[e+88>>3]=BigInt(t.ino),0}var Ce=void 0,Ue=()=>{var e=N[+Ce>>2];return Ce+=4,e},lt=0,Mr=[0,31,60,91,121,152,182,213,244,274,305,335],Tr=[0,31,59,90,120,151,181,212,243,273,304,334],qe={},Xt=e=>{ze=e,Je||0<lt||(i.onExit?.(e),Le=!0),he(e,new Ge(e))},jr=e=>{if(!Le)try{if(e(),!(Je||0<lt))try{ze=e=ze,Xt(e)}catch(t){t instanceof Ge||t=="unwind"||he(1,t)}}catch(t){t instanceof Ge||t=="unwind"||he(1,t)}},ft={},Yt=()=>{if(!ht){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:fe||"./this.program"},t;for(t in ft)ft[t]===void 0?delete e[t]:e[t]=ft[t];var r=[];for(t in e)r.push(`${t}=${e[t]}`);ht=r}return ht},ht,ct=e=>{var t=ge(e)+1,r=ne(t);return Z(e,k,r,t),r},Rr=(e,t,r,n)=>{var o={string:S=>{var j=0;return S!=null&&S!==0&&(j=ct(S)),j},array:S=>{var j=ne(S.length);return $.set(S,j),j}};e=i["_"+e];var a=[],u=0;if(n)for(var v=0;v<n.length;v++){var A=o[r[v]];A?(u===0&&(u=ke()),a[v]=A(n[v])):a[v]=n[v]}return r=e(...a),r=(function(S){return u!==0&&Ae(u),t==="string"?S?M(k,S):"":t==="boolean"?!!S:S})(r)},De=0,We=(e,t)=>(t=t==1?ne(e.length):dt(e.length),e.subarray||e.slice||(e=new Uint8Array(e)),k.set(e,t),t),ae,mt=[],K,re=e=>{ae.delete(K.get(e)),K.set(e,null),mt.push(e)},Se=(e,t)=>{if(!ae){ae=new WeakMap;var r=K.length;if(ae)for(var n=0;n<0+r;n++){var o=K.get(n);o&&ae.set(o,n)}}if(r=ae.get(e)||0)return r;if(mt.length)r=mt.pop();else{try{K.grow(1)}catch(A){throw A instanceof RangeError?"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.":A}r=K.length-1}try{K.set(r,e)}catch(A){if(!(A instanceof TypeError))throw A;if(typeof WebAssembly.Function=="function"){var a=WebAssembly.Function;n={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"},o={parameters:[],results:t[0]=="v"?[]:[n[t[0]]]};for(var u=1;u<t.length;++u)o.parameters.push(n[t[u]]);t=new a(o,e)}else{n=[1],o=t.slice(0,1),t=t.slice(1),u={i:127,p:127,j:126,f:125,d:124,e:111},n.push(96);var v=t.length;128>v?n.push(v):n.push(v%128|128,v>>7);for(a of t)n.push(u[a]);o=="v"?n.push(0):n.push(1,u[o]),t=[0,97,115,109,1,0,0,0,1],a=n.length,128>a?t.push(a):t.push(a%128|128,a>>7),t.push(...n),t.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0),t=new WebAssembly.Module(new Uint8Array(t)),t=new WebAssembly.Instance(t,{e:{f:e}}).exports.f}K.set(r,t)}return ae.set(e,r),r};ee=Array(4096),Wt(q,"/"),G("/tmp"),G("/home"),G("/home/web_user"),(function(){G("/dev"),st(259,{read:()=>0,write:(n,o,a,u)=>u,Va:()=>0}),Oe("/dev/null",259),Lt(1280,gr),Lt(1536,Er),Oe("/dev/tty",1280),Oe("/dev/tty1",1536);var e=new Uint8Array(1024),t=0,r=()=>(t===0&&(kt(e),t=e.byteLength),e[--t]);te("random",r),te("urandom",r),G("/dev/shm"),G("/dev/shm/tmp")})(),(function(){G("/proc");var e=G("/proc/self");G("/proc/self/fd"),Wt({Xa(){var t=$t(e,"fd",16895,73);return t.Ma={Va:q.Ma.Va},t.La={lookup(r,n){r=+n;var o=P(r);return r={parent:null,Xa:{zb:"fake"},La:{readlink:()=>o.path},id:r+1},r.parent=r},readdir(){return Array.from(de.entries()).filter(([,r])=>r).map(([r])=>r.toString())}},t}},"/proc/self/fd")})(),q.vb=new p(44),q.vb.stack="<generic error, no stack>";var Or={a:(e,t,r,n)=>me(`Assertion failed: ${e?M(k,e):""}, at: `+[t?t?M(k,t):"":"unknown filename",r,n?n?M(k,n):"":"unknown function"]),i:function(e,t){try{return e=e?M(k,e):"",$e(e,t),0}catch(r){if(typeof L>"u"||r.name!=="ErrnoError")throw r;return-r.Pa}},L:function(e,t,r){try{if(t=t?M(k,t):"",t=se(e,t),r&-8)return-28;var n=I(t,{$a:!0}).node;return n?(e="",r&4&&(e+="r"),r&2&&(e+="w"),r&1&&(e+="x"),e&&pe(n,e)?-2:0):-44}catch(o){if(typeof L>"u"||o.name!=="ErrnoError")throw o;return-o.Pa}},j:function(e,t){try{var r=P(e);return Ft(r,r.node,t,!1),0}catch(n){if(typeof L>"u"||n.name!=="ErrnoError")throw n;return-n.Pa}},h:function(e){try{var t=P(e);return ot(t,t.node,{timestamp:Date.now(),Fb:!1}),0}catch(r){if(typeof L>"u"||r.name!=="ErrnoError")throw r;return-r.Pa}},b:function(e,t,r){Ce=r;try{var n=P(e);switch(t){case 0:var o=Ue();if(0>o)break;for(;de[o];)o++;return kr(n,o).fd;case 1:case 2:return 0;case 3:return n.flags;case 4:return o=Ue(),n.flags|=o,0;case 12:return o=Ue(),ye[o+0>>1]=2,0;case 13:case 14:return 0}return-28}catch(a){if(typeof L>"u"||a.name!=="ErrnoError")throw a;return-a.Pa}},g:function(e,t){try{var r=P(e),n=r.node,o=r.Ma.Ta;e=o?r:n,o??=n.La.Ta,je(o);var a=o(e);return Pe(t,a)}catch(u){if(typeof L>"u"||u.name!=="ErrnoError")throw u;return-u.Pa}},H:function(e,t){t=-9007199254740992>t||9007199254740992<t?NaN:Number(t);try{if(isNaN(t))return 61;var r=P(e);if(0>t||(r.flags&2097155)===0)throw new p(28);return Bt(r,r.node,t),0}catch(n){if(typeof L>"u"||n.name!=="ErrnoError")throw n;return-n.Pa}},G:function(e,t){try{if(t===0)return-28;var r=ge("/")+1;return t<r?-68:(Z("/",k,e,t),r)}catch(n){if(typeof L>"u"||n.name!=="ErrnoError")throw n;return-n.Pa}},K:function(e,t){try{return e=e?M(k,e):"",Pe(t,Ee(e,!0))}catch(r){if(typeof L>"u"||r.name!=="ErrnoError")throw r;return-r.Pa}},C:function(e,t,r){try{return t=t?M(k,t):"",t=se(e,t),G(t,r),0}catch(n){if(typeof L>"u"||n.name!=="ErrnoError")throw n;return-n.Pa}},J:function(e,t,r,n){try{t=t?M(k,t):"";var o=n&256;return t=se(e,t,n&4096),Pe(r,o?Ee(t,!0):Ee(t))}catch(a){if(typeof L>"u"||a.name!=="ErrnoError")throw a;return-a.Pa}},x:function(e,t,r,n){Ce=n;try{t=t?M(k,t):"",t=se(e,t);var o=n?Ue():0;return we(t,r,o).fd}catch(a){if(typeof L>"u"||a.name!=="ErrnoError")throw a;return-a.Pa}},v:function(e,t,r,n){try{if(t=t?M(k,t):"",t=se(e,t),0>=n)return-28;var o=I(t).node;if(!o)throw new p(44);if(!o.La.readlink)throw new p(28);var a=o.La.readlink(o),u=Math.min(n,ge(a)),v=$[r+u];return Z(a,k,r,n+1),$[r+u]=v,u}catch(A){if(typeof L>"u"||A.name!=="ErrnoError")throw A;return-A.Pa}},u:function(e){try{return e=e?M(k,e):"",It(e),0}catch(t){if(typeof L>"u"||t.name!=="ErrnoError")throw t;return-t.Pa}},f:function(e,t){try{return e=e?M(k,e):"",Pe(t,Ee(e))}catch(r){if(typeof L>"u"||r.name!=="ErrnoError")throw r;return-r.Pa}},r:function(e,t,r){try{return t=t?M(k,t):"",t=se(e,t),r===0?Qt(t):r===512?It(t):me("Invalid flags passed to unlinkat"),0}catch(n){if(typeof L>"u"||n.name!=="ErrnoError")throw n;return-n.Pa}},q:function(e,t,r){try{t=t?M(k,t):"",t=se(e,t,!0);var n=Date.now(),o,a;if(r){var u=O[r>>2]+4294967296*N[r+4>>2],v=N[r+8>>2];v==1073741823?o=n:v==1073741822?o=null:o=1e3*u+v/1e6,r+=16,u=O[r>>2]+4294967296*N[r+4>>2],v=N[r+8>>2],v==1073741823?a=n:v==1073741822?a=null:a=1e3*u+v/1e6}else a=o=n;if((a??o)!==null){e=o;var A=I(t,{$a:!0}).node;je(A.La.Ua)(A,{atime:e,mtime:a})}return 0}catch(S){if(typeof L>"u"||S.name!=="ErrnoError")throw S;return-S.Pa}},m:()=>me(""),l:()=>{Je=!1,lt=0},A:function(e,t){e=-9007199254740992>e||9007199254740992<e?NaN:Number(e),e=new Date(1e3*e),N[t>>2]=e.getSeconds(),N[t+4>>2]=e.getMinutes(),N[t+8>>2]=e.getHours(),N[t+12>>2]=e.getDate(),N[t+16>>2]=e.getMonth(),N[t+20>>2]=e.getFullYear()-1900,N[t+24>>2]=e.getDay();var r=e.getFullYear();N[t+28>>2]=(r%4!==0||r%100===0&&r%400!==0?Tr:Mr)[e.getMonth()]+e.getDate()-1|0,N[t+36>>2]=-(60*e.getTimezoneOffset()),r=new Date(e.getFullYear(),6,1).getTimezoneOffset();var n=new Date(e.getFullYear(),0,1).getTimezoneOffset();N[t+32>>2]=(r!=n&&e.getTimezoneOffset()==Math.min(n,r))|0},y:function(e,t,r,n,o,a,u){o=-9007199254740992>o||9007199254740992<o?NaN:Number(o);try{if(isNaN(o))return 61;var v=P(n);if((t&2)!==0&&(r&2)===0&&(v.flags&2097155)!==2)throw new p(2);if((v.flags&2097155)===1)throw new p(2);if(!v.Ma.ib)throw new p(43);if(!e)throw new p(28);var A=v.Ma.ib(v,e,o,t,r),S=A.Kb;return N[a>>2]=A.Ab,O[u>>2]=S,0}catch(j){if(typeof L>"u"||j.name!=="ErrnoError")throw j;return-j.Pa}},z:function(e,t,r,n,o,a){a=-9007199254740992>a||9007199254740992<a?NaN:Number(a);try{var u=P(o);if(r&2){if(r=a,(u.node.mode&61440)!==32768)throw new p(43);if(!(n&2)){var v=k.slice(e,e+t);u.Ma.jb&&u.Ma.jb(u,v,r,t,n)}}}catch(A){if(typeof L>"u"||A.name!=="ErrnoError")throw A;return-A.Pa}},n:(e,t)=>{if(qe[e]&&(clearTimeout(qe[e].id),delete qe[e]),!t)return 0;var r=setTimeout(()=>{delete qe[e],jr(()=>Jt(e,performance.now()))},t);return qe[e]={id:r,Xb:t},0},B:(e,t,r,n)=>{var o=new Date().getFullYear(),a=new Date(o,0,1).getTimezoneOffset();o=new Date(o,6,1).getTimezoneOffset(),O[e>>2]=60*Math.max(a,o),N[t>>2]=+(a!=o),t=u=>{var v=Math.abs(u);return`UTC${0<=u?"-":"+"}${String(Math.floor(v/60)).padStart(2,"0")}${String(v%60).padStart(2,"0")}`},e=t(a),t=t(o),o<a?(Z(e,k,r,17),Z(t,k,n,17)):(Z(e,k,n,17),Z(t,k,r,17))},d:()=>Date.now(),s:()=>2147483648,c:()=>performance.now(),o:e=>{var t=k.length;if(e>>>=0,2147483648<e)return!1;for(var r=1;4>=r;r*=2){var n=t*(1+.2/r);n=Math.min(n,e+100663296);e:{n=(Math.min(2147483648,65536*Math.ceil(Math.max(e,n)/65536))-Ne.buffer.byteLength+65535)/65536|0;try{Ne.grow(n),_t();var o=1;break e}catch{}o=void 0}if(o)return!0}return!1},E:(e,t)=>{var r=0;return Yt().forEach((n,o)=>{var a=t+r;for(o=O[e+4*o>>2]=a,a=0;a<n.length;++a)$[o++]=n.charCodeAt(a);$[o]=0,r+=n.length+1}),0},F:(e,t)=>{var r=Yt();O[e>>2]=r.length;var n=0;return r.forEach(o=>n+=o.length+1),O[t>>2]=n,0},e:function(e){try{var t=P(e);return ut(t),0}catch(r){if(typeof L>"u"||r.name!=="ErrnoError")throw r;return r.Pa}},p:function(e,t){try{var r=P(e);return $[t]=r.tty?2:C(r.mode)?3:(r.mode&61440)===40960?7:4,ye[t+2>>1]=0,z[t+8>>3]=BigInt(0),z[t+16>>3]=BigInt(0),0}catch(n){if(typeof L>"u"||n.name!=="ErrnoError")throw n;return n.Pa}},w:function(e,t,r,n){try{e:{var o=P(e);e=t;for(var a,u=t=0;u<r;u++){var v=O[e>>2],A=O[e+4>>2];e+=8;var S=zt(o,$,v,A,a);if(0>S){var j=-1;break e}if(t+=S,S<A)break;typeof a<"u"&&(a+=S)}j=t}return O[n>>2]=j,0}catch(U){if(typeof L>"u"||U.name!=="ErrnoError")throw U;return U.Pa}},D:function(e,t,r,n){t=-9007199254740992>t||9007199254740992<t?NaN:Number(t);try{if(isNaN(t))return 61;var o=P(e);return Vt(o,t,r),z[n>>3]=BigInt(o.position),o.ob&&t===0&&r===0&&(o.ob=null),0}catch(a){if(typeof L>"u"||a.name!=="ErrnoError")throw a;return a.Pa}},I:function(e){try{var t=P(e);return t.Ma?.fsync?t.Ma.fsync(t):0}catch(r){if(typeof L>"u"||r.name!=="ErrnoError")throw r;return r.Pa}},t:function(e,t,r,n){try{e:{var o=P(e);e=t;for(var a,u=t=0;u<r;u++){var v=O[e>>2],A=O[e+4>>2];e+=8;var S=Ht(o,$,v,A,a);if(0>S){var j=-1;break e}if(t+=S,S<A)break;typeof a<"u"&&(a+=S)}j=t}return O[n>>2]=j,0}catch(U){if(typeof L>"u"||U.name!=="ErrnoError")throw U;return U.Pa}},k:Xt},_;(async function(){function e(r){return _=r.exports,Ne=_.M,_t(),K=_.O,ie--,i.monitorRunDependencies?.(ie),ie==0&&_e&&(r=_e,_e=null,r()),_}ie++,i.monitorRunDependencies?.(ie);var t={a:Or};return i.instantiateWasm?new Promise(r=>{i.instantiateWasm(t,(n,o)=>{e(n,o),r(n.exports)})}):(Ye??=i.locateFile?i.locateFile("sql-wasm.wasm",B):B+"sql-wasm.wasm",e((await wr(t)).instance))})(),i._sqlite3_free=e=>(i._sqlite3_free=_.P)(e),i._sqlite3_value_text=e=>(i._sqlite3_value_text=_.Q)(e),i._sqlite3_prepare_v2=(e,t,r,n,o)=>(i._sqlite3_prepare_v2=_.R)(e,t,r,n,o),i._sqlite3_step=e=>(i._sqlite3_step=_.S)(e),i._sqlite3_reset=e=>(i._sqlite3_reset=_.T)(e),i._sqlite3_exec=(e,t,r,n,o)=>(i._sqlite3_exec=_.U)(e,t,r,n,o),i._sqlite3_finalize=e=>(i._sqlite3_finalize=_.V)(e),i._sqlite3_column_name=(e,t)=>(i._sqlite3_column_name=_.W)(e,t),i._sqlite3_column_text=(e,t)=>(i._sqlite3_column_text=_.X)(e,t),i._sqlite3_column_type=(e,t)=>(i._sqlite3_column_type=_.Y)(e,t),i._sqlite3_errmsg=e=>(i._sqlite3_errmsg=_.Z)(e),i._sqlite3_clear_bindings=e=>(i._sqlite3_clear_bindings=_._)(e),i._sqlite3_value_blob=e=>(i._sqlite3_value_blob=_.$)(e),i._sqlite3_value_bytes=e=>(i._sqlite3_value_bytes=_.aa)(e),i._sqlite3_value_double=e=>(i._sqlite3_value_double=_.ba)(e),i._sqlite3_value_int=e=>(i._sqlite3_value_int=_.ca)(e),i._sqlite3_value_type=e=>(i._sqlite3_value_type=_.da)(e),i._sqlite3_result_blob=(e,t,r,n)=>(i._sqlite3_result_blob=_.ea)(e,t,r,n),i._sqlite3_result_double=(e,t)=>(i._sqlite3_result_double=_.fa)(e,t),i._sqlite3_result_error=(e,t,r)=>(i._sqlite3_result_error=_.ga)(e,t,r),i._sqlite3_result_int=(e,t)=>(i._sqlite3_result_int=_.ha)(e,t),i._sqlite3_result_int64=(e,t)=>(i._sqlite3_result_int64=_.ia)(e,t),i._sqlite3_result_null=e=>(i._sqlite3_result_null=_.ja)(e),i._sqlite3_result_text=(e,t,r,n)=>(i._sqlite3_result_text=_.ka)(e,t,r,n),i._sqlite3_aggregate_context=(e,t)=>(i._sqlite3_aggregate_context=_.la)(e,t),i._sqlite3_column_count=e=>(i._sqlite3_column_count=_.ma)(e),i._sqlite3_data_count=e=>(i._sqlite3_data_count=_.na)(e),i._sqlite3_column_blob=(e,t)=>(i._sqlite3_column_blob=_.oa)(e,t),i._sqlite3_column_bytes=(e,t)=>(i._sqlite3_column_bytes=_.pa)(e,t),i._sqlite3_column_double=(e,t)=>(i._sqlite3_column_double=_.qa)(e,t),i._sqlite3_bind_blob=(e,t,r,n,o)=>(i._sqlite3_bind_blob=_.ra)(e,t,r,n,o),i._sqlite3_bind_double=(e,t,r)=>(i._sqlite3_bind_double=_.sa)(e,t,r),i._sqlite3_bind_int=(e,t,r)=>(i._sqlite3_bind_int=_.ta)(e,t,r),i._sqlite3_bind_text=(e,t,r,n,o)=>(i._sqlite3_bind_text=_.ua)(e,t,r,n,o),i._sqlite3_bind_parameter_index=(e,t)=>(i._sqlite3_bind_parameter_index=_.va)(e,t),i._sqlite3_sql=e=>(i._sqlite3_sql=_.wa)(e),i._sqlite3_normalized_sql=e=>(i._sqlite3_normalized_sql=_.xa)(e),i._sqlite3_changes=e=>(i._sqlite3_changes=_.ya)(e),i._sqlite3_close_v2=e=>(i._sqlite3_close_v2=_.za)(e),i._sqlite3_create_function_v2=(e,t,r,n,o,a,u,v,A)=>(i._sqlite3_create_function_v2=_.Aa)(e,t,r,n,o,a,u,v,A),i._sqlite3_update_hook=(e,t,r)=>(i._sqlite3_update_hook=_.Ba)(e,t,r),i._sqlite3_open=(e,t)=>(i._sqlite3_open=_.Ca)(e,t);var dt=i._malloc=e=>(dt=i._malloc=_.Da)(e),Ie=i._free=e=>(Ie=i._free=_.Ea)(e);i._RegisterExtensionFunctions=e=>(i._RegisterExtensionFunctions=_.Fa)(e);var Gt=(e,t)=>(Gt=_.Ga)(e,t),Jt=(e,t)=>(Jt=_.Ha)(e,t),Ae=e=>(Ae=_.Ia)(e),ne=e=>(ne=_.Ja)(e),ke=()=>(ke=_.Ka)();i.stackSave=()=>ke(),i.stackRestore=e=>Ae(e),i.stackAlloc=e=>ne(e),i.cwrap=(e,t,r,n)=>{var o=!r||r.every(a=>a==="number"||a==="boolean");return t!=="string"&&o&&!n?i["_"+e]:(...a)=>Rr(e,t,r,a)},i.addFunction=Se,i.removeFunction=re,i.UTF8ToString=Ze,i.ALLOC_NORMAL=De,i.allocate=We,i.allocateUTF8OnStack=ct;function pt(){function e(){if(i.calledRun=!0,!Le){if(!i.noFSInit&&!jt){var t,r;jt=!0,n??=i.stdin,t??=i.stdout,r??=i.stderr,n?te("stdin",n):at("/dev/tty","/dev/stdin"),t?te("stdout",null,t):at("/dev/tty","/dev/stdout"),r?te("stderr",null,r):at("/dev/tty1","/dev/stderr"),we("/dev/stdin",0),we("/dev/stdout",1),we("/dev/stderr",1)}if(_.N(),Rt=!1,i.onRuntimeInitialized?.(),i.postRun)for(typeof i.postRun=="function"&&(i.postRun=[i.postRun]);i.postRun.length;){var n=i.postRun.shift();gt.unshift(n)}vt(gt)}}if(0<ie)_e=pt;else{if(i.preRun)for(typeof i.preRun=="function"&&(i.preRun=[i.preRun]);i.preRun.length;)br();vt(Et),0<ie?_e=pt:i.setStatus?(i.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>i.setStatus(""),1),e()},1)):e()}}if(i.preInit)for(typeof i.preInit=="function"&&(i.preInit=[i.preInit]);0<i.preInit.length;)i.preInit.pop()();return pt(),c}),Fe)};typeof Ve=="object"&&typeof le=="object"?(le.exports=Be,le.exports.default=Be):typeof define=="function"&&define.amd?define([],function(){return Be}):typeof Ve=="object"&&(Ve.Module=Be)});var yt=fn(lr(),1);import{fileURLToPath as Sn}from"node:url";import{Worker as An}from"node:worker_threads";function cr(l,h,d){switch(d.mode){case"list":return hn(l,h,d);case"csv":return cn(l,h,d);case"json":return dn(l,h);case"line":return pn(l,h,d);case"column":return wn(l,h,d);case"table":return bn(l,h,d);case"markdown":return yn(l,h,d);case"tabs":return _n(l,h,d);case"box":return vn(l,h,d);case"quote":return gn(l,h,d);case"html":return En(l,h,d);case"ascii":return qn(l,h,d)}}function W(l,h){return l==null?h:l instanceof Uint8Array||Buffer.isBuffer(l)?Buffer.from(l).toString("utf8"):typeof l=="number"&&!Number.isInteger(l)?l.toPrecision(17).replace(/\.?0+$/,""):String(l)}function hn(l,h,d){let c=[];d.header&&l.length>0&&c.push(l.join(d.separator));for(let b of h)c.push(b.map(i=>W(i,d.nullValue)).join(d.separator));return c.length>0?`${c.join(d.newline)}${d.newline}`:""}function cn(l,h,d){let c=[];d.header&&l.length>0&&c.push(l.map(fr).join(","));for(let b of h)c.push(b.map(i=>fr(W(i,d.nullValue))).join(","));return c.length>0?`${c.join(`
|
|
4
|
+
`)}
|
|
5
|
+
`:""}function fr(l){return l.includes(",")||l.includes('"')||l.includes("'")||l.includes(`
|
|
6
|
+
`)?`"${l.replace(/"/g,'""')}"`:l}function mr(l){return l.toPrecision(17).replace(/\.?0+$/,"")}function mn(l){return l===null?"null":typeof l=="number"?Number.isInteger(l)?String(l):mr(l):JSON.stringify(l)}function dn(l,h){return h.length===0?"":`[${h.map(c=>`{${l.map((i,w)=>`${JSON.stringify(i)}:${mn(c[w])}`).join(",")}}`).join(`,
|
|
7
|
+
`)}]
|
|
8
|
+
`}function pn(l,h,d){if(l.length===0||h.length===0)return"";let c=Math.max(5,...l.map(i=>i.length)),b=[];for(let i of h)for(let w=0;w<l.length;w++){let m=l[w].padStart(c);b.push(`${m} = ${W(i[w],d.nullValue)}`)}return`${b.join(`
|
|
9
|
+
`)}
|
|
10
|
+
`}function wn(l,h,d){if(l.length===0)return"";let c=l.map(i=>i.length);for(let i of h)for(let w=0;w<i.length;w++){let m=W(i[w],d.nullValue).length;m>c[w]&&(c[w]=m)}let b=[];d.header&&(b.push(l.map((i,w)=>i.padEnd(c[w])).join(" ")),b.push(c.map(i=>"-".repeat(i)).join(" ")));for(let i of h)b.push(i.map((w,m)=>W(w,d.nullValue).padEnd(c[m])).join(" "));return b.length>0?`${b.join(`
|
|
11
|
+
`)}
|
|
12
|
+
`:""}function bn(l,h,d){if(l.length===0)return"";let c=l.map(w=>w.length);for(let w of h)for(let m=0;m<w.length;m++){let R=W(w[m],d.nullValue).length;R>c[m]&&(c[m]=R)}let b=[],i=`+${c.map(w=>"-".repeat(w+2)).join("+")}+`;b.push(i),d.header&&(b.push(`| ${l.map((w,m)=>w.padEnd(c[m])).join(" | ")} |`),b.push(i));for(let w of h)b.push(`| ${w.map((m,R)=>W(m,d.nullValue).padEnd(c[R])).join(" | ")} |`);return b.push(i),`${b.join(`
|
|
13
|
+
`)}
|
|
14
|
+
`}function yn(l,h,d){if(l.length===0)return"";let c=[];d.header&&(c.push(`| ${l.join(" | ")} |`),c.push(`|${l.map(()=>"---").join("|")}|`));for(let b of h)c.push(`| ${b.map(i=>W(i,d.nullValue)).join(" | ")} |`);return c.length>0?`${c.join(`
|
|
15
|
+
`)}
|
|
16
|
+
`:""}function _n(l,h,d){let c=[];d.header&&l.length>0&&c.push(l.join(" "));for(let b of h)c.push(b.map(i=>W(i,d.nullValue)).join(" "));return c.length>0?`${c.join(d.newline)}${d.newline}`:""}function vn(l,h,d){if(l.length===0)return"";let c=l.map(i=>i.length);for(let i of h)for(let w=0;w<i.length;w++){let m=W(i[w],d.nullValue).length;m>c[w]&&(c[w]=m)}let b=[];b.push(`\u250C${c.map(i=>"\u2500".repeat(i+2)).join("\u252C")}\u2510`),b.push(`\u2502 ${l.map((i,w)=>i.padEnd(c[w])).join(" \u2502 ")} \u2502`),b.push(`\u251C${c.map(i=>"\u2500".repeat(i+2)).join("\u253C")}\u2524`);for(let i of h)b.push(`\u2502 ${i.map((w,m)=>W(w,d.nullValue).padEnd(c[m])).join(" \u2502 ")} \u2502`);return b.push(`\u2514${c.map(i=>"\u2500".repeat(i+2)).join("\u2534")}\u2518`),`${b.join(`
|
|
17
|
+
`)}
|
|
18
|
+
`}function gn(l,h,d){let c=[];d.header&&l.length>0&&c.push(l.map(b=>`'${b}'`).join(","));for(let b of h)c.push(b.map(i=>i==null?"NULL":typeof i=="number"?Number.isInteger(i)?String(i):mr(i):`'${String(i)}'`).join(","));return c.length>0?`${c.join(d.newline)}${d.newline}`:""}function En(l,h,d){let c=[];d.header&&l.length>0&&(c.push(`<TR>${l.map(b=>`<TH>${hr(b)}</TH>`).join("")}`),c.push("</TR>"));for(let b of h)c.push(`<TR>${b.map(i=>`<TD>${hr(W(i,d.nullValue))}</TD>`).join("")}`),c.push("</TR>");return c.length>0?`${c.join(`
|
|
19
|
+
`)}
|
|
20
|
+
`:""}function hr(l){return l.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}function qn(l,h,d){let i=[];d.header&&l.length>0&&i.push(l.join(""));for(let w of h)i.push(w.map(m=>W(m,d.nullValue)).join(""));return i.length>0?i.join("")+"":""}var kn=5e3,xn={name:"sqlite3",summary:"SQLite database CLI",usage:"sqlite3 [OPTIONS] DATABASE [SQL]",options:["-list output in list mode (default)","-csv output in CSV mode","-json output in JSON mode","-line output in line mode","-column output in column mode","-table output as ASCII table","-markdown output as markdown table","-tabs output in tab-separated mode","-box output in Unicode box mode","-quote output in SQL quote mode","-html output as HTML table","-ascii output in ASCII mode (control chars)","-header show column headers","-noheader hide column headers","-separator SEP field separator for list mode (default: |)","-newline SEP row separator (default: \\n)","-nullvalue TEXT text for NULL values (default: empty)","-readonly open database read-only (no writeback)","-bail stop on first error","-echo print SQL before execution","-cmd COMMAND run SQL command before main SQL","-version show SQLite version","-- end of options","--help show this help"],examples:['sqlite3 :memory: "CREATE TABLE t(x); INSERT INTO t VALUES(1); SELECT * FROM t"','sqlite3 -json data.db "SELECT * FROM users"','sqlite3 -csv -header data.db "SELECT id, name FROM products"','sqlite3 -box data.db "SELECT * FROM users"']};function Nn(l){let h={mode:"list",header:!1,separator:"|",newline:`
|
|
21
|
+
`,nullValue:"",readonly:!1,bail:!1,echo:!1,cmd:null},d=null,c=null,b=!1,i=!1;for(let w=0;w<l.length;w++){let m=l[w];if(i){d===null?d=m:c===null&&(c=m);continue}if(m==="--")i=!0;else if(m==="-version")b=!0;else if(m==="-list")h.mode="list";else if(m==="-csv")h.mode="csv";else if(m==="-json")h.mode="json";else if(m==="-line")h.mode="line";else if(m==="-column")h.mode="column";else if(m==="-table")h.mode="table";else if(m==="-markdown")h.mode="markdown";else if(m==="-tabs")h.mode="tabs";else if(m==="-box")h.mode="box";else if(m==="-quote")h.mode="quote";else if(m==="-html")h.mode="html";else if(m==="-ascii")h.mode="ascii";else if(m==="-header")h.header=!0;else if(m==="-noheader")h.header=!1;else if(m==="-readonly")h.readonly=!0;else if(m==="-bail")h.bail=!0;else if(m==="-echo")h.echo=!0;else if(m==="-separator"){if(w+1>=l.length)return{stdout:"",stderr:`sqlite3: Error: missing argument to -separator
|
|
22
|
+
`,exitCode:1};h.separator=l[++w]}else if(m==="-newline"){if(w+1>=l.length)return{stdout:"",stderr:`sqlite3: Error: missing argument to -newline
|
|
23
|
+
`,exitCode:1};h.newline=l[++w]}else if(m==="-nullvalue"){if(w+1>=l.length)return{stdout:"",stderr:`sqlite3: Error: missing argument to -nullvalue
|
|
24
|
+
`,exitCode:1};h.nullValue=l[++w]}else if(m==="-cmd"){if(w+1>=l.length)return{stdout:"",stderr:`sqlite3: Error: missing argument to -cmd
|
|
25
|
+
`,exitCode:1};h.cmd=l[++w]}else{if(m.startsWith("-"))return{stdout:"",stderr:`sqlite3: Error: unknown option: ${m.startsWith("--")?m.slice(1):m}
|
|
26
|
+
Use -help for a list of options.
|
|
27
|
+
`,exitCode:1};d===null?d=m:c===null&&(c=m)}}return{options:h,database:d,sql:c,showVersion:b}}async function Ln(){let l=await(0,yt.default)(),h=new l.Database;try{let d=h.exec("SELECT sqlite_version()");return d.length>0&&d[0].values.length>0?String(d[0].values[0][0]):"unknown"}finally{h.close()}}function Mn(l){let h=l.trim().toUpperCase();return h.startsWith("INSERT")||h.startsWith("UPDATE")||h.startsWith("DELETE")||h.startsWith("CREATE")||h.startsWith("DROP")||h.startsWith("ALTER")||h.startsWith("REPLACE")||h.startsWith("VACUUM")}function Tn(l){let h=[],d="",c=!1,b="";for(let w=0;w<l.length;w++){let m=l[w];if(c)d+=m,m===b&&(l[w+1]===b?d+=l[++w]:c=!1);else if(m==="'"||m==='"')d+=m,c=!0,b=m;else if(m===";"){let R=d.trim();R&&h.push(R),d=""}else d+=m}let i=d.trim();return i&&h.push(i),h}async function jn(l){let h;try{let b=await(0,yt.default)();l.dbBuffer?h=new b.Database(l.dbBuffer):h=new b.Database}catch(b){return{success:!1,error:b.message}}let d=[],c=!1;try{let b=Tn(l.sql);for(let w of b)try{if(Mn(w))h.run(w),c=!0,d.push({type:"data",columns:[],rows:[]});else{let m=h.prepare(w),R=m.getColumnNames(),F=[];for(;m.step();)F.push(m.get());m.free(),d.push({type:"data",columns:R,rows:F})}}catch(m){let R=m.message;if(d.push({type:"error",error:R}),l.options.bail)break}let i=null;return c&&(i=h.export()),h.close(),{success:!0,results:d,hasModifications:c,dbBuffer:i}}catch(b){return h.close(),{success:!1,error:b.message}}}async function Rn(l,h){try{let d=Sn(new URL("./worker.js",import.meta.url));return await new Promise((c,b)=>{let i=new An(d,{workerData:l}),w=setTimeout(()=>{i.terminate(),c({success:!1,error:`Query timeout: execution exceeded ${h}ms limit`})},h);i.on("message",m=>{clearTimeout(w),c(m)}),i.on("error",m=>{clearTimeout(w),b(m)}),i.on("exit",m=>{clearTimeout(w),m!==0&&c({success:!1,error:`Worker exited with code ${m}`})})})}catch{return jn(l)}}var Qn={name:"sqlite3",async execute(l,h){if(ur(l)||l.includes("-help"))return ar(xn);let d=Nn(l);if("exitCode"in d)return d;let{options:c,database:b,sql:i,showVersion:w}=d;if(w)return{stdout:`${await Ln()}
|
|
28
|
+
`,stderr:"",exitCode:0};if(!b)return{stdout:"",stderr:`sqlite3: missing database argument
|
|
29
|
+
`,exitCode:1};let m=i||h.stdin.trim();if(c.cmd&&(m=c.cmd+(m?`; ${m}`:"")),!m)return{stdout:"",stderr:`sqlite3: no SQL provided
|
|
30
|
+
`,exitCode:1};let R=b===":memory:",F="",fe=null;try{R||(F=h.fs.resolvePath(h.cwd,b),await h.fs.exists(F)&&(fe=await h.fs.readFileBuffer(F)))}catch(T){return{stdout:"",stderr:`sqlite3: unable to open database "${b}": ${T.message}
|
|
31
|
+
`,exitCode:1}}let he=h.limits?.maxSqliteTimeoutMs??kn,B={dbBuffer:fe,sql:m,options:{bail:c.bail,echo:c.echo}},V;try{V=await Rn(B,he)}catch(T){return{stdout:"",stderr:`sqlite3: worker error: ${T.message}
|
|
32
|
+
`,exitCode:1}}if(!V.success)return{stdout:"",stderr:`sqlite3: ${V.error}
|
|
33
|
+
`,exitCode:1};let ce={mode:c.mode,header:c.header,separator:c.separator,newline:c.newline,nullValue:c.nullValue},Y="";c.echo&&(Y+=`${m}
|
|
34
|
+
`);let be=!1;for(let T of V.results)if(T.type==="error"){if(c.bail)return{stdout:Y,stderr:`Error: ${T.error}
|
|
35
|
+
`,exitCode:1};Y+=`Error: ${T.error}
|
|
36
|
+
`,be=!0}else T.columns&&T.rows&&(T.rows.length>0||c.header)&&(Y+=cr(T.columns,T.rows,ce));if(V.hasModifications&&!c.readonly&&!R&&F&&V.dbBuffer)try{await h.fs.writeFile(F,V.dbBuffer)}catch(T){return{stdout:Y,stderr:`sqlite3: failed to write database: ${T.message}
|
|
37
|
+
`,exitCode:1}}return{stdout:Y,stderr:"",exitCode:be&&c.bail?1:0}}};export{Qn as sqlite3Command};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import"./chunk-OBH7XN5N.js";import{a as w}from"./chunk-TA7RUHGQ.js";import{a as D,b as $}from"./chunk-GTNBSMZR.js";import"./chunk-KGOUQS5A.js";var g={name:"tree",summary:"list contents of directories in a tree-like format",usage:"tree [OPTION]... [DIRECTORY]...",options:["-a include hidden files","-d list directories only","-L LEVEL limit depth of directory tree","-f print full path prefix for each file"," --help display this help and exit"]},T={showHidden:{short:"a",type:"boolean"},directoriesOnly:{short:"d",type:"boolean"},fullPath:{short:"f",type:"boolean"},maxDepth:{short:"L",type:"number"}},E={name:"tree",async execute(i,o){if($(i))return D(g);let s=w("tree",i,T);if(!s.ok)return s.error;let f={showHidden:s.result.flags.showHidden,directoriesOnly:s.result.flags.directoriesOnly,maxDepth:s.result.flags.maxDepth??null,fullPath:s.result.flags.fullPath},d=s.result.positional;d.length===0&&d.push(".");let t="",l="",a=0,n=0;for(let e of d){let r=await b(o,e,f,"",0);t+=r.output,l+=r.stderr,a+=r.dirCount,n+=r.fileCount}return t+=`
|
|
3
|
+
${a} director${a===1?"y":"ies"}`,f.directoriesOnly||(t+=`, ${n} file${n===1?"":"s"}`),t+=`
|
|
4
|
+
`,{stdout:t,stderr:l,exitCode:l?1:0}}};async function b(i,o,s,f,d){let t={output:"",stderr:"",dirCount:0,fileCount:0},l=i.fs.resolvePath(i.cwd,o);try{if(!(await i.fs.stat(l)).isDirectory)return t.output=`${o}
|
|
5
|
+
`,t.fileCount=1,t}catch{return t.stderr=`tree: ${o}: No such file or directory
|
|
6
|
+
`,t}if(t.output=`${o}
|
|
7
|
+
`,s.maxDepth!==null&&d>=s.maxDepth)return t;try{let a=[];if(i.fs.readdirWithFileTypes)a=(await i.fs.readdirWithFileTypes(l)).map(r=>({name:r.name,isDirectory:r.isDirectory}));else{let e=await i.fs.readdir(l);for(let r=0;r<e.length;r+=100){let h=e.slice(r,r+100),u=await Promise.all(h.map(async c=>{let m=l==="/"?`/${c}`:`${l}/${c}`;try{let y=await i.fs.stat(m);return{name:c,isDirectory:y.isDirectory}}catch{return null}}));a.push(...u.filter(c=>c!==null))}}let n=a.filter(e=>!(!s.showHidden&&e.name.startsWith(".")||s.directoriesOnly&&!e.isDirectory));n.sort((e,r)=>e.name.localeCompare(r.name));for(let e=0;e<n.length;e++){let r=n[e],h=l==="/"?`/${r.name}`:`${l}/${r.name}`,u=e===n.length-1,c=u?"`-- ":"|-- ",m=f+(u?" ":"| ");if(r.isDirectory){t.dirCount++;let y=s.fullPath?h:r.name;if(t.output+=`${f+c+y}
|
|
8
|
+
`,s.maxDepth===null||d+1<s.maxDepth){let C=await P(i,h,s,m,d+1);t.output+=C.output,t.dirCount+=C.dirCount,t.fileCount+=C.fileCount}}else{t.fileCount++;let y=s.fullPath?h:r.name;t.output+=`${f+c+y}
|
|
9
|
+
`}}}catch{t.stderr=`tree: ${o}: Permission denied
|
|
10
|
+
`}return t}async function P(i,o,s,f,d){let t={output:"",stderr:"",dirCount:0,fileCount:0};if(s.maxDepth!==null&&d>=s.maxDepth)return t;try{let l=[];if(i.fs.readdirWithFileTypes)l=(await i.fs.readdirWithFileTypes(o)).map(e=>({name:e.name,isDirectory:e.isDirectory}));else{let n=await i.fs.readdir(o);for(let e=0;e<n.length;e+=100){let r=n.slice(e,e+100),h=await Promise.all(r.map(async u=>{let c=o==="/"?`/${u}`:`${o}/${u}`;try{let m=await i.fs.stat(c);return{name:u,isDirectory:m.isDirectory}}catch{return null}}));l.push(...h.filter(u=>u!==null))}}let a=l.filter(n=>!(!s.showHidden&&n.name.startsWith(".")||s.directoriesOnly&&!n.isDirectory));a.sort((n,e)=>n.name.localeCompare(e.name));for(let n=0;n<a.length;n++){let e=a[n],r=o==="/"?`/${e.name}`:`${o}/${e.name}`,h=n===a.length-1,u=h?"`-- ":"|-- ",c=f+(h?" ":"| ");if(e.isDirectory){t.dirCount++;let m=s.fullPath?r:e.name;t.output+=`${f+u+m}
|
|
11
|
+
`;let y=await P(i,r,s,c,d+1);t.output+=y.output,t.dirCount+=y.dirCount,t.fileCount+=y.fileCount}else{t.fileCount++;let m=s.fullPath?r:e.name;t.output+=`${f+u+m}
|
|
12
|
+
`}}}catch{}return t}export{E as treeCommand};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import{b as g}from"./chunk-45SNFRCY.js";import"./chunk-OBH7XN5N.js";import{a as f}from"./chunk-TA7RUHGQ.js";import{a as p,b as d}from"./chunk-GTNBSMZR.js";import"./chunk-KGOUQS5A.js";var b={name:"uniq",summary:"report or omit repeated lines",usage:"uniq [OPTION]... [INPUT [OUTPUT]]",options:["-c, --count prefix lines by the number of occurrences","-d, --repeated only print duplicate lines","-i, --ignore-case ignore case when comparing","-u, --unique only print unique lines"," --help display this help and exit"]},w={count:{short:"c",long:"count",type:"boolean"},duplicatesOnly:{short:"d",long:"repeated",type:"boolean"},uniqueOnly:{short:"u",long:"unique",type:"boolean"},ignoreCase:{short:"i",long:"ignore-case",type:"boolean"}},P={name:"uniq",async execute(a,m){if(d(a))return p(b);let o=f("uniq",a,w);if(!o.ok)return o.error;let{count:h,duplicatesOnly:y,uniqueOnly:q,ignoreCase:C}=o.result.flags,O=o.result.positional,u=await g(m,O,{cmdName:"uniq"});if(!u.ok)return u.error;let n=u.content.split(`
|
|
3
|
+
`);if(n.length>0&&n[n.length-1]===""&&n.pop(),n.length===0)return{stdout:"",stderr:"",exitCode:0};let t=[],r=n[0],i=1,x=(e,s)=>C?e.toLowerCase()===s.toLowerCase():e===s;for(let e=1;e<n.length;e++)x(n[e],r)?i++:(t.push({line:r,count:i}),r=n[e],i=1);t.push({line:r,count:i});let l=t;y?l=t.filter(e=>e.count>1):q&&(l=t.filter(e=>e.count===1));let c="";for(let{line:e,count:s}of l)h?c+=`${String(s).padStart(4)} ${e}
|
|
4
|
+
`:c+=`${e}
|
|
5
|
+
`;return{stdout:c,stderr:"",exitCode:0}}};export{P as uniqCommand};
|