@inkeep/open-knowledge 0.28.0-beta.0 → 0.28.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/THIRD_PARTY_NOTICES.md +24 -9
- package/dist/assets/skills/discovery/SKILL.md +1 -1
- package/dist/assets/skills/project/SKILL.md +1 -1
- package/dist/awk2-BBAGSFUB-Clvg_OoV.mjs +1 -0
- package/dist/chunk-2TRDZQLB-C2G-sahM.mjs +18 -0
- package/dist/{chunk-UNYNJIFU-HSzsM3a6.mjs → chunk-3BS5SKQH-HZ1-1bfb.mjs} +36 -36
- package/dist/{chunk-YS3AZT3J-DwQ3GyQR.mjs → chunk-3H6UQG3A-DdNaIxPm.mjs} +9 -9
- package/dist/{chunk-XORM457F-CJbQLVgU.mjs → chunk-6Z5SFZXK-C3WlMqq-.mjs} +53 -53
- package/dist/{chunk-YNYSPYQ5-DHter9G3.mjs → chunk-B74TABJS-DlbqoTuk.mjs} +13 -13
- package/dist/{chunk-FEIOJCZD-D6YUa1Xl.mjs → chunk-BGSUD5R5-DQ0_iOyO.mjs} +2 -2
- package/dist/{chunk-F55TLFGB-AEzanSfe.mjs → chunk-DBKNVD4L-BVx-WyDG.mjs} +2 -2
- package/dist/{chunk-BRGMQKJV-DtyxDw61.mjs → chunk-HKLCLINH-DwmCAW4U.mjs} +16 -16
- package/dist/chunk-HL6NGDO2-978327U5.mjs +24 -0
- package/dist/{chunk-LPQPILI2-GOcK96AE.mjs → chunk-K6LIBGJA-DpjaSGfc.mjs} +2 -2
- package/dist/{chunk-BBXLRYSX-OVlWa2B-.mjs → chunk-KRBPSX3W-nYEMVABW.mjs} +2 -2
- package/dist/chunk-KX3P26DQ-Cli1PSKS.mjs +2 -0
- package/dist/{chunk-SYMJJMQ4-DUF5hY-A.mjs → chunk-PXTK5WE2-B17f9YTq.mjs} +1 -1
- package/dist/{chunk-J642UCRS-C1PS8Hwf.mjs → chunk-SNN4IESC-C-P75V1I.mjs} +2 -2
- package/dist/chunk-TP4BZANS-eJW0TOjs.mjs +21 -0
- package/dist/{chunk-YFG2CMIF-DBRGs_rZ.mjs → chunk-V5MWI2OL-CDEVEp7K.mjs} +2 -2
- package/dist/chunk-XKWWSDBF-XuPgN5BP.mjs +37 -0
- package/dist/{chunk-NYQYO467-KfHLMnUW.mjs → chunk-YMMW5UAP-uYgeXT56.mjs} +5 -5
- package/dist/chunk-YULBWSET-BYBVdNmi.mjs +14 -0
- package/dist/{chunk-OL3S66CO-CBdL6pp1.mjs → chunk-ZZO3UDB3-CdVtmXn4.mjs} +2 -2
- package/dist/cli.mjs +7 -7
- package/dist/constants-DQ9gCjtp.mjs +2 -0
- package/dist/{dist-CgMyk9vp.mjs → dist-Cj2f9yMz.mjs} +1 -1
- package/dist/{dist-C_yx5tj0.mjs → dist-Dzsbf2ES.mjs} +159 -161
- package/dist/expansion-VBDYWVZR-k3W3Rc7R.mjs +1 -0
- package/dist/expr-YYCVMXE3-CHnBeIXW.mjs +1 -0
- package/dist/file-IGDTDPLG-DQaFkvTu.mjs +1 -0
- package/dist/find-DH2ALKQS-6y8KktlA.mjs +1 -0
- package/dist/{flag-coverage-QT4N2Z44-BlPYKPtd.mjs → flag-coverage-6JEX67RU-BqC6mFKB.mjs} +2 -2
- package/dist/{git-handle-Bhgrj9qX-DBwQr-02.mjs → git-handle-B4hCEi7c-CXOP12Ds.mjs} +2 -2
- package/dist/git-handle-DG8d2xCi-C_CAAChL.mjs +1 -0
- package/dist/grep-2HUTXO5U-Dbnjl3Iq.mjs +1 -0
- package/dist/index.d.mts +30 -1
- package/dist/index.mjs +1 -1
- package/dist/{init-ivEBwK7y.mjs → init-CylIL2_d.mjs} +24 -24
- package/dist/init-iEaa5yZe.mjs +1 -0
- package/dist/jq-LYZFFBZB-CSF_TJhe.mjs +1 -0
- package/dist/{js-exec-M6UR76J5-ZESSNIAK.mjs → js-exec-VXN6TZ7U-fCXuAS2-.mjs} +2 -2
- package/dist/{loader-u0w9n8j8.mjs → loader-DL7cugZT.mjs} +2 -2
- package/dist/loader-Dnu5tSEp.mjs +1 -0
- package/dist/preview-B5POtWPo.mjs +1 -0
- package/dist/{preview-DuGdXEFZ.mjs → preview-Bn8zUTY3.mjs} +2 -2
- package/dist/public/assets/SettingsDialogBody-BX4GP2gS.js +7 -0
- package/dist/public/assets/{index-BY2yEG8q.js → index-Br8R5akq.js} +3 -3
- package/dist/public/index.html +1 -1
- package/dist/{python3-AUFTPCU6-B7_jrPM3.mjs → python3-DNGS4G3E-bGzU9nm-.mjs} +2 -2
- package/dist/{repair-launch-json-GbJKeEYH.mjs → repair-launch-json-BkY5nlM0.mjs} +2 -2
- package/dist/repair-mcp-configs-Cz6iXpxD.mjs +2 -0
- package/dist/repair-skills-BwkQh3gJ.mjs +1 -0
- package/dist/repair-skills-DDLj2RIs.mjs +3 -0
- package/dist/rg-XNF3R3II-ivb6d3Sm.mjs +1 -0
- package/dist/sed-JAPPVBEU-BvDbOHs0.mjs +1 -0
- package/dist/{sqlite3-56UMWEY3-DNmhrHQv.mjs → sqlite3-TE5AIOTF-DW7pT7NE.mjs} +1 -1
- package/dist/{src-Cc1qY4l3.mjs → src-DL-hUlrv.mjs} +3 -3
- package/dist/{start-FRD4_VQ8.mjs → start-OiE8Ork3.mjs} +2 -2
- package/dist/start-uZWiX6-B.mjs +1 -0
- package/dist/tar-MZQD7NO4-46pC0DHj.mjs +1 -0
- package/dist/{write-project-skill-GLroKiE7.mjs → write-project-skill-C7UNscN7.mjs} +3 -3
- package/dist/xan-UD7JYIL2-DnWVVFeC.mjs +1 -0
- package/dist/xan-view-OW2TB7Z3-DBl8NjSB.mjs +1 -0
- package/dist/yq-OAKYHSXH-CpYttz-E.mjs +1 -0
- package/package.json +1 -1
- package/dist/awk2-POPGKRAI-6Q9HKhoL.mjs +0 -1
- package/dist/chunk-CR5AFCPT-BD_awIEP.mjs +0 -24
- package/dist/chunk-HWBSOZZR-DaPTwPxK.mjs +0 -37
- package/dist/chunk-OARHFVLG-Csb_cJVS.mjs +0 -21
- package/dist/chunk-VLGZJRPG-CHtdu0KZ.mjs +0 -17
- package/dist/chunk-XHM67O4N-2lBQUjKO.mjs +0 -2
- package/dist/chunk-YCFVLTST-CKzPj8PR.mjs +0 -13
- package/dist/constants-CrfIfZxB.mjs +0 -2
- package/dist/expansion-ENLSRCXJ-C5xjxYTl.mjs +0 -1
- package/dist/expr-5T3UU5KE-DrJUreFq.mjs +0 -1
- package/dist/file-ZIGAJ4YS-D07ChhI1.mjs +0 -1
- package/dist/find-TPUOAIUQ-ZPOxwUwf.mjs +0 -1
- package/dist/git-handle-DjEtQkHv-DQXg1XhZ.mjs +0 -1
- package/dist/grep-3AIAIJVR-Bh6KBg6d.mjs +0 -1
- package/dist/init-D4mCPnC2.mjs +0 -1
- package/dist/jq-ODXZBPLY-D3tmTL1R.mjs +0 -1
- package/dist/loader-ByJ07pxk.mjs +0 -1
- package/dist/preview-BSeDAUIf.mjs +0 -1
- package/dist/public/assets/SettingsDialogBody-BGLGfDpN.js +0 -7
- package/dist/repair-mcp-configs-DLSIsucG.mjs +0 -2
- package/dist/repair-skills-B-VIYM77.mjs +0 -1
- package/dist/repair-skills-DJmyw_aE.mjs +0 -3
- package/dist/rg-FOQSCCX3-ViKChHv5.mjs +0 -1
- package/dist/sed-VFTTATXJ-BfHBQ11q.mjs +0 -1
- package/dist/start-B-djBhNq.mjs +0 -1
- package/dist/tar-ANUBEFJY-Db9qg5B2.mjs +0 -1
- package/dist/xan-BXDXYEIB-I8yansvE.mjs +0 -1
- package/dist/xan-view-ECQUO7AJ-DJhdCPf3.mjs +0 -1
- package/dist/yq-MJMAR36V-BXyMiYfX.mjs +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{t as e}from"./chunk-
|
|
1
|
+
import{t as e}from"./chunk-B74TABJS-DlbqoTuk.mjs";import{t}from"./chunk-IPJHKYVM-DlQCOz2c.mjs";import{r as n,t as r}from"./chunk-74CEPOFO-V0JXh91S.mjs";import{t as i}from"./chunk-X2AJGDEF-ClcErtij.mjs";import{t as a}from"./chunk-SNN4IESC-C-P75V1I.mjs";import{n as o,r as s,t as c}from"./chunk-EEXR5ZDP-CvpAxUxM.mjs";function l(t,n){switch(t.type){case`name`:{let e=t.pattern,r=e.match(/^\*(\.[a-zA-Z0-9]+)$/);if(r){let e=r[1],i=n.name;if(t.ignoreCase){if(!i.toLowerCase().endsWith(e.toLowerCase()))return{matches:!1,pruned:!1,printed:!1}}else if(!i.endsWith(e))return{matches:!1,pruned:!1,printed:!1};return{matches:!0,pruned:!1,printed:!1}}return{matches:a(n.name,e,t.ignoreCase),pruned:!1,printed:!1}}case`path`:{let e=t.pattern,r=n.relativePath,i=e.split(`/`);for(let e=0;e<i.length-1;e++){let n=i[e];if(n&&n!==`.`&&n!==`..`&&!n.includes(`*`)&&!n.includes(`?`)&&!n.includes(`[`)){let e=`/${n}/`;if(t.ignoreCase){if(!r.toLowerCase().includes(e.toLowerCase()))return{matches:!1,pruned:!1,printed:!1}}else if(!r.includes(e))return{matches:!1,pruned:!1,printed:!1}}}let o=e.match(/\*(\.[a-zA-Z0-9]+)$/);if(o){let e=o[1];if(t.ignoreCase){if(!r.toLowerCase().endsWith(e.toLowerCase()))return{matches:!1,pruned:!1,printed:!1}}else if(!r.endsWith(e))return{matches:!1,pruned:!1,printed:!1}}return{matches:a(r,e,t.ignoreCase),pruned:!1,printed:!1}}case`regex`:try{let r=t.ignoreCase?`i`:``;return{matches:e(t.pattern,r).test(n.relativePath),pruned:!1,printed:!1}}catch{return{matches:!1,pruned:!1,printed:!1}}case`type`:return t.fileType===`f`?{matches:n.isFile,pruned:!1,printed:!1}:t.fileType===`d`?{matches:n.isDirectory,pruned:!1,printed:!1}:{matches:!1,pruned:!1,printed:!1};case`empty`:return{matches:n.isEmpty,pruned:!1,printed:!1};case`mtime`:{let e=(Date.now()-n.mtime)/(1e3*60*60*24),r;return r=t.comparison===`more`?e>t.days:t.comparison===`less`?e<t.days:Math.floor(e)===t.days,{matches:r,pruned:!1,printed:!1}}case`newer`:{let e=n.newerRefTimes.get(t.refPath);return e===void 0?{matches:!1,pruned:!1,printed:!1}:{matches:n.mtime>e,pruned:!1,printed:!1}}case`size`:{let e=t.value;switch(t.unit){case`c`:e=t.value;break;case`k`:e=t.value*1024;break;case`M`:e=t.value*1024*1024;break;case`G`:e=t.value*1024*1024*1024;break;case`b`:e=t.value*512;break}let r;return r=t.comparison===`more`?n.size>e:t.comparison===`less`?n.size<e:t.unit===`b`?Math.ceil(n.size/512)===t.value:n.size===e,{matches:r,pruned:!1,printed:!1}}case`perm`:{let e=n.mode&511,r=t.mode&511,i;return i=t.matchType===`exact`?e===r:t.matchType===`all`?(e&r)===r:(e&r)!==0,{matches:i,pruned:!1,printed:!1}}case`prune`:return{matches:!0,pruned:!0,printed:!1};case`print`:return{matches:!0,pruned:!1,printed:!0};case`not`:{let e=l(t.expr,n);return{matches:!e.matches,pruned:e.pruned,printed:!1}}case`and`:{let e=l(t.left,n);if(!e.matches)return{matches:!1,pruned:e.pruned,printed:!1};let r=l(t.right,n);return{matches:r.matches,pruned:e.pruned||r.pruned,printed:e.printed||r.printed}}case`or`:{let e=l(t.left,n);if(e.matches)return e;let r=l(t.right,n);return{matches:r.matches,pruned:e.pruned||r.pruned,printed:r.printed}}}}function u(e){if(!e)return!1;switch(e.type){case`name`:case`path`:case`regex`:case`type`:case`prune`:case`print`:return!1;case`empty`:case`mtime`:case`newer`:case`size`:case`perm`:return!0;case`not`:return u(e.expr);case`and`:case`or`:return u(e.left)||u(e.right)}}function d(e){if(!e)return!1;switch(e.type){case`empty`:return!0;case`not`:return d(e.expr);case`and`:case`or`:return d(e.left)||d(e.right);default:return!1}}function f(e){let t={terminalDirName:null,requiredExtension:null};if(!e)return t;let n=p(e);if(m(e)&&n.length===1){let e=n[0].split(`/`).filter(e=>e.length>0);if(e.length>=2)for(let n=e.length-2;n>=0;n--){let r=e[n];if(!r.includes(`*`)&&!r.includes(`?`)&&!r.includes(`[`)&&r!==`.`&&r!==`..`){let i=e[n+1];if(i&&(i.includes(`*`)||i.includes(`?`))){t.terminalDirName=r;let e=i.match(/^\*(\.[a-zA-Z0-9]+)$/);e&&(t.requiredExtension=e[1])}break}}}return t}function p(e){let t=[],n=e=>{e.type===`path`?t.push(e.pattern):e.type===`not`?n(e.expr):(e.type===`and`||e.type===`or`)&&(n(e.left),n(e.right))};return n(e),t}function m(e){let t=e=>e.type===`type`&&e.fileType===`f`?!0:e.type===`not`?t(e.expr):e.type===`and`||e.type===`or`?t(e.left)||t(e.right):!1;return t(e)}function h(e){let t=[],n=e=>{e&&(e.type===`newer`?t.push(e.refPath):e.type===`not`?n(e.expr):(e.type===`and`||e.type===`or`)&&(n(e.left),n(e.right)))};return n(e),t}function g(e){if(!e)return!0;switch(e.type){case`name`:case`path`:case`regex`:case`type`:case`prune`:case`print`:return!0;case`empty`:case`mtime`:case`newer`:case`size`:case`perm`:return!1;case`not`:return g(e.expr);case`and`:case`or`:return g(e.left)&&g(e.right)}}function _(t,n,r,i,o){switch(t.type){case`name`:{let e=t.pattern,r=e.match(/^\*(\.[a-zA-Z0-9]+)$/);if(r){let e=r[1];if(t.ignoreCase){if(!n.toLowerCase().endsWith(e.toLowerCase()))return{matches:!1,pruned:!1,printed:!1}}else if(!n.endsWith(e))return{matches:!1,pruned:!1,printed:!1};return{matches:!0,pruned:!1,printed:!1}}return{matches:a(n,e,t.ignoreCase),pruned:!1,printed:!1}}case`path`:{let e=t.pattern,n=e.split(`/`);for(let e=0;e<n.length-1;e++){let i=n[e];if(i&&i!==`.`&&i!==`..`&&!i.includes(`*`)&&!i.includes(`?`)&&!i.includes(`[`)){let e=`/${i}/`;if(t.ignoreCase){if(!r.toLowerCase().includes(e.toLowerCase()))return{matches:!1,pruned:!1,printed:!1}}else if(!r.includes(e))return{matches:!1,pruned:!1,printed:!1}}}let i=e.match(/\*(\.[a-zA-Z0-9]+)$/);if(i){let e=i[1];if(t.ignoreCase){if(!r.toLowerCase().endsWith(e.toLowerCase()))return{matches:!1,pruned:!1,printed:!1}}else if(!r.endsWith(e))return{matches:!1,pruned:!1,printed:!1}}return{matches:a(r,e,t.ignoreCase),pruned:!1,printed:!1}}case`regex`:try{let n=t.ignoreCase?`i`:``;return{matches:e(t.pattern,n).test(r),pruned:!1,printed:!1}}catch{return{matches:!1,pruned:!1,printed:!1}}case`type`:return t.fileType===`f`?{matches:i,pruned:!1,printed:!1}:t.fileType===`d`?{matches:o,pruned:!1,printed:!1}:{matches:!1,pruned:!1,printed:!1};case`prune`:return{matches:!0,pruned:!0,printed:!1};case`print`:return{matches:!0,pruned:!1,printed:!0};case`not`:{let e=_(t.expr,n,r,i,o);return{matches:!e.matches,pruned:e.pruned,printed:!1}}case`and`:{let e=_(t.left,n,r,i,o);if(!e.matches)return{matches:!1,pruned:e.pruned,printed:!1};let a=_(t.right,n,r,i,o);return{matches:a.matches,pruned:e.pruned||a.pruned,printed:e.printed||a.printed}}case`or`:{let e=_(t.left,n,r,i,o);if(e.matches)return e;let a=_(t.right,n,r,i,o);return{matches:a.matches,pruned:e.pruned||a.pruned,printed:a.printed}}default:return{matches:!1,pruned:!1,printed:!1}}}function v(e){if(!e)return!1;switch(e.type){case`prune`:return!0;case`not`:return v(e.expr);case`and`:case`or`:return v(e.left)||v(e.right);default:return!1}}function y(e){switch(e.type){case`name`:case`path`:case`regex`:case`type`:case`prune`:case`print`:return!0;case`empty`:case`mtime`:case`newer`:case`size`:case`perm`:return!1;case`not`:return y(e.expr);case`and`:case`or`:return y(e.left)&&y(e.right)}}function b(e,t){return!e||!t.isDirectory?{shouldPrune:!1}:y(e)?{shouldPrune:l(e,{name:t.name,relativePath:t.relativePath,isFile:t.isFile,isDirectory:t.isDirectory,isEmpty:!1,mtime:0,size:0,mode:0,newerRefTimes:new Map}).pruned}:x(e,t)}function x(e,t){switch(e.type){case`or`:if(y(e.left)){let n={name:t.name,relativePath:t.relativePath,isFile:t.isFile,isDirectory:t.isDirectory,isEmpty:!1,mtime:0,size:0,mode:0,newerRefTimes:new Map};if(l(e.left,n).pruned)return{shouldPrune:!0}}return x(e.right,t);case`and`:if(y(e.left)&&y(e.right))return{shouldPrune:l(e,{name:t.name,relativePath:t.relativePath,isFile:t.isFile,isDirectory:t.isDirectory,isEmpty:!1,mtime:0,size:0,mode:0,newerRefTimes:new Map}).pruned};if(y(e.left)){let n={name:t.name,relativePath:t.relativePath,isFile:t.isFile,isDirectory:t.isDirectory,isEmpty:!1,mtime:0,size:0,mode:0,newerRefTimes:new Map};return l(e.left,n).matches?x(e.right,t):{shouldPrune:!1}}return{shouldPrune:!1};case`not`:return{shouldPrune:!1};default:return{shouldPrune:!1}}}function S(e,t){let n=[],r=[],i=t;for(;i<e.length;){let t=e[i];if(t===`(`||t===`\\(`){n.push({type:`lparen`}),i++;continue}if(t===`)`||t===`\\)`){n.push({type:`rparen`}),i++;continue}if(t===`-name`&&i+1<e.length)n.push({type:`expr`,expr:{type:`name`,pattern:e[++i]}});else if(t===`-iname`&&i+1<e.length)n.push({type:`expr`,expr:{type:`name`,pattern:e[++i],ignoreCase:!0}});else if(t===`-path`&&i+1<e.length)n.push({type:`expr`,expr:{type:`path`,pattern:e[++i]}});else if(t===`-ipath`&&i+1<e.length)n.push({type:`expr`,expr:{type:`path`,pattern:e[++i],ignoreCase:!0}});else if(t===`-regex`&&i+1<e.length)n.push({type:`expr`,expr:{type:`regex`,pattern:e[++i]}});else if(t===`-iregex`&&i+1<e.length)n.push({type:`expr`,expr:{type:`regex`,pattern:e[++i],ignoreCase:!0}});else if(t===`-type`&&i+1<e.length){let t=e[++i];if(t===`f`||t===`d`)n.push({type:`expr`,expr:{type:`type`,fileType:t}});else return{expr:null,pathIndex:i,error:`find: Unknown argument to -type: ${t}
|
|
2
2
|
`,actions:[]}}else if(t===`-empty`)n.push({type:`expr`,expr:{type:`empty`}});else if(t===`-mtime`&&i+1<e.length){let t=e[++i],r=`exact`,a=t;t.startsWith(`+`)?(r=`more`,a=t.slice(1)):t.startsWith(`-`)&&(r=`less`,a=t.slice(1));let o=parseInt(a,10);Number.isNaN(o)||n.push({type:`expr`,expr:{type:`mtime`,days:o,comparison:r}})}else if(t===`-newer`&&i+1<e.length){let t=e[++i];n.push({type:`expr`,expr:{type:`newer`,refPath:t}})}else if(t===`-size`&&i+1<e.length){let t=e[++i],r=`exact`,a=t;t.startsWith(`+`)?(r=`more`,a=t.slice(1)):t.startsWith(`-`)&&(r=`less`,a=t.slice(1));let o=a.match(/^(\d+)([ckMGb])?$/);if(o){let e=parseInt(o[1],10),t=o[2]||`b`;n.push({type:`expr`,expr:{type:`size`,value:e,unit:t,comparison:r}})}}else if(t===`-perm`&&i+1<e.length){let t=e[++i],r=`exact`,a=t;t.startsWith(`-`)?(r=`all`,a=t.slice(1)):t.startsWith(`/`)&&(r=`any`,a=t.slice(1));let o=parseInt(a,8);Number.isNaN(o)||n.push({type:`expr`,expr:{type:`perm`,mode:o,matchType:r}})}else if(t===`-prune`)n.push({type:`expr`,expr:{type:`prune`}});else if(t===`-not`||t===`!`)n.push({type:`not`});else if(t===`-o`||t===`-or`)n.push({type:`op`,op:`or`});else if(t===`-a`||t===`-and`)n.push({type:`op`,op:`and`});else if(t===`-maxdepth`||t===`-mindepth`)i++;else if(t!==`-depth`)if(t===`-exec`){let t=[];for(i++;i<e.length&&e[i]!==`;`&&e[i]!==`+`;)t.push(e[i]),i++;if(i>=e.length)return{expr:null,pathIndex:i,error:`find: missing argument to \`-exec'
|
|
3
3
|
`,actions:[]};let n=e[i]===`+`;r.push({type:`exec`,command:t,batchMode:n})}else if(t===`-print`)n.push({type:`expr`,expr:{type:`print`}}),r.push({type:`print`});else if(t===`-print0`)r.push({type:`print0`});else if(t===`-printf`&&i+1<e.length){let t=e[++i];r.push({type:`printf`,format:t})}else if(t===`-delete`)r.push({type:`delete`});else{if(t.startsWith(`-`))return{expr:null,pathIndex:i,error:`find: unknown predicate '${t}'
|
|
4
4
|
`,actions:[]};if(n.length===0){i++;continue}break}i++}if(n.length===0)return{expr:null,pathIndex:i,actions:r};let a=C(n);return a.error?{expr:null,pathIndex:i,error:a.error,actions:r}:{expr:a.expr,pathIndex:i,actions:r}}function C(e){let t=0;function n(){let n=r();if(!n)return null;for(;t<e.length;){let i=e[t];if(i.type===`op`&&i.op===`or`){t++;let e=r();if(!e)return n;n={type:`or`,left:n,right:e}}else break}return n}function r(){let n=i();if(!n)return null;for(;t<e.length;){let r=e[t];if(r.type===`op`&&r.op===`and`){t++;let e=i();if(!e)return n;n={type:`and`,left:n,right:e}}else if(r.type===`expr`||r.type===`not`||r.type===`lparen`){let e=i();if(!e)return n;n={type:`and`,left:n,right:e}}else break}return n}function i(){if(t<e.length&&e[t].type===`not`){t++;let e=i();return e?{type:`not`,expr:e}:null}return a()}function a(){if(t>=e.length)return null;let r=e[t];if(r.type===`lparen`){t++;let r=n();return t<e.length&&e[t].type===`rparen`&&t++,r}return r.type===`expr`?(t++,r.expr):(r.type,null)}return{expr:n()}}var w=500;function T(){return{readdirCalls:0,readdirTime:0,statCalls:0,statTime:0,evalCalls:0,evalTime:0,nodeCount:0,batchCount:0,batchTime:0,earlyPrunes:0}}function E(e,t,n){e({category:`find`,name:`summary`,durationMs:n,details:{readdirCalls:t.readdirCalls,readdirTimeMs:t.readdirTime,statCalls:t.statCalls,statTimeMs:t.statTime,evalCalls:t.evalCalls,evalTimeMs:t.evalTime,nodeCount:t.nodeCount,batchCount:t.batchCount,batchTimeMs:t.batchTime,earlyPrunes:t.earlyPrunes,otherTimeMs:n-t.readdirTime-t.statTime-t.evalTime-t.batchTime}})}var D={name:`find`,summary:`search for files in a directory hierarchy`,usage:`find [path...] [expression]`,options:`-name PATTERN file name matches shell pattern PATTERN.-iname PATTERN like -name but case insensitive.-path PATTERN file path matches shell pattern PATTERN.-ipath PATTERN like -path but case insensitive.-regex PATTERN file path matches regular expression PATTERN.-iregex PATTERN like -regex but case insensitive.-type TYPE file is of type: f (regular file), d (directory).-empty file is empty or directory is empty.-mtime N file's data was modified N*24 hours ago.-newer FILE file was modified more recently than FILE.-size N[ckMGb] file uses N units of space (c=bytes, k=KB, M=MB, G=GB, b=512B blocks).-perm MODE file's permission bits are exactly MODE (octal).-perm -MODE all permission bits MODE are set.-perm /MODE any permission bits MODE are set.-maxdepth LEVELS descend at most LEVELS directories.-mindepth LEVELS do not apply tests at levels less than LEVELS.-depth process directory contents before directory itself.-prune do not descend into this directory.-not, ! negate the following expression.-a, -and logical AND (default).-o, -or logical OR.-exec CMD {} ; execute CMD on each file ({} is replaced by filename).-exec CMD {} + execute CMD with multiple files at once.-print print the full file name (default action).-print0 print the full file name followed by a null character.-printf FORMAT print FORMAT with directives: %f %h %p %P %s %d %m %M %t.-delete delete found files/directories. --help display this help and exit`.split(`.`)},O=new Set([`-name`,`-iname`,`-path`,`-ipath`,`-regex`,`-iregex`,`-type`,`-maxdepth`,`-mindepth`,`-mtime`,`-newer`,`-size`,`-perm`]),k={name:`find`,async execute(e,i){if(r(e))return n(D);let a=[],o=null,s=null,c=!1,p=!1;for(let t=0;t<e.length;t++){let n=e[t];if(n===`-maxdepth`&&t+1<e.length)p=!0,o=parseInt(e[++t],10);else if(n===`-mindepth`&&t+1<e.length)p=!0,s=parseInt(e[++t],10);else if(n===`-depth`)p=!0,c=!0;else if(n===`-exec`)for(p=!0,t++;t<e.length&&e[t]!==`;`&&e[t]!==`+`;)t++;else !n.startsWith(`-`)&&n!==`;`&&n!==`+`&&n!==`(`&&n!==`)`&&n!==`\\(`&&n!==`\\)`&&n!==`!`?p||a.push(n):O.has(n)?(p=!0,t++):(n.startsWith(`-`)||n===`(`||n===`\\(`||n===`!`)&&(p=!0)}a.length===0&&a.push(`.`);let{expr:m,error:y,actions:x}=S(e,0);if(y)return{stdout:``,stderr:y,exitCode:1};let C=x.some(e=>e.type===`print`),k=x.length===0,j=[],M=x.some(e=>e.type===`printf`),N=[],P=``,F=0,I=h(m),L=new Map;for(let e of I){let t=i.fs.resolvePath(i.cwd,e);try{let n=await i.fs.stat(t);L.set(e,n.mtime?.getTime()??Date.now())}catch{}}let R=x.some(e=>{if(e.type!==`printf`)return!1;let t=e.format.replace(/%%/g,``);return/%[-+]?[0-9]*\.?[0-9]*(s|m|M|t|T)/.test(t)}),z=u(m)||R,B=d(m),V=f(m),H=v(m),U=g(m),W=typeof i.fs.readdirWithFileTypes==`function`;for(let e of a){let t=function(t){let n=s===null||t.depth>=s,i=!1;if(n&&m!==null){let e=Date.now(),a;a=U?_(m,t.name,t.relativePath,t.isFile,t.isDirectory):l(m,{name:t.name,relativePath:t.relativePath,isFile:t.isFile,isDirectory:t.isDirectory,isEmpty:t.isEmpty,mtime:t.stat?.mtime?.getTime()??Date.now(),size:t.stat?.size??0,mode:t.stat?.mode??420,newerRefTimes:L}),n=a.matches,i=C?a.printed:n,r.evalCalls++,r.evalTime+=Date.now()-e}else n&&(i=!0);return i?{print:!0,printfData:M?{path:t.relativePath,name:t.name,size:t.stat?.size??0,mtime:t.stat?.mtime?.getTime()??Date.now(),mode:t.stat?.mode??420,isDirectory:t.isDirectory,depth:t.depth,startingPoint:e}:null}:{print:!1,printfData:null}};e.length>1&&e.endsWith(`/`)&&(e=e.slice(0,-1));let n=i.fs.resolvePath(i.cwd,e);try{await i.fs.stat(n)}catch{P+=`find: ${e}: No such file or directory
|
|
@@ -9,4 +9,4 @@ import{t as e}from"./chunk-YNYSPYQ5-DHter9G3.mjs";import{t}from"./chunk-IPJHKYVM
|
|
|
9
9
|
`,exitCode:1};if(e.batchMode){let n=[];for(let t of e.command)t===`{}`?n.push(...j):n.push(t);let r=await i.exec(t([n[0]]),{cwd:i.cwd,signal:i.signal,args:n.slice(1)});G+=r.stdout,P+=r.stderr,r.exitCode!==0&&(F=r.exitCode)}else for(let n of j){let r=e.command.map(e=>e===`{}`?n:e),a=await i.exec(t([r[0]]),{cwd:i.cwd,signal:i.signal,args:r.slice(1)});G+=a.stdout,P+=a.stderr,a.exitCode!==0&&(F=a.exitCode)}break}else k&&(G=j.length>0?`${j.join(`
|
|
10
10
|
`)}
|
|
11
11
|
`:``);return{stdout:G,stderr:P,exitCode:F}}};function A(e,t){let n=s(e),r=``,a=0;for(;a<n.length;)if(n[a]===`%`&&a+1<n.length){if(a++,n[a]===`%`){r+=`%`,a++;continue}let[e,s,l]=c(n,a);if(a+=l,a>=n.length){r+=`%`;break}let u=n[a],d;switch(u){case`f`:d=t.name,a++;break;case`h`:{let e=t.path.lastIndexOf(`/`);d=e>0?t.path.slice(0,e):`.`,a++;break}case`p`:d=t.path,a++;break;case`P`:{let e=t.startingPoint;d=t.path===e?``:t.path.startsWith(`${e}/`)?t.path.slice(e.length+1):e===`.`&&t.path.startsWith(`./`)?t.path.slice(2):t.path,a++;break}case`s`:d=String(t.size),a++;break;case`d`:d=String(t.depth),a++;break;case`m`:d=(t.mode&511).toString(8),a++;break;case`M`:d=i(t.mode,t.isDirectory),a++;break;case`t`:d=j(new Date(t.mtime)),a++;break;case`T`:if(a+1<n.length){let e=n[a+1];d=M(new Date(t.mtime),e),a+=2}else d=`%T`,a++;break;default:r+=`%${e!==0||s!==-1?`${e}.${s}`:``}${u}`,a++;continue}r+=o(d,e,s)}else r+=n[a],a++;return r}function j(e){return`${[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`][e.getDay()]} ${[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`][e.getMonth()]} ${String(e.getDate()).padStart(2,` `)} ${String(e.getHours()).padStart(2,`0`)}:${String(e.getMinutes()).padStart(2,`0`)}:${String(e.getSeconds()).padStart(2,`0`)} ${e.getFullYear()}`}function M(e,t){switch(t){case`@`:return String(e.getTime()/1e3);case`Y`:return String(e.getFullYear());case`m`:return String(e.getMonth()+1).padStart(2,`0`);case`d`:return String(e.getDate()).padStart(2,`0`);case`H`:return String(e.getHours()).padStart(2,`0`);case`M`:return String(e.getMinutes()).padStart(2,`0`);case`S`:return String(e.getSeconds()).padStart(2,`0`);case`T`:return`${String(e.getHours()).padStart(2,`0`)}:${String(e.getMinutes()).padStart(2,`0`)}:${String(e.getSeconds()).padStart(2,`0`)}`;case`F`:return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`;default:return`%T${t}`}}var N={name:`find`,flags:[{flag:`-name`,type:`value`,valueHint:`pattern`},{flag:`-iname`,type:`value`,valueHint:`pattern`},{flag:`-type`,type:`value`,valueHint:`string`},{flag:`-maxdepth`,type:`value`,valueHint:`number`},{flag:`-mindepth`,type:`value`,valueHint:`number`},{flag:`-empty`,type:`boolean`},{flag:`-print`,type:`boolean`},{flag:`-print0`,type:`boolean`}],needsFiles:!0};export{k as n,N as t};
|
|
12
|
-
//# sourceMappingURL=chunk-
|
|
12
|
+
//# sourceMappingURL=chunk-K6LIBGJA-DpjaSGfc.mjs.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import{t as e}from"./chunk-YNYSPYQ5-DHter9G3.mjs";import{i as t}from"./chunk-GFQRA5P5-DigWkxW2.mjs";import{r as n,t as r}from"./chunk-OJDRYQWQ-LGuZyK6R.mjs";import{t as i}from"./chunk-24IMIIXA-BoP5OA93.mjs";import{a,c as o,i as s,n as c,o as l,r as u,t as d}from"./chunk-7TSDKFEO-CMVuiOdP.mjs";function f(e,t,n,i,s,c,u,d,f,p){switch(t){case`sort`:return Array.isArray(e)?[[...e].sort(u)]:[null];case`sort_by`:return!Array.isArray(e)||n.length===0?[null]:[[...e].sort((e,t)=>{let r=s(e,n[0],i)[0],a=s(t,n[0],i)[0];return u(r,a)})];case`bsearch`:if(!Array.isArray(e))throw Error(`${e===null?`null`:typeof e==`object`?`object`:typeof e} (${JSON.stringify(e)}) cannot be searched from`);return n.length===0?[null]:s(e,n[0],i).map(t=>{let n=0,r=e.length;for(;n<r;){let i=n+r>>>1;u(e[i],t)<0?n=i+1:r=i}return n<e.length&&u(e[n],t)===0?n:-n-1});case`unique_by`:{if(!Array.isArray(e)||n.length===0)return[null];let t=new Map;for(let r of e){let e=s(r,n[0],i)[0],a=JSON.stringify(e);t.has(a)||t.set(a,{item:r,key:e})}let r=[...t.values()];return r.sort((e,t)=>u(e.key,t.key)),[r.map(e=>e.item)]}case`group_by`:{if(!Array.isArray(e)||n.length===0)return[null];let t=new Map;for(let r of e){let e=JSON.stringify(s(r,n[0],i)[0]);t.has(e)||t.set(e,[]),t.get(e)?.push(r)}return[[...t.values()]]}case`max`:return Array.isArray(e)&&e.length>0?[e.reduce((e,t)=>u(e,t)>0?e:t)]:[null];case`max_by`:return!Array.isArray(e)||e.length===0||n.length===0?[null]:[e.reduce((e,t)=>{let r=s(e,n[0],i)[0],a=s(t,n[0],i)[0];return u(r,a)>0?e:t})];case`min`:return Array.isArray(e)&&e.length>0?[e.reduce((e,t)=>u(e,t)<0?e:t)]:[null];case`min_by`:return!Array.isArray(e)||e.length===0||n.length===0?[null]:[e.reduce((e,t)=>{let r=s(e,n[0],i)[0],a=s(t,n[0],i)[0];return u(r,a)<0?e:t})];case`add`:{let t=e=>{let t=e.filter(e=>e!==null);return t.length===0?null:t.every(e=>typeof e==`number`)?t.reduce((e,t)=>e+t,0):t.every(e=>typeof e==`string`)?t.join(``):t.every(e=>Array.isArray(e))?t.flat():t.every(e=>e&&typeof e==`object`&&!Array.isArray(e))?r(...t):null};return n.length>=1?[t(s(e,n[0],i))]:Array.isArray(e)?[t(e)]:[null]}case`any`:if(n.length>=2){try{let t=c(e,n[0],i);for(let e of t)if(s(e,n[1],i).some(d))return[!0]}catch(e){if(e instanceof p)throw e}return[!1]}return n.length===1?Array.isArray(e)?[e.some(e=>d(s(e,n[0],i)[0]))]:[!1]:Array.isArray(e)?[e.some(d)]:[!1];case`all`:if(n.length>=2){try{let t=c(e,n[0],i);for(let e of t)if(!s(e,n[1],i).some(d))return[!1]}catch(e){if(e instanceof p)throw e}return[!0]}return n.length===1?Array.isArray(e)?[e.every(e=>d(s(e,n[0],i)[0]))]:[!0]:Array.isArray(e)?[e.every(d)]:[!0];case`select`:return n.length===0||s(e,n[0],i).some(d)?[e]:[];case`map`:return n.length===0||!Array.isArray(e)?[null]:[e.flatMap(e=>s(e,n[0],i))];case`map_values`:if(n.length===0)return[null];if(Array.isArray(e))return[e.flatMap(e=>s(e,n[0],i))];if(e&&typeof e==`object`){let t=Object.create(null);for(let[r,o]of Object.entries(e)){if(!l(r))continue;let e=s(o,n[0],i);e.length>0&&a(t,r,e[0])}return[t]}return[null];case`has`:{if(n.length===0)return[!1];let t=s(e,n[0],i)[0];return Array.isArray(e)&&typeof t==`number`?[t>=0&&t<e.length]:e&&typeof e==`object`&&typeof t==`string`?[o(e,t)]:[!1]}case`in`:{if(n.length===0)return[!1];let t=s(e,n[0],i)[0];return Array.isArray(t)&&typeof e==`number`?[e>=0&&e<t.length]:t&&typeof t==`object`&&typeof e==`string`?[o(t,e)]:[!1]}case`contains`:return n.length===0?[!1]:[f(e,s(e,n[0],i)[0])];case`inside`:return n.length===0?[!1]:[f(s(e,n[0],i)[0],e)];default:return null}}function p(e,t,n,r,i,a,o,s){switch(t){case`first`:if(n.length>0)try{let t=a(e,n[0],r);return t.length>0?[t[0]]:[]}catch(e){if(e instanceof s)throw e;return[]}return Array.isArray(e)&&e.length>0?[e[0]]:[null];case`last`:if(n.length>0){let t=i(e,n[0],r);return t.length>0?[t[t.length-1]]:[]}return Array.isArray(e)&&e.length>0?[e[e.length-1]]:[null];case`nth`:{if(n.length<1)return[null];let t=i(e,n[0],r);if(n.length>1){for(let e of t)if(e<0)throw Error(`nth doesn't support negative indices`);let i;try{i=a(e,n[1],r)}catch(e){if(e instanceof s)throw e;i=[]}return t.flatMap(e=>{let t=e;return t<i.length?[i[t]]:[]})}return Array.isArray(e)?t.flatMap(t=>{let n=t;if(n<0)throw Error(`nth doesn't support negative indices`);return n<e.length?[e[n]]:[null]}):[null]}case`range`:{if(n.length===0)return[];let t=Math.max(r.limits.maxIterations*100,1e6),a=e=>e.length>=t,o=i(e,n[0],r);if(n.length===1){let e=[];for(let t of o){let n=t;for(let t=0;t<n;t++)if(e.push(t),a(e))return e}return e}let s=i(e,n[1],r);if(n.length===2){let e=[];for(let t of o)for(let n of s){let r=t,i=n;for(let t=r;t<i;t++)if(e.push(t),a(e))return e}return e}let c=i(e,n[2],r),l=[];for(let e of o)for(let t of s)for(let n of c){let r=e,i=t,o=n;if(o!==0){if(o>0){for(let e=r;e<i;e+=o)if(l.push(e),a(l))return l}else for(let e=r;e>i;e+=o)if(l.push(e),a(l))return l}}return l}case`limit`:return n.length<2?[]:i(e,n[0],r).flatMap(t=>{let i=t;if(i<0)throw Error(`limit doesn't support negative count`);if(i===0)return[];let o;try{o=a(e,n[1],r)}catch(e){if(e instanceof s)throw e;o=[]}return o.slice(0,i)});case`isempty`:if(n.length<1)return[!0];try{return[a(e,n[0],r).length===0]}catch(e){if(e instanceof s)throw e;return[!0]}case`isvalid`:if(n.length<1)return[!0];try{return[i(e,n[0],r).length>0]}catch(e){if(e instanceof s)throw e;return[!1]}case`skip`:return n.length<2?[]:i(e,n[0],r).flatMap(t=>{let a=t;if(a<0)throw Error(`skip doesn't support negative count`);return i(e,n[1],r).slice(a)});case`until`:{if(n.length<2)return[e];let t=e,a=r.limits.maxIterations;for(let e=0;e<a;e++){if(i(t,n[0],r).some(o))return[t];let e=i(t,n[1],r);if(e.length===0)return[t];t=e[0]}throw new s(`jq until: too many iterations (${a}), increase executionLimits.maxJqIterations`,`iterations`)}case`while`:{if(n.length<2)return[e];let t=[],a=e,c=r.limits.maxIterations;for(let e=0;e<c&&i(a,n[0],r).some(o);e++){t.push(a);let e=i(a,n[1],r);if(e.length===0)break;a=e[0]}if(t.length>=c)throw new s(`jq while: too many iterations (${c}), increase executionLimits.maxJqIterations`,`iterations`);return t}case`repeat`:{if(n.length===0)return[e];let t=[],a=e,o=r.limits.maxIterations;for(let e=0;e<o;e++){t.push(a);let e=i(a,n[0],r);if(e.length===0)break;a=e[0]}if(t.length>=o)throw new s(`jq repeat: too many iterations (${o}), increase executionLimits.maxJqIterations`,`iterations`);return t}default:return null}}function m(e,t,n,r,i){switch(t){case`now`:return[Date.now()/1e3];case`gmtime`:{if(typeof e!=`number`)return[null];let t=new Date(e*1e3),n=t.getUTCFullYear(),r=t.getUTCMonth(),i=t.getUTCDate(),a=t.getUTCHours(),o=t.getUTCMinutes(),s=t.getUTCSeconds(),c=t.getUTCDay(),l=Date.UTC(n,0,1);return[[n,r,i,a,o,s,c,Math.floor((t.getTime()-l)/(1440*60*1e3))]]}case`mktime`:{if(!Array.isArray(e))throw Error(`mktime requires parsed datetime inputs`);let[t,n,r,i=0,a=0,o=0]=e;if(typeof t!=`number`||typeof n!=`number`)throw Error(`mktime requires parsed datetime inputs`);return[Math.floor(Date.UTC(t,n,r??1,i??0,a??0,o??0)/1e3)]}case`strftime`:{if(n.length===0)return[null];let t=i(e,n[0],r)[0];if(typeof t!=`string`)throw Error(`strftime/1 requires a string format`);let a;if(typeof e==`number`)a=new Date(e*1e3);else if(Array.isArray(e)){let[t,n,r,i=0,o=0,s=0]=e;if(typeof t!=`number`||typeof n!=`number`)throw Error(`strftime/1 requires parsed datetime inputs`);a=new Date(Date.UTC(t,n,r??1,i??0,o??0,s??0))}else throw Error(`strftime/1 requires parsed datetime inputs`);let o=[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`],s=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],c=(e,t=2)=>String(e).padStart(t,`0`);return[t.replace(/%Y/g,String(a.getUTCFullYear())).replace(/%m/g,c(a.getUTCMonth()+1)).replace(/%d/g,c(a.getUTCDate())).replace(/%H/g,c(a.getUTCHours())).replace(/%M/g,c(a.getUTCMinutes())).replace(/%S/g,c(a.getUTCSeconds())).replace(/%A/g,o[a.getUTCDay()]).replace(/%B/g,s[a.getUTCMonth()]).replace(/%Z/g,`UTC`).replace(/%%/g,`%`)]}case`strptime`:{if(n.length===0)return[null];if(typeof e!=`string`)throw Error(`strptime/1 requires a string input`);let t=i(e,n[0],r)[0];if(typeof t!=`string`)throw Error(`strptime/1 requires a string format`);if(t===`%Y-%m-%dT%H:%M:%SZ`){let t=e.match(/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})Z$/);if(t){let[,e,n,r,i,a,o]=t.map(Number),s=new Date(Date.UTC(e,n-1,r,i,a,o)),c=s.getUTCDay(),l=Date.UTC(e,0,1),u=Math.floor((s.getTime()-l)/(1440*60*1e3));return[[e,n-1,r,i,a,o,c,u]]}}let a=new Date(e);if(!Number.isNaN(a.getTime())){let e=a.getUTCFullYear(),t=a.getUTCMonth(),n=a.getUTCDate(),r=a.getUTCHours(),i=a.getUTCMinutes(),o=a.getUTCSeconds(),s=a.getUTCDay(),c=Date.UTC(e,0,1);return[[e,t,n,r,i,o,s,Math.floor((a.getTime()-c)/(1440*60*1e3))]]}throw Error(`Cannot parse date: ${e}`)}case`fromdate`:{if(typeof e!=`string`)throw Error(`fromdate requires a string input`);let t=new Date(e);if(Number.isNaN(t.getTime()))throw Error(`date "${e}" does not match format "%Y-%m-%dT%H:%M:%SZ"`);return[Math.floor(t.getTime()/1e3)]}case`todate`:if(typeof e!=`number`)throw Error(`todate requires a number input`);return[new Date(e*1e3).toISOString().replace(/\.\d{3}Z$/,`Z`)];default:return null}}function h(e){return e!==!1&&e!==null}function g(e,t){return JSON.stringify(e)===JSON.stringify(t)}function _(e,t){return typeof e==`number`&&typeof t==`number`?e-t:typeof e==`string`&&typeof t==`string`?e.localeCompare(t):0}function v(e,t){let n=c(e);for(let e of Object.keys(t)){if(!l(e))continue;let r=o(n,e)?u(n[e]):null,i=u(t[e]);r&&i?a(n,e,v(r,i)):a(n,e,t[e])}return n}function y(e,t=3e3){let n=0,r=e;for(;n<t;)if(Array.isArray(r)){if(r.length===0)return n+1;r=r[0],n++}else if(typeof r==`object`&&r){let e=Object.keys(r);if(e.length===0)return n+1;r=r[e[0]],n++}else return n;return n}function b(e,t){let n=e=>e===null?0:typeof e==`boolean`?1:typeof e==`number`?2:typeof e==`string`?3:Array.isArray(e)?4:typeof e==`object`?5:6,r=n(e),i=n(t);if(r!==i)return r-i;if(typeof e==`number`&&typeof t==`number`)return e-t;if(typeof e==`string`&&typeof t==`string`)return e.localeCompare(t);if(typeof e==`boolean`&&typeof t==`boolean`)return(e?1:0)-(t?1:0);if(Array.isArray(e)&&Array.isArray(t)){for(let n=0;n<Math.min(e.length,t.length);n++){let r=b(e[n],t[n]);if(r!==0)return r}return e.length-t.length}let a=u(e),o=u(t);if(a&&o){let e=Object.keys(a).sort(),t=Object.keys(o).sort();for(let n=0;n<Math.min(e.length,t.length);n++){let r=e[n].localeCompare(t[n]);if(r!==0)return r}if(e.length!==t.length)return e.length-t.length;for(let t of e){let e=b(a[t],o[t]);if(e!==0)return e}}return 0}function x(e,t){if(g(e,t))return!0;if(typeof e==`string`&&typeof t==`string`)return e.includes(t);if(Array.isArray(e)&&Array.isArray(t))return t.every(t=>e.some(e=>x(e,t)));let n=u(e),r=u(t);return n&&r?Object.keys(r).every(e=>o(n,e)&&x(n[e],r[e])):!1}var S=2e3;function C(e,t,n){switch(t){case`@base64`:return typeof e==`string`?typeof Buffer<`u`?[Buffer.from(e,`utf-8`).toString(`base64`)]:[btoa(e)]:[null];case`@base64d`:return typeof e==`string`?typeof Buffer<`u`?[Buffer.from(e,`base64`).toString(`utf-8`)]:[atob(e)]:[null];case`@uri`:return typeof e==`string`?[encodeURIComponent(e).replace(/!/g,`%21`).replace(/'/g,`%27`).replace(/\(/g,`%28`).replace(/\)/g,`%29`).replace(/\*/g,`%2A`)]:[null];case`@urid`:return typeof e==`string`?[decodeURIComponent(e)]:[null];case`@csv`:return Array.isArray(e)?[e.map(e=>{if(e===null)return``;if(typeof e==`boolean`)return e?`true`:`false`;if(typeof e==`number`)return String(e);let t=String(e);return t.includes(`,`)||t.includes(`"`)||t.includes(`
|
|
1
|
+
import{t as e}from"./chunk-B74TABJS-DlbqoTuk.mjs";import{i as t}from"./chunk-GFQRA5P5-DigWkxW2.mjs";import{r as n,t as r}from"./chunk-OJDRYQWQ-LGuZyK6R.mjs";import{t as i}from"./chunk-24IMIIXA-BoP5OA93.mjs";import{a,c as o,i as s,n as c,o as l,r as u,t as d}from"./chunk-7TSDKFEO-CMVuiOdP.mjs";function f(e,t,n,i,s,c,u,d,f,p){switch(t){case`sort`:return Array.isArray(e)?[[...e].sort(u)]:[null];case`sort_by`:return!Array.isArray(e)||n.length===0?[null]:[[...e].sort((e,t)=>{let r=s(e,n[0],i)[0],a=s(t,n[0],i)[0];return u(r,a)})];case`bsearch`:if(!Array.isArray(e))throw Error(`${e===null?`null`:typeof e==`object`?`object`:typeof e} (${JSON.stringify(e)}) cannot be searched from`);return n.length===0?[null]:s(e,n[0],i).map(t=>{let n=0,r=e.length;for(;n<r;){let i=n+r>>>1;u(e[i],t)<0?n=i+1:r=i}return n<e.length&&u(e[n],t)===0?n:-n-1});case`unique_by`:{if(!Array.isArray(e)||n.length===0)return[null];let t=new Map;for(let r of e){let e=s(r,n[0],i)[0],a=JSON.stringify(e);t.has(a)||t.set(a,{item:r,key:e})}let r=[...t.values()];return r.sort((e,t)=>u(e.key,t.key)),[r.map(e=>e.item)]}case`group_by`:{if(!Array.isArray(e)||n.length===0)return[null];let t=new Map;for(let r of e){let e=JSON.stringify(s(r,n[0],i)[0]);t.has(e)||t.set(e,[]),t.get(e)?.push(r)}return[[...t.values()]]}case`max`:return Array.isArray(e)&&e.length>0?[e.reduce((e,t)=>u(e,t)>0?e:t)]:[null];case`max_by`:return!Array.isArray(e)||e.length===0||n.length===0?[null]:[e.reduce((e,t)=>{let r=s(e,n[0],i)[0],a=s(t,n[0],i)[0];return u(r,a)>0?e:t})];case`min`:return Array.isArray(e)&&e.length>0?[e.reduce((e,t)=>u(e,t)<0?e:t)]:[null];case`min_by`:return!Array.isArray(e)||e.length===0||n.length===0?[null]:[e.reduce((e,t)=>{let r=s(e,n[0],i)[0],a=s(t,n[0],i)[0];return u(r,a)<0?e:t})];case`add`:{let t=e=>{let t=e.filter(e=>e!==null);return t.length===0?null:t.every(e=>typeof e==`number`)?t.reduce((e,t)=>e+t,0):t.every(e=>typeof e==`string`)?t.join(``):t.every(e=>Array.isArray(e))?t.flat():t.every(e=>e&&typeof e==`object`&&!Array.isArray(e))?r(...t):null};return n.length>=1?[t(s(e,n[0],i))]:Array.isArray(e)?[t(e)]:[null]}case`any`:if(n.length>=2){try{let t=c(e,n[0],i);for(let e of t)if(s(e,n[1],i).some(d))return[!0]}catch(e){if(e instanceof p)throw e}return[!1]}return n.length===1?Array.isArray(e)?[e.some(e=>d(s(e,n[0],i)[0]))]:[!1]:Array.isArray(e)?[e.some(d)]:[!1];case`all`:if(n.length>=2){try{let t=c(e,n[0],i);for(let e of t)if(!s(e,n[1],i).some(d))return[!1]}catch(e){if(e instanceof p)throw e}return[!0]}return n.length===1?Array.isArray(e)?[e.every(e=>d(s(e,n[0],i)[0]))]:[!0]:Array.isArray(e)?[e.every(d)]:[!0];case`select`:return n.length===0||s(e,n[0],i).some(d)?[e]:[];case`map`:return n.length===0||!Array.isArray(e)?[null]:[e.flatMap(e=>s(e,n[0],i))];case`map_values`:if(n.length===0)return[null];if(Array.isArray(e))return[e.flatMap(e=>s(e,n[0],i))];if(e&&typeof e==`object`){let t=Object.create(null);for(let[r,o]of Object.entries(e)){if(!l(r))continue;let e=s(o,n[0],i);e.length>0&&a(t,r,e[0])}return[t]}return[null];case`has`:{if(n.length===0)return[!1];let t=s(e,n[0],i)[0];return Array.isArray(e)&&typeof t==`number`?[t>=0&&t<e.length]:e&&typeof e==`object`&&typeof t==`string`?[o(e,t)]:[!1]}case`in`:{if(n.length===0)return[!1];let t=s(e,n[0],i)[0];return Array.isArray(t)&&typeof e==`number`?[e>=0&&e<t.length]:t&&typeof t==`object`&&typeof e==`string`?[o(t,e)]:[!1]}case`contains`:return n.length===0?[!1]:[f(e,s(e,n[0],i)[0])];case`inside`:return n.length===0?[!1]:[f(s(e,n[0],i)[0],e)];default:return null}}function p(e,t,n,r,i,a,o,s){switch(t){case`first`:if(n.length>0)try{let t=a(e,n[0],r);return t.length>0?[t[0]]:[]}catch(e){if(e instanceof s)throw e;return[]}return Array.isArray(e)&&e.length>0?[e[0]]:[null];case`last`:if(n.length>0){let t=i(e,n[0],r);return t.length>0?[t[t.length-1]]:[]}return Array.isArray(e)&&e.length>0?[e[e.length-1]]:[null];case`nth`:{if(n.length<1)return[null];let t=i(e,n[0],r);if(n.length>1){for(let e of t)if(e<0)throw Error(`nth doesn't support negative indices`);let i;try{i=a(e,n[1],r)}catch(e){if(e instanceof s)throw e;i=[]}return t.flatMap(e=>{let t=e;return t<i.length?[i[t]]:[]})}return Array.isArray(e)?t.flatMap(t=>{let n=t;if(n<0)throw Error(`nth doesn't support negative indices`);return n<e.length?[e[n]]:[null]}):[null]}case`range`:{if(n.length===0)return[];let t=Math.max(r.limits.maxIterations*100,1e6),a=e=>e.length>=t,o=i(e,n[0],r);if(n.length===1){let e=[];for(let t of o){let n=t;for(let t=0;t<n;t++)if(e.push(t),a(e))return e}return e}let s=i(e,n[1],r);if(n.length===2){let e=[];for(let t of o)for(let n of s){let r=t,i=n;for(let t=r;t<i;t++)if(e.push(t),a(e))return e}return e}let c=i(e,n[2],r),l=[];for(let e of o)for(let t of s)for(let n of c){let r=e,i=t,o=n;if(o!==0){if(o>0){for(let e=r;e<i;e+=o)if(l.push(e),a(l))return l}else for(let e=r;e>i;e+=o)if(l.push(e),a(l))return l}}return l}case`limit`:return n.length<2?[]:i(e,n[0],r).flatMap(t=>{let i=t;if(i<0)throw Error(`limit doesn't support negative count`);if(i===0)return[];let o;try{o=a(e,n[1],r)}catch(e){if(e instanceof s)throw e;o=[]}return o.slice(0,i)});case`isempty`:if(n.length<1)return[!0];try{return[a(e,n[0],r).length===0]}catch(e){if(e instanceof s)throw e;return[!0]}case`isvalid`:if(n.length<1)return[!0];try{return[i(e,n[0],r).length>0]}catch(e){if(e instanceof s)throw e;return[!1]}case`skip`:return n.length<2?[]:i(e,n[0],r).flatMap(t=>{let a=t;if(a<0)throw Error(`skip doesn't support negative count`);return i(e,n[1],r).slice(a)});case`until`:{if(n.length<2)return[e];let t=e,a=r.limits.maxIterations;for(let e=0;e<a;e++){if(i(t,n[0],r).some(o))return[t];let e=i(t,n[1],r);if(e.length===0)return[t];t=e[0]}throw new s(`jq until: too many iterations (${a}), increase executionLimits.maxJqIterations`,`iterations`)}case`while`:{if(n.length<2)return[e];let t=[],a=e,c=r.limits.maxIterations;for(let e=0;e<c&&i(a,n[0],r).some(o);e++){t.push(a);let e=i(a,n[1],r);if(e.length===0)break;a=e[0]}if(t.length>=c)throw new s(`jq while: too many iterations (${c}), increase executionLimits.maxJqIterations`,`iterations`);return t}case`repeat`:{if(n.length===0)return[e];let t=[],a=e,o=r.limits.maxIterations;for(let e=0;e<o;e++){t.push(a);let e=i(a,n[0],r);if(e.length===0)break;a=e[0]}if(t.length>=o)throw new s(`jq repeat: too many iterations (${o}), increase executionLimits.maxJqIterations`,`iterations`);return t}default:return null}}function m(e,t,n,r,i){switch(t){case`now`:return[Date.now()/1e3];case`gmtime`:{if(typeof e!=`number`)return[null];let t=new Date(e*1e3),n=t.getUTCFullYear(),r=t.getUTCMonth(),i=t.getUTCDate(),a=t.getUTCHours(),o=t.getUTCMinutes(),s=t.getUTCSeconds(),c=t.getUTCDay(),l=Date.UTC(n,0,1);return[[n,r,i,a,o,s,c,Math.floor((t.getTime()-l)/(1440*60*1e3))]]}case`mktime`:{if(!Array.isArray(e))throw Error(`mktime requires parsed datetime inputs`);let[t,n,r,i=0,a=0,o=0]=e;if(typeof t!=`number`||typeof n!=`number`)throw Error(`mktime requires parsed datetime inputs`);return[Math.floor(Date.UTC(t,n,r??1,i??0,a??0,o??0)/1e3)]}case`strftime`:{if(n.length===0)return[null];let t=i(e,n[0],r)[0];if(typeof t!=`string`)throw Error(`strftime/1 requires a string format`);let a;if(typeof e==`number`)a=new Date(e*1e3);else if(Array.isArray(e)){let[t,n,r,i=0,o=0,s=0]=e;if(typeof t!=`number`||typeof n!=`number`)throw Error(`strftime/1 requires parsed datetime inputs`);a=new Date(Date.UTC(t,n,r??1,i??0,o??0,s??0))}else throw Error(`strftime/1 requires parsed datetime inputs`);let o=[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`],s=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],c=(e,t=2)=>String(e).padStart(t,`0`);return[t.replace(/%Y/g,String(a.getUTCFullYear())).replace(/%m/g,c(a.getUTCMonth()+1)).replace(/%d/g,c(a.getUTCDate())).replace(/%H/g,c(a.getUTCHours())).replace(/%M/g,c(a.getUTCMinutes())).replace(/%S/g,c(a.getUTCSeconds())).replace(/%A/g,o[a.getUTCDay()]).replace(/%B/g,s[a.getUTCMonth()]).replace(/%Z/g,`UTC`).replace(/%%/g,`%`)]}case`strptime`:{if(n.length===0)return[null];if(typeof e!=`string`)throw Error(`strptime/1 requires a string input`);let t=i(e,n[0],r)[0];if(typeof t!=`string`)throw Error(`strptime/1 requires a string format`);if(t===`%Y-%m-%dT%H:%M:%SZ`){let t=e.match(/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})Z$/);if(t){let[,e,n,r,i,a,o]=t.map(Number),s=new Date(Date.UTC(e,n-1,r,i,a,o)),c=s.getUTCDay(),l=Date.UTC(e,0,1),u=Math.floor((s.getTime()-l)/(1440*60*1e3));return[[e,n-1,r,i,a,o,c,u]]}}let a=new Date(e);if(!Number.isNaN(a.getTime())){let e=a.getUTCFullYear(),t=a.getUTCMonth(),n=a.getUTCDate(),r=a.getUTCHours(),i=a.getUTCMinutes(),o=a.getUTCSeconds(),s=a.getUTCDay(),c=Date.UTC(e,0,1);return[[e,t,n,r,i,o,s,Math.floor((a.getTime()-c)/(1440*60*1e3))]]}throw Error(`Cannot parse date: ${e}`)}case`fromdate`:{if(typeof e!=`string`)throw Error(`fromdate requires a string input`);let t=new Date(e);if(Number.isNaN(t.getTime()))throw Error(`date "${e}" does not match format "%Y-%m-%dT%H:%M:%SZ"`);return[Math.floor(t.getTime()/1e3)]}case`todate`:if(typeof e!=`number`)throw Error(`todate requires a number input`);return[new Date(e*1e3).toISOString().replace(/\.\d{3}Z$/,`Z`)];default:return null}}function h(e){return e!==!1&&e!==null}function g(e,t){return JSON.stringify(e)===JSON.stringify(t)}function _(e,t){return typeof e==`number`&&typeof t==`number`?e-t:typeof e==`string`&&typeof t==`string`?e.localeCompare(t):0}function v(e,t){let n=c(e);for(let e of Object.keys(t)){if(!l(e))continue;let r=o(n,e)?u(n[e]):null,i=u(t[e]);r&&i?a(n,e,v(r,i)):a(n,e,t[e])}return n}function y(e,t=3e3){let n=0,r=e;for(;n<t;)if(Array.isArray(r)){if(r.length===0)return n+1;r=r[0],n++}else if(typeof r==`object`&&r){let e=Object.keys(r);if(e.length===0)return n+1;r=r[e[0]],n++}else return n;return n}function b(e,t){let n=e=>e===null?0:typeof e==`boolean`?1:typeof e==`number`?2:typeof e==`string`?3:Array.isArray(e)?4:typeof e==`object`?5:6,r=n(e),i=n(t);if(r!==i)return r-i;if(typeof e==`number`&&typeof t==`number`)return e-t;if(typeof e==`string`&&typeof t==`string`)return e.localeCompare(t);if(typeof e==`boolean`&&typeof t==`boolean`)return(e?1:0)-(t?1:0);if(Array.isArray(e)&&Array.isArray(t)){for(let n=0;n<Math.min(e.length,t.length);n++){let r=b(e[n],t[n]);if(r!==0)return r}return e.length-t.length}let a=u(e),o=u(t);if(a&&o){let e=Object.keys(a).sort(),t=Object.keys(o).sort();for(let n=0;n<Math.min(e.length,t.length);n++){let r=e[n].localeCompare(t[n]);if(r!==0)return r}if(e.length!==t.length)return e.length-t.length;for(let t of e){let e=b(a[t],o[t]);if(e!==0)return e}}return 0}function x(e,t){if(g(e,t))return!0;if(typeof e==`string`&&typeof t==`string`)return e.includes(t);if(Array.isArray(e)&&Array.isArray(t))return t.every(t=>e.some(e=>x(e,t)));let n=u(e),r=u(t);return n&&r?Object.keys(r).every(e=>o(n,e)&&x(n[e],r[e])):!1}var S=2e3;function C(e,t,n){switch(t){case`@base64`:return typeof e==`string`?typeof Buffer<`u`?[Buffer.from(e,`utf-8`).toString(`base64`)]:[btoa(e)]:[null];case`@base64d`:return typeof e==`string`?typeof Buffer<`u`?[Buffer.from(e,`base64`).toString(`utf-8`)]:[atob(e)]:[null];case`@uri`:return typeof e==`string`?[encodeURIComponent(e).replace(/!/g,`%21`).replace(/'/g,`%27`).replace(/\(/g,`%28`).replace(/\)/g,`%29`).replace(/\*/g,`%2A`)]:[null];case`@urid`:return typeof e==`string`?[decodeURIComponent(e)]:[null];case`@csv`:return Array.isArray(e)?[e.map(e=>{if(e===null)return``;if(typeof e==`boolean`)return e?`true`:`false`;if(typeof e==`number`)return String(e);let t=String(e);return t.includes(`,`)||t.includes(`"`)||t.includes(`
|
|
2
2
|
`)||t.includes(`\r`)?`"${t.replace(/"/g,`""`)}"`:t}).join(`,`)]:[null];case`@tsv`:return Array.isArray(e)?[e.map(e=>String(e??``).replace(/\t/g,`\\t`).replace(/\n/g,`\\n`)).join(` `)]:[null];case`@json`:{let t=n??S;return y(e,t+1)>t?[null]:[JSON.stringify(e)]}case`@html`:return typeof e==`string`?[e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/'/g,`'`).replace(/"/g,`"`)]:[null];case`@sh`:return typeof e==`string`?[`'${e.replace(/'/g,`'\\''`)}'`]:[null];case`@text`:return typeof e==`string`?[e]:e==null?[``]:[String(e)];default:return null}}function w(e,t,n,r,i,a){switch(t){case`index`:return n.length===0?[null]:i(e,n[0],r).map(t=>{if(typeof e==`string`&&typeof t==`string`){if(t===``&&e===``)return null;let n=e.indexOf(t);return n>=0?n:null}if(Array.isArray(e)){if(Array.isArray(t)){for(let n=0;n<=e.length-t.length;n++){let r=!0;for(let i=0;i<t.length;i++)if(!a(e[n+i],t[i])){r=!1;break}if(r)return n}return null}let n=e.findIndex(e=>a(e,t));return n>=0?n:null}return null});case`rindex`:return n.length===0?[null]:i(e,n[0],r).map(t=>{if(typeof e==`string`&&typeof t==`string`){let n=e.lastIndexOf(t);return n>=0?n:null}if(Array.isArray(e)){if(Array.isArray(t)){for(let n=e.length-t.length;n>=0;n--){let r=!0;for(let i=0;i<t.length;i++)if(!a(e[n+i],t[i])){r=!1;break}if(r)return n}return null}for(let n=e.length-1;n>=0;n--)if(a(e[n],t))return n;return null}return null});case`indices`:return n.length===0?[[]]:i(e,n[0],r).map(t=>{let n=[];if(typeof e==`string`&&typeof t==`string`){let r=e.indexOf(t);for(;r!==-1;)n.push(r),r=e.indexOf(t,r+1)}else if(Array.isArray(e))if(Array.isArray(t)){let r=t.length;if(r===0)for(let t=0;t<=e.length;t++)n.push(t);else for(let i=0;i<=e.length-r;i++){let o=!0;for(let n=0;n<r;n++)if(!a(e[i+n],t[n])){o=!1;break}o&&n.push(i)}}else for(let r=0;r<e.length;r++)a(e[r],t)&&n.push(r);return n});default:return null}}function T(e,t,n,r,i){switch(t){case`fabs`:case`abs`:return typeof e==`number`?[Math.abs(e)]:typeof e==`string`?[e]:[null];case`exp10`:return typeof e==`number`?[10**e]:[null];case`exp2`:return typeof e==`number`?[2**e]:[null];case`pow`:{if(n.length<2)return[null];let t=i(e,n[0],r),a=i(e,n[1],r),o=t[0],s=a[0];return typeof o!=`number`||typeof s!=`number`?[null]:[o**s]}case`atan2`:{if(n.length<2)return[null];let t=i(e,n[0],r),a=i(e,n[1],r),o=t[0],s=a[0];return typeof o!=`number`||typeof s!=`number`?[null]:[Math.atan2(o,s)]}case`hypot`:{if(typeof e!=`number`||n.length===0)return[null];let t=i(e,n[0],r)[0];return[Math.hypot(e,t)]}case`fma`:{if(typeof e!=`number`||n.length<2)return[null];let t=i(e,n[0],r)[0],a=i(e,n[1],r)[0];return[e*t+a]}case`copysign`:{if(typeof e!=`number`||n.length===0)return[null];let t=i(e,n[0],r)[0];return[Math.sign(t)*Math.abs(e)]}case`drem`:case`remainder`:{if(typeof e!=`number`||n.length===0)return[null];let t=i(e,n[0],r)[0];return[e-Math.round(e/t)*t]}case`fdim`:{if(typeof e!=`number`||n.length===0)return[null];let t=i(e,n[0],r)[0];return[Math.max(0,e-t)]}case`fmax`:{if(typeof e!=`number`||n.length===0)return[null];let t=i(e,n[0],r)[0];return[Math.max(e,t)]}case`fmin`:{if(typeof e!=`number`||n.length===0)return[null];let t=i(e,n[0],r)[0];return[Math.min(e,t)]}case`ldexp`:return typeof e!=`number`||n.length===0?[null]:[e*2**i(e,n[0],r)[0]];case`scalbn`:case`scalbln`:return typeof e!=`number`||n.length===0?[null]:[e*2**i(e,n[0],r)[0]];case`nearbyint`:return typeof e==`number`?[Math.round(e)]:[null];case`logb`:return typeof e==`number`?[Math.floor(Math.log2(Math.abs(e)))]:[null];case`significand`:return typeof e==`number`?[e/2**Math.floor(Math.log2(Math.abs(e)))]:[null];case`frexp`:if(typeof e==`number`){if(e===0)return[[0,0]];let t=Math.floor(Math.log2(Math.abs(e)))+1;return[[e/2**t,t]]}return[null];case`modf`:if(typeof e==`number`){let t=Math.trunc(e);return[[e-t,t]]}return[null];default:return null}}function E(e,t,n,r,i,o,s,c){switch(t){case`recurse`:{if(n.length===0){let t=[],n=e=>{if(t.push(e),Array.isArray(e))for(let t of e)n(t);else if(e&&typeof e==`object`)for(let t of Object.keys(e))n(e[t])};return n(e),t}let t=[],a=n.length>=2?n[1]:null,s=0,c=e=>{if(s++>1e4||a&&!i(e,a,r).some(o))return;t.push(e);let l=i(e,n[0],r);for(let e of l)e!=null&&c(e)};return c(e),t}case`recurse_down`:return c(e,`recurse`,n,r);case`walk`:{if(n.length===0)return[e];let t=new WeakSet,o=e=>{if(e&&typeof e==`object`){if(t.has(e))return e;t.add(e)}let s;if(Array.isArray(e))s=e.map(o);else if(e&&typeof e==`object`){let t=Object.create(null);for(let[n,r]of Object.entries(e))l(n)&&a(t,n,o(r));s=t}else s=e;return i(s,n[0],r)[0]};return[o(e)]}case`transpose`:{if(!Array.isArray(e))return[null];if(e.length===0)return[[]];let t=Math.max(...e.map(e=>Array.isArray(e)?e.length:0)),n=[];for(let r=0;r<t;r++)n.push(e.map(e=>Array.isArray(e)?e[r]:null));return[n]}case`combinations`:{if(n.length>0){let t=i(e,n[0],r)[0];if(!Array.isArray(e)||t<0)return[];if(t===0)return[[]];let a=[],o=(n,r)=>{if(r===t){a.push([...n]);return}for(let t of e)n.push(t),o(n,r+1),n.pop()};return o([],0),a}if(!Array.isArray(e))return[];if(e.length===0)return[[]];for(let t of e)if(!Array.isArray(t))return[];let t=[],a=(n,r)=>{if(n===e.length){t.push([...r]);return}let i=e[n];for(let e of i)r.push(e),a(n+1,r),r.pop()};return a(0,[]),t}case`parent`:{if(r.root===void 0||r.currentPath===void 0)return[];let t=r.currentPath;if(t.length===0)return[];let a=n.length>0?i(e,n[0],r)[0]:1;if(a>=0){if(a>t.length)return[];let e=t.slice(0,t.length-a);return[s(r.root,e)]}else{let n=-a-1;if(n>=t.length)return[e];let i=t.slice(0,n);return[s(r.root,i)]}}case`parents`:{if(r.root===void 0||r.currentPath===void 0)return[[]];let e=r.currentPath,t=[];for(let n=e.length-1;n>=0;n--)t.push(s(r.root,e.slice(0,n)));return[t]}case`root`:return r.root===void 0?[]:[r.root];default:return null}}var D=2e3;function O(e,t,n,r,i){switch(t){case`keys`:return Array.isArray(e)?[e.map((e,t)=>t)]:e&&typeof e==`object`?[Object.keys(e).sort()]:[null];case`keys_unsorted`:return Array.isArray(e)?[e.map((e,t)=>t)]:e&&typeof e==`object`?[Object.keys(e)]:[null];case`length`:return typeof e==`string`||Array.isArray(e)?[e.length]:e&&typeof e==`object`?[Object.keys(e).length]:e===null?[0]:typeof e==`number`?[Math.abs(e)]:[null];case`utf8bytelength`:{if(typeof e==`string`)return[new TextEncoder().encode(e).length];let t=e===null?`null`:Array.isArray(e)?`array`:typeof e,n=t===`array`||t===`object`?JSON.stringify(e):String(e);throw Error(`${t} (${n}) only strings have UTF-8 byte length`)}case`to_entries`:{let t=u(e);return t?[Object.entries(t).map(([e,t])=>({key:e,value:t}))]:[null]}case`from_entries`:if(Array.isArray(e)){let t=Object.create(null);for(let n of e){let e=u(n);if(e){let n=e.key??e.Key??e.name??e.Name??e.k,r=e.value??e.Value??e.v;if(n!==void 0){let e=String(n);l(e)&&a(t,e,r)}}}return[t]}return[null];case`with_entries`:{if(n.length===0)return[e];let t=u(e);if(t){let e=Object.entries(t).map(([e,t])=>({key:e,value:t})).flatMap(e=>i(e,n[0],r)),o=Object.create(null);for(let t of e){let e=u(t);if(e){let t=e.key??e.name??e.k,n=e.value??e.v;if(t!==void 0){let e=String(t);l(e)&&a(o,e,n)}}}return[o]}return[null]}case`reverse`:return Array.isArray(e)?[[...e].reverse()]:typeof e==`string`?[e.split(``).reverse().join(``)]:[null];case`flatten`:return Array.isArray(e)?(n.length>0?i(e,n[0],r):[1/0]).map(t=>{let n=t;if(n<0)throw Error(`flatten depth must not be negative`);return e.flat(n)}):[null];case`unique`:if(Array.isArray(e)){let t=new Set,n=[];for(let r of e){let e=JSON.stringify(r);t.has(e)||(t.add(e),n.push(r))}return[n]}return[null];case`tojson`:case`tojsonstream`:{let t=r.limits.maxDepth??D;return y(e,t+1)>t?[null]:[JSON.stringify(e)]}case`fromjson`:if(typeof e==`string`){let t=e.trim().toLowerCase();if(t===`nan`)return[NaN];if(t===`inf`||t===`infinity`)return[1/0];if(t===`-inf`||t===`-infinity`)return[-1/0];try{return[d(JSON.parse(e))]}catch{throw Error(`Invalid JSON: ${e}`)}}return[e];case`tostring`:return typeof e==`string`?[e]:[JSON.stringify(e)];case`tonumber`:if(typeof e==`number`)return[e];if(typeof e==`string`){let t=Number(e);if(Number.isNaN(t))throw Error(`${JSON.stringify(e)} cannot be parsed as a number`);return[t]}throw Error(`${typeof e} cannot be parsed as a number`);case`toboolean`:{if(typeof e==`boolean`)return[e];if(typeof e==`string`){if(e===`true`)return[!0];if(e===`false`)return[!1];throw Error(`string (${JSON.stringify(e)}) cannot be parsed as a boolean`)}let t=e===null?`null`:Array.isArray(e)?`array`:typeof e,n=t===`array`||t===`object`?JSON.stringify(e):String(e);throw Error(`${t} (${n}) cannot be parsed as a boolean`)}case`tostream`:{let t=[],n=(e,r)=>{if(typeof e!=`object`||!e)t.push([r,e]);else if(Array.isArray(e))if(e.length===0)t.push([r,[]]);else for(let t=0;t<e.length;t++)n(e[t],[...r,t]);else{let i=Object.keys(e);if(i.length===0)t.push([r,Object.create(null)]);else for(let t of i)n(e[t],[...r,t])}};return n(e,[]),t.push([[]]),t}case`fromstream`:{if(n.length===0)return[e];let t=i(e,n[0],r),o=null;for(let e of t){if(!Array.isArray(e)||e.length===1&&Array.isArray(e[0])&&e[0].length===0||e.length!==2)continue;let[t,n]=e;if(!Array.isArray(t))continue;if(t.length===0){o=n;continue}o===null&&(o=typeof t[0]==`number`?[]:Object.create(null));let r=o;for(let e=0;e<t.length-1;e++){let n=t[e],i=t[e+1];if(Array.isArray(r)&&typeof n==`number`){for(;r.length<=n;)r.push(null);r[n]===null&&(r[n]=typeof i==`number`?[]:Object.create(null)),r=r[n]}else{let e=u(r);if(e){let t=String(n);if(!l(t))continue;(e[t]===null||e[t]===void 0)&&a(e,t,typeof i==`number`?[]:Object.create(null)),r=e[t]}}}let i=t[t.length-1];if(Array.isArray(r)&&typeof i==`number`){for(;r.length<=i;)r.push(null);r[i]=n}else{let e=u(r);if(e){let t=String(i);l(t)&&a(e,t,n)}}}return[o]}case`truncate_stream`:{let t=typeof e==`number`?Math.floor(e):0;if(n.length===0)return[];let a=[],o=i(e,n[0],r);for(let e of o)if(Array.isArray(e)){if(e.length===1&&Array.isArray(e[0])){let n=e[0];n.length>t&&a.push([n.slice(t)]);continue}if(e.length===2&&Array.isArray(e[0])){let n=e[0],r=e[1];n.length>t&&a.push([n.slice(t),r])}}return a}default:return null}}function ee(e,t,n,r,i,a,o,s,c,l){switch(t){case`getpath`:{if(n.length===0)return[null];let t=i(e,n[0],r),a=[];for(let n of t){let t=n,r=e;for(let e of t){if(r==null){r=null;break}if(Array.isArray(r)&&typeof e==`number`)r=r[e];else if(typeof e==`string`){let t=u(r);if(!t||!Object.hasOwn(t,e)){r=null;break}r=t[e]}else{r=null;break}}a.push(r)}return a}case`setpath`:{if(n.length<2)return[null];let t=i(e,n[0],r)[0],a=i(e,n[1],r)[0];return[o(e,t,a)]}case`delpaths`:{if(n.length===0)return[e];let t=i(e,n[0],r)[0],a=e;for(let e of t.sort((e,t)=>t.length-e.length))a=s(a,e);return[a]}case`path`:{if(n.length===0)return[[]];let t=[];return l(e,n[0],r,[],t),t}case`del`:return n.length===0?[e]:[c(e,n[0],r)];case`pick`:{if(n.length===0)return[null];let t=[];for(let i of n)l(e,i,r,[],t);let i=null;for(let n of t){for(let e of n)if(typeof e==`number`&&e<0)throw Error(`Out of bounds negative array index`);let t=e;for(let e of n){if(t==null)break;if(Array.isArray(t)&&typeof e==`number`)t=t[e];else if(typeof e==`string`){let n=u(t);if(!n||!Object.hasOwn(n,e)){t=null;break}t=n[e]}else{t=null;break}}i=o(i,n,t)}return[i]}case`paths`:{let t=[],o=(e,n)=>{if(e&&typeof e==`object`)if(Array.isArray(e))for(let r=0;r<e.length;r++)t.push([...n,r]),o(e[r],[...n,r]);else for(let r of Object.keys(e))t.push([...n,r]),o(e[r],[...n,r])};return o(e,[]),n.length>0?t.filter(t=>{let o=e;for(let e of t)if(Array.isArray(o)&&typeof e==`number`)o=o[e];else if(typeof e==`string`){let t=u(o);if(!t||!Object.hasOwn(t,e))return!1;o=t[e]}else return!1;return i(o,n[0],r).some(a)}):t}case`leaf_paths`:{let t=[],n=(e,r)=>{if(typeof e!=`object`||!e)t.push(r);else if(Array.isArray(e))for(let t=0;t<e.length;t++)n(e[t],[...r,t]);else for(let t of Object.keys(e))n(e[t],[...r,t])};return n(e,[]),t}default:return null}}function k(e,t,n,r,i,s){switch(t){case`IN`:{if(n.length===0)return[!1];if(n.length===1){let t=i(e,n[0],r);for(let n of t)if(s(e,n))return[!0];return[!1]}let t=i(e,n[0],r),a=i(e,n[1],r),o=new Set(a.map(e=>JSON.stringify(e)));for(let e of t)if(o.has(JSON.stringify(e)))return[!0];return[!1]}case`INDEX`:{if(n.length===0)return[Object.create(null)];if(n.length===1){let t=i(e,n[0],r),o=Object.create(null);for(let e of t){let t=String(e);l(t)&&a(o,t,e)}return[o]}if(n.length===2){let t=i(e,n[0],r),o=Object.create(null);for(let e of t){let t=i(e,n[1],r);if(t.length>0){let n=String(t[0]);l(n)&&a(o,n,e)}}return[o]}let t=i(e,n[0],r),o=Object.create(null);for(let e of t){let t=i(e,n[1],r),s=i(e,n[2],r);if(t.length>0&&s.length>0){let e=String(t[0]);l(e)&&a(o,e,s[0])}}return[o]}case`JOIN`:{if(n.length<2)return[null];let t=u(i(e,n[0],r)[0]);if(!t||!Array.isArray(e))return[null];let a=[];for(let s of e){let e=i(s,n[1],r),c=e.length>0?String(e[0]):``,l=o(t,c)?t[c]:null;a.push([s,l])}return[a]}default:return null}}function A(t,n,r,i,a){switch(n){case`join`:{if(!Array.isArray(t))return[null];let e=r.length>0?a(t,r[0],i):[``];for(let e of t)if(Array.isArray(e)||typeof e==`object`&&e)throw Error(`cannot join: contains arrays or objects`);return e.map(e=>t.map(e=>e===null?``:typeof e==`string`?e:String(e)).join(String(e)))}case`split`:{if(typeof t!=`string`||r.length===0)return[null];let e=a(t,r[0],i),n=String(e[0]);return[t.split(n)]}case`splits`:{if(typeof t!=`string`||r.length===0)return[];let n=a(t,r[0],i),o=String(n[0]);try{let n=r.length>1?String(a(t,r[1],i)[0]):`g`;return e(o,n.includes(`g`)?n:`${n}g`).split(t)}catch{return[]}}case`scan`:{if(typeof t!=`string`||r.length===0)return[];let n=a(t,r[0],i),o=String(n[0]);try{let n=r.length>1?String(a(t,r[1],i)[0]):``;return[...e(o,n.includes(`g`)?n:`${n}g`).matchAll(t)].map(e=>e.length>1?e.slice(1):e[0])}catch{return[]}}case`test`:{if(typeof t!=`string`||r.length===0)return[!1];let n=a(t,r[0],i),o=String(n[0]);try{return[e(o,r.length>1?String(a(t,r[1],i)[0]):``).test(t)]}catch{return[!1]}}case`match`:{if(typeof t!=`string`||r.length===0)return[null];let n=a(t,r[0],i),o=String(n[0]);try{let n=e(o,`${r.length>1?String(a(t,r[1],i)[0]):``}d`).exec(t);if(!n)return[];let s=n.indices;return[{offset:n.index,length:n[0].length,string:n[0],captures:n.slice(1).map((e,t)=>({offset:s?.[t+1]?.[0]??null,length:e?.length??0,string:e??``,name:null}))}]}catch{return[null]}}case`capture`:{if(typeof t!=`string`||r.length===0)return[null];let n=a(t,r[0],i),o=String(n[0]);try{let n=e(o,r.length>1?String(a(t,r[1],i)[0]):``).match(t);return!n||!n.groups?[Object.create(null)]:[n.groups]}catch{return[null]}}case`sub`:{if(typeof t!=`string`||r.length<2)return[null];let n=a(t,r[0],i),o=a(t,r[1],i),s=String(n[0]),c=String(o[0]);try{return[e(s,r.length>2?String(a(t,r[2],i)[0]):``).replace(t,c)]}catch{return[t]}}case`gsub`:{if(typeof t!=`string`||r.length<2)return[null];let n=a(t,r[0],i),o=a(t,r[1],i),s=String(n[0]),c=String(o[0]);try{let n=r.length>2?String(a(t,r[2],i)[0]):`g`;return[e(s,n.includes(`g`)?n:`${n}g`).replace(t,c)]}catch{return[t]}}case`ascii_downcase`:return typeof t==`string`?[t.replace(/[A-Z]/g,e=>String.fromCharCode(e.charCodeAt(0)+32))]:[null];case`ascii_upcase`:return typeof t==`string`?[t.replace(/[a-z]/g,e=>String.fromCharCode(e.charCodeAt(0)-32))]:[null];case`ltrimstr`:{if(typeof t!=`string`||r.length===0)return[t];let e=a(t,r[0],i),n=String(e[0]);return[t.startsWith(n)?t.slice(n.length):t]}case`rtrimstr`:{if(typeof t!=`string`||r.length===0)return[t];let e=a(t,r[0],i),n=String(e[0]);return n===``?[t]:[t.endsWith(n)?t.slice(0,-n.length):t]}case`trimstr`:{if(typeof t!=`string`||r.length===0)return[t];let e=a(t,r[0],i),n=String(e[0]);if(n===``)return[t];let o=t;return o.startsWith(n)&&(o=o.slice(n.length)),o.endsWith(n)&&(o=o.slice(0,-n.length)),[o]}case`trim`:if(typeof t==`string`)return[t.trim()];throw Error(`trim input must be a string`);case`ltrim`:if(typeof t==`string`)return[t.trimStart()];throw Error(`trim input must be a string`);case`rtrim`:if(typeof t==`string`)return[t.trimEnd()];throw Error(`trim input must be a string`);case`startswith`:{if(typeof t!=`string`||r.length===0)return[!1];let e=a(t,r[0],i);return[t.startsWith(String(e[0]))]}case`endswith`:{if(typeof t!=`string`||r.length===0)return[!1];let e=a(t,r[0],i);return[t.endsWith(String(e[0]))]}case`ascii`:return typeof t==`string`&&t.length>0?[t.charCodeAt(0)]:[null];case`explode`:return typeof t==`string`?[Array.from(t).map(e=>e.codePointAt(0))]:[null];case`implode`:if(!Array.isArray(t))throw Error(`implode input must be an array`);return[t.map(e=>{if(typeof e==`string`)throw Error(`string (${JSON.stringify(e)}) can't be imploded, unicode codepoint needs to be numeric`);if(typeof e!=`number`||Number.isNaN(e))throw Error(`number (null) can't be imploded, unicode codepoint needs to be numeric`);let t=Math.trunc(e);return t<0||t>1114111||t>=55296&&t<=57343?String.fromCodePoint(65533):String.fromCodePoint(t)}).join(``)];default:return null}}function j(e,t){switch(t){case`type`:return e===null?[`null`]:Array.isArray(e)?[`array`]:typeof e==`boolean`?[`boolean`]:typeof e==`number`?[`number`]:typeof e==`string`?[`string`]:typeof e==`object`?[`object`]:[`null`];case`infinite`:return[1/0];case`nan`:return[NaN];case`isinfinite`:return[typeof e==`number`&&!Number.isFinite(e)];case`isnan`:return[typeof e==`number`&&Number.isNaN(e)];case`isnormal`:return[typeof e==`number`&&Number.isFinite(e)&&e!==0];case`isfinite`:return[typeof e==`number`&&Number.isFinite(e)];case`numbers`:return typeof e==`number`?[e]:[];case`strings`:return typeof e==`string`?[e]:[];case`booleans`:return typeof e==`boolean`?[e]:[];case`nulls`:return e===null?[e]:[];case`arrays`:return Array.isArray(e)?[e]:[];case`objects`:return e&&typeof e==`object`&&!Array.isArray(e)?[e]:[];case`iterables`:return Array.isArray(e)||e&&typeof e==`object`&&!Array.isArray(e)?[e]:[];case`scalars`:return!Array.isArray(e)&&!(e&&typeof e==`object`)?[e]:[];case`values`:return e===null?[]:[e];case`not`:return e===!1||e===null?[!0]:[!1];case`null`:return[null];case`true`:return[!0];case`false`:return[!1];case`empty`:return[];default:return null}}function M(e,t,n){if(t.length===0)return n;let[r,...i]=t;if(typeof r==`number`){if(e&&typeof e==`object`&&!Array.isArray(e))throw Error(`Cannot index object with number`);if(r>536870911)throw Error(`Array index too large`);if(r<0)throw Error(`Out of bounds negative array index`);let t=Array.isArray(e)?[...e]:[];for(;t.length<=r;)t.push(null);return t[r]=M(t[r],i,n),t}if(Array.isArray(e))throw Error(`Cannot index array with string`);if(!l(r))return e??Object.create(null);let o=u(e),s=o?c(o):Object.create(null);return a(s,r,M(Object.hasOwn(s,r)?s[r]:void 0,i,n)),s}function N(e,t){if(t.length===0)return null;if(t.length===1){let n=t[0];if(Array.isArray(e)&&typeof n==`number`){let t=[...e];return t.splice(n,1),t}if(e&&typeof e==`object`&&!Array.isArray(e)){let t=String(n);if(!l(t))return e;let r=c(e);return delete r[t],r}return e}let[n,...r]=t;if(Array.isArray(e)&&typeof n==`number`){let t=[...e];return t[n]=N(t[n],r),t}if(e&&typeof e==`object`&&!Array.isArray(e)){let t=String(n);if(!l(t))return e;let i=c(e);return Object.hasOwn(i,t)&&a(i,t,N(i[t],r)),i}return e}var P=class e extends Error{label;partialResults;constructor(e,t=[]){super(`break ${e}`),this.label=e,this.partialResults=t,this.name=`BreakError`}withPrependedResults(t){return new e(this.label,[...t,...this.partialResults])}},F=class extends Error{value;constructor(e){super(typeof e==`string`?e:JSON.stringify(e)),this.value=e,this.name=`JqError`}},I=1e4,L=2e3,te=new Map([[`floor`,Math.floor],[`ceil`,Math.ceil],[`round`,Math.round],[`sqrt`,Math.sqrt],[`log`,Math.log],[`log10`,Math.log10],[`log2`,Math.log2],[`exp`,Math.exp],[`sin`,Math.sin],[`cos`,Math.cos],[`tan`,Math.tan],[`asin`,Math.asin],[`acos`,Math.acos],[`atan`,Math.atan],[`sinh`,Math.sinh],[`cosh`,Math.cosh],[`tanh`,Math.tanh],[`asinh`,Math.asinh],[`acosh`,Math.acosh],[`atanh`,Math.atanh],[`cbrt`,Math.cbrt],[`expm1`,Math.expm1],[`log1p`,Math.log1p],[`trunc`,Math.trunc]]);function ne(e){return{vars:new Map,limits:{maxIterations:e?.limits?.maxIterations??I,maxDepth:e?.limits?.maxDepth??L},env:e?.env,coverage:e?.coverage,requireDefenseContext:e?.requireDefenseContext,defenseContextChecked:!1}}function R(e,t,n){let r=new Map(e.vars);return r.set(t,n),{vars:r,limits:e.limits,env:e.env,requireDefenseContext:e.requireDefenseContext,defenseContextChecked:e.defenseContextChecked,root:e.root,currentPath:e.currentPath,funcs:e.funcs,labels:e.labels,coverage:e.coverage}}function z(e,t,n){switch(t.type){case`var`:return R(e,t.name,n);case`array`:{if(!Array.isArray(n))return null;let r=e;for(let e=0;e<t.elements.length;e++){let i=t.elements[e],a=e<n.length?n[e]:null,o=z(r,i,a);if(o===null)return null;r=o}return r}case`object`:{let r=u(n);if(!r)return null;let i=e;for(let a of t.fields){let t;if(typeof a.key==`string`)t=a.key;else{let r=W(n,a.key,e);if(r.length===0)return null;t=String(r[0])}let s=o(r,t)?r[t]:null;a.keyVar&&(i=R(i,a.keyVar,s));let c=z(i,a.pattern,s);if(c===null)return null;i=c}return i}}}function B(e,t){let n=e;for(let e of t)if(n&&typeof n==`object`)if(Array.isArray(n))if(typeof e==`number`)n=n[e];else return;else{let t=u(n);if(t&&typeof e==`string`&&Object.hasOwn(t,e))n=t[e];else return}else return;return n}function V(e){if(e.type===`Identity`)return[];if(e.type===`Field`){let t=e.base?V(e.base):[];return t===null?null:[...t,e.name]}if(e.type===`Index`&&e.index.type===`Literal`){let t=e.base?V(e.base):[];if(t===null)return null;let n=e.index.value;return typeof n==`number`||typeof n==`string`?[...t,n]:null}if(e.type===`Pipe`){let t=V(e.left);return t===null?null:H(t,e.right)}if(e.type===`Call`){if(e.name===`parent`||e.name===`root`)return null;if(e.name===`first`&&e.args.length===0)return[0];if(e.name===`last`&&e.args.length===0)return[-1]}return null}function H(e,t){if(t.type===`Call`){if(t.name===`parent`){let n=1;if(t.args.length>0&&t.args[0].type===`Literal`){let e=t.args[0].value;typeof e==`number`&&(n=e)}if(n>=0)return e.slice(0,Math.max(0,e.length-n));{let t=-n-1;return e.slice(0,Math.min(t,e.length))}}if(t.name===`root`)return[]}if(t.type===`Field`){let n=V(t);if(n!==null)return[...e,...n]}if(t.type===`Index`&&t.index.type===`Literal`){let n=V(t);if(n!==null)return[...e,...n]}if(t.type===`Pipe`){let n=H(e,t.left);return n===null?null:H(n,t.right)}return t.type===`Identity`?e:null}function U(e,n,r){if(n.type===`Comma`){let i=[];try{i.push(...W(e,n.left,r))}catch(e){if(e instanceof t)throw e;if(i.length>0)return i;throw Error(`evaluation failed`)}try{i.push(...W(e,n.right,r))}catch(e){if(e instanceof t)throw e;return i}return i}return W(e,n,r)}function W(e,t,r){let o=r&&`vars`in r?r:ne(r);switch(o.defenseContextChecked||(i(o.requireDefenseContext,`query-engine`,`evaluation`),o={...o,defenseContextChecked:!0}),o.root===void 0&&(o={...o,root:e,currentPath:[]}),o.coverage?.hit(`jq:node:${t.type}`),t.type){case`Identity`:return[e];case`Field`:return(t.base?W(e,t.base,o):[e]).flatMap(e=>{let n=u(e);if(n){if(!Object.hasOwn(n,t.name))return[null];let e=n[t.name];return[e===void 0?null:e]}if(e===null)return[null];throw Error(`Cannot index ${Array.isArray(e)?`array`:typeof e} with string "${t.name}"`)});case`Index`:return(t.base?W(e,t.base,o):[e]).flatMap(e=>W(e,t.index,o).flatMap(t=>{if(typeof t==`number`&&Array.isArray(e)){if(Number.isNaN(t))return[null];let n=Math.trunc(t),r=n<0?e.length+n:n;return r>=0&&r<e.length?[e[r]]:[null]}if(typeof t==`string`){let n=u(e);return!n||!Object.hasOwn(n,t)?[null]:[n[t]]}return[null]}));case`Slice`:return(t.base?W(e,t.base,o):[e]).flatMap(n=>{if(n===null)return[null];if(!Array.isArray(n)&&typeof n!=`string`)throw Error(`Cannot slice ${typeof n} (${JSON.stringify(n)})`);let r=n.length,i=t.start?W(e,t.start,o):[0],a=t.end?W(e,t.end,o):[r];return i.flatMap(e=>a.map(t=>{let i=e,a=t,o=Number.isNaN(i)?0:Number.isInteger(i)?i:Math.floor(i),s=Number.isNaN(a)?r:Number.isInteger(a)?a:Math.ceil(a),c=G(o,r),l=G(s,r);return n.slice(c,l)}))});case`Iterate`:return(t.base?W(e,t.base,o):[e]).flatMap(e=>Array.isArray(e)?e:e&&typeof e==`object`?Object.values(e):[]);case`Pipe`:{let n=W(e,t.left,o),r=V(t.left),i=[];for(let e of n)try{if(r!==null){let n={...o,currentPath:[...o.currentPath??[],...r]};i.push(...W(e,t.right,n))}else i.push(...W(e,t.right,o))}catch(e){throw e instanceof P?e.withPrependedResults(i):e}return i}case`Comma`:{let n=W(e,t.left,o),r=W(e,t.right,o);return[...n,...r]}case`Literal`:return[t.value];case`Array`:return t.elements?[W(e,t.elements,o)]:[[]];case`Object`:{let n=[Object.create(null)];for(let r of t.entries){let t=typeof r.key==`string`?[r.key]:W(e,r.key,o),i=W(e,r.value,o),s=[];for(let e of n)for(let n of t){if(typeof n!=`string`)throw Error(`Cannot use ${n===null?`null`:Array.isArray(n)?`array`:typeof n} (${JSON.stringify(n)}) as object key`);if(!l(n)){for(let t of i)s.push(c(e));continue}for(let t of i){let r=c(e);a(r,n,t),s.push(r)}}n.length=0,n.push(...s)}return n}case`Paren`:return W(e,t.expr,o);case`BinaryOp`:return J(e,t.op,t.left,t.right,o);case`UnaryOp`:return W(e,t.operand,o).map(e=>{if(t.op===`-`){if(typeof e==`number`)return-e;if(typeof e==`string`)throw Error(`string (${(e=>e.length>5?`"${e.slice(0,3)}...`:JSON.stringify(e))(e)}) cannot be negated`);return null}return t.op===`not`?!h(e):null});case`Cond`:return W(e,t.cond,o).flatMap(n=>{if(h(n))return W(e,t.then,o);for(let n of t.elifs)if(W(e,n.cond,o).some(h))return W(e,n.then,o);return t.else?W(e,t.else,o):[e]});case`Try`:try{return W(e,t.body,o)}catch(e){return t.catch?W(e instanceof F?e.value:e instanceof Error?e.message:String(e),t.catch,o):[]}case`Call`:return Y(e,t.name,t.args,o);case`VarBind`:return W(e,t.value,o).flatMap(n=>{let r=null,i=[];t.pattern?i.push(t.pattern):t.name&&i.push({type:`var`,name:t.name}),t.alternatives&&i.push(...t.alternatives);for(let e of i)if(r=z(o,e,n),r!==null)break;return r===null?[]:W(e,t.body,r)});case`VarRef`:{if(t.name===`$ENV`)return[o.env?n(o.env):Object.create(null)];let e=o.vars.get(t.name);return e===void 0?[null]:[e]}case`Recurse`:{let t=[],n=new WeakSet,r=e=>{if(e&&typeof e==`object`){if(n.has(e))return;n.add(e)}if(t.push(e),Array.isArray(e))for(let t of e)r(t);else if(e&&typeof e==`object`)for(let t of Object.keys(e))r(e[t])};return r(e),t}case`Optional`:try{return W(e,t.expr,o)}catch{return[]}case`StringInterp`:return[t.parts.map(t=>typeof t==`string`?t:W(e,t,o).map(e=>typeof e==`string`?e:JSON.stringify(e)).join(``)).join(``)];case`UpdateOp`:return[K(e,t.path,t.op,t.value,o)];case`Reduce`:{let n=W(e,t.expr,o),r=W(e,t.init,o)[0],i=o.limits.maxDepth??L;for(let e of n){let n;if(t.pattern){if(n=z(o,t.pattern,e),n===null)continue}else n=R(o,t.varName,e);if(r=W(r,t.update,n)[0],y(r,i+1)>i)return[null]}return[r]}case`Foreach`:{let n=W(e,t.expr,o),r=W(e,t.init,o)[0],i=[];for(let e of n)try{let n;if(t.pattern){if(n=z(o,t.pattern,e),n===null)continue}else n=R(o,t.varName,e);if(r=W(r,t.update,n)[0],t.extract){let e=W(r,t.extract,n);i.push(...e)}else i.push(r)}catch(e){throw e instanceof P?e.withPrependedResults(i):e}return i}case`Label`:try{return W(e,t.body,{...o,labels:new Set([...o.labels??[],t.name])})}catch(e){if(e instanceof P&&e.label===t.name)return e.partialResults;throw e}case`Break`:throw new P(t.name);case`Def`:{let n=new Map(o.funcs??[]),r=`${t.name}/${t.params.length}`;n.set(r,{params:t.params,body:t.funcBody,closure:new Map(o.funcs??[])});let i={...o,funcs:n};return W(e,t.body,i)}default:throw Error(`Unknown AST node type: ${t.type}`)}}function G(e,t){return e<0?Math.max(0,t+e):Math.min(e,t)}function K(e,t,n,r,i){function o(e,t){switch(n){case`=`:return t;case`|=`:return W(e,r,i)[0]??null;case`+=`:return typeof e==`number`&&typeof t==`number`||typeof e==`string`&&typeof t==`string`?e+t:Array.isArray(e)&&Array.isArray(t)?[...e,...t]:e&&t&&typeof e==`object`&&typeof t==`object`?s(e,t):t;case`-=`:return typeof e==`number`&&typeof t==`number`?e-t:e;case`*=`:return typeof e==`number`&&typeof t==`number`?e*t:e;case`/=`:return typeof e==`number`&&typeof t==`number`?e/t:e;case`%=`:return typeof e==`number`&&typeof t==`number`?e%t:e;case`//=`:return e===null||e===!1?t:e;default:return t}}function u(t,n,r){switch(n.type){case`Identity`:return r(t);case`Field`:if(!l(n.name))return t;if(n.base)return u(t,n.base,e=>{if(e&&typeof e==`object`&&!Array.isArray(e)){let t=c(e),i=Object.hasOwn(t,n.name)?t[n.name]:void 0;return a(t,n.name,r(i)),t}return e});if(t&&typeof t==`object`&&!Array.isArray(t)){let e=c(t),i=Object.hasOwn(e,n.name)?e[n.name]:void 0;return a(e,n.name,r(i)),e}return t;case`Index`:{let o=W(e,n.index,i)[0];if(typeof o==`number`&&Number.isNaN(o))throw Error(`Cannot set array element at NaN index`);if(typeof o==`number`&&!Number.isInteger(o)&&(o=Math.trunc(o)),n.base)return u(t,n.base,e=>{if(typeof o==`number`&&Array.isArray(e)){let t=[...e],n=o<0?t.length+o:o;if(n>=0){for(;t.length<=n;)t.push(null);t[n]=r(t[n])}return t}if(typeof o==`string`&&e&&typeof e==`object`&&!Array.isArray(e)){if(!l(o))return e;let t=c(e),n=Object.hasOwn(t,o)?t[o]:void 0;return a(t,o,r(n)),t}return e});if(typeof o==`number`){if(o>536870911)throw Error(`Array index too large`);if(o<0&&(!t||!Array.isArray(t)))throw Error(`Out of bounds negative array index`);if(Array.isArray(t)){let e=[...t],n=o<0?e.length+o:o;if(n>=0){for(;e.length<=n;)e.push(null);e[n]=r(e[n])}return e}if(t==null){let e=[];for(;e.length<=o;)e.push(null);return e[o]=r(null),e}return t}if(typeof o==`string`&&t&&typeof t==`object`&&!Array.isArray(t)){if(!l(o))return t;let e=c(t),n=Object.hasOwn(e,o)?e[o]:void 0;return a(e,o,r(n)),e}return t}case`Iterate`:{let e=e=>{if(Array.isArray(e))return e.map(e=>r(e));if(e&&typeof e==`object`){let t=Object.create(null);for(let[n,i]of Object.entries(e))l(n)&&a(t,n,r(i));return t}return e};return n.base?u(t,n.base,e):e(t)}case`Pipe`:return u(u(t,n.left,e=>e),n.right,r);default:return r(t)}}return u(e,t,t=>n===`|=`?o(t,t):o(t,W(e,r,i)[0]??null))}function q(e,t,n){function r(t,i,o){switch(i.type){case`Identity`:return o;case`Field`:if(!l(i.name))return t;if(i.base){let e=W(t,i.base,n)[0],a=r(e,{type:`Field`,name:i.name},o);return r(t,i.base,a)}if(t&&typeof t==`object`&&!Array.isArray(t)){let e=c(t);return a(e,i.name,o),e}return t;case`Index`:{if(i.base){let e=W(t,i.base,n)[0],a=r(e,{type:`Index`,index:i.index},o);return r(t,i.base,a)}let s=W(e,i.index,n)[0];if(typeof s==`number`&&Array.isArray(t)){let e=[...t],n=s<0?e.length+s:s;return n>=0&&n<e.length&&(e[n]=o),e}if(typeof s==`string`&&t&&typeof t==`object`&&!Array.isArray(t)){if(!l(s))return t;let e=c(t);return a(e,s,o),e}return t}default:return t}}function i(t,o){switch(o.type){case`Identity`:return null;case`Field`:if(!l(o.name))return t;if(o.base){let e=W(t,o.base,n)[0];if(e==null)return t;let a=i(e,{type:`Field`,name:o.name});return r(t,o.base,a)}if(t&&typeof t==`object`&&!Array.isArray(t)){if(!l(o.name))return t;let e=c(t);return delete e[o.name],e}return t;case`Index`:{if(o.base){let e=W(t,o.base,n)[0];if(e==null)return t;let a=i(e,{type:`Index`,index:o.index});return r(t,o.base,a)}let a=W(e,o.index,n)[0];if(typeof a==`number`&&Array.isArray(t)){let e=[...t],n=a<0?e.length+a:a;return n>=0&&n<e.length&&e.splice(n,1),e}if(typeof a==`string`&&t&&typeof t==`object`&&!Array.isArray(t)){if(!l(a))return t;let e=c(t);return delete e[a],e}return t}case`Iterate`:return Array.isArray(t)?[]:t&&typeof t==`object`?Object.create(null):t;case`Pipe`:{let r=function(t,i,o){switch(i.type){case`Identity`:return o;case`Field`:if(!l(i.name))return t;if(t&&typeof t==`object`&&!Array.isArray(t)){let e=c(t);return a(e,i.name,o),e}return t;case`Index`:{let r=W(e,i.index,n)[0];if(typeof r==`number`&&Array.isArray(t)){let e=[...t],n=r<0?e.length+r:r;return n>=0&&n<e.length&&(e[n]=o),e}if(typeof r==`string`&&t&&typeof t==`object`&&!Array.isArray(t)){if(!l(r))return t;let e=c(t);return a(e,r,o),e}return t}case`Pipe`:{let e=W(t,i.left,n)[0],a=r(e,i.right,o);return r(t,i.left,a)}default:return t}},s=o.left,u=o.right,d=W(t,s,n)[0];return d==null?t:r(t,s,i(d,u))}default:return t}}return i(e,t)}function J(e,t,n,r,i){if(t===`and`)return W(e,n,i).flatMap(t=>h(t)?W(e,r,i).map(e=>h(e)):[!1]);if(t===`or`)return W(e,n,i).flatMap(t=>h(t)?[!0]:W(e,r,i).map(e=>h(e)));if(t===`//`){let t=W(e,n,i).filter(e=>e!=null&&e!==!1);return t.length>0?t:W(e,r,i)}let a=W(e,n,i),o=W(e,r,i);return a.flatMap(e=>o.map(n=>{switch(t){case`+`:return e===null?n:n===null?e:typeof e==`number`&&typeof n==`number`||typeof e==`string`&&typeof n==`string`?e+n:Array.isArray(e)&&Array.isArray(n)?[...e,...n]:e&&n&&typeof e==`object`&&typeof n==`object`&&!Array.isArray(e)&&!Array.isArray(n)?s(e,n):null;case`-`:if(typeof e==`number`&&typeof n==`number`)return e-n;if(Array.isArray(e)&&Array.isArray(n)){let t=new Set(n.map(e=>JSON.stringify(e)));return e.filter(e=>!t.has(JSON.stringify(e)))}if(typeof e==`string`&&typeof n==`string`){let t=e=>e.length>10?`"${e.slice(0,10)}...`:JSON.stringify(e);throw Error(`string (${t(e)}) and string (${t(n)}) cannot be subtracted`)}return null;case`*`:if(typeof e==`number`&&typeof n==`number`)return e*n;if(typeof e==`string`&&typeof n==`number`)return e.repeat(n);{let t=u(e),r=u(n);if(t&&r)return v(t,r)}return null;case`/`:if(typeof e==`number`&&typeof n==`number`){if(n===0)throw Error(`number (${e}) and number (${n}) cannot be divided because the divisor is zero`);return e/n}return typeof e==`string`&&typeof n==`string`?e.split(n):null;case`%`:if(typeof e==`number`&&typeof n==`number`){if(n===0)throw Error(`number (${e}) and number (${n}) cannot be divided (remainder) because the divisor is zero`);return!Number.isFinite(e)&&!Number.isNaN(e)?!Number.isFinite(n)&&!Number.isNaN(n)&&e<0&&n>0?-1:0:e%n}return null;case`==`:return g(e,n);case`!=`:return!g(e,n);case`<`:return _(e,n)<0;case`<=`:return _(e,n)<=0;case`>`:return _(e,n)>0;case`>=`:return _(e,n)>=0;default:return null}}))}function Y(e,r,i,a){let o=te.get(r);if(o)return typeof e==`number`?[o(e)]:[null];let s=T(e,r,i,a,W);if(s!==null)return s;let c=A(e,r,i,a,W);if(c!==null)return c;let l=m(e,r,i,a,W);if(l!==null)return l;let u=C(e,r,a.limits.maxDepth);if(u!==null)return u;let d=j(e,r);if(d!==null)return d;let _=O(e,r,i,a,W);if(_!==null)return _;let v=f(e,r,i,a,W,U,b,h,x,t);if(v!==null)return v;let y=ee(e,r,i,a,W,h,M,N,q,X);if(y!==null)return y;let S=w(e,r,i,a,W,g);if(S!==null)return S;let D=p(e,r,i,a,W,U,h,t);if(D!==null)return D;let P=E(e,r,i,a,W,h,B,Y);if(P!==null)return P;let I=k(e,r,i,a,W,g);if(I!==null)return I;switch(r){case`builtins`:return[`add/0.all/0.all/1.all/2.any/0.any/1.any/2.arrays/0.ascii/0.ascii_downcase/0.ascii_upcase/0.booleans/0.bsearch/1.builtins/0.combinations/0.combinations/1.contains/1.debug/0.del/1.delpaths/1.empty/0.env/0.error/0.error/1.explode/0.first/0.first/1.flatten/0.flatten/1.floor/0.from_entries/0.fromdate/0.fromjson/0.getpath/1.gmtime/0.group_by/1.gsub/2.gsub/3.has/1.implode/0.IN/1.IN/2.INDEX/1.INDEX/2.index/1.indices/1.infinite/0.inside/1.isempty/1.isnan/0.isnormal/0.isvalid/1.iterables/0.join/1.keys/0.keys_unsorted/0.last/0.last/1.length/0.limit/2.ltrimstr/1.map/1.map_values/1.match/1.match/2.max/0.max_by/1.min/0.min_by/1.mktime/0.modulemeta/1.nan/0.not/0.nth/1.nth/2.null/0.nulls/0.numbers/0.objects/0.path/1.paths/0.paths/1.pick/1.range/1.range/2.range/3.recurse/0.recurse/1.recurse_down/0.repeat/1.reverse/0.rindex/1.rtrimstr/1.scalars/0.scan/1.scan/2.select/1.setpath/2.skip/2.sort/0.sort_by/1.split/1.splits/1.splits/2.sqrt/0.startswith/1.strftime/1.strings/0.strptime/1.sub/2.sub/3.test/1.test/2.to_entries/0.toboolean/0.todate/0.tojson/0.tostream/0.fromstream/1.truncate_stream/1.tonumber/0.tostring/0.transpose/0.trim/0.ltrim/0.rtrim/0.type/0.unique/0.unique_by/1.until/2.utf8bytelength/0.values/0.walk/1.while/2.with_entries/1`.split(`.`)];case`error`:throw new F(i.length>0?W(e,i[0],a)[0]:e);case`env`:return[a.env?n(a.env):Object.create(null)];case`debug`:return[e];case`input_line_number`:return[1];default:{let t=`${r}/${i.length}`,n=a.funcs?.get(t);if(n){let r=n.closure??a.funcs??new Map,o=new Map(r);o.set(t,n);for(let t=0;t<n.params.length;t++){let r=n.params[t],s=i[t];if(s){let t=W(e,s,a),n;if(t.length===0)n={type:`Call`,name:`empty`,args:[]};else if(t.length===1)n={type:`Literal`,value:t[0]};else{n={type:`Literal`,value:t[t.length-1]};for(let e=t.length-2;e>=0;e--)n={type:`Comma`,left:{type:`Literal`,value:t[e]},right:n}}o.set(`${r}/0`,{params:[],body:n})}}let s={...a,funcs:o};return W(e,n.body,s)}throw Error(`Unknown function: ${r}`)}}}function X(e,t,n,r,i){if(t.type===`Comma`){let a=t;X(e,a.left,n,r,i),X(e,a.right,n,r,i);return}let a=V(t);if(a!==null){i.push([...r,...a]);return}if(t.type===`Iterate`){if(Array.isArray(e))for(let t=0;t<e.length;t++)i.push([...r,t]);else if(e&&typeof e==`object`)for(let t of Object.keys(e))i.push([...r,t]);return}if(t.type===`Recurse`){let t=(e,n)=>{if(i.push([...r,...n]),e&&typeof e==`object`)if(Array.isArray(e))for(let r=0;r<e.length;r++)t(e[r],[...n,r]);else for(let r of Object.keys(e))t(e[r],[...n,r])};t(e,[]);return}if(t.type===`Pipe`){let a=V(t.left);if(a!==null){let o=W(e,t.left,n);for(let e of o)X(e,t.right,n,[...r,...a],i);return}}W(e,t,n).length>0&&i.push(r)}var Z=new Map([[`and`,`AND`],[`or`,`OR`],[`not`,`NOT`],[`if`,`IF`],[`then`,`THEN`],[`elif`,`ELIF`],[`else`,`ELSE`],[`end`,`END`],[`as`,`AS`],[`try`,`TRY`],[`catch`,`CATCH`],[`true`,`TRUE`],[`false`,`FALSE`],[`null`,`NULL`],[`reduce`,`REDUCE`],[`foreach`,`FOREACH`],[`label`,`LABEL`],[`break`,`BREAK`],[`def`,`DEF`]]),Q=new Set(Z.values());function $(e){let t=[],n=0,r=(t=0)=>e[n+t],i=()=>e[n++],a=()=>n>=e.length,o=e=>e>=`0`&&e<=`9`,s=e=>e>=`a`&&e<=`z`||e>=`A`&&e<=`Z`||e===`_`,c=e=>s(e)||o(e);for(;!a();){let l=n,u=i();if(!(u===` `||u===` `||u===`
|
|
3
3
|
`||u===`\r`)){if(u===`#`){for(;!a()&&r()!==`
|
|
4
4
|
`;)i();continue}if(u===`.`&&r()===`.`){i(),t.push({type:`DOTDOT`,pos:l});continue}if(u===`=`&&r()===`=`){i(),t.push({type:`EQ`,pos:l});continue}if(u===`!`&&r()===`=`){i(),t.push({type:`NE`,pos:l});continue}if(u===`<`&&r()===`=`){i(),t.push({type:`LE`,pos:l});continue}if(u===`>`&&r()===`=`){i(),t.push({type:`GE`,pos:l});continue}if(u===`/`&&r()===`/`){i(),r()===`=`?(i(),t.push({type:`UPDATE_ALT`,pos:l})):t.push({type:`ALT`,pos:l});continue}if(u===`+`&&r()===`=`){i(),t.push({type:`UPDATE_ADD`,pos:l});continue}if(u===`-`&&r()===`=`){i(),t.push({type:`UPDATE_SUB`,pos:l});continue}if(u===`*`&&r()===`=`){i(),t.push({type:`UPDATE_MUL`,pos:l});continue}if(u===`/`&&r()===`=`){i(),t.push({type:`UPDATE_DIV`,pos:l});continue}if(u===`%`&&r()===`=`){i(),t.push({type:`UPDATE_MOD`,pos:l});continue}if(u===`=`&&r()!==`=`){t.push({type:`ASSIGN`,pos:l});continue}if(u===`.`){t.push({type:`DOT`,pos:l});continue}if(u===`|`){r()===`=`?(i(),t.push({type:`UPDATE_PIPE`,pos:l})):t.push({type:`PIPE`,pos:l});continue}if(u===`,`){t.push({type:`COMMA`,pos:l});continue}if(u===`:`){t.push({type:`COLON`,pos:l});continue}if(u===`;`){t.push({type:`SEMICOLON`,pos:l});continue}if(u===`(`){t.push({type:`LPAREN`,pos:l});continue}if(u===`)`){t.push({type:`RPAREN`,pos:l});continue}if(u===`[`){t.push({type:`LBRACKET`,pos:l});continue}if(u===`]`){t.push({type:`RBRACKET`,pos:l});continue}if(u===`{`){t.push({type:`LBRACE`,pos:l});continue}if(u===`}`){t.push({type:`RBRACE`,pos:l});continue}if(u===`?`){t.push({type:`QUESTION`,pos:l});continue}if(u===`+`){t.push({type:`PLUS`,pos:l});continue}if(u===`-`){t.push({type:`MINUS`,pos:l});continue}if(u===`*`){t.push({type:`STAR`,pos:l});continue}if(u===`/`){t.push({type:`SLASH`,pos:l});continue}if(u===`%`){t.push({type:`PERCENT`,pos:l});continue}if(u===`<`){t.push({type:`LT`,pos:l});continue}if(u===`>`){t.push({type:`GT`,pos:l});continue}if(o(u)){let s=u;for(;!a()&&(o(r())||r()===`.`||r()===`e`||r()===`E`);)(r()===`e`||r()===`E`)&&(e[n+1]===`+`||e[n+1]===`-`)&&(s+=i()),s+=i();t.push({type:`NUMBER`,value:Number(s),pos:l});continue}if(u===`"`){let e=``;for(;!a()&&r()!==`"`;)if(r()===`\\`){if(i(),a())break;let t=i();switch(t){case`n`:e+=`
|
|
5
5
|
`;break;case`r`:e+=`\r`;break;case`t`:e+=` `;break;case`\\`:e+=`\\`;break;case`"`:e+=`"`;break;case`(`:e+=`\\(`;break;default:e+=t}}else e+=i();a()||i(),t.push({type:`STRING`,value:e,pos:l});continue}if(s(u)||u===`$`||u===`@`){let e=u;for(;!a()&&c(r());)e+=i();let n=Z.get(e);n?t.push({type:n,value:e,pos:l}):t.push({type:`IDENT`,value:e,pos:l});continue}throw Error(`Unexpected character '${u}' at position ${l}`)}}return t.push({type:`EOF`,pos:n}),t}var re=class e{tokens;pos=0;constructor(e){this.tokens=e}peek(e=0){return this.tokens[this.pos+e]??{type:`EOF`,pos:-1}}advance(){return this.tokens[this.pos++]}check(e){return this.peek().type===e}match(...e){for(let t of e)if(this.check(t))return this.advance();return null}expect(e,t){if(!this.check(e))throw Error(`${t} at position ${this.peek().pos}, got ${this.peek().type}`);return this.advance()}isFieldNameAfterDot(e=0){let t=this.peek(e),n=this.peek(e+1);return n.type===`STRING`?!0:n.type===`IDENT`||Q.has(n.type)?n.pos===t.pos+1:!1}isIdentLike(){let e=this.peek().type;return e===`IDENT`||Q.has(e)}consumeFieldNameAfterDot(e){let t=this.peek();return t.type===`STRING`||(t.type===`IDENT`||Q.has(t.type))&&t.pos===e.pos+1?this.advance().value:null}parse(){let e=this.parseExpr();if(!this.check(`EOF`))throw Error(`Unexpected token ${this.peek().type} at position ${this.peek().pos}`);return e}parseExpr(){return this.parsePipe()}parsePattern(){if(this.match(`LBRACKET`)){let e=[];if(!this.check(`RBRACKET`))for(e.push(this.parsePattern());this.match(`COMMA`)&&!this.check(`RBRACKET`);)e.push(this.parsePattern());return this.expect(`RBRACKET`,`Expected ']' after array pattern`),{type:`array`,elements:e}}if(this.match(`LBRACE`)){let e=[];if(!this.check(`RBRACE`))for(e.push(this.parsePatternField());this.match(`COMMA`)&&!this.check(`RBRACE`);)e.push(this.parsePatternField());return this.expect(`RBRACE`,`Expected '}' after object pattern`),{type:`object`,fields:e}}let e=this.expect(`IDENT`,`Expected variable name in pattern`),t=e.value;if(!t.startsWith(`$`))throw Error(`Variable name must start with $ at position ${e.pos}`);return{type:`var`,name:t}}parsePatternField(){if(this.match(`LPAREN`)){let e=this.parseExpr();return this.expect(`RPAREN`,`Expected ')' after computed key`),this.expect(`COLON`,`Expected ':' after computed key`),{key:e,pattern:this.parsePattern()}}let e=this.peek();if(e.type===`IDENT`||Q.has(e.type)){let t=e.value;if(t.startsWith(`$`)){if(this.advance(),this.match(`COLON`)){let e=this.parsePattern();return{key:t.slice(1),pattern:e,keyVar:t}}return{key:t.slice(1),pattern:{type:`var`,name:t}}}return this.advance(),this.match(`COLON`)?{key:t,pattern:this.parsePattern()}:{key:t,pattern:{type:`var`,name:`$${t}`}}}throw Error(`Expected field name in object pattern at position ${e.pos}`)}parsePipe(){let e=this.parseComma();for(;this.match(`PIPE`);){let t=this.parseComma();e={type:`Pipe`,left:e,right:t}}return e}parseComma(){let e=this.parseVarBind();for(;this.match(`COMMA`);){let t=this.parseVarBind();e={type:`Comma`,left:e,right:t}}return e}parseVarBind(){let e=this.parseUpdate();if(this.match(`AS`)){let t=this.parsePattern(),n=[];for(;this.check(`QUESTION`)&&this.peekAhead(1)?.type===`ALT`;)this.advance(),this.advance(),n.push(this.parsePattern());this.expect(`PIPE`,`Expected '|' after variable binding`);let r=this.parseExpr();return t.type===`var`&&n.length===0?{type:`VarBind`,name:t.name,value:e,body:r}:{type:`VarBind`,name:t.type===`var`?t.name:``,value:e,body:r,pattern:t.type===`var`?void 0:t,alternatives:n.length>0?n:void 0}}return e}peekAhead(e){let t=this.pos+e;return t<this.tokens.length?this.tokens[t]:void 0}parseUpdate(){let e=this.parseAlt(),t=new Map([[`ASSIGN`,`=`],[`UPDATE_ADD`,`+=`],[`UPDATE_SUB`,`-=`],[`UPDATE_MUL`,`*=`],[`UPDATE_DIV`,`/=`],[`UPDATE_MOD`,`%=`],[`UPDATE_ALT`,`//=`],[`UPDATE_PIPE`,`|=`]]),n=this.match(`ASSIGN`,`UPDATE_ADD`,`UPDATE_SUB`,`UPDATE_MUL`,`UPDATE_DIV`,`UPDATE_MOD`,`UPDATE_ALT`,`UPDATE_PIPE`);if(n){let r=this.parseVarBind(),i=t.get(n.type);if(i)return{type:`UpdateOp`,op:i,path:e,value:r}}return e}parseAlt(){let e=this.parseOr();for(;this.match(`ALT`);){let t=this.parseOr();e={type:`BinaryOp`,op:`//`,left:e,right:t}}return e}parseOr(){let e=this.parseAnd();for(;this.match(`OR`);){let t=this.parseAnd();e={type:`BinaryOp`,op:`or`,left:e,right:t}}return e}parseAnd(){let e=this.parseNot();for(;this.match(`AND`);){let t=this.parseNot();e={type:`BinaryOp`,op:`and`,left:e,right:t}}return e}parseNot(){return this.parseComparison()}parseComparison(){let e=this.parseAddSub(),t=new Map([[`EQ`,`==`],[`NE`,`!=`],[`LT`,`<`],[`LE`,`<=`],[`GT`,`>`],[`GE`,`>=`]]),n=this.match(`EQ`,`NE`,`LT`,`LE`,`GT`,`GE`);if(n){let r=t.get(n.type);if(r){let t=this.parseAddSub();e={type:`BinaryOp`,op:r,left:e,right:t}}}return e}parseAddSub(){let e=this.parseMulDiv();for(;;)if(this.match(`PLUS`)){let t=this.parseMulDiv();e={type:`BinaryOp`,op:`+`,left:e,right:t}}else if(this.match(`MINUS`)){let t=this.parseMulDiv();e={type:`BinaryOp`,op:`-`,left:e,right:t}}else break;return e}parseMulDiv(){let e=this.parseUnary();for(;;)if(this.match(`STAR`)){let t=this.parseUnary();e={type:`BinaryOp`,op:`*`,left:e,right:t}}else if(this.match(`SLASH`)){let t=this.parseUnary();e={type:`BinaryOp`,op:`/`,left:e,right:t}}else if(this.match(`PERCENT`)){let t=this.parseUnary();e={type:`BinaryOp`,op:`%`,left:e,right:t}}else break;return e}parseUnary(){return this.match(`MINUS`)?{type:`UnaryOp`,op:`-`,operand:this.parseUnary()}:this.parsePostfix()}parsePostfix(){let e=this.parsePrimary();for(;;)if(this.match(`QUESTION`))e={type:`Optional`,expr:e};else if(this.check(`DOT`)&&this.isFieldNameAfterDot())this.advance(),e={type:`Field`,name:this.advance().value,base:e};else if(this.check(`LBRACKET`))if(this.advance(),this.match(`RBRACKET`))e={type:`Iterate`,base:e};else if(this.check(`COLON`)){this.advance();let t=this.check(`RBRACKET`)?void 0:this.parseExpr();this.expect(`RBRACKET`,`Expected ']'`),e={type:`Slice`,end:t,base:e}}else{let t=this.parseExpr();if(this.match(`COLON`)){let n=this.check(`RBRACKET`)?void 0:this.parseExpr();this.expect(`RBRACKET`,`Expected ']'`),e={type:`Slice`,start:t,end:n,base:e}}else this.expect(`RBRACKET`,`Expected ']'`),e={type:`Index`,index:t,base:e}}else break;return e}parsePrimary(){if(this.match(`DOTDOT`))return{type:`Recurse`};if(this.check(`DOT`)){let e=this.advance();if(this.check(`LBRACKET`)){if(this.advance(),this.match(`RBRACKET`))return{type:`Iterate`};if(this.check(`COLON`)){this.advance();let e=this.check(`RBRACKET`)?void 0:this.parseExpr();return this.expect(`RBRACKET`,`Expected ']'`),{type:`Slice`,end:e}}let e=this.parseExpr();if(this.match(`COLON`)){let t=this.check(`RBRACKET`)?void 0:this.parseExpr();return this.expect(`RBRACKET`,`Expected ']'`),{type:`Slice`,start:e,end:t}}return this.expect(`RBRACKET`,`Expected ']'`),{type:`Index`,index:e}}let t=this.consumeFieldNameAfterDot(e);return t===null?{type:`Identity`}:{type:`Field`,name:t}}if(this.match(`TRUE`))return{type:`Literal`,value:!0};if(this.match(`FALSE`))return{type:`Literal`,value:!1};if(this.match(`NULL`))return{type:`Literal`,value:null};if(this.check(`NUMBER`))return{type:`Literal`,value:this.advance().value};if(this.check(`STRING`)){let e=this.advance().value;return e.includes(`\\(`)?this.parseStringInterpolation(e):{type:`Literal`,value:e}}if(this.match(`LBRACKET`)){if(this.match(`RBRACKET`))return{type:`Array`};let e=this.parseExpr();return this.expect(`RBRACKET`,`Expected ']'`),{type:`Array`,elements:e}}if(this.match(`LBRACE`))return this.parseObjectConstruction();if(this.match(`LPAREN`)){let e=this.parseExpr();return this.expect(`RPAREN`,`Expected ')'`),{type:`Paren`,expr:e}}if(this.match(`IF`))return this.parseIf();if(this.match(`TRY`)){let e=this.parsePostfix(),t;return this.match(`CATCH`)&&(t=this.parsePostfix()),{type:`Try`,body:e,catch:t}}if(this.match(`REDUCE`)){let e=this.parseAddSub();this.expect(`AS`,`Expected 'as' after reduce expression`);let t=this.parsePattern();this.expect(`LPAREN`,`Expected '(' after variable`);let n=this.parseExpr();this.expect(`SEMICOLON`,`Expected ';' after init expression`);let r=this.parseExpr();return this.expect(`RPAREN`,`Expected ')' after update expression`),{type:`Reduce`,expr:e,varName:t.type===`var`?t.name:``,init:n,update:r,pattern:t.type===`var`?void 0:t}}if(this.match(`FOREACH`)){let e=this.parseAddSub();this.expect(`AS`,`Expected 'as' after foreach expression`);let t=this.parsePattern();this.expect(`LPAREN`,`Expected '(' after variable`);let n=this.parseExpr();this.expect(`SEMICOLON`,`Expected ';' after init expression`);let r=this.parseExpr(),i;return this.match(`SEMICOLON`)&&(i=this.parseExpr()),this.expect(`RPAREN`,`Expected ')' after expressions`),{type:`Foreach`,expr:e,varName:t.type===`var`?t.name:``,init:n,update:r,extract:i,pattern:t.type===`var`?void 0:t}}if(this.match(`LABEL`)){let e=this.expect(`IDENT`,`Expected label name (e.g., $out)`),t=e.value;if(!t.startsWith(`$`))throw Error(`Label name must start with $ at position ${e.pos}`);return this.expect(`PIPE`,`Expected '|' after label name`),{type:`Label`,name:t,body:this.parseExpr()}}if(this.match(`BREAK`)){let e=this.expect(`IDENT`,`Expected label name to break to`),t=e.value;if(!t.startsWith(`$`))throw Error(`Break label must start with $ at position ${e.pos}`);return{type:`Break`,name:t}}if(this.match(`DEF`)){let e=this.expect(`IDENT`,`Expected function name after def`).value,t=[];if(this.match(`LPAREN`)){if(!this.check(`RPAREN`)){let e=this.expect(`IDENT`,`Expected parameter name`);for(t.push(e.value);this.match(`SEMICOLON`);){let e=this.expect(`IDENT`,`Expected parameter name`);t.push(e.value)}}this.expect(`RPAREN`,`Expected ')' after parameters`)}this.expect(`COLON`,`Expected ':' after function name`);let n=this.parseExpr();return this.expect(`SEMICOLON`,`Expected ';' after function body`),{type:`Def`,name:e,params:t,funcBody:n,body:this.parseExpr()}}if(this.match(`NOT`))return{type:`Call`,name:`not`,args:[]};if(this.check(`IDENT`)){let e=this.advance().value;if(e.startsWith(`$`))return{type:`VarRef`,name:e};if(this.match(`LPAREN`)){let t=[];if(!this.check(`RPAREN`))for(t.push(this.parseExpr());this.match(`SEMICOLON`);)t.push(this.parseExpr());return this.expect(`RPAREN`,`Expected ')'`),{type:`Call`,name:e,args:t}}return{type:`Call`,name:e,args:[]}}throw Error(`Unexpected token ${this.peek().type} at position ${this.peek().pos}`)}parseObjectConstruction(){let e=[];if(!this.check(`RBRACE`))do{let t,n;if(this.match(`LPAREN`))t=this.parseExpr(),this.expect(`RPAREN`,`Expected ')'`),this.expect(`COLON`,`Expected ':'`),n=this.parseObjectValue();else if(this.isIdentLike()){let e=this.advance().value;this.match(`COLON`)?(t=e,n=this.parseObjectValue()):(t=e,n={type:`Field`,name:e})}else if(this.check(`STRING`))t=this.advance().value,this.expect(`COLON`,`Expected ':'`),n=this.parseObjectValue();else throw Error(`Expected object key at position ${this.peek().pos}`);e.push({key:t,value:n})}while(this.match(`COMMA`));return this.expect(`RBRACE`,`Expected '}'`),{type:`Object`,entries:e}}parseObjectValue(){let e=this.parseVarBind();for(;this.match(`PIPE`);){let t=this.parseVarBind();e={type:`Pipe`,left:e,right:t}}return e}parseIf(){let e=this.parseExpr();this.expect(`THEN`,`Expected 'then'`);let t=this.parseExpr(),n=[];for(;this.match(`ELIF`);){let e=this.parseExpr();this.expect(`THEN`,`Expected 'then' after elif`);let t=this.parseExpr();n.push({cond:e,then:t})}let r;return this.match(`ELSE`)&&(r=this.parseExpr()),this.expect(`END`,`Expected 'end'`),{type:`Cond`,cond:e,then:t,elifs:n,else:r}}parseStringInterpolation(t){let n=[],r=``,i=0;for(;i<t.length;)if(t[i]===`\\`&&t[i+1]===`(`){r&&=(n.push(r),``),i+=2;let a=1,o=``;for(;i<t.length&&a>0;)t[i]===`(`?a++:t[i]===`)`&&a--,a>0&&(o+=t[i]),i++;let s=new e($(o));n.push(s.parse())}else r+=t[i],i++;return r&&n.push(r),{type:`StringInterp`,parts:n}}};function ie(e){return new re($(e)).parse()}export{W as n,ie as t};
|
|
6
|
-
//# sourceMappingURL=chunk-
|
|
6
|
+
//# sourceMappingURL=chunk-KRBPSX3W-nYEMVABW.mjs.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import*as e from"node:path";import*as t from"node:fs";function n(e){if(!e||e===`/`)return`/`;let t=e.endsWith(`/`)&&e!==`/`?e.slice(0,-1):e;t.startsWith(`/`)||(t=`/${t}`);let n=t.split(`/`).filter(e=>e&&e!==`.`),r=[];for(let e of n)e===`..`?r.pop():r.push(e);return`/${r.join(`/`)}`||`/`}function r(e,t){if(e.includes(`\0`))throw Error(`ENOENT: path contains null byte, ${t} '${e}'`)}function i(e){let t=n(e);if(t===`/`)return`/`;let r=t.lastIndexOf(`/`);return r===0?`/`:t.slice(0,r)}function a(e,t){return t.startsWith(`/`)?n(t):n(e===`/`?`/${t}`:`${e}/${t}`)}function o(e,t){return e===`/`?`/${t}`:`${e}/${t}`}function s(e,t){return t.startsWith(`/`)?n(t):n(o(i(e),t))}function c(e,t){if(e===t)return!0;let n=e[t.length];return(n===`/`||n===`\\`)&&e.startsWith(t)}function l(n,r){try{let e=t.realpathSync(n);return c(e,r)?e:null}catch(i){if(i.code===`ENOENT`){let i=e.dirname(n);if(i===n)return null;let a=l(i,r);if(a===null)return null;try{if(t.lstatSync(n).isSymbolicLink()){let i=t.readlinkSync(n);if(l(e.isAbsolute(i)?i:e.resolve(e.dirname(n),i),r)===null)return null}}catch{}return e.join(a,e.basename(n))}return null}}function u(n,r,i){let a=l(n,i);if(a===null)return null;let o=e.resolve(n);if(o.slice(r.length)!==a.slice(i.length))return null;try{if(t.lstatSync(o).isSymbolicLink())return null}catch{}return a}function d(e,n){if(!t.existsSync(e))throw Error(`${n} root does not exist`);if(!t.statSync(e).isDirectory())throw Error(`${n} root is not a directory`)}function f(e,t,n,r){let i=e;if(i.path===void 0){for(let t of r)if(i.message?.includes(t))throw e}let a=i.code||`EIO`;throw Error(`${a}: ${n} '${t}'`)}export{c as a,o as c,a as d,n as i,i as l,f as n,l as o,u as r,r as s,d as t,s as u};
|
|
2
|
+
//# sourceMappingURL=chunk-KX3P26DQ-Cli1PSKS.mjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{t as e}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{t as e}from"./chunk-B74TABJS-DlbqoTuk.mjs";var t=2048,n=new Map;function r(e,r,a){let o=typeof a==`boolean`?{ignoreCase:a}:a??{},s=r;o.stripQuotes&&(s.startsWith(`"`)&&s.endsWith(`"`)||s.startsWith(`'`)&&s.endsWith(`'`))&&(s=s.slice(1,-1));let c=o.ignoreCase?`i:${s}`:s,l=n.get(c);if(!l){if(l=i(s,o.ignoreCase),n.size>=t){let e=n.keys().next().value;e!==void 0&&n.delete(e)}n.set(c,l)}return l.test(e)}function i(t,n){let r=`^`;for(let e=0;e<t.length;e++){let n=t[e];if(n===`*`)r+=`.*`;else if(n===`?`)r+=`.`;else if(n===`[`){let n=e+1;for(;n<t.length&&t[n]!==`]`;)n++;r+=t.slice(e,n+1),e=n}else n===`.`||n===`+`||n===`^`||n===`$`||n===`{`||n===`}`||n===`(`||n===`)`||n===`|`||n===`\\`?r+=`\\${n}`:r+=n}return r+=`$`,e(r,n?`i`:``)}export{r as t};
|
|
2
|
+
//# sourceMappingURL=chunk-SNN4IESC-C-P75V1I.mjs.map
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import{n as e,t}from"./chunk-B74TABJS-DlbqoTuk.mjs";import{i as n}from"./chunk-GFQRA5P5-DigWkxW2.mjs";import{n as r}from"./chunk-5QMZ5MUS-_0tQyQsf.mjs";import{r as i}from"./chunk-OJDRYQWQ-LGuZyK6R.mjs";import{r as a,t as o}from"./chunk-24IMIIXA-BoP5OA93.mjs";import{n as s,r as c,t as l}from"./chunk-74CEPOFO-V0JXh91S.mjs";var u=1e4,d=100,f=new e(/\s+/);function p(e={}){let{fieldSep:t=f,maxIterations:n=u,maxRecursionDepth:r=d,maxOutputSize:i=0,fs:a,cwd:o,exec:s,coverage:c,requireDefenseContext:l}=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:r,maxOutputSize:i,currentRecursionDepth:0,exitCode:0,shouldExit:!1,shouldNext:!1,shouldNextFile:!1,loopBreak:!1,loopContinue:!1,hasReturn:!1,inEndBlock:!1,output:``,openedFiles:new Set,fs:a,cwd:o,exec:s,coverage:c,requireDefenseContext:l}}function m(e,t,n){switch(n){case`+`:return e+t;case`-`:return e-t;case`*`:return e*t;case`/`:return t===0?0:e/t;case`%`:return t===0?0:e%t;case`^`:case`**`:return e**t;default:return 0}}function h(e){if(typeof e==`number`)return e;let t=parseFloat(e);return Number.isNaN(t)?0:t}function g(e){return typeof e==`string`?e:String(e)}async function _(e,t){if(e.type===`regex`)return e.pattern;let n=g(await t.evalExpr(e));return n.startsWith(`/`)&&n.endsWith(`/`)&&(n=n.slice(1,-1)),n}async function v(e,t){return e?e.type===`variable`?e.name:e.type===`field`?`$${Math.floor(h(await t.evalExpr(e.index)))}`:`$0`:`$0`}function y(e,t){if(e===`$0`)return t.line;if(e.startsWith(`$`)){let n=parseInt(e.slice(1),10)-1;return t.fields[n]||``}return g(t.vars[e]??``)}function b(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 r=parseInt(e.slice(1),10)-1;for(;n.fields.length<=r;)n.fields.push(``);n.fields[r]=t,n.NF=n.fields.length,n.line=n.fields.join(n.OFS)}else n.vars[e]=t}async function ee(e,t,n){return e.length===0?t.line.length:g(await n.evalExpr(e[0])).length}async function x(e,t,n){if(e.length<2)return``;let r=g(await n.evalExpr(e[0])),i=Math.floor(h(await n.evalExpr(e[1])))-1;if(e.length>=3){let t=Math.floor(h(await n.evalExpr(e[2])));return r.substr(Math.max(0,i),t)}return r.substr(Math.max(0,i))}async function S(e,t,n){if(e.length<2)return 0;let r=g(await n.evalExpr(e[0])),i=g(await n.evalExpr(e[1])),a=r.indexOf(i);return a===-1?0:a+1}async function C(e,n,r){if(e.length<2)return 0;let i=g(await r.evalExpr(e[0])),a=e[1];if(a.type!==`variable`)return 0;let o=a.name,s=n.FS;if(e.length>=3){let n=e[2];if(n.type===`regex`)s=t(n.pattern);else{let e=g(await r.evalExpr(n));s=e===` `?t(`\\s+`):e}}else n.FS===` `&&(s=t(`\\s+`));let c=typeof s==`string`?i.split(s):s.split(i);n.arrays[o]=Object.create(null);for(let e=0;e<c.length;e++)n.arrays[o][String(e+1)]=c[e];return c.length}async function te(e,n,r){if(e.length<2)return 0;let i=await _(e[0],r),a=g(await r.evalExpr(e[1])),o=await v(e[2],r),s=y(o,n);try{let e=t(i).replace(s,T(a)),r=e===s?0:1;return b(o,e,n),r}catch{return 0}}async function w(e,n,r){if(e.length<2)return 0;let i=await _(e[0],r),a=g(await r.evalExpr(e[1])),o=await v(e[2],r),s=y(o,n);try{let e=t(i,`g`),r=e.match(s),c=r?r.length:0;return b(o,e.replace(s,T(a)),n),c}catch{return 0}}function T(e){return t=>{let n=``,r=0;for(;r<e.length;)if(e[r]===`\\`&&r+1<e.length){let t=e[r+1];t===`&`?(n+=`&`,r+=2):t===`\\`?(n+=`\\`,r+=2):(n+=e[r+1],r+=2)}else e[r]===`&`?(n+=t,r++):(n+=e[r],r++);return n}}async function ne(e,n,r){if(e.length<2)return n.RSTART=0,n.RLENGTH=-1,0;let i=g(await r.evalExpr(e[0])),a=await _(e[1],r);try{let e=t(a).exec(i);if(e)return n.RSTART=e.index+1,n.RLENGTH=e[0].length,n.RSTART}catch{}return n.RSTART=0,n.RLENGTH=-1,0}async function re(e,n,r){if(e.length<3)return``;let i=await _(e[0],r),a=g(await r.evalExpr(e[1])),o=g(await r.evalExpr(e[2])),s=e.length>=4?g(await r.evalExpr(e[3])):n.line;try{let e=o.toLowerCase()===`g`,n=e?0:parseInt(o,10)||1;if(e)return t(i,`g`).replace(s,(e,...t)=>ie(a,e,t.slice(0,-2)));{let e=0;return t(i,`g`).replace(s,(t,...r)=>(e++,e===n?ie(a,t,r.slice(0,-2)):t))}}catch{return s}}function ie(e,t,n){let r=``,i=0;for(;i<e.length;)if(e[i]===`\\`&&i+1<e.length){let a=e[i+1];if(a===`&`)r+=`&`,i+=2;else if(a===`0`)r+=t,i+=2;else if(a>=`1`&&a<=`9`){let e=parseInt(a,10)-1;r+=n[e]||``,i+=2}else a===`n`?(r+=`
|
|
3
|
+
`,i+=2):a===`t`?(r+=` `,i+=2):(r+=a,i+=2)}else e[i]===`&`?(r+=t,i++):(r+=e[i],i++);return r}async function ae(e,t,n){return e.length===0?``:g(await n.evalExpr(e[0])).toLowerCase()}async function oe(e,t,n){return e.length===0?``:g(await n.evalExpr(e[0])).toUpperCase()}async function se(e,t,n){if(e.length===0)return``;let r=g(await n.evalExpr(e[0])),i=[];for(let t=1;t<e.length;t++)i.push(await n.evalExpr(e[t]));return O(r,i)}async function ce(e,t,n){return e.length===0?0:Math.floor(h(await n.evalExpr(e[0])))}async function le(e,t,n){return e.length===0?0:Math.sqrt(h(await n.evalExpr(e[0])))}async function ue(e,t,n){return e.length===0?0:Math.sin(h(await n.evalExpr(e[0])))}async function de(e,t,n){return e.length===0?0:Math.cos(h(await n.evalExpr(e[0])))}async function fe(e,t,n){let r=e.length>0?h(await n.evalExpr(e[0])):0,i=e.length>1?h(await n.evalExpr(e[1])):0;return Math.atan2(r,i)}async function pe(e,t,n){return e.length===0?0:Math.log(h(await n.evalExpr(e[0])))}async function me(e,t,n){return e.length===0?1:Math.exp(h(await n.evalExpr(e[0])))}function he(e,t,n){return t.random?t.random():Math.random()}async function ge(e,t,n){let r=e.length>0?h(await n.evalExpr(e[0])):Date.now();return t.vars._srand_seed=r,r}function _e(e,t){return()=>{throw Error(`${e}() is not supported - ${t}`)}}function E(e){return()=>{throw Error(`function '${e}()' is not implemented`)}}var D=1e4;function O(e,t){let n=0,r=``,i=0;for(;i<e.length;)if(e[i]===`%`&&i+1<e.length){let a=i+1,o=``,s=``,c=``,l,u=a;for(;a<e.length&&/\d/.test(e[a]);)a++;a>u&&e[a]===`$`?(l=parseInt(e.substring(u,a),10)-1,a++):a=u;let d=()=>{if(a<e.length){if(a+1<e.length&&(e[a]===`h`&&e[a+1]===`h`||e[a]===`l`&&e[a+1]===`l`)){a+=2;return}/[lzjh]/.test(e[a])&&a++}};for(;a<e.length&&/[-+ #0]/.test(e[a]);)o+=e[a++];if(e[a]===`*`){let e=t[n++],r=e===void 0?0:Math.floor(Number(e));r<0?(o+=`-`,s=String(Math.min(-r,D))):s=String(Math.min(r,D)),a++}else for(;a<e.length&&/\d/.test(e[a]);)s+=e[a++];if(s&&parseInt(s,10)>D&&(s=String(D)),e[a]===`.`){if(a++,e[a]===`*`){let e=t[n++];c=String(Math.min(e===void 0?0:Math.floor(Number(e)),D)),a++}else for(;a<e.length&&/\d/.test(e[a]);)c+=e[a++];c&&parseInt(c,10)>D&&(c=String(D))}d();let f=e[a],p=t[l===void 0?n:l];switch(f){case`s`:{let e=p===void 0?``:String(p);if(c&&(e=e.substring(0,parseInt(c,10))),s){let t=parseInt(s,10);e=o.includes(`-`)?e.padEnd(t):e.padStart(t)}r+=e,l===void 0&&n++;break}case`d`:case`i`:{let e=p===void 0?0:Math.floor(Number(p));Number.isNaN(e)&&(e=0);let t=e<0,i=Math.abs(e).toString();if(c){let e=parseInt(c,10);i=i.padStart(e,`0`)}let a=``;t?a=`-`:o.includes(`+`)?a=`+`:o.includes(` `)&&(a=` `);let u=a+i;if(s){let e=parseInt(s,10);u=o.includes(`-`)?u.padEnd(e):o.includes(`0`)&&!c?a+i.padStart(e-a.length,`0`):u.padStart(e)}r+=u,l===void 0&&n++;break}case`f`:{let e=p===void 0?0:Number(p);Number.isNaN(e)&&(e=0);let t=c?parseInt(c,10):6,i=e.toFixed(t);if(s){let e=parseInt(s,10);i=o.includes(`-`)?i.padEnd(e):i.padStart(e)}r+=i,l===void 0&&n++;break}case`e`:case`E`:{let e=p===void 0?0:Number(p);Number.isNaN(e)&&(e=0);let t=c?parseInt(c,10):6,i=e.toExponential(t);if(f===`E`&&(i=i.toUpperCase()),s){let e=parseInt(s,10);i=o.includes(`-`)?i.padEnd(e):i.padStart(e)}r+=i,l===void 0&&n++;break}case`g`:case`G`:{let e=p===void 0?0:Number(p);Number.isNaN(e)&&(e=0);let t=c?parseInt(c,10):6,i=e===0?0:Math.floor(Math.log10(Math.abs(e))),a;if(e===0?a=`0`:i<-4||i>=t?(a=e.toExponential(t-1),f===`G`&&(a=a.toUpperCase())):a=e.toPrecision(t),a.includes(`.`)&&(a=a.replace(/\.?0+$/,``).replace(/\.?0+e/,`e`)),a.includes(`e`)&&(a=a.replace(/\.?0+e/,`e`)),s){let e=parseInt(s,10);a=o.includes(`-`)?a.padEnd(e):a.padStart(e)}r+=a,l===void 0&&n++;break}case`x`:case`X`:{let e=p===void 0?0:Math.floor(Number(p));Number.isNaN(e)&&(e=0);let t=Math.abs(e).toString(16);if(f===`X`&&(t=t.toUpperCase()),c){let e=parseInt(c,10);t=t.padStart(e,`0`)}let i=e<0?`-`:``,a=i+t;if(s){let e=parseInt(s,10);a=o.includes(`-`)?a.padEnd(e):o.includes(`0`)&&!c?i+t.padStart(e-i.length,`0`):a.padStart(e)}r+=a,l===void 0&&n++;break}case`o`:{let e=p===void 0?0:Math.floor(Number(p));Number.isNaN(e)&&(e=0);let t=Math.abs(e).toString(8);if(c){let e=parseInt(c,10);t=t.padStart(e,`0`)}let i=e<0?`-`:``,a=i+t;if(s){let e=parseInt(s,10);a=o.includes(`-`)?a.padEnd(e):o.includes(`0`)&&!c?i+t.padStart(e-i.length,`0`):a.padStart(e)}r+=a,l===void 0&&n++;break}case`c`:typeof p==`number`?r+=String.fromCharCode(p):r+=String(p??``).charAt(0)||``,l===void 0&&n++;break;case`%`:r+=`%`;break;default:r+=e.substring(i,a+1)}i=a+1}else if(e[i]===`\\`&&i+1<e.length){let t=e[i+1];switch(t){case`n`:r+=`
|
|
4
|
+
`;break;case`t`:r+=` `;break;case`r`:r+=`\r`;break;case`\\`:r+=`\\`;break;default:r+=t}i+=2}else r+=e[i++];return r}var ve=new Map([[`length`,ee],[`substr`,x],[`index`,S],[`split`,C],[`sub`,te],[`gsub`,w],[`match`,ne],[`gensub`,re],[`tolower`,ae],[`toupper`,oe],[`sprintf`,se],[`int`,ce],[`sqrt`,le],[`sin`,ue],[`cos`,de],[`atan2`,fe],[`log`,pe],[`exp`,me],[`rand`,he],[`srand`,ge],[`system`,_e(`system`,`shell execution not allowed in sandboxed environment`)],[`close`,()=>0],[`fflush`,()=>0],[`systime`,E(`systime`)],[`mktime`,E(`mktime`)],[`strftime`,E(`strftime`)]]);function k(e){return typeof e==`number`?e!==0:!(e===``||e===`0`)}function A(e){if(typeof e==`number`)return e;let t=parseFloat(e);return Number.isNaN(t)?0:t}function j(e){return typeof e==`string`?e:String(e)}function ye(e){if(typeof e==`number`)return!0;let t=String(e).trim();return t===``?!1:!Number.isNaN(Number(t))}function M(e,n){try{return t(e).test(n)}catch{return!1}}function be(e,t){return t===``?[]:e.FS===` `?t.trim().split(/\s+/).filter(Boolean):e.fieldSep.split(t)}function N(e,t){return t===0?e.line:t<0||t>e.fields.length?``:e.fields[t-1]??``}function P(e,t,n){if(t===0)e.line=j(n),e.fields=be(e,e.line),e.NF=e.fields.length;else if(t>0){for(;e.fields.length<t;)e.fields.push(``);e.fields[t-1]=j(n),e.NF=e.fields.length,e.line=e.fields.join(e.OFS)}}function F(e,t){e.line=t,e.fields=be(e,t),e.NF=e.fields.length}function xe(n,r){if(n.FS=r,r===` `)n.fieldSep=new e(/\s+/);else try{n.fieldSep=t(r)}catch{n.fieldSep=t(r.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`))}}function I(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 L(e,t,n){switch(t){case`FS`:xe(e,j(n));return;case`OFS`:e.OFS=j(n);return;case`ORS`:e.ORS=j(n);return;case`OFMT`:e.OFMT=j(n);return;case`NR`:e.NR=Math.floor(A(n));return;case`NF`:{let t=Math.floor(A(n));if(t<e.NF)e.fields=e.fields.slice(0,t),e.line=e.fields.join(e.OFS);else if(t>e.NF){for(;e.fields.length<t;)e.fields.push(``);e.line=e.fields.join(e.OFS)}e.NF=t;return}case`FNR`:e.FNR=Math.floor(A(n));return;case`FILENAME`:e.FILENAME=j(n);return;case`RSTART`:e.RSTART=Math.floor(A(n));return;case`RLENGTH`:e.RLENGTH=Math.floor(A(n));return;case`SUBSEP`:e.SUBSEP=j(n);return}e.vars[t]=n}function R(e,t){let n=t,r=new Set,i=e.arrayAliases.get(n);for(;i!==void 0&&!r.has(n);)r.add(n),n=i,i=e.arrayAliases.get(n);return n}function z(e,t,n){if(t===`ARGV`)return e.ARGV[n]??``;if(t===`ENVIRON`)return e.ENVIRON[n]??``;let r=R(e,t);return e.arrays[r]?.[n]??``}function Se(e,t,n,r){let i=R(e,t);e.arrays[i]||(e.arrays[i]=Object.create(null)),e.arrays[i][n]=r}function Ce(e,t,n){if(t===`ARGV`)return e.ARGV[n]!==void 0;if(t===`ENVIRON`)return e.ENVIRON[n]!==void 0;let r=R(e,t);return e.arrays[r]?.[n]!==void 0}function we(e,t,n){let r=R(e,t);e.arrays[r]&&delete e.arrays[r][n]}function Te(e,t){let n=R(e,t);delete e.arrays[n]}var Ee=null;function De(e){Ee=e}function B(e,t){o(e.requireDefenseContext,`awk`,t)}function V(e,t,n){return a(e.requireDefenseContext,`awk`,t,n)}async function H(e,t){switch(B(e,`expression evaluation`),e.coverage?.hit(`awk:expr:${t.type}`),t.type){case`number`:return t.value;case`string`:return t.value;case`regex`:return M(t.pattern,e.line)?1:0;case`field`:return Oe(e,t);case`variable`:return I(e,t.name);case`array_access`:return ke(e,t);case`binary`:return Ae(e,t);case`unary`:return Ne(e,t);case`ternary`:return k(await V(e,`ternary condition evaluation`,()=>H(e,t.condition)))?await V(e,`ternary consequent evaluation`,()=>H(e,t.consequent)):await V(e,`ternary alternate evaluation`,()=>H(e,t.alternate));case`call`:return Pe(e,t.name,t.args);case`assignment`:return Ie(e,t);case`pre_increment`:return Le(e,t.operand);case`pre_decrement`:return Re(e,t.operand);case`post_increment`:return ze(e,t.operand);case`post_decrement`:return Be(e,t.operand);case`in`:return Ve(e,t.key,t.array);case`getline`:return He(e,t.variable,t.file,t.command);case`tuple`:return Ge(e,t.elements);default:return``}}async function Oe(e,t){return B(e,`field reference evaluation`),N(e,Math.floor(A(await V(e,`field index evaluation`,()=>H(e,t.index)))))}async function ke(e,t){B(e,`array access evaluation`);let n=j(await V(e,`array key evaluation`,()=>H(e,t.key)));return z(e,t.array,n)}async function Ae(e,r){B(e,`binary expression evaluation`);let i=r.operator;if(i===`||`)return k(await V(e,`logical-or left evaluation`,()=>H(e,r.left)))||k(await V(e,`logical-or right evaluation`,()=>H(e,r.right)))?1:0;if(i===`&&`)return k(await V(e,`logical-and left evaluation`,()=>H(e,r.left)))&&k(await V(e,`logical-and right evaluation`,()=>H(e,r.right)))?1:0;if(i===`~`){let n=await V(e,`regex left evaluation`,()=>H(e,r.left));r.right.type===`regex`&&e.coverage?.hit(`awk:expr:regex`);let i=r.right.type===`regex`?r.right.pattern:j(await V(e,`regex right evaluation`,()=>H(e,r.right)));try{return t(i).test(j(n))?1:0}catch{return 0}}if(i===`!~`){let n=await V(e,`negated-regex left evaluation`,()=>H(e,r.left));r.right.type===`regex`&&e.coverage?.hit(`awk:expr:regex`);let i=r.right.type===`regex`?r.right.pattern:j(await V(e,`negated-regex right evaluation`,()=>H(e,r.right)));try{return t(i).test(j(n))?0:1}catch{return 1}}let a=await V(e,`binary left evaluation`,()=>H(e,r.left)),o=await V(e,`binary right evaluation`,()=>H(e,r.right));if(i===` `){let t=j(a)+j(o);if(e.maxOutputSize>0&&t.length>e.maxOutputSize)throw new n(`awk: string concatenation size limit exceeded (${e.maxOutputSize} bytes)`,`string_length`,e.output);return t}return je(i)?Me(a,o,i):m(A(a),A(o),i)}function je(e){return[`<`,`<=`,`>`,`>=`,`==`,`!=`].includes(e)}function Me(e,t,n){let r=ye(e),i=ye(t);if(r&&i){let r=A(e),i=A(t);switch(n){case`<`:return r<i?1:0;case`<=`:return r<=i?1:0;case`>`:return r>i?1:0;case`>=`:return r>=i?1:0;case`==`:return r===i?1:0;case`!=`:return r===i?0:1}}let a=j(e),o=j(t);switch(n){case`<`:return a<o?1:0;case`<=`:return a<=o?1:0;case`>`:return a>o?1:0;case`>=`:return a>=o?1:0;case`==`:return a===o?1:0;case`!=`:return a===o?0:1}return 0}async function Ne(e,t){B(e,`unary expression evaluation`);let n=await V(e,`unary operand evaluation`,()=>H(e,t.operand));switch(t.operator){case`!`:return k(n)?0:1;case`-`:return-A(n);case`+`:return+A(n);default:return n}}async function Pe(e,t,n){B(e,`function call evaluation`);let r=ve.get(t);if(r)return r(n,e,{evalExpr:t=>H(e,t)});let i=e.functions.get(t);return i?Fe(e,i,n):``}async function Fe(e,t,r){if(B(e,`user function call`),e.currentRecursionDepth++,e.currentRecursionDepth>e.maxRecursionDepth)throw e.currentRecursionDepth--,new n(`awk: recursion depth exceeded maximum (${e.maxRecursionDepth})`,`recursion`,e.output);let i=Object.create(null);for(let n of t.params)i[n]=e.vars[n];let a=[];for(let n=0;n<t.params.length;n++){let i=t.params[n];if(n<r.length){let t=r[n];t.type===`variable`&&(e.arrayAliases.set(i,t.name),a.push(i));let o=await V(e,`user function argument evaluation`,()=>H(e,t));e.vars[i]=o}else e.vars[i]=``}e.hasReturn=!1,e.returnValue=void 0;let o=Ee;o&&await V(e,`user function body execution`,()=>o(e,t.body.statements));let s=e.returnValue??``;for(let n of t.params)i[n]===void 0?delete e.vars[n]:e.vars[n]=i[n];for(let t of a)e.arrayAliases.delete(t);return e.hasReturn=!1,e.returnValue=void 0,e.currentRecursionDepth--,s}async function Ie(e,t){B(e,`assignment evaluation`);let n=await V(e,`assignment value evaluation`,()=>H(e,t.value)),r=t.target,i=t.operator,a;if(i===`=`)a=n;else{let t;if(r.type===`field`)t=N(e,Math.floor(A(await V(e,`assignment field index`,()=>H(e,r.index)))));else if(r.type===`variable`)t=I(e,r.name);else{let n=j(await V(e,`assignment array key`,()=>H(e,r.key)));t=z(e,r.array,n)}let o=A(t),s=A(n);switch(i){case`+=`:a=o+s;break;case`-=`:a=o-s;break;case`*=`:a=o*s;break;case`/=`:a=s===0?0:o/s;break;case`%=`:a=s===0?0:o%s;break;case`^=`:a=o**s;break;default:a=n}}if(r.type===`field`)P(e,Math.floor(A(await V(e,`assignment target field index`,()=>H(e,r.index)))),a);else if(r.type===`variable`)L(e,r.name,a);else{let t=j(await V(e,`assignment target array key`,()=>H(e,r.key)));Se(e,r.array,t,a)}return a}async function U(e,t,n,r){B(e,`inc/dec evaluation`);let i;if(t.type===`field`){let r=Math.floor(A(await V(e,`inc/dec field index`,()=>H(e,t.index))));i=A(N(e,r)),P(e,r,i+n)}else if(t.type===`variable`)i=A(I(e,t.name)),L(e,t.name,i+n);else{let r=j(await V(e,`inc/dec array key`,()=>H(e,t.key)));i=A(z(e,t.array,r)),Se(e,t.array,r,i+n)}return r?i+n:i}async function Le(e,t){return U(e,t,1,!0)}async function Re(e,t){return U(e,t,-1,!0)}async function ze(e,t){return U(e,t,1,!1)}async function Be(e,t){return U(e,t,-1,!1)}async function Ve(e,t,n){B(e,`in-expression evaluation`);let r;if(t.type===`tuple`){e.coverage?.hit(`awk:expr:tuple`);let n=[];for(let r of t.elements)n.push(j(await V(e,`tuple key element evaluation`,()=>H(e,r))));r=n.join(e.SUBSEP)}else r=j(await V(e,`in-expression key evaluation`,()=>H(e,t)));return Ce(e,n,r)?1:0}async function He(e,t,n,r){if(B(e,`getline evaluation`),r)return Ue(e,t,r);if(n)return We(e,t,n);if(!e.lines||e.lineIndex===void 0)return-1;let i=e.lineIndex+1;if(i>=e.lines.length)return 0;let a=e.lines[i];return t?L(e,t,a):F(e,a),e.NR++,e.lineIndex=i,1}async function Ue(e,t,n){let i=e.exec;if(!i)return-1;B(e,`getline command source`);let a=j(await V(e,`getline command expression`,()=>H(e,n))),o=`__cmd_${a}`,s=`__cmdi_${a}`,c,l;if(e.vars[o]===void 0)try{c=(await V(e,`getline command exec`,()=>i(a))).stdout.split(`
|
|
5
|
+
`),c.length>0&&c[c.length-1]===``&&c.pop(),e.vars[o]=JSON.stringify(c),e.vars[s]=-1,l=-1}catch(e){if(e instanceof r)throw e;return-1}else c=JSON.parse(e.vars[o]),l=e.vars[s];let u=l+1;if(u>=c.length)return 0;let d=c[u];return e.vars[s]=u,t?L(e,t,d):F(e,d),1}async function We(e,t,n){let i=e.fs;if(!i||!e.cwd)return-1;B(e,`getline file source`);let a=j(await V(e,`getline filename evaluation`,()=>H(e,n)));if(a===`/dev/null`)return 0;let o=i.resolvePath(e.cwd,a),s=`__fc_${o}`,c=`__fi_${o}`,l,u;if(e.vars[s]===void 0)try{l=(await V(e,`getline file read`,()=>i.readFile(o))).split(`
|
|
6
|
+
`),l.length>0&&l[l.length-1]===``&&l.pop(),e.vars[s]=JSON.stringify(l),e.vars[c]=-1,u=-1}catch(e){if(e instanceof r)throw e;return-1}else l=JSON.parse(e.vars[s]),u=e.vars[c];let d=u+1;if(d>=l.length)return 0;let f=l[d];return e.vars[c]=d,t?L(e,t,f):F(e,f),1}async function Ge(e,t){if(B(e,`tuple evaluation`),t.length===0)return``;for(let n=0;n<t.length-1;n++)await V(e,`tuple intermediate element`,()=>H(e,t[n]));return V(e,`tuple final element`,()=>H(e,t[t.length-1]))}De(q);function W(e){if(e.maxOutputSize>0&&e.output.length>e.maxOutputSize)throw new n(`awk: output size limit exceeded (${e.maxOutputSize} bytes)`,`string_length`,e.output)}function G(e,t){o(e.requireDefenseContext,`awk`,t)}function K(e,t,n){return a(e.requireDefenseContext,`awk`,t,n)}async function q(e,t){G(e,`block execution`);for(let n of t)if(await K(e,`statement execution`,()=>J(e,n)),Ke(e))break}function Ke(e){return e.shouldExit||e.shouldNext||e.shouldNextFile||e.loopBreak||e.loopContinue||e.hasReturn}async function J(e,t){switch(G(e,`single statement execution`),e.coverage?.hit(`awk:stmt:${t.type}`),t.type){case`block`:await K(e,`nested block statement`,()=>q(e,t.statements));break;case`expr_stmt`:await K(e,`expression statement`,()=>H(e,t.expression));break;case`print`:await K(e,`print statement`,()=>qe(e,t.args,t.output));break;case`printf`:await K(e,`printf statement`,()=>Je(e,t.format,t.args,t.output));break;case`if`:await K(e,`if statement`,()=>Xe(e,t));break;case`while`:await K(e,`while statement`,()=>Ze(e,t));break;case`do_while`:await K(e,`do-while statement`,()=>Qe(e,t));break;case`for`:await K(e,`for statement`,()=>$e(e,t));break;case`for_in`:await K(e,`for-in statement`,()=>et(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;{let n=t.code;e.exitCode=n?Math.floor(A(await K(e,`exit code expression`,()=>H(e,n)))):0}break;case`return`:e.hasReturn=!0;{let n=t.value;e.returnValue=n?await K(e,`return expression`,()=>H(e,n)):``}break;case`delete`:await K(e,`delete statement`,()=>tt(e,t.target));break}}async function qe(e,t,n){G(e,`print execution`);let r=[];for(let n of t){let t=await K(e,`print argument evaluation`,()=>H(e,n));typeof t==`number`?Number.isInteger(t)&&Math.abs(t)<2**53-1?r.push(String(t)):r.push(O(e.OFMT,[t])):r.push(j(t))}let i=r.join(e.OFS)+e.ORS;n?await K(e,`print redirection write`,()=>Ye(e,n.redirect,n.file,i)):(e.output+=i,W(e))}async function Je(e,t,n,r){G(e,`printf execution`);let i=j(await K(e,`printf format evaluation`,()=>H(e,t))),a=[];for(let t of n)a.push(await K(e,`printf argument evaluation`,()=>H(e,t)));let o=O(i,a);r?await K(e,`printf redirection write`,()=>Ye(e,r.redirect,r.file,o)):(e.output+=o,W(e))}async function Ye(e,t,n,r){G(e,`file write execution`);let i=e.fs;if(!i||!e.cwd){e.output+=r,W(e);return}let a=j(await K(e,`redirection filename evaluation`,()=>H(e,n))),o=i.resolvePath(e.cwd,a);t===`>`?e.openedFiles.has(o)?await K(e,`redirection append write`,()=>i.appendFile(o,r)):(await K(e,`redirection overwrite write`,()=>i.writeFile(o,r)),e.openedFiles.add(o)):(e.openedFiles.has(o)||e.openedFiles.add(o),await K(e,`redirection append mode write`,()=>i.appendFile(o,r)))}async function Xe(e,t){if(G(e,`if execution`),k(await K(e,`if condition evaluation`,()=>H(e,t.condition))))await K(e,`if consequent execution`,()=>J(e,t.consequent));else if(t.alternate){let n=t.alternate;await K(e,`if alternate execution`,()=>J(e,n))}}async function Ze(e,t){G(e,`while execution`);let r=0;for(;k(await K(e,`while condition evaluation`,()=>H(e,t.condition)));){if(r++,r>e.maxIterations)throw new n(`awk: while loop exceeded maximum iterations (${e.maxIterations})`,`iterations`,e.output);if(e.loopContinue=!1,await K(e,`while body execution`,()=>J(e,t.body)),e.loopBreak){e.loopBreak=!1;break}if(e.shouldExit||e.shouldNext||e.hasReturn)break}}async function Qe(e,t){G(e,`do-while execution`);let r=0;do{if(r++,r>e.maxIterations)throw new n(`awk: do-while loop exceeded maximum iterations (${e.maxIterations})`,`iterations`,e.output);if(e.loopContinue=!1,await K(e,`do-while body execution`,()=>J(e,t.body)),e.loopBreak){e.loopBreak=!1;break}if(e.shouldExit||e.shouldNext||e.hasReturn)break}while(k(await K(e,`do-while condition evaluation`,()=>H(e,t.condition))))}async function $e(e,t){G(e,`for execution`);let r=t.init,i=t.condition,a=t.update;r&&await K(e,`for init evaluation`,()=>H(e,r));let o=0;for(;!i||k(await K(e,`for condition evaluation`,()=>H(e,i)));){if(o++,o>e.maxIterations)throw new n(`awk: for loop exceeded maximum iterations (${e.maxIterations})`,`iterations`,e.output);if(e.loopContinue=!1,await K(e,`for body execution`,()=>J(e,t.body)),e.loopBreak){e.loopBreak=!1;break}if(e.shouldExit||e.shouldNext||e.hasReturn)break;a&&await K(e,`for update evaluation`,()=>H(e,a))}}async function et(e,t){G(e,`for-in execution`);let n=e.arrays[t.array];if(n)for(let r of Object.keys(n)){if(e.vars[t.variable]=r,e.loopContinue=!1,await K(e,`for-in body execution`,()=>J(e,t.body)),e.loopBreak){e.loopBreak=!1;break}if(e.shouldExit||e.shouldNext||e.hasReturn)break}}async function tt(e,t){if(G(e,`delete execution`),t.type===`array_access`){let n=j(await K(e,`delete key evaluation`,()=>H(e,t.key)));we(e,t.array,n)}else t.type===`variable`&&Te(e,t.name)}var nt=class{ctx;program=null;rangeStates=[];constructor(e){this.ctx=e}assertDefenseContext(e){o(this.ctx.requireDefenseContext,`awk`,e)}withDefenseContext(e,t){return a(this.ctx.requireDefenseContext,`awk`,e,t)}execute(e){this.assertDefenseContext(`program initialization`),this.program=e,this.ctx.output=``;for(let t of e.functions)this.ctx.functions.set(t.name,t);this.rangeStates=e.rules.map(()=>!1)}async executeBegin(){if(this.assertDefenseContext(`BEGIN execution entry`),this.program){for(let e of this.program.rules)if(e.pattern?.type===`begin`&&(await this.withDefenseContext(`BEGIN block execution`,()=>q(this.ctx,e.action.statements)),this.ctx.shouldExit))break}}async executeLine(e){if(this.assertDefenseContext(`line execution entry`),!(!this.program||this.ctx.shouldExit)){F(this.ctx,e),this.ctx.NR++,this.ctx.FNR++,this.ctx.shouldNext=!1;for(let e=0;e<this.program.rules.length&&!(this.ctx.shouldExit||this.ctx.shouldNext||this.ctx.shouldNextFile);e++){let t=this.program.rules[e];t.pattern?.type===`begin`||t.pattern?.type===`end`||await this.withDefenseContext(`rule match`,()=>this.matchesRule(t,e))&&await this.withDefenseContext(`rule block execution`,()=>q(this.ctx,t.action.statements))}}}async executeEnd(){if(this.assertDefenseContext(`END execution entry`),this.program&&!this.ctx.inEndBlock){this.ctx.inEndBlock=!0,this.ctx.shouldExit=!1;for(let e of this.program.rules)if(e.pattern?.type===`end`&&(await this.withDefenseContext(`END block execution`,()=>q(this.ctx,e.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(e,t){this.assertDefenseContext(`rule matching`);let n=e.pattern;if(!n)return!0;switch(n.type){case`begin`:case`end`:return!1;case`regex_pattern`:return M(n.pattern,this.ctx.line);case`expr_pattern`:return k(await this.withDefenseContext(`expression pattern evaluation`,()=>H(this.ctx,n.expression)));case`range`:{let e=await this.withDefenseContext(`range start pattern`,()=>this.matchPattern(n.start)),r=await this.withDefenseContext(`range end pattern`,()=>this.matchPattern(n.end));return this.rangeStates[t]?(r&&(this.rangeStates[t]=!1),!0):e?(this.rangeStates[t]=!0,r&&(this.rangeStates[t]=!1),!0):!1}default:return!1}}async matchPattern(e){switch(this.assertDefenseContext(`pattern matching`),e.type){case`regex_pattern`:return M(e.pattern,this.ctx.line);case`expr_pattern`:return k(await this.withDefenseContext(`nested expression pattern`,()=>H(this.ctx,e.expression)));default:return!1}}},Y;(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`})(Y||={});var rt=new Map([[`BEGIN`,Y.BEGIN],[`END`,Y.END],[`if`,Y.IF],[`else`,Y.ELSE],[`while`,Y.WHILE],[`do`,Y.DO],[`for`,Y.FOR],[`in`,Y.IN],[`break`,Y.BREAK],[`continue`,Y.CONTINUE],[`next`,Y.NEXT],[`nextfile`,Y.NEXTFILE],[`exit`,Y.EXIT],[`return`,Y.RETURN],[`delete`,Y.DELETE],[`function`,Y.FUNCTION],[`print`,Y.PRINT],[`printf`,Y.PRINTF],[`getline`,Y.GETLINE]]);function it(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 at=new Set([Y.COMMA,Y.LBRACE,Y.AND,Y.OR,Y.QUESTION,Y.COLON,Y.DO,Y.ELSE,Y.IF,Y.WHILE]),ot=class{input;pos=0;line=1;column=1;lastTokenType=null;constructor(e){this.input=e}tokenize(){let e=[];for(;this.pos<this.input.length;){let t=this.nextToken();t&&(e.push(t),this.lastTokenType=t.type)}return e.push(this.makeToken(Y.EOF,``)),e}makeToken(e,t){return{type:e,value:t,line:this.line,column:this.column}}peek(e=0){return this.input[this.pos+e]||``}advance(){let e=this.input[this.pos++]||``;return e===`
|
|
7
|
+
`?(this.line++,this.column=1):this.column++,e}skipWhitespace(){for(;this.pos<this.input.length;){let e=this.peek();if(e===` `||e===` `||e===`\r`)this.advance();else if(e===`\\`)if(this.peek(1)===`
|
|
8
|
+
`)this.advance(),this.advance();else break;else if(e===`#`)for(;this.pos<this.input.length&&this.peek()!==`
|
|
9
|
+
`;)this.advance();else break}}nextToken(){if(this.skipWhitespace(),this.pos>=this.input.length)return null;let e=this.line,t=this.column,n=this.peek();return n===`
|
|
10
|
+
`?(this.advance(),this.lastTokenType!==null&&at.has(this.lastTokenType)?this.nextToken():{type:Y.NEWLINE,value:`
|
|
11
|
+
`,line:e,column:t}):n===`"`?this.readString():n===`/`&&this.canBeRegex()?this.readRegex():this.isDigit(n)||n===`.`&&this.isDigit(this.peek(1))?this.readNumber():this.isAlpha(n)||n===`_`?this.readIdentifier():this.readOperator()}canBeRegex(){return new Set([null,Y.NEWLINE,Y.SEMICOLON,Y.LBRACE,Y.RBRACE,Y.LPAREN,Y.LBRACKET,Y.COMMA,Y.ASSIGN,Y.PLUS_ASSIGN,Y.MINUS_ASSIGN,Y.STAR_ASSIGN,Y.SLASH_ASSIGN,Y.PERCENT_ASSIGN,Y.CARET_ASSIGN,Y.AND,Y.OR,Y.NOT,Y.MATCH,Y.NOT_MATCH,Y.QUESTION,Y.COLON,Y.LT,Y.GT,Y.LE,Y.GE,Y.EQ,Y.NE,Y.PLUS,Y.MINUS,Y.STAR,Y.PERCENT,Y.CARET,Y.PRINT,Y.PRINTF,Y.IF,Y.WHILE,Y.DO,Y.FOR,Y.RETURN]).has(this.lastTokenType)}readString(){let e=this.line,t=this.column;this.advance();let n=``;for(;this.pos<this.input.length&&this.peek()!==`"`;)if(this.peek()===`\\`){this.advance();let e=this.advance();switch(e){case`n`:n+=`
|
|
12
|
+
`;break;case`t`:n+=` `;break;case`r`:n+=`\r`;break;case`f`:n+=`\f`;break;case`b`:n+=`\b`;break;case`v`:n+=`\v`;break;case`a`:n+=`\x07`;break;case`\\`:n+=`\\`;break;case`"`:n+=`"`;break;case`/`:n+=`/`;break;case`x`:{let e=``;for(;e.length<2&&/[0-9a-fA-F]/.test(this.peek());)e+=this.advance();e.length>0?n+=String.fromCharCode(parseInt(e,16)):n+=`x`;break}default:if(/[0-7]/.test(e)){let t=e;for(;t.length<3&&/[0-7]/.test(this.peek());)t+=this.advance();n+=String.fromCharCode(parseInt(t,8))}else n+=e}}else n+=this.advance();return this.peek()===`"`&&this.advance(),{type:Y.STRING,value:n,line:e,column:t}}readRegex(){let e=this.line,t=this.column;this.advance();let n=``;for(;this.pos<this.input.length&&this.peek()!==`/`;)if(this.peek()===`\\`)n+=this.advance(),this.pos<this.input.length&&(n+=this.advance());else{if(this.peek()===`
|
|
13
|
+
`)break;n+=this.advance()}return this.peek()===`/`&&this.advance(),n=it(n),{type:Y.REGEX,value:n,line:e,column:t}}readNumber(){let e=this.line,t=this.column,n=``;for(;this.isDigit(this.peek());)n+=this.advance();if(this.peek()===`.`&&this.isDigit(this.peek(1)))for(n+=this.advance();this.isDigit(this.peek());)n+=this.advance();if(this.peek()===`e`||this.peek()===`E`)for(n+=this.advance(),(this.peek()===`+`||this.peek()===`-`)&&(n+=this.advance());this.isDigit(this.peek());)n+=this.advance();return{type:Y.NUMBER,value:parseFloat(n),line:e,column:t}}readIdentifier(){let e=this.line,t=this.column,n=``;for(;this.isAlphaNumeric(this.peek())||this.peek()===`_`;)n+=this.advance();let r=rt.get(n);return r===void 0?{type:Y.IDENT,value:n,line:e,column:t}:{type:r,value:n,line:e,column:t}}readOperator(){let e=this.line,t=this.column,n=this.advance(),r=this.peek();switch(n){case`+`:return r===`+`?(this.advance(),{type:Y.INCREMENT,value:`++`,line:e,column:t}):r===`=`?(this.advance(),{type:Y.PLUS_ASSIGN,value:`+=`,line:e,column:t}):{type:Y.PLUS,value:`+`,line:e,column:t};case`-`:return r===`-`?(this.advance(),{type:Y.DECREMENT,value:`--`,line:e,column:t}):r===`=`?(this.advance(),{type:Y.MINUS_ASSIGN,value:`-=`,line:e,column:t}):{type:Y.MINUS,value:`-`,line:e,column:t};case`*`:return r===`*`?(this.advance(),{type:Y.CARET,value:`**`,line:e,column:t}):r===`=`?(this.advance(),{type:Y.STAR_ASSIGN,value:`*=`,line:e,column:t}):{type:Y.STAR,value:`*`,line:e,column:t};case`/`:return r===`=`?(this.advance(),{type:Y.SLASH_ASSIGN,value:`/=`,line:e,column:t}):{type:Y.SLASH,value:`/`,line:e,column:t};case`%`:return r===`=`?(this.advance(),{type:Y.PERCENT_ASSIGN,value:`%=`,line:e,column:t}):{type:Y.PERCENT,value:`%`,line:e,column:t};case`^`:return r===`=`?(this.advance(),{type:Y.CARET_ASSIGN,value:`^=`,line:e,column:t}):{type:Y.CARET,value:`^`,line:e,column:t};case`=`:return r===`=`?(this.advance(),{type:Y.EQ,value:`==`,line:e,column:t}):{type:Y.ASSIGN,value:`=`,line:e,column:t};case`!`:return r===`=`?(this.advance(),{type:Y.NE,value:`!=`,line:e,column:t}):r===`~`?(this.advance(),{type:Y.NOT_MATCH,value:`!~`,line:e,column:t}):{type:Y.NOT,value:`!`,line:e,column:t};case`<`:return r===`=`?(this.advance(),{type:Y.LE,value:`<=`,line:e,column:t}):{type:Y.LT,value:`<`,line:e,column:t};case`>`:return r===`=`?(this.advance(),{type:Y.GE,value:`>=`,line:e,column:t}):r===`>`?(this.advance(),{type:Y.APPEND,value:`>>`,line:e,column:t}):{type:Y.GT,value:`>`,line:e,column:t};case`&`:return r===`&`?(this.advance(),{type:Y.AND,value:`&&`,line:e,column:t}):{type:Y.IDENT,value:`&`,line:e,column:t};case`|`:return r===`|`?(this.advance(),{type:Y.OR,value:`||`,line:e,column:t}):{type:Y.PIPE,value:`|`,line:e,column:t};case`~`:return{type:Y.MATCH,value:`~`,line:e,column:t};case`?`:return{type:Y.QUESTION,value:`?`,line:e,column:t};case`:`:return{type:Y.COLON,value:`:`,line:e,column:t};case`,`:return{type:Y.COMMA,value:`,`,line:e,column:t};case`;`:return{type:Y.SEMICOLON,value:`;`,line:e,column:t};case`(`:return{type:Y.LPAREN,value:`(`,line:e,column:t};case`)`:return{type:Y.RPAREN,value:`)`,line:e,column:t};case`{`:return{type:Y.LBRACE,value:`{`,line:e,column:t};case`}`:return{type:Y.RBRACE,value:`}`,line:e,column:t};case`[`:return{type:Y.LBRACKET,value:`[`,line:e,column:t};case`]`:return{type:Y.RBRACKET,value:`]`,line:e,column:t};case`$`:return{type:Y.DOLLAR,value:`$`,line:e,column:t};default:return{type:Y.IDENT,value:n,line:e,column:t}}}isDigit(e){return e>=`0`&&e<=`9`}isAlpha(e){return e>=`a`&&e<=`z`||e>=`A`&&e<=`Z`}isAlphaNumeric(e){return this.isDigit(e)||this.isAlpha(e)}},X={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 st(e){e.expect(X.PRINT);let t=[];if(e.check(X.NEWLINE)||e.check(X.SEMICOLON)||e.check(X.RBRACE)||e.check(X.PIPE)||e.check(X.GT)||e.check(X.APPEND))t.push({type:`field`,index:{type:`number`,value:0}});else for(t.push(Z(e));e.check(X.COMMA);)e.advance(),t.push(Z(e));let n;return e.check(X.GT)?(e.advance(),n={redirect:`>`,file:e.parsePrimary()}):e.check(X.APPEND)&&(e.advance(),n={redirect:`>>`,file:e.parsePrimary()}),{type:`print`,args:t,output:n}}function Z(e){return ct(e)?Q(e,!0):Q(e,!1)}function Q(e,t){let n=t?e.parseTernary():lt(e);if(e.match(X.ASSIGN,X.PLUS_ASSIGN,X.MINUS_ASSIGN,X.STAR_ASSIGN,X.SLASH_ASSIGN,X.PERCENT_ASSIGN,X.CARET_ASSIGN)){let r=e.advance(),i=Q(e,t);if(n.type!==`variable`&&n.type!==`field`&&n.type!==`array_access`)throw Error(`Invalid assignment target`);return{type:`assignment`,operator:new Map([[`=`,`=`],[`+=`,`+=`],[`-=`,`-=`],[`*=`,`*=`],[`/=`,`/=`],[`%=`,`%=`],[`^=`,`^=`]]).get(r.value)??`=`,target:n,value:i}}return n}function ct(e){let t=0,n=e.pos;for(;n<e.tokens.length;){let r=e.tokens[n];if(r.type===X.LPAREN&&t++,r.type===X.RPAREN&&t--,r.type===X.QUESTION&&t===0)return!0;if(r.type===X.NEWLINE||r.type===X.SEMICOLON||r.type===X.RBRACE||r.type===X.COMMA||r.type===X.PIPE)return!1;n++}return!1}function lt(e){let t=ut(e);for(;e.check(X.OR);){e.advance();let n=ut(e);t={type:`binary`,operator:`||`,left:t,right:n}}return t}function ut(e){let t=dt(e);for(;e.check(X.AND);){e.advance();let n=dt(e);t={type:`binary`,operator:`&&`,left:t,right:n}}return t}function dt(e){let t=ft(e);return e.check(X.IN)?(e.advance(),{type:`in`,key:t,array:String(e.expect(X.IDENT).value)}):t}function ft(e){let t=pt(e);for(;ht(e)&&!gt(e);){let n=pt(e);t={type:`binary`,operator:` `,left:t,right:n}}return t}function pt(e){let t=mt(e);for(;e.match(X.MATCH,X.NOT_MATCH);){let n=e.advance().type===X.MATCH?`~`:`!~`,r=mt(e);t={type:`binary`,operator:n,left:t,right:r}}return t}function mt(e){let t=e.parseAddSub();for(;e.match(X.LT,X.LE,X.GE,X.EQ,X.NE);){let n=e.advance(),r=e.parseAddSub();t={type:`binary`,operator:new Map([[`<`,`<`],[`<=`,`<=`],[`>=`,`>=`],[`==`,`==`],[`!=`,`!=`]]).get(n.value)??`==`,left:t,right:r}}return t}function ht(e){return e.match(X.NUMBER,X.STRING,X.IDENT,X.DOLLAR,X.LPAREN,X.NOT,X.MINUS,X.PLUS,X.INCREMENT,X.DECREMENT)}function gt(e){return e.match(X.AND,X.OR,X.QUESTION,X.ASSIGN,X.PLUS_ASSIGN,X.MINUS_ASSIGN,X.STAR_ASSIGN,X.SLASH_ASSIGN,X.PERCENT_ASSIGN,X.CARET_ASSIGN,X.COMMA,X.SEMICOLON,X.NEWLINE,X.RBRACE,X.RPAREN,X.RBRACKET,X.COLON,X.PIPE,X.APPEND,X.GT,X.IN)}function _t(e){e.expect(X.PRINTF);let t=e.check(X.LPAREN);t&&(e.advance(),e.skipNewlines());let n=t?e.parseExpression():Z(e),r=[];for(;e.check(X.COMMA);)e.advance(),t&&e.skipNewlines(),r.push(t?e.parseExpression():Z(e));t&&(e.skipNewlines(),e.expect(X.RPAREN));let i;return e.check(X.GT)?(e.advance(),i={redirect:`>`,file:e.parsePrimary()}):e.check(X.APPEND)&&(e.advance(),i={redirect:`>>`,file:e.parsePrimary()}),{type:`printf`,format:n,args:r,output:i}}var vt=class{tokens=[];pos=0;parse(e){return this.tokens=new ot(e).tokenize(),this.pos=0,this.parseProgram()}setPos(e){this.pos=e}current(){return this.tokens[this.pos]||{type:Y.EOF,value:``,line:0,column:0}}advance(){let e=this.current();return this.pos<this.tokens.length&&this.pos++,e}match(...e){return e.includes(this.current().type)}check(e){return this.current().type===e}expect(e,t){if(!this.check(e)){let n=this.current();throw Error(t||`Expected ${e}, got ${n.type} at line ${n.line}:${n.column}`)}return this.advance()}skipNewlines(){for(;this.check(Y.NEWLINE);)this.advance()}skipTerminators(){for(;this.check(Y.NEWLINE)||this.check(Y.SEMICOLON);)this.advance()}parseProgram(){let e=[],t=[];for(this.skipNewlines();!this.check(Y.EOF)&&(this.skipNewlines(),!this.check(Y.EOF));)this.check(Y.FUNCTION)?e.push(this.parseFunction()):t.push(this.parseRule()),this.skipTerminators();return{functions:e,rules:t}}parseFunction(){this.expect(Y.FUNCTION);let e=this.expect(Y.IDENT).value;this.expect(Y.LPAREN);let t=[];if(!this.check(Y.RPAREN))for(t.push(this.expect(Y.IDENT).value);this.check(Y.COMMA);)this.advance(),t.push(this.expect(Y.IDENT).value);return this.expect(Y.RPAREN),this.skipNewlines(),{name:e,params:t,body:this.parseBlock()}}parseRule(){let e;if(this.check(Y.BEGIN))this.advance(),e={type:`begin`};else if(this.check(Y.END))this.advance(),e={type:`end`};else if(this.check(Y.LBRACE))e=void 0;else if(this.check(Y.REGEX)){let t=this.advance();if(this.check(Y.AND)||this.check(Y.OR)){let n={type:`binary`,operator:`~`,left:{type:`field`,index:{type:`number`,value:0}},right:{type:`regex`,pattern:t.value}};e={type:`expr_pattern`,expression:this.parseLogicalOrRest(n)}}else{let n={type:`regex_pattern`,pattern:t.value};if(this.check(Y.COMMA)){this.advance();let t;t=this.check(Y.REGEX)?{type:`regex_pattern`,pattern:this.advance().value}:{type:`expr_pattern`,expression:this.parseExpression()},e={type:`range`,start:n,end:t}}else e=n}}else{let t={type:`expr_pattern`,expression:this.parseExpression()};if(this.check(Y.COMMA)){this.advance();let n;n=this.check(Y.REGEX)?{type:`regex_pattern`,pattern:this.advance().value}:{type:`expr_pattern`,expression:this.parseExpression()},e={type:`range`,start:t,end:n}}else e=t}this.skipNewlines();let t;return t=this.check(Y.LBRACE)?this.parseBlock():{type:`block`,statements:[{type:`print`,args:[{type:`field`,index:{type:`number`,value:0}}]}]},{pattern:e,action:t}}parseBlock(){this.expect(Y.LBRACE),this.skipNewlines();let e=[];for(;!this.check(Y.RBRACE)&&!this.check(Y.EOF);)e.push(this.parseStatement()),this.skipTerminators();return this.expect(Y.RBRACE),{type:`block`,statements:e}}parseStatement(){if(this.check(Y.SEMICOLON)||this.check(Y.NEWLINE))return this.advance(),{type:`block`,statements:[]};if(this.check(Y.LBRACE))return this.parseBlock();if(this.check(Y.IF))return this.parseIf();if(this.check(Y.WHILE))return this.parseWhile();if(this.check(Y.DO))return this.parseDoWhile();if(this.check(Y.FOR))return this.parseFor();if(this.check(Y.BREAK))return this.advance(),{type:`break`};if(this.check(Y.CONTINUE))return this.advance(),{type:`continue`};if(this.check(Y.NEXT))return this.advance(),{type:`next`};if(this.check(Y.NEXTFILE))return this.advance(),{type:`nextfile`};if(this.check(Y.EXIT)){this.advance();let e;return!this.check(Y.NEWLINE)&&!this.check(Y.SEMICOLON)&&!this.check(Y.RBRACE)&&!this.check(Y.EOF)&&(e=this.parseExpression()),{type:`exit`,code:e}}if(this.check(Y.RETURN)){this.advance();let e;return!this.check(Y.NEWLINE)&&!this.check(Y.SEMICOLON)&&!this.check(Y.RBRACE)&&!this.check(Y.EOF)&&(e=this.parseExpression()),{type:`return`,value:e}}if(this.check(Y.DELETE)){this.advance();let e=this.parsePrimary();if(e.type!==`array_access`&&e.type!==`variable`)throw Error(`delete requires array element or array`);return{type:`delete`,target:e}}return this.check(Y.PRINT)?st(this):this.check(Y.PRINTF)?_t(this):{type:`expr_stmt`,expression:this.parseExpression()}}parseIf(){this.expect(Y.IF),this.expect(Y.LPAREN);let e=this.parseExpression();this.expect(Y.RPAREN),this.skipNewlines();let t=this.parseStatement();this.skipTerminators();let n;return this.check(Y.ELSE)&&(this.advance(),this.skipNewlines(),n=this.parseStatement()),{type:`if`,condition:e,consequent:t,alternate:n}}parseWhile(){this.expect(Y.WHILE),this.expect(Y.LPAREN);let e=this.parseExpression();return this.expect(Y.RPAREN),this.skipNewlines(),{type:`while`,condition:e,body:this.parseStatement()}}parseDoWhile(){this.expect(Y.DO),this.skipNewlines();let e=this.parseStatement();this.skipNewlines(),this.expect(Y.WHILE),this.expect(Y.LPAREN);let t=this.parseExpression();return this.expect(Y.RPAREN),{type:`do_while`,body:e,condition:t}}parseFor(){if(this.expect(Y.FOR),this.expect(Y.LPAREN),this.check(Y.IDENT)){let e=this.advance();if(this.check(Y.IN)){this.advance();let t=this.expect(Y.IDENT).value;this.expect(Y.RPAREN),this.skipNewlines();let n=this.parseStatement();return{type:`for_in`,variable:e.value,array:t,body:n}}this.pos--}let e;this.check(Y.SEMICOLON)||(e=this.parseExpression()),this.expect(Y.SEMICOLON);let t;this.check(Y.SEMICOLON)||(t=this.parseExpression()),this.expect(Y.SEMICOLON);let n;this.check(Y.RPAREN)||(n=this.parseExpression()),this.expect(Y.RPAREN),this.skipNewlines();let r=this.parseStatement();return{type:`for`,init:e,condition:t,update:n,body:r}}parseExpression(){return this.parseAssignment()}parseAssignment(){let e=this.parseTernary();if(this.match(Y.ASSIGN,Y.PLUS_ASSIGN,Y.MINUS_ASSIGN,Y.STAR_ASSIGN,Y.SLASH_ASSIGN,Y.PERCENT_ASSIGN,Y.CARET_ASSIGN)){let t=this.advance(),n=this.parseAssignment();if(e.type!==`variable`&&e.type!==`field`&&e.type!==`array_access`)throw Error(`Invalid assignment target`);let r=new Set([`=`,`+=`,`-=`,`*=`,`/=`,`%=`,`^=`]),i=t.value;if(!r.has(i))throw Error(`Unknown assignment operator: ${i}`);return{type:`assignment`,operator:i,target:e,value:n}}return e}parseTernary(){let e=this.parsePipeGetline();if(this.check(Y.QUESTION)){this.advance();let t=this.parseExpression();this.expect(Y.COLON);let n=this.parseExpression();e={type:`ternary`,condition:e,consequent:t,alternate:n}}return e}parsePipeGetline(){let e=this.parseOr();if(this.check(Y.PIPE)){if(this.advance(),!this.check(Y.GETLINE))throw Error(`Expected 'getline' after '|' in expression context`);this.advance();let t;return this.check(Y.IDENT)&&(t=this.advance().value),{type:`getline`,command:e,variable:t}}return e}parseOr(){let e=this.parseAnd();for(;this.check(Y.OR);){this.advance();let t=this.parseAnd();e={type:`binary`,operator:`||`,left:e,right:t}}return e}parseLogicalOrRest(e){for(e=this.parseLogicalAndRest(e);this.check(Y.OR);){this.advance();let t=this.parseAnd();e={type:`binary`,operator:`||`,left:e,right:t}}return e}parseLogicalAndRest(e){for(;this.check(Y.AND);){this.advance();let t=this.parseIn();e={type:`binary`,operator:`&&`,left:e,right:t}}return e}parseAnd(){let e=this.parseIn();for(;this.check(Y.AND);){this.advance();let t=this.parseIn();e={type:`binary`,operator:`&&`,left:e,right:t}}return e}parseIn(){let e=this.parseConcatenation();return this.check(Y.IN)?(this.advance(),{type:`in`,key:e,array:this.expect(Y.IDENT).value}):e}parseConcatenation(){let e=this.parseMatch();for(;this.canStartExpression()&&!this.isConcatTerminator();){let t=this.parseMatch();e={type:`binary`,operator:` `,left:e,right:t}}return e}parseMatch(){let e=this.parseComparison();for(;this.match(Y.MATCH,Y.NOT_MATCH);){let t=this.advance().type===Y.MATCH?`~`:`!~`,n=this.parseComparison();e={type:`binary`,operator:t,left:e,right:n}}return e}parseComparison(){let e=this.parseAddSub();for(;this.match(Y.LT,Y.LE,Y.GT,Y.GE,Y.EQ,Y.NE);){let t=this.advance(),n=this.parseAddSub();e={type:`binary`,operator:new Map([[`<`,`<`],[`<=`,`<=`],[`>`,`>`],[`>=`,`>=`],[`==`,`==`],[`!=`,`!=`]]).get(t.value)??`==`,left:e,right:n}}return e}canStartExpression(){return this.match(Y.NUMBER,Y.STRING,Y.IDENT,Y.DOLLAR,Y.LPAREN,Y.NOT,Y.MINUS,Y.PLUS,Y.INCREMENT,Y.DECREMENT)}isConcatTerminator(){return this.match(Y.AND,Y.OR,Y.QUESTION,Y.ASSIGN,Y.PLUS_ASSIGN,Y.MINUS_ASSIGN,Y.STAR_ASSIGN,Y.SLASH_ASSIGN,Y.PERCENT_ASSIGN,Y.CARET_ASSIGN,Y.COMMA,Y.SEMICOLON,Y.NEWLINE,Y.RBRACE,Y.RPAREN,Y.RBRACKET,Y.COLON,Y.PIPE,Y.APPEND,Y.IN)}parseAddSub(){let e=this.parseMulDiv();for(;this.match(Y.PLUS,Y.MINUS);){let t=this.advance().value,n=this.parseMulDiv();e={type:`binary`,operator:t,left:e,right:n}}return e}parseMulDiv(){let e=this.parseUnary();for(;this.match(Y.STAR,Y.SLASH,Y.PERCENT);){let t=this.advance(),n=this.parseUnary();e={type:`binary`,operator:new Map([[`*`,`*`],[`/`,`/`],[`%`,`%`]]).get(t.value)??`*`,left:e,right:n}}return e}parseUnary(){if(this.check(Y.INCREMENT)){this.advance();let e=this.parseUnary();return e.type!==`variable`&&e.type!==`field`&&e.type!==`array_access`?{type:`unary`,operator:`+`,operand:{type:`unary`,operator:`+`,operand:e}}:{type:`pre_increment`,operand:e}}if(this.check(Y.DECREMENT)){this.advance();let e=this.parseUnary();return e.type!==`variable`&&e.type!==`field`&&e.type!==`array_access`?{type:`unary`,operator:`-`,operand:{type:`unary`,operator:`-`,operand:e}}:{type:`pre_decrement`,operand:e}}return this.match(Y.NOT,Y.MINUS,Y.PLUS)?{type:`unary`,operator:this.advance().value,operand:this.parseUnary()}:this.parsePower()}parsePower(){let e=this.parsePostfix();if(this.check(Y.CARET)){this.advance();let t=this.parsePower();e={type:`binary`,operator:`^`,left:e,right:t}}return e}parsePostfix(){let e=this.parsePrimary();if(this.check(Y.INCREMENT)){if(this.advance(),e.type!==`variable`&&e.type!==`field`&&e.type!==`array_access`)throw Error(`Invalid increment operand`);return{type:`post_increment`,operand:e}}if(this.check(Y.DECREMENT)){if(this.advance(),e.type!==`variable`&&e.type!==`field`&&e.type!==`array_access`)throw Error(`Invalid decrement operand`);return{type:`post_decrement`,operand:e}}return e}parseFieldIndex(){if(this.check(Y.INCREMENT)){this.advance();let e=this.parseFieldIndex();return e.type!==`variable`&&e.type!==`field`&&e.type!==`array_access`?{type:`unary`,operator:`+`,operand:{type:`unary`,operator:`+`,operand:e}}:{type:`pre_increment`,operand:e}}if(this.check(Y.DECREMENT)){this.advance();let e=this.parseFieldIndex();return e.type!==`variable`&&e.type!==`field`&&e.type!==`array_access`?{type:`unary`,operator:`-`,operand:{type:`unary`,operator:`-`,operand:e}}:{type:`pre_decrement`,operand:e}}return this.match(Y.NOT,Y.MINUS,Y.PLUS)?{type:`unary`,operator:this.advance().value,operand:this.parseFieldIndex()}:this.parseFieldIndexPower()}parseFieldIndexPower(){let e=this.parseFieldIndexPrimary();if(this.check(Y.CARET)){this.advance();let t=this.parseFieldIndexPower();e={type:`binary`,operator:`^`,left:e,right:t}}return e}parseFieldIndexPrimary(){if(this.check(Y.NUMBER))return{type:`number`,value:this.advance().value};if(this.check(Y.STRING))return{type:`string`,value:this.advance().value};if(this.check(Y.DOLLAR))return this.advance(),{type:`field`,index:this.parseFieldIndex()};if(this.check(Y.LPAREN)){this.advance();let e=this.parseExpression();return this.expect(Y.RPAREN),e}if(this.check(Y.IDENT)){let e=this.advance().value;if(this.check(Y.LPAREN)){this.advance();let t=[];if(!this.check(Y.RPAREN))for(t.push(this.parseExpression());this.check(Y.COMMA);)this.advance(),t.push(this.parseExpression());return this.expect(Y.RPAREN),{type:`call`,name:e,args:t}}if(this.check(Y.LBRACKET)){this.advance();let t=this.parseExpression();if(this.check(Y.COMMA)){let n=[t];for(;this.check(Y.COMMA);)this.advance(),n.push(this.parseExpression());return this.expect(Y.RBRACKET),{type:`array_access`,array:e,key:n.reduce((e,t)=>({type:`binary`,operator:` `,left:{type:`binary`,operator:` `,left:e,right:{type:`variable`,name:`SUBSEP`}},right:t}))}}return this.expect(Y.RBRACKET),{type:`array_access`,array:e,key:t}}return{type:`variable`,name:e}}throw Error(`Unexpected token in field index: ${this.current().type} at line ${this.current().line}:${this.current().column}`)}parsePrimary(){if(this.check(Y.NUMBER))return{type:`number`,value:this.advance().value};if(this.check(Y.STRING))return{type:`string`,value:this.advance().value};if(this.check(Y.REGEX))return{type:`regex`,pattern:this.advance().value};if(this.check(Y.DOLLAR))return this.advance(),{type:`field`,index:this.parseFieldIndex()};if(this.check(Y.LPAREN)){this.advance();let e=this.parseExpression();if(this.check(Y.COMMA)){let t=[e];for(;this.check(Y.COMMA);)this.advance(),t.push(this.parseExpression());return this.expect(Y.RPAREN),{type:`tuple`,elements:t}}return this.expect(Y.RPAREN),e}if(this.check(Y.GETLINE)){this.advance();let e,t;return this.check(Y.IDENT)&&(e=this.advance().value),this.check(Y.LT)&&(this.advance(),t=this.parsePrimary()),{type:`getline`,variable:e,file:t}}if(this.check(Y.IDENT)){let e=this.advance().value;if(this.check(Y.LPAREN)){this.advance();let t=[];if(this.skipNewlines(),!this.check(Y.RPAREN))for(t.push(this.parseExpression());this.check(Y.COMMA);)this.advance(),this.skipNewlines(),t.push(this.parseExpression());return this.skipNewlines(),this.expect(Y.RPAREN),{type:`call`,name:e,args:t}}if(this.check(Y.LBRACKET)){this.advance();let t=[this.parseExpression()];for(;this.check(Y.COMMA);)this.advance(),t.push(this.parseExpression());this.expect(Y.RBRACKET);let n;if(t.length===1)n=t[0];else{n=t[0];for(let e=1;e<t.length;e++)n={type:`binary`,operator:` `,left:{type:`binary`,operator:` `,left:n,right:{type:`variable`,name:`SUBSEP`}},right:t[e]}}return{type:`array_access`,array:e,key:n}}return{type:`variable`,name:e}}throw Error(`Unexpected token: ${this.current().type} at line ${this.current().line}:${this.current().column}`)}},yt={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`]},bt={name:`awk`,async execute(t,u){o(u.requireDefenseContext,`awk`,`execution entry`);let d=(e,t)=>a(u.requireDefenseContext,`awk`,e,t);if(l(t))return c(yt);let f=new e(/\s+/),m=` `,h=Object.create(null),g=0;for(let e=0;e<t.length;e++){let n=t[e];if(n===`-F`&&e+1<t.length)m=$(t[++e]),f=xt(m),g=e+1;else if(n.startsWith(`-F`))m=$(n.slice(2)),f=xt(m),g=e+1;else if(n===`-v`&&e+1<t.length){let n=t[++e],r=n.indexOf(`=`);if(r>0){let e=n.slice(0,r);h[e]=$(n.slice(r+1))}g=e+1}else{if(n.startsWith(`--`))return s(`awk`,n);if(n.startsWith(`-`)&&n.length>1){let t=n[1];if(t!==`F`&&t!==`v`)return s(`awk`,`-${t}`);g=e+1}else if(!n.startsWith(`-`)){g=e;break}}}if(g>=t.length)return{stdout:``,stderr:`awk: missing program
|
|
14
|
+
`,exitCode:1};let _=t[g],v=t.slice(g+1),y=new vt,b;try{b=y.parse(_)}catch(e){return{stdout:``,stderr:`awk: ${e instanceof Error?e.message:String(e)}
|
|
15
|
+
`,exitCode:1}}let ee={readFile:u.fs.readFile.bind(u.fs),writeFile:u.fs.writeFile.bind(u.fs),appendFile:async(e,t)=>{try{let n=await d(`appendFile read`,()=>u.fs.readFile(e));await d(`appendFile write`,()=>u.fs.writeFile(e,n+t))}catch(n){if(n instanceof r)throw n;await d(`appendFile create`,()=>u.fs.writeFile(e,t))}},resolvePath:u.fs.resolvePath.bind(u.fs)},x=u.exec,S=p({fieldSep:f,maxIterations:u.limits?.maxAwkIterations,maxOutputSize:u.limits?.maxStringLength,fs:ee,cwd:u.cwd,exec:x?e=>d(`command pipe exec`,()=>x(e,{cwd:u.cwd,signal:u.signal})):void 0,coverage:u.coverage,requireDefenseContext:u.requireDefenseContext});S.FS=m,S.vars=Object.assign(Object.create(null),h),S.ARGC=v.length+1,S.ARGV=Object.create(null),S.ARGV[0]=`awk`;for(let e=0;e<v.length;e++)S.ARGV[String(e+1)]=v[e];S.ENVIRON=i(u.env);let C=new nt(S);C.execute(b);let te=b.rules.some(e=>e.pattern?.type!==`begin`&&e.pattern?.type!==`end`),w=b.rules.some(e=>e.pattern?.type===`end`);try{if(await d(`BEGIN execution`,()=>C.executeBegin()),S.shouldExit)return await d(`END execution after BEGIN exit`,()=>C.executeEnd()),{stdout:C.getOutput(),stderr:``,exitCode:C.getExitCode()};if(!te&&!w)return{stdout:C.getOutput(),stderr:``,exitCode:C.getExitCode()};let e=[];if(v.length>0)for(let t of v)try{let n=u.fs.resolvePath(u.cwd,t),r=(await d(`input file read`,()=>u.fs.readFile(n))).split(`
|
|
16
|
+
`);r.length>0&&r[r.length-1]===``&&r.pop(),e.push({filename:t,lines:r})}catch(e){if(e instanceof r)throw e;return{stdout:``,stderr:`awk: ${t}: No such file or directory
|
|
17
|
+
`,exitCode:1}}else{let t=u.stdin.split(`
|
|
18
|
+
`);t.length>0&&t[t.length-1]===``&&t.pop(),e.push({filename:``,lines:t})}for(let t of e){for(S.FILENAME=t.filename,S.FNR=0,S.lines=t.lines,S.lineIndex=-1,S.shouldNextFile=!1;S.lineIndex<t.lines.length-1;){S.lineIndex++;let e=S.lineIndex;if(await d(`line execution`,()=>C.executeLine(t.lines[e])),S.shouldExit||S.shouldNextFile)break}if(S.shouldExit)break}return await d(`END execution`,()=>C.executeEnd()),{stdout:C.getOutput(),stderr:``,exitCode:C.getExitCode()}}catch(e){if(e instanceof r)throw e;let t=e instanceof Error?e.message:String(e),i=e instanceof n?n.EXIT_CODE:2;return{stdout:C.getOutput(),stderr:`awk: ${t}
|
|
19
|
+
`,exitCode:i}}}};function $(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 xt(e){if(e===` `)return t(`\\s+`);if(/[[\](){}.*+?^$|\\]/.test(e))try{return t(e)}catch{return t(St(e))}return t(St(e))}function St(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}var Ct={name:`awk`,flags:[{flag:`-F`,type:`value`,valueHint:`delimiter`},{flag:`-v`,type:`value`,valueHint:`string`}],stdinType:`text`,needsArgs:!0};export{bt as n,Ct as t};
|
|
21
|
+
//# sourceMappingURL=chunk-TP4BZANS-eJW0TOjs.mjs.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import{t as e}from"./chunk-
|
|
1
|
+
import{t as e}from"./chunk-B74TABJS-DlbqoTuk.mjs";import{n as t}from"./chunk-3THT3N7L-CBWmNncQ.mjs";var n={name:`expr`,async execute(e,n){if(e.length===0)return{stdout:``,stderr:`expr: missing operand
|
|
2
2
|
`,exitCode:2};try{let t=r(e),n=t===`0`||t===``?1:0;return{stdout:`${t}
|
|
3
3
|
`,stderr:``,exitCode:n}}catch(e){return{stdout:``,stderr:`expr: ${t(e.message)}
|
|
4
4
|
`,exitCode:2}}}};function r(t){if(t.length===1)return t[0];let n=0;function r(){let e=i();for(;n<t.length&&t[n]===`|`;){n++;let t=i();if(e!==`0`&&e!==``)return e;e=t}return e}function i(){let e=a();for(;n<t.length&&t[n]===`&`;){n++;let t=a();(e===`0`||e===``||t===`0`||t===``)&&(e=`0`)}return e}function a(){let e=o();for(;n<t.length;){let r=t[n];if([`=`,`!=`,`<`,`>`,`<=`,`>=`].includes(r)){n++;let t=o(),i=parseInt(e,10),a=parseInt(t,10),s=!Number.isNaN(i)&&!Number.isNaN(a),c;c=r===`=`?s?i===a:e===t:r===`!=`?s?i!==a:e!==t:r===`<`?s?i<a:e<t:r===`>`?s?i>a:e>t:r===`<=`?s?i<=a:e<=t:s?i>=a:e>=t,e=c?`1`:`0`}else break}return e}function o(){let e=s();for(;n<t.length;){let r=t[n];if(r===`+`||r===`-`){n++;let t=s(),i=parseInt(e,10),a=parseInt(t,10);if(Number.isNaN(i)||Number.isNaN(a))throw Error(`non-integer argument`);e=String(r===`+`?i+a:i-a)}else break}return e}function s(){let e=c();for(;n<t.length;){let r=t[n];if(r===`*`||r===`/`||r===`%`){n++;let t=c(),i=parseInt(e,10),a=parseInt(t,10);if(Number.isNaN(i)||Number.isNaN(a))throw Error(`non-integer argument`);if((r===`/`||r===`%`)&&a===0)throw Error(`division by zero`);e=String(r===`*`?i*a:r===`/`?Math.trunc(i/a):i%a)}else break}return e}function c(){let r=l();for(;n<t.length&&t[n]===`:`;){n++;let t=e(`^${l()}`).match(r);r=t?t[1]===void 0?String(t[0].length):t[1]:`0`}return r}function l(){if(n>=t.length)throw Error(`syntax error`);let i=t[n];if(i===`match`){n++;let t=l(),r=e(l()).match(t);return r?r[1]===void 0?String(r[0].length):r[1]:`0`}if(i===`substr`){n++;let e=l(),t=parseInt(l(),10),r=parseInt(l(),10);if(Number.isNaN(t)||Number.isNaN(r))throw Error(`non-integer argument`);return e.substring(t-1,t-1+r)}if(i===`index`){n++;let e=l(),t=l();for(let n=0;n<e.length;n++)if(t.includes(e[n]))return String(n+1);return`0`}if(i===`length`){n++;let e=l();return String(e.length)}if(i===`(`){n++;let e=r();if(n>=t.length||t[n]!==`)`)throw Error(`syntax error`);return n++,e}return n++,i}return r()}var i={name:`expr`,flags:[],needsArgs:!0};export{n,i as t};
|
|
5
|
-
//# sourceMappingURL=chunk-
|
|
5
|
+
//# sourceMappingURL=chunk-V5MWI2OL-CDEVEp7K.mjs.map
|