create-zuplo-api 6.65.7 → 6.65.9
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/index.js +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -69,4 +69,4 @@ var o=i(181);var a=o.Buffer;function copyProps(t,r){for(var i in t){r[i]=t[i]}}i
|
|
|
69
69
|
*
|
|
70
70
|
* Copyright (c) 2015-present, Jon Schlinkert.
|
|
71
71
|
* Released under the MIT License.
|
|
72
|
-
*/const o=i(7311);const toRegexRange=(t,r,i)=>{if(o(t)===false){throw new TypeError("toRegexRange: expected the first argument to be a number")}if(r===void 0||t===r){return String(t)}if(o(r)===false){throw new TypeError("toRegexRange: expected the second argument to be a number.")}let a={relaxZeros:true,...i};if(typeof a.strictZeros==="boolean"){a.relaxZeros=a.strictZeros===false}let c=String(a.relaxZeros);let l=String(a.shorthand);let u=String(a.capture);let h=String(a.wrap);let d=t+":"+r+"="+c+l+u+h;if(toRegexRange.cache.hasOwnProperty(d)){return toRegexRange.cache[d].result}let p=Math.min(t,r);let m=Math.max(t,r);if(Math.abs(p-m)===1){let i=t+"|"+r;if(a.capture){return`(${i})`}if(a.wrap===false){return i}return`(?:${i})`}let g=hasPadding(t)||hasPadding(r);let y={min:t,max:r,a:p,b:m};let v=[];let b=[];if(g){y.isPadded=g;y.maxLen=String(y.max).length}if(p<0){let t=m<0?Math.abs(m):1;b=splitToPatterns(t,Math.abs(p),y,a);p=y.a=0}if(m>=0){v=splitToPatterns(p,m,y,a)}y.negatives=b;y.positives=v;y.result=collatePatterns(b,v,a);if(a.capture===true){y.result=`(${y.result})`}else if(a.wrap!==false&&v.length+b.length>1){y.result=`(?:${y.result})`}toRegexRange.cache[d]=y;return y.result};function collatePatterns(t,r,i){let o=filterPatterns(t,r,"-",false,i)||[];let a=filterPatterns(r,t,"",false,i)||[];let c=filterPatterns(t,r,"-?",true,i)||[];let l=o.concat(c).concat(a);return l.join("|")}function splitToRanges(t,r){let i=1;let o=1;let a=countNines(t,i);let c=new Set([r]);while(t<=a&&a<=r){c.add(a);i+=1;a=countNines(t,i)}a=countZeros(r+1,o)-1;while(t<a&&a<=r){c.add(a);o+=1;a=countZeros(r+1,o)-1}c=[...c];c.sort(compare);return c}function rangeToPattern(t,r,i){if(t===r){return{pattern:t,count:[],digits:0}}let o=zip(t,r);let a=o.length;let c="";let l=0;for(let t=0;t<a;t++){let[r,a]=o[t];if(r===a){c+=r}else if(r!=="0"||a!=="9"){c+=toCharacterClass(r,a,i)}else{l++}}if(l){c+=i.shorthand===true?"\\d":"[0-9]"}return{pattern:c,count:[l],digits:a}}function splitToPatterns(t,r,i,o){let a=splitToRanges(t,r);let c=[];let l=t;let u;for(let t=0;t<a.length;t++){let r=a[t];let h=rangeToPattern(String(l),String(r),o);let d="";if(!i.isPadded&&u&&u.pattern===h.pattern){if(u.count.length>1){u.count.pop()}u.count.push(h.count[0]);u.string=u.pattern+toQuantifier(u.count);l=r+1;continue}if(i.isPadded){d=padZeros(r,i,o)}h.string=d+h.pattern+toQuantifier(h.count);c.push(h);l=r+1;u=h}return c}function filterPatterns(t,r,i,o,a){let c=[];for(let a of t){let{string:t}=a;if(!o&&!contains(r,"string",t)){c.push(i+t)}if(o&&contains(r,"string",t)){c.push(i+t)}}return c}function zip(t,r){let i=[];for(let o=0;o<t.length;o++)i.push([t[o],r[o]]);return i}function compare(t,r){return t>r?1:r>t?-1:0}function contains(t,r,i){return t.some((t=>t[r]===i))}function countNines(t,r){return Number(String(t).slice(0,-r)+"9".repeat(r))}function countZeros(t,r){return t-t%Math.pow(10,r)}function toQuantifier(t){let[r=0,i=""]=t;if(i||r>1){return`{${r+(i?","+i:"")}}`}return""}function toCharacterClass(t,r,i){return`[${t}${r-t===1?"":"-"}${r}]`}function hasPadding(t){return/^-?(0+)\d/.test(t)}function padZeros(t,r,i){if(!r.isPadded){return t}let o=Math.abs(r.maxLen-String(t).length);let a=i.relaxZeros!==false;switch(o){case 0:return"";case 1:return a?"0?":"0";case 2:return a?"0{0,2}":"00";default:{return a?`0{0,${o}}`:`0{${o}}`}}}toRegexRange.cache={};toRegexRange.clearCache=()=>toRegexRange.cache={};t.exports=toRegexRange},1083:(t,r,i)=>{const{URL:o}=i(7016);const{join:a}=i(6928);const c=i(9896);const{promisify:l}=i(9023);const{tmpdir:u}=i(857);const h=i(2804);const d=l(c.writeFile);const p=l(c.mkdir);const m=l(c.readFile);const compareVersions=(t,r)=>t.localeCompare(r,"en-US",{numeric:true});const encode=t=>encodeURIComponent(t).replace(/^%40/,"@");const getFile=async(t,r)=>{const i=u();const o=a(i,"update-check");if(!c.existsSync(o)){await p(o)}let l=`${t.name}-${r}.json`;if(t.scope){l=`${t.scope}-${l}`}return a(o,l)};const evaluateCache=async(t,r,i)=>{if(c.existsSync(t)){const o=await m(t,"utf8");const{lastUpdate:a,latest:c}=JSON.parse(o);const l=a+i;if(l>r){return{shouldCheck:false,latest:c}}}return{shouldCheck:true,latest:null}};const updateCache=async(t,r,i)=>{const o=JSON.stringify({latest:r,lastUpdate:i});await d(t,o,"utf8")};const loadPackage=(t,r)=>new Promise(((o,a)=>{const c={host:t.hostname,path:t.pathname,port:t.port,headers:{accept:"application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*"},timeout:2e3};if(r){c.headers.authorization=`${r.type} ${r.token}`}const{get:l}=i(t.protocol==="https:"?5692:8611);l(c,(t=>{const{statusCode:r}=t;if(r!==200){const i=new Error(`Request failed with code ${r}`);i.code=r;a(i);t.resume();return}let i="";t.setEncoding("utf8");t.on("data",(t=>{i+=t}));t.on("end",(()=>{try{const t=JSON.parse(i);o(t)}catch(t){a(t)}}))})).on("error",a).on("timeout",a)}));const getMostRecent=async({full:t,scope:r},a)=>{const c=h(r);const l=new o(t,c);let u=null;try{u=await loadPackage(l)}catch(t){if(t.code&&String(t.code).startsWith(4)){const t=i(373);const r=t(c,{recursive:true});u=await loadPackage(l,r)}else{throw t}}const d=u["dist-tags"][a];if(!d){throw new Error(`Distribution tag ${a} is not available`)}return d};const g={interval:36e5,distTag:"latest"};const getDetails=t=>{const r={full:encode(t)};if(t.includes("/")){const i=t.split("/");r.scope=i[0];r.name=i[1]}else{r.scope=null;r.name=t}return r};t.exports=async(t,r)=>{if(typeof t!=="object"){throw new Error("The first parameter should be your package.json file content")}const i=getDetails(t.name);const o=Date.now();const{distTag:a,interval:c}=Object.assign({},g,r);const l=await getFile(i,a);let u=null;let h=true;({shouldCheck:h,latest:u}=await evaluateCache(l,o,c));if(h){u=await getMostRecent(i,a);await updateCache(l,u,o)}const d=compareVersions(t.version,u);if(d===-1){return{latest:u,fromCache:!h}}return null}},3969:(t,r,i)=>{const o=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys";const a=i(6928);const c=o?";":":";const l=i(6173);const getNotFoundError=t=>Object.assign(new Error(`not found: ${t}`),{code:"ENOENT"});const getPathInfo=(t,r)=>{const i=r.colon||c;const a=t.match(/\//)||o&&t.match(/\\/)?[""]:[...o?[process.cwd()]:[],...(r.path||process.env.PATH||"").split(i)];const l=o?r.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"";const u=o?l.split(i):[""];if(o){if(t.indexOf(".")!==-1&&u[0]!=="")u.unshift("")}return{pathEnv:a,pathExt:u,pathExtExe:l}};const which=(t,r,i)=>{if(typeof r==="function"){i=r;r={}}if(!r)r={};const{pathEnv:o,pathExt:c,pathExtExe:u}=getPathInfo(t,r);const h=[];const step=i=>new Promise(((c,l)=>{if(i===o.length)return r.all&&h.length?c(h):l(getNotFoundError(t));const u=o[i];const d=/^".*"$/.test(u)?u.slice(1,-1):u;const p=a.join(d,t);const m=!d&&/^\.[\\\/]/.test(t)?t.slice(0,2)+p:p;c(subStep(m,i,0))}));const subStep=(t,i,o)=>new Promise(((a,d)=>{if(o===c.length)return a(step(i+1));const p=c[o];l(t+p,{pathExt:u},((c,l)=>{if(!c&&l){if(r.all)h.push(t+p);else return a(t+p)}return a(subStep(t,i,o+1))}))}));return i?step(0).then((t=>i(null,t)),i):step(0)};const whichSync=(t,r)=>{r=r||{};const{pathEnv:i,pathExt:o,pathExtExe:c}=getPathInfo(t,r);const u=[];for(let h=0;h<i.length;h++){const d=i[h];const p=/^".*"$/.test(d)?d.slice(1,-1):d;const m=a.join(p,t);const g=!p&&/^\.[\\\/]/.test(t)?t.slice(0,2)+m:m;for(let t=0;t<o.length;t++){const i=g+o[t];try{const t=l.sync(i,{pathExt:c});if(t){if(r.all)u.push(i);else return i}}catch(t){}}}if(r.all&&u.length)return u;if(r.nothrow)return null;throw getNotFoundError(t)};t.exports=which;which.sync=whichSync},779:(t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:true});r.formatNames=r.fastFormats=r.fullFormats=void 0;function fmtDef(t,r){return{validate:t,compare:r}}r.fullFormats={date:fmtDef(date,compareDate),time:fmtDef(getTime(true),compareTime),"date-time":fmtDef(getDateTime(true),compareDateTime),"iso-time":fmtDef(getTime(),compareIsoTime),"iso-date-time":fmtDef(getDateTime(),compareIsoDateTime),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:uri,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:regex,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:byte,int32:{type:"number",validate:validateInt32},int64:{type:"number",validate:validateInt64},float:{type:"number",validate:validateNumber},double:{type:"number",validate:validateNumber},password:true,binary:true};r.fastFormats={...r.fullFormats,date:fmtDef(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,compareDate),time:fmtDef(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,compareTime),"date-time":fmtDef(/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,compareDateTime),"iso-time":fmtDef(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,compareIsoTime),"iso-date-time":fmtDef(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,compareIsoDateTime),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i};r.formatNames=Object.keys(r.fullFormats);function isLeapYear(t){return t%4===0&&(t%100!==0||t%400===0)}const i=/^(\d\d\d\d)-(\d\d)-(\d\d)$/;const o=[0,31,28,31,30,31,30,31,31,30,31,30,31];function date(t){const r=i.exec(t);if(!r)return false;const a=+r[1];const c=+r[2];const l=+r[3];return c>=1&&c<=12&&l>=1&&l<=(c===2&&isLeapYear(a)?29:o[c])}function compareDate(t,r){if(!(t&&r))return undefined;if(t>r)return 1;if(t<r)return-1;return 0}const a=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function getTime(t){return function time(r){const i=a.exec(r);if(!i)return false;const o=+i[1];const c=+i[2];const l=+i[3];const u=i[4];const h=i[5]==="-"?-1:1;const d=+(i[6]||0);const p=+(i[7]||0);if(d>23||p>59||t&&!u)return false;if(o<=23&&c<=59&&l<60)return true;const m=c-p*h;const g=o-d*h-(m<0?1:0);return(g===23||g===-1)&&(m===59||m===-1)&&l<61}}function compareTime(t,r){if(!(t&&r))return undefined;const i=new Date("2020-01-01T"+t).valueOf();const o=new Date("2020-01-01T"+r).valueOf();if(!(i&&o))return undefined;return i-o}function compareIsoTime(t,r){if(!(t&&r))return undefined;const i=a.exec(t);const o=a.exec(r);if(!(i&&o))return undefined;t=i[1]+i[2]+i[3];r=o[1]+o[2]+o[3];if(t>r)return 1;if(t<r)return-1;return 0}const c=/t|\s/i;function getDateTime(t){const r=getTime(t);return function date_time(t){const i=t.split(c);return i.length===2&&date(i[0])&&r(i[1])}}function compareDateTime(t,r){if(!(t&&r))return undefined;const i=new Date(t).valueOf();const o=new Date(r).valueOf();if(!(i&&o))return undefined;return i-o}function compareIsoDateTime(t,r){if(!(t&&r))return undefined;const[i,o]=t.split(c);const[a,l]=r.split(c);const u=compareDate(i,a);if(u===undefined)return undefined;return u||compareTime(o,l)}const l=/\/|:/;const u=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function uri(t){return l.test(t)&&u.test(t)}const h=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function byte(t){h.lastIndex=0;return h.test(t)}const d=-(2**31);const p=2**31-1;function validateInt32(t){return Number.isInteger(t)&&t<=p&&t>=d}function validateInt64(t){return Number.isInteger(t)}function validateNumber(){return true}const m=/[^\\]\\Z/;function regex(t){if(m.test(t))return false;try{new RegExp(t);return true}catch(t){return false}}},2815:(t,r,i)=>{"use strict";Object.defineProperty(r,"__esModule",{value:true});const o=i(779);const a=i(1284);const c=i(4671);const l=new c.Name("fullFormats");const u=new c.Name("fastFormats");const formatsPlugin=(t,r={keywords:true})=>{if(Array.isArray(r)){addFormats(t,r,o.fullFormats,l);return t}const[i,c]=r.mode==="fast"?[o.fastFormats,u]:[o.fullFormats,l];const h=r.formats||o.formatNames;addFormats(t,h,i,c);if(r.keywords)(0,a.default)(t);return t};formatsPlugin.get=(t,r="full")=>{const i=r==="fast"?o.fastFormats:o.fullFormats;const a=i[t];if(!a)throw new Error(`Unknown format "${t}"`);return a};function addFormats(t,r,i,o){var a;var l;(a=(l=t.opts.code).formats)!==null&&a!==void 0?a:l.formats=(0,c._)`require("ajv-formats/dist/formats").${o}`;for(const o of r)t.addFormat(o,i[o])}t.exports=r=formatsPlugin;Object.defineProperty(r,"__esModule",{value:true});r["default"]=formatsPlugin},1284:(t,r,i)=>{"use strict";Object.defineProperty(r,"__esModule",{value:true});r.formatLimitDefinition=void 0;const o=i(5984);const a=i(4671);const c=a.operators;const l={formatMaximum:{okStr:"<=",ok:c.LTE,fail:c.GT},formatMinimum:{okStr:">=",ok:c.GTE,fail:c.LT},formatExclusiveMaximum:{okStr:"<",ok:c.LT,fail:c.GTE},formatExclusiveMinimum:{okStr:">",ok:c.GT,fail:c.LTE}};const u={message:({keyword:t,schemaCode:r})=>(0,a.str)`should be ${l[t].okStr} ${r}`,params:({keyword:t,schemaCode:r})=>(0,a._)`{comparison: ${l[t].okStr}, limit: ${r}}`};r.formatLimitDefinition={keyword:Object.keys(l),type:"string",schemaType:"string",$data:true,error:u,code(t){const{gen:r,data:i,schemaCode:c,keyword:u,it:h}=t;const{opts:d,self:p}=h;if(!d.validateFormats)return;const m=new o.KeywordCxt(h,p.RULES.all.format.definition,"format");if(m.$data)validate$DataFormat();else validateFormat();function validate$DataFormat(){const i=r.scopeValue("formats",{ref:p.formats,code:d.code.formats});const o=r.const("fmt",(0,a._)`${i}[${m.schemaCode}]`);t.fail$data((0,a.or)((0,a._)`typeof ${o} != "object"`,(0,a._)`${o} instanceof RegExp`,(0,a._)`typeof ${o}.compare != "function"`,compareCode(o)))}function validateFormat(){const i=m.schema;const o=p.formats[i];if(!o||o===true)return;if(typeof o!="object"||o instanceof RegExp||typeof o.compare!="function"){throw new Error(`"${u}": format "${i}" does not define "compare" function`)}const c=r.scopeValue("formats",{key:i,ref:o,code:d.code.formats?(0,a._)`${d.code.formats}${(0,a.getProperty)(i)}`:undefined});t.fail$data(compareCode(c))}function compareCode(t){return(0,a._)`${t}.compare(${i}, ${c}) ${l[u].fail} 0`}},dependencies:["format"]};const formatLimitPlugin=t=>{t.addKeyword(r.formatLimitDefinition);return t};r["default"]=formatLimitPlugin},6395:(t,r,i)=>{"use strict";const o=i(2040);const a=process.env;Object.defineProperty(r,"_vendors",{value:o.map((function(t){return t.constant}))});r.name=null;r.isPR=null;o.forEach((function(t){const i=Array.isArray(t.env)?t.env:[t.env];const o=i.every((function(t){return checkEnv(t)}));r[t.constant]=o;if(!o){return}r.name=t.name;switch(typeof t.pr){case"string":r.isPR=!!a[t.pr];break;case"object":if("env"in t.pr){r.isPR=t.pr.env in a&&a[t.pr.env]!==t.pr.ne}else if("any"in t.pr){r.isPR=t.pr.any.some((function(t){return!!a[t]}))}else{r.isPR=checkEnv(t.pr)}break;default:r.isPR=null}}));r.isCI=!!(a.CI!=="false"&&(a.BUILD_ID||a.BUILD_NUMBER||a.CI||a.CI_APP_ID||a.CI_BUILD_ID||a.CI_BUILD_NUMBER||a.CI_NAME||a.CONTINUOUS_INTEGRATION||a.RUN_ID||r.name||false));function checkEnv(t){if(typeof t==="string")return!!a[t];if("env"in t){return a[t.env]&&a[t.env].includes(t.includes)}if("any"in t){return t.any.some((function(t){return!!a[t]}))}return Object.keys(t).every((function(r){return a[r]===t[r]}))}},7825:(t,r,i)=>{"use strict";const{builtinModules:o}=i(3339);var a=new RegExp("^(?:@([^/]+?)[/])?([^/]+?)$");var c=["node_modules","favicon.ico"];function validate(t){var r=[];var i=[];if(t===null){i.push("name cannot be null");return done(r,i)}if(t===undefined){i.push("name cannot be undefined");return done(r,i)}if(typeof t!=="string"){i.push("name must be a string");return done(r,i)}if(!t.length){i.push("name length must be greater than zero")}if(t.match(/^\./)){i.push("name cannot start with a period")}if(t.match(/^_/)){i.push("name cannot start with an underscore")}if(t.trim()!==t){i.push("name cannot contain leading or trailing spaces")}c.forEach((function(r){if(t.toLowerCase()===r){i.push(r+" is a blacklisted name")}}));if(o.includes(t.toLowerCase())){r.push(t+" is a core module name")}if(t.length>214){r.push("name can no longer contain more than 214 characters")}if(t.toLowerCase()!==t){r.push("name can no longer contain capital letters")}if(/[~'!()*]/.test(t.split("/").slice(-1)[0])){r.push('name can no longer contain special characters ("~\'!()*")')}if(encodeURIComponent(t)!==t){var l=t.match(a);if(l){var u=l[1];var h=l[2];if(encodeURIComponent(u)===u&&encodeURIComponent(h)===h){return done(r,i)}}i.push("name can only contain URL-friendly characters")}return done(r,i)}var done=function(t,r){var i={validForNewPackages:r.length===0&&t.length===0,validForOldPackages:r.length===0,warnings:t,errors:r};if(!i.warnings.length){delete i.warnings}if(!i.errors.length){delete i.errors}return i};t.exports=validate},181:t=>{"use strict";t.exports=require("buffer")},5317:t=>{"use strict";t.exports=require("child_process")},4434:t=>{"use strict";t.exports=require("events")},9896:t=>{"use strict";t.exports=require("fs")},8611:t=>{"use strict";t.exports=require("http")},5692:t=>{"use strict";t.exports=require("https")},3339:t=>{"use strict";t.exports=require("module")},1421:t=>{"use strict";t.exports=require("node:child_process")},8474:t=>{"use strict";t.exports=require("node:events")},3024:t=>{"use strict";t.exports=require("node:fs")},6760:t=>{"use strict";t.exports=require("node:path")},1708:t=>{"use strict";t.exports=require("node:process")},857:t=>{"use strict";t.exports=require("os")},6928:t=>{"use strict";t.exports=require("path")},3785:t=>{"use strict";t.exports=require("readline")},2203:t=>{"use strict";t.exports=require("stream")},2018:t=>{"use strict";t.exports=require("tty")},7016:t=>{"use strict";t.exports=require("url")},9023:t=>{"use strict";t.exports=require("util")},3996:(t,r,i)=>{"use strict";const{normalizeIPv6:o,removeDotSegments:a,recomposeAuthority:c,normalizeComponentEncoding:l,isIPv4:u,nonSimpleDomain:h}=i(9073);const{SCHEMES:d,getSchemeHandler:p}=i(2e3);function normalize(t,r){if(typeof t==="string"){t=serialize(parse(t,r),r)}else if(typeof t==="object"){t=parse(serialize(t,r),r)}return t}function resolve(t,r,i){const o=i?Object.assign({scheme:"null"},i):{scheme:"null"};const a=resolveComponent(parse(t,o),parse(r,o),o,true);o.skipEscape=true;return serialize(a,o)}function resolveComponent(t,r,i,o){const c={};if(!o){t=parse(serialize(t,i),i);r=parse(serialize(r,i),i)}i=i||{};if(!i.tolerant&&r.scheme){c.scheme=r.scheme;c.userinfo=r.userinfo;c.host=r.host;c.port=r.port;c.path=a(r.path||"");c.query=r.query}else{if(r.userinfo!==undefined||r.host!==undefined||r.port!==undefined){c.userinfo=r.userinfo;c.host=r.host;c.port=r.port;c.path=a(r.path||"");c.query=r.query}else{if(!r.path){c.path=t.path;if(r.query!==undefined){c.query=r.query}else{c.query=t.query}}else{if(r.path[0]==="/"){c.path=a(r.path)}else{if((t.userinfo!==undefined||t.host!==undefined||t.port!==undefined)&&!t.path){c.path="/"+r.path}else if(!t.path){c.path=r.path}else{c.path=t.path.slice(0,t.path.lastIndexOf("/")+1)+r.path}c.path=a(c.path)}c.query=r.query}c.userinfo=t.userinfo;c.host=t.host;c.port=t.port}c.scheme=t.scheme}c.fragment=r.fragment;return c}function equal(t,r,i){if(typeof t==="string"){t=unescape(t);t=serialize(l(parse(t,i),true),{...i,skipEscape:true})}else if(typeof t==="object"){t=serialize(l(t,true),{...i,skipEscape:true})}if(typeof r==="string"){r=unescape(r);r=serialize(l(parse(r,i),true),{...i,skipEscape:true})}else if(typeof r==="object"){r=serialize(l(r,true),{...i,skipEscape:true})}return t.toLowerCase()===r.toLowerCase()}function serialize(t,r){const i={host:t.host,scheme:t.scheme,userinfo:t.userinfo,port:t.port,path:t.path,query:t.query,nid:t.nid,nss:t.nss,uuid:t.uuid,fragment:t.fragment,reference:t.reference,resourceName:t.resourceName,secure:t.secure,error:""};const o=Object.assign({},r);const l=[];const u=p(o.scheme||i.scheme);if(u&&u.serialize)u.serialize(i,o);if(i.path!==undefined){if(!o.skipEscape){i.path=escape(i.path);if(i.scheme!==undefined){i.path=i.path.split("%3A").join(":")}}else{i.path=unescape(i.path)}}if(o.reference!=="suffix"&&i.scheme){l.push(i.scheme,":")}const h=c(i);if(h!==undefined){if(o.reference!=="suffix"){l.push("//")}l.push(h);if(i.path&&i.path[0]!=="/"){l.push("/")}}if(i.path!==undefined){let t=i.path;if(!o.absolutePath&&(!u||!u.absolutePath)){t=a(t)}if(h===undefined&&t[0]==="/"&&t[1]==="/"){t="/%2F"+t.slice(2)}l.push(t)}if(i.query!==undefined){l.push("?",i.query)}if(i.fragment!==undefined){l.push("#",i.fragment)}return l.join("")}const m=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function parse(t,r){const i=Object.assign({},r);const a={scheme:undefined,userinfo:undefined,host:"",port:undefined,path:"",query:undefined,fragment:undefined};let c=false;if(i.reference==="suffix"){if(i.scheme){t=i.scheme+":"+t}else{t="//"+t}}const l=t.match(m);if(l){a.scheme=l[1];a.userinfo=l[3];a.host=l[4];a.port=parseInt(l[5],10);a.path=l[6]||"";a.query=l[7];a.fragment=l[8];if(isNaN(a.port)){a.port=l[5]}if(a.host){const t=u(a.host);if(t===false){const t=o(a.host);a.host=t.host.toLowerCase();c=t.isIPV6}else{c=true}}if(a.scheme===undefined&&a.userinfo===undefined&&a.host===undefined&&a.port===undefined&&a.query===undefined&&!a.path){a.reference="same-document"}else if(a.scheme===undefined){a.reference="relative"}else if(a.fragment===undefined){a.reference="absolute"}else{a.reference="uri"}if(i.reference&&i.reference!=="suffix"&&i.reference!==a.reference){a.error=a.error||"URI is not a "+i.reference+" reference."}const r=p(i.scheme||a.scheme);if(!i.unicodeSupport&&(!r||!r.unicodeSupport)){if(a.host&&(i.domainHost||r&&r.domainHost)&&c===false&&h(a.host)){try{a.host=URL.domainToASCII(a.host.toLowerCase())}catch(t){a.error=a.error||"Host's domain name can not be converted to ASCII: "+t}}}if(!r||r&&!r.skipNormalize){if(t.indexOf("%")!==-1){if(a.scheme!==undefined){a.scheme=unescape(a.scheme)}if(a.host!==undefined){a.host=unescape(a.host)}}if(a.path){a.path=escape(unescape(a.path))}if(a.fragment){a.fragment=encodeURI(decodeURIComponent(a.fragment))}}if(r&&r.parse){r.parse(a,i)}}else{a.error=a.error||"URI can not be parsed."}return a}const g={SCHEMES:d,normalize:normalize,resolve:resolve,resolveComponent:resolveComponent,equal:equal,serialize:serialize,parse:parse};t.exports=g;t.exports["default"]=g;t.exports.fastUri=g},2e3:(t,r,i)=>{"use strict";const{isUUID:o}=i(9073);const a=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu;const c=["http","https","ws","wss","urn","urn:uuid"];function isValidSchemeName(t){return c.indexOf(t)!==-1}function wsIsSecure(t){if(t.secure===true){return true}else if(t.secure===false){return false}else if(t.scheme){return t.scheme.length===3&&(t.scheme[0]==="w"||t.scheme[0]==="W")&&(t.scheme[1]==="s"||t.scheme[1]==="S")&&(t.scheme[2]==="s"||t.scheme[2]==="S")}else{return false}}function httpParse(t){if(!t.host){t.error=t.error||"HTTP URIs must have a host."}return t}function httpSerialize(t){const r=String(t.scheme).toLowerCase()==="https";if(t.port===(r?443:80)||t.port===""){t.port=undefined}if(!t.path){t.path="/"}return t}function wsParse(t){t.secure=wsIsSecure(t);t.resourceName=(t.path||"/")+(t.query?"?"+t.query:"");t.path=undefined;t.query=undefined;return t}function wsSerialize(t){if(t.port===(wsIsSecure(t)?443:80)||t.port===""){t.port=undefined}if(typeof t.secure==="boolean"){t.scheme=t.secure?"wss":"ws";t.secure=undefined}if(t.resourceName){const[r,i]=t.resourceName.split("?");t.path=r&&r!=="/"?r:undefined;t.query=i;t.resourceName=undefined}t.fragment=undefined;return t}function urnParse(t,r){if(!t.path){t.error="URN can not be parsed";return t}const i=t.path.match(a);if(i){const o=r.scheme||t.scheme||"urn";t.nid=i[1].toLowerCase();t.nss=i[2];const a=`${o}:${r.nid||t.nid}`;const c=getSchemeHandler(a);t.path=undefined;if(c){t=c.parse(t,r)}}else{t.error=t.error||"URN can not be parsed."}return t}function urnSerialize(t,r){if(t.nid===undefined){throw new Error("URN without nid cannot be serialized")}const i=r.scheme||t.scheme||"urn";const o=t.nid.toLowerCase();const a=`${i}:${r.nid||o}`;const c=getSchemeHandler(a);if(c){t=c.serialize(t,r)}const l=t;const u=t.nss;l.path=`${o||r.nid}:${u}`;r.skipEscape=true;return l}function urnuuidParse(t,r){const i=t;i.uuid=i.nss;i.nss=undefined;if(!r.tolerant&&(!i.uuid||!o(i.uuid))){i.error=i.error||"UUID is not valid."}return i}function urnuuidSerialize(t){const r=t;r.nss=(t.uuid||"").toLowerCase();return r}const l={scheme:"http",domainHost:true,parse:httpParse,serialize:httpSerialize};const u={scheme:"https",domainHost:l.domainHost,parse:httpParse,serialize:httpSerialize};const h={scheme:"ws",domainHost:true,parse:wsParse,serialize:wsSerialize};const d={scheme:"wss",domainHost:h.domainHost,parse:h.parse,serialize:h.serialize};const p={scheme:"urn",parse:urnParse,serialize:urnSerialize,skipNormalize:true};const m={scheme:"urn:uuid",parse:urnuuidParse,serialize:urnuuidSerialize,skipNormalize:true};const g={http:l,https:u,ws:h,wss:d,urn:p,"urn:uuid":m};Object.setPrototypeOf(g,null);function getSchemeHandler(t){return t&&(g[t]||g[t.toLowerCase()])||undefined}t.exports={wsIsSecure:wsIsSecure,SCHEMES:g,isValidSchemeName:isValidSchemeName,getSchemeHandler:getSchemeHandler}},9073:t=>{"use strict";const r=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu);const i=RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u);function stringArrayToHexStripped(t){let r="";let i=0;let o=0;for(o=0;o<t.length;o++){i=t[o].charCodeAt(0);if(i===48){continue}if(!(i>=48&&i<=57||i>=65&&i<=70||i>=97&&i<=102)){return""}r+=t[o];break}for(o+=1;o<t.length;o++){i=t[o].charCodeAt(0);if(!(i>=48&&i<=57||i>=65&&i<=70||i>=97&&i<=102)){return""}r+=t[o]}return r}const o=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function consumeIsZone(t){t.length=0;return true}function consumeHextets(t,r,i){if(t.length){const o=stringArrayToHexStripped(t);if(o!==""){r.push(o)}else{i.error=true;return false}t.length=0}return true}function getIPV6(t){let r=0;const i={error:false,address:"",zone:""};const o=[];const a=[];let c=false;let l=false;let u=consumeHextets;for(let h=0;h<t.length;h++){const d=t[h];if(d==="["||d==="]"){continue}if(d===":"){if(c===true){l=true}if(!u(a,o,i)){break}if(++r>7){i.error=true;break}if(h>0&&t[h-1]===":"){c=true}o.push(":");continue}else if(d==="%"){if(!u(a,o,i)){break}u=consumeIsZone}else{a.push(d);continue}}if(a.length){if(u===consumeIsZone){i.zone=a.join("")}else if(l){o.push(a.join(""))}else{o.push(stringArrayToHexStripped(a))}}i.address=o.join("");return i}function normalizeIPv6(t){if(findToken(t,":")<2){return{host:t,isIPV6:false}}const r=getIPV6(t);if(!r.error){let t=r.address;let i=r.address;if(r.zone){t+="%"+r.zone;i+="%25"+r.zone}return{host:t,isIPV6:true,escapedHost:i}}else{return{host:t,isIPV6:false}}}function findToken(t,r){let i=0;for(let o=0;o<t.length;o++){if(t[o]===r)i++}return i}function removeDotSegments(t){let r=t;const i=[];let o=-1;let a=0;while(a=r.length){if(a===1){if(r==="."){break}else if(r==="/"){i.push("/");break}else{i.push(r);break}}else if(a===2){if(r[0]==="."){if(r[1]==="."){break}else if(r[1]==="/"){r=r.slice(2);continue}}else if(r[0]==="/"){if(r[1]==="."||r[1]==="/"){i.push("/");break}}}else if(a===3){if(r==="/.."){if(i.length!==0){i.pop()}i.push("/");break}}if(r[0]==="."){if(r[1]==="."){if(r[2]==="/"){r=r.slice(3);continue}}else if(r[1]==="/"){r=r.slice(2);continue}}else if(r[0]==="/"){if(r[1]==="."){if(r[2]==="/"){r=r.slice(2);continue}else if(r[2]==="."){if(r[3]==="/"){r=r.slice(3);if(i.length!==0){i.pop()}continue}}}}if((o=r.indexOf("/",1))===-1){i.push(r);break}else{i.push(r.slice(0,o));r=r.slice(o)}}return i.join("")}function normalizeComponentEncoding(t,r){const i=r!==true?escape:unescape;if(t.scheme!==undefined){t.scheme=i(t.scheme)}if(t.userinfo!==undefined){t.userinfo=i(t.userinfo)}if(t.host!==undefined){t.host=i(t.host)}if(t.path!==undefined){t.path=i(t.path)}if(t.query!==undefined){t.query=i(t.query)}if(t.fragment!==undefined){t.fragment=i(t.fragment)}return t}function recomposeAuthority(t){const r=[];if(t.userinfo!==undefined){r.push(t.userinfo);r.push("@")}if(t.host!==undefined){let o=unescape(t.host);if(!i(o)){const r=normalizeIPv6(o);if(r.isIPV6===true){o=`[${r.escapedHost}]`}else{o=t.host}}r.push(o)}if(typeof t.port==="number"||typeof t.port==="string"){r.push(":");r.push(String(t.port))}return r.length?r.join(""):undefined}t.exports={nonSimpleDomain:o,recomposeAuthority:recomposeAuthority,normalizeComponentEncoding:normalizeComponentEncoding,removeDotSegments:removeDotSegments,isIPv4:i,isUUID:r,normalizeIPv6:normalizeIPv6,stringArrayToHexStripped:stringArrayToHexStripped}},8909:(t,r,i)=>{const{Argument:o}=i(9154);const{Command:a}=i(4348);const{CommanderError:c,InvalidArgumentError:l}=i(1135);const{Help:u}=i(9754);const{Option:h}=i(5240);r.DM=new a;r.gu=t=>new a(t);r.Ww=(t,r)=>new h(t,r);r.er=(t,r)=>new o(t,r);r.uB=a;r.c$=h;r.ef=o;r._V=u;r.b7=c;r.Di=l;r.a2=l},9154:(t,r,i)=>{const{InvalidArgumentError:o}=i(1135);class Argument{constructor(t,r){this.description=r||"";this.variadic=false;this.parseArg=undefined;this.defaultValue=undefined;this.defaultValueDescription=undefined;this.argChoices=undefined;switch(t[0]){case"<":this.required=true;this._name=t.slice(1,-1);break;case"[":this.required=false;this._name=t.slice(1,-1);break;default:this.required=true;this._name=t;break}if(this._name.length>3&&this._name.slice(-3)==="..."){this.variadic=true;this._name=this._name.slice(0,-3)}}name(){return this._name}_concatValue(t,r){if(r===this.defaultValue||!Array.isArray(r)){return[t]}return r.concat(t)}default(t,r){this.defaultValue=t;this.defaultValueDescription=r;return this}argParser(t){this.parseArg=t;return this}choices(t){this.argChoices=t.slice();this.parseArg=(t,r)=>{if(!this.argChoices.includes(t)){throw new o(`Allowed choices are ${this.argChoices.join(", ")}.`)}if(this.variadic){return this._concatValue(t,r)}return t};return this}argRequired(){this.required=true;return this}argOptional(){this.required=false;return this}}function humanReadableArgName(t){const r=t.name()+(t.variadic===true?"...":"");return t.required?"<"+r+">":"["+r+"]"}r.Argument=Argument;r.humanReadableArgName=humanReadableArgName},4348:(t,r,i)=>{const o=i(8474).EventEmitter;const a=i(1421);const c=i(6760);const l=i(3024);const u=i(1708);const{Argument:h,humanReadableArgName:d}=i(9154);const{CommanderError:p}=i(1135);const{Help:m}=i(9754);const{Option:g,DualOptions:y}=i(5240);const{suggestSimilar:v}=i(5030);class Command extends o{constructor(t){super();this.commands=[];this.options=[];this.parent=null;this._allowUnknownOption=false;this._allowExcessArguments=true;this.registeredArguments=[];this._args=this.registeredArguments;this.args=[];this.rawArgs=[];this.processedArgs=[];this._scriptPath=null;this._name=t||"";this._optionValues={};this._optionValueSources={};this._storeOptionsAsProperties=false;this._actionHandler=null;this._executableHandler=false;this._executableFile=null;this._executableDir=null;this._defaultCommandName=null;this._exitCallback=null;this._aliases=[];this._combineFlagAndOptionalValue=true;this._description="";this._summary="";this._argsDescription=undefined;this._enablePositionalOptions=false;this._passThroughOptions=false;this._lifeCycleHooks={};this._showHelpAfterError=false;this._showSuggestionAfterError=true;this._outputConfiguration={writeOut:t=>u.stdout.write(t),writeErr:t=>u.stderr.write(t),getOutHelpWidth:()=>u.stdout.isTTY?u.stdout.columns:undefined,getErrHelpWidth:()=>u.stderr.isTTY?u.stderr.columns:undefined,outputError:(t,r)=>r(t)};this._hidden=false;this._helpOption=undefined;this._addImplicitHelpCommand=undefined;this._helpCommand=undefined;this._helpConfiguration={}}copyInheritedSettings(t){this._outputConfiguration=t._outputConfiguration;this._helpOption=t._helpOption;this._helpCommand=t._helpCommand;this._helpConfiguration=t._helpConfiguration;this._exitCallback=t._exitCallback;this._storeOptionsAsProperties=t._storeOptionsAsProperties;this._combineFlagAndOptionalValue=t._combineFlagAndOptionalValue;this._allowExcessArguments=t._allowExcessArguments;this._enablePositionalOptions=t._enablePositionalOptions;this._showHelpAfterError=t._showHelpAfterError;this._showSuggestionAfterError=t._showSuggestionAfterError;return this}_getCommandAndAncestors(){const t=[];for(let r=this;r;r=r.parent){t.push(r)}return t}command(t,r,i){let o=r;let a=i;if(typeof o==="object"&&o!==null){a=o;o=null}a=a||{};const[,c,l]=t.match(/([^ ]+) *(.*)/);const u=this.createCommand(c);if(o){u.description(o);u._executableHandler=true}if(a.isDefault)this._defaultCommandName=u._name;u._hidden=!!(a.noHelp||a.hidden);u._executableFile=a.executableFile||null;if(l)u.arguments(l);this._registerCommand(u);u.parent=this;u.copyInheritedSettings(this);if(o)return this;return u}createCommand(t){return new Command(t)}createHelp(){return Object.assign(new m,this.configureHelp())}configureHelp(t){if(t===undefined)return this._helpConfiguration;this._helpConfiguration=t;return this}configureOutput(t){if(t===undefined)return this._outputConfiguration;Object.assign(this._outputConfiguration,t);return this}showHelpAfterError(t=true){if(typeof t!=="string")t=!!t;this._showHelpAfterError=t;return this}showSuggestionAfterError(t=true){this._showSuggestionAfterError=!!t;return this}addCommand(t,r){if(!t._name){throw new Error(`Command passed to .addCommand() must have a name\n- specify the name in Command constructor or using .name()`)}r=r||{};if(r.isDefault)this._defaultCommandName=t._name;if(r.noHelp||r.hidden)t._hidden=true;this._registerCommand(t);t.parent=this;t._checkForBrokenPassThrough();return this}createArgument(t,r){return new h(t,r)}argument(t,r,i,o){const a=this.createArgument(t,r);if(typeof i==="function"){a.default(o).argParser(i)}else{a.default(i)}this.addArgument(a);return this}arguments(t){t.trim().split(/ +/).forEach((t=>{this.argument(t)}));return this}addArgument(t){const r=this.registeredArguments.slice(-1)[0];if(r&&r.variadic){throw new Error(`only the last argument can be variadic '${r.name()}'`)}if(t.required&&t.defaultValue!==undefined&&t.parseArg===undefined){throw new Error(`a default value for a required argument is never used: '${t.name()}'`)}this.registeredArguments.push(t);return this}helpCommand(t,r){if(typeof t==="boolean"){this._addImplicitHelpCommand=t;return this}t=t??"help [command]";const[,i,o]=t.match(/([^ ]+) *(.*)/);const a=r??"display help for command";const c=this.createCommand(i);c.helpOption(false);if(o)c.arguments(o);if(a)c.description(a);this._addImplicitHelpCommand=true;this._helpCommand=c;return this}addHelpCommand(t,r){if(typeof t!=="object"){this.helpCommand(t,r);return this}this._addImplicitHelpCommand=true;this._helpCommand=t;return this}_getHelpCommand(){const t=this._addImplicitHelpCommand??(this.commands.length&&!this._actionHandler&&!this._findCommand("help"));if(t){if(this._helpCommand===undefined){this.helpCommand(undefined,undefined)}return this._helpCommand}return null}hook(t,r){const i=["preSubcommand","preAction","postAction"];if(!i.includes(t)){throw new Error(`Unexpected value for event passed to hook : '${t}'.\nExpecting one of '${i.join("', '")}'`)}if(this._lifeCycleHooks[t]){this._lifeCycleHooks[t].push(r)}else{this._lifeCycleHooks[t]=[r]}return this}exitOverride(t){if(t){this._exitCallback=t}else{this._exitCallback=t=>{if(t.code!=="commander.executeSubCommandAsync"){throw t}else{}}}return this}_exit(t,r,i){if(this._exitCallback){this._exitCallback(new p(t,r,i))}u.exit(t)}action(t){const listener=r=>{const i=this.registeredArguments.length;const o=r.slice(0,i);if(this._storeOptionsAsProperties){o[i]=this}else{o[i]=this.opts()}o.push(this);return t.apply(this,o)};this._actionHandler=listener;return this}createOption(t,r){return new g(t,r)}_callParseArg(t,r,i,o){try{return t.parseArg(r,i)}catch(t){if(t.code==="commander.invalidArgument"){const r=`${o} ${t.message}`;this.error(r,{exitCode:t.exitCode,code:t.code})}throw t}}_registerOption(t){const r=t.short&&this._findOption(t.short)||t.long&&this._findOption(t.long);if(r){const i=t.long&&this._findOption(t.long)?t.long:t.short;throw new Error(`Cannot add option '${t.flags}'${this._name&&` to command '${this._name}'`} due to conflicting flag '${i}'\n- already used by option '${r.flags}'`)}this.options.push(t)}_registerCommand(t){const knownBy=t=>[t.name()].concat(t.aliases());const r=knownBy(t).find((t=>this._findCommand(t)));if(r){const i=knownBy(this._findCommand(r)).join("|");const o=knownBy(t).join("|");throw new Error(`cannot add command '${o}' as already have command '${i}'`)}this.commands.push(t)}addOption(t){this._registerOption(t);const r=t.name();const i=t.attributeName();if(t.negate){const r=t.long.replace(/^--no-/,"--");if(!this._findOption(r)){this.setOptionValueWithSource(i,t.defaultValue===undefined?true:t.defaultValue,"default")}}else if(t.defaultValue!==undefined){this.setOptionValueWithSource(i,t.defaultValue,"default")}const handleOptionValue=(r,o,a)=>{if(r==null&&t.presetArg!==undefined){r=t.presetArg}const c=this.getOptionValue(i);if(r!==null&&t.parseArg){r=this._callParseArg(t,r,c,o)}else if(r!==null&&t.variadic){r=t._concatValue(r,c)}if(r==null){if(t.negate){r=false}else if(t.isBoolean()||t.optional){r=true}else{r=""}}this.setOptionValueWithSource(i,r,a)};this.on("option:"+r,(r=>{const i=`error: option '${t.flags}' argument '${r}' is invalid.`;handleOptionValue(r,i,"cli")}));if(t.envVar){this.on("optionEnv:"+r,(r=>{const i=`error: option '${t.flags}' value '${r}' from env '${t.envVar}' is invalid.`;handleOptionValue(r,i,"env")}))}return this}_optionEx(t,r,i,o,a){if(typeof r==="object"&&r instanceof g){throw new Error("To add an Option object use addOption() instead of option() or requiredOption()")}const c=this.createOption(r,i);c.makeOptionMandatory(!!t.mandatory);if(typeof o==="function"){c.default(a).argParser(o)}else if(o instanceof RegExp){const t=o;o=(r,i)=>{const o=t.exec(r);return o?o[0]:i};c.default(a).argParser(o)}else{c.default(o)}return this.addOption(c)}option(t,r,i,o){return this._optionEx({},t,r,i,o)}requiredOption(t,r,i,o){return this._optionEx({mandatory:true},t,r,i,o)}combineFlagAndOptionalValue(t=true){this._combineFlagAndOptionalValue=!!t;return this}allowUnknownOption(t=true){this._allowUnknownOption=!!t;return this}allowExcessArguments(t=true){this._allowExcessArguments=!!t;return this}enablePositionalOptions(t=true){this._enablePositionalOptions=!!t;return this}passThroughOptions(t=true){this._passThroughOptions=!!t;this._checkForBrokenPassThrough();return this}_checkForBrokenPassThrough(){if(this.parent&&this._passThroughOptions&&!this.parent._enablePositionalOptions){throw new Error(`passThroughOptions cannot be used for '${this._name}' without turning on enablePositionalOptions for parent command(s)`)}}storeOptionsAsProperties(t=true){if(this.options.length){throw new Error("call .storeOptionsAsProperties() before adding options")}if(Object.keys(this._optionValues).length){throw new Error("call .storeOptionsAsProperties() before setting option values")}this._storeOptionsAsProperties=!!t;return this}getOptionValue(t){if(this._storeOptionsAsProperties){return this[t]}return this._optionValues[t]}setOptionValue(t,r){return this.setOptionValueWithSource(t,r,undefined)}setOptionValueWithSource(t,r,i){if(this._storeOptionsAsProperties){this[t]=r}else{this._optionValues[t]=r}this._optionValueSources[t]=i;return this}getOptionValueSource(t){return this._optionValueSources[t]}getOptionValueSourceWithGlobals(t){let r;this._getCommandAndAncestors().forEach((i=>{if(i.getOptionValueSource(t)!==undefined){r=i.getOptionValueSource(t)}}));return r}_prepareUserArgs(t,r){if(t!==undefined&&!Array.isArray(t)){throw new Error("first parameter to parse must be array or undefined")}r=r||{};if(t===undefined&&r.from===undefined){if(u.versions?.electron){r.from="electron"}const t=u.execArgv??[];if(t.includes("-e")||t.includes("--eval")||t.includes("-p")||t.includes("--print")){r.from="eval"}}if(t===undefined){t=u.argv}this.rawArgs=t.slice();let i;switch(r.from){case undefined:case"node":this._scriptPath=t[1];i=t.slice(2);break;case"electron":if(u.defaultApp){this._scriptPath=t[1];i=t.slice(2)}else{i=t.slice(1)}break;case"user":i=t.slice(0);break;case"eval":i=t.slice(1);break;default:throw new Error(`unexpected parse option { from: '${r.from}' }`)}if(!this._name&&this._scriptPath)this.nameFromFilename(this._scriptPath);this._name=this._name||"program";return i}parse(t,r){const i=this._prepareUserArgs(t,r);this._parseCommand([],i);return this}async parseAsync(t,r){const i=this._prepareUserArgs(t,r);await this._parseCommand([],i);return this}_executeSubCommand(t,r){r=r.slice();let i=false;const o=[".js",".ts",".tsx",".mjs",".cjs"];function findFile(t,r){const i=c.resolve(t,r);if(l.existsSync(i))return i;if(o.includes(c.extname(r)))return undefined;const a=o.find((t=>l.existsSync(`${i}${t}`)));if(a)return`${i}${a}`;return undefined}this._checkForMissingMandatoryOptions();this._checkForConflictingOptions();let h=t._executableFile||`${this._name}-${t._name}`;let d=this._executableDir||"";if(this._scriptPath){let t;try{t=l.realpathSync(this._scriptPath)}catch(r){t=this._scriptPath}d=c.resolve(c.dirname(t),d)}if(d){let r=findFile(d,h);if(!r&&!t._executableFile&&this._scriptPath){const i=c.basename(this._scriptPath,c.extname(this._scriptPath));if(i!==this._name){r=findFile(d,`${i}-${t._name}`)}}h=r||h}i=o.includes(c.extname(h));let m;if(u.platform!=="win32"){if(i){r.unshift(h);r=incrementNodeInspectorPort(u.execArgv).concat(r);m=a.spawn(u.argv[0],r,{stdio:"inherit"})}else{m=a.spawn(h,r,{stdio:"inherit"})}}else{r.unshift(h);r=incrementNodeInspectorPort(u.execArgv).concat(r);m=a.spawn(u.execPath,r,{stdio:"inherit"})}if(!m.killed){const t=["SIGUSR1","SIGUSR2","SIGTERM","SIGINT","SIGHUP"];t.forEach((t=>{u.on(t,(()=>{if(m.killed===false&&m.exitCode===null){m.kill(t)}}))}))}const g=this._exitCallback;m.on("close",(t=>{t=t??1;if(!g){u.exit(t)}else{g(new p(t,"commander.executeSubCommandAsync","(close)"))}}));m.on("error",(r=>{if(r.code==="ENOENT"){const r=d?`searched for local subcommand relative to directory '${d}'`:"no directory for search for local subcommand, use .executableDir() to supply a custom directory";const i=`'${h}' does not exist\n - if '${t._name}' is not meant to be an executable command, remove description parameter from '.command()' and use '.description()' instead\n - if the default executable name is not suitable, use the executableFile option to supply a custom name or path\n - ${r}`;throw new Error(i)}else if(r.code==="EACCES"){throw new Error(`'${h}' not executable`)}if(!g){u.exit(1)}else{const t=new p(1,"commander.executeSubCommandAsync","(error)");t.nestedError=r;g(t)}}));this.runningCommand=m}_dispatchSubcommand(t,r,i){const o=this._findCommand(t);if(!o)this.help({error:true});let a;a=this._chainOrCallSubCommandHook(a,o,"preSubcommand");a=this._chainOrCall(a,(()=>{if(o._executableHandler){this._executeSubCommand(o,r.concat(i))}else{return o._parseCommand(r,i)}}));return a}_dispatchHelpCommand(t){if(!t){this.help()}const r=this._findCommand(t);if(r&&!r._executableHandler){r.help()}return this._dispatchSubcommand(t,[],[this._getHelpOption()?.long??this._getHelpOption()?.short??"--help"])}_checkNumberOfArguments(){this.registeredArguments.forEach(((t,r)=>{if(t.required&&this.args[r]==null){this.missingArgument(t.name())}}));if(this.registeredArguments.length>0&&this.registeredArguments[this.registeredArguments.length-1].variadic){return}if(this.args.length>this.registeredArguments.length){this._excessArguments(this.args)}}_processArguments(){const myParseArg=(t,r,i)=>{let o=r;if(r!==null&&t.parseArg){const a=`error: command-argument value '${r}' is invalid for argument '${t.name()}'.`;o=this._callParseArg(t,r,i,a)}return o};this._checkNumberOfArguments();const t=[];this.registeredArguments.forEach(((r,i)=>{let o=r.defaultValue;if(r.variadic){if(i<this.args.length){o=this.args.slice(i);if(r.parseArg){o=o.reduce(((t,i)=>myParseArg(r,i,t)),r.defaultValue)}}else if(o===undefined){o=[]}}else if(i<this.args.length){o=this.args[i];if(r.parseArg){o=myParseArg(r,o,r.defaultValue)}}t[i]=o}));this.processedArgs=t}_chainOrCall(t,r){if(t&&t.then&&typeof t.then==="function"){return t.then((()=>r()))}return r()}_chainOrCallHooks(t,r){let i=t;const o=[];this._getCommandAndAncestors().reverse().filter((t=>t._lifeCycleHooks[r]!==undefined)).forEach((t=>{t._lifeCycleHooks[r].forEach((r=>{o.push({hookedCommand:t,callback:r})}))}));if(r==="postAction"){o.reverse()}o.forEach((t=>{i=this._chainOrCall(i,(()=>t.callback(t.hookedCommand,this)))}));return i}_chainOrCallSubCommandHook(t,r,i){let o=t;if(this._lifeCycleHooks[i]!==undefined){this._lifeCycleHooks[i].forEach((t=>{o=this._chainOrCall(o,(()=>t(this,r)))}))}return o}_parseCommand(t,r){const i=this.parseOptions(r);this._parseOptionsEnv();this._parseOptionsImplied();t=t.concat(i.operands);r=i.unknown;this.args=t.concat(r);if(t&&this._findCommand(t[0])){return this._dispatchSubcommand(t[0],t.slice(1),r)}if(this._getHelpCommand()&&t[0]===this._getHelpCommand().name()){return this._dispatchHelpCommand(t[1])}if(this._defaultCommandName){this._outputHelpIfRequested(r);return this._dispatchSubcommand(this._defaultCommandName,t,r)}if(this.commands.length&&this.args.length===0&&!this._actionHandler&&!this._defaultCommandName){this.help({error:true})}this._outputHelpIfRequested(i.unknown);this._checkForMissingMandatoryOptions();this._checkForConflictingOptions();const checkForUnknownOptions=()=>{if(i.unknown.length>0){this.unknownOption(i.unknown[0])}};const o=`command:${this.name()}`;if(this._actionHandler){checkForUnknownOptions();this._processArguments();let i;i=this._chainOrCallHooks(i,"preAction");i=this._chainOrCall(i,(()=>this._actionHandler(this.processedArgs)));if(this.parent){i=this._chainOrCall(i,(()=>{this.parent.emit(o,t,r)}))}i=this._chainOrCallHooks(i,"postAction");return i}if(this.parent&&this.parent.listenerCount(o)){checkForUnknownOptions();this._processArguments();this.parent.emit(o,t,r)}else if(t.length){if(this._findCommand("*")){return this._dispatchSubcommand("*",t,r)}if(this.listenerCount("command:*")){this.emit("command:*",t,r)}else if(this.commands.length){this.unknownCommand()}else{checkForUnknownOptions();this._processArguments()}}else if(this.commands.length){checkForUnknownOptions();this.help({error:true})}else{checkForUnknownOptions();this._processArguments()}}_findCommand(t){if(!t)return undefined;return this.commands.find((r=>r._name===t||r._aliases.includes(t)))}_findOption(t){return this.options.find((r=>r.is(t)))}_checkForMissingMandatoryOptions(){this._getCommandAndAncestors().forEach((t=>{t.options.forEach((r=>{if(r.mandatory&&t.getOptionValue(r.attributeName())===undefined){t.missingMandatoryOptionValue(r)}}))}))}_checkForConflictingLocalOptions(){const t=this.options.filter((t=>{const r=t.attributeName();if(this.getOptionValue(r)===undefined){return false}return this.getOptionValueSource(r)!=="default"}));const r=t.filter((t=>t.conflictsWith.length>0));r.forEach((r=>{const i=t.find((t=>r.conflictsWith.includes(t.attributeName())));if(i){this._conflictingOption(r,i)}}))}_checkForConflictingOptions(){this._getCommandAndAncestors().forEach((t=>{t._checkForConflictingLocalOptions()}))}parseOptions(t){const r=[];const i=[];let o=r;const a=t.slice();function maybeOption(t){return t.length>1&&t[0]==="-"}let c=null;while(a.length){const t=a.shift();if(t==="--"){if(o===i)o.push(t);o.push(...a);break}if(c&&!maybeOption(t)){this.emit(`option:${c.name()}`,t);continue}c=null;if(maybeOption(t)){const r=this._findOption(t);if(r){if(r.required){const t=a.shift();if(t===undefined)this.optionMissingArgument(r);this.emit(`option:${r.name()}`,t)}else if(r.optional){let t=null;if(a.length>0&&!maybeOption(a[0])){t=a.shift()}this.emit(`option:${r.name()}`,t)}else{this.emit(`option:${r.name()}`)}c=r.variadic?r:null;continue}}if(t.length>2&&t[0]==="-"&&t[1]!=="-"){const r=this._findOption(`-${t[1]}`);if(r){if(r.required||r.optional&&this._combineFlagAndOptionalValue){this.emit(`option:${r.name()}`,t.slice(2))}else{this.emit(`option:${r.name()}`);a.unshift(`-${t.slice(2)}`)}continue}}if(/^--[^=]+=/.test(t)){const r=t.indexOf("=");const i=this._findOption(t.slice(0,r));if(i&&(i.required||i.optional)){this.emit(`option:${i.name()}`,t.slice(r+1));continue}}if(maybeOption(t)){o=i}if((this._enablePositionalOptions||this._passThroughOptions)&&r.length===0&&i.length===0){if(this._findCommand(t)){r.push(t);if(a.length>0)i.push(...a);break}else if(this._getHelpCommand()&&t===this._getHelpCommand().name()){r.push(t);if(a.length>0)r.push(...a);break}else if(this._defaultCommandName){i.push(t);if(a.length>0)i.push(...a);break}}if(this._passThroughOptions){o.push(t);if(a.length>0)o.push(...a);break}o.push(t)}return{operands:r,unknown:i}}opts(){if(this._storeOptionsAsProperties){const t={};const r=this.options.length;for(let i=0;i<r;i++){const r=this.options[i].attributeName();t[r]=r===this._versionOptionName?this._version:this[r]}return t}return this._optionValues}optsWithGlobals(){return this._getCommandAndAncestors().reduce(((t,r)=>Object.assign(t,r.opts())),{})}error(t,r){this._outputConfiguration.outputError(`${t}\n`,this._outputConfiguration.writeErr);if(typeof this._showHelpAfterError==="string"){this._outputConfiguration.writeErr(`${this._showHelpAfterError}\n`)}else if(this._showHelpAfterError){this._outputConfiguration.writeErr("\n");this.outputHelp({error:true})}const i=r||{};const o=i.exitCode||1;const a=i.code||"commander.error";this._exit(o,a,t)}_parseOptionsEnv(){this.options.forEach((t=>{if(t.envVar&&t.envVar in u.env){const r=t.attributeName();if(this.getOptionValue(r)===undefined||["default","config","env"].includes(this.getOptionValueSource(r))){if(t.required||t.optional){this.emit(`optionEnv:${t.name()}`,u.env[t.envVar])}else{this.emit(`optionEnv:${t.name()}`)}}}}))}_parseOptionsImplied(){const t=new y(this.options);const hasCustomOptionValue=t=>this.getOptionValue(t)!==undefined&&!["default","implied"].includes(this.getOptionValueSource(t));this.options.filter((r=>r.implied!==undefined&&hasCustomOptionValue(r.attributeName())&&t.valueFromOption(this.getOptionValue(r.attributeName()),r))).forEach((t=>{Object.keys(t.implied).filter((t=>!hasCustomOptionValue(t))).forEach((r=>{this.setOptionValueWithSource(r,t.implied[r],"implied")}))}))}missingArgument(t){const r=`error: missing required argument '${t}'`;this.error(r,{code:"commander.missingArgument"})}optionMissingArgument(t){const r=`error: option '${t.flags}' argument missing`;this.error(r,{code:"commander.optionMissingArgument"})}missingMandatoryOptionValue(t){const r=`error: required option '${t.flags}' not specified`;this.error(r,{code:"commander.missingMandatoryOptionValue"})}_conflictingOption(t,r){const findBestOptionFromValue=t=>{const r=t.attributeName();const i=this.getOptionValue(r);const o=this.options.find((t=>t.negate&&r===t.attributeName()));const a=this.options.find((t=>!t.negate&&r===t.attributeName()));if(o&&(o.presetArg===undefined&&i===false||o.presetArg!==undefined&&i===o.presetArg)){return o}return a||t};const getErrorMessage=t=>{const r=findBestOptionFromValue(t);const i=r.attributeName();const o=this.getOptionValueSource(i);if(o==="env"){return`environment variable '${r.envVar}'`}return`option '${r.flags}'`};const i=`error: ${getErrorMessage(t)} cannot be used with ${getErrorMessage(r)}`;this.error(i,{code:"commander.conflictingOption"})}unknownOption(t){if(this._allowUnknownOption)return;let r="";if(t.startsWith("--")&&this._showSuggestionAfterError){let i=[];let o=this;do{const t=o.createHelp().visibleOptions(o).filter((t=>t.long)).map((t=>t.long));i=i.concat(t);o=o.parent}while(o&&!o._enablePositionalOptions);r=v(t,i)}const i=`error: unknown option '${t}'${r}`;this.error(i,{code:"commander.unknownOption"})}_excessArguments(t){if(this._allowExcessArguments)return;const r=this.registeredArguments.length;const i=r===1?"":"s";const o=this.parent?` for '${this.name()}'`:"";const a=`error: too many arguments${o}. Expected ${r} argument${i} but got ${t.length}.`;this.error(a,{code:"commander.excessArguments"})}unknownCommand(){const t=this.args[0];let r="";if(this._showSuggestionAfterError){const i=[];this.createHelp().visibleCommands(this).forEach((t=>{i.push(t.name());if(t.alias())i.push(t.alias())}));r=v(t,i)}const i=`error: unknown command '${t}'${r}`;this.error(i,{code:"commander.unknownCommand"})}version(t,r,i){if(t===undefined)return this._version;this._version=t;r=r||"-V, --version";i=i||"output the version number";const o=this.createOption(r,i);this._versionOptionName=o.attributeName();this._registerOption(o);this.on("option:"+o.name(),(()=>{this._outputConfiguration.writeOut(`${t}\n`);this._exit(0,"commander.version",t)}));return this}description(t,r){if(t===undefined&&r===undefined)return this._description;this._description=t;if(r){this._argsDescription=r}return this}summary(t){if(t===undefined)return this._summary;this._summary=t;return this}alias(t){if(t===undefined)return this._aliases[0];let r=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler){r=this.commands[this.commands.length-1]}if(t===r._name)throw new Error("Command alias can't be the same as its name");const i=this.parent?._findCommand(t);if(i){const r=[i.name()].concat(i.aliases()).join("|");throw new Error(`cannot add alias '${t}' to command '${this.name()}' as already have command '${r}'`)}r._aliases.push(t);return this}aliases(t){if(t===undefined)return this._aliases;t.forEach((t=>this.alias(t)));return this}usage(t){if(t===undefined){if(this._usage)return this._usage;const t=this.registeredArguments.map((t=>d(t)));return[].concat(this.options.length||this._helpOption!==null?"[options]":[],this.commands.length?"[command]":[],this.registeredArguments.length?t:[]).join(" ")}this._usage=t;return this}name(t){if(t===undefined)return this._name;this._name=t;return this}nameFromFilename(t){this._name=c.basename(t,c.extname(t));return this}executableDir(t){if(t===undefined)return this._executableDir;this._executableDir=t;return this}helpInformation(t){const r=this.createHelp();if(r.helpWidth===undefined){r.helpWidth=t&&t.error?this._outputConfiguration.getErrHelpWidth():this._outputConfiguration.getOutHelpWidth()}return r.formatHelp(this,r)}_getHelpContext(t){t=t||{};const r={error:!!t.error};let i;if(r.error){i=t=>this._outputConfiguration.writeErr(t)}else{i=t=>this._outputConfiguration.writeOut(t)}r.write=t.write||i;r.command=this;return r}outputHelp(t){let r;if(typeof t==="function"){r=t;t=undefined}const i=this._getHelpContext(t);this._getCommandAndAncestors().reverse().forEach((t=>t.emit("beforeAllHelp",i)));this.emit("beforeHelp",i);let o=this.helpInformation(i);if(r){o=r(o);if(typeof o!=="string"&&!Buffer.isBuffer(o)){throw new Error("outputHelp callback must return a string or a Buffer")}}i.write(o);if(this._getHelpOption()?.long){this.emit(this._getHelpOption().long)}this.emit("afterHelp",i);this._getCommandAndAncestors().forEach((t=>t.emit("afterAllHelp",i)))}helpOption(t,r){if(typeof t==="boolean"){if(t){this._helpOption=this._helpOption??undefined}else{this._helpOption=null}return this}t=t??"-h, --help";r=r??"display help for command";this._helpOption=this.createOption(t,r);return this}_getHelpOption(){if(this._helpOption===undefined){this.helpOption(undefined,undefined)}return this._helpOption}addHelpOption(t){this._helpOption=t;return this}help(t){this.outputHelp(t);let r=u.exitCode||0;if(r===0&&t&&typeof t!=="function"&&t.error){r=1}this._exit(r,"commander.help","(outputHelp)")}addHelpText(t,r){const i=["beforeAll","before","after","afterAll"];if(!i.includes(t)){throw new Error(`Unexpected value for position to addHelpText.\nExpecting one of '${i.join("', '")}'`)}const o=`${t}Help`;this.on(o,(t=>{let i;if(typeof r==="function"){i=r({error:t.error,command:t.command})}else{i=r}if(i){t.write(`${i}\n`)}}));return this}_outputHelpIfRequested(t){const r=this._getHelpOption();const i=r&&t.find((t=>r.is(t)));if(i){this.outputHelp();this._exit(0,"commander.helpDisplayed","(outputHelp)")}}}function incrementNodeInspectorPort(t){return t.map((t=>{if(!t.startsWith("--inspect")){return t}let r;let i="127.0.0.1";let o="9229";let a;if((a=t.match(/^(--inspect(-brk)?)$/))!==null){r=a[1]}else if((a=t.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null){r=a[1];if(/^\d+$/.test(a[3])){o=a[3]}else{i=a[3]}}else if((a=t.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null){r=a[1];i=a[3];o=a[4]}if(r&&o!=="0"){return`${r}=${i}:${parseInt(o)+1}`}return t}))}r.Command=Command},1135:(t,r)=>{class CommanderError extends Error{constructor(t,r,i){super(i);Error.captureStackTrace(this,this.constructor);this.name=this.constructor.name;this.code=r;this.exitCode=t;this.nestedError=undefined}}class InvalidArgumentError extends CommanderError{constructor(t){super(1,"commander.invalidArgument",t);Error.captureStackTrace(this,this.constructor);this.name=this.constructor.name}}r.CommanderError=CommanderError;r.InvalidArgumentError=InvalidArgumentError},9754:(t,r,i)=>{const{humanReadableArgName:o}=i(9154);class Help{constructor(){this.helpWidth=undefined;this.sortSubcommands=false;this.sortOptions=false;this.showGlobalOptions=false}visibleCommands(t){const r=t.commands.filter((t=>!t._hidden));const i=t._getHelpCommand();if(i&&!i._hidden){r.push(i)}if(this.sortSubcommands){r.sort(((t,r)=>t.name().localeCompare(r.name())))}return r}compareOptions(t,r){const getSortKey=t=>t.short?t.short.replace(/^-/,""):t.long.replace(/^--/,"");return getSortKey(t).localeCompare(getSortKey(r))}visibleOptions(t){const r=t.options.filter((t=>!t.hidden));const i=t._getHelpOption();if(i&&!i.hidden){const o=i.short&&t._findOption(i.short);const a=i.long&&t._findOption(i.long);if(!o&&!a){r.push(i)}else if(i.long&&!a){r.push(t.createOption(i.long,i.description))}else if(i.short&&!o){r.push(t.createOption(i.short,i.description))}}if(this.sortOptions){r.sort(this.compareOptions)}return r}visibleGlobalOptions(t){if(!this.showGlobalOptions)return[];const r=[];for(let i=t.parent;i;i=i.parent){const t=i.options.filter((t=>!t.hidden));r.push(...t)}if(this.sortOptions){r.sort(this.compareOptions)}return r}visibleArguments(t){if(t._argsDescription){t.registeredArguments.forEach((r=>{r.description=r.description||t._argsDescription[r.name()]||""}))}if(t.registeredArguments.find((t=>t.description))){return t.registeredArguments}return[]}subcommandTerm(t){const r=t.registeredArguments.map((t=>o(t))).join(" ");return t._name+(t._aliases[0]?"|"+t._aliases[0]:"")+(t.options.length?" [options]":"")+(r?" "+r:"")}optionTerm(t){return t.flags}argumentTerm(t){return t.name()}longestSubcommandTermLength(t,r){return r.visibleCommands(t).reduce(((t,i)=>Math.max(t,r.subcommandTerm(i).length)),0)}longestOptionTermLength(t,r){return r.visibleOptions(t).reduce(((t,i)=>Math.max(t,r.optionTerm(i).length)),0)}longestGlobalOptionTermLength(t,r){return r.visibleGlobalOptions(t).reduce(((t,i)=>Math.max(t,r.optionTerm(i).length)),0)}longestArgumentTermLength(t,r){return r.visibleArguments(t).reduce(((t,i)=>Math.max(t,r.argumentTerm(i).length)),0)}commandUsage(t){let r=t._name;if(t._aliases[0]){r=r+"|"+t._aliases[0]}let i="";for(let r=t.parent;r;r=r.parent){i=r.name()+" "+i}return i+r+" "+t.usage()}commandDescription(t){return t.description()}subcommandDescription(t){return t.summary()||t.description()}optionDescription(t){const r=[];if(t.argChoices){r.push(`choices: ${t.argChoices.map((t=>JSON.stringify(t))).join(", ")}`)}if(t.defaultValue!==undefined){const i=t.required||t.optional||t.isBoolean()&&typeof t.defaultValue==="boolean";if(i){r.push(`default: ${t.defaultValueDescription||JSON.stringify(t.defaultValue)}`)}}if(t.presetArg!==undefined&&t.optional){r.push(`preset: ${JSON.stringify(t.presetArg)}`)}if(t.envVar!==undefined){r.push(`env: ${t.envVar}`)}if(r.length>0){return`${t.description} (${r.join(", ")})`}return t.description}argumentDescription(t){const r=[];if(t.argChoices){r.push(`choices: ${t.argChoices.map((t=>JSON.stringify(t))).join(", ")}`)}if(t.defaultValue!==undefined){r.push(`default: ${t.defaultValueDescription||JSON.stringify(t.defaultValue)}`)}if(r.length>0){const i=`(${r.join(", ")})`;if(t.description){return`${t.description} ${i}`}return i}return t.description}formatHelp(t,r){const i=r.padWidth(t,r);const o=r.helpWidth||80;const a=2;const c=2;function formatItem(t,l){if(l){const u=`${t.padEnd(i+c)}${l}`;return r.wrap(u,o-a,i+c)}return t}function formatList(t){return t.join("\n").replace(/^/gm," ".repeat(a))}let l=[`Usage: ${r.commandUsage(t)}`,""];const u=r.commandDescription(t);if(u.length>0){l=l.concat([r.wrap(u,o,0),""])}const h=r.visibleArguments(t).map((t=>formatItem(r.argumentTerm(t),r.argumentDescription(t))));if(h.length>0){l=l.concat(["Arguments:",formatList(h),""])}const d=r.visibleOptions(t).map((t=>formatItem(r.optionTerm(t),r.optionDescription(t))));if(d.length>0){l=l.concat(["Options:",formatList(d),""])}if(this.showGlobalOptions){const i=r.visibleGlobalOptions(t).map((t=>formatItem(r.optionTerm(t),r.optionDescription(t))));if(i.length>0){l=l.concat(["Global Options:",formatList(i),""])}}const p=r.visibleCommands(t).map((t=>formatItem(r.subcommandTerm(t),r.subcommandDescription(t))));if(p.length>0){l=l.concat(["Commands:",formatList(p),""])}return l.join("\n")}padWidth(t,r){return Math.max(r.longestOptionTermLength(t,r),r.longestGlobalOptionTermLength(t,r),r.longestSubcommandTermLength(t,r),r.longestArgumentTermLength(t,r))}wrap(t,r,i,o=40){const a=" \\f\\t\\v - \ufeff";const c=new RegExp(`[\\n][${a}]+`);if(t.match(c))return t;const l=r-i;if(l<o)return t;const u=t.slice(0,i);const h=t.slice(i).replace("\r\n","\n");const d=" ".repeat(i);const p="";const m=`\\s${p}`;const g=new RegExp(`\n|.{1,${l-1}}([${m}]|$)|[^${m}]+?([${m}]|$)`,"g");const y=h.match(g)||[];return u+y.map(((t,r)=>{if(t==="\n")return"";return(r>0?d:"")+t.trimEnd()})).join("\n")}}r.Help=Help},5240:(t,r,i)=>{const{InvalidArgumentError:o}=i(1135);class Option{constructor(t,r){this.flags=t;this.description=r||"";this.required=t.includes("<");this.optional=t.includes("[");this.variadic=/\w\.\.\.[>\]]$/.test(t);this.mandatory=false;const i=splitOptionFlags(t);this.short=i.shortFlag;this.long=i.longFlag;this.negate=false;if(this.long){this.negate=this.long.startsWith("--no-")}this.defaultValue=undefined;this.defaultValueDescription=undefined;this.presetArg=undefined;this.envVar=undefined;this.parseArg=undefined;this.hidden=false;this.argChoices=undefined;this.conflictsWith=[];this.implied=undefined}default(t,r){this.defaultValue=t;this.defaultValueDescription=r;return this}preset(t){this.presetArg=t;return this}conflicts(t){this.conflictsWith=this.conflictsWith.concat(t);return this}implies(t){let r=t;if(typeof t==="string"){r={[t]:true}}this.implied=Object.assign(this.implied||{},r);return this}env(t){this.envVar=t;return this}argParser(t){this.parseArg=t;return this}makeOptionMandatory(t=true){this.mandatory=!!t;return this}hideHelp(t=true){this.hidden=!!t;return this}_concatValue(t,r){if(r===this.defaultValue||!Array.isArray(r)){return[t]}return r.concat(t)}choices(t){this.argChoices=t.slice();this.parseArg=(t,r)=>{if(!this.argChoices.includes(t)){throw new o(`Allowed choices are ${this.argChoices.join(", ")}.`)}if(this.variadic){return this._concatValue(t,r)}return t};return this}name(){if(this.long){return this.long.replace(/^--/,"")}return this.short.replace(/^-/,"")}attributeName(){return camelcase(this.name().replace(/^no-/,""))}is(t){return this.short===t||this.long===t}isBoolean(){return!this.required&&!this.optional&&!this.negate}}class DualOptions{constructor(t){this.positiveOptions=new Map;this.negativeOptions=new Map;this.dualOptions=new Set;t.forEach((t=>{if(t.negate){this.negativeOptions.set(t.attributeName(),t)}else{this.positiveOptions.set(t.attributeName(),t)}}));this.negativeOptions.forEach(((t,r)=>{if(this.positiveOptions.has(r)){this.dualOptions.add(r)}}))}valueFromOption(t,r){const i=r.attributeName();if(!this.dualOptions.has(i))return true;const o=this.negativeOptions.get(i).presetArg;const a=o!==undefined?o:false;return r.negate===(a===t)}}function camelcase(t){return t.split("-").reduce(((t,r)=>t+r[0].toUpperCase()+r.slice(1)))}function splitOptionFlags(t){let r;let i;const o=t.split(/[ |,]+/);if(o.length>1&&!/^[[<]/.test(o[1]))r=o.shift();i=o.shift();if(!r&&/^-[^-]$/.test(i)){r=i;i=undefined}return{shortFlag:r,longFlag:i}}r.Option=Option;r.DualOptions=DualOptions},5030:(t,r)=>{const i=3;function editDistance(t,r){if(Math.abs(t.length-r.length)>i)return Math.max(t.length,r.length);const o=[];for(let r=0;r<=t.length;r++){o[r]=[r]}for(let t=0;t<=r.length;t++){o[0][t]=t}for(let i=1;i<=r.length;i++){for(let a=1;a<=t.length;a++){let c=1;if(t[a-1]===r[i-1]){c=0}else{c=1}o[a][i]=Math.min(o[a-1][i]+1,o[a][i-1]+1,o[a-1][i-1]+c);if(a>1&&i>1&&t[a-1]===r[i-2]&&t[a-2]===r[i-1]){o[a][i]=Math.min(o[a][i],o[a-2][i-2]+1)}}}return o[t.length][r.length]}function suggestSimilar(t,r){if(!r||r.length===0)return"";r=Array.from(new Set(r));const o=t.startsWith("--");if(o){t=t.slice(2);r=r.map((t=>t.slice(2)))}let a=[];let c=i;const l=.4;r.forEach((r=>{if(r.length<=1)return;const i=editDistance(t,r);const o=Math.max(t.length,r.length);const u=(o-i)/o;if(u>l){if(i<c){c=i;a=[r]}else if(i===c){a.push(r)}}}));a.sort(((t,r)=>t.localeCompare(r)));if(o){a=a.map((t=>`--${t}`))}if(a.length>1){return`\n(Did you mean one of ${a.join(", ")}?)`}if(a.length===1){return`\n(Did you mean ${a[0]}?)`}return""}r.suggestSimilar=suggestSimilar},3770:t=>{"use strict";t.exports=JSON.parse('{"$id":"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#","description":"Meta-schema for $data reference (JSON AnySchema extension proposal)","type":"object","required":["$data"],"properties":{"$data":{"type":"string","anyOf":[{"format":"relative-json-pointer"},{"format":"json-pointer"}]}},"additionalProperties":false}')},13:t=>{"use strict";t.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/applicator","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/applicator":true},"$dynamicAnchor":"meta","title":"Applicator vocabulary meta-schema","type":["object","boolean"],"properties":{"prefixItems":{"$ref":"#/$defs/schemaArray"},"items":{"$dynamicRef":"#meta"},"contains":{"$dynamicRef":"#meta"},"additionalProperties":{"$dynamicRef":"#meta"},"properties":{"type":"object","additionalProperties":{"$dynamicRef":"#meta"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$dynamicRef":"#meta"},"propertyNames":{"format":"regex"},"default":{}},"dependentSchemas":{"type":"object","additionalProperties":{"$dynamicRef":"#meta"},"default":{}},"propertyNames":{"$dynamicRef":"#meta"},"if":{"$dynamicRef":"#meta"},"then":{"$dynamicRef":"#meta"},"else":{"$dynamicRef":"#meta"},"allOf":{"$ref":"#/$defs/schemaArray"},"anyOf":{"$ref":"#/$defs/schemaArray"},"oneOf":{"$ref":"#/$defs/schemaArray"},"not":{"$dynamicRef":"#meta"}},"$defs":{"schemaArray":{"type":"array","minItems":1,"items":{"$dynamicRef":"#meta"}}}}')},2394:t=>{"use strict";t.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/content","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/content":true},"$dynamicAnchor":"meta","title":"Content vocabulary meta-schema","type":["object","boolean"],"properties":{"contentEncoding":{"type":"string"},"contentMediaType":{"type":"string"},"contentSchema":{"$dynamicRef":"#meta"}}}')},4771:t=>{"use strict";t.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/core","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/core":true},"$dynamicAnchor":"meta","title":"Core vocabulary meta-schema","type":["object","boolean"],"properties":{"$id":{"$ref":"#/$defs/uriReferenceString","$comment":"Non-empty fragments not allowed.","pattern":"^[^#]*#?$"},"$schema":{"$ref":"#/$defs/uriString"},"$ref":{"$ref":"#/$defs/uriReferenceString"},"$anchor":{"$ref":"#/$defs/anchorString"},"$dynamicRef":{"$ref":"#/$defs/uriReferenceString"},"$dynamicAnchor":{"$ref":"#/$defs/anchorString"},"$vocabulary":{"type":"object","propertyNames":{"$ref":"#/$defs/uriString"},"additionalProperties":{"type":"boolean"}},"$comment":{"type":"string"},"$defs":{"type":"object","additionalProperties":{"$dynamicRef":"#meta"}}},"$defs":{"anchorString":{"type":"string","pattern":"^[A-Za-z_][-A-Za-z0-9._]*$"},"uriString":{"type":"string","format":"uri"},"uriReferenceString":{"type":"string","format":"uri-reference"}}}')},9567:t=>{"use strict";t.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/format-annotation","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/format-annotation":true},"$dynamicAnchor":"meta","title":"Format vocabulary meta-schema for annotation results","type":["object","boolean"],"properties":{"format":{"type":"string"}}}')},8364:t=>{"use strict";t.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/meta-data","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/meta-data":true},"$dynamicAnchor":"meta","title":"Meta-data vocabulary meta-schema","type":["object","boolean"],"properties":{"title":{"type":"string"},"description":{"type":"string"},"default":true,"deprecated":{"type":"boolean","default":false},"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true}}}')},7388:t=>{"use strict";t.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/unevaluated","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/unevaluated":true},"$dynamicAnchor":"meta","title":"Unevaluated applicator vocabulary meta-schema","type":["object","boolean"],"properties":{"unevaluatedItems":{"$dynamicRef":"#meta"},"unevaluatedProperties":{"$dynamicRef":"#meta"}}}')},2943:t=>{"use strict";t.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/validation","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/validation":true},"$dynamicAnchor":"meta","title":"Validation vocabulary meta-schema","type":["object","boolean"],"properties":{"type":{"anyOf":[{"$ref":"#/$defs/simpleTypes"},{"type":"array","items":{"$ref":"#/$defs/simpleTypes"},"minItems":1,"uniqueItems":true}]},"const":true,"enum":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/$defs/nonNegativeInteger"},"minLength":{"$ref":"#/$defs/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"maxItems":{"$ref":"#/$defs/nonNegativeInteger"},"minItems":{"$ref":"#/$defs/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"maxContains":{"$ref":"#/$defs/nonNegativeInteger"},"minContains":{"$ref":"#/$defs/nonNegativeInteger","default":1},"maxProperties":{"$ref":"#/$defs/nonNegativeInteger"},"minProperties":{"$ref":"#/$defs/nonNegativeIntegerDefault0"},"required":{"$ref":"#/$defs/stringArray"},"dependentRequired":{"type":"object","additionalProperties":{"$ref":"#/$defs/stringArray"}}},"$defs":{"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"$ref":"#/$defs/nonNegativeInteger","default":0},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}}}')},6261:t=>{"use strict";t.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/schema","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/core":true,"https://json-schema.org/draft/2020-12/vocab/applicator":true,"https://json-schema.org/draft/2020-12/vocab/unevaluated":true,"https://json-schema.org/draft/2020-12/vocab/validation":true,"https://json-schema.org/draft/2020-12/vocab/meta-data":true,"https://json-schema.org/draft/2020-12/vocab/format-annotation":true,"https://json-schema.org/draft/2020-12/vocab/content":true},"$dynamicAnchor":"meta","title":"Core and Validation specifications meta-schema","allOf":[{"$ref":"meta/core"},{"$ref":"meta/applicator"},{"$ref":"meta/unevaluated"},{"$ref":"meta/validation"},{"$ref":"meta/meta-data"},{"$ref":"meta/format-annotation"},{"$ref":"meta/content"}],"type":["object","boolean"],"$comment":"This meta-schema also defines keywords that have appeared in previous drafts in order to prevent incompatible extensions as they remain in common use.","properties":{"definitions":{"$comment":"\\"definitions\\" has been replaced by \\"$defs\\".","type":"object","additionalProperties":{"$dynamicRef":"#meta"},"deprecated":true,"default":{}},"dependencies":{"$comment":"\\"dependencies\\" has been split and replaced by \\"dependentSchemas\\" and \\"dependentRequired\\" in order to serve their differing semantics.","type":"object","additionalProperties":{"anyOf":[{"$dynamicRef":"#meta"},{"$ref":"meta/validation#/$defs/stringArray"}]},"deprecated":true,"default":{}},"$recursiveAnchor":{"$comment":"\\"$recursiveAnchor\\" has been replaced by \\"$dynamicAnchor\\".","$ref":"meta/core#/$defs/anchorString","deprecated":true},"$recursiveRef":{"$comment":"\\"$recursiveRef\\" has been replaced by \\"$dynamicRef\\".","$ref":"meta/core#/$defs/uriReferenceString","deprecated":true}}}')},3928:t=>{"use strict";t.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"http://json-schema.org/draft-07/schema#","title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#"},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#"},"maxProperties":{"$ref":"#/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"$ref":"#"},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"propertyNames":{"$ref":"#"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#"},"then":{"$ref":"#"},"else":{"$ref":"#"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":true}')},2040:t=>{"use strict";t.exports=JSON.parse('[{"name":"Agola CI","constant":"AGOLA","env":"AGOLA_GIT_REF","pr":"AGOLA_PULL_REQUEST_ID"},{"name":"Appcircle","constant":"APPCIRCLE","env":"AC_APPCIRCLE"},{"name":"AppVeyor","constant":"APPVEYOR","env":"APPVEYOR","pr":"APPVEYOR_PULL_REQUEST_NUMBER"},{"name":"AWS CodeBuild","constant":"CODEBUILD","env":"CODEBUILD_BUILD_ARN"},{"name":"Azure Pipelines","constant":"AZURE_PIPELINES","env":"TF_BUILD","pr":{"BUILD_REASON":"PullRequest"}},{"name":"Bamboo","constant":"BAMBOO","env":"bamboo_planKey"},{"name":"Bitbucket Pipelines","constant":"BITBUCKET","env":"BITBUCKET_COMMIT","pr":"BITBUCKET_PR_ID"},{"name":"Bitrise","constant":"BITRISE","env":"BITRISE_IO","pr":"BITRISE_PULL_REQUEST"},{"name":"Buddy","constant":"BUDDY","env":"BUDDY_WORKSPACE_ID","pr":"BUDDY_EXECUTION_PULL_REQUEST_ID"},{"name":"Buildkite","constant":"BUILDKITE","env":"BUILDKITE","pr":{"env":"BUILDKITE_PULL_REQUEST","ne":"false"}},{"name":"CircleCI","constant":"CIRCLE","env":"CIRCLECI","pr":"CIRCLE_PULL_REQUEST"},{"name":"Cirrus CI","constant":"CIRRUS","env":"CIRRUS_CI","pr":"CIRRUS_PR"},{"name":"Codefresh","constant":"CODEFRESH","env":"CF_BUILD_ID","pr":{"any":["CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_ID"]}},{"name":"Codemagic","constant":"CODEMAGIC","env":"CM_BUILD_ID","pr":"CM_PULL_REQUEST"},{"name":"Codeship","constant":"CODESHIP","env":{"CI_NAME":"codeship"}},{"name":"Drone","constant":"DRONE","env":"DRONE","pr":{"DRONE_BUILD_EVENT":"pull_request"}},{"name":"dsari","constant":"DSARI","env":"DSARI"},{"name":"Earthly","constant":"EARTHLY","env":"EARTHLY_CI"},{"name":"Expo Application Services","constant":"EAS","env":"EAS_BUILD"},{"name":"Gerrit","constant":"GERRIT","env":"GERRIT_PROJECT"},{"name":"Gitea Actions","constant":"GITEA_ACTIONS","env":"GITEA_ACTIONS"},{"name":"GitHub Actions","constant":"GITHUB_ACTIONS","env":"GITHUB_ACTIONS","pr":{"GITHUB_EVENT_NAME":"pull_request"}},{"name":"GitLab CI","constant":"GITLAB","env":"GITLAB_CI","pr":"CI_MERGE_REQUEST_ID"},{"name":"GoCD","constant":"GOCD","env":"GO_PIPELINE_LABEL"},{"name":"Google Cloud Build","constant":"GOOGLE_CLOUD_BUILD","env":"BUILDER_OUTPUT"},{"name":"Harness CI","constant":"HARNESS","env":"HARNESS_BUILD_ID"},{"name":"Heroku","constant":"HEROKU","env":{"env":"NODE","includes":"/app/.heroku/node/bin/node"}},{"name":"Hudson","constant":"HUDSON","env":"HUDSON_URL"},{"name":"Jenkins","constant":"JENKINS","env":["JENKINS_URL","BUILD_ID"],"pr":{"any":["ghprbPullId","CHANGE_ID"]}},{"name":"LayerCI","constant":"LAYERCI","env":"LAYERCI","pr":"LAYERCI_PULL_REQUEST"},{"name":"Magnum CI","constant":"MAGNUM","env":"MAGNUM"},{"name":"Netlify CI","constant":"NETLIFY","env":"NETLIFY","pr":{"env":"PULL_REQUEST","ne":"false"}},{"name":"Nevercode","constant":"NEVERCODE","env":"NEVERCODE","pr":{"env":"NEVERCODE_PULL_REQUEST","ne":"false"}},{"name":"Prow","constant":"PROW","env":"PROW_JOB_ID"},{"name":"ReleaseHub","constant":"RELEASEHUB","env":"RELEASE_BUILD_ID"},{"name":"Render","constant":"RENDER","env":"RENDER","pr":{"IS_PULL_REQUEST":"true"}},{"name":"Sail CI","constant":"SAIL","env":"SAILCI","pr":"SAIL_PULL_REQUEST_NUMBER"},{"name":"Screwdriver","constant":"SCREWDRIVER","env":"SCREWDRIVER","pr":{"env":"SD_PULL_REQUEST","ne":"false"}},{"name":"Semaphore","constant":"SEMAPHORE","env":"SEMAPHORE","pr":"PULL_REQUEST_NUMBER"},{"name":"Sourcehut","constant":"SOURCEHUT","env":{"CI_NAME":"sourcehut"}},{"name":"Strider CD","constant":"STRIDER","env":"STRIDER"},{"name":"TaskCluster","constant":"TASKCLUSTER","env":["TASK_ID","RUN_ID"]},{"name":"TeamCity","constant":"TEAMCITY","env":"TEAMCITY_VERSION"},{"name":"Travis CI","constant":"TRAVIS","env":"TRAVIS","pr":{"env":"TRAVIS_PULL_REQUEST","ne":"false"}},{"name":"Vela","constant":"VELA","env":"VELA","pr":{"VELA_PULL_REQUEST":"1"}},{"name":"Vercel","constant":"VERCEL","env":{"any":["NOW_BUILDER","VERCEL"]},"pr":"VERCEL_GIT_PULL_REQUEST_ID"},{"name":"Visual Studio App Center","constant":"APPCENTER","env":"APPCENTER_BUILD_ID"},{"name":"Woodpecker","constant":"WOODPECKER","env":{"CI":"woodpecker"},"pr":{"CI_BUILD_EVENT":"pull_request"}},{"name":"Xcode Cloud","constant":"XCODE_CLOUD","env":"CI_XCODE_PROJECT","pr":"CI_PULL_REQUEST_NUMBER"},{"name":"Xcode Server","constant":"XCODE_SERVER","env":"XCS"}]')}};var r={};function __nccwpck_require__(i){var o=r[i];if(o!==undefined){return o.exports}var a=r[i]={exports:{}};var c=true;try{t[i](a,a.exports,__nccwpck_require__);c=false}finally{if(c)delete r[i]}return a.exports}(()=>{__nccwpck_require__.n=t=>{var r=t&&t.__esModule?()=>t["default"]:()=>t;__nccwpck_require__.d(r,{a:r});return r}})();(()=>{__nccwpck_require__.d=(t,r)=>{for(var i in r){if(__nccwpck_require__.o(r,i)&&!__nccwpck_require__.o(t,i)){Object.defineProperty(t,i,{enumerable:true,get:r[i]})}}}})();(()=>{__nccwpck_require__.o=(t,r)=>Object.prototype.hasOwnProperty.call(t,r)})();if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var i={};(()=>{"use strict";var t=__nccwpck_require__(6395);var r=__nccwpck_require__.n(t);var i=__nccwpck_require__(8909);const{DM:o,gu:a,er:c,Ww:l,b7:u,Di:h,a2:d,uB:p,ef:m,c$:g,_V:y}=i;const v=require("node:util");var b=__nccwpck_require__(1708);var w=__nccwpck_require__(3024);var E=__nccwpck_require__(6760);const S=require("node:crypto");const $=require("node:assert");const isObject=t=>{const r=typeof t;return t!==null&&(r==="object"||r==="function")};const isEmptyObject=t=>isObject(t)&&Object.keys(t).length===0;const R=new Set(["__proto__","prototype","constructor"]);const P=new Set("0123456789");function getPathSegments(t){const r=[];let i="";let o="start";let a=false;for(const c of t){switch(c){case"\\":{if(o==="index"){throw new Error("Invalid character in an index")}if(o==="indexEnd"){throw new Error("Invalid character after an index")}if(a){i+=c}o="property";a=!a;break}case".":{if(o==="index"){throw new Error("Invalid character in an index")}if(o==="indexEnd"){o="property";break}if(a){a=false;i+=c;break}if(R.has(i)){return[]}r.push(i);i="";o="property";break}case"[":{if(o==="index"){throw new Error("Invalid character in an index")}if(o==="indexEnd"){o="index";break}if(a){a=false;i+=c;break}if(o==="property"){if(R.has(i)){return[]}r.push(i);i=""}o="index";break}case"]":{if(o==="index"){r.push(Number.parseInt(i,10));i="";o="indexEnd";break}if(o==="indexEnd"){throw new Error("Invalid character after an index")}}default:{if(o==="index"&&!P.has(c)){throw new Error("Invalid character in an index")}if(o==="indexEnd"){throw new Error("Invalid character after an index")}if(o==="start"){o="property"}if(a){a=false;i+="\\"}i+=c}}}if(a){i+="\\"}switch(o){case"property":{if(R.has(i)){return[]}r.push(i);break}case"index":{throw new Error("Index was not closed")}case"start":{r.push("");break}}return r}function isStringIndex(t,r){if(typeof r!=="number"&&Array.isArray(t)){const i=Number.parseInt(r,10);return Number.isInteger(i)&&t[i]===t[r]}return false}function assertNotStringIndex(t,r){if(isStringIndex(t,r)){throw new Error("Cannot use string index")}}function getProperty(t,r,i){if(!isObject(t)||typeof r!=="string"){return i===undefined?t:i}const o=getPathSegments(r);if(o.length===0){return i}for(let r=0;r<o.length;r++){const a=o[r];if(isStringIndex(t,a)){t=r===o.length-1?undefined:null}else{t=t[a]}if(t===undefined||t===null){if(r!==o.length-1){return i}break}}return t===undefined?i:t}function setProperty(t,r,i){if(!isObject(t)||typeof r!=="string"){return t}const o=t;const a=getPathSegments(r);for(let r=0;r<a.length;r++){const o=a[r];assertNotStringIndex(t,o);if(r===a.length-1){t[o]=i}else if(!isObject(t[o])){t[o]=typeof a[r+1]==="number"?[]:{}}t=t[o]}return o}function deleteProperty(t,r){if(!isObject(t)||typeof r!=="string"){return false}const i=getPathSegments(r);for(let r=0;r<i.length;r++){const o=i[r];assertNotStringIndex(t,o);if(r===i.length-1){delete t[o];return true}t=t[o];if(!isObject(t)){return false}}}function hasProperty(t,r){if(!isObject(t)||typeof r!=="string"){return false}const i=getPathSegments(r);if(i.length===0){return false}for(const r of i){if(!isObject(t)||!(r in t)||isStringIndex(t,r)){return false}t=t[r]}return true}function escapePath(t){if(typeof t!=="string"){throw new TypeError("Expected a string")}return t.replaceAll(/[\\.[]/g,"\\$&")}function entries(t){const r=Object.entries(t);if(Array.isArray(t)){return r.map((([t,r])=>[Number(t),r]))}return r}function stringifyPath(t){let r="";for(let[i,o]of entries(t)){if(typeof o==="number"){r+=`[${o}]`}else{o=escapePath(o);r+=i===0?o:`.${o}`}}return r}function*deepKeysIterator(t,r=[]){if(!isObject(t)||isEmptyObject(t)){if(r.length>0){yield stringifyPath(r)}return}for(const[i,o]of entries(t)){yield*deepKeysIterator(o,[...r,i])}}function deepKeys(t){return[...deepKeysIterator(t)]}const O=require("node:os");const A=O.homedir();const x=O.tmpdir();const{env:T}=b;const macos=t=>{const r=E.join(A,"Library");return{data:E.join(r,"Application Support",t),config:E.join(r,"Preferences",t),cache:E.join(r,"Caches",t),log:E.join(r,"Logs",t),temp:E.join(x,t)}};const windows=t=>{const r=T.APPDATA||E.join(A,"AppData","Roaming");const i=T.LOCALAPPDATA||E.join(A,"AppData","Local");return{data:E.join(i,t,"Data"),config:E.join(r,t,"Config"),cache:E.join(i,t,"Cache"),log:E.join(i,t,"Log"),temp:E.join(x,t)}};const linux=t=>{const r=E.basename(A);return{data:E.join(T.XDG_DATA_HOME||E.join(A,".local","share"),t),config:E.join(T.XDG_CONFIG_HOME||E.join(A,".config"),t),cache:E.join(T.XDG_CACHE_HOME||E.join(A,".cache"),t),log:E.join(T.XDG_STATE_HOME||E.join(A,".local","state"),t),temp:E.join(x,r,t)}};function envPaths(t,{suffix:r="nodejs"}={}){if(typeof t!=="string"){throw new TypeError(`Expected a string, got ${typeof t}`)}if(r){t+=`-${r}`}if(b.platform==="darwin"){return macos(t)}if(b.platform==="win32"){return windows(t)}return linux(t)}const attemptifyAsync=(t,r)=>function attemptified(...i){return t.apply(undefined,i).catch(r)};const attemptifySync=(t,r)=>function attemptified(...i){try{return t.apply(undefined,i)}catch(t){return r(t)}};const k=b.getuid?!b.getuid():false;const C=1e4;const NOOP=()=>undefined;const I={isChangeErrorOk:t=>{if(!I.isNodeError(t))return false;const{code:r}=t;if(r==="ENOSYS")return true;if(!k&&(r==="EINVAL"||r==="EPERM"))return true;return false},isNodeError:t=>t instanceof Error,isRetriableError:t=>{if(!I.isNodeError(t))return false;const{code:r}=t;if(r==="EMFILE"||r==="ENFILE"||r==="EAGAIN"||r==="EBUSY"||r==="EACCESS"||r==="EACCES"||r==="EACCS"||r==="EPERM")return true;return false},onChangeError:t=>{if(!I.isNodeError(t))throw t;if(I.isChangeErrorOk(t))return;throw t}};const N=I;class RetryfyQueue{constructor(){this.interval=25;this.intervalId=undefined;this.limit=C;this.queueActive=new Set;this.queueWaiting=new Set;this.init=()=>{if(this.intervalId)return;this.intervalId=setInterval(this.tick,this.interval)};this.reset=()=>{if(!this.intervalId)return;clearInterval(this.intervalId);delete this.intervalId};this.add=t=>{this.queueWaiting.add(t);if(this.queueActive.size<this.limit/2){this.tick()}else{this.init()}};this.remove=t=>{this.queueWaiting.delete(t);this.queueActive.delete(t)};this.schedule=()=>new Promise((t=>{const cleanup=()=>this.remove(resolver);const resolver=()=>t(cleanup);this.add(resolver)}));this.tick=()=>{if(this.queueActive.size>=this.limit)return;if(!this.queueWaiting.size)return this.reset();for(const t of this.queueWaiting){if(this.queueActive.size>=this.limit)break;this.queueWaiting.delete(t);this.queueActive.add(t);t()}}}}const D=new RetryfyQueue;const retryifyAsync=(t,r)=>function retrified(i){return function attempt(...o){return D.schedule().then((a=>{const onResolve=t=>{a();return t};const onReject=t=>{a();if(Date.now()>=i)throw t;if(r(t)){const t=Math.round(100*Math.random());const r=new Promise((r=>setTimeout(r,t)));return r.then((()=>attempt.apply(undefined,o)))}throw t};return t.apply(undefined,o).then(onResolve,onReject)}))}};const retryifySync=(t,r)=>function retrified(i){return function attempt(...o){try{return t.apply(undefined,o)}catch(t){if(Date.now()>i)throw t;if(r(t))return attempt.apply(undefined,o);throw t}}};const L={attempt:{chmod:attemptifyAsync((0,v.promisify)(w.chmod),N.onChangeError),chown:attemptifyAsync((0,v.promisify)(w.chown),N.onChangeError),close:attemptifyAsync((0,v.promisify)(w.close),NOOP),fsync:attemptifyAsync((0,v.promisify)(w.fsync),NOOP),mkdir:attemptifyAsync((0,v.promisify)(w.mkdir),NOOP),realpath:attemptifyAsync((0,v.promisify)(w.realpath),NOOP),stat:attemptifyAsync((0,v.promisify)(w.stat),NOOP),unlink:attemptifyAsync((0,v.promisify)(w.unlink),NOOP),chmodSync:attemptifySync(w.chmodSync,N.onChangeError),chownSync:attemptifySync(w.chownSync,N.onChangeError),closeSync:attemptifySync(w.closeSync,NOOP),existsSync:attemptifySync(w.existsSync,NOOP),fsyncSync:attemptifySync(w.fsync,NOOP),mkdirSync:attemptifySync(w.mkdirSync,NOOP),realpathSync:attemptifySync(w.realpathSync,NOOP),statSync:attemptifySync(w.statSync,NOOP),unlinkSync:attemptifySync(w.unlinkSync,NOOP)},retry:{close:retryifyAsync((0,v.promisify)(w.close),N.isRetriableError),fsync:retryifyAsync((0,v.promisify)(w.fsync),N.isRetriableError),open:retryifyAsync((0,v.promisify)(w.open),N.isRetriableError),readFile:retryifyAsync((0,v.promisify)(w.readFile),N.isRetriableError),rename:retryifyAsync((0,v.promisify)(w.rename),N.isRetriableError),stat:retryifyAsync((0,v.promisify)(w.stat),N.isRetriableError),write:retryifyAsync((0,v.promisify)(w.write),N.isRetriableError),writeFile:retryifyAsync((0,v.promisify)(w.writeFile),N.isRetriableError),closeSync:retryifySync(w.closeSync,N.isRetriableError),fsyncSync:retryifySync(w.fsyncSync,N.isRetriableError),openSync:retryifySync(w.openSync,N.isRetriableError),readFileSync:retryifySync(w.readFileSync,N.isRetriableError),renameSync:retryifySync(w.renameSync,N.isRetriableError),statSync:retryifySync(w.statSync,N.isRetriableError),writeSync:retryifySync(w.writeSync,N.isRetriableError),writeFileSync:retryifySync(w.writeFileSync,N.isRetriableError)}};const M=L;const j="utf8";const U=438;const B=511;const H={};const V={};const z=O.userInfo().uid;const G=O.userInfo().gid;const q=7500;const W=1e3;const K=!!b.getuid;const Y=b.getuid?!b.getuid():false;const Z=128;const X=1e4;const constants_NOOP=()=>{};const lang_isException=t=>t instanceof Error&&"code"in t;const lang_isFunction=t=>typeof t==="function";const lang_isString=t=>typeof t==="string";const lang_isUndefined=t=>t===undefined;const J={};const Q={next:t=>{const r=J[t];if(!r)return;r.shift();const i=r[0];if(i){i((()=>Q.next(t)))}else{delete J[t]}},schedule:t=>new Promise((r=>{let i=J[t];if(!i)i=J[t]=[];i.push(r);if(i.length>1)return;r((()=>Q.next(t)))}))};const ee=null&&Q;const te=b.platform==="linux";const re=b.platform==="win32";const se=["SIGABRT","SIGALRM","SIGHUP","SIGINT","SIGTERM"];if(!re){se.push("SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT")}if(te){se.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT","SIGUNUSED")}const ne=se;class Interceptor{constructor(){this.callbacks=new Set;this.exited=false;this.exit=t=>{if(this.exited)return;this.exited=true;for(const t of this.callbacks){t()}if(t){if(re&&(t!=="SIGINT"&&t!=="SIGTERM"&&t!=="SIGKILL")){b.kill(b.pid,"SIGTERM")}else{b.kill(b.pid,t)}}};this.hook=()=>{b.once("exit",(()=>this.exit()));for(const t of ne){try{b.once(t,(()=>this.exit(t)))}catch{}}};this.register=t=>{this.callbacks.add(t);return()=>{this.callbacks.delete(t)}};this.hook()}}const ie=new Interceptor;const oe=ie.register;const ae=oe;const ce={store:{},create:t=>{const r=`000000${Math.floor(Math.random()*16777215).toString(16)}`.slice(-6);const i=Date.now().toString().slice(-10);const o="tmp-";const a=`.${o}${i}${r}`;const c=`${t}${a}`;return c},get:(t,r,i=true)=>{const o=ce.truncate(r(t));if(o in ce.store)return ce.get(t,r,i);ce.store[o]=i;const disposer=()=>delete ce.store[o];return[o,disposer]},purge:t=>{if(!ce.store[t])return;delete ce.store[t];M.attempt.unlink(t)},purgeSync:t=>{if(!ce.store[t])return;delete ce.store[t];M.attempt.unlinkSync(t)},purgeSyncAll:()=>{for(const t in ce.store){ce.purgeSync(t)}},truncate:t=>{const r=E.basename(t);if(r.length<=Z)return t;const i=/^(\.?)(.*?)((?:\.[^.]+)?(?:\.tmp-\d{10}[a-f0-9]{6})?)$/.exec(r);if(!i)return t;const o=r.length-Z;return`${t.slice(0,-r.length)}${i[1]}${i[2].slice(0,-o)}${i[3]}`}};ae(ce.purgeSyncAll);const le=ce;function readFile(t,r=DEFAULT_READ_OPTIONS){if(isString(r))return readFile(t,{encoding:r});const i=Date.now()+((r.timeout??DEFAULT_TIMEOUT_ASYNC)||-1);return fs.retry.readFile(i)(t,r)}function readFileSync(t,r=DEFAULT_READ_OPTIONS){if(isString(r))return readFileSync(t,{encoding:r});const i=Date.now()+((r.timeout??DEFAULT_TIMEOUT_SYNC)||-1);return fs.retry.readFileSync(i)(t,r)}function writeFile(t,r,i,o){if(isFunction(i))return writeFile(t,r,DEFAULT_WRITE_OPTIONS,i);const a=writeFileAsync(t,r,i);if(o)a.then(o,o);return a}async function writeFileAsync(t,r,i=DEFAULT_WRITE_OPTIONS){if(isString(i))return writeFileAsync(t,r,{encoding:i});const o=Date.now()+((i.timeout??DEFAULT_TIMEOUT_ASYNC)||-1);let a=null;let c=null;let l=null;let u=null;let h=null;try{if(i.schedule)a=await i.schedule(t);c=await Scheduler.schedule(t);const d=await fs.attempt.realpath(t);const p=!!d;t=d||t;[u,l]=Temp.get(t,i.tmpCreate||Temp.create,!(i.tmpPurge===false));const m=IS_POSIX&&isUndefined(i.chown);const g=isUndefined(i.mode);if(p&&(m||g)){const r=await fs.attempt.stat(t);if(r){i={...i};if(m){i.chown={uid:r.uid,gid:r.gid}}if(g){i.mode=r.mode}}}if(!p){const r=path.dirname(t);await fs.attempt.mkdir(r,{mode:DEFAULT_FOLDER_MODE,recursive:true})}h=await fs.retry.open(o)(u,"w",i.mode||DEFAULT_FILE_MODE);if(i.tmpCreated){i.tmpCreated(u)}if(isString(r)){await fs.retry.write(o)(h,r,0,i.encoding||DEFAULT_ENCODING)}else if(!isUndefined(r)){await fs.retry.write(o)(h,r,0,r.length,0)}if(i.fsync!==false){if(i.fsyncWait!==false){await fs.retry.fsync(o)(h)}else{fs.attempt.fsync(h)}}await fs.retry.close(o)(h);h=null;if(i.chown&&(i.chown.uid!==DEFAULT_USER_UID||i.chown.gid!==DEFAULT_USER_GID)){await fs.attempt.chown(u,i.chown.uid,i.chown.gid)}if(i.mode&&i.mode!==DEFAULT_FILE_MODE){await fs.attempt.chmod(u,i.mode)}try{await fs.retry.rename(o)(u,t)}catch(r){if(!isException(r))throw r;if(r.code!=="ENAMETOOLONG")throw r;await fs.retry.rename(o)(u,Temp.truncate(t))}l();u=null}finally{if(h)await fs.attempt.close(h);if(u)Temp.purge(u);if(a)a();if(c)c()}}function writeFileSync(t,r,i=V){if(lang_isString(i))return writeFileSync(t,r,{encoding:i});const o=Date.now()+((i.timeout??W)||-1);let a=null;let c=null;let l=null;try{const u=M.attempt.realpathSync(t);const h=!!u;t=u||t;[c,a]=le.get(t,i.tmpCreate||le.create,!(i.tmpPurge===false));const d=K&&lang_isUndefined(i.chown);const p=lang_isUndefined(i.mode);if(h&&(d||p)){const r=M.attempt.statSync(t);if(r){i={...i};if(d){i.chown={uid:r.uid,gid:r.gid}}if(p){i.mode=r.mode}}}if(!h){const r=E.dirname(t);M.attempt.mkdirSync(r,{mode:B,recursive:true})}l=M.retry.openSync(o)(c,"w",i.mode||U);if(i.tmpCreated){i.tmpCreated(c)}if(lang_isString(r)){M.retry.writeSync(o)(l,r,0,i.encoding||j)}else if(!lang_isUndefined(r)){M.retry.writeSync(o)(l,r,0,r.length,0)}if(i.fsync!==false){if(i.fsyncWait!==false){M.retry.fsyncSync(o)(l)}else{M.attempt.fsync(l)}}M.retry.closeSync(o)(l);l=null;if(i.chown&&(i.chown.uid!==z||i.chown.gid!==G)){M.attempt.chownSync(c,i.chown.uid,i.chown.gid)}if(i.mode&&i.mode!==U){M.attempt.chmodSync(c,i.mode)}try{M.retry.renameSync(o)(c,t)}catch(r){if(!lang_isException(r))throw r;if(r.code!=="ENAMETOOLONG")throw r;M.retry.renameSync(o)(c,le.truncate(t))}a();c=null}finally{if(l)M.attempt.closeSync(l);if(c)le.purge(c)}}var ue=__nccwpck_require__(939);var he=__nccwpck_require__(2815);const copyProperty=(t,r,i,o)=>{if(i==="length"||i==="prototype"){return}if(i==="arguments"||i==="caller"){return}const a=Object.getOwnPropertyDescriptor(t,i);const c=Object.getOwnPropertyDescriptor(r,i);if(!canCopyProperty(a,c)&&o){return}Object.defineProperty(t,i,c)};const canCopyProperty=function(t,r){return t===undefined||t.configurable||t.writable===r.writable&&t.enumerable===r.enumerable&&t.configurable===r.configurable&&(t.writable||t.value===r.value)};const changePrototype=(t,r)=>{const i=Object.getPrototypeOf(r);if(i===Object.getPrototypeOf(t)){return}Object.setPrototypeOf(t,i)};const wrappedToString=(t,r)=>`/* Wrapped ${t}*/\n${r}`;const fe=Object.getOwnPropertyDescriptor(Function.prototype,"toString");const de=Object.getOwnPropertyDescriptor(Function.prototype.toString,"name");const changeToString=(t,r,i)=>{const o=i===""?"":`with ${i.trim()}() `;const a=wrappedToString.bind(null,o,r.toString());Object.defineProperty(a,"name",de);const{writable:c,enumerable:l,configurable:u}=fe;Object.defineProperty(t,"toString",{value:a,writable:c,enumerable:l,configurable:u})};function mimicFunction(t,r,{ignoreNonConfigurable:i=false}={}){const{name:o}=t;for(const o of Reflect.ownKeys(r)){copyProperty(t,r,o,i)}changePrototype(t,r);changeToString(t,r,o);return t}const debounceFunction=(t,r={})=>{if(typeof t!=="function"){throw new TypeError(`Expected the first argument to be a function, got \`${typeof t}\``)}const{wait:i=0,maxWait:o=Number.POSITIVE_INFINITY,before:a=false,after:c=true}=r;if(i<0||o<0){throw new RangeError("`wait` and `maxWait` must not be negative.")}if(!a&&!c){throw new Error("Both `before` and `after` are false, function wouldn't be called.")}let l;let u;let h;const debouncedFunction=function(...r){const d=this;const later=()=>{l=undefined;if(u){clearTimeout(u);u=undefined}if(c){h=t.apply(d,r)}};const maxLater=()=>{u=undefined;if(l){clearTimeout(l);l=undefined}if(c){h=t.apply(d,r)}};const p=a&&!l;clearTimeout(l);l=setTimeout(later,i);if(o>0&&o!==Number.POSITIVE_INFINITY&&!u){u=setTimeout(maxLater,o)}if(p){h=t.apply(d,r)}return h};mimicFunction(debouncedFunction,t);debouncedFunction.cancel=()=>{if(l){clearTimeout(l);l=undefined}if(u){clearTimeout(u);u=undefined}};return debouncedFunction};const pe=debounceFunction;var me=__nccwpck_require__(6723);const ge=Object.prototype.toString;const ye="[object Uint8Array]";const _e="[object ArrayBuffer]";function isType(t,r,i){if(!t){return false}if(t.constructor===r){return true}return ge.call(t)===i}function isUint8Array(t){return isType(t,Uint8Array,ye)}function isArrayBuffer(t){return isType(t,ArrayBuffer,_e)}function isUint8ArrayOrArrayBuffer(t){return isUint8Array(t)||isArrayBuffer(t)}function assertUint8Array(t){if(!isUint8Array(t)){throw new TypeError(`Expected \`Uint8Array\`, got \`${typeof t}\``)}}function assertUint8ArrayOrArrayBuffer(t){if(!isUint8ArrayOrArrayBuffer(t)){throw new TypeError(`Expected \`Uint8Array\` or \`ArrayBuffer\`, got \`${typeof t}\``)}}function toUint8Array(t){if(t instanceof ArrayBuffer){return new Uint8Array(t)}if(ArrayBuffer.isView(t)){return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}throw new TypeError(`Unsupported value, got \`${typeof t}\`.`)}function concatUint8Arrays(t,r){if(t.length===0){return new Uint8Array(0)}r??=t.reduce(((t,r)=>t+r.length),0);const i=new Uint8Array(r);let o=0;for(const r of t){assertUint8Array(r);i.set(r,o);o+=r.length}return i}function areUint8ArraysEqual(t,r){assertUint8Array(t);assertUint8Array(r);if(t===r){return true}if(t.length!==r.length){return false}for(let i=0;i<t.length;i++){if(t[i]!==r[i]){return false}}return true}function compareUint8Arrays(t,r){assertUint8Array(t);assertUint8Array(r);const i=Math.min(t.length,r.length);for(let o=0;o<i;o++){const i=t[o]-r[o];if(i!==0){return Math.sign(i)}}return Math.sign(t.length-r.length)}const ve={utf8:new globalThis.TextDecoder("utf8")};function uint8ArrayToString(t,r="utf8"){assertUint8ArrayOrArrayBuffer(t);ve[r]??=new globalThis.TextDecoder(r);return ve[r].decode(t)}function assertString(t){if(typeof t!=="string"){throw new TypeError(`Expected \`string\`, got \`${typeof t}\``)}}const be=new globalThis.TextEncoder;function stringToUint8Array(t){assertString(t);return be.encode(t)}function base64ToBase64Url(t){return t.replaceAll("+","-").replaceAll("/","_").replace(/=+$/,"")}function base64UrlToBase64(t){return t.replaceAll("-","+").replaceAll("_","/")}const we=65535;function uint8ArrayToBase64(t,{urlSafe:r=false}={}){assertUint8Array(t);let i;if(t.length<we){i=globalThis.btoa(String.fromCodePoint.apply(this,t))}else{i="";for(const r of t){i+=String.fromCodePoint(r)}i=globalThis.btoa(i)}return r?base64ToBase64Url(i):i}function base64ToUint8Array(t){assertString(t);return Uint8Array.from(globalThis.atob(base64UrlToBase64(t)),(t=>t.codePointAt(0)))}function stringToBase64(t,{urlSafe:r=false}={}){assertString(t);return uint8ArrayToBase64(stringToUint8Array(t),{urlSafe:r})}function base64ToString(t){assertString(t);return uint8ArrayToString(base64ToUint8Array(t))}const Ee=Array.from({length:256},((t,r)=>r.toString(16).padStart(2,"0")));function uint8ArrayToHex(t){assertUint8Array(t);let r="";for(let i=0;i<t.length;i++){r+=Ee[t[i]]}return r}const Se={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,b:11,c:12,d:13,e:14,f:15,A:10,B:11,C:12,D:13,E:14,F:15};function hexToUint8Array(t){assertString(t);if(t.length%2!==0){throw new Error("Invalid Hex string length.")}const r=t.length/2;const i=new Uint8Array(r);for(let o=0;o<r;o++){const r=Se[t[o*2]];const a=Se[t[o*2+1]];if(r===undefined||a===undefined){throw new Error(`Invalid Hex character encountered at position ${o*2}`)}i[o]=r<<4|a}return i}function getUintBE(t){const{byteLength:r}=t;if(r===6){return t.getUint16(0)*2**32+t.getUint32(2)}if(r===5){return t.getUint8(0)*2**32+t.getUint32(1)}if(r===4){return t.getUint32(0)}if(r===3){return t.getUint8(0)*2**16+t.getUint16(1)}if(r===2){return t.getUint16(0)}if(r===1){return t.getUint8(0)}}function indexOf(t,r){const i=t.length;const o=r.length;if(o===0){return-1}if(o>i){return-1}const a=i-o;for(let i=0;i<=a;i++){let a=true;for(let c=0;c<o;c++){if(t[i+c]!==r[c]){a=false;break}}if(a){return i}}return-1}function includes(t,r){return indexOf(t,r)!==-1}const $e=he["default"];const Re="aes-256-cbc";const createPlainObject=()=>Object.create(null);const isExist=t=>t!==undefined&&t!==null;const checkValueType=(t,r)=>{const i=new Set(["undefined","symbol","function"]);const o=typeof r;if(i.has(o)){throw new TypeError(`Setting a value of type \`${o}\` for key \`${t}\` is not allowed as it's not supported by JSON`)}};const Pe="__internal__";const Oe=`${Pe}.migrations.version`;class Conf{path;events;#e;#t;#r;#s={};constructor(t={}){const r={configName:"config",fileExtension:"json",projectSuffix:"nodejs",clearInvalidConfig:false,accessPropertiesByDotNotation:true,configFileMode:438,...t};if(!r.cwd){if(!r.projectName){throw new Error("Please specify the `projectName` option.")}r.cwd=envPaths(r.projectName,{suffix:r.projectSuffix}).config}this.#r=r;if(r.schema){if(typeof r.schema!=="object"){throw new TypeError("The `schema` option must be an object.")}const t=new ue.Ajv2020({allErrors:true,useDefaults:true});$e(t);const i={type:"object",properties:r.schema};this.#e=t.compile(i);for(const[t,i]of Object.entries(r.schema)){if(i?.default){this.#s[t]=i.default}}}if(r.defaults){this.#s={...this.#s,...r.defaults}}if(r.serialize){this._serialize=r.serialize}if(r.deserialize){this._deserialize=r.deserialize}this.events=new EventTarget;this.#t=r.encryptionKey;const i=r.fileExtension?`.${r.fileExtension}`:"";this.path=E.resolve(r.cwd,`${r.configName??"config"}${i}`);const o=this.store;const a=Object.assign(createPlainObject(),r.defaults,o);if(r.migrations){if(!r.projectVersion){throw new Error("Please specify the `projectVersion` option.")}this._migrate(r.migrations,r.projectVersion,r.beforeEachMigration)}this._validate(a);try{$.deepEqual(o,a)}catch{this.store=a}if(r.watch){this._watch()}}get(t,r){if(this.#r.accessPropertiesByDotNotation){return this._get(t,r)}const{store:i}=this;return t in i?i[t]:r}set(t,r){if(typeof t!=="string"&&typeof t!=="object"){throw new TypeError(`Expected \`key\` to be of type \`string\` or \`object\`, got ${typeof t}`)}if(typeof t!=="object"&&r===undefined){throw new TypeError("Use `delete()` to clear values")}if(this._containsReservedKey(t)){throw new TypeError(`Please don't use the ${Pe} key, as it's used to manage this module internal operations.`)}const{store:i}=this;const set=(t,r)=>{checkValueType(t,r);if(this.#r.accessPropertiesByDotNotation){setProperty(i,t,r)}else{i[t]=r}};if(typeof t==="object"){const r=t;for(const[t,i]of Object.entries(r)){set(t,i)}}else{set(t,r)}this.store=i}has(t){if(this.#r.accessPropertiesByDotNotation){return hasProperty(this.store,t)}return t in this.store}reset(...t){for(const r of t){if(isExist(this.#s[r])){this.set(r,this.#s[r])}}}delete(t){const{store:r}=this;if(this.#r.accessPropertiesByDotNotation){deleteProperty(r,t)}else{delete r[t]}this.store=r}clear(){this.store=createPlainObject();for(const t of Object.keys(this.#s)){this.reset(t)}}onDidChange(t,r){if(typeof t!=="string"){throw new TypeError(`Expected \`key\` to be of type \`string\`, got ${typeof t}`)}if(typeof r!=="function"){throw new TypeError(`Expected \`callback\` to be of type \`function\`, got ${typeof r}`)}return this._handleChange((()=>this.get(t)),r)}onDidAnyChange(t){if(typeof t!=="function"){throw new TypeError(`Expected \`callback\` to be of type \`function\`, got ${typeof t}`)}return this._handleChange((()=>this.store),t)}get size(){return Object.keys(this.store).length}get store(){try{const t=w.readFileSync(this.path,this.#t?null:"utf8");const r=this._encryptData(t);const i=this._deserialize(r);this._validate(i);return Object.assign(createPlainObject(),i)}catch(t){if(t?.code==="ENOENT"){this._ensureDirectory();return createPlainObject()}if(this.#r.clearInvalidConfig&&t.name==="SyntaxError"){return createPlainObject()}throw t}}set store(t){this._ensureDirectory();this._validate(t);this._write(t);this.events.dispatchEvent(new Event("change"))}*[Symbol.iterator](){for(const[t,r]of Object.entries(this.store)){yield[t,r]}}_encryptData(t){if(!this.#t){return typeof t==="string"?t:uint8ArrayToString(t)}try{const r=t.slice(0,16);const i=S.pbkdf2Sync(this.#t,r.toString(),1e4,32,"sha512");const o=S.createDecipheriv(Re,i,r);const a=t.slice(17);const c=typeof a==="string"?stringToUint8Array(a):a;return uint8ArrayToString(concatUint8Arrays([o.update(c),o.final()]))}catch{}return t.toString()}_handleChange(t,r){let i=t();const onChange=()=>{const o=i;const a=t();if((0,v.isDeepStrictEqual)(a,o)){return}i=a;r.call(this,a,o)};this.events.addEventListener("change",onChange);return()=>{this.events.removeEventListener("change",onChange)}}_deserialize=t=>JSON.parse(t);_serialize=t=>JSON.stringify(t,undefined,"\t");_validate(t){if(!this.#e){return}const r=this.#e(t);if(r||!this.#e.errors){return}const i=this.#e.errors.map((({instancePath:t,message:r=""})=>`\`${t.slice(1)}\` ${r}`));throw new Error("Config schema violation: "+i.join("; "))}_ensureDirectory(){w.mkdirSync(E.dirname(this.path),{recursive:true})}_write(t){let r=this._serialize(t);if(this.#t){const t=S.randomBytes(16);const i=S.pbkdf2Sync(this.#t,t.toString(),1e4,32,"sha512");const o=S.createCipheriv(Re,i,t);r=concatUint8Arrays([t,stringToUint8Array(":"),o.update(stringToUint8Array(r)),o.final()])}if(b.env.SNAP){w.writeFileSync(this.path,r,{mode:this.#r.configFileMode})}else{try{writeFileSync(this.path,r,{mode:this.#r.configFileMode})}catch(t){if(t?.code==="EXDEV"){w.writeFileSync(this.path,r,{mode:this.#r.configFileMode});return}throw t}}}_watch(){this._ensureDirectory();if(!w.existsSync(this.path)){this._write(createPlainObject())}if(b.platform==="win32"){w.watch(this.path,{persistent:false},pe((()=>{this.events.dispatchEvent(new Event("change"))}),{wait:100}))}else{w.watchFile(this.path,{persistent:false},pe((()=>{this.events.dispatchEvent(new Event("change"))}),{wait:5e3}))}}_migrate(t,r,i){let o=this._get(Oe,"0.0.0");const a=Object.keys(t).filter((t=>this._shouldPerformMigration(t,o,r)));let c={...this.store};for(const l of a){try{if(i){i(this,{fromVersion:o,toVersion:l,finalVersion:r,versions:a})}const u=t[l];u?.(this);this._set(Oe,l);o=l;c={...this.store}}catch(t){this.store=c;throw new Error(`Something went wrong during the migration! Changes applied to the store until this failed migration will be restored. ${t}`)}}if(this._isVersionInRangeFormat(o)||!me.eq(o,r)){this._set(Oe,r)}}_containsReservedKey(t){if(typeof t==="object"){const r=Object.keys(t)[0];if(r===Pe){return true}}if(typeof t!=="string"){return false}if(this.#r.accessPropertiesByDotNotation){if(t.startsWith(`${Pe}.`)){return true}return false}return false}_isVersionInRangeFormat(t){return me.clean(t)===null}_shouldPerformMigration(t,r,i){if(this._isVersionInRangeFormat(t)){if(r!=="0.0.0"&&me.satisfies(r,t)){return false}return me.satisfies(i,t)}if(me.lte(t,r)){return false}if(me.gt(t,i)){return false}return true}_get(t,r){return getProperty(this.store,t,r)}_set(t,r){const{store:i}=this;setProperty(i,t,r);this.store=i}}var Ae=__nccwpck_require__(9896);var xe=__nccwpck_require__(6928);var Te=__nccwpck_require__.n(xe);var ke=__nccwpck_require__(9033);var Ce=__nccwpck_require__(7298);var Ie=__nccwpck_require__.n(Ce);var Ne=__nccwpck_require__(1083);var De=__nccwpck_require__.n(Ne);var Le=__nccwpck_require__(9850);var Me=__nccwpck_require__.n(Le);var je=__nccwpck_require__(2203);const Fe=require("stream/promises");var Ue=__nccwpck_require__(4434);var Be=__nccwpck_require__(8474);const He=require("node:stream");const Ve=require("node:string_decoder");const ze=typeof process==="object"&&process?process:{stdout:null,stderr:null};const isStream=t=>!!t&&typeof t==="object"&&(t instanceof Minipass||t instanceof He||isReadable(t)||isWritable(t));const isReadable=t=>!!t&&typeof t==="object"&&t instanceof Be.EventEmitter&&typeof t.pipe==="function"&&t.pipe!==He.Writable.prototype.pipe;const isWritable=t=>!!t&&typeof t==="object"&&t instanceof Be.EventEmitter&&typeof t.write==="function"&&typeof t.end==="function";const Ge=Symbol("EOF");const qe=Symbol("maybeEmitEnd");const We=Symbol("emittedEnd");const Ke=Symbol("emittingEnd");const Ye=Symbol("emittedError");const Ze=Symbol("closed");const Xe=Symbol("read");const Je=Symbol("flush");const Qe=Symbol("flushChunk");const et=Symbol("encoding");const tt=Symbol("decoder");const rt=Symbol("flowing");const st=Symbol("paused");const nt=Symbol("resume");const it=Symbol("buffer");const ot=Symbol("pipes");const at=Symbol("bufferLength");const ct=Symbol("bufferPush");const ut=Symbol("bufferShift");const ht=Symbol("objectMode");const ft=Symbol("destroyed");const dt=Symbol("error");const pt=Symbol("emitData");const mt=Symbol("emitEnd");const yt=Symbol("emitEnd2");const _t=Symbol("async");const vt=Symbol("abort");const bt=Symbol("aborted");const wt=Symbol("signal");const Et=Symbol("dataListeners");const St=Symbol("discarded");const defer=t=>Promise.resolve().then(t);const nodefer=t=>t();const isEndish=t=>t==="end"||t==="finish"||t==="prefinish";const isArrayBufferLike=t=>t instanceof ArrayBuffer||!!t&&typeof t==="object"&&t.constructor&&t.constructor.name==="ArrayBuffer"&&t.byteLength>=0;const isArrayBufferView=t=>!Buffer.isBuffer(t)&&ArrayBuffer.isView(t);class Pipe{src;dest;opts;ondrain;constructor(t,r,i){this.src=t;this.dest=r;this.opts=i;this.ondrain=()=>t[nt]();this.dest.on("drain",this.ondrain)}unpipe(){this.dest.removeListener("drain",this.ondrain)}proxyErrors(t){}end(){this.unpipe();if(this.opts.end)this.dest.end()}}class PipeProxyErrors extends Pipe{unpipe(){this.src.removeListener("error",this.proxyErrors);super.unpipe()}constructor(t,r,i){super(t,r,i);this.proxyErrors=t=>r.emit("error",t);t.on("error",this.proxyErrors)}}const isObjectModeOptions=t=>!!t.objectMode;const isEncodingOptions=t=>!t.objectMode&&!!t.encoding&&t.encoding!=="buffer";class Minipass extends Be.EventEmitter{[rt]=false;[st]=false;[ot]=[];[it]=[];[ht];[et];[_t];[tt];[Ge]=false;[We]=false;[Ke]=false;[Ze]=false;[Ye]=null;[at]=0;[ft]=false;[wt];[bt]=false;[Et]=0;[St]=false;writable=true;readable=true;constructor(...t){const r=t[0]||{};super();if(r.objectMode&&typeof r.encoding==="string"){throw new TypeError("Encoding and objectMode may not be used together")}if(isObjectModeOptions(r)){this[ht]=true;this[et]=null}else if(isEncodingOptions(r)){this[et]=r.encoding;this[ht]=false}else{this[ht]=false;this[et]=null}this[_t]=!!r.async;this[tt]=this[et]?new Ve.StringDecoder(this[et]):null;if(r&&r.debugExposeBuffer===true){Object.defineProperty(this,"buffer",{get:()=>this[it]})}if(r&&r.debugExposePipes===true){Object.defineProperty(this,"pipes",{get:()=>this[ot]})}const{signal:i}=r;if(i){this[wt]=i;if(i.aborted){this[vt]()}else{i.addEventListener("abort",(()=>this[vt]()))}}}get bufferLength(){return this[at]}get encoding(){return this[et]}set encoding(t){throw new Error("Encoding must be set at instantiation time")}setEncoding(t){throw new Error("Encoding must be set at instantiation time")}get objectMode(){return this[ht]}set objectMode(t){throw new Error("objectMode must be set at instantiation time")}get["async"](){return this[_t]}set["async"](t){this[_t]=this[_t]||!!t}[vt](){this[bt]=true;this.emit("abort",this[wt]?.reason);this.destroy(this[wt]?.reason)}get aborted(){return this[bt]}set aborted(t){}write(t,r,i){if(this[bt])return false;if(this[Ge])throw new Error("write after end");if(this[ft]){this.emit("error",Object.assign(new Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"}));return true}if(typeof r==="function"){i=r;r="utf8"}if(!r)r="utf8";const o=this[_t]?defer:nodefer;if(!this[ht]&&!Buffer.isBuffer(t)){if(isArrayBufferView(t)){t=Buffer.from(t.buffer,t.byteOffset,t.byteLength)}else if(isArrayBufferLike(t)){t=Buffer.from(t)}else if(typeof t!=="string"){throw new Error("Non-contiguous data written to non-objectMode stream")}}if(this[ht]){if(this[rt]&&this[at]!==0)this[Je](true);if(this[rt])this.emit("data",t);else this[ct](t);if(this[at]!==0)this.emit("readable");if(i)o(i);return this[rt]}if(!t.length){if(this[at]!==0)this.emit("readable");if(i)o(i);return this[rt]}if(typeof t==="string"&&!(r===this[et]&&!this[tt]?.lastNeed)){t=Buffer.from(t,r)}if(Buffer.isBuffer(t)&&this[et]){t=this[tt].write(t)}if(this[rt]&&this[at]!==0)this[Je](true);if(this[rt])this.emit("data",t);else this[ct](t);if(this[at]!==0)this.emit("readable");if(i)o(i);return this[rt]}read(t){if(this[ft])return null;this[St]=false;if(this[at]===0||t===0||t&&t>this[at]){this[qe]();return null}if(this[ht])t=null;if(this[it].length>1&&!this[ht]){this[it]=[this[et]?this[it].join(""):Buffer.concat(this[it],this[at])]}const r=this[Xe](t||null,this[it][0]);this[qe]();return r}[Xe](t,r){if(this[ht])this[ut]();else{const i=r;if(t===i.length||t===null)this[ut]();else if(typeof i==="string"){this[it][0]=i.slice(t);r=i.slice(0,t);this[at]-=t}else{this[it][0]=i.subarray(t);r=i.subarray(0,t);this[at]-=t}}this.emit("data",r);if(!this[it].length&&!this[Ge])this.emit("drain");return r}end(t,r,i){if(typeof t==="function"){i=t;t=undefined}if(typeof r==="function"){i=r;r="utf8"}if(t!==undefined)this.write(t,r);if(i)this.once("end",i);this[Ge]=true;this.writable=false;if(this[rt]||!this[st])this[qe]();return this}[nt](){if(this[ft])return;if(!this[Et]&&!this[ot].length){this[St]=true}this[st]=false;this[rt]=true;this.emit("resume");if(this[it].length)this[Je]();else if(this[Ge])this[qe]();else this.emit("drain")}resume(){return this[nt]()}pause(){this[rt]=false;this[st]=true;this[St]=false}get destroyed(){return this[ft]}get flowing(){return this[rt]}get paused(){return this[st]}[ct](t){if(this[ht])this[at]+=1;else this[at]+=t.length;this[it].push(t)}[ut](){if(this[ht])this[at]-=1;else this[at]-=this[it][0].length;return this[it].shift()}[Je](t=false){do{}while(this[Qe](this[ut]())&&this[it].length);if(!t&&!this[it].length&&!this[Ge])this.emit("drain")}[Qe](t){this.emit("data",t);return this[rt]}pipe(t,r){if(this[ft])return t;this[St]=false;const i=this[We];r=r||{};if(t===ze.stdout||t===ze.stderr)r.end=false;else r.end=r.end!==false;r.proxyErrors=!!r.proxyErrors;if(i){if(r.end)t.end()}else{this[ot].push(!r.proxyErrors?new Pipe(this,t,r):new PipeProxyErrors(this,t,r));if(this[_t])defer((()=>this[nt]()));else this[nt]()}return t}unpipe(t){const r=this[ot].find((r=>r.dest===t));if(r){if(this[ot].length===1){if(this[rt]&&this[Et]===0){this[rt]=false}this[ot]=[]}else this[ot].splice(this[ot].indexOf(r),1);r.unpipe()}}addListener(t,r){return this.on(t,r)}on(t,r){const i=super.on(t,r);if(t==="data"){this[St]=false;this[Et]++;if(!this[ot].length&&!this[rt]){this[nt]()}}else if(t==="readable"&&this[at]!==0){super.emit("readable")}else if(isEndish(t)&&this[We]){super.emit(t);this.removeAllListeners(t)}else if(t==="error"&&this[Ye]){const t=r;if(this[_t])defer((()=>t.call(this,this[Ye])));else t.call(this,this[Ye])}return i}removeListener(t,r){return this.off(t,r)}off(t,r){const i=super.off(t,r);if(t==="data"){this[Et]=this.listeners("data").length;if(this[Et]===0&&!this[St]&&!this[ot].length){this[rt]=false}}return i}removeAllListeners(t){const r=super.removeAllListeners(t);if(t==="data"||t===undefined){this[Et]=0;if(!this[St]&&!this[ot].length){this[rt]=false}}return r}get emittedEnd(){return this[We]}[qe](){if(!this[Ke]&&!this[We]&&!this[ft]&&this[it].length===0&&this[Ge]){this[Ke]=true;this.emit("end");this.emit("prefinish");this.emit("finish");if(this[Ze])this.emit("close");this[Ke]=false}}emit(t,...r){const i=r[0];if(t!=="error"&&t!=="close"&&t!==ft&&this[ft]){return false}else if(t==="data"){return!this[ht]&&!i?false:this[_t]?(defer((()=>this[pt](i))),true):this[pt](i)}else if(t==="end"){return this[mt]()}else if(t==="close"){this[Ze]=true;if(!this[We]&&!this[ft])return false;const t=super.emit("close");this.removeAllListeners("close");return t}else if(t==="error"){this[Ye]=i;super.emit(dt,i);const t=!this[wt]||this.listeners("error").length?super.emit("error",i):false;this[qe]();return t}else if(t==="resume"){const t=super.emit("resume");this[qe]();return t}else if(t==="finish"||t==="prefinish"){const r=super.emit(t);this.removeAllListeners(t);return r}const o=super.emit(t,...r);this[qe]();return o}[pt](t){for(const r of this[ot]){if(r.dest.write(t)===false)this.pause()}const r=this[St]?false:super.emit("data",t);this[qe]();return r}[mt](){if(this[We])return false;this[We]=true;this.readable=false;return this[_t]?(defer((()=>this[yt]())),true):this[yt]()}[yt](){if(this[tt]){const t=this[tt].end();if(t){for(const r of this[ot]){r.dest.write(t)}if(!this[St])super.emit("data",t)}}for(const t of this[ot]){t.end()}const t=super.emit("end");this.removeAllListeners("end");return t}async collect(){const t=Object.assign([],{dataLength:0});if(!this[ht])t.dataLength=0;const r=this.promise();this.on("data",(r=>{t.push(r);if(!this[ht])t.dataLength+=r.length}));await r;return t}async concat(){if(this[ht]){throw new Error("cannot concat in objectMode")}const t=await this.collect();return this[et]?t.join(""):Buffer.concat(t,t.dataLength)}async promise(){return new Promise(((t,r)=>{this.on(ft,(()=>r(new Error("stream destroyed"))));this.on("error",(t=>r(t)));this.on("end",(()=>t()))}))}[Symbol.asyncIterator](){this[St]=false;let t=false;const stop=async()=>{this.pause();t=true;return{value:undefined,done:true}};const next=()=>{if(t)return stop();const r=this.read();if(r!==null)return Promise.resolve({done:false,value:r});if(this[Ge])return stop();let i;let o;const onerr=t=>{this.off("data",ondata);this.off("end",onend);this.off(ft,ondestroy);stop();o(t)};const ondata=t=>{this.off("error",onerr);this.off("end",onend);this.off(ft,ondestroy);this.pause();i({value:t,done:!!this[Ge]})};const onend=()=>{this.off("error",onerr);this.off("data",ondata);this.off(ft,ondestroy);stop();i({done:true,value:undefined})};const ondestroy=()=>onerr(new Error("stream destroyed"));return new Promise(((t,r)=>{o=r;i=t;this.once(ft,ondestroy);this.once("error",onerr);this.once("end",onend);this.once("data",ondata)}))};return{next:next,throw:stop,return:stop,[Symbol.asyncIterator](){return this}}}[Symbol.iterator](){this[St]=false;let t=false;const stop=()=>{this.pause();this.off(dt,stop);this.off(ft,stop);this.off("end",stop);t=true;return{done:true,value:undefined}};const next=()=>{if(t)return stop();const r=this.read();return r===null?stop():{done:false,value:r}};this.once("end",stop);this.once(dt,stop);this.once(ft,stop);return{next:next,throw:stop,return:stop,[Symbol.iterator](){return this}}}destroy(t){if(this[ft]){if(t)this.emit("error",t);else this.emit(ft);return this}this[ft]=true;this[St]=true;this[it].length=0;this[at]=0;const r=this;if(typeof r.close==="function"&&!this[Ze])r.close();if(t)this.emit("error",t);else this.emit(ft);return this}static get isStream(){return isStream}}const $t=Ae.writev;const Rt=Symbol("_autoClose");const Pt=Symbol("_close");const Ot=Symbol("_ended");const At=Symbol("_fd");const xt=Symbol("_finished");const Tt=Symbol("_flags");const kt=Symbol("_flush");const Ct=Symbol("_handleChunk");const It=Symbol("_makeBuf");const Nt=Symbol("_mode");const Dt=Symbol("_needDrain");const Lt=Symbol("_onerror");const Mt=Symbol("_onopen");const jt=Symbol("_onread");const Ft=Symbol("_onwrite");const Ut=Symbol("_open");const Bt=Symbol("_path");const Ht=Symbol("_pos");const Vt=Symbol("_queue");const zt=Symbol("_read");const Gt=Symbol("_readSize");const qt=Symbol("_reading");const Wt=Symbol("_remain");const Kt=Symbol("_size");const Yt=Symbol("_write");const Zt=Symbol("_writing");const Xt=Symbol("_defaultFlag");const Jt=Symbol("_errored");class ReadStream extends Minipass{[Jt]=false;[At];[Bt];[Gt];[qt]=false;[Kt];[Wt];[Rt];constructor(t,r){r=r||{};super(r);this.readable=true;this.writable=false;if(typeof t!=="string"){throw new TypeError("path must be a string")}this[Jt]=false;this[At]=typeof r.fd==="number"?r.fd:undefined;this[Bt]=t;this[Gt]=r.readSize||16*1024*1024;this[qt]=false;this[Kt]=typeof r.size==="number"?r.size:Infinity;this[Wt]=this[Kt];this[Rt]=typeof r.autoClose==="boolean"?r.autoClose:true;if(typeof this[At]==="number"){this[zt]()}else{this[Ut]()}}get fd(){return this[At]}get path(){return this[Bt]}write(){throw new TypeError("this is a readable stream")}end(){throw new TypeError("this is a readable stream")}[Ut](){Ae.open(this[Bt],"r",((t,r)=>this[Mt](t,r)))}[Mt](t,r){if(t){this[Lt](t)}else{this[At]=r;this.emit("open",r);this[zt]()}}[It](){return Buffer.allocUnsafe(Math.min(this[Gt],this[Wt]))}[zt](){if(!this[qt]){this[qt]=true;const t=this[It]();if(t.length===0){return process.nextTick((()=>this[jt](null,0,t)))}Ae.read(this[At],t,0,t.length,null,((t,r,i)=>this[jt](t,r,i)))}}[jt](t,r,i){this[qt]=false;if(t){this[Lt](t)}else if(this[Ct](r,i)){this[zt]()}}[Pt](){if(this[Rt]&&typeof this[At]==="number"){const t=this[At];this[At]=undefined;Ae.close(t,(t=>t?this.emit("error",t):this.emit("close")))}}[Lt](t){this[qt]=true;this[Pt]();this.emit("error",t)}[Ct](t,r){let i=false;this[Wt]-=t;if(t>0){i=super.write(t<r.length?r.subarray(0,t):r)}if(t===0||this[Wt]<=0){i=false;this[Pt]();super.end()}return i}emit(t,...r){switch(t){case"prefinish":case"finish":return false;case"drain":if(typeof this[At]==="number"){this[zt]()}return false;case"error":if(this[Jt]){return false}this[Jt]=true;return super.emit(t,...r);default:return super.emit(t,...r)}}}class ReadStreamSync extends ReadStream{[Ut](){let t=true;try{this[Mt](null,Ae.openSync(this[Bt],"r"));t=false}finally{if(t){this[Pt]()}}}[zt](){let t=true;try{if(!this[qt]){this[qt]=true;do{const t=this[It]();const r=t.length===0?0:Ae.readSync(this[At],t,0,t.length,null);if(!this[Ct](r,t)){break}}while(true);this[qt]=false}t=false}finally{if(t){this[Pt]()}}}[Pt](){if(this[Rt]&&typeof this[At]==="number"){const t=this[At];this[At]=undefined;Ae.closeSync(t);this.emit("close")}}}class WriteStream extends Ue{readable=false;writable=true;[Jt]=false;[Zt]=false;[Ot]=false;[Vt]=[];[Dt]=false;[Bt];[Nt];[Rt];[At];[Xt];[Tt];[xt]=false;[Ht];constructor(t,r){r=r||{};super(r);this[Bt]=t;this[At]=typeof r.fd==="number"?r.fd:undefined;this[Nt]=r.mode===undefined?438:r.mode;this[Ht]=typeof r.start==="number"?r.start:undefined;this[Rt]=typeof r.autoClose==="boolean"?r.autoClose:true;const i=this[Ht]!==undefined?"r+":"w";this[Xt]=r.flags===undefined;this[Tt]=r.flags===undefined?i:r.flags;if(this[At]===undefined){this[Ut]()}}emit(t,...r){if(t==="error"){if(this[Jt]){return false}this[Jt]=true}return super.emit(t,...r)}get fd(){return this[At]}get path(){return this[Bt]}[Lt](t){this[Pt]();this[Zt]=true;this.emit("error",t)}[Ut](){Ae.open(this[Bt],this[Tt],this[Nt],((t,r)=>this[Mt](t,r)))}[Mt](t,r){if(this[Xt]&&this[Tt]==="r+"&&t&&t.code==="ENOENT"){this[Tt]="w";this[Ut]()}else if(t){this[Lt](t)}else{this[At]=r;this.emit("open",r);if(!this[Zt]){this[kt]()}}}end(t,r){if(t){this.write(t,r)}this[Ot]=true;if(!this[Zt]&&!this[Vt].length&&typeof this[At]==="number"){this[Ft](null,0)}return this}write(t,r){if(typeof t==="string"){t=Buffer.from(t,r)}if(this[Ot]){this.emit("error",new Error("write() after end()"));return false}if(this[At]===undefined||this[Zt]||this[Vt].length){this[Vt].push(t);this[Dt]=true;return false}this[Zt]=true;this[Yt](t);return true}[Yt](t){Ae.write(this[At],t,0,t.length,this[Ht],((t,r)=>this[Ft](t,r)))}[Ft](t,r){if(t){this[Lt](t)}else{if(this[Ht]!==undefined&&typeof r==="number"){this[Ht]+=r}if(this[Vt].length){this[kt]()}else{this[Zt]=false;if(this[Ot]&&!this[xt]){this[xt]=true;this[Pt]();this.emit("finish")}else if(this[Dt]){this[Dt]=false;this.emit("drain")}}}}[kt](){if(this[Vt].length===0){if(this[Ot]){this[Ft](null,0)}}else if(this[Vt].length===1){this[Yt](this[Vt].pop())}else{const t=this[Vt];this[Vt]=[];$t(this[At],t,this[Ht],((t,r)=>this[Ft](t,r)))}}[Pt](){if(this[Rt]&&typeof this[At]==="number"){const t=this[At];this[At]=undefined;Ae.close(t,(t=>t?this.emit("error",t):this.emit("close")))}}}class WriteStreamSync extends WriteStream{[Ut](){let t;if(this[Xt]&&this[Tt]==="r+"){try{t=Ae.openSync(this[Bt],this[Tt],this[Nt])}catch(t){if(t?.code==="ENOENT"){this[Tt]="w";return this[Ut]()}else{throw t}}}else{t=Ae.openSync(this[Bt],this[Tt],this[Nt])}this[Mt](null,t)}[Pt](){if(this[Rt]&&typeof this[At]==="number"){const t=this[At];this[At]=undefined;Ae.closeSync(t);this.emit("close")}}[Yt](t){let r=true;try{this[Ft](null,Ae.writeSync(this[At],t,0,t.length,this[Ht]));r=false}finally{if(r){try{this[Pt]()}catch{}}}}}const Qt=new Map([["C","cwd"],["f","file"],["z","gzip"],["P","preservePaths"],["U","unlink"],["strip-components","strip"],["stripComponents","strip"],["keep-newer","newer"],["keepNewer","newer"],["keep-newer-files","newer"],["keepNewerFiles","newer"],["k","keep"],["keep-existing","keep"],["keepExisting","keep"],["m","noMtime"],["no-mtime","noMtime"],["p","preserveOwner"],["L","follow"],["h","follow"],["onentry","onReadEntry"]]);const isSyncFile=t=>!!t.sync&&!!t.file;const isAsyncFile=t=>!t.sync&&!!t.file;const isSyncNoFile=t=>!!t.sync&&!t.file;const isAsyncNoFile=t=>!t.sync&&!t.file;const isSync=t=>!!t.sync;const isAsync=t=>!t.sync;const isFile=t=>!!t.file;const isNoFile=t=>!t.file;const dealiasKey=t=>{const r=Qt.get(t);if(r)return r;return t};const dealias=(t={})=>{if(!t)return{};const r={};for(const[i,o]of Object.entries(t)){const t=dealiasKey(i);r[t]=o}if(r.chmod===undefined&&r.noChmod===false){r.chmod=true}delete r.noChmod;return r};const makeCommand=(t,r,i,o,a)=>Object.assign(((c=[],l,u)=>{if(Array.isArray(c)){l=c;c={}}if(typeof l==="function"){u=l;l=undefined}if(!l){l=[]}else{l=Array.from(l)}const h=dealias(c);a?.(h,l);if(isSyncFile(h)){if(typeof u==="function"){throw new TypeError("callback not supported for sync tar functions")}return t(h,l)}else if(isAsyncFile(h)){const t=r(h,l);const i=u?u:undefined;return i?t.then((()=>i()),i):t}else if(isSyncNoFile(h)){if(typeof u==="function"){throw new TypeError("callback not supported for sync tar functions")}return i(h,l)}else if(isAsyncNoFile(h)){if(typeof u==="function"){throw new TypeError("callback only supported with file option")}return o(h,l)}else{throw new Error("impossible options??")}}),{syncFile:t,asyncFile:r,syncNoFile:i,asyncNoFile:o,validate:a});const er=require("assert");var tr=__nccwpck_require__(181);const rr=require("zlib");const sr=rr.constants||{ZLIB_VERNUM:4736};const nr=Object.freeze(Object.assign(Object.create(null),{Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_VERSION_ERROR:-6,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,DEFLATE:1,INFLATE:2,GZIP:3,GUNZIP:4,DEFLATERAW:5,INFLATERAW:6,UNZIP:7,BROTLI_DECODE:8,BROTLI_ENCODE:9,Z_MIN_WINDOWBITS:8,Z_MAX_WINDOWBITS:15,Z_DEFAULT_WINDOWBITS:15,Z_MIN_CHUNK:64,Z_MAX_CHUNK:Infinity,Z_DEFAULT_CHUNK:16384,Z_MIN_MEMLEVEL:1,Z_MAX_MEMLEVEL:9,Z_DEFAULT_MEMLEVEL:8,Z_MIN_LEVEL:-1,Z_MAX_LEVEL:9,Z_DEFAULT_LEVEL:-1,BROTLI_OPERATION_PROCESS:0,BROTLI_OPERATION_FLUSH:1,BROTLI_OPERATION_FINISH:2,BROTLI_OPERATION_EMIT_METADATA:3,BROTLI_MODE_GENERIC:0,BROTLI_MODE_TEXT:1,BROTLI_MODE_FONT:2,BROTLI_DEFAULT_MODE:0,BROTLI_MIN_QUALITY:0,BROTLI_MAX_QUALITY:11,BROTLI_DEFAULT_QUALITY:11,BROTLI_MIN_WINDOW_BITS:10,BROTLI_MAX_WINDOW_BITS:24,BROTLI_LARGE_MAX_WINDOW_BITS:30,BROTLI_DEFAULT_WINDOW:22,BROTLI_MIN_INPUT_BLOCK_BITS:16,BROTLI_MAX_INPUT_BLOCK_BITS:24,BROTLI_PARAM_MODE:0,BROTLI_PARAM_QUALITY:1,BROTLI_PARAM_LGWIN:2,BROTLI_PARAM_LGBLOCK:3,BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING:4,BROTLI_PARAM_SIZE_HINT:5,BROTLI_PARAM_LARGE_WINDOW:6,BROTLI_PARAM_NPOSTFIX:7,BROTLI_PARAM_NDIRECT:8,BROTLI_DECODER_RESULT_ERROR:0,BROTLI_DECODER_RESULT_SUCCESS:1,BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT:2,BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION:0,BROTLI_DECODER_PARAM_LARGE_WINDOW:1,BROTLI_DECODER_NO_ERROR:0,BROTLI_DECODER_SUCCESS:1,BROTLI_DECODER_NEEDS_MORE_INPUT:2,BROTLI_DECODER_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE:-1,BROTLI_DECODER_ERROR_FORMAT_RESERVED:-2,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE:-3,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET:-4,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME:-5,BROTLI_DECODER_ERROR_FORMAT_CL_SPACE:-6,BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE:-7,BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT:-8,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1:-9,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2:-10,BROTLI_DECODER_ERROR_FORMAT_TRANSFORM:-11,BROTLI_DECODER_ERROR_FORMAT_DICTIONARY:-12,BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS:-13,BROTLI_DECODER_ERROR_FORMAT_PADDING_1:-14,BROTLI_DECODER_ERROR_FORMAT_PADDING_2:-15,BROTLI_DECODER_ERROR_FORMAT_DISTANCE:-16,BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET:-19,BROTLI_DECODER_ERROR_INVALID_ARGUMENTS:-20,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES:-21,BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS:-22,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP:-25,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1:-26,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2:-27,BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES:-30,BROTLI_DECODER_ERROR_UNREACHABLE:-31},sr));const ir=tr.Buffer.concat;const ar=Symbol("_superWrite");class ZlibError extends Error{code;errno;constructor(t){super("zlib: "+t.message);this.code=t.code;this.errno=t.errno;if(!this.code)this.code="ZLIB_ERROR";this.message="zlib: "+t.message;Error.captureStackTrace(this,this.constructor)}get name(){return"ZlibError"}}const cr=Symbol("flushFlag");class ZlibBase extends Minipass{#n=false;#i=false;#o;#a;#c;#l;#u;get sawError(){return this.#n}get handle(){return this.#l}get flushFlag(){return this.#o}constructor(t,r){if(!t||typeof t!=="object")throw new TypeError("invalid options for ZlibBase constructor");super(t);this.#o=t.flush??0;this.#a=t.finishFlush??0;this.#c=t.fullFlushFlag??0;try{this.#l=new rr[r](t)}catch(t){throw new ZlibError(t)}this.#u=t=>{if(this.#n)return;this.#n=true;this.close();this.emit("error",t)};this.#l?.on("error",(t=>this.#u(new ZlibError(t))));this.once("end",(()=>this.close))}close(){if(this.#l){this.#l.close();this.#l=undefined;this.emit("close")}}reset(){if(!this.#n){er(this.#l,"zlib binding closed");return this.#l.reset?.()}}flush(t){if(this.ended)return;if(typeof t!=="number")t=this.#c;this.write(Object.assign(tr.Buffer.alloc(0),{[cr]:t}))}end(t,r,i){if(typeof t==="function"){i=t;r=undefined;t=undefined}if(typeof r==="function"){i=r;r=undefined}if(t){if(r)this.write(t,r);else this.write(t)}this.flush(this.#a);this.#i=true;return super.end(i)}get ended(){return this.#i}[ar](t){return super.write(t)}write(t,r,i){if(typeof r==="function")i=r,r="utf8";if(typeof t==="string")t=tr.Buffer.from(t,r);if(this.#n)return;er(this.#l,"zlib binding closed");const o=this.#l._handle;const a=o.close;o.close=()=>{};const c=this.#l.close;this.#l.close=()=>{};tr.Buffer.concat=t=>t;let l=undefined;try{const r=typeof t[cr]==="number"?t[cr]:this.#o;l=this.#l._processChunk(t,r);tr.Buffer.concat=ir}catch(t){tr.Buffer.concat=ir;this.#u(new ZlibError(t))}finally{if(this.#l){this.#l._handle=o;o.close=a;this.#l.close=c;this.#l.removeAllListeners("error")}}if(this.#l)this.#l.on("error",(t=>this.#u(new ZlibError(t))));let u;if(l){if(Array.isArray(l)&&l.length>0){const t=l[0];u=this[ar](tr.Buffer.from(t));for(let t=1;t<l.length;t++){u=this[ar](l[t])}}else{u=this[ar](tr.Buffer.from(l))}}if(i)i();return u}}class Zlib extends ZlibBase{#h;#f;constructor(t,r){t=t||{};t.flush=t.flush||nr.Z_NO_FLUSH;t.finishFlush=t.finishFlush||nr.Z_FINISH;t.fullFlushFlag=nr.Z_FULL_FLUSH;super(t,r);this.#h=t.level;this.#f=t.strategy}params(t,r){if(this.sawError)return;if(!this.handle)throw new Error("cannot switch params when binding is closed");if(!this.handle.params)throw new Error("not supported in this implementation");if(this.#h!==t||this.#f!==r){this.flush(nr.Z_SYNC_FLUSH);er(this.handle,"zlib binding closed");const i=this.handle.flush;this.handle.flush=(t,r)=>{if(typeof t==="function"){r=t;t=this.flushFlag}this.flush(t);r?.()};try{this.handle.params(t,r)}finally{this.handle.flush=i}if(this.handle){this.#h=t;this.#f=r}}}}class Deflate extends Zlib{constructor(t){super(t,"Deflate")}}class Inflate extends Zlib{constructor(t){super(t,"Inflate")}}class Gzip extends Zlib{#d;constructor(t){super(t,"Gzip");this.#d=t&&!!t.portable}[ar](t){if(!this.#d)return super[ar](t);this.#d=false;t[9]=255;return super[ar](t)}}class Gunzip extends Zlib{constructor(t){super(t,"Gunzip")}}class DeflateRaw extends Zlib{constructor(t){super(t,"DeflateRaw")}}class InflateRaw extends Zlib{constructor(t){super(t,"InflateRaw")}}class Unzip extends Zlib{constructor(t){super(t,"Unzip")}}class Brotli extends ZlibBase{constructor(t,r){t=t||{};t.flush=t.flush||nr.BROTLI_OPERATION_PROCESS;t.finishFlush=t.finishFlush||nr.BROTLI_OPERATION_FINISH;t.fullFlushFlag=nr.BROTLI_OPERATION_FLUSH;super(t,r)}}class BrotliCompress extends Brotli{constructor(t){super(t,"BrotliCompress")}}class BrotliDecompress extends Brotli{constructor(t){super(t,"BrotliDecompress")}}class Yallist{tail;head;length=0;static create(t=[]){return new Yallist(t)}constructor(t=[]){for(const r of t){this.push(r)}}*[Symbol.iterator](){for(let t=this.head;t;t=t.next){yield t.value}}removeNode(t){if(t.list!==this){throw new Error("removing node which does not belong to this list")}const r=t.next;const i=t.prev;if(r){r.prev=i}if(i){i.next=r}if(t===this.head){this.head=r}if(t===this.tail){this.tail=i}this.length--;t.next=undefined;t.prev=undefined;t.list=undefined;return r}unshiftNode(t){if(t===this.head){return}if(t.list){t.list.removeNode(t)}const r=this.head;t.list=this;t.next=r;if(r){r.prev=t}this.head=t;if(!this.tail){this.tail=t}this.length++}pushNode(t){if(t===this.tail){return}if(t.list){t.list.removeNode(t)}const r=this.tail;t.list=this;t.prev=r;if(r){r.next=t}this.tail=t;if(!this.head){this.head=t}this.length++}push(...t){for(let r=0,i=t.length;r<i;r++){push(this,t[r])}return this.length}unshift(...t){for(var r=0,i=t.length;r<i;r++){unshift(this,t[r])}return this.length}pop(){if(!this.tail){return undefined}const t=this.tail.value;const r=this.tail;this.tail=this.tail.prev;if(this.tail){this.tail.next=undefined}else{this.head=undefined}r.list=undefined;this.length--;return t}shift(){if(!this.head){return undefined}const t=this.head.value;const r=this.head;this.head=this.head.next;if(this.head){this.head.prev=undefined}else{this.tail=undefined}r.list=undefined;this.length--;return t}forEach(t,r){r=r||this;for(let i=this.head,o=0;!!i;o++){t.call(r,i.value,o,this);i=i.next}}forEachReverse(t,r){r=r||this;for(let i=this.tail,o=this.length-1;!!i;o--){t.call(r,i.value,o,this);i=i.prev}}get(t){let r=0;let i=this.head;for(;!!i&&r<t;r++){i=i.next}if(r===t&&!!i){return i.value}}getReverse(t){let r=0;let i=this.tail;for(;!!i&&r<t;r++){i=i.prev}if(r===t&&!!i){return i.value}}map(t,r){r=r||this;const i=new Yallist;for(let o=this.head;!!o;){i.push(t.call(r,o.value,this));o=o.next}return i}mapReverse(t,r){r=r||this;var i=new Yallist;for(let o=this.tail;!!o;){i.push(t.call(r,o.value,this));o=o.prev}return i}reduce(t,r){let i;let o=this.head;if(arguments.length>1){i=r}else if(this.head){o=this.head.next;i=this.head.value}else{throw new TypeError("Reduce of empty list with no initial value")}for(var a=0;!!o;a++){i=t(i,o.value,a);o=o.next}return i}reduceReverse(t,r){let i;let o=this.tail;if(arguments.length>1){i=r}else if(this.tail){o=this.tail.prev;i=this.tail.value}else{throw new TypeError("Reduce of empty list with no initial value")}for(let r=this.length-1;!!o;r--){i=t(i,o.value,r);o=o.prev}return i}toArray(){const t=new Array(this.length);for(let r=0,i=this.head;!!i;r++){t[r]=i.value;i=i.next}return t}toArrayReverse(){const t=new Array(this.length);for(let r=0,i=this.tail;!!i;r++){t[r]=i.value;i=i.prev}return t}slice(t=0,r=this.length){if(r<0){r+=this.length}if(t<0){t+=this.length}const i=new Yallist;if(r<t||r<0){return i}if(t<0){t=0}if(r>this.length){r=this.length}let o=this.head;let a=0;for(a=0;!!o&&a<t;a++){o=o.next}for(;!!o&&a<r;a++,o=o.next){i.push(o.value)}return i}sliceReverse(t=0,r=this.length){if(r<0){r+=this.length}if(t<0){t+=this.length}const i=new Yallist;if(r<t||r<0){return i}if(t<0){t=0}if(r>this.length){r=this.length}let o=this.length;let a=this.tail;for(;!!a&&o>r;o--){a=a.prev}for(;!!a&&o>t;o--,a=a.prev){i.push(a.value)}return i}splice(t,r=0,...i){if(t>this.length){t=this.length-1}if(t<0){t=this.length+t}let o=this.head;for(let r=0;!!o&&r<t;r++){o=o.next}const a=[];for(let t=0;!!o&&t<r;t++){a.push(o.value);o=this.removeNode(o)}if(!o){o=this.tail}else if(o!==this.tail){o=o.prev}for(const t of i){o=insertAfter(this,o,t)}return a}reverse(){const t=this.head;const r=this.tail;for(let r=t;!!r;r=r.prev){const t=r.prev;r.prev=r.next;r.next=t}this.head=r;this.tail=t;return this}}function insertAfter(t,r,i){const o=r;const a=r?r.next:t.head;const c=new Node(i,o,a,t);if(c.next===undefined){t.tail=c}if(c.prev===undefined){t.head=c}t.length++;return c}function push(t,r){t.tail=new Node(r,t.tail,undefined,t);if(!t.head){t.head=t.tail}t.length++}function unshift(t,r){t.head=new Node(r,undefined,t.head,t);if(!t.tail){t.tail=t.head}t.length++}class Node{list;next;prev;value;constructor(t,r,i,o){this.list=o;this.value=t;if(r){r.next=this;this.prev=r}else{this.prev=undefined}if(i){i.prev=this;this.next=i}else{this.next=undefined}}}const encode=(t,r)=>{if(!Number.isSafeInteger(t)){throw Error("cannot encode number outside of javascript safe integer range")}else if(t<0){encodeNegative(t,r)}else{encodePositive(t,r)}return r};const encodePositive=(t,r)=>{r[0]=128;for(var i=r.length;i>1;i--){r[i-1]=t&255;t=Math.floor(t/256)}};const encodeNegative=(t,r)=>{r[0]=255;var i=false;t=t*-1;for(var o=r.length;o>1;o--){var a=t&255;t=Math.floor(t/256);if(i){r[o-1]=onesComp(a)}else if(a===0){r[o-1]=0}else{i=true;r[o-1]=twosComp(a)}}};const parse=t=>{const r=t[0];const i=r===128?pos(t.subarray(1,t.length)):r===255?twos(t):null;if(i===null){throw Error("invalid base256 encoding")}if(!Number.isSafeInteger(i)){throw Error("parsed number outside of javascript safe integer range")}return i};const twos=t=>{var r=t.length;var i=0;var o=false;for(var a=r-1;a>-1;a--){var c=Number(t[a]);var l;if(o){l=onesComp(c)}else if(c===0){l=c}else{o=true;l=twosComp(c)}if(l!==0){i-=l*Math.pow(256,r-a-1)}}return i};const pos=t=>{var r=t.length;var i=0;for(var o=r-1;o>-1;o--){var a=Number(t[o]);if(a!==0){i+=a*Math.pow(256,r-o-1)}}return i};const onesComp=t=>(255^t)&255;const twosComp=t=>(255^t)+1&255;const isCode=t=>lr.has(t);const isName=t=>ur.has(t);const lr=new Map([["0","File"],["","OldFile"],["1","Link"],["2","SymbolicLink"],["3","CharacterDevice"],["4","BlockDevice"],["5","Directory"],["6","FIFO"],["7","ContiguousFile"],["g","GlobalExtendedHeader"],["x","ExtendedHeader"],["A","SolarisACL"],["D","GNUDumpDir"],["I","Inode"],["K","NextFileHasLongLinkpath"],["L","NextFileHasLongPath"],["M","ContinuationFile"],["N","OldGnuLongPath"],["S","SparseFile"],["V","TapeVolumeHeader"],["X","OldExtendedHeader"]]);const ur=new Map(Array.from(lr).map((t=>[t[1],t[0]])));class Header{cksumValid=false;needPax=false;nullBlock=false;block;path;mode;uid;gid;size;cksum;#p="Unsupported";linkpath;uname;gname;devmaj=0;devmin=0;atime;ctime;mtime;charset;comment;constructor(t,r=0,i,o){if(Buffer.isBuffer(t)){this.decode(t,r||0,i,o)}else if(t){this.#m(t)}}decode(t,r,i,o){if(!r){r=0}if(!t||!(t.length>=r+512)){throw new Error("need 512 bytes for header")}this.path=decString(t,r,100);this.mode=decNumber(t,r+100,8);this.uid=decNumber(t,r+108,8);this.gid=decNumber(t,r+116,8);this.size=decNumber(t,r+124,12);this.mtime=decDate(t,r+136,12);this.cksum=decNumber(t,r+148,12);if(o)this.#m(o,true);if(i)this.#m(i);const a=decString(t,r+156,1);if(isCode(a)){this.#p=a||"0"}if(this.#p==="0"&&this.path.slice(-1)==="/"){this.#p="5"}if(this.#p==="5"){this.size=0}this.linkpath=decString(t,r+157,100);if(t.subarray(r+257,r+265).toString()==="ustar\x0000"){this.uname=decString(t,r+265,32);this.gname=decString(t,r+297,32);this.devmaj=decNumber(t,r+329,8)??0;this.devmin=decNumber(t,r+337,8)??0;if(t[r+475]!==0){const i=decString(t,r+345,155);this.path=i+"/"+this.path}else{const i=decString(t,r+345,130);if(i){this.path=i+"/"+this.path}this.atime=decDate(t,r+476,12);this.ctime=decDate(t,r+488,12)}}let c=8*32;for(let i=r;i<r+148;i++){c+=t[i]}for(let i=r+156;i<r+512;i++){c+=t[i]}this.cksumValid=c===this.cksum;if(this.cksum===undefined&&c===8*32){this.nullBlock=true}}#m(t,r=false){Object.assign(this,Object.fromEntries(Object.entries(t).filter((([t,i])=>!(i===null||i===undefined||t==="path"&&r||t==="linkpath"&&r||t==="global")))))}encode(t,r=0){if(!t){t=this.block=Buffer.alloc(512)}if(this.#p==="Unsupported"){this.#p="0"}if(!(t.length>=r+512)){throw new Error("need 512 bytes for header")}const i=this.ctime||this.atime?130:155;const o=splitPrefix(this.path||"",i);const a=o[0];const c=o[1];this.needPax=!!o[2];this.needPax=encString(t,r,100,a)||this.needPax;this.needPax=encNumber(t,r+100,8,this.mode)||this.needPax;this.needPax=encNumber(t,r+108,8,this.uid)||this.needPax;this.needPax=encNumber(t,r+116,8,this.gid)||this.needPax;this.needPax=encNumber(t,r+124,12,this.size)||this.needPax;this.needPax=encDate(t,r+136,12,this.mtime)||this.needPax;t[r+156]=this.#p.charCodeAt(0);this.needPax=encString(t,r+157,100,this.linkpath)||this.needPax;t.write("ustar\x0000",r+257,8);this.needPax=encString(t,r+265,32,this.uname)||this.needPax;this.needPax=encString(t,r+297,32,this.gname)||this.needPax;this.needPax=encNumber(t,r+329,8,this.devmaj)||this.needPax;this.needPax=encNumber(t,r+337,8,this.devmin)||this.needPax;this.needPax=encString(t,r+345,i,c)||this.needPax;if(t[r+475]!==0){this.needPax=encString(t,r+345,155,c)||this.needPax}else{this.needPax=encString(t,r+345,130,c)||this.needPax;this.needPax=encDate(t,r+476,12,this.atime)||this.needPax;this.needPax=encDate(t,r+488,12,this.ctime)||this.needPax}let l=8*32;for(let i=r;i<r+148;i++){l+=t[i]}for(let i=r+156;i<r+512;i++){l+=t[i]}this.cksum=l;encNumber(t,r+148,8,this.cksum);this.cksumValid=true;return this.needPax}get type(){return this.#p==="Unsupported"?this.#p:lr.get(this.#p)}get typeKey(){return this.#p}set type(t){const r=String(ur.get(t));if(isCode(r)||r==="Unsupported"){this.#p=r}else if(isCode(t)){this.#p=t}else{throw new TypeError("invalid entry type: "+t)}}}const splitPrefix=(t,r)=>{const i=100;let o=t;let a="";let c=undefined;const l=E.posix.parse(t).root||".";if(Buffer.byteLength(o)<i){c=[o,a,false]}else{a=E.posix.dirname(o);o=E.posix.basename(o);do{if(Buffer.byteLength(o)<=i&&Buffer.byteLength(a)<=r){c=[o,a,false]}else if(Buffer.byteLength(o)>i&&Buffer.byteLength(a)<=r){c=[o.slice(0,i-1),a,true]}else{o=E.posix.join(E.posix.basename(a),o);a=E.posix.dirname(a)}}while(a!==l&&c===undefined);if(!c){c=[t.slice(0,i-1),"",true]}}return c};const decString=(t,r,i)=>t.subarray(r,r+i).toString("utf8").replace(/\0.*/,"");const decDate=(t,r,i)=>numToDate(decNumber(t,r,i));const numToDate=t=>t===undefined?undefined:new Date(t*1e3);const decNumber=(t,r,i)=>Number(t[r])&128?parse(t.subarray(r,r+i)):decSmallNumber(t,r,i);const nanUndef=t=>isNaN(t)?undefined:t;const decSmallNumber=(t,r,i)=>nanUndef(parseInt(t.subarray(r,r+i).toString("utf8").replace(/\0.*$/,"").trim(),8));const hr={12:8589934591,8:2097151};const encNumber=(t,r,i,o)=>o===undefined?false:o>hr[i]||o<0?(encode(o,t.subarray(r,r+i)),true):(encSmallNumber(t,r,i,o),false);const encSmallNumber=(t,r,i,o)=>t.write(octalString(o,i),r,i,"ascii");const octalString=(t,r)=>padOctal(Math.floor(t).toString(8),r);const padOctal=(t,r)=>(t.length===r-1?t:new Array(r-t.length-1).join("0")+t+" ")+"\0";const encDate=(t,r,i,o)=>o===undefined?false:encNumber(t,r,i,o.getTime()/1e3);const fr=new Array(156).join("\0");const encString=(t,r,i,o)=>o===undefined?false:(t.write(o+fr,r,i,"utf8"),o.length!==Buffer.byteLength(o)||o.length>i);class Pax{atime;mtime;ctime;charset;comment;gid;uid;gname;uname;linkpath;dev;ino;nlink;path;size;mode;global;constructor(t,r=false){this.atime=t.atime;this.charset=t.charset;this.comment=t.comment;this.ctime=t.ctime;this.dev=t.dev;this.gid=t.gid;this.global=r;this.gname=t.gname;this.ino=t.ino;this.linkpath=t.linkpath;this.mtime=t.mtime;this.nlink=t.nlink;this.path=t.path;this.size=t.size;this.uid=t.uid;this.uname=t.uname}encode(){const t=this.encodeBody();if(t===""){return Buffer.allocUnsafe(0)}const r=Buffer.byteLength(t);const i=512*Math.ceil(1+r/512);const o=Buffer.allocUnsafe(i);for(let t=0;t<512;t++){o[t]=0}new Header({path:("PaxHeader/"+(0,E.basename)(this.path??"")).slice(0,99),mode:this.mode||420,uid:this.uid,gid:this.gid,size:r,mtime:this.mtime,type:this.global?"GlobalExtendedHeader":"ExtendedHeader",linkpath:"",uname:this.uname||"",gname:this.gname||"",devmaj:0,devmin:0,atime:this.atime,ctime:this.ctime}).encode(o);o.write(t,512,r,"utf8");for(let t=r+512;t<o.length;t++){o[t]=0}return o}encodeBody(){return this.encodeField("path")+this.encodeField("ctime")+this.encodeField("atime")+this.encodeField("dev")+this.encodeField("ino")+this.encodeField("nlink")+this.encodeField("charset")+this.encodeField("comment")+this.encodeField("gid")+this.encodeField("gname")+this.encodeField("linkpath")+this.encodeField("mtime")+this.encodeField("size")+this.encodeField("uid")+this.encodeField("uname")}encodeField(t){if(this[t]===undefined){return""}const r=this[t];const i=r instanceof Date?r.getTime()/1e3:r;const o=" "+(t==="dev"||t==="ino"||t==="nlink"?"SCHILY.":"")+t+"="+i+"\n";const a=Buffer.byteLength(o);let c=Math.floor(Math.log(a)/Math.log(10))+1;if(a+c>=Math.pow(10,c)){c+=1}const l=c+a;return l+o}static parse(t,r,i=false){return new Pax(merge(parseKV(t),r),i)}}const merge=(t,r)=>r?Object.assign({},r,t):t;const parseKV=t=>t.replace(/\n$/,"").split("\n").reduce(parseKVLine,Object.create(null));const parseKVLine=(t,r)=>{const i=parseInt(r,10);if(i!==Buffer.byteLength(r)+1){return t}r=r.slice((i+" ").length);const o=r.split("=");const a=o.shift();if(!a){return t}const c=a.replace(/^SCHILY\.(dev|ino|nlink)/,"$1");const l=o.join("=");t[c]=/^([A-Z]+\.)?([mac]|birth|creation)time$/.test(c)?new Date(Number(l)*1e3):/^[0-9]+$/.test(l)?+l:l;return t};const dr=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform;const pr=dr!=="win32"?t=>t:t=>t&&t.replace(/\\/g,"/");class ReadEntry extends Minipass{extended;globalExtended;header;startBlockSize;blockRemain;remain;type;meta=false;ignore=false;path;mode;uid;gid;uname;gname;size=0;mtime;atime;ctime;linkpath;dev;ino;nlink;invalid=false;absolute;unsupported=false;constructor(t,r,i){super({});this.pause();this.extended=r;this.globalExtended=i;this.header=t;this.remain=t.size??0;this.startBlockSize=512*Math.ceil(this.remain/512);this.blockRemain=this.startBlockSize;this.type=t.type;switch(this.type){case"File":case"OldFile":case"Link":case"SymbolicLink":case"CharacterDevice":case"BlockDevice":case"Directory":case"FIFO":case"ContiguousFile":case"GNUDumpDir":break;case"NextFileHasLongLinkpath":case"NextFileHasLongPath":case"OldGnuLongPath":case"GlobalExtendedHeader":case"ExtendedHeader":case"OldExtendedHeader":this.meta=true;break;default:this.ignore=true}if(!t.path){throw new Error("no path provided for tar.ReadEntry")}this.path=pr(t.path);this.mode=t.mode;if(this.mode){this.mode=this.mode&4095}this.uid=t.uid;this.gid=t.gid;this.uname=t.uname;this.gname=t.gname;this.size=this.remain;this.mtime=t.mtime;this.atime=t.atime;this.ctime=t.ctime;this.linkpath=t.linkpath?pr(t.linkpath):undefined;this.uname=t.uname;this.gname=t.gname;if(r){this.#m(r)}if(i){this.#m(i,true)}}write(t){const r=t.length;if(r>this.blockRemain){throw new Error("writing more to entry than is appropriate")}const i=this.remain;const o=this.blockRemain;this.remain=Math.max(0,i-r);this.blockRemain=Math.max(0,o-r);if(this.ignore){return true}if(i>=r){return super.write(t)}return super.write(t.subarray(0,i))}#m(t,r=false){if(t.path)t.path=pr(t.path);if(t.linkpath)t.linkpath=pr(t.linkpath);Object.assign(this,Object.fromEntries(Object.entries(t).filter((([t,i])=>!(i===null||i===undefined||t==="path"&&r)))))}}const warnMethod=(t,r,i,o={})=>{if(t.file){o.file=t.file}if(t.cwd){o.cwd=t.cwd}o.code=i instanceof Error&&i.code||r;o.tarCode=r;if(!t.strict&&o.recoverable!==false){if(i instanceof Error){o=Object.assign(i,o);i=i.message}t.emit("warn",r,i,o)}else if(i instanceof Error){t.emit("error",Object.assign(i,o))}else{t.emit("error",Object.assign(new Error(`${r}: ${i}`),o))}};const mr=1024*1024;const gr=Buffer.from([31,139]);const yr=Symbol("state");const _r=Symbol("writeEntry");const vr=Symbol("readEntry");const br=Symbol("nextEntry");const wr=Symbol("processEntry");const Er=Symbol("extendedHeader");const Sr=Symbol("globalExtendedHeader");const $r=Symbol("meta");const Rr=Symbol("emitMeta");const Pr=Symbol("buffer");const Or=Symbol("queue");const Ar=Symbol("ended");const xr=Symbol("emittedEnd");const Tr=Symbol("emit");const kr=Symbol("unzip");const Cr=Symbol("consumeChunk");const Ir=Symbol("consumeChunkSub");const Nr=Symbol("consumeBody");const Dr=Symbol("consumeMeta");const Lr=Symbol("consumeHeader");const Mr=Symbol("consuming");const jr=Symbol("bufferConcat");const Fr=Symbol("maybeEnd");const Ur=Symbol("writing");const Br=Symbol("aborted");const Hr=Symbol("onDone");const Vr=Symbol("sawValidEntry");const zr=Symbol("sawNullBlock");const Gr=Symbol("sawEOF");const qr=Symbol("closeStream");const noop=()=>true;class Parser extends Ue.EventEmitter{file;strict;maxMetaEntrySize;filter;brotli;writable=true;readable=false;[Or]=new Yallist;[Pr];[vr];[_r];[yr]="begin";[$r]="";[Er];[Sr];[Ar]=false;[kr];[Br]=false;[Vr];[zr]=false;[Gr]=false;[Ur]=false;[Mr]=false;[xr]=false;constructor(t={}){super();this.file=t.file||"";this.on(Hr,(()=>{if(this[yr]==="begin"||this[Vr]===false){this.warn("TAR_BAD_ARCHIVE","Unrecognized archive format")}}));if(t.ondone){this.on(Hr,t.ondone)}else{this.on(Hr,(()=>{this.emit("prefinish");this.emit("finish");this.emit("end")}))}this.strict=!!t.strict;this.maxMetaEntrySize=t.maxMetaEntrySize||mr;this.filter=typeof t.filter==="function"?t.filter:noop;const r=t.file&&(t.file.endsWith(".tar.br")||t.file.endsWith(".tbr"));this.brotli=!t.gzip&&t.brotli!==undefined?t.brotli:r?undefined:false;this.on("end",(()=>this[qr]()));if(typeof t.onwarn==="function"){this.on("warn",t.onwarn)}if(typeof t.onReadEntry==="function"){this.on("entry",t.onReadEntry)}}warn(t,r,i={}){warnMethod(this,t,r,i)}[Lr](t,r){if(this[Vr]===undefined){this[Vr]=false}let i;try{i=new Header(t,r,this[Er],this[Sr])}catch(t){return this.warn("TAR_ENTRY_INVALID",t)}if(i.nullBlock){if(this[zr]){this[Gr]=true;if(this[yr]==="begin"){this[yr]="header"}this[Tr]("eof")}else{this[zr]=true;this[Tr]("nullBlock")}}else{this[zr]=false;if(!i.cksumValid){this.warn("TAR_ENTRY_INVALID","checksum failure",{header:i})}else if(!i.path){this.warn("TAR_ENTRY_INVALID","path is required",{header:i})}else{const t=i.type;if(/^(Symbolic)?Link$/.test(t)&&!i.linkpath){this.warn("TAR_ENTRY_INVALID","linkpath required",{header:i})}else if(!/^(Symbolic)?Link$/.test(t)&&!/^(Global)?ExtendedHeader$/.test(t)&&i.linkpath){this.warn("TAR_ENTRY_INVALID","linkpath forbidden",{header:i})}else{const t=this[_r]=new ReadEntry(i,this[Er],this[Sr]);if(!this[Vr]){if(t.remain){const onend=()=>{if(!t.invalid){this[Vr]=true}};t.on("end",onend)}else{this[Vr]=true}}if(t.meta){if(t.size>this.maxMetaEntrySize){t.ignore=true;this[Tr]("ignoredEntry",t);this[yr]="ignore";t.resume()}else if(t.size>0){this[$r]="";t.on("data",(t=>this[$r]+=t));this[yr]="meta"}}else{this[Er]=undefined;t.ignore=t.ignore||!this.filter(t.path,t);if(t.ignore){this[Tr]("ignoredEntry",t);this[yr]=t.remain?"ignore":"header";t.resume()}else{if(t.remain){this[yr]="body"}else{this[yr]="header";t.end()}if(!this[vr]){this[Or].push(t);this[br]()}else{this[Or].push(t)}}}}}}}[qr](){queueMicrotask((()=>this.emit("close")))}[wr](t){let r=true;if(!t){this[vr]=undefined;r=false}else if(Array.isArray(t)){const[r,...i]=t;this.emit(r,...i)}else{this[vr]=t;this.emit("entry",t);if(!t.emittedEnd){t.on("end",(()=>this[br]()));r=false}}return r}[br](){do{}while(this[wr](this[Or].shift()));if(!this[Or].length){const t=this[vr];const r=!t||t.flowing||t.size===t.remain;if(r){if(!this[Ur]){this.emit("drain")}}else{t.once("drain",(()=>this.emit("drain")))}}}[Nr](t,r){const i=this[_r];if(!i){throw new Error("attempt to consume body without entry??")}const o=i.blockRemain??0;const a=o>=t.length&&r===0?t:t.subarray(r,r+o);i.write(a);if(!i.blockRemain){this[yr]="header";this[_r]=undefined;i.end()}return a.length}[Dr](t,r){const i=this[_r];const o=this[Nr](t,r);if(!this[_r]&&i){this[Rr](i)}return o}[Tr](t,r,i){if(!this[Or].length&&!this[vr]){this.emit(t,r,i)}else{this[Or].push([t,r,i])}}[Rr](t){this[Tr]("meta",this[$r]);switch(t.type){case"ExtendedHeader":case"OldExtendedHeader":this[Er]=Pax.parse(this[$r],this[Er],false);break;case"GlobalExtendedHeader":this[Sr]=Pax.parse(this[$r],this[Sr],true);break;case"NextFileHasLongPath":case"OldGnuLongPath":{const t=this[Er]??Object.create(null);this[Er]=t;t.path=this[$r].replace(/\0.*/,"");break}case"NextFileHasLongLinkpath":{const t=this[Er]||Object.create(null);this[Er]=t;t.linkpath=this[$r].replace(/\0.*/,"");break}default:throw new Error("unknown meta: "+t.type)}}abort(t){this[Br]=true;this.emit("abort",t);this.warn("TAR_ABORT",t,{recoverable:false})}write(t,r,i){if(typeof r==="function"){i=r;r=undefined}if(typeof t==="string"){t=Buffer.from(t,typeof r==="string"?r:"utf8")}if(this[Br]){i?.();return false}const o=this[kr]===undefined||this.brotli===undefined&&this[kr]===false;if(o&&t){if(this[Pr]){t=Buffer.concat([this[Pr],t]);this[Pr]=undefined}if(t.length<gr.length){this[Pr]=t;i?.();return true}for(let r=0;this[kr]===undefined&&r<gr.length;r++){if(t[r]!==gr[r]){this[kr]=false}}const r=this.brotli===undefined;if(this[kr]===false&&r){if(t.length<512){if(this[Ar]){this.brotli=true}else{this[Pr]=t;i?.();return true}}else{try{new Header(t.subarray(0,512));this.brotli=false}catch(t){this.brotli=true}}}if(this[kr]===undefined||this[kr]===false&&this.brotli){const r=this[Ar];this[Ar]=false;this[kr]=this[kr]===undefined?new Unzip({}):new BrotliDecompress({});this[kr].on("data",(t=>this[Cr](t)));this[kr].on("error",(t=>this.abort(t)));this[kr].on("end",(()=>{this[Ar]=true;this[Cr]()}));this[Ur]=true;const o=!!this[kr][r?"end":"write"](t);this[Ur]=false;i?.();return o}}this[Ur]=true;if(this[kr]){this[kr].write(t)}else{this[Cr](t)}this[Ur]=false;const a=this[Or].length?false:this[vr]?this[vr].flowing:true;if(!a&&!this[Or].length){this[vr]?.once("drain",(()=>this.emit("drain")))}i?.();return a}[jr](t){if(t&&!this[Br]){this[Pr]=this[Pr]?Buffer.concat([this[Pr],t]):t}}[Fr](){if(this[Ar]&&!this[xr]&&!this[Br]&&!this[Mr]){this[xr]=true;const t=this[_r];if(t&&t.blockRemain){const r=this[Pr]?this[Pr].length:0;this.warn("TAR_BAD_ARCHIVE",`Truncated input (needed ${t.blockRemain} more bytes, only ${r} available)`,{entry:t});if(this[Pr]){t.write(this[Pr])}t.end()}this[Tr](Hr)}}[Cr](t){if(this[Mr]&&t){this[jr](t)}else if(!t&&!this[Pr]){this[Fr]()}else if(t){this[Mr]=true;if(this[Pr]){this[jr](t);const r=this[Pr];this[Pr]=undefined;this[Ir](r)}else{this[Ir](t)}while(this[Pr]&&this[Pr]?.length>=512&&!this[Br]&&!this[Gr]){const t=this[Pr];this[Pr]=undefined;this[Ir](t)}this[Mr]=false}if(!this[Pr]||this[Ar]){this[Fr]()}}[Ir](t){let r=0;const i=t.length;while(r+512<=i&&!this[Br]&&!this[Gr]){switch(this[yr]){case"begin":case"header":this[Lr](t,r);r+=512;break;case"ignore":case"body":r+=this[Nr](t,r);break;case"meta":r+=this[Dr](t,r);break;default:throw new Error("invalid state: "+this[yr])}}if(r<i){if(this[Pr]){this[Pr]=Buffer.concat([t.subarray(r),this[Pr]])}else{this[Pr]=t.subarray(r)}}}end(t,r,i){if(typeof t==="function"){i=t;r=undefined;t=undefined}if(typeof r==="function"){i=r;r=undefined}if(typeof t==="string"){t=Buffer.from(t,r)}if(i)this.once("finish",i);if(!this[Br]){if(this[kr]){if(t)this[kr].write(t);this[kr].end()}else{this[Ar]=true;if(this.brotli===undefined)t=t||Buffer.alloc(0);if(t)this.write(t);this[Fr]()}}return this}}const stripTrailingSlashes=t=>{let r=t.length-1;let i=-1;while(r>-1&&t.charAt(r)==="/"){i=r;r--}return i===-1?t:t.slice(0,i)};const onReadEntryFunction=t=>{const r=t.onReadEntry;t.onReadEntry=r?t=>{r(t);t.resume()}:t=>t.resume()};const filesFilter=(t,r)=>{const i=new Map(r.map((t=>[stripTrailingSlashes(t),true])));const o=t.filter;const mapHas=(t,r="")=>{const o=r||(0,xe.parse)(t).root||".";let a;if(t===o)a=false;else{const r=i.get(t);if(r!==undefined){a=r}else{a=mapHas((0,xe.dirname)(t),o)}}i.set(t,a);return a};t.filter=o?(t,r)=>o(t,r)&&mapHas(stripTrailingSlashes(t)):t=>mapHas(stripTrailingSlashes(t))};const listFileSync=t=>{const r=new Parser(t);const i=t.file;let o;try{const a=w.statSync(i);const c=t.maxReadSize||16*1024*1024;if(a.size<c){r.end(w.readFileSync(i))}else{let t=0;const l=Buffer.allocUnsafe(c);o=w.openSync(i,"r");while(t<a.size){const i=w.readSync(o,l,0,c,t);t+=i;r.write(l.subarray(0,i))}r.end()}}finally{if(typeof o==="number"){try{w.closeSync(o)}catch(t){}}}};const listFile=(t,r)=>{const i=new Parser(t);const o=t.maxReadSize||16*1024*1024;const a=t.file;const c=new Promise(((t,r)=>{i.on("error",r);i.on("end",t);w.stat(a,((t,c)=>{if(t){r(t)}else{const t=new ReadStream(a,{readSize:o,size:c.size});t.on("error",r);t.pipe(i)}}))}));return c};const Wr=makeCommand(listFileSync,listFile,(t=>new Parser(t)),(t=>new Parser(t)),((t,r)=>{if(r?.length)filesFilter(t,r);if(!t.noResume)onReadEntryFunction(t)}));const modeFix=(t,r,i)=>{t&=4095;if(i){t=(t|384)&~18}if(r){if(t&256){t|=64}if(t&32){t|=8}if(t&4){t|=1}}return t};const{isAbsolute:Kr,parse:Yr}=E.win32;const stripAbsolutePath=t=>{let r="";let i=Yr(t);while(Kr(t)||i.root){const o=t.charAt(0)==="/"&&t.slice(0,4)!=="//?/"?"/":i.root;t=t.slice(o.length);r+=o;i=Yr(t)}return[r,t]};const Zr=["|","<",">","?",":"];const Xr=Zr.map((t=>String.fromCharCode(61440+t.charCodeAt(0))));const Jr=new Map(Zr.map(((t,r)=>[t,Xr[r]])));const Qr=new Map(Xr.map(((t,r)=>[t,Zr[r]])));const winchars_encode=t=>Zr.reduce(((t,r)=>t.split(r).join(Jr.get(r))),t);const decode=t=>Xr.reduce(((t,r)=>t.split(r).join(Qr.get(r))),t);const prefixPath=(t,r)=>{if(!r){return pr(t)}t=pr(t).replace(/^\.(\/|$)/,"");return stripTrailingSlashes(r)+"/"+t};const es=16*1024*1024;const ts=Symbol("process");const rs=Symbol("file");const ss=Symbol("directory");const ns=Symbol("symlink");const is=Symbol("hardlink");const os=Symbol("header");const as=Symbol("read");const cs=Symbol("lstat");const ls=Symbol("onlstat");const us=Symbol("onread");const hs=Symbol("onreadlink");const ds=Symbol("openfile");const ps=Symbol("onopenfile");const ms=Symbol("close");const gs=Symbol("mode");const ys=Symbol("awaitDrain");const _s=Symbol("ondrain");const vs=Symbol("prefix");class WriteEntry extends Minipass{path;portable;myuid=process.getuid&&process.getuid()||0;myuser=process.env.USER||"";maxReadSize;linkCache;statCache;preservePaths;cwd;strict;mtime;noPax;noMtime;prefix;fd;blockLen=0;blockRemain=0;buf;pos=0;remain=0;length=0;offset=0;win32;absolute;header;type;linkpath;stat;onWriteEntry;#g=false;constructor(t,r={}){const i=dealias(r);super();this.path=pr(t);this.portable=!!i.portable;this.maxReadSize=i.maxReadSize||es;this.linkCache=i.linkCache||new Map;this.statCache=i.statCache||new Map;this.preservePaths=!!i.preservePaths;this.cwd=pr(i.cwd||process.cwd());this.strict=!!i.strict;this.noPax=!!i.noPax;this.noMtime=!!i.noMtime;this.mtime=i.mtime;this.prefix=i.prefix?pr(i.prefix):undefined;this.onWriteEntry=i.onWriteEntry;if(typeof i.onwarn==="function"){this.on("warn",i.onwarn)}let o=false;if(!this.preservePaths){const[t,r]=stripAbsolutePath(this.path);if(t&&typeof r==="string"){this.path=r;o=t}}this.win32=!!i.win32||process.platform==="win32";if(this.win32){this.path=decode(this.path.replace(/\\/g,"/"));t=t.replace(/\\/g,"/")}this.absolute=pr(i.absolute||xe.resolve(this.cwd,t));if(this.path===""){this.path="./"}if(o){this.warn("TAR_ENTRY_INFO",`stripping ${o} from absolute path`,{entry:this,path:o+this.path})}const a=this.statCache.get(this.absolute);if(a){this[ls](a)}else{this[cs]()}}warn(t,r,i={}){return warnMethod(this,t,r,i)}emit(t,...r){if(t==="error"){this.#g=true}return super.emit(t,...r)}[cs](){Ae.lstat(this.absolute,((t,r)=>{if(t){return this.emit("error",t)}this[ls](r)}))}[ls](t){this.statCache.set(this.absolute,t);this.stat=t;if(!t.isFile()){t.size=0}this.type=getType(t);this.emit("stat",t);this[ts]()}[ts](){switch(this.type){case"File":return this[rs]();case"Directory":return this[ss]();case"SymbolicLink":return this[ns]();default:return this.end()}}[gs](t){return modeFix(t,this.type==="Directory",this.portable)}[vs](t){return prefixPath(t,this.prefix)}[os](){if(!this.stat){throw new Error("cannot write header before stat")}if(this.type==="Directory"&&this.portable){this.noMtime=true}this.onWriteEntry?.(this);this.header=new Header({path:this[vs](this.path),linkpath:this.type==="Link"&&this.linkpath!==undefined?this[vs](this.linkpath):this.linkpath,mode:this[gs](this.stat.mode),uid:this.portable?undefined:this.stat.uid,gid:this.portable?undefined:this.stat.gid,size:this.stat.size,mtime:this.noMtime?undefined:this.mtime||this.stat.mtime,type:this.type==="Unsupported"?undefined:this.type,uname:this.portable?undefined:this.stat.uid===this.myuid?this.myuser:"",atime:this.portable?undefined:this.stat.atime,ctime:this.portable?undefined:this.stat.ctime});if(this.header.encode()&&!this.noPax){super.write(new Pax({atime:this.portable?undefined:this.header.atime,ctime:this.portable?undefined:this.header.ctime,gid:this.portable?undefined:this.header.gid,mtime:this.noMtime?undefined:this.mtime||this.header.mtime,path:this[vs](this.path),linkpath:this.type==="Link"&&this.linkpath!==undefined?this[vs](this.linkpath):this.linkpath,size:this.header.size,uid:this.portable?undefined:this.header.uid,uname:this.portable?undefined:this.header.uname,dev:this.portable?undefined:this.stat.dev,ino:this.portable?undefined:this.stat.ino,nlink:this.portable?undefined:this.stat.nlink}).encode())}const t=this.header?.block;if(!t){throw new Error("failed to encode header")}super.write(t)}[ss](){if(!this.stat){throw new Error("cannot create directory entry without stat")}if(this.path.slice(-1)!=="/"){this.path+="/"}this.stat.size=0;this[os]();this.end()}[ns](){Ae.readlink(this.absolute,((t,r)=>{if(t){return this.emit("error",t)}this[hs](r)}))}[hs](t){this.linkpath=pr(t);this[os]();this.end()}[is](t){if(!this.stat){throw new Error("cannot create link entry without stat")}this.type="Link";this.linkpath=pr(xe.relative(this.cwd,t));this.stat.size=0;this[os]();this.end()}[rs](){if(!this.stat){throw new Error("cannot create file entry without stat")}if(this.stat.nlink>1){const t=`${this.stat.dev}:${this.stat.ino}`;const r=this.linkCache.get(t);if(r?.indexOf(this.cwd)===0){return this[is](r)}this.linkCache.set(t,this.absolute)}this[os]();if(this.stat.size===0){return this.end()}this[ds]()}[ds](){Ae.open(this.absolute,"r",((t,r)=>{if(t){return this.emit("error",t)}this[ps](r)}))}[ps](t){this.fd=t;if(this.#g){return this[ms]()}if(!this.stat){throw new Error("should stat before calling onopenfile")}this.blockLen=512*Math.ceil(this.stat.size/512);this.blockRemain=this.blockLen;const r=Math.min(this.blockLen,this.maxReadSize);this.buf=Buffer.allocUnsafe(r);this.offset=0;this.pos=0;this.remain=this.stat.size;this.length=this.buf.length;this[as]()}[as](){const{fd:t,buf:r,offset:i,length:o,pos:a}=this;if(t===undefined||r===undefined){throw new Error("cannot read file without first opening")}Ae.read(t,r,i,o,a,((t,r)=>{if(t){return this[ms]((()=>this.emit("error",t)))}this[us](r)}))}[ms](t=()=>{}){if(this.fd!==undefined)Ae.close(this.fd,t)}[us](t){if(t<=0&&this.remain>0){const t=Object.assign(new Error("encountered unexpected EOF"),{path:this.absolute,syscall:"read",code:"EOF"});return this[ms]((()=>this.emit("error",t)))}if(t>this.remain){const t=Object.assign(new Error("did not encounter expected EOF"),{path:this.absolute,syscall:"read",code:"EOF"});return this[ms]((()=>this.emit("error",t)))}if(!this.buf){throw new Error("should have created buffer prior to reading")}if(t===this.remain){for(let r=t;r<this.length&&t<this.blockRemain;r++){this.buf[r+this.offset]=0;t++;this.remain++}}const r=this.offset===0&&t===this.buf.length?this.buf:this.buf.subarray(this.offset,this.offset+t);const i=this.write(r);if(!i){this[ys]((()=>this[_s]()))}else{this[_s]()}}[ys](t){this.once("drain",t)}write(t,r,i){if(typeof r==="function"){i=r;r=undefined}if(typeof t==="string"){t=Buffer.from(t,typeof r==="string"?r:"utf8")}if(this.blockRemain<t.length){const t=Object.assign(new Error("writing more data than expected"),{path:this.absolute});return this.emit("error",t)}this.remain-=t.length;this.blockRemain-=t.length;this.pos+=t.length;this.offset+=t.length;return super.write(t,null,i)}[_s](){if(!this.remain){if(this.blockRemain){super.write(Buffer.alloc(this.blockRemain))}return this[ms]((t=>t?this.emit("error",t):this.end()))}if(!this.buf){throw new Error("buffer lost somehow in ONDRAIN")}if(this.offset>=this.length){this.buf=Buffer.allocUnsafe(Math.min(this.blockRemain,this.buf.length));this.offset=0}this.length=this.buf.length-this.offset;this[as]()}}class WriteEntrySync extends WriteEntry{sync=true;[cs](){this[ls](Ae.lstatSync(this.absolute))}[ns](){this[hs](Ae.readlinkSync(this.absolute))}[ds](){this[ps](Ae.openSync(this.absolute,"r"))}[as](){let t=true;try{const{fd:r,buf:i,offset:o,length:a,pos:c}=this;if(r===undefined||i===undefined){throw new Error("fd and buf must be set in READ method")}const l=Ae.readSync(r,i,o,a,c);this[us](l);t=false}finally{if(t){try{this[ms]((()=>{}))}catch(t){}}}}[ys](t){t()}[ms](t=()=>{}){if(this.fd!==undefined)Ae.closeSync(this.fd);t()}}class WriteEntryTar extends Minipass{blockLen=0;blockRemain=0;buf=0;pos=0;remain=0;length=0;preservePaths;portable;strict;noPax;noMtime;readEntry;type;prefix;path;mode;uid;gid;uname;gname;header;mtime;atime;ctime;linkpath;size;onWriteEntry;warn(t,r,i={}){return warnMethod(this,t,r,i)}constructor(t,r={}){const i=dealias(r);super();this.preservePaths=!!i.preservePaths;this.portable=!!i.portable;this.strict=!!i.strict;this.noPax=!!i.noPax;this.noMtime=!!i.noMtime;this.onWriteEntry=i.onWriteEntry;this.readEntry=t;const{type:o}=t;if(o==="Unsupported"){throw new Error("writing entry that should be ignored")}this.type=o;if(this.type==="Directory"&&this.portable){this.noMtime=true}this.prefix=i.prefix;this.path=pr(t.path);this.mode=t.mode!==undefined?this[gs](t.mode):undefined;this.uid=this.portable?undefined:t.uid;this.gid=this.portable?undefined:t.gid;this.uname=this.portable?undefined:t.uname;this.gname=this.portable?undefined:t.gname;this.size=t.size;this.mtime=this.noMtime?undefined:i.mtime||t.mtime;this.atime=this.portable?undefined:t.atime;this.ctime=this.portable?undefined:t.ctime;this.linkpath=t.linkpath!==undefined?pr(t.linkpath):undefined;if(typeof i.onwarn==="function"){this.on("warn",i.onwarn)}let a=false;if(!this.preservePaths){const[t,r]=stripAbsolutePath(this.path);if(t&&typeof r==="string"){this.path=r;a=t}}this.remain=t.size;this.blockRemain=t.startBlockSize;this.onWriteEntry?.(this);this.header=new Header({path:this[vs](this.path),linkpath:this.type==="Link"&&this.linkpath!==undefined?this[vs](this.linkpath):this.linkpath,mode:this.mode,uid:this.portable?undefined:this.uid,gid:this.portable?undefined:this.gid,size:this.size,mtime:this.noMtime?undefined:this.mtime,type:this.type,uname:this.portable?undefined:this.uname,atime:this.portable?undefined:this.atime,ctime:this.portable?undefined:this.ctime});if(a){this.warn("TAR_ENTRY_INFO",`stripping ${a} from absolute path`,{entry:this,path:a+this.path})}if(this.header.encode()&&!this.noPax){super.write(new Pax({atime:this.portable?undefined:this.atime,ctime:this.portable?undefined:this.ctime,gid:this.portable?undefined:this.gid,mtime:this.noMtime?undefined:this.mtime,path:this[vs](this.path),linkpath:this.type==="Link"&&this.linkpath!==undefined?this[vs](this.linkpath):this.linkpath,size:this.size,uid:this.portable?undefined:this.uid,uname:this.portable?undefined:this.uname,dev:this.portable?undefined:this.readEntry.dev,ino:this.portable?undefined:this.readEntry.ino,nlink:this.portable?undefined:this.readEntry.nlink}).encode())}const c=this.header?.block;if(!c)throw new Error("failed to encode header");super.write(c);t.pipe(this)}[vs](t){return prefixPath(t,this.prefix)}[gs](t){return modeFix(t,this.type==="Directory",this.portable)}write(t,r,i){if(typeof r==="function"){i=r;r=undefined}if(typeof t==="string"){t=Buffer.from(t,typeof r==="string"?r:"utf8")}const o=t.length;if(o>this.blockRemain){throw new Error("writing more to entry than is appropriate")}this.blockRemain-=o;return super.write(t,i)}end(t,r,i){if(this.blockRemain){super.write(Buffer.alloc(this.blockRemain))}if(typeof t==="function"){i=t;r=undefined;t=undefined}if(typeof r==="function"){i=r;r=undefined}if(typeof t==="string"){t=Buffer.from(t,r??"utf8")}if(i)this.once("finish",i);t?super.end(t,i):super.end(i);return this}}const getType=t=>t.isFile()?"File":t.isDirectory()?"Directory":t.isSymbolicLink()?"SymbolicLink":"Unsupported";class PackJob{path;absolute;entry;stat;readdir;pending=false;ignore=false;piped=false;constructor(t,r){this.path=t||"./";this.absolute=r}}const bs=Buffer.alloc(1024);const ws=Symbol("onStat");const Es=Symbol("ended");const Ss=Symbol("queue");const $s=Symbol("current");const Rs=Symbol("process");const Ps=Symbol("processing");const Os=Symbol("processJob");const As=Symbol("jobs");const xs=Symbol("jobDone");const Ts=Symbol("addFSEntry");const ks=Symbol("addTarEntry");const Cs=Symbol("stat");const Is=Symbol("readdir");const Ns=Symbol("onreaddir");const Ds=Symbol("pipe");const Ls=Symbol("entry");const Ms=Symbol("entryOpt");const js=Symbol("writeEntryClass");const Fs=Symbol("write");const Us=Symbol("ondrain");class Pack extends Minipass{opt;cwd;maxReadSize;preservePaths;strict;noPax;prefix;linkCache;statCache;file;portable;zip;readdirCache;noDirRecurse;follow;noMtime;mtime;filter;jobs;[js];onWriteEntry;[Ss];[As]=0;[Ps]=false;[Es]=false;constructor(t={}){super();this.opt=t;this.file=t.file||"";this.cwd=t.cwd||process.cwd();this.maxReadSize=t.maxReadSize;this.preservePaths=!!t.preservePaths;this.strict=!!t.strict;this.noPax=!!t.noPax;this.prefix=pr(t.prefix||"");this.linkCache=t.linkCache||new Map;this.statCache=t.statCache||new Map;this.readdirCache=t.readdirCache||new Map;this.onWriteEntry=t.onWriteEntry;this[js]=WriteEntry;if(typeof t.onwarn==="function"){this.on("warn",t.onwarn)}this.portable=!!t.portable;if(t.gzip||t.brotli){if(t.gzip&&t.brotli){throw new TypeError("gzip and brotli are mutually exclusive")}if(t.gzip){if(typeof t.gzip!=="object"){t.gzip={}}if(this.portable){t.gzip.portable=true}this.zip=new Gzip(t.gzip)}if(t.brotli){if(typeof t.brotli!=="object"){t.brotli={}}this.zip=new BrotliCompress(t.brotli)}if(!this.zip)throw new Error("impossible");const r=this.zip;r.on("data",(t=>super.write(t)));r.on("end",(()=>super.end()));r.on("drain",(()=>this[Us]()));this.on("resume",(()=>r.resume()))}else{this.on("drain",this[Us])}this.noDirRecurse=!!t.noDirRecurse;this.follow=!!t.follow;this.noMtime=!!t.noMtime;if(t.mtime)this.mtime=t.mtime;this.filter=typeof t.filter==="function"?t.filter:()=>true;this[Ss]=new Yallist;this[As]=0;this.jobs=Number(t.jobs)||4;this[Ps]=false;this[Es]=false}[Fs](t){return super.write(t)}add(t){this.write(t);return this}end(t,r,i){if(typeof t==="function"){i=t;t=undefined}if(typeof r==="function"){i=r;r=undefined}if(t){this.add(t)}this[Es]=true;this[Rs]();if(i)i();return this}write(t){if(this[Es]){throw new Error("write after end")}if(t instanceof ReadEntry){this[ks](t)}else{this[Ts](t)}return this.flowing}[ks](t){const r=pr(xe.resolve(this.cwd,t.path));if(!this.filter(t.path,t)){t.resume()}else{const i=new PackJob(t.path,r);i.entry=new WriteEntryTar(t,this[Ms](i));i.entry.on("end",(()=>this[xs](i)));this[As]+=1;this[Ss].push(i)}this[Rs]()}[Ts](t){const r=pr(xe.resolve(this.cwd,t));this[Ss].push(new PackJob(t,r));this[Rs]()}[Cs](t){t.pending=true;this[As]+=1;const r=this.follow?"stat":"lstat";Ae[r](t.absolute,((r,i)=>{t.pending=false;this[As]-=1;if(r){this.emit("error",r)}else{this[ws](t,i)}}))}[ws](t,r){this.statCache.set(t.absolute,r);t.stat=r;if(!this.filter(t.path,r)){t.ignore=true}this[Rs]()}[Is](t){t.pending=true;this[As]+=1;Ae.readdir(t.absolute,((r,i)=>{t.pending=false;this[As]-=1;if(r){return this.emit("error",r)}this[Ns](t,i)}))}[Ns](t,r){this.readdirCache.set(t.absolute,r);t.readdir=r;this[Rs]()}[Rs](){if(this[Ps]){return}this[Ps]=true;for(let t=this[Ss].head;!!t&&this[As]<this.jobs;t=t.next){this[Os](t.value);if(t.value.ignore){const r=t.next;this[Ss].removeNode(t);t.next=r}}this[Ps]=false;if(this[Es]&&!this[Ss].length&&this[As]===0){if(this.zip){this.zip.end(bs)}else{super.write(bs);super.end()}}}get[$s](){return this[Ss]&&this[Ss].head&&this[Ss].head.value}[xs](t){this[Ss].shift();this[As]-=1;this[Rs]()}[Os](t){if(t.pending){return}if(t.entry){if(t===this[$s]&&!t.piped){this[Ds](t)}return}if(!t.stat){const r=this.statCache.get(t.absolute);if(r){this[ws](t,r)}else{this[Cs](t)}}if(!t.stat){return}if(t.ignore){return}if(!this.noDirRecurse&&t.stat.isDirectory()&&!t.readdir){const r=this.readdirCache.get(t.absolute);if(r){this[Ns](t,r)}else{this[Is](t)}if(!t.readdir){return}}t.entry=this[Ls](t);if(!t.entry){t.ignore=true;return}if(t===this[$s]&&!t.piped){this[Ds](t)}}[Ms](t){return{onwarn:(t,r,i)=>this.warn(t,r,i),noPax:this.noPax,cwd:this.cwd,absolute:t.absolute,preservePaths:this.preservePaths,maxReadSize:this.maxReadSize,strict:this.strict,portable:this.portable,linkCache:this.linkCache,statCache:this.statCache,noMtime:this.noMtime,mtime:this.mtime,prefix:this.prefix,onWriteEntry:this.onWriteEntry}}[Ls](t){this[As]+=1;try{const r=new this[js](t.path,this[Ms](t));return r.on("end",(()=>this[xs](t))).on("error",(t=>this.emit("error",t)))}catch(t){this.emit("error",t)}}[Us](){if(this[$s]&&this[$s].entry){this[$s].entry.resume()}}[Ds](t){t.piped=true;if(t.readdir){t.readdir.forEach((r=>{const i=t.path;const o=i==="./"?"":i.replace(/\/*$/,"/");this[Ts](o+r)}))}const r=t.entry;const i=this.zip;if(!r)throw new Error("cannot pipe without source");if(i){r.on("data",(t=>{if(!i.write(t)){r.pause()}}))}else{r.on("data",(t=>{if(!super.write(t)){r.pause()}}))}}pause(){if(this.zip){this.zip.pause()}return super.pause()}warn(t,r,i={}){warnMethod(this,t,r,i)}}class PackSync extends Pack{sync=true;constructor(t){super(t);this[js]=WriteEntrySync}pause(){}resume(){}[Cs](t){const r=this.follow?"statSync":"lstatSync";this[ws](t,Ae[r](t.absolute))}[Is](t){this[Ns](t,Ae.readdirSync(t.absolute))}[Ds](t){const r=t.entry;const i=this.zip;if(t.readdir){t.readdir.forEach((r=>{const i=t.path;const o=i==="./"?"":i.replace(/\/*$/,"/");this[Ts](o+r)}))}if(!r)throw new Error("Cannot pipe without source");if(i){r.on("data",(t=>{i.write(t)}))}else{r.on("data",(t=>{super[Fs](t)}))}}}const createFileSync=(t,r)=>{const i=new PackSync(t);const o=new WriteStreamSync(t.file,{mode:t.mode||438});i.pipe(o);addFilesSync(i,r)};const createFile=(t,r)=>{const i=new Pack(t);const o=new WriteStream(t.file,{mode:t.mode||438});i.pipe(o);const a=new Promise(((t,r)=>{o.on("error",r);o.on("close",t);i.on("error",r)}));addFilesAsync(i,r);return a};const addFilesSync=(t,r)=>{r.forEach((r=>{if(r.charAt(0)==="@"){Wr({file:E.resolve(t.cwd,r.slice(1)),sync:true,noResume:true,onReadEntry:r=>t.add(r)})}else{t.add(r)}}));t.end()};const addFilesAsync=async(t,r)=>{for(let i=0;i<r.length;i++){const o=String(r[i]);if(o.charAt(0)==="@"){await Wr({file:E.resolve(String(t.cwd),o.slice(1)),noResume:true,onReadEntry:r=>{t.add(r)}})}else{t.add(o)}}t.end()};const createSync=(t,r)=>{const i=new PackSync(t);addFilesSync(i,r);return i};const createAsync=(t,r)=>{const i=new Pack(t);addFilesAsync(i,r);return i};const Bs=makeCommand(createFileSync,createFile,createSync,createAsync,((t,r)=>{if(!r?.length){throw new TypeError("no paths specified to add to archive")}}));const Hs=process.env.__FAKE_PLATFORM__||process.platform;const Vs=Hs==="win32";const{O_CREAT:zs,O_TRUNC:Gs,O_WRONLY:qs}=Ae.constants;const Ws=Number(process.env.__FAKE_FS_O_FILENAME__)||Ae.constants.UV_FS_O_FILEMAP||0;const Ks=Vs&&!!Ws;const Ys=512*1024;const Zs=Ws|Gs|zs|qs;const Xs=!Ks?()=>"w":t=>t<Ys?Zs:"w";const lchownSync=(t,r,i)=>{try{return w.lchownSync(t,r,i)}catch(t){if(t?.code!=="ENOENT")throw t}};const chown=(t,r,i,o)=>{w.lchown(t,r,i,(t=>{o(t&&t?.code!=="ENOENT"?t:null)}))};const chownrKid=(t,r,i,o,a)=>{if(r.isDirectory()){chownr(E.resolve(t,r.name),i,o,(c=>{if(c)return a(c);const l=E.resolve(t,r.name);chown(l,i,o,a)}))}else{const c=E.resolve(t,r.name);chown(c,i,o,a)}};const chownr=(t,r,i,o)=>{w.readdir(t,{withFileTypes:true},((a,c)=>{if(a){if(a.code==="ENOENT")return o();else if(a.code!=="ENOTDIR"&&a.code!=="ENOTSUP")return o(a)}if(a||!c.length)return chown(t,r,i,o);let l=c.length;let u=null;const then=a=>{if(u)return;if(a)return o(u=a);if(--l===0)return chown(t,r,i,o)};for(const o of c){chownrKid(t,o,r,i,then)}}))};const chownrKidSync=(t,r,i,o)=>{if(r.isDirectory())chownrSync(E.resolve(t,r.name),i,o);lchownSync(E.resolve(t,r.name),i,o)};const chownrSync=(t,r,i)=>{let o;try{o=w.readdirSync(t,{withFileTypes:true})}catch(o){const a=o;if(a?.code==="ENOENT")return;else if(a?.code==="ENOTDIR"||a?.code==="ENOTSUP")return lchownSync(t,r,i);else throw a}for(const a of o){chownrKidSync(t,a,r,i)}return lchownSync(t,r,i)};const optsArg=t=>{if(!t){t={mode:511}}else if(typeof t==="object"){t={mode:511,...t}}else if(typeof t==="number"){t={mode:t}}else if(typeof t==="string"){t={mode:parseInt(t,8)}}else{throw new TypeError("invalid options argument")}const r=t;const i=t.fs||{};t.mkdir=t.mkdir||i.mkdir||Ae.mkdir;t.mkdirAsync=t.mkdirAsync?t.mkdirAsync:async(t,i)=>new Promise(((o,a)=>r.mkdir(t,i,((t,r)=>t?a(t):o(r)))));t.stat=t.stat||i.stat||Ae.stat;t.statAsync=t.statAsync?t.statAsync:async t=>new Promise(((i,o)=>r.stat(t,((t,r)=>t?o(t):i(r)))));t.statSync=t.statSync||i.statSync||Ae.statSync;t.mkdirSync=t.mkdirSync||i.mkdirSync||Ae.mkdirSync;return r};const mkdirp_manual_mkdirpManualSync=(t,r,i)=>{const o=(0,xe.dirname)(t);const a={...optsArg(r),recursive:false};if(o===t){try{return a.mkdirSync(t,a)}catch(t){const r=t;if(r&&r.code!=="EISDIR"){throw t}return}}try{a.mkdirSync(t,a);return i||t}catch(r){const c=r;if(c&&c.code==="ENOENT"){return mkdirp_manual_mkdirpManualSync(t,a,mkdirp_manual_mkdirpManualSync(o,a,i))}if(c&&c.code!=="EEXIST"&&c&&c.code!=="EROFS"){throw r}try{if(!a.statSync(t).isDirectory())throw r}catch(t){throw r}}};const Js=Object.assign((async(t,r,i)=>{const o=optsArg(r);o.recursive=false;const a=(0,xe.dirname)(t);if(a===t){return o.mkdirAsync(t,o).catch((t=>{const r=t;if(r&&r.code!=="EISDIR"){throw t}}))}return o.mkdirAsync(t,o).then((()=>i||t),(async r=>{const c=r;if(c&&c.code==="ENOENT"){return Js(a,o).then((r=>Js(t,o,r)))}if(c&&c.code!=="EEXIST"&&c.code!=="EROFS"){throw r}return o.statAsync(t).then((t=>{if(t.isDirectory()){return i}else{throw r}}),(()=>{throw r}))}))}),{sync:mkdirp_manual_mkdirpManualSync});const findMade=async(t,r,i)=>{if(i===r){return}return t.statAsync(r).then((t=>t.isDirectory()?i:undefined),(i=>{const o=i;return o&&o.code==="ENOENT"?findMade(t,(0,xe.dirname)(r),r):undefined}))};const findMadeSync=(t,r,i)=>{if(i===r){return undefined}try{return t.statSync(r).isDirectory()?i:undefined}catch(i){const o=i;return o&&o.code==="ENOENT"?findMadeSync(t,(0,xe.dirname)(r),r):undefined}};const mkdirp_native_mkdirpNativeSync=(t,r)=>{const i=optsArg(r);i.recursive=true;const o=(0,xe.dirname)(t);if(o===t){return i.mkdirSync(t,i)}const a=findMadeSync(i,t);try{i.mkdirSync(t,i);return a}catch(r){const o=r;if(o&&o.code==="ENOENT"){return mkdirp_manual_mkdirpManualSync(t,i)}else{throw r}}};const Qs=Object.assign((async(t,r)=>{const i={...optsArg(r),recursive:true};const o=(0,xe.dirname)(t);if(o===t){return await i.mkdirAsync(t,i)}return findMade(i,t).then((r=>i.mkdirAsync(t,i).then((t=>r||t)).catch((r=>{const o=r;if(o&&o.code==="ENOENT"){return Js(t,i)}else{throw r}}))))}),{sync:mkdirp_native_mkdirpNativeSync});const en=process.env.__TESTING_MKDIRP_PLATFORM__||process.platform;const pathArg=t=>{if(/\0/.test(t)){throw Object.assign(new TypeError("path must be a string without null bytes"),{path:t,code:"ERR_INVALID_ARG_VALUE"})}t=(0,xe.resolve)(t);if(en==="win32"){const r=/[*|"<>?:]/;const{root:i}=(0,xe.parse)(t);if(r.test(t.substring(i.length))){throw Object.assign(new Error("Illegal characters in path."),{path:t,code:"EINVAL"})}}return t};const tn=process.env.__TESTING_MKDIRP_NODE_VERSION__||process.version;const rn=tn.replace(/^v/,"").split(".");const sn=+rn[0]>10||+rn[0]===10&&+rn[1]>=12;const nn=!sn?()=>false:t=>optsArg(t).mkdirSync===Ae.mkdirSync;const on=Object.assign(!sn?()=>false:t=>optsArg(t).mkdir===Ae.mkdir,{sync:nn});const mkdirpSync=(t,r)=>{t=pathArg(t);const i=optsArg(r);return nn(i)?mkdirp_native_mkdirpNativeSync(t,i):mkdirp_manual_mkdirpManualSync(t,i)};const an=null&&mkdirpSync;const cn=null&&mkdirpManual;const ln=null&&mkdirpManualSync;const un=null&&mkdirpNative;const hn=null&&mkdirpNativeSync;const fn=Object.assign((async(t,r)=>{t=pathArg(t);const i=optsArg(r);return on(i)?Qs(t,i):Js(t,i)}),{mkdirpSync:mkdirpSync,mkdirpNative:Qs,mkdirpNativeSync:mkdirp_native_mkdirpNativeSync,mkdirpManual:Js,mkdirpManualSync:mkdirp_manual_mkdirpManualSync,sync:mkdirpSync,native:Qs,nativeSync:mkdirp_native_mkdirpNativeSync,manual:Js,manualSync:mkdirp_manual_mkdirpManualSync,useNative:on,useNativeSync:nn});class CwdError extends Error{path;code;syscall="chdir";constructor(t,r){super(`${r}: Cannot cd into '${t}'`);this.path=t;this.code=r}get name(){return"CwdError"}}class SymlinkError extends Error{path;symlink;syscall="symlink";code="TAR_SYMLINK_ERROR";constructor(t,r){super("TAR_SYMLINK_ERROR: Cannot extract through symbolic link");this.symlink=t;this.path=r}get name(){return"SymlinkError"}}const cGet=(t,r)=>t.get(pr(r));const cSet=(t,r,i)=>t.set(pr(r),i);const checkCwd=(t,r)=>{Ae.stat(t,((i,o)=>{if(i||!o.isDirectory()){i=new CwdError(t,i?.code||"ENOTDIR")}r(i)}))};const mkdir=(t,r,i)=>{t=pr(t);const o=r.umask??18;const a=r.mode|448;const c=(a&o)!==0;const l=r.uid;const u=r.gid;const h=typeof l==="number"&&typeof u==="number"&&(l!==r.processUid||u!==r.processGid);const d=r.preserve;const p=r.unlink;const m=r.cache;const g=pr(r.cwd);const done=(r,o)=>{if(r){i(r)}else{cSet(m,t,true);if(o&&h){chownr(o,l,u,(t=>done(t)))}else if(c){Ae.chmod(t,a,i)}else{i()}}};if(m&&cGet(m,t)===true){return done()}if(t===g){return checkCwd(t,done)}if(d){return fn(t,{mode:a}).then((t=>done(null,t??undefined)),done)}const y=pr(E.relative(g,t));const v=y.split("/");mkdir_(g,v,a,m,p,g,undefined,done)};const mkdir_=(t,r,i,o,a,c,l,u)=>{if(!r.length){return u(null,l)}const h=r.shift();const d=pr(E.resolve(t+"/"+h));if(cGet(o,d)){return mkdir_(d,r,i,o,a,c,l,u)}Ae.mkdir(d,i,onmkdir(d,r,i,o,a,c,l,u))};const onmkdir=(t,r,i,o,a,c,l,u)=>h=>{if(h){Ae.lstat(t,((d,p)=>{if(d){d.path=d.path&&pr(d.path);u(d)}else if(p.isDirectory()){mkdir_(t,r,i,o,a,c,l,u)}else if(a){Ae.unlink(t,(h=>{if(h){return u(h)}Ae.mkdir(t,i,onmkdir(t,r,i,o,a,c,l,u))}))}else if(p.isSymbolicLink()){return u(new SymlinkError(t,t+"/"+r.join("/")))}else{u(h)}}))}else{l=l||t;mkdir_(t,r,i,o,a,c,l,u)}};const checkCwdSync=t=>{let r=false;let i=undefined;try{r=Ae.statSync(t).isDirectory()}catch(t){i=t?.code}finally{if(!r){throw new CwdError(t,i??"ENOTDIR")}}};const mkdirSync=(t,r)=>{t=pr(t);const i=r.umask??18;const o=r.mode|448;const a=(o&i)!==0;const c=r.uid;const l=r.gid;const u=typeof c==="number"&&typeof l==="number"&&(c!==r.processUid||l!==r.processGid);const h=r.preserve;const d=r.unlink;const p=r.cache;const m=pr(r.cwd);const done=r=>{cSet(p,t,true);if(r&&u){chownrSync(r,c,l)}if(a){Ae.chmodSync(t,o)}};if(p&&cGet(p,t)===true){return done()}if(t===m){checkCwdSync(m);return done()}if(h){return done(mkdirpSync(t,o)??undefined)}const g=pr(E.relative(m,t));const y=g.split("/");let v=undefined;for(let t=y.shift(),r=m;t&&(r+="/"+t);t=y.shift()){r=pr(E.resolve(r));if(cGet(p,r)){continue}try{Ae.mkdirSync(r,o);v=v||r;cSet(p,r,true)}catch(t){const i=Ae.lstatSync(r);if(i.isDirectory()){cSet(p,r,true);continue}else if(d){Ae.unlinkSync(r);Ae.mkdirSync(r,o);v=v||r;cSet(p,r,true);continue}else if(i.isSymbolicLink()){return new SymlinkError(r,r+"/"+y.join("/"))}}}return done(v)};const dn=Object.create(null);const{hasOwnProperty:pn}=Object.prototype;const normalizeUnicode=t=>{if(!pn.call(dn,t)){dn[t]=t.normalize("NFD")}return dn[t]};const mn=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform;const gn=mn==="win32";const getDirs=t=>{const r=t.split("/").slice(0,-1).reduce(((t,r)=>{const i=t[t.length-1];if(i!==undefined){r=(0,E.join)(i,r)}t.push(r||"/");return t}),[]);return r};class PathReservations{#y=new Map;#_=new Map;#v=new Set;reserve(t,r){t=gn?["win32 parallelization disabled"]:t.map((t=>stripTrailingSlashes((0,E.join)(normalizeUnicode(t))).toLowerCase()));const i=new Set(t.map((t=>getDirs(t))).reduce(((t,r)=>t.concat(r))));this.#_.set(r,{dirs:i,paths:t});for(const i of t){const t=this.#y.get(i);if(!t){this.#y.set(i,[r])}else{t.push(r)}}for(const t of i){const i=this.#y.get(t);if(!i){this.#y.set(t,[new Set([r])])}else{const t=i[i.length-1];if(t instanceof Set){t.add(r)}else{i.push(new Set([r]))}}}return this.#b(r)}#w(t){const r=this.#_.get(t);if(!r){throw new Error("function does not have any path reservations")}return{paths:r.paths.map((t=>this.#y.get(t))),dirs:[...r.dirs].map((t=>this.#y.get(t)))}}check(t){const{paths:r,dirs:i}=this.#w(t);return r.every((r=>r&&r[0]===t))&&i.every((r=>r&&r[0]instanceof Set&&r[0].has(t)))}#b(t){if(this.#v.has(t)||!this.check(t)){return false}this.#v.add(t);t((()=>this.#E(t)));return true}#E(t){if(!this.#v.has(t)){return false}const r=this.#_.get(t);if(!r){throw new Error("invalid reservation")}const{paths:i,dirs:o}=r;const a=new Set;for(const r of i){const i=this.#y.get(r);if(!i||i?.[0]!==t){continue}const o=i[1];if(!o){this.#y.delete(r);continue}i.shift();if(typeof o==="function"){a.add(o)}else{for(const t of o){a.add(t)}}}for(const r of o){const i=this.#y.get(r);const o=i?.[0];if(!i||!(o instanceof Set))continue;if(o.size===1&&i.length===1){this.#y.delete(r);continue}else if(o.size===1){i.shift();const t=i[0];if(typeof t==="function"){a.add(t)}}else{o.delete(t)}}this.#v.delete(t);a.forEach((t=>this.#b(t)));return true}}const yn=Symbol("onEntry");const _n=Symbol("checkFs");const vn=Symbol("checkFs2");const bn=Symbol("pruneCache");const wn=Symbol("isReusable");const En=Symbol("makeFs");const Sn=Symbol("file");const $n=Symbol("directory");const Rn=Symbol("link");const Pn=Symbol("symlink");const On=Symbol("hardlink");const An=Symbol("unsupported");const xn=Symbol("checkPath");const Tn=Symbol("mkdir");const kn=Symbol("onError");const Cn=Symbol("pending");const In=Symbol("pend");const Nn=Symbol("unpend");const Dn=Symbol("ended");const Ln=Symbol("maybeClose");const Mn=Symbol("skip");const jn=Symbol("doChown");const Fn=Symbol("uid");const Un=Symbol("gid");const Bn=Symbol("checkedCwd");const Hn=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform;const Vn=Hn==="win32";const zn=1024;const unlinkFile=(t,r)=>{if(!Vn){return w.unlink(t,r)}const i=t+".DELETE."+(0,S.randomBytes)(16).toString("hex");w.rename(t,i,(t=>{if(t){return r(t)}w.unlink(i,r)}))};const unlinkFileSync=t=>{if(!Vn){return w.unlinkSync(t)}const r=t+".DELETE."+(0,S.randomBytes)(16).toString("hex");w.renameSync(t,r);w.unlinkSync(r)};const uint32=(t,r,i)=>t!==undefined&&t===t>>>0?t:r!==undefined&&r===r>>>0?r:i;const cacheKeyNormalize=t=>stripTrailingSlashes(pr(normalizeUnicode(t))).toLowerCase();const pruneCache=(t,r)=>{r=cacheKeyNormalize(r);for(const i of t.keys()){const o=cacheKeyNormalize(i);if(o===r||o.indexOf(r+"/")===0){t.delete(i)}}};const dropCache=t=>{for(const r of t.keys()){t.delete(r)}};class Unpack extends Parser{[Dn]=false;[Bn]=false;[Cn]=0;reservations=new PathReservations;transform;writable=true;readable=false;dirCache;uid;gid;setOwner;preserveOwner;processGid;processUid;maxDepth;forceChown;win32;newer;keep;noMtime;preservePaths;unlink;cwd;strip;processUmask;umask;dmode;fmode;chmod;constructor(t={}){t.ondone=()=>{this[Dn]=true;this[Ln]()};super(t);this.transform=t.transform;this.dirCache=t.dirCache||new Map;this.chmod=!!t.chmod;if(typeof t.uid==="number"||typeof t.gid==="number"){if(typeof t.uid!=="number"||typeof t.gid!=="number"){throw new TypeError("cannot set owner without number uid and gid")}if(t.preserveOwner){throw new TypeError("cannot preserve owner in archive and also set owner explicitly")}this.uid=t.uid;this.gid=t.gid;this.setOwner=true}else{this.uid=undefined;this.gid=undefined;this.setOwner=false}if(t.preserveOwner===undefined&&typeof t.uid!=="number"){this.preserveOwner=!!(process.getuid&&process.getuid()===0)}else{this.preserveOwner=!!t.preserveOwner}this.processUid=(this.preserveOwner||this.setOwner)&&process.getuid?process.getuid():undefined;this.processGid=(this.preserveOwner||this.setOwner)&&process.getgid?process.getgid():undefined;this.maxDepth=typeof t.maxDepth==="number"?t.maxDepth:zn;this.forceChown=t.forceChown===true;this.win32=!!t.win32||Vn;this.newer=!!t.newer;this.keep=!!t.keep;this.noMtime=!!t.noMtime;this.preservePaths=!!t.preservePaths;this.unlink=!!t.unlink;this.cwd=pr(E.resolve(t.cwd||process.cwd()));this.strip=Number(t.strip)||0;this.processUmask=!this.chmod?0:typeof t.processUmask==="number"?t.processUmask:process.umask();this.umask=typeof t.umask==="number"?t.umask:this.processUmask;this.dmode=t.dmode||511&~this.umask;this.fmode=t.fmode||438&~this.umask;this.on("entry",(t=>this[yn](t)))}warn(t,r,i={}){if(t==="TAR_BAD_ARCHIVE"||t==="TAR_ABORT"){i.recoverable=false}return super.warn(t,r,i)}[Ln](){if(this[Dn]&&this[Cn]===0){this.emit("prefinish");this.emit("finish");this.emit("end")}}[xn](t){const r=pr(t.path);const i=r.split("/");if(this.strip){if(i.length<this.strip){return false}if(t.type==="Link"){const r=pr(String(t.linkpath)).split("/");if(r.length>=this.strip){t.linkpath=r.slice(this.strip).join("/")}else{return false}}i.splice(0,this.strip);t.path=i.join("/")}if(isFinite(this.maxDepth)&&i.length>this.maxDepth){this.warn("TAR_ENTRY_ERROR","path excessively deep",{entry:t,path:r,depth:i.length,maxDepth:this.maxDepth});return false}if(!this.preservePaths){if(i.includes("..")||Vn&&/^[a-z]:\.\.$/i.test(i[0]??"")){this.warn("TAR_ENTRY_ERROR",`path contains '..'`,{entry:t,path:r});return false}const[o,a]=stripAbsolutePath(r);if(o){t.path=String(a);this.warn("TAR_ENTRY_INFO",`stripping ${o} from absolute path`,{entry:t,path:r})}}if(E.isAbsolute(t.path)){t.absolute=pr(E.resolve(t.path))}else{t.absolute=pr(E.resolve(this.cwd,t.path))}if(!this.preservePaths&&typeof t.absolute==="string"&&t.absolute.indexOf(this.cwd+"/")!==0&&t.absolute!==this.cwd){this.warn("TAR_ENTRY_ERROR","path escaped extraction target",{entry:t,path:pr(t.path),resolvedPath:t.absolute,cwd:this.cwd});return false}if(t.absolute===this.cwd&&t.type!=="Directory"&&t.type!=="GNUDumpDir"){return false}if(this.win32){const{root:r}=E.win32.parse(String(t.absolute));t.absolute=r+winchars_encode(String(t.absolute).slice(r.length));const{root:i}=E.win32.parse(t.path);t.path=i+winchars_encode(t.path.slice(i.length))}return true}[yn](t){if(!this[xn](t)){return t.resume()}$.equal(typeof t.absolute,"string");switch(t.type){case"Directory":case"GNUDumpDir":if(t.mode){t.mode=t.mode|448}case"File":case"OldFile":case"ContiguousFile":case"Link":case"SymbolicLink":return this[_n](t);case"CharacterDevice":case"BlockDevice":case"FIFO":default:return this[An](t)}}[kn](t,r){if(t.name==="CwdError"){this.emit("error",t)}else{this.warn("TAR_ENTRY_ERROR",t,{entry:r});this[Nn]();r.resume()}}[Tn](t,r,i){mkdir(pr(t),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:r},i)}[jn](t){return this.forceChown||this.preserveOwner&&(typeof t.uid==="number"&&t.uid!==this.processUid||typeof t.gid==="number"&&t.gid!==this.processGid)||typeof this.uid==="number"&&this.uid!==this.processUid||typeof this.gid==="number"&&this.gid!==this.processGid}[Fn](t){return uint32(this.uid,t.uid,this.processUid)}[Un](t){return uint32(this.gid,t.gid,this.processGid)}[Sn](t,r){const i=typeof t.mode==="number"?t.mode&4095:this.fmode;const o=new WriteStream(String(t.absolute),{flags:Xs(t.size),mode:i,autoClose:false});o.on("error",(i=>{if(o.fd){w.close(o.fd,(()=>{}))}o.write=()=>true;this[kn](i,t);r()}));let a=1;const done=i=>{if(i){if(o.fd){w.close(o.fd,(()=>{}))}this[kn](i,t);r();return}if(--a===0){if(o.fd!==undefined){w.close(o.fd,(i=>{if(i){this[kn](i,t)}else{this[Nn]()}r()}))}}};o.on("finish",(()=>{const r=String(t.absolute);const i=o.fd;if(typeof i==="number"&&t.mtime&&!this.noMtime){a++;const o=t.atime||new Date;const c=t.mtime;w.futimes(i,o,c,(t=>t?w.utimes(r,o,c,(r=>done(r&&t))):done()))}if(typeof i==="number"&&this[jn](t)){a++;const o=this[Fn](t);const c=this[Un](t);if(typeof o==="number"&&typeof c==="number"){w.fchown(i,o,c,(t=>t?w.chown(r,o,c,(r=>done(r&&t))):done()))}}done()}));const c=this.transform?this.transform(t)||t:t;if(c!==t){c.on("error",(i=>{this[kn](i,t);r()}));t.pipe(c)}c.pipe(o)}[$n](t,r){const i=typeof t.mode==="number"?t.mode&4095:this.dmode;this[Tn](String(t.absolute),i,(i=>{if(i){this[kn](i,t);r();return}let o=1;const done=()=>{if(--o===0){r();this[Nn]();t.resume()}};if(t.mtime&&!this.noMtime){o++;w.utimes(String(t.absolute),t.atime||new Date,t.mtime,done)}if(this[jn](t)){o++;w.chown(String(t.absolute),Number(this[Fn](t)),Number(this[Un](t)),done)}done()}))}[An](t){t.unsupported=true;this.warn("TAR_ENTRY_UNSUPPORTED",`unsupported entry type: ${t.type}`,{entry:t});t.resume()}[Pn](t,r){this[Rn](t,String(t.linkpath),"symlink",r)}[On](t,r){const i=pr(E.resolve(this.cwd,String(t.linkpath)));this[Rn](t,i,"link",r)}[In](){this[Cn]++}[Nn](){this[Cn]--;this[Ln]()}[Mn](t){this[Nn]();t.resume()}[wn](t,r){return t.type==="File"&&!this.unlink&&r.isFile()&&r.nlink<=1&&!Vn}[_n](t){this[In]();const r=[t.path];if(t.linkpath){r.push(t.linkpath)}this.reservations.reserve(r,(r=>this[vn](t,r)))}[bn](t){if(t.type==="SymbolicLink"){dropCache(this.dirCache)}else if(t.type!=="Directory"){pruneCache(this.dirCache,String(t.absolute))}}[vn](t,r){this[bn](t);const done=i=>{this[bn](t);r(i)};const checkCwd=()=>{this[Tn](this.cwd,this.dmode,(r=>{if(r){this[kn](r,t);done();return}this[Bn]=true;start()}))};const start=()=>{if(t.absolute!==this.cwd){const r=pr(E.dirname(String(t.absolute)));if(r!==this.cwd){return this[Tn](r,this.dmode,(r=>{if(r){this[kn](r,t);done();return}afterMakeParent()}))}}afterMakeParent()};const afterMakeParent=()=>{w.lstat(String(t.absolute),((r,i)=>{if(i&&(this.keep||this.newer&&i.mtime>(t.mtime??i.mtime))){this[Mn](t);done();return}if(r||this[wn](t,i)){return this[En](null,t,done)}if(i.isDirectory()){if(t.type==="Directory"){const r=this.chmod&&t.mode&&(i.mode&4095)!==t.mode;const afterChmod=r=>this[En](r??null,t,done);if(!r){return afterChmod()}return w.chmod(String(t.absolute),Number(t.mode),afterChmod)}if(t.absolute!==this.cwd){return w.rmdir(String(t.absolute),(r=>this[En](r??null,t,done)))}}if(t.absolute===this.cwd){return this[En](null,t,done)}unlinkFile(String(t.absolute),(r=>this[En](r??null,t,done)))}))};if(this[Bn]){start()}else{checkCwd()}}[En](t,r,i){if(t){this[kn](t,r);i();return}switch(r.type){case"File":case"OldFile":case"ContiguousFile":return this[Sn](r,i);case"Link":return this[On](r,i);case"SymbolicLink":return this[Pn](r,i);case"Directory":case"GNUDumpDir":return this[$n](r,i)}}[Rn](t,r,i,o){w[i](r,String(t.absolute),(r=>{if(r){this[kn](r,t)}else{this[Nn]();t.resume()}o()}))}}const callSync=t=>{try{return[null,t()]}catch(t){return[t,null]}};class UnpackSync extends Unpack{sync=true;[En](t,r){return super[En](t,r,(()=>{}))}[_n](t){this[bn](t);if(!this[Bn]){const r=this[Tn](this.cwd,this.dmode);if(r){return this[kn](r,t)}this[Bn]=true}if(t.absolute!==this.cwd){const r=pr(E.dirname(String(t.absolute)));if(r!==this.cwd){const i=this[Tn](r,this.dmode);if(i){return this[kn](i,t)}}}const[r,i]=callSync((()=>w.lstatSync(String(t.absolute))));if(i&&(this.keep||this.newer&&i.mtime>(t.mtime??i.mtime))){return this[Mn](t)}if(r||this[wn](t,i)){return this[En](null,t)}if(i.isDirectory()){if(t.type==="Directory"){const r=this.chmod&&t.mode&&(i.mode&4095)!==t.mode;const[o]=r?callSync((()=>{w.chmodSync(String(t.absolute),Number(t.mode))})):[];return this[En](o,t)}const[r]=callSync((()=>w.rmdirSync(String(t.absolute))));this[En](r,t)}const[o]=t.absolute===this.cwd?[]:callSync((()=>unlinkFileSync(String(t.absolute))));this[En](o,t)}[Sn](t,r){const i=typeof t.mode==="number"?t.mode&4095:this.fmode;const oner=i=>{let a;try{w.closeSync(o)}catch(t){a=t}if(i||a){this[kn](i||a,t)}r()};let o;try{o=w.openSync(String(t.absolute),Xs(t.size),i)}catch(t){return oner(t)}const a=this.transform?this.transform(t)||t:t;if(a!==t){a.on("error",(r=>this[kn](r,t)));t.pipe(a)}a.on("data",(t=>{try{w.writeSync(o,t,0,t.length)}catch(t){oner(t)}}));a.on("end",(()=>{let r=null;if(t.mtime&&!this.noMtime){const i=t.atime||new Date;const a=t.mtime;try{w.futimesSync(o,i,a)}catch(o){try{w.utimesSync(String(t.absolute),i,a)}catch(t){r=o}}}if(this[jn](t)){const i=this[Fn](t);const a=this[Un](t);try{w.fchownSync(o,Number(i),Number(a))}catch(o){try{w.chownSync(String(t.absolute),Number(i),Number(a))}catch(t){r=r||o}}}oner(r)}))}[$n](t,r){const i=typeof t.mode==="number"?t.mode&4095:this.dmode;const o=this[Tn](String(t.absolute),i);if(o){this[kn](o,t);r();return}if(t.mtime&&!this.noMtime){try{w.utimesSync(String(t.absolute),t.atime||new Date,t.mtime)}catch(o){}}if(this[jn](t)){try{w.chownSync(String(t.absolute),Number(this[Fn](t)),Number(this[Un](t)))}catch(o){}}r();t.resume()}[Tn](t,r){try{return mkdirSync(pr(t),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:r})}catch(t){return t}}[Rn](t,r,i,o){const a=`${i}Sync`;try{w[a](r,String(t.absolute));o();t.resume()}catch(r){return this[kn](r,t)}}}const extractFileSync=t=>{const r=new UnpackSync(t);const i=t.file;const o=w.statSync(i);const a=t.maxReadSize||16*1024*1024;const c=new ReadStreamSync(i,{readSize:a,size:o.size});c.pipe(r)};const extractFile=(t,r)=>{const i=new Unpack(t);const o=t.maxReadSize||16*1024*1024;const a=t.file;const c=new Promise(((t,r)=>{i.on("error",r);i.on("close",t);w.stat(a,((t,c)=>{if(t){r(t)}else{const t=new ReadStream(a,{readSize:o,size:c.size});t.on("error",r);t.pipe(i)}}))}));return c};const Gn=makeCommand(extractFileSync,extractFile,(t=>new UnpackSync(t)),(t=>new Unpack(t)),((t,r)=>{if(r?.length)filesFilter(t,r)}));const replaceSync=(t,r)=>{const i=new PackSync(t);let o=true;let a;let c;try{try{a=w.openSync(t.file,"r+")}catch(r){if(r?.code==="ENOENT"){a=w.openSync(t.file,"w+")}else{throw r}}const l=w.fstatSync(a);const u=Buffer.alloc(512);e:for(c=0;c<l.size;c+=512){for(let t=0,r=0;t<512;t+=r){r=w.readSync(a,u,t,u.length-t,c+t);if(c===0&&u[0]===31&&u[1]===139){throw new Error("cannot append to compressed archives")}if(!r){break e}}const r=new Header(u);if(!r.cksumValid){break}const i=512*Math.ceil((r.size||0)/512);if(c+i+512>l.size){break}c+=i;if(t.mtimeCache&&r.mtime){t.mtimeCache.set(String(r.path),r.mtime)}}o=false;streamSync(t,i,c,a,r)}finally{if(o){try{w.closeSync(a)}catch(t){}}}};const streamSync=(t,r,i,o,a)=>{const c=new WriteStreamSync(t.file,{fd:o,start:i});r.pipe(c);replace_addFilesSync(r,a)};const replaceAsync=(t,r)=>{r=Array.from(r);const i=new Pack(t);const getPos=(r,i,o)=>{const cb=(t,i)=>{if(t){w.close(r,(r=>o(t)))}else{o(null,i)}};let a=0;if(i===0){return cb(null,0)}let c=0;const l=Buffer.alloc(512);const onread=(o,u)=>{if(o||typeof u==="undefined"){return cb(o)}c+=u;if(c<512&&u){return w.read(r,l,c,l.length-c,a+c,onread)}if(a===0&&l[0]===31&&l[1]===139){return cb(new Error("cannot append to compressed archives"))}if(c<512){return cb(null,a)}const h=new Header(l);if(!h.cksumValid){return cb(null,a)}const d=512*Math.ceil((h.size??0)/512);if(a+d+512>i){return cb(null,a)}a+=d+512;if(a>=i){return cb(null,a)}if(t.mtimeCache&&h.mtime){t.mtimeCache.set(String(h.path),h.mtime)}c=0;w.read(r,l,0,512,a,onread)};w.read(r,l,0,512,a,onread)};const o=new Promise(((o,a)=>{i.on("error",a);let c="r+";const onopen=(l,u)=>{if(l&&l.code==="ENOENT"&&c==="r+"){c="w+";return w.open(t.file,c,onopen)}if(l||!u){return a(l)}w.fstat(u,((c,l)=>{if(c){return w.close(u,(()=>a(c)))}getPos(u,l.size,((c,l)=>{if(c){return a(c)}const h=new WriteStream(t.file,{fd:u,start:l});i.pipe(h);h.on("error",a);h.on("close",o);replace_addFilesAsync(i,r)}))}))};w.open(t.file,c,onopen)}));return o};const replace_addFilesSync=(t,r)=>{r.forEach((r=>{if(r.charAt(0)==="@"){Wr({file:E.resolve(t.cwd,r.slice(1)),sync:true,noResume:true,onReadEntry:r=>t.add(r)})}else{t.add(r)}}));t.end()};const replace_addFilesAsync=async(t,r)=>{for(let i=0;i<r.length;i++){const o=String(r[i]);if(o.charAt(0)==="@"){await Wr({file:E.resolve(String(t.cwd),o.slice(1)),noResume:true,onReadEntry:r=>t.add(r)})}else{t.add(o)}}t.end()};const qn=makeCommand(replaceSync,replaceAsync,(()=>{throw new TypeError("file is required")}),(()=>{throw new TypeError("file is required")}),((t,r)=>{if(!isFile(t)){throw new TypeError("file is required")}if(t.gzip||t.brotli||t.file.endsWith(".br")||t.file.endsWith(".tbr")){throw new TypeError("cannot append to compressed archives")}if(!r?.length){throw new TypeError("no paths specified to add/replace")}}));const Wn=makeCommand(qn.syncFile,qn.asyncFile,qn.syncNoFile,qn.asyncNoFile,((t,r=[])=>{qn.validate?.(t,r);mtimeFilter(t)}));const mtimeFilter=t=>{const r=t.filter;if(!t.mtimeCache){t.mtimeCache=new Map}t.filter=r?(i,o)=>r(i,o)&&!((t.mtimeCache?.get(i)??o.mtime??0)>(o.mtime??0)):(r,i)=>!((t.mtimeCache?.get(r)??i.mtime??0)>(i.mtime??0))};async function isUrlOk(t){try{const r=await fetch(t,{method:"HEAD"});return r.status===200}catch{return false}}async function getRepoInfo(t,r){const[,i,o,a,c,...l]=t.pathname.split("/");const u=r?r.replace(/^\//,""):l.join("/");if(a===undefined||a===""&&c===undefined){try{const t=await fetch(`https://api.github.com/repos/${i}/${o}`);if(t.status!==200){return}const r=await t.json();return{username:i,name:o,branch:r["default_branch"],filePath:u}}catch{return}}const h=r?`${c}/${l.join("/")}`.replace(new RegExp(`/${u}|/$`),""):c;if(i&&o&&h&&a==="tree"){return{username:i,name:o,branch:h,filePath:u}}}function hasRepo({username:t,name:r,branch:i,filePath:o}){const a=`https://api.github.com/repos/${t}/${r}/contents`;const c=`${o?`/${o}`:""}/package.json`;return isUrlOk(`${a+c}?ref=${i}`)}function existsInRepo(t){try{const r=new URL(t);return isUrlOk(r.href)}catch{return isUrlOk(`https://api.github.com/repos/zuplo/zuplo/contents/examples/${encodeURIComponent(t)}`)}}async function downloadTarStream(t,r=50*1024*1024){const i=await fetch(t);if(!i.body){throw new Error(`Failed to download: ${t}`)}const o=i.headers.get("content-length");if(o&&parseInt(o,10)>r){throw new Error(`File too large! ${o} bytes exceeds limit of ${r} bytes`)}const a=i.body;const c=je.Readable.fromWeb(a);let l=0;const u=new je.Transform({transform(t,i,o){l+=t.length;if(l>r){return o(new Error(`Download aborted! File size exceeded ${r} bytes`))}o(null,t)}});return c.pipe(u)}async function downloadAndExtractRepo(t,{username:r,name:i,branch:o,filePath:a},c){const l=`https://codeload.github.com/${r}/${i}/tar.gz/${o}`;if(c){console.log(`Downloading repo from ${l}`)}let u=null;await(0,Fe.pipeline)(await downloadTarStream(l),Gn({cwd:t,strip:a?a.split("/").length+1:1,filter:t=>{if(u===null){const r=t.split(xe.sep);u=r.length?r[0]:null}return t.startsWith(`${u}${a?`/${a}/`:"/"}`)}}))}async function downloadAndExtractExample(t,r,i){if(r==="__internal-testing-retry"){throw new Error("This is an internal example for testing the CLI.")}const o="https://codeload.github.com/zuplo/zuplo/tar.gz/main";if(i){console.log(`Downloading example from ${o}`)}await(0,Fe.pipeline)(await downloadTarStream(o),Gn({cwd:t,strip:2+r.split("/").length,filter:t=>t.includes(`zuplo-main/examples/${r}/`)}))}var Kn=__nccwpck_require__(5317);function isInGitRepository(){try{(0,Kn.execSync)("git rev-parse --is-inside-work-tree",{stdio:"ignore"});return true}catch{}return false}function isInMercurialRepository(){try{(0,Kn.execSync)("hg --cwd . root",{stdio:"ignore"});return true}catch{}return false}function isDefaultBranchSet(){try{(0,Kn.execSync)("git config init.defaultBranch",{stdio:"ignore"});return true}catch{}return false}function tryGitInit(t,r){let i=false;const o=r?"inherit":"ignore";try{(0,Kn.execSync)("git --version",{stdio:o});if(isInGitRepository()||isInMercurialRepository()){return false}(0,Kn.execSync)("git init",{stdio:o});i=true;if(!isDefaultBranchSet()){(0,Kn.execSync)("git checkout -b main",{stdio:o})}(0,Kn.execSync)("git add -A",{stdio:o});(0,Kn.execSync)('git commit -m "Initial commit from Create Next App"',{stdio:o});return true}catch(o){if(r){console.error("Git init failed:",o)}if(i){try{(0,Ae.rmSync)((0,xe.join)(t,".git"),{recursive:true,force:true})}catch{}}return false}}var Yn=__nccwpck_require__(4791);var Zn=__nccwpck_require__.n(Yn);async function install(t,r,i){const o=["install"];if(!r){console.log((0,ke.yellow)("You appear to be offline.\nFalling back to the local cache."));o.push("--offline")}else if(t==="npm"){o.push("--prefer-offline");o.push("--no-audit");o.push("--no-fund")}if(i){o.push("--verbose")}return new Promise(((r,i)=>{const a=Zn()(t,o,{stdio:"inherit",env:{...process.env,ADBLOCK:"1",NODE_ENV:"development",DISABLE_OPENCOLLECTIVE:"1"}});a.on("close",(a=>{if(a!==0){i({command:`${t} ${o.join(" ")}`});return}r()}))}))}function isFolderEmpty(t,r){const i=[".DS_Store",".git",".gitattributes",".gitignore",".gitlab-ci.yml",".hg",".hgcheck",".hgignore",".idea",".npmignore",".travis.yml","LICENSE","Thumbs.db","docs","mkdocs.yml","npm-debug.log","yarn-debug.log","yarn-error.log","yarnrc.yml",".yarn"];const o=(0,Ae.readdirSync)(t).filter((t=>!i.includes(t)&&!/\.iml$/.test(t)));if(o.length>0){console.log(`The directory ${(0,ke.green)(r)} contains files that could conflict:`);console.log();for(const r of o){try{const i=(0,Ae.lstatSync)((0,xe.join)(t,r));if(i.isDirectory()){console.log(` ${(0,ke.blue)(r)}/`)}else{console.log(` ${r}`)}}catch{console.log(` ${r}`)}}console.log();console.log("Either try using a new directory name, or remove the files listed above.");console.log();return false}return true}const Xn=require("dns/promises");var Jn=__nccwpck_require__(7016);var Qn=__nccwpck_require__.n(Jn);function getProxy(){if(process.env.https_proxy){return process.env.https_proxy}try{const t=(0,Kn.execSync)("npm config get https-proxy").toString().trim();return t!=="null"?t:undefined}catch{return}}async function getOnline(){try{await(0,Xn.lookup)("registry.yarnpkg.com");return true}catch{const t=getProxy();if(!t){return false}const{hostname:r}=Qn().parse(t);if(!r){return false}try{await(0,Xn.lookup)(r);return true}catch{return false}}}const ei=require("constants");const ti=require("fs/promises");var ri=__nccwpck_require__.n(ti);async function isWriteable(t){try{await(0,ti.access)(t,ei.W_OK);return true}catch{return false}}var si=__nccwpck_require__(857);var ni=__nccwpck_require__.n(si);var ii=__nccwpck_require__(4761);const identity=t=>t;const copy=async(t,r,{cwd:i,rename:o=identity,parents:a=true,verbose:c=false}={})=>{const l=typeof t==="string"?[t]:t;if(l.length===0||!r){throw new TypeError("`src` and `dest` are required")}const u=await(0,ii.async)(l,{cwd:i,dot:true,absolute:false,stats:false});const h=i?(0,xe.resolve)(i,r):r;return Promise.all(u.map((async t=>{const r=(0,xe.dirname)(t);const l=o((0,xe.basename)(t),t);const u=i?(0,xe.resolve)(i,t):t;const d=a?(0,xe.join)(h,r,l):(0,xe.join)(h,l);await(0,ti.mkdir)((0,xe.dirname)(d),{recursive:true});if(c){console.log(`Copying ${u} to ${d}`)}return(0,ti.copyFile)(u,d)})))};const getTemplateFile=({template:t,file:r})=>__nccwpck_require__.ab+"templates/"+t+"/"+r;const installTemplate=async({appName:t,root:r,packageManager:i,isOnline:o,template:a,eslint:c,prettier:l,installPackages:u,verbose:h,zuploVersion:d})=>{var p;console.log((0,ke.bold)(`Using ${i}.`));console.log("\nInitializing project with template:",a,"\n");const m=__nccwpck_require__.ab+"templates/"+a;const g=["**","!vscode/**"];if(!c)g.push("!eslintrc.json");if(!l)g.push("!prettierrc.json");await copy(g,r,{parents:true,cwd:m,verbose:h,rename(t){switch(t){case"gitignore":case"eslintrc.json":case"prettierrc.json":{return`.${t}`}case"README-template.md":{return"README.md"}default:{return t}}}});const y=["settings.json","launch.json"];for(const t of y){const i=Te().join(m,"vscode",t);const o=Te().join(r,".vscode",t);if((0,Ae.existsSync)(i)){await ri().mkdir(Te().join(r,".vscode"),{recursive:true});await ri().copyFile(i,o)}}const v=(p=process.env.ZUPLO_PRIVATE_TEST_VERSION)!==null&&p!==void 0?p:d;const b=new me.SemVer(v);const w={name:t,version:"0.1.0",type:"module",private:true,scripts:{dev:`zuplo dev`,test:"zuplo test",docs:"zuplo docs",...c?{lint:"eslint"}:{}},dependencies:{zuplo:`^${b.major}`},devDependencies:{typescript:"^5","@types/node":"^22"}};if(c){w.devDependencies={...w.devDependencies,eslint:"^8","@typescript-eslint/eslint-plugin":"^8","@typescript-eslint/parser":"^8"}}if(l){w.devDependencies={...w.devDependencies,prettier:"^3"}}if(c&&l){w.devDependencies={...w.devDependencies,"eslint-config-prettier":"^9"};const t=Te().join(r,".eslintrc.json");const i=await ri().readFile(t,"utf-8").then(JSON.parse);i.extends.push("prettier");await ri().writeFile(t,JSON.stringify(i,null,2)+ni().EOL,"utf-8")}w.workspaces=["docs"];const sortObjectKeys=t=>Object.keys(t).sort().reduce(((r,i)=>{r[i]=t[i];return r}),{});if(w.dependencies){w.dependencies=sortObjectKeys(w.dependencies)}if(w.devDependencies){w.devDependencies=sortObjectKeys(w.devDependencies)}const E=Object.keys(w.devDependencies).length;if(!E)delete w.devDependencies;await ri().writeFile(Te().join(r,"package.json"),JSON.stringify(w,null,2)+ni().EOL);let S="^0.53";try{const t=await fetch("https://api.github.com/repos/zuplo/zudoku/releases/latest");const r=await t.json();const i=r.tag_name.replace("v","");const o=new me.SemVer(i);S=`^${o.major}.${o.minor}`}catch{console.warn("\nFailed to determine the latest dev portal version. Using the default version.")}const $={name:"docs",version:"0.1.0",type:"module",private:true,scripts:{dev:"zudoku dev --zuplo",build:"zudoku build --zuplo",...c?{lint:"eslint"}:{}},dependencies:{react:"^19","react-dom":"^19","@mdx-js/react":"3.0.1",zudoku:S},devDependencies:{"@types/node":"^22","@types/react":"^19","@types/react-dom":"^19",typescript:"^5"}};await ri().writeFile(Te().join(r,"docs","package.json"),JSON.stringify($,null,2)+ni().EOL);if(!u)return;console.log("\nInstalling dependencies:");for(const t in w.dependencies)console.log(`- ${(0,ke.cyan)(t)}`);if(E){console.log("\nInstalling devDependencies:");for(const t in w.devDependencies)console.log(`- ${(0,ke.cyan)(t)}`)}console.log();await install(i,o,h)};class DownloadError extends Error{}async function createApp({appPath:t,packageManager:r,example:i,examplePath:o,eslint:a,prettier:c,installPackages:l,empty:u,initGit:h,verbose:d,zuploVersion:p}){let m;const g=`default${u?"-empty":""}`;if(i){let P;try{P=new URL(i)}catch(O){const A=O;if(A.code!=="ERR_INVALID_URL"){console.error(O);process.exit(1)}}if(P){if(P.origin!=="https://github.com"){console.error(`Invalid URL: ${(0,ke.red)(`"${i}"`)}. Only GitHub repositories are supported. Please use a GitHub URL and try again.`);process.exit(1)}m=await getRepoInfo(P,o);if(!m){console.error(`Found invalid GitHub URL: ${(0,ke.red)(`"${i}"`)}. Please fix the URL and try again.`);process.exit(1)}const x=await hasRepo(m);if(!x){console.error(`Could not locate the repository for ${(0,ke.red)(`"${i}"`)}. Please check that the repository exists and try again.`);process.exit(1)}}else if(i!=="__internal-testing-retry"){const T=await existsInRepo(i);if(!T){console.error(`Could not locate an example named ${(0,ke.red)(`"${i}"`)}. It could be due to the following:\n`,`1. Your spelling of example ${(0,ke.red)(`"${i}"`)} might be incorrect.\n`,`2. You might not be connected to the internet or you are behind a proxy.`);process.exit(1)}}}const y=(0,xe.resolve)(t);if(!await isWriteable((0,xe.dirname)(y))){console.error("The application path is not writable, please check folder permissions and try again.");console.error("It is likely you do not have write permissions for this folder.");process.exit(1)}const v=(0,xe.basename)(y);(0,Ae.mkdirSync)(y,{recursive:true});if(!isFolderEmpty(y,v)){process.exit(1)}const b=r==="yarn";const w=!b||await getOnline();const E=process.cwd();console.log(`Creating a new Zuplo API in ${(0,ke.green)(y)}.`);console.log();process.chdir(y);const S=(0,xe.join)(y,"package.json");let $=false;if(i){try{if(m){const C=m;console.log(`Downloading files from repo ${(0,ke.cyan)(i)}. This might take a moment.`);console.log();await Me()((()=>downloadAndExtractRepo(y,C,d)),{retries:3})}else{console.log(`Downloading files for example ${(0,ke.cyan)(i)}. This might take a moment.`);console.log();await Me()((()=>downloadAndExtractExample(y,i,d)),{retries:3})}}catch(I){function isErrorLike(t){return typeof t==="object"&&t!==null&&typeof t.message==="string"}throw new DownloadError(isErrorLike(I)?I.message:`${I}`)}const k=(0,xe.join)(y,".gitignore");if(!(0,Ae.existsSync)(k)){(0,Ae.copyFileSync)(getTemplateFile({template:g,file:"gitignore"}),k)}$=(0,Ae.existsSync)(S);if(l&&$){console.log("Installing packages. This might take a couple of minutes.");console.log();await install(r,w,d);console.log()}}else{await installTemplate({appName:v,root:y,template:g,packageManager:r,isOnline:w,eslint:a,prettier:c,installPackages:l,verbose:d,zuploVersion:p})}if(h){if(tryGitInit(y,d)){console.log("Initialized a git repository.");console.log()}}let R;if((0,xe.join)(E,v)===t){R=v}else{R=t}console.log(`${(0,ke.green)("Success!")} Created ${v} at ${t}`);if($){console.log("Inside that directory, you can run several commands:");console.log();console.log((0,ke.cyan)(` ${r} ${b?"":"run "}dev`));console.log(" Starts the development server.");console.log();console.log((0,ke.cyan)(` ${r} ${b?"":"run "}build`));console.log(" Builds the app for production.");console.log();console.log((0,ke.cyan)(` ${r} start`));console.log(" Runs the built app in production mode.");console.log();console.log("We suggest that you begin by typing:");console.log();console.log((0,ke.cyan)(" cd"),R);console.log(` ${(0,ke.cyan)(`${r} ${b?"":"run "}dev`)}`)}console.log()}function getPkgManager(){var t;const r=(t=process.env.npm_config_user_agent)!==null&&t!==void 0?t:"";if(r.startsWith("yarn")){return"yarn"}if(r.startsWith("pnpm")){return"pnpm"}if(r.startsWith("bun")){return"bun"}return"npm"}var oi=__nccwpck_require__(7825);var ai=__nccwpck_require__.n(oi);function validateNpmName(t){const r=ai()(t);if(r.validForNewPackages){return{valid:true}}return{valid:false,problems:[...r.errors||[],...r.warnings||[]]}}let ci="";const handleSigTerm=()=>process.exit(0);process.on("SIGINT",handleSigTerm);process.on("SIGTERM",handleSigTerm);const onPromptState=t=>{if(t.aborted){process.stdout.write("[?25h");process.stdout.write("\n");process.exit(1)}};const li=JSON.parse((0,Ae.readFileSync)(Te().resolve(__dirname,Te().join("..","package.json")),"utf-8"));const ui=new p(li.name).version(li.version,"-v, --version","Output the current version of create-zuplo-api.").argument("[directory]").usage("[directory] [options]").helpOption("-h, --help","Display this help message.").option("--eslint","Initialize with ESLint config.").option("--prettier","Initialize with Prettier config.").option("--empty","Initialize an empty project.").option("--use-npm","Explicitly tell the CLI to bootstrap the application using npm.").option("--use-pnpm","Explicitly tell the CLI to bootstrap the application using pnpm.").option("--use-yarn","Explicitly tell the CLI to bootstrap the application using Yarn.").option("--use-bun","Explicitly tell the CLI to bootstrap the application using Bun.").option("--reset, --reset-preferences","Reset the preferences saved for create-zuplo-api.").option("--git","Whether or not to initialize the project as a git repo.").option("--version-check","Whether or not to check for an outdated version.").option("--install","Whether or not to install packages.").option("--verbose","Enable verbose logging.",false).option("--yes","Use saved preferences or defaults for unprovided options.").option("-e, --example <example-name|github-url>",`\n\n An example to bootstrap the api with. You can use an example name\n from the official Zuplo repo or a public GitHub URL. The URL can use\n any branch and/or subdirectory.\n`).option("--example-path <path-to-example>",`\n\n In a rare case, your GitHub URL might contain a branch name with\n a slash (e.g. bug/fix-1) and the path to the example (e.g. foo/bar).\n In this case, you must specify the path to the example separately:\n --example-path foo/bar\n`).action((t=>{if(t&&!t.startsWith("--no-")){ci=t}})).allowUnknownOption().parse(process.argv);const hi=ui.opts();const{args:fi}=ui;const di=hi.useNpm?"npm":hi.usePnpm?"pnpm":hi.useYarn?"yarn":hi.useBun?"bun":getPkgManager();async function run(){var t,i,o;const a=new Conf({projectName:"create-zuplo-api"});if(hi.resetPreferences){const{resetPreferences:t}=await Ie()({onState:onPromptState,type:"toggle",name:"resetPreferences",message:"Would you like to reset the saved preferences?",initial:false,active:"Yes",inactive:"No"});if(t){a.clear();console.log("The preferences have been reset successfully!")}process.exit(0)}if(typeof ci==="string"){ci=ci.trim()}if(!ci){const t=await Ie()({onState:onPromptState,type:"text",name:"path",message:"What is your project named?",initial:"my-api",validate:t=>{const r=validateNpmName((0,xe.basename)((0,xe.resolve)(t)));if(r.valid){return true}return`Invalid project name: ${r.problems[0]}`}});if(typeof t.path==="string"){ci=t.path.trim()}}if(!ci){console.log("\nPlease specify the project directory:\n"+` ${(0,ke.cyan)(hi.name())} ${(0,ke.green)("<project-directory>")}\n`+"For example:\n"+` ${(0,ke.cyan)(hi.name())} ${(0,ke.green)("my-zuplo-api")}\n\n`+`Run ${(0,ke.cyan)(`${hi.name()} --help`)} to see all options.`);process.exit(1)}const c=(0,xe.resolve)(ci);const l=(0,xe.basename)(c);const u=validateNpmName(l);if(!u.valid){console.error(`Could not create a project called ${(0,ke.red)(`"${l}"`)} because of npm naming restrictions:`);u.problems.forEach((t=>console.error(` ${(0,ke.red)((0,ke.bold)("*"))} ${t}`)));process.exit(1)}if(hi.example===true){console.error("Please provide an example name or url, otherwise remove the example option.");process.exit(1)}if((0,Ae.existsSync)(c)&&!isFolderEmpty(c,l)){process.exit(1)}const h=typeof hi.example==="string"&&hi.example.trim();const d=a.get("preferences")||{};const p=r().isCI||hi.yes;if(!h){const t={eslint:true,prettier:true,git:true,install:true,versionCheck:true,empty:false,zudoku:false};const getPrefOrDefault=r=>{var i;return(i=d[r])!==null&&i!==void 0?i:t[r]};if(!hi.eslint&&!fi.includes("--no-eslint")){if(p){hi.eslint=getPrefOrDefault("eslint")}else{const t=(0,ke.blue)("ESLint");const{eslint:r}=await Ie()({onState:onPromptState,type:"toggle",name:"eslint",message:`Would you like to use ${t}?`,initial:getPrefOrDefault("eslint"),active:"Yes",inactive:"No"});hi.eslint=Boolean(r);d.eslint=Boolean(r)}}if(!hi.prettier&&!fi.includes("--no-prettier")){if(p){hi.prettier=getPrefOrDefault("prettier")}else{const t=(0,ke.blue)("Prettier");const{prettier:r}=await Ie()({onState:onPromptState,type:"toggle",name:"prettier",message:`Would you like to use ${t}?`,initial:getPrefOrDefault("prettier"),active:"Yes",inactive:"No"});hi.prettier=Boolean(r);d.prettier=Boolean(r)}}}hi.git=(t=hi.git)!==null&&t!==void 0?t:!fi.includes("--no-git");hi.install=(i=hi.install)!==null&&i!==void 0?i:!fi.includes("--no-install");hi.versionCheck=(o=hi.versionCheck)!==null&&o!==void 0?o:!fi.includes("--no-version-check");try{await createApp({appPath:c,packageManager:di,example:h&&h!=="default"?h:undefined,examplePath:hi.examplePath,eslint:hi.eslint,prettier:hi.prettier,installPackages:hi.install,empty:hi.empty,initGit:hi.git,verbose:hi.verbose,zuploVersion:li.version})}catch(t){if(!(t instanceof DownloadError)){throw t}const r=await Ie()({onState:onPromptState,type:"confirm",name:"builtin",message:`Could not download "${h}" because of a connectivity issue between your machine and GitHub.\n`+`Do you want to use the default template instead?`,initial:true});if(!r.builtin){throw t}await createApp({appPath:c,packageManager:di,eslint:hi.eslint,prettier:hi.prettier,installPackages:hi.install,empty:hi.empty,initGit:hi.git,verbose:hi.verbose,zuploVersion:li.version})}a.set("preferences",d);if(hi.versionCheck){console.log();await notifyUpdate()}}const pi=De()(li).catch((()=>null));async function notifyUpdate(){var t;try{if((t=await pi)===null||t===void 0?void 0:t.latest){const t={npm:"npm i -g",yarn:"yarn global add",pnpm:"pnpm add -g",bun:"bun add -g"};const r=`${t[di]} create-zuplo-api`;console.log((0,ke.yellow)((0,ke.bold)("A new version of `create-zuplo-api` is available!"))+"\n"+"You can update by running: "+(0,ke.cyan)(r)+"\n")}process.exit(0)}catch{}}async function exit(t){console.log();console.log("Aborting installation.");if(t.command){console.log(` ${(0,ke.cyan)(t.command)} has failed.`)}else{console.log(`${(0,ke.red)("Unexpected error. Please report it as a bug:")}\n`,t)}process.exit(1)}run().catch(exit)})();module.exports=i})();
|
|
72
|
+
*/const o=i(7311);const toRegexRange=(t,r,i)=>{if(o(t)===false){throw new TypeError("toRegexRange: expected the first argument to be a number")}if(r===void 0||t===r){return String(t)}if(o(r)===false){throw new TypeError("toRegexRange: expected the second argument to be a number.")}let a={relaxZeros:true,...i};if(typeof a.strictZeros==="boolean"){a.relaxZeros=a.strictZeros===false}let c=String(a.relaxZeros);let l=String(a.shorthand);let u=String(a.capture);let h=String(a.wrap);let d=t+":"+r+"="+c+l+u+h;if(toRegexRange.cache.hasOwnProperty(d)){return toRegexRange.cache[d].result}let p=Math.min(t,r);let m=Math.max(t,r);if(Math.abs(p-m)===1){let i=t+"|"+r;if(a.capture){return`(${i})`}if(a.wrap===false){return i}return`(?:${i})`}let g=hasPadding(t)||hasPadding(r);let y={min:t,max:r,a:p,b:m};let v=[];let b=[];if(g){y.isPadded=g;y.maxLen=String(y.max).length}if(p<0){let t=m<0?Math.abs(m):1;b=splitToPatterns(t,Math.abs(p),y,a);p=y.a=0}if(m>=0){v=splitToPatterns(p,m,y,a)}y.negatives=b;y.positives=v;y.result=collatePatterns(b,v,a);if(a.capture===true){y.result=`(${y.result})`}else if(a.wrap!==false&&v.length+b.length>1){y.result=`(?:${y.result})`}toRegexRange.cache[d]=y;return y.result};function collatePatterns(t,r,i){let o=filterPatterns(t,r,"-",false,i)||[];let a=filterPatterns(r,t,"",false,i)||[];let c=filterPatterns(t,r,"-?",true,i)||[];let l=o.concat(c).concat(a);return l.join("|")}function splitToRanges(t,r){let i=1;let o=1;let a=countNines(t,i);let c=new Set([r]);while(t<=a&&a<=r){c.add(a);i+=1;a=countNines(t,i)}a=countZeros(r+1,o)-1;while(t<a&&a<=r){c.add(a);o+=1;a=countZeros(r+1,o)-1}c=[...c];c.sort(compare);return c}function rangeToPattern(t,r,i){if(t===r){return{pattern:t,count:[],digits:0}}let o=zip(t,r);let a=o.length;let c="";let l=0;for(let t=0;t<a;t++){let[r,a]=o[t];if(r===a){c+=r}else if(r!=="0"||a!=="9"){c+=toCharacterClass(r,a,i)}else{l++}}if(l){c+=i.shorthand===true?"\\d":"[0-9]"}return{pattern:c,count:[l],digits:a}}function splitToPatterns(t,r,i,o){let a=splitToRanges(t,r);let c=[];let l=t;let u;for(let t=0;t<a.length;t++){let r=a[t];let h=rangeToPattern(String(l),String(r),o);let d="";if(!i.isPadded&&u&&u.pattern===h.pattern){if(u.count.length>1){u.count.pop()}u.count.push(h.count[0]);u.string=u.pattern+toQuantifier(u.count);l=r+1;continue}if(i.isPadded){d=padZeros(r,i,o)}h.string=d+h.pattern+toQuantifier(h.count);c.push(h);l=r+1;u=h}return c}function filterPatterns(t,r,i,o,a){let c=[];for(let a of t){let{string:t}=a;if(!o&&!contains(r,"string",t)){c.push(i+t)}if(o&&contains(r,"string",t)){c.push(i+t)}}return c}function zip(t,r){let i=[];for(let o=0;o<t.length;o++)i.push([t[o],r[o]]);return i}function compare(t,r){return t>r?1:r>t?-1:0}function contains(t,r,i){return t.some((t=>t[r]===i))}function countNines(t,r){return Number(String(t).slice(0,-r)+"9".repeat(r))}function countZeros(t,r){return t-t%Math.pow(10,r)}function toQuantifier(t){let[r=0,i=""]=t;if(i||r>1){return`{${r+(i?","+i:"")}}`}return""}function toCharacterClass(t,r,i){return`[${t}${r-t===1?"":"-"}${r}]`}function hasPadding(t){return/^-?(0+)\d/.test(t)}function padZeros(t,r,i){if(!r.isPadded){return t}let o=Math.abs(r.maxLen-String(t).length);let a=i.relaxZeros!==false;switch(o){case 0:return"";case 1:return a?"0?":"0";case 2:return a?"0{0,2}":"00";default:{return a?`0{0,${o}}`:`0{${o}}`}}}toRegexRange.cache={};toRegexRange.clearCache=()=>toRegexRange.cache={};t.exports=toRegexRange},1083:(t,r,i)=>{const{URL:o}=i(7016);const{join:a}=i(6928);const c=i(9896);const{promisify:l}=i(9023);const{tmpdir:u}=i(857);const h=i(2804);const d=l(c.writeFile);const p=l(c.mkdir);const m=l(c.readFile);const compareVersions=(t,r)=>t.localeCompare(r,"en-US",{numeric:true});const encode=t=>encodeURIComponent(t).replace(/^%40/,"@");const getFile=async(t,r)=>{const i=u();const o=a(i,"update-check");if(!c.existsSync(o)){await p(o)}let l=`${t.name}-${r}.json`;if(t.scope){l=`${t.scope}-${l}`}return a(o,l)};const evaluateCache=async(t,r,i)=>{if(c.existsSync(t)){const o=await m(t,"utf8");const{lastUpdate:a,latest:c}=JSON.parse(o);const l=a+i;if(l>r){return{shouldCheck:false,latest:c}}}return{shouldCheck:true,latest:null}};const updateCache=async(t,r,i)=>{const o=JSON.stringify({latest:r,lastUpdate:i});await d(t,o,"utf8")};const loadPackage=(t,r)=>new Promise(((o,a)=>{const c={host:t.hostname,path:t.pathname,port:t.port,headers:{accept:"application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*"},timeout:2e3};if(r){c.headers.authorization=`${r.type} ${r.token}`}const{get:l}=i(t.protocol==="https:"?5692:8611);l(c,(t=>{const{statusCode:r}=t;if(r!==200){const i=new Error(`Request failed with code ${r}`);i.code=r;a(i);t.resume();return}let i="";t.setEncoding("utf8");t.on("data",(t=>{i+=t}));t.on("end",(()=>{try{const t=JSON.parse(i);o(t)}catch(t){a(t)}}))})).on("error",a).on("timeout",a)}));const getMostRecent=async({full:t,scope:r},a)=>{const c=h(r);const l=new o(t,c);let u=null;try{u=await loadPackage(l)}catch(t){if(t.code&&String(t.code).startsWith(4)){const t=i(373);const r=t(c,{recursive:true});u=await loadPackage(l,r)}else{throw t}}const d=u["dist-tags"][a];if(!d){throw new Error(`Distribution tag ${a} is not available`)}return d};const g={interval:36e5,distTag:"latest"};const getDetails=t=>{const r={full:encode(t)};if(t.includes("/")){const i=t.split("/");r.scope=i[0];r.name=i[1]}else{r.scope=null;r.name=t}return r};t.exports=async(t,r)=>{if(typeof t!=="object"){throw new Error("The first parameter should be your package.json file content")}const i=getDetails(t.name);const o=Date.now();const{distTag:a,interval:c}=Object.assign({},g,r);const l=await getFile(i,a);let u=null;let h=true;({shouldCheck:h,latest:u}=await evaluateCache(l,o,c));if(h){u=await getMostRecent(i,a);await updateCache(l,u,o)}const d=compareVersions(t.version,u);if(d===-1){return{latest:u,fromCache:!h}}return null}},3969:(t,r,i)=>{const o=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys";const a=i(6928);const c=o?";":":";const l=i(6173);const getNotFoundError=t=>Object.assign(new Error(`not found: ${t}`),{code:"ENOENT"});const getPathInfo=(t,r)=>{const i=r.colon||c;const a=t.match(/\//)||o&&t.match(/\\/)?[""]:[...o?[process.cwd()]:[],...(r.path||process.env.PATH||"").split(i)];const l=o?r.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"";const u=o?l.split(i):[""];if(o){if(t.indexOf(".")!==-1&&u[0]!=="")u.unshift("")}return{pathEnv:a,pathExt:u,pathExtExe:l}};const which=(t,r,i)=>{if(typeof r==="function"){i=r;r={}}if(!r)r={};const{pathEnv:o,pathExt:c,pathExtExe:u}=getPathInfo(t,r);const h=[];const step=i=>new Promise(((c,l)=>{if(i===o.length)return r.all&&h.length?c(h):l(getNotFoundError(t));const u=o[i];const d=/^".*"$/.test(u)?u.slice(1,-1):u;const p=a.join(d,t);const m=!d&&/^\.[\\\/]/.test(t)?t.slice(0,2)+p:p;c(subStep(m,i,0))}));const subStep=(t,i,o)=>new Promise(((a,d)=>{if(o===c.length)return a(step(i+1));const p=c[o];l(t+p,{pathExt:u},((c,l)=>{if(!c&&l){if(r.all)h.push(t+p);else return a(t+p)}return a(subStep(t,i,o+1))}))}));return i?step(0).then((t=>i(null,t)),i):step(0)};const whichSync=(t,r)=>{r=r||{};const{pathEnv:i,pathExt:o,pathExtExe:c}=getPathInfo(t,r);const u=[];for(let h=0;h<i.length;h++){const d=i[h];const p=/^".*"$/.test(d)?d.slice(1,-1):d;const m=a.join(p,t);const g=!p&&/^\.[\\\/]/.test(t)?t.slice(0,2)+m:m;for(let t=0;t<o.length;t++){const i=g+o[t];try{const t=l.sync(i,{pathExt:c});if(t){if(r.all)u.push(i);else return i}}catch(t){}}}if(r.all&&u.length)return u;if(r.nothrow)return null;throw getNotFoundError(t)};t.exports=which;which.sync=whichSync},779:(t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:true});r.formatNames=r.fastFormats=r.fullFormats=void 0;function fmtDef(t,r){return{validate:t,compare:r}}r.fullFormats={date:fmtDef(date,compareDate),time:fmtDef(getTime(true),compareTime),"date-time":fmtDef(getDateTime(true),compareDateTime),"iso-time":fmtDef(getTime(),compareIsoTime),"iso-date-time":fmtDef(getDateTime(),compareIsoDateTime),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:uri,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:regex,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:byte,int32:{type:"number",validate:validateInt32},int64:{type:"number",validate:validateInt64},float:{type:"number",validate:validateNumber},double:{type:"number",validate:validateNumber},password:true,binary:true};r.fastFormats={...r.fullFormats,date:fmtDef(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,compareDate),time:fmtDef(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,compareTime),"date-time":fmtDef(/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,compareDateTime),"iso-time":fmtDef(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,compareIsoTime),"iso-date-time":fmtDef(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,compareIsoDateTime),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i};r.formatNames=Object.keys(r.fullFormats);function isLeapYear(t){return t%4===0&&(t%100!==0||t%400===0)}const i=/^(\d\d\d\d)-(\d\d)-(\d\d)$/;const o=[0,31,28,31,30,31,30,31,31,30,31,30,31];function date(t){const r=i.exec(t);if(!r)return false;const a=+r[1];const c=+r[2];const l=+r[3];return c>=1&&c<=12&&l>=1&&l<=(c===2&&isLeapYear(a)?29:o[c])}function compareDate(t,r){if(!(t&&r))return undefined;if(t>r)return 1;if(t<r)return-1;return 0}const a=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function getTime(t){return function time(r){const i=a.exec(r);if(!i)return false;const o=+i[1];const c=+i[2];const l=+i[3];const u=i[4];const h=i[5]==="-"?-1:1;const d=+(i[6]||0);const p=+(i[7]||0);if(d>23||p>59||t&&!u)return false;if(o<=23&&c<=59&&l<60)return true;const m=c-p*h;const g=o-d*h-(m<0?1:0);return(g===23||g===-1)&&(m===59||m===-1)&&l<61}}function compareTime(t,r){if(!(t&&r))return undefined;const i=new Date("2020-01-01T"+t).valueOf();const o=new Date("2020-01-01T"+r).valueOf();if(!(i&&o))return undefined;return i-o}function compareIsoTime(t,r){if(!(t&&r))return undefined;const i=a.exec(t);const o=a.exec(r);if(!(i&&o))return undefined;t=i[1]+i[2]+i[3];r=o[1]+o[2]+o[3];if(t>r)return 1;if(t<r)return-1;return 0}const c=/t|\s/i;function getDateTime(t){const r=getTime(t);return function date_time(t){const i=t.split(c);return i.length===2&&date(i[0])&&r(i[1])}}function compareDateTime(t,r){if(!(t&&r))return undefined;const i=new Date(t).valueOf();const o=new Date(r).valueOf();if(!(i&&o))return undefined;return i-o}function compareIsoDateTime(t,r){if(!(t&&r))return undefined;const[i,o]=t.split(c);const[a,l]=r.split(c);const u=compareDate(i,a);if(u===undefined)return undefined;return u||compareTime(o,l)}const l=/\/|:/;const u=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function uri(t){return l.test(t)&&u.test(t)}const h=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function byte(t){h.lastIndex=0;return h.test(t)}const d=-(2**31);const p=2**31-1;function validateInt32(t){return Number.isInteger(t)&&t<=p&&t>=d}function validateInt64(t){return Number.isInteger(t)}function validateNumber(){return true}const m=/[^\\]\\Z/;function regex(t){if(m.test(t))return false;try{new RegExp(t);return true}catch(t){return false}}},2815:(t,r,i)=>{"use strict";Object.defineProperty(r,"__esModule",{value:true});const o=i(779);const a=i(1284);const c=i(4671);const l=new c.Name("fullFormats");const u=new c.Name("fastFormats");const formatsPlugin=(t,r={keywords:true})=>{if(Array.isArray(r)){addFormats(t,r,o.fullFormats,l);return t}const[i,c]=r.mode==="fast"?[o.fastFormats,u]:[o.fullFormats,l];const h=r.formats||o.formatNames;addFormats(t,h,i,c);if(r.keywords)(0,a.default)(t);return t};formatsPlugin.get=(t,r="full")=>{const i=r==="fast"?o.fastFormats:o.fullFormats;const a=i[t];if(!a)throw new Error(`Unknown format "${t}"`);return a};function addFormats(t,r,i,o){var a;var l;(a=(l=t.opts.code).formats)!==null&&a!==void 0?a:l.formats=(0,c._)`require("ajv-formats/dist/formats").${o}`;for(const o of r)t.addFormat(o,i[o])}t.exports=r=formatsPlugin;Object.defineProperty(r,"__esModule",{value:true});r["default"]=formatsPlugin},1284:(t,r,i)=>{"use strict";Object.defineProperty(r,"__esModule",{value:true});r.formatLimitDefinition=void 0;const o=i(5984);const a=i(4671);const c=a.operators;const l={formatMaximum:{okStr:"<=",ok:c.LTE,fail:c.GT},formatMinimum:{okStr:">=",ok:c.GTE,fail:c.LT},formatExclusiveMaximum:{okStr:"<",ok:c.LT,fail:c.GTE},formatExclusiveMinimum:{okStr:">",ok:c.GT,fail:c.LTE}};const u={message:({keyword:t,schemaCode:r})=>(0,a.str)`should be ${l[t].okStr} ${r}`,params:({keyword:t,schemaCode:r})=>(0,a._)`{comparison: ${l[t].okStr}, limit: ${r}}`};r.formatLimitDefinition={keyword:Object.keys(l),type:"string",schemaType:"string",$data:true,error:u,code(t){const{gen:r,data:i,schemaCode:c,keyword:u,it:h}=t;const{opts:d,self:p}=h;if(!d.validateFormats)return;const m=new o.KeywordCxt(h,p.RULES.all.format.definition,"format");if(m.$data)validate$DataFormat();else validateFormat();function validate$DataFormat(){const i=r.scopeValue("formats",{ref:p.formats,code:d.code.formats});const o=r.const("fmt",(0,a._)`${i}[${m.schemaCode}]`);t.fail$data((0,a.or)((0,a._)`typeof ${o} != "object"`,(0,a._)`${o} instanceof RegExp`,(0,a._)`typeof ${o}.compare != "function"`,compareCode(o)))}function validateFormat(){const i=m.schema;const o=p.formats[i];if(!o||o===true)return;if(typeof o!="object"||o instanceof RegExp||typeof o.compare!="function"){throw new Error(`"${u}": format "${i}" does not define "compare" function`)}const c=r.scopeValue("formats",{key:i,ref:o,code:d.code.formats?(0,a._)`${d.code.formats}${(0,a.getProperty)(i)}`:undefined});t.fail$data(compareCode(c))}function compareCode(t){return(0,a._)`${t}.compare(${i}, ${c}) ${l[u].fail} 0`}},dependencies:["format"]};const formatLimitPlugin=t=>{t.addKeyword(r.formatLimitDefinition);return t};r["default"]=formatLimitPlugin},6395:(t,r,i)=>{"use strict";const o=i(2040);const a=process.env;Object.defineProperty(r,"_vendors",{value:o.map((function(t){return t.constant}))});r.name=null;r.isPR=null;o.forEach((function(t){const i=Array.isArray(t.env)?t.env:[t.env];const o=i.every((function(t){return checkEnv(t)}));r[t.constant]=o;if(!o){return}r.name=t.name;switch(typeof t.pr){case"string":r.isPR=!!a[t.pr];break;case"object":if("env"in t.pr){r.isPR=t.pr.env in a&&a[t.pr.env]!==t.pr.ne}else if("any"in t.pr){r.isPR=t.pr.any.some((function(t){return!!a[t]}))}else{r.isPR=checkEnv(t.pr)}break;default:r.isPR=null}}));r.isCI=!!(a.CI!=="false"&&(a.BUILD_ID||a.BUILD_NUMBER||a.CI||a.CI_APP_ID||a.CI_BUILD_ID||a.CI_BUILD_NUMBER||a.CI_NAME||a.CONTINUOUS_INTEGRATION||a.RUN_ID||r.name||false));function checkEnv(t){if(typeof t==="string")return!!a[t];if("env"in t){return a[t.env]&&a[t.env].includes(t.includes)}if("any"in t){return t.any.some((function(t){return!!a[t]}))}return Object.keys(t).every((function(r){return a[r]===t[r]}))}},7825:(t,r,i)=>{"use strict";const{builtinModules:o}=i(3339);var a=new RegExp("^(?:@([^/]+?)[/])?([^/]+?)$");var c=["node_modules","favicon.ico"];function validate(t){var r=[];var i=[];if(t===null){i.push("name cannot be null");return done(r,i)}if(t===undefined){i.push("name cannot be undefined");return done(r,i)}if(typeof t!=="string"){i.push("name must be a string");return done(r,i)}if(!t.length){i.push("name length must be greater than zero")}if(t.match(/^\./)){i.push("name cannot start with a period")}if(t.match(/^_/)){i.push("name cannot start with an underscore")}if(t.trim()!==t){i.push("name cannot contain leading or trailing spaces")}c.forEach((function(r){if(t.toLowerCase()===r){i.push(r+" is a blacklisted name")}}));if(o.includes(t.toLowerCase())){r.push(t+" is a core module name")}if(t.length>214){r.push("name can no longer contain more than 214 characters")}if(t.toLowerCase()!==t){r.push("name can no longer contain capital letters")}if(/[~'!()*]/.test(t.split("/").slice(-1)[0])){r.push('name can no longer contain special characters ("~\'!()*")')}if(encodeURIComponent(t)!==t){var l=t.match(a);if(l){var u=l[1];var h=l[2];if(encodeURIComponent(u)===u&&encodeURIComponent(h)===h){return done(r,i)}}i.push("name can only contain URL-friendly characters")}return done(r,i)}var done=function(t,r){var i={validForNewPackages:r.length===0&&t.length===0,validForOldPackages:r.length===0,warnings:t,errors:r};if(!i.warnings.length){delete i.warnings}if(!i.errors.length){delete i.errors}return i};t.exports=validate},181:t=>{"use strict";t.exports=require("buffer")},5317:t=>{"use strict";t.exports=require("child_process")},4434:t=>{"use strict";t.exports=require("events")},9896:t=>{"use strict";t.exports=require("fs")},8611:t=>{"use strict";t.exports=require("http")},5692:t=>{"use strict";t.exports=require("https")},3339:t=>{"use strict";t.exports=require("module")},1421:t=>{"use strict";t.exports=require("node:child_process")},8474:t=>{"use strict";t.exports=require("node:events")},3024:t=>{"use strict";t.exports=require("node:fs")},6760:t=>{"use strict";t.exports=require("node:path")},1708:t=>{"use strict";t.exports=require("node:process")},857:t=>{"use strict";t.exports=require("os")},6928:t=>{"use strict";t.exports=require("path")},3785:t=>{"use strict";t.exports=require("readline")},2203:t=>{"use strict";t.exports=require("stream")},2018:t=>{"use strict";t.exports=require("tty")},7016:t=>{"use strict";t.exports=require("url")},9023:t=>{"use strict";t.exports=require("util")},3996:(t,r,i)=>{"use strict";const{normalizeIPv6:o,removeDotSegments:a,recomposeAuthority:c,normalizeComponentEncoding:l,isIPv4:u,nonSimpleDomain:h}=i(9073);const{SCHEMES:d,getSchemeHandler:p}=i(2e3);function normalize(t,r){if(typeof t==="string"){t=serialize(parse(t,r),r)}else if(typeof t==="object"){t=parse(serialize(t,r),r)}return t}function resolve(t,r,i){const o=i?Object.assign({scheme:"null"},i):{scheme:"null"};const a=resolveComponent(parse(t,o),parse(r,o),o,true);o.skipEscape=true;return serialize(a,o)}function resolveComponent(t,r,i,o){const c={};if(!o){t=parse(serialize(t,i),i);r=parse(serialize(r,i),i)}i=i||{};if(!i.tolerant&&r.scheme){c.scheme=r.scheme;c.userinfo=r.userinfo;c.host=r.host;c.port=r.port;c.path=a(r.path||"");c.query=r.query}else{if(r.userinfo!==undefined||r.host!==undefined||r.port!==undefined){c.userinfo=r.userinfo;c.host=r.host;c.port=r.port;c.path=a(r.path||"");c.query=r.query}else{if(!r.path){c.path=t.path;if(r.query!==undefined){c.query=r.query}else{c.query=t.query}}else{if(r.path[0]==="/"){c.path=a(r.path)}else{if((t.userinfo!==undefined||t.host!==undefined||t.port!==undefined)&&!t.path){c.path="/"+r.path}else if(!t.path){c.path=r.path}else{c.path=t.path.slice(0,t.path.lastIndexOf("/")+1)+r.path}c.path=a(c.path)}c.query=r.query}c.userinfo=t.userinfo;c.host=t.host;c.port=t.port}c.scheme=t.scheme}c.fragment=r.fragment;return c}function equal(t,r,i){if(typeof t==="string"){t=unescape(t);t=serialize(l(parse(t,i),true),{...i,skipEscape:true})}else if(typeof t==="object"){t=serialize(l(t,true),{...i,skipEscape:true})}if(typeof r==="string"){r=unescape(r);r=serialize(l(parse(r,i),true),{...i,skipEscape:true})}else if(typeof r==="object"){r=serialize(l(r,true),{...i,skipEscape:true})}return t.toLowerCase()===r.toLowerCase()}function serialize(t,r){const i={host:t.host,scheme:t.scheme,userinfo:t.userinfo,port:t.port,path:t.path,query:t.query,nid:t.nid,nss:t.nss,uuid:t.uuid,fragment:t.fragment,reference:t.reference,resourceName:t.resourceName,secure:t.secure,error:""};const o=Object.assign({},r);const l=[];const u=p(o.scheme||i.scheme);if(u&&u.serialize)u.serialize(i,o);if(i.path!==undefined){if(!o.skipEscape){i.path=escape(i.path);if(i.scheme!==undefined){i.path=i.path.split("%3A").join(":")}}else{i.path=unescape(i.path)}}if(o.reference!=="suffix"&&i.scheme){l.push(i.scheme,":")}const h=c(i);if(h!==undefined){if(o.reference!=="suffix"){l.push("//")}l.push(h);if(i.path&&i.path[0]!=="/"){l.push("/")}}if(i.path!==undefined){let t=i.path;if(!o.absolutePath&&(!u||!u.absolutePath)){t=a(t)}if(h===undefined&&t[0]==="/"&&t[1]==="/"){t="/%2F"+t.slice(2)}l.push(t)}if(i.query!==undefined){l.push("?",i.query)}if(i.fragment!==undefined){l.push("#",i.fragment)}return l.join("")}const m=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function parse(t,r){const i=Object.assign({},r);const a={scheme:undefined,userinfo:undefined,host:"",port:undefined,path:"",query:undefined,fragment:undefined};let c=false;if(i.reference==="suffix"){if(i.scheme){t=i.scheme+":"+t}else{t="//"+t}}const l=t.match(m);if(l){a.scheme=l[1];a.userinfo=l[3];a.host=l[4];a.port=parseInt(l[5],10);a.path=l[6]||"";a.query=l[7];a.fragment=l[8];if(isNaN(a.port)){a.port=l[5]}if(a.host){const t=u(a.host);if(t===false){const t=o(a.host);a.host=t.host.toLowerCase();c=t.isIPV6}else{c=true}}if(a.scheme===undefined&&a.userinfo===undefined&&a.host===undefined&&a.port===undefined&&a.query===undefined&&!a.path){a.reference="same-document"}else if(a.scheme===undefined){a.reference="relative"}else if(a.fragment===undefined){a.reference="absolute"}else{a.reference="uri"}if(i.reference&&i.reference!=="suffix"&&i.reference!==a.reference){a.error=a.error||"URI is not a "+i.reference+" reference."}const r=p(i.scheme||a.scheme);if(!i.unicodeSupport&&(!r||!r.unicodeSupport)){if(a.host&&(i.domainHost||r&&r.domainHost)&&c===false&&h(a.host)){try{a.host=URL.domainToASCII(a.host.toLowerCase())}catch(t){a.error=a.error||"Host's domain name can not be converted to ASCII: "+t}}}if(!r||r&&!r.skipNormalize){if(t.indexOf("%")!==-1){if(a.scheme!==undefined){a.scheme=unescape(a.scheme)}if(a.host!==undefined){a.host=unescape(a.host)}}if(a.path){a.path=escape(unescape(a.path))}if(a.fragment){a.fragment=encodeURI(decodeURIComponent(a.fragment))}}if(r&&r.parse){r.parse(a,i)}}else{a.error=a.error||"URI can not be parsed."}return a}const g={SCHEMES:d,normalize:normalize,resolve:resolve,resolveComponent:resolveComponent,equal:equal,serialize:serialize,parse:parse};t.exports=g;t.exports["default"]=g;t.exports.fastUri=g},2e3:(t,r,i)=>{"use strict";const{isUUID:o}=i(9073);const a=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu;const c=["http","https","ws","wss","urn","urn:uuid"];function isValidSchemeName(t){return c.indexOf(t)!==-1}function wsIsSecure(t){if(t.secure===true){return true}else if(t.secure===false){return false}else if(t.scheme){return t.scheme.length===3&&(t.scheme[0]==="w"||t.scheme[0]==="W")&&(t.scheme[1]==="s"||t.scheme[1]==="S")&&(t.scheme[2]==="s"||t.scheme[2]==="S")}else{return false}}function httpParse(t){if(!t.host){t.error=t.error||"HTTP URIs must have a host."}return t}function httpSerialize(t){const r=String(t.scheme).toLowerCase()==="https";if(t.port===(r?443:80)||t.port===""){t.port=undefined}if(!t.path){t.path="/"}return t}function wsParse(t){t.secure=wsIsSecure(t);t.resourceName=(t.path||"/")+(t.query?"?"+t.query:"");t.path=undefined;t.query=undefined;return t}function wsSerialize(t){if(t.port===(wsIsSecure(t)?443:80)||t.port===""){t.port=undefined}if(typeof t.secure==="boolean"){t.scheme=t.secure?"wss":"ws";t.secure=undefined}if(t.resourceName){const[r,i]=t.resourceName.split("?");t.path=r&&r!=="/"?r:undefined;t.query=i;t.resourceName=undefined}t.fragment=undefined;return t}function urnParse(t,r){if(!t.path){t.error="URN can not be parsed";return t}const i=t.path.match(a);if(i){const o=r.scheme||t.scheme||"urn";t.nid=i[1].toLowerCase();t.nss=i[2];const a=`${o}:${r.nid||t.nid}`;const c=getSchemeHandler(a);t.path=undefined;if(c){t=c.parse(t,r)}}else{t.error=t.error||"URN can not be parsed."}return t}function urnSerialize(t,r){if(t.nid===undefined){throw new Error("URN without nid cannot be serialized")}const i=r.scheme||t.scheme||"urn";const o=t.nid.toLowerCase();const a=`${i}:${r.nid||o}`;const c=getSchemeHandler(a);if(c){t=c.serialize(t,r)}const l=t;const u=t.nss;l.path=`${o||r.nid}:${u}`;r.skipEscape=true;return l}function urnuuidParse(t,r){const i=t;i.uuid=i.nss;i.nss=undefined;if(!r.tolerant&&(!i.uuid||!o(i.uuid))){i.error=i.error||"UUID is not valid."}return i}function urnuuidSerialize(t){const r=t;r.nss=(t.uuid||"").toLowerCase();return r}const l={scheme:"http",domainHost:true,parse:httpParse,serialize:httpSerialize};const u={scheme:"https",domainHost:l.domainHost,parse:httpParse,serialize:httpSerialize};const h={scheme:"ws",domainHost:true,parse:wsParse,serialize:wsSerialize};const d={scheme:"wss",domainHost:h.domainHost,parse:h.parse,serialize:h.serialize};const p={scheme:"urn",parse:urnParse,serialize:urnSerialize,skipNormalize:true};const m={scheme:"urn:uuid",parse:urnuuidParse,serialize:urnuuidSerialize,skipNormalize:true};const g={http:l,https:u,ws:h,wss:d,urn:p,"urn:uuid":m};Object.setPrototypeOf(g,null);function getSchemeHandler(t){return t&&(g[t]||g[t.toLowerCase()])||undefined}t.exports={wsIsSecure:wsIsSecure,SCHEMES:g,isValidSchemeName:isValidSchemeName,getSchemeHandler:getSchemeHandler}},9073:t=>{"use strict";const r=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu);const i=RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u);function stringArrayToHexStripped(t){let r="";let i=0;let o=0;for(o=0;o<t.length;o++){i=t[o].charCodeAt(0);if(i===48){continue}if(!(i>=48&&i<=57||i>=65&&i<=70||i>=97&&i<=102)){return""}r+=t[o];break}for(o+=1;o<t.length;o++){i=t[o].charCodeAt(0);if(!(i>=48&&i<=57||i>=65&&i<=70||i>=97&&i<=102)){return""}r+=t[o]}return r}const o=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function consumeIsZone(t){t.length=0;return true}function consumeHextets(t,r,i){if(t.length){const o=stringArrayToHexStripped(t);if(o!==""){r.push(o)}else{i.error=true;return false}t.length=0}return true}function getIPV6(t){let r=0;const i={error:false,address:"",zone:""};const o=[];const a=[];let c=false;let l=false;let u=consumeHextets;for(let h=0;h<t.length;h++){const d=t[h];if(d==="["||d==="]"){continue}if(d===":"){if(c===true){l=true}if(!u(a,o,i)){break}if(++r>7){i.error=true;break}if(h>0&&t[h-1]===":"){c=true}o.push(":");continue}else if(d==="%"){if(!u(a,o,i)){break}u=consumeIsZone}else{a.push(d);continue}}if(a.length){if(u===consumeIsZone){i.zone=a.join("")}else if(l){o.push(a.join(""))}else{o.push(stringArrayToHexStripped(a))}}i.address=o.join("");return i}function normalizeIPv6(t){if(findToken(t,":")<2){return{host:t,isIPV6:false}}const r=getIPV6(t);if(!r.error){let t=r.address;let i=r.address;if(r.zone){t+="%"+r.zone;i+="%25"+r.zone}return{host:t,isIPV6:true,escapedHost:i}}else{return{host:t,isIPV6:false}}}function findToken(t,r){let i=0;for(let o=0;o<t.length;o++){if(t[o]===r)i++}return i}function removeDotSegments(t){let r=t;const i=[];let o=-1;let a=0;while(a=r.length){if(a===1){if(r==="."){break}else if(r==="/"){i.push("/");break}else{i.push(r);break}}else if(a===2){if(r[0]==="."){if(r[1]==="."){break}else if(r[1]==="/"){r=r.slice(2);continue}}else if(r[0]==="/"){if(r[1]==="."||r[1]==="/"){i.push("/");break}}}else if(a===3){if(r==="/.."){if(i.length!==0){i.pop()}i.push("/");break}}if(r[0]==="."){if(r[1]==="."){if(r[2]==="/"){r=r.slice(3);continue}}else if(r[1]==="/"){r=r.slice(2);continue}}else if(r[0]==="/"){if(r[1]==="."){if(r[2]==="/"){r=r.slice(2);continue}else if(r[2]==="."){if(r[3]==="/"){r=r.slice(3);if(i.length!==0){i.pop()}continue}}}}if((o=r.indexOf("/",1))===-1){i.push(r);break}else{i.push(r.slice(0,o));r=r.slice(o)}}return i.join("")}function normalizeComponentEncoding(t,r){const i=r!==true?escape:unescape;if(t.scheme!==undefined){t.scheme=i(t.scheme)}if(t.userinfo!==undefined){t.userinfo=i(t.userinfo)}if(t.host!==undefined){t.host=i(t.host)}if(t.path!==undefined){t.path=i(t.path)}if(t.query!==undefined){t.query=i(t.query)}if(t.fragment!==undefined){t.fragment=i(t.fragment)}return t}function recomposeAuthority(t){const r=[];if(t.userinfo!==undefined){r.push(t.userinfo);r.push("@")}if(t.host!==undefined){let o=unescape(t.host);if(!i(o)){const r=normalizeIPv6(o);if(r.isIPV6===true){o=`[${r.escapedHost}]`}else{o=t.host}}r.push(o)}if(typeof t.port==="number"||typeof t.port==="string"){r.push(":");r.push(String(t.port))}return r.length?r.join(""):undefined}t.exports={nonSimpleDomain:o,recomposeAuthority:recomposeAuthority,normalizeComponentEncoding:normalizeComponentEncoding,removeDotSegments:removeDotSegments,isIPv4:i,isUUID:r,normalizeIPv6:normalizeIPv6,stringArrayToHexStripped:stringArrayToHexStripped}},8909:(t,r,i)=>{const{Argument:o}=i(9154);const{Command:a}=i(4348);const{CommanderError:c,InvalidArgumentError:l}=i(1135);const{Help:u}=i(9754);const{Option:h}=i(5240);r.DM=new a;r.gu=t=>new a(t);r.Ww=(t,r)=>new h(t,r);r.er=(t,r)=>new o(t,r);r.uB=a;r.c$=h;r.ef=o;r._V=u;r.b7=c;r.Di=l;r.a2=l},9154:(t,r,i)=>{const{InvalidArgumentError:o}=i(1135);class Argument{constructor(t,r){this.description=r||"";this.variadic=false;this.parseArg=undefined;this.defaultValue=undefined;this.defaultValueDescription=undefined;this.argChoices=undefined;switch(t[0]){case"<":this.required=true;this._name=t.slice(1,-1);break;case"[":this.required=false;this._name=t.slice(1,-1);break;default:this.required=true;this._name=t;break}if(this._name.length>3&&this._name.slice(-3)==="..."){this.variadic=true;this._name=this._name.slice(0,-3)}}name(){return this._name}_concatValue(t,r){if(r===this.defaultValue||!Array.isArray(r)){return[t]}return r.concat(t)}default(t,r){this.defaultValue=t;this.defaultValueDescription=r;return this}argParser(t){this.parseArg=t;return this}choices(t){this.argChoices=t.slice();this.parseArg=(t,r)=>{if(!this.argChoices.includes(t)){throw new o(`Allowed choices are ${this.argChoices.join(", ")}.`)}if(this.variadic){return this._concatValue(t,r)}return t};return this}argRequired(){this.required=true;return this}argOptional(){this.required=false;return this}}function humanReadableArgName(t){const r=t.name()+(t.variadic===true?"...":"");return t.required?"<"+r+">":"["+r+"]"}r.Argument=Argument;r.humanReadableArgName=humanReadableArgName},4348:(t,r,i)=>{const o=i(8474).EventEmitter;const a=i(1421);const c=i(6760);const l=i(3024);const u=i(1708);const{Argument:h,humanReadableArgName:d}=i(9154);const{CommanderError:p}=i(1135);const{Help:m}=i(9754);const{Option:g,DualOptions:y}=i(5240);const{suggestSimilar:v}=i(5030);class Command extends o{constructor(t){super();this.commands=[];this.options=[];this.parent=null;this._allowUnknownOption=false;this._allowExcessArguments=true;this.registeredArguments=[];this._args=this.registeredArguments;this.args=[];this.rawArgs=[];this.processedArgs=[];this._scriptPath=null;this._name=t||"";this._optionValues={};this._optionValueSources={};this._storeOptionsAsProperties=false;this._actionHandler=null;this._executableHandler=false;this._executableFile=null;this._executableDir=null;this._defaultCommandName=null;this._exitCallback=null;this._aliases=[];this._combineFlagAndOptionalValue=true;this._description="";this._summary="";this._argsDescription=undefined;this._enablePositionalOptions=false;this._passThroughOptions=false;this._lifeCycleHooks={};this._showHelpAfterError=false;this._showSuggestionAfterError=true;this._outputConfiguration={writeOut:t=>u.stdout.write(t),writeErr:t=>u.stderr.write(t),getOutHelpWidth:()=>u.stdout.isTTY?u.stdout.columns:undefined,getErrHelpWidth:()=>u.stderr.isTTY?u.stderr.columns:undefined,outputError:(t,r)=>r(t)};this._hidden=false;this._helpOption=undefined;this._addImplicitHelpCommand=undefined;this._helpCommand=undefined;this._helpConfiguration={}}copyInheritedSettings(t){this._outputConfiguration=t._outputConfiguration;this._helpOption=t._helpOption;this._helpCommand=t._helpCommand;this._helpConfiguration=t._helpConfiguration;this._exitCallback=t._exitCallback;this._storeOptionsAsProperties=t._storeOptionsAsProperties;this._combineFlagAndOptionalValue=t._combineFlagAndOptionalValue;this._allowExcessArguments=t._allowExcessArguments;this._enablePositionalOptions=t._enablePositionalOptions;this._showHelpAfterError=t._showHelpAfterError;this._showSuggestionAfterError=t._showSuggestionAfterError;return this}_getCommandAndAncestors(){const t=[];for(let r=this;r;r=r.parent){t.push(r)}return t}command(t,r,i){let o=r;let a=i;if(typeof o==="object"&&o!==null){a=o;o=null}a=a||{};const[,c,l]=t.match(/([^ ]+) *(.*)/);const u=this.createCommand(c);if(o){u.description(o);u._executableHandler=true}if(a.isDefault)this._defaultCommandName=u._name;u._hidden=!!(a.noHelp||a.hidden);u._executableFile=a.executableFile||null;if(l)u.arguments(l);this._registerCommand(u);u.parent=this;u.copyInheritedSettings(this);if(o)return this;return u}createCommand(t){return new Command(t)}createHelp(){return Object.assign(new m,this.configureHelp())}configureHelp(t){if(t===undefined)return this._helpConfiguration;this._helpConfiguration=t;return this}configureOutput(t){if(t===undefined)return this._outputConfiguration;Object.assign(this._outputConfiguration,t);return this}showHelpAfterError(t=true){if(typeof t!=="string")t=!!t;this._showHelpAfterError=t;return this}showSuggestionAfterError(t=true){this._showSuggestionAfterError=!!t;return this}addCommand(t,r){if(!t._name){throw new Error(`Command passed to .addCommand() must have a name\n- specify the name in Command constructor or using .name()`)}r=r||{};if(r.isDefault)this._defaultCommandName=t._name;if(r.noHelp||r.hidden)t._hidden=true;this._registerCommand(t);t.parent=this;t._checkForBrokenPassThrough();return this}createArgument(t,r){return new h(t,r)}argument(t,r,i,o){const a=this.createArgument(t,r);if(typeof i==="function"){a.default(o).argParser(i)}else{a.default(i)}this.addArgument(a);return this}arguments(t){t.trim().split(/ +/).forEach((t=>{this.argument(t)}));return this}addArgument(t){const r=this.registeredArguments.slice(-1)[0];if(r&&r.variadic){throw new Error(`only the last argument can be variadic '${r.name()}'`)}if(t.required&&t.defaultValue!==undefined&&t.parseArg===undefined){throw new Error(`a default value for a required argument is never used: '${t.name()}'`)}this.registeredArguments.push(t);return this}helpCommand(t,r){if(typeof t==="boolean"){this._addImplicitHelpCommand=t;return this}t=t??"help [command]";const[,i,o]=t.match(/([^ ]+) *(.*)/);const a=r??"display help for command";const c=this.createCommand(i);c.helpOption(false);if(o)c.arguments(o);if(a)c.description(a);this._addImplicitHelpCommand=true;this._helpCommand=c;return this}addHelpCommand(t,r){if(typeof t!=="object"){this.helpCommand(t,r);return this}this._addImplicitHelpCommand=true;this._helpCommand=t;return this}_getHelpCommand(){const t=this._addImplicitHelpCommand??(this.commands.length&&!this._actionHandler&&!this._findCommand("help"));if(t){if(this._helpCommand===undefined){this.helpCommand(undefined,undefined)}return this._helpCommand}return null}hook(t,r){const i=["preSubcommand","preAction","postAction"];if(!i.includes(t)){throw new Error(`Unexpected value for event passed to hook : '${t}'.\nExpecting one of '${i.join("', '")}'`)}if(this._lifeCycleHooks[t]){this._lifeCycleHooks[t].push(r)}else{this._lifeCycleHooks[t]=[r]}return this}exitOverride(t){if(t){this._exitCallback=t}else{this._exitCallback=t=>{if(t.code!=="commander.executeSubCommandAsync"){throw t}else{}}}return this}_exit(t,r,i){if(this._exitCallback){this._exitCallback(new p(t,r,i))}u.exit(t)}action(t){const listener=r=>{const i=this.registeredArguments.length;const o=r.slice(0,i);if(this._storeOptionsAsProperties){o[i]=this}else{o[i]=this.opts()}o.push(this);return t.apply(this,o)};this._actionHandler=listener;return this}createOption(t,r){return new g(t,r)}_callParseArg(t,r,i,o){try{return t.parseArg(r,i)}catch(t){if(t.code==="commander.invalidArgument"){const r=`${o} ${t.message}`;this.error(r,{exitCode:t.exitCode,code:t.code})}throw t}}_registerOption(t){const r=t.short&&this._findOption(t.short)||t.long&&this._findOption(t.long);if(r){const i=t.long&&this._findOption(t.long)?t.long:t.short;throw new Error(`Cannot add option '${t.flags}'${this._name&&` to command '${this._name}'`} due to conflicting flag '${i}'\n- already used by option '${r.flags}'`)}this.options.push(t)}_registerCommand(t){const knownBy=t=>[t.name()].concat(t.aliases());const r=knownBy(t).find((t=>this._findCommand(t)));if(r){const i=knownBy(this._findCommand(r)).join("|");const o=knownBy(t).join("|");throw new Error(`cannot add command '${o}' as already have command '${i}'`)}this.commands.push(t)}addOption(t){this._registerOption(t);const r=t.name();const i=t.attributeName();if(t.negate){const r=t.long.replace(/^--no-/,"--");if(!this._findOption(r)){this.setOptionValueWithSource(i,t.defaultValue===undefined?true:t.defaultValue,"default")}}else if(t.defaultValue!==undefined){this.setOptionValueWithSource(i,t.defaultValue,"default")}const handleOptionValue=(r,o,a)=>{if(r==null&&t.presetArg!==undefined){r=t.presetArg}const c=this.getOptionValue(i);if(r!==null&&t.parseArg){r=this._callParseArg(t,r,c,o)}else if(r!==null&&t.variadic){r=t._concatValue(r,c)}if(r==null){if(t.negate){r=false}else if(t.isBoolean()||t.optional){r=true}else{r=""}}this.setOptionValueWithSource(i,r,a)};this.on("option:"+r,(r=>{const i=`error: option '${t.flags}' argument '${r}' is invalid.`;handleOptionValue(r,i,"cli")}));if(t.envVar){this.on("optionEnv:"+r,(r=>{const i=`error: option '${t.flags}' value '${r}' from env '${t.envVar}' is invalid.`;handleOptionValue(r,i,"env")}))}return this}_optionEx(t,r,i,o,a){if(typeof r==="object"&&r instanceof g){throw new Error("To add an Option object use addOption() instead of option() or requiredOption()")}const c=this.createOption(r,i);c.makeOptionMandatory(!!t.mandatory);if(typeof o==="function"){c.default(a).argParser(o)}else if(o instanceof RegExp){const t=o;o=(r,i)=>{const o=t.exec(r);return o?o[0]:i};c.default(a).argParser(o)}else{c.default(o)}return this.addOption(c)}option(t,r,i,o){return this._optionEx({},t,r,i,o)}requiredOption(t,r,i,o){return this._optionEx({mandatory:true},t,r,i,o)}combineFlagAndOptionalValue(t=true){this._combineFlagAndOptionalValue=!!t;return this}allowUnknownOption(t=true){this._allowUnknownOption=!!t;return this}allowExcessArguments(t=true){this._allowExcessArguments=!!t;return this}enablePositionalOptions(t=true){this._enablePositionalOptions=!!t;return this}passThroughOptions(t=true){this._passThroughOptions=!!t;this._checkForBrokenPassThrough();return this}_checkForBrokenPassThrough(){if(this.parent&&this._passThroughOptions&&!this.parent._enablePositionalOptions){throw new Error(`passThroughOptions cannot be used for '${this._name}' without turning on enablePositionalOptions for parent command(s)`)}}storeOptionsAsProperties(t=true){if(this.options.length){throw new Error("call .storeOptionsAsProperties() before adding options")}if(Object.keys(this._optionValues).length){throw new Error("call .storeOptionsAsProperties() before setting option values")}this._storeOptionsAsProperties=!!t;return this}getOptionValue(t){if(this._storeOptionsAsProperties){return this[t]}return this._optionValues[t]}setOptionValue(t,r){return this.setOptionValueWithSource(t,r,undefined)}setOptionValueWithSource(t,r,i){if(this._storeOptionsAsProperties){this[t]=r}else{this._optionValues[t]=r}this._optionValueSources[t]=i;return this}getOptionValueSource(t){return this._optionValueSources[t]}getOptionValueSourceWithGlobals(t){let r;this._getCommandAndAncestors().forEach((i=>{if(i.getOptionValueSource(t)!==undefined){r=i.getOptionValueSource(t)}}));return r}_prepareUserArgs(t,r){if(t!==undefined&&!Array.isArray(t)){throw new Error("first parameter to parse must be array or undefined")}r=r||{};if(t===undefined&&r.from===undefined){if(u.versions?.electron){r.from="electron"}const t=u.execArgv??[];if(t.includes("-e")||t.includes("--eval")||t.includes("-p")||t.includes("--print")){r.from="eval"}}if(t===undefined){t=u.argv}this.rawArgs=t.slice();let i;switch(r.from){case undefined:case"node":this._scriptPath=t[1];i=t.slice(2);break;case"electron":if(u.defaultApp){this._scriptPath=t[1];i=t.slice(2)}else{i=t.slice(1)}break;case"user":i=t.slice(0);break;case"eval":i=t.slice(1);break;default:throw new Error(`unexpected parse option { from: '${r.from}' }`)}if(!this._name&&this._scriptPath)this.nameFromFilename(this._scriptPath);this._name=this._name||"program";return i}parse(t,r){const i=this._prepareUserArgs(t,r);this._parseCommand([],i);return this}async parseAsync(t,r){const i=this._prepareUserArgs(t,r);await this._parseCommand([],i);return this}_executeSubCommand(t,r){r=r.slice();let i=false;const o=[".js",".ts",".tsx",".mjs",".cjs"];function findFile(t,r){const i=c.resolve(t,r);if(l.existsSync(i))return i;if(o.includes(c.extname(r)))return undefined;const a=o.find((t=>l.existsSync(`${i}${t}`)));if(a)return`${i}${a}`;return undefined}this._checkForMissingMandatoryOptions();this._checkForConflictingOptions();let h=t._executableFile||`${this._name}-${t._name}`;let d=this._executableDir||"";if(this._scriptPath){let t;try{t=l.realpathSync(this._scriptPath)}catch(r){t=this._scriptPath}d=c.resolve(c.dirname(t),d)}if(d){let r=findFile(d,h);if(!r&&!t._executableFile&&this._scriptPath){const i=c.basename(this._scriptPath,c.extname(this._scriptPath));if(i!==this._name){r=findFile(d,`${i}-${t._name}`)}}h=r||h}i=o.includes(c.extname(h));let m;if(u.platform!=="win32"){if(i){r.unshift(h);r=incrementNodeInspectorPort(u.execArgv).concat(r);m=a.spawn(u.argv[0],r,{stdio:"inherit"})}else{m=a.spawn(h,r,{stdio:"inherit"})}}else{r.unshift(h);r=incrementNodeInspectorPort(u.execArgv).concat(r);m=a.spawn(u.execPath,r,{stdio:"inherit"})}if(!m.killed){const t=["SIGUSR1","SIGUSR2","SIGTERM","SIGINT","SIGHUP"];t.forEach((t=>{u.on(t,(()=>{if(m.killed===false&&m.exitCode===null){m.kill(t)}}))}))}const g=this._exitCallback;m.on("close",(t=>{t=t??1;if(!g){u.exit(t)}else{g(new p(t,"commander.executeSubCommandAsync","(close)"))}}));m.on("error",(r=>{if(r.code==="ENOENT"){const r=d?`searched for local subcommand relative to directory '${d}'`:"no directory for search for local subcommand, use .executableDir() to supply a custom directory";const i=`'${h}' does not exist\n - if '${t._name}' is not meant to be an executable command, remove description parameter from '.command()' and use '.description()' instead\n - if the default executable name is not suitable, use the executableFile option to supply a custom name or path\n - ${r}`;throw new Error(i)}else if(r.code==="EACCES"){throw new Error(`'${h}' not executable`)}if(!g){u.exit(1)}else{const t=new p(1,"commander.executeSubCommandAsync","(error)");t.nestedError=r;g(t)}}));this.runningCommand=m}_dispatchSubcommand(t,r,i){const o=this._findCommand(t);if(!o)this.help({error:true});let a;a=this._chainOrCallSubCommandHook(a,o,"preSubcommand");a=this._chainOrCall(a,(()=>{if(o._executableHandler){this._executeSubCommand(o,r.concat(i))}else{return o._parseCommand(r,i)}}));return a}_dispatchHelpCommand(t){if(!t){this.help()}const r=this._findCommand(t);if(r&&!r._executableHandler){r.help()}return this._dispatchSubcommand(t,[],[this._getHelpOption()?.long??this._getHelpOption()?.short??"--help"])}_checkNumberOfArguments(){this.registeredArguments.forEach(((t,r)=>{if(t.required&&this.args[r]==null){this.missingArgument(t.name())}}));if(this.registeredArguments.length>0&&this.registeredArguments[this.registeredArguments.length-1].variadic){return}if(this.args.length>this.registeredArguments.length){this._excessArguments(this.args)}}_processArguments(){const myParseArg=(t,r,i)=>{let o=r;if(r!==null&&t.parseArg){const a=`error: command-argument value '${r}' is invalid for argument '${t.name()}'.`;o=this._callParseArg(t,r,i,a)}return o};this._checkNumberOfArguments();const t=[];this.registeredArguments.forEach(((r,i)=>{let o=r.defaultValue;if(r.variadic){if(i<this.args.length){o=this.args.slice(i);if(r.parseArg){o=o.reduce(((t,i)=>myParseArg(r,i,t)),r.defaultValue)}}else if(o===undefined){o=[]}}else if(i<this.args.length){o=this.args[i];if(r.parseArg){o=myParseArg(r,o,r.defaultValue)}}t[i]=o}));this.processedArgs=t}_chainOrCall(t,r){if(t&&t.then&&typeof t.then==="function"){return t.then((()=>r()))}return r()}_chainOrCallHooks(t,r){let i=t;const o=[];this._getCommandAndAncestors().reverse().filter((t=>t._lifeCycleHooks[r]!==undefined)).forEach((t=>{t._lifeCycleHooks[r].forEach((r=>{o.push({hookedCommand:t,callback:r})}))}));if(r==="postAction"){o.reverse()}o.forEach((t=>{i=this._chainOrCall(i,(()=>t.callback(t.hookedCommand,this)))}));return i}_chainOrCallSubCommandHook(t,r,i){let o=t;if(this._lifeCycleHooks[i]!==undefined){this._lifeCycleHooks[i].forEach((t=>{o=this._chainOrCall(o,(()=>t(this,r)))}))}return o}_parseCommand(t,r){const i=this.parseOptions(r);this._parseOptionsEnv();this._parseOptionsImplied();t=t.concat(i.operands);r=i.unknown;this.args=t.concat(r);if(t&&this._findCommand(t[0])){return this._dispatchSubcommand(t[0],t.slice(1),r)}if(this._getHelpCommand()&&t[0]===this._getHelpCommand().name()){return this._dispatchHelpCommand(t[1])}if(this._defaultCommandName){this._outputHelpIfRequested(r);return this._dispatchSubcommand(this._defaultCommandName,t,r)}if(this.commands.length&&this.args.length===0&&!this._actionHandler&&!this._defaultCommandName){this.help({error:true})}this._outputHelpIfRequested(i.unknown);this._checkForMissingMandatoryOptions();this._checkForConflictingOptions();const checkForUnknownOptions=()=>{if(i.unknown.length>0){this.unknownOption(i.unknown[0])}};const o=`command:${this.name()}`;if(this._actionHandler){checkForUnknownOptions();this._processArguments();let i;i=this._chainOrCallHooks(i,"preAction");i=this._chainOrCall(i,(()=>this._actionHandler(this.processedArgs)));if(this.parent){i=this._chainOrCall(i,(()=>{this.parent.emit(o,t,r)}))}i=this._chainOrCallHooks(i,"postAction");return i}if(this.parent&&this.parent.listenerCount(o)){checkForUnknownOptions();this._processArguments();this.parent.emit(o,t,r)}else if(t.length){if(this._findCommand("*")){return this._dispatchSubcommand("*",t,r)}if(this.listenerCount("command:*")){this.emit("command:*",t,r)}else if(this.commands.length){this.unknownCommand()}else{checkForUnknownOptions();this._processArguments()}}else if(this.commands.length){checkForUnknownOptions();this.help({error:true})}else{checkForUnknownOptions();this._processArguments()}}_findCommand(t){if(!t)return undefined;return this.commands.find((r=>r._name===t||r._aliases.includes(t)))}_findOption(t){return this.options.find((r=>r.is(t)))}_checkForMissingMandatoryOptions(){this._getCommandAndAncestors().forEach((t=>{t.options.forEach((r=>{if(r.mandatory&&t.getOptionValue(r.attributeName())===undefined){t.missingMandatoryOptionValue(r)}}))}))}_checkForConflictingLocalOptions(){const t=this.options.filter((t=>{const r=t.attributeName();if(this.getOptionValue(r)===undefined){return false}return this.getOptionValueSource(r)!=="default"}));const r=t.filter((t=>t.conflictsWith.length>0));r.forEach((r=>{const i=t.find((t=>r.conflictsWith.includes(t.attributeName())));if(i){this._conflictingOption(r,i)}}))}_checkForConflictingOptions(){this._getCommandAndAncestors().forEach((t=>{t._checkForConflictingLocalOptions()}))}parseOptions(t){const r=[];const i=[];let o=r;const a=t.slice();function maybeOption(t){return t.length>1&&t[0]==="-"}let c=null;while(a.length){const t=a.shift();if(t==="--"){if(o===i)o.push(t);o.push(...a);break}if(c&&!maybeOption(t)){this.emit(`option:${c.name()}`,t);continue}c=null;if(maybeOption(t)){const r=this._findOption(t);if(r){if(r.required){const t=a.shift();if(t===undefined)this.optionMissingArgument(r);this.emit(`option:${r.name()}`,t)}else if(r.optional){let t=null;if(a.length>0&&!maybeOption(a[0])){t=a.shift()}this.emit(`option:${r.name()}`,t)}else{this.emit(`option:${r.name()}`)}c=r.variadic?r:null;continue}}if(t.length>2&&t[0]==="-"&&t[1]!=="-"){const r=this._findOption(`-${t[1]}`);if(r){if(r.required||r.optional&&this._combineFlagAndOptionalValue){this.emit(`option:${r.name()}`,t.slice(2))}else{this.emit(`option:${r.name()}`);a.unshift(`-${t.slice(2)}`)}continue}}if(/^--[^=]+=/.test(t)){const r=t.indexOf("=");const i=this._findOption(t.slice(0,r));if(i&&(i.required||i.optional)){this.emit(`option:${i.name()}`,t.slice(r+1));continue}}if(maybeOption(t)){o=i}if((this._enablePositionalOptions||this._passThroughOptions)&&r.length===0&&i.length===0){if(this._findCommand(t)){r.push(t);if(a.length>0)i.push(...a);break}else if(this._getHelpCommand()&&t===this._getHelpCommand().name()){r.push(t);if(a.length>0)r.push(...a);break}else if(this._defaultCommandName){i.push(t);if(a.length>0)i.push(...a);break}}if(this._passThroughOptions){o.push(t);if(a.length>0)o.push(...a);break}o.push(t)}return{operands:r,unknown:i}}opts(){if(this._storeOptionsAsProperties){const t={};const r=this.options.length;for(let i=0;i<r;i++){const r=this.options[i].attributeName();t[r]=r===this._versionOptionName?this._version:this[r]}return t}return this._optionValues}optsWithGlobals(){return this._getCommandAndAncestors().reduce(((t,r)=>Object.assign(t,r.opts())),{})}error(t,r){this._outputConfiguration.outputError(`${t}\n`,this._outputConfiguration.writeErr);if(typeof this._showHelpAfterError==="string"){this._outputConfiguration.writeErr(`${this._showHelpAfterError}\n`)}else if(this._showHelpAfterError){this._outputConfiguration.writeErr("\n");this.outputHelp({error:true})}const i=r||{};const o=i.exitCode||1;const a=i.code||"commander.error";this._exit(o,a,t)}_parseOptionsEnv(){this.options.forEach((t=>{if(t.envVar&&t.envVar in u.env){const r=t.attributeName();if(this.getOptionValue(r)===undefined||["default","config","env"].includes(this.getOptionValueSource(r))){if(t.required||t.optional){this.emit(`optionEnv:${t.name()}`,u.env[t.envVar])}else{this.emit(`optionEnv:${t.name()}`)}}}}))}_parseOptionsImplied(){const t=new y(this.options);const hasCustomOptionValue=t=>this.getOptionValue(t)!==undefined&&!["default","implied"].includes(this.getOptionValueSource(t));this.options.filter((r=>r.implied!==undefined&&hasCustomOptionValue(r.attributeName())&&t.valueFromOption(this.getOptionValue(r.attributeName()),r))).forEach((t=>{Object.keys(t.implied).filter((t=>!hasCustomOptionValue(t))).forEach((r=>{this.setOptionValueWithSource(r,t.implied[r],"implied")}))}))}missingArgument(t){const r=`error: missing required argument '${t}'`;this.error(r,{code:"commander.missingArgument"})}optionMissingArgument(t){const r=`error: option '${t.flags}' argument missing`;this.error(r,{code:"commander.optionMissingArgument"})}missingMandatoryOptionValue(t){const r=`error: required option '${t.flags}' not specified`;this.error(r,{code:"commander.missingMandatoryOptionValue"})}_conflictingOption(t,r){const findBestOptionFromValue=t=>{const r=t.attributeName();const i=this.getOptionValue(r);const o=this.options.find((t=>t.negate&&r===t.attributeName()));const a=this.options.find((t=>!t.negate&&r===t.attributeName()));if(o&&(o.presetArg===undefined&&i===false||o.presetArg!==undefined&&i===o.presetArg)){return o}return a||t};const getErrorMessage=t=>{const r=findBestOptionFromValue(t);const i=r.attributeName();const o=this.getOptionValueSource(i);if(o==="env"){return`environment variable '${r.envVar}'`}return`option '${r.flags}'`};const i=`error: ${getErrorMessage(t)} cannot be used with ${getErrorMessage(r)}`;this.error(i,{code:"commander.conflictingOption"})}unknownOption(t){if(this._allowUnknownOption)return;let r="";if(t.startsWith("--")&&this._showSuggestionAfterError){let i=[];let o=this;do{const t=o.createHelp().visibleOptions(o).filter((t=>t.long)).map((t=>t.long));i=i.concat(t);o=o.parent}while(o&&!o._enablePositionalOptions);r=v(t,i)}const i=`error: unknown option '${t}'${r}`;this.error(i,{code:"commander.unknownOption"})}_excessArguments(t){if(this._allowExcessArguments)return;const r=this.registeredArguments.length;const i=r===1?"":"s";const o=this.parent?` for '${this.name()}'`:"";const a=`error: too many arguments${o}. Expected ${r} argument${i} but got ${t.length}.`;this.error(a,{code:"commander.excessArguments"})}unknownCommand(){const t=this.args[0];let r="";if(this._showSuggestionAfterError){const i=[];this.createHelp().visibleCommands(this).forEach((t=>{i.push(t.name());if(t.alias())i.push(t.alias())}));r=v(t,i)}const i=`error: unknown command '${t}'${r}`;this.error(i,{code:"commander.unknownCommand"})}version(t,r,i){if(t===undefined)return this._version;this._version=t;r=r||"-V, --version";i=i||"output the version number";const o=this.createOption(r,i);this._versionOptionName=o.attributeName();this._registerOption(o);this.on("option:"+o.name(),(()=>{this._outputConfiguration.writeOut(`${t}\n`);this._exit(0,"commander.version",t)}));return this}description(t,r){if(t===undefined&&r===undefined)return this._description;this._description=t;if(r){this._argsDescription=r}return this}summary(t){if(t===undefined)return this._summary;this._summary=t;return this}alias(t){if(t===undefined)return this._aliases[0];let r=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler){r=this.commands[this.commands.length-1]}if(t===r._name)throw new Error("Command alias can't be the same as its name");const i=this.parent?._findCommand(t);if(i){const r=[i.name()].concat(i.aliases()).join("|");throw new Error(`cannot add alias '${t}' to command '${this.name()}' as already have command '${r}'`)}r._aliases.push(t);return this}aliases(t){if(t===undefined)return this._aliases;t.forEach((t=>this.alias(t)));return this}usage(t){if(t===undefined){if(this._usage)return this._usage;const t=this.registeredArguments.map((t=>d(t)));return[].concat(this.options.length||this._helpOption!==null?"[options]":[],this.commands.length?"[command]":[],this.registeredArguments.length?t:[]).join(" ")}this._usage=t;return this}name(t){if(t===undefined)return this._name;this._name=t;return this}nameFromFilename(t){this._name=c.basename(t,c.extname(t));return this}executableDir(t){if(t===undefined)return this._executableDir;this._executableDir=t;return this}helpInformation(t){const r=this.createHelp();if(r.helpWidth===undefined){r.helpWidth=t&&t.error?this._outputConfiguration.getErrHelpWidth():this._outputConfiguration.getOutHelpWidth()}return r.formatHelp(this,r)}_getHelpContext(t){t=t||{};const r={error:!!t.error};let i;if(r.error){i=t=>this._outputConfiguration.writeErr(t)}else{i=t=>this._outputConfiguration.writeOut(t)}r.write=t.write||i;r.command=this;return r}outputHelp(t){let r;if(typeof t==="function"){r=t;t=undefined}const i=this._getHelpContext(t);this._getCommandAndAncestors().reverse().forEach((t=>t.emit("beforeAllHelp",i)));this.emit("beforeHelp",i);let o=this.helpInformation(i);if(r){o=r(o);if(typeof o!=="string"&&!Buffer.isBuffer(o)){throw new Error("outputHelp callback must return a string or a Buffer")}}i.write(o);if(this._getHelpOption()?.long){this.emit(this._getHelpOption().long)}this.emit("afterHelp",i);this._getCommandAndAncestors().forEach((t=>t.emit("afterAllHelp",i)))}helpOption(t,r){if(typeof t==="boolean"){if(t){this._helpOption=this._helpOption??undefined}else{this._helpOption=null}return this}t=t??"-h, --help";r=r??"display help for command";this._helpOption=this.createOption(t,r);return this}_getHelpOption(){if(this._helpOption===undefined){this.helpOption(undefined,undefined)}return this._helpOption}addHelpOption(t){this._helpOption=t;return this}help(t){this.outputHelp(t);let r=u.exitCode||0;if(r===0&&t&&typeof t!=="function"&&t.error){r=1}this._exit(r,"commander.help","(outputHelp)")}addHelpText(t,r){const i=["beforeAll","before","after","afterAll"];if(!i.includes(t)){throw new Error(`Unexpected value for position to addHelpText.\nExpecting one of '${i.join("', '")}'`)}const o=`${t}Help`;this.on(o,(t=>{let i;if(typeof r==="function"){i=r({error:t.error,command:t.command})}else{i=r}if(i){t.write(`${i}\n`)}}));return this}_outputHelpIfRequested(t){const r=this._getHelpOption();const i=r&&t.find((t=>r.is(t)));if(i){this.outputHelp();this._exit(0,"commander.helpDisplayed","(outputHelp)")}}}function incrementNodeInspectorPort(t){return t.map((t=>{if(!t.startsWith("--inspect")){return t}let r;let i="127.0.0.1";let o="9229";let a;if((a=t.match(/^(--inspect(-brk)?)$/))!==null){r=a[1]}else if((a=t.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null){r=a[1];if(/^\d+$/.test(a[3])){o=a[3]}else{i=a[3]}}else if((a=t.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null){r=a[1];i=a[3];o=a[4]}if(r&&o!=="0"){return`${r}=${i}:${parseInt(o)+1}`}return t}))}r.Command=Command},1135:(t,r)=>{class CommanderError extends Error{constructor(t,r,i){super(i);Error.captureStackTrace(this,this.constructor);this.name=this.constructor.name;this.code=r;this.exitCode=t;this.nestedError=undefined}}class InvalidArgumentError extends CommanderError{constructor(t){super(1,"commander.invalidArgument",t);Error.captureStackTrace(this,this.constructor);this.name=this.constructor.name}}r.CommanderError=CommanderError;r.InvalidArgumentError=InvalidArgumentError},9754:(t,r,i)=>{const{humanReadableArgName:o}=i(9154);class Help{constructor(){this.helpWidth=undefined;this.sortSubcommands=false;this.sortOptions=false;this.showGlobalOptions=false}visibleCommands(t){const r=t.commands.filter((t=>!t._hidden));const i=t._getHelpCommand();if(i&&!i._hidden){r.push(i)}if(this.sortSubcommands){r.sort(((t,r)=>t.name().localeCompare(r.name())))}return r}compareOptions(t,r){const getSortKey=t=>t.short?t.short.replace(/^-/,""):t.long.replace(/^--/,"");return getSortKey(t).localeCompare(getSortKey(r))}visibleOptions(t){const r=t.options.filter((t=>!t.hidden));const i=t._getHelpOption();if(i&&!i.hidden){const o=i.short&&t._findOption(i.short);const a=i.long&&t._findOption(i.long);if(!o&&!a){r.push(i)}else if(i.long&&!a){r.push(t.createOption(i.long,i.description))}else if(i.short&&!o){r.push(t.createOption(i.short,i.description))}}if(this.sortOptions){r.sort(this.compareOptions)}return r}visibleGlobalOptions(t){if(!this.showGlobalOptions)return[];const r=[];for(let i=t.parent;i;i=i.parent){const t=i.options.filter((t=>!t.hidden));r.push(...t)}if(this.sortOptions){r.sort(this.compareOptions)}return r}visibleArguments(t){if(t._argsDescription){t.registeredArguments.forEach((r=>{r.description=r.description||t._argsDescription[r.name()]||""}))}if(t.registeredArguments.find((t=>t.description))){return t.registeredArguments}return[]}subcommandTerm(t){const r=t.registeredArguments.map((t=>o(t))).join(" ");return t._name+(t._aliases[0]?"|"+t._aliases[0]:"")+(t.options.length?" [options]":"")+(r?" "+r:"")}optionTerm(t){return t.flags}argumentTerm(t){return t.name()}longestSubcommandTermLength(t,r){return r.visibleCommands(t).reduce(((t,i)=>Math.max(t,r.subcommandTerm(i).length)),0)}longestOptionTermLength(t,r){return r.visibleOptions(t).reduce(((t,i)=>Math.max(t,r.optionTerm(i).length)),0)}longestGlobalOptionTermLength(t,r){return r.visibleGlobalOptions(t).reduce(((t,i)=>Math.max(t,r.optionTerm(i).length)),0)}longestArgumentTermLength(t,r){return r.visibleArguments(t).reduce(((t,i)=>Math.max(t,r.argumentTerm(i).length)),0)}commandUsage(t){let r=t._name;if(t._aliases[0]){r=r+"|"+t._aliases[0]}let i="";for(let r=t.parent;r;r=r.parent){i=r.name()+" "+i}return i+r+" "+t.usage()}commandDescription(t){return t.description()}subcommandDescription(t){return t.summary()||t.description()}optionDescription(t){const r=[];if(t.argChoices){r.push(`choices: ${t.argChoices.map((t=>JSON.stringify(t))).join(", ")}`)}if(t.defaultValue!==undefined){const i=t.required||t.optional||t.isBoolean()&&typeof t.defaultValue==="boolean";if(i){r.push(`default: ${t.defaultValueDescription||JSON.stringify(t.defaultValue)}`)}}if(t.presetArg!==undefined&&t.optional){r.push(`preset: ${JSON.stringify(t.presetArg)}`)}if(t.envVar!==undefined){r.push(`env: ${t.envVar}`)}if(r.length>0){return`${t.description} (${r.join(", ")})`}return t.description}argumentDescription(t){const r=[];if(t.argChoices){r.push(`choices: ${t.argChoices.map((t=>JSON.stringify(t))).join(", ")}`)}if(t.defaultValue!==undefined){r.push(`default: ${t.defaultValueDescription||JSON.stringify(t.defaultValue)}`)}if(r.length>0){const i=`(${r.join(", ")})`;if(t.description){return`${t.description} ${i}`}return i}return t.description}formatHelp(t,r){const i=r.padWidth(t,r);const o=r.helpWidth||80;const a=2;const c=2;function formatItem(t,l){if(l){const u=`${t.padEnd(i+c)}${l}`;return r.wrap(u,o-a,i+c)}return t}function formatList(t){return t.join("\n").replace(/^/gm," ".repeat(a))}let l=[`Usage: ${r.commandUsage(t)}`,""];const u=r.commandDescription(t);if(u.length>0){l=l.concat([r.wrap(u,o,0),""])}const h=r.visibleArguments(t).map((t=>formatItem(r.argumentTerm(t),r.argumentDescription(t))));if(h.length>0){l=l.concat(["Arguments:",formatList(h),""])}const d=r.visibleOptions(t).map((t=>formatItem(r.optionTerm(t),r.optionDescription(t))));if(d.length>0){l=l.concat(["Options:",formatList(d),""])}if(this.showGlobalOptions){const i=r.visibleGlobalOptions(t).map((t=>formatItem(r.optionTerm(t),r.optionDescription(t))));if(i.length>0){l=l.concat(["Global Options:",formatList(i),""])}}const p=r.visibleCommands(t).map((t=>formatItem(r.subcommandTerm(t),r.subcommandDescription(t))));if(p.length>0){l=l.concat(["Commands:",formatList(p),""])}return l.join("\n")}padWidth(t,r){return Math.max(r.longestOptionTermLength(t,r),r.longestGlobalOptionTermLength(t,r),r.longestSubcommandTermLength(t,r),r.longestArgumentTermLength(t,r))}wrap(t,r,i,o=40){const a=" \\f\\t\\v - \ufeff";const c=new RegExp(`[\\n][${a}]+`);if(t.match(c))return t;const l=r-i;if(l<o)return t;const u=t.slice(0,i);const h=t.slice(i).replace("\r\n","\n");const d=" ".repeat(i);const p="";const m=`\\s${p}`;const g=new RegExp(`\n|.{1,${l-1}}([${m}]|$)|[^${m}]+?([${m}]|$)`,"g");const y=h.match(g)||[];return u+y.map(((t,r)=>{if(t==="\n")return"";return(r>0?d:"")+t.trimEnd()})).join("\n")}}r.Help=Help},5240:(t,r,i)=>{const{InvalidArgumentError:o}=i(1135);class Option{constructor(t,r){this.flags=t;this.description=r||"";this.required=t.includes("<");this.optional=t.includes("[");this.variadic=/\w\.\.\.[>\]]$/.test(t);this.mandatory=false;const i=splitOptionFlags(t);this.short=i.shortFlag;this.long=i.longFlag;this.negate=false;if(this.long){this.negate=this.long.startsWith("--no-")}this.defaultValue=undefined;this.defaultValueDescription=undefined;this.presetArg=undefined;this.envVar=undefined;this.parseArg=undefined;this.hidden=false;this.argChoices=undefined;this.conflictsWith=[];this.implied=undefined}default(t,r){this.defaultValue=t;this.defaultValueDescription=r;return this}preset(t){this.presetArg=t;return this}conflicts(t){this.conflictsWith=this.conflictsWith.concat(t);return this}implies(t){let r=t;if(typeof t==="string"){r={[t]:true}}this.implied=Object.assign(this.implied||{},r);return this}env(t){this.envVar=t;return this}argParser(t){this.parseArg=t;return this}makeOptionMandatory(t=true){this.mandatory=!!t;return this}hideHelp(t=true){this.hidden=!!t;return this}_concatValue(t,r){if(r===this.defaultValue||!Array.isArray(r)){return[t]}return r.concat(t)}choices(t){this.argChoices=t.slice();this.parseArg=(t,r)=>{if(!this.argChoices.includes(t)){throw new o(`Allowed choices are ${this.argChoices.join(", ")}.`)}if(this.variadic){return this._concatValue(t,r)}return t};return this}name(){if(this.long){return this.long.replace(/^--/,"")}return this.short.replace(/^-/,"")}attributeName(){return camelcase(this.name().replace(/^no-/,""))}is(t){return this.short===t||this.long===t}isBoolean(){return!this.required&&!this.optional&&!this.negate}}class DualOptions{constructor(t){this.positiveOptions=new Map;this.negativeOptions=new Map;this.dualOptions=new Set;t.forEach((t=>{if(t.negate){this.negativeOptions.set(t.attributeName(),t)}else{this.positiveOptions.set(t.attributeName(),t)}}));this.negativeOptions.forEach(((t,r)=>{if(this.positiveOptions.has(r)){this.dualOptions.add(r)}}))}valueFromOption(t,r){const i=r.attributeName();if(!this.dualOptions.has(i))return true;const o=this.negativeOptions.get(i).presetArg;const a=o!==undefined?o:false;return r.negate===(a===t)}}function camelcase(t){return t.split("-").reduce(((t,r)=>t+r[0].toUpperCase()+r.slice(1)))}function splitOptionFlags(t){let r;let i;const o=t.split(/[ |,]+/);if(o.length>1&&!/^[[<]/.test(o[1]))r=o.shift();i=o.shift();if(!r&&/^-[^-]$/.test(i)){r=i;i=undefined}return{shortFlag:r,longFlag:i}}r.Option=Option;r.DualOptions=DualOptions},5030:(t,r)=>{const i=3;function editDistance(t,r){if(Math.abs(t.length-r.length)>i)return Math.max(t.length,r.length);const o=[];for(let r=0;r<=t.length;r++){o[r]=[r]}for(let t=0;t<=r.length;t++){o[0][t]=t}for(let i=1;i<=r.length;i++){for(let a=1;a<=t.length;a++){let c=1;if(t[a-1]===r[i-1]){c=0}else{c=1}o[a][i]=Math.min(o[a-1][i]+1,o[a][i-1]+1,o[a-1][i-1]+c);if(a>1&&i>1&&t[a-1]===r[i-2]&&t[a-2]===r[i-1]){o[a][i]=Math.min(o[a][i],o[a-2][i-2]+1)}}}return o[t.length][r.length]}function suggestSimilar(t,r){if(!r||r.length===0)return"";r=Array.from(new Set(r));const o=t.startsWith("--");if(o){t=t.slice(2);r=r.map((t=>t.slice(2)))}let a=[];let c=i;const l=.4;r.forEach((r=>{if(r.length<=1)return;const i=editDistance(t,r);const o=Math.max(t.length,r.length);const u=(o-i)/o;if(u>l){if(i<c){c=i;a=[r]}else if(i===c){a.push(r)}}}));a.sort(((t,r)=>t.localeCompare(r)));if(o){a=a.map((t=>`--${t}`))}if(a.length>1){return`\n(Did you mean one of ${a.join(", ")}?)`}if(a.length===1){return`\n(Did you mean ${a[0]}?)`}return""}r.suggestSimilar=suggestSimilar},3770:t=>{"use strict";t.exports=JSON.parse('{"$id":"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#","description":"Meta-schema for $data reference (JSON AnySchema extension proposal)","type":"object","required":["$data"],"properties":{"$data":{"type":"string","anyOf":[{"format":"relative-json-pointer"},{"format":"json-pointer"}]}},"additionalProperties":false}')},13:t=>{"use strict";t.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/applicator","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/applicator":true},"$dynamicAnchor":"meta","title":"Applicator vocabulary meta-schema","type":["object","boolean"],"properties":{"prefixItems":{"$ref":"#/$defs/schemaArray"},"items":{"$dynamicRef":"#meta"},"contains":{"$dynamicRef":"#meta"},"additionalProperties":{"$dynamicRef":"#meta"},"properties":{"type":"object","additionalProperties":{"$dynamicRef":"#meta"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$dynamicRef":"#meta"},"propertyNames":{"format":"regex"},"default":{}},"dependentSchemas":{"type":"object","additionalProperties":{"$dynamicRef":"#meta"},"default":{}},"propertyNames":{"$dynamicRef":"#meta"},"if":{"$dynamicRef":"#meta"},"then":{"$dynamicRef":"#meta"},"else":{"$dynamicRef":"#meta"},"allOf":{"$ref":"#/$defs/schemaArray"},"anyOf":{"$ref":"#/$defs/schemaArray"},"oneOf":{"$ref":"#/$defs/schemaArray"},"not":{"$dynamicRef":"#meta"}},"$defs":{"schemaArray":{"type":"array","minItems":1,"items":{"$dynamicRef":"#meta"}}}}')},2394:t=>{"use strict";t.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/content","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/content":true},"$dynamicAnchor":"meta","title":"Content vocabulary meta-schema","type":["object","boolean"],"properties":{"contentEncoding":{"type":"string"},"contentMediaType":{"type":"string"},"contentSchema":{"$dynamicRef":"#meta"}}}')},4771:t=>{"use strict";t.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/core","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/core":true},"$dynamicAnchor":"meta","title":"Core vocabulary meta-schema","type":["object","boolean"],"properties":{"$id":{"$ref":"#/$defs/uriReferenceString","$comment":"Non-empty fragments not allowed.","pattern":"^[^#]*#?$"},"$schema":{"$ref":"#/$defs/uriString"},"$ref":{"$ref":"#/$defs/uriReferenceString"},"$anchor":{"$ref":"#/$defs/anchorString"},"$dynamicRef":{"$ref":"#/$defs/uriReferenceString"},"$dynamicAnchor":{"$ref":"#/$defs/anchorString"},"$vocabulary":{"type":"object","propertyNames":{"$ref":"#/$defs/uriString"},"additionalProperties":{"type":"boolean"}},"$comment":{"type":"string"},"$defs":{"type":"object","additionalProperties":{"$dynamicRef":"#meta"}}},"$defs":{"anchorString":{"type":"string","pattern":"^[A-Za-z_][-A-Za-z0-9._]*$"},"uriString":{"type":"string","format":"uri"},"uriReferenceString":{"type":"string","format":"uri-reference"}}}')},9567:t=>{"use strict";t.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/format-annotation","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/format-annotation":true},"$dynamicAnchor":"meta","title":"Format vocabulary meta-schema for annotation results","type":["object","boolean"],"properties":{"format":{"type":"string"}}}')},8364:t=>{"use strict";t.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/meta-data","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/meta-data":true},"$dynamicAnchor":"meta","title":"Meta-data vocabulary meta-schema","type":["object","boolean"],"properties":{"title":{"type":"string"},"description":{"type":"string"},"default":true,"deprecated":{"type":"boolean","default":false},"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true}}}')},7388:t=>{"use strict";t.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/unevaluated","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/unevaluated":true},"$dynamicAnchor":"meta","title":"Unevaluated applicator vocabulary meta-schema","type":["object","boolean"],"properties":{"unevaluatedItems":{"$dynamicRef":"#meta"},"unevaluatedProperties":{"$dynamicRef":"#meta"}}}')},2943:t=>{"use strict";t.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/validation","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/validation":true},"$dynamicAnchor":"meta","title":"Validation vocabulary meta-schema","type":["object","boolean"],"properties":{"type":{"anyOf":[{"$ref":"#/$defs/simpleTypes"},{"type":"array","items":{"$ref":"#/$defs/simpleTypes"},"minItems":1,"uniqueItems":true}]},"const":true,"enum":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/$defs/nonNegativeInteger"},"minLength":{"$ref":"#/$defs/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"maxItems":{"$ref":"#/$defs/nonNegativeInteger"},"minItems":{"$ref":"#/$defs/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"maxContains":{"$ref":"#/$defs/nonNegativeInteger"},"minContains":{"$ref":"#/$defs/nonNegativeInteger","default":1},"maxProperties":{"$ref":"#/$defs/nonNegativeInteger"},"minProperties":{"$ref":"#/$defs/nonNegativeIntegerDefault0"},"required":{"$ref":"#/$defs/stringArray"},"dependentRequired":{"type":"object","additionalProperties":{"$ref":"#/$defs/stringArray"}}},"$defs":{"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"$ref":"#/$defs/nonNegativeInteger","default":0},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}}}')},6261:t=>{"use strict";t.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/schema","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/core":true,"https://json-schema.org/draft/2020-12/vocab/applicator":true,"https://json-schema.org/draft/2020-12/vocab/unevaluated":true,"https://json-schema.org/draft/2020-12/vocab/validation":true,"https://json-schema.org/draft/2020-12/vocab/meta-data":true,"https://json-schema.org/draft/2020-12/vocab/format-annotation":true,"https://json-schema.org/draft/2020-12/vocab/content":true},"$dynamicAnchor":"meta","title":"Core and Validation specifications meta-schema","allOf":[{"$ref":"meta/core"},{"$ref":"meta/applicator"},{"$ref":"meta/unevaluated"},{"$ref":"meta/validation"},{"$ref":"meta/meta-data"},{"$ref":"meta/format-annotation"},{"$ref":"meta/content"}],"type":["object","boolean"],"$comment":"This meta-schema also defines keywords that have appeared in previous drafts in order to prevent incompatible extensions as they remain in common use.","properties":{"definitions":{"$comment":"\\"definitions\\" has been replaced by \\"$defs\\".","type":"object","additionalProperties":{"$dynamicRef":"#meta"},"deprecated":true,"default":{}},"dependencies":{"$comment":"\\"dependencies\\" has been split and replaced by \\"dependentSchemas\\" and \\"dependentRequired\\" in order to serve their differing semantics.","type":"object","additionalProperties":{"anyOf":[{"$dynamicRef":"#meta"},{"$ref":"meta/validation#/$defs/stringArray"}]},"deprecated":true,"default":{}},"$recursiveAnchor":{"$comment":"\\"$recursiveAnchor\\" has been replaced by \\"$dynamicAnchor\\".","$ref":"meta/core#/$defs/anchorString","deprecated":true},"$recursiveRef":{"$comment":"\\"$recursiveRef\\" has been replaced by \\"$dynamicRef\\".","$ref":"meta/core#/$defs/uriReferenceString","deprecated":true}}}')},3928:t=>{"use strict";t.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"http://json-schema.org/draft-07/schema#","title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#"},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#"},"maxProperties":{"$ref":"#/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"$ref":"#"},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"propertyNames":{"$ref":"#"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#"},"then":{"$ref":"#"},"else":{"$ref":"#"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":true}')},2040:t=>{"use strict";t.exports=JSON.parse('[{"name":"Agola CI","constant":"AGOLA","env":"AGOLA_GIT_REF","pr":"AGOLA_PULL_REQUEST_ID"},{"name":"Appcircle","constant":"APPCIRCLE","env":"AC_APPCIRCLE"},{"name":"AppVeyor","constant":"APPVEYOR","env":"APPVEYOR","pr":"APPVEYOR_PULL_REQUEST_NUMBER"},{"name":"AWS CodeBuild","constant":"CODEBUILD","env":"CODEBUILD_BUILD_ARN"},{"name":"Azure Pipelines","constant":"AZURE_PIPELINES","env":"TF_BUILD","pr":{"BUILD_REASON":"PullRequest"}},{"name":"Bamboo","constant":"BAMBOO","env":"bamboo_planKey"},{"name":"Bitbucket Pipelines","constant":"BITBUCKET","env":"BITBUCKET_COMMIT","pr":"BITBUCKET_PR_ID"},{"name":"Bitrise","constant":"BITRISE","env":"BITRISE_IO","pr":"BITRISE_PULL_REQUEST"},{"name":"Buddy","constant":"BUDDY","env":"BUDDY_WORKSPACE_ID","pr":"BUDDY_EXECUTION_PULL_REQUEST_ID"},{"name":"Buildkite","constant":"BUILDKITE","env":"BUILDKITE","pr":{"env":"BUILDKITE_PULL_REQUEST","ne":"false"}},{"name":"CircleCI","constant":"CIRCLE","env":"CIRCLECI","pr":"CIRCLE_PULL_REQUEST"},{"name":"Cirrus CI","constant":"CIRRUS","env":"CIRRUS_CI","pr":"CIRRUS_PR"},{"name":"Codefresh","constant":"CODEFRESH","env":"CF_BUILD_ID","pr":{"any":["CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_ID"]}},{"name":"Codemagic","constant":"CODEMAGIC","env":"CM_BUILD_ID","pr":"CM_PULL_REQUEST"},{"name":"Codeship","constant":"CODESHIP","env":{"CI_NAME":"codeship"}},{"name":"Drone","constant":"DRONE","env":"DRONE","pr":{"DRONE_BUILD_EVENT":"pull_request"}},{"name":"dsari","constant":"DSARI","env":"DSARI"},{"name":"Earthly","constant":"EARTHLY","env":"EARTHLY_CI"},{"name":"Expo Application Services","constant":"EAS","env":"EAS_BUILD"},{"name":"Gerrit","constant":"GERRIT","env":"GERRIT_PROJECT"},{"name":"Gitea Actions","constant":"GITEA_ACTIONS","env":"GITEA_ACTIONS"},{"name":"GitHub Actions","constant":"GITHUB_ACTIONS","env":"GITHUB_ACTIONS","pr":{"GITHUB_EVENT_NAME":"pull_request"}},{"name":"GitLab CI","constant":"GITLAB","env":"GITLAB_CI","pr":"CI_MERGE_REQUEST_ID"},{"name":"GoCD","constant":"GOCD","env":"GO_PIPELINE_LABEL"},{"name":"Google Cloud Build","constant":"GOOGLE_CLOUD_BUILD","env":"BUILDER_OUTPUT"},{"name":"Harness CI","constant":"HARNESS","env":"HARNESS_BUILD_ID"},{"name":"Heroku","constant":"HEROKU","env":{"env":"NODE","includes":"/app/.heroku/node/bin/node"}},{"name":"Hudson","constant":"HUDSON","env":"HUDSON_URL"},{"name":"Jenkins","constant":"JENKINS","env":["JENKINS_URL","BUILD_ID"],"pr":{"any":["ghprbPullId","CHANGE_ID"]}},{"name":"LayerCI","constant":"LAYERCI","env":"LAYERCI","pr":"LAYERCI_PULL_REQUEST"},{"name":"Magnum CI","constant":"MAGNUM","env":"MAGNUM"},{"name":"Netlify CI","constant":"NETLIFY","env":"NETLIFY","pr":{"env":"PULL_REQUEST","ne":"false"}},{"name":"Nevercode","constant":"NEVERCODE","env":"NEVERCODE","pr":{"env":"NEVERCODE_PULL_REQUEST","ne":"false"}},{"name":"Prow","constant":"PROW","env":"PROW_JOB_ID"},{"name":"ReleaseHub","constant":"RELEASEHUB","env":"RELEASE_BUILD_ID"},{"name":"Render","constant":"RENDER","env":"RENDER","pr":{"IS_PULL_REQUEST":"true"}},{"name":"Sail CI","constant":"SAIL","env":"SAILCI","pr":"SAIL_PULL_REQUEST_NUMBER"},{"name":"Screwdriver","constant":"SCREWDRIVER","env":"SCREWDRIVER","pr":{"env":"SD_PULL_REQUEST","ne":"false"}},{"name":"Semaphore","constant":"SEMAPHORE","env":"SEMAPHORE","pr":"PULL_REQUEST_NUMBER"},{"name":"Sourcehut","constant":"SOURCEHUT","env":{"CI_NAME":"sourcehut"}},{"name":"Strider CD","constant":"STRIDER","env":"STRIDER"},{"name":"TaskCluster","constant":"TASKCLUSTER","env":["TASK_ID","RUN_ID"]},{"name":"TeamCity","constant":"TEAMCITY","env":"TEAMCITY_VERSION"},{"name":"Travis CI","constant":"TRAVIS","env":"TRAVIS","pr":{"env":"TRAVIS_PULL_REQUEST","ne":"false"}},{"name":"Vela","constant":"VELA","env":"VELA","pr":{"VELA_PULL_REQUEST":"1"}},{"name":"Vercel","constant":"VERCEL","env":{"any":["NOW_BUILDER","VERCEL"]},"pr":"VERCEL_GIT_PULL_REQUEST_ID"},{"name":"Visual Studio App Center","constant":"APPCENTER","env":"APPCENTER_BUILD_ID"},{"name":"Woodpecker","constant":"WOODPECKER","env":{"CI":"woodpecker"},"pr":{"CI_BUILD_EVENT":"pull_request"}},{"name":"Xcode Cloud","constant":"XCODE_CLOUD","env":"CI_XCODE_PROJECT","pr":"CI_PULL_REQUEST_NUMBER"},{"name":"Xcode Server","constant":"XCODE_SERVER","env":"XCS"}]')}};var r={};function __nccwpck_require__(i){var o=r[i];if(o!==undefined){return o.exports}var a=r[i]={exports:{}};var c=true;try{t[i](a,a.exports,__nccwpck_require__);c=false}finally{if(c)delete r[i]}return a.exports}(()=>{__nccwpck_require__.n=t=>{var r=t&&t.__esModule?()=>t["default"]:()=>t;__nccwpck_require__.d(r,{a:r});return r}})();(()=>{__nccwpck_require__.d=(t,r)=>{for(var i in r){if(__nccwpck_require__.o(r,i)&&!__nccwpck_require__.o(t,i)){Object.defineProperty(t,i,{enumerable:true,get:r[i]})}}}})();(()=>{__nccwpck_require__.o=(t,r)=>Object.prototype.hasOwnProperty.call(t,r)})();if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var i={};(()=>{"use strict";var t=__nccwpck_require__(6395);var r=__nccwpck_require__.n(t);var i=__nccwpck_require__(8909);const{DM:o,gu:a,er:c,Ww:l,b7:u,Di:h,a2:d,uB:p,ef:m,c$:g,_V:y}=i;const v=require("node:util");var b=__nccwpck_require__(1708);var w=__nccwpck_require__(3024);var E=__nccwpck_require__(6760);const S=require("node:crypto");const $=require("node:assert");const isObject=t=>{const r=typeof t;return t!==null&&(r==="object"||r==="function")};const isEmptyObject=t=>isObject(t)&&Object.keys(t).length===0;const R=new Set(["__proto__","prototype","constructor"]);const P=new Set("0123456789");function getPathSegments(t){const r=[];let i="";let o="start";let a=false;for(const c of t){switch(c){case"\\":{if(o==="index"){throw new Error("Invalid character in an index")}if(o==="indexEnd"){throw new Error("Invalid character after an index")}if(a){i+=c}o="property";a=!a;break}case".":{if(o==="index"){throw new Error("Invalid character in an index")}if(o==="indexEnd"){o="property";break}if(a){a=false;i+=c;break}if(R.has(i)){return[]}r.push(i);i="";o="property";break}case"[":{if(o==="index"){throw new Error("Invalid character in an index")}if(o==="indexEnd"){o="index";break}if(a){a=false;i+=c;break}if(o==="property"){if(R.has(i)){return[]}r.push(i);i=""}o="index";break}case"]":{if(o==="index"){r.push(Number.parseInt(i,10));i="";o="indexEnd";break}if(o==="indexEnd"){throw new Error("Invalid character after an index")}}default:{if(o==="index"&&!P.has(c)){throw new Error("Invalid character in an index")}if(o==="indexEnd"){throw new Error("Invalid character after an index")}if(o==="start"){o="property"}if(a){a=false;i+="\\"}i+=c}}}if(a){i+="\\"}switch(o){case"property":{if(R.has(i)){return[]}r.push(i);break}case"index":{throw new Error("Index was not closed")}case"start":{r.push("");break}}return r}function isStringIndex(t,r){if(typeof r!=="number"&&Array.isArray(t)){const i=Number.parseInt(r,10);return Number.isInteger(i)&&t[i]===t[r]}return false}function assertNotStringIndex(t,r){if(isStringIndex(t,r)){throw new Error("Cannot use string index")}}function getProperty(t,r,i){if(!isObject(t)||typeof r!=="string"){return i===undefined?t:i}const o=getPathSegments(r);if(o.length===0){return i}for(let r=0;r<o.length;r++){const a=o[r];if(isStringIndex(t,a)){t=r===o.length-1?undefined:null}else{t=t[a]}if(t===undefined||t===null){if(r!==o.length-1){return i}break}}return t===undefined?i:t}function setProperty(t,r,i){if(!isObject(t)||typeof r!=="string"){return t}const o=t;const a=getPathSegments(r);for(let r=0;r<a.length;r++){const o=a[r];assertNotStringIndex(t,o);if(r===a.length-1){t[o]=i}else if(!isObject(t[o])){t[o]=typeof a[r+1]==="number"?[]:{}}t=t[o]}return o}function deleteProperty(t,r){if(!isObject(t)||typeof r!=="string"){return false}const i=getPathSegments(r);for(let r=0;r<i.length;r++){const o=i[r];assertNotStringIndex(t,o);if(r===i.length-1){delete t[o];return true}t=t[o];if(!isObject(t)){return false}}}function hasProperty(t,r){if(!isObject(t)||typeof r!=="string"){return false}const i=getPathSegments(r);if(i.length===0){return false}for(const r of i){if(!isObject(t)||!(r in t)||isStringIndex(t,r)){return false}t=t[r]}return true}function escapePath(t){if(typeof t!=="string"){throw new TypeError("Expected a string")}return t.replaceAll(/[\\.[]/g,"\\$&")}function entries(t){const r=Object.entries(t);if(Array.isArray(t)){return r.map((([t,r])=>[Number(t),r]))}return r}function stringifyPath(t){let r="";for(let[i,o]of entries(t)){if(typeof o==="number"){r+=`[${o}]`}else{o=escapePath(o);r+=i===0?o:`.${o}`}}return r}function*deepKeysIterator(t,r=[]){if(!isObject(t)||isEmptyObject(t)){if(r.length>0){yield stringifyPath(r)}return}for(const[i,o]of entries(t)){yield*deepKeysIterator(o,[...r,i])}}function deepKeys(t){return[...deepKeysIterator(t)]}const O=require("node:os");const A=O.homedir();const x=O.tmpdir();const{env:T}=b;const macos=t=>{const r=E.join(A,"Library");return{data:E.join(r,"Application Support",t),config:E.join(r,"Preferences",t),cache:E.join(r,"Caches",t),log:E.join(r,"Logs",t),temp:E.join(x,t)}};const windows=t=>{const r=T.APPDATA||E.join(A,"AppData","Roaming");const i=T.LOCALAPPDATA||E.join(A,"AppData","Local");return{data:E.join(i,t,"Data"),config:E.join(r,t,"Config"),cache:E.join(i,t,"Cache"),log:E.join(i,t,"Log"),temp:E.join(x,t)}};const linux=t=>{const r=E.basename(A);return{data:E.join(T.XDG_DATA_HOME||E.join(A,".local","share"),t),config:E.join(T.XDG_CONFIG_HOME||E.join(A,".config"),t),cache:E.join(T.XDG_CACHE_HOME||E.join(A,".cache"),t),log:E.join(T.XDG_STATE_HOME||E.join(A,".local","state"),t),temp:E.join(x,r,t)}};function envPaths(t,{suffix:r="nodejs"}={}){if(typeof t!=="string"){throw new TypeError(`Expected a string, got ${typeof t}`)}if(r){t+=`-${r}`}if(b.platform==="darwin"){return macos(t)}if(b.platform==="win32"){return windows(t)}return linux(t)}const attemptifyAsync=(t,r)=>function attemptified(...i){return t.apply(undefined,i).catch(r)};const attemptifySync=(t,r)=>function attemptified(...i){try{return t.apply(undefined,i)}catch(t){return r(t)}};const k=b.getuid?!b.getuid():false;const C=1e4;const NOOP=()=>undefined;const I={isChangeErrorOk:t=>{if(!I.isNodeError(t))return false;const{code:r}=t;if(r==="ENOSYS")return true;if(!k&&(r==="EINVAL"||r==="EPERM"))return true;return false},isNodeError:t=>t instanceof Error,isRetriableError:t=>{if(!I.isNodeError(t))return false;const{code:r}=t;if(r==="EMFILE"||r==="ENFILE"||r==="EAGAIN"||r==="EBUSY"||r==="EACCESS"||r==="EACCES"||r==="EACCS"||r==="EPERM")return true;return false},onChangeError:t=>{if(!I.isNodeError(t))throw t;if(I.isChangeErrorOk(t))return;throw t}};const N=I;class RetryfyQueue{constructor(){this.interval=25;this.intervalId=undefined;this.limit=C;this.queueActive=new Set;this.queueWaiting=new Set;this.init=()=>{if(this.intervalId)return;this.intervalId=setInterval(this.tick,this.interval)};this.reset=()=>{if(!this.intervalId)return;clearInterval(this.intervalId);delete this.intervalId};this.add=t=>{this.queueWaiting.add(t);if(this.queueActive.size<this.limit/2){this.tick()}else{this.init()}};this.remove=t=>{this.queueWaiting.delete(t);this.queueActive.delete(t)};this.schedule=()=>new Promise((t=>{const cleanup=()=>this.remove(resolver);const resolver=()=>t(cleanup);this.add(resolver)}));this.tick=()=>{if(this.queueActive.size>=this.limit)return;if(!this.queueWaiting.size)return this.reset();for(const t of this.queueWaiting){if(this.queueActive.size>=this.limit)break;this.queueWaiting.delete(t);this.queueActive.add(t);t()}}}}const D=new RetryfyQueue;const retryifyAsync=(t,r)=>function retrified(i){return function attempt(...o){return D.schedule().then((a=>{const onResolve=t=>{a();return t};const onReject=t=>{a();if(Date.now()>=i)throw t;if(r(t)){const t=Math.round(100*Math.random());const r=new Promise((r=>setTimeout(r,t)));return r.then((()=>attempt.apply(undefined,o)))}throw t};return t.apply(undefined,o).then(onResolve,onReject)}))}};const retryifySync=(t,r)=>function retrified(i){return function attempt(...o){try{return t.apply(undefined,o)}catch(t){if(Date.now()>i)throw t;if(r(t))return attempt.apply(undefined,o);throw t}}};const L={attempt:{chmod:attemptifyAsync((0,v.promisify)(w.chmod),N.onChangeError),chown:attemptifyAsync((0,v.promisify)(w.chown),N.onChangeError),close:attemptifyAsync((0,v.promisify)(w.close),NOOP),fsync:attemptifyAsync((0,v.promisify)(w.fsync),NOOP),mkdir:attemptifyAsync((0,v.promisify)(w.mkdir),NOOP),realpath:attemptifyAsync((0,v.promisify)(w.realpath),NOOP),stat:attemptifyAsync((0,v.promisify)(w.stat),NOOP),unlink:attemptifyAsync((0,v.promisify)(w.unlink),NOOP),chmodSync:attemptifySync(w.chmodSync,N.onChangeError),chownSync:attemptifySync(w.chownSync,N.onChangeError),closeSync:attemptifySync(w.closeSync,NOOP),existsSync:attemptifySync(w.existsSync,NOOP),fsyncSync:attemptifySync(w.fsync,NOOP),mkdirSync:attemptifySync(w.mkdirSync,NOOP),realpathSync:attemptifySync(w.realpathSync,NOOP),statSync:attemptifySync(w.statSync,NOOP),unlinkSync:attemptifySync(w.unlinkSync,NOOP)},retry:{close:retryifyAsync((0,v.promisify)(w.close),N.isRetriableError),fsync:retryifyAsync((0,v.promisify)(w.fsync),N.isRetriableError),open:retryifyAsync((0,v.promisify)(w.open),N.isRetriableError),readFile:retryifyAsync((0,v.promisify)(w.readFile),N.isRetriableError),rename:retryifyAsync((0,v.promisify)(w.rename),N.isRetriableError),stat:retryifyAsync((0,v.promisify)(w.stat),N.isRetriableError),write:retryifyAsync((0,v.promisify)(w.write),N.isRetriableError),writeFile:retryifyAsync((0,v.promisify)(w.writeFile),N.isRetriableError),closeSync:retryifySync(w.closeSync,N.isRetriableError),fsyncSync:retryifySync(w.fsyncSync,N.isRetriableError),openSync:retryifySync(w.openSync,N.isRetriableError),readFileSync:retryifySync(w.readFileSync,N.isRetriableError),renameSync:retryifySync(w.renameSync,N.isRetriableError),statSync:retryifySync(w.statSync,N.isRetriableError),writeSync:retryifySync(w.writeSync,N.isRetriableError),writeFileSync:retryifySync(w.writeFileSync,N.isRetriableError)}};const M=L;const j="utf8";const U=438;const B=511;const H={};const V={};const z=O.userInfo().uid;const G=O.userInfo().gid;const q=7500;const W=1e3;const K=!!b.getuid;const Y=b.getuid?!b.getuid():false;const Z=128;const X=1e4;const constants_NOOP=()=>{};const lang_isException=t=>t instanceof Error&&"code"in t;const lang_isFunction=t=>typeof t==="function";const lang_isString=t=>typeof t==="string";const lang_isUndefined=t=>t===undefined;const J={};const Q={next:t=>{const r=J[t];if(!r)return;r.shift();const i=r[0];if(i){i((()=>Q.next(t)))}else{delete J[t]}},schedule:t=>new Promise((r=>{let i=J[t];if(!i)i=J[t]=[];i.push(r);if(i.length>1)return;r((()=>Q.next(t)))}))};const ee=null&&Q;const te=b.platform==="linux";const re=b.platform==="win32";const se=["SIGABRT","SIGALRM","SIGHUP","SIGINT","SIGTERM"];if(!re){se.push("SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT")}if(te){se.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT","SIGUNUSED")}const ne=se;class Interceptor{constructor(){this.callbacks=new Set;this.exited=false;this.exit=t=>{if(this.exited)return;this.exited=true;for(const t of this.callbacks){t()}if(t){if(re&&(t!=="SIGINT"&&t!=="SIGTERM"&&t!=="SIGKILL")){b.kill(b.pid,"SIGTERM")}else{b.kill(b.pid,t)}}};this.hook=()=>{b.once("exit",(()=>this.exit()));for(const t of ne){try{b.once(t,(()=>this.exit(t)))}catch{}}};this.register=t=>{this.callbacks.add(t);return()=>{this.callbacks.delete(t)}};this.hook()}}const ie=new Interceptor;const oe=ie.register;const ae=oe;const ce={store:{},create:t=>{const r=`000000${Math.floor(Math.random()*16777215).toString(16)}`.slice(-6);const i=Date.now().toString().slice(-10);const o="tmp-";const a=`.${o}${i}${r}`;const c=`${t}${a}`;return c},get:(t,r,i=true)=>{const o=ce.truncate(r(t));if(o in ce.store)return ce.get(t,r,i);ce.store[o]=i;const disposer=()=>delete ce.store[o];return[o,disposer]},purge:t=>{if(!ce.store[t])return;delete ce.store[t];M.attempt.unlink(t)},purgeSync:t=>{if(!ce.store[t])return;delete ce.store[t];M.attempt.unlinkSync(t)},purgeSyncAll:()=>{for(const t in ce.store){ce.purgeSync(t)}},truncate:t=>{const r=E.basename(t);if(r.length<=Z)return t;const i=/^(\.?)(.*?)((?:\.[^.]+)?(?:\.tmp-\d{10}[a-f0-9]{6})?)$/.exec(r);if(!i)return t;const o=r.length-Z;return`${t.slice(0,-r.length)}${i[1]}${i[2].slice(0,-o)}${i[3]}`}};ae(ce.purgeSyncAll);const le=ce;function readFile(t,r=DEFAULT_READ_OPTIONS){if(isString(r))return readFile(t,{encoding:r});const i=Date.now()+((r.timeout??DEFAULT_TIMEOUT_ASYNC)||-1);return fs.retry.readFile(i)(t,r)}function readFileSync(t,r=DEFAULT_READ_OPTIONS){if(isString(r))return readFileSync(t,{encoding:r});const i=Date.now()+((r.timeout??DEFAULT_TIMEOUT_SYNC)||-1);return fs.retry.readFileSync(i)(t,r)}function writeFile(t,r,i,o){if(isFunction(i))return writeFile(t,r,DEFAULT_WRITE_OPTIONS,i);const a=writeFileAsync(t,r,i);if(o)a.then(o,o);return a}async function writeFileAsync(t,r,i=DEFAULT_WRITE_OPTIONS){if(isString(i))return writeFileAsync(t,r,{encoding:i});const o=Date.now()+((i.timeout??DEFAULT_TIMEOUT_ASYNC)||-1);let a=null;let c=null;let l=null;let u=null;let h=null;try{if(i.schedule)a=await i.schedule(t);c=await Scheduler.schedule(t);const d=await fs.attempt.realpath(t);const p=!!d;t=d||t;[u,l]=Temp.get(t,i.tmpCreate||Temp.create,!(i.tmpPurge===false));const m=IS_POSIX&&isUndefined(i.chown);const g=isUndefined(i.mode);if(p&&(m||g)){const r=await fs.attempt.stat(t);if(r){i={...i};if(m){i.chown={uid:r.uid,gid:r.gid}}if(g){i.mode=r.mode}}}if(!p){const r=path.dirname(t);await fs.attempt.mkdir(r,{mode:DEFAULT_FOLDER_MODE,recursive:true})}h=await fs.retry.open(o)(u,"w",i.mode||DEFAULT_FILE_MODE);if(i.tmpCreated){i.tmpCreated(u)}if(isString(r)){await fs.retry.write(o)(h,r,0,i.encoding||DEFAULT_ENCODING)}else if(!isUndefined(r)){await fs.retry.write(o)(h,r,0,r.length,0)}if(i.fsync!==false){if(i.fsyncWait!==false){await fs.retry.fsync(o)(h)}else{fs.attempt.fsync(h)}}await fs.retry.close(o)(h);h=null;if(i.chown&&(i.chown.uid!==DEFAULT_USER_UID||i.chown.gid!==DEFAULT_USER_GID)){await fs.attempt.chown(u,i.chown.uid,i.chown.gid)}if(i.mode&&i.mode!==DEFAULT_FILE_MODE){await fs.attempt.chmod(u,i.mode)}try{await fs.retry.rename(o)(u,t)}catch(r){if(!isException(r))throw r;if(r.code!=="ENAMETOOLONG")throw r;await fs.retry.rename(o)(u,Temp.truncate(t))}l();u=null}finally{if(h)await fs.attempt.close(h);if(u)Temp.purge(u);if(a)a();if(c)c()}}function writeFileSync(t,r,i=V){if(lang_isString(i))return writeFileSync(t,r,{encoding:i});const o=Date.now()+((i.timeout??W)||-1);let a=null;let c=null;let l=null;try{const u=M.attempt.realpathSync(t);const h=!!u;t=u||t;[c,a]=le.get(t,i.tmpCreate||le.create,!(i.tmpPurge===false));const d=K&&lang_isUndefined(i.chown);const p=lang_isUndefined(i.mode);if(h&&(d||p)){const r=M.attempt.statSync(t);if(r){i={...i};if(d){i.chown={uid:r.uid,gid:r.gid}}if(p){i.mode=r.mode}}}if(!h){const r=E.dirname(t);M.attempt.mkdirSync(r,{mode:B,recursive:true})}l=M.retry.openSync(o)(c,"w",i.mode||U);if(i.tmpCreated){i.tmpCreated(c)}if(lang_isString(r)){M.retry.writeSync(o)(l,r,0,i.encoding||j)}else if(!lang_isUndefined(r)){M.retry.writeSync(o)(l,r,0,r.length,0)}if(i.fsync!==false){if(i.fsyncWait!==false){M.retry.fsyncSync(o)(l)}else{M.attempt.fsync(l)}}M.retry.closeSync(o)(l);l=null;if(i.chown&&(i.chown.uid!==z||i.chown.gid!==G)){M.attempt.chownSync(c,i.chown.uid,i.chown.gid)}if(i.mode&&i.mode!==U){M.attempt.chmodSync(c,i.mode)}try{M.retry.renameSync(o)(c,t)}catch(r){if(!lang_isException(r))throw r;if(r.code!=="ENAMETOOLONG")throw r;M.retry.renameSync(o)(c,le.truncate(t))}a();c=null}finally{if(l)M.attempt.closeSync(l);if(c)le.purge(c)}}var ue=__nccwpck_require__(939);var he=__nccwpck_require__(2815);const copyProperty=(t,r,i,o)=>{if(i==="length"||i==="prototype"){return}if(i==="arguments"||i==="caller"){return}const a=Object.getOwnPropertyDescriptor(t,i);const c=Object.getOwnPropertyDescriptor(r,i);if(!canCopyProperty(a,c)&&o){return}Object.defineProperty(t,i,c)};const canCopyProperty=function(t,r){return t===undefined||t.configurable||t.writable===r.writable&&t.enumerable===r.enumerable&&t.configurable===r.configurable&&(t.writable||t.value===r.value)};const changePrototype=(t,r)=>{const i=Object.getPrototypeOf(r);if(i===Object.getPrototypeOf(t)){return}Object.setPrototypeOf(t,i)};const wrappedToString=(t,r)=>`/* Wrapped ${t}*/\n${r}`;const fe=Object.getOwnPropertyDescriptor(Function.prototype,"toString");const de=Object.getOwnPropertyDescriptor(Function.prototype.toString,"name");const changeToString=(t,r,i)=>{const o=i===""?"":`with ${i.trim()}() `;const a=wrappedToString.bind(null,o,r.toString());Object.defineProperty(a,"name",de);const{writable:c,enumerable:l,configurable:u}=fe;Object.defineProperty(t,"toString",{value:a,writable:c,enumerable:l,configurable:u})};function mimicFunction(t,r,{ignoreNonConfigurable:i=false}={}){const{name:o}=t;for(const o of Reflect.ownKeys(r)){copyProperty(t,r,o,i)}changePrototype(t,r);changeToString(t,r,o);return t}const debounceFunction=(t,r={})=>{if(typeof t!=="function"){throw new TypeError(`Expected the first argument to be a function, got \`${typeof t}\``)}const{wait:i=0,maxWait:o=Number.POSITIVE_INFINITY,before:a=false,after:c=true}=r;if(i<0||o<0){throw new RangeError("`wait` and `maxWait` must not be negative.")}if(!a&&!c){throw new Error("Both `before` and `after` are false, function wouldn't be called.")}let l;let u;let h;const debouncedFunction=function(...r){const d=this;const later=()=>{l=undefined;if(u){clearTimeout(u);u=undefined}if(c){h=t.apply(d,r)}};const maxLater=()=>{u=undefined;if(l){clearTimeout(l);l=undefined}if(c){h=t.apply(d,r)}};const p=a&&!l;clearTimeout(l);l=setTimeout(later,i);if(o>0&&o!==Number.POSITIVE_INFINITY&&!u){u=setTimeout(maxLater,o)}if(p){h=t.apply(d,r)}return h};mimicFunction(debouncedFunction,t);debouncedFunction.cancel=()=>{if(l){clearTimeout(l);l=undefined}if(u){clearTimeout(u);u=undefined}};return debouncedFunction};const pe=debounceFunction;var me=__nccwpck_require__(6723);const ge=Object.prototype.toString;const ye="[object Uint8Array]";const ve="[object ArrayBuffer]";function isType(t,r,i){if(!t){return false}if(t.constructor===r){return true}return ge.call(t)===i}function isUint8Array(t){return isType(t,Uint8Array,ye)}function isArrayBuffer(t){return isType(t,ArrayBuffer,ve)}function isUint8ArrayOrArrayBuffer(t){return isUint8Array(t)||isArrayBuffer(t)}function assertUint8Array(t){if(!isUint8Array(t)){throw new TypeError(`Expected \`Uint8Array\`, got \`${typeof t}\``)}}function assertUint8ArrayOrArrayBuffer(t){if(!isUint8ArrayOrArrayBuffer(t)){throw new TypeError(`Expected \`Uint8Array\` or \`ArrayBuffer\`, got \`${typeof t}\``)}}function toUint8Array(t){if(t instanceof ArrayBuffer){return new Uint8Array(t)}if(ArrayBuffer.isView(t)){return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}throw new TypeError(`Unsupported value, got \`${typeof t}\`.`)}function concatUint8Arrays(t,r){if(t.length===0){return new Uint8Array(0)}r??=t.reduce(((t,r)=>t+r.length),0);const i=new Uint8Array(r);let o=0;for(const r of t){assertUint8Array(r);i.set(r,o);o+=r.length}return i}function areUint8ArraysEqual(t,r){assertUint8Array(t);assertUint8Array(r);if(t===r){return true}if(t.length!==r.length){return false}for(let i=0;i<t.length;i++){if(t[i]!==r[i]){return false}}return true}function compareUint8Arrays(t,r){assertUint8Array(t);assertUint8Array(r);const i=Math.min(t.length,r.length);for(let o=0;o<i;o++){const i=t[o]-r[o];if(i!==0){return Math.sign(i)}}return Math.sign(t.length-r.length)}const _e={utf8:new globalThis.TextDecoder("utf8")};function uint8ArrayToString(t,r="utf8"){assertUint8ArrayOrArrayBuffer(t);_e[r]??=new globalThis.TextDecoder(r);return _e[r].decode(t)}function assertString(t){if(typeof t!=="string"){throw new TypeError(`Expected \`string\`, got \`${typeof t}\``)}}const be=new globalThis.TextEncoder;function stringToUint8Array(t){assertString(t);return be.encode(t)}function base64ToBase64Url(t){return t.replaceAll("+","-").replaceAll("/","_").replace(/=+$/,"")}function base64UrlToBase64(t){return t.replaceAll("-","+").replaceAll("_","/")}const we=65535;function uint8ArrayToBase64(t,{urlSafe:r=false}={}){assertUint8Array(t);let i;if(t.length<we){i=globalThis.btoa(String.fromCodePoint.apply(this,t))}else{i="";for(const r of t){i+=String.fromCodePoint(r)}i=globalThis.btoa(i)}return r?base64ToBase64Url(i):i}function base64ToUint8Array(t){assertString(t);return Uint8Array.from(globalThis.atob(base64UrlToBase64(t)),(t=>t.codePointAt(0)))}function stringToBase64(t,{urlSafe:r=false}={}){assertString(t);return uint8ArrayToBase64(stringToUint8Array(t),{urlSafe:r})}function base64ToString(t){assertString(t);return uint8ArrayToString(base64ToUint8Array(t))}const Ee=Array.from({length:256},((t,r)=>r.toString(16).padStart(2,"0")));function uint8ArrayToHex(t){assertUint8Array(t);let r="";for(let i=0;i<t.length;i++){r+=Ee[t[i]]}return r}const Se={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,b:11,c:12,d:13,e:14,f:15,A:10,B:11,C:12,D:13,E:14,F:15};function hexToUint8Array(t){assertString(t);if(t.length%2!==0){throw new Error("Invalid Hex string length.")}const r=t.length/2;const i=new Uint8Array(r);for(let o=0;o<r;o++){const r=Se[t[o*2]];const a=Se[t[o*2+1]];if(r===undefined||a===undefined){throw new Error(`Invalid Hex character encountered at position ${o*2}`)}i[o]=r<<4|a}return i}function getUintBE(t){const{byteLength:r}=t;if(r===6){return t.getUint16(0)*2**32+t.getUint32(2)}if(r===5){return t.getUint8(0)*2**32+t.getUint32(1)}if(r===4){return t.getUint32(0)}if(r===3){return t.getUint8(0)*2**16+t.getUint16(1)}if(r===2){return t.getUint16(0)}if(r===1){return t.getUint8(0)}}function indexOf(t,r){const i=t.length;const o=r.length;if(o===0){return-1}if(o>i){return-1}const a=i-o;for(let i=0;i<=a;i++){let a=true;for(let c=0;c<o;c++){if(t[i+c]!==r[c]){a=false;break}}if(a){return i}}return-1}function includes(t,r){return indexOf(t,r)!==-1}const $e=he["default"];const Re="aes-256-cbc";const createPlainObject=()=>Object.create(null);const isExist=t=>t!==undefined&&t!==null;const checkValueType=(t,r)=>{const i=new Set(["undefined","symbol","function"]);const o=typeof r;if(i.has(o)){throw new TypeError(`Setting a value of type \`${o}\` for key \`${t}\` is not allowed as it's not supported by JSON`)}};const Pe="__internal__";const Oe=`${Pe}.migrations.version`;class Conf{path;events;#e;#t;#r;#s={};constructor(t={}){const r={configName:"config",fileExtension:"json",projectSuffix:"nodejs",clearInvalidConfig:false,accessPropertiesByDotNotation:true,configFileMode:438,...t};if(!r.cwd){if(!r.projectName){throw new Error("Please specify the `projectName` option.")}r.cwd=envPaths(r.projectName,{suffix:r.projectSuffix}).config}this.#r=r;if(r.schema){if(typeof r.schema!=="object"){throw new TypeError("The `schema` option must be an object.")}const t=new ue.Ajv2020({allErrors:true,useDefaults:true});$e(t);const i={type:"object",properties:r.schema};this.#e=t.compile(i);for(const[t,i]of Object.entries(r.schema)){if(i?.default){this.#s[t]=i.default}}}if(r.defaults){this.#s={...this.#s,...r.defaults}}if(r.serialize){this._serialize=r.serialize}if(r.deserialize){this._deserialize=r.deserialize}this.events=new EventTarget;this.#t=r.encryptionKey;const i=r.fileExtension?`.${r.fileExtension}`:"";this.path=E.resolve(r.cwd,`${r.configName??"config"}${i}`);const o=this.store;const a=Object.assign(createPlainObject(),r.defaults,o);if(r.migrations){if(!r.projectVersion){throw new Error("Please specify the `projectVersion` option.")}this._migrate(r.migrations,r.projectVersion,r.beforeEachMigration)}this._validate(a);try{$.deepEqual(o,a)}catch{this.store=a}if(r.watch){this._watch()}}get(t,r){if(this.#r.accessPropertiesByDotNotation){return this._get(t,r)}const{store:i}=this;return t in i?i[t]:r}set(t,r){if(typeof t!=="string"&&typeof t!=="object"){throw new TypeError(`Expected \`key\` to be of type \`string\` or \`object\`, got ${typeof t}`)}if(typeof t!=="object"&&r===undefined){throw new TypeError("Use `delete()` to clear values")}if(this._containsReservedKey(t)){throw new TypeError(`Please don't use the ${Pe} key, as it's used to manage this module internal operations.`)}const{store:i}=this;const set=(t,r)=>{checkValueType(t,r);if(this.#r.accessPropertiesByDotNotation){setProperty(i,t,r)}else{i[t]=r}};if(typeof t==="object"){const r=t;for(const[t,i]of Object.entries(r)){set(t,i)}}else{set(t,r)}this.store=i}has(t){if(this.#r.accessPropertiesByDotNotation){return hasProperty(this.store,t)}return t in this.store}reset(...t){for(const r of t){if(isExist(this.#s[r])){this.set(r,this.#s[r])}}}delete(t){const{store:r}=this;if(this.#r.accessPropertiesByDotNotation){deleteProperty(r,t)}else{delete r[t]}this.store=r}clear(){this.store=createPlainObject();for(const t of Object.keys(this.#s)){this.reset(t)}}onDidChange(t,r){if(typeof t!=="string"){throw new TypeError(`Expected \`key\` to be of type \`string\`, got ${typeof t}`)}if(typeof r!=="function"){throw new TypeError(`Expected \`callback\` to be of type \`function\`, got ${typeof r}`)}return this._handleChange((()=>this.get(t)),r)}onDidAnyChange(t){if(typeof t!=="function"){throw new TypeError(`Expected \`callback\` to be of type \`function\`, got ${typeof t}`)}return this._handleChange((()=>this.store),t)}get size(){return Object.keys(this.store).length}get store(){try{const t=w.readFileSync(this.path,this.#t?null:"utf8");const r=this._encryptData(t);const i=this._deserialize(r);this._validate(i);return Object.assign(createPlainObject(),i)}catch(t){if(t?.code==="ENOENT"){this._ensureDirectory();return createPlainObject()}if(this.#r.clearInvalidConfig&&t.name==="SyntaxError"){return createPlainObject()}throw t}}set store(t){this._ensureDirectory();this._validate(t);this._write(t);this.events.dispatchEvent(new Event("change"))}*[Symbol.iterator](){for(const[t,r]of Object.entries(this.store)){yield[t,r]}}_encryptData(t){if(!this.#t){return typeof t==="string"?t:uint8ArrayToString(t)}try{const r=t.slice(0,16);const i=S.pbkdf2Sync(this.#t,r.toString(),1e4,32,"sha512");const o=S.createDecipheriv(Re,i,r);const a=t.slice(17);const c=typeof a==="string"?stringToUint8Array(a):a;return uint8ArrayToString(concatUint8Arrays([o.update(c),o.final()]))}catch{}return t.toString()}_handleChange(t,r){let i=t();const onChange=()=>{const o=i;const a=t();if((0,v.isDeepStrictEqual)(a,o)){return}i=a;r.call(this,a,o)};this.events.addEventListener("change",onChange);return()=>{this.events.removeEventListener("change",onChange)}}_deserialize=t=>JSON.parse(t);_serialize=t=>JSON.stringify(t,undefined,"\t");_validate(t){if(!this.#e){return}const r=this.#e(t);if(r||!this.#e.errors){return}const i=this.#e.errors.map((({instancePath:t,message:r=""})=>`\`${t.slice(1)}\` ${r}`));throw new Error("Config schema violation: "+i.join("; "))}_ensureDirectory(){w.mkdirSync(E.dirname(this.path),{recursive:true})}_write(t){let r=this._serialize(t);if(this.#t){const t=S.randomBytes(16);const i=S.pbkdf2Sync(this.#t,t.toString(),1e4,32,"sha512");const o=S.createCipheriv(Re,i,t);r=concatUint8Arrays([t,stringToUint8Array(":"),o.update(stringToUint8Array(r)),o.final()])}if(b.env.SNAP){w.writeFileSync(this.path,r,{mode:this.#r.configFileMode})}else{try{writeFileSync(this.path,r,{mode:this.#r.configFileMode})}catch(t){if(t?.code==="EXDEV"){w.writeFileSync(this.path,r,{mode:this.#r.configFileMode});return}throw t}}}_watch(){this._ensureDirectory();if(!w.existsSync(this.path)){this._write(createPlainObject())}if(b.platform==="win32"){w.watch(this.path,{persistent:false},pe((()=>{this.events.dispatchEvent(new Event("change"))}),{wait:100}))}else{w.watchFile(this.path,{persistent:false},pe((()=>{this.events.dispatchEvent(new Event("change"))}),{wait:5e3}))}}_migrate(t,r,i){let o=this._get(Oe,"0.0.0");const a=Object.keys(t).filter((t=>this._shouldPerformMigration(t,o,r)));let c={...this.store};for(const l of a){try{if(i){i(this,{fromVersion:o,toVersion:l,finalVersion:r,versions:a})}const u=t[l];u?.(this);this._set(Oe,l);o=l;c={...this.store}}catch(t){this.store=c;throw new Error(`Something went wrong during the migration! Changes applied to the store until this failed migration will be restored. ${t}`)}}if(this._isVersionInRangeFormat(o)||!me.eq(o,r)){this._set(Oe,r)}}_containsReservedKey(t){if(typeof t==="object"){const r=Object.keys(t)[0];if(r===Pe){return true}}if(typeof t!=="string"){return false}if(this.#r.accessPropertiesByDotNotation){if(t.startsWith(`${Pe}.`)){return true}return false}return false}_isVersionInRangeFormat(t){return me.clean(t)===null}_shouldPerformMigration(t,r,i){if(this._isVersionInRangeFormat(t)){if(r!=="0.0.0"&&me.satisfies(r,t)){return false}return me.satisfies(i,t)}if(me.lte(t,r)){return false}if(me.gt(t,i)){return false}return true}_get(t,r){return getProperty(this.store,t,r)}_set(t,r){const{store:i}=this;setProperty(i,t,r);this.store=i}}var Ae=__nccwpck_require__(9896);var xe=__nccwpck_require__(6928);var Te=__nccwpck_require__.n(xe);var ke=__nccwpck_require__(9033);var Ce=__nccwpck_require__(7298);var Ie=__nccwpck_require__.n(Ce);var Ne=__nccwpck_require__(1083);var De=__nccwpck_require__.n(Ne);var Le=__nccwpck_require__(9850);var Me=__nccwpck_require__.n(Le);var je=__nccwpck_require__(5317);var Fe=__nccwpck_require__(2203);const Ue=require("stream/promises");var Be=__nccwpck_require__(4434);var He=__nccwpck_require__(8474);const Ve=require("node:stream");const ze=require("node:string_decoder");const Ge=typeof process==="object"&&process?process:{stdout:null,stderr:null};const isStream=t=>!!t&&typeof t==="object"&&(t instanceof Minipass||t instanceof Ve||isReadable(t)||isWritable(t));const isReadable=t=>!!t&&typeof t==="object"&&t instanceof He.EventEmitter&&typeof t.pipe==="function"&&t.pipe!==Ve.Writable.prototype.pipe;const isWritable=t=>!!t&&typeof t==="object"&&t instanceof He.EventEmitter&&typeof t.write==="function"&&typeof t.end==="function";const qe=Symbol("EOF");const We=Symbol("maybeEmitEnd");const Ke=Symbol("emittedEnd");const Ye=Symbol("emittingEnd");const Ze=Symbol("emittedError");const Xe=Symbol("closed");const Je=Symbol("read");const Qe=Symbol("flush");const et=Symbol("flushChunk");const tt=Symbol("encoding");const rt=Symbol("decoder");const st=Symbol("flowing");const nt=Symbol("paused");const it=Symbol("resume");const ot=Symbol("buffer");const at=Symbol("pipes");const ct=Symbol("bufferLength");const ut=Symbol("bufferPush");const ht=Symbol("bufferShift");const ft=Symbol("objectMode");const dt=Symbol("destroyed");const pt=Symbol("error");const mt=Symbol("emitData");const yt=Symbol("emitEnd");const vt=Symbol("emitEnd2");const _t=Symbol("async");const bt=Symbol("abort");const wt=Symbol("aborted");const Et=Symbol("signal");const St=Symbol("dataListeners");const $t=Symbol("discarded");const defer=t=>Promise.resolve().then(t);const nodefer=t=>t();const isEndish=t=>t==="end"||t==="finish"||t==="prefinish";const isArrayBufferLike=t=>t instanceof ArrayBuffer||!!t&&typeof t==="object"&&t.constructor&&t.constructor.name==="ArrayBuffer"&&t.byteLength>=0;const isArrayBufferView=t=>!Buffer.isBuffer(t)&&ArrayBuffer.isView(t);class Pipe{src;dest;opts;ondrain;constructor(t,r,i){this.src=t;this.dest=r;this.opts=i;this.ondrain=()=>t[it]();this.dest.on("drain",this.ondrain)}unpipe(){this.dest.removeListener("drain",this.ondrain)}proxyErrors(t){}end(){this.unpipe();if(this.opts.end)this.dest.end()}}class PipeProxyErrors extends Pipe{unpipe(){this.src.removeListener("error",this.proxyErrors);super.unpipe()}constructor(t,r,i){super(t,r,i);this.proxyErrors=t=>r.emit("error",t);t.on("error",this.proxyErrors)}}const isObjectModeOptions=t=>!!t.objectMode;const isEncodingOptions=t=>!t.objectMode&&!!t.encoding&&t.encoding!=="buffer";class Minipass extends He.EventEmitter{[st]=false;[nt]=false;[at]=[];[ot]=[];[ft];[tt];[_t];[rt];[qe]=false;[Ke]=false;[Ye]=false;[Xe]=false;[Ze]=null;[ct]=0;[dt]=false;[Et];[wt]=false;[St]=0;[$t]=false;writable=true;readable=true;constructor(...t){const r=t[0]||{};super();if(r.objectMode&&typeof r.encoding==="string"){throw new TypeError("Encoding and objectMode may not be used together")}if(isObjectModeOptions(r)){this[ft]=true;this[tt]=null}else if(isEncodingOptions(r)){this[tt]=r.encoding;this[ft]=false}else{this[ft]=false;this[tt]=null}this[_t]=!!r.async;this[rt]=this[tt]?new ze.StringDecoder(this[tt]):null;if(r&&r.debugExposeBuffer===true){Object.defineProperty(this,"buffer",{get:()=>this[ot]})}if(r&&r.debugExposePipes===true){Object.defineProperty(this,"pipes",{get:()=>this[at]})}const{signal:i}=r;if(i){this[Et]=i;if(i.aborted){this[bt]()}else{i.addEventListener("abort",(()=>this[bt]()))}}}get bufferLength(){return this[ct]}get encoding(){return this[tt]}set encoding(t){throw new Error("Encoding must be set at instantiation time")}setEncoding(t){throw new Error("Encoding must be set at instantiation time")}get objectMode(){return this[ft]}set objectMode(t){throw new Error("objectMode must be set at instantiation time")}get["async"](){return this[_t]}set["async"](t){this[_t]=this[_t]||!!t}[bt](){this[wt]=true;this.emit("abort",this[Et]?.reason);this.destroy(this[Et]?.reason)}get aborted(){return this[wt]}set aborted(t){}write(t,r,i){if(this[wt])return false;if(this[qe])throw new Error("write after end");if(this[dt]){this.emit("error",Object.assign(new Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"}));return true}if(typeof r==="function"){i=r;r="utf8"}if(!r)r="utf8";const o=this[_t]?defer:nodefer;if(!this[ft]&&!Buffer.isBuffer(t)){if(isArrayBufferView(t)){t=Buffer.from(t.buffer,t.byteOffset,t.byteLength)}else if(isArrayBufferLike(t)){t=Buffer.from(t)}else if(typeof t!=="string"){throw new Error("Non-contiguous data written to non-objectMode stream")}}if(this[ft]){if(this[st]&&this[ct]!==0)this[Qe](true);if(this[st])this.emit("data",t);else this[ut](t);if(this[ct]!==0)this.emit("readable");if(i)o(i);return this[st]}if(!t.length){if(this[ct]!==0)this.emit("readable");if(i)o(i);return this[st]}if(typeof t==="string"&&!(r===this[tt]&&!this[rt]?.lastNeed)){t=Buffer.from(t,r)}if(Buffer.isBuffer(t)&&this[tt]){t=this[rt].write(t)}if(this[st]&&this[ct]!==0)this[Qe](true);if(this[st])this.emit("data",t);else this[ut](t);if(this[ct]!==0)this.emit("readable");if(i)o(i);return this[st]}read(t){if(this[dt])return null;this[$t]=false;if(this[ct]===0||t===0||t&&t>this[ct]){this[We]();return null}if(this[ft])t=null;if(this[ot].length>1&&!this[ft]){this[ot]=[this[tt]?this[ot].join(""):Buffer.concat(this[ot],this[ct])]}const r=this[Je](t||null,this[ot][0]);this[We]();return r}[Je](t,r){if(this[ft])this[ht]();else{const i=r;if(t===i.length||t===null)this[ht]();else if(typeof i==="string"){this[ot][0]=i.slice(t);r=i.slice(0,t);this[ct]-=t}else{this[ot][0]=i.subarray(t);r=i.subarray(0,t);this[ct]-=t}}this.emit("data",r);if(!this[ot].length&&!this[qe])this.emit("drain");return r}end(t,r,i){if(typeof t==="function"){i=t;t=undefined}if(typeof r==="function"){i=r;r="utf8"}if(t!==undefined)this.write(t,r);if(i)this.once("end",i);this[qe]=true;this.writable=false;if(this[st]||!this[nt])this[We]();return this}[it](){if(this[dt])return;if(!this[St]&&!this[at].length){this[$t]=true}this[nt]=false;this[st]=true;this.emit("resume");if(this[ot].length)this[Qe]();else if(this[qe])this[We]();else this.emit("drain")}resume(){return this[it]()}pause(){this[st]=false;this[nt]=true;this[$t]=false}get destroyed(){return this[dt]}get flowing(){return this[st]}get paused(){return this[nt]}[ut](t){if(this[ft])this[ct]+=1;else this[ct]+=t.length;this[ot].push(t)}[ht](){if(this[ft])this[ct]-=1;else this[ct]-=this[ot][0].length;return this[ot].shift()}[Qe](t=false){do{}while(this[et](this[ht]())&&this[ot].length);if(!t&&!this[ot].length&&!this[qe])this.emit("drain")}[et](t){this.emit("data",t);return this[st]}pipe(t,r){if(this[dt])return t;this[$t]=false;const i=this[Ke];r=r||{};if(t===Ge.stdout||t===Ge.stderr)r.end=false;else r.end=r.end!==false;r.proxyErrors=!!r.proxyErrors;if(i){if(r.end)t.end()}else{this[at].push(!r.proxyErrors?new Pipe(this,t,r):new PipeProxyErrors(this,t,r));if(this[_t])defer((()=>this[it]()));else this[it]()}return t}unpipe(t){const r=this[at].find((r=>r.dest===t));if(r){if(this[at].length===1){if(this[st]&&this[St]===0){this[st]=false}this[at]=[]}else this[at].splice(this[at].indexOf(r),1);r.unpipe()}}addListener(t,r){return this.on(t,r)}on(t,r){const i=super.on(t,r);if(t==="data"){this[$t]=false;this[St]++;if(!this[at].length&&!this[st]){this[it]()}}else if(t==="readable"&&this[ct]!==0){super.emit("readable")}else if(isEndish(t)&&this[Ke]){super.emit(t);this.removeAllListeners(t)}else if(t==="error"&&this[Ze]){const t=r;if(this[_t])defer((()=>t.call(this,this[Ze])));else t.call(this,this[Ze])}return i}removeListener(t,r){return this.off(t,r)}off(t,r){const i=super.off(t,r);if(t==="data"){this[St]=this.listeners("data").length;if(this[St]===0&&!this[$t]&&!this[at].length){this[st]=false}}return i}removeAllListeners(t){const r=super.removeAllListeners(t);if(t==="data"||t===undefined){this[St]=0;if(!this[$t]&&!this[at].length){this[st]=false}}return r}get emittedEnd(){return this[Ke]}[We](){if(!this[Ye]&&!this[Ke]&&!this[dt]&&this[ot].length===0&&this[qe]){this[Ye]=true;this.emit("end");this.emit("prefinish");this.emit("finish");if(this[Xe])this.emit("close");this[Ye]=false}}emit(t,...r){const i=r[0];if(t!=="error"&&t!=="close"&&t!==dt&&this[dt]){return false}else if(t==="data"){return!this[ft]&&!i?false:this[_t]?(defer((()=>this[mt](i))),true):this[mt](i)}else if(t==="end"){return this[yt]()}else if(t==="close"){this[Xe]=true;if(!this[Ke]&&!this[dt])return false;const t=super.emit("close");this.removeAllListeners("close");return t}else if(t==="error"){this[Ze]=i;super.emit(pt,i);const t=!this[Et]||this.listeners("error").length?super.emit("error",i):false;this[We]();return t}else if(t==="resume"){const t=super.emit("resume");this[We]();return t}else if(t==="finish"||t==="prefinish"){const r=super.emit(t);this.removeAllListeners(t);return r}const o=super.emit(t,...r);this[We]();return o}[mt](t){for(const r of this[at]){if(r.dest.write(t)===false)this.pause()}const r=this[$t]?false:super.emit("data",t);this[We]();return r}[yt](){if(this[Ke])return false;this[Ke]=true;this.readable=false;return this[_t]?(defer((()=>this[vt]())),true):this[vt]()}[vt](){if(this[rt]){const t=this[rt].end();if(t){for(const r of this[at]){r.dest.write(t)}if(!this[$t])super.emit("data",t)}}for(const t of this[at]){t.end()}const t=super.emit("end");this.removeAllListeners("end");return t}async collect(){const t=Object.assign([],{dataLength:0});if(!this[ft])t.dataLength=0;const r=this.promise();this.on("data",(r=>{t.push(r);if(!this[ft])t.dataLength+=r.length}));await r;return t}async concat(){if(this[ft]){throw new Error("cannot concat in objectMode")}const t=await this.collect();return this[tt]?t.join(""):Buffer.concat(t,t.dataLength)}async promise(){return new Promise(((t,r)=>{this.on(dt,(()=>r(new Error("stream destroyed"))));this.on("error",(t=>r(t)));this.on("end",(()=>t()))}))}[Symbol.asyncIterator](){this[$t]=false;let t=false;const stop=async()=>{this.pause();t=true;return{value:undefined,done:true}};const next=()=>{if(t)return stop();const r=this.read();if(r!==null)return Promise.resolve({done:false,value:r});if(this[qe])return stop();let i;let o;const onerr=t=>{this.off("data",ondata);this.off("end",onend);this.off(dt,ondestroy);stop();o(t)};const ondata=t=>{this.off("error",onerr);this.off("end",onend);this.off(dt,ondestroy);this.pause();i({value:t,done:!!this[qe]})};const onend=()=>{this.off("error",onerr);this.off("data",ondata);this.off(dt,ondestroy);stop();i({done:true,value:undefined})};const ondestroy=()=>onerr(new Error("stream destroyed"));return new Promise(((t,r)=>{o=r;i=t;this.once(dt,ondestroy);this.once("error",onerr);this.once("end",onend);this.once("data",ondata)}))};return{next:next,throw:stop,return:stop,[Symbol.asyncIterator](){return this}}}[Symbol.iterator](){this[$t]=false;let t=false;const stop=()=>{this.pause();this.off(pt,stop);this.off(dt,stop);this.off("end",stop);t=true;return{done:true,value:undefined}};const next=()=>{if(t)return stop();const r=this.read();return r===null?stop():{done:false,value:r}};this.once("end",stop);this.once(pt,stop);this.once(dt,stop);return{next:next,throw:stop,return:stop,[Symbol.iterator](){return this}}}destroy(t){if(this[dt]){if(t)this.emit("error",t);else this.emit(dt);return this}this[dt]=true;this[$t]=true;this[ot].length=0;this[ct]=0;const r=this;if(typeof r.close==="function"&&!this[Xe])r.close();if(t)this.emit("error",t);else this.emit(dt);return this}static get isStream(){return isStream}}const Rt=Ae.writev;const Pt=Symbol("_autoClose");const Ot=Symbol("_close");const At=Symbol("_ended");const xt=Symbol("_fd");const Tt=Symbol("_finished");const kt=Symbol("_flags");const Ct=Symbol("_flush");const It=Symbol("_handleChunk");const Nt=Symbol("_makeBuf");const Dt=Symbol("_mode");const Lt=Symbol("_needDrain");const Mt=Symbol("_onerror");const jt=Symbol("_onopen");const Ft=Symbol("_onread");const Ut=Symbol("_onwrite");const Bt=Symbol("_open");const Ht=Symbol("_path");const Vt=Symbol("_pos");const zt=Symbol("_queue");const Gt=Symbol("_read");const qt=Symbol("_readSize");const Wt=Symbol("_reading");const Kt=Symbol("_remain");const Yt=Symbol("_size");const Zt=Symbol("_write");const Xt=Symbol("_writing");const Jt=Symbol("_defaultFlag");const Qt=Symbol("_errored");class ReadStream extends Minipass{[Qt]=false;[xt];[Ht];[qt];[Wt]=false;[Yt];[Kt];[Pt];constructor(t,r){r=r||{};super(r);this.readable=true;this.writable=false;if(typeof t!=="string"){throw new TypeError("path must be a string")}this[Qt]=false;this[xt]=typeof r.fd==="number"?r.fd:undefined;this[Ht]=t;this[qt]=r.readSize||16*1024*1024;this[Wt]=false;this[Yt]=typeof r.size==="number"?r.size:Infinity;this[Kt]=this[Yt];this[Pt]=typeof r.autoClose==="boolean"?r.autoClose:true;if(typeof this[xt]==="number"){this[Gt]()}else{this[Bt]()}}get fd(){return this[xt]}get path(){return this[Ht]}write(){throw new TypeError("this is a readable stream")}end(){throw new TypeError("this is a readable stream")}[Bt](){Ae.open(this[Ht],"r",((t,r)=>this[jt](t,r)))}[jt](t,r){if(t){this[Mt](t)}else{this[xt]=r;this.emit("open",r);this[Gt]()}}[Nt](){return Buffer.allocUnsafe(Math.min(this[qt],this[Kt]))}[Gt](){if(!this[Wt]){this[Wt]=true;const t=this[Nt]();if(t.length===0){return process.nextTick((()=>this[Ft](null,0,t)))}Ae.read(this[xt],t,0,t.length,null,((t,r,i)=>this[Ft](t,r,i)))}}[Ft](t,r,i){this[Wt]=false;if(t){this[Mt](t)}else if(this[It](r,i)){this[Gt]()}}[Ot](){if(this[Pt]&&typeof this[xt]==="number"){const t=this[xt];this[xt]=undefined;Ae.close(t,(t=>t?this.emit("error",t):this.emit("close")))}}[Mt](t){this[Wt]=true;this[Ot]();this.emit("error",t)}[It](t,r){let i=false;this[Kt]-=t;if(t>0){i=super.write(t<r.length?r.subarray(0,t):r)}if(t===0||this[Kt]<=0){i=false;this[Ot]();super.end()}return i}emit(t,...r){switch(t){case"prefinish":case"finish":return false;case"drain":if(typeof this[xt]==="number"){this[Gt]()}return false;case"error":if(this[Qt]){return false}this[Qt]=true;return super.emit(t,...r);default:return super.emit(t,...r)}}}class ReadStreamSync extends ReadStream{[Bt](){let t=true;try{this[jt](null,Ae.openSync(this[Ht],"r"));t=false}finally{if(t){this[Ot]()}}}[Gt](){let t=true;try{if(!this[Wt]){this[Wt]=true;do{const t=this[Nt]();const r=t.length===0?0:Ae.readSync(this[xt],t,0,t.length,null);if(!this[It](r,t)){break}}while(true);this[Wt]=false}t=false}finally{if(t){this[Ot]()}}}[Ot](){if(this[Pt]&&typeof this[xt]==="number"){const t=this[xt];this[xt]=undefined;Ae.closeSync(t);this.emit("close")}}}class WriteStream extends Be{readable=false;writable=true;[Qt]=false;[Xt]=false;[At]=false;[zt]=[];[Lt]=false;[Ht];[Dt];[Pt];[xt];[Jt];[kt];[Tt]=false;[Vt];constructor(t,r){r=r||{};super(r);this[Ht]=t;this[xt]=typeof r.fd==="number"?r.fd:undefined;this[Dt]=r.mode===undefined?438:r.mode;this[Vt]=typeof r.start==="number"?r.start:undefined;this[Pt]=typeof r.autoClose==="boolean"?r.autoClose:true;const i=this[Vt]!==undefined?"r+":"w";this[Jt]=r.flags===undefined;this[kt]=r.flags===undefined?i:r.flags;if(this[xt]===undefined){this[Bt]()}}emit(t,...r){if(t==="error"){if(this[Qt]){return false}this[Qt]=true}return super.emit(t,...r)}get fd(){return this[xt]}get path(){return this[Ht]}[Mt](t){this[Ot]();this[Xt]=true;this.emit("error",t)}[Bt](){Ae.open(this[Ht],this[kt],this[Dt],((t,r)=>this[jt](t,r)))}[jt](t,r){if(this[Jt]&&this[kt]==="r+"&&t&&t.code==="ENOENT"){this[kt]="w";this[Bt]()}else if(t){this[Mt](t)}else{this[xt]=r;this.emit("open",r);if(!this[Xt]){this[Ct]()}}}end(t,r){if(t){this.write(t,r)}this[At]=true;if(!this[Xt]&&!this[zt].length&&typeof this[xt]==="number"){this[Ut](null,0)}return this}write(t,r){if(typeof t==="string"){t=Buffer.from(t,r)}if(this[At]){this.emit("error",new Error("write() after end()"));return false}if(this[xt]===undefined||this[Xt]||this[zt].length){this[zt].push(t);this[Lt]=true;return false}this[Xt]=true;this[Zt](t);return true}[Zt](t){Ae.write(this[xt],t,0,t.length,this[Vt],((t,r)=>this[Ut](t,r)))}[Ut](t,r){if(t){this[Mt](t)}else{if(this[Vt]!==undefined&&typeof r==="number"){this[Vt]+=r}if(this[zt].length){this[Ct]()}else{this[Xt]=false;if(this[At]&&!this[Tt]){this[Tt]=true;this[Ot]();this.emit("finish")}else if(this[Lt]){this[Lt]=false;this.emit("drain")}}}}[Ct](){if(this[zt].length===0){if(this[At]){this[Ut](null,0)}}else if(this[zt].length===1){this[Zt](this[zt].pop())}else{const t=this[zt];this[zt]=[];Rt(this[xt],t,this[Vt],((t,r)=>this[Ut](t,r)))}}[Ot](){if(this[Pt]&&typeof this[xt]==="number"){const t=this[xt];this[xt]=undefined;Ae.close(t,(t=>t?this.emit("error",t):this.emit("close")))}}}class WriteStreamSync extends WriteStream{[Bt](){let t;if(this[Jt]&&this[kt]==="r+"){try{t=Ae.openSync(this[Ht],this[kt],this[Dt])}catch(t){if(t?.code==="ENOENT"){this[kt]="w";return this[Bt]()}else{throw t}}}else{t=Ae.openSync(this[Ht],this[kt],this[Dt])}this[jt](null,t)}[Ot](){if(this[Pt]&&typeof this[xt]==="number"){const t=this[xt];this[xt]=undefined;Ae.closeSync(t);this.emit("close")}}[Zt](t){let r=true;try{this[Ut](null,Ae.writeSync(this[xt],t,0,t.length,this[Vt]));r=false}finally{if(r){try{this[Ot]()}catch{}}}}}const er=new Map([["C","cwd"],["f","file"],["z","gzip"],["P","preservePaths"],["U","unlink"],["strip-components","strip"],["stripComponents","strip"],["keep-newer","newer"],["keepNewer","newer"],["keep-newer-files","newer"],["keepNewerFiles","newer"],["k","keep"],["keep-existing","keep"],["keepExisting","keep"],["m","noMtime"],["no-mtime","noMtime"],["p","preserveOwner"],["L","follow"],["h","follow"],["onentry","onReadEntry"]]);const isSyncFile=t=>!!t.sync&&!!t.file;const isAsyncFile=t=>!t.sync&&!!t.file;const isSyncNoFile=t=>!!t.sync&&!t.file;const isAsyncNoFile=t=>!t.sync&&!t.file;const isSync=t=>!!t.sync;const isAsync=t=>!t.sync;const isFile=t=>!!t.file;const isNoFile=t=>!t.file;const dealiasKey=t=>{const r=er.get(t);if(r)return r;return t};const dealias=(t={})=>{if(!t)return{};const r={};for(const[i,o]of Object.entries(t)){const t=dealiasKey(i);r[t]=o}if(r.chmod===undefined&&r.noChmod===false){r.chmod=true}delete r.noChmod;return r};const makeCommand=(t,r,i,o,a)=>Object.assign(((c=[],l,u)=>{if(Array.isArray(c)){l=c;c={}}if(typeof l==="function"){u=l;l=undefined}if(!l){l=[]}else{l=Array.from(l)}const h=dealias(c);a?.(h,l);if(isSyncFile(h)){if(typeof u==="function"){throw new TypeError("callback not supported for sync tar functions")}return t(h,l)}else if(isAsyncFile(h)){const t=r(h,l);const i=u?u:undefined;return i?t.then((()=>i()),i):t}else if(isSyncNoFile(h)){if(typeof u==="function"){throw new TypeError("callback not supported for sync tar functions")}return i(h,l)}else if(isAsyncNoFile(h)){if(typeof u==="function"){throw new TypeError("callback only supported with file option")}return o(h,l)}else{throw new Error("impossible options??")}}),{syncFile:t,asyncFile:r,syncNoFile:i,asyncNoFile:o,validate:a});const tr=require("assert");var rr=__nccwpck_require__(181);const sr=require("zlib");const nr=sr.constants||{ZLIB_VERNUM:4736};const ir=Object.freeze(Object.assign(Object.create(null),{Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_VERSION_ERROR:-6,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,DEFLATE:1,INFLATE:2,GZIP:3,GUNZIP:4,DEFLATERAW:5,INFLATERAW:6,UNZIP:7,BROTLI_DECODE:8,BROTLI_ENCODE:9,Z_MIN_WINDOWBITS:8,Z_MAX_WINDOWBITS:15,Z_DEFAULT_WINDOWBITS:15,Z_MIN_CHUNK:64,Z_MAX_CHUNK:Infinity,Z_DEFAULT_CHUNK:16384,Z_MIN_MEMLEVEL:1,Z_MAX_MEMLEVEL:9,Z_DEFAULT_MEMLEVEL:8,Z_MIN_LEVEL:-1,Z_MAX_LEVEL:9,Z_DEFAULT_LEVEL:-1,BROTLI_OPERATION_PROCESS:0,BROTLI_OPERATION_FLUSH:1,BROTLI_OPERATION_FINISH:2,BROTLI_OPERATION_EMIT_METADATA:3,BROTLI_MODE_GENERIC:0,BROTLI_MODE_TEXT:1,BROTLI_MODE_FONT:2,BROTLI_DEFAULT_MODE:0,BROTLI_MIN_QUALITY:0,BROTLI_MAX_QUALITY:11,BROTLI_DEFAULT_QUALITY:11,BROTLI_MIN_WINDOW_BITS:10,BROTLI_MAX_WINDOW_BITS:24,BROTLI_LARGE_MAX_WINDOW_BITS:30,BROTLI_DEFAULT_WINDOW:22,BROTLI_MIN_INPUT_BLOCK_BITS:16,BROTLI_MAX_INPUT_BLOCK_BITS:24,BROTLI_PARAM_MODE:0,BROTLI_PARAM_QUALITY:1,BROTLI_PARAM_LGWIN:2,BROTLI_PARAM_LGBLOCK:3,BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING:4,BROTLI_PARAM_SIZE_HINT:5,BROTLI_PARAM_LARGE_WINDOW:6,BROTLI_PARAM_NPOSTFIX:7,BROTLI_PARAM_NDIRECT:8,BROTLI_DECODER_RESULT_ERROR:0,BROTLI_DECODER_RESULT_SUCCESS:1,BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT:2,BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION:0,BROTLI_DECODER_PARAM_LARGE_WINDOW:1,BROTLI_DECODER_NO_ERROR:0,BROTLI_DECODER_SUCCESS:1,BROTLI_DECODER_NEEDS_MORE_INPUT:2,BROTLI_DECODER_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE:-1,BROTLI_DECODER_ERROR_FORMAT_RESERVED:-2,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE:-3,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET:-4,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME:-5,BROTLI_DECODER_ERROR_FORMAT_CL_SPACE:-6,BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE:-7,BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT:-8,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1:-9,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2:-10,BROTLI_DECODER_ERROR_FORMAT_TRANSFORM:-11,BROTLI_DECODER_ERROR_FORMAT_DICTIONARY:-12,BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS:-13,BROTLI_DECODER_ERROR_FORMAT_PADDING_1:-14,BROTLI_DECODER_ERROR_FORMAT_PADDING_2:-15,BROTLI_DECODER_ERROR_FORMAT_DISTANCE:-16,BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET:-19,BROTLI_DECODER_ERROR_INVALID_ARGUMENTS:-20,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES:-21,BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS:-22,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP:-25,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1:-26,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2:-27,BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES:-30,BROTLI_DECODER_ERROR_UNREACHABLE:-31},nr));const ar=rr.Buffer.concat;const cr=Symbol("_superWrite");class ZlibError extends Error{code;errno;constructor(t){super("zlib: "+t.message);this.code=t.code;this.errno=t.errno;if(!this.code)this.code="ZLIB_ERROR";this.message="zlib: "+t.message;Error.captureStackTrace(this,this.constructor)}get name(){return"ZlibError"}}const lr=Symbol("flushFlag");class ZlibBase extends Minipass{#n=false;#i=false;#o;#a;#c;#l;#u;get sawError(){return this.#n}get handle(){return this.#l}get flushFlag(){return this.#o}constructor(t,r){if(!t||typeof t!=="object")throw new TypeError("invalid options for ZlibBase constructor");super(t);this.#o=t.flush??0;this.#a=t.finishFlush??0;this.#c=t.fullFlushFlag??0;try{this.#l=new sr[r](t)}catch(t){throw new ZlibError(t)}this.#u=t=>{if(this.#n)return;this.#n=true;this.close();this.emit("error",t)};this.#l?.on("error",(t=>this.#u(new ZlibError(t))));this.once("end",(()=>this.close))}close(){if(this.#l){this.#l.close();this.#l=undefined;this.emit("close")}}reset(){if(!this.#n){tr(this.#l,"zlib binding closed");return this.#l.reset?.()}}flush(t){if(this.ended)return;if(typeof t!=="number")t=this.#c;this.write(Object.assign(rr.Buffer.alloc(0),{[lr]:t}))}end(t,r,i){if(typeof t==="function"){i=t;r=undefined;t=undefined}if(typeof r==="function"){i=r;r=undefined}if(t){if(r)this.write(t,r);else this.write(t)}this.flush(this.#a);this.#i=true;return super.end(i)}get ended(){return this.#i}[cr](t){return super.write(t)}write(t,r,i){if(typeof r==="function")i=r,r="utf8";if(typeof t==="string")t=rr.Buffer.from(t,r);if(this.#n)return;tr(this.#l,"zlib binding closed");const o=this.#l._handle;const a=o.close;o.close=()=>{};const c=this.#l.close;this.#l.close=()=>{};rr.Buffer.concat=t=>t;let l=undefined;try{const r=typeof t[lr]==="number"?t[lr]:this.#o;l=this.#l._processChunk(t,r);rr.Buffer.concat=ar}catch(t){rr.Buffer.concat=ar;this.#u(new ZlibError(t))}finally{if(this.#l){this.#l._handle=o;o.close=a;this.#l.close=c;this.#l.removeAllListeners("error")}}if(this.#l)this.#l.on("error",(t=>this.#u(new ZlibError(t))));let u;if(l){if(Array.isArray(l)&&l.length>0){const t=l[0];u=this[cr](rr.Buffer.from(t));for(let t=1;t<l.length;t++){u=this[cr](l[t])}}else{u=this[cr](rr.Buffer.from(l))}}if(i)i();return u}}class Zlib extends ZlibBase{#h;#f;constructor(t,r){t=t||{};t.flush=t.flush||ir.Z_NO_FLUSH;t.finishFlush=t.finishFlush||ir.Z_FINISH;t.fullFlushFlag=ir.Z_FULL_FLUSH;super(t,r);this.#h=t.level;this.#f=t.strategy}params(t,r){if(this.sawError)return;if(!this.handle)throw new Error("cannot switch params when binding is closed");if(!this.handle.params)throw new Error("not supported in this implementation");if(this.#h!==t||this.#f!==r){this.flush(ir.Z_SYNC_FLUSH);tr(this.handle,"zlib binding closed");const i=this.handle.flush;this.handle.flush=(t,r)=>{if(typeof t==="function"){r=t;t=this.flushFlag}this.flush(t);r?.()};try{this.handle.params(t,r)}finally{this.handle.flush=i}if(this.handle){this.#h=t;this.#f=r}}}}class Deflate extends Zlib{constructor(t){super(t,"Deflate")}}class Inflate extends Zlib{constructor(t){super(t,"Inflate")}}class Gzip extends Zlib{#d;constructor(t){super(t,"Gzip");this.#d=t&&!!t.portable}[cr](t){if(!this.#d)return super[cr](t);this.#d=false;t[9]=255;return super[cr](t)}}class Gunzip extends Zlib{constructor(t){super(t,"Gunzip")}}class DeflateRaw extends Zlib{constructor(t){super(t,"DeflateRaw")}}class InflateRaw extends Zlib{constructor(t){super(t,"InflateRaw")}}class Unzip extends Zlib{constructor(t){super(t,"Unzip")}}class Brotli extends ZlibBase{constructor(t,r){t=t||{};t.flush=t.flush||ir.BROTLI_OPERATION_PROCESS;t.finishFlush=t.finishFlush||ir.BROTLI_OPERATION_FINISH;t.fullFlushFlag=ir.BROTLI_OPERATION_FLUSH;super(t,r)}}class BrotliCompress extends Brotli{constructor(t){super(t,"BrotliCompress")}}class BrotliDecompress extends Brotli{constructor(t){super(t,"BrotliDecompress")}}class Yallist{tail;head;length=0;static create(t=[]){return new Yallist(t)}constructor(t=[]){for(const r of t){this.push(r)}}*[Symbol.iterator](){for(let t=this.head;t;t=t.next){yield t.value}}removeNode(t){if(t.list!==this){throw new Error("removing node which does not belong to this list")}const r=t.next;const i=t.prev;if(r){r.prev=i}if(i){i.next=r}if(t===this.head){this.head=r}if(t===this.tail){this.tail=i}this.length--;t.next=undefined;t.prev=undefined;t.list=undefined;return r}unshiftNode(t){if(t===this.head){return}if(t.list){t.list.removeNode(t)}const r=this.head;t.list=this;t.next=r;if(r){r.prev=t}this.head=t;if(!this.tail){this.tail=t}this.length++}pushNode(t){if(t===this.tail){return}if(t.list){t.list.removeNode(t)}const r=this.tail;t.list=this;t.prev=r;if(r){r.next=t}this.tail=t;if(!this.head){this.head=t}this.length++}push(...t){for(let r=0,i=t.length;r<i;r++){push(this,t[r])}return this.length}unshift(...t){for(var r=0,i=t.length;r<i;r++){unshift(this,t[r])}return this.length}pop(){if(!this.tail){return undefined}const t=this.tail.value;const r=this.tail;this.tail=this.tail.prev;if(this.tail){this.tail.next=undefined}else{this.head=undefined}r.list=undefined;this.length--;return t}shift(){if(!this.head){return undefined}const t=this.head.value;const r=this.head;this.head=this.head.next;if(this.head){this.head.prev=undefined}else{this.tail=undefined}r.list=undefined;this.length--;return t}forEach(t,r){r=r||this;for(let i=this.head,o=0;!!i;o++){t.call(r,i.value,o,this);i=i.next}}forEachReverse(t,r){r=r||this;for(let i=this.tail,o=this.length-1;!!i;o--){t.call(r,i.value,o,this);i=i.prev}}get(t){let r=0;let i=this.head;for(;!!i&&r<t;r++){i=i.next}if(r===t&&!!i){return i.value}}getReverse(t){let r=0;let i=this.tail;for(;!!i&&r<t;r++){i=i.prev}if(r===t&&!!i){return i.value}}map(t,r){r=r||this;const i=new Yallist;for(let o=this.head;!!o;){i.push(t.call(r,o.value,this));o=o.next}return i}mapReverse(t,r){r=r||this;var i=new Yallist;for(let o=this.tail;!!o;){i.push(t.call(r,o.value,this));o=o.prev}return i}reduce(t,r){let i;let o=this.head;if(arguments.length>1){i=r}else if(this.head){o=this.head.next;i=this.head.value}else{throw new TypeError("Reduce of empty list with no initial value")}for(var a=0;!!o;a++){i=t(i,o.value,a);o=o.next}return i}reduceReverse(t,r){let i;let o=this.tail;if(arguments.length>1){i=r}else if(this.tail){o=this.tail.prev;i=this.tail.value}else{throw new TypeError("Reduce of empty list with no initial value")}for(let r=this.length-1;!!o;r--){i=t(i,o.value,r);o=o.prev}return i}toArray(){const t=new Array(this.length);for(let r=0,i=this.head;!!i;r++){t[r]=i.value;i=i.next}return t}toArrayReverse(){const t=new Array(this.length);for(let r=0,i=this.tail;!!i;r++){t[r]=i.value;i=i.prev}return t}slice(t=0,r=this.length){if(r<0){r+=this.length}if(t<0){t+=this.length}const i=new Yallist;if(r<t||r<0){return i}if(t<0){t=0}if(r>this.length){r=this.length}let o=this.head;let a=0;for(a=0;!!o&&a<t;a++){o=o.next}for(;!!o&&a<r;a++,o=o.next){i.push(o.value)}return i}sliceReverse(t=0,r=this.length){if(r<0){r+=this.length}if(t<0){t+=this.length}const i=new Yallist;if(r<t||r<0){return i}if(t<0){t=0}if(r>this.length){r=this.length}let o=this.length;let a=this.tail;for(;!!a&&o>r;o--){a=a.prev}for(;!!a&&o>t;o--,a=a.prev){i.push(a.value)}return i}splice(t,r=0,...i){if(t>this.length){t=this.length-1}if(t<0){t=this.length+t}let o=this.head;for(let r=0;!!o&&r<t;r++){o=o.next}const a=[];for(let t=0;!!o&&t<r;t++){a.push(o.value);o=this.removeNode(o)}if(!o){o=this.tail}else if(o!==this.tail){o=o.prev}for(const t of i){o=insertAfter(this,o,t)}return a}reverse(){const t=this.head;const r=this.tail;for(let r=t;!!r;r=r.prev){const t=r.prev;r.prev=r.next;r.next=t}this.head=r;this.tail=t;return this}}function insertAfter(t,r,i){const o=r;const a=r?r.next:t.head;const c=new Node(i,o,a,t);if(c.next===undefined){t.tail=c}if(c.prev===undefined){t.head=c}t.length++;return c}function push(t,r){t.tail=new Node(r,t.tail,undefined,t);if(!t.head){t.head=t.tail}t.length++}function unshift(t,r){t.head=new Node(r,undefined,t.head,t);if(!t.tail){t.tail=t.head}t.length++}class Node{list;next;prev;value;constructor(t,r,i,o){this.list=o;this.value=t;if(r){r.next=this;this.prev=r}else{this.prev=undefined}if(i){i.prev=this;this.next=i}else{this.next=undefined}}}const encode=(t,r)=>{if(!Number.isSafeInteger(t)){throw Error("cannot encode number outside of javascript safe integer range")}else if(t<0){encodeNegative(t,r)}else{encodePositive(t,r)}return r};const encodePositive=(t,r)=>{r[0]=128;for(var i=r.length;i>1;i--){r[i-1]=t&255;t=Math.floor(t/256)}};const encodeNegative=(t,r)=>{r[0]=255;var i=false;t=t*-1;for(var o=r.length;o>1;o--){var a=t&255;t=Math.floor(t/256);if(i){r[o-1]=onesComp(a)}else if(a===0){r[o-1]=0}else{i=true;r[o-1]=twosComp(a)}}};const parse=t=>{const r=t[0];const i=r===128?pos(t.subarray(1,t.length)):r===255?twos(t):null;if(i===null){throw Error("invalid base256 encoding")}if(!Number.isSafeInteger(i)){throw Error("parsed number outside of javascript safe integer range")}return i};const twos=t=>{var r=t.length;var i=0;var o=false;for(var a=r-1;a>-1;a--){var c=Number(t[a]);var l;if(o){l=onesComp(c)}else if(c===0){l=c}else{o=true;l=twosComp(c)}if(l!==0){i-=l*Math.pow(256,r-a-1)}}return i};const pos=t=>{var r=t.length;var i=0;for(var o=r-1;o>-1;o--){var a=Number(t[o]);if(a!==0){i+=a*Math.pow(256,r-o-1)}}return i};const onesComp=t=>(255^t)&255;const twosComp=t=>(255^t)+1&255;const isCode=t=>ur.has(t);const isName=t=>hr.has(t);const ur=new Map([["0","File"],["","OldFile"],["1","Link"],["2","SymbolicLink"],["3","CharacterDevice"],["4","BlockDevice"],["5","Directory"],["6","FIFO"],["7","ContiguousFile"],["g","GlobalExtendedHeader"],["x","ExtendedHeader"],["A","SolarisACL"],["D","GNUDumpDir"],["I","Inode"],["K","NextFileHasLongLinkpath"],["L","NextFileHasLongPath"],["M","ContinuationFile"],["N","OldGnuLongPath"],["S","SparseFile"],["V","TapeVolumeHeader"],["X","OldExtendedHeader"]]);const hr=new Map(Array.from(ur).map((t=>[t[1],t[0]])));class Header{cksumValid=false;needPax=false;nullBlock=false;block;path;mode;uid;gid;size;cksum;#p="Unsupported";linkpath;uname;gname;devmaj=0;devmin=0;atime;ctime;mtime;charset;comment;constructor(t,r=0,i,o){if(Buffer.isBuffer(t)){this.decode(t,r||0,i,o)}else if(t){this.#m(t)}}decode(t,r,i,o){if(!r){r=0}if(!t||!(t.length>=r+512)){throw new Error("need 512 bytes for header")}this.path=decString(t,r,100);this.mode=decNumber(t,r+100,8);this.uid=decNumber(t,r+108,8);this.gid=decNumber(t,r+116,8);this.size=decNumber(t,r+124,12);this.mtime=decDate(t,r+136,12);this.cksum=decNumber(t,r+148,12);if(o)this.#m(o,true);if(i)this.#m(i);const a=decString(t,r+156,1);if(isCode(a)){this.#p=a||"0"}if(this.#p==="0"&&this.path.slice(-1)==="/"){this.#p="5"}if(this.#p==="5"){this.size=0}this.linkpath=decString(t,r+157,100);if(t.subarray(r+257,r+265).toString()==="ustar\x0000"){this.uname=decString(t,r+265,32);this.gname=decString(t,r+297,32);this.devmaj=decNumber(t,r+329,8)??0;this.devmin=decNumber(t,r+337,8)??0;if(t[r+475]!==0){const i=decString(t,r+345,155);this.path=i+"/"+this.path}else{const i=decString(t,r+345,130);if(i){this.path=i+"/"+this.path}this.atime=decDate(t,r+476,12);this.ctime=decDate(t,r+488,12)}}let c=8*32;for(let i=r;i<r+148;i++){c+=t[i]}for(let i=r+156;i<r+512;i++){c+=t[i]}this.cksumValid=c===this.cksum;if(this.cksum===undefined&&c===8*32){this.nullBlock=true}}#m(t,r=false){Object.assign(this,Object.fromEntries(Object.entries(t).filter((([t,i])=>!(i===null||i===undefined||t==="path"&&r||t==="linkpath"&&r||t==="global")))))}encode(t,r=0){if(!t){t=this.block=Buffer.alloc(512)}if(this.#p==="Unsupported"){this.#p="0"}if(!(t.length>=r+512)){throw new Error("need 512 bytes for header")}const i=this.ctime||this.atime?130:155;const o=splitPrefix(this.path||"",i);const a=o[0];const c=o[1];this.needPax=!!o[2];this.needPax=encString(t,r,100,a)||this.needPax;this.needPax=encNumber(t,r+100,8,this.mode)||this.needPax;this.needPax=encNumber(t,r+108,8,this.uid)||this.needPax;this.needPax=encNumber(t,r+116,8,this.gid)||this.needPax;this.needPax=encNumber(t,r+124,12,this.size)||this.needPax;this.needPax=encDate(t,r+136,12,this.mtime)||this.needPax;t[r+156]=this.#p.charCodeAt(0);this.needPax=encString(t,r+157,100,this.linkpath)||this.needPax;t.write("ustar\x0000",r+257,8);this.needPax=encString(t,r+265,32,this.uname)||this.needPax;this.needPax=encString(t,r+297,32,this.gname)||this.needPax;this.needPax=encNumber(t,r+329,8,this.devmaj)||this.needPax;this.needPax=encNumber(t,r+337,8,this.devmin)||this.needPax;this.needPax=encString(t,r+345,i,c)||this.needPax;if(t[r+475]!==0){this.needPax=encString(t,r+345,155,c)||this.needPax}else{this.needPax=encString(t,r+345,130,c)||this.needPax;this.needPax=encDate(t,r+476,12,this.atime)||this.needPax;this.needPax=encDate(t,r+488,12,this.ctime)||this.needPax}let l=8*32;for(let i=r;i<r+148;i++){l+=t[i]}for(let i=r+156;i<r+512;i++){l+=t[i]}this.cksum=l;encNumber(t,r+148,8,this.cksum);this.cksumValid=true;return this.needPax}get type(){return this.#p==="Unsupported"?this.#p:ur.get(this.#p)}get typeKey(){return this.#p}set type(t){const r=String(hr.get(t));if(isCode(r)||r==="Unsupported"){this.#p=r}else if(isCode(t)){this.#p=t}else{throw new TypeError("invalid entry type: "+t)}}}const splitPrefix=(t,r)=>{const i=100;let o=t;let a="";let c=undefined;const l=E.posix.parse(t).root||".";if(Buffer.byteLength(o)<i){c=[o,a,false]}else{a=E.posix.dirname(o);o=E.posix.basename(o);do{if(Buffer.byteLength(o)<=i&&Buffer.byteLength(a)<=r){c=[o,a,false]}else if(Buffer.byteLength(o)>i&&Buffer.byteLength(a)<=r){c=[o.slice(0,i-1),a,true]}else{o=E.posix.join(E.posix.basename(a),o);a=E.posix.dirname(a)}}while(a!==l&&c===undefined);if(!c){c=[t.slice(0,i-1),"",true]}}return c};const decString=(t,r,i)=>t.subarray(r,r+i).toString("utf8").replace(/\0.*/,"");const decDate=(t,r,i)=>numToDate(decNumber(t,r,i));const numToDate=t=>t===undefined?undefined:new Date(t*1e3);const decNumber=(t,r,i)=>Number(t[r])&128?parse(t.subarray(r,r+i)):decSmallNumber(t,r,i);const nanUndef=t=>isNaN(t)?undefined:t;const decSmallNumber=(t,r,i)=>nanUndef(parseInt(t.subarray(r,r+i).toString("utf8").replace(/\0.*$/,"").trim(),8));const fr={12:8589934591,8:2097151};const encNumber=(t,r,i,o)=>o===undefined?false:o>fr[i]||o<0?(encode(o,t.subarray(r,r+i)),true):(encSmallNumber(t,r,i,o),false);const encSmallNumber=(t,r,i,o)=>t.write(octalString(o,i),r,i,"ascii");const octalString=(t,r)=>padOctal(Math.floor(t).toString(8),r);const padOctal=(t,r)=>(t.length===r-1?t:new Array(r-t.length-1).join("0")+t+" ")+"\0";const encDate=(t,r,i,o)=>o===undefined?false:encNumber(t,r,i,o.getTime()/1e3);const dr=new Array(156).join("\0");const encString=(t,r,i,o)=>o===undefined?false:(t.write(o+dr,r,i,"utf8"),o.length!==Buffer.byteLength(o)||o.length>i);class Pax{atime;mtime;ctime;charset;comment;gid;uid;gname;uname;linkpath;dev;ino;nlink;path;size;mode;global;constructor(t,r=false){this.atime=t.atime;this.charset=t.charset;this.comment=t.comment;this.ctime=t.ctime;this.dev=t.dev;this.gid=t.gid;this.global=r;this.gname=t.gname;this.ino=t.ino;this.linkpath=t.linkpath;this.mtime=t.mtime;this.nlink=t.nlink;this.path=t.path;this.size=t.size;this.uid=t.uid;this.uname=t.uname}encode(){const t=this.encodeBody();if(t===""){return Buffer.allocUnsafe(0)}const r=Buffer.byteLength(t);const i=512*Math.ceil(1+r/512);const o=Buffer.allocUnsafe(i);for(let t=0;t<512;t++){o[t]=0}new Header({path:("PaxHeader/"+(0,E.basename)(this.path??"")).slice(0,99),mode:this.mode||420,uid:this.uid,gid:this.gid,size:r,mtime:this.mtime,type:this.global?"GlobalExtendedHeader":"ExtendedHeader",linkpath:"",uname:this.uname||"",gname:this.gname||"",devmaj:0,devmin:0,atime:this.atime,ctime:this.ctime}).encode(o);o.write(t,512,r,"utf8");for(let t=r+512;t<o.length;t++){o[t]=0}return o}encodeBody(){return this.encodeField("path")+this.encodeField("ctime")+this.encodeField("atime")+this.encodeField("dev")+this.encodeField("ino")+this.encodeField("nlink")+this.encodeField("charset")+this.encodeField("comment")+this.encodeField("gid")+this.encodeField("gname")+this.encodeField("linkpath")+this.encodeField("mtime")+this.encodeField("size")+this.encodeField("uid")+this.encodeField("uname")}encodeField(t){if(this[t]===undefined){return""}const r=this[t];const i=r instanceof Date?r.getTime()/1e3:r;const o=" "+(t==="dev"||t==="ino"||t==="nlink"?"SCHILY.":"")+t+"="+i+"\n";const a=Buffer.byteLength(o);let c=Math.floor(Math.log(a)/Math.log(10))+1;if(a+c>=Math.pow(10,c)){c+=1}const l=c+a;return l+o}static parse(t,r,i=false){return new Pax(merge(parseKV(t),r),i)}}const merge=(t,r)=>r?Object.assign({},r,t):t;const parseKV=t=>t.replace(/\n$/,"").split("\n").reduce(parseKVLine,Object.create(null));const parseKVLine=(t,r)=>{const i=parseInt(r,10);if(i!==Buffer.byteLength(r)+1){return t}r=r.slice((i+" ").length);const o=r.split("=");const a=o.shift();if(!a){return t}const c=a.replace(/^SCHILY\.(dev|ino|nlink)/,"$1");const l=o.join("=");t[c]=/^([A-Z]+\.)?([mac]|birth|creation)time$/.test(c)?new Date(Number(l)*1e3):/^[0-9]+$/.test(l)?+l:l;return t};const pr=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform;const mr=pr!=="win32"?t=>t:t=>t&&t.replace(/\\/g,"/");class ReadEntry extends Minipass{extended;globalExtended;header;startBlockSize;blockRemain;remain;type;meta=false;ignore=false;path;mode;uid;gid;uname;gname;size=0;mtime;atime;ctime;linkpath;dev;ino;nlink;invalid=false;absolute;unsupported=false;constructor(t,r,i){super({});this.pause();this.extended=r;this.globalExtended=i;this.header=t;this.remain=t.size??0;this.startBlockSize=512*Math.ceil(this.remain/512);this.blockRemain=this.startBlockSize;this.type=t.type;switch(this.type){case"File":case"OldFile":case"Link":case"SymbolicLink":case"CharacterDevice":case"BlockDevice":case"Directory":case"FIFO":case"ContiguousFile":case"GNUDumpDir":break;case"NextFileHasLongLinkpath":case"NextFileHasLongPath":case"OldGnuLongPath":case"GlobalExtendedHeader":case"ExtendedHeader":case"OldExtendedHeader":this.meta=true;break;default:this.ignore=true}if(!t.path){throw new Error("no path provided for tar.ReadEntry")}this.path=mr(t.path);this.mode=t.mode;if(this.mode){this.mode=this.mode&4095}this.uid=t.uid;this.gid=t.gid;this.uname=t.uname;this.gname=t.gname;this.size=this.remain;this.mtime=t.mtime;this.atime=t.atime;this.ctime=t.ctime;this.linkpath=t.linkpath?mr(t.linkpath):undefined;this.uname=t.uname;this.gname=t.gname;if(r){this.#m(r)}if(i){this.#m(i,true)}}write(t){const r=t.length;if(r>this.blockRemain){throw new Error("writing more to entry than is appropriate")}const i=this.remain;const o=this.blockRemain;this.remain=Math.max(0,i-r);this.blockRemain=Math.max(0,o-r);if(this.ignore){return true}if(i>=r){return super.write(t)}return super.write(t.subarray(0,i))}#m(t,r=false){if(t.path)t.path=mr(t.path);if(t.linkpath)t.linkpath=mr(t.linkpath);Object.assign(this,Object.fromEntries(Object.entries(t).filter((([t,i])=>!(i===null||i===undefined||t==="path"&&r)))))}}const warnMethod=(t,r,i,o={})=>{if(t.file){o.file=t.file}if(t.cwd){o.cwd=t.cwd}o.code=i instanceof Error&&i.code||r;o.tarCode=r;if(!t.strict&&o.recoverable!==false){if(i instanceof Error){o=Object.assign(i,o);i=i.message}t.emit("warn",r,i,o)}else if(i instanceof Error){t.emit("error",Object.assign(i,o))}else{t.emit("error",Object.assign(new Error(`${r}: ${i}`),o))}};const gr=1024*1024;const yr=Buffer.from([31,139]);const vr=Symbol("state");const _r=Symbol("writeEntry");const br=Symbol("readEntry");const wr=Symbol("nextEntry");const Er=Symbol("processEntry");const Sr=Symbol("extendedHeader");const $r=Symbol("globalExtendedHeader");const Rr=Symbol("meta");const Pr=Symbol("emitMeta");const Or=Symbol("buffer");const Ar=Symbol("queue");const xr=Symbol("ended");const Tr=Symbol("emittedEnd");const kr=Symbol("emit");const Cr=Symbol("unzip");const Ir=Symbol("consumeChunk");const Nr=Symbol("consumeChunkSub");const Dr=Symbol("consumeBody");const Lr=Symbol("consumeMeta");const Mr=Symbol("consumeHeader");const jr=Symbol("consuming");const Fr=Symbol("bufferConcat");const Ur=Symbol("maybeEnd");const Br=Symbol("writing");const Hr=Symbol("aborted");const Vr=Symbol("onDone");const zr=Symbol("sawValidEntry");const Gr=Symbol("sawNullBlock");const qr=Symbol("sawEOF");const Wr=Symbol("closeStream");const noop=()=>true;class Parser extends Be.EventEmitter{file;strict;maxMetaEntrySize;filter;brotli;writable=true;readable=false;[Ar]=new Yallist;[Or];[br];[_r];[vr]="begin";[Rr]="";[Sr];[$r];[xr]=false;[Cr];[Hr]=false;[zr];[Gr]=false;[qr]=false;[Br]=false;[jr]=false;[Tr]=false;constructor(t={}){super();this.file=t.file||"";this.on(Vr,(()=>{if(this[vr]==="begin"||this[zr]===false){this.warn("TAR_BAD_ARCHIVE","Unrecognized archive format")}}));if(t.ondone){this.on(Vr,t.ondone)}else{this.on(Vr,(()=>{this.emit("prefinish");this.emit("finish");this.emit("end")}))}this.strict=!!t.strict;this.maxMetaEntrySize=t.maxMetaEntrySize||gr;this.filter=typeof t.filter==="function"?t.filter:noop;const r=t.file&&(t.file.endsWith(".tar.br")||t.file.endsWith(".tbr"));this.brotli=!t.gzip&&t.brotli!==undefined?t.brotli:r?undefined:false;this.on("end",(()=>this[Wr]()));if(typeof t.onwarn==="function"){this.on("warn",t.onwarn)}if(typeof t.onReadEntry==="function"){this.on("entry",t.onReadEntry)}}warn(t,r,i={}){warnMethod(this,t,r,i)}[Mr](t,r){if(this[zr]===undefined){this[zr]=false}let i;try{i=new Header(t,r,this[Sr],this[$r])}catch(t){return this.warn("TAR_ENTRY_INVALID",t)}if(i.nullBlock){if(this[Gr]){this[qr]=true;if(this[vr]==="begin"){this[vr]="header"}this[kr]("eof")}else{this[Gr]=true;this[kr]("nullBlock")}}else{this[Gr]=false;if(!i.cksumValid){this.warn("TAR_ENTRY_INVALID","checksum failure",{header:i})}else if(!i.path){this.warn("TAR_ENTRY_INVALID","path is required",{header:i})}else{const t=i.type;if(/^(Symbolic)?Link$/.test(t)&&!i.linkpath){this.warn("TAR_ENTRY_INVALID","linkpath required",{header:i})}else if(!/^(Symbolic)?Link$/.test(t)&&!/^(Global)?ExtendedHeader$/.test(t)&&i.linkpath){this.warn("TAR_ENTRY_INVALID","linkpath forbidden",{header:i})}else{const t=this[_r]=new ReadEntry(i,this[Sr],this[$r]);if(!this[zr]){if(t.remain){const onend=()=>{if(!t.invalid){this[zr]=true}};t.on("end",onend)}else{this[zr]=true}}if(t.meta){if(t.size>this.maxMetaEntrySize){t.ignore=true;this[kr]("ignoredEntry",t);this[vr]="ignore";t.resume()}else if(t.size>0){this[Rr]="";t.on("data",(t=>this[Rr]+=t));this[vr]="meta"}}else{this[Sr]=undefined;t.ignore=t.ignore||!this.filter(t.path,t);if(t.ignore){this[kr]("ignoredEntry",t);this[vr]=t.remain?"ignore":"header";t.resume()}else{if(t.remain){this[vr]="body"}else{this[vr]="header";t.end()}if(!this[br]){this[Ar].push(t);this[wr]()}else{this[Ar].push(t)}}}}}}}[Wr](){queueMicrotask((()=>this.emit("close")))}[Er](t){let r=true;if(!t){this[br]=undefined;r=false}else if(Array.isArray(t)){const[r,...i]=t;this.emit(r,...i)}else{this[br]=t;this.emit("entry",t);if(!t.emittedEnd){t.on("end",(()=>this[wr]()));r=false}}return r}[wr](){do{}while(this[Er](this[Ar].shift()));if(!this[Ar].length){const t=this[br];const r=!t||t.flowing||t.size===t.remain;if(r){if(!this[Br]){this.emit("drain")}}else{t.once("drain",(()=>this.emit("drain")))}}}[Dr](t,r){const i=this[_r];if(!i){throw new Error("attempt to consume body without entry??")}const o=i.blockRemain??0;const a=o>=t.length&&r===0?t:t.subarray(r,r+o);i.write(a);if(!i.blockRemain){this[vr]="header";this[_r]=undefined;i.end()}return a.length}[Lr](t,r){const i=this[_r];const o=this[Dr](t,r);if(!this[_r]&&i){this[Pr](i)}return o}[kr](t,r,i){if(!this[Ar].length&&!this[br]){this.emit(t,r,i)}else{this[Ar].push([t,r,i])}}[Pr](t){this[kr]("meta",this[Rr]);switch(t.type){case"ExtendedHeader":case"OldExtendedHeader":this[Sr]=Pax.parse(this[Rr],this[Sr],false);break;case"GlobalExtendedHeader":this[$r]=Pax.parse(this[Rr],this[$r],true);break;case"NextFileHasLongPath":case"OldGnuLongPath":{const t=this[Sr]??Object.create(null);this[Sr]=t;t.path=this[Rr].replace(/\0.*/,"");break}case"NextFileHasLongLinkpath":{const t=this[Sr]||Object.create(null);this[Sr]=t;t.linkpath=this[Rr].replace(/\0.*/,"");break}default:throw new Error("unknown meta: "+t.type)}}abort(t){this[Hr]=true;this.emit("abort",t);this.warn("TAR_ABORT",t,{recoverable:false})}write(t,r,i){if(typeof r==="function"){i=r;r=undefined}if(typeof t==="string"){t=Buffer.from(t,typeof r==="string"?r:"utf8")}if(this[Hr]){i?.();return false}const o=this[Cr]===undefined||this.brotli===undefined&&this[Cr]===false;if(o&&t){if(this[Or]){t=Buffer.concat([this[Or],t]);this[Or]=undefined}if(t.length<yr.length){this[Or]=t;i?.();return true}for(let r=0;this[Cr]===undefined&&r<yr.length;r++){if(t[r]!==yr[r]){this[Cr]=false}}const r=this.brotli===undefined;if(this[Cr]===false&&r){if(t.length<512){if(this[xr]){this.brotli=true}else{this[Or]=t;i?.();return true}}else{try{new Header(t.subarray(0,512));this.brotli=false}catch(t){this.brotli=true}}}if(this[Cr]===undefined||this[Cr]===false&&this.brotli){const r=this[xr];this[xr]=false;this[Cr]=this[Cr]===undefined?new Unzip({}):new BrotliDecompress({});this[Cr].on("data",(t=>this[Ir](t)));this[Cr].on("error",(t=>this.abort(t)));this[Cr].on("end",(()=>{this[xr]=true;this[Ir]()}));this[Br]=true;const o=!!this[Cr][r?"end":"write"](t);this[Br]=false;i?.();return o}}this[Br]=true;if(this[Cr]){this[Cr].write(t)}else{this[Ir](t)}this[Br]=false;const a=this[Ar].length?false:this[br]?this[br].flowing:true;if(!a&&!this[Ar].length){this[br]?.once("drain",(()=>this.emit("drain")))}i?.();return a}[Fr](t){if(t&&!this[Hr]){this[Or]=this[Or]?Buffer.concat([this[Or],t]):t}}[Ur](){if(this[xr]&&!this[Tr]&&!this[Hr]&&!this[jr]){this[Tr]=true;const t=this[_r];if(t&&t.blockRemain){const r=this[Or]?this[Or].length:0;this.warn("TAR_BAD_ARCHIVE",`Truncated input (needed ${t.blockRemain} more bytes, only ${r} available)`,{entry:t});if(this[Or]){t.write(this[Or])}t.end()}this[kr](Vr)}}[Ir](t){if(this[jr]&&t){this[Fr](t)}else if(!t&&!this[Or]){this[Ur]()}else if(t){this[jr]=true;if(this[Or]){this[Fr](t);const r=this[Or];this[Or]=undefined;this[Nr](r)}else{this[Nr](t)}while(this[Or]&&this[Or]?.length>=512&&!this[Hr]&&!this[qr]){const t=this[Or];this[Or]=undefined;this[Nr](t)}this[jr]=false}if(!this[Or]||this[xr]){this[Ur]()}}[Nr](t){let r=0;const i=t.length;while(r+512<=i&&!this[Hr]&&!this[qr]){switch(this[vr]){case"begin":case"header":this[Mr](t,r);r+=512;break;case"ignore":case"body":r+=this[Dr](t,r);break;case"meta":r+=this[Lr](t,r);break;default:throw new Error("invalid state: "+this[vr])}}if(r<i){if(this[Or]){this[Or]=Buffer.concat([t.subarray(r),this[Or]])}else{this[Or]=t.subarray(r)}}}end(t,r,i){if(typeof t==="function"){i=t;r=undefined;t=undefined}if(typeof r==="function"){i=r;r=undefined}if(typeof t==="string"){t=Buffer.from(t,r)}if(i)this.once("finish",i);if(!this[Hr]){if(this[Cr]){if(t)this[Cr].write(t);this[Cr].end()}else{this[xr]=true;if(this.brotli===undefined)t=t||Buffer.alloc(0);if(t)this.write(t);this[Ur]()}}return this}}const stripTrailingSlashes=t=>{let r=t.length-1;let i=-1;while(r>-1&&t.charAt(r)==="/"){i=r;r--}return i===-1?t:t.slice(0,i)};const onReadEntryFunction=t=>{const r=t.onReadEntry;t.onReadEntry=r?t=>{r(t);t.resume()}:t=>t.resume()};const filesFilter=(t,r)=>{const i=new Map(r.map((t=>[stripTrailingSlashes(t),true])));const o=t.filter;const mapHas=(t,r="")=>{const o=r||(0,xe.parse)(t).root||".";let a;if(t===o)a=false;else{const r=i.get(t);if(r!==undefined){a=r}else{a=mapHas((0,xe.dirname)(t),o)}}i.set(t,a);return a};t.filter=o?(t,r)=>o(t,r)&&mapHas(stripTrailingSlashes(t)):t=>mapHas(stripTrailingSlashes(t))};const listFileSync=t=>{const r=new Parser(t);const i=t.file;let o;try{const a=w.statSync(i);const c=t.maxReadSize||16*1024*1024;if(a.size<c){r.end(w.readFileSync(i))}else{let t=0;const l=Buffer.allocUnsafe(c);o=w.openSync(i,"r");while(t<a.size){const i=w.readSync(o,l,0,c,t);t+=i;r.write(l.subarray(0,i))}r.end()}}finally{if(typeof o==="number"){try{w.closeSync(o)}catch(t){}}}};const listFile=(t,r)=>{const i=new Parser(t);const o=t.maxReadSize||16*1024*1024;const a=t.file;const c=new Promise(((t,r)=>{i.on("error",r);i.on("end",t);w.stat(a,((t,c)=>{if(t){r(t)}else{const t=new ReadStream(a,{readSize:o,size:c.size});t.on("error",r);t.pipe(i)}}))}));return c};const Kr=makeCommand(listFileSync,listFile,(t=>new Parser(t)),(t=>new Parser(t)),((t,r)=>{if(r?.length)filesFilter(t,r);if(!t.noResume)onReadEntryFunction(t)}));const modeFix=(t,r,i)=>{t&=4095;if(i){t=(t|384)&~18}if(r){if(t&256){t|=64}if(t&32){t|=8}if(t&4){t|=1}}return t};const{isAbsolute:Yr,parse:Zr}=E.win32;const stripAbsolutePath=t=>{let r="";let i=Zr(t);while(Yr(t)||i.root){const o=t.charAt(0)==="/"&&t.slice(0,4)!=="//?/"?"/":i.root;t=t.slice(o.length);r+=o;i=Zr(t)}return[r,t]};const Xr=["|","<",">","?",":"];const Jr=Xr.map((t=>String.fromCharCode(61440+t.charCodeAt(0))));const Qr=new Map(Xr.map(((t,r)=>[t,Jr[r]])));const es=new Map(Jr.map(((t,r)=>[t,Xr[r]])));const winchars_encode=t=>Xr.reduce(((t,r)=>t.split(r).join(Qr.get(r))),t);const decode=t=>Jr.reduce(((t,r)=>t.split(r).join(es.get(r))),t);const prefixPath=(t,r)=>{if(!r){return mr(t)}t=mr(t).replace(/^\.(\/|$)/,"");return stripTrailingSlashes(r)+"/"+t};const ts=16*1024*1024;const rs=Symbol("process");const ss=Symbol("file");const ns=Symbol("directory");const is=Symbol("symlink");const os=Symbol("hardlink");const as=Symbol("header");const cs=Symbol("read");const ls=Symbol("lstat");const us=Symbol("onlstat");const hs=Symbol("onread");const ds=Symbol("onreadlink");const ps=Symbol("openfile");const ms=Symbol("onopenfile");const gs=Symbol("close");const ys=Symbol("mode");const vs=Symbol("awaitDrain");const _s=Symbol("ondrain");const bs=Symbol("prefix");class WriteEntry extends Minipass{path;portable;myuid=process.getuid&&process.getuid()||0;myuser=process.env.USER||"";maxReadSize;linkCache;statCache;preservePaths;cwd;strict;mtime;noPax;noMtime;prefix;fd;blockLen=0;blockRemain=0;buf;pos=0;remain=0;length=0;offset=0;win32;absolute;header;type;linkpath;stat;onWriteEntry;#g=false;constructor(t,r={}){const i=dealias(r);super();this.path=mr(t);this.portable=!!i.portable;this.maxReadSize=i.maxReadSize||ts;this.linkCache=i.linkCache||new Map;this.statCache=i.statCache||new Map;this.preservePaths=!!i.preservePaths;this.cwd=mr(i.cwd||process.cwd());this.strict=!!i.strict;this.noPax=!!i.noPax;this.noMtime=!!i.noMtime;this.mtime=i.mtime;this.prefix=i.prefix?mr(i.prefix):undefined;this.onWriteEntry=i.onWriteEntry;if(typeof i.onwarn==="function"){this.on("warn",i.onwarn)}let o=false;if(!this.preservePaths){const[t,r]=stripAbsolutePath(this.path);if(t&&typeof r==="string"){this.path=r;o=t}}this.win32=!!i.win32||process.platform==="win32";if(this.win32){this.path=decode(this.path.replace(/\\/g,"/"));t=t.replace(/\\/g,"/")}this.absolute=mr(i.absolute||xe.resolve(this.cwd,t));if(this.path===""){this.path="./"}if(o){this.warn("TAR_ENTRY_INFO",`stripping ${o} from absolute path`,{entry:this,path:o+this.path})}const a=this.statCache.get(this.absolute);if(a){this[us](a)}else{this[ls]()}}warn(t,r,i={}){return warnMethod(this,t,r,i)}emit(t,...r){if(t==="error"){this.#g=true}return super.emit(t,...r)}[ls](){Ae.lstat(this.absolute,((t,r)=>{if(t){return this.emit("error",t)}this[us](r)}))}[us](t){this.statCache.set(this.absolute,t);this.stat=t;if(!t.isFile()){t.size=0}this.type=getType(t);this.emit("stat",t);this[rs]()}[rs](){switch(this.type){case"File":return this[ss]();case"Directory":return this[ns]();case"SymbolicLink":return this[is]();default:return this.end()}}[ys](t){return modeFix(t,this.type==="Directory",this.portable)}[bs](t){return prefixPath(t,this.prefix)}[as](){if(!this.stat){throw new Error("cannot write header before stat")}if(this.type==="Directory"&&this.portable){this.noMtime=true}this.onWriteEntry?.(this);this.header=new Header({path:this[bs](this.path),linkpath:this.type==="Link"&&this.linkpath!==undefined?this[bs](this.linkpath):this.linkpath,mode:this[ys](this.stat.mode),uid:this.portable?undefined:this.stat.uid,gid:this.portable?undefined:this.stat.gid,size:this.stat.size,mtime:this.noMtime?undefined:this.mtime||this.stat.mtime,type:this.type==="Unsupported"?undefined:this.type,uname:this.portable?undefined:this.stat.uid===this.myuid?this.myuser:"",atime:this.portable?undefined:this.stat.atime,ctime:this.portable?undefined:this.stat.ctime});if(this.header.encode()&&!this.noPax){super.write(new Pax({atime:this.portable?undefined:this.header.atime,ctime:this.portable?undefined:this.header.ctime,gid:this.portable?undefined:this.header.gid,mtime:this.noMtime?undefined:this.mtime||this.header.mtime,path:this[bs](this.path),linkpath:this.type==="Link"&&this.linkpath!==undefined?this[bs](this.linkpath):this.linkpath,size:this.header.size,uid:this.portable?undefined:this.header.uid,uname:this.portable?undefined:this.header.uname,dev:this.portable?undefined:this.stat.dev,ino:this.portable?undefined:this.stat.ino,nlink:this.portable?undefined:this.stat.nlink}).encode())}const t=this.header?.block;if(!t){throw new Error("failed to encode header")}super.write(t)}[ns](){if(!this.stat){throw new Error("cannot create directory entry without stat")}if(this.path.slice(-1)!=="/"){this.path+="/"}this.stat.size=0;this[as]();this.end()}[is](){Ae.readlink(this.absolute,((t,r)=>{if(t){return this.emit("error",t)}this[ds](r)}))}[ds](t){this.linkpath=mr(t);this[as]();this.end()}[os](t){if(!this.stat){throw new Error("cannot create link entry without stat")}this.type="Link";this.linkpath=mr(xe.relative(this.cwd,t));this.stat.size=0;this[as]();this.end()}[ss](){if(!this.stat){throw new Error("cannot create file entry without stat")}if(this.stat.nlink>1){const t=`${this.stat.dev}:${this.stat.ino}`;const r=this.linkCache.get(t);if(r?.indexOf(this.cwd)===0){return this[os](r)}this.linkCache.set(t,this.absolute)}this[as]();if(this.stat.size===0){return this.end()}this[ps]()}[ps](){Ae.open(this.absolute,"r",((t,r)=>{if(t){return this.emit("error",t)}this[ms](r)}))}[ms](t){this.fd=t;if(this.#g){return this[gs]()}if(!this.stat){throw new Error("should stat before calling onopenfile")}this.blockLen=512*Math.ceil(this.stat.size/512);this.blockRemain=this.blockLen;const r=Math.min(this.blockLen,this.maxReadSize);this.buf=Buffer.allocUnsafe(r);this.offset=0;this.pos=0;this.remain=this.stat.size;this.length=this.buf.length;this[cs]()}[cs](){const{fd:t,buf:r,offset:i,length:o,pos:a}=this;if(t===undefined||r===undefined){throw new Error("cannot read file without first opening")}Ae.read(t,r,i,o,a,((t,r)=>{if(t){return this[gs]((()=>this.emit("error",t)))}this[hs](r)}))}[gs](t=()=>{}){if(this.fd!==undefined)Ae.close(this.fd,t)}[hs](t){if(t<=0&&this.remain>0){const t=Object.assign(new Error("encountered unexpected EOF"),{path:this.absolute,syscall:"read",code:"EOF"});return this[gs]((()=>this.emit("error",t)))}if(t>this.remain){const t=Object.assign(new Error("did not encounter expected EOF"),{path:this.absolute,syscall:"read",code:"EOF"});return this[gs]((()=>this.emit("error",t)))}if(!this.buf){throw new Error("should have created buffer prior to reading")}if(t===this.remain){for(let r=t;r<this.length&&t<this.blockRemain;r++){this.buf[r+this.offset]=0;t++;this.remain++}}const r=this.offset===0&&t===this.buf.length?this.buf:this.buf.subarray(this.offset,this.offset+t);const i=this.write(r);if(!i){this[vs]((()=>this[_s]()))}else{this[_s]()}}[vs](t){this.once("drain",t)}write(t,r,i){if(typeof r==="function"){i=r;r=undefined}if(typeof t==="string"){t=Buffer.from(t,typeof r==="string"?r:"utf8")}if(this.blockRemain<t.length){const t=Object.assign(new Error("writing more data than expected"),{path:this.absolute});return this.emit("error",t)}this.remain-=t.length;this.blockRemain-=t.length;this.pos+=t.length;this.offset+=t.length;return super.write(t,null,i)}[_s](){if(!this.remain){if(this.blockRemain){super.write(Buffer.alloc(this.blockRemain))}return this[gs]((t=>t?this.emit("error",t):this.end()))}if(!this.buf){throw new Error("buffer lost somehow in ONDRAIN")}if(this.offset>=this.length){this.buf=Buffer.allocUnsafe(Math.min(this.blockRemain,this.buf.length));this.offset=0}this.length=this.buf.length-this.offset;this[cs]()}}class WriteEntrySync extends WriteEntry{sync=true;[ls](){this[us](Ae.lstatSync(this.absolute))}[is](){this[ds](Ae.readlinkSync(this.absolute))}[ps](){this[ms](Ae.openSync(this.absolute,"r"))}[cs](){let t=true;try{const{fd:r,buf:i,offset:o,length:a,pos:c}=this;if(r===undefined||i===undefined){throw new Error("fd and buf must be set in READ method")}const l=Ae.readSync(r,i,o,a,c);this[hs](l);t=false}finally{if(t){try{this[gs]((()=>{}))}catch(t){}}}}[vs](t){t()}[gs](t=()=>{}){if(this.fd!==undefined)Ae.closeSync(this.fd);t()}}class WriteEntryTar extends Minipass{blockLen=0;blockRemain=0;buf=0;pos=0;remain=0;length=0;preservePaths;portable;strict;noPax;noMtime;readEntry;type;prefix;path;mode;uid;gid;uname;gname;header;mtime;atime;ctime;linkpath;size;onWriteEntry;warn(t,r,i={}){return warnMethod(this,t,r,i)}constructor(t,r={}){const i=dealias(r);super();this.preservePaths=!!i.preservePaths;this.portable=!!i.portable;this.strict=!!i.strict;this.noPax=!!i.noPax;this.noMtime=!!i.noMtime;this.onWriteEntry=i.onWriteEntry;this.readEntry=t;const{type:o}=t;if(o==="Unsupported"){throw new Error("writing entry that should be ignored")}this.type=o;if(this.type==="Directory"&&this.portable){this.noMtime=true}this.prefix=i.prefix;this.path=mr(t.path);this.mode=t.mode!==undefined?this[ys](t.mode):undefined;this.uid=this.portable?undefined:t.uid;this.gid=this.portable?undefined:t.gid;this.uname=this.portable?undefined:t.uname;this.gname=this.portable?undefined:t.gname;this.size=t.size;this.mtime=this.noMtime?undefined:i.mtime||t.mtime;this.atime=this.portable?undefined:t.atime;this.ctime=this.portable?undefined:t.ctime;this.linkpath=t.linkpath!==undefined?mr(t.linkpath):undefined;if(typeof i.onwarn==="function"){this.on("warn",i.onwarn)}let a=false;if(!this.preservePaths){const[t,r]=stripAbsolutePath(this.path);if(t&&typeof r==="string"){this.path=r;a=t}}this.remain=t.size;this.blockRemain=t.startBlockSize;this.onWriteEntry?.(this);this.header=new Header({path:this[bs](this.path),linkpath:this.type==="Link"&&this.linkpath!==undefined?this[bs](this.linkpath):this.linkpath,mode:this.mode,uid:this.portable?undefined:this.uid,gid:this.portable?undefined:this.gid,size:this.size,mtime:this.noMtime?undefined:this.mtime,type:this.type,uname:this.portable?undefined:this.uname,atime:this.portable?undefined:this.atime,ctime:this.portable?undefined:this.ctime});if(a){this.warn("TAR_ENTRY_INFO",`stripping ${a} from absolute path`,{entry:this,path:a+this.path})}if(this.header.encode()&&!this.noPax){super.write(new Pax({atime:this.portable?undefined:this.atime,ctime:this.portable?undefined:this.ctime,gid:this.portable?undefined:this.gid,mtime:this.noMtime?undefined:this.mtime,path:this[bs](this.path),linkpath:this.type==="Link"&&this.linkpath!==undefined?this[bs](this.linkpath):this.linkpath,size:this.size,uid:this.portable?undefined:this.uid,uname:this.portable?undefined:this.uname,dev:this.portable?undefined:this.readEntry.dev,ino:this.portable?undefined:this.readEntry.ino,nlink:this.portable?undefined:this.readEntry.nlink}).encode())}const c=this.header?.block;if(!c)throw new Error("failed to encode header");super.write(c);t.pipe(this)}[bs](t){return prefixPath(t,this.prefix)}[ys](t){return modeFix(t,this.type==="Directory",this.portable)}write(t,r,i){if(typeof r==="function"){i=r;r=undefined}if(typeof t==="string"){t=Buffer.from(t,typeof r==="string"?r:"utf8")}const o=t.length;if(o>this.blockRemain){throw new Error("writing more to entry than is appropriate")}this.blockRemain-=o;return super.write(t,i)}end(t,r,i){if(this.blockRemain){super.write(Buffer.alloc(this.blockRemain))}if(typeof t==="function"){i=t;r=undefined;t=undefined}if(typeof r==="function"){i=r;r=undefined}if(typeof t==="string"){t=Buffer.from(t,r??"utf8")}if(i)this.once("finish",i);t?super.end(t,i):super.end(i);return this}}const getType=t=>t.isFile()?"File":t.isDirectory()?"Directory":t.isSymbolicLink()?"SymbolicLink":"Unsupported";class PackJob{path;absolute;entry;stat;readdir;pending=false;ignore=false;piped=false;constructor(t,r){this.path=t||"./";this.absolute=r}}const ws=Buffer.alloc(1024);const Es=Symbol("onStat");const Ss=Symbol("ended");const $s=Symbol("queue");const Rs=Symbol("current");const Ps=Symbol("process");const Os=Symbol("processing");const As=Symbol("processJob");const xs=Symbol("jobs");const Ts=Symbol("jobDone");const ks=Symbol("addFSEntry");const Cs=Symbol("addTarEntry");const Is=Symbol("stat");const Ns=Symbol("readdir");const Ds=Symbol("onreaddir");const Ls=Symbol("pipe");const Ms=Symbol("entry");const js=Symbol("entryOpt");const Fs=Symbol("writeEntryClass");const Us=Symbol("write");const Bs=Symbol("ondrain");class Pack extends Minipass{opt;cwd;maxReadSize;preservePaths;strict;noPax;prefix;linkCache;statCache;file;portable;zip;readdirCache;noDirRecurse;follow;noMtime;mtime;filter;jobs;[Fs];onWriteEntry;[$s];[xs]=0;[Os]=false;[Ss]=false;constructor(t={}){super();this.opt=t;this.file=t.file||"";this.cwd=t.cwd||process.cwd();this.maxReadSize=t.maxReadSize;this.preservePaths=!!t.preservePaths;this.strict=!!t.strict;this.noPax=!!t.noPax;this.prefix=mr(t.prefix||"");this.linkCache=t.linkCache||new Map;this.statCache=t.statCache||new Map;this.readdirCache=t.readdirCache||new Map;this.onWriteEntry=t.onWriteEntry;this[Fs]=WriteEntry;if(typeof t.onwarn==="function"){this.on("warn",t.onwarn)}this.portable=!!t.portable;if(t.gzip||t.brotli){if(t.gzip&&t.brotli){throw new TypeError("gzip and brotli are mutually exclusive")}if(t.gzip){if(typeof t.gzip!=="object"){t.gzip={}}if(this.portable){t.gzip.portable=true}this.zip=new Gzip(t.gzip)}if(t.brotli){if(typeof t.brotli!=="object"){t.brotli={}}this.zip=new BrotliCompress(t.brotli)}if(!this.zip)throw new Error("impossible");const r=this.zip;r.on("data",(t=>super.write(t)));r.on("end",(()=>super.end()));r.on("drain",(()=>this[Bs]()));this.on("resume",(()=>r.resume()))}else{this.on("drain",this[Bs])}this.noDirRecurse=!!t.noDirRecurse;this.follow=!!t.follow;this.noMtime=!!t.noMtime;if(t.mtime)this.mtime=t.mtime;this.filter=typeof t.filter==="function"?t.filter:()=>true;this[$s]=new Yallist;this[xs]=0;this.jobs=Number(t.jobs)||4;this[Os]=false;this[Ss]=false}[Us](t){return super.write(t)}add(t){this.write(t);return this}end(t,r,i){if(typeof t==="function"){i=t;t=undefined}if(typeof r==="function"){i=r;r=undefined}if(t){this.add(t)}this[Ss]=true;this[Ps]();if(i)i();return this}write(t){if(this[Ss]){throw new Error("write after end")}if(t instanceof ReadEntry){this[Cs](t)}else{this[ks](t)}return this.flowing}[Cs](t){const r=mr(xe.resolve(this.cwd,t.path));if(!this.filter(t.path,t)){t.resume()}else{const i=new PackJob(t.path,r);i.entry=new WriteEntryTar(t,this[js](i));i.entry.on("end",(()=>this[Ts](i)));this[xs]+=1;this[$s].push(i)}this[Ps]()}[ks](t){const r=mr(xe.resolve(this.cwd,t));this[$s].push(new PackJob(t,r));this[Ps]()}[Is](t){t.pending=true;this[xs]+=1;const r=this.follow?"stat":"lstat";Ae[r](t.absolute,((r,i)=>{t.pending=false;this[xs]-=1;if(r){this.emit("error",r)}else{this[Es](t,i)}}))}[Es](t,r){this.statCache.set(t.absolute,r);t.stat=r;if(!this.filter(t.path,r)){t.ignore=true}this[Ps]()}[Ns](t){t.pending=true;this[xs]+=1;Ae.readdir(t.absolute,((r,i)=>{t.pending=false;this[xs]-=1;if(r){return this.emit("error",r)}this[Ds](t,i)}))}[Ds](t,r){this.readdirCache.set(t.absolute,r);t.readdir=r;this[Ps]()}[Ps](){if(this[Os]){return}this[Os]=true;for(let t=this[$s].head;!!t&&this[xs]<this.jobs;t=t.next){this[As](t.value);if(t.value.ignore){const r=t.next;this[$s].removeNode(t);t.next=r}}this[Os]=false;if(this[Ss]&&!this[$s].length&&this[xs]===0){if(this.zip){this.zip.end(ws)}else{super.write(ws);super.end()}}}get[Rs](){return this[$s]&&this[$s].head&&this[$s].head.value}[Ts](t){this[$s].shift();this[xs]-=1;this[Ps]()}[As](t){if(t.pending){return}if(t.entry){if(t===this[Rs]&&!t.piped){this[Ls](t)}return}if(!t.stat){const r=this.statCache.get(t.absolute);if(r){this[Es](t,r)}else{this[Is](t)}}if(!t.stat){return}if(t.ignore){return}if(!this.noDirRecurse&&t.stat.isDirectory()&&!t.readdir){const r=this.readdirCache.get(t.absolute);if(r){this[Ds](t,r)}else{this[Ns](t)}if(!t.readdir){return}}t.entry=this[Ms](t);if(!t.entry){t.ignore=true;return}if(t===this[Rs]&&!t.piped){this[Ls](t)}}[js](t){return{onwarn:(t,r,i)=>this.warn(t,r,i),noPax:this.noPax,cwd:this.cwd,absolute:t.absolute,preservePaths:this.preservePaths,maxReadSize:this.maxReadSize,strict:this.strict,portable:this.portable,linkCache:this.linkCache,statCache:this.statCache,noMtime:this.noMtime,mtime:this.mtime,prefix:this.prefix,onWriteEntry:this.onWriteEntry}}[Ms](t){this[xs]+=1;try{const r=new this[Fs](t.path,this[js](t));return r.on("end",(()=>this[Ts](t))).on("error",(t=>this.emit("error",t)))}catch(t){this.emit("error",t)}}[Bs](){if(this[Rs]&&this[Rs].entry){this[Rs].entry.resume()}}[Ls](t){t.piped=true;if(t.readdir){t.readdir.forEach((r=>{const i=t.path;const o=i==="./"?"":i.replace(/\/*$/,"/");this[ks](o+r)}))}const r=t.entry;const i=this.zip;if(!r)throw new Error("cannot pipe without source");if(i){r.on("data",(t=>{if(!i.write(t)){r.pause()}}))}else{r.on("data",(t=>{if(!super.write(t)){r.pause()}}))}}pause(){if(this.zip){this.zip.pause()}return super.pause()}warn(t,r,i={}){warnMethod(this,t,r,i)}}class PackSync extends Pack{sync=true;constructor(t){super(t);this[Fs]=WriteEntrySync}pause(){}resume(){}[Is](t){const r=this.follow?"statSync":"lstatSync";this[Es](t,Ae[r](t.absolute))}[Ns](t){this[Ds](t,Ae.readdirSync(t.absolute))}[Ls](t){const r=t.entry;const i=this.zip;if(t.readdir){t.readdir.forEach((r=>{const i=t.path;const o=i==="./"?"":i.replace(/\/*$/,"/");this[ks](o+r)}))}if(!r)throw new Error("Cannot pipe without source");if(i){r.on("data",(t=>{i.write(t)}))}else{r.on("data",(t=>{super[Us](t)}))}}}const createFileSync=(t,r)=>{const i=new PackSync(t);const o=new WriteStreamSync(t.file,{mode:t.mode||438});i.pipe(o);addFilesSync(i,r)};const createFile=(t,r)=>{const i=new Pack(t);const o=new WriteStream(t.file,{mode:t.mode||438});i.pipe(o);const a=new Promise(((t,r)=>{o.on("error",r);o.on("close",t);i.on("error",r)}));addFilesAsync(i,r);return a};const addFilesSync=(t,r)=>{r.forEach((r=>{if(r.charAt(0)==="@"){Kr({file:E.resolve(t.cwd,r.slice(1)),sync:true,noResume:true,onReadEntry:r=>t.add(r)})}else{t.add(r)}}));t.end()};const addFilesAsync=async(t,r)=>{for(let i=0;i<r.length;i++){const o=String(r[i]);if(o.charAt(0)==="@"){await Kr({file:E.resolve(String(t.cwd),o.slice(1)),noResume:true,onReadEntry:r=>{t.add(r)}})}else{t.add(o)}}t.end()};const createSync=(t,r)=>{const i=new PackSync(t);addFilesSync(i,r);return i};const createAsync=(t,r)=>{const i=new Pack(t);addFilesAsync(i,r);return i};const Hs=makeCommand(createFileSync,createFile,createSync,createAsync,((t,r)=>{if(!r?.length){throw new TypeError("no paths specified to add to archive")}}));const Vs=process.env.__FAKE_PLATFORM__||process.platform;const zs=Vs==="win32";const{O_CREAT:Gs,O_TRUNC:qs,O_WRONLY:Ws}=Ae.constants;const Ks=Number(process.env.__FAKE_FS_O_FILENAME__)||Ae.constants.UV_FS_O_FILEMAP||0;const Ys=zs&&!!Ks;const Zs=512*1024;const Xs=Ks|qs|Gs|Ws;const Js=!Ys?()=>"w":t=>t<Zs?Xs:"w";const lchownSync=(t,r,i)=>{try{return w.lchownSync(t,r,i)}catch(t){if(t?.code!=="ENOENT")throw t}};const chown=(t,r,i,o)=>{w.lchown(t,r,i,(t=>{o(t&&t?.code!=="ENOENT"?t:null)}))};const chownrKid=(t,r,i,o,a)=>{if(r.isDirectory()){chownr(E.resolve(t,r.name),i,o,(c=>{if(c)return a(c);const l=E.resolve(t,r.name);chown(l,i,o,a)}))}else{const c=E.resolve(t,r.name);chown(c,i,o,a)}};const chownr=(t,r,i,o)=>{w.readdir(t,{withFileTypes:true},((a,c)=>{if(a){if(a.code==="ENOENT")return o();else if(a.code!=="ENOTDIR"&&a.code!=="ENOTSUP")return o(a)}if(a||!c.length)return chown(t,r,i,o);let l=c.length;let u=null;const then=a=>{if(u)return;if(a)return o(u=a);if(--l===0)return chown(t,r,i,o)};for(const o of c){chownrKid(t,o,r,i,then)}}))};const chownrKidSync=(t,r,i,o)=>{if(r.isDirectory())chownrSync(E.resolve(t,r.name),i,o);lchownSync(E.resolve(t,r.name),i,o)};const chownrSync=(t,r,i)=>{let o;try{o=w.readdirSync(t,{withFileTypes:true})}catch(o){const a=o;if(a?.code==="ENOENT")return;else if(a?.code==="ENOTDIR"||a?.code==="ENOTSUP")return lchownSync(t,r,i);else throw a}for(const a of o){chownrKidSync(t,a,r,i)}return lchownSync(t,r,i)};const optsArg=t=>{if(!t){t={mode:511}}else if(typeof t==="object"){t={mode:511,...t}}else if(typeof t==="number"){t={mode:t}}else if(typeof t==="string"){t={mode:parseInt(t,8)}}else{throw new TypeError("invalid options argument")}const r=t;const i=t.fs||{};t.mkdir=t.mkdir||i.mkdir||Ae.mkdir;t.mkdirAsync=t.mkdirAsync?t.mkdirAsync:async(t,i)=>new Promise(((o,a)=>r.mkdir(t,i,((t,r)=>t?a(t):o(r)))));t.stat=t.stat||i.stat||Ae.stat;t.statAsync=t.statAsync?t.statAsync:async t=>new Promise(((i,o)=>r.stat(t,((t,r)=>t?o(t):i(r)))));t.statSync=t.statSync||i.statSync||Ae.statSync;t.mkdirSync=t.mkdirSync||i.mkdirSync||Ae.mkdirSync;return r};const mkdirp_manual_mkdirpManualSync=(t,r,i)=>{const o=(0,xe.dirname)(t);const a={...optsArg(r),recursive:false};if(o===t){try{return a.mkdirSync(t,a)}catch(t){const r=t;if(r&&r.code!=="EISDIR"){throw t}return}}try{a.mkdirSync(t,a);return i||t}catch(r){const c=r;if(c&&c.code==="ENOENT"){return mkdirp_manual_mkdirpManualSync(t,a,mkdirp_manual_mkdirpManualSync(o,a,i))}if(c&&c.code!=="EEXIST"&&c&&c.code!=="EROFS"){throw r}try{if(!a.statSync(t).isDirectory())throw r}catch(t){throw r}}};const Qs=Object.assign((async(t,r,i)=>{const o=optsArg(r);o.recursive=false;const a=(0,xe.dirname)(t);if(a===t){return o.mkdirAsync(t,o).catch((t=>{const r=t;if(r&&r.code!=="EISDIR"){throw t}}))}return o.mkdirAsync(t,o).then((()=>i||t),(async r=>{const c=r;if(c&&c.code==="ENOENT"){return Qs(a,o).then((r=>Qs(t,o,r)))}if(c&&c.code!=="EEXIST"&&c.code!=="EROFS"){throw r}return o.statAsync(t).then((t=>{if(t.isDirectory()){return i}else{throw r}}),(()=>{throw r}))}))}),{sync:mkdirp_manual_mkdirpManualSync});const findMade=async(t,r,i)=>{if(i===r){return}return t.statAsync(r).then((t=>t.isDirectory()?i:undefined),(i=>{const o=i;return o&&o.code==="ENOENT"?findMade(t,(0,xe.dirname)(r),r):undefined}))};const findMadeSync=(t,r,i)=>{if(i===r){return undefined}try{return t.statSync(r).isDirectory()?i:undefined}catch(i){const o=i;return o&&o.code==="ENOENT"?findMadeSync(t,(0,xe.dirname)(r),r):undefined}};const mkdirp_native_mkdirpNativeSync=(t,r)=>{const i=optsArg(r);i.recursive=true;const o=(0,xe.dirname)(t);if(o===t){return i.mkdirSync(t,i)}const a=findMadeSync(i,t);try{i.mkdirSync(t,i);return a}catch(r){const o=r;if(o&&o.code==="ENOENT"){return mkdirp_manual_mkdirpManualSync(t,i)}else{throw r}}};const en=Object.assign((async(t,r)=>{const i={...optsArg(r),recursive:true};const o=(0,xe.dirname)(t);if(o===t){return await i.mkdirAsync(t,i)}return findMade(i,t).then((r=>i.mkdirAsync(t,i).then((t=>r||t)).catch((r=>{const o=r;if(o&&o.code==="ENOENT"){return Qs(t,i)}else{throw r}}))))}),{sync:mkdirp_native_mkdirpNativeSync});const tn=process.env.__TESTING_MKDIRP_PLATFORM__||process.platform;const pathArg=t=>{if(/\0/.test(t)){throw Object.assign(new TypeError("path must be a string without null bytes"),{path:t,code:"ERR_INVALID_ARG_VALUE"})}t=(0,xe.resolve)(t);if(tn==="win32"){const r=/[*|"<>?:]/;const{root:i}=(0,xe.parse)(t);if(r.test(t.substring(i.length))){throw Object.assign(new Error("Illegal characters in path."),{path:t,code:"EINVAL"})}}return t};const rn=process.env.__TESTING_MKDIRP_NODE_VERSION__||process.version;const sn=rn.replace(/^v/,"").split(".");const nn=+sn[0]>10||+sn[0]===10&&+sn[1]>=12;const on=!nn?()=>false:t=>optsArg(t).mkdirSync===Ae.mkdirSync;const an=Object.assign(!nn?()=>false:t=>optsArg(t).mkdir===Ae.mkdir,{sync:on});const mkdirpSync=(t,r)=>{t=pathArg(t);const i=optsArg(r);return on(i)?mkdirp_native_mkdirpNativeSync(t,i):mkdirp_manual_mkdirpManualSync(t,i)};const cn=null&&mkdirpSync;const ln=null&&mkdirpManual;const un=null&&mkdirpManualSync;const hn=null&&mkdirpNative;const fn=null&&mkdirpNativeSync;const dn=Object.assign((async(t,r)=>{t=pathArg(t);const i=optsArg(r);return an(i)?en(t,i):Qs(t,i)}),{mkdirpSync:mkdirpSync,mkdirpNative:en,mkdirpNativeSync:mkdirp_native_mkdirpNativeSync,mkdirpManual:Qs,mkdirpManualSync:mkdirp_manual_mkdirpManualSync,sync:mkdirpSync,native:en,nativeSync:mkdirp_native_mkdirpNativeSync,manual:Qs,manualSync:mkdirp_manual_mkdirpManualSync,useNative:an,useNativeSync:on});class CwdError extends Error{path;code;syscall="chdir";constructor(t,r){super(`${r}: Cannot cd into '${t}'`);this.path=t;this.code=r}get name(){return"CwdError"}}class SymlinkError extends Error{path;symlink;syscall="symlink";code="TAR_SYMLINK_ERROR";constructor(t,r){super("TAR_SYMLINK_ERROR: Cannot extract through symbolic link");this.symlink=t;this.path=r}get name(){return"SymlinkError"}}const cGet=(t,r)=>t.get(mr(r));const cSet=(t,r,i)=>t.set(mr(r),i);const checkCwd=(t,r)=>{Ae.stat(t,((i,o)=>{if(i||!o.isDirectory()){i=new CwdError(t,i?.code||"ENOTDIR")}r(i)}))};const mkdir=(t,r,i)=>{t=mr(t);const o=r.umask??18;const a=r.mode|448;const c=(a&o)!==0;const l=r.uid;const u=r.gid;const h=typeof l==="number"&&typeof u==="number"&&(l!==r.processUid||u!==r.processGid);const d=r.preserve;const p=r.unlink;const m=r.cache;const g=mr(r.cwd);const done=(r,o)=>{if(r){i(r)}else{cSet(m,t,true);if(o&&h){chownr(o,l,u,(t=>done(t)))}else if(c){Ae.chmod(t,a,i)}else{i()}}};if(m&&cGet(m,t)===true){return done()}if(t===g){return checkCwd(t,done)}if(d){return dn(t,{mode:a}).then((t=>done(null,t??undefined)),done)}const y=mr(E.relative(g,t));const v=y.split("/");mkdir_(g,v,a,m,p,g,undefined,done)};const mkdir_=(t,r,i,o,a,c,l,u)=>{if(!r.length){return u(null,l)}const h=r.shift();const d=mr(E.resolve(t+"/"+h));if(cGet(o,d)){return mkdir_(d,r,i,o,a,c,l,u)}Ae.mkdir(d,i,onmkdir(d,r,i,o,a,c,l,u))};const onmkdir=(t,r,i,o,a,c,l,u)=>h=>{if(h){Ae.lstat(t,((d,p)=>{if(d){d.path=d.path&&mr(d.path);u(d)}else if(p.isDirectory()){mkdir_(t,r,i,o,a,c,l,u)}else if(a){Ae.unlink(t,(h=>{if(h){return u(h)}Ae.mkdir(t,i,onmkdir(t,r,i,o,a,c,l,u))}))}else if(p.isSymbolicLink()){return u(new SymlinkError(t,t+"/"+r.join("/")))}else{u(h)}}))}else{l=l||t;mkdir_(t,r,i,o,a,c,l,u)}};const checkCwdSync=t=>{let r=false;let i=undefined;try{r=Ae.statSync(t).isDirectory()}catch(t){i=t?.code}finally{if(!r){throw new CwdError(t,i??"ENOTDIR")}}};const mkdirSync=(t,r)=>{t=mr(t);const i=r.umask??18;const o=r.mode|448;const a=(o&i)!==0;const c=r.uid;const l=r.gid;const u=typeof c==="number"&&typeof l==="number"&&(c!==r.processUid||l!==r.processGid);const h=r.preserve;const d=r.unlink;const p=r.cache;const m=mr(r.cwd);const done=r=>{cSet(p,t,true);if(r&&u){chownrSync(r,c,l)}if(a){Ae.chmodSync(t,o)}};if(p&&cGet(p,t)===true){return done()}if(t===m){checkCwdSync(m);return done()}if(h){return done(mkdirpSync(t,o)??undefined)}const g=mr(E.relative(m,t));const y=g.split("/");let v=undefined;for(let t=y.shift(),r=m;t&&(r+="/"+t);t=y.shift()){r=mr(E.resolve(r));if(cGet(p,r)){continue}try{Ae.mkdirSync(r,o);v=v||r;cSet(p,r,true)}catch(t){const i=Ae.lstatSync(r);if(i.isDirectory()){cSet(p,r,true);continue}else if(d){Ae.unlinkSync(r);Ae.mkdirSync(r,o);v=v||r;cSet(p,r,true);continue}else if(i.isSymbolicLink()){return new SymlinkError(r,r+"/"+y.join("/"))}}}return done(v)};const pn=Object.create(null);const{hasOwnProperty:mn}=Object.prototype;const normalizeUnicode=t=>{if(!mn.call(pn,t)){pn[t]=t.normalize("NFD")}return pn[t]};const gn=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform;const yn=gn==="win32";const getDirs=t=>{const r=t.split("/").slice(0,-1).reduce(((t,r)=>{const i=t[t.length-1];if(i!==undefined){r=(0,E.join)(i,r)}t.push(r||"/");return t}),[]);return r};class PathReservations{#y=new Map;#v=new Map;#_=new Set;reserve(t,r){t=yn?["win32 parallelization disabled"]:t.map((t=>stripTrailingSlashes((0,E.join)(normalizeUnicode(t))).toLowerCase()));const i=new Set(t.map((t=>getDirs(t))).reduce(((t,r)=>t.concat(r))));this.#v.set(r,{dirs:i,paths:t});for(const i of t){const t=this.#y.get(i);if(!t){this.#y.set(i,[r])}else{t.push(r)}}for(const t of i){const i=this.#y.get(t);if(!i){this.#y.set(t,[new Set([r])])}else{const t=i[i.length-1];if(t instanceof Set){t.add(r)}else{i.push(new Set([r]))}}}return this.#b(r)}#w(t){const r=this.#v.get(t);if(!r){throw new Error("function does not have any path reservations")}return{paths:r.paths.map((t=>this.#y.get(t))),dirs:[...r.dirs].map((t=>this.#y.get(t)))}}check(t){const{paths:r,dirs:i}=this.#w(t);return r.every((r=>r&&r[0]===t))&&i.every((r=>r&&r[0]instanceof Set&&r[0].has(t)))}#b(t){if(this.#_.has(t)||!this.check(t)){return false}this.#_.add(t);t((()=>this.#E(t)));return true}#E(t){if(!this.#_.has(t)){return false}const r=this.#v.get(t);if(!r){throw new Error("invalid reservation")}const{paths:i,dirs:o}=r;const a=new Set;for(const r of i){const i=this.#y.get(r);if(!i||i?.[0]!==t){continue}const o=i[1];if(!o){this.#y.delete(r);continue}i.shift();if(typeof o==="function"){a.add(o)}else{for(const t of o){a.add(t)}}}for(const r of o){const i=this.#y.get(r);const o=i?.[0];if(!i||!(o instanceof Set))continue;if(o.size===1&&i.length===1){this.#y.delete(r);continue}else if(o.size===1){i.shift();const t=i[0];if(typeof t==="function"){a.add(t)}}else{o.delete(t)}}this.#_.delete(t);a.forEach((t=>this.#b(t)));return true}}const vn=Symbol("onEntry");const _n=Symbol("checkFs");const bn=Symbol("checkFs2");const wn=Symbol("pruneCache");const En=Symbol("isReusable");const Sn=Symbol("makeFs");const $n=Symbol("file");const Rn=Symbol("directory");const Pn=Symbol("link");const On=Symbol("symlink");const An=Symbol("hardlink");const xn=Symbol("unsupported");const Tn=Symbol("checkPath");const kn=Symbol("mkdir");const Cn=Symbol("onError");const In=Symbol("pending");const Nn=Symbol("pend");const Dn=Symbol("unpend");const Ln=Symbol("ended");const Mn=Symbol("maybeClose");const jn=Symbol("skip");const Fn=Symbol("doChown");const Un=Symbol("uid");const Bn=Symbol("gid");const Hn=Symbol("checkedCwd");const Vn=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform;const zn=Vn==="win32";const Gn=1024;const unlinkFile=(t,r)=>{if(!zn){return w.unlink(t,r)}const i=t+".DELETE."+(0,S.randomBytes)(16).toString("hex");w.rename(t,i,(t=>{if(t){return r(t)}w.unlink(i,r)}))};const unlinkFileSync=t=>{if(!zn){return w.unlinkSync(t)}const r=t+".DELETE."+(0,S.randomBytes)(16).toString("hex");w.renameSync(t,r);w.unlinkSync(r)};const uint32=(t,r,i)=>t!==undefined&&t===t>>>0?t:r!==undefined&&r===r>>>0?r:i;const cacheKeyNormalize=t=>stripTrailingSlashes(mr(normalizeUnicode(t))).toLowerCase();const pruneCache=(t,r)=>{r=cacheKeyNormalize(r);for(const i of t.keys()){const o=cacheKeyNormalize(i);if(o===r||o.indexOf(r+"/")===0){t.delete(i)}}};const dropCache=t=>{for(const r of t.keys()){t.delete(r)}};class Unpack extends Parser{[Ln]=false;[Hn]=false;[In]=0;reservations=new PathReservations;transform;writable=true;readable=false;dirCache;uid;gid;setOwner;preserveOwner;processGid;processUid;maxDepth;forceChown;win32;newer;keep;noMtime;preservePaths;unlink;cwd;strip;processUmask;umask;dmode;fmode;chmod;constructor(t={}){t.ondone=()=>{this[Ln]=true;this[Mn]()};super(t);this.transform=t.transform;this.dirCache=t.dirCache||new Map;this.chmod=!!t.chmod;if(typeof t.uid==="number"||typeof t.gid==="number"){if(typeof t.uid!=="number"||typeof t.gid!=="number"){throw new TypeError("cannot set owner without number uid and gid")}if(t.preserveOwner){throw new TypeError("cannot preserve owner in archive and also set owner explicitly")}this.uid=t.uid;this.gid=t.gid;this.setOwner=true}else{this.uid=undefined;this.gid=undefined;this.setOwner=false}if(t.preserveOwner===undefined&&typeof t.uid!=="number"){this.preserveOwner=!!(process.getuid&&process.getuid()===0)}else{this.preserveOwner=!!t.preserveOwner}this.processUid=(this.preserveOwner||this.setOwner)&&process.getuid?process.getuid():undefined;this.processGid=(this.preserveOwner||this.setOwner)&&process.getgid?process.getgid():undefined;this.maxDepth=typeof t.maxDepth==="number"?t.maxDepth:Gn;this.forceChown=t.forceChown===true;this.win32=!!t.win32||zn;this.newer=!!t.newer;this.keep=!!t.keep;this.noMtime=!!t.noMtime;this.preservePaths=!!t.preservePaths;this.unlink=!!t.unlink;this.cwd=mr(E.resolve(t.cwd||process.cwd()));this.strip=Number(t.strip)||0;this.processUmask=!this.chmod?0:typeof t.processUmask==="number"?t.processUmask:process.umask();this.umask=typeof t.umask==="number"?t.umask:this.processUmask;this.dmode=t.dmode||511&~this.umask;this.fmode=t.fmode||438&~this.umask;this.on("entry",(t=>this[vn](t)))}warn(t,r,i={}){if(t==="TAR_BAD_ARCHIVE"||t==="TAR_ABORT"){i.recoverable=false}return super.warn(t,r,i)}[Mn](){if(this[Ln]&&this[In]===0){this.emit("prefinish");this.emit("finish");this.emit("end")}}[Tn](t){const r=mr(t.path);const i=r.split("/");if(this.strip){if(i.length<this.strip){return false}if(t.type==="Link"){const r=mr(String(t.linkpath)).split("/");if(r.length>=this.strip){t.linkpath=r.slice(this.strip).join("/")}else{return false}}i.splice(0,this.strip);t.path=i.join("/")}if(isFinite(this.maxDepth)&&i.length>this.maxDepth){this.warn("TAR_ENTRY_ERROR","path excessively deep",{entry:t,path:r,depth:i.length,maxDepth:this.maxDepth});return false}if(!this.preservePaths){if(i.includes("..")||zn&&/^[a-z]:\.\.$/i.test(i[0]??"")){this.warn("TAR_ENTRY_ERROR",`path contains '..'`,{entry:t,path:r});return false}const[o,a]=stripAbsolutePath(r);if(o){t.path=String(a);this.warn("TAR_ENTRY_INFO",`stripping ${o} from absolute path`,{entry:t,path:r})}}if(E.isAbsolute(t.path)){t.absolute=mr(E.resolve(t.path))}else{t.absolute=mr(E.resolve(this.cwd,t.path))}if(!this.preservePaths&&typeof t.absolute==="string"&&t.absolute.indexOf(this.cwd+"/")!==0&&t.absolute!==this.cwd){this.warn("TAR_ENTRY_ERROR","path escaped extraction target",{entry:t,path:mr(t.path),resolvedPath:t.absolute,cwd:this.cwd});return false}if(t.absolute===this.cwd&&t.type!=="Directory"&&t.type!=="GNUDumpDir"){return false}if(this.win32){const{root:r}=E.win32.parse(String(t.absolute));t.absolute=r+winchars_encode(String(t.absolute).slice(r.length));const{root:i}=E.win32.parse(t.path);t.path=i+winchars_encode(t.path.slice(i.length))}return true}[vn](t){if(!this[Tn](t)){return t.resume()}$.equal(typeof t.absolute,"string");switch(t.type){case"Directory":case"GNUDumpDir":if(t.mode){t.mode=t.mode|448}case"File":case"OldFile":case"ContiguousFile":case"Link":case"SymbolicLink":return this[_n](t);case"CharacterDevice":case"BlockDevice":case"FIFO":default:return this[xn](t)}}[Cn](t,r){if(t.name==="CwdError"){this.emit("error",t)}else{this.warn("TAR_ENTRY_ERROR",t,{entry:r});this[Dn]();r.resume()}}[kn](t,r,i){mkdir(mr(t),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:r},i)}[Fn](t){return this.forceChown||this.preserveOwner&&(typeof t.uid==="number"&&t.uid!==this.processUid||typeof t.gid==="number"&&t.gid!==this.processGid)||typeof this.uid==="number"&&this.uid!==this.processUid||typeof this.gid==="number"&&this.gid!==this.processGid}[Un](t){return uint32(this.uid,t.uid,this.processUid)}[Bn](t){return uint32(this.gid,t.gid,this.processGid)}[$n](t,r){const i=typeof t.mode==="number"?t.mode&4095:this.fmode;const o=new WriteStream(String(t.absolute),{flags:Js(t.size),mode:i,autoClose:false});o.on("error",(i=>{if(o.fd){w.close(o.fd,(()=>{}))}o.write=()=>true;this[Cn](i,t);r()}));let a=1;const done=i=>{if(i){if(o.fd){w.close(o.fd,(()=>{}))}this[Cn](i,t);r();return}if(--a===0){if(o.fd!==undefined){w.close(o.fd,(i=>{if(i){this[Cn](i,t)}else{this[Dn]()}r()}))}}};o.on("finish",(()=>{const r=String(t.absolute);const i=o.fd;if(typeof i==="number"&&t.mtime&&!this.noMtime){a++;const o=t.atime||new Date;const c=t.mtime;w.futimes(i,o,c,(t=>t?w.utimes(r,o,c,(r=>done(r&&t))):done()))}if(typeof i==="number"&&this[Fn](t)){a++;const o=this[Un](t);const c=this[Bn](t);if(typeof o==="number"&&typeof c==="number"){w.fchown(i,o,c,(t=>t?w.chown(r,o,c,(r=>done(r&&t))):done()))}}done()}));const c=this.transform?this.transform(t)||t:t;if(c!==t){c.on("error",(i=>{this[Cn](i,t);r()}));t.pipe(c)}c.pipe(o)}[Rn](t,r){const i=typeof t.mode==="number"?t.mode&4095:this.dmode;this[kn](String(t.absolute),i,(i=>{if(i){this[Cn](i,t);r();return}let o=1;const done=()=>{if(--o===0){r();this[Dn]();t.resume()}};if(t.mtime&&!this.noMtime){o++;w.utimes(String(t.absolute),t.atime||new Date,t.mtime,done)}if(this[Fn](t)){o++;w.chown(String(t.absolute),Number(this[Un](t)),Number(this[Bn](t)),done)}done()}))}[xn](t){t.unsupported=true;this.warn("TAR_ENTRY_UNSUPPORTED",`unsupported entry type: ${t.type}`,{entry:t});t.resume()}[On](t,r){this[Pn](t,String(t.linkpath),"symlink",r)}[An](t,r){const i=mr(E.resolve(this.cwd,String(t.linkpath)));this[Pn](t,i,"link",r)}[Nn](){this[In]++}[Dn](){this[In]--;this[Mn]()}[jn](t){this[Dn]();t.resume()}[En](t,r){return t.type==="File"&&!this.unlink&&r.isFile()&&r.nlink<=1&&!zn}[_n](t){this[Nn]();const r=[t.path];if(t.linkpath){r.push(t.linkpath)}this.reservations.reserve(r,(r=>this[bn](t,r)))}[wn](t){if(t.type==="SymbolicLink"){dropCache(this.dirCache)}else if(t.type!=="Directory"){pruneCache(this.dirCache,String(t.absolute))}}[bn](t,r){this[wn](t);const done=i=>{this[wn](t);r(i)};const checkCwd=()=>{this[kn](this.cwd,this.dmode,(r=>{if(r){this[Cn](r,t);done();return}this[Hn]=true;start()}))};const start=()=>{if(t.absolute!==this.cwd){const r=mr(E.dirname(String(t.absolute)));if(r!==this.cwd){return this[kn](r,this.dmode,(r=>{if(r){this[Cn](r,t);done();return}afterMakeParent()}))}}afterMakeParent()};const afterMakeParent=()=>{w.lstat(String(t.absolute),((r,i)=>{if(i&&(this.keep||this.newer&&i.mtime>(t.mtime??i.mtime))){this[jn](t);done();return}if(r||this[En](t,i)){return this[Sn](null,t,done)}if(i.isDirectory()){if(t.type==="Directory"){const r=this.chmod&&t.mode&&(i.mode&4095)!==t.mode;const afterChmod=r=>this[Sn](r??null,t,done);if(!r){return afterChmod()}return w.chmod(String(t.absolute),Number(t.mode),afterChmod)}if(t.absolute!==this.cwd){return w.rmdir(String(t.absolute),(r=>this[Sn](r??null,t,done)))}}if(t.absolute===this.cwd){return this[Sn](null,t,done)}unlinkFile(String(t.absolute),(r=>this[Sn](r??null,t,done)))}))};if(this[Hn]){start()}else{checkCwd()}}[Sn](t,r,i){if(t){this[Cn](t,r);i();return}switch(r.type){case"File":case"OldFile":case"ContiguousFile":return this[$n](r,i);case"Link":return this[An](r,i);case"SymbolicLink":return this[On](r,i);case"Directory":case"GNUDumpDir":return this[Rn](r,i)}}[Pn](t,r,i,o){w[i](r,String(t.absolute),(r=>{if(r){this[Cn](r,t)}else{this[Dn]();t.resume()}o()}))}}const callSync=t=>{try{return[null,t()]}catch(t){return[t,null]}};class UnpackSync extends Unpack{sync=true;[Sn](t,r){return super[Sn](t,r,(()=>{}))}[_n](t){this[wn](t);if(!this[Hn]){const r=this[kn](this.cwd,this.dmode);if(r){return this[Cn](r,t)}this[Hn]=true}if(t.absolute!==this.cwd){const r=mr(E.dirname(String(t.absolute)));if(r!==this.cwd){const i=this[kn](r,this.dmode);if(i){return this[Cn](i,t)}}}const[r,i]=callSync((()=>w.lstatSync(String(t.absolute))));if(i&&(this.keep||this.newer&&i.mtime>(t.mtime??i.mtime))){return this[jn](t)}if(r||this[En](t,i)){return this[Sn](null,t)}if(i.isDirectory()){if(t.type==="Directory"){const r=this.chmod&&t.mode&&(i.mode&4095)!==t.mode;const[o]=r?callSync((()=>{w.chmodSync(String(t.absolute),Number(t.mode))})):[];return this[Sn](o,t)}const[r]=callSync((()=>w.rmdirSync(String(t.absolute))));this[Sn](r,t)}const[o]=t.absolute===this.cwd?[]:callSync((()=>unlinkFileSync(String(t.absolute))));this[Sn](o,t)}[$n](t,r){const i=typeof t.mode==="number"?t.mode&4095:this.fmode;const oner=i=>{let a;try{w.closeSync(o)}catch(t){a=t}if(i||a){this[Cn](i||a,t)}r()};let o;try{o=w.openSync(String(t.absolute),Js(t.size),i)}catch(t){return oner(t)}const a=this.transform?this.transform(t)||t:t;if(a!==t){a.on("error",(r=>this[Cn](r,t)));t.pipe(a)}a.on("data",(t=>{try{w.writeSync(o,t,0,t.length)}catch(t){oner(t)}}));a.on("end",(()=>{let r=null;if(t.mtime&&!this.noMtime){const i=t.atime||new Date;const a=t.mtime;try{w.futimesSync(o,i,a)}catch(o){try{w.utimesSync(String(t.absolute),i,a)}catch(t){r=o}}}if(this[Fn](t)){const i=this[Un](t);const a=this[Bn](t);try{w.fchownSync(o,Number(i),Number(a))}catch(o){try{w.chownSync(String(t.absolute),Number(i),Number(a))}catch(t){r=r||o}}}oner(r)}))}[Rn](t,r){const i=typeof t.mode==="number"?t.mode&4095:this.dmode;const o=this[kn](String(t.absolute),i);if(o){this[Cn](o,t);r();return}if(t.mtime&&!this.noMtime){try{w.utimesSync(String(t.absolute),t.atime||new Date,t.mtime)}catch(o){}}if(this[Fn](t)){try{w.chownSync(String(t.absolute),Number(this[Un](t)),Number(this[Bn](t)))}catch(o){}}r();t.resume()}[kn](t,r){try{return mkdirSync(mr(t),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:r})}catch(t){return t}}[Pn](t,r,i,o){const a=`${i}Sync`;try{w[a](r,String(t.absolute));o();t.resume()}catch(r){return this[Cn](r,t)}}}const extractFileSync=t=>{const r=new UnpackSync(t);const i=t.file;const o=w.statSync(i);const a=t.maxReadSize||16*1024*1024;const c=new ReadStreamSync(i,{readSize:a,size:o.size});c.pipe(r)};const extractFile=(t,r)=>{const i=new Unpack(t);const o=t.maxReadSize||16*1024*1024;const a=t.file;const c=new Promise(((t,r)=>{i.on("error",r);i.on("close",t);w.stat(a,((t,c)=>{if(t){r(t)}else{const t=new ReadStream(a,{readSize:o,size:c.size});t.on("error",r);t.pipe(i)}}))}));return c};const qn=makeCommand(extractFileSync,extractFile,(t=>new UnpackSync(t)),(t=>new Unpack(t)),((t,r)=>{if(r?.length)filesFilter(t,r)}));const replaceSync=(t,r)=>{const i=new PackSync(t);let o=true;let a;let c;try{try{a=w.openSync(t.file,"r+")}catch(r){if(r?.code==="ENOENT"){a=w.openSync(t.file,"w+")}else{throw r}}const l=w.fstatSync(a);const u=Buffer.alloc(512);e:for(c=0;c<l.size;c+=512){for(let t=0,r=0;t<512;t+=r){r=w.readSync(a,u,t,u.length-t,c+t);if(c===0&&u[0]===31&&u[1]===139){throw new Error("cannot append to compressed archives")}if(!r){break e}}const r=new Header(u);if(!r.cksumValid){break}const i=512*Math.ceil((r.size||0)/512);if(c+i+512>l.size){break}c+=i;if(t.mtimeCache&&r.mtime){t.mtimeCache.set(String(r.path),r.mtime)}}o=false;streamSync(t,i,c,a,r)}finally{if(o){try{w.closeSync(a)}catch(t){}}}};const streamSync=(t,r,i,o,a)=>{const c=new WriteStreamSync(t.file,{fd:o,start:i});r.pipe(c);replace_addFilesSync(r,a)};const replaceAsync=(t,r)=>{r=Array.from(r);const i=new Pack(t);const getPos=(r,i,o)=>{const cb=(t,i)=>{if(t){w.close(r,(r=>o(t)))}else{o(null,i)}};let a=0;if(i===0){return cb(null,0)}let c=0;const l=Buffer.alloc(512);const onread=(o,u)=>{if(o||typeof u==="undefined"){return cb(o)}c+=u;if(c<512&&u){return w.read(r,l,c,l.length-c,a+c,onread)}if(a===0&&l[0]===31&&l[1]===139){return cb(new Error("cannot append to compressed archives"))}if(c<512){return cb(null,a)}const h=new Header(l);if(!h.cksumValid){return cb(null,a)}const d=512*Math.ceil((h.size??0)/512);if(a+d+512>i){return cb(null,a)}a+=d+512;if(a>=i){return cb(null,a)}if(t.mtimeCache&&h.mtime){t.mtimeCache.set(String(h.path),h.mtime)}c=0;w.read(r,l,0,512,a,onread)};w.read(r,l,0,512,a,onread)};const o=new Promise(((o,a)=>{i.on("error",a);let c="r+";const onopen=(l,u)=>{if(l&&l.code==="ENOENT"&&c==="r+"){c="w+";return w.open(t.file,c,onopen)}if(l||!u){return a(l)}w.fstat(u,((c,l)=>{if(c){return w.close(u,(()=>a(c)))}getPos(u,l.size,((c,l)=>{if(c){return a(c)}const h=new WriteStream(t.file,{fd:u,start:l});i.pipe(h);h.on("error",a);h.on("close",o);replace_addFilesAsync(i,r)}))}))};w.open(t.file,c,onopen)}));return o};const replace_addFilesSync=(t,r)=>{r.forEach((r=>{if(r.charAt(0)==="@"){Kr({file:E.resolve(t.cwd,r.slice(1)),sync:true,noResume:true,onReadEntry:r=>t.add(r)})}else{t.add(r)}}));t.end()};const replace_addFilesAsync=async(t,r)=>{for(let i=0;i<r.length;i++){const o=String(r[i]);if(o.charAt(0)==="@"){await Kr({file:E.resolve(String(t.cwd),o.slice(1)),noResume:true,onReadEntry:r=>t.add(r)})}else{t.add(o)}}t.end()};const Wn=makeCommand(replaceSync,replaceAsync,(()=>{throw new TypeError("file is required")}),(()=>{throw new TypeError("file is required")}),((t,r)=>{if(!isFile(t)){throw new TypeError("file is required")}if(t.gzip||t.brotli||t.file.endsWith(".br")||t.file.endsWith(".tbr")){throw new TypeError("cannot append to compressed archives")}if(!r?.length){throw new TypeError("no paths specified to add/replace")}}));const Kn=makeCommand(Wn.syncFile,Wn.asyncFile,Wn.syncNoFile,Wn.asyncNoFile,((t,r=[])=>{Wn.validate?.(t,r);mtimeFilter(t)}));const mtimeFilter=t=>{const r=t.filter;if(!t.mtimeCache){t.mtimeCache=new Map}t.filter=r?(i,o)=>r(i,o)&&!((t.mtimeCache?.get(i)??o.mtime??0)>(o.mtime??0)):(r,i)=>!((t.mtimeCache?.get(r)??i.mtime??0)>(i.mtime??0))};async function isUrlOk(t){try{const r=await fetch(t,{method:"HEAD"});return r.status===200}catch{return false}}async function getRepoInfo(t,r){const[,i,o,a,c,...l]=t.pathname.split("/");const u=r?r.replace(/^\//,""):l.join("/");if(a===undefined||a===""&&c===undefined){try{const t=await fetch(`https://api.github.com/repos/${i}/${o}`);if(t.status!==200){return}const r=await t.json();return{username:i,name:o,branch:r["default_branch"],filePath:u}}catch{return}}const h=r?`${c}/${l.join("/")}`.replace(new RegExp(`/${u}|/$`),""):c;if(i&&o&&h&&a==="tree"){return{username:i,name:o,branch:h,filePath:u}}}function hasRepo({username:t,name:r,branch:i,filePath:o}){const a=`https://api.github.com/repos/${t}/${r}/contents`;const c=`${o?`/${o}`:""}/package.json`;return isUrlOk(`${a+c}?ref=${i}`)}function existsInRepo(t){try{const r=new URL(t);return isUrlOk(r.href)}catch{return isUrlOk(`https://api.github.com/repos/zuplo/zuplo/contents/examples/${encodeURIComponent(t)}`)}}async function downloadTarStream(t,r=50*1024*1024){const i=await fetch(t);if(!i.body){throw new Error(`Failed to download: ${t}`)}const o=i.headers.get("content-length");if(o&&parseInt(o,10)>r){throw new Error(`File too large! ${o} bytes exceeds limit of ${r} bytes`)}const a=i.body;const c=Fe.Readable.fromWeb(a);let l=0;const u=new Fe.Transform({transform(t,i,o){l+=t.length;if(l>r){return o(new Error(`Download aborted! File size exceeded ${r} bytes`))}o(null,t)}});return c.pipe(u)}async function downloadAndExtractRepo(t,{username:r,name:i,branch:o,filePath:a},c){const l=`https://codeload.github.com/${r}/${i}/tar.gz/${o}`;if(c){console.log(`Downloading repo from ${l}`)}let u=null;await(0,Ue.pipeline)(await downloadTarStream(l),qn({cwd:t,strip:a?a.split("/").length+1:1,filter:t=>{if(u===null){const r=t.split(xe.sep);u=r.length?r[0]:null}return t.startsWith(`${u}${a?`/${a}/`:"/"}`)}}))}async function downloadAndExtractExample(t,r,i){if(r==="__internal-testing-retry"){throw new Error("This is an internal example for testing the CLI.")}const o="https://codeload.github.com/zuplo/zuplo/tar.gz/main";if(i){console.log(`Downloading example from ${o}`)}await(0,Ue.pipeline)(await downloadTarStream(o),qn({cwd:t,strip:2+r.split("/").length,filter:t=>t.includes(`zuplo-main/examples/${r}/`)}))}function isInGitRepository(){try{(0,je.execSync)("git rev-parse --is-inside-work-tree",{stdio:"ignore"});return true}catch{}return false}function isInMercurialRepository(){try{(0,je.execSync)("hg --cwd . root",{stdio:"ignore"});return true}catch{}return false}function isDefaultBranchSet(){try{(0,je.execSync)("git config init.defaultBranch",{stdio:"ignore"});return true}catch{}return false}function tryGitInit(t,r){let i=false;const o=r?"inherit":"ignore";try{(0,je.execSync)("git --version",{stdio:o});if(isInGitRepository()||isInMercurialRepository()){return false}(0,je.execSync)("git init",{stdio:o});i=true;if(!isDefaultBranchSet()){(0,je.execSync)("git checkout -b main",{stdio:o})}(0,je.execSync)("git add -A",{stdio:o});(0,je.execSync)('git commit -m "Initial commit from Create Next App"',{stdio:o});return true}catch(o){if(r){console.error("Git init failed:",o)}if(i){try{(0,Ae.rmSync)((0,xe.join)(t,".git"),{recursive:true,force:true})}catch{}}return false}}var Yn=__nccwpck_require__(4791);var Zn=__nccwpck_require__.n(Yn);async function install(t,r,i){const o=["install"];if(!r){console.log((0,ke.yellow)("You appear to be offline.\nFalling back to the local cache."));o.push("--offline")}else if(t==="npm"){o.push("--prefer-offline");o.push("--no-audit");o.push("--no-fund")}if(i){o.push("--verbose")}return new Promise(((r,i)=>{const a=Zn()(t,o,{stdio:"inherit",env:{...process.env,ADBLOCK:"1",NODE_ENV:"development",DISABLE_OPENCOLLECTIVE:"1"}});a.on("close",(a=>{if(a!==0){i({command:`${t} ${o.join(" ")}`});return}r()}))}))}function isFolderEmpty(t,r){const i=[".DS_Store",".git",".gitattributes",".gitignore",".gitlab-ci.yml",".hg",".hgcheck",".hgignore",".idea",".npmignore",".travis.yml","LICENSE","Thumbs.db","docs","mkdocs.yml","npm-debug.log","yarn-debug.log","yarn-error.log","yarnrc.yml",".yarn"];const o=(0,Ae.readdirSync)(t).filter((t=>!i.includes(t)&&!/\.iml$/.test(t)));if(o.length>0){console.log(`The directory ${(0,ke.green)(r)} contains files that could conflict:`);console.log();for(const r of o){try{const i=(0,Ae.lstatSync)((0,xe.join)(t,r));if(i.isDirectory()){console.log(` ${(0,ke.blue)(r)}/`)}else{console.log(` ${r}`)}}catch{console.log(` ${r}`)}}console.log();console.log("Either try using a new directory name, or remove the files listed above.");console.log();return false}return true}const Xn=require("dns/promises");var Jn=__nccwpck_require__(7016);var Qn=__nccwpck_require__.n(Jn);function getProxy(){if(process.env.https_proxy){return process.env.https_proxy}try{const t=(0,je.execSync)("npm config get https-proxy").toString().trim();return t!=="null"?t:undefined}catch{return}}async function getOnline(){try{await(0,Xn.lookup)("registry.yarnpkg.com");return true}catch{const t=getProxy();if(!t){return false}const{hostname:r}=Qn().parse(t);if(!r){return false}try{await(0,Xn.lookup)(r);return true}catch{return false}}}const ei=require("constants");const ti=require("fs/promises");var ri=__nccwpck_require__.n(ti);async function isWriteable(t){try{await(0,ti.access)(t,ei.W_OK);return true}catch{return false}}var si=__nccwpck_require__(857);var ni=__nccwpck_require__.n(si);var ii=__nccwpck_require__(4761);const identity=t=>t;const copy=async(t,r,{cwd:i,rename:o=identity,parents:a=true,verbose:c=false}={})=>{const l=typeof t==="string"?[t]:t;if(l.length===0||!r){throw new TypeError("`src` and `dest` are required")}const u=await(0,ii.async)(l,{cwd:i,dot:true,absolute:false,stats:false});const h=i?(0,xe.resolve)(i,r):r;return Promise.all(u.map((async t=>{const r=(0,xe.dirname)(t);const l=o((0,xe.basename)(t),t);const u=i?(0,xe.resolve)(i,t):t;const d=a?(0,xe.join)(h,r,l):(0,xe.join)(h,l);await(0,ti.mkdir)((0,xe.dirname)(d),{recursive:true});if(c){console.log(`Copying ${u} to ${d}`)}return(0,ti.copyFile)(u,d)})))};const getTemplateFile=({template:t,file:r})=>__nccwpck_require__.ab+"templates/"+t+"/"+r;const installTemplate=async({appName:t,root:r,packageManager:i,isOnline:o,template:a,eslint:c,prettier:l,installPackages:u,verbose:h,zuploVersion:d})=>{var p;console.log((0,ke.bold)(`Using ${i}.`));console.log("\nInitializing project with template:",a,"\n");const m=__nccwpck_require__.ab+"templates/"+a;const g=["**","!vscode/**"];if(!c)g.push("!eslintrc.json");if(!l)g.push("!prettierrc.json");await copy(g,r,{parents:true,cwd:m,verbose:h,rename(t){switch(t){case"gitignore":case"eslintrc.json":case"prettierrc.json":{return`.${t}`}case"README-template.md":{return"README.md"}default:{return t}}}});const y=["settings.json","launch.json"];for(const t of y){const i=Te().join(m,"vscode",t);const o=Te().join(r,".vscode",t);if((0,Ae.existsSync)(i)){await ri().mkdir(Te().join(r,".vscode"),{recursive:true});await ri().copyFile(i,o)}}const v=(p=process.env.ZUPLO_PRIVATE_TEST_VERSION)!==null&&p!==void 0?p:d;const b=new me.SemVer(v);const w={name:t,version:"0.1.0",type:"module",private:true,scripts:{dev:`zuplo dev`,test:"zuplo test",docs:"zuplo docs",...c?{lint:"eslint"}:{}},dependencies:{zuplo:`^${b.major}`},devDependencies:{typescript:"^5","@types/node":"^22"}};if(c){w.devDependencies={...w.devDependencies,eslint:"^8","@typescript-eslint/eslint-plugin":"^8","@typescript-eslint/parser":"^8"}}if(l){w.devDependencies={...w.devDependencies,prettier:"^3"}}if(c&&l){w.devDependencies={...w.devDependencies,"eslint-config-prettier":"^9"};const t=Te().join(r,".eslintrc.json");const i=await ri().readFile(t,"utf-8").then(JSON.parse);i.extends.push("prettier");await ri().writeFile(t,JSON.stringify(i,null,2)+ni().EOL,"utf-8")}w.workspaces=["docs"];const sortObjectKeys=t=>Object.keys(t).sort().reduce(((r,i)=>{r[i]=t[i];return r}),{});if(w.dependencies){w.dependencies=sortObjectKeys(w.dependencies)}if(w.devDependencies){w.devDependencies=sortObjectKeys(w.devDependencies)}const E=Object.keys(w.devDependencies).length;if(!E)delete w.devDependencies;await ri().writeFile(Te().join(r,"package.json"),JSON.stringify(w,null,2)+ni().EOL);let S="^0.53";try{const t=await fetch("https://api.github.com/repos/zuplo/zudoku/releases/latest");const r=await t.json();const i=r.tag_name.replace("v","");const o=new me.SemVer(i);S=`^${o.major}.${o.minor}`}catch{console.warn("\nFailed to determine the latest dev portal version. Using the default version.")}const $={name:"docs",version:"0.1.0",type:"module",private:true,scripts:{dev:"zudoku dev --zuplo",build:"zudoku build --zuplo",...c?{lint:"eslint"}:{}},dependencies:{react:"^19","react-dom":"^19","@mdx-js/react":"3.0.1",zudoku:S},devDependencies:{"@types/node":"^22","@types/react":"^19","@types/react-dom":"^19",typescript:"^5"}};await ri().writeFile(Te().join(r,"docs","package.json"),JSON.stringify($,null,2)+ni().EOL);if(!u)return;console.log("\nInstalling dependencies:");for(const t in w.dependencies)console.log(`- ${(0,ke.cyan)(t)}`);if(E){console.log("\nInstalling devDependencies:");for(const t in w.devDependencies)console.log(`- ${(0,ke.cyan)(t)}`)}console.log();await install(i,o,h)};class DownloadError extends Error{}async function runZuploInit(t,r){return new Promise(((i,o)=>{const a=["zuplo","init",t];if(r){a.push("--yes")}console.log();console.log("Initializing Zuplo platform resources...");console.log();const c=process.platform==="win32"?"npx.cmd":"npx";const l=(0,je.spawn)(c,a,{stdio:"inherit"});l.on("close",((t,r)=>{if(t===0){i();return}let a;if(t!==null&&t!==undefined){a=`exited with code ${t}`}else if(r){a=`was terminated by signal ${r}`}else{a="exited unsuccessfully"}o(new Error(`Failed to initialize Zuplo platform resources: "zuplo init" ${a}. See the output above for details.`))}));l.on("error",(t=>{o(t)}))}))}async function createApp({appPath:t,packageManager:r,example:i,examplePath:o,eslint:a,prettier:c,installPackages:l,empty:u,initGit:h,verbose:d,zuploVersion:p,runInit:m,skipPrompts:g}){let y;const v=`default${u?"-empty":""}`;if(i){let A;try{A=new URL(i)}catch(x){const T=x;if(T.code!=="ERR_INVALID_URL"){console.error(x);process.exit(1)}}if(A){if(A.origin!=="https://github.com"){console.error(`Invalid URL: ${(0,ke.red)(`"${i}"`)}. Only GitHub repositories are supported. Please use a GitHub URL and try again.`);process.exit(1)}y=await getRepoInfo(A,o);if(!y){console.error(`Found invalid GitHub URL: ${(0,ke.red)(`"${i}"`)}. Please fix the URL and try again.`);process.exit(1)}const k=await hasRepo(y);if(!k){console.error(`Could not locate the repository for ${(0,ke.red)(`"${i}"`)}. Please check that the repository exists and try again.`);process.exit(1)}}else if(i!=="__internal-testing-retry"){const C=await existsInRepo(i);if(!C){console.error(`Could not locate an example named ${(0,ke.red)(`"${i}"`)}. It could be due to the following:\n`,`1. Your spelling of example ${(0,ke.red)(`"${i}"`)} might be incorrect.\n`,`2. You might not be connected to the internet or you are behind a proxy.`);process.exit(1)}}}const b=(0,xe.resolve)(t);if(!await isWriteable((0,xe.dirname)(b))){console.error("The application path is not writable, please check folder permissions and try again.");console.error("It is likely you do not have write permissions for this folder.");process.exit(1)}const w=(0,xe.basename)(b);(0,Ae.mkdirSync)(b,{recursive:true});if(!isFolderEmpty(b,w)){process.exit(1)}const E=r==="yarn";const S=!E||await getOnline();const $=process.cwd();console.log(`Creating a new Zuplo API in ${(0,ke.green)(b)}.`);console.log();process.chdir(b);const R=(0,xe.join)(b,"package.json");let P=false;if(i){try{if(y){const N=y;console.log(`Downloading files from repo ${(0,ke.cyan)(i)}. This might take a moment.`);console.log();await Me()((()=>downloadAndExtractRepo(b,N,d)),{retries:3})}else{console.log(`Downloading files for example ${(0,ke.cyan)(i)}. This might take a moment.`);console.log();await Me()((()=>downloadAndExtractExample(b,i,d)),{retries:3})}}catch(D){function isErrorLike(t){return typeof t==="object"&&t!==null&&typeof t.message==="string"}throw new DownloadError(isErrorLike(D)?D.message:`${D}`)}const I=(0,xe.join)(b,".gitignore");if(!(0,Ae.existsSync)(I)){(0,Ae.copyFileSync)(getTemplateFile({template:v,file:"gitignore"}),I)}P=(0,Ae.existsSync)(R);if(l&&P){console.log("Installing packages. This might take a couple of minutes.");console.log();await install(r,S,d);console.log()}}else{await installTemplate({appName:w,root:b,template:v,packageManager:r,isOnline:S,eslint:a,prettier:c,installPackages:l,verbose:d,zuploVersion:p})}if(h){if(tryGitInit(b,d)){console.log("Initialized a git repository.");console.log()}}let O;if((0,xe.join)($,w)===t){O=w}else{O=t}console.log(`${(0,ke.green)("Success!")} Created ${w} at ${t}`);if(m){try{await runZuploInit(b,g)}catch(L){console.log();console.log(`${(0,ke.red)("Note:")} Failed to initialize Zuplo platform resources.`);console.log("You can run 'zuplo init' later to set up your project on the platform.");console.log()}}if(P){console.log("Inside that directory, you can run several commands:");console.log();console.log((0,ke.cyan)(` ${r} ${E?"":"run "}dev`));console.log(" Starts the development server.");console.log();console.log((0,ke.cyan)(` ${r} ${E?"":"run "}build`));console.log(" Builds the app for production.");console.log();console.log((0,ke.cyan)(` ${r} start`));console.log(" Runs the built app in production mode.");console.log();console.log("We suggest that you begin by typing:");console.log();console.log((0,ke.cyan)(" cd"),O);console.log(` ${(0,ke.cyan)(`${r} ${E?"":"run "}dev`)}`)}console.log()}function getPkgManager(){var t;const r=(t=process.env.npm_config_user_agent)!==null&&t!==void 0?t:"";if(r.startsWith("yarn")){return"yarn"}if(r.startsWith("pnpm")){return"pnpm"}if(r.startsWith("bun")){return"bun"}return"npm"}var oi=__nccwpck_require__(7825);var ai=__nccwpck_require__.n(oi);function validateNpmName(t){const r=ai()(t);if(r.validForNewPackages){return{valid:true}}return{valid:false,problems:[...r.errors||[],...r.warnings||[]]}}let ci="";const handleSigTerm=()=>process.exit(0);process.on("SIGINT",handleSigTerm);process.on("SIGTERM",handleSigTerm);const onPromptState=t=>{if(t.aborted){process.stdout.write("[?25h");process.stdout.write("\n");process.exit(1)}};const li=JSON.parse((0,Ae.readFileSync)(Te().resolve(__dirname,Te().join("..","package.json")),"utf-8"));const ui=new p(li.name).version(li.version,"-v, --version","Output the current version of create-zuplo-api.").argument("[directory]").usage("[directory] [options]").helpOption("-h, --help","Display this help message.").option("--eslint","Initialize with ESLint config.").option("--prettier","Initialize with Prettier config.").option("--empty","Initialize an empty project.").option("--use-npm","Explicitly tell the CLI to bootstrap the application using npm.").option("--use-pnpm","Explicitly tell the CLI to bootstrap the application using pnpm.").option("--use-yarn","Explicitly tell the CLI to bootstrap the application using Yarn.").option("--use-bun","Explicitly tell the CLI to bootstrap the application using Bun.").option("--reset, --reset-preferences","Reset the preferences saved for create-zuplo-api.").option("--git","Whether or not to initialize the project as a git repo.").option("--version-check","Whether or not to check for an outdated version.").option("--install","Whether or not to install packages.").option("--verbose","Enable verbose logging.",false).option("--yes","Use saved preferences or defaults for unprovided options.").option("--init","Run Zuplo platform initialization after scaffolding (create project and link environment).").option("-e, --example <example-name|github-url>",`\n\n An example to bootstrap the api with. You can use an example name\n from the official Zuplo repo or a public GitHub URL. The URL can use\n any branch and/or subdirectory.\n`).option("--example-path <path-to-example>",`\n\n In a rare case, your GitHub URL might contain a branch name with\n a slash (e.g. bug/fix-1) and the path to the example (e.g. foo/bar).\n In this case, you must specify the path to the example separately:\n --example-path foo/bar\n`).action((t=>{if(t&&!t.startsWith("--no-")){ci=t}})).allowUnknownOption().parse(process.argv);const hi=ui.opts();const{args:fi}=ui;const di=hi.useNpm?"npm":hi.usePnpm?"pnpm":hi.useYarn?"yarn":hi.useBun?"bun":getPkgManager();async function run(){var t,i,o,a,c;const l=new Conf({projectName:"create-zuplo-api"});if(hi.resetPreferences){const{resetPreferences:t}=await Ie()({onState:onPromptState,type:"toggle",name:"resetPreferences",message:"Would you like to reset the saved preferences?",initial:false,active:"Yes",inactive:"No"});if(t){l.clear();console.log("The preferences have been reset successfully!")}process.exit(0)}if(typeof ci==="string"){ci=ci.trim()}if(!ci){const t=await Ie()({onState:onPromptState,type:"text",name:"path",message:"What is your project named?",initial:"my-api",validate:t=>{const r=validateNpmName((0,xe.basename)((0,xe.resolve)(t)));if(r.valid){return true}return`Invalid project name: ${r.problems[0]}`}});if(typeof t.path==="string"){ci=t.path.trim()}}if(!ci){console.log("\nPlease specify the project directory:\n"+` ${(0,ke.cyan)(hi.name())} ${(0,ke.green)("<project-directory>")}\n`+"For example:\n"+` ${(0,ke.cyan)(hi.name())} ${(0,ke.green)("my-zuplo-api")}\n\n`+`Run ${(0,ke.cyan)(`${hi.name()} --help`)} to see all options.`);process.exit(1)}const u=(0,xe.resolve)(ci);const h=(0,xe.basename)(u);const d=validateNpmName(h);if(!d.valid){console.error(`Could not create a project called ${(0,ke.red)(`"${h}"`)} because of npm naming restrictions:`);d.problems.forEach((t=>console.error(` ${(0,ke.red)((0,ke.bold)("*"))} ${t}`)));process.exit(1)}if(hi.example===true){console.error("Please provide an example name or url, otherwise remove the example option.");process.exit(1)}if((0,Ae.existsSync)(u)&&!isFolderEmpty(u,h)){process.exit(1)}const p=typeof hi.example==="string"&&hi.example.trim();const m=l.get("preferences")||{};const g=r().isCI||hi.yes;if(!p){const t={eslint:true,prettier:true,git:true,install:true,versionCheck:true,empty:false,zudoku:false};const getPrefOrDefault=r=>{var i;return(i=m[r])!==null&&i!==void 0?i:t[r]};if(!hi.eslint&&!fi.includes("--no-eslint")){if(g){hi.eslint=getPrefOrDefault("eslint")}else{const t=(0,ke.blue)("ESLint");const{eslint:r}=await Ie()({onState:onPromptState,type:"toggle",name:"eslint",message:`Would you like to use ${t}?`,initial:getPrefOrDefault("eslint"),active:"Yes",inactive:"No"});hi.eslint=Boolean(r);m.eslint=Boolean(r)}}if(!hi.prettier&&!fi.includes("--no-prettier")){if(g){hi.prettier=getPrefOrDefault("prettier")}else{const t=(0,ke.blue)("Prettier");const{prettier:r}=await Ie()({onState:onPromptState,type:"toggle",name:"prettier",message:`Would you like to use ${t}?`,initial:getPrefOrDefault("prettier"),active:"Yes",inactive:"No"});hi.prettier=Boolean(r);m.prettier=Boolean(r)}}}hi.git=(t=hi.git)!==null&&t!==void 0?t:!fi.includes("--no-git");hi.install=(i=hi.install)!==null&&i!==void 0?i:!fi.includes("--no-install");hi.versionCheck=(o=hi.versionCheck)!==null&&o!==void 0?o:!fi.includes("--no-version-check");try{await createApp({appPath:u,packageManager:di,example:p&&p!=="default"?p:undefined,examplePath:hi.examplePath,eslint:hi.eslint,prettier:hi.prettier,installPackages:hi.install,empty:hi.empty,initGit:hi.git,verbose:hi.verbose,zuploVersion:li.version,runInit:(a=hi.init)!==null&&a!==void 0?a:false,skipPrompts:g})}catch(t){if(!(t instanceof DownloadError)){throw t}const r=await Ie()({onState:onPromptState,type:"confirm",name:"builtin",message:`Could not download "${p}" because of a connectivity issue between your machine and GitHub.\n`+`Do you want to use the default template instead?`,initial:true});if(!r.builtin){throw t}await createApp({appPath:u,packageManager:di,eslint:hi.eslint,prettier:hi.prettier,installPackages:hi.install,empty:hi.empty,initGit:hi.git,verbose:hi.verbose,zuploVersion:li.version,runInit:(c=hi.init)!==null&&c!==void 0?c:false,skipPrompts:g})}l.set("preferences",m);if(hi.versionCheck){console.log();await notifyUpdate()}}const pi=De()(li).catch((()=>null));async function notifyUpdate(){var t;try{if((t=await pi)===null||t===void 0?void 0:t.latest){const t={npm:"npm i -g",yarn:"yarn global add",pnpm:"pnpm add -g",bun:"bun add -g"};const r=`${t[di]} create-zuplo-api`;console.log((0,ke.yellow)((0,ke.bold)("A new version of `create-zuplo-api` is available!"))+"\n"+"You can update by running: "+(0,ke.cyan)(r)+"\n")}process.exit(0)}catch{}}async function exit(t){console.log();console.log("Aborting installation.");if(t.command){console.log(` ${(0,ke.cyan)(t.command)} has failed.`)}else{console.log(`${(0,ke.red)("Unexpected error. Please report it as a bug:")}\n`,t)}process.exit(1)}run().catch(exit)})();module.exports=i})();
|