mirror of
https://github.com/thedotmack/claude-mem
synced 2026-04-25 17:15:04 +02:00
633 lines
568 KiB
JavaScript
Executable File
633 lines
568 KiB
JavaScript
Executable File
#!/usr/bin/env node
|
||
import{createRequire as MX}from"node:module";var ZX=Object.create;var{getPrototypeOf:AX,defineProperty:B1,getOwnPropertyNames:VX}=Object;var LX=Object.prototype.hasOwnProperty;var i0=(D,F,Q)=>{Q=D!=null?ZX(AX(D)):{};let B=F||!D||!D.__esModule?B1(Q,"default",{value:D,enumerable:!0}):Q;for(let Y of VX(D))if(!LX.call(B,Y))B1(B,Y,{get:()=>D[Y],enumerable:!0});return B};var VD=(D,F)=>()=>(F||D((F={exports:{}}).exports,F),F.exports);var hF=(D,F)=>{for(var Q in F)B1(D,Q,{get:F[Q],enumerable:!0,configurable:!0,set:(B)=>F[Q]=()=>B})};var OF=(D,F)=>()=>(D&&(F=D(D=0)),F);var hD=MX(import.meta.url);var o2=VD((NX)=>{class Q1 extends Error{constructor(D,F,Q){super(Q);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=F,this.exitCode=D,this.nestedError=void 0}}class w9 extends Q1{constructor(D){super(1,"commander.invalidArgument",D);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}}NX.CommanderError=Q1;NX.InvalidArgumentError=w9});var l8=VD((IX)=>{var{InvalidArgumentError:_X}=o2();class T9{constructor(D,F){switch(this.description=F||"",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,F){if(F===this.defaultValue||!Array.isArray(F))return[D];return F.concat(D)}default(D,F){return this.defaultValue=D,this.defaultValueDescription=F,this}argParser(D){return this.parseArg=D,this}choices(D){return this.argChoices=D.slice(),this.parseArg=(F,Q)=>{if(!this.argChoices.includes(F))throw new _X(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._concatValue(F,Q);return F},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}}function OX(D){let F=D.name()+(D.variadic===!0?"...":"");return D.required?"<"+F+">":"["+F+"]"}IX.Argument=T9;IX.humanReadableArgName=OX});var X1=VD((SX)=>{var{humanReadableArgName:PX}=l8();class P9{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 F=D.commands.filter((B)=>!B._hidden),Q=D._getHelpCommand();if(Q&&!Q._hidden)F.push(Q);if(this.sortSubcommands)F.sort((B,Y)=>{return B.name().localeCompare(Y.name())});return F}compareOptions(D,F){let Q=(B)=>{return B.short?B.short.replace(/^-/,""):B.long.replace(/^--/,"")};return Q(D).localeCompare(Q(F))}visibleOptions(D){let F=D.options.filter((B)=>!B.hidden),Q=D._getHelpOption();if(Q&&!Q.hidden){let B=Q.short&&D._findOption(Q.short),Y=Q.long&&D._findOption(Q.long);if(!B&&!Y)F.push(Q);else if(Q.long&&!Y)F.push(D.createOption(Q.long,Q.description));else if(Q.short&&!B)F.push(D.createOption(Q.short,Q.description))}if(this.sortOptions)F.sort(this.compareOptions);return F}visibleGlobalOptions(D){if(!this.showGlobalOptions)return[];let F=[];for(let Q=D.parent;Q;Q=Q.parent){let B=Q.options.filter((Y)=>!Y.hidden);F.push(...B)}if(this.sortOptions)F.sort(this.compareOptions);return F}visibleArguments(D){if(D._argsDescription)D.registeredArguments.forEach((F)=>{F.description=F.description||D._argsDescription[F.name()]||""});if(D.registeredArguments.find((F)=>F.description))return D.registeredArguments;return[]}subcommandTerm(D){let F=D.registeredArguments.map((Q)=>PX(Q)).join(" ");return D._name+(D._aliases[0]?"|"+D._aliases[0]:"")+(D.options.length?" [options]":"")+(F?" "+F:"")}optionTerm(D){return D.flags}argumentTerm(D){return D.name()}longestSubcommandTermLength(D,F){return F.visibleCommands(D).reduce((Q,B)=>{return Math.max(Q,this.displayWidth(F.styleSubcommandTerm(F.subcommandTerm(B))))},0)}longestOptionTermLength(D,F){return F.visibleOptions(D).reduce((Q,B)=>{return Math.max(Q,this.displayWidth(F.styleOptionTerm(F.optionTerm(B))))},0)}longestGlobalOptionTermLength(D,F){return F.visibleGlobalOptions(D).reduce((Q,B)=>{return Math.max(Q,this.displayWidth(F.styleOptionTerm(F.optionTerm(B))))},0)}longestArgumentTermLength(D,F){return F.visibleArguments(D).reduce((Q,B)=>{return Math.max(Q,this.displayWidth(F.styleArgumentTerm(F.argumentTerm(B))))},0)}commandUsage(D){let F=D._name;if(D._aliases[0])F=F+"|"+D._aliases[0];let Q="";for(let B=D.parent;B;B=B.parent)Q=B.name()+" "+Q;return Q+F+" "+D.usage()}commandDescription(D){return D.description()}subcommandDescription(D){return D.summary()||D.description()}optionDescription(D){let F=[];if(D.argChoices)F.push(`choices: ${D.argChoices.map((Q)=>JSON.stringify(Q)).join(", ")}`);if(D.defaultValue!==void 0){if(D.required||D.optional||D.isBoolean()&&typeof D.defaultValue==="boolean")F.push(`default: ${D.defaultValueDescription||JSON.stringify(D.defaultValue)}`)}if(D.presetArg!==void 0&&D.optional)F.push(`preset: ${JSON.stringify(D.presetArg)}`);if(D.envVar!==void 0)F.push(`env: ${D.envVar}`);if(F.length>0){let Q=`(${F.join(", ")})`;if(D.description)return`${D.description} ${Q}`;return Q}return D.description}argumentDescription(D){let F=[];if(D.argChoices)F.push(`choices: ${D.argChoices.map((Q)=>JSON.stringify(Q)).join(", ")}`);if(D.defaultValue!==void 0)F.push(`default: ${D.defaultValueDescription||JSON.stringify(D.defaultValue)}`);if(F.length>0){let Q=`(${F.join(", ")})`;if(D.description)return`${D.description} ${Q}`;return Q}return D.description}formatItemList(D,F,Q){if(F.length===0)return[];return[Q.styleTitle(D),...F,""]}groupItems(D,F,Q){let B=new Map;return D.forEach((Y)=>{let J=Q(Y);if(!B.has(J))B.set(J,[])}),F.forEach((Y)=>{let J=Q(Y);if(!B.has(J))B.set(J,[]);B.get(J).push(Y)}),B}formatHelp(D,F){let Q=F.padWidth(D,F),B=F.helpWidth??80;function Y(G,q){return F.formatItem(G,Q,q,F)}let J=[`${F.styleTitle("Usage:")} ${F.styleUsage(F.commandUsage(D))}`,""],X=F.commandDescription(D);if(X.length>0)J=J.concat([F.boxWrap(F.styleCommandDescription(X),B),""]);let C=F.visibleArguments(D).map((G)=>{return Y(F.styleArgumentTerm(F.argumentTerm(G)),F.styleArgumentDescription(F.argumentDescription(G)))});if(J=J.concat(this.formatItemList("Arguments:",C,F)),this.groupItems(D.options,F.visibleOptions(D),(G)=>G.helpGroupHeading??"Options:").forEach((G,q)=>{let E=G.map((U)=>{return Y(F.styleOptionTerm(F.optionTerm(U)),F.styleOptionDescription(F.optionDescription(U)))});J=J.concat(this.formatItemList(q,E,F))}),F.showGlobalOptions){let G=F.visibleGlobalOptions(D).map((q)=>{return Y(F.styleOptionTerm(F.optionTerm(q)),F.styleOptionDescription(F.optionDescription(q)))});J=J.concat(this.formatItemList("Global Options:",G,F))}return this.groupItems(D.commands,F.visibleCommands(D),(G)=>G.helpGroup()||"Commands:").forEach((G,q)=>{let E=G.map((U)=>{return Y(F.styleSubcommandTerm(F.subcommandTerm(U)),F.styleSubcommandDescription(F.subcommandDescription(U)))});J=J.concat(this.formatItemList(q,E,F))}),J.join(`
|
||
`)}displayWidth(D){return S9(D).length}styleTitle(D){return D}styleUsage(D){return D.split(" ").map((F)=>{if(F==="[options]")return this.styleOptionText(F);if(F==="[command]")return this.styleSubcommandText(F);if(F[0]==="["||F[0]==="<")return this.styleArgumentText(F);return this.styleCommandText(F)}).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((F)=>{if(F==="[options]")return this.styleOptionText(F);if(F[0]==="["||F[0]==="<")return this.styleArgumentText(F);return this.styleSubcommandText(F)}).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,F){return Math.max(F.longestOptionTermLength(D,F),F.longestGlobalOptionTermLength(D,F),F.longestSubcommandTermLength(D,F),F.longestArgumentTermLength(D,F))}preformatted(D){return/\n[^\S\r\n]/.test(D)}formatItem(D,F,Q,B){let J=" ".repeat(2);if(!Q)return J+D;let X=D.padEnd(F+D.length-B.displayWidth(D)),C=2,z=(this.helpWidth??80)-F-C-2,G;if(z<this.minWidthToWrap||B.preformatted(Q))G=Q;else G=B.boxWrap(Q,z).replace(/\n/g,`
|
||
`+" ".repeat(F+C));return J+X+" ".repeat(C)+G.replace(/\n/g,`
|
||
${J}`)}boxWrap(D,F){if(F<this.minWidthToWrap)return D;let Q=D.split(/\r\n|\n/),B=/[\s]*[^\s]+/g,Y=[];return Q.forEach((J)=>{let X=J.match(B);if(X===null){Y.push("");return}let C=[X.shift()],W=this.displayWidth(C[0]);X.forEach((z)=>{let G=this.displayWidth(z);if(W+G<=F){C.push(z),W+=G;return}Y.push(C.join(""));let q=z.trimStart();C=[q],W=this.displayWidth(q)}),Y.push(C.join(""))}),Y.join(`
|
||
`)}}function S9(D){let F=/\x1b\[\d*(;\d*)*m/g;return D.replace(F,"")}SX.Help=P9;SX.stripColor=S9});var Y1=VD((uX)=>{var{InvalidArgumentError:vX}=o2();class k9{constructor(D,F){this.flags=D,this.description=F||"",this.required=D.includes("<"),this.optional=D.includes("["),this.variadic=/\w\.\.\.[>\]]$/.test(D),this.mandatory=!1;let Q=xX(D);if(this.short=Q.shortFlag,this.long=Q.longFlag,this.negate=!1,this.long)this.negate=this.long.startsWith("--no-");this.defaultValue=void 0,this.defaultValueDescription=void 0,this.presetArg=void 0,this.envVar=void 0,this.parseArg=void 0,this.hidden=!1,this.argChoices=void 0,this.conflictsWith=[],this.implied=void 0,this.helpGroupHeading=void 0}default(D,F){return this.defaultValue=D,this.defaultValueDescription=F,this}preset(D){return this.presetArg=D,this}conflicts(D){return this.conflictsWith=this.conflictsWith.concat(D),this}implies(D){let F=D;if(typeof D==="string")F={[D]:!0};return this.implied=Object.assign(this.implied||{},F),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,F){if(F===this.defaultValue||!Array.isArray(F))return[D];return F.concat(D)}choices(D){return this.argChoices=D.slice(),this.parseArg=(F,Q)=>{if(!this.argChoices.includes(F))throw new vX(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._concatValue(F,Q);return F},this}name(){if(this.long)return this.long.replace(/^--/,"");return this.short.replace(/^-/,"")}attributeName(){if(this.negate)return b9(this.name().replace(/^no-/,""));return b9(this.name())}helpGroup(D){return this.helpGroupHeading=D,this}is(D){return this.short===D||this.long===D}isBoolean(){return!this.required&&!this.optional&&!this.negate}}class v9{constructor(D){this.positiveOptions=new Map,this.negativeOptions=new Map,this.dualOptions=new Set,D.forEach((F)=>{if(F.negate)this.negativeOptions.set(F.attributeName(),F);else this.positiveOptions.set(F.attributeName(),F)}),this.negativeOptions.forEach((F,Q)=>{if(this.positiveOptions.has(Q))this.dualOptions.add(Q)})}valueFromOption(D,F){let Q=F.attributeName();if(!this.dualOptions.has(Q))return!0;let B=this.negativeOptions.get(Q).presetArg,Y=B!==void 0?B:!1;return F.negate===(Y===D)}}function b9(D){return D.split("-").reduce((F,Q)=>{return F+Q[0].toUpperCase()+Q.slice(1)})}function xX(D){let F,Q,B=/^-[^-]$/,Y=/^--[^-]/,J=D.split(/[ |,]+/).concat("guard");if(B.test(J[0]))F=J.shift();if(Y.test(J[0]))Q=J.shift();if(!F&&B.test(J[0]))F=J.shift();if(!F&&Y.test(J[0]))F=Q,Q=J.shift();if(J[0].startsWith("-")){let X=J[0],C=`option creation failed due to '${X}' in option flags '${D}'`;if(/^-[^-][^-]/.test(X))throw new Error(`${C}
|
||
- a short flag is a single dash and a single character
|
||
- either use a single dash and a single character (for a short flag)
|
||
- or use a double dash for a long option (and can have two, like '--ws, --workspace')`);if(B.test(X))throw new Error(`${C}
|
||
- too many short flags`);if(Y.test(X))throw new Error(`${C}
|
||
- too many long flags`);throw new Error(`${C}
|
||
- unrecognised flag format`)}if(F===void 0&&Q===void 0)throw new Error(`option creation failed due to no flags found in '${D}'.`);return{shortFlag:F,longFlag:Q}}uX.Option=k9;uX.DualOptions=v9});var x9=VD((hX)=>{function gX(D,F){if(Math.abs(D.length-F.length)>3)return Math.max(D.length,F.length);let Q=[];for(let B=0;B<=D.length;B++)Q[B]=[B];for(let B=0;B<=F.length;B++)Q[0][B]=B;for(let B=1;B<=F.length;B++)for(let Y=1;Y<=D.length;Y++){let J=1;if(D[Y-1]===F[B-1])J=0;else J=1;if(Q[Y][B]=Math.min(Q[Y-1][B]+1,Q[Y][B-1]+1,Q[Y-1][B-1]+J),Y>1&&B>1&&D[Y-1]===F[B-2]&&D[Y-2]===F[B-1])Q[Y][B]=Math.min(Q[Y][B],Q[Y-2][B-2]+1)}return Q[D.length][F.length]}function $X(D,F){if(!F||F.length===0)return"";F=Array.from(new Set(F));let Q=D.startsWith("--");if(Q)D=D.slice(2),F=F.map((X)=>X.slice(2));let B=[],Y=3,J=0.4;if(F.forEach((X)=>{if(X.length<=1)return;let C=gX(D,X),W=Math.max(D.length,X.length);if((W-C)/W>J){if(C<Y)Y=C,B=[X];else if(C===Y)B.push(X)}}),B.sort((X,C)=>X.localeCompare(C)),Q)B=B.map((X)=>`--${X}`);if(B.length>1)return`
|
||
(Did you mean one of ${B.join(", ")}?)`;if(B.length===1)return`
|
||
(Did you mean ${B[0]}?)`;return""}hX.suggestSimilar=$X});var g9=VD((aX)=>{var lX=hD("node:events").EventEmitter,J1=hD("node:child_process"),VF=hD("node:path"),d8=hD("node:fs"),ID=hD("node:process"),{Argument:dX,humanReadableArgName:cX}=l8(),{CommanderError:C1}=o2(),{Help:pX,stripColor:nX}=X1(),{Option:u9,DualOptions:iX}=Y1(),{suggestSimilar:y9}=x9();class z1 extends lX{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:(F)=>ID.stdout.write(F),writeErr:(F)=>ID.stderr.write(F),outputError:(F,Q)=>Q(F),getOutHelpWidth:()=>ID.stdout.isTTY?ID.stdout.columns:void 0,getErrHelpWidth:()=>ID.stderr.isTTY?ID.stderr.columns:void 0,getOutHasColors:()=>W1()??(ID.stdout.isTTY&&ID.stdout.hasColors?.()),getErrHasColors:()=>W1()??(ID.stderr.isTTY&&ID.stderr.hasColors?.()),stripColor:(F)=>nX(F)},this._hidden=!1,this._helpOption=void 0,this._addImplicitHelpCommand=void 0,this._helpCommand=void 0,this._helpConfiguration={},this._helpGroupHeading=void 0,this._defaultCommandGroup=void 0,this._defaultOptionGroup=void 0}copyInheritedSettings(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 F=this;F;F=F.parent)D.push(F);return D}command(D,F,Q){let B=F,Y=Q;if(typeof B==="object"&&B!==null)Y=B,B=null;Y=Y||{};let[,J,X]=D.match(/([^ ]+) *(.*)/),C=this.createCommand(J);if(B)C.description(B),C._executableHandler=!0;if(Y.isDefault)this._defaultCommandName=C._name;if(C._hidden=!!(Y.noHelp||Y.hidden),C._executableFile=Y.executableFile||null,X)C.arguments(X);if(this._registerCommand(C),C.parent=this,C.copyInheritedSettings(this),B)return this;return C}createCommand(D){return new z1(D)}createHelp(){return Object.assign(new pX,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 this._outputConfiguration=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,F){if(!D._name)throw new Error(`Command passed to .addCommand() must have a name
|
||
- specify the name in Command constructor or using .name()`);if(F=F||{},F.isDefault)this._defaultCommandName=D._name;if(F.noHelp||F.hidden)D._hidden=!0;return this._registerCommand(D),D.parent=this,D._checkForBrokenPassThrough(),this}createArgument(D,F){return new dX(D,F)}argument(D,F,Q,B){let Y=this.createArgument(D,F);if(typeof Q==="function")Y.default(B).argParser(Q);else Y.default(Q);return this.addArgument(Y),this}arguments(D){return D.trim().split(/ +/).forEach((F)=>{this.argument(F)}),this}addArgument(D){let F=this.registeredArguments.slice(-1)[0];if(F&&F.variadic)throw new Error(`only the last argument can be variadic '${F.name()}'`);if(D.required&&D.defaultValue!==void 0&&D.parseArg===void 0)throw new Error(`a default value for a required argument is never used: '${D.name()}'`);return this.registeredArguments.push(D),this}helpCommand(D,F){if(typeof D==="boolean"){if(this._addImplicitHelpCommand=D,D&&this._defaultCommandGroup)this._initCommandGroup(this._getHelpCommand());return this}let Q=D??"help [command]",[,B,Y]=Q.match(/([^ ]+) *(.*)/),J=F??"display help for command",X=this.createCommand(B);if(X.helpOption(!1),Y)X.arguments(Y);if(J)X.description(J);if(this._addImplicitHelpCommand=!0,this._helpCommand=X,D||F)this._initCommandGroup(X);return this}addHelpCommand(D,F){if(typeof D!=="object")return this.helpCommand(D,F),this;return this._addImplicitHelpCommand=!0,this._helpCommand=D,this._initCommandGroup(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,F){let Q=["preSubcommand","preAction","postAction"];if(!Q.includes(D))throw new Error(`Unexpected value for event passed to hook : '${D}'.
|
||
Expecting one of '${Q.join("', '")}'`);if(this._lifeCycleHooks[D])this._lifeCycleHooks[D].push(F);else this._lifeCycleHooks[D]=[F];return this}exitOverride(D){if(D)this._exitCallback=D;else this._exitCallback=(F)=>{if(F.code!=="commander.executeSubCommandAsync")throw F};return this}_exit(D,F,Q){if(this._exitCallback)this._exitCallback(new C1(D,F,Q));ID.exit(D)}action(D){let F=(Q)=>{let B=this.registeredArguments.length,Y=Q.slice(0,B);if(this._storeOptionsAsProperties)Y[B]=this;else Y[B]=this.opts();return Y.push(this),D.apply(this,Y)};return this._actionHandler=F,this}createOption(D,F){return new u9(D,F)}_callParseArg(D,F,Q,B){try{return D.parseArg(F,Q)}catch(Y){if(Y.code==="commander.invalidArgument"){let J=`${B} ${Y.message}`;this.error(J,{exitCode:Y.exitCode,code:Y.code})}throw Y}}_registerOption(D){let F=D.short&&this._findOption(D.short)||D.long&&this._findOption(D.long);if(F){let Q=D.long&&this._findOption(D.long)?D.long:D.short;throw new Error(`Cannot add option '${D.flags}'${this._name&&` to command '${this._name}'`} due to conflicting flag '${Q}'
|
||
- already used by option '${F.flags}'`)}this._initOptionGroup(D),this.options.push(D)}_registerCommand(D){let F=(B)=>{return[B.name()].concat(B.aliases())},Q=F(D).find((B)=>this._findCommand(B));if(Q){let B=F(this._findCommand(Q)).join("|"),Y=F(D).join("|");throw new Error(`cannot add command '${Y}' as already have command '${B}'`)}this._initCommandGroup(D),this.commands.push(D)}addOption(D){this._registerOption(D);let F=D.name(),Q=D.attributeName();if(D.negate){let Y=D.long.replace(/^--no-/,"--");if(!this._findOption(Y))this.setOptionValueWithSource(Q,D.defaultValue===void 0?!0:D.defaultValue,"default")}else if(D.defaultValue!==void 0)this.setOptionValueWithSource(Q,D.defaultValue,"default");let B=(Y,J,X)=>{if(Y==null&&D.presetArg!==void 0)Y=D.presetArg;let C=this.getOptionValue(Q);if(Y!==null&&D.parseArg)Y=this._callParseArg(D,Y,C,J);else if(Y!==null&&D.variadic)Y=D._concatValue(Y,C);if(Y==null)if(D.negate)Y=!1;else if(D.isBoolean()||D.optional)Y=!0;else Y="";this.setOptionValueWithSource(Q,Y,X)};if(this.on("option:"+F,(Y)=>{let J=`error: option '${D.flags}' argument '${Y}' is invalid.`;B(Y,J,"cli")}),D.envVar)this.on("optionEnv:"+F,(Y)=>{let J=`error: option '${D.flags}' value '${Y}' from env '${D.envVar}' is invalid.`;B(Y,J,"env")});return this}_optionEx(D,F,Q,B,Y){if(typeof F==="object"&&F instanceof u9)throw new Error("To add an Option object use addOption() instead of option() or requiredOption()");let J=this.createOption(F,Q);if(J.makeOptionMandatory(!!D.mandatory),typeof B==="function")J.default(Y).argParser(B);else if(B instanceof RegExp){let X=B;B=(C,W)=>{let z=X.exec(C);return z?z[0]:W},J.default(Y).argParser(B)}else J.default(B);return this.addOption(J)}option(D,F,Q,B){return this._optionEx({},D,F,Q,B)}requiredOption(D,F,Q,B){return this._optionEx({mandatory:!0},D,F,Q,B)}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 new Error(`passThroughOptions cannot be used for '${this._name}' without turning on enablePositionalOptions for parent command(s)`)}storeOptionsAsProperties(D=!0){if(this.options.length)throw new Error("call .storeOptionsAsProperties() before adding options");if(Object.keys(this._optionValues).length)throw new Error("call .storeOptionsAsProperties() before setting option values");return this._storeOptionsAsProperties=!!D,this}getOptionValue(D){if(this._storeOptionsAsProperties)return this[D];return this._optionValues[D]}setOptionValue(D,F){return this.setOptionValueWithSource(D,F,void 0)}setOptionValueWithSource(D,F,Q){if(this._storeOptionsAsProperties)this[D]=F;else this._optionValues[D]=F;return this._optionValueSources[D]=Q,this}getOptionValueSource(D){return this._optionValueSources[D]}getOptionValueSourceWithGlobals(D){let F;return this._getCommandAndAncestors().forEach((Q)=>{if(Q.getOptionValueSource(D)!==void 0)F=Q.getOptionValueSource(D)}),F}_prepareUserArgs(D,F){if(D!==void 0&&!Array.isArray(D))throw new Error("first parameter to parse must be array or undefined");if(F=F||{},D===void 0&&F.from===void 0){if(ID.versions?.electron)F.from="electron";let B=ID.execArgv??[];if(B.includes("-e")||B.includes("--eval")||B.includes("-p")||B.includes("--print"))F.from="eval"}if(D===void 0)D=ID.argv;this.rawArgs=D.slice();let Q;switch(F.from){case void 0:case"node":this._scriptPath=D[1],Q=D.slice(2);break;case"electron":if(ID.defaultApp)this._scriptPath=D[1],Q=D.slice(2);else Q=D.slice(1);break;case"user":Q=D.slice(0);break;case"eval":Q=D.slice(1);break;default:throw new Error(`unexpected parse option { from: '${F.from}' }`)}if(!this._name&&this._scriptPath)this.nameFromFilename(this._scriptPath);return this._name=this._name||"program",Q}parse(D,F){this._prepareForParse();let Q=this._prepareUserArgs(D,F);return this._parseCommand([],Q),this}async parseAsync(D,F){this._prepareForParse();let Q=this._prepareUserArgs(D,F);return await this._parseCommand([],Q),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 new Error(`Can not call parse again when storeOptionsAsProperties is true.
|
||
- 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,F,Q){if(d8.existsSync(D))return;let B=F?`searched for local subcommand relative to directory '${F}'`:"no directory for search for local subcommand, use .executableDir() to supply a custom directory",Y=`'${D}' does not exist
|
||
- if '${Q}' is not meant to be an executable command, remove description parameter from '.command()' and use '.description()' instead
|
||
- if the default executable name is not suitable, use the executableFile option to supply a custom name or path
|
||
- ${B}`;throw new Error(Y)}_executeSubCommand(D,F){F=F.slice();let Q=!1,B=[".js",".ts",".tsx",".mjs",".cjs"];function Y(z,G){let q=VF.resolve(z,G);if(d8.existsSync(q))return q;if(B.includes(VF.extname(G)))return;let E=B.find((U)=>d8.existsSync(`${q}${U}`));if(E)return`${q}${E}`;return}this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let J=D._executableFile||`${this._name}-${D._name}`,X=this._executableDir||"";if(this._scriptPath){let z;try{z=d8.realpathSync(this._scriptPath)}catch{z=this._scriptPath}X=VF.resolve(VF.dirname(z),X)}if(X){let z=Y(X,J);if(!z&&!D._executableFile&&this._scriptPath){let G=VF.basename(this._scriptPath,VF.extname(this._scriptPath));if(G!==this._name)z=Y(X,`${G}-${D._name}`)}J=z||J}Q=B.includes(VF.extname(J));let C;if(ID.platform!=="win32")if(Q)F.unshift(J),F=f9(ID.execArgv).concat(F),C=J1.spawn(ID.argv[0],F,{stdio:"inherit"});else C=J1.spawn(J,F,{stdio:"inherit"});else this._checkForMissingExecutable(J,X,D._name),F.unshift(J),F=f9(ID.execArgv).concat(F),C=J1.spawn(ID.execPath,F,{stdio:"inherit"});if(!C.killed)["SIGUSR1","SIGUSR2","SIGTERM","SIGINT","SIGHUP"].forEach((G)=>{ID.on(G,()=>{if(C.killed===!1&&C.exitCode===null)C.kill(G)})});let W=this._exitCallback;C.on("close",(z)=>{if(z=z??1,!W)ID.exit(z);else W(new C1(z,"commander.executeSubCommandAsync","(close)"))}),C.on("error",(z)=>{if(z.code==="ENOENT")this._checkForMissingExecutable(J,X,D._name);else if(z.code==="EACCES")throw new Error(`'${J}' not executable`);if(!W)ID.exit(1);else{let G=new C1(1,"commander.executeSubCommandAsync","(error)");G.nestedError=z,W(G)}}),this.runningCommand=C}_dispatchSubcommand(D,F,Q){let B=this._findCommand(D);if(!B)this.help({error:!0});B._prepareForParse();let Y;return Y=this._chainOrCallSubCommandHook(Y,B,"preSubcommand"),Y=this._chainOrCall(Y,()=>{if(B._executableHandler)this._executeSubCommand(B,F.concat(Q));else return B._parseCommand(F,Q)}),Y}_dispatchHelpCommand(D){if(!D)this.help();let F=this._findCommand(D);if(F&&!F._executableHandler)F.help();return this._dispatchSubcommand(D,[],[this._getHelpOption()?.long??this._getHelpOption()?.short??"--help"])}_checkNumberOfArguments(){if(this.registeredArguments.forEach((D,F)=>{if(D.required&&this.args[F]==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=(Q,B,Y)=>{let J=B;if(B!==null&&Q.parseArg){let X=`error: command-argument value '${B}' is invalid for argument '${Q.name()}'.`;J=this._callParseArg(Q,B,Y,X)}return J};this._checkNumberOfArguments();let F=[];this.registeredArguments.forEach((Q,B)=>{let Y=Q.defaultValue;if(Q.variadic){if(B<this.args.length){if(Y=this.args.slice(B),Q.parseArg)Y=Y.reduce((J,X)=>{return D(Q,X,J)},Q.defaultValue)}else if(Y===void 0)Y=[]}else if(B<this.args.length){if(Y=this.args[B],Q.parseArg)Y=D(Q,Y,Q.defaultValue)}F[B]=Y}),this.processedArgs=F}_chainOrCall(D,F){if(D&&D.then&&typeof D.then==="function")return D.then(()=>F());return F()}_chainOrCallHooks(D,F){let Q=D,B=[];if(this._getCommandAndAncestors().reverse().filter((Y)=>Y._lifeCycleHooks[F]!==void 0).forEach((Y)=>{Y._lifeCycleHooks[F].forEach((J)=>{B.push({hookedCommand:Y,callback:J})})}),F==="postAction")B.reverse();return B.forEach((Y)=>{Q=this._chainOrCall(Q,()=>{return Y.callback(Y.hookedCommand,this)})}),Q}_chainOrCallSubCommandHook(D,F,Q){let B=D;if(this._lifeCycleHooks[Q]!==void 0)this._lifeCycleHooks[Q].forEach((Y)=>{B=this._chainOrCall(B,()=>{return Y(this,F)})});return B}_parseCommand(D,F){let Q=this.parseOptions(F);if(this._parseOptionsEnv(),this._parseOptionsImplied(),D=D.concat(Q.operands),F=Q.unknown,this.args=D.concat(F),D&&this._findCommand(D[0]))return this._dispatchSubcommand(D[0],D.slice(1),F);if(this._getHelpCommand()&&D[0]===this._getHelpCommand().name())return this._dispatchHelpCommand(D[1]);if(this._defaultCommandName)return this._outputHelpIfRequested(F),this._dispatchSubcommand(this._defaultCommandName,D,F);if(this.commands.length&&this.args.length===0&&!this._actionHandler&&!this._defaultCommandName)this.help({error:!0});this._outputHelpIfRequested(Q.unknown),this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let B=()=>{if(Q.unknown.length>0)this.unknownOption(Q.unknown[0])},Y=`command:${this.name()}`;if(this._actionHandler){B(),this._processArguments();let J;if(J=this._chainOrCallHooks(J,"preAction"),J=this._chainOrCall(J,()=>this._actionHandler(this.processedArgs)),this.parent)J=this._chainOrCall(J,()=>{this.parent.emit(Y,D,F)});return J=this._chainOrCallHooks(J,"postAction"),J}if(this.parent&&this.parent.listenerCount(Y))B(),this._processArguments(),this.parent.emit(Y,D,F);else if(D.length){if(this._findCommand("*"))return this._dispatchSubcommand("*",D,F);if(this.listenerCount("command:*"))this.emit("command:*",D,F);else if(this.commands.length)this.unknownCommand();else B(),this._processArguments()}else if(this.commands.length)B(),this.help({error:!0});else B(),this._processArguments()}_findCommand(D){if(!D)return;return this.commands.find((F)=>F._name===D||F._aliases.includes(D))}_findOption(D){return this.options.find((F)=>F.is(D))}_checkForMissingMandatoryOptions(){this._getCommandAndAncestors().forEach((D)=>{D.options.forEach((F)=>{if(F.mandatory&&D.getOptionValue(F.attributeName())===void 0)D.missingMandatoryOptionValue(F)})})}_checkForConflictingLocalOptions(){let D=this.options.filter((Q)=>{let B=Q.attributeName();if(this.getOptionValue(B)===void 0)return!1;return this.getOptionValueSource(B)!=="default"});D.filter((Q)=>Q.conflictsWith.length>0).forEach((Q)=>{let B=D.find((Y)=>Q.conflictsWith.includes(Y.attributeName()));if(B)this._conflictingOption(Q,B)})}_checkForConflictingOptions(){this._getCommandAndAncestors().forEach((D)=>{D._checkForConflictingLocalOptions()})}parseOptions(D){let F=[],Q=[],B=F,Y=D.slice();function J(W){return W.length>1&&W[0]==="-"}let X=(W)=>{if(!/^-\d*\.?\d+(e[+-]?\d+)?$/.test(W))return!1;return!this._getCommandAndAncestors().some((z)=>z.options.map((G)=>G.short).some((G)=>/^-\d$/.test(G)))},C=null;while(Y.length){let W=Y.shift();if(W==="--"){if(B===Q)B.push(W);B.push(...Y);break}if(C&&(!J(W)||X(W))){this.emit(`option:${C.name()}`,W);continue}if(C=null,J(W)){let z=this._findOption(W);if(z){if(z.required){let G=Y.shift();if(G===void 0)this.optionMissingArgument(z);this.emit(`option:${z.name()}`,G)}else if(z.optional){let G=null;if(Y.length>0&&(!J(Y[0])||X(Y[0])))G=Y.shift();this.emit(`option:${z.name()}`,G)}else this.emit(`option:${z.name()}`);C=z.variadic?z:null;continue}}if(W.length>2&&W[0]==="-"&&W[1]!=="-"){let z=this._findOption(`-${W[1]}`);if(z){if(z.required||z.optional&&this._combineFlagAndOptionalValue)this.emit(`option:${z.name()}`,W.slice(2));else this.emit(`option:${z.name()}`),Y.unshift(`-${W.slice(2)}`);continue}}if(/^--[^=]+=/.test(W)){let z=W.indexOf("="),G=this._findOption(W.slice(0,z));if(G&&(G.required||G.optional)){this.emit(`option:${G.name()}`,W.slice(z+1));continue}}if(B===F&&J(W)&&!(this.commands.length===0&&X(W)))B=Q;if((this._enablePositionalOptions||this._passThroughOptions)&&F.length===0&&Q.length===0){if(this._findCommand(W)){if(F.push(W),Y.length>0)Q.push(...Y);break}else if(this._getHelpCommand()&&W===this._getHelpCommand().name()){if(F.push(W),Y.length>0)F.push(...Y);break}else if(this._defaultCommandName){if(Q.push(W),Y.length>0)Q.push(...Y);break}}if(this._passThroughOptions){if(B.push(W),Y.length>0)B.push(...Y);break}B.push(W)}return{operands:F,unknown:Q}}opts(){if(this._storeOptionsAsProperties){let D={},F=this.options.length;for(let Q=0;Q<F;Q++){let B=this.options[Q].attributeName();D[B]=B===this._versionOptionName?this._version:this[B]}return D}return this._optionValues}optsWithGlobals(){return this._getCommandAndAncestors().reduce((D,F)=>Object.assign(D,F.opts()),{})}error(D,F){if(this._outputConfiguration.outputError(`${D}
|
||
`,this._outputConfiguration.writeErr),typeof this._showHelpAfterError==="string")this._outputConfiguration.writeErr(`${this._showHelpAfterError}
|
||
`);else if(this._showHelpAfterError)this._outputConfiguration.writeErr(`
|
||
`),this.outputHelp({error:!0});let Q=F||{},B=Q.exitCode||1,Y=Q.code||"commander.error";this._exit(B,Y,D)}_parseOptionsEnv(){this.options.forEach((D)=>{if(D.envVar&&D.envVar in ID.env){let F=D.attributeName();if(this.getOptionValue(F)===void 0||["default","config","env"].includes(this.getOptionValueSource(F)))if(D.required||D.optional)this.emit(`optionEnv:${D.name()}`,ID.env[D.envVar]);else this.emit(`optionEnv:${D.name()}`)}})}_parseOptionsImplied(){let D=new iX(this.options),F=(Q)=>{return this.getOptionValue(Q)!==void 0&&!["default","implied"].includes(this.getOptionValueSource(Q))};this.options.filter((Q)=>Q.implied!==void 0&&F(Q.attributeName())&&D.valueFromOption(this.getOptionValue(Q.attributeName()),Q)).forEach((Q)=>{Object.keys(Q.implied).filter((B)=>!F(B)).forEach((B)=>{this.setOptionValueWithSource(B,Q.implied[B],"implied")})})}missingArgument(D){let F=`error: missing required argument '${D}'`;this.error(F,{code:"commander.missingArgument"})}optionMissingArgument(D){let F=`error: option '${D.flags}' argument missing`;this.error(F,{code:"commander.optionMissingArgument"})}missingMandatoryOptionValue(D){let F=`error: required option '${D.flags}' not specified`;this.error(F,{code:"commander.missingMandatoryOptionValue"})}_conflictingOption(D,F){let Q=(J)=>{let X=J.attributeName(),C=this.getOptionValue(X),W=this.options.find((G)=>G.negate&&X===G.attributeName()),z=this.options.find((G)=>!G.negate&&X===G.attributeName());if(W&&(W.presetArg===void 0&&C===!1||W.presetArg!==void 0&&C===W.presetArg))return W;return z||J},B=(J)=>{let X=Q(J),C=X.attributeName();if(this.getOptionValueSource(C)==="env")return`environment variable '${X.envVar}'`;return`option '${X.flags}'`},Y=`error: ${B(D)} cannot be used with ${B(F)}`;this.error(Y,{code:"commander.conflictingOption"})}unknownOption(D){if(this._allowUnknownOption)return;let F="";if(D.startsWith("--")&&this._showSuggestionAfterError){let B=[],Y=this;do{let J=Y.createHelp().visibleOptions(Y).filter((X)=>X.long).map((X)=>X.long);B=B.concat(J),Y=Y.parent}while(Y&&!Y._enablePositionalOptions);F=y9(D,B)}let Q=`error: unknown option '${D}'${F}`;this.error(Q,{code:"commander.unknownOption"})}_excessArguments(D){if(this._allowExcessArguments)return;let F=this.registeredArguments.length,Q=F===1?"":"s",Y=`error: too many arguments${this.parent?` for '${this.name()}'`:""}. Expected ${F} argument${Q} but got ${D.length}.`;this.error(Y,{code:"commander.excessArguments"})}unknownCommand(){let D=this.args[0],F="";if(this._showSuggestionAfterError){let B=[];this.createHelp().visibleCommands(this).forEach((Y)=>{if(B.push(Y.name()),Y.alias())B.push(Y.alias())}),F=y9(D,B)}let Q=`error: unknown command '${D}'${F}`;this.error(Q,{code:"commander.unknownCommand"})}version(D,F,Q){if(D===void 0)return this._version;this._version=D,F=F||"-V, --version",Q=Q||"output the version number";let B=this.createOption(F,Q);return this._versionOptionName=B.attributeName(),this._registerOption(B),this.on("option:"+B.name(),()=>{this._outputConfiguration.writeOut(`${D}
|
||
`),this._exit(0,"commander.version",D)}),this}description(D,F){if(D===void 0&&F===void 0)return this._description;if(this._description=D,F)this._argsDescription=F;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 F=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler)F=this.commands[this.commands.length-1];if(D===F._name)throw new Error("Command alias can't be the same as its name");let Q=this.parent?._findCommand(D);if(Q){let B=[Q.name()].concat(Q.aliases()).join("|");throw new Error(`cannot add alias '${D}' to command '${this.name()}' as already have command '${B}'`)}return F._aliases.push(D),this}aliases(D){if(D===void 0)return this._aliases;return D.forEach((F)=>this.alias(F)),this}usage(D){if(D===void 0){if(this._usage)return this._usage;let F=this.registeredArguments.map((Q)=>{return cX(Q)});return[].concat(this.options.length||this._helpOption!==null?"[options]":[],this.commands.length?"[command]":[],this.registeredArguments.length?F:[]).join(" ")}return this._usage=D,this}name(D){if(D===void 0)return this._name;return this._name=D,this}helpGroup(D){if(D===void 0)return this._helpGroupHeading??"";return this._helpGroupHeading=D,this}commandsGroup(D){if(D===void 0)return this._defaultCommandGroup??"";return this._defaultCommandGroup=D,this}optionsGroup(D){if(D===void 0)return this._defaultOptionGroup??"";return this._defaultOptionGroup=D,this}_initOptionGroup(D){if(this._defaultOptionGroup&&!D.helpGroupHeading)D.helpGroup(this._defaultOptionGroup)}_initCommandGroup(D){if(this._defaultCommandGroup&&!D.helpGroup())D.helpGroup(this._defaultCommandGroup)}nameFromFilename(D){return this._name=VF.basename(D,VF.extname(D)),this}executableDir(D){if(D===void 0)return this._executableDir;return this._executableDir=D,this}helpInformation(D){let F=this.createHelp(),Q=this._getOutputContext(D);F.prepareContext({error:Q.error,helpWidth:Q.helpWidth,outputHasColors:Q.hasColors});let B=F.formatHelp(this,F);if(Q.hasColors)return B;return this._outputConfiguration.stripColor(B)}_getOutputContext(D){D=D||{};let F=!!D.error,Q,B,Y;if(F)Q=(X)=>this._outputConfiguration.writeErr(X),B=this._outputConfiguration.getErrHasColors(),Y=this._outputConfiguration.getErrHelpWidth();else Q=(X)=>this._outputConfiguration.writeOut(X),B=this._outputConfiguration.getOutHasColors(),Y=this._outputConfiguration.getOutHelpWidth();return{error:F,write:(X)=>{if(!B)X=this._outputConfiguration.stripColor(X);return Q(X)},hasColors:B,helpWidth:Y}}outputHelp(D){let F;if(typeof D==="function")F=D,D=void 0;let Q=this._getOutputContext(D),B={error:Q.error,write:Q.write,command:this};this._getCommandAndAncestors().reverse().forEach((J)=>J.emit("beforeAllHelp",B)),this.emit("beforeHelp",B);let Y=this.helpInformation({error:Q.error});if(F){if(Y=F(Y),typeof Y!=="string"&&!Buffer.isBuffer(Y))throw new Error("outputHelp callback must return a string or a Buffer")}if(Q.write(Y),this._getHelpOption()?.long)this.emit(this._getHelpOption().long);this.emit("afterHelp",B),this._getCommandAndAncestors().forEach((J)=>J.emit("afterAllHelp",B))}helpOption(D,F){if(typeof D==="boolean"){if(D){if(this._helpOption===null)this._helpOption=void 0;if(this._defaultOptionGroup)this._initOptionGroup(this._getHelpOption())}else this._helpOption=null;return this}if(this._helpOption=this.createOption(D??"-h, --help",F??"display help for command"),D||F)this._initOptionGroup(this._helpOption);return this}_getHelpOption(){if(this._helpOption===void 0)this.helpOption(void 0,void 0);return this._helpOption}addHelpOption(D){return this._helpOption=D,this._initOptionGroup(D),this}help(D){this.outputHelp(D);let F=Number(ID.exitCode??0);if(F===0&&D&&typeof D!=="function"&&D.error)F=1;this._exit(F,"commander.help","(outputHelp)")}addHelpText(D,F){let Q=["beforeAll","before","after","afterAll"];if(!Q.includes(D))throw new Error(`Unexpected value for position to addHelpText.
|
||
Expecting one of '${Q.join("', '")}'`);let B=`${D}Help`;return this.on(B,(Y)=>{let J;if(typeof F==="function")J=F({error:Y.error,command:Y.command});else J=F;if(J)Y.write(`${J}
|
||
`)}),this}_outputHelpIfRequested(D){let F=this._getHelpOption();if(F&&D.find((B)=>F.is(B)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}function f9(D){return D.map((F)=>{if(!F.startsWith("--inspect"))return F;let Q,B="127.0.0.1",Y="9229",J;if((J=F.match(/^(--inspect(-brk)?)$/))!==null)Q=J[1];else if((J=F.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null)if(Q=J[1],/^\d+$/.test(J[3]))Y=J[3];else B=J[3];else if((J=F.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null)Q=J[1],B=J[3],Y=J[4];if(Q&&Y!=="0")return`${Q}=${B}:${parseInt(Y)+1}`;return F})}function W1(){if(ID.env.NO_COLOR||ID.env.FORCE_COLOR==="0"||ID.env.FORCE_COLOR==="false")return!1;if(ID.env.FORCE_COLOR||ID.env.CLICOLOR_FORCE!==void 0)return!0;return}aX.Command=z1;aX.useColor=W1});var l9=VD((eX)=>{var{Argument:$9}=l8(),{Command:G1}=g9(),{CommanderError:sX,InvalidArgumentError:h9}=o2(),{Help:tX}=X1(),{Option:m9}=Y1();eX.program=new G1;eX.createCommand=(D)=>new G1(D);eX.createOption=(D,F)=>new m9(D,F);eX.createArgument=(D,F)=>new $9(D,F);eX.Command=G1;eX.Option=m9;eX.Argument=$9;eX.Help=tX;eX.CommanderError=sX;eX.InvalidArgumentError=h9;eX.InvalidOptionArgumentError=h9});var K1=VD((cU,e9)=>{var q1={to(D,F){if(!F)return`\x1B[${D+1}G`;return`\x1B[${F+1};${D+1}H`},move(D,F){let Q="";if(D<0)Q+=`\x1B[${-D}D`;else if(D>0)Q+=`\x1B[${D}C`;if(F<0)Q+=`\x1B[${-F}A`;else if(F>0)Q+=`\x1B[${F}B`;return Q},up:(D=1)=>`\x1B[${D}A`,down:(D=1)=>`\x1B[${D}B`,forward:(D=1)=>`\x1B[${D}C`,backward:(D=1)=>`\x1B[${D}D`,nextLine:(D=1)=>"\x1B[E".repeat(D),prevLine:(D=1)=>"\x1B[F".repeat(D),left:"\x1B[G",hide:"\x1B[?25l",show:"\x1B[?25h",save:"\x1B7",restore:"\x1B8"},ZY={up:(D=1)=>"\x1B[S".repeat(D),down:(D=1)=>"\x1B[T".repeat(D)},AY={screen:"\x1B[2J",up:(D=1)=>"\x1B[1J".repeat(D),down:(D=1)=>"\x1B[J".repeat(D),line:"\x1B[2K",lineEnd:"\x1B[K",lineStart:"\x1B[1K",lines(D){let F="";for(let Q=0;Q<D;Q++)F+=this.line+(Q<D-1?q1.up():"");if(D)F+=q1.left;return F}};e9.exports={cursor:q1,scroll:ZY,erase:AY,beep:"\x07"}});var U1=VD((pU,H1)=>{var p8=process||{},D3=p8.argv||[],c8=p8.env||{},VY=!(!!c8.NO_COLOR||D3.includes("--no-color"))&&(!!c8.FORCE_COLOR||D3.includes("--color")||p8.platform==="win32"||(p8.stdout||{}).isTTY&&c8.TERM!=="dumb"||!!c8.CI),LY=(D,F,Q=D)=>(B)=>{let Y=""+B,J=Y.indexOf(F,D.length);return~J?D+MY(Y,F,Q,J)+F:D+Y+F},MY=(D,F,Q,B)=>{let Y="",J=0;do Y+=D.substring(J,B)+Q,J=B+F.length,B=D.indexOf(F,J);while(~B);return Y+D.substring(J)},F3=(D=VY)=>{let F=D?LY:()=>String;return{isColorSupported:D,reset:F("\x1B[0m","\x1B[0m"),bold:F("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:F("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:F("\x1B[3m","\x1B[23m"),underline:F("\x1B[4m","\x1B[24m"),inverse:F("\x1B[7m","\x1B[27m"),hidden:F("\x1B[8m","\x1B[28m"),strikethrough:F("\x1B[9m","\x1B[29m"),black:F("\x1B[30m","\x1B[39m"),red:F("\x1B[31m","\x1B[39m"),green:F("\x1B[32m","\x1B[39m"),yellow:F("\x1B[33m","\x1B[39m"),blue:F("\x1B[34m","\x1B[39m"),magenta:F("\x1B[35m","\x1B[39m"),cyan:F("\x1B[36m","\x1B[39m"),white:F("\x1B[37m","\x1B[39m"),gray:F("\x1B[90m","\x1B[39m"),bgBlack:F("\x1B[40m","\x1B[49m"),bgRed:F("\x1B[41m","\x1B[49m"),bgGreen:F("\x1B[42m","\x1B[49m"),bgYellow:F("\x1B[43m","\x1B[49m"),bgBlue:F("\x1B[44m","\x1B[49m"),bgMagenta:F("\x1B[45m","\x1B[49m"),bgCyan:F("\x1B[46m","\x1B[49m"),bgWhite:F("\x1B[47m","\x1B[49m"),blackBright:F("\x1B[90m","\x1B[39m"),redBright:F("\x1B[91m","\x1B[39m"),greenBright:F("\x1B[92m","\x1B[39m"),yellowBright:F("\x1B[93m","\x1B[39m"),blueBright:F("\x1B[94m","\x1B[39m"),magentaBright:F("\x1B[95m","\x1B[39m"),cyanBright:F("\x1B[96m","\x1B[39m"),whiteBright:F("\x1B[97m","\x1B[39m"),bgBlackBright:F("\x1B[100m","\x1B[49m"),bgRedBright:F("\x1B[101m","\x1B[49m"),bgGreenBright:F("\x1B[102m","\x1B[49m"),bgYellowBright:F("\x1B[103m","\x1B[49m"),bgBlueBright:F("\x1B[104m","\x1B[49m"),bgMagentaBright:F("\x1B[105m","\x1B[49m"),bgCyanBright:F("\x1B[106m","\x1B[49m"),bgWhiteBright:F("\x1B[107m","\x1B[49m")}};H1.exports=F3();H1.exports.createColors=F3});var x3=VD((v1,x1)=>{(function(D,F){typeof v1==="object"&&typeof x1!=="undefined"?x1.exports=F():typeof define==="function"&&define.amd?define(F):(D=typeof globalThis!=="undefined"?globalThis:D||self,D.tinycolor=F())})(v1,function(){function D(N){return D=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(_){return typeof _}:function(_){return _&&typeof Symbol=="function"&&_.constructor===Symbol&&_!==Symbol.prototype?"symbol":typeof _},D(N)}var F=/^\s+/,Q=/\s+$/;function B(N,_){if(N=N?N:"",_=_||{},N instanceof B)return N;if(!(this instanceof B))return new B(N,_);var H=Y(N);if(this._originalInput=N,this._r=H.r,this._g=H.g,this._b=H.b,this._a=H.a,this._roundA=Math.round(100*this._a)/100,this._format=_.format||H.format,this._gradientType=_.gradientType,this._r<1)this._r=Math.round(this._r);if(this._g<1)this._g=Math.round(this._g);if(this._b<1)this._b=Math.round(this._b);this._ok=H.ok}B.prototype={isDark:function N(){return this.getBrightness()<128},isLight:function N(){return!this.isDark()},isValid:function N(){return this._ok},getOriginalInput:function N(){return this._originalInput},getFormat:function N(){return this._format},getAlpha:function N(){return this._a},getBrightness:function N(){var _=this.toRgb();return(_.r*299+_.g*587+_.b*114)/1000},getLuminance:function N(){var _=this.toRgb(),H,T,h,c,l,p;if(H=_.r/255,T=_.g/255,h=_.b/255,H<=0.03928)c=H/12.92;else c=Math.pow((H+0.055)/1.055,2.4);if(T<=0.03928)l=T/12.92;else l=Math.pow((T+0.055)/1.055,2.4);if(h<=0.03928)p=h/12.92;else p=Math.pow((h+0.055)/1.055,2.4);return 0.2126*c+0.7152*l+0.0722*p},setAlpha:function N(_){return this._a=w(_),this._roundA=Math.round(100*this._a)/100,this},toHsv:function N(){var _=W(this._r,this._g,this._b);return{h:_.h*360,s:_.s,v:_.v,a:this._a}},toHsvString:function N(){var _=W(this._r,this._g,this._b),H=Math.round(_.h*360),T=Math.round(_.s*100),h=Math.round(_.v*100);return this._a==1?"hsv("+H+", "+T+"%, "+h+"%)":"hsva("+H+", "+T+"%, "+h+"%, "+this._roundA+")"},toHsl:function N(){var _=X(this._r,this._g,this._b);return{h:_.h*360,s:_.s,l:_.l,a:this._a}},toHslString:function N(){var _=X(this._r,this._g,this._b),H=Math.round(_.h*360),T=Math.round(_.s*100),h=Math.round(_.l*100);return this._a==1?"hsl("+H+", "+T+"%, "+h+"%)":"hsla("+H+", "+T+"%, "+h+"%, "+this._roundA+")"},toHex:function N(_){return G(this._r,this._g,this._b,_)},toHexString:function N(_){return"#"+this.toHex(_)},toHex8:function N(_){return q(this._r,this._g,this._b,this._a,_)},toHex8String:function N(_){return"#"+this.toHex8(_)},toRgb:function N(){return{r:Math.round(this._r),g:Math.round(this._g),b:Math.round(this._b),a:this._a}},toRgbString:function N(){return this._a==1?"rgb("+Math.round(this._r)+", "+Math.round(this._g)+", "+Math.round(this._b)+")":"rgba("+Math.round(this._r)+", "+Math.round(this._g)+", "+Math.round(this._b)+", "+this._roundA+")"},toPercentageRgb:function N(){return{r:Math.round(S(this._r,255)*100)+"%",g:Math.round(S(this._g,255)*100)+"%",b:Math.round(S(this._b,255)*100)+"%",a:this._a}},toPercentageRgbString:function N(){return this._a==1?"rgb("+Math.round(S(this._r,255)*100)+"%, "+Math.round(S(this._g,255)*100)+"%, "+Math.round(S(this._b,255)*100)+"%)":"rgba("+Math.round(S(this._r,255)*100)+"%, "+Math.round(S(this._g,255)*100)+"%, "+Math.round(S(this._b,255)*100)+"%, "+this._roundA+")"},toName:function N(){if(this._a===0)return"transparent";if(this._a<1)return!1;return y[G(this._r,this._g,this._b,!0)]||!1},toFilter:function N(_){var H="#"+E(this._r,this._g,this._b,this._a),T=H,h=this._gradientType?"GradientType = 1, ":"";if(_){var c=B(_);T="#"+E(c._r,c._g,c._b,c._a)}return"progid:DXImageTransform.Microsoft.gradient("+h+"startColorstr="+H+",endColorstr="+T+")"},toString:function N(_){var H=!!_;_=_||this._format;var T=!1,h=this._a<1&&this._a>=0,c=!H&&h&&(_==="hex"||_==="hex6"||_==="hex3"||_==="hex4"||_==="hex8"||_==="name");if(c){if(_==="name"&&this._a===0)return this.toName();return this.toRgbString()}if(_==="rgb")T=this.toRgbString();if(_==="prgb")T=this.toPercentageRgbString();if(_==="hex"||_==="hex6")T=this.toHexString();if(_==="hex3")T=this.toHexString(!0);if(_==="hex4")T=this.toHex8String(!0);if(_==="hex8")T=this.toHex8String();if(_==="name")T=this.toName();if(_==="hsl")T=this.toHslString();if(_==="hsv")T=this.toHsvString();return T||this.toHexString()},clone:function N(){return B(this.toString())},_applyModification:function N(_,H){var T=_.apply(null,[this].concat([].slice.call(H)));return this._r=T._r,this._g=T._g,this._b=T._b,this.setAlpha(T._a),this},lighten:function N(){return this._applyModification(V,arguments)},brighten:function N(){return this._applyModification(j,arguments)},darken:function N(){return this._applyModification(L,arguments)},desaturate:function N(){return this._applyModification(U,arguments)},saturate:function N(){return this._applyModification(A,arguments)},greyscale:function N(){return this._applyModification(K,arguments)},spin:function N(){return this._applyModification(R,arguments)},_applyCombination:function N(_,H){return _.apply(null,[this].concat([].slice.call(H)))},analogous:function N(){return this._applyCombination(u,arguments)},complement:function N(){return this._applyCombination(b,arguments)},monochromatic:function N(){return this._applyCombination(f,arguments)},splitcomplement:function N(){return this._applyCombination(I,arguments)},triad:function N(){return this._applyCombination(k,[3])},tetrad:function N(){return this._applyCombination(k,[4])}},B.fromRatio=function(N,_){if(D(N)=="object"){var H={};for(var T in N)if(N.hasOwnProperty(T))if(T==="a")H[T]=N[T];else H[T]=o(N[T]);N=H}return B(N,_)};function Y(N){var _={r:0,g:0,b:0},H=1,T=null,h=null,c=null,l=!1,p=!1;if(typeof N=="string")N=dD(N);if(D(N)=="object"){if(MD(N.r)&&MD(N.g)&&MD(N.b))_=J(N.r,N.g,N.b),l=!0,p=String(N.r).substr(-1)==="%"?"prgb":"rgb";else if(MD(N.h)&&MD(N.s)&&MD(N.v))T=o(N.s),h=o(N.v),_=z(N.h,T,h),l=!0,p="hsv";else if(MD(N.h)&&MD(N.s)&&MD(N.l))T=o(N.s),c=o(N.l),_=C(N.h,T,c),l=!0,p="hsl";if(N.hasOwnProperty("a"))H=N.a}return H=w(H),{ok:l,format:N.format||p,r:Math.min(255,Math.max(_.r,0)),g:Math.min(255,Math.max(_.g,0)),b:Math.min(255,Math.max(_.b,0)),a:H}}function J(N,_,H){return{r:S(N,255)*255,g:S(_,255)*255,b:S(H,255)*255}}function X(N,_,H){N=S(N,255),_=S(_,255),H=S(H,255);var T=Math.max(N,_,H),h=Math.min(N,_,H),c,l,p=(T+h)/2;if(T==h)c=l=0;else{var QD=T-h;switch(l=p>0.5?QD/(2-T-h):QD/(T+h),T){case N:c=(_-H)/QD+(_<H?6:0);break;case _:c=(H-N)/QD+2;break;case H:c=(N-_)/QD+4;break}c/=6}return{h:c,s:l,l:p}}function C(N,_,H){var T,h,c;N=S(N,360),_=S(_,100),H=S(H,100);function l(KD,WD,AD){if(AD<0)AD+=1;if(AD>1)AD-=1;if(AD<0.16666666666666666)return KD+(WD-KD)*6*AD;if(AD<0.5)return WD;if(AD<0.6666666666666666)return KD+(WD-KD)*(0.6666666666666666-AD)*6;return KD}if(_===0)T=h=c=H;else{var p=H<0.5?H*(1+_):H+_-H*_,QD=2*H-p;T=l(QD,p,N+0.3333333333333333),h=l(QD,p,N),c=l(QD,p,N-0.3333333333333333)}return{r:T*255,g:h*255,b:c*255}}function W(N,_,H){N=S(N,255),_=S(_,255),H=S(H,255);var T=Math.max(N,_,H),h=Math.min(N,_,H),c,l,p=T,QD=T-h;if(l=T===0?0:QD/T,T==h)c=0;else{switch(T){case N:c=(_-H)/QD+(_<H?6:0);break;case _:c=(H-N)/QD+2;break;case H:c=(N-_)/QD+4;break}c/=6}return{h:c,s:l,v:p}}function z(N,_,H){N=S(N,360)*6,_=S(_,100),H=S(H,100);var T=Math.floor(N),h=N-T,c=H*(1-_),l=H*(1-h*_),p=H*(1-(1-h)*_),QD=T%6,KD=[H,l,c,c,p,H][QD],WD=[p,H,H,l,c,c][QD],AD=[c,c,p,H,H,l][QD];return{r:KD*255,g:WD*255,b:AD*255}}function G(N,_,H,T){var h=[DD(Math.round(N).toString(16)),DD(Math.round(_).toString(16)),DD(Math.round(H).toString(16))];if(T&&h[0].charAt(0)==h[0].charAt(1)&&h[1].charAt(0)==h[1].charAt(1)&&h[2].charAt(0)==h[2].charAt(1))return h[0].charAt(0)+h[1].charAt(0)+h[2].charAt(0);return h.join("")}function q(N,_,H,T,h){var c=[DD(Math.round(N).toString(16)),DD(Math.round(_).toString(16)),DD(Math.round(H).toString(16)),DD(JD(T))];if(h&&c[0].charAt(0)==c[0].charAt(1)&&c[1].charAt(0)==c[1].charAt(1)&&c[2].charAt(0)==c[2].charAt(1)&&c[3].charAt(0)==c[3].charAt(1))return c[0].charAt(0)+c[1].charAt(0)+c[2].charAt(0)+c[3].charAt(0);return c.join("")}function E(N,_,H,T){var h=[DD(JD(T)),DD(Math.round(N).toString(16)),DD(Math.round(_).toString(16)),DD(Math.round(H).toString(16))];return h.join("")}B.equals=function(N,_){if(!N||!_)return!1;return B(N).toRgbString()==B(_).toRgbString()},B.random=function(){return B.fromRatio({r:Math.random(),g:Math.random(),b:Math.random()})};function U(N,_){_=_===0?0:_||10;var H=B(N).toHsl();return H.s-=_/100,H.s=g(H.s),B(H)}function A(N,_){_=_===0?0:_||10;var H=B(N).toHsl();return H.s+=_/100,H.s=g(H.s),B(H)}function K(N){return B(N).desaturate(100)}function V(N,_){_=_===0?0:_||10;var H=B(N).toHsl();return H.l+=_/100,H.l=g(H.l),B(H)}function j(N,_){_=_===0?0:_||10;var H=B(N).toRgb();return H.r=Math.max(0,Math.min(255,H.r-Math.round(255*-(_/100)))),H.g=Math.max(0,Math.min(255,H.g-Math.round(255*-(_/100)))),H.b=Math.max(0,Math.min(255,H.b-Math.round(255*-(_/100)))),B(H)}function L(N,_){_=_===0?0:_||10;var H=B(N).toHsl();return H.l-=_/100,H.l=g(H.l),B(H)}function R(N,_){var H=B(N).toHsl(),T=(H.h+_)%360;return H.h=T<0?360+T:T,B(H)}function b(N){var _=B(N).toHsl();return _.h=(_.h+180)%360,B(_)}function k(N,_){if(isNaN(_)||_<=0)throw new Error("Argument to polyad must be a positive number");var H=B(N).toHsl(),T=[B(N)],h=360/_;for(var c=1;c<_;c++)T.push(B({h:(H.h+c*h)%360,s:H.s,l:H.l}));return T}function I(N){var _=B(N).toHsl(),H=_.h;return[B(N),B({h:(H+72)%360,s:_.s,l:_.l}),B({h:(H+216)%360,s:_.s,l:_.l})]}function u(N,_,H){_=_||6,H=H||30;var T=B(N).toHsl(),h=360/H,c=[B(N)];for(T.h=(T.h-(h*_>>1)+720)%360;--_;)T.h=(T.h+h)%360,c.push(B(T));return c}function f(N,_){_=_||6;var H=B(N).toHsv(),T=H.h,h=H.s,c=H.v,l=[],p=1/_;while(_--)l.push(B({h:T,s:h,v:c})),c=(c+p)%1;return l}B.mix=function(N,_,H){H=H===0?0:H||50;var T=B(N).toRgb(),h=B(_).toRgb(),c=H/100,l={r:(h.r-T.r)*c+T.r,g:(h.g-T.g)*c+T.g,b:(h.b-T.b)*c+T.b,a:(h.a-T.a)*c+T.a};return B(l)},B.readability=function(N,_){var H=B(N),T=B(_);return(Math.max(H.getLuminance(),T.getLuminance())+0.05)/(Math.min(H.getLuminance(),T.getLuminance())+0.05)},B.isReadable=function(N,_,H){var T=B.readability(N,_),h,c;switch(c=!1,h=nD(H),h.level+h.size){case"AAsmall":case"AAAlarge":c=T>=4.5;break;case"AAlarge":c=T>=3;break;case"AAAsmall":c=T>=7;break}return c},B.mostReadable=function(N,_,H){var T=null,h=0,c,l,p,QD;H=H||{},l=H.includeFallbackColors,p=H.level,QD=H.size;for(var KD=0;KD<_.length;KD++)if(c=B.readability(N,_[KD]),c>h)h=c,T=B(_[KD]);if(B.isReadable(N,T,{level:p,size:QD})||!l)return T;else return H.includeFallbackColors=!1,B.mostReadable(N,["#fff","#000"],H)};var O=B.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},y=B.hexNames=x(O);function x(N){var _={};for(var H in N)if(N.hasOwnProperty(H))_[N[H]]=H;return _}function w(N){if(N=parseFloat(N),isNaN(N)||N<0||N>1)N=1;return N}function S(N,_){if(n(N))N="100%";var H=a(N);if(N=Math.min(_,Math.max(0,parseFloat(N))),H)N=parseInt(N*_,10)/100;if(Math.abs(N-_)<0.000001)return 1;return N%_/parseFloat(_)}function g(N){return Math.min(1,Math.max(0,N))}function d(N){return parseInt(N,16)}function n(N){return typeof N=="string"&&N.indexOf(".")!=-1&&parseFloat(N)===1}function a(N){return typeof N==="string"&&N.indexOf("%")!=-1}function DD(N){return N.length==1?"0"+N:""+N}function o(N){if(N<=1)N=N*100+"%";return N}function JD(N){return Math.round(parseFloat(N)*255).toString(16)}function CD(N){return d(N)/255}var FD=function(){var N="[-\\+]?\\d+%?",_="[-\\+]?\\d*\\.\\d+%?",H="(?:"+_+")|(?:"+N+")",T="[\\s|\\(]+("+H+")[,|\\s]+("+H+")[,|\\s]+("+H+")\\s*\\)?",h="[\\s|\\(]+("+H+")[,|\\s]+("+H+")[,|\\s]+("+H+")[,|\\s]+("+H+")\\s*\\)?";return{CSS_UNIT:new RegExp(H),rgb:new RegExp("rgb"+T),rgba:new RegExp("rgba"+h),hsl:new RegExp("hsl"+T),hsla:new RegExp("hsla"+h),hsv:new RegExp("hsv"+T),hsva:new RegExp("hsva"+h),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}}();function MD(N){return!!FD.CSS_UNIT.exec(N)}function dD(N){N=N.replace(F,"").replace(Q,"").toLowerCase();var _=!1;if(O[N])N=O[N],_=!0;else if(N=="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var H;if(H=FD.rgb.exec(N))return{r:H[1],g:H[2],b:H[3]};if(H=FD.rgba.exec(N))return{r:H[1],g:H[2],b:H[3],a:H[4]};if(H=FD.hsl.exec(N))return{h:H[1],s:H[2],l:H[3]};if(H=FD.hsla.exec(N))return{h:H[1],s:H[2],l:H[3],a:H[4]};if(H=FD.hsv.exec(N))return{h:H[1],s:H[2],v:H[3]};if(H=FD.hsva.exec(N))return{h:H[1],s:H[2],v:H[3],a:H[4]};if(H=FD.hex8.exec(N))return{r:d(H[1]),g:d(H[2]),b:d(H[3]),a:CD(H[4]),format:_?"name":"hex8"};if(H=FD.hex6.exec(N))return{r:d(H[1]),g:d(H[2]),b:d(H[3]),format:_?"name":"hex"};if(H=FD.hex4.exec(N))return{r:d(H[1]+""+H[1]),g:d(H[2]+""+H[2]),b:d(H[3]+""+H[3]),a:CD(H[4]+""+H[4]),format:_?"name":"hex8"};if(H=FD.hex3.exec(N))return{r:d(H[1]+""+H[1]),g:d(H[2]+""+H[2]),b:d(H[3]+""+H[3]),format:_?"name":"hex"};return!1}function nD(N){var _,H;if(N=N||{level:"AA",size:"small"},_=(N.level||"AA").toUpperCase(),H=(N.size||"small").toLowerCase(),_!=="AA"&&_!=="AAA")_="AA";if(H!=="small"&&H!=="large")H="small";return{level:_,size:H}}return B})});var m3=VD((wE,h3)=>{var D8=x3(),g3={r:256,g:256,b:256,a:1},$3={h:360,s:1,v:1,a:1};function y1(D,F,Q){let B={};for(let Y in D)if(D.hasOwnProperty(Y))B[Y]=Q===0?0:(F[Y]-D[Y])/Q;return B}function f1(D,F,Q,B){let Y={};for(let J in F)if(F.hasOwnProperty(J))Y[J]=D[J]*Q+F[J],Y[J]=Y[J]<0?Y[J]+B[J]:B[J]!==1?Y[J]%B[J]:Y[J];return Y}function u1(D,F,Q){let B=D.color.toRgb(),Y=F.color.toRgb(),J=y1(B,Y,Q),X=[D.color];for(let C=1;C<Q;C++){let W=f1(J,B,C,g3);X.push(D8(W))}return X}function u3(D,F,Q,B){let Y=D.color.toHsv(),J=F.color.toHsv();if(Y.s===0||J.s===0)return u1(D,F,Q);let X;if(typeof B==="boolean")X=B;else{let G=Y.h<J.h&&J.h-Y.h<180||Y.h>J.h&&Y.h-J.h>180;X=B==="long"&&G||B==="short"&&!G}let C=y1(Y,J,Q),W=[D.color],z;if(Y.h<=J.h&&!X||Y.h>=J.h&&X)z=J.h-Y.h;else if(X)z=360-J.h+Y.h;else z=360-Y.h+J.h;C.h=Math.pow(-1,X?1:0)*Math.abs(z)/Q;for(let G=1;G<Q;G++){let q=f1(C,Y,G,$3);W.push(D8(q))}return W}function y3(D,F){let Q=D.length;if(F=parseInt(F,10),isNaN(F)||F<2)throw new Error("Invalid number of steps (< 2)");if(F<Q)throw new Error("Number of steps cannot be inferior to number of stops");let B=[];for(let J=1;J<Q;J++){let X=(F-1)*(D[J].pos-D[J-1].pos);B.push(Math.max(1,Math.round(X)))}let Y=1;for(let J=Q-1;J--;)Y+=B[J];while(Y!==F)if(Y<F){let J=Math.min.apply(null,B);B[B.indexOf(J)]++,Y++}else{let J=Math.max.apply(null,B);B[B.indexOf(J)]--,Y--}return B}function f3(D,F,Q,B){if(F<0||F>1)throw new Error("Position must be between 0 and 1");let Y,J;for(let W=0,z=D.length;W<z-1;W++)if(F>=D[W].pos&&F<D[W+1].pos){Y=D[W],J=D[W+1];break}if(!Y)Y=J=D[D.length-1];let X=y1(Y.color[Q](),J.color[Q](),(J.pos-Y.pos)*100),C=f1(X,Y.color[Q](),(F-Y.pos)*100,B);return D8(C)}class B6{constructor(D){if(D.length<2)throw new Error("Invalid number of stops (< 2)");let F=D[0].pos!==void 0,Q=D.length,B=-1,Y=!1;if(this.stops=D.map((J,X)=>{let C=J.pos!==void 0;if(F^C)throw new Error("Cannot mix positionned and not posionned color stops");if(C){let W=J.color!==void 0;if(!W&&(Y||X===0||X===Q-1))throw new Error("Cannot define two consecutive position-only stops");if(Y=!W,J={color:W?D8(J.color):null,colorLess:!W,pos:J.pos},J.pos<0||J.pos>1)throw new Error("Color stops positions must be between 0 and 1");else if(J.pos<B)throw new Error("Color stops positions are not ordered");B=J.pos}else J={color:D8(J.color!==void 0?J.color:J),pos:X/(Q-1)};return J}),this.stops[0].pos!==0)this.stops.unshift({color:this.stops[0].color,pos:0}),Q++;if(this.stops[Q-1].pos!==1)this.stops.push({color:this.stops[Q-1].color,pos:1})}reverse(){let D=[];return this.stops.forEach(function(F){D.push({color:F.color,pos:1-F.pos})}),new B6(D.reverse())}loop(){let D=[],F=[];return this.stops.forEach((Q)=>{D.push({color:Q.color,pos:Q.pos/2})}),this.stops.slice(0,-1).forEach((Q)=>{F.push({color:Q.color,pos:1-Q.pos/2})}),new B6(D.concat(F.reverse()))}rgb(D){let F=y3(this.stops,D),Q=[];this.stops.forEach((B,Y)=>{if(B.colorLess)B.color=u1(this.stops[Y-1],this.stops[Y+1],2)[1]});for(let B=0,Y=this.stops.length;B<Y-1;B++){let J=u1(this.stops[B],this.stops[B+1],F[B]);Q.splice(Q.length,0,...J)}return Q.push(this.stops[this.stops.length-1].color),Q}hsv(D,F){let Q=y3(this.stops,D),B=[];this.stops.forEach((Y,J)=>{if(Y.colorLess)Y.color=u3(this.stops[J-1],this.stops[J+1],2,F)[1]});for(let Y=0,J=this.stops.length;Y<J-1;Y++){let X=u3(this.stops[Y],this.stops[Y+1],Q[Y],F);B.splice(B.length,0,...X)}return B.push(this.stops[this.stops.length-1].color),B}css(D,F){D=D||"linear",F=F||(D==="linear"?"to right":"ellipse at center");let Q=D+"-gradient("+F;return this.stops.forEach(function(B){Q+=", "+(B.colorLess?"":B.color.toRgbString()+" ")+B.pos*100+"%"}),Q+=")",Q}rgbAt(D){return f3(this.stops,D,"toRgb",g3)}hsvAt(D){return f3(this.stops,D,"toHsv",$3)}}h3.exports=function(D){if(arguments.length===1){if(!Array.isArray(arguments[0]))throw new Error('"stops" is not an array');D=arguments[0]}else D=Array.prototype.slice.call(arguments);return new B6(D)}});var a3=VD((fE,i3)=>{i3.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 o3=VD((dE,kJ)=>{kJ.exports={single:{topLeft:"┌",top:"─",topRight:"┐",right:"│",bottomRight:"┘",bottom:"─",bottomLeft:"└",left:"│"},double:{topLeft:"╔",top:"═",topRight:"╗",right:"║",bottomRight:"╝",bottom:"═",bottomLeft:"╚",left:"║"},round:{topLeft:"╭",top:"─",topRight:"╮",right:"│",bottomRight:"╯",bottom:"─",bottomLeft:"╰",left:"│"},bold:{topLeft:"┏",top:"━",topRight:"┓",right:"┃",bottomRight:"┛",bottom:"━",bottomLeft:"┗",left:"┃"},singleDouble:{topLeft:"╓",top:"─",topRight:"╖",right:"║",bottomRight:"╜",bottom:"─",bottomLeft:"╙",left:"║"},doubleSingle:{topLeft:"╒",top:"═",topRight:"╕",right:"│",bottomRight:"╛",bottom:"═",bottomLeft:"╘",left:"│"},classic:{topLeft:"+",top:"-",topRight:"+",right:"|",bottomRight:"+",bottom:"-",bottomLeft:"+",left:"|"},arrow:{topLeft:"↘",top:"↓",topRight:"↙",right:"←",bottomRight:"↖",bottom:"↑",bottomLeft:"↗",left:"→"}}});var c1=VD((cE,d1)=>{var s3=o3();d1.exports=s3;d1.exports.default=s3});var Q4=VD((nE,B4)=>{B4.exports=({onlyFirst:D=!1}={})=>{let F=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(F,D?void 0:"g")}});var Y4=VD((iE,X4)=>{var $J=Q4();X4.exports=(D)=>typeof D==="string"?D.replace($J(),""):D});var C4=VD((aE,i1)=>{var J4=(D)=>{if(Number.isNaN(D))return!1;if(D>=4352&&(D<=4447||D===9001||D===9002||11904<=D&&D<=12871&&D!==12351||12880<=D&&D<=19903||19968<=D&&D<=42182||43360<=D&&D<=43388||44032<=D&&D<=55203||63744<=D&&D<=64255||65040<=D&&D<=65049||65072<=D&&D<=65131||65281<=D&&D<=65376||65504<=D&&D<=65510||110592<=D&&D<=110593||127488<=D&&D<=127569||131072<=D&&D<=262141))return!0;return!1};i1.exports=J4;i1.exports.default=J4});var z4=VD((rE,W4)=>{W4.exports=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g}});var q4=VD((oE,a1)=>{var hJ=Y4(),mJ=C4(),lJ=z4(),G4=(D)=>{if(typeof D!=="string"||D.length===0)return 0;if(D=hJ(D),D.length===0)return 0;D=D.replace(lJ()," ");let F=0;for(let Q=0;Q<D.length;Q++){let B=D.codePointAt(Q);if(B<=31||B>=127&&B<=159)continue;if(B>=768&&B<=879)continue;if(B>65535)Q++;F+=mJ(B)?2:1}return F};a1.exports=G4;a1.exports.default=G4});var H4=VD((sE,K4)=>{var dJ=q4();function lF(D,F){if(!D)return D;F=F||{};let Q=F.align||"center";if(Q==="left")return D;let B=F.split||`
|
||
`,Y=F.pad||" ",J=Q!=="right"?cJ:pJ,X=!1;if(!Array.isArray(D))X=!0,D=String(D).split(B);let C,W=0;return D=D.map(function(z){return z=String(z),C=dJ(z),W=Math.max(C,W),{str:z,width:C}}).map(function(z){return new Array(J(W,z.width)+1).join(Y)+z.str}),X?D.join(B):D}lF.left=function D(F){return lF(F,{align:"left"})};lF.center=function D(F){return lF(F,{align:"center"})};lF.right=function D(F){return lF(F,{align:"right"})};K4.exports=lF;function cJ(D,F){return Math.floor((D-F)/2)}function pJ(D,F){return D-F}});import{join as aD,dirname as W6,sep as qC}from"path";import{homedir as F7}from"os";import{existsSync as Q8,statSync as KC}from"fs";import{execSync as w4}from"child_process";import{fileURLToPath as HC}from"url";class YD{static instance=null;_dataDirectory=null;_packageRoot=null;_claudeConfigDirectory=null;static getInstance(){if(!YD.instance)YD.instance=new YD;return YD.instance}getDataDirectory(){if(this._dataDirectory)return this._dataDirectory;return this._dataDirectory=process.env.CLAUDE_MEM_DATA_DIR||aD(F7(),".claude-mem"),this._dataDirectory}getArchivesDirectory(){return aD(this.getDataDirectory(),"archives")}getHooksDirectory(){return aD(this.getDataDirectory(),"hooks")}getLogsDirectory(){return aD(this.getDataDirectory(),"logs")}getIndexDirectory(){return this.getDataDirectory()}getIndexPath(){return aD(this.getIndexDirectory(),"claude-mem-index.jsonl")}getTrashDirectory(){return aD(this.getDataDirectory(),"trash")}getBackupsDirectory(){return aD(this.getDataDirectory(),"backups")}getChromaDirectory(){return aD(this.getDataDirectory(),"chroma")}getProjectArchiveDirectory(D){return aD(this.getArchivesDirectory(),D)}getUserSettingsPath(){return aD(this.getDataDirectory(),"settings.json")}getClaudeConfigDirectory(){if(this._claudeConfigDirectory)return this._claudeConfigDirectory;return this._claudeConfigDirectory=process.env.CLAUDE_CONFIG_DIR||aD(F7(),".claude"),this._claudeConfigDirectory}getClaudeSettingsPath(){return aD(this.getClaudeConfigDirectory(),"settings.json")}getClaudeCommandsDirectory(){return aD(this.getClaudeConfigDirectory(),"commands")}getClaudeMdPath(){return aD(this.getClaudeConfigDirectory(),"CLAUDE.md")}getMcpConfigPath(){return aD(F7(),".claude.json")}getProjectMcpConfigPath(){return aD(process.cwd(),".mcp.json")}getPackageRoot(){if(this._packageRoot)return this._packageRoot;try{let Q=hD.resolve("claude-mem/package.json");return this._packageRoot=W6(Q),this._packageRoot}catch{}let D=HC(import.meta.url),F=W6(D);for(let Q=0;Q<10;Q++){let B=aD(F,"package.json");if(Q8(B)){if(hD(B).name==="claude-mem")return this._packageRoot=F,this._packageRoot}let Y=W6(F);if(Y===F)break;F=Y}try{let Q=w4("npm list -g claude-mem --json 2>/dev/null || npm list claude-mem --json 2>/dev/null",{encoding:"utf8"}),B=JSON.parse(Q);if(B.dependencies?.["claude-mem"]?.resolved)return this._packageRoot=W6(B.dependencies["claude-mem"].resolved),this._packageRoot}catch{}throw new Error("Cannot locate claude-mem package root. Ensure claude-mem is properly installed.")}findPackageHookTemplatesDirectory(){let D=this.getPackageRoot(),F=aD(D,"hook-templates"),Q=["session-start.js","stop.js","user-prompt-submit.js","post-tool-use.js"];for(let B of Q)if(!Q8(aD(F,B)))throw new Error(`Package hook-templates directory missing required template file: ${B}`);return F}findPackageCommandsDirectory(){let D=this.getPackageRoot(),F=aD(D,"commands"),Q=["save.md"];for(let B of Q)if(!Q8(aD(F,B)))throw new Error(`Package commands directory missing required file: ${B}`);return F}ensureDirectory(D){if(!Q8(D))hD("fs").mkdirSync(D,{recursive:!0})}ensureDirectories(D){D.forEach((F)=>this.ensureDirectory(F))}ensureAllDataDirectories(){this.ensureDirectories([this.getDataDirectory(),this.getArchivesDirectory(),this.getHooksDirectory(),this.getLogsDirectory(),this.getTrashDirectory(),this.getBackupsDirectory(),this.getChromaDirectory()])}ensureAllClaudeDirectories(){this.ensureDirectories([this.getClaudeConfigDirectory(),this.getClaudeCommandsDirectory()])}static extractProjectName(D){let F=D.split(qC),Q=["src","lib","app","project","workspace"];for(let B=F.length-1;B>=0;B--)if(Q.includes(F[B])&&B>0)return F[B-1];if(F.length>1)return F[F.length-2];return"unknown-project"}static getCurrentProjectName(){try{let D=w4("git rev-parse --show-toplevel",{cwd:process.cwd(),encoding:"utf8",stdio:["pipe","pipe","ignore"]}).trim();return hD("path").basename(D)}catch{return hD("path").basename(process.cwd())}}static createBackupFilename(D){let F=new Date().toISOString().replace(/[:.]/g,"-").replace("T","_").slice(0,19);return`${D}.backup.${F}`}static isPathAccessible(D){return Q8(D)&&KC(D).isDirectory()}}var E0=()=>{};var CF=VD((vC)=>{vC.getBooleanOption=(D,F)=>{let Q=!1;if(F in D&&typeof(Q=D[F])!=="boolean")throw new TypeError(`Expected the "${F}" option to be a boolean`);return Q};vC.cppdb=Symbol();vC.inspect=Symbol.for("nodejs.util.inspect.custom")});var J7=VD((hZ,x4)=>{var Y7={value:"SqliteError",writable:!0,enumerable:!1,configurable:!0};function nF(D,F){if(new.target!==nF)return new nF(D,F);if(typeof F!=="string")throw new TypeError("Expected second argument to be a string");Error.call(this,D),Y7.value=""+D,Object.defineProperty(this,"message",Y7),Error.captureStackTrace(this,nF),this.code=F}Object.setPrototypeOf(nF,Error);Object.setPrototypeOf(nF.prototype,Error.prototype);Object.defineProperty(nF.prototype,"name",Y7);x4.exports=nF});var y4=VD((mZ,u4)=>{var q6=hD("path").sep||"/";u4.exports=fC;function fC(D){if(typeof D!="string"||D.length<=7||D.substring(0,7)!="file://")throw new TypeError("must pass in a file:// URI to convert to a file path");var F=decodeURI(D.substring(7)),Q=F.indexOf("/"),B=F.substring(0,Q),Y=F.substring(Q+1);if(B=="localhost")B="";if(B)B=q6+q6+B;if(Y=Y.replace(/^(.+)\|/,"$1:"),q6=="\\")Y=Y.replace(/\//g,"\\");if(/^.+\:/.test(Y));else Y=q6+Y;return B+Y}});var h4=VD((U6,$4)=>{var __filename="/Users/alexnewman/Scripts/claude-mem-source/node_modules/bindings/bindings.js",C7=hD("fs"),H6=hD("path"),gC=y4(),K6=H6.join,$C=H6.dirname,f4=C7.accessSync&&function(D){try{C7.accessSync(D)}catch(F){return!1}return!0}||C7.existsSync||H6.existsSync,g4={arrow:process.env.NODE_BINDINGS_ARROW||" → ",compiled:process.env.NODE_BINDINGS_COMPILED_DIR||"compiled",platform:process.platform,arch:process.arch,nodePreGyp:"node-v"+process.versions.modules+"-"+process.platform+"-"+process.arch,version:process.versions.node,bindings:"bindings.node",try:[["module_root","build","bindings"],["module_root","build","Debug","bindings"],["module_root","build","Release","bindings"],["module_root","out","Debug","bindings"],["module_root","Debug","bindings"],["module_root","out","Release","bindings"],["module_root","Release","bindings"],["module_root","build","default","bindings"],["module_root","compiled","version","platform","arch","bindings"],["module_root","addon-build","release","install-root","bindings"],["module_root","addon-build","debug","install-root","bindings"],["module_root","addon-build","default","install-root","bindings"],["module_root","lib","binding","nodePreGyp","bindings"]]};function hC(D){if(typeof D=="string")D={bindings:D};else if(!D)D={};if(Object.keys(g4).map(function(W){if(!(W in D))D[W]=g4[W]}),!D.module_root)D.module_root=U6.getRoot(U6.getFileName());if(H6.extname(D.bindings)!=".node")D.bindings+=".node";var F=typeof __webpack_require__==="function"?__non_webpack_require__:hD,Q=[],B=0,Y=D.try.length,J,X,C;for(;B<Y;B++){J=K6.apply(null,D.try[B].map(function(W){return D[W]||W})),Q.push(J);try{if(X=D.path?F.resolve(J):F(J),!D.path)X.path=J;return X}catch(W){if(W.code!=="MODULE_NOT_FOUND"&&W.code!=="QUALIFIED_PATH_RESOLUTION_FAILED"&&!/not find/i.test(W.message))throw W}}throw C=new Error(`Could not locate the bindings file. Tried:
|
||
`+Q.map(function(W){return D.arrow+W}).join(`
|
||
`)),C.tries=Q,C}$4.exports=U6=hC;U6.getFileName=function D(F){var{prepareStackTrace:Q,stackTraceLimit:B}=Error,Y={},J;Error.stackTraceLimit=10,Error.prepareStackTrace=function(C,W){for(var z=0,G=W.length;z<G;z++)if(J=W[z].getFileName(),J!==__filename)if(F){if(J!==F)return}else return},Error.captureStackTrace(Y),Y.stack,Error.prepareStackTrace=Q,Error.stackTraceLimit=B;var X="file://";if(J.indexOf(X)===0)J=gC(J);return J};U6.getRoot=function D(F){var Q=$C(F),B;while(!0){if(Q===".")Q=process.cwd();if(f4(K6(Q,"package.json"))||f4(K6(Q,"node_modules")))return Q;if(B===Q)throw new Error('Could not find module root given file: "'+F+'". Do you have a `package.json` file? ');B=Q,Q=K6(Q,"..")}}});var m4=VD((mC)=>{var{cppdb:o0}=CF();mC.prepare=function D(F){return this[o0].prepare(F,this,!1)};mC.exec=function D(F){return this[o0].exec(F),this};mC.close=function D(){return this[o0].close(),this};mC.loadExtension=function D(...F){return this[o0].loadExtension(...F),this};mC.defaultSafeIntegers=function D(...F){return this[o0].defaultSafeIntegers(...F),this};mC.unsafeMode=function D(...F){return this[o0].unsafeMode(...F),this};mC.getters={name:{get:function D(){return this[o0].name},enumerable:!0},open:{get:function D(){return this[o0].open},enumerable:!0},inTransaction:{get:function D(){return this[o0].inTransaction},enumerable:!0},readonly:{get:function D(){return this[o0].readonly},enumerable:!0},memory:{get:function D(){return this[o0].memory},enumerable:!0}}});var c4=VD((nZ,d4)=>{var{cppdb:rC}=CF(),l4=new WeakMap;d4.exports=function D(F){if(typeof F!=="function")throw new TypeError("Expected first argument to be a function");let Q=this[rC],B=oC(Q,this),{apply:Y}=Function.prototype,J={default:{value:E6(Y,F,Q,B.default)},deferred:{value:E6(Y,F,Q,B.deferred)},immediate:{value:E6(Y,F,Q,B.immediate)},exclusive:{value:E6(Y,F,Q,B.exclusive)},database:{value:this,enumerable:!0}};return Object.defineProperties(J.default.value,J),Object.defineProperties(J.deferred.value,J),Object.defineProperties(J.immediate.value,J),Object.defineProperties(J.exclusive.value,J),J.default.value};var oC=(D,F)=>{let Q=l4.get(D);if(!Q){let B={commit:D.prepare("COMMIT",F,!1),rollback:D.prepare("ROLLBACK",F,!1),savepoint:D.prepare("SAVEPOINT `\t_bs3. `",F,!1),release:D.prepare("RELEASE `\t_bs3. `",F,!1),rollbackTo:D.prepare("ROLLBACK TO `\t_bs3. `",F,!1)};l4.set(D,Q={default:Object.assign({begin:D.prepare("BEGIN",F,!1)},B),deferred:Object.assign({begin:D.prepare("BEGIN DEFERRED",F,!1)},B),immediate:Object.assign({begin:D.prepare("BEGIN IMMEDIATE",F,!1)},B),exclusive:Object.assign({begin:D.prepare("BEGIN EXCLUSIVE",F,!1)},B)})}return Q},E6=(D,F,Q,{begin:B,commit:Y,rollback:J,savepoint:X,release:C,rollbackTo:W})=>function z(){let G,q,E;if(Q.inTransaction)G=X,q=C,E=W;else G=B,q=Y,E=J;G.run();try{let U=D.call(F,this,arguments);if(U&&typeof U.then==="function")throw new TypeError("Transaction function cannot return a promise");return q.run(),U}catch(U){if(Q.inTransaction){if(E.run(),E!==J)q.run()}throw U}}});var n4=VD((iZ,p4)=>{var{getBooleanOption:sC,cppdb:tC}=CF();p4.exports=function D(F,Q){if(Q==null)Q={};if(typeof F!=="string")throw new TypeError("Expected first argument to be a string");if(typeof Q!=="object")throw new TypeError("Expected second argument to be an options object");let B=sC(Q,"simple"),Y=this[tC].prepare(`PRAGMA ${F}`,this,!0);return B?Y.pluck().get():Y.all()}});var r4=VD((aZ,a4)=>{var eC=hD("fs"),DW=hD("path"),{promisify:FW}=hD("util"),{cppdb:BW}=CF(),i4=FW(eC.access);a4.exports=async function D(F,Q){if(Q==null)Q={};if(typeof F!=="string")throw new TypeError("Expected first argument to be a string");if(typeof Q!=="object")throw new TypeError("Expected second argument to be an options object");F=F.trim();let B="attached"in Q?Q.attached:"main",Y="progress"in Q?Q.progress:null;if(!F)throw new TypeError("Backup filename cannot be an empty string");if(F===":memory:")throw new TypeError('Invalid backup filename ":memory:"');if(typeof B!=="string")throw new TypeError('Expected the "attached" option to be a string');if(!B)throw new TypeError('The "attached" option cannot be an empty string');if(Y!=null&&typeof Y!=="function")throw new TypeError('Expected the "progress" option to be a function');await i4(DW.dirname(F)).catch(()=>{throw new TypeError("Cannot save backup because the directory does not exist")});let J=await i4(F).then(()=>!1,()=>!0);return QW(this[BW].backup(this,B,F,J),Y||null)};var QW=(D,F)=>{let Q=0,B=!0;return new Promise((Y,J)=>{setImmediate(function X(){try{let C=D.transfer(Q);if(!C.remainingPages){D.close(),Y(C);return}if(B)B=!1,Q=100;if(F){let W=F(C);if(W!==void 0)if(typeof W==="number"&&W===W)Q=Math.max(0,Math.min(2147483647,Math.round(W)));else throw new TypeError("Expected progress callback to return a number or undefined")}setImmediate(X)}catch(C){D.close(),J(C)}})})}});var s4=VD((rZ,o4)=>{var{cppdb:XW}=CF();o4.exports=function D(F){if(F==null)F={};if(typeof F!=="object")throw new TypeError("Expected first argument to be an options object");let Q="attached"in F?F.attached:"main";if(typeof Q!=="string")throw new TypeError('Expected the "attached" option to be a string');if(!Q)throw new TypeError('The "attached" option cannot be an empty string');return this[XW].serialize(Q)}});var e4=VD((oZ,t4)=>{var{getBooleanOption:Z6,cppdb:YW}=CF();t4.exports=function D(F,Q,B){if(Q==null)Q={};if(typeof Q==="function")B=Q,Q={};if(typeof F!=="string")throw new TypeError("Expected first argument to be a string");if(typeof B!=="function")throw new TypeError("Expected last argument to be a function");if(typeof Q!=="object")throw new TypeError("Expected second argument to be an options object");if(!F)throw new TypeError("User-defined function name cannot be an empty string");let Y="safeIntegers"in Q?+Z6(Q,"safeIntegers"):2,J=Z6(Q,"deterministic"),X=Z6(Q,"directOnly"),C=Z6(Q,"varargs"),W=-1;if(!C){if(W=B.length,!Number.isInteger(W)||W<0)throw new TypeError("Expected function.length to be a positive integer");if(W>100)throw new RangeError("User-defined functions cannot have more than 100 arguments")}return this[YW].function(B,F,W,Y,J,X),this}});var B5=VD((sZ,F5)=>{var{getBooleanOption:A6,cppdb:JW}=CF();F5.exports=function D(F,Q){if(typeof F!=="string")throw new TypeError("Expected first argument to be a string");if(typeof Q!=="object"||Q===null)throw new TypeError("Expected second argument to be an options object");if(!F)throw new TypeError("User-defined function name cannot be an empty string");let B="start"in Q?Q.start:null,Y=W7(Q,"step",!0),J=W7(Q,"inverse",!1),X=W7(Q,"result",!1),C="safeIntegers"in Q?+A6(Q,"safeIntegers"):2,W=A6(Q,"deterministic"),z=A6(Q,"directOnly"),G=A6(Q,"varargs"),q=-1;if(!G){if(q=Math.max(D5(Y),J?D5(J):0),q>0)q-=1;if(q>100)throw new RangeError("User-defined functions cannot have more than 100 arguments")}return this[JW].aggregate(B,Y,J,X,F,q,C,W,z),this};var W7=(D,F,Q)=>{let B=F in D?D[F]:null;if(typeof B==="function")return B;if(B!=null)throw new TypeError(`Expected the "${F}" option to be a function`);if(Q)throw new TypeError(`Missing required option "${F}"`);return null},D5=({length:D})=>{if(Number.isInteger(D)&&D>=0)return D;throw new TypeError("Expected function.length to be a positive integer")}});var J5=VD((tZ,Y5)=>{var{cppdb:CW}=CF();Y5.exports=function D(F,Q){if(typeof F!=="string")throw new TypeError("Expected first argument to be a string");if(!F)throw new TypeError("Virtual table module name cannot be an empty string");let B=!1;if(typeof Q==="object"&&Q!==null)B=!0,Q=EW(X5(Q,"used",F));else{if(typeof Q!=="function")throw new TypeError("Expected second argument to be a function or a table definition object");Q=WW(Q)}return this[CW].table(Q,F,B),this};function WW(D){return function F(Q,B,Y,...J){let X={module:Q,database:B,table:Y},C=HW.call(D,X,J);if(typeof C!=="object"||C===null)throw new TypeError(`Virtual table module "${Q}" did not return a table definition object`);return X5(C,"returned",Q)}}function X5(D,F,Q){if(!Y8.call(D,"rows"))throw new TypeError(`Virtual table module "${Q}" ${F} a table definition without a "rows" property`);if(!Y8.call(D,"columns"))throw new TypeError(`Virtual table module "${Q}" ${F} a table definition without a "columns" property`);let B=D.rows;if(typeof B!=="function"||Object.getPrototypeOf(B)!==UW)throw new TypeError(`Virtual table module "${Q}" ${F} a table definition with an invalid "rows" property (should be a generator function)`);let Y=D.columns;if(!Array.isArray(Y)||!(Y=[...Y]).every((z)=>typeof z==="string"))throw new TypeError(`Virtual table module "${Q}" ${F} a table definition with an invalid "columns" property (should be an array of strings)`);if(Y.length!==new Set(Y).size)throw new TypeError(`Virtual table module "${Q}" ${F} a table definition with duplicate column names`);if(!Y.length)throw new RangeError(`Virtual table module "${Q}" ${F} a table definition with zero columns`);let J;if(Y8.call(D,"parameters")){if(J=D.parameters,!Array.isArray(J)||!(J=[...J]).every((z)=>typeof z==="string"))throw new TypeError(`Virtual table module "${Q}" ${F} a table definition with an invalid "parameters" property (should be an array of strings)`)}else J=KW(B);if(J.length!==new Set(J).size)throw new TypeError(`Virtual table module "${Q}" ${F} a table definition with duplicate parameter names`);if(J.length>32)throw new RangeError(`Virtual table module "${Q}" ${F} a table definition with more than the maximum number of 32 parameters`);for(let z of J)if(Y.includes(z))throw new TypeError(`Virtual table module "${Q}" ${F} a table definition with column "${z}" which was ambiguously defined as both a column and parameter`);let X=2;if(Y8.call(D,"safeIntegers")){let z=D.safeIntegers;if(typeof z!=="boolean")throw new TypeError(`Virtual table module "${Q}" ${F} a table definition with an invalid "safeIntegers" property (should be a boolean)`);X=+z}let C=!1;if(Y8.call(D,"directOnly")){if(C=D.directOnly,typeof C!=="boolean")throw new TypeError(`Virtual table module "${Q}" ${F} a table definition with an invalid "directOnly" property (should be a boolean)`)}return[`CREATE TABLE x(${[...J.map(Q5).map((z)=>`${z} HIDDEN`),...Y.map(Q5)].join(", ")});`,zW(B,new Map(Y.map((z,G)=>[z,J.length+G])),Q),J,X,C]}function zW(D,F,Q){return function*B(...Y){let J=Y.map((X)=>Buffer.isBuffer(X)?Buffer.from(X):X);for(let X=0;X<F.size;++X)J.push(null);for(let X of D(...Y))if(Array.isArray(X))GW(X,J,F.size,Q),yield J;else if(typeof X==="object"&&X!==null)qW(X,J,F,Q),yield J;else throw new TypeError(`Virtual table module "${Q}" yielded something that isn't a valid row object`)}}function GW(D,F,Q,B){if(D.length!==Q)throw new TypeError(`Virtual table module "${B}" yielded a row with an incorrect number of columns`);let Y=F.length-Q;for(let J=0;J<Q;++J)F[J+Y]=D[J]}function qW(D,F,Q,B){let Y=0;for(let J of Object.keys(D)){let X=Q.get(J);if(X===void 0)throw new TypeError(`Virtual table module "${B}" yielded a row with an undeclared column "${J}"`);F[X]=D[J],Y+=1}if(Y!==Q.size)throw new TypeError(`Virtual table module "${B}" yielded a row with missing columns`)}function KW({length:D}){if(!Number.isInteger(D)||D<0)throw new TypeError("Expected function.length to be a positive integer");let F=[];for(let Q=0;Q<D;++Q)F.push(`$${Q+1}`);return F}var{hasOwnProperty:Y8}=Object.prototype,{apply:HW}=Function.prototype,UW=Object.getPrototypeOf(function*(){}),Q5=(D)=>`"${D.replace(/"/g,'""')}"`,EW=(D)=>()=>D});var W5=VD((eZ,C5)=>{var ZW=function D(){};C5.exports=function D(F,Q){return Object.assign(new ZW,this)}});var K5=VD((DA,q5)=>{var AW=hD("fs"),z5=hD("path"),V6=CF(),VW=J7(),G5;function z0(D,F){if(new.target==null)return new z0(D,F);let Q;if(Buffer.isBuffer(D))Q=D,D=":memory:";if(D==null)D="";if(F==null)F={};if(typeof D!=="string")throw new TypeError("Expected first argument to be a string");if(typeof F!=="object")throw new TypeError("Expected second argument to be an options object");if("readOnly"in F)throw new TypeError('Misspelled option "readOnly" should be "readonly"');if("memory"in F)throw new TypeError('Option "memory" was removed in v7.0.0 (use ":memory:" filename instead)');let B=D.trim(),Y=B===""||B===":memory:",J=V6.getBooleanOption(F,"readonly"),X=V6.getBooleanOption(F,"fileMustExist"),C="timeout"in F?F.timeout:5000,W="verbose"in F?F.verbose:null,z="nativeBinding"in F?F.nativeBinding:null;if(J&&Y&&!Q)throw new TypeError("In-memory/temporary databases cannot be readonly");if(!Number.isInteger(C)||C<0)throw new TypeError('Expected the "timeout" option to be a positive integer');if(C>2147483647)throw new RangeError('Option "timeout" cannot be greater than 2147483647');if(W!=null&&typeof W!=="function")throw new TypeError('Expected the "verbose" option to be a function');if(z!=null&&typeof z!=="string"&&typeof z!=="object")throw new TypeError('Expected the "nativeBinding" option to be a string or addon object');let G;if(z==null)G=G5||(G5=h4()("better_sqlite3.node"));else if(typeof z==="string")G=(typeof __non_webpack_require__==="function"?__non_webpack_require__:hD)(z5.resolve(z).replace(/(\.node)?$/,".node"));else G=z;if(!G.isInitialized)G.setErrorConstructor(VW),G.isInitialized=!0;if(!Y&&!AW.existsSync(z5.dirname(B)))throw new TypeError("Cannot open database because the directory does not exist");Object.defineProperties(this,{[V6.cppdb]:{value:new G.Database(B,D,Y,J,X,C,W||null,Q||null)},...iF.getters})}var iF=m4();z0.prototype.prepare=iF.prepare;z0.prototype.transaction=c4();z0.prototype.pragma=n4();z0.prototype.backup=r4();z0.prototype.serialize=s4();z0.prototype.function=e4();z0.prototype.aggregate=B5();z0.prototype.table=J5();z0.prototype.loadExtension=iF.loadExtension;z0.prototype.exec=iF.exec;z0.prototype.close=iF.close;z0.prototype.defaultSafeIntegers=iF.defaultSafeIntegers;z0.prototype.unsafeMode=iF.unsafeMode;z0.prototype[V6.inspect]=W5();q5.exports=z0});var H5=VD((BA,z7)=>{z7.exports=K5();z7.exports.SqliteError=J7()});var E5={};hF(E5,{initializeDatabase:()=>U5,getDatabase:()=>f0,DatabaseManager:()=>WF,Database:()=>G7.default});import LW from"path";import MW from"fs";class WF{static instance;db=null;migrations=[];static getInstance(){if(!WF.instance)WF.instance=new WF;return WF.instance}registerMigration(D){this.migrations.push(D),this.migrations.sort((F,Q)=>F.version-Q.version)}async initialize(){if(this.db)return this.db;let D=YD.getInstance().getDataDirectory();MW.mkdirSync(D,{recursive:!0});let F=LW.join(D,"claude-mem.db");return this.db=new G7.default(F),this.db.pragma("journal_mode = WAL"),this.db.pragma("synchronous = NORMAL"),this.db.pragma("foreign_keys = ON"),this.db.pragma("temp_store = memory"),this.db.pragma("mmap_size = 268435456"),this.db.pragma("cache_size = 10000"),this.initializeSchemaVersions(),await this.runMigrations(),L6=this.db,this.db}getConnection(){if(!this.db)throw new Error("Database not initialized. Call initialize() first.");return this.db}withTransaction(D){let F=this.getConnection();return F.transaction(D)(F)}close(){if(this.db)this.db.close(),this.db=null,L6=null}initializeSchemaVersions(){if(!this.db)return;this.db.exec(`
|
||
CREATE TABLE IF NOT EXISTS schema_versions (
|
||
id INTEGER PRIMARY KEY,
|
||
version INTEGER UNIQUE NOT NULL,
|
||
applied_at TEXT NOT NULL
|
||
)
|
||
`)}async runMigrations(){if(!this.db)return;let D=this.db.prepare("SELECT version FROM schema_versions ORDER BY version").all().map((Q)=>Q.version),F=D.length>0?Math.max(...D):0;for(let Q of this.migrations)if(Q.version>F)console.log(`Applying migration ${Q.version}...`),this.db.transaction(()=>{Q.up(this.db),this.db.prepare("INSERT INTO schema_versions (version, applied_at) VALUES (?, ?)").run(Q.version,new Date().toISOString())})(),console.log(`Migration ${Q.version} applied successfully`)}getCurrentVersion(){if(!this.db)return 0;return this.db.prepare("SELECT MAX(version) as version FROM schema_versions").get()?.version||0}}function f0(){if(!L6)throw new Error("Database not initialized. Call DatabaseManager.getInstance().initialize() first.");return L6}async function U5(){return await WF.getInstance().initialize()}var G7,L6=null;var LF=OF(()=>{G7=i0(H5(),1);E0()});function M0(D){let F;if(!D)F=new Date;else if(D instanceof Date)F=D;else if(typeof D==="number")F=new Date(D);else if(typeof D==="string"){if(!D.trim())F=new Date;else if(F=new Date(D),isNaN(F.getTime())){let Q=D.replace(/\s+/g,"T").replace(/T+/g,"T");if(F=new Date(Q),isNaN(F.getTime()))F=new Date}}else F=new Date;return{isoString:F.toISOString(),epoch:F.getTime()}}var Z5={};hF(Z5,{SessionStore:()=>J8});class J8{db;constructor(D){this.db=D||f0()}create(D){let{isoString:F,epoch:Q}=M0(D.created_at),Y=this.db.prepare(`
|
||
INSERT INTO sessions (
|
||
session_id, project, created_at, created_at_epoch, source,
|
||
archive_path, archive_bytes, archive_checksum, archived_at, metadata_json
|
||
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
||
`).run(D.session_id,D.project,F,Q,D.source||"compress",D.archive_path||null,D.archive_bytes||null,D.archive_checksum||null,D.archived_at||null,D.metadata_json||null);return this.getById(Y.lastInsertRowid)}upsert(D){let F=this.getBySessionId(D.session_id);if(F)return this.update(F.id,D);return this.create(D)}update(D,F){let Q=this.getById(D);if(!Q)throw new Error(`Session with id ${D} not found`);let{isoString:B,epoch:Y}=M0(F.created_at||Q.created_at);return this.db.prepare(`
|
||
UPDATE sessions SET
|
||
project = ?, created_at = ?, created_at_epoch = ?, source = ?,
|
||
archive_path = ?, archive_bytes = ?, archive_checksum = ?, archived_at = ?, metadata_json = ?
|
||
WHERE id = ?
|
||
`).run(F.project||Q.project,B,Y,F.source||Q.source,F.archive_path!==void 0?F.archive_path:Q.archive_path,F.archive_bytes!==void 0?F.archive_bytes:Q.archive_bytes,F.archive_checksum!==void 0?F.archive_checksum:Q.archive_checksum,F.archived_at!==void 0?F.archived_at:Q.archived_at,F.metadata_json!==void 0?F.metadata_json:Q.metadata_json,D),this.getById(D)}getById(D){return this.db.prepare("SELECT * FROM sessions WHERE id = ?").get(D)||null}getBySessionId(D){return this.db.prepare("SELECT * FROM sessions WHERE session_id = ?").get(D)||null}has(D){let F=this.db.prepare("SELECT 1 FROM sessions WHERE session_id = ? LIMIT 1");return Boolean(F.get(D))}getAllSessionIds(){let F=this.db.prepare("SELECT session_id FROM sessions").all();return new Set(F.map((Q)=>Q.session_id))}getRecentForProject(D,F=5){return this.db.prepare(`
|
||
SELECT * FROM sessions
|
||
WHERE project = ?
|
||
ORDER BY created_at_epoch DESC
|
||
LIMIT ?
|
||
`).all(D,F)}getRecent(D=5){return this.db.prepare(`
|
||
SELECT * FROM sessions
|
||
ORDER BY created_at_epoch DESC
|
||
LIMIT ?
|
||
`).all(D)}getBySource(D,F){let Q=F?"SELECT * FROM sessions WHERE source = ? ORDER BY created_at_epoch DESC LIMIT ?":"SELECT * FROM sessions WHERE source = ? ORDER BY created_at_epoch DESC",B=this.db.prepare(Q),Y=F?[D,F]:[D];return B.all(...Y)}count(){return this.db.prepare("SELECT COUNT(*) as count FROM sessions").get().count}countByProject(D){return this.db.prepare("SELECT COUNT(*) as count FROM sessions WHERE project = ?").get(D).count}deleteById(D){return this.db.prepare("DELETE FROM sessions WHERE id = ?").run(D).changes>0}deleteBySessionId(D){return this.db.prepare("DELETE FROM sessions WHERE session_id = ?").run(D).changes>0}}var M6=OF(()=>{LF()});var R5={};hF(R5,{MemoryStore:()=>U7});class U7{db;constructor(D){this.db=D||f0()}create(D){let{isoString:F,epoch:Q}=M0(D.created_at),Y=this.db.prepare(`
|
||
INSERT INTO memories (
|
||
session_id, text, document_id, keywords, created_at, created_at_epoch,
|
||
project, archive_basename, origin, title, subtitle, facts, concepts, files_touched
|
||
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
||
`).run(D.session_id,D.text,D.document_id||null,D.keywords||null,F,Q,D.project,D.archive_basename||null,D.origin||"transcript",D.title||null,D.subtitle||null,D.facts||null,D.concepts||null,D.files_touched||null);return this.getById(Y.lastInsertRowid)}createMany(D){return this.db.transaction((Q)=>{let B=[];for(let Y of Q)B.push(this.create(Y));return B})(D)}getById(D){return this.db.prepare("SELECT * FROM memories WHERE id = ?").get(D)||null}getByDocumentId(D){return this.db.prepare("SELECT * FROM memories WHERE document_id = ?").get(D)||null}hasDocumentId(D){let F=this.db.prepare("SELECT 1 FROM memories WHERE document_id = ? LIMIT 1");return Boolean(F.get(D))}getBySessionId(D){return this.db.prepare(`
|
||
SELECT * FROM memories
|
||
WHERE session_id = ?
|
||
ORDER BY created_at_epoch DESC
|
||
`).all(D)}getRecentForProject(D,F=10){return this.db.prepare(`
|
||
SELECT * FROM memories
|
||
WHERE project = ?
|
||
ORDER BY created_at_epoch DESC
|
||
LIMIT ?
|
||
`).all(D,F)}getRecent(D=10){return this.db.prepare(`
|
||
SELECT * FROM memories
|
||
ORDER BY created_at_epoch DESC
|
||
LIMIT ?
|
||
`).all(D)}searchByText(D,F,Q=20){let B="SELECT * FROM memories WHERE text LIKE ?",Y=[`%${D}%`];if(F)B+=" AND project = ?",Y.push(F);return B+=" ORDER BY created_at_epoch DESC LIMIT ?",Y.push(Q),this.db.prepare(B).all(...Y)}searchByKeywords(D,F,Q=20){let B="SELECT * FROM memories WHERE keywords LIKE ?",Y=[`%${D}%`];if(F)B+=" AND project = ?",Y.push(F);return B+=" ORDER BY created_at_epoch DESC LIMIT ?",Y.push(Q),this.db.prepare(B).all(...Y)}getByOrigin(D,F){let Q=F?"SELECT * FROM memories WHERE origin = ? ORDER BY created_at_epoch DESC LIMIT ?":"SELECT * FROM memories WHERE origin = ? ORDER BY created_at_epoch DESC",B=this.db.prepare(Q),Y=F?[D,F]:[D];return B.all(...Y)}getRecentForProjectByOrigin(D,F,Q=10){return this.db.prepare(`
|
||
SELECT * FROM memories
|
||
WHERE project = ? AND origin = ?
|
||
ORDER BY created_at_epoch DESC
|
||
LIMIT ?
|
||
`).all(D,F,Q)}getLastNForProject(D,F=10){return this.db.prepare(`
|
||
SELECT * FROM (
|
||
SELECT * FROM memories
|
||
WHERE project = ?
|
||
ORDER BY created_at_epoch DESC
|
||
LIMIT ?
|
||
)
|
||
ORDER BY created_at_epoch ASC
|
||
`).all(D,F)}count(){return this.db.prepare("SELECT COUNT(*) as count FROM memories").get().count}countByProject(D){return this.db.prepare("SELECT COUNT(*) as count FROM memories WHERE project = ?").get(D).count}update(D,F){let Q=this.getById(D);if(!Q)throw new Error(`Memory with id ${D} not found`);let{isoString:B,epoch:Y}=M0(F.created_at||Q.created_at);return this.db.prepare(`
|
||
UPDATE memories SET
|
||
text = ?, document_id = ?, keywords = ?, created_at = ?, created_at_epoch = ?,
|
||
project = ?, archive_basename = ?, origin = ?, title = ?, subtitle = ?, facts = ?,
|
||
concepts = ?, files_touched = ?
|
||
WHERE id = ?
|
||
`).run(F.text||Q.text,F.document_id!==void 0?F.document_id:Q.document_id,F.keywords!==void 0?F.keywords:Q.keywords,B,Y,F.project||Q.project,F.archive_basename!==void 0?F.archive_basename:Q.archive_basename,F.origin||Q.origin,F.title!==void 0?F.title:Q.title,F.subtitle!==void 0?F.subtitle:Q.subtitle,F.facts!==void 0?F.facts:Q.facts,F.concepts!==void 0?F.concepts:Q.concepts,F.files_touched!==void 0?F.files_touched:Q.files_touched,D),this.getById(D)}deleteById(D){return this.db.prepare("DELETE FROM memories WHERE id = ?").run(D).changes>0}deleteBySessionId(D){return this.db.prepare("DELETE FROM memories WHERE session_id = ?").run(D).changes}getUniqueProjects(){return this.db.prepare("SELECT DISTINCT project FROM memories ORDER BY project").all().map((Q)=>Q.project)}}var E7=OF(()=>{LF()});var _5={};hF(_5,{OverviewStore:()=>Z7});class Z7{db;constructor(D){this.db=D||f0()}create(D){let{isoString:F,epoch:Q}=M0(D.created_at),Y=this.db.prepare(`
|
||
INSERT INTO overviews (
|
||
session_id, content, created_at, created_at_epoch, project, origin
|
||
) VALUES (?, ?, ?, ?, ?, ?)
|
||
`).run(D.session_id,D.content,F,Q,D.project,D.origin||"claude");return this.getById(Y.lastInsertRowid)}upsert(D){let F=this.getBySessionId(D.session_id);if(F)return this.update(F.id,D);return this.create(D)}getById(D){return this.db.prepare("SELECT * FROM overviews WHERE id = ?").get(D)||null}getBySessionId(D){return this.db.prepare("SELECT * FROM overviews WHERE session_id = ?").get(D)||null}getRecentForProject(D,F=5){return this.db.prepare(`
|
||
SELECT * FROM overviews
|
||
WHERE project = ?
|
||
ORDER BY created_at_epoch DESC
|
||
LIMIT ?
|
||
`).all(D,F)}getAllForProject(D){return this.db.prepare(`
|
||
SELECT * FROM overviews
|
||
WHERE project = ?
|
||
ORDER BY created_at_epoch ASC
|
||
`).all(D)}getRecent(D=5){return this.db.prepare(`
|
||
SELECT * FROM overviews
|
||
ORDER BY created_at_epoch DESC
|
||
LIMIT ?
|
||
`).all(D)}searchByContent(D,F,Q=10){let B="SELECT * FROM overviews WHERE content LIKE ?",Y=[`%${D}%`];if(F)B+=" AND project = ?",Y.push(F);return B+=" ORDER BY created_at_epoch DESC LIMIT ?",Y.push(Q),this.db.prepare(B).all(...Y)}getByOrigin(D,F){let Q=F?"SELECT * FROM overviews WHERE origin = ? ORDER BY created_at_epoch DESC LIMIT ?":"SELECT * FROM overviews WHERE origin = ? ORDER BY created_at_epoch DESC",B=this.db.prepare(Q),Y=F?[D,F]:[D];return B.all(...Y)}count(){return this.db.prepare("SELECT COUNT(*) as count FROM overviews").get().count}countByProject(D){return this.db.prepare("SELECT COUNT(*) as count FROM overviews WHERE project = ?").get(D).count}update(D,F){let Q=this.getById(D);if(!Q)throw new Error(`Overview with id ${D} not found`);let{isoString:B,epoch:Y}=M0(F.created_at||Q.created_at);return this.db.prepare(`
|
||
UPDATE overviews SET
|
||
content = ?, created_at = ?, created_at_epoch = ?, project = ?, origin = ?
|
||
WHERE id = ?
|
||
`).run(F.content||Q.content,B,Y,F.project||Q.project,F.origin||Q.origin,D),this.getById(D)}deleteById(D){return this.db.prepare("DELETE FROM overviews WHERE id = ?").run(D).changes>0}deleteBySessionId(D){return this.db.prepare("DELETE FROM overviews WHERE session_id = ?").run(D).changes>0}getUniqueProjects(){return this.db.prepare("SELECT DISTINCT project FROM overviews ORDER BY project").all().map((Q)=>Q.project)}getByProject(D){return this.db.prepare(`
|
||
SELECT * FROM overviews
|
||
WHERE project = ?
|
||
ORDER BY created_at_epoch DESC
|
||
LIMIT 1
|
||
`).get(D)||null}upsertByProject(D){let F=this.getByProject(D.project);if(F)return this.update(F.id,D);return this.create(D)}deleteByProject(D){return this.db.prepare("DELETE FROM overviews WHERE project = ?").run(D).changes>0}}var A7=OF(()=>{LF()});var O5={};hF(O5,{DiagnosticsStore:()=>V7});class V7{db;constructor(D){this.db=D||f0()}create(D){let{isoString:F,epoch:Q}=M0(D.created_at),Y=this.db.prepare(`
|
||
INSERT INTO diagnostics (
|
||
session_id, message, severity, created_at, created_at_epoch, project, origin
|
||
) VALUES (?, ?, ?, ?, ?, ?, ?)
|
||
`).run(D.session_id||null,D.message,D.severity||"warn",F,Q,D.project,D.origin||"compressor");return this.getById(Y.lastInsertRowid)}getById(D){return this.db.prepare("SELECT * FROM diagnostics WHERE id = ?").get(D)||null}getBySessionId(D){return this.db.prepare(`
|
||
SELECT * FROM diagnostics
|
||
WHERE session_id = ?
|
||
ORDER BY created_at_epoch DESC
|
||
`).all(D)}getRecentForProject(D,F=10){return this.db.prepare(`
|
||
SELECT * FROM diagnostics
|
||
WHERE project = ?
|
||
ORDER BY created_at_epoch DESC
|
||
LIMIT ?
|
||
`).all(D,F)}getRecent(D=10){return this.db.prepare(`
|
||
SELECT * FROM diagnostics
|
||
ORDER BY created_at_epoch DESC
|
||
LIMIT ?
|
||
`).all(D)}getBySeverity(D,F){let Q=F?"SELECT * FROM diagnostics WHERE severity = ? ORDER BY created_at_epoch DESC LIMIT ?":"SELECT * FROM diagnostics WHERE severity = ? ORDER BY created_at_epoch DESC",B=this.db.prepare(Q),Y=F?[D,F]:[D];return B.all(...Y)}getByOrigin(D,F){let Q=F?"SELECT * FROM diagnostics WHERE origin = ? ORDER BY created_at_epoch DESC LIMIT ?":"SELECT * FROM diagnostics WHERE origin = ? ORDER BY created_at_epoch DESC",B=this.db.prepare(Q),Y=F?[D,F]:[D];return B.all(...Y)}searchByMessage(D,F,Q=20){let B="SELECT * FROM diagnostics WHERE message LIKE ?",Y=[`%${D}%`];if(F)B+=" AND project = ?",Y.push(F);return B+=" ORDER BY created_at_epoch DESC LIMIT ?",Y.push(Q),this.db.prepare(B).all(...Y)}count(){return this.db.prepare("SELECT COUNT(*) as count FROM diagnostics").get().count}countByProject(D){return this.db.prepare("SELECT COUNT(*) as count FROM diagnostics WHERE project = ?").get(D).count}countBySeverity(D){return this.db.prepare("SELECT COUNT(*) as count FROM diagnostics WHERE severity = ?").get(D).count}update(D,F){let Q=this.getById(D);if(!Q)throw new Error(`Diagnostic with id ${D} not found`);let{isoString:B,epoch:Y}=M0(F.created_at||Q.created_at);return this.db.prepare(`
|
||
UPDATE diagnostics SET
|
||
message = ?, severity = ?, created_at = ?, created_at_epoch = ?, project = ?, origin = ?
|
||
WHERE id = ?
|
||
`).run(F.message||Q.message,F.severity||Q.severity,B,Y,F.project||Q.project,F.origin||Q.origin,D),this.getById(D)}deleteById(D){return this.db.prepare("DELETE FROM diagnostics WHERE id = ?").run(D).changes>0}deleteBySessionId(D){return this.db.prepare("DELETE FROM diagnostics WHERE session_id = ?").run(D).changes}getUniqueProjects(){return this.db.prepare("SELECT DISTINCT project FROM diagnostics ORDER BY project").all().map((Q)=>Q.project)}getStats(){return this.db.prepare(`
|
||
SELECT
|
||
COUNT(*) as total,
|
||
COUNT(CASE WHEN severity = 'info' THEN 1 END) as info,
|
||
COUNT(CASE WHEN severity = 'warn' THEN 1 END) as warn,
|
||
COUNT(CASE WHEN severity = 'error' THEN 1 END) as error
|
||
FROM diagnostics
|
||
`).get()}}var L7=OF(()=>{LF()});var I5={};hF(I5,{TranscriptEventStore:()=>M7});class M7{db;constructor(D){this.db=D||f0()}upsert(D){let{isoString:F,epoch:Q}=M0(D.captured_at);return this.db.prepare(`
|
||
INSERT INTO transcript_events (
|
||
session_id,
|
||
project,
|
||
event_index,
|
||
event_type,
|
||
raw_json,
|
||
captured_at,
|
||
captured_at_epoch
|
||
) VALUES (?, ?, ?, ?, ?, ?, ?)
|
||
ON CONFLICT(session_id, event_index) DO UPDATE SET
|
||
project = excluded.project,
|
||
event_type = excluded.event_type,
|
||
raw_json = excluded.raw_json,
|
||
captured_at = excluded.captured_at,
|
||
captured_at_epoch = excluded.captured_at_epoch
|
||
`).run(D.session_id,D.project||null,D.event_index,D.event_type||null,D.raw_json,F,Q),this.getBySessionAndIndex(D.session_id,D.event_index)}upsertMany(D){return this.db.transaction((Q)=>{let B=[];for(let Y of Q)B.push(this.upsert(Y));return B})(D)}getBySessionAndIndex(D,F){return this.db.prepare(`
|
||
SELECT * FROM transcript_events
|
||
WHERE session_id = ? AND event_index = ?
|
||
`).get(D,F)}getMaxEventIndex(D){return this.db.prepare(`
|
||
SELECT MAX(event_index) as max_event_index
|
||
FROM transcript_events
|
||
WHERE session_id = ?
|
||
`).get(D)?.max_event_index??-1}listBySession(D,F=200,Q=0){return this.db.prepare(`
|
||
SELECT * FROM transcript_events
|
||
WHERE session_id = ?
|
||
ORDER BY event_index ASC
|
||
LIMIT ? OFFSET ?
|
||
`).all(D,F,Q)}}var N7=OF(()=>{LF()});var S5={};hF(S5,{migrations:()=>P5,migration002:()=>T5,migration001:()=>w5});var w5,T5,P5;var j7=OF(()=>{w5={version:1,up:(D)=>{D.exec(`
|
||
CREATE TABLE IF NOT EXISTS sessions (
|
||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||
session_id TEXT UNIQUE NOT NULL,
|
||
project TEXT NOT NULL,
|
||
created_at TEXT NOT NULL,
|
||
created_at_epoch INTEGER NOT NULL,
|
||
source TEXT NOT NULL DEFAULT 'compress',
|
||
archive_path TEXT,
|
||
archive_bytes INTEGER,
|
||
archive_checksum TEXT,
|
||
archived_at TEXT,
|
||
metadata_json TEXT
|
||
);
|
||
|
||
CREATE INDEX IF NOT EXISTS idx_sessions_project ON sessions(project);
|
||
CREATE INDEX IF NOT EXISTS idx_sessions_created_at ON sessions(created_at_epoch DESC);
|
||
CREATE INDEX IF NOT EXISTS idx_sessions_project_created ON sessions(project, created_at_epoch DESC);
|
||
`),D.exec(`
|
||
CREATE TABLE IF NOT EXISTS memories (
|
||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||
session_id TEXT NOT NULL,
|
||
text TEXT NOT NULL,
|
||
document_id TEXT UNIQUE,
|
||
keywords TEXT,
|
||
created_at TEXT NOT NULL,
|
||
created_at_epoch INTEGER NOT NULL,
|
||
project TEXT NOT NULL,
|
||
archive_basename TEXT,
|
||
origin TEXT NOT NULL DEFAULT 'transcript',
|
||
FOREIGN KEY (session_id) REFERENCES sessions(session_id) ON DELETE CASCADE
|
||
);
|
||
|
||
CREATE INDEX IF NOT EXISTS idx_memories_session ON memories(session_id);
|
||
CREATE INDEX IF NOT EXISTS idx_memories_project ON memories(project);
|
||
CREATE INDEX IF NOT EXISTS idx_memories_created_at ON memories(created_at_epoch DESC);
|
||
CREATE INDEX IF NOT EXISTS idx_memories_project_created ON memories(project, created_at_epoch DESC);
|
||
CREATE INDEX IF NOT EXISTS idx_memories_document_id ON memories(document_id);
|
||
CREATE INDEX IF NOT EXISTS idx_memories_origin ON memories(origin);
|
||
`),D.exec(`
|
||
CREATE TABLE IF NOT EXISTS overviews (
|
||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||
session_id TEXT NOT NULL,
|
||
content TEXT NOT NULL,
|
||
created_at TEXT NOT NULL,
|
||
created_at_epoch INTEGER NOT NULL,
|
||
project TEXT NOT NULL,
|
||
origin TEXT NOT NULL DEFAULT 'claude',
|
||
FOREIGN KEY (session_id) REFERENCES sessions(session_id) ON DELETE CASCADE
|
||
);
|
||
|
||
CREATE INDEX IF NOT EXISTS idx_overviews_session ON overviews(session_id);
|
||
CREATE INDEX IF NOT EXISTS idx_overviews_project ON overviews(project);
|
||
CREATE INDEX IF NOT EXISTS idx_overviews_created_at ON overviews(created_at_epoch DESC);
|
||
CREATE INDEX IF NOT EXISTS idx_overviews_project_created ON overviews(project, created_at_epoch DESC);
|
||
CREATE UNIQUE INDEX IF NOT EXISTS idx_overviews_project_latest ON overviews(project, created_at_epoch DESC);
|
||
`),D.exec(`
|
||
CREATE TABLE IF NOT EXISTS diagnostics (
|
||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||
session_id TEXT,
|
||
message TEXT NOT NULL,
|
||
severity TEXT NOT NULL DEFAULT 'info',
|
||
created_at TEXT NOT NULL,
|
||
created_at_epoch INTEGER NOT NULL,
|
||
project TEXT NOT NULL,
|
||
origin TEXT NOT NULL DEFAULT 'system',
|
||
FOREIGN KEY (session_id) REFERENCES sessions(session_id) ON DELETE SET NULL
|
||
);
|
||
|
||
CREATE INDEX IF NOT EXISTS idx_diagnostics_session ON diagnostics(session_id);
|
||
CREATE INDEX IF NOT EXISTS idx_diagnostics_project ON diagnostics(project);
|
||
CREATE INDEX IF NOT EXISTS idx_diagnostics_severity ON diagnostics(severity);
|
||
CREATE INDEX IF NOT EXISTS idx_diagnostics_created ON diagnostics(created_at_epoch DESC);
|
||
`),D.exec(`
|
||
CREATE TABLE IF NOT EXISTS transcript_events (
|
||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||
session_id TEXT NOT NULL,
|
||
project TEXT,
|
||
event_index INTEGER NOT NULL,
|
||
event_type TEXT,
|
||
raw_json TEXT NOT NULL,
|
||
captured_at TEXT NOT NULL,
|
||
captured_at_epoch INTEGER NOT NULL,
|
||
FOREIGN KEY (session_id) REFERENCES sessions(session_id) ON DELETE CASCADE,
|
||
UNIQUE(session_id, event_index)
|
||
);
|
||
|
||
CREATE INDEX IF NOT EXISTS idx_transcript_events_session ON transcript_events(session_id, event_index);
|
||
CREATE INDEX IF NOT EXISTS idx_transcript_events_project ON transcript_events(project);
|
||
CREATE INDEX IF NOT EXISTS idx_transcript_events_type ON transcript_events(event_type);
|
||
CREATE INDEX IF NOT EXISTS idx_transcript_events_captured ON transcript_events(captured_at_epoch DESC);
|
||
`),console.log("✅ Created all database tables successfully")},down:(D)=>{D.exec(`
|
||
DROP TABLE IF EXISTS transcript_events;
|
||
DROP TABLE IF EXISTS diagnostics;
|
||
DROP TABLE IF EXISTS overviews;
|
||
DROP TABLE IF EXISTS memories;
|
||
DROP TABLE IF EXISTS sessions;
|
||
`)}},T5={version:2,up:(D)=>{D.exec(`
|
||
ALTER TABLE memories ADD COLUMN title TEXT;
|
||
ALTER TABLE memories ADD COLUMN subtitle TEXT;
|
||
ALTER TABLE memories ADD COLUMN facts TEXT;
|
||
ALTER TABLE memories ADD COLUMN concepts TEXT;
|
||
ALTER TABLE memories ADD COLUMN files_touched TEXT;
|
||
`),D.exec(`
|
||
CREATE INDEX IF NOT EXISTS idx_memories_title ON memories(title);
|
||
CREATE INDEX IF NOT EXISTS idx_memories_concepts ON memories(concepts);
|
||
`),console.log("✅ Added hierarchical memory fields to memories table")},down:(D)=>{console.log("⚠️ Warning: SQLite ALTER TABLE DROP COLUMN not fully supported"),console.log("⚠️ To rollback, manually recreate the memories table")}},P5=[w5,T5]});var d9=i0(l9(),1),{program:PU,createCommand:SU,createArgument:bU,createOption:kU,CommanderError:vU,InvalidArgumentError:xU,InvalidOptionArgumentError:uU,Command:c9,Argument:yU,Option:fU,Help:gU}=d9.default;import{readFileSync as qY,existsSync as KY}from"fs";import{join as HY,dirname as UY}from"path";import{fileURLToPath as EY}from"url";var p9="claude-mem",n9="3.9.9",i9="Memory compression system for Claude Code - persist context across sessions",a9=p9,r9=n9,o9=i9;try{let D=EY(import.meta.url),F=UY(D),Q=HY(F,"..","..","package.json");if(KY(Q)){let B=JSON.parse(qY(Q,"utf-8"));a9=B.name||p9,r9=B.version||n9,o9=B.description||i9}}catch{}var G2=a9,s9=r9,t9=o9;import{readFileSync as E2,writeFileSync as pF,existsSync as TD,chmodSync as UC,mkdirSync as A2,copyFileSync as cF,statSync as EC,readdirSync as ZC}from"fs";import{join as LD,dirname as Z2}from"path";import{homedir as B7,platform as T4}from"os";import{execSync as dF}from"child_process";import{fileURLToPath as P4}from"url";var C0=i0(K1(),1),K3=i0(U1(),1);import{stdin as G3,stdout as q3}from"node:process";import*as IF from"node:readline";import B3 from"node:readline";import{Writable as NY}from"node:stream";function jY({onlyFirst:D=!1}={}){let F=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");return new RegExp(F,D?void 0:"g")}var RY=jY();function H3(D){if(typeof D!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof D}\``);return D.replace(RY,"")}function U3(D){return D&&D.__esModule&&Object.prototype.hasOwnProperty.call(D,"default")?D.default:D}var E3={exports:{}};(function(D){var F={};D.exports=F,F.eastAsianWidth=function(B){var Y=B.charCodeAt(0),J=B.length==2?B.charCodeAt(1):0,X=Y;return 55296<=Y&&Y<=56319&&56320<=J&&J<=57343&&(Y&=1023,J&=1023,X=Y<<10|J,X+=65536),X==12288||65281<=X&&X<=65376||65504<=X&&X<=65510?"F":X==8361||65377<=X&&X<=65470||65474<=X&&X<=65479||65482<=X&&X<=65487||65490<=X&&X<=65495||65498<=X&&X<=65500||65512<=X&&X<=65518?"H":4352<=X&&X<=4447||4515<=X&&X<=4519||4602<=X&&X<=4607||9001<=X&&X<=9002||11904<=X&&X<=11929||11931<=X&&X<=12019||12032<=X&&X<=12245||12272<=X&&X<=12283||12289<=X&&X<=12350||12353<=X&&X<=12438||12441<=X&&X<=12543||12549<=X&&X<=12589||12593<=X&&X<=12686||12688<=X&&X<=12730||12736<=X&&X<=12771||12784<=X&&X<=12830||12832<=X&&X<=12871||12880<=X&&X<=13054||13056<=X&&X<=19903||19968<=X&&X<=42124||42128<=X&&X<=42182||43360<=X&&X<=43388||44032<=X&&X<=55203||55216<=X&&X<=55238||55243<=X&&X<=55291||63744<=X&&X<=64255||65040<=X&&X<=65049||65072<=X&&X<=65106||65108<=X&&X<=65126||65128<=X&&X<=65131||110592<=X&&X<=110593||127488<=X&&X<=127490||127504<=X&&X<=127546||127552<=X&&X<=127560||127568<=X&&X<=127569||131072<=X&&X<=194367||177984<=X&&X<=196605||196608<=X&&X<=262141?"W":32<=X&&X<=126||162<=X&&X<=163||165<=X&&X<=166||X==172||X==175||10214<=X&&X<=10221||10629<=X&&X<=10630?"Na":X==161||X==164||167<=X&&X<=168||X==170||173<=X&&X<=174||176<=X&&X<=180||182<=X&&X<=186||188<=X&&X<=191||X==198||X==208||215<=X&&X<=216||222<=X&&X<=225||X==230||232<=X&&X<=234||236<=X&&X<=237||X==240||242<=X&&X<=243||247<=X&&X<=250||X==252||X==254||X==257||X==273||X==275||X==283||294<=X&&X<=295||X==299||305<=X&&X<=307||X==312||319<=X&&X<=322||X==324||328<=X&&X<=331||X==333||338<=X&&X<=339||358<=X&&X<=359||X==363||X==462||X==464||X==466||X==468||X==470||X==472||X==474||X==476||X==593||X==609||X==708||X==711||713<=X&&X<=715||X==717||X==720||728<=X&&X<=731||X==733||X==735||768<=X&&X<=879||913<=X&&X<=929||931<=X&&X<=937||945<=X&&X<=961||963<=X&&X<=969||X==1025||1040<=X&&X<=1103||X==1105||X==8208||8211<=X&&X<=8214||8216<=X&&X<=8217||8220<=X&&X<=8221||8224<=X&&X<=8226||8228<=X&&X<=8231||X==8240||8242<=X&&X<=8243||X==8245||X==8251||X==8254||X==8308||X==8319||8321<=X&&X<=8324||X==8364||X==8451||X==8453||X==8457||X==8467||X==8470||8481<=X&&X<=8482||X==8486||X==8491||8531<=X&&X<=8532||8539<=X&&X<=8542||8544<=X&&X<=8555||8560<=X&&X<=8569||X==8585||8592<=X&&X<=8601||8632<=X&&X<=8633||X==8658||X==8660||X==8679||X==8704||8706<=X&&X<=8707||8711<=X&&X<=8712||X==8715||X==8719||X==8721||X==8725||X==8730||8733<=X&&X<=8736||X==8739||X==8741||8743<=X&&X<=8748||X==8750||8756<=X&&X<=8759||8764<=X&&X<=8765||X==8776||X==8780||X==8786||8800<=X&&X<=8801||8804<=X&&X<=8807||8810<=X&&X<=8811||8814<=X&&X<=8815||8834<=X&&X<=8835||8838<=X&&X<=8839||X==8853||X==8857||X==8869||X==8895||X==8978||9312<=X&&X<=9449||9451<=X&&X<=9547||9552<=X&&X<=9587||9600<=X&&X<=9615||9618<=X&&X<=9621||9632<=X&&X<=9633||9635<=X&&X<=9641||9650<=X&&X<=9651||9654<=X&&X<=9655||9660<=X&&X<=9661||9664<=X&&X<=9665||9670<=X&&X<=9672||X==9675||9678<=X&&X<=9681||9698<=X&&X<=9701||X==9711||9733<=X&&X<=9734||X==9737||9742<=X&&X<=9743||9748<=X&&X<=9749||X==9756||X==9758||X==9792||X==9794||9824<=X&&X<=9825||9827<=X&&X<=9829||9831<=X&&X<=9834||9836<=X&&X<=9837||X==9839||9886<=X&&X<=9887||9918<=X&&X<=9919||9924<=X&&X<=9933||9935<=X&&X<=9953||X==9955||9960<=X&&X<=9983||X==10045||X==10071||10102<=X&&X<=10111||11093<=X&&X<=11097||12872<=X&&X<=12879||57344<=X&&X<=63743||65024<=X&&X<=65039||X==65533||127232<=X&&X<=127242||127248<=X&&X<=127277||127280<=X&&X<=127337||127344<=X&&X<=127386||917760<=X&&X<=917999||983040<=X&&X<=1048573||1048576<=X&&X<=1114109?"A":"N"},F.characterLength=function(B){var Y=this.eastAsianWidth(B);return Y=="F"||Y=="W"||Y=="A"?2:1};function Q(B){return B.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g)||[]}F.length=function(B){for(var Y=Q(B),J=0,X=0;X<Y.length;X++)J=J+this.characterLength(Y[X]);return J},F.slice=function(B,Y,J){textLen=F.length(B),Y=Y||0,J=J||1,Y<0&&(Y=textLen+Y),J<0&&(J=textLen+J);for(var X="",C=0,W=Q(B),z=0;z<W.length;z++){var G=W[z],q=F.length(G);if(C>=Y-(q==2?1:0))if(C+q<=J)X+=G;else break;C+=q}return X}})(E3);var _Y=E3.exports,OY=U3(_Y),IY=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g},wY=U3(IY);function s2(D,F={}){if(typeof D!="string"||D.length===0||(F={ambiguousIsNarrow:!0,...F},D=H3(D),D.length===0))return 0;D=D.replace(wY()," ");let Q=F.ambiguousIsNarrow?1:2,B=0;for(let Y of D){let J=Y.codePointAt(0);if(J<=31||J>=127&&J<=159||J>=768&&J<=879)continue;switch(OY.eastAsianWidth(Y)){case"F":case"W":B+=2;break;case"A":B+=Q;break;default:B+=1}}return B}var E1=10,Q3=(D=0)=>(F)=>`\x1B[${F+D}m`,X3=(D=0)=>(F)=>`\x1B[${38+D};5;${F}m`,Y3=(D=0)=>(F,Q,B)=>`\x1B[${38+D};2;${F};${Q};${B}m`,xD={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Object.keys(xD.modifier);var TY=Object.keys(xD.color),PY=Object.keys(xD.bgColor);[...TY];function SY(){let D=new Map;for(let[F,Q]of Object.entries(xD)){for(let[B,Y]of Object.entries(Q))xD[B]={open:`\x1B[${Y[0]}m`,close:`\x1B[${Y[1]}m`},Q[B]=xD[B],D.set(Y[0],Y[1]);Object.defineProperty(xD,F,{value:Q,enumerable:!1})}return Object.defineProperty(xD,"codes",{value:D,enumerable:!1}),xD.color.close="\x1B[39m",xD.bgColor.close="\x1B[49m",xD.color.ansi=Q3(),xD.color.ansi256=X3(),xD.color.ansi16m=Y3(),xD.bgColor.ansi=Q3(E1),xD.bgColor.ansi256=X3(E1),xD.bgColor.ansi16m=Y3(E1),Object.defineProperties(xD,{rgbToAnsi256:{value:(F,Q,B)=>F===Q&&Q===B?F<8?16:F>248?231:Math.round((F-8)/247*24)+232:16+36*Math.round(F/255*5)+6*Math.round(Q/255*5)+Math.round(B/255*5),enumerable:!1},hexToRgb:{value:(F)=>{let Q=/[a-f\d]{6}|[a-f\d]{3}/i.exec(F.toString(16));if(!Q)return[0,0,0];let[B]=Q;B.length===3&&(B=[...B].map((J)=>J+J).join(""));let Y=Number.parseInt(B,16);return[Y>>16&255,Y>>8&255,Y&255]},enumerable:!1},hexToAnsi256:{value:(F)=>xD.rgbToAnsi256(...xD.hexToRgb(F)),enumerable:!1},ansi256ToAnsi:{value:(F)=>{if(F<8)return 30+F;if(F<16)return 90+(F-8);let Q,B,Y;if(F>=232)Q=((F-232)*10+8)/255,B=Q,Y=Q;else{F-=16;let C=F%36;Q=Math.floor(F/36)/5,B=Math.floor(C/6)/5,Y=C%6/5}let J=Math.max(Q,B,Y)*2;if(J===0)return 30;let X=30+(Math.round(Y)<<2|Math.round(B)<<1|Math.round(Q));return J===2&&(X+=60),X},enumerable:!1},rgbToAnsi:{value:(F,Q,B)=>xD.ansi256ToAnsi(xD.rgbToAnsi256(F,Q,B)),enumerable:!1},hexToAnsi:{value:(F)=>xD.ansi256ToAnsi(xD.hexToAnsi256(F)),enumerable:!1}}),xD}var bY=SY(),a8=new Set(["\x1B",""]),kY=39,V1="\x07",Z3="[",vY="]",A3="m",L1=`${vY}8;;`,J3=(D)=>`${a8.values().next().value}${Z3}${D}${A3}`,C3=(D)=>`${a8.values().next().value}${L1}${D}${V1}`,xY=(D)=>D.split(" ").map((F)=>s2(F)),Z1=(D,F,Q)=>{let B=[...F],Y=!1,J=!1,X=s2(H3(D[D.length-1]));for(let[C,W]of B.entries()){let z=s2(W);if(X+z<=Q?D[D.length-1]+=W:(D.push(W),X=0),a8.has(W)&&(Y=!0,J=B.slice(C+1).join("").startsWith(L1)),Y){J?W===V1&&(Y=!1,J=!1):W===A3&&(Y=!1);continue}X+=z,X===Q&&C<B.length-1&&(D.push(""),X=0)}!X&&D[D.length-1].length>0&&D.length>1&&(D[D.length-2]+=D.pop())},uY=(D)=>{let F=D.split(" "),Q=F.length;for(;Q>0&&!(s2(F[Q-1])>0);)Q--;return Q===F.length?D:F.slice(0,Q).join(" ")+F.slice(Q).join("")},yY=(D,F,Q={})=>{if(Q.trim!==!1&&D.trim()==="")return"";let B="",Y,J,X=xY(D),C=[""];for(let[z,G]of D.split(" ").entries()){Q.trim!==!1&&(C[C.length-1]=C[C.length-1].trimStart());let q=s2(C[C.length-1]);if(z!==0&&(q>=F&&(Q.wordWrap===!1||Q.trim===!1)&&(C.push(""),q=0),(q>0||Q.trim===!1)&&(C[C.length-1]+=" ",q++)),Q.hard&&X[z]>F){let E=F-q,U=1+Math.floor((X[z]-E-1)/F);Math.floor((X[z]-1)/F)<U&&C.push(""),Z1(C,G,F);continue}if(q+X[z]>F&&q>0&&X[z]>0){if(Q.wordWrap===!1&&q<F){Z1(C,G,F);continue}C.push("")}if(q+X[z]>F&&Q.wordWrap===!1){Z1(C,G,F);continue}C[C.length-1]+=G}Q.trim!==!1&&(C=C.map((z)=>uY(z)));let W=[...C.join(`
|
||
`)];for(let[z,G]of W.entries()){if(B+=G,a8.has(G)){let{groups:E}=new RegExp(`(?:\\${Z3}(?<code>\\d+)m|\\${L1}(?<uri>.*)${V1})`).exec(W.slice(z).join(""))||{groups:{}};if(E.code!==void 0){let U=Number.parseFloat(E.code);Y=U===kY?void 0:U}else E.uri!==void 0&&(J=E.uri.length===0?void 0:E.uri)}let q=bY.codes.get(Number(Y));W[z+1]===`
|
||
`?(J&&(B+=C3("")),Y&&q&&(B+=J3(q))):G===`
|
||
`&&(Y&&q&&(B+=J3(Y)),J&&(B+=C3(J)))}return B};function W3(D,F,Q){return String(D).normalize().replace(/\r\n/g,`
|
||
`).split(`
|
||
`).map((B)=>yY(B,F,Q)).join(`
|
||
`)}var fY=["up","down","left","right","space","enter","cancel"],i8={actions:new Set(fY),aliases:new Map([["k","up"],["j","down"],["h","left"],["l","right"],["\x03","cancel"],["escape","cancel"]])};function M1(D,F){if(typeof D=="string")return i8.aliases.get(D)===F;for(let Q of D)if(Q!==void 0&&M1(Q,F))return!0;return!1}function gY(D,F){if(D===F)return;let Q=D.split(`
|
||
`),B=F.split(`
|
||
`),Y=[];for(let J=0;J<Math.max(Q.length,B.length);J++)Q[J]!==B[J]&&Y.push(J);return Y}var $Y=globalThis.process.platform.startsWith("win"),A1=Symbol("clack:cancel");function u0(D){return D===A1}function n8(D,F){let Q=D;Q.isTTY&&Q.setRawMode(F)}function V3({input:D=G3,output:F=q3,overwrite:Q=!0,hideCursor:B=!0}={}){let Y=IF.createInterface({input:D,output:F,prompt:"",tabSize:1});IF.emitKeypressEvents(D,Y),D.isTTY&&D.setRawMode(!0);let J=(X,{name:C,sequence:W})=>{let z=String(X);if(M1([z,C,W],"cancel")){B&&F.write(C0.cursor.show),process.exit(0);return}if(!Q)return;IF.moveCursor(F,C==="return"?0:-1,C==="return"?-1:0,()=>{IF.clearLine(F,1,()=>{D.once("keypress",J)})})};return B&&F.write(C0.cursor.hide),D.once("keypress",J),()=>{D.off("keypress",J),B&&F.write(C0.cursor.show),D.isTTY&&!$Y&&D.setRawMode(!1),Y.terminal=!1,Y.close()}}var hY=Object.defineProperty,mY=(D,F,Q)=>(F in D)?hY(D,F,{enumerable:!0,configurable:!0,writable:!0,value:Q}):D[F]=Q,I0=(D,F,Q)=>(mY(D,typeof F!="symbol"?F+"":F,Q),Q);class r8{constructor(D,F=!0){I0(this,"input"),I0(this,"output"),I0(this,"_abortSignal"),I0(this,"rl"),I0(this,"opts"),I0(this,"_render"),I0(this,"_track",!1),I0(this,"_prevFrame",""),I0(this,"_subscribers",new Map),I0(this,"_cursor",0),I0(this,"state","initial"),I0(this,"error",""),I0(this,"value");let{input:Q=G3,output:B=q3,render:Y,signal:J,...X}=D;this.opts=X,this.onKeypress=this.onKeypress.bind(this),this.close=this.close.bind(this),this.render=this.render.bind(this),this._render=Y.bind(this),this._track=F,this._abortSignal=J,this.input=Q,this.output=B}unsubscribe(){this._subscribers.clear()}setSubscriber(D,F){let Q=this._subscribers.get(D)??[];Q.push(F),this._subscribers.set(D,Q)}on(D,F){this.setSubscriber(D,{cb:F})}once(D,F){this.setSubscriber(D,{cb:F,once:!0})}emit(D,...F){let Q=this._subscribers.get(D)??[],B=[];for(let Y of Q)Y.cb(...F),Y.once&&B.push(()=>Q.splice(Q.indexOf(Y),1));for(let Y of B)Y()}prompt(){return new Promise((D,F)=>{if(this._abortSignal){if(this._abortSignal.aborted)return this.state="cancel",this.close(),D(A1);this._abortSignal.addEventListener("abort",()=>{this.state="cancel",this.close()},{once:!0})}let Q=new NY;Q._write=(B,Y,J)=>{this._track&&(this.value=this.rl?.line.replace(/\t/g,""),this._cursor=this.rl?.cursor??0,this.emit("value",this.value)),J()},this.input.pipe(Q),this.rl=B3.createInterface({input:this.input,output:Q,tabSize:2,prompt:"",escapeCodeTimeout:50,terminal:!0}),B3.emitKeypressEvents(this.input,this.rl),this.rl.prompt(),this.opts.initialValue!==void 0&&this._track&&this.rl.write(this.opts.initialValue),this.input.on("keypress",this.onKeypress),n8(this.input,!0),this.output.on("resize",this.render),this.render(),this.once("submit",()=>{this.output.write(C0.cursor.show),this.output.off("resize",this.render),n8(this.input,!1),D(this.value)}),this.once("cancel",()=>{this.output.write(C0.cursor.show),this.output.off("resize",this.render),n8(this.input,!1),D(A1)})})}onKeypress(D,F){if(this.state==="error"&&(this.state="active"),F?.name&&(!this._track&&i8.aliases.has(F.name)&&this.emit("cursor",i8.aliases.get(F.name)),i8.actions.has(F.name)&&this.emit("cursor",F.name)),D&&(D.toLowerCase()==="y"||D.toLowerCase()==="n")&&this.emit("confirm",D.toLowerCase()==="y"),D==="\t"&&this.opts.placeholder&&(this.value||(this.rl?.write(this.opts.placeholder),this.emit("value",this.opts.placeholder))),D&&this.emit("key",D.toLowerCase()),F?.name==="return"){if(this.opts.validate){let Q=this.opts.validate(this.value);Q&&(this.error=Q instanceof Error?Q.message:Q,this.state="error",this.rl?.write(this.value))}this.state!=="error"&&(this.state="submit")}M1([D,F?.name,F?.sequence],"cancel")&&(this.state="cancel"),(this.state==="submit"||this.state==="cancel")&&this.emit("finalize"),this.render(),(this.state==="submit"||this.state==="cancel")&&this.close()}close(){this.input.unpipe(),this.input.removeListener("keypress",this.onKeypress),this.output.write(`
|
||
`),n8(this.input,!1),this.rl?.close(),this.rl=void 0,this.emit(`${this.state}`,this.value),this.unsubscribe()}restoreCursor(){let D=W3(this._prevFrame,process.stdout.columns,{hard:!0}).split(`
|
||
`).length-1;this.output.write(C0.cursor.move(-999,D*-1))}render(){let D=W3(this._render(this)??"",process.stdout.columns,{hard:!0});if(D!==this._prevFrame){if(this.state==="initial")this.output.write(C0.cursor.hide);else{let F=gY(this._prevFrame,D);if(this.restoreCursor(),F&&F?.length===1){let Q=F[0];this.output.write(C0.cursor.move(0,Q)),this.output.write(C0.erase.lines(1));let B=D.split(`
|
||
`);this.output.write(B[Q]),this._prevFrame=D,this.output.write(C0.cursor.move(0,B.length-Q-1));return}if(F&&F?.length>1){let Q=F[0];this.output.write(C0.cursor.move(0,Q)),this.output.write(C0.erase.down());let B=D.split(`
|
||
`).slice(Q);this.output.write(B.join(`
|
||
`)),this._prevFrame=D;return}this.output.write(C0.erase.down())}this.output.write(D),this.state==="initial"&&(this.state="active"),this._prevFrame=D}}}class N1 extends r8{get cursor(){return this.value?0:1}get _value(){return this.cursor===0}constructor(D){super(D,!1),this.value=!!D.initialValue,this.on("value",()=>{this.value=this._value}),this.on("confirm",(F)=>{this.output.write(C0.cursor.move(0,-1)),this.value=F,this.state="submit",this.close()}),this.on("cursor",()=>{this.value=!this.value})}}var lY;lY=new WeakMap;var dY=Object.defineProperty,cY=(D,F,Q)=>(F in D)?dY(D,F,{enumerable:!0,configurable:!0,writable:!0,value:Q}):D[F]=Q,z3=(D,F,Q)=>(cY(D,typeof F!="symbol"?F+"":F,Q),Q);class j1 extends r8{constructor(D){super(D,!1),z3(this,"options"),z3(this,"cursor",0),this.options=D.options,this.cursor=this.options.findIndex(({value:F})=>F===D.initialValue),this.cursor===-1&&(this.cursor=0),this.changeValue(),this.on("cursor",(F)=>{switch(F){case"left":case"up":this.cursor=this.cursor===0?this.options.length-1:this.cursor-1;break;case"down":case"right":this.cursor=this.cursor===this.options.length-1?0:this.cursor+1;break}this.changeValue()})}get _value(){return this.options[this.cursor]}changeValue(){this.value=this._value.value}}class R1 extends r8{get valueWithCursor(){if(this.state==="submit")return this.value;if(this.cursor>=this.value.length)return`${this.value}█`;let D=this.value.slice(0,this.cursor),[F,...Q]=this.value.slice(this.cursor);return`${D}${K3.default.inverse(F)}${Q.join("")}`}get cursor(){return this._cursor}constructor(D){super(D),this.on("finalize",()=>{this.value||(this.value=D.defaultValue)})}}var s=i0(U1(),1),o8=i0(K1(),1);import a0 from"node:process";function pY(){return a0.platform!=="win32"?a0.env.TERM!=="linux":!!a0.env.CI||!!a0.env.WT_SESSION||!!a0.env.TERMINUS_SUBLIME||a0.env.ConEmuTask==="{cmd::Cmder}"||a0.env.TERM_PROGRAM==="Terminus-Sublime"||a0.env.TERM_PROGRAM==="vscode"||a0.env.TERM==="xterm-256color"||a0.env.TERM==="alacritty"||a0.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var _1=pY(),iD=(D,F)=>_1?D:F,nY=iD("◆","*"),L3=iD("■","x"),M3=iD("▲","x"),w1=iD("◇","o"),QE=iD("┌","T"),mD=iD("│","|"),q2=iD("└","—"),O1=iD("●",">"),I1=iD("○"," "),XE=iD("◻","[•]"),YE=iD("◼","[+]"),JE=iD("◻","[ ]"),CE=iD("▪","•"),WE=iD("─","-"),zE=iD("╮","+"),GE=iD("├","+"),qE=iD("╯","+"),iY=iD("●","•"),aY=iD("◆","*"),rY=iD("▲","!"),oY=iD("■","x"),T1=(D)=>{switch(D){case"initial":case"active":return s.default.cyan(nY);case"cancel":return s.default.red(L3);case"error":return s.default.yellow(M3);case"submit":return s.default.green(w1)}},sY=(D)=>{let{cursor:F,options:Q,style:B}=D,Y=D.maxItems??Number.POSITIVE_INFINITY,J=Math.max(process.stdout.rows-4,0),X=Math.min(J,Math.max(Y,5)),C=0;F>=C+X-3?C=Math.max(Math.min(F-X+3,Q.length-X),0):F<C+2&&(C=Math.max(F-2,0));let W=X<Q.length&&C>0,z=X<Q.length&&C+X<Q.length;return Q.slice(C,C+X).map((G,q,E)=>{let U=q===0&&W,A=q===E.length-1&&z;return U||A?s.default.dim("..."):B(G,q+C===F)})},N3=(D)=>new R1({validate:D.validate,placeholder:D.placeholder,defaultValue:D.defaultValue,initialValue:D.initialValue,render(){let F=`${s.default.gray(mD)}
|
||
${T1(this.state)} ${D.message}
|
||
`,Q=D.placeholder?s.default.inverse(D.placeholder[0])+s.default.dim(D.placeholder.slice(1)):s.default.inverse(s.default.hidden("_")),B=this.value?this.valueWithCursor:Q;switch(this.state){case"error":return`${F.trim()}
|
||
${s.default.yellow(mD)} ${B}
|
||
${s.default.yellow(q2)} ${s.default.yellow(this.error)}
|
||
`;case"submit":return`${F}${s.default.gray(mD)} ${s.default.dim(this.value||D.placeholder)}`;case"cancel":return`${F}${s.default.gray(mD)} ${s.default.strikethrough(s.default.dim(this.value??""))}${this.value?.trim()?`
|
||
${s.default.gray(mD)}`:""}`;default:return`${F}${s.default.cyan(mD)} ${B}
|
||
${s.default.cyan(q2)}
|
||
`}}}).prompt();var K2=(D)=>{let F=D.active??"Yes",Q=D.inactive??"No";return new N1({active:F,inactive:Q,initialValue:D.initialValue??!0,render(){let B=`${s.default.gray(mD)}
|
||
${T1(this.state)} ${D.message}
|
||
`,Y=this.value?F:Q;switch(this.state){case"submit":return`${B}${s.default.gray(mD)} ${s.default.dim(Y)}`;case"cancel":return`${B}${s.default.gray(mD)} ${s.default.strikethrough(s.default.dim(Y))}
|
||
${s.default.gray(mD)}`;default:return`${B}${s.default.cyan(mD)} ${this.value?`${s.default.green(O1)} ${F}`:`${s.default.dim(I1)} ${s.default.dim(F)}`} ${s.default.dim("/")} ${this.value?`${s.default.dim(I1)} ${s.default.dim(Q)}`:`${s.default.green(O1)} ${Q}`}
|
||
${s.default.cyan(q2)}
|
||
`}}}).prompt()},s8=(D)=>{let F=(Q,B)=>{let Y=Q.label??String(Q.value);switch(B){case"selected":return`${s.default.dim(Y)}`;case"active":return`${s.default.green(O1)} ${Y} ${Q.hint?s.default.dim(`(${Q.hint})`):""}`;case"cancelled":return`${s.default.strikethrough(s.default.dim(Y))}`;default:return`${s.default.dim(I1)} ${s.default.dim(Y)}`}};return new j1({options:D.options,initialValue:D.initialValue,render(){let Q=`${s.default.gray(mD)}
|
||
${T1(this.state)} ${D.message}
|
||
`;switch(this.state){case"submit":return`${Q}${s.default.gray(mD)} ${F(this.options[this.cursor],"selected")}`;case"cancel":return`${Q}${s.default.gray(mD)} ${F(this.options[this.cursor],"cancelled")}
|
||
${s.default.gray(mD)}`;default:return`${Q}${s.default.cyan(mD)} ${sY({cursor:this.cursor,options:this.options,maxItems:D.maxItems,style:(B,Y)=>F(B,Y?"active":"inactive")}).join(`
|
||
${s.default.cyan(mD)} `)}
|
||
${s.default.cyan(q2)}
|
||
`}}}).prompt()};var mF=(D="")=>{process.stdout.write(`${s.default.gray(q2)} ${s.default.red(D)}
|
||
|
||
`)};var j3=(D="")=>{process.stdout.write(`${s.default.gray(mD)}
|
||
${s.default.gray(q2)} ${D}
|
||
|
||
`)},tD={message:(D="",{symbol:F=s.default.gray(mD)}={})=>{let Q=[`${s.default.gray(mD)}`];if(D){let[B,...Y]=D.split(`
|
||
`);Q.push(`${F} ${B}`,...Y.map((J)=>`${s.default.gray(mD)} ${J}`))}process.stdout.write(`${Q.join(`
|
||
`)}
|
||
`)},info:(D)=>{tD.message(D,{symbol:s.default.blue(iY)})},success:(D)=>{tD.message(D,{symbol:s.default.green(aY)})},step:(D)=>{tD.message(D,{symbol:s.default.green(w1)})},warn:(D)=>{tD.message(D,{symbol:s.default.yellow(rY)})},warning:(D)=>{tD.warn(D)},error:(D)=>{tD.message(D,{symbol:s.default.red(oY)})}},KE=`${s.default.gray(mD)} `;var t8=({indicator:D="dots"}={})=>{let F=_1?["◒","◐","◓","◑"]:["•","o","O","0"],Q=_1?80:120,B=process.env.CI==="true",Y,J,X=!1,C="",W,z=performance.now(),G=(b)=>{let k=b>1?"Something went wrong":"Canceled";X&&R(k,b)},q=()=>G(2),E=()=>G(1),U=()=>{process.on("uncaughtExceptionMonitor",q),process.on("unhandledRejection",q),process.on("SIGINT",E),process.on("SIGTERM",E),process.on("exit",G)},A=()=>{process.removeListener("uncaughtExceptionMonitor",q),process.removeListener("unhandledRejection",q),process.removeListener("SIGINT",E),process.removeListener("SIGTERM",E),process.removeListener("exit",G)},K=()=>{if(W===void 0)return;B&&process.stdout.write(`
|
||
`);let b=W.split(`
|
||
`);process.stdout.write(o8.cursor.move(-999,b.length-1)),process.stdout.write(o8.erase.down(b.length))},V=(b)=>b.replace(/\.+$/,""),j=(b)=>{let k=(performance.now()-b)/1000,I=Math.floor(k/60),u=Math.floor(k%60);return I>0?`[${I}m ${u}s]`:`[${u}s]`},L=(b="")=>{X=!0,Y=V3(),C=V(b),z=performance.now(),process.stdout.write(`${s.default.gray(mD)}
|
||
`);let k=0,I=0;U(),J=setInterval(()=>{if(B&&C===W)return;K(),W=C;let u=s.default.magenta(F[k]);if(B)process.stdout.write(`${u} ${C}...`);else if(D==="timer")process.stdout.write(`${u} ${C} ${j(z)}`);else{let f=".".repeat(Math.floor(I)).slice(0,3);process.stdout.write(`${u} ${C}${f}`)}k=k+1<F.length?k+1:0,I=I<F.length?I+0.125:0},Q)},R=(b="",k=0)=>{X=!1,clearInterval(J),K();let I=k===0?s.default.green(w1):k===1?s.default.red(L3):s.default.red(M3);C=V(b??C),D==="timer"?process.stdout.write(`${I} ${C} ${j(z)}
|
||
`):process.stdout.write(`${I} ${C}
|
||
`),A(),Y()};return{start:L,stop:R,message:(b="")=>{C=V(b??C)}}};var R3=(D=0)=>(F)=>`\x1B[${F+D}m`,_3=(D=0)=>(F)=>`\x1B[${38+D};5;${F}m`,O3=(D=0)=>(F,Q,B)=>`\x1B[${38+D};2;${F};${Q};${B}m`,uD={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]}},UE=Object.keys(uD.modifier),tY=Object.keys(uD.color),eY=Object.keys(uD.bgColor),EE=[...tY,...eY];function DJ(){let D=new Map;for(let[F,Q]of Object.entries(uD)){for(let[B,Y]of Object.entries(Q))uD[B]={open:`\x1B[${Y[0]}m`,close:`\x1B[${Y[1]}m`},Q[B]=uD[B],D.set(Y[0],Y[1]);Object.defineProperty(uD,F,{value:Q,enumerable:!1})}return Object.defineProperty(uD,"codes",{value:D,enumerable:!1}),uD.color.close="\x1B[39m",uD.bgColor.close="\x1B[49m",uD.color.ansi=R3(),uD.color.ansi256=_3(),uD.color.ansi16m=O3(),uD.bgColor.ansi=R3(10),uD.bgColor.ansi256=_3(10),uD.bgColor.ansi16m=O3(10),Object.defineProperties(uD,{rgbToAnsi256:{value(F,Q,B){if(F===Q&&Q===B){if(F<8)return 16;if(F>248)return 231;return Math.round((F-8)/247*24)+232}return 16+36*Math.round(F/255*5)+6*Math.round(Q/255*5)+Math.round(B/255*5)},enumerable:!1},hexToRgb:{value(F){let Q=/[a-f\d]{6}|[a-f\d]{3}/i.exec(F.toString(16));if(!Q)return[0,0,0];let[B]=Q;if(B.length===3)B=[...B].map((J)=>J+J).join("");let Y=Number.parseInt(B,16);return[Y>>16&255,Y>>8&255,Y&255]},enumerable:!1},hexToAnsi256:{value:(F)=>uD.rgbToAnsi256(...uD.hexToRgb(F)),enumerable:!1},ansi256ToAnsi:{value(F){if(F<8)return 30+F;if(F<16)return 90+(F-8);let Q,B,Y;if(F>=232)Q=((F-232)*10+8)/255,B=Q,Y=Q;else{F-=16;let C=F%36;Q=Math.floor(F/36)/5,B=Math.floor(C/6)/5,Y=C%6/5}let J=Math.max(Q,B,Y)*2;if(J===0)return 30;let X=30+(Math.round(Y)<<2|Math.round(B)<<1|Math.round(Q));if(J===2)X+=60;return X},enumerable:!1},rgbToAnsi:{value:(F,Q,B)=>uD.ansi256ToAnsi(uD.rgbToAnsi256(F,Q,B)),enumerable:!1},hexToAnsi:{value:(F)=>uD.ansi256ToAnsi(uD.hexToAnsi256(F)),enumerable:!1}}),uD}var FJ=DJ(),r0=FJ;import P1 from"node:process";import BJ from"node:os";import I3 from"node:tty";function y0(D,F=globalThis.Deno?globalThis.Deno.args:P1.argv){let Q=D.startsWith("-")?"":D.length===1?"-":"--",B=F.indexOf(Q+D),Y=F.indexOf("--");return B!==-1&&(Y===-1||B<Y)}var{env:yD}=P1,D6;if(y0("no-color")||y0("no-colors")||y0("color=false")||y0("color=never"))D6=0;else if(y0("color")||y0("colors")||y0("color=true")||y0("color=always"))D6=1;function QJ(){if("FORCE_COLOR"in yD){if(yD.FORCE_COLOR==="true")return 1;if(yD.FORCE_COLOR==="false")return 0;return yD.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(yD.FORCE_COLOR,10),3)}}function XJ(D){if(D===0)return!1;return{level:D,hasBasic:!0,has256:D>=2,has16m:D>=3}}function YJ(D,{streamIsTTY:F,sniffFlags:Q=!0}={}){let B=QJ();if(B!==void 0)D6=B;let Y=Q?D6:B;if(Y===0)return 0;if(Q){if(y0("color=16m")||y0("color=full")||y0("color=truecolor"))return 3;if(y0("color=256"))return 2}if("TF_BUILD"in yD&&"AGENT_NAME"in yD)return 1;if(D&&!F&&Y===void 0)return 0;let J=Y||0;if(yD.TERM==="dumb")return J;if(P1.platform==="win32"){let X=BJ.release().split(".");if(Number(X[0])>=10&&Number(X[2])>=10586)return Number(X[2])>=14931?3:2;return 1}if("CI"in yD){if(["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some((X)=>(X in yD)))return 3;if(["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some((X)=>(X in yD))||yD.CI_NAME==="codeship")return 1;return J}if("TEAMCITY_VERSION"in yD)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(yD.TEAMCITY_VERSION)?1:0;if(yD.COLORTERM==="truecolor")return 3;if(yD.TERM==="xterm-kitty")return 3;if(yD.TERM==="xterm-ghostty")return 3;if(yD.TERM==="wezterm")return 3;if("TERM_PROGRAM"in yD){let X=Number.parseInt((yD.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(yD.TERM_PROGRAM){case"iTerm.app":return X>=3?3:2;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(yD.TERM))return 2;if(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(yD.TERM))return 1;if("COLORTERM"in yD)return 1;return J}function w3(D,F={}){let Q=YJ(D,{streamIsTTY:D&&D.isTTY,...F});return XJ(Q)}var JJ={stdout:w3({isTTY:I3.isatty(1)}),stderr:w3({isTTY:I3.isatty(2)})},T3=JJ;function P3(D,F,Q){let B=D.indexOf(F);if(B===-1)return D;let Y=F.length,J=0,X="";do X+=D.slice(J,B)+F+Q,J=B+Y,B=D.indexOf(F,J);while(B!==-1);return X+=D.slice(J),X}function S3(D,F,Q,B){let Y=0,J="";do{let X=D[B-1]==="\r";J+=D.slice(Y,X?B-1:B)+F+(X?`\r
|
||
`:`
|
||
`)+Q,Y=B+1,B=D.indexOf(`
|
||
`,Y)}while(B!==-1);return J+=D.slice(Y),J}var{stdout:b3,stderr:k3}=T3,S1=Symbol("GENERATOR"),H2=Symbol("STYLER"),t2=Symbol("IS_EMPTY"),v3=["ansi","ansi","ansi256","ansi16m"],U2=Object.create(null),CJ=(D,F={})=>{if(F.level&&!(Number.isInteger(F.level)&&F.level>=0&&F.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let Q=b3?b3.level:0;D.level=F.level===void 0?Q:F.level};var WJ=(D)=>{let F=(...Q)=>Q.join(" ");return CJ(F,D),Object.setPrototypeOf(F,e2.prototype),F};function e2(D){return WJ(D)}Object.setPrototypeOf(e2.prototype,Function.prototype);for(let[D,F]of Object.entries(r0))U2[D]={get(){let Q=F6(this,k1(F.open,F.close,this[H2]),this[t2]);return Object.defineProperty(this,D,{value:Q}),Q}};U2.visible={get(){let D=F6(this,this[H2],!0);return Object.defineProperty(this,"visible",{value:D}),D}};var b1=(D,F,Q,...B)=>{if(D==="rgb"){if(F==="ansi16m")return r0[Q].ansi16m(...B);if(F==="ansi256")return r0[Q].ansi256(r0.rgbToAnsi256(...B));return r0[Q].ansi(r0.rgbToAnsi(...B))}if(D==="hex")return b1("rgb",F,Q,...r0.hexToRgb(...B));return r0[Q][D](...B)},zJ=["rgb","hex","ansi256"];for(let D of zJ){U2[D]={get(){let{level:Q}=this;return function(...B){let Y=k1(b1(D,v3[Q],"color",...B),r0.color.close,this[H2]);return F6(this,Y,this[t2])}}};let F="bg"+D[0].toUpperCase()+D.slice(1);U2[F]={get(){let{level:Q}=this;return function(...B){let Y=k1(b1(D,v3[Q],"bgColor",...B),r0.bgColor.close,this[H2]);return F6(this,Y,this[t2])}}}}var GJ=Object.defineProperties(()=>{},{...U2,level:{enumerable:!0,get(){return this[S1].level},set(D){this[S1].level=D}}}),k1=(D,F,Q)=>{let B,Y;if(Q===void 0)B=D,Y=F;else B=Q.openAll+D,Y=F+Q.closeAll;return{open:D,close:F,openAll:B,closeAll:Y,parent:Q}},F6=(D,F,Q)=>{let B=(...Y)=>qJ(B,Y.length===1?""+Y[0]:Y.join(" "));return Object.setPrototypeOf(B,GJ),B[S1]=D,B[H2]=F,B[t2]=Q,B},qJ=(D,F)=>{if(D.level<=0||!F)return D[t2]?"":F;let Q=D[H2];if(Q===void 0)return F;let{openAll:B,closeAll:Y}=Q;if(F.includes("\x1B"))while(Q!==void 0)F=P3(F,Q.close,Q.open),Q=Q.parent;let J=F.indexOf(`
|
||
`);if(J!==-1)F=S3(F,Y,B,J);return B+F+Y};Object.defineProperties(e2.prototype,U2);var KJ=e2(),OE=e2({level:k3?k3.level:0});var BD=KJ;var g1=i0(m3(),1),W0=(...D)=>{let F,Q;if(D.length===0)throw new Error("Missing gradient colors");if(!Array.isArray(D[0])){if(D.length===1)throw new Error(`Expected an array of colors, received ${JSON.stringify(D[0])}`);F=g1.default(...D)}else F=g1.default(D[0]),Q=$1(D[1]);let B=(Y,J)=>{return HJ(Y?Y.toString():"",F,J??Q)};return B.multiline=(Y,J)=>UJ(Y?Y.toString():"",F,J??Q),B},l3=(D,F,Q)=>{return F.interpolation?.toLowerCase()==="hsv"?D.hsv(Q,F.hsvSpin?.toLowerCase()||!1):D.rgb(Q)};function HJ(D,F,Q){let B=$1(Q),Y=Math.max(D.replace(/\s/g,"").length,F.stops.length),J=l3(F,B,Y),X="";for(let C of D)X+=C.match(/\s/g)?C:BD.hex(J.shift()?.toHex()||"#000")(C);return X}function UJ(D,F,Q){let B=$1(Q),Y=D.split(`
|
||
`),J=Math.max(...Y.map((W)=>W.length),F.stops.length),X=l3(F,B,J),C=[];for(let W of Y){let z=X.slice(0),G="";for(let q of W)G+=BD.hex(z.shift()?.toHex()||"#000")(q);C.push(G)}return C.join(`
|
||
`)}function $1(D){let F={interpolation:"rgb",hsvSpin:"short",...D};if(D!==void 0&&typeof D!=="object")throw new TypeError(`Expected \`options\` to be an \`object\`, got \`${typeof D}\``);if(typeof F.interpolation!=="string")throw new TypeError(`Expected \`options.interpolation\` to be \`rgb\` or \`hsv\`, got \`${typeof F.interpolation}\``);if(F.interpolation.toLowerCase()==="hsv"&&typeof F.hsvSpin!=="string")throw new TypeError(`Expected \`options.hsvSpin\` to be a \`short\` or \`long\`, got \`${typeof F.hsvSpin}\``);return F}var w0={atlas:{colors:["#feac5e","#c779d0","#4bc0c8"],options:{}},cristal:{colors:["#bdfff3","#4ac29a"],options:{}},teen:{colors:["#77a1d3","#79cbca","#e684ae"],options:{}},mind:{colors:["#473b7b","#3584a7","#30d2be"],options:{}},morning:{colors:["#ff5f6d","#ffc371"],options:{interpolation:"hsv"}},vice:{colors:["#5ee7df","#b490ca"],options:{interpolation:"hsv"}},passion:{colors:["#f43b47","#453a94"],options:{}},fruit:{colors:["#ff4e50","#f9d423"],options:{}},instagram:{colors:["#833ab4","#fd1d1d","#fcb045"],options:{}},retro:{colors:["#3f51b1","#5a55ae","#7b5fac","#8f6aae","#a86aa4","#cc6b8e","#f18271","#f3a469","#f7c978"],options:{}},summer:{colors:["#fdbb2d","#22c1c3"],options:{}},rainbow:{colors:["#ff0000","#ff0100"],options:{interpolation:"hsv",hsvSpin:"long"}},pastel:{colors:["#74ebd5","#74ecd5"],options:{interpolation:"hsv",hsvSpin:"long"}}};function T0(D){let F=(Q)=>W0(...D.colors)(Q,D.options);return F.multiline=(Q="")=>W0(...D.colors).multiline(Q,D.options),F}var h1=W0,EJ=T0(w0.atlas),ZJ=T0(w0.cristal),AJ=T0(w0.teen),VJ=T0(w0.mind),LJ=T0(w0.morning),MJ=T0(w0.vice),NJ=T0(w0.passion),jJ=T0(w0.fruit),RJ=T0(w0.instagram),_J=T0(w0.retro),OJ=T0(w0.summer),IJ=T0(w0.rainbow),wJ=T0(w0.pastel);W0.atlas=EJ;W0.cristal=ZJ;W0.teen=AJ;W0.mind=VJ;W0.morning=LJ;W0.vice=MJ;W0.passion=NJ;W0.fruit=jJ;W0.instagram=RJ;W0.retro=_J;W0.summer=OJ;W0.rainbow=IJ;W0.pastel=wJ;import C6 from"node:process";function m1({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 TJ=m1();function l1(D){if(typeof D!=="string")throw new TypeError(`Expected a \`string\`, got \`${typeof D}\``);return D.replace(TJ,"")}function d3(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 c3(D){return D===12288||D>=65281&&D<=65376||D>=65504&&D<=65510}function p3(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===94193||D>=94208&&D<=100343||D>=100352&&D<=101589||D>=101631&&D<=101640||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<=128727||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<=129673||D>=129679&&D<=129734||D>=129742&&D<=129756||D>=129759&&D<=129769||D>=129776&&D<=129784||D>=131072&&D<=196605||D>=196608&&D<=262141}function PJ(D){if(!Number.isSafeInteger(D))throw new TypeError(`Expected a code point, got \`${typeof D}\`.`)}function n3(D,{ambiguousAsWide:F=!1}={}){if(PJ(D),c3(D)||p3(D)||F&&d3(D))return 2;return 1}var r3=i0(a3(),1),SJ=new Intl.Segmenter,bJ=/^\p{Default_Ignorable_Code_Point}$/u;function U0(D,F={}){if(typeof D!=="string"||D.length===0)return 0;let{ambiguousIsNarrow:Q=!0,countAnsiEscapeCodes:B=!1}=F;if(!B)D=l1(D);if(D.length===0)return 0;let Y=0,J={ambiguousAsWide:!Q};for(let{segment:X}of SJ.segment(D)){let C=X.codePointAt(0);if(C<=31||C>=127&&C<=159)continue;if(C>=8203&&C<=8207||C===65279)continue;if(C>=768&&C<=879||C>=6832&&C<=6911||C>=7616&&C<=7679||C>=8400&&C<=8447||C>=65056&&C<=65071)continue;if(C>=55296&&C<=57343)continue;if(C>=65024&&C<=65039)continue;if(bJ.test(X))continue;if(r3.default().test(X)){Y+=2;continue}Y+=n3(C,J)}return Y}function Q6(D){let F=0;for(let Q of D.split(`
|
||
`))F=Math.max(F,U0(Q));return F}var O4=i0(c1(),1);var vJ=/[\p{Lu}]/u,xJ=/[\p{Ll}]/u,t3=/^[\p{Lu}](?![\p{Lu}])/gu,F4=/([\p{Alpha}\p{N}_]|$)/u,p1=/[_.\- ]+/,uJ=new RegExp("^"+p1.source),e3=new RegExp(p1.source+F4.source,"gu"),D4=new RegExp("\\d+"+F4.source,"gu"),yJ=(D,F,Q,B)=>{let Y=!1,J=!1,X=!1,C=!1;for(let W=0;W<D.length;W++){let z=D[W];if(C=W>2?D[W-3]==="-":!0,Y&&vJ.test(z))D=D.slice(0,W)+"-"+D.slice(W),Y=!1,X=J,J=!0,W++;else if(J&&X&&xJ.test(z)&&(!C||B))D=D.slice(0,W-1)+"-"+D.slice(W-1),X=J,J=!1,Y=!0;else Y=F(z)===z&&Q(z)!==z,X=J,J=Q(z)===z&&F(z)!==z}return D},fJ=(D,F)=>{return t3.lastIndex=0,D.replaceAll(t3,(Q)=>F(Q))},gJ=(D,F)=>{return e3.lastIndex=0,D4.lastIndex=0,D.replaceAll(D4,(Q,B,Y)=>["_","-"].includes(D.charAt(Y+Q.length))?Q:F(Q)).replaceAll(e3,(Q,B)=>F(B))};function n1(D,F){if(!(typeof D==="string"||Array.isArray(D)))throw new TypeError("Expected the input to be `string | string[]`");if(F={pascalCase:!1,preserveConsecutiveUppercase:!1,...F},Array.isArray(D))D=D.map((J)=>J.trim()).filter((J)=>J.length).join("-");else D=D.trim();if(D.length===0)return"";let Q=F.locale===!1?(J)=>J.toLowerCase():(J)=>J.toLocaleLowerCase(F.locale),B=F.locale===!1?(J)=>J.toUpperCase():(J)=>J.toLocaleUpperCase(F.locale);if(D.length===1){if(p1.test(D))return"";return F.pascalCase?B(D):Q(D)}if(D!==Q(D))D=yJ(D,Q,B,F.preserveConsecutiveUppercase);if(D=D.replace(uJ,""),D=F.preserveConsecutiveUppercase?fJ(D,Q):Q(D),F.pascalCase)D=B(D.charAt(0))+D.slice(1);return gJ(D,B)}var e1=i0(H4(),1);function r1({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 nJ=r1();function o1(D){if(typeof D!=="string")throw new TypeError(`Expected a \`string\`, got \`${typeof D}\``);return D.replace(nJ,"")}var U4=(D=0)=>(F)=>`\x1B[${F+D}m`,E4=(D=0)=>(F)=>`\x1B[${38+D};5;${F}m`,Z4=(D=0)=>(F,Q,B)=>`\x1B[${38+D};2;${F};${Q};${B}m`,fD={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]}},FZ=Object.keys(fD.modifier),iJ=Object.keys(fD.color),aJ=Object.keys(fD.bgColor),BZ=[...iJ,...aJ];function rJ(){let D=new Map;for(let[F,Q]of Object.entries(fD)){for(let[B,Y]of Object.entries(Q))fD[B]={open:`\x1B[${Y[0]}m`,close:`\x1B[${Y[1]}m`},Q[B]=fD[B],D.set(Y[0],Y[1]);Object.defineProperty(fD,F,{value:Q,enumerable:!1})}return Object.defineProperty(fD,"codes",{value:D,enumerable:!1}),fD.color.close="\x1B[39m",fD.bgColor.close="\x1B[49m",fD.color.ansi=U4(),fD.color.ansi256=E4(),fD.color.ansi16m=Z4(),fD.bgColor.ansi=U4(10),fD.bgColor.ansi256=E4(10),fD.bgColor.ansi16m=Z4(10),Object.defineProperties(fD,{rgbToAnsi256:{value:(F,Q,B)=>{if(F===Q&&Q===B){if(F<8)return 16;if(F>248)return 231;return Math.round((F-8)/247*24)+232}return 16+36*Math.round(F/255*5)+6*Math.round(Q/255*5)+Math.round(B/255*5)},enumerable:!1},hexToRgb:{value:(F)=>{let Q=/[a-f\d]{6}|[a-f\d]{3}/i.exec(F.toString(16));if(!Q)return[0,0,0];let[B]=Q;if(B.length===3)B=[...B].map((J)=>J+J).join("");let Y=Number.parseInt(B,16);return[Y>>16&255,Y>>8&255,Y&255]},enumerable:!1},hexToAnsi256:{value:(F)=>fD.rgbToAnsi256(...fD.hexToRgb(F)),enumerable:!1},ansi256ToAnsi:{value:(F)=>{if(F<8)return 30+F;if(F<16)return 90+(F-8);let Q,B,Y;if(F>=232)Q=((F-232)*10+8)/255,B=Q,Y=Q;else{F-=16;let C=F%36;Q=Math.floor(F/36)/5,B=Math.floor(C/6)/5,Y=C%6/5}let J=Math.max(Q,B,Y)*2;if(J===0)return 30;let X=30+(Math.round(Y)<<2|Math.round(B)<<1|Math.round(Q));if(J===2)X+=60;return X},enumerable:!1},rgbToAnsi:{value:(F,Q,B)=>fD.ansi256ToAnsi(fD.rgbToAnsi256(F,Q,B)),enumerable:!1},hexToAnsi:{value:(F)=>fD.ansi256ToAnsi(fD.hexToAnsi256(F)),enumerable:!1}}),fD}var oJ=rJ(),A4=oJ;var Y6=new Set(["\x1B",""]),sJ=39,t1="\x07",M4="[",tJ="]",N4="m",X6=`${tJ}8;;`,V4=(D)=>`${Y6.values().next().value}${M4}${D}${N4}`,L4=(D)=>`${Y6.values().next().value}${X6}${D}${t1}`,eJ=(D)=>D.split(" ").map((F)=>U0(F)),s1=(D,F,Q)=>{let B=[...F],Y=!1,J=!1,X=U0(o1(D.at(-1)));for(let[C,W]of B.entries()){let z=U0(W);if(X+z<=Q)D[D.length-1]+=W;else D.push(W),X=0;if(Y6.has(W))Y=!0,J=B.slice(C+1,C+1+X6.length).join("")===X6;if(Y){if(J){if(W===t1)Y=!1,J=!1}else if(W===N4)Y=!1;continue}if(X+=z,X===Q&&C<B.length-1)D.push(""),X=0}if(!X&&D.at(-1).length>0&&D.length>1)D[D.length-2]+=D.pop()},DC=(D)=>{let F=D.split(" "),Q=F.length;while(Q>0){if(U0(F[Q-1])>0)break;Q--}if(Q===F.length)return D;return F.slice(0,Q).join(" ")+F.slice(Q).join("")},FC=(D,F,Q={})=>{if(Q.trim!==!1&&D.trim()==="")return"";let B="",Y,J,X=eJ(D),C=[""];for(let[q,E]of D.split(" ").entries()){if(Q.trim!==!1)C[C.length-1]=C.at(-1).trimStart();let U=U0(C.at(-1));if(q!==0){if(U>=F&&(Q.wordWrap===!1||Q.trim===!1))C.push(""),U=0;if(U>0||Q.trim===!1)C[C.length-1]+=" ",U++}if(Q.hard&&X[q]>F){let A=F-U,K=1+Math.floor((X[q]-A-1)/F);if(Math.floor((X[q]-1)/F)<K)C.push("");s1(C,E,F);continue}if(U+X[q]>F&&U>0&&X[q]>0){if(Q.wordWrap===!1&&U<F){s1(C,E,F);continue}C.push("")}if(U+X[q]>F&&Q.wordWrap===!1){s1(C,E,F);continue}C[C.length-1]+=E}if(Q.trim!==!1)C=C.map((q)=>DC(q));let W=C.join(`
|
||
`),z=[...W],G=0;for(let[q,E]of z.entries()){if(B+=E,Y6.has(E)){let{groups:A}=new RegExp(`(?:\\${M4}(?<code>\\d+)m|\\${X6}(?<uri>.*)${t1})`).exec(W.slice(G))||{groups:{}};if(A.code!==void 0){let K=Number.parseFloat(A.code);Y=K===sJ?void 0:K}else if(A.uri!==void 0)J=A.uri.length===0?void 0:A.uri}let U=A4.codes.get(Number(Y));if(z[q+1]===`
|
||
`){if(J)B+=L4("");if(Y&&U)B+=V4(U)}else if(E===`
|
||
`){if(Y&&U)B+=V4(Y);if(J)B+=L4(J)}G+=E.length}return B};function J6(D,F,Q){return String(D).normalize().replaceAll(`\r
|
||
`,`
|
||
`).split(`
|
||
`).map((B)=>FC(B,F,Q)).join(`
|
||
`)}var GC=i0(c1(),1),wF=`
|
||
`,P0=" ",F8="none",I4=()=>{let{env:D,stdout:F,stderr:Q}=C6;if(F?.columns)return F.columns;if(Q?.columns)return Q.columns;if(D.COLUMNS)return Number.parseInt(D.COLUMNS,10);return 80},j4=(D)=>typeof D==="number"?{top:D,right:D*3,bottom:D,left:D*3}:{top:0,right:0,bottom:0,left:0,...D},B8=(D)=>D===F8?0:2,BC=(D)=>{let F=["topLeft","topRight","bottomRight","bottomLeft","left","right","top","bottom"],Q;if(D===F8){D={};for(let B of F)D[B]=""}if(typeof D==="string"){if(Q=O4.default[D],!Q)throw new TypeError(`Invalid border style: ${D}`)}else{if(typeof D?.vertical==="string")D.left=D.vertical,D.right=D.vertical;if(typeof D?.horizontal==="string")D.top=D.horizontal,D.bottom=D.horizontal;for(let B of F)if(D[B]===null||typeof D[B]!=="string")throw new TypeError(`Invalid border style: ${B}`);Q=D}return Q},QC=(D,F,Q)=>{let B="",Y=U0(D);switch(Q){case"left":{B=D+F.slice(Y);break}case"right":{B=F.slice(Y)+D;break}default:{if(F=F.slice(Y),F.length%2===1)F=F.slice(Math.floor(F.length/2)),B=F.slice(1)+D+F;else F=F.slice(F.length/2),B=F+D+F;break}}return B},XC=(D,{padding:F,width:Q,textAlignment:B,height:Y})=>{D=e1.default(D,{align:B});let J=D.split(wF),X=Q6(D),C=Q-F.left-F.right;if(X>C){let G=[];for(let q of J){let E=J6(q,C,{hard:!0}),A=e1.default(E,{align:B}).split(`
|
||
`),K=Math.max(...A.map((V)=>U0(V)));for(let V of A){let j;switch(B){case"center":{j=P0.repeat((C-K)/2)+V;break}case"right":{j=P0.repeat(C-K)+V;break}default:{j=V;break}}G.push(j)}}J=G}if(B==="center"&&X<C)J=J.map((G)=>P0.repeat((C-X)/2)+G);else if(B==="right"&&X<C)J=J.map((G)=>P0.repeat(C-X)+G);let W=P0.repeat(F.left),z=P0.repeat(F.right);if(J=J.map((G)=>{let q=W+G+z;return q+P0.repeat(Q-U0(q))}),F.top>0)J=[...Array.from({length:F.top}).fill(P0.repeat(Q)),...J];if(F.bottom>0)J=[...J,...Array.from({length:F.bottom}).fill(P0.repeat(Q))];if(Y&&J.length>Y)J=J.slice(0,Y);else if(Y&&J.length<Y)J=[...J,...Array.from({length:Y-J.length}).fill(P0.repeat(Q))];return J.join(wF)},YC=(D,F,Q)=>{let B=(G)=>{let q=Q.borderColor?WC(Q.borderColor)(G):G;return Q.dimBorder?BD.dim(q):q},Y=(G)=>Q.backgroundColor?zC(Q.backgroundColor)(G):G,J=BC(Q.borderStyle),X=I4(),C=P0.repeat(Q.margin.left);if(Q.float==="center"){let G=Math.max((X-F-B8(Q.borderStyle))/2,0);C=P0.repeat(G)}else if(Q.float==="right"){let G=Math.max(X-F-Q.margin.right-B8(Q.borderStyle),0);C=P0.repeat(G)}let W="";if(Q.margin.top)W+=wF.repeat(Q.margin.top);if(Q.borderStyle!==F8||Q.title)W+=B(C+J.topLeft+(Q.title?QC(Q.title,J.top.repeat(F),Q.titleAlignment):J.top.repeat(F))+J.topRight)+wF;let z=D.split(wF);if(W+=z.map((G)=>C+B(J.left)+Y(G)+B(J.right)).join(wF),Q.borderStyle!==F8)W+=wF+B(C+J.bottomLeft+J.bottom.repeat(F)+J.bottomRight);if(Q.margin.bottom)W+=wF.repeat(Q.margin.bottom);return W},JC=(D)=>{if(D.fullscreen&&C6?.stdout){let F=[C6.stdout.columns,C6.stdout.rows];if(typeof D.fullscreen==="function")F=D.fullscreen(...F);D.width||=F[0],D.height||=F[1]}return D.width&&=Math.max(1,D.width-B8(D.borderStyle)),D.height&&=Math.max(1,D.height-B8(D.borderStyle)),D},R4=(D,F)=>F===F8?D:` ${D} `,CC=(D,F)=>{F=JC(F);let Q=F.width!==void 0,B=I4(),Y=B8(F.borderStyle),J=B-F.margin.left-F.margin.right-Y,X=Q6(J6(D,B-Y,{hard:!0,trim:!1}))+F.padding.left+F.padding.right;if(F.title&&Q)F.title=F.title.slice(0,Math.max(0,F.width-2)),F.title&&=R4(F.title,F.borderStyle);else if(F.title){if(F.title=F.title.slice(0,Math.max(0,J-2)),F.title){if(F.title=R4(F.title,F.borderStyle),U0(F.title)>X)F.width=U0(F.title)}}if(F.width||=X,!Q){if(F.margin.left&&F.margin.right&&F.width>J){let W=(B-F.width-Y)/(F.margin.left+F.margin.right);F.margin.left=Math.max(0,Math.floor(F.margin.left*W)),F.margin.right=Math.max(0,Math.floor(F.margin.right*W))}F.width=Math.min(F.width,B-Y-F.margin.left-F.margin.right)}if(F.width-(F.padding.left+F.padding.right)<=0)F.padding.left=0,F.padding.right=0;if(F.height&&F.height-(F.padding.top+F.padding.bottom)<=0)F.padding.top=0,F.padding.bottom=0;return F},D7=(D)=>D.match(/^#(?:[0-f]{3}){1,2}$/i),_4=(D)=>typeof D==="string"&&(BD[D]??D7(D)),WC=(D)=>D7(D)?BD.hex(D):BD[D],zC=(D)=>D7(D)?BD.bgHex(D):BD[n1(["bg",D])];function TF(D,F){if(F={padding:0,borderStyle:"single",dimBorder:!1,textAlignment:"left",float:"left",titleAlignment:"left",...F},F.align)F.textAlignment=F.align;if(F.borderColor&&!_4(F.borderColor))throw new Error(`${F.borderColor} is not a valid borderColor`);if(F.backgroundColor&&!_4(F.backgroundColor))throw new Error(`${F.backgroundColor} is not a valid backgroundColor`);return F.padding=j4(F.padding),F.margin=j4(F.margin),F=CC(D,F),D=XC(D,F),YC(D,F.width,F)}E0();function Q7(D){let F,Q=0,B=["⠋","⠙","⠹","⠸","⠼","⠴","⠦","⠧","⠇","⠏"];return{start(){F=setInterval(()=>{process.stdout.write(`\r${BD.cyan(B[Q%B.length])} ${D}`),Q++},50)},stop(Y,J=!0){clearInterval(F);let X=J?BD.green("✓"):BD.red("✗");process.stdout.write(`\r${X} ${Y}
|
||
`)}}}var X0=(D)=>new Promise((F)=>setTimeout(F,D)),X8=h1(["#ff0000","#ff4500","#ffa500","#ffff00","#00ff00","#00ffff","#0000ff","#8b00ff"]),z6=h1(["#ff006e","#fb5607","#ffbe0b","#8338ec","#3a86ff"]);async function AC(){let D=[{name:"Node.js version",check:async()=>{let Q=process.versions.node,[B]=Q.split(".").map(Number);return{success:B>=18,message:B>=18?"":`Node.js ${Q} is below required version 18.0.0`}}},{name:"Claude Code CLI",check:async()=>{try{let Q=T4()==="win32"?"where claude":"which claude";return dF(Q,{stdio:"ignore"}),{success:!0,message:""}}catch{return{success:!1,message:"Claude Code CLI not found. Please install: https://docs.anthropic.com/claude/docs/claude-code"}}}},{name:"uv (Python package manager)",check:async()=>{try{return dF("which uv",{stdio:"ignore"}),{success:!0,message:""}}catch{return{success:!0,message:"",needsInstall:!0}}}},{name:"Write permissions",check:async()=>{let Q=LD(YD.getDataDirectory(),"test-permissions");try{return A2(Q,{recursive:!0}),pF(LD(Q,"test"),"test"),dF(`rm -rf ${Q}`,{stdio:"ignore"}),{success:!0,message:""}}catch{return{success:!1,message:"No write permissions to claude-mem data directory"}}}}],F=!1;for(let{name:Q,check:B}of D){let Y=await B();if(!Y.success)return console.log(TF(BD.red(`❌ ${Q} check failed!
|
||
|
||
${Y.message}`),{padding:1,margin:1,borderStyle:"double",borderColor:"red"})),!1;if(Y.needsInstall&&Q==="uv (Python package manager)")F=!0}if(F){let Q=Q7("Installing uv (Python package manager)...");Q.start();try{dF("curl -LsSf https://astral.sh/uv/install.sh | sh",{stdio:"pipe",shell:"/bin/sh"}),process.env.PATH=`${B7()}/.cargo/bin:${process.env.PATH}`,Q.stop("uv installed successfully",!0)}catch(B){return Q.stop("Failed to install uv automatically",!1),console.log(TF(BD.yellow(`⚠️ Please install uv manually:
|
||
|
||
${BD.cyan("curl -LsSf https://astral.sh/uv/install.sh | sh")}
|
||
|
||
Or visit: ${BD.cyan("https://docs.astral.sh/uv/getting-started/installation/")}`),{padding:1,margin:1,borderStyle:"round",borderColor:"yellow"})),!1}}return!0}function VC(){try{let D=T4()==="win32"?"where claude":"which claude";return dF(D,{encoding:"utf8",stdio:["ignore","pipe","ignore"]}).trim()||null}catch{return null}}function LC(){let D={hasHooks:!1,hasChromaMcp:!1,hasSettings:!1,scope:void 0},F=YD.getHooksDirectory();D.hasHooks=TD(F)&&TD(LD(F,"session-start.js"))&&TD(LD(F,"stop.js"))&&TD(LD(F,"user-prompt-submit.js"))&&TD(LD(F,"post-tool-use.js"));let Q=YD.getInstance(),B=Q.getMcpConfigPath(),Y=Q.getProjectMcpConfigPath();if(TD(B)){if(JSON.parse(E2(B,"utf8")).mcpServers?.["claude-mem"])D.hasChromaMcp=!0,D.scope="user"}if(TD(Y)){if(JSON.parse(E2(Y,"utf8")).mcpServers?.["claude-mem"])D.hasChromaMcp=!0,D.scope="project"}let J=Q.getUserSettingsPath();return D.hasSettings=TD(J),D}async function MC(D){let F={};if(D.hasHooks||D.hasChromaMcp){let J=await K2({message:`\uD83E\uDDE0 Existing claude-mem installation detected. Your memories and data are safe!
|
||
|
||
Reinstall to update hooks and configuration?`,initialValue:!0});if(u0(J))return mF("Installation cancelled"),null;if(!J)return mF("Installation cancelled"),null;F.forceReinstall=!0}else F.forceReinstall=!1;let Q=await s8({message:"Select installation scope",options:[{value:"user",label:"User (Recommended)",hint:"Install for current user (~/.claude)"},{value:"project",label:"Project",hint:"Install for current project only (./.mcp.json)"},{value:"local",label:"Local",hint:"Custom local installation"}],initialValue:D.scope||"user"});if(u0(Q))return mF("Installation cancelled"),null;if(F.scope=Q,Q==="local"){let J=await N3({message:"Enter custom installation directory",placeholder:LD(process.cwd(),".claude-mem"),validate:(X)=>{if(!X)return"Path is required";if(!X.startsWith("/")&&!X.startsWith("~"))return"Please provide an absolute path"}});if(u0(J))return mF("Installation cancelled"),null;F.customPath=J}F.hookTimeout=180000;let B=await K2({message:'Enable Smart Trash? This creates an alias for "rm" that moves files to ~/.claude-mem/trash instead of permanently deleting them. You can restore files anytime by typing "claude-mem restore".',initialValue:!0});if(u0(B))return mF("Installation cancelled"),null;F.enableSmartTrash=B;let Y=await K2({message:`claude-mem is designed to save "memories" when you type /compact. The official compact summary + claude-mem produces the best ongoing results, but sometimes you may want to completely clear the context and still retain the "memories" from your last conversation.
|
||
|
||
Would you like to save memories when you type "/clear" in Claude Code? When running /clear with this on, it takes about a minute to save memories before your new session starts.`,initialValue:!1});if(u0(Y))return mF("Installation cancelled"),null;return F.saveMemoriesOnClear=Y,F}async function NC(){let D=YD.getInstance(),F=LD(D.getBackupsDirectory(),new Date().toISOString().replace(/[:.]/g,"-"));try{A2(F,{recursive:!0});let Q=D.getHooksDirectory();if(TD(Q))X7(Q,LD(F,"hooks"));let B=D.getUserSettingsPath();if(TD(B))cF(B,LD(F,"settings.json"));let Y=D.getClaudeSettingsPath();if(TD(Y))cF(Y,LD(F,"claude-settings.json"));return F}catch(Q){return null}}function jC(){let D=YD.getInstance();D.ensureAllDataDirectories(),D.ensureAllClaudeDirectories();let F=LD(D.getDataDirectory(),"package.json");if(!TD(F))pF(F,JSON.stringify({name:"claude-mem-data",type:"module"},null,2))}function X7(D,F){if(EC(D).isDirectory()){if(!TD(F))A2(F,{recursive:!0});ZC(D).forEach((Y)=>{X7(LD(D,Y),LD(F,Y))})}else cF(D,F)}function RC(D=180000,F=!1){let Q=YD.getInstance(),B=Q.getHooksDirectory(),Y=P4(import.meta.url),X=Z2(Y),C=null;for(let q=0;q<10;q++){let E=LD(X,"hook-templates");if(TD(LD(E,"session-start.js"))){C=E;break}let U=Z2(X);if(U===X)break;X=U}if(!C)C=Q.findPackageHookTemplatesDirectory();let W=["session-start.js","stop.js","user-prompt-submit.js","post-tool-use.js"];for(let q of W){let E=LD(B,q),U=LD(C,q);cF(U,E),UC(E,493)}if(C){let q=LD(C,"shared"),E=LD(B,"shared");if(TD(q))X7(q,E)}let z=LD(B,"config.json");pF(z,JSON.stringify({packageName:G2,cliCommand:G2,backend:"chroma",timeout:D},null,2))}function _C(){let F=YD.getInstance().getClaudeMdPath(),Q=Z2(F);if(!TD(Q))A2(Q,{recursive:!0});let B=`
|
||
<!-- CLAUDE-MEM QUICK REFERENCE -->
|
||
## \uD83E\uDDE0 Memory System Quick Reference
|
||
|
||
### Search Your Memories (SIMPLE & POWERFUL)
|
||
- **Semantic search is king**: \`mcp__claude-mem__chroma_query_documents(["search terms"])\`
|
||
- **\uD83D\uDD12 ALWAYS include project name in query**: \`["claude-mem feature authentication"]\` not just \`["feature authentication"]\`
|
||
- **Include dates for temporal search**: \`["project-name 2025-09-09 bug fix"]\` finds memories from that date
|
||
- **Get specific memory**: \`mcp__claude-mem__chroma_get_documents(ids: ["document_id"])\`
|
||
|
||
### Search Tips That Actually Work
|
||
- **Project isolation**: Always prefix queries with project name to avoid cross-contamination
|
||
- **Temporal search**: Include dates (YYYY-MM-DD) in query text to find memories from specific times
|
||
- **Intent-based**: "implementing oauth" > "oauth implementation code function"
|
||
- **Multiple queries**: Search with different phrasings for better coverage
|
||
- **Session-specific**: Include session ID in query when you know it
|
||
|
||
### What Doesn't Work (Don't Do This!)
|
||
- ❌ Complex where filters with $and/$or - they cause errors
|
||
- ❌ Timestamp comparisons ($gte/$lt) - Chroma stores timestamps as strings
|
||
- ❌ Mixing project filters in where clause - causes "Error finding id"
|
||
|
||
### Storage
|
||
- Collection: "claude_memories"
|
||
- Archives: ~/.claude-mem/archives/
|
||
<!-- /CLAUDE-MEM QUICK REFERENCE -->`,Y="";if(TD(F)){Y=E2(F,"utf8");let J=Y.includes("<!-- CLAUDE-MEM INSTRUCTIONS -->"),X=Y.includes("<!-- CLAUDE-MEM QUICK REFERENCE -->");if(J||X){let C,W;if(J)C="<!-- CLAUDE-MEM INSTRUCTIONS -->",W="<!-- /CLAUDE-MEM INSTRUCTIONS -->";else C="<!-- CLAUDE-MEM QUICK REFERENCE -->",W="<!-- /CLAUDE-MEM QUICK REFERENCE -->";let z=Y.indexOf(C),G=Y.indexOf(W)+W.length;if(z!==-1&&G!==-1)Y=Y.substring(0,z)+B.trim()+Y.substring(G)}else Y=Y.trim()+`
|
||
`+B}else Y=B.trim();pF(F,Y)}async function OC(){let D=Q7("Installing Chroma MCP server...");D.start();try{await X0(400);try{dF("claude mcp remove claude-mem",{stdio:"pipe"}),await X0(200)}catch{}let F=`${B7()}/.cargo/bin`;if(TD(F)&&!process.env.PATH?.includes(F))process.env.PATH=`${F}:${process.env.PATH}`;let Q=`claude mcp add claude-mem -- uvx chroma-mcp --client-type persistent --data-dir ${YD.getInstance().getChromaDirectory()}`;return dF(Q,{stdio:"pipe",env:process.env}),await X0(300),D.stop(z6("Chroma MCP server installed successfully! \uD83D\uDE80"),!0),!0}catch(F){return D.stop("Chroma MCP server installation failed",!1),console.log(TF(BD.yellow(`⚠️ Manual installation required:
|
||
|
||
${BD.cyan(`claude mcp add claude-mem -- uvx chroma-mcp --client-type persistent --data-dir ${YD.getInstance().getChromaDirectory()}`)}
|
||
|
||
Make sure uv is installed: ${BD.cyan("https://docs.astral.sh/uv/getting-started/installation/")}`),{padding:1,margin:1,borderStyle:"round",borderColor:"yellow"})),!1}}async function IC(D,F){let B=YD.getInstance().getHooksDirectory(),Y=LD(B,"session-start.js"),J=LD(B,"stop.js"),X=LD(B,"user-prompt-submit.js"),C=LD(B,"post-tool-use.js"),W={};if(TD(D)){let q=E2(D,"utf8");W=JSON.parse(q)}let z=Z2(D);if(!TD(z))A2(z,{recursive:!0});if(!W.hooks)W.hooks={};let G=["SessionStart","Stop","UserPromptSubmit","PostToolUse"];for(let q of G)if(W.hooks[q]){if(W.hooks[q]=W.hooks[q].filter((E)=>!E.hooks?.some((U)=>U.command?.includes(G2)||U.command?.includes("session-start.js")||U.command?.includes("stop.js")||U.command?.includes("user-prompt-submit.js")||U.command?.includes("post-tool-use.js"))),!W.hooks[q].length)delete W.hooks[q]}if(!W.hooks.SessionStart)W.hooks.SessionStart=[];if(W.hooks.SessionStart.push({hooks:[{type:"command",command:Y,timeout:180}]}),TD(J)){if(!W.hooks.Stop)W.hooks.Stop=[];W.hooks.Stop.push({hooks:[{type:"command",command:J,timeout:60}]})}if(TD(X)){if(!W.hooks.UserPromptSubmit)W.hooks.UserPromptSubmit=[];W.hooks.UserPromptSubmit.push({hooks:[{type:"command",command:X,timeout:60}]})}if(TD(C)){if(!W.hooks.PostToolUse)W.hooks.PostToolUse=[];W.hooks.PostToolUse.push({matcher:"*",hooks:[{type:"command",command:C,timeout:180}]})}pF(D,JSON.stringify(W,null,2))}async function wC(){let D=B7(),F=[LD(D,".bashrc"),LD(D,".zshrc"),LD(D,".bash_profile")],Q='alias rm="claude-mem trash"',B="# claude-mem smart trash alias";for(let Y of F){if(!TD(Y))continue;let J=E2(Y,"utf8");if(J.includes('alias rm="claude-mem trash"'))continue;J+=`
|
||
# claude-mem smart trash alias
|
||
alias rm="claude-mem trash"
|
||
`,pF(Y,J)}}function TC(D){let Q=new Date().toISOString().replace(/T/,"-").replace(/:/g,"").replace(/\..+/,"").replace(/-/g,""),B=`${Q.slice(0,8)}-${Q.slice(8)}`;return`${D}.backup.${B}`}function PC(D=!1){let F=YD.getInstance(),Q=F.getClaudeCommandsDirectory(),B=P4(import.meta.url),J=Z2(B),X=null;for(let q=0;q<10;q++){let E=LD(J,"commands");if(TD(LD(E,"save.md"))){X=E;break}let U=Z2(J);if(U===J)break;J=U}if(!X)try{X=F.findPackageCommandsDirectory()}catch(q){throw new Error("Cannot dynamically locate commands directory. The package may be corrupted.")}if(!TD(Q))A2(Q,{recursive:!0});let C=["save.md","remember.md","claude-mem.md"],W=[],z=[],G=[];for(let q of C){let E=LD(X,q),U=LD(Q,q);if(TD(E))if(TD(U))if(D){let A=TC(U);cF(U,A),cF(E,U),G.push(q)}else z.push(q);else cF(E,U),W.push(q)}if(W.length>0)console.log(` ${BD.green("✓")} Copied commands: ${W.join(", ")}`);if(G.length>0)console.log(` ${BD.blue("\uD83D\uDCE6")} Backed up and replaced commands: ${G.join(", ")}`);if(z.length>0)console.log(` ${BD.yellow("→")} Skipped existing commands: ${z.join(", ")}`)}async function SC(){let D=t8();D.start("Verifying installation");let F=[],B=YD.getInstance().getHooksDirectory(),Y=["session-start.js","stop.js","user-prompt-submit.js","post-tool-use.js"];for(let J of Y)if(!TD(LD(B,J)))F.push(`${J} not found`);if(F.length>0)D.stop("Installation verification completed with issues"),tD.warn("The following issues were detected:"),F.forEach((J)=>tD.error(` - ${J}`)),tD.info("The installation may not work correctly. Consider reinstalling with --force flag.");else D.stop("Installation verified successfully")}async function S4(D={}){console.log(X8(`
|
||
═══════════════════════════════════════`)),console.log(X8(" CLAUDE-MEM INSTALLER ")),console.log(X8("═══════════════════════════════════════")),console.log(TF(z6(`\uD83E\uDDE0 Persistent Memory System for Claude Code
|
||
|
||
✨ Transform your Claude experience with seamless context preservation
|
||
\uD83D\uDE80 Never lose your conversation history again`),{padding:2,margin:1,borderStyle:"double",borderColor:"magenta",textAlignment:"center"})),await X0(500);let F=D.user||D.project||D.local||D.force,Q;if(F)Q={scope:D.local?"local":D.project?"project":"user",customPath:D.path,hookTimeout:D.timeout?parseInt(D.timeout):180,forceReinstall:!!D.force};else{if(!await AC())j3("Please fix the prerequisites issues and try again"),process.exit(1);let G=LC(),q=await MC(G);if(!q)process.exit(0);Q=q}if(Q.forceReinstall){let z=await NC();if(z)tD.info(`Backup created at: ${z}`)}console.log(z6(`
|
||
\uD83D\uDE80 Beginning Installation Process
|
||
`));let B=[{name:"Creating directory structure",action:async()=>{await X0(200),jC(),await X0(100)}},{name:"Installing Chroma MCP server",action:async()=>{if(!await OC())throw new Error("MCP installation failed")}},{name:"Adding CLAUDE.md instructions",action:async()=>{await X0(300),_C(),await X0(200)}},{name:"Installing Claude commands",action:async()=>{await X0(200),PC(Q.forceReinstall),await X0(100)}},{name:"Installing memory hooks",action:async()=>{await X0(400),RC(Q.hookTimeout,Q.forceReinstall),await X0(200)}},{name:"Configuring Claude settings",action:async()=>{await X0(300);let z;if(Q.scope==="local"&&Q.customPath)z=LD(Q.customPath,"settings.local.json");else if(Q.scope==="project")z=LD(process.cwd(),".claude","settings.json");else z=YD.getInstance().getClaudeSettingsPath();await IC(z,Q);let q=YD.getInstance().getUserSettingsPath(),E={};if(TD(q))E=JSON.parse(E2(q,"utf8"));E.backend="chroma",E.installed=!0,E.embedded=!0,E.saveMemoriesOnClear=Q.saveMemoriesOnClear||!1;let U=VC();if(U)E.claudePath=U;else delete E.claudePath;pF(q,JSON.stringify(E,null,2)),await X0(200)}}];if(Q.enableSmartTrash)B.push({name:"Configuring Smart Trash alias",action:async()=>{await X0(200),await wC(),await X0(100)}});for(let z=0;z<B.length;z++){let G=B[z],q=`[${z+1}/${B.length}]`,E=Q7(`${BD.gray(q)} ${G.name}...`);E.start();try{await G.action(),E.stop(`${BD.gray(q)} ${G.name} ${z6("completed! ✨")}`)}catch(U){E.stop(`${BD.gray(q)} ${G.name} ${BD.red("failed")}`,!1),console.log(TF(BD.red(`❌ Installation failed at: ${G.name}
|
||
|
||
Error: ${U}`),{padding:1,margin:1,borderStyle:"double",borderColor:"red"})),process.exit(1)}await X0(150)}console.log(BD.gray(`
|
||
\uD83D\uDD0D Verifying Installation
|
||
`)),await SC();let Y=X8("\uD83C\uDF89 INSTALLATION COMPLETE! \uD83C\uDF89"),J=Q.saveMemoriesOnClear?`${BD.cyan("/compact")} or ${BD.cyan("/clear")}`:BD.cyan("/compact"),X=`
|
||
${BD.bold("How your new memory system works:")}
|
||
|
||
${BD.green("•")} When you start Claude Code, claude-mem loads your latest memories automatically
|
||
${BD.green("•")} Save your work by typing ${J} (takes ~30s to process)
|
||
${BD.green("•")} Ask Claude to search your memories anytime with natural language
|
||
${BD.green("•")} Instructions added to ${BD.cyan("~/.claude/CLAUDE.md")} teach Claude how to use the system
|
||
|
||
${BD.bold("Slash Commands Available:")}
|
||
${BD.cyan("/claude-mem help")} - Show all memory commands and features
|
||
${BD.cyan("/save")} - Quick save of current conversation overview
|
||
${BD.cyan("/remember")} - Search your saved memories
|
||
|
||
${BD.bold("Quick Start:")}
|
||
${BD.yellow("1.")} Restart Claude Code to activate your memory system
|
||
${BD.yellow("2.")} Start using Claude normally - memories save automatically
|
||
${BD.yellow("3.")} Search memories by asking: ${BD.italic('"Search my memories for X"')}`,C=Q.enableSmartTrash?`
|
||
|
||
${BD.blue("\uD83D\uDDD1️ Smart Trash Enabled:")}
|
||
${BD.gray(" • rm commands now move files to ~/.claude-mem/trash")}
|
||
${BD.gray(" • View trash:")} ${BD.cyan("claude-mem trash view")}
|
||
${BD.gray(" • Restore files:")} ${BD.cyan("claude-mem restore")}
|
||
${BD.gray(" • Empty trash:")} ${BD.cyan("claude-mem trash empty")}
|
||
${BD.yellow(" • Restart terminal for alias to activate")}`:"",W=Q.saveMemoriesOnClear?`
|
||
|
||
${BD.magenta("\uD83D\uDCBE Save-on-clear enabled:")}
|
||
${BD.gray(" • /clear now saves memories automatically (takes ~1 minute)")}`:"";console.log(TF(Y+X+C+W,{padding:2,margin:1,borderStyle:"double",borderColor:"green",backgroundColor:"#001122"})),console.log(X8(`
|
||
✨ Welcome to the future of persistent AI conversations! ✨
|
||
`))}E0();import{readFileSync as b4,writeFileSync as G6,existsSync as k4}from"fs";import{join as PF}from"path";import{homedir as bC}from"os";async function kC(){let D=bC(),F=[PF(D,".bashrc"),PF(D,".zshrc"),PF(D,".bash_profile")],Q='alias rm="claude-mem trash"',B=["# claude-mem smart trash alias","# claude-mem trash bin alias"],Y=!1;for(let J of F){if(!k4(J))continue;let X=b4(J,"utf8");if(!X.includes('alias rm="claude-mem trash"'))continue;let C=X.split(`
|
||
`),z=C.filter((G,q)=>{if(G.trim()==='alias rm="claude-mem trash"')return!1;for(let E of B)if(G.trim()===E&&q+1<C.length&&C[q+1].trim()==='alias rm="claude-mem trash"')return!1;return!0}).join(`
|
||
`);if(z!==X){let G=J+".backup."+Date.now();G6(G,X),G6(J,z),console.log(`✅ Removed Smart Trash alias from ${J.replace(D,"~")}`),Y=!0}}return Y}async function v4(D={}){console.log("\uD83D\uDD04 Uninstalling Claude Memory System hooks...");let F=[];if(D.all)F.push({name:"User",path:YD.getInstance().getClaudeSettingsPath()}),F.push({name:"Project",path:PF(process.cwd(),".claude","settings.json")});else{let z=D.project,G=YD.getInstance();F.push({name:z?"Project":"User",path:z?PF(process.cwd(),".claude","settings.json"):G.getClaudeSettingsPath()})}let B=YD.getInstance().getHooksDirectory(),Y=PF(B,"pre-compact.js"),J=PF(B,"session-start.js"),X=PF(B,"session-end.js"),C=0;for(let z of F){if(!k4(z.path)){console.log(`⏭️ No settings found at ${z.name} location`);continue}let G=b4(z.path,"utf8"),q=JSON.parse(G);if(!q.hooks){console.log(`⏭️ No hooks configured in ${z.name} settings`);continue}let E=!1;if(q.hooks.PreCompact){let U=q.hooks.PreCompact.filter((A)=>!A.hooks?.some((K)=>K.command===Y||K.command?.includes("pre-compact.js")||K.command?.includes("claude-mem")));if(U.length!==q.hooks.PreCompact.length)q.hooks.PreCompact=U.length?U:void 0,E=!0,console.log(`✅ Removed PreCompact hook from ${z.name} settings`)}if(q.hooks.SessionStart){let U=q.hooks.SessionStart.filter((A)=>!A.hooks?.some((K)=>K.command===J||K.command?.includes("session-start.js")||K.command?.includes("claude-mem")));if(U.length!==q.hooks.SessionStart.length)q.hooks.SessionStart=U.length?U:void 0,E=!0,console.log(`✅ Removed SessionStart hook from ${z.name} settings`)}if(q.hooks.SessionEnd){let U=q.hooks.SessionEnd.filter((A)=>!A.hooks?.some((K)=>K.command===X||K.command?.includes("session-end.js")||K.command?.includes("claude-mem")));if(U.length!==q.hooks.SessionEnd.length)q.hooks.SessionEnd=U.length?U:void 0,E=!0,console.log(`✅ Removed SessionEnd hook from ${z.name} settings`)}if(q.hooks.PreCompact===void 0)delete q.hooks.PreCompact;if(q.hooks.SessionStart===void 0)delete q.hooks.SessionStart;if(q.hooks.SessionEnd===void 0)delete q.hooks.SessionEnd;if(!Object.keys(q.hooks).length)delete q.hooks;if(E){let U=z.path+".backup."+Date.now();G6(U,G),console.log(`\uD83D\uDCCB Created backup: ${U}`),G6(z.path,JSON.stringify(q,null,2)),C++,console.log(`✅ Updated ${z.name} settings: ${z.path}`)}else console.log(`ℹ️ No Claude Memory System hooks found in ${z.name} settings`)}let W=await kC();if(console.log(""),C>0||W){if(console.log("✨ Uninstallation complete!"),C>0)console.log("The Claude Memory System hooks have been removed from your settings.");if(W)console.log("The Smart Trash alias has been removed from your shell configuration."),console.log("⚠️ Restart your terminal for the alias removal to take effect.");console.log(""),console.log("Note: Your compressed transcripts and archives are preserved."),console.log("To reinstall: claude-mem install")}else console.log("ℹ️ No Claude Memory System hooks or aliases were found to remove.")}E0();LF();M6();import{readFileSync as q7,existsSync as C8,readdirSync as jW,statSync as RW}from"fs";import{join as SF,dirname as _W}from"path";import{execSync as OW}from"child_process";import{fileURLToPath as IW}from"url";var MA=_W(IW(import.meta.url));async function A5(){console.log("\uD83D\uDD0D Claude Memory System Status Check"),console.log(`=====================================
|
||
`),console.log("\uD83D\uDCC2 Runtime Hook Scripts (installed from hook-templates/):");let D=YD.getInstance(),F=D.getHooksDirectory(),Q=SF(F,"session-start.js"),B=SF(F,"stop.js"),Y=SF(F,"user-prompt-submit.js"),J=SF(F,"post-tool-use.js"),X=(A,K)=>{if(C8(A))console.log(` ✅ ${K}: Found at ${A}`);else console.log(` ❌ ${K}: Not found at ${A}`)};X(Q,"session-start.js"),X(B,"stop.js"),X(Y,"user-prompt-submit.js"),X(J,"post-tool-use.js"),console.log(""),console.log("⚙️ Settings Configuration:");let C=(A,K)=>{if(!C8(K)){console.log(` ⏭️ ${A}: No settings file`);return}console.log(` \uD83D\uDCCB ${A}: ${K}`);try{let V=JSON.parse(q7(K,"utf8")),j=V.hooks?.SessionStart?.some((k)=>k.hooks?.some((I)=>I.command?.includes("session-start.js")||I.command?.includes("claude-mem"))),L=V.hooks?.Stop?.some((k)=>k.hooks?.some((I)=>I.command?.includes("stop.js")||I.command?.includes("claude-mem"))),R=V.hooks?.UserPromptSubmit?.some((k)=>k.hooks?.some((I)=>I.command?.includes("user-prompt-submit.js")||I.command?.includes("claude-mem"))),b=V.hooks?.PostToolUse?.some((k)=>k.hooks?.some((I)=>I.command?.includes("post-tool-use.js")||I.command?.includes("claude-mem")));console.log(` SessionStart: ${j?"✅":"❌"}`),console.log(` Stop: ${L?"✅":"❌"}`),console.log(` UserPromptSubmit: ${R?"✅":"❌"}`),console.log(` PostToolUse: ${b?"✅":"❌"}`)}catch(V){console.log(" ⚠️ Could not parse settings")}};C("Global",D.getClaudeSettingsPath()),C("Project",SF(process.cwd(),".claude","settings.json")),console.log(""),console.log("\uD83D\uDCE6 Compressed Transcripts:");let W=SF(D.getClaudeConfigDirectory(),"projects");if(C8(W))try{let A=0,K=0,V=(j,L=0)=>{if(L>3)return;let R=jW(j);for(let b of R){let k=SF(j,b);if(RW(k).isDirectory()&&!b.startsWith("."))V(k,L+1);else if(b.endsWith(".jsonl.compressed"))A++;else if(b.endsWith(".jsonl.archive"))K++}};V(W),console.log(` Compressed files: ${A}`),console.log(` Archive files: ${K}`)}catch(A){console.log(" ⚠️ Could not scan projects directory")}else console.log(" ℹ️ No Claude projects directory found");console.log(""),console.log("\uD83D\uDD27 Runtime Environment:");let z=(A,K)=>{try{let V=OW(`${A} --version`,{encoding:"utf8"}).trim();console.log(` ✅ ${K}: ${V}`)}catch{console.log(` ❌ ${K}: Not found`)}};z("node","Node.js"),z("bun","Bun"),console.log(""),console.log("\uD83E\uDDE0 Chroma Storage Status:"),console.log(" ✅ Storage backend: Chroma MCP"),console.log(` \uD83D\uDCCD Data location: ${D.getChromaDirectory()}`),console.log(" \uD83D\uDD0D Features: Vector search, semantic similarity, document storage"),console.log(""),console.log("\uD83E\uDD16 Claude Agent SDK Sessions:");try{await WF.getInstance().initialize();let V=new J8().getAll();if(V.length===0)console.log(BD.gray(" No active sessions"));else{let j=V.filter((L)=>{return(Date.now()-L.last_used_epoch)/86400000<7}).length;console.log(` \uD83D\uDCCA Total sessions: ${V.length}`),console.log(` ✅ Active (< 7 days): ${j}`),console.log(BD.dim(" \uD83D\uDCA1 View details: claude-mem sessions list"))}}catch(A){console.log(BD.gray(" ⚠️ Could not load session info"))}console.log(""),console.log("\uD83D\uDCCA Summary:");let G=D.getClaudeSettingsPath(),q=SF(process.cwd(),".claude","settings.json"),E=!1,U="Not installed";try{if(C8(G)){let A=JSON.parse(q7(G,"utf8"));if(A.hooks?.SessionStart||A.hooks?.Stop||A.hooks?.PostToolUse)E=!0,U="Global"}if(C8(q)){let A=JSON.parse(q7(q,"utf8"));if(A.hooks?.SessionStart||A.hooks?.Stop||A.hooks?.PostToolUse)E=!0,U=U==="Global"?"Global + Project":"Project"}}catch{}if(E)console.log(` ✅ Claude Memory System is installed (${U})`),console.log(""),console.log("\uD83D\uDCA1 To test: Use /compact in Claude Code");else console.log(" ❌ Claude Memory System is not installed"),console.log(""),console.log("\uD83D\uDCA1 To install: claude-mem install")}E0();import{readFileSync as wW,readdirSync as TW,statSync as PW}from"fs";import{join as V5}from"path";async function SW(D,F,Q){try{let J=wW(D,"utf8").split(`
|
||
`).filter((X)=>X.trim()).slice(-Q);if(console.log(`\uD83D\uDCCB ${F} Logs (last ${Q} lines):`),console.log(` File: ${D}`),console.log(""),J.length===0)console.log(" No log entries found");else J.forEach((X)=>{console.log(` ${X}`)});console.log("")}catch(B){console.log(`❌ Could not read ${F.toLowerCase()} log: ${D}`)}}async function L5(D={}){let F=YD.getLogsDirectory(),Q=parseInt(D.tail)||20;try{let Y=TW(F).filter((J)=>J.startsWith("claude-mem-")&&J.endsWith(".log")).map((J)=>({name:J,path:V5(F,J),mtime:PW(V5(F,J)).mtime})).sort((J,X)=>X.mtime.getTime()-J.mtime.getTime());if(Y.length===0){console.log("❌ No log files found in ~/.claude-mem/logs/");return}if(await SW(Y[0].path,"Most Recent",Q),D.all&&Y.length>1)console.log(`\uD83D\uDCDA Found ${Y.length} total log files`)}catch(B){console.log("❌ Could not read logs directory: ~/.claude-mem/logs/"),console.log(" Run a compression first to generate logs")}if(D.follow)console.log("Following logs... (Press Ctrl+C to stop)"),setInterval(()=>{},1000)}E0();import G8 from"fs";import{join as cW}from"path";function M5(D){try{let F=D instanceof Date?D:new Date(D),B=new Date().getTime()-F.getTime(),Y=Math.floor(B/1000),J=Math.floor(Y/60),X=Math.floor(J/60),C=Math.floor(X/24),W=Math.floor(C/7),z=Math.floor(C/30);if(Y<60)return"Just now";else if(J<60)return J===1?"1 minute ago":`${J} minutes ago`;else if(X<24)return X===1?"1 hour ago":`${X} hours ago`;else if(C===1)return"Yesterday";else if(C<7)return`${C} days ago`;else if(W===1)return"1 week ago";else if(W<4)return`${W} weeks ago`;else if(z===1)return"1 month ago";else if(z<12)return`${z} months ago`;else{let G=Math.floor(z/12);return G===1?"1 year ago":`${G} years ago`}}catch(F){return"Recently"}}function j6(){let D=process.env.CLAUDE_MEM_WRAP_WIDTH;if(D){let F=parseInt(D,10);if(!Number.isNaN(F)&&F>40&&F<=200)return F}return 80}function bW(D,F){if(!D)return"";if(/^[\-=\u2014_\u2500\u2550]{5,}$/.test(D.trim()))return D;if(D.length<=F)return D;let Q=D.match(/^\s*/),B=Q?Q[0]:"",Y=D.slice(B.length),J=Math.max(10,F-B.length),X=Y.split(/(\s+)/),C=[],W="",z=()=>{C.push(B+W.trimEnd()),W=""};for(let G of X){if(G==="")continue;if(!/\s/.test(G)&&G.length>J){if(W.trim().length>0)z();let q=0;while(q<G.length){let E=G.slice(q,q+J);C.push(B+E),q+=J}W="";continue}if(B.length+W.length+G.length>F)z();W+=G}if(W.trim().length>0||C.length===0)z();return C.join(`
|
||
`)}function g0(D,F){if(!D)return"";return D.split(`
|
||
`).map((Q)=>bW(Q,F)).join(`
|
||
`)}function N6(D="─",F=j6()){if(!D||D.length===0)D="-";return D.repeat(F).slice(0,F)}function K7(D,F,Q){let B=F!==void 0?` (${F} items)`:"",Y=Q?`
|
||
${Q}`:"",J=j6();return g0(`✅ ${D} completed successfully${B}${Y}`,J)}function H7(D,F,Q){let B=Q?`
|
||
|
||
\uD83D\uDCA1 ${Q}`:"",Y=j6();return g0(`❌ ${D} encountered an issue: ${F}${B}`,Y)}var kW={NO_MEMORIES:(D)=>({message:`No previous memories found for ${D}`,suggestion:"This appears to be your first session. Memories will be created as you work."}),CONNECTION_FAILED:()=>({message:"Could not connect to memory system",suggestion:"Try restarting Claude Code or check if the MCP server is properly configured."}),SEARCH_FAILED:(D)=>({message:`Search for "${D}" didn't return any results`,suggestion:"Try using different keywords or check if memories exist for this project."}),LOAD_TIMEOUT:()=>({message:"Memory loading timed out",suggestion:"The operation is taking longer than expected. You can continue without loaded context."})};function W8(D,...F){let Q=kW[D](...F);return H7("Memory system",Q.message,Q.suggestion)}function N5(D){let F=typeof D==="string"?new Date(D):D,B=new Date().getTime()-F.getTime(),Y=Math.floor(B/60000),J=Math.floor(B/3600000),X=Math.floor(B/86400000);if(Y<1)return"just now";if(Y<60)return`${Y} minute${Y>1?"s":""} ago`;if(J<24)return`${J} hour${J>1?"s":""} ago`;if(X<7)return`${X} day${X>1?"s":""} ago`;return F.toLocaleDateString()}function vW(D){if(D.length===0)return[];return D.filter((F)=>F.type==="memory").map((F)=>{let Q={summary:F.text||"",sessionId:F.session_id||""};if(F.keywords)Q.keywords=F.keywords;if(F.document_id&&!F.document_id.includes("Session:"))Q.location=F.document_id;return Q}).filter((F)=>F.summary.length>0)}function xW(D){let F=new Map;return D.forEach((Q)=>{let B=Q.sessionId;if(B){if(!F.has(B))F.set(B,[]);F.get(B).push(Q)}}),Array.from(F.entries()).map(([Q,B])=>{let Y=B.map((J,X)=>({...J,number:X+1}));return{sessionId:Q,memories:Y}})}function uW(D){let F=new Map;return D.forEach((Q)=>{let B=Q.sessionId||"unknown";if(!F.has(B))F.set(B,[]);F.get(B).push(Q)}),Array.from(F.entries()).map(([Q,B])=>{let Y=B.map((X)=>X.timestamp).filter((X)=>X!==void 0).sort((X,C)=>X.getTime()-C.getTime()),J={sessionId:Q,overviews:B};if(Y.length>0)J.earliestTimestamp=Y[0],J.timeAgo=M5(Y[0]);return J})}function j5(D){let{projectName:F,memoryCount:Q,lastSessionTime:B,recentObjects:Y}=D,J=j6(),C=new Date().toLocaleString("en-US",{weekday:"long",year:"numeric",month:"long",day:"numeric",hour:"2-digit",minute:"2-digit",timeZoneName:"short"});console.log(""),console.log(g0(`\uD83D\uDCC5 ${C}`,J)),console.log(N6("─",J));let W=extractOverviews(Y,10,F);console.error(`[DEBUG] recentObjects has ${Y.length} items`),console.error(`[DEBUG] overviews extracted: ${W.length}`);let z=vW(Y),G=(q,E)=>{let U=q.includes(",")||q.includes(`
|
||
`)?q.split(/[\n,]+/):[q];for(let A of U){let K=A.trim();if(!K)continue;let V=K.toLowerCase();if(!E.has(V))E.set(V,K)}};if(z.length>0){let q=xW(z);console.log(""),console.log(""),console.log(g0("\uD83D\uDCDA Memories",J)),q.forEach((E)=>{console.log(N6("─",J)),console.log(""),console.log(g0(`\uD83D\uDD0D ${E.sessionId}`,J));let U=new Map;E.memories.forEach((K)=>{if(console.log(""),console.log(g0(`${K.number}. ${K.summary}`,J)),K.keywords)G(K.keywords,U)});let A=Array.from(U.values());if(A.length>0)console.log(""),console.log(g0(`\uD83C\uDFF7️ ${A.join(", ")}`,J));console.log("")})}if(W.length>0){let q=uW(W);q.sort((E,U)=>{let A=E.earliestTimestamp?.getTime()||0,K=U.earliestTimestamp?.getTime()||0;return A-K}),console.log(""),console.log(g0("\uD83E\uDDE0 Overviews",J)),console.log(N6("─",J)),q.forEach((E)=>{console.log(""),console.log(g0(`\uD83D\uDD0D ${E.sessionId}`,J)),E.overviews.forEach((U,A)=>{if(console.log(""),console.log(g0(`${A+1}. ${U.content}`,J)),console.log(""),U.timeAgo)console.log(g0(`\uD83D\uDCC5 ${U.timeAgo}`,J))}),console.log(""),console.log(N6("─",J))})}else if(z.length===0)console.log(g0(`\uD83E\uDDE0 No recent context found for ${F}`,J))}E0();import aF from"fs";LF();M6();E7();A7();L7();N7();j7();async function s0(){let{DatabaseManager:D}=await Promise.resolve().then(() => (LF(),E5)),{migrations:F}=await Promise.resolve().then(() => (j7(),S5)),Q=D.getInstance();for(let z of F)Q.registerMigration(z);let B=await Q.initialize(),{SessionStore:Y}=await Promise.resolve().then(() => (M6(),Z5)),{MemoryStore:J}=await Promise.resolve().then(() => (E7(),R5)),{OverviewStore:X}=await Promise.resolve().then(() => (A7(),_5)),{DiagnosticsStore:C}=await Promise.resolve().then(() => (L7(),O5)),{TranscriptEventStore:W}=await Promise.resolve().then(() => (N7(),I5));return{sessions:new Y(B),memories:new J(B),overviews:new X(B),diagnostics:new C(B),transcriptEvents:new W(B)}}class R7{backend="sqlite";stores;async getStores(){if(!this.stores)this.stores=await s0();return this.stores}async isAvailable(){try{return await this.getStores(),!0}catch(D){return!1}}async createSession(D){return(await this.getStores()).sessions.create(D)}async getSession(D){return(await this.getStores()).sessions.getBySessionId(D)}async hasSession(D){return(await this.getStores()).sessions.has(D)}async getAllSessionIds(){return(await this.getStores()).sessions.getAllSessionIds()}async getRecentSessions(D=5){return(await this.getStores()).sessions.getRecent(D)}async getRecentSessionsForProject(D,F=5){return(await this.getStores()).sessions.getRecentForProject(D,F)}async createMemory(D){return(await this.getStores()).memories.create(D)}async createMemories(D){(await this.getStores()).memories.createMany(D)}async getRecentMemories(D=10){return(await this.getStores()).memories.getRecent(D)}async getRecentMemoriesForProject(D,F=10){return(await this.getStores()).memories.getRecentForProject(D,F)}async hasDocumentId(D){return(await this.getStores()).memories.hasDocumentId(D)}async createOverview(D){return(await this.getStores()).overviews.create(D)}async upsertOverview(D){return(await this.getStores()).overviews.upsert(D)}async getRecentOverviews(D=5){return(await this.getStores()).overviews.getRecent(D)}async getRecentOverviewsForProject(D,F=5){return(await this.getStores()).overviews.getRecentForProject(D,F)}async createDiagnostic(D){return(await this.getStores()).diagnostics.create(D)}}class b5{backend="jsonl";pathDiscovery=YD.getInstance();async isAvailable(){try{let D=this.pathDiscovery.getDataDirectory();return aF.mkdirSync(D,{recursive:!0}),!0}catch{return!1}}appendToIndex(D){let F=this.pathDiscovery.getIndexPath();aF.appendFileSync(F,JSON.stringify(D)+"\\n","utf8")}async createSession(D){let F={type:"session",session_id:D.session_id,project:D.project,timestamp:D.created_at};this.appendToIndex(F)}async getSession(){return null}async hasSession(D){return(await this.getAllSessionIds()).has(D)}async getAllSessionIds(){let D=this.pathDiscovery.getIndexPath();if(!aF.existsSync(D))return new Set;let Q=aF.readFileSync(D,"utf-8").trim().split("\\n").filter((Y)=>Y.trim()),B=new Set;for(let Y of Q)try{let J=JSON.parse(Y);if(J.session_id)B.add(J.session_id)}catch{}return B}async getRecentSessions(){return[]}async getRecentSessionsForProject(){return[]}async createMemory(D){let F={type:"memory",text:D.text,document_id:D.document_id,keywords:D.keywords,session_id:D.session_id,project:D.project,timestamp:D.created_at,archive:D.archive_basename};this.appendToIndex(F)}async createMemories(D){for(let F of D)await this.createMemory(F)}async getRecentMemories(){return[]}async getRecentMemoriesForProject(){return[]}async hasDocumentId(D){let F=this.pathDiscovery.getIndexPath();if(!aF.existsSync(F))return!1;let B=aF.readFileSync(F,"utf-8").trim().split("\\n").filter((Y)=>Y.trim());for(let Y of B)try{let J=JSON.parse(Y);if(J.type==="memory"&&J.document_id===D)return!0}catch{}return!1}async createOverview(D){let F={type:"overview",content:D.content,session_id:D.session_id,project:D.project,timestamp:D.created_at};this.appendToIndex(F)}async upsertOverview(D){await this.createOverview(D)}async getRecentOverviews(){return[]}async getRecentOverviewsForProject(){return[]}async createDiagnostic(D){let F={type:"diagnostic",message:D.message,session_id:D.session_id,project:D.project,timestamp:D.created_at};this.appendToIndex(F)}}var V2=null;async function k5(){if(V2)return V2;let D=new R7;if(await D.isAvailable())return V2=D,V2;let F=new b5;if(await F.isAvailable())return V2=F,V2;throw new Error("No storage backend available")}async function v5(){let F=YD.getInstance().getIndexPath();if(aF.existsSync(F)){if(!await new R7().isAvailable())return!0;try{return(await s0()).sessions.count()===0}catch{return!0}}return!1}import{readFileSync as yW,existsSync as fW}from"fs";import{join as gW}from"path";E0();class _7{pathDiscovery;constructor(){this.pathDiscovery=YD.getInstance()}getConfigDir(){return this.pathDiscovery.getDataDirectory()}getIndexDir(){return this.pathDiscovery.getIndexDirectory()}getIndexPath(){return this.pathDiscovery.getIndexPath()}getArchiveDir(){return this.pathDiscovery.getArchivesDirectory()}getProjectArchiveDir(D){return this.pathDiscovery.getProjectArchiveDirectory(D)}getLogsDir(){return this.pathDiscovery.getLogsDirectory()}static ensureDirectory(D){YD.getInstance().ensureDirectory(D)}static ensureDirectories(D){YD.getInstance().ensureDirectories(D)}static extractProjectName(D){return YD.extractProjectName(D)}static getCurrentProjectPrefix(){return YD.getCurrentProjectName()}static getCurrentProjectName(){return YD.getCurrentProjectName()}}class O7{static settingsPath;static cachedSettings=null;static{let D=new _7;this.settingsPath=gW(D.getConfigDir(),"settings.json")}static readSettings(){if(this.cachedSettings!==null)return this.cachedSettings;try{if(fW(this.settingsPath)){let F=yW(this.settingsPath,"utf-8"),Q=JSON.parse(F);return this.cachedSettings=Q,Q}}catch{}let D={};return this.cachedSettings=D,D}static getSetting(D,F){return this.readSettings()[D]??F}static getClaudePath(){return this.getSetting("claudePath","claude")}static clearCache(){this.cachedSettings=null}}function z8(){return O7.getClaudePath()}function x5(){return O7.readSettings()}var L2={captureEnabled:!0,summaryEnabled:!0,sessionStartEnabled:!0,chunkTokenLimit:600,chunkOverlapTokens:200,summaryTurnLimit:20};function I7(D,F){if(typeof D==="boolean")return D;if(typeof D==="string"){let Q=D.toLowerCase();if(Q==="true")return!0;if(Q==="false")return!1}return F}function w7(D,F){if(typeof D==="number"&&Number.isFinite(D))return D;if(typeof D==="string"){let Q=Number(D);if(!Number.isNaN(Q)&&Number.isFinite(Q))return Q}return F}function u5(){let D=x5();return{captureEnabled:I7(D.rollingCaptureEnabled,L2.captureEnabled),summaryEnabled:I7(D.rollingSummaryEnabled,L2.summaryEnabled),sessionStartEnabled:I7(D.rollingSessionStartEnabled,L2.sessionStartEnabled),chunkTokenLimit:w7(D.rollingChunkTokens,L2.chunkTokenLimit),chunkOverlapTokens:w7(D.rollingChunkOverlapTokens,L2.chunkOverlapTokens),summaryTurnLimit:w7(D.rollingSummaryTurnLimit,L2.summaryTurnLimit)}}E0();import{appendFileSync as $W,existsSync as hW,mkdirSync as mW}from"fs";import{join as lW}from"path";var R6=null;function dW(){if(R6)return R6;let F=YD.getInstance().getLogsDirectory();if(!hW(F))mW(F,{recursive:!0});return R6=lW(F,"rolling-memory.log"),R6}function _6(D,F,Q={}){try{let B=dW(),Y={timestamp:new Date().toISOString(),level:D,message:F,...Q};$W(B,`${JSON.stringify(Y)}
|
||
`,"utf8")}catch{}}function y5(D=new Date){return D.toLocaleString("en-US",{weekday:"long",month:"long",day:"numeric",year:"numeric",hour:"2-digit",minute:"2-digit",timeZoneName:"short"})}function T7(D,F,Q){let B=D.split(" "),Y=[],J=Q,X=" ".repeat(Q.length);for(let C of B){let z=J+(J!==Q&&J!==X?" ":"")+C;if(z.length<=F)J=z;else{if(J.trim())Y.push(J);J=X+C}}if(J.trim())Y.push(J);return Y.join(`
|
||
`)}function pW(D){let F=new Set;return F.add(D),F.add(D.replace(/-/g,"_")),F.add(D.replace(/_/g,"-")),(Q)=>!!Q&&F.has(Q)}function P7(D){if(D===0)return"0 B";let F=1024,Q=["B","KB","MB","GB"],B=Math.floor(Math.log(D)/Math.log(F));return parseFloat((D/Math.pow(F,B)).toFixed(1))+" "+Q[B]}function S7(){let D=YD.getInstance().getTrashDirectory();if(!G8.existsSync(D))return{folderCount:0,fileCount:0,totalSize:0,isEmpty:!0};let F=G8.readdirSync(D);if(F.length===0)return{folderCount:0,fileCount:0,totalSize:0,isEmpty:!0};let Q=0,B=0,Y=0;for(let J of F){let X=cW(D,J),C=G8.statSync(X);if(C.isDirectory())Q++;else B++;Y+=C.size}return{folderCount:Q,fileCount:B,totalSize:Y,isEmpty:!1}}async function nW(D){if(!u5().sessionStartEnabled){console.log("Rolling session-start output disabled in settings."),_6("info","session-start output skipped (disabled)",{project:D});return}let Q=await s0(),B=D||YD.getCurrentProjectName(),J=Q.overviews.getAllForProject(B).slice(-10);if(J.length===0){console.log("==============================================================================="),console.log(`What's new | ${y5()}`),console.log("==============================================================================="),console.log("No previous sessions found for this project."),console.log("Start working and claude-mem will automatically capture context for future sessions."),console.log("===============================================================================");let C=S7();if(!C.isEmpty){let W=P7(C.totalSize);console.log(`\uD83D\uDDD1️ Trash – ${C.folderCount} folders | ${C.fileCount} files | ${W} – use \`claude-mem restore\``),console.log("===============================================================================")}return}console.log("==============================================================================="),console.log(`What's new | ${y5()}`),console.log("==============================================================================="),J.forEach((C)=>{let W=new Date(C.created_at),z=W.getFullYear(),G=String(W.getMonth()+1).padStart(2,"0"),q=String(W.getDate()).padStart(2,"0"),E=W.getHours(),U=String(W.getMinutes()).padStart(2,"0"),A=E>=12?"PM":"AM",K=E%12||12;console.log(`[${z}-${G}-${q} at ${K}:${U} ${A}]`);let V=Q.memories.getBySessionId(C.session_id),j=V.map((b)=>({title:b.title,subtitle:b.subtitle})).filter((b)=>b.title),L=new Set,R=new Set;if(V.forEach((b)=>{if(b.files_touched)try{let k=JSON.parse(b.files_touched);if(Array.isArray(k))k.forEach((I)=>L.add(I))}catch(k){}if(b.keywords)b.keywords.split(",").forEach((k)=>R.add(k.trim()))}),console.log(""),console.log(T7(C.content,80,"")),L.size>0)console.log(""),console.log(T7(`- ${Array.from(L).join(", ")}`,80,""));if(R.size>0)console.log(""),console.log(T7(`Tags: ${Array.from(R).join(", ")}`,80,""));console.log("")}),console.log("===============================================================================");let X=S7();if(!X.isEmpty){let C=P7(X.totalSize);console.log(`\uD83D\uDDD1️ Trash – ${X.folderCount} folders | ${X.fileCount} files | ${C} – use \`claude-mem restore\``),console.log("===============================================================================")}}async function f5(D={}){try{if(await v5())console.warn("⚠️ JSONL to SQLite migration recommended. Run: claude-mem migrate-index");let F=await k5();if(F.backend==="jsonl")return await iW(D);let Q=[],B=[],Y=D.project;if(!Y&&D.format==="session-start")Y=YD.getCurrentProjectName();if(D.format==="session-start"){await nW(Y);return}let J=D.format==="json"?5:3;if(Y)Q=await F.getRecentMemoriesForProject(Y,10),B=await F.getRecentOverviewsForProject(Y,J);else Q=await F.getRecentMemories(10),B=await F.getRecentOverviews(J);let X=Q.map((W)=>({type:"memory",text:W.text,document_id:W.document_id,keywords:W.keywords,session_id:W.session_id,project:W.project,timestamp:W.created_at,archive:W.archive_basename})),C=B.map((W)=>({type:"overview",content:W.content,session_id:W.session_id,project:W.project,timestamp:W.created_at}));if(X.length===0&&C.length===0)return;if(D.format==="json"){let W=[...X,...C];console.log(JSON.stringify(W))}else{let W=X.length+C.length;console.log(K7("Context loading",W,"recent entries found")),X.forEach((z)=>{console.log(`${z.text} | ${z.document_id} | ${z.keywords}`)}),C.forEach((z)=>{console.log(`**Overview:** ${z.content}`)})}if(D.format!=="json"){let W=S7();if(!W.isEmpty){let z=P7(W.totalSize);console.log(`\uD83D\uDDD1️ Trash – ${W.folderCount} folders | ${W.fileCount} files | ${z} – use \`claude-mem restore\``),console.log("")}}}catch(F){let Q=F instanceof Error?F.message:String(F);if(D.format==="session-start")console.log(W8("CONNECTION_FAILED",Q));else console.log(H7("Context loading",Q,"Check file permissions and try again"))}}async function iW(D={}){let Q=YD.getInstance().getIndexPath(),B=D.project;if(!B&&D.format==="session-start")B=YD.getCurrentProjectName();if(!G8.existsSync(Q)){if(D.format==="session-start")console.log(W8("NO_MEMORIES",B||"this project"));return}let J=G8.readFileSync(Q,"utf-8").trim().split(`
|
||
`).filter((U)=>U.trim());if(J.length===0){if(D.format==="session-start")console.log(W8("NO_MEMORIES",B||"this project"));return}let X=[];for(let U of J)try{if(!U.trim().startsWith("{"))continue;let A=JSON.parse(U);X.push(A)}catch(A){continue}if(X.length===0){if(D.format==="session-start")console.log(W8("NO_MEMORIES",B||"this project"));return}let C=X.filter((U)=>U.type==="memory"),W=X.filter((U)=>U.type==="overview"),z=X.filter((U)=>U.type==="session"),G=C,q=W,E=z;if(B){let U=pW(B);G=C.filter((A)=>U(A.project)),q=W.filter((A)=>U(A.project)),E=z.filter((A)=>U(A.project))}if(D.format==="session-start"){let U=G.slice(-10),A=q.slice(-10),V=[...E.slice(-10),...U,...A],j="recently",L=V.map((R)=>{return R.timestamp?new Date(R.timestamp):null}).filter((R)=>R!==null).sort((R,b)=>b.getTime()-R.getTime());if(L.length>0)j=N5(L[0]);j5({projectName:B||"your project",memoryCount:U.length,lastSessionTime:j,recentObjects:V})}else if(D.format==="json"){let U=G.slice(-10),A=q.slice(-3),K=[...U,...A];console.log(JSON.stringify(K))}else{let U=G.slice(-10),A=q.slice(-3),K=U.length+A.length;console.log(K7("Context loading",K,"recent entries found")),U.forEach((V)=>{console.log(`${V.text} | ${V.document_id} | ${V.keywords}`)}),A.forEach((V)=>{console.log(`**Overview:** ${V.content}`)})}}import{renameSync as kG,existsSync as kB,mkdirSync as vG,statSync as xG}from"fs";import{join as uG,basename as yG}from"path";var b7=(D,F,Q)=>{let B=D instanceof RegExp?g5(D,Q):D,Y=F instanceof RegExp?g5(F,Q):F,J=B!==null&&Y!=null&&aW(B,Y,Q);return J&&{start:J[0],end:J[1],pre:Q.slice(0,J[0]),body:Q.slice(J[0]+B.length,J[1]),post:Q.slice(J[1]+Y.length)}},g5=(D,F)=>{let Q=F.match(D);return Q?Q[0]:null},aW=(D,F,Q)=>{let B,Y,J,X=void 0,C,W=Q.indexOf(D),z=Q.indexOf(F,W+1),G=W;if(W>=0&&z>0){if(D===F)return[W,z];B=[],J=Q.length;while(G>=0&&!C){if(G===W)B.push(G),W=Q.indexOf(D,G+1);else if(B.length===1){let q=B.pop();if(q!==void 0)C=[q,z]}else{if(Y=B.pop(),Y!==void 0&&Y<J)J=Y,X=z;z=Q.indexOf(F,G+1)}G=W<z&&W>=0?W:z}if(B.length&&X!==void 0)C=[J,X]}return C};var $5="\x00SLASH"+Math.random()+"\x00",h5="\x00OPEN"+Math.random()+"\x00",v7="\x00CLOSE"+Math.random()+"\x00",m5="\x00COMMA"+Math.random()+"\x00",l5="\x00PERIOD"+Math.random()+"\x00",rW=new RegExp($5,"g"),oW=new RegExp(h5,"g"),sW=new RegExp(v7,"g"),tW=new RegExp(m5,"g"),eW=new RegExp(l5,"g"),Dz=/\\\\/g,Fz=/\\{/g,Bz=/\\}/g,Qz=/\\,/g,Xz=/\\./g;function k7(D){return!isNaN(D)?parseInt(D,10):D.charCodeAt(0)}function Yz(D){return D.replace(Dz,$5).replace(Fz,h5).replace(Bz,v7).replace(Qz,m5).replace(Xz,l5)}function Jz(D){return D.replace(rW,"\\").replace(oW,"{").replace(sW,"}").replace(tW,",").replace(eW,".")}function d5(D){if(!D)return[""];let F=[],Q=b7("{","}",D);if(!Q)return D.split(",");let{pre:B,body:Y,post:J}=Q,X=B.split(",");X[X.length-1]+="{"+Y+"}";let C=d5(J);if(J.length)X[X.length-1]+=C.shift(),X.push.apply(X,C);return F.push.apply(F,X),F}function c5(D){if(!D)return[];if(D.slice(0,2)==="{}")D="\\{\\}"+D.slice(2);return q8(Yz(D),!0).map(Jz)}function Cz(D){return"{"+D+"}"}function Wz(D){return/^-?0\d/.test(D)}function zz(D,F){return D<=F}function Gz(D,F){return D>=F}function q8(D,F){let Q=[],B=b7("{","}",D);if(!B)return[D];let Y=B.pre,J=B.post.length?q8(B.post,!1):[""];if(/\$$/.test(B.pre))for(let X=0;X<J.length;X++){let C=Y+"{"+B.body+"}"+J[X];Q.push(C)}else{let X=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(B.body),C=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(B.body),W=X||C,z=B.body.indexOf(",")>=0;if(!W&&!z){if(B.post.match(/,(?!,).*\}/))return D=B.pre+"{"+B.body+v7+B.post,q8(D);return[D]}let G;if(W)G=B.body.split(/\.\./);else if(G=d5(B.body),G.length===1&&G[0]!==void 0){if(G=q8(G[0],!1).map(Cz),G.length===1)return J.map((E)=>B.pre+G[0]+E)}let q;if(W&&G[0]!==void 0&&G[1]!==void 0){let E=k7(G[0]),U=k7(G[1]),A=Math.max(G[0].length,G[1].length),K=G.length===3&&G[2]!==void 0?Math.abs(k7(G[2])):1,V=zz;if(U<E)K*=-1,V=Gz;let L=G.some(Wz);q=[];for(let R=E;V(R,U);R+=K){let b;if(C){if(b=String.fromCharCode(R),b==="\\")b=""}else if(b=String(R),L){let k=A-b.length;if(k>0){let I=new Array(k+1).join("0");if(R<0)b="-"+I+b.slice(1);else b=I+b}}q.push(b)}}else{q=[];for(let E=0;E<G.length;E++)q.push.apply(q,q8(G[E],!1))}for(let E=0;E<q.length;E++)for(let U=0;U<J.length;U++){let A=Y+q[E]+J[U];if(!F||W||A)Q.push(A)}}return Q}var K8=(D)=>{if(typeof D!=="string")throw new TypeError("invalid pattern");if(D.length>65536)throw new TypeError("pattern is too long")};var qz={"[:alnum:]":["\\p{L}\\p{Nl}\\p{Nd}",!0],"[:alpha:]":["\\p{L}\\p{Nl}",!0],"[:ascii:]":["\\x00-\\x7f",!1],"[:blank:]":["\\p{Zs}\\t",!0],"[:cntrl:]":["\\p{Cc}",!0],"[:digit:]":["\\p{Nd}",!0],"[:graph:]":["\\p{Z}\\p{C}",!0,!0],"[:lower:]":["\\p{Ll}",!0],"[:print:]":["\\p{C}",!0],"[:punct:]":["\\p{P}",!0],"[:space:]":["\\p{Z}\\t\\r\\n\\v\\f",!0],"[:upper:]":["\\p{Lu}",!0],"[:word:]":["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}",!0],"[:xdigit:]":["A-Fa-f0-9",!1]},H8=(D)=>D.replace(/[[\]\\-]/g,"\\$&"),Kz=(D)=>D.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),p5=(D)=>D.join(""),n5=(D,F)=>{let Q=F;if(D.charAt(Q)!=="[")throw new Error("not in a brace expression");let B=[],Y=[],J=Q+1,X=!1,C=!1,W=!1,z=!1,G=Q,q="";D:while(J<D.length){let K=D.charAt(J);if((K==="!"||K==="^")&&J===Q+1){z=!0,J++;continue}if(K==="]"&&X&&!W){G=J+1;break}if(X=!0,K==="\\"){if(!W){W=!0,J++;continue}}if(K==="["&&!W){for(let[V,[j,L,R]]of Object.entries(qz))if(D.startsWith(V,J)){if(q)return["$.",!1,D.length-Q,!0];if(J+=V.length,R)Y.push(j);else B.push(j);C=C||L;continue D}}if(W=!1,q){if(K>q)B.push(H8(q)+"-"+H8(K));else if(K===q)B.push(H8(K));q="",J++;continue}if(D.startsWith("-]",J+1)){B.push(H8(K+"-")),J+=2;continue}if(D.startsWith("-",J+1)){q=K,J+=2;continue}B.push(H8(K)),J++}if(G<J)return["",!1,0,!1];if(!B.length&&!Y.length)return["$.",!1,D.length-Q,!0];if(Y.length===0&&B.length===1&&/^\\?.$/.test(B[0])&&!z){let K=B[0].length===2?B[0].slice(-1):B[0];return[Kz(K),!1,G-Q,!1]}let E="["+(z?"^":"")+p5(B)+"]",U="["+(z?"":"^")+p5(Y)+"]";return[B.length&&Y.length?"("+E+"|"+U+")":B.length?E:U,C,G-Q,!0]};var t0=(D,{windowsPathsNoEscape:F=!1}={})=>{return F?D.replace(/\[([^\/\\])\]/g,"$1"):D.replace(/((?!\\).|^)\[([^\/\\])\]/g,"$1$2").replace(/\\([^\/])/g,"$1")};var Hz=new Set(["!","?","+","*","@"]),i5=(D)=>Hz.has(D),Uz="(?!(?:^|/)\\.\\.?(?:$|/))",O6="(?!\\.)",Ez=new Set(["[","."]),Zz=new Set(["..","."]),Az=new Set("().*{}+?[]^$\\!"),Vz=(D)=>D.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),x7="[^/]",a5=x7+"*?",r5=x7+"+?";class Y0{type;#D;#F;#Y=!1;#X=[];#J;#M;#V;#G=!1;#C;#K;#q=!1;constructor(D,F,Q={}){if(this.type=D,D)this.#F=!0;if(this.#J=F,this.#D=this.#J?this.#J.#D:this,this.#C=this.#D===this?Q:this.#D.#C,this.#V=this.#D===this?[]:this.#D.#V,D==="!"&&!this.#D.#G)this.#V.push(this);this.#M=this.#J?this.#J.#X.length:0}get hasMagic(){if(this.#F!==void 0)return this.#F;for(let D of this.#X){if(typeof D==="string")continue;if(D.type||D.hasMagic)return this.#F=!0}return this.#F}toString(){if(this.#K!==void 0)return this.#K;if(!this.type)return this.#K=this.#X.map((D)=>String(D)).join("");else return this.#K=this.type+"("+this.#X.map((D)=>String(D)).join("|")+")"}#W(){if(this!==this.#D)throw new Error("should only call on root");if(this.#G)return this;this.toString(),this.#G=!0;let D;while(D=this.#V.pop()){if(D.type!=="!")continue;let F=D,Q=F.#J;while(Q){for(let B=F.#M+1;!Q.type&&B<Q.#X.length;B++)for(let Y of D.#X){if(typeof Y==="string")throw new Error("string part in extglob AST??");Y.copyIn(Q.#X[B])}F=Q,Q=F.#J}}return this}push(...D){for(let F of D){if(F==="")continue;if(typeof F!=="string"&&!(F instanceof Y0&&F.#J===this))throw new Error("invalid part: "+F);this.#X.push(F)}}toJSON(){let D=this.type===null?this.#X.slice().map((F)=>typeof F==="string"?F:F.toJSON()):[this.type,...this.#X.map((F)=>F.toJSON())];if(this.isStart()&&!this.type)D.unshift([]);if(this.isEnd()&&(this===this.#D||this.#D.#G&&this.#J?.type==="!"))D.push({});return D}isStart(){if(this.#D===this)return!0;if(!this.#J?.isStart())return!1;if(this.#M===0)return!0;let D=this.#J;for(let F=0;F<this.#M;F++){let Q=D.#X[F];if(!(Q instanceof Y0&&Q.type==="!"))return!1}return!0}isEnd(){if(this.#D===this)return!0;if(this.#J?.type==="!")return!0;if(!this.#J?.isEnd())return!1;if(!this.type)return this.#J?.isEnd();let D=this.#J?this.#J.#X.length:0;return this.#M===D-1}copyIn(D){if(typeof D==="string")this.push(D);else this.push(D.clone(this))}clone(D){let F=new Y0(this.type,D);for(let Q of this.#X)F.copyIn(Q);return F}static#B(D,F,Q,B){let Y=!1,J=!1,X=-1,C=!1;if(F.type===null){let E=Q,U="";while(E<D.length){let A=D.charAt(E++);if(Y||A==="\\"){Y=!Y,U+=A;continue}if(J){if(E===X+1){if(A==="^"||A==="!")C=!0}else if(A==="]"&&!(E===X+2&&C))J=!1;U+=A;continue}else if(A==="["){J=!0,X=E,C=!1,U+=A;continue}if(!B.noext&&i5(A)&&D.charAt(E)==="("){F.push(U),U="";let K=new Y0(A,F);E=Y0.#B(D,K,E,B),F.push(K);continue}U+=A}return F.push(U),E}let W=Q+1,z=new Y0(null,F),G=[],q="";while(W<D.length){let E=D.charAt(W++);if(Y||E==="\\"){Y=!Y,q+=E;continue}if(J){if(W===X+1){if(E==="^"||E==="!")C=!0}else if(E==="]"&&!(W===X+2&&C))J=!1;q+=E;continue}else if(E==="["){J=!0,X=W,C=!1,q+=E;continue}if(i5(E)&&D.charAt(W)==="("){z.push(q),q="";let U=new Y0(E,z);z.push(U),W=Y0.#B(D,U,W,B);continue}if(E==="|"){z.push(q),q="",G.push(z),z=new Y0(null,F);continue}if(E===")"){if(q===""&&F.#X.length===0)F.#q=!0;return z.push(q),q="",F.push(...G,z),W}q+=E}return F.type=null,F.#F=void 0,F.#X=[D.substring(Q-1)],W}static fromGlob(D,F={}){let Q=new Y0(null,void 0,F);return Y0.#B(D,Q,0,F),Q}toMMPattern(){if(this!==this.#D)return this.#D.toMMPattern();let D=this.toString(),[F,Q,B,Y]=this.toRegExpSource();if(!(B||this.#F||this.#C.nocase&&!this.#C.nocaseMagicOnly&&D.toUpperCase()!==D.toLowerCase()))return Q;let X=(this.#C.nocase?"i":"")+(Y?"u":"");return Object.assign(new RegExp(`^${F}$`,X),{_src:F,_glob:D})}get options(){return this.#C}toRegExpSource(D){let F=D??!!this.#C.dot;if(this.#D===this)this.#W();if(!this.type){let C=this.isStart()&&this.isEnd(),W=this.#X.map((E)=>{let[U,A,K,V]=typeof E==="string"?Y0.#N(E,this.#F,C):E.toRegExpSource(D);return this.#F=this.#F||K,this.#Y=this.#Y||V,U}).join(""),z="";if(this.isStart()){if(typeof this.#X[0]==="string"){if(!(this.#X.length===1&&Zz.has(this.#X[0]))){let U=Ez,A=F&&U.has(W.charAt(0))||W.startsWith("\\.")&&U.has(W.charAt(2))||W.startsWith("\\.\\.")&&U.has(W.charAt(4)),K=!F&&!D&&U.has(W.charAt(0));z=A?Uz:K?O6:""}}}let G="";if(this.isEnd()&&this.#D.#G&&this.#J?.type==="!")G="(?:$|\\/)";return[z+W+G,t0(W),this.#F=!!this.#F,this.#Y]}let Q=this.type==="*"||this.type==="+",B=this.type==="!"?"(?:(?!(?:":"(?:",Y=this.#U(F);if(this.isStart()&&this.isEnd()&&!Y&&this.type!=="!"){let C=this.toString();return this.#X=[C],this.type=null,this.#F=void 0,[C,t0(this.toString()),!1,!1]}let J=!Q||D||F||!O6?"":this.#U(!0);if(J===Y)J="";if(J)Y=`(?:${Y})(?:${J})*?`;let X="";if(this.type==="!"&&this.#q)X=(this.isStart()&&!F?O6:"")+r5;else{let C=this.type==="!"?"))"+(this.isStart()&&!F&&!D?O6:"")+a5+")":this.type==="@"?")":this.type==="?"?")?":this.type==="+"&&J?")":this.type==="*"&&J?")?":`)${this.type}`;X=B+Y+C}return[X,t0(Y),this.#F=!!this.#F,this.#Y]}#U(D){return this.#X.map((F)=>{if(typeof F==="string")throw new Error("string type in extglob ast??");let[Q,B,Y,J]=F.toRegExpSource(D);return this.#Y=this.#Y||J,Q}).filter((F)=>!(this.isStart()&&this.isEnd())||!!F).join("|")}static#N(D,F,Q=!1){let B=!1,Y="",J=!1;for(let X=0;X<D.length;X++){let C=D.charAt(X);if(B){B=!1,Y+=(Az.has(C)?"\\":"")+C;continue}if(C==="\\"){if(X===D.length-1)Y+="\\\\";else B=!0;continue}if(C==="["){let[W,z,G,q]=n5(D,X);if(G){Y+=W,J=J||z,X+=G-1,F=F||q;continue}}if(C==="*"){if(Q&&D==="*")Y+=r5;else Y+=a5;F=!0;continue}if(C==="?"){Y+=x7,F=!0;continue}Y+=Vz(C)}return[Y,t0(D),!!F,J]}}var M2=(D,{windowsPathsNoEscape:F=!1}={})=>{return F?D.replace(/[?*()[\]]/g,"[$&]"):D.replace(/[?*()[\]\\]/g,"\\$&")};var Z0=(D,F,Q={})=>{if(K8(F),!Q.nocomment&&F.charAt(0)==="#")return!1;return new h0(F,Q).match(D)},Lz=/^\*+([^+@!?\*\[\(]*)$/,Mz=(D)=>(F)=>!F.startsWith(".")&&F.endsWith(D),Nz=(D)=>(F)=>F.endsWith(D),jz=(D)=>{return D=D.toLowerCase(),(F)=>!F.startsWith(".")&&F.toLowerCase().endsWith(D)},Rz=(D)=>{return D=D.toLowerCase(),(F)=>F.toLowerCase().endsWith(D)},_z=/^\*+\.\*+$/,Oz=(D)=>!D.startsWith(".")&&D.includes("."),Iz=(D)=>D!=="."&&D!==".."&&D.includes("."),wz=/^\.\*+$/,Tz=(D)=>D!=="."&&D!==".."&&D.startsWith("."),Pz=/^\*+$/,Sz=(D)=>D.length!==0&&!D.startsWith("."),bz=(D)=>D.length!==0&&D!=="."&&D!=="..",kz=/^\?+([^+@!?\*\[\(]*)?$/,vz=([D,F=""])=>{let Q=t5([D]);if(!F)return Q;return F=F.toLowerCase(),(B)=>Q(B)&&B.toLowerCase().endsWith(F)},xz=([D,F=""])=>{let Q=e5([D]);if(!F)return Q;return F=F.toLowerCase(),(B)=>Q(B)&&B.toLowerCase().endsWith(F)},uz=([D,F=""])=>{let Q=e5([D]);return!F?Q:(B)=>Q(B)&&B.endsWith(F)},yz=([D,F=""])=>{let Q=t5([D]);return!F?Q:(B)=>Q(B)&&B.endsWith(F)},t5=([D])=>{let F=D.length;return(Q)=>Q.length===F&&!Q.startsWith(".")},e5=([D])=>{let F=D.length;return(Q)=>Q.length===F&&Q!=="."&&Q!==".."},DB=typeof process==="object"&&process?typeof process.env==="object"&&process.env&&process.env.__MINIMATCH_TESTING_PLATFORM__||process.platform:"posix",o5={win32:{sep:"\\"},posix:{sep:"/"}},fz=DB==="win32"?o5.win32.sep:o5.posix.sep;Z0.sep=fz;var J0=Symbol("globstar **");Z0.GLOBSTAR=J0;var gz="[^/]",$z=gz+"*?",hz="(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?",mz="(?:(?!(?:\\/|^)\\.).)*?",lz=(D,F={})=>(Q)=>Z0(Q,D,F);Z0.filter=lz;var $0=(D,F={})=>Object.assign({},D,F),dz=(D)=>{if(!D||typeof D!=="object"||!Object.keys(D).length)return Z0;let F=Z0;return Object.assign((B,Y,J={})=>F(B,Y,$0(D,J)),{Minimatch:class B extends F.Minimatch{constructor(Y,J={}){super(Y,$0(D,J))}static defaults(Y){return F.defaults($0(D,Y)).Minimatch}},AST:class B extends F.AST{constructor(Y,J,X={}){super(Y,J,$0(D,X))}static fromGlob(Y,J={}){return F.AST.fromGlob(Y,$0(D,J))}},unescape:(B,Y={})=>F.unescape(B,$0(D,Y)),escape:(B,Y={})=>F.escape(B,$0(D,Y)),filter:(B,Y={})=>F.filter(B,$0(D,Y)),defaults:(B)=>F.defaults($0(D,B)),makeRe:(B,Y={})=>F.makeRe(B,$0(D,Y)),braceExpand:(B,Y={})=>F.braceExpand(B,$0(D,Y)),match:(B,Y,J={})=>F.match(B,Y,$0(D,J)),sep:F.sep,GLOBSTAR:J0})};Z0.defaults=dz;var FB=(D,F={})=>{if(K8(D),F.nobrace||!/\{(?:(?!\{).)*\}/.test(D))return[D];return c5(D)};Z0.braceExpand=FB;var cz=(D,F={})=>new h0(D,F).makeRe();Z0.makeRe=cz;var pz=(D,F,Q={})=>{let B=new h0(F,Q);if(D=D.filter((Y)=>B.match(Y)),B.options.nonull&&!D.length)D.push(F);return D};Z0.match=pz;var s5=/[?*]|[+@!]\(.*?\)|\[|\]/,nz=(D)=>D.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&");class h0{options;set;pattern;windowsPathsNoEscape;nonegate;negate;comment;empty;preserveMultipleSlashes;partial;globSet;globParts;nocase;isWindows;platform;windowsNoMagicRoot;regexp;constructor(D,F={}){if(K8(D),F=F||{},this.options=F,this.pattern=D,this.platform=F.platform||DB,this.isWindows=this.platform==="win32",this.windowsPathsNoEscape=!!F.windowsPathsNoEscape||F.allowWindowsEscape===!1,this.windowsPathsNoEscape)this.pattern=this.pattern.replace(/\\/g,"/");this.preserveMultipleSlashes=!!F.preserveMultipleSlashes,this.regexp=null,this.negate=!1,this.nonegate=!!F.nonegate,this.comment=!1,this.empty=!1,this.partial=!!F.partial,this.nocase=!!this.options.nocase,this.windowsNoMagicRoot=F.windowsNoMagicRoot!==void 0?F.windowsNoMagicRoot:!!(this.isWindows&&this.nocase),this.globSet=[],this.globParts=[],this.set=[],this.make()}hasMagic(){if(this.options.magicalBraces&&this.set.length>1)return!0;for(let D of this.set)for(let F of D)if(typeof F!=="string")return!0;return!1}debug(...D){}make(){let D=this.pattern,F=this.options;if(!F.nocomment&&D.charAt(0)==="#"){this.comment=!0;return}if(!D){this.empty=!0;return}if(this.parseNegate(),this.globSet=[...new Set(this.braceExpand())],F.debug)this.debug=(...Y)=>console.error(...Y);this.debug(this.pattern,this.globSet);let Q=this.globSet.map((Y)=>this.slashSplit(Y));this.globParts=this.preprocess(Q),this.debug(this.pattern,this.globParts);let B=this.globParts.map((Y,J,X)=>{if(this.isWindows&&this.windowsNoMagicRoot){let C=Y[0]===""&&Y[1]===""&&(Y[2]==="?"||!s5.test(Y[2]))&&!s5.test(Y[3]),W=/^[a-z]:/i.test(Y[0]);if(C)return[...Y.slice(0,4),...Y.slice(4).map((z)=>this.parse(z))];else if(W)return[Y[0],...Y.slice(1).map((z)=>this.parse(z))]}return Y.map((C)=>this.parse(C))});if(this.debug(this.pattern,B),this.set=B.filter((Y)=>Y.indexOf(!1)===-1),this.isWindows)for(let Y=0;Y<this.set.length;Y++){let J=this.set[Y];if(J[0]===""&&J[1]===""&&this.globParts[Y][2]==="?"&&typeof J[3]==="string"&&/^[a-z]:$/i.test(J[3]))J[2]="?"}this.debug(this.pattern,this.set)}preprocess(D){if(this.options.noglobstar){for(let Q=0;Q<D.length;Q++)for(let B=0;B<D[Q].length;B++)if(D[Q][B]==="**")D[Q][B]="*"}let{optimizationLevel:F=1}=this.options;if(F>=2)D=this.firstPhasePreProcess(D),D=this.secondPhasePreProcess(D);else if(F>=1)D=this.levelOneOptimize(D);else D=this.adjascentGlobstarOptimize(D);return D}adjascentGlobstarOptimize(D){return D.map((F)=>{let Q=-1;while((Q=F.indexOf("**",Q+1))!==-1){let B=Q;while(F[B+1]==="**")B++;if(B!==Q)F.splice(Q,B-Q)}return F})}levelOneOptimize(D){return D.map((F)=>{return F=F.reduce((Q,B)=>{let Y=Q[Q.length-1];if(B==="**"&&Y==="**")return Q;if(B===".."){if(Y&&Y!==".."&&Y!=="."&&Y!=="**")return Q.pop(),Q}return Q.push(B),Q},[]),F.length===0?[""]:F})}levelTwoFileOptimize(D){if(!Array.isArray(D))D=this.slashSplit(D);let F=!1;do{if(F=!1,!this.preserveMultipleSlashes){for(let B=1;B<D.length-1;B++){let Y=D[B];if(B===1&&Y===""&&D[0]==="")continue;if(Y==="."||Y==="")F=!0,D.splice(B,1),B--}if(D[0]==="."&&D.length===2&&(D[1]==="."||D[1]===""))F=!0,D.pop()}let Q=0;while((Q=D.indexOf("..",Q+1))!==-1){let B=D[Q-1];if(B&&B!=="."&&B!==".."&&B!=="**")F=!0,D.splice(Q-1,2),Q-=2}}while(F);return D.length===0?[""]:D}firstPhasePreProcess(D){let F=!1;do{F=!1;for(let Q of D){let B=-1;while((B=Q.indexOf("**",B+1))!==-1){let J=B;while(Q[J+1]==="**")J++;if(J>B)Q.splice(B+1,J-B);let X=Q[B+1],C=Q[B+2],W=Q[B+3];if(X!=="..")continue;if(!C||C==="."||C===".."||!W||W==="."||W==="..")continue;F=!0,Q.splice(B,1);let z=Q.slice(0);z[B]="**",D.push(z),B--}if(!this.preserveMultipleSlashes){for(let J=1;J<Q.length-1;J++){let X=Q[J];if(J===1&&X===""&&Q[0]==="")continue;if(X==="."||X==="")F=!0,Q.splice(J,1),J--}if(Q[0]==="."&&Q.length===2&&(Q[1]==="."||Q[1]===""))F=!0,Q.pop()}let Y=0;while((Y=Q.indexOf("..",Y+1))!==-1){let J=Q[Y-1];if(J&&J!=="."&&J!==".."&&J!=="**"){F=!0;let C=Y===1&&Q[Y+1]==="**"?["."]:[];if(Q.splice(Y-1,2,...C),Q.length===0)Q.push("");Y-=2}}}}while(F);return D}secondPhasePreProcess(D){for(let F=0;F<D.length-1;F++)for(let Q=F+1;Q<D.length;Q++){let B=this.partsMatch(D[F],D[Q],!this.preserveMultipleSlashes);if(B){D[F]=[],D[Q]=B;break}}return D.filter((F)=>F.length)}partsMatch(D,F,Q=!1){let B=0,Y=0,J=[],X="";while(B<D.length&&Y<F.length)if(D[B]===F[Y])J.push(X==="b"?F[Y]:D[B]),B++,Y++;else if(Q&&D[B]==="**"&&F[Y]===D[B+1])J.push(D[B]),B++;else if(Q&&F[Y]==="**"&&D[B]===F[Y+1])J.push(F[Y]),Y++;else if(D[B]==="*"&&F[Y]&&(this.options.dot||!F[Y].startsWith("."))&&F[Y]!=="**"){if(X==="b")return!1;X="a",J.push(D[B]),B++,Y++}else if(F[Y]==="*"&&D[B]&&(this.options.dot||!D[B].startsWith("."))&&D[B]!=="**"){if(X==="a")return!1;X="b",J.push(F[Y]),B++,Y++}else return!1;return D.length===F.length&&J}parseNegate(){if(this.nonegate)return;let D=this.pattern,F=!1,Q=0;for(let B=0;B<D.length&&D.charAt(B)==="!";B++)F=!F,Q++;if(Q)this.pattern=D.slice(Q);this.negate=F}matchOne(D,F,Q=!1){let B=this.options;if(this.isWindows){let A=typeof D[0]==="string"&&/^[a-z]:$/i.test(D[0]),K=!A&&D[0]===""&&D[1]===""&&D[2]==="?"&&/^[a-z]:$/i.test(D[3]),V=typeof F[0]==="string"&&/^[a-z]:$/i.test(F[0]),j=!V&&F[0]===""&&F[1]===""&&F[2]==="?"&&typeof F[3]==="string"&&/^[a-z]:$/i.test(F[3]),L=K?3:A?0:void 0,R=j?3:V?0:void 0;if(typeof L==="number"&&typeof R==="number"){let[b,k]=[D[L],F[R]];if(b.toLowerCase()===k.toLowerCase()){if(F[R]=b,R>L)F=F.slice(R);else if(L>R)D=D.slice(L)}}}let{optimizationLevel:Y=1}=this.options;if(Y>=2)D=this.levelTwoFileOptimize(D);this.debug("matchOne",this,{file:D,pattern:F}),this.debug("matchOne",D.length,F.length);for(var J=0,X=0,C=D.length,W=F.length;J<C&&X<W;J++,X++){this.debug("matchOne loop");var z=F[X],G=D[J];if(this.debug(F,z,G),z===!1)return!1;if(z===J0){this.debug("GLOBSTAR",[F,z,G]);var q=J,E=X+1;if(E===W){this.debug("** at the end");for(;J<C;J++)if(D[J]==="."||D[J]===".."||!B.dot&&D[J].charAt(0)===".")return!1;return!0}while(q<C){var U=D[q];if(this.debug(`
|
||
globstar while`,D,q,F,E,U),this.matchOne(D.slice(q),F.slice(E),Q))return this.debug("globstar found match!",q,C,U),!0;else{if(U==="."||U===".."||!B.dot&&U.charAt(0)==="."){this.debug("dot detected!",D,q,F,E);break}this.debug("globstar swallow a segment, and continue"),q++}}if(Q){if(this.debug(`
|
||
>>> no match, partial?`,D,q,F,E),q===C)return!0}return!1}let A;if(typeof z==="string")A=G===z,this.debug("string match",z,G,A);else A=z.test(G),this.debug("pattern match",z,G,A);if(!A)return!1}if(J===C&&X===W)return!0;else if(J===C)return Q;else if(X===W)return J===C-1&&D[J]==="";else throw new Error("wtf?")}braceExpand(){return FB(this.pattern,this.options)}parse(D){K8(D);let F=this.options;if(D==="**")return J0;if(D==="")return"";let Q,B=null;if(Q=D.match(Pz))B=F.dot?bz:Sz;else if(Q=D.match(Lz))B=(F.nocase?F.dot?Rz:jz:F.dot?Nz:Mz)(Q[1]);else if(Q=D.match(kz))B=(F.nocase?F.dot?xz:vz:F.dot?uz:yz)(Q);else if(Q=D.match(_z))B=F.dot?Iz:Oz;else if(Q=D.match(wz))B=Tz;let Y=Y0.fromGlob(D,this.options).toMMPattern();if(B&&typeof Y==="object")Reflect.defineProperty(Y,"test",{value:B});return Y}makeRe(){if(this.regexp||this.regexp===!1)return this.regexp;let D=this.set;if(!D.length)return this.regexp=!1,this.regexp;let F=this.options,Q=F.noglobstar?$z:F.dot?hz:mz,B=new Set(F.nocase?["i"]:[]),Y=D.map((C)=>{let W=C.map((z)=>{if(z instanceof RegExp)for(let G of z.flags.split(""))B.add(G);return typeof z==="string"?nz(z):z===J0?J0:z._src});return W.forEach((z,G)=>{let q=W[G+1],E=W[G-1];if(z!==J0||E===J0)return;if(E===void 0)if(q!==void 0&&q!==J0)W[G+1]="(?:\\/|"+Q+"\\/)?"+q;else W[G]=Q;else if(q===void 0)W[G-1]=E+"(?:\\/|"+Q+")?";else if(q!==J0)W[G-1]=E+"(?:\\/|\\/"+Q+"\\/)"+q,W[G+1]=J0}),W.filter((z)=>z!==J0).join("/")}).join("|"),[J,X]=D.length>1?["(?:",")"]:["",""];if(Y="^"+J+Y+X+"$",this.negate)Y="^(?!"+Y+").+$";try{this.regexp=new RegExp(Y,[...B].join(""))}catch(C){this.regexp=!1}return this.regexp}slashSplit(D){if(this.preserveMultipleSlashes)return D.split("/");else if(this.isWindows&&/^\/\/[^\/]+/.test(D))return["",...D.split(/\/+/)];else return D.split(/\/+/)}match(D,F=this.partial){if(this.debug("match",D,this.pattern),this.comment)return!1;if(this.empty)return D==="";if(D==="/"&&F)return!0;let Q=this.options;if(this.isWindows)D=D.split("\\").join("/");let B=this.slashSplit(D);this.debug(this.pattern,"split",B);let Y=this.set;this.debug(this.pattern,"set",Y);let J=B[B.length-1];if(!J)for(let X=B.length-2;!J&&X>=0;X--)J=B[X];for(let X=0;X<Y.length;X++){let C=Y[X],W=B;if(Q.matchBase&&C.length===1)W=[J];if(this.matchOne(W,C,F)){if(Q.flipNegate)return!0;return!this.negate}}if(Q.flipNegate)return!1;return this.negate}static defaults(D){return Z0.defaults(D).Minimatch}}Z0.AST=Y0;Z0.Minimatch=h0;Z0.escape=M2;Z0.unescape=t0;import{fileURLToPath as OG}from"node:url";var iz=typeof performance==="object"&&performance&&typeof performance.now==="function"?performance:Date,QB=new Set,u7=typeof process==="object"&&!!process?process:{},XB=(D,F,Q,B)=>{typeof u7.emitWarning==="function"?u7.emitWarning(D,F,Q,B):console.error(`[${Q}] ${F}: ${D}`)},I6=globalThis.AbortController,BB=globalThis.AbortSignal;if(typeof I6==="undefined"){BB=class Q{onabort;_onabort=[];reason;aborted=!1;addEventListener(B,Y){this._onabort.push(Y)}},I6=class Q{constructor(){F()}signal=new BB;abort(B){if(this.signal.aborted)return;this.signal.reason=B,this.signal.aborted=!0;for(let Y of this.signal._onabort)Y(B);this.signal.onabort?.(B)}};let D=u7.env?.LRU_CACHE_IGNORE_AC_WARNING!=="1",F=()=>{if(!D)return;D=!1,XB("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.","NO_ABORT_CONTROLLER","ENOTSUP",F)}}var az=(D)=>!QB.has(D),XL=Symbol("type"),bF=(D)=>D&&D===Math.floor(D)&&D>0&&isFinite(D),YB=(D)=>!bF(D)?null:D<=Math.pow(2,8)?Uint8Array:D<=Math.pow(2,16)?Uint16Array:D<=Math.pow(2,32)?Uint32Array:D<=Number.MAX_SAFE_INTEGER?U8:null;class U8 extends Array{constructor(D){super(D);this.fill(0)}}class N2{heap;length;static#D=!1;static create(D){let F=YB(D);if(!F)return[];N2.#D=!0;let Q=new N2(D,F);return N2.#D=!1,Q}constructor(D,F){if(!N2.#D)throw new TypeError("instantiate Stack using Stack.create(n)");this.heap=new F(D),this.length=0}push(D){this.heap[this.length++]=D}pop(){return this.heap[--this.length]}}class E8{#D;#F;#Y;#X;#J;#M;#V;#G;get perf(){return this.#G}ttl;ttlResolution;ttlAutopurge;updateAgeOnGet;updateAgeOnHas;allowStale;noDisposeOnSet;noUpdateTTL;maxEntrySize;sizeCalculation;noDeleteOnFetchRejection;noDeleteOnStaleGet;allowStaleOnFetchAbort;allowStaleOnFetchRejection;ignoreFetchAbort;#C;#K;#q;#W;#B;#U;#N;#L;#E;#T;#Z;#R;#I;#A;#j;#w;#H;#Q;static unsafeExposeInternals(D){return{starts:D.#I,ttls:D.#A,sizes:D.#R,keyMap:D.#q,keyList:D.#W,valList:D.#B,next:D.#U,prev:D.#N,get head(){return D.#L},get tail(){return D.#E},free:D.#T,isBackgroundFetch:(F)=>D.#z(F),backgroundFetch:(F,Q,B,Y)=>D.#d(F,Q,B,Y),moveToTail:(F)=>D.#f(F),indexes:(F)=>D.#S(F),rindexes:(F)=>D.#k(F),isStale:(F)=>D.#O(F)}}get max(){return this.#D}get maxSize(){return this.#F}get calculatedSize(){return this.#K}get size(){return this.#C}get fetchMethod(){return this.#M}get memoMethod(){return this.#V}get dispose(){return this.#Y}get onInsert(){return this.#X}get disposeAfter(){return this.#J}constructor(D){let{max:F=0,ttl:Q,ttlResolution:B=1,ttlAutopurge:Y,updateAgeOnGet:J,updateAgeOnHas:X,allowStale:C,dispose:W,onInsert:z,disposeAfter:G,noDisposeOnSet:q,noUpdateTTL:E,maxSize:U=0,maxEntrySize:A=0,sizeCalculation:K,fetchMethod:V,memoMethod:j,noDeleteOnFetchRejection:L,noDeleteOnStaleGet:R,allowStaleOnFetchRejection:b,allowStaleOnFetchAbort:k,ignoreFetchAbort:I,perf:u}=D;if(u!==void 0){if(typeof u?.now!=="function")throw new TypeError("perf option must have a now() method if specified")}if(this.#G=u??iz,F!==0&&!bF(F))throw new TypeError("max option must be a nonnegative integer");let f=F?YB(F):Array;if(!f)throw new Error("invalid max value: "+F);if(this.#D=F,this.#F=U,this.maxEntrySize=A||this.#F,this.sizeCalculation=K,this.sizeCalculation){if(!this.#F&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if(typeof this.sizeCalculation!=="function")throw new TypeError("sizeCalculation set to non-function")}if(j!==void 0&&typeof j!=="function")throw new TypeError("memoMethod must be a function if defined");if(this.#V=j,V!==void 0&&typeof V!=="function")throw new TypeError("fetchMethod must be a function if specified");if(this.#M=V,this.#w=!!V,this.#q=new Map,this.#W=new Array(F).fill(void 0),this.#B=new Array(F).fill(void 0),this.#U=new f(F),this.#N=new f(F),this.#L=0,this.#E=0,this.#T=N2.create(F),this.#C=0,this.#K=0,typeof W==="function")this.#Y=W;if(typeof z==="function")this.#X=z;if(typeof G==="function")this.#J=G,this.#Z=[];else this.#J=void 0,this.#Z=void 0;if(this.#j=!!this.#Y,this.#Q=!!this.#X,this.#H=!!this.#J,this.noDisposeOnSet=!!q,this.noUpdateTTL=!!E,this.noDeleteOnFetchRejection=!!L,this.allowStaleOnFetchRejection=!!b,this.allowStaleOnFetchAbort=!!k,this.ignoreFetchAbort=!!I,this.maxEntrySize!==0){if(this.#F!==0){if(!bF(this.#F))throw new TypeError("maxSize must be a positive integer if specified")}if(!bF(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");this.#g()}if(this.allowStale=!!C,this.noDeleteOnStaleGet=!!R,this.updateAgeOnGet=!!J,this.updateAgeOnHas=!!X,this.ttlResolution=bF(B)||B===0?B:1,this.ttlAutopurge=!!Y,this.ttl=Q||0,this.ttl){if(!bF(this.ttl))throw new TypeError("ttl must be a positive integer if specified");this.#v()}if(this.#D===0&&this.ttl===0&&this.#F===0)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!this.#D&&!this.#F){if(az("LRU_CACHE_UNBOUNDED"))QB.add("LRU_CACHE_UNBOUNDED"),XB("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning","LRU_CACHE_UNBOUNDED",E8)}}getRemainingTTL(D){return this.#q.has(D)?1/0:0}#v(){let D=new U8(this.#D),F=new U8(this.#D);this.#A=D,this.#I=F,this.#m=(Y,J,X=this.#G.now())=>{if(F[Y]=J!==0?X:0,D[Y]=J,J!==0&&this.ttlAutopurge){let C=setTimeout(()=>{if(this.#O(Y))this.#b(this.#W[Y],"expire")},J+1);if(C.unref)C.unref()}},this.#P=(Y)=>{F[Y]=D[Y]!==0?this.#G.now():0},this.#_=(Y,J)=>{if(D[J]){let X=D[J],C=F[J];if(!X||!C)return;Y.ttl=X,Y.start=C,Y.now=Q||B();let W=Y.now-C;Y.remainingTTL=X-W}};let Q=0,B=()=>{let Y=this.#G.now();if(this.ttlResolution>0){Q=Y;let J=setTimeout(()=>Q=0,this.ttlResolution);if(J.unref)J.unref()}return Y};this.getRemainingTTL=(Y)=>{let J=this.#q.get(Y);if(J===void 0)return 0;let X=D[J],C=F[J];if(!X||!C)return 1/0;let W=(Q||B())-C;return X-W},this.#O=(Y)=>{let J=F[Y],X=D[Y];return!!X&&!!J&&(Q||B())-J>X}}#P=()=>{};#_=()=>{};#m=()=>{};#O=()=>!1;#g(){let D=new U8(this.#D);this.#K=0,this.#R=D,this.#x=(F)=>{this.#K-=D[F],D[F]=0},this.#u=(F,Q,B,Y)=>{if(this.#z(Q))return 0;if(!bF(B))if(Y){if(typeof Y!=="function")throw new TypeError("sizeCalculation must be a function");if(B=Y(Q,F),!bF(B))throw new TypeError("sizeCalculation return invalid (expect positive integer)")}else throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");return B},this.#$=(F,Q,B)=>{if(D[F]=Q,this.#F){let Y=this.#F-D[F];while(this.#K>Y)this.#y(!0)}if(this.#K+=D[F],B)B.entrySize=Q,B.totalCalculatedSize=this.#K}}#x=(D)=>{};#$=(D,F,Q)=>{};#u=(D,F,Q,B)=>{if(Q||B)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");return 0};*#S({allowStale:D=this.allowStale}={}){if(this.#C)for(let F=this.#E;;){if(!this.#l(F))break;if(D||!this.#O(F))yield F;if(F===this.#L)break;else F=this.#N[F]}}*#k({allowStale:D=this.allowStale}={}){if(this.#C)for(let F=this.#L;;){if(!this.#l(F))break;if(D||!this.#O(F))yield F;if(F===this.#E)break;else F=this.#U[F]}}#l(D){return D!==void 0&&this.#q.get(this.#W[D])===D}*entries(){for(let D of this.#S())if(this.#B[D]!==void 0&&this.#W[D]!==void 0&&!this.#z(this.#B[D]))yield[this.#W[D],this.#B[D]]}*rentries(){for(let D of this.#k())if(this.#B[D]!==void 0&&this.#W[D]!==void 0&&!this.#z(this.#B[D]))yield[this.#W[D],this.#B[D]]}*keys(){for(let D of this.#S()){let F=this.#W[D];if(F!==void 0&&!this.#z(this.#B[D]))yield F}}*rkeys(){for(let D of this.#k()){let F=this.#W[D];if(F!==void 0&&!this.#z(this.#B[D]))yield F}}*values(){for(let D of this.#S())if(this.#B[D]!==void 0&&!this.#z(this.#B[D]))yield this.#B[D]}*rvalues(){for(let D of this.#k())if(this.#B[D]!==void 0&&!this.#z(this.#B[D]))yield this.#B[D]}[Symbol.iterator](){return this.entries()}[Symbol.toStringTag]="LRUCache";find(D,F={}){for(let Q of this.#S()){let B=this.#B[Q],Y=this.#z(B)?B.__staleWhileFetching:B;if(Y===void 0)continue;if(D(Y,this.#W[Q],this))return this.get(this.#W[Q],F)}}forEach(D,F=this){for(let Q of this.#S()){let B=this.#B[Q],Y=this.#z(B)?B.__staleWhileFetching:B;if(Y===void 0)continue;D.call(F,Y,this.#W[Q],this)}}rforEach(D,F=this){for(let Q of this.#k()){let B=this.#B[Q],Y=this.#z(B)?B.__staleWhileFetching:B;if(Y===void 0)continue;D.call(F,Y,this.#W[Q],this)}}purgeStale(){let D=!1;for(let F of this.#k({allowStale:!0}))if(this.#O(F))this.#b(this.#W[F],"expire"),D=!0;return D}info(D){let F=this.#q.get(D);if(F===void 0)return;let Q=this.#B[F],B=this.#z(Q)?Q.__staleWhileFetching:Q;if(B===void 0)return;let Y={value:B};if(this.#A&&this.#I){let J=this.#A[F],X=this.#I[F];if(J&&X){let C=J-(this.#G.now()-X);Y.ttl=C,Y.start=Date.now()}}if(this.#R)Y.size=this.#R[F];return Y}dump(){let D=[];for(let F of this.#S({allowStale:!0})){let Q=this.#W[F],B=this.#B[F],Y=this.#z(B)?B.__staleWhileFetching:B;if(Y===void 0||Q===void 0)continue;let J={value:Y};if(this.#A&&this.#I){J.ttl=this.#A[F];let X=this.#G.now()-this.#I[F];J.start=Math.floor(Date.now()-X)}if(this.#R)J.size=this.#R[F];D.unshift([Q,J])}return D}load(D){this.clear();for(let[F,Q]of D){if(Q.start){let B=Date.now()-Q.start;Q.start=this.#G.now()-B}this.set(F,Q.value,Q)}}set(D,F,Q={}){if(F===void 0)return this.delete(D),this;let{ttl:B=this.ttl,start:Y,noDisposeOnSet:J=this.noDisposeOnSet,sizeCalculation:X=this.sizeCalculation,status:C}=Q,{noUpdateTTL:W=this.noUpdateTTL}=Q,z=this.#u(D,F,Q.size||0,X);if(this.maxEntrySize&&z>this.maxEntrySize){if(C)C.set="miss",C.maxEntrySizeExceeded=!0;return this.#b(D,"set"),this}let G=this.#C===0?void 0:this.#q.get(D);if(G===void 0){if(G=this.#C===0?this.#E:this.#T.length!==0?this.#T.pop():this.#C===this.#D?this.#y(!1):this.#C,this.#W[G]=D,this.#B[G]=F,this.#q.set(D,G),this.#U[this.#E]=G,this.#N[G]=this.#E,this.#E=G,this.#C++,this.#$(G,z,C),C)C.set="add";if(W=!1,this.#Q)this.#X?.(F,D,"add")}else{this.#f(G);let q=this.#B[G];if(F!==q){if(this.#w&&this.#z(q)){q.__abortController.abort(new Error("replaced"));let{__staleWhileFetching:E}=q;if(E!==void 0&&!J){if(this.#j)this.#Y?.(E,D,"set");if(this.#H)this.#Z?.push([E,D,"set"])}}else if(!J){if(this.#j)this.#Y?.(q,D,"set");if(this.#H)this.#Z?.push([q,D,"set"])}if(this.#x(G),this.#$(G,z,C),this.#B[G]=F,C){C.set="replace";let E=q&&this.#z(q)?q.__staleWhileFetching:q;if(E!==void 0)C.oldValue=E}}else if(C)C.set="update";if(this.#Q)this.onInsert?.(F,D,F===q?"update":"replace")}if(B!==0&&!this.#A)this.#v();if(this.#A){if(!W)this.#m(G,B,Y);if(C)this.#_(C,G)}if(!J&&this.#H&&this.#Z){let q=this.#Z,E;while(E=q?.shift())this.#J?.(...E)}return this}pop(){try{while(this.#C){let D=this.#B[this.#L];if(this.#y(!0),this.#z(D)){if(D.__staleWhileFetching)return D.__staleWhileFetching}else if(D!==void 0)return D}}finally{if(this.#H&&this.#Z){let D=this.#Z,F;while(F=D?.shift())this.#J?.(...F)}}}#y(D){let F=this.#L,Q=this.#W[F],B=this.#B[F];if(this.#w&&this.#z(B))B.__abortController.abort(new Error("evicted"));else if(this.#j||this.#H){if(this.#j)this.#Y?.(B,Q,"evict");if(this.#H)this.#Z?.push([B,Q,"evict"])}if(this.#x(F),D)this.#W[F]=void 0,this.#B[F]=void 0,this.#T.push(F);if(this.#C===1)this.#L=this.#E=0,this.#T.length=0;else this.#L=this.#U[F];return this.#q.delete(Q),this.#C--,F}has(D,F={}){let{updateAgeOnHas:Q=this.updateAgeOnHas,status:B}=F,Y=this.#q.get(D);if(Y!==void 0){let J=this.#B[Y];if(this.#z(J)&&J.__staleWhileFetching===void 0)return!1;if(!this.#O(Y)){if(Q)this.#P(Y);if(B)B.has="hit",this.#_(B,Y);return!0}else if(B)B.has="stale",this.#_(B,Y)}else if(B)B.has="miss";return!1}peek(D,F={}){let{allowStale:Q=this.allowStale}=F,B=this.#q.get(D);if(B===void 0||!Q&&this.#O(B))return;let Y=this.#B[B];return this.#z(Y)?Y.__staleWhileFetching:Y}#d(D,F,Q,B){let Y=F===void 0?void 0:this.#B[F];if(this.#z(Y))return Y;let J=new I6,{signal:X}=Q;X?.addEventListener("abort",()=>J.abort(X.reason),{signal:J.signal});let C={signal:J.signal,options:Q,context:B},W=(A,K=!1)=>{let{aborted:V}=J.signal,j=Q.ignoreFetchAbort&&A!==void 0;if(Q.status)if(V&&!K){if(Q.status.fetchAborted=!0,Q.status.fetchError=J.signal.reason,j)Q.status.fetchAbortIgnored=!0}else Q.status.fetchResolved=!0;if(V&&!j&&!K)return G(J.signal.reason);let L=E;if(this.#B[F]===E)if(A===void 0)if(L.__staleWhileFetching!==void 0)this.#B[F]=L.__staleWhileFetching;else this.#b(D,"fetch");else{if(Q.status)Q.status.fetchUpdated=!0;this.set(D,A,C.options)}return A},z=(A)=>{if(Q.status)Q.status.fetchRejected=!0,Q.status.fetchError=A;return G(A)},G=(A)=>{let{aborted:K}=J.signal,V=K&&Q.allowStaleOnFetchAbort,j=V||Q.allowStaleOnFetchRejection,L=j||Q.noDeleteOnFetchRejection,R=E;if(this.#B[F]===E){if(!L||R.__staleWhileFetching===void 0)this.#b(D,"fetch");else if(!V)this.#B[F]=R.__staleWhileFetching}if(j){if(Q.status&&R.__staleWhileFetching!==void 0)Q.status.returnedStale=!0;return R.__staleWhileFetching}else if(R.__returned===R)throw A},q=(A,K)=>{let V=this.#M?.(D,Y,C);if(V&&V instanceof Promise)V.then((j)=>A(j===void 0?void 0:j),K);J.signal.addEventListener("abort",()=>{if(!Q.ignoreFetchAbort||Q.allowStaleOnFetchAbort){if(A(void 0),Q.allowStaleOnFetchAbort)A=(j)=>W(j,!0)}})};if(Q.status)Q.status.fetchDispatched=!0;let E=new Promise(q).then(W,z),U=Object.assign(E,{__abortController:J,__staleWhileFetching:Y,__returned:void 0});if(F===void 0)this.set(D,U,{...C.options,status:void 0}),F=this.#q.get(D);else this.#B[F]=U;return U}#z(D){if(!this.#w)return!1;let F=D;return!!F&&F instanceof Promise&&F.hasOwnProperty("__staleWhileFetching")&&F.__abortController instanceof I6}async fetch(D,F={}){let{allowStale:Q=this.allowStale,updateAgeOnGet:B=this.updateAgeOnGet,noDeleteOnStaleGet:Y=this.noDeleteOnStaleGet,ttl:J=this.ttl,noDisposeOnSet:X=this.noDisposeOnSet,size:C=0,sizeCalculation:W=this.sizeCalculation,noUpdateTTL:z=this.noUpdateTTL,noDeleteOnFetchRejection:G=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:q=this.allowStaleOnFetchRejection,ignoreFetchAbort:E=this.ignoreFetchAbort,allowStaleOnFetchAbort:U=this.allowStaleOnFetchAbort,context:A,forceRefresh:K=!1,status:V,signal:j}=F;if(!this.#w){if(V)V.fetch="get";return this.get(D,{allowStale:Q,updateAgeOnGet:B,noDeleteOnStaleGet:Y,status:V})}let L={allowStale:Q,updateAgeOnGet:B,noDeleteOnStaleGet:Y,ttl:J,noDisposeOnSet:X,size:C,sizeCalculation:W,noUpdateTTL:z,noDeleteOnFetchRejection:G,allowStaleOnFetchRejection:q,allowStaleOnFetchAbort:U,ignoreFetchAbort:E,status:V,signal:j},R=this.#q.get(D);if(R===void 0){if(V)V.fetch="miss";let b=this.#d(D,R,L,A);return b.__returned=b}else{let b=this.#B[R];if(this.#z(b)){let O=Q&&b.__staleWhileFetching!==void 0;if(V){if(V.fetch="inflight",O)V.returnedStale=!0}return O?b.__staleWhileFetching:b.__returned=b}let k=this.#O(R);if(!K&&!k){if(V)V.fetch="hit";if(this.#f(R),B)this.#P(R);if(V)this.#_(V,R);return b}let I=this.#d(D,R,L,A),f=I.__staleWhileFetching!==void 0&&Q;if(V){if(V.fetch=k?"stale":"refresh",f&&k)V.returnedStale=!0}return f?I.__staleWhileFetching:I.__returned=I}}async forceFetch(D,F={}){let Q=await this.fetch(D,F);if(Q===void 0)throw new Error("fetch() returned undefined");return Q}memo(D,F={}){let Q=this.#V;if(!Q)throw new Error("no memoMethod provided to constructor");let{context:B,forceRefresh:Y,...J}=F,X=this.get(D,J);if(!Y&&X!==void 0)return X;let C=Q(D,X,{options:J,context:B});return this.set(D,C,J),C}get(D,F={}){let{allowStale:Q=this.allowStale,updateAgeOnGet:B=this.updateAgeOnGet,noDeleteOnStaleGet:Y=this.noDeleteOnStaleGet,status:J}=F,X=this.#q.get(D);if(X!==void 0){let C=this.#B[X],W=this.#z(C);if(J)this.#_(J,X);if(this.#O(X)){if(J)J.get="stale";if(!W){if(!Y)this.#b(D,"expire");if(J&&Q)J.returnedStale=!0;return Q?C:void 0}else{if(J&&Q&&C.__staleWhileFetching!==void 0)J.returnedStale=!0;return Q?C.__staleWhileFetching:void 0}}else{if(J)J.get="hit";if(W)return C.__staleWhileFetching;if(this.#f(X),B)this.#P(X);return C}}else if(J)J.get="miss"}#c(D,F){this.#N[F]=D,this.#U[D]=F}#f(D){if(D!==this.#E){if(D===this.#L)this.#L=this.#U[D];else this.#c(this.#N[D],this.#U[D]);this.#c(this.#E,D),this.#E=D}}delete(D){return this.#b(D,"delete")}#b(D,F){let Q=!1;if(this.#C!==0){let B=this.#q.get(D);if(B!==void 0)if(Q=!0,this.#C===1)this.#h(F);else{this.#x(B);let Y=this.#B[B];if(this.#z(Y))Y.__abortController.abort(new Error("deleted"));else if(this.#j||this.#H){if(this.#j)this.#Y?.(Y,D,F);if(this.#H)this.#Z?.push([Y,D,F])}if(this.#q.delete(D),this.#W[B]=void 0,this.#B[B]=void 0,B===this.#E)this.#E=this.#N[B];else if(B===this.#L)this.#L=this.#U[B];else{let J=this.#N[B];this.#U[J]=this.#U[B];let X=this.#U[B];this.#N[X]=this.#N[B]}this.#C--,this.#T.push(B)}}if(this.#H&&this.#Z?.length){let B=this.#Z,Y;while(Y=B?.shift())this.#J?.(...Y)}return Q}clear(){return this.#h("delete")}#h(D){for(let F of this.#k({allowStale:!0})){let Q=this.#B[F];if(this.#z(Q))Q.__abortController.abort(new Error("deleted"));else{let B=this.#W[F];if(this.#j)this.#Y?.(Q,B,D);if(this.#H)this.#Z?.push([Q,B,D])}}if(this.#q.clear(),this.#B.fill(void 0),this.#W.fill(void 0),this.#A&&this.#I)this.#A.fill(0),this.#I.fill(0);if(this.#R)this.#R.fill(0);if(this.#L=0,this.#E=0,this.#T.length=0,this.#K=0,this.#C=0,this.#H&&this.#Z){let F=this.#Z,Q;while(Q=F?.shift())this.#J?.(...Q)}}}import{posix as YG,win32 as p7}from"node:path";import{fileURLToPath as JG}from"node:url";import{lstatSync as CG,readdir as WG,readdirSync as zG,readlinkSync as GG,realpathSync as qG}from"fs";import*as KG from"node:fs";import{lstat as UG,readdir as EG,readlink as ZG,realpath as AG}from"node:fs/promises";import{EventEmitter as m7}from"node:events";import GB from"node:stream";import{StringDecoder as rz}from"node:string_decoder";var JB=typeof process==="object"&&process?process:{stdout:null,stderr:null},oz=(D)=>!!D&&typeof D==="object"&&(D instanceof oF||D instanceof GB||sz(D)||tz(D)),sz=(D)=>!!D&&typeof D==="object"&&D instanceof m7&&typeof D.pipe==="function"&&D.pipe!==GB.Writable.prototype.pipe,tz=(D)=>!!D&&typeof D==="object"&&D instanceof m7&&typeof D.write==="function"&&typeof D.end==="function",MF=Symbol("EOF"),NF=Symbol("maybeEmitEnd"),kF=Symbol("emittedEnd"),w6=Symbol("emittingEnd"),Z8=Symbol("emittedError"),T6=Symbol("closed"),CB=Symbol("read"),P6=Symbol("flush"),WB=Symbol("flushChunk"),e0=Symbol("encoding"),j2=Symbol("decoder"),D0=Symbol("flowing"),A8=Symbol("paused"),R2=Symbol("resume"),F0=Symbol("buffer"),A0=Symbol("pipes"),B0=Symbol("bufferLength"),y7=Symbol("bufferPush"),S6=Symbol("bufferShift"),G0=Symbol("objectMode"),rD=Symbol("destroyed"),f7=Symbol("error"),g7=Symbol("emitData"),zB=Symbol("emitEnd"),$7=Symbol("emitEnd2"),zF=Symbol("async"),h7=Symbol("abort"),b6=Symbol("aborted"),V8=Symbol("signal"),rF=Symbol("dataListeners"),S0=Symbol("discarded"),L8=(D)=>Promise.resolve().then(D),ez=(D)=>D(),DG=(D)=>D==="end"||D==="finish"||D==="prefinish",FG=(D)=>D instanceof ArrayBuffer||!!D&&typeof D==="object"&&D.constructor&&D.constructor.name==="ArrayBuffer"&&D.byteLength>=0,BG=(D)=>!Buffer.isBuffer(D)&&ArrayBuffer.isView(D);class l7{src;dest;opts;ondrain;constructor(D,F,Q){this.src=D,this.dest=F,this.opts=Q,this.ondrain=()=>D[R2](),this.dest.on("drain",this.ondrain)}unpipe(){this.dest.removeListener("drain",this.ondrain)}proxyErrors(D){}end(){if(this.unpipe(),this.opts.end)this.dest.end()}}class qB extends l7{unpipe(){this.src.removeListener("error",this.proxyErrors),super.unpipe()}constructor(D,F,Q){super(D,F,Q);this.proxyErrors=(B)=>F.emit("error",B),D.on("error",this.proxyErrors)}}var QG=(D)=>!!D.objectMode,XG=(D)=>!D.objectMode&&!!D.encoding&&D.encoding!=="buffer";class oF extends m7{[D0]=!1;[A8]=!1;[A0]=[];[F0]=[];[G0];[e0];[zF];[j2];[MF]=!1;[kF]=!1;[w6]=!1;[T6]=!1;[Z8]=null;[B0]=0;[rD]=!1;[V8];[b6]=!1;[rF]=0;[S0]=!1;writable=!0;readable=!0;constructor(...D){let F=D[0]||{};super();if(F.objectMode&&typeof F.encoding==="string")throw new TypeError("Encoding and objectMode may not be used together");if(QG(F))this[G0]=!0,this[e0]=null;else if(XG(F))this[e0]=F.encoding,this[G0]=!1;else this[G0]=!1,this[e0]=null;if(this[zF]=!!F.async,this[j2]=this[e0]?new rz(this[e0]):null,F&&F.debugExposeBuffer===!0)Object.defineProperty(this,"buffer",{get:()=>this[F0]});if(F&&F.debugExposePipes===!0)Object.defineProperty(this,"pipes",{get:()=>this[A0]});let{signal:Q}=F;if(Q)if(this[V8]=Q,Q.aborted)this[h7]();else Q.addEventListener("abort",()=>this[h7]())}get bufferLength(){return this[B0]}get encoding(){return this[e0]}set encoding(D){throw new Error("Encoding must be set at instantiation time")}setEncoding(D){throw new Error("Encoding must be set at instantiation time")}get objectMode(){return this[G0]}set objectMode(D){throw new Error("objectMode must be set at instantiation time")}get["async"](){return this[zF]}set["async"](D){this[zF]=this[zF]||!!D}[h7](){this[b6]=!0,this.emit("abort",this[V8]?.reason),this.destroy(this[V8]?.reason)}get aborted(){return this[b6]}set aborted(D){}write(D,F,Q){if(this[b6])return!1;if(this[MF])throw new Error("write after end");if(this[rD])return this.emit("error",Object.assign(new Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"})),!0;if(typeof F==="function")Q=F,F="utf8";if(!F)F="utf8";let B=this[zF]?L8:ez;if(!this[G0]&&!Buffer.isBuffer(D)){if(BG(D))D=Buffer.from(D.buffer,D.byteOffset,D.byteLength);else if(FG(D))D=Buffer.from(D);else if(typeof D!=="string")throw new Error("Non-contiguous data written to non-objectMode stream")}if(this[G0]){if(this[D0]&&this[B0]!==0)this[P6](!0);if(this[D0])this.emit("data",D);else this[y7](D);if(this[B0]!==0)this.emit("readable");if(Q)B(Q);return this[D0]}if(!D.length){if(this[B0]!==0)this.emit("readable");if(Q)B(Q);return this[D0]}if(typeof D==="string"&&!(F===this[e0]&&!this[j2]?.lastNeed))D=Buffer.from(D,F);if(Buffer.isBuffer(D)&&this[e0])D=this[j2].write(D);if(this[D0]&&this[B0]!==0)this[P6](!0);if(this[D0])this.emit("data",D);else this[y7](D);if(this[B0]!==0)this.emit("readable");if(Q)B(Q);return this[D0]}read(D){if(this[rD])return null;if(this[S0]=!1,this[B0]===0||D===0||D&&D>this[B0])return this[NF](),null;if(this[G0])D=null;if(this[F0].length>1&&!this[G0])this[F0]=[this[e0]?this[F0].join(""):Buffer.concat(this[F0],this[B0])];let F=this[CB](D||null,this[F0][0]);return this[NF](),F}[CB](D,F){if(this[G0])this[S6]();else{let Q=F;if(D===Q.length||D===null)this[S6]();else if(typeof Q==="string")this[F0][0]=Q.slice(D),F=Q.slice(0,D),this[B0]-=D;else this[F0][0]=Q.subarray(D),F=Q.subarray(0,D),this[B0]-=D}if(this.emit("data",F),!this[F0].length&&!this[MF])this.emit("drain");return F}end(D,F,Q){if(typeof D==="function")Q=D,D=void 0;if(typeof F==="function")Q=F,F="utf8";if(D!==void 0)this.write(D,F);if(Q)this.once("end",Q);if(this[MF]=!0,this.writable=!1,this[D0]||!this[A8])this[NF]();return this}[R2](){if(this[rD])return;if(!this[rF]&&!this[A0].length)this[S0]=!0;if(this[A8]=!1,this[D0]=!0,this.emit("resume"),this[F0].length)this[P6]();else if(this[MF])this[NF]();else this.emit("drain")}resume(){return this[R2]()}pause(){this[D0]=!1,this[A8]=!0,this[S0]=!1}get destroyed(){return this[rD]}get flowing(){return this[D0]}get paused(){return this[A8]}[y7](D){if(this[G0])this[B0]+=1;else this[B0]+=D.length;this[F0].push(D)}[S6](){if(this[G0])this[B0]-=1;else this[B0]-=this[F0][0].length;return this[F0].shift()}[P6](D=!1){do;while(this[WB](this[S6]())&&this[F0].length);if(!D&&!this[F0].length&&!this[MF])this.emit("drain")}[WB](D){return this.emit("data",D),this[D0]}pipe(D,F){if(this[rD])return D;this[S0]=!1;let Q=this[kF];if(F=F||{},D===JB.stdout||D===JB.stderr)F.end=!1;else F.end=F.end!==!1;if(F.proxyErrors=!!F.proxyErrors,Q){if(F.end)D.end()}else if(this[A0].push(!F.proxyErrors?new l7(this,D,F):new qB(this,D,F)),this[zF])L8(()=>this[R2]());else this[R2]();return D}unpipe(D){let F=this[A0].find((Q)=>Q.dest===D);if(F){if(this[A0].length===1){if(this[D0]&&this[rF]===0)this[D0]=!1;this[A0]=[]}else this[A0].splice(this[A0].indexOf(F),1);F.unpipe()}}addListener(D,F){return this.on(D,F)}on(D,F){let Q=super.on(D,F);if(D==="data"){if(this[S0]=!1,this[rF]++,!this[A0].length&&!this[D0])this[R2]()}else if(D==="readable"&&this[B0]!==0)super.emit("readable");else if(DG(D)&&this[kF])super.emit(D),this.removeAllListeners(D);else if(D==="error"&&this[Z8]){let B=F;if(this[zF])L8(()=>B.call(this,this[Z8]));else B.call(this,this[Z8])}return Q}removeListener(D,F){return this.off(D,F)}off(D,F){let Q=super.off(D,F);if(D==="data"){if(this[rF]=this.listeners("data").length,this[rF]===0&&!this[S0]&&!this[A0].length)this[D0]=!1}return Q}removeAllListeners(D){let F=super.removeAllListeners(D);if(D==="data"||D===void 0){if(this[rF]=0,!this[S0]&&!this[A0].length)this[D0]=!1}return F}get emittedEnd(){return this[kF]}[NF](){if(!this[w6]&&!this[kF]&&!this[rD]&&this[F0].length===0&&this[MF]){if(this[w6]=!0,this.emit("end"),this.emit("prefinish"),this.emit("finish"),this[T6])this.emit("close");this[w6]=!1}}emit(D,...F){let Q=F[0];if(D!=="error"&&D!=="close"&&D!==rD&&this[rD])return!1;else if(D==="data")return!this[G0]&&!Q?!1:this[zF]?(L8(()=>this[g7](Q)),!0):this[g7](Q);else if(D==="end")return this[zB]();else if(D==="close"){if(this[T6]=!0,!this[kF]&&!this[rD])return!1;let Y=super.emit("close");return this.removeAllListeners("close"),Y}else if(D==="error"){this[Z8]=Q,super.emit(f7,Q);let Y=!this[V8]||this.listeners("error").length?super.emit("error",Q):!1;return this[NF](),Y}else if(D==="resume"){let Y=super.emit("resume");return this[NF](),Y}else if(D==="finish"||D==="prefinish"){let Y=super.emit(D);return this.removeAllListeners(D),Y}let B=super.emit(D,...F);return this[NF](),B}[g7](D){for(let Q of this[A0])if(Q.dest.write(D)===!1)this.pause();let F=this[S0]?!1:super.emit("data",D);return this[NF](),F}[zB](){if(this[kF])return!1;return this[kF]=!0,this.readable=!1,this[zF]?(L8(()=>this[$7]()),!0):this[$7]()}[$7](){if(this[j2]){let F=this[j2].end();if(F){for(let Q of this[A0])Q.dest.write(F);if(!this[S0])super.emit("data",F)}}for(let F of this[A0])F.end();let D=super.emit("end");return this.removeAllListeners("end"),D}async collect(){let D=Object.assign([],{dataLength:0});if(!this[G0])D.dataLength=0;let F=this.promise();return this.on("data",(Q)=>{if(D.push(Q),!this[G0])D.dataLength+=Q.length}),await F,D}async concat(){if(this[G0])throw new Error("cannot concat in objectMode");let D=await this.collect();return this[e0]?D.join(""):Buffer.concat(D,D.dataLength)}async promise(){return new Promise((D,F)=>{this.on(rD,()=>F(new Error("stream destroyed"))),this.on("error",(Q)=>F(Q)),this.on("end",()=>D())})}[Symbol.asyncIterator](){this[S0]=!1;let D=!1,F=async()=>{return this.pause(),D=!0,{value:void 0,done:!0}};return{next:()=>{if(D)return F();let B=this.read();if(B!==null)return Promise.resolve({done:!1,value:B});if(this[MF])return F();let Y,J,X=(G)=>{this.off("data",C),this.off("end",W),this.off(rD,z),F(),J(G)},C=(G)=>{this.off("error",X),this.off("end",W),this.off(rD,z),this.pause(),Y({value:G,done:!!this[MF]})},W=()=>{this.off("error",X),this.off("data",C),this.off(rD,z),F(),Y({done:!0,value:void 0})},z=()=>X(new Error("stream destroyed"));return new Promise((G,q)=>{J=q,Y=G,this.once(rD,z),this.once("error",X),this.once("end",W),this.once("data",C)})},throw:F,return:F,[Symbol.asyncIterator](){return this}}}[Symbol.iterator](){this[S0]=!1;let D=!1,F=()=>{return this.pause(),this.off(f7,F),this.off(rD,F),this.off("end",F),D=!0,{done:!0,value:void 0}},Q=()=>{if(D)return F();let B=this.read();return B===null?F():{done:!1,value:B}};return this.once("end",F),this.once(f7,F),this.once(rD,F),{next:Q,throw:F,return:F,[Symbol.iterator](){return this}}}destroy(D){if(this[rD]){if(D)this.emit("error",D);else this.emit(rD);return this}this[rD]=!0,this[S0]=!0,this[F0].length=0,this[B0]=0;let F=this;if(typeof F.close==="function"&&!this[T6])F.close();if(D)this.emit("error",D);else this.emit(rD);return this}static get isStream(){return oz}}var HG=qG.native,N8={lstatSync:CG,readdir:WG,readdirSync:zG,readlinkSync:GG,realpathSync:HG,promises:{lstat:UG,readdir:EG,readlink:ZG,realpath:AG}},ZB=(D)=>!D||D===N8||D===KG?N8:{...N8,...D,promises:{...N8.promises,...D.promises||{}}},AB=/^\\\\\?\\([a-z]:)\\?$/i,VG=(D)=>D.replace(/\//g,"\\").replace(AB,"$1\\"),LG=/[\\\/]/,l0=0,VB=1,LB=2,GF=4,MB=6,NB=8,sF=10,jB=12,m0=15,M8=~m0,d7=16,KB=32,j8=64,DF=128,k6=256,x6=512,HB=j8|DF|x6,MG=1023,c7=(D)=>D.isFile()?NB:D.isDirectory()?GF:D.isSymbolicLink()?sF:D.isCharacterDevice()?LB:D.isBlockDevice()?MB:D.isSocket()?jB:D.isFIFO()?VB:l0,UB=new Map,R8=(D)=>{let F=UB.get(D);if(F)return F;let Q=D.normalize("NFKD");return UB.set(D,Q),Q},EB=new Map,v6=(D)=>{let F=EB.get(D);if(F)return F;let Q=R8(D.toLowerCase());return EB.set(D,Q),Q};class n7 extends E8{constructor(){super({max:256})}}class RB extends E8{constructor(D=16384){super({maxSize:D,sizeCalculation:(F)=>F.length+1})}}var _B=Symbol("PathScurry setAsCwd");class V0{name;root;roots;parent;nocase;isCWD=!1;#D;#F;get dev(){return this.#F}#Y;get mode(){return this.#Y}#X;get nlink(){return this.#X}#J;get uid(){return this.#J}#M;get gid(){return this.#M}#V;get rdev(){return this.#V}#G;get blksize(){return this.#G}#C;get ino(){return this.#C}#K;get size(){return this.#K}#q;get blocks(){return this.#q}#W;get atimeMs(){return this.#W}#B;get mtimeMs(){return this.#B}#U;get ctimeMs(){return this.#U}#N;get birthtimeMs(){return this.#N}#L;get atime(){return this.#L}#E;get mtime(){return this.#E}#T;get ctime(){return this.#T}#Z;get birthtime(){return this.#Z}#R;#I;#A;#j;#w;#H;#Q;#v;#P;#_;get parentPath(){return(this.parent||this).fullpath()}get path(){return this.parentPath}constructor(D,F=l0,Q,B,Y,J,X){if(this.name=D,this.#R=Y?v6(D):R8(D),this.#Q=F&MG,this.nocase=Y,this.roots=B,this.root=Q||this,this.#v=J,this.#A=X.fullpath,this.#w=X.relative,this.#H=X.relativePosix,this.parent=X.parent,this.parent)this.#D=this.parent.#D;else this.#D=ZB(X.fs)}depth(){if(this.#I!==void 0)return this.#I;if(!this.parent)return this.#I=0;return this.#I=this.parent.depth()+1}childrenCache(){return this.#v}resolve(D){if(!D)return this;let F=this.getRootString(D),B=D.substring(F.length).split(this.splitSep);return F?this.getRoot(F).#m(B):this.#m(B)}#m(D){let F=this;for(let Q of D)F=F.child(Q);return F}children(){let D=this.#v.get(this);if(D)return D;let F=Object.assign([],{provisional:0});return this.#v.set(this,F),this.#Q&=~d7,F}child(D,F){if(D===""||D===".")return this;if(D==="..")return this.parent||this;let Q=this.children(),B=this.nocase?v6(D):R8(D);for(let C of Q)if(C.#R===B)return C;let Y=this.parent?this.sep:"",J=this.#A?this.#A+Y+D:void 0,X=this.newChild(D,l0,{...F,parent:this,fullpath:J});if(!this.canReaddir())X.#Q|=DF;return Q.push(X),X}relative(){if(this.isCWD)return"";if(this.#w!==void 0)return this.#w;let D=this.name,F=this.parent;if(!F)return this.#w=this.name;let Q=F.relative();return Q+(!Q||!F.parent?"":this.sep)+D}relativePosix(){if(this.sep==="/")return this.relative();if(this.isCWD)return"";if(this.#H!==void 0)return this.#H;let D=this.name,F=this.parent;if(!F)return this.#H=this.fullpathPosix();let Q=F.relativePosix();return Q+(!Q||!F.parent?"":"/")+D}fullpath(){if(this.#A!==void 0)return this.#A;let D=this.name,F=this.parent;if(!F)return this.#A=this.name;let B=F.fullpath()+(!F.parent?"":this.sep)+D;return this.#A=B}fullpathPosix(){if(this.#j!==void 0)return this.#j;if(this.sep==="/")return this.#j=this.fullpath();if(!this.parent){let B=this.fullpath().replace(/\\/g,"/");if(/^[a-z]:\//i.test(B))return this.#j=`//?/${B}`;else return this.#j=B}let D=this.parent,F=D.fullpathPosix(),Q=F+(!F||!D.parent?"":"/")+this.name;return this.#j=Q}isUnknown(){return(this.#Q&m0)===l0}isType(D){return this[`is${D}`]()}getType(){return this.isUnknown()?"Unknown":this.isDirectory()?"Directory":this.isFile()?"File":this.isSymbolicLink()?"SymbolicLink":this.isFIFO()?"FIFO":this.isCharacterDevice()?"CharacterDevice":this.isBlockDevice()?"BlockDevice":this.isSocket()?"Socket":"Unknown"}isFile(){return(this.#Q&m0)===NB}isDirectory(){return(this.#Q&m0)===GF}isCharacterDevice(){return(this.#Q&m0)===LB}isBlockDevice(){return(this.#Q&m0)===MB}isFIFO(){return(this.#Q&m0)===VB}isSocket(){return(this.#Q&m0)===jB}isSymbolicLink(){return(this.#Q&sF)===sF}lstatCached(){return this.#Q&KB?this:void 0}readlinkCached(){return this.#P}realpathCached(){return this.#_}readdirCached(){let D=this.children();return D.slice(0,D.provisional)}canReadlink(){if(this.#P)return!0;if(!this.parent)return!1;let D=this.#Q&m0;return!(D!==l0&&D!==sF||this.#Q&k6||this.#Q&DF)}calledReaddir(){return!!(this.#Q&d7)}isENOENT(){return!!(this.#Q&DF)}isNamed(D){return!this.nocase?this.#R===R8(D):this.#R===v6(D)}async readlink(){let D=this.#P;if(D)return D;if(!this.canReadlink())return;if(!this.parent)return;try{let F=await this.#D.promises.readlink(this.fullpath()),Q=(await this.parent.realpath())?.resolve(F);if(Q)return this.#P=Q}catch(F){this.#l(F.code);return}}readlinkSync(){let D=this.#P;if(D)return D;if(!this.canReadlink())return;if(!this.parent)return;try{let F=this.#D.readlinkSync(this.fullpath()),Q=this.parent.realpathSync()?.resolve(F);if(Q)return this.#P=Q}catch(F){this.#l(F.code);return}}#O(D){this.#Q|=d7;for(let F=D.provisional;F<D.length;F++){let Q=D[F];if(Q)Q.#g()}}#g(){if(this.#Q&DF)return;this.#Q=(this.#Q|DF)&M8,this.#x()}#x(){let D=this.children();D.provisional=0;for(let F of D)F.#g()}#$(){this.#Q|=x6,this.#u()}#u(){if(this.#Q&j8)return;let D=this.#Q;if((D&m0)===GF)D&=M8;this.#Q=D|j8,this.#x()}#S(D=""){if(D==="ENOTDIR"||D==="EPERM")this.#u();else if(D==="ENOENT")this.#g();else this.children().provisional=0}#k(D=""){if(D==="ENOTDIR")this.parent.#u();else if(D==="ENOENT")this.#g()}#l(D=""){let F=this.#Q;if(F|=k6,D==="ENOENT")F|=DF;if(D==="EINVAL"||D==="UNKNOWN")F&=M8;if(this.#Q=F,D==="ENOTDIR"&&this.parent)this.parent.#u()}#y(D,F){return this.#z(D,F)||this.#d(D,F)}#d(D,F){let Q=c7(D),B=this.newChild(D.name,Q,{parent:this}),Y=B.#Q&m0;if(Y!==GF&&Y!==sF&&Y!==l0)B.#Q|=j8;return F.unshift(B),F.provisional++,B}#z(D,F){for(let Q=F.provisional;Q<F.length;Q++){let B=F[Q];if((this.nocase?v6(D.name):R8(D.name))!==B.#R)continue;return this.#c(D,B,Q,F)}}#c(D,F,Q,B){let Y=F.name;if(F.#Q=F.#Q&M8|c7(D),Y!==D.name)F.name=D.name;if(Q!==B.provisional){if(Q===B.length-1)B.pop();else B.splice(Q,1);B.unshift(F)}return B.provisional++,F}async lstat(){if((this.#Q&DF)===0)try{return this.#f(await this.#D.promises.lstat(this.fullpath())),this}catch(D){this.#k(D.code)}}lstatSync(){if((this.#Q&DF)===0)try{return this.#f(this.#D.lstatSync(this.fullpath())),this}catch(D){this.#k(D.code)}}#f(D){let{atime:F,atimeMs:Q,birthtime:B,birthtimeMs:Y,blksize:J,blocks:X,ctime:C,ctimeMs:W,dev:z,gid:G,ino:q,mode:E,mtime:U,mtimeMs:A,nlink:K,rdev:V,size:j,uid:L}=D;this.#L=F,this.#W=Q,this.#Z=B,this.#N=Y,this.#G=J,this.#q=X,this.#T=C,this.#U=W,this.#F=z,this.#M=G,this.#C=q,this.#Y=E,this.#E=U,this.#B=A,this.#X=K,this.#V=V,this.#K=j,this.#J=L;let R=c7(D);if(this.#Q=this.#Q&M8|R|KB,R!==l0&&R!==GF&&R!==sF)this.#Q|=j8}#b=[];#h=!1;#n(D){this.#h=!1;let F=this.#b.slice();this.#b.length=0,F.forEach((Q)=>Q(null,D))}readdirCB(D,F=!1){if(!this.canReaddir()){if(F)D(null,[]);else queueMicrotask(()=>D(null,[]));return}let Q=this.children();if(this.calledReaddir()){let Y=Q.slice(0,Q.provisional);if(F)D(null,Y);else queueMicrotask(()=>D(null,Y));return}if(this.#b.push(D),this.#h)return;this.#h=!0;let B=this.fullpath();this.#D.readdir(B,{withFileTypes:!0},(Y,J)=>{if(Y)this.#S(Y.code),Q.provisional=0;else{for(let X of J)this.#y(X,Q);this.#O(Q)}this.#n(Q.slice(0,Q.provisional));return})}#p;async readdir(){if(!this.canReaddir())return[];let D=this.children();if(this.calledReaddir())return D.slice(0,D.provisional);let F=this.fullpath();if(this.#p)await this.#p;else{let Q=()=>{};this.#p=new Promise((B)=>Q=B);try{for(let B of await this.#D.promises.readdir(F,{withFileTypes:!0}))this.#y(B,D);this.#O(D)}catch(B){this.#S(B.code),D.provisional=0}this.#p=void 0,Q()}return D.slice(0,D.provisional)}readdirSync(){if(!this.canReaddir())return[];let D=this.children();if(this.calledReaddir())return D.slice(0,D.provisional);let F=this.fullpath();try{for(let Q of this.#D.readdirSync(F,{withFileTypes:!0}))this.#y(Q,D);this.#O(D)}catch(Q){this.#S(Q.code),D.provisional=0}return D.slice(0,D.provisional)}canReaddir(){if(this.#Q&HB)return!1;let D=m0&this.#Q;if(!(D===l0||D===GF||D===sF))return!1;return!0}shouldWalk(D,F){return(this.#Q&GF)===GF&&!(this.#Q&HB)&&!D.has(this)&&(!F||F(this))}async realpath(){if(this.#_)return this.#_;if((x6|k6|DF)&this.#Q)return;try{let D=await this.#D.promises.realpath(this.fullpath());return this.#_=this.resolve(D)}catch(D){this.#$()}}realpathSync(){if(this.#_)return this.#_;if((x6|k6|DF)&this.#Q)return;try{let D=this.#D.realpathSync(this.fullpath());return this.#_=this.resolve(D)}catch(D){this.#$()}}[_B](D){if(D===this)return;D.isCWD=!1,this.isCWD=!0;let F=new Set([]),Q=[],B=this;while(B&&B.parent)F.add(B),B.#w=Q.join(this.sep),B.#H=Q.join("/"),B=B.parent,Q.push("..");B=D;while(B&&B.parent&&!F.has(B))B.#w=void 0,B.#H=void 0,B=B.parent}}class u6 extends V0{sep="\\";splitSep=LG;constructor(D,F=l0,Q,B,Y,J,X){super(D,F,Q,B,Y,J,X)}newChild(D,F=l0,Q={}){return new u6(D,F,this.root,this.roots,this.nocase,this.childrenCache(),Q)}getRootString(D){return p7.parse(D).root}getRoot(D){if(D=VG(D.toUpperCase()),D===this.root.name)return this.root;for(let[F,Q]of Object.entries(this.roots))if(this.sameRoot(D,F))return this.roots[D]=Q;return this.roots[D]=new _8(D,this).root}sameRoot(D,F=this.root.name){return D=D.toUpperCase().replace(/\//g,"\\").replace(AB,"$1\\"),D===F}}class y6 extends V0{splitSep="/";sep="/";constructor(D,F=l0,Q,B,Y,J,X){super(D,F,Q,B,Y,J,X)}getRootString(D){return D.startsWith("/")?"/":""}getRoot(D){return this.root}newChild(D,F=l0,Q={}){return new y6(D,F,this.root,this.roots,this.nocase,this.childrenCache(),Q)}}class i7{root;rootPath;roots;cwd;#D;#F;#Y;nocase;#X;constructor(D=process.cwd(),F,Q,{nocase:B,childrenCacheSize:Y=16384,fs:J=N8}={}){if(this.#X=ZB(J),D instanceof URL||D.startsWith("file://"))D=JG(D);let X=F.resolve(D);this.roots=Object.create(null),this.rootPath=this.parseRootPath(X),this.#D=new n7,this.#F=new n7,this.#Y=new RB(Y);let C=X.substring(this.rootPath.length).split(Q);if(C.length===1&&!C[0])C.pop();if(B===void 0)throw new TypeError("must provide nocase setting to PathScurryBase ctor");this.nocase=B,this.root=this.newRoot(this.#X),this.roots[this.rootPath]=this.root;let W=this.root,z=C.length-1,G=F.sep,q=this.rootPath,E=!1;for(let U of C){let A=z--;W=W.child(U,{relative:new Array(A).fill("..").join(G),relativePosix:new Array(A).fill("..").join("/"),fullpath:q+=(E?"":G)+U}),E=!0}this.cwd=W}depth(D=this.cwd){if(typeof D==="string")D=this.cwd.resolve(D);return D.depth()}childrenCache(){return this.#Y}resolve(...D){let F="";for(let Y=D.length-1;Y>=0;Y--){let J=D[Y];if(!J||J===".")continue;if(F=F?`${J}/${F}`:J,this.isAbsolute(J))break}let Q=this.#D.get(F);if(Q!==void 0)return Q;let B=this.cwd.resolve(F).fullpath();return this.#D.set(F,B),B}resolvePosix(...D){let F="";for(let Y=D.length-1;Y>=0;Y--){let J=D[Y];if(!J||J===".")continue;if(F=F?`${J}/${F}`:J,this.isAbsolute(J))break}let Q=this.#F.get(F);if(Q!==void 0)return Q;let B=this.cwd.resolve(F).fullpathPosix();return this.#F.set(F,B),B}relative(D=this.cwd){if(typeof D==="string")D=this.cwd.resolve(D);return D.relative()}relativePosix(D=this.cwd){if(typeof D==="string")D=this.cwd.resolve(D);return D.relativePosix()}basename(D=this.cwd){if(typeof D==="string")D=this.cwd.resolve(D);return D.name}dirname(D=this.cwd){if(typeof D==="string")D=this.cwd.resolve(D);return(D.parent||D).fullpath()}async readdir(D=this.cwd,F={withFileTypes:!0}){if(typeof D==="string")D=this.cwd.resolve(D);else if(!(D instanceof V0))F=D,D=this.cwd;let{withFileTypes:Q}=F;if(!D.canReaddir())return[];else{let B=await D.readdir();return Q?B:B.map((Y)=>Y.name)}}readdirSync(D=this.cwd,F={withFileTypes:!0}){if(typeof D==="string")D=this.cwd.resolve(D);else if(!(D instanceof V0))F=D,D=this.cwd;let{withFileTypes:Q=!0}=F;if(!D.canReaddir())return[];else if(Q)return D.readdirSync();else return D.readdirSync().map((B)=>B.name)}async lstat(D=this.cwd){if(typeof D==="string")D=this.cwd.resolve(D);return D.lstat()}lstatSync(D=this.cwd){if(typeof D==="string")D=this.cwd.resolve(D);return D.lstatSync()}async readlink(D=this.cwd,{withFileTypes:F}={withFileTypes:!1}){if(typeof D==="string")D=this.cwd.resolve(D);else if(!(D instanceof V0))F=D.withFileTypes,D=this.cwd;let Q=await D.readlink();return F?Q:Q?.fullpath()}readlinkSync(D=this.cwd,{withFileTypes:F}={withFileTypes:!1}){if(typeof D==="string")D=this.cwd.resolve(D);else if(!(D instanceof V0))F=D.withFileTypes,D=this.cwd;let Q=D.readlinkSync();return F?Q:Q?.fullpath()}async realpath(D=this.cwd,{withFileTypes:F}={withFileTypes:!1}){if(typeof D==="string")D=this.cwd.resolve(D);else if(!(D instanceof V0))F=D.withFileTypes,D=this.cwd;let Q=await D.realpath();return F?Q:Q?.fullpath()}realpathSync(D=this.cwd,{withFileTypes:F}={withFileTypes:!1}){if(typeof D==="string")D=this.cwd.resolve(D);else if(!(D instanceof V0))F=D.withFileTypes,D=this.cwd;let Q=D.realpathSync();return F?Q:Q?.fullpath()}async walk(D=this.cwd,F={}){if(typeof D==="string")D=this.cwd.resolve(D);else if(!(D instanceof V0))F=D,D=this.cwd;let{withFileTypes:Q=!0,follow:B=!1,filter:Y,walkFilter:J}=F,X=[];if(!Y||Y(D))X.push(Q?D:D.fullpath());let C=new Set,W=(G,q)=>{C.add(G),G.readdirCB((E,U)=>{if(E)return q(E);let A=U.length;if(!A)return q();let K=()=>{if(--A===0)q()};for(let V of U){if(!Y||Y(V))X.push(Q?V:V.fullpath());if(B&&V.isSymbolicLink())V.realpath().then((j)=>j?.isUnknown()?j.lstat():j).then((j)=>j?.shouldWalk(C,J)?W(j,K):K());else if(V.shouldWalk(C,J))W(V,K);else K()}},!0)},z=D;return new Promise((G,q)=>{W(z,(E)=>{if(E)return q(E);G(X)})})}walkSync(D=this.cwd,F={}){if(typeof D==="string")D=this.cwd.resolve(D);else if(!(D instanceof V0))F=D,D=this.cwd;let{withFileTypes:Q=!0,follow:B=!1,filter:Y,walkFilter:J}=F,X=[];if(!Y||Y(D))X.push(Q?D:D.fullpath());let C=new Set([D]);for(let W of C){let z=W.readdirSync();for(let G of z){if(!Y||Y(G))X.push(Q?G:G.fullpath());let q=G;if(G.isSymbolicLink()){if(!(B&&(q=G.realpathSync())))continue;if(q.isUnknown())q.lstatSync()}if(q.shouldWalk(C,J))C.add(q)}}return X}[Symbol.asyncIterator](){return this.iterate()}iterate(D=this.cwd,F={}){if(typeof D==="string")D=this.cwd.resolve(D);else if(!(D instanceof V0))F=D,D=this.cwd;return this.stream(D,F)[Symbol.asyncIterator]()}[Symbol.iterator](){return this.iterateSync()}*iterateSync(D=this.cwd,F={}){if(typeof D==="string")D=this.cwd.resolve(D);else if(!(D instanceof V0))F=D,D=this.cwd;let{withFileTypes:Q=!0,follow:B=!1,filter:Y,walkFilter:J}=F;if(!Y||Y(D))yield Q?D:D.fullpath();let X=new Set([D]);for(let C of X){let W=C.readdirSync();for(let z of W){if(!Y||Y(z))yield Q?z:z.fullpath();let G=z;if(z.isSymbolicLink()){if(!(B&&(G=z.realpathSync())))continue;if(G.isUnknown())G.lstatSync()}if(G.shouldWalk(X,J))X.add(G)}}}stream(D=this.cwd,F={}){if(typeof D==="string")D=this.cwd.resolve(D);else if(!(D instanceof V0))F=D,D=this.cwd;let{withFileTypes:Q=!0,follow:B=!1,filter:Y,walkFilter:J}=F,X=new oF({objectMode:!0});if(!Y||Y(D))X.write(Q?D:D.fullpath());let C=new Set,W=[D],z=0,G=()=>{let q=!1;while(!q){let E=W.shift();if(!E){if(z===0)X.end();return}z++,C.add(E);let U=(K,V,j=!1)=>{if(K)return X.emit("error",K);if(B&&!j){let L=[];for(let R of V)if(R.isSymbolicLink())L.push(R.realpath().then((b)=>b?.isUnknown()?b.lstat():b));if(L.length){Promise.all(L).then(()=>U(null,V,!0));return}}for(let L of V)if(L&&(!Y||Y(L))){if(!X.write(Q?L:L.fullpath()))q=!0}z--;for(let L of V){let R=L.realpathCached()||L;if(R.shouldWalk(C,J))W.push(R)}if(q&&!X.flowing)X.once("drain",G);else if(!A)G()},A=!0;E.readdirCB(U,!0),A=!1}};return G(),X}streamSync(D=this.cwd,F={}){if(typeof D==="string")D=this.cwd.resolve(D);else if(!(D instanceof V0))F=D,D=this.cwd;let{withFileTypes:Q=!0,follow:B=!1,filter:Y,walkFilter:J}=F,X=new oF({objectMode:!0}),C=new Set;if(!Y||Y(D))X.write(Q?D:D.fullpath());let W=[D],z=0,G=()=>{let q=!1;while(!q){let E=W.shift();if(!E){if(z===0)X.end();return}z++,C.add(E);let U=E.readdirSync();for(let A of U)if(!Y||Y(A)){if(!X.write(Q?A:A.fullpath()))q=!0}z--;for(let A of U){let K=A;if(A.isSymbolicLink()){if(!(B&&(K=A.realpathSync())))continue;if(K.isUnknown())K.lstatSync()}if(K.shouldWalk(C,J))W.push(K)}}if(q&&!X.flowing)X.once("drain",G)};return G(),X}chdir(D=this.cwd){let F=this.cwd;this.cwd=typeof D==="string"?this.cwd.resolve(D):D,this.cwd[_B](F)}}class _8 extends i7{sep="\\";constructor(D=process.cwd(),F={}){let{nocase:Q=!0}=F;super(D,p7,"\\",{...F,nocase:Q});this.nocase=Q;for(let B=this.cwd;B;B=B.parent)B.nocase=this.nocase}parseRootPath(D){return p7.parse(D).root.toUpperCase()}newRoot(D){return new u6(this.rootPath,GF,void 0,this.roots,this.nocase,this.childrenCache(),{fs:D})}isAbsolute(D){return D.startsWith("/")||D.startsWith("\\")||/^[a-z]:(\/|\\)/i.test(D)}}class O8 extends i7{sep="/";constructor(D=process.cwd(),F={}){let{nocase:Q=!1}=F;super(D,YG,"/",{...F,nocase:Q});this.nocase=Q}parseRootPath(D){return"/"}newRoot(D){return new y6(this.rootPath,GF,void 0,this.roots,this.nocase,this.childrenCache(),{fs:D})}isAbsolute(D){return D.startsWith("/")}}class f6 extends O8{constructor(D=process.cwd(),F={}){let{nocase:Q=!0}=F;super(D,{...F,nocase:Q})}}var ZL=process.platform==="win32"?u6:y6,OB=process.platform==="win32"?_8:process.platform==="darwin"?f6:O8;var NG=(D)=>D.length>=1,jG=(D)=>D.length>=1;class _2{#D;#F;#Y;length;#X;#J;#M;#V;#G;#C;#K=!0;constructor(D,F,Q,B){if(!NG(D))throw new TypeError("empty pattern list");if(!jG(F))throw new TypeError("empty glob list");if(F.length!==D.length)throw new TypeError("mismatched pattern list and glob list lengths");if(this.length=D.length,Q<0||Q>=this.length)throw new TypeError("index out of range");if(this.#D=D,this.#F=F,this.#Y=Q,this.#X=B,this.#Y===0){if(this.isUNC()){let[Y,J,X,C,...W]=this.#D,[z,G,q,E,...U]=this.#F;if(W[0]==="")W.shift(),U.shift();let A=[Y,J,X,C,""].join("/"),K=[z,G,q,E,""].join("/");this.#D=[A,...W],this.#F=[K,...U],this.length=this.#D.length}else if(this.isDrive()||this.isAbsolute()){let[Y,...J]=this.#D,[X,...C]=this.#F;if(J[0]==="")J.shift(),C.shift();let W=Y+"/",z=X+"/";this.#D=[W,...J],this.#F=[z,...C],this.length=this.#D.length}}}pattern(){return this.#D[this.#Y]}isString(){return typeof this.#D[this.#Y]==="string"}isGlobstar(){return this.#D[this.#Y]===J0}isRegExp(){return this.#D[this.#Y]instanceof RegExp}globString(){return this.#M=this.#M||(this.#Y===0?this.isAbsolute()?this.#F[0]+this.#F.slice(1).join("/"):this.#F.join("/"):this.#F.slice(this.#Y).join("/"))}hasMore(){return this.length>this.#Y+1}rest(){if(this.#J!==void 0)return this.#J;if(!this.hasMore())return this.#J=null;return this.#J=new _2(this.#D,this.#F,this.#Y+1,this.#X),this.#J.#C=this.#C,this.#J.#G=this.#G,this.#J.#V=this.#V,this.#J}isUNC(){let D=this.#D;return this.#G!==void 0?this.#G:this.#G=this.#X==="win32"&&this.#Y===0&&D[0]===""&&D[1]===""&&typeof D[2]==="string"&&!!D[2]&&typeof D[3]==="string"&&!!D[3]}isDrive(){let D=this.#D;return this.#V!==void 0?this.#V:this.#V=this.#X==="win32"&&this.#Y===0&&this.length>1&&typeof D[0]==="string"&&/^[a-z]:$/i.test(D[0])}isAbsolute(){let D=this.#D;return this.#C!==void 0?this.#C:this.#C=D[0]===""&&D.length>1||this.isDrive()||this.isUNC()}root(){let D=this.#D[0];return typeof D==="string"&&this.isAbsolute()&&this.#Y===0?D:""}checkFollowGlobstar(){return!(this.#Y===0||!this.isGlobstar()||!this.#K)}markFollowGlobstar(){if(this.#Y===0||!this.isGlobstar()||!this.#K)return!1;return this.#K=!1,!0}}var RG=typeof process==="object"&&process&&typeof process.platform==="string"?process.platform:"linux";class I8{relative;relativeChildren;absolute;absoluteChildren;platform;mmopts;constructor(D,{nobrace:F,nocase:Q,noext:B,noglobstar:Y,platform:J=RG}){this.relative=[],this.absolute=[],this.relativeChildren=[],this.absoluteChildren=[],this.platform=J,this.mmopts={dot:!0,nobrace:F,nocase:Q,noext:B,noglobstar:Y,optimizationLevel:2,platform:J,nocomment:!0,nonegate:!0};for(let X of D)this.add(X)}add(D){let F=new h0(D,this.mmopts);for(let Q=0;Q<F.set.length;Q++){let B=F.set[Q],Y=F.globParts[Q];if(!B||!Y)throw new Error("invalid pattern object");while(B[0]==="."&&Y[0]===".")B.shift(),Y.shift();let J=new _2(B,Y,0,this.platform),X=new h0(J.globString(),this.mmopts),C=Y[Y.length-1]==="**",W=J.isAbsolute();if(W)this.absolute.push(X);else this.relative.push(X);if(C)if(W)this.absoluteChildren.push(X);else this.relativeChildren.push(X)}}ignored(D){let F=D.fullpath(),Q=`${F}/`,B=D.relative()||".",Y=`${B}/`;for(let J of this.relative)if(J.match(B)||J.match(Y))return!0;for(let J of this.absolute)if(J.match(F)||J.match(Q))return!0;return!1}childrenIgnored(D){let F=D.fullpath()+"/",Q=(D.relative()||".")+"/";for(let B of this.relativeChildren)if(B.match(Q))return!0;for(let B of this.absoluteChildren)if(B.match(F))return!0;return!1}}class a7{store;constructor(D=new Map){this.store=D}copy(){return new a7(new Map(this.store))}hasWalked(D,F){return this.store.get(D.fullpath())?.has(F.globString())}storeWalked(D,F){let Q=D.fullpath(),B=this.store.get(Q);if(B)B.add(F.globString());else this.store.set(Q,new Set([F.globString()]))}}class IB{store=new Map;add(D,F,Q){let B=(F?2:0)|(Q?1:0),Y=this.store.get(D);this.store.set(D,Y===void 0?B:B&Y)}entries(){return[...this.store.entries()].map(([D,F])=>[D,!!(F&2),!!(F&1)])}}class wB{store=new Map;add(D,F){if(!D.canReaddir())return;let Q=this.store.get(D);if(Q){if(!Q.find((B)=>B.globString()===F.globString()))Q.push(F)}else this.store.set(D,[F])}get(D){let F=this.store.get(D);if(!F)throw new Error("attempting to walk unknown path");return F}entries(){return this.keys().map((D)=>[D,this.store.get(D)])}keys(){return[...this.store.keys()].filter((D)=>D.canReaddir())}}class w8{hasWalkedCache;matches=new IB;subwalks=new wB;patterns;follow;dot;opts;constructor(D,F){this.opts=D,this.follow=!!D.follow,this.dot=!!D.dot,this.hasWalkedCache=F?F.copy():new a7}processPatterns(D,F){this.patterns=F;let Q=F.map((B)=>[D,B]);for(let[B,Y]of Q){this.hasWalkedCache.storeWalked(B,Y);let J=Y.root(),X=Y.isAbsolute()&&this.opts.absolute!==!1;if(J){B=B.resolve(J==="/"&&this.opts.root!==void 0?this.opts.root:J);let G=Y.rest();if(!G){this.matches.add(B,!0,!1);continue}else Y=G}if(B.isENOENT())continue;let C,W,z=!1;while(typeof(C=Y.pattern())==="string"&&(W=Y.rest()))B=B.resolve(C),Y=W,z=!0;if(C=Y.pattern(),W=Y.rest(),z){if(this.hasWalkedCache.hasWalked(B,Y))continue;this.hasWalkedCache.storeWalked(B,Y)}if(typeof C==="string"){let G=C===".."||C===""||C===".";this.matches.add(B.resolve(C),X,G);continue}else if(C===J0){if(!B.isSymbolicLink()||this.follow||Y.checkFollowGlobstar())this.subwalks.add(B,Y);let G=W?.pattern(),q=W?.rest();if(!W||(G===""||G===".")&&!q)this.matches.add(B,X,G===""||G===".");else if(G===".."){let E=B.parent||B;if(!q)this.matches.add(E,X,!0);else if(!this.hasWalkedCache.hasWalked(E,q))this.subwalks.add(E,q)}}else if(C instanceof RegExp)this.subwalks.add(B,Y)}return this}subwalkTargets(){return this.subwalks.keys()}child(){return new w8(this.opts,this.hasWalkedCache)}filterEntries(D,F){let Q=this.subwalks.get(D),B=this.child();for(let Y of F)for(let J of Q){let X=J.isAbsolute(),C=J.pattern(),W=J.rest();if(C===J0)B.testGlobstar(Y,J,W,X);else if(C instanceof RegExp)B.testRegExp(Y,C,W,X);else B.testString(Y,C,W,X)}return B}testGlobstar(D,F,Q,B){if(this.dot||!D.name.startsWith(".")){if(!F.hasMore())this.matches.add(D,B,!1);if(D.canReaddir()){if(this.follow||!D.isSymbolicLink())this.subwalks.add(D,F);else if(D.isSymbolicLink()){if(Q&&F.checkFollowGlobstar())this.subwalks.add(D,Q);else if(F.markFollowGlobstar())this.subwalks.add(D,F)}}}if(Q){let Y=Q.pattern();if(typeof Y==="string"&&Y!==".."&&Y!==""&&Y!==".")this.testString(D,Y,Q.rest(),B);else if(Y===".."){let J=D.parent||D;this.subwalks.add(J,Q)}else if(Y instanceof RegExp)this.testRegExp(D,Y,Q.rest(),B)}}testRegExp(D,F,Q,B){if(!F.test(D.name))return;if(!Q)this.matches.add(D,B,!1);else this.subwalks.add(D,Q)}testString(D,F,Q,B){if(!D.isNamed(F))return;if(!Q)this.matches.add(D,B,!1);else this.subwalks.add(D,Q)}}var _G=(D,F)=>typeof D==="string"?new I8([D],F):Array.isArray(D)?new I8(D,F):D;class r7{path;patterns;opts;seen=new Set;paused=!1;aborted=!1;#D=[];#F;#Y;signal;maxDepth;includeChildMatches;constructor(D,F,Q){if(this.patterns=D,this.path=F,this.opts=Q,this.#Y=!Q.posix&&Q.platform==="win32"?"\\":"/",this.includeChildMatches=Q.includeChildMatches!==!1,Q.ignore||!this.includeChildMatches){if(this.#F=_G(Q.ignore??[],Q),!this.includeChildMatches&&typeof this.#F.add!=="function")throw new Error("cannot ignore child matches, ignore lacks add() method.")}if(this.maxDepth=Q.maxDepth||1/0,Q.signal)this.signal=Q.signal,this.signal.addEventListener("abort",()=>{this.#D.length=0})}#X(D){return this.seen.has(D)||!!this.#F?.ignored?.(D)}#J(D){return!!this.#F?.childrenIgnored?.(D)}pause(){this.paused=!0}resume(){if(this.signal?.aborted)return;this.paused=!1;let D=void 0;while(!this.paused&&(D=this.#D.shift()))D()}onResume(D){if(this.signal?.aborted)return;if(!this.paused)D();else this.#D.push(D)}async matchCheck(D,F){if(F&&this.opts.nodir)return;let Q;if(this.opts.realpath){if(Q=D.realpathCached()||await D.realpath(),!Q)return;D=Q}let Y=D.isUnknown()||this.opts.stat?await D.lstat():D;if(this.opts.follow&&this.opts.nodir&&Y?.isSymbolicLink()){let J=await Y.realpath();if(J&&(J.isUnknown()||this.opts.stat))await J.lstat()}return this.matchCheckTest(Y,F)}matchCheckTest(D,F){return D&&(this.maxDepth===1/0||D.depth()<=this.maxDepth)&&(!F||D.canReaddir())&&(!this.opts.nodir||!D.isDirectory())&&(!this.opts.nodir||!this.opts.follow||!D.isSymbolicLink()||!D.realpathCached()?.isDirectory())&&!this.#X(D)?D:void 0}matchCheckSync(D,F){if(F&&this.opts.nodir)return;let Q;if(this.opts.realpath){if(Q=D.realpathCached()||D.realpathSync(),!Q)return;D=Q}let Y=D.isUnknown()||this.opts.stat?D.lstatSync():D;if(this.opts.follow&&this.opts.nodir&&Y?.isSymbolicLink()){let J=Y.realpathSync();if(J&&(J?.isUnknown()||this.opts.stat))J.lstatSync()}return this.matchCheckTest(Y,F)}matchFinish(D,F){if(this.#X(D))return;if(!this.includeChildMatches&&this.#F?.add){let Y=`${D.relativePosix()}/**`;this.#F.add(Y)}let Q=this.opts.absolute===void 0?F:this.opts.absolute;this.seen.add(D);let B=this.opts.mark&&D.isDirectory()?this.#Y:"";if(this.opts.withFileTypes)this.matchEmit(D);else if(Q){let Y=this.opts.posix?D.fullpathPosix():D.fullpath();this.matchEmit(Y+B)}else{let Y=this.opts.posix?D.relativePosix():D.relative(),J=this.opts.dotRelative&&!Y.startsWith(".."+this.#Y)?"."+this.#Y:"";this.matchEmit(!Y?"."+B:J+Y+B)}}async match(D,F,Q){let B=await this.matchCheck(D,Q);if(B)this.matchFinish(B,F)}matchSync(D,F,Q){let B=this.matchCheckSync(D,Q);if(B)this.matchFinish(B,F)}walkCB(D,F,Q){if(this.signal?.aborted)Q();this.walkCB2(D,F,new w8(this.opts),Q)}walkCB2(D,F,Q,B){if(this.#J(D))return B();if(this.signal?.aborted)B();if(this.paused){this.onResume(()=>this.walkCB2(D,F,Q,B));return}Q.processPatterns(D,F);let Y=1,J=()=>{if(--Y===0)B()};for(let[X,C,W]of Q.matches.entries()){if(this.#X(X))continue;Y++,this.match(X,C,W).then(()=>J())}for(let X of Q.subwalkTargets()){if(this.maxDepth!==1/0&&X.depth()>=this.maxDepth)continue;Y++;let C=X.readdirCached();if(X.calledReaddir())this.walkCB3(X,C,Q,J);else X.readdirCB((W,z)=>this.walkCB3(X,z,Q,J),!0)}J()}walkCB3(D,F,Q,B){Q=Q.filterEntries(D,F);let Y=1,J=()=>{if(--Y===0)B()};for(let[X,C,W]of Q.matches.entries()){if(this.#X(X))continue;Y++,this.match(X,C,W).then(()=>J())}for(let[X,C]of Q.subwalks.entries())Y++,this.walkCB2(X,C,Q.child(),J);J()}walkCBSync(D,F,Q){if(this.signal?.aborted)Q();this.walkCB2Sync(D,F,new w8(this.opts),Q)}walkCB2Sync(D,F,Q,B){if(this.#J(D))return B();if(this.signal?.aborted)B();if(this.paused){this.onResume(()=>this.walkCB2Sync(D,F,Q,B));return}Q.processPatterns(D,F);let Y=1,J=()=>{if(--Y===0)B()};for(let[X,C,W]of Q.matches.entries()){if(this.#X(X))continue;this.matchSync(X,C,W)}for(let X of Q.subwalkTargets()){if(this.maxDepth!==1/0&&X.depth()>=this.maxDepth)continue;Y++;let C=X.readdirSync();this.walkCB3Sync(X,C,Q,J)}J()}walkCB3Sync(D,F,Q,B){Q=Q.filterEntries(D,F);let Y=1,J=()=>{if(--Y===0)B()};for(let[X,C,W]of Q.matches.entries()){if(this.#X(X))continue;this.matchSync(X,C,W)}for(let[X,C]of Q.subwalks.entries())Y++,this.walkCB2Sync(X,C,Q.child(),J);J()}}class g6 extends r7{matches=new Set;constructor(D,F,Q){super(D,F,Q)}matchEmit(D){this.matches.add(D)}async walk(){if(this.signal?.aborted)throw this.signal.reason;if(this.path.isUnknown())await this.path.lstat();return await new Promise((D,F)=>{this.walkCB(this.path,this.patterns,()=>{if(this.signal?.aborted)F(this.signal.reason);else D(this.matches)})}),this.matches}walkSync(){if(this.signal?.aborted)throw this.signal.reason;if(this.path.isUnknown())this.path.lstatSync();return this.walkCBSync(this.path,this.patterns,()=>{if(this.signal?.aborted)throw this.signal.reason}),this.matches}}class $6 extends r7{results;constructor(D,F,Q){super(D,F,Q);this.results=new oF({signal:this.signal,objectMode:!0}),this.results.on("drain",()=>this.resume()),this.results.on("resume",()=>this.resume())}matchEmit(D){if(this.results.write(D),!this.results.flowing)this.pause()}stream(){let D=this.path;if(D.isUnknown())D.lstat().then(()=>{this.walkCB(D,this.patterns,()=>this.results.end())});else this.walkCB(D,this.patterns,()=>this.results.end());return this.results}streamSync(){if(this.path.isUnknown())this.path.lstatSync();return this.walkCBSync(this.path,this.patterns,()=>this.results.end()),this.results}}var IG=typeof process==="object"&&process&&typeof process.platform==="string"?process.platform:"linux";class qF{absolute;cwd;root;dot;dotRelative;follow;ignore;magicalBraces;mark;matchBase;maxDepth;nobrace;nocase;nodir;noext;noglobstar;pattern;platform;realpath;scurry;stat;signal;windowsPathsNoEscape;withFileTypes;includeChildMatches;opts;patterns;constructor(D,F){if(!F)throw new TypeError("glob options required");if(this.withFileTypes=!!F.withFileTypes,this.signal=F.signal,this.follow=!!F.follow,this.dot=!!F.dot,this.dotRelative=!!F.dotRelative,this.nodir=!!F.nodir,this.mark=!!F.mark,!F.cwd)this.cwd="";else if(F.cwd instanceof URL||F.cwd.startsWith("file://"))F.cwd=OG(F.cwd);if(this.cwd=F.cwd||"",this.root=F.root,this.magicalBraces=!!F.magicalBraces,this.nobrace=!!F.nobrace,this.noext=!!F.noext,this.realpath=!!F.realpath,this.absolute=F.absolute,this.includeChildMatches=F.includeChildMatches!==!1,this.noglobstar=!!F.noglobstar,this.matchBase=!!F.matchBase,this.maxDepth=typeof F.maxDepth==="number"?F.maxDepth:1/0,this.stat=!!F.stat,this.ignore=F.ignore,this.withFileTypes&&this.absolute!==void 0)throw new Error("cannot set absolute and withFileTypes:true");if(typeof D==="string")D=[D];if(this.windowsPathsNoEscape=!!F.windowsPathsNoEscape||F.allowWindowsEscape===!1,this.windowsPathsNoEscape)D=D.map((C)=>C.replace(/\\/g,"/"));if(this.matchBase){if(F.noglobstar)throw new TypeError("base matching requires globstar");D=D.map((C)=>C.includes("/")?C:`./**/${C}`)}if(this.pattern=D,this.platform=F.platform||IG,this.opts={...F,platform:this.platform},F.scurry){if(this.scurry=F.scurry,F.nocase!==void 0&&F.nocase!==F.scurry.nocase)throw new Error("nocase option contradicts provided scurry option")}else{let C=F.platform==="win32"?_8:F.platform==="darwin"?f6:F.platform?O8:OB;this.scurry=new C(this.cwd,{nocase:F.nocase,fs:F.fs})}this.nocase=this.scurry.nocase;let Q=this.platform==="darwin"||this.platform==="win32",B={...F,dot:this.dot,matchBase:this.matchBase,nobrace:this.nobrace,nocase:this.nocase,nocaseMagicOnly:Q,nocomment:!0,noext:this.noext,nonegate:!0,optimizationLevel:2,platform:this.platform,windowsPathsNoEscape:this.windowsPathsNoEscape,debug:!!this.opts.debug},Y=this.pattern.map((C)=>new h0(C,B)),[J,X]=Y.reduce((C,W)=>{return C[0].push(...W.set),C[1].push(...W.globParts),C},[[],[]]);this.patterns=J.map((C,W)=>{let z=X[W];if(!z)throw new Error("invalid pattern object");return new _2(C,z,0,this.platform)})}async walk(){return[...await new g6(this.patterns,this.scurry.cwd,{...this.opts,maxDepth:this.maxDepth!==1/0?this.maxDepth+this.scurry.cwd.depth():1/0,platform:this.platform,nocase:this.nocase,includeChildMatches:this.includeChildMatches}).walk()]}walkSync(){return[...new g6(this.patterns,this.scurry.cwd,{...this.opts,maxDepth:this.maxDepth!==1/0?this.maxDepth+this.scurry.cwd.depth():1/0,platform:this.platform,nocase:this.nocase,includeChildMatches:this.includeChildMatches}).walkSync()]}stream(){return new $6(this.patterns,this.scurry.cwd,{...this.opts,maxDepth:this.maxDepth!==1/0?this.maxDepth+this.scurry.cwd.depth():1/0,platform:this.platform,nocase:this.nocase,includeChildMatches:this.includeChildMatches}).stream()}streamSync(){return new $6(this.patterns,this.scurry.cwd,{...this.opts,maxDepth:this.maxDepth!==1/0?this.maxDepth+this.scurry.cwd.depth():1/0,platform:this.platform,nocase:this.nocase,includeChildMatches:this.includeChildMatches}).streamSync()}iterateSync(){return this.streamSync()[Symbol.iterator]()}[Symbol.iterator](){return this.iterateSync()}iterate(){return this.stream()[Symbol.asyncIterator]()}[Symbol.asyncIterator](){return this.iterate()}}var o7=(D,F={})=>{if(!Array.isArray(D))D=[D];for(let Q of D)if(new h0(Q,F).hasMagic())return!0;return!1};function m6(D,F={}){return new qF(D,F).streamSync()}function PB(D,F={}){return new qF(D,F).stream()}function SB(D,F={}){return new qF(D,F).walkSync()}async function TB(D,F={}){return new qF(D,F).walk()}function l6(D,F={}){return new qF(D,F).iterateSync()}function bB(D,F={}){return new qF(D,F).iterate()}var wG=m6,TG=Object.assign(PB,{sync:m6}),PG=l6,SG=Object.assign(bB,{sync:l6}),bG=Object.assign(SB,{stream:m6,iterate:l6}),h6=Object.assign(TB,{glob:TB,globSync:SB,sync:bG,globStream:PB,stream:TG,globStreamSync:m6,streamSync:wG,globIterate:bB,iterate:SG,globIterateSync:l6,iterateSync:PG,Glob:qF,hasMagic:o7,escape:M2,unescape:t0});h6.glob=h6;E0();async function vB(D,F={}){let Q=YD.getInstance().getTrashDirectory();if(!kB(Q))vG(Q,{recursive:!0});let B=Array.isArray(D)?D:[D];for(let Y of B){let J=await h6(Y),X=J.length>0?J:[Y];for(let C of X)try{if(!kB(C)){if(!F.force){console.error(`trash: ${C}: No such file or directory`);continue}continue}if(xG(C).isDirectory()&&!F.recursive){if(!F.force){console.error(`trash: ${C}: is a directory`);continue}}let z=yG(C),G=Date.now(),q=uG(Q,`${z}.${G}`);kG(C,q),console.log(`Moved ${z} to trash`)}catch(W){if(!F.force){let z=W instanceof Error?W.message:String(W);console.error(`trash: ${C}: ${z}`)}}}}import{readdirSync as uB,statSync as yB}from"fs";import{join as fB}from"path";E0();function fG(D){let F=D.lastIndexOf(".");if(F===-1)return{name:D,timestamp:0};let Q=parseInt(D.substring(F+1));if(isNaN(Q))return{name:D,timestamp:0};return{name:D.substring(0,F),timestamp:Q}}function xB(D){if(D===0)return"0 B";let F=1024,Q=["B","KB","MB","GB"],B=Math.floor(Math.log(D)/Math.log(F));return parseFloat((D/Math.pow(F,B)).toFixed(2))+" "+Q[B]}function gB(D){let F=0,Q=uB(D);for(let B of Q){let Y=fB(D,B),J=yB(Y);if(J.isDirectory())F+=gB(Y);else F+=J.size}return F}async function $B(){let D=YD.getInstance().getTrashDirectory();try{let F=uB(D);if(F.length===0){tD.info("\uD83D\uDDD1️ Trash is empty");return}let Q=F.map((X)=>{let C=fB(D,X),W=yB(C),{name:z,timestamp:G}=fG(X),q=W.isDirectory()?gB(C):W.size;return{originalName:z,trashedName:X,size:q,trashedAt:new Date(G),isDirectory:W.isDirectory()}});Q.sort((X,C)=>C.trashedAt.getTime()-X.trashedAt.getTime()),console.log(`
|
||
\uD83D\uDDD1️ Trash Contents
|
||
`),console.log("─".repeat(80));let B=0,Y=0,J=0;for(let X of Q){if(B+=X.size,X.isDirectory)Y++;else J++;let C=X.isDirectory?"\uD83D\uDCC1":"\uD83D\uDCC4",W=X.trashedAt.toLocaleString(),z=xB(X.size);console.log(`${C} ${X.originalName}`),console.log(` Size: ${z} | Trashed: ${W}`),console.log(` ID: ${X.trashedName}`),console.log()}console.log("─".repeat(80)),console.log(`Total: ${Y} folders, ${J} files (${xB(B)})`),console.log(`
|
||
To restore files: claude-mem restore`),console.log("To empty trash: claude-mem trash empty")}catch(F){if(F.code==="ENOENT")tD.info("\uD83D\uDDD1️ Trash is empty");else tD.error("Failed to read trash directory"),console.error(F)}}import{rmSync as gG,readdirSync as $G,existsSync as hG,statSync as mG}from"fs";import{join as hB}from"path";E0();async function mB(D={}){let F=YD.getInstance().getTrashDirectory();if(!hG(F)){tD.info("\uD83D\uDDD1️ Trash is already empty");return}try{let Q=$G(F);if(Q.length===0){tD.info("\uD83D\uDDD1️ Trash is already empty");return}let B=0,Y=0;for(let X of Q){let C=hB(F,X);if(mG(C).isDirectory())B++;else Y++}if(!D.force){let X=await K2({message:`Permanently delete ${B} folders and ${Y} files from trash?`,initialValue:!1});if(u0(X)||!X){tD.info("Cancelled - trash not emptied");return}}let J=t8();J.start("Emptying trash...");for(let X of Q){let C=hB(F,X);gG(C,{recursive:!0,force:!0})}J.stop(`\uD83D\uDDD1️ Trash emptied - permanently deleted ${B} folders and ${Y} files`)}catch(Q){tD.error("Failed to empty trash"),console.error(Q),process.exit(1)}}import{readdirSync as lG,renameSync as dG}from"fs";import{join as lB}from"path";E0();async function dB(){let D=YD.getInstance().getTrashDirectory(),F=lG(D);if(F.length===0){console.log("Trash is empty");return}let Q=await s8({message:"Select file to restore:",options:F.map((B)=>({value:B,label:B}))});if(u0(Q))return;dG(lB(D,Q),lB(process.cwd(),Q)),console.log(`Restored ${Q}`)}import{join as aB}from"path";import{fileURLToPath as Sq}from"url";import{setMaxListeners as bq}from"events";import{spawn as vq}from"child_process";import{createInterface as xq}from"readline";import*as zD from"fs";import{stat as uq,open as EM}from"fs/promises";var{create:cG,getPrototypeOf:pG,defineProperty:t7,getOwnPropertyNames:nG}=Object,iG=Object.prototype.hasOwnProperty,aG=(D,F,Q)=>{Q=D!=null?cG(pG(D)):{};let B=F||!D||!D.__esModule?t7(Q,"default",{value:D,enumerable:!0}):Q;for(let Y of nG(D))if(!iG.call(B,Y))t7(B,Y,{get:()=>D[Y],enumerable:!0});return B},HD=(D,F)=>()=>(F||D((F={exports:{}}).exports,F),F.exports),rG=(D,F)=>{for(var Q in F)t7(D,Q,{get:F[Q],enumerable:!0,configurable:!0,set:(B)=>F[Q]=()=>B})},oG=HD((D,F)=>{(function(Q,B){typeof D==="object"&&typeof F!=="undefined"?B(D):typeof define==="function"&&define.amd?define(["exports"],B):B(Q.URI=Q.URI||{})})(D,function(Q){function B(){for(var P=arguments.length,M=Array(P),v=0;v<P;v++)M[v]=arguments[v];if(M.length>1){M[0]=M[0].slice(0,-1);var $=M.length-1;for(var m=1;m<$;++m)M[m]=M[m].slice(1,-1);return M[$]=M[$].slice(1),M.join("")}else return M[0]}function Y(P){return"(?:"+P+")"}function J(P){return P===void 0?"undefined":P===null?"null":Object.prototype.toString.call(P).split(" ").pop().split("]").shift().toLowerCase()}function X(P){return P.toUpperCase()}function C(P){return P!==void 0&&P!==null?P instanceof Array?P:typeof P.length!=="number"||P.split||P.setInterval||P.call?[P]:Array.prototype.slice.call(P):[]}function W(P,M){var v=P;if(M)for(var $ in M)v[$]=M[$];return v}function z(P){var M="[A-Za-z]",v="[\\x0D]",$="[0-9]",m="[\\x22]",t=B($,"[A-Fa-f]"),ZD="[\\x0A]",RD="[\\x20]",wD=Y(Y("%[EFef]"+t+"%"+t+t+"%"+t+t)+"|"+Y("%[89A-Fa-f]"+t+"%"+t+t)+"|"+Y("%"+t+t)),oD="[\\:\\/\\?\\#\\[\\]\\@]",ND="[\\!\\$\\&\\'\\(\\)\\*\\+\\,\\;\\=]",gD=B(oD,ND),sD=P?"[\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]":"[]",vD=P?"[\\uE000-\\uF8FF]":"[]",OD=B(M,$,"[\\-\\.\\_\\~]",sD),$D=Y(M+B(M,$,"[\\+\\-\\.]")+"*"),PD=Y(Y(wD+"|"+B(OD,ND,"[\\:]"))+"*"),fF=Y(Y("25[0-5]")+"|"+Y("2[0-4]"+$)+"|"+Y("1"+$+$)+"|"+Y("[1-9]"+$)+"|"+$),_0=Y(Y("25[0-5]")+"|"+Y("2[0-4]"+$)+"|"+Y("1"+$+$)+"|"+Y("0?[1-9]"+$)+"|0?0?"+$),v0=Y(_0+"\\."+_0+"\\."+_0+"\\."+_0),SD=Y(t+"{1,4}"),O0=Y(Y(SD+"\\:"+SD)+"|"+v0),x0=Y(Y(SD+"\\:")+"{6}"+O0),JF=Y("\\:\\:"+Y(SD+"\\:")+"{5}"+O0),gF=Y(Y(SD)+"?\\:\\:"+Y(SD+"\\:")+"{4}"+O0),EF=Y(Y(Y(SD+"\\:")+"{0,1}"+SD)+"?\\:\\:"+Y(SD+"\\:")+"{3}"+O0),p2=Y(Y(Y(SD+"\\:")+"{0,2}"+SD)+"?\\:\\:"+Y(SD+"\\:")+"{2}"+O0),$8=Y(Y(Y(SD+"\\:")+"{0,3}"+SD)+"?\\:\\:"+SD+"\\:"+O0),h8=Y(Y(Y(SD+"\\:")+"{0,4}"+SD)+"?\\:\\:"+O0),X2=Y(Y(Y(SD+"\\:")+"{0,5}"+SD)+"?\\:\\:"+SD),Y2=Y(Y(Y(SD+"\\:")+"{0,6}"+SD)+"?\\:\\:"),ZF=Y([x0,JF,gF,EF,p2,$8,h8,X2,Y2].join("|")),J2=Y(Y(OD+"|"+wD)+"+"),D1=Y(ZF+"\\%25"+J2),$F=Y(ZF+Y("\\%25|\\%(?!"+t+"{2})")+J2),zX=Y("[vV]"+t+"+\\."+B(OD,ND,"[\\:]")+"+"),GX=Y("\\["+Y($F+"|"+ZF+"|"+zX)+"\\]"),R9=Y(Y(wD+"|"+B(OD,ND))+"*"),n2=Y(GX+"|"+v0+"(?!"+R9+")|"+R9),i2=Y($+"*"),_9=Y(Y(PD+"@")+"?"+n2+Y("\\:"+i2)+"?"),a2=Y(wD+"|"+B(OD,ND,"[\\:\\@]")),qX=Y(a2+"*"),O9=Y(a2+"+"),KX=Y(Y(wD+"|"+B(OD,ND,"[\\@]"))+"+"),AF=Y(Y("\\/"+qX)+"*"),C2=Y("\\/"+Y(O9+AF)+"?"),F1=Y(KX+AF),m8=Y(O9+AF),W2="(?!"+a2+")",KU=Y(AF+"|"+C2+"|"+F1+"|"+m8+"|"+W2),z2=Y(Y(a2+"|"+B("[\\/\\?]",vD))+"*"),r2=Y(Y(a2+"|[\\/\\?]")+"*"),I9=Y(Y("\\/\\/"+_9+AF)+"|"+C2+"|"+m8+"|"+W2),HX=Y($D+"\\:"+I9+Y("\\?"+z2)+"?"+Y("\\#"+r2)+"?"),UX=Y(Y("\\/\\/"+_9+AF)+"|"+C2+"|"+F1+"|"+W2),EX=Y(UX+Y("\\?"+z2)+"?"+Y("\\#"+r2)+"?"),HU=Y(HX+"|"+EX),UU=Y($D+"\\:"+I9+Y("\\?"+z2)+"?"),EU="^("+$D+")\\:"+Y(Y("\\/\\/("+Y("("+PD+")@")+"?("+n2+")"+Y("\\:("+i2+")")+"?)")+"?("+AF+"|"+C2+"|"+m8+"|"+W2+")")+Y("\\?("+z2+")")+"?"+Y("\\#("+r2+")")+"?$",ZU="^(){0}"+Y(Y("\\/\\/("+Y("("+PD+")@")+"?("+n2+")"+Y("\\:("+i2+")")+"?)")+"?("+AF+"|"+C2+"|"+F1+"|"+W2+")")+Y("\\?("+z2+")")+"?"+Y("\\#("+r2+")")+"?$",AU="^("+$D+")\\:"+Y(Y("\\/\\/("+Y("("+PD+")@")+"?("+n2+")"+Y("\\:("+i2+")")+"?)")+"?("+AF+"|"+C2+"|"+m8+"|"+W2+")")+Y("\\?("+z2+")")+"?$",VU="^"+Y("\\#("+r2+")")+"?$",LU="^"+Y("("+PD+")@")+"?("+n2+")"+Y("\\:("+i2+")")+"?$";return{NOT_SCHEME:new RegExp(B("[^]",M,$,"[\\+\\-\\.]"),"g"),NOT_USERINFO:new RegExp(B("[^\\%\\:]",OD,ND),"g"),NOT_HOST:new RegExp(B("[^\\%\\[\\]\\:]",OD,ND),"g"),NOT_PATH:new RegExp(B("[^\\%\\/\\:\\@]",OD,ND),"g"),NOT_PATH_NOSCHEME:new RegExp(B("[^\\%\\/\\@]",OD,ND),"g"),NOT_QUERY:new RegExp(B("[^\\%]",OD,ND,"[\\:\\@\\/\\?]",vD),"g"),NOT_FRAGMENT:new RegExp(B("[^\\%]",OD,ND,"[\\:\\@\\/\\?]"),"g"),ESCAPE:new RegExp(B("[^]",OD,ND),"g"),UNRESERVED:new RegExp(OD,"g"),OTHER_CHARS:new RegExp(B("[^\\%]",OD,gD),"g"),PCT_ENCODED:new RegExp(wD,"g"),IPV4ADDRESS:new RegExp("^("+v0+")$"),IPV6ADDRESS:new RegExp("^\\[?("+ZF+")"+Y(Y("\\%25|\\%(?!"+t+"{2})")+"("+J2+")")+"?\\]?$")}}var G=z(!1),q=z(!0),E=function(){function P(M,v){var $=[],m=!0,t=!1,ZD=void 0;try{for(var RD=M[Symbol.iterator](),wD;!(m=(wD=RD.next()).done);m=!0)if($.push(wD.value),v&&$.length===v)break}catch(oD){t=!0,ZD=oD}finally{try{if(!m&&RD.return)RD.return()}finally{if(t)throw ZD}}return $}return function(M,v){if(Array.isArray(M))return M;else if(Symbol.iterator in Object(M))return P(M,v);else throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),U=function(P){if(Array.isArray(P)){for(var M=0,v=Array(P.length);M<P.length;M++)v[M]=P[M];return v}else return Array.from(P)},A=2147483647,K=36,V=1,j=26,L=38,R=700,b=72,k=128,I="-",u=/^xn--/,f=/[^\0-\x7E]/,O=/[\x2E\u3002\uFF0E\uFF61]/g,y={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},x=K-V,w=Math.floor,S=String.fromCharCode;function g(P){throw new RangeError(y[P])}function d(P,M){var v=[],$=P.length;while($--)v[$]=M(P[$]);return v}function n(P,M){var v=P.split("@"),$="";if(v.length>1)$=v[0]+"@",P=v[1];P=P.replace(O,".");var m=P.split("."),t=d(m,M).join(".");return $+t}function a(P){var M=[],v=0,$=P.length;while(v<$){var m=P.charCodeAt(v++);if(m>=55296&&m<=56319&&v<$){var t=P.charCodeAt(v++);if((t&64512)==56320)M.push(((m&1023)<<10)+(t&1023)+65536);else M.push(m),v--}else M.push(m)}return M}var DD=function P(M){return String.fromCodePoint.apply(String,U(M))},o=function P(M){if(M-48<10)return M-22;if(M-65<26)return M-65;if(M-97<26)return M-97;return K},JD=function P(M,v){return M+22+75*(M<26)-((v!=0)<<5)},CD=function P(M,v,$){var m=0;M=$?w(M/R):M>>1,M+=w(M/v);for(;M>x*j>>1;m+=K)M=w(M/x);return w(m+(x+1)*M/(M+L))},FD=function P(M){var v=[],$=M.length,m=0,t=k,ZD=b,RD=M.lastIndexOf(I);if(RD<0)RD=0;for(var wD=0;wD<RD;++wD){if(M.charCodeAt(wD)>=128)g("not-basic");v.push(M.charCodeAt(wD))}for(var oD=RD>0?RD+1:0;oD<$;){var ND=m;for(var gD=1,sD=K;;sD+=K){if(oD>=$)g("invalid-input");var vD=o(M.charCodeAt(oD++));if(vD>=K||vD>w((A-m)/gD))g("overflow");m+=vD*gD;var OD=sD<=ZD?V:sD>=ZD+j?j:sD-ZD;if(vD<OD)break;var $D=K-OD;if(gD>w(A/$D))g("overflow");gD*=$D}var PD=v.length+1;if(ZD=CD(m-ND,PD,ND==0),w(m/PD)>A-t)g("overflow");t+=w(m/PD),m%=PD,v.splice(m++,0,t)}return String.fromCodePoint.apply(String,v)},MD=function P(M){var v=[];M=a(M);var $=M.length,m=k,t=0,ZD=b,RD=!0,wD=!1,oD=void 0;try{for(var ND=M[Symbol.iterator](),gD;!(RD=(gD=ND.next()).done);RD=!0){var sD=gD.value;if(sD<128)v.push(S(sD))}}catch($F){wD=!0,oD=$F}finally{try{if(!RD&&ND.return)ND.return()}finally{if(wD)throw oD}}var vD=v.length,OD=vD;if(vD)v.push(I);while(OD<$){var $D=A,PD=!0,fF=!1,_0=void 0;try{for(var v0=M[Symbol.iterator](),SD;!(PD=(SD=v0.next()).done);PD=!0){var O0=SD.value;if(O0>=m&&O0<$D)$D=O0}}catch($F){fF=!0,_0=$F}finally{try{if(!PD&&v0.return)v0.return()}finally{if(fF)throw _0}}var x0=OD+1;if($D-m>w((A-t)/x0))g("overflow");t+=($D-m)*x0,m=$D;var JF=!0,gF=!1,EF=void 0;try{for(var p2=M[Symbol.iterator](),$8;!(JF=($8=p2.next()).done);JF=!0){var h8=$8.value;if(h8<m&&++t>A)g("overflow");if(h8==m){var X2=t;for(var Y2=K;;Y2+=K){var ZF=Y2<=ZD?V:Y2>=ZD+j?j:Y2-ZD;if(X2<ZF)break;var J2=X2-ZF,D1=K-ZF;v.push(S(JD(ZF+J2%D1,0))),X2=w(J2/D1)}v.push(S(JD(X2,0))),ZD=CD(t,x0,OD==vD),t=0,++OD}}}catch($F){gF=!0,EF=$F}finally{try{if(!JF&&p2.return)p2.return()}finally{if(gF)throw EF}}++t,++m}return v.join("")},dD=function P(M){return n(M,function(v){return u.test(v)?FD(v.slice(4).toLowerCase()):v})},nD=function P(M){return n(M,function(v){return f.test(v)?"xn--"+MD(v):v})},N={version:"2.1.0",ucs2:{decode:a,encode:DD},decode:FD,encode:MD,toASCII:nD,toUnicode:dD},_={};function H(P){var M=P.charCodeAt(0),v=void 0;if(M<16)v="%0"+M.toString(16).toUpperCase();else if(M<128)v="%"+M.toString(16).toUpperCase();else if(M<2048)v="%"+(M>>6|192).toString(16).toUpperCase()+"%"+(M&63|128).toString(16).toUpperCase();else v="%"+(M>>12|224).toString(16).toUpperCase()+"%"+(M>>6&63|128).toString(16).toUpperCase()+"%"+(M&63|128).toString(16).toUpperCase();return v}function T(P){var M="",v=0,$=P.length;while(v<$){var m=parseInt(P.substr(v+1,2),16);if(m<128)M+=String.fromCharCode(m),v+=3;else if(m>=194&&m<224){if($-v>=6){var t=parseInt(P.substr(v+4,2),16);M+=String.fromCharCode((m&31)<<6|t&63)}else M+=P.substr(v,6);v+=6}else if(m>=224){if($-v>=9){var ZD=parseInt(P.substr(v+4,2),16),RD=parseInt(P.substr(v+7,2),16);M+=String.fromCharCode((m&15)<<12|(ZD&63)<<6|RD&63)}else M+=P.substr(v,9);v+=9}else M+=P.substr(v,3),v+=3}return M}function h(P,M){function v($){var m=T($);return!m.match(M.UNRESERVED)?$:m}if(P.scheme)P.scheme=String(P.scheme).replace(M.PCT_ENCODED,v).toLowerCase().replace(M.NOT_SCHEME,"");if(P.userinfo!==void 0)P.userinfo=String(P.userinfo).replace(M.PCT_ENCODED,v).replace(M.NOT_USERINFO,H).replace(M.PCT_ENCODED,X);if(P.host!==void 0)P.host=String(P.host).replace(M.PCT_ENCODED,v).toLowerCase().replace(M.NOT_HOST,H).replace(M.PCT_ENCODED,X);if(P.path!==void 0)P.path=String(P.path).replace(M.PCT_ENCODED,v).replace(P.scheme?M.NOT_PATH:M.NOT_PATH_NOSCHEME,H).replace(M.PCT_ENCODED,X);if(P.query!==void 0)P.query=String(P.query).replace(M.PCT_ENCODED,v).replace(M.NOT_QUERY,H).replace(M.PCT_ENCODED,X);if(P.fragment!==void 0)P.fragment=String(P.fragment).replace(M.PCT_ENCODED,v).replace(M.NOT_FRAGMENT,H).replace(M.PCT_ENCODED,X);return P}function c(P){return P.replace(/^0*(.*)/,"$1")||"0"}function l(P,M){var v=P.match(M.IPV4ADDRESS)||[],$=E(v,2),m=$[1];if(m)return m.split(".").map(c).join(".");else return P}function p(P,M){var v=P.match(M.IPV6ADDRESS)||[],$=E(v,3),m=$[1],t=$[2];if(m){var ZD=m.toLowerCase().split("::").reverse(),RD=E(ZD,2),wD=RD[0],oD=RD[1],ND=oD?oD.split(":").map(c):[],gD=wD.split(":").map(c),sD=M.IPV4ADDRESS.test(gD[gD.length-1]),vD=sD?7:8,OD=gD.length-vD,$D=Array(vD);for(var PD=0;PD<vD;++PD)$D[PD]=ND[PD]||gD[OD+PD]||"";if(sD)$D[vD-1]=l($D[vD-1],M);var fF=$D.reduce(function(x0,JF,gF){if(!JF||JF==="0"){var EF=x0[x0.length-1];if(EF&&EF.index+EF.length===gF)EF.length++;else x0.push({index:gF,length:1})}return x0},[]),_0=fF.sort(function(x0,JF){return JF.length-x0.length})[0],v0=void 0;if(_0&&_0.length>1){var SD=$D.slice(0,_0.index),O0=$D.slice(_0.index+_0.length);v0=SD.join(":")+"::"+O0.join(":")}else v0=$D.join(":");if(t)v0+="%"+t;return v0}else return P}var QD=/^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i,KD="".match(/(){0}/)[1]===void 0;function WD(P){var M=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},v={},$=M.iri!==!1?q:G;if(M.reference==="suffix")P=(M.scheme?M.scheme+":":"")+"//"+P;var m=P.match(QD);if(m){if(KD){if(v.scheme=m[1],v.userinfo=m[3],v.host=m[4],v.port=parseInt(m[5],10),v.path=m[6]||"",v.query=m[7],v.fragment=m[8],isNaN(v.port))v.port=m[5]}else if(v.scheme=m[1]||void 0,v.userinfo=P.indexOf("@")!==-1?m[3]:void 0,v.host=P.indexOf("//")!==-1?m[4]:void 0,v.port=parseInt(m[5],10),v.path=m[6]||"",v.query=P.indexOf("?")!==-1?m[7]:void 0,v.fragment=P.indexOf("#")!==-1?m[8]:void 0,isNaN(v.port))v.port=P.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/)?m[4]:void 0;if(v.host)v.host=p(l(v.host,$),$);if(v.scheme===void 0&&v.userinfo===void 0&&v.host===void 0&&v.port===void 0&&!v.path&&v.query===void 0)v.reference="same-document";else if(v.scheme===void 0)v.reference="relative";else if(v.fragment===void 0)v.reference="absolute";else v.reference="uri";if(M.reference&&M.reference!=="suffix"&&M.reference!==v.reference)v.error=v.error||"URI is not a "+M.reference+" reference.";var t=_[(M.scheme||v.scheme||"").toLowerCase()];if(!M.unicodeSupport&&(!t||!t.unicodeSupport)){if(v.host&&(M.domainHost||t&&t.domainHost))try{v.host=N.toASCII(v.host.replace($.PCT_ENCODED,T).toLowerCase())}catch(ZD){v.error=v.error||"Host's domain name can not be converted to ASCII via punycode: "+ZD}h(v,G)}else h(v,$);if(t&&t.parse)t.parse(v,M)}else v.error=v.error||"URI can not be parsed.";return v}function AD(P,M){var v=M.iri!==!1?q:G,$=[];if(P.userinfo!==void 0)$.push(P.userinfo),$.push("@");if(P.host!==void 0)$.push(p(l(String(P.host),v),v).replace(v.IPV6ADDRESS,function(m,t,ZD){return"["+t+(ZD?"%25"+ZD:"")+"]"}));if(typeof P.port==="number"||typeof P.port==="string")$.push(":"),$.push(String(P.port));return $.length?$.join(""):void 0}var bD=/^\.\.?\//,_D=/^\/\.(\/|$)/,Q0=/^\/\.\.(\/|$)/,cD=/^\/?(?:.|\n)*?(?=\/|$)/;function H0(P){var M=[];while(P.length)if(P.match(bD))P=P.replace(bD,"");else if(P.match(_D))P=P.replace(_D,"/");else if(P.match(Q0))P=P.replace(Q0,"/"),M.pop();else if(P==="."||P==="..")P="";else{var v=P.match(cD);if(v){var $=v[0];P=P.slice($.length),M.push($)}else throw new Error("Unexpected dot segment condition")}return M.join("")}function kD(P){var M=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},v=M.iri?q:G,$=[],m=_[(M.scheme||P.scheme||"").toLowerCase()];if(m&&m.serialize)m.serialize(P,M);if(P.host){if(v.IPV6ADDRESS.test(P.host));else if(M.domainHost||m&&m.domainHost)try{P.host=!M.iri?N.toASCII(P.host.replace(v.PCT_ENCODED,T).toLowerCase()):N.toUnicode(P.host)}catch(RD){P.error=P.error||"Host's domain name can not be converted to "+(!M.iri?"ASCII":"Unicode")+" via punycode: "+RD}}if(h(P,v),M.reference!=="suffix"&&P.scheme)$.push(P.scheme),$.push(":");var t=AD(P,M);if(t!==void 0){if(M.reference!=="suffix")$.push("//");if($.push(t),P.path&&P.path.charAt(0)!=="/")$.push("/")}if(P.path!==void 0){var ZD=P.path;if(!M.absolutePath&&(!m||!m.absolutePath))ZD=H0(ZD);if(t===void 0)ZD=ZD.replace(/^\/\//,"/%2F");$.push(ZD)}if(P.query!==void 0)$.push("?"),$.push(P.query);if(P.fragment!==void 0)$.push("#"),$.push(P.fragment);return $.join("")}function eD(P,M){var v=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},$=arguments[3],m={};if(!$)P=WD(kD(P,v),v),M=WD(kD(M,v),v);if(v=v||{},!v.tolerant&&M.scheme)m.scheme=M.scheme,m.userinfo=M.userinfo,m.host=M.host,m.port=M.port,m.path=H0(M.path||""),m.query=M.query;else{if(M.userinfo!==void 0||M.host!==void 0||M.port!==void 0)m.userinfo=M.userinfo,m.host=M.host,m.port=M.port,m.path=H0(M.path||""),m.query=M.query;else{if(!M.path)if(m.path=P.path,M.query!==void 0)m.query=M.query;else m.query=P.query;else{if(M.path.charAt(0)==="/")m.path=H0(M.path);else{if((P.userinfo!==void 0||P.host!==void 0||P.port!==void 0)&&!P.path)m.path="/"+M.path;else if(!P.path)m.path=M.path;else m.path=P.path.slice(0,P.path.lastIndexOf("/")+1)+M.path;m.path=H0(m.path)}m.query=M.query}m.userinfo=P.userinfo,m.host=P.host,m.port=P.port}m.scheme=P.scheme}return m.fragment=M.fragment,m}function k0(P,M,v){var $=W({scheme:"null"},v);return kD(eD(WD(P,$),WD(M,$),$,!0),$)}function R0(P,M){if(typeof P==="string")P=kD(WD(P,M),M);else if(J(P)==="object")P=WD(kD(P,M),M);return P}function g8(P,M,v){if(typeof P==="string")P=kD(WD(P,v),v);else if(J(P)==="object")P=kD(P,v);if(typeof M==="string")M=kD(WD(M,v),v);else if(J(M)==="object")M=kD(M,v);return P===M}function t6(P,M){return P&&P.toString().replace(!M||!M.iri?G.ESCAPE:q.ESCAPE,H)}function n0(P,M){return P&&P.toString().replace(!M||!M.iri?G.PCT_ENCODED:q.PCT_ENCODED,T)}var d2={scheme:"http",domainHost:!0,parse:function P(M,v){if(!M.host)M.error=M.error||"HTTP URIs must have a host.";return M},serialize:function P(M,v){var $=String(M.scheme).toLowerCase()==="https";if(M.port===($?443:80)||M.port==="")M.port=void 0;if(!M.path)M.path="/";return M}},E9={scheme:"https",domainHost:d2.domainHost,parse:d2.parse,serialize:d2.serialize};function Z9(P){return typeof P.secure==="boolean"?P.secure:String(P.scheme).toLowerCase()==="wss"}var c2={scheme:"ws",domainHost:!0,parse:function P(M,v){var $=M;return $.secure=Z9($),$.resourceName=($.path||"/")+($.query?"?"+$.query:""),$.path=void 0,$.query=void 0,$},serialize:function P(M,v){if(M.port===(Z9(M)?443:80)||M.port==="")M.port=void 0;if(typeof M.secure==="boolean")M.scheme=M.secure?"wss":"ws",M.secure=void 0;if(M.resourceName){var $=M.resourceName.split("?"),m=E($,2),t=m[0],ZD=m[1];M.path=t&&t!=="/"?t:void 0,M.query=ZD,M.resourceName=void 0}return M.fragment=void 0,M}},A9={scheme:"wss",domainHost:c2.domainHost,parse:c2.parse,serialize:c2.serialize},sQ={},tQ=!0,V9="[A-Za-z0-9\\-\\.\\_\\~"+(tQ?"\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF":"")+"]",YF="[0-9A-Fa-f]",eQ=Y(Y("%[EFef]"+YF+"%"+YF+YF+"%"+YF+YF)+"|"+Y("%[89A-Fa-f]"+YF+"%"+YF+YF)+"|"+Y("%"+YF+YF)),DX="[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]",FX="[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]",BX=B(FX,"[\\\"\\\\]"),QX="[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]",XX=new RegExp(V9,"g"),Q2=new RegExp(eQ,"g"),YX=new RegExp(B("[^]",DX,"[\\.]","[\\\"]",BX),"g"),L9=new RegExp(B("[^]",V9,QX),"g"),JX=L9;function e6(P){var M=T(P);return!M.match(XX)?P:M}var M9={scheme:"mailto",parse:function P(M,v){var $=M,m=$.to=$.path?$.path.split(","):[];if($.path=void 0,$.query){var t=!1,ZD={},RD=$.query.split("&");for(var wD=0,oD=RD.length;wD<oD;++wD){var ND=RD[wD].split("=");switch(ND[0]){case"to":var gD=ND[1].split(",");for(var sD=0,vD=gD.length;sD<vD;++sD)m.push(gD[sD]);break;case"subject":$.subject=n0(ND[1],v);break;case"body":$.body=n0(ND[1],v);break;default:t=!0,ZD[n0(ND[0],v)]=n0(ND[1],v);break}}if(t)$.headers=ZD}$.query=void 0;for(var OD=0,$D=m.length;OD<$D;++OD){var PD=m[OD].split("@");if(PD[0]=n0(PD[0]),!v.unicodeSupport)try{PD[1]=N.toASCII(n0(PD[1],v).toLowerCase())}catch(fF){$.error=$.error||"Email address's domain name can not be converted to ASCII via punycode: "+fF}else PD[1]=n0(PD[1],v).toLowerCase();m[OD]=PD.join("@")}return $},serialize:function P(M,v){var $=M,m=C(M.to);if(m){for(var t=0,ZD=m.length;t<ZD;++t){var RD=String(m[t]),wD=RD.lastIndexOf("@"),oD=RD.slice(0,wD).replace(Q2,e6).replace(Q2,X).replace(YX,H),ND=RD.slice(wD+1);try{ND=!v.iri?N.toASCII(n0(ND,v).toLowerCase()):N.toUnicode(ND)}catch(OD){$.error=$.error||"Email address's domain name can not be converted to "+(!v.iri?"ASCII":"Unicode")+" via punycode: "+OD}m[t]=oD+"@"+ND}$.path=m.join(",")}var gD=M.headers=M.headers||{};if(M.subject)gD.subject=M.subject;if(M.body)gD.body=M.body;var sD=[];for(var vD in gD)if(gD[vD]!==sQ[vD])sD.push(vD.replace(Q2,e6).replace(Q2,X).replace(L9,H)+"="+gD[vD].replace(Q2,e6).replace(Q2,X).replace(JX,H));if(sD.length)$.query=sD.join("&");return $}},CX=/^([^\:]+)\:(.*)/,N9={scheme:"urn",parse:function P(M,v){var $=M.path&&M.path.match(CX),m=M;if($){var t=v.scheme||m.scheme||"urn",ZD=$[1].toLowerCase(),RD=$[2],wD=t+":"+(v.nid||ZD),oD=_[wD];if(m.nid=ZD,m.nss=RD,m.path=void 0,oD)m=oD.parse(m,v)}else m.error=m.error||"URN can not be parsed.";return m},serialize:function P(M,v){var $=v.scheme||M.scheme||"urn",m=M.nid,t=$+":"+(v.nid||m),ZD=_[t];if(ZD)M=ZD.serialize(M,v);var RD=M,wD=M.nss;return RD.path=(m||v.nid)+":"+wD,RD}},WX=/^[0-9A-Fa-f]{8}(?:\-[0-9A-Fa-f]{4}){3}\-[0-9A-Fa-f]{12}$/,j9={scheme:"urn:uuid",parse:function P(M,v){var $=M;if($.uuid=$.nss,$.nss=void 0,!v.tolerant&&(!$.uuid||!$.uuid.match(WX)))$.error=$.error||"UUID is not valid.";return $},serialize:function P(M,v){var $=M;return $.nss=(M.uuid||"").toLowerCase(),$}};_[d2.scheme]=d2,_[E9.scheme]=E9,_[c2.scheme]=c2,_[A9.scheme]=A9,_[M9.scheme]=M9,_[N9.scheme]=N9,_[j9.scheme]=j9,Q.SCHEMES=_,Q.pctEncChar=H,Q.pctDecChars=T,Q.parse=WD,Q.removeDotSegments=H0,Q.serialize=kD,Q.resolveComponents=eD,Q.resolve=k0,Q.normalize=R0,Q.equal=g8,Q.escapeComponent=t6,Q.unescapeComponent=n0,Object.defineProperty(Q,"__esModule",{value:!0})})}),Y9=HD((D,F)=>{F.exports=function Q(B,Y){if(B===Y)return!0;if(B&&Y&&typeof B=="object"&&typeof Y=="object"){if(B.constructor!==Y.constructor)return!1;var J,X,C;if(Array.isArray(B)){if(J=B.length,J!=Y.length)return!1;for(X=J;X--!==0;)if(!Q(B[X],Y[X]))return!1;return!0}if(B.constructor===RegExp)return B.source===Y.source&&B.flags===Y.flags;if(B.valueOf!==Object.prototype.valueOf)return B.valueOf()===Y.valueOf();if(B.toString!==Object.prototype.toString)return B.toString()===Y.toString();if(C=Object.keys(B),J=C.length,J!==Object.keys(Y).length)return!1;for(X=J;X--!==0;)if(!Object.prototype.hasOwnProperty.call(Y,C[X]))return!1;for(X=J;X--!==0;){var W=C[X];if(!Q(B[W],Y[W]))return!1}return!0}return B!==B&&Y!==Y}}),sG=HD((D,F)=>{F.exports=function Q(B){var Y=0,J=B.length,X=0,C;while(X<J)if(Y++,C=B.charCodeAt(X++),C>=55296&&C<=56319&&X<J){if(C=B.charCodeAt(X),(C&64512)==56320)X++}return Y}}),m2=HD((D,F)=>{F.exports={copy:Q,checkDataType:B,checkDataTypes:Y,coerceToTypes:X,toHash:C,getProperty:G,escapeQuotes:q,equal:Y9(),ucs2length:sG(),varOccurences:E,varReplace:U,schemaHasRules:A,schemaHasRulesExcept:K,schemaUnknownRules:V,toQuotedString:j,getPathExpr:L,getPath:R,getData:I,unescapeFragment:f,unescapeJsonPointer:x,escapeFragment:O,escapeJsonPointer:y};function Q(w,S){S=S||{};for(var g in w)S[g]=w[g];return S}function B(w,S,g,d){var n=d?" !== ":" === ",a=d?" || ":" && ",DD=d?"!":"",o=d?"":"!";switch(w){case"null":return S+n+"null";case"array":return DD+"Array.isArray("+S+")";case"object":return"("+DD+S+a+"typeof "+S+n+'"object"'+a+o+"Array.isArray("+S+"))";case"integer":return"(typeof "+S+n+'"number"'+a+o+"("+S+" % 1)"+a+S+n+S+(g?a+DD+"isFinite("+S+")":"")+")";case"number":return"(typeof "+S+n+'"'+w+'"'+(g?a+DD+"isFinite("+S+")":"")+")";default:return"typeof "+S+n+'"'+w+'"'}}function Y(w,S,g){switch(w.length){case 1:return B(w[0],S,g,!0);default:var d="",n=C(w);if(n.array&&n.object)d=n.null?"(":"(!"+S+" || ",d+="typeof "+S+' !== "object")',delete n.null,delete n.array,delete n.object;if(n.number)delete n.integer;for(var a in n)d+=(d?" && ":"")+B(a,S,g,!0);return d}}var J=C(["string","number","integer","boolean","null"]);function X(w,S){if(Array.isArray(S)){var g=[];for(var d=0;d<S.length;d++){var n=S[d];if(J[n])g[g.length]=n;else if(w==="array"&&n==="array")g[g.length]=n}if(g.length)return g}else if(J[S])return[S];else if(w==="array"&&S==="array")return["array"]}function C(w){var S={};for(var g=0;g<w.length;g++)S[w[g]]=!0;return S}var W=/^[a-z$_][a-z$_0-9]*$/i,z=/'|\\/g;function G(w){return typeof w=="number"?"["+w+"]":W.test(w)?"."+w:"['"+q(w)+"']"}function q(w){return w.replace(z,"\\$&").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\f/g,"\\f").replace(/\t/g,"\\t")}function E(w,S){S+="[^0-9]";var g=w.match(new RegExp(S,"g"));return g?g.length:0}function U(w,S,g){return S+="([^0-9])",g=g.replace(/\$/g,"$$$$"),w.replace(new RegExp(S,"g"),g+"$1")}function A(w,S){if(typeof w=="boolean")return!w;for(var g in w)if(S[g])return!0}function K(w,S,g){if(typeof w=="boolean")return!w&&g!="not";for(var d in w)if(d!=g&&S[d])return!0}function V(w,S){if(typeof w=="boolean")return;for(var g in w)if(!S[g])return g}function j(w){return"'"+q(w)+"'"}function L(w,S,g,d){var n=g?"'/' + "+S+(d?"":".replace(/~/g, '~0').replace(/\\//g, '~1')"):d?"'[' + "+S+" + ']'":"'[\\'' + "+S+" + '\\']'";return u(w,n)}function R(w,S,g){var d=g?j("/"+y(S)):j(G(S));return u(w,d)}var b=/^\/(?:[^~]|~0|~1)*$/,k=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function I(w,S,g){var d,n,a,DD;if(w==="")return"rootData";if(w[0]=="/"){if(!b.test(w))throw new Error("Invalid JSON-pointer: "+w);n=w,a="rootData"}else{if(DD=w.match(k),!DD)throw new Error("Invalid JSON-pointer: "+w);if(d=+DD[1],n=DD[2],n=="#"){if(d>=S)throw new Error("Cannot access property/index "+d+" levels up, current level is "+S);return g[S-d]}if(d>S)throw new Error("Cannot access data "+d+" levels up, current level is "+S);if(a="data"+(S-d||""),!n)return a}var o=a,JD=n.split("/");for(var CD=0;CD<JD.length;CD++){var FD=JD[CD];if(FD)a+=G(x(FD)),o+=" && "+a}return o}function u(w,S){if(w=='""')return S;return(w+" + "+S).replace(/([^\\])' \+ '/g,"$1")}function f(w){return x(decodeURIComponent(w))}function O(w){return encodeURIComponent(y(w))}function y(w){return w.replace(/~/g,"~0").replace(/\//g,"~1")}function x(w){return w.replace(/~1/g,"/").replace(/~0/g,"~")}}),DQ=HD((D,F)=>{var Q=m2();F.exports=B;function B(Y){Q.copy(Y,this)}}),tG=HD((D,F)=>{var Q=F.exports=function(J,X,C){if(typeof X=="function")C=X,X={};C=X.cb||C;var W=typeof C=="function"?C:C.pre||function(){},z=C.post||function(){};B(X,W,z,J,"",J)};Q.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0},Q.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0},Q.propsKeywords={definitions:!0,properties:!0,patternProperties:!0,dependencies:!0},Q.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function B(J,X,C,W,z,G,q,E,U,A){if(W&&typeof W=="object"&&!Array.isArray(W)){X(W,z,G,q,E,U,A);for(var K in W){var V=W[K];if(Array.isArray(V)){if(K in Q.arrayKeywords)for(var j=0;j<V.length;j++)B(J,X,C,V[j],z+"/"+K+"/"+j,G,z,K,W,j)}else if(K in Q.propsKeywords){if(V&&typeof V=="object")for(var L in V)B(J,X,C,V[L],z+"/"+K+"/"+Y(L),G,z,K,W,L)}else if(K in Q.keywords||J.allKeys&&!(K in Q.skipKeywords))B(J,X,C,V,z+"/"+K,G,z,K,W)}C(W,z,G,q,E,U,A)}}function Y(J){return J.replace(/~/g,"~0").replace(/\//g,"~1")}}),J9=HD((D,F)=>{var Q=oG(),B=Y9(),Y=m2(),J=DQ(),X=tG();F.exports=C,C.normalizeId=R,C.fullPath=V,C.url=b,C.ids=k,C.inlineRef=U,C.schema=W;function C(I,u,f){var O=this._refs[f];if(typeof O=="string")if(this._refs[O])O=this._refs[O];else return C.call(this,I,u,O);if(O=O||this._schemas[f],O instanceof J)return U(O.schema,this._opts.inlineRefs)?O.schema:O.validate||this._compile(O);var y=W.call(this,u,f),x,w,S;if(y)x=y.schema,u=y.root,S=y.baseId;if(x instanceof J)w=x.validate||I.call(this,x.schema,u,void 0,S);else if(x!==void 0)w=U(x,this._opts.inlineRefs)?x:I.call(this,x,u,void 0,S);return w}function W(I,u){var f=Q.parse(u),O=j(f),y=V(this._getId(I.schema));if(Object.keys(I.schema).length===0||O!==y){var x=R(O),w=this._refs[x];if(typeof w=="string")return z.call(this,I,w,f);else if(w instanceof J){if(!w.validate)this._compile(w);I=w}else if(w=this._schemas[x],w instanceof J){if(!w.validate)this._compile(w);if(x==R(u))return{schema:w,root:I,baseId:y};I=w}else return;if(!I.schema)return;y=V(this._getId(I.schema))}return q.call(this,f,y,I.schema,I)}function z(I,u,f){var O=W.call(this,I,u);if(O){var{schema:y,baseId:x}=O;I=O.root;var w=this._getId(y);if(w)x=b(x,w);return q.call(this,f,x,y,I)}}var G=Y.toHash(["properties","patternProperties","enum","dependencies","definitions"]);function q(I,u,f,O){if(I.fragment=I.fragment||"",I.fragment.slice(0,1)!="/")return;var y=I.fragment.split("/");for(var x=1;x<y.length;x++){var w=y[x];if(w){if(w=Y.unescapeFragment(w),f=f[w],f===void 0)break;var S;if(!G[w]){if(S=this._getId(f),S)u=b(u,S);if(f.$ref){var g=b(u,f.$ref),d=W.call(this,O,g);if(d)f=d.schema,O=d.root,u=d.baseId}}}}if(f!==void 0&&f!==O.schema)return{schema:f,root:O,baseId:u}}var E=Y.toHash(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum"]);function U(I,u){if(u===!1)return!1;if(u===void 0||u===!0)return A(I);else if(u)return K(I)<=u}function A(I){var u;if(Array.isArray(I)){for(var f=0;f<I.length;f++)if(u=I[f],typeof u=="object"&&!A(u))return!1}else for(var O in I){if(O=="$ref")return!1;if(u=I[O],typeof u=="object"&&!A(u))return!1}return!0}function K(I){var u=0,f;if(Array.isArray(I))for(var O=0;O<I.length;O++){if(f=I[O],typeof f=="object")u+=K(f);if(u==1/0)return 1/0}else for(var y in I){if(y=="$ref")return 1/0;if(E[y])u++;else{if(f=I[y],typeof f=="object")u+=K(f)+1;if(u==1/0)return 1/0}}return u}function V(I,u){if(u!==!1)I=R(I);var f=Q.parse(I);return j(f)}function j(I){return Q.serialize(I).split("#")[0]+"#"}var L=/#\/?$/;function R(I){return I?I.replace(L,""):""}function b(I,u){return u=R(u),Q.resolve(I,u)}function k(I){var u=R(this._getId(I)),f={"":u},O={"":V(u,!1)},y={},x=this;return X(I,{allKeys:!0},function(w,S,g,d,n,a,DD){if(S==="")return;var o=x._getId(w),JD=f[d],CD=O[d]+"/"+n;if(DD!==void 0)CD+="/"+(typeof DD=="number"?DD:Y.escapeFragment(DD));if(typeof o=="string"){o=JD=R(JD?Q.resolve(JD,o):o);var FD=x._refs[o];if(typeof FD=="string")FD=x._refs[FD];if(FD&&FD.schema){if(!B(w,FD.schema))throw new Error('id "'+o+'" resolves to more than one schema')}else if(o!=R(CD))if(o[0]=="#"){if(y[o]&&!B(w,y[o]))throw new Error('id "'+o+'" resolves to more than one schema');y[o]=w}else x._refs[o]=CD}f[S]=JD,O[S]=CD}),y}}),C9=HD((D,F)=>{var Q=J9();F.exports={Validation:J(B),MissingRef:J(Y)};function B(X){this.message="validation failed",this.errors=X,this.ajv=this.validation=!0}Y.message=function(X,C){return"can't resolve reference "+C+" from id "+X};function Y(X,C,W){this.message=W||Y.message(X,C),this.missingRef=Q.url(X,C),this.missingSchema=Q.normalizeId(Q.fullPath(this.missingRef))}function J(X){return X.prototype=Object.create(Error.prototype),X.prototype.constructor=X,X}}),FQ=HD((D,F)=>{F.exports=function(Q,B){if(!B)B={};if(typeof B==="function")B={cmp:B};var Y=typeof B.cycles==="boolean"?B.cycles:!1,J=B.cmp&&function(C){return function(W){return function(z,G){var q={key:z,value:W[z]},E={key:G,value:W[G]};return C(q,E)}}}(B.cmp),X=[];return function C(W){if(W&&W.toJSON&&typeof W.toJSON==="function")W=W.toJSON();if(W===void 0)return;if(typeof W=="number")return isFinite(W)?""+W:"null";if(typeof W!=="object")return JSON.stringify(W);var z,G;if(Array.isArray(W)){G="[";for(z=0;z<W.length;z++){if(z)G+=",";G+=C(W[z])||"null"}return G+"]"}if(W===null)return"null";if(X.indexOf(W)!==-1){if(Y)return JSON.stringify("__cycle__");throw new TypeError("Converting circular structure to JSON")}var q=X.push(W)-1,E=Object.keys(W).sort(J&&J(W));G="";for(z=0;z<E.length;z++){var U=E[z],A=C(W[U]);if(!A)continue;if(G)G+=",";G+=JSON.stringify(U)+":"+A}return X.splice(q,1),"{"+G+"}"}(Q)}}),BQ=HD((D,F)=>{F.exports=function Q(B,Y,J){var X="",C=B.schema.$async===!0,W=B.util.schemaHasRulesExcept(B.schema,B.RULES.all,"$ref"),z=B.self._getId(B.schema);if(B.opts.strictKeywords){var G=B.util.schemaUnknownRules(B.schema,B.RULES.keywords);if(G){var q="unknown keyword: "+G;if(B.opts.strictKeywords==="log")B.logger.warn(q);else throw new Error(q)}}if(B.isTop){if(X+=" var validate = ",C)B.async=!0,X+="async ";if(X+="function(data, dataPath, parentData, parentDataProperty, rootData) { 'use strict'; ",z&&(B.opts.sourceCode||B.opts.processCode))X+=" "+("/*# sourceURL="+z+" */")+" "}if(typeof B.schema=="boolean"||!(W||B.schema.$ref)){var Y="false schema",E=B.level,U=B.dataLevel,A=B.schema[Y],K=B.schemaPath+B.util.getProperty(Y),V=B.errSchemaPath+"/"+Y,u=!B.opts.allErrors,y,j="data"+(U||""),I="valid"+E;if(B.schema===!1){if(B.isTop)u=!0;else X+=" var "+I+" = false; ";var L=L||[];if(L.push(X),X="",B.createErrors!==!1){if(X+=" { keyword: '"+(y||"false schema")+"' , dataPath: (dataPath || '') + "+B.errorPath+" , schemaPath: "+B.util.toQuotedString(V)+" , params: {} ",B.opts.messages!==!1)X+=" , message: 'boolean schema is false' ";if(B.opts.verbose)X+=" , schema: false , parentSchema: validate.schema"+B.schemaPath+" , data: "+j+" ";X+=" } "}else X+=" {} ";var R=X;if(X=L.pop(),!B.compositeRule&&u)if(B.async)X+=" throw new ValidationError(["+R+"]); ";else X+=" validate.errors = ["+R+"]; return false; ";else X+=" var err = "+R+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}else if(B.isTop)if(C)X+=" return data; ";else X+=" validate.errors = null; return true; ";else X+=" var "+I+" = true; ";if(B.isTop)X+=" }; return validate; ";return X}if(B.isTop){var b=B.isTop,E=B.level=0,U=B.dataLevel=0,j="data";if(B.rootId=B.resolve.fullPath(B.self._getId(B.root.schema)),B.baseId=B.baseId||B.rootId,delete B.isTop,B.dataPathArr=[""],B.schema.default!==void 0&&B.opts.useDefaults&&B.opts.strictDefaults){var k="default is ignored in the schema root";if(B.opts.strictDefaults==="log")B.logger.warn(k);else throw new Error(k)}X+=" var vErrors = null; ",X+=" var errors = 0; ",X+=" if (rootData === undefined) rootData = data; "}else{var{level:E,dataLevel:U}=B,j="data"+(U||"");if(z)B.baseId=B.resolve.url(B.baseId,z);if(C&&!B.async)throw new Error("async schema in sync schema");X+=" var errs_"+E+" = errors;"}var I="valid"+E,u=!B.opts.allErrors,f="",O="",y,x=B.schema.type,w=Array.isArray(x);if(x&&B.opts.nullable&&B.schema.nullable===!0){if(w){if(x.indexOf("null")==-1)x=x.concat("null")}else if(x!="null")x=[x,"null"],w=!0}if(w&&x.length==1)x=x[0],w=!1;if(B.schema.$ref&&W){if(B.opts.extendRefs=="fail")throw new Error('$ref: validation keywords used in schema at path "'+B.errSchemaPath+'" (see option extendRefs)');else if(B.opts.extendRefs!==!0)W=!1,B.logger.warn('$ref: keywords ignored in schema at path "'+B.errSchemaPath+'"')}if(B.schema.$comment&&B.opts.$comment)X+=" "+B.RULES.all.$comment.code(B,"$comment");if(x){if(B.opts.coerceTypes)var S=B.util.coerceToTypes(B.opts.coerceTypes,x);var g=B.RULES.types[x];if(S||w||g===!0||g&&!cD(g)){var K=B.schemaPath+".type",V=B.errSchemaPath+"/type",K=B.schemaPath+".type",V=B.errSchemaPath+"/type",d=w?"checkDataTypes":"checkDataType";if(X+=" if ("+B.util[d](x,j,B.opts.strictNumbers,!0)+") { ",S){var n="dataType"+E,a="coerced"+E;if(X+=" var "+n+" = typeof "+j+"; var "+a+" = undefined; ",B.opts.coerceTypes=="array")X+=" if ("+n+" == 'object' && Array.isArray("+j+") && "+j+".length == 1) { "+j+" = "+j+"[0]; "+n+" = typeof "+j+"; if ("+B.util.checkDataType(B.schema.type,j,B.opts.strictNumbers)+") "+a+" = "+j+"; } ";X+=" if ("+a+" !== undefined) ; ";var DD=S;if(DD){var o,JD=-1,CD=DD.length-1;while(JD<CD)if(o=DD[JD+=1],o=="string")X+=" else if ("+n+" == 'number' || "+n+" == 'boolean') "+a+" = '' + "+j+"; else if ("+j+" === null) "+a+" = ''; ";else if(o=="number"||o=="integer"){if(X+=" else if ("+n+" == 'boolean' || "+j+" === null || ("+n+" == 'string' && "+j+" && "+j+" == +"+j+" ",o=="integer")X+=" && !("+j+" % 1)";X+=")) "+a+" = +"+j+"; "}else if(o=="boolean")X+=" else if ("+j+" === 'false' || "+j+" === 0 || "+j+" === null) "+a+" = false; else if ("+j+" === 'true' || "+j+" === 1) "+a+" = true; ";else if(o=="null")X+=" else if ("+j+" === '' || "+j+" === 0 || "+j+" === false) "+a+" = null; ";else if(B.opts.coerceTypes=="array"&&o=="array")X+=" else if ("+n+" == 'string' || "+n+" == 'number' || "+n+" == 'boolean' || "+j+" == null) "+a+" = ["+j+"]; "}X+=" else { ";var L=L||[];if(L.push(X),X="",B.createErrors!==!1){if(X+=" { keyword: '"+(y||"type")+"' , dataPath: (dataPath || '') + "+B.errorPath+" , schemaPath: "+B.util.toQuotedString(V)+" , params: { type: '",w)X+=""+x.join(",");else X+=""+x;if(X+="' } ",B.opts.messages!==!1){if(X+=" , message: 'should be ",w)X+=""+x.join(",");else X+=""+x;X+="' "}if(B.opts.verbose)X+=" , schema: validate.schema"+K+" , parentSchema: validate.schema"+B.schemaPath+" , data: "+j+" ";X+=" } "}else X+=" {} ";var R=X;if(X=L.pop(),!B.compositeRule&&u)if(B.async)X+=" throw new ValidationError(["+R+"]); ";else X+=" validate.errors = ["+R+"]; return false; ";else X+=" var err = "+R+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";X+=" } if ("+a+" !== undefined) { ";var FD=U?"data"+(U-1||""):"parentData",MD=U?B.dataPathArr[U]:"parentDataProperty";if(X+=" "+j+" = "+a+"; ",!U)X+="if ("+FD+" !== undefined)";X+=" "+FD+"["+MD+"] = "+a+"; } "}else{var L=L||[];if(L.push(X),X="",B.createErrors!==!1){if(X+=" { keyword: '"+(y||"type")+"' , dataPath: (dataPath || '') + "+B.errorPath+" , schemaPath: "+B.util.toQuotedString(V)+" , params: { type: '",w)X+=""+x.join(",");else X+=""+x;if(X+="' } ",B.opts.messages!==!1){if(X+=" , message: 'should be ",w)X+=""+x.join(",");else X+=""+x;X+="' "}if(B.opts.verbose)X+=" , schema: validate.schema"+K+" , parentSchema: validate.schema"+B.schemaPath+" , data: "+j+" ";X+=" } "}else X+=" {} ";var R=X;if(X=L.pop(),!B.compositeRule&&u)if(B.async)X+=" throw new ValidationError(["+R+"]); ";else X+=" validate.errors = ["+R+"]; return false; ";else X+=" var err = "+R+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}X+=" } "}}if(B.schema.$ref&&!W){if(X+=" "+B.RULES.all.$ref.code(B,"$ref")+" ",u){if(X+=" } if (errors === ",b)X+="0";else X+="errs_"+E;X+=") { ",O+="}"}}else{var dD=B.RULES;if(dD){var g,nD=-1,N=dD.length-1;while(nD<N)if(g=dD[nD+=1],cD(g)){if(g.type)X+=" if ("+B.util.checkDataType(g.type,j,B.opts.strictNumbers)+") { ";if(B.opts.useDefaults){if(g.type=="object"&&B.schema.properties){var A=B.schema.properties,_=Object.keys(A),H=_;if(H){var T,h=-1,c=H.length-1;while(h<c){T=H[h+=1];var l=A[T];if(l.default!==void 0){var p=j+B.util.getProperty(T);if(B.compositeRule){if(B.opts.strictDefaults){var k="default is ignored for: "+p;if(B.opts.strictDefaults==="log")B.logger.warn(k);else throw new Error(k)}}else{if(X+=" if ("+p+" === undefined ",B.opts.useDefaults=="empty")X+=" || "+p+" === null || "+p+" === '' ";if(X+=" ) "+p+" = ",B.opts.useDefaults=="shared")X+=" "+B.useDefault(l.default)+" ";else X+=" "+JSON.stringify(l.default)+" ";X+="; "}}}}}else if(g.type=="array"&&Array.isArray(B.schema.items)){var QD=B.schema.items;if(QD){var l,JD=-1,KD=QD.length-1;while(JD<KD)if(l=QD[JD+=1],l.default!==void 0){var p=j+"["+JD+"]";if(B.compositeRule){if(B.opts.strictDefaults){var k="default is ignored for: "+p;if(B.opts.strictDefaults==="log")B.logger.warn(k);else throw new Error(k)}}else{if(X+=" if ("+p+" === undefined ",B.opts.useDefaults=="empty")X+=" || "+p+" === null || "+p+" === '' ";if(X+=" ) "+p+" = ",B.opts.useDefaults=="shared")X+=" "+B.useDefault(l.default)+" ";else X+=" "+JSON.stringify(l.default)+" ";X+="; "}}}}}var WD=g.rules;if(WD){var AD,bD=-1,_D=WD.length-1;while(bD<_D)if(AD=WD[bD+=1],H0(AD)){var Q0=AD.code(B,AD.keyword,g.type);if(Q0){if(X+=" "+Q0+" ",u)f+="}"}}}if(u)X+=" "+f+" ",f="";if(g.type){if(X+=" } ",x&&x===g.type&&!S){X+=" else { ";var K=B.schemaPath+".type",V=B.errSchemaPath+"/type",L=L||[];if(L.push(X),X="",B.createErrors!==!1){if(X+=" { keyword: '"+(y||"type")+"' , dataPath: (dataPath || '') + "+B.errorPath+" , schemaPath: "+B.util.toQuotedString(V)+" , params: { type: '",w)X+=""+x.join(",");else X+=""+x;if(X+="' } ",B.opts.messages!==!1){if(X+=" , message: 'should be ",w)X+=""+x.join(",");else X+=""+x;X+="' "}if(B.opts.verbose)X+=" , schema: validate.schema"+K+" , parentSchema: validate.schema"+B.schemaPath+" , data: "+j+" ";X+=" } "}else X+=" {} ";var R=X;if(X=L.pop(),!B.compositeRule&&u)if(B.async)X+=" throw new ValidationError(["+R+"]); ";else X+=" validate.errors = ["+R+"]; return false; ";else X+=" var err = "+R+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";X+=" } "}}if(u){if(X+=" if (errors === ",b)X+="0";else X+="errs_"+E;X+=") { ",O+="}"}}}}if(u)X+=" "+O+" ";if(b){if(C)X+=" if (errors === 0) return data; ",X+=" else throw new ValidationError(vErrors); ";else X+=" validate.errors = vErrors; ",X+=" return errors === 0; ";X+=" }; return validate;"}else X+=" var "+I+" = errors === errs_"+E+";";function cD(eD){var k0=eD.rules;for(var R0=0;R0<k0.length;R0++)if(H0(k0[R0]))return!0}function H0(eD){return B.schema[eD.keyword]!==void 0||eD.implements&&kD(eD)}function kD(eD){var k0=eD.implements;for(var R0=0;R0<k0.length;R0++)if(B.schema[k0[R0]]!==void 0)return!0}return X}}),eG=HD((D,F)=>{var Q=J9(),B=m2(),Y=C9(),J=FQ(),X=BQ(),C=B.ucs2length,W=Y9(),z=Y.Validation;F.exports=G;function G(R,b,k,I){var u=this,f=this._opts,O=[void 0],y={},x=[],w={},S=[],g={},d=[];b=b||{schema:R,refVal:O,refs:y};var n=q.call(this,R,b,I),a=this._compilations[n.index];if(n.compiling)return a.callValidate=FD;var DD=this._formats,o=this.RULES;try{var JD=MD(R,b,k,I);a.validate=JD;var CD=a.callValidate;if(CD){if(CD.schema=JD.schema,CD.errors=null,CD.refs=JD.refs,CD.refVal=JD.refVal,CD.root=JD.root,CD.$async=JD.$async,f.sourceCode)CD.source=JD.source}return JD}finally{E.call(this,R,b,I)}function FD(){var l=a.validate,p=l.apply(this,arguments);return FD.errors=l.errors,p}function MD(l,p,QD,KD){var WD=!p||p&&p.schema==l;if(p.schema!=b.schema)return G.call(u,l,p,QD,KD);var AD=l.$async===!0,bD=X({isTop:!0,schema:l,isRoot:WD,baseId:KD,root:p,schemaPath:"",errSchemaPath:"#",errorPath:'""',MissingRefError:Y.MissingRef,RULES:o,validate:X,util:B,resolve:Q,resolveRef:dD,usePattern:T,useDefault:h,useCustomRule:c,opts:f,formats:DD,logger:u.logger,self:u});if(bD=L(O,V)+L(x,A)+L(S,K)+L(d,j)+bD,f.processCode)bD=f.processCode(bD,l);var _D;try{var Q0=new Function("self","RULES","formats","root","refVal","defaults","customRules","equal","ucs2length","ValidationError",bD);_D=Q0(u,o,DD,b,O,S,d,W,C,z),O[0]=_D}catch(cD){throw u.logger.error("Error compiling schema, function code:",bD),cD}if(_D.schema=l,_D.errors=null,_D.refs=y,_D.refVal=O,_D.root=WD?_D:p,AD)_D.$async=!0;if(f.sourceCode===!0)_D.source={code:bD,patterns:x,defaults:S};return _D}function dD(l,p,QD){p=Q.url(l,p);var KD=y[p],WD,AD;if(KD!==void 0)return WD=O[KD],AD="refVal["+KD+"]",H(WD,AD);if(!QD&&b.refs){var bD=b.refs[p];if(bD!==void 0)return WD=b.refVal[bD],AD=nD(p,WD),H(WD,AD)}AD=nD(p);var _D=Q.call(u,MD,b,p);if(_D===void 0){var Q0=k&&k[p];if(Q0)_D=Q.inlineRef(Q0,f.inlineRefs)?Q0:G.call(u,Q0,b,k,l)}if(_D===void 0)N(p);else return _(p,_D),H(_D,AD)}function nD(l,p){var QD=O.length;return O[QD]=p,y[l]=QD,"refVal"+QD}function N(l){delete y[l]}function _(l,p){var QD=y[l];O[QD]=p}function H(l,p){return typeof l=="object"||typeof l=="boolean"?{code:p,schema:l,inline:!0}:{code:p,$async:l&&!!l.$async}}function T(l){var p=w[l];if(p===void 0)p=w[l]=x.length,x[p]=l;return"pattern"+p}function h(l){switch(typeof l){case"boolean":case"number":return""+l;case"string":return B.toQuotedString(l);case"object":if(l===null)return"null";var p=J(l),QD=g[p];if(QD===void 0)QD=g[p]=S.length,S[QD]=l;return"default"+QD}}function c(l,p,QD,KD){if(u._opts.validateSchema!==!1){var WD=l.definition.dependencies;if(WD&&!WD.every(function(k0){return Object.prototype.hasOwnProperty.call(QD,k0)}))throw new Error("parent schema must have all required keywords: "+WD.join(","));var AD=l.definition.validateSchema;if(AD){var bD=AD(p);if(!bD){var _D="keyword schema is invalid: "+u.errorsText(AD.errors);if(u._opts.validateSchema=="log")u.logger.error(_D);else throw new Error(_D)}}}var Q0=l.definition.compile,cD=l.definition.inline,H0=l.definition.macro,kD;if(Q0)kD=Q0.call(u,p,QD,KD);else if(H0){if(kD=H0.call(u,p,QD,KD),f.validateSchema!==!1)u.validateSchema(kD,!0)}else if(cD)kD=cD.call(u,KD,l.keyword,p,QD);else if(kD=l.definition.validate,!kD)return;if(kD===void 0)throw new Error('custom keyword "'+l.keyword+'"failed to compile');var eD=d.length;return d[eD]=kD,{code:"customRule"+eD,validate:kD}}}function q(R,b,k){var I=U.call(this,R,b,k);if(I>=0)return{index:I,compiling:!0};return I=this._compilations.length,this._compilations[I]={schema:R,root:b,baseId:k},{index:I,compiling:!1}}function E(R,b,k){var I=U.call(this,R,b,k);if(I>=0)this._compilations.splice(I,1)}function U(R,b,k){for(var I=0;I<this._compilations.length;I++){var u=this._compilations[I];if(u.schema==R&&u.root==b&&u.baseId==k)return I}return-1}function A(R,b){return"var pattern"+R+" = new RegExp("+B.toQuotedString(b[R])+");"}function K(R){return"var default"+R+" = defaults["+R+"];"}function V(R,b){return b[R]===void 0?"":"var refVal"+R+" = refVal["+R+"];"}function j(R){return"var customRule"+R+" = customRules["+R+"];"}function L(R,b){if(!R.length)return"";var k="";for(var I=0;I<R.length;I++)k+=b(I,R);return k}}),Dq=HD((D,F)=>{var Q=F.exports=function B(){this._cache={}};Q.prototype.put=function B(Y,J){this._cache[Y]=J},Q.prototype.get=function B(Y){return this._cache[Y]},Q.prototype.del=function B(Y){delete this._cache[Y]},Q.prototype.clear=function B(){this._cache={}}}),Fq=HD((D,F)=>{var Q=m2(),B=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,Y=[0,31,28,31,30,31,30,31,31,30,31,30,31],J=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d(?::?\d\d)?)?$/i,X=/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,C=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,W=/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,z=/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,G=/^(?:(?:http[s\u017F]?|ftp):\/\/)(?:(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+(?::(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?@)?(?:(?!10(?:\.[0-9]{1,3}){3})(?!127(?:\.[0-9]{1,3}){3})(?!169\.254(?:\.[0-9]{1,3}){2})(?!192\.168(?:\.[0-9]{1,3}){2})(?!172\.(?:1[6-9]|2[0-9]|3[01])(?:\.[0-9]{1,3}){2})(?:[1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(?:\.(?:1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(?:\.(?:[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(?:(?:(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-)*(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)(?:\.(?:(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-)*(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)*(?:\.(?:(?:[a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]){2,})))(?::[0-9]{2,5})?(?:\/(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?$/i,q=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,E=/^(?:\/(?:[^~/]|~0|~1)*)*$/,U=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,A=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/;F.exports=K;function K(O){return O=O=="full"?"full":"fast",Q.copy(K[O])}K.fast={date:/^\d\d\d\d-[0-1]\d-[0-3]\d$/,time:/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,"date-time":/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,"uri-template":z,url:G,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i,hostname:X,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:f,uuid:q,"json-pointer":E,"json-pointer-uri-fragment":U,"relative-json-pointer":A},K.full={date:j,time:L,"date-time":b,uri:I,"uri-reference":W,"uri-template":z,url:G,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:X,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:f,uuid:q,"json-pointer":E,"json-pointer-uri-fragment":U,"relative-json-pointer":A};function V(O){return O%4===0&&(O%100!==0||O%400===0)}function j(O){var y=O.match(B);if(!y)return!1;var x=+y[1],w=+y[2],S=+y[3];return w>=1&&w<=12&&S>=1&&S<=(w==2&&V(x)?29:Y[w])}function L(O,y){var x=O.match(J);if(!x)return!1;var w=x[1],S=x[2],g=x[3],d=x[5];return(w<=23&&S<=59&&g<=59||w==23&&S==59&&g==60)&&(!y||d)}var R=/t|\s/i;function b(O){var y=O.split(R);return y.length==2&&j(y[0])&&L(y[1],!0)}var k=/\/|:/;function I(O){return k.test(O)&&C.test(O)}var u=/[^\\]\\Z/;function f(O){if(u.test(O))return!1;try{return new RegExp(O),!0}catch(y){return!1}}}),Bq=HD((D,F)=>{F.exports=function Q(B,Y,J){var X=" ",C=B.level,W=B.dataLevel,z=B.schema[Y],G=B.errSchemaPath+"/"+Y,q=!B.opts.allErrors,E="data"+(W||""),U="valid"+C,A,K;if(z=="#"||z=="#/")if(B.isRoot)A=B.async,K="validate";else A=B.root.schema.$async===!0,K="root.refVal[0]";else{var V=B.resolveRef(B.baseId,z,B.isRoot);if(V===void 0){var j=B.MissingRefError.message(B.baseId,z);if(B.opts.missingRefs=="fail"){B.logger.error(j);var L=L||[];if(L.push(X),X="",B.createErrors!==!1){if(X+=" { keyword: '$ref' , dataPath: (dataPath || '') + "+B.errorPath+" , schemaPath: "+B.util.toQuotedString(G)+" , params: { ref: '"+B.util.escapeQuotes(z)+"' } ",B.opts.messages!==!1)X+=" , message: 'can\\'t resolve reference "+B.util.escapeQuotes(z)+"' ";if(B.opts.verbose)X+=" , schema: "+B.util.toQuotedString(z)+" , parentSchema: validate.schema"+B.schemaPath+" , data: "+E+" ";X+=" } "}else X+=" {} ";var R=X;if(X=L.pop(),!B.compositeRule&&q)if(B.async)X+=" throw new ValidationError(["+R+"]); ";else X+=" validate.errors = ["+R+"]; return false; ";else X+=" var err = "+R+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";if(q)X+=" if (false) { "}else if(B.opts.missingRefs=="ignore"){if(B.logger.warn(j),q)X+=" if (true) { "}else throw new B.MissingRefError(B.baseId,z,j)}else if(V.inline){var b=B.util.copy(B);b.level++;var k="valid"+b.level;b.schema=V.schema,b.schemaPath="",b.errSchemaPath=z;var I=B.validate(b).replace(/validate\.schema/g,V.code);if(X+=" "+I+" ",q)X+=" if ("+k+") { "}else A=V.$async===!0||B.async&&V.$async!==!1,K=V.code}if(K){var L=L||[];if(L.push(X),X="",B.opts.passContext)X+=" "+K+".call(this, ";else X+=" "+K+"( ";if(X+=" "+E+", (dataPath || '')",B.errorPath!='""')X+=" + "+B.errorPath;var u=W?"data"+(W-1||""):"parentData",f=W?B.dataPathArr[W]:"parentDataProperty";X+=" , "+u+" , "+f+", rootData) ";var O=X;if(X=L.pop(),A){if(!B.async)throw new Error("async schema referenced by sync schema");if(q)X+=" var "+U+"; ";if(X+=" try { await "+O+"; ",q)X+=" "+U+" = true; ";if(X+=" } catch (e) { if (!(e instanceof ValidationError)) throw e; if (vErrors === null) vErrors = e.errors; else vErrors = vErrors.concat(e.errors); errors = vErrors.length; ",q)X+=" "+U+" = false; ";if(X+=" } ",q)X+=" if ("+U+") { "}else if(X+=" if (!"+O+") { if (vErrors === null) vErrors = "+K+".errors; else vErrors = vErrors.concat("+K+".errors); errors = vErrors.length; } ",q)X+=" else { "}return X}}),Qq=HD((D,F)=>{F.exports=function Q(B,Y,J){var X=" ",C=B.schema[Y],W=B.schemaPath+B.util.getProperty(Y),z=B.errSchemaPath+"/"+Y,G=!B.opts.allErrors,q=B.util.copy(B),E="";q.level++;var U="valid"+q.level,A=q.baseId,K=!0,V=C;if(V){var j,L=-1,R=V.length-1;while(L<R)if(j=V[L+=1],B.opts.strictKeywords?typeof j=="object"&&Object.keys(j).length>0||j===!1:B.util.schemaHasRules(j,B.RULES.all)){if(K=!1,q.schema=j,q.schemaPath=W+"["+L+"]",q.errSchemaPath=z+"/"+L,X+=" "+B.validate(q)+" ",q.baseId=A,G)X+=" if ("+U+") { ",E+="}"}}if(G)if(K)X+=" if (true) { ";else X+=" "+E.slice(0,-1)+" ";return X}}),Xq=HD((D,F)=>{F.exports=function Q(B,Y,J){var X=" ",C=B.level,W=B.dataLevel,z=B.schema[Y],G=B.schemaPath+B.util.getProperty(Y),q=B.errSchemaPath+"/"+Y,E=!B.opts.allErrors,U="data"+(W||""),A="valid"+C,K="errs__"+C,V=B.util.copy(B),j="";V.level++;var L="valid"+V.level,R=z.every(function(y){return B.opts.strictKeywords?typeof y=="object"&&Object.keys(y).length>0||y===!1:B.util.schemaHasRules(y,B.RULES.all)});if(R){var b=V.baseId;X+=" var "+K+" = errors; var "+A+" = false; ";var k=B.compositeRule;B.compositeRule=V.compositeRule=!0;var I=z;if(I){var u,f=-1,O=I.length-1;while(f<O)u=I[f+=1],V.schema=u,V.schemaPath=G+"["+f+"]",V.errSchemaPath=q+"/"+f,X+=" "+B.validate(V)+" ",V.baseId=b,X+=" "+A+" = "+A+" || "+L+"; if (!"+A+") { ",j+="}"}if(B.compositeRule=V.compositeRule=k,X+=" "+j+" if (!"+A+") { var err = ",B.createErrors!==!1){if(X+=" { keyword: 'anyOf' , dataPath: (dataPath || '') + "+B.errorPath+" , schemaPath: "+B.util.toQuotedString(q)+" , params: {} ",B.opts.messages!==!1)X+=" , message: 'should match some schema in anyOf' ";if(B.opts.verbose)X+=" , schema: validate.schema"+G+" , parentSchema: validate.schema"+B.schemaPath+" , data: "+U+" ";X+=" } "}else X+=" {} ";if(X+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!B.compositeRule&&E)if(B.async)X+=" throw new ValidationError(vErrors); ";else X+=" validate.errors = vErrors; return false; ";if(X+=" } else { errors = "+K+"; if (vErrors !== null) { if ("+K+") vErrors.length = "+K+"; else vErrors = null; } ",B.opts.allErrors)X+=" } "}else if(E)X+=" if (true) { ";return X}}),Yq=HD((D,F)=>{F.exports=function Q(B,Y,J){var X=" ",C=B.schema[Y],W=B.errSchemaPath+"/"+Y,z=!B.opts.allErrors,G=B.util.toQuotedString(C);if(B.opts.$comment===!0)X+=" console.log("+G+");";else if(typeof B.opts.$comment=="function")X+=" self._opts.$comment("+G+", "+B.util.toQuotedString(W)+", validate.root.schema);";return X}}),Jq=HD((D,F)=>{F.exports=function Q(B,Y,J){var X=" ",C=B.level,W=B.dataLevel,z=B.schema[Y],G=B.schemaPath+B.util.getProperty(Y),q=B.errSchemaPath+"/"+Y,E=!B.opts.allErrors,U="data"+(W||""),A="valid"+C,K=B.opts.$data&&z&&z.$data,V;if(K)X+=" var schema"+C+" = "+B.util.getData(z.$data,W,B.dataPathArr)+"; ",V="schema"+C;else V=z;if(!K)X+=" var schema"+C+" = validate.schema"+G+";";X+="var "+A+" = equal("+U+", schema"+C+"); if (!"+A+") { ";var j=j||[];if(j.push(X),X="",B.createErrors!==!1){if(X+=" { keyword: 'const' , dataPath: (dataPath || '') + "+B.errorPath+" , schemaPath: "+B.util.toQuotedString(q)+" , params: { allowedValue: schema"+C+" } ",B.opts.messages!==!1)X+=" , message: 'should be equal to constant' ";if(B.opts.verbose)X+=" , schema: validate.schema"+G+" , parentSchema: validate.schema"+B.schemaPath+" , data: "+U+" ";X+=" } "}else X+=" {} ";var L=X;if(X=j.pop(),!B.compositeRule&&E)if(B.async)X+=" throw new ValidationError(["+L+"]); ";else X+=" validate.errors = ["+L+"]; return false; ";else X+=" var err = "+L+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";if(X+=" }",E)X+=" else { ";return X}}),Cq=HD((D,F)=>{F.exports=function Q(B,Y,J){var X=" ",C=B.level,W=B.dataLevel,z=B.schema[Y],G=B.schemaPath+B.util.getProperty(Y),q=B.errSchemaPath+"/"+Y,E=!B.opts.allErrors,U="data"+(W||""),A="valid"+C,K="errs__"+C,V=B.util.copy(B),j="";V.level++;var L="valid"+V.level,R="i"+C,b=V.dataLevel=B.dataLevel+1,k="data"+b,I=B.baseId,u=B.opts.strictKeywords?typeof z=="object"&&Object.keys(z).length>0||z===!1:B.util.schemaHasRules(z,B.RULES.all);if(X+="var "+K+" = errors;var "+A+";",u){var f=B.compositeRule;B.compositeRule=V.compositeRule=!0,V.schema=z,V.schemaPath=G,V.errSchemaPath=q,X+=" var "+L+" = false; for (var "+R+" = 0; "+R+" < "+U+".length; "+R+"++) { ",V.errorPath=B.util.getPathExpr(B.errorPath,R,B.opts.jsonPointers,!0);var O=U+"["+R+"]";V.dataPathArr[b]=R;var y=B.validate(V);if(V.baseId=I,B.util.varOccurences(y,k)<2)X+=" "+B.util.varReplace(y,k,O)+" ";else X+=" var "+k+" = "+O+"; "+y+" ";X+=" if ("+L+") break; } ",B.compositeRule=V.compositeRule=f,X+=" "+j+" if (!"+L+") {"}else X+=" if ("+U+".length == 0) {";var x=x||[];if(x.push(X),X="",B.createErrors!==!1){if(X+=" { keyword: 'contains' , dataPath: (dataPath || '') + "+B.errorPath+" , schemaPath: "+B.util.toQuotedString(q)+" , params: {} ",B.opts.messages!==!1)X+=" , message: 'should contain a valid item' ";if(B.opts.verbose)X+=" , schema: validate.schema"+G+" , parentSchema: validate.schema"+B.schemaPath+" , data: "+U+" ";X+=" } "}else X+=" {} ";var w=X;if(X=x.pop(),!B.compositeRule&&E)if(B.async)X+=" throw new ValidationError(["+w+"]); ";else X+=" validate.errors = ["+w+"]; return false; ";else X+=" var err = "+w+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";if(X+=" } else { ",u)X+=" errors = "+K+"; if (vErrors !== null) { if ("+K+") vErrors.length = "+K+"; else vErrors = null; } ";if(B.opts.allErrors)X+=" } ";return X}}),Wq=HD((D,F)=>{F.exports=function Q(B,Y,J){var X=" ",C=B.level,W=B.dataLevel,z=B.schema[Y],G=B.schemaPath+B.util.getProperty(Y),q=B.errSchemaPath+"/"+Y,E=!B.opts.allErrors,U="data"+(W||""),A="errs__"+C,K=B.util.copy(B),V="";K.level++;var j="valid"+K.level,L={},R={},b=B.opts.ownProperties;for(f in z){if(f=="__proto__")continue;var k=z[f],I=Array.isArray(k)?R:L;I[f]=k}X+="var "+A+" = errors;";var u=B.errorPath;X+="var missing"+C+";";for(var f in R)if(I=R[f],I.length){if(X+=" if ( "+U+B.util.getProperty(f)+" !== undefined ",b)X+=" && Object.prototype.hasOwnProperty.call("+U+", '"+B.util.escapeQuotes(f)+"') ";if(E){X+=" && ( ";var O=I;if(O){var y,x=-1,w=O.length-1;while(x<w){if(y=O[x+=1],x)X+=" || ";var S=B.util.getProperty(y),g=U+S;if(X+=" ( ( "+g+" === undefined ",b)X+=" || ! Object.prototype.hasOwnProperty.call("+U+", '"+B.util.escapeQuotes(y)+"') ";X+=") && (missing"+C+" = "+B.util.toQuotedString(B.opts.jsonPointers?y:S)+") ) "}}X+=")) { ";var d="missing"+C,n="' + "+d+" + '";if(B.opts._errorDataPathProperty)B.errorPath=B.opts.jsonPointers?B.util.getPathExpr(u,d,!0):u+" + "+d;var a=a||[];if(a.push(X),X="",B.createErrors!==!1){if(X+=" { keyword: 'dependencies' , dataPath: (dataPath || '') + "+B.errorPath+" , schemaPath: "+B.util.toQuotedString(q)+" , params: { property: '"+B.util.escapeQuotes(f)+"', missingProperty: '"+n+"', depsCount: "+I.length+", deps: '"+B.util.escapeQuotes(I.length==1?I[0]:I.join(", "))+"' } ",B.opts.messages!==!1){if(X+=" , message: 'should have ",I.length==1)X+="property "+B.util.escapeQuotes(I[0]);else X+="properties "+B.util.escapeQuotes(I.join(", "));X+=" when property "+B.util.escapeQuotes(f)+" is present' "}if(B.opts.verbose)X+=" , schema: validate.schema"+G+" , parentSchema: validate.schema"+B.schemaPath+" , data: "+U+" ";X+=" } "}else X+=" {} ";var DD=X;if(X=a.pop(),!B.compositeRule&&E)if(B.async)X+=" throw new ValidationError(["+DD+"]); ";else X+=" validate.errors = ["+DD+"]; return false; ";else X+=" var err = "+DD+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}else{X+=" ) { ";var o=I;if(o){var y,JD=-1,CD=o.length-1;while(JD<CD){y=o[JD+=1];var S=B.util.getProperty(y),n=B.util.escapeQuotes(y),g=U+S;if(B.opts._errorDataPathProperty)B.errorPath=B.util.getPath(u,y,B.opts.jsonPointers);if(X+=" if ( "+g+" === undefined ",b)X+=" || ! Object.prototype.hasOwnProperty.call("+U+", '"+B.util.escapeQuotes(y)+"') ";if(X+=") { var err = ",B.createErrors!==!1){if(X+=" { keyword: 'dependencies' , dataPath: (dataPath || '') + "+B.errorPath+" , schemaPath: "+B.util.toQuotedString(q)+" , params: { property: '"+B.util.escapeQuotes(f)+"', missingProperty: '"+n+"', depsCount: "+I.length+", deps: '"+B.util.escapeQuotes(I.length==1?I[0]:I.join(", "))+"' } ",B.opts.messages!==!1){if(X+=" , message: 'should have ",I.length==1)X+="property "+B.util.escapeQuotes(I[0]);else X+="properties "+B.util.escapeQuotes(I.join(", "));X+=" when property "+B.util.escapeQuotes(f)+" is present' "}if(B.opts.verbose)X+=" , schema: validate.schema"+G+" , parentSchema: validate.schema"+B.schemaPath+" , data: "+U+" ";X+=" } "}else X+=" {} ";X+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } "}}}if(X+=" } ",E)V+="}",X+=" else { "}B.errorPath=u;var FD=K.baseId;for(var f in L){var k=L[f];if(B.opts.strictKeywords?typeof k=="object"&&Object.keys(k).length>0||k===!1:B.util.schemaHasRules(k,B.RULES.all)){if(X+=" "+j+" = true; if ( "+U+B.util.getProperty(f)+" !== undefined ",b)X+=" && Object.prototype.hasOwnProperty.call("+U+", '"+B.util.escapeQuotes(f)+"') ";if(X+=") { ",K.schema=k,K.schemaPath=G+B.util.getProperty(f),K.errSchemaPath=q+"/"+B.util.escapeFragment(f),X+=" "+B.validate(K)+" ",K.baseId=FD,X+=" } ",E)X+=" if ("+j+") { ",V+="}"}}if(E)X+=" "+V+" if ("+A+" == errors) {";return X}}),zq=HD((D,F)=>{F.exports=function Q(B,Y,J){var X=" ",C=B.level,W=B.dataLevel,z=B.schema[Y],G=B.schemaPath+B.util.getProperty(Y),q=B.errSchemaPath+"/"+Y,E=!B.opts.allErrors,U="data"+(W||""),A="valid"+C,K=B.opts.$data&&z&&z.$data,V;if(K)X+=" var schema"+C+" = "+B.util.getData(z.$data,W,B.dataPathArr)+"; ",V="schema"+C;else V=z;var j="i"+C,L="schema"+C;if(!K)X+=" var "+L+" = validate.schema"+G+";";if(X+="var "+A+";",K)X+=" if (schema"+C+" === undefined) "+A+" = true; else if (!Array.isArray(schema"+C+")) "+A+" = false; else {";if(X+=""+A+" = false;for (var "+j+"=0; "+j+"<"+L+".length; "+j+"++) if (equal("+U+", "+L+"["+j+"])) { "+A+" = true; break; }",K)X+=" } ";X+=" if (!"+A+") { ";var R=R||[];if(R.push(X),X="",B.createErrors!==!1){if(X+=" { keyword: 'enum' , dataPath: (dataPath || '') + "+B.errorPath+" , schemaPath: "+B.util.toQuotedString(q)+" , params: { allowedValues: schema"+C+" } ",B.opts.messages!==!1)X+=" , message: 'should be equal to one of the allowed values' ";if(B.opts.verbose)X+=" , schema: validate.schema"+G+" , parentSchema: validate.schema"+B.schemaPath+" , data: "+U+" ";X+=" } "}else X+=" {} ";var b=X;if(X=R.pop(),!B.compositeRule&&E)if(B.async)X+=" throw new ValidationError(["+b+"]); ";else X+=" validate.errors = ["+b+"]; return false; ";else X+=" var err = "+b+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";if(X+=" }",E)X+=" else { ";return X}}),Gq=HD((D,F)=>{F.exports=function Q(B,Y,J){var X=" ",C=B.level,W=B.dataLevel,z=B.schema[Y],G=B.schemaPath+B.util.getProperty(Y),q=B.errSchemaPath+"/"+Y,E=!B.opts.allErrors,U="data"+(W||"");if(B.opts.format===!1){if(E)X+=" if (true) { ";return X}var A=B.opts.$data&&z&&z.$data,K;if(A)X+=" var schema"+C+" = "+B.util.getData(z.$data,W,B.dataPathArr)+"; ",K="schema"+C;else K=z;var V=B.opts.unknownFormats,j=Array.isArray(V);if(A){var L="format"+C,R="isObject"+C,b="formatType"+C;if(X+=" var "+L+" = formats["+K+"]; var "+R+" = typeof "+L+" == 'object' && !("+L+" instanceof RegExp) && "+L+".validate; var "+b+" = "+R+" && "+L+".type || 'string'; if ("+R+") { ",B.async)X+=" var async"+C+" = "+L+".async; ";if(X+=" "+L+" = "+L+".validate; } if ( ",A)X+=" ("+K+" !== undefined && typeof "+K+" != 'string') || ";if(X+=" (",V!="ignore"){if(X+=" ("+K+" && !"+L+" ",j)X+=" && self._opts.unknownFormats.indexOf("+K+") == -1 ";X+=") || "}if(X+=" ("+L+" && "+b+" == '"+J+"' && !(typeof "+L+" == 'function' ? ",B.async)X+=" (async"+C+" ? await "+L+"("+U+") : "+L+"("+U+")) ";else X+=" "+L+"("+U+") ";X+=" : "+L+".test("+U+"))))) {"}else{var L=B.formats[z];if(!L)if(V=="ignore"){if(B.logger.warn('unknown format "'+z+'" ignored in schema at path "'+B.errSchemaPath+'"'),E)X+=" if (true) { ";return X}else if(j&&V.indexOf(z)>=0){if(E)X+=" if (true) { ";return X}else throw new Error('unknown format "'+z+'" is used in schema at path "'+B.errSchemaPath+'"');var R=typeof L=="object"&&!(L instanceof RegExp)&&L.validate,b=R&&L.type||"string";if(R){var k=L.async===!0;L=L.validate}if(b!=J){if(E)X+=" if (true) { ";return X}if(k){if(!B.async)throw new Error("async format in sync schema");var I="formats"+B.util.getProperty(z)+".validate";X+=" if (!(await "+I+"("+U+"))) { "}else{X+=" if (! ";var I="formats"+B.util.getProperty(z);if(R)I+=".validate";if(typeof L=="function")X+=" "+I+"("+U+") ";else X+=" "+I+".test("+U+") ";X+=") { "}}var u=u||[];if(u.push(X),X="",B.createErrors!==!1){if(X+=" { keyword: 'format' , dataPath: (dataPath || '') + "+B.errorPath+" , schemaPath: "+B.util.toQuotedString(q)+" , params: { format: ",A)X+=""+K;else X+=""+B.util.toQuotedString(z);if(X+=" } ",B.opts.messages!==!1){if(X+=` , message: 'should match format "`,A)X+="' + "+K+" + '";else X+=""+B.util.escapeQuotes(z);X+=`"' `}if(B.opts.verbose){if(X+=" , schema: ",A)X+="validate.schema"+G;else X+=""+B.util.toQuotedString(z);X+=" , parentSchema: validate.schema"+B.schemaPath+" , data: "+U+" "}X+=" } "}else X+=" {} ";var f=X;if(X=u.pop(),!B.compositeRule&&E)if(B.async)X+=" throw new ValidationError(["+f+"]); ";else X+=" validate.errors = ["+f+"]; return false; ";else X+=" var err = "+f+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";if(X+=" } ",E)X+=" else { ";return X}}),qq=HD((D,F)=>{F.exports=function Q(B,Y,J){var X=" ",C=B.level,W=B.dataLevel,z=B.schema[Y],G=B.schemaPath+B.util.getProperty(Y),q=B.errSchemaPath+"/"+Y,E=!B.opts.allErrors,U="data"+(W||""),A="valid"+C,K="errs__"+C,V=B.util.copy(B);V.level++;var j="valid"+V.level,L=B.schema.then,R=B.schema.else,b=L!==void 0&&(B.opts.strictKeywords?typeof L=="object"&&Object.keys(L).length>0||L===!1:B.util.schemaHasRules(L,B.RULES.all)),k=R!==void 0&&(B.opts.strictKeywords?typeof R=="object"&&Object.keys(R).length>0||R===!1:B.util.schemaHasRules(R,B.RULES.all)),I=V.baseId;if(b||k){var u;V.createErrors=!1,V.schema=z,V.schemaPath=G,V.errSchemaPath=q,X+=" var "+K+" = errors; var "+A+" = true; ";var f=B.compositeRule;if(B.compositeRule=V.compositeRule=!0,X+=" "+B.validate(V)+" ",V.baseId=I,V.createErrors=!0,X+=" errors = "+K+"; if (vErrors !== null) { if ("+K+") vErrors.length = "+K+"; else vErrors = null; } ",B.compositeRule=V.compositeRule=f,b){if(X+=" if ("+j+") { ",V.schema=B.schema.then,V.schemaPath=B.schemaPath+".then",V.errSchemaPath=B.errSchemaPath+"/then",X+=" "+B.validate(V)+" ",V.baseId=I,X+=" "+A+" = "+j+"; ",b&&k)u="ifClause"+C,X+=" var "+u+" = 'then'; ";else u="'then'";if(X+=" } ",k)X+=" else { "}else X+=" if (!"+j+") { ";if(k){if(V.schema=B.schema.else,V.schemaPath=B.schemaPath+".else",V.errSchemaPath=B.errSchemaPath+"/else",X+=" "+B.validate(V)+" ",V.baseId=I,X+=" "+A+" = "+j+"; ",b&&k)u="ifClause"+C,X+=" var "+u+" = 'else'; ";else u="'else'";X+=" } "}if(X+=" if (!"+A+") { var err = ",B.createErrors!==!1){if(X+=" { keyword: 'if' , dataPath: (dataPath || '') + "+B.errorPath+" , schemaPath: "+B.util.toQuotedString(q)+" , params: { failingKeyword: "+u+" } ",B.opts.messages!==!1)X+=` , message: 'should match "' + `+u+` + '" schema' `;if(B.opts.verbose)X+=" , schema: validate.schema"+G+" , parentSchema: validate.schema"+B.schemaPath+" , data: "+U+" ";X+=" } "}else X+=" {} ";if(X+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!B.compositeRule&&E)if(B.async)X+=" throw new ValidationError(vErrors); ";else X+=" validate.errors = vErrors; return false; ";if(X+=" } ",E)X+=" else { "}else if(E)X+=" if (true) { ";return X}}),Kq=HD((D,F)=>{F.exports=function Q(B,Y,J){var X=" ",C=B.level,W=B.dataLevel,z=B.schema[Y],G=B.schemaPath+B.util.getProperty(Y),q=B.errSchemaPath+"/"+Y,E=!B.opts.allErrors,U="data"+(W||""),A="valid"+C,K="errs__"+C,V=B.util.copy(B),j="";V.level++;var L="valid"+V.level,R="i"+C,b=V.dataLevel=B.dataLevel+1,k="data"+b,I=B.baseId;if(X+="var "+K+" = errors;var "+A+";",Array.isArray(z)){var u=B.schema.additionalItems;if(u===!1){X+=" "+A+" = "+U+".length <= "+z.length+"; ";var f=q;q=B.errSchemaPath+"/additionalItems",X+=" if (!"+A+") { ";var O=O||[];if(O.push(X),X="",B.createErrors!==!1){if(X+=" { keyword: 'additionalItems' , dataPath: (dataPath || '') + "+B.errorPath+" , schemaPath: "+B.util.toQuotedString(q)+" , params: { limit: "+z.length+" } ",B.opts.messages!==!1)X+=" , message: 'should NOT have more than "+z.length+" items' ";if(B.opts.verbose)X+=" , schema: false , parentSchema: validate.schema"+B.schemaPath+" , data: "+U+" ";X+=" } "}else X+=" {} ";var y=X;if(X=O.pop(),!B.compositeRule&&E)if(B.async)X+=" throw new ValidationError(["+y+"]); ";else X+=" validate.errors = ["+y+"]; return false; ";else X+=" var err = "+y+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";if(X+=" } ",q=f,E)j+="}",X+=" else { "}var x=z;if(x){var w,S=-1,g=x.length-1;while(S<g)if(w=x[S+=1],B.opts.strictKeywords?typeof w=="object"&&Object.keys(w).length>0||w===!1:B.util.schemaHasRules(w,B.RULES.all)){X+=" "+L+" = true; if ("+U+".length > "+S+") { ";var d=U+"["+S+"]";V.schema=w,V.schemaPath=G+"["+S+"]",V.errSchemaPath=q+"/"+S,V.errorPath=B.util.getPathExpr(B.errorPath,S,B.opts.jsonPointers,!0),V.dataPathArr[b]=S;var n=B.validate(V);if(V.baseId=I,B.util.varOccurences(n,k)<2)X+=" "+B.util.varReplace(n,k,d)+" ";else X+=" var "+k+" = "+d+"; "+n+" ";if(X+=" } ",E)X+=" if ("+L+") { ",j+="}"}}if(typeof u=="object"&&(B.opts.strictKeywords?typeof u=="object"&&Object.keys(u).length>0||u===!1:B.util.schemaHasRules(u,B.RULES.all))){V.schema=u,V.schemaPath=B.schemaPath+".additionalItems",V.errSchemaPath=B.errSchemaPath+"/additionalItems",X+=" "+L+" = true; if ("+U+".length > "+z.length+") { for (var "+R+" = "+z.length+"; "+R+" < "+U+".length; "+R+"++) { ",V.errorPath=B.util.getPathExpr(B.errorPath,R,B.opts.jsonPointers,!0);var d=U+"["+R+"]";V.dataPathArr[b]=R;var n=B.validate(V);if(V.baseId=I,B.util.varOccurences(n,k)<2)X+=" "+B.util.varReplace(n,k,d)+" ";else X+=" var "+k+" = "+d+"; "+n+" ";if(E)X+=" if (!"+L+") break; ";if(X+=" } } ",E)X+=" if ("+L+") { ",j+="}"}}else if(B.opts.strictKeywords?typeof z=="object"&&Object.keys(z).length>0||z===!1:B.util.schemaHasRules(z,B.RULES.all)){V.schema=z,V.schemaPath=G,V.errSchemaPath=q,X+=" for (var "+R+" = 0; "+R+" < "+U+".length; "+R+"++) { ",V.errorPath=B.util.getPathExpr(B.errorPath,R,B.opts.jsonPointers,!0);var d=U+"["+R+"]";V.dataPathArr[b]=R;var n=B.validate(V);if(V.baseId=I,B.util.varOccurences(n,k)<2)X+=" "+B.util.varReplace(n,k,d)+" ";else X+=" var "+k+" = "+d+"; "+n+" ";if(E)X+=" if (!"+L+") break; ";X+=" }"}if(E)X+=" "+j+" if ("+K+" == errors) {";return X}}),cB=HD((D,F)=>{F.exports=function Q(B,Y,J){var X=" ",C=B.level,W=B.dataLevel,z=B.schema[Y],G=B.schemaPath+B.util.getProperty(Y),q=B.errSchemaPath+"/"+Y,E=!B.opts.allErrors,I,U="data"+(W||""),A=B.opts.$data&&z&&z.$data,K;if(A)X+=" var schema"+C+" = "+B.util.getData(z.$data,W,B.dataPathArr)+"; ",K="schema"+C;else K=z;var V=Y=="maximum",j=V?"exclusiveMaximum":"exclusiveMinimum",L=B.schema[j],R=B.opts.$data&&L&&L.$data,b=V?"<":">",k=V?">":"<",I=void 0;if(!(A||typeof z=="number"||z===void 0))throw new Error(Y+" must be number");if(!(R||L===void 0||typeof L=="number"||typeof L=="boolean"))throw new Error(j+" must be number or boolean");if(R){var u=B.util.getData(L.$data,W,B.dataPathArr),f="exclusive"+C,O="exclType"+C,y="exclIsNumber"+C,x="op"+C,w="' + "+x+" + '";X+=" var schemaExcl"+C+" = "+u+"; ",u="schemaExcl"+C,X+=" var "+f+"; var "+O+" = typeof "+u+"; if ("+O+" != 'boolean' && "+O+" != 'undefined' && "+O+" != 'number') { ";var I=j,S=S||[];if(S.push(X),X="",B.createErrors!==!1){if(X+=" { keyword: '"+(I||"_exclusiveLimit")+"' , dataPath: (dataPath || '') + "+B.errorPath+" , schemaPath: "+B.util.toQuotedString(q)+" , params: {} ",B.opts.messages!==!1)X+=" , message: '"+j+" should be boolean' ";if(B.opts.verbose)X+=" , schema: validate.schema"+G+" , parentSchema: validate.schema"+B.schemaPath+" , data: "+U+" ";X+=" } "}else X+=" {} ";var g=X;if(X=S.pop(),!B.compositeRule&&E)if(B.async)X+=" throw new ValidationError(["+g+"]); ";else X+=" validate.errors = ["+g+"]; return false; ";else X+=" var err = "+g+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";if(X+=" } else if ( ",A)X+=" ("+K+" !== undefined && typeof "+K+" != 'number') || ";if(X+=" "+O+" == 'number' ? ( ("+f+" = "+K+" === undefined || "+u+" "+b+"= "+K+") ? "+U+" "+k+"= "+u+" : "+U+" "+k+" "+K+" ) : ( ("+f+" = "+u+" === true) ? "+U+" "+k+"= "+K+" : "+U+" "+k+" "+K+" ) || "+U+" !== "+U+") { var op"+C+" = "+f+" ? '"+b+"' : '"+b+"='; ",z===void 0)I=j,q=B.errSchemaPath+"/"+j,K=u,A=R}else{var y=typeof L=="number",w=b;if(y&&A){var x="'"+w+"'";if(X+=" if ( ",A)X+=" ("+K+" !== undefined && typeof "+K+" != 'number') || ";X+=" ( "+K+" === undefined || "+L+" "+b+"= "+K+" ? "+U+" "+k+"= "+L+" : "+U+" "+k+" "+K+" ) || "+U+" !== "+U+") { "}else{if(y&&z===void 0)f=!0,I=j,q=B.errSchemaPath+"/"+j,K=L,k+="=";else{if(y)K=Math[V?"min":"max"](L,z);if(L===(y?K:!0))f=!0,I=j,q=B.errSchemaPath+"/"+j,k+="=";else f=!1,w+="="}var x="'"+w+"'";if(X+=" if ( ",A)X+=" ("+K+" !== undefined && typeof "+K+" != 'number') || ";X+=" "+U+" "+k+" "+K+" || "+U+" !== "+U+") { "}}I=I||Y;var S=S||[];if(S.push(X),X="",B.createErrors!==!1){if(X+=" { keyword: '"+(I||"_limit")+"' , dataPath: (dataPath || '') + "+B.errorPath+" , schemaPath: "+B.util.toQuotedString(q)+" , params: { comparison: "+x+", limit: "+K+", exclusive: "+f+" } ",B.opts.messages!==!1)if(X+=" , message: 'should be "+w+" ",A)X+="' + "+K;else X+=""+K+"'";if(B.opts.verbose){if(X+=" , schema: ",A)X+="validate.schema"+G;else X+=""+z;X+=" , parentSchema: validate.schema"+B.schemaPath+" , data: "+U+" "}X+=" } "}else X+=" {} ";var g=X;if(X=S.pop(),!B.compositeRule&&E)if(B.async)X+=" throw new ValidationError(["+g+"]); ";else X+=" validate.errors = ["+g+"]; return false; ";else X+=" var err = "+g+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";if(X+=" } ",E)X+=" else { ";return X}}),pB=HD((D,F)=>{F.exports=function Q(B,Y,J){var X=" ",C=B.level,W=B.dataLevel,z=B.schema[Y],G=B.schemaPath+B.util.getProperty(Y),q=B.errSchemaPath+"/"+Y,E=!B.opts.allErrors,j,U="data"+(W||""),A=B.opts.$data&&z&&z.$data,K;if(A)X+=" var schema"+C+" = "+B.util.getData(z.$data,W,B.dataPathArr)+"; ",K="schema"+C;else K=z;if(!(A||typeof z=="number"))throw new Error(Y+" must be number");var V=Y=="maxItems"?">":"<";if(X+="if ( ",A)X+=" ("+K+" !== undefined && typeof "+K+" != 'number') || ";X+=" "+U+".length "+V+" "+K+") { ";var j=Y,L=L||[];if(L.push(X),X="",B.createErrors!==!1){if(X+=" { keyword: '"+(j||"_limitItems")+"' , dataPath: (dataPath || '') + "+B.errorPath+" , schemaPath: "+B.util.toQuotedString(q)+" , params: { limit: "+K+" } ",B.opts.messages!==!1){if(X+=" , message: 'should NOT have ",Y=="maxItems")X+="more";else X+="fewer";if(X+=" than ",A)X+="' + "+K+" + '";else X+=""+z;X+=" items' "}if(B.opts.verbose){if(X+=" , schema: ",A)X+="validate.schema"+G;else X+=""+z;X+=" , parentSchema: validate.schema"+B.schemaPath+" , data: "+U+" "}X+=" } "}else X+=" {} ";var R=X;if(X=L.pop(),!B.compositeRule&&E)if(B.async)X+=" throw new ValidationError(["+R+"]); ";else X+=" validate.errors = ["+R+"]; return false; ";else X+=" var err = "+R+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";if(X+="} ",E)X+=" else { ";return X}}),nB=HD((D,F)=>{F.exports=function Q(B,Y,J){var X=" ",C=B.level,W=B.dataLevel,z=B.schema[Y],G=B.schemaPath+B.util.getProperty(Y),q=B.errSchemaPath+"/"+Y,E=!B.opts.allErrors,j,U="data"+(W||""),A=B.opts.$data&&z&&z.$data,K;if(A)X+=" var schema"+C+" = "+B.util.getData(z.$data,W,B.dataPathArr)+"; ",K="schema"+C;else K=z;if(!(A||typeof z=="number"))throw new Error(Y+" must be number");var V=Y=="maxLength"?">":"<";if(X+="if ( ",A)X+=" ("+K+" !== undefined && typeof "+K+" != 'number') || ";if(B.opts.unicode===!1)X+=" "+U+".length ";else X+=" ucs2length("+U+") ";X+=" "+V+" "+K+") { ";var j=Y,L=L||[];if(L.push(X),X="",B.createErrors!==!1){if(X+=" { keyword: '"+(j||"_limitLength")+"' , dataPath: (dataPath || '') + "+B.errorPath+" , schemaPath: "+B.util.toQuotedString(q)+" , params: { limit: "+K+" } ",B.opts.messages!==!1){if(X+=" , message: 'should NOT be ",Y=="maxLength")X+="longer";else X+="shorter";if(X+=" than ",A)X+="' + "+K+" + '";else X+=""+z;X+=" characters' "}if(B.opts.verbose){if(X+=" , schema: ",A)X+="validate.schema"+G;else X+=""+z;X+=" , parentSchema: validate.schema"+B.schemaPath+" , data: "+U+" "}X+=" } "}else X+=" {} ";var R=X;if(X=L.pop(),!B.compositeRule&&E)if(B.async)X+=" throw new ValidationError(["+R+"]); ";else X+=" validate.errors = ["+R+"]; return false; ";else X+=" var err = "+R+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";if(X+="} ",E)X+=" else { ";return X}}),iB=HD((D,F)=>{F.exports=function Q(B,Y,J){var X=" ",C=B.level,W=B.dataLevel,z=B.schema[Y],G=B.schemaPath+B.util.getProperty(Y),q=B.errSchemaPath+"/"+Y,E=!B.opts.allErrors,j,U="data"+(W||""),A=B.opts.$data&&z&&z.$data,K;if(A)X+=" var schema"+C+" = "+B.util.getData(z.$data,W,B.dataPathArr)+"; ",K="schema"+C;else K=z;if(!(A||typeof z=="number"))throw new Error(Y+" must be number");var V=Y=="maxProperties"?">":"<";if(X+="if ( ",A)X+=" ("+K+" !== undefined && typeof "+K+" != 'number') || ";X+=" Object.keys("+U+").length "+V+" "+K+") { ";var j=Y,L=L||[];if(L.push(X),X="",B.createErrors!==!1){if(X+=" { keyword: '"+(j||"_limitProperties")+"' , dataPath: (dataPath || '') + "+B.errorPath+" , schemaPath: "+B.util.toQuotedString(q)+" , params: { limit: "+K+" } ",B.opts.messages!==!1){if(X+=" , message: 'should NOT have ",Y=="maxProperties")X+="more";else X+="fewer";if(X+=" than ",A)X+="' + "+K+" + '";else X+=""+z;X+=" properties' "}if(B.opts.verbose){if(X+=" , schema: ",A)X+="validate.schema"+G;else X+=""+z;X+=" , parentSchema: validate.schema"+B.schemaPath+" , data: "+U+" "}X+=" } "}else X+=" {} ";var R=X;if(X=L.pop(),!B.compositeRule&&E)if(B.async)X+=" throw new ValidationError(["+R+"]); ";else X+=" validate.errors = ["+R+"]; return false; ";else X+=" var err = "+R+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";if(X+="} ",E)X+=" else { ";return X}}),Hq=HD((D,F)=>{F.exports=function Q(B,Y,J){var X=" ",C=B.level,W=B.dataLevel,z=B.schema[Y],G=B.schemaPath+B.util.getProperty(Y),q=B.errSchemaPath+"/"+Y,E=!B.opts.allErrors,U="data"+(W||""),A=B.opts.$data&&z&&z.$data,K;if(A)X+=" var schema"+C+" = "+B.util.getData(z.$data,W,B.dataPathArr)+"; ",K="schema"+C;else K=z;if(!(A||typeof z=="number"))throw new Error(Y+" must be number");if(X+="var division"+C+";if (",A)X+=" "+K+" !== undefined && ( typeof "+K+" != 'number' || ";if(X+=" (division"+C+" = "+U+" / "+K+", ",B.opts.multipleOfPrecision)X+=" Math.abs(Math.round(division"+C+") - division"+C+") > 1e-"+B.opts.multipleOfPrecision+" ";else X+=" division"+C+" !== parseInt(division"+C+") ";if(X+=" ) ",A)X+=" ) ";X+=" ) { ";var V=V||[];if(V.push(X),X="",B.createErrors!==!1){if(X+=" { keyword: 'multipleOf' , dataPath: (dataPath || '') + "+B.errorPath+" , schemaPath: "+B.util.toQuotedString(q)+" , params: { multipleOf: "+K+" } ",B.opts.messages!==!1)if(X+=" , message: 'should be multiple of ",A)X+="' + "+K;else X+=""+K+"'";if(B.opts.verbose){if(X+=" , schema: ",A)X+="validate.schema"+G;else X+=""+z;X+=" , parentSchema: validate.schema"+B.schemaPath+" , data: "+U+" "}X+=" } "}else X+=" {} ";var j=X;if(X=V.pop(),!B.compositeRule&&E)if(B.async)X+=" throw new ValidationError(["+j+"]); ";else X+=" validate.errors = ["+j+"]; return false; ";else X+=" var err = "+j+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";if(X+="} ",E)X+=" else { ";return X}}),Uq=HD((D,F)=>{F.exports=function Q(B,Y,J){var X=" ",C=B.level,W=B.dataLevel,z=B.schema[Y],G=B.schemaPath+B.util.getProperty(Y),q=B.errSchemaPath+"/"+Y,E=!B.opts.allErrors,U="data"+(W||""),A="errs__"+C,K=B.util.copy(B);K.level++;var V="valid"+K.level;if(B.opts.strictKeywords?typeof z=="object"&&Object.keys(z).length>0||z===!1:B.util.schemaHasRules(z,B.RULES.all)){K.schema=z,K.schemaPath=G,K.errSchemaPath=q,X+=" var "+A+" = errors; ";var j=B.compositeRule;B.compositeRule=K.compositeRule=!0,K.createErrors=!1;var L;if(K.opts.allErrors)L=K.opts.allErrors,K.opts.allErrors=!1;if(X+=" "+B.validate(K)+" ",K.createErrors=!0,L)K.opts.allErrors=L;B.compositeRule=K.compositeRule=j,X+=" if ("+V+") { ";var R=R||[];if(R.push(X),X="",B.createErrors!==!1){if(X+=" { keyword: 'not' , dataPath: (dataPath || '') + "+B.errorPath+" , schemaPath: "+B.util.toQuotedString(q)+" , params: {} ",B.opts.messages!==!1)X+=" , message: 'should NOT be valid' ";if(B.opts.verbose)X+=" , schema: validate.schema"+G+" , parentSchema: validate.schema"+B.schemaPath+" , data: "+U+" ";X+=" } "}else X+=" {} ";var b=X;if(X=R.pop(),!B.compositeRule&&E)if(B.async)X+=" throw new ValidationError(["+b+"]); ";else X+=" validate.errors = ["+b+"]; return false; ";else X+=" var err = "+b+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";if(X+=" } else { errors = "+A+"; if (vErrors !== null) { if ("+A+") vErrors.length = "+A+"; else vErrors = null; } ",B.opts.allErrors)X+=" } "}else{if(X+=" var err = ",B.createErrors!==!1){if(X+=" { keyword: 'not' , dataPath: (dataPath || '') + "+B.errorPath+" , schemaPath: "+B.util.toQuotedString(q)+" , params: {} ",B.opts.messages!==!1)X+=" , message: 'should NOT be valid' ";if(B.opts.verbose)X+=" , schema: validate.schema"+G+" , parentSchema: validate.schema"+B.schemaPath+" , data: "+U+" ";X+=" } "}else X+=" {} ";if(X+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",E)X+=" if (false) { "}return X}}),Eq=HD((D,F)=>{F.exports=function Q(B,Y,J){var X=" ",C=B.level,W=B.dataLevel,z=B.schema[Y],G=B.schemaPath+B.util.getProperty(Y),q=B.errSchemaPath+"/"+Y,E=!B.opts.allErrors,U="data"+(W||""),A="valid"+C,K="errs__"+C,V=B.util.copy(B),j="";V.level++;var L="valid"+V.level,R=V.baseId,b="prevValid"+C,k="passingSchemas"+C;X+="var "+K+" = errors , "+b+" = false , "+A+" = false , "+k+" = null; ";var I=B.compositeRule;B.compositeRule=V.compositeRule=!0;var u=z;if(u){var f,O=-1,y=u.length-1;while(O<y){if(f=u[O+=1],B.opts.strictKeywords?typeof f=="object"&&Object.keys(f).length>0||f===!1:B.util.schemaHasRules(f,B.RULES.all))V.schema=f,V.schemaPath=G+"["+O+"]",V.errSchemaPath=q+"/"+O,X+=" "+B.validate(V)+" ",V.baseId=R;else X+=" var "+L+" = true; ";if(O)X+=" if ("+L+" && "+b+") { "+A+" = false; "+k+" = ["+k+", "+O+"]; } else { ",j+="}";X+=" if ("+L+") { "+A+" = "+b+" = true; "+k+" = "+O+"; }"}}if(B.compositeRule=V.compositeRule=I,X+=""+j+"if (!"+A+") { var err = ",B.createErrors!==!1){if(X+=" { keyword: 'oneOf' , dataPath: (dataPath || '') + "+B.errorPath+" , schemaPath: "+B.util.toQuotedString(q)+" , params: { passingSchemas: "+k+" } ",B.opts.messages!==!1)X+=" , message: 'should match exactly one schema in oneOf' ";if(B.opts.verbose)X+=" , schema: validate.schema"+G+" , parentSchema: validate.schema"+B.schemaPath+" , data: "+U+" ";X+=" } "}else X+=" {} ";if(X+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!B.compositeRule&&E)if(B.async)X+=" throw new ValidationError(vErrors); ";else X+=" validate.errors = vErrors; return false; ";if(X+="} else { errors = "+K+"; if (vErrors !== null) { if ("+K+") vErrors.length = "+K+"; else vErrors = null; }",B.opts.allErrors)X+=" } ";return X}}),Zq=HD((D,F)=>{F.exports=function Q(B,Y,J){var X=" ",C=B.level,W=B.dataLevel,z=B.schema[Y],G=B.schemaPath+B.util.getProperty(Y),q=B.errSchemaPath+"/"+Y,E=!B.opts.allErrors,U="data"+(W||""),A=B.opts.$data&&z&&z.$data,K;if(A)X+=" var schema"+C+" = "+B.util.getData(z.$data,W,B.dataPathArr)+"; ",K="schema"+C;else K=z;var V=A?"(new RegExp("+K+"))":B.usePattern(z);if(X+="if ( ",A)X+=" ("+K+" !== undefined && typeof "+K+" != 'string') || ";X+=" !"+V+".test("+U+") ) { ";var j=j||[];if(j.push(X),X="",B.createErrors!==!1){if(X+=" { keyword: 'pattern' , dataPath: (dataPath || '') + "+B.errorPath+" , schemaPath: "+B.util.toQuotedString(q)+" , params: { pattern: ",A)X+=""+K;else X+=""+B.util.toQuotedString(z);if(X+=" } ",B.opts.messages!==!1){if(X+=` , message: 'should match pattern "`,A)X+="' + "+K+" + '";else X+=""+B.util.escapeQuotes(z);X+=`"' `}if(B.opts.verbose){if(X+=" , schema: ",A)X+="validate.schema"+G;else X+=""+B.util.toQuotedString(z);X+=" , parentSchema: validate.schema"+B.schemaPath+" , data: "+U+" "}X+=" } "}else X+=" {} ";var L=X;if(X=j.pop(),!B.compositeRule&&E)if(B.async)X+=" throw new ValidationError(["+L+"]); ";else X+=" validate.errors = ["+L+"]; return false; ";else X+=" var err = "+L+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";if(X+="} ",E)X+=" else { ";return X}}),Aq=HD((D,F)=>{F.exports=function Q(B,Y,J){var X=" ",C=B.level,W=B.dataLevel,z=B.schema[Y],G=B.schemaPath+B.util.getProperty(Y),q=B.errSchemaPath+"/"+Y,E=!B.opts.allErrors,U="data"+(W||""),A="errs__"+C,K=B.util.copy(B),V="";K.level++;var j="valid"+K.level,L="key"+C,R="idx"+C,b=K.dataLevel=B.dataLevel+1,k="data"+b,I="dataProperties"+C,u=Object.keys(z||{}).filter(JD),f=B.schema.patternProperties||{},O=Object.keys(f).filter(JD),y=B.schema.additionalProperties,x=u.length||O.length,w=y===!1,S=typeof y=="object"&&Object.keys(y).length,g=B.opts.removeAdditional,d=w||S||g,n=B.opts.ownProperties,a=B.baseId,DD=B.schema.required;if(DD&&!(B.opts.$data&&DD.$data)&&DD.length<B.opts.loopRequired)var o=B.util.toHash(DD);function JD(n0){return n0!=="__proto__"}if(X+="var "+A+" = errors;var "+j+" = true;",n)X+=" var "+I+" = undefined;";if(d){if(n)X+=" "+I+" = "+I+" || Object.keys("+U+"); for (var "+R+"=0; "+R+"<"+I+".length; "+R+"++) { var "+L+" = "+I+"["+R+"]; ";else X+=" for (var "+L+" in "+U+") { ";if(x){if(X+=" var isAdditional"+C+" = !(false ",u.length)if(u.length>8)X+=" || validate.schema"+G+".hasOwnProperty("+L+") ";else{var CD=u;if(CD){var FD,MD=-1,dD=CD.length-1;while(MD<dD)FD=CD[MD+=1],X+=" || "+L+" == "+B.util.toQuotedString(FD)+" "}}if(O.length){var nD=O;if(nD){var N,_=-1,H=nD.length-1;while(_<H)N=nD[_+=1],X+=" || "+B.usePattern(N)+".test("+L+") "}}X+=" ); if (isAdditional"+C+") { "}if(g=="all")X+=" delete "+U+"["+L+"]; ";else{var T=B.errorPath,h="' + "+L+" + '";if(B.opts._errorDataPathProperty)B.errorPath=B.util.getPathExpr(B.errorPath,L,B.opts.jsonPointers);if(w)if(g)X+=" delete "+U+"["+L+"]; ";else{X+=" "+j+" = false; ";var c=q;q=B.errSchemaPath+"/additionalProperties";var l=l||[];if(l.push(X),X="",B.createErrors!==!1){if(X+=" { keyword: 'additionalProperties' , dataPath: (dataPath || '') + "+B.errorPath+" , schemaPath: "+B.util.toQuotedString(q)+" , params: { additionalProperty: '"+h+"' } ",B.opts.messages!==!1){if(X+=" , message: '",B.opts._errorDataPathProperty)X+="is an invalid additional property";else X+="should NOT have additional properties";X+="' "}if(B.opts.verbose)X+=" , schema: false , parentSchema: validate.schema"+B.schemaPath+" , data: "+U+" ";X+=" } "}else X+=" {} ";var p=X;if(X=l.pop(),!B.compositeRule&&E)if(B.async)X+=" throw new ValidationError(["+p+"]); ";else X+=" validate.errors = ["+p+"]; return false; ";else X+=" var err = "+p+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";if(q=c,E)X+=" break; "}else if(S)if(g=="failing"){X+=" var "+A+" = errors; ";var QD=B.compositeRule;B.compositeRule=K.compositeRule=!0,K.schema=y,K.schemaPath=B.schemaPath+".additionalProperties",K.errSchemaPath=B.errSchemaPath+"/additionalProperties",K.errorPath=B.opts._errorDataPathProperty?B.errorPath:B.util.getPathExpr(B.errorPath,L,B.opts.jsonPointers);var KD=U+"["+L+"]";K.dataPathArr[b]=L;var WD=B.validate(K);if(K.baseId=a,B.util.varOccurences(WD,k)<2)X+=" "+B.util.varReplace(WD,k,KD)+" ";else X+=" var "+k+" = "+KD+"; "+WD+" ";X+=" if (!"+j+") { errors = "+A+"; if (validate.errors !== null) { if (errors) validate.errors.length = errors; else validate.errors = null; } delete "+U+"["+L+"]; } ",B.compositeRule=K.compositeRule=QD}else{K.schema=y,K.schemaPath=B.schemaPath+".additionalProperties",K.errSchemaPath=B.errSchemaPath+"/additionalProperties",K.errorPath=B.opts._errorDataPathProperty?B.errorPath:B.util.getPathExpr(B.errorPath,L,B.opts.jsonPointers);var KD=U+"["+L+"]";K.dataPathArr[b]=L;var WD=B.validate(K);if(K.baseId=a,B.util.varOccurences(WD,k)<2)X+=" "+B.util.varReplace(WD,k,KD)+" ";else X+=" var "+k+" = "+KD+"; "+WD+" ";if(E)X+=" if (!"+j+") break; "}B.errorPath=T}if(x)X+=" } ";if(X+=" } ",E)X+=" if ("+j+") { ",V+="}"}var AD=B.opts.useDefaults&&!B.compositeRule;if(u.length){var bD=u;if(bD){var FD,_D=-1,Q0=bD.length-1;while(_D<Q0){FD=bD[_D+=1];var cD=z[FD];if(B.opts.strictKeywords?typeof cD=="object"&&Object.keys(cD).length>0||cD===!1:B.util.schemaHasRules(cD,B.RULES.all)){var H0=B.util.getProperty(FD),KD=U+H0,kD=AD&&cD.default!==void 0;K.schema=cD,K.schemaPath=G+H0,K.errSchemaPath=q+"/"+B.util.escapeFragment(FD),K.errorPath=B.util.getPath(B.errorPath,FD,B.opts.jsonPointers),K.dataPathArr[b]=B.util.toQuotedString(FD);var WD=B.validate(K);if(K.baseId=a,B.util.varOccurences(WD,k)<2){WD=B.util.varReplace(WD,k,KD);var eD=KD}else{var eD=k;X+=" var "+k+" = "+KD+"; "}if(kD)X+=" "+WD+" ";else{if(o&&o[FD]){if(X+=" if ( "+eD+" === undefined ",n)X+=" || ! Object.prototype.hasOwnProperty.call("+U+", '"+B.util.escapeQuotes(FD)+"') ";X+=") { "+j+" = false; ";var T=B.errorPath,c=q,k0=B.util.escapeQuotes(FD);if(B.opts._errorDataPathProperty)B.errorPath=B.util.getPath(T,FD,B.opts.jsonPointers);q=B.errSchemaPath+"/required";var l=l||[];if(l.push(X),X="",B.createErrors!==!1){if(X+=" { keyword: 'required' , dataPath: (dataPath || '') + "+B.errorPath+" , schemaPath: "+B.util.toQuotedString(q)+" , params: { missingProperty: '"+k0+"' } ",B.opts.messages!==!1){if(X+=" , message: '",B.opts._errorDataPathProperty)X+="is a required property";else X+="should have required property \\'"+k0+"\\'";X+="' "}if(B.opts.verbose)X+=" , schema: validate.schema"+G+" , parentSchema: validate.schema"+B.schemaPath+" , data: "+U+" ";X+=" } "}else X+=" {} ";var p=X;if(X=l.pop(),!B.compositeRule&&E)if(B.async)X+=" throw new ValidationError(["+p+"]); ";else X+=" validate.errors = ["+p+"]; return false; ";else X+=" var err = "+p+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";q=c,B.errorPath=T,X+=" } else { "}else if(E){if(X+=" if ( "+eD+" === undefined ",n)X+=" || ! Object.prototype.hasOwnProperty.call("+U+", '"+B.util.escapeQuotes(FD)+"') ";X+=") { "+j+" = true; } else { "}else{if(X+=" if ("+eD+" !== undefined ",n)X+=" && Object.prototype.hasOwnProperty.call("+U+", '"+B.util.escapeQuotes(FD)+"') ";X+=" ) { "}X+=" "+WD+" } "}}if(E)X+=" if ("+j+") { ",V+="}"}}}if(O.length){var R0=O;if(R0){var N,g8=-1,t6=R0.length-1;while(g8<t6){N=R0[g8+=1];var cD=f[N];if(B.opts.strictKeywords?typeof cD=="object"&&Object.keys(cD).length>0||cD===!1:B.util.schemaHasRules(cD,B.RULES.all)){if(K.schema=cD,K.schemaPath=B.schemaPath+".patternProperties"+B.util.getProperty(N),K.errSchemaPath=B.errSchemaPath+"/patternProperties/"+B.util.escapeFragment(N),n)X+=" "+I+" = "+I+" || Object.keys("+U+"); for (var "+R+"=0; "+R+"<"+I+".length; "+R+"++) { var "+L+" = "+I+"["+R+"]; ";else X+=" for (var "+L+" in "+U+") { ";X+=" if ("+B.usePattern(N)+".test("+L+")) { ",K.errorPath=B.util.getPathExpr(B.errorPath,L,B.opts.jsonPointers);var KD=U+"["+L+"]";K.dataPathArr[b]=L;var WD=B.validate(K);if(K.baseId=a,B.util.varOccurences(WD,k)<2)X+=" "+B.util.varReplace(WD,k,KD)+" ";else X+=" var "+k+" = "+KD+"; "+WD+" ";if(E)X+=" if (!"+j+") break; ";if(X+=" } ",E)X+=" else "+j+" = true; ";if(X+=" } ",E)X+=" if ("+j+") { ",V+="}"}}}}if(E)X+=" "+V+" if ("+A+" == errors) {";return X}}),Vq=HD((D,F)=>{F.exports=function Q(B,Y,J){var X=" ",C=B.level,W=B.dataLevel,z=B.schema[Y],G=B.schemaPath+B.util.getProperty(Y),q=B.errSchemaPath+"/"+Y,E=!B.opts.allErrors,U="data"+(W||""),A="errs__"+C,K=B.util.copy(B),V="";K.level++;var j="valid"+K.level;if(X+="var "+A+" = errors;",B.opts.strictKeywords?typeof z=="object"&&Object.keys(z).length>0||z===!1:B.util.schemaHasRules(z,B.RULES.all)){K.schema=z,K.schemaPath=G,K.errSchemaPath=q;var L="key"+C,R="idx"+C,b="i"+C,k="' + "+L+" + '",I=K.dataLevel=B.dataLevel+1,u="data"+I,f="dataProperties"+C,O=B.opts.ownProperties,y=B.baseId;if(O)X+=" var "+f+" = undefined; ";if(O)X+=" "+f+" = "+f+" || Object.keys("+U+"); for (var "+R+"=0; "+R+"<"+f+".length; "+R+"++) { var "+L+" = "+f+"["+R+"]; ";else X+=" for (var "+L+" in "+U+") { ";X+=" var startErrs"+C+" = errors; ";var x=L,w=B.compositeRule;B.compositeRule=K.compositeRule=!0;var S=B.validate(K);if(K.baseId=y,B.util.varOccurences(S,u)<2)X+=" "+B.util.varReplace(S,u,x)+" ";else X+=" var "+u+" = "+x+"; "+S+" ";if(B.compositeRule=K.compositeRule=w,X+=" if (!"+j+") { for (var "+b+"=startErrs"+C+"; "+b+"<errors; "+b+"++) { vErrors["+b+"].propertyName = "+L+"; } var err = ",B.createErrors!==!1){if(X+=" { keyword: 'propertyNames' , dataPath: (dataPath || '') + "+B.errorPath+" , schemaPath: "+B.util.toQuotedString(q)+" , params: { propertyName: '"+k+"' } ",B.opts.messages!==!1)X+=" , message: 'property name \\'"+k+"\\' is invalid' ";if(B.opts.verbose)X+=" , schema: validate.schema"+G+" , parentSchema: validate.schema"+B.schemaPath+" , data: "+U+" ";X+=" } "}else X+=" {} ";if(X+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!B.compositeRule&&E)if(B.async)X+=" throw new ValidationError(vErrors); ";else X+=" validate.errors = vErrors; return false; ";if(E)X+=" break; ";X+=" } }"}if(E)X+=" "+V+" if ("+A+" == errors) {";return X}}),Lq=HD((D,F)=>{F.exports=function Q(B,Y,J){var X=" ",C=B.level,W=B.dataLevel,z=B.schema[Y],G=B.schemaPath+B.util.getProperty(Y),q=B.errSchemaPath+"/"+Y,E=!B.opts.allErrors,U="data"+(W||""),A="valid"+C,K=B.opts.$data&&z&&z.$data,V;if(K)X+=" var schema"+C+" = "+B.util.getData(z.$data,W,B.dataPathArr)+"; ",V="schema"+C;else V=z;var j="schema"+C;if(!K)if(z.length<B.opts.loopRequired&&B.schema.properties&&Object.keys(B.schema.properties).length){var L=[],R=z;if(R){var b,k=-1,I=R.length-1;while(k<I){b=R[k+=1];var u=B.schema.properties[b];if(!(u&&(B.opts.strictKeywords?typeof u=="object"&&Object.keys(u).length>0||u===!1:B.util.schemaHasRules(u,B.RULES.all))))L[L.length]=b}}}else var L=z;if(K||L.length){var f=B.errorPath,O=K||L.length>=B.opts.loopRequired,y=B.opts.ownProperties;if(E)if(X+=" var missing"+C+"; ",O){if(!K)X+=" var "+j+" = validate.schema"+G+"; ";var x="i"+C,w="schema"+C+"["+x+"]",S="' + "+w+" + '";if(B.opts._errorDataPathProperty)B.errorPath=B.util.getPathExpr(f,w,B.opts.jsonPointers);if(X+=" var "+A+" = true; ",K)X+=" if (schema"+C+" === undefined) "+A+" = true; else if (!Array.isArray(schema"+C+")) "+A+" = false; else {";if(X+=" for (var "+x+" = 0; "+x+" < "+j+".length; "+x+"++) { "+A+" = "+U+"["+j+"["+x+"]] !== undefined ",y)X+=" && Object.prototype.hasOwnProperty.call("+U+", "+j+"["+x+"]) ";if(X+="; if (!"+A+") break; } ",K)X+=" } ";X+=" if (!"+A+") { ";var g=g||[];if(g.push(X),X="",B.createErrors!==!1){if(X+=" { keyword: 'required' , dataPath: (dataPath || '') + "+B.errorPath+" , schemaPath: "+B.util.toQuotedString(q)+" , params: { missingProperty: '"+S+"' } ",B.opts.messages!==!1){if(X+=" , message: '",B.opts._errorDataPathProperty)X+="is a required property";else X+="should have required property \\'"+S+"\\'";X+="' "}if(B.opts.verbose)X+=" , schema: validate.schema"+G+" , parentSchema: validate.schema"+B.schemaPath+" , data: "+U+" ";X+=" } "}else X+=" {} ";var d=X;if(X=g.pop(),!B.compositeRule&&E)if(B.async)X+=" throw new ValidationError(["+d+"]); ";else X+=" validate.errors = ["+d+"]; return false; ";else X+=" var err = "+d+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";X+=" } else { "}else{X+=" if ( ";var n=L;if(n){var a,x=-1,DD=n.length-1;while(x<DD){if(a=n[x+=1],x)X+=" || ";var o=B.util.getProperty(a),JD=U+o;if(X+=" ( ( "+JD+" === undefined ",y)X+=" || ! Object.prototype.hasOwnProperty.call("+U+", '"+B.util.escapeQuotes(a)+"') ";X+=") && (missing"+C+" = "+B.util.toQuotedString(B.opts.jsonPointers?a:o)+") ) "}}X+=") { ";var w="missing"+C,S="' + "+w+" + '";if(B.opts._errorDataPathProperty)B.errorPath=B.opts.jsonPointers?B.util.getPathExpr(f,w,!0):f+" + "+w;var g=g||[];if(g.push(X),X="",B.createErrors!==!1){if(X+=" { keyword: 'required' , dataPath: (dataPath || '') + "+B.errorPath+" , schemaPath: "+B.util.toQuotedString(q)+" , params: { missingProperty: '"+S+"' } ",B.opts.messages!==!1){if(X+=" , message: '",B.opts._errorDataPathProperty)X+="is a required property";else X+="should have required property \\'"+S+"\\'";X+="' "}if(B.opts.verbose)X+=" , schema: validate.schema"+G+" , parentSchema: validate.schema"+B.schemaPath+" , data: "+U+" ";X+=" } "}else X+=" {} ";var d=X;if(X=g.pop(),!B.compositeRule&&E)if(B.async)X+=" throw new ValidationError(["+d+"]); ";else X+=" validate.errors = ["+d+"]; return false; ";else X+=" var err = "+d+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";X+=" } else { "}else if(O){if(!K)X+=" var "+j+" = validate.schema"+G+"; ";var x="i"+C,w="schema"+C+"["+x+"]",S="' + "+w+" + '";if(B.opts._errorDataPathProperty)B.errorPath=B.util.getPathExpr(f,w,B.opts.jsonPointers);if(K){if(X+=" if ("+j+" && !Array.isArray("+j+")) { var err = ",B.createErrors!==!1){if(X+=" { keyword: 'required' , dataPath: (dataPath || '') + "+B.errorPath+" , schemaPath: "+B.util.toQuotedString(q)+" , params: { missingProperty: '"+S+"' } ",B.opts.messages!==!1){if(X+=" , message: '",B.opts._errorDataPathProperty)X+="is a required property";else X+="should have required property \\'"+S+"\\'";X+="' "}if(B.opts.verbose)X+=" , schema: validate.schema"+G+" , parentSchema: validate.schema"+B.schemaPath+" , data: "+U+" ";X+=" } "}else X+=" {} ";X+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } else if ("+j+" !== undefined) { "}if(X+=" for (var "+x+" = 0; "+x+" < "+j+".length; "+x+"++) { if ("+U+"["+j+"["+x+"]] === undefined ",y)X+=" || ! Object.prototype.hasOwnProperty.call("+U+", "+j+"["+x+"]) ";if(X+=") { var err = ",B.createErrors!==!1){if(X+=" { keyword: 'required' , dataPath: (dataPath || '') + "+B.errorPath+" , schemaPath: "+B.util.toQuotedString(q)+" , params: { missingProperty: '"+S+"' } ",B.opts.messages!==!1){if(X+=" , message: '",B.opts._errorDataPathProperty)X+="is a required property";else X+="should have required property \\'"+S+"\\'";X+="' "}if(B.opts.verbose)X+=" , schema: validate.schema"+G+" , parentSchema: validate.schema"+B.schemaPath+" , data: "+U+" ";X+=" } "}else X+=" {} ";if(X+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } } ",K)X+=" } "}else{var CD=L;if(CD){var a,FD=-1,MD=CD.length-1;while(FD<MD){a=CD[FD+=1];var o=B.util.getProperty(a),S=B.util.escapeQuotes(a),JD=U+o;if(B.opts._errorDataPathProperty)B.errorPath=B.util.getPath(f,a,B.opts.jsonPointers);if(X+=" if ( "+JD+" === undefined ",y)X+=" || ! Object.prototype.hasOwnProperty.call("+U+", '"+B.util.escapeQuotes(a)+"') ";if(X+=") { var err = ",B.createErrors!==!1){if(X+=" { keyword: 'required' , dataPath: (dataPath || '') + "+B.errorPath+" , schemaPath: "+B.util.toQuotedString(q)+" , params: { missingProperty: '"+S+"' } ",B.opts.messages!==!1){if(X+=" , message: '",B.opts._errorDataPathProperty)X+="is a required property";else X+="should have required property \\'"+S+"\\'";X+="' "}if(B.opts.verbose)X+=" , schema: validate.schema"+G+" , parentSchema: validate.schema"+B.schemaPath+" , data: "+U+" ";X+=" } "}else X+=" {} ";X+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } "}}}B.errorPath=f}else if(E)X+=" if (true) {";return X}}),Mq=HD((D,F)=>{F.exports=function Q(B,Y,J){var X=" ",C=B.level,W=B.dataLevel,z=B.schema[Y],G=B.schemaPath+B.util.getProperty(Y),q=B.errSchemaPath+"/"+Y,E=!B.opts.allErrors,U="data"+(W||""),A="valid"+C,K=B.opts.$data&&z&&z.$data,V;if(K)X+=" var schema"+C+" = "+B.util.getData(z.$data,W,B.dataPathArr)+"; ",V="schema"+C;else V=z;if((z||K)&&B.opts.uniqueItems!==!1){if(K)X+=" var "+A+"; if ("+V+" === false || "+V+" === undefined) "+A+" = true; else if (typeof "+V+" != 'boolean') "+A+" = false; else { ";X+=" var i = "+U+".length , "+A+" = true , j; if (i > 1) { ";var j=B.schema.items&&B.schema.items.type,L=Array.isArray(j);if(!j||j=="object"||j=="array"||L&&(j.indexOf("object")>=0||j.indexOf("array")>=0))X+=" outer: for (;i--;) { for (j = i; j--;) { if (equal("+U+"[i], "+U+"[j])) { "+A+" = false; break outer; } } } ";else{X+=" var itemIndices = {}, item; for (;i--;) { var item = "+U+"[i]; ";var R="checkDataType"+(L?"s":"");if(X+=" if ("+B.util[R](j,"item",B.opts.strictNumbers,!0)+") continue; ",L)X+=` if (typeof item == 'string') item = '"' + item; `;X+=" if (typeof itemIndices[item] == 'number') { "+A+" = false; j = itemIndices[item]; break; } itemIndices[item] = i; } "}if(X+=" } ",K)X+=" } ";X+=" if (!"+A+") { ";var b=b||[];if(b.push(X),X="",B.createErrors!==!1){if(X+=" { keyword: 'uniqueItems' , dataPath: (dataPath || '') + "+B.errorPath+" , schemaPath: "+B.util.toQuotedString(q)+" , params: { i: i, j: j } ",B.opts.messages!==!1)X+=" , message: 'should NOT have duplicate items (items ## ' + j + ' and ' + i + ' are identical)' ";if(B.opts.verbose){if(X+=" , schema: ",K)X+="validate.schema"+G;else X+=""+z;X+=" , parentSchema: validate.schema"+B.schemaPath+" , data: "+U+" "}X+=" } "}else X+=" {} ";var k=X;if(X=b.pop(),!B.compositeRule&&E)if(B.async)X+=" throw new ValidationError(["+k+"]); ";else X+=" validate.errors = ["+k+"]; return false; ";else X+=" var err = "+k+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";if(X+=" } ",E)X+=" else { "}else if(E)X+=" if (true) { ";return X}}),Nq=HD((D,F)=>{F.exports={$ref:Bq(),allOf:Qq(),anyOf:Xq(),$comment:Yq(),const:Jq(),contains:Cq(),dependencies:Wq(),enum:zq(),format:Gq(),if:qq(),items:Kq(),maximum:cB(),minimum:cB(),maxItems:pB(),minItems:pB(),maxLength:nB(),minLength:nB(),maxProperties:iB(),minProperties:iB(),multipleOf:Hq(),not:Uq(),oneOf:Eq(),pattern:Zq(),properties:Aq(),propertyNames:Vq(),required:Lq(),uniqueItems:Mq(),validate:BQ()}}),jq=HD((D,F)=>{var Q=Nq(),B=m2().toHash;F.exports=function Y(){var J=[{type:"number",rules:[{maximum:["exclusiveMaximum"]},{minimum:["exclusiveMinimum"]},"multipleOf","format"]},{type:"string",rules:["maxLength","minLength","pattern","format"]},{type:"array",rules:["maxItems","minItems","items","contains","uniqueItems"]},{type:"object",rules:["maxProperties","minProperties","required","dependencies","propertyNames",{properties:["additionalProperties","patternProperties"]}]},{rules:["$ref","const","enum","not","anyOf","oneOf","allOf","if"]}],X=["type","$comment"],C=["$schema","$id","id","$data","$async","title","description","default","definitions","examples","readOnly","writeOnly","contentMediaType","contentEncoding","additionalItems","then","else"],W=["number","integer","string","array","object","boolean","null"];return J.all=B(X),J.types=B(W),J.forEach(function(z){if(z.rules=z.rules.map(function(G){var q;if(typeof G=="object"){var E=Object.keys(G)[0];q=G[E],G=E,q.forEach(function(A){X.push(A),J.all[A]=!0})}X.push(G);var U=J.all[G]={keyword:G,code:Q[G],implements:q};return U}),J.all.$comment={keyword:"$comment",code:Q.$comment},z.type)J.types[z.type]=z}),J.keywords=B(X.concat(C)),J.custom={},J}}),Rq=HD((D,F)=>{var Q=["multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","minLength","pattern","additionalItems","maxItems","minItems","uniqueItems","maxProperties","minProperties","required","additionalProperties","enum","format","const"];F.exports=function(B,Y){for(var J=0;J<Y.length;J++){B=JSON.parse(JSON.stringify(B));var X=Y[J].split("/"),C=B,W;for(W=1;W<X.length;W++)C=C[X[W]];for(W=0;W<Q.length;W++){var z=Q[W],G=C[z];if(G)C[z]={anyOf:[G,{$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"}]}}}return B}}),_q=HD((D,F)=>{var Q=C9().MissingRef;F.exports=B;function B(Y,J,X){var C=this;if(typeof this._opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");if(typeof J=="function")X=J,J=void 0;var W=z(Y).then(function(){var q=C._addSchema(Y,void 0,J);return q.validate||G(q)});if(X)W.then(function(q){X(null,q)},X);return W;function z(q){var E=q.$schema;return E&&!C.getSchema(E)?B.call(C,{$ref:E},!0):Promise.resolve()}function G(q){try{return C._compile(q)}catch(U){if(U instanceof Q)return E(U);throw U}function E(U){var A=U.missingSchema;if(j(A))throw new Error("Schema "+A+" is loaded but "+U.missingRef+" cannot be resolved");var K=C._loadingSchemas[A];if(!K)K=C._loadingSchemas[A]=C._opts.loadSchema(A),K.then(V,V);return K.then(function(L){if(!j(A))return z(L).then(function(){if(!j(A))C.addSchema(L,A,void 0,J)})}).then(function(){return G(q)});function V(){delete C._loadingSchemas[A]}function j(L){return C._refs[L]||C._schemas[L]}}}}}),Oq=HD((D,F)=>{F.exports=function Q(B,Y,J){var X=" ",C=B.level,W=B.dataLevel,z=B.schema[Y],G=B.schemaPath+B.util.getProperty(Y),q=B.errSchemaPath+"/"+Y,E=!B.opts.allErrors,U,A="data"+(W||""),K="valid"+C,V="errs__"+C,j=B.opts.$data&&z&&z.$data,L;if(j)X+=" var schema"+C+" = "+B.util.getData(z.$data,W,B.dataPathArr)+"; ",L="schema"+C;else L=z;var R=this,b="definition"+C,k=R.definition,I="",u,f,O,y,x;if(j&&k.$data){x="keywordValidate"+C;var w=k.validateSchema;X+=" var "+b+" = RULES.custom['"+Y+"'].definition; var "+x+" = "+b+".validate;"}else{if(y=B.useCustomRule(R,z,B.schema,B),!y)return;L="validate.schema"+G,x=y.code,u=k.compile,f=k.inline,O=k.macro}var S=x+".errors",g="i"+C,d="ruleErr"+C,n=k.async;if(n&&!B.async)throw new Error("async keyword in sync schema");if(!(f||O))X+=""+S+" = null;";if(X+="var "+V+" = errors;var "+K+";",j&&k.$data){if(I+="}",X+=" if ("+L+" === undefined) { "+K+" = true; } else { ",w)I+="}",X+=" "+K+" = "+b+".validateSchema("+L+"); if ("+K+") { "}if(f)if(k.statements)X+=" "+y.validate+" ";else X+=" "+K+" = "+y.validate+"; ";else if(O){var a=B.util.copy(B),I="";a.level++;var DD="valid"+a.level;a.schema=y.validate,a.schemaPath="";var o=B.compositeRule;B.compositeRule=a.compositeRule=!0;var JD=B.validate(a).replace(/validate\.schema/g,x);B.compositeRule=a.compositeRule=o,X+=" "+JD}else{var CD=CD||[];if(CD.push(X),X="",X+=" "+x+".call( ",B.opts.passContext)X+="this";else X+="self";if(u||k.schema===!1)X+=" , "+A+" ";else X+=" , "+L+" , "+A+" , validate.schema"+B.schemaPath+" ";if(X+=" , (dataPath || '')",B.errorPath!='""')X+=" + "+B.errorPath;var FD=W?"data"+(W-1||""):"parentData",MD=W?B.dataPathArr[W]:"parentDataProperty";X+=" , "+FD+" , "+MD+" , rootData ) ";var dD=X;if(X=CD.pop(),k.errors===!1){if(X+=" "+K+" = ",n)X+="await ";X+=""+dD+"; "}else if(n)S="customErrors"+C,X+=" var "+S+" = null; try { "+K+" = await "+dD+"; } catch (e) { "+K+" = false; if (e instanceof ValidationError) "+S+" = e.errors; else throw e; } ";else X+=" "+S+" = null; "+K+" = "+dD+"; "}if(k.modifying)X+=" if ("+FD+") "+A+" = "+FD+"["+MD+"];";if(X+=""+I,k.valid){if(E)X+=" if (true) { "}else{if(X+=" if ( ",k.valid===void 0)if(X+=" !",O)X+=""+DD;else X+=""+K;else X+=" "+!k.valid+" ";X+=") { ",U=R.keyword;var CD=CD||[];CD.push(X),X="";var CD=CD||[];if(CD.push(X),X="",B.createErrors!==!1){if(X+=" { keyword: '"+(U||"custom")+"' , dataPath: (dataPath || '') + "+B.errorPath+" , schemaPath: "+B.util.toQuotedString(q)+" , params: { keyword: '"+R.keyword+"' } ",B.opts.messages!==!1)X+=` , message: 'should pass "`+R.keyword+`" keyword validation' `;if(B.opts.verbose)X+=" , schema: validate.schema"+G+" , parentSchema: validate.schema"+B.schemaPath+" , data: "+A+" ";X+=" } "}else X+=" {} ";var nD=X;if(X=CD.pop(),!B.compositeRule&&E)if(B.async)X+=" throw new ValidationError(["+nD+"]); ";else X+=" validate.errors = ["+nD+"]; return false; ";else X+=" var err = "+nD+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";var N=X;if(X=CD.pop(),f)if(k.errors){if(k.errors!="full"){if(X+=" for (var "+g+"="+V+"; "+g+"<errors; "+g+"++) { var "+d+" = vErrors["+g+"]; if ("+d+".dataPath === undefined) "+d+".dataPath = (dataPath || '') + "+B.errorPath+"; if ("+d+".schemaPath === undefined) { "+d+'.schemaPath = "'+q+'"; } ',B.opts.verbose)X+=" "+d+".schema = "+L+"; "+d+".data = "+A+"; ";X+=" } "}}else if(k.errors===!1)X+=" "+N+" ";else{if(X+=" if ("+V+" == errors) { "+N+" } else { for (var "+g+"="+V+"; "+g+"<errors; "+g+"++) { var "+d+" = vErrors["+g+"]; if ("+d+".dataPath === undefined) "+d+".dataPath = (dataPath || '') + "+B.errorPath+"; if ("+d+".schemaPath === undefined) { "+d+'.schemaPath = "'+q+'"; } ',B.opts.verbose)X+=" "+d+".schema = "+L+"; "+d+".data = "+A+"; ";X+=" } } "}else if(O){if(X+=" var err = ",B.createErrors!==!1){if(X+=" { keyword: '"+(U||"custom")+"' , dataPath: (dataPath || '') + "+B.errorPath+" , schemaPath: "+B.util.toQuotedString(q)+" , params: { keyword: '"+R.keyword+"' } ",B.opts.messages!==!1)X+=` , message: 'should pass "`+R.keyword+`" keyword validation' `;if(B.opts.verbose)X+=" , schema: validate.schema"+G+" , parentSchema: validate.schema"+B.schemaPath+" , data: "+A+" ";X+=" } "}else X+=" {} ";if(X+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!B.compositeRule&&E)if(B.async)X+=" throw new ValidationError(vErrors); ";else X+=" validate.errors = vErrors; return false; "}else if(k.errors===!1)X+=" "+N+" ";else{if(X+=" if (Array.isArray("+S+")) { if (vErrors === null) vErrors = "+S+"; else vErrors = vErrors.concat("+S+"); errors = vErrors.length; for (var "+g+"="+V+"; "+g+"<errors; "+g+"++) { var "+d+" = vErrors["+g+"]; if ("+d+".dataPath === undefined) "+d+".dataPath = (dataPath || '') + "+B.errorPath+"; "+d+'.schemaPath = "'+q+'"; ',B.opts.verbose)X+=" "+d+".schema = "+L+"; "+d+".data = "+A+"; ";X+=" } } else { "+N+" } "}if(X+=" } ",E)X+=" else { "}return X}}),QQ=HD((D,F)=>{F.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}}),Iq=HD((D,F)=>{var Q=QQ();F.exports={$id:"https://github.com/ajv-validator/ajv/blob/master/lib/definition_schema.js",definitions:{simpleTypes:Q.definitions.simpleTypes},type:"object",dependencies:{schema:["validate"],$data:["validate"],statements:["inline"],valid:{not:{required:["macro"]}}},properties:{type:Q.properties.type,schema:{type:"boolean"},statements:{type:"boolean"},dependencies:{type:"array",items:{type:"string"}},metaSchema:{type:"object"},modifying:{type:"boolean"},valid:{type:"boolean"},$data:{type:"boolean"},async:{type:"boolean"},errors:{anyOf:[{type:"boolean"},{const:"full"}]}}}}),wq=HD((D,F)=>{var Q=/^[a-z_$][a-z0-9_$-]*$/i,B=Oq(),Y=Iq();F.exports={add:J,get:X,remove:C,validate:W};function J(z,G){var q=this.RULES;if(q.keywords[z])throw new Error("Keyword "+z+" is already defined");if(!Q.test(z))throw new Error("Keyword "+z+" is not a valid identifier");if(G){this.validateKeyword(G,!0);var E=G.type;if(Array.isArray(E))for(var U=0;U<E.length;U++)K(z,E[U],G);else K(z,E,G);var A=G.metaSchema;if(A){if(G.$data&&this._opts.$data)A={anyOf:[A,{$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"}]};G.validateSchema=this.compile(A,!0)}}q.keywords[z]=q.all[z]=!0;function K(V,j,L){var R;for(var b=0;b<q.length;b++){var k=q[b];if(k.type==j){R=k;break}}if(!R)R={type:j,rules:[]},q.push(R);var I={keyword:V,definition:L,custom:!0,code:B,implements:L.implements};R.rules.push(I),q.custom[V]=I}return this}function X(z){var G=this.RULES.custom[z];return G?G.definition:this.RULES.keywords[z]||!1}function C(z){var G=this.RULES;delete G.keywords[z],delete G.all[z],delete G.custom[z];for(var q=0;q<G.length;q++){var E=G[q].rules;for(var U=0;U<E.length;U++)if(E[U].keyword==z){E.splice(U,1);break}}return this}function W(z,G){W.errors=null;var q=this._validateKeyword=this._validateKeyword||this.compile(Y,!0);if(q(z))return!0;if(W.errors=q.errors,G)throw new Error("custom keyword definition is invalid: "+this.errorsText(q.errors));else return!1}}),Tq=HD((D,F)=>{F.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON Schema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}}),Pq=HD((D,F)=>{var Q=eG(),B=J9(),Y=Dq(),J=DQ(),X=FQ(),C=Fq(),W=jq(),z=Rq(),G=m2();F.exports=V,V.prototype.validate=j,V.prototype.compile=L,V.prototype.addSchema=R,V.prototype.addMetaSchema=b,V.prototype.validateSchema=k,V.prototype.getSchema=u,V.prototype.removeSchema=y,V.prototype.addFormat=o,V.prototype.errorsText=DD,V.prototype._addSchema=w,V.prototype._compile=S,V.prototype.compileAsync=_q();var q=wq();V.prototype.addKeyword=q.add,V.prototype.getKeyword=q.get,V.prototype.removeKeyword=q.remove,V.prototype.validateKeyword=q.validate;var E=C9();V.ValidationError=E.Validation,V.MissingRefError=E.MissingRef,V.$dataMetaSchema=z;var U="http://json-schema.org/draft-07/schema",A=["removeAdditional","useDefaults","coerceTypes","strictDefaults"],K=["/properties"];function V(H){if(!(this instanceof V))return new V(H);if(H=this._opts=G.copy(H)||{},N(this),this._schemas={},this._refs={},this._fragments={},this._formats=C(H.format),this._cache=H.cache||new Y,this._loadingSchemas={},this._compilations=[],this.RULES=W(),this._getId=g(H),H.loopRequired=H.loopRequired||1/0,H.errorDataPath=="property")H._errorDataPathProperty=!0;if(H.serialize===void 0)H.serialize=X;if(this._metaOpts=nD(this),H.formats)FD(this);if(H.keywords)MD(this);if(JD(this),typeof H.meta=="object")this.addMetaSchema(H.meta);if(H.nullable)this.addKeyword("nullable",{metaSchema:{type:"boolean"}});CD(this)}function j(H,T){var h;if(typeof H=="string"){if(h=this.getSchema(H),!h)throw new Error('no schema with key or ref "'+H+'"')}else{var c=this._addSchema(H);h=c.validate||this._compile(c)}var l=h(T);if(h.$async!==!0)this.errors=h.errors;return l}function L(H,T){var h=this._addSchema(H,void 0,T);return h.validate||this._compile(h)}function R(H,T,h,c){if(Array.isArray(H)){for(var l=0;l<H.length;l++)this.addSchema(H[l],void 0,h,c);return this}var p=this._getId(H);if(p!==void 0&&typeof p!="string")throw new Error("schema id must be string");return T=B.normalizeId(T||p),dD(this,T),this._schemas[T]=this._addSchema(H,h,c,!0),this}function b(H,T,h){return this.addSchema(H,T,h,!0),this}function k(H,T){var h=H.$schema;if(h!==void 0&&typeof h!="string")throw new Error("$schema must be a string");if(h=h||this._opts.defaultMeta||I(this),!h)return this.logger.warn("meta-schema not available"),this.errors=null,!0;var c=this.validate(h,H);if(!c&&T){var l="schema is invalid: "+this.errorsText();if(this._opts.validateSchema=="log")this.logger.error(l);else throw new Error(l)}return c}function I(H){var T=H._opts.meta;return H._opts.defaultMeta=typeof T=="object"?H._getId(T)||T:H.getSchema(U)?U:void 0,H._opts.defaultMeta}function u(H){var T=O(this,H);switch(typeof T){case"object":return T.validate||this._compile(T);case"string":return this.getSchema(T);case"undefined":return f(this,H)}}function f(H,T){var h=B.schema.call(H,{schema:{}},T);if(h){var{schema:c,root:l,baseId:p}=h,QD=Q.call(H,c,l,void 0,p);return H._fragments[T]=new J({ref:T,fragment:!0,schema:c,root:l,baseId:p,validate:QD}),QD}}function O(H,T){return T=B.normalizeId(T),H._schemas[T]||H._refs[T]||H._fragments[T]}function y(H){if(H instanceof RegExp)return x(this,this._schemas,H),x(this,this._refs,H),this;switch(typeof H){case"undefined":return x(this,this._schemas),x(this,this._refs),this._cache.clear(),this;case"string":var T=O(this,H);if(T)this._cache.del(T.cacheKey);return delete this._schemas[H],delete this._refs[H],this;case"object":var h=this._opts.serialize,c=h?h(H):H;this._cache.del(c);var l=this._getId(H);if(l)l=B.normalizeId(l),delete this._schemas[l],delete this._refs[l]}return this}function x(H,T,h){for(var c in T){var l=T[c];if(!l.meta&&(!h||h.test(c)))H._cache.del(l.cacheKey),delete T[c]}}function w(H,T,h,c){if(typeof H!="object"&&typeof H!="boolean")throw new Error("schema should be object or boolean");var l=this._opts.serialize,p=l?l(H):H,QD=this._cache.get(p);if(QD)return QD;c=c||this._opts.addUsedSchema!==!1;var KD=B.normalizeId(this._getId(H));if(KD&&c)dD(this,KD);var WD=this._opts.validateSchema!==!1&&!T,AD;if(WD&&!(AD=KD&&KD==B.normalizeId(H.$schema)))this.validateSchema(H,!0);var bD=B.ids.call(this,H),_D=new J({id:KD,schema:H,localRefs:bD,cacheKey:p,meta:h});if(KD[0]!="#"&&c)this._refs[KD]=_D;if(this._cache.put(p,_D),WD&&AD)this.validateSchema(H,!0);return _D}function S(H,T){if(H.compiling){if(H.validate=l,l.schema=H.schema,l.errors=null,l.root=T?T:l,H.schema.$async===!0)l.$async=!0;return l}H.compiling=!0;var h;if(H.meta)h=this._opts,this._opts=this._metaOpts;var c;try{c=Q.call(this,H.schema,T,H.localRefs)}catch(p){throw delete H.validate,p}finally{if(H.compiling=!1,H.meta)this._opts=h}return H.validate=c,H.refs=c.refs,H.refVal=c.refVal,H.root=c.root,c;function l(){var p=H.validate,QD=p.apply(this,arguments);return l.errors=p.errors,QD}}function g(H){switch(H.schemaId){case"auto":return a;case"id":return d;default:return n}}function d(H){if(H.$id)this.logger.warn("schema $id ignored",H.$id);return H.id}function n(H){if(H.id)this.logger.warn("schema id ignored",H.id);return H.$id}function a(H){if(H.$id&&H.id&&H.$id!=H.id)throw new Error("schema $id is different from id");return H.$id||H.id}function DD(H,T){if(H=H||this.errors,!H)return"No errors";T=T||{};var h=T.separator===void 0?", ":T.separator,c=T.dataVar===void 0?"data":T.dataVar,l="";for(var p=0;p<H.length;p++){var QD=H[p];if(QD)l+=c+QD.dataPath+" "+QD.message+h}return l.slice(0,-h.length)}function o(H,T){if(typeof T=="string")T=new RegExp(T);return this._formats[H]=T,this}function JD(H){var T;if(H._opts.$data)T=Tq(),H.addMetaSchema(T,T.$id,!0);if(H._opts.meta===!1)return;var h=QQ();if(H._opts.$data)h=z(h,K);H.addMetaSchema(h,U,!0),H._refs["http://json-schema.org/schema"]=U}function CD(H){var T=H._opts.schemas;if(!T)return;if(Array.isArray(T))H.addSchema(T);else for(var h in T)H.addSchema(T[h],h)}function FD(H){for(var T in H._opts.formats){var h=H._opts.formats[T];H.addFormat(T,h)}}function MD(H){for(var T in H._opts.keywords){var h=H._opts.keywords[T];H.addKeyword(T,h)}}function dD(H,T){if(H._schemas[T]||H._refs[T])throw new Error('schema with key or id "'+T+'" already exists')}function nD(H){var T=G.copy(H._opts);for(var h=0;h<A.length;h++)delete T[A[h]];return T}function N(H){var T=H._opts.logger;if(T===!1)H.logger={log:_,warn:_,error:_};else{if(T===void 0)T=console;if(!(typeof T=="object"&&T.log&&T.warn&&T.error))throw new Error("logger must implement log, warn and error methods");H.logger=T}}function _(){}}),kq=50;function XQ(D=kq){let F=new AbortController;return bq(D,F.signal),F}var yq={accessSync(D,F){zD.accessSync(D,F)},cwd(){return process.cwd()},chmodSync(D,F){zD.chmodSync(D,F)},existsSync(D){return zD.existsSync(D)},async stat(D){return uq(D)},statSync(D){return zD.statSync(D)},readFileSync(D,F){return zD.readFileSync(D,{encoding:F.encoding})},readFileBytesSync(D){return zD.readFileSync(D)},readSync(D,F){let Q=void 0;try{Q=zD.openSync(D,"r");let B=Buffer.alloc(F.length),Y=zD.readSync(Q,B,0,F.length,0);return{buffer:B,bytesRead:Y}}finally{if(Q)zD.closeSync(Q)}},writeFileSync(D,F,Q){if(!Q.flush){let Y={encoding:Q.encoding};if(Q.mode!==void 0)Y.mode=Q.mode;zD.writeFileSync(D,F,Y);return}let B;try{let Y=Q.mode!==void 0?Q.mode:void 0;B=zD.openSync(D,"w",Y),zD.writeFileSync(B,F,{encoding:Q.encoding}),zD.fsyncSync(B)}finally{if(B)zD.closeSync(B)}},appendFileSync(D,F){zD.appendFileSync(D,F)},copyFileSync(D,F){zD.copyFileSync(D,F)},unlinkSync(D){zD.unlinkSync(D)},renameSync(D,F){zD.renameSync(D,F)},linkSync(D,F){zD.linkSync(D,F)},symlinkSync(D,F){zD.symlinkSync(D,F)},readlinkSync(D){return zD.readlinkSync(D)},realpathSync(D){return zD.realpathSync(D)},mkdirSync(D){if(!zD.existsSync(D))zD.mkdirSync(D,{recursive:!0,mode:448})},readdirSync(D){return zD.readdirSync(D,{withFileTypes:!0})},readdirStringSync(D){return zD.readdirSync(D)},isDirEmptySync(D){return this.readdirSync(D).length===0},rmdirSync(D){zD.rmdirSync(D)},rmSync(D,F){zD.rmSync(D,F)},createWriteStream(D){return zD.createWriteStream(D)}},fq=yq;function gq(){return fq}class I2 extends Error{}function YQ(){return process.versions.bun!==void 0}class JQ{options;child;childStdin;childStdout;ready=!1;abortController;exitError;exitListeners=[];processExitHandler;abortHandler;constructor(D){this.options=D,this.abortController=D.abortController||XQ(),this.initialize()}initialize(){try{let{additionalDirectories:D=[],agents:F,cwd:Q,executable:B=YQ()?"bun":"node",executableArgs:Y=[],extraArgs:J={},pathToClaudeCodeExecutable:X,env:C={...process.env},stderr:W,customSystemPrompt:z,appendSystemPrompt:G,maxTurns:q,model:E,fallbackModel:U,permissionMode:A,permissionPromptToolName:K,continueConversation:V,resume:j,settingSources:L,allowedTools:R=[],disallowedTools:b=[],mcpServers:k,strictMcpConfig:I,canUseTool:u,includePartialMessages:f}=this.options,O=["--output-format","stream-json","--verbose","--input-format","stream-json"];if(typeof z==="string")O.push("--system-prompt",z);if(G)O.push("--append-system-prompt",G);if(q)O.push("--max-turns",q.toString());if(E)O.push("--model",E);if(C.DEBUG)O.push("--debug-to-stderr");if(u){if(K)throw new Error("canUseTool callback cannot be used with permissionPromptToolName. Please use one or the other.");O.push("--permission-prompt-tool","stdio")}else if(K)O.push("--permission-prompt-tool",K);if(V)O.push("--continue");if(j)O.push("--resume",j);if(R.length>0)O.push("--allowedTools",R.join(","));if(b.length>0)O.push("--disallowedTools",b.join(","));if(k&&Object.keys(k).length>0)O.push("--mcp-config",JSON.stringify({mcpServers:k}));if(F&&Object.keys(F).length>0)O.push("--agents",JSON.stringify(F));if(L)O.push("--setting-sources",L.join(","));if(I)O.push("--strict-mcp-config");if(A)O.push("--permission-mode",A);if(U){if(E&&U===E)throw new Error("Fallback model cannot be the same as the main model. Please specify a different model for fallbackModel option.");O.push("--fallback-model",U)}if(f)O.push("--include-partial-messages");for(let n of D)O.push("--add-dir",n);if(this.options.forkSession)O.push("--fork-session");if(this.options.resumeSessionAt)O.push("--resume-session-at",this.options.resumeSessionAt);for(let[n,a]of Object.entries(J))if(a===null)O.push(`--${n}`);else O.push(`--${n}`,a);if(!C.CLAUDE_CODE_ENTRYPOINT)C.CLAUDE_CODE_ENTRYPOINT="sdk-ts";if(!gq().existsSync(X)){let n=rB(X)?`Claude Code native binary not found at ${X}. Please ensure Claude Code is installed via native installer or specify a valid path with options.pathToClaudeCodeExecutable.`:`Claude Code executable not found at ${X}. Is options.pathToClaudeCodeExecutable set?`;throw new ReferenceError(n)}let x=rB(X),w=x?X:B,S=x?O:[...Y,X,...O];this.logForDebugging(x?`Spawning Claude Code native binary: ${X} ${O.join(" ")}`:`Spawning Claude Code process: ${B} ${[...Y,X,...O].join(" ")}`);let g=C.DEBUG||W?"pipe":"ignore";if(this.child=vq(w,S,{cwd:Q,stdio:["pipe","pipe",g],signal:this.abortController.signal,env:C}),this.childStdin=this.child.stdin,this.childStdout=this.child.stdout,C.DEBUG||W)this.child.stderr.on("data",(n)=>{if(this.logForDebugging(`Claude Code stderr: ${n.toString()}`),W)W(n.toString())});let d=()=>{if(this.child&&!this.child.killed)this.child.kill("SIGTERM")};this.processExitHandler=d,this.abortHandler=d,process.on("exit",this.processExitHandler),this.abortController.signal.addEventListener("abort",this.abortHandler),this.child.on("error",(n)=>{if(this.ready=!1,this.abortController.signal.aborted)this.exitError=new I2("Claude Code process aborted by user");else this.exitError=new Error(`Failed to spawn Claude Code process: ${n.message}`),this.logForDebugging(this.exitError.message)}),this.child.on("close",(n,a)=>{if(this.ready=!1,this.abortController.signal.aborted)this.exitError=new I2("Claude Code process aborted by user");else{let DD=this.getProcessExitError(n,a);if(DD)this.exitError=DD,this.logForDebugging(DD.message)}}),this.ready=!0}catch(D){throw this.ready=!1,D}}getProcessExitError(D,F){if(D!==0&&D!==null)return new Error(`Claude Code process exited with code ${D}`);else if(F)return new Error(`Claude Code process terminated by signal ${F}`);return}logForDebugging(D){if(process.env.DEBUG)process.stderr.write(`${D}
|
||
`);if(this.options.stderr)this.options.stderr(D)}write(D){if(this.abortController.signal.aborted)throw new I2("Operation aborted");if(!this.ready||!this.childStdin)throw new Error("ProcessTransport is not ready for writing");if(this.child?.killed||this.child?.exitCode!==null)throw new Error("Cannot write to terminated process");if(this.exitError)throw new Error(`Cannot write to process that exited with error: ${this.exitError.message}`);if(process.env.DEBUG_SDK)process.stderr.write(`[ProcessTransport] Writing to stdin: ${D.substring(0,100)}
|
||
`);try{if(!this.childStdin.write(D)&&process.env.DEBUG_SDK)console.warn("[ProcessTransport] Write buffer full, data queued")}catch(F){throw this.ready=!1,new Error(`Failed to write to process stdin: ${F.message}`)}}close(){if(this.childStdin)this.childStdin.end(),this.childStdin=void 0;if(this.processExitHandler)process.off("exit",this.processExitHandler),this.processExitHandler=void 0;if(this.abortHandler)this.abortController.signal.removeEventListener("abort",this.abortHandler),this.abortHandler=void 0;for(let{handler:D}of this.exitListeners)this.child?.off("exit",D);if(this.exitListeners=[],this.child&&!this.child.killed)this.child.kill("SIGTERM"),setTimeout(()=>{if(this.child&&!this.child.killed)this.child.kill("SIGKILL")},5000);this.ready=!1}isReady(){return this.ready}async*readMessages(){if(!this.childStdout)throw new Error("ProcessTransport output stream not available");let D=xq({input:this.childStdout});try{for await(let F of D)if(F.trim())yield JSON.parse(F);await this.waitForExit()}catch(F){throw F}finally{D.close()}}endInput(){if(this.childStdin)this.childStdin.end()}getInputStream(){return this.childStdin}onExit(D){if(!this.child)return()=>{};let F=(Q,B)=>{let Y=this.getProcessExitError(Q,B);D(Y)};return this.child.on("exit",F),this.exitListeners.push({callback:D,handler:F}),()=>{if(this.child)this.child.off("exit",F);let Q=this.exitListeners.findIndex((B)=>B.handler===F);if(Q!==-1)this.exitListeners.splice(Q,1)}}async waitForExit(){if(!this.child){if(this.exitError)throw this.exitError;return}if(this.child.exitCode!==null||this.child.killed){if(this.exitError)throw this.exitError;return}return new Promise((D,F)=>{let Q=(Y,J)=>{if(this.abortController.signal.aborted){F(new I2("Operation aborted"));return}let X=this.getProcessExitError(Y,J);if(X)F(X);else D()};this.child.once("exit",Q);let B=(Y)=>{this.child.off("exit",Q),F(Y)};this.child.once("error",B),this.child.once("exit",()=>{this.child.off("error",B)})})}}function rB(D){return![".js",".mjs",".tsx",".ts",".jsx"].some((Q)=>D.endsWith(Q))}class CQ{returned;queue=[];readResolve;readReject;isDone=!1;hasError;started=!1;constructor(D){this.returned=D}[Symbol.asyncIterator](){if(this.started)throw new Error("Stream can only be iterated once");return this.started=!0,this}next(){if(this.queue.length>0)return Promise.resolve({done:!1,value:this.queue.shift()});if(this.isDone)return Promise.resolve({done:!0,value:void 0});if(this.hasError)return Promise.reject(this.hasError);return new Promise((D,F)=>{this.readResolve=D,this.readReject=F})}enqueue(D){if(this.readResolve){let F=this.readResolve;this.readResolve=void 0,this.readReject=void 0,F({done:!1,value:D})}else this.queue.push(D)}done(){if(this.isDone=!0,this.readResolve){let D=this.readResolve;this.readResolve=void 0,this.readReject=void 0,D({done:!0,value:void 0})}}error(D){if(this.hasError=D,this.readReject){let F=this.readReject;this.readResolve=void 0,this.readReject=void 0,F(D)}}return(){if(this.isDone=!0,this.returned)this.returned();return Promise.resolve({done:!0,value:void 0})}}class WQ{sendMcpMessage;isClosed=!1;constructor(D){this.sendMcpMessage=D}onclose;onerror;onmessage;async start(){}async send(D){if(this.isClosed)throw new Error("Transport is closed");this.sendMcpMessage(D)}async close(){if(this.isClosed)return;this.isClosed=!0,this.onclose?.()}}class zQ{transport;isSingleUserTurn;canUseTool;hooks;abortController;pendingControlResponses=new Map;cleanupPerformed=!1;sdkMessages;inputStream=new CQ;initialization;cancelControllers=new Map;hookCallbacks=new Map;nextCallbackId=0;sdkMcpTransports=new Map;pendingMcpResponses=new Map;firstResultReceivedPromise;firstResultReceivedResolve;constructor(D,F,Q,B,Y,J=new Map){this.transport=D,this.isSingleUserTurn=F,this.canUseTool=Q,this.hooks=B,this.abortController=Y;for(let[X,C]of J){let W=new WQ((z)=>this.sendMcpServerMessageToCli(X,z));this.sdkMcpTransports.set(X,W),C.connect(W)}this.sdkMessages=this.readSdkMessages(),this.firstResultReceivedPromise=new Promise((X)=>{this.firstResultReceivedResolve=X}),this.readMessages(),this.initialization=this.initialize(),this.initialization.catch(()=>{})}setError(D){this.inputStream.error(D)}cleanup(D){if(this.cleanupPerformed)return;this.cleanupPerformed=!0;try{if(this.transport.close(),this.pendingControlResponses.clear(),this.pendingMcpResponses.clear(),D)this.inputStream.error(D);else this.inputStream.done()}catch(F){}}next(...[D]){return this.sdkMessages.next(...[D])}return(D){return this.sdkMessages.return(D)}throw(D){return this.sdkMessages.throw(D)}[Symbol.asyncIterator](){return this.sdkMessages}[Symbol.asyncDispose](){return this.sdkMessages[Symbol.asyncDispose]()}async readMessages(){try{for await(let D of this.transport.readMessages()){if(D.type==="control_response"){let F=this.pendingControlResponses.get(D.response.request_id);if(F)F(D.response);continue}else if(D.type==="control_request"){this.handleControlRequest(D);continue}else if(D.type==="control_cancel_request"){this.handleControlCancelRequest(D);continue}else if(D.type==="keep_alive")continue;if(D.type==="result"){if(this.firstResultReceivedResolve)this.firstResultReceivedResolve();if(this.isSingleUserTurn)this.transport.endInput()}this.inputStream.enqueue(D)}this.inputStream.done(),this.cleanup()}catch(D){this.inputStream.error(D),this.cleanup(D)}}async handleControlRequest(D){let F=new AbortController;this.cancelControllers.set(D.request_id,F);try{let Q=await this.processControlRequest(D,F.signal),B={type:"control_response",response:{subtype:"success",request_id:D.request_id,response:Q}};await Promise.resolve(this.transport.write(JSON.stringify(B)+`
|
||
`))}catch(Q){let B={type:"control_response",response:{subtype:"error",request_id:D.request_id,error:Q.message||String(Q)}};await Promise.resolve(this.transport.write(JSON.stringify(B)+`
|
||
`))}finally{this.cancelControllers.delete(D.request_id)}}handleControlCancelRequest(D){let F=this.cancelControllers.get(D.request_id);if(F)F.abort(),this.cancelControllers.delete(D.request_id)}async processControlRequest(D,F){if(D.request.subtype==="can_use_tool"){if(!this.canUseTool)throw new Error("canUseTool callback is not provided.");return this.canUseTool(D.request.tool_name,D.request.input,{signal:F,suggestions:D.request.permission_suggestions})}else if(D.request.subtype==="hook_callback")return await this.handleHookCallbacks(D.request.callback_id,D.request.input,D.request.tool_use_id,F);else if(D.request.subtype==="mcp_message"){let Q=D.request,B=this.sdkMcpTransports.get(Q.server_name);if(!B)throw new Error(`SDK MCP server not found: ${Q.server_name}`);if("method"in Q.message&&"id"in Q.message&&Q.message.id!==null)return{mcp_response:await this.handleMcpControlRequest(Q.server_name,Q,B)};else{if(B.onmessage)B.onmessage(Q.message);return{mcp_response:{jsonrpc:"2.0",result:{},id:0}}}}throw new Error("Unsupported control request subtype: "+D.request.subtype)}async*readSdkMessages(){for await(let D of this.inputStream)yield D}async initialize(){let D;if(this.hooks){D={};for(let[Y,J]of Object.entries(this.hooks))if(J.length>0)D[Y]=J.map((X)=>{let C=[];for(let W of X.hooks){let z=`hook_${this.nextCallbackId++}`;this.hookCallbacks.set(z,W),C.push(z)}return{matcher:X.matcher,hookCallbackIds:C}})}let F=this.sdkMcpTransports.size>0?Array.from(this.sdkMcpTransports.keys()):void 0,Q={subtype:"initialize",hooks:D,sdkMcpServers:F};return(await this.request(Q)).response}async interrupt(){await this.request({subtype:"interrupt"})}async setPermissionMode(D){await this.request({subtype:"set_permission_mode",mode:D})}async setModel(D){await this.request({subtype:"set_model",model:D})}request(D){let F=Math.random().toString(36).substring(2,15),Q={request_id:F,type:"control_request",request:D};return new Promise((B,Y)=>{this.pendingControlResponses.set(F,(J)=>{if(J.subtype==="success")B(J);else Y(new Error(J.error))}),Promise.resolve(this.transport.write(JSON.stringify(Q)+`
|
||
`))})}async supportedCommands(){return(await this.initialization).commands}async supportedModels(){return(await this.initialization).models}async mcpServerStatus(){return(await this.request({subtype:"mcp_status"})).response.mcpServers}async streamInput(D){try{for await(let F of D){if(this.abortController?.signal.aborted)break;await Promise.resolve(this.transport.write(JSON.stringify(F)+`
|
||
`))}if(this.sdkMcpTransports.size>0&&this.firstResultReceivedPromise){let Q;if(await Promise.race([this.firstResultReceivedPromise.then(()=>{if(Q)clearTimeout(Q)}),new Promise((B)=>{Q=setTimeout(()=>{B()},1e4)})]),Q)clearTimeout(Q)}this.transport.endInput()}catch(F){if(!(F instanceof I2))throw F}}handleHookCallbacks(D,F,Q,B){let Y=this.hookCallbacks.get(D);if(!Y)throw new Error(`No hook callback found for ID: ${D}`);return Y(F,Q,{signal:B})}sendMcpServerMessageToCli(D,F){if("id"in F&&F.id!==null&&F.id!==void 0){let Q=`${D}:${F.id}`,B=this.pendingMcpResponses.get(Q);if(B){B.resolve(F),this.pendingMcpResponses.delete(Q);return}}throw new Error("No pending request found")}handleMcpControlRequest(D,F,Q){let B="id"in F.message?F.message.id:null,Y=`${D}:${B}`;return new Promise((J,X)=>{let C=null,W=()=>{if(C)clearTimeout(C);this.pendingMcpResponses.delete(Y)},z=(q)=>{W(),J(q)},G=(q)=>{W(),X(q)};if(this.pendingMcpResponses.set(Y,{resolve:z,reject:G}),Q.onmessage)Q.onmessage(F.message);else{W(),X(new Error("No message handler registered"));return}C=setTimeout(()=>{if(this.pendingMcpResponses.has(Y))W(),X(new Error("Request timeout"))},30000)})}}function $q({prompt:D,options:{abortController:F=XQ(),additionalDirectories:Q=[],agents:B,allowedTools:Y=[],appendSystemPrompt:J,canUseTool:X,continue:C,customSystemPrompt:W,cwd:z,disallowedTools:G=[],env:q,executable:E=YQ()?"bun":"node",executableArgs:U=[],extraArgs:A={},fallbackModel:K,forkSession:V,hooks:j,includePartialMessages:L,maxTurns:R,mcpServers:b,model:k,pathToClaudeCodeExecutable:I,permissionMode:u="default",permissionPromptToolName:f,resume:O,resumeSessionAt:y,settingSources:x,stderr:w,strictMcpConfig:S}={}}){if(!q)q={...process.env};if(!q.CLAUDE_CODE_ENTRYPOINT)q.CLAUDE_CODE_ENTRYPOINT="sdk-ts";if(!I)throw new Error("pathToClaudeCodeExecutable is required");let g={},d=new Map;if(b)for(let[o,JD]of Object.entries(b))if(JD.type==="sdk"&&"instance"in JD)d.set(o,JD.instance),g[o]={type:"sdk",name:o};else g[o]=JD;let n=typeof D==="string",a=new JQ({abortController:F,additionalDirectories:Q,agents:B,cwd:z,executable:E,executableArgs:U,extraArgs:A,pathToClaudeCodeExecutable:I,env:q,forkSession:V,stderr:w,customSystemPrompt:W,appendSystemPrompt:J,maxTurns:R,model:k,fallbackModel:K,permissionMode:u,permissionPromptToolName:f,continueConversation:C,resume:O,resumeSessionAt:y,settingSources:x,allowedTools:Y,disallowedTools:G,mcpServers:g,strictMcpConfig:S,canUseTool:!!X,hooks:!!j,includePartialMessages:L}),DD=new zQ(a,n,X,j,F,d);if(typeof D==="string")a.write(JSON.stringify({type:"user",session_id:"",message:{role:"user",content:[{type:"text",text:D}]},parent_tool_use_id:null})+`
|
||
`);else DD.streamInput(D);return DD}var Z={};rG(Z,{void:()=>RK,util:()=>jD,unknown:()=>NK,union:()=>wK,undefined:()=>VK,tuple:()=>SK,transformer:()=>tB,symbol:()=>AK,string:()=>ZQ,strictObject:()=>IK,setErrorMap:()=>lq,set:()=>vK,record:()=>bK,quotelessJson:()=>hq,promise:()=>$K,preprocess:()=>lK,pipeline:()=>dK,ostring:()=>cK,optional:()=>hK,onumber:()=>pK,oboolean:()=>nK,objectUtil:()=>e7,object:()=>OK,number:()=>AQ,nullable:()=>mK,null:()=>LK,never:()=>jK,nativeEnum:()=>gK,nan:()=>UK,map:()=>kK,makeIssue:()=>c6,literal:()=>yK,lazy:()=>uK,late:()=>KK,isValid:()=>tF,isDirty:()=>F9,isAsync:()=>T8,isAborted:()=>D9,intersection:()=>PK,instanceof:()=>HK,getParsedType:()=>RF,getErrorMap:()=>d6,function:()=>xK,enum:()=>fK,effect:()=>tB,discriminatedUnion:()=>TK,defaultErrorMap:()=>P2,datetimeRegex:()=>HQ,date:()=>ZK,custom:()=>EQ,coerce:()=>iK,boolean:()=>VQ,bigint:()=>EK,array:()=>_K,any:()=>MK,addIssueToContext:()=>r,ZodVoid:()=>S8,ZodUnknown:()=>vF,ZodUnion:()=>v2,ZodUndefined:()=>b2,ZodType:()=>ED,ZodTuple:()=>HF,ZodTransformer:()=>d0,ZodSymbol:()=>P8,ZodString:()=>FF,ZodSet:()=>F2,ZodSchema:()=>ED,ZodRecord:()=>b8,ZodReadonly:()=>h2,ZodPromise:()=>B2,ZodPipeline:()=>x8,ZodParsedType:()=>e,ZodOptional:()=>QF,ZodObject:()=>lD,ZodNumber:()=>xF,ZodNullable:()=>_F,ZodNull:()=>k2,ZodNever:()=>KF,ZodNativeEnum:()=>f2,ZodNaN:()=>v8,ZodMap:()=>k8,ZodLiteral:()=>y2,ZodLazy:()=>u2,ZodIssueCode:()=>i,ZodIntersection:()=>x2,ZodFunction:()=>T2,ZodFirstPartyTypeKind:()=>qD,ZodError:()=>b0,ZodEnum:()=>yF,ZodEffects:()=>d0,ZodDiscriminatedUnion:()=>p6,ZodDefault:()=>g2,ZodDate:()=>eF,ZodCatch:()=>$2,ZodBranded:()=>n6,ZodBoolean:()=>S2,ZodBigInt:()=>uF,ZodArray:()=>BF,ZodAny:()=>D2,Schema:()=>ED,ParseStatus:()=>q0,OK:()=>L0,NEVER:()=>aK,INVALID:()=>GD,EMPTY_PATH:()=>dq,DIRTY:()=>w2,BRAND:()=>qK});var jD;(function(D){D.assertEqual=(Y)=>{};function F(Y){}D.assertIs=F;function Q(Y){throw new Error}D.assertNever=Q,D.arrayToEnum=(Y)=>{let J={};for(let X of Y)J[X]=X;return J},D.getValidEnumValues=(Y)=>{let J=D.objectKeys(Y).filter((C)=>typeof Y[Y[C]]!=="number"),X={};for(let C of J)X[C]=Y[C];return D.objectValues(X)},D.objectValues=(Y)=>{return D.objectKeys(Y).map(function(J){return Y[J]})},D.objectKeys=typeof Object.keys==="function"?(Y)=>Object.keys(Y):(Y)=>{let J=[];for(let X in Y)if(Object.prototype.hasOwnProperty.call(Y,X))J.push(X);return J},D.find=(Y,J)=>{for(let X of Y)if(J(X))return X;return},D.isInteger=typeof Number.isInteger==="function"?(Y)=>Number.isInteger(Y):(Y)=>typeof Y==="number"&&Number.isFinite(Y)&&Math.floor(Y)===Y;function B(Y,J=" | "){return Y.map((X)=>typeof X==="string"?`'${X}'`:X).join(J)}D.joinValues=B,D.jsonStringifyReplacer=(Y,J)=>{if(typeof J==="bigint")return J.toString();return J}})(jD||(jD={}));var e7;(function(D){D.mergeShapes=(F,Q)=>{return{...F,...Q}}})(e7||(e7={}));var e=jD.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),RF=(D)=>{switch(typeof D){case"undefined":return e.undefined;case"string":return e.string;case"number":return Number.isNaN(D)?e.nan:e.number;case"boolean":return e.boolean;case"function":return e.function;case"bigint":return e.bigint;case"symbol":return e.symbol;case"object":if(Array.isArray(D))return e.array;if(D===null)return e.null;if(D.then&&typeof D.then==="function"&&D.catch&&typeof D.catch==="function")return e.promise;if(typeof Map!=="undefined"&&D instanceof Map)return e.map;if(typeof Set!=="undefined"&&D instanceof Set)return e.set;if(typeof Date!=="undefined"&&D instanceof Date)return e.date;return e.object;default:return e.unknown}},i=jD.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),hq=(D)=>{return JSON.stringify(D,null,2).replace(/"([^"]+)":/g,"$1:")};class b0 extends Error{get errors(){return this.issues}constructor(D){super();this.issues=[],this.addIssue=(Q)=>{this.issues=[...this.issues,Q]},this.addIssues=(Q=[])=>{this.issues=[...this.issues,...Q]};let F=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,F);else this.__proto__=F;this.name="ZodError",this.issues=D}format(D){let F=D||function(Y){return Y.message},Q={_errors:[]},B=(Y)=>{for(let J of Y.issues)if(J.code==="invalid_union")J.unionErrors.map(B);else if(J.code==="invalid_return_type")B(J.returnTypeError);else if(J.code==="invalid_arguments")B(J.argumentsError);else if(J.path.length===0)Q._errors.push(F(J));else{let X=Q,C=0;while(C<J.path.length){let W=J.path[C];if(C!==J.path.length-1)X[W]=X[W]||{_errors:[]};else X[W]=X[W]||{_errors:[]},X[W]._errors.push(F(J));X=X[W],C++}}};return B(this),Q}static assert(D){if(!(D instanceof b0))throw new Error(`Not a ZodError: ${D}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,jD.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(D=(F)=>F.message){let F={},Q=[];for(let B of this.issues)if(B.path.length>0){let Y=B.path[0];F[Y]=F[Y]||[],F[Y].push(D(B))}else Q.push(D(B));return{formErrors:Q,fieldErrors:F}}get formErrors(){return this.flatten()}}b0.create=(D)=>{return new b0(D)};var mq=(D,F)=>{let Q;switch(D.code){case i.invalid_type:if(D.received===e.undefined)Q="Required";else Q=`Expected ${D.expected}, received ${D.received}`;break;case i.invalid_literal:Q=`Invalid literal value, expected ${JSON.stringify(D.expected,jD.jsonStringifyReplacer)}`;break;case i.unrecognized_keys:Q=`Unrecognized key(s) in object: ${jD.joinValues(D.keys,", ")}`;break;case i.invalid_union:Q="Invalid input";break;case i.invalid_union_discriminator:Q=`Invalid discriminator value. Expected ${jD.joinValues(D.options)}`;break;case i.invalid_enum_value:Q=`Invalid enum value. Expected ${jD.joinValues(D.options)}, received '${D.received}'`;break;case i.invalid_arguments:Q="Invalid function arguments";break;case i.invalid_return_type:Q="Invalid function return type";break;case i.invalid_date:Q="Invalid date";break;case i.invalid_string:if(typeof D.validation==="object")if("includes"in D.validation){if(Q=`Invalid input: must include "${D.validation.includes}"`,typeof D.validation.position==="number")Q=`${Q} at one or more positions greater than or equal to ${D.validation.position}`}else if("startsWith"in D.validation)Q=`Invalid input: must start with "${D.validation.startsWith}"`;else if("endsWith"in D.validation)Q=`Invalid input: must end with "${D.validation.endsWith}"`;else jD.assertNever(D.validation);else if(D.validation!=="regex")Q=`Invalid ${D.validation}`;else Q="Invalid";break;case i.too_small:if(D.type==="array")Q=`Array must contain ${D.exact?"exactly":D.inclusive?"at least":"more than"} ${D.minimum} element(s)`;else if(D.type==="string")Q=`String must contain ${D.exact?"exactly":D.inclusive?"at least":"over"} ${D.minimum} character(s)`;else if(D.type==="number")Q=`Number must be ${D.exact?"exactly equal to ":D.inclusive?"greater than or equal to ":"greater than "}${D.minimum}`;else if(D.type==="bigint")Q=`Number must be ${D.exact?"exactly equal to ":D.inclusive?"greater than or equal to ":"greater than "}${D.minimum}`;else if(D.type==="date")Q=`Date must be ${D.exact?"exactly equal to ":D.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(D.minimum))}`;else Q="Invalid input";break;case i.too_big:if(D.type==="array")Q=`Array must contain ${D.exact?"exactly":D.inclusive?"at most":"less than"} ${D.maximum} element(s)`;else if(D.type==="string")Q=`String must contain ${D.exact?"exactly":D.inclusive?"at most":"under"} ${D.maximum} character(s)`;else if(D.type==="number")Q=`Number must be ${D.exact?"exactly":D.inclusive?"less than or equal to":"less than"} ${D.maximum}`;else if(D.type==="bigint")Q=`BigInt must be ${D.exact?"exactly":D.inclusive?"less than or equal to":"less than"} ${D.maximum}`;else if(D.type==="date")Q=`Date must be ${D.exact?"exactly":D.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(D.maximum))}`;else Q="Invalid input";break;case i.custom:Q="Invalid input";break;case i.invalid_intersection_types:Q="Intersection results could not be merged";break;case i.not_multiple_of:Q=`Number must be a multiple of ${D.multipleOf}`;break;case i.not_finite:Q="Number must be finite";break;default:Q=F.defaultError,jD.assertNever(D)}return{message:Q}},P2=mq,GQ=P2;function lq(D){GQ=D}function d6(){return GQ}var c6=(D)=>{let{data:F,path:Q,errorMaps:B,issueData:Y}=D,J=[...Q,...Y.path||[]],X={...Y,path:J};if(Y.message!==void 0)return{...Y,path:J,message:Y.message};let C="",W=B.filter((z)=>!!z).slice().reverse();for(let z of W)C=z(X,{data:F,defaultError:C}).message;return{...Y,path:J,message:C}},dq=[];function r(D,F){let Q=d6(),B=c6({issueData:F,data:D.data,path:D.path,errorMaps:[D.common.contextualErrorMap,D.schemaErrorMap,Q,Q===P2?void 0:P2].filter((Y)=>!!Y)});D.common.issues.push(B)}class q0{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray(D,F){let Q=[];for(let B of F){if(B.status==="aborted")return GD;if(B.status==="dirty")D.dirty();Q.push(B.value)}return{status:D.value,value:Q}}static async mergeObjectAsync(D,F){let Q=[];for(let B of F){let Y=await B.key,J=await B.value;Q.push({key:Y,value:J})}return q0.mergeObjectSync(D,Q)}static mergeObjectSync(D,F){let Q={};for(let B of F){let{key:Y,value:J}=B;if(Y.status==="aborted")return GD;if(J.status==="aborted")return GD;if(Y.status==="dirty")D.dirty();if(J.status==="dirty")D.dirty();if(Y.value!=="__proto__"&&(typeof J.value!=="undefined"||B.alwaysSet))Q[Y.value]=J.value}return{status:D.value,value:Q}}}var GD=Object.freeze({status:"aborted"}),w2=(D)=>({status:"dirty",value:D}),L0=(D)=>({status:"valid",value:D}),D9=(D)=>D.status==="aborted",F9=(D)=>D.status==="dirty",tF=(D)=>D.status==="valid",T8=(D)=>typeof Promise!=="undefined"&&D instanceof Promise,XD;(function(D){D.errToObj=(F)=>typeof F==="string"?{message:F}:F||{},D.toString=(F)=>typeof F==="string"?F:F?.message})(XD||(XD={}));class XF{constructor(D,F,Q,B){this._cachedPath=[],this.parent=D,this.data=F,this._path=Q,this._key=B}get path(){if(!this._cachedPath.length)if(Array.isArray(this._key))this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}var oB=(D,F)=>{if(tF(F))return{success:!0,data:F.value};else{if(!D.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let Q=new b0(D.common.issues);return this._error=Q,this._error}}}};function UD(D){if(!D)return{};let{errorMap:F,invalid_type_error:Q,required_error:B,description:Y}=D;if(F&&(Q||B))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(F)return{errorMap:F,description:Y};return{errorMap:(X,C)=>{let{message:W}=D;if(X.code==="invalid_enum_value")return{message:W??C.defaultError};if(typeof C.data==="undefined")return{message:W??B??C.defaultError};if(X.code!=="invalid_type")return{message:C.defaultError};return{message:W??Q??C.defaultError}},description:Y}}class ED{get description(){return this._def.description}_getType(D){return RF(D.data)}_getOrReturnCtx(D,F){return F||{common:D.parent.common,data:D.data,parsedType:RF(D.data),schemaErrorMap:this._def.errorMap,path:D.path,parent:D.parent}}_processInputParams(D){return{status:new q0,ctx:{common:D.parent.common,data:D.data,parsedType:RF(D.data),schemaErrorMap:this._def.errorMap,path:D.path,parent:D.parent}}}_parseSync(D){let F=this._parse(D);if(T8(F))throw new Error("Synchronous parse encountered promise.");return F}_parseAsync(D){let F=this._parse(D);return Promise.resolve(F)}parse(D,F){let Q=this.safeParse(D,F);if(Q.success)return Q.data;throw Q.error}safeParse(D,F){let Q={common:{issues:[],async:F?.async??!1,contextualErrorMap:F?.errorMap},path:F?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:D,parsedType:RF(D)},B=this._parseSync({data:D,path:Q.path,parent:Q});return oB(Q,B)}"~validate"(D){let F={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:D,parsedType:RF(D)};if(!this["~standard"].async)try{let Q=this._parseSync({data:D,path:[],parent:F});return tF(Q)?{value:Q.value}:{issues:F.common.issues}}catch(Q){if(Q?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;F.common={issues:[],async:!0}}return this._parseAsync({data:D,path:[],parent:F}).then((Q)=>tF(Q)?{value:Q.value}:{issues:F.common.issues})}async parseAsync(D,F){let Q=await this.safeParseAsync(D,F);if(Q.success)return Q.data;throw Q.error}async safeParseAsync(D,F){let Q={common:{issues:[],contextualErrorMap:F?.errorMap,async:!0},path:F?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:D,parsedType:RF(D)},B=this._parse({data:D,path:Q.path,parent:Q}),Y=await(T8(B)?B:Promise.resolve(B));return oB(Q,Y)}refine(D,F){let Q=(B)=>{if(typeof F==="string"||typeof F==="undefined")return{message:F};else if(typeof F==="function")return F(B);else return F};return this._refinement((B,Y)=>{let J=D(B),X=()=>Y.addIssue({code:i.custom,...Q(B)});if(typeof Promise!=="undefined"&&J instanceof Promise)return J.then((C)=>{if(!C)return X(),!1;else return!0});if(!J)return X(),!1;else return!0})}refinement(D,F){return this._refinement((Q,B)=>{if(!D(Q))return B.addIssue(typeof F==="function"?F(Q,B):F),!1;else return!0})}_refinement(D){return new d0({schema:this,typeName:qD.ZodEffects,effect:{type:"refinement",refinement:D}})}superRefine(D){return this._refinement(D)}constructor(D){this.spa=this.safeParseAsync,this._def=D,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:(F)=>this["~validate"](F)}}optional(){return QF.create(this,this._def)}nullable(){return _F.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return BF.create(this)}promise(){return B2.create(this,this._def)}or(D){return v2.create([this,D],this._def)}and(D){return x2.create(this,D,this._def)}transform(D){return new d0({...UD(this._def),schema:this,typeName:qD.ZodEffects,effect:{type:"transform",transform:D}})}default(D){let F=typeof D==="function"?D:()=>D;return new g2({...UD(this._def),innerType:this,defaultValue:F,typeName:qD.ZodDefault})}brand(){return new n6({typeName:qD.ZodBranded,type:this,...UD(this._def)})}catch(D){let F=typeof D==="function"?D:()=>D;return new $2({...UD(this._def),innerType:this,catchValue:F,typeName:qD.ZodCatch})}describe(D){return new this.constructor({...this._def,description:D})}pipe(D){return x8.create(this,D)}readonly(){return h2.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var cq=/^c[^\s-]{8,}$/i,pq=/^[0-9a-z]+$/,nq=/^[0-9A-HJKMNP-TV-Z]{26}$/i,iq=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,aq=/^[a-z0-9_-]{21}$/i,rq=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,oq=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,sq=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,tq="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",s7,eq=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,DK=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,FK=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,BK=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,QK=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,XK=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,qQ="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",YK=new RegExp(`^${qQ}$`);function KQ(D){let F="[0-5]\\d";if(D.precision)F=`${F}\\.\\d{${D.precision}}`;else if(D.precision==null)F=`${F}(\\.\\d+)?`;let Q=D.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${F})${Q}`}function JK(D){return new RegExp(`^${KQ(D)}$`)}function HQ(D){let F=`${qQ}T${KQ(D)}`,Q=[];if(Q.push(D.local?"Z?":"Z"),D.offset)Q.push("([+-]\\d{2}:?\\d{2})");return F=`${F}(${Q.join("|")})`,new RegExp(`^${F}$`)}function CK(D,F){if((F==="v4"||!F)&&eq.test(D))return!0;if((F==="v6"||!F)&&FK.test(D))return!0;return!1}function WK(D,F){if(!rq.test(D))return!1;try{let[Q]=D.split(".");if(!Q)return!1;let B=Q.replace(/-/g,"+").replace(/_/g,"/").padEnd(Q.length+(4-Q.length%4)%4,"="),Y=JSON.parse(atob(B));if(typeof Y!=="object"||Y===null)return!1;if("typ"in Y&&Y?.typ!=="JWT")return!1;if(!Y.alg)return!1;if(F&&Y.alg!==F)return!1;return!0}catch{return!1}}function zK(D,F){if((F==="v4"||!F)&&DK.test(D))return!0;if((F==="v6"||!F)&&BK.test(D))return!0;return!1}class FF extends ED{_parse(D){if(this._def.coerce)D.data=String(D.data);if(this._getType(D)!==e.string){let Y=this._getOrReturnCtx(D);return r(Y,{code:i.invalid_type,expected:e.string,received:Y.parsedType}),GD}let Q=new q0,B=void 0;for(let Y of this._def.checks)if(Y.kind==="min"){if(D.data.length<Y.value)B=this._getOrReturnCtx(D,B),r(B,{code:i.too_small,minimum:Y.value,type:"string",inclusive:!0,exact:!1,message:Y.message}),Q.dirty()}else if(Y.kind==="max"){if(D.data.length>Y.value)B=this._getOrReturnCtx(D,B),r(B,{code:i.too_big,maximum:Y.value,type:"string",inclusive:!0,exact:!1,message:Y.message}),Q.dirty()}else if(Y.kind==="length"){let J=D.data.length>Y.value,X=D.data.length<Y.value;if(J||X){if(B=this._getOrReturnCtx(D,B),J)r(B,{code:i.too_big,maximum:Y.value,type:"string",inclusive:!0,exact:!0,message:Y.message});else if(X)r(B,{code:i.too_small,minimum:Y.value,type:"string",inclusive:!0,exact:!0,message:Y.message});Q.dirty()}}else if(Y.kind==="email"){if(!sq.test(D.data))B=this._getOrReturnCtx(D,B),r(B,{validation:"email",code:i.invalid_string,message:Y.message}),Q.dirty()}else if(Y.kind==="emoji"){if(!s7)s7=new RegExp(tq,"u");if(!s7.test(D.data))B=this._getOrReturnCtx(D,B),r(B,{validation:"emoji",code:i.invalid_string,message:Y.message}),Q.dirty()}else if(Y.kind==="uuid"){if(!iq.test(D.data))B=this._getOrReturnCtx(D,B),r(B,{validation:"uuid",code:i.invalid_string,message:Y.message}),Q.dirty()}else if(Y.kind==="nanoid"){if(!aq.test(D.data))B=this._getOrReturnCtx(D,B),r(B,{validation:"nanoid",code:i.invalid_string,message:Y.message}),Q.dirty()}else if(Y.kind==="cuid"){if(!cq.test(D.data))B=this._getOrReturnCtx(D,B),r(B,{validation:"cuid",code:i.invalid_string,message:Y.message}),Q.dirty()}else if(Y.kind==="cuid2"){if(!pq.test(D.data))B=this._getOrReturnCtx(D,B),r(B,{validation:"cuid2",code:i.invalid_string,message:Y.message}),Q.dirty()}else if(Y.kind==="ulid"){if(!nq.test(D.data))B=this._getOrReturnCtx(D,B),r(B,{validation:"ulid",code:i.invalid_string,message:Y.message}),Q.dirty()}else if(Y.kind==="url")try{new URL(D.data)}catch{B=this._getOrReturnCtx(D,B),r(B,{validation:"url",code:i.invalid_string,message:Y.message}),Q.dirty()}else if(Y.kind==="regex"){if(Y.regex.lastIndex=0,!Y.regex.test(D.data))B=this._getOrReturnCtx(D,B),r(B,{validation:"regex",code:i.invalid_string,message:Y.message}),Q.dirty()}else if(Y.kind==="trim")D.data=D.data.trim();else if(Y.kind==="includes"){if(!D.data.includes(Y.value,Y.position))B=this._getOrReturnCtx(D,B),r(B,{code:i.invalid_string,validation:{includes:Y.value,position:Y.position},message:Y.message}),Q.dirty()}else if(Y.kind==="toLowerCase")D.data=D.data.toLowerCase();else if(Y.kind==="toUpperCase")D.data=D.data.toUpperCase();else if(Y.kind==="startsWith"){if(!D.data.startsWith(Y.value))B=this._getOrReturnCtx(D,B),r(B,{code:i.invalid_string,validation:{startsWith:Y.value},message:Y.message}),Q.dirty()}else if(Y.kind==="endsWith"){if(!D.data.endsWith(Y.value))B=this._getOrReturnCtx(D,B),r(B,{code:i.invalid_string,validation:{endsWith:Y.value},message:Y.message}),Q.dirty()}else if(Y.kind==="datetime"){if(!HQ(Y).test(D.data))B=this._getOrReturnCtx(D,B),r(B,{code:i.invalid_string,validation:"datetime",message:Y.message}),Q.dirty()}else if(Y.kind==="date"){if(!YK.test(D.data))B=this._getOrReturnCtx(D,B),r(B,{code:i.invalid_string,validation:"date",message:Y.message}),Q.dirty()}else if(Y.kind==="time"){if(!JK(Y).test(D.data))B=this._getOrReturnCtx(D,B),r(B,{code:i.invalid_string,validation:"time",message:Y.message}),Q.dirty()}else if(Y.kind==="duration"){if(!oq.test(D.data))B=this._getOrReturnCtx(D,B),r(B,{validation:"duration",code:i.invalid_string,message:Y.message}),Q.dirty()}else if(Y.kind==="ip"){if(!CK(D.data,Y.version))B=this._getOrReturnCtx(D,B),r(B,{validation:"ip",code:i.invalid_string,message:Y.message}),Q.dirty()}else if(Y.kind==="jwt"){if(!WK(D.data,Y.alg))B=this._getOrReturnCtx(D,B),r(B,{validation:"jwt",code:i.invalid_string,message:Y.message}),Q.dirty()}else if(Y.kind==="cidr"){if(!zK(D.data,Y.version))B=this._getOrReturnCtx(D,B),r(B,{validation:"cidr",code:i.invalid_string,message:Y.message}),Q.dirty()}else if(Y.kind==="base64"){if(!QK.test(D.data))B=this._getOrReturnCtx(D,B),r(B,{validation:"base64",code:i.invalid_string,message:Y.message}),Q.dirty()}else if(Y.kind==="base64url"){if(!XK.test(D.data))B=this._getOrReturnCtx(D,B),r(B,{validation:"base64url",code:i.invalid_string,message:Y.message}),Q.dirty()}else jD.assertNever(Y);return{status:Q.value,value:D.data}}_regex(D,F,Q){return this.refinement((B)=>D.test(B),{validation:F,code:i.invalid_string,...XD.errToObj(Q)})}_addCheck(D){return new FF({...this._def,checks:[...this._def.checks,D]})}email(D){return this._addCheck({kind:"email",...XD.errToObj(D)})}url(D){return this._addCheck({kind:"url",...XD.errToObj(D)})}emoji(D){return this._addCheck({kind:"emoji",...XD.errToObj(D)})}uuid(D){return this._addCheck({kind:"uuid",...XD.errToObj(D)})}nanoid(D){return this._addCheck({kind:"nanoid",...XD.errToObj(D)})}cuid(D){return this._addCheck({kind:"cuid",...XD.errToObj(D)})}cuid2(D){return this._addCheck({kind:"cuid2",...XD.errToObj(D)})}ulid(D){return this._addCheck({kind:"ulid",...XD.errToObj(D)})}base64(D){return this._addCheck({kind:"base64",...XD.errToObj(D)})}base64url(D){return this._addCheck({kind:"base64url",...XD.errToObj(D)})}jwt(D){return this._addCheck({kind:"jwt",...XD.errToObj(D)})}ip(D){return this._addCheck({kind:"ip",...XD.errToObj(D)})}cidr(D){return this._addCheck({kind:"cidr",...XD.errToObj(D)})}datetime(D){if(typeof D==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:D});return this._addCheck({kind:"datetime",precision:typeof D?.precision==="undefined"?null:D?.precision,offset:D?.offset??!1,local:D?.local??!1,...XD.errToObj(D?.message)})}date(D){return this._addCheck({kind:"date",message:D})}time(D){if(typeof D==="string")return this._addCheck({kind:"time",precision:null,message:D});return this._addCheck({kind:"time",precision:typeof D?.precision==="undefined"?null:D?.precision,...XD.errToObj(D?.message)})}duration(D){return this._addCheck({kind:"duration",...XD.errToObj(D)})}regex(D,F){return this._addCheck({kind:"regex",regex:D,...XD.errToObj(F)})}includes(D,F){return this._addCheck({kind:"includes",value:D,position:F?.position,...XD.errToObj(F?.message)})}startsWith(D,F){return this._addCheck({kind:"startsWith",value:D,...XD.errToObj(F)})}endsWith(D,F){return this._addCheck({kind:"endsWith",value:D,...XD.errToObj(F)})}min(D,F){return this._addCheck({kind:"min",value:D,...XD.errToObj(F)})}max(D,F){return this._addCheck({kind:"max",value:D,...XD.errToObj(F)})}length(D,F){return this._addCheck({kind:"length",value:D,...XD.errToObj(F)})}nonempty(D){return this.min(1,XD.errToObj(D))}trim(){return new FF({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new FF({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new FF({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find((D)=>D.kind==="datetime")}get isDate(){return!!this._def.checks.find((D)=>D.kind==="date")}get isTime(){return!!this._def.checks.find((D)=>D.kind==="time")}get isDuration(){return!!this._def.checks.find((D)=>D.kind==="duration")}get isEmail(){return!!this._def.checks.find((D)=>D.kind==="email")}get isURL(){return!!this._def.checks.find((D)=>D.kind==="url")}get isEmoji(){return!!this._def.checks.find((D)=>D.kind==="emoji")}get isUUID(){return!!this._def.checks.find((D)=>D.kind==="uuid")}get isNANOID(){return!!this._def.checks.find((D)=>D.kind==="nanoid")}get isCUID(){return!!this._def.checks.find((D)=>D.kind==="cuid")}get isCUID2(){return!!this._def.checks.find((D)=>D.kind==="cuid2")}get isULID(){return!!this._def.checks.find((D)=>D.kind==="ulid")}get isIP(){return!!this._def.checks.find((D)=>D.kind==="ip")}get isCIDR(){return!!this._def.checks.find((D)=>D.kind==="cidr")}get isBase64(){return!!this._def.checks.find((D)=>D.kind==="base64")}get isBase64url(){return!!this._def.checks.find((D)=>D.kind==="base64url")}get minLength(){let D=null;for(let F of this._def.checks)if(F.kind==="min"){if(D===null||F.value>D)D=F.value}return D}get maxLength(){let D=null;for(let F of this._def.checks)if(F.kind==="max"){if(D===null||F.value<D)D=F.value}return D}}FF.create=(D)=>{return new FF({checks:[],typeName:qD.ZodString,coerce:D?.coerce??!1,...UD(D)})};function GK(D,F){let Q=(D.toString().split(".")[1]||"").length,B=(F.toString().split(".")[1]||"").length,Y=Q>B?Q:B,J=Number.parseInt(D.toFixed(Y).replace(".","")),X=Number.parseInt(F.toFixed(Y).replace(".",""));return J%X/10**Y}class xF extends ED{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(D){if(this._def.coerce)D.data=Number(D.data);if(this._getType(D)!==e.number){let Y=this._getOrReturnCtx(D);return r(Y,{code:i.invalid_type,expected:e.number,received:Y.parsedType}),GD}let Q=void 0,B=new q0;for(let Y of this._def.checks)if(Y.kind==="int"){if(!jD.isInteger(D.data))Q=this._getOrReturnCtx(D,Q),r(Q,{code:i.invalid_type,expected:"integer",received:"float",message:Y.message}),B.dirty()}else if(Y.kind==="min"){if(Y.inclusive?D.data<Y.value:D.data<=Y.value)Q=this._getOrReturnCtx(D,Q),r(Q,{code:i.too_small,minimum:Y.value,type:"number",inclusive:Y.inclusive,exact:!1,message:Y.message}),B.dirty()}else if(Y.kind==="max"){if(Y.inclusive?D.data>Y.value:D.data>=Y.value)Q=this._getOrReturnCtx(D,Q),r(Q,{code:i.too_big,maximum:Y.value,type:"number",inclusive:Y.inclusive,exact:!1,message:Y.message}),B.dirty()}else if(Y.kind==="multipleOf"){if(GK(D.data,Y.value)!==0)Q=this._getOrReturnCtx(D,Q),r(Q,{code:i.not_multiple_of,multipleOf:Y.value,message:Y.message}),B.dirty()}else if(Y.kind==="finite"){if(!Number.isFinite(D.data))Q=this._getOrReturnCtx(D,Q),r(Q,{code:i.not_finite,message:Y.message}),B.dirty()}else jD.assertNever(Y);return{status:B.value,value:D.data}}gte(D,F){return this.setLimit("min",D,!0,XD.toString(F))}gt(D,F){return this.setLimit("min",D,!1,XD.toString(F))}lte(D,F){return this.setLimit("max",D,!0,XD.toString(F))}lt(D,F){return this.setLimit("max",D,!1,XD.toString(F))}setLimit(D,F,Q,B){return new xF({...this._def,checks:[...this._def.checks,{kind:D,value:F,inclusive:Q,message:XD.toString(B)}]})}_addCheck(D){return new xF({...this._def,checks:[...this._def.checks,D]})}int(D){return this._addCheck({kind:"int",message:XD.toString(D)})}positive(D){return this._addCheck({kind:"min",value:0,inclusive:!1,message:XD.toString(D)})}negative(D){return this._addCheck({kind:"max",value:0,inclusive:!1,message:XD.toString(D)})}nonpositive(D){return this._addCheck({kind:"max",value:0,inclusive:!0,message:XD.toString(D)})}nonnegative(D){return this._addCheck({kind:"min",value:0,inclusive:!0,message:XD.toString(D)})}multipleOf(D,F){return this._addCheck({kind:"multipleOf",value:D,message:XD.toString(F)})}finite(D){return this._addCheck({kind:"finite",message:XD.toString(D)})}safe(D){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:XD.toString(D)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:XD.toString(D)})}get minValue(){let D=null;for(let F of this._def.checks)if(F.kind==="min"){if(D===null||F.value>D)D=F.value}return D}get maxValue(){let D=null;for(let F of this._def.checks)if(F.kind==="max"){if(D===null||F.value<D)D=F.value}return D}get isInt(){return!!this._def.checks.find((D)=>D.kind==="int"||D.kind==="multipleOf"&&jD.isInteger(D.value))}get isFinite(){let D=null,F=null;for(let Q of this._def.checks)if(Q.kind==="finite"||Q.kind==="int"||Q.kind==="multipleOf")return!0;else if(Q.kind==="min"){if(F===null||Q.value>F)F=Q.value}else if(Q.kind==="max"){if(D===null||Q.value<D)D=Q.value}return Number.isFinite(F)&&Number.isFinite(D)}}xF.create=(D)=>{return new xF({checks:[],typeName:qD.ZodNumber,coerce:D?.coerce||!1,...UD(D)})};class uF extends ED{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse(D){if(this._def.coerce)try{D.data=BigInt(D.data)}catch{return this._getInvalidInput(D)}if(this._getType(D)!==e.bigint)return this._getInvalidInput(D);let Q=void 0,B=new q0;for(let Y of this._def.checks)if(Y.kind==="min"){if(Y.inclusive?D.data<Y.value:D.data<=Y.value)Q=this._getOrReturnCtx(D,Q),r(Q,{code:i.too_small,type:"bigint",minimum:Y.value,inclusive:Y.inclusive,message:Y.message}),B.dirty()}else if(Y.kind==="max"){if(Y.inclusive?D.data>Y.value:D.data>=Y.value)Q=this._getOrReturnCtx(D,Q),r(Q,{code:i.too_big,type:"bigint",maximum:Y.value,inclusive:Y.inclusive,message:Y.message}),B.dirty()}else if(Y.kind==="multipleOf"){if(D.data%Y.value!==BigInt(0))Q=this._getOrReturnCtx(D,Q),r(Q,{code:i.not_multiple_of,multipleOf:Y.value,message:Y.message}),B.dirty()}else jD.assertNever(Y);return{status:B.value,value:D.data}}_getInvalidInput(D){let F=this._getOrReturnCtx(D);return r(F,{code:i.invalid_type,expected:e.bigint,received:F.parsedType}),GD}gte(D,F){return this.setLimit("min",D,!0,XD.toString(F))}gt(D,F){return this.setLimit("min",D,!1,XD.toString(F))}lte(D,F){return this.setLimit("max",D,!0,XD.toString(F))}lt(D,F){return this.setLimit("max",D,!1,XD.toString(F))}setLimit(D,F,Q,B){return new uF({...this._def,checks:[...this._def.checks,{kind:D,value:F,inclusive:Q,message:XD.toString(B)}]})}_addCheck(D){return new uF({...this._def,checks:[...this._def.checks,D]})}positive(D){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:XD.toString(D)})}negative(D){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:XD.toString(D)})}nonpositive(D){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:XD.toString(D)})}nonnegative(D){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:XD.toString(D)})}multipleOf(D,F){return this._addCheck({kind:"multipleOf",value:D,message:XD.toString(F)})}get minValue(){let D=null;for(let F of this._def.checks)if(F.kind==="min"){if(D===null||F.value>D)D=F.value}return D}get maxValue(){let D=null;for(let F of this._def.checks)if(F.kind==="max"){if(D===null||F.value<D)D=F.value}return D}}uF.create=(D)=>{return new uF({checks:[],typeName:qD.ZodBigInt,coerce:D?.coerce??!1,...UD(D)})};class S2 extends ED{_parse(D){if(this._def.coerce)D.data=Boolean(D.data);if(this._getType(D)!==e.boolean){let Q=this._getOrReturnCtx(D);return r(Q,{code:i.invalid_type,expected:e.boolean,received:Q.parsedType}),GD}return L0(D.data)}}S2.create=(D)=>{return new S2({typeName:qD.ZodBoolean,coerce:D?.coerce||!1,...UD(D)})};class eF extends ED{_parse(D){if(this._def.coerce)D.data=new Date(D.data);if(this._getType(D)!==e.date){let Y=this._getOrReturnCtx(D);return r(Y,{code:i.invalid_type,expected:e.date,received:Y.parsedType}),GD}if(Number.isNaN(D.data.getTime())){let Y=this._getOrReturnCtx(D);return r(Y,{code:i.invalid_date}),GD}let Q=new q0,B=void 0;for(let Y of this._def.checks)if(Y.kind==="min"){if(D.data.getTime()<Y.value)B=this._getOrReturnCtx(D,B),r(B,{code:i.too_small,message:Y.message,inclusive:!0,exact:!1,minimum:Y.value,type:"date"}),Q.dirty()}else if(Y.kind==="max"){if(D.data.getTime()>Y.value)B=this._getOrReturnCtx(D,B),r(B,{code:i.too_big,message:Y.message,inclusive:!0,exact:!1,maximum:Y.value,type:"date"}),Q.dirty()}else jD.assertNever(Y);return{status:Q.value,value:new Date(D.data.getTime())}}_addCheck(D){return new eF({...this._def,checks:[...this._def.checks,D]})}min(D,F){return this._addCheck({kind:"min",value:D.getTime(),message:XD.toString(F)})}max(D,F){return this._addCheck({kind:"max",value:D.getTime(),message:XD.toString(F)})}get minDate(){let D=null;for(let F of this._def.checks)if(F.kind==="min"){if(D===null||F.value>D)D=F.value}return D!=null?new Date(D):null}get maxDate(){let D=null;for(let F of this._def.checks)if(F.kind==="max"){if(D===null||F.value<D)D=F.value}return D!=null?new Date(D):null}}eF.create=(D)=>{return new eF({checks:[],coerce:D?.coerce||!1,typeName:qD.ZodDate,...UD(D)})};class P8 extends ED{_parse(D){if(this._getType(D)!==e.symbol){let Q=this._getOrReturnCtx(D);return r(Q,{code:i.invalid_type,expected:e.symbol,received:Q.parsedType}),GD}return L0(D.data)}}P8.create=(D)=>{return new P8({typeName:qD.ZodSymbol,...UD(D)})};class b2 extends ED{_parse(D){if(this._getType(D)!==e.undefined){let Q=this._getOrReturnCtx(D);return r(Q,{code:i.invalid_type,expected:e.undefined,received:Q.parsedType}),GD}return L0(D.data)}}b2.create=(D)=>{return new b2({typeName:qD.ZodUndefined,...UD(D)})};class k2 extends ED{_parse(D){if(this._getType(D)!==e.null){let Q=this._getOrReturnCtx(D);return r(Q,{code:i.invalid_type,expected:e.null,received:Q.parsedType}),GD}return L0(D.data)}}k2.create=(D)=>{return new k2({typeName:qD.ZodNull,...UD(D)})};class D2 extends ED{constructor(){super(...arguments);this._any=!0}_parse(D){return L0(D.data)}}D2.create=(D)=>{return new D2({typeName:qD.ZodAny,...UD(D)})};class vF extends ED{constructor(){super(...arguments);this._unknown=!0}_parse(D){return L0(D.data)}}vF.create=(D)=>{return new vF({typeName:qD.ZodUnknown,...UD(D)})};class KF extends ED{_parse(D){let F=this._getOrReturnCtx(D);return r(F,{code:i.invalid_type,expected:e.never,received:F.parsedType}),GD}}KF.create=(D)=>{return new KF({typeName:qD.ZodNever,...UD(D)})};class S8 extends ED{_parse(D){if(this._getType(D)!==e.undefined){let Q=this._getOrReturnCtx(D);return r(Q,{code:i.invalid_type,expected:e.void,received:Q.parsedType}),GD}return L0(D.data)}}S8.create=(D)=>{return new S8({typeName:qD.ZodVoid,...UD(D)})};class BF extends ED{_parse(D){let{ctx:F,status:Q}=this._processInputParams(D),B=this._def;if(F.parsedType!==e.array)return r(F,{code:i.invalid_type,expected:e.array,received:F.parsedType}),GD;if(B.exactLength!==null){let J=F.data.length>B.exactLength.value,X=F.data.length<B.exactLength.value;if(J||X)r(F,{code:J?i.too_big:i.too_small,minimum:X?B.exactLength.value:void 0,maximum:J?B.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:B.exactLength.message}),Q.dirty()}if(B.minLength!==null){if(F.data.length<B.minLength.value)r(F,{code:i.too_small,minimum:B.minLength.value,type:"array",inclusive:!0,exact:!1,message:B.minLength.message}),Q.dirty()}if(B.maxLength!==null){if(F.data.length>B.maxLength.value)r(F,{code:i.too_big,maximum:B.maxLength.value,type:"array",inclusive:!0,exact:!1,message:B.maxLength.message}),Q.dirty()}if(F.common.async)return Promise.all([...F.data].map((J,X)=>{return B.type._parseAsync(new XF(F,J,F.path,X))})).then((J)=>{return q0.mergeArray(Q,J)});let Y=[...F.data].map((J,X)=>{return B.type._parseSync(new XF(F,J,F.path,X))});return q0.mergeArray(Q,Y)}get element(){return this._def.type}min(D,F){return new BF({...this._def,minLength:{value:D,message:XD.toString(F)}})}max(D,F){return new BF({...this._def,maxLength:{value:D,message:XD.toString(F)}})}length(D,F){return new BF({...this._def,exactLength:{value:D,message:XD.toString(F)}})}nonempty(D){return this.min(1,D)}}BF.create=(D,F)=>{return new BF({type:D,minLength:null,maxLength:null,exactLength:null,typeName:qD.ZodArray,...UD(F)})};function O2(D){if(D instanceof lD){let F={};for(let Q in D.shape){let B=D.shape[Q];F[Q]=QF.create(O2(B))}return new lD({...D._def,shape:()=>F})}else if(D instanceof BF)return new BF({...D._def,type:O2(D.element)});else if(D instanceof QF)return QF.create(O2(D.unwrap()));else if(D instanceof _F)return _F.create(O2(D.unwrap()));else if(D instanceof HF)return HF.create(D.items.map((F)=>O2(F)));else return D}class lD extends ED{constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let D=this._def.shape(),F=jD.objectKeys(D);return this._cached={shape:D,keys:F},this._cached}_parse(D){if(this._getType(D)!==e.object){let W=this._getOrReturnCtx(D);return r(W,{code:i.invalid_type,expected:e.object,received:W.parsedType}),GD}let{status:Q,ctx:B}=this._processInputParams(D),{shape:Y,keys:J}=this._getCached(),X=[];if(!(this._def.catchall instanceof KF&&this._def.unknownKeys==="strip")){for(let W in B.data)if(!J.includes(W))X.push(W)}let C=[];for(let W of J){let z=Y[W],G=B.data[W];C.push({key:{status:"valid",value:W},value:z._parse(new XF(B,G,B.path,W)),alwaysSet:W in B.data})}if(this._def.catchall instanceof KF){let W=this._def.unknownKeys;if(W==="passthrough")for(let z of X)C.push({key:{status:"valid",value:z},value:{status:"valid",value:B.data[z]}});else if(W==="strict"){if(X.length>0)r(B,{code:i.unrecognized_keys,keys:X}),Q.dirty()}else if(W==="strip");else throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let W=this._def.catchall;for(let z of X){let G=B.data[z];C.push({key:{status:"valid",value:z},value:W._parse(new XF(B,G,B.path,z)),alwaysSet:z in B.data})}}if(B.common.async)return Promise.resolve().then(async()=>{let W=[];for(let z of C){let G=await z.key,q=await z.value;W.push({key:G,value:q,alwaysSet:z.alwaysSet})}return W}).then((W)=>{return q0.mergeObjectSync(Q,W)});else return q0.mergeObjectSync(Q,C)}get shape(){return this._def.shape()}strict(D){return XD.errToObj,new lD({...this._def,unknownKeys:"strict",...D!==void 0?{errorMap:(F,Q)=>{let B=this._def.errorMap?.(F,Q).message??Q.defaultError;if(F.code==="unrecognized_keys")return{message:XD.errToObj(D).message??B};return{message:B}}}:{}})}strip(){return new lD({...this._def,unknownKeys:"strip"})}passthrough(){return new lD({...this._def,unknownKeys:"passthrough"})}extend(D){return new lD({...this._def,shape:()=>({...this._def.shape(),...D})})}merge(D){return new lD({unknownKeys:D._def.unknownKeys,catchall:D._def.catchall,shape:()=>({...this._def.shape(),...D._def.shape()}),typeName:qD.ZodObject})}setKey(D,F){return this.augment({[D]:F})}catchall(D){return new lD({...this._def,catchall:D})}pick(D){let F={};for(let Q of jD.objectKeys(D))if(D[Q]&&this.shape[Q])F[Q]=this.shape[Q];return new lD({...this._def,shape:()=>F})}omit(D){let F={};for(let Q of jD.objectKeys(this.shape))if(!D[Q])F[Q]=this.shape[Q];return new lD({...this._def,shape:()=>F})}deepPartial(){return O2(this)}partial(D){let F={};for(let Q of jD.objectKeys(this.shape)){let B=this.shape[Q];if(D&&!D[Q])F[Q]=B;else F[Q]=B.optional()}return new lD({...this._def,shape:()=>F})}required(D){let F={};for(let Q of jD.objectKeys(this.shape))if(D&&!D[Q])F[Q]=this.shape[Q];else{let Y=this.shape[Q];while(Y instanceof QF)Y=Y._def.innerType;F[Q]=Y}return new lD({...this._def,shape:()=>F})}keyof(){return UQ(jD.objectKeys(this.shape))}}lD.create=(D,F)=>{return new lD({shape:()=>D,unknownKeys:"strip",catchall:KF.create(),typeName:qD.ZodObject,...UD(F)})};lD.strictCreate=(D,F)=>{return new lD({shape:()=>D,unknownKeys:"strict",catchall:KF.create(),typeName:qD.ZodObject,...UD(F)})};lD.lazycreate=(D,F)=>{return new lD({shape:D,unknownKeys:"strip",catchall:KF.create(),typeName:qD.ZodObject,...UD(F)})};class v2 extends ED{_parse(D){let{ctx:F}=this._processInputParams(D),Q=this._def.options;function B(Y){for(let X of Y)if(X.result.status==="valid")return X.result;for(let X of Y)if(X.result.status==="dirty")return F.common.issues.push(...X.ctx.common.issues),X.result;let J=Y.map((X)=>new b0(X.ctx.common.issues));return r(F,{code:i.invalid_union,unionErrors:J}),GD}if(F.common.async)return Promise.all(Q.map(async(Y)=>{let J={...F,common:{...F.common,issues:[]},parent:null};return{result:await Y._parseAsync({data:F.data,path:F.path,parent:J}),ctx:J}})).then(B);else{let Y=void 0,J=[];for(let C of Q){let W={...F,common:{...F.common,issues:[]},parent:null},z=C._parseSync({data:F.data,path:F.path,parent:W});if(z.status==="valid")return z;else if(z.status==="dirty"&&!Y)Y={result:z,ctx:W};if(W.common.issues.length)J.push(W.common.issues)}if(Y)return F.common.issues.push(...Y.ctx.common.issues),Y.result;let X=J.map((C)=>new b0(C));return r(F,{code:i.invalid_union,unionErrors:X}),GD}}get options(){return this._def.options}}v2.create=(D,F)=>{return new v2({options:D,typeName:qD.ZodUnion,...UD(F)})};var jF=(D)=>{if(D instanceof u2)return jF(D.schema);else if(D instanceof d0)return jF(D.innerType());else if(D instanceof y2)return[D.value];else if(D instanceof yF)return D.options;else if(D instanceof f2)return jD.objectValues(D.enum);else if(D instanceof g2)return jF(D._def.innerType);else if(D instanceof b2)return[void 0];else if(D instanceof k2)return[null];else if(D instanceof QF)return[void 0,...jF(D.unwrap())];else if(D instanceof _F)return[null,...jF(D.unwrap())];else if(D instanceof n6)return jF(D.unwrap());else if(D instanceof h2)return jF(D.unwrap());else if(D instanceof $2)return jF(D._def.innerType);else return[]};class p6 extends ED{_parse(D){let{ctx:F}=this._processInputParams(D);if(F.parsedType!==e.object)return r(F,{code:i.invalid_type,expected:e.object,received:F.parsedType}),GD;let Q=this.discriminator,B=F.data[Q],Y=this.optionsMap.get(B);if(!Y)return r(F,{code:i.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[Q]}),GD;if(F.common.async)return Y._parseAsync({data:F.data,path:F.path,parent:F});else return Y._parseSync({data:F.data,path:F.path,parent:F})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(D,F,Q){let B=new Map;for(let Y of F){let J=jF(Y.shape[D]);if(!J.length)throw new Error(`A discriminator value for key \`${D}\` could not be extracted from all schema options`);for(let X of J){if(B.has(X))throw new Error(`Discriminator property ${String(D)} has duplicate value ${String(X)}`);B.set(X,Y)}}return new p6({typeName:qD.ZodDiscriminatedUnion,discriminator:D,options:F,optionsMap:B,...UD(Q)})}}function B9(D,F){let Q=RF(D),B=RF(F);if(D===F)return{valid:!0,data:D};else if(Q===e.object&&B===e.object){let Y=jD.objectKeys(F),J=jD.objectKeys(D).filter((C)=>Y.indexOf(C)!==-1),X={...D,...F};for(let C of J){let W=B9(D[C],F[C]);if(!W.valid)return{valid:!1};X[C]=W.data}return{valid:!0,data:X}}else if(Q===e.array&&B===e.array){if(D.length!==F.length)return{valid:!1};let Y=[];for(let J=0;J<D.length;J++){let X=D[J],C=F[J],W=B9(X,C);if(!W.valid)return{valid:!1};Y.push(W.data)}return{valid:!0,data:Y}}else if(Q===e.date&&B===e.date&&+D===+F)return{valid:!0,data:D};else return{valid:!1}}class x2 extends ED{_parse(D){let{status:F,ctx:Q}=this._processInputParams(D),B=(Y,J)=>{if(D9(Y)||D9(J))return GD;let X=B9(Y.value,J.value);if(!X.valid)return r(Q,{code:i.invalid_intersection_types}),GD;if(F9(Y)||F9(J))F.dirty();return{status:F.value,value:X.data}};if(Q.common.async)return Promise.all([this._def.left._parseAsync({data:Q.data,path:Q.path,parent:Q}),this._def.right._parseAsync({data:Q.data,path:Q.path,parent:Q})]).then(([Y,J])=>B(Y,J));else return B(this._def.left._parseSync({data:Q.data,path:Q.path,parent:Q}),this._def.right._parseSync({data:Q.data,path:Q.path,parent:Q}))}}x2.create=(D,F,Q)=>{return new x2({left:D,right:F,typeName:qD.ZodIntersection,...UD(Q)})};class HF extends ED{_parse(D){let{status:F,ctx:Q}=this._processInputParams(D);if(Q.parsedType!==e.array)return r(Q,{code:i.invalid_type,expected:e.array,received:Q.parsedType}),GD;if(Q.data.length<this._def.items.length)return r(Q,{code:i.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),GD;if(!this._def.rest&&Q.data.length>this._def.items.length)r(Q,{code:i.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),F.dirty();let Y=[...Q.data].map((J,X)=>{let C=this._def.items[X]||this._def.rest;if(!C)return null;return C._parse(new XF(Q,J,Q.path,X))}).filter((J)=>!!J);if(Q.common.async)return Promise.all(Y).then((J)=>{return q0.mergeArray(F,J)});else return q0.mergeArray(F,Y)}get items(){return this._def.items}rest(D){return new HF({...this._def,rest:D})}}HF.create=(D,F)=>{if(!Array.isArray(D))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new HF({items:D,typeName:qD.ZodTuple,rest:null,...UD(F)})};class b8 extends ED{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(D){let{status:F,ctx:Q}=this._processInputParams(D);if(Q.parsedType!==e.object)return r(Q,{code:i.invalid_type,expected:e.object,received:Q.parsedType}),GD;let B=[],Y=this._def.keyType,J=this._def.valueType;for(let X in Q.data)B.push({key:Y._parse(new XF(Q,X,Q.path,X)),value:J._parse(new XF(Q,Q.data[X],Q.path,X)),alwaysSet:X in Q.data});if(Q.common.async)return q0.mergeObjectAsync(F,B);else return q0.mergeObjectSync(F,B)}get element(){return this._def.valueType}static create(D,F,Q){if(F instanceof ED)return new b8({keyType:D,valueType:F,typeName:qD.ZodRecord,...UD(Q)});return new b8({keyType:FF.create(),valueType:D,typeName:qD.ZodRecord,...UD(F)})}}class k8 extends ED{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(D){let{status:F,ctx:Q}=this._processInputParams(D);if(Q.parsedType!==e.map)return r(Q,{code:i.invalid_type,expected:e.map,received:Q.parsedType}),GD;let B=this._def.keyType,Y=this._def.valueType,J=[...Q.data.entries()].map(([X,C],W)=>{return{key:B._parse(new XF(Q,X,Q.path,[W,"key"])),value:Y._parse(new XF(Q,C,Q.path,[W,"value"]))}});if(Q.common.async){let X=new Map;return Promise.resolve().then(async()=>{for(let C of J){let W=await C.key,z=await C.value;if(W.status==="aborted"||z.status==="aborted")return GD;if(W.status==="dirty"||z.status==="dirty")F.dirty();X.set(W.value,z.value)}return{status:F.value,value:X}})}else{let X=new Map;for(let C of J){let{key:W,value:z}=C;if(W.status==="aborted"||z.status==="aborted")return GD;if(W.status==="dirty"||z.status==="dirty")F.dirty();X.set(W.value,z.value)}return{status:F.value,value:X}}}}k8.create=(D,F,Q)=>{return new k8({valueType:F,keyType:D,typeName:qD.ZodMap,...UD(Q)})};class F2 extends ED{_parse(D){let{status:F,ctx:Q}=this._processInputParams(D);if(Q.parsedType!==e.set)return r(Q,{code:i.invalid_type,expected:e.set,received:Q.parsedType}),GD;let B=this._def;if(B.minSize!==null){if(Q.data.size<B.minSize.value)r(Q,{code:i.too_small,minimum:B.minSize.value,type:"set",inclusive:!0,exact:!1,message:B.minSize.message}),F.dirty()}if(B.maxSize!==null){if(Q.data.size>B.maxSize.value)r(Q,{code:i.too_big,maximum:B.maxSize.value,type:"set",inclusive:!0,exact:!1,message:B.maxSize.message}),F.dirty()}let Y=this._def.valueType;function J(C){let W=new Set;for(let z of C){if(z.status==="aborted")return GD;if(z.status==="dirty")F.dirty();W.add(z.value)}return{status:F.value,value:W}}let X=[...Q.data.values()].map((C,W)=>Y._parse(new XF(Q,C,Q.path,W)));if(Q.common.async)return Promise.all(X).then((C)=>J(C));else return J(X)}min(D,F){return new F2({...this._def,minSize:{value:D,message:XD.toString(F)}})}max(D,F){return new F2({...this._def,maxSize:{value:D,message:XD.toString(F)}})}size(D,F){return this.min(D,F).max(D,F)}nonempty(D){return this.min(1,D)}}F2.create=(D,F)=>{return new F2({valueType:D,minSize:null,maxSize:null,typeName:qD.ZodSet,...UD(F)})};class T2 extends ED{constructor(){super(...arguments);this.validate=this.implement}_parse(D){let{ctx:F}=this._processInputParams(D);if(F.parsedType!==e.function)return r(F,{code:i.invalid_type,expected:e.function,received:F.parsedType}),GD;function Q(X,C){return c6({data:X,path:F.path,errorMaps:[F.common.contextualErrorMap,F.schemaErrorMap,d6(),P2].filter((W)=>!!W),issueData:{code:i.invalid_arguments,argumentsError:C}})}function B(X,C){return c6({data:X,path:F.path,errorMaps:[F.common.contextualErrorMap,F.schemaErrorMap,d6(),P2].filter((W)=>!!W),issueData:{code:i.invalid_return_type,returnTypeError:C}})}let Y={errorMap:F.common.contextualErrorMap},J=F.data;if(this._def.returns instanceof B2){let X=this;return L0(async function(...C){let W=new b0([]),z=await X._def.args.parseAsync(C,Y).catch((E)=>{throw W.addIssue(Q(C,E)),W}),G=await Reflect.apply(J,this,z);return await X._def.returns._def.type.parseAsync(G,Y).catch((E)=>{throw W.addIssue(B(G,E)),W})})}else{let X=this;return L0(function(...C){let W=X._def.args.safeParse(C,Y);if(!W.success)throw new b0([Q(C,W.error)]);let z=Reflect.apply(J,this,W.data),G=X._def.returns.safeParse(z,Y);if(!G.success)throw new b0([B(z,G.error)]);return G.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...D){return new T2({...this._def,args:HF.create(D).rest(vF.create())})}returns(D){return new T2({...this._def,returns:D})}implement(D){return this.parse(D)}strictImplement(D){return this.parse(D)}static create(D,F,Q){return new T2({args:D?D:HF.create([]).rest(vF.create()),returns:F||vF.create(),typeName:qD.ZodFunction,...UD(Q)})}}class u2 extends ED{get schema(){return this._def.getter()}_parse(D){let{ctx:F}=this._processInputParams(D);return this._def.getter()._parse({data:F.data,path:F.path,parent:F})}}u2.create=(D,F)=>{return new u2({getter:D,typeName:qD.ZodLazy,...UD(F)})};class y2 extends ED{_parse(D){if(D.data!==this._def.value){let F=this._getOrReturnCtx(D);return r(F,{received:F.data,code:i.invalid_literal,expected:this._def.value}),GD}return{status:"valid",value:D.data}}get value(){return this._def.value}}y2.create=(D,F)=>{return new y2({value:D,typeName:qD.ZodLiteral,...UD(F)})};function UQ(D,F){return new yF({values:D,typeName:qD.ZodEnum,...UD(F)})}class yF extends ED{_parse(D){if(typeof D.data!=="string"){let F=this._getOrReturnCtx(D),Q=this._def.values;return r(F,{expected:jD.joinValues(Q),received:F.parsedType,code:i.invalid_type}),GD}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has(D.data)){let F=this._getOrReturnCtx(D),Q=this._def.values;return r(F,{received:F.data,code:i.invalid_enum_value,options:Q}),GD}return L0(D.data)}get options(){return this._def.values}get enum(){let D={};for(let F of this._def.values)D[F]=F;return D}get Values(){let D={};for(let F of this._def.values)D[F]=F;return D}get Enum(){let D={};for(let F of this._def.values)D[F]=F;return D}extract(D,F=this._def){return yF.create(D,{...this._def,...F})}exclude(D,F=this._def){return yF.create(this.options.filter((Q)=>!D.includes(Q)),{...this._def,...F})}}yF.create=UQ;class f2 extends ED{_parse(D){let F=jD.getValidEnumValues(this._def.values),Q=this._getOrReturnCtx(D);if(Q.parsedType!==e.string&&Q.parsedType!==e.number){let B=jD.objectValues(F);return r(Q,{expected:jD.joinValues(B),received:Q.parsedType,code:i.invalid_type}),GD}if(!this._cache)this._cache=new Set(jD.getValidEnumValues(this._def.values));if(!this._cache.has(D.data)){let B=jD.objectValues(F);return r(Q,{received:Q.data,code:i.invalid_enum_value,options:B}),GD}return L0(D.data)}get enum(){return this._def.values}}f2.create=(D,F)=>{return new f2({values:D,typeName:qD.ZodNativeEnum,...UD(F)})};class B2 extends ED{unwrap(){return this._def.type}_parse(D){let{ctx:F}=this._processInputParams(D);if(F.parsedType!==e.promise&&F.common.async===!1)return r(F,{code:i.invalid_type,expected:e.promise,received:F.parsedType}),GD;let Q=F.parsedType===e.promise?F.data:Promise.resolve(F.data);return L0(Q.then((B)=>{return this._def.type.parseAsync(B,{path:F.path,errorMap:F.common.contextualErrorMap})}))}}B2.create=(D,F)=>{return new B2({type:D,typeName:qD.ZodPromise,...UD(F)})};class d0 extends ED{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===qD.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(D){let{status:F,ctx:Q}=this._processInputParams(D),B=this._def.effect||null,Y={addIssue:(J)=>{if(r(Q,J),J.fatal)F.abort();else F.dirty()},get path(){return Q.path}};if(Y.addIssue=Y.addIssue.bind(Y),B.type==="preprocess"){let J=B.transform(Q.data,Y);if(Q.common.async)return Promise.resolve(J).then(async(X)=>{if(F.value==="aborted")return GD;let C=await this._def.schema._parseAsync({data:X,path:Q.path,parent:Q});if(C.status==="aborted")return GD;if(C.status==="dirty")return w2(C.value);if(F.value==="dirty")return w2(C.value);return C});else{if(F.value==="aborted")return GD;let X=this._def.schema._parseSync({data:J,path:Q.path,parent:Q});if(X.status==="aborted")return GD;if(X.status==="dirty")return w2(X.value);if(F.value==="dirty")return w2(X.value);return X}}if(B.type==="refinement"){let J=(X)=>{let C=B.refinement(X,Y);if(Q.common.async)return Promise.resolve(C);if(C instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return X};if(Q.common.async===!1){let X=this._def.schema._parseSync({data:Q.data,path:Q.path,parent:Q});if(X.status==="aborted")return GD;if(X.status==="dirty")F.dirty();return J(X.value),{status:F.value,value:X.value}}else return this._def.schema._parseAsync({data:Q.data,path:Q.path,parent:Q}).then((X)=>{if(X.status==="aborted")return GD;if(X.status==="dirty")F.dirty();return J(X.value).then(()=>{return{status:F.value,value:X.value}})})}if(B.type==="transform")if(Q.common.async===!1){let J=this._def.schema._parseSync({data:Q.data,path:Q.path,parent:Q});if(!tF(J))return GD;let X=B.transform(J.value,Y);if(X instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:F.value,value:X}}else return this._def.schema._parseAsync({data:Q.data,path:Q.path,parent:Q}).then((J)=>{if(!tF(J))return GD;return Promise.resolve(B.transform(J.value,Y)).then((X)=>({status:F.value,value:X}))});jD.assertNever(B)}}d0.create=(D,F,Q)=>{return new d0({schema:D,typeName:qD.ZodEffects,effect:F,...UD(Q)})};d0.createWithPreprocess=(D,F,Q)=>{return new d0({schema:F,effect:{type:"preprocess",transform:D},typeName:qD.ZodEffects,...UD(Q)})};class QF extends ED{_parse(D){if(this._getType(D)===e.undefined)return L0(void 0);return this._def.innerType._parse(D)}unwrap(){return this._def.innerType}}QF.create=(D,F)=>{return new QF({innerType:D,typeName:qD.ZodOptional,...UD(F)})};class _F extends ED{_parse(D){if(this._getType(D)===e.null)return L0(null);return this._def.innerType._parse(D)}unwrap(){return this._def.innerType}}_F.create=(D,F)=>{return new _F({innerType:D,typeName:qD.ZodNullable,...UD(F)})};class g2 extends ED{_parse(D){let{ctx:F}=this._processInputParams(D),Q=F.data;if(F.parsedType===e.undefined)Q=this._def.defaultValue();return this._def.innerType._parse({data:Q,path:F.path,parent:F})}removeDefault(){return this._def.innerType}}g2.create=(D,F)=>{return new g2({innerType:D,typeName:qD.ZodDefault,defaultValue:typeof F.default==="function"?F.default:()=>F.default,...UD(F)})};class $2 extends ED{_parse(D){let{ctx:F}=this._processInputParams(D),Q={...F,common:{...F.common,issues:[]}},B=this._def.innerType._parse({data:Q.data,path:Q.path,parent:{...Q}});if(T8(B))return B.then((Y)=>{return{status:"valid",value:Y.status==="valid"?Y.value:this._def.catchValue({get error(){return new b0(Q.common.issues)},input:Q.data})}});else return{status:"valid",value:B.status==="valid"?B.value:this._def.catchValue({get error(){return new b0(Q.common.issues)},input:Q.data})}}removeCatch(){return this._def.innerType}}$2.create=(D,F)=>{return new $2({innerType:D,typeName:qD.ZodCatch,catchValue:typeof F.catch==="function"?F.catch:()=>F.catch,...UD(F)})};class v8 extends ED{_parse(D){if(this._getType(D)!==e.nan){let Q=this._getOrReturnCtx(D);return r(Q,{code:i.invalid_type,expected:e.nan,received:Q.parsedType}),GD}return{status:"valid",value:D.data}}}v8.create=(D)=>{return new v8({typeName:qD.ZodNaN,...UD(D)})};var qK=Symbol("zod_brand");class n6 extends ED{_parse(D){let{ctx:F}=this._processInputParams(D),Q=F.data;return this._def.type._parse({data:Q,path:F.path,parent:F})}unwrap(){return this._def.type}}class x8 extends ED{_parse(D){let{status:F,ctx:Q}=this._processInputParams(D);if(Q.common.async)return(async()=>{let Y=await this._def.in._parseAsync({data:Q.data,path:Q.path,parent:Q});if(Y.status==="aborted")return GD;if(Y.status==="dirty")return F.dirty(),w2(Y.value);else return this._def.out._parseAsync({data:Y.value,path:Q.path,parent:Q})})();else{let B=this._def.in._parseSync({data:Q.data,path:Q.path,parent:Q});if(B.status==="aborted")return GD;if(B.status==="dirty")return F.dirty(),{status:"dirty",value:B.value};else return this._def.out._parseSync({data:B.value,path:Q.path,parent:Q})}}static create(D,F){return new x8({in:D,out:F,typeName:qD.ZodPipeline})}}class h2 extends ED{_parse(D){let F=this._def.innerType._parse(D),Q=(B)=>{if(tF(B))B.value=Object.freeze(B.value);return B};return T8(F)?F.then((B)=>Q(B)):Q(F)}unwrap(){return this._def.innerType}}h2.create=(D,F)=>{return new h2({innerType:D,typeName:qD.ZodReadonly,...UD(F)})};function sB(D,F){let Q=typeof D==="function"?D(F):typeof D==="string"?{message:D}:D;return typeof Q==="string"?{message:Q}:Q}function EQ(D,F={},Q){if(D)return D2.create().superRefine((B,Y)=>{let J=D(B);if(J instanceof Promise)return J.then((X)=>{if(!X){let C=sB(F,B),W=C.fatal??Q??!0;Y.addIssue({code:"custom",...C,fatal:W})}});if(!J){let X=sB(F,B),C=X.fatal??Q??!0;Y.addIssue({code:"custom",...X,fatal:C})}return});return D2.create()}var KK={object:lD.lazycreate},qD;(function(D){D.ZodString="ZodString",D.ZodNumber="ZodNumber",D.ZodNaN="ZodNaN",D.ZodBigInt="ZodBigInt",D.ZodBoolean="ZodBoolean",D.ZodDate="ZodDate",D.ZodSymbol="ZodSymbol",D.ZodUndefined="ZodUndefined",D.ZodNull="ZodNull",D.ZodAny="ZodAny",D.ZodUnknown="ZodUnknown",D.ZodNever="ZodNever",D.ZodVoid="ZodVoid",D.ZodArray="ZodArray",D.ZodObject="ZodObject",D.ZodUnion="ZodUnion",D.ZodDiscriminatedUnion="ZodDiscriminatedUnion",D.ZodIntersection="ZodIntersection",D.ZodTuple="ZodTuple",D.ZodRecord="ZodRecord",D.ZodMap="ZodMap",D.ZodSet="ZodSet",D.ZodFunction="ZodFunction",D.ZodLazy="ZodLazy",D.ZodLiteral="ZodLiteral",D.ZodEnum="ZodEnum",D.ZodEffects="ZodEffects",D.ZodNativeEnum="ZodNativeEnum",D.ZodOptional="ZodOptional",D.ZodNullable="ZodNullable",D.ZodDefault="ZodDefault",D.ZodCatch="ZodCatch",D.ZodPromise="ZodPromise",D.ZodBranded="ZodBranded",D.ZodPipeline="ZodPipeline",D.ZodReadonly="ZodReadonly"})(qD||(qD={}));var HK=(D,F={message:`Input not instance of ${D.name}`})=>EQ((Q)=>Q instanceof D,F),ZQ=FF.create,AQ=xF.create,UK=v8.create,EK=uF.create,VQ=S2.create,ZK=eF.create,AK=P8.create,VK=b2.create,LK=k2.create,MK=D2.create,NK=vF.create,jK=KF.create,RK=S8.create,_K=BF.create,OK=lD.create,IK=lD.strictCreate,wK=v2.create,TK=p6.create,PK=x2.create,SK=HF.create,bK=b8.create,kK=k8.create,vK=F2.create,xK=T2.create,uK=u2.create,yK=y2.create,fK=yF.create,gK=f2.create,$K=B2.create,tB=d0.create,hK=QF.create,mK=_F.create,lK=d0.createWithPreprocess,dK=x8.create,cK=()=>ZQ().optional(),pK=()=>AQ().optional(),nK=()=>VQ().optional(),iK={string:(D)=>FF.create({...D,coerce:!0}),number:(D)=>xF.create({...D,coerce:!0}),boolean:(D)=>S2.create({...D,coerce:!0}),bigint:(D)=>uF.create({...D,coerce:!0}),date:(D)=>eF.create({...D,coerce:!0})},aK=GD;var i6="2.0",LQ=Z.union([Z.string(),Z.number().int()]),MQ=Z.string(),rK=Z.object({progressToken:Z.optional(LQ)}).passthrough(),c0=Z.object({_meta:Z.optional(rK)}).passthrough(),N0=Z.object({method:Z.string(),params:Z.optional(c0)}),u8=Z.object({_meta:Z.optional(Z.object({}).passthrough())}).passthrough(),UF=Z.object({method:Z.string(),params:Z.optional(u8)}),p0=Z.object({_meta:Z.optional(Z.object({}).passthrough())}).passthrough(),a6=Z.union([Z.string(),Z.number().int()]),oK=Z.object({jsonrpc:Z.literal(i6),id:a6}).merge(N0).strict();var sK=Z.object({jsonrpc:Z.literal(i6)}).merge(UF).strict();var tK=Z.object({jsonrpc:Z.literal(i6),id:a6,result:p0}).strict();var eB;(function(D){D[D.ConnectionClosed=-32000]="ConnectionClosed",D[D.RequestTimeout=-32001]="RequestTimeout",D[D.ParseError=-32700]="ParseError",D[D.InvalidRequest=-32600]="InvalidRequest",D[D.MethodNotFound=-32601]="MethodNotFound",D[D.InvalidParams=-32602]="InvalidParams",D[D.InternalError=-32603]="InternalError"})(eB||(eB={}));var eK=Z.object({jsonrpc:Z.literal(i6),id:a6,error:Z.object({code:Z.number().int(),message:Z.string(),data:Z.optional(Z.unknown())})}).strict();var ZM=Z.union([oK,sK,tK,eK]),NQ=p0.strict(),jQ=UF.extend({method:Z.literal("notifications/cancelled"),params:u8.extend({requestId:a6,reason:Z.string().optional()})}),y8=Z.object({name:Z.string(),title:Z.optional(Z.string())}).passthrough(),RQ=y8.extend({version:Z.string()}),DH=Z.object({experimental:Z.optional(Z.object({}).passthrough()),sampling:Z.optional(Z.object({}).passthrough()),elicitation:Z.optional(Z.object({}).passthrough()),roots:Z.optional(Z.object({listChanged:Z.optional(Z.boolean())}).passthrough())}).passthrough(),FH=N0.extend({method:Z.literal("initialize"),params:c0.extend({protocolVersion:Z.string(),capabilities:DH,clientInfo:RQ})}),BH=Z.object({experimental:Z.optional(Z.object({}).passthrough()),logging:Z.optional(Z.object({}).passthrough()),completions:Z.optional(Z.object({}).passthrough()),prompts:Z.optional(Z.object({listChanged:Z.optional(Z.boolean())}).passthrough()),resources:Z.optional(Z.object({subscribe:Z.optional(Z.boolean()),listChanged:Z.optional(Z.boolean())}).passthrough()),tools:Z.optional(Z.object({listChanged:Z.optional(Z.boolean())}).passthrough())}).passthrough(),QH=p0.extend({protocolVersion:Z.string(),capabilities:BH,serverInfo:RQ,instructions:Z.optional(Z.string())}),XH=UF.extend({method:Z.literal("notifications/initialized")}),_Q=N0.extend({method:Z.literal("ping")}),YH=Z.object({progress:Z.number(),total:Z.optional(Z.number()),message:Z.optional(Z.string())}).passthrough(),OQ=UF.extend({method:Z.literal("notifications/progress"),params:u8.merge(YH).extend({progressToken:LQ})}),r6=N0.extend({params:c0.extend({cursor:Z.optional(MQ)}).optional()}),o6=p0.extend({nextCursor:Z.optional(MQ)}),IQ=Z.object({uri:Z.string(),mimeType:Z.optional(Z.string()),_meta:Z.optional(Z.object({}).passthrough())}).passthrough(),wQ=IQ.extend({text:Z.string()}),W9=Z.string().refine((D)=>{try{return atob(D),!0}catch(F){return!1}},{message:"Invalid Base64 string"}),TQ=IQ.extend({blob:W9}),PQ=y8.extend({uri:Z.string(),description:Z.optional(Z.string()),mimeType:Z.optional(Z.string()),_meta:Z.optional(Z.object({}).passthrough())}),JH=y8.extend({uriTemplate:Z.string(),description:Z.optional(Z.string()),mimeType:Z.optional(Z.string()),_meta:Z.optional(Z.object({}).passthrough())}),CH=r6.extend({method:Z.literal("resources/list")}),WH=o6.extend({resources:Z.array(PQ)}),zH=r6.extend({method:Z.literal("resources/templates/list")}),GH=o6.extend({resourceTemplates:Z.array(JH)}),qH=N0.extend({method:Z.literal("resources/read"),params:c0.extend({uri:Z.string()})}),KH=p0.extend({contents:Z.array(Z.union([wQ,TQ]))}),HH=UF.extend({method:Z.literal("notifications/resources/list_changed")}),UH=N0.extend({method:Z.literal("resources/subscribe"),params:c0.extend({uri:Z.string()})}),EH=N0.extend({method:Z.literal("resources/unsubscribe"),params:c0.extend({uri:Z.string()})}),ZH=UF.extend({method:Z.literal("notifications/resources/updated"),params:u8.extend({uri:Z.string()})}),AH=Z.object({name:Z.string(),description:Z.optional(Z.string()),required:Z.optional(Z.boolean())}).passthrough(),VH=y8.extend({description:Z.optional(Z.string()),arguments:Z.optional(Z.array(AH)),_meta:Z.optional(Z.object({}).passthrough())}),LH=r6.extend({method:Z.literal("prompts/list")}),MH=o6.extend({prompts:Z.array(VH)}),NH=N0.extend({method:Z.literal("prompts/get"),params:c0.extend({name:Z.string(),arguments:Z.optional(Z.record(Z.string()))})}),z9=Z.object({type:Z.literal("text"),text:Z.string(),_meta:Z.optional(Z.object({}).passthrough())}).passthrough(),G9=Z.object({type:Z.literal("image"),data:W9,mimeType:Z.string(),_meta:Z.optional(Z.object({}).passthrough())}).passthrough(),q9=Z.object({type:Z.literal("audio"),data:W9,mimeType:Z.string(),_meta:Z.optional(Z.object({}).passthrough())}).passthrough(),jH=Z.object({type:Z.literal("resource"),resource:Z.union([wQ,TQ]),_meta:Z.optional(Z.object({}).passthrough())}).passthrough(),RH=PQ.extend({type:Z.literal("resource_link")}),SQ=Z.union([z9,G9,q9,RH,jH]),_H=Z.object({role:Z.enum(["user","assistant"]),content:SQ}).passthrough(),OH=p0.extend({description:Z.optional(Z.string()),messages:Z.array(_H)}),IH=UF.extend({method:Z.literal("notifications/prompts/list_changed")}),wH=Z.object({title:Z.optional(Z.string()),readOnlyHint:Z.optional(Z.boolean()),destructiveHint:Z.optional(Z.boolean()),idempotentHint:Z.optional(Z.boolean()),openWorldHint:Z.optional(Z.boolean())}).passthrough(),TH=y8.extend({description:Z.optional(Z.string()),inputSchema:Z.object({type:Z.literal("object"),properties:Z.optional(Z.object({}).passthrough()),required:Z.optional(Z.array(Z.string()))}).passthrough(),outputSchema:Z.optional(Z.object({type:Z.literal("object"),properties:Z.optional(Z.object({}).passthrough()),required:Z.optional(Z.array(Z.string()))}).passthrough()),annotations:Z.optional(wH),_meta:Z.optional(Z.object({}).passthrough())}),PH=r6.extend({method:Z.literal("tools/list")}),SH=o6.extend({tools:Z.array(TH)}),bQ=p0.extend({content:Z.array(SQ).default([]),structuredContent:Z.object({}).passthrough().optional(),isError:Z.optional(Z.boolean())}),AM=bQ.or(p0.extend({toolResult:Z.unknown()})),bH=N0.extend({method:Z.literal("tools/call"),params:c0.extend({name:Z.string(),arguments:Z.optional(Z.record(Z.unknown()))})}),kH=UF.extend({method:Z.literal("notifications/tools/list_changed")}),kQ=Z.enum(["debug","info","notice","warning","error","critical","alert","emergency"]),vH=N0.extend({method:Z.literal("logging/setLevel"),params:c0.extend({level:kQ})}),xH=UF.extend({method:Z.literal("notifications/message"),params:u8.extend({level:kQ,logger:Z.optional(Z.string()),data:Z.unknown()})}),uH=Z.object({name:Z.string().optional()}).passthrough(),yH=Z.object({hints:Z.optional(Z.array(uH)),costPriority:Z.optional(Z.number().min(0).max(1)),speedPriority:Z.optional(Z.number().min(0).max(1)),intelligencePriority:Z.optional(Z.number().min(0).max(1))}).passthrough(),fH=Z.object({role:Z.enum(["user","assistant"]),content:Z.union([z9,G9,q9])}).passthrough(),gH=N0.extend({method:Z.literal("sampling/createMessage"),params:c0.extend({messages:Z.array(fH),systemPrompt:Z.optional(Z.string()),includeContext:Z.optional(Z.enum(["none","thisServer","allServers"])),temperature:Z.optional(Z.number()),maxTokens:Z.number().int(),stopSequences:Z.optional(Z.array(Z.string())),metadata:Z.optional(Z.object({}).passthrough()),modelPreferences:Z.optional(yH)})}),$H=p0.extend({model:Z.string(),stopReason:Z.optional(Z.enum(["endTurn","stopSequence","maxTokens"]).or(Z.string())),role:Z.enum(["user","assistant"]),content:Z.discriminatedUnion("type",[z9,G9,q9])}),hH=Z.object({type:Z.literal("boolean"),title:Z.optional(Z.string()),description:Z.optional(Z.string()),default:Z.optional(Z.boolean())}).passthrough(),mH=Z.object({type:Z.literal("string"),title:Z.optional(Z.string()),description:Z.optional(Z.string()),minLength:Z.optional(Z.number()),maxLength:Z.optional(Z.number()),format:Z.optional(Z.enum(["email","uri","date","date-time"]))}).passthrough(),lH=Z.object({type:Z.enum(["number","integer"]),title:Z.optional(Z.string()),description:Z.optional(Z.string()),minimum:Z.optional(Z.number()),maximum:Z.optional(Z.number())}).passthrough(),dH=Z.object({type:Z.literal("string"),title:Z.optional(Z.string()),description:Z.optional(Z.string()),enum:Z.array(Z.string()),enumNames:Z.optional(Z.array(Z.string()))}).passthrough(),cH=Z.union([hH,mH,lH,dH]),pH=N0.extend({method:Z.literal("elicitation/create"),params:c0.extend({message:Z.string(),requestedSchema:Z.object({type:Z.literal("object"),properties:Z.record(Z.string(),cH),required:Z.optional(Z.array(Z.string()))}).passthrough()})}),nH=p0.extend({action:Z.enum(["accept","decline","cancel"]),content:Z.optional(Z.record(Z.string(),Z.unknown()))}),iH=Z.object({type:Z.literal("ref/resource"),uri:Z.string()}).passthrough(),aH=Z.object({type:Z.literal("ref/prompt"),name:Z.string()}).passthrough(),rH=N0.extend({method:Z.literal("completion/complete"),params:c0.extend({ref:Z.union([aH,iH]),argument:Z.object({name:Z.string(),value:Z.string()}).passthrough(),context:Z.optional(Z.object({arguments:Z.optional(Z.record(Z.string(),Z.string()))}))})}),oH=p0.extend({completion:Z.object({values:Z.array(Z.string()).max(100),total:Z.optional(Z.number().int()),hasMore:Z.optional(Z.boolean())}).passthrough()}),sH=Z.object({uri:Z.string().startsWith("file://"),name:Z.optional(Z.string()),_meta:Z.optional(Z.object({}).passthrough())}).passthrough(),tH=N0.extend({method:Z.literal("roots/list")}),eH=p0.extend({roots:Z.array(sH)}),DU=UF.extend({method:Z.literal("notifications/roots/list_changed")}),VM=Z.union([_Q,FH,rH,vH,NH,LH,CH,zH,qH,UH,EH,bH,PH]),LM=Z.union([jQ,OQ,XH,DU]),MM=Z.union([NQ,$H,nH,eH]),NM=Z.union([_Q,gH,pH,tH]),jM=Z.union([jQ,OQ,xH,ZH,HH,kH,IH]),RM=Z.union([NQ,QH,oH,OH,MH,WH,GH,KH,bQ,SH]);var _M=aG(Pq(),1);var OM=Symbol("Let zodToJsonSchema decide on which parser to use");var IM=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");var Q9;(function(D){D.Completable="McpCompletable"})(Q9||(Q9={}));class X9 extends ED{_parse(D){let{ctx:F}=this._processInputParams(D),Q=F.data;return this._def.type._parse({data:Q,path:F.path,parent:F})}unwrap(){return this._def.type}}X9.create=(D,F)=>{return new X9({type:D,typeName:Q9.Completable,complete:F.complete,...FU(F)})};function FU(D){if(!D)return{};let{errorMap:F,invalid_type_error:Q,required_error:B,description:Y}=D;if(F&&(Q||B))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(F)return{errorMap:F,description:Y};return{errorMap:(X,C)=>{var W,z;let{message:G}=D;if(X.code==="invalid_enum_value")return{message:G!==null&&G!==void 0?G:C.defaultError};if(typeof C.data==="undefined")return{message:(W=G!==null&&G!==void 0?G:B)!==null&&W!==void 0?W:C.defaultError};if(X.code!=="invalid_type")return{message:C.defaultError};return{message:(z=G!==null&&G!==void 0?G:Q)!==null&&z!==void 0?z:C.defaultError}},description:Y}}function f8({prompt:D,options:F}){let{systemPrompt:Q,settingSources:B,...Y}=F??{},J,X;if(Q===void 0)J="";else if(typeof Q==="string")J=Q;else if(Q.type==="preset")X=Q.append;let C=Y.pathToClaudeCodeExecutable;if(!C){let W=Sq(import.meta.url),z=aB(W,"..");C=aB(z,"cli.js")}return process.env.CLAUDE_AGENT_SDK_VERSION="0.1.5",$q({prompt:D,options:{...Y,pathToClaudeCodeExecutable:C,customSystemPrompt:J,appendSystemPrompt:X,settingSources:B??[]}})}import pD from"fs";import j0 from"path";import{execSync as vQ}from"child_process";async function uQ(D){try{if(D.update){await xQ(D);return}let F=j0.join(process.cwd(),"package.json"),Q="unknown",B="unknown";if(pD.existsSync(F))try{let O=JSON.parse(pD.readFileSync(F,"utf-8"));Q=O.version||"unknown",B=O.name||j0.basename(process.cwd())}catch(O){B=j0.basename(process.cwd())}let Y=[],J=D.historical||1;if(D.generate)Y.push(D.generate),J=1,console.log(`\uD83C\uDFAF Generating changelog for specific version: ${D.generate}`);else if(Q!=="unknown"){let O=Q.split(".");if(O.length===3){let y=parseInt(O[0]),x=parseInt(O[1]),w=parseInt(O[2]);for(let S=0;S<J;S++)if(Y.push(`${y}.${x}.${w}`),w===0){if(x===0)break;x--,w=9}else w--}}if(Y.length===0)console.log("⚠️ Could not determine versions to search. Please check package.json"),process.exit(1);let X=j0.join(process.env.HOME||process.env.USERPROFILE||"",".claude-mem","projects"),C=j0.join(X,`${B}-changelog.jsonl`),W=!1;if(pD.existsSync(C)){let O=pD.readFileSync(C,"utf-8").split(`
|
||
`).filter((y)=>y.trim());for(let y of O)try{if(JSON.parse(y).version===Q)W=!0}catch(x){}if(!D.historical&&!D.generate&&J===1){if(W)console.log(`❌ Version ${Q} already has changelog entries.`),console.log(`
|
||
\uD83D\uDCDD Workflow:`),console.log(" 1. Make your code updates"),console.log(" 2. Build and test: bun run build"),console.log(" 3. Bump version: npm version patch"),console.log(" 4. Generate changelog: claude-mem changelog"),console.log(` 5. Commit and push
|
||
`),console.log("\uD83D\uDCA1 Or use --historical 1 to regenerate this version's changelog"),process.exit(1)}}let z=[];if(D.start&&D.end){let O=D.generate||Q;z.push({version:O,startTime:D.start,endTime:D.end}),console.log(`\uD83D\uDCC5 Using custom time range for ${O}:`),console.log(` Start: ${new Date(D.start).toLocaleString()}`),console.log(` End: ${new Date(D.end).toLocaleString()}`)}else try{let O=vQ(`npm view ${B} time --json`,{encoding:"utf-8",timeout:5000}),y=JSON.parse(O),x="";if(J>1){let S=Y[Y.length-1].split("."),g=parseInt(S[0]),d=parseInt(S[1]),n=parseInt(S[2]);if(n>0)x=`${g}.${d}.${n-1}`;else if(d>0){let a=`${g}.${d-1}.`,DD=Object.keys(y).filter((o)=>o.startsWith(a)).sort((o,JD)=>{let CD=parseInt(o.split(".")[2]||"0");return parseInt(JD.split(".")[2]||"0")-CD});if(DD.length>0)x=DD[0]}else if(g>0){let a=`${g-1}.`,DD=Object.keys(y).filter((o)=>o.startsWith(a)).sort((o,JD)=>{let[,CD,FD]=o.split(".").map(Number),[,MD,dD]=JD.split(".").map(Number);if(CD!==MD)return MD-CD;return dD-FD});if(DD.length>0)x=DD[0]}if(D.verbose&&x&&y[x])console.log(`\uD83D\uDCCD Using ${x} as start boundary for time ranges`)}for(let w=0;w<Y.length;w++){let S=Y[w],g="2000-01-01T00:00:00Z";if(w===0){let n=S.split("."),a=parseInt(n[0]),DD=parseInt(n[1]),o=parseInt(n[2]),JD="";if(o>0)JD=`${a}.${DD}.${o-1}`;else if(DD>0){let CD=`${a}.${DD-1}.`,FD=Object.keys(y).filter((MD)=>MD.startsWith(CD)).sort((MD,dD)=>{let nD=parseInt(MD.split(".")[2]||"0");return parseInt(dD.split(".")[2]||"0")-nD});if(FD.length>0)JD=FD[0]}if(y[JD])g=y[JD]}else if(w<Y.length-1){let n=Y[w+1];if(y[n])g=y[n]}else if(x&&y[x])g=y[x];let d=y[S]||new Date().toISOString();if(z.push({version:S,startTime:g,endTime:d}),D.verbose)console.log(`\uD83D\uDCC5 Version ${S}: ${new Date(g).toLocaleString()} - ${new Date(d).toLocaleString()}`)}if(J===1){let w=z[0];if(w)console.log(`\uD83D\uDCE6 Using npm time range for ${w.version}: ${new Date(w.startTime).toLocaleString()} - ${new Date(w.endTime).toLocaleString()}`)}}catch(O){console.log("❌ Could not fetch npm publish times. Cannot proceed without time ranges."),process.exit(1)}console.log(`\uD83D\uDD0D Searching memories for versions: ${Y.join(", ")}`),console.log(`\uD83D\uDCE6 Project: ${B}
|
||
`);let G=z.length>0?`You are helping generate a changelog by searching for memories within specific time ranges for multiple versions.
|
||
|
||
PROJECT: ${B}
|
||
VERSION TIME RANGES:
|
||
${z.map((O)=>`- Version ${O.version}: ${new Date(O.startTime).toLocaleDateString()} to ${new Date(O.endTime).toLocaleDateString()}`).join(`
|
||
`)}
|
||
|
||
YOUR TASK:
|
||
Use mcp__claude-mem__chroma_query_documents to search for memories for each version time range.
|
||
|
||
SEARCH STRATEGY:
|
||
${z.map((O)=>{let y=new Date(O.startTime),x=new Date(O.endTime),w=[],S=new Date(y);while(S<=x){let g=S.toISOString().split("T")[0];w.push(g),S.setDate(S.getDate()+1)}return`
|
||
Version ${O.version} (${new Date(O.startTime).toLocaleDateString()} to ${new Date(O.endTime).toLocaleDateString()}):
|
||
1. Search for memories from these dates: ${w.join(", ")}
|
||
2. Make multiple calls to mcp__claude-mem__chroma_query_documents:
|
||
- collection_name: "claude_memories"
|
||
- query_texts: Include the project name AND date in each query:
|
||
* "${B} ${w[0]} feature"
|
||
* "${B} ${w[0]} fix"
|
||
* "${B} ${w[0]} change"
|
||
* "${B} ${w[0]} improvement"
|
||
* "${B} ${w[0]} refactor"
|
||
- n_results: 50
|
||
3. The date in the query text helps semantic search find memories from that day
|
||
4. Assign memories to this version if their timestamp falls within:
|
||
- Start: ${O.startTime}
|
||
- End: ${O.endTime}`}).join(`
|
||
`)}
|
||
|
||
IMPORTANT:
|
||
- Always include project name and date in query_texts for best results
|
||
- Semantic search will naturally find memories near those dates
|
||
- Group returned memories by version based on their timestamp metadata
|
||
|
||
Return a JSON object with this structure:
|
||
{
|
||
"memories": [
|
||
{
|
||
"version": "version_number",
|
||
"text": "memory content",
|
||
"metadata": {metadata object with timestamp},
|
||
"relevance": "high/medium/low"
|
||
}
|
||
]
|
||
}
|
||
|
||
Group memories by the version they belong to based on timestamp.
|
||
Start searching now.`:"ERROR: No time ranges available. This should never happen.";if(z.length===0)console.log("❌ No time ranges available. Cannot search memories."),process.exit(1);if(D.verbose)console.log("\uD83D\uDCDD Calling Claude to search memories...");let q=await f8({prompt:G,options:{allowedTools:["mcp__claude-mem__chroma_query_documents","mcp__claude-mem__chroma_get_documents"],pathToClaudeCodeExecutable:z8()}}),E="";if(q&&typeof q==="object"&&Symbol.asyncIterator in q){for await(let O of q)if(O?.type==="assistant"&&O?.message?.content){let y=O.message.content;if(typeof y==="string")E+=y;else if(Array.isArray(y)){for(let x of y)if(x.type==="text"&&x.text)E+=x.text}}}let U=[];try{let O=E.match(/```json\n([\s\S]*?)\n```/)||E.match(/\{[\s\S]*\}/);if(O){let y=JSON.parse(O[1]||O[0]);if(y.memories&&Array.isArray(y.memories))U=y.memories}}catch(O){console.error("⚠️ Could not parse memory search results:",O)}if(U.length===0){console.log(`
|
||
⚠️ No version-related memories found for this version.`),console.log(" This is normal for the first release or when no changes were tracked."),console.log(" Creating a placeholder changelog entry...");let O={version:Y[0],date:K,type:"Changed",description:"Initial release or minor updates",timestamp:new Date().toISOString(),generatedAt:new Date().toISOString()};if(!pD.existsSync(X))pD.mkdirSync(X,{recursive:!0});let y=JSON.stringify(O)+`
|
||
`;pD.appendFileSync(C,y),console.log(`✅ Created placeholder changelog entry for v${Y[0]}`),await xQ(D);return}console.log(`✅ Found ${U.length} version-related memories
|
||
`);let K=vQ('date "+%Y-%m-%d %H:%M:%S %Z"').toString().trim().split(" ")[0],V=`Analyze these memories and generate changelog entries.
|
||
|
||
PROJECT: ${B}
|
||
DATE: ${K}
|
||
|
||
MEMORIES BY VERSION:
|
||
${Y.map((O)=>{let y=U.filter((x)=>x.version===O);if(y.length===0)return`### Version ${O}
|
||
No memories found.`;return`### Version ${O} (${y.length} memories):
|
||
${y.map((x,w)=>`${w+1}. ${x.text}`).join(`
|
||
`)}`}).join(`
|
||
|
||
`)}
|
||
|
||
INSTRUCTIONS:
|
||
1. Extract concrete changes, fixes, and additions from the memories
|
||
2. Categorize each change as: Added, Changed, Fixed, Removed, Deprecated, or Security
|
||
3. Write clear, user-facing descriptions
|
||
4. Start each entry with an action verb
|
||
5. Focus on what matters to users, not internal implementation details
|
||
|
||
Return ONLY a JSON array with this structure:
|
||
[
|
||
{
|
||
"version": "3.6.1",
|
||
"type": "Added",
|
||
"description": "New feature description"
|
||
},
|
||
{
|
||
"version": "3.6.1",
|
||
"type": "Fixed",
|
||
"description": "Bug fix description"
|
||
}
|
||
]`;console.log("\uD83D\uDD04 Generating changelog entries...");let j=await f8({prompt:V,options:{allowedTools:[],pathToClaudeCodeExecutable:z8()}}),L="";if(j&&typeof j==="object"&&Symbol.asyncIterator in j){for await(let O of j)if(O?.type==="assistant"&&O?.message?.content){let y=O.message.content;if(typeof y==="string")L+=y;else if(Array.isArray(y)){for(let x of y)if(x.type==="text"&&x.text)L+=x.text}}}let R=[];try{let O=L.match(/```json\n([\s\S]*?)\n```/)||L.match(/\[[\s\S]*\]/);if(O){let y=JSON.parse(O[1]||O[0]);if(Array.isArray(y)){let x=new Date().toISOString();R=y.map((w)=>({...w,date:K,timestamp:w.timestamp||x,generatedAt:x}))}}}catch(O){console.error("⚠️ Could not parse changelog entries:",O)}if(R.length===0)console.log("⚠️ No changelog entries generated."),process.exit(1);if(!pD.existsSync(X))pD.mkdirSync(X,{recursive:!0});if(console.log(`
|
||
\uD83D\uDCBE Saving ${R.length} changelog entries to ${j0.basename(C)}`),D.historical&&J>1||D.generate){let O=[];if(pD.existsSync(C)){let w=pD.readFileSync(C,"utf-8").split(`
|
||
`).filter((S)=>S.trim());for(let S of w)try{let g=JSON.parse(S);if(!Y.includes(g.version))O.push(g)}catch(g){}}let x=[...O,...R].map((w)=>JSON.stringify(w)).join(`
|
||
`)+`
|
||
`;pD.writeFileSync(C,x),console.log(`\uD83D\uDD04 Regenerated entries for versions: ${Y.join(", ")}`)}else{let O=R.map((y)=>JSON.stringify(y)).join(`
|
||
`)+`
|
||
`;pD.appendFileSync(C,O)}console.log(`
|
||
\uD83D\uDCDD Generating CHANGELOG.md from entries...`);let b=[];if(pD.existsSync(C)){let O=pD.readFileSync(C,"utf-8").split(`
|
||
`).filter((y)=>y.trim());for(let y of O)try{b.push(JSON.parse(y))}catch(x){}}let k=new Map;for(let O of b){if(!k.has(O.version))k.set(O.version,[]);k.get(O.version).push(O)}let I=`# Changelog
|
||
|
||
All notable changes to this project will be documented in this file.
|
||
|
||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
||
|
||
`,u=Array.from(k.keys()).sort((O,y)=>{let x=O.split(".").map(Number),w=y.split(".").map(Number);for(let S=0;S<3;S++)if(x[S]!==w[S])return w[S]-x[S];return 0});for(let O of u){let y=k.get(O),x=y[0].date||K;I+=`
|
||
## [${O}] - ${x}
|
||
|
||
`;let w=["Added","Changed","Fixed","Removed","Deprecated","Security"];for(let S of w){let g=y.filter((d)=>d.type===S);if(g.length>0){I+=`### ${S}
|
||
`;for(let d of g)I+=`- ${d.description}
|
||
`;I+=`
|
||
`}}}let f=j0.join(process.cwd(),"CHANGELOG.md");if(pD.writeFileSync(f,I),console.log(`✅ Generated CHANGELOG.md with ${b.length} total entries across ${k.size} versions!`),D.preview){if(console.log(`
|
||
\uD83D\uDCC4 Preview:
|
||
`),console.log(I.split(`
|
||
`).slice(0,30).join(`
|
||
`)),I.split(`
|
||
`).length>30)console.log(`
|
||
... (truncated for preview)`)}}catch(F){if(console.error("❌ Error generating changelog:",F instanceof Error?F.message:F),F instanceof Error&&F.stack)console.error("Stack:",F.stack);process.exit(1)}}async function xQ(D){try{let F=j0.join(process.cwd(),"package.json"),Q="unknown";if(pD.existsSync(F))try{Q=JSON.parse(pD.readFileSync(F,"utf-8")).name||j0.basename(process.cwd())}catch(q){Q=j0.basename(process.cwd())}let B=j0.join(process.env.HOME||process.env.USERPROFILE||"",".claude-mem","projects"),Y=j0.join(B,`${Q}-changelog.jsonl`);if(!pD.existsSync(Y))console.log("❌ No changelog entries found. Generate some first with: claude-mem changelog"),process.exit(1);console.log("\uD83D\uDCDD Updating CHANGELOG.md from JSONL entries...");let J=[],X=pD.readFileSync(Y,"utf-8").split(`
|
||
`).filter((q)=>q.trim());for(let q of X)try{J.push(JSON.parse(q))}catch(E){}if(J.length===0)console.log("❌ No valid entries found in JSONL file"),process.exit(1);let C=new Map;for(let q of J){if(!C.has(q.version))C.set(q.version,[]);C.get(q.version).push(q)}let W=`# Changelog
|
||
|
||
All notable changes to this project will be documented in this file.
|
||
|
||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
||
|
||
`,z=Array.from(C.keys()).sort((q,E)=>{let U=q.split(".").map(Number),A=E.split(".").map(Number);for(let K=0;K<3;K++)if(U[K]!==A[K])return A[K]-U[K];return 0});for(let q of z){let E=C.get(q),U=E[0].date;W+=`
|
||
## [${q}] - ${U}
|
||
|
||
`;let A=["Added","Changed","Fixed","Removed","Deprecated","Security"];for(let K of A){let V=E.filter((j)=>j.type===K);if(V.length>0){W+=`### ${K}
|
||
`;for(let j of V)W+=`- ${j.description}
|
||
`;W+=`
|
||
`}}}let G=j0.join(process.cwd(),"CHANGELOG.md");if(pD.writeFileSync(G,W),console.log(`✅ Updated CHANGELOG.md with ${J.length} entries across ${C.size} versions!`),D.preview){if(console.log(`
|
||
\uD83D\uDCC4 Preview:
|
||
`),console.log(W.split(`
|
||
`).slice(0,30).join(`
|
||
`)),W.split(`
|
||
`).length>30)console.log(`
|
||
... (truncated for preview)`)}}catch(F){console.error("❌ Error updating changelog:",F instanceof Error?F.message:F),process.exit(1)}}E0();import l2 from"fs";import BU from"path";function QU(D){let F=D.status==="pass"?"✅":D.status==="warn"?"⚠️ ":"❌",Q=D.details?`${D.name}: ${D.details}`:D.name;console.log(`${F} ${Q}`)}async function yQ(D={}){let F=YD.getInstance(),Q=[];try{let Y=F.getDataDirectory();if(!l2.existsSync(Y))l2.mkdirSync(Y,{recursive:!0}),Q.push({name:`Data directory created at ${Y}`,status:"warn"});else{let J=l2.statSync(Y),X=!1;try{l2.accessSync(Y,l2.constants.W_OK),X=!0}catch{}Q.push({name:`Data directory ${Y}`,status:J.isDirectory()&&X?"pass":"fail",details:J.isDirectory()&&X?"accessible":"not writable"})}}catch(Y){Q.push({name:"Data directory",status:"fail",details:Y?.message||String(Y)})}let B;try{B=await s0();let Y=B.sessions.count();Q.push({name:"SQLite database",status:"pass",details:`${Y} session${Y===1?"":"s"} present`})}catch(Y){Q.push({name:"SQLite database",status:"fail",details:Y?.message||String(Y)})}try{let Y=F.getChromaDirectory(),J=l2.existsSync(Y);Q.push({name:"Chroma vector store",status:J?"pass":"warn",details:J?`data dir ${BU.resolve(Y)}`:"Not yet initialized"})}catch(Y){Q.push({name:"Chroma vector store",status:"warn",details:Y?.message||"Unable to check Chroma directory"})}if(D.json)console.log(JSON.stringify({checks:Q},null,2));else console.log("claude-mem doctor"),console.log("================="),Q.forEach(QU);_6("info","doctor run completed",{status:Q.map((Y)=>Y.status)})}import{spawnSync as fQ}from"child_process";async function gQ(D){let{id:F,project:Q,session:B,date:Y,title:J,subtitle:X,facts:C,concepts:W,files:z}=D;if(!F||!Q||!B||!Y)console.error("Error: All fields required: --id, --project, --session, --date"),process.exit(1);if(!J||!X||!C)console.error("Error: Hierarchical format required: --title, --subtitle, --facts"),process.exit(1);try{let G=await s0(),q=new Date().toISOString();if(!await G.sessions.has(B))await G.sessions.create({session_id:B,project:Q,created_at:q,source:"save"});let U,A,K;try{U=C?JSON.stringify(JSON.parse(C)):void 0}catch(j){U=C}try{A=W?JSON.stringify(JSON.parse(W)):void 0}catch(j){A=W}try{K=z?JSON.stringify(JSON.parse(z)):void 0}catch(j){K=z}if(!G.memories.hasDocumentId(F))G.memories.create({document_id:F,text:"",keywords:"",session_id:B,project:Q,created_at:q,origin:"streaming-sdk",title:J||void 0,subtitle:X||void 0,facts:U,concepts:A,files_touched:K});if(U){let j=JSON.parse(U),L=A?JSON.parse(A):[],R=K?JSON.parse(K):[];j.forEach((b,k)=>{fQ("claude-mem",["chroma_add_documents","--collection_name","claude_memories","--documents",JSON.stringify([b]),"--ids",JSON.stringify([`${F}_fact_${String(k).padStart(3,"0")}`]),"--metadatas",JSON.stringify([{type:"fact",parent_id:F,fact_index:k,title:J,subtitle:X,project:Q,session_id:B,created_at:q,created_at_epoch:Date.parse(q),keywords:"",concepts:JSON.stringify(L),files_touched:JSON.stringify(R),origin:"streaming-sdk"}])])}),fQ("claude-mem",["chroma_add_documents","--collection_name","claude_memories","--documents",JSON.stringify([`${J}
|
||
${X}
|
||
|
||
${j.join(`
|
||
`)}`]),"--ids",JSON.stringify([F]),"--metadatas",JSON.stringify([{type:"narrative",title:J,subtitle:X,facts_count:j.length,project:Q,session_id:B,created_at:q,created_at_epoch:Date.parse(q),keywords:"",concepts:JSON.stringify(L),files_touched:JSON.stringify(R),origin:"streaming-sdk"}])])}console.log(JSON.stringify({success:!0,memory_id:F,project:Q,session:B,date:Y,timestamp:q,hierarchical:!!(J&&X&&C)}))}catch(G){console.error(JSON.stringify({success:!1,error:G.message||"Unknown error storing memory"})),process.exit(1)}}async function $Q(D){let{project:F,session:Q,content:B}=D;if(!F||!Q||!B)console.error("Error: All fields required: --project, --session, --content"),process.exit(1);try{let Y=await s0(),J=new Date().toISOString();Y.overviews.upsert({session_id:Q,content:B,created_at:J,project:F,origin:"streaming-sdk"}),console.log(JSON.stringify({success:!0,project:F,session:Q,timestamp:J}))}catch(Y){console.error(JSON.stringify({success:!1,error:Y.message||"Unknown error storing overview"})),process.exit(1)}}import hQ from"path";import K9 from"fs";var XU=hQ.join(process.env.HOME||"",".claude-mem","sessions");async function mQ(D){let{project:F,session:Q,title:B,subtitle:Y}=D;if(!F||!Q)console.error(JSON.stringify({success:!1,error:"Missing required fields: --project, --session"})),process.exit(1);if(!B)console.error(JSON.stringify({success:!1,error:"Missing required field: --title"})),process.exit(1);try{let J=hQ.join(XU,`${F}_streaming.json`);if(!K9.existsSync(J))console.error(JSON.stringify({success:!1,error:`Session file not found: ${J}`})),process.exit(1);let X={};try{X=JSON.parse(K9.readFileSync(J,"utf8"))}catch(C){console.error(JSON.stringify({success:!1,error:"Failed to parse session file"})),process.exit(1)}if(X.promptTitle=B,Y)X.promptSubtitle=Y;X.updatedAt=new Date().toISOString(),K9.writeFileSync(J,JSON.stringify(X,null,2)),console.log(JSON.stringify({success:!0,title:B,subtitle:Y||null,project:F,session:Q}))}catch(J){console.error(JSON.stringify({success:!1,error:J.message||"Unknown error updating session metadata"})),process.exit(1)}}import lQ from"path";import H9 from"fs";var YU=lQ.join(process.env.HOME||"",".claude-mem","sessions");async function dQ(D,F){if(!D||D.trim().length===0)console.error(JSON.stringify({success:!1,error:"Prompt is required"})),process.exit(1);let Q=`You are a title and subtitle generator for claude-mem session metadata.
|
||
|
||
Your job is to analyze a user's request and generate:
|
||
1. A concise title (3-8 words)
|
||
2. A one-sentence subtitle (max 20 words)
|
||
|
||
TITLE GUIDELINES:
|
||
- 3-8 words maximum
|
||
- Scannable and clear
|
||
- Captures the core action or topic
|
||
- Professional and informative
|
||
- Examples:
|
||
* "Dark Mode Implementation"
|
||
* "Authentication Bug Fix"
|
||
* "API Rate Limiting Setup"
|
||
* "React Component Refactoring"
|
||
|
||
SUBTITLE GUIDELINES:
|
||
- One sentence, max 20 words
|
||
- Descriptive and specific
|
||
- Focus on the outcome or benefit
|
||
- Use active voice when possible
|
||
- Examples:
|
||
* "Adding theme toggle and dark color scheme support to the application"
|
||
* "Resolving login timeout issue affecting user session persistence"
|
||
* "Implementing request throttling to prevent API quota exhaustion"
|
||
|
||
OUTPUT FORMAT:
|
||
You must output EXACTLY two lines:
|
||
Line 1: Title only (no prefix, no quotes)
|
||
Line 2: Subtitle only (no prefix, no quotes)
|
||
|
||
EXAMPLE:
|
||
|
||
User request: "Help me add dark mode to my app"
|
||
|
||
Output:
|
||
Dark Mode Implementation
|
||
Adding theme toggle and dark color scheme support to the application
|
||
|
||
USER REQUEST:
|
||
${D}
|
||
|
||
Now generate the title and subtitle (two lines exactly):`;try{let B=await f8({prompt:Q,options:{allowedTools:[],pathToClaudeCodeExecutable:z8()}}),Y="";if(B&&typeof B==="object"&&Symbol.asyncIterator in B){for await(let W of B)if(W?.type==="assistant"&&W?.message?.content){let z=W.message.content;if(typeof z==="string")Y+=z;else if(Array.isArray(z)){for(let G of z)if(G.type==="text"&&G.text)Y+=G.text}}}let J=Y.trim().split(`
|
||
`).filter((W)=>W.trim().length>0);if(J.length<2)console.error(JSON.stringify({success:!1,error:"Could not generate title and subtitle",response:Y})),process.exit(1);let X=J[0].trim(),C=J[1].trim();if(F.save){if(!F.project||!F.session)console.error(JSON.stringify({success:!1,error:"--project and --session are required when using --save"})),process.exit(1);try{let W=lQ.join(YU,`${F.project}_streaming.json`);if(!H9.existsSync(W))console.error(JSON.stringify({success:!1,error:`Session file not found: ${W}`})),process.exit(1);let z={};try{z=JSON.parse(H9.readFileSync(W,"utf8"))}catch(G){console.error(JSON.stringify({success:!1,error:"Failed to parse session file"})),process.exit(1)}z.promptTitle=X,z.promptSubtitle=C,z.updatedAt=new Date().toISOString(),H9.writeFileSync(W,JSON.stringify(z,null,2))}catch(W){console.error(JSON.stringify({success:!1,error:`Failed to save metadata: ${W.message}`})),process.exit(1)}}if(F.json)console.log(JSON.stringify({success:!0,title:X,subtitle:C},null,2));else if(F.oneline)console.log(`${X} - ${C}`);else console.log(X),console.log(C)}catch(B){console.error(JSON.stringify({success:!1,error:B.message||"Unknown error generating title"})),process.exit(1)}}import{spawn as JU}from"child_process";import{EventEmitter as CU}from"events";class cQ extends CU{command;args;process=null;requestId=0;pendingRequests=new Map;buffer="";initialized=!1;serverCapabilities={};constructor(D="uvx",F=["chroma-mcp","--client-type","persistent","--data-dir","/Users/alexnewman/.claude-mem/chroma"]){super();this.command=D;this.args=F}async connect(){if(this.process)throw new Error("Client already connected");this.process=JU(this.command,this.args,{stdio:["pipe","pipe","pipe"]}),this.process.stdout?.on("data",(D)=>{this.handleData(D)}),this.process.stderr?.on("data",(D)=>{let F=D.toString();if(F.includes("INFO")&&F.includes("telemetry"))return;if(F.includes("ERROR")||F.includes("Error:"))console.error("MCP Server Error:",F),this.emit("error",new Error(F))}),this.process.on("exit",(D)=>{if(D!==null&&D!==0&&D!==143)console.log(`MCP Server exited with code ${D}`);this.emit("exit",D),this.cleanup()}),await this.initialize()}handleData(D){this.buffer+=D.toString();let F=this.buffer.split(`
|
||
`);this.buffer=F.pop()||"";for(let Q of F)if(Q.trim())try{let B=JSON.parse(Q);this.handleMessage(B)}catch(B){console.error("Failed to parse message:",Q,B)}}handleMessage(D){if("id"in D){let F=this.pendingRequests.get(D.id);if(F)if(this.pendingRequests.delete(D.id),D.error)F.reject(new Error(D.error.message));else F.resolve(D.result)}else this.emit("notification",D)}async sendRequest(D,F){if(!this.process||!this.process.stdin)throw new Error("Not connected to MCP server");let Q=++this.requestId,B={jsonrpc:"2.0",id:Q,method:D,params:F};return new Promise((Y,J)=>{this.pendingRequests.set(Q,{resolve:Y,reject:J});let X=JSON.stringify(B)+`
|
||
`;this.process.stdin.write(X,(C)=>{if(C)this.pendingRequests.delete(Q),J(C)}),setTimeout(()=>{if(this.pendingRequests.has(Q))this.pendingRequests.delete(Q),J(new Error(`Request timeout for method: ${D}`))},30000)})}async initialize(){let D=await this.sendRequest("initialize",{protocolVersion:"2024-11-05",capabilities:{roots:{listChanged:!0},sampling:{}},clientInfo:{name:"chroma-mcp-typescript-client",version:"1.0.0"}});this.serverCapabilities=D.capabilities||{},this.initialized=!0,await this.sendNotification("notifications/initialized"),this.emit("initialized",D)}async sendNotification(D,F){if(!this.process||!this.process.stdin)throw new Error("Not connected to MCP server");let B=JSON.stringify({jsonrpc:"2.0",method:D,params:F})+`
|
||
`;this.process.stdin.write(B)}async listTools(){if(!this.initialized)throw new Error("Client not initialized");return(await this.sendRequest("tools/list")).tools||[]}async callTool(D,F){if(!this.initialized)throw new Error("Client not initialized");return await this.sendRequest("tools/call",{name:D,arguments:F||{}})}async listResources(){if(!this.initialized)throw new Error("Client not initialized");return(await this.sendRequest("resources/list")).resources||[]}async readResource(D){if(!this.initialized)throw new Error("Client not initialized");return await this.sendRequest("resources/read",{uri:D})}async listPrompts(){if(!this.initialized)throw new Error("Client not initialized");return(await this.sendRequest("prompts/list")).prompts||[]}async getPrompt(D,F){if(!this.initialized)throw new Error("Client not initialized");return await this.sendRequest("prompts/get",{name:D,arguments:F||{}})}async ping(){await this.sendRequest("ping")}getCapabilities(){return this.serverCapabilities}isInitialized(){return this.initialized}async disconnect(){if(this.process){for(let[D,F]of this.pendingRequests)F.reject(new Error("Client disconnected"));this.pendingRequests.clear(),this.process.kill("SIGTERM"),await new Promise((D)=>{let F=setTimeout(()=>{if(this.process&&!this.process.killed)this.process.kill("SIGKILL");D()},1000);this.process?.once("exit",()=>{clearTimeout(F),D()})}),this.cleanup()}}cleanup(){this.process=null,this.initialized=!1,this.buffer="",this.pendingRequests.clear()}}var pQ=cQ;import nQ from"fs";import s6 from"path";import{fileURLToPath as WU}from"url";var zU=WU(import.meta.url),iQ=s6.dirname(zU);async function aQ(D,F){let Q=new pQ;try{await Q.connect();let B=qU(D,F),Y=await Q.callTool(D,B),J=GU(Y);console.log(J),await Q.disconnect(),process.exit(0)}catch(B){console.error(JSON.stringify({success:!1,error:B.message||"Unknown error calling MCP tool",tool:D},null,2)),await Q.disconnect(),process.exit(1)}}function GU(D){if(D?.content&&Array.isArray(D.content)){let F=D.content.filter((Q)=>Q.type==="text").map((Q)=>Q.text).join(`
|
||
`);try{let Q=JSON.parse(F);return JSON.stringify(Q,null,2)}catch{return F}}if(typeof D==="object")return JSON.stringify(D,null,2);return String(D)}function qU(D,F){let Q={};for(let[B,Y]of Object.entries(F)){if(B.startsWith("_")||typeof Y==="function")continue;if(typeof Y==="string")try{Q[B]=JSON.parse(Y)}catch{Q[B]=Y}else Q[B]=Y}return Q}function rQ(){let D=[s6.join(iQ,"../../chroma-mcp-tools/CHROMA_MCP_TOOLS.json"),s6.join(process.cwd(),"chroma-mcp-tools/CHROMA_MCP_TOOLS.json"),s6.join(iQ,"../chroma-mcp-tools/CHROMA_MCP_TOOLS.json")];for(let F of D)if(nQ.existsSync(F)){let Q=nQ.readFileSync(F,"utf-8");return JSON.parse(Q)}throw new Error("Could not find CHROMA_MCP_TOOLS.json")}function oQ(D){let F=[];if(!D.properties)return F;let Q=D.required||[];for(let[B,Y]of Object.entries(D.properties)){let J=Y,X=Q.includes(B),C="string";if(J.type==="integer"||J.type==="number")C="number";else if(J.type==="array")C="array";else if(J.type==="object")C="json";else if(J.anyOf){let G=J.anyOf.find((q)=>q.type!=="null");if(G?.type==="integer"||G?.type==="number")C="number";else if(G?.type==="array")C="array";else if(G?.type==="object")C="json"}let W=X?`--${B} <${C}>`:`--${B} [${C}]`,z=J.title||B;if(J.default!==void 0)z+=` (default: ${JSON.stringify(J.default)})`;if(C==="array")z+=" (JSON array)";else if(C==="json")z+=" (JSON object)";F.push({flag:W,description:z,required:X,type:C})}return F}var K0=new c9;K0.name(G2).description(t9).version(s9);K0.command("install").description("Install Claude Code hooks for automatic compression").option("--user","Install for current user (default)").option("--project","Install for current project only").option("--local","Install to custom local directory").option("--path <path>","Custom installation path (with --local)").option("--timeout <ms>","Hook execution timeout in milliseconds","180000").option("--skip-mcp","Skip Chroma MCP server installation").option("--force","Force installation even if already installed").action(S4);K0.command("uninstall").description("Remove Claude Code hooks").option("--user","Remove from user settings (default)").option("--project","Remove from project settings").option("--all","Remove from both user and project settings").action(v4);K0.command("status").description("Check installation status of Claude Memory System").action(A5);K0.command("doctor").description("Run environment and pipeline diagnostics for rolling memory").option("--json","Output JSON instead of text").action(async(D)=>{try{await yQ(D)}catch(F){console.error(`doctor failed: ${F.message||F}`),process.exitCode=1}});K0.command("logs").description("View claude-mem operation logs").option("--debug","Show debug logs only").option("--error","Show error logs only").option("--tail [n]","Show last n lines","50").option("--follow","Follow log output").action(L5);K0.command("load-context").description("Load compressed memories for current session").option("--project <name>","Filter by project name").option("--count <n>","Number of memories to load","10").option("--raw","Output raw JSON instead of formatted text").option("--format <type>","Output format: json, session-start, or default").action(f5);var U9=K0.command("trash").description("Manage trash bin for safe file deletion").argument("[files...]","Files to move to trash").option("-r, --recursive","Remove directories recursively").option("-R","Remove directories recursively (same as -r)").option("-f, --force","Suppress errors for nonexistent files").action(async(D,F)=>{if(!D||D.length===0){U9.outputHelp();return}if(F.R)F.recursive=!0;await vB(D,{force:F.force,recursive:F.recursive})});U9.command("view").description("View contents of trash bin").action($B);U9.command("empty").description("Permanently delete all files in trash").option("-f, --force","Skip confirmation prompt").action(mB);K0.command("restore").description("Restore files from trash interactively").action(dB);K0.command("store-memory").description("Store a memory to all storage layers (used by SDK)").requiredOption("--id <id>","Memory ID").requiredOption("--project <project>","Project name").requiredOption("--session <session>","Session ID").requiredOption("--date <date>","Date (YYYY-MM-DD)").requiredOption("--title <title>","Memory title (3-8 words)").requiredOption("--subtitle <subtitle>","Memory subtitle (max 24 words)").requiredOption("--facts <json>","Atomic facts as JSON array").option("--concepts <json>","Concept tags as JSON array").option("--files <json>","Files touched as JSON array").action(gQ);K0.command("store-overview").description("Store a session overview (used by SDK)").requiredOption("--project <project>","Project name").requiredOption("--session <session>","Session ID").requiredOption("--content <content>","Overview content").action($Q);K0.command("update-session-metadata").description("Update session title and subtitle (used by SDK)").requiredOption("--project <project>","Project name").requiredOption("--session <session>","Session ID").requiredOption("--title <title>","Session title (3-6 words)").option("--subtitle <subtitle>","Session subtitle (max 20 words)").action(mQ);K0.command("changelog").description("Generate CHANGELOG.md from claude-mem memories").option("--historical <n>","Number of versions to search (default: current version only)").option("--generate <version>","Generate changelog for a specific version").option("--start <time>","Start time for memory search (ISO format)").option("--end <time>","End time for memory search (ISO format)").option("--update","Update CHANGELOG.md from JSONL entries").option("--preview","Preview the generated changelog").option("-v, --verbose","Show detailed output").action(uQ);K0.command("generate-title <prompt>").description("Generate a session title and subtitle from a prompt").option("--json","Output as JSON").option("--oneline","Output as single line (title - subtitle)").option("--save","Save title and subtitle to session metadata").option("--project <name>","Project name (required with --save)").option("--session <id>","Session ID (required with --save)").action(dQ);try{let D=rQ();for(let F of D){let Q=K0.command(F.name).description(F.description||`Execute ${F.name} MCP tool`),B=oQ(F.inputSchema);for(let Y of B)if(Y.required)Q.requiredOption(Y.flag,Y.description);else Q.option(Y.flag,Y.description);Q.action(async(Y)=>{await aQ(F.name,Y)})}}catch(D){console.warn("Warning: Could not load Chroma MCP tools:",D)}K0.parse();
|