just-bash 2.5.5 → 2.6.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.
Files changed (281) hide show
  1. package/README.md +2 -2
  2. package/dist/AGENTS.md +2 -2
  3. package/dist/ast/types.d.ts +100 -11
  4. package/dist/bin/chunks/alias-EGIS5LUE.js +7 -0
  5. package/dist/bin/chunks/awk2-GFEJOWML.js +21 -0
  6. package/dist/bin/chunks/bash-PGDTHIM2.js +6 -0
  7. package/dist/bin/chunks/chmod-TYLTHXFR.js +9 -0
  8. package/dist/bin/chunks/chunk-D5WP4CKS.js +3 -0
  9. package/dist/bin/chunks/chunk-FSAGDARS.js +74 -0
  10. package/dist/bin/chunks/chunk-FSZWFMB4.js +16 -0
  11. package/dist/bin/chunks/chunk-IRUD2E3M.js +17 -0
  12. package/dist/bin/chunks/chunk-K5IXNHO5.js +8 -0
  13. package/dist/bin/chunks/chunk-KD3EODLB.js +6 -0
  14. package/dist/bin/{shell/chunks/echo-WSKTON6U.js → chunks/echo-7I42V66Q.js} +2 -2
  15. package/dist/bin/chunks/env-7A4MH7BJ.js +9 -0
  16. package/dist/bin/chunks/expansion-BOR3ELLC.js +2 -0
  17. package/dist/bin/{shell/chunks/find-CBEJ35BR.js → chunks/find-PHDZK64M.js} +1 -1
  18. package/dist/bin/{shell/chunks/grep-IIVQXFNI.js → chunks/grep-VX7MJMVN.js} +2 -2
  19. package/dist/bin/chunks/{head-DYK37Z24.js → head-TJHLLIMR.js} +1 -1
  20. package/dist/bin/{shell/chunks/jq-XXZPU5CA.js → chunks/jq-RGZHJNXC.js} +1 -1
  21. package/dist/bin/chunks/od-KRKGC2U3.js +5 -0
  22. package/dist/bin/chunks/printf-YPXD4CRE.js +15 -0
  23. package/dist/bin/chunks/pwd-L26WH2K4.js +3 -0
  24. package/dist/bin/{shell/chunks/rg-Q4OTJOEF.js → chunks/rg-RSDLLECO.js} +1 -1
  25. package/dist/bin/chunks/rmdir-GOODLY5W.js +14 -0
  26. package/dist/bin/chunks/sed-JPDTWF4W.js +100 -0
  27. package/dist/bin/{shell/chunks/tail-BES27CZT.js → chunks/tail-YAUIERGN.js} +1 -1
  28. package/dist/bin/{shell/chunks/tar-C27YYUAS.js → chunks/tar-LFENC54A.js} +7 -7
  29. package/dist/bin/chunks/time-37F5EBPK.js +14 -0
  30. package/dist/bin/chunks/touch-IBPHJBM3.js +7 -0
  31. package/dist/bin/chunks/wc-SAOHEZYP.js +6 -0
  32. package/dist/bin/chunks/{which-73KOOLC6.js → which-FCDFBOMN.js} +1 -1
  33. package/dist/bin/chunks/whoami-JVLUNKSG.js +3 -0
  34. package/dist/bin/{shell/chunks/xan-6K2NGTHM.js → chunks/xan-5HNHTFMB.js} +19 -19
  35. package/dist/bin/chunks/{yq-MF2SNFGL.js → yq-PFV4T2PV.js} +1 -1
  36. package/dist/bin/just-bash.js +659 -135
  37. package/dist/bin/shell/chunks/alias-EGIS5LUE.js +7 -0
  38. package/dist/bin/shell/chunks/awk2-GFEJOWML.js +21 -0
  39. package/dist/bin/shell/chunks/bash-PGDTHIM2.js +6 -0
  40. package/dist/bin/shell/chunks/chmod-TYLTHXFR.js +9 -0
  41. package/dist/bin/shell/chunks/chunk-D5WP4CKS.js +3 -0
  42. package/dist/bin/shell/chunks/chunk-FSAGDARS.js +74 -0
  43. package/dist/bin/shell/chunks/chunk-FSZWFMB4.js +16 -0
  44. package/dist/bin/shell/chunks/chunk-IRUD2E3M.js +17 -0
  45. package/dist/bin/shell/chunks/chunk-K5IXNHO5.js +8 -0
  46. package/dist/bin/shell/chunks/chunk-KD3EODLB.js +6 -0
  47. package/dist/bin/{chunks/echo-WSKTON6U.js → shell/chunks/echo-7I42V66Q.js} +2 -2
  48. package/dist/bin/shell/chunks/env-7A4MH7BJ.js +9 -0
  49. package/dist/bin/shell/chunks/expansion-BOR3ELLC.js +2 -0
  50. package/dist/bin/{chunks/find-CBEJ35BR.js → shell/chunks/find-PHDZK64M.js} +1 -1
  51. package/dist/bin/{chunks/grep-IIVQXFNI.js → shell/chunks/grep-VX7MJMVN.js} +2 -2
  52. package/dist/bin/shell/chunks/{head-DYK37Z24.js → head-TJHLLIMR.js} +1 -1
  53. package/dist/bin/{chunks/jq-XXZPU5CA.js → shell/chunks/jq-RGZHJNXC.js} +1 -1
  54. package/dist/bin/shell/chunks/od-KRKGC2U3.js +5 -0
  55. package/dist/bin/shell/chunks/printf-YPXD4CRE.js +15 -0
  56. package/dist/bin/shell/chunks/pwd-L26WH2K4.js +3 -0
  57. package/dist/bin/{chunks/rg-Q4OTJOEF.js → shell/chunks/rg-RSDLLECO.js} +1 -1
  58. package/dist/bin/shell/chunks/rmdir-GOODLY5W.js +14 -0
  59. package/dist/bin/shell/chunks/sed-JPDTWF4W.js +100 -0
  60. package/dist/bin/{chunks/tail-BES27CZT.js → shell/chunks/tail-YAUIERGN.js} +1 -1
  61. package/dist/bin/{chunks/tar-C27YYUAS.js → shell/chunks/tar-LFENC54A.js} +7 -7
  62. package/dist/bin/shell/chunks/time-37F5EBPK.js +14 -0
  63. package/dist/bin/shell/chunks/touch-IBPHJBM3.js +7 -0
  64. package/dist/bin/shell/chunks/wc-SAOHEZYP.js +6 -0
  65. package/dist/bin/shell/chunks/{which-73KOOLC6.js → which-FCDFBOMN.js} +1 -1
  66. package/dist/bin/shell/chunks/whoami-JVLUNKSG.js +3 -0
  67. package/dist/bin/{chunks/xan-6K2NGTHM.js → shell/chunks/xan-5HNHTFMB.js} +19 -19
  68. package/dist/bin/shell/chunks/{yq-MF2SNFGL.js → yq-PFV4T2PV.js} +1 -1
  69. package/dist/bin/shell/shell.js +664 -140
  70. package/dist/bundle/browser.js +1251 -606
  71. package/dist/bundle/chunks/alias-ATFBB6D2.js +6 -0
  72. package/dist/bundle/chunks/awk2-6FBZTP57.js +20 -0
  73. package/dist/bundle/chunks/bash-OLRNM52U.js +5 -0
  74. package/dist/bundle/chunks/chmod-ODWUR7E6.js +8 -0
  75. package/dist/bundle/chunks/chunk-3AWP5CWK.js +73 -0
  76. package/dist/bundle/chunks/chunk-CXEWLFNE.js +16 -0
  77. package/dist/bundle/chunks/chunk-CZPA5RBA.js +5 -0
  78. package/dist/bundle/chunks/chunk-EEXR5ZDP.js +2 -0
  79. package/dist/bundle/chunks/chunk-HDQ56CKY.js +15 -0
  80. package/dist/bundle/chunks/chunk-PSW6BMXW.js +7 -0
  81. package/dist/bundle/chunks/{echo-VUHWYV6L.js → echo-6S7WE7XB.js} +2 -2
  82. package/dist/bundle/chunks/env-2UI6XINU.js +8 -0
  83. package/dist/bundle/chunks/expansion-RIGCFEMA.js +1 -0
  84. package/dist/bundle/chunks/{find-ACOAWALE.js → find-YGMSVGUV.js} +1 -1
  85. package/dist/bundle/chunks/{grep-ACVE42JK.js → grep-NIC6JNLH.js} +2 -2
  86. package/dist/bundle/chunks/{head-FZ6IQHYW.js → head-SA7P5NJ7.js} +1 -1
  87. package/dist/bundle/chunks/{jq-3YU5HRKE.js → jq-RLRYRPOJ.js} +1 -1
  88. package/dist/bundle/chunks/od-3FPDPLWJ.js +4 -0
  89. package/dist/bundle/chunks/printf-66XGXFCD.js +14 -0
  90. package/dist/bundle/chunks/pwd-S4NVAMC4.js +2 -0
  91. package/dist/bundle/chunks/{rg-YLZJWCEJ.js → rg-SRMB7L6G.js} +1 -1
  92. package/dist/bundle/chunks/rmdir-XFQE4ZYV.js +13 -0
  93. package/dist/bundle/chunks/sed-IV6HLDXU.js +99 -0
  94. package/dist/bundle/chunks/{tail-PD4RZR6J.js → tail-52LRAWXT.js} +1 -1
  95. package/dist/bundle/chunks/{tar-QWBXMF7K.js → tar-LWIHPMT6.js} +7 -7
  96. package/dist/bundle/chunks/time-UWXBG6CS.js +13 -0
  97. package/dist/bundle/chunks/touch-TDTEBHHI.js +6 -0
  98. package/dist/bundle/chunks/wc-HE5XARI4.js +5 -0
  99. package/dist/bundle/chunks/{which-M5MQ6QXQ.js → which-UBLRBDHN.js} +1 -1
  100. package/dist/bundle/chunks/whoami-YUDAIS32.js +2 -0
  101. package/dist/bundle/chunks/{xan-2R2APJJ4.js → xan-A6VPI4HJ.js} +19 -19
  102. package/dist/bundle/chunks/{yq-KANM4MD2.js → yq-L665QPQU.js} +1 -1
  103. package/dist/bundle/index.js +657 -133
  104. package/dist/commands/awk/ast.d.ts +1 -0
  105. package/dist/commands/awk/interpreter/context.d.ts +14 -0
  106. package/dist/commands/awk/interpreter/interpreter.d.ts +2 -0
  107. package/dist/commands/awk/interpreter/{helpers.d.ts → type-coercion.d.ts} +4 -1
  108. package/dist/commands/awk/parser2-print.d.ts +35 -0
  109. package/dist/commands/awk/parser2.d.ts +42 -34
  110. package/dist/commands/printf/strftime.d.ts +9 -0
  111. package/dist/commands/query-engine/builtins/array-builtins.d.ts +20 -0
  112. package/dist/commands/query-engine/builtins/control-builtins.d.ts +18 -0
  113. package/dist/commands/query-engine/builtins/date-builtins.d.ts +15 -0
  114. package/dist/commands/query-engine/builtins/format-builtins.d.ts +11 -0
  115. package/dist/commands/query-engine/builtins/index-builtins.d.ts +16 -0
  116. package/dist/commands/query-engine/builtins/index.d.ts +17 -0
  117. package/dist/commands/query-engine/builtins/math-builtins.d.ts +15 -0
  118. package/dist/commands/query-engine/builtins/navigation-builtins.d.ts +18 -0
  119. package/dist/commands/query-engine/builtins/object-builtins.d.ts +15 -0
  120. package/dist/commands/query-engine/builtins/path-builtins.d.ts +20 -0
  121. package/dist/commands/query-engine/builtins/sql-builtins.d.ts +16 -0
  122. package/dist/commands/query-engine/builtins/string-builtins.d.ts +15 -0
  123. package/dist/commands/query-engine/builtins/type-builtins.d.ts +11 -0
  124. package/dist/commands/query-engine/evaluator.d.ts +10 -2
  125. package/dist/commands/query-engine/parser-types.d.ts +171 -0
  126. package/dist/commands/query-engine/parser.d.ts +2 -132
  127. package/dist/commands/query-engine/path-operations.d.ts +15 -0
  128. package/dist/commands/query-engine/value-operations.d.ts +39 -0
  129. package/dist/commands/registry.d.ts +1 -1
  130. package/dist/commands/rmdir/rmdir.d.ts +2 -0
  131. package/dist/commands/sed/lexer.d.ts +12 -0
  132. package/dist/commands/sed/parser.d.ts +9 -0
  133. package/dist/commands/sed/sed-regex.d.ts +23 -0
  134. package/dist/commands/sed/types.d.ts +13 -1
  135. package/dist/commands/tar/tar-options.d.ts +36 -0
  136. package/dist/commands/time/time.d.ts +25 -0
  137. package/dist/commands/whoami/whoami.d.ts +9 -0
  138. package/dist/commands/xan/moonblade-tokenizer.d.ts +25 -0
  139. package/dist/fs/in-memory-fs/in-memory-fs.d.ts +12 -0
  140. package/dist/fs/interface.d.ts +16 -0
  141. package/dist/fs/mountable-fs/mountable-fs.d.ts +12 -0
  142. package/dist/fs/overlay-fs/overlay-fs.d.ts +13 -1
  143. package/dist/fs/read-write-fs/read-write-fs.d.ts +13 -1
  144. package/dist/interpreter/alias-expansion.d.ts +23 -0
  145. package/dist/interpreter/arithmetic.d.ts +1 -6
  146. package/dist/interpreter/assignment-expansion.d.ts +24 -0
  147. package/dist/interpreter/builtin-dispatch.d.ts +39 -0
  148. package/dist/interpreter/builtins/compgen.d.ts +26 -0
  149. package/dist/interpreter/builtins/complete.d.ts +17 -0
  150. package/dist/interpreter/builtins/compopt.d.ts +28 -0
  151. package/dist/interpreter/builtins/declare-array-parsing.d.ts +14 -0
  152. package/dist/interpreter/builtins/declare-print.d.ts +39 -0
  153. package/dist/interpreter/builtins/declare.d.ts +10 -4
  154. package/dist/interpreter/builtins/dirs.d.ts +29 -0
  155. package/dist/interpreter/builtins/eval.d.ts +1 -1
  156. package/dist/interpreter/builtins/export.d.ts +1 -0
  157. package/dist/interpreter/builtins/getopts.d.ts +18 -0
  158. package/dist/interpreter/builtins/hash.d.ts +19 -0
  159. package/dist/interpreter/builtins/help.d.ts +12 -0
  160. package/dist/interpreter/builtins/index.d.ts +9 -1
  161. package/dist/interpreter/builtins/local.d.ts +1 -1
  162. package/dist/interpreter/builtins/read.d.ts +1 -1
  163. package/dist/interpreter/builtins/set.d.ts +3 -0
  164. package/dist/interpreter/builtins/shift.d.ts +3 -0
  165. package/dist/interpreter/builtins/shopt.d.ts +7 -0
  166. package/dist/interpreter/builtins/unset.d.ts +5 -1
  167. package/dist/interpreter/builtins/variable-assignment.d.ts +66 -0
  168. package/dist/interpreter/command-resolution.d.ts +43 -0
  169. package/dist/interpreter/conditionals.d.ts +1 -1
  170. package/dist/interpreter/errors.d.ts +36 -1
  171. package/dist/interpreter/expansion/analysis.d.ts +15 -17
  172. package/dist/interpreter/expansion/arith-text-expansion.d.ts +20 -0
  173. package/dist/interpreter/expansion/array-pattern-ops.d.ts +21 -0
  174. package/dist/interpreter/expansion/array-prefix-suffix.d.ts +46 -0
  175. package/dist/interpreter/expansion/array-slice-transform.d.ts +36 -0
  176. package/dist/interpreter/expansion/array-word-expansion.d.ts +39 -0
  177. package/dist/interpreter/expansion/command-substitution.d.ts +23 -0
  178. package/dist/interpreter/expansion/glob-escape.d.ts +32 -0
  179. package/dist/interpreter/expansion/indirect-expansion.d.ts +42 -0
  180. package/dist/interpreter/expansion/parameter-ops.d.ts +113 -0
  181. package/dist/interpreter/expansion/pattern-expansion.d.ts +23 -0
  182. package/dist/interpreter/expansion/pattern-removal.d.ts +18 -0
  183. package/dist/interpreter/expansion/pattern.d.ts +2 -1
  184. package/dist/interpreter/expansion/positional-params.d.ts +59 -0
  185. package/dist/interpreter/expansion/prompt.d.ts +39 -0
  186. package/dist/interpreter/expansion/quoting.d.ts +13 -0
  187. package/dist/interpreter/expansion/tilde.d.ts +12 -0
  188. package/dist/interpreter/expansion/unquoted-expansion.d.ts +76 -0
  189. package/dist/interpreter/expansion/variable-attrs.d.ts +19 -0
  190. package/dist/interpreter/expansion/variable.d.ts +10 -1
  191. package/dist/interpreter/expansion/word-glob-expansion.d.ts +33 -0
  192. package/dist/interpreter/expansion/word-split.d.ts +11 -6
  193. package/dist/interpreter/expansion.d.ts +30 -4
  194. package/dist/interpreter/functions.d.ts +1 -1
  195. package/dist/interpreter/helpers/array.d.ts +20 -0
  196. package/dist/interpreter/helpers/ifs.d.ts +66 -5
  197. package/dist/interpreter/helpers/nameref.d.ts +65 -0
  198. package/dist/interpreter/helpers/quoting.d.ts +24 -0
  199. package/dist/interpreter/helpers/readonly.d.ts +28 -4
  200. package/dist/interpreter/helpers/shell-constants.d.ts +25 -0
  201. package/dist/interpreter/helpers/shellopts.d.ts +28 -0
  202. package/dist/interpreter/helpers/string-compare.d.ts +3 -1
  203. package/dist/interpreter/helpers/tilde.d.ts +13 -0
  204. package/dist/interpreter/helpers/variable-tests.d.ts +1 -1
  205. package/dist/interpreter/helpers/word-matching.d.ts +26 -0
  206. package/dist/interpreter/helpers/xtrace.d.ts +18 -0
  207. package/dist/interpreter/interpreter.d.ts +13 -14
  208. package/dist/interpreter/pipeline-execution.d.ts +16 -0
  209. package/dist/interpreter/redirections.d.ts +38 -1
  210. package/dist/interpreter/simple-command-assignments.d.ts +29 -0
  211. package/dist/interpreter/subshell-group.d.ts +32 -0
  212. package/dist/interpreter/type-command.d.ts +37 -0
  213. package/dist/interpreter/types.d.ts +255 -21
  214. package/dist/parser/arithmetic-parser.d.ts +2 -4
  215. package/dist/parser/arithmetic-primaries.d.ts +45 -0
  216. package/dist/parser/compound-parser.d.ts +21 -7
  217. package/dist/parser/expansion-parser.d.ts +7 -1
  218. package/dist/parser/lexer.d.ts +57 -0
  219. package/dist/parser/parser-substitution.d.ts +62 -0
  220. package/dist/parser/parser.d.ts +39 -2
  221. package/dist/parser/types.d.ts +1 -0
  222. package/dist/types.d.ts +17 -0
  223. package/package.json +4 -1
  224. package/dist/bin/chunks/alias-PCMLRCRW.js +0 -7
  225. package/dist/bin/chunks/awk2-D2US2LMM.js +0 -20
  226. package/dist/bin/chunks/bash-UT3MT5UU.js +0 -7
  227. package/dist/bin/chunks/chmod-3DIKREF7.js +0 -9
  228. package/dist/bin/chunks/chunk-ACRTDIBO.js +0 -6
  229. package/dist/bin/chunks/chunk-DV5HL4K2.js +0 -17
  230. package/dist/bin/chunks/chunk-J7BCMQDI.js +0 -16
  231. package/dist/bin/chunks/chunk-NWWB2XRE.js +0 -6
  232. package/dist/bin/chunks/chunk-PM2DS2YW.js +0 -3
  233. package/dist/bin/chunks/env-YLLSNZZN.js +0 -9
  234. package/dist/bin/chunks/od-SLM7SRWU.js +0 -7
  235. package/dist/bin/chunks/printf-HWUQKYUM.js +0 -14
  236. package/dist/bin/chunks/pwd-53KG2MCJ.js +0 -3
  237. package/dist/bin/chunks/sed-5LQMJYRJ.js +0 -80
  238. package/dist/bin/chunks/touch-TSNAXMZ2.js +0 -4
  239. package/dist/bin/chunks/wc-QSBRKIF5.js +0 -6
  240. package/dist/bin/shell/chunks/alias-PCMLRCRW.js +0 -7
  241. package/dist/bin/shell/chunks/awk2-D2US2LMM.js +0 -20
  242. package/dist/bin/shell/chunks/bash-UT3MT5UU.js +0 -7
  243. package/dist/bin/shell/chunks/chmod-3DIKREF7.js +0 -9
  244. package/dist/bin/shell/chunks/chunk-ACRTDIBO.js +0 -6
  245. package/dist/bin/shell/chunks/chunk-DV5HL4K2.js +0 -17
  246. package/dist/bin/shell/chunks/chunk-J7BCMQDI.js +0 -16
  247. package/dist/bin/shell/chunks/chunk-NWWB2XRE.js +0 -6
  248. package/dist/bin/shell/chunks/chunk-PM2DS2YW.js +0 -3
  249. package/dist/bin/shell/chunks/env-YLLSNZZN.js +0 -9
  250. package/dist/bin/shell/chunks/od-SLM7SRWU.js +0 -7
  251. package/dist/bin/shell/chunks/printf-HWUQKYUM.js +0 -14
  252. package/dist/bin/shell/chunks/pwd-53KG2MCJ.js +0 -3
  253. package/dist/bin/shell/chunks/sed-5LQMJYRJ.js +0 -80
  254. package/dist/bin/shell/chunks/touch-TSNAXMZ2.js +0 -4
  255. package/dist/bin/shell/chunks/wc-QSBRKIF5.js +0 -6
  256. package/dist/bundle/chunks/alias-4UGRF4DM.js +0 -6
  257. package/dist/bundle/chunks/awk2-46RTIZKB.js +0 -19
  258. package/dist/bundle/chunks/bash-ZILV3VHA.js +0 -6
  259. package/dist/bundle/chunks/chmod-FBHLEIY6.js +0 -8
  260. package/dist/bundle/chunks/chunk-4JO5BKO4.js +0 -5
  261. package/dist/bundle/chunks/chunk-BOJ3OAZB.js +0 -16
  262. package/dist/bundle/chunks/chunk-CG2HXOFG.js +0 -5
  263. package/dist/bundle/chunks/chunk-NWEGHOXL.js +0 -2
  264. package/dist/bundle/chunks/chunk-W2EKKAIL.js +0 -15
  265. package/dist/bundle/chunks/env-EG5SQSAQ.js +0 -8
  266. package/dist/bundle/chunks/od-ECWXNUB4.js +0 -6
  267. package/dist/bundle/chunks/printf-VG2POOXB.js +0 -13
  268. package/dist/bundle/chunks/pwd-AC4P3JKI.js +0 -2
  269. package/dist/bundle/chunks/sed-ZKODWZ6F.js +0 -79
  270. package/dist/bundle/chunks/touch-MVQSKQKT.js +0 -3
  271. package/dist/bundle/chunks/wc-DFQKWSIZ.js +0 -5
  272. package/dist/interpreter/builtins/variable-helpers.d.ts +0 -30
  273. /package/dist/bin/chunks/{curl-LCMREE7R.js → curl-TH7YRBSA.js} +0 -0
  274. /package/dist/bin/chunks/{file-LNCFDPQZ.js → file-6PCTL3MH.js} +0 -0
  275. /package/dist/bin/shell/chunks/{curl-LCMREE7R.js → curl-TH7YRBSA.js} +0 -0
  276. /package/dist/bin/shell/chunks/{file-LNCFDPQZ.js → file-6PCTL3MH.js} +0 -0
  277. /package/dist/bundle/chunks/{curl-TVZH24MD.js → curl-XLP4VABU.js} +0 -0
  278. /package/dist/bundle/chunks/{file-XPA6O6H2.js → file-NQP3CKRV.js} +0 -0
  279. /package/dist/commands/curl/{utils.d.ts → response-formatting.d.ts} +0 -0
  280. /package/dist/commands/xan/{xan-utils.d.ts → column-selection.d.ts} +0 -0
  281. /package/dist/fs/{utils.d.ts → encoding.d.ts} +0 -0
@@ -0,0 +1,100 @@
1
+ #!/usr/bin/env node
2
+ import{k as R}from"./chunk-K5IXNHO5.js";import{a as V,b as z,c as $}from"./chunk-GTNBSMZR.js";import"./chunk-KGOUQS5A.js";var _={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"!-~",lower:"a-z",print:" -~",punct:"!-/:-@\\[-`{-~",space:" \\t\\n\\r\\f\\v",upper:"A-Z",word:"a-zA-Z0-9_",xdigit:"0-9A-Fa-f"};function M(i){let e="",t=0,n=!1;for(;t<i.length;){if(i[t]==="["&&!n){if(i[t+1]==="["&&i[t+2]===":"){let s=i.indexOf(":]]",t+3);if(s!==-1){let r=i.slice(t+3,s),a=_[r];if(a){e+=`[${a}]`,t=s+3;continue}}}if(i[t+1]==="^"&&i[t+2]==="["&&i[t+3]===":"){let s=i.indexOf(":]]",t+4);if(s!==-1){let r=i.slice(t+4,s),a=_[r];if(a){e+=`[^${a}]`,t=s+3;continue}}}e+="[",t++,n=!0,t<i.length&&i[t]==="^"&&(e+="^",t++),t<i.length&&i[t]==="]"&&(e+="\\]",t++);continue}if(n){if(i[t]==="]"){e+="]",t++,n=!1;continue}if(i[t]==="["&&i[t+1]===":"){let s=i.indexOf(":]",t+2);if(s!==-1){let r=i.slice(t+2,s),a=_[r];if(a){e+=a,t=s+2;continue}}}if(i[t]==="\\"&&t+1<i.length){e+=i[t]+i[t+1],t+=2;continue}e+=i[t],t++;continue}if(i[t]==="\\"&&t+1<i.length){let s=i[t+1];if(s==="+"||s==="?"||s==="|"){e+=s,t+=2;continue}if(s==="("||s===")"){e+=s,t+=2;continue}if(s==="{"||s==="}"){e+=s,t+=2;continue}if(s==="t"){e+=" ",t+=2;continue}if(s==="n"){e+=`
3
+ `,t+=2;continue}if(s==="r"){e+="\r",t+=2;continue}e+=i[t]+s,t+=2;continue}if(i[t]==="+"||i[t]==="?"||i[t]==="|"||i[t]==="("||i[t]===")"){e+=`\\${i[t]}`,t++;continue}if(i[t]==="^"&&!(e===""||e.endsWith("("))){e+="\\^",t++;continue}if(i[t]==="$"){let s=t===i.length-1,r=t+2<i.length&&i[t+1]==="\\"&&i[t+2]===")";if(!s&&!r){e+="\\$",t++;continue}}e+=i[t],t++}return e}function T(i){let e="",t=!1;for(let n=0;n<i.length;n++)i[n]==="["&&!t?(t=!0,e+="[",n++,n<i.length&&i[n]==="^"&&(e+="^",n++),n<i.length&&i[n]==="]"&&(e+="]",n++),n--):i[n]==="]"&&t?(t=!1,e+="]"):!t&&i[n]==="{"&&i[n+1]===","?(e+="{0,",n++):e+=i[n];return e}function X(i){let e="";for(let t=0;t<i.length;t++){let n=i[t],s=n.charCodeAt(0);n==="\\"?e+="\\\\":n===" "?e+="\\t":n===`
4
+ `?e+=`$
5
+ `:n==="\r"?e+="\\r":n==="\x07"?e+="\\a":n==="\b"?e+="\\b":n==="\f"?e+="\\f":n==="\v"?e+="\\v":s<32||s>=127?e+=`\\${s.toString(8).padStart(3,"0")}`:e+=n}return`${e}$`}var ne=1e4;function G(i,e,t){return{patternSpace:"",holdSpace:"",lineNumber:0,totalLines:i,deleted:!1,printed:!1,quit:!1,quitSilent:!1,exitCode:void 0,errorMessage:void 0,appendBuffer:[],substitutionMade:!1,lineNumberOutput:[],nCommandOutput:[],restartCycle:!1,inDRestartedCycle:!1,currentFilename:e,pendingFileReads:[],pendingFileWrites:[],pendingExecute:void 0,rangeStates:t||new Map,linesConsumedInCycle:0}}function ie(i){return typeof i=="object"&&"first"in i&&"step"in i}function se(i){return typeof i=="object"&&"offset"in i}function O(i,e,t,n,s){if(i==="$")return e===t;if(typeof i=="number")return e===i;if(ie(i)){let{first:r,step:a}=i;return a===0?e===r:(e-r)%a===0&&e>=r}if(typeof i=="object"&&"pattern"in i)try{let r=i.pattern;r===""&&s?.lastPattern?r=s.lastPattern:r!==""&&s&&(s.lastPattern=r);let a=T(M(r));return new RegExp(a).test(n)}catch{return!1}return!1}function B(i){let e=t=>t===void 0?"undefined":t==="$"?"$":typeof t=="number"?String(t):"pattern"in t?`/${t.pattern}/`:"first"in t?`${t.first}~${t.step}`:"unknown";return`${e(i.start)},${e(i.end)}`}function re(i,e,t,n,s,r){if(!i||!i.start&&!i.end)return!0;let a=i.start,c=i.end;if(a!==void 0&&c===void 0)return O(a,e,t,n,r);if(a!==void 0&&c!==void 0){let o=typeof a=="object"&&"pattern"in a,u=typeof c=="object"&&"pattern"in c,b=se(c);if(b&&s){let m=B(i),d=s.get(m);if(d||(d={active:!1},s.set(m,d)),d.active){let h=d.startLine||e;return e>=h+c.offset&&(d.active=!1,s.set(m,d)),!0}else return O(a,e,t,n,r)?(d.active=!0,d.startLine=e,s.set(m,d),c.offset===0&&(d.active=!1,s.set(m,d)),!0):!1}if(!o&&!u&&!b){let m=typeof a=="number"?a:a==="$"?t:1,d=typeof c=="number"?c:t;if(m<=d)return e>=m&&e<=d;if(s){let h=B(i),f=s.get(h);return f||(f={active:!1},s.set(h,f)),!f.completed&&e>=m?(f.completed=!0,s.set(h,f),!0):!1}return!1}if(s){let m=B(i),d=s.get(m);if(d||(d={active:!1},s.set(m,d)),d.active)return O(c,e,t,n,r)&&(d.active=!1,typeof a=="number"&&(d.completed=!0),s.set(m,d)),!0;{if(d.completed)return!1;let h=!1;return typeof a=="number"?h=e>=a:h=O(a,e,t,n,r),h?(d.active=!0,d.startLine=e,s.set(m,d),O(c,e,t,n,r)&&(d.active=!1,typeof a=="number"&&(d.completed=!0),s.set(m,d)),!0):!1}}return O(a,e,t,n,r)}return!0}function N(i,e,t,n,s,r){let a=re(i,e,t,n,s,r);return i?.negated?!a:a}function ae(i,e,t,n){let s="",r=0,a=!1;for(;r<=i.length;){e.lastIndex=r;let c=e.exec(i);if(!c){s+=i.slice(r);break}if(c.index!==r){s+=i.slice(r,c.index),r=c.index,a=!1;continue}let o=c[0],u=c.slice(1);if(a&&o.length===0){if(r<i.length)s+=i[r],r++;else break;a=!1;continue}if(s+=n(o,u),a=!1,o.length===0)if(r<i.length)s+=i[r],r++;else break;else r+=o.length,a=!0}return s}function P(i,e,t){let n="",s=0;for(;s<i.length;){if(i[s]==="\\"&&s+1<i.length){let r=i[s+1];if(r==="&"){n+="&",s+=2;continue}if(r==="n"){n+=`
6
+ `,s+=2;continue}if(r==="t"){n+=" ",s+=2;continue}if(r==="r"){n+="\r",s+=2;continue}let a=parseInt(r,10);if(a===0){n+=e,s+=2;continue}if(a>=1&&a<=9){n+=t[a-1]||"",s+=2;continue}n+=r,s+=2;continue}if(i[s]==="&"){n+=e,s++;continue}n+=i[s],s++}return n}function ce(i,e){let{lineNumber:t,totalLines:n,patternSpace:s}=e;if(i.type!=="label"&&N(i.address,t,n,s,e.rangeStates,e))switch(i.type){case"substitute":{let r=i,a="";r.global&&(a+="g"),r.ignoreCase&&(a+="i");let c=r.pattern;c===""&&e.lastPattern?c=e.lastPattern:c!==""&&(e.lastPattern=c);let o=T(r.extendedRegex?c:M(c));try{let u=new RegExp(o,a),b=u.test(e.patternSpace);if(u.lastIndex=0,b){if(e.substitutionMade=!0,r.nthOccurrence&&r.nthOccurrence>0&&!r.global){let g=0,m=r.nthOccurrence;e.patternSpace=e.patternSpace.replace(new RegExp(o,`g${r.ignoreCase?"i":""}`),(d,...h)=>{if(g++,g===m){let f=h.slice(0,-2);return P(r.replacement,d,f)}return d})}else r.global?e.patternSpace=ae(e.patternSpace,new RegExp(o,`g${r.ignoreCase?"i":""}`),r.replacement,(g,m)=>P(r.replacement,g,m)):e.patternSpace=e.patternSpace.replace(u,(g,...m)=>{let d=m.slice(0,-2);return P(r.replacement,g,d)});r.printOnMatch&&e.lineNumberOutput.push(e.patternSpace)}}catch{}break}case"print":e.lineNumberOutput.push(e.patternSpace);break;case"printFirstLine":{let r=e.patternSpace.indexOf(`
7
+ `);r!==-1?e.lineNumberOutput.push(e.patternSpace.slice(0,r)):e.lineNumberOutput.push(e.patternSpace);break}case"delete":e.deleted=!0;break;case"deleteFirstLine":{let r=e.patternSpace.indexOf(`
8
+ `);r!==-1?(e.patternSpace=e.patternSpace.slice(r+1),e.restartCycle=!0,e.inDRestartedCycle=!0):e.deleted=!0;break}case"zap":e.patternSpace="";break;case"append":e.appendBuffer.push(i.text);break;case"insert":e.appendBuffer.unshift(`__INSERT__${i.text}`);break;case"change":e.deleted=!0,e.changedText=i.text;break;case"hold":e.holdSpace=e.patternSpace;break;case"holdAppend":e.holdSpace?e.holdSpace+=`
9
+ ${e.patternSpace}`:e.holdSpace=e.patternSpace;break;case"get":e.patternSpace=e.holdSpace;break;case"getAppend":e.patternSpace+=`
10
+ ${e.holdSpace}`;break;case"exchange":{let r=e.patternSpace;e.patternSpace=e.holdSpace,e.holdSpace=r;break}case"next":e.printed=!0;break;case"quit":e.quit=!0,i.exitCode!==void 0&&(e.exitCode=i.exitCode);break;case"quitSilent":e.quit=!0,e.quitSilent=!0,i.exitCode!==void 0&&(e.exitCode=i.exitCode);break;case"list":{let r=X(e.patternSpace);e.lineNumberOutput.push(r);break}case"printFilename":e.currentFilename&&e.lineNumberOutput.push(e.currentFilename);break;case"version":{let r=[4,8,0];if(i.minVersion){let a=i.minVersion.split("."),c=[],o=!1;for(let u of a){let b=parseInt(u,10);if(Number.isNaN(b)||b<0){e.quit=!0,e.exitCode=1,e.errorMessage=`sed: invalid version string: ${i.minVersion}`,o=!0;break}c.push(b)}if(!o){for(;c.length<3;)c.push(0);for(let u=0;u<3;u++){if(c[u]>r[u]){e.quit=!0,e.exitCode=1,e.errorMessage=`sed: this is not GNU sed version ${i.minVersion}`;break}if(c[u]<r[u])break}}}break}case"readFile":e.pendingFileReads.push({filename:i.filename,wholeFile:!0});break;case"readFileLine":e.pendingFileReads.push({filename:i.filename,wholeFile:!1});break;case"writeFile":e.pendingFileWrites.push({filename:i.filename,content:`${e.patternSpace}
11
+ `});break;case"writeFirstLine":{let r=e.patternSpace.indexOf(`
12
+ `),a=r!==-1?e.patternSpace.slice(0,r):e.patternSpace;e.pendingFileWrites.push({filename:i.filename,content:`${a}
13
+ `});break}case"execute":i.command?e.pendingExecute={command:i.command,replacePattern:!1}:e.pendingExecute={command:e.patternSpace,replacePattern:!0};break;case"transliterate":e.patternSpace=le(e.patternSpace,i);break;case"lineNumber":e.lineNumberOutput.push(String(e.lineNumber));break;case"branch":break;case"branchOnSubst":break;case"branchOnNoSubst":break;case"group":break}}function le(i,e){let t="";for(let n of i){let s=e.source.indexOf(n);s!==-1?t+=e.dest[s]:t+=n}return t}function D(i,e,t,n){let s=new Map;for(let o=0;o<i.length;o++){let u=i[o];u.type==="label"&&s.set(u.name,o)}let r=n?.maxIterations??ne,a=0,c=0;for(;c<i.length;){if(a++,a>r)throw new R(`sed: command execution exceeded maximum iterations (${r})`,"iterations");if(e.deleted||e.quit||e.quitSilent||e.restartCycle)break;let o=i[c];if(o.type==="next"){if(N(o.address,e.lineNumber,e.totalLines,e.patternSpace,e.rangeStates,e))if(e.nCommandOutput.push(e.patternSpace),t&&t.currentLineIndex+e.linesConsumedInCycle+1<t.lines.length){e.linesConsumedInCycle++;let u=t.lines[t.currentLineIndex+e.linesConsumedInCycle];e.patternSpace=u,e.lineNumber=t.currentLineIndex+e.linesConsumedInCycle+1,e.substitutionMade=!1}else{e.quit=!0,e.deleted=!0;break}c++;continue}if(o.type==="nextAppend"){if(N(o.address,e.lineNumber,e.totalLines,e.patternSpace,e.rangeStates,e))if(t&&t.currentLineIndex+e.linesConsumedInCycle+1<t.lines.length){e.linesConsumedInCycle++;let u=t.lines[t.currentLineIndex+e.linesConsumedInCycle];e.patternSpace+=`
14
+ ${u}`,e.lineNumber=t.currentLineIndex+e.linesConsumedInCycle+1}else{e.quit=!0;break}c++;continue}if(o.type==="branch"){let u=o;if(N(u.address,e.lineNumber,e.totalLines,e.patternSpace,e.rangeStates,e)){if(u.label){let b=s.get(u.label);if(b!==void 0){c=b;continue}e.branchRequest=u.label;break}break}c++;continue}if(o.type==="branchOnSubst"){let u=o;if(N(u.address,e.lineNumber,e.totalLines,e.patternSpace,e.rangeStates,e)&&e.substitutionMade){if(e.substitutionMade=!1,u.label){let b=s.get(u.label);if(b!==void 0){c=b;continue}e.branchRequest=u.label;break}break}c++;continue}if(o.type==="branchOnNoSubst"){let u=o;if(N(u.address,e.lineNumber,e.totalLines,e.patternSpace,e.rangeStates,e)&&!e.substitutionMade){if(u.label){let b=s.get(u.label);if(b!==void 0){c=b;continue}e.branchRequest=u.label;break}break}c++;continue}if(o.type==="group"){let u=o;if(N(u.address,e.lineNumber,e.totalLines,e.patternSpace,e.rangeStates,e)&&(D(u.commands,e,t,n),e.branchRequest)){let b=s.get(e.branchRequest);if(b!==void 0){e.branchRequest=void 0,c=b;continue}break}c++;continue}ce(o,e),c++}return e.linesConsumedInCycle}var l;(function(i){i.NUMBER="NUMBER",i.DOLLAR="DOLLAR",i.PATTERN="PATTERN",i.STEP="STEP",i.RELATIVE_OFFSET="RELATIVE_OFFSET",i.LBRACE="LBRACE",i.RBRACE="RBRACE",i.SEMICOLON="SEMICOLON",i.NEWLINE="NEWLINE",i.COMMA="COMMA",i.NEGATION="NEGATION",i.COMMAND="COMMAND",i.SUBSTITUTE="SUBSTITUTE",i.TRANSLITERATE="TRANSLITERATE",i.LABEL_DEF="LABEL_DEF",i.BRANCH="BRANCH",i.BRANCH_ON_SUBST="BRANCH_ON_SUBST",i.BRANCH_ON_NO_SUBST="BRANCH_ON_NO_SUBST",i.TEXT_CMD="TEXT_CMD",i.FILE_READ="FILE_READ",i.FILE_READ_LINE="FILE_READ_LINE",i.FILE_WRITE="FILE_WRITE",i.FILE_WRITE_LINE="FILE_WRITE_LINE",i.EXECUTE="EXECUTE",i.VERSION="VERSION",i.EOF="EOF",i.ERROR="ERROR"})(l||(l={}));var w=class{input;pos=0;line=1;column=1;constructor(e){this.input=e}tokenize(){let e=[];for(;this.pos<this.input.length;){let t=this.nextToken();t&&e.push(t)}return e.push(this.makeToken(l.EOF,"")),e}makeToken(e,t,n){return{type:e,value:t,line:this.line,column:this.column,...n}}peek(e=0){return this.input[this.pos+e]||""}advance(){let e=this.input[this.pos++]||"";return e===`
15
+ `?(this.line++,this.column=1):this.column++,e}readEscapedString(e){let t="";for(;this.pos<this.input.length&&this.peek()!==e;)if(this.peek()==="\\"){this.advance();let n=this.advance();n==="n"?t+=`
16
+ `:n==="t"?t+=" ":t+=n}else{if(this.peek()===`
17
+ `)return null;t+=this.advance()}return t}skipWhitespace(){for(;this.pos<this.input.length;){let e=this.peek();if(e===" "||e===" "||e==="\r")this.advance();else if(e==="#")for(;this.pos<this.input.length&&this.peek()!==`
18
+ `;)this.advance();else break}}nextToken(){if(this.skipWhitespace(),this.pos>=this.input.length)return null;let e=this.line,t=this.column,n=this.peek();return n===`
19
+ `?(this.advance(),{type:l.NEWLINE,value:`
20
+ `,line:e,column:t}):n===";"?(this.advance(),{type:l.SEMICOLON,value:";",line:e,column:t}):n==="{"?(this.advance(),{type:l.LBRACE,value:"{",line:e,column:t}):n==="}"?(this.advance(),{type:l.RBRACE,value:"}",line:e,column:t}):n===","?(this.advance(),{type:l.COMMA,value:",",line:e,column:t}):n==="!"?(this.advance(),{type:l.NEGATION,value:"!",line:e,column:t}):n==="$"?(this.advance(),{type:l.DOLLAR,value:"$",line:e,column:t}):this.isDigit(n)?this.readNumber():n==="+"&&this.isDigit(this.input[this.pos+1]||"")?this.readRelativeOffset():n==="/"?this.readPattern():n===":"?this.readLabelDef():this.readCommand()}readNumber(){let e=this.line,t=this.column,n="";for(;this.isDigit(this.peek());)n+=this.advance();if(this.peek()==="~"){this.advance();let s="";for(;this.isDigit(this.peek());)s+=this.advance();let r=parseInt(n,10),a=parseInt(s,10)||0;return{type:l.STEP,value:`${r}~${a}`,first:r,step:a,line:e,column:t}}return{type:l.NUMBER,value:parseInt(n,10),line:e,column:t}}readRelativeOffset(){let e=this.line,t=this.column;this.advance();let n="";for(;this.isDigit(this.peek());)n+=this.advance();let s=parseInt(n,10)||0;return{type:l.RELATIVE_OFFSET,value:`+${s}`,offset:s,line:e,column:t}}readPattern(){let e=this.line,t=this.column;this.advance();let n="",s=!1;for(;this.pos<this.input.length;){let r=this.peek();if(r==="/"&&!s)break;if(r==="\\")n+=this.advance(),this.pos<this.input.length&&this.peek()!==`
21
+ `&&(n+=this.advance());else{if(r===`
22
+ `)break;r==="["&&!s?(s=!0,n+=this.advance(),this.peek()==="^"&&(n+=this.advance()),this.peek()==="]"&&(n+=this.advance())):r==="]"&&s?(s=!1,n+=this.advance()):n+=this.advance()}}return this.peek()==="/"&&this.advance(),{type:l.PATTERN,value:n,pattern:n,line:e,column:t}}readLabelDef(){let e=this.line,t=this.column;for(this.advance();this.peek()===" "||this.peek()===" ";)this.advance();let n="";for(;this.pos<this.input.length;){let s=this.peek();if(s===" "||s===" "||s===`
23
+ `||s===";"||s==="}"||s==="{")break;n+=this.advance()}return{type:l.LABEL_DEF,value:n,label:n,line:e,column:t}}readCommand(){let e=this.line,t=this.column,n=this.advance();switch(n){case"s":return this.readSubstitute(e,t);case"y":return this.readTransliterate(e,t);case"a":case"i":case"c":return this.readTextCommand(n,e,t);case"b":return this.readBranch(l.BRANCH,"b",e,t);case"t":return this.readBranch(l.BRANCH_ON_SUBST,"t",e,t);case"T":return this.readBranch(l.BRANCH_ON_NO_SUBST,"T",e,t);case"r":return this.readFileCommand(l.FILE_READ,"r",e,t);case"R":return this.readFileCommand(l.FILE_READ_LINE,"R",e,t);case"w":return this.readFileCommand(l.FILE_WRITE,"w",e,t);case"W":return this.readFileCommand(l.FILE_WRITE_LINE,"W",e,t);case"e":return this.readExecute(e,t);case"p":case"P":case"d":case"D":case"h":case"H":case"g":case"G":case"x":case"n":case"N":case"q":case"Q":case"z":case"=":case"l":case"F":return{type:l.COMMAND,value:n,line:e,column:t};case"v":return this.readVersion(e,t);default:return{type:l.ERROR,value:n,line:e,column:t}}}readSubstitute(e,t){let n=this.advance();if(!n||n===`
24
+ `)return{type:l.ERROR,value:"s",line:e,column:t};let s="",r=!1;for(;this.pos<this.input.length;){let o=this.peek();if(o===n&&!r)break;if(o==="\\")this.advance(),this.pos<this.input.length&&this.peek()!==`
25
+ `?this.peek()===n&&!r?s+=this.advance():(s+="\\",s+=this.advance()):s+="\\";else{if(o===`
26
+ `)break;o==="["&&!r?(r=!0,s+=this.advance(),this.peek()==="^"&&(s+=this.advance()),this.peek()==="]"&&(s+=this.advance())):o==="]"&&r?(r=!1,s+=this.advance()):s+=this.advance()}}if(this.peek()!==n)return{type:l.ERROR,value:"unterminated substitution pattern",line:e,column:t};this.advance();let a="";for(;this.pos<this.input.length&&this.peek()!==n;)if(this.peek()==="\\")if(this.advance(),this.pos<this.input.length){let o=this.peek();o==="\\"?(this.advance(),this.pos<this.input.length&&this.peek()===`
27
+ `?(a+=`
28
+ `,this.advance()):a+="\\"):o===`
29
+ `?(a+=`
30
+ `,this.advance()):a+=`\\${this.advance()}`}else a+="\\";else{if(this.peek()===`
31
+ `)break;a+=this.advance()}this.peek()===n&&this.advance();let c="";for(;this.pos<this.input.length;){let o=this.peek();if(o==="g"||o==="i"||o==="p"||o==="I"||this.isDigit(o))c+=this.advance();else break}return{type:l.SUBSTITUTE,value:`s${n}${s}${n}${a}${n}${c}`,pattern:s,replacement:a,flags:c,line:e,column:t}}readTransliterate(e,t){let n=this.advance();if(!n||n===`
32
+ `)return{type:l.ERROR,value:"y",line:e,column:t};let s=this.readEscapedString(n);if(s===null||this.peek()!==n)return{type:l.ERROR,value:"unterminated transliteration source",line:e,column:t};this.advance();let r=this.readEscapedString(n);if(r===null||this.peek()!==n)return{type:l.ERROR,value:"unterminated transliteration dest",line:e,column:t};this.advance();let a=this.peek();for(;a===" "||a===" ";)this.advance(),a=this.peek();return a!==""&&a!==";"&&a!==`
33
+ `&&a!=="}"?{type:l.ERROR,value:"extra text at the end of a transform command",line:e,column:t}:{type:l.TRANSLITERATE,value:`y${n}${s}${n}${r}${n}`,source:s,dest:r,line:e,column:t}}readTextCommand(e,t,n){let s=!1;this.peek()==="\\"&&this.pos+1<this.input.length&&(this.input[this.pos+1]===`
34
+ `||this.input[this.pos+1]===" "||this.input[this.pos+1]===" ")&&(s=!0,this.advance()),(this.peek()===" "||this.peek()===" ")&&this.advance(),this.peek()==="\\"&&this.pos+1<this.input.length&&(this.input[this.pos+1]===" "||this.input[this.pos+1]===" ")&&this.advance(),s&&this.peek()===`
35
+ `&&this.advance();let r="";for(;this.pos<this.input.length;){let a=this.peek();if(a===`
36
+ `){if(r.endsWith("\\")){r=`${r.slice(0,-1)}
37
+ `,this.advance();continue}break}if(a==="\\"&&this.pos+1<this.input.length){let c=this.input[this.pos+1];if(c==="n"){r+=`
38
+ `,this.advance(),this.advance();continue}if(c==="t"){r+=" ",this.advance(),this.advance();continue}if(c==="r"){r+="\r",this.advance(),this.advance();continue}}r+=this.advance()}return{type:l.TEXT_CMD,value:e,text:r,line:t,column:n}}readBranch(e,t,n,s){for(;this.peek()===" "||this.peek()===" ";)this.advance();let r="";for(;this.pos<this.input.length;){let a=this.peek();if(a===" "||a===" "||a===`
39
+ `||a===";"||a==="}"||a==="{")break;r+=this.advance()}return{type:e,value:t,label:r||void 0,line:n,column:s}}readVersion(e,t){for(;this.peek()===" "||this.peek()===" ";)this.advance();let n="";for(;this.pos<this.input.length;){let s=this.peek();if(s===" "||s===" "||s===`
40
+ `||s===";"||s==="}"||s==="{")break;n+=this.advance()}return{type:l.VERSION,value:"v",label:n||void 0,line:e,column:t}}readFileCommand(e,t,n,s){for(;this.peek()===" "||this.peek()===" ";)this.advance();let r="";for(;this.pos<this.input.length;){let a=this.peek();if(a===`
41
+ `||a===";")break;r+=this.advance()}return{type:e,value:t,filename:r.trim(),line:n,column:s}}readExecute(e,t){for(;this.peek()===" "||this.peek()===" ";)this.advance();let n="";for(;this.pos<this.input.length;){let s=this.peek();if(s===`
42
+ `||s===";")break;n+=this.advance()}return{type:l.EXECUTE,value:"e",command:n.trim()||void 0,line:e,column:t}}isDigit(e){return e>="0"&&e<="9"}};var W=class{scripts;tokens=[];pos=0;extendedRegex=!1;constructor(e,t=!1){this.scripts=e,this.extendedRegex=t}parse(){let e=[];for(let t of this.scripts){let n=new w(t);for(this.tokens=n.tokenize(),this.pos=0;!this.isAtEnd();){if(this.check(l.NEWLINE)||this.check(l.SEMICOLON)){this.advance();continue}let s=this.parseCommand();if(s.error)return{commands:[],error:s.error};s.command&&e.push(s.command)}}return{commands:e}}parseCommand(){let e=this.parseAddressRange();if(e?.error)return{command:null,error:e.error};let t=e?.address;for(this.check(l.NEGATION)&&(this.advance(),t&&(t.negated=!0));this.check(l.NEWLINE)||this.check(l.SEMICOLON);)this.advance();if(this.isAtEnd())return t&&(t.start!==void 0||t.end!==void 0)?{command:null,error:"command expected"}:{command:null};let n=this.peek();switch(n.type){case l.COMMAND:return this.parseSimpleCommand(n,t);case l.SUBSTITUTE:return this.parseSubstituteFromToken(n,t);case l.TRANSLITERATE:return this.parseTransliterateFromToken(n,t);case l.LABEL_DEF:return this.advance(),{command:{type:"label",name:n.label||""}};case l.BRANCH:return this.advance(),{command:{type:"branch",address:t,label:n.label}};case l.BRANCH_ON_SUBST:return this.advance(),{command:{type:"branchOnSubst",address:t,label:n.label}};case l.BRANCH_ON_NO_SUBST:return this.advance(),{command:{type:"branchOnNoSubst",address:t,label:n.label}};case l.TEXT_CMD:return this.advance(),this.parseTextCommand(n,t);case l.FILE_READ:return this.advance(),{command:{type:"readFile",address:t,filename:n.filename||""}};case l.FILE_READ_LINE:return this.advance(),{command:{type:"readFileLine",address:t,filename:n.filename||""}};case l.FILE_WRITE:return this.advance(),{command:{type:"writeFile",address:t,filename:n.filename||""}};case l.FILE_WRITE_LINE:return this.advance(),{command:{type:"writeFirstLine",address:t,filename:n.filename||""}};case l.EXECUTE:return this.advance(),{command:{type:"execute",address:t,command:n.command}};case l.VERSION:return this.advance(),{command:{type:"version",address:t,minVersion:n.label}};case l.LBRACE:return this.parseGroup(t);case l.RBRACE:return{command:null};case l.ERROR:return{command:null,error:`invalid command: ${n.value}`};default:return t&&(t.start!==void 0||t.end!==void 0)?{command:null,error:"command expected"}:{command:null}}}parseSimpleCommand(e,t){this.advance();let n=e.value;switch(n){case"p":return{command:{type:"print",address:t}};case"P":return{command:{type:"printFirstLine",address:t}};case"d":return{command:{type:"delete",address:t}};case"D":return{command:{type:"deleteFirstLine",address:t}};case"h":return{command:{type:"hold",address:t}};case"H":return{command:{type:"holdAppend",address:t}};case"g":return{command:{type:"get",address:t}};case"G":return{command:{type:"getAppend",address:t}};case"x":return{command:{type:"exchange",address:t}};case"n":return{command:{type:"next",address:t}};case"N":return{command:{type:"nextAppend",address:t}};case"q":return{command:{type:"quit",address:t}};case"Q":return{command:{type:"quitSilent",address:t}};case"z":return{command:{type:"zap",address:t}};case"=":return{command:{type:"lineNumber",address:t}};case"l":return{command:{type:"list",address:t}};case"F":return{command:{type:"printFilename",address:t}};default:return{command:null,error:`unknown command: ${n}`}}}parseSubstituteFromToken(e,t){this.advance();let n=e.flags||"",s,r=n.match(/(\d+)/);return r&&(s=parseInt(r[1],10)),{command:{type:"substitute",address:t,pattern:e.pattern||"",replacement:e.replacement||"",global:n.includes("g"),ignoreCase:n.includes("i")||n.includes("I"),printOnMatch:n.includes("p"),nthOccurrence:s,extendedRegex:this.extendedRegex}}}parseTransliterateFromToken(e,t){this.advance();let n=e.source||"",s=e.dest||"";return n.length!==s.length?{command:null,error:"transliteration sets must have same length"}:{command:{type:"transliterate",address:t,source:n,dest:s}}}parseTextCommand(e,t){let n=e.value,s=e.text||"";switch(n){case"a":return{command:{type:"append",address:t,text:s}};case"i":return{command:{type:"insert",address:t,text:s}};case"c":return{command:{type:"change",address:t,text:s}};default:return{command:null,error:`unknown text command: ${n}`}}}parseGroup(e){this.advance();let t=[];for(;!this.isAtEnd()&&!this.check(l.RBRACE);){if(this.check(l.NEWLINE)||this.check(l.SEMICOLON)){this.advance();continue}let n=this.parseCommand();if(n.error)return{command:null,error:n.error};n.command&&t.push(n.command)}return this.check(l.RBRACE)?(this.advance(),{command:{type:"group",address:e,commands:t}}):{command:null,error:"unmatched brace in grouped commands"}}parseAddressRange(){let e=this.parseAddress();if(e===void 0)return;let t;if(this.check(l.RELATIVE_OFFSET))t={offset:this.advance().offset||0};else if(this.check(l.COMMA)&&(this.advance(),t=this.parseAddress(),t===void 0))return{error:"expected context address"};return{address:{start:e,end:t}}}parseAddress(){let e=this.peek();switch(e.type){case l.NUMBER:return this.advance(),e.value;case l.DOLLAR:return this.advance(),"$";case l.PATTERN:return this.advance(),{pattern:e.pattern||e.value};case l.STEP:return this.advance(),{first:e.first||0,step:e.step||0};case l.RELATIVE_OFFSET:return this.advance(),{offset:e.offset||0};default:return}}peek(){return this.tokens[this.pos]||{type:l.EOF,value:"",line:0,column:0}}advance(){return this.isAtEnd()||this.pos++,this.tokens[this.pos-1]}check(e){return this.peek().type===e}isAtEnd(){return this.peek().type===l.EOF}};function j(i,e=!1){let t=!1,n=!1,s=[];for(let o=0;o<i.length;o++){let u=i[o];if(s.length===0&&o===0){let b=u.match(/^#([nr]+)\s*(?:\n|$)/i);if(b){let g=b[1].toLowerCase();g.includes("n")&&(t=!0),g.includes("r")&&(n=!0),u=u.slice(b[0].length)}}if(s.length>0&&s[s.length-1].endsWith("\\")){let b=s[s.length-1];s[s.length-1]=`${b}
43
+ ${u}`}else s.push(u)}let r=s.join(`
44
+ `),c=new W([r],e||n).parse();if(!c.error&&c.commands.length>0){let o=oe(c.commands);if(o)return{commands:[],error:o,silentMode:t,extendedRegexMode:n}}return{...c,silentMode:t,extendedRegexMode:n}}function oe(i){let e=new Set;Z(i,e);let t=K(i,e);if(t)return`undefined label '${t}'`}function Z(i,e){for(let t of i)t.type==="label"?e.add(t.name):t.type==="group"&&Z(t.commands,e)}function K(i,e){for(let t of i){if((t.type==="branch"||t.type==="branchOnSubst"||t.type==="branchOnNoSubst")&&t.label&&!e.has(t.label))return t.label;if(t.type==="group"){let n=K(t.commands,e);if(n)return n}}}var ue={name:"sed",summary:"stream editor for filtering and transforming text",usage:"sed [OPTION]... {script} [input-file]...",options:["-n, --quiet, --silent suppress automatic printing of pattern space","-e script add the script to commands to be executed","-f script-file read script from file","-i, --in-place edit files in place","-E, -r, --regexp-extended use extended regular expressions"," --help display this help and exit"],description:`Commands:
45
+ s/regexp/replacement/[flags] substitute
46
+ d delete pattern space
47
+ p print pattern space
48
+ a\\ text append text after line
49
+ i\\ text insert text before line
50
+ c\\ text change (replace) line with text
51
+ h copy pattern space to hold space
52
+ H append pattern space to hold space
53
+ g copy hold space to pattern space
54
+ G append hold space to pattern space
55
+ x exchange pattern and hold spaces
56
+ n read next line into pattern space
57
+ N append next line to pattern space
58
+ y/source/dest/ transliterate characters
59
+ = print line number
60
+ l list pattern space (escape special chars)
61
+ b [label] branch to label
62
+ t [label] branch on substitution
63
+ T [label] branch if no substitution
64
+ :label define label
65
+ q quit
66
+ Q quit without printing
67
+
68
+ Addresses:
69
+ N line number
70
+ $ last line
71
+ /regexp/ lines matching regexp
72
+ N,M range from line N to M
73
+ first~step every step-th line starting at first`};async function q(i,e,t,n={}){let{limits:s,filename:r,fs:a,cwd:c}=n,o=i.endsWith(`
74
+ `),u=i.split(`
75
+ `);u.length>0&&u[u.length-1]===""&&u.pop();let b=u.length,g="",m,d=!1,h="",f,E=new Map,C=new Map,S=new Map,A=new Map,Q=s?{maxIterations:s.maxSedIterations}:void 0;for(let k=0;k<u.length;k++){let p={...G(b,r,E),patternSpace:u[k],holdSpace:h,lastPattern:f,lineNumber:k+1,totalLines:b,substitutionMade:!1},J={lines:u,currentLineIndex:k},U=0,Y=1e4;p.linesConsumedInCycle=0;do{if(U++,U>Y)break;if(p.restartCycle=!1,p.pendingFileReads=[],p.pendingFileWrites=[],D(e,p,J,Q),a&&c){for(let v of p.pendingFileReads){let x=a.resolvePath(c,v.filename);try{if(v.wholeFile){let I=await a.readFile(x);p.appendBuffer.push(I.replace(/\n$/,""))}else{if(!C.has(x)){let te=await a.readFile(x);C.set(x,te.split(`
76
+ `)),S.set(x,0)}let I=C.get(x),L=S.get(x);I&&L!==void 0&&L<I.length&&(p.appendBuffer.push(I[L]),S.set(x,L+1))}}catch{}}for(let v of p.pendingFileWrites){let x=a.resolvePath(c,v.filename),I=A.get(x)||"";A.set(x,I+v.content)}}}while(p.restartCycle&&!p.deleted&&!p.quit&&!p.quitSilent);if(k+=p.linesConsumedInCycle,h=p.holdSpace,f=p.lastPattern,!t)for(let v of p.nCommandOutput)g+=`${v}
77
+ `;let ee=p.lineNumberOutput.length>0;for(let v of p.lineNumberOutput)g+=`${v}
78
+ `;let H=[],F=[];for(let v of p.appendBuffer)v.startsWith("__INSERT__")?H.push(v.slice(10)):F.push(v);for(let v of H)g+=`${v}
79
+ `;let y=!1;!p.deleted&&!p.quitSilent?t?p.printed&&(g+=`${p.patternSpace}
80
+ `,y=!0):(g+=`${p.patternSpace}
81
+ `,y=!0):p.changedText!==void 0&&(g+=`${p.changedText}
82
+ `,y=!0);for(let v of F)g+=`${v}
83
+ `;if(d=(ee||y)&&F.length===0,p.quit||p.quitSilent){if(p.exitCode!==void 0&&(m=p.exitCode),p.errorMessage)return{output:"",exitCode:m||1,errorMessage:p.errorMessage};break}}if(a&&c)for(let[k,p]of A)try{await a.writeFile(k,p)}catch{}return!o&&d&&g.endsWith(`
84
+ `)&&(g=g.slice(0,-1)),{output:g,exitCode:m}}var ke={name:"sed",async execute(i,e){if(z(i))return V(ue);let t=[],n=[],s=!1,r=!1,a=!1,c=[];for(let h=0;h<i.length;h++){let f=i[h];if(f==="-n"||f==="--quiet"||f==="--silent")s=!0;else if(f==="-i"||f==="--in-place")r=!0;else if(f.startsWith("-i"))r=!0;else if(f==="-E"||f==="-r"||f==="--regexp-extended")a=!0;else if(f==="-e")h+1<i.length&&t.push(i[++h]);else if(f==="-f")h+1<i.length&&n.push(i[++h]);else{if(f.startsWith("--"))return $("sed",f);if(f==="-")c.push(f);else if(f.startsWith("-")&&f.length>1){for(let E of f.slice(1))if(E!=="n"&&E!=="e"&&E!=="f"&&E!=="i"&&E!=="E"&&E!=="r")return $("sed",`-${E}`);f.includes("n")&&(s=!0),f.includes("i")&&(r=!0),(f.includes("E")||f.includes("r"))&&(a=!0),f.includes("e")&&!f.includes("n")&&!f.includes("i")&&h+1<i.length&&t.push(i[++h]),f.includes("f")&&!f.includes("e")&&h+1<i.length&&n.push(i[++h])}else!f.startsWith("-")&&t.length===0&&n.length===0?t.push(f):f.startsWith("-")||c.push(f)}}for(let h of n){let f=e.fs.resolvePath(e.cwd,h);try{let E=await e.fs.readFile(f);for(let C of E.split(`
85
+ `)){let S=C.trim();S&&!S.startsWith("#")&&t.push(S)}}catch{return{stdout:"",stderr:`sed: couldn't open file ${h}: No such file or directory
86
+ `,exitCode:1}}}if(t.length===0)return{stdout:"",stderr:`sed: no script specified
87
+ `,exitCode:1};let{commands:o,error:u,silentMode:b}=j(t,a);if(u)return{stdout:"",stderr:`sed: ${u}
88
+ `,exitCode:1};let g=!!(s||b);if(r){if(c.length===0)return{stdout:"",stderr:`sed: -i requires at least one file argument
89
+ `,exitCode:1};for(let h of c){if(h==="-")continue;let f=e.fs.resolvePath(e.cwd,h);try{let E=await e.fs.readFile(f),C=await q(E,o,g,{limits:e.limits,filename:h,fs:e.fs,cwd:e.cwd});if(C.errorMessage)return{stdout:"",stderr:`${C.errorMessage}
90
+ `,exitCode:C.exitCode??1};await e.fs.writeFile(f,C.output)}catch(E){return E instanceof R?{stdout:"",stderr:`sed: ${E.message}
91
+ `,exitCode:R.EXIT_CODE}:{stdout:"",stderr:`sed: ${h}: No such file or directory
92
+ `,exitCode:1}}}return{stdout:"",stderr:"",exitCode:0}}let m="";if(c.length===0){m=e.stdin;try{let h=await q(m,o,g,{limits:e.limits,fs:e.fs,cwd:e.cwd});return{stdout:h.output,stderr:h.errorMessage?`${h.errorMessage}
93
+ `:"",exitCode:h.exitCode??0}}catch(h){if(h instanceof R)return{stdout:"",stderr:`sed: ${h.message}
94
+ `,exitCode:R.EXIT_CODE};throw h}}let d=!1;for(let h of c){let f;if(h==="-")d?f="":(f=e.stdin,d=!0);else{let E=e.fs.resolvePath(e.cwd,h);try{f=await e.fs.readFile(E)}catch(C){return C instanceof R?{stdout:"",stderr:`sed: ${C.message}
95
+ `,exitCode:R.EXIT_CODE}:{stdout:"",stderr:`sed: ${h}: No such file or directory
96
+ `,exitCode:1}}}m.length>0&&f.length>0&&!m.endsWith(`
97
+ `)&&(m+=`
98
+ `),m+=f}try{let h=await q(m,o,g,{limits:e.limits,filename:c.length===1?c[0]:void 0,fs:e.fs,cwd:e.cwd});return{stdout:h.output,stderr:h.errorMessage?`${h.errorMessage}
99
+ `:"",exitCode:h.exitCode??0}}catch(h){if(h instanceof R)return{stdout:"",stderr:`sed: ${h.message}
100
+ `,exitCode:R.EXIT_CODE};throw h}}};export{ke as sedCommand};
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- import{a,b as n,d as l}from"./chunk-J7BCMQDI.js";import{a as i,b as s}from"./chunk-GTNBSMZR.js";import"./chunk-KGOUQS5A.js";var h={name:"tail",summary:"output the last part of files",usage:"tail [OPTION]... [FILE]...",options:["-c, --bytes=NUM print the last NUM bytes","-n, --lines=NUM print the last NUM lines (default 10)","-n +NUM print starting from line NUM","-q, --quiet never print headers giving file names","-v, --verbose always print headers giving file names"," --help display this help and exit"]},c={name:"tail",async execute(t,r){if(s(t))return i(h);let e=a(t,"tail");if(!e.ok)return e.error;let{lines:o,bytes:p,fromLine:m}=e.options;return n(r,e.options,"tail",f=>l(f,o,p,m??!1))}};export{c as tailCommand};
2
+ import{a,b as n,d as l}from"./chunk-FSZWFMB4.js";import{a as i,b as s}from"./chunk-GTNBSMZR.js";import"./chunk-KGOUQS5A.js";var h={name:"tail",summary:"output the last part of files",usage:"tail [OPTION]... [FILE]...",options:["-c, --bytes=NUM print the last NUM bytes","-n, --lines=NUM print the last NUM lines (default 10)","-n +NUM print starting from line NUM","-q, --quiet never print headers giving file names","-v, --verbose always print headers giving file names"," --help display this help and exit"]},c={name:"tail",async execute(t,r){if(s(t))return i(h);let e=a(t,"tail");if(!e.ok)return e.error;let{lines:o,bytes:p,fromLine:m}=e.options;return n(r,e.options,"tail",f=>l(f,o,p,m??!1))}};export{c as tailCommand};
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
- import{a as te,b as re,c as N}from"./chunk-GTNBSMZR.js";import"./chunk-KGOUQS5A.js";import*as Z from"@mongodb-js/zstd";import Ae from"compressjs";var P="file",se="link",ae="symlink",b="directory",Re={file:"0",link:"1",symlink:"2","character-device":"3","block-device":"4",directory:"5",fifo:"6","pax-header":"x","pax-global-header":"g","gnu-long-name":"L","gnu-long-link-name":"K"},ve={0:P,1:se,2:ae,3:"character-device",4:"block-device",5:b,6:"fifo",x:"pax-header",g:"pax-global-header",L:"gnu-long-name",K:"gnu-long-link-name"},ze=new Uint8Array(512),O=new Uint8Array(0),x=new TextEncoder,oe=new TextDecoder;function T(e,t,i,r){r&&x.encodeInto(r,e.subarray(t,t+i))}function I(e,t,i,r){if(r===void 0)return;let n=r.toString(8).padStart(i-1,"0");x.encodeInto(n,e.subarray(t,t+i-1))}function A(e,t,i){let r=e.indexOf(0,t),n=r===-1||r>t+i?t+i:r;return oe.decode(e.subarray(t,n))}function G(e,t,i){let r=0,n=t+i;for(let s=t;s<n;s++){let o=e[s];if(o===0)break;o!==32&&(r=r*8+(o-48))}return r}function R(e,t,i){if(e[t]&128){let r=0;r=e[t]&127;for(let n=1;n<i;n++)r=r*256+e[t+n];if(!Number.isSafeInteger(r))throw new Error("TAR number too large");return r}return G(e,t,i)}var k=e=>e.type===b||e.type===ae||e.type===se;async function ce(e){if(e==null)return O;if(e instanceof Uint8Array)return e;if(typeof e=="string")return x.encode(e);if(e instanceof ArrayBuffer)return new Uint8Array(e);if(e instanceof Blob)return new Uint8Array(await e.arrayBuffer());throw new TypeError("Unsupported content type for entry body.")}function le(e,t){let{strip:i,filter:r,map:n}=t;if(!i&&!r&&!n)return e;let s={...e};if(i&&i>0){let a=s.name.split("/").filter(Boolean);if(i>=a.length)return null;let c=a.slice(i).join("/");if(s.name=s.type===b&&!c.endsWith("/")?`${c}/`:c,s.linkname?.startsWith("/")){let l=s.linkname.split("/").filter(Boolean);s.linkname=i>=l.length?"/":`/${l.slice(i).join("/")}`}}if(r?.(s)===!1)return null;let o=n?n(s):s;return o&&(!o.name||!o.name.trim()||o.name==="."||o.name==="/")?null:o}var K=32,Oe=48;function be(e){let t=G(e,148,8),i=0;for(let r=0;r<e.length;r++)r>=148&&r<156?i+=K:i+=e[r];return t===i}function Me(e){e.fill(K,148,156);let t=0;for(let i of e)t+=i;for(let i=153;i>=148;i--)e[i]=(t&7)+Oe,t>>=3;e[154]=0,e[155]=K}function $e(e){let t={};e.name.length>100&&ue(e.name)===null&&(t.path=e.name),e.linkname&&e.linkname.length>100&&(t.linkpath=e.linkname),e.uname&&e.uname.length>32&&(t.uname=e.uname),e.gname&&e.gname.length>32&&(t.gname=e.gname),e.uid!=null&&e.uid>2097151&&(t.uid=String(e.uid)),e.gid!=null&&e.gid>2097151&&(t.gid=String(e.gid)),e.size!=null&&e.size>8589934591&&(t.size=String(e.size)),e.pax&&Object.assign(t,e.pax);let i=Object.entries(t);if(i.length===0)return null;let r=x.encode(i.map(([n,s])=>{let o=`${n}=${s}
3
- `,a=x.encode(o).length+1,c=a+String(a).length;return c=a+String(c).length,`${c} ${o}`}).join(""));return{paxHeader:fe({name:oe.decode(x.encode(`PaxHeader/${e.name}`).slice(0,100)),size:r.length,type:"pax-header",mode:420,mtime:e.mtime,uname:e.uname,gname:e.gname,uid:e.uid,gid:e.gid}),paxBody:r}}function ue(e){if(e.length<=100)return null;let t=e.length-100-1,i=e.lastIndexOf("/",155);return i>0&&i>=t?{prefix:e.slice(0,i),name:e.slice(i+1)}:null}function fe(e){let t=new Uint8Array(512),i=k(e)?0:e.size??0,r=e.name,n="";if(!e.pax?.path){let s=ue(r);s&&(r=s.name,n=s.prefix)}return T(t,0,100,r),I(t,100,8,e.mode??(e.type===b?493:420)),I(t,108,8,e.uid??0),I(t,116,8,e.gid??0),I(t,124,12,i),I(t,136,12,Math.floor((e.mtime?.getTime()??Date.now())/1e3)),T(t,156,1,Re[e.type??P]),T(t,157,100,e.linkname),T(t,257,6,"ustar\0"),T(t,263,2,"00"),T(t,265,32,e.uname),T(t,297,32,e.gname),T(t,345,155,n),Me(t),t}function Ze(e,t){if(t&&!be(e))throw new Error("Invalid tar header checksum.");let i=A(e,156,1),r={name:A(e,0,100),mode:G(e,100,8),uid:R(e,108,8),gid:R(e,116,8),size:R(e,124,12),mtime:new Date(R(e,136,12)*1e3),type:ve[i]||P,linkname:A(e,157,100)},n=A(e,257,6);return n.trim()==="ustar"&&(r.uname=A(e,265,32),r.gname=A(e,297,32)),n==="ustar"&&(r.prefix=A(e,345,155)),r}var Be={path:["name",e=>e],linkpath:["linkname",e=>e],size:["size",e=>parseInt(e,10)],mtime:["mtime",parseFloat],uid:["uid",e=>parseInt(e,10)],gid:["gid",e=>parseInt(e,10)],uname:["uname",e=>e],gname:["gname",e=>e]};function De(e){let t=new TextDecoder("utf-8"),i={},r={},n=0;for(;n<e.length;){let s=e.indexOf(32,n);if(s===-1)break;let o=parseInt(t.decode(e.subarray(n,s)),10);if(Number.isNaN(o)||o===0)break;let a=n+o,[c,l]=t.decode(e.subarray(s+1,a-1)).split("=",2);if(c&&l!==void 0){r[c]=l;let d=Be[c];if(d){let[u,g]=d,p=g(l);(typeof p=="string"||!Number.isNaN(p))&&(i[u]=p)}}n=a}return Object.keys(r).length>0&&(i.pax=r),i}function ne(e,t){t.name!==void 0&&(e.name=t.name),t.linkname!==void 0&&(e.linkname=t.linkname),t.size!==void 0&&(e.size=t.size),t.mtime!==void 0&&(e.mtime=new Date(t.mtime*1e3)),t.uid!==void 0&&(e.uid=t.uid),t.gid!==void 0&&(e.gid=t.gid),t.uname!==void 0&&(e.uname=t.uname),t.gname!==void 0&&(e.gname=t.gname),t.pax&&(e.pax=Object.assign({},e.pax??{},t.pax))}function Ne(e){switch(e){case"pax-global-header":case"pax-header":return De;case"gnu-long-name":return t=>({name:A(t,0,t.length)});case"gnu-long-link-name":return t=>({linkname:A(t,0,t.length)});default:return}}function Le(e){let t=fe(e),i=$e(e);if(!i)return[t];let r=-i.paxBody.length&511,n=r>0?[ze.subarray(0,r)]:[];return[i.paxHeader,i.paxBody,...n,t]}var Ke=new Uint8Array(512*2);function de(e,t,i){let r=null,n=0,s=!1;return{add(o){if(s){let a=new Error("No new tar entries after finalize.");throw t(a),a}if(r!==null){let a=new Error("Previous entry must be completed before adding a new one");throw t(a),a}try{let a=k(o)?0:o.size??0,c=Le({...o,size:a});for(let l of c)e(l);r={...o,size:a},n=0}catch(a){t(a)}},write(o){if(!r){let c=new Error("No active tar entry.");throw t(c),c}if(s){let c=new Error("Cannot write data after finalize.");throw t(c),c}let a=n+o.length;if(a>r.size){let c=new Error(`"${r.name}" exceeds given size of ${r.size} bytes.`);throw t(c),c}try{n=a,e(o)}catch(c){t(c)}},endEntry(){if(!r){let o=new Error("No active entry to end.");throw t(o),o}if(s){let o=new Error("Cannot end entry after finalize.");throw t(o),o}try{if(n!==r.size){let a=new Error(`Size mismatch for "${r.name}".`);throw t(a),a}let o=-r.size&511;o>0&&e(new Uint8Array(o)),r=null,n=0}catch(o){throw t(o),o}},finalize(){if(s){let o=new Error("Archive has already been finalized");throw t(o),o}if(r!==null){let o=new Error("Cannot finalize while an entry is still active");throw t(o),o}try{e(Ke),s=!0,i&&i()}catch(o){t(o)}}}}var v=256;function Pe(){let e=new Array(v),t=e.length-1,i=0,r=0,n=0,s=a=>{let c=e[i];a===c.length?(e[i]=O,i=i+1&t):e[i]=c.subarray(a),n-=a,n===0&&e.length>v&&(e=new Array(v),t=v-1,i=0,r=0)};function o(a,c){if(c){let p=0,f=Math.min(a,n);for(;f>0;){let h=e[i],m=Math.min(f,h.length),S=m===h.length?h:h.subarray(0,m);if(s(m),f-=m,p+=m,!c(S))break}return p}if(n<a)return null;if(a===0)return O;let l=e[i];if(l.length>=a){let p=l.length===a?l:l.subarray(0,a);return s(a),p}let d=new Uint8Array(a),u=0,g=a;for(;g>0;){let p=e[i],f=Math.min(g,p.length);d.set(f===p.length?p:p.subarray(0,f),u),u+=f,g-=f,s(f)}return d}return{push:a=>{if(a.length===0)return;let c=r+1&t;if(c===i){let l=e.length,d=l*2,u=new Array(d),g=r-i+l&l-1;if(i<r)for(let p=0;p<g;p++)u[p]=e[i+p];else if(g>0){let p=l-i;for(let f=0;f<p;f++)u[f]=e[i+f];for(let f=0;f<r;f++)u[p+f]=e[f]}e=u,t=d-1,i=0,r=g,c=r+1&t}e[r]=a,r=c,n+=a.length},available:()=>n,peek:a=>{if(n<a)return null;if(a===0)return O;let c=e[i];if(c.length>=a)return c.length===a?c:c.subarray(0,a);let l=new Uint8Array(a),d=0,u=i;for(;d<a;){let g=e[u],p=Math.min(a-d,g.length);p===g.length?l.set(g,d):l.set(g.subarray(0,p),d),d+=p,u=u+1&t}return l},discard:a=>{if(a>n)throw new Error("Too many bytes consumed");if(a===0)return;let c=a;for(;c>0;){let l=e[i],d=Math.min(c,l.length);s(d),c-=d}},pull:o}}var L=0,F=1,z=new Error("Tar archive is truncated.");function me(e={}){let t=e.strict??!1,{available:i,peek:r,push:n,discard:s,pull:o}=Pe(),a=L,c=!1,l=!1,d=!1,u=null,g={},p={},f={isEntryActive:()=>a===F,isBodyComplete:()=>!u||u.remaining===0,write(h){if(c)throw new Error("Archive already ended.");n(h)},end(){c=!0},readHeader(){if(a!==L)throw new Error("Cannot read header while an entry is active");if(!l)for(;!l;){if(i()<512){if(c){if(i()>0&&t)throw z;l=!0;return}return null}let h=r(512);if(ie(h)){if(i()<512*2){if(c){if(t)throw z;l=!0;return}return null}if(ie(r(512*2).subarray(512))){s(512*2),l=!0,d=!0;return}if(t)throw new Error("Invalid tar header.");s(512);continue}let m;try{m=Ze(h,t)}catch(w){if(t)throw w;s(512);continue}let S=Ne(m.type);if(S){let w=m.size+511&-512;if(i()<512+w){if(c&&t)throw z;return null}s(512);let U=S(o(w).subarray(0,m.size)),ke=m.type==="pax-global-header"?g:p;for(let ee in U)ke[ee]=U[ee];continue}s(512);let E=m;return m.prefix&&(E.name=`${m.prefix}/${E.name}`),ne(E,g),ne(E,p),p={},u={header:E,remaining:E.size,padding:-E.size&511},a=F,E}},streamBody(h){if(a!==F||!u||u.remaining===0)return 0;let m=Math.min(u.remaining,i());if(m===0)return 0;let S=o(m,h);return u.remaining-=S,S},skipPadding(){if(a!==F||!u)return!0;if(u.remaining>0)throw new Error("Body not fully consumed");return i()<u.padding?!1:(s(u.padding),u=null,a=L,!0)},skipEntry(){if(a!==F||!u)return!0;let h=Math.min(u.remaining,i());return h>0&&(s(h),u.remaining-=h),u.remaining>0?!1:f.skipPadding()},validateEOF(){if(t){if(!d)throw z;if(i()>0&&o(i()).some(h=>h!==0))throw new Error("Invalid EOF.")}}};return f}function ie(e){if(e.byteOffset%8===0){let t=new BigUint64Array(e.buffer,e.byteOffset,e.length/8);for(let i=0;i<t.length;i++)if(t[i]!==0n)return!1;return!0}for(let t=0;t<e.length;t++)if(e[t]!==0)return!1;return!0}function he(){return new CompressionStream("gzip")}function ge(){return new DecompressionStream("gzip")}function Ge(){let e,t;return{readable:new ReadableStream({start(i){e=i,t=de(i.enqueue.bind(i),i.error.bind(i),i.close.bind(i))}}),controller:{add(i){let r=k(i),n={...i};return r&&(n.size=0),t.add(n),r&&t.endEntry(),new WritableStream({write(s){t.write(s)},close(){r||t.endEntry()},abort(s){e.error(s)}})},finalize(){t.finalize()},error(i){e.error(i)}}}}async function Se(e){let t=[],i=e.getReader(),r=0;try{for(;;){let{done:o,value:a}=await i.read();if(o)break;t.push(a),r+=a.length}let n=new Uint8Array(r),s=0;for(let o of t)n.set(o,s),s+=o.length;return n}finally{i.releaseLock()}}var pe=e=>e.pipeTo(new WritableStream);function He(e={}){let t=me(e),i=null,r=!1,n=s=>{if(!r){r=!0;try{for(;;)if(t.isEntryActive()){if(i){if(t.streamBody(o=>(i.enqueue(o),!0))===0&&!t.isBodyComplete())break}else if(!t.skipEntry())break;if(t.isBodyComplete()){try{i?.close()}catch{}if(i=null,!t.skipPadding())break}}else{let o=t.readHeader();if(o==null)break;s.enqueue({header:o,body:new ReadableStream({start(a){o.size===0?a.close():i=a},pull:()=>n(s),cancel(){i=null,n(s)}})})}}catch(o){try{i?.error(o)}catch{}throw i=null,o}finally{r=!1}}};return new TransformStream({transform(s,o){try{t.write(s),n(o)}catch(a){try{i?.error(a)}catch{}throw a}},flush(s){try{if(t.end(),n(s),t.validateEOF(),t.isEntryActive()&&!t.isBodyComplete())try{i?.close()}catch{}}catch(o){try{i?.error(o)}catch{}throw o}}},void 0,{highWaterMark:1})}async function Ee(e){let{readable:t,controller:i}=Ge();return await(async()=>{for(let r of e){let n=i.add(r.header),s="body"in r?r.body:r.data;if(!s){await n.close();continue}if(s instanceof ReadableStream)await s.pipeTo(n);else if(s instanceof Blob)await s.stream().pipeTo(n);else try{let o=await ce(s);if(o.length>0){let a=n.getWriter();await a.write(o),await a.close()}else await n.close()}catch{throw new TypeError(`Unsupported content type for entry "${r.header.name}".`)}}})().then(()=>i.finalize()).catch(r=>i.error(r)),new Uint8Array(await Se(t))}async function we(e,t={}){let i=e instanceof ReadableStream?e:new ReadableStream({start(s){s.enqueue(e instanceof Uint8Array?e:new Uint8Array(e)),s.close()}}),r=[],n=i.pipeThrough(He(t));for await(let s of n){let o;try{o=le(s.header,t)}catch(a){throw await s.body.cancel(),a}if(o===null){await pe(s.body);continue}k(o)?(await pe(s.body),r.push({header:o})):r.push({header:o,data:await Se(s.body)})}return r}var M=null,$=null;async function _e(){if(M)return M;if($)throw $;try{return M=await import("node-liblzma"),M}catch{throw $=new Error("xz compression requires node-liblzma which failed to load. Install liblzma-dev (apt) or xz (brew) and reinstall dependencies."),$}}var y=100*1024*1024,ye=1e4;function We(e){let t="file";e.isDirectory?t="directory":e.isSymlink&&(t="symlink");let i=e.name;e.isDirectory&&!i.endsWith("/")&&(i+="/");let r;e.content!==void 0&&(typeof e.content=="string"?r=new TextEncoder().encode(e.content):r=e.content);let n=e.isDirectory||e.isSymlink?0:r?.length??0;return{header:{name:i,mode:e.mode??(e.isDirectory?493:420),uid:e.uid??0,gid:e.gid??0,size:n,mtime:e.mtime??new Date,type:t,linkname:e.linkTarget??"",uname:"user",gname:"user"},body:r}}async function C(e){let t=e.map(We);return Ee(t)}async function Te(e){let t=await C(e),n=new ReadableStream({start(l){l.enqueue(t),l.close()}}).pipeThrough(he()).getReader(),s=[];for(;;){let{done:l,value:d}=await n.read();if(l)break;s.push(d)}let o=s.reduce((l,d)=>l+d.length,0),a=new Uint8Array(o),c=0;for(let l of s)a.set(l,c),c+=l.length;return a}async function _(e){if(e.length>y)return{entries:[],error:`Archive too large (max ${y} bytes)`};try{let t=await we(e),i=[];for(let r of t){if(i.length>=ye)return{entries:i,error:`Too many entries (max ${ye})`};let n="file";switch(r.header.type){case"directory":n="directory";break;case"symlink":n="symlink";break;case"link":n="hardlink";break;case"file":n="file";break;default:n="other"}i.push({name:r.header.name,mode:r.header.mode??420,uid:r.header.uid??0,gid:r.header.gid??0,size:r.header.size,mtime:r.header.mtime??new Date,type:n,linkTarget:r.header.linkname||void 0,content:r.data??new Uint8Array(0)})}return{entries:i}}catch(t){let i=t instanceof Error?t.message:"Unknown error";return{entries:[],error:i}}}async function H(e){if(e.length>y)return{entries:[],error:`Archive too large (max ${y} bytes)`};try{let r=new ReadableStream({start(c){c.enqueue(e),c.close()}}).pipeThrough(ge()).getReader(),n=[];for(;;){let{done:c,value:l}=await r.read();if(c)break;n.push(l)}let s=n.reduce((c,l)=>c+l.length,0),o=new Uint8Array(s),a=0;for(let c of n)o.set(c,a),a+=c.length;return _(o)}catch(t){let i=t instanceof Error?t.message:"Unknown error";return{entries:[],error:`Decompression failed: ${i}`}}}function W(e){return e.length>=2&&e[0]===31&&e[1]===139}function X(e){return e.length>=3&&e[0]===66&&e[1]===90&&e[2]===104}function j(e){return e.length>=6&&e[0]===253&&e[1]===55&&e[2]===122&&e[3]===88&&e[4]===90&&e[5]===0}async function Xe(e){let i=Ae.Bzip2.decompressFile(Array.from(e));return new Uint8Array(i)}async function je(e){let t=Ae.Bzip2,i=[];return t.compressFile(Array.from(e),i,9),new Uint8Array(i)}async function qe(e){let i=(await _e()).unxzSync(Buffer.from(e));return new Uint8Array(i)}async function Ye(e){let i=(await _e()).xzSync(Buffer.from(e));return new Uint8Array(i)}async function Ce(e){let t=await C(e);return je(t)}async function xe(e){let t=await C(e);return Ye(t)}async function q(e){if(e.length>y)return{entries:[],error:`Archive too large (max ${y} bytes)`};try{let t=await Xe(e);return _(t)}catch(t){let i=t instanceof Error?t.message:"Unknown error";return{entries:[],error:i}}}async function Y(e){if(e.length>y)return{entries:[],error:`Archive too large (max ${y} bytes)`};try{let t=await qe(e);return _(t)}catch(t){let i=t instanceof Error?t.message:"Unknown error";return{entries:[],error:i}}}function V(e){return e.length>=4&&e[0]===40&&e[1]===181&&e[2]===47&&e[3]===253}async function Ve(e){let t=await Z.compress(Buffer.from(e),3);return new Uint8Array(t)}async function Je(e){let t=await Z.decompress(Buffer.from(e));return new Uint8Array(t)}async function Ue(e){let t=await C(e);return Ve(t)}async function J(e){if(e.length>y)return{entries:[],error:`Archive too large (max ${y} bytes)`};try{let t=await Je(e);return _(t)}catch(t){let i=t instanceof Error?t.message:"Unknown error";return{entries:[],error:i}}}var Ie=100,Qe={name:"tar",summary:"manipulate tape archives",usage:"tar [options] [file...]",description:["Create, extract, or list contents of tar archives.","","One of -c, -r, -u, -x, or -t is required to specify the operation."],options:["-c, --create create a new archive","-r, --append append files to the end of an archive","-u, --update only append files newer than copy in archive","-x, --extract extract files from an archive","-t, --list list contents of an archive","-f, --file=ARCHIVE use archive file ARCHIVE","-a, --auto-compress use archive suffix to determine compression","-z, --gzip filter archive through gzip","-j, --bzip2 filter archive through bzip2","-J, --xz filter archive through xz","--zstd filter archive through zstd","-v, --verbose verbosely list files processed","-O, --to-stdout extract files to standard output","-k, --keep-old-files don't replace existing files when extracting","-m, --touch don't extract file modified time","-C, --directory=DIR change to directory DIR before performing operations","-p, --preserve preserve permissions","-T, --files-from=FILE read files to extract/create from FILE","-X, --exclude-from=FILE read exclude patterns from FILE","--strip=N strip N leading path components on extraction","--exclude=PATTERN exclude files matching PATTERN","--wildcards use wildcards for pattern matching"," --help display this help and exit"],examples:["tar -cvf archive.tar file1 file2 Create archive from files","tar -czvf archive.tar.gz dir/ Create gzip-compressed archive","tar -cjvf archive.tar.bz2 dir/ Create bzip2-compressed archive","tar -rf archive.tar newfile.txt Append file to archive","tar -uf archive.tar dir/ Update archive with newer files","tar -xvf archive.tar Extract archive","tar -xvf archive.tar -C /tmp Extract to /tmp","tar -tvf archive.tar List archive contents","tar -xzf archive.tar.gz Extract gzip archive","tar -xf archive.tar file1.txt Extract specific file","tar -xOf archive.tar file.txt Extract file to stdout","tar -xf archive.tar --wildcards '*.txt' Extract matching files"]};function et(e){let t={create:!1,append:!1,update:!1,extract:!1,list:!1,file:"",autoCompress:!1,gzip:!1,bzip2:!1,xz:!1,zstd:!1,verbose:!1,toStdout:!1,keepOldFiles:!1,touch:!1,directory:"",preserve:!1,strip:0,exclude:[],filesFrom:"",excludeFrom:"",wildcards:!1},i=[],r=0;for(;r<e.length;){let n=e[r];if(n.startsWith("-")&&!n.startsWith("--")&&n.length>2){if(/^-\d+$/.test(n)){i.push(n),r++;continue}for(let s=1;s<n.length;s++){let o=n[s];switch(o){case"c":t.create=!0;break;case"r":t.append=!0;break;case"u":t.update=!0;break;case"x":t.extract=!0;break;case"t":t.list=!0;break;case"a":t.autoCompress=!0;break;case"z":t.gzip=!0;break;case"j":t.bzip2=!0;break;case"J":t.xz=!0;break;case"v":t.verbose=!0;break;case"O":t.toStdout=!0;break;case"k":t.keepOldFiles=!0;break;case"m":t.touch=!0;break;case"p":t.preserve=!0;break;case"f":if(s<n.length-1)t.file=n.substring(s+1),s=n.length;else{if(r++,r>=e.length)return{ok:!1,error:{stdout:"",stderr:`tar: option requires an argument -- 'f'
2
+ import{a as te,b as re,c as N}from"./chunk-GTNBSMZR.js";import"./chunk-KGOUQS5A.js";import*as Z from"@mongodb-js/zstd";import Ae from"compressjs";var P="file",se="link",ae="symlink",b="directory",ve={file:"0",link:"1",symlink:"2","character-device":"3","block-device":"4",directory:"5",fifo:"6","pax-header":"x","pax-global-header":"g","gnu-long-name":"L","gnu-long-link-name":"K"},ze={0:P,1:se,2:ae,3:"character-device",4:"block-device",5:b,6:"fifo",x:"pax-header",g:"pax-global-header",L:"gnu-long-name",K:"gnu-long-link-name"},Oe=new Uint8Array(512),O=new Uint8Array(0),x=new TextEncoder,oe=new TextDecoder;function T(e,t,i,r){r&&x.encodeInto(r,e.subarray(t,t+i))}function I(e,t,i,r){if(r===void 0)return;let n=r.toString(8).padStart(i-1,"0");x.encodeInto(n,e.subarray(t,t+i-1))}function A(e,t,i){let r=e.indexOf(0,t),n=r===-1||r>t+i?t+i:r;return oe.decode(e.subarray(t,n))}function G(e,t,i){let r=0,n=t+i;for(let s=t;s<n;s++){let o=e[s];if(o===0)break;o!==32&&(r=r*8+(o-48))}return r}function R(e,t,i){if(e[t]&128){let r=0;r=e[t]&127;for(let n=1;n<i;n++)r=r*256+e[t+n];if(!Number.isSafeInteger(r))throw new Error("TAR number too large");return r}return G(e,t,i)}var k=e=>e.type===b||e.type===ae||e.type===se;async function ce(e){if(e==null)return O;if(e instanceof Uint8Array)return e;if(typeof e=="string")return x.encode(e);if(e instanceof ArrayBuffer)return new Uint8Array(e);if(e instanceof Blob)return new Uint8Array(await e.arrayBuffer());throw new TypeError("Unsupported content type for entry body.")}function le(e,t){let{strip:i,filter:r,map:n}=t;if(!i&&!r&&!n)return e;let s={...e};if(i&&i>0){let a=s.name.split("/").filter(Boolean);if(i>=a.length)return null;let c=a.slice(i).join("/");if(s.name=s.type===b&&!c.endsWith("/")?`${c}/`:c,s.linkname?.startsWith("/")){let l=s.linkname.split("/").filter(Boolean);s.linkname=i>=l.length?"/":`/${l.slice(i).join("/")}`}}if(r?.(s)===!1)return null;let o=n?n(s):s;return o&&(!o.name||!o.name.trim()||o.name==="."||o.name==="/")?null:o}var K=32,be=48;function Me(e){let t=G(e,148,8),i=0;for(let r=0;r<e.length;r++)r>=148&&r<156?i+=K:i+=e[r];return t===i}function $e(e){e.fill(K,148,156);let t=0;for(let i of e)t+=i;for(let i=153;i>=148;i--)e[i]=(t&7)+be,t>>=3;e[154]=0,e[155]=K}function Ze(e){let t={};e.name.length>100&&ue(e.name)===null&&(t.path=e.name),e.linkname&&e.linkname.length>100&&(t.linkpath=e.linkname),e.uname&&e.uname.length>32&&(t.uname=e.uname),e.gname&&e.gname.length>32&&(t.gname=e.gname),e.uid!=null&&e.uid>2097151&&(t.uid=String(e.uid)),e.gid!=null&&e.gid>2097151&&(t.gid=String(e.gid)),e.size!=null&&e.size>8589934591&&(t.size=String(e.size)),e.pax&&Object.assign(t,e.pax);let i=Object.entries(t);if(i.length===0)return null;let r=x.encode(i.map(([n,s])=>{let o=`${n}=${s}
3
+ `,a=x.encode(o).length+1,c=a+String(a).length;return c=a+String(c).length,`${c} ${o}`}).join(""));return{paxHeader:fe({name:oe.decode(x.encode(`PaxHeader/${e.name}`).slice(0,100)),size:r.length,type:"pax-header",mode:420,mtime:e.mtime,uname:e.uname,gname:e.gname,uid:e.uid,gid:e.gid}),paxBody:r}}function ue(e){if(e.length<=100)return null;let t=e.length-100-1,i=e.lastIndexOf("/",155);return i>0&&i>=t?{prefix:e.slice(0,i),name:e.slice(i+1)}:null}function fe(e){let t=new Uint8Array(512),i=k(e)?0:e.size??0,r=e.name,n="";if(!e.pax?.path){let s=ue(r);s&&(r=s.name,n=s.prefix)}return T(t,0,100,r),I(t,100,8,e.mode??(e.type===b?493:420)),I(t,108,8,e.uid??0),I(t,116,8,e.gid??0),I(t,124,12,i),I(t,136,12,Math.floor((e.mtime?.getTime()??Date.now())/1e3)),T(t,156,1,ve[e.type??P]),T(t,157,100,e.linkname),T(t,257,6,"ustar\0"),T(t,263,2,"00"),T(t,265,32,e.uname),T(t,297,32,e.gname),T(t,345,155,n),$e(t),t}function Be(e,t){if(t&&!Me(e))throw new Error("Invalid tar header checksum.");let i=A(e,156,1),r={name:A(e,0,100),mode:G(e,100,8),uid:R(e,108,8),gid:R(e,116,8),size:R(e,124,12),mtime:new Date(R(e,136,12)*1e3),type:ze[i]||P,linkname:A(e,157,100)},n=A(e,257,6);return n.trim()==="ustar"&&(r.uname=A(e,265,32),r.gname=A(e,297,32)),n==="ustar"&&(r.prefix=A(e,345,155)),r}var De={path:["name",e=>e],linkpath:["linkname",e=>e],size:["size",e=>parseInt(e,10)],mtime:["mtime",parseFloat],uid:["uid",e=>parseInt(e,10)],gid:["gid",e=>parseInt(e,10)],uname:["uname",e=>e],gname:["gname",e=>e]};function Ne(e){let t=new TextDecoder("utf-8"),i={},r={},n=0;for(;n<e.length;){let s=e.indexOf(32,n);if(s===-1)break;let o=parseInt(t.decode(e.subarray(n,s)),10);if(Number.isNaN(o)||o===0)break;let a=n+o,[c,l]=t.decode(e.subarray(s+1,a-1)).split("=",2);if(c&&l!==void 0){r[c]=l;let d=De[c];if(d){let[u,g]=d,p=g(l);(typeof p=="string"||!Number.isNaN(p))&&(i[u]=p)}}n=a}return Object.keys(r).length>0&&(i.pax=r),i}function ne(e,t){t.name!==void 0&&(e.name=t.name),t.linkname!==void 0&&(e.linkname=t.linkname),t.size!==void 0&&(e.size=t.size),t.mtime!==void 0&&(e.mtime=new Date(t.mtime*1e3)),t.uid!==void 0&&(e.uid=t.uid),t.gid!==void 0&&(e.gid=t.gid),t.uname!==void 0&&(e.uname=t.uname),t.gname!==void 0&&(e.gname=t.gname),t.pax&&(e.pax=Object.assign({},e.pax??{},t.pax))}function Le(e){switch(e){case"pax-global-header":case"pax-header":return Ne;case"gnu-long-name":return t=>({name:A(t,0,t.length)});case"gnu-long-link-name":return t=>({linkname:A(t,0,t.length)});default:return}}function Ke(e){let t=fe(e),i=Ze(e);if(!i)return[t];let r=-i.paxBody.length&511,n=r>0?[Oe.subarray(0,r)]:[];return[i.paxHeader,i.paxBody,...n,t]}var Pe=new Uint8Array(512*2);function de(e,t,i){let r=null,n=0,s=!1;return{add(o){if(s){let a=new Error("No new tar entries after finalize.");throw t(a),a}if(r!==null){let a=new Error("Previous entry must be completed before adding a new one");throw t(a),a}try{let a=k(o)?0:o.size??0,c=Ke({...o,size:a});for(let l of c)e(l);r={...o,size:a},n=0}catch(a){t(a)}},write(o){if(!r){let c=new Error("No active tar entry.");throw t(c),c}if(s){let c=new Error("Cannot write data after finalize.");throw t(c),c}let a=n+o.length;if(a>r.size){let c=new Error(`"${r.name}" exceeds given size of ${r.size} bytes.`);throw t(c),c}try{n=a,e(o)}catch(c){t(c)}},endEntry(){if(!r){let o=new Error("No active entry to end.");throw t(o),o}if(s){let o=new Error("Cannot end entry after finalize.");throw t(o),o}try{if(n!==r.size){let a=new Error(`Size mismatch for "${r.name}".`);throw t(a),a}let o=-r.size&511;o>0&&e(new Uint8Array(o)),r=null,n=0}catch(o){throw t(o),o}},finalize(){if(s){let o=new Error("Archive has already been finalized");throw t(o),o}if(r!==null){let o=new Error("Cannot finalize while an entry is still active");throw t(o),o}try{e(Pe),s=!0,i&&i()}catch(o){t(o)}}}}var v=256;function Ge(){let e=new Array(v),t=e.length-1,i=0,r=0,n=0,s=a=>{let c=e[i];a===c.length?(e[i]=O,i=i+1&t):e[i]=c.subarray(a),n-=a,n===0&&e.length>v&&(e=new Array(v),t=v-1,i=0,r=0)};function o(a,c){if(c){let p=0,f=Math.min(a,n);for(;f>0;){let h=e[i],m=Math.min(f,h.length),S=m===h.length?h:h.subarray(0,m);if(s(m),f-=m,p+=m,!c(S))break}return p}if(n<a)return null;if(a===0)return O;let l=e[i];if(l.length>=a){let p=l.length===a?l:l.subarray(0,a);return s(a),p}let d=new Uint8Array(a),u=0,g=a;for(;g>0;){let p=e[i],f=Math.min(g,p.length);d.set(f===p.length?p:p.subarray(0,f),u),u+=f,g-=f,s(f)}return d}return{push:a=>{if(a.length===0)return;let c=r+1&t;if(c===i){let l=e.length,d=l*2,u=new Array(d),g=r-i+l&l-1;if(i<r)for(let p=0;p<g;p++)u[p]=e[i+p];else if(g>0){let p=l-i;for(let f=0;f<p;f++)u[f]=e[i+f];for(let f=0;f<r;f++)u[p+f]=e[f]}e=u,t=d-1,i=0,r=g,c=r+1&t}e[r]=a,r=c,n+=a.length},available:()=>n,peek:a=>{if(n<a)return null;if(a===0)return O;let c=e[i];if(c.length>=a)return c.length===a?c:c.subarray(0,a);let l=new Uint8Array(a),d=0,u=i;for(;d<a;){let g=e[u],p=Math.min(a-d,g.length);p===g.length?l.set(g,d):l.set(g.subarray(0,p),d),d+=p,u=u+1&t}return l},discard:a=>{if(a>n)throw new Error("Too many bytes consumed");if(a===0)return;let c=a;for(;c>0;){let l=e[i],d=Math.min(c,l.length);s(d),c-=d}},pull:o}}var L=0,F=1,z=new Error("Tar archive is truncated.");function me(e={}){let t=e.strict??!1,{available:i,peek:r,push:n,discard:s,pull:o}=Ge(),a=L,c=!1,l=!1,d=!1,u=null,g={},p={},f={isEntryActive:()=>a===F,isBodyComplete:()=>!u||u.remaining===0,write(h){if(c)throw new Error("Archive already ended.");n(h)},end(){c=!0},readHeader(){if(a!==L)throw new Error("Cannot read header while an entry is active");if(!l)for(;!l;){if(i()<512){if(c){if(i()>0&&t)throw z;l=!0;return}return null}let h=r(512);if(ie(h)){if(i()<512*2){if(c){if(t)throw z;l=!0;return}return null}if(ie(r(512*2).subarray(512))){s(512*2),l=!0,d=!0;return}if(t)throw new Error("Invalid tar header.");s(512);continue}let m;try{m=Be(h,t)}catch(w){if(t)throw w;s(512);continue}let S=Le(m.type);if(S){let w=m.size+511&-512;if(i()<512+w){if(c&&t)throw z;return null}s(512);let U=S(o(w).subarray(0,m.size)),Re=m.type==="pax-global-header"?g:p;for(let ee in U)Re[ee]=U[ee];continue}s(512);let E=m;return m.prefix&&(E.name=`${m.prefix}/${E.name}`),ne(E,g),ne(E,p),p={},u={header:E,remaining:E.size,padding:-E.size&511},a=F,E}},streamBody(h){if(a!==F||!u||u.remaining===0)return 0;let m=Math.min(u.remaining,i());if(m===0)return 0;let S=o(m,h);return u.remaining-=S,S},skipPadding(){if(a!==F||!u)return!0;if(u.remaining>0)throw new Error("Body not fully consumed");return i()<u.padding?!1:(s(u.padding),u=null,a=L,!0)},skipEntry(){if(a!==F||!u)return!0;let h=Math.min(u.remaining,i());return h>0&&(s(h),u.remaining-=h),u.remaining>0?!1:f.skipPadding()},validateEOF(){if(t){if(!d)throw z;if(i()>0&&o(i()).some(h=>h!==0))throw new Error("Invalid EOF.")}}};return f}function ie(e){if(e.byteOffset%8===0){let t=new BigUint64Array(e.buffer,e.byteOffset,e.length/8);for(let i=0;i<t.length;i++)if(t[i]!==0n)return!1;return!0}for(let t=0;t<e.length;t++)if(e[t]!==0)return!1;return!0}function he(){return new CompressionStream("gzip")}function ge(){return new DecompressionStream("gzip")}function He(){let e,t;return{readable:new ReadableStream({start(i){e=i,t=de(i.enqueue.bind(i),i.error.bind(i),i.close.bind(i))}}),controller:{add(i){let r=k(i),n={...i};return r&&(n.size=0),t.add(n),r&&t.endEntry(),new WritableStream({write(s){t.write(s)},close(){r||t.endEntry()},abort(s){e.error(s)}})},finalize(){t.finalize()},error(i){e.error(i)}}}}async function Se(e){let t=[],i=e.getReader(),r=0;try{for(;;){let{done:o,value:a}=await i.read();if(o)break;t.push(a),r+=a.length}let n=new Uint8Array(r),s=0;for(let o of t)n.set(o,s),s+=o.length;return n}finally{i.releaseLock()}}var pe=e=>e.pipeTo(new WritableStream);function We(e={}){let t=me(e),i=null,r=!1,n=s=>{if(!r){r=!0;try{for(;;)if(t.isEntryActive()){if(i){if(t.streamBody(o=>(i.enqueue(o),!0))===0&&!t.isBodyComplete())break}else if(!t.skipEntry())break;if(t.isBodyComplete()){try{i?.close()}catch{}if(i=null,!t.skipPadding())break}}else{let o=t.readHeader();if(o==null)break;s.enqueue({header:o,body:new ReadableStream({start(a){o.size===0?a.close():i=a},pull:()=>n(s),cancel(){i=null,n(s)}})})}}catch(o){try{i?.error(o)}catch{}throw i=null,o}finally{r=!1}}};return new TransformStream({transform(s,o){try{t.write(s),n(o)}catch(a){try{i?.error(a)}catch{}throw a}},flush(s){try{if(t.end(),n(s),t.validateEOF(),t.isEntryActive()&&!t.isBodyComplete())try{i?.close()}catch{}}catch(o){try{i?.error(o)}catch{}throw o}}},void 0,{highWaterMark:1})}async function Ee(e){let{readable:t,controller:i}=He();return await(async()=>{for(let r of e){let n=i.add(r.header),s="body"in r?r.body:r.data;if(!s){await n.close();continue}if(s instanceof ReadableStream)await s.pipeTo(n);else if(s instanceof Blob)await s.stream().pipeTo(n);else try{let o=await ce(s);if(o.length>0){let a=n.getWriter();await a.write(o),await a.close()}else await n.close()}catch{throw new TypeError(`Unsupported content type for entry "${r.header.name}".`)}}})().then(()=>i.finalize()).catch(r=>i.error(r)),new Uint8Array(await Se(t))}async function we(e,t={}){let i=e instanceof ReadableStream?e:new ReadableStream({start(s){s.enqueue(e instanceof Uint8Array?e:new Uint8Array(e)),s.close()}}),r=[],n=i.pipeThrough(We(t));for await(let s of n){let o;try{o=le(s.header,t)}catch(a){throw await s.body.cancel(),a}if(o===null){await pe(s.body);continue}k(o)?(await pe(s.body),r.push({header:o})):r.push({header:o,data:await Se(s.body)})}return r}var M=null,$=null;async function _e(){if(M)return M;if($)throw $;try{return M=await import("node-liblzma"),M}catch{throw $=new Error("xz compression requires node-liblzma which failed to load. Install liblzma-dev (apt) or xz (brew) and reinstall dependencies."),$}}var y=100*1024*1024,ye=1e4;function Xe(e){let t="file";e.isDirectory?t="directory":e.isSymlink&&(t="symlink");let i=e.name;e.isDirectory&&!i.endsWith("/")&&(i+="/");let r;e.content!==void 0&&(typeof e.content=="string"?r=new TextEncoder().encode(e.content):r=e.content);let n=e.isDirectory||e.isSymlink?0:r?.length??0;return{header:{name:i,mode:e.mode??(e.isDirectory?493:420),uid:e.uid??0,gid:e.gid??0,size:n,mtime:e.mtime??new Date,type:t,linkname:e.linkTarget??"",uname:"user",gname:"user"},body:r}}async function C(e){let t=e.map(Xe);return Ee(t)}async function Te(e){let t=await C(e),n=new ReadableStream({start(l){l.enqueue(t),l.close()}}).pipeThrough(he()).getReader(),s=[];for(;;){let{done:l,value:d}=await n.read();if(l)break;s.push(d)}let o=s.reduce((l,d)=>l+d.length,0),a=new Uint8Array(o),c=0;for(let l of s)a.set(l,c),c+=l.length;return a}async function _(e){if(e.length>y)return{entries:[],error:`Archive too large (max ${y} bytes)`};try{let t=await we(e),i=[];for(let r of t){if(i.length>=ye)return{entries:i,error:`Too many entries (max ${ye})`};let n="file";switch(r.header.type){case"directory":n="directory";break;case"symlink":n="symlink";break;case"link":n="hardlink";break;case"file":n="file";break;default:n="other"}i.push({name:r.header.name,mode:r.header.mode??420,uid:r.header.uid??0,gid:r.header.gid??0,size:r.header.size,mtime:r.header.mtime??new Date,type:n,linkTarget:r.header.linkname||void 0,content:r.data??new Uint8Array(0)})}return{entries:i}}catch(t){let i=t instanceof Error?t.message:"Unknown error";return{entries:[],error:i}}}async function H(e){if(e.length>y)return{entries:[],error:`Archive too large (max ${y} bytes)`};try{let r=new ReadableStream({start(c){c.enqueue(e),c.close()}}).pipeThrough(ge()).getReader(),n=[];for(;;){let{done:c,value:l}=await r.read();if(c)break;n.push(l)}let s=n.reduce((c,l)=>c+l.length,0),o=new Uint8Array(s),a=0;for(let c of n)o.set(c,a),a+=c.length;return _(o)}catch(t){let i=t instanceof Error?t.message:"Unknown error";return{entries:[],error:`Decompression failed: ${i}`}}}function W(e){return e.length>=2&&e[0]===31&&e[1]===139}function X(e){return e.length>=3&&e[0]===66&&e[1]===90&&e[2]===104}function j(e){return e.length>=6&&e[0]===253&&e[1]===55&&e[2]===122&&e[3]===88&&e[4]===90&&e[5]===0}async function je(e){let i=Ae.Bzip2.decompressFile(Array.from(e));return new Uint8Array(i)}async function qe(e){let t=Ae.Bzip2,i=[];return t.compressFile(Array.from(e),i,9),new Uint8Array(i)}async function Ye(e){let i=(await _e()).unxzSync(Buffer.from(e));return new Uint8Array(i)}async function Ve(e){let i=(await _e()).xzSync(Buffer.from(e));return new Uint8Array(i)}async function Ce(e){let t=await C(e);return qe(t)}async function xe(e){let t=await C(e);return Ve(t)}async function q(e){if(e.length>y)return{entries:[],error:`Archive too large (max ${y} bytes)`};try{let t=await je(e);return _(t)}catch(t){let i=t instanceof Error?t.message:"Unknown error";return{entries:[],error:i}}}async function Y(e){if(e.length>y)return{entries:[],error:`Archive too large (max ${y} bytes)`};try{let t=await Ye(e);return _(t)}catch(t){let i=t instanceof Error?t.message:"Unknown error";return{entries:[],error:i}}}function V(e){return e.length>=4&&e[0]===40&&e[1]===181&&e[2]===47&&e[3]===253}async function Je(e){let t=await Z.compress(Buffer.from(e),3);return new Uint8Array(t)}async function Qe(e){let t=await Z.decompress(Buffer.from(e));return new Uint8Array(t)}async function Ue(e){let t=await C(e);return Je(t)}async function J(e){if(e.length>y)return{entries:[],error:`Archive too large (max ${y} bytes)`};try{let t=await Qe(e);return _(t)}catch(t){let i=t instanceof Error?t.message:"Unknown error";return{entries:[],error:i}}}function Ie(e){let t={create:!1,append:!1,update:!1,extract:!1,list:!1,file:"",autoCompress:!1,gzip:!1,bzip2:!1,xz:!1,zstd:!1,verbose:!1,toStdout:!1,keepOldFiles:!1,touch:!1,directory:"",preserve:!1,strip:0,exclude:[],filesFrom:"",excludeFrom:"",wildcards:!1},i=[],r=0;for(;r<e.length;){let n=e[r];if(n.startsWith("-")&&!n.startsWith("--")&&n.length>2){if(/^-\d+$/.test(n)){i.push(n),r++;continue}for(let s=1;s<n.length;s++){let o=n[s];switch(o){case"c":t.create=!0;break;case"r":t.append=!0;break;case"u":t.update=!0;break;case"x":t.extract=!0;break;case"t":t.list=!0;break;case"a":t.autoCompress=!0;break;case"z":t.gzip=!0;break;case"j":t.bzip2=!0;break;case"J":t.xz=!0;break;case"v":t.verbose=!0;break;case"O":t.toStdout=!0;break;case"k":t.keepOldFiles=!0;break;case"m":t.touch=!0;break;case"p":t.preserve=!0;break;case"f":if(s<n.length-1)t.file=n.substring(s+1),s=n.length;else{if(r++,r>=e.length)return{ok:!1,error:{stdout:"",stderr:`tar: option requires an argument -- 'f'
4
4
  `,exitCode:2}};t.file=e[r]}break;case"C":if(s<n.length-1)t.directory=n.substring(s+1),s=n.length;else{if(r++,r>=e.length)return{ok:!1,error:{stdout:"",stderr:`tar: option requires an argument -- 'C'
5
5
  `,exitCode:2}};t.directory=e[r]}break;case"T":if(s<n.length-1)t.filesFrom=n.substring(s+1),s=n.length;else{if(r++,r>=e.length)return{ok:!1,error:{stdout:"",stderr:`tar: option requires an argument -- 'T'
6
6
  `,exitCode:2}};t.filesFrom=e[r]}break;case"X":if(s<n.length-1)t.excludeFrom=n.substring(s+1),s=n.length;else{if(r++,r>=e.length)return{ok:!1,error:{stdout:"",stderr:`tar: option requires an argument -- 'X'
@@ -10,7 +10,7 @@ import{a as te,b as re,c as N}from"./chunk-GTNBSMZR.js";import"./chunk-KGOUQS5A.
10
10
  `,exitCode:2}};t.strip=o}else if(n.startsWith("--exclude="))t.exclude.push(n.substring(10));else if(n==="--exclude"){if(r++,r>=e.length)return{ok:!1,error:{stdout:"",stderr:`tar: option '--exclude' requires an argument
11
11
  `,exitCode:2}};t.exclude.push(e[r])}else if(n==="-T"||n==="--files-from"){if(r++,r>=e.length)return{ok:!1,error:{stdout:"",stderr:`tar: option requires an argument -- 'T'
12
12
  `,exitCode:2}};t.filesFrom=e[r]}else if(n.startsWith("--files-from="))t.filesFrom=n.substring(13);else if(n==="-X"||n==="--exclude-from"){if(r++,r>=e.length)return{ok:!1,error:{stdout:"",stderr:`tar: option requires an argument -- 'X'
13
- `,exitCode:2}};t.excludeFrom=e[r]}else if(n.startsWith("--exclude-from="))t.excludeFrom=n.substring(15);else if(n==="--"){i.push(...e.slice(r+1));break}else{if(n.startsWith("-"))return{ok:!1,error:N("tar",n)};i.push(n)}r++}return{ok:!0,options:t,files:i}}function Q(e,t){let i=e.includes("/")?e.substring(e.lastIndexOf("/")+1):e;for(let r of t){let n=r.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*\*/g,"<<<GLOBSTAR>>>").replace(/\*/g,"[^/]*").replace(/<<<GLOBSTAR>>>/g,".*").replace(/\?/g,".");if(new RegExp(`^${n}$`).test(e)||new RegExp(`^${n}/`).test(e)||!r.includes("/")&&new RegExp(`^${n}$`).test(i))return!0}return!1}function B(e,t){let i=t.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*\*/g,"<<<GLOBSTAR>>>").replace(/\*/g,"[^/]*").replace(/<<<GLOBSTAR>>>/g,".*").replace(/\?/g,"."),r=e.includes("/")?e.substring(e.lastIndexOf("/")+1):e;return new RegExp(`^${i}$`).test(e)||new RegExp(`^${i}$`).test(r)}function Fe(e,t){if(t<=0)return e;let i=e.split("/").filter(r=>r!=="");return i.length<=t?"":i.slice(t).join("/")}function tt(e,t){let i=t?"d":"-",r=[e&256?"r":"-",e&128?"w":"-",e&64?"x":"-",e&32?"r":"-",e&16?"w":"-",e&8?"x":"-",e&4?"r":"-",e&2?"w":"-",e&1?"x":"-"].join("");return i+r}function rt(e){let i=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"][e.getMonth()],r=e.getDate().toString().padStart(2," "),n=e.getHours().toString().padStart(2,"0"),s=e.getMinutes().toString().padStart(2,"0");return`${i} ${r} ${n}:${s}`}async function D(e,t,i,r){let n=[],s=[],o=e.fs.resolvePath(t,i);try{let a=await e.fs.stat(o);if(Q(i,r))return{entries:n,errors:s};if(a.isDirectory){n.push({name:i,isDirectory:!0,mode:a.mode,mtime:a.mtime});let c=await e.fs.readdir(o);for(let l=0;l<c.length;l+=Ie){let d=c.slice(l,l+Ie),u=await Promise.all(d.map(g=>D(e,t,i?`${i}/${g}`:g,r)));for(let g of u)n.push(...g.entries),s.push(...g.errors)}}else if(a.isFile){let c=await e.fs.readFileBuffer(o);n.push({name:i,content:c,mode:a.mode,mtime:a.mtime})}else if(a.isSymbolicLink){let c=await e.fs.readlink(o);n.push({name:i,isSymlink:!0,linkTarget:c,mode:a.mode,mtime:a.mtime})}}catch(a){let c=a instanceof Error?a.message:"unknown error";s.push(`tar: ${i}: ${c}`)}return{entries:n,errors:s}}async function nt(e,t,i){if(i.length===0)return{stdout:"",stderr:`tar: Cowardly refusing to create an empty archive
13
+ `,exitCode:2}};t.excludeFrom=e[r]}else if(n.startsWith("--exclude-from="))t.excludeFrom=n.substring(15);else if(n==="--"){i.push(...e.slice(r+1));break}else{if(n.startsWith("-"))return{ok:!1,error:N("tar",n)};i.push(n)}r++}return{ok:!0,options:t,files:i}}var Fe=100,et={name:"tar",summary:"manipulate tape archives",usage:"tar [options] [file...]",description:["Create, extract, or list contents of tar archives.","","One of -c, -r, -u, -x, or -t is required to specify the operation."],options:["-c, --create create a new archive","-r, --append append files to the end of an archive","-u, --update only append files newer than copy in archive","-x, --extract extract files from an archive","-t, --list list contents of an archive","-f, --file=ARCHIVE use archive file ARCHIVE","-a, --auto-compress use archive suffix to determine compression","-z, --gzip filter archive through gzip","-j, --bzip2 filter archive through bzip2","-J, --xz filter archive through xz","--zstd filter archive through zstd","-v, --verbose verbosely list files processed","-O, --to-stdout extract files to standard output","-k, --keep-old-files don't replace existing files when extracting","-m, --touch don't extract file modified time","-C, --directory=DIR change to directory DIR before performing operations","-p, --preserve preserve permissions","-T, --files-from=FILE read files to extract/create from FILE","-X, --exclude-from=FILE read exclude patterns from FILE","--strip=N strip N leading path components on extraction","--exclude=PATTERN exclude files matching PATTERN","--wildcards use wildcards for pattern matching"," --help display this help and exit"],examples:["tar -cvf archive.tar file1 file2 Create archive from files","tar -czvf archive.tar.gz dir/ Create gzip-compressed archive","tar -cjvf archive.tar.bz2 dir/ Create bzip2-compressed archive","tar -rf archive.tar newfile.txt Append file to archive","tar -uf archive.tar dir/ Update archive with newer files","tar -xvf archive.tar Extract archive","tar -xvf archive.tar -C /tmp Extract to /tmp","tar -tvf archive.tar List archive contents","tar -xzf archive.tar.gz Extract gzip archive","tar -xf archive.tar file1.txt Extract specific file","tar -xOf archive.tar file.txt Extract file to stdout","tar -xf archive.tar --wildcards '*.txt' Extract matching files"]};function Q(e,t){let i=e.includes("/")?e.substring(e.lastIndexOf("/")+1):e;for(let r of t){let n=r.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*\*/g,"<<<GLOBSTAR>>>").replace(/\*/g,"[^/]*").replace(/<<<GLOBSTAR>>>/g,".*").replace(/\?/g,".");if(new RegExp(`^${n}$`).test(e)||new RegExp(`^${n}/`).test(e)||!r.includes("/")&&new RegExp(`^${n}$`).test(i))return!0}return!1}function B(e,t){let i=t.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*\*/g,"<<<GLOBSTAR>>>").replace(/\*/g,"[^/]*").replace(/<<<GLOBSTAR>>>/g,".*").replace(/\?/g,"."),r=e.includes("/")?e.substring(e.lastIndexOf("/")+1):e;return new RegExp(`^${i}$`).test(e)||new RegExp(`^${i}$`).test(r)}function ke(e,t){if(t<=0)return e;let i=e.split("/").filter(r=>r!=="");return i.length<=t?"":i.slice(t).join("/")}function tt(e,t){let i=t?"d":"-",r=[e&256?"r":"-",e&128?"w":"-",e&64?"x":"-",e&32?"r":"-",e&16?"w":"-",e&8?"x":"-",e&4?"r":"-",e&2?"w":"-",e&1?"x":"-"].join("");return i+r}function rt(e){let i=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"][e.getMonth()],r=e.getDate().toString().padStart(2," "),n=e.getHours().toString().padStart(2,"0"),s=e.getMinutes().toString().padStart(2,"0");return`${i} ${r} ${n}:${s}`}async function D(e,t,i,r){let n=[],s=[],o=e.fs.resolvePath(t,i);try{let a=await e.fs.stat(o);if(Q(i,r))return{entries:n,errors:s};if(a.isDirectory){n.push({name:i,isDirectory:!0,mode:a.mode,mtime:a.mtime});let c=await e.fs.readdir(o);for(let l=0;l<c.length;l+=Fe){let d=c.slice(l,l+Fe),u=await Promise.all(d.map(g=>D(e,t,i?`${i}/${g}`:g,r)));for(let g of u)n.push(...g.entries),s.push(...g.errors)}}else if(a.isFile){let c=await e.fs.readFileBuffer(o);n.push({name:i,content:c,mode:a.mode,mtime:a.mtime})}else if(a.isSymbolicLink){let c=await e.fs.readlink(o);n.push({name:i,isSymlink:!0,linkTarget:c,mode:a.mode,mtime:a.mtime})}}catch(a){let c=a instanceof Error?a.message:"unknown error";s.push(`tar: ${i}: ${c}`)}return{entries:n,errors:s}}async function nt(e,t,i){if(i.length===0)return{stdout:"",stderr:`tar: Cowardly refusing to create an empty archive
14
14
  `,exitCode:2};let r=t.directory?e.fs.resolvePath(e.cwd,t.directory):e.cwd,n=[],s=[],o="";for(let d of i){let{entries:u,errors:g}=await D(e,r,d,t.exclude);if(n.push(...u),s.push(...g),t.verbose)for(let p of u)o+=`${p.name}${p.isDirectory?"/":""}
15
15
  `}if(n.length===0&&s.length>0)return{stdout:"",stderr:`${s.join(`
16
16
  `)}
@@ -40,7 +40,7 @@ import{a as te,b as re,c as N}from"./chunk-GTNBSMZR.js";import"./chunk-KGOUQS5A.
40
40
  `)}
41
41
  `),{stdout:"",stderr:h,exitCode:l.length>0?2:0}}async function at(e,t,i){let r;if(t.file&&t.file!=="-"){let f=e.fs.resolvePath(e.cwd,t.file);try{r=await e.fs.readFileBuffer(f)}catch{return{stdout:"",stderr:`tar: ${t.file}: Cannot open: No such file or directory
42
42
  `,exitCode:2}}}else r=Uint8Array.from(e.stdin,f=>f.charCodeAt(0));let n,s=t.gzip||W(r),o=t.bzip2||X(r),a=t.xz||j(r),c=t.zstd||V(r);if(s?n=await H(r):o?n=await q(r):a?n=await Y(r):c?n=await J(r):n=await _(r),n.error)return{stdout:"",stderr:`tar: ${n.error}
43
- `,exitCode:2};let l=t.directory?e.fs.resolvePath(e.cwd,t.directory):e.cwd,d="",u="",g=[];if(t.directory&&!t.toStdout)try{await e.fs.mkdir(l,{recursive:!0})}catch{}for(let f of n.entries){let h=Fe(f.name,t.strip);if(!h)continue;let m=h.endsWith("/")?h.slice(0,-1):h;if(i.length>0){let E;if(t.wildcards?E=i.some(w=>B(h,w)||B(m,w)||h.startsWith(`${w}/`)):E=i.some(w=>h===w||h.startsWith(`${w}/`)||m===w),!E)continue}if(Q(h,t.exclude))continue;let S=e.fs.resolvePath(l,h);try{if(f.type==="directory"){if(t.toStdout)continue;await e.fs.mkdir(S,{recursive:!0}),t.verbose&&(d+=`${h}
43
+ `,exitCode:2};let l=t.directory?e.fs.resolvePath(e.cwd,t.directory):e.cwd,d="",u="",g=[];if(t.directory&&!t.toStdout)try{await e.fs.mkdir(l,{recursive:!0})}catch{}for(let f of n.entries){let h=ke(f.name,t.strip);if(!h)continue;let m=h.endsWith("/")?h.slice(0,-1):h;if(i.length>0){let E;if(t.wildcards?E=i.some(w=>B(h,w)||B(m,w)||h.startsWith(`${w}/`)):E=i.some(w=>h===w||h.startsWith(`${w}/`)||m===w),!E)continue}if(Q(h,t.exclude))continue;let S=e.fs.resolvePath(l,h);try{if(f.type==="directory"){if(t.toStdout)continue;await e.fs.mkdir(S,{recursive:!0}),t.verbose&&(d+=`${h}
44
44
  `)}else if(f.type==="file"){if(t.toStdout){u+=new TextDecoder().decode(f.content),t.verbose&&(d+=`${h}
45
45
  `);continue}if(t.keepOldFiles)try{await e.fs.stat(S),t.verbose&&(d+=`${h}: not overwritten, file exists
46
46
  `);continue}catch{}let E=S.substring(0,S.lastIndexOf("/"));if(E)try{await e.fs.mkdir(E,{recursive:!0})}catch{}if(await e.fs.writeFile(S,f.content),t.preserve&&f.mode)try{await e.fs.chmod(S,f.mode)}catch{}t.verbose&&(d+=`${h}
@@ -50,9 +50,9 @@ import{a as te,b as re,c as N}from"./chunk-GTNBSMZR.js";import"./chunk-KGOUQS5A.
50
50
  `)}
51
51
  `),{stdout:u,stderr:p,exitCode:g.length>0?2:0}}async function ot(e,t,i){let r;if(t.file&&t.file!=="-"){let d=e.fs.resolvePath(e.cwd,t.file);try{r=await e.fs.readFileBuffer(d)}catch{return{stdout:"",stderr:`tar: ${t.file}: Cannot open: No such file or directory
52
52
  `,exitCode:2}}}else r=Uint8Array.from(e.stdin,d=>d.charCodeAt(0));let n,s=t.gzip||W(r),o=t.bzip2||X(r),a=t.xz||j(r),c=t.zstd||V(r);if(s?n=await H(r):o?n=await q(r):a?n=await Y(r):c?n=await J(r):n=await _(r),n.error)return{stdout:"",stderr:`tar: ${n.error}
53
- `,exitCode:2};let l="";for(let d of n.entries){let u=Fe(d.name,t.strip);if(!u)continue;let g=u.endsWith("/")?u.slice(0,-1):u;if(i.length>0){let p;if(t.wildcards?p=i.some(f=>B(u,f)||B(g,f)||u.startsWith(`${f}/`)):p=i.some(f=>u===f||u.startsWith(`${f}/`)||g===f),!p)continue}if(!Q(u,t.exclude))if(t.verbose){let p=d.type==="directory",f=tt(d.mode,p),h=`${d.uid}/${d.gid}`,m=d.size.toString().padStart(8," "),S=rt(d.mtime),E=`${f} ${h.padEnd(10)} ${m} ${S} ${u}`;d.type==="symlink"&&d.linkTarget&&(E+=` -> ${d.linkTarget}`),l+=`${E}
53
+ `,exitCode:2};let l="";for(let d of n.entries){let u=ke(d.name,t.strip);if(!u)continue;let g=u.endsWith("/")?u.slice(0,-1):u;if(i.length>0){let p;if(t.wildcards?p=i.some(f=>B(u,f)||B(g,f)||u.startsWith(`${f}/`)):p=i.some(f=>u===f||u.startsWith(`${f}/`)||g===f),!p)continue}if(!Q(u,t.exclude))if(t.verbose){let p=d.type==="directory",f=tt(d.mode,p),h=`${d.uid}/${d.gid}`,m=d.size.toString().padStart(8," "),S=rt(d.mtime),E=`${f} ${h.padEnd(10)} ${m} ${S} ${u}`;d.type==="symlink"&&d.linkTarget&&(E+=` -> ${d.linkTarget}`),l+=`${E}
54
54
  `}else l+=`${u}
55
- `}return{stdout:l,stderr:"",exitCode:0}}var gt={name:"tar",async execute(e,t){if(re(e))return te(Qe);let i=et(e);if(!i.ok)return i.error;let{options:r,files:n}=i,s=[r.create,r.append,r.update,r.extract,r.list].filter(Boolean).length;if(s===0)return{stdout:"",stderr:`tar: You must specify one of -c, -r, -u, -x, or -t
55
+ `}return{stdout:l,stderr:"",exitCode:0}}var wt={name:"tar",async execute(e,t){if(re(e))return te(et);let i=Ie(e);if(!i.ok)return i.error;let{options:r,files:n}=i,s=[r.create,r.append,r.update,r.extract,r.list].filter(Boolean).length;if(s===0)return{stdout:"",stderr:`tar: You must specify one of -c, -r, -u, -x, or -t
56
56
  `,exitCode:2};if(s>1)return{stdout:"",stderr:`tar: You may not specify more than one of -c, -r, -u, -x, or -t
57
57
  `,exitCode:2};if(r.autoCompress&&r.file&&r.create){let c=r.file.toLowerCase();c.endsWith(".tar.gz")||c.endsWith(".tgz")?r.gzip=!0:c.endsWith(".tar.bz2")||c.endsWith(".tbz2")?r.bzip2=!0:c.endsWith(".tar.xz")||c.endsWith(".txz")?r.xz=!0:(c.endsWith(".tar.zst")||c.endsWith(".tzst"))&&(r.zstd=!0)}let o=[r.gzip,r.bzip2,r.xz,r.zstd].filter(Boolean).length;if(o>1)return{stdout:"",stderr:`tar: You may not specify more than one compression option
58
58
  `,exitCode:2};if((r.append||r.update)&&o>0)return{stdout:"",stderr:`tar: Cannot append/update compressed archives - decompress first
@@ -60,4 +60,4 @@ import{a as te,b as re,c as N}from"./chunk-GTNBSMZR.js";import"./chunk-KGOUQS5A.
60
60
  `).map(u=>u.trim()).filter(u=>u.length>0&&!u.startsWith("#"));a=[...n,...d]}catch{return{stdout:"",stderr:`tar: ${r.filesFrom}: Cannot open: No such file or directory
61
61
  `,exitCode:2}}}if(r.excludeFrom){let c=t.fs.resolvePath(t.cwd,r.excludeFrom);try{let d=(await t.fs.readFile(c)).split(`
62
62
  `).map(u=>u.trim()).filter(u=>u.length>0&&!u.startsWith("#"));r.exclude.push(...d)}catch{return{stdout:"",stderr:`tar: ${r.excludeFrom}: Cannot open: No such file or directory
63
- `,exitCode:2}}}return r.create?nt(t,r,a):r.append?it(t,r,a):r.update?st(t,r,a):r.extract?at(t,r,a):ot(t,r,a)}};export{gt as tarCommand};
63
+ `,exitCode:2}}}return r.create?nt(t,r,a):r.append?it(t,r,a):r.update?st(t,r,a):r.extract?at(t,r,a):ot(t,r,a)}};export{wt as tarCommand};
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env node
2
+ import"./chunk-KGOUQS5A.js";var h={name:"time",async execute(i,r){let a="%e %M",n=null,d=!1,m=!1,t=0;for(;t<i.length;){let e=i[t];if(e==="-f"||e==="--format"){if(t++,t>=i.length)return{stdout:"",stderr:`time: missing argument to '-f'
3
+ `,exitCode:1};a=i[t],t++}else if(e==="-o"||e==="--output"){if(t++,t>=i.length)return{stdout:"",stderr:`time: missing argument to '-o'
4
+ `,exitCode:1};n=i[t],t++}else if(e==="-a"||e==="--append")d=!0,t++;else if(e==="-v"||e==="--verbose")a=`Command being timed: %C
5
+ Elapsed (wall clock) time: %e seconds
6
+ Maximum resident set size (kbytes): %M`,t++;else if(e==="-p"||e==="--portability")m=!0,t++;else if(e==="--"){t++;break}else if(e.startsWith("-"))t++;else break}let f=i.slice(t);if(f.length===0)return{stdout:"",stderr:"",exitCode:0};let c=performance.now(),u=f.join(" "),s;try{if(!r.exec)return{stdout:"",stderr:`time: exec not available
7
+ `,exitCode:1};s=await r.exec(u,{env:r.env,cwd:r.cwd})}catch(e){s={stdout:"",stderr:`time: ${e.message}
8
+ `,exitCode:127}}let l=(performance.now()-c)/1e3,o;if(m?o=`real ${l.toFixed(2)}
9
+ user 0.00
10
+ sys 0.00
11
+ `:(o=a.replace(/%e/g,l.toFixed(2)).replace(/%E/g,g(l)).replace(/%M/g,"0").replace(/%S/g,"0.00").replace(/%U/g,"0.00").replace(/%P/g,"0%").replace(/%C/g,u),o.endsWith(`
12
+ `)||(o+=`
13
+ `)),n)try{let e=r.fs.resolvePath(r.cwd,n);if(d&&await r.fs.exists(e)){let p=await r.fs.readFile(e);await r.fs.writeFile(e,p+o)}else await r.fs.writeFile(e,o)}catch(e){return{stdout:s.stdout,stderr:s.stderr+`time: cannot write to '${n}': ${e.message}
14
+ `,exitCode:s.exitCode}}else s={...s,stderr:s.stderr+o};return s}};function g(i){let r=Math.floor(i/3600),a=Math.floor(i%3600/60),n=i%60;return r>0?`${r}:${a.toString().padStart(2,"0")}:${n.toFixed(2).padStart(5,"0")}`:`${a}:${n.toFixed(2).padStart(5,"0")}`}export{h as timeCommand};
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env node
2
+ import{a as m}from"./chunk-4VDEBYW7.js";import{c}from"./chunk-GTNBSMZR.js";import"./chunk-KGOUQS5A.js";function h(s){let i=s.replace(/\//g,"-"),r=new Date(i);if(!Number.isNaN(r.getTime()))return r;let a=i.match(/^(\d{4})-(\d{2})-(\d{2})$/);if(a){let[,o,l,d]=a;if(r=new Date(Number.parseInt(o,10),Number.parseInt(l,10)-1,Number.parseInt(d,10)),!Number.isNaN(r.getTime()))return r}let u=i.match(/^(\d{4})-(\d{2})-(\d{2})\s+(\d{2}):(\d{2}):(\d{2})$/);if(u){let[,o,l,d,t,e,f]=u;if(r=new Date(Number.parseInt(o,10),Number.parseInt(l,10)-1,Number.parseInt(d,10),Number.parseInt(t,10),Number.parseInt(e,10),Number.parseInt(f,10)),!Number.isNaN(r.getTime()))return r}return null}var b={name:"touch",async execute(s,i){let r=[],a=null,u=!1;for(let t=0;t<s.length;t++){let e=s[t];if(e==="--"){r.push(...s.slice(t+1));break}else if(e==="-d"||e==="--date"){if(t+1>=s.length)return{stdout:"",stderr:`touch: option requires an argument -- 'd'
3
+ `,exitCode:1};a=s[++t]}else if(e.startsWith("--date="))a=e.slice(7);else if(e==="-c"||e==="--no-create")u=!0;else if(e==="-a"||e==="-m"||e==="-r"||e==="-t")(e==="-r"||e==="-t")&&t++;else{if(e.startsWith("--"))return c("touch",e);if(e.startsWith("-")&&e.length>1){let f=!1;for(let n of e.slice(1))if(n==="c")u=!0;else if(!(n==="a"||n==="m"))if(n==="d"){if(t+1>=s.length)return{stdout:"",stderr:`touch: option requires an argument -- 'd'
4
+ `,exitCode:1};a=s[++t],f=!0;break}else if(n==="r"||n==="t"){t++,f=!0;break}else return c("touch",`-${n}`);if(f)continue}else r.push(e)}}if(r.length===0)return{stdout:"",stderr:`touch: missing file operand
5
+ `,exitCode:1};let o=null;if(a!==null&&(o=h(a),o===null))return{stdout:"",stderr:`touch: invalid date format '${a}'
6
+ `,exitCode:1};let l="",d=0;for(let t of r)try{let e=i.fs.resolvePath(i.cwd,t);if(!await i.fs.exists(e)){if(u)continue;await i.fs.writeFile(e,"")}let n=o??new Date;await i.fs.utimes(e,n,n)}catch(e){l+=`touch: cannot touch '${t}': ${m(e)}
7
+ `,d=1}return{stdout:"",stderr:l,exitCode:d}}};export{b as touchCommand};
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env node
2
+ import{a as b}from"./chunk-5WFYIUU2.js";import"./chunk-OBH7XN5N.js";import{a as S}from"./chunk-TA7RUHGQ.js";import{a as x,b as y}from"./chunk-GTNBSMZR.js";import"./chunk-KGOUQS5A.js";var F={name:"wc",summary:"print newline, word, and byte counts for each file",usage:"wc [OPTION]... [FILE]...",options:["-c, --bytes print the byte counts","-m, --chars print the character counts","-l, --lines print the newline counts","-w, --words print the word counts"," --help display this help and exit"]},H={lines:{short:"l",long:"lines",type:"boolean"},words:{short:"w",long:"words",type:"boolean"},bytes:{short:"c",long:"bytes",type:"boolean"},chars:{short:"m",long:"chars",type:"boolean"}},I={name:"wc",async execute(a,c){if(y(a))return x(F);let n=S("wc",a,H);if(!n.ok)return n.error;let{lines:r,words:s}=n.result.flags,e=n.result.flags.bytes||n.result.flags.chars,t=n.result.positional;!r&&!s&&!e&&(r=s=e=!0);let i=await b(c,t,{cmdName:"wc",stopOnError:!1});if(t.length===0){let o=C(i.files[0].content);return{stdout:`${g(o,r,s,e,"",0)}
3
+ `,stderr:"",exitCode:0}}let h=[],p=0,d=0,u=0;for(let{filename:o,content:w}of i.files){let f=C(w);p+=f.lines,d+=f.words,u+=f.chars,h.push({filename:o,stats:f})}let M=t.length>1?p:Math.max(...h.map(o=>o.stats.lines)),L=t.length>1?d:Math.max(...h.map(o=>o.stats.words)),$=t.length>1?u:Math.max(...h.map(o=>o.stats.chars)),l=t.length>1?3:0;r&&(l=Math.max(l,String(M).length)),s&&(l=Math.max(l,String(L).length)),e&&(l=Math.max(l,String($).length));let m="";for(let{filename:o,stats:w}of h)m+=`${g(w,r,s,e,o,l)}
4
+ `;return t.length>1&&(m+=`${g({lines:p,words:d,chars:u},r,s,e,"total",l)}
5
+ `),{stdout:m,stderr:i.stderr,exitCode:i.exitCode}}};function C(a){let c=a.length,n=0,r=0,s=!1;for(let e=0;e<c;e++){let t=a[e];t===`
6
+ `?(n++,s&&(r++,s=!1)):t===" "||t===" "||t==="\r"?s&&(r++,s=!1):s=!0}return s&&r++,{lines:n,words:r,chars:c}}function g(a,c,n,r,s,e){let t=[];c&&t.push(String(a.lines).padStart(e)),n&&t.push(String(a.words).padStart(e)),r&&t.push(String(a.chars).padStart(e));let i=t.join(" ");return s&&(i+=` ${s}`),i}export{I as wcCommand};
@@ -1,3 +1,3 @@
1
1
  #!/usr/bin/env node
2
- import{a as u}from"./chunk-TA7RUHGQ.js";import{a as f,b as h}from"./chunk-GTNBSMZR.js";import"./chunk-KGOUQS5A.js";var w={name:"which",summary:"locate a command",usage:"which [-as] program ...",options:["-a List all instances of executables found","-s No output, just return 0 if found, 1 if not","--help display this help and exit"]},g={showAll:{short:"a",type:"boolean"},silent:{short:"s",type:"boolean"}},A={name:"which",async execute(s,e){if(h(s))return f(w);let t=u("which",s,g);if(!t.ok)return t.error;let c=t.result.flags.showAll,p=t.result.flags.silent,o=t.result.positional;if(o.length===0)return{stdout:"",stderr:"",exitCode:1};let d=(e.env.PATH||"/bin:/usr/bin").split(":"),n="",r=!0;for(let m of o){let a=!1;for(let i of d){if(!i)continue;let l=`${i}/${m}`;if(await e.fs.exists(l)&&(a=!0,p||(n+=`${l}
2
+ import{a as u}from"./chunk-TA7RUHGQ.js";import{a as f,b as h}from"./chunk-GTNBSMZR.js";import"./chunk-KGOUQS5A.js";var w={name:"which",summary:"locate a command",usage:"which [-as] program ...",options:["-a List all instances of executables found","-s No output, just return 0 if found, 1 if not","--help display this help and exit"]},g={showAll:{short:"a",type:"boolean"},silent:{short:"s",type:"boolean"}},A={name:"which",async execute(s,e){if(h(s))return f(w);let t=u("which",s,g);if(!t.ok)return t.error;let c=t.result.flags.showAll,p=t.result.flags.silent,o=t.result.positional;if(o.length===0)return{stdout:"",stderr:"",exitCode:1};let d=(e.env.PATH||"/usr/bin:/bin").split(":"),n="",r=!0;for(let m of o){let a=!1;for(let i of d){if(!i)continue;let l=`${i}/${m}`;if(await e.fs.exists(l)&&(a=!0,p||(n+=`${l}
3
3
  `),!c))break}a||(r=!1)}return{stdout:n,stderr:"",exitCode:r?0:1}}};export{A as whichCommand};
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ import"./chunk-KGOUQS5A.js";async function e(t,o){return{stdout:`user
3
+ `,stderr:"",exitCode:0}}var n={name:"whoami",execute:e};export{n as whoami};