@keystrokehq/cli 0.1.2 → 0.1.4

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 (237) hide show
  1. package/dist/alias-RTYYYW3D-CLFgrowj.mjs +98 -0
  2. package/dist/alias-RTYYYW3D-CLFgrowj.mjs.map +1 -0
  3. package/dist/awk2-LA3USKJP-BbsfXVlR.mjs +2737 -0
  4. package/dist/awk2-LA3USKJP-BbsfXVlR.mjs.map +1 -0
  5. package/dist/base64-C2AIWVNC-C0WIgu5V.mjs +123 -0
  6. package/dist/base64-C2AIWVNC-C0WIgu5V.mjs.map +1 -0
  7. package/dist/basename-UB3CIYNI-BgNN3bGm.mjs +53 -0
  8. package/dist/basename-UB3CIYNI-BgNN3bGm.mjs.map +1 -0
  9. package/dist/bash-YZ33HQZQ-N6YyKtUH.mjs +118 -0
  10. package/dist/bash-YZ33HQZQ-N6YyKtUH.mjs.map +1 -0
  11. package/dist/cat-TSFMZVYS-Dz3-oHsV.mjs +63 -0
  12. package/dist/cat-TSFMZVYS-Dz3-oHsV.mjs.map +1 -0
  13. package/dist/chmod-TFEPA42X-YF02QJUv.mjs +125 -0
  14. package/dist/chmod-TFEPA42X-YF02QJUv.mjs.map +1 -0
  15. package/dist/chunk-27JIFWUR-B6ZjjMMI.mjs +100 -0
  16. package/dist/chunk-27JIFWUR-B6ZjjMMI.mjs.map +1 -0
  17. package/dist/chunk-4I3HOE5Z-BixWWVkW.mjs +719 -0
  18. package/dist/chunk-4I3HOE5Z-BixWWVkW.mjs.map +1 -0
  19. package/dist/chunk-4RUAZWKT-D60fyWAB.mjs +22543 -0
  20. package/dist/chunk-4RUAZWKT-D60fyWAB.mjs.map +1 -0
  21. package/dist/chunk-4WKZNNJK-CiwxAWRf.mjs +69 -0
  22. package/dist/chunk-4WKZNNJK-CiwxAWRf.mjs.map +1 -0
  23. package/dist/chunk-5H5SCKJM-BvfXlL01.mjs +606 -0
  24. package/dist/chunk-5H5SCKJM-BvfXlL01.mjs.map +1 -0
  25. package/dist/chunk-AQ6FYS2X-CkVetjym.mjs +37 -0
  26. package/dist/chunk-AQ6FYS2X-CkVetjym.mjs.map +1 -0
  27. package/dist/chunk-BZUGFHVS-CPWRFwK8.mjs +34 -0
  28. package/dist/chunk-BZUGFHVS-CPWRFwK8.mjs.map +1 -0
  29. package/dist/chunk-CHFEPBH4-BUdgjFtD.mjs +594 -0
  30. package/dist/chunk-CHFEPBH4-BUdgjFtD.mjs.map +1 -0
  31. package/dist/chunk-DLL7UR66-BUYgzxnR.mjs +14 -0
  32. package/dist/chunk-DLL7UR66-BUYgzxnR.mjs.map +1 -0
  33. package/dist/chunk-DiodbrVj.mjs +27 -0
  34. package/dist/chunk-EBAPSGAO-Ctfslw2R.mjs +247 -0
  35. package/dist/chunk-EBAPSGAO-Ctfslw2R.mjs.map +1 -0
  36. package/dist/chunk-FOCWZZDE-BIntqBh2.mjs +19 -0
  37. package/dist/chunk-FOCWZZDE-BIntqBh2.mjs.map +1 -0
  38. package/dist/chunk-HBVMHTO5-CJyD-QZX.mjs +10 -0
  39. package/dist/chunk-HBVMHTO5-CJyD-QZX.mjs.map +1 -0
  40. package/dist/chunk-L2UW7DWF-B3tEHhPF.mjs +14 -0
  41. package/dist/chunk-L2UW7DWF-B3tEHhPF.mjs.map +1 -0
  42. package/dist/chunk-L64BMZUV-CyR7RKok.mjs +30 -0
  43. package/dist/chunk-L64BMZUV-CyR7RKok.mjs.map +1 -0
  44. package/dist/chunk-LEKBROJD-CJMrAyu9.mjs +3113 -0
  45. package/dist/chunk-LEKBROJD-CJMrAyu9.mjs.map +1 -0
  46. package/dist/chunk-NRSASXYY-CuWyREpD.mjs +41 -0
  47. package/dist/chunk-NRSASXYY-CuWyREpD.mjs.map +1 -0
  48. package/dist/chunk-QAYAQNCG-Bl0Kbd53.mjs +63 -0
  49. package/dist/chunk-QAYAQNCG-Bl0Kbd53.mjs.map +1 -0
  50. package/dist/chunk-QIQMJJZ4-BwKdslXs.mjs +93 -0
  51. package/dist/chunk-QIQMJJZ4-BwKdslXs.mjs.map +1 -0
  52. package/dist/chunk-SAI2SPQQ-CVRoDNs9.mjs +26 -0
  53. package/dist/chunk-SAI2SPQQ-CVRoDNs9.mjs.map +1 -0
  54. package/dist/chunk-SO6R3ZKN-tTw_RMDX.mjs +140 -0
  55. package/dist/chunk-SO6R3ZKN-tTw_RMDX.mjs.map +1 -0
  56. package/dist/chunk-STHBFACM-lyj-j2a-.mjs +8 -0
  57. package/dist/chunk-STHBFACM-lyj-j2a-.mjs.map +1 -0
  58. package/dist/chunk-SX2HC7SO-Cc4Hpis1.mjs +20 -0
  59. package/dist/chunk-SX2HC7SO-Cc4Hpis1.mjs.map +1 -0
  60. package/dist/chunk-TDD4NFYE-wsWW75MX.mjs +21 -0
  61. package/dist/chunk-TDD4NFYE-wsWW75MX.mjs.map +1 -0
  62. package/dist/chunk-TN7HHBQW-CSB_R-XD.mjs +1137 -0
  63. package/dist/chunk-TN7HHBQW-CSB_R-XD.mjs.map +1 -0
  64. package/dist/chunk-VPADYNBD-BKlA28GJ.mjs +122 -0
  65. package/dist/chunk-VPADYNBD-BKlA28GJ.mjs.map +1 -0
  66. package/dist/chunk-W5DWRFSU-lCyWk0ph.mjs +11 -0
  67. package/dist/chunk-W5DWRFSU-lCyWk0ph.mjs.map +1 -0
  68. package/dist/chunk-WNH3HOQA-BCZUOjCJ.mjs +34 -0
  69. package/dist/chunk-WNH3HOQA-BCZUOjCJ.mjs.map +1 -0
  70. package/dist/chunk-XRFHFXFP-BGxzVZgK.mjs +16 -0
  71. package/dist/chunk-XRFHFXFP-BGxzVZgK.mjs.map +1 -0
  72. package/dist/chunk-YCLFEX4T-COc1AThz.mjs +77 -0
  73. package/dist/chunk-YCLFEX4T-COc1AThz.mjs.map +1 -0
  74. package/dist/clear-HKGFEOF6-CekN2x-O.mjs +28 -0
  75. package/dist/clear-HKGFEOF6-CekN2x-O.mjs.map +1 -0
  76. package/dist/column-XT6UFXNQ-DHENV9D2.mjs +143 -0
  77. package/dist/column-XT6UFXNQ-DHENV9D2.mjs.map +1 -0
  78. package/dist/comm-VV2LDX2J-ppxDJFkY.mjs +87 -0
  79. package/dist/comm-VV2LDX2J-ppxDJFkY.mjs.map +1 -0
  80. package/dist/cp-BISAAS7A-CMWayU4n.mjs +106 -0
  81. package/dist/cp-BISAAS7A-CMWayU4n.mjs.map +1 -0
  82. package/dist/cut-OKARJCCV-Bt8b58eI.mjs +119 -0
  83. package/dist/cut-OKARJCCV-Bt8b58eI.mjs.map +1 -0
  84. package/dist/date-UUUPW43J-B7T5OTZZ.mjs +188 -0
  85. package/dist/date-UUUPW43J-B7T5OTZZ.mjs.map +1 -0
  86. package/dist/diff-MWJFIG7X-DhnPc_5r.mjs +755 -0
  87. package/dist/diff-MWJFIG7X-DhnPc_5r.mjs.map +1 -0
  88. package/dist/dirname-MPHRFUTI-Dkb3S4OX.mjs +43 -0
  89. package/dist/dirname-MPHRFUTI-Dkb3S4OX.mjs.map +1 -0
  90. package/dist/{dist-DjfxlOWX.mjs → dist-C47GdlWY.mjs} +18 -93
  91. package/dist/{dist-DjfxlOWX.mjs.map → dist-C47GdlWY.mjs.map} +1 -1
  92. package/dist/{dist-DWcRd4Se.mjs → dist-CJL2zYbP.mjs} +4 -71
  93. package/dist/dist-CJL2zYbP.mjs.map +1 -0
  94. package/dist/dist-Ch53z2P3.mjs +3 -0
  95. package/dist/dist-CwR72_PS.mjs +1887 -0
  96. package/dist/dist-CwR72_PS.mjs.map +1 -0
  97. package/dist/du-572XNP42-ClP4jXB1.mjs +176 -0
  98. package/dist/du-572XNP42-ClP4jXB1.mjs.map +1 -0
  99. package/dist/echo-NDWZZHPO-CCp_-MxA.mjs +137 -0
  100. package/dist/echo-NDWZZHPO-CCp_-MxA.mjs.map +1 -0
  101. package/dist/env-36M5BO7M-CsP_aiWr.mjs +119 -0
  102. package/dist/env-36M5BO7M-CsP_aiWr.mjs.map +1 -0
  103. package/dist/expand-JSPG6VOP-B-YUvYpu.mjs +145 -0
  104. package/dist/expand-JSPG6VOP-B-YUvYpu.mjs.map +1 -0
  105. package/dist/expr-5JAACS4X-1TBq84gG.mjs +153 -0
  106. package/dist/expr-5JAACS4X-1TBq84gG.mjs.map +1 -0
  107. package/dist/file-IPZJC3FQ-DcZNOWyY.mjs +4201 -0
  108. package/dist/file-IPZJC3FQ-DcZNOWyY.mjs.map +1 -0
  109. package/dist/find-INTH3OLC-6p47KeeT.mjs +1332 -0
  110. package/dist/find-INTH3OLC-6p47KeeT.mjs.map +1 -0
  111. package/dist/fold-4TQNYMSW-C54bHzLd.mjs +138 -0
  112. package/dist/fold-4TQNYMSW-C54bHzLd.mjs.map +1 -0
  113. package/dist/grep-V3LQVMRQ-D99Bq7Kj.mjs +335 -0
  114. package/dist/grep-V3LQVMRQ-D99Bq7Kj.mjs.map +1 -0
  115. package/dist/gzip-O5ASJAFY-CZDRROqP.mjs +592 -0
  116. package/dist/gzip-O5ASJAFY-CZDRROqP.mjs.map +1 -0
  117. package/dist/head-442HYESI-D96RMdki.mjs +36 -0
  118. package/dist/head-442HYESI-D96RMdki.mjs.map +1 -0
  119. package/dist/help-HZ6M2CKN--DK8mY2L.mjs +123 -0
  120. package/dist/help-HZ6M2CKN--DK8mY2L.mjs.map +1 -0
  121. package/dist/history-WYYKSLSZ-ACNQVupn.mjs +48 -0
  122. package/dist/history-WYYKSLSZ-ACNQVupn.mjs.map +1 -0
  123. package/dist/hostname-C4HQXXUP-CXVVFkUK.mjs +24 -0
  124. package/dist/hostname-C4HQXXUP-CXVVFkUK.mjs.map +1 -0
  125. package/dist/html-to-markdown-JW4MSQZO-DQOxFIvF.mjs +15890 -0
  126. package/dist/html-to-markdown-JW4MSQZO-DQOxFIvF.mjs.map +1 -0
  127. package/dist/index.mjs +20 -18
  128. package/dist/index.mjs.map +1 -1
  129. package/dist/join-TBRGI3LQ-B8I9tkJ5.mjs +198 -0
  130. package/dist/join-TBRGI3LQ-B8I9tkJ5.mjs.map +1 -0
  131. package/dist/jq-4XLYLOS5-wFZYfsfJ.mjs +257 -0
  132. package/dist/jq-4XLYLOS5-wFZYfsfJ.mjs.map +1 -0
  133. package/dist/js-exec-N5KEZBH7-CgtG-I6s.mjs +333 -0
  134. package/dist/js-exec-N5KEZBH7-CgtG-I6s.mjs.map +1 -0
  135. package/dist/lib-D4GpdNNK.mjs +45 -0
  136. package/dist/lib-D4GpdNNK.mjs.map +1 -0
  137. package/dist/ln-4LGSXXGD-Dg0R9i5G.mjs +101 -0
  138. package/dist/ln-4LGSXXGD-Dg0R9i5G.mjs.map +1 -0
  139. package/dist/ls-ZJGQER7M-DLDSfI4x.mjs +1891 -0
  140. package/dist/ls-ZJGQER7M-DLDSfI4x.mjs.map +1 -0
  141. package/dist/lzma-CTMDi254.mjs +1135 -0
  142. package/dist/lzma-CTMDi254.mjs.map +1 -0
  143. package/dist/{maybe-auto-update-Ou7H6dXT.mjs → maybe-auto-update-B0kal2FM.mjs} +2 -2
  144. package/dist/{maybe-auto-update-Ou7H6dXT.mjs.map → maybe-auto-update-B0kal2FM.mjs.map} +1 -1
  145. package/dist/md5sum-SPU24VSG-DQc8sqXO.mjs +16 -0
  146. package/dist/md5sum-SPU24VSG-DQc8sqXO.mjs.map +1 -0
  147. package/dist/mkdir-MEPGZOB6-BjUKzhdL.mjs +58 -0
  148. package/dist/mkdir-MEPGZOB6-BjUKzhdL.mjs.map +1 -0
  149. package/dist/mv-W5BIQ646-CdSIyY-U.mjs +93 -0
  150. package/dist/mv-W5BIQ646-CdSIyY-U.mjs.map +1 -0
  151. package/dist/nl-WSDW7I4O-DmtCnyKU.mjs +208 -0
  152. package/dist/nl-WSDW7I4O-DmtCnyKU.mjs.map +1 -0
  153. package/dist/od-WOKFDJTP-DZ2nxQNJ.mjs +73 -0
  154. package/dist/od-WOKFDJTP-DZ2nxQNJ.mjs.map +1 -0
  155. package/dist/paste-7JC6S4DX-CtmM5Qy8.mjs +113 -0
  156. package/dist/paste-7JC6S4DX-CtmM5Qy8.mjs.map +1 -0
  157. package/dist/printf-TWGXF445-B7cTysaa.mjs +880 -0
  158. package/dist/printf-TWGXF445-B7cTysaa.mjs.map +1 -0
  159. package/dist/pwd-WE6EN5AV-CO8o2WQS.mjs +34 -0
  160. package/dist/pwd-WE6EN5AV-CO8o2WQS.mjs.map +1 -0
  161. package/dist/python3-POMOR4OA-CKy80mpF.mjs +299 -0
  162. package/dist/python3-POMOR4OA-CKy80mpF.mjs.map +1 -0
  163. package/dist/readlink-OPJF4DL5-Rc1Mz_Xx.mjs +76 -0
  164. package/dist/readlink-OPJF4DL5-Rc1Mz_Xx.mjs.map +1 -0
  165. package/dist/rev-5EHFX4EJ-3dd9vwHW.mjs +66 -0
  166. package/dist/rev-5EHFX4EJ-3dd9vwHW.mjs.map +1 -0
  167. package/dist/rg-S4FXYXWB-BbXVo6JX.mjs +1539 -0
  168. package/dist/rg-S4FXYXWB-BbXVo6JX.mjs.map +1 -0
  169. package/dist/rm-SSGETQVQ-Ch53Rmrr.mjs +81 -0
  170. package/dist/rm-SSGETQVQ-Ch53Rmrr.mjs.map +1 -0
  171. package/dist/rmdir-OC4ZLPYA-D3QCHlIB.mjs +132 -0
  172. package/dist/rmdir-OC4ZLPYA-D3QCHlIB.mjs.map +1 -0
  173. package/dist/sed-S5UIK574-DE1KeTk3.mjs +1722 -0
  174. package/dist/sed-S5UIK574-DE1KeTk3.mjs.map +1 -0
  175. package/dist/seq-M5EC7Q57-BHfGjQvK.mjs +85 -0
  176. package/dist/seq-M5EC7Q57-BHfGjQvK.mjs.map +1 -0
  177. package/dist/sha1sum-2PTOAFR6-DNjSNcYK.mjs +16 -0
  178. package/dist/sha1sum-2PTOAFR6-DNjSNcYK.mjs.map +1 -0
  179. package/dist/sha256sum-NS7D3IXX-BMaCKkT5.mjs +16 -0
  180. package/dist/sha256sum-NS7D3IXX-BMaCKkT5.mjs.map +1 -0
  181. package/dist/sleep-X22JJINO-Do5hEQQW.mjs +67 -0
  182. package/dist/sleep-X22JJINO-Do5hEQQW.mjs.map +1 -0
  183. package/dist/sort-SW2YEO5B-B7j1zw8k.mjs +320 -0
  184. package/dist/sort-SW2YEO5B-B7j1zw8k.mjs.map +1 -0
  185. package/dist/split-4KKZZXXE-h8GD4HP4.mjs +248 -0
  186. package/dist/split-4KKZZXXE-h8GD4HP4.mjs.map +1 -0
  187. package/dist/sqlite3-CGOEFJAO-DvzzghDg.mjs +2879 -0
  188. package/dist/sqlite3-CGOEFJAO-DvzzghDg.mjs.map +1 -0
  189. package/dist/stat-CD34IZ4P-B5ZOJh4J.mjs +65 -0
  190. package/dist/stat-CD34IZ4P-B5ZOJh4J.mjs.map +1 -0
  191. package/dist/strings-6WDHLGMX-DdiEdoL-.mjs +179 -0
  192. package/dist/strings-6WDHLGMX-DdiEdoL-.mjs.map +1 -0
  193. package/dist/tac-2STMMJYW-DPyeWM9R.mjs +53 -0
  194. package/dist/tac-2STMMJYW-DPyeWM9R.mjs.map +1 -0
  195. package/dist/tail-R4PCA2C4-CUfroNeu.mjs +37 -0
  196. package/dist/tail-R4PCA2C4-CUfroNeu.mjs.map +1 -0
  197. package/dist/tar-STHHZTZ6-DRf60e-G.mjs +2838 -0
  198. package/dist/tar-STHHZTZ6-DRf60e-G.mjs.map +1 -0
  199. package/dist/tee-YUZ2FKCJ-po_dfyc_.mjs +46 -0
  200. package/dist/tee-YUZ2FKCJ-po_dfyc_.mjs.map +1 -0
  201. package/dist/time-D4LNBSWX-DVWhAldK.mjs +112 -0
  202. package/dist/time-D4LNBSWX-DVWhAldK.mjs.map +1 -0
  203. package/dist/timeout-YDCRSLPQ-B_yntmXU.mjs +113 -0
  204. package/dist/timeout-YDCRSLPQ-B_yntmXU.mjs.map +1 -0
  205. package/dist/touch-UA33VN3N-oW1SBT1r.mjs +104 -0
  206. package/dist/touch-UA33VN3N-oW1SBT1r.mjs.map +1 -0
  207. package/dist/tr-36LHWFRQ-CTq3z6wq.mjs +167 -0
  208. package/dist/tr-36LHWFRQ-CTq3z6wq.mjs.map +1 -0
  209. package/dist/tree-YLD52CNT-CIozNsLQ.mjs +186 -0
  210. package/dist/tree-YLD52CNT-CIozNsLQ.mjs.map +1 -0
  211. package/dist/true-FHQXJXBE-DsJOznSp.mjs +31 -0
  212. package/dist/true-FHQXJXBE-DsJOznSp.mjs.map +1 -0
  213. package/dist/unexpand-CADSA4VO-Cq9DTcUg.mjs +155 -0
  214. package/dist/unexpand-CADSA4VO-Cq9DTcUg.mjs.map +1 -0
  215. package/dist/uniq-XSIZR6PB-D5lt-IXF.mjs +92 -0
  216. package/dist/uniq-XSIZR6PB-D5lt-IXF.mjs.map +1 -0
  217. package/dist/{version-n-JpPeUF.mjs → version-Dxl3y5p6.mjs} +2 -2
  218. package/dist/{version-n-JpPeUF.mjs.map → version-Dxl3y5p6.mjs.map} +1 -1
  219. package/dist/wc-LF7NU4LA-BFPabrwD.mjs +111 -0
  220. package/dist/wc-LF7NU4LA-BFPabrwD.mjs.map +1 -0
  221. package/dist/which-XEM24D5D-2LvlkpUo.mjs +62 -0
  222. package/dist/which-XEM24D5D-2LvlkpUo.mjs.map +1 -0
  223. package/dist/whoami-XMTX52VE-24Kwqrk6.mjs +24 -0
  224. package/dist/whoami-XMTX52VE-24Kwqrk6.mjs.map +1 -0
  225. package/dist/xan-Y6WF3IRG-DjKO96Pj.mjs +2832 -0
  226. package/dist/xan-Y6WF3IRG-DjKO96Pj.mjs.map +1 -0
  227. package/dist/xan-view-HDVKHFC2-DhDNVE_V.mjs +12 -0
  228. package/dist/xan-view-HDVKHFC2-DhDNVE_V.mjs.map +1 -0
  229. package/dist/xargs-MGZPH7AX-D2bIgrdg.mjs +112 -0
  230. package/dist/xargs-MGZPH7AX-D2bIgrdg.mjs.map +1 -0
  231. package/dist/yq-4QJW3EQG-XhB3aACo.mjs +8610 -0
  232. package/dist/yq-4QJW3EQG-XhB3aACo.mjs.map +1 -0
  233. package/package.json +1 -1
  234. package/dist/dist-DWcRd4Se.mjs.map +0 -1
  235. package/dist/dist-DitNZUHA.mjs +0 -3
  236. package/dist/dist-vwoMCz6d.mjs +0 -775
  237. package/dist/dist-vwoMCz6d.mjs.map +0 -1
@@ -0,0 +1,1722 @@
1
+ #!/usr/bin/env node
2
+ import { n as r, r as s, t as o$1 } from "./chunk-QAYAQNCG-Bl0Kbd53.mjs";
3
+ import "./chunk-BZUGFHVS-CPWRFwK8.mjs";
4
+ import { n as d } from "./chunk-TN7HHBQW-CSB_R-XD.mjs";
5
+ import { r as x, t as a } from "./chunk-L64BMZUV-CyR7RKok.mjs";
6
+ import { t as I1 } from "./chunk-4RUAZWKT-D60fyWAB.mjs";
7
+ import { r as x$1 } from "./chunk-NRSASXYY-CuWyREpD.mjs";
8
+ import { t as b } from "./chunk-SAI2SPQQ-CVRoDNs9.mjs";
9
+ import { n } from "./chunk-FOCWZZDE-BIntqBh2.mjs";
10
+ import { createRequire } from "node:module";
11
+ //#region ../../node_modules/.pnpm/just-bash@3.0.1/node_modules/just-bash/dist/bundle/chunks/chunk-46RN27KI.js
12
+ createRequire(import.meta.url);
13
+ var H = new Map([
14
+ ["alnum", "a-zA-Z0-9"],
15
+ ["alpha", "a-zA-Z"],
16
+ ["ascii", "\\x00-\\x7F"],
17
+ ["blank", " \\t"],
18
+ ["cntrl", "\\x00-\\x1F\\x7F"],
19
+ ["digit", "0-9"],
20
+ ["graph", "!-~"],
21
+ ["lower", "a-z"],
22
+ ["print", " -~"],
23
+ ["punct", "!-/:-@\\[-`{-~"],
24
+ ["space", " \\t\\n\\r\\f\\v"],
25
+ ["upper", "A-Z"],
26
+ ["word", "a-zA-Z0-9_"],
27
+ ["xdigit", "0-9A-Fa-f"]
28
+ ]);
29
+ function V(i) {
30
+ let e = "", t = 0, n = !1;
31
+ for (; t < i.length;) {
32
+ if (i[t] === "[" && !n) {
33
+ if (i[t + 1] === "[" && i[t + 2] === ":") {
34
+ let s = i.indexOf(":]]", t + 3);
35
+ if (s !== -1) {
36
+ let a = i.slice(t + 3, s), r = H.get(a);
37
+ if (r) {
38
+ e += `[${r}]`, t = s + 3;
39
+ continue;
40
+ }
41
+ }
42
+ }
43
+ if (i[t + 1] === "^" && i[t + 2] === "[" && i[t + 3] === ":") {
44
+ let s = i.indexOf(":]]", t + 4);
45
+ if (s !== -1) {
46
+ let a = i.slice(t + 4, s), r = H.get(a);
47
+ if (r) {
48
+ e += `[^${r}]`, t = s + 3;
49
+ continue;
50
+ }
51
+ }
52
+ }
53
+ e += "[", t++, n = !0, t < i.length && i[t] === "^" && (e += "^", t++), t < i.length && i[t] === "]" && (e += "\\]", t++);
54
+ continue;
55
+ }
56
+ if (n) {
57
+ if (i[t] === "]") {
58
+ e += "]", t++, n = !1;
59
+ continue;
60
+ }
61
+ if (i[t] === "[" && i[t + 1] === ":") {
62
+ let s = i.indexOf(":]", t + 2);
63
+ if (s !== -1) {
64
+ let a = i.slice(t + 2, s), r = H.get(a);
65
+ if (r) {
66
+ e += r, t = s + 2;
67
+ continue;
68
+ }
69
+ }
70
+ }
71
+ if (i[t] === "\\" && t + 1 < i.length) {
72
+ e += i[t] + i[t + 1], t += 2;
73
+ continue;
74
+ }
75
+ e += i[t], t++;
76
+ continue;
77
+ }
78
+ if (i[t] === "\\" && t + 1 < i.length) {
79
+ let s = i[t + 1];
80
+ if (s === "+" || s === "?" || s === "|") {
81
+ e += s, t += 2;
82
+ continue;
83
+ }
84
+ if (s === "(" || s === ")") {
85
+ e += s, t += 2;
86
+ continue;
87
+ }
88
+ if (s === "{" || s === "}") {
89
+ e += s, t += 2;
90
+ continue;
91
+ }
92
+ if (s === "t") {
93
+ e += " ", t += 2;
94
+ continue;
95
+ }
96
+ if (s === "n") {
97
+ e += `
98
+ `, t += 2;
99
+ continue;
100
+ }
101
+ if (s === "r") {
102
+ e += "\r", t += 2;
103
+ continue;
104
+ }
105
+ e += i[t] + s, t += 2;
106
+ continue;
107
+ }
108
+ if (i[t] === "+" || i[t] === "?" || i[t] === "|" || i[t] === "(" || i[t] === ")") {
109
+ e += `\\${i[t]}`, t++;
110
+ continue;
111
+ }
112
+ if (i[t] === "^" && !(e === "" || e.endsWith("("))) {
113
+ e += "\\^", t++;
114
+ continue;
115
+ }
116
+ if (i[t] === "$") {
117
+ let s = t === i.length - 1, a = t + 2 < i.length && i[t + 1] === "\\" && i[t + 2] === ")";
118
+ if (!s && !a) {
119
+ e += "\\$", t++;
120
+ continue;
121
+ }
122
+ }
123
+ e += i[t], t++;
124
+ }
125
+ return e;
126
+ }
127
+ function X(i) {
128
+ let e = "", t = !1;
129
+ for (let n = 0; n < i.length; n++) i[n] === "[" && !t ? (t = !0, e += "[", n++, n < i.length && i[n] === "^" && (e += "^", n++), n < i.length && i[n] === "]" && (e += "]", n++), n--) : i[n] === "]" && t ? (t = !1, e += "]") : !t && i[n] === "{" && i[n + 1] === "," ? (e += "{0,", n++) : e += i[n];
130
+ return e;
131
+ }
132
+ function ie(i) {
133
+ let e = "";
134
+ for (let t = 0; t < i.length; t++) {
135
+ let n = i[t], s = n.charCodeAt(0);
136
+ n === "\\" ? e += "\\\\" : n === " " ? e += "\\t" : n === `
137
+ ` ? e += `$
138
+ ` : n === "\r" ? e += "\\r" : n === "\x07" ? e += "\\a" : n === "\b" ? e += "\\b" : n === "\f" ? e += "\\f" : n === "\v" ? e += "\\v" : s < 32 || s >= 127 ? e += `\\${s.toString(8).padStart(3, "0")}` : e += n;
139
+ }
140
+ return `${e}$`;
141
+ }
142
+ var pe = 1e4;
143
+ function re(i, e, t) {
144
+ return {
145
+ patternSpace: "",
146
+ holdSpace: "",
147
+ lineNumber: 0,
148
+ totalLines: i,
149
+ deleted: !1,
150
+ printed: !1,
151
+ quit: !1,
152
+ quitSilent: !1,
153
+ exitCode: void 0,
154
+ errorMessage: void 0,
155
+ appendBuffer: [],
156
+ substitutionMade: !1,
157
+ lineNumberOutput: [],
158
+ nCommandOutput: [],
159
+ restartCycle: !1,
160
+ inDRestartedCycle: !1,
161
+ currentFilename: e,
162
+ pendingFileReads: [],
163
+ pendingFileWrites: [],
164
+ rangeStates: t || /* @__PURE__ */ new Map(),
165
+ linesConsumedInCycle: 0
166
+ };
167
+ }
168
+ function me(i) {
169
+ return typeof i == "object" && "first" in i && "step" in i;
170
+ }
171
+ function ge(i) {
172
+ return typeof i == "object" && "offset" in i;
173
+ }
174
+ function N(i, e, t, n, s) {
175
+ if (i === "$") return e === t;
176
+ if (typeof i == "number") return e === i;
177
+ if (me(i)) {
178
+ let { first: a, step: r } = i;
179
+ return r === 0 ? e === a : (e - a) % r === 0 && e >= a;
180
+ }
181
+ if (typeof i == "object" && "pattern" in i) try {
182
+ let a = i.pattern;
183
+ a === "" && s?.lastPattern ? a = s.lastPattern : a !== "" && s && (s.lastPattern = a);
184
+ return I1(X(V(a))).test(n);
185
+ } catch {
186
+ return !1;
187
+ }
188
+ return !1;
189
+ }
190
+ function G(i) {
191
+ 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";
192
+ return `${e(i.start)},${e(i.end)}`;
193
+ }
194
+ function be(i, e, t, n, s, a) {
195
+ if (!i || !i.start && !i.end) return !0;
196
+ let r = i.start, l = i.end;
197
+ if (r !== void 0 && l === void 0) return N(r, e, t, n, a);
198
+ if (r !== void 0 && l !== void 0) {
199
+ let c = typeof r == "object" && "pattern" in r, f = typeof l == "object" && "pattern" in l, p = ge(l);
200
+ if (p && s) {
201
+ let g = G(i), d = s.get(g);
202
+ if (d || (d = { active: !1 }, s.set(g, d)), d.active) return e >= (d.startLine || e) + l.offset && (d.active = !1, s.set(g, d)), !0;
203
+ else return N(r, e, t, n, a) ? (d.active = !0, d.startLine = e, s.set(g, d), l.offset === 0 && (d.active = !1, s.set(g, d)), !0) : !1;
204
+ }
205
+ if (!c && !f && !p) {
206
+ let g = typeof r == "number" ? r : r === "$" ? t : 1, d = typeof l == "number" ? l : t;
207
+ if (g <= d) return e >= g && e <= d;
208
+ if (s) {
209
+ let E = G(i), u = s.get(E);
210
+ return u || (u = { active: !1 }, s.set(E, u)), !u.completed && e >= g ? (u.completed = !0, s.set(E, u), !0) : !1;
211
+ }
212
+ return !1;
213
+ }
214
+ if (s) {
215
+ let g = G(i), d = s.get(g);
216
+ if (d || (d = { active: !1 }, s.set(g, d)), d.active) return N(l, e, t, n, a) && (d.active = !1, typeof r == "number" && (d.completed = !0), s.set(g, d)), !0;
217
+ {
218
+ if (d.completed) return !1;
219
+ let E = !1;
220
+ return typeof r == "number" ? E = e >= r : E = N(r, e, t, n, a), E ? (d.active = !0, d.startLine = e, s.set(g, d), N(l, e, t, n, a) && (d.active = !1, typeof r == "number" && (d.completed = !0), s.set(g, d)), !0) : !1;
221
+ }
222
+ }
223
+ return N(r, e, t, n, a);
224
+ }
225
+ return !0;
226
+ }
227
+ function w(i, e, t, n, s, a) {
228
+ let r = be(i, e, t, n, s, a);
229
+ return i?.negated ? !r : r;
230
+ }
231
+ function Ee(i, e, t, n) {
232
+ let s = "", a = 0, r = !1;
233
+ for (; a <= i.length;) {
234
+ e.lastIndex = a;
235
+ let l = e.exec(i);
236
+ if (!l) {
237
+ s += i.slice(a);
238
+ break;
239
+ }
240
+ if (l.index !== a) {
241
+ s += i.slice(a, l.index), a = l.index, r = !1;
242
+ continue;
243
+ }
244
+ let c = l[0], f = l.slice(1);
245
+ if (r && c.length === 0) {
246
+ if (a < i.length) s += i[a], a++;
247
+ else break;
248
+ r = !1;
249
+ continue;
250
+ }
251
+ if (s += n(c, f), r = !1, c.length === 0) if (a < i.length) s += i[a], a++;
252
+ else break;
253
+ else a += c.length, r = !0;
254
+ }
255
+ return s;
256
+ }
257
+ function j(i, e, t) {
258
+ let n = "", s = 0;
259
+ for (; s < i.length;) {
260
+ if (i[s] === "\\" && s + 1 < i.length) {
261
+ let a = i[s + 1];
262
+ if (a === "&") {
263
+ n += "&", s += 2;
264
+ continue;
265
+ }
266
+ if (a === "n") {
267
+ n += `
268
+ `, s += 2;
269
+ continue;
270
+ }
271
+ if (a === "t") {
272
+ n += " ", s += 2;
273
+ continue;
274
+ }
275
+ if (a === "r") {
276
+ n += "\r", s += 2;
277
+ continue;
278
+ }
279
+ let r = parseInt(a, 10);
280
+ if (r === 0) {
281
+ n += e, s += 2;
282
+ continue;
283
+ }
284
+ if (r >= 1 && r <= 9) {
285
+ n += t[r - 1] || "", s += 2;
286
+ continue;
287
+ }
288
+ n += a, s += 2;
289
+ continue;
290
+ }
291
+ if (i[s] === "&") {
292
+ n += e, s++;
293
+ continue;
294
+ }
295
+ n += i[s], s++;
296
+ }
297
+ return n;
298
+ }
299
+ function se(i, e, t) {
300
+ if (e > 0 && i.length > e) throw new b(`sed: ${t} size limit exceeded (${e} bytes)`, "string_length");
301
+ }
302
+ function ve(i, e, t) {
303
+ let { lineNumber: n, totalLines: s, patternSpace: a } = e;
304
+ if (i.type === "label") {
305
+ e.coverage?.hit(`sed:cmd:${i.type}`);
306
+ return;
307
+ }
308
+ if (w(i.address, n, s, a, e.rangeStates, e)) switch (e.coverage?.hit(`sed:cmd:${i.type}`), i.type) {
309
+ case "substitute": {
310
+ let r = i, l = "";
311
+ r.global && (l += "g"), r.ignoreCase && (l += "i");
312
+ let c = r.pattern;
313
+ c === "" && e.lastPattern ? c = e.lastPattern : c !== "" && (e.lastPattern = c);
314
+ let f = X(r.extendedRegex ? c : V(c));
315
+ try {
316
+ let p = I1(f, l), x = p.test(e.patternSpace);
317
+ if (p.lastIndex = 0, x) {
318
+ if (e.substitutionMade = !0, r.nthOccurrence && r.nthOccurrence > 0 && !r.global) {
319
+ let g = 0, d = r.nthOccurrence;
320
+ e.patternSpace = I1(f, `g${r.ignoreCase ? "i" : ""}`).replace(e.patternSpace, (u, ...h) => {
321
+ if (g++, g === d) {
322
+ let b = h.slice(0, -2);
323
+ return j(r.replacement, u, b);
324
+ }
325
+ return u;
326
+ });
327
+ } else if (r.global) {
328
+ let g = I1(f, `g${r.ignoreCase ? "i" : ""}`);
329
+ e.patternSpace = Ee(e.patternSpace, g, r.replacement, (d, E) => j(r.replacement, d, E));
330
+ } else e.patternSpace = p.replace(e.patternSpace, (g, ...d) => {
331
+ let E = d.slice(0, -2);
332
+ return j(r.replacement, g, E);
333
+ });
334
+ r.printOnMatch && e.lineNumberOutput.push(e.patternSpace);
335
+ }
336
+ } catch {}
337
+ break;
338
+ }
339
+ case "print":
340
+ e.lineNumberOutput.push(e.patternSpace);
341
+ break;
342
+ case "printFirstLine": {
343
+ let r = e.patternSpace.indexOf(`
344
+ `);
345
+ r !== -1 ? e.lineNumberOutput.push(e.patternSpace.slice(0, r)) : e.lineNumberOutput.push(e.patternSpace);
346
+ break;
347
+ }
348
+ case "delete":
349
+ e.deleted = !0;
350
+ break;
351
+ case "deleteFirstLine": {
352
+ let r = e.patternSpace.indexOf(`
353
+ `);
354
+ r !== -1 ? (e.patternSpace = e.patternSpace.slice(r + 1), e.restartCycle = !0, e.inDRestartedCycle = !0) : e.deleted = !0;
355
+ break;
356
+ }
357
+ case "zap":
358
+ e.patternSpace = "";
359
+ break;
360
+ case "append":
361
+ e.appendBuffer.push(i.text);
362
+ break;
363
+ case "insert":
364
+ e.appendBuffer.unshift(`__INSERT__${i.text}`);
365
+ break;
366
+ case "change":
367
+ e.deleted = !0, e.changedText = i.text;
368
+ break;
369
+ case "hold":
370
+ e.holdSpace = e.patternSpace;
371
+ break;
372
+ case "holdAppend":
373
+ e.holdSpace ? e.holdSpace += `
374
+ ${e.patternSpace}` : e.holdSpace = e.patternSpace, se(e.holdSpace, t?.maxStringLength ?? 0, "hold space");
375
+ break;
376
+ case "get":
377
+ e.patternSpace = e.holdSpace;
378
+ break;
379
+ case "getAppend":
380
+ e.patternSpace += `
381
+ ${e.holdSpace}`, se(e.patternSpace, t?.maxStringLength ?? 0, "pattern space");
382
+ break;
383
+ case "exchange": {
384
+ let r = e.patternSpace;
385
+ e.patternSpace = e.holdSpace, e.holdSpace = r;
386
+ break;
387
+ }
388
+ case "next":
389
+ e.printed = !0;
390
+ break;
391
+ case "quit":
392
+ e.quit = !0, i.exitCode !== void 0 && (e.exitCode = i.exitCode);
393
+ break;
394
+ case "quitSilent":
395
+ e.quit = !0, e.quitSilent = !0, i.exitCode !== void 0 && (e.exitCode = i.exitCode);
396
+ break;
397
+ case "list": {
398
+ let r = ie(e.patternSpace);
399
+ e.lineNumberOutput.push(r);
400
+ break;
401
+ }
402
+ case "printFilename":
403
+ e.currentFilename && e.lineNumberOutput.push(e.currentFilename);
404
+ break;
405
+ case "version": {
406
+ let r = [
407
+ 4,
408
+ 8,
409
+ 0
410
+ ];
411
+ if (i.minVersion) {
412
+ let l = i.minVersion.split("."), c = [], f = !1;
413
+ for (let p of l) {
414
+ let x = parseInt(p, 10);
415
+ if (Number.isNaN(x) || x < 0) {
416
+ e.quit = !0, e.exitCode = 1, e.errorMessage = `sed: invalid version string: ${i.minVersion}`, f = !0;
417
+ break;
418
+ }
419
+ c.push(x);
420
+ }
421
+ if (!f) {
422
+ for (; c.length < 3;) c.push(0);
423
+ for (let p = 0; p < 3; p++) {
424
+ if (c[p] > r[p]) {
425
+ e.quit = !0, e.exitCode = 1, e.errorMessage = `sed: this is not GNU sed version ${i.minVersion}`;
426
+ break;
427
+ }
428
+ if (c[p] < r[p]) break;
429
+ }
430
+ }
431
+ }
432
+ break;
433
+ }
434
+ case "readFile":
435
+ e.pendingFileReads.push({
436
+ filename: i.filename,
437
+ wholeFile: !0
438
+ });
439
+ break;
440
+ case "readFileLine":
441
+ e.pendingFileReads.push({
442
+ filename: i.filename,
443
+ wholeFile: !1
444
+ });
445
+ break;
446
+ case "writeFile":
447
+ e.pendingFileWrites.push({
448
+ filename: i.filename,
449
+ content: `${e.patternSpace}
450
+ `
451
+ });
452
+ break;
453
+ case "writeFirstLine": {
454
+ let r = e.patternSpace.indexOf(`
455
+ `), l = r !== -1 ? e.patternSpace.slice(0, r) : e.patternSpace;
456
+ e.pendingFileWrites.push({
457
+ filename: i.filename,
458
+ content: `${l}
459
+ `
460
+ });
461
+ break;
462
+ }
463
+ case "execute":
464
+ e.errorMessage = "sed: e command (shell execution) is not supported in sandboxed environment", e.quit = !0;
465
+ break;
466
+ case "transliterate":
467
+ e.patternSpace = Ce(e.patternSpace, i);
468
+ break;
469
+ case "lineNumber":
470
+ e.lineNumberOutput.push(String(e.lineNumber));
471
+ break;
472
+ case "branch": break;
473
+ case "branchOnSubst": break;
474
+ case "branchOnNoSubst": break;
475
+ case "group": break;
476
+ }
477
+ }
478
+ function Ce(i, e) {
479
+ let t = "";
480
+ for (let n of i) {
481
+ let s = e.source.indexOf(n);
482
+ s !== -1 ? t += e.dest[s] : t += n;
483
+ }
484
+ return t;
485
+ }
486
+ function Z(i, e, t, n) {
487
+ let s = /* @__PURE__ */ new Map();
488
+ for (let c = 0; c < i.length; c++) {
489
+ let f = i[c];
490
+ f.type === "label" && s.set(f.name, c);
491
+ }
492
+ let a = n?.maxIterations ?? pe, r = 0, l = 0;
493
+ for (; l < i.length;) {
494
+ if (r++, r > a) throw new b(`sed: command execution exceeded maximum iterations (${a})`, "iterations");
495
+ if (e.deleted || e.quit || e.quitSilent || e.restartCycle) break;
496
+ let c = i[l];
497
+ if (c.type === "next") {
498
+ if (w(c.address, e.lineNumber, e.totalLines, e.patternSpace, e.rangeStates, e)) if (e.coverage?.hit("sed:cmd:next"), e.nCommandOutput.push(e.patternSpace), t && t.currentLineIndex + e.linesConsumedInCycle + 1 < t.lines.length) {
499
+ e.linesConsumedInCycle++;
500
+ e.patternSpace = t.lines[t.currentLineIndex + e.linesConsumedInCycle], e.lineNumber = t.currentLineIndex + e.linesConsumedInCycle + 1, e.substitutionMade = !1;
501
+ } else {
502
+ e.quit = !0, e.deleted = !0;
503
+ break;
504
+ }
505
+ l++;
506
+ continue;
507
+ }
508
+ if (c.type === "nextAppend") {
509
+ if (w(c.address, e.lineNumber, e.totalLines, e.patternSpace, e.rangeStates, e)) if (e.coverage?.hit("sed:cmd:nextAppend"), t && t.currentLineIndex + e.linesConsumedInCycle + 1 < t.lines.length) {
510
+ e.linesConsumedInCycle++;
511
+ let f = t.lines[t.currentLineIndex + e.linesConsumedInCycle];
512
+ e.patternSpace += `
513
+ ${f}`, e.lineNumber = t.currentLineIndex + e.linesConsumedInCycle + 1;
514
+ } else {
515
+ e.quit = !0;
516
+ break;
517
+ }
518
+ l++;
519
+ continue;
520
+ }
521
+ if (c.type === "branch") {
522
+ let f = c;
523
+ if (w(f.address, e.lineNumber, e.totalLines, e.patternSpace, e.rangeStates, e)) {
524
+ if (e.coverage?.hit("sed:cmd:branch"), f.label) {
525
+ let p = s.get(f.label);
526
+ if (p !== void 0) {
527
+ l = p;
528
+ continue;
529
+ }
530
+ e.branchRequest = f.label;
531
+ break;
532
+ }
533
+ break;
534
+ }
535
+ l++;
536
+ continue;
537
+ }
538
+ if (c.type === "branchOnSubst") {
539
+ let f = c;
540
+ if (w(f.address, e.lineNumber, e.totalLines, e.patternSpace, e.rangeStates, e) && (e.coverage?.hit("sed:cmd:branchOnSubst"), e.substitutionMade)) {
541
+ if (e.substitutionMade = !1, f.label) {
542
+ let p = s.get(f.label);
543
+ if (p !== void 0) {
544
+ l = p;
545
+ continue;
546
+ }
547
+ e.branchRequest = f.label;
548
+ break;
549
+ }
550
+ break;
551
+ }
552
+ l++;
553
+ continue;
554
+ }
555
+ if (c.type === "branchOnNoSubst") {
556
+ let f = c;
557
+ if (w(f.address, e.lineNumber, e.totalLines, e.patternSpace, e.rangeStates, e) && (e.coverage?.hit("sed:cmd:branchOnNoSubst"), !e.substitutionMade)) {
558
+ if (f.label) {
559
+ let p = s.get(f.label);
560
+ if (p !== void 0) {
561
+ l = p;
562
+ continue;
563
+ }
564
+ e.branchRequest = f.label;
565
+ break;
566
+ }
567
+ break;
568
+ }
569
+ l++;
570
+ continue;
571
+ }
572
+ if (c.type === "group") {
573
+ let f = c;
574
+ if (w(f.address, e.lineNumber, e.totalLines, e.patternSpace, e.rangeStates, e) && (e.coverage?.hit("sed:cmd:group"), Z(f.commands, e, t, n), e.branchRequest)) {
575
+ let p = s.get(e.branchRequest);
576
+ if (p !== void 0) {
577
+ e.branchRequest = void 0, l = p;
578
+ continue;
579
+ }
580
+ break;
581
+ }
582
+ l++;
583
+ continue;
584
+ }
585
+ ve(c, e, n), l++;
586
+ }
587
+ return e.linesConsumedInCycle;
588
+ }
589
+ var o;
590
+ (function(i) {
591
+ i.NUMBER = "NUMBER", i.DOLLAR = "DOLLAR", i.PATTERN = "PATTERN", i.STEP = "STEP", i.RELATIVE_OFFSET = "RELATIVE_OFFSET", i.LBRACE = "LBRACE", i.RBRACE = "RBRACE", i.SEMICOLON = "SEMICOLON", i.NEWLINE = "NEWLINE", i.COMMA = "COMMA", i.NEGATION = "NEGATION", i.COMMAND = "COMMAND", i.SUBSTITUTE = "SUBSTITUTE", i.TRANSLITERATE = "TRANSLITERATE", i.LABEL_DEF = "LABEL_DEF", i.BRANCH = "BRANCH", i.BRANCH_ON_SUBST = "BRANCH_ON_SUBST", i.BRANCH_ON_NO_SUBST = "BRANCH_ON_NO_SUBST", i.TEXT_CMD = "TEXT_CMD", i.FILE_READ = "FILE_READ", i.FILE_READ_LINE = "FILE_READ_LINE", i.FILE_WRITE = "FILE_WRITE", i.FILE_WRITE_LINE = "FILE_WRITE_LINE", i.EXECUTE = "EXECUTE", i.VERSION = "VERSION", i.EOF = "EOF", i.ERROR = "ERROR";
592
+ })(o || (o = {}));
593
+ var _ = class {
594
+ input;
595
+ pos = 0;
596
+ line = 1;
597
+ column = 1;
598
+ constructor(e) {
599
+ this.input = e;
600
+ }
601
+ tokenize() {
602
+ let e = [];
603
+ for (; this.pos < this.input.length;) {
604
+ let t = this.nextToken();
605
+ t && e.push(t);
606
+ }
607
+ return e.push(this.makeToken(o.EOF, "")), e;
608
+ }
609
+ makeToken(e, t, n) {
610
+ return {
611
+ type: e,
612
+ value: t,
613
+ line: this.line,
614
+ column: this.column,
615
+ ...n
616
+ };
617
+ }
618
+ peek(e = 0) {
619
+ return this.input[this.pos + e] || "";
620
+ }
621
+ advance() {
622
+ let e = this.input[this.pos++] || "";
623
+ return e === `
624
+ ` ? (this.line++, this.column = 1) : this.column++, e;
625
+ }
626
+ readEscapedString(e) {
627
+ let t = "";
628
+ for (; this.pos < this.input.length && this.peek() !== e;) if (this.peek() === "\\") {
629
+ this.advance();
630
+ let n = this.advance();
631
+ n === "n" ? t += `
632
+ ` : n === "t" ? t += " " : t += n;
633
+ } else {
634
+ if (this.peek() === `
635
+ `) return null;
636
+ t += this.advance();
637
+ }
638
+ return t;
639
+ }
640
+ skipWhitespace() {
641
+ for (; this.pos < this.input.length;) {
642
+ let e = this.peek();
643
+ if (e === " " || e === " " || e === "\r") this.advance();
644
+ else if (e === "#") for (; this.pos < this.input.length && this.peek() !== `
645
+ `;) this.advance();
646
+ else break;
647
+ }
648
+ }
649
+ nextToken() {
650
+ if (this.skipWhitespace(), this.pos >= this.input.length) return null;
651
+ let e = this.line, t = this.column, n = this.peek();
652
+ return n === `
653
+ ` ? (this.advance(), {
654
+ type: o.NEWLINE,
655
+ value: `
656
+ `,
657
+ line: e,
658
+ column: t
659
+ }) : n === ";" ? (this.advance(), {
660
+ type: o.SEMICOLON,
661
+ value: ";",
662
+ line: e,
663
+ column: t
664
+ }) : n === "{" ? (this.advance(), {
665
+ type: o.LBRACE,
666
+ value: "{",
667
+ line: e,
668
+ column: t
669
+ }) : n === "}" ? (this.advance(), {
670
+ type: o.RBRACE,
671
+ value: "}",
672
+ line: e,
673
+ column: t
674
+ }) : n === "," ? (this.advance(), {
675
+ type: o.COMMA,
676
+ value: ",",
677
+ line: e,
678
+ column: t
679
+ }) : n === "!" ? (this.advance(), {
680
+ type: o.NEGATION,
681
+ value: "!",
682
+ line: e,
683
+ column: t
684
+ }) : n === "$" ? (this.advance(), {
685
+ type: o.DOLLAR,
686
+ value: "$",
687
+ line: e,
688
+ column: t
689
+ }) : this.isDigit(n) ? this.readNumber() : n === "+" && this.isDigit(this.input[this.pos + 1] || "") ? this.readRelativeOffset() : n === "/" ? this.readPattern() : n === ":" ? this.readLabelDef() : this.readCommand();
690
+ }
691
+ readNumber() {
692
+ let e = this.line, t = this.column, n = "";
693
+ for (; this.isDigit(this.peek());) n += this.advance();
694
+ if (this.peek() === "~") {
695
+ this.advance();
696
+ let s = "";
697
+ for (; this.isDigit(this.peek());) s += this.advance();
698
+ let a = parseInt(n, 10), r = parseInt(s, 10) || 0;
699
+ return {
700
+ type: o.STEP,
701
+ value: `${a}~${r}`,
702
+ first: a,
703
+ step: r,
704
+ line: e,
705
+ column: t
706
+ };
707
+ }
708
+ return {
709
+ type: o.NUMBER,
710
+ value: parseInt(n, 10),
711
+ line: e,
712
+ column: t
713
+ };
714
+ }
715
+ readRelativeOffset() {
716
+ let e = this.line, t = this.column;
717
+ this.advance();
718
+ let n = "";
719
+ for (; this.isDigit(this.peek());) n += this.advance();
720
+ let s = parseInt(n, 10) || 0;
721
+ return {
722
+ type: o.RELATIVE_OFFSET,
723
+ value: `+${s}`,
724
+ offset: s,
725
+ line: e,
726
+ column: t
727
+ };
728
+ }
729
+ readPattern() {
730
+ let e = this.line, t = this.column;
731
+ this.advance();
732
+ let n = "", s = !1;
733
+ for (; this.pos < this.input.length;) {
734
+ let a = this.peek();
735
+ if (a === "/" && !s) break;
736
+ if (a === "\\") n += this.advance(), this.pos < this.input.length && this.peek() !== `
737
+ ` && (n += this.advance());
738
+ else {
739
+ if (a === `
740
+ `) break;
741
+ a === "[" && !s ? (s = !0, n += this.advance(), this.peek() === "^" && (n += this.advance()), this.peek() === "]" && (n += this.advance())) : a === "]" && s ? (s = !1, n += this.advance()) : n += this.advance();
742
+ }
743
+ }
744
+ return this.peek() === "/" && this.advance(), {
745
+ type: o.PATTERN,
746
+ value: n,
747
+ pattern: n,
748
+ line: e,
749
+ column: t
750
+ };
751
+ }
752
+ readLabelDef() {
753
+ let e = this.line, t = this.column;
754
+ for (this.advance(); this.peek() === " " || this.peek() === " ";) this.advance();
755
+ let n = "";
756
+ for (; this.pos < this.input.length;) {
757
+ let s = this.peek();
758
+ if (s === " " || s === " " || s === `
759
+ ` || s === ";" || s === "}" || s === "{") break;
760
+ n += this.advance();
761
+ }
762
+ return {
763
+ type: o.LABEL_DEF,
764
+ value: n,
765
+ label: n,
766
+ line: e,
767
+ column: t
768
+ };
769
+ }
770
+ readCommand() {
771
+ let e = this.line, t = this.column, n = this.advance();
772
+ switch (n) {
773
+ case "s": return this.readSubstitute(e, t);
774
+ case "y": return this.readTransliterate(e, t);
775
+ case "a":
776
+ case "i":
777
+ case "c": return this.readTextCommand(n, e, t);
778
+ case "b": return this.readBranch(o.BRANCH, "b", e, t);
779
+ case "t": return this.readBranch(o.BRANCH_ON_SUBST, "t", e, t);
780
+ case "T": return this.readBranch(o.BRANCH_ON_NO_SUBST, "T", e, t);
781
+ case "r": return this.readFileCommand(o.FILE_READ, "r", e, t);
782
+ case "R": return this.readFileCommand(o.FILE_READ_LINE, "R", e, t);
783
+ case "w": return this.readFileCommand(o.FILE_WRITE, "w", e, t);
784
+ case "W": return this.readFileCommand(o.FILE_WRITE_LINE, "W", e, t);
785
+ case "e": return this.readExecute(e, t);
786
+ case "p":
787
+ case "P":
788
+ case "d":
789
+ case "D":
790
+ case "h":
791
+ case "H":
792
+ case "g":
793
+ case "G":
794
+ case "x":
795
+ case "n":
796
+ case "N":
797
+ case "q":
798
+ case "Q":
799
+ case "z":
800
+ case "=":
801
+ case "l":
802
+ case "F": return {
803
+ type: o.COMMAND,
804
+ value: n,
805
+ line: e,
806
+ column: t
807
+ };
808
+ case "v": return this.readVersion(e, t);
809
+ default: return {
810
+ type: o.ERROR,
811
+ value: n,
812
+ line: e,
813
+ column: t
814
+ };
815
+ }
816
+ }
817
+ readSubstitute(e, t) {
818
+ let n = this.advance();
819
+ if (!n || n === `
820
+ `) return {
821
+ type: o.ERROR,
822
+ value: "s",
823
+ line: e,
824
+ column: t
825
+ };
826
+ let s = "", a = !1;
827
+ for (; this.pos < this.input.length;) {
828
+ let c = this.peek();
829
+ if (c === n && !a) break;
830
+ if (c === "\\") this.advance(), this.pos < this.input.length && this.peek() !== `
831
+ ` ? this.peek() === n && !a ? s += this.advance() : (s += "\\", s += this.advance()) : s += "\\";
832
+ else {
833
+ if (c === `
834
+ `) break;
835
+ c === "[" && !a ? (a = !0, s += this.advance(), this.peek() === "^" && (s += this.advance()), this.peek() === "]" && (s += this.advance())) : c === "]" && a ? (a = !1, s += this.advance()) : s += this.advance();
836
+ }
837
+ }
838
+ if (this.peek() !== n) return {
839
+ type: o.ERROR,
840
+ value: "unterminated substitution pattern",
841
+ line: e,
842
+ column: t
843
+ };
844
+ this.advance();
845
+ let r = "";
846
+ for (; this.pos < this.input.length && this.peek() !== n;) if (this.peek() === "\\") if (this.advance(), this.pos < this.input.length) {
847
+ let c = this.peek();
848
+ c === "\\" ? (this.advance(), this.pos < this.input.length && this.peek() === `
849
+ ` ? (r += `
850
+ `, this.advance()) : r += "\\") : c === `
851
+ ` ? (r += `
852
+ `, this.advance()) : r += `\\${this.advance()}`;
853
+ } else r += "\\";
854
+ else {
855
+ if (this.peek() === `
856
+ `) break;
857
+ r += this.advance();
858
+ }
859
+ this.peek() === n && this.advance();
860
+ let l = "";
861
+ for (; this.pos < this.input.length;) {
862
+ let c = this.peek();
863
+ if (c === "g" || c === "i" || c === "p" || c === "I" || this.isDigit(c)) l += this.advance();
864
+ else break;
865
+ }
866
+ return {
867
+ type: o.SUBSTITUTE,
868
+ value: `s${n}${s}${n}${r}${n}${l}`,
869
+ pattern: s,
870
+ replacement: r,
871
+ flags: l,
872
+ line: e,
873
+ column: t
874
+ };
875
+ }
876
+ readTransliterate(e, t) {
877
+ let n = this.advance();
878
+ if (!n || n === `
879
+ `) return {
880
+ type: o.ERROR,
881
+ value: "y",
882
+ line: e,
883
+ column: t
884
+ };
885
+ let s = this.readEscapedString(n);
886
+ if (s === null || this.peek() !== n) return {
887
+ type: o.ERROR,
888
+ value: "unterminated transliteration source",
889
+ line: e,
890
+ column: t
891
+ };
892
+ this.advance();
893
+ let a = this.readEscapedString(n);
894
+ if (a === null || this.peek() !== n) return {
895
+ type: o.ERROR,
896
+ value: "unterminated transliteration dest",
897
+ line: e,
898
+ column: t
899
+ };
900
+ this.advance();
901
+ let r = this.peek();
902
+ for (; r === " " || r === " ";) this.advance(), r = this.peek();
903
+ return r !== "" && r !== ";" && r !== `
904
+ ` && r !== "}" ? {
905
+ type: o.ERROR,
906
+ value: "extra text at the end of a transform command",
907
+ line: e,
908
+ column: t
909
+ } : {
910
+ type: o.TRANSLITERATE,
911
+ value: `y${n}${s}${n}${a}${n}`,
912
+ source: s,
913
+ dest: a,
914
+ line: e,
915
+ column: t
916
+ };
917
+ }
918
+ readTextCommand(e, t, n) {
919
+ let s = !1;
920
+ this.peek() === "\\" && this.pos + 1 < this.input.length && (this.input[this.pos + 1] === `
921
+ ` || this.input[this.pos + 1] === " " || this.input[this.pos + 1] === " ") && (s = !0, this.advance()), (this.peek() === " " || this.peek() === " ") && this.advance(), this.peek() === "\\" && this.pos + 1 < this.input.length && (this.input[this.pos + 1] === " " || this.input[this.pos + 1] === " ") && this.advance(), s && this.peek() === `
922
+ ` && this.advance();
923
+ let a = "";
924
+ for (; this.pos < this.input.length;) {
925
+ let r = this.peek();
926
+ if (r === `
927
+ `) {
928
+ if (a.endsWith("\\")) {
929
+ a = `${a.slice(0, -1)}
930
+ `, this.advance();
931
+ continue;
932
+ }
933
+ break;
934
+ }
935
+ if (r === "\\" && this.pos + 1 < this.input.length) {
936
+ let l = this.input[this.pos + 1];
937
+ if (l === "n") {
938
+ a += `
939
+ `, this.advance(), this.advance();
940
+ continue;
941
+ }
942
+ if (l === "t") {
943
+ a += " ", this.advance(), this.advance();
944
+ continue;
945
+ }
946
+ if (l === "r") {
947
+ a += "\r", this.advance(), this.advance();
948
+ continue;
949
+ }
950
+ }
951
+ a += this.advance();
952
+ }
953
+ return {
954
+ type: o.TEXT_CMD,
955
+ value: e,
956
+ text: a,
957
+ line: t,
958
+ column: n
959
+ };
960
+ }
961
+ readBranch(e, t, n, s) {
962
+ for (; this.peek() === " " || this.peek() === " ";) this.advance();
963
+ let a = "";
964
+ for (; this.pos < this.input.length;) {
965
+ let r = this.peek();
966
+ if (r === " " || r === " " || r === `
967
+ ` || r === ";" || r === "}" || r === "{") break;
968
+ a += this.advance();
969
+ }
970
+ return {
971
+ type: e,
972
+ value: t,
973
+ label: a || void 0,
974
+ line: n,
975
+ column: s
976
+ };
977
+ }
978
+ readVersion(e, t) {
979
+ for (; this.peek() === " " || this.peek() === " ";) this.advance();
980
+ let n = "";
981
+ for (; this.pos < this.input.length;) {
982
+ let s = this.peek();
983
+ if (s === " " || s === " " || s === `
984
+ ` || s === ";" || s === "}" || s === "{") break;
985
+ n += this.advance();
986
+ }
987
+ return {
988
+ type: o.VERSION,
989
+ value: "v",
990
+ label: n || void 0,
991
+ line: e,
992
+ column: t
993
+ };
994
+ }
995
+ readFileCommand(e, t, n, s) {
996
+ for (; this.peek() === " " || this.peek() === " ";) this.advance();
997
+ let a = "";
998
+ for (; this.pos < this.input.length;) {
999
+ let r = this.peek();
1000
+ if (r === `
1001
+ ` || r === ";") break;
1002
+ a += this.advance();
1003
+ }
1004
+ return {
1005
+ type: e,
1006
+ value: t,
1007
+ filename: a.trim(),
1008
+ line: n,
1009
+ column: s
1010
+ };
1011
+ }
1012
+ readExecute(e, t) {
1013
+ for (; this.peek() === " " || this.peek() === " ";) this.advance();
1014
+ let n = "";
1015
+ for (; this.pos < this.input.length;) {
1016
+ let s = this.peek();
1017
+ if (s === `
1018
+ ` || s === ";") break;
1019
+ n += this.advance();
1020
+ }
1021
+ return {
1022
+ type: o.EXECUTE,
1023
+ value: "e",
1024
+ command: n.trim() || void 0,
1025
+ line: e,
1026
+ column: t
1027
+ };
1028
+ }
1029
+ isDigit(e) {
1030
+ return e >= "0" && e <= "9";
1031
+ }
1032
+ };
1033
+ var K = class {
1034
+ scripts;
1035
+ tokens = [];
1036
+ pos = 0;
1037
+ extendedRegex = !1;
1038
+ constructor(e, t = !1) {
1039
+ this.scripts = e, this.extendedRegex = t;
1040
+ }
1041
+ parse() {
1042
+ let e = [];
1043
+ for (let t of this.scripts) {
1044
+ let n = new _(t);
1045
+ for (this.tokens = n.tokenize(), this.pos = 0; !this.isAtEnd();) {
1046
+ if (this.check(o.NEWLINE) || this.check(o.SEMICOLON)) {
1047
+ this.advance();
1048
+ continue;
1049
+ }
1050
+ let s = this.pos, a = this.parseCommand();
1051
+ if (a.error) return {
1052
+ commands: [],
1053
+ error: a.error
1054
+ };
1055
+ if (a.command && e.push(a.command), this.pos === s && !this.isAtEnd()) return {
1056
+ commands: [],
1057
+ error: `unknown command: '${this.peek()?.value ?? this.peek()?.type}'`
1058
+ };
1059
+ }
1060
+ }
1061
+ return { commands: e };
1062
+ }
1063
+ parseCommand() {
1064
+ let e = this.parseAddressRange();
1065
+ if (e?.error) return {
1066
+ command: null,
1067
+ error: e.error
1068
+ };
1069
+ let t = e?.address;
1070
+ for (this.check(o.NEGATION) && (this.advance(), t && (t.negated = !0)); this.check(o.NEWLINE) || this.check(o.SEMICOLON);) this.advance();
1071
+ if (this.isAtEnd()) return t && (t.start !== void 0 || t.end !== void 0) ? {
1072
+ command: null,
1073
+ error: "command expected"
1074
+ } : { command: null };
1075
+ let n = this.peek();
1076
+ switch (n.type) {
1077
+ case o.COMMAND: return this.parseSimpleCommand(n, t);
1078
+ case o.SUBSTITUTE: return this.parseSubstituteFromToken(n, t);
1079
+ case o.TRANSLITERATE: return this.parseTransliterateFromToken(n, t);
1080
+ case o.LABEL_DEF: return this.advance(), { command: {
1081
+ type: "label",
1082
+ name: n.label || ""
1083
+ } };
1084
+ case o.BRANCH: return this.advance(), { command: {
1085
+ type: "branch",
1086
+ address: t,
1087
+ label: n.label
1088
+ } };
1089
+ case o.BRANCH_ON_SUBST: return this.advance(), { command: {
1090
+ type: "branchOnSubst",
1091
+ address: t,
1092
+ label: n.label
1093
+ } };
1094
+ case o.BRANCH_ON_NO_SUBST: return this.advance(), { command: {
1095
+ type: "branchOnNoSubst",
1096
+ address: t,
1097
+ label: n.label
1098
+ } };
1099
+ case o.TEXT_CMD: return this.advance(), this.parseTextCommand(n, t);
1100
+ case o.FILE_READ: return this.advance(), { command: {
1101
+ type: "readFile",
1102
+ address: t,
1103
+ filename: n.filename || ""
1104
+ } };
1105
+ case o.FILE_READ_LINE: return this.advance(), { command: {
1106
+ type: "readFileLine",
1107
+ address: t,
1108
+ filename: n.filename || ""
1109
+ } };
1110
+ case o.FILE_WRITE: return this.advance(), { command: {
1111
+ type: "writeFile",
1112
+ address: t,
1113
+ filename: n.filename || ""
1114
+ } };
1115
+ case o.FILE_WRITE_LINE: return this.advance(), { command: {
1116
+ type: "writeFirstLine",
1117
+ address: t,
1118
+ filename: n.filename || ""
1119
+ } };
1120
+ case o.EXECUTE: return this.advance(), { command: {
1121
+ type: "execute",
1122
+ address: t,
1123
+ command: n.command
1124
+ } };
1125
+ case o.VERSION: return this.advance(), { command: {
1126
+ type: "version",
1127
+ address: t,
1128
+ minVersion: n.label
1129
+ } };
1130
+ case o.LBRACE: return this.parseGroup(t);
1131
+ case o.RBRACE: return { command: null };
1132
+ case o.ERROR: return {
1133
+ command: null,
1134
+ error: `invalid command: ${n.value}`
1135
+ };
1136
+ default: return t && (t.start !== void 0 || t.end !== void 0) ? {
1137
+ command: null,
1138
+ error: "command expected"
1139
+ } : { command: null };
1140
+ }
1141
+ }
1142
+ parseSimpleCommand(e, t) {
1143
+ this.advance();
1144
+ let n = e.value;
1145
+ switch (n) {
1146
+ case "p": return { command: {
1147
+ type: "print",
1148
+ address: t
1149
+ } };
1150
+ case "P": return { command: {
1151
+ type: "printFirstLine",
1152
+ address: t
1153
+ } };
1154
+ case "d": return { command: {
1155
+ type: "delete",
1156
+ address: t
1157
+ } };
1158
+ case "D": return { command: {
1159
+ type: "deleteFirstLine",
1160
+ address: t
1161
+ } };
1162
+ case "h": return { command: {
1163
+ type: "hold",
1164
+ address: t
1165
+ } };
1166
+ case "H": return { command: {
1167
+ type: "holdAppend",
1168
+ address: t
1169
+ } };
1170
+ case "g": return { command: {
1171
+ type: "get",
1172
+ address: t
1173
+ } };
1174
+ case "G": return { command: {
1175
+ type: "getAppend",
1176
+ address: t
1177
+ } };
1178
+ case "x": return { command: {
1179
+ type: "exchange",
1180
+ address: t
1181
+ } };
1182
+ case "n": return { command: {
1183
+ type: "next",
1184
+ address: t
1185
+ } };
1186
+ case "N": return { command: {
1187
+ type: "nextAppend",
1188
+ address: t
1189
+ } };
1190
+ case "q": return { command: {
1191
+ type: "quit",
1192
+ address: t
1193
+ } };
1194
+ case "Q": return { command: {
1195
+ type: "quitSilent",
1196
+ address: t
1197
+ } };
1198
+ case "z": return { command: {
1199
+ type: "zap",
1200
+ address: t
1201
+ } };
1202
+ case "=": return { command: {
1203
+ type: "lineNumber",
1204
+ address: t
1205
+ } };
1206
+ case "l": return { command: {
1207
+ type: "list",
1208
+ address: t
1209
+ } };
1210
+ case "F": return { command: {
1211
+ type: "printFilename",
1212
+ address: t
1213
+ } };
1214
+ default: return {
1215
+ command: null,
1216
+ error: `unknown command: ${n}`
1217
+ };
1218
+ }
1219
+ }
1220
+ parseSubstituteFromToken(e, t) {
1221
+ this.advance();
1222
+ let n = e.flags || "", s, a = n.match(/(\d+)/);
1223
+ return a && (s = parseInt(a[1], 10)), { command: {
1224
+ type: "substitute",
1225
+ address: t,
1226
+ pattern: e.pattern || "",
1227
+ replacement: e.replacement || "",
1228
+ global: n.includes("g"),
1229
+ ignoreCase: n.includes("i") || n.includes("I"),
1230
+ printOnMatch: n.includes("p"),
1231
+ nthOccurrence: s,
1232
+ extendedRegex: this.extendedRegex
1233
+ } };
1234
+ }
1235
+ parseTransliterateFromToken(e, t) {
1236
+ this.advance();
1237
+ let n = e.source || "", s = e.dest || "";
1238
+ return n.length !== s.length ? {
1239
+ command: null,
1240
+ error: "transliteration sets must have same length"
1241
+ } : { command: {
1242
+ type: "transliterate",
1243
+ address: t,
1244
+ source: n,
1245
+ dest: s
1246
+ } };
1247
+ }
1248
+ parseTextCommand(e, t) {
1249
+ let n = e.value, s = e.text || "";
1250
+ switch (n) {
1251
+ case "a": return { command: {
1252
+ type: "append",
1253
+ address: t,
1254
+ text: s
1255
+ } };
1256
+ case "i": return { command: {
1257
+ type: "insert",
1258
+ address: t,
1259
+ text: s
1260
+ } };
1261
+ case "c": return { command: {
1262
+ type: "change",
1263
+ address: t,
1264
+ text: s
1265
+ } };
1266
+ default: return {
1267
+ command: null,
1268
+ error: `unknown text command: ${n}`
1269
+ };
1270
+ }
1271
+ }
1272
+ parseGroup(e) {
1273
+ this.advance();
1274
+ let t = [];
1275
+ for (; !this.isAtEnd() && !this.check(o.RBRACE);) {
1276
+ if (this.check(o.NEWLINE) || this.check(o.SEMICOLON)) {
1277
+ this.advance();
1278
+ continue;
1279
+ }
1280
+ let n = this.pos, s = this.parseCommand();
1281
+ if (s.error) return {
1282
+ command: null,
1283
+ error: s.error
1284
+ };
1285
+ if (s.command && t.push(s.command), this.pos === n && !this.isAtEnd()) return {
1286
+ command: null,
1287
+ error: `unknown command: '${this.peek()?.value ?? this.peek()?.type}'`
1288
+ };
1289
+ }
1290
+ return this.check(o.RBRACE) ? (this.advance(), { command: {
1291
+ type: "group",
1292
+ address: e,
1293
+ commands: t
1294
+ } }) : {
1295
+ command: null,
1296
+ error: "unmatched brace in grouped commands"
1297
+ };
1298
+ }
1299
+ parseAddressRange() {
1300
+ if (this.check(o.COMMA)) return { error: "expected context address" };
1301
+ let e = this.parseAddress();
1302
+ if (e === void 0) return;
1303
+ let t;
1304
+ if (this.check(o.RELATIVE_OFFSET)) t = { offset: this.advance().offset || 0 };
1305
+ else if (this.check(o.COMMA) && (this.advance(), t = this.parseAddress(), t === void 0)) return { error: "expected context address" };
1306
+ return { address: {
1307
+ start: e,
1308
+ end: t
1309
+ } };
1310
+ }
1311
+ parseAddress() {
1312
+ let e = this.peek();
1313
+ switch (e.type) {
1314
+ case o.NUMBER: return this.advance(), e.value;
1315
+ case o.DOLLAR: return this.advance(), "$";
1316
+ case o.PATTERN: return this.advance(), { pattern: e.pattern || e.value };
1317
+ case o.STEP: return this.advance(), {
1318
+ first: e.first || 0,
1319
+ step: e.step || 0
1320
+ };
1321
+ case o.RELATIVE_OFFSET: return this.advance(), { offset: e.offset || 0 };
1322
+ default: return;
1323
+ }
1324
+ }
1325
+ peek() {
1326
+ return this.tokens[this.pos] || {
1327
+ type: o.EOF,
1328
+ value: "",
1329
+ line: 0,
1330
+ column: 0
1331
+ };
1332
+ }
1333
+ advance() {
1334
+ return this.isAtEnd() || this.pos++, this.tokens[this.pos - 1];
1335
+ }
1336
+ check(e) {
1337
+ return this.peek().type === e;
1338
+ }
1339
+ isAtEnd() {
1340
+ return this.peek().type === o.EOF;
1341
+ }
1342
+ };
1343
+ function ae(i, e = !1) {
1344
+ let t = !1, n = !1, s = [];
1345
+ for (let c = 0; c < i.length; c++) {
1346
+ let f = i[c];
1347
+ if (s.length === 0 && c === 0) {
1348
+ let p = f.match(/^#([nr]+)\s*(?:\n|$)/i);
1349
+ if (p) {
1350
+ let x = p[1].toLowerCase();
1351
+ x.includes("n") && (t = !0), x.includes("r") && (n = !0), f = f.slice(p[0].length);
1352
+ }
1353
+ }
1354
+ if (s.length > 0 && s[s.length - 1].endsWith("\\")) {
1355
+ let p = s[s.length - 1];
1356
+ s[s.length - 1] = `${p}
1357
+ ${f}`;
1358
+ } else s.push(f);
1359
+ }
1360
+ let l = new K([s.join(`
1361
+ `)], e || n).parse();
1362
+ if (!l.error && l.commands.length > 0) {
1363
+ let c = xe(l.commands);
1364
+ if (c) return {
1365
+ commands: [],
1366
+ error: c,
1367
+ silentMode: t,
1368
+ extendedRegexMode: n
1369
+ };
1370
+ }
1371
+ return {
1372
+ ...l,
1373
+ silentMode: t,
1374
+ extendedRegexMode: n
1375
+ };
1376
+ }
1377
+ function xe(i) {
1378
+ let e = /* @__PURE__ */ new Set();
1379
+ ce(i, e);
1380
+ let t = oe(i, e);
1381
+ if (t) return `undefined label '${t}'`;
1382
+ }
1383
+ function ce(i, e) {
1384
+ for (let t of i) t.type === "label" ? e.add(t.name) : t.type === "group" && ce(t.commands, e);
1385
+ }
1386
+ function oe(i, e) {
1387
+ for (let t of i) {
1388
+ if ((t.type === "branch" || t.type === "branchOnSubst" || t.type === "branchOnNoSubst") && t.label && !e.has(t.label)) return t.label;
1389
+ if (t.type === "group") {
1390
+ let n = oe(t.commands, e);
1391
+ if (n) return n;
1392
+ }
1393
+ }
1394
+ }
1395
+ var ke = {
1396
+ name: "sed",
1397
+ summary: "stream editor for filtering and transforming text",
1398
+ usage: "sed [OPTION]... {script} [input-file]...",
1399
+ options: [
1400
+ "-n, --quiet, --silent suppress automatic printing of pattern space",
1401
+ "-e script add the script to commands to be executed",
1402
+ "-f script-file read script from file",
1403
+ "-i, --in-place edit files in place",
1404
+ "-E, -r, --regexp-extended use extended regular expressions",
1405
+ " --help display this help and exit"
1406
+ ],
1407
+ description: `Commands:
1408
+ s/regexp/replacement/[flags] substitute
1409
+ d delete pattern space
1410
+ p print pattern space
1411
+ a\\ text append text after line
1412
+ i\\ text insert text before line
1413
+ c\\ text change (replace) line with text
1414
+ h copy pattern space to hold space
1415
+ H append pattern space to hold space
1416
+ g copy hold space to pattern space
1417
+ G append hold space to pattern space
1418
+ x exchange pattern and hold spaces
1419
+ n read next line into pattern space
1420
+ N append next line to pattern space
1421
+ y/source/dest/ transliterate characters
1422
+ = print line number
1423
+ l list pattern space (escape special chars)
1424
+ b [label] branch to label
1425
+ t [label] branch on substitution
1426
+ T [label] branch if no substitution
1427
+ :label define label
1428
+ q quit
1429
+ Q quit without printing
1430
+
1431
+ Addresses:
1432
+ N line number
1433
+ $ last line
1434
+ /regexp/ lines matching regexp
1435
+ N,M range from line N to M
1436
+ first~step every step-th line starting at first`
1437
+ };
1438
+ async function Q(i, e, t, n = {}) {
1439
+ let { limits: s, filename: a$1, fs: r, cwd: l, coverage: c, requireDefenseContext: f } = n;
1440
+ a(f, "sed", "processing entry");
1441
+ let p = (R, m) => x(f, "sed", R, m), x$2 = i.endsWith(`
1442
+ `), g = i.split(`
1443
+ `);
1444
+ g.length > 0 && g[g.length - 1] === "" && g.pop();
1445
+ let d$1 = g.length, E = "", u, h = !1, b$1 = s?.maxStringLength ?? 0, v = (R) => {
1446
+ if (E += R, b$1 > 0 && E.length > b$1) throw new b(`sed: output size limit exceeded (${b$1} bytes)`, "string_length");
1447
+ }, O = "", J, le = /* @__PURE__ */ new Map(), T = /* @__PURE__ */ new Map(), B = /* @__PURE__ */ new Map(), D = /* @__PURE__ */ new Map(), ue = s ? {
1448
+ maxIterations: s.maxSedIterations,
1449
+ maxStringLength: b$1
1450
+ } : void 0;
1451
+ for (let R = 0; R < g.length; R++) {
1452
+ let m = {
1453
+ ...re(d$1, a$1, le),
1454
+ patternSpace: g[R],
1455
+ holdSpace: O,
1456
+ lastPattern: J,
1457
+ lineNumber: R + 1,
1458
+ totalLines: d$1,
1459
+ substitutionMade: !1,
1460
+ coverage: c
1461
+ }, F = {
1462
+ lines: g,
1463
+ currentLineIndex: R
1464
+ }, Y = 0, he = 1e4;
1465
+ m.linesConsumedInCycle = 0;
1466
+ do {
1467
+ if (Y++, Y > he) break;
1468
+ if (m.restartCycle = !1, m.pendingFileReads = [], m.pendingFileWrites = [], Z(e, m, F, ue), r && l) {
1469
+ for (let C of m.pendingFileReads) {
1470
+ let S = r.resolvePath(l, C.filename);
1471
+ try {
1472
+ if (C.wholeFile) {
1473
+ let y = await p("read command file", () => r.readFile(S));
1474
+ m.appendBuffer.push(y.replace(/\n$/, ""));
1475
+ } else {
1476
+ if (!T.has(S)) {
1477
+ let de = await p("read command file line cache", () => r.readFile(S));
1478
+ T.set(S, de.split(`
1479
+ `)), B.set(S, 0);
1480
+ }
1481
+ let y = T.get(S), M = B.get(S);
1482
+ y && M !== void 0 && M < y.length && (m.appendBuffer.push(y[M]), B.set(S, M + 1));
1483
+ }
1484
+ } catch (y) {
1485
+ if (y instanceof d) throw y;
1486
+ }
1487
+ }
1488
+ for (let C of m.pendingFileWrites) {
1489
+ let S = r.resolvePath(l, C.filename), y = D.get(S) || "";
1490
+ D.set(S, y + C.content);
1491
+ }
1492
+ }
1493
+ } while (m.restartCycle && !m.deleted && !m.quit && !m.quitSilent);
1494
+ if (R += m.linesConsumedInCycle, O = m.holdSpace, J = m.lastPattern, !t) for (let C of m.nCommandOutput) v(`${C}
1495
+ `);
1496
+ let fe = m.lineNumberOutput.length > 0;
1497
+ for (let C of m.lineNumberOutput) v(`${C}
1498
+ `);
1499
+ let ee = [], q = [];
1500
+ for (let C of m.appendBuffer) C.startsWith("__INSERT__") ? ee.push(C.slice(10)) : q.push(C);
1501
+ for (let C of ee) v(`${C}
1502
+ `);
1503
+ let $ = !1;
1504
+ !m.deleted && !m.quitSilent ? t ? m.printed && (v(`${m.patternSpace}
1505
+ `), $ = !0) : (v(`${m.patternSpace}
1506
+ `), $ = !0) : m.changedText !== void 0 && (v(`${m.changedText}
1507
+ `), $ = !0);
1508
+ for (let C of q) v(`${C}
1509
+ `);
1510
+ if (h = (fe || $) && q.length === 0, m.quit || m.quitSilent) {
1511
+ if (m.exitCode !== void 0 && (u = m.exitCode), m.errorMessage) return {
1512
+ output: "",
1513
+ exitCode: u || 1,
1514
+ errorMessage: m.errorMessage
1515
+ };
1516
+ break;
1517
+ }
1518
+ }
1519
+ if (r && l) for (let [R, m] of D) try {
1520
+ await p("flush pending file writes", () => r.writeFile(R, m));
1521
+ } catch (F) {
1522
+ if (F instanceof d) throw F;
1523
+ }
1524
+ return !x$2 && h && E.endsWith(`
1525
+ `) && (E = E.slice(0, -1)), {
1526
+ output: E,
1527
+ exitCode: u
1528
+ };
1529
+ }
1530
+ var Pe = {
1531
+ name: "sed",
1532
+ async execute(i, e) {
1533
+ a(e.requireDefenseContext, "sed", "execution entry");
1534
+ let t = (u, h) => x(e.requireDefenseContext, "sed", u, h);
1535
+ if (o$1(i)) return s(ke);
1536
+ let n$1 = [], s$1 = [], a$2 = !1, r$1 = !1, l = !1, c = [];
1537
+ for (let u = 0; u < i.length; u++) {
1538
+ let h = i[u];
1539
+ if (h === "-n" || h === "--quiet" || h === "--silent") a$2 = !0;
1540
+ else if (h === "-i" || h === "--in-place") r$1 = !0;
1541
+ else if (h.startsWith("-i")) r$1 = !0;
1542
+ else if (h === "-E" || h === "-r" || h === "--regexp-extended") l = !0;
1543
+ else if (h === "-e") u + 1 < i.length && n$1.push(i[++u]);
1544
+ else if (h === "-f") u + 1 < i.length && s$1.push(i[++u]);
1545
+ else {
1546
+ if (h.startsWith("--")) return r("sed", h);
1547
+ if (h === "-") c.push(h);
1548
+ else if (h.startsWith("-") && h.length > 1) {
1549
+ for (let b of h.slice(1)) if (b !== "n" && b !== "e" && b !== "f" && b !== "i" && b !== "E" && b !== "r") return r("sed", `-${b}`);
1550
+ h.includes("n") && (a$2 = !0), h.includes("i") && (r$1 = !0), (h.includes("E") || h.includes("r")) && (l = !0), h.includes("e") && !h.includes("n") && !h.includes("i") && u + 1 < i.length && n$1.push(i[++u]), h.includes("f") && !h.includes("e") && u + 1 < i.length && s$1.push(i[++u]);
1551
+ } else !h.startsWith("-") && n$1.length === 0 && s$1.length === 0 ? n$1.push(h) : h.startsWith("-") || c.push(h);
1552
+ }
1553
+ }
1554
+ for (let u of s$1) {
1555
+ let h = e.fs.resolvePath(e.cwd, u);
1556
+ try {
1557
+ let b = await t("script file read", () => e.fs.readFile(h));
1558
+ for (let v of b.split(`
1559
+ `)) {
1560
+ let O = v.trim();
1561
+ O && !O.startsWith("#") && n$1.push(O);
1562
+ }
1563
+ } catch (b) {
1564
+ if (b instanceof d) throw b;
1565
+ return {
1566
+ stdout: "",
1567
+ stderr: `sed: couldn't open file ${u}: No such file or directory
1568
+ `,
1569
+ exitCode: 1
1570
+ };
1571
+ }
1572
+ }
1573
+ if (n$1.length === 0) return {
1574
+ stdout: "",
1575
+ stderr: `sed: no script specified
1576
+ `,
1577
+ exitCode: 1
1578
+ };
1579
+ let { commands: f, error: p, silentMode: x$3 } = ae(n$1, l);
1580
+ if (p) return {
1581
+ stdout: "",
1582
+ stderr: `sed: ${p}
1583
+ `,
1584
+ exitCode: 1
1585
+ };
1586
+ let g = !!(a$2 || x$3);
1587
+ if (r$1) {
1588
+ if (c.length === 0) return {
1589
+ stdout: "",
1590
+ stderr: `sed: -i requires at least one file argument
1591
+ `,
1592
+ exitCode: 1
1593
+ };
1594
+ for (let u of c) {
1595
+ if (u === "-") continue;
1596
+ let h = e.fs.resolvePath(e.cwd, u);
1597
+ try {
1598
+ let b = await t("in-place input read", () => e.fs.readFile(h)), v = await t("in-place processing", () => Q(b, f, g, {
1599
+ limits: e.limits,
1600
+ filename: u,
1601
+ fs: e.fs,
1602
+ cwd: e.cwd,
1603
+ coverage: e.coverage,
1604
+ requireDefenseContext: e.requireDefenseContext
1605
+ }));
1606
+ if (v.errorMessage) return {
1607
+ stdout: "",
1608
+ stderr: `${v.errorMessage}
1609
+ `,
1610
+ exitCode: v.exitCode ?? 1
1611
+ };
1612
+ await t("in-place output write", () => e.fs.writeFile(h, v.output));
1613
+ } catch (b$2) {
1614
+ if (b$2 instanceof d) throw b$2;
1615
+ return b$2 instanceof b ? {
1616
+ stdout: "",
1617
+ stderr: `sed: ${n(b$2.message)}
1618
+ `,
1619
+ exitCode: b.EXIT_CODE
1620
+ } : {
1621
+ stdout: "",
1622
+ stderr: `sed: ${u}: No such file or directory
1623
+ `,
1624
+ exitCode: 1
1625
+ };
1626
+ }
1627
+ }
1628
+ return {
1629
+ stdout: "",
1630
+ stderr: "",
1631
+ exitCode: 0
1632
+ };
1633
+ }
1634
+ let d$2 = "";
1635
+ if (c.length === 0) {
1636
+ d$2 = x$1(e.stdin);
1637
+ try {
1638
+ let u = await t("stdin processing", () => Q(d$2, f, g, {
1639
+ limits: e.limits,
1640
+ fs: e.fs,
1641
+ cwd: e.cwd,
1642
+ coverage: e.coverage,
1643
+ requireDefenseContext: e.requireDefenseContext
1644
+ }));
1645
+ return {
1646
+ stdout: u.output,
1647
+ stderr: u.errorMessage ? `${u.errorMessage}
1648
+ ` : "",
1649
+ exitCode: u.exitCode ?? 0
1650
+ };
1651
+ } catch (u) {
1652
+ if (u instanceof d) throw u;
1653
+ if (u instanceof b) return {
1654
+ stdout: "",
1655
+ stderr: `sed: ${n(u.message)}
1656
+ `,
1657
+ exitCode: b.EXIT_CODE
1658
+ };
1659
+ throw u;
1660
+ }
1661
+ }
1662
+ let E = !1;
1663
+ for (let u of c) {
1664
+ let h;
1665
+ if (u === "-") E ? h = "" : (h = x$1(e.stdin), E = !0);
1666
+ else {
1667
+ let b$3 = e.fs.resolvePath(e.cwd, u);
1668
+ try {
1669
+ h = await t("input file read", () => e.fs.readFile(b$3));
1670
+ } catch (v) {
1671
+ if (v instanceof d) throw v;
1672
+ return v instanceof b ? {
1673
+ stdout: "",
1674
+ stderr: `sed: ${n(v.message)}
1675
+ `,
1676
+ exitCode: b.EXIT_CODE
1677
+ } : {
1678
+ stdout: "",
1679
+ stderr: `sed: ${u}: No such file or directory
1680
+ `,
1681
+ exitCode: 1
1682
+ };
1683
+ }
1684
+ }
1685
+ d$2.length > 0 && h.length > 0 && !d$2.endsWith(`
1686
+ `) && (d$2 += `
1687
+ `), d$2 += h;
1688
+ }
1689
+ try {
1690
+ let u = await t("final processing", () => Q(d$2, f, g, {
1691
+ limits: e.limits,
1692
+ filename: c.length === 1 ? c[0] : void 0,
1693
+ fs: e.fs,
1694
+ cwd: e.cwd,
1695
+ coverage: e.coverage,
1696
+ requireDefenseContext: e.requireDefenseContext
1697
+ }));
1698
+ return {
1699
+ stdout: u.output,
1700
+ stderr: u.errorMessage ? `${u.errorMessage}
1701
+ ` : "",
1702
+ exitCode: u.exitCode ?? 0
1703
+ };
1704
+ } catch (u) {
1705
+ if (u instanceof d) throw u;
1706
+ if (u instanceof b) return {
1707
+ stdout: "",
1708
+ stderr: `sed: ${n(u.message)}
1709
+ `,
1710
+ exitCode: b.EXIT_CODE
1711
+ };
1712
+ throw u;
1713
+ }
1714
+ }
1715
+ };
1716
+ //#endregion
1717
+ //#region ../../node_modules/.pnpm/just-bash@3.0.1/node_modules/just-bash/dist/bundle/chunks/sed-S5UIK574.js
1718
+ createRequire(import.meta.url);
1719
+ //#endregion
1720
+ export { Pe as sedCommand };
1721
+
1722
+ //# sourceMappingURL=sed-S5UIK574-DE1KeTk3.mjs.map