just-bash 2.11.15 → 2.12.1

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 (222) hide show
  1. package/dist/Bash.d.ts +11 -0
  2. package/dist/bin/chunks/awk2-ZE5HJBNV.js +2 -0
  3. package/dist/bin/{shell/chunks/bash-WB6O736J.js → chunks/bash-6ZHZ6BX7.js} +1 -1
  4. package/dist/bin/chunks/chunk-253LRF5J.js +11 -0
  5. package/dist/bin/chunks/chunk-2BC3N3L2.js +16 -0
  6. package/dist/bin/chunks/{chunk-D2VMRCQU.js → chunk-35JD7YEM.js} +12 -12
  7. package/dist/bin/chunks/{chunk-XB2MDT3B.js → chunk-3NVWSLHI.js} +1 -1
  8. package/dist/bin/chunks/{chunk-ISOXAKGQ.js → chunk-45MJQ2LX.js} +4 -4
  9. package/dist/bin/chunks/{chunk-JXC25GVQ.js → chunk-47HZU3SY.js} +1 -1
  10. package/dist/bin/chunks/chunk-4OALHZXB.js +2 -0
  11. package/dist/bin/{shell/chunks/chunk-K5IXNHO5.js → chunks/chunk-6KZRLMG3.js} +3 -3
  12. package/dist/bin/chunks/{chunk-AHMZLMTU.js → chunk-6L4K3UGO.js} +1 -1
  13. package/dist/bin/{shell/chunks/chunk-V4CRXAQO.js → chunks/chunk-7SWOLTCR.js} +1 -1
  14. package/dist/bin/chunks/chunk-C7TH4MVZ.js +14 -0
  15. package/dist/bin/{shell/chunks/chunk-BWWPUUC5.js → chunks/chunk-EPIOK4SY.js} +1 -1
  16. package/dist/bin/chunks/chunk-F37UEO7A.js +10 -0
  17. package/dist/bin/chunks/chunk-GO6FXSC4.js +6 -0
  18. package/dist/bin/chunks/{chunk-PDVXLMUU.js → chunk-H7Y3TH22.js} +17 -17
  19. package/dist/bin/chunks/chunk-JWVOLGWZ.js +12 -0
  20. package/dist/bin/chunks/chunk-KTFEQPO7.js +4 -0
  21. package/dist/bin/chunks/chunk-N4EU64Y4.js +9 -0
  22. package/dist/bin/chunks/{chunk-LW7FS3EH.js → chunk-ND23BJUM.js} +1 -1
  23. package/dist/bin/chunks/chunk-QC46PWBQ.js +63 -0
  24. package/dist/bin/{shell/chunks/chunk-XORPAMNK.js → chunks/chunk-RYXW3SZQ.js} +1 -1
  25. package/dist/bin/{shell/chunks/chunk-K7XSYP4L.js → chunks/chunk-VZKEP45B.js} +13 -13
  26. package/dist/bin/chunks/chunk-WIWKAGK6.js +2 -0
  27. package/dist/bin/chunks/env-HOVBNLUR.js +2 -0
  28. package/dist/bin/chunks/{expansion-AMH5BAVV.js → expansion-QVHAYGVZ.js} +1 -1
  29. package/dist/bin/chunks/find-4YAO7JQS.js +2 -0
  30. package/dist/bin/chunks/flag-coverage-F4EAJUHL.js +2 -0
  31. package/dist/bin/chunks/help-4H52JYYC.js +2 -0
  32. package/dist/bin/chunks/{jq-TIHNHMOR.js → jq-CXSPO2J5.js} +1 -1
  33. package/dist/bin/chunks/printf-P3QVL4IO.js +2 -0
  34. package/dist/bin/chunks/python3-XRP5IZRL.js +16 -0
  35. package/dist/bin/chunks/rg-34GE6REQ.js +2 -0
  36. package/dist/bin/chunks/sed-DNLJZZXZ.js +2 -0
  37. package/dist/bin/chunks/sleep-RA6DYTJX.js +2 -0
  38. package/dist/bin/chunks/sqlite3-ZUGDKEIT.js +2 -0
  39. package/dist/bin/chunks/tar-GP2CCB47.js +2 -0
  40. package/dist/bin/chunks/time-E5YULACD.js +2 -0
  41. package/dist/bin/chunks/timeout-TCIINQNA.js +2 -0
  42. package/dist/bin/chunks/worker.js +57 -22
  43. package/dist/bin/chunks/{xan-3IA4WP2G.js → xan-7NIVZ3HP.js} +1 -1
  44. package/dist/bin/{shell/chunks/xargs-YWPEV2QC.js → chunks/xargs-GBL6PZ2K.js} +1 -1
  45. package/dist/bin/chunks/yq-L5ZSGLLO.js +2 -0
  46. package/dist/bin/just-bash.js +286 -286
  47. package/dist/bin/shell/chunks/awk2-ZE5HJBNV.js +2 -0
  48. package/dist/bin/{chunks/bash-WB6O736J.js → shell/chunks/bash-6ZHZ6BX7.js} +1 -1
  49. package/dist/bin/shell/chunks/chunk-253LRF5J.js +11 -0
  50. package/dist/bin/shell/chunks/chunk-2BC3N3L2.js +16 -0
  51. package/dist/bin/shell/chunks/{chunk-D2VMRCQU.js → chunk-35JD7YEM.js} +12 -12
  52. package/dist/bin/shell/chunks/{chunk-XB2MDT3B.js → chunk-3NVWSLHI.js} +1 -1
  53. package/dist/bin/shell/chunks/{chunk-ISOXAKGQ.js → chunk-45MJQ2LX.js} +4 -4
  54. package/dist/bin/shell/chunks/{chunk-JXC25GVQ.js → chunk-47HZU3SY.js} +1 -1
  55. package/dist/bin/shell/chunks/chunk-4OALHZXB.js +2 -0
  56. package/dist/bin/{chunks/chunk-K5IXNHO5.js → shell/chunks/chunk-6KZRLMG3.js} +3 -3
  57. package/dist/bin/shell/chunks/{chunk-AHMZLMTU.js → chunk-6L4K3UGO.js} +1 -1
  58. package/dist/bin/{chunks/chunk-V4CRXAQO.js → shell/chunks/chunk-7SWOLTCR.js} +1 -1
  59. package/dist/bin/shell/chunks/chunk-C7TH4MVZ.js +14 -0
  60. package/dist/bin/{chunks/chunk-BWWPUUC5.js → shell/chunks/chunk-EPIOK4SY.js} +1 -1
  61. package/dist/bin/shell/chunks/chunk-F37UEO7A.js +10 -0
  62. package/dist/bin/shell/chunks/chunk-GO6FXSC4.js +6 -0
  63. package/dist/bin/shell/chunks/{chunk-PDVXLMUU.js → chunk-H7Y3TH22.js} +17 -17
  64. package/dist/bin/shell/chunks/chunk-JWVOLGWZ.js +12 -0
  65. package/dist/bin/shell/chunks/chunk-KTFEQPO7.js +4 -0
  66. package/dist/bin/shell/chunks/chunk-N4EU64Y4.js +9 -0
  67. package/dist/bin/shell/chunks/{chunk-LW7FS3EH.js → chunk-ND23BJUM.js} +1 -1
  68. package/dist/bin/shell/chunks/chunk-QC46PWBQ.js +63 -0
  69. package/dist/bin/{chunks/chunk-XORPAMNK.js → shell/chunks/chunk-RYXW3SZQ.js} +1 -1
  70. package/dist/bin/{chunks/chunk-K7XSYP4L.js → shell/chunks/chunk-VZKEP45B.js} +13 -13
  71. package/dist/bin/shell/chunks/chunk-WIWKAGK6.js +2 -0
  72. package/dist/bin/shell/chunks/env-HOVBNLUR.js +2 -0
  73. package/dist/bin/shell/chunks/{expansion-AMH5BAVV.js → expansion-QVHAYGVZ.js} +1 -1
  74. package/dist/bin/shell/chunks/find-4YAO7JQS.js +2 -0
  75. package/dist/bin/shell/chunks/flag-coverage-F4EAJUHL.js +2 -0
  76. package/dist/bin/shell/chunks/help-4H52JYYC.js +2 -0
  77. package/dist/bin/shell/chunks/{jq-TIHNHMOR.js → jq-CXSPO2J5.js} +1 -1
  78. package/dist/bin/shell/chunks/printf-P3QVL4IO.js +2 -0
  79. package/dist/bin/shell/chunks/python3-XRP5IZRL.js +16 -0
  80. package/dist/bin/shell/chunks/rg-34GE6REQ.js +2 -0
  81. package/dist/bin/shell/chunks/sed-DNLJZZXZ.js +2 -0
  82. package/dist/bin/shell/chunks/sleep-RA6DYTJX.js +2 -0
  83. package/dist/bin/shell/chunks/sqlite3-ZUGDKEIT.js +2 -0
  84. package/dist/bin/shell/chunks/tar-GP2CCB47.js +2 -0
  85. package/dist/bin/shell/chunks/time-E5YULACD.js +2 -0
  86. package/dist/bin/shell/chunks/timeout-TCIINQNA.js +2 -0
  87. package/dist/bin/shell/chunks/{xan-3IA4WP2G.js → xan-7NIVZ3HP.js} +1 -1
  88. package/dist/bin/{chunks/xargs-YWPEV2QC.js → shell/chunks/xargs-GBL6PZ2K.js} +1 -1
  89. package/dist/bin/shell/chunks/yq-L5ZSGLLO.js +2 -0
  90. package/dist/bin/shell/shell.js +288 -288
  91. package/dist/bundle/browser.js +619 -617
  92. package/dist/bundle/chunks/awk2-T6LHPVZE.js +1 -0
  93. package/dist/bundle/chunks/{bash-DYXMG247.js → bash-IJWYRKFO.js} +1 -1
  94. package/dist/bundle/chunks/chunk-2GOYXRRP.js +15 -0
  95. package/dist/bundle/chunks/chunk-3RA5L262.js +8 -0
  96. package/dist/bundle/chunks/{chunk-IBG6HR7V.js → chunk-AOFQVUAD.js} +1 -1
  97. package/dist/bundle/chunks/{chunk-3KWUDRIP.js → chunk-BAAVD5NO.js} +13 -13
  98. package/dist/bundle/chunks/{chunk-HDZ4QEVJ.js → chunk-BNVESM72.js} +17 -17
  99. package/dist/bundle/chunks/{chunk-U5TNQJ3C.js → chunk-C6ZZC5FL.js} +1 -1
  100. package/dist/bundle/chunks/chunk-D6CWQ5DW.js +5 -0
  101. package/dist/bundle/chunks/chunk-DKOIE53N.js +11 -0
  102. package/dist/bundle/chunks/chunk-FPGA7RT4.js +62 -0
  103. package/dist/bundle/chunks/{chunk-PSW6BMXW.js → chunk-GFQRA5P5.js} +3 -3
  104. package/dist/bundle/chunks/{chunk-FJNVFD75.js → chunk-HBB2R24Y.js} +12 -12
  105. package/dist/bundle/chunks/chunk-IPJHKYVM.js +1 -0
  106. package/dist/bundle/chunks/chunk-JOVMV4XV.js +13 -0
  107. package/dist/bundle/chunks/{chunk-FWYCF7NE.js → chunk-KPFCTJEX.js} +1 -1
  108. package/dist/bundle/chunks/chunk-LEOLL6PF.js +1 -0
  109. package/dist/bundle/chunks/{chunk-3JDQKHMS.js → chunk-LN5KAJOV.js} +1 -1
  110. package/dist/bundle/chunks/chunk-R7KYILVY.js +3 -0
  111. package/dist/bundle/chunks/{chunk-M2LI252W.js → chunk-T56QNPHK.js} +1 -1
  112. package/dist/bundle/chunks/chunk-VFBZTF5G.js +9 -0
  113. package/dist/bundle/chunks/{chunk-V4CDPGZH.js → chunk-WCVBECE6.js} +4 -4
  114. package/dist/bundle/chunks/{chunk-OAOCWUTE.js → chunk-XULIVM35.js} +1 -1
  115. package/dist/bundle/chunks/chunk-YCABLDKV.js +10 -0
  116. package/dist/bundle/chunks/{chunk-SXR3EI72.js → chunk-ZSJYNBAF.js} +1 -1
  117. package/dist/bundle/chunks/env-XZY4LKEO.js +1 -0
  118. package/dist/bundle/chunks/{expansion-5HXXJ2SG.js → expansion-NCEBD7KB.js} +1 -1
  119. package/dist/bundle/chunks/find-DQFMWHAC.js +1 -0
  120. package/dist/bundle/chunks/flag-coverage-U322DJFL.js +1 -0
  121. package/dist/bundle/chunks/help-IA5CMGR4.js +1 -0
  122. package/dist/bundle/chunks/{jq-YDGLHC7M.js → jq-MYSLFARY.js} +1 -1
  123. package/dist/bundle/chunks/printf-CX64KX2P.js +1 -0
  124. package/dist/bundle/chunks/python3-E7VF6UYO.js +15 -0
  125. package/dist/bundle/chunks/rg-DMOXE47H.js +1 -0
  126. package/dist/bundle/chunks/sed-3ZCNFRHI.js +1 -0
  127. package/dist/bundle/chunks/sleep-RKLUWJ7F.js +1 -0
  128. package/dist/bundle/chunks/sqlite3-ZGX3YFJB.js +1 -0
  129. package/dist/bundle/chunks/tar-H6XTXOAP.js +1 -0
  130. package/dist/bundle/chunks/time-ZEEYNXNZ.js +1 -0
  131. package/dist/bundle/chunks/timeout-LYYTWG45.js +1 -0
  132. package/dist/bundle/chunks/worker.js +57 -22
  133. package/dist/bundle/chunks/{xan-Y62IEVU4.js → xan-VTO4FP3H.js} +1 -1
  134. package/dist/bundle/chunks/{xargs-OGI2NN6J.js → xargs-2BBAQDTC.js} +1 -1
  135. package/dist/bundle/chunks/yq-JRZFRYSK.js +1 -0
  136. package/dist/bundle/index.cjs +774 -772
  137. package/dist/bundle/index.js +243 -243
  138. package/dist/commands/python3/protocol.d.ts +0 -1
  139. package/dist/commands/python3/python3.d.ts +2 -0
  140. package/dist/commands/sqlite3/sqlite3.d.ts +6 -0
  141. package/dist/commands/tar/archive.d.ts +20 -6
  142. package/dist/interpreter/errors.d.ts +10 -2
  143. package/dist/interpreter/helpers/result.d.ts +1 -1
  144. package/dist/interpreter/interpreter.d.ts +2 -0
  145. package/dist/interpreter/types.d.ts +7 -0
  146. package/dist/limits.d.ts +4 -0
  147. package/dist/network/allow-list.d.ts +5 -0
  148. package/dist/network/types.d.ts +6 -0
  149. package/dist/sandbox/Sandbox.d.ts +6 -0
  150. package/dist/timers.d.ts +15 -0
  151. package/dist/types.d.ts +17 -0
  152. package/dist/vitest-setup.d.ts +1 -0
  153. package/package.json +2 -2
  154. package/dist/bin/chunks/awk2-PWEGD656.js +0 -2
  155. package/dist/bin/chunks/chunk-5UH3Q7QT.js +0 -11
  156. package/dist/bin/chunks/chunk-5UHJVSR5.js +0 -10
  157. package/dist/bin/chunks/chunk-EFX3F2HZ.js +0 -63
  158. package/dist/bin/chunks/chunk-KLMOJKL4.js +0 -16
  159. package/dist/bin/chunks/chunk-N73TVRMN.js +0 -14
  160. package/dist/bin/chunks/chunk-P7UCWJ33.js +0 -12
  161. package/dist/bin/chunks/chunk-RDZMRK5M.js +0 -6
  162. package/dist/bin/chunks/chunk-W2FKF3MM.js +0 -9
  163. package/dist/bin/chunks/env-EVLPSWFF.js +0 -2
  164. package/dist/bin/chunks/find-PHHSZYDL.js +0 -2
  165. package/dist/bin/chunks/flag-coverage-KFNWHFPU.js +0 -2
  166. package/dist/bin/chunks/help-JF5TTAKQ.js +0 -2
  167. package/dist/bin/chunks/printf-4NJFGX3O.js +0 -2
  168. package/dist/bin/chunks/python3-YJ7YGEW7.js +0 -16
  169. package/dist/bin/chunks/rg-EJJ3ILD5.js +0 -2
  170. package/dist/bin/chunks/sed-3DO5EXEU.js +0 -2
  171. package/dist/bin/chunks/sleep-3QRDZXBH.js +0 -2
  172. package/dist/bin/chunks/sqlite3-4SEIR46P.js +0 -2
  173. package/dist/bin/chunks/tar-7B5KH3QG.js +0 -2
  174. package/dist/bin/chunks/time-4C3A4THJ.js +0 -2
  175. package/dist/bin/chunks/timeout-RS7REDYT.js +0 -2
  176. package/dist/bin/chunks/yq-OUNV2BWM.js +0 -2
  177. package/dist/bin/shell/chunks/awk2-PWEGD656.js +0 -2
  178. package/dist/bin/shell/chunks/chunk-5UH3Q7QT.js +0 -11
  179. package/dist/bin/shell/chunks/chunk-5UHJVSR5.js +0 -10
  180. package/dist/bin/shell/chunks/chunk-EFX3F2HZ.js +0 -63
  181. package/dist/bin/shell/chunks/chunk-KLMOJKL4.js +0 -16
  182. package/dist/bin/shell/chunks/chunk-N73TVRMN.js +0 -14
  183. package/dist/bin/shell/chunks/chunk-P7UCWJ33.js +0 -12
  184. package/dist/bin/shell/chunks/chunk-RDZMRK5M.js +0 -6
  185. package/dist/bin/shell/chunks/chunk-W2FKF3MM.js +0 -9
  186. package/dist/bin/shell/chunks/env-EVLPSWFF.js +0 -2
  187. package/dist/bin/shell/chunks/find-PHHSZYDL.js +0 -2
  188. package/dist/bin/shell/chunks/flag-coverage-KFNWHFPU.js +0 -2
  189. package/dist/bin/shell/chunks/help-JF5TTAKQ.js +0 -2
  190. package/dist/bin/shell/chunks/printf-4NJFGX3O.js +0 -2
  191. package/dist/bin/shell/chunks/python3-YJ7YGEW7.js +0 -16
  192. package/dist/bin/shell/chunks/rg-EJJ3ILD5.js +0 -2
  193. package/dist/bin/shell/chunks/sed-3DO5EXEU.js +0 -2
  194. package/dist/bin/shell/chunks/sleep-3QRDZXBH.js +0 -2
  195. package/dist/bin/shell/chunks/sqlite3-4SEIR46P.js +0 -2
  196. package/dist/bin/shell/chunks/tar-7B5KH3QG.js +0 -2
  197. package/dist/bin/shell/chunks/time-4C3A4THJ.js +0 -2
  198. package/dist/bin/shell/chunks/timeout-RS7REDYT.js +0 -2
  199. package/dist/bin/shell/chunks/yq-OUNV2BWM.js +0 -2
  200. package/dist/bundle/chunks/awk2-BDPR2JPZ.js +0 -1
  201. package/dist/bundle/chunks/chunk-73RYQHTW.js +0 -10
  202. package/dist/bundle/chunks/chunk-7WX4V2UH.js +0 -9
  203. package/dist/bundle/chunks/chunk-CSBFBYLD.js +0 -13
  204. package/dist/bundle/chunks/chunk-JP44OYZS.js +0 -5
  205. package/dist/bundle/chunks/chunk-OGDTSM2Q.js +0 -8
  206. package/dist/bundle/chunks/chunk-VZWXH2PZ.js +0 -62
  207. package/dist/bundle/chunks/chunk-XNL7YAHW.js +0 -11
  208. package/dist/bundle/chunks/chunk-ZKLK6C7H.js +0 -15
  209. package/dist/bundle/chunks/env-S547XMN7.js +0 -1
  210. package/dist/bundle/chunks/find-6U6YYAEP.js +0 -1
  211. package/dist/bundle/chunks/flag-coverage-ZCNVOYRY.js +0 -1
  212. package/dist/bundle/chunks/help-T2NGLTSG.js +0 -1
  213. package/dist/bundle/chunks/printf-IO3EBW5H.js +0 -1
  214. package/dist/bundle/chunks/python3-6Y4Z63NZ.js +0 -15
  215. package/dist/bundle/chunks/rg-4YNHHQAE.js +0 -1
  216. package/dist/bundle/chunks/sed-2K6ULZ6P.js +0 -1
  217. package/dist/bundle/chunks/sleep-U2ORRQJB.js +0 -1
  218. package/dist/bundle/chunks/sqlite3-Z2IGWYCE.js +0 -1
  219. package/dist/bundle/chunks/tar-K7K7BL55.js +0 -1
  220. package/dist/bundle/chunks/time-BPT76IHZ.js +0 -1
  221. package/dist/bundle/chunks/timeout-5UJUQXOE.js +0 -1
  222. package/dist/bundle/chunks/yq-CESEW5B3.js +0 -1
@@ -0,0 +1 @@
1
+ import{a,b}from"./chunk-BAAVD5NO.js";import"./chunk-OJDRYQWQ.js";import"./chunk-YNYSPYQ5.js";import"./chunk-GFQRA5P5.js";import"./chunk-74CEPOFO.js";import"./chunk-DXB73IDG.js";export{a as awkCommand2,b as flagsForFuzzing};
@@ -1 +1 @@
1
- import{a,b,c,d}from"./chunk-JP44OYZS.js";import"./chunk-OJDRYQWQ.js";import"./chunk-74CEPOFO.js";import"./chunk-DXB73IDG.js";export{a as bashCommand,c as flagsForFuzzing,b as shCommand,d as shFlagsForFuzzing};
1
+ import{a,b,c,d}from"./chunk-D6CWQ5DW.js";import"./chunk-OJDRYQWQ.js";import"./chunk-74CEPOFO.js";import"./chunk-DXB73IDG.js";export{a as bashCommand,c as flagsForFuzzing,b as shCommand,d as shFlagsForFuzzing};
@@ -0,0 +1,15 @@
1
+ import{a as l}from"./chunk-IPJHKYVM.js";var c=new Map([["File operations",["ls","cat","head","tail","wc","touch","mkdir","rm","cp","mv","ln","chmod","stat","readlink"]],["Text processing",["grep","sed","awk","sort","uniq","cut","tr","tee","diff"]],["Search",["find"]],["Navigation & paths",["pwd","basename","dirname","tree","du"]],["Environment & shell",["echo","printf","env","printenv","export","alias","unalias","history","clear","true","false","bash","sh"]],["Data processing",["xargs","jq","base64","date"]],["Network",["curl","html-to-markdown"]]]);function d(n){let e=[],s=new Set(n);e.push(`Available commands:
2
+ `);let t=[];for(let[o,r]of c){let a=r.filter(i=>s.has(i));if(a.length>0){e.push(` ${o}:`),e.push(` ${a.join(", ")}
3
+ `);for(let i of a)s.delete(i)}}for(let o of s)t.push(o);return t.length>0&&(e.push(" Other:"),e.push(` ${t.sort().join(", ")}
4
+ `)),e.push("Use '<command> --help' for details on a specific command."),`${e.join(`
5
+ `)}
6
+ `}var h={name:"help",async execute(n,e){if(n.includes("--help")||n.includes("-h"))return{stdout:`help - display available commands
7
+
8
+ Usage: help [command]
9
+
10
+ Options:
11
+ -h, --help Show this help message
12
+
13
+ If a command name is provided, shows help for that command.
14
+ Otherwise, lists all available commands.
15
+ `,stderr:"",exitCode:0};if(n.length>0&&e.exec){let t=n[0];return e.exec(l([t,"--help"]),{cwd:e.cwd,signal:e.signal})}let s=e.getRegisteredCommands?.()??[];return{stdout:d(s),stderr:"",exitCode:0}}},p={name:"help",flags:[]};export{h as a,p as b};
@@ -0,0 +1,8 @@
1
+ import{a as v}from"./chunk-IPJHKYVM.js";import{a as d}from"./chunk-OJDRYQWQ.js";import{a as c,b as m,c as f}from"./chunk-74CEPOFO.js";var y={name:"env",summary:"run a program in a modified environment",usage:"env [OPTION]... [NAME=VALUE]... [COMMAND [ARG]...]",options:["-i, --ignore-environment start with an empty environment","-u NAME, --unset=NAME remove NAME from the environment"," --help display this help and exit"]},N={name:"env",async execute(o,i){if(m(o))return c(y);let a=!1,r=[],u=new Map,t=-1;for(let n=0;n<o.length;n++){let e=o[n];if(e==="-i"||e==="--ignore-environment")a=!0;else if(e==="-u"&&n+1<o.length)r.push(o[++n]);else if(e.startsWith("-u"))r.push(e.slice(2));else if(e.startsWith("--unset="))r.push(e.slice(8));else{if(e.startsWith("--")&&e!=="--")return f("env",e);if(e.startsWith("-")&&e!=="-"){for(let l of e.slice(1))if(l!=="i"&&l!=="u")return f("env",`-${l}`);e.includes("i")&&(a=!0)}else if(e.includes("=")&&t===-1){let l=e.indexOf("="),g=e.slice(0,l),x=e.slice(l+1);u.set(g,x)}else{t=n;break}}}let s;if(a)s=new Map(u);else{s=new Map(i.env);for(let n of r)s.delete(n);for(let[n,e]of u)s.set(n,e)}if(t===-1){let n=[];for(let[e,l]of s)n.push(`${e}=${l}`);return{stdout:n.join(`
2
+ `)+(n.length>0?`
3
+ `:""),stderr:"",exitCode:0}}if(!i.exec)return{stdout:"",stderr:`env: command execution not supported in this context
4
+ `,exitCode:1};let p=o.slice(t),h=v(["command",...p]);return i.exec(h,{cwd:i.cwd,env:d(s),replaceEnv:!0,stdin:i.stdin,signal:i.signal})}},A={name:"printenv",summary:"print all or part of environment",usage:"printenv [OPTION]... [VARIABLE]...",options:[" --help display this help and exit"]},C={name:"printenv",async execute(o,i){if(m(o))return c(A);let a=o.filter(t=>!t.startsWith("-"));if(a.length===0){let t=[];for(let[s,p]of i.env)t.push(`${s}=${p}`);return{stdout:t.join(`
5
+ `)+(t.length>0?`
6
+ `:""),stderr:"",exitCode:0}}let r=[],u=0;for(let t of a){let s=i.env.get(t);s!==void 0?r.push(s):u=1}return{stdout:r.join(`
7
+ `)+(r.length>0?`
8
+ `:""),stderr:"",exitCode:u}}},O={name:"env",flags:[{flag:"-i",type:"boolean"},{flag:"-u",type:"value",valueHint:"string"}]},F={name:"printenv",flags:[]};export{N as a,C as b,O as c,F as d};
@@ -1,4 +1,4 @@
1
- import{a as N}from"./chunk-YNYSPYQ5.js";import{k as C}from"./chunk-PSW6BMXW.js";import{a as G,b as j,c as T}from"./chunk-74CEPOFO.js";var B=new Map([["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 P(n){let e="",t=0,i=!1;for(;t<n.length;){if(n[t]==="["&&!i){if(n[t+1]==="["&&n[t+2]===":"){let s=n.indexOf(":]]",t+3);if(s!==-1){let a=n.slice(t+3,s),r=B.get(a);if(r){e+=`[${r}]`,t=s+3;continue}}}if(n[t+1]==="^"&&n[t+2]==="["&&n[t+3]===":"){let s=n.indexOf(":]]",t+4);if(s!==-1){let a=n.slice(t+4,s),r=B.get(a);if(r){e+=`[^${r}]`,t=s+3;continue}}}e+="[",t++,i=!0,t<n.length&&n[t]==="^"&&(e+="^",t++),t<n.length&&n[t]==="]"&&(e+="\\]",t++);continue}if(i){if(n[t]==="]"){e+="]",t++,i=!1;continue}if(n[t]==="["&&n[t+1]===":"){let s=n.indexOf(":]",t+2);if(s!==-1){let a=n.slice(t+2,s),r=B.get(a);if(r){e+=r,t=s+2;continue}}}if(n[t]==="\\"&&t+1<n.length){e+=n[t]+n[t+1],t+=2;continue}e+=n[t],t++;continue}if(n[t]==="\\"&&t+1<n.length){let s=n[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+=`
1
+ import{a as N}from"./chunk-YNYSPYQ5.js";import{k as C}from"./chunk-GFQRA5P5.js";import{a as G,b as j,c as T}from"./chunk-74CEPOFO.js";var B=new Map([["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 P(n){let e="",t=0,i=!1;for(;t<n.length;){if(n[t]==="["&&!i){if(n[t+1]==="["&&n[t+2]===":"){let s=n.indexOf(":]]",t+3);if(s!==-1){let a=n.slice(t+3,s),r=B.get(a);if(r){e+=`[${r}]`,t=s+3;continue}}}if(n[t+1]==="^"&&n[t+2]==="["&&n[t+3]===":"){let s=n.indexOf(":]]",t+4);if(s!==-1){let a=n.slice(t+4,s),r=B.get(a);if(r){e+=`[^${r}]`,t=s+3;continue}}}e+="[",t++,i=!0,t<n.length&&n[t]==="^"&&(e+="^",t++),t<n.length&&n[t]==="]"&&(e+="\\]",t++);continue}if(i){if(n[t]==="]"){e+="]",t++,i=!1;continue}if(n[t]==="["&&n[t+1]===":"){let s=n.indexOf(":]",t+2);if(s!==-1){let a=n.slice(t+2,s),r=B.get(a);if(r){e+=r,t=s+2;continue}}}if(n[t]==="\\"&&t+1<n.length){e+=n[t]+n[t+1],t+=2;continue}e+=n[t],t++;continue}if(n[t]==="\\"&&t+1<n.length){let s=n[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+=`
2
2
  `,t+=2;continue}if(s==="r"){e+="\r",t+=2;continue}e+=n[t]+s,t+=2;continue}if(n[t]==="+"||n[t]==="?"||n[t]==="|"||n[t]==="("||n[t]===")"){e+=`\\${n[t]}`,t++;continue}if(n[t]==="^"&&!(e===""||e.endsWith("("))){e+="\\^",t++;continue}if(n[t]==="$"){let s=t===n.length-1,a=t+2<n.length&&n[t+1]==="\\"&&n[t+2]===")";if(!s&&!a){e+="\\$",t++;continue}}e+=n[t],t++}return e}function D(n){let e="",t=!1;for(let i=0;i<n.length;i++)n[i]==="["&&!t?(t=!0,e+="[",i++,i<n.length&&n[i]==="^"&&(e+="^",i++),i<n.length&&n[i]==="]"&&(e+="]",i++),i--):n[i]==="]"&&t?(t=!1,e+="]"):!t&&n[i]==="{"&&n[i+1]===","?(e+="{0,",i++):e+=n[i];return e}function Z(n){let e="";for(let t=0;t<n.length;t++){let i=n[t],s=i.charCodeAt(0);i==="\\"?e+="\\\\":i===" "?e+="\\t":i===`
3
3
  `?e+=`$
4
4
  `:i==="\r"?e+="\\r":i==="\x07"?e+="\\a":i==="\b"?e+="\\b":i==="\f"?e+="\\f":i==="\v"?e+="\\v":s<32||s>=127?e+=`\\${s.toString(8).padStart(3,"0")}`:e+=i}return`${e}$`}var ce=1e4;function Q(n,e,t){return{patternSpace:"",holdSpace:"",lineNumber:0,totalLines:n,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 le(n){return typeof n=="object"&&"first"in n&&"step"in n}function oe(n){return typeof n=="object"&&"offset"in n}function O(n,e,t,i,s){if(n==="$")return e===t;if(typeof n=="number")return e===n;if(le(n)){let{first:a,step:r}=n;return r===0?e===a:(e-a)%r===0&&e>=a}if(typeof n=="object"&&"pattern"in n)try{let a=n.pattern;a===""&&s?.lastPattern?a=s.lastPattern:a!==""&&s&&(s.lastPattern=a);let r=D(P(a));return N(r).test(i)}catch{return!1}return!1}function W(n){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(n.start)},${e(n.end)}`}function ue(n,e,t,i,s,a){if(!n||!n.start&&!n.end)return!0;let r=n.start,l=n.end;if(r!==void 0&&l===void 0)return O(r,e,t,i,a);if(r!==void 0&&l!==void 0){let o=typeof r=="object"&&"pattern"in r,d=typeof l=="object"&&"pattern"in l,f=oe(l);if(f&&s){let m=W(n),p=s.get(m);if(p||(p={active:!1},s.set(m,p)),p.active){let u=p.startLine||e;return e>=u+l.offset&&(p.active=!1,s.set(m,p)),!0}else return O(r,e,t,i,a)?(p.active=!0,p.startLine=e,s.set(m,p),l.offset===0&&(p.active=!1,s.set(m,p)),!0):!1}if(!o&&!d&&!f){let m=typeof r=="number"?r:r==="$"?t:1,p=typeof l=="number"?l:t;if(m<=p)return e>=m&&e<=p;if(s){let u=W(n),h=s.get(u);return h||(h={active:!1},s.set(u,h)),!h.completed&&e>=m?(h.completed=!0,s.set(u,h),!0):!1}return!1}if(s){let m=W(n),p=s.get(m);if(p||(p={active:!1},s.set(m,p)),p.active)return O(l,e,t,i,a)&&(p.active=!1,typeof r=="number"&&(p.completed=!0),s.set(m,p)),!0;{if(p.completed)return!1;let u=!1;return typeof r=="number"?u=e>=r:u=O(r,e,t,i,a),u?(p.active=!0,p.startLine=e,s.set(m,p),O(l,e,t,i,a)&&(p.active=!1,typeof r=="number"&&(p.completed=!0),s.set(m,p)),!0):!1}}return O(r,e,t,i,a)}return!0}function I(n,e,t,i,s,a){let r=ue(n,e,t,i,s,a);return n?.negated?!r:r}function he(n,e,t,i){let s="",a=0,r=!1;for(;a<=n.length;){e.lastIndex=a;let l=e.exec(n);if(!l){s+=n.slice(a);break}if(l.index!==a){s+=n.slice(a,l.index),a=l.index,r=!1;continue}let o=l[0],d=l.slice(1);if(r&&o.length===0){if(a<n.length)s+=n[a],a++;else break;r=!1;continue}if(s+=i(o,d),r=!1,o.length===0)if(a<n.length)s+=n[a],a++;else break;else a+=o.length,r=!0}return s}function q(n,e,t){let i="",s=0;for(;s<n.length;){if(n[s]==="\\"&&s+1<n.length){let a=n[s+1];if(a==="&"){i+="&",s+=2;continue}if(a==="n"){i+=`
@@ -1,20 +1,20 @@
1
- import{a as oe}from"./chunk-OJDRYQWQ.js";import{a as A,b as P}from"./chunk-YNYSPYQ5.js";import{k as O}from"./chunk-PSW6BMXW.js";import{a as se,b as ae,c as z}from"./chunk-74CEPOFO.js";var Le=1e4,Me=100,Pe=new P(/\s+/);function Q(e={}){let{fieldSep:t=Pe,maxIterations:n=Le,maxRecursionDepth:i=Me,maxOutputSize:a=0,fs:s,cwd:o,exec:c,coverage:u}=e;return{FS:" ",OFS:" ",ORS:`
2
- `,OFMT:"%.6g",NR:0,NF:0,FNR:0,FILENAME:"",RSTART:0,RLENGTH:-1,SUBSEP:"",fields:[],line:"",vars:Object.create(null),arrays:Object.create(null),arrayAliases:new Map,ARGC:0,ARGV:Object.create(null),ENVIRON:Object.create(null),functions:new Map,fieldSep:t,maxIterations:n,maxRecursionDepth:i,maxOutputSize:a,currentRecursionDepth:0,exitCode:0,shouldExit:!1,shouldNext:!1,shouldNextFile:!1,loopBreak:!1,loopContinue:!1,hasReturn:!1,inEndBlock:!1,output:"",openedFiles:new Set,fs:s,cwd:o,exec:c,coverage:u}}function le(e,t,n){switch(n){case"+":return e+t;case"-":return e-t;case"*":return e*t;case"/":return t!==0?e/t:0;case"%":return t!==0?e%t:0;case"^":case"**":return e**t;default:return 0}}function C(e){if(typeof e=="number")return e;let t=parseFloat(e);return Number.isNaN(t)?0:t}function I(e){return typeof e=="string"?e:(Number.isInteger(e),String(e))}async function U(e,t){if(e.type==="regex")return e.pattern;let n=I(await t.evalExpr(e));return n.startsWith("/")&&n.endsWith("/")&&(n=n.slice(1,-1)),n}async function ue(e,t){return e?e.type==="variable"?e.name:e.type==="field"?`$${Math.floor(C(await t.evalExpr(e.index)))}`:"$0":"$0"}function he(e,t){if(e==="$0")return t.line;if(e.startsWith("$")){let n=parseInt(e.slice(1),10)-1;return t.fields[n]||""}return I(t.vars[e]??"")}function pe(e,t,n){if(e==="$0")n.line=t,n.fields=n.FS===" "?t.trim().split(/\s+/).filter(Boolean):n.fieldSep.split(t),n.NF=n.fields.length;else if(e.startsWith("$")){let i=parseInt(e.slice(1),10)-1;for(;n.fields.length<=i;)n.fields.push("");n.fields[i]=t,n.NF=n.fields.length,n.line=n.fields.join(n.OFS)}else n.vars[e]=t}async function Te(e,t,n){return e.length===0?t.line.length:I(await n.evalExpr(e[0])).length}async function Fe(e,t,n){if(e.length<2)return"";let i=I(await n.evalExpr(e[0])),a=Math.floor(C(await n.evalExpr(e[1])))-1;if(e.length>=3){let s=Math.floor(C(await n.evalExpr(e[2])));return i.substr(Math.max(0,a),s)}return i.substr(Math.max(0,a))}async function _e(e,t,n){if(e.length<2)return 0;let i=I(await n.evalExpr(e[0])),a=I(await n.evalExpr(e[1])),s=i.indexOf(a);return s===-1?0:s+1}async function Ge(e,t,n){if(e.length<2)return 0;let i=I(await n.evalExpr(e[0])),a=e[1];if(a.type!=="variable")return 0;let s=a.name,o=t.FS;if(e.length>=3){let u=e[2];if(u.type==="regex")o=A(u.pattern);else{let N=I(await n.evalExpr(u));o=N===" "?A("\\s+"):N}}else t.FS===" "&&(o=A("\\s+"));let c=typeof o=="string"?i.split(o):o.split(i);t.arrays[s]=Object.create(null);for(let u=0;u<c.length;u++)t.arrays[s][String(u+1)]=c[u];return c.length}async function De(e,t,n){if(e.length<2)return 0;let i=await U(e[0],n),a=I(await n.evalExpr(e[1])),s=await ue(e[2],n),o=he(s,t);try{let u=A(i).replace(o,fe(a)),N=u!==o?1:0;return pe(s,u,t),N}catch{return 0}}async function xe(e,t,n){if(e.length<2)return 0;let i=await U(e[0],n),a=I(await n.evalExpr(e[1])),s=await ue(e[2],n),o=he(s,t);try{let c=A(i,"g"),u=c.match(o),N=u?u.length:0,k=c.replace(o,fe(a));return pe(s,k,t),N}catch{return 0}}function fe(e){return t=>{let n="",i=0;for(;i<e.length;)if(e[i]==="\\"&&i+1<e.length){let a=e[i+1];a==="&"?(n+="&",i+=2):a==="\\"?(n+="\\",i+=2):(n+=e[i+1],i+=2)}else e[i]==="&"?(n+=t,i++):(n+=e[i],i++);return n}}async function Ue(e,t,n){if(e.length<2)return t.RSTART=0,t.RLENGTH=-1,0;let i=I(await n.evalExpr(e[0])),a=await U(e[1],n);try{let o=A(a).exec(i);if(o)return t.RSTART=o.index+1,t.RLENGTH=o[0].length,t.RSTART}catch{}return t.RSTART=0,t.RLENGTH=-1,0}async function Be(e,t,n){if(e.length<3)return"";let i=await U(e[0],n),a=I(await n.evalExpr(e[1])),s=I(await n.evalExpr(e[2])),o=e.length>=4?I(await n.evalExpr(e[3])):t.line;try{let c=s.toLowerCase()==="g",u=c?0:parseInt(s,10)||1;if(c)return A(i,"g").replace(o,(k,...y)=>ce(a,k,y.slice(0,-2)));{let N=0;return A(i,"g").replace(o,(y,...w)=>(N++,N===u?ce(a,y,w.slice(0,-2)):y))}}catch{return o}}function ce(e,t,n){let i="",a=0;for(;a<e.length;)if(e[a]==="\\"&&a+1<e.length){let s=e[a+1];if(s==="&")i+="&",a+=2;else if(s==="0")i+=t,a+=2;else if(s>="1"&&s<="9"){let o=parseInt(s,10)-1;i+=n[o]||"",a+=2}else s==="n"?(i+=`
3
- `,a+=2):s==="t"?(i+=" ",a+=2):(i+=s,a+=2)}else e[a]==="&"?(i+=t,a++):(i+=e[a],a++);return i}async function He(e,t,n){return e.length===0?"":I(await n.evalExpr(e[0])).toLowerCase()}async function $e(e,t,n){return e.length===0?"":I(await n.evalExpr(e[0])).toUpperCase()}async function We(e,t,n){if(e.length===0)return"";let i=I(await n.evalExpr(e[0])),a=[];for(let s=1;s<e.length;s++)a.push(await n.evalExpr(e[s]));return B(i,a)}async function Ve(e,t,n){return e.length===0?0:Math.floor(C(await n.evalExpr(e[0])))}async function Ke(e,t,n){return e.length===0?0:Math.sqrt(C(await n.evalExpr(e[0])))}async function Xe(e,t,n){return e.length===0?0:Math.sin(C(await n.evalExpr(e[0])))}async function je(e,t,n){return e.length===0?0:Math.cos(C(await n.evalExpr(e[0])))}async function ze(e,t,n){let i=e.length>0?C(await n.evalExpr(e[0])):0,a=e.length>1?C(await n.evalExpr(e[1])):0;return Math.atan2(i,a)}async function Qe(e,t,n){return e.length===0?0:Math.log(C(await n.evalExpr(e[0])))}async function qe(e,t,n){return e.length===0?1:Math.exp(C(await n.evalExpr(e[0])))}function Je(e,t,n){return t.random?t.random():Math.random()}async function Ze(e,t,n){let i=e.length>0?C(await n.evalExpr(e[0])):Date.now();return t.vars._srand_seed=i,i}function Ye(e,t){return()=>{throw new Error(`${e}() is not supported - ${t}`)}}function q(e){return()=>{throw new Error(`function '${e}()' is not implemented`)}}var L=1e4;function B(e,t){let n=0,i="",a=0;for(;a<e.length;)if(e[a]==="%"&&a+1<e.length){let s=a+1,o="",c="",u="",N,k=s;for(;s<e.length&&/\d/.test(e[s]);)s++;s>k&&e[s]==="$"?(N=parseInt(e.substring(k,s),10)-1,s++):s=k;let y=()=>{if(s<e.length){if(s+1<e.length&&(e[s]==="h"&&e[s+1]==="h"||e[s]==="l"&&e[s+1]==="l")){s+=2;return}/[lzjh]/.test(e[s])&&s++}};for(;s<e.length&&/[-+ #0]/.test(e[s]);)o+=e[s++];if(e[s]==="*"){let l=t[n++],p=l!==void 0?Math.floor(Number(l)):0;p<0?(o+="-",c=String(Math.min(-p,L))):c=String(Math.min(p,L)),s++}else for(;s<e.length&&/\d/.test(e[s]);)c+=e[s++];if(c&&parseInt(c,10)>L&&(c=String(L)),e[s]==="."){if(s++,e[s]==="*"){let l=t[n++];u=String(Math.min(l!==void 0?Math.floor(Number(l)):0,L)),s++}else for(;s<e.length&&/\d/.test(e[s]);)u+=e[s++];u&&parseInt(u,10)>L&&(u=String(L))}y();let w=e[s],g=t[N!==void 0?N:n];switch(w){case"s":{let l=g!==void 0?String(g):"";if(u&&(l=l.substring(0,parseInt(u,10))),c){let p=parseInt(c,10);o.includes("-")?l=l.padEnd(p):l=l.padStart(p)}i+=l,N===void 0&&n++;break}case"d":case"i":{let l=g!==void 0?Math.floor(Number(g)):0;Number.isNaN(l)&&(l=0);let p=l<0,E=Math.abs(l).toString();if(u){let b=parseInt(u,10);E=E.padStart(b,"0")}let d="";p?d="-":o.includes("+")?d="+":o.includes(" ")&&(d=" ");let R=d+E;if(c){let b=parseInt(c,10);o.includes("-")?R=R.padEnd(b):o.includes("0")&&!u?R=d+E.padStart(b-d.length,"0"):R=R.padStart(b)}i+=R,N===void 0&&n++;break}case"f":{let l=g!==void 0?Number(g):0;Number.isNaN(l)&&(l=0);let p=u?parseInt(u,10):6,E=l.toFixed(p);if(c){let d=parseInt(c,10);o.includes("-")?E=E.padEnd(d):E=E.padStart(d)}i+=E,N===void 0&&n++;break}case"e":case"E":{let l=g!==void 0?Number(g):0;Number.isNaN(l)&&(l=0);let p=u?parseInt(u,10):6,E=l.toExponential(p);if(w==="E"&&(E=E.toUpperCase()),c){let d=parseInt(c,10);o.includes("-")?E=E.padEnd(d):E=E.padStart(d)}i+=E,N===void 0&&n++;break}case"g":case"G":{let l=g!==void 0?Number(g):0;Number.isNaN(l)&&(l=0);let p=u?parseInt(u,10):6,E=l!==0?Math.floor(Math.log10(Math.abs(l))):0,d;if(l===0?d="0":E<-4||E>=p?(d=l.toExponential(p-1),w==="G"&&(d=d.toUpperCase())):d=l.toPrecision(p),d.includes(".")&&(d=d.replace(/\.?0+$/,"").replace(/\.?0+e/,"e")),d.includes("e")&&(d=d.replace(/\.?0+e/,"e")),c){let R=parseInt(c,10);o.includes("-")?d=d.padEnd(R):d=d.padStart(R)}i+=d,N===void 0&&n++;break}case"x":case"X":{let l=g!==void 0?Math.floor(Number(g)):0;Number.isNaN(l)&&(l=0);let p=Math.abs(l).toString(16);if(w==="X"&&(p=p.toUpperCase()),u){let R=parseInt(u,10);p=p.padStart(R,"0")}let E=l<0?"-":"",d=E+p;if(c){let R=parseInt(c,10);o.includes("-")?d=d.padEnd(R):o.includes("0")&&!u?d=E+p.padStart(R-E.length,"0"):d=d.padStart(R)}i+=d,N===void 0&&n++;break}case"o":{let l=g!==void 0?Math.floor(Number(g)):0;Number.isNaN(l)&&(l=0);let p=Math.abs(l).toString(8);if(u){let R=parseInt(u,10);p=p.padStart(R,"0")}let E=l<0?"-":"",d=E+p;if(c){let R=parseInt(c,10);o.includes("-")?d=d.padEnd(R):o.includes("0")&&!u?d=E+p.padStart(R-E.length,"0"):d=d.padStart(R)}i+=d,N===void 0&&n++;break}case"c":{typeof g=="number"?i+=String.fromCharCode(g):i+=String(g??"").charAt(0)||"",N===void 0&&n++;break}case"%":i+="%";break;default:i+=e.substring(a,s+1)}a=s+1}else if(e[a]==="\\"&&a+1<e.length){let s=e[a+1];switch(s){case"n":i+=`
4
- `;break;case"t":i+=" ";break;case"r":i+="\r";break;case"\\":i+="\\";break;default:i+=s}a+=2}else i+=e[a++];return i}var de=new Map([["length",Te],["substr",Fe],["index",_e],["split",Ge],["sub",De],["gsub",xe],["match",Ue],["gensub",Be],["tolower",He],["toupper",$e],["sprintf",We],["int",Ve],["sqrt",Ke],["sin",Xe],["cos",je],["atan2",ze],["log",Qe],["exp",qe],["rand",Je],["srand",Ze],["system",Ye("system","shell execution not allowed in sandboxed environment")],["close",()=>0],["fflush",()=>0],["systime",q("systime")],["mktime",q("mktime")],["strftime",q("strftime")]]);function v(e){return typeof e=="number"?e!==0:!(e===""||e==="0")}function m(e){if(typeof e=="number")return e;let t=parseFloat(e);return Number.isNaN(t)?0:t}function S(e){return typeof e=="string"?e:(Number.isInteger(e),String(e))}function J(e){if(typeof e=="number")return!0;let t=String(e).trim();return t===""?!1:!Number.isNaN(Number(t))}function G(e,t){try{return A(e).test(t)}catch{return!1}}function Ee(e,t){return t===""?[]:e.FS===" "?t.trim().split(/\s+/).filter(Boolean):e.fieldSep.split(t)}function H(e,t){return t===0?e.line:t<0||t>e.fields.length?"":e.fields[t-1]??""}function Z(e,t,n){if(t===0)e.line=S(n),e.fields=Ee(e,e.line),e.NF=e.fields.length;else if(t>0){for(;e.fields.length<t;)e.fields.push("");e.fields[t-1]=S(n),e.NF=e.fields.length,e.line=e.fields.join(e.OFS)}}function T(e,t){e.line=t,e.fields=Ee(e,t),e.NF=e.fields.length}function Ne(e,t){if(e.FS=t,t===" ")e.fieldSep=new P(/\s+/);else try{e.fieldSep=A(t)}catch{e.fieldSep=A(t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"))}}function $(e,t){switch(t){case"FS":return e.FS;case"OFS":return e.OFS;case"ORS":return e.ORS;case"OFMT":return e.OFMT;case"NR":return e.NR;case"NF":return e.NF;case"FNR":return e.FNR;case"FILENAME":return e.FILENAME;case"RSTART":return e.RSTART;case"RLENGTH":return e.RLENGTH;case"SUBSEP":return e.SUBSEP;case"ARGC":return e.ARGC}return e.vars[t]??""}function F(e,t,n){switch(t){case"FS":Ne(e,S(n));return;case"OFS":e.OFS=S(n);return;case"ORS":e.ORS=S(n);return;case"OFMT":e.OFMT=S(n);return;case"NR":e.NR=Math.floor(m(n));return;case"NF":{let i=Math.floor(m(n));if(i<e.NF)e.fields=e.fields.slice(0,i),e.line=e.fields.join(e.OFS);else if(i>e.NF){for(;e.fields.length<i;)e.fields.push("");e.line=e.fields.join(e.OFS)}e.NF=i;return}case"FNR":e.FNR=Math.floor(m(n));return;case"FILENAME":e.FILENAME=S(n);return;case"RSTART":e.RSTART=Math.floor(m(n));return;case"RLENGTH":e.RLENGTH=Math.floor(m(n));return;case"SUBSEP":e.SUBSEP=S(n);return}e.vars[t]=n}function D(e,t){let n=t,i=new Set,a=e.arrayAliases.get(n);for(;a!==void 0&&!i.has(n);)i.add(n),n=a,a=e.arrayAliases.get(n);return n}function W(e,t,n){if(t==="ARGV")return e.ARGV[n]??"";if(t==="ENVIRON")return e.ENVIRON[n]??"";let i=D(e,t);return e.arrays[i]?.[n]??""}function Y(e,t,n,i){let a=D(e,t);e.arrays[a]||(e.arrays[a]=Object.create(null)),e.arrays[a][n]=i}function Se(e,t,n){if(t==="ARGV")return e.ARGV[n]!==void 0;if(t==="ENVIRON")return e.ENVIRON[n]!==void 0;let i=D(e,t);return e.arrays[i]?.[n]!==void 0}function ye(e,t,n){let i=D(e,t);e.arrays[i]&&delete e.arrays[i][n]}function Re(e,t){let n=D(e,t);delete e.arrays[n]}var ee=null;function me(e){ee=e}async function f(e,t){switch(e.coverage?.hit(`awk:expr:${t.type}`),t.type){case"number":return t.value;case"string":return t.value;case"regex":return G(t.pattern,e.line)?1:0;case"field":return et(e,t);case"variable":return $(e,t.name);case"array_access":return tt(e,t);case"binary":return nt(e,t);case"unary":return st(e,t);case"ternary":return v(await f(e,t.condition))?await f(e,t.consequent):await f(e,t.alternate);case"call":return at(e,t.name,t.args);case"assignment":return lt(e,t);case"pre_increment":return ct(e,t.operand);case"pre_decrement":return ut(e,t.operand);case"post_increment":return ht(e,t.operand);case"post_decrement":return pt(e,t.operand);case"in":return ft(e,t.key,t.array);case"getline":return dt(e,t.variable,t.file,t.command);case"tuple":return St(e,t.elements);default:return""}}async function et(e,t){let n=Math.floor(m(await f(e,t.index)));return H(e,n)}async function tt(e,t){let n=S(await f(e,t.key));return W(e,t.array,n)}async function nt(e,t){let n=t.operator;if(n==="||")return v(await f(e,t.left))||v(await f(e,t.right))?1:0;if(n==="&&")return v(await f(e,t.left))&&v(await f(e,t.right))?1:0;if(n==="~"){let c=await f(e,t.left);t.right.type==="regex"&&e.coverage?.hit("awk:expr:regex");let u=t.right.type==="regex"?t.right.pattern:S(await f(e,t.right));try{return A(u).test(S(c))?1:0}catch{return 0}}if(n==="!~"){let c=await f(e,t.left);t.right.type==="regex"&&e.coverage?.hit("awk:expr:regex");let u=t.right.type==="regex"?t.right.pattern:S(await f(e,t.right));try{return A(u).test(S(c))?0:1}catch{return 1}}let i=await f(e,t.left),a=await f(e,t.right);if(n===" "){let c=S(i)+S(a);if(e.maxOutputSize>0&&c.length>e.maxOutputSize)throw new O(`awk: string concatenation size limit exceeded (${e.maxOutputSize} bytes)`,"string_length",e.output);return c}if(rt(n))return it(i,a,n);let s=m(i),o=m(a);return le(s,o,n)}function rt(e){return["<","<=",">",">=","==","!="].includes(e)}function it(e,t,n){let i=J(e),a=J(t);if(i&&a){let c=m(e),u=m(t);switch(n){case"<":return c<u?1:0;case"<=":return c<=u?1:0;case">":return c>u?1:0;case">=":return c>=u?1:0;case"==":return c===u?1:0;case"!=":return c!==u?1:0}}let s=S(e),o=S(t);switch(n){case"<":return s<o?1:0;case"<=":return s<=o?1:0;case">":return s>o?1:0;case">=":return s>=o?1:0;case"==":return s===o?1:0;case"!=":return s!==o?1:0}return 0}async function st(e,t){let n=await f(e,t.operand);switch(t.operator){case"!":return v(n)?0:1;case"-":return-m(n);case"+":return+m(n);default:return n}}async function at(e,t,n){let i=de.get(t);if(i)return i(n,e,{evalExpr:s=>f(e,s)});let a=e.functions.get(t);return a?ot(e,a,n):""}async function ot(e,t,n){if(e.currentRecursionDepth++,e.currentRecursionDepth>e.maxRecursionDepth)throw e.currentRecursionDepth--,new O(`awk: recursion depth exceeded maximum (${e.maxRecursionDepth})`,"recursion",e.output);let i=Object.create(null);for(let o of t.params)i[o]=e.vars[o];let a=[];for(let o=0;o<t.params.length;o++){let c=t.params[o];if(o<n.length){let u=n[o];u.type==="variable"&&(e.arrayAliases.set(c,u.name),a.push(c));let N=await f(e,u);e.vars[c]=N}else e.vars[c]=""}e.hasReturn=!1,e.returnValue=void 0,ee&&await ee(e,t.body.statements);let s=e.returnValue??"";for(let o of t.params)i[o]!==void 0?e.vars[o]=i[o]:delete e.vars[o];for(let o of a)e.arrayAliases.delete(o);return e.hasReturn=!1,e.returnValue=void 0,e.currentRecursionDepth--,s}async function lt(e,t){let n=await f(e,t.value),i=t.target,a=t.operator,s;if(a==="=")s=n;else{let o;if(i.type==="field"){let N=Math.floor(m(await f(e,i.index)));o=H(e,N)}else if(i.type==="variable")o=$(e,i.name);else{let N=S(await f(e,i.key));o=W(e,i.array,N)}let c=m(o),u=m(n);switch(a){case"+=":s=c+u;break;case"-=":s=c-u;break;case"*=":s=c*u;break;case"/=":s=u!==0?c/u:0;break;case"%=":s=u!==0?c%u:0;break;case"^=":s=c**u;break;default:s=n}}if(i.type==="field"){let o=Math.floor(m(await f(e,i.index)));Z(e,o,s)}else if(i.type==="variable")F(e,i.name,s);else{let o=S(await f(e,i.key));Y(e,i.array,o,s)}return s}async function V(e,t,n,i){let a;if(t.type==="field"){let s=Math.floor(m(await f(e,t.index)));a=m(H(e,s)),Z(e,s,a+n)}else if(t.type==="variable")a=m($(e,t.name)),F(e,t.name,a+n);else{let s=S(await f(e,t.key));a=m(W(e,t.array,s)),Y(e,t.array,s,a+n)}return i?a+n:a}async function ct(e,t){return V(e,t,1,!0)}async function ut(e,t){return V(e,t,-1,!0)}async function ht(e,t){return V(e,t,1,!1)}async function pt(e,t){return V(e,t,-1,!1)}async function ft(e,t,n){let i;if(t.type==="tuple"){e.coverage?.hit("awk:expr:tuple");let a=[];for(let s of t.elements)a.push(S(await f(e,s)));i=a.join(e.SUBSEP)}else i=S(await f(e,t));return Se(e,n,i)?1:0}async function dt(e,t,n,i){if(i)return Et(e,t,i);if(n)return Nt(e,t,n);if(!e.lines||e.lineIndex===void 0)return-1;let a=e.lineIndex+1;if(a>=e.lines.length)return 0;let s=e.lines[a];return t?F(e,t,s):T(e,s),e.NR++,e.lineIndex=a,1}async function Et(e,t,n){if(!e.exec)return-1;let i=S(await f(e,n)),a=`__cmd_${i}`,s=`__cmdi_${i}`,o,c;if(e.vars[a]===void 0)try{o=(await e.exec(i)).stdout.split(`
5
- `),o.length>0&&o[o.length-1]===""&&o.pop(),e.vars[a]=JSON.stringify(o),e.vars[s]=-1,c=-1}catch{return-1}else o=JSON.parse(e.vars[a]),c=e.vars[s];let u=c+1;if(u>=o.length)return 0;let N=o[u];return e.vars[s]=u,t?F(e,t,N):T(e,N),1}async function Nt(e,t,n){if(!e.fs||!e.cwd)return-1;let i=S(await f(e,n));if(i==="/dev/null")return 0;let a=e.fs.resolvePath(e.cwd,i),s=`__fc_${a}`,o=`__fi_${a}`,c,u;if(e.vars[s]===void 0)try{c=(await e.fs.readFile(a)).split(`
6
- `),c.length>0&&c[c.length-1]===""&&c.pop(),e.vars[s]=JSON.stringify(c),e.vars[o]=-1,u=-1}catch{return-1}else c=JSON.parse(e.vars[s]),u=e.vars[o];let N=u+1;if(N>=c.length)return 0;let k=c[N];return e.vars[o]=N,t?F(e,t,k):T(e,k),1}async function St(e,t){if(t.length===0)return"";for(let n=0;n<t.length-1;n++)await f(e,t[n]);return f(e,t[t.length-1])}me(_);function te(e){if(e.maxOutputSize>0&&e.output.length>e.maxOutputSize)throw new O(`awk: output size limit exceeded (${e.maxOutputSize} bytes)`,"string_length",e.output)}async function _(e,t){for(let n of t)if(await M(e,n),yt(e))break}function yt(e){return e.shouldExit||e.shouldNext||e.shouldNextFile||e.loopBreak||e.loopContinue||e.hasReturn}async function M(e,t){switch(e.coverage?.hit(`awk:stmt:${t.type}`),t.type){case"block":await _(e,t.statements);break;case"expr_stmt":await f(e,t.expression);break;case"print":await Rt(e,t.args,t.output);break;case"printf":await mt(e,t.format,t.args,t.output);break;case"if":await At(e,t);break;case"while":await wt(e,t);break;case"do_while":await gt(e,t);break;case"for":await It(e,t);break;case"for_in":await vt(e,t);break;case"break":e.loopBreak=!0;break;case"continue":e.loopContinue=!0;break;case"next":e.shouldNext=!0;break;case"nextfile":e.shouldNextFile=!0;break;case"exit":e.shouldExit=!0,e.exitCode=t.code?Math.floor(m(await f(e,t.code))):0;break;case"return":e.hasReturn=!0,e.returnValue=t.value?await f(e,t.value):"";break;case"delete":await kt(e,t.target);break}}async function Rt(e,t,n){let i=[];for(let s of t){let o=await f(e,s);typeof o=="number"?Number.isInteger(o)&&Math.abs(o)<Number.MAX_SAFE_INTEGER?i.push(String(o)):i.push(B(e.OFMT,[o])):i.push(S(o))}let a=i.join(e.OFS)+e.ORS;n?await Ae(e,n.redirect,n.file,a):(e.output+=a,te(e))}async function mt(e,t,n,i){let a=S(await f(e,t)),s=[];for(let c of n)s.push(await f(e,c));let o=B(a,s);i?await Ae(e,i.redirect,i.file,o):(e.output+=o,te(e))}async function Ae(e,t,n,i){if(!e.fs||!e.cwd){e.output+=i,te(e);return}let a=S(await f(e,n)),s=e.fs.resolvePath(e.cwd,a);t===">"?e.openedFiles.has(s)?await e.fs.appendFile(s,i):(await e.fs.writeFile(s,i),e.openedFiles.add(s)):(e.openedFiles.has(s)||e.openedFiles.add(s),await e.fs.appendFile(s,i))}async function At(e,t){v(await f(e,t.condition))?await M(e,t.consequent):t.alternate&&await M(e,t.alternate)}async function wt(e,t){let n=0;for(;v(await f(e,t.condition));){if(n++,n>e.maxIterations)throw new O(`awk: while loop exceeded maximum iterations (${e.maxIterations})`,"iterations",e.output);if(e.loopContinue=!1,await M(e,t.body),e.loopBreak){e.loopBreak=!1;break}if(e.shouldExit||e.shouldNext||e.hasReturn)break}}async function gt(e,t){let n=0;do{if(n++,n>e.maxIterations)throw new O(`awk: do-while loop exceeded maximum iterations (${e.maxIterations})`,"iterations",e.output);if(e.loopContinue=!1,await M(e,t.body),e.loopBreak){e.loopBreak=!1;break}if(e.shouldExit||e.shouldNext||e.hasReturn)break}while(v(await f(e,t.condition)))}async function It(e,t){t.init&&await f(e,t.init);let n=0;for(;!t.condition||v(await f(e,t.condition));){if(n++,n>e.maxIterations)throw new O(`awk: for loop exceeded maximum iterations (${e.maxIterations})`,"iterations",e.output);if(e.loopContinue=!1,await M(e,t.body),e.loopBreak){e.loopBreak=!1;break}if(e.shouldExit||e.shouldNext||e.hasReturn)break;t.update&&await f(e,t.update)}}async function vt(e,t){let n=e.arrays[t.array];if(n)for(let i of Object.keys(n)){if(e.vars[t.variable]=i,e.loopContinue=!1,await M(e,t.body),e.loopBreak){e.loopBreak=!1;break}if(e.shouldExit||e.shouldNext||e.hasReturn)break}}async function kt(e,t){if(t.type==="array_access"){let n=S(await f(e,t.key));ye(e,t.array,n)}else t.type==="variable"&&Re(e,t.name)}var x=class{ctx;program=null;rangeStates=[];constructor(t){this.ctx=t}execute(t){this.program=t,this.ctx.output="";for(let n of t.functions)this.ctx.functions.set(n.name,n);this.rangeStates=t.rules.map(()=>!1)}async executeBegin(){if(this.program){for(let t of this.program.rules)if(t.pattern?.type==="begin"&&(await _(this.ctx,t.action.statements),this.ctx.shouldExit))break}}async executeLine(t){if(!(!this.program||this.ctx.shouldExit)){T(this.ctx,t),this.ctx.NR++,this.ctx.FNR++,this.ctx.shouldNext=!1;for(let n=0;n<this.program.rules.length&&!(this.ctx.shouldExit||this.ctx.shouldNext||this.ctx.shouldNextFile);n++){let i=this.program.rules[n];i.pattern?.type==="begin"||i.pattern?.type==="end"||await this.matchesRule(i,n)&&await _(this.ctx,i.action.statements)}}}async executeEnd(){if(this.program&&!this.ctx.inEndBlock){this.ctx.inEndBlock=!0,this.ctx.shouldExit=!1;for(let t of this.program.rules)if(t.pattern?.type==="end"&&(await _(this.ctx,t.action.statements),this.ctx.shouldExit))break;this.ctx.inEndBlock=!1}}getOutput(){return this.ctx.output}getExitCode(){return this.ctx.exitCode}getContext(){return this.ctx}async matchesRule(t,n){let i=t.pattern;if(!i)return!0;switch(i.type){case"begin":case"end":return!1;case"regex_pattern":return G(i.pattern,this.ctx.line);case"expr_pattern":return v(await f(this.ctx,i.expression));case"range":{let a=await this.matchPattern(i.start),s=await this.matchPattern(i.end);return this.rangeStates[n]?(s&&(this.rangeStates[n]=!1),!0):a?(this.rangeStates[n]=!0,s&&(this.rangeStates[n]=!1),!0):!1}default:return!1}}async matchPattern(t){switch(t.type){case"regex_pattern":return G(t.pattern,this.ctx.line);case"expr_pattern":return v(await f(this.ctx,t.expression));default:return!1}}};var r;(function(e){e.NUMBER="NUMBER",e.STRING="STRING",e.REGEX="REGEX",e.IDENT="IDENT",e.BEGIN="BEGIN",e.END="END",e.IF="IF",e.ELSE="ELSE",e.WHILE="WHILE",e.DO="DO",e.FOR="FOR",e.IN="IN",e.BREAK="BREAK",e.CONTINUE="CONTINUE",e.NEXT="NEXT",e.NEXTFILE="NEXTFILE",e.EXIT="EXIT",e.RETURN="RETURN",e.DELETE="DELETE",e.FUNCTION="FUNCTION",e.PRINT="PRINT",e.PRINTF="PRINTF",e.GETLINE="GETLINE",e.PLUS="PLUS",e.MINUS="MINUS",e.STAR="STAR",e.SLASH="SLASH",e.PERCENT="PERCENT",e.CARET="CARET",e.EQ="EQ",e.NE="NE",e.LT="LT",e.GT="GT",e.LE="LE",e.GE="GE",e.MATCH="MATCH",e.NOT_MATCH="NOT_MATCH",e.AND="AND",e.OR="OR",e.NOT="NOT",e.ASSIGN="ASSIGN",e.PLUS_ASSIGN="PLUS_ASSIGN",e.MINUS_ASSIGN="MINUS_ASSIGN",e.STAR_ASSIGN="STAR_ASSIGN",e.SLASH_ASSIGN="SLASH_ASSIGN",e.PERCENT_ASSIGN="PERCENT_ASSIGN",e.CARET_ASSIGN="CARET_ASSIGN",e.INCREMENT="INCREMENT",e.DECREMENT="DECREMENT",e.QUESTION="QUESTION",e.COLON="COLON",e.COMMA="COMMA",e.SEMICOLON="SEMICOLON",e.NEWLINE="NEWLINE",e.LPAREN="LPAREN",e.RPAREN="RPAREN",e.LBRACE="LBRACE",e.RBRACE="RBRACE",e.LBRACKET="LBRACKET",e.RBRACKET="RBRACKET",e.DOLLAR="DOLLAR",e.APPEND="APPEND",e.PIPE="PIPE",e.EOF="EOF"})(r||(r={}));var Ct=new Map([["BEGIN",r.BEGIN],["END",r.END],["if",r.IF],["else",r.ELSE],["while",r.WHILE],["do",r.DO],["for",r.FOR],["in",r.IN],["break",r.BREAK],["continue",r.CONTINUE],["next",r.NEXT],["nextfile",r.NEXTFILE],["exit",r.EXIT],["return",r.RETURN],["delete",r.DELETE],["function",r.FUNCTION],["print",r.PRINT],["printf",r.PRINTF],["getline",r.GETLINE]]);function Ot(e){return e.replace(/\[\[:space:\]\]/g,"[ \\t\\n\\r\\f\\v]").replace(/\[\[:blank:\]\]/g,"[ \\t]").replace(/\[\[:alpha:\]\]/g,"[a-zA-Z]").replace(/\[\[:digit:\]\]/g,"[0-9]").replace(/\[\[:alnum:\]\]/g,"[a-zA-Z0-9]").replace(/\[\[:upper:\]\]/g,"[A-Z]").replace(/\[\[:lower:\]\]/g,"[a-z]").replace(/\[\[:punct:\]\]/g,"[!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~]").replace(/\[\[:xdigit:\]\]/g,"[0-9A-Fa-f]").replace(/\[\[:graph:\]\]/g,"[!-~]").replace(/\[\[:print:\]\]/g,"[ -~]").replace(/\[\[:cntrl:\]\]/g,"[\\x00-\\x1f\\x7f]")}var K=class{input;pos=0;line=1;column=1;lastTokenType=null;constructor(t){this.input=t}tokenize(){let t=[];for(;this.pos<this.input.length;){let n=this.nextToken();n&&(t.push(n),this.lastTokenType=n.type)}return t.push(this.makeToken(r.EOF,"")),t}makeToken(t,n){return{type:t,value:n,line:this.line,column:this.column}}peek(t=0){return this.input[this.pos+t]||""}advance(){let t=this.input[this.pos++]||"";return t===`
1
+ import{a as oe}from"./chunk-OJDRYQWQ.js";import{a as A,b as T}from"./chunk-YNYSPYQ5.js";import{k as L}from"./chunk-GFQRA5P5.js";import{a as se,b as ae,c as Q}from"./chunk-74CEPOFO.js";var Me=1e4,Pe=100,Te=new T(/\s+/);function q(e={}){let{fieldSep:t=Te,maxIterations:n=Me,maxRecursionDepth:i=Pe,maxOutputSize:a=0,fs:s,cwd:o,exec:l,coverage:c}=e;return{FS:" ",OFS:" ",ORS:`
2
+ `,OFMT:"%.6g",NR:0,NF:0,FNR:0,FILENAME:"",RSTART:0,RLENGTH:-1,SUBSEP:"",fields:[],line:"",vars:Object.create(null),arrays:Object.create(null),arrayAliases:new Map,ARGC:0,ARGV:Object.create(null),ENVIRON:Object.create(null),functions:new Map,fieldSep:t,maxIterations:n,maxRecursionDepth:i,maxOutputSize:a,currentRecursionDepth:0,exitCode:0,shouldExit:!1,shouldNext:!1,shouldNextFile:!1,loopBreak:!1,loopContinue:!1,hasReturn:!1,inEndBlock:!1,output:"",openedFiles:new Set,fs:s,cwd:o,exec:l,coverage:c}}function le(e,t,n){switch(n){case"+":return e+t;case"-":return e-t;case"*":return e*t;case"/":return t!==0?e/t:0;case"%":return t!==0?e%t:0;case"^":case"**":return e**t;default:return 0}}function O(e){if(typeof e=="number")return e;let t=parseFloat(e);return Number.isNaN(t)?0:t}function w(e){return typeof e=="string"?e:(Number.isInteger(e),String(e))}async function B(e,t){if(e.type==="regex")return e.pattern;let n=w(await t.evalExpr(e));return n.startsWith("/")&&n.endsWith("/")&&(n=n.slice(1,-1)),n}async function ue(e,t){return e?e.type==="variable"?e.name:e.type==="field"?`$${Math.floor(O(await t.evalExpr(e.index)))}`:"$0":"$0"}function he(e,t){if(e==="$0")return t.line;if(e.startsWith("$")){let n=parseInt(e.slice(1),10)-1;return t.fields[n]||""}return w(t.vars[e]??"")}function pe(e,t,n){if(e==="$0")n.line=t,n.fields=n.FS===" "?t.trim().split(/\s+/).filter(Boolean):n.fieldSep.split(t),n.NF=n.fields.length;else if(e.startsWith("$")){let i=parseInt(e.slice(1),10)-1;for(;n.fields.length<=i;)n.fields.push("");n.fields[i]=t,n.NF=n.fields.length,n.line=n.fields.join(n.OFS)}else n.vars[e]=t}async function Fe(e,t,n){return e.length===0?t.line.length:w(await n.evalExpr(e[0])).length}async function _e(e,t,n){if(e.length<2)return"";let i=w(await n.evalExpr(e[0])),a=Math.floor(O(await n.evalExpr(e[1])))-1;if(e.length>=3){let s=Math.floor(O(await n.evalExpr(e[2])));return i.substr(Math.max(0,a),s)}return i.substr(Math.max(0,a))}async function Ge(e,t,n){if(e.length<2)return 0;let i=w(await n.evalExpr(e[0])),a=w(await n.evalExpr(e[1])),s=i.indexOf(a);return s===-1?0:s+1}async function De(e,t,n){if(e.length<2)return 0;let i=w(await n.evalExpr(e[0])),a=e[1];if(a.type!=="variable")return 0;let s=a.name,o=t.FS;if(e.length>=3){let c=e[2];if(c.type==="regex")o=A(c.pattern);else{let N=w(await n.evalExpr(c));o=N===" "?A("\\s+"):N}}else t.FS===" "&&(o=A("\\s+"));let l=typeof o=="string"?i.split(o):o.split(i);t.arrays[s]=Object.create(null);for(let c=0;c<l.length;c++)t.arrays[s][String(c+1)]=l[c];return l.length}async function xe(e,t,n){if(e.length<2)return 0;let i=await B(e[0],n),a=w(await n.evalExpr(e[1])),s=await ue(e[2],n),o=he(s,t);try{let c=A(i).replace(o,fe(a)),N=c!==o?1:0;return pe(s,c,t),N}catch{return 0}}async function Ue(e,t,n){if(e.length<2)return 0;let i=await B(e[0],n),a=w(await n.evalExpr(e[1])),s=await ue(e[2],n),o=he(s,t);try{let l=A(i,"g"),c=l.match(o),N=c?c.length:0,v=l.replace(o,fe(a));return pe(s,v,t),N}catch{return 0}}function fe(e){return t=>{let n="",i=0;for(;i<e.length;)if(e[i]==="\\"&&i+1<e.length){let a=e[i+1];a==="&"?(n+="&",i+=2):a==="\\"?(n+="\\",i+=2):(n+=e[i+1],i+=2)}else e[i]==="&"?(n+=t,i++):(n+=e[i],i++);return n}}async function Be(e,t,n){if(e.length<2)return t.RSTART=0,t.RLENGTH=-1,0;let i=w(await n.evalExpr(e[0])),a=await B(e[1],n);try{let o=A(a).exec(i);if(o)return t.RSTART=o.index+1,t.RLENGTH=o[0].length,t.RSTART}catch{}return t.RSTART=0,t.RLENGTH=-1,0}async function He(e,t,n){if(e.length<3)return"";let i=await B(e[0],n),a=w(await n.evalExpr(e[1])),s=w(await n.evalExpr(e[2])),o=e.length>=4?w(await n.evalExpr(e[3])):t.line;try{let l=s.toLowerCase()==="g",c=l?0:parseInt(s,10)||1;if(l)return A(i,"g").replace(o,(v,...b)=>ce(a,v,b.slice(0,-2)));{let N=0;return A(i,"g").replace(o,(b,...y)=>(N++,N===c?ce(a,b,y.slice(0,-2)):b))}}catch{return o}}function ce(e,t,n){let i="",a=0;for(;a<e.length;)if(e[a]==="\\"&&a+1<e.length){let s=e[a+1];if(s==="&")i+="&",a+=2;else if(s==="0")i+=t,a+=2;else if(s>="1"&&s<="9"){let o=parseInt(s,10)-1;i+=n[o]||"",a+=2}else s==="n"?(i+=`
3
+ `,a+=2):s==="t"?(i+=" ",a+=2):(i+=s,a+=2)}else e[a]==="&"?(i+=t,a++):(i+=e[a],a++);return i}async function $e(e,t,n){return e.length===0?"":w(await n.evalExpr(e[0])).toLowerCase()}async function We(e,t,n){return e.length===0?"":w(await n.evalExpr(e[0])).toUpperCase()}async function Ve(e,t,n){if(e.length===0)return"";let i=w(await n.evalExpr(e[0])),a=[];for(let s=1;s<e.length;s++)a.push(await n.evalExpr(e[s]));return H(i,a)}async function Ke(e,t,n){return e.length===0?0:Math.floor(O(await n.evalExpr(e[0])))}async function Xe(e,t,n){return e.length===0?0:Math.sqrt(O(await n.evalExpr(e[0])))}async function je(e,t,n){return e.length===0?0:Math.sin(O(await n.evalExpr(e[0])))}async function ze(e,t,n){return e.length===0?0:Math.cos(O(await n.evalExpr(e[0])))}async function Qe(e,t,n){let i=e.length>0?O(await n.evalExpr(e[0])):0,a=e.length>1?O(await n.evalExpr(e[1])):0;return Math.atan2(i,a)}async function qe(e,t,n){return e.length===0?0:Math.log(O(await n.evalExpr(e[0])))}async function Je(e,t,n){return e.length===0?1:Math.exp(O(await n.evalExpr(e[0])))}function Ze(e,t,n){return t.random?t.random():Math.random()}async function Ye(e,t,n){let i=e.length>0?O(await n.evalExpr(e[0])):Date.now();return t.vars._srand_seed=i,i}function et(e,t){return()=>{throw new Error(`${e}() is not supported - ${t}`)}}function J(e){return()=>{throw new Error(`function '${e}()' is not implemented`)}}var M=1e4;function H(e,t){let n=0,i="",a=0;for(;a<e.length;)if(e[a]==="%"&&a+1<e.length){let s=a+1,o="",l="",c="",N,v=s;for(;s<e.length&&/\d/.test(e[s]);)s++;s>v&&e[s]==="$"?(N=parseInt(e.substring(v,s),10)-1,s++):s=v;let b=()=>{if(s<e.length){if(s+1<e.length&&(e[s]==="h"&&e[s+1]==="h"||e[s]==="l"&&e[s+1]==="l")){s+=2;return}/[lzjh]/.test(e[s])&&s++}};for(;s<e.length&&/[-+ #0]/.test(e[s]);)o+=e[s++];if(e[s]==="*"){let E=t[n++],h=E!==void 0?Math.floor(Number(E)):0;h<0?(o+="-",l=String(Math.min(-h,M))):l=String(Math.min(h,M)),s++}else for(;s<e.length&&/\d/.test(e[s]);)l+=e[s++];if(l&&parseInt(l,10)>M&&(l=String(M)),e[s]==="."){if(s++,e[s]==="*"){let E=t[n++];c=String(Math.min(E!==void 0?Math.floor(Number(E)):0,M)),s++}else for(;s<e.length&&/\d/.test(e[s]);)c+=e[s++];c&&parseInt(c,10)>M&&(c=String(M))}b();let y=e[s],g=t[N!==void 0?N:n];switch(y){case"s":{let E=g!==void 0?String(g):"";if(c&&(E=E.substring(0,parseInt(c,10))),l){let h=parseInt(l,10);o.includes("-")?E=E.padEnd(h):E=E.padStart(h)}i+=E,N===void 0&&n++;break}case"d":case"i":{let E=g!==void 0?Math.floor(Number(g)):0;Number.isNaN(E)&&(E=0);let h=E<0,p=Math.abs(E).toString();if(c){let C=parseInt(c,10);p=p.padStart(C,"0")}let f="";h?f="-":o.includes("+")?f="+":o.includes(" ")&&(f=" ");let R=f+p;if(l){let C=parseInt(l,10);o.includes("-")?R=R.padEnd(C):o.includes("0")&&!c?R=f+p.padStart(C-f.length,"0"):R=R.padStart(C)}i+=R,N===void 0&&n++;break}case"f":{let E=g!==void 0?Number(g):0;Number.isNaN(E)&&(E=0);let h=c?parseInt(c,10):6,p=E.toFixed(h);if(l){let f=parseInt(l,10);o.includes("-")?p=p.padEnd(f):p=p.padStart(f)}i+=p,N===void 0&&n++;break}case"e":case"E":{let E=g!==void 0?Number(g):0;Number.isNaN(E)&&(E=0);let h=c?parseInt(c,10):6,p=E.toExponential(h);if(y==="E"&&(p=p.toUpperCase()),l){let f=parseInt(l,10);o.includes("-")?p=p.padEnd(f):p=p.padStart(f)}i+=p,N===void 0&&n++;break}case"g":case"G":{let E=g!==void 0?Number(g):0;Number.isNaN(E)&&(E=0);let h=c?parseInt(c,10):6,p=E!==0?Math.floor(Math.log10(Math.abs(E))):0,f;if(E===0?f="0":p<-4||p>=h?(f=E.toExponential(h-1),y==="G"&&(f=f.toUpperCase())):f=E.toPrecision(h),f.includes(".")&&(f=f.replace(/\.?0+$/,"").replace(/\.?0+e/,"e")),f.includes("e")&&(f=f.replace(/\.?0+e/,"e")),l){let R=parseInt(l,10);o.includes("-")?f=f.padEnd(R):f=f.padStart(R)}i+=f,N===void 0&&n++;break}case"x":case"X":{let E=g!==void 0?Math.floor(Number(g)):0;Number.isNaN(E)&&(E=0);let h=Math.abs(E).toString(16);if(y==="X"&&(h=h.toUpperCase()),c){let R=parseInt(c,10);h=h.padStart(R,"0")}let p=E<0?"-":"",f=p+h;if(l){let R=parseInt(l,10);o.includes("-")?f=f.padEnd(R):o.includes("0")&&!c?f=p+h.padStart(R-p.length,"0"):f=f.padStart(R)}i+=f,N===void 0&&n++;break}case"o":{let E=g!==void 0?Math.floor(Number(g)):0;Number.isNaN(E)&&(E=0);let h=Math.abs(E).toString(8);if(c){let R=parseInt(c,10);h=h.padStart(R,"0")}let p=E<0?"-":"",f=p+h;if(l){let R=parseInt(l,10);o.includes("-")?f=f.padEnd(R):o.includes("0")&&!c?f=p+h.padStart(R-p.length,"0"):f=f.padStart(R)}i+=f,N===void 0&&n++;break}case"c":{typeof g=="number"?i+=String.fromCharCode(g):i+=String(g??"").charAt(0)||"",N===void 0&&n++;break}case"%":i+="%";break;default:i+=e.substring(a,s+1)}a=s+1}else if(e[a]==="\\"&&a+1<e.length){let s=e[a+1];switch(s){case"n":i+=`
4
+ `;break;case"t":i+=" ";break;case"r":i+="\r";break;case"\\":i+="\\";break;default:i+=s}a+=2}else i+=e[a++];return i}var de=new Map([["length",Fe],["substr",_e],["index",Ge],["split",De],["sub",xe],["gsub",Ue],["match",Be],["gensub",He],["tolower",$e],["toupper",We],["sprintf",Ve],["int",Ke],["sqrt",Xe],["sin",je],["cos",ze],["atan2",Qe],["log",qe],["exp",Je],["rand",Ze],["srand",Ye],["system",et("system","shell execution not allowed in sandboxed environment")],["close",()=>0],["fflush",()=>0],["systime",J("systime")],["mktime",J("mktime")],["strftime",J("strftime")]]);function I(e){return typeof e=="number"?e!==0:!(e===""||e==="0")}function m(e){if(typeof e=="number")return e;let t=parseFloat(e);return Number.isNaN(t)?0:t}function S(e){return typeof e=="string"?e:(Number.isInteger(e),String(e))}function Z(e){if(typeof e=="number")return!0;let t=String(e).trim();return t===""?!1:!Number.isNaN(Number(t))}function D(e,t){try{return A(e).test(t)}catch{return!1}}function Ee(e,t){return t===""?[]:e.FS===" "?t.trim().split(/\s+/).filter(Boolean):e.fieldSep.split(t)}function $(e,t){return t===0?e.line:t<0||t>e.fields.length?"":e.fields[t-1]??""}function Y(e,t,n){if(t===0)e.line=S(n),e.fields=Ee(e,e.line),e.NF=e.fields.length;else if(t>0){for(;e.fields.length<t;)e.fields.push("");e.fields[t-1]=S(n),e.NF=e.fields.length,e.line=e.fields.join(e.OFS)}}function F(e,t){e.line=t,e.fields=Ee(e,t),e.NF=e.fields.length}function Ne(e,t){if(e.FS=t,t===" ")e.fieldSep=new T(/\s+/);else try{e.fieldSep=A(t)}catch{e.fieldSep=A(t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"))}}function W(e,t){switch(t){case"FS":return e.FS;case"OFS":return e.OFS;case"ORS":return e.ORS;case"OFMT":return e.OFMT;case"NR":return e.NR;case"NF":return e.NF;case"FNR":return e.FNR;case"FILENAME":return e.FILENAME;case"RSTART":return e.RSTART;case"RLENGTH":return e.RLENGTH;case"SUBSEP":return e.SUBSEP;case"ARGC":return e.ARGC}return e.vars[t]??""}function _(e,t,n){switch(t){case"FS":Ne(e,S(n));return;case"OFS":e.OFS=S(n);return;case"ORS":e.ORS=S(n);return;case"OFMT":e.OFMT=S(n);return;case"NR":e.NR=Math.floor(m(n));return;case"NF":{let i=Math.floor(m(n));if(i<e.NF)e.fields=e.fields.slice(0,i),e.line=e.fields.join(e.OFS);else if(i>e.NF){for(;e.fields.length<i;)e.fields.push("");e.line=e.fields.join(e.OFS)}e.NF=i;return}case"FNR":e.FNR=Math.floor(m(n));return;case"FILENAME":e.FILENAME=S(n);return;case"RSTART":e.RSTART=Math.floor(m(n));return;case"RLENGTH":e.RLENGTH=Math.floor(m(n));return;case"SUBSEP":e.SUBSEP=S(n);return}e.vars[t]=n}function x(e,t){let n=t,i=new Set,a=e.arrayAliases.get(n);for(;a!==void 0&&!i.has(n);)i.add(n),n=a,a=e.arrayAliases.get(n);return n}function V(e,t,n){if(t==="ARGV")return e.ARGV[n]??"";if(t==="ENVIRON")return e.ENVIRON[n]??"";let i=x(e,t);return e.arrays[i]?.[n]??""}function ee(e,t,n,i){let a=x(e,t);e.arrays[a]||(e.arrays[a]=Object.create(null)),e.arrays[a][n]=i}function Se(e,t,n){if(t==="ARGV")return e.ARGV[n]!==void 0;if(t==="ENVIRON")return e.ENVIRON[n]!==void 0;let i=x(e,t);return e.arrays[i]?.[n]!==void 0}function ye(e,t,n){let i=x(e,t);e.arrays[i]&&delete e.arrays[i][n]}function Re(e,t){let n=x(e,t);delete e.arrays[n]}var te=null;function me(e){te=e}async function d(e,t){switch(e.coverage?.hit(`awk:expr:${t.type}`),t.type){case"number":return t.value;case"string":return t.value;case"regex":return D(t.pattern,e.line)?1:0;case"field":return tt(e,t);case"variable":return W(e,t.name);case"array_access":return nt(e,t);case"binary":return rt(e,t);case"unary":return at(e,t);case"ternary":return I(await d(e,t.condition))?await d(e,t.consequent):await d(e,t.alternate);case"call":return ot(e,t.name,t.args);case"assignment":return ct(e,t);case"pre_increment":return ut(e,t.operand);case"pre_decrement":return ht(e,t.operand);case"post_increment":return pt(e,t.operand);case"post_decrement":return ft(e,t.operand);case"in":return dt(e,t.key,t.array);case"getline":return Et(e,t.variable,t.file,t.command);case"tuple":return yt(e,t.elements);default:return""}}async function tt(e,t){let n=Math.floor(m(await d(e,t.index)));return $(e,n)}async function nt(e,t){let n=S(await d(e,t.key));return V(e,t.array,n)}async function rt(e,t){let n=t.operator;if(n==="||")return I(await d(e,t.left))||I(await d(e,t.right))?1:0;if(n==="&&")return I(await d(e,t.left))&&I(await d(e,t.right))?1:0;if(n==="~"){let l=await d(e,t.left);t.right.type==="regex"&&e.coverage?.hit("awk:expr:regex");let c=t.right.type==="regex"?t.right.pattern:S(await d(e,t.right));try{return A(c).test(S(l))?1:0}catch{return 0}}if(n==="!~"){let l=await d(e,t.left);t.right.type==="regex"&&e.coverage?.hit("awk:expr:regex");let c=t.right.type==="regex"?t.right.pattern:S(await d(e,t.right));try{return A(c).test(S(l))?0:1}catch{return 1}}let i=await d(e,t.left),a=await d(e,t.right);if(n===" "){let l=S(i)+S(a);if(e.maxOutputSize>0&&l.length>e.maxOutputSize)throw new L(`awk: string concatenation size limit exceeded (${e.maxOutputSize} bytes)`,"string_length",e.output);return l}if(it(n))return st(i,a,n);let s=m(i),o=m(a);return le(s,o,n)}function it(e){return["<","<=",">",">=","==","!="].includes(e)}function st(e,t,n){let i=Z(e),a=Z(t);if(i&&a){let l=m(e),c=m(t);switch(n){case"<":return l<c?1:0;case"<=":return l<=c?1:0;case">":return l>c?1:0;case">=":return l>=c?1:0;case"==":return l===c?1:0;case"!=":return l!==c?1:0}}let s=S(e),o=S(t);switch(n){case"<":return s<o?1:0;case"<=":return s<=o?1:0;case">":return s>o?1:0;case">=":return s>=o?1:0;case"==":return s===o?1:0;case"!=":return s!==o?1:0}return 0}async function at(e,t){let n=await d(e,t.operand);switch(t.operator){case"!":return I(n)?0:1;case"-":return-m(n);case"+":return+m(n);default:return n}}async function ot(e,t,n){let i=de.get(t);if(i)return i(n,e,{evalExpr:s=>d(e,s)});let a=e.functions.get(t);return a?lt(e,a,n):""}async function lt(e,t,n){if(e.currentRecursionDepth++,e.currentRecursionDepth>e.maxRecursionDepth)throw e.currentRecursionDepth--,new L(`awk: recursion depth exceeded maximum (${e.maxRecursionDepth})`,"recursion",e.output);let i=Object.create(null);for(let o of t.params)i[o]=e.vars[o];let a=[];for(let o=0;o<t.params.length;o++){let l=t.params[o];if(o<n.length){let c=n[o];c.type==="variable"&&(e.arrayAliases.set(l,c.name),a.push(l));let N=await d(e,c);e.vars[l]=N}else e.vars[l]=""}e.hasReturn=!1,e.returnValue=void 0,te&&await te(e,t.body.statements);let s=e.returnValue??"";for(let o of t.params)i[o]!==void 0?e.vars[o]=i[o]:delete e.vars[o];for(let o of a)e.arrayAliases.delete(o);return e.hasReturn=!1,e.returnValue=void 0,e.currentRecursionDepth--,s}async function ct(e,t){let n=await d(e,t.value),i=t.target,a=t.operator,s;if(a==="=")s=n;else{let o;if(i.type==="field"){let N=Math.floor(m(await d(e,i.index)));o=$(e,N)}else if(i.type==="variable")o=W(e,i.name);else{let N=S(await d(e,i.key));o=V(e,i.array,N)}let l=m(o),c=m(n);switch(a){case"+=":s=l+c;break;case"-=":s=l-c;break;case"*=":s=l*c;break;case"/=":s=c!==0?l/c:0;break;case"%=":s=c!==0?l%c:0;break;case"^=":s=l**c;break;default:s=n}}if(i.type==="field"){let o=Math.floor(m(await d(e,i.index)));Y(e,o,s)}else if(i.type==="variable")_(e,i.name,s);else{let o=S(await d(e,i.key));ee(e,i.array,o,s)}return s}async function K(e,t,n,i){let a;if(t.type==="field"){let s=Math.floor(m(await d(e,t.index)));a=m($(e,s)),Y(e,s,a+n)}else if(t.type==="variable")a=m(W(e,t.name)),_(e,t.name,a+n);else{let s=S(await d(e,t.key));a=m(V(e,t.array,s)),ee(e,t.array,s,a+n)}return i?a+n:a}async function ut(e,t){return K(e,t,1,!0)}async function ht(e,t){return K(e,t,-1,!0)}async function pt(e,t){return K(e,t,1,!1)}async function ft(e,t){return K(e,t,-1,!1)}async function dt(e,t,n){let i;if(t.type==="tuple"){e.coverage?.hit("awk:expr:tuple");let a=[];for(let s of t.elements)a.push(S(await d(e,s)));i=a.join(e.SUBSEP)}else i=S(await d(e,t));return Se(e,n,i)?1:0}async function Et(e,t,n,i){if(i)return Nt(e,t,i);if(n)return St(e,t,n);if(!e.lines||e.lineIndex===void 0)return-1;let a=e.lineIndex+1;if(a>=e.lines.length)return 0;let s=e.lines[a];return t?_(e,t,s):F(e,s),e.NR++,e.lineIndex=a,1}async function Nt(e,t,n){if(!e.exec)return-1;let i=S(await d(e,n)),a=`__cmd_${i}`,s=`__cmdi_${i}`,o,l;if(e.vars[a]===void 0)try{o=(await e.exec(i)).stdout.split(`
5
+ `),o.length>0&&o[o.length-1]===""&&o.pop(),e.vars[a]=JSON.stringify(o),e.vars[s]=-1,l=-1}catch{return-1}else o=JSON.parse(e.vars[a]),l=e.vars[s];let c=l+1;if(c>=o.length)return 0;let N=o[c];return e.vars[s]=c,t?_(e,t,N):F(e,N),1}async function St(e,t,n){if(!e.fs||!e.cwd)return-1;let i=S(await d(e,n));if(i==="/dev/null")return 0;let a=e.fs.resolvePath(e.cwd,i),s=`__fc_${a}`,o=`__fi_${a}`,l,c;if(e.vars[s]===void 0)try{l=(await e.fs.readFile(a)).split(`
6
+ `),l.length>0&&l[l.length-1]===""&&l.pop(),e.vars[s]=JSON.stringify(l),e.vars[o]=-1,c=-1}catch{return-1}else l=JSON.parse(e.vars[s]),c=e.vars[o];let N=c+1;if(N>=l.length)return 0;let v=l[N];return e.vars[o]=N,t?_(e,t,v):F(e,v),1}async function yt(e,t){if(t.length===0)return"";for(let n=0;n<t.length-1;n++)await d(e,t[n]);return d(e,t[t.length-1])}me(G);function ne(e){if(e.maxOutputSize>0&&e.output.length>e.maxOutputSize)throw new L(`awk: output size limit exceeded (${e.maxOutputSize} bytes)`,"string_length",e.output)}async function G(e,t){for(let n of t)if(await P(e,n),Rt(e))break}function Rt(e){return e.shouldExit||e.shouldNext||e.shouldNextFile||e.loopBreak||e.loopContinue||e.hasReturn}async function P(e,t){switch(e.coverage?.hit(`awk:stmt:${t.type}`),t.type){case"block":await G(e,t.statements);break;case"expr_stmt":await d(e,t.expression);break;case"print":await mt(e,t.args,t.output);break;case"printf":await At(e,t.format,t.args,t.output);break;case"if":await gt(e,t);break;case"while":await wt(e,t);break;case"do_while":await It(e,t);break;case"for":await vt(e,t);break;case"for_in":await kt(e,t);break;case"break":e.loopBreak=!0;break;case"continue":e.loopContinue=!0;break;case"next":e.shouldNext=!0;break;case"nextfile":e.shouldNextFile=!0;break;case"exit":e.shouldExit=!0,e.exitCode=t.code?Math.floor(m(await d(e,t.code))):0;break;case"return":e.hasReturn=!0,e.returnValue=t.value?await d(e,t.value):"";break;case"delete":await Ct(e,t.target);break}}async function mt(e,t,n){let i=[];for(let s of t){let o=await d(e,s);typeof o=="number"?Number.isInteger(o)&&Math.abs(o)<Number.MAX_SAFE_INTEGER?i.push(String(o)):i.push(H(e.OFMT,[o])):i.push(S(o))}let a=i.join(e.OFS)+e.ORS;n?await Ae(e,n.redirect,n.file,a):(e.output+=a,ne(e))}async function At(e,t,n,i){let a=S(await d(e,t)),s=[];for(let l of n)s.push(await d(e,l));let o=H(a,s);i?await Ae(e,i.redirect,i.file,o):(e.output+=o,ne(e))}async function Ae(e,t,n,i){if(!e.fs||!e.cwd){e.output+=i,ne(e);return}let a=S(await d(e,n)),s=e.fs.resolvePath(e.cwd,a);t===">"?e.openedFiles.has(s)?await e.fs.appendFile(s,i):(await e.fs.writeFile(s,i),e.openedFiles.add(s)):(e.openedFiles.has(s)||e.openedFiles.add(s),await e.fs.appendFile(s,i))}async function gt(e,t){I(await d(e,t.condition))?await P(e,t.consequent):t.alternate&&await P(e,t.alternate)}async function wt(e,t){let n=0;for(;I(await d(e,t.condition));){if(n++,n>e.maxIterations)throw new L(`awk: while loop exceeded maximum iterations (${e.maxIterations})`,"iterations",e.output);if(e.loopContinue=!1,await P(e,t.body),e.loopBreak){e.loopBreak=!1;break}if(e.shouldExit||e.shouldNext||e.hasReturn)break}}async function It(e,t){let n=0;do{if(n++,n>e.maxIterations)throw new L(`awk: do-while loop exceeded maximum iterations (${e.maxIterations})`,"iterations",e.output);if(e.loopContinue=!1,await P(e,t.body),e.loopBreak){e.loopBreak=!1;break}if(e.shouldExit||e.shouldNext||e.hasReturn)break}while(I(await d(e,t.condition)))}async function vt(e,t){t.init&&await d(e,t.init);let n=0;for(;!t.condition||I(await d(e,t.condition));){if(n++,n>e.maxIterations)throw new L(`awk: for loop exceeded maximum iterations (${e.maxIterations})`,"iterations",e.output);if(e.loopContinue=!1,await P(e,t.body),e.loopBreak){e.loopBreak=!1;break}if(e.shouldExit||e.shouldNext||e.hasReturn)break;t.update&&await d(e,t.update)}}async function kt(e,t){let n=e.arrays[t.array];if(n)for(let i of Object.keys(n)){if(e.vars[t.variable]=i,e.loopContinue=!1,await P(e,t.body),e.loopBreak){e.loopBreak=!1;break}if(e.shouldExit||e.shouldNext||e.hasReturn)break}}async function Ct(e,t){if(t.type==="array_access"){let n=S(await d(e,t.key));ye(e,t.array,n)}else t.type==="variable"&&Re(e,t.name)}var U=class{ctx;program=null;rangeStates=[];constructor(t){this.ctx=t}execute(t){this.program=t,this.ctx.output="";for(let n of t.functions)this.ctx.functions.set(n.name,n);this.rangeStates=t.rules.map(()=>!1)}async executeBegin(){if(this.program){for(let t of this.program.rules)if(t.pattern?.type==="begin"&&(await G(this.ctx,t.action.statements),this.ctx.shouldExit))break}}async executeLine(t){if(!(!this.program||this.ctx.shouldExit)){F(this.ctx,t),this.ctx.NR++,this.ctx.FNR++,this.ctx.shouldNext=!1;for(let n=0;n<this.program.rules.length&&!(this.ctx.shouldExit||this.ctx.shouldNext||this.ctx.shouldNextFile);n++){let i=this.program.rules[n];i.pattern?.type==="begin"||i.pattern?.type==="end"||await this.matchesRule(i,n)&&await G(this.ctx,i.action.statements)}}}async executeEnd(){if(this.program&&!this.ctx.inEndBlock){this.ctx.inEndBlock=!0,this.ctx.shouldExit=!1;for(let t of this.program.rules)if(t.pattern?.type==="end"&&(await G(this.ctx,t.action.statements),this.ctx.shouldExit))break;this.ctx.inEndBlock=!1}}getOutput(){return this.ctx.output}getExitCode(){return this.ctx.exitCode}getContext(){return this.ctx}async matchesRule(t,n){let i=t.pattern;if(!i)return!0;switch(i.type){case"begin":case"end":return!1;case"regex_pattern":return D(i.pattern,this.ctx.line);case"expr_pattern":return I(await d(this.ctx,i.expression));case"range":{let a=await this.matchPattern(i.start),s=await this.matchPattern(i.end);return this.rangeStates[n]?(s&&(this.rangeStates[n]=!1),!0):a?(this.rangeStates[n]=!0,s&&(this.rangeStates[n]=!1),!0):!1}default:return!1}}async matchPattern(t){switch(t.type){case"regex_pattern":return D(t.pattern,this.ctx.line);case"expr_pattern":return I(await d(this.ctx,t.expression));default:return!1}}};var r;(function(e){e.NUMBER="NUMBER",e.STRING="STRING",e.REGEX="REGEX",e.IDENT="IDENT",e.BEGIN="BEGIN",e.END="END",e.IF="IF",e.ELSE="ELSE",e.WHILE="WHILE",e.DO="DO",e.FOR="FOR",e.IN="IN",e.BREAK="BREAK",e.CONTINUE="CONTINUE",e.NEXT="NEXT",e.NEXTFILE="NEXTFILE",e.EXIT="EXIT",e.RETURN="RETURN",e.DELETE="DELETE",e.FUNCTION="FUNCTION",e.PRINT="PRINT",e.PRINTF="PRINTF",e.GETLINE="GETLINE",e.PLUS="PLUS",e.MINUS="MINUS",e.STAR="STAR",e.SLASH="SLASH",e.PERCENT="PERCENT",e.CARET="CARET",e.EQ="EQ",e.NE="NE",e.LT="LT",e.GT="GT",e.LE="LE",e.GE="GE",e.MATCH="MATCH",e.NOT_MATCH="NOT_MATCH",e.AND="AND",e.OR="OR",e.NOT="NOT",e.ASSIGN="ASSIGN",e.PLUS_ASSIGN="PLUS_ASSIGN",e.MINUS_ASSIGN="MINUS_ASSIGN",e.STAR_ASSIGN="STAR_ASSIGN",e.SLASH_ASSIGN="SLASH_ASSIGN",e.PERCENT_ASSIGN="PERCENT_ASSIGN",e.CARET_ASSIGN="CARET_ASSIGN",e.INCREMENT="INCREMENT",e.DECREMENT="DECREMENT",e.QUESTION="QUESTION",e.COLON="COLON",e.COMMA="COMMA",e.SEMICOLON="SEMICOLON",e.NEWLINE="NEWLINE",e.LPAREN="LPAREN",e.RPAREN="RPAREN",e.LBRACE="LBRACE",e.RBRACE="RBRACE",e.LBRACKET="LBRACKET",e.RBRACKET="RBRACKET",e.DOLLAR="DOLLAR",e.APPEND="APPEND",e.PIPE="PIPE",e.EOF="EOF"})(r||(r={}));var Ot=new Map([["BEGIN",r.BEGIN],["END",r.END],["if",r.IF],["else",r.ELSE],["while",r.WHILE],["do",r.DO],["for",r.FOR],["in",r.IN],["break",r.BREAK],["continue",r.CONTINUE],["next",r.NEXT],["nextfile",r.NEXTFILE],["exit",r.EXIT],["return",r.RETURN],["delete",r.DELETE],["function",r.FUNCTION],["print",r.PRINT],["printf",r.PRINTF],["getline",r.GETLINE]]);function bt(e){return e.replace(/\[\[:space:\]\]/g,"[ \\t\\n\\r\\f\\v]").replace(/\[\[:blank:\]\]/g,"[ \\t]").replace(/\[\[:alpha:\]\]/g,"[a-zA-Z]").replace(/\[\[:digit:\]\]/g,"[0-9]").replace(/\[\[:alnum:\]\]/g,"[a-zA-Z0-9]").replace(/\[\[:upper:\]\]/g,"[A-Z]").replace(/\[\[:lower:\]\]/g,"[a-z]").replace(/\[\[:punct:\]\]/g,"[!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~]").replace(/\[\[:xdigit:\]\]/g,"[0-9A-Fa-f]").replace(/\[\[:graph:\]\]/g,"[!-~]").replace(/\[\[:print:\]\]/g,"[ -~]").replace(/\[\[:cntrl:\]\]/g,"[\\x00-\\x1f\\x7f]")}var X=class{input;pos=0;line=1;column=1;lastTokenType=null;constructor(t){this.input=t}tokenize(){let t=[];for(;this.pos<this.input.length;){let n=this.nextToken();n&&(t.push(n),this.lastTokenType=n.type)}return t.push(this.makeToken(r.EOF,"")),t}makeToken(t,n){return{type:t,value:n,line:this.line,column:this.column}}peek(t=0){return this.input[this.pos+t]||""}advance(){let t=this.input[this.pos++]||"";return t===`
7
7
  `?(this.line++,this.column=1):this.column++,t}skipWhitespace(){for(;this.pos<this.input.length;){let t=this.peek();if(t===" "||t===" "||t==="\r")this.advance();else if(t==="\\")if(this.peek(1)===`
8
8
  `)this.advance(),this.advance();else break;else if(t==="#")for(;this.pos<this.input.length&&this.peek()!==`
9
9
  `;)this.advance();else break}}nextToken(){if(this.skipWhitespace(),this.pos>=this.input.length)return null;let t=this.line,n=this.column,i=this.peek();return i===`
10
10
  `?(this.advance(),{type:r.NEWLINE,value:`
11
11
  `,line:t,column:n}):i==='"'?this.readString():i==="/"&&this.canBeRegex()?this.readRegex():this.isDigit(i)||i==="."&&this.isDigit(this.peek(1))?this.readNumber():this.isAlpha(i)||i==="_"?this.readIdentifier():this.readOperator()}canBeRegex(){return new Set([null,r.NEWLINE,r.SEMICOLON,r.LBRACE,r.RBRACE,r.LPAREN,r.LBRACKET,r.COMMA,r.ASSIGN,r.PLUS_ASSIGN,r.MINUS_ASSIGN,r.STAR_ASSIGN,r.SLASH_ASSIGN,r.PERCENT_ASSIGN,r.CARET_ASSIGN,r.AND,r.OR,r.NOT,r.MATCH,r.NOT_MATCH,r.QUESTION,r.COLON,r.LT,r.GT,r.LE,r.GE,r.EQ,r.NE,r.PLUS,r.MINUS,r.STAR,r.PERCENT,r.CARET,r.PRINT,r.PRINTF,r.IF,r.WHILE,r.DO,r.FOR,r.RETURN]).has(this.lastTokenType)}readString(){let t=this.line,n=this.column;this.advance();let i="";for(;this.pos<this.input.length&&this.peek()!=='"';)if(this.peek()==="\\"){this.advance();let a=this.advance();switch(a){case"n":i+=`
12
12
  `;break;case"t":i+=" ";break;case"r":i+="\r";break;case"f":i+="\f";break;case"b":i+="\b";break;case"v":i+="\v";break;case"a":i+="\x07";break;case"\\":i+="\\";break;case'"':i+='"';break;case"/":i+="/";break;case"x":{let s="";for(;s.length<2&&/[0-9a-fA-F]/.test(this.peek());)s+=this.advance();s.length>0?i+=String.fromCharCode(parseInt(s,16)):i+="x";break}default:if(/[0-7]/.test(a)){let s=a;for(;s.length<3&&/[0-7]/.test(this.peek());)s+=this.advance();i+=String.fromCharCode(parseInt(s,8))}else i+=a}}else i+=this.advance();return this.peek()==='"'&&this.advance(),{type:r.STRING,value:i,line:t,column:n}}readRegex(){let t=this.line,n=this.column;this.advance();let i="";for(;this.pos<this.input.length&&this.peek()!=="/";)if(this.peek()==="\\")i+=this.advance(),this.pos<this.input.length&&(i+=this.advance());else{if(this.peek()===`
13
- `)break;i+=this.advance()}return this.peek()==="/"&&this.advance(),i=Ot(i),{type:r.REGEX,value:i,line:t,column:n}}readNumber(){let t=this.line,n=this.column,i="";for(;this.isDigit(this.peek());)i+=this.advance();if(this.peek()==="."&&this.isDigit(this.peek(1)))for(i+=this.advance();this.isDigit(this.peek());)i+=this.advance();if(this.peek()==="e"||this.peek()==="E")for(i+=this.advance(),(this.peek()==="+"||this.peek()==="-")&&(i+=this.advance());this.isDigit(this.peek());)i+=this.advance();return{type:r.NUMBER,value:parseFloat(i),line:t,column:n}}readIdentifier(){let t=this.line,n=this.column,i="";for(;this.isAlphaNumeric(this.peek())||this.peek()==="_";)i+=this.advance();let a=Ct.get(i);return a!==void 0?{type:a,value:i,line:t,column:n}:{type:r.IDENT,value:i,line:t,column:n}}readOperator(){let t=this.line,n=this.column,i=this.advance(),a=this.peek();switch(i){case"+":return a==="+"?(this.advance(),{type:r.INCREMENT,value:"++",line:t,column:n}):a==="="?(this.advance(),{type:r.PLUS_ASSIGN,value:"+=",line:t,column:n}):{type:r.PLUS,value:"+",line:t,column:n};case"-":return a==="-"?(this.advance(),{type:r.DECREMENT,value:"--",line:t,column:n}):a==="="?(this.advance(),{type:r.MINUS_ASSIGN,value:"-=",line:t,column:n}):{type:r.MINUS,value:"-",line:t,column:n};case"*":return a==="*"?(this.advance(),{type:r.CARET,value:"**",line:t,column:n}):a==="="?(this.advance(),{type:r.STAR_ASSIGN,value:"*=",line:t,column:n}):{type:r.STAR,value:"*",line:t,column:n};case"/":return a==="="?(this.advance(),{type:r.SLASH_ASSIGN,value:"/=",line:t,column:n}):{type:r.SLASH,value:"/",line:t,column:n};case"%":return a==="="?(this.advance(),{type:r.PERCENT_ASSIGN,value:"%=",line:t,column:n}):{type:r.PERCENT,value:"%",line:t,column:n};case"^":return a==="="?(this.advance(),{type:r.CARET_ASSIGN,value:"^=",line:t,column:n}):{type:r.CARET,value:"^",line:t,column:n};case"=":return a==="="?(this.advance(),{type:r.EQ,value:"==",line:t,column:n}):{type:r.ASSIGN,value:"=",line:t,column:n};case"!":return a==="="?(this.advance(),{type:r.NE,value:"!=",line:t,column:n}):a==="~"?(this.advance(),{type:r.NOT_MATCH,value:"!~",line:t,column:n}):{type:r.NOT,value:"!",line:t,column:n};case"<":return a==="="?(this.advance(),{type:r.LE,value:"<=",line:t,column:n}):{type:r.LT,value:"<",line:t,column:n};case">":return a==="="?(this.advance(),{type:r.GE,value:">=",line:t,column:n}):a===">"?(this.advance(),{type:r.APPEND,value:">>",line:t,column:n}):{type:r.GT,value:">",line:t,column:n};case"&":return a==="&"?(this.advance(),{type:r.AND,value:"&&",line:t,column:n}):{type:r.IDENT,value:"&",line:t,column:n};case"|":return a==="|"?(this.advance(),{type:r.OR,value:"||",line:t,column:n}):{type:r.PIPE,value:"|",line:t,column:n};case"~":return{type:r.MATCH,value:"~",line:t,column:n};case"?":return{type:r.QUESTION,value:"?",line:t,column:n};case":":return{type:r.COLON,value:":",line:t,column:n};case",":return{type:r.COMMA,value:",",line:t,column:n};case";":return{type:r.SEMICOLON,value:";",line:t,column:n};case"(":return{type:r.LPAREN,value:"(",line:t,column:n};case")":return{type:r.RPAREN,value:")",line:t,column:n};case"{":return{type:r.LBRACE,value:"{",line:t,column:n};case"}":return{type:r.RBRACE,value:"}",line:t,column:n};case"[":return{type:r.LBRACKET,value:"[",line:t,column:n};case"]":return{type:r.RBRACKET,value:"]",line:t,column:n};case"$":return{type:r.DOLLAR,value:"$",line:t,column:n};default:return{type:r.IDENT,value:i,line:t,column:n}}}isDigit(t){return t>="0"&&t<="9"}isAlpha(t){return t>="a"&&t<="z"||t>="A"&&t<="Z"}isAlphaNumeric(t){return this.isDigit(t)||this.isAlpha(t)}};var h={LPAREN:"LPAREN",RPAREN:"RPAREN",QUESTION:"QUESTION",NEWLINE:"NEWLINE",SEMICOLON:"SEMICOLON",RBRACE:"RBRACE",COMMA:"COMMA",PIPE:"PIPE",GT:"GT",APPEND:"APPEND",AND:"AND",OR:"OR",ASSIGN:"ASSIGN",PLUS_ASSIGN:"PLUS_ASSIGN",MINUS_ASSIGN:"MINUS_ASSIGN",STAR_ASSIGN:"STAR_ASSIGN",SLASH_ASSIGN:"SLASH_ASSIGN",PERCENT_ASSIGN:"PERCENT_ASSIGN",CARET_ASSIGN:"CARET_ASSIGN",RBRACKET:"RBRACKET",COLON:"COLON",IN:"IN",PRINT:"PRINT",PRINTF:"PRINTF",IDENT:"IDENT",LT:"LT",LE:"LE",GE:"GE",EQ:"EQ",NE:"NE",MATCH:"MATCH",NOT_MATCH:"NOT_MATCH",NUMBER:"NUMBER",STRING:"STRING",DOLLAR:"DOLLAR",NOT:"NOT",MINUS:"MINUS",PLUS:"PLUS",INCREMENT:"INCREMENT",DECREMENT:"DECREMENT"};function ke(e){e.expect(h.PRINT);let t=[];if(e.check(h.NEWLINE)||e.check(h.SEMICOLON)||e.check(h.RBRACE)||e.check(h.PIPE)||e.check(h.GT)||e.check(h.APPEND))t.push({type:"field",index:{type:"number",value:0}});else for(t.push(X(e));e.check(h.COMMA);)e.advance(),t.push(X(e));let n;return e.check(h.GT)?(e.advance(),n={redirect:">",file:e.parsePrimary()}):e.check(h.APPEND)&&(e.advance(),n={redirect:">>",file:e.parsePrimary()}),{type:"print",args:t,output:n}}function X(e){return bt(e)?ne(e,!0):ne(e,!1)}function ne(e,t){let n=t?e.parseTernary():Lt(e);if(e.match(h.ASSIGN,h.PLUS_ASSIGN,h.MINUS_ASSIGN,h.STAR_ASSIGN,h.SLASH_ASSIGN,h.PERCENT_ASSIGN,h.CARET_ASSIGN)){let i=e.advance(),a=ne(e,t);if(n.type!=="variable"&&n.type!=="field"&&n.type!=="array_access")throw new Error("Invalid assignment target");return{type:"assignment",operator:new Map([["=","="],["+=","+="],["-=","-="],["*=","*="],["/=","/="],["%=","%="],["^=","^="]]).get(i.value)??"=",target:n,value:a}}return n}function bt(e){let t=0,n=e.pos;for(;n<e.tokens.length;){let i=e.tokens[n];if(i.type===h.LPAREN&&t++,i.type===h.RPAREN&&t--,i.type===h.QUESTION&&t===0)return!0;if(i.type===h.NEWLINE||i.type===h.SEMICOLON||i.type===h.RBRACE||i.type===h.COMMA||i.type===h.PIPE)return!1;n++}return!1}function Lt(e){let t=we(e);for(;e.check(h.OR);){e.advance();let n=we(e);t={type:"binary",operator:"||",left:t,right:n}}return t}function we(e){let t=ge(e);for(;e.check(h.AND);){e.advance();let n=ge(e);t={type:"binary",operator:"&&",left:t,right:n}}return t}function ge(e){let t=Mt(e);if(e.check(h.IN)){e.advance();let n=String(e.expect(h.IDENT).value);return{type:"in",key:t,array:n}}return t}function Mt(e){let t=Ie(e);for(;Pt(e)&&!Tt(e);){let n=Ie(e);t={type:"binary",operator:" ",left:t,right:n}}return t}function Ie(e){let t=ve(e);for(;e.match(h.MATCH,h.NOT_MATCH);){let n=e.advance().type===h.MATCH?"~":"!~",i=ve(e);t={type:"binary",operator:n,left:t,right:i}}return t}function ve(e){let t=e.parseAddSub();for(;e.match(h.LT,h.LE,h.GE,h.EQ,h.NE);){let n=e.advance(),i=e.parseAddSub();t={type:"binary",operator:new Map([["<","<"],["<=","<="],[">=",">="],["==","=="],["!=","!="]]).get(n.value)??"==",left:t,right:i}}return t}function Pt(e){return e.match(h.NUMBER,h.STRING,h.IDENT,h.DOLLAR,h.LPAREN,h.NOT,h.MINUS,h.PLUS,h.INCREMENT,h.DECREMENT)}function Tt(e){return e.match(h.AND,h.OR,h.QUESTION,h.ASSIGN,h.PLUS_ASSIGN,h.MINUS_ASSIGN,h.STAR_ASSIGN,h.SLASH_ASSIGN,h.PERCENT_ASSIGN,h.CARET_ASSIGN,h.COMMA,h.SEMICOLON,h.NEWLINE,h.RBRACE,h.RPAREN,h.RBRACKET,h.COLON,h.PIPE,h.APPEND,h.GT,h.IN)}function Ce(e){e.expect(h.PRINTF);let t=e.check(h.LPAREN);t&&(e.advance(),e.skipNewlines());let n=t?e.parseExpression():X(e),i=[];for(;e.check(h.COMMA);)e.advance(),t&&e.skipNewlines(),i.push(t?e.parseExpression():X(e));t&&(e.skipNewlines(),e.expect(h.RPAREN));let a;return e.check(h.GT)?(e.advance(),a={redirect:">",file:e.parsePrimary()}):e.check(h.APPEND)&&(e.advance(),a={redirect:">>",file:e.parsePrimary()}),{type:"printf",format:n,args:i,output:a}}var j=class{tokens=[];pos=0;parse(t){let n=new K(t);return this.tokens=n.tokenize(),this.pos=0,this.parseProgram()}setPos(t){this.pos=t}current(){return this.tokens[this.pos]||{type:r.EOF,value:"",line:0,column:0}}advance(){let t=this.current();return this.pos<this.tokens.length&&this.pos++,t}match(...t){return t.includes(this.current().type)}check(t){return this.current().type===t}expect(t,n){if(!this.check(t)){let i=this.current();throw new Error(n||`Expected ${t}, got ${i.type} at line ${i.line}:${i.column}`)}return this.advance()}skipNewlines(){for(;this.check(r.NEWLINE);)this.advance()}skipTerminators(){for(;this.check(r.NEWLINE)||this.check(r.SEMICOLON);)this.advance()}parseProgram(){let t=[],n=[];for(this.skipNewlines();!this.check(r.EOF)&&(this.skipNewlines(),!this.check(r.EOF));)this.check(r.FUNCTION)?t.push(this.parseFunction()):n.push(this.parseRule()),this.skipTerminators();return{functions:t,rules:n}}parseFunction(){this.expect(r.FUNCTION);let t=this.expect(r.IDENT).value;this.expect(r.LPAREN);let n=[];if(!this.check(r.RPAREN))for(n.push(this.expect(r.IDENT).value);this.check(r.COMMA);)this.advance(),n.push(this.expect(r.IDENT).value);this.expect(r.RPAREN),this.skipNewlines();let i=this.parseBlock();return{name:t,params:n,body:i}}parseRule(){let t;if(this.check(r.BEGIN))this.advance(),t={type:"begin"};else if(this.check(r.END))this.advance(),t={type:"end"};else if(this.check(r.LBRACE))t=void 0;else if(this.check(r.REGEX)){let i=this.advance();if(this.check(r.AND)||this.check(r.OR)){let a={type:"binary",operator:"~",left:{type:"field",index:{type:"number",value:0}},right:{type:"regex",pattern:i.value}};t={type:"expr_pattern",expression:this.parseLogicalOrRest(a)}}else{let a={type:"regex_pattern",pattern:i.value};if(this.check(r.COMMA)){this.advance();let s;this.check(r.REGEX)?s={type:"regex_pattern",pattern:this.advance().value}:s={type:"expr_pattern",expression:this.parseExpression()},t={type:"range",start:a,end:s}}else t=a}}else{let a={type:"expr_pattern",expression:this.parseExpression()};if(this.check(r.COMMA)){this.advance();let s;this.check(r.REGEX)?s={type:"regex_pattern",pattern:this.advance().value}:s={type:"expr_pattern",expression:this.parseExpression()},t={type:"range",start:a,end:s}}else t=a}this.skipNewlines();let n;return this.check(r.LBRACE)?n=this.parseBlock():n={type:"block",statements:[{type:"print",args:[{type:"field",index:{type:"number",value:0}}]}]},{pattern:t,action:n}}parseBlock(){this.expect(r.LBRACE),this.skipNewlines();let t=[];for(;!this.check(r.RBRACE)&&!this.check(r.EOF);)t.push(this.parseStatement()),this.skipTerminators();return this.expect(r.RBRACE),{type:"block",statements:t}}parseStatement(){if(this.check(r.SEMICOLON)||this.check(r.NEWLINE))return this.advance(),{type:"block",statements:[]};if(this.check(r.LBRACE))return this.parseBlock();if(this.check(r.IF))return this.parseIf();if(this.check(r.WHILE))return this.parseWhile();if(this.check(r.DO))return this.parseDoWhile();if(this.check(r.FOR))return this.parseFor();if(this.check(r.BREAK))return this.advance(),{type:"break"};if(this.check(r.CONTINUE))return this.advance(),{type:"continue"};if(this.check(r.NEXT))return this.advance(),{type:"next"};if(this.check(r.NEXTFILE))return this.advance(),{type:"nextfile"};if(this.check(r.EXIT)){this.advance();let n;return!this.check(r.NEWLINE)&&!this.check(r.SEMICOLON)&&!this.check(r.RBRACE)&&!this.check(r.EOF)&&(n=this.parseExpression()),{type:"exit",code:n}}if(this.check(r.RETURN)){this.advance();let n;return!this.check(r.NEWLINE)&&!this.check(r.SEMICOLON)&&!this.check(r.RBRACE)&&!this.check(r.EOF)&&(n=this.parseExpression()),{type:"return",value:n}}if(this.check(r.DELETE)){this.advance();let n=this.parsePrimary();if(n.type!=="array_access"&&n.type!=="variable")throw new Error("delete requires array element or array");return{type:"delete",target:n}}return this.check(r.PRINT)?ke(this):this.check(r.PRINTF)?Ce(this):{type:"expr_stmt",expression:this.parseExpression()}}parseIf(){this.expect(r.IF),this.expect(r.LPAREN);let t=this.parseExpression();this.expect(r.RPAREN),this.skipNewlines();let n=this.parseStatement();this.skipTerminators();let i;return this.check(r.ELSE)&&(this.advance(),this.skipNewlines(),i=this.parseStatement()),{type:"if",condition:t,consequent:n,alternate:i}}parseWhile(){this.expect(r.WHILE),this.expect(r.LPAREN);let t=this.parseExpression();this.expect(r.RPAREN),this.skipNewlines();let n=this.parseStatement();return{type:"while",condition:t,body:n}}parseDoWhile(){this.expect(r.DO),this.skipNewlines();let t=this.parseStatement();this.skipNewlines(),this.expect(r.WHILE),this.expect(r.LPAREN);let n=this.parseExpression();return this.expect(r.RPAREN),{type:"do_while",body:t,condition:n}}parseFor(){if(this.expect(r.FOR),this.expect(r.LPAREN),this.check(r.IDENT)){let s=this.advance();if(this.check(r.IN)){this.advance();let o=this.expect(r.IDENT).value;this.expect(r.RPAREN),this.skipNewlines();let c=this.parseStatement();return{type:"for_in",variable:s.value,array:o,body:c}}this.pos--}let t;this.check(r.SEMICOLON)||(t=this.parseExpression()),this.expect(r.SEMICOLON);let n;this.check(r.SEMICOLON)||(n=this.parseExpression()),this.expect(r.SEMICOLON);let i;this.check(r.RPAREN)||(i=this.parseExpression()),this.expect(r.RPAREN),this.skipNewlines();let a=this.parseStatement();return{type:"for",init:t,condition:n,update:i,body:a}}parseExpression(){return this.parseAssignment()}parseAssignment(){let t=this.parseTernary();if(this.match(r.ASSIGN,r.PLUS_ASSIGN,r.MINUS_ASSIGN,r.STAR_ASSIGN,r.SLASH_ASSIGN,r.PERCENT_ASSIGN,r.CARET_ASSIGN)){let n=this.advance(),i=this.parseAssignment();if(t.type!=="variable"&&t.type!=="field"&&t.type!=="array_access")throw new Error("Invalid assignment target");return{type:"assignment",operator:{"=":"=","+=":"+=","-=":"-=","*=":"*=","/=":"/=","%=":"%=","^=":"^="}[n.value],target:t,value:i}}return t}parseTernary(){let t=this.parsePipeGetline();if(this.check(r.QUESTION)){this.advance();let n=this.parseExpression();this.expect(r.COLON);let i=this.parseExpression();t={type:"ternary",condition:t,consequent:n,alternate:i}}return t}parsePipeGetline(){let t=this.parseOr();if(this.check(r.PIPE)){if(this.advance(),!this.check(r.GETLINE))throw new Error("Expected 'getline' after '|' in expression context");this.advance();let n;return this.check(r.IDENT)&&(n=this.advance().value),{type:"getline",command:t,variable:n}}return t}parseOr(){let t=this.parseAnd();for(;this.check(r.OR);){this.advance();let n=this.parseAnd();t={type:"binary",operator:"||",left:t,right:n}}return t}parseLogicalOrRest(t){for(t=this.parseLogicalAndRest(t);this.check(r.OR);){this.advance();let n=this.parseAnd();t={type:"binary",operator:"||",left:t,right:n}}return t}parseLogicalAndRest(t){for(;this.check(r.AND);){this.advance();let n=this.parseIn();t={type:"binary",operator:"&&",left:t,right:n}}return t}parseAnd(){let t=this.parseIn();for(;this.check(r.AND);){this.advance();let n=this.parseIn();t={type:"binary",operator:"&&",left:t,right:n}}return t}parseIn(){let t=this.parseConcatenation();if(this.check(r.IN)){this.advance();let n=this.expect(r.IDENT).value;return{type:"in",key:t,array:n}}return t}parseConcatenation(){let t=this.parseMatch();for(;this.canStartExpression()&&!this.isConcatTerminator();){let n=this.parseMatch();t={type:"binary",operator:" ",left:t,right:n}}return t}parseMatch(){let t=this.parseComparison();for(;this.match(r.MATCH,r.NOT_MATCH);){let n=this.advance().type===r.MATCH?"~":"!~",i=this.parseComparison();t={type:"binary",operator:n,left:t,right:i}}return t}parseComparison(){let t=this.parseAddSub();for(;this.match(r.LT,r.LE,r.GT,r.GE,r.EQ,r.NE);){let n=this.advance(),i=this.parseAddSub();t={type:"binary",operator:new Map([["<","<"],["<=","<="],[">",">"],[">=",">="],["==","=="],["!=","!="]]).get(n.value)??"==",left:t,right:i}}return t}canStartExpression(){return this.match(r.NUMBER,r.STRING,r.IDENT,r.DOLLAR,r.LPAREN,r.NOT,r.MINUS,r.PLUS,r.INCREMENT,r.DECREMENT)}isConcatTerminator(){return this.match(r.AND,r.OR,r.QUESTION,r.ASSIGN,r.PLUS_ASSIGN,r.MINUS_ASSIGN,r.STAR_ASSIGN,r.SLASH_ASSIGN,r.PERCENT_ASSIGN,r.CARET_ASSIGN,r.COMMA,r.SEMICOLON,r.NEWLINE,r.RBRACE,r.RPAREN,r.RBRACKET,r.COLON,r.PIPE,r.APPEND,r.IN)}parseAddSub(){let t=this.parseMulDiv();for(;this.match(r.PLUS,r.MINUS);){let n=this.advance().value,i=this.parseMulDiv();t={type:"binary",operator:n,left:t,right:i}}return t}parseMulDiv(){let t=this.parseUnary();for(;this.match(r.STAR,r.SLASH,r.PERCENT);){let n=this.advance(),i=this.parseUnary();t={type:"binary",operator:new Map([["*","*"],["/","/"],["%","%"]]).get(n.value)??"*",left:t,right:i}}return t}parseUnary(){if(this.check(r.INCREMENT)){this.advance();let t=this.parseUnary();return t.type!=="variable"&&t.type!=="field"&&t.type!=="array_access"?{type:"unary",operator:"+",operand:{type:"unary",operator:"+",operand:t}}:{type:"pre_increment",operand:t}}if(this.check(r.DECREMENT)){this.advance();let t=this.parseUnary();return t.type!=="variable"&&t.type!=="field"&&t.type!=="array_access"?{type:"unary",operator:"-",operand:{type:"unary",operator:"-",operand:t}}:{type:"pre_decrement",operand:t}}if(this.match(r.NOT,r.MINUS,r.PLUS)){let t=this.advance().value,n=this.parseUnary();return{type:"unary",operator:t,operand:n}}return this.parsePower()}parsePower(){let t=this.parsePostfix();if(this.check(r.CARET)){this.advance();let n=this.parsePower();t={type:"binary",operator:"^",left:t,right:n}}return t}parsePostfix(){let t=this.parsePrimary();if(this.check(r.INCREMENT)){if(this.advance(),t.type!=="variable"&&t.type!=="field"&&t.type!=="array_access")throw new Error("Invalid increment operand");return{type:"post_increment",operand:t}}if(this.check(r.DECREMENT)){if(this.advance(),t.type!=="variable"&&t.type!=="field"&&t.type!=="array_access")throw new Error("Invalid decrement operand");return{type:"post_decrement",operand:t}}return t}parseFieldIndex(){if(this.check(r.INCREMENT)){this.advance();let t=this.parseFieldIndex();return t.type!=="variable"&&t.type!=="field"&&t.type!=="array_access"?{type:"unary",operator:"+",operand:{type:"unary",operator:"+",operand:t}}:{type:"pre_increment",operand:t}}if(this.check(r.DECREMENT)){this.advance();let t=this.parseFieldIndex();return t.type!=="variable"&&t.type!=="field"&&t.type!=="array_access"?{type:"unary",operator:"-",operand:{type:"unary",operator:"-",operand:t}}:{type:"pre_decrement",operand:t}}if(this.match(r.NOT,r.MINUS,r.PLUS)){let t=this.advance().value,n=this.parseFieldIndex();return{type:"unary",operator:t,operand:n}}return this.parseFieldIndexPower()}parseFieldIndexPower(){let t=this.parseFieldIndexPrimary();if(this.check(r.CARET)){this.advance();let n=this.parseFieldIndexPower();t={type:"binary",operator:"^",left:t,right:n}}return t}parseFieldIndexPrimary(){if(this.check(r.NUMBER))return{type:"number",value:this.advance().value};if(this.check(r.STRING))return{type:"string",value:this.advance().value};if(this.check(r.DOLLAR))return this.advance(),{type:"field",index:this.parseFieldIndex()};if(this.check(r.LPAREN)){this.advance();let t=this.parseExpression();return this.expect(r.RPAREN),t}if(this.check(r.IDENT)){let t=this.advance().value;if(this.check(r.LPAREN)){this.advance();let n=[];if(!this.check(r.RPAREN))for(n.push(this.parseExpression());this.check(r.COMMA);)this.advance(),n.push(this.parseExpression());return this.expect(r.RPAREN),{type:"call",name:t,args:n}}if(this.check(r.LBRACKET)){this.advance();let n=this.parseExpression();if(this.check(r.COMMA)){let i=[n];for(;this.check(r.COMMA);)this.advance(),i.push(this.parseExpression());this.expect(r.RBRACKET);let a=i.reduce((s,o)=>({type:"binary",operator:" ",left:{type:"binary",operator:" ",left:s,right:{type:"variable",name:"SUBSEP"}},right:o}));return{type:"array_access",array:t,key:a}}return this.expect(r.RBRACKET),{type:"array_access",array:t,key:n}}return{type:"variable",name:t}}throw new Error(`Unexpected token in field index: ${this.current().type} at line ${this.current().line}:${this.current().column}`)}parsePrimary(){if(this.check(r.NUMBER))return{type:"number",value:this.advance().value};if(this.check(r.STRING))return{type:"string",value:this.advance().value};if(this.check(r.REGEX))return{type:"regex",pattern:this.advance().value};if(this.check(r.DOLLAR))return this.advance(),{type:"field",index:this.parseFieldIndex()};if(this.check(r.LPAREN)){this.advance();let t=this.parseExpression();if(this.check(r.COMMA)){let n=[t];for(;this.check(r.COMMA);)this.advance(),n.push(this.parseExpression());return this.expect(r.RPAREN),{type:"tuple",elements:n}}return this.expect(r.RPAREN),t}if(this.check(r.GETLINE)){this.advance();let t,n;return this.check(r.IDENT)&&(t=this.advance().value),this.check(r.LT)&&(this.advance(),n=this.parsePrimary()),{type:"getline",variable:t,file:n}}if(this.check(r.IDENT)){let t=this.advance().value;if(this.check(r.LPAREN)){this.advance();let n=[];if(this.skipNewlines(),!this.check(r.RPAREN))for(n.push(this.parseExpression());this.check(r.COMMA);)this.advance(),this.skipNewlines(),n.push(this.parseExpression());return this.skipNewlines(),this.expect(r.RPAREN),{type:"call",name:t,args:n}}if(this.check(r.LBRACKET)){this.advance();let n=[this.parseExpression()];for(;this.check(r.COMMA);)this.advance(),n.push(this.parseExpression());this.expect(r.RBRACKET);let i;if(n.length===1)i=n[0];else{i=n[0];for(let a=1;a<n.length;a++)i={type:"binary",operator:" ",left:{type:"binary",operator:" ",left:i,right:{type:"variable",name:"SUBSEP"}},right:n[a]}}return{type:"array_access",array:t,key:i}}return{type:"variable",name:t}}throw new Error(`Unexpected token: ${this.current().type} at line ${this.current().line}:${this.current().column}`)}};var Ft={name:"awk",summary:"pattern scanning and text processing language",usage:"awk [OPTIONS] 'PROGRAM' [FILE...]",options:["-F FS use FS as field separator","-v VAR=VAL assign VAL to variable VAR"," --help display this help and exit"]},On={name:"awk",async execute(e,t){if(ae(e))return se(Ft);let n=new P(/\s+/),i=" ",a=Object.create(null),s=0;for(let l=0;l<e.length;l++){let p=e[l];if(p==="-F"&&l+1<e.length)i=re(e[++l]),n=Oe(i),s=l+1;else if(p.startsWith("-F"))i=re(p.slice(2)),n=Oe(i),s=l+1;else if(p==="-v"&&l+1<e.length){let E=e[++l],d=E.indexOf("=");if(d>0){let R=E.slice(0,d),b=re(E.slice(d+1));a[R]=b}s=l+1}else{if(p.startsWith("--"))return z("awk",p);if(p.startsWith("-")&&p.length>1){let E=p[1];if(E!=="F"&&E!=="v")return z("awk",`-${E}`);s=l+1}else if(!p.startsWith("-")){s=l;break}}}if(s>=e.length)return{stdout:"",stderr:`awk: missing program
14
- `,exitCode:1};let o=e[s],c=e.slice(s+1),u=new j,N;try{N=u.parse(o)}catch(l){return{stdout:"",stderr:`awk: ${l instanceof Error?l.message:String(l)}
15
- `,exitCode:1}}let k={readFile:t.fs.readFile.bind(t.fs),writeFile:t.fs.writeFile.bind(t.fs),appendFile:async(l,p)=>{try{let E=await t.fs.readFile(l);await t.fs.writeFile(l,E+p)}catch{await t.fs.writeFile(l,p)}},resolvePath:t.fs.resolvePath.bind(t.fs)},y=Q({fieldSep:n,maxIterations:t.limits?.maxAwkIterations,maxOutputSize:t.limits?.maxStringLength,fs:k,cwd:t.cwd,exec:t.exec?l=>t.exec(l,{cwd:t.cwd}):void 0,coverage:t.coverage});y.FS=i,y.vars=Object.assign(Object.create(null),a),y.ARGC=c.length+1,y.ARGV=Object.create(null),y.ARGV[0]="awk";for(let l=0;l<c.length;l++)y.ARGV[String(l+1)]=c[l];y.ENVIRON=oe(t.env);let w=new x(y);w.execute(N);let ie=N.rules.some(l=>l.pattern?.type!=="begin"&&l.pattern?.type!=="end"),g=N.rules.some(l=>l.pattern?.type==="end");try{if(await w.executeBegin(),y.shouldExit)return await w.executeEnd(),{stdout:w.getOutput(),stderr:"",exitCode:w.getExitCode()};if(!ie&&!g)return{stdout:w.getOutput(),stderr:"",exitCode:w.getExitCode()};let l=[];if(c.length>0)for(let p of c)try{let E=t.fs.resolvePath(t.cwd,p),R=(await t.fs.readFile(E)).split(`
16
- `);R.length>0&&R[R.length-1]===""&&R.pop(),l.push({filename:p,lines:R})}catch{return{stdout:"",stderr:`awk: ${p}: No such file or directory
13
+ `)break;i+=this.advance()}return this.peek()==="/"&&this.advance(),i=bt(i),{type:r.REGEX,value:i,line:t,column:n}}readNumber(){let t=this.line,n=this.column,i="";for(;this.isDigit(this.peek());)i+=this.advance();if(this.peek()==="."&&this.isDigit(this.peek(1)))for(i+=this.advance();this.isDigit(this.peek());)i+=this.advance();if(this.peek()==="e"||this.peek()==="E")for(i+=this.advance(),(this.peek()==="+"||this.peek()==="-")&&(i+=this.advance());this.isDigit(this.peek());)i+=this.advance();return{type:r.NUMBER,value:parseFloat(i),line:t,column:n}}readIdentifier(){let t=this.line,n=this.column,i="";for(;this.isAlphaNumeric(this.peek())||this.peek()==="_";)i+=this.advance();let a=Ot.get(i);return a!==void 0?{type:a,value:i,line:t,column:n}:{type:r.IDENT,value:i,line:t,column:n}}readOperator(){let t=this.line,n=this.column,i=this.advance(),a=this.peek();switch(i){case"+":return a==="+"?(this.advance(),{type:r.INCREMENT,value:"++",line:t,column:n}):a==="="?(this.advance(),{type:r.PLUS_ASSIGN,value:"+=",line:t,column:n}):{type:r.PLUS,value:"+",line:t,column:n};case"-":return a==="-"?(this.advance(),{type:r.DECREMENT,value:"--",line:t,column:n}):a==="="?(this.advance(),{type:r.MINUS_ASSIGN,value:"-=",line:t,column:n}):{type:r.MINUS,value:"-",line:t,column:n};case"*":return a==="*"?(this.advance(),{type:r.CARET,value:"**",line:t,column:n}):a==="="?(this.advance(),{type:r.STAR_ASSIGN,value:"*=",line:t,column:n}):{type:r.STAR,value:"*",line:t,column:n};case"/":return a==="="?(this.advance(),{type:r.SLASH_ASSIGN,value:"/=",line:t,column:n}):{type:r.SLASH,value:"/",line:t,column:n};case"%":return a==="="?(this.advance(),{type:r.PERCENT_ASSIGN,value:"%=",line:t,column:n}):{type:r.PERCENT,value:"%",line:t,column:n};case"^":return a==="="?(this.advance(),{type:r.CARET_ASSIGN,value:"^=",line:t,column:n}):{type:r.CARET,value:"^",line:t,column:n};case"=":return a==="="?(this.advance(),{type:r.EQ,value:"==",line:t,column:n}):{type:r.ASSIGN,value:"=",line:t,column:n};case"!":return a==="="?(this.advance(),{type:r.NE,value:"!=",line:t,column:n}):a==="~"?(this.advance(),{type:r.NOT_MATCH,value:"!~",line:t,column:n}):{type:r.NOT,value:"!",line:t,column:n};case"<":return a==="="?(this.advance(),{type:r.LE,value:"<=",line:t,column:n}):{type:r.LT,value:"<",line:t,column:n};case">":return a==="="?(this.advance(),{type:r.GE,value:">=",line:t,column:n}):a===">"?(this.advance(),{type:r.APPEND,value:">>",line:t,column:n}):{type:r.GT,value:">",line:t,column:n};case"&":return a==="&"?(this.advance(),{type:r.AND,value:"&&",line:t,column:n}):{type:r.IDENT,value:"&",line:t,column:n};case"|":return a==="|"?(this.advance(),{type:r.OR,value:"||",line:t,column:n}):{type:r.PIPE,value:"|",line:t,column:n};case"~":return{type:r.MATCH,value:"~",line:t,column:n};case"?":return{type:r.QUESTION,value:"?",line:t,column:n};case":":return{type:r.COLON,value:":",line:t,column:n};case",":return{type:r.COMMA,value:",",line:t,column:n};case";":return{type:r.SEMICOLON,value:";",line:t,column:n};case"(":return{type:r.LPAREN,value:"(",line:t,column:n};case")":return{type:r.RPAREN,value:")",line:t,column:n};case"{":return{type:r.LBRACE,value:"{",line:t,column:n};case"}":return{type:r.RBRACE,value:"}",line:t,column:n};case"[":return{type:r.LBRACKET,value:"[",line:t,column:n};case"]":return{type:r.RBRACKET,value:"]",line:t,column:n};case"$":return{type:r.DOLLAR,value:"$",line:t,column:n};default:return{type:r.IDENT,value:i,line:t,column:n}}}isDigit(t){return t>="0"&&t<="9"}isAlpha(t){return t>="a"&&t<="z"||t>="A"&&t<="Z"}isAlphaNumeric(t){return this.isDigit(t)||this.isAlpha(t)}};var u={LPAREN:"LPAREN",RPAREN:"RPAREN",QUESTION:"QUESTION",NEWLINE:"NEWLINE",SEMICOLON:"SEMICOLON",RBRACE:"RBRACE",COMMA:"COMMA",PIPE:"PIPE",GT:"GT",APPEND:"APPEND",AND:"AND",OR:"OR",ASSIGN:"ASSIGN",PLUS_ASSIGN:"PLUS_ASSIGN",MINUS_ASSIGN:"MINUS_ASSIGN",STAR_ASSIGN:"STAR_ASSIGN",SLASH_ASSIGN:"SLASH_ASSIGN",PERCENT_ASSIGN:"PERCENT_ASSIGN",CARET_ASSIGN:"CARET_ASSIGN",RBRACKET:"RBRACKET",COLON:"COLON",IN:"IN",PRINT:"PRINT",PRINTF:"PRINTF",IDENT:"IDENT",LT:"LT",LE:"LE",GE:"GE",EQ:"EQ",NE:"NE",MATCH:"MATCH",NOT_MATCH:"NOT_MATCH",NUMBER:"NUMBER",STRING:"STRING",DOLLAR:"DOLLAR",NOT:"NOT",MINUS:"MINUS",PLUS:"PLUS",INCREMENT:"INCREMENT",DECREMENT:"DECREMENT"};function ke(e){e.expect(u.PRINT);let t=[];if(e.check(u.NEWLINE)||e.check(u.SEMICOLON)||e.check(u.RBRACE)||e.check(u.PIPE)||e.check(u.GT)||e.check(u.APPEND))t.push({type:"field",index:{type:"number",value:0}});else for(t.push(j(e));e.check(u.COMMA);)e.advance(),t.push(j(e));let n;return e.check(u.GT)?(e.advance(),n={redirect:">",file:e.parsePrimary()}):e.check(u.APPEND)&&(e.advance(),n={redirect:">>",file:e.parsePrimary()}),{type:"print",args:t,output:n}}function j(e){return Lt(e)?re(e,!0):re(e,!1)}function re(e,t){let n=t?e.parseTernary():Mt(e);if(e.match(u.ASSIGN,u.PLUS_ASSIGN,u.MINUS_ASSIGN,u.STAR_ASSIGN,u.SLASH_ASSIGN,u.PERCENT_ASSIGN,u.CARET_ASSIGN)){let i=e.advance(),a=re(e,t);if(n.type!=="variable"&&n.type!=="field"&&n.type!=="array_access")throw new Error("Invalid assignment target");return{type:"assignment",operator:new Map([["=","="],["+=","+="],["-=","-="],["*=","*="],["/=","/="],["%=","%="],["^=","^="]]).get(i.value)??"=",target:n,value:a}}return n}function Lt(e){let t=0,n=e.pos;for(;n<e.tokens.length;){let i=e.tokens[n];if(i.type===u.LPAREN&&t++,i.type===u.RPAREN&&t--,i.type===u.QUESTION&&t===0)return!0;if(i.type===u.NEWLINE||i.type===u.SEMICOLON||i.type===u.RBRACE||i.type===u.COMMA||i.type===u.PIPE)return!1;n++}return!1}function Mt(e){let t=ge(e);for(;e.check(u.OR);){e.advance();let n=ge(e);t={type:"binary",operator:"||",left:t,right:n}}return t}function ge(e){let t=we(e);for(;e.check(u.AND);){e.advance();let n=we(e);t={type:"binary",operator:"&&",left:t,right:n}}return t}function we(e){let t=Pt(e);if(e.check(u.IN)){e.advance();let n=String(e.expect(u.IDENT).value);return{type:"in",key:t,array:n}}return t}function Pt(e){let t=Ie(e);for(;Tt(e)&&!Ft(e);){let n=Ie(e);t={type:"binary",operator:" ",left:t,right:n}}return t}function Ie(e){let t=ve(e);for(;e.match(u.MATCH,u.NOT_MATCH);){let n=e.advance().type===u.MATCH?"~":"!~",i=ve(e);t={type:"binary",operator:n,left:t,right:i}}return t}function ve(e){let t=e.parseAddSub();for(;e.match(u.LT,u.LE,u.GE,u.EQ,u.NE);){let n=e.advance(),i=e.parseAddSub();t={type:"binary",operator:new Map([["<","<"],["<=","<="],[">=",">="],["==","=="],["!=","!="]]).get(n.value)??"==",left:t,right:i}}return t}function Tt(e){return e.match(u.NUMBER,u.STRING,u.IDENT,u.DOLLAR,u.LPAREN,u.NOT,u.MINUS,u.PLUS,u.INCREMENT,u.DECREMENT)}function Ft(e){return e.match(u.AND,u.OR,u.QUESTION,u.ASSIGN,u.PLUS_ASSIGN,u.MINUS_ASSIGN,u.STAR_ASSIGN,u.SLASH_ASSIGN,u.PERCENT_ASSIGN,u.CARET_ASSIGN,u.COMMA,u.SEMICOLON,u.NEWLINE,u.RBRACE,u.RPAREN,u.RBRACKET,u.COLON,u.PIPE,u.APPEND,u.GT,u.IN)}function Ce(e){e.expect(u.PRINTF);let t=e.check(u.LPAREN);t&&(e.advance(),e.skipNewlines());let n=t?e.parseExpression():j(e),i=[];for(;e.check(u.COMMA);)e.advance(),t&&e.skipNewlines(),i.push(t?e.parseExpression():j(e));t&&(e.skipNewlines(),e.expect(u.RPAREN));let a;return e.check(u.GT)?(e.advance(),a={redirect:">",file:e.parsePrimary()}):e.check(u.APPEND)&&(e.advance(),a={redirect:">>",file:e.parsePrimary()}),{type:"printf",format:n,args:i,output:a}}var z=class{tokens=[];pos=0;parse(t){let n=new X(t);return this.tokens=n.tokenize(),this.pos=0,this.parseProgram()}setPos(t){this.pos=t}current(){return this.tokens[this.pos]||{type:r.EOF,value:"",line:0,column:0}}advance(){let t=this.current();return this.pos<this.tokens.length&&this.pos++,t}match(...t){return t.includes(this.current().type)}check(t){return this.current().type===t}expect(t,n){if(!this.check(t)){let i=this.current();throw new Error(n||`Expected ${t}, got ${i.type} at line ${i.line}:${i.column}`)}return this.advance()}skipNewlines(){for(;this.check(r.NEWLINE);)this.advance()}skipTerminators(){for(;this.check(r.NEWLINE)||this.check(r.SEMICOLON);)this.advance()}parseProgram(){let t=[],n=[];for(this.skipNewlines();!this.check(r.EOF)&&(this.skipNewlines(),!this.check(r.EOF));)this.check(r.FUNCTION)?t.push(this.parseFunction()):n.push(this.parseRule()),this.skipTerminators();return{functions:t,rules:n}}parseFunction(){this.expect(r.FUNCTION);let t=this.expect(r.IDENT).value;this.expect(r.LPAREN);let n=[];if(!this.check(r.RPAREN))for(n.push(this.expect(r.IDENT).value);this.check(r.COMMA);)this.advance(),n.push(this.expect(r.IDENT).value);this.expect(r.RPAREN),this.skipNewlines();let i=this.parseBlock();return{name:t,params:n,body:i}}parseRule(){let t;if(this.check(r.BEGIN))this.advance(),t={type:"begin"};else if(this.check(r.END))this.advance(),t={type:"end"};else if(this.check(r.LBRACE))t=void 0;else if(this.check(r.REGEX)){let i=this.advance();if(this.check(r.AND)||this.check(r.OR)){let a={type:"binary",operator:"~",left:{type:"field",index:{type:"number",value:0}},right:{type:"regex",pattern:i.value}};t={type:"expr_pattern",expression:this.parseLogicalOrRest(a)}}else{let a={type:"regex_pattern",pattern:i.value};if(this.check(r.COMMA)){this.advance();let s;this.check(r.REGEX)?s={type:"regex_pattern",pattern:this.advance().value}:s={type:"expr_pattern",expression:this.parseExpression()},t={type:"range",start:a,end:s}}else t=a}}else{let a={type:"expr_pattern",expression:this.parseExpression()};if(this.check(r.COMMA)){this.advance();let s;this.check(r.REGEX)?s={type:"regex_pattern",pattern:this.advance().value}:s={type:"expr_pattern",expression:this.parseExpression()},t={type:"range",start:a,end:s}}else t=a}this.skipNewlines();let n;return this.check(r.LBRACE)?n=this.parseBlock():n={type:"block",statements:[{type:"print",args:[{type:"field",index:{type:"number",value:0}}]}]},{pattern:t,action:n}}parseBlock(){this.expect(r.LBRACE),this.skipNewlines();let t=[];for(;!this.check(r.RBRACE)&&!this.check(r.EOF);)t.push(this.parseStatement()),this.skipTerminators();return this.expect(r.RBRACE),{type:"block",statements:t}}parseStatement(){if(this.check(r.SEMICOLON)||this.check(r.NEWLINE))return this.advance(),{type:"block",statements:[]};if(this.check(r.LBRACE))return this.parseBlock();if(this.check(r.IF))return this.parseIf();if(this.check(r.WHILE))return this.parseWhile();if(this.check(r.DO))return this.parseDoWhile();if(this.check(r.FOR))return this.parseFor();if(this.check(r.BREAK))return this.advance(),{type:"break"};if(this.check(r.CONTINUE))return this.advance(),{type:"continue"};if(this.check(r.NEXT))return this.advance(),{type:"next"};if(this.check(r.NEXTFILE))return this.advance(),{type:"nextfile"};if(this.check(r.EXIT)){this.advance();let n;return!this.check(r.NEWLINE)&&!this.check(r.SEMICOLON)&&!this.check(r.RBRACE)&&!this.check(r.EOF)&&(n=this.parseExpression()),{type:"exit",code:n}}if(this.check(r.RETURN)){this.advance();let n;return!this.check(r.NEWLINE)&&!this.check(r.SEMICOLON)&&!this.check(r.RBRACE)&&!this.check(r.EOF)&&(n=this.parseExpression()),{type:"return",value:n}}if(this.check(r.DELETE)){this.advance();let n=this.parsePrimary();if(n.type!=="array_access"&&n.type!=="variable")throw new Error("delete requires array element or array");return{type:"delete",target:n}}return this.check(r.PRINT)?ke(this):this.check(r.PRINTF)?Ce(this):{type:"expr_stmt",expression:this.parseExpression()}}parseIf(){this.expect(r.IF),this.expect(r.LPAREN);let t=this.parseExpression();this.expect(r.RPAREN),this.skipNewlines();let n=this.parseStatement();this.skipTerminators();let i;return this.check(r.ELSE)&&(this.advance(),this.skipNewlines(),i=this.parseStatement()),{type:"if",condition:t,consequent:n,alternate:i}}parseWhile(){this.expect(r.WHILE),this.expect(r.LPAREN);let t=this.parseExpression();this.expect(r.RPAREN),this.skipNewlines();let n=this.parseStatement();return{type:"while",condition:t,body:n}}parseDoWhile(){this.expect(r.DO),this.skipNewlines();let t=this.parseStatement();this.skipNewlines(),this.expect(r.WHILE),this.expect(r.LPAREN);let n=this.parseExpression();return this.expect(r.RPAREN),{type:"do_while",body:t,condition:n}}parseFor(){if(this.expect(r.FOR),this.expect(r.LPAREN),this.check(r.IDENT)){let s=this.advance();if(this.check(r.IN)){this.advance();let o=this.expect(r.IDENT).value;this.expect(r.RPAREN),this.skipNewlines();let l=this.parseStatement();return{type:"for_in",variable:s.value,array:o,body:l}}this.pos--}let t;this.check(r.SEMICOLON)||(t=this.parseExpression()),this.expect(r.SEMICOLON);let n;this.check(r.SEMICOLON)||(n=this.parseExpression()),this.expect(r.SEMICOLON);let i;this.check(r.RPAREN)||(i=this.parseExpression()),this.expect(r.RPAREN),this.skipNewlines();let a=this.parseStatement();return{type:"for",init:t,condition:n,update:i,body:a}}parseExpression(){return this.parseAssignment()}parseAssignment(){let t=this.parseTernary();if(this.match(r.ASSIGN,r.PLUS_ASSIGN,r.MINUS_ASSIGN,r.STAR_ASSIGN,r.SLASH_ASSIGN,r.PERCENT_ASSIGN,r.CARET_ASSIGN)){let n=this.advance(),i=this.parseAssignment();if(t.type!=="variable"&&t.type!=="field"&&t.type!=="array_access")throw new Error("Invalid assignment target");return{type:"assignment",operator:{"=":"=","+=":"+=","-=":"-=","*=":"*=","/=":"/=","%=":"%=","^=":"^="}[n.value],target:t,value:i}}return t}parseTernary(){let t=this.parsePipeGetline();if(this.check(r.QUESTION)){this.advance();let n=this.parseExpression();this.expect(r.COLON);let i=this.parseExpression();t={type:"ternary",condition:t,consequent:n,alternate:i}}return t}parsePipeGetline(){let t=this.parseOr();if(this.check(r.PIPE)){if(this.advance(),!this.check(r.GETLINE))throw new Error("Expected 'getline' after '|' in expression context");this.advance();let n;return this.check(r.IDENT)&&(n=this.advance().value),{type:"getline",command:t,variable:n}}return t}parseOr(){let t=this.parseAnd();for(;this.check(r.OR);){this.advance();let n=this.parseAnd();t={type:"binary",operator:"||",left:t,right:n}}return t}parseLogicalOrRest(t){for(t=this.parseLogicalAndRest(t);this.check(r.OR);){this.advance();let n=this.parseAnd();t={type:"binary",operator:"||",left:t,right:n}}return t}parseLogicalAndRest(t){for(;this.check(r.AND);){this.advance();let n=this.parseIn();t={type:"binary",operator:"&&",left:t,right:n}}return t}parseAnd(){let t=this.parseIn();for(;this.check(r.AND);){this.advance();let n=this.parseIn();t={type:"binary",operator:"&&",left:t,right:n}}return t}parseIn(){let t=this.parseConcatenation();if(this.check(r.IN)){this.advance();let n=this.expect(r.IDENT).value;return{type:"in",key:t,array:n}}return t}parseConcatenation(){let t=this.parseMatch();for(;this.canStartExpression()&&!this.isConcatTerminator();){let n=this.parseMatch();t={type:"binary",operator:" ",left:t,right:n}}return t}parseMatch(){let t=this.parseComparison();for(;this.match(r.MATCH,r.NOT_MATCH);){let n=this.advance().type===r.MATCH?"~":"!~",i=this.parseComparison();t={type:"binary",operator:n,left:t,right:i}}return t}parseComparison(){let t=this.parseAddSub();for(;this.match(r.LT,r.LE,r.GT,r.GE,r.EQ,r.NE);){let n=this.advance(),i=this.parseAddSub();t={type:"binary",operator:new Map([["<","<"],["<=","<="],[">",">"],[">=",">="],["==","=="],["!=","!="]]).get(n.value)??"==",left:t,right:i}}return t}canStartExpression(){return this.match(r.NUMBER,r.STRING,r.IDENT,r.DOLLAR,r.LPAREN,r.NOT,r.MINUS,r.PLUS,r.INCREMENT,r.DECREMENT)}isConcatTerminator(){return this.match(r.AND,r.OR,r.QUESTION,r.ASSIGN,r.PLUS_ASSIGN,r.MINUS_ASSIGN,r.STAR_ASSIGN,r.SLASH_ASSIGN,r.PERCENT_ASSIGN,r.CARET_ASSIGN,r.COMMA,r.SEMICOLON,r.NEWLINE,r.RBRACE,r.RPAREN,r.RBRACKET,r.COLON,r.PIPE,r.APPEND,r.IN)}parseAddSub(){let t=this.parseMulDiv();for(;this.match(r.PLUS,r.MINUS);){let n=this.advance().value,i=this.parseMulDiv();t={type:"binary",operator:n,left:t,right:i}}return t}parseMulDiv(){let t=this.parseUnary();for(;this.match(r.STAR,r.SLASH,r.PERCENT);){let n=this.advance(),i=this.parseUnary();t={type:"binary",operator:new Map([["*","*"],["/","/"],["%","%"]]).get(n.value)??"*",left:t,right:i}}return t}parseUnary(){if(this.check(r.INCREMENT)){this.advance();let t=this.parseUnary();return t.type!=="variable"&&t.type!=="field"&&t.type!=="array_access"?{type:"unary",operator:"+",operand:{type:"unary",operator:"+",operand:t}}:{type:"pre_increment",operand:t}}if(this.check(r.DECREMENT)){this.advance();let t=this.parseUnary();return t.type!=="variable"&&t.type!=="field"&&t.type!=="array_access"?{type:"unary",operator:"-",operand:{type:"unary",operator:"-",operand:t}}:{type:"pre_decrement",operand:t}}if(this.match(r.NOT,r.MINUS,r.PLUS)){let t=this.advance().value,n=this.parseUnary();return{type:"unary",operator:t,operand:n}}return this.parsePower()}parsePower(){let t=this.parsePostfix();if(this.check(r.CARET)){this.advance();let n=this.parsePower();t={type:"binary",operator:"^",left:t,right:n}}return t}parsePostfix(){let t=this.parsePrimary();if(this.check(r.INCREMENT)){if(this.advance(),t.type!=="variable"&&t.type!=="field"&&t.type!=="array_access")throw new Error("Invalid increment operand");return{type:"post_increment",operand:t}}if(this.check(r.DECREMENT)){if(this.advance(),t.type!=="variable"&&t.type!=="field"&&t.type!=="array_access")throw new Error("Invalid decrement operand");return{type:"post_decrement",operand:t}}return t}parseFieldIndex(){if(this.check(r.INCREMENT)){this.advance();let t=this.parseFieldIndex();return t.type!=="variable"&&t.type!=="field"&&t.type!=="array_access"?{type:"unary",operator:"+",operand:{type:"unary",operator:"+",operand:t}}:{type:"pre_increment",operand:t}}if(this.check(r.DECREMENT)){this.advance();let t=this.parseFieldIndex();return t.type!=="variable"&&t.type!=="field"&&t.type!=="array_access"?{type:"unary",operator:"-",operand:{type:"unary",operator:"-",operand:t}}:{type:"pre_decrement",operand:t}}if(this.match(r.NOT,r.MINUS,r.PLUS)){let t=this.advance().value,n=this.parseFieldIndex();return{type:"unary",operator:t,operand:n}}return this.parseFieldIndexPower()}parseFieldIndexPower(){let t=this.parseFieldIndexPrimary();if(this.check(r.CARET)){this.advance();let n=this.parseFieldIndexPower();t={type:"binary",operator:"^",left:t,right:n}}return t}parseFieldIndexPrimary(){if(this.check(r.NUMBER))return{type:"number",value:this.advance().value};if(this.check(r.STRING))return{type:"string",value:this.advance().value};if(this.check(r.DOLLAR))return this.advance(),{type:"field",index:this.parseFieldIndex()};if(this.check(r.LPAREN)){this.advance();let t=this.parseExpression();return this.expect(r.RPAREN),t}if(this.check(r.IDENT)){let t=this.advance().value;if(this.check(r.LPAREN)){this.advance();let n=[];if(!this.check(r.RPAREN))for(n.push(this.parseExpression());this.check(r.COMMA);)this.advance(),n.push(this.parseExpression());return this.expect(r.RPAREN),{type:"call",name:t,args:n}}if(this.check(r.LBRACKET)){this.advance();let n=this.parseExpression();if(this.check(r.COMMA)){let i=[n];for(;this.check(r.COMMA);)this.advance(),i.push(this.parseExpression());this.expect(r.RBRACKET);let a=i.reduce((s,o)=>({type:"binary",operator:" ",left:{type:"binary",operator:" ",left:s,right:{type:"variable",name:"SUBSEP"}},right:o}));return{type:"array_access",array:t,key:a}}return this.expect(r.RBRACKET),{type:"array_access",array:t,key:n}}return{type:"variable",name:t}}throw new Error(`Unexpected token in field index: ${this.current().type} at line ${this.current().line}:${this.current().column}`)}parsePrimary(){if(this.check(r.NUMBER))return{type:"number",value:this.advance().value};if(this.check(r.STRING))return{type:"string",value:this.advance().value};if(this.check(r.REGEX))return{type:"regex",pattern:this.advance().value};if(this.check(r.DOLLAR))return this.advance(),{type:"field",index:this.parseFieldIndex()};if(this.check(r.LPAREN)){this.advance();let t=this.parseExpression();if(this.check(r.COMMA)){let n=[t];for(;this.check(r.COMMA);)this.advance(),n.push(this.parseExpression());return this.expect(r.RPAREN),{type:"tuple",elements:n}}return this.expect(r.RPAREN),t}if(this.check(r.GETLINE)){this.advance();let t,n;return this.check(r.IDENT)&&(t=this.advance().value),this.check(r.LT)&&(this.advance(),n=this.parsePrimary()),{type:"getline",variable:t,file:n}}if(this.check(r.IDENT)){let t=this.advance().value;if(this.check(r.LPAREN)){this.advance();let n=[];if(this.skipNewlines(),!this.check(r.RPAREN))for(n.push(this.parseExpression());this.check(r.COMMA);)this.advance(),this.skipNewlines(),n.push(this.parseExpression());return this.skipNewlines(),this.expect(r.RPAREN),{type:"call",name:t,args:n}}if(this.check(r.LBRACKET)){this.advance();let n=[this.parseExpression()];for(;this.check(r.COMMA);)this.advance(),n.push(this.parseExpression());this.expect(r.RBRACKET);let i;if(n.length===1)i=n[0];else{i=n[0];for(let a=1;a<n.length;a++)i={type:"binary",operator:" ",left:{type:"binary",operator:" ",left:i,right:{type:"variable",name:"SUBSEP"}},right:n[a]}}return{type:"array_access",array:t,key:i}}return{type:"variable",name:t}}throw new Error(`Unexpected token: ${this.current().type} at line ${this.current().line}:${this.current().column}`)}};var _t={name:"awk",summary:"pattern scanning and text processing language",usage:"awk [OPTIONS] 'PROGRAM' [FILE...]",options:["-F FS use FS as field separator","-v VAR=VAL assign VAL to variable VAR"," --help display this help and exit"]},bn={name:"awk",async execute(e,t){if(ae(e))return se(_t);let n=new T(/\s+/),i=" ",a=Object.create(null),s=0;for(let h=0;h<e.length;h++){let p=e[h];if(p==="-F"&&h+1<e.length)i=ie(e[++h]),n=Oe(i),s=h+1;else if(p.startsWith("-F"))i=ie(p.slice(2)),n=Oe(i),s=h+1;else if(p==="-v"&&h+1<e.length){let f=e[++h],R=f.indexOf("=");if(R>0){let C=f.slice(0,R),Le=ie(f.slice(R+1));a[C]=Le}s=h+1}else{if(p.startsWith("--"))return Q("awk",p);if(p.startsWith("-")&&p.length>1){let f=p[1];if(f!=="F"&&f!=="v")return Q("awk",`-${f}`);s=h+1}else if(!p.startsWith("-")){s=h;break}}}if(s>=e.length)return{stdout:"",stderr:`awk: missing program
14
+ `,exitCode:1};let o=e[s],l=e.slice(s+1),c=new z,N;try{N=c.parse(o)}catch(h){return{stdout:"",stderr:`awk: ${h instanceof Error?h.message:String(h)}
15
+ `,exitCode:1}}let v={readFile:t.fs.readFile.bind(t.fs),writeFile:t.fs.writeFile.bind(t.fs),appendFile:async(h,p)=>{try{let f=await t.fs.readFile(h);await t.fs.writeFile(h,f+p)}catch{await t.fs.writeFile(h,p)}},resolvePath:t.fs.resolvePath.bind(t.fs)},b=t.exec,y=q({fieldSep:n,maxIterations:t.limits?.maxAwkIterations,maxOutputSize:t.limits?.maxStringLength,fs:v,cwd:t.cwd,exec:b?h=>b(h,{cwd:t.cwd,signal:t.signal}):void 0,coverage:t.coverage});y.FS=i,y.vars=Object.assign(Object.create(null),a),y.ARGC=l.length+1,y.ARGV=Object.create(null),y.ARGV[0]="awk";for(let h=0;h<l.length;h++)y.ARGV[String(h+1)]=l[h];y.ENVIRON=oe(t.env);let k=new U(y);k.execute(N);let g=N.rules.some(h=>h.pattern?.type!=="begin"&&h.pattern?.type!=="end"),E=N.rules.some(h=>h.pattern?.type==="end");try{if(await k.executeBegin(),y.shouldExit)return await k.executeEnd(),{stdout:k.getOutput(),stderr:"",exitCode:k.getExitCode()};if(!g&&!E)return{stdout:k.getOutput(),stderr:"",exitCode:k.getExitCode()};let h=[];if(l.length>0)for(let p of l)try{let f=t.fs.resolvePath(t.cwd,p),C=(await t.fs.readFile(f)).split(`
16
+ `);C.length>0&&C[C.length-1]===""&&C.pop(),h.push({filename:p,lines:C})}catch{return{stdout:"",stderr:`awk: ${p}: No such file or directory
17
17
  `,exitCode:1}}else{let p=t.stdin.split(`
18
- `);p.length>0&&p[p.length-1]===""&&p.pop(),l.push({filename:"",lines:p})}for(let p of l){for(y.FILENAME=p.filename,y.FNR=0,y.lines=p.lines,y.lineIndex=-1,y.shouldNextFile=!1;y.lineIndex<p.lines.length-1&&(y.lineIndex++,await w.executeLine(p.lines[y.lineIndex]),!(y.shouldExit||y.shouldNextFile)););if(y.shouldExit)break}return await w.executeEnd(),{stdout:w.getOutput(),stderr:"",exitCode:w.getExitCode()}}catch(l){let p=l instanceof Error?l.message:String(l),E=l instanceof O?O.EXIT_CODE:2;return{stdout:w.getOutput(),stderr:`awk: ${p}
19
- `,exitCode:E}}}};function re(e){return e.replace(/\\t/g," ").replace(/\\n/g,`
20
- `).replace(/\\r/g,"\r").replace(/\\b/g,"\b").replace(/\\f/g,"\f").replace(/\\a/g,"\x07").replace(/\\v/g,"\v").replace(/\\\\/g,"\\")}function Oe(e){if(e===" ")return A("\\s+");if(/[[\](){}.*+?^$|\\]/.test(e))try{return A(e)}catch{return A(be(e))}return A(be(e))}function be(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}var bn={name:"awk",flags:[{flag:"-F",type:"value",valueHint:"delimiter"},{flag:"-v",type:"value",valueHint:"string"}],stdinType:"text",needsArgs:!0};export{On as a,bn as b};
18
+ `);p.length>0&&p[p.length-1]===""&&p.pop(),h.push({filename:"",lines:p})}for(let p of h){for(y.FILENAME=p.filename,y.FNR=0,y.lines=p.lines,y.lineIndex=-1,y.shouldNextFile=!1;y.lineIndex<p.lines.length-1&&(y.lineIndex++,await k.executeLine(p.lines[y.lineIndex]),!(y.shouldExit||y.shouldNextFile)););if(y.shouldExit)break}return await k.executeEnd(),{stdout:k.getOutput(),stderr:"",exitCode:k.getExitCode()}}catch(h){let p=h instanceof Error?h.message:String(h),f=h instanceof L?L.EXIT_CODE:2;return{stdout:k.getOutput(),stderr:`awk: ${p}
19
+ `,exitCode:f}}}};function ie(e){return e.replace(/\\t/g," ").replace(/\\n/g,`
20
+ `).replace(/\\r/g,"\r").replace(/\\b/g,"\b").replace(/\\f/g,"\f").replace(/\\a/g,"\x07").replace(/\\v/g,"\v").replace(/\\\\/g,"\\")}function Oe(e){if(e===" ")return A("\\s+");if(/[[\](){}.*+?^$|\\]/.test(e))try{return A(e)}catch{return A(be(e))}return A(be(e))}function be(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}var Ln={name:"awk",flags:[{flag:"-F",type:"value",valueHint:"delimiter"},{flag:"-v",type:"value",valueHint:"string"}],stdinType:"text",needsArgs:!0};export{bn as a,Ln as b};
@@ -1,35 +1,35 @@
1
- import{a as b,b as $}from"./chunk-74CEPOFO.js";import{existsSync as h}from"node:fs";import{dirname as B,join as p}from"node:path";import{fileURLToPath as U}from"node:url";import{Worker as D}from"node:worker_threads";import H from"sql.js";function q(e,r,n){switch(n.mode){case"list":return y(e,r,n);case"csv":return L(e,r,n);case"json":return V(e,r);case"line":return O(e,r,n);case"column":return A(e,r,n);case"table":return N(e,r,n);case"markdown":return P(e,r,n);case"tabs":return I(e,r,n);case"box":return M(e,r,n);case"quote":return R(e,r,n);case"html":return F(e,r,n);case"ascii":return Q(e,r,n)}}function u(e,r){return e==null?r:e instanceof Uint8Array||Buffer.isBuffer(e)?Buffer.from(e).toString("utf8"):typeof e=="number"&&!Number.isInteger(e)?e.toPrecision(17).replace(/\.?0+$/,""):String(e)}function y(e,r,n){let t=[];n.header&&e.length>0&&t.push(e.join(n.separator));for(let l of r)t.push(l.map(i=>u(i,n.nullValue)).join(n.separator));return t.length>0?`${t.join(n.newline)}${n.newline}`:""}function L(e,r,n){let t=[];n.header&&e.length>0&&t.push(e.map(j).join(","));for(let l of r)t.push(l.map(i=>j(u(i,n.nullValue))).join(","));return t.length>0?`${t.join(`
1
+ import{b as p}from"./chunk-R7KYILVY.js";import{a as j,b as h}from"./chunk-LEOLL6PF.js";import{a as S,b as q}from"./chunk-74CEPOFO.js";import{existsSync as g}from"node:fs";import{dirname as H,join as w}from"node:path";import{fileURLToPath as W}from"node:url";import{Worker as J}from"node:worker_threads";import _ from"sql.js";function T(e,r,n){switch(n.mode){case"list":return V(e,r,n);case"csv":return O(e,r,n);case"json":return I(e,r);case"line":return N(e,r,n);case"column":return P(e,r,n);case"table":return M(e,r,n);case"markdown":return R(e,r,n);case"tabs":return F(e,r,n);case"box":return Q(e,r,n);case"quote":return B(e,r,n);case"html":return D(e,r,n);case"ascii":return U(e,r,n)}}function u(e,r){return e==null?r:e instanceof Uint8Array||Buffer.isBuffer(e)?Buffer.from(e).toString("utf8"):typeof e=="number"&&!Number.isInteger(e)?e.toPrecision(17).replace(/\.?0+$/,""):String(e)}function V(e,r,n){let t=[];n.header&&e.length>0&&t.push(e.join(n.separator));for(let l of r)t.push(l.map(i=>u(i,n.nullValue)).join(n.separator));return t.length>0?`${t.join(n.newline)}${n.newline}`:""}function O(e,r,n){let t=[];n.header&&e.length>0&&t.push(e.map(x).join(","));for(let l of r)t.push(l.map(i=>x(u(i,n.nullValue))).join(","));return t.length>0?`${t.join(`
2
2
  `)}
3
- `:""}function j(e){return e.includes(",")||e.includes('"')||e.includes("'")||e.includes(`
4
- `)?`"${e.replace(/"/g,'""')}"`:e}function E(e){return e.toPrecision(17).replace(/\.?0+$/,"")}function k(e){return e===null?"null":typeof e=="number"?Number.isInteger(e)?String(e):E(e):JSON.stringify(e)}function V(e,r){return r.length===0?"":`[${r.map(t=>`{${e.map((i,s)=>`${JSON.stringify(i)}:${k(t[s])}`).join(",")}}`).join(`,
3
+ `:""}function x(e){return e.includes(",")||e.includes('"')||e.includes("'")||e.includes(`
4
+ `)?`"${e.replace(/"/g,'""')}"`:e}function y(e){return e.toPrecision(17).replace(/\.?0+$/,"")}function A(e){return e===null?"null":typeof e=="number"?Number.isInteger(e)?String(e):y(e):JSON.stringify(e)}function I(e,r){return r.length===0?"":`[${r.map(t=>`{${e.map((i,s)=>`${JSON.stringify(i)}:${A(t[s])}`).join(",")}}`).join(`,
5
5
  `)}]
6
- `}function O(e,r,n){if(e.length===0||r.length===0)return"";let t=Math.max(5,...e.map(i=>i.length)),l=[];for(let i of r)for(let s=0;s<e.length;s++){let o=e[s].padStart(t);l.push(`${o} = ${u(i[s],n.nullValue)}`)}return`${l.join(`
6
+ `}function N(e,r,n){if(e.length===0||r.length===0)return"";let t=Math.max(5,...e.map(i=>i.length)),l=[];for(let i of r)for(let s=0;s<e.length;s++){let o=e[s].padStart(t);l.push(`${o} = ${u(i[s],n.nullValue)}`)}return`${l.join(`
7
7
  `)}
8
- `}function A(e,r,n){if(e.length===0)return"";let t=e.map(i=>i.length);for(let i of r)for(let s=0;s<i.length;s++){let o=u(i[s],n.nullValue).length;o>t[s]&&(t[s]=o)}let l=[];n.header&&(l.push(e.map((i,s)=>i.padEnd(t[s])).join(" ")),l.push(t.map(i=>"-".repeat(i)).join(" ")));for(let i of r)l.push(i.map((s,o)=>u(s,n.nullValue).padEnd(t[o])).join(" "));return l.length>0?`${l.join(`
8
+ `}function P(e,r,n){if(e.length===0)return"";let t=e.map(i=>i.length);for(let i of r)for(let s=0;s<i.length;s++){let o=u(i[s],n.nullValue).length;o>t[s]&&(t[s]=o)}let l=[];n.header&&(l.push(e.map((i,s)=>i.padEnd(t[s])).join(" ")),l.push(t.map(i=>"-".repeat(i)).join(" ")));for(let i of r)l.push(i.map((s,o)=>u(s,n.nullValue).padEnd(t[o])).join(" "));return l.length>0?`${l.join(`
9
9
  `)}
10
- `:""}function N(e,r,n){if(e.length===0)return"";let t=e.map(s=>s.length);for(let s of r)for(let o=0;o<s.length;o++){let f=u(s[o],n.nullValue).length;f>t[o]&&(t[o]=f)}let l=[],i=`+${t.map(s=>"-".repeat(s+2)).join("+")}+`;l.push(i),n.header&&(l.push(`| ${e.map((s,o)=>s.padEnd(t[o])).join(" | ")} |`),l.push(i));for(let s of r)l.push(`| ${s.map((o,f)=>u(o,n.nullValue).padEnd(t[f])).join(" | ")} |`);return l.push(i),`${l.join(`
10
+ `:""}function M(e,r,n){if(e.length===0)return"";let t=e.map(s=>s.length);for(let s of r)for(let o=0;o<s.length;o++){let f=u(s[o],n.nullValue).length;f>t[o]&&(t[o]=f)}let l=[],i=`+${t.map(s=>"-".repeat(s+2)).join("+")}+`;l.push(i),n.header&&(l.push(`| ${e.map((s,o)=>s.padEnd(t[o])).join(" | ")} |`),l.push(i));for(let s of r)l.push(`| ${s.map((o,f)=>u(o,n.nullValue).padEnd(t[f])).join(" | ")} |`);return l.push(i),`${l.join(`
11
11
  `)}
12
- `}function P(e,r,n){if(e.length===0)return"";let t=[];n.header&&(t.push(`| ${e.join(" | ")} |`),t.push(`|${e.map(()=>"---").join("|")}|`));for(let l of r)t.push(`| ${l.map(i=>u(i,n.nullValue)).join(" | ")} |`);return t.length>0?`${t.join(`
12
+ `}function R(e,r,n){if(e.length===0)return"";let t=[];n.header&&(t.push(`| ${e.join(" | ")} |`),t.push(`|${e.map(()=>"---").join("|")}|`));for(let l of r)t.push(`| ${l.map(i=>u(i,n.nullValue)).join(" | ")} |`);return t.length>0?`${t.join(`
13
13
  `)}
14
- `:""}function I(e,r,n){let t=[];n.header&&e.length>0&&t.push(e.join(" "));for(let l of r)t.push(l.map(i=>u(i,n.nullValue)).join(" "));return t.length>0?`${t.join(n.newline)}${n.newline}`:""}function M(e,r,n){if(e.length===0)return"";let t=e.map(i=>i.length);for(let i of r)for(let s=0;s<i.length;s++){let o=u(i[s],n.nullValue).length;o>t[s]&&(t[s]=o)}let l=[];l.push(`\u250C${t.map(i=>"\u2500".repeat(i+2)).join("\u252C")}\u2510`),l.push(`\u2502 ${e.map((i,s)=>i.padEnd(t[s])).join(" \u2502 ")} \u2502`),l.push(`\u251C${t.map(i=>"\u2500".repeat(i+2)).join("\u253C")}\u2524`);for(let i of r)l.push(`\u2502 ${i.map((s,o)=>u(s,n.nullValue).padEnd(t[o])).join(" \u2502 ")} \u2502`);return l.push(`\u2514${t.map(i=>"\u2500".repeat(i+2)).join("\u2534")}\u2518`),`${l.join(`
14
+ `:""}function F(e,r,n){let t=[];n.header&&e.length>0&&t.push(e.join(" "));for(let l of r)t.push(l.map(i=>u(i,n.nullValue)).join(" "));return t.length>0?`${t.join(n.newline)}${n.newline}`:""}function Q(e,r,n){if(e.length===0)return"";let t=e.map(i=>i.length);for(let i of r)for(let s=0;s<i.length;s++){let o=u(i[s],n.nullValue).length;o>t[s]&&(t[s]=o)}let l=[];l.push(`\u250C${t.map(i=>"\u2500".repeat(i+2)).join("\u252C")}\u2510`),l.push(`\u2502 ${e.map((i,s)=>i.padEnd(t[s])).join(" \u2502 ")} \u2502`),l.push(`\u251C${t.map(i=>"\u2500".repeat(i+2)).join("\u253C")}\u2524`);for(let i of r)l.push(`\u2502 ${i.map((s,o)=>u(s,n.nullValue).padEnd(t[o])).join(" \u2502 ")} \u2502`);return l.push(`\u2514${t.map(i=>"\u2500".repeat(i+2)).join("\u2534")}\u2518`),`${l.join(`
15
15
  `)}
16
- `}function R(e,r,n){let t=[];n.header&&e.length>0&&t.push(e.map(l=>`'${l}'`).join(","));for(let l of r)t.push(l.map(i=>i==null?"NULL":typeof i=="number"?Number.isInteger(i)?String(i):E(i):`'${String(i)}'`).join(","));return t.length>0?`${t.join(n.newline)}${n.newline}`:""}function F(e,r,n){let t=[];n.header&&e.length>0&&(t.push(`<TR>${e.map(l=>`<TH>${S(l)}</TH>`).join("")}`),t.push("</TR>"));for(let l of r)t.push(`<TR>${l.map(i=>`<TD>${S(u(i,n.nullValue))}</TD>`).join("")}`),t.push("</TR>");return t.length>0?`${t.join(`
16
+ `}function B(e,r,n){let t=[];n.header&&e.length>0&&t.push(e.map(l=>`'${l}'`).join(","));for(let l of r)t.push(l.map(i=>i==null?"NULL":typeof i=="number"?Number.isInteger(i)?String(i):y(i):`'${String(i)}'`).join(","));return t.length>0?`${t.join(n.newline)}${n.newline}`:""}function D(e,r,n){let t=[];n.header&&e.length>0&&(t.push(`<TR>${e.map(l=>`<TH>${E(l)}</TH>`).join("")}`),t.push("</TR>"));for(let l of r)t.push(`<TR>${l.map(i=>`<TD>${E(u(i,n.nullValue))}</TD>`).join("")}`),t.push("</TR>");return t.length>0?`${t.join(`
17
17
  `)}
18
- `:""}function S(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}function Q(e,r,n){let i=[];n.header&&e.length>0&&i.push(e.join(""));for(let s of r)i.push(s.map(o=>u(o,n.nullValue)).join(""));return i.length>0?i.join("")+"":""}var J=5e3,W={name:"sqlite3",summary:"SQLite database CLI",usage:"sqlite3 [OPTIONS] DATABASE [SQL]",options:["-list output in list mode (default)","-csv output in CSV mode","-json output in JSON mode","-line output in line mode","-column output in column mode","-table output as ASCII table","-markdown output as markdown table","-tabs output in tab-separated mode","-box output in Unicode box mode","-quote output in SQL quote mode","-html output as HTML table","-ascii output in ASCII mode (control chars)","-header show column headers","-noheader hide column headers","-separator SEP field separator for list mode (default: |)","-newline SEP row separator (default: \\n)","-nullvalue TEXT text for NULL values (default: empty)","-readonly open database read-only (no writeback)","-bail stop on first error","-echo print SQL before execution","-cmd COMMAND run SQL command before main SQL","-version show SQLite version","-- end of options","--help show this help"],examples:['sqlite3 :memory: "CREATE TABLE t(x); INSERT INTO t VALUES(1); SELECT * FROM t"','sqlite3 -json data.db "SELECT * FROM users"','sqlite3 -csv -header data.db "SELECT id, name FROM products"','sqlite3 -box data.db "SELECT * FROM users"']};function _(e){let r={mode:"list",header:!1,separator:"|",newline:`
18
+ `:""}function E(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}function U(e,r,n){let i=[];n.header&&e.length>0&&i.push(e.join(""));for(let s of r)i.push(s.map(o=>u(o,n.nullValue)).join(""));return i.length>0?i.join("")+"":""}var z=5e3,X={name:"sqlite3",summary:"SQLite database CLI",usage:"sqlite3 [OPTIONS] DATABASE [SQL]",options:["-list output in list mode (default)","-csv output in CSV mode","-json output in JSON mode","-line output in line mode","-column output in column mode","-table output as ASCII table","-markdown output as markdown table","-tabs output in tab-separated mode","-box output in Unicode box mode","-quote output in SQL quote mode","-html output as HTML table","-ascii output in ASCII mode (control chars)","-header show column headers","-noheader hide column headers","-separator SEP field separator for list mode (default: |)","-newline SEP row separator (default: \\n)","-nullvalue TEXT text for NULL values (default: empty)","-readonly open database read-only (no writeback)","-bail stop on first error","-echo print SQL before execution","-cmd COMMAND run SQL command before main SQL","-version show SQLite version","-- end of options","--help show this help"],examples:['sqlite3 :memory: "CREATE TABLE t(x); INSERT INTO t VALUES(1); SELECT * FROM t"','sqlite3 -json data.db "SELECT * FROM users"','sqlite3 -csv -header data.db "SELECT id, name FROM products"','sqlite3 -box data.db "SELECT * FROM users"']};function Y(e){let r={mode:"list",header:!1,separator:"|",newline:`
19
19
  `,nullValue:"",readonly:!1,bail:!1,echo:!1,cmd:null},n=null,t=null,l=!1,i=!1;for(let s=0;s<e.length;s++){let o=e[s];if(i){n===null?n=o:t===null&&(t=o);continue}if(o==="--")i=!0;else if(o==="-version")l=!0;else if(o==="-list")r.mode="list";else if(o==="-csv")r.mode="csv";else if(o==="-json")r.mode="json";else if(o==="-line")r.mode="line";else if(o==="-column")r.mode="column";else if(o==="-table")r.mode="table";else if(o==="-markdown")r.mode="markdown";else if(o==="-tabs")r.mode="tabs";else if(o==="-box")r.mode="box";else if(o==="-quote")r.mode="quote";else if(o==="-html")r.mode="html";else if(o==="-ascii")r.mode="ascii";else if(o==="-header")r.header=!0;else if(o==="-noheader")r.header=!1;else if(o==="-readonly")r.readonly=!0;else if(o==="-bail")r.bail=!0;else if(o==="-echo")r.echo=!0;else if(o==="-separator"){if(s+1>=e.length)return{stdout:"",stderr:`sqlite3: Error: missing argument to -separator
20
20
  `,exitCode:1};r.separator=e[++s]}else if(o==="-newline"){if(s+1>=e.length)return{stdout:"",stderr:`sqlite3: Error: missing argument to -newline
21
21
  `,exitCode:1};r.newline=e[++s]}else if(o==="-nullvalue"){if(s+1>=e.length)return{stdout:"",stderr:`sqlite3: Error: missing argument to -nullvalue
22
22
  `,exitCode:1};r.nullValue=e[++s]}else if(o==="-cmd"){if(s+1>=e.length)return{stdout:"",stderr:`sqlite3: Error: missing argument to -cmd
23
23
  `,exitCode:1};r.cmd=e[++s]}else{if(o.startsWith("-"))return{stdout:"",stderr:`sqlite3: Error: unknown option: ${o.startsWith("--")?o.slice(1):o}
24
24
  Use -help for a list of options.
25
- `,exitCode:1};n===null?n=o:t===null&&(t=o)}}return{options:r,database:n,sql:t,showVersion:l}}async function z(){let e=await H(),r=new e.Database;try{let n=r.exec("SELECT sqlite_version()");return n.length>0&&n[0].values.length>0?String(n[0].values[0][0]):"unknown"}finally{r.close()}}function X(){let e=B(U(import.meta.url)),r=p(e,"../../commands/sqlite3/worker.js");if(h(r))return r;let n=p(e,"worker.js");if(h(n))return n;let t=p(e,"../../../dist/commands/sqlite3/worker.js");if(h(t))return t;throw new Error("sqlite3 worker not found. Run 'pnpm build' to compile the worker.")}async function Y(e,r){try{let n=X();return await new Promise((t,l)=>{let i=new D(n,{workerData:e}),s=setTimeout(()=>{i.terminate(),t({success:!1,error:`Query timeout: execution exceeded ${r}ms limit`})},r);i.on("message",o=>{clearTimeout(s),t(o)}),i.on("error",o=>{clearTimeout(s),l(o)}),i.on("exit",o=>{clearTimeout(s),o!==0&&t({success:!1,error:`Worker exited with code ${o}`})})})}catch(n){throw new Error(`sqlite3 worker failed to load: ${n.message}`)}}var oe={name:"sqlite3",async execute(e,r){if($(e)||e.includes("-help"))return b(W);let n=_(e);if("exitCode"in n)return n;let{options:t,database:l,sql:i,showVersion:s}=n;if(s)return{stdout:`${await z()}
25
+ `,exitCode:1};n===null?n=o:t===null&&(t=o)}}return{options:r,database:n,sql:t,showVersion:l}}async function G(){let e=await p.runTrustedAsync(()=>_()),r=new e.Database;try{let n=r.exec("SELECT sqlite_version()");return n.length>0&&n[0].values.length>0?String(n[0].values[0][0]):"unknown"}finally{r.close()}}function K(){let e=H(W(import.meta.url)),r=w(e,"../../commands/sqlite3/worker.js");if(g(r))return r;let n=w(e,"worker.js");if(g(n))return n;let t=w(e,"../../../dist/commands/sqlite3/worker.js");if(g(t))return t;throw new Error("sqlite3 worker not found. Run 'pnpm build' to compile the worker.")}var Z={createWorker(e,r){return new J(e,{workerData:r})}};async function v(e,r){try{let n=K();return await new Promise((t,l)=>{let i=p.runTrusted(()=>Z.createWorker(n,e)),s=j(()=>{i.terminate(),t({success:!1,error:`Query timeout: execution exceeded ${r}ms limit`})},r);i.on("message",o=>{if(o.type==="security-violation"){h(s),t({success:!1,error:`Security violation: ${o.violation?.type??"unknown"}`});return}h(s),t(o)}),i.on("error",o=>{h(s),l(o)}),i.on("exit",o=>{h(s),o!==0&&t({success:!1,error:`Worker exited with code ${o}`})})})}catch(n){throw new Error(`sqlite3 worker failed to load: ${n.message}`)}}var fe={name:"sqlite3",async execute(e,r){if(q(e)||e.includes("-help"))return S(X);let n=Y(e);if("exitCode"in n)return n;let{options:t,database:l,sql:i,showVersion:s}=n;if(s)return{stdout:`${await G()}
26
26
  `,stderr:"",exitCode:0};if(!l)return{stdout:"",stderr:`sqlite3: missing database argument
27
27
  `,exitCode:1};let o=i||r.stdin.trim();if(t.cmd&&(o=t.cmd+(o?`; ${o}`:"")),!o)return{stdout:"",stderr:`sqlite3: no SQL provided
28
- `,exitCode:1};let f=l===":memory:",m="",g=null;try{f||(m=r.fs.resolvePath(r.cwd,l),await r.fs.exists(m)&&(g=await r.fs.readFileBuffer(m)))}catch(a){return{stdout:"",stderr:`sqlite3: unable to open database "${l}": ${a.message}
29
- `,exitCode:1}}let x=r.limits?.maxSqliteTimeoutMs??J,T={dbBuffer:g,sql:o,options:{bail:t.bail,echo:t.echo}},d;try{d=await Y(T,x)}catch(a){return{stdout:"",stderr:`sqlite3: worker error: ${a.message}
28
+ `,exitCode:1};let f=l===":memory:",m="",b=null;try{f||(m=r.fs.resolvePath(r.cwd,l),await r.fs.exists(m)&&(b=await r.fs.readFileBuffer(m)))}catch(a){return{stdout:"",stderr:`sqlite3: unable to open database "${l}": ${a.message}
29
+ `,exitCode:1}}let C=r.limits?.maxSqliteTimeoutMs??z,k={dbBuffer:b,sql:o,options:{bail:t.bail,echo:t.echo}},d;try{d=await v(k,C)}catch(a){return{stdout:"",stderr:`sqlite3: worker error: ${a.message}
30
30
  `,exitCode:1}}if(!d.success)return{stdout:"",stderr:`sqlite3: ${d.error}
31
- `,exitCode:1};let C={mode:t.mode,header:t.header,separator:t.separator,newline:t.newline,nullValue:t.nullValue},c="";t.echo&&(c+=`${o}
32
- `);let w=!1;for(let a of d.results)if(a.type==="error"){if(t.bail)return{stdout:c,stderr:`Error: ${a.error}
31
+ `,exitCode:1};let L={mode:t.mode,header:t.header,separator:t.separator,newline:t.newline,nullValue:t.nullValue},c="";t.echo&&(c+=`${o}
32
+ `);let $=!1;for(let a of d.results)if(a.type==="error"){if(t.bail)return{stdout:c,stderr:`Error: ${a.error}
33
33
  `,exitCode:1};c+=`Error: ${a.error}
34
- `,w=!0}else a.columns&&a.rows&&(a.rows.length>0||t.header)&&(c+=q(a.columns,a.rows,C));if(d.hasModifications&&!t.readonly&&!f&&m&&d.dbBuffer)try{await r.fs.writeFile(m,d.dbBuffer)}catch(a){return{stdout:c,stderr:`sqlite3: failed to write database: ${a.message}
35
- `,exitCode:1}}return{stdout:c,stderr:"",exitCode:w&&t.bail?1:0}}},ie={name:"sqlite3",flags:[],needsArgs:!0};export{oe as a,ie as b};
34
+ `,$=!0}else a.columns&&a.rows&&(a.rows.length>0||t.header)&&(c+=T(a.columns,a.rows,L));if(d.hasModifications&&!t.readonly&&!f&&m&&d.dbBuffer)try{await r.fs.writeFile(m,d.dbBuffer)}catch(a){return{stdout:c,stderr:`sqlite3: failed to write database: ${a.message}
35
+ `,exitCode:1}}return{stdout:c,stderr:"",exitCode:$&&t.bail?1:0}}},de={name:"sqlite3",flags:[],needsArgs:!0};export{Z as a,fe as b,de as c};
@@ -1,4 +1,4 @@
1
- import{a as Ja}from"./chunk-SYMJJMQ4.js";import{a as Le,b as Oi}from"./chunk-3JDQKHMS.js";import{k as Ts}from"./chunk-PSW6BMXW.js";import{a as Ai,b as Ti,c as ae}from"./chunk-74CEPOFO.js";import{a as bt,c as b,e as As}from"./chunk-DXB73IDG.js";var Yi=b((rp,Ri)=>{var{hasOwnProperty:Ps}=Object.prototype,Ms=(s,e={})=>{typeof e=="string"&&(e={section:e}),e.align=e.align===!0,e.newline=e.newline===!0,e.sort=e.sort===!0,e.whitespace=e.whitespace===!0||e.align===!0,e.platform=e.platform||typeof process<"u"&&process.platform,e.bracketedArray=e.bracketedArray!==!1;let t=e.platform==="win32"?`\r
1
+ import{a as Ja}from"./chunk-SYMJJMQ4.js";import{a as Le,b as Oi}from"./chunk-LN5KAJOV.js";import{k as Ts}from"./chunk-GFQRA5P5.js";import{a as Ai,b as Ti,c as ae}from"./chunk-74CEPOFO.js";import{a as bt,c as b,e as As}from"./chunk-DXB73IDG.js";var Yi=b((rp,Ri)=>{var{hasOwnProperty:Ps}=Object.prototype,Ms=(s,e={})=>{typeof e=="string"&&(e={section:e}),e.align=e.align===!0,e.newline=e.newline===!0,e.sort=e.sort===!0,e.whitespace=e.whitespace===!0||e.align===!0,e.platform=e.platform||typeof process<"u"&&process.platform,e.bracketedArray=e.bracketedArray!==!1;let t=e.platform==="win32"?`\r
2
2
  `:`
3
3
  `,n=e.whitespace?" = ":"=",i=[],r=e.sort?Object.keys(s).sort():Object.keys(s),o=0;e.align&&(o=G(r.filter(c=>s[c]===null||Array.isArray(s[c])||typeof s[c]!="object").map(c=>Array.isArray(s[c])?`${c}[]`:c).concat([""]).reduce((c,u)=>G(c).length>=G(u).length?c:u)).length);let a="",l=e.bracketedArray?"[]":"";for(let c of r){let u=s[c];if(u&&Array.isArray(u))for(let f of u)a+=G(`${c}${l}`).padEnd(o," ")+n+G(f)+t;else u&&typeof u=="object"?i.push(c):a+=G(c).padEnd(o," ")+n+G(u)+t}e.section&&a.length&&(a="["+G(e.section)+"]"+(e.newline?t+t:t)+a);for(let c of i){let u=Vi(c,".").join("\\."),f=(e.section?e.section+".":"")+u,d=Ms(s[c],{...e,section:f});a.length&&d.length&&(a+=t),a+=d}return a};function Vi(s,e){var t=0,n=0,i=0,r=[];do if(i=s.indexOf(e,t),i!==-1){if(t=i+e.length,i>0&&s[i-1]==="\\")continue;r.push(s.slice(n,i)),n=i+e.length}while(i!==-1);return r.push(s.slice(n)),r}var ji=(s,e={})=>{e.bracketedArray=e.bracketedArray!==!1;let t=Object.create(null),n=t,i=null,r=/^\[([^\]]*)\]\s*$|^([^=]+)(=(.*))?$/i,o=s.split(/[\r\n]+/g),a={};for(let c of o){if(!c||c.match(/^\s*[;#]/)||c.match(/^\s*$/))continue;let u=c.match(r);if(!u)continue;if(u[1]!==void 0){if(i=Nt(u[1]),i==="__proto__"){n=Object.create(null);continue}n=t[i]=t[i]||Object.create(null);continue}let f=Nt(u[2]),d;e.bracketedArray?d=f.length>2&&f.slice(-2)==="[]":(a[f]=(a?.[f]||0)+1,d=a[f]>1);let p=d&&f.endsWith("[]")?f.slice(0,-2):f;if(p==="__proto__")continue;let g=u[3]?Nt(u[4]):!0,h=g==="true"||g==="false"||g==="null"?JSON.parse(g):g;d&&(Ps.call(n,p)?Array.isArray(n[p])||(n[p]=[n[p]]):n[p]=[]),Array.isArray(n[p])?n[p].push(h):n[p]=h}let l=[];for(let c of Object.keys(t)){if(!Ps.call(t,c)||typeof t[c]!="object"||Array.isArray(t[c]))continue;let u=Vi(c,".");n=t;let f=u.pop(),d=f.replace(/\\\./g,".");for(let p of u)p!=="__proto__"&&((!Ps.call(n,p)||typeof n[p]!="object")&&(n[p]=Object.create(null)),n=n[p]);n===t&&d===f||(n[d]=t[c],l.push(c))}for(let c of l)delete t[c];return t},Ki=s=>s.startsWith('"')&&s.endsWith('"')||s.startsWith("'")&&s.endsWith("'"),G=s=>typeof s!="string"||s.match(/[=\r\n]/)||s.match(/^\[/)||s.length>1&&Ki(s)||s!==s.trim()?JSON.stringify(s):s.split(";").join("\\;").split("#").join("\\#"),Nt=s=>{if(s=(s||"").trim(),Ki(s)){s.charAt(0)==="'"&&(s=s.slice(1,-1));try{s=JSON.parse(s)}catch{}}else{let e=!1,t="";for(let n=0,i=s.length;n<i;n++){let r=s.charAt(n);if(e)"\\;#".indexOf(r)!==-1?t+=r:t+="\\"+r,e=!1;else{if(";#".indexOf(r)!==-1)break;r==="\\"?e=!0:t+=r}}return e&&(t+="\\"),t.trim()}return s};Ri.exports={parse:ji,decode:ji,stringify:Ms,encode:Ms,safe:G,unsafe:Nt}});var O=b($=>{"use strict";var Fs=Symbol.for("yaml.alias"),Di=Symbol.for("yaml.document"),kt=Symbol.for("yaml.map"),zi=Symbol.for("yaml.pair"),js=Symbol.for("yaml.scalar"),It=Symbol.for("yaml.seq"),X=Symbol.for("yaml.node.type"),Xl=s=>!!s&&typeof s=="object"&&s[X]===Fs,Ql=s=>!!s&&typeof s=="object"&&s[X]===Di,Hl=s=>!!s&&typeof s=="object"&&s[X]===kt,Dl=s=>!!s&&typeof s=="object"&&s[X]===zi,Zi=s=>!!s&&typeof s=="object"&&s[X]===js,zl=s=>!!s&&typeof s=="object"&&s[X]===It;function er(s){if(s&&typeof s=="object")switch(s[X]){case kt:case It:return!0}return!1}function Zl(s){if(s&&typeof s=="object")switch(s[X]){case Fs:case kt:case js:case It:return!0}return!1}var ec=s=>(Zi(s)||er(s))&&!!s.anchor;$.ALIAS=Fs;$.DOC=Di;$.MAP=kt;$.NODE_TYPE=X;$.PAIR=zi;$.SCALAR=js;$.SEQ=It;$.hasAnchor=ec;$.isAlias=Xl;$.isCollection=er;$.isDocument=Ql;$.isMap=Hl;$.isNode=Zl;$.isPair=Dl;$.isScalar=Zi;$.isSeq=zl});var Ve=b(Vs=>{"use strict";var M=O(),F=Symbol("break visit"),tr=Symbol("skip children"),J=Symbol("remove node");function qt(s,e){let t=sr(e);M.isDocument(s)?Se(null,s.contents,t,Object.freeze([s]))===J&&(s.contents=null):Se(null,s,t,Object.freeze([]))}qt.BREAK=F;qt.SKIP=tr;qt.REMOVE=J;function Se(s,e,t,n){let i=nr(s,e,t,n);if(M.isNode(i)||M.isPair(i))return ir(s,n,i),Se(s,i,t,n);if(typeof i!="symbol"){if(M.isCollection(e)){n=Object.freeze(n.concat(e));for(let r=0;r<e.items.length;++r){let o=Se(r,e.items[r],t,n);if(typeof o=="number")r=o-1;else{if(o===F)return F;o===J&&(e.items.splice(r,1),r-=1)}}}else if(M.isPair(e)){n=Object.freeze(n.concat(e));let r=Se("key",e.key,t,n);if(r===F)return F;r===J&&(e.key=null);let o=Se("value",e.value,t,n);if(o===F)return F;o===J&&(e.value=null)}}return i}async function Ct(s,e){let t=sr(e);M.isDocument(s)?await Ne(null,s.contents,t,Object.freeze([s]))===J&&(s.contents=null):await Ne(null,s,t,Object.freeze([]))}Ct.BREAK=F;Ct.SKIP=tr;Ct.REMOVE=J;async function Ne(s,e,t,n){let i=await nr(s,e,t,n);if(M.isNode(i)||M.isPair(i))return ir(s,n,i),Ne(s,i,t,n);if(typeof i!="symbol"){if(M.isCollection(e)){n=Object.freeze(n.concat(e));for(let r=0;r<e.items.length;++r){let o=await Ne(r,e.items[r],t,n);if(typeof o=="number")r=o-1;else{if(o===F)return F;o===J&&(e.items.splice(r,1),r-=1)}}}else if(M.isPair(e)){n=Object.freeze(n.concat(e));let r=await Ne("key",e.key,t,n);if(r===F)return F;r===J&&(e.key=null);let o=await Ne("value",e.value,t,n);if(o===F)return F;o===J&&(e.value=null)}}return i}function sr(s){return typeof s=="object"&&(s.Collection||s.Node||s.Value)?Object.assign({Alias:s.Node,Map:s.Node,Scalar:s.Node,Seq:s.Node},s.Value&&{Map:s.Value,Scalar:s.Value,Seq:s.Value},s.Collection&&{Map:s.Collection,Seq:s.Collection},s):s}function nr(s,e,t,n){if(typeof t=="function")return t(s,e,n);if(M.isMap(e))return t.Map?.(s,e,n);if(M.isSeq(e))return t.Seq?.(s,e,n);if(M.isPair(e))return t.Pair?.(s,e,n);if(M.isScalar(e))return t.Scalar?.(s,e,n);if(M.isAlias(e))return t.Alias?.(s,e,n)}function ir(s,e,t){let n=e[e.length-1];if(M.isCollection(n))n.items[s]=t;else if(M.isPair(n))s==="key"?n.key=t:n.value=t;else if(M.isDocument(n))n.contents=t;else{let i=M.isAlias(n)?"alias":"scalar";throw new Error(`Cannot replace node with ${i} parent`)}}Vs.visit=qt;Vs.visitAsync=Ct});var Ks=b(or=>{"use strict";var rr=O(),tc=Ve(),sc={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},nc=s=>s.replace(/[!,[\]{}]/g,e=>sc[e]),Ke=class s{constructor(e,t){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},s.defaultYaml,e),this.tags=Object.assign({},s.defaultTags,t)}clone(){let e=new s(this.yaml,this.tags);return e.docStart=this.docStart,e}atDocument(){let e=new s(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:s.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},s.defaultTags);break}return e}add(e,t){this.atNextDocument&&(this.yaml={explicit:s.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},s.defaultTags),this.atNextDocument=!1);let n=e.trim().split(/[ \t]+/),i=n.shift();switch(i){case"%TAG":{if(n.length!==2&&(t(0,"%TAG directive should contain exactly two parts"),n.length<2))return!1;let[r,o]=n;return this.tags[r]=o,!0}case"%YAML":{if(this.yaml.explicit=!0,n.length!==1)return t(0,"%YAML directive should contain exactly one part"),!1;let[r]=n;if(r==="1.1"||r==="1.2")return this.yaml.version=r,!0;{let o=/^\d+\.\d+$/.test(r);return t(6,`Unsupported YAML version ${r}`,o),!1}}default:return t(0,`Unknown directive ${i}`,!0),!1}}tagName(e,t){if(e==="!")return"!";if(e[0]!=="!")return t(`Not a valid tag: ${e}`),null;if(e[1]==="<"){let o=e.slice(2,-1);return o==="!"||o==="!!"?(t(`Verbatim tags aren't resolved, so ${e} is invalid.`),null):(e[e.length-1]!==">"&&t("Verbatim tags must end with a >"),o)}let[,n,i]=e.match(/^(.*!)([^!]*)$/s);i||t(`The ${e} tag has no suffix`);let r=this.tags[n];if(r)try{return r+decodeURIComponent(i)}catch(o){return t(String(o)),null}return n==="!"?e:(t(`Could not resolve tag: ${e}`),null)}tagString(e){for(let[t,n]of Object.entries(this.tags))if(e.startsWith(n))return t+nc(e.substring(n.length));return e[0]==="!"?e:`!<${e}>`}toString(e){let t=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],n=Object.entries(this.tags),i;if(e&&n.length>0&&rr.isNode(e.contents)){let r={};tc.visit(e.contents,(o,a)=>{rr.isNode(a)&&a.tag&&(r[a.tag]=!0)}),i=Object.keys(r)}else i=[];for(let[r,o]of n)r==="!!"&&o==="tag:yaml.org,2002:"||(!e||i.some(a=>a.startsWith(o)))&&t.push(`%TAG ${r} ${o}`);return t.join(`
4
4
  `)}};Ke.defaultYaml={explicit:!1,version:"1.2"};Ke.defaultTags={"!!":"tag:yaml.org,2002:"};or.Directives=Ke});var Lt=b(Re=>{"use strict";var ar=O(),ic=Ve();function rc(s){if(/[\x00-\x19\s,[\]{}]/.test(s)){let t=`Anchor must not contain whitespace or control characters: ${JSON.stringify(s)}`;throw new Error(t)}return!0}function lr(s){let e=new Set;return ic.visit(s,{Value(t,n){n.anchor&&e.add(n.anchor)}}),e}function cr(s,e){for(let t=1;;++t){let n=`${s}${t}`;if(!e.has(n))return n}}function oc(s,e){let t=[],n=new Map,i=null;return{onAnchor:r=>{t.push(r),i??(i=lr(s));let o=cr(e,i);return i.add(o),o},setAnchors:()=>{for(let r of t){let o=n.get(r);if(typeof o=="object"&&o.anchor&&(ar.isScalar(o.node)||ar.isCollection(o.node)))o.node.anchor=o.anchor;else{let a=new Error("Failed to resolve repeated object (this should not happen)");throw a.source=r,a}}},sourceObjects:n}}Re.anchorIsValid=rc;Re.anchorNames=lr;Re.createNodeAnchors=oc;Re.findNewAnchor=cr});var Rs=b(fr=>{"use strict";function Ye(s,e,t,n){if(n&&typeof n=="object")if(Array.isArray(n))for(let i=0,r=n.length;i<r;++i){let o=n[i],a=Ye(s,n,String(i),o);a===void 0?delete n[i]:a!==o&&(n[i]=a)}else if(n instanceof Map)for(let i of Array.from(n.keys())){let r=n.get(i),o=Ye(s,n,i,r);o===void 0?n.delete(i):o!==r&&n.set(i,o)}else if(n instanceof Set)for(let i of Array.from(n)){let r=Ye(s,n,i,i);r===void 0?n.delete(i):r!==i&&(n.delete(i),n.add(r))}else for(let[i,r]of Object.entries(n)){let o=Ye(s,n,i,r);o===void 0?delete n[i]:o!==r&&(n[i]=o)}return s.call(e,t,n)}fr.applyReviver=Ye});var D=b(dr=>{"use strict";var ac=O();function ur(s,e,t){if(Array.isArray(s))return s.map((n,i)=>ur(n,String(i),t));if(s&&typeof s.toJSON=="function"){if(!t||!ac.hasAnchor(s))return s.toJSON(e,t);let n={aliasCount:0,count:1,res:void 0};t.anchors.set(s,n),t.onCreate=r=>{n.res=r,delete t.onCreate};let i=s.toJSON(e,t);return t.onCreate&&t.onCreate(i),i}return typeof s=="bigint"&&!t?.keep?Number(s):s}dr.toJS=ur});var Pt=b(pr=>{"use strict";var lc=Rs(),hr=O(),cc=D(),Ys=class{constructor(e){Object.defineProperty(this,hr.NODE_TYPE,{value:e})}clone(){let e=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(e.range=this.range.slice()),e}toJS(e,{mapAsMap:t,maxAliasCount:n,onAnchor:i,reviver:r}={}){if(!hr.isDocument(e))throw new TypeError("A document argument is required");let o={anchors:new Map,doc:e,keep:!0,mapAsMap:t===!0,mapKeyWarned:!1,maxAliasCount:typeof n=="number"?n:100},a=cc.toJS(this,"",o);if(typeof i=="function")for(let{count:l,res:c}of o.anchors.values())i(c,l);return typeof r=="function"?lc.applyReviver(r,{"":a},"",a):a}};pr.NodeBase=Ys});var Ue=b(mr=>{"use strict";var fc=Lt(),uc=Ve(),Ee=O(),dc=Pt(),hc=D(),Us=class extends dc.NodeBase{constructor(e){super(Ee.ALIAS),this.source=e,Object.defineProperty(this,"tag",{set(){throw new Error("Alias nodes cannot have tags")}})}resolve(e,t){let n;t?.aliasResolveCache?n=t.aliasResolveCache:(n=[],uc.visit(e,{Node:(r,o)=>{(Ee.isAlias(o)||Ee.hasAnchor(o))&&n.push(o)}}),t&&(t.aliasResolveCache=n));let i;for(let r of n){if(r===this)break;r.anchor===this.source&&(i=r)}return i}toJSON(e,t){if(!t)return{source:this.source};let{anchors:n,doc:i,maxAliasCount:r}=t,o=this.resolve(i,t);if(!o){let l=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new ReferenceError(l)}let a=n.get(o);if(a||(hc.toJS(o,null,t),a=n.get(o)),a?.res===void 0){let l="This should not happen: Alias anchor was not resolved?";throw new ReferenceError(l)}if(r>=0&&(a.count+=1,a.aliasCount===0&&(a.aliasCount=Mt(i,o,n)),a.count*a.aliasCount>r)){let l="Excessive alias count indicates a resource exhaustion attack";throw new ReferenceError(l)}return a.res}toString(e,t,n){let i=`*${this.source}`;if(e){if(fc.anchorIsValid(this.source),e.options.verifyAliasOrder&&!e.anchors.has(this.source)){let r=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new Error(r)}if(e.implicitKey)return`${i} `}return i}};function Mt(s,e,t){if(Ee.isAlias(e)){let n=e.resolve(s),i=t&&n&&t.get(n);return i?i.count*i.aliasCount:0}else if(Ee.isCollection(e)){let n=0;for(let i of e.items){let r=Mt(s,i,t);r>n&&(n=r)}return n}else if(Ee.isPair(e)){let n=Mt(s,e.key,t),i=Mt(s,e.value,t);return Math.max(n,i)}return 1}mr.Alias=Us});var C=b(Js=>{"use strict";var pc=O(),mc=Pt(),gc=D(),yc=s=>!s||typeof s!="function"&&typeof s!="object",z=class extends mc.NodeBase{constructor(e){super(pc.SCALAR),this.value=e}toJSON(e,t){return t?.keep?this.value:gc.toJS(this.value,e,t)}toString(){return String(this.value)}};z.BLOCK_FOLDED="BLOCK_FOLDED";z.BLOCK_LITERAL="BLOCK_LITERAL";z.PLAIN="PLAIN";z.QUOTE_DOUBLE="QUOTE_DOUBLE";z.QUOTE_SINGLE="QUOTE_SINGLE";Js.Scalar=z;Js.isScalarValue=yc});var Je=b(yr=>{"use strict";var bc=Ue(),fe=O(),gr=C(),wc="tag:yaml.org,2002:";function Sc(s,e,t){if(e){let n=t.filter(r=>r.tag===e),i=n.find(r=>!r.format)??n[0];if(!i)throw new Error(`Tag ${e} not found`);return i}return t.find(n=>n.identify?.(s)&&!n.format)}function Nc(s,e,t){if(fe.isDocument(s)&&(s=s.contents),fe.isNode(s))return s;if(fe.isPair(s)){let f=t.schema[fe.MAP].createNode?.(t.schema,null,t);return f.items.push(s),f}(s instanceof String||s instanceof Number||s instanceof Boolean||typeof BigInt<"u"&&s instanceof BigInt)&&(s=s.valueOf());let{aliasDuplicateObjects:n,onAnchor:i,onTagObj:r,schema:o,sourceObjects:a}=t,l;if(n&&s&&typeof s=="object"){if(l=a.get(s),l)return l.anchor??(l.anchor=i(s)),new bc.Alias(l.anchor);l={anchor:null,node:null},a.set(s,l)}e?.startsWith("!!")&&(e=wc+e.slice(2));let c=Sc(s,e,o.tags);if(!c){if(s&&typeof s.toJSON=="function"&&(s=s.toJSON()),!s||typeof s!="object"){let f=new gr.Scalar(s);return l&&(l.node=f),f}c=s instanceof Map?o[fe.MAP]:Symbol.iterator in Object(s)?o[fe.SEQ]:o[fe.MAP]}r&&(r(c),delete t.onTagObj);let u=c?.createNode?c.createNode(t.schema,s,t):typeof c?.nodeClass?.from=="function"?c.nodeClass.from(t.schema,s,t):new gr.Scalar(s);return e?u.tag=e:c.default||(u.tag=c.tag),l&&(l.node=u),u}yr.createNode=Nc});var _t=b($t=>{"use strict";var Ec=Je(),W=O(),vc=Pt();function Ws(s,e,t){let n=t;for(let i=e.length-1;i>=0;--i){let r=e[i];if(typeof r=="number"&&Number.isInteger(r)&&r>=0){let o=[];o[r]=n,n=o}else n=new Map([[r,n]])}return Ec.createNode(n,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw new Error("This should not happen, please report a bug.")},schema:s,sourceObjects:new Map})}var br=s=>s==null||typeof s=="object"&&!!s[Symbol.iterator]().next().done,Gs=class extends vc.NodeBase{constructor(e,t){super(e),Object.defineProperty(this,"schema",{value:t,configurable:!0,enumerable:!1,writable:!0})}clone(e){let t=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return e&&(t.schema=e),t.items=t.items.map(n=>W.isNode(n)||W.isPair(n)?n.clone(e):n),this.range&&(t.range=this.range.slice()),t}addIn(e,t){if(br(e))this.add(t);else{let[n,...i]=e,r=this.get(n,!0);if(W.isCollection(r))r.addIn(i,t);else if(r===void 0&&this.schema)this.set(n,Ws(this.schema,i,t));else throw new Error(`Expected YAML collection at ${n}. Remaining path: ${i}`)}}deleteIn(e){let[t,...n]=e;if(n.length===0)return this.delete(t);let i=this.get(t,!0);if(W.isCollection(i))return i.deleteIn(n);throw new Error(`Expected YAML collection at ${t}. Remaining path: ${n}`)}getIn(e,t){let[n,...i]=e,r=this.get(n,!0);return i.length===0?!t&&W.isScalar(r)?r.value:r:W.isCollection(r)?r.getIn(i,t):void 0}hasAllNullValues(e){return this.items.every(t=>{if(!W.isPair(t))return!1;let n=t.value;return n==null||e&&W.isScalar(n)&&n.value==null&&!n.commentBefore&&!n.comment&&!n.tag})}hasIn(e){let[t,...n]=e;if(n.length===0)return this.has(t);let i=this.get(t,!0);return W.isCollection(i)?i.hasIn(n):!1}setIn(e,t){let[n,...i]=e;if(i.length===0)this.set(n,t);else{let r=this.get(n,!0);if(W.isCollection(r))r.setIn(i,t);else if(r===void 0&&this.schema)this.set(n,Ws(this.schema,i,t));else throw new Error(`Expected YAML collection at ${n}. Remaining path: ${i}`)}}};$t.Collection=Gs;$t.collectionFromPath=Ws;$t.isEmptyPath=br});var We=b(xt=>{"use strict";var Ac=s=>s.replace(/^(?!$)(?: $)?/gm,"#");function Xs(s,e){return/^\n+$/.test(s)?s.substring(1):e?s.replace(/^(?! *$)/gm,e):s}var Tc=(s,e,t)=>s.endsWith(`
@@ -0,0 +1,5 @@
1
+ import{c as u}from"./chunk-OJDRYQWQ.js";import{a as l,b as h}from"./chunk-74CEPOFO.js";var d={name:"bash",summary:"execute shell commands or scripts",usage:"bash [OPTIONS] [SCRIPT_FILE] [ARGUMENTS...]",options:["-c COMMAND execute COMMAND string"," --help display this help and exit"],notes:["Without -c, reads and executes commands from SCRIPT_FILE.","Arguments are passed as $1, $2, etc. to the script.",'$0 is set to the script name (or "bash" with -c).']},y={name:"bash",async execute(t,e){if(h(t))return l(d);if(t[0]==="-c"&&t.length>=2){let i=t[1],s=t[2]||"bash",c=t.slice(3);return o(i,s,c,e)}if(t.length===0)return e.stdin?.trim()?o(e.stdin,"bash",[],e):{stdout:"",stderr:"",exitCode:0};let n=t[0],r=t.slice(1);try{let i=e.fs.resolvePath(e.cwd,n),s=await e.fs.readFile(i);return o(s,n,r,e)}catch{return{stdout:"",stderr:`bash: ${n}: No such file or directory
2
+ `,exitCode:127}}}},C={name:"sh",async execute(t,e){if(h(t))return l({...d,name:"sh",summary:"execute shell commands or scripts (POSIX shell)"});if(t[0]==="-c"&&t.length>=2){let i=t[1],s=t[2]||"sh",c=t.slice(3);return o(i,s,c,e)}if(t.length===0)return e.stdin?.trim()?o(e.stdin,"sh",[],e):{stdout:"",stderr:"",exitCode:0};let n=t[0],r=t.slice(1);try{let i=e.fs.resolvePath(e.cwd,n),s=await e.fs.readFile(i);return o(s,n,r,e)}catch{return{stdout:"",stderr:`sh: ${n}: No such file or directory
3
+ `,exitCode:127}}}};async function o(t,e,n,r){if(!r.exec)return{stdout:"",stderr:`bash: internal error: exec function not available
4
+ `,exitCode:1};let i=u(r.exportedEnv||{},{0:e,"#":String(n.length),"@":n.join(" "),"*":n.join(" ")});n.forEach((a,m)=>{i[String(m+1)]=a});let s=t;if(s.startsWith("#!")){let a=s.indexOf(`
5
+ `);a!==-1&&(s=s.slice(a+1))}return await r.exec(s,{env:i,cwd:r.cwd,stdin:r.stdin,signal:r.signal})}var b={name:"bash",flags:[{flag:"-c",type:"value",valueHint:"string"}],stdinType:"text"},P={name:"sh",flags:[{flag:"-c",type:"value",valueHint:"string"}],stdinType:"text"};export{y as a,C as b,b as c,P as d};