@shipi/cli 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js ADDED
@@ -0,0 +1,121 @@
1
+ #!/usr/bin/env node
2
+ import{createRequire as HF}from"node:module";var YF=Object.create;var{getPrototypeOf:XF,defineProperty:S0,getOwnPropertyNames:MF}=Object;var GF=Object.prototype.hasOwnProperty;var w=(D,u,F)=>{F=D!=null?YF(XF(D)):{};let E=u||!D||!D.__esModule?S0(F,"default",{value:D,enumerable:!0}):F;for(let B of MF(D))if(!GF.call(E,B))S0(E,B,{get:()=>D[B],enumerable:!0});return E};var O=(D,u)=>()=>(u||D((u={exports:{}}).exports,u),u.exports);var n=HF(import.meta.url);var qD=O((zF)=>{class gD extends Error{constructor(D,u,F){super(F);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=u,this.exitCode=D,this.nestedError=void 0}}class y0 extends gD{constructor(D){super(1,"commander.invalidArgument",D);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}}zF.CommanderError=gD;zF.InvalidArgumentError=y0});var WD=O((LF)=>{var{InvalidArgumentError:VF}=qD();class v0{constructor(D,u){switch(this.description=u||"",this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,D[0]){case"<":this.required=!0,this._name=D.slice(1,-1);break;case"[":this.required=!1,this._name=D.slice(1,-1);break;default:this.required=!0,this._name=D;break}if(this._name.length>3&&this._name.slice(-3)==="...")this.variadic=!0,this._name=this._name.slice(0,-3)}name(){return this._name}_concatValue(D,u){if(u===this.defaultValue||!Array.isArray(u))return[D];return u.concat(D)}default(D,u){return this.defaultValue=D,this.defaultValueDescription=u,this}argParser(D){return this.parseArg=D,this}choices(D){return this.argChoices=D.slice(),this.parseArg=(u,F)=>{if(!this.argChoices.includes(u))throw new VF(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._concatValue(u,F);return u},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}}function KF(D){let u=D.name()+(D.variadic===!0?"...":"");return D.required?"<"+u+">":"["+u+"]"}LF.Argument=v0;LF.humanReadableArgName=KF});var mD=O((NF)=>{var{humanReadableArgName:TF}=WD();class x0{constructor(){this.helpWidth=void 0,this.minWidthToWrap=40,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}prepareContext(D){this.helpWidth=this.helpWidth??D.helpWidth??80}visibleCommands(D){let u=D.commands.filter((E)=>!E._hidden),F=D._getHelpCommand();if(F&&!F._hidden)u.push(F);if(this.sortSubcommands)u.sort((E,B)=>{return E.name().localeCompare(B.name())});return u}compareOptions(D,u){let F=(E)=>{return E.short?E.short.replace(/^-/,""):E.long.replace(/^--/,"")};return F(D).localeCompare(F(u))}visibleOptions(D){let u=D.options.filter((E)=>!E.hidden),F=D._getHelpOption();if(F&&!F.hidden){let E=F.short&&D._findOption(F.short),B=F.long&&D._findOption(F.long);if(!E&&!B)u.push(F);else if(F.long&&!B)u.push(D.createOption(F.long,F.description));else if(F.short&&!E)u.push(D.createOption(F.short,F.description))}if(this.sortOptions)u.sort(this.compareOptions);return u}visibleGlobalOptions(D){if(!this.showGlobalOptions)return[];let u=[];for(let F=D.parent;F;F=F.parent){let E=F.options.filter((B)=>!B.hidden);u.push(...E)}if(this.sortOptions)u.sort(this.compareOptions);return u}visibleArguments(D){if(D._argsDescription)D.registeredArguments.forEach((u)=>{u.description=u.description||D._argsDescription[u.name()]||""});if(D.registeredArguments.find((u)=>u.description))return D.registeredArguments;return[]}subcommandTerm(D){let u=D.registeredArguments.map((F)=>TF(F)).join(" ");return D._name+(D._aliases[0]?"|"+D._aliases[0]:"")+(D.options.length?" [options]":"")+(u?" "+u:"")}optionTerm(D){return D.flags}argumentTerm(D){return D.name()}longestSubcommandTermLength(D,u){return u.visibleCommands(D).reduce((F,E)=>{return Math.max(F,this.displayWidth(u.styleSubcommandTerm(u.subcommandTerm(E))))},0)}longestOptionTermLength(D,u){return u.visibleOptions(D).reduce((F,E)=>{return Math.max(F,this.displayWidth(u.styleOptionTerm(u.optionTerm(E))))},0)}longestGlobalOptionTermLength(D,u){return u.visibleGlobalOptions(D).reduce((F,E)=>{return Math.max(F,this.displayWidth(u.styleOptionTerm(u.optionTerm(E))))},0)}longestArgumentTermLength(D,u){return u.visibleArguments(D).reduce((F,E)=>{return Math.max(F,this.displayWidth(u.styleArgumentTerm(u.argumentTerm(E))))},0)}commandUsage(D){let u=D._name;if(D._aliases[0])u=u+"|"+D._aliases[0];let F="";for(let E=D.parent;E;E=E.parent)F=E.name()+" "+F;return F+u+" "+D.usage()}commandDescription(D){return D.description()}subcommandDescription(D){return D.summary()||D.description()}optionDescription(D){let u=[];if(D.argChoices)u.push(`choices: ${D.argChoices.map((F)=>JSON.stringify(F)).join(", ")}`);if(D.defaultValue!==void 0){if(D.required||D.optional||D.isBoolean()&&typeof D.defaultValue==="boolean")u.push(`default: ${D.defaultValueDescription||JSON.stringify(D.defaultValue)}`)}if(D.presetArg!==void 0&&D.optional)u.push(`preset: ${JSON.stringify(D.presetArg)}`);if(D.envVar!==void 0)u.push(`env: ${D.envVar}`);if(u.length>0)return`${D.description} (${u.join(", ")})`;return D.description}argumentDescription(D){let u=[];if(D.argChoices)u.push(`choices: ${D.argChoices.map((F)=>JSON.stringify(F)).join(", ")}`);if(D.defaultValue!==void 0)u.push(`default: ${D.defaultValueDescription||JSON.stringify(D.defaultValue)}`);if(u.length>0){let F=`(${u.join(", ")})`;if(D.description)return`${D.description} ${F}`;return F}return D.description}formatHelp(D,u){let F=u.padWidth(D,u),E=u.helpWidth??80;function B(J,Z){return u.formatItem(J,F,Z,u)}let C=[`${u.styleTitle("Usage:")} ${u.styleUsage(u.commandUsage(D))}`,""],A=u.commandDescription(D);if(A.length>0)C=C.concat([u.boxWrap(u.styleCommandDescription(A),E),""]);let _=u.visibleArguments(D).map((J)=>{return B(u.styleArgumentTerm(u.argumentTerm(J)),u.styleArgumentDescription(u.argumentDescription(J)))});if(_.length>0)C=C.concat([u.styleTitle("Arguments:"),..._,""]);let $=u.visibleOptions(D).map((J)=>{return B(u.styleOptionTerm(u.optionTerm(J)),u.styleOptionDescription(u.optionDescription(J)))});if($.length>0)C=C.concat([u.styleTitle("Options:"),...$,""]);if(u.showGlobalOptions){let J=u.visibleGlobalOptions(D).map((Z)=>{return B(u.styleOptionTerm(u.optionTerm(Z)),u.styleOptionDescription(u.optionDescription(Z)))});if(J.length>0)C=C.concat([u.styleTitle("Global Options:"),...J,""])}let q=u.visibleCommands(D).map((J)=>{return B(u.styleSubcommandTerm(u.subcommandTerm(J)),u.styleSubcommandDescription(u.subcommandDescription(J)))});if(q.length>0)C=C.concat([u.styleTitle("Commands:"),...q,""]);return C.join(`
3
+ `)}displayWidth(D){return h0(D).length}styleTitle(D){return D}styleUsage(D){return D.split(" ").map((u)=>{if(u==="[options]")return this.styleOptionText(u);if(u==="[command]")return this.styleSubcommandText(u);if(u[0]==="["||u[0]==="<")return this.styleArgumentText(u);return this.styleCommandText(u)}).join(" ")}styleCommandDescription(D){return this.styleDescriptionText(D)}styleOptionDescription(D){return this.styleDescriptionText(D)}styleSubcommandDescription(D){return this.styleDescriptionText(D)}styleArgumentDescription(D){return this.styleDescriptionText(D)}styleDescriptionText(D){return D}styleOptionTerm(D){return this.styleOptionText(D)}styleSubcommandTerm(D){return D.split(" ").map((u)=>{if(u==="[options]")return this.styleOptionText(u);if(u[0]==="["||u[0]==="<")return this.styleArgumentText(u);return this.styleSubcommandText(u)}).join(" ")}styleArgumentTerm(D){return this.styleArgumentText(D)}styleOptionText(D){return D}styleArgumentText(D){return D}styleSubcommandText(D){return D}styleCommandText(D){return D}padWidth(D,u){return Math.max(u.longestOptionTermLength(D,u),u.longestGlobalOptionTermLength(D,u),u.longestSubcommandTermLength(D,u),u.longestArgumentTermLength(D,u))}preformatted(D){return/\n[^\S\r\n]/.test(D)}formatItem(D,u,F,E){let C=" ".repeat(2);if(!F)return C+D;let A=D.padEnd(u+D.length-E.displayWidth(D)),_=2,q=(this.helpWidth??80)-u-_-2,J;if(q<this.minWidthToWrap||E.preformatted(F))J=F;else J=E.boxWrap(F,q).replace(/\n/g,`
4
+ `+" ".repeat(u+_));return C+A+" ".repeat(_)+J.replace(/\n/g,`
5
+ ${C}`)}boxWrap(D,u){if(u<this.minWidthToWrap)return D;let F=D.split(/\r\n|\n/),E=/[\s]*[^\s]+/g,B=[];return F.forEach((C)=>{let A=C.match(E);if(A===null){B.push("");return}let _=[A.shift()],$=this.displayWidth(_[0]);A.forEach((q)=>{let J=this.displayWidth(q);if($+J<=u){_.push(q),$+=J;return}B.push(_.join(""));let Z=q.trimStart();_=[Z],$=this.displayWidth(Z)}),B.push(_.join(""))}),B.join(`
6
+ `)}}function h0(D){let u=/\x1b\[\d*(;\d*)*m/g;return D.replace(u,"")}NF.Help=x0;NF.stripColor=h0});var lD=O((kF)=>{var{InvalidArgumentError:wF}=qD();class g0{constructor(D,u){this.flags=D,this.description=u||"",this.required=D.includes("<"),this.optional=D.includes("["),this.variadic=/\w\.\.\.[>\]]$/.test(D),this.mandatory=!1;let F=PF(D);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}default(D,u){return this.defaultValue=D,this.defaultValueDescription=u,this}preset(D){return this.presetArg=D,this}conflicts(D){return this.conflictsWith=this.conflictsWith.concat(D),this}implies(D){let u=D;if(typeof D==="string")u={[D]:!0};return this.implied=Object.assign(this.implied||{},u),this}env(D){return this.envVar=D,this}argParser(D){return this.parseArg=D,this}makeOptionMandatory(D=!0){return this.mandatory=!!D,this}hideHelp(D=!0){return this.hidden=!!D,this}_concatValue(D,u){if(u===this.defaultValue||!Array.isArray(u))return[D];return u.concat(D)}choices(D){return this.argChoices=D.slice(),this.parseArg=(u,F)=>{if(!this.argChoices.includes(u))throw new wF(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._concatValue(u,F);return u},this}name(){if(this.long)return this.long.replace(/^--/,"");return this.short.replace(/^-/,"")}attributeName(){if(this.negate)return f0(this.name().replace(/^no-/,""));return f0(this.name())}is(D){return this.short===D||this.long===D}isBoolean(){return!this.required&&!this.optional&&!this.negate}}class m0{constructor(D){this.positiveOptions=new Map,this.negativeOptions=new Map,this.dualOptions=new Set,D.forEach((u)=>{if(u.negate)this.negativeOptions.set(u.attributeName(),u);else this.positiveOptions.set(u.attributeName(),u)}),this.negativeOptions.forEach((u,F)=>{if(this.positiveOptions.has(F))this.dualOptions.add(F)})}valueFromOption(D,u){let F=u.attributeName();if(!this.dualOptions.has(F))return!0;let E=this.negativeOptions.get(F).presetArg,B=E!==void 0?E:!1;return u.negate===(B===D)}}function f0(D){return D.split("-").reduce((u,F)=>{return u+F[0].toUpperCase()+F.slice(1)})}function PF(D){let u,F,E=/^-[^-]$/,B=/^--[^-]/,C=D.split(/[ |,]+/).concat("guard");if(E.test(C[0]))u=C.shift();if(B.test(C[0]))F=C.shift();if(!u&&E.test(C[0]))u=C.shift();if(!u&&B.test(C[0]))u=F,F=C.shift();if(C[0].startsWith("-")){let A=C[0],_=`option creation failed due to '${A}' in option flags '${D}'`;if(/^-[^-][^-]/.test(A))throw Error(`${_}
7
+ - a short flag is a single dash and a single character
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(E.test(A))throw Error(`${_}
10
+ - too many short flags`);if(B.test(A))throw Error(`${_}
11
+ - too many long flags`);throw Error(`${_}
12
+ - unrecognised flag format`)}if(u===void 0&&F===void 0)throw Error(`option creation failed due to no flags found in '${D}'.`);return{shortFlag:u,longFlag:F}}kF.Option=g0;kF.DualOptions=m0});var l0=O((xF)=>{function yF(D,u){if(Math.abs(D.length-u.length)>3)return Math.max(D.length,u.length);let F=[];for(let E=0;E<=D.length;E++)F[E]=[E];for(let E=0;E<=u.length;E++)F[0][E]=E;for(let E=1;E<=u.length;E++)for(let B=1;B<=D.length;B++){let C=1;if(D[B-1]===u[E-1])C=0;else C=1;if(F[B][E]=Math.min(F[B-1][E]+1,F[B][E-1]+1,F[B-1][E-1]+C),B>1&&E>1&&D[B-1]===u[E-2]&&D[B-2]===u[E-1])F[B][E]=Math.min(F[B][E],F[B-2][E-2]+1)}return F[D.length][u.length]}function vF(D,u){if(!u||u.length===0)return"";u=Array.from(new Set(u));let F=D.startsWith("--");if(F)D=D.slice(2),u=u.map((A)=>A.slice(2));let E=[],B=3,C=0.4;if(u.forEach((A)=>{if(A.length<=1)return;let _=yF(D,A),$=Math.max(D.length,A.length);if(($-_)/$>C){if(_<B)B=_,E=[A];else if(_===B)E.push(A)}}),E.sort((A,_)=>A.localeCompare(_)),F)E=E.map((A)=>`--${A}`);if(E.length>1)return`
13
+ (Did you mean one of ${E.join(", ")}?)`;if(E.length===1)return`
14
+ (Did you mean ${E[0]}?)`;return""}xF.suggestSimilar=vF});var r0=O((pF)=>{var fF=n("node:events").EventEmitter,dD=n("node:child_process"),g=n("node:path"),VD=n("node:fs"),M=n("node:process"),{Argument:gF,humanReadableArgName:mF}=WD(),{CommanderError:cD}=qD(),{Help:lF,stripColor:dF}=mD(),{Option:d0,DualOptions:cF}=lD(),{suggestSimilar:c0}=l0();class rD extends fF{constructor(D){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=D||"",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:(u)=>M.stdout.write(u),writeErr:(u)=>M.stderr.write(u),outputError:(u,F)=>F(u),getOutHelpWidth:()=>M.stdout.isTTY?M.stdout.columns:void 0,getErrHelpWidth:()=>M.stderr.isTTY?M.stderr.columns:void 0,getOutHasColors:()=>pD()??(M.stdout.isTTY&&M.stdout.hasColors?.()),getErrHasColors:()=>pD()??(M.stderr.isTTY&&M.stderr.hasColors?.()),stripColor:(u)=>dF(u)},this._hidden=!1,this._helpOption=void 0,this._addImplicitHelpCommand=void 0,this._helpCommand=void 0,this._helpConfiguration={}}copyInheritedSettings(D){return this._outputConfiguration=D._outputConfiguration,this._helpOption=D._helpOption,this._helpCommand=D._helpCommand,this._helpConfiguration=D._helpConfiguration,this._exitCallback=D._exitCallback,this._storeOptionsAsProperties=D._storeOptionsAsProperties,this._combineFlagAndOptionalValue=D._combineFlagAndOptionalValue,this._allowExcessArguments=D._allowExcessArguments,this._enablePositionalOptions=D._enablePositionalOptions,this._showHelpAfterError=D._showHelpAfterError,this._showSuggestionAfterError=D._showSuggestionAfterError,this}_getCommandAndAncestors(){let D=[];for(let u=this;u;u=u.parent)D.push(u);return D}command(D,u,F){let E=u,B=F;if(typeof E==="object"&&E!==null)B=E,E=null;B=B||{};let[,C,A]=D.match(/([^ ]+) *(.*)/),_=this.createCommand(C);if(E)_.description(E),_._executableHandler=!0;if(B.isDefault)this._defaultCommandName=_._name;if(_._hidden=!!(B.noHelp||B.hidden),_._executableFile=B.executableFile||null,A)_.arguments(A);if(this._registerCommand(_),_.parent=this,_.copyInheritedSettings(this),E)return this;return _}createCommand(D){return new rD(D)}createHelp(){return Object.assign(new lF,this.configureHelp())}configureHelp(D){if(D===void 0)return this._helpConfiguration;return this._helpConfiguration=D,this}configureOutput(D){if(D===void 0)return this._outputConfiguration;return Object.assign(this._outputConfiguration,D),this}showHelpAfterError(D=!0){if(typeof D!=="string")D=!!D;return this._showHelpAfterError=D,this}showSuggestionAfterError(D=!0){return this._showSuggestionAfterError=!!D,this}addCommand(D,u){if(!D._name)throw Error(`Command passed to .addCommand() must have a name
15
+ - specify the name in Command constructor or using .name()`);if(u=u||{},u.isDefault)this._defaultCommandName=D._name;if(u.noHelp||u.hidden)D._hidden=!0;return this._registerCommand(D),D.parent=this,D._checkForBrokenPassThrough(),this}createArgument(D,u){return new gF(D,u)}argument(D,u,F,E){let B=this.createArgument(D,u);if(typeof F==="function")B.default(E).argParser(F);else B.default(F);return this.addArgument(B),this}arguments(D){return D.trim().split(/ +/).forEach((u)=>{this.argument(u)}),this}addArgument(D){let u=this.registeredArguments.slice(-1)[0];if(u&&u.variadic)throw Error(`only the last argument can be variadic '${u.name()}'`);if(D.required&&D.defaultValue!==void 0&&D.parseArg===void 0)throw Error(`a default value for a required argument is never used: '${D.name()}'`);return this.registeredArguments.push(D),this}helpCommand(D,u){if(typeof D==="boolean")return this._addImplicitHelpCommand=D,this;D=D??"help [command]";let[,F,E]=D.match(/([^ ]+) *(.*)/),B=u??"display help for command",C=this.createCommand(F);if(C.helpOption(!1),E)C.arguments(E);if(B)C.description(B);return this._addImplicitHelpCommand=!0,this._helpCommand=C,this}addHelpCommand(D,u){if(typeof D!=="object")return this.helpCommand(D,u),this;return this._addImplicitHelpCommand=!0,this._helpCommand=D,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(D,u){let F=["preSubcommand","preAction","postAction"];if(!F.includes(D))throw Error(`Unexpected value for event passed to hook : '${D}'.
16
+ Expecting one of '${F.join("', '")}'`);if(this._lifeCycleHooks[D])this._lifeCycleHooks[D].push(u);else this._lifeCycleHooks[D]=[u];return this}exitOverride(D){if(D)this._exitCallback=D;else this._exitCallback=(u)=>{if(u.code!=="commander.executeSubCommandAsync")throw u};return this}_exit(D,u,F){if(this._exitCallback)this._exitCallback(new cD(D,u,F));M.exit(D)}action(D){let u=(F)=>{let E=this.registeredArguments.length,B=F.slice(0,E);if(this._storeOptionsAsProperties)B[E]=this;else B[E]=this.opts();return B.push(this),D.apply(this,B)};return this._actionHandler=u,this}createOption(D,u){return new d0(D,u)}_callParseArg(D,u,F,E){try{return D.parseArg(u,F)}catch(B){if(B.code==="commander.invalidArgument"){let C=`${E} ${B.message}`;this.error(C,{exitCode:B.exitCode,code:B.code})}throw B}}_registerOption(D){let u=D.short&&this._findOption(D.short)||D.long&&this._findOption(D.long);if(u){let F=D.long&&this._findOption(D.long)?D.long:D.short;throw Error(`Cannot add option '${D.flags}'${this._name&&` to command '${this._name}'`} due to conflicting flag '${F}'
17
+ - already used by option '${u.flags}'`)}this.options.push(D)}_registerCommand(D){let u=(E)=>{return[E.name()].concat(E.aliases())},F=u(D).find((E)=>this._findCommand(E));if(F){let E=u(this._findCommand(F)).join("|"),B=u(D).join("|");throw Error(`cannot add command '${B}' as already have command '${E}'`)}this.commands.push(D)}addOption(D){this._registerOption(D);let u=D.name(),F=D.attributeName();if(D.negate){let B=D.long.replace(/^--no-/,"--");if(!this._findOption(B))this.setOptionValueWithSource(F,D.defaultValue===void 0?!0:D.defaultValue,"default")}else if(D.defaultValue!==void 0)this.setOptionValueWithSource(F,D.defaultValue,"default");let E=(B,C,A)=>{if(B==null&&D.presetArg!==void 0)B=D.presetArg;let _=this.getOptionValue(F);if(B!==null&&D.parseArg)B=this._callParseArg(D,B,_,C);else if(B!==null&&D.variadic)B=D._concatValue(B,_);if(B==null)if(D.negate)B=!1;else if(D.isBoolean()||D.optional)B=!0;else B="";this.setOptionValueWithSource(F,B,A)};if(this.on("option:"+u,(B)=>{let C=`error: option '${D.flags}' argument '${B}' is invalid.`;E(B,C,"cli")}),D.envVar)this.on("optionEnv:"+u,(B)=>{let C=`error: option '${D.flags}' value '${B}' from env '${D.envVar}' is invalid.`;E(B,C,"env")});return this}_optionEx(D,u,F,E,B){if(typeof u==="object"&&u instanceof d0)throw Error("To add an Option object use addOption() instead of option() or requiredOption()");let C=this.createOption(u,F);if(C.makeOptionMandatory(!!D.mandatory),typeof E==="function")C.default(B).argParser(E);else if(E instanceof RegExp){let A=E;E=(_,$)=>{let q=A.exec(_);return q?q[0]:$},C.default(B).argParser(E)}else C.default(E);return this.addOption(C)}option(D,u,F,E){return this._optionEx({},D,u,F,E)}requiredOption(D,u,F,E){return this._optionEx({mandatory:!0},D,u,F,E)}combineFlagAndOptionalValue(D=!0){return this._combineFlagAndOptionalValue=!!D,this}allowUnknownOption(D=!0){return this._allowUnknownOption=!!D,this}allowExcessArguments(D=!0){return this._allowExcessArguments=!!D,this}enablePositionalOptions(D=!0){return this._enablePositionalOptions=!!D,this}passThroughOptions(D=!0){return this._passThroughOptions=!!D,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(D=!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=!!D,this}getOptionValue(D){if(this._storeOptionsAsProperties)return this[D];return this._optionValues[D]}setOptionValue(D,u){return this.setOptionValueWithSource(D,u,void 0)}setOptionValueWithSource(D,u,F){if(this._storeOptionsAsProperties)this[D]=u;else this._optionValues[D]=u;return this._optionValueSources[D]=F,this}getOptionValueSource(D){return this._optionValueSources[D]}getOptionValueSourceWithGlobals(D){let u;return this._getCommandAndAncestors().forEach((F)=>{if(F.getOptionValueSource(D)!==void 0)u=F.getOptionValueSource(D)}),u}_prepareUserArgs(D,u){if(D!==void 0&&!Array.isArray(D))throw Error("first parameter to parse must be array or undefined");if(u=u||{},D===void 0&&u.from===void 0){if(M.versions?.electron)u.from="electron";let E=M.execArgv??[];if(E.includes("-e")||E.includes("--eval")||E.includes("-p")||E.includes("--print"))u.from="eval"}if(D===void 0)D=M.argv;this.rawArgs=D.slice();let F;switch(u.from){case void 0:case"node":this._scriptPath=D[1],F=D.slice(2);break;case"electron":if(M.defaultApp)this._scriptPath=D[1],F=D.slice(2);else F=D.slice(1);break;case"user":F=D.slice(0);break;case"eval":F=D.slice(1);break;default:throw Error(`unexpected parse option { from: '${u.from}' }`)}if(!this._name&&this._scriptPath)this.nameFromFilename(this._scriptPath);return this._name=this._name||"program",F}parse(D,u){this._prepareForParse();let F=this._prepareUserArgs(D,u);return this._parseCommand([],F),this}async parseAsync(D,u){this._prepareForParse();let F=this._prepareUserArgs(D,u);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(D,u,F){if(VD.existsSync(D))return;let E=u?`searched for local subcommand relative to directory '${u}'`:"no directory for search for local subcommand, use .executableDir() to supply a custom directory",B=`'${D}' does not exist
19
+ - if '${F}' is not meant to be an executable command, remove description parameter from '.command()' and use '.description()' instead
20
+ - if the default executable name is not suitable, use the executableFile option to supply a custom name or path
21
+ - ${E}`;throw Error(B)}_executeSubCommand(D,u){u=u.slice();let F=!1,E=[".js",".ts",".tsx",".mjs",".cjs"];function B(q,J){let Z=g.resolve(q,J);if(VD.existsSync(Z))return Z;if(E.includes(g.extname(J)))return;let X=E.find((U)=>VD.existsSync(`${Z}${U}`));if(X)return`${Z}${X}`;return}this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let C=D._executableFile||`${this._name}-${D._name}`,A=this._executableDir||"";if(this._scriptPath){let q;try{q=VD.realpathSync(this._scriptPath)}catch{q=this._scriptPath}A=g.resolve(g.dirname(q),A)}if(A){let q=B(A,C);if(!q&&!D._executableFile&&this._scriptPath){let J=g.basename(this._scriptPath,g.extname(this._scriptPath));if(J!==this._name)q=B(A,`${J}-${D._name}`)}C=q||C}F=E.includes(g.extname(C));let _;if(M.platform!=="win32")if(F)u.unshift(C),u=p0(M.execArgv).concat(u),_=dD.spawn(M.argv[0],u,{stdio:"inherit"});else _=dD.spawn(C,u,{stdio:"inherit"});else this._checkForMissingExecutable(C,A,D._name),u.unshift(C),u=p0(M.execArgv).concat(u),_=dD.spawn(M.execPath,u,{stdio:"inherit"});if(!_.killed)["SIGUSR1","SIGUSR2","SIGTERM","SIGINT","SIGHUP"].forEach((J)=>{M.on(J,()=>{if(_.killed===!1&&_.exitCode===null)_.kill(J)})});let $=this._exitCallback;_.on("close",(q)=>{if(q=q??1,!$)M.exit(q);else $(new cD(q,"commander.executeSubCommandAsync","(close)"))}),_.on("error",(q)=>{if(q.code==="ENOENT")this._checkForMissingExecutable(C,A,D._name);else if(q.code==="EACCES")throw Error(`'${C}' not executable`);if(!$)M.exit(1);else{let J=new cD(1,"commander.executeSubCommandAsync","(error)");J.nestedError=q,$(J)}}),this.runningCommand=_}_dispatchSubcommand(D,u,F){let E=this._findCommand(D);if(!E)this.help({error:!0});E._prepareForParse();let B;return B=this._chainOrCallSubCommandHook(B,E,"preSubcommand"),B=this._chainOrCall(B,()=>{if(E._executableHandler)this._executeSubCommand(E,u.concat(F));else return E._parseCommand(u,F)}),B}_dispatchHelpCommand(D){if(!D)this.help();let u=this._findCommand(D);if(u&&!u._executableHandler)u.help();return this._dispatchSubcommand(D,[],[this._getHelpOption()?.long??this._getHelpOption()?.short??"--help"])}_checkNumberOfArguments(){if(this.registeredArguments.forEach((D,u)=>{if(D.required&&this.args[u]==null)this.missingArgument(D.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 D=(F,E,B)=>{let C=E;if(E!==null&&F.parseArg){let A=`error: command-argument value '${E}' is invalid for argument '${F.name()}'.`;C=this._callParseArg(F,E,B,A)}return C};this._checkNumberOfArguments();let u=[];this.registeredArguments.forEach((F,E)=>{let B=F.defaultValue;if(F.variadic){if(E<this.args.length){if(B=this.args.slice(E),F.parseArg)B=B.reduce((C,A)=>{return D(F,A,C)},F.defaultValue)}else if(B===void 0)B=[]}else if(E<this.args.length){if(B=this.args[E],F.parseArg)B=D(F,B,F.defaultValue)}u[E]=B}),this.processedArgs=u}_chainOrCall(D,u){if(D&&D.then&&typeof D.then==="function")return D.then(()=>u());return u()}_chainOrCallHooks(D,u){let F=D,E=[];if(this._getCommandAndAncestors().reverse().filter((B)=>B._lifeCycleHooks[u]!==void 0).forEach((B)=>{B._lifeCycleHooks[u].forEach((C)=>{E.push({hookedCommand:B,callback:C})})}),u==="postAction")E.reverse();return E.forEach((B)=>{F=this._chainOrCall(F,()=>{return B.callback(B.hookedCommand,this)})}),F}_chainOrCallSubCommandHook(D,u,F){let E=D;if(this._lifeCycleHooks[F]!==void 0)this._lifeCycleHooks[F].forEach((B)=>{E=this._chainOrCall(E,()=>{return B(this,u)})});return E}_parseCommand(D,u){let F=this.parseOptions(u);if(this._parseOptionsEnv(),this._parseOptionsImplied(),D=D.concat(F.operands),u=F.unknown,this.args=D.concat(u),D&&this._findCommand(D[0]))return this._dispatchSubcommand(D[0],D.slice(1),u);if(this._getHelpCommand()&&D[0]===this._getHelpCommand().name())return this._dispatchHelpCommand(D[1]);if(this._defaultCommandName)return this._outputHelpIfRequested(u),this._dispatchSubcommand(this._defaultCommandName,D,u);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 E=()=>{if(F.unknown.length>0)this.unknownOption(F.unknown[0])},B=`command:${this.name()}`;if(this._actionHandler){E(),this._processArguments();let C;if(C=this._chainOrCallHooks(C,"preAction"),C=this._chainOrCall(C,()=>this._actionHandler(this.processedArgs)),this.parent)C=this._chainOrCall(C,()=>{this.parent.emit(B,D,u)});return C=this._chainOrCallHooks(C,"postAction"),C}if(this.parent&&this.parent.listenerCount(B))E(),this._processArguments(),this.parent.emit(B,D,u);else if(D.length){if(this._findCommand("*"))return this._dispatchSubcommand("*",D,u);if(this.listenerCount("command:*"))this.emit("command:*",D,u);else if(this.commands.length)this.unknownCommand();else E(),this._processArguments()}else if(this.commands.length)E(),this.help({error:!0});else E(),this._processArguments()}_findCommand(D){if(!D)return;return this.commands.find((u)=>u._name===D||u._aliases.includes(D))}_findOption(D){return this.options.find((u)=>u.is(D))}_checkForMissingMandatoryOptions(){this._getCommandAndAncestors().forEach((D)=>{D.options.forEach((u)=>{if(u.mandatory&&D.getOptionValue(u.attributeName())===void 0)D.missingMandatoryOptionValue(u)})})}_checkForConflictingLocalOptions(){let D=this.options.filter((F)=>{let E=F.attributeName();if(this.getOptionValue(E)===void 0)return!1;return this.getOptionValueSource(E)!=="default"});D.filter((F)=>F.conflictsWith.length>0).forEach((F)=>{let E=D.find((B)=>F.conflictsWith.includes(B.attributeName()));if(E)this._conflictingOption(F,E)})}_checkForConflictingOptions(){this._getCommandAndAncestors().forEach((D)=>{D._checkForConflictingLocalOptions()})}parseOptions(D){let u=[],F=[],E=u,B=D.slice();function C(_){return _.length>1&&_[0]==="-"}let A=null;while(B.length){let _=B.shift();if(_==="--"){if(E===F)E.push(_);E.push(...B);break}if(A&&!C(_)){this.emit(`option:${A.name()}`,_);continue}if(A=null,C(_)){let $=this._findOption(_);if($){if($.required){let q=B.shift();if(q===void 0)this.optionMissingArgument($);this.emit(`option:${$.name()}`,q)}else if($.optional){let q=null;if(B.length>0&&!C(B[0]))q=B.shift();this.emit(`option:${$.name()}`,q)}else this.emit(`option:${$.name()}`);A=$.variadic?$:null;continue}}if(_.length>2&&_[0]==="-"&&_[1]!=="-"){let $=this._findOption(`-${_[1]}`);if($){if($.required||$.optional&&this._combineFlagAndOptionalValue)this.emit(`option:${$.name()}`,_.slice(2));else this.emit(`option:${$.name()}`),B.unshift(`-${_.slice(2)}`);continue}}if(/^--[^=]+=/.test(_)){let $=_.indexOf("="),q=this._findOption(_.slice(0,$));if(q&&(q.required||q.optional)){this.emit(`option:${q.name()}`,_.slice($+1));continue}}if(C(_))E=F;if((this._enablePositionalOptions||this._passThroughOptions)&&u.length===0&&F.length===0){if(this._findCommand(_)){if(u.push(_),B.length>0)F.push(...B);break}else if(this._getHelpCommand()&&_===this._getHelpCommand().name()){if(u.push(_),B.length>0)u.push(...B);break}else if(this._defaultCommandName){if(F.push(_),B.length>0)F.push(...B);break}}if(this._passThroughOptions){if(E.push(_),B.length>0)E.push(...B);break}E.push(_)}return{operands:u,unknown:F}}opts(){if(this._storeOptionsAsProperties){let D={},u=this.options.length;for(let F=0;F<u;F++){let E=this.options[F].attributeName();D[E]=E===this._versionOptionName?this._version:this[E]}return D}return this._optionValues}optsWithGlobals(){return this._getCommandAndAncestors().reduce((D,u)=>Object.assign(D,u.opts()),{})}error(D,u){if(this._outputConfiguration.outputError(`${D}
22
+ `,this._outputConfiguration.writeErr),typeof this._showHelpAfterError==="string")this._outputConfiguration.writeErr(`${this._showHelpAfterError}
23
+ `);else if(this._showHelpAfterError)this._outputConfiguration.writeErr(`
24
+ `),this.outputHelp({error:!0});let F=u||{},E=F.exitCode||1,B=F.code||"commander.error";this._exit(E,B,D)}_parseOptionsEnv(){this.options.forEach((D)=>{if(D.envVar&&D.envVar in M.env){let u=D.attributeName();if(this.getOptionValue(u)===void 0||["default","config","env"].includes(this.getOptionValueSource(u)))if(D.required||D.optional)this.emit(`optionEnv:${D.name()}`,M.env[D.envVar]);else this.emit(`optionEnv:${D.name()}`)}})}_parseOptionsImplied(){let D=new cF(this.options),u=(F)=>{return this.getOptionValue(F)!==void 0&&!["default","implied"].includes(this.getOptionValueSource(F))};this.options.filter((F)=>F.implied!==void 0&&u(F.attributeName())&&D.valueFromOption(this.getOptionValue(F.attributeName()),F)).forEach((F)=>{Object.keys(F.implied).filter((E)=>!u(E)).forEach((E)=>{this.setOptionValueWithSource(E,F.implied[E],"implied")})})}missingArgument(D){let u=`error: missing required argument '${D}'`;this.error(u,{code:"commander.missingArgument"})}optionMissingArgument(D){let u=`error: option '${D.flags}' argument missing`;this.error(u,{code:"commander.optionMissingArgument"})}missingMandatoryOptionValue(D){let u=`error: required option '${D.flags}' not specified`;this.error(u,{code:"commander.missingMandatoryOptionValue"})}_conflictingOption(D,u){let F=(C)=>{let A=C.attributeName(),_=this.getOptionValue(A),$=this.options.find((J)=>J.negate&&A===J.attributeName()),q=this.options.find((J)=>!J.negate&&A===J.attributeName());if($&&($.presetArg===void 0&&_===!1||$.presetArg!==void 0&&_===$.presetArg))return $;return q||C},E=(C)=>{let A=F(C),_=A.attributeName();if(this.getOptionValueSource(_)==="env")return`environment variable '${A.envVar}'`;return`option '${A.flags}'`},B=`error: ${E(D)} cannot be used with ${E(u)}`;this.error(B,{code:"commander.conflictingOption"})}unknownOption(D){if(this._allowUnknownOption)return;let u="";if(D.startsWith("--")&&this._showSuggestionAfterError){let E=[],B=this;do{let C=B.createHelp().visibleOptions(B).filter((A)=>A.long).map((A)=>A.long);E=E.concat(C),B=B.parent}while(B&&!B._enablePositionalOptions);u=c0(D,E)}let F=`error: unknown option '${D}'${u}`;this.error(F,{code:"commander.unknownOption"})}_excessArguments(D){if(this._allowExcessArguments)return;let u=this.registeredArguments.length,F=u===1?"":"s",B=`error: too many arguments${this.parent?` for '${this.name()}'`:""}. Expected ${u} argument${F} but got ${D.length}.`;this.error(B,{code:"commander.excessArguments"})}unknownCommand(){let D=this.args[0],u="";if(this._showSuggestionAfterError){let E=[];this.createHelp().visibleCommands(this).forEach((B)=>{if(E.push(B.name()),B.alias())E.push(B.alias())}),u=c0(D,E)}let F=`error: unknown command '${D}'${u}`;this.error(F,{code:"commander.unknownCommand"})}version(D,u,F){if(D===void 0)return this._version;this._version=D,u=u||"-V, --version",F=F||"output the version number";let E=this.createOption(u,F);return this._versionOptionName=E.attributeName(),this._registerOption(E),this.on("option:"+E.name(),()=>{this._outputConfiguration.writeOut(`${D}
25
+ `),this._exit(0,"commander.version",D)}),this}description(D,u){if(D===void 0&&u===void 0)return this._description;if(this._description=D,u)this._argsDescription=u;return this}summary(D){if(D===void 0)return this._summary;return this._summary=D,this}alias(D){if(D===void 0)return this._aliases[0];let u=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler)u=this.commands[this.commands.length-1];if(D===u._name)throw Error("Command alias can't be the same as its name");let F=this.parent?._findCommand(D);if(F){let E=[F.name()].concat(F.aliases()).join("|");throw Error(`cannot add alias '${D}' to command '${this.name()}' as already have command '${E}'`)}return u._aliases.push(D),this}aliases(D){if(D===void 0)return this._aliases;return D.forEach((u)=>this.alias(u)),this}usage(D){if(D===void 0){if(this._usage)return this._usage;let u=this.registeredArguments.map((F)=>{return mF(F)});return[].concat(this.options.length||this._helpOption!==null?"[options]":[],this.commands.length?"[command]":[],this.registeredArguments.length?u:[]).join(" ")}return this._usage=D,this}name(D){if(D===void 0)return this._name;return this._name=D,this}nameFromFilename(D){return this._name=g.basename(D,g.extname(D)),this}executableDir(D){if(D===void 0)return this._executableDir;return this._executableDir=D,this}helpInformation(D){let u=this.createHelp(),F=this._getOutputContext(D);u.prepareContext({error:F.error,helpWidth:F.helpWidth,outputHasColors:F.hasColors});let E=u.formatHelp(this,u);if(F.hasColors)return E;return this._outputConfiguration.stripColor(E)}_getOutputContext(D){D=D||{};let u=!!D.error,F,E,B;if(u)F=(A)=>this._outputConfiguration.writeErr(A),E=this._outputConfiguration.getErrHasColors(),B=this._outputConfiguration.getErrHelpWidth();else F=(A)=>this._outputConfiguration.writeOut(A),E=this._outputConfiguration.getOutHasColors(),B=this._outputConfiguration.getOutHelpWidth();return{error:u,write:(A)=>{if(!E)A=this._outputConfiguration.stripColor(A);return F(A)},hasColors:E,helpWidth:B}}outputHelp(D){let u;if(typeof D==="function")u=D,D=void 0;let F=this._getOutputContext(D),E={error:F.error,write:F.write,command:this};this._getCommandAndAncestors().reverse().forEach((C)=>C.emit("beforeAllHelp",E)),this.emit("beforeHelp",E);let B=this.helpInformation({error:F.error});if(u){if(B=u(B),typeof B!=="string"&&!Buffer.isBuffer(B))throw Error("outputHelp callback must return a string or a Buffer")}if(F.write(B),this._getHelpOption()?.long)this.emit(this._getHelpOption().long);this.emit("afterHelp",E),this._getCommandAndAncestors().forEach((C)=>C.emit("afterAllHelp",E))}helpOption(D,u){if(typeof D==="boolean"){if(D)this._helpOption=this._helpOption??void 0;else this._helpOption=null;return this}return D=D??"-h, --help",u=u??"display help for command",this._helpOption=this.createOption(D,u),this}_getHelpOption(){if(this._helpOption===void 0)this.helpOption(void 0,void 0);return this._helpOption}addHelpOption(D){return this._helpOption=D,this}help(D){this.outputHelp(D);let u=Number(M.exitCode??0);if(u===0&&D&&typeof D!=="function"&&D.error)u=1;this._exit(u,"commander.help","(outputHelp)")}addHelpText(D,u){let F=["beforeAll","before","after","afterAll"];if(!F.includes(D))throw Error(`Unexpected value for position to addHelpText.
26
+ Expecting one of '${F.join("', '")}'`);let E=`${D}Help`;return this.on(E,(B)=>{let C;if(typeof u==="function")C=u({error:B.error,command:B.command});else C=u;if(C)B.write(`${C}
27
+ `)}),this}_outputHelpIfRequested(D){let u=this._getHelpOption();if(u&&D.find((E)=>u.is(E)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}function p0(D){return D.map((u)=>{if(!u.startsWith("--inspect"))return u;let F,E="127.0.0.1",B="9229",C;if((C=u.match(/^(--inspect(-brk)?)$/))!==null)F=C[1];else if((C=u.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null)if(F=C[1],/^\d+$/.test(C[3]))B=C[3];else E=C[3];else if((C=u.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null)F=C[1],E=C[3],B=C[4];if(F&&B!=="0")return`${F}=${E}:${parseInt(B)+1}`;return u})}function pD(){if(M.env.NO_COLOR||M.env.FORCE_COLOR==="0"||M.env.FORCE_COLOR==="false")return!1;if(M.env.FORCE_COLOR||M.env.CLICOLOR_FORCE!==void 0)return!0;return}pF.Command=rD;pF.useColor=pD});var t0=O((tF)=>{var{Argument:a0}=WD(),{Command:aD}=r0(),{CommanderError:iF,InvalidArgumentError:i0}=qD(),{Help:nF}=mD(),{Option:n0}=lD();tF.program=new aD;tF.createCommand=(D)=>new aD(D);tF.createOption=(D,u)=>new n0(D,u);tF.createArgument=(D,u)=>new a0(D,u);tF.Command=aD;tF.Option=n0;tF.Argument=a0;tF.Help=nF;tF.CommanderError=iF;tF.InvalidArgumentError=i0;tF.InvalidOptionArgumentError=i0});var Ou=O((h8,J3)=>{J3.exports={dots:{interval:80,frames:["⠋","⠙","⠹","⠸","⠼","⠴","⠦","⠧","⠇","⠏"]},dots2:{interval:80,frames:["⣾","⣽","⣻","⢿","⡿","⣟","⣯","⣷"]},dots3:{interval:80,frames:["⠋","⠙","⠚","⠞","⠖","⠦","⠴","⠲","⠳","⠓"]},dots4:{interval:80,frames:["⠄","⠆","⠇","⠋","⠙","⠸","⠰","⠠","⠰","⠸","⠙","⠋","⠇","⠆"]},dots5:{interval:80,frames:["⠋","⠙","⠚","⠒","⠂","⠂","⠒","⠲","⠴","⠦","⠖","⠒","⠐","⠐","⠒","⠓","⠋"]},dots6:{interval:80,frames:["⠁","⠉","⠙","⠚","⠒","⠂","⠂","⠒","⠲","⠴","⠤","⠄","⠄","⠤","⠴","⠲","⠒","⠂","⠂","⠒","⠚","⠙","⠉","⠁"]},dots7:{interval:80,frames:["⠈","⠉","⠋","⠓","⠒","⠐","⠐","⠒","⠖","⠦","⠤","⠠","⠠","⠤","⠦","⠖","⠒","⠐","⠐","⠒","⠓","⠋","⠉","⠈"]},dots8:{interval:80,frames:["⠁","⠁","⠉","⠙","⠚","⠒","⠂","⠂","⠒","⠲","⠴","⠤","⠄","⠄","⠤","⠠","⠠","⠤","⠦","⠖","⠒","⠐","⠐","⠒","⠓","⠋","⠉","⠈","⠈"]},dots9:{interval:80,frames:["⢹","⢺","⢼","⣸","⣇","⡧","⡗","⡏"]},dots10:{interval:80,frames:["⢄","⢂","⢁","⡁","⡈","⡐","⡠"]},dots11:{interval:100,frames:["⠁","⠂","⠄","⡀","⢀","⠠","⠐","⠈"]},dots12:{interval:80,frames:["⢀⠀","⡀⠀","⠄⠀","⢂⠀","⡂⠀","⠅⠀","⢃⠀","⡃⠀","⠍⠀","⢋⠀","⡋⠀","⠍⠁","⢋⠁","⡋⠁","⠍⠉","⠋⠉","⠋⠉","⠉⠙","⠉⠙","⠉⠩","⠈⢙","⠈⡙","⢈⠩","⡀⢙","⠄⡙","⢂⠩","⡂⢘","⠅⡘","⢃⠨","⡃⢐","⠍⡐","⢋⠠","⡋⢀","⠍⡁","⢋⠁","⡋⠁","⠍⠉","⠋⠉","⠋⠉","⠉⠙","⠉⠙","⠉⠩","⠈⢙","⠈⡙","⠈⠩","⠀⢙","⠀⡙","⠀⠩","⠀⢘","⠀⡘","⠀⠨","⠀⢐","⠀⡐","⠀⠠","⠀⢀","⠀⡀"]},dots13:{interval:80,frames:["⣼","⣹","⢻","⠿","⡟","⣏","⣧","⣶"]},dots8Bit:{interval:80,frames:["⠀","⠁","⠂","⠃","⠄","⠅","⠆","⠇","⡀","⡁","⡂","⡃","⡄","⡅","⡆","⡇","⠈","⠉","⠊","⠋","⠌","⠍","⠎","⠏","⡈","⡉","⡊","⡋","⡌","⡍","⡎","⡏","⠐","⠑","⠒","⠓","⠔","⠕","⠖","⠗","⡐","⡑","⡒","⡓","⡔","⡕","⡖","⡗","⠘","⠙","⠚","⠛","⠜","⠝","⠞","⠟","⡘","⡙","⡚","⡛","⡜","⡝","⡞","⡟","⠠","⠡","⠢","⠣","⠤","⠥","⠦","⠧","⡠","⡡","⡢","⡣","⡤","⡥","⡦","⡧","⠨","⠩","⠪","⠫","⠬","⠭","⠮","⠯","⡨","⡩","⡪","⡫","⡬","⡭","⡮","⡯","⠰","⠱","⠲","⠳","⠴","⠵","⠶","⠷","⡰","⡱","⡲","⡳","⡴","⡵","⡶","⡷","⠸","⠹","⠺","⠻","⠼","⠽","⠾","⠿","⡸","⡹","⡺","⡻","⡼","⡽","⡾","⡿","⢀","⢁","⢂","⢃","⢄","⢅","⢆","⢇","⣀","⣁","⣂","⣃","⣄","⣅","⣆","⣇","⢈","⢉","⢊","⢋","⢌","⢍","⢎","⢏","⣈","⣉","⣊","⣋","⣌","⣍","⣎","⣏","⢐","⢑","⢒","⢓","⢔","⢕","⢖","⢗","⣐","⣑","⣒","⣓","⣔","⣕","⣖","⣗","⢘","⢙","⢚","⢛","⢜","⢝","⢞","⢟","⣘","⣙","⣚","⣛","⣜","⣝","⣞","⣟","⢠","⢡","⢢","⢣","⢤","⢥","⢦","⢧","⣠","⣡","⣢","⣣","⣤","⣥","⣦","⣧","⢨","⢩","⢪","⢫","⢬","⢭","⢮","⢯","⣨","⣩","⣪","⣫","⣬","⣭","⣮","⣯","⢰","⢱","⢲","⢳","⢴","⢵","⢶","⢷","⣰","⣱","⣲","⣳","⣴","⣵","⣶","⣷","⢸","⢹","⢺","⢻","⢼","⢽","⢾","⢿","⣸","⣹","⣺","⣻","⣼","⣽","⣾","⣿"]},sand:{interval:80,frames:["⠁","⠂","⠄","⡀","⡈","⡐","⡠","⣀","⣁","⣂","⣄","⣌","⣔","⣤","⣥","⣦","⣮","⣶","⣷","⣿","⡿","⠿","⢟","⠟","⡛","⠛","⠫","⢋","⠋","⠍","⡉","⠉","⠑","⠡","⢁"]},line:{interval:130,frames:["-","\\","|","/"]},line2:{interval:100,frames:["⠂","-","–","—","–","-"]},pipe:{interval:100,frames:["┤","┘","┴","└","├","┌","┬","┐"]},simpleDots:{interval:400,frames:[". ",".. ","..."," "]},simpleDotsScrolling:{interval:200,frames:[". ",".. ","..."," .."," ."," "]},star:{interval:70,frames:["✶","✸","✹","✺","✹","✷"]},star2:{interval:80,frames:["+","x","*"]},flip:{interval:70,frames:["_","_","_","-","`","`","'","´","-","_","_","_"]},hamburger:{interval:100,frames:["☱","☲","☴"]},growVertical:{interval:120,frames:["▁","▃","▄","▅","▆","▇","▆","▅","▄","▃"]},growHorizontal:{interval:120,frames:["▏","▎","▍","▌","▋","▊","▉","▊","▋","▌","▍","▎"]},balloon:{interval:140,frames:[" ",".","o","O","@","*"," "]},balloon2:{interval:120,frames:[".","o","O","°","O","o","."]},noise:{interval:100,frames:["▓","▒","░"]},bounce:{interval:120,frames:["⠁","⠂","⠄","⠂"]},boxBounce:{interval:120,frames:["▖","▘","▝","▗"]},boxBounce2:{interval:100,frames:["▌","▀","▐","▄"]},triangle:{interval:50,frames:["◢","◣","◤","◥"]},binary:{interval:80,frames:["010010","001100","100101","111010","111101","010111","101011","111000","110011","110101"]},arc:{interval:100,frames:["◜","◠","◝","◞","◡","◟"]},circle:{interval:120,frames:["◡","⊙","◠"]},squareCorners:{interval:180,frames:["◰","◳","◲","◱"]},circleQuarters:{interval:120,frames:["◴","◷","◶","◵"]},circleHalves:{interval:50,frames:["◐","◓","◑","◒"]},squish:{interval:100,frames:["╫","╪"]},toggle:{interval:250,frames:["⊶","⊷"]},toggle2:{interval:80,frames:["▫","▪"]},toggle3:{interval:120,frames:["□","■"]},toggle4:{interval:100,frames:["■","□","▪","▫"]},toggle5:{interval:100,frames:["▮","▯"]},toggle6:{interval:300,frames:["ဝ","၀"]},toggle7:{interval:80,frames:["⦾","⦿"]},toggle8:{interval:100,frames:["◍","◌"]},toggle9:{interval:100,frames:["◉","◎"]},toggle10:{interval:100,frames:["㊂","㊀","㊁"]},toggle11:{interval:50,frames:["⧇","⧆"]},toggle12:{interval:120,frames:["☗","☖"]},toggle13:{interval:80,frames:["=","*","-"]},arrow:{interval:100,frames:["←","↖","↑","↗","→","↘","↓","↙"]},arrow2:{interval:80,frames:["⬆️ ","↗️ ","➡️ ","↘️ ","⬇️ ","↙️ ","⬅️ ","↖️ "]},arrow3:{interval:120,frames:["▹▹▹▹▹","▸▹▹▹▹","▹▸▹▹▹","▹▹▸▹▹","▹▹▹▸▹","▹▹▹▹▸"]},bouncingBar:{interval:80,frames:["[ ]","[= ]","[== ]","[=== ]","[====]","[ ===]","[ ==]","[ =]","[ ]","[ =]","[ ==]","[ ===]","[====]","[=== ]","[== ]","[= ]"]},bouncingBall:{interval:80,frames:["( ● )","( ● )","( ● )","( ● )","( ●)","( ● )","( ● )","( ● )","( ● )","(● )"]},smiley:{interval:200,frames:["😄 ","😝 "]},monkey:{interval:300,frames:["🙈 ","🙈 ","🙉 ","🙊 "]},hearts:{interval:100,frames:["💛 ","💙 ","💜 ","💚 ","❤️ "]},clock:{interval:100,frames:["🕛 ","🕐 ","🕑 ","🕒 ","🕓 ","🕔 ","🕕 ","🕖 ","🕗 ","🕘 ","🕙 ","🕚 "]},earth:{interval:180,frames:["🌍 ","🌎 ","🌏 "]},material:{interval:17,frames:["█▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁","██▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁","███▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁","████▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁","██████▁▁▁▁▁▁▁▁▁▁▁▁▁▁","██████▁▁▁▁▁▁▁▁▁▁▁▁▁▁","███████▁▁▁▁▁▁▁▁▁▁▁▁▁","████████▁▁▁▁▁▁▁▁▁▁▁▁","█████████▁▁▁▁▁▁▁▁▁▁▁","█████████▁▁▁▁▁▁▁▁▁▁▁","██████████▁▁▁▁▁▁▁▁▁▁","███████████▁▁▁▁▁▁▁▁▁","█████████████▁▁▁▁▁▁▁","██████████████▁▁▁▁▁▁","██████████████▁▁▁▁▁▁","▁██████████████▁▁▁▁▁","▁██████████████▁▁▁▁▁","▁██████████████▁▁▁▁▁","▁▁██████████████▁▁▁▁","▁▁▁██████████████▁▁▁","▁▁▁▁█████████████▁▁▁","▁▁▁▁██████████████▁▁","▁▁▁▁██████████████▁▁","▁▁▁▁▁██████████████▁","▁▁▁▁▁██████████████▁","▁▁▁▁▁██████████████▁","▁▁▁▁▁▁██████████████","▁▁▁▁▁▁██████████████","▁▁▁▁▁▁▁█████████████","▁▁▁▁▁▁▁█████████████","▁▁▁▁▁▁▁▁████████████","▁▁▁▁▁▁▁▁████████████","▁▁▁▁▁▁▁▁▁███████████","▁▁▁▁▁▁▁▁▁███████████","▁▁▁▁▁▁▁▁▁▁██████████","▁▁▁▁▁▁▁▁▁▁██████████","▁▁▁▁▁▁▁▁▁▁▁▁████████","▁▁▁▁▁▁▁▁▁▁▁▁▁███████","▁▁▁▁▁▁▁▁▁▁▁▁▁▁██████","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█████","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█████","█▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████","██▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███","██▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███","███▁▁▁▁▁▁▁▁▁▁▁▁▁▁███","████▁▁▁▁▁▁▁▁▁▁▁▁▁▁██","█████▁▁▁▁▁▁▁▁▁▁▁▁▁▁█","█████▁▁▁▁▁▁▁▁▁▁▁▁▁▁█","██████▁▁▁▁▁▁▁▁▁▁▁▁▁█","████████▁▁▁▁▁▁▁▁▁▁▁▁","█████████▁▁▁▁▁▁▁▁▁▁▁","█████████▁▁▁▁▁▁▁▁▁▁▁","█████████▁▁▁▁▁▁▁▁▁▁▁","█████████▁▁▁▁▁▁▁▁▁▁▁","███████████▁▁▁▁▁▁▁▁▁","████████████▁▁▁▁▁▁▁▁","████████████▁▁▁▁▁▁▁▁","██████████████▁▁▁▁▁▁","██████████████▁▁▁▁▁▁","▁██████████████▁▁▁▁▁","▁██████████████▁▁▁▁▁","▁▁▁█████████████▁▁▁▁","▁▁▁▁▁████████████▁▁▁","▁▁▁▁▁████████████▁▁▁","▁▁▁▁▁▁███████████▁▁▁","▁▁▁▁▁▁▁▁█████████▁▁▁","▁▁▁▁▁▁▁▁█████████▁▁▁","▁▁▁▁▁▁▁▁▁█████████▁▁","▁▁▁▁▁▁▁▁▁█████████▁▁","▁▁▁▁▁▁▁▁▁▁█████████▁","▁▁▁▁▁▁▁▁▁▁▁████████▁","▁▁▁▁▁▁▁▁▁▁▁████████▁","▁▁▁▁▁▁▁▁▁▁▁▁███████▁","▁▁▁▁▁▁▁▁▁▁▁▁███████▁","▁▁▁▁▁▁▁▁▁▁▁▁▁███████","▁▁▁▁▁▁▁▁▁▁▁▁▁███████","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█████","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁██","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁██","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁██","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁"]},moon:{interval:80,frames:["🌑 ","🌒 ","🌓 ","🌔 ","🌕 ","🌖 ","🌗 ","🌘 "]},runner:{interval:140,frames:["🚶 ","🏃 "]},pong:{interval:80,frames:["▐⠂ ▌","▐⠈ ▌","▐ ⠂ ▌","▐ ⠠ ▌","▐ ⡀ ▌","▐ ⠠ ▌","▐ ⠂ ▌","▐ ⠈ ▌","▐ ⠂ ▌","▐ ⠠ ▌","▐ ⡀ ▌","▐ ⠠ ▌","▐ ⠂ ▌","▐ ⠈ ▌","▐ ⠂▌","▐ ⠠▌","▐ ⡀▌","▐ ⠠ ▌","▐ ⠂ ▌","▐ ⠈ ▌","▐ ⠂ ▌","▐ ⠠ ▌","▐ ⡀ ▌","▐ ⠠ ▌","▐ ⠂ ▌","▐ ⠈ ▌","▐ ⠂ ▌","▐ ⠠ ▌","▐ ⡀ ▌","▐⠠ ▌"]},shark:{interval:120,frames:["▐|\\____________▌","▐_|\\___________▌","▐__|\\__________▌","▐___|\\_________▌","▐____|\\________▌","▐_____|\\_______▌","▐______|\\______▌","▐_______|\\_____▌","▐________|\\____▌","▐_________|\\___▌","▐__________|\\__▌","▐___________|\\_▌","▐____________|\\▌","▐____________/|▌","▐___________/|_▌","▐__________/|__▌","▐_________/|___▌","▐________/|____▌","▐_______/|_____▌","▐______/|______▌","▐_____/|_______▌","▐____/|________▌","▐___/|_________▌","▐__/|__________▌","▐_/|___________▌","▐/|____________▌"]},dqpb:{interval:100,frames:["d","q","p","b"]},weather:{interval:100,frames:["☀️ ","☀️ ","☀️ ","🌤 ","⛅️ ","🌥 ","☁️ ","🌧 ","🌨 ","🌧 ","🌨 ","🌧 ","🌨 ","⛈ ","🌨 ","🌧 ","🌨 ","☁️ ","🌥 ","⛅️ ","🌤 ","☀️ ","☀️ "]},christmas:{interval:400,frames:["🌲","🎄"]},grenade:{interval:80,frames:["، ","′ "," ´ "," ‾ "," ⸌"," ⸊"," |"," ⁎"," ⁕"," ෴ "," ⁓"," "," "," "]},point:{interval:125,frames:["∙∙∙","●∙∙","∙●∙","∙∙●","∙∙∙"]},layer:{interval:150,frames:["-","=","≡"]},betaWave:{interval:80,frames:["ρββββββ","βρβββββ","ββρββββ","βββρβββ","ββββρββ","βββββρβ","ββββββρ"]},fingerDance:{interval:160,frames:["🤘 ","🤟 ","🖖 ","✋ ","🤚 ","👆 "]},fistBump:{interval:80,frames:["🤜    🤛 ","🤜    🤛 ","🤜    🤛 "," 🤜  🤛  ","  🤜🤛   "," 🤜✨🤛   ","🤜 ✨ 🤛  "]},soccerHeader:{interval:80,frames:[" 🧑⚽️ 🧑 ","🧑 ⚽️ 🧑 ","🧑 ⚽️ 🧑 ","🧑 ⚽️ 🧑 ","🧑 ⚽️ 🧑 ","🧑 ⚽️ 🧑 ","🧑 ⚽️🧑 ","🧑 ⚽️ 🧑 ","🧑 ⚽️ 🧑 ","🧑 ⚽️ 🧑 ","🧑 ⚽️ 🧑 ","🧑 ⚽️ 🧑 "]},mindblown:{interval:160,frames:["😐 ","😐 ","😮 ","😮 ","😦 ","😦 ","😧 ","😧 ","🤯 ","💥 ","✨ ","  ","  ","  "]},speaker:{interval:160,frames:["🔈 ","🔉 ","🔊 ","🔉 "]},orangePulse:{interval:100,frames:["🔸 ","🔶 ","🟠 ","🟠 ","🔶 "]},bluePulse:{interval:100,frames:["🔹 ","🔷 ","🔵 ","🔵 ","🔷 "]},orangeBluePulse:{interval:100,frames:["🔸 ","🔶 ","🟠 ","🟠 ","🔶 ","🔹 ","🔷 ","🔵 ","🔵 ","🔷 "]},timeTravel:{interval:100,frames:["🕛 ","🕚 ","🕙 ","🕘 ","🕗 ","🕖 ","🕕 ","🕔 ","🕓 ","🕒 ","🕑 ","🕐 "]},aesthetic:{interval:80,frames:["▰▱▱▱▱▱▱","▰▰▱▱▱▱▱","▰▰▰▱▱▱▱","▰▰▰▰▱▱▱","▰▰▰▰▰▱▱","▰▰▰▰▰▰▱","▰▰▰▰▰▰▰","▰▱▱▱▱▱▱"]},dwarfFortress:{interval:80,frames:[" ██████£££ ","☺██████£££ ","☺██████£££ ","☺▓█████£££ ","☺▓█████£££ ","☺▒█████£££ ","☺▒█████£££ ","☺░█████£££ ","☺░█████£££ ","☺ █████£££ "," ☺█████£££ "," ☺█████£££ "," ☺▓████£££ "," ☺▓████£££ "," ☺▒████£££ "," ☺▒████£££ "," ☺░████£££ "," ☺░████£££ "," ☺ ████£££ "," ☺████£££ "," ☺████£££ "," ☺▓███£££ "," ☺▓███£££ "," ☺▒███£££ "," ☺▒███£££ "," ☺░███£££ "," ☺░███£££ "," ☺ ███£££ "," ☺███£££ "," ☺███£££ "," ☺▓██£££ "," ☺▓██£££ "," ☺▒██£££ "," ☺▒██£££ "," ☺░██£££ "," ☺░██£££ "," ☺ ██£££ "," ☺██£££ "," ☺██£££ "," ☺▓█£££ "," ☺▓█£££ "," ☺▒█£££ "," ☺▒█£££ "," ☺░█£££ "," ☺░█£££ "," ☺ █£££ "," ☺█£££ "," ☺█£££ "," ☺▓£££ "," ☺▓£££ "," ☺▒£££ "," ☺▒£££ "," ☺░£££ "," ☺░£££ "," ☺ £££ "," ☺£££ "," ☺£££ "," ☺▓££ "," ☺▓££ "," ☺▒££ "," ☺▒££ "," ☺░££ "," ☺░££ "," ☺ ££ "," ☺££ "," ☺££ "," ☺▓£ "," ☺▓£ "," ☺▒£ "," ☺▒£ "," ☺░£ "," ☺░£ "," ☺ £ "," ☺£ "," ☺£ "," ☺▓ "," ☺▓ "," ☺▒ "," ☺▒ "," ☺░ "," ☺░ "," ☺ "," ☺ &"," ☺ ☼&"," ☺ ☼ &"," ☺☼ &"," ☺☼ & "," ‼ & "," ☺ & "," ‼ & "," ☺ & "," ‼ & "," ☺ & ","‼ & "," & "," & "," & ░ "," & ▒ "," & ▓ "," & £ "," & ░£ "," & ▒£ "," & ▓£ "," & ££ "," & ░££ "," & ▒££ ","& ▓££ ","& £££ "," ░£££ "," ▒£££ "," ▓£££ "," █£££ "," ░█£££ "," ▒█£££ "," ▓█£££ "," ██£££ "," ░██£££ "," ▒██£££ "," ▓██£££ "," ███£££ "," ░███£££ "," ▒███£££ "," ▓███£££ "," ████£££ "," ░████£££ "," ▒████£££ "," ▓████£££ "," █████£££ "," ░█████£££ "," ▒█████£££ "," ▓█████£££ "," ██████£££ "," ██████£££ "]}}});var G0=O((f8,yu)=>{var wD=Object.assign({},Ou()),Su=Object.keys(wD);Object.defineProperty(wD,"random",{get(){let D=Math.floor(Math.random()*Su.length),u=Su[D];return wD[u]}});yu.exports=wD});var mu=O((o8,gu)=>{gu.exports=()=>{return/[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\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?|[\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](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E-\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\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-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED8\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])))?))?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3C-\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE8A\uDE8E-\uDEC2\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF]|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g}});var o=O((HE,L0)=>{var OD=process||{},ru=OD.argv||[],kD=OD.env||{},V3=!(!!kD.NO_COLOR||ru.includes("--no-color"))&&(!!kD.FORCE_COLOR||ru.includes("--color")||OD.platform==="win32"||(OD.stdout||{}).isTTY&&kD.TERM!=="dumb"||!!kD.CI),K3=(D,u,F=D)=>(E)=>{let B=""+E,C=B.indexOf(u,D.length);return~C?D+L3(B,u,F,C)+u:D+B+u},L3=(D,u,F,E)=>{let B="",C=0;do B+=D.substring(C,E)+F,C=E+u.length,E=D.indexOf(u,C);while(~E);return B+D.substring(C)},au=(D=V3)=>{let u=D?K3:()=>String;return{isColorSupported:D,reset:u("\x1B[0m","\x1B[0m"),bold:u("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:u("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:u("\x1B[3m","\x1B[23m"),underline:u("\x1B[4m","\x1B[24m"),inverse:u("\x1B[7m","\x1B[27m"),hidden:u("\x1B[8m","\x1B[28m"),strikethrough:u("\x1B[9m","\x1B[29m"),black:u("\x1B[30m","\x1B[39m"),red:u("\x1B[31m","\x1B[39m"),green:u("\x1B[32m","\x1B[39m"),yellow:u("\x1B[33m","\x1B[39m"),blue:u("\x1B[34m","\x1B[39m"),magenta:u("\x1B[35m","\x1B[39m"),cyan:u("\x1B[36m","\x1B[39m"),white:u("\x1B[37m","\x1B[39m"),gray:u("\x1B[90m","\x1B[39m"),bgBlack:u("\x1B[40m","\x1B[49m"),bgRed:u("\x1B[41m","\x1B[49m"),bgGreen:u("\x1B[42m","\x1B[49m"),bgYellow:u("\x1B[43m","\x1B[49m"),bgBlue:u("\x1B[44m","\x1B[49m"),bgMagenta:u("\x1B[45m","\x1B[49m"),bgCyan:u("\x1B[46m","\x1B[49m"),bgWhite:u("\x1B[47m","\x1B[49m"),blackBright:u("\x1B[90m","\x1B[39m"),redBright:u("\x1B[91m","\x1B[39m"),greenBright:u("\x1B[92m","\x1B[39m"),yellowBright:u("\x1B[93m","\x1B[39m"),blueBright:u("\x1B[94m","\x1B[39m"),magentaBright:u("\x1B[95m","\x1B[39m"),cyanBright:u("\x1B[96m","\x1B[39m"),whiteBright:u("\x1B[97m","\x1B[39m"),bgBlackBright:u("\x1B[100m","\x1B[49m"),bgRedBright:u("\x1B[101m","\x1B[49m"),bgGreenBright:u("\x1B[102m","\x1B[49m"),bgYellowBright:u("\x1B[103m","\x1B[49m"),bgBlueBright:u("\x1B[104m","\x1B[49m"),bgMagentaBright:u("\x1B[105m","\x1B[49m"),bgCyanBright:u("\x1B[106m","\x1B[49m"),bgWhiteBright:u("\x1B[107m","\x1B[49m")}};L0.exports=au();L0.exports.createColors=au});var s0=w(t0(),1),{program:m,createCommand:E1,createArgument:B1,createOption:C1,CommanderError:_1,InvalidArgumentError:A1,InvalidOptionArgumentError:$1,Command:q1,Argument:J1,Option:Q1,Help:Z1}=s0.default;import{randomUUID as k3}from"node:crypto";import B0 from"node:process";import{Buffer as qu}from"node:buffer";import Ju from"node:path";import{fileURLToPath as k2}from"node:url";import{promisify as O2}from"node:util";import Qu from"node:child_process";import S2,{constants as y2}from"node:fs/promises";import uu from"node:process";import Fu,{constants as X2}from"node:fs/promises";import Du from"node:process";import Z2 from"node:os";import Y2 from"node:fs";import J2 from"node:fs";import o0 from"node:fs";var iD;function $2(){try{return o0.statSync("/.dockerenv"),!0}catch{return!1}}function q2(){try{return o0.readFileSync("/proc/self/cgroup","utf8").includes("docker")}catch{return!1}}function nD(){if(iD===void 0)iD=$2()||q2();return iD}var tD,Q2=()=>{try{return J2.statSync("/run/.containerenv"),!0}catch{return!1}};function DD(){if(tD===void 0)tD=Q2()||nD();return tD}var e0=()=>{if(Du.platform!=="linux")return!1;if(Z2.release().toLowerCase().includes("microsoft")){if(DD())return!1;return!0}try{return Y2.readFileSync("/proc/version","utf8").toLowerCase().includes("microsoft")?!DD():!1}catch{return!1}},c=Du.env.__IS_WSL_TEST__?e0:e0();var M2=(()=>{let u;return async function(){if(u)return u;let F="/etc/wsl.conf",E=!1;try{await Fu.access(F,X2.F_OK),E=!0}catch{}if(!E)return"/mnt/";let B=await Fu.readFile(F,{encoding:"utf8"}),C=/(?<!#.*)root\s*=\s*(?<mountPoint>.*)/g.exec(B);if(!C)return"/mnt/";return u=C.groups.mountPoint.trim(),u=u.endsWith("/")?u:`${u}/`,u}})(),G2=async()=>{return`${await M2()}c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe`},sD=async()=>{if(c)return G2();return`${uu.env.SYSTEMROOT||uu.env.windir||String.raw`C:\Windows`}\\System32\\WindowsPowerShell\\v1.0\\powershell.exe`};function p(D,u,F){let E=(B)=>Object.defineProperty(D,u,{value:B,enumerable:!0,writable:!0});return Object.defineProperty(D,u,{configurable:!0,enumerable:!0,get(){let B=F();return E(B),B},set(B){E(B)}}),D}import{promisify as I2}from"node:util";import F0 from"node:process";import{execFile as b2}from"node:child_process";import{promisify as H2}from"node:util";import z2 from"node:process";import{execFile as U2}from"node:child_process";var W2=H2(U2);async function oD(){if(z2.platform!=="darwin")throw Error("macOS only");let{stdout:D}=await W2("defaults",["read","com.apple.LaunchServices/com.apple.launchservices.secure","LSHandlers"]),F=/LSHandlerRoleAll = "(?!-)(?<id>[^"]+?)";\s+?LSHandlerURLScheme = (?:http|https);/.exec(D)?.groups.id??"com.apple.Safari";if(F==="com.apple.safari")return"com.apple.Safari";return F}import V2 from"node:process";import{promisify as K2}from"node:util";import{execFile as L2,execFileSync as x1}from"node:child_process";var R2=K2(L2);async function Eu(D,{humanReadableOutput:u=!0,signal:F}={}){if(V2.platform!=="darwin")throw Error("macOS only");let E=u?[]:["-ss"],B={};if(F)B.signal=F;let{stdout:C}=await R2("osascript",["-e",D,E],B);return C.trim()}async function eD(D){return Eu(`tell application "Finder" to set app_path to application file id "${D}" as string
28
+ tell application "System Events" to get value of property list item "CFBundleName" of property list file (app_path & ":Contents:Info.plist")`)}import{promisify as j2}from"node:util";import{execFile as T2}from"node:child_process";var N2=j2(T2),Bu={MSEdgeHTM:{name:"Edge",id:"com.microsoft.edge"},MSEdgeBHTML:{name:"Edge Beta",id:"com.microsoft.edge.beta"},MSEdgeDHTML:{name:"Edge Dev",id:"com.microsoft.edge.dev"},AppXq0fevzme2pys62n3e0fbqa7peapykr8v:{name:"Edge",id:"com.microsoft.edge.old"},ChromeHTML:{name:"Chrome",id:"com.google.chrome"},ChromeBHTML:{name:"Chrome Beta",id:"com.google.chrome.beta"},ChromeDHTML:{name:"Chrome Dev",id:"com.google.chrome.dev"},ChromiumHTM:{name:"Chromium",id:"org.chromium.Chromium"},BraveHTML:{name:"Brave",id:"com.brave.Browser"},BraveBHTML:{name:"Brave Beta",id:"com.brave.Browser.beta"},BraveDHTML:{name:"Brave Dev",id:"com.brave.Browser.dev"},BraveSSHTM:{name:"Brave Nightly",id:"com.brave.Browser.nightly"},FirefoxURL:{name:"Firefox",id:"org.mozilla.firefox"},OperaStable:{name:"Opera",id:"com.operasoftware.Opera"},VivaldiHTM:{name:"Vivaldi",id:"com.vivaldi.Vivaldi"},"IE.HTTP":{name:"Internet Explorer",id:"com.microsoft.ie"}},d1=new Map(Object.entries(Bu));class D0 extends Error{}async function u0(D=N2){let{stdout:u}=await D("reg",["QUERY"," HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\Shell\\Associations\\UrlAssociations\\http\\UserChoice","/v","ProgId"]),F=/ProgId\s*REG_SZ\s*(?<id>\S+)/.exec(u);if(!F)throw new D0(`Cannot find Windows browser in stdout: ${JSON.stringify(u)}`);let{id:E}=F.groups,B=Bu[E];if(!B)throw new D0(`Unknown browser ID: ${E}`);return B}var w2=I2(b2),P2=(D)=>D.toLowerCase().replaceAll(/(?:^|\s|-)\S/g,(u)=>u.toUpperCase());async function E0(){if(F0.platform==="darwin"){let D=await oD();return{name:await eD(D),id:D}}if(F0.platform==="linux"){let{stdout:D}=await w2("xdg-mime",["query","default","x-scheme-handler/http"]),u=D.trim();return{name:P2(u.replace(/.desktop$/,"").replace("-"," ")),id:u}}if(F0.platform==="win32")return u0();throw Error("Only macOS, Linux, and Windows are supported")}var v2=O2(Qu.execFile),C0=Ju.dirname(k2(import.meta.url)),Cu=Ju.join(C0,"xdg-open"),{platform:uD,arch:_u}=B0;async function x2(){let D=await sD(),u=String.raw`(Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice").ProgId`,F=qu.from(u,"utf16le").toString("base64"),{stdout:E}=await v2(D,["-NoProfile","-NonInteractive","-ExecutionPolicy","Bypass","-EncodedCommand",F],{encoding:"utf8"}),B=E.trim(),C={ChromeHTML:"com.google.chrome",BraveHTML:"com.brave.Browser",MSEdgeHTM:"com.microsoft.edge",FirefoxURL:"org.mozilla.firefox"};return C[B]?{id:C[B]}:{}}var Au=async(D,u)=>{let F;for(let E of D)try{return await u(E)}catch(B){F=B}throw F},KD=async(D)=>{if(D={wait:!1,background:!1,newInstance:!1,allowNonzeroExitCode:!1,...D},Array.isArray(D.app))return Au(D.app,(_)=>KD({...D,app:_}));let{name:u,arguments:F=[]}=D.app??{};if(F=[...F],Array.isArray(u))return Au(u,(_)=>KD({...D,app:{name:_,arguments:F}}));if(u==="browser"||u==="browserPrivate"){let _={"com.google.chrome":"chrome","google-chrome.desktop":"chrome","com.brave.Browser":"brave","org.mozilla.firefox":"firefox","firefox.desktop":"firefox","com.microsoft.msedge":"edge","com.microsoft.edge":"edge","com.microsoft.edgemac":"edge","microsoft-edge.desktop":"edge"},$={chrome:"--incognito",brave:"--incognito",firefox:"--private-window",edge:"--inPrivate"},q=c?await x2():await E0();if(q.id in _){let J=_[q.id];if(u==="browserPrivate")F.push($[J]);return KD({...D,app:{name:t[J],arguments:F}})}throw Error(`${q.name} is not supported as a default browser`)}let E,B=[],C={};if(uD==="darwin"){if(E="open",D.wait)B.push("--wait-apps");if(D.background)B.push("--background");if(D.newInstance)B.push("--new");if(u)B.push("-a",u)}else if(uD==="win32"||c&&!DD()&&!u){if(E=await sD(),B.push("-NoProfile","-NonInteractive","-ExecutionPolicy","Bypass","-EncodedCommand"),!c)C.windowsVerbatimArguments=!0;let _=["Start"];if(D.wait)_.push("-Wait");if(u){if(_.push(`"\`"${u}\`""`),D.target)F.push(D.target)}else if(D.target)_.push(`"${D.target}"`);if(F.length>0)F=F.map(($)=>`"\`"${$}\`""`),_.push("-ArgumentList",F.join(","));D.target=qu.from(_.join(" "),"utf16le").toString("base64")}else{if(u)E=u;else{let _=!C0||C0==="/",$=!1;try{await S2.access(Cu,y2.X_OK),$=!0}catch{}E=B0.versions.electron??(uD==="android"||_||!$)?"xdg-open":Cu}if(F.length>0)B.push(...F);if(!D.wait)C.stdio="ignore",C.detached=!0}if(uD==="darwin"&&F.length>0)B.push("--args",...F);if(D.target)B.push(D.target);let A=Qu.spawn(E,B,C);if(D.wait)return new Promise((_,$)=>{A.once("error",$),A.once("close",(q)=>{if(!D.allowNonzeroExitCode&&q>0){$(Error(`Exited with code ${q}`));return}_(A)})});return A.unref(),A},h2=(D,u)=>{if(typeof D!=="string")throw TypeError("Expected a `target`");return KD({...u,target:D})};function $u(D){if(typeof D==="string"||Array.isArray(D))return D;let{[_u]:u}=D;if(!u)throw Error(`${_u} is not supported`);return u}function LD({[uD]:D},{wsl:u}){if(u&&c)return $u(u);if(!D)throw Error(`${uD} is not supported`);return $u(D)}var t={};p(t,"chrome",()=>LD({darwin:"google chrome",win32:"chrome",linux:["google-chrome","google-chrome-stable","chromium"]},{wsl:{ia32:"/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe",x64:["/mnt/c/Program Files/Google/Chrome/Application/chrome.exe","/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe"]}}));p(t,"brave",()=>LD({darwin:"brave browser",win32:"brave",linux:["brave-browser","brave"]},{wsl:{ia32:"/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe",x64:["/mnt/c/Program Files/BraveSoftware/Brave-Browser/Application/brave.exe","/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe"]}}));p(t,"firefox",()=>LD({darwin:"firefox",win32:String.raw`C:\Program Files\Mozilla Firefox\firefox.exe`,linux:"firefox"},{wsl:"/mnt/c/Program Files/Mozilla Firefox/firefox.exe"}));p(t,"edge",()=>LD({darwin:"microsoft edge",win32:"msedge",linux:["microsoft-edge","microsoft-edge-dev"]},{wsl:"/mnt/c/Program Files (x86)/Microsoft/Edge/Application/msedge.exe"}));p(t,"browser",()=>"browser");p(t,"browserPrivate",()=>"browserPrivate");var Zu=h2;import PD from"node:process";var Yu=(D=0)=>(u)=>`\x1B[${u+D}m`,Xu=(D=0)=>(u)=>`\x1B[${38+D};5;${u}m`,Mu=(D=0)=>(u,F,E)=>`\x1B[${38+D};2;${u};${F};${E}m`,H={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]}},J8=Object.keys(H.modifier),f2=Object.keys(H.color),g2=Object.keys(H.bgColor),Q8=[...f2,...g2];function m2(){let D=new Map;for(let[u,F]of Object.entries(H)){for(let[E,B]of Object.entries(F))H[E]={open:`\x1B[${B[0]}m`,close:`\x1B[${B[1]}m`},F[E]=H[E],D.set(B[0],B[1]);Object.defineProperty(H,u,{value:F,enumerable:!1})}return Object.defineProperty(H,"codes",{value:D,enumerable:!1}),H.color.close="\x1B[39m",H.bgColor.close="\x1B[49m",H.color.ansi=Yu(),H.color.ansi256=Xu(),H.color.ansi16m=Mu(),H.bgColor.ansi=Yu(10),H.bgColor.ansi256=Xu(10),H.bgColor.ansi16m=Mu(10),Object.defineProperties(H,{rgbToAnsi256:{value(u,F,E){if(u===F&&F===E){if(u<8)return 16;if(u>248)return 231;return Math.round((u-8)/247*24)+232}return 16+36*Math.round(u/255*5)+6*Math.round(F/255*5)+Math.round(E/255*5)},enumerable:!1},hexToRgb:{value(u){let F=/[a-f\d]{6}|[a-f\d]{3}/i.exec(u.toString(16));if(!F)return[0,0,0];let[E]=F;if(E.length===3)E=[...E].map((C)=>C+C).join("");let B=Number.parseInt(E,16);return[B>>16&255,B>>8&255,B&255]},enumerable:!1},hexToAnsi256:{value:(u)=>H.rgbToAnsi256(...H.hexToRgb(u)),enumerable:!1},ansi256ToAnsi:{value(u){if(u<8)return 30+u;if(u<16)return 90+(u-8);let F,E,B;if(u>=232)F=((u-232)*10+8)/255,E=F,B=F;else{u-=16;let _=u%36;F=Math.floor(u/36)/5,E=Math.floor(_/6)/5,B=_%6/5}let C=Math.max(F,E,B)*2;if(C===0)return 30;let A=30+(Math.round(B)<<2|Math.round(E)<<1|Math.round(F));if(C===2)A+=60;return A},enumerable:!1},rgbToAnsi:{value:(u,F,E)=>H.ansi256ToAnsi(H.rgbToAnsi256(u,F,E)),enumerable:!1},hexToAnsi:{value:(u)=>H.ansi256ToAnsi(H.hexToAnsi256(u)),enumerable:!1}}),H}var l2=m2(),S=l2;import _0 from"node:process";import d2 from"node:os";import Gu from"node:tty";function P(D,u=globalThis.Deno?globalThis.Deno.args:_0.argv){let F=D.startsWith("-")?"":D.length===1?"-":"--",E=u.indexOf(F+D),B=u.indexOf("--");return E!==-1&&(B===-1||E<B)}var{env:z}=_0,RD;if(P("no-color")||P("no-colors")||P("color=false")||P("color=never"))RD=0;else if(P("color")||P("colors")||P("color=true")||P("color=always"))RD=1;function c2(){if("FORCE_COLOR"in z){if(z.FORCE_COLOR==="true")return 1;if(z.FORCE_COLOR==="false")return 0;return z.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(z.FORCE_COLOR,10),3)}}function p2(D){if(D===0)return!1;return{level:D,hasBasic:!0,has256:D>=2,has16m:D>=3}}function r2(D,{streamIsTTY:u,sniffFlags:F=!0}={}){let E=c2();if(E!==void 0)RD=E;let B=F?RD:E;if(B===0)return 0;if(F){if(P("color=16m")||P("color=full")||P("color=truecolor"))return 3;if(P("color=256"))return 2}if("TF_BUILD"in z&&"AGENT_NAME"in z)return 1;if(D&&!u&&B===void 0)return 0;let C=B||0;if(z.TERM==="dumb")return C;if(_0.platform==="win32"){let A=d2.release().split(".");if(Number(A[0])>=10&&Number(A[2])>=10586)return Number(A[2])>=14931?3:2;return 1}if("CI"in z){if(["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some((A)=>(A in z)))return 3;if(["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some((A)=>(A in z))||z.CI_NAME==="codeship")return 1;return C}if("TEAMCITY_VERSION"in z)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(z.TEAMCITY_VERSION)?1:0;if(z.COLORTERM==="truecolor")return 3;if(z.TERM==="xterm-kitty")return 3;if(z.TERM==="xterm-ghostty")return 3;if(z.TERM==="wezterm")return 3;if("TERM_PROGRAM"in z){let A=Number.parseInt((z.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(z.TERM_PROGRAM){case"iTerm.app":return A>=3?3:2;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(z.TERM))return 2;if(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(z.TERM))return 1;if("COLORTERM"in z)return 1;return C}function Hu(D,u={}){let F=r2(D,{streamIsTTY:D&&D.isTTY,...u});return p2(F)}var a2={stdout:Hu({isTTY:Gu.isatty(1)}),stderr:Hu({isTTY:Gu.isatty(2)})},zu=a2;function Uu(D,u,F){let E=D.indexOf(u);if(E===-1)return D;let B=u.length,C=0,A="";do A+=D.slice(C,E)+u+F,C=E+B,E=D.indexOf(u,C);while(E!==-1);return A+=D.slice(C),A}function Wu(D,u,F,E){let B=0,C="";do{let A=D[E-1]==="\r";C+=D.slice(B,A?E-1:E)+u+(A?`\r
29
+ `:`
30
+ `)+F,B=E+1,E=D.indexOf(`
31
+ `,B)}while(E!==-1);return C+=D.slice(B),C}var{stdout:Vu,stderr:Ku}=zu,A0=Symbol("GENERATOR"),FD=Symbol("STYLER"),JD=Symbol("IS_EMPTY"),Lu=["ansi","ansi","ansi256","ansi16m"],ED=Object.create(null),i2=(D,u={})=>{if(u.level&&!(Number.isInteger(u.level)&&u.level>=0&&u.level<=3))throw Error("The `level` option should be an integer from 0 to 3");let F=Vu?Vu.level:0;D.level=u.level===void 0?F:u.level};var n2=(D)=>{let u=(...F)=>F.join(" ");return i2(u,D),Object.setPrototypeOf(u,QD.prototype),u};function QD(D){return n2(D)}Object.setPrototypeOf(QD.prototype,Function.prototype);for(let[D,u]of Object.entries(S))ED[D]={get(){let F=jD(this,q0(u.open,u.close,this[FD]),this[JD]);return Object.defineProperty(this,D,{value:F}),F}};ED.visible={get(){let D=jD(this,this[FD],!0);return Object.defineProperty(this,"visible",{value:D}),D}};var $0=(D,u,F,...E)=>{if(D==="rgb"){if(u==="ansi16m")return S[F].ansi16m(...E);if(u==="ansi256")return S[F].ansi256(S.rgbToAnsi256(...E));return S[F].ansi(S.rgbToAnsi(...E))}if(D==="hex")return $0("rgb",u,F,...S.hexToRgb(...E));return S[F][D](...E)},t2=["rgb","hex","ansi256"];for(let D of t2){ED[D]={get(){let{level:F}=this;return function(...E){let B=q0($0(D,Lu[F],"color",...E),S.color.close,this[FD]);return jD(this,B,this[JD])}}};let u="bg"+D[0].toUpperCase()+D.slice(1);ED[u]={get(){let{level:F}=this;return function(...E){let B=q0($0(D,Lu[F],"bgColor",...E),S.bgColor.close,this[FD]);return jD(this,B,this[JD])}}}}var s2=Object.defineProperties(()=>{},{...ED,level:{enumerable:!0,get(){return this[A0].level},set(D){this[A0].level=D}}}),q0=(D,u,F)=>{let E,B;if(F===void 0)E=D,B=u;else E=F.openAll+D,B=u+F.closeAll;return{open:D,close:u,openAll:E,closeAll:B,parent:F}},jD=(D,u,F)=>{let E=(...B)=>o2(E,B.length===1?""+B[0]:B.join(" "));return Object.setPrototypeOf(E,s2),E[A0]=D,E[FD]=u,E[JD]=F,E},o2=(D,u)=>{if(D.level<=0||!u)return D[JD]?"":u;let F=D[FD];if(F===void 0)return u;let{openAll:E,closeAll:B}=F;if(u.includes("\x1B"))while(F!==void 0)u=Uu(u,F.close,F.open),F=F.parent;let C=u.indexOf(`
32
+ `);if(C!==-1)u=Wu(u,B,E,C);return E+u+B};Object.defineProperties(QD.prototype,ED);var e2=QD(),V8=QD({level:Ku?Ku.level:0});var y=e2;import ku from"node:process";import ID from"node:process";var D3=(D,u,F,E)=>{if(F==="length"||F==="prototype")return;if(F==="arguments"||F==="caller")return;let B=Object.getOwnPropertyDescriptor(D,F),C=Object.getOwnPropertyDescriptor(u,F);if(!u3(B,C)&&E)return;Object.defineProperty(D,F,C)},u3=function(D,u){return D===void 0||D.configurable||D.writable===u.writable&&D.enumerable===u.enumerable&&D.configurable===u.configurable&&(D.writable||D.value===u.value)},F3=(D,u)=>{let F=Object.getPrototypeOf(u);if(F===Object.getPrototypeOf(D))return;Object.setPrototypeOf(D,F)},E3=(D,u)=>`/* Wrapped ${D}*/
33
+ ${u}`,B3=Object.getOwnPropertyDescriptor(Function.prototype,"toString"),C3=Object.getOwnPropertyDescriptor(Function.prototype.toString,"name"),_3=(D,u,F)=>{let E=F===""?"":`with ${F.trim()}() `,B=E3.bind(null,E,u.toString());Object.defineProperty(B,"name",C3);let{writable:C,enumerable:A,configurable:_}=B3;Object.defineProperty(D,"toString",{value:B,writable:C,enumerable:A,configurable:_})};function J0(D,u,{ignoreNonConfigurable:F=!1}={}){let{name:E}=D;for(let B of Reflect.ownKeys(u))D3(D,u,B,F);return F3(D,u),_3(D,u,E),D}var TD=new WeakMap,Ru=(D,u={})=>{if(typeof D!=="function")throw TypeError("Expected a function");let F,E=0,B=D.displayName||D.name||"<anonymous>",C=function(...A){if(TD.set(C,++E),E===1)F=D.apply(this,A),D=void 0;else if(u.throw===!0)throw Error(`Function \`${B}\` can only be called once`);return F};return J0(C,D),TD.set(C,E),C};Ru.callCount=(D)=>{if(!TD.has(D))throw Error(`The given function \`${D.name}\` is not wrapped by the \`onetime\` package`);return TD.get(D)};var ju=Ru;var s=[];s.push("SIGHUP","SIGINT","SIGTERM");if(process.platform!=="win32")s.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");if(process.platform==="linux")s.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var ND=(D)=>!!D&&typeof D==="object"&&typeof D.removeListener==="function"&&typeof D.emit==="function"&&typeof D.reallyExit==="function"&&typeof D.listeners==="function"&&typeof D.kill==="function"&&typeof D.pid==="number"&&typeof D.on==="function",Q0=Symbol.for("signal-exit emitter"),Z0=globalThis,A3=Object.defineProperty.bind(Object);class Tu{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(Z0[Q0])return Z0[Q0];A3(Z0,Q0,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(D,u){this.listeners[D].push(u)}removeListener(D,u){let F=this.listeners[D],E=F.indexOf(u);if(E===-1)return;if(E===0&&F.length===1)F.length=0;else F.splice(E,1)}emit(D,u,F){if(this.emitted[D])return!1;this.emitted[D]=!0;let E=!1;for(let B of this.listeners[D])E=B(u,F)===!0||E;if(D==="exit")E=this.emit("afterExit",u,F)||E;return E}}class X0{}var $3=(D)=>{return{onExit(u,F){return D.onExit(u,F)},load(){return D.load()},unload(){return D.unload()}}};class Nu extends X0{onExit(){return()=>{}}load(){}unload(){}}class Iu extends X0{#_=Y0.platform==="win32"?"SIGINT":"SIGHUP";#F=new Tu;#D;#B;#Z;#u={};#C=!1;constructor(D){super();this.#D=D,this.#u={};for(let u of s)this.#u[u]=()=>{let F=this.#D.listeners(u),{count:E}=this.#F,B=D;if(typeof B.__signal_exit_emitter__==="object"&&typeof B.__signal_exit_emitter__.count==="number")E+=B.__signal_exit_emitter__.count;if(F.length===E){this.unload();let C=this.#F.emit("exit",null,u),A=u==="SIGHUP"?this.#_:u;if(!C)D.kill(D.pid,A)}};this.#Z=D.reallyExit,this.#B=D.emit}onExit(D,u){if(!ND(this.#D))return()=>{};if(this.#C===!1)this.load();let F=u?.alwaysLast?"afterExit":"exit";return this.#F.on(F,D),()=>{if(this.#F.removeListener(F,D),this.#F.listeners.exit.length===0&&this.#F.listeners.afterExit.length===0)this.unload()}}load(){if(this.#C)return;this.#C=!0,this.#F.count+=1;for(let D of s)try{let u=this.#u[D];if(u)this.#D.on(D,u)}catch(u){}this.#D.emit=(D,...u)=>{return this.#Y(D,...u)},this.#D.reallyExit=(D)=>{return this.#E(D)}}unload(){if(!this.#C)return;this.#C=!1,s.forEach((D)=>{let u=this.#u[D];if(!u)throw Error("Listener not defined for signal: "+D);try{this.#D.removeListener(D,u)}catch(F){}}),this.#D.emit=this.#B,this.#D.reallyExit=this.#Z,this.#F.count-=1}#E(D){if(!ND(this.#D))return 0;return this.#D.exitCode=D||0,this.#F.emit("exit",this.#D.exitCode,null),this.#Z.call(this.#D,this.#D.exitCode)}#Y(D,...u){let F=this.#B;if(D==="exit"&&ND(this.#D)){if(typeof u[0]==="number")this.#D.exitCode=u[0];let E=F.call(this.#D,D,...u);return this.#F.emit("exit",this.#D.exitCode,null),E}else return F.call(this.#D,D,...u)}}var Y0=globalThis.process,{onExit:bu,load:I8,unload:b8}=$3(ND(Y0)?new Iu(Y0):new Nu);var wu=ID.stderr.isTTY?ID.stderr:ID.stdout.isTTY?ID.stdout:void 0,q3=wu?ju(()=>{bu(()=>{wu.write("\x1B[?25h")},{alwaysLast:!0})}):()=>{},Pu=q3;var bD=!1,BD={};BD.show=(D=ku.stderr)=>{if(!D.isTTY)return;bD=!1,D.write("\x1B[?25h")};BD.hide=(D=ku.stderr)=>{if(!D.isTTY)return;Pu(),bD=!0,D.write("\x1B[?25l")};BD.toggle=(D,u)=>{if(D!==void 0)bD=D;if(bD)BD.show(u);else BD.hide(u)};var M0=BD;var XD=w(G0(),1);import v from"node:process";function H0(){if(v.platform!=="win32")return v.env.TERM!=="linux";return Boolean(v.env.CI)||Boolean(v.env.WT_SESSION)||Boolean(v.env.TERMINUS_SUBLIME)||v.env.ConEmuTask==="{cmd::Cmder}"||v.env.TERM_PROGRAM==="Terminus-Sublime"||v.env.TERM_PROGRAM==="vscode"||v.env.TERM==="xterm-256color"||v.env.TERM==="alacritty"||v.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var Q3={info:y.blue("ℹ"),success:y.green("✔"),warning:y.yellow("⚠"),error:y.red("✖")},Z3={info:y.blue("i"),success:y.green("√"),warning:y.yellow("‼"),error:y.red("×")},Y3=H0()?Q3:Z3,ZD=Y3;function z0({onlyFirst:D=!1}={}){return new RegExp("(?:\\u001B\\][\\s\\S]*?(?:\\u0007|\\u001B\\u005C|\\u009C))|[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]",D?void 0:"g")}var X3=z0();function YD(D){if(typeof D!=="string")throw TypeError(`Expected a \`string\`, got \`${typeof D}\``);return D.replace(X3,"")}function vu(D){return D===161||D===164||D===167||D===168||D===170||D===173||D===174||D>=176&&D<=180||D>=182&&D<=186||D>=188&&D<=191||D===198||D===208||D===215||D===216||D>=222&&D<=225||D===230||D>=232&&D<=234||D===236||D===237||D===240||D===242||D===243||D>=247&&D<=250||D===252||D===254||D===257||D===273||D===275||D===283||D===294||D===295||D===299||D>=305&&D<=307||D===312||D>=319&&D<=322||D===324||D>=328&&D<=331||D===333||D===338||D===339||D===358||D===359||D===363||D===462||D===464||D===466||D===468||D===470||D===472||D===474||D===476||D===593||D===609||D===708||D===711||D>=713&&D<=715||D===717||D===720||D>=728&&D<=731||D===733||D===735||D>=768&&D<=879||D>=913&&D<=929||D>=931&&D<=937||D>=945&&D<=961||D>=963&&D<=969||D===1025||D>=1040&&D<=1103||D===1105||D===8208||D>=8211&&D<=8214||D===8216||D===8217||D===8220||D===8221||D>=8224&&D<=8226||D>=8228&&D<=8231||D===8240||D===8242||D===8243||D===8245||D===8251||D===8254||D===8308||D===8319||D>=8321&&D<=8324||D===8364||D===8451||D===8453||D===8457||D===8467||D===8470||D===8481||D===8482||D===8486||D===8491||D===8531||D===8532||D>=8539&&D<=8542||D>=8544&&D<=8555||D>=8560&&D<=8569||D===8585||D>=8592&&D<=8601||D===8632||D===8633||D===8658||D===8660||D===8679||D===8704||D===8706||D===8707||D===8711||D===8712||D===8715||D===8719||D===8721||D===8725||D===8730||D>=8733&&D<=8736||D===8739||D===8741||D>=8743&&D<=8748||D===8750||D>=8756&&D<=8759||D===8764||D===8765||D===8776||D===8780||D===8786||D===8800||D===8801||D>=8804&&D<=8807||D===8810||D===8811||D===8814||D===8815||D===8834||D===8835||D===8838||D===8839||D===8853||D===8857||D===8869||D===8895||D===8978||D>=9312&&D<=9449||D>=9451&&D<=9547||D>=9552&&D<=9587||D>=9600&&D<=9615||D>=9618&&D<=9621||D===9632||D===9633||D>=9635&&D<=9641||D===9650||D===9651||D===9654||D===9655||D===9660||D===9661||D===9664||D===9665||D>=9670&&D<=9672||D===9675||D>=9678&&D<=9681||D>=9698&&D<=9701||D===9711||D===9733||D===9734||D===9737||D===9742||D===9743||D===9756||D===9758||D===9792||D===9794||D===9824||D===9825||D>=9827&&D<=9829||D>=9831&&D<=9834||D===9836||D===9837||D===9839||D===9886||D===9887||D===9919||D>=9926&&D<=9933||D>=9935&&D<=9939||D>=9941&&D<=9953||D===9955||D===9960||D===9961||D>=9963&&D<=9969||D===9972||D>=9974&&D<=9977||D===9979||D===9980||D===9982||D===9983||D===10045||D>=10102&&D<=10111||D>=11094&&D<=11097||D>=12872&&D<=12879||D>=57344&&D<=63743||D>=65024&&D<=65039||D===65533||D>=127232&&D<=127242||D>=127248&&D<=127277||D>=127280&&D<=127337||D>=127344&&D<=127373||D===127375||D===127376||D>=127387&&D<=127404||D>=917760&&D<=917999||D>=983040&&D<=1048573||D>=1048576&&D<=1114109}function xu(D){return D===12288||D>=65281&&D<=65376||D>=65504&&D<=65510}function hu(D){return D>=4352&&D<=4447||D===8986||D===8987||D===9001||D===9002||D>=9193&&D<=9196||D===9200||D===9203||D===9725||D===9726||D===9748||D===9749||D>=9776&&D<=9783||D>=9800&&D<=9811||D===9855||D>=9866&&D<=9871||D===9875||D===9889||D===9898||D===9899||D===9917||D===9918||D===9924||D===9925||D===9934||D===9940||D===9962||D===9970||D===9971||D===9973||D===9978||D===9981||D===9989||D===9994||D===9995||D===10024||D===10060||D===10062||D>=10067&&D<=10069||D===10071||D>=10133&&D<=10135||D===10160||D===10175||D===11035||D===11036||D===11088||D===11093||D>=11904&&D<=11929||D>=11931&&D<=12019||D>=12032&&D<=12245||D>=12272&&D<=12287||D>=12289&&D<=12350||D>=12353&&D<=12438||D>=12441&&D<=12543||D>=12549&&D<=12591||D>=12593&&D<=12686||D>=12688&&D<=12773||D>=12783&&D<=12830||D>=12832&&D<=12871||D>=12880&&D<=42124||D>=42128&&D<=42182||D>=43360&&D<=43388||D>=44032&&D<=55203||D>=63744&&D<=64255||D>=65040&&D<=65049||D>=65072&&D<=65106||D>=65108&&D<=65126||D>=65128&&D<=65131||D>=94176&&D<=94180||D>=94192&&D<=94198||D>=94208&&D<=101589||D>=101631&&D<=101662||D>=101760&&D<=101874||D>=110576&&D<=110579||D>=110581&&D<=110587||D===110589||D===110590||D>=110592&&D<=110882||D===110898||D>=110928&&D<=110930||D===110933||D>=110948&&D<=110951||D>=110960&&D<=111355||D>=119552&&D<=119638||D>=119648&&D<=119670||D===126980||D===127183||D===127374||D>=127377&&D<=127386||D>=127488&&D<=127490||D>=127504&&D<=127547||D>=127552&&D<=127560||D===127568||D===127569||D>=127584&&D<=127589||D>=127744&&D<=127776||D>=127789&&D<=127797||D>=127799&&D<=127868||D>=127870&&D<=127891||D>=127904&&D<=127946||D>=127951&&D<=127955||D>=127968&&D<=127984||D===127988||D>=127992&&D<=128062||D===128064||D>=128066&&D<=128252||D>=128255&&D<=128317||D>=128331&&D<=128334||D>=128336&&D<=128359||D===128378||D===128405||D===128406||D===128420||D>=128507&&D<=128591||D>=128640&&D<=128709||D===128716||D>=128720&&D<=128722||D>=128725&&D<=128728||D>=128732&&D<=128735||D===128747||D===128748||D>=128756&&D<=128764||D>=128992&&D<=129003||D===129008||D>=129292&&D<=129338||D>=129340&&D<=129349||D>=129351&&D<=129535||D>=129648&&D<=129660||D>=129664&&D<=129674||D>=129678&&D<=129734||D===129736||D>=129741&&D<=129756||D>=129759&&D<=129770||D>=129775&&D<=129784||D>=131072&&D<=196605||D>=196608&&D<=262141}function M3(D){if(!Number.isSafeInteger(D))throw TypeError(`Expected a code point, got \`${typeof D}\`.`)}function fu(D,{ambiguousAsWide:u=!1}={}){if(M3(D),xu(D)||hu(D)||u&&vu(D))return 2;return 1}var lu=w(mu(),1),G3=new Intl.Segmenter,H3=/^\p{Default_Ignorable_Code_Point}$/u;function U0(D,u={}){if(typeof D!=="string"||D.length===0)return 0;let{ambiguousIsNarrow:F=!0,countAnsiEscapeCodes:E=!1}=u;if(!E)D=YD(D);if(D.length===0)return 0;let B=0,C={ambiguousAsWide:!F};for(let{segment:A}of G3.segment(D)){let _=A.codePointAt(0);if(_<=31||_>=127&&_<=159)continue;if(_>=8203&&_<=8207||_===65279)continue;if(_>=768&&_<=879||_>=6832&&_<=6911||_>=7616&&_<=7679||_>=8400&&_<=8447||_>=65056&&_<=65071)continue;if(_>=55296&&_<=57343)continue;if(_>=65024&&_<=65039)continue;if(H3.test(A))continue;if(lu.default().test(A)){B+=2;continue}B+=fu(_,C)}return B}function W0({stream:D=process.stdout}={}){return Boolean(D&&D.isTTY&&process.env.TERM!=="dumb"&&!("CI"in process.env))}import du from"node:process";function V0(){let{env:D}=du,{TERM:u,TERM_PROGRAM:F}=D;if(du.platform!=="win32")return u!=="linux";return Boolean(D.WT_SESSION)||Boolean(D.TERMINUS_SUBLIME)||D.ConEmuTask==="{cmd::Cmder}"||F==="Terminus-Sublime"||F==="vscode"||u==="xterm-256color"||u==="alacritty"||u==="rxvt-unicode"||u==="rxvt-unicode-256color"||D.TERMINAL_EMULATOR==="JetBrains-JediTerm"}import f from"node:process";var z3=3;class cu{#_=0;start(){if(this.#_++,this.#_===1)this.#F()}stop(){if(this.#_<=0)throw Error("`stop` called more times than `start`");if(this.#_--,this.#_===0)this.#D()}#F(){if(f.platform==="win32"||!f.stdin.isTTY)return;f.stdin.setRawMode(!0),f.stdin.on("data",this.#B),f.stdin.resume()}#D(){if(!f.stdin.isTTY)return;f.stdin.off("data",this.#B),f.stdin.pause(),f.stdin.setRawMode(!1)}#B(D){if(D[0]===z3)f.emit("SIGINT")}}var U3=new cu,K0=U3;var W3=w(G0(),1);class pu{#_=0;#F=!1;#D=0;#B=-1;#Z=0;#u;#C;#E;#Y;#M;#q;#J;#Q;#G;#A;#$;color;constructor(D){if(typeof D==="string")D={text:D};if(this.#u={color:"cyan",stream:PD.stderr,discardStdin:!0,hideCursor:!0,...D},this.color=this.#u.color,this.spinner=this.#u.spinner,this.#M=this.#u.interval,this.#E=this.#u.stream,this.#q=typeof this.#u.isEnabled==="boolean"?this.#u.isEnabled:W0({stream:this.#E}),this.#J=typeof this.#u.isSilent==="boolean"?this.#u.isSilent:!1,this.text=this.#u.text,this.prefixText=this.#u.prefixText,this.suffixText=this.#u.suffixText,this.indent=this.#u.indent,PD.env.NODE_ENV==="test")this._stream=this.#E,this._isEnabled=this.#q,Object.defineProperty(this,"_linesToClear",{get(){return this.#_},set(u){this.#_=u}}),Object.defineProperty(this,"_frameIndex",{get(){return this.#B}}),Object.defineProperty(this,"_lineCount",{get(){return this.#D}})}get indent(){return this.#Q}set indent(D=0){if(!(D>=0&&Number.isInteger(D)))throw Error("The `indent` option must be an integer from 0 and up");this.#Q=D,this.#X()}get interval(){return this.#M??this.#C.interval??100}get spinner(){return this.#C}set spinner(D){if(this.#B=-1,this.#M=void 0,typeof D==="object"){if(D.frames===void 0)throw Error("The given spinner must have a `frames` property");this.#C=D}else if(!V0())this.#C=XD.default.line;else if(D===void 0)this.#C=XD.default.dots;else if(D!=="default"&&XD.default[D])this.#C=XD.default[D];else throw Error(`There is no built-in spinner named '${D}'. See https://github.com/sindresorhus/cli-spinners/blob/main/spinners.json for a full list.`)}get text(){return this.#G}set text(D=""){this.#G=D,this.#X()}get prefixText(){return this.#A}set prefixText(D=""){this.#A=D,this.#X()}get suffixText(){return this.#$}set suffixText(D=""){this.#$=D,this.#X()}get isSpinning(){return this.#Y!==void 0}#H(D=this.#A,u=" "){if(typeof D==="string"&&D!=="")return D+u;if(typeof D==="function")return D()+u;return""}#z(D=this.#$,u=" "){if(typeof D==="string"&&D!=="")return u+D;if(typeof D==="function")return u+D();return""}#X(){let D=this.#E.columns??80,u=this.#H(this.#A,"-"),F=this.#z(this.#$,"-"),E=" ".repeat(this.#Q)+u+"--"+this.#G+"--"+F;this.#D=0;for(let B of YD(E).split(`
34
+ `))this.#D+=Math.max(1,Math.ceil(U0(B,{countAnsiEscapeCodes:!0})/D))}get isEnabled(){return this.#q&&!this.#J}set isEnabled(D){if(typeof D!=="boolean")throw TypeError("The `isEnabled` option must be a boolean");this.#q=D}get isSilent(){return this.#J}set isSilent(D){if(typeof D!=="boolean")throw TypeError("The `isSilent` option must be a boolean");this.#J=D}frame(){let D=Date.now();if(this.#B===-1||D-this.#Z>=this.interval)this.#B=++this.#B%this.#C.frames.length,this.#Z=D;let{frames:u}=this.#C,F=u[this.#B];if(this.color)F=y[this.color](F);let E=typeof this.#A==="string"&&this.#A!==""?this.#A+" ":"",B=typeof this.text==="string"?" "+this.text:"",C=typeof this.#$==="string"&&this.#$!==""?" "+this.#$:"";return E+F+B+C}clear(){if(!this.#q||!this.#E.isTTY)return this;this.#E.cursorTo(0);for(let D=0;D<this.#_;D++){if(D>0)this.#E.moveCursor(0,-1);this.#E.clearLine(1)}if(this.#Q||this.lastIndent!==this.#Q)this.#E.cursorTo(this.#Q);return this.lastIndent=this.#Q,this.#_=0,this}render(){if(this.#J)return this;return this.clear(),this.#E.write(this.frame()),this.#_=this.#D,this}start(D){if(D)this.text=D;if(this.#J)return this;if(!this.#q){if(this.text)this.#E.write(`- ${this.text}
35
+ `);return this}if(this.isSpinning)return this;if(this.#u.hideCursor)M0.hide(this.#E);if(this.#u.discardStdin&&PD.stdin.isTTY)this.#F=!0,K0.start();return this.render(),this.#Y=setInterval(this.render.bind(this),this.interval),this}stop(){if(!this.#q)return this;if(clearInterval(this.#Y),this.#Y=void 0,this.#B=0,this.clear(),this.#u.hideCursor)M0.show(this.#E);if(this.#u.discardStdin&&PD.stdin.isTTY&&this.#F)K0.stop(),this.#F=!1;return this}succeed(D){return this.stopAndPersist({symbol:ZD.success,text:D})}fail(D){return this.stopAndPersist({symbol:ZD.error,text:D})}warn(D){return this.stopAndPersist({symbol:ZD.warning,text:D})}info(D){return this.stopAndPersist({symbol:ZD.info,text:D})}stopAndPersist(D={}){if(this.#J)return this;let u=D.prefixText??this.#A,F=this.#H(u," "),E=D.symbol??" ",B=D.text??this.text,A=typeof B==="string"?(E?" ":"")+B:"",_=D.suffixText??this.#$,$=this.#z(_," "),q=F+E+A+$+`
36
+ `;return this.stop(),this.#E.write(q),this}}function x(D){return new pu(D)}var R=w(o(),1);import{existsSync as nu,readFileSync as R3,writeFileSync as j3}from"node:fs";import{join as T3}from"node:path";var L="https://shipi-app.vandenmunckhof-jesper5063.workers.dev";if(!L)throw Error("SHIPI_BASE_URL environment variable is required");var WE=process.env.SHIPI_API_URL||`${L}/api`,CD="shipi.json",h={include:["src/**","packages/**","apps/**","lib/**"],exclude:["**/node_modules/**","**/dist/**","**/build/**","**/.next/**","**/coverage/**","**/*.lock","**/pnpm-lock.yaml","**/package-lock.json","**/yarn.lock","**/bun.lock","**/*.min.js","**/*.min.css","**/*.map","**/*.d.ts","**/generated/**","**/.git/**"],extensions:[".ts",".tsx",".js",".jsx",".mjs",".cjs",".vue",".svelte",".py",".go",".rs",".rb",".java",".kt",".swift",".c",".cpp",".h",".cs",".php",".md",".mdx"],maxDiffSize:5000,commitTypes:{feat:"Features",fix:"Bug Fixes",perf:"Performance",refactor:"Refactoring",docs:"Documentation",test:"Tests",chore:"Chores",ci:"CI/CD",build:"Build",style:"Styling"}};function R0(D=process.cwd()){return T3(D,CD)}function MD(D=process.cwd()){return nu(R0(D))}function SD(D=process.cwd()){let u=R0(D);if(!nu(u))return h;try{let F=R3(u,"utf-8"),E=JSON.parse(F);return{...h,...E,include:E.include??h.include,exclude:E.exclude??h.exclude,extensions:E.extensions??h.extensions,commitTypes:{...h.commitTypes,...E.commitTypes}}}catch{return h}}function yD(D,u=process.cwd()){let F=R0(u);j3(F,JSON.stringify(D,null,2)+`
37
+ `)}function GD(D,u){let{include:F=[],exclude:E=[],extensions:B=[]}=u;if(B.length>0){if(!B.some((A)=>D.endsWith(A)))return!1}for(let C of E)if(iu(D,C))return!1;if(F.length===0)return!0;for(let C of F)if(iu(D,C))return!0;return!1}function iu(D,u){let F=u.replace(/\./g,"\\.").replace(/\*\*/g,"{{GLOBSTAR}}").replace(/\*/g,"[^/]*").replace(/\{\{GLOBSTAR\}\}/g,".*");return new RegExp(`^${F}$`).test(D)}import{existsSync as tu,readFileSync as N3,writeFileSync as I3,unlinkSync as b3}from"node:fs";import{homedir as w3}from"node:os";import{join as P3}from"node:path";var HD=P3(w3(),".shipi");function su(D){I3(HD,JSON.stringify(D,null,2),{mode:384})}function l(){if(!tu(HD))return null;try{let D=N3(HD,"utf-8");return JSON.parse(D)}catch{return null}}function ou(){if(!tu(HD))return!1;try{return b3(HD),!0}catch{return!1}}function vD(){if(process.env.SHIPI_API_KEY)return process.env.SHIPI_API_KEY;return l()?.apiKey??null}async function eu(){console.log(R.default.bold(`
38
+ \uD83D\uDE80 Login to Shipi
39
+ `));let D=l();if(D){console.log(R.default.yellow(`Already logged in as ${R.default.bold(D.email)}`)),console.log(R.default.dim(`Run 'shipi logout' first to log in as a different user.
40
+ `));return}let u=k3(),F=`${L}/auth/cli/${u}`;console.log(R.default.dim(`Opening browser for authentication...
41
+ `));try{await Zu(F),console.log(R.default.green("✓ Browser opened"))}catch{console.log(R.default.yellow("Could not open browser automatically.")),console.log(R.default.dim("Please open this URL manually:")),console.log(R.default.cyan(F))}console.log();let E=x("Waiting for authentication...").start(),B=40,C=3000;for(let A=0;A<B;A++){try{let _=await fetch(`${L}/auth/cli/${u}/verify`);if(_.ok){let $=await _.json();if($.success&&$.user){E.succeed(R.default.green("Authentication successful!")),su({id:$.user.id,email:$.user.email,name:$.user.name,apiKey:$.user.apiKey}),console.log(),console.log(R.default.bold(`Welcome, ${$.user.name||$.user.email}!`)),console.log(R.default.dim(`
42
+ Credentials saved to ~/.shipi`)),console.log();return}}}catch{}await new Promise((_)=>setTimeout(_,C))}E.fail(R.default.red("Authentication timed out")),console.log(R.default.dim(`
43
+ Please try again with 'shipi login'
44
+ `)),process.exit(1)}var _D=w(o(),1);async function DF(){console.log(_D.default.bold(`
45
+ \uD83D\uDC4B Logout from Shipi
46
+ `));let D=l();if(!D){console.log(_D.default.yellow(`You are not logged in.
47
+ `));return}if(ou())console.log(_D.default.green("✓ Logged out successfully")),console.log(_D.default.dim(` Removed credentials for ${D.email}
48
+ `));else console.log(_D.default.red(`Failed to remove session file.
49
+ `)),process.exit(1)}var d=w(o(),1);async function uF(){console.log(d.default.bold(`
50
+ \uD83D\uDC64 Current User
51
+ `));let D=l();if(!D){console.log(d.default.yellow("You are not logged in.")),console.log(d.default.dim(`Run 'shipi login' to authenticate.
52
+ `));return}console.log(` ${d.default.dim("Name:")} ${D.name||d.default.dim("(not set)")}`),console.log(` ${d.default.dim("Email:")} ${D.email}`),console.log(` ${d.default.dim("ID:")} ${d.default.dim(D.id)}`),console.log()}var T=w(o(),1);async function FF(){let D=l();if(!D)console.log(T.default.red("Not logged in. Run `shipi login` first.")),process.exit(1);let u=x("Fetching usage...").start();try{let F=await fetch(`${L}/api/usage`,{headers:{"x-api-key":D.apiKey}});if(!F.ok){let Y=await F.json().catch(()=>({}));u.fail(T.default.red(Y.error||"Failed to fetch usage")),process.exit(1)}let E=await F.json();u.stop();let{plan:B,current:C,limit:A,resetDate:_}=E,$=A===999999?0:Math.round(C/A*100),q=30,J=A===999999?0:Math.round(C/A*q),Z=q-J;console.log(),console.log(T.default.bold("Usage")),console.log();let X=B.charAt(0).toUpperCase()+B.slice(1),U=B==="pro"?T.default.cyan(X):B==="team"?T.default.magenta(X):T.default.dim(X);console.log(` Plan: ${U}`),console.log();let j=($>=90?T.default.red:$>=70?T.default.yellow:T.default.green)("█".repeat(J)),r=T.default.dim("░".repeat(Z));if(console.log(` Generations: ${C} / ${A===999999?"∞":A}`),A!==999999)console.log(` [${j}${r}] ${$}%`);console.log();let a=_?new Date(_):new Date(new Date().getFullYear(),new Date().getMonth()+1,1);if(console.log(T.default.dim(` Resets on ${a.toLocaleDateString()}`)),$>=90&&B==="free")console.log(),console.log(T.default.yellow(" ⚠ You're approaching your limit. Consider upgrading to Pro."));console.log()}catch(F){u.fail(T.default.red("Failed to fetch usage")),console.error(F),process.exit(1)}}var Q=w(o(),1);import*as qF from"node:readline";import{execSync as O3}from"node:child_process";function W(D){try{return O3(D,{encoding:"utf-8"}).trim()}catch{return""}}function xD(D){return`'${D.replace(/'/g,"'\\''")}'`}function hD(){return W("git rev-parse --is-inside-work-tree")==="true"}function S3(){let D=W('git tag --sort=-creatordate --format="%(refname:short)%x00%(objectname:short)%x00%(creatordate:iso)"');if(!D)return[];return D.split(`
53
+ `).filter(Boolean).map((u)=>{let[F,E,B]=u.split("\x00");return{name:F,hash:E,date:B}})}function y3(){return S3()[0]||null}function j0(D="HEAD"){if(W(`git describe --tags --exact-match ${D} 2>/dev/null`))return W(`git describe --tags --abbrev=0 ${D}^ 2>/dev/null`)||null;return W(`git describe --tags --abbrev=0 ${D} 2>/dev/null`)||null}function AD(D,u="HEAD"){let B=W(`git log ${D}..${u} --pretty=format:"%H%x00%h%x00%s%x00%b%x00%an%x00%aI%x00%x01"`);if(!B)return[];return B.split("\x01").filter(Boolean).map((C)=>{let[A,_,$,q,J,Z]=C.trim().split("\x00"),X=T0($||"");return{hash:A||"",shortHash:_||"",subject:$||"",body:q||"",author:J||"",date:Z||"",...X}})}function v3(D){return AD(D,"HEAD")}function EF(){let D=y3();if(!D)return x3();return v3(D.name)}function x3(D=100){let E=W(`git log -n ${D} --pretty=format:"%H%x00%h%x00%s%x00%b%x00%an%x00%aI%x00%x01"`);if(!E)return[];return E.split("\x01").filter(Boolean).map((B)=>{let[C,A,_,$,q,J]=B.trim().split("\x00"),Z=T0(_||"");return{hash:C||"",shortHash:A||"",subject:_||"",body:$||"",author:q||"",date:J||"",...Z}})}function T0(D){let u=D.match(/^(\w+)(?:\(([^)]+)\))?(!)?\s*:\s*/);if(!u)return{};return{type:u[1],scope:u[2]||void 0,breaking:u[3]==="!"||D.includes("BREAKING CHANGE")}}function N0(D){if(D.includes("..")){let[F,E]=D.split("..");return{from:F,to:E||"HEAD"}}let u=j0(D);if(u)return{from:u,to:D};return{from:D,to:"HEAD"}}function BF(){let D=W("git config --get remote.origin.url");if(!D)return null;let u=D.match(/[/:]([\w-]+)\/([\w.-]+?)(\.git)?$/);if(!u)return null;return{owner:u[1],repo:u[2]}}function h3(D,u=5000,F){let E=W(`git show ${D} --numstat --format="" 2>/dev/null`);if(!E)return[];let B=[],C=E.split(`
54
+ `).filter(Boolean);for(let A of C){let[_,$,q]=A.split("\t");if(!q)continue;if(F&&!GD(q,F))continue;let J="modified";if(_==="-"&&$==="-")J="modified";let Z=xD(q),X=W(`git show ${D} --format="" -p --no-color -U10 -- ${Z} 2>/dev/null`);if(!X){if(X=W(`git show ${D}:${Z} 2>/dev/null`),X)X=`+++ ${q} (new file)
55
+ `+X.split(`
56
+ `).map((U)=>`+ ${U}`).join(`
57
+ `)}if(X&&X.length>u)X=X.substring(0,u)+`
58
+ ... [truncated]`;B.push({file:q,status:J,additions:_==="-"?0:parseInt(_||"0",10),deletions:$==="-"?0:parseInt($||"0",10),diff:X||""})}return B}function CF(D,u=5000,F){let B=W(`git show ${D} --pretty=format:"%H%x00%h%x00%s%x00%b%x00%an%x00%aI" --no-patch`);if(!B)return null;let[C,A,_,$,q,J]=B.split("\x00"),Z=T0(_||""),X=h3(D,u,F),U={filesChanged:X.length,additions:X.reduce((G,j)=>G+j.additions,0),deletions:X.reduce((G,j)=>G+j.deletions,0)};return{hash:C||"",shortHash:A||"",subject:_||"",body:$||"",author:q||"",date:J||"",...Z,files:X,stats:U}}function zD(D,u="HEAD",F=5000,E){let B=W(`git log ${D}..${u} --pretty=format:"%H"`);if(!B)return[];return B.split(`
59
+ `).filter(Boolean).map((A)=>CF(A,F,E)).filter((A)=>A!==null)}function _F(D=100,u=5000,F){let E=W(`git log -n ${D} --pretty=format:"%H"`);if(!E)return[];return E.split(`
60
+ `).filter(Boolean).map((C)=>CF(C,u,F)).filter((C)=>C!==null)}function AF(D=5000,u){let F=[],E=[],B=W("git diff --cached --numstat 2>/dev/null");if(B)for(let q of B.split(`
61
+ `).filter(Boolean)){let[J,Z,X]=q.split("\t");if(!X)continue;if(u&&!GD(X,u))continue;let U=xD(X),G=W(`git diff --cached --no-color -U10 -- ${U} 2>/dev/null`);if(G&&G.length>D)G=G.substring(0,D)+`
62
+ ... [truncated]`;F.push({file:X,status:"modified",additions:J==="-"?0:parseInt(J||"0",10),deletions:Z==="-"?0:parseInt(Z||"0",10),diff:G||""})}let C=W("git diff --numstat 2>/dev/null");if(C)for(let q of C.split(`
63
+ `).filter(Boolean)){let[J,Z,X]=q.split("\t");if(!X)continue;if(u&&!GD(X,u))continue;let U=xD(X),G=W(`git diff --no-color -U10 -- ${U} 2>/dev/null`);if(G&&G.length>D)G=G.substring(0,D)+`
64
+ ... [truncated]`;E.push({file:X,status:"modified",additions:J==="-"?0:parseInt(J||"0",10),deletions:Z==="-"?0:parseInt(Z||"0",10),diff:G||""})}let A=W("git ls-files --others --exclude-standard 2>/dev/null");if(A)for(let q of A.split(`
65
+ `).filter(Boolean)){if(u&&!GD(q,u))continue;let J=xD(q),Z=W(`cat ${J} 2>/dev/null`);if(Z){let X=`+++ ${q} (new file)
66
+ `+Z.split(`
67
+ `).map((G)=>`+ ${G}`).join(`
68
+ `);if(X.length>D)X=X.substring(0,D)+`
69
+ ... [truncated]`;let U=Z.split(`
70
+ `).length;E.push({file:q,status:"added",additions:U,deletions:0,diff:X})}}let _=[...F,...E],$={filesChanged:_.length,additions:_.reduce((q,J)=>q+J.additions,0),deletions:_.reduce((q,J)=>q+J.deletions,0)};return{staged:F,unstaged:E,stats:$}}import{existsSync as I0,readFileSync as b0}from"node:fs";import{join as w0}from"node:path";import{execSync as $F}from"node:child_process";function P0(D=process.cwd()){let u={},F=w0(D,"package.json");if(I0(F))try{let B=JSON.parse(b0(F,"utf-8"));u.name=B.name,u.description=B.description;let C={...B.dependencies,...B.devDependencies},A=[];if(C.react||C["react-dom"])A.push("React");if(C.vue)A.push("Vue");if(C.svelte)A.push("Svelte");if(C.next)A.push("Next.js");if(C["@tanstack/react-start"])A.push("TanStack Start");if(C.express)A.push("Express");if(C.fastify)A.push("Fastify");if(C.typescript)A.push("TypeScript");if(C.tailwindcss)A.push("Tailwind CSS");if(C.prisma||C["@prisma/client"])A.push("Prisma");if(C["drizzle-orm"])A.push("Drizzle");if(C["@supabase/supabase-js"])A.push("Supabase");u.techStack=A}catch{}let E=["README.md","readme.md","Readme.md"];for(let B of E){let C=w0(D,B);if(I0(C))try{let A=b0(C,"utf-8");if(A.length>2000)A=A.substring(0,2000)+`
71
+ ... [truncated]`;u.readme=A;break}catch{}}try{let B=$F("ls -d */ 2>/dev/null || true",{cwd:D,encoding:"utf-8"}).trim();if(B)u.structure=B.replace(/\//g,"").split(`
72
+ `).join(", ")}catch{}return u}function k0(D,u=process.cwd()){let F=[];for(let E of D){let B={file:E,importedBy:[],imports:[]},A=E.replace(/\.(ts|tsx|js|jsx|mjs)$/,"").split("/").pop()||"";try{let $=A.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),q=$F(`grep -rl -E "from .${$}" --include="*.ts" --include="*.tsx" --include="*.js" --include="*.jsx" . 2>/dev/null | head -10 || true`,{cwd:u,encoding:"utf-8"}).trim();if(q)B.importedBy=q.split(`
73
+ `).filter(Boolean).map((J)=>J.replace("./","")).filter((J)=>J!==E)}catch{}let _=w0(u,E);if(I0(_))try{let $=b0(_,"utf-8"),q=/(?:import|from)\s+['"]([^'"]+)['"]/g,J;while((J=q.exec($))!==null){let Z=J[1];if(Z&&!Z.startsWith("."))B.imports.push(Z.split("/")[0])}B.imports=[...new Set(B.imports)]}catch{}if(B.importedBy.length>0||B.imports.length>0)F.push(B)}return F}async function f3(D){try{let u=await fetch(`${L}/api/usage`,{headers:{"x-api-key":D}});if(!u.ok)return{plan:"unknown",canUsePremium:!1};let E=(await u.json()).plan||"free";return{plan:E,canUsePremium:E==="pro"||E==="premium"||E==="team"}}catch{return{plan:"unknown",canUsePremium:!1}}}async function g3(D,u,F,E){try{let B=new URLSearchParams({projectId:u,tag:F,audience:E}),C=await fetch(`${L}/api/releases?${B}`,{headers:{"x-api-key":D}});if(!C.ok)return null;let A=await C.json();if(A.success&&A.exists)return A.release;return null}catch{return null}}async function m3(D,u,F,E,B,C,A,_){try{let $=await fetch(`${L}/api/releases`,{method:"POST",headers:{"Content-Type":"application/json","x-api-key":D},body:JSON.stringify({projectId:u,tag:F,fromRef:E,toRef:B,audience:C,content:A,..._})});if(!$.ok)return null;let q=await $.json();if(q.success&&q.release)return q.release;return null}catch{return null}}function l3(D){let u=qF.createInterface({input:process.stdin,output:process.stdout});return new Promise((F)=>{u.question(D,(E)=>{u.close(),F(E.toLowerCase()==="y"||E.toLowerCase()==="yes")})})}async function JF(D,u={}){if(console.log(Q.default.bold(`
74
+ \uD83D\uDCDD Generate Release Notes
75
+ `)),!hD())console.log(Q.default.red("Error: Not a git repository")),process.exit(1);let F=vD();if(!F&&!u.dryRun)console.log(Q.default.red("Error: Not authenticated")),console.log(Q.default.dim(`Run 'shipi login' first.
76
+ `)),process.exit(1);if(u.premium&&F&&!u.dryRun){let Y=await f3(F);if(!Y.canUsePremium)console.log(Q.default.red("Error: Premium model (Claude) requires a Pro or Team plan.")),console.log(Q.default.dim(`Your current plan: ${Y.plan}`)),console.log(Q.default.dim(`Upgrade at: https://shipi.dev/profile
77
+ `)),process.exit(1)}let E=u.diffs??!0,B=SD(),C=parseInt(u.maxDiffSize||String(B.maxDiffSize||5000),10);if((E||u.uncommitted)&&MD())console.log(Q.default.dim(`Using config from shipi.json
78
+ `));else if((E||u.uncommitted)&&!MD())console.log(Q.default.dim(`No shipi.json found, using defaults. Run 'shipi init' to customize.
79
+ `));if(u.uncommitted)return p3(u,B,C,F);let A,_,$;if(D)if(D.includes("..")){let Y=N0(D);_=Y.from,$=Y.to,A=E?zD(_,$,C,B):AD(_,$)}else{let Y=N0(D);_=Y.from,$=Y.to,A=E?zD(_,$,C,B):AD(_,$)}else if(u.from)_=u.from,$="HEAD",A=E?zD(_,$,C,B):AD(_,$);else{let Y=j0("HEAD");if(Y)_=Y,$="HEAD",A=E?zD(_,$,C,B):AD(_,$);else console.log(Q.default.yellow("No tags found. Analyzing recent commits...")),_="initial",$="HEAD",A=E?_F(100,C,B):EF()}if(A.length===0){console.log(Q.default.yellow("No commits found in the specified range.")),console.log(Q.default.dim(`Range: ${_}..${$}
80
+ `));return}if(console.log(Q.default.dim(`Range: ${_}..${$}`)),console.log(Q.default.dim(`Found ${A.length} commits`)),E){let Y=A.reduce((K,k)=>K+k.stats.filesChanged,0),I=A.reduce((K,k)=>K+k.stats.additions,0),b=A.reduce((K,k)=>K+k.stats.deletions,0);console.log(Q.default.dim(`Files changed: ${Y} | +${I} -${b}`))}console.log();let q=d3(A);if(u.dryRun){console.log(Q.default.bold(`Commits to analyze:
81
+ `)),c3(q,E),console.log(Q.default.dim(`
82
+ (Dry run - no API call made)
83
+ `));return}let J=u.audience||"internal";if(B.projectId&&F){let Y=await g3(F,B.projectId,$,J);if(Y){if(console.log(Q.default.yellow(`⚠️ Release notes already exist for ${$} (${J})
84
+ `)),console.log(Q.default.dim(`Created: ${new Date(Y.createdAt).toLocaleString()}`)),console.log(Q.default.dim(`View: ${L}/projects/${B.projectId}/releases/${Y.id}
85
+ `)),!await l3(`Do you want to regenerate? ${Q.default.dim("(y/N)")} `)){console.log(),console.log(Q.default.bold(`Existing release notes:
86
+ `)),console.log("─".repeat(50)),console.log(Y.content),console.log("─".repeat(50)),console.log();return}console.log()}}let Z=J==="internal"&&E,X=x("Gathering project context...").start(),U=P0(),G=[];if(Z){let Y=A.flatMap((I)=>I.files.map((b)=>b.file));X.text=`Analyzing ${Y.length} changed files...`,G=k0(Y)}X.succeed("Context gathered");let j={project:{name:U.name,description:U.description,techStack:U.techStack,structure:U.structure,readme:U.readme},relatedFiles:G.length>0?G.map((Y)=>({file:Y.file,importedBy:Y.importedBy.slice(0,5),imports:Y.imports.slice(0,10)})):void 0,commits:A.map((Y)=>{let I={hash:Y.shortHash,subject:Y.subject,body:Y.body,author:Y.author,type:Y.type,scope:Y.scope,breaking:Y.breaking};if(E&&"files"in Y)return{...I,files:Y.files.map((b)=>({file:b.file,additions:b.additions,deletions:b.deletions,diff:b.diff})),stats:Y.stats};return I}),fromRef:_,toRef:$,format:u.format||"md",includeDiffs:E,audience:u.audience||"internal",noHeader:u.header===!1,language:u.language||B.language,model:u.premium?"claude":"gpt"};if(u.verbose)console.log(Q.default.bold(`
87
+ \uD83D\uDCE6 Payload to send:
88
+ `)),console.log(Q.default.dim("─".repeat(50))),console.log(JSON.stringify(j,null,2)),console.log(Q.default.dim("─".repeat(50))),console.log(),console.log(Q.default.dim(`Payload size: ${JSON.stringify(j).length} bytes`)),console.log();let r=u.premium?"Claude Sonnet 4 (premium)":"GPT-4o mini",a=x("Connecting...").start();try{let Y=await fetch(`${L}/api/generate-stream`,{method:"POST",headers:{"Content-Type":"application/json","x-api-key":F},body:JSON.stringify(j)});if(!Y.ok){let e=await Y.text();throw Error(e||`HTTP ${Y.status}`)}if(!Y.body)throw Error("No response body");let I=Y.body.getReader(),b=new TextDecoder,K="",k="";while(!0){let{done:e,value:fD}=await I.read();if(e)break;K+=b.decode(fD,{stream:!0});let UD=K.split(`
89
+
90
+ `);K=UD.pop()||"";for(let $D of UD){if(!$D.startsWith("data: "))continue;let i=$D.slice(6);try{let N=JSON.parse(i);if(N.event==="progress")a.text=N.message||"Processing...";else if(N.event==="complete")k=N.releaseNotes||"";else if(N.event==="error")throw Error(N.error||"Generation failed")}catch(N){}}}if(!k)throw Error("No release notes received");if(a.succeed(Q.default.green("Release notes generated!")),console.log(`
91
+ `+Q.default.bold("─".repeat(50))+`
92
+ `),console.log(k),console.log(`
93
+ `+Q.default.bold("─".repeat(50))+`
94
+ `),u.output)(await import("node:fs")).writeFileSync(u.output,k),console.log(Q.default.green(`✓ Written to ${u.output}`));if(B.projectId&&F){let e=E?A.reduce((i,N)=>i+N.stats.filesChanged,0):0,fD=E?A.reduce((i,N)=>i+N.stats.additions,0):0,UD=E?A.reduce((i,N)=>i+N.stats.deletions,0):0,$D=await m3(F,B.projectId,$,_,$,J,k,{commitCount:A.length,filesChanged:e,additions:fD,deletions:UD});if($D)console.log(Q.default.green(`✓ View at ${L}/projects/${B.projectId}/releases/${$D.id}`))}console.log()}catch(Y){a.fail(Q.default.red("Failed to generate release notes")),console.log(Q.default.dim(Y instanceof Error?Y.message:"Unknown error")),console.log(),process.exit(1)}}function d3(D){let u={breaking:[],feat:[],fix:[],perf:[],refactor:[],docs:[],test:[],chore:[],other:[]};for(let F of D)if(F.breaking)u.breaking.push(F);else if(F.type&&u[F.type])u[F.type].push(F);else u.other.push(F);return u}function c3(D,u){let F={breaking:"\uD83D\uDEA8 Breaking Changes",feat:"✨ Features",fix:"\uD83D\uDC1B Bug Fixes",perf:"⚡ Performance",refactor:"♻️ Refactoring",docs:"\uD83D\uDCDA Documentation",test:"\uD83E\uDDEA Tests",chore:"\uD83D\uDD27 Chores",other:"\uD83D\uDCE6 Other"};for(let[E,B]of Object.entries(D)){if(B.length===0)continue;console.log(Q.default.bold(F[E]||E));for(let C of B){let A=C.scope?Q.default.dim(`(${C.scope})`):"";if(console.log(` ${Q.default.dim(C.shortHash)} ${C.subject} ${A}`),u&&"files"in C){let _=C;console.log(Q.default.dim(` ${_.stats.filesChanged} files | +${_.stats.additions} -${_.stats.deletions}`));for(let $ of _.files.slice(0,5))console.log(Q.default.dim(` ${$.file} (+${$.additions} -${$.deletions})`));if(_.files.length>5)console.log(Q.default.dim(` ... and ${_.files.length-5} more files`))}}console.log()}}async function p3(D,u,F,E){console.log(Q.default.bold(`
95
+ \uD83D\uDCDD Generate from Uncommitted Changes
96
+ `));let B=AF(F,u);if(B.stats.filesChanged===0){console.log(Q.default.yellow("No uncommitted changes found.")),console.log(Q.default.dim(`Stage or modify some files first.
97
+ `));return}if(console.log(Q.default.dim(`Staged files: ${B.staged.length}`)),console.log(Q.default.dim(`Unstaged files: ${B.unstaged.length}`)),console.log(Q.default.dim(`Total: ${B.stats.filesChanged} files | +${B.stats.additions} -${B.stats.deletions}`)),console.log(),D.dryRun){console.log(Q.default.bold(`Changes to analyze:
98
+ `)),r3(B),console.log(Q.default.dim(`
99
+ (Dry run - no API call made)
100
+ `));return}let C=P0(),A=[...B.staged,...B.unstaged].map((Z)=>Z.file),_=k0(A),$={project:{name:C.name,description:C.description,techStack:C.techStack,structure:C.structure,readme:C.readme},relatedFiles:_.length>0?_.map((Z)=>({file:Z.file,importedBy:Z.importedBy.slice(0,5),imports:Z.imports.slice(0,10)})):void 0,commits:[{hash:"uncommitted",subject:"Uncommitted changes",body:"",author:"local",type:"changes",files:[...B.staged,...B.unstaged].map((Z)=>({file:Z.file,additions:Z.additions,deletions:Z.deletions,diff:Z.diff})),stats:B.stats}],fromRef:"HEAD",toRef:"working-tree",format:D.format||"md",includeDiffs:!0,audience:D.audience||"internal",noHeader:D.header===!1,language:D.language||u.language,model:D.premium?"claude":"gpt"};if(D.verbose)console.log(Q.default.bold(`
101
+ \uD83D\uDCE6 Payload to send:
102
+ `)),console.log(Q.default.dim("─".repeat(50))),console.log(JSON.stringify($,null,2)),console.log(Q.default.dim("─".repeat(50))),console.log(),console.log(Q.default.dim(`Payload size: ${JSON.stringify($).length} bytes`)),console.log();let q=D.premium?"Claude Sonnet 4 (premium)":"GPT-4o mini",J=x("Connecting...").start();try{let Z=await fetch(`${L}/api/generate-stream`,{method:"POST",headers:{"Content-Type":"application/json","x-api-key":E},body:JSON.stringify($)});if(!Z.ok){let r=await Z.text();throw Error(r||`HTTP ${Z.status}`)}if(!Z.body)throw Error("No response body");let X=Z.body.getReader(),U=new TextDecoder,G="",j="";while(!0){let{done:r,value:a}=await X.read();if(r)break;G+=U.decode(a,{stream:!0});let Y=G.split(`
103
+
104
+ `);G=Y.pop()||"";for(let I of Y){if(!I.startsWith("data: "))continue;let b=I.slice(6);try{let K=JSON.parse(b);if(K.event==="progress")J.text=K.message||"Processing...";else if(K.event==="complete")j=K.releaseNotes||"";else if(K.event==="error")throw Error(K.error||"Generation failed")}catch(K){}}}if(!j)throw Error("No release notes received");if(J.succeed(Q.default.green("Release notes generated!")),console.log(`
105
+ `+Q.default.bold("─".repeat(50))+`
106
+ `),console.log(j),console.log(`
107
+ `+Q.default.bold("─".repeat(50))+`
108
+ `),D.output)(await import("node:fs")).writeFileSync(D.output,j),console.log(Q.default.green(`✓ Written to ${D.output}
109
+ `))}catch(Z){J.fail(Q.default.red("Failed to generate release notes")),console.log(Q.default.dim(Z instanceof Error?Z.message:"Unknown error")),console.log(),process.exit(1)}}function r3(D){if(D.staged.length>0){console.log(Q.default.bold("\uD83D\uDCE6 Staged Changes"));for(let u of D.staged)console.log(Q.default.dim(` ${u.file} (+${u.additions} -${u.deletions})`));console.log()}if(D.unstaged.length>0){console.log(Q.default.bold("\uD83D\uDCDD Unstaged Changes"));for(let u of D.unstaged){let F=u.status==="added"?Q.default.green("(new)"):"";console.log(Q.default.dim(` ${u.file} (+${u.additions} -${u.deletions}) ${F}`))}console.log()}}var V=w(o(),1);import*as QF from"node:readline";function a3(D){let u=QF.createInterface({input:process.stdin,output:process.stdout});return new Promise((F)=>{u.question(D,(E)=>{u.close(),F(E.trim())})})}async function ZF(D={}){if(console.log(V.default.bold(`
110
+ ⚙️ Initialize Shipi
111
+ `)),!hD())console.log(V.default.red("Error: Not a git repository")),console.log(V.default.dim(`Run this command in a git repository.
112
+ `)),process.exit(1);let u=MD()?SD():null;if(u&&!D.force){if(u.projectId){console.log(V.default.green(`✓ Already initialized: ${u.projectId}
113
+ `)),console.log(V.default.dim(`Use --force to reinitialize.
114
+ `));return}}let F=vD();if(!F){console.log(V.default.yellow("Not authenticated. Creating local config only.")),console.log(V.default.dim(`Run 'shipi login' to link this project to your account.
115
+ `)),yD({...h}),console.log(V.default.green(`✓ Created ${CD}
116
+ `)),O0();return}let E=BF(),B=E?.repo||"my-project",C=await a3(`Project name ${V.default.dim(`(${B})`)}: `)||B,A=x("Creating project...").start();try{let _=await fetch(`${L}/api/projects`,{method:"POST",headers:{"Content-Type":"application/json","x-api-key":F},body:JSON.stringify({name:C,repoUrl:E?`https://github.com/${E.owner}/${E.repo}`:void 0})});if(!_.ok){let J=await _.text();throw Error(J||`HTTP ${_.status}`)}let $=await _.json();if(!$.success||!$.project)throw Error($.error||"Failed to create project");A.succeed(V.default.green(`Project created: ${$.project.name} (${$.project.id})`));let q={...h,...u,projectId:$.project.id};yD(q),console.log(V.default.green(`
117
+ ✓ Created ${CD}
118
+ `)),O0()}catch(_){A.fail(V.default.red("Failed to create project")),console.log(V.default.dim(_ instanceof Error?_.message:"Unknown error")),console.log(),console.log(V.default.dim("Creating local config without project link...")),yD({...h,...u}),console.log(V.default.green(`✓ Created ${CD}
119
+ `)),O0()}}function O0(){console.log(V.default.bold("Next steps:")),console.log(` 1. Edit ${V.default.cyan(CD)} to customize paths`),console.log(` 2. Run ${V.default.cyan("shipi generate --dry-run")} to preview`),console.log(` 3. Run ${V.default.cyan("shipi generate --include-diffs")} to generate`),console.log()}m.name("shipi").description("Shipi CLI - AI-powered release notes generator").version("0.0.1");m.command("init").description("Initialize shipi.json configuration").option("--force","Overwrite existing config").action(ZF);m.command("login").description("Authenticate with Shipi").action(eu);m.command("logout").description("Log out from Shipi").action(DF);m.command("whoami").description("Show current authenticated user").action(uF);m.command("usage").description("Show current usage and plan limits").action(FF);m.command("generate [range]").description("Generate release notes from git history").option("--from <ref>","Start from specific commit or tag").option("-o, --output <file>","Write output to file").option("-f, --format <format>","Output format (md or json)","md").option("-a, --audience <type>","Target audience: internal (technical), customer (user-friendly), changelog (brief)","internal").option("--dry-run","Preview commits without generating").option("--no-diffs","Disable code diffs (diffs included by default)").option("--no-header","Omit the changelog header from output").option("-l, --language <lang>","Language for release notes (e.g., en, nl, de)").option("-u, --uncommitted","Generate from uncommitted changes (staged + unstaged)").option("--max-diff-size <bytes>","Max diff size per file in bytes","5000").option("-v, --verbose","Log the full payload before sending to AI").option("--premium","Use Claude for higher quality output (costs more)").action(JF);m.parse();
120
+
121
+ //# debugId=AFEEA36062FE893A64756E2164756E21