give-skill 1.0.0 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.md +60 -36
  2. package/dist/index.js +62 -62
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -19,18 +19,25 @@ The [Agent Skills](https://agentskills.io) format is an open standard for extend
19
19
 
20
20
  All agents support the [Agent Skills](https://agentskills.io) open standard:
21
21
 
22
- | Agent | Status |
23
- | ------------------------------------------------------- | ------ |
24
- | [Claude Code](https://claude.ai/code) | ✅ |
25
- | [Cursor](https://cursor.sh) | ✅ |
26
- | [GitHub Copilot](https://github.com/features/copilot) | ✅ |
27
- | [OpenCode](https://opencode.ai) | ✅ |
28
- | [Codex](https://openai.com) | ✅ |
29
- | [Antigravity](https://antigravity.google) | |
30
- | [Amp](https://github.com/stochastic-technologies/amp) | ✅ |
31
- | [Kilo Code](https://kilocode.ai) | ✅ |
32
- | [Roo Code](https://roocode.dev) | ✅ |
33
- | [Goose](https://github.com/goose-dev/goose) | ✅ |
22
+ | Agent | Status |
23
+ | ----------------------------------------------------- | ------ |
24
+ | [Claude Code](https://claude.com/product/claude-code) | ✅ |
25
+ | [Cursor](https://cursor.sh) | ✅ |
26
+ | [GitHub Copilot](https://github.com/features/copilot) | ✅ |
27
+ | [Gemini CLI](https://geminicli.com) | ✅ |
28
+ | [Windsurf](https://windsurf.com) | ✅ |
29
+ | [Trae](https://trae.ai) | ✅¹ |
30
+ | [Factory Droid](https://factory.ai) | ✅ |
31
+ | [Letta](https://www.letta.com) | ✅ |
32
+ | [OpenCode](https://opencode.ai) | ✅ |
33
+ | [Codex](https://openai.com/codex) | ✅ |
34
+ | [Antigravity](https://antigravity.google) | ✅ |
35
+ | [Amp](http://ampcode.com) | ✅ |
36
+ | [Kilo Code](https://kilocode.ai) | ✅ |
37
+ | [Roo Code](https://roocode.com) | ✅ |
38
+ | [Goose](https://block.github.io/goose) | ✅ |
39
+
40
+ ¹ Trae only supports project-level installation (SOLO mode). Global installation is not available.
34
41
 
35
42
  Missing an agent? [Create an issue](https://github.com/compilecafe/give-skill/issues)
36
43
 
@@ -117,33 +124,43 @@ npx give-skill https://github.com/org/repo/tree/main/skills/custom
117
124
 
118
125
  ### Project Level (default)
119
126
 
120
- | Agent | Path |
121
- | ----------- | -------------------------- |
122
- | Claude Code | `.claude/skills/<name>/` |
123
- | Cursor | `.cursor/skills/<name>/` |
124
- | Copilot | `.github/skills/<name>/` |
125
- | OpenCode | `.opencode/skill/<name>/` |
126
- | Codex | `.codex/skills/<name>/` |
127
- | Antigravity | `.agent/skills/<name>/` |
128
- | Amp | `.agents/skills/<name>/` |
129
- | Kilo Code | `.kilocode/skills/<name>/` |
130
- | Roo Code | `.roo/skills/<name>/` |
131
- | Goose | `.goose/skills/<name>/` |
127
+ | Agent | Path |
128
+ | ------------- | -------------------------- |
129
+ | Claude Code | `.claude/skills/<name>/` |
130
+ | Cursor | `.cursor/skills/<name>/` |
131
+ | Copilot | `.github/skills/<name>/` |
132
+ | Gemini CLI | `.gemini/skills/<name>/` |
133
+ | Windsurf | `.windsurf/skills/<name>/` |
134
+ | Trae | `.trae/skills/<name>/` |
135
+ | Factory Droid | `.factory/skills/<name>/` |
136
+ | Letta | `.skills/<name>/` |
137
+ | OpenCode | `.opencode/skill/<name>/` |
138
+ | Codex | `.codex/skills/<name>/` |
139
+ | Antigravity | `.agent/skills/<name>/` |
140
+ | Amp | `.agents/skills/<name>/` |
141
+ | Kilo Code | `.kilocode/skills/<name>/` |
142
+ | Roo Code | `.roo/skills/<name>/` |
143
+ | Goose | `.goose/skills/<name>/` |
132
144
 
133
145
  ### Global Level (`--global`)
134
146
 
135
- | Agent | Path |
136
- | ----------- | --------------------------------------- |
137
- | Claude Code | `~/.claude/skills/<name>/` |
138
- | Cursor | `~/.cursor/skills/<name>/` |
139
- | Copilot | `~/.copilot/skills/<name>/` |
140
- | OpenCode | `~/.config/opencode/skill/<name>/` |
141
- | Codex | `~/.codex/skills/<name>/` |
142
- | Antigravity | `~/.gemini/antigravity/skills/<name>/` |
143
- | Amp | `~/.config/agents/skills/<name>/` |
144
- | Kilo Code | `~/.kilocode/skills/<name>/` |
145
- | Roo Code | `~/.roo/skills/<name>/` |
146
- | Goose | `~/.config/goose/skills/<name>/` |
147
+ | Agent | Path |
148
+ | ------------- | -------------------------------------- |
149
+ | Claude Code | `~/.claude/skills/<name>/` |
150
+ | Cursor | `~/.cursor/skills/<name>/` |
151
+ | Copilot | `~/.copilot/skills/<name>/` |
152
+ | Gemini CLI | `~/.gemini/skills/<name>/` |
153
+ | Windsurf | `~/.codeium/windsurf/skills/<name>/` |
154
+ | Trae | Project-level only (SOLO mode) |
155
+ | Factory Droid | `~/.factory/skills/<name>/` |
156
+ | Letta | `~/.letta/skills/<name>/` |
157
+ | OpenCode | `~/.config/opencode/skill/<name>/` |
158
+ | Codex | `~/.codex/skills/<name>/` |
159
+ | Antigravity | `~/.gemini/antigravity/skills/<name>/` |
160
+ | Amp | `~/.config/agents/skills/<name>/` |
161
+ | Kilo Code | `~/.kilocode/skills/<name>/` |
162
+ | Roo Code | `~/.roo/skills/<name>/` |
163
+ | Goose | `~/.config/goose/skills/<name>/` |
147
164
 
148
165
  ## Creating Skills
149
166
 
@@ -175,6 +192,7 @@ For complete skill authoring guidance, see [agentskills.io](https://agentskills.
175
192
  The CLI automatically searches these paths in a repository:
176
193
 
177
194
  **Common locations:**
195
+
178
196
  - `SKILL.md` (root)
179
197
  - `skills/`
180
198
  - `skills/.curated/`
@@ -182,9 +200,15 @@ The CLI automatically searches these paths in a repository:
182
200
  - `skills/.system/`
183
201
 
184
202
  **Agent-specific locations** (auto-detected from agent configs):
203
+
185
204
  - `.claude/skills/`
186
205
  - `.cursor/skills/`
187
206
  - `.github/skills/`
207
+ - `.gemini/skills/`
208
+ - `.windsurf/skills/`
209
+ - `.trae/skills/`
210
+ - `.factory/skills/`
211
+ - `.skills/` (Letta)
188
212
  - `.opencode/skill/`
189
213
  - `.codex/skills/`
190
214
  - `.agent/skills/`
package/dist/index.js CHANGED
@@ -1,78 +1,78 @@
1
1
  #!/usr/bin/env node
2
- import{createRequire as p1}from"node:module";var n1=Object.create;var{getPrototypeOf:t1,defineProperty:vl,getOwnPropertyNames:d1}=Object;var r1=Object.prototype.hasOwnProperty;var c=(l,S,y)=>{y=l!=null?n1(t1(l)):{};let $=S||!l||!l.__esModule?vl(y,"default",{value:l,enumerable:!0}):y;for(let b of d1(l))if(!r1.call($,b))vl($,b,{get:()=>l[b],enumerable:!0});return $};var V=(l,S)=>()=>(S||l((S={exports:{}}).exports,S),S.exports);var D=p1(import.meta.url);var u=V((a1)=>{class Il extends Error{constructor(l,S,y){super(y);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=S,this.exitCode=l,this.nestedError=void 0}}class gl extends Il{constructor(l){super(1,"commander.invalidArgument",l);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}}a1.CommanderError=Il;a1.InvalidArgumentError=gl});var t=V((fS)=>{var{InvalidArgumentError:lS}=u();class cl{constructor(l,S){switch(this.description=S||"",this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,l[0]){case"<":this.required=!0,this._name=l.slice(1,-1);break;case"[":this.required=!1,this._name=l.slice(1,-1);break;default:this.required=!0,this._name=l;break}if(this._name.endsWith("..."))this.variadic=!0,this._name=this._name.slice(0,-3)}name(){return this._name}_collectValue(l,S){if(S===this.defaultValue||!Array.isArray(S))return[l];return S.push(l),S}default(l,S){return this.defaultValue=l,this.defaultValueDescription=S,this}argParser(l){return this.parseArg=l,this}choices(l){return this.argChoices=l.slice(),this.parseArg=(S,y)=>{if(!this.argChoices.includes(S))throw new lS(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._collectValue(S,y);return S},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}}function SS(l){let S=l.name()+(l.variadic===!0?"...":"");return l.required?"<"+S+">":"["+S+"]"}fS.Argument=cl;fS.humanReadableArgName=SS});var kl=V((IS)=>{var{humanReadableArgName:bS}=t();class hl{constructor(){this.helpWidth=void 0,this.minWidthToWrap=40,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}prepareContext(l){this.helpWidth=this.helpWidth??l.helpWidth??80}visibleCommands(l){let S=l.commands.filter(($)=>!$._hidden),y=l._getHelpCommand();if(y&&!y._hidden)S.push(y);if(this.sortSubcommands)S.sort(($,b)=>{return $.name().localeCompare(b.name())});return S}compareOptions(l,S){let y=($)=>{return $.short?$.short.replace(/^-/,""):$.long.replace(/^--/,"")};return y(l).localeCompare(y(S))}visibleOptions(l){let S=l.options.filter(($)=>!$.hidden),y=l._getHelpOption();if(y&&!y.hidden){let $=y.short&&l._findOption(y.short),b=y.long&&l._findOption(y.long);if(!$&&!b)S.push(y);else if(y.long&&!b)S.push(l.createOption(y.long,y.description));else if(y.short&&!$)S.push(l.createOption(y.short,y.description))}if(this.sortOptions)S.sort(this.compareOptions);return S}visibleGlobalOptions(l){if(!this.showGlobalOptions)return[];let S=[];for(let y=l.parent;y;y=y.parent){let $=y.options.filter((b)=>!b.hidden);S.push(...$)}if(this.sortOptions)S.sort(this.compareOptions);return S}visibleArguments(l){if(l._argsDescription)l.registeredArguments.forEach((S)=>{S.description=S.description||l._argsDescription[S.name()]||""});if(l.registeredArguments.find((S)=>S.description))return l.registeredArguments;return[]}subcommandTerm(l){let S=l.registeredArguments.map((y)=>bS(y)).join(" ");return l._name+(l._aliases[0]?"|"+l._aliases[0]:"")+(l.options.length?" [options]":"")+(S?" "+S:"")}optionTerm(l){return l.flags}argumentTerm(l){return l.name()}longestSubcommandTermLength(l,S){return S.visibleCommands(l).reduce((y,$)=>{return Math.max(y,this.displayWidth(S.styleSubcommandTerm(S.subcommandTerm($))))},0)}longestOptionTermLength(l,S){return S.visibleOptions(l).reduce((y,$)=>{return Math.max(y,this.displayWidth(S.styleOptionTerm(S.optionTerm($))))},0)}longestGlobalOptionTermLength(l,S){return S.visibleGlobalOptions(l).reduce((y,$)=>{return Math.max(y,this.displayWidth(S.styleOptionTerm(S.optionTerm($))))},0)}longestArgumentTermLength(l,S){return S.visibleArguments(l).reduce((y,$)=>{return Math.max(y,this.displayWidth(S.styleArgumentTerm(S.argumentTerm($))))},0)}commandUsage(l){let S=l._name;if(l._aliases[0])S=S+"|"+l._aliases[0];let y="";for(let $=l.parent;$;$=$.parent)y=$.name()+" "+y;return y+S+" "+l.usage()}commandDescription(l){return l.description()}subcommandDescription(l){return l.summary()||l.description()}optionDescription(l){let S=[];if(l.argChoices)S.push(`choices: ${l.argChoices.map((y)=>JSON.stringify(y)).join(", ")}`);if(l.defaultValue!==void 0){if(l.required||l.optional||l.isBoolean()&&typeof l.defaultValue==="boolean")S.push(`default: ${l.defaultValueDescription||JSON.stringify(l.defaultValue)}`)}if(l.presetArg!==void 0&&l.optional)S.push(`preset: ${JSON.stringify(l.presetArg)}`);if(l.envVar!==void 0)S.push(`env: ${l.envVar}`);if(S.length>0){let y=`(${S.join(", ")})`;if(l.description)return`${l.description} ${y}`;return y}return l.description}argumentDescription(l){let S=[];if(l.argChoices)S.push(`choices: ${l.argChoices.map((y)=>JSON.stringify(y)).join(", ")}`);if(l.defaultValue!==void 0)S.push(`default: ${l.defaultValueDescription||JSON.stringify(l.defaultValue)}`);if(S.length>0){let y=`(${S.join(", ")})`;if(l.description)return`${l.description} ${y}`;return y}return l.description}formatItemList(l,S,y){if(S.length===0)return[];return[y.styleTitle(l),...S,""]}groupItems(l,S,y){let $=new Map;return l.forEach((b)=>{let I=y(b);if(!$.has(I))$.set(I,[])}),S.forEach((b)=>{let I=y(b);if(!$.has(I))$.set(I,[]);$.get(I).push(b)}),$}formatHelp(l,S){let y=S.padWidth(l,S),$=S.helpWidth??80;function b(B,_){return S.formatItem(B,y,_,S)}let I=[`${S.styleTitle("Usage:")} ${S.styleUsage(S.commandUsage(l))}`,""],f=S.commandDescription(l);if(f.length>0)I=I.concat([S.boxWrap(S.styleCommandDescription(f),$),""]);let k=S.visibleArguments(l).map((B)=>{return b(S.styleArgumentTerm(S.argumentTerm(B)),S.styleArgumentDescription(S.argumentDescription(B)))});if(I=I.concat(this.formatItemList("Arguments:",k,S)),this.groupItems(l.options,S.visibleOptions(l),(B)=>B.helpGroupHeading??"Options:").forEach((B,_)=>{let Y=B.map((Q)=>{return b(S.styleOptionTerm(S.optionTerm(Q)),S.styleOptionDescription(S.optionDescription(Q)))});I=I.concat(this.formatItemList(_,Y,S))}),S.showGlobalOptions){let B=S.visibleGlobalOptions(l).map((_)=>{return b(S.styleOptionTerm(S.optionTerm(_)),S.styleOptionDescription(S.optionDescription(_)))});I=I.concat(this.formatItemList("Global Options:",B,S))}return this.groupItems(l.commands,S.visibleCommands(l),(B)=>B.helpGroup()||"Commands:").forEach((B,_)=>{let Y=B.map((Q)=>{return b(S.styleSubcommandTerm(S.subcommandTerm(Q)),S.styleSubcommandDescription(S.subcommandDescription(Q)))});I=I.concat(this.formatItemList(_,Y,S))}),I.join(`
3
- `)}displayWidth(l){return sl(l).length}styleTitle(l){return l}styleUsage(l){return l.split(" ").map((S)=>{if(S==="[options]")return this.styleOptionText(S);if(S==="[command]")return this.styleSubcommandText(S);if(S[0]==="["||S[0]==="<")return this.styleArgumentText(S);return this.styleCommandText(S)}).join(" ")}styleCommandDescription(l){return this.styleDescriptionText(l)}styleOptionDescription(l){return this.styleDescriptionText(l)}styleSubcommandDescription(l){return this.styleDescriptionText(l)}styleArgumentDescription(l){return this.styleDescriptionText(l)}styleDescriptionText(l){return l}styleOptionTerm(l){return this.styleOptionText(l)}styleSubcommandTerm(l){return l.split(" ").map((S)=>{if(S==="[options]")return this.styleOptionText(S);if(S[0]==="["||S[0]==="<")return this.styleArgumentText(S);return this.styleSubcommandText(S)}).join(" ")}styleArgumentTerm(l){return this.styleArgumentText(l)}styleOptionText(l){return l}styleArgumentText(l){return l}styleSubcommandText(l){return l}styleCommandText(l){return l}padWidth(l,S){return Math.max(S.longestOptionTermLength(l,S),S.longestGlobalOptionTermLength(l,S),S.longestSubcommandTermLength(l,S),S.longestArgumentTermLength(l,S))}preformatted(l){return/\n[^\S\r\n]/.test(l)}formatItem(l,S,y,$){let I=" ".repeat(2);if(!y)return I+l;let f=l.padEnd(S+l.length-$.displayWidth(l)),k=2,R=(this.helpWidth??80)-S-k-2,B;if(R<this.minWidthToWrap||$.preformatted(y))B=y;else B=$.boxWrap(y,R).replace(/\n/g,`
4
- `+" ".repeat(S+k));return I+f+" ".repeat(k)+B.replace(/\n/g,`
5
- ${I}`)}boxWrap(l,S){if(S<this.minWidthToWrap)return l;let y=l.split(/\r\n|\n/),$=/[\s]*[^\s]+/g,b=[];return y.forEach((I)=>{let f=I.match($);if(f===null){b.push("");return}let k=[f.shift()],T=this.displayWidth(k[0]);f.forEach((R)=>{let B=this.displayWidth(R);if(T+B<=S){k.push(R),T+=B;return}b.push(k.join(""));let _=R.trimStart();k=[_],T=this.displayWidth(_)}),b.push(k.join(""))}),b.join(`
6
- `)}}function sl(l){let S=/\x1b\[\d*(;\d*)*m/g;return l.replace(S,"")}IS.Help=hl;IS.stripColor=sl});var Rl=V((qS)=>{var{InvalidArgumentError:TS}=u();class ml{constructor(l,S){this.flags=l,this.description=S||"",this.required=l.includes("<"),this.optional=l.includes("["),this.variadic=/\w\.\.\.[>\]]$/.test(l),this.mandatory=!1;let y=BS(l);if(this.short=y.shortFlag,this.long=y.longFlag,this.negate=!1,this.long)this.negate=this.long.startsWith("--no-");this.defaultValue=void 0,this.defaultValueDescription=void 0,this.presetArg=void 0,this.envVar=void 0,this.parseArg=void 0,this.hidden=!1,this.argChoices=void 0,this.conflictsWith=[],this.implied=void 0,this.helpGroupHeading=void 0}default(l,S){return this.defaultValue=l,this.defaultValueDescription=S,this}preset(l){return this.presetArg=l,this}conflicts(l){return this.conflictsWith=this.conflictsWith.concat(l),this}implies(l){let S=l;if(typeof l==="string")S={[l]:!0};return this.implied=Object.assign(this.implied||{},S),this}env(l){return this.envVar=l,this}argParser(l){return this.parseArg=l,this}makeOptionMandatory(l=!0){return this.mandatory=!!l,this}hideHelp(l=!0){return this.hidden=!!l,this}_collectValue(l,S){if(S===this.defaultValue||!Array.isArray(S))return[l];return S.push(l),S}choices(l){return this.argChoices=l.slice(),this.parseArg=(S,y)=>{if(!this.argChoices.includes(S))throw new TS(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._collectValue(S,y);return S},this}name(){if(this.long)return this.long.replace(/^--/,"");return this.short.replace(/^-/,"")}attributeName(){if(this.negate)return il(this.name().replace(/^no-/,""));return il(this.name())}helpGroup(l){return this.helpGroupHeading=l,this}is(l){return this.short===l||this.long===l}isBoolean(){return!this.required&&!this.optional&&!this.negate}}class Dl{constructor(l){this.positiveOptions=new Map,this.negativeOptions=new Map,this.dualOptions=new Set,l.forEach((S)=>{if(S.negate)this.negativeOptions.set(S.attributeName(),S);else this.positiveOptions.set(S.attributeName(),S)}),this.negativeOptions.forEach((S,y)=>{if(this.positiveOptions.has(y))this.dualOptions.add(y)})}valueFromOption(l,S){let y=S.attributeName();if(!this.dualOptions.has(y))return!0;let $=this.negativeOptions.get(y).presetArg,b=$!==void 0?$:!1;return S.negate===(b===l)}}function il(l){return l.split("-").reduce((S,y)=>{return S+y[0].toUpperCase()+y.slice(1)})}function BS(l){let S,y,$=/^-[^-]$/,b=/^--[^-]/,I=l.split(/[ |,]+/).concat("guard");if($.test(I[0]))S=I.shift();if(b.test(I[0]))y=I.shift();if(!S&&$.test(I[0]))S=I.shift();if(!S&&b.test(I[0]))S=y,y=I.shift();if(I[0].startsWith("-")){let f=I[0],k=`option creation failed due to '${f}' in option flags '${l}'`;if(/^-[^-][^-]/.test(f))throw Error(`${k}
2
+ import{createRequire as a1}from"node:module";var t1=Object.create;var{getPrototypeOf:u1,defineProperty:cl,getOwnPropertyNames:d1}=Object;var r1=Object.prototype.hasOwnProperty;var v=(l,y,f)=>{f=l!=null?t1(u1(l)):{};let $=y||!l||!l.__esModule?cl(f,"default",{value:l,enumerable:!0}):f;for(let k of d1(l))if(!r1.call($,k))cl($,k,{get:()=>l[k],enumerable:!0});return $};var V=(l,y)=>()=>(y||l((y={exports:{}}).exports,y),y.exports);var D=a1(import.meta.url);var n=V((p1)=>{class bl extends Error{constructor(l,y,f){super(f);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=y,this.exitCode=l,this.nestedError=void 0}}class gl extends bl{constructor(l){super(1,"commander.invalidArgument",l);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}}p1.CommanderError=bl;p1.InvalidArgumentError=gl});var u=V((Sy)=>{var{InvalidArgumentError:ly}=n();class vl{constructor(l,y){switch(this.description=y||"",this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,l[0]){case"<":this.required=!0,this._name=l.slice(1,-1);break;case"[":this.required=!1,this._name=l.slice(1,-1);break;default:this.required=!0,this._name=l;break}if(this._name.endsWith("..."))this.variadic=!0,this._name=this._name.slice(0,-3)}name(){return this._name}_collectValue(l,y){if(y===this.defaultValue||!Array.isArray(y))return[l];return y.push(l),y}default(l,y){return this.defaultValue=l,this.defaultValueDescription=y,this}argParser(l){return this.parseArg=l,this}choices(l){return this.argChoices=l.slice(),this.parseArg=(y,f)=>{if(!this.argChoices.includes(y))throw new ly(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._collectValue(y,f);return y},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}}function yy(l){let y=l.name()+(l.variadic===!0?"...":"");return l.required?"<"+y+">":"["+y+"]"}Sy.Argument=vl;Sy.humanReadableArgName=yy});var Il=V((by)=>{var{humanReadableArgName:ky}=u();class hl{constructor(){this.helpWidth=void 0,this.minWidthToWrap=40,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}prepareContext(l){this.helpWidth=this.helpWidth??l.helpWidth??80}visibleCommands(l){let y=l.commands.filter(($)=>!$._hidden),f=l._getHelpCommand();if(f&&!f._hidden)y.push(f);if(this.sortSubcommands)y.sort(($,k)=>{return $.name().localeCompare(k.name())});return y}compareOptions(l,y){let f=($)=>{return $.short?$.short.replace(/^-/,""):$.long.replace(/^--/,"")};return f(l).localeCompare(f(y))}visibleOptions(l){let y=l.options.filter(($)=>!$.hidden),f=l._getHelpOption();if(f&&!f.hidden){let $=f.short&&l._findOption(f.short),k=f.long&&l._findOption(f.long);if(!$&&!k)y.push(f);else if(f.long&&!k)y.push(l.createOption(f.long,f.description));else if(f.short&&!$)y.push(l.createOption(f.short,f.description))}if(this.sortOptions)y.sort(this.compareOptions);return y}visibleGlobalOptions(l){if(!this.showGlobalOptions)return[];let y=[];for(let f=l.parent;f;f=f.parent){let $=f.options.filter((k)=>!k.hidden);y.push(...$)}if(this.sortOptions)y.sort(this.compareOptions);return y}visibleArguments(l){if(l._argsDescription)l.registeredArguments.forEach((y)=>{y.description=y.description||l._argsDescription[y.name()]||""});if(l.registeredArguments.find((y)=>y.description))return l.registeredArguments;return[]}subcommandTerm(l){let y=l.registeredArguments.map((f)=>ky(f)).join(" ");return l._name+(l._aliases[0]?"|"+l._aliases[0]:"")+(l.options.length?" [options]":"")+(y?" "+y:"")}optionTerm(l){return l.flags}argumentTerm(l){return l.name()}longestSubcommandTermLength(l,y){return y.visibleCommands(l).reduce((f,$)=>{return Math.max(f,this.displayWidth(y.styleSubcommandTerm(y.subcommandTerm($))))},0)}longestOptionTermLength(l,y){return y.visibleOptions(l).reduce((f,$)=>{return Math.max(f,this.displayWidth(y.styleOptionTerm(y.optionTerm($))))},0)}longestGlobalOptionTermLength(l,y){return y.visibleGlobalOptions(l).reduce((f,$)=>{return Math.max(f,this.displayWidth(y.styleOptionTerm(y.optionTerm($))))},0)}longestArgumentTermLength(l,y){return y.visibleArguments(l).reduce((f,$)=>{return Math.max(f,this.displayWidth(y.styleArgumentTerm(y.argumentTerm($))))},0)}commandUsage(l){let y=l._name;if(l._aliases[0])y=y+"|"+l._aliases[0];let f="";for(let $=l.parent;$;$=$.parent)f=$.name()+" "+f;return f+y+" "+l.usage()}commandDescription(l){return l.description()}subcommandDescription(l){return l.summary()||l.description()}optionDescription(l){let y=[];if(l.argChoices)y.push(`choices: ${l.argChoices.map((f)=>JSON.stringify(f)).join(", ")}`);if(l.defaultValue!==void 0){if(l.required||l.optional||l.isBoolean()&&typeof l.defaultValue==="boolean")y.push(`default: ${l.defaultValueDescription||JSON.stringify(l.defaultValue)}`)}if(l.presetArg!==void 0&&l.optional)y.push(`preset: ${JSON.stringify(l.presetArg)}`);if(l.envVar!==void 0)y.push(`env: ${l.envVar}`);if(y.length>0){let f=`(${y.join(", ")})`;if(l.description)return`${l.description} ${f}`;return f}return l.description}argumentDescription(l){let y=[];if(l.argChoices)y.push(`choices: ${l.argChoices.map((f)=>JSON.stringify(f)).join(", ")}`);if(l.defaultValue!==void 0)y.push(`default: ${l.defaultValueDescription||JSON.stringify(l.defaultValue)}`);if(y.length>0){let f=`(${y.join(", ")})`;if(l.description)return`${l.description} ${f}`;return f}return l.description}formatItemList(l,y,f){if(y.length===0)return[];return[f.styleTitle(l),...y,""]}groupItems(l,y,f){let $=new Map;return l.forEach((k)=>{let b=f(k);if(!$.has(b))$.set(b,[])}),y.forEach((k)=>{let b=f(k);if(!$.has(b))$.set(b,[]);$.get(b).push(k)}),$}formatHelp(l,y){let f=y.padWidth(l,y),$=y.helpWidth??80;function k(B,q){return y.formatItem(B,f,q,y)}let b=[`${y.styleTitle("Usage:")} ${y.styleUsage(y.commandUsage(l))}`,""],S=y.commandDescription(l);if(S.length>0)b=b.concat([y.boxWrap(y.styleCommandDescription(S),$),""]);let I=y.visibleArguments(l).map((B)=>{return k(y.styleArgumentTerm(y.argumentTerm(B)),y.styleArgumentDescription(y.argumentDescription(B)))});if(b=b.concat(this.formatItemList("Arguments:",I,y)),this.groupItems(l.options,y.visibleOptions(l),(B)=>B.helpGroupHeading??"Options:").forEach((B,q)=>{let X=B.map((P)=>{return k(y.styleOptionTerm(y.optionTerm(P)),y.styleOptionDescription(y.optionDescription(P)))});b=b.concat(this.formatItemList(q,X,y))}),y.showGlobalOptions){let B=y.visibleGlobalOptions(l).map((q)=>{return k(y.styleOptionTerm(y.optionTerm(q)),y.styleOptionDescription(y.optionDescription(q)))});b=b.concat(this.formatItemList("Global Options:",B,y))}return this.groupItems(l.commands,y.visibleCommands(l),(B)=>B.helpGroup()||"Commands:").forEach((B,q)=>{let X=B.map((P)=>{return k(y.styleSubcommandTerm(y.subcommandTerm(P)),y.styleSubcommandDescription(y.subcommandDescription(P)))});b=b.concat(this.formatItemList(q,X,y))}),b.join(`
3
+ `)}displayWidth(l){return sl(l).length}styleTitle(l){return l}styleUsage(l){return l.split(" ").map((y)=>{if(y==="[options]")return this.styleOptionText(y);if(y==="[command]")return this.styleSubcommandText(y);if(y[0]==="["||y[0]==="<")return this.styleArgumentText(y);return this.styleCommandText(y)}).join(" ")}styleCommandDescription(l){return this.styleDescriptionText(l)}styleOptionDescription(l){return this.styleDescriptionText(l)}styleSubcommandDescription(l){return this.styleDescriptionText(l)}styleArgumentDescription(l){return this.styleDescriptionText(l)}styleDescriptionText(l){return l}styleOptionTerm(l){return this.styleOptionText(l)}styleSubcommandTerm(l){return l.split(" ").map((y)=>{if(y==="[options]")return this.styleOptionText(y);if(y[0]==="["||y[0]==="<")return this.styleArgumentText(y);return this.styleSubcommandText(y)}).join(" ")}styleArgumentTerm(l){return this.styleArgumentText(l)}styleOptionText(l){return l}styleArgumentText(l){return l}styleSubcommandText(l){return l}styleCommandText(l){return l}padWidth(l,y){return Math.max(y.longestOptionTermLength(l,y),y.longestGlobalOptionTermLength(l,y),y.longestSubcommandTermLength(l,y),y.longestArgumentTermLength(l,y))}preformatted(l){return/\n[^\S\r\n]/.test(l)}formatItem(l,y,f,$){let b=" ".repeat(2);if(!f)return b+l;let S=l.padEnd(y+l.length-$.displayWidth(l)),I=2,R=(this.helpWidth??80)-y-I-2,B;if(R<this.minWidthToWrap||$.preformatted(f))B=f;else B=$.boxWrap(f,R).replace(/\n/g,`
4
+ `+" ".repeat(y+I));return b+S+" ".repeat(I)+B.replace(/\n/g,`
5
+ ${b}`)}boxWrap(l,y){if(y<this.minWidthToWrap)return l;let f=l.split(/\r\n|\n/),$=/[\s]*[^\s]+/g,k=[];return f.forEach((b)=>{let S=b.match($);if(S===null){k.push("");return}let I=[S.shift()],T=this.displayWidth(I[0]);S.forEach((R)=>{let B=this.displayWidth(R);if(T+B<=y){I.push(R),T+=B;return}k.push(I.join(""));let q=R.trimStart();I=[q],T=this.displayWidth(q)}),k.push(I.join(""))}),k.join(`
6
+ `)}}function sl(l){let y=/\x1b\[\d*(;\d*)*m/g;return l.replace(y,"")}by.Help=hl;by.stripColor=sl});var Rl=V((Ly)=>{var{InvalidArgumentError:Ty}=n();class ml{constructor(l,y){this.flags=l,this.description=y||"",this.required=l.includes("<"),this.optional=l.includes("["),this.variadic=/\w\.\.\.[>\]]$/.test(l),this.mandatory=!1;let f=By(l);if(this.short=f.shortFlag,this.long=f.longFlag,this.negate=!1,this.long)this.negate=this.long.startsWith("--no-");this.defaultValue=void 0,this.defaultValueDescription=void 0,this.presetArg=void 0,this.envVar=void 0,this.parseArg=void 0,this.hidden=!1,this.argChoices=void 0,this.conflictsWith=[],this.implied=void 0,this.helpGroupHeading=void 0}default(l,y){return this.defaultValue=l,this.defaultValueDescription=y,this}preset(l){return this.presetArg=l,this}conflicts(l){return this.conflictsWith=this.conflictsWith.concat(l),this}implies(l){let y=l;if(typeof l==="string")y={[l]:!0};return this.implied=Object.assign(this.implied||{},y),this}env(l){return this.envVar=l,this}argParser(l){return this.parseArg=l,this}makeOptionMandatory(l=!0){return this.mandatory=!!l,this}hideHelp(l=!0){return this.hidden=!!l,this}_collectValue(l,y){if(y===this.defaultValue||!Array.isArray(y))return[l];return y.push(l),y}choices(l){return this.argChoices=l.slice(),this.parseArg=(y,f)=>{if(!this.argChoices.includes(y))throw new Ty(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._collectValue(y,f);return y},this}name(){if(this.long)return this.long.replace(/^--/,"");return this.short.replace(/^-/,"")}attributeName(){if(this.negate)return il(this.name().replace(/^no-/,""));return il(this.name())}helpGroup(l){return this.helpGroupHeading=l,this}is(l){return this.short===l||this.long===l}isBoolean(){return!this.required&&!this.optional&&!this.negate}}class Dl{constructor(l){this.positiveOptions=new Map,this.negativeOptions=new Map,this.dualOptions=new Set,l.forEach((y)=>{if(y.negate)this.negativeOptions.set(y.attributeName(),y);else this.positiveOptions.set(y.attributeName(),y)}),this.negativeOptions.forEach((y,f)=>{if(this.positiveOptions.has(f))this.dualOptions.add(f)})}valueFromOption(l,y){let f=y.attributeName();if(!this.dualOptions.has(f))return!0;let $=this.negativeOptions.get(f).presetArg,k=$!==void 0?$:!1;return y.negate===(k===l)}}function il(l){return l.split("-").reduce((y,f)=>{return y+f[0].toUpperCase()+f.slice(1)})}function By(l){let y,f,$=/^-[^-]$/,k=/^--[^-]/,b=l.split(/[ |,]+/).concat("guard");if($.test(b[0]))y=b.shift();if(k.test(b[0]))f=b.shift();if(!y&&$.test(b[0]))y=b.shift();if(!y&&k.test(b[0]))y=f,f=b.shift();if(b[0].startsWith("-")){let S=b[0],I=`option creation failed due to '${S}' in option flags '${l}'`;if(/^-[^-][^-]/.test(S))throw Error(`${I}
7
7
  - a short flag is a single dash and a single character
8
8
  - either use a single dash and a single character (for a short flag)
9
- - or use a double dash for a long option (and can have two, like '--ws, --workspace')`);if($.test(f))throw Error(`${k}
10
- - too many short flags`);if(b.test(f))throw Error(`${k}
11
- - too many long flags`);throw Error(`${k}
12
- - unrecognised flag format`)}if(S===void 0&&y===void 0)throw Error(`option creation failed due to no flags found in '${l}'.`);return{shortFlag:S,longFlag:y}}qS.Option=ml;qS.DualOptions=Dl});var ul=V((XS)=>{function JS(l,S){if(Math.abs(l.length-S.length)>3)return Math.max(l.length,S.length);let y=[];for(let $=0;$<=l.length;$++)y[$]=[$];for(let $=0;$<=S.length;$++)y[0][$]=$;for(let $=1;$<=S.length;$++)for(let b=1;b<=l.length;b++){let I=1;if(l[b-1]===S[$-1])I=0;else I=1;if(y[b][$]=Math.min(y[b-1][$]+1,y[b][$-1]+1,y[b-1][$-1]+I),b>1&&$>1&&l[b-1]===S[$-2]&&l[b-2]===S[$-1])y[b][$]=Math.min(y[b][$],y[b-2][$-2]+1)}return y[l.length][S.length]}function YS(l,S){if(!S||S.length===0)return"";S=Array.from(new Set(S));let y=l.startsWith("--");if(y)l=l.slice(2),S=S.map((f)=>f.slice(2));let $=[],b=3,I=0.4;if(S.forEach((f)=>{if(f.length<=1)return;let k=JS(l,f),T=Math.max(l.length,f.length);if((T-k)/T>I){if(k<b)b=k,$=[f];else if(k===b)$.push(f)}}),$.sort((f,k)=>f.localeCompare(k)),y)$=$.map((f)=>`--${f}`);if($.length>1)return`
9
+ - or use a double dash for a long option (and can have two, like '--ws, --workspace')`);if($.test(S))throw Error(`${I}
10
+ - too many short flags`);if(k.test(S))throw Error(`${I}
11
+ - too many long flags`);throw Error(`${I}
12
+ - unrecognised flag format`)}if(y===void 0&&f===void 0)throw Error(`option creation failed due to no flags found in '${l}'.`);return{shortFlag:y,longFlag:f}}Ly.Option=ml;Ly.DualOptions=Dl});var nl=V((Yy)=>{function Jy(l,y){if(Math.abs(l.length-y.length)>3)return Math.max(l.length,y.length);let f=[];for(let $=0;$<=l.length;$++)f[$]=[$];for(let $=0;$<=y.length;$++)f[0][$]=$;for(let $=1;$<=y.length;$++)for(let k=1;k<=l.length;k++){let b=1;if(l[k-1]===y[$-1])b=0;else b=1;if(f[k][$]=Math.min(f[k-1][$]+1,f[k][$-1]+1,f[k-1][$-1]+b),k>1&&$>1&&l[k-1]===y[$-2]&&l[k-2]===y[$-1])f[k][$]=Math.min(f[k][$],f[k-2][$-2]+1)}return f[l.length][y.length]}function Gy(l,y){if(!y||y.length===0)return"";y=Array.from(new Set(y));let f=l.startsWith("--");if(f)l=l.slice(2),y=y.map((S)=>S.slice(2));let $=[],k=3,b=0.4;if(y.forEach((S)=>{if(S.length<=1)return;let I=Jy(l,S),T=Math.max(l.length,S.length);if((T-I)/T>b){if(I<k)k=I,$=[S];else if(I===k)$.push(S)}}),$.sort((S,I)=>S.localeCompare(I)),f)$=$.map((S)=>`--${S}`);if($.length>1)return`
13
13
  (Did you mean one of ${$.join(", ")}?)`;if($.length===1)return`
14
- (Did you mean ${$[0]}?)`;return""}XS.suggestSimilar=YS});var rl=V((MS)=>{var zS=D("node:events").EventEmitter,Tl=D("node:child_process"),x=D("node:path"),d=D("node:fs"),J=D("node:process"),{Argument:QS,humanReadableArgName:ZS}=t(),{CommanderError:Bl}=u(),{Help:PS,stripColor:US}=kl(),{Option:nl,DualOptions:jS}=Rl(),{suggestSimilar:tl}=ul();class _l extends zS{constructor(l){super();this.commands=[],this.options=[],this.parent=null,this._allowUnknownOption=!1,this._allowExcessArguments=!1,this.registeredArguments=[],this._args=this.registeredArguments,this.args=[],this.rawArgs=[],this.processedArgs=[],this._scriptPath=null,this._name=l||"",this._optionValues={},this._optionValueSources={},this._storeOptionsAsProperties=!1,this._actionHandler=null,this._executableHandler=!1,this._executableFile=null,this._executableDir=null,this._defaultCommandName=null,this._exitCallback=null,this._aliases=[],this._combineFlagAndOptionalValue=!0,this._description="",this._summary="",this._argsDescription=void 0,this._enablePositionalOptions=!1,this._passThroughOptions=!1,this._lifeCycleHooks={},this._showHelpAfterError=!1,this._showSuggestionAfterError=!0,this._savedState=null,this._outputConfiguration={writeOut:(S)=>J.stdout.write(S),writeErr:(S)=>J.stderr.write(S),outputError:(S,y)=>y(S),getOutHelpWidth:()=>J.stdout.isTTY?J.stdout.columns:void 0,getErrHelpWidth:()=>J.stderr.isTTY?J.stderr.columns:void 0,getOutHasColors:()=>ql()??(J.stdout.isTTY&&J.stdout.hasColors?.()),getErrHasColors:()=>ql()??(J.stderr.isTTY&&J.stderr.hasColors?.()),stripColor:(S)=>US(S)},this._hidden=!1,this._helpOption=void 0,this._addImplicitHelpCommand=void 0,this._helpCommand=void 0,this._helpConfiguration={},this._helpGroupHeading=void 0,this._defaultCommandGroup=void 0,this._defaultOptionGroup=void 0}copyInheritedSettings(l){return this._outputConfiguration=l._outputConfiguration,this._helpOption=l._helpOption,this._helpCommand=l._helpCommand,this._helpConfiguration=l._helpConfiguration,this._exitCallback=l._exitCallback,this._storeOptionsAsProperties=l._storeOptionsAsProperties,this._combineFlagAndOptionalValue=l._combineFlagAndOptionalValue,this._allowExcessArguments=l._allowExcessArguments,this._enablePositionalOptions=l._enablePositionalOptions,this._showHelpAfterError=l._showHelpAfterError,this._showSuggestionAfterError=l._showSuggestionAfterError,this}_getCommandAndAncestors(){let l=[];for(let S=this;S;S=S.parent)l.push(S);return l}command(l,S,y){let $=S,b=y;if(typeof $==="object"&&$!==null)b=$,$=null;b=b||{};let[,I,f]=l.match(/([^ ]+) *(.*)/),k=this.createCommand(I);if($)k.description($),k._executableHandler=!0;if(b.isDefault)this._defaultCommandName=k._name;if(k._hidden=!!(b.noHelp||b.hidden),k._executableFile=b.executableFile||null,f)k.arguments(f);if(this._registerCommand(k),k.parent=this,k.copyInheritedSettings(this),$)return this;return k}createCommand(l){return new _l(l)}createHelp(){return Object.assign(new PS,this.configureHelp())}configureHelp(l){if(l===void 0)return this._helpConfiguration;return this._helpConfiguration=l,this}configureOutput(l){if(l===void 0)return this._outputConfiguration;return this._outputConfiguration={...this._outputConfiguration,...l},this}showHelpAfterError(l=!0){if(typeof l!=="string")l=!!l;return this._showHelpAfterError=l,this}showSuggestionAfterError(l=!0){return this._showSuggestionAfterError=!!l,this}addCommand(l,S){if(!l._name)throw Error(`Command passed to .addCommand() must have a name
15
- - specify the name in Command constructor or using .name()`);if(S=S||{},S.isDefault)this._defaultCommandName=l._name;if(S.noHelp||S.hidden)l._hidden=!0;return this._registerCommand(l),l.parent=this,l._checkForBrokenPassThrough(),this}createArgument(l,S){return new QS(l,S)}argument(l,S,y,$){let b=this.createArgument(l,S);if(typeof y==="function")b.default($).argParser(y);else b.default(y);return this.addArgument(b),this}arguments(l){return l.trim().split(/ +/).forEach((S)=>{this.argument(S)}),this}addArgument(l){let S=this.registeredArguments.slice(-1)[0];if(S?.variadic)throw Error(`only the last argument can be variadic '${S.name()}'`);if(l.required&&l.defaultValue!==void 0&&l.parseArg===void 0)throw Error(`a default value for a required argument is never used: '${l.name()}'`);return this.registeredArguments.push(l),this}helpCommand(l,S){if(typeof l==="boolean"){if(this._addImplicitHelpCommand=l,l&&this._defaultCommandGroup)this._initCommandGroup(this._getHelpCommand());return this}let y=l??"help [command]",[,$,b]=y.match(/([^ ]+) *(.*)/),I=S??"display help for command",f=this.createCommand($);if(f.helpOption(!1),b)f.arguments(b);if(I)f.description(I);if(this._addImplicitHelpCommand=!0,this._helpCommand=f,l||S)this._initCommandGroup(f);return this}addHelpCommand(l,S){if(typeof l!=="object")return this.helpCommand(l,S),this;return this._addImplicitHelpCommand=!0,this._helpCommand=l,this._initCommandGroup(l),this}_getHelpCommand(){if(this._addImplicitHelpCommand??(this.commands.length&&!this._actionHandler&&!this._findCommand("help"))){if(this._helpCommand===void 0)this.helpCommand(void 0,void 0);return this._helpCommand}return null}hook(l,S){let y=["preSubcommand","preAction","postAction"];if(!y.includes(l))throw Error(`Unexpected value for event passed to hook : '${l}'.
16
- Expecting one of '${y.join("', '")}'`);if(this._lifeCycleHooks[l])this._lifeCycleHooks[l].push(S);else this._lifeCycleHooks[l]=[S];return this}exitOverride(l){if(l)this._exitCallback=l;else this._exitCallback=(S)=>{if(S.code!=="commander.executeSubCommandAsync")throw S};return this}_exit(l,S,y){if(this._exitCallback)this._exitCallback(new Bl(l,S,y));J.exit(l)}action(l){let S=(y)=>{let $=this.registeredArguments.length,b=y.slice(0,$);if(this._storeOptionsAsProperties)b[$]=this;else b[$]=this.opts();return b.push(this),l.apply(this,b)};return this._actionHandler=S,this}createOption(l,S){return new nl(l,S)}_callParseArg(l,S,y,$){try{return l.parseArg(S,y)}catch(b){if(b.code==="commander.invalidArgument"){let I=`${$} ${b.message}`;this.error(I,{exitCode:b.exitCode,code:b.code})}throw b}}_registerOption(l){let S=l.short&&this._findOption(l.short)||l.long&&this._findOption(l.long);if(S){let y=l.long&&this._findOption(l.long)?l.long:l.short;throw Error(`Cannot add option '${l.flags}'${this._name&&` to command '${this._name}'`} due to conflicting flag '${y}'
17
- - already used by option '${S.flags}'`)}this._initOptionGroup(l),this.options.push(l)}_registerCommand(l){let S=($)=>{return[$.name()].concat($.aliases())},y=S(l).find(($)=>this._findCommand($));if(y){let $=S(this._findCommand(y)).join("|"),b=S(l).join("|");throw Error(`cannot add command '${b}' as already have command '${$}'`)}this._initCommandGroup(l),this.commands.push(l)}addOption(l){this._registerOption(l);let S=l.name(),y=l.attributeName();if(l.negate){let b=l.long.replace(/^--no-/,"--");if(!this._findOption(b))this.setOptionValueWithSource(y,l.defaultValue===void 0?!0:l.defaultValue,"default")}else if(l.defaultValue!==void 0)this.setOptionValueWithSource(y,l.defaultValue,"default");let $=(b,I,f)=>{if(b==null&&l.presetArg!==void 0)b=l.presetArg;let k=this.getOptionValue(y);if(b!==null&&l.parseArg)b=this._callParseArg(l,b,k,I);else if(b!==null&&l.variadic)b=l._collectValue(b,k);if(b==null)if(l.negate)b=!1;else if(l.isBoolean()||l.optional)b=!0;else b="";this.setOptionValueWithSource(y,b,f)};if(this.on("option:"+S,(b)=>{let I=`error: option '${l.flags}' argument '${b}' is invalid.`;$(b,I,"cli")}),l.envVar)this.on("optionEnv:"+S,(b)=>{let I=`error: option '${l.flags}' value '${b}' from env '${l.envVar}' is invalid.`;$(b,I,"env")});return this}_optionEx(l,S,y,$,b){if(typeof S==="object"&&S instanceof nl)throw Error("To add an Option object use addOption() instead of option() or requiredOption()");let I=this.createOption(S,y);if(I.makeOptionMandatory(!!l.mandatory),typeof $==="function")I.default(b).argParser($);else if($ instanceof RegExp){let f=$;$=(k,T)=>{let R=f.exec(k);return R?R[0]:T},I.default(b).argParser($)}else I.default($);return this.addOption(I)}option(l,S,y,$){return this._optionEx({},l,S,y,$)}requiredOption(l,S,y,$){return this._optionEx({mandatory:!0},l,S,y,$)}combineFlagAndOptionalValue(l=!0){return this._combineFlagAndOptionalValue=!!l,this}allowUnknownOption(l=!0){return this._allowUnknownOption=!!l,this}allowExcessArguments(l=!0){return this._allowExcessArguments=!!l,this}enablePositionalOptions(l=!0){return this._enablePositionalOptions=!!l,this}passThroughOptions(l=!0){return this._passThroughOptions=!!l,this._checkForBrokenPassThrough(),this}_checkForBrokenPassThrough(){if(this.parent&&this._passThroughOptions&&!this.parent._enablePositionalOptions)throw Error(`passThroughOptions cannot be used for '${this._name}' without turning on enablePositionalOptions for parent command(s)`)}storeOptionsAsProperties(l=!0){if(this.options.length)throw Error("call .storeOptionsAsProperties() before adding options");if(Object.keys(this._optionValues).length)throw Error("call .storeOptionsAsProperties() before setting option values");return this._storeOptionsAsProperties=!!l,this}getOptionValue(l){if(this._storeOptionsAsProperties)return this[l];return this._optionValues[l]}setOptionValue(l,S){return this.setOptionValueWithSource(l,S,void 0)}setOptionValueWithSource(l,S,y){if(this._storeOptionsAsProperties)this[l]=S;else this._optionValues[l]=S;return this._optionValueSources[l]=y,this}getOptionValueSource(l){return this._optionValueSources[l]}getOptionValueSourceWithGlobals(l){let S;return this._getCommandAndAncestors().forEach((y)=>{if(y.getOptionValueSource(l)!==void 0)S=y.getOptionValueSource(l)}),S}_prepareUserArgs(l,S){if(l!==void 0&&!Array.isArray(l))throw Error("first parameter to parse must be array or undefined");if(S=S||{},l===void 0&&S.from===void 0){if(J.versions?.electron)S.from="electron";let $=J.execArgv??[];if($.includes("-e")||$.includes("--eval")||$.includes("-p")||$.includes("--print"))S.from="eval"}if(l===void 0)l=J.argv;this.rawArgs=l.slice();let y;switch(S.from){case void 0:case"node":this._scriptPath=l[1],y=l.slice(2);break;case"electron":if(J.defaultApp)this._scriptPath=l[1],y=l.slice(2);else y=l.slice(1);break;case"user":y=l.slice(0);break;case"eval":y=l.slice(1);break;default:throw Error(`unexpected parse option { from: '${S.from}' }`)}if(!this._name&&this._scriptPath)this.nameFromFilename(this._scriptPath);return this._name=this._name||"program",y}parse(l,S){this._prepareForParse();let y=this._prepareUserArgs(l,S);return this._parseCommand([],y),this}async parseAsync(l,S){this._prepareForParse();let y=this._prepareUserArgs(l,S);return await this._parseCommand([],y),this}_prepareForParse(){if(this._savedState===null)this.saveStateBeforeParse();else this.restoreStateBeforeParse()}saveStateBeforeParse(){this._savedState={_name:this._name,_optionValues:{...this._optionValues},_optionValueSources:{...this._optionValueSources}}}restoreStateBeforeParse(){if(this._storeOptionsAsProperties)throw Error(`Can not call parse again when storeOptionsAsProperties is true.
18
- - either make a new Command for each call to parse, or stop storing options as properties`);this._name=this._savedState._name,this._scriptPath=null,this.rawArgs=[],this._optionValues={...this._savedState._optionValues},this._optionValueSources={...this._savedState._optionValueSources},this.args=[],this.processedArgs=[]}_checkForMissingExecutable(l,S,y){if(d.existsSync(l))return;let $=S?`searched for local subcommand relative to directory '${S}'`:"no directory for search for local subcommand, use .executableDir() to supply a custom directory",b=`'${l}' does not exist
19
- - if '${y}' is not meant to be an executable command, remove description parameter from '.command()' and use '.description()' instead
14
+ (Did you mean ${$[0]}?)`;return""}Yy.suggestSimilar=Gy});var rl=V((My)=>{var zy=D("node:events").EventEmitter,Tl=D("node:child_process"),A=D("node:path"),d=D("node:fs"),J=D("node:process"),{Argument:Qy,humanReadableArgName:Zy}=u(),{CommanderError:Bl}=n(),{Help:Py,stripColor:Uy}=Il(),{Option:tl,DualOptions:jy}=Rl(),{suggestSimilar:ul}=nl();class ql extends zy{constructor(l){super();this.commands=[],this.options=[],this.parent=null,this._allowUnknownOption=!1,this._allowExcessArguments=!1,this.registeredArguments=[],this._args=this.registeredArguments,this.args=[],this.rawArgs=[],this.processedArgs=[],this._scriptPath=null,this._name=l||"",this._optionValues={},this._optionValueSources={},this._storeOptionsAsProperties=!1,this._actionHandler=null,this._executableHandler=!1,this._executableFile=null,this._executableDir=null,this._defaultCommandName=null,this._exitCallback=null,this._aliases=[],this._combineFlagAndOptionalValue=!0,this._description="",this._summary="",this._argsDescription=void 0,this._enablePositionalOptions=!1,this._passThroughOptions=!1,this._lifeCycleHooks={},this._showHelpAfterError=!1,this._showSuggestionAfterError=!0,this._savedState=null,this._outputConfiguration={writeOut:(y)=>J.stdout.write(y),writeErr:(y)=>J.stderr.write(y),outputError:(y,f)=>f(y),getOutHelpWidth:()=>J.stdout.isTTY?J.stdout.columns:void 0,getErrHelpWidth:()=>J.stderr.isTTY?J.stderr.columns:void 0,getOutHasColors:()=>Ll()??(J.stdout.isTTY&&J.stdout.hasColors?.()),getErrHasColors:()=>Ll()??(J.stderr.isTTY&&J.stderr.hasColors?.()),stripColor:(y)=>Uy(y)},this._hidden=!1,this._helpOption=void 0,this._addImplicitHelpCommand=void 0,this._helpCommand=void 0,this._helpConfiguration={},this._helpGroupHeading=void 0,this._defaultCommandGroup=void 0,this._defaultOptionGroup=void 0}copyInheritedSettings(l){return this._outputConfiguration=l._outputConfiguration,this._helpOption=l._helpOption,this._helpCommand=l._helpCommand,this._helpConfiguration=l._helpConfiguration,this._exitCallback=l._exitCallback,this._storeOptionsAsProperties=l._storeOptionsAsProperties,this._combineFlagAndOptionalValue=l._combineFlagAndOptionalValue,this._allowExcessArguments=l._allowExcessArguments,this._enablePositionalOptions=l._enablePositionalOptions,this._showHelpAfterError=l._showHelpAfterError,this._showSuggestionAfterError=l._showSuggestionAfterError,this}_getCommandAndAncestors(){let l=[];for(let y=this;y;y=y.parent)l.push(y);return l}command(l,y,f){let $=y,k=f;if(typeof $==="object"&&$!==null)k=$,$=null;k=k||{};let[,b,S]=l.match(/([^ ]+) *(.*)/),I=this.createCommand(b);if($)I.description($),I._executableHandler=!0;if(k.isDefault)this._defaultCommandName=I._name;if(I._hidden=!!(k.noHelp||k.hidden),I._executableFile=k.executableFile||null,S)I.arguments(S);if(this._registerCommand(I),I.parent=this,I.copyInheritedSettings(this),$)return this;return I}createCommand(l){return new ql(l)}createHelp(){return Object.assign(new Py,this.configureHelp())}configureHelp(l){if(l===void 0)return this._helpConfiguration;return this._helpConfiguration=l,this}configureOutput(l){if(l===void 0)return this._outputConfiguration;return this._outputConfiguration={...this._outputConfiguration,...l},this}showHelpAfterError(l=!0){if(typeof l!=="string")l=!!l;return this._showHelpAfterError=l,this}showSuggestionAfterError(l=!0){return this._showSuggestionAfterError=!!l,this}addCommand(l,y){if(!l._name)throw Error(`Command passed to .addCommand() must have a name
15
+ - specify the name in Command constructor or using .name()`);if(y=y||{},y.isDefault)this._defaultCommandName=l._name;if(y.noHelp||y.hidden)l._hidden=!0;return this._registerCommand(l),l.parent=this,l._checkForBrokenPassThrough(),this}createArgument(l,y){return new Qy(l,y)}argument(l,y,f,$){let k=this.createArgument(l,y);if(typeof f==="function")k.default($).argParser(f);else k.default(f);return this.addArgument(k),this}arguments(l){return l.trim().split(/ +/).forEach((y)=>{this.argument(y)}),this}addArgument(l){let y=this.registeredArguments.slice(-1)[0];if(y?.variadic)throw Error(`only the last argument can be variadic '${y.name()}'`);if(l.required&&l.defaultValue!==void 0&&l.parseArg===void 0)throw Error(`a default value for a required argument is never used: '${l.name()}'`);return this.registeredArguments.push(l),this}helpCommand(l,y){if(typeof l==="boolean"){if(this._addImplicitHelpCommand=l,l&&this._defaultCommandGroup)this._initCommandGroup(this._getHelpCommand());return this}let f=l??"help [command]",[,$,k]=f.match(/([^ ]+) *(.*)/),b=y??"display help for command",S=this.createCommand($);if(S.helpOption(!1),k)S.arguments(k);if(b)S.description(b);if(this._addImplicitHelpCommand=!0,this._helpCommand=S,l||y)this._initCommandGroup(S);return this}addHelpCommand(l,y){if(typeof l!=="object")return this.helpCommand(l,y),this;return this._addImplicitHelpCommand=!0,this._helpCommand=l,this._initCommandGroup(l),this}_getHelpCommand(){if(this._addImplicitHelpCommand??(this.commands.length&&!this._actionHandler&&!this._findCommand("help"))){if(this._helpCommand===void 0)this.helpCommand(void 0,void 0);return this._helpCommand}return null}hook(l,y){let f=["preSubcommand","preAction","postAction"];if(!f.includes(l))throw Error(`Unexpected value for event passed to hook : '${l}'.
16
+ Expecting one of '${f.join("', '")}'`);if(this._lifeCycleHooks[l])this._lifeCycleHooks[l].push(y);else this._lifeCycleHooks[l]=[y];return this}exitOverride(l){if(l)this._exitCallback=l;else this._exitCallback=(y)=>{if(y.code!=="commander.executeSubCommandAsync")throw y};return this}_exit(l,y,f){if(this._exitCallback)this._exitCallback(new Bl(l,y,f));J.exit(l)}action(l){let y=(f)=>{let $=this.registeredArguments.length,k=f.slice(0,$);if(this._storeOptionsAsProperties)k[$]=this;else k[$]=this.opts();return k.push(this),l.apply(this,k)};return this._actionHandler=y,this}createOption(l,y){return new tl(l,y)}_callParseArg(l,y,f,$){try{return l.parseArg(y,f)}catch(k){if(k.code==="commander.invalidArgument"){let b=`${$} ${k.message}`;this.error(b,{exitCode:k.exitCode,code:k.code})}throw k}}_registerOption(l){let y=l.short&&this._findOption(l.short)||l.long&&this._findOption(l.long);if(y){let f=l.long&&this._findOption(l.long)?l.long:l.short;throw Error(`Cannot add option '${l.flags}'${this._name&&` to command '${this._name}'`} due to conflicting flag '${f}'
17
+ - already used by option '${y.flags}'`)}this._initOptionGroup(l),this.options.push(l)}_registerCommand(l){let y=($)=>{return[$.name()].concat($.aliases())},f=y(l).find(($)=>this._findCommand($));if(f){let $=y(this._findCommand(f)).join("|"),k=y(l).join("|");throw Error(`cannot add command '${k}' as already have command '${$}'`)}this._initCommandGroup(l),this.commands.push(l)}addOption(l){this._registerOption(l);let y=l.name(),f=l.attributeName();if(l.negate){let k=l.long.replace(/^--no-/,"--");if(!this._findOption(k))this.setOptionValueWithSource(f,l.defaultValue===void 0?!0:l.defaultValue,"default")}else if(l.defaultValue!==void 0)this.setOptionValueWithSource(f,l.defaultValue,"default");let $=(k,b,S)=>{if(k==null&&l.presetArg!==void 0)k=l.presetArg;let I=this.getOptionValue(f);if(k!==null&&l.parseArg)k=this._callParseArg(l,k,I,b);else if(k!==null&&l.variadic)k=l._collectValue(k,I);if(k==null)if(l.negate)k=!1;else if(l.isBoolean()||l.optional)k=!0;else k="";this.setOptionValueWithSource(f,k,S)};if(this.on("option:"+y,(k)=>{let b=`error: option '${l.flags}' argument '${k}' is invalid.`;$(k,b,"cli")}),l.envVar)this.on("optionEnv:"+y,(k)=>{let b=`error: option '${l.flags}' value '${k}' from env '${l.envVar}' is invalid.`;$(k,b,"env")});return this}_optionEx(l,y,f,$,k){if(typeof y==="object"&&y instanceof tl)throw Error("To add an Option object use addOption() instead of option() or requiredOption()");let b=this.createOption(y,f);if(b.makeOptionMandatory(!!l.mandatory),typeof $==="function")b.default(k).argParser($);else if($ instanceof RegExp){let S=$;$=(I,T)=>{let R=S.exec(I);return R?R[0]:T},b.default(k).argParser($)}else b.default($);return this.addOption(b)}option(l,y,f,$){return this._optionEx({},l,y,f,$)}requiredOption(l,y,f,$){return this._optionEx({mandatory:!0},l,y,f,$)}combineFlagAndOptionalValue(l=!0){return this._combineFlagAndOptionalValue=!!l,this}allowUnknownOption(l=!0){return this._allowUnknownOption=!!l,this}allowExcessArguments(l=!0){return this._allowExcessArguments=!!l,this}enablePositionalOptions(l=!0){return this._enablePositionalOptions=!!l,this}passThroughOptions(l=!0){return this._passThroughOptions=!!l,this._checkForBrokenPassThrough(),this}_checkForBrokenPassThrough(){if(this.parent&&this._passThroughOptions&&!this.parent._enablePositionalOptions)throw Error(`passThroughOptions cannot be used for '${this._name}' without turning on enablePositionalOptions for parent command(s)`)}storeOptionsAsProperties(l=!0){if(this.options.length)throw Error("call .storeOptionsAsProperties() before adding options");if(Object.keys(this._optionValues).length)throw Error("call .storeOptionsAsProperties() before setting option values");return this._storeOptionsAsProperties=!!l,this}getOptionValue(l){if(this._storeOptionsAsProperties)return this[l];return this._optionValues[l]}setOptionValue(l,y){return this.setOptionValueWithSource(l,y,void 0)}setOptionValueWithSource(l,y,f){if(this._storeOptionsAsProperties)this[l]=y;else this._optionValues[l]=y;return this._optionValueSources[l]=f,this}getOptionValueSource(l){return this._optionValueSources[l]}getOptionValueSourceWithGlobals(l){let y;return this._getCommandAndAncestors().forEach((f)=>{if(f.getOptionValueSource(l)!==void 0)y=f.getOptionValueSource(l)}),y}_prepareUserArgs(l,y){if(l!==void 0&&!Array.isArray(l))throw Error("first parameter to parse must be array or undefined");if(y=y||{},l===void 0&&y.from===void 0){if(J.versions?.electron)y.from="electron";let $=J.execArgv??[];if($.includes("-e")||$.includes("--eval")||$.includes("-p")||$.includes("--print"))y.from="eval"}if(l===void 0)l=J.argv;this.rawArgs=l.slice();let f;switch(y.from){case void 0:case"node":this._scriptPath=l[1],f=l.slice(2);break;case"electron":if(J.defaultApp)this._scriptPath=l[1],f=l.slice(2);else f=l.slice(1);break;case"user":f=l.slice(0);break;case"eval":f=l.slice(1);break;default:throw Error(`unexpected parse option { from: '${y.from}' }`)}if(!this._name&&this._scriptPath)this.nameFromFilename(this._scriptPath);return this._name=this._name||"program",f}parse(l,y){this._prepareForParse();let f=this._prepareUserArgs(l,y);return this._parseCommand([],f),this}async parseAsync(l,y){this._prepareForParse();let f=this._prepareUserArgs(l,y);return await this._parseCommand([],f),this}_prepareForParse(){if(this._savedState===null)this.saveStateBeforeParse();else this.restoreStateBeforeParse()}saveStateBeforeParse(){this._savedState={_name:this._name,_optionValues:{...this._optionValues},_optionValueSources:{...this._optionValueSources}}}restoreStateBeforeParse(){if(this._storeOptionsAsProperties)throw Error(`Can not call parse again when storeOptionsAsProperties is true.
18
+ - either make a new Command for each call to parse, or stop storing options as properties`);this._name=this._savedState._name,this._scriptPath=null,this.rawArgs=[],this._optionValues={...this._savedState._optionValues},this._optionValueSources={...this._savedState._optionValueSources},this.args=[],this.processedArgs=[]}_checkForMissingExecutable(l,y,f){if(d.existsSync(l))return;let $=y?`searched for local subcommand relative to directory '${y}'`:"no directory for search for local subcommand, use .executableDir() to supply a custom directory",k=`'${l}' does not exist
19
+ - if '${f}' is not meant to be an executable command, remove description parameter from '.command()' and use '.description()' instead
20
20
  - if the default executable name is not suitable, use the executableFile option to supply a custom name or path
21
- - ${$}`;throw Error(b)}_executeSubCommand(l,S){S=S.slice();let y=!1,$=[".js",".ts",".tsx",".mjs",".cjs"];function b(R,B){let _=x.resolve(R,B);if(d.existsSync(_))return _;if($.includes(x.extname(B)))return;let Y=$.find((Q)=>d.existsSync(`${_}${Q}`));if(Y)return`${_}${Y}`;return}this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let I=l._executableFile||`${this._name}-${l._name}`,f=this._executableDir||"";if(this._scriptPath){let R;try{R=d.realpathSync(this._scriptPath)}catch{R=this._scriptPath}f=x.resolve(x.dirname(R),f)}if(f){let R=b(f,I);if(!R&&!l._executableFile&&this._scriptPath){let B=x.basename(this._scriptPath,x.extname(this._scriptPath));if(B!==this._name)R=b(f,`${B}-${l._name}`)}I=R||I}y=$.includes(x.extname(I));let k;if(J.platform!=="win32")if(y)S.unshift(I),S=dl(J.execArgv).concat(S),k=Tl.spawn(J.argv[0],S,{stdio:"inherit"});else k=Tl.spawn(I,S,{stdio:"inherit"});else this._checkForMissingExecutable(I,f,l._name),S.unshift(I),S=dl(J.execArgv).concat(S),k=Tl.spawn(J.execPath,S,{stdio:"inherit"});if(!k.killed)["SIGUSR1","SIGUSR2","SIGTERM","SIGINT","SIGHUP"].forEach((B)=>{J.on(B,()=>{if(k.killed===!1&&k.exitCode===null)k.kill(B)})});let T=this._exitCallback;k.on("close",(R)=>{if(R=R??1,!T)J.exit(R);else T(new Bl(R,"commander.executeSubCommandAsync","(close)"))}),k.on("error",(R)=>{if(R.code==="ENOENT")this._checkForMissingExecutable(I,f,l._name);else if(R.code==="EACCES")throw Error(`'${I}' not executable`);if(!T)J.exit(1);else{let B=new Bl(1,"commander.executeSubCommandAsync","(error)");B.nestedError=R,T(B)}}),this.runningCommand=k}_dispatchSubcommand(l,S,y){let $=this._findCommand(l);if(!$)this.help({error:!0});$._prepareForParse();let b;return b=this._chainOrCallSubCommandHook(b,$,"preSubcommand"),b=this._chainOrCall(b,()=>{if($._executableHandler)this._executeSubCommand($,S.concat(y));else return $._parseCommand(S,y)}),b}_dispatchHelpCommand(l){if(!l)this.help();let S=this._findCommand(l);if(S&&!S._executableHandler)S.help();return this._dispatchSubcommand(l,[],[this._getHelpOption()?.long??this._getHelpOption()?.short??"--help"])}_checkNumberOfArguments(){if(this.registeredArguments.forEach((l,S)=>{if(l.required&&this.args[S]==null)this.missingArgument(l.name())}),this.registeredArguments.length>0&&this.registeredArguments[this.registeredArguments.length-1].variadic)return;if(this.args.length>this.registeredArguments.length)this._excessArguments(this.args)}_processArguments(){let l=(y,$,b)=>{let I=$;if($!==null&&y.parseArg){let f=`error: command-argument value '${$}' is invalid for argument '${y.name()}'.`;I=this._callParseArg(y,$,b,f)}return I};this._checkNumberOfArguments();let S=[];this.registeredArguments.forEach((y,$)=>{let b=y.defaultValue;if(y.variadic){if($<this.args.length){if(b=this.args.slice($),y.parseArg)b=b.reduce((I,f)=>{return l(y,f,I)},y.defaultValue)}else if(b===void 0)b=[]}else if($<this.args.length){if(b=this.args[$],y.parseArg)b=l(y,b,y.defaultValue)}S[$]=b}),this.processedArgs=S}_chainOrCall(l,S){if(l?.then&&typeof l.then==="function")return l.then(()=>S());return S()}_chainOrCallHooks(l,S){let y=l,$=[];if(this._getCommandAndAncestors().reverse().filter((b)=>b._lifeCycleHooks[S]!==void 0).forEach((b)=>{b._lifeCycleHooks[S].forEach((I)=>{$.push({hookedCommand:b,callback:I})})}),S==="postAction")$.reverse();return $.forEach((b)=>{y=this._chainOrCall(y,()=>{return b.callback(b.hookedCommand,this)})}),y}_chainOrCallSubCommandHook(l,S,y){let $=l;if(this._lifeCycleHooks[y]!==void 0)this._lifeCycleHooks[y].forEach((b)=>{$=this._chainOrCall($,()=>{return b(this,S)})});return $}_parseCommand(l,S){let y=this.parseOptions(S);if(this._parseOptionsEnv(),this._parseOptionsImplied(),l=l.concat(y.operands),S=y.unknown,this.args=l.concat(S),l&&this._findCommand(l[0]))return this._dispatchSubcommand(l[0],l.slice(1),S);if(this._getHelpCommand()&&l[0]===this._getHelpCommand().name())return this._dispatchHelpCommand(l[1]);if(this._defaultCommandName)return this._outputHelpIfRequested(S),this._dispatchSubcommand(this._defaultCommandName,l,S);if(this.commands.length&&this.args.length===0&&!this._actionHandler&&!this._defaultCommandName)this.help({error:!0});this._outputHelpIfRequested(y.unknown),this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let $=()=>{if(y.unknown.length>0)this.unknownOption(y.unknown[0])},b=`command:${this.name()}`;if(this._actionHandler){$(),this._processArguments();let I;if(I=this._chainOrCallHooks(I,"preAction"),I=this._chainOrCall(I,()=>this._actionHandler(this.processedArgs)),this.parent)I=this._chainOrCall(I,()=>{this.parent.emit(b,l,S)});return I=this._chainOrCallHooks(I,"postAction"),I}if(this.parent?.listenerCount(b))$(),this._processArguments(),this.parent.emit(b,l,S);else if(l.length){if(this._findCommand("*"))return this._dispatchSubcommand("*",l,S);if(this.listenerCount("command:*"))this.emit("command:*",l,S);else if(this.commands.length)this.unknownCommand();else $(),this._processArguments()}else if(this.commands.length)$(),this.help({error:!0});else $(),this._processArguments()}_findCommand(l){if(!l)return;return this.commands.find((S)=>S._name===l||S._aliases.includes(l))}_findOption(l){return this.options.find((S)=>S.is(l))}_checkForMissingMandatoryOptions(){this._getCommandAndAncestors().forEach((l)=>{l.options.forEach((S)=>{if(S.mandatory&&l.getOptionValue(S.attributeName())===void 0)l.missingMandatoryOptionValue(S)})})}_checkForConflictingLocalOptions(){let l=this.options.filter((y)=>{let $=y.attributeName();if(this.getOptionValue($)===void 0)return!1;return this.getOptionValueSource($)!=="default"});l.filter((y)=>y.conflictsWith.length>0).forEach((y)=>{let $=l.find((b)=>y.conflictsWith.includes(b.attributeName()));if($)this._conflictingOption(y,$)})}_checkForConflictingOptions(){this._getCommandAndAncestors().forEach((l)=>{l._checkForConflictingLocalOptions()})}parseOptions(l){let S=[],y=[],$=S;function b(R){return R.length>1&&R[0]==="-"}let I=(R)=>{if(!/^-(\d+|\d*\.\d+)(e[+-]?\d+)?$/.test(R))return!1;return!this._getCommandAndAncestors().some((B)=>B.options.map((_)=>_.short).some((_)=>/^-\d$/.test(_)))},f=null,k=null,T=0;while(T<l.length||k){let R=k??l[T++];if(k=null,R==="--"){if($===y)$.push(R);$.push(...l.slice(T));break}if(f&&(!b(R)||I(R))){this.emit(`option:${f.name()}`,R);continue}if(f=null,b(R)){let B=this._findOption(R);if(B){if(B.required){let _=l[T++];if(_===void 0)this.optionMissingArgument(B);this.emit(`option:${B.name()}`,_)}else if(B.optional){let _=null;if(T<l.length&&(!b(l[T])||I(l[T])))_=l[T++];this.emit(`option:${B.name()}`,_)}else this.emit(`option:${B.name()}`);f=B.variadic?B:null;continue}}if(R.length>2&&R[0]==="-"&&R[1]!=="-"){let B=this._findOption(`-${R[1]}`);if(B){if(B.required||B.optional&&this._combineFlagAndOptionalValue)this.emit(`option:${B.name()}`,R.slice(2));else this.emit(`option:${B.name()}`),k=`-${R.slice(2)}`;continue}}if(/^--[^=]+=/.test(R)){let B=R.indexOf("="),_=this._findOption(R.slice(0,B));if(_&&(_.required||_.optional)){this.emit(`option:${_.name()}`,R.slice(B+1));continue}}if($===S&&b(R)&&!(this.commands.length===0&&I(R)))$=y;if((this._enablePositionalOptions||this._passThroughOptions)&&S.length===0&&y.length===0){if(this._findCommand(R)){S.push(R),y.push(...l.slice(T));break}else if(this._getHelpCommand()&&R===this._getHelpCommand().name()){S.push(R,...l.slice(T));break}else if(this._defaultCommandName){y.push(R,...l.slice(T));break}}if(this._passThroughOptions){$.push(R,...l.slice(T));break}$.push(R)}return{operands:S,unknown:y}}opts(){if(this._storeOptionsAsProperties){let l={},S=this.options.length;for(let y=0;y<S;y++){let $=this.options[y].attributeName();l[$]=$===this._versionOptionName?this._version:this[$]}return l}return this._optionValues}optsWithGlobals(){return this._getCommandAndAncestors().reduce((l,S)=>Object.assign(l,S.opts()),{})}error(l,S){if(this._outputConfiguration.outputError(`${l}
21
+ - ${$}`;throw Error(k)}_executeSubCommand(l,y){y=y.slice();let f=!1,$=[".js",".ts",".tsx",".mjs",".cjs"];function k(R,B){let q=A.resolve(R,B);if(d.existsSync(q))return q;if($.includes(A.extname(B)))return;let X=$.find((P)=>d.existsSync(`${q}${P}`));if(X)return`${q}${X}`;return}this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let b=l._executableFile||`${this._name}-${l._name}`,S=this._executableDir||"";if(this._scriptPath){let R;try{R=d.realpathSync(this._scriptPath)}catch{R=this._scriptPath}S=A.resolve(A.dirname(R),S)}if(S){let R=k(S,b);if(!R&&!l._executableFile&&this._scriptPath){let B=A.basename(this._scriptPath,A.extname(this._scriptPath));if(B!==this._name)R=k(S,`${B}-${l._name}`)}b=R||b}f=$.includes(A.extname(b));let I;if(J.platform!=="win32")if(f)y.unshift(b),y=dl(J.execArgv).concat(y),I=Tl.spawn(J.argv[0],y,{stdio:"inherit"});else I=Tl.spawn(b,y,{stdio:"inherit"});else this._checkForMissingExecutable(b,S,l._name),y.unshift(b),y=dl(J.execArgv).concat(y),I=Tl.spawn(J.execPath,y,{stdio:"inherit"});if(!I.killed)["SIGUSR1","SIGUSR2","SIGTERM","SIGINT","SIGHUP"].forEach((B)=>{J.on(B,()=>{if(I.killed===!1&&I.exitCode===null)I.kill(B)})});let T=this._exitCallback;I.on("close",(R)=>{if(R=R??1,!T)J.exit(R);else T(new Bl(R,"commander.executeSubCommandAsync","(close)"))}),I.on("error",(R)=>{if(R.code==="ENOENT")this._checkForMissingExecutable(b,S,l._name);else if(R.code==="EACCES")throw Error(`'${b}' not executable`);if(!T)J.exit(1);else{let B=new Bl(1,"commander.executeSubCommandAsync","(error)");B.nestedError=R,T(B)}}),this.runningCommand=I}_dispatchSubcommand(l,y,f){let $=this._findCommand(l);if(!$)this.help({error:!0});$._prepareForParse();let k;return k=this._chainOrCallSubCommandHook(k,$,"preSubcommand"),k=this._chainOrCall(k,()=>{if($._executableHandler)this._executeSubCommand($,y.concat(f));else return $._parseCommand(y,f)}),k}_dispatchHelpCommand(l){if(!l)this.help();let y=this._findCommand(l);if(y&&!y._executableHandler)y.help();return this._dispatchSubcommand(l,[],[this._getHelpOption()?.long??this._getHelpOption()?.short??"--help"])}_checkNumberOfArguments(){if(this.registeredArguments.forEach((l,y)=>{if(l.required&&this.args[y]==null)this.missingArgument(l.name())}),this.registeredArguments.length>0&&this.registeredArguments[this.registeredArguments.length-1].variadic)return;if(this.args.length>this.registeredArguments.length)this._excessArguments(this.args)}_processArguments(){let l=(f,$,k)=>{let b=$;if($!==null&&f.parseArg){let S=`error: command-argument value '${$}' is invalid for argument '${f.name()}'.`;b=this._callParseArg(f,$,k,S)}return b};this._checkNumberOfArguments();let y=[];this.registeredArguments.forEach((f,$)=>{let k=f.defaultValue;if(f.variadic){if($<this.args.length){if(k=this.args.slice($),f.parseArg)k=k.reduce((b,S)=>{return l(f,S,b)},f.defaultValue)}else if(k===void 0)k=[]}else if($<this.args.length){if(k=this.args[$],f.parseArg)k=l(f,k,f.defaultValue)}y[$]=k}),this.processedArgs=y}_chainOrCall(l,y){if(l?.then&&typeof l.then==="function")return l.then(()=>y());return y()}_chainOrCallHooks(l,y){let f=l,$=[];if(this._getCommandAndAncestors().reverse().filter((k)=>k._lifeCycleHooks[y]!==void 0).forEach((k)=>{k._lifeCycleHooks[y].forEach((b)=>{$.push({hookedCommand:k,callback:b})})}),y==="postAction")$.reverse();return $.forEach((k)=>{f=this._chainOrCall(f,()=>{return k.callback(k.hookedCommand,this)})}),f}_chainOrCallSubCommandHook(l,y,f){let $=l;if(this._lifeCycleHooks[f]!==void 0)this._lifeCycleHooks[f].forEach((k)=>{$=this._chainOrCall($,()=>{return k(this,y)})});return $}_parseCommand(l,y){let f=this.parseOptions(y);if(this._parseOptionsEnv(),this._parseOptionsImplied(),l=l.concat(f.operands),y=f.unknown,this.args=l.concat(y),l&&this._findCommand(l[0]))return this._dispatchSubcommand(l[0],l.slice(1),y);if(this._getHelpCommand()&&l[0]===this._getHelpCommand().name())return this._dispatchHelpCommand(l[1]);if(this._defaultCommandName)return this._outputHelpIfRequested(y),this._dispatchSubcommand(this._defaultCommandName,l,y);if(this.commands.length&&this.args.length===0&&!this._actionHandler&&!this._defaultCommandName)this.help({error:!0});this._outputHelpIfRequested(f.unknown),this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let $=()=>{if(f.unknown.length>0)this.unknownOption(f.unknown[0])},k=`command:${this.name()}`;if(this._actionHandler){$(),this._processArguments();let b;if(b=this._chainOrCallHooks(b,"preAction"),b=this._chainOrCall(b,()=>this._actionHandler(this.processedArgs)),this.parent)b=this._chainOrCall(b,()=>{this.parent.emit(k,l,y)});return b=this._chainOrCallHooks(b,"postAction"),b}if(this.parent?.listenerCount(k))$(),this._processArguments(),this.parent.emit(k,l,y);else if(l.length){if(this._findCommand("*"))return this._dispatchSubcommand("*",l,y);if(this.listenerCount("command:*"))this.emit("command:*",l,y);else if(this.commands.length)this.unknownCommand();else $(),this._processArguments()}else if(this.commands.length)$(),this.help({error:!0});else $(),this._processArguments()}_findCommand(l){if(!l)return;return this.commands.find((y)=>y._name===l||y._aliases.includes(l))}_findOption(l){return this.options.find((y)=>y.is(l))}_checkForMissingMandatoryOptions(){this._getCommandAndAncestors().forEach((l)=>{l.options.forEach((y)=>{if(y.mandatory&&l.getOptionValue(y.attributeName())===void 0)l.missingMandatoryOptionValue(y)})})}_checkForConflictingLocalOptions(){let l=this.options.filter((f)=>{let $=f.attributeName();if(this.getOptionValue($)===void 0)return!1;return this.getOptionValueSource($)!=="default"});l.filter((f)=>f.conflictsWith.length>0).forEach((f)=>{let $=l.find((k)=>f.conflictsWith.includes(k.attributeName()));if($)this._conflictingOption(f,$)})}_checkForConflictingOptions(){this._getCommandAndAncestors().forEach((l)=>{l._checkForConflictingLocalOptions()})}parseOptions(l){let y=[],f=[],$=y;function k(R){return R.length>1&&R[0]==="-"}let b=(R)=>{if(!/^-(\d+|\d*\.\d+)(e[+-]?\d+)?$/.test(R))return!1;return!this._getCommandAndAncestors().some((B)=>B.options.map((q)=>q.short).some((q)=>/^-\d$/.test(q)))},S=null,I=null,T=0;while(T<l.length||I){let R=I??l[T++];if(I=null,R==="--"){if($===f)$.push(R);$.push(...l.slice(T));break}if(S&&(!k(R)||b(R))){this.emit(`option:${S.name()}`,R);continue}if(S=null,k(R)){let B=this._findOption(R);if(B){if(B.required){let q=l[T++];if(q===void 0)this.optionMissingArgument(B);this.emit(`option:${B.name()}`,q)}else if(B.optional){let q=null;if(T<l.length&&(!k(l[T])||b(l[T])))q=l[T++];this.emit(`option:${B.name()}`,q)}else this.emit(`option:${B.name()}`);S=B.variadic?B:null;continue}}if(R.length>2&&R[0]==="-"&&R[1]!=="-"){let B=this._findOption(`-${R[1]}`);if(B){if(B.required||B.optional&&this._combineFlagAndOptionalValue)this.emit(`option:${B.name()}`,R.slice(2));else this.emit(`option:${B.name()}`),I=`-${R.slice(2)}`;continue}}if(/^--[^=]+=/.test(R)){let B=R.indexOf("="),q=this._findOption(R.slice(0,B));if(q&&(q.required||q.optional)){this.emit(`option:${q.name()}`,R.slice(B+1));continue}}if($===y&&k(R)&&!(this.commands.length===0&&b(R)))$=f;if((this._enablePositionalOptions||this._passThroughOptions)&&y.length===0&&f.length===0){if(this._findCommand(R)){y.push(R),f.push(...l.slice(T));break}else if(this._getHelpCommand()&&R===this._getHelpCommand().name()){y.push(R,...l.slice(T));break}else if(this._defaultCommandName){f.push(R,...l.slice(T));break}}if(this._passThroughOptions){$.push(R,...l.slice(T));break}$.push(R)}return{operands:y,unknown:f}}opts(){if(this._storeOptionsAsProperties){let l={},y=this.options.length;for(let f=0;f<y;f++){let $=this.options[f].attributeName();l[$]=$===this._versionOptionName?this._version:this[$]}return l}return this._optionValues}optsWithGlobals(){return this._getCommandAndAncestors().reduce((l,y)=>Object.assign(l,y.opts()),{})}error(l,y){if(this._outputConfiguration.outputError(`${l}
22
22
  `,this._outputConfiguration.writeErr),typeof this._showHelpAfterError==="string")this._outputConfiguration.writeErr(`${this._showHelpAfterError}
23
23
  `);else if(this._showHelpAfterError)this._outputConfiguration.writeErr(`
24
- `),this.outputHelp({error:!0});let y=S||{},$=y.exitCode||1,b=y.code||"commander.error";this._exit($,b,l)}_parseOptionsEnv(){this.options.forEach((l)=>{if(l.envVar&&l.envVar in J.env){let S=l.attributeName();if(this.getOptionValue(S)===void 0||["default","config","env"].includes(this.getOptionValueSource(S)))if(l.required||l.optional)this.emit(`optionEnv:${l.name()}`,J.env[l.envVar]);else this.emit(`optionEnv:${l.name()}`)}})}_parseOptionsImplied(){let l=new jS(this.options),S=(y)=>{return this.getOptionValue(y)!==void 0&&!["default","implied"].includes(this.getOptionValueSource(y))};this.options.filter((y)=>y.implied!==void 0&&S(y.attributeName())&&l.valueFromOption(this.getOptionValue(y.attributeName()),y)).forEach((y)=>{Object.keys(y.implied).filter(($)=>!S($)).forEach(($)=>{this.setOptionValueWithSource($,y.implied[$],"implied")})})}missingArgument(l){let S=`error: missing required argument '${l}'`;this.error(S,{code:"commander.missingArgument"})}optionMissingArgument(l){let S=`error: option '${l.flags}' argument missing`;this.error(S,{code:"commander.optionMissingArgument"})}missingMandatoryOptionValue(l){let S=`error: required option '${l.flags}' not specified`;this.error(S,{code:"commander.missingMandatoryOptionValue"})}_conflictingOption(l,S){let y=(I)=>{let f=I.attributeName(),k=this.getOptionValue(f),T=this.options.find((B)=>B.negate&&f===B.attributeName()),R=this.options.find((B)=>!B.negate&&f===B.attributeName());if(T&&(T.presetArg===void 0&&k===!1||T.presetArg!==void 0&&k===T.presetArg))return T;return R||I},$=(I)=>{let f=y(I),k=f.attributeName();if(this.getOptionValueSource(k)==="env")return`environment variable '${f.envVar}'`;return`option '${f.flags}'`},b=`error: ${$(l)} cannot be used with ${$(S)}`;this.error(b,{code:"commander.conflictingOption"})}unknownOption(l){if(this._allowUnknownOption)return;let S="";if(l.startsWith("--")&&this._showSuggestionAfterError){let $=[],b=this;do{let I=b.createHelp().visibleOptions(b).filter((f)=>f.long).map((f)=>f.long);$=$.concat(I),b=b.parent}while(b&&!b._enablePositionalOptions);S=tl(l,$)}let y=`error: unknown option '${l}'${S}`;this.error(y,{code:"commander.unknownOption"})}_excessArguments(l){if(this._allowExcessArguments)return;let S=this.registeredArguments.length,y=S===1?"":"s",b=`error: too many arguments${this.parent?` for '${this.name()}'`:""}. Expected ${S} argument${y} but got ${l.length}.`;this.error(b,{code:"commander.excessArguments"})}unknownCommand(){let l=this.args[0],S="";if(this._showSuggestionAfterError){let $=[];this.createHelp().visibleCommands(this).forEach((b)=>{if($.push(b.name()),b.alias())$.push(b.alias())}),S=tl(l,$)}let y=`error: unknown command '${l}'${S}`;this.error(y,{code:"commander.unknownCommand"})}version(l,S,y){if(l===void 0)return this._version;this._version=l,S=S||"-V, --version",y=y||"output the version number";let $=this.createOption(S,y);return this._versionOptionName=$.attributeName(),this._registerOption($),this.on("option:"+$.name(),()=>{this._outputConfiguration.writeOut(`${l}
25
- `),this._exit(0,"commander.version",l)}),this}description(l,S){if(l===void 0&&S===void 0)return this._description;if(this._description=l,S)this._argsDescription=S;return this}summary(l){if(l===void 0)return this._summary;return this._summary=l,this}alias(l){if(l===void 0)return this._aliases[0];let S=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler)S=this.commands[this.commands.length-1];if(l===S._name)throw Error("Command alias can't be the same as its name");let y=this.parent?._findCommand(l);if(y){let $=[y.name()].concat(y.aliases()).join("|");throw Error(`cannot add alias '${l}' to command '${this.name()}' as already have command '${$}'`)}return S._aliases.push(l),this}aliases(l){if(l===void 0)return this._aliases;return l.forEach((S)=>this.alias(S)),this}usage(l){if(l===void 0){if(this._usage)return this._usage;let S=this.registeredArguments.map((y)=>{return ZS(y)});return[].concat(this.options.length||this._helpOption!==null?"[options]":[],this.commands.length?"[command]":[],this.registeredArguments.length?S:[]).join(" ")}return this._usage=l,this}name(l){if(l===void 0)return this._name;return this._name=l,this}helpGroup(l){if(l===void 0)return this._helpGroupHeading??"";return this._helpGroupHeading=l,this}commandsGroup(l){if(l===void 0)return this._defaultCommandGroup??"";return this._defaultCommandGroup=l,this}optionsGroup(l){if(l===void 0)return this._defaultOptionGroup??"";return this._defaultOptionGroup=l,this}_initOptionGroup(l){if(this._defaultOptionGroup&&!l.helpGroupHeading)l.helpGroup(this._defaultOptionGroup)}_initCommandGroup(l){if(this._defaultCommandGroup&&!l.helpGroup())l.helpGroup(this._defaultCommandGroup)}nameFromFilename(l){return this._name=x.basename(l,x.extname(l)),this}executableDir(l){if(l===void 0)return this._executableDir;return this._executableDir=l,this}helpInformation(l){let S=this.createHelp(),y=this._getOutputContext(l);S.prepareContext({error:y.error,helpWidth:y.helpWidth,outputHasColors:y.hasColors});let $=S.formatHelp(this,S);if(y.hasColors)return $;return this._outputConfiguration.stripColor($)}_getOutputContext(l){l=l||{};let S=!!l.error,y,$,b;if(S)y=(f)=>this._outputConfiguration.writeErr(f),$=this._outputConfiguration.getErrHasColors(),b=this._outputConfiguration.getErrHelpWidth();else y=(f)=>this._outputConfiguration.writeOut(f),$=this._outputConfiguration.getOutHasColors(),b=this._outputConfiguration.getOutHelpWidth();return{error:S,write:(f)=>{if(!$)f=this._outputConfiguration.stripColor(f);return y(f)},hasColors:$,helpWidth:b}}outputHelp(l){let S;if(typeof l==="function")S=l,l=void 0;let y=this._getOutputContext(l),$={error:y.error,write:y.write,command:this};this._getCommandAndAncestors().reverse().forEach((I)=>I.emit("beforeAllHelp",$)),this.emit("beforeHelp",$);let b=this.helpInformation({error:y.error});if(S){if(b=S(b),typeof b!=="string"&&!Buffer.isBuffer(b))throw Error("outputHelp callback must return a string or a Buffer")}if(y.write(b),this._getHelpOption()?.long)this.emit(this._getHelpOption().long);this.emit("afterHelp",$),this._getCommandAndAncestors().forEach((I)=>I.emit("afterAllHelp",$))}helpOption(l,S){if(typeof l==="boolean"){if(l){if(this._helpOption===null)this._helpOption=void 0;if(this._defaultOptionGroup)this._initOptionGroup(this._getHelpOption())}else this._helpOption=null;return this}if(this._helpOption=this.createOption(l??"-h, --help",S??"display help for command"),l||S)this._initOptionGroup(this._helpOption);return this}_getHelpOption(){if(this._helpOption===void 0)this.helpOption(void 0,void 0);return this._helpOption}addHelpOption(l){return this._helpOption=l,this._initOptionGroup(l),this}help(l){this.outputHelp(l);let S=Number(J.exitCode??0);if(S===0&&l&&typeof l!=="function"&&l.error)S=1;this._exit(S,"commander.help","(outputHelp)")}addHelpText(l,S){let y=["beforeAll","before","after","afterAll"];if(!y.includes(l))throw Error(`Unexpected value for position to addHelpText.
26
- Expecting one of '${y.join("', '")}'`);let $=`${l}Help`;return this.on($,(b)=>{let I;if(typeof S==="function")I=S({error:b.error,command:b.command});else I=S;if(I)b.write(`${I}
27
- `)}),this}_outputHelpIfRequested(l){let S=this._getHelpOption();if(S&&l.find(($)=>S.is($)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}function dl(l){return l.map((S)=>{if(!S.startsWith("--inspect"))return S;let y,$="127.0.0.1",b="9229",I;if((I=S.match(/^(--inspect(-brk)?)$/))!==null)y=I[1];else if((I=S.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null)if(y=I[1],/^\d+$/.test(I[3]))b=I[3];else $=I[3];else if((I=S.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null)y=I[1],$=I[3],b=I[4];if(y&&b!=="0")return`${y}=${$}:${parseInt(b)+1}`;return S})}function ql(){if(J.env.NO_COLOR||J.env.FORCE_COLOR==="0"||J.env.FORCE_COLOR==="false")return!1;if(J.env.FORCE_COLOR||J.env.CLICOLOR_FORCE!==void 0)return!0;return}MS.Command=_l;MS.useColor=ql});var el=V((NS)=>{var{Argument:pl}=t(),{Command:Ll}=rl(),{CommanderError:WS,InvalidArgumentError:al}=u(),{Help:wS}=kl(),{Option:ol}=Rl();NS.program=new Ll;NS.createCommand=(l)=>new Ll(l);NS.createOption=(l,S)=>new ol(l,S);NS.createArgument=(l,S)=>new pl(l,S);NS.Command=Ll;NS.Option=ol;NS.Argument=pl;NS.Help=wS;NS.CommanderError=WS;NS.InvalidArgumentError=al;NS.InvalidOptionArgumentError=al});var Xl=V((Py,S1)=>{var Yl={to(l,S){if(!S)return`\x1B[${l+1}G`;return`\x1B[${S+1};${l+1}H`},move(l,S){let y="";if(l<0)y+=`\x1B[${-l}D`;else if(l>0)y+=`\x1B[${l}C`;if(S<0)y+=`\x1B[${-S}A`;else if(S>0)y+=`\x1B[${S}B`;return y},up:(l=1)=>`\x1B[${l}A`,down:(l=1)=>`\x1B[${l}B`,forward:(l=1)=>`\x1B[${l}C`,backward:(l=1)=>`\x1B[${l}D`,nextLine:(l=1)=>"\x1B[E".repeat(l),prevLine:(l=1)=>"\x1B[F".repeat(l),left:"\x1B[G",hide:"\x1B[?25l",show:"\x1B[?25h",save:"\x1B7",restore:"\x1B8"},sS={up:(l=1)=>"\x1B[S".repeat(l),down:(l=1)=>"\x1B[T".repeat(l)},iS={screen:"\x1B[2J",up:(l=1)=>"\x1B[1J".repeat(l),down:(l=1)=>"\x1B[J".repeat(l),line:"\x1B[2K",lineEnd:"\x1B[K",lineStart:"\x1B[1K",lines(l){let S="";for(let y=0;y<l;y++)S+=this.line+(y<l-1?Yl.up():"");if(l)S+=Yl.left;return S}};S1.exports={cursor:Yl,scroll:sS,erase:iS,beep:"\x07"}});var a=V((Uy,Gl)=>{var p=process||{},f1=p.argv||[],r=p.env||{},mS=!(!!r.NO_COLOR||f1.includes("--no-color"))&&(!!r.FORCE_COLOR||f1.includes("--color")||p.platform==="win32"||(p.stdout||{}).isTTY&&r.TERM!=="dumb"||!!r.CI),DS=(l,S,y=l)=>($)=>{let b=""+$,I=b.indexOf(S,l.length);return~I?l+uS(b,S,y,I)+S:l+b+S},uS=(l,S,y,$)=>{let b="",I=0;do b+=l.substring(I,$)+y,I=$+S.length,$=l.indexOf(S,I);while(~$);return b+l.substring(I)},y1=(l=mS)=>{let S=l?DS:()=>String;return{isColorSupported:l,reset:S("\x1B[0m","\x1B[0m"),bold:S("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:S("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:S("\x1B[3m","\x1B[23m"),underline:S("\x1B[4m","\x1B[24m"),inverse:S("\x1B[7m","\x1B[27m"),hidden:S("\x1B[8m","\x1B[28m"),strikethrough:S("\x1B[9m","\x1B[29m"),black:S("\x1B[30m","\x1B[39m"),red:S("\x1B[31m","\x1B[39m"),green:S("\x1B[32m","\x1B[39m"),yellow:S("\x1B[33m","\x1B[39m"),blue:S("\x1B[34m","\x1B[39m"),magenta:S("\x1B[35m","\x1B[39m"),cyan:S("\x1B[36m","\x1B[39m"),white:S("\x1B[37m","\x1B[39m"),gray:S("\x1B[90m","\x1B[39m"),bgBlack:S("\x1B[40m","\x1B[49m"),bgRed:S("\x1B[41m","\x1B[49m"),bgGreen:S("\x1B[42m","\x1B[49m"),bgYellow:S("\x1B[43m","\x1B[49m"),bgBlue:S("\x1B[44m","\x1B[49m"),bgMagenta:S("\x1B[45m","\x1B[49m"),bgCyan:S("\x1B[46m","\x1B[49m"),bgWhite:S("\x1B[47m","\x1B[49m"),blackBright:S("\x1B[90m","\x1B[39m"),redBright:S("\x1B[91m","\x1B[39m"),greenBright:S("\x1B[92m","\x1B[39m"),yellowBright:S("\x1B[93m","\x1B[39m"),blueBright:S("\x1B[94m","\x1B[39m"),magentaBright:S("\x1B[95m","\x1B[39m"),cyanBright:S("\x1B[96m","\x1B[39m"),whiteBright:S("\x1B[97m","\x1B[39m"),bgBlackBright:S("\x1B[100m","\x1B[49m"),bgRedBright:S("\x1B[101m","\x1B[49m"),bgGreenBright:S("\x1B[102m","\x1B[49m"),bgYellowBright:S("\x1B[103m","\x1B[49m"),bgBlueBright:S("\x1B[104m","\x1B[49m"),bgMagentaBright:S("\x1B[105m","\x1B[49m"),bgCyanBright:S("\x1B[106m","\x1B[49m"),bgWhiteBright:S("\x1B[107m","\x1B[49m")}};Gl.exports=y1();Gl.exports.createColors=y1});var l1=c(el(),1),{program:Jl,createCommand:By,createArgument:qy,createOption:_y,CommanderError:Ly,InvalidArgumentError:Jy,InvalidOptionArgumentError:Yy,Command:Xy,Argument:Gy,Option:zy,Help:Qy}=l1.default;var M=c(Xl(),1);import{stdin as L1,stdout as J1}from"node:process";import*as O from"node:readline";import $1 from"node:readline";import{Writable as nS}from"node:stream";function tS({onlyFirst:l=!1}={}){let S=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");return new RegExp(S,l?void 0:"g")}var dS=tS();function Y1(l){if(typeof l!="string")throw TypeError(`Expected a \`string\`, got \`${typeof l}\``);return l.replace(dS,"")}function X1(l){return l&&l.__esModule&&Object.prototype.hasOwnProperty.call(l,"default")?l.default:l}var G1={exports:{}};(function(l){var S={};l.exports=S,S.eastAsianWidth=function($){var b=$.charCodeAt(0),I=$.length==2?$.charCodeAt(1):0,f=b;return 55296<=b&&b<=56319&&56320<=I&&I<=57343&&(b&=1023,I&=1023,f=b<<10|I,f+=65536),f==12288||65281<=f&&f<=65376||65504<=f&&f<=65510?"F":f==8361||65377<=f&&f<=65470||65474<=f&&f<=65479||65482<=f&&f<=65487||65490<=f&&f<=65495||65498<=f&&f<=65500||65512<=f&&f<=65518?"H":4352<=f&&f<=4447||4515<=f&&f<=4519||4602<=f&&f<=4607||9001<=f&&f<=9002||11904<=f&&f<=11929||11931<=f&&f<=12019||12032<=f&&f<=12245||12272<=f&&f<=12283||12289<=f&&f<=12350||12353<=f&&f<=12438||12441<=f&&f<=12543||12549<=f&&f<=12589||12593<=f&&f<=12686||12688<=f&&f<=12730||12736<=f&&f<=12771||12784<=f&&f<=12830||12832<=f&&f<=12871||12880<=f&&f<=13054||13056<=f&&f<=19903||19968<=f&&f<=42124||42128<=f&&f<=42182||43360<=f&&f<=43388||44032<=f&&f<=55203||55216<=f&&f<=55238||55243<=f&&f<=55291||63744<=f&&f<=64255||65040<=f&&f<=65049||65072<=f&&f<=65106||65108<=f&&f<=65126||65128<=f&&f<=65131||110592<=f&&f<=110593||127488<=f&&f<=127490||127504<=f&&f<=127546||127552<=f&&f<=127560||127568<=f&&f<=127569||131072<=f&&f<=194367||177984<=f&&f<=196605||196608<=f&&f<=262141?"W":32<=f&&f<=126||162<=f&&f<=163||165<=f&&f<=166||f==172||f==175||10214<=f&&f<=10221||10629<=f&&f<=10630?"Na":f==161||f==164||167<=f&&f<=168||f==170||173<=f&&f<=174||176<=f&&f<=180||182<=f&&f<=186||188<=f&&f<=191||f==198||f==208||215<=f&&f<=216||222<=f&&f<=225||f==230||232<=f&&f<=234||236<=f&&f<=237||f==240||242<=f&&f<=243||247<=f&&f<=250||f==252||f==254||f==257||f==273||f==275||f==283||294<=f&&f<=295||f==299||305<=f&&f<=307||f==312||319<=f&&f<=322||f==324||328<=f&&f<=331||f==333||338<=f&&f<=339||358<=f&&f<=359||f==363||f==462||f==464||f==466||f==468||f==470||f==472||f==474||f==476||f==593||f==609||f==708||f==711||713<=f&&f<=715||f==717||f==720||728<=f&&f<=731||f==733||f==735||768<=f&&f<=879||913<=f&&f<=929||931<=f&&f<=937||945<=f&&f<=961||963<=f&&f<=969||f==1025||1040<=f&&f<=1103||f==1105||f==8208||8211<=f&&f<=8214||8216<=f&&f<=8217||8220<=f&&f<=8221||8224<=f&&f<=8226||8228<=f&&f<=8231||f==8240||8242<=f&&f<=8243||f==8245||f==8251||f==8254||f==8308||f==8319||8321<=f&&f<=8324||f==8364||f==8451||f==8453||f==8457||f==8467||f==8470||8481<=f&&f<=8482||f==8486||f==8491||8531<=f&&f<=8532||8539<=f&&f<=8542||8544<=f&&f<=8555||8560<=f&&f<=8569||f==8585||8592<=f&&f<=8601||8632<=f&&f<=8633||f==8658||f==8660||f==8679||f==8704||8706<=f&&f<=8707||8711<=f&&f<=8712||f==8715||f==8719||f==8721||f==8725||f==8730||8733<=f&&f<=8736||f==8739||f==8741||8743<=f&&f<=8748||f==8750||8756<=f&&f<=8759||8764<=f&&f<=8765||f==8776||f==8780||f==8786||8800<=f&&f<=8801||8804<=f&&f<=8807||8810<=f&&f<=8811||8814<=f&&f<=8815||8834<=f&&f<=8835||8838<=f&&f<=8839||f==8853||f==8857||f==8869||f==8895||f==8978||9312<=f&&f<=9449||9451<=f&&f<=9547||9552<=f&&f<=9587||9600<=f&&f<=9615||9618<=f&&f<=9621||9632<=f&&f<=9633||9635<=f&&f<=9641||9650<=f&&f<=9651||9654<=f&&f<=9655||9660<=f&&f<=9661||9664<=f&&f<=9665||9670<=f&&f<=9672||f==9675||9678<=f&&f<=9681||9698<=f&&f<=9701||f==9711||9733<=f&&f<=9734||f==9737||9742<=f&&f<=9743||9748<=f&&f<=9749||f==9756||f==9758||f==9792||f==9794||9824<=f&&f<=9825||9827<=f&&f<=9829||9831<=f&&f<=9834||9836<=f&&f<=9837||f==9839||9886<=f&&f<=9887||9918<=f&&f<=9919||9924<=f&&f<=9933||9935<=f&&f<=9953||f==9955||9960<=f&&f<=9983||f==10045||f==10071||10102<=f&&f<=10111||11093<=f&&f<=11097||12872<=f&&f<=12879||57344<=f&&f<=63743||65024<=f&&f<=65039||f==65533||127232<=f&&f<=127242||127248<=f&&f<=127277||127280<=f&&f<=127337||127344<=f&&f<=127386||917760<=f&&f<=917999||983040<=f&&f<=1048573||1048576<=f&&f<=1114109?"A":"N"},S.characterLength=function($){var b=this.eastAsianWidth($);return b=="F"||b=="W"||b=="A"?2:1};function y($){return $.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g)||[]}S.length=function($){for(var b=y($),I=0,f=0;f<b.length;f++)I=I+this.characterLength(b[f]);return I},S.slice=function($,b,I){textLen=S.length($),b=b||0,I=I||1,b<0&&(b=textLen+b),I<0&&(I=textLen+I);for(var f="",k=0,T=y($),R=0;R<T.length;R++){var B=T[R],_=S.length(B);if(k>=b-(_==2?1:0))if(k+_<=I)f+=B;else break;k+=_}return f}})(G1);var rS=G1.exports,pS=X1(rS),aS=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g},oS=X1(aS);function n(l,S={}){if(typeof l!="string"||l.length===0||(S={ambiguousIsNarrow:!0,...S},l=Y1(l),l.length===0))return 0;l=l.replace(oS()," ");let y=S.ambiguousIsNarrow?1:2,$=0;for(let b of l){let I=b.codePointAt(0);if(I<=31||I>=127&&I<=159||I>=768&&I<=879)continue;switch(pS.eastAsianWidth(b)){case"F":case"W":$+=2;break;case"A":$+=y;break;default:$+=1}}return $}var zl=10,b1=(l=0)=>(S)=>`\x1B[${S+l}m`,I1=(l=0)=>(S)=>`\x1B[${38+l};5;${S}m`,k1=(l=0)=>(S,y,$)=>`\x1B[${38+l};2;${S};${y};${$}m`,z={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Object.keys(z.modifier);var eS=Object.keys(z.color),lf=Object.keys(z.bgColor);[...eS,...lf];function Sf(){let l=new Map;for(let[S,y]of Object.entries(z)){for(let[$,b]of Object.entries(y))z[$]={open:`\x1B[${b[0]}m`,close:`\x1B[${b[1]}m`},y[$]=z[$],l.set(b[0],b[1]);Object.defineProperty(z,S,{value:y,enumerable:!1})}return Object.defineProperty(z,"codes",{value:l,enumerable:!1}),z.color.close="\x1B[39m",z.bgColor.close="\x1B[49m",z.color.ansi=b1(),z.color.ansi256=I1(),z.color.ansi16m=k1(),z.bgColor.ansi=b1(zl),z.bgColor.ansi256=I1(zl),z.bgColor.ansi16m=k1(zl),Object.defineProperties(z,{rgbToAnsi256:{value:(S,y,$)=>S===y&&y===$?S<8?16:S>248?231:Math.round((S-8)/247*24)+232:16+36*Math.round(S/255*5)+6*Math.round(y/255*5)+Math.round($/255*5),enumerable:!1},hexToRgb:{value:(S)=>{let y=/[a-f\d]{6}|[a-f\d]{3}/i.exec(S.toString(16));if(!y)return[0,0,0];let[$]=y;$.length===3&&($=[...$].map((I)=>I+I).join(""));let b=Number.parseInt($,16);return[b>>16&255,b>>8&255,b&255]},enumerable:!1},hexToAnsi256:{value:(S)=>z.rgbToAnsi256(...z.hexToRgb(S)),enumerable:!1},ansi256ToAnsi:{value:(S)=>{if(S<8)return 30+S;if(S<16)return 90+(S-8);let y,$,b;if(S>=232)y=((S-232)*10+8)/255,$=y,b=y;else{S-=16;let k=S%36;y=Math.floor(S/36)/5,$=Math.floor(k/6)/5,b=k%6/5}let I=Math.max(y,$,b)*2;if(I===0)return 30;let f=30+(Math.round(b)<<2|Math.round($)<<1|Math.round(y));return I===2&&(f+=60),f},enumerable:!1},rgbToAnsi:{value:(S,y,$)=>z.ansi256ToAnsi(z.rgbToAnsi256(S,y,$)),enumerable:!1},hexToAnsi:{value:(S)=>z.ansi256ToAnsi(z.hexToAnsi256(S)),enumerable:!1}}),z}var ff=Sf(),ll=new Set(["\x1B","›"]),yf=39,Pl="\x07",z1="[",$f="]",Q1="m",Ul=`${$f}8;;`,R1=(l)=>`${ll.values().next().value}${z1}${l}${Q1}`,T1=(l)=>`${ll.values().next().value}${Ul}${l}${Pl}`,bf=(l)=>l.split(" ").map((S)=>n(S)),Ql=(l,S,y)=>{let $=[...S],b=!1,I=!1,f=n(Y1(l[l.length-1]));for(let[k,T]of $.entries()){let R=n(T);if(f+R<=y?l[l.length-1]+=T:(l.push(T),f=0),ll.has(T)&&(b=!0,I=$.slice(k+1).join("").startsWith(Ul)),b){I?T===Pl&&(b=!1,I=!1):T===Q1&&(b=!1);continue}f+=R,f===y&&k<$.length-1&&(l.push(""),f=0)}!f&&l[l.length-1].length>0&&l.length>1&&(l[l.length-2]+=l.pop())},If=(l)=>{let S=l.split(" "),y=S.length;for(;y>0&&!(n(S[y-1])>0);)y--;return y===S.length?l:S.slice(0,y).join(" ")+S.slice(y).join("")},kf=(l,S,y={})=>{if(y.trim!==!1&&l.trim()==="")return"";let $="",b,I,f=bf(l),k=[""];for(let[R,B]of l.split(" ").entries()){y.trim!==!1&&(k[k.length-1]=k[k.length-1].trimStart());let _=n(k[k.length-1]);if(R!==0&&(_>=S&&(y.wordWrap===!1||y.trim===!1)&&(k.push(""),_=0),(_>0||y.trim===!1)&&(k[k.length-1]+=" ",_++)),y.hard&&f[R]>S){let Y=S-_,Q=1+Math.floor((f[R]-Y-1)/S);Math.floor((f[R]-1)/S)<Q&&k.push(""),Ql(k,B,S);continue}if(_+f[R]>S&&_>0&&f[R]>0){if(y.wordWrap===!1&&_<S){Ql(k,B,S);continue}k.push("")}if(_+f[R]>S&&y.wordWrap===!1){Ql(k,B,S);continue}k[k.length-1]+=B}y.trim!==!1&&(k=k.map((R)=>If(R)));let T=[...k.join(`
28
- `)];for(let[R,B]of T.entries()){if($+=B,ll.has(B)){let{groups:Y}=new RegExp(`(?:\\${z1}(?<code>\\d+)m|\\${Ul}(?<uri>.*)${Pl})`).exec(T.slice(R).join(""))||{groups:{}};if(Y.code!==void 0){let Q=Number.parseFloat(Y.code);b=Q===yf?void 0:Q}else Y.uri!==void 0&&(I=Y.uri.length===0?void 0:Y.uri)}let _=ff.codes.get(Number(b));T[R+1]===`
29
- `?(I&&($+=T1("")),b&&_&&($+=R1(_))):B===`
30
- `&&(b&&_&&($+=R1(b)),I&&($+=T1(I)))}return $};function B1(l,S,y){return String(l).normalize().replace(/\r\n/g,`
24
+ `),this.outputHelp({error:!0});let f=y||{},$=f.exitCode||1,k=f.code||"commander.error";this._exit($,k,l)}_parseOptionsEnv(){this.options.forEach((l)=>{if(l.envVar&&l.envVar in J.env){let y=l.attributeName();if(this.getOptionValue(y)===void 0||["default","config","env"].includes(this.getOptionValueSource(y)))if(l.required||l.optional)this.emit(`optionEnv:${l.name()}`,J.env[l.envVar]);else this.emit(`optionEnv:${l.name()}`)}})}_parseOptionsImplied(){let l=new jy(this.options),y=(f)=>{return this.getOptionValue(f)!==void 0&&!["default","implied"].includes(this.getOptionValueSource(f))};this.options.filter((f)=>f.implied!==void 0&&y(f.attributeName())&&l.valueFromOption(this.getOptionValue(f.attributeName()),f)).forEach((f)=>{Object.keys(f.implied).filter(($)=>!y($)).forEach(($)=>{this.setOptionValueWithSource($,f.implied[$],"implied")})})}missingArgument(l){let y=`error: missing required argument '${l}'`;this.error(y,{code:"commander.missingArgument"})}optionMissingArgument(l){let y=`error: option '${l.flags}' argument missing`;this.error(y,{code:"commander.optionMissingArgument"})}missingMandatoryOptionValue(l){let y=`error: required option '${l.flags}' not specified`;this.error(y,{code:"commander.missingMandatoryOptionValue"})}_conflictingOption(l,y){let f=(b)=>{let S=b.attributeName(),I=this.getOptionValue(S),T=this.options.find((B)=>B.negate&&S===B.attributeName()),R=this.options.find((B)=>!B.negate&&S===B.attributeName());if(T&&(T.presetArg===void 0&&I===!1||T.presetArg!==void 0&&I===T.presetArg))return T;return R||b},$=(b)=>{let S=f(b),I=S.attributeName();if(this.getOptionValueSource(I)==="env")return`environment variable '${S.envVar}'`;return`option '${S.flags}'`},k=`error: ${$(l)} cannot be used with ${$(y)}`;this.error(k,{code:"commander.conflictingOption"})}unknownOption(l){if(this._allowUnknownOption)return;let y="";if(l.startsWith("--")&&this._showSuggestionAfterError){let $=[],k=this;do{let b=k.createHelp().visibleOptions(k).filter((S)=>S.long).map((S)=>S.long);$=$.concat(b),k=k.parent}while(k&&!k._enablePositionalOptions);y=ul(l,$)}let f=`error: unknown option '${l}'${y}`;this.error(f,{code:"commander.unknownOption"})}_excessArguments(l){if(this._allowExcessArguments)return;let y=this.registeredArguments.length,f=y===1?"":"s",k=`error: too many arguments${this.parent?` for '${this.name()}'`:""}. Expected ${y} argument${f} but got ${l.length}.`;this.error(k,{code:"commander.excessArguments"})}unknownCommand(){let l=this.args[0],y="";if(this._showSuggestionAfterError){let $=[];this.createHelp().visibleCommands(this).forEach((k)=>{if($.push(k.name()),k.alias())$.push(k.alias())}),y=ul(l,$)}let f=`error: unknown command '${l}'${y}`;this.error(f,{code:"commander.unknownCommand"})}version(l,y,f){if(l===void 0)return this._version;this._version=l,y=y||"-V, --version",f=f||"output the version number";let $=this.createOption(y,f);return this._versionOptionName=$.attributeName(),this._registerOption($),this.on("option:"+$.name(),()=>{this._outputConfiguration.writeOut(`${l}
25
+ `),this._exit(0,"commander.version",l)}),this}description(l,y){if(l===void 0&&y===void 0)return this._description;if(this._description=l,y)this._argsDescription=y;return this}summary(l){if(l===void 0)return this._summary;return this._summary=l,this}alias(l){if(l===void 0)return this._aliases[0];let y=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler)y=this.commands[this.commands.length-1];if(l===y._name)throw Error("Command alias can't be the same as its name");let f=this.parent?._findCommand(l);if(f){let $=[f.name()].concat(f.aliases()).join("|");throw Error(`cannot add alias '${l}' to command '${this.name()}' as already have command '${$}'`)}return y._aliases.push(l),this}aliases(l){if(l===void 0)return this._aliases;return l.forEach((y)=>this.alias(y)),this}usage(l){if(l===void 0){if(this._usage)return this._usage;let y=this.registeredArguments.map((f)=>{return Zy(f)});return[].concat(this.options.length||this._helpOption!==null?"[options]":[],this.commands.length?"[command]":[],this.registeredArguments.length?y:[]).join(" ")}return this._usage=l,this}name(l){if(l===void 0)return this._name;return this._name=l,this}helpGroup(l){if(l===void 0)return this._helpGroupHeading??"";return this._helpGroupHeading=l,this}commandsGroup(l){if(l===void 0)return this._defaultCommandGroup??"";return this._defaultCommandGroup=l,this}optionsGroup(l){if(l===void 0)return this._defaultOptionGroup??"";return this._defaultOptionGroup=l,this}_initOptionGroup(l){if(this._defaultOptionGroup&&!l.helpGroupHeading)l.helpGroup(this._defaultOptionGroup)}_initCommandGroup(l){if(this._defaultCommandGroup&&!l.helpGroup())l.helpGroup(this._defaultCommandGroup)}nameFromFilename(l){return this._name=A.basename(l,A.extname(l)),this}executableDir(l){if(l===void 0)return this._executableDir;return this._executableDir=l,this}helpInformation(l){let y=this.createHelp(),f=this._getOutputContext(l);y.prepareContext({error:f.error,helpWidth:f.helpWidth,outputHasColors:f.hasColors});let $=y.formatHelp(this,y);if(f.hasColors)return $;return this._outputConfiguration.stripColor($)}_getOutputContext(l){l=l||{};let y=!!l.error,f,$,k;if(y)f=(S)=>this._outputConfiguration.writeErr(S),$=this._outputConfiguration.getErrHasColors(),k=this._outputConfiguration.getErrHelpWidth();else f=(S)=>this._outputConfiguration.writeOut(S),$=this._outputConfiguration.getOutHasColors(),k=this._outputConfiguration.getOutHelpWidth();return{error:y,write:(S)=>{if(!$)S=this._outputConfiguration.stripColor(S);return f(S)},hasColors:$,helpWidth:k}}outputHelp(l){let y;if(typeof l==="function")y=l,l=void 0;let f=this._getOutputContext(l),$={error:f.error,write:f.write,command:this};this._getCommandAndAncestors().reverse().forEach((b)=>b.emit("beforeAllHelp",$)),this.emit("beforeHelp",$);let k=this.helpInformation({error:f.error});if(y){if(k=y(k),typeof k!=="string"&&!Buffer.isBuffer(k))throw Error("outputHelp callback must return a string or a Buffer")}if(f.write(k),this._getHelpOption()?.long)this.emit(this._getHelpOption().long);this.emit("afterHelp",$),this._getCommandAndAncestors().forEach((b)=>b.emit("afterAllHelp",$))}helpOption(l,y){if(typeof l==="boolean"){if(l){if(this._helpOption===null)this._helpOption=void 0;if(this._defaultOptionGroup)this._initOptionGroup(this._getHelpOption())}else this._helpOption=null;return this}if(this._helpOption=this.createOption(l??"-h, --help",y??"display help for command"),l||y)this._initOptionGroup(this._helpOption);return this}_getHelpOption(){if(this._helpOption===void 0)this.helpOption(void 0,void 0);return this._helpOption}addHelpOption(l){return this._helpOption=l,this._initOptionGroup(l),this}help(l){this.outputHelp(l);let y=Number(J.exitCode??0);if(y===0&&l&&typeof l!=="function"&&l.error)y=1;this._exit(y,"commander.help","(outputHelp)")}addHelpText(l,y){let f=["beforeAll","before","after","afterAll"];if(!f.includes(l))throw Error(`Unexpected value for position to addHelpText.
26
+ Expecting one of '${f.join("', '")}'`);let $=`${l}Help`;return this.on($,(k)=>{let b;if(typeof y==="function")b=y({error:k.error,command:k.command});else b=y;if(b)k.write(`${b}
27
+ `)}),this}_outputHelpIfRequested(l){let y=this._getHelpOption();if(y&&l.find(($)=>y.is($)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}function dl(l){return l.map((y)=>{if(!y.startsWith("--inspect"))return y;let f,$="127.0.0.1",k="9229",b;if((b=y.match(/^(--inspect(-brk)?)$/))!==null)f=b[1];else if((b=y.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null)if(f=b[1],/^\d+$/.test(b[3]))k=b[3];else $=b[3];else if((b=y.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null)f=b[1],$=b[3],k=b[4];if(f&&k!=="0")return`${f}=${$}:${parseInt(k)+1}`;return y})}function Ll(){if(J.env.NO_COLOR||J.env.FORCE_COLOR==="0"||J.env.FORCE_COLOR==="false")return!1;if(J.env.FORCE_COLOR||J.env.CLICOLOR_FORCE!==void 0)return!0;return}My.Command=ql;My.useColor=Ll});var el=V((Ny)=>{var{Argument:al}=u(),{Command:_l}=rl(),{CommanderError:wy,InvalidArgumentError:pl}=n(),{Help:Wy}=Il(),{Option:ol}=Rl();Ny.program=new _l;Ny.createCommand=(l)=>new _l(l);Ny.createOption=(l,y)=>new ol(l,y);Ny.createArgument=(l,y)=>new al(l,y);Ny.Command=_l;Ny.Option=ol;Ny.Argument=al;Ny.Help=Wy;Ny.CommanderError=wy;Ny.InvalidArgumentError=pl;Ny.InvalidOptionArgumentError=pl});var Yl=V((Zf,y1)=>{var Gl={to(l,y){if(!y)return`\x1B[${l+1}G`;return`\x1B[${y+1};${l+1}H`},move(l,y){let f="";if(l<0)f+=`\x1B[${-l}D`;else if(l>0)f+=`\x1B[${l}C`;if(y<0)f+=`\x1B[${-y}A`;else if(y>0)f+=`\x1B[${y}B`;return f},up:(l=1)=>`\x1B[${l}A`,down:(l=1)=>`\x1B[${l}B`,forward:(l=1)=>`\x1B[${l}C`,backward:(l=1)=>`\x1B[${l}D`,nextLine:(l=1)=>"\x1B[E".repeat(l),prevLine:(l=1)=>"\x1B[F".repeat(l),left:"\x1B[G",hide:"\x1B[?25l",show:"\x1B[?25h",save:"\x1B7",restore:"\x1B8"},sy={up:(l=1)=>"\x1B[S".repeat(l),down:(l=1)=>"\x1B[T".repeat(l)},iy={screen:"\x1B[2J",up:(l=1)=>"\x1B[1J".repeat(l),down:(l=1)=>"\x1B[J".repeat(l),line:"\x1B[2K",lineEnd:"\x1B[K",lineStart:"\x1B[1K",lines(l){let y="";for(let f=0;f<l;f++)y+=this.line+(f<l-1?Gl.up():"");if(l)y+=Gl.left;return y}};y1.exports={cursor:Gl,scroll:sy,erase:iy,beep:"\x07"}});var p=V((Pf,Xl)=>{var a=process||{},S1=a.argv||[],r=a.env||{},my=!(!!r.NO_COLOR||S1.includes("--no-color"))&&(!!r.FORCE_COLOR||S1.includes("--color")||a.platform==="win32"||(a.stdout||{}).isTTY&&r.TERM!=="dumb"||!!r.CI),Dy=(l,y,f=l)=>($)=>{let k=""+$,b=k.indexOf(y,l.length);return~b?l+ny(k,y,f,b)+y:l+k+y},ny=(l,y,f,$)=>{let k="",b=0;do k+=l.substring(b,$)+f,b=$+y.length,$=l.indexOf(y,b);while(~$);return k+l.substring(b)},f1=(l=my)=>{let y=l?Dy:()=>String;return{isColorSupported:l,reset:y("\x1B[0m","\x1B[0m"),bold:y("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:y("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:y("\x1B[3m","\x1B[23m"),underline:y("\x1B[4m","\x1B[24m"),inverse:y("\x1B[7m","\x1B[27m"),hidden:y("\x1B[8m","\x1B[28m"),strikethrough:y("\x1B[9m","\x1B[29m"),black:y("\x1B[30m","\x1B[39m"),red:y("\x1B[31m","\x1B[39m"),green:y("\x1B[32m","\x1B[39m"),yellow:y("\x1B[33m","\x1B[39m"),blue:y("\x1B[34m","\x1B[39m"),magenta:y("\x1B[35m","\x1B[39m"),cyan:y("\x1B[36m","\x1B[39m"),white:y("\x1B[37m","\x1B[39m"),gray:y("\x1B[90m","\x1B[39m"),bgBlack:y("\x1B[40m","\x1B[49m"),bgRed:y("\x1B[41m","\x1B[49m"),bgGreen:y("\x1B[42m","\x1B[49m"),bgYellow:y("\x1B[43m","\x1B[49m"),bgBlue:y("\x1B[44m","\x1B[49m"),bgMagenta:y("\x1B[45m","\x1B[49m"),bgCyan:y("\x1B[46m","\x1B[49m"),bgWhite:y("\x1B[47m","\x1B[49m"),blackBright:y("\x1B[90m","\x1B[39m"),redBright:y("\x1B[91m","\x1B[39m"),greenBright:y("\x1B[92m","\x1B[39m"),yellowBright:y("\x1B[93m","\x1B[39m"),blueBright:y("\x1B[94m","\x1B[39m"),magentaBright:y("\x1B[95m","\x1B[39m"),cyanBright:y("\x1B[96m","\x1B[39m"),whiteBright:y("\x1B[97m","\x1B[39m"),bgBlackBright:y("\x1B[100m","\x1B[49m"),bgRedBright:y("\x1B[101m","\x1B[49m"),bgGreenBright:y("\x1B[102m","\x1B[49m"),bgYellowBright:y("\x1B[103m","\x1B[49m"),bgBlueBright:y("\x1B[104m","\x1B[49m"),bgMagentaBright:y("\x1B[105m","\x1B[49m"),bgCyanBright:y("\x1B[106m","\x1B[49m"),bgWhiteBright:y("\x1B[107m","\x1B[49m")}};Xl.exports=f1();Xl.exports.createColors=f1});var l1=v(el(),1),{program:Jl,createCommand:Tf,createArgument:Bf,createOption:Lf,CommanderError:qf,InvalidArgumentError:_f,InvalidOptionArgumentError:Jf,Command:Gf,Argument:Yf,Option:Xf,Help:zf}=l1.default;var M=v(Yl(),1);import{stdin as _1,stdout as J1}from"node:process";import*as O from"node:readline";import $1 from"node:readline";import{Writable as ty}from"node:stream";function uy({onlyFirst:l=!1}={}){let y=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");return new RegExp(y,l?void 0:"g")}var dy=uy();function G1(l){if(typeof l!="string")throw TypeError(`Expected a \`string\`, got \`${typeof l}\``);return l.replace(dy,"")}function Y1(l){return l&&l.__esModule&&Object.prototype.hasOwnProperty.call(l,"default")?l.default:l}var X1={exports:{}};(function(l){var y={};l.exports=y,y.eastAsianWidth=function($){var k=$.charCodeAt(0),b=$.length==2?$.charCodeAt(1):0,S=k;return 55296<=k&&k<=56319&&56320<=b&&b<=57343&&(k&=1023,b&=1023,S=k<<10|b,S+=65536),S==12288||65281<=S&&S<=65376||65504<=S&&S<=65510?"F":S==8361||65377<=S&&S<=65470||65474<=S&&S<=65479||65482<=S&&S<=65487||65490<=S&&S<=65495||65498<=S&&S<=65500||65512<=S&&S<=65518?"H":4352<=S&&S<=4447||4515<=S&&S<=4519||4602<=S&&S<=4607||9001<=S&&S<=9002||11904<=S&&S<=11929||11931<=S&&S<=12019||12032<=S&&S<=12245||12272<=S&&S<=12283||12289<=S&&S<=12350||12353<=S&&S<=12438||12441<=S&&S<=12543||12549<=S&&S<=12589||12593<=S&&S<=12686||12688<=S&&S<=12730||12736<=S&&S<=12771||12784<=S&&S<=12830||12832<=S&&S<=12871||12880<=S&&S<=13054||13056<=S&&S<=19903||19968<=S&&S<=42124||42128<=S&&S<=42182||43360<=S&&S<=43388||44032<=S&&S<=55203||55216<=S&&S<=55238||55243<=S&&S<=55291||63744<=S&&S<=64255||65040<=S&&S<=65049||65072<=S&&S<=65106||65108<=S&&S<=65126||65128<=S&&S<=65131||110592<=S&&S<=110593||127488<=S&&S<=127490||127504<=S&&S<=127546||127552<=S&&S<=127560||127568<=S&&S<=127569||131072<=S&&S<=194367||177984<=S&&S<=196605||196608<=S&&S<=262141?"W":32<=S&&S<=126||162<=S&&S<=163||165<=S&&S<=166||S==172||S==175||10214<=S&&S<=10221||10629<=S&&S<=10630?"Na":S==161||S==164||167<=S&&S<=168||S==170||173<=S&&S<=174||176<=S&&S<=180||182<=S&&S<=186||188<=S&&S<=191||S==198||S==208||215<=S&&S<=216||222<=S&&S<=225||S==230||232<=S&&S<=234||236<=S&&S<=237||S==240||242<=S&&S<=243||247<=S&&S<=250||S==252||S==254||S==257||S==273||S==275||S==283||294<=S&&S<=295||S==299||305<=S&&S<=307||S==312||319<=S&&S<=322||S==324||328<=S&&S<=331||S==333||338<=S&&S<=339||358<=S&&S<=359||S==363||S==462||S==464||S==466||S==468||S==470||S==472||S==474||S==476||S==593||S==609||S==708||S==711||713<=S&&S<=715||S==717||S==720||728<=S&&S<=731||S==733||S==735||768<=S&&S<=879||913<=S&&S<=929||931<=S&&S<=937||945<=S&&S<=961||963<=S&&S<=969||S==1025||1040<=S&&S<=1103||S==1105||S==8208||8211<=S&&S<=8214||8216<=S&&S<=8217||8220<=S&&S<=8221||8224<=S&&S<=8226||8228<=S&&S<=8231||S==8240||8242<=S&&S<=8243||S==8245||S==8251||S==8254||S==8308||S==8319||8321<=S&&S<=8324||S==8364||S==8451||S==8453||S==8457||S==8467||S==8470||8481<=S&&S<=8482||S==8486||S==8491||8531<=S&&S<=8532||8539<=S&&S<=8542||8544<=S&&S<=8555||8560<=S&&S<=8569||S==8585||8592<=S&&S<=8601||8632<=S&&S<=8633||S==8658||S==8660||S==8679||S==8704||8706<=S&&S<=8707||8711<=S&&S<=8712||S==8715||S==8719||S==8721||S==8725||S==8730||8733<=S&&S<=8736||S==8739||S==8741||8743<=S&&S<=8748||S==8750||8756<=S&&S<=8759||8764<=S&&S<=8765||S==8776||S==8780||S==8786||8800<=S&&S<=8801||8804<=S&&S<=8807||8810<=S&&S<=8811||8814<=S&&S<=8815||8834<=S&&S<=8835||8838<=S&&S<=8839||S==8853||S==8857||S==8869||S==8895||S==8978||9312<=S&&S<=9449||9451<=S&&S<=9547||9552<=S&&S<=9587||9600<=S&&S<=9615||9618<=S&&S<=9621||9632<=S&&S<=9633||9635<=S&&S<=9641||9650<=S&&S<=9651||9654<=S&&S<=9655||9660<=S&&S<=9661||9664<=S&&S<=9665||9670<=S&&S<=9672||S==9675||9678<=S&&S<=9681||9698<=S&&S<=9701||S==9711||9733<=S&&S<=9734||S==9737||9742<=S&&S<=9743||9748<=S&&S<=9749||S==9756||S==9758||S==9792||S==9794||9824<=S&&S<=9825||9827<=S&&S<=9829||9831<=S&&S<=9834||9836<=S&&S<=9837||S==9839||9886<=S&&S<=9887||9918<=S&&S<=9919||9924<=S&&S<=9933||9935<=S&&S<=9953||S==9955||9960<=S&&S<=9983||S==10045||S==10071||10102<=S&&S<=10111||11093<=S&&S<=11097||12872<=S&&S<=12879||57344<=S&&S<=63743||65024<=S&&S<=65039||S==65533||127232<=S&&S<=127242||127248<=S&&S<=127277||127280<=S&&S<=127337||127344<=S&&S<=127386||917760<=S&&S<=917999||983040<=S&&S<=1048573||1048576<=S&&S<=1114109?"A":"N"},y.characterLength=function($){var k=this.eastAsianWidth($);return k=="F"||k=="W"||k=="A"?2:1};function f($){return $.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g)||[]}y.length=function($){for(var k=f($),b=0,S=0;S<k.length;S++)b=b+this.characterLength(k[S]);return b},y.slice=function($,k,b){textLen=y.length($),k=k||0,b=b||1,k<0&&(k=textLen+k),b<0&&(b=textLen+b);for(var S="",I=0,T=f($),R=0;R<T.length;R++){var B=T[R],q=y.length(B);if(I>=k-(q==2?1:0))if(I+q<=b)S+=B;else break;I+=q}return S}})(X1);var ry=X1.exports,ay=Y1(ry),py=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g},oy=Y1(py);function t(l,y={}){if(typeof l!="string"||l.length===0||(y={ambiguousIsNarrow:!0,...y},l=G1(l),l.length===0))return 0;l=l.replace(oy()," ");let f=y.ambiguousIsNarrow?1:2,$=0;for(let k of l){let b=k.codePointAt(0);if(b<=31||b>=127&&b<=159||b>=768&&b<=879)continue;switch(ay.eastAsianWidth(k)){case"F":case"W":$+=2;break;case"A":$+=f;break;default:$+=1}}return $}var zl=10,k1=(l=0)=>(y)=>`\x1B[${y+l}m`,b1=(l=0)=>(y)=>`\x1B[${38+l};5;${y}m`,I1=(l=0)=>(y,f,$)=>`\x1B[${38+l};2;${y};${f};${$}m`,Z={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Object.keys(Z.modifier);var ey=Object.keys(Z.color),lS=Object.keys(Z.bgColor);[...ey,...lS];function yS(){let l=new Map;for(let[y,f]of Object.entries(Z)){for(let[$,k]of Object.entries(f))Z[$]={open:`\x1B[${k[0]}m`,close:`\x1B[${k[1]}m`},f[$]=Z[$],l.set(k[0],k[1]);Object.defineProperty(Z,y,{value:f,enumerable:!1})}return Object.defineProperty(Z,"codes",{value:l,enumerable:!1}),Z.color.close="\x1B[39m",Z.bgColor.close="\x1B[49m",Z.color.ansi=k1(),Z.color.ansi256=b1(),Z.color.ansi16m=I1(),Z.bgColor.ansi=k1(zl),Z.bgColor.ansi256=b1(zl),Z.bgColor.ansi16m=I1(zl),Object.defineProperties(Z,{rgbToAnsi256:{value:(y,f,$)=>y===f&&f===$?y<8?16:y>248?231:Math.round((y-8)/247*24)+232:16+36*Math.round(y/255*5)+6*Math.round(f/255*5)+Math.round($/255*5),enumerable:!1},hexToRgb:{value:(y)=>{let f=/[a-f\d]{6}|[a-f\d]{3}/i.exec(y.toString(16));if(!f)return[0,0,0];let[$]=f;$.length===3&&($=[...$].map((b)=>b+b).join(""));let k=Number.parseInt($,16);return[k>>16&255,k>>8&255,k&255]},enumerable:!1},hexToAnsi256:{value:(y)=>Z.rgbToAnsi256(...Z.hexToRgb(y)),enumerable:!1},ansi256ToAnsi:{value:(y)=>{if(y<8)return 30+y;if(y<16)return 90+(y-8);let f,$,k;if(y>=232)f=((y-232)*10+8)/255,$=f,k=f;else{y-=16;let I=y%36;f=Math.floor(y/36)/5,$=Math.floor(I/6)/5,k=I%6/5}let b=Math.max(f,$,k)*2;if(b===0)return 30;let S=30+(Math.round(k)<<2|Math.round($)<<1|Math.round(f));return b===2&&(S+=60),S},enumerable:!1},rgbToAnsi:{value:(y,f,$)=>Z.ansi256ToAnsi(Z.rgbToAnsi256(y,f,$)),enumerable:!1},hexToAnsi:{value:(y)=>Z.ansi256ToAnsi(Z.hexToAnsi256(y)),enumerable:!1}}),Z}var SS=yS(),ll=new Set(["\x1B","›"]),fS=39,Pl="\x07",z1="[",$S="]",Q1="m",Ul=`${$S}8;;`,R1=(l)=>`${ll.values().next().value}${z1}${l}${Q1}`,T1=(l)=>`${ll.values().next().value}${Ul}${l}${Pl}`,kS=(l)=>l.split(" ").map((y)=>t(y)),Ql=(l,y,f)=>{let $=[...y],k=!1,b=!1,S=t(G1(l[l.length-1]));for(let[I,T]of $.entries()){let R=t(T);if(S+R<=f?l[l.length-1]+=T:(l.push(T),S=0),ll.has(T)&&(k=!0,b=$.slice(I+1).join("").startsWith(Ul)),k){b?T===Pl&&(k=!1,b=!1):T===Q1&&(k=!1);continue}S+=R,S===f&&I<$.length-1&&(l.push(""),S=0)}!S&&l[l.length-1].length>0&&l.length>1&&(l[l.length-2]+=l.pop())},bS=(l)=>{let y=l.split(" "),f=y.length;for(;f>0&&!(t(y[f-1])>0);)f--;return f===y.length?l:y.slice(0,f).join(" ")+y.slice(f).join("")},IS=(l,y,f={})=>{if(f.trim!==!1&&l.trim()==="")return"";let $="",k,b,S=kS(l),I=[""];for(let[R,B]of l.split(" ").entries()){f.trim!==!1&&(I[I.length-1]=I[I.length-1].trimStart());let q=t(I[I.length-1]);if(R!==0&&(q>=y&&(f.wordWrap===!1||f.trim===!1)&&(I.push(""),q=0),(q>0||f.trim===!1)&&(I[I.length-1]+=" ",q++)),f.hard&&S[R]>y){let X=y-q,P=1+Math.floor((S[R]-X-1)/y);Math.floor((S[R]-1)/y)<P&&I.push(""),Ql(I,B,y);continue}if(q+S[R]>y&&q>0&&S[R]>0){if(f.wordWrap===!1&&q<y){Ql(I,B,y);continue}I.push("")}if(q+S[R]>y&&f.wordWrap===!1){Ql(I,B,y);continue}I[I.length-1]+=B}f.trim!==!1&&(I=I.map((R)=>bS(R)));let T=[...I.join(`
28
+ `)];for(let[R,B]of T.entries()){if($+=B,ll.has(B)){let{groups:X}=new RegExp(`(?:\\${z1}(?<code>\\d+)m|\\${Ul}(?<uri>.*)${Pl})`).exec(T.slice(R).join(""))||{groups:{}};if(X.code!==void 0){let P=Number.parseFloat(X.code);k=P===fS?void 0:P}else X.uri!==void 0&&(b=X.uri.length===0?void 0:X.uri)}let q=SS.codes.get(Number(k));T[R+1]===`
29
+ `?(b&&($+=T1("")),k&&q&&($+=R1(q))):B===`
30
+ `&&(k&&q&&($+=R1(k)),b&&($+=T1(b)))}return $};function B1(l,y,f){return String(l).normalize().replace(/\r\n/g,`
31
31
  `).split(`
32
- `).map(($)=>kf($,S,y)).join(`
33
- `)}var Rf=["up","down","left","right","space","enter","cancel"],e={actions:new Set(Rf),aliases:new Map([["k","up"],["j","down"],["h","left"],["l","right"],["\x03","cancel"],["escape","cancel"]])};function jl(l,S){if(typeof l=="string")return e.aliases.get(l)===S;for(let y of l)if(y!==void 0&&jl(y,S))return!0;return!1}function Tf(l,S){if(l===S)return;let y=l.split(`
34
- `),$=S.split(`
35
- `),b=[];for(let I=0;I<Math.max(y.length,$.length);I++)y[I]!==$[I]&&b.push(I);return b}var Bf=globalThis.process.platform.startsWith("win"),Zl=Symbol("clack:cancel");function F(l){return l===Zl}function o(l,S){let y=l;y.isTTY&&y.setRawMode(S)}function Z1({input:l=L1,output:S=J1,overwrite:y=!0,hideCursor:$=!0}={}){let b=O.createInterface({input:l,output:S,prompt:"",tabSize:1});O.emitKeypressEvents(l,b),l.isTTY&&l.setRawMode(!0);let I=(f,{name:k,sequence:T})=>{let R=String(f);if(jl([R,k,T],"cancel")){$&&S.write(M.cursor.show),process.exit(0);return}if(!y)return;O.moveCursor(S,k==="return"?0:-1,k==="return"?-1:0,()=>{O.clearLine(S,1,()=>{l.once("keypress",I)})})};return $&&S.write(M.cursor.hide),l.once("keypress",I),()=>{l.off("keypress",I),$&&S.write(M.cursor.show),l.isTTY&&!Bf&&l.setRawMode(!1),b.terminal=!1,b.close()}}var qf=Object.defineProperty,_f=(l,S,y)=>(S in l)?qf(l,S,{enumerable:!0,configurable:!0,writable:!0,value:y}):l[S]=y,K=(l,S,y)=>(_f(l,typeof S!="symbol"?S+"":S,y),y);class Sl{constructor(l,S=!0){K(this,"input"),K(this,"output"),K(this,"_abortSignal"),K(this,"rl"),K(this,"opts"),K(this,"_render"),K(this,"_track",!1),K(this,"_prevFrame",""),K(this,"_subscribers",new Map),K(this,"_cursor",0),K(this,"state","initial"),K(this,"error",""),K(this,"value");let{input:y=L1,output:$=J1,render:b,signal:I,...f}=l;this.opts=f,this.onKeypress=this.onKeypress.bind(this),this.close=this.close.bind(this),this.render=this.render.bind(this),this._render=b.bind(this),this._track=S,this._abortSignal=I,this.input=y,this.output=$}unsubscribe(){this._subscribers.clear()}setSubscriber(l,S){let y=this._subscribers.get(l)??[];y.push(S),this._subscribers.set(l,y)}on(l,S){this.setSubscriber(l,{cb:S})}once(l,S){this.setSubscriber(l,{cb:S,once:!0})}emit(l,...S){let y=this._subscribers.get(l)??[],$=[];for(let b of y)b.cb(...S),b.once&&$.push(()=>y.splice(y.indexOf(b),1));for(let b of $)b()}prompt(){return new Promise((l,S)=>{if(this._abortSignal){if(this._abortSignal.aborted)return this.state="cancel",this.close(),l(Zl);this._abortSignal.addEventListener("abort",()=>{this.state="cancel",this.close()},{once:!0})}let y=new nS;y._write=($,b,I)=>{this._track&&(this.value=this.rl?.line.replace(/\t/g,""),this._cursor=this.rl?.cursor??0,this.emit("value",this.value)),I()},this.input.pipe(y),this.rl=$1.createInterface({input:this.input,output:y,tabSize:2,prompt:"",escapeCodeTimeout:50,terminal:!0}),$1.emitKeypressEvents(this.input,this.rl),this.rl.prompt(),this.opts.initialValue!==void 0&&this._track&&this.rl.write(this.opts.initialValue),this.input.on("keypress",this.onKeypress),o(this.input,!0),this.output.on("resize",this.render),this.render(),this.once("submit",()=>{this.output.write(M.cursor.show),this.output.off("resize",this.render),o(this.input,!1),l(this.value)}),this.once("cancel",()=>{this.output.write(M.cursor.show),this.output.off("resize",this.render),o(this.input,!1),l(Zl)})})}onKeypress(l,S){if(this.state==="error"&&(this.state="active"),S?.name&&(!this._track&&e.aliases.has(S.name)&&this.emit("cursor",e.aliases.get(S.name)),e.actions.has(S.name)&&this.emit("cursor",S.name)),l&&(l.toLowerCase()==="y"||l.toLowerCase()==="n")&&this.emit("confirm",l.toLowerCase()==="y"),l==="\t"&&this.opts.placeholder&&(this.value||(this.rl?.write(this.opts.placeholder),this.emit("value",this.opts.placeholder))),l&&this.emit("key",l.toLowerCase()),S?.name==="return"){if(this.opts.validate){let y=this.opts.validate(this.value);y&&(this.error=y instanceof Error?y.message:y,this.state="error",this.rl?.write(this.value))}this.state!=="error"&&(this.state="submit")}jl([l,S?.name,S?.sequence],"cancel")&&(this.state="cancel"),(this.state==="submit"||this.state==="cancel")&&this.emit("finalize"),this.render(),(this.state==="submit"||this.state==="cancel")&&this.close()}close(){this.input.unpipe(),this.input.removeListener("keypress",this.onKeypress),this.output.write(`
32
+ `).map(($)=>IS($,y,f)).join(`
33
+ `)}var RS=["up","down","left","right","space","enter","cancel"],e={actions:new Set(RS),aliases:new Map([["k","up"],["j","down"],["h","left"],["l","right"],["\x03","cancel"],["escape","cancel"]])};function jl(l,y){if(typeof l=="string")return e.aliases.get(l)===y;for(let f of l)if(f!==void 0&&jl(f,y))return!0;return!1}function TS(l,y){if(l===y)return;let f=l.split(`
34
+ `),$=y.split(`
35
+ `),k=[];for(let b=0;b<Math.max(f.length,$.length);b++)f[b]!==$[b]&&k.push(b);return k}var BS=globalThis.process.platform.startsWith("win"),Zl=Symbol("clack:cancel");function F(l){return l===Zl}function o(l,y){let f=l;f.isTTY&&f.setRawMode(y)}function Z1({input:l=_1,output:y=J1,overwrite:f=!0,hideCursor:$=!0}={}){let k=O.createInterface({input:l,output:y,prompt:"",tabSize:1});O.emitKeypressEvents(l,k),l.isTTY&&l.setRawMode(!0);let b=(S,{name:I,sequence:T})=>{let R=String(S);if(jl([R,I,T],"cancel")){$&&y.write(M.cursor.show),process.exit(0);return}if(!f)return;O.moveCursor(y,I==="return"?0:-1,I==="return"?-1:0,()=>{O.clearLine(y,1,()=>{l.once("keypress",b)})})};return $&&y.write(M.cursor.hide),l.once("keypress",b),()=>{l.off("keypress",b),$&&y.write(M.cursor.show),l.isTTY&&!BS&&l.setRawMode(!1),k.terminal=!1,k.close()}}var LS=Object.defineProperty,qS=(l,y,f)=>(y in l)?LS(l,y,{enumerable:!0,configurable:!0,writable:!0,value:f}):l[y]=f,w=(l,y,f)=>(qS(l,typeof y!="symbol"?y+"":y,f),f);class yl{constructor(l,y=!0){w(this,"input"),w(this,"output"),w(this,"_abortSignal"),w(this,"rl"),w(this,"opts"),w(this,"_render"),w(this,"_track",!1),w(this,"_prevFrame",""),w(this,"_subscribers",new Map),w(this,"_cursor",0),w(this,"state","initial"),w(this,"error",""),w(this,"value");let{input:f=_1,output:$=J1,render:k,signal:b,...S}=l;this.opts=S,this.onKeypress=this.onKeypress.bind(this),this.close=this.close.bind(this),this.render=this.render.bind(this),this._render=k.bind(this),this._track=y,this._abortSignal=b,this.input=f,this.output=$}unsubscribe(){this._subscribers.clear()}setSubscriber(l,y){let f=this._subscribers.get(l)??[];f.push(y),this._subscribers.set(l,f)}on(l,y){this.setSubscriber(l,{cb:y})}once(l,y){this.setSubscriber(l,{cb:y,once:!0})}emit(l,...y){let f=this._subscribers.get(l)??[],$=[];for(let k of f)k.cb(...y),k.once&&$.push(()=>f.splice(f.indexOf(k),1));for(let k of $)k()}prompt(){return new Promise((l,y)=>{if(this._abortSignal){if(this._abortSignal.aborted)return this.state="cancel",this.close(),l(Zl);this._abortSignal.addEventListener("abort",()=>{this.state="cancel",this.close()},{once:!0})}let f=new ty;f._write=($,k,b)=>{this._track&&(this.value=this.rl?.line.replace(/\t/g,""),this._cursor=this.rl?.cursor??0,this.emit("value",this.value)),b()},this.input.pipe(f),this.rl=$1.createInterface({input:this.input,output:f,tabSize:2,prompt:"",escapeCodeTimeout:50,terminal:!0}),$1.emitKeypressEvents(this.input,this.rl),this.rl.prompt(),this.opts.initialValue!==void 0&&this._track&&this.rl.write(this.opts.initialValue),this.input.on("keypress",this.onKeypress),o(this.input,!0),this.output.on("resize",this.render),this.render(),this.once("submit",()=>{this.output.write(M.cursor.show),this.output.off("resize",this.render),o(this.input,!1),l(this.value)}),this.once("cancel",()=>{this.output.write(M.cursor.show),this.output.off("resize",this.render),o(this.input,!1),l(Zl)})})}onKeypress(l,y){if(this.state==="error"&&(this.state="active"),y?.name&&(!this._track&&e.aliases.has(y.name)&&this.emit("cursor",e.aliases.get(y.name)),e.actions.has(y.name)&&this.emit("cursor",y.name)),l&&(l.toLowerCase()==="y"||l.toLowerCase()==="n")&&this.emit("confirm",l.toLowerCase()==="y"),l==="\t"&&this.opts.placeholder&&(this.value||(this.rl?.write(this.opts.placeholder),this.emit("value",this.opts.placeholder))),l&&this.emit("key",l.toLowerCase()),y?.name==="return"){if(this.opts.validate){let f=this.opts.validate(this.value);f&&(this.error=f instanceof Error?f.message:f,this.state="error",this.rl?.write(this.value))}this.state!=="error"&&(this.state="submit")}jl([l,y?.name,y?.sequence],"cancel")&&(this.state="cancel"),(this.state==="submit"||this.state==="cancel")&&this.emit("finalize"),this.render(),(this.state==="submit"||this.state==="cancel")&&this.close()}close(){this.input.unpipe(),this.input.removeListener("keypress",this.onKeypress),this.output.write(`
36
36
  `),o(this.input,!1),this.rl?.close(),this.rl=void 0,this.emit(`${this.state}`,this.value),this.unsubscribe()}restoreCursor(){let l=B1(this._prevFrame,process.stdout.columns,{hard:!0}).split(`
37
- `).length-1;this.output.write(M.cursor.move(-999,l*-1))}render(){let l=B1(this._render(this)??"",process.stdout.columns,{hard:!0});if(l!==this._prevFrame){if(this.state==="initial")this.output.write(M.cursor.hide);else{let S=Tf(this._prevFrame,l);if(this.restoreCursor(),S&&S?.length===1){let y=S[0];this.output.write(M.cursor.move(0,y)),this.output.write(M.erase.lines(1));let $=l.split(`
38
- `);this.output.write($[y]),this._prevFrame=l,this.output.write(M.cursor.move(0,$.length-y-1));return}if(S&&S?.length>1){let y=S[0];this.output.write(M.cursor.move(0,y)),this.output.write(M.erase.down());let $=l.split(`
39
- `).slice(y);this.output.write($.join(`
40
- `)),this._prevFrame=l;return}this.output.write(M.erase.down())}this.output.write(l),this.state==="initial"&&(this.state="active"),this._prevFrame=l}}}class Ml extends Sl{get cursor(){return this.value?0:1}get _value(){return this.cursor===0}constructor(l){super(l,!1),this.value=!!l.initialValue,this.on("value",()=>{this.value=this._value}),this.on("confirm",(S)=>{this.output.write(M.cursor.move(0,-1)),this.value=S,this.state="submit",this.close()}),this.on("cursor",()=>{this.value=!this.value})}}var Lf;Lf=new WeakMap;var Jf=Object.defineProperty,Yf=(l,S,y)=>(S in l)?Jf(l,S,{enumerable:!0,configurable:!0,writable:!0,value:y}):l[S]=y,q1=(l,S,y)=>(Yf(l,typeof S!="symbol"?S+"":S,y),y),P1=class extends Sl{constructor(l){super(l,!1),q1(this,"options"),q1(this,"cursor",0),this.options=l.options,this.value=[...l.initialValues??[]],this.cursor=Math.max(this.options.findIndex(({value:S})=>S===l.cursorAt),0),this.on("key",(S)=>{S==="a"&&this.toggleAll()}),this.on("cursor",(S)=>{switch(S){case"left":case"up":this.cursor=this.cursor===0?this.options.length-1:this.cursor-1;break;case"down":case"right":this.cursor=this.cursor===this.options.length-1?0:this.cursor+1;break;case"space":this.toggleValue();break}})}get _value(){return this.options[this.cursor].value}toggleAll(){let l=this.value.length===this.options.length;this.value=l?[]:this.options.map((S)=>S.value)}toggleValue(){let l=this.value.includes(this._value);this.value=l?this.value.filter((S)=>S!==this._value):[...this.value,this._value]}};var Xf=Object.defineProperty,Gf=(l,S,y)=>(S in l)?Xf(l,S,{enumerable:!0,configurable:!0,writable:!0,value:y}):l[S]=y,_1=(l,S,y)=>(Gf(l,typeof S!="symbol"?S+"":S,y),y);class Hl extends Sl{constructor(l){super(l,!1),_1(this,"options"),_1(this,"cursor",0),this.options=l.options,this.cursor=this.options.findIndex(({value:S})=>S===l.initialValue),this.cursor===-1&&(this.cursor=0),this.changeValue(),this.on("cursor",(S)=>{switch(S){case"left":case"up":this.cursor=this.cursor===0?this.options.length-1:this.cursor-1;break;case"down":case"right":this.cursor=this.cursor===this.options.length-1?0:this.cursor+1;break}this.changeValue()})}get _value(){return this.options[this.cursor]}changeValue(){this.value=this._value.value}}var q=c(a(),1),fl=c(Xl(),1);import w from"node:process";function zf(){return w.platform!=="win32"?w.env.TERM!=="linux":!!w.env.CI||!!w.env.WT_SESSION||!!w.env.TERMINUS_SUBLIME||w.env.ConEmuTask==="{cmd::Cmder}"||w.env.TERM_PROGRAM==="Terminus-Sublime"||w.env.TERM_PROGRAM==="vscode"||w.env.TERM==="xterm-256color"||w.env.TERM==="alacritty"||w.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var Kl=zf(),Z=(l,S)=>Kl?l:S,Qf=Z("◆","*"),j1=Z("■","x"),M1=Z("▲","x"),El=Z("◇","o"),Zf=Z("┌","T"),G=Z("│","|"),h=Z("└","—"),Wl=Z("●",">"),wl=Z("○"," "),Pf=Z("◻","[•]"),U1=Z("◼","[+]"),Uf=Z("◻","[ ]"),Oy=Z("▪","•"),Fy=Z("─","-"),vy=Z("╮","+"),gy=Z("├","+"),cy=Z("╯","+"),jf=Z("●","•"),Mf=Z("◆","*"),Hf=Z("▲","!"),Kf=Z("■","x"),Vl=(l)=>{switch(l){case"initial":case"active":return q.default.cyan(Qf);case"cancel":return q.default.red(j1);case"error":return q.default.yellow(M1);case"submit":return q.default.green(El)}},Nl=(l)=>{let{cursor:S,options:y,style:$}=l,b=l.maxItems??Number.POSITIVE_INFINITY,I=Math.max(process.stdout.rows-4,0),f=Math.min(I,Math.max(b,5)),k=0;S>=k+f-3?k=Math.max(Math.min(S-f+3,y.length-f),0):S<k+2&&(k=Math.max(S-2,0));let T=f<y.length&&k>0,R=f<y.length&&k+f<y.length;return y.slice(k,k+f).map((B,_,Y)=>{let Q=_===0&&T,m=_===Y.length-1&&R;return Q||m?q.default.dim("..."):$(B,_+k===S)})};var H1=(l)=>{let S=l.active??"Yes",y=l.inactive??"No";return new Ml({active:S,inactive:y,initialValue:l.initialValue??!0,render(){let $=`${q.default.gray(G)}
37
+ `).length-1;this.output.write(M.cursor.move(-999,l*-1))}render(){let l=B1(this._render(this)??"",process.stdout.columns,{hard:!0});if(l!==this._prevFrame){if(this.state==="initial")this.output.write(M.cursor.hide);else{let y=TS(this._prevFrame,l);if(this.restoreCursor(),y&&y?.length===1){let f=y[0];this.output.write(M.cursor.move(0,f)),this.output.write(M.erase.lines(1));let $=l.split(`
38
+ `);this.output.write($[f]),this._prevFrame=l,this.output.write(M.cursor.move(0,$.length-f-1));return}if(y&&y?.length>1){let f=y[0];this.output.write(M.cursor.move(0,f)),this.output.write(M.erase.down());let $=l.split(`
39
+ `).slice(f);this.output.write($.join(`
40
+ `)),this._prevFrame=l;return}this.output.write(M.erase.down())}this.output.write(l),this.state==="initial"&&(this.state="active"),this._prevFrame=l}}}class Ml extends yl{get cursor(){return this.value?0:1}get _value(){return this.cursor===0}constructor(l){super(l,!1),this.value=!!l.initialValue,this.on("value",()=>{this.value=this._value}),this.on("confirm",(y)=>{this.output.write(M.cursor.move(0,-1)),this.value=y,this.state="submit",this.close()}),this.on("cursor",()=>{this.value=!this.value})}}var _S;_S=new WeakMap;var JS=Object.defineProperty,GS=(l,y,f)=>(y in l)?JS(l,y,{enumerable:!0,configurable:!0,writable:!0,value:f}):l[y]=f,L1=(l,y,f)=>(GS(l,typeof y!="symbol"?y+"":y,f),f),P1=class extends yl{constructor(l){super(l,!1),L1(this,"options"),L1(this,"cursor",0),this.options=l.options,this.value=[...l.initialValues??[]],this.cursor=Math.max(this.options.findIndex(({value:y})=>y===l.cursorAt),0),this.on("key",(y)=>{y==="a"&&this.toggleAll()}),this.on("cursor",(y)=>{switch(y){case"left":case"up":this.cursor=this.cursor===0?this.options.length-1:this.cursor-1;break;case"down":case"right":this.cursor=this.cursor===this.options.length-1?0:this.cursor+1;break;case"space":this.toggleValue();break}})}get _value(){return this.options[this.cursor].value}toggleAll(){let l=this.value.length===this.options.length;this.value=l?[]:this.options.map((y)=>y.value)}toggleValue(){let l=this.value.includes(this._value);this.value=l?this.value.filter((y)=>y!==this._value):[...this.value,this._value]}};var YS=Object.defineProperty,XS=(l,y,f)=>(y in l)?YS(l,y,{enumerable:!0,configurable:!0,writable:!0,value:f}):l[y]=f,q1=(l,y,f)=>(XS(l,typeof y!="symbol"?y+"":y,f),f);class Hl extends yl{constructor(l){super(l,!1),q1(this,"options"),q1(this,"cursor",0),this.options=l.options,this.cursor=this.options.findIndex(({value:y})=>y===l.initialValue),this.cursor===-1&&(this.cursor=0),this.changeValue(),this.on("cursor",(y)=>{switch(y){case"left":case"up":this.cursor=this.cursor===0?this.options.length-1:this.cursor-1;break;case"down":case"right":this.cursor=this.cursor===this.options.length-1?0:this.cursor+1;break}this.changeValue()})}get _value(){return this.options[this.cursor]}changeValue(){this.value=this._value.value}}var L=v(p(),1),Sl=v(Yl(),1);import N from"node:process";function zS(){return N.platform!=="win32"?N.env.TERM!=="linux":!!N.env.CI||!!N.env.WT_SESSION||!!N.env.TERMINUS_SUBLIME||N.env.ConEmuTask==="{cmd::Cmder}"||N.env.TERM_PROGRAM==="Terminus-Sublime"||N.env.TERM_PROGRAM==="vscode"||N.env.TERM==="xterm-256color"||N.env.TERM==="alacritty"||N.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var Kl=zS(),U=(l,y)=>Kl?l:y,QS=U("◆","*"),j1=U("■","x"),M1=U("▲","x"),El=U("◇","o"),ZS=U("┌","T"),Q=U("│","|"),h=U("└","—"),wl=U("●",">"),Wl=U("○"," "),PS=U("◻","[•]"),U1=U("◼","[+]"),US=U("◻","[ ]"),Cf=U("▪","•"),Of=U("─","-"),Ff=U("╮","+"),cf=U("├","+"),gf=U("╯","+"),jS=U("●","•"),MS=U("◆","*"),HS=U("▲","!"),KS=U("■","x"),Vl=(l)=>{switch(l){case"initial":case"active":return L.default.cyan(QS);case"cancel":return L.default.red(j1);case"error":return L.default.yellow(M1);case"submit":return L.default.green(El)}},Nl=(l)=>{let{cursor:y,options:f,style:$}=l,k=l.maxItems??Number.POSITIVE_INFINITY,b=Math.max(process.stdout.rows-4,0),S=Math.min(b,Math.max(k,5)),I=0;y>=I+S-3?I=Math.max(Math.min(y-S+3,f.length-S),0):y<I+2&&(I=Math.max(y-2,0));let T=S<f.length&&I>0,R=S<f.length&&I+S<f.length;return f.slice(I,I+S).map((B,q,X)=>{let P=q===0&&T,m=q===X.length-1&&R;return P||m?L.default.dim("..."):$(B,q+I===y)})};var H1=(l)=>{let y=l.active??"Yes",f=l.inactive??"No";return new Ml({active:y,inactive:f,initialValue:l.initialValue??!0,render(){let $=`${L.default.gray(Q)}
41
41
  ${Vl(this.state)} ${l.message}
42
- `,b=this.value?S:y;switch(this.state){case"submit":return`${$}${q.default.gray(G)} ${q.default.dim(b)}`;case"cancel":return`${$}${q.default.gray(G)} ${q.default.strikethrough(q.default.dim(b))}
43
- ${q.default.gray(G)}`;default:return`${$}${q.default.cyan(G)} ${this.value?`${q.default.green(Wl)} ${S}`:`${q.default.dim(wl)} ${q.default.dim(S)}`} ${q.default.dim("/")} ${this.value?`${q.default.dim(wl)} ${q.default.dim(y)}`:`${q.default.green(Wl)} ${y}`}
44
- ${q.default.cyan(h)}
45
- `}}}).prompt()},K1=(l)=>{let S=(y,$)=>{let b=y.label??String(y.value);switch($){case"selected":return`${q.default.dim(b)}`;case"active":return`${q.default.green(Wl)} ${b} ${y.hint?q.default.dim(`(${y.hint})`):""}`;case"cancelled":return`${q.default.strikethrough(q.default.dim(b))}`;default:return`${q.default.dim(wl)} ${q.default.dim(b)}`}};return new Hl({options:l.options,initialValue:l.initialValue,render(){let y=`${q.default.gray(G)}
42
+ `,k=this.value?y:f;switch(this.state){case"submit":return`${$}${L.default.gray(Q)} ${L.default.dim(k)}`;case"cancel":return`${$}${L.default.gray(Q)} ${L.default.strikethrough(L.default.dim(k))}
43
+ ${L.default.gray(Q)}`;default:return`${$}${L.default.cyan(Q)} ${this.value?`${L.default.green(wl)} ${y}`:`${L.default.dim(Wl)} ${L.default.dim(y)}`} ${L.default.dim("/")} ${this.value?`${L.default.dim(Wl)} ${L.default.dim(f)}`:`${L.default.green(wl)} ${f}`}
44
+ ${L.default.cyan(h)}
45
+ `}}}).prompt()},K1=(l)=>{let y=(f,$)=>{let k=f.label??String(f.value);switch($){case"selected":return`${L.default.dim(k)}`;case"active":return`${L.default.green(wl)} ${k} ${f.hint?L.default.dim(`(${f.hint})`):""}`;case"cancelled":return`${L.default.strikethrough(L.default.dim(k))}`;default:return`${L.default.dim(Wl)} ${L.default.dim(k)}`}};return new Hl({options:l.options,initialValue:l.initialValue,render(){let f=`${L.default.gray(Q)}
46
46
  ${Vl(this.state)} ${l.message}
47
- `;switch(this.state){case"submit":return`${y}${q.default.gray(G)} ${S(this.options[this.cursor],"selected")}`;case"cancel":return`${y}${q.default.gray(G)} ${S(this.options[this.cursor],"cancelled")}
48
- ${q.default.gray(G)}`;default:return`${y}${q.default.cyan(G)} ${Nl({cursor:this.cursor,options:this.options,maxItems:l.maxItems,style:($,b)=>S($,b?"active":"inactive")}).join(`
49
- ${q.default.cyan(G)} `)}
50
- ${q.default.cyan(h)}
51
- `}}}).prompt()};var yl=(l)=>{let S=(y,$)=>{let b=y.label??String(y.value);return $==="active"?`${q.default.cyan(Pf)} ${b} ${y.hint?q.default.dim(`(${y.hint})`):""}`:$==="selected"?`${q.default.green(U1)} ${q.default.dim(b)} ${y.hint?q.default.dim(`(${y.hint})`):""}`:$==="cancelled"?`${q.default.strikethrough(q.default.dim(b))}`:$==="active-selected"?`${q.default.green(U1)} ${b} ${y.hint?q.default.dim(`(${y.hint})`):""}`:$==="submitted"?`${q.default.dim(b)}`:`${q.default.dim(Uf)} ${q.default.dim(b)}`};return new P1({options:l.options,initialValues:l.initialValues,required:l.required??!0,cursorAt:l.cursorAt,validate(y){if(this.required&&y.length===0)return`Please select at least one option.
52
- ${q.default.reset(q.default.dim(`Press ${q.default.gray(q.default.bgWhite(q.default.inverse(" space ")))} to select, ${q.default.gray(q.default.bgWhite(q.default.inverse(" enter ")))} to submit`))}`},render(){let y=`${q.default.gray(G)}
47
+ `;switch(this.state){case"submit":return`${f}${L.default.gray(Q)} ${y(this.options[this.cursor],"selected")}`;case"cancel":return`${f}${L.default.gray(Q)} ${y(this.options[this.cursor],"cancelled")}
48
+ ${L.default.gray(Q)}`;default:return`${f}${L.default.cyan(Q)} ${Nl({cursor:this.cursor,options:this.options,maxItems:l.maxItems,style:($,k)=>y($,k?"active":"inactive")}).join(`
49
+ ${L.default.cyan(Q)} `)}
50
+ ${L.default.cyan(h)}
51
+ `}}}).prompt()};var fl=(l)=>{let y=(f,$)=>{let k=f.label??String(f.value);return $==="active"?`${L.default.cyan(PS)} ${k} ${f.hint?L.default.dim(`(${f.hint})`):""}`:$==="selected"?`${L.default.green(U1)} ${L.default.dim(k)} ${f.hint?L.default.dim(`(${f.hint})`):""}`:$==="cancelled"?`${L.default.strikethrough(L.default.dim(k))}`:$==="active-selected"?`${L.default.green(U1)} ${k} ${f.hint?L.default.dim(`(${f.hint})`):""}`:$==="submitted"?`${L.default.dim(k)}`:`${L.default.dim(US)} ${L.default.dim(k)}`};return new P1({options:l.options,initialValues:l.initialValues,required:l.required??!0,cursorAt:l.cursorAt,validate(f){if(this.required&&f.length===0)return`Please select at least one option.
52
+ ${L.default.reset(L.default.dim(`Press ${L.default.gray(L.default.bgWhite(L.default.inverse(" space ")))} to select, ${L.default.gray(L.default.bgWhite(L.default.inverse(" enter ")))} to submit`))}`},render(){let f=`${L.default.gray(Q)}
53
53
  ${Vl(this.state)} ${l.message}
54
- `,$=(b,I)=>{let f=this.value.includes(b.value);return I&&f?S(b,"active-selected"):f?S(b,"selected"):S(b,I?"active":"inactive")};switch(this.state){case"submit":return`${y}${q.default.gray(G)} ${this.options.filter(({value:b})=>this.value.includes(b)).map((b)=>S(b,"submitted")).join(q.default.dim(", "))||q.default.dim("none")}`;case"cancel":{let b=this.options.filter(({value:I})=>this.value.includes(I)).map((I)=>S(I,"cancelled")).join(q.default.dim(", "));return`${y}${q.default.gray(G)} ${b.trim()?`${b}
55
- ${q.default.gray(G)}`:""}`}case"error":{let b=this.error.split(`
56
- `).map((I,f)=>f===0?`${q.default.yellow(h)} ${q.default.yellow(I)}`:` ${I}`).join(`
57
- `);return`${y+q.default.yellow(G)} ${Nl({options:this.options,cursor:this.cursor,maxItems:l.maxItems,style:$}).join(`
58
- ${q.default.yellow(G)} `)}
59
- ${b}
60
- `}default:return`${y}${q.default.cyan(G)} ${Nl({options:this.options,cursor:this.cursor,maxItems:l.maxItems,style:$}).join(`
61
- ${q.default.cyan(G)} `)}
62
- ${q.default.cyan(h)}
63
- `}}}).prompt()};var s=(l="")=>{process.stdout.write(`${q.default.gray(h)} ${q.default.red(l)}
54
+ `,$=(k,b)=>{let S=this.value.includes(k.value);return b&&S?y(k,"active-selected"):S?y(k,"selected"):y(k,b?"active":"inactive")};switch(this.state){case"submit":return`${f}${L.default.gray(Q)} ${this.options.filter(({value:k})=>this.value.includes(k)).map((k)=>y(k,"submitted")).join(L.default.dim(", "))||L.default.dim("none")}`;case"cancel":{let k=this.options.filter(({value:b})=>this.value.includes(b)).map((b)=>y(b,"cancelled")).join(L.default.dim(", "));return`${f}${L.default.gray(Q)} ${k.trim()?`${k}
55
+ ${L.default.gray(Q)}`:""}`}case"error":{let k=this.error.split(`
56
+ `).map((b,S)=>S===0?`${L.default.yellow(h)} ${L.default.yellow(b)}`:` ${b}`).join(`
57
+ `);return`${f+L.default.yellow(Q)} ${Nl({options:this.options,cursor:this.cursor,maxItems:l.maxItems,style:$}).join(`
58
+ ${L.default.yellow(Q)} `)}
59
+ ${k}
60
+ `}default:return`${f}${L.default.cyan(Q)} ${Nl({options:this.options,cursor:this.cursor,maxItems:l.maxItems,style:$}).join(`
61
+ ${L.default.cyan(Q)} `)}
62
+ ${L.default.cyan(h)}
63
+ `}}}).prompt()};var s=(l="")=>{process.stdout.write(`${L.default.gray(h)} ${L.default.red(l)}
64
64
 
65
- `)},W1=(l="")=>{process.stdout.write(`${q.default.gray(Zf)} ${l}
66
- `)},i=(l="")=>{process.stdout.write(`${q.default.gray(G)}
67
- ${q.default.gray(h)} ${l}
65
+ `)},w1=(l="")=>{process.stdout.write(`${L.default.gray(ZS)} ${l}
66
+ `)},i=(l="")=>{process.stdout.write(`${L.default.gray(Q)}
67
+ ${L.default.gray(h)} ${l}
68
68
 
69
- `)},L={message:(l="",{symbol:S=q.default.gray(G)}={})=>{let y=[`${q.default.gray(G)}`];if(l){let[$,...b]=l.split(`
70
- `);y.push(`${S} ${$}`,...b.map((I)=>`${q.default.gray(G)} ${I}`))}process.stdout.write(`${y.join(`
69
+ `)},_={message:(l="",{symbol:y=L.default.gray(Q)}={})=>{let f=[`${L.default.gray(Q)}`];if(l){let[$,...k]=l.split(`
70
+ `);f.push(`${y} ${$}`,...k.map((b)=>`${L.default.gray(Q)} ${b}`))}process.stdout.write(`${f.join(`
71
71
  `)}
72
- `)},info:(l)=>{L.message(l,{symbol:q.default.blue(jf)})},success:(l)=>{L.message(l,{symbol:q.default.green(Mf)})},step:(l)=>{L.message(l,{symbol:q.default.green(El)})},warn:(l)=>{L.message(l,{symbol:q.default.yellow(Hf)})},warning:(l)=>{L.warn(l)},error:(l)=>{L.message(l,{symbol:q.default.red(Kf)})}},hy=`${q.default.gray(G)} `;var w1=({indicator:l="dots"}={})=>{let S=Kl?["◒","◐","◓","◑"]:["•","o","O","0"],y=Kl?80:120,$=process.env.CI==="true",b,I,f=!1,k="",T,R=performance.now(),B=(H)=>{let W=H>1?"Something went wrong":"Canceled";f&&Fl(W,H)},_=()=>B(2),Y=()=>B(1),Q=()=>{process.on("uncaughtExceptionMonitor",_),process.on("unhandledRejection",_),process.on("SIGINT",Y),process.on("SIGTERM",Y),process.on("exit",B)},m=()=>{process.removeListener("uncaughtExceptionMonitor",_),process.removeListener("unhandledRejection",_),process.removeListener("SIGINT",Y),process.removeListener("SIGTERM",Y),process.removeListener("exit",B)},Cl=()=>{if(T===void 0)return;$&&process.stdout.write(`
72
+ `)},info:(l)=>{_.message(l,{symbol:L.default.blue(jS)})},success:(l)=>{_.message(l,{symbol:L.default.green(MS)})},step:(l)=>{_.message(l,{symbol:L.default.green(El)})},warn:(l)=>{_.message(l,{symbol:L.default.yellow(HS)})},warning:(l)=>{_.warn(l)},error:(l)=>{_.message(l,{symbol:L.default.red(KS)})}},vf=`${L.default.gray(Q)} `;var W1=({indicator:l="dots"}={})=>{let y=Kl?["◒","◐","◓","◑"]:["•","o","O","0"],f=Kl?80:120,$=process.env.CI==="true",k,b,S=!1,I="",T,R=performance.now(),B=(H)=>{let W=H>1?"Something went wrong":"Canceled";S&&Fl(W,H)},q=()=>B(2),X=()=>B(1),P=()=>{process.on("uncaughtExceptionMonitor",q),process.on("unhandledRejection",q),process.on("SIGINT",X),process.on("SIGTERM",X),process.on("exit",B)},m=()=>{process.removeListener("uncaughtExceptionMonitor",q),process.removeListener("unhandledRejection",q),process.removeListener("SIGINT",X),process.removeListener("SIGTERM",X),process.removeListener("exit",B)},Cl=()=>{if(T===void 0)return;$&&process.stdout.write(`
73
73
  `);let H=T.split(`
74
- `);process.stdout.write(fl.cursor.move(-999,H.length-1)),process.stdout.write(fl.erase.down(H.length))},bl=(H)=>H.replace(/\.+$/,""),Ol=(H)=>{let W=(performance.now()-H)/1000,N=Math.floor(W/60),g=Math.floor(W%60);return N>0?`[${N}m ${g}s]`:`[${g}s]`},D1=(H="")=>{f=!0,b=Z1(),k=bl(H),R=performance.now(),process.stdout.write(`${q.default.gray(G)}
75
- `);let W=0,N=0;Q(),I=setInterval(()=>{if($&&k===T)return;Cl(),T=k;let g=q.default.magenta(S[W]);if($)process.stdout.write(`${g} ${k}...`);else if(l==="timer")process.stdout.write(`${g} ${k} ${Ol(R)}`);else{let u1=".".repeat(Math.floor(N)).slice(0,3);process.stdout.write(`${g} ${k}${u1}`)}W=W+1<S.length?W+1:0,N=N<S.length?N+0.125:0},y)},Fl=(H="",W=0)=>{f=!1,clearInterval(I),Cl();let N=W===0?q.default.green(El):W===1?q.default.red(j1):q.default.red(M1);k=bl(H??k),l==="timer"?process.stdout.write(`${N} ${k} ${Ol(R)}
76
- `):process.stdout.write(`${N} ${k}
77
- `),m(),b()};return{start:D1,stop:Fl,message:(H="")=>{k=bl(H??k)}}};var $l=c(a(),1);var X=c(a(),1);import{join as Wf}from"path";import{rmSync as wf}from"fs";import{tmpdir as Nf}from"os";import{spawn as Ef}from"child_process";function E1(l){let S=l.match(/github\.com\/([^/]+)\/([^/]+)\/tree\/([^/]+)\/(.+)/);if(S){let[,f,k,,T]=S;return{type:"github",url:`https://github.com/${f}/${k}.git`,subpath:T}}let y=l.match(/github\.com\/([^/]+)\/([^/]+)/);if(y){let[,f,k]=y,T=k.replace(/\.git$/,"");return{type:"github",url:`https://github.com/${f}/${T}.git`}}let $=l.match(/gitlab\.com\/([^/]+)\/([^/]+)\/-\/tree\/([^/]+)\/(.+)/);if($){let[,f,k,,T]=$;return{type:"gitlab",url:`https://gitlab.com/${f}/${k}.git`,subpath:T}}let b=l.match(/gitlab\.com\/([^/]+)\/([^/]+)/);if(b){let[,f,k]=b,T=k.replace(/\.git$/,"");return{type:"gitlab",url:`https://gitlab.com/${f}/${T}.git`}}let I=l.match(/^([^/]+)\/([^/]+)(?:\/(.+))?$/);if(I&&!l.includes(":")){let[,f,k,T]=I;return{type:"github",url:`https://github.com/${f}/${k}.git`,subpath:T}}return{type:"git",url:l}}async function V1(l){let S=Wf(Nf(),`give-skill-${Date.now()}`);return await new Promise((y,$)=>{let b=Ef("git",["clone","--depth","1",l,S],{stdio:"pipe"});b.on("close",(I)=>{if(I===0)y();else $(Error(`Failed to clone repository: ${l}`))}),b.on("error",$)}),S}async function x1(l){wf(l,{recursive:!0,force:!0})}import{readdir as C1,readFile as xf,stat as Af}from"fs/promises";import{join as A,basename as Cf,dirname as Of}from"path";import{homedir as Vf}from"os";import{join as P}from"path";import{existsSync as E}from"fs";var U=Vf(),j={opencode:{name:"opencode",displayName:"OpenCode",skillsDir:".opencode/skill",globalSkillsDir:P(U,".config/opencode/skill"),detectInstalled:async()=>{return E(P(U,".config/opencode"))}},"claude-code":{name:"claude-code",displayName:"Claude Code",skillsDir:".claude/skills",globalSkillsDir:P(U,".claude/skills"),detectInstalled:async()=>{return E(P(U,".claude"))}},codex:{name:"codex",displayName:"Codex",skillsDir:".codex/skills",globalSkillsDir:P(U,".codex/skills"),detectInstalled:async()=>{return E(P(U,".codex"))}},cursor:{name:"cursor",displayName:"Cursor",skillsDir:".cursor/skills",globalSkillsDir:P(U,".cursor/skills"),detectInstalled:async()=>{return E(P(U,".cursor"))}},amp:{name:"amp",displayName:"Amp",skillsDir:".agents/skills",globalSkillsDir:P(U,".config/agents/skills"),detectInstalled:async()=>{return E(P(U,".config/amp"))}},kilo:{name:"kilo",displayName:"Kilo Code",skillsDir:".kilocode/skills",globalSkillsDir:P(U,".kilocode/skills"),detectInstalled:async()=>{return E(P(U,".kilocode"))}},roo:{name:"roo",displayName:"Roo Code",skillsDir:".roo/skills",globalSkillsDir:P(U,".roo/skills"),detectInstalled:async()=>{return E(P(U,".roo"))}},goose:{name:"goose",displayName:"Goose",skillsDir:".goose/skills",globalSkillsDir:P(U,".config/goose/skills"),detectInstalled:async()=>{return E(P(U,".config/goose"))}},antigravity:{name:"antigravity",displayName:"Antigravity",skillsDir:".agent/skills",globalSkillsDir:P(U,".gemini/antigravity/skills"),detectInstalled:async()=>{return E(P(U,".gemini/antigravity"))}},copilot:{name:"copilot",displayName:"GitHub Copilot",skillsDir:".github/skills",globalSkillsDir:P(U,".copilot/skills"),detectInstalled:async()=>{return E(P(U,".copilot"))}}};async function A1(){let l=[];for(let[S,y]of Object.entries(j))if(await y.detectInstalled())l.push(S);return l}var Ff=["node_modules",".git","dist","build","__pycache__"],vf=["skills","skills/.curated","skills/.experimental","skills/.system"];function gf(l){let S=[l];for(let $ of vf)S.push(A(l,$));let y=new Set;for(let $ of Object.values(j))y.add(A(l,$.skillsDir));return S.push(...y),S}function cf(l){let S=l.match(/^---\n([\s\S]+?)\n---\n([\s\S]*)$/);if(!S)return{data:{},content:l};let y=S[1],$=S[2],b={};for(let I of y.split(`
78
- `)){let f=I.indexOf(":");if(f===-1)continue;let k=I.slice(0,f).trim(),T=I.slice(f+1).trim();if(T.startsWith('"')&&T.endsWith('"')||T.startsWith("'")&&T.endsWith("'"))b[k]=T.slice(1,-1);else if(k==="metadata")try{let R={},B=T.replace(/^\{|\}$/g,"").trim();if(B){for(let _ of B.split(",")){let[Y,Q]=_.split("=").map((m)=>m.trim());if(Y&&Q)R[Y]=Q.replace(/^['"]|['"]$/g,"")}b[k]=JSON.stringify(R)}}catch{b[k]=T}else b[k]=T}return{data:b,content:$}}async function Al(l){try{let S=A(l,"SKILL.md");return(await Af(S)).isFile()}catch{return!1}}async function xl(l){try{let S=await xf(l,"utf-8"),{data:y}=cf(S);if(!y.name||!y.description)return null;return{name:y.name,description:y.description,path:Of(l),metadata:y.metadata?JSON.parse(y.metadata):void 0}}catch{return null}}async function O1(l,S=0,y=5){let $=[];if(S>y)return $;try{if(await Al(l))$.push(l);let b=await C1(l,{withFileTypes:!0});for(let I of b)if(I.isDirectory()&&!Ff.includes(I.name)){let f=await O1(A(l,I.name),S+1,y);$.push(...f)}}catch{}return $}async function F1(l,S){let y=[],$=new Set,b=S?A(l,S):l;if(await Al(b)){let f=await xl(A(b,"SKILL.md"));if(f)return y.push(f),y}let I=gf(b);for(let f of I)try{let k=await C1(f,{withFileTypes:!0});for(let T of k)if(T.isDirectory()){let R=A(f,T.name);if(await Al(R)){let B=await xl(A(R,"SKILL.md"));if(B&&!$.has(B.name))y.push(B),$.add(B.name)}}}catch{}if(y.length===0){let f=await O1(b);for(let k of f){let T=await xl(A(k,"SKILL.md"));if(T&&!$.has(T.name))y.push(T),$.add(T.name)}}return y}function C(l){return l.name||Cf(l.path)}import{mkdir as v1,cp as hf,access as sf,readdir as mf}from"fs/promises";import{join as v,basename as Df}from"path";async function g1(l,S,y={}){let $=j[S],b=l.name||Df(l.path),I=y.global?$.globalSkillsDir:v(y.cwd||process.cwd(),$.skillsDir),f=v(I,b);try{return await v1(f,{recursive:!0}),await c1(l.path,f),{success:!0,path:f}}catch(k){return{success:!1,path:f,error:k instanceof Error?k.message:"Unknown error"}}}var uf=new Set(["README.md","metadata.json"]),nf=(l)=>{if(uf.has(l))return!0;if(l.startsWith("_"))return!0;return!1};async function c1(l,S){await v1(S,{recursive:!0});let y=await mf(l,{withFileTypes:!0});for(let $ of y){if(nf($.name))continue;let b=v(l,$.name),I=v(S,$.name);if($.isDirectory())await c1(b,I);else await hf(b,I)}}async function h1(l,S,y={}){let $=j[S],b=y.global?$.globalSkillsDir:v(y.cwd||process.cwd(),$.skillsDir),I=v(b,l);try{return await sf(I),!0}catch{return!1}}function s1(l,S,y={}){let $=j[S],b=y.global?$.globalSkillsDir:v(y.cwd||process.cwd(),$.skillsDir);return v(b,l)}async function i1(l,S){let y={tempDir:null,spinner:w1()};try{y.spinner.start("Parsing source...");let $=E1(l);y.spinner.stop(`Source: ${X.default.cyan($.url)}${$.subpath?` (${$.subpath})`:""}`),y.spinner.start("Cloning repository..."),y.tempDir=await V1($.url),y.spinner.stop("Repository cloned"),y.spinner.start("Discovering skills...");let b=await F1(y.tempDir,$.subpath);if(b.length===0)return y.spinner.stop(X.default.red("No skills found")),i(X.default.red("No valid skills found. Skills require a SKILL.md with name and description.")),{success:!1,installed:0,failed:0,results:[]};if(y.spinner.stop(`Found ${X.default.green(b.length)} skill${b.length>1?"s":""}`),S.list){console.log(),L.step(X.default.bold("Available Skills"));for(let B of b)L.message(` ${X.default.cyan(C(B))}`),L.message(` ${X.default.dim(B.description)}`);return console.log(),i("Use --skill <name> to install specific skills"),{success:!0,installed:0,failed:0,results:[]}}let I=await tf(b,S);if(!I)return{success:!1,installed:0,failed:0,results:[]};let f=await df(S,y);if(!f)return{success:!1,installed:0,failed:0,results:[]};let k=await rf(S);if(k===null)return{success:!1,installed:0,failed:0,results:[]};if(!await pf(S,I,f,k))return{success:!1,installed:0,failed:0,results:[]};y.spinner.start("Installing skills...");let R=await af(I,f,k);return y.spinner.stop("Installation complete"),R}finally{if(y.tempDir)await x1(y.tempDir)}}async function tf(l,S){let y;if(S.skill&&S.skill.length>0){if(y=l.filter(($)=>S.skill.some((b)=>$.name.toLowerCase()===b.toLowerCase()||C($).toLowerCase()===b.toLowerCase())),y.length===0){L.error(`No matching skills found for: ${S.skill.join(", ")}`),L.info("Available skills:");for(let $ of l)L.message(` - ${C($)}`);return null}L.info(`Selected ${y.length} skill${y.length!==1?"s":""}: ${y.map(($)=>X.default.cyan(C($))).join(", ")}`)}else if(l.length===1){y=l;let $=l[0];L.info(`Skill: ${X.default.cyan(C($))}`),L.message(X.default.dim($.description))}else if(S.yes)y=l,L.info(`Installing all ${l.length} skills`);else{let $=l.map((I)=>({value:I,label:C(I),hint:I.description.length>60?I.description.slice(0,57)+"...":I.description})),b=await yl({message:"Select skills to install",options:$,required:!0});if(F(b))return s("Installation cancelled"),null;y=b}return y}async function df(l,S){if(l.agent&&l.agent.length>0){let $=Object.keys(j),b=l.agent.filter((I)=>!$.includes(I));if(b.length>0)return L.error(`Invalid agents: ${b.join(", ")}`),L.info(`Valid agents: ${$.join(", ")}`),null;return l.agent}S.spinner.start("Detecting installed agents...");let y=await A1();if(S.spinner.stop(`Detected ${y.length} agent${y.length!==1?"s":""}`),y.length===0)if(l.yes){let $=Object.keys(j);return L.info("Installing to all agents (none detected)"),$}else{L.warn("No coding agents detected. You can still install skills.");let $=Object.entries(j).map(([I,f])=>({value:I,label:f.displayName})),b=await yl({message:"Select agents to install skills to",options:$,required:!0});if(F(b))return s("Installation cancelled"),null;return b}else if(y.length===1||l.yes){if(y.length===1){let $=y[0];L.info(`Installing to: ${X.default.cyan(j[$].displayName)}`)}else L.info(`Installing to: ${y.map(($)=>X.default.cyan(j[$].displayName)).join(", ")}`);return y}else{let $=y.map((I)=>({value:I,label:j[I].displayName,hint:j[I].skillsDir})),b=await yl({message:"Select agents to install skills to",options:$,required:!0,initialValues:y});if(F(b))return s("Installation cancelled"),null;return b}}async function rf(l){let S=l.global??!1;if(l.global===void 0&&!l.yes){let y=await K1({message:"Installation scope",options:[{value:!1,label:"Project",hint:"Install in current directory (committed with your project)"},{value:!0,label:"Global",hint:"Install in home directory (available across all projects)"}]});if(F(y))return s("Installation cancelled"),null;S=y}return S}async function pf(l,S,y,$){console.log(),L.step(X.default.bold("Installation Summary"));for(let b of S){L.message(` ${X.default.cyan(C(b))}`);for(let I of y){let f=s1(b.name,I,{global:$}),T=await h1(b.name,I,{global:$})?X.default.yellow(" (will overwrite)"):"";L.message(` ${X.default.dim("→")} ${j[I].displayName}: ${X.default.dim(f)}${T}`)}}if(console.log(),!l.yes){let b=await H1({message:"Proceed with installation?"});if(F(b)||!b)return s("Installation cancelled"),!1}return!0}async function af(l,S,y){let $=l.flatMap((T)=>S.map((R)=>g1(T,R,{global:y}))),I=(await Promise.all($)).map((T,R)=>{let B=Math.floor(R/S.length),_=R%S.length,Y=l[B],Q=S[_];return{skill:C(Y),agent:j[Q].displayName,...T}});console.log();let f=I.filter((T)=>T.success),k=I.filter((T)=>!T.success);if(f.length>0){L.success(X.default.green(`Successfully installed ${f.length} skill${f.length!==1?"s":""}`));for(let T of f)L.message(` ${X.default.green("✓")} ${T.skill} → ${T.agent}`),L.message(` ${X.default.dim(T.path)}`)}if(k.length>0){console.log(),L.error(X.default.red(`Failed to install ${k.length} skill${k.length!==1?"s":""}`));for(let T of k)L.message(` ${X.default.red("✗")} ${T.skill} → ${T.agent}`),L.message(` ${X.default.dim(T.error)}`)}return console.log(),i(X.default.green("Done!")),{success:k.length===0,installed:f.length,failed:k.length,results:I}}var m1={name:"give-skill",version:"1.0.0",description:"Universal skill installer for AI coding agents - Claude, Cursor, Copilot, and more",type:"module",bin:{"give-skill":"./dist/index.js"},files:["dist","README.md"],scripts:{build:"bun build src/index.ts --outdir dist --target node --minify",dev:"bun src/index.ts",prepublishOnly:"bun run build"},keywords:["cli","skills","claude","cursor","copilot","github-copilot","ai-agents","agent-skills","coding-assistant"],repository:{type:"git",url:"git+https://github.com/compilecafe/give-skill.git"},homepage:"https://github.com/compilecafe/give-skill#readme",bugs:{url:"https://github.com/compilecafe/give-skill/issues"},author:"Compile Café",license:"MIT",dependencies:{"@clack/prompts":"^0.11.0",commander:"^14.0.2",picocolors:"^1.1.1"},devDependencies:{"@types/bun":"latest"},module:"src/index.ts"};var ef=m1.version;Jl.name("give-skill").description("Install skills onto coding agents (OpenCode, Claude Code, Codex, Cursor, Antigravity, GitHub Copilot)").version(ef).argument("<source>","Git repo URL, GitHub shorthand (owner/repo), or direct path to skill").option("-g, --global","Install skill globally (user-level) instead of project-level").option("-a, --agent <agents...>","Specify agents to install to (opencode, claude-code, codex, cursor, copilot)").option("-s, --skill <skills...>","Specify skill names to install (skip selection prompt)").option("-l, --list","List available skills in the repository without installing").option("-y, --yes","Skip confirmation prompts").action(async(l,S)=>{await ly(l,S)});Jl.parse();async function ly(l,S){console.log(),W1($l.default.bgCyan($l.default.black(" give-skill ")));try{let y=await i1(l,S);if(!y.success&&y.installed===0&&y.failed===0)process.exit(1);if(y.failed>0)process.exit(1)}catch(y){L.error(y instanceof Error?y.message:"Unknown error occurred"),i($l.default.red("Installation failed")),process.exit(1)}}
74
+ `);process.stdout.write(Sl.cursor.move(-999,H.length-1)),process.stdout.write(Sl.erase.down(H.length))},kl=(H)=>H.replace(/\.+$/,""),Ol=(H)=>{let W=(performance.now()-H)/1000,E=Math.floor(W/60),g=Math.floor(W%60);return E>0?`[${E}m ${g}s]`:`[${g}s]`},D1=(H="")=>{S=!0,k=Z1(),I=kl(H),R=performance.now(),process.stdout.write(`${L.default.gray(Q)}
75
+ `);let W=0,E=0;P(),b=setInterval(()=>{if($&&I===T)return;Cl(),T=I;let g=L.default.magenta(y[W]);if($)process.stdout.write(`${g} ${I}...`);else if(l==="timer")process.stdout.write(`${g} ${I} ${Ol(R)}`);else{let n1=".".repeat(Math.floor(E)).slice(0,3);process.stdout.write(`${g} ${I}${n1}`)}W=W+1<y.length?W+1:0,E=E<y.length?E+0.125:0},f)},Fl=(H="",W=0)=>{S=!1,clearInterval(b),Cl();let E=W===0?L.default.green(El):W===1?L.default.red(j1):L.default.red(M1);I=kl(H??I),l==="timer"?process.stdout.write(`${E} ${I} ${Ol(R)}
76
+ `):process.stdout.write(`${E} ${I}
77
+ `),m(),k()};return{start:D1,stop:Fl,message:(H="")=>{I=kl(H??I)}}};var $l=v(p(),1);var z=v(p(),1);import{join as wS}from"path";import{rmSync as WS}from"fs";import{tmpdir as NS}from"os";import{spawn as ES}from"child_process";function E1(l){let y=l.match(/github\.com\/([^/]+)\/([^/]+)\/tree\/([^/]+)\/(.+)/);if(y){let[,S,I,,T]=y;return{type:"github",url:`https://github.com/${S}/${I}.git`,subpath:T}}let f=l.match(/github\.com\/([^/]+)\/([^/]+)/);if(f){let[,S,I]=f,T=I.replace(/\.git$/,"");return{type:"github",url:`https://github.com/${S}/${T}.git`}}let $=l.match(/gitlab\.com\/([^/]+)\/([^/]+)\/-\/tree\/([^/]+)\/(.+)/);if($){let[,S,I,,T]=$;return{type:"gitlab",url:`https://gitlab.com/${S}/${I}.git`,subpath:T}}let k=l.match(/gitlab\.com\/([^/]+)\/([^/]+)/);if(k){let[,S,I]=k,T=I.replace(/\.git$/,"");return{type:"gitlab",url:`https://gitlab.com/${S}/${T}.git`}}let b=l.match(/^([^/]+)\/([^/]+)(?:\/(.+))?$/);if(b&&!l.includes(":")){let[,S,I,T]=b;return{type:"github",url:`https://github.com/${S}/${I}.git`,subpath:T}}return{type:"git",url:l}}async function V1(l){let y=wS(NS(),`give-skill-${Date.now()}`);return await new Promise((f,$)=>{let k=ES("git",["clone","--depth","1",l,y],{stdio:"pipe"});k.on("close",(b)=>{if(b===0)f();else $(Error(`Failed to clone repository: ${l}`))}),k.on("error",$)}),y}async function A1(l){WS(l,{recursive:!0,force:!0})}import{readdir as C1,readFile as AS,stat as xS}from"fs/promises";import{join as x,basename as CS,dirname as OS}from"path";import{homedir as VS}from"os";import{join as G}from"path";import{existsSync as K}from"fs";var Y=VS(),j={opencode:{name:"opencode",displayName:"OpenCode",skillsDir:".opencode/skill",globalSkillsDir:G(Y,".config/opencode/skill"),detectInstalled:async()=>{return K(G(Y,".config/opencode"))}},"claude-code":{name:"claude-code",displayName:"Claude Code",skillsDir:".claude/skills",globalSkillsDir:G(Y,".claude/skills"),detectInstalled:async()=>{return K(G(Y,".claude"))}},codex:{name:"codex",displayName:"Codex",skillsDir:".codex/skills",globalSkillsDir:G(Y,".codex/skills"),detectInstalled:async()=>{return K(G(Y,".codex"))}},cursor:{name:"cursor",displayName:"Cursor",skillsDir:".cursor/skills",globalSkillsDir:G(Y,".cursor/skills"),detectInstalled:async()=>{return K(G(Y,".cursor"))}},amp:{name:"amp",displayName:"Amp",skillsDir:".agents/skills",globalSkillsDir:G(Y,".config/agents/skills"),detectInstalled:async()=>{return K(G(Y,".config/amp"))}},kilo:{name:"kilo",displayName:"Kilo Code",skillsDir:".kilocode/skills",globalSkillsDir:G(Y,".kilocode/skills"),detectInstalled:async()=>{return K(G(Y,".kilocode"))}},roo:{name:"roo",displayName:"Roo Code",skillsDir:".roo/skills",globalSkillsDir:G(Y,".roo/skills"),detectInstalled:async()=>{return K(G(Y,".roo"))}},goose:{name:"goose",displayName:"Goose",skillsDir:".goose/skills",globalSkillsDir:G(Y,".config/goose/skills"),detectInstalled:async()=>{return K(G(Y,".config/goose"))}},antigravity:{name:"antigravity",displayName:"Antigravity",skillsDir:".agent/skills",globalSkillsDir:G(Y,".gemini/antigravity/skills"),detectInstalled:async()=>{return K(G(Y,".gemini/antigravity"))}},copilot:{name:"copilot",displayName:"GitHub Copilot",skillsDir:".github/skills",globalSkillsDir:G(Y,".copilot/skills"),detectInstalled:async()=>{return K(G(Y,".copilot"))}},gemini:{name:"gemini",displayName:"Gemini CLI",skillsDir:".gemini/skills",globalSkillsDir:G(Y,".gemini/skills"),detectInstalled:async()=>{return K(G(Y,".gemini"))}},windsurf:{name:"windsurf",displayName:"Windsurf",skillsDir:".windsurf/skills",globalSkillsDir:G(Y,".codeium/windsurf/skills"),detectInstalled:async()=>{return K(G(Y,".codeium/windsurf"))}},trae:{name:"trae",displayName:"Trae",skillsDir:".trae/skills",globalSkillsDir:G(Y,".trae/skills"),detectInstalled:async()=>{return K(G(Y,".trae"))}},factory:{name:"factory",displayName:"Factory Droid",skillsDir:".factory/skills",globalSkillsDir:G(Y,".factory/skills"),detectInstalled:async()=>{return K(G(Y,".factory"))}},letta:{name:"letta",displayName:"Letta",skillsDir:".skills",globalSkillsDir:G(Y,".letta/skills"),detectInstalled:async()=>{return K(G(Y,".letta"))}}};async function x1(){let l=[];for(let[y,f]of Object.entries(j))if(await f.detectInstalled())l.push(y);return l}var FS=["node_modules",".git","dist","build","__pycache__"],cS=["skills","skills/.curated","skills/.experimental","skills/.system"];function gS(l){let y=[l];for(let $ of cS)y.push(x(l,$));let f=new Set;for(let $ of Object.values(j))f.add(x(l,$.skillsDir));return y.push(...f),y}function vS(l){let y=l.match(/^---\n([\s\S]+?)\n---\n([\s\S]*)$/);if(!y)return{data:{},content:l};let f=y[1],$=y[2],k={};for(let b of f.split(`
78
+ `)){let S=b.indexOf(":");if(S===-1)continue;let I=b.slice(0,S).trim(),T=b.slice(S+1).trim();if(T.startsWith('"')&&T.endsWith('"')||T.startsWith("'")&&T.endsWith("'"))k[I]=T.slice(1,-1);else if(I==="metadata")try{let R={},B=T.replace(/^\{|\}$/g,"").trim();if(B){for(let q of B.split(",")){let[X,P]=q.split("=").map((m)=>m.trim());if(X&&P)R[X]=P.replace(/^['"]|['"]$/g,"")}k[I]=JSON.stringify(R)}}catch{k[I]=T}else k[I]=T}return{data:k,content:$}}async function xl(l){try{let y=x(l,"SKILL.md");return(await xS(y)).isFile()}catch{return!1}}async function Al(l){try{let y=await AS(l,"utf-8"),{data:f}=vS(y);if(!f.name||!f.description)return null;return{name:f.name,description:f.description,path:OS(l),metadata:f.metadata?JSON.parse(f.metadata):void 0}}catch{return null}}async function O1(l,y=0,f=5){let $=[];if(y>f)return $;try{if(await xl(l))$.push(l);let k=await C1(l,{withFileTypes:!0});for(let b of k)if(b.isDirectory()&&!FS.includes(b.name)){let S=await O1(x(l,b.name),y+1,f);$.push(...S)}}catch{}return $}async function F1(l,y){let f=[],$=new Set,k=y?x(l,y):l;if(await xl(k)){let S=await Al(x(k,"SKILL.md"));if(S)return f.push(S),f}let b=gS(k);for(let S of b)try{let I=await C1(S,{withFileTypes:!0});for(let T of I)if(T.isDirectory()){let R=x(S,T.name);if(await xl(R)){let B=await Al(x(R,"SKILL.md"));if(B&&!$.has(B.name))f.push(B),$.add(B.name)}}}catch{}if(f.length===0){let S=await O1(k);for(let I of S){let T=await Al(x(I,"SKILL.md"));if(T&&!$.has(T.name))f.push(T),$.add(T.name)}}return f}function C(l){return l.name||CS(l.path)}import{mkdir as c1,cp as hS,access as sS,readdir as iS}from"fs/promises";import{join as c,basename as mS}from"path";async function g1(l,y,f={}){let $=j[y],k=l.name||mS(l.path),b=f.global?$.globalSkillsDir:c(f.cwd||process.cwd(),$.skillsDir),S=c(b,k);try{return await c1(S,{recursive:!0}),await v1(l.path,S),{success:!0,path:S}}catch(I){return{success:!1,path:S,error:I instanceof Error?I.message:"Unknown error"}}}var DS=new Set(["README.md","metadata.json"]),nS=(l)=>{if(DS.has(l))return!0;if(l.startsWith("_"))return!0;return!1};async function v1(l,y){await c1(y,{recursive:!0});let f=await iS(l,{withFileTypes:!0});for(let $ of f){if(nS($.name))continue;let k=c(l,$.name),b=c(y,$.name);if($.isDirectory())await v1(k,b);else await hS(k,b)}}async function h1(l,y,f={}){let $=j[y],k=f.global?$.globalSkillsDir:c(f.cwd||process.cwd(),$.skillsDir),b=c(k,l);try{return await sS(b),!0}catch{return!1}}function s1(l,y,f={}){let $=j[y],k=f.global?$.globalSkillsDir:c(f.cwd||process.cwd(),$.skillsDir);return c(k,l)}async function i1(l,y){let f={tempDir:null,spinner:W1()};try{f.spinner.start("Parsing source...");let $=E1(l);f.spinner.stop(`Source: ${z.default.cyan($.url)}${$.subpath?` (${$.subpath})`:""}`),f.spinner.start("Cloning repository..."),f.tempDir=await V1($.url),f.spinner.stop("Repository cloned"),f.spinner.start("Discovering skills...");let k=await F1(f.tempDir,$.subpath);if(k.length===0)return f.spinner.stop(z.default.red("No skills found")),i(z.default.red("No valid skills found. Skills require a SKILL.md with name and description.")),{success:!1,installed:0,failed:0,results:[]};if(f.spinner.stop(`Found ${z.default.green(k.length)} skill${k.length>1?"s":""}`),y.list){console.log(),_.step(z.default.bold("Available Skills"));for(let B of k)_.message(` ${z.default.cyan(C(B))}`),_.message(` ${z.default.dim(B.description)}`);return console.log(),i("Use --skill <name> to install specific skills"),{success:!0,installed:0,failed:0,results:[]}}let b=await tS(k,y);if(!b)return{success:!1,installed:0,failed:0,results:[]};let S=await uS(y,f);if(!S)return{success:!1,installed:0,failed:0,results:[]};let I=await dS(y);if(I===null)return{success:!1,installed:0,failed:0,results:[]};if(!await rS(y,b,S,I))return{success:!1,installed:0,failed:0,results:[]};f.spinner.start("Installing skills...");let R=await aS(b,S,I);return f.spinner.stop("Installation complete"),R}finally{if(f.tempDir)await A1(f.tempDir)}}async function tS(l,y){let f;if(y.skill&&y.skill.length>0){if(f=l.filter(($)=>y.skill.some((k)=>$.name.toLowerCase()===k.toLowerCase()||C($).toLowerCase()===k.toLowerCase())),f.length===0){_.error(`No matching skills found for: ${y.skill.join(", ")}`),_.info("Available skills:");for(let $ of l)_.message(` - ${C($)}`);return null}_.info(`Selected ${f.length} skill${f.length!==1?"s":""}: ${f.map(($)=>z.default.cyan(C($))).join(", ")}`)}else if(l.length===1){f=l;let $=l[0];_.info(`Skill: ${z.default.cyan(C($))}`),_.message(z.default.dim($.description))}else if(y.yes)f=l,_.info(`Installing all ${l.length} skills`);else{let $=l.map((b)=>({value:b,label:C(b),hint:b.description.length>60?b.description.slice(0,57)+"...":b.description})),k=await fl({message:"Select skills to install",options:$,required:!0});if(F(k))return s("Installation cancelled"),null;f=k}return f}async function uS(l,y){if(l.agent&&l.agent.length>0){let $=Object.keys(j),k=l.agent.filter((b)=>!$.includes(b));if(k.length>0)return _.error(`Invalid agents: ${k.join(", ")}`),_.info(`Valid agents: ${$.join(", ")}`),null;return l.agent}y.spinner.start("Detecting installed agents...");let f=await x1();if(y.spinner.stop(`Detected ${f.length} agent${f.length!==1?"s":""}`),f.length===0)if(l.yes){let $=Object.keys(j);return _.info("Installing to all agents (none detected)"),$}else{_.warn("No coding agents detected. You can still install skills.");let $=Object.entries(j).map(([b,S])=>({value:b,label:S.displayName})),k=await fl({message:"Select agents to install skills to",options:$,required:!0});if(F(k))return s("Installation cancelled"),null;return k}else if(f.length===1||l.yes){if(f.length===1){let $=f[0];_.info(`Installing to: ${z.default.cyan(j[$].displayName)}`)}else _.info(`Installing to: ${f.map(($)=>z.default.cyan(j[$].displayName)).join(", ")}`);return f}else{let $=f.map((b)=>({value:b,label:j[b].displayName,hint:j[b].skillsDir})),k=await fl({message:"Select agents to install skills to",options:$,required:!0,initialValues:f});if(F(k))return s("Installation cancelled"),null;return k}}async function dS(l){let y=l.global??!1;if(l.global===void 0&&!l.yes){let f=await K1({message:"Installation scope",options:[{value:!1,label:"Project",hint:"Install in current directory (committed with your project)"},{value:!0,label:"Global",hint:"Install in home directory (available across all projects)"}]});if(F(f))return s("Installation cancelled"),null;y=f}return y}async function rS(l,y,f,$){console.log(),_.step(z.default.bold("Installation Summary"));for(let k of y){_.message(` ${z.default.cyan(C(k))}`);for(let b of f){let S=s1(k.name,b,{global:$}),T=await h1(k.name,b,{global:$})?z.default.yellow(" (will overwrite)"):"";_.message(` ${z.default.dim("→")} ${j[b].displayName}: ${z.default.dim(S)}${T}`)}}if(console.log(),!l.yes){let k=await H1({message:"Proceed with installation?"});if(F(k)||!k)return s("Installation cancelled"),!1}return!0}async function aS(l,y,f){let $=l.flatMap((T)=>y.map((R)=>g1(T,R,{global:f}))),b=(await Promise.all($)).map((T,R)=>{let B=Math.floor(R/y.length),q=R%y.length,X=l[B],P=y[q];return{skill:C(X),agent:j[P].displayName,...T}});console.log();let S=b.filter((T)=>T.success),I=b.filter((T)=>!T.success);if(S.length>0){_.success(z.default.green(`Successfully installed ${S.length} skill${S.length!==1?"s":""}`));for(let T of S)_.message(` ${z.default.green("✓")} ${T.skill} → ${T.agent}`),_.message(` ${z.default.dim(T.path)}`)}if(I.length>0){console.log(),_.error(z.default.red(`Failed to install ${I.length} skill${I.length!==1?"s":""}`));for(let T of I)_.message(` ${z.default.red("✗")} ${T.skill} → ${T.agent}`),_.message(` ${z.default.dim(T.error)}`)}return console.log(),i(z.default.green("Done!")),{success:I.length===0,installed:S.length,failed:I.length,results:b}}var m1={name:"give-skill",version:"1.0.2",description:"Universal skill installer for AI coding agents - Claude, Cursor, Copilot, and more",type:"module",bin:{"give-skill":"./dist/index.js"},files:["dist","README.md"],scripts:{build:"bun build src/index.ts --outdir dist --target node --minify",dev:"bun src/index.ts",prepublishOnly:"bun run build"},keywords:["cli","skills","claude","cursor","copilot","github-copilot","ai-agents","agent-skills","coding-assistant"],repository:{type:"git",url:"git+https://github.com/compilecafe/give-skill.git"},homepage:"https://github.com/compilecafe/give-skill#readme",bugs:{url:"https://github.com/compilecafe/give-skill/issues"},author:"Compile Café",license:"MIT",dependencies:{"@clack/prompts":"^0.11.0",commander:"^14.0.2",picocolors:"^1.1.1"},devDependencies:{"@types/bun":"latest"},module:"src/index.ts"};var oS=m1.version;Jl.name("give-skill").description("Install skills onto coding agents (Claude Code, Cursor, Copilot, Gemini, Windsurf, Trae, Factory, Letta, OpenCode, Codex, Antigravity, Amp, Kilo, Roo, Goose)").version(oS).argument("<source>","Git repo URL, GitHub shorthand (owner/repo), or direct path to skill").option("-g, --global","Install skill globally (user-level) instead of project-level").option("-a, --agent <agents...>","Specify agents to install to (windsurf, gemini, claude-code, cursor, copilot, etc.)").option("-s, --skill <skills...>","Specify skill names to install (skip selection prompt)").option("-l, --list","List available skills in the repository without installing").option("-y, --yes","Skip confirmation prompts").action(async(l,y)=>{await eS(l,y)});Jl.parse();async function eS(l,y){console.log(),w1($l.default.bgCyan($l.default.black(" give-skill ")));try{let f=await i1(l,y);if(!f.success&&f.installed===0&&f.failed===0)process.exit(1);if(f.failed>0)process.exit(1)}catch(f){_.error(f instanceof Error?f.message:"Unknown error occurred"),i($l.default.red("Installation failed")),process.exit(1)}}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "give-skill",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "description": "Universal skill installer for AI coding agents - Claude, Cursor, Copilot, and more",
5
5
  "type": "module",
6
6
  "bin": {