diffray 0.1.3 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/README.md +659 -259
  2. package/dist/defaults/agents/api-design.md +31 -0
  3. package/dist/defaults/agents/bug-hunter.md +0 -1
  4. package/dist/defaults/agents/consistency-check.md +27 -0
  5. package/dist/defaults/agents/data-privacy.md +30 -0
  6. package/dist/defaults/agents/database.md +30 -0
  7. package/dist/defaults/agents/general.md +0 -1
  8. package/dist/defaults/agents/i18n.md +29 -0
  9. package/dist/defaults/agents/observability.md +30 -0
  10. package/dist/defaults/agents/performance-check.md +0 -1
  11. package/dist/defaults/agents/security-scan.md +0 -1
  12. package/dist/defaults/agents/validation.md +0 -1
  13. package/dist/defaults/prompts/INDEX.md +178 -0
  14. package/dist/defaults/prompts/README.md +173 -0
  15. package/dist/defaults/prompts/SUMMARY.md +276 -0
  16. package/dist/defaults/prompts/USAGE.md +277 -0
  17. package/dist/defaults/prompts/api-design.md +119 -0
  18. package/dist/defaults/prompts/data-privacy.md +144 -0
  19. package/dist/defaults/prompts/database.md +105 -0
  20. package/dist/defaults/prompts/i18n.md +89 -0
  21. package/dist/defaults/prompts/observability.md +142 -0
  22. package/dist/defaults/rules/code-consistency.md +74 -0
  23. package/dist/diffray.cjs +354 -0
  24. package/package.json +29 -13
  25. package/src/defaults/agents/bug-hunter.md +0 -1
  26. package/src/defaults/agents/consistency-check.md +27 -0
  27. package/src/defaults/agents/general.md +0 -1
  28. package/src/defaults/agents/performance-check.md +0 -1
  29. package/src/defaults/agents/security-scan.md +0 -1
  30. package/src/defaults/agents/validation.md +0 -1
  31. package/src/defaults/rules/code-consistency.md +74 -0
  32. package/dist/diffray.js +0 -338
package/dist/diffray.js DELETED
@@ -1,338 +0,0 @@
1
- #!/usr/bin/env node
2
- // @bun
3
- import{createRequire as FX}from"node:module";var tq=Object.create;var{getPrototypeOf:eq,defineProperty:p1,getOwnPropertyNames:DX}=Object;var $X=Object.prototype.hasOwnProperty;var I7=(D,$,F)=>{F=D!=null?tq(eq(D)):{};let B=$||!D||!D.__esModule?p1(F,"default",{value:D,enumerable:!0}):F;for(let q of DX(D))if(!$X.call(B,q))p1(B,q,{get:()=>D[q],enumerable:!0});return B};var Z=(D,$)=>()=>($||D(($={exports:{}}).exports,$),$.exports);var F8=(D,$)=>{for(var F in $)p1(D,F,{get:$[F],enumerable:!0,configurable:!0,set:(B)=>$[F]=()=>B})};var FD=(D,$)=>()=>(D&&($=D(D=0)),$);var i2=FX(import.meta.url);var H4={};F8(H4,{prompt:()=>Y4,kCancel:()=>J4});import PD,{stdin as KX,stdout as EX}from"node:process";import m7 from"node:readline";import{WriteStream as OX}from"node:tty";function jX(D){return D&&D.__esModule&&Object.prototype.hasOwnProperty.call(D,"default")?D.default:D}function RX(){if(g7)return e1;g7=1;let D="\x1B",$=`${D}[`,F="\x07",B={to(X,J){if(!J)return`${$}${X+1}G`;return`${$}${J+1};${X+1}H`},move(X,J){let Y="";if(X<0)Y+=`${$}${-X}D`;else if(X>0)Y+=`${$}${X}C`;if(J<0)Y+=`${$}${-J}A`;else if(J>0)Y+=`${$}${J}B`;return Y},up:(X=1)=>`${$}${X}A`,down:(X=1)=>`${$}${X}B`,forward:(X=1)=>`${$}${X}C`,backward:(X=1)=>`${$}${X}D`,nextLine:(X=1)=>`${$}E`.repeat(X),prevLine:(X=1)=>`${$}F`.repeat(X),left:`${$}G`,hide:`${$}?25l`,show:`${$}?25h`,save:`${D}7`,restore:`${D}8`},q={up:(X=1)=>`${$}S`.repeat(X),down:(X=1)=>`${$}T`.repeat(X)},Q={screen:`${$}2J`,up:(X=1)=>`${$}1J`.repeat(X),down:(X=1)=>`${$}J`.repeat(X),line:`${$}2K`,lineEnd:`${$}K`,lineStart:`${$}1K`,lines(X){let J="";for(let Y=0;Y<X;Y++)J+=this.line+(Y<X-1?B.up():"");if(X)J+=B.left;return J}};return e1={cursor:B,scroll:q,erase:Q,beep:F},e1}function NX(){if(x7)return X8.exports;x7=1;let D=process||{},$=D.argv||[],F=D.env||{},B=!(!!F.NO_COLOR||$.includes("--no-color"))&&(!!F.FORCE_COLOR||$.includes("--color")||D.platform==="win32"||(D.stdout||{}).isTTY&&F.TERM!=="dumb"||!!F.CI),q=(J,Y,H=J)=>(_)=>{let G=""+_,C=G.indexOf(Y,J.length);return~C?J+Q(G,Y,H,C)+Y:J+G+Y},Q=(J,Y,H,_)=>{let G="",C=0;do G+=J.substring(C,_)+H,C=_+Y.length,_=J.indexOf(Y,C);while(~_);return G+J.substring(C)},X=(J=B)=>{let Y=J?q:()=>String;return{isColorSupported:J,reset:Y("\x1B[0m","\x1B[0m"),bold:Y("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:Y("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:Y("\x1B[3m","\x1B[23m"),underline:Y("\x1B[4m","\x1B[24m"),inverse:Y("\x1B[7m","\x1B[27m"),hidden:Y("\x1B[8m","\x1B[28m"),strikethrough:Y("\x1B[9m","\x1B[29m"),black:Y("\x1B[30m","\x1B[39m"),red:Y("\x1B[31m","\x1B[39m"),green:Y("\x1B[32m","\x1B[39m"),yellow:Y("\x1B[33m","\x1B[39m"),blue:Y("\x1B[34m","\x1B[39m"),magenta:Y("\x1B[35m","\x1B[39m"),cyan:Y("\x1B[36m","\x1B[39m"),white:Y("\x1B[37m","\x1B[39m"),gray:Y("\x1B[90m","\x1B[39m"),bgBlack:Y("\x1B[40m","\x1B[49m"),bgRed:Y("\x1B[41m","\x1B[49m"),bgGreen:Y("\x1B[42m","\x1B[49m"),bgYellow:Y("\x1B[43m","\x1B[49m"),bgBlue:Y("\x1B[44m","\x1B[49m"),bgMagenta:Y("\x1B[45m","\x1B[49m"),bgCyan:Y("\x1B[46m","\x1B[49m"),bgWhite:Y("\x1B[47m","\x1B[49m"),blackBright:Y("\x1B[90m","\x1B[39m"),redBright:Y("\x1B[91m","\x1B[39m"),greenBright:Y("\x1B[92m","\x1B[39m"),yellowBright:Y("\x1B[93m","\x1B[39m"),blueBright:Y("\x1B[94m","\x1B[39m"),magentaBright:Y("\x1B[95m","\x1B[39m"),cyanBright:Y("\x1B[96m","\x1B[39m"),whiteBright:Y("\x1B[97m","\x1B[39m"),bgBlackBright:Y("\x1B[100m","\x1B[49m"),bgRedBright:Y("\x1B[101m","\x1B[49m"),bgGreenBright:Y("\x1B[102m","\x1B[49m"),bgYellowBright:Y("\x1B[103m","\x1B[49m"),bgBlueBright:Y("\x1B[104m","\x1B[49m"),bgMagentaBright:Y("\x1B[105m","\x1B[49m"),bgCyanBright:Y("\x1B[106m","\x1B[49m"),bgWhiteBright:Y("\x1B[107m","\x1B[49m")}};return X8.exports=X(),X8.exports.createColors=X,X8.exports}function ZX({onlyFirst:D=!1}={}){let $=["[\\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($,D?void 0:"g")}function t7(D){if(typeof D!="string")throw TypeError(`Expected a \`string\`, got \`${typeof D}\``);return D.replace(IX,"")}function e7(D){return D&&D.__esModule&&Object.prototype.hasOwnProperty.call(D,"default")?D.default:D}function n2(D,$={}){if(typeof D!="string"||D.length===0||($={ambiguousIsNarrow:!0,...$},D=t7(D),D.length===0))return 0;D=D.replace(PX()," ");let F=$.ambiguousIsNarrow?1:2,B=0;for(let q of D){let Q=q.codePointAt(0);if(Q<=31||Q>=127&&Q<=159||Q>=768&&Q<=879)continue;switch(SX.eastAsianWidth(q)){case"F":case"W":B+=2;break;case"A":B+=F;break;default:B+=1}}return B}function yX(){let D=new Map;for(let[$,F]of Object.entries(a)){for(let[B,q]of Object.entries(F))a[B]={open:`\x1B[${q[0]}m`,close:`\x1B[${q[1]}m`},F[B]=a[B],D.set(q[0],q[1]);Object.defineProperty(a,$,{value:F,enumerable:!1})}return Object.defineProperty(a,"codes",{value:D,enumerable:!1}),a.color.close="\x1B[39m",a.bgColor.close="\x1B[49m",a.color.ansi=l7(),a.color.ansi256=d7(),a.color.ansi16m=p7(),a.bgColor.ansi=l7(D6),a.bgColor.ansi256=d7(D6),a.bgColor.ansi16m=p7(D6),Object.defineProperties(a,{rgbToAnsi256:{value:($,F,B)=>$===F&&F===B?$<8?16:$>248?231:Math.round(($-8)/247*24)+232:16+36*Math.round($/255*5)+6*Math.round(F/255*5)+Math.round(B/255*5),enumerable:!1},hexToRgb:{value:($)=>{let F=/[a-f\d]{6}|[a-f\d]{3}/i.exec($.toString(16));if(!F)return[0,0,0];let[B]=F;B.length===3&&(B=[...B].map((Q)=>Q+Q).join(""));let q=Number.parseInt(B,16);return[q>>16&255,q>>8&255,q&255]},enumerable:!1},hexToAnsi256:{value:($)=>a.rgbToAnsi256(...a.hexToRgb($)),enumerable:!1},ansi256ToAnsi:{value:($)=>{if($<8)return 30+$;if($<16)return 90+($-8);let F,B,q;if($>=232)F=(($-232)*10+8)/255,B=F,q=F;else{$-=16;let J=$%36;F=Math.floor($/36)/5,B=Math.floor(J/6)/5,q=J%6/5}let Q=Math.max(F,B,q)*2;if(Q===0)return 30;let X=30+(Math.round(q)<<2|Math.round(B)<<1|Math.round(F));return Q===2&&(X+=60),X},enumerable:!1},rgbToAnsi:{value:($,F,B)=>a.ansi256ToAnsi(a.rgbToAnsi256($,F,B)),enumerable:!1},hexToAnsi:{value:($)=>a.ansi256ToAnsi(a.hexToAnsi256($)),enumerable:!1}}),a}function n7(D,$,F){return String(D).normalize().replace(/\r\n/g,`
4
- `).split(`
5
- `).map((B)=>lX(B,$,F)).join(`
6
- `)}function B4(D,$){if(typeof D=="string")return J8.aliases.get(D)===$;for(let F of D)if(F!==void 0&&B4(F,$))return!0;return!1}function pX(D,$){if(D===$)return;let F=D.split(`
7
- `),B=$.split(`
8
- `),q=[];for(let Q=0;Q<Math.max(F.length,B.length);Q++)F[Q]!==B[Q]&&q.push(Q);return q}function Q8(D,$){let F=D;F.isTTY&&F.setRawMode($)}class r2{constructor(D,$=!0){wD(this,"input"),wD(this,"output"),wD(this,"_abortSignal"),wD(this,"rl"),wD(this,"opts"),wD(this,"_render"),wD(this,"_track",!1),wD(this,"_prevFrame",""),wD(this,"_subscribers",new Map),wD(this,"_cursor",0),wD(this,"state","initial"),wD(this,"error",""),wD(this,"value");let{input:F=KX,output:B=EX,render:q,signal:Q,...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=q.bind(this),this._track=$,this._abortSignal=Q,this.input=F,this.output=B}unsubscribe(){this._subscribers.clear()}setSubscriber(D,$){let F=this._subscribers.get(D)??[];F.push($),this._subscribers.set(D,F)}on(D,$){this.setSubscriber(D,{cb:$})}once(D,$){this.setSubscriber(D,{cb:$,once:!0})}emit(D,...$){let F=this._subscribers.get(D)??[],B=[];for(let q of F)q.cb(...$),q.once&&B.push(()=>F.splice(F.indexOf(q),1));for(let q of B)q()}prompt(){return new Promise((D,$)=>{if(this._abortSignal){if(this._abortSignal.aborted)return this.state="cancel",this.close(),D(r7);this._abortSignal.addEventListener("abort",()=>{this.state="cancel",this.close()},{once:!0})}let F=new OX(0);F._write=(B,q,Q)=>{this._track&&(this.value=this.rl?.line.replace(/\t/g,""),this._cursor=this.rl?.cursor??0,this.emit("value",this.value)),Q()},this.input.pipe(F),this.rl=m7.createInterface({input:this.input,output:F,tabSize:2,prompt:"",escapeCodeTimeout:50}),m7.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),Q8(this.input,!0),this.output.on("resize",this.render),this.render(),this.once("submit",()=>{this.output.write(vD.cursor.show),this.output.off("resize",this.render),Q8(this.input,!1),D(this.value)}),this.once("cancel",()=>{this.output.write(vD.cursor.show),this.output.off("resize",this.render),Q8(this.input,!1),D(r7)})})}onKeypress(D,$){if(this.state==="error"&&(this.state="active"),$?.name&&(!this._track&&J8.aliases.has($.name)&&this.emit("cursor",J8.aliases.get($.name)),J8.actions.has($.name)&&this.emit("cursor",$.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()),$?.name==="return"){if(this.opts.validate){let F=this.opts.validate(this.value);F&&(this.error=F instanceof Error?F.message:F,this.state="error",this.rl?.write(this.value))}this.state!=="error"&&(this.state="submit")}B4([D,$?.name,$?.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(`
9
- `),Q8(this.input,!1),this.rl?.close(),this.rl=void 0,this.emit(`${this.state}`,this.value),this.unsubscribe()}restoreCursor(){let D=n7(this._prevFrame,process.stdout.columns,{hard:!0}).split(`
10
- `).length-1;this.output.write(vD.cursor.move(-999,D*-1))}render(){let D=n7(this._render(this)??"",process.stdout.columns,{hard:!0});if(D!==this._prevFrame){if(this.state==="initial")this.output.write(vD.cursor.hide);else{let $=pX(this._prevFrame,D);if(this.restoreCursor(),$&&$?.length===1){let F=$[0];this.output.write(vD.cursor.move(0,F)),this.output.write(vD.erase.lines(1));let B=D.split(`
11
- `);this.output.write(B[F]),this._prevFrame=D,this.output.write(vD.cursor.move(0,B.length-F-1));return}if($&&$?.length>1){let F=$[0];this.output.write(vD.cursor.move(0,F)),this.output.write(vD.erase.down());let B=D.split(`
12
- `).slice(F);this.output.write(B.join(`
13
- `)),this._prevFrame=D;return}this.output.write(vD.erase.down())}this.output.write(D),this.state==="initial"&&(this.state="active"),this._prevFrame=D}}}function tX(){return PD.platform!=="win32"?PD.env.TERM!=="linux":!!PD.env.CI||!!PD.env.WT_SESSION||!!PD.env.TERMINUS_SUBLIME||PD.env.ConEmuTask==="{cmd::Cmder}"||PD.env.TERM_PROGRAM==="Terminus-Sublime"||PD.env.TERM_PROGRAM==="vscode"||PD.env.TERM==="xterm-256color"||PD.env.TERM==="alacritty"||PD.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}async function Y4(D,$={}){let F=(B)=>{if(typeof B!=="symbol"||B.toString()!=="Symbol(clack:cancel)")return B;switch($.cancel){case"reject":{let q=Error("Prompt cancelled.");if(q.name="ConsolaPromptCancelledError",Error.captureStackTrace)Error.captureStackTrace(q,Y4);throw q}case"undefined":return;case"null":return null;case"symbol":return J4;default:case"default":return $.default??$.initial}};if(!$.type||$.type==="text")return await QQ({message:D,defaultValue:$.default,placeholder:$.placeholder,initialValue:$.initial}).then(F);if($.type==="confirm")return await JQ({message:D,initialValue:$.initial}).then(F);if($.type==="select")return await YQ({message:D,options:$.options.map((B)=>typeof B==="string"?{value:B,label:B}:B),initialValue:$.initial}).then(F);if($.type==="multiselect")return await HQ({message:D,options:$.options.map((B)=>typeof B==="string"?{value:B,label:B}:B),required:$.required,initialValues:$.initial}).then(F);throw Error(`Unknown prompt type: ${$.type}`)}var e1,g7,vD,X8,x7,LX,O,IX,D4,bX,SX,TX=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},PX,D6=10,l7=(D=0)=>($)=>`\x1B[${$+D}m`,d7=(D=0)=>($)=>`\x1B[${38+D};5;${$}m`,p7=(D=0)=>($,F,B)=>`\x1B[${38+D};2;${$};${F};${B}m`,a,vX,fX,kX,Y8,hX=39,X6="\x07",$4="[",mX="]",F4="m",Q6,c7=(D)=>`${Y8.values().next().value}${$4}${D}${F4}`,i7=(D)=>`${Y8.values().next().value}${Q6}${D}${X6}`,gX=(D)=>D.split(" ").map(($)=>n2($)),$6=(D,$,F)=>{let B=[...$],q=!1,Q=!1,X=n2(t7(D[D.length-1]));for(let[J,Y]of B.entries()){let H=n2(Y);if(X+H<=F?D[D.length-1]+=Y:(D.push(Y),X=0),Y8.has(Y)&&(q=!0,Q=B.slice(J+1).join("").startsWith(Q6)),q){Q?Y===X6&&(q=!1,Q=!1):Y===F4&&(q=!1);continue}X+=H,X===F&&J<B.length-1&&(D.push(""),X=0)}!X&&D[D.length-1].length>0&&D.length>1&&(D[D.length-2]+=D.pop())},xX=(D)=>{let $=D.split(" "),F=$.length;for(;F>0&&!(n2($[F-1])>0);)F--;return F===$.length?D:$.slice(0,F).join(" ")+$.slice(F).join("")},lX=(D,$,F={})=>{if(F.trim!==!1&&D.trim()==="")return"";let B="",q,Q,X=gX(D),J=[""];for(let[H,_]of D.split(" ").entries()){F.trim!==!1&&(J[J.length-1]=J[J.length-1].trimStart());let G=n2(J[J.length-1]);if(H!==0&&(G>=$&&(F.wordWrap===!1||F.trim===!1)&&(J.push(""),G=0),(G>0||F.trim===!1)&&(J[J.length-1]+=" ",G++)),F.hard&&X[H]>$){let C=$-G,A=1+Math.floor((X[H]-C-1)/$);Math.floor((X[H]-1)/$)<A&&J.push(""),$6(J,_,$);continue}if(G+X[H]>$&&G>0&&X[H]>0){if(F.wordWrap===!1&&G<$){$6(J,_,$);continue}J.push("")}if(G+X[H]>$&&F.wordWrap===!1){$6(J,_,$);continue}J[J.length-1]+=_}F.trim!==!1&&(J=J.map((H)=>xX(H)));let Y=[...J.join(`
14
- `)];for(let[H,_]of Y.entries()){if(B+=_,Y8.has(_)){let{groups:C}=new RegExp(`(?:\\${$4}(?<code>\\d+)m|\\${Q6}(?<uri>.*)${X6})`).exec(Y.slice(H).join(""))||{groups:{}};if(C.code!==void 0){let A=Number.parseFloat(C.code);q=A===hX?void 0:A}else C.uri!==void 0&&(Q=C.uri.length===0?void 0:C.uri)}let G=kX.codes.get(Number(q));Y[H+1]===`
15
- `?(Q&&(B+=i7("")),q&&G&&(B+=c7(G))):_===`
16
- `&&(q&&G&&(B+=c7(q)),Q&&(B+=i7(Q)))}return B},dX,J8,r7,cX,iX=(D,$,F)=>($ in D)?cX(D,$,{enumerable:!0,configurable:!0,writable:!0,value:F}):D[$]=F,wD=(D,$,F)=>(iX(D,typeof $!="symbol"?$+"":$,F),F),q4,nX,rX=(D,$,F)=>($ in D)?nX(D,$,{enumerable:!0,configurable:!0,writable:!0,value:F}):D[$]=F,a7=(D,$,F)=>(rX(D,typeof $!="symbol"?$+"":$,F),F),aX,sX,oX=(D,$,F)=>($ in D)?sX(D,$,{enumerable:!0,configurable:!0,writable:!0,value:F}):D[$]=F,s7=(D,$,F)=>(oX(D,typeof $!="symbol"?$+"":$,F),F),X4,Q4,eX,fD=(D,$)=>eX?D:$,DQ,$Q,FQ,BQ,r,q2,F6,B6,qQ,o7,XQ,H8=(D)=>{switch(D){case"initial":case"active":return O.cyan(DQ);case"cancel":return O.red($Q);case"error":return O.yellow(FQ);case"submit":return O.green(BQ)}},q6=(D)=>{let{cursor:$,options:F,style:B}=D,q=D.maxItems??Number.POSITIVE_INFINITY,Q=Math.max(process.stdout.rows-4,0),X=Math.min(Q,Math.max(q,5)),J=0;$>=J+X-3?J=Math.max(Math.min($-X+3,F.length-X),0):$<J+2&&(J=Math.max($-2,0));let Y=X<F.length&&J>0,H=X<F.length&&J+X<F.length;return F.slice(J,J+X).map((_,G,C)=>{let A=G===0&&Y,u=G===C.length-1&&H;return A||u?O.dim("..."):B(_,G+J===$)})},QQ=(D)=>new Q4({validate:D.validate,placeholder:D.placeholder,defaultValue:D.defaultValue,initialValue:D.initialValue,render(){let $=`${O.gray(r)}
17
- ${H8(this.state)} ${D.message}
18
- `,F=D.placeholder?O.inverse(D.placeholder[0])+O.dim(D.placeholder.slice(1)):O.inverse(O.hidden("_")),B=this.value?this.valueWithCursor:F;switch(this.state){case"error":return`${$.trim()}
19
- ${O.yellow(r)} ${B}
20
- ${O.yellow(q2)} ${O.yellow(this.error)}
21
- `;case"submit":return`${$}${O.gray(r)} ${O.dim(this.value||D.placeholder)}`;case"cancel":return`${$}${O.gray(r)} ${O.strikethrough(O.dim(this.value??""))}${this.value?.trim()?`
22
- ${O.gray(r)}`:""}`;default:return`${$}${O.cyan(r)} ${B}
23
- ${O.cyan(q2)}
24
- `}}}).prompt(),JQ=(D)=>{let $=D.active??"Yes",F=D.inactive??"No";return new q4({active:$,inactive:F,initialValue:D.initialValue??!0,render(){let B=`${O.gray(r)}
25
- ${H8(this.state)} ${D.message}
26
- `,q=this.value?$:F;switch(this.state){case"submit":return`${B}${O.gray(r)} ${O.dim(q)}`;case"cancel":return`${B}${O.gray(r)} ${O.strikethrough(O.dim(q))}
27
- ${O.gray(r)}`;default:return`${B}${O.cyan(r)} ${this.value?`${O.green(F6)} ${$}`:`${O.dim(B6)} ${O.dim($)}`} ${O.dim("/")} ${this.value?`${O.dim(B6)} ${O.dim(F)}`:`${O.green(F6)} ${F}`}
28
- ${O.cyan(q2)}
29
- `}}}).prompt()},YQ=(D)=>{let $=(F,B)=>{let q=F.label??String(F.value);switch(B){case"selected":return`${O.dim(q)}`;case"active":return`${O.green(F6)} ${q} ${F.hint?O.dim(`(${F.hint})`):""}`;case"cancelled":return`${O.strikethrough(O.dim(q))}`;default:return`${O.dim(B6)} ${O.dim(q)}`}};return new X4({options:D.options,initialValue:D.initialValue,render(){let F=`${O.gray(r)}
30
- ${H8(this.state)} ${D.message}
31
- `;switch(this.state){case"submit":return`${F}${O.gray(r)} ${$(this.options[this.cursor],"selected")}`;case"cancel":return`${F}${O.gray(r)} ${$(this.options[this.cursor],"cancelled")}
32
- ${O.gray(r)}`;default:return`${F}${O.cyan(r)} ${q6({cursor:this.cursor,options:this.options,maxItems:D.maxItems,style:(B,q)=>$(B,q?"active":"inactive")}).join(`
33
- ${O.cyan(r)} `)}
34
- ${O.cyan(q2)}
35
- `}}}).prompt()},HQ=(D)=>{let $=(F,B)=>{let q=F.label??String(F.value);return B==="active"?`${O.cyan(qQ)} ${q} ${F.hint?O.dim(`(${F.hint})`):""}`:B==="selected"?`${O.green(o7)} ${O.dim(q)}`:B==="cancelled"?`${O.strikethrough(O.dim(q))}`:B==="active-selected"?`${O.green(o7)} ${q} ${F.hint?O.dim(`(${F.hint})`):""}`:B==="submitted"?`${O.dim(q)}`:`${O.dim(XQ)} ${O.dim(q)}`};return new aX({options:D.options,initialValues:D.initialValues,required:D.required??!0,cursorAt:D.cursorAt,validate(F){if(this.required&&F.length===0)return`Please select at least one option.
36
- ${O.reset(O.dim(`Press ${O.gray(O.bgWhite(O.inverse(" space ")))} to select, ${O.gray(O.bgWhite(O.inverse(" enter ")))} to submit`))}`},render(){let F=`${O.gray(r)}
37
- ${H8(this.state)} ${D.message}
38
- `,B=(q,Q)=>{let X=this.value.includes(q.value);return Q&&X?$(q,"active-selected"):X?$(q,"selected"):$(q,Q?"active":"inactive")};switch(this.state){case"submit":return`${F}${O.gray(r)} ${this.options.filter(({value:q})=>this.value.includes(q)).map((q)=>$(q,"submitted")).join(O.dim(", "))||O.dim("none")}`;case"cancel":{let q=this.options.filter(({value:Q})=>this.value.includes(Q)).map((Q)=>$(Q,"cancelled")).join(O.dim(", "));return`${F}${O.gray(r)} ${q.trim()?`${q}
39
- ${O.gray(r)}`:""}`}case"error":{let q=this.error.split(`
40
- `).map((Q,X)=>X===0?`${O.yellow(q2)} ${O.yellow(Q)}`:` ${Q}`).join(`
41
- `);return`${F+O.yellow(r)} ${q6({options:this.options,cursor:this.cursor,maxItems:D.maxItems,style:B}).join(`
42
- ${O.yellow(r)} `)}
43
- ${q}
44
- `}default:return`${F}${O.cyan(r)} ${q6({options:this.options,cursor:this.cursor,maxItems:D.maxItems,style:B}).join(`
45
- ${O.cyan(r)} `)}
46
- ${O.cyan(q2)}
47
- `}}}).prompt()},J4;var _4=FD(()=>{vD=RX(),X8={exports:{}};LX=NX(),O=jX(LX);IX=ZX();D4={exports:{}};(function(D){var $={};D.exports=$,$.eastAsianWidth=function(B){var q=B.charCodeAt(0),Q=B.length==2?B.charCodeAt(1):0,X=q;return 55296<=q&&q<=56319&&56320<=Q&&Q<=57343&&(q&=1023,Q&=1023,X=q<<10|Q,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"},$.characterLength=function(B){var q=this.eastAsianWidth(B);return q=="F"||q=="W"||q=="A"?2:1};function F(B){return B.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g)||[]}$.length=function(B){for(var q=F(B),Q=0,X=0;X<q.length;X++)Q=Q+this.characterLength(q[X]);return Q},$.slice=function(B,q,Q){textLen=$.length(B),q=q||0,Q=Q||1,q<0&&(q=textLen+q),Q<0&&(Q=textLen+Q);for(var X="",J=0,Y=F(B),H=0;H<Y.length;H++){var _=Y[H],G=$.length(_);if(J>=q-(G==2?1:0))if(J+G<=Q)X+=_;else break;J+=G}return X}})(D4);bX=D4.exports,SX=e7(bX),PX=e7(TX);a={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(a.modifier);vX=Object.keys(a.color),fX=Object.keys(a.bgColor);[...vX,...fX];kX=yX(),Y8=new Set(["\x1B","›"]),Q6=`${mX}8;;`;dX=["up","down","left","right","space","enter","cancel"],J8={actions:new Set(dX),aliases:new Map([["k","up"],["j","down"],["h","left"],["l","right"],["\x03","cancel"],["escape","cancel"]])};globalThis.process.platform.startsWith("win");r7=Symbol("clack:cancel");cX=Object.defineProperty;q4=class q4 extends r2{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",($)=>{this.output.write(vD.cursor.move(0,-1)),this.value=$,this.state="submit",this.close()}),this.on("cursor",()=>{this.value=!this.value})}};nX=Object.defineProperty,aX=class extends r2{constructor(D){super(D,!1),a7(this,"options"),a7(this,"cursor",0),this.options=D.options,this.value=[...D.initialValues??[]],this.cursor=Math.max(this.options.findIndex(({value:$})=>$===D.cursorAt),0),this.on("key",($)=>{$==="a"&&this.toggleAll()}),this.on("cursor",($)=>{switch($){case"left":case"up":this.cursor=this.cursor===0?this.options.length-1:this.cursor-1;break;case"down":case"right":this.cursor=this.cursor===this.options.length-1?0:this.cursor+1;break;case"space":this.toggleValue();break}})}get _value(){return this.options[this.cursor].value}toggleAll(){let D=this.value.length===this.options.length;this.value=D?[]:this.options.map(($)=>$.value)}toggleValue(){let D=this.value.includes(this._value);this.value=D?this.value.filter(($)=>$!==this._value):[...this.value,this._value]}},sX=Object.defineProperty;X4=class X4 extends r2{constructor(D){super(D,!1),s7(this,"options"),s7(this,"cursor",0),this.options=D.options,this.cursor=this.options.findIndex(({value:$})=>$===D.initialValue),this.cursor===-1&&(this.cursor=0),this.changeValue(),this.on("cursor",($)=>{switch($){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}};Q4=class Q4 extends r2{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]=this.value.slice(this.cursor);return`${D}${O.inverse($)}${F.join("")}`}get cursor(){return this._cursor}constructor(D){super(D),this.on("finalize",()=>{this.value||(this.value=D.defaultValue)})}};eX=tX(),DQ=fD("❯",">"),$Q=fD("■","x"),FQ=fD("▲","x"),BQ=fD("✔","√"),r=fD(""),q2=fD(""),F6=fD("●",">"),B6=fD("○"," "),qQ=fD("◻","[•]"),o7=fD("◼","[+]"),XQ=fD("◻","[ ]");`${O.gray(r)} `;J4=Symbol.for("cancel")});import{homedir as EJ}from"node:os";function f4(){process.stdout.write("\x1B[?25h")}function e2(D){if(!D)return"-";if(D.startsWith("embedded:"))return D;let $=EJ(),F=process.cwd();if(D.startsWith($))return"~"+D.slice($.length);if(D.startsWith(F))return"."+D.slice(F.length);return D}class u6{frames=["⠋","⠙","⠹","⠸","⠼","⠴","⠦","⠧","⠇","⠏"];intervalId=null;frameIndex=0;message;isSpinning=!1;constructor(D){this.message=D}start(){if(this.isSpinning)return;this.isSpinning=!0,w8.add(this),this.frameIndex=0,process.stdout.write("\x1B[?25l"),this.intervalId=setInterval(()=>{let D=this.frames[this.frameIndex];process.stdout.write(`\r${b.cyan}${D}${b.reset} ${this.message}`),this.frameIndex=(this.frameIndex+1)%this.frames.length},80)}update(D){this.message=D}succeed(D){this.stop();let $=D||this.message;console.log(`${b.green}✓${b.reset} ${$}`)}fail(D){this.stop();let $=D||this.message;console.log(`${b.red}✗${b.reset} ${$}`)}warn(D){this.stop();let $=D||this.message;console.log(`${b.yellow}!${b.reset} ${$}`)}stop(){if(!this.isSpinning)return;if(w8.delete(this),this.isSpinning=!1,this.intervalId)clearInterval(this.intervalId),this.intervalId=null;process.stdout.write("\r\x1B[K"),process.stdout.write("\x1B[?25h")}}class D3{tasks=new Map;taskOrder=[];intervalId=null;frames=["⠋","⠙","⠹","⠸","⠼","⠴","⠦","⠧","⠇","⠏"];frameIndex=0;linesWritten=0;isActive=!1;isDirty=!0;exitHandler=null;addTask(D,$,F,B,q,Q){let X={id:D,label:$,status:"pending",detail:Q,totalBatches:F,completedBatches:0,fileCount:B,ruleCount:q};this.tasks.set(D,X),this.taskOrder.push(D)}start(){if(this.isActive)return;this.isActive=!0,process.stdout.write("\x1B[?25l"),this.exitHandler=()=>{process.stdout.write("\x1B[?25h")},process.on("exit",this.exitHandler),this.render(),this.intervalId=setInterval(()=>{this.frameIndex=(this.frameIndex+1)%this.frames.length;let D=[...this.tasks.values()].some(($)=>$.status==="running");if(this.isDirty||D)this.render(),this.isDirty=!1},80)}startTask(D){let $=this.tasks.get(D);if(!$)return;if($.status!=="running")$.startTime=Date.now(),$.status="running",this.isDirty=!0}completeBatch(D){let $=this.tasks.get(D);if(!$)return;if($.completedBatches++,this.isDirty=!0,$.completedBatches>=$.totalBatches){if($.status="done",$.startTime)$.duration=Date.now()-$.startTime}}failTask(D){let $=this.tasks.get(D);if(!$)return;if($.status="error",this.isDirty=!0,$.startTime)$.duration=Date.now()-$.startTime}getEstimatedTotal(D){return D.fileCount*D.ruleCount*OJ*1000}calculateProgress(D){if(D.status==="done")return 1;if(D.status==="error")return D.completedBatches/Math.max(1,D.totalBatches);if(D.status!=="running"||!D.startTime)return 0;let $=Date.now()-D.startTime,F=this.getEstimatedTotal(D),B=$/F,q=D.completedBatches/Math.max(1,D.totalBatches);return Math.min(0.95,Math.max(B,q))}calculateETA(D){if(D.status!=="running"||!D.startTime)return null;let $=Date.now()-D.startTime,F=this.getEstimatedTotal(D),B=Math.max(0,F-$);return B>1000?B:null}formatProgressBar(D,$=12){let F=Math.round(D*$),B=$-F;return"█".repeat(F)+"░".repeat(B)}render(){if(this.linesWritten>0)process.stdout.write(`\x1B[${this.linesWritten}A`);let D=[],$=this.taskOrder.length;for(let F=0;F<this.taskOrder.length;F++){let B=this.taskOrder[F],q=this.tasks.get(B);if(!q)continue;let Q=this.formatTaskLine(q,F+1,$);D.push(Q)}for(let F of D)process.stdout.write(`\x1B[K${F}
48
- `);this.linesWritten=D.length}formatTaskLine(D,$,F){let B=`[${$}/${F}]`.padEnd(7),q=18,Q=D.label.length>18?D.label.slice(0,17)+"…":D.label.padEnd(18),X,J;switch(D.status){case"pending":X=b.gray,J="○";break;case"running":X=b.cyan,J=this.frames[this.frameIndex]??"⠋";break;case"done":X=b.green,J="✓";break;case"error":X=b.red,J="✗";break}let Y=this.calculateProgress(D),H=this.formatProgressBar(Y),_=`${X}${H}${b.reset} ${J}`,G="";if(D.status==="running"){let A=this.calculateETA(D);if(A!==null)G=`~${Math.ceil(A/1000)}s`}else if(D.duration!==void 0)G=`${(D.duration/1000).toFixed(1)}s`;let C=D.detail?`${b.dim}| ${D.detail}${b.reset}`:"";return` ${b.dim}${B}${b.reset} ${Q} ${_} ${G.padEnd(6)} ${C}`}stop(){if(!this.isActive)return;if(this.isActive=!1,this.intervalId)clearInterval(this.intervalId),this.intervalId=null;if(this.exitHandler)process.removeListener("exit",this.exitHandler),this.exitHandler=null;this.render(),process.stdout.write("\x1B[?25h")}}var b,w8,V,OJ=10;var s=FD(()=>{b={reset:"\x1B[0m",bold:"\x1B[1m",dim:"\x1B[2m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",gray:"\x1B[90m"},w8=new Set;process.on("SIGINT",()=>{for(let D of w8)D.stop();f4(),console.log(`
49
- ${b.yellow}!${b.reset} Interrupted - shutting down gracefully`),process.exit(130)});process.on("SIGTERM",()=>{for(let D of w8)D.stop();f4(),console.log(`
50
- ${b.yellow}!${b.reset} Terminated - shutting down gracefully`),process.exit(143)});V={success:(D)=>{console.log(`${b.green}✓${b.reset} ${D}`)},error:(D,$)=>{let F=$?`${D} ${$}`:D;console.error(`${b.red}✗${b.reset} ${F}`)},warn:(D,$)=>{let F=$?`${D} ${$}`:D;console.warn(`${b.yellow}!${b.reset} ${F}`)},info:(D)=>{console.log(`${b.blue}○${b.reset} ${D}`)},debug:(D)=>{if(process.env.DEBUG)console.log(`${b.gray}·${b.reset} ${D}`)},plain:(D)=>{console.log(D)},load:(D)=>console.log(`${b.cyan}▸${b.reset} ${D}`),match:(D)=>console.log(`${b.magenta}◆${b.reset} ${D}`),execute:(D)=>console.log(`${b.blue}›${b.reset} ${D}`),agent:(D)=>console.log(`${b.cyan}◉${b.reset} ${D}`),done:(D)=>console.log(`${b.green}✓${b.reset} ${D}`),analyze:(D)=>console.log(`${b.blue}○${b.reset} ${D}`),run:(D)=>console.log(`${b.green}▶${b.reset} ${D}`),stats:(D)=>console.log(` ${D}`),rocket:(D)=>console.log(`${b.magenta}▲${b.reset} ${D}`),robot:(D)=>console.log(`${b.cyan}◉${b.reset} ${D}`),chart:(D)=>console.log(`${b.blue}■${b.reset} ${D}`),file:(D)=>console.log(`${b.gray}◇${b.reset} ${D}`),sync:(D)=>console.log(`${b.cyan}↻${b.reset} ${D}`),lightning:(D)=>console.log(`${b.yellow}⚡${b.reset} ${D}`),sparkles:(D)=>console.log(`${b.magenta}✦${b.reset} ${D}`),logo:()=>{console.log(`
51
- ██████╗ ██╗ ███████╗ ███████╗ ██████╗ █████╗ ██╗ ██╗
52
- ██╔══██╗ ██║ ██╔════╝ ██╔════╝ ██╔══██╗ ██╔══██╗ ╚██╗ ██╔╝
53
- ██║ ██║ ██║ █████╗ █████╗ ██████╔╝ ███████║ ╚████╔╝ ${b.bold}Multi-agent code review${b.reset}
54
- ██║ ██║ ██║ ██╔══╝ ██╔══╝ ██╔══██╗ ██╔══██║ ╚██╔╝
55
- ██████╔╝ ██║ ██║ ██║ ██║ ██║ ██║ ██║ ██║
56
- ╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝
57
- `)},separator:(D="=",$=80)=>{console.log(D.repeat($))},newline:()=>console.log()}});var Z6=(D,$,F)=>{let B=D instanceof RegExp?Y5(D,F):D,q=$ instanceof RegExp?Y5($,F):$,Q=B!==null&&q!=null&&rY(B,q,F);return Q&&{start:Q[0],end:Q[1],pre:F.slice(0,Q[0]),body:F.slice(Q[0]+B.length,Q[1]),post:F.slice(Q[1]+q.length)}},Y5=(D,$)=>{let F=$.match(D);return F?F[0]:null},rY=(D,$,F)=>{let B,q,Q,X=void 0,J,Y=F.indexOf(D),H=F.indexOf($,Y+1),_=Y;if(Y>=0&&H>0){if(D===$)return[Y,H];B=[],Q=F.length;while(_>=0&&!J){if(_===Y)B.push(_),Y=F.indexOf(D,_+1);else if(B.length===1){let G=B.pop();if(G!==void 0)J=[G,H]}else{if(q=B.pop(),q!==void 0&&q<Q)Q=q,X=H;H=F.indexOf($,_+1)}_=Y<H&&Y>=0?Y:H}if(B.length&&X!==void 0)J=[Q,X]}return J};function I6(D){return!isNaN(D)?parseInt(D,10):D.charCodeAt(0)}function XH(D){return D.replace(DH,H5).replace($H,_5).replace(FH,b6).replace(BH,G5).replace(qH,C5)}function QH(D){return D.replace(aY,"\\").replace(sY,"{").replace(oY,"}").replace(tY,",").replace(eY,".")}function V5(D){if(!D)return[""];let $=[],F=Z6("{","}",D);if(!F)return D.split(",");let{pre:B,body:q,post:Q}=F,X=B.split(",");X[X.length-1]+="{"+q+"}";let J=V5(Q);if(Q.length)X[X.length-1]+=J.shift(),X.push.apply(X,J);return $.push.apply($,X),$}function W5(D){if(!D)return[];if(D.slice(0,2)==="{}")D="\\{\\}"+D.slice(2);return _3(XH(D),!0).map(QH)}function JH(D){return"{"+D+"}"}function YH(D){return/^-?0\d/.test(D)}function HH(D,$){return D<=$}function _H(D,$){return D>=$}function _3(D,$){let F=[],B=Z6("{","}",D);if(!B)return[D];let q=B.pre,Q=B.post.length?_3(B.post,!1):[""];if(/\$$/.test(B.pre))for(let X=0;X<Q.length;X++){let J=q+"{"+B.body+"}"+Q[X];F.push(J)}else{let X=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(B.body),J=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(B.body),Y=X||J,H=B.body.indexOf(",")>=0;if(!Y&&!H){if(B.post.match(/,(?!,).*\}/))return D=B.pre+"{"+B.body+b6+B.post,_3(D);return[D]}let _;if(Y)_=B.body.split(/\.\./);else if(_=V5(B.body),_.length===1&&_[0]!==void 0){if(_=_3(_[0],!1).map(JH),_.length===1)return Q.map((C)=>B.pre+_[0]+C)}let G;if(Y&&_[0]!==void 0&&_[1]!==void 0){let C=I6(_[0]),A=I6(_[1]),u=Math.max(_[0].length,_[1].length),W=_.length===3&&_[2]!==void 0?Math.abs(I6(_[2])):1,U=HH;if(A<C)W*=-1,U=_H;let w=_.some(YH);G=[];for(let M=C;U(M,A);M+=W){let K;if(J){if(K=String.fromCharCode(M),K==="\\")K=""}else if(K=String(M),w){let N=u-K.length;if(N>0){let I=Array(N+1).join("0");if(M<0)K="-"+I+K.slice(1);else K=I+K}}G.push(K)}}else{G=[];for(let C=0;C<_.length;C++)G.push.apply(G,_3(_[C],!1))}for(let C=0;C<G.length;C++)for(let A=0;A<Q.length;A++){let u=q+G[C]+Q[A];if(!$||Y||u)F.push(u)}}return F}var H5,_5,b6,G5,C5,aY,sY,oY,tY,eY,DH,$H,FH,BH,qH;var A5=FD(()=>{H5="\x00SLASH"+Math.random()+"\x00",_5="\x00OPEN"+Math.random()+"\x00",b6="\x00CLOSE"+Math.random()+"\x00",G5="\x00COMMA"+Math.random()+"\x00",C5="\x00PERIOD"+Math.random()+"\x00",aY=new RegExp(H5,"g"),sY=new RegExp(_5,"g"),oY=new RegExp(b6,"g"),tY=new RegExp(G5,"g"),eY=new RegExp(C5,"g"),DH=/\\\\/g,$H=/\\{/g,FH=/\\}/g,BH=/\\,/g,qH=/\\./g});var G3=(D)=>{if(typeof D!=="string")throw TypeError("invalid pattern");if(D.length>65536)throw TypeError("pattern is too long")};var GH,C3=(D)=>D.replace(/[[\]\\-]/g,"\\$&"),CH=(D)=>D.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),U5=(D)=>D.join(""),u5=(D,$)=>{let F=$;if(D.charAt(F)!=="[")throw Error("not in a brace expression");let B=[],q=[],Q=F+1,X=!1,J=!1,Y=!1,H=!1,_=F,G="";D:while(Q<D.length){let W=D.charAt(Q);if((W==="!"||W==="^")&&Q===F+1){H=!0,Q++;continue}if(W==="]"&&X&&!Y){_=Q+1;break}if(X=!0,W==="\\"){if(!Y){Y=!0,Q++;continue}}if(W==="["&&!Y){for(let[U,[z,w,M]]of Object.entries(GH))if(D.startsWith(U,Q)){if(G)return["$.",!1,D.length-F,!0];if(Q+=U.length,M)q.push(z);else B.push(z);J=J||w;continue D}}if(Y=!1,G){if(W>G)B.push(C3(G)+"-"+C3(W));else if(W===G)B.push(C3(W));G="",Q++;continue}if(D.startsWith("-]",Q+1)){B.push(C3(W+"-")),Q+=2;continue}if(D.startsWith("-",Q+1)){G=W,Q+=2;continue}B.push(C3(W)),Q++}if(_<Q)return["",!1,0,!1];if(!B.length&&!q.length)return["$.",!1,D.length-F,!0];if(q.length===0&&B.length===1&&/^\\?.$/.test(B[0])&&!H){let W=B[0].length===2?B[0].slice(-1):B[0];return[CH(W),!1,_-F,!1]}let C="["+(H?"^":"")+U5(B)+"]",A="["+(H?"":"^")+U5(q)+"]";return[B.length&&q.length?"("+C+"|"+A+")":B.length?C:A,J,_-F,!0]};var z5=FD(()=>{GH={"[: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]}});var ND=(D,{windowsPathsNoEscape:$=!1,magicalBraces:F=!0}={})=>{if(F)return $?D.replace(/\[([^\/\\])\]/g,"$1"):D.replace(/((?!\\).|^)\[([^\/\\])\]/g,"$1$2").replace(/\\([^\/])/g,"$1");return $?D.replace(/\[([^\/\\{}])\]/g,"$1"):D.replace(/((?!\\).|^)\[([^\/\\{}])\]/g,"$1$2").replace(/\\([^\/{}])/g,"$1")};class _D{type;#D;#F;#X=!1;#q=[];#Q;#M;#u;#_=!1;#J;#C;#G=!1;constructor(D,$,F={}){if(this.type=D,D)this.#F=!0;if(this.#Q=$,this.#D=this.#Q?this.#Q.#D:this,this.#J=this.#D===this?F:this.#D.#J,this.#u=this.#D===this?[]:this.#D.#u,D==="!"&&!this.#D.#_)this.#u.push(this);this.#M=this.#Q?this.#Q.#q.length:0}get hasMagic(){if(this.#F!==void 0)return this.#F;for(let D of this.#q){if(typeof D==="string")continue;if(D.type||D.hasMagic)return this.#F=!0}return this.#F}toString(){if(this.#C!==void 0)return this.#C;if(!this.type)return this.#C=this.#q.map((D)=>String(D)).join("");else return this.#C=this.type+"("+this.#q.map((D)=>String(D)).join("|")+")"}#Y(){if(this!==this.#D)throw Error("should only call on root");if(this.#_)return this;this.toString(),this.#_=!0;let D;while(D=this.#u.pop()){if(D.type!=="!")continue;let $=D,F=$.#Q;while(F){for(let B=$.#M+1;!F.type&&B<F.#q.length;B++)for(let q of D.#q){if(typeof q==="string")throw Error("string part in extglob AST??");q.copyIn(F.#q[B])}$=F,F=$.#Q}}return this}push(...D){for(let $ of D){if($==="")continue;if(typeof $!=="string"&&!($ instanceof _D&&$.#Q===this))throw Error("invalid part: "+$);this.#q.push($)}}toJSON(){let D=this.type===null?this.#q.slice().map(($)=>typeof $==="string"?$:$.toJSON()):[this.type,...this.#q.map(($)=>$.toJSON())];if(this.isStart()&&!this.type)D.unshift([]);if(this.isEnd()&&(this===this.#D||this.#D.#_&&this.#Q?.type==="!"))D.push({});return D}isStart(){if(this.#D===this)return!0;if(!this.#Q?.isStart())return!1;if(this.#M===0)return!0;let D=this.#Q;for(let $=0;$<this.#M;$++){let F=D.#q[$];if(!(F instanceof _D&&F.type==="!"))return!1}return!0}isEnd(){if(this.#D===this)return!0;if(this.#Q?.type==="!")return!0;if(!this.#Q?.isEnd())return!1;if(!this.type)return this.#Q?.isEnd();let D=this.#Q?this.#Q.#q.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 $=new _D(this.type,D);for(let F of this.#q)$.copyIn(F);return $}static#B(D,$,F,B){let q=!1,Q=!1,X=-1,J=!1;if($.type===null){let C=F,A="";while(C<D.length){let u=D.charAt(C++);if(q||u==="\\"){q=!q,A+=u;continue}if(Q){if(C===X+1){if(u==="^"||u==="!")J=!0}else if(u==="]"&&!(C===X+2&&J))Q=!1;A+=u;continue}else if(u==="["){Q=!0,X=C,J=!1,A+=u;continue}if(!B.noext&&w5(u)&&D.charAt(C)==="("){$.push(A),A="";let W=new _D(u,$);C=_D.#B(D,W,C,B),$.push(W);continue}A+=u}return $.push(A),C}let Y=F+1,H=new _D(null,$),_=[],G="";while(Y<D.length){let C=D.charAt(Y++);if(q||C==="\\"){q=!q,G+=C;continue}if(Q){if(Y===X+1){if(C==="^"||C==="!")J=!0}else if(C==="]"&&!(Y===X+2&&J))Q=!1;G+=C;continue}else if(C==="["){Q=!0,X=Y,J=!1,G+=C;continue}if(w5(C)&&D.charAt(Y)==="("){H.push(G),G="";let A=new _D(C,H);H.push(A),Y=_D.#B(D,A,Y,B);continue}if(C==="|"){H.push(G),G="",_.push(H),H=new _D(null,$);continue}if(C===")"){if(G===""&&$.#q.length===0)$.#G=!0;return H.push(G),G="",$.push(..._,H),Y}G+=C}return $.type=null,$.#F=void 0,$.#q=[D.substring(F-1)],Y}static fromGlob(D,$={}){let F=new _D(null,void 0,$);return _D.#B(D,F,0,$),F}toMMPattern(){if(this!==this.#D)return this.#D.toMMPattern();let D=this.toString(),[$,F,B,q]=this.toRegExpSource();if(!(B||this.#F||this.#J.nocase&&!this.#J.nocaseMagicOnly&&D.toUpperCase()!==D.toLowerCase()))return F;let X=(this.#J.nocase?"i":"")+(q?"u":"");return Object.assign(new RegExp(`^${$}$`,X),{_src:$,_glob:D})}get options(){return this.#J}toRegExpSource(D){let $=D??!!this.#J.dot;if(this.#D===this)this.#Y();if(!this.type){let J=this.isStart()&&this.isEnd()&&!this.#q.some((C)=>typeof C!=="string"),Y=this.#q.map((C)=>{let[A,u,W,U]=typeof C==="string"?_D.#K(C,this.#F,J):C.toRegExpSource(D);return this.#F=this.#F||W,this.#X=this.#X||U,A}).join(""),H="";if(this.isStart()){if(typeof this.#q[0]==="string"){if(!(this.#q.length===1&&UH.has(this.#q[0]))){let A=AH,u=$&&A.has(Y.charAt(0))||Y.startsWith("\\.")&&A.has(Y.charAt(2))||Y.startsWith("\\.\\.")&&A.has(Y.charAt(4)),W=!$&&!D&&A.has(Y.charAt(0));H=u?WH:W?L8:""}}}let _="";if(this.isEnd()&&this.#D.#_&&this.#Q?.type==="!")_="(?:$|\\/)";return[H+Y+_,ND(Y),this.#F=!!this.#F,this.#X]}let F=this.type==="*"||this.type==="+",B=this.type==="!"?"(?:(?!(?:":"(?:",q=this.#V($);if(this.isStart()&&this.isEnd()&&!q&&this.type!=="!"){let J=this.toString();return this.#q=[J],this.type=null,this.#F=void 0,[J,ND(this.toString()),!1,!1]}let Q=!F||D||$||!L8?"":this.#V(!0);if(Q===q)Q="";if(Q)q=`(?:${q})(?:${Q})*?`;let X="";if(this.type==="!"&&this.#G)X=(this.isStart()&&!$?L8:"")+K5;else{let J=this.type==="!"?"))"+(this.isStart()&&!$&&!D?L8:"")+M5+")":this.type==="@"?")":this.type==="?"?")?":this.type==="+"&&Q?")":this.type==="*"&&Q?")?":`)${this.type}`;X=B+q+J}return[X,ND(q),this.#F=!!this.#F,this.#X]}#V(D){return this.#q.map(($)=>{if(typeof $==="string")throw Error("string type in extglob ast??");let[F,B,q,Q]=$.toRegExpSource(D);return this.#X=this.#X||Q,F}).filter(($)=>!(this.isStart()&&this.isEnd())||!!$).join("|")}static#K(D,$,F=!1){let B=!1,q="",Q=!1;for(let X=0;X<D.length;X++){let J=D.charAt(X);if(B){B=!1,q+=(uH.has(J)?"\\":"")+J;continue}if(J==="\\"){if(X===D.length-1)q+="\\\\";else B=!0;continue}if(J==="["){let[Y,H,_,G]=u5(D,X);if(_){q+=Y,Q=Q||H,X+=_-1,$=$||G;continue}}if(J==="*"){q+=F&&D==="*"?K5:M5,$=!0;continue}if(J==="?"){q+=S6,$=!0;continue}q+=zH(J)}return[q,ND(D),!!$,Q]}}var VH,w5=(D)=>VH.has(D),WH="(?!(?:^|/)\\.\\.?(?:$|/))",L8="(?!\\.)",AH,UH,uH,zH=(D)=>D.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),S6="[^/]",M5,K5;var T6=FD(()=>{z5();VH=new Set(["!","?","+","*","@"]),AH=new Set(["[","."]),UH=new Set(["..","."]),uH=new Set("().*{}+?[]^$\\!"),M5=S6+"*?",K5=S6+"+?"});var c0=(D,{windowsPathsNoEscape:$=!1,magicalBraces:F=!1}={})=>{if(F)return $?D.replace(/[?*()[\]{}]/g,"[$&]"):D.replace(/[?*()[\]\\{}]/g,"\\$&");return $?D.replace(/[?*()[\]]/g,"[$&]"):D.replace(/[?*()[\]\\]/g,"\\$&")};class ZD{options;set;pattern;windowsPathsNoEscape;nonegate;negate;comment;empty;preserveMultipleSlashes;partial;globSet;globParts;nocase;isWindows;platform;windowsNoMagicRoot;regexp;constructor(D,$={}){if(G3(D),$=$||{},this.options=$,this.pattern=D,this.platform=$.platform||N5,this.isWindows=this.platform==="win32",this.windowsPathsNoEscape=!!$.windowsPathsNoEscape||$.allowWindowsEscape===!1,this.windowsPathsNoEscape)this.pattern=this.pattern.replace(/\\/g,"/");this.preserveMultipleSlashes=!!$.preserveMultipleSlashes,this.regexp=null,this.negate=!1,this.nonegate=!!$.nonegate,this.comment=!1,this.empty=!1,this.partial=!!$.partial,this.nocase=!!this.options.nocase,this.windowsNoMagicRoot=$.windowsNoMagicRoot!==void 0?$.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 $ of D)if(typeof $!=="string")return!0;return!1}debug(...D){}make(){let D=this.pattern,$=this.options;if(!$.nocomment&&D.charAt(0)==="#"){this.comment=!0;return}if(!D){this.empty=!0;return}if(this.parseNegate(),this.globSet=[...new Set(this.braceExpand())],$.debug)this.debug=(...q)=>console.error(...q);this.debug(this.pattern,this.globSet);let F=this.globSet.map((q)=>this.slashSplit(q));this.globParts=this.preprocess(F),this.debug(this.pattern,this.globParts);let B=this.globParts.map((q,Q,X)=>{if(this.isWindows&&this.windowsNoMagicRoot){let J=q[0]===""&&q[1]===""&&(q[2]==="?"||!O5.test(q[2]))&&!O5.test(q[3]),Y=/^[a-z]:/i.test(q[0]);if(J)return[...q.slice(0,4),...q.slice(4).map((H)=>this.parse(H))];else if(Y)return[q[0],...q.slice(1).map((H)=>this.parse(H))]}return q.map((J)=>this.parse(J))});if(this.debug(this.pattern,B),this.set=B.filter((q)=>q.indexOf(!1)===-1),this.isWindows)for(let q=0;q<this.set.length;q++){let Q=this.set[q];if(Q[0]===""&&Q[1]===""&&this.globParts[q][2]==="?"&&typeof Q[3]==="string"&&/^[a-z]:$/i.test(Q[3]))Q[2]="?"}this.debug(this.pattern,this.set)}preprocess(D){if(this.options.noglobstar){for(let F=0;F<D.length;F++)for(let B=0;B<D[F].length;B++)if(D[F][B]==="**")D[F][B]="*"}let{optimizationLevel:$=1}=this.options;if($>=2)D=this.firstPhasePreProcess(D),D=this.secondPhasePreProcess(D);else if($>=1)D=this.levelOneOptimize(D);else D=this.adjascentGlobstarOptimize(D);return D}adjascentGlobstarOptimize(D){return D.map(($)=>{let F=-1;while((F=$.indexOf("**",F+1))!==-1){let B=F;while($[B+1]==="**")B++;if(B!==F)$.splice(F,B-F)}return $})}levelOneOptimize(D){return D.map(($)=>{return $=$.reduce((F,B)=>{let q=F[F.length-1];if(B==="**"&&q==="**")return F;if(B===".."){if(q&&q!==".."&&q!=="."&&q!=="**")return F.pop(),F}return F.push(B),F},[]),$.length===0?[""]:$})}levelTwoFileOptimize(D){if(!Array.isArray(D))D=this.slashSplit(D);let $=!1;do{if($=!1,!this.preserveMultipleSlashes){for(let B=1;B<D.length-1;B++){let q=D[B];if(B===1&&q===""&&D[0]==="")continue;if(q==="."||q==="")$=!0,D.splice(B,1),B--}if(D[0]==="."&&D.length===2&&(D[1]==="."||D[1]===""))$=!0,D.pop()}let F=0;while((F=D.indexOf("..",F+1))!==-1){let B=D[F-1];if(B&&B!=="."&&B!==".."&&B!=="**")$=!0,D.splice(F-1,2),F-=2}}while($);return D.length===0?[""]:D}firstPhasePreProcess(D){let $=!1;do{$=!1;for(let F of D){let B=-1;while((B=F.indexOf("**",B+1))!==-1){let Q=B;while(F[Q+1]==="**")Q++;if(Q>B)F.splice(B+1,Q-B);let X=F[B+1],J=F[B+2],Y=F[B+3];if(X!=="..")continue;if(!J||J==="."||J===".."||!Y||Y==="."||Y==="..")continue;$=!0,F.splice(B,1);let H=F.slice(0);H[B]="**",D.push(H),B--}if(!this.preserveMultipleSlashes){for(let Q=1;Q<F.length-1;Q++){let X=F[Q];if(Q===1&&X===""&&F[0]==="")continue;if(X==="."||X==="")$=!0,F.splice(Q,1),Q--}if(F[0]==="."&&F.length===2&&(F[1]==="."||F[1]===""))$=!0,F.pop()}let q=0;while((q=F.indexOf("..",q+1))!==-1){let Q=F[q-1];if(Q&&Q!=="."&&Q!==".."&&Q!=="**"){$=!0;let J=q===1&&F[q+1]==="**"?["."]:[];if(F.splice(q-1,2,...J),F.length===0)F.push("");q-=2}}}}while($);return D}secondPhasePreProcess(D){for(let $=0;$<D.length-1;$++)for(let F=$+1;F<D.length;F++){let B=this.partsMatch(D[$],D[F],!this.preserveMultipleSlashes);if(B){D[$]=[],D[F]=B;break}}return D.filter(($)=>$.length)}partsMatch(D,$,F=!1){let B=0,q=0,Q=[],X="";while(B<D.length&&q<$.length)if(D[B]===$[q])Q.push(X==="b"?$[q]:D[B]),B++,q++;else if(F&&D[B]==="**"&&$[q]===D[B+1])Q.push(D[B]),B++;else if(F&&$[q]==="**"&&D[B]===$[q+1])Q.push($[q]),q++;else if(D[B]==="*"&&$[q]&&(this.options.dot||!$[q].startsWith("."))&&$[q]!=="**"){if(X==="b")return!1;X="a",Q.push(D[B]),B++,q++}else if($[q]==="*"&&D[B]&&(this.options.dot||!D[B].startsWith("."))&&D[B]!=="**"){if(X==="a")return!1;X="b",Q.push($[q]),B++,q++}else return!1;return D.length===$.length&&Q}parseNegate(){if(this.nonegate)return;let D=this.pattern,$=!1,F=0;for(let B=0;B<D.length&&D.charAt(B)==="!";B++)$=!$,F++;if(F)this.pattern=D.slice(F);this.negate=$}matchOne(D,$,F=!1){let B=this.options;if(this.isWindows){let u=typeof D[0]==="string"&&/^[a-z]:$/i.test(D[0]),W=!u&&D[0]===""&&D[1]===""&&D[2]==="?"&&/^[a-z]:$/i.test(D[3]),U=typeof $[0]==="string"&&/^[a-z]:$/i.test($[0]),z=!U&&$[0]===""&&$[1]===""&&$[2]==="?"&&typeof $[3]==="string"&&/^[a-z]:$/i.test($[3]),w=W?3:u?0:void 0,M=z?3:U?0:void 0;if(typeof w==="number"&&typeof M==="number"){let[K,N]=[D[w],$[M]];if(K.toLowerCase()===N.toLowerCase()){if($[M]=K,M>w)$=$.slice(M);else if(w>M)D=D.slice(w)}}}let{optimizationLevel:q=1}=this.options;if(q>=2)D=this.levelTwoFileOptimize(D);this.debug("matchOne",this,{file:D,pattern:$}),this.debug("matchOne",D.length,$.length);for(var Q=0,X=0,J=D.length,Y=$.length;Q<J&&X<Y;Q++,X++){this.debug("matchOne loop");var H=$[X],_=D[Q];if(this.debug($,H,_),H===!1)return!1;if(H===GD){this.debug("GLOBSTAR",[$,H,_]);var G=Q,C=X+1;if(C===Y){this.debug("** at the end");for(;Q<J;Q++)if(D[Q]==="."||D[Q]===".."||!B.dot&&D[Q].charAt(0)===".")return!1;return!0}while(G<J){var A=D[G];if(this.debug(`
58
- globstar while`,D,G,$,C,A),this.matchOne(D.slice(G),$.slice(C),F))return this.debug("globstar found match!",G,J,A),!0;else{if(A==="."||A===".."||!B.dot&&A.charAt(0)==="."){this.debug("dot detected!",D,G,$,C);break}this.debug("globstar swallow a segment, and continue"),G++}}if(F){if(this.debug(`
59
- >>> no match, partial?`,D,G,$,C),G===J)return!0}return!1}let u;if(typeof H==="string")u=_===H,this.debug("string match",H,_,u);else u=H.test(_),this.debug("pattern match",H,_,u);if(!u)return!1}if(Q===J&&X===Y)return!0;else if(Q===J)return F;else if(X===Y)return Q===J-1&&D[Q]==="";else throw Error("wtf?")}braceExpand(){return L5(this.pattern,this.options)}parse(D){G3(D);let $=this.options;if(D==="**")return GD;if(D==="")return"";let F,B=null;if(F=D.match(IH))B=$.dot?SH:bH;else if(F=D.match(wH))B=($.nocase?$.dot?OH:EH:$.dot?KH:MH)(F[1]);else if(F=D.match(TH))B=($.nocase?$.dot?vH:PH:$.dot?fH:yH)(F);else if(F=D.match(jH))B=$.dot?NH:RH;else if(F=D.match(LH))B=ZH;let q=_D.fromGlob(D,this.options).toMMPattern();if(B&&typeof q==="object")Reflect.defineProperty(q,"test",{value:B});return q}makeRe(){if(this.regexp||this.regexp===!1)return this.regexp;let D=this.set;if(!D.length)return this.regexp=!1,this.regexp;let $=this.options,F=$.noglobstar?mH:$.dot?gH:xH,B=new Set($.nocase?["i"]:[]),q=D.map((J)=>{let Y=J.map((_)=>{if(_ instanceof RegExp)for(let G of _.flags.split(""))B.add(G);return typeof _==="string"?iH(_):_===GD?GD:_._src});Y.forEach((_,G)=>{let C=Y[G+1],A=Y[G-1];if(_!==GD||A===GD)return;if(A===void 0)if(C!==void 0&&C!==GD)Y[G+1]="(?:\\/|"+F+"\\/)?"+C;else Y[G]=F;else if(C===void 0)Y[G-1]=A+"(?:\\/|\\/"+F+")?";else if(C!==GD)Y[G-1]=A+"(?:\\/|\\/"+F+"\\/)"+C,Y[G+1]=GD});let H=Y.filter((_)=>_!==GD);if(this.partial&&H.length>=1){let _=[];for(let G=1;G<=H.length;G++)_.push(H.slice(0,G).join("/"));return"(?:"+_.join("|")+")"}return H.join("/")}).join("|"),[Q,X]=D.length>1?["(?:",")"]:["",""];if(q="^"+Q+q+X+"$",this.partial)q="^(?:\\/|"+Q+q.slice(1,-1)+X+")$";if(this.negate)q="^(?!"+q+").+$";try{this.regexp=new RegExp(q,[...B].join(""))}catch(J){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,$=this.partial){if(this.debug("match",D,this.pattern),this.comment)return!1;if(this.empty)return D==="";if(D==="/"&&$)return!0;let F=this.options;if(this.isWindows)D=D.split("\\").join("/");let B=this.slashSplit(D);this.debug(this.pattern,"split",B);let q=this.set;this.debug(this.pattern,"set",q);let Q=B[B.length-1];if(!Q)for(let X=B.length-2;!Q&&X>=0;X--)Q=B[X];for(let X=0;X<q.length;X++){let J=q[X],Y=B;if(F.matchBase&&J.length===1)Y=[Q];if(this.matchOne(Y,J,$)){if(F.flipNegate)return!0;return!this.negate}}if(F.flipNegate)return!1;return this.negate}static defaults(D){return WD.defaults(D).Minimatch}}var WD=(D,$,F={})=>{if(G3($),!F.nocomment&&$.charAt(0)==="#")return!1;return new ZD($,F).match(D)},wH,MH=(D)=>($)=>!$.startsWith(".")&&$.endsWith(D),KH=(D)=>($)=>$.endsWith(D),EH=(D)=>{return D=D.toLowerCase(),($)=>!$.startsWith(".")&&$.toLowerCase().endsWith(D)},OH=(D)=>{return D=D.toLowerCase(),($)=>$.toLowerCase().endsWith(D)},jH,RH=(D)=>!D.startsWith(".")&&D.includes("."),NH=(D)=>D!=="."&&D!==".."&&D.includes("."),LH,ZH=(D)=>D!=="."&&D!==".."&&D.startsWith("."),IH,bH=(D)=>D.length!==0&&!D.startsWith("."),SH=(D)=>D.length!==0&&D!=="."&&D!=="..",TH,PH=([D,$=""])=>{let F=j5([D]);if(!$)return F;return $=$.toLowerCase(),(B)=>F(B)&&B.toLowerCase().endsWith($)},vH=([D,$=""])=>{let F=R5([D]);if(!$)return F;return $=$.toLowerCase(),(B)=>F(B)&&B.toLowerCase().endsWith($)},fH=([D,$=""])=>{let F=R5([D]);return!$?F:(B)=>F(B)&&B.endsWith($)},yH=([D,$=""])=>{let F=j5([D]);return!$?F:(B)=>F(B)&&B.endsWith($)},j5=([D])=>{let $=D.length;return(F)=>F.length===$&&!F.startsWith(".")},R5=([D])=>{let $=D.length;return(F)=>F.length===$&&F!=="."&&F!==".."},N5,E5,kH,GD,hH="[^/]",mH,gH="(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?",xH="(?:(?!(?:\\/|^)\\.).)*?",lH=(D,$={})=>(F)=>WD(F,D,$),LD=(D,$={})=>Object.assign({},D,$),dH=(D)=>{if(!D||typeof D!=="object"||!Object.keys(D).length)return WD;let $=WD;return Object.assign((B,q,Q={})=>$(B,q,LD(D,Q)),{Minimatch:class extends $.Minimatch{constructor(q,Q={}){super(q,LD(D,Q))}static defaults(q){return $.defaults(LD(D,q)).Minimatch}},AST:class extends $.AST{constructor(q,Q,X={}){super(q,Q,LD(D,X))}static fromGlob(q,Q={}){return $.AST.fromGlob(q,LD(D,Q))}},unescape:(B,q={})=>$.unescape(B,LD(D,q)),escape:(B,q={})=>$.escape(B,LD(D,q)),filter:(B,q={})=>$.filter(B,LD(D,q)),defaults:(B)=>$.defaults(LD(D,B)),makeRe:(B,q={})=>$.makeRe(B,LD(D,q)),braceExpand:(B,q={})=>$.braceExpand(B,LD(D,q)),match:(B,q,Q={})=>$.match(B,q,LD(D,Q)),sep:$.sep,GLOBSTAR:GD})},L5=(D,$={})=>{if(G3(D),$.nobrace||!/\{(?:(?!\{).)*\}/.test(D))return[D];return W5(D)},pH=(D,$={})=>new ZD(D,$).makeRe(),cH=(D,$,F={})=>{let B=new ZD($,F);if(D=D.filter((q)=>B.match(q)),B.options.nonull&&!D.length)D.push($);return D},O5,iH=(D)=>D.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&");var K0=FD(()=>{A5();T6();T6();wH=/^\*+([^+@!?\*\[\(]*)$/,jH=/^\*+\.\*+$/,LH=/^\.\*+$/,IH=/^\*+$/,TH=/^\?+([^+@!?\*\[\(]*)?$/,N5=typeof process==="object"&&process?typeof process.env==="object"&&process.env&&process.env.__MINIMATCH_TESTING_PLATFORM__||process.platform:"posix",E5={win32:{sep:"\\"},posix:{sep:"/"}},kH=N5==="win32"?E5.win32.sep:E5.posix.sep;WD.sep=kH;GD=Symbol("globstar **");WD.GLOBSTAR=GD;mH=hH+"*?";WD.filter=lH;WD.defaults=dH;WD.braceExpand=L5;WD.makeRe=pH;WD.match=cH;O5=/[?*]|[+@!]\(.*?\)|\[|\]/;WD.AST=_D;WD.Minimatch=ZD;WD.escape=c0;WD.unescape=ND});class E2{heap;length;static#D=!1;static create(D){let $=S5(D);if(!$)return[];E2.#D=!0;let F=new E2(D,$);return E2.#D=!1,F}constructor(D,$){if(!E2.#D)throw TypeError("instantiate Stack using Stack.create(n)");this.heap=new $(D),this.length=0}push(D){this.heap[this.length++]=D}pop(){return this.heap[--this.length]}}var nH,I5,P6,b5=(D,$,F,B)=>{typeof P6.emitWarning==="function"?P6.emitWarning(D,$,F,B):console.error(`[${F}] ${$}: ${D}`)},Z8,Z5,rH=(D)=>!I5.has(D),TO,E0=(D)=>D&&D===Math.floor(D)&&D>0&&isFinite(D),S5=(D)=>!E0(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?V3:null,V3,i0;var T5=FD(()=>{nH=typeof performance==="object"&&performance&&typeof performance.now==="function"?performance:Date,I5=new Set,P6=typeof process==="object"&&!!process?process:{},Z8=globalThis.AbortController,Z5=globalThis.AbortSignal;if(typeof Z8>"u"){Z5=class{onabort;_onabort=[];reason;aborted=!1;addEventListener(B,q){this._onabort.push(q)}},Z8=class{constructor(){$()}signal=new Z5;abort(B){if(this.signal.aborted)return;this.signal.reason=B,this.signal.aborted=!0;for(let q of this.signal._onabort)q(B);this.signal.onabort?.(B)}};let D=P6.env?.LRU_CACHE_IGNORE_AC_WARNING!=="1",$=()=>{if(!D)return;D=!1,b5("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",$)}}TO=Symbol("type");V3=class V3 extends Array{constructor(D){super(D);this.fill(0)}};i0=class i0{#D;#F;#X;#q;#Q;#M;#u;#_;get perf(){return this.#_}ttl;ttlResolution;ttlAutopurge;updateAgeOnGet;updateAgeOnHas;allowStale;noDisposeOnSet;noUpdateTTL;maxEntrySize;sizeCalculation;noDeleteOnFetchRejection;noDeleteOnStaleGet;allowStaleOnFetchAbort;allowStaleOnFetchRejection;ignoreFetchAbort;#J;#C;#G;#Y;#B;#V;#K;#w;#W;#Z;#A;#j;#R;#U;#z;#E;#N;#$;#v;static unsafeExposeInternals(D){return{starts:D.#R,ttls:D.#U,autopurgeTimers:D.#z,sizes:D.#j,keyMap:D.#G,keyList:D.#Y,valList:D.#B,next:D.#V,prev:D.#K,get head(){return D.#w},get tail(){return D.#W},free:D.#Z,isBackgroundFetch:($)=>D.#H($),backgroundFetch:($,F,B,q)=>D.#l($,F,B,q),moveToTail:($)=>D.#y($),indexes:($)=>D.#b($),rindexes:($)=>D.#S($),isStale:($)=>D.#O($)}}get max(){return this.#D}get maxSize(){return this.#F}get calculatedSize(){return this.#C}get size(){return this.#J}get fetchMethod(){return this.#M}get memoMethod(){return this.#u}get dispose(){return this.#X}get onInsert(){return this.#q}get disposeAfter(){return this.#Q}constructor(D){let{max:$=0,ttl:F,ttlResolution:B=1,ttlAutopurge:q,updateAgeOnGet:Q,updateAgeOnHas:X,allowStale:J,dispose:Y,onInsert:H,disposeAfter:_,noDisposeOnSet:G,noUpdateTTL:C,maxSize:A=0,maxEntrySize:u=0,sizeCalculation:W,fetchMethod:U,memoMethod:z,noDeleteOnFetchRejection:w,noDeleteOnStaleGet:M,allowStaleOnFetchRejection:K,allowStaleOnFetchAbort:N,ignoreFetchAbort:I,perf:f}=D;if(f!==void 0){if(typeof f?.now!=="function")throw TypeError("perf option must have a now() method if specified")}if(this.#_=f??nH,$!==0&&!E0($))throw TypeError("max option must be a nonnegative integer");let L=$?S5($):Array;if(!L)throw Error("invalid max value: "+$);if(this.#D=$,this.#F=A,this.maxEntrySize=u||this.#F,this.sizeCalculation=W,this.sizeCalculation){if(!this.#F&&!this.maxEntrySize)throw TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if(typeof this.sizeCalculation!=="function")throw TypeError("sizeCalculation set to non-function")}if(z!==void 0&&typeof z!=="function")throw TypeError("memoMethod must be a function if defined");if(this.#u=z,U!==void 0&&typeof U!=="function")throw TypeError("fetchMethod must be a function if specified");if(this.#M=U,this.#N=!!U,this.#G=new Map,this.#Y=Array($).fill(void 0),this.#B=Array($).fill(void 0),this.#V=new L($),this.#K=new L($),this.#w=0,this.#W=0,this.#Z=E2.create($),this.#J=0,this.#C=0,typeof Y==="function")this.#X=Y;if(typeof H==="function")this.#q=H;if(typeof _==="function")this.#Q=_,this.#A=[];else this.#Q=void 0,this.#A=void 0;if(this.#E=!!this.#X,this.#v=!!this.#q,this.#$=!!this.#Q,this.noDisposeOnSet=!!G,this.noUpdateTTL=!!C,this.noDeleteOnFetchRejection=!!w,this.allowStaleOnFetchRejection=!!K,this.allowStaleOnFetchAbort=!!N,this.ignoreFetchAbort=!!I,this.maxEntrySize!==0){if(this.#F!==0){if(!E0(this.#F))throw TypeError("maxSize must be a positive integer if specified")}if(!E0(this.maxEntrySize))throw TypeError("maxEntrySize must be a positive integer if specified");this.#p()}if(this.allowStale=!!J,this.noDeleteOnStaleGet=!!M,this.updateAgeOnGet=!!Q,this.updateAgeOnHas=!!X,this.ttlResolution=E0(B)||B===0?B:1,this.ttlAutopurge=!!q,this.ttl=F||0,this.ttl){if(!E0(this.ttl))throw TypeError("ttl must be a positive integer if specified");this.#T()}if(this.#D===0&&this.ttl===0&&this.#F===0)throw TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!this.#D&&!this.#F){if(rH("LRU_CACHE_UNBOUNDED"))I5.add("LRU_CACHE_UNBOUNDED"),b5("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning","LRU_CACHE_UNBOUNDED",i0)}}getRemainingTTL(D){return this.#G.has(D)?1/0:0}#T(){let D=new V3(this.#D),$=new V3(this.#D);this.#U=D,this.#R=$;let F=this.ttlAutopurge?Array(this.#D):void 0;this.#z=F,this.#h=(Q,X,J=this.#_.now())=>{if($[Q]=X!==0?J:0,D[Q]=X,F?.[Q])clearTimeout(F[Q]),F[Q]=void 0;if(X!==0&&F){let Y=setTimeout(()=>{if(this.#O(Q))this.#I(this.#Y[Q],"expire")},X+1);if(Y.unref)Y.unref();F[Q]=Y}},this.#L=(Q)=>{$[Q]=D[Q]!==0?this.#_.now():0},this.#P=(Q,X)=>{if(D[X]){let J=D[X],Y=$[X];if(!J||!Y)return;Q.ttl=J,Q.start=Y,Q.now=B||q();let H=Q.now-Y;Q.remainingTTL=J-H}};let B=0,q=()=>{let Q=this.#_.now();if(this.ttlResolution>0){B=Q;let X=setTimeout(()=>B=0,this.ttlResolution);if(X.unref)X.unref()}return Q};this.getRemainingTTL=(Q)=>{let X=this.#G.get(Q);if(X===void 0)return 0;let J=D[X],Y=$[X];if(!J||!Y)return 1/0;let H=(B||q())-Y;return J-H},this.#O=(Q)=>{let X=$[Q],J=D[Q];return!!J&&!!X&&(B||q())-X>J}}#L=()=>{};#P=()=>{};#h=()=>{};#O=()=>!1;#p(){let D=new V3(this.#D);this.#C=0,this.#j=D,this.#k=($)=>{this.#C-=D[$],D[$]=0},this.#m=($,F,B,q)=>{if(this.#H(F))return 0;if(!E0(B))if(q){if(typeof q!=="function")throw TypeError("sizeCalculation must be a function");if(B=q(F,$),!E0(B))throw TypeError("sizeCalculation return invalid (expect positive integer)")}else throw TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");return B},this.#f=($,F,B)=>{if(D[$]=F,this.#F){let q=this.#F-D[$];while(this.#C>q)this.#x(!0)}if(this.#C+=D[$],B)B.entrySize=F,B.totalCalculatedSize=this.#C}}#k=(D)=>{};#f=(D,$,F)=>{};#m=(D,$,F,B)=>{if(F||B)throw TypeError("cannot set size without setting maxSize or maxEntrySize on cache");return 0};*#b({allowStale:D=this.allowStale}={}){if(this.#J)for(let $=this.#W;;){if(!this.#g($))break;if(D||!this.#O($))yield $;if($===this.#w)break;else $=this.#K[$]}}*#S({allowStale:D=this.allowStale}={}){if(this.#J)for(let $=this.#w;;){if(!this.#g($))break;if(D||!this.#O($))yield $;if($===this.#W)break;else $=this.#V[$]}}#g(D){return D!==void 0&&this.#G.get(this.#Y[D])===D}*entries(){for(let D of this.#b())if(this.#B[D]!==void 0&&this.#Y[D]!==void 0&&!this.#H(this.#B[D]))yield[this.#Y[D],this.#B[D]]}*rentries(){for(let D of this.#S())if(this.#B[D]!==void 0&&this.#Y[D]!==void 0&&!this.#H(this.#B[D]))yield[this.#Y[D],this.#B[D]]}*keys(){for(let D of this.#b()){let $=this.#Y[D];if($!==void 0&&!this.#H(this.#B[D]))yield $}}*rkeys(){for(let D of this.#S()){let $=this.#Y[D];if($!==void 0&&!this.#H(this.#B[D]))yield $}}*values(){for(let D of this.#b())if(this.#B[D]!==void 0&&!this.#H(this.#B[D]))yield this.#B[D]}*rvalues(){for(let D of this.#S())if(this.#B[D]!==void 0&&!this.#H(this.#B[D]))yield this.#B[D]}[Symbol.iterator](){return this.entries()}[Symbol.toStringTag]="LRUCache";find(D,$={}){for(let F of this.#b()){let B=this.#B[F],q=this.#H(B)?B.__staleWhileFetching:B;if(q===void 0)continue;if(D(q,this.#Y[F],this))return this.get(this.#Y[F],$)}}forEach(D,$=this){for(let F of this.#b()){let B=this.#B[F],q=this.#H(B)?B.__staleWhileFetching:B;if(q===void 0)continue;D.call($,q,this.#Y[F],this)}}rforEach(D,$=this){for(let F of this.#S()){let B=this.#B[F],q=this.#H(B)?B.__staleWhileFetching:B;if(q===void 0)continue;D.call($,q,this.#Y[F],this)}}purgeStale(){let D=!1;for(let $ of this.#S({allowStale:!0}))if(this.#O($))this.#I(this.#Y[$],"expire"),D=!0;return D}info(D){let $=this.#G.get(D);if($===void 0)return;let F=this.#B[$],B=this.#H(F)?F.__staleWhileFetching:F;if(B===void 0)return;let q={value:B};if(this.#U&&this.#R){let Q=this.#U[$],X=this.#R[$];if(Q&&X){let J=Q-(this.#_.now()-X);q.ttl=J,q.start=Date.now()}}if(this.#j)q.size=this.#j[$];return q}dump(){let D=[];for(let $ of this.#b({allowStale:!0})){let F=this.#Y[$],B=this.#B[$],q=this.#H(B)?B.__staleWhileFetching:B;if(q===void 0||F===void 0)continue;let Q={value:q};if(this.#U&&this.#R){Q.ttl=this.#U[$];let X=this.#_.now()-this.#R[$];Q.start=Math.floor(Date.now()-X)}if(this.#j)Q.size=this.#j[$];D.unshift([F,Q])}return D}load(D){this.clear();for(let[$,F]of D){if(F.start){let B=Date.now()-F.start;F.start=this.#_.now()-B}this.set($,F.value,F)}}set(D,$,F={}){if($===void 0)return this.delete(D),this;let{ttl:B=this.ttl,start:q,noDisposeOnSet:Q=this.noDisposeOnSet,sizeCalculation:X=this.sizeCalculation,status:J}=F,{noUpdateTTL:Y=this.noUpdateTTL}=F,H=this.#m(D,$,F.size||0,X);if(this.maxEntrySize&&H>this.maxEntrySize){if(J)J.set="miss",J.maxEntrySizeExceeded=!0;return this.#I(D,"set"),this}let _=this.#J===0?void 0:this.#G.get(D);if(_===void 0){if(_=this.#J===0?this.#W:this.#Z.length!==0?this.#Z.pop():this.#J===this.#D?this.#x(!1):this.#J,this.#Y[_]=D,this.#B[_]=$,this.#G.set(D,_),this.#V[this.#W]=_,this.#K[_]=this.#W,this.#W=_,this.#J++,this.#f(_,H,J),J)J.set="add";if(Y=!1,this.#v)this.#q?.($,D,"add")}else{this.#y(_);let G=this.#B[_];if($!==G){if(this.#N&&this.#H(G)){G.__abortController.abort(Error("replaced"));let{__staleWhileFetching:C}=G;if(C!==void 0&&!Q){if(this.#E)this.#X?.(C,D,"set");if(this.#$)this.#A?.push([C,D,"set"])}}else if(!Q){if(this.#E)this.#X?.(G,D,"set");if(this.#$)this.#A?.push([G,D,"set"])}if(this.#k(_),this.#f(_,H,J),this.#B[_]=$,J){J.set="replace";let C=G&&this.#H(G)?G.__staleWhileFetching:G;if(C!==void 0)J.oldValue=C}}else if(J)J.set="update";if(this.#v)this.onInsert?.($,D,$===G?"update":"replace")}if(B!==0&&!this.#U)this.#T();if(this.#U){if(!Y)this.#h(_,B,q);if(J)this.#P(J,_)}if(!Q&&this.#$&&this.#A){let G=this.#A,C;while(C=G?.shift())this.#Q?.(...C)}return this}pop(){try{while(this.#J){let D=this.#B[this.#w];if(this.#x(!0),this.#H(D)){if(D.__staleWhileFetching)return D.__staleWhileFetching}else if(D!==void 0)return D}}finally{if(this.#$&&this.#A){let D=this.#A,$;while($=D?.shift())this.#Q?.(...$)}}}#x(D){let $=this.#w,F=this.#Y[$],B=this.#B[$];if(this.#N&&this.#H(B))B.__abortController.abort(Error("evicted"));else if(this.#E||this.#$){if(this.#E)this.#X?.(B,F,"evict");if(this.#$)this.#A?.push([B,F,"evict"])}if(this.#k($),this.#z?.[$])clearTimeout(this.#z[$]),this.#z[$]=void 0;if(D)this.#Y[$]=void 0,this.#B[$]=void 0,this.#Z.push($);if(this.#J===1)this.#w=this.#W=0,this.#Z.length=0;else this.#w=this.#V[$];return this.#G.delete(F),this.#J--,$}has(D,$={}){let{updateAgeOnHas:F=this.updateAgeOnHas,status:B}=$,q=this.#G.get(D);if(q!==void 0){let Q=this.#B[q];if(this.#H(Q)&&Q.__staleWhileFetching===void 0)return!1;if(!this.#O(q)){if(F)this.#L(q);if(B)B.has="hit",this.#P(B,q);return!0}else if(B)B.has="stale",this.#P(B,q)}else if(B)B.has="miss";return!1}peek(D,$={}){let{allowStale:F=this.allowStale}=$,B=this.#G.get(D);if(B===void 0||!F&&this.#O(B))return;let q=this.#B[B];return this.#H(q)?q.__staleWhileFetching:q}#l(D,$,F,B){let q=$===void 0?void 0:this.#B[$];if(this.#H(q))return q;let Q=new Z8,{signal:X}=F;X?.addEventListener("abort",()=>Q.abort(X.reason),{signal:Q.signal});let J={signal:Q.signal,options:F,context:B},Y=(u,W=!1)=>{let{aborted:U}=Q.signal,z=F.ignoreFetchAbort&&u!==void 0;if(F.status)if(U&&!W){if(F.status.fetchAborted=!0,F.status.fetchError=Q.signal.reason,z)F.status.fetchAbortIgnored=!0}else F.status.fetchResolved=!0;if(U&&!z&&!W)return _(Q.signal.reason);let w=C,M=this.#B[$];if(M===C||z&&W&&M===void 0)if(u===void 0)if(w.__staleWhileFetching!==void 0)this.#B[$]=w.__staleWhileFetching;else this.#I(D,"fetch");else{if(F.status)F.status.fetchUpdated=!0;this.set(D,u,J.options)}return u},H=(u)=>{if(F.status)F.status.fetchRejected=!0,F.status.fetchError=u;return _(u)},_=(u)=>{let{aborted:W}=Q.signal,U=W&&F.allowStaleOnFetchAbort,z=U||F.allowStaleOnFetchRejection,w=z||F.noDeleteOnFetchRejection,M=C;if(this.#B[$]===C){if(!w||M.__staleWhileFetching===void 0)this.#I(D,"fetch");else if(!U)this.#B[$]=M.__staleWhileFetching}if(z){if(F.status&&M.__staleWhileFetching!==void 0)F.status.returnedStale=!0;return M.__staleWhileFetching}else if(M.__returned===M)throw u},G=(u,W)=>{let U=this.#M?.(D,q,J);if(U&&U instanceof Promise)U.then((z)=>u(z===void 0?void 0:z),W);Q.signal.addEventListener("abort",()=>{if(!F.ignoreFetchAbort||F.allowStaleOnFetchAbort){if(u(void 0),F.allowStaleOnFetchAbort)u=(z)=>Y(z,!0)}})};if(F.status)F.status.fetchDispatched=!0;let C=new Promise(G).then(Y,H),A=Object.assign(C,{__abortController:Q,__staleWhileFetching:q,__returned:void 0});if($===void 0)this.set(D,A,{...J.options,status:void 0}),$=this.#G.get(D);else this.#B[$]=A;return A}#H(D){if(!this.#N)return!1;let $=D;return!!$&&$ instanceof Promise&&$.hasOwnProperty("__staleWhileFetching")&&$.__abortController instanceof Z8}async fetch(D,$={}){let{allowStale:F=this.allowStale,updateAgeOnGet:B=this.updateAgeOnGet,noDeleteOnStaleGet:q=this.noDeleteOnStaleGet,ttl:Q=this.ttl,noDisposeOnSet:X=this.noDisposeOnSet,size:J=0,sizeCalculation:Y=this.sizeCalculation,noUpdateTTL:H=this.noUpdateTTL,noDeleteOnFetchRejection:_=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:G=this.allowStaleOnFetchRejection,ignoreFetchAbort:C=this.ignoreFetchAbort,allowStaleOnFetchAbort:A=this.allowStaleOnFetchAbort,context:u,forceRefresh:W=!1,status:U,signal:z}=$;if(!this.#N){if(U)U.fetch="get";return this.get(D,{allowStale:F,updateAgeOnGet:B,noDeleteOnStaleGet:q,status:U})}let w={allowStale:F,updateAgeOnGet:B,noDeleteOnStaleGet:q,ttl:Q,noDisposeOnSet:X,size:J,sizeCalculation:Y,noUpdateTTL:H,noDeleteOnFetchRejection:_,allowStaleOnFetchRejection:G,allowStaleOnFetchAbort:A,ignoreFetchAbort:C,status:U,signal:z},M=this.#G.get(D);if(M===void 0){if(U)U.fetch="miss";let K=this.#l(D,M,w,u);return K.__returned=K}else{let K=this.#B[M];if(this.#H(K)){let c=F&&K.__staleWhileFetching!==void 0;if(U){if(U.fetch="inflight",c)U.returnedStale=!0}return c?K.__staleWhileFetching:K.__returned=K}let N=this.#O(M);if(!W&&!N){if(U)U.fetch="hit";if(this.#y(M),B)this.#L(M);if(U)this.#P(U,M);return K}let I=this.#l(D,M,w,u),L=I.__staleWhileFetching!==void 0&&F;if(U){if(U.fetch=N?"stale":"refresh",L&&N)U.returnedStale=!0}return L?I.__staleWhileFetching:I.__returned=I}}async forceFetch(D,$={}){let F=await this.fetch(D,$);if(F===void 0)throw Error("fetch() returned undefined");return F}memo(D,$={}){let F=this.#u;if(!F)throw Error("no memoMethod provided to constructor");let{context:B,forceRefresh:q,...Q}=$,X=this.get(D,Q);if(!q&&X!==void 0)return X;let J=F(D,X,{options:Q,context:B});return this.set(D,J,Q),J}get(D,$={}){let{allowStale:F=this.allowStale,updateAgeOnGet:B=this.updateAgeOnGet,noDeleteOnStaleGet:q=this.noDeleteOnStaleGet,status:Q}=$,X=this.#G.get(D);if(X!==void 0){let J=this.#B[X],Y=this.#H(J);if(Q)this.#P(Q,X);if(this.#O(X)){if(Q)Q.get="stale";if(!Y){if(!q)this.#I(D,"expire");if(Q&&F)Q.returnedStale=!0;return F?J:void 0}else{if(Q&&F&&J.__staleWhileFetching!==void 0)Q.returnedStale=!0;return F?J.__staleWhileFetching:void 0}}else{if(Q)Q.get="hit";if(Y)return J.__staleWhileFetching;if(this.#y(X),B)this.#L(X);return J}}else if(Q)Q.get="miss"}#d(D,$){this.#K[$]=D,this.#V[D]=$}#y(D){if(D!==this.#W){if(D===this.#w)this.#w=this.#V[D];else this.#d(this.#K[D],this.#V[D]);this.#d(this.#W,D),this.#W=D}}delete(D){return this.#I(D,"delete")}#I(D,$){let F=!1;if(this.#J!==0){let B=this.#G.get(D);if(B!==void 0){if(this.#z?.[B])clearTimeout(this.#z?.[B]),this.#z[B]=void 0;if(F=!0,this.#J===1)this.#c($);else{this.#k(B);let q=this.#B[B];if(this.#H(q))q.__abortController.abort(Error("deleted"));else if(this.#E||this.#$){if(this.#E)this.#X?.(q,D,$);if(this.#$)this.#A?.push([q,D,$])}if(this.#G.delete(D),this.#Y[B]=void 0,this.#B[B]=void 0,B===this.#W)this.#W=this.#K[B];else if(B===this.#w)this.#w=this.#V[B];else{let Q=this.#K[B];this.#V[Q]=this.#V[B];let X=this.#V[B];this.#K[X]=this.#K[B]}this.#J--,this.#Z.push(B)}}}if(this.#$&&this.#A?.length){let B=this.#A,q;while(q=B?.shift())this.#Q?.(...q)}return F}clear(){return this.#c("delete")}#c(D){for(let $ of this.#S({allowStale:!0})){let F=this.#B[$];if(this.#H(F))F.__abortController.abort(Error("deleted"));else{let B=this.#Y[$];if(this.#E)this.#X?.(F,B,D);if(this.#$)this.#A?.push([F,B,D])}}if(this.#G.clear(),this.#B.fill(void 0),this.#Y.fill(void 0),this.#U&&this.#R){this.#U.fill(0),this.#R.fill(0);for(let $ of this.#z??[])if($!==void 0)clearTimeout($);this.#z?.fill(void 0)}if(this.#j)this.#j.fill(0);if(this.#w=0,this.#W=0,this.#Z.length=0,this.#C=0,this.#J=0,this.#$&&this.#A){let $=this.#A,F;while(F=$?.shift())this.#Q?.(...F)}}}});import{EventEmitter as m6}from"node:events";import k5 from"node:stream";import{StringDecoder as aH}from"node:string_decoder";class g6{src;dest;opts;ondrain;constructor(D,$,F){this.src=D,this.dest=$,this.opts=F,this.ondrain=()=>D[j2](),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()}}var P5,sH=(D)=>!!D&&typeof D==="object"&&(D instanceof r0||D instanceof k5||oH(D)||tH(D)),oH=(D)=>!!D&&typeof D==="object"&&D instanceof m6&&typeof D.pipe==="function"&&D.pipe!==k5.Writable.prototype.pipe,tH=(D)=>!!D&&typeof D==="object"&&D instanceof m6&&typeof D.write==="function"&&typeof D.end==="function",_0,G0,O0,I8,W3,b8,v5,S8,f5,lD,O2,XD,A3,j2,QD,AD,JD,v6,T8,VD,t,f6,y6,y5,k6,tD,h6,P8,U3,n0,jD,u3=(D)=>Promise.resolve().then(D),eH=(D)=>D(),D_=(D)=>D==="end"||D==="finish"||D==="prefinish",$_=(D)=>D instanceof ArrayBuffer||!!D&&typeof D==="object"&&D.constructor&&D.constructor.name==="ArrayBuffer"&&D.byteLength>=0,F_=(D)=>!Buffer.isBuffer(D)&&ArrayBuffer.isView(D),h5,B_=(D)=>!!D.objectMode,q_=(D)=>!D.objectMode&&!!D.encoding&&D.encoding!=="buffer",r0;var x6=FD(()=>{P5=typeof process==="object"&&process?process:{stdout:null,stderr:null},_0=Symbol("EOF"),G0=Symbol("maybeEmitEnd"),O0=Symbol("emittedEnd"),I8=Symbol("emittingEnd"),W3=Symbol("emittedError"),b8=Symbol("closed"),v5=Symbol("read"),S8=Symbol("flush"),f5=Symbol("flushChunk"),lD=Symbol("encoding"),O2=Symbol("decoder"),XD=Symbol("flowing"),A3=Symbol("paused"),j2=Symbol("resume"),QD=Symbol("buffer"),AD=Symbol("pipes"),JD=Symbol("bufferLength"),v6=Symbol("bufferPush"),T8=Symbol("bufferShift"),VD=Symbol("objectMode"),t=Symbol("destroyed"),f6=Symbol("error"),y6=Symbol("emitData"),y5=Symbol("emitEnd"),k6=Symbol("emitEnd2"),tD=Symbol("async"),h6=Symbol("abort"),P8=Symbol("aborted"),U3=Symbol("signal"),n0=Symbol("dataListeners"),jD=Symbol("discarded");h5=class h5 extends g6{unpipe(){this.src.removeListener("error",this.proxyErrors),super.unpipe()}constructor(D,$,F){super(D,$,F);this.proxyErrors=(B)=>$.emit("error",B),D.on("error",this.proxyErrors)}};r0=class r0 extends m6{[XD]=!1;[A3]=!1;[AD]=[];[QD]=[];[VD];[lD];[tD];[O2];[_0]=!1;[O0]=!1;[I8]=!1;[b8]=!1;[W3]=null;[JD]=0;[t]=!1;[U3];[P8]=!1;[n0]=0;[jD]=!1;writable=!0;readable=!0;constructor(...D){let $=D[0]||{};super();if($.objectMode&&typeof $.encoding==="string")throw TypeError("Encoding and objectMode may not be used together");if(B_($))this[VD]=!0,this[lD]=null;else if(q_($))this[lD]=$.encoding,this[VD]=!1;else this[VD]=!1,this[lD]=null;if(this[tD]=!!$.async,this[O2]=this[lD]?new aH(this[lD]):null,$&&$.debugExposeBuffer===!0)Object.defineProperty(this,"buffer",{get:()=>this[QD]});if($&&$.debugExposePipes===!0)Object.defineProperty(this,"pipes",{get:()=>this[AD]});let{signal:F}=$;if(F)if(this[U3]=F,F.aborted)this[h6]();else F.addEventListener("abort",()=>this[h6]())}get bufferLength(){return this[JD]}get encoding(){return this[lD]}set encoding(D){throw Error("Encoding must be set at instantiation time")}setEncoding(D){throw Error("Encoding must be set at instantiation time")}get objectMode(){return this[VD]}set objectMode(D){throw Error("objectMode must be set at instantiation time")}get["async"](){return this[tD]}set["async"](D){this[tD]=this[tD]||!!D}[h6](){this[P8]=!0,this.emit("abort",this[U3]?.reason),this.destroy(this[U3]?.reason)}get aborted(){return this[P8]}set aborted(D){}write(D,$,F){if(this[P8])return!1;if(this[_0])throw Error("write after end");if(this[t])return this.emit("error",Object.assign(Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"})),!0;if(typeof $==="function")F=$,$="utf8";if(!$)$="utf8";let B=this[tD]?u3:eH;if(!this[VD]&&!Buffer.isBuffer(D)){if(F_(D))D=Buffer.from(D.buffer,D.byteOffset,D.byteLength);else if($_(D))D=Buffer.from(D);else if(typeof D!=="string")throw Error("Non-contiguous data written to non-objectMode stream")}if(this[VD]){if(this[XD]&&this[JD]!==0)this[S8](!0);if(this[XD])this.emit("data",D);else this[v6](D);if(this[JD]!==0)this.emit("readable");if(F)B(F);return this[XD]}if(!D.length){if(this[JD]!==0)this.emit("readable");if(F)B(F);return this[XD]}if(typeof D==="string"&&!($===this[lD]&&!this[O2]?.lastNeed))D=Buffer.from(D,$);if(Buffer.isBuffer(D)&&this[lD])D=this[O2].write(D);if(this[XD]&&this[JD]!==0)this[S8](!0);if(this[XD])this.emit("data",D);else this[v6](D);if(this[JD]!==0)this.emit("readable");if(F)B(F);return this[XD]}read(D){if(this[t])return null;if(this[jD]=!1,this[JD]===0||D===0||D&&D>this[JD])return this[G0](),null;if(this[VD])D=null;if(this[QD].length>1&&!this[VD])this[QD]=[this[lD]?this[QD].join(""):Buffer.concat(this[QD],this[JD])];let $=this[v5](D||null,this[QD][0]);return this[G0](),$}[v5](D,$){if(this[VD])this[T8]();else{let F=$;if(D===F.length||D===null)this[T8]();else if(typeof F==="string")this[QD][0]=F.slice(D),$=F.slice(0,D),this[JD]-=D;else this[QD][0]=F.subarray(D),$=F.subarray(0,D),this[JD]-=D}if(this.emit("data",$),!this[QD].length&&!this[_0])this.emit("drain");return $}end(D,$,F){if(typeof D==="function")F=D,D=void 0;if(typeof $==="function")F=$,$="utf8";if(D!==void 0)this.write(D,$);if(F)this.once("end",F);if(this[_0]=!0,this.writable=!1,this[XD]||!this[A3])this[G0]();return this}[j2](){if(this[t])return;if(!this[n0]&&!this[AD].length)this[jD]=!0;if(this[A3]=!1,this[XD]=!0,this.emit("resume"),this[QD].length)this[S8]();else if(this[_0])this[G0]();else this.emit("drain")}resume(){return this[j2]()}pause(){this[XD]=!1,this[A3]=!0,this[jD]=!1}get destroyed(){return this[t]}get flowing(){return this[XD]}get paused(){return this[A3]}[v6](D){if(this[VD])this[JD]+=1;else this[JD]+=D.length;this[QD].push(D)}[T8](){if(this[VD])this[JD]-=1;else this[JD]-=this[QD][0].length;return this[QD].shift()}[S8](D=!1){do;while(this[f5](this[T8]())&&this[QD].length);if(!D&&!this[QD].length&&!this[_0])this.emit("drain")}[f5](D){return this.emit("data",D),this[XD]}pipe(D,$){if(this[t])return D;this[jD]=!1;let F=this[O0];if($=$||{},D===P5.stdout||D===P5.stderr)$.end=!1;else $.end=$.end!==!1;if($.proxyErrors=!!$.proxyErrors,F){if($.end)D.end()}else if(this[AD].push(!$.proxyErrors?new g6(this,D,$):new h5(this,D,$)),this[tD])u3(()=>this[j2]());else this[j2]();return D}unpipe(D){let $=this[AD].find((F)=>F.dest===D);if($){if(this[AD].length===1){if(this[XD]&&this[n0]===0)this[XD]=!1;this[AD]=[]}else this[AD].splice(this[AD].indexOf($),1);$.unpipe()}}addListener(D,$){return this.on(D,$)}on(D,$){let F=super.on(D,$);if(D==="data"){if(this[jD]=!1,this[n0]++,!this[AD].length&&!this[XD])this[j2]()}else if(D==="readable"&&this[JD]!==0)super.emit("readable");else if(D_(D)&&this[O0])super.emit(D),this.removeAllListeners(D);else if(D==="error"&&this[W3]){let B=$;if(this[tD])u3(()=>B.call(this,this[W3]));else B.call(this,this[W3])}return F}removeListener(D,$){return this.off(D,$)}off(D,$){let F=super.off(D,$);if(D==="data"){if(this[n0]=this.listeners("data").length,this[n0]===0&&!this[jD]&&!this[AD].length)this[XD]=!1}return F}removeAllListeners(D){let $=super.removeAllListeners(D);if(D==="data"||D===void 0){if(this[n0]=0,!this[jD]&&!this[AD].length)this[XD]=!1}return $}get emittedEnd(){return this[O0]}[G0](){if(!this[I8]&&!this[O0]&&!this[t]&&this[QD].length===0&&this[_0]){if(this[I8]=!0,this.emit("end"),this.emit("prefinish"),this.emit("finish"),this[b8])this.emit("close");this[I8]=!1}}emit(D,...$){let F=$[0];if(D!=="error"&&D!=="close"&&D!==t&&this[t])return!1;else if(D==="data")return!this[VD]&&!F?!1:this[tD]?(u3(()=>this[y6](F)),!0):this[y6](F);else if(D==="end")return this[y5]();else if(D==="close"){if(this[b8]=!0,!this[O0]&&!this[t])return!1;let q=super.emit("close");return this.removeAllListeners("close"),q}else if(D==="error"){this[W3]=F,super.emit(f6,F);let q=!this[U3]||this.listeners("error").length?super.emit("error",F):!1;return this[G0](),q}else if(D==="resume"){let q=super.emit("resume");return this[G0](),q}else if(D==="finish"||D==="prefinish"){let q=super.emit(D);return this.removeAllListeners(D),q}let B=super.emit(D,...$);return this[G0](),B}[y6](D){for(let F of this[AD])if(F.dest.write(D)===!1)this.pause();let $=this[jD]?!1:super.emit("data",D);return this[G0](),$}[y5](){if(this[O0])return!1;return this[O0]=!0,this.readable=!1,this[tD]?(u3(()=>this[k6]()),!0):this[k6]()}[k6](){if(this[O2]){let $=this[O2].end();if($){for(let F of this[AD])F.dest.write($);if(!this[jD])super.emit("data",$)}}for(let $ of this[AD])$.end();let D=super.emit("end");return this.removeAllListeners("end"),D}async collect(){let D=Object.assign([],{dataLength:0});if(!this[VD])D.dataLength=0;let $=this.promise();return this.on("data",(F)=>{if(D.push(F),!this[VD])D.dataLength+=F.length}),await $,D}async concat(){if(this[VD])throw Error("cannot concat in objectMode");let D=await this.collect();return this[lD]?D.join(""):Buffer.concat(D,D.dataLength)}async promise(){return new Promise((D,$)=>{this.on(t,()=>$(Error("stream destroyed"))),this.on("error",(F)=>$(F)),this.on("end",()=>D())})}[Symbol.asyncIterator](){this[jD]=!1;let D=!1,$=async()=>{return this.pause(),D=!0,{value:void 0,done:!0}};return{next:()=>{if(D)return $();let B=this.read();if(B!==null)return Promise.resolve({done:!1,value:B});if(this[_0])return $();let q,Q,X=(_)=>{this.off("data",J),this.off("end",Y),this.off(t,H),$(),Q(_)},J=(_)=>{this.off("error",X),this.off("end",Y),this.off(t,H),this.pause(),q({value:_,done:!!this[_0]})},Y=()=>{this.off("error",X),this.off("data",J),this.off(t,H),$(),q({done:!0,value:void 0})},H=()=>X(Error("stream destroyed"));return new Promise((_,G)=>{Q=G,q=_,this.once(t,H),this.once("error",X),this.once("end",Y),this.once("data",J)})},throw:$,return:$,[Symbol.asyncIterator](){return this}}}[Symbol.iterator](){this[jD]=!1;let D=!1,$=()=>{return this.pause(),this.off(f6,$),this.off(t,$),this.off("end",$),D=!0,{done:!0,value:void 0}},F=()=>{if(D)return $();let B=this.read();return B===null?$():{done:!1,value:B}};return this.once("end",$),this.once(f6,$),this.once(t,$),{next:F,throw:$,return:$,[Symbol.iterator](){return this}}}destroy(D){if(this[t]){if(D)this.emit("error",D);else this.emit(t);return this}this[t]=!0,this[jD]=!0,this[QD].length=0,this[JD]=0;let $=this;if(typeof $.close==="function"&&!this[b8])$.close();if(D)this.emit("error",D);else this.emit(t);return this}static get isStream(){return sH}}});import{posix as X_,win32 as p6}from"node:path";import{fileURLToPath as Q_}from"node:url";import{lstatSync as J_,readdir as Y_,readdirSync as H_,readlinkSync as __,realpathSync as G_}from"fs";import*as C_ from"node:fs";import{lstat as W_,readdir as A_,readlink as U_,realpath as u_}from"node:fs/promises";var V_,w3,d5=(D)=>!D||D===w3||D===C_?w3:{...w3,...D,promises:{...w3.promises,...D.promises||{}}},p5,z_=(D)=>D.replace(/\//g,"\\").replace(p5,"$1\\"),w_,bD=0,c5=1,i5=2,eD=4,n5=6,r5=8,a0=10,a5=12,ID=15,z3,l6=16,m5=32,M3=64,dD=128,v8=256,y8=512,g5,M_=1023,d6=(D)=>D.isFile()?r5:D.isDirectory()?eD:D.isSymbolicLink()?a0:D.isCharacterDevice()?i5:D.isBlockDevice()?n5:D.isSocket()?a5:D.isFIFO()?c5:bD,x5,K3=(D)=>{let $=x5.get(D);if($)return $;let F=D.normalize("NFKD");return x5.set(D,F),F},l5,f8=(D)=>{let $=l5.get(D);if($)return $;let F=K3(D.toLowerCase());return l5.set(D,F),F},c6,s5,o5,UD,k8,h8,i6,E3,O3,m8,pO,t5;var e5=FD(()=>{T5();x6();V_=G_.native,w3={lstatSync:J_,readdir:Y_,readdirSync:H_,readlinkSync:__,realpathSync:V_,promises:{lstat:W_,readdir:A_,readlink:U_,realpath:u_}},p5=/^\\\\\?\\([a-z]:)\\?$/i,w_=/[\\\/]/,z3=~ID,g5=M3|dD|y8,x5=new i0({max:4096}),l5=new i0({max:4096});c6=class c6 extends i0{constructor(){super({max:256})}};s5=class s5 extends i0{constructor(D=16384){super({maxSize:D,sizeCalculation:($)=>$.length+1})}};o5=Symbol("PathScurry setAsCwd");UD=class UD{name;root;roots;parent;nocase;isCWD=!1;#D;#F;get dev(){return this.#F}#X;get mode(){return this.#X}#q;get nlink(){return this.#q}#Q;get uid(){return this.#Q}#M;get gid(){return this.#M}#u;get rdev(){return this.#u}#_;get blksize(){return this.#_}#J;get ino(){return this.#J}#C;get size(){return this.#C}#G;get blocks(){return this.#G}#Y;get atimeMs(){return this.#Y}#B;get mtimeMs(){return this.#B}#V;get ctimeMs(){return this.#V}#K;get birthtimeMs(){return this.#K}#w;get atime(){return this.#w}#W;get mtime(){return this.#W}#Z;get ctime(){return this.#Z}#A;get birthtime(){return this.#A}#j;#R;#U;#z;#E;#N;#$;#v;#T;#L;get parentPath(){return(this.parent||this).fullpath()}get path(){return this.parentPath}constructor(D,$=bD,F,B,q,Q,X){if(this.name=D,this.#j=q?f8(D):K3(D),this.#$=$&M_,this.nocase=q,this.roots=B,this.root=F||this,this.#v=Q,this.#U=X.fullpath,this.#E=X.relative,this.#N=X.relativePosix,this.parent=X.parent,this.parent)this.#D=this.parent.#D;else this.#D=d5(X.fs)}depth(){if(this.#R!==void 0)return this.#R;if(!this.parent)return this.#R=0;return this.#R=this.parent.depth()+1}childrenCache(){return this.#v}resolve(D){if(!D)return this;let $=this.getRootString(D),B=D.substring($.length).split(this.splitSep);return $?this.getRoot($).#P(B):this.#P(B)}#P(D){let $=this;for(let F of D)$=$.child(F);return $}children(){let D=this.#v.get(this);if(D)return D;let $=Object.assign([],{provisional:0});return this.#v.set(this,$),this.#$&=~l6,$}child(D,$){if(D===""||D===".")return this;if(D==="..")return this.parent||this;let F=this.children(),B=this.nocase?f8(D):K3(D);for(let J of F)if(J.#j===B)return J;let q=this.parent?this.sep:"",Q=this.#U?this.#U+q+D:void 0,X=this.newChild(D,bD,{...$,parent:this,fullpath:Q});if(!this.canReaddir())X.#$|=dD;return F.push(X),X}relative(){if(this.isCWD)return"";if(this.#E!==void 0)return this.#E;let D=this.name,$=this.parent;if(!$)return this.#E=this.name;let F=$.relative();return F+(!F||!$.parent?"":this.sep)+D}relativePosix(){if(this.sep==="/")return this.relative();if(this.isCWD)return"";if(this.#N!==void 0)return this.#N;let D=this.name,$=this.parent;if(!$)return this.#N=this.fullpathPosix();let F=$.relativePosix();return F+(!F||!$.parent?"":"/")+D}fullpath(){if(this.#U!==void 0)return this.#U;let D=this.name,$=this.parent;if(!$)return this.#U=this.name;let B=$.fullpath()+(!$.parent?"":this.sep)+D;return this.#U=B}fullpathPosix(){if(this.#z!==void 0)return this.#z;if(this.sep==="/")return this.#z=this.fullpath();if(!this.parent){let B=this.fullpath().replace(/\\/g,"/");if(/^[a-z]:\//i.test(B))return this.#z=`//?/${B}`;else return this.#z=B}let D=this.parent,$=D.fullpathPosix(),F=$+(!$||!D.parent?"":"/")+this.name;return this.#z=F}isUnknown(){return(this.#$&ID)===bD}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.#$&ID)===r5}isDirectory(){return(this.#$&ID)===eD}isCharacterDevice(){return(this.#$&ID)===i5}isBlockDevice(){return(this.#$&ID)===n5}isFIFO(){return(this.#$&ID)===c5}isSocket(){return(this.#$&ID)===a5}isSymbolicLink(){return(this.#$&a0)===a0}lstatCached(){return this.#$&m5?this:void 0}readlinkCached(){return this.#T}realpathCached(){return this.#L}readdirCached(){let D=this.children();return D.slice(0,D.provisional)}canReadlink(){if(this.#T)return!0;if(!this.parent)return!1;let D=this.#$&ID;return!(D!==bD&&D!==a0||this.#$&v8||this.#$&dD)}calledReaddir(){return!!(this.#$&l6)}isENOENT(){return!!(this.#$&dD)}isNamed(D){return!this.nocase?this.#j===K3(D):this.#j===f8(D)}async readlink(){let D=this.#T;if(D)return D;if(!this.canReadlink())return;if(!this.parent)return;try{let $=await this.#D.promises.readlink(this.fullpath()),F=(await this.parent.realpath())?.resolve($);if(F)return this.#T=F}catch($){this.#S($.code);return}}readlinkSync(){let D=this.#T;if(D)return D;if(!this.canReadlink())return;if(!this.parent)return;try{let $=this.#D.readlinkSync(this.fullpath()),F=this.parent.realpathSync()?.resolve($);if(F)return this.#T=F}catch($){this.#S($.code);return}}#h(D){this.#$|=l6;for(let $=D.provisional;$<D.length;$++){let F=D[$];if(F)F.#O()}}#O(){if(this.#$&dD)return;this.#$=(this.#$|dD)&z3,this.#p()}#p(){let D=this.children();D.provisional=0;for(let $ of D)$.#O()}#k(){this.#$|=y8,this.#f()}#f(){if(this.#$&M3)return;let D=this.#$;if((D&ID)===eD)D&=z3;this.#$=D|M3,this.#p()}#m(D=""){if(D==="ENOTDIR"||D==="EPERM")this.#f();else if(D==="ENOENT")this.#O();else this.children().provisional=0}#b(D=""){if(D==="ENOTDIR")this.parent.#f();else if(D==="ENOENT")this.#O()}#S(D=""){let $=this.#$;if($|=v8,D==="ENOENT")$|=dD;if(D==="EINVAL"||D==="UNKNOWN")$&=z3;if(this.#$=$,D==="ENOTDIR"&&this.parent)this.parent.#f()}#g(D,$){return this.#l(D,$)||this.#x(D,$)}#x(D,$){let F=d6(D),B=this.newChild(D.name,F,{parent:this}),q=B.#$&ID;if(q!==eD&&q!==a0&&q!==bD)B.#$|=M3;return $.unshift(B),$.provisional++,B}#l(D,$){for(let F=$.provisional;F<$.length;F++){let B=$[F];if((this.nocase?f8(D.name):K3(D.name))!==B.#j)continue;return this.#H(D,B,F,$)}}#H(D,$,F,B){let q=$.name;if($.#$=$.#$&z3|d6(D),q!==D.name)$.name=D.name;if(F!==B.provisional){if(F===B.length-1)B.pop();else B.splice(F,1);B.unshift($)}return B.provisional++,$}async lstat(){if((this.#$&dD)===0)try{return this.#d(await this.#D.promises.lstat(this.fullpath())),this}catch(D){this.#b(D.code)}}lstatSync(){if((this.#$&dD)===0)try{return this.#d(this.#D.lstatSync(this.fullpath())),this}catch(D){this.#b(D.code)}}#d(D){let{atime:$,atimeMs:F,birthtime:B,birthtimeMs:q,blksize:Q,blocks:X,ctime:J,ctimeMs:Y,dev:H,gid:_,ino:G,mode:C,mtime:A,mtimeMs:u,nlink:W,rdev:U,size:z,uid:w}=D;this.#w=$,this.#Y=F,this.#A=B,this.#K=q,this.#_=Q,this.#G=X,this.#Z=J,this.#V=Y,this.#F=H,this.#M=_,this.#J=G,this.#X=C,this.#W=A,this.#B=u,this.#q=W,this.#u=U,this.#C=z,this.#Q=w;let M=d6(D);if(this.#$=this.#$&z3|M|m5,M!==bD&&M!==eD&&M!==a0)this.#$|=M3}#y=[];#I=!1;#c(D){this.#I=!1;let $=this.#y.slice();this.#y.length=0,$.forEach((F)=>F(null,D))}readdirCB(D,$=!1){if(!this.canReaddir()){if($)D(null,[]);else queueMicrotask(()=>D(null,[]));return}let F=this.children();if(this.calledReaddir()){let q=F.slice(0,F.provisional);if($)D(null,q);else queueMicrotask(()=>D(null,q));return}if(this.#y.push(D),this.#I)return;this.#I=!0;let B=this.fullpath();this.#D.readdir(B,{withFileTypes:!0},(q,Q)=>{if(q)this.#m(q.code),F.provisional=0;else{for(let X of Q)this.#g(X,F);this.#h(F)}this.#c(F.slice(0,F.provisional));return})}#i;async readdir(){if(!this.canReaddir())return[];let D=this.children();if(this.calledReaddir())return D.slice(0,D.provisional);let $=this.fullpath();if(this.#i)await this.#i;else{let F=()=>{};this.#i=new Promise((B)=>F=B);try{for(let B of await this.#D.promises.readdir($,{withFileTypes:!0}))this.#g(B,D);this.#h(D)}catch(B){this.#m(B.code),D.provisional=0}this.#i=void 0,F()}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 $=this.fullpath();try{for(let F of this.#D.readdirSync($,{withFileTypes:!0}))this.#g(F,D);this.#h(D)}catch(F){this.#m(F.code),D.provisional=0}return D.slice(0,D.provisional)}canReaddir(){if(this.#$&g5)return!1;let D=ID&this.#$;if(!(D===bD||D===eD||D===a0))return!1;return!0}shouldWalk(D,$){return(this.#$&eD)===eD&&!(this.#$&g5)&&!D.has(this)&&(!$||$(this))}async realpath(){if(this.#L)return this.#L;if((y8|v8|dD)&this.#$)return;try{let D=await this.#D.promises.realpath(this.fullpath());return this.#L=this.resolve(D)}catch(D){this.#k()}}realpathSync(){if(this.#L)return this.#L;if((y8|v8|dD)&this.#$)return;try{let D=this.#D.realpathSync(this.fullpath());return this.#L=this.resolve(D)}catch(D){this.#k()}}[o5](D){if(D===this)return;D.isCWD=!1,this.isCWD=!0;let $=new Set([]),F=[],B=this;while(B&&B.parent)$.add(B),B.#E=F.join(this.sep),B.#N=F.join("/"),B=B.parent,F.push("..");B=D;while(B&&B.parent&&!$.has(B))B.#E=void 0,B.#N=void 0,B=B.parent}};k8=class k8 extends UD{sep="\\";splitSep=w_;constructor(D,$=bD,F,B,q,Q,X){super(D,$,F,B,q,Q,X)}newChild(D,$=bD,F={}){return new k8(D,$,this.root,this.roots,this.nocase,this.childrenCache(),F)}getRootString(D){return p6.parse(D).root}getRoot(D){if(D=z_(D.toUpperCase()),D===this.root.name)return this.root;for(let[$,F]of Object.entries(this.roots))if(this.sameRoot(D,$))return this.roots[D]=F;return this.roots[D]=new E3(D,this).root}sameRoot(D,$=this.root.name){return D=D.toUpperCase().replace(/\//g,"\\").replace(p5,"$1\\"),D===$}};h8=class h8 extends UD{splitSep="/";sep="/";constructor(D,$=bD,F,B,q,Q,X){super(D,$,F,B,q,Q,X)}getRootString(D){return D.startsWith("/")?"/":""}getRoot(D){return this.root}newChild(D,$=bD,F={}){return new h8(D,$,this.root,this.roots,this.nocase,this.childrenCache(),F)}};i6=class i6{root;rootPath;roots;cwd;#D;#F;#X;nocase;#q;constructor(D=process.cwd(),$,F,{nocase:B,childrenCacheSize:q=16384,fs:Q=w3}={}){if(this.#q=d5(Q),D instanceof URL||D.startsWith("file://"))D=Q_(D);let X=$.resolve(D);this.roots=Object.create(null),this.rootPath=this.parseRootPath(X),this.#D=new c6,this.#F=new c6,this.#X=new s5(q);let J=X.substring(this.rootPath.length).split(F);if(J.length===1&&!J[0])J.pop();if(B===void 0)throw TypeError("must provide nocase setting to PathScurryBase ctor");this.nocase=B,this.root=this.newRoot(this.#q),this.roots[this.rootPath]=this.root;let Y=this.root,H=J.length-1,_=$.sep,G=this.rootPath,C=!1;for(let A of J){let u=H--;Y=Y.child(A,{relative:Array(u).fill("..").join(_),relativePosix:Array(u).fill("..").join("/"),fullpath:G+=(C?"":_)+A}),C=!0}this.cwd=Y}depth(D=this.cwd){if(typeof D==="string")D=this.cwd.resolve(D);return D.depth()}childrenCache(){return this.#X}resolve(...D){let $="";for(let q=D.length-1;q>=0;q--){let Q=D[q];if(!Q||Q===".")continue;if($=$?`${Q}/${$}`:Q,this.isAbsolute(Q))break}let F=this.#D.get($);if(F!==void 0)return F;let B=this.cwd.resolve($).fullpath();return this.#D.set($,B),B}resolvePosix(...D){let $="";for(let q=D.length-1;q>=0;q--){let Q=D[q];if(!Q||Q===".")continue;if($=$?`${Q}/${$}`:Q,this.isAbsolute(Q))break}let F=this.#F.get($);if(F!==void 0)return F;let B=this.cwd.resolve($).fullpathPosix();return this.#F.set($,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,$={withFileTypes:!0}){if(typeof D==="string")D=this.cwd.resolve(D);else if(!(D instanceof UD))$=D,D=this.cwd;let{withFileTypes:F}=$;if(!D.canReaddir())return[];else{let B=await D.readdir();return F?B:B.map((q)=>q.name)}}readdirSync(D=this.cwd,$={withFileTypes:!0}){if(typeof D==="string")D=this.cwd.resolve(D);else if(!(D instanceof UD))$=D,D=this.cwd;let{withFileTypes:F=!0}=$;if(!D.canReaddir())return[];else if(F)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:$}={withFileTypes:!1}){if(typeof D==="string")D=this.cwd.resolve(D);else if(!(D instanceof UD))$=D.withFileTypes,D=this.cwd;let F=await D.readlink();return $?F:F?.fullpath()}readlinkSync(D=this.cwd,{withFileTypes:$}={withFileTypes:!1}){if(typeof D==="string")D=this.cwd.resolve(D);else if(!(D instanceof UD))$=D.withFileTypes,D=this.cwd;let F=D.readlinkSync();return $?F:F?.fullpath()}async realpath(D=this.cwd,{withFileTypes:$}={withFileTypes:!1}){if(typeof D==="string")D=this.cwd.resolve(D);else if(!(D instanceof UD))$=D.withFileTypes,D=this.cwd;let F=await D.realpath();return $?F:F?.fullpath()}realpathSync(D=this.cwd,{withFileTypes:$}={withFileTypes:!1}){if(typeof D==="string")D=this.cwd.resolve(D);else if(!(D instanceof UD))$=D.withFileTypes,D=this.cwd;let F=D.realpathSync();return $?F:F?.fullpath()}async walk(D=this.cwd,$={}){if(typeof D==="string")D=this.cwd.resolve(D);else if(!(D instanceof UD))$=D,D=this.cwd;let{withFileTypes:F=!0,follow:B=!1,filter:q,walkFilter:Q}=$,X=[];if(!q||q(D))X.push(F?D:D.fullpath());let J=new Set,Y=(_,G)=>{J.add(_),_.readdirCB((C,A)=>{if(C)return G(C);let u=A.length;if(!u)return G();let W=()=>{if(--u===0)G()};for(let U of A){if(!q||q(U))X.push(F?U:U.fullpath());if(B&&U.isSymbolicLink())U.realpath().then((z)=>z?.isUnknown()?z.lstat():z).then((z)=>z?.shouldWalk(J,Q)?Y(z,W):W());else if(U.shouldWalk(J,Q))Y(U,W);else W()}},!0)},H=D;return new Promise((_,G)=>{Y(H,(C)=>{if(C)return G(C);_(X)})})}walkSync(D=this.cwd,$={}){if(typeof D==="string")D=this.cwd.resolve(D);else if(!(D instanceof UD))$=D,D=this.cwd;let{withFileTypes:F=!0,follow:B=!1,filter:q,walkFilter:Q}=$,X=[];if(!q||q(D))X.push(F?D:D.fullpath());let J=new Set([D]);for(let Y of J){let H=Y.readdirSync();for(let _ of H){if(!q||q(_))X.push(F?_:_.fullpath());let G=_;if(_.isSymbolicLink()){if(!(B&&(G=_.realpathSync())))continue;if(G.isUnknown())G.lstatSync()}if(G.shouldWalk(J,Q))J.add(G)}}return X}[Symbol.asyncIterator](){return this.iterate()}iterate(D=this.cwd,$={}){if(typeof D==="string")D=this.cwd.resolve(D);else if(!(D instanceof UD))$=D,D=this.cwd;return this.stream(D,$)[Symbol.asyncIterator]()}[Symbol.iterator](){return this.iterateSync()}*iterateSync(D=this.cwd,$={}){if(typeof D==="string")D=this.cwd.resolve(D);else if(!(D instanceof UD))$=D,D=this.cwd;let{withFileTypes:F=!0,follow:B=!1,filter:q,walkFilter:Q}=$;if(!q||q(D))yield F?D:D.fullpath();let X=new Set([D]);for(let J of X){let Y=J.readdirSync();for(let H of Y){if(!q||q(H))yield F?H:H.fullpath();let _=H;if(H.isSymbolicLink()){if(!(B&&(_=H.realpathSync())))continue;if(_.isUnknown())_.lstatSync()}if(_.shouldWalk(X,Q))X.add(_)}}}stream(D=this.cwd,$={}){if(typeof D==="string")D=this.cwd.resolve(D);else if(!(D instanceof UD))$=D,D=this.cwd;let{withFileTypes:F=!0,follow:B=!1,filter:q,walkFilter:Q}=$,X=new r0({objectMode:!0});if(!q||q(D))X.write(F?D:D.fullpath());let J=new Set,Y=[D],H=0,_=()=>{let G=!1;while(!G){let C=Y.shift();if(!C){if(H===0)X.end();return}H++,J.add(C);let A=(W,U,z=!1)=>{if(W)return X.emit("error",W);if(B&&!z){let w=[];for(let M of U)if(M.isSymbolicLink())w.push(M.realpath().then((K)=>K?.isUnknown()?K.lstat():K));if(w.length){Promise.all(w).then(()=>A(null,U,!0));return}}for(let w of U)if(w&&(!q||q(w))){if(!X.write(F?w:w.fullpath()))G=!0}H--;for(let w of U){let M=w.realpathCached()||w;if(M.shouldWalk(J,Q))Y.push(M)}if(G&&!X.flowing)X.once("drain",_);else if(!u)_()},u=!0;C.readdirCB(A,!0),u=!1}};return _(),X}streamSync(D=this.cwd,$={}){if(typeof D==="string")D=this.cwd.resolve(D);else if(!(D instanceof UD))$=D,D=this.cwd;let{withFileTypes:F=!0,follow:B=!1,filter:q,walkFilter:Q}=$,X=new r0({objectMode:!0}),J=new Set;if(!q||q(D))X.write(F?D:D.fullpath());let Y=[D],H=0,_=()=>{let G=!1;while(!G){let C=Y.shift();if(!C){if(H===0)X.end();return}H++,J.add(C);let A=C.readdirSync();for(let u of A)if(!q||q(u)){if(!X.write(F?u:u.fullpath()))G=!0}H--;for(let u of A){let W=u;if(u.isSymbolicLink()){if(!(B&&(W=u.realpathSync())))continue;if(W.isUnknown())W.lstatSync()}if(W.shouldWalk(J,Q))Y.push(W)}}if(G&&!X.flowing)X.once("drain",_)};return _(),X}chdir(D=this.cwd){let $=this.cwd;this.cwd=typeof D==="string"?this.cwd.resolve(D):D,this.cwd[o5]($)}};E3=class E3 extends i6{sep="\\";constructor(D=process.cwd(),$={}){let{nocase:F=!0}=$;super(D,p6,"\\",{...$,nocase:F});this.nocase=F;for(let B=this.cwd;B;B=B.parent)B.nocase=this.nocase}parseRootPath(D){return p6.parse(D).root.toUpperCase()}newRoot(D){return new k8(this.rootPath,eD,void 0,this.roots,this.nocase,this.childrenCache(),{fs:D})}isAbsolute(D){return D.startsWith("/")||D.startsWith("\\")||/^[a-z]:(\/|\\)/i.test(D)}};O3=class O3 extends i6{sep="/";constructor(D=process.cwd(),$={}){let{nocase:F=!1}=$;super(D,X_,"/",{...$,nocase:F});this.nocase=F}parseRootPath(D){return"/"}newRoot(D){return new h8(this.rootPath,eD,void 0,this.roots,this.nocase,this.childrenCache(),{fs:D})}isAbsolute(D){return D.startsWith("/")}};m8=class m8 extends O3{constructor(D=process.cwd(),$={}){let{nocase:F=!0}=$;super(D,{...$,nocase:F})}};pO=process.platform==="win32"?k8:h8,t5=process.platform==="win32"?E3:process.platform==="darwin"?m8:O3});class R2{#D;#F;#X;length;#q;#Q;#M;#u;#_;#J;#C=!0;constructor(D,$,F,B){if(!K_(D))throw TypeError("empty pattern list");if(!E_($))throw TypeError("empty glob list");if($.length!==D.length)throw TypeError("mismatched pattern list and glob list lengths");if(this.length=D.length,F<0||F>=this.length)throw TypeError("index out of range");if(this.#D=D,this.#F=$,this.#X=F,this.#q=B,this.#X===0){if(this.isUNC()){let[q,Q,X,J,...Y]=this.#D,[H,_,G,C,...A]=this.#F;if(Y[0]==="")Y.shift(),A.shift();let u=[q,Q,X,J,""].join("/"),W=[H,_,G,C,""].join("/");this.#D=[u,...Y],this.#F=[W,...A],this.length=this.#D.length}else if(this.isDrive()||this.isAbsolute()){let[q,...Q]=this.#D,[X,...J]=this.#F;if(Q[0]==="")Q.shift(),J.shift();let Y=q+"/",H=X+"/";this.#D=[Y,...Q],this.#F=[H,...J],this.length=this.#D.length}}}pattern(){return this.#D[this.#X]}isString(){return typeof this.#D[this.#X]==="string"}isGlobstar(){return this.#D[this.#X]===GD}isRegExp(){return this.#D[this.#X]instanceof RegExp}globString(){return this.#M=this.#M||(this.#X===0?this.isAbsolute()?this.#F[0]+this.#F.slice(1).join("/"):this.#F.join("/"):this.#F.slice(this.#X).join("/"))}hasMore(){return this.length>this.#X+1}rest(){if(this.#Q!==void 0)return this.#Q;if(!this.hasMore())return this.#Q=null;return this.#Q=new R2(this.#D,this.#F,this.#X+1,this.#q),this.#Q.#J=this.#J,this.#Q.#_=this.#_,this.#Q.#u=this.#u,this.#Q}isUNC(){let D=this.#D;return this.#_!==void 0?this.#_:this.#_=this.#q==="win32"&&this.#X===0&&D[0]===""&&D[1]===""&&typeof D[2]==="string"&&!!D[2]&&typeof D[3]==="string"&&!!D[3]}isDrive(){let D=this.#D;return this.#u!==void 0?this.#u:this.#u=this.#q==="win32"&&this.#X===0&&this.length>1&&typeof D[0]==="string"&&/^[a-z]:$/i.test(D[0])}isAbsolute(){let D=this.#D;return this.#J!==void 0?this.#J:this.#J=D[0]===""&&D.length>1||this.isDrive()||this.isUNC()}root(){let D=this.#D[0];return typeof D==="string"&&this.isAbsolute()&&this.#X===0?D:""}checkFollowGlobstar(){return!(this.#X===0||!this.isGlobstar()||!this.#C)}markFollowGlobstar(){if(this.#X===0||!this.isGlobstar()||!this.#C)return!1;return this.#C=!1,!0}}var K_=(D)=>D.length>=1,E_=(D)=>D.length>=1;var n6=FD(()=>{K0()});class N2{relative;relativeChildren;absolute;absoluteChildren;platform;mmopts;constructor(D,{nobrace:$,nocase:F,noext:B,noglobstar:q,platform:Q=O_}){this.relative=[],this.absolute=[],this.relativeChildren=[],this.absoluteChildren=[],this.platform=Q,this.mmopts={dot:!0,nobrace:$,nocase:F,noext:B,noglobstar:q,optimizationLevel:2,platform:Q,nocomment:!0,nonegate:!0};for(let X of D)this.add(X)}add(D){let $=new ZD(D,this.mmopts);for(let F=0;F<$.set.length;F++){let B=$.set[F],q=$.globParts[F];if(!B||!q)throw Error("invalid pattern object");while(B[0]==="."&&q[0]===".")B.shift(),q.shift();let Q=new R2(B,q,0,this.platform),X=new ZD(Q.globString(),this.mmopts),J=q[q.length-1]==="**",Y=Q.isAbsolute();if(Y)this.absolute.push(X);else this.relative.push(X);if(J)if(Y)this.absoluteChildren.push(X);else this.relativeChildren.push(X)}}ignored(D){let $=D.fullpath(),F=`${$}/`,B=D.relative()||".",q=`${B}/`;for(let Q of this.relative)if(Q.match(B)||Q.match(q))return!0;for(let Q of this.absolute)if(Q.match($)||Q.match(F))return!0;return!1}childrenIgnored(D){let $=D.fullpath()+"/",F=(D.relative()||".")+"/";for(let B of this.relativeChildren)if(B.match(F))return!0;for(let B of this.absoluteChildren)if(B.match($))return!0;return!1}}var O_;var r6=FD(()=>{K0();n6();O_=typeof process==="object"&&process&&typeof process.platform==="string"?process.platform:"linux"});class a6{store;constructor(D=new Map){this.store=D}copy(){return new a6(new Map(this.store))}hasWalked(D,$){return this.store.get(D.fullpath())?.has($.globString())}storeWalked(D,$){let F=D.fullpath(),B=this.store.get(F);if(B)B.add($.globString());else this.store.set(F,new Set([$.globString()]))}}class D${store=new Map;add(D,$,F){let B=($?2:0)|(F?1:0),q=this.store.get(D);this.store.set(D,q===void 0?B:B&q)}entries(){return[...this.store.entries()].map(([D,$])=>[D,!!($&2),!!($&1)])}}class $${store=new Map;add(D,$){if(!D.canReaddir())return;let F=this.store.get(D);if(F){if(!F.find((B)=>B.globString()===$.globString()))F.push($)}else this.store.set(D,[$])}get(D){let $=this.store.get(D);if(!$)throw Error("attempting to walk unknown path");return $}entries(){return this.keys().map((D)=>[D,this.store.get(D)])}keys(){return[...this.store.keys()].filter((D)=>D.canReaddir())}}class j3{hasWalkedCache;matches=new D$;subwalks=new $$;patterns;follow;dot;opts;constructor(D,$){this.opts=D,this.follow=!!D.follow,this.dot=!!D.dot,this.hasWalkedCache=$?$.copy():new a6}processPatterns(D,$){this.patterns=$;let F=$.map((B)=>[D,B]);for(let[B,q]of F){this.hasWalkedCache.storeWalked(B,q);let Q=q.root(),X=q.isAbsolute()&&this.opts.absolute!==!1;if(Q){B=B.resolve(Q==="/"&&this.opts.root!==void 0?this.opts.root:Q);let _=q.rest();if(!_){this.matches.add(B,!0,!1);continue}else q=_}if(B.isENOENT())continue;let J,Y,H=!1;while(typeof(J=q.pattern())==="string"&&(Y=q.rest()))B=B.resolve(J),q=Y,H=!0;if(J=q.pattern(),Y=q.rest(),H){if(this.hasWalkedCache.hasWalked(B,q))continue;this.hasWalkedCache.storeWalked(B,q)}if(typeof J==="string"){let _=J===".."||J===""||J===".";this.matches.add(B.resolve(J),X,_);continue}else if(J===GD){if(!B.isSymbolicLink()||this.follow||q.checkFollowGlobstar())this.subwalks.add(B,q);let _=Y?.pattern(),G=Y?.rest();if(!Y||(_===""||_===".")&&!G)this.matches.add(B,X,_===""||_===".");else if(_===".."){let C=B.parent||B;if(!G)this.matches.add(C,X,!0);else if(!this.hasWalkedCache.hasWalked(C,G))this.subwalks.add(C,G)}}else if(J instanceof RegExp)this.subwalks.add(B,q)}return this}subwalkTargets(){return this.subwalks.keys()}child(){return new j3(this.opts,this.hasWalkedCache)}filterEntries(D,$){let F=this.subwalks.get(D),B=this.child();for(let q of $)for(let Q of F){let X=Q.isAbsolute(),J=Q.pattern(),Y=Q.rest();if(J===GD)B.testGlobstar(q,Q,Y,X);else if(J instanceof RegExp)B.testRegExp(q,J,Y,X);else B.testString(q,J,Y,X)}return B}testGlobstar(D,$,F,B){if(this.dot||!D.name.startsWith(".")){if(!$.hasMore())this.matches.add(D,B,!1);if(D.canReaddir()){if(this.follow||!D.isSymbolicLink())this.subwalks.add(D,$);else if(D.isSymbolicLink()){if(F&&$.checkFollowGlobstar())this.subwalks.add(D,F);else if($.markFollowGlobstar())this.subwalks.add(D,$)}}}if(F){let q=F.pattern();if(typeof q==="string"&&q!==".."&&q!==""&&q!==".")this.testString(D,q,F.rest(),B);else if(q===".."){let Q=D.parent||D;this.subwalks.add(Q,F)}else if(q instanceof RegExp)this.testRegExp(D,q,F.rest(),B)}}testRegExp(D,$,F,B){if(!$.test(D.name))return;if(!F)this.matches.add(D,B,!1);else this.subwalks.add(D,F)}testString(D,$,F,B){if(!D.isNamed($))return;if(!F)this.matches.add(D,B,!1);else this.subwalks.add(D,F)}}var F$=FD(()=>{K0()});class s6{path;patterns;opts;seen=new Set;paused=!1;aborted=!1;#D=[];#F;#X;signal;maxDepth;includeChildMatches;constructor(D,$,F){if(this.patterns=D,this.path=$,this.opts=F,this.#X=!F.posix&&F.platform==="win32"?"\\":"/",this.includeChildMatches=F.includeChildMatches!==!1,F.ignore||!this.includeChildMatches){if(this.#F=j_(F.ignore??[],F),!this.includeChildMatches&&typeof this.#F.add!=="function")throw Error("cannot ignore child matches, ignore lacks add() method.")}if(this.maxDepth=F.maxDepth||1/0,F.signal)this.signal=F.signal,this.signal.addEventListener("abort",()=>{this.#D.length=0})}#q(D){return this.seen.has(D)||!!this.#F?.ignored?.(D)}#Q(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,$){if($&&this.opts.nodir)return;let F;if(this.opts.realpath){if(F=D.realpathCached()||await D.realpath(),!F)return;D=F}let q=D.isUnknown()||this.opts.stat?await D.lstat():D;if(this.opts.follow&&this.opts.nodir&&q?.isSymbolicLink()){let Q=await q.realpath();if(Q&&(Q.isUnknown()||this.opts.stat))await Q.lstat()}return this.matchCheckTest(q,$)}matchCheckTest(D,$){return D&&(this.maxDepth===1/0||D.depth()<=this.maxDepth)&&(!$||D.canReaddir())&&(!this.opts.nodir||!D.isDirectory())&&(!this.opts.nodir||!this.opts.follow||!D.isSymbolicLink()||!D.realpathCached()?.isDirectory())&&!this.#q(D)?D:void 0}matchCheckSync(D,$){if($&&this.opts.nodir)return;let F;if(this.opts.realpath){if(F=D.realpathCached()||D.realpathSync(),!F)return;D=F}let q=D.isUnknown()||this.opts.stat?D.lstatSync():D;if(this.opts.follow&&this.opts.nodir&&q?.isSymbolicLink()){let Q=q.realpathSync();if(Q&&(Q?.isUnknown()||this.opts.stat))Q.lstatSync()}return this.matchCheckTest(q,$)}matchFinish(D,$){if(this.#q(D))return;if(!this.includeChildMatches&&this.#F?.add){let q=`${D.relativePosix()}/**`;this.#F.add(q)}let F=this.opts.absolute===void 0?$:this.opts.absolute;this.seen.add(D);let B=this.opts.mark&&D.isDirectory()?this.#X:"";if(this.opts.withFileTypes)this.matchEmit(D);else if(F){let q=this.opts.posix?D.fullpathPosix():D.fullpath();this.matchEmit(q+B)}else{let q=this.opts.posix?D.relativePosix():D.relative(),Q=this.opts.dotRelative&&!q.startsWith(".."+this.#X)?"."+this.#X:"";this.matchEmit(!q?"."+B:Q+q+B)}}async match(D,$,F){let B=await this.matchCheck(D,F);if(B)this.matchFinish(B,$)}matchSync(D,$,F){let B=this.matchCheckSync(D,F);if(B)this.matchFinish(B,$)}walkCB(D,$,F){if(this.signal?.aborted)F();this.walkCB2(D,$,new j3(this.opts),F)}walkCB2(D,$,F,B){if(this.#Q(D))return B();if(this.signal?.aborted)B();if(this.paused){this.onResume(()=>this.walkCB2(D,$,F,B));return}F.processPatterns(D,$);let q=1,Q=()=>{if(--q===0)B()};for(let[X,J,Y]of F.matches.entries()){if(this.#q(X))continue;q++,this.match(X,J,Y).then(()=>Q())}for(let X of F.subwalkTargets()){if(this.maxDepth!==1/0&&X.depth()>=this.maxDepth)continue;q++;let J=X.readdirCached();if(X.calledReaddir())this.walkCB3(X,J,F,Q);else X.readdirCB((Y,H)=>this.walkCB3(X,H,F,Q),!0)}Q()}walkCB3(D,$,F,B){F=F.filterEntries(D,$);let q=1,Q=()=>{if(--q===0)B()};for(let[X,J,Y]of F.matches.entries()){if(this.#q(X))continue;q++,this.match(X,J,Y).then(()=>Q())}for(let[X,J]of F.subwalks.entries())q++,this.walkCB2(X,J,F.child(),Q);Q()}walkCBSync(D,$,F){if(this.signal?.aborted)F();this.walkCB2Sync(D,$,new j3(this.opts),F)}walkCB2Sync(D,$,F,B){if(this.#Q(D))return B();if(this.signal?.aborted)B();if(this.paused){this.onResume(()=>this.walkCB2Sync(D,$,F,B));return}F.processPatterns(D,$);let q=1,Q=()=>{if(--q===0)B()};for(let[X,J,Y]of F.matches.entries()){if(this.#q(X))continue;this.matchSync(X,J,Y)}for(let X of F.subwalkTargets()){if(this.maxDepth!==1/0&&X.depth()>=this.maxDepth)continue;q++;let J=X.readdirSync();this.walkCB3Sync(X,J,F,Q)}Q()}walkCB3Sync(D,$,F,B){F=F.filterEntries(D,$);let q=1,Q=()=>{if(--q===0)B()};for(let[X,J,Y]of F.matches.entries()){if(this.#q(X))continue;this.matchSync(X,J,Y)}for(let[X,J]of F.subwalks.entries())q++,this.walkCB2Sync(X,J,F.child(),Q);Q()}}var j_=(D,$)=>typeof D==="string"?new N2([D],$):Array.isArray(D)?new N2(D,$):D,g8,x8;var B$=FD(()=>{x6();r6();F$();g8=class g8 extends s6{matches=new Set;constructor(D,$,F){super(D,$,F)}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,$)=>{this.walkCB(this.path,this.patterns,()=>{if(this.signal?.aborted)$(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}};x8=class x8 extends s6{results;constructor(D,$,F){super(D,$,F);this.results=new r0({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}}});import{fileURLToPath as R_}from"node:url";var N_,pD;var o6=FD(()=>{K0();e5();n6();B$();N_=typeof process==="object"&&process&&typeof process.platform==="string"?process.platform:"linux";pD=class pD{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,$){if(!$)throw TypeError("glob options required");if(this.withFileTypes=!!$.withFileTypes,this.signal=$.signal,this.follow=!!$.follow,this.dot=!!$.dot,this.dotRelative=!!$.dotRelative,this.nodir=!!$.nodir,this.mark=!!$.mark,!$.cwd)this.cwd="";else if($.cwd instanceof URL||$.cwd.startsWith("file://"))$.cwd=R_($.cwd);if(this.cwd=$.cwd||"",this.root=$.root,this.magicalBraces=!!$.magicalBraces,this.nobrace=!!$.nobrace,this.noext=!!$.noext,this.realpath=!!$.realpath,this.absolute=$.absolute,this.includeChildMatches=$.includeChildMatches!==!1,this.noglobstar=!!$.noglobstar,this.matchBase=!!$.matchBase,this.maxDepth=typeof $.maxDepth==="number"?$.maxDepth:1/0,this.stat=!!$.stat,this.ignore=$.ignore,this.withFileTypes&&this.absolute!==void 0)throw Error("cannot set absolute and withFileTypes:true");if(typeof D==="string")D=[D];if(this.windowsPathsNoEscape=!!$.windowsPathsNoEscape||$.allowWindowsEscape===!1,this.windowsPathsNoEscape)D=D.map((J)=>J.replace(/\\/g,"/"));if(this.matchBase){if($.noglobstar)throw TypeError("base matching requires globstar");D=D.map((J)=>J.includes("/")?J:`./**/${J}`)}if(this.pattern=D,this.platform=$.platform||N_,this.opts={...$,platform:this.platform},$.scurry){if(this.scurry=$.scurry,$.nocase!==void 0&&$.nocase!==$.scurry.nocase)throw Error("nocase option contradicts provided scurry option")}else{let J=$.platform==="win32"?E3:$.platform==="darwin"?m8:$.platform?O3:t5;this.scurry=new J(this.cwd,{nocase:$.nocase,fs:$.fs})}this.nocase=this.scurry.nocase;let F=this.platform==="darwin"||this.platform==="win32",B={...$,dot:this.dot,matchBase:this.matchBase,nobrace:this.nobrace,nocase:this.nocase,nocaseMagicOnly:F,nocomment:!0,noext:this.noext,nonegate:!0,optimizationLevel:2,platform:this.platform,windowsPathsNoEscape:this.windowsPathsNoEscape,debug:!!this.opts.debug},q=this.pattern.map((J)=>new ZD(J,B)),[Q,X]=q.reduce((J,Y)=>{return J[0].push(...Y.set),J[1].push(...Y.globParts),J},[[],[]]);this.patterns=Q.map((J,Y)=>{let H=X[Y];if(!H)throw Error("invalid pattern object");return new R2(J,H,0,this.platform)})}async walk(){return[...await new g8(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 g8(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 x8(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 x8(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 l8=(D,$={})=>{if(!Array.isArray(D))D=[D];for(let F of D)if(new ZD(F,$).hasMagic())return!0;return!1};var t6=FD(()=>{K0()});var _$={};F8(_$,{unescape:()=>ND,sync:()=>H$,streamSync:()=>X$,stream:()=>Q$,iterateSync:()=>J$,iterate:()=>Y$,hasMagic:()=>l8,globSync:()=>D9,globStreamSync:()=>R3,globStream:()=>e6,globIterateSync:()=>N3,globIterate:()=>$9,glob:()=>L2,escape:()=>c0,Ignore:()=>N2,Glob:()=>pD});function R3(D,$={}){return new pD(D,$).streamSync()}function e6(D,$={}){return new pD(D,$).stream()}function D9(D,$={}){return new pD(D,$).walkSync()}async function q$(D,$={}){return new pD(D,$).walk()}function N3(D,$={}){return new pD(D,$).iterateSync()}function $9(D,$={}){return new pD(D,$).iterate()}var X$,Q$,J$,Y$,H$,L2;var F9=FD(()=>{K0();o6();t6();K0();o6();t6();r6();X$=R3,Q$=Object.assign(e6,{sync:R3}),J$=N3,Y$=Object.assign($9,{sync:N3}),H$=Object.assign(D9,{stream:R3,iterate:N3}),L2=Object.assign(q$,{glob:q$,globSync:D9,sync:H$,globStream:e6,stream:Q$,globStreamSync:R3,streamSync:X$,globIterate:$9,iterate:Y$,globIterateSync:N3,iterateSync:J$,Glob:pD,hasMagic:l8,escape:c0,unescape:ND});L2.glob=L2});var d=Z((v_)=>{var B9=Symbol.for("yaml.alias"),G$=Symbol.for("yaml.document"),d8=Symbol.for("yaml.map"),C$=Symbol.for("yaml.pair"),q9=Symbol.for("yaml.scalar"),p8=Symbol.for("yaml.seq"),C0=Symbol.for("yaml.node.type"),L_=(D)=>!!D&&typeof D==="object"&&D[C0]===B9,Z_=(D)=>!!D&&typeof D==="object"&&D[C0]===G$,I_=(D)=>!!D&&typeof D==="object"&&D[C0]===d8,b_=(D)=>!!D&&typeof D==="object"&&D[C0]===C$,V$=(D)=>!!D&&typeof D==="object"&&D[C0]===q9,S_=(D)=>!!D&&typeof D==="object"&&D[C0]===p8;function W$(D){if(D&&typeof D==="object")switch(D[C0]){case d8:case p8:return!0}return!1}function T_(D){if(D&&typeof D==="object")switch(D[C0]){case B9:case d8:case q9:case p8:return!0}return!1}var P_=(D)=>(V$(D)||W$(D))&&!!D.anchor;v_.ALIAS=B9;v_.DOC=G$;v_.MAP=d8;v_.NODE_TYPE=C0;v_.PAIR=C$;v_.SCALAR=q9;v_.SEQ=p8;v_.hasAnchor=P_;v_.isAlias=L_;v_.isCollection=W$;v_.isDocument=Z_;v_.isMap=I_;v_.isNode=T_;v_.isPair=b_;v_.isScalar=V$;v_.isSeq=S_});var L3=Z((o_)=>{var $D=d(),zD=Symbol("break visit"),A$=Symbol("skip children"),D0=Symbol("remove node");function c8(D,$){let F=U$($);if($D.isDocument(D)){if(Z2(null,D.contents,F,Object.freeze([D]))===D0)D.contents=null}else Z2(null,D,F,Object.freeze([]))}c8.BREAK=zD;c8.SKIP=A$;c8.REMOVE=D0;function Z2(D,$,F,B){let q=u$(D,$,F,B);if($D.isNode(q)||$D.isPair(q))return z$(D,B,q),Z2(D,q,F,B);if(typeof q!=="symbol"){if($D.isCollection($)){B=Object.freeze(B.concat($));for(let Q=0;Q<$.items.length;++Q){let X=Z2(Q,$.items[Q],F,B);if(typeof X==="number")Q=X-1;else if(X===zD)return zD;else if(X===D0)$.items.splice(Q,1),Q-=1}}else if($D.isPair($)){B=Object.freeze(B.concat($));let Q=Z2("key",$.key,F,B);if(Q===zD)return zD;else if(Q===D0)$.key=null;let X=Z2("value",$.value,F,B);if(X===zD)return zD;else if(X===D0)$.value=null}}return q}async function i8(D,$){let F=U$($);if($D.isDocument(D)){if(await I2(null,D.contents,F,Object.freeze([D]))===D0)D.contents=null}else await I2(null,D,F,Object.freeze([]))}i8.BREAK=zD;i8.SKIP=A$;i8.REMOVE=D0;async function I2(D,$,F,B){let q=await u$(D,$,F,B);if($D.isNode(q)||$D.isPair(q))return z$(D,B,q),I2(D,q,F,B);if(typeof q!=="symbol"){if($D.isCollection($)){B=Object.freeze(B.concat($));for(let Q=0;Q<$.items.length;++Q){let X=await I2(Q,$.items[Q],F,B);if(typeof X==="number")Q=X-1;else if(X===zD)return zD;else if(X===D0)$.items.splice(Q,1),Q-=1}}else if($D.isPair($)){B=Object.freeze(B.concat($));let Q=await I2("key",$.key,F,B);if(Q===zD)return zD;else if(Q===D0)$.key=null;let X=await I2("value",$.value,F,B);if(X===zD)return zD;else if(X===D0)$.value=null}}return q}function U$(D){if(typeof D==="object"&&(D.Collection||D.Node||D.Value))return Object.assign({Alias:D.Node,Map:D.Node,Scalar:D.Node,Seq:D.Node},D.Value&&{Map:D.Value,Scalar:D.Value,Seq:D.Value},D.Collection&&{Map:D.Collection,Seq:D.Collection},D);return D}function u$(D,$,F,B){if(typeof F==="function")return F(D,$,B);if($D.isMap($))return F.Map?.(D,$,B);if($D.isSeq($))return F.Seq?.(D,$,B);if($D.isPair($))return F.Pair?.(D,$,B);if($D.isScalar($))return F.Scalar?.(D,$,B);if($D.isAlias($))return F.Alias?.(D,$,B);return}function z$(D,$,F){let B=$[$.length-1];if($D.isCollection(B))B.items[D]=F;else if($D.isPair(B))if(D==="key")B.key=F;else B.value=F;else if($D.isDocument(B))B.contents=F;else{let q=$D.isAlias(B)?"alias":"scalar";throw Error(`Cannot replace node with ${q} parent`)}}o_.visit=c8;o_.visitAsync=i8});var X9=Z((BG)=>{var w$=d(),DG=L3(),$G={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},FG=(D)=>D.replace(/[!,[\]{}]/g,($)=>$G[$]);class SD{constructor(D,$){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},SD.defaultYaml,D),this.tags=Object.assign({},SD.defaultTags,$)}clone(){let D=new SD(this.yaml,this.tags);return D.docStart=this.docStart,D}atDocument(){let D=new SD(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:SD.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},SD.defaultTags);break}return D}add(D,$){if(this.atNextDocument)this.yaml={explicit:SD.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},SD.defaultTags),this.atNextDocument=!1;let F=D.trim().split(/[ \t]+/),B=F.shift();switch(B){case"%TAG":{if(F.length!==2){if($(0,"%TAG directive should contain exactly two parts"),F.length<2)return!1}let[q,Q]=F;return this.tags[q]=Q,!0}case"%YAML":{if(this.yaml.explicit=!0,F.length!==1)return $(0,"%YAML directive should contain exactly one part"),!1;let[q]=F;if(q==="1.1"||q==="1.2")return this.yaml.version=q,!0;else{let Q=/^\d+\.\d+$/.test(q);return $(6,`Unsupported YAML version ${q}`,Q),!1}}default:return $(0,`Unknown directive ${B}`,!0),!1}}tagName(D,$){if(D==="!")return"!";if(D[0]!=="!")return $(`Not a valid tag: ${D}`),null;if(D[1]==="<"){let Q=D.slice(2,-1);if(Q==="!"||Q==="!!")return $(`Verbatim tags aren't resolved, so ${D} is invalid.`),null;if(D[D.length-1]!==">")$("Verbatim tags must end with a >");return Q}let[,F,B]=D.match(/^(.*!)([^!]*)$/s);if(!B)$(`The ${D} tag has no suffix`);let q=this.tags[F];if(q)try{return q+decodeURIComponent(B)}catch(Q){return $(String(Q)),null}if(F==="!")return D;return $(`Could not resolve tag: ${D}`),null}tagString(D){for(let[$,F]of Object.entries(this.tags))if(D.startsWith(F))return $+FG(D.substring(F.length));return D[0]==="!"?D:`!<${D}>`}toString(D){let $=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],F=Object.entries(this.tags),B;if(D&&F.length>0&&w$.isNode(D.contents)){let q={};DG.visit(D.contents,(Q,X)=>{if(w$.isNode(X)&&X.tag)q[X.tag]=!0}),B=Object.keys(q)}else B=[];for(let[q,Q]of F){if(q==="!!"&&Q==="tag:yaml.org,2002:")continue;if(!D||B.some((X)=>X.startsWith(Q)))$.push(`%TAG ${q} ${Q}`)}return $.join(`
60
- `)}}SD.defaultYaml={explicit:!1,version:"1.2"};SD.defaultTags={"!!":"tag:yaml.org,2002:"};BG.Directives=SD});var n8=Z((YG)=>{var M$=d(),XG=L3();function QG(D){if(/[\x00-\x19\s,[\]{}]/.test(D)){let F=`Anchor must not contain whitespace or control characters: ${JSON.stringify(D)}`;throw Error(F)}return!0}function K$(D){let $=new Set;return XG.visit(D,{Value(F,B){if(B.anchor)$.add(B.anchor)}}),$}function E$(D,$){for(let F=1;;++F){let B=`${D}${F}`;if(!$.has(B))return B}}function JG(D,$){let F=[],B=new Map,q=null;return{onAnchor:(Q)=>{F.push(Q),q??(q=K$(D));let X=E$($,q);return q.add(X),X},setAnchors:()=>{for(let Q of F){let X=B.get(Q);if(typeof X==="object"&&X.anchor&&(M$.isScalar(X.node)||M$.isCollection(X.node)))X.node.anchor=X.anchor;else{let J=Error("Failed to resolve repeated object (this should not happen)");throw J.source=Q,J}}},sourceObjects:B}}YG.anchorIsValid=QG;YG.anchorNames=K$;YG.createNodeAnchors=JG;YG.findNewAnchor=E$});var Q9=Z((VG)=>{function Z3(D,$,F,B){if(B&&typeof B==="object")if(Array.isArray(B))for(let q=0,Q=B.length;q<Q;++q){let X=B[q],J=Z3(D,B,String(q),X);if(J===void 0)delete B[q];else if(J!==X)B[q]=J}else if(B instanceof Map)for(let q of Array.from(B.keys())){let Q=B.get(q),X=Z3(D,B,q,Q);if(X===void 0)B.delete(q);else if(X!==Q)B.set(q,X)}else if(B instanceof Set)for(let q of Array.from(B)){let Q=Z3(D,B,q,q);if(Q===void 0)B.delete(q);else if(Q!==q)B.delete(q),B.add(Q)}else for(let[q,Q]of Object.entries(B)){let X=Z3(D,B,q,Q);if(X===void 0)delete B[q];else if(X!==Q)B[q]=X}return D.call($,F,B)}VG.applyReviver=Z3});var j0=Z((UG)=>{var AG=d();function O$(D,$,F){if(Array.isArray(D))return D.map((B,q)=>O$(B,String(q),F));if(D&&typeof D.toJSON==="function"){if(!F||!AG.hasAnchor(D))return D.toJSON($,F);let B={aliasCount:0,count:1,res:void 0};F.anchors.set(D,B),F.onCreate=(Q)=>{B.res=Q,delete F.onCreate};let q=D.toJSON($,F);if(F.onCreate)F.onCreate(q);return q}if(typeof D==="bigint"&&!F?.keep)return Number(D);return D}UG.toJS=O$});var r8=Z((MG)=>{var zG=Q9(),j$=d(),wG=j0();class R${constructor(D){Object.defineProperty(this,j$.NODE_TYPE,{value:D})}clone(){let D=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));if(this.range)D.range=this.range.slice();return D}toJS(D,{mapAsMap:$,maxAliasCount:F,onAnchor:B,reviver:q}={}){if(!j$.isDocument(D))throw TypeError("A document argument is required");let Q={anchors:new Map,doc:D,keep:!0,mapAsMap:$===!0,mapKeyWarned:!1,maxAliasCount:typeof F==="number"?F:100},X=wG.toJS(this,"",Q);if(typeof B==="function")for(let{count:J,res:Y}of Q.anchors.values())B(Y,J);return typeof q==="function"?zG.applyReviver(q,{"":X},"",X):X}}MG.NodeBase=R$});var I3=Z((NG)=>{var EG=n8(),OG=L3(),b2=d(),jG=r8(),RG=j0();class N$ extends jG.NodeBase{constructor(D){super(b2.ALIAS);this.source=D,Object.defineProperty(this,"tag",{set(){throw Error("Alias nodes cannot have tags")}})}resolve(D,$){let F;if($?.aliasResolveCache)F=$.aliasResolveCache;else if(F=[],OG.visit(D,{Node:(q,Q)=>{if(b2.isAlias(Q)||b2.hasAnchor(Q))F.push(Q)}}),$)$.aliasResolveCache=F;let B=void 0;for(let q of F){if(q===this)break;if(q.anchor===this.source)B=q}return B}toJSON(D,$){if(!$)return{source:this.source};let{anchors:F,doc:B,maxAliasCount:q}=$,Q=this.resolve(B,$);if(!Q){let J=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw ReferenceError(J)}let X=F.get(Q);if(!X)RG.toJS(Q,null,$),X=F.get(Q);if(X?.res===void 0)throw ReferenceError("This should not happen: Alias anchor was not resolved?");if(q>=0){if(X.count+=1,X.aliasCount===0)X.aliasCount=a8(B,Q,F);if(X.count*X.aliasCount>q)throw ReferenceError("Excessive alias count indicates a resource exhaustion attack")}return X.res}toString(D,$,F){let B=`*${this.source}`;if(D){if(EG.anchorIsValid(this.source),D.options.verifyAliasOrder&&!D.anchors.has(this.source)){let q=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw Error(q)}if(D.implicitKey)return`${B} `}return B}}function a8(D,$,F){if(b2.isAlias($)){let B=$.resolve(D),q=F&&B&&F.get(B);return q?q.count*q.aliasCount:0}else if(b2.isCollection($)){let B=0;for(let q of $.items){let Q=a8(D,q,F);if(Q>B)B=Q}return B}else if(b2.isPair($)){let B=a8(D,$.key,F),q=a8(D,$.value,F);return Math.max(B,q)}return 1}NG.Alias=N$});var DD=Z((TG)=>{var ZG=d(),IG=r8(),bG=j0(),SG=(D)=>!D||typeof D!=="function"&&typeof D!=="object";class s0 extends IG.NodeBase{constructor(D){super(ZG.SCALAR);this.value=D}toJSON(D,$){return $?.keep?this.value:bG.toJS(this.value,D,$)}toString(){return String(this.value)}}s0.BLOCK_FOLDED="BLOCK_FOLDED";s0.BLOCK_LITERAL="BLOCK_LITERAL";s0.PLAIN="PLAIN";s0.QUOTE_DOUBLE="QUOTE_DOUBLE";s0.QUOTE_SINGLE="QUOTE_SINGLE";TG.Scalar=s0;TG.isScalarValue=SG});var b3=Z((mG)=>{var fG=I3(),o0=d(),L$=DD(),yG="tag:yaml.org,2002:";function kG(D,$,F){if($){let B=F.filter((Q)=>Q.tag===$),q=B.find((Q)=>!Q.format)??B[0];if(!q)throw Error(`Tag ${$} not found`);return q}return F.find((B)=>B.identify?.(D)&&!B.format)}function hG(D,$,F){if(o0.isDocument(D))D=D.contents;if(o0.isNode(D))return D;if(o0.isPair(D)){let G=F.schema[o0.MAP].createNode?.(F.schema,null,F);return G.items.push(D),G}if(D instanceof String||D instanceof Number||D instanceof Boolean||typeof BigInt<"u"&&D instanceof BigInt)D=D.valueOf();let{aliasDuplicateObjects:B,onAnchor:q,onTagObj:Q,schema:X,sourceObjects:J}=F,Y=void 0;if(B&&D&&typeof D==="object")if(Y=J.get(D),Y)return Y.anchor??(Y.anchor=q(D)),new fG.Alias(Y.anchor);else Y={anchor:null,node:null},J.set(D,Y);if($?.startsWith("!!"))$=yG+$.slice(2);let H=kG(D,$,X.tags);if(!H){if(D&&typeof D.toJSON==="function")D=D.toJSON();if(!D||typeof D!=="object"){let G=new L$.Scalar(D);if(Y)Y.node=G;return G}H=D instanceof Map?X[o0.MAP]:(Symbol.iterator in Object(D))?X[o0.SEQ]:X[o0.MAP]}if(Q)Q(H),delete F.onTagObj;let _=H?.createNode?H.createNode(F.schema,D,F):typeof H?.nodeClass?.from==="function"?H.nodeClass.from(F.schema,D,F):new L$.Scalar(D);if($)_.tag=$;else if(!H.default)_.tag=H.tag;if(Y)Y.node=_;return _}mG.createNode=hG});var s8=Z((dG)=>{var xG=b3(),$0=d(),lG=r8();function J9(D,$,F){let B=F;for(let q=$.length-1;q>=0;--q){let Q=$[q];if(typeof Q==="number"&&Number.isInteger(Q)&&Q>=0){let X=[];X[Q]=B,B=X}else B=new Map([[Q,B]])}return xG.createNode(B,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw Error("This should not happen, please report a bug.")},schema:D,sourceObjects:new Map})}var Z$=(D)=>D==null||typeof D==="object"&&!!D[Symbol.iterator]().next().done;class I$ extends lG.NodeBase{constructor(D,$){super(D);Object.defineProperty(this,"schema",{value:$,configurable:!0,enumerable:!1,writable:!0})}clone(D){let $=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));if(D)$.schema=D;if($.items=$.items.map((F)=>$0.isNode(F)||$0.isPair(F)?F.clone(D):F),this.range)$.range=this.range.slice();return $}addIn(D,$){if(Z$(D))this.add($);else{let[F,...B]=D,q=this.get(F,!0);if($0.isCollection(q))q.addIn(B,$);else if(q===void 0&&this.schema)this.set(F,J9(this.schema,B,$));else throw Error(`Expected YAML collection at ${F}. Remaining path: ${B}`)}}deleteIn(D){let[$,...F]=D;if(F.length===0)return this.delete($);let B=this.get($,!0);if($0.isCollection(B))return B.deleteIn(F);else throw Error(`Expected YAML collection at ${$}. Remaining path: ${F}`)}getIn(D,$){let[F,...B]=D,q=this.get(F,!0);if(B.length===0)return!$&&$0.isScalar(q)?q.value:q;else return $0.isCollection(q)?q.getIn(B,$):void 0}hasAllNullValues(D){return this.items.every(($)=>{if(!$0.isPair($))return!1;let F=$.value;return F==null||D&&$0.isScalar(F)&&F.value==null&&!F.commentBefore&&!F.comment&&!F.tag})}hasIn(D){let[$,...F]=D;if(F.length===0)return this.has($);let B=this.get($,!0);return $0.isCollection(B)?B.hasIn(F):!1}setIn(D,$){let[F,...B]=D;if(B.length===0)this.set(F,$);else{let q=this.get(F,!0);if($0.isCollection(q))q.setIn(B,$);else if(q===void 0&&this.schema)this.set(F,J9(this.schema,B,$));else throw Error(`Expected YAML collection at ${F}. Remaining path: ${B}`)}}}dG.Collection=I$;dG.collectionFromPath=J9;dG.isEmptyPath=Z$});var S3=Z((aG)=>{var nG=(D)=>D.replace(/^(?!$)(?: $)?/gm,"#");function Y9(D,$){if(/^\n+$/.test(D))return D.substring(1);return $?D.replace(/^(?! *$)/gm,$):D}var rG=(D,$,F)=>D.endsWith(`
61
- `)?Y9(F,$):F.includes(`
62
- `)?`
63
- `+Y9(F,$):(D.endsWith(" ")?"":" ")+F;aG.indentComment=Y9;aG.lineComment=rG;aG.stringifyComment=nG});var S$=Z((DC)=>{function eG(D,$,F="flow",{indentAtStart:B,lineWidth:q=80,minContentWidth:Q=20,onFold:X,onOverflow:J}={}){if(!q||q<0)return D;if(q<Q)Q=0;let Y=Math.max(1+Q,1+q-$.length);if(D.length<=Y)return D;let H=[],_={},G=q-$.length;if(typeof B==="number")if(B>q-Math.max(2,Q))H.push(0);else G=q-B;let C=void 0,A=void 0,u=!1,W=-1,U=-1,z=-1;if(F==="block"){if(W=b$(D,W,$.length),W!==-1)G=W+Y}for(let M;M=D[W+=1];){if(F==="quoted"&&M==="\\"){switch(U=W,D[W+1]){case"x":W+=3;break;case"u":W+=5;break;case"U":W+=9;break;default:W+=1}z=W}if(M===`
64
- `){if(F==="block")W=b$(D,W,$.length);G=W+$.length+Y,C=void 0}else{if(M===" "&&A&&A!==" "&&A!==`
65
- `&&A!=="\t"){let K=D[W+1];if(K&&K!==" "&&K!==`
66
- `&&K!=="\t")C=W}if(W>=G)if(C)H.push(C),G=C+Y,C=void 0;else if(F==="quoted"){while(A===" "||A==="\t")A=M,M=D[W+=1],u=!0;let K=W>z+1?W-2:U-1;if(_[K])return D;H.push(K),_[K]=!0,G=K+Y,C=void 0}else u=!0}A=M}if(u&&J)J();if(H.length===0)return D;if(X)X();let w=D.slice(0,H[0]);for(let M=0;M<H.length;++M){let K=H[M],N=H[M+1]||D.length;if(K===0)w=`
67
- ${$}${D.slice(0,N)}`;else{if(F==="quoted"&&_[K])w+=`${D[K]}\\`;w+=`
68
- ${$}${D.slice(K+1,N)}`}}return w}function b$(D,$,F){let B=$,q=$+1,Q=D[q];while(Q===" "||Q==="\t")if($<q+F)Q=D[++$];else{do Q=D[++$];while(Q&&Q!==`
69
- `);B=$,q=$+1,Q=D[q]}return B}DC.FOLD_BLOCK="block";DC.FOLD_FLOW="flow";DC.FOLD_QUOTED="quoted";DC.foldFlowLines=eG});var P3=Z((YC)=>{var cD=DD(),R0=S$(),t8=(D,$)=>({indentAtStart:$?D.indent.length:D.indentAtStart,lineWidth:D.options.lineWidth,minContentWidth:D.options.minContentWidth}),e8=(D)=>/^(%|---|\.\.\.)/m.test(D);function XC(D,$,F){if(!$||$<0)return!1;let B=$-F,q=D.length;if(q<=B)return!1;for(let Q=0,X=0;Q<q;++Q)if(D[Q]===`
70
- `){if(Q-X>B)return!0;if(X=Q+1,q-X<=B)return!1}return!0}function T3(D,$){let F=JSON.stringify(D);if($.options.doubleQuotedAsJSON)return F;let{implicitKey:B}=$,q=$.options.doubleQuotedMinMultiLineLength,Q=$.indent||(e8(D)?" ":""),X="",J=0;for(let Y=0,H=F[Y];H;H=F[++Y]){if(H===" "&&F[Y+1]==="\\"&&F[Y+2]==="n")X+=F.slice(J,Y)+"\\ ",Y+=1,J=Y,H="\\";if(H==="\\")switch(F[Y+1]){case"u":{X+=F.slice(J,Y);let _=F.substr(Y+2,4);switch(_){case"0000":X+="\\0";break;case"0007":X+="\\a";break;case"000b":X+="\\v";break;case"001b":X+="\\e";break;case"0085":X+="\\N";break;case"00a0":X+="\\_";break;case"2028":X+="\\L";break;case"2029":X+="\\P";break;default:if(_.substr(0,2)==="00")X+="\\x"+_.substr(2);else X+=F.substr(Y,6)}Y+=5,J=Y+1}break;case"n":if(B||F[Y+2]==='"'||F.length<q)Y+=1;else{X+=F.slice(J,Y)+`
71
-
72
- `;while(F[Y+2]==="\\"&&F[Y+3]==="n"&&F[Y+4]!=='"')X+=`
73
- `,Y+=2;if(X+=Q,F[Y+2]===" ")X+="\\";Y+=1,J=Y+1}break;default:Y+=1}}return X=J?X+F.slice(J):F,B?X:R0.foldFlowLines(X,Q,R0.FOLD_QUOTED,t8($,!1))}function H9(D,$){if($.options.singleQuote===!1||$.implicitKey&&D.includes(`
74
- `)||/[ \t]\n|\n[ \t]/.test(D))return T3(D,$);let F=$.indent||(e8(D)?" ":""),B="'"+D.replace(/'/g,"''").replace(/\n+/g,`$&
75
- ${F}`)+"'";return $.implicitKey?B:R0.foldFlowLines(B,F,R0.FOLD_FLOW,t8($,!1))}function S2(D,$){let{singleQuote:F}=$.options,B;if(F===!1)B=T3;else{let q=D.includes('"'),Q=D.includes("'");if(q&&!Q)B=H9;else if(Q&&!q)B=T3;else B=F?H9:T3}return B(D,$)}var _9;try{_9=new RegExp(`(^|(?<!
76
- ))
77
- +(?!
78
- |$)`,"g")}catch{_9=/\n+(?!\n|$)/g}function o8({comment:D,type:$,value:F},B,q,Q){let{blockQuote:X,commentString:J,lineWidth:Y}=B.options;if(!X||/\n[\t ]+$/.test(F))return S2(F,B);let H=B.indent||(B.forceBlockIndent||e8(F)?" ":""),_=X==="literal"?!0:X==="folded"||$===cD.Scalar.BLOCK_FOLDED?!1:$===cD.Scalar.BLOCK_LITERAL?!0:!XC(F,Y,H.length);if(!F)return _?`|
79
- `:`>
80
- `;let G,C;for(C=F.length;C>0;--C){let N=F[C-1];if(N!==`
81
- `&&N!=="\t"&&N!==" ")break}let A=F.substring(C),u=A.indexOf(`
82
- `);if(u===-1)G="-";else if(F===A||u!==A.length-1){if(G="+",Q)Q()}else G="";if(A){if(F=F.slice(0,-A.length),A[A.length-1]===`
83
- `)A=A.slice(0,-1);A=A.replace(_9,`$&${H}`)}let W=!1,U,z=-1;for(U=0;U<F.length;++U){let N=F[U];if(N===" ")W=!0;else if(N===`
84
- `)z=U;else break}let w=F.substring(0,z<U?z+1:U);if(w)F=F.substring(w.length),w=w.replace(/\n+/g,`$&${H}`);let K=(W?H?"2":"1":"")+G;if(D){if(K+=" "+J(D.replace(/ ?[\r\n]+/g," ")),q)q()}if(!_){let N=F.replace(/\n+/g,`
85
- $&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${H}`),I=!1,f=t8(B,!0);if(X!=="folded"&&$!==cD.Scalar.BLOCK_FOLDED)f.onOverflow=()=>{I=!0};let L=R0.foldFlowLines(`${w}${N}${A}`,H,R0.FOLD_BLOCK,f);if(!I)return`>${K}
86
- ${H}${L}`}return F=F.replace(/\n+/g,`$&${H}`),`|${K}
87
- ${H}${w}${F}${A}`}function QC(D,$,F,B){let{type:q,value:Q}=D,{actualString:X,implicitKey:J,indent:Y,indentStep:H,inFlow:_}=$;if(J&&Q.includes(`
88
- `)||_&&/[[\]{},]/.test(Q))return S2(Q,$);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(Q))return J||_||!Q.includes(`
89
- `)?S2(Q,$):o8(D,$,F,B);if(!J&&!_&&q!==cD.Scalar.PLAIN&&Q.includes(`
90
- `))return o8(D,$,F,B);if(e8(Q)){if(Y==="")return $.forceBlockIndent=!0,o8(D,$,F,B);else if(J&&Y===H)return S2(Q,$)}let G=Q.replace(/\n+/g,`$&
91
- ${Y}`);if(X){let C=(W)=>W.default&&W.tag!=="tag:yaml.org,2002:str"&&W.test?.test(G),{compat:A,tags:u}=$.doc.schema;if(u.some(C)||A?.some(C))return S2(Q,$)}return J?G:R0.foldFlowLines(G,Y,R0.FOLD_FLOW,t8($,!1))}function JC(D,$,F,B){let{implicitKey:q,inFlow:Q}=$,X=typeof D.value==="string"?D:Object.assign({},D,{value:String(D.value)}),{type:J}=D;if(J!==cD.Scalar.QUOTE_DOUBLE){if(/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(X.value))J=cD.Scalar.QUOTE_DOUBLE}let Y=(_)=>{switch(_){case cD.Scalar.BLOCK_FOLDED:case cD.Scalar.BLOCK_LITERAL:return q||Q?S2(X.value,$):o8(X,$,F,B);case cD.Scalar.QUOTE_DOUBLE:return T3(X.value,$);case cD.Scalar.QUOTE_SINGLE:return H9(X.value,$);case cD.Scalar.PLAIN:return QC(X,$,F,B);default:return null}},H=Y(J);if(H===null){let{defaultKeyType:_,defaultStringType:G}=$.options,C=q&&_||G;if(H=Y(C),H===null)throw Error(`Unsupported default string type ${C}`)}return H}YC.stringifyString=JC});var v3=Z((uC)=>{var _C=n8(),N0=d(),GC=S3(),CC=P3();function VC(D,$){let F=Object.assign({blockQuote:!0,commentString:GC.stringifyComment,defaultKeyType:null,defaultStringType:"PLAIN",directives:null,doubleQuotedAsJSON:!1,doubleQuotedMinMultiLineLength:40,falseStr:"false",flowCollectionPadding:!0,indentSeq:!0,lineWidth:80,minContentWidth:20,nullStr:"null",simpleKeys:!1,singleQuote:null,trueStr:"true",verifyAliasOrder:!0},D.schema.toStringOptions,$),B;switch(F.collectionStyle){case"block":B=!1;break;case"flow":B=!0;break;default:B=null}return{anchors:new Set,doc:D,flowCollectionPadding:F.flowCollectionPadding?" ":"",indent:"",indentStep:typeof F.indent==="number"?" ".repeat(F.indent):" ",inFlow:B,options:F}}function WC(D,$){if($.tag){let q=D.filter((Q)=>Q.tag===$.tag);if(q.length>0)return q.find((Q)=>Q.format===$.format)??q[0]}let F=void 0,B;if(N0.isScalar($)){B=$.value;let q=D.filter((Q)=>Q.identify?.(B));if(q.length>1){let Q=q.filter((X)=>X.test);if(Q.length>0)q=Q}F=q.find((Q)=>Q.format===$.format)??q.find((Q)=>!Q.format)}else B=$,F=D.find((q)=>q.nodeClass&&B instanceof q.nodeClass);if(!F){let q=B?.constructor?.name??(B===null?"null":typeof B);throw Error(`Tag not resolved for ${q} value`)}return F}function AC(D,$,{anchors:F,doc:B}){if(!B.directives)return"";let q=[],Q=(N0.isScalar(D)||N0.isCollection(D))&&D.anchor;if(Q&&_C.anchorIsValid(Q))F.add(Q),q.push(`&${Q}`);let X=D.tag??($.default?null:$.tag);if(X)q.push(B.directives.tagString(X));return q.join(" ")}function UC(D,$,F,B){if(N0.isPair(D))return D.toString($,F,B);if(N0.isAlias(D)){if($.doc.directives)return D.toString($);if($.resolvedAliases?.has(D))throw TypeError("Cannot stringify circular structure without alias nodes");else{if($.resolvedAliases)$.resolvedAliases.add(D);else $.resolvedAliases=new Set([D]);D=D.resolve($.doc)}}let q=void 0,Q=N0.isNode(D)?D:$.doc.createNode(D,{onTagObj:(Y)=>q=Y});q??(q=WC($.doc.schema.tags,Q));let X=AC(Q,q,$);if(X.length>0)$.indentAtStart=($.indentAtStart??0)+X.length+1;let J=typeof q.stringify==="function"?q.stringify(Q,$,F,B):N0.isScalar(Q)?CC.stringifyString(Q,$,F,B):Q.toString($,F,B);if(!X)return J;return N0.isScalar(Q)||J[0]==="{"||J[0]==="["?`${X} ${J}`:`${X}
92
- ${$.indent}${J}`}uC.createStringifyContext=VC;uC.stringify=UC});var v$=Z((KC)=>{var V0=d(),T$=DD(),P$=v3(),f3=S3();function MC({key:D,value:$},F,B,q){let{allNullValues:Q,doc:X,indent:J,indentStep:Y,options:{commentString:H,indentSeq:_,simpleKeys:G}}=F,C=V0.isNode(D)&&D.comment||null;if(G){if(C)throw Error("With simple keys, key nodes cannot have comments");if(V0.isCollection(D)||!V0.isNode(D)&&typeof D==="object")throw Error("With simple keys, collection cannot be used as a key value")}let A=!G&&(!D||C&&$==null&&!F.inFlow||V0.isCollection(D)||(V0.isScalar(D)?D.type===T$.Scalar.BLOCK_FOLDED||D.type===T$.Scalar.BLOCK_LITERAL:typeof D==="object"));F=Object.assign({},F,{allNullValues:!1,implicitKey:!A&&(G||!Q),indent:J+Y});let u=!1,W=!1,U=P$.stringify(D,F,()=>u=!0,()=>W=!0);if(!A&&!F.inFlow&&U.length>1024){if(G)throw Error("With simple keys, single line scalar must not span more than 1024 characters");A=!0}if(F.inFlow){if(Q||$==null){if(u&&B)B();return U===""?"?":A?`? ${U}`:U}}else if(Q&&!G||$==null&&A){if(U=`? ${U}`,C&&!u)U+=f3.lineComment(U,F.indent,H(C));else if(W&&q)q();return U}if(u)C=null;if(A){if(C)U+=f3.lineComment(U,F.indent,H(C));U=`? ${U}
93
- ${J}:`}else if(U=`${U}:`,C)U+=f3.lineComment(U,F.indent,H(C));let z,w,M;if(V0.isNode($))z=!!$.spaceBefore,w=$.commentBefore,M=$.comment;else if(z=!1,w=null,M=null,$&&typeof $==="object")$=X.createNode($);if(F.implicitKey=!1,!A&&!C&&V0.isScalar($))F.indentAtStart=U.length+1;if(W=!1,!_&&Y.length>=2&&!F.inFlow&&!A&&V0.isSeq($)&&!$.flow&&!$.tag&&!$.anchor)F.indent=F.indent.substring(2);let K=!1,N=P$.stringify($,F,()=>K=!0,()=>W=!0),I=" ";if(C||z||w){if(I=z?`
94
- `:"",w){let f=H(w);I+=`
95
- ${f3.indentComment(f,F.indent)}`}if(N===""&&!F.inFlow){if(I===`
96
- `&&M)I=`
97
-
98
- `}else I+=`
99
- ${F.indent}`}else if(!A&&V0.isCollection($)){let f=N[0],L=N.indexOf(`
100
- `),c=L!==-1,e=F.inFlow??$.flow??$.items.length===0;if(c||!e){let B0=!1;if(c&&(f==="&"||f==="!")){let n=N.indexOf(" ");if(f==="&"&&n!==-1&&n<L&&N[n+1]==="!")n=N.indexOf(" ",n+1);if(n===-1||L<n)B0=!0}if(!B0)I=`
101
- ${F.indent}`}}else if(N===""||N[0]===`
102
- `)I="";if(U+=I+N,F.inFlow){if(K&&B)B()}else if(M&&!K)U+=f3.lineComment(U,F.indent,H(M));else if(W&&q)q();return U}KC.stringifyPair=MC});var G9=Z((RC)=>{var f$=i2("process");function OC(D,...$){if(D==="debug")console.log(...$)}function jC(D,$){if(D==="debug"||D==="warn")if(typeof f$.emitWarning==="function")f$.emitWarning($);else console.warn($)}RC.debug=OC;RC.warn=jC});var F1=Z((IC)=>{var y3=d(),y$=DD(),D1="<<",$1={identify:(D)=>D===D1||typeof D==="symbol"&&D.description===D1,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new y$.Scalar(Symbol(D1)),{addToJSMap:k$}),stringify:()=>D1},ZC=(D,$)=>($1.identify($)||y3.isScalar($)&&(!$.type||$.type===y$.Scalar.PLAIN)&&$1.identify($.value))&&D?.doc.schema.tags.some((F)=>F.tag===$1.tag&&F.default);function k$(D,$,F){if(F=D&&y3.isAlias(F)?F.resolve(D.doc):F,y3.isSeq(F))for(let B of F.items)C9(D,$,B);else if(Array.isArray(F))for(let B of F)C9(D,$,B);else C9(D,$,F)}function C9(D,$,F){let B=D&&y3.isAlias(F)?F.resolve(D.doc):F;if(!y3.isMap(B))throw Error("Merge sources must be maps or map aliases");let q=B.toJSON(null,D,Map);for(let[Q,X]of q)if($ instanceof Map){if(!$.has(Q))$.set(Q,X)}else if($ instanceof Set)$.add(Q);else if(!Object.prototype.hasOwnProperty.call($,Q))Object.defineProperty($,Q,{value:X,writable:!0,enumerable:!0,configurable:!0});return $}IC.addMergeToJSMap=k$;IC.isMergeKey=ZC;IC.merge=$1});var W9=Z((kC)=>{var PC=G9(),h$=F1(),vC=v3(),m$=d(),V9=j0();function fC(D,$,{key:F,value:B}){if(m$.isNode(F)&&F.addToJSMap)F.addToJSMap(D,$,B);else if(h$.isMergeKey(D,F))h$.addMergeToJSMap(D,$,B);else{let q=V9.toJS(F,"",D);if($ instanceof Map)$.set(q,V9.toJS(B,q,D));else if($ instanceof Set)$.add(q);else{let Q=yC(F,q,D),X=V9.toJS(B,Q,D);if(Q in $)Object.defineProperty($,Q,{value:X,writable:!0,enumerable:!0,configurable:!0});else $[Q]=X}}return $}function yC(D,$,F){if($===null)return"";if(typeof $!=="object")return String($);if(m$.isNode(D)&&F?.doc){let B=vC.createStringifyContext(F.doc,{});B.anchors=new Set;for(let Q of F.anchors.keys())B.anchors.add(Q.anchor);B.inFlow=!0,B.inStringifyKey=!0;let q=D.toString(B);if(!F.mapKeyWarned){let Q=JSON.stringify(q);if(Q.length>40)Q=Q.substring(0,36)+'..."';PC.warn(F.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${Q}. Set mapAsMap: true to use object keys.`),F.mapKeyWarned=!0}return q}return JSON.stringify($)}kC.addPairToJSMap=fC});var L0=Z((lC)=>{var g$=b3(),mC=v$(),gC=W9(),B1=d();function xC(D,$,F){let B=g$.createNode(D,void 0,F),q=g$.createNode($,void 0,F);return new q1(B,q)}class q1{constructor(D,$=null){Object.defineProperty(this,B1.NODE_TYPE,{value:B1.PAIR}),this.key=D,this.value=$}clone(D){let{key:$,value:F}=this;if(B1.isNode($))$=$.clone(D);if(B1.isNode(F))F=F.clone(D);return new q1($,F)}toJSON(D,$){let F=$?.mapAsMap?new Map:{};return gC.addPairToJSMap($,F,this)}toString(D,$,F){return D?.doc?mC.stringifyPair(this,D,$,F):JSON.stringify(this)}}lC.Pair=q1;lC.createPair=xC});var A9=Z((rC)=>{var t0=d(),x$=v3(),X1=S3();function cC(D,$,F){return($.inFlow??D.flow?nC:iC)(D,$,F)}function iC({comment:D,items:$},F,{blockItemPrefix:B,flowChars:q,itemIndent:Q,onChompKeep:X,onComment:J}){let{indent:Y,options:{commentString:H}}=F,_=Object.assign({},F,{indent:Q,type:null}),G=!1,C=[];for(let u=0;u<$.length;++u){let W=$[u],U=null;if(t0.isNode(W)){if(!G&&W.spaceBefore)C.push("");if(Q1(F,C,W.commentBefore,G),W.comment)U=W.comment}else if(t0.isPair(W)){let w=t0.isNode(W.key)?W.key:null;if(w){if(!G&&w.spaceBefore)C.push("");Q1(F,C,w.commentBefore,G)}}G=!1;let z=x$.stringify(W,_,()=>U=null,()=>G=!0);if(U)z+=X1.lineComment(z,Q,H(U));if(G&&U)G=!1;C.push(B+z)}let A;if(C.length===0)A=q.start+q.end;else{A=C[0];for(let u=1;u<C.length;++u){let W=C[u];A+=W?`
103
- ${Y}${W}`:`
104
- `}}if(D){if(A+=`
105
- `+X1.indentComment(H(D),Y),J)J()}else if(G&&X)X();return A}function nC({items:D},$,{flowChars:F,itemIndent:B}){let{indent:q,indentStep:Q,flowCollectionPadding:X,options:{commentString:J}}=$;B+=Q;let Y=Object.assign({},$,{indent:B,inFlow:!0,type:null}),H=!1,_=0,G=[];for(let u=0;u<D.length;++u){let W=D[u],U=null;if(t0.isNode(W)){if(W.spaceBefore)G.push("");if(Q1($,G,W.commentBefore,!1),W.comment)U=W.comment}else if(t0.isPair(W)){let w=t0.isNode(W.key)?W.key:null;if(w){if(w.spaceBefore)G.push("");if(Q1($,G,w.commentBefore,!1),w.comment)H=!0}let M=t0.isNode(W.value)?W.value:null;if(M){if(M.comment)U=M.comment;if(M.commentBefore)H=!0}else if(W.value==null&&w?.comment)U=w.comment}if(U)H=!0;let z=x$.stringify(W,Y,()=>U=null);if(u<D.length-1)z+=",";if(U)z+=X1.lineComment(z,B,J(U));if(!H&&(G.length>_||z.includes(`
106
- `)))H=!0;G.push(z),_=G.length}let{start:C,end:A}=F;if(G.length===0)return C+A;else{if(!H){let u=G.reduce((W,U)=>W+U.length+2,2);H=$.options.lineWidth>0&&u>$.options.lineWidth}if(H){let u=C;for(let W of G)u+=W?`
107
- ${Q}${q}${W}`:`
108
- `;return`${u}
109
- ${q}${A}`}else return`${C}${X}${G.join(" ")}${X}${A}`}}function Q1({indent:D,options:{commentString:$}},F,B,q){if(B&&q)B=B.replace(/^\n+/,"");if(B){let Q=X1.indentComment($(B),D);F.push(Q.trimStart())}}rC.stringifyCollection=cC});var I0=Z((DV)=>{var sC=A9(),oC=W9(),tC=s8(),Z0=d(),J1=L0(),eC=DD();function k3(D,$){let F=Z0.isScalar($)?$.value:$;for(let B of D)if(Z0.isPair(B)){if(B.key===$||B.key===F)return B;if(Z0.isScalar(B.key)&&B.key.value===F)return B}return}class l$ extends tC.Collection{static get tagName(){return"tag:yaml.org,2002:map"}constructor(D){super(Z0.MAP,D);this.items=[]}static from(D,$,F){let{keepUndefined:B,replacer:q}=F,Q=new this(D),X=(J,Y)=>{if(typeof q==="function")Y=q.call($,J,Y);else if(Array.isArray(q)&&!q.includes(J))return;if(Y!==void 0||B)Q.items.push(J1.createPair(J,Y,F))};if($ instanceof Map)for(let[J,Y]of $)X(J,Y);else if($&&typeof $==="object")for(let J of Object.keys($))X(J,$[J]);if(typeof D.sortMapEntries==="function")Q.items.sort(D.sortMapEntries);return Q}add(D,$){let F;if(Z0.isPair(D))F=D;else if(!D||typeof D!=="object"||!("key"in D))F=new J1.Pair(D,D?.value);else F=new J1.Pair(D.key,D.value);let B=k3(this.items,F.key),q=this.schema?.sortMapEntries;if(B){if(!$)throw Error(`Key ${F.key} already set`);if(Z0.isScalar(B.value)&&eC.isScalarValue(F.value))B.value.value=F.value;else B.value=F.value}else if(q){let Q=this.items.findIndex((X)=>q(F,X)<0);if(Q===-1)this.items.push(F);else this.items.splice(Q,0,F)}else this.items.push(F)}delete(D){let $=k3(this.items,D);if(!$)return!1;return this.items.splice(this.items.indexOf($),1).length>0}get(D,$){let B=k3(this.items,D)?.value;return(!$&&Z0.isScalar(B)?B.value:B)??void 0}has(D){return!!k3(this.items,D)}set(D,$){this.add(new J1.Pair(D,$),!0)}toJSON(D,$,F){let B=F?new F:$?.mapAsMap?new Map:{};if($?.onCreate)$.onCreate(B);for(let q of this.items)oC.addPairToJSMap($,B,q);return B}toString(D,$,F){if(!D)return JSON.stringify(this);for(let B of this.items)if(!Z0.isPair(B))throw Error(`Map items must all be pairs; found ${JSON.stringify(B)} instead`);if(!D.allNullValues&&this.hasAllNullValues(!1))D=Object.assign({},D,{allNullValues:!0});return sC.stringifyCollection(this,D,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:D.indent||"",onChompKeep:F,onComment:$})}}DV.YAMLMap=l$;DV.findPair=k3});var T2=Z((XV)=>{var BV=d(),d$=I0(),qV={collection:"map",default:!0,nodeClass:d$.YAMLMap,tag:"tag:yaml.org,2002:map",resolve(D,$){if(!BV.isMap(D))$("Expected a mapping for this tag");return D},createNode:(D,$,F)=>d$.YAMLMap.from(D,$,F)};XV.map=qV});var b0=Z((CV)=>{var JV=b3(),YV=A9(),HV=s8(),H1=d(),_V=DD(),GV=j0();class p$ extends HV.Collection{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(D){super(H1.SEQ,D);this.items=[]}add(D){this.items.push(D)}delete(D){let $=Y1(D);if(typeof $!=="number")return!1;return this.items.splice($,1).length>0}get(D,$){let F=Y1(D);if(typeof F!=="number")return;let B=this.items[F];return!$&&H1.isScalar(B)?B.value:B}has(D){let $=Y1(D);return typeof $==="number"&&$<this.items.length}set(D,$){let F=Y1(D);if(typeof F!=="number")throw Error(`Expected a valid index, not ${D}.`);let B=this.items[F];if(H1.isScalar(B)&&_V.isScalarValue($))B.value=$;else this.items[F]=$}toJSON(D,$){let F=[];if($?.onCreate)$.onCreate(F);let B=0;for(let q of this.items)F.push(GV.toJS(q,String(B++),$));return F}toString(D,$,F){if(!D)return JSON.stringify(this);return YV.stringifyCollection(this,D,{blockItemPrefix:"- ",flowChars:{start:"[",end:"]"},itemIndent:(D.indent||"")+" ",onChompKeep:F,onComment:$})}static from(D,$,F){let{replacer:B}=F,q=new this(D);if($&&Symbol.iterator in Object($)){let Q=0;for(let X of $){if(typeof B==="function"){let J=$ instanceof Set?X:String(Q++);X=B.call($,J,X)}q.items.push(JV.createNode(X,void 0,F))}}return q}}function Y1(D){let $=H1.isScalar(D)?D.value:D;if($&&typeof $==="string")$=Number($);return typeof $==="number"&&Number.isInteger($)&&$>=0?$:null}CV.YAMLSeq=p$});var P2=Z((UV)=>{var WV=d(),c$=b0(),AV={collection:"seq",default:!0,nodeClass:c$.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve(D,$){if(!WV.isSeq(D))$("Expected a sequence for this tag");return D},createNode:(D,$,F)=>c$.YAMLSeq.from(D,$,F)};UV.seq=AV});var h3=Z((MV)=>{var zV=P3(),wV={identify:(D)=>typeof D==="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:(D)=>D,stringify(D,$,F,B){return $=Object.assign({actualString:!0},$),zV.stringifyString(D,$,F,B)}};MV.string=wV});var _1=Z((EV)=>{var i$=DD(),n$={identify:(D)=>D==null,createNode:()=>new i$.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new i$.Scalar(null),stringify:({source:D},$)=>typeof D==="string"&&n$.test.test(D)?D:$.options.nullStr};EV.nullTag=n$});var U9=Z((RV)=>{var jV=DD(),r$={identify:(D)=>typeof D==="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:(D)=>new jV.Scalar(D[0]==="t"||D[0]==="T"),stringify({source:D,value:$},F){if(D&&r$.test.test(D)){let B=D[0]==="t"||D[0]==="T";if($===B)return D}return $?F.options.trueStr:F.options.falseStr}};RV.boolTag=r$});var v2=Z((ZV)=>{function LV({format:D,minFractionDigits:$,tag:F,value:B}){if(typeof B==="bigint")return String(B);let q=typeof B==="number"?B:Number(B);if(!isFinite(q))return isNaN(q)?".nan":q<0?"-.inf":".inf";let Q=Object.is(B,-0)?"-0":JSON.stringify(B);if(!D&&$&&(!F||F==="tag:yaml.org,2002:float")&&/^\d/.test(Q)){let X=Q.indexOf(".");if(X<0)X=Q.length,Q+=".";let J=$-(Q.length-X-1);while(J-- >0)Q+="0"}return Q}ZV.stringifyNumber=LV});var z9=Z((vV)=>{var bV=DD(),u9=v2(),SV={identify:(D)=>typeof D==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:(D)=>D.slice(-3).toLowerCase()==="nan"?NaN:D[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:u9.stringifyNumber},TV={identify:(D)=>typeof D==="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:(D)=>parseFloat(D),stringify(D){let $=Number(D.value);return isFinite($)?$.toExponential():u9.stringifyNumber(D)}},PV={identify:(D)=>typeof D==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,resolve(D){let $=new bV.Scalar(parseFloat(D)),F=D.indexOf(".");if(F!==-1&&D[D.length-1]==="0")$.minFractionDigits=D.length-F-1;return $},stringify:u9.stringifyNumber};vV.float=PV;vV.floatExp=TV;vV.floatNaN=SV});var M9=Z((xV)=>{var a$=v2(),G1=(D)=>typeof D==="bigint"||Number.isInteger(D),w9=(D,$,F,{intAsBigInt:B})=>B?BigInt(D):parseInt(D.substring($),F);function s$(D,$,F){let{value:B}=D;if(G1(B)&&B>=0)return F+B.toString($);return a$.stringifyNumber(D)}var hV={identify:(D)=>G1(D)&&D>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(D,$,F)=>w9(D,2,8,F),stringify:(D)=>s$(D,8,"0o")},mV={identify:G1,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(D,$,F)=>w9(D,0,10,F),stringify:a$.stringifyNumber},gV={identify:(D)=>G1(D)&&D>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(D,$,F)=>w9(D,2,16,F),stringify:(D)=>s$(D,16,"0x")};xV.int=mV;xV.intHex=gV;xV.intOct=hV});var o$=Z((oV)=>{var cV=T2(),iV=_1(),nV=P2(),rV=h3(),aV=U9(),K9=z9(),E9=M9(),sV=[cV.map,nV.seq,rV.string,iV.nullTag,aV.boolTag,E9.intOct,E9.int,E9.intHex,K9.floatNaN,K9.floatExp,K9.float];oV.schema=sV});var e$=Z((XW)=>{var eV=DD(),DW=T2(),$W=P2();function t$(D){return typeof D==="bigint"||Number.isInteger(D)}var C1=({value:D})=>JSON.stringify(D),FW=[{identify:(D)=>typeof D==="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:(D)=>D,stringify:C1},{identify:(D)=>D==null,createNode:()=>new eV.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:C1},{identify:(D)=>typeof D==="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:(D)=>D==="true",stringify:C1},{identify:t$,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:(D,$,{intAsBigInt:F})=>F?BigInt(D):parseInt(D,10),stringify:({value:D})=>t$(D)?D.toString():JSON.stringify(D)},{identify:(D)=>typeof D==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:(D)=>parseFloat(D),stringify:C1}],BW={default:!0,tag:"",test:/^/,resolve(D,$){return $(`Unresolved plain scalar ${JSON.stringify(D)}`),D}},qW=[DW.map,$W.seq].concat(FW,BW);XW.schema=qW});var j9=Z((HW)=>{var m3=i2("buffer"),O9=DD(),JW=P3(),YW={identify:(D)=>D instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(D,$){if(typeof m3.Buffer==="function")return m3.Buffer.from(D,"base64");else if(typeof atob==="function"){let F=atob(D.replace(/[\n\r]/g,"")),B=new Uint8Array(F.length);for(let q=0;q<F.length;++q)B[q]=F.charCodeAt(q);return B}else return $("This environment does not support reading binary tags; either Buffer or atob is required"),D},stringify({comment:D,type:$,value:F},B,q,Q){if(!F)return"";let X=F,J;if(typeof m3.Buffer==="function")J=X instanceof m3.Buffer?X.toString("base64"):m3.Buffer.from(X.buffer).toString("base64");else if(typeof btoa==="function"){let Y="";for(let H=0;H<X.length;++H)Y+=String.fromCharCode(X[H]);J=btoa(Y)}else throw Error("This environment does not support writing binary tags; either Buffer or btoa is required");if($??($=O9.Scalar.BLOCK_LITERAL),$!==O9.Scalar.QUOTE_DOUBLE){let Y=Math.max(B.options.lineWidth-B.indent.length,B.options.minContentWidth),H=Math.ceil(J.length/Y),_=Array(H);for(let G=0,C=0;G<H;++G,C+=Y)_[G]=J.substr(C,Y);J=_.join($===O9.Scalar.BLOCK_LITERAL?`
110
- `:" ")}return JW.stringifyString({comment:D,type:$,value:J},B,q,Q)}};HW.binary=YW});var W1=Z((WW)=>{var V1=d(),R9=L0(),GW=DD(),CW=b0();function DF(D,$){if(V1.isSeq(D))for(let F=0;F<D.items.length;++F){let B=D.items[F];if(V1.isPair(B))continue;else if(V1.isMap(B)){if(B.items.length>1)$("Each pair must have its own sequence indicator");let q=B.items[0]||new R9.Pair(new GW.Scalar(null));if(B.commentBefore)q.key.commentBefore=q.key.commentBefore?`${B.commentBefore}
111
- ${q.key.commentBefore}`:B.commentBefore;if(B.comment){let Q=q.value??q.key;Q.comment=Q.comment?`${B.comment}
112
- ${Q.comment}`:B.comment}B=q}D.items[F]=V1.isPair(B)?B:new R9.Pair(B)}else $("Expected a sequence for this tag");return D}function $F(D,$,F){let{replacer:B}=F,q=new CW.YAMLSeq(D);q.tag="tag:yaml.org,2002:pairs";let Q=0;if($&&Symbol.iterator in Object($))for(let X of $){if(typeof B==="function")X=B.call($,String(Q++),X);let J,Y;if(Array.isArray(X))if(X.length===2)J=X[0],Y=X[1];else throw TypeError(`Expected [key, value] tuple: ${X}`);else if(X&&X instanceof Object){let H=Object.keys(X);if(H.length===1)J=H[0],Y=X[J];else throw TypeError(`Expected tuple with one key, not ${H.length} keys`)}else J=X;q.items.push(R9.createPair(J,Y,F))}return q}var VW={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:DF,createNode:$F};WW.createPairs=$F;WW.pairs=VW;WW.resolvePairs=DF});var L9=Z((MW)=>{var FF=d(),N9=j0(),g3=I0(),zW=b0(),BF=W1();class e0 extends zW.YAMLSeq{constructor(){super();this.add=g3.YAMLMap.prototype.add.bind(this),this.delete=g3.YAMLMap.prototype.delete.bind(this),this.get=g3.YAMLMap.prototype.get.bind(this),this.has=g3.YAMLMap.prototype.has.bind(this),this.set=g3.YAMLMap.prototype.set.bind(this),this.tag=e0.tag}toJSON(D,$){if(!$)return super.toJSON(D);let F=new Map;if($?.onCreate)$.onCreate(F);for(let B of this.items){let q,Q;if(FF.isPair(B))q=N9.toJS(B.key,"",$),Q=N9.toJS(B.value,q,$);else q=N9.toJS(B,"",$);if(F.has(q))throw Error("Ordered maps must not include duplicate keys");F.set(q,Q)}return F}static from(D,$,F){let B=BF.createPairs(D,$,F),q=new this;return q.items=B.items,q}}e0.tag="tag:yaml.org,2002:omap";var wW={collection:"seq",identify:(D)=>D instanceof Map,nodeClass:e0,default:!1,tag:"tag:yaml.org,2002:omap",resolve(D,$){let F=BF.resolvePairs(D,$),B=[];for(let{key:q}of F.items)if(FF.isScalar(q))if(B.includes(q.value))$(`Ordered maps must not include duplicate keys: ${q.value}`);else B.push(q.value);return Object.assign(new e0,F)},createNode:(D,$,F)=>e0.from(D,$,F)};MW.YAMLOMap=e0;MW.omap=wW});var YF=Z((OW)=>{var qF=DD();function XF({value:D,source:$},F){if($&&(D?QF:JF).test.test($))return $;return D?F.options.trueStr:F.options.falseStr}var QF={identify:(D)=>D===!0,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new qF.Scalar(!0),stringify:XF},JF={identify:(D)=>D===!1,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new qF.Scalar(!1),stringify:XF};OW.falseTag=JF;OW.trueTag=QF});var HF=Z((bW)=>{var NW=DD(),Z9=v2(),LW={identify:(D)=>typeof D==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:(D)=>D.slice(-3).toLowerCase()==="nan"?NaN:D[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:Z9.stringifyNumber},ZW={identify:(D)=>typeof D==="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:(D)=>parseFloat(D.replace(/_/g,"")),stringify(D){let $=Number(D.value);return isFinite($)?$.toExponential():Z9.stringifyNumber(D)}},IW={identify:(D)=>typeof D==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(D){let $=new NW.Scalar(parseFloat(D.replace(/_/g,""))),F=D.indexOf(".");if(F!==-1){let B=D.substring(F+1).replace(/_/g,"");if(B[B.length-1]==="0")$.minFractionDigits=B.length}return $},stringify:Z9.stringifyNumber};bW.float=IW;bW.floatExp=ZW;bW.floatNaN=LW});var GF=Z((hW)=>{var _F=v2(),x3=(D)=>typeof D==="bigint"||Number.isInteger(D);function A1(D,$,F,{intAsBigInt:B}){let q=D[0];if(q==="-"||q==="+")$+=1;if(D=D.substring($).replace(/_/g,""),B){switch(F){case 2:D=`0b${D}`;break;case 8:D=`0o${D}`;break;case 16:D=`0x${D}`;break}let X=BigInt(D);return q==="-"?BigInt(-1)*X:X}let Q=parseInt(D,F);return q==="-"?-1*Q:Q}function I9(D,$,F){let{value:B}=D;if(x3(B)){let q=B.toString($);return B<0?"-"+F+q.substr(1):F+q}return _F.stringifyNumber(D)}var vW={identify:x3,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(D,$,F)=>A1(D,2,2,F),stringify:(D)=>I9(D,2,"0b")},fW={identify:x3,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(D,$,F)=>A1(D,1,8,F),stringify:(D)=>I9(D,8,"0")},yW={identify:x3,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(D,$,F)=>A1(D,0,10,F),stringify:_F.stringifyNumber},kW={identify:x3,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(D,$,F)=>A1(D,2,16,F),stringify:(D)=>I9(D,16,"0x")};hW.int=yW;hW.intBin=vW;hW.intHex=kW;hW.intOct=fW});var b9=Z((pW)=>{var z1=d(),U1=L0(),u1=I0();class D2 extends u1.YAMLMap{constructor(D){super(D);this.tag=D2.tag}add(D){let $;if(z1.isPair(D))$=D;else if(D&&typeof D==="object"&&"key"in D&&"value"in D&&D.value===null)$=new U1.Pair(D.key,null);else $=new U1.Pair(D,null);if(!u1.findPair(this.items,$.key))this.items.push($)}get(D,$){let F=u1.findPair(this.items,D);return!$&&z1.isPair(F)?z1.isScalar(F.key)?F.key.value:F.key:F}set(D,$){if(typeof $!=="boolean")throw Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof $}`);let F=u1.findPair(this.items,D);if(F&&!$)this.items.splice(this.items.indexOf(F),1);else if(!F&&$)this.items.push(new U1.Pair(D))}toJSON(D,$){return super.toJSON(D,$,Set)}toString(D,$,F){if(!D)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},D,{allNullValues:!0}),$,F);else throw Error("Set items must all have null values")}static from(D,$,F){let{replacer:B}=F,q=new this(D);if($&&Symbol.iterator in Object($))for(let Q of $){if(typeof B==="function")Q=B.call($,Q,Q);q.items.push(U1.createPair(Q,null,F))}return q}}D2.tag="tag:yaml.org,2002:set";var dW={collection:"map",identify:(D)=>D instanceof Set,nodeClass:D2,default:!1,tag:"tag:yaml.org,2002:set",createNode:(D,$,F)=>D2.from(D,$,F),resolve(D,$){if(z1.isMap(D))if(D.hasAllNullValues(!0))return Object.assign(new D2,D);else $("Set items must all have null values");else $("Expected a mapping for this tag");return D}};pW.YAMLSet=D2;pW.set=dW});var T9=Z((sW)=>{var nW=v2();function S9(D,$){let F=D[0],B=F==="-"||F==="+"?D.substring(1):D,q=(X)=>$?BigInt(X):Number(X),Q=B.replace(/_/g,"").split(":").reduce((X,J)=>X*q(60)+q(J),q(0));return F==="-"?q(-1)*Q:Q}function CF(D){let{value:$}=D,F=(X)=>X;if(typeof $==="bigint")F=(X)=>BigInt(X);else if(isNaN($)||!isFinite($))return nW.stringifyNumber(D);let B="";if($<0)B="-",$*=F(-1);let q=F(60),Q=[$%q];if($<60)Q.unshift(0);else if($=($-Q[0])/q,Q.unshift($%q),$>=60)$=($-Q[0])/q,Q.unshift($);return B+Q.map((X)=>String(X).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}var rW={identify:(D)=>typeof D==="bigint"||Number.isInteger(D),default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(D,$,{intAsBigInt:F})=>S9(D,F),stringify:CF},aW={identify:(D)=>typeof D==="number",default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:(D)=>S9(D,!1),stringify:CF},VF={identify:(D)=>D instanceof Date,default:!0,tag:"tag:yaml.org,2002:timestamp",test:RegExp("^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?$"),resolve(D){let $=D.match(VF.test);if(!$)throw Error("!!timestamp expects a date, starting with yyyy-mm-dd");let[,F,B,q,Q,X,J]=$.map(Number),Y=$[7]?Number(($[7]+"00").substr(1,3)):0,H=Date.UTC(F,B-1,q,Q||0,X||0,J||0,Y),_=$[8];if(_&&_!=="Z"){let G=S9(_,!1);if(Math.abs(G)<30)G*=60;H-=60000*G}return new Date(H)},stringify:({value:D})=>D?.toISOString().replace(/(T00:00:00)?\.000Z$/,"")??""};sW.floatTime=aW;sW.intTime=rW;sW.timestamp=VF});var AF=Z((_A)=>{var DA=T2(),$A=_1(),FA=P2(),BA=h3(),qA=j9(),WF=YF(),P9=HF(),w1=GF(),XA=F1(),QA=L9(),JA=W1(),YA=b9(),v9=T9(),HA=[DA.map,FA.seq,BA.string,$A.nullTag,WF.trueTag,WF.falseTag,w1.intBin,w1.intOct,w1.int,w1.intHex,P9.floatNaN,P9.floatExp,P9.float,qA.binary,XA.merge,QA.omap,JA.pairs,YA.set,v9.intTime,v9.floatTime,v9.timestamp];_A.schema=HA});var RF=Z((wA)=>{var wF=T2(),CA=_1(),MF=P2(),VA=h3(),WA=U9(),f9=z9(),y9=M9(),AA=o$(),UA=e$(),KF=j9(),l3=F1(),EF=L9(),OF=W1(),UF=AF(),jF=b9(),M1=T9(),uF=new Map([["core",AA.schema],["failsafe",[wF.map,MF.seq,VA.string]],["json",UA.schema],["yaml11",UF.schema],["yaml-1.1",UF.schema]]),zF={binary:KF.binary,bool:WA.boolTag,float:f9.float,floatExp:f9.floatExp,floatNaN:f9.floatNaN,floatTime:M1.floatTime,int:y9.int,intHex:y9.intHex,intOct:y9.intOct,intTime:M1.intTime,map:wF.map,merge:l3.merge,null:CA.nullTag,omap:EF.omap,pairs:OF.pairs,seq:MF.seq,set:jF.set,timestamp:M1.timestamp},uA={"tag:yaml.org,2002:binary":KF.binary,"tag:yaml.org,2002:merge":l3.merge,"tag:yaml.org,2002:omap":EF.omap,"tag:yaml.org,2002:pairs":OF.pairs,"tag:yaml.org,2002:set":jF.set,"tag:yaml.org,2002:timestamp":M1.timestamp};function zA(D,$,F){let B=uF.get($);if(B&&!D)return F&&!B.includes(l3.merge)?B.concat(l3.merge):B.slice();let q=B;if(!q)if(Array.isArray(D))q=[];else{let Q=Array.from(uF.keys()).filter((X)=>X!=="yaml11").map((X)=>JSON.stringify(X)).join(", ");throw Error(`Unknown schema "${$}"; use one of ${Q} or define customTags array`)}if(Array.isArray(D))for(let Q of D)q=q.concat(Q);else if(typeof D==="function")q=D(q.slice());if(F)q=q.concat(l3.merge);return q.reduce((Q,X)=>{let J=typeof X==="string"?zF[X]:X;if(!J){let Y=JSON.stringify(X),H=Object.keys(zF).map((_)=>JSON.stringify(_)).join(", ");throw Error(`Unknown custom tag ${Y}; use one of ${H}`)}if(!Q.includes(J))Q.push(J);return Q},[])}wA.coreKnownTags=uA;wA.getTags=zA});var m9=Z((NA)=>{var k9=d(),EA=T2(),OA=P2(),jA=h3(),K1=RF(),RA=(D,$)=>D.key<$.key?-1:D.key>$.key?1:0;class h9{constructor({compat:D,customTags:$,merge:F,resolveKnownTags:B,schema:q,sortMapEntries:Q,toStringDefaults:X}){this.compat=Array.isArray(D)?K1.getTags(D,"compat"):D?K1.getTags(null,D):null,this.name=typeof q==="string"&&q||"core",this.knownTags=B?K1.coreKnownTags:{},this.tags=K1.getTags($,this.name,F),this.toStringOptions=X??null,Object.defineProperty(this,k9.MAP,{value:EA.map}),Object.defineProperty(this,k9.SCALAR,{value:jA.string}),Object.defineProperty(this,k9.SEQ,{value:OA.seq}),this.sortMapEntries=typeof Q==="function"?Q:Q===!0?RA:null}clone(){let D=Object.create(h9.prototype,Object.getOwnPropertyDescriptors(this));return D.tags=this.tags.slice(),D}}NA.Schema=h9});var NF=Z((bA)=>{var ZA=d(),g9=v3(),d3=S3();function IA(D,$){let F=[],B=$.directives===!0;if($.directives!==!1&&D.directives){let Y=D.directives.toString(D);if(Y)F.push(Y),B=!0;else if(D.directives.docStart)B=!0}if(B)F.push("---");let q=g9.createStringifyContext(D,$),{commentString:Q}=q.options;if(D.commentBefore){if(F.length!==1)F.unshift("");let Y=Q(D.commentBefore);F.unshift(d3.indentComment(Y,""))}let X=!1,J=null;if(D.contents){if(ZA.isNode(D.contents)){if(D.contents.spaceBefore&&B)F.push("");if(D.contents.commentBefore){let _=Q(D.contents.commentBefore);F.push(d3.indentComment(_,""))}q.forceBlockIndent=!!D.comment,J=D.contents.comment}let Y=J?void 0:()=>X=!0,H=g9.stringify(D.contents,q,()=>J=null,Y);if(J)H+=d3.lineComment(H,"",Q(J));if((H[0]==="|"||H[0]===">")&&F[F.length-1]==="---")F[F.length-1]=`--- ${H}`;else F.push(H)}else F.push(g9.stringify(D.contents,q));if(D.directives?.docEnd)if(D.comment){let Y=Q(D.comment);if(Y.includes(`
113
- `))F.push("..."),F.push(d3.indentComment(Y,""));else F.push(`... ${Y}`)}else F.push("...");else{let Y=D.comment;if(Y&&X)Y=Y.replace(/^\n+/,"");if(Y){if((!X||J)&&F[F.length-1]!=="")F.push("");F.push(d3.indentComment(Q(Y),""))}}return F.join(`
114
- `)+`
115
- `}bA.stringifyDocument=IA});var p3=Z((mA)=>{var TA=I3(),f2=s8(),TD=d(),PA=L0(),vA=j0(),fA=m9(),yA=NF(),x9=n8(),kA=Q9(),hA=b3(),l9=X9();class d9{constructor(D,$,F){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,TD.NODE_TYPE,{value:TD.DOC});let B=null;if(typeof $==="function"||Array.isArray($))B=$;else if(F===void 0&&$)F=$,$=void 0;let q=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:"warn",prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:"1.2"},F);this.options=q;let{version:Q}=q;if(F?._directives){if(this.directives=F._directives.atDocument(),this.directives.yaml.explicit)Q=this.directives.yaml.version}else this.directives=new l9.Directives({version:Q});this.setSchema(Q,F),this.contents=D===void 0?null:this.createNode(D,B,F)}clone(){let D=Object.create(d9.prototype,{[TD.NODE_TYPE]:{value:TD.DOC}});if(D.commentBefore=this.commentBefore,D.comment=this.comment,D.errors=this.errors.slice(),D.warnings=this.warnings.slice(),D.options=Object.assign({},this.options),this.directives)D.directives=this.directives.clone();if(D.schema=this.schema.clone(),D.contents=TD.isNode(this.contents)?this.contents.clone(D.schema):this.contents,this.range)D.range=this.range.slice();return D}add(D){if(y2(this.contents))this.contents.add(D)}addIn(D,$){if(y2(this.contents))this.contents.addIn(D,$)}createAlias(D,$){if(!D.anchor){let F=x9.anchorNames(this);D.anchor=!$||F.has($)?x9.findNewAnchor($||"a",F):$}return new TA.Alias(D.anchor)}createNode(D,$,F){let B=void 0;if(typeof $==="function")D=$.call({"":D},"",D),B=$;else if(Array.isArray($)){let W=(z)=>typeof z==="number"||z instanceof String||z instanceof Number,U=$.filter(W).map(String);if(U.length>0)$=$.concat(U);B=$}else if(F===void 0&&$)F=$,$=void 0;let{aliasDuplicateObjects:q,anchorPrefix:Q,flow:X,keepUndefined:J,onTagObj:Y,tag:H}=F??{},{onAnchor:_,setAnchors:G,sourceObjects:C}=x9.createNodeAnchors(this,Q||"a"),A={aliasDuplicateObjects:q??!0,keepUndefined:J??!1,onAnchor:_,onTagObj:Y,replacer:B,schema:this.schema,sourceObjects:C},u=hA.createNode(D,H,A);if(X&&TD.isCollection(u))u.flow=!0;return G(),u}createPair(D,$,F={}){let B=this.createNode(D,null,F),q=this.createNode($,null,F);return new PA.Pair(B,q)}delete(D){return y2(this.contents)?this.contents.delete(D):!1}deleteIn(D){if(f2.isEmptyPath(D)){if(this.contents==null)return!1;return this.contents=null,!0}return y2(this.contents)?this.contents.deleteIn(D):!1}get(D,$){return TD.isCollection(this.contents)?this.contents.get(D,$):void 0}getIn(D,$){if(f2.isEmptyPath(D))return!$&&TD.isScalar(this.contents)?this.contents.value:this.contents;return TD.isCollection(this.contents)?this.contents.getIn(D,$):void 0}has(D){return TD.isCollection(this.contents)?this.contents.has(D):!1}hasIn(D){if(f2.isEmptyPath(D))return this.contents!==void 0;return TD.isCollection(this.contents)?this.contents.hasIn(D):!1}set(D,$){if(this.contents==null)this.contents=f2.collectionFromPath(this.schema,[D],$);else if(y2(this.contents))this.contents.set(D,$)}setIn(D,$){if(f2.isEmptyPath(D))this.contents=$;else if(this.contents==null)this.contents=f2.collectionFromPath(this.schema,Array.from(D),$);else if(y2(this.contents))this.contents.setIn(D,$)}setSchema(D,$={}){if(typeof D==="number")D=String(D);let F;switch(D){case"1.1":if(this.directives)this.directives.yaml.version="1.1";else this.directives=new l9.Directives({version:"1.1"});F={resolveKnownTags:!1,schema:"yaml-1.1"};break;case"1.2":case"next":if(this.directives)this.directives.yaml.version=D;else this.directives=new l9.Directives({version:D});F={resolveKnownTags:!0,schema:"core"};break;case null:if(this.directives)delete this.directives;F=null;break;default:{let B=JSON.stringify(D);throw Error(`Expected '1.1', '1.2' or null as first argument, but found: ${B}`)}}if($.schema instanceof Object)this.schema=$.schema;else if(F)this.schema=new fA.Schema(Object.assign(F,$));else throw Error("With a null YAML version, the { schema: Schema } option is required")}toJS({json:D,jsonArg:$,mapAsMap:F,maxAliasCount:B,onAnchor:q,reviver:Q}={}){let X={anchors:new Map,doc:this,keep:!D,mapAsMap:F===!0,mapKeyWarned:!1,maxAliasCount:typeof B==="number"?B:100},J=vA.toJS(this.contents,$??"",X);if(typeof q==="function")for(let{count:Y,res:H}of X.anchors.values())q(H,Y);return typeof Q==="function"?kA.applyReviver(Q,{"":J},"",J):J}toJSON(D,$){return this.toJS({json:!0,jsonArg:D,mapAsMap:!1,onAnchor:$})}toString(D={}){if(this.errors.length>0)throw Error("Document with errors cannot be stringified");if("indent"in D&&(!Number.isInteger(D.indent)||Number(D.indent)<=0)){let $=JSON.stringify(D.indent);throw Error(`"indent" option must be a positive integer, not ${$}`)}return yA.stringifyDocument(this,D)}}function y2(D){if(TD.isCollection(D))return!0;throw Error("Expected a YAML collection as document contents")}mA.Document=d9});var c3=Z((lA)=>{class E1 extends Error{constructor(D,$,F,B){super();this.name=D,this.code=F,this.message=B,this.pos=$}}class LF extends E1{constructor(D,$,F){super("YAMLParseError",D,$,F)}}class ZF extends E1{constructor(D,$,F){super("YAMLWarning",D,$,F)}}var xA=(D,$)=>(F)=>{if(F.pos[0]===-1)return;F.linePos=F.pos.map((J)=>$.linePos(J));let{line:B,col:q}=F.linePos[0];F.message+=` at line ${B}, column ${q}`;let Q=q-1,X=D.substring($.lineStarts[B-1],$.lineStarts[B]).replace(/[\n\r]+$/,"");if(Q>=60&&X.length>80){let J=Math.min(Q-39,X.length-79);X="…"+X.substring(J),Q-=J-1}if(X.length>80)X=X.substring(0,79)+"…";if(B>1&&/^ *$/.test(X.substring(0,Q))){let J=D.substring($.lineStarts[B-2],$.lineStarts[B-1]);if(J.length>80)J=J.substring(0,79)+`…
116
- `;X=J+X}if(/[^ ]/.test(X)){let J=1,Y=F.linePos[1];if(Y?.line===B&&Y.col>q)J=Math.max(1,Math.min(Y.col-q,80-Q));let H=" ".repeat(Q)+"^".repeat(J);F.message+=`:
117
-
118
- ${X}
119
- ${H}
120
- `}};lA.YAMLError=E1;lA.YAMLParseError=LF;lA.YAMLWarning=ZF;lA.prettifyError=xA});var i3=Z((rA)=>{function nA(D,{flow:$,indicator:F,next:B,offset:q,onError:Q,parentIndent:X,startOnNewline:J}){let Y=!1,H=J,_=J,G="",C="",A=!1,u=!1,W=null,U=null,z=null,w=null,M=null,K=null,N=null;for(let L of D){if(u){if(L.type!=="space"&&L.type!=="newline"&&L.type!=="comma")Q(L.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space");u=!1}if(W){if(H&&L.type!=="comment"&&L.type!=="newline")Q(W,"TAB_AS_INDENT","Tabs are not allowed as indentation");W=null}switch(L.type){case"space":if(!$&&(F!=="doc-start"||B?.type!=="flow-collection")&&L.source.includes("\t"))W=L;_=!0;break;case"comment":{if(!_)Q(L,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let c=L.source.substring(1)||" ";if(!G)G=c;else G+=C+c;C="",H=!1;break}case"newline":if(H){if(G)G+=L.source;else if(!K||F!=="seq-item-ind")Y=!0}else C+=L.source;if(H=!0,A=!0,U||z)w=L;_=!0;break;case"anchor":if(U)Q(L,"MULTIPLE_ANCHORS","A node can have at most one anchor");if(L.source.endsWith(":"))Q(L.offset+L.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0);U=L,N??(N=L.offset),H=!1,_=!1,u=!0;break;case"tag":{if(z)Q(L,"MULTIPLE_TAGS","A node can have at most one tag");z=L,N??(N=L.offset),H=!1,_=!1,u=!0;break}case F:if(U||z)Q(L,"BAD_PROP_ORDER",`Anchors and tags must be after the ${L.source} indicator`);if(K)Q(L,"UNEXPECTED_TOKEN",`Unexpected ${L.source} in ${$??"collection"}`);K=L,H=F==="seq-item-ind"||F==="explicit-key-ind",_=!1;break;case"comma":if($){if(M)Q(L,"UNEXPECTED_TOKEN",`Unexpected , in ${$}`);M=L,H=!1,_=!1;break}default:Q(L,"UNEXPECTED_TOKEN",`Unexpected ${L.type} token`),H=!1,_=!1}}let I=D[D.length-1],f=I?I.offset+I.source.length:q;if(u&&B&&B.type!=="space"&&B.type!=="newline"&&B.type!=="comma"&&(B.type!=="scalar"||B.source!==""))Q(B.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space");if(W&&(H&&W.indent<=X||B?.type==="block-map"||B?.type==="block-seq"))Q(W,"TAB_AS_INDENT","Tabs are not allowed as indentation");return{comma:M,found:K,spaceBefore:Y,comment:G,hasNewline:A,anchor:U,tag:z,newlineAfterProp:w,end:f,start:N??f}}rA.resolveProps=nA});var O1=Z((sA)=>{function p9(D){if(!D)return null;switch(D.type){case"alias":case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":if(D.source.includes(`
121
- `))return!0;if(D.end){for(let $ of D.end)if($.type==="newline")return!0}return!1;case"flow-collection":for(let $ of D.items){for(let F of $.start)if(F.type==="newline")return!0;if($.sep){for(let F of $.sep)if(F.type==="newline")return!0}if(p9($.key)||p9($.value))return!0}return!1;default:return!0}}sA.containsNewline=p9});var c9=Z((DU)=>{var tA=O1();function eA(D,$,F){if($?.type==="flow-collection"){let B=$.end[0];if(B.indent===D&&(B.source==="]"||B.source==="}")&&tA.containsNewline($))F(B,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}DU.flowIndentCheck=eA});var i9=Z((BU)=>{var IF=d();function FU(D,$,F){let{uniqueKeys:B}=D.options;if(B===!1)return!1;let q=typeof B==="function"?B:(Q,X)=>Q===X||IF.isScalar(Q)&&IF.isScalar(X)&&Q.value===X.value;return $.some((Q)=>q(Q.key,F))}BU.mapIncludes=FU});var vF=Z((HU)=>{var bF=L0(),XU=I0(),SF=i3(),QU=O1(),TF=c9(),JU=i9(),PF="All mapping items must start at the same column";function YU({composeNode:D,composeEmptyNode:$},F,B,q,Q){let J=new(Q?.nodeClass??XU.YAMLMap)(F.schema);if(F.atRoot)F.atRoot=!1;let Y=B.offset,H=null;for(let _ of B.items){let{start:G,key:C,sep:A,value:u}=_,W=SF.resolveProps(G,{indicator:"explicit-key-ind",next:C??A?.[0],offset:Y,onError:q,parentIndent:B.indent,startOnNewline:!0}),U=!W.found;if(U){if(C){if(C.type==="block-seq")q(Y,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key");else if("indent"in C&&C.indent!==B.indent)q(Y,"BAD_INDENT",PF)}if(!W.anchor&&!W.tag&&!A){if(H=W.end,W.comment)if(J.comment)J.comment+=`
122
- `+W.comment;else J.comment=W.comment;continue}if(W.newlineAfterProp||QU.containsNewline(C))q(C??G[G.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else if(W.found?.indent!==B.indent)q(Y,"BAD_INDENT",PF);F.atKey=!0;let z=W.end,w=C?D(F,C,W,q):$(F,z,G,null,W,q);if(F.schema.compat)TF.flowIndentCheck(B.indent,C,q);if(F.atKey=!1,JU.mapIncludes(F,J.items,w))q(z,"DUPLICATE_KEY","Map keys must be unique");let M=SF.resolveProps(A??[],{indicator:"map-value-ind",next:u,offset:w.range[2],onError:q,parentIndent:B.indent,startOnNewline:!C||C.type==="block-scalar"});if(Y=M.end,M.found){if(U){if(u?.type==="block-map"&&!M.hasNewline)q(Y,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings");if(F.options.strict&&W.start<M.found.offset-1024)q(w.range,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit block mapping key")}let K=u?D(F,u,M,q):$(F,Y,A,null,M,q);if(F.schema.compat)TF.flowIndentCheck(B.indent,u,q);Y=K.range[2];let N=new bF.Pair(w,K);if(F.options.keepSourceTokens)N.srcToken=_;J.items.push(N)}else{if(U)q(w.range,"MISSING_CHAR","Implicit map keys need to be followed by map values");if(M.comment)if(w.comment)w.comment+=`
123
- `+M.comment;else w.comment=M.comment;let K=new bF.Pair(w);if(F.options.keepSourceTokens)K.srcToken=_;J.items.push(K)}}if(H&&H<Y)q(H,"IMPOSSIBLE","Map comment with trailing content");return J.range=[B.offset,Y,H??Y],J}HU.resolveBlockMap=YU});var fF=Z((AU)=>{var GU=b0(),CU=i3(),VU=c9();function WU({composeNode:D,composeEmptyNode:$},F,B,q,Q){let J=new(Q?.nodeClass??GU.YAMLSeq)(F.schema);if(F.atRoot)F.atRoot=!1;if(F.atKey)F.atKey=!1;let Y=B.offset,H=null;for(let{start:_,value:G}of B.items){let C=CU.resolveProps(_,{indicator:"seq-item-ind",next:G,offset:Y,onError:q,parentIndent:B.indent,startOnNewline:!0});if(!C.found)if(C.anchor||C.tag||G)if(G?.type==="block-seq")q(C.end,"BAD_INDENT","All sequence items must start at the same column");else q(Y,"MISSING_CHAR","Sequence item without - indicator");else{if(H=C.end,C.comment)J.comment=C.comment;continue}let A=G?D(F,G,C,q):$(F,C.end,_,null,C,q);if(F.schema.compat)VU.flowIndentCheck(B.indent,G,q);Y=A.range[2],J.items.push(A)}return J.range=[B.offset,Y,H??Y],J}AU.resolveBlockSeq=WU});var k2=Z((zU)=>{function uU(D,$,F,B){let q="";if(D){let Q=!1,X="";for(let J of D){let{source:Y,type:H}=J;switch(H){case"space":Q=!0;break;case"comment":{if(F&&!Q)B(J,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let _=Y.substring(1)||" ";if(!q)q=_;else q+=X+_;X="";break}case"newline":if(q)X+=Y;Q=!0;break;default:B(J,"UNEXPECTED_TOKEN",`Unexpected ${H} at node end`)}$+=Y.length}}return{comment:q,offset:$}}zU.resolveEnd=uU});var hF=Z((LU)=>{var MU=d(),KU=L0(),yF=I0(),EU=b0(),OU=k2(),kF=i3(),jU=O1(),RU=i9(),n9="Block collections are not allowed within flow collections",r9=(D)=>D&&(D.type==="block-map"||D.type==="block-seq");function NU({composeNode:D,composeEmptyNode:$},F,B,q,Q){let X=B.start.source==="{",J=X?"flow map":"flow sequence",H=new(Q?.nodeClass??(X?yF.YAMLMap:EU.YAMLSeq))(F.schema);H.flow=!0;let _=F.atRoot;if(_)F.atRoot=!1;if(F.atKey)F.atKey=!1;let G=B.offset+B.start.source.length;for(let U=0;U<B.items.length;++U){let z=B.items[U],{start:w,key:M,sep:K,value:N}=z,I=kF.resolveProps(w,{flow:J,indicator:"explicit-key-ind",next:M??K?.[0],offset:G,onError:q,parentIndent:B.indent,startOnNewline:!1});if(!I.found){if(!I.anchor&&!I.tag&&!K&&!N){if(U===0&&I.comma)q(I.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${J}`);else if(U<B.items.length-1)q(I.start,"UNEXPECTED_TOKEN",`Unexpected empty item in ${J}`);if(I.comment)if(H.comment)H.comment+=`
124
- `+I.comment;else H.comment=I.comment;G=I.end;continue}if(!X&&F.options.strict&&jU.containsNewline(M))q(M,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line")}if(U===0){if(I.comma)q(I.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${J}`)}else{if(!I.comma)q(I.start,"MISSING_CHAR",`Missing , between ${J} items`);if(I.comment){let f="";D:for(let L of w)switch(L.type){case"comma":case"space":break;case"comment":f=L.source.substring(1);break D;default:break D}if(f){let L=H.items[H.items.length-1];if(MU.isPair(L))L=L.value??L.key;if(L.comment)L.comment+=`
125
- `+f;else L.comment=f;I.comment=I.comment.substring(f.length+1)}}}if(!X&&!K&&!I.found){let f=N?D(F,N,I,q):$(F,I.end,K,null,I,q);if(H.items.push(f),G=f.range[2],r9(N))q(f.range,"BLOCK_IN_FLOW",n9)}else{F.atKey=!0;let f=I.end,L=M?D(F,M,I,q):$(F,f,w,null,I,q);if(r9(M))q(L.range,"BLOCK_IN_FLOW",n9);F.atKey=!1;let c=kF.resolveProps(K??[],{flow:J,indicator:"map-value-ind",next:N,offset:L.range[2],onError:q,parentIndent:B.indent,startOnNewline:!1});if(c.found){if(!X&&!I.found&&F.options.strict){if(K)for(let n of K){if(n===c.found)break;if(n.type==="newline"){q(n,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line");break}}if(I.start<c.found.offset-1024)q(c.found,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit flow sequence key")}}else if(N)if("source"in N&&N.source?.[0]===":")q(N,"MISSING_CHAR",`Missing space after : in ${J}`);else q(c.start,"MISSING_CHAR",`Missing , or : between ${J} items`);let e=N?D(F,N,c,q):c.found?$(F,c.end,K,null,c,q):null;if(e){if(r9(N))q(e.range,"BLOCK_IN_FLOW",n9)}else if(c.comment)if(L.comment)L.comment+=`
126
- `+c.comment;else L.comment=c.comment;let B0=new KU.Pair(L,e);if(F.options.keepSourceTokens)B0.srcToken=z;if(X){let n=H;if(RU.mapIncludes(F,n.items,L))q(f,"DUPLICATE_KEY","Map keys must be unique");n.items.push(B0)}else{let n=new yF.YAMLMap(F.schema);n.flow=!0,n.items.push(B0);let y=(e??L).range;n.range=[L.range[0],y[1],y[2]],H.items.push(n)}G=e?e.range[2]:c.end}}let C=X?"}":"]",[A,...u]=B.end,W=G;if(A?.source===C)W=A.offset+A.source.length;else{let U=J[0].toUpperCase()+J.substring(1),z=_?`${U} must end with a ${C}`:`${U} in block collection must be sufficiently indented and end with a ${C}`;if(q(G,_?"MISSING_CHAR":"BAD_INDENT",z),A&&A.source.length!==1)u.unshift(A)}if(u.length>0){let U=OU.resolveEnd(u,W,F.options.strict,q);if(U.comment)if(H.comment)H.comment+=`
127
- `+U.comment;else H.comment=U.comment;H.range=[B.offset,W,U.offset]}else H.range=[B.offset,W,W];return H}LU.resolveFlowCollection=NU});var mF=Z((kU)=>{var IU=d(),bU=DD(),SU=I0(),TU=b0(),PU=vF(),vU=fF(),fU=hF();function a9(D,$,F,B,q,Q){let X=F.type==="block-map"?PU.resolveBlockMap(D,$,F,B,Q):F.type==="block-seq"?vU.resolveBlockSeq(D,$,F,B,Q):fU.resolveFlowCollection(D,$,F,B,Q),J=X.constructor;if(q==="!"||q===J.tagName)return X.tag=J.tagName,X;if(q)X.tag=q;return X}function yU(D,$,F,B,q){let Q=B.tag,X=!Q?null:$.directives.tagName(Q.source,(C)=>q(Q,"TAG_RESOLVE_FAILED",C));if(F.type==="block-seq"){let{anchor:C,newlineAfterProp:A}=B,u=C&&Q?C.offset>Q.offset?C:Q:C??Q;if(u&&(!A||A.offset<u.offset))q(u,"MISSING_CHAR","Missing newline after block sequence props")}let J=F.type==="block-map"?"map":F.type==="block-seq"?"seq":F.start.source==="{"?"map":"seq";if(!Q||!X||X==="!"||X===SU.YAMLMap.tagName&&J==="map"||X===TU.YAMLSeq.tagName&&J==="seq")return a9(D,$,F,q,X);let Y=$.schema.tags.find((C)=>C.tag===X&&C.collection===J);if(!Y){let C=$.schema.knownTags[X];if(C?.collection===J)$.schema.tags.push(Object.assign({},C,{default:!1})),Y=C;else{if(C)q(Q,"BAD_COLLECTION_TYPE",`${C.tag} used for ${J} collection, but expects ${C.collection??"scalar"}`,!0);else q(Q,"TAG_RESOLVE_FAILED",`Unresolved tag: ${X}`,!0);return a9(D,$,F,q,X)}}let H=a9(D,$,F,q,X,Y),_=Y.resolve?.(H,(C)=>q(Q,"TAG_RESOLVE_FAILED",C),$.options)??H,G=IU.isNode(_)?_:new bU.Scalar(_);if(G.range=H.range,G.tag=X,Y?.format)G.format=Y.format;return G}kU.composeCollection=yU});var o9=Z((lU)=>{var s9=DD();function mU(D,$,F){let B=$.offset,q=gU($,D.options.strict,F);if(!q)return{value:"",type:null,comment:"",range:[B,B,B]};let Q=q.mode===">"?s9.Scalar.BLOCK_FOLDED:s9.Scalar.BLOCK_LITERAL,X=$.source?xU($.source):[],J=X.length;for(let W=X.length-1;W>=0;--W){let U=X[W][1];if(U===""||U==="\r")J=W;else break}if(J===0){let W=q.chomp==="+"&&X.length>0?`
128
- `.repeat(Math.max(1,X.length-1)):"",U=B+q.length;if($.source)U+=$.source.length;return{value:W,type:Q,comment:q.comment,range:[B,U,U]}}let Y=$.indent+q.indent,H=$.offset+q.length,_=0;for(let W=0;W<J;++W){let[U,z]=X[W];if(z===""||z==="\r"){if(q.indent===0&&U.length>Y)Y=U.length}else{if(U.length<Y)F(H+U.length,"MISSING_CHAR","Block scalars with more-indented leading empty lines must use an explicit indentation indicator");if(q.indent===0)Y=U.length;if(_=W,Y===0&&!D.atRoot)F(H,"BAD_INDENT","Block scalar values in collections must be indented");break}H+=U.length+z.length+1}for(let W=X.length-1;W>=J;--W)if(X[W][0].length>Y)J=W+1;let G="",C="",A=!1;for(let W=0;W<_;++W)G+=X[W][0].slice(Y)+`
129
- `;for(let W=_;W<J;++W){let[U,z]=X[W];H+=U.length+z.length+1;let w=z[z.length-1]==="\r";if(w)z=z.slice(0,-1);if(z&&U.length<Y){let K=`Block scalar lines must not be less indented than their ${q.indent?"explicit indentation indicator":"first line"}`;F(H-z.length-(w?2:1),"BAD_INDENT",K),U=""}if(Q===s9.Scalar.BLOCK_LITERAL)G+=C+U.slice(Y)+z,C=`
130
- `;else if(U.length>Y||z[0]==="\t"){if(C===" ")C=`
131
- `;else if(!A&&C===`
132
- `)C=`
133
-
134
- `;G+=C+U.slice(Y)+z,C=`
135
- `,A=!0}else if(z==="")if(C===`
136
- `)G+=`
137
- `;else C=`
138
- `;else G+=C+z,C=" ",A=!1}switch(q.chomp){case"-":break;case"+":for(let W=J;W<X.length;++W)G+=`
139
- `+X[W][0].slice(Y);if(G[G.length-1]!==`
140
- `)G+=`
141
- `;break;default:G+=`
142
- `}let u=B+q.length+$.source.length;return{value:G,type:Q,comment:q.comment,range:[B,u,u]}}function gU({offset:D,props:$},F,B){if($[0].type!=="block-scalar-header")return B($[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:q}=$[0],Q=q[0],X=0,J="",Y=-1;for(let C=1;C<q.length;++C){let A=q[C];if(!J&&(A==="-"||A==="+"))J=A;else{let u=Number(A);if(!X&&u)X=u;else if(Y===-1)Y=D+C}}if(Y!==-1)B(Y,"UNEXPECTED_TOKEN",`Block scalar header includes extra characters: ${q}`);let H=!1,_="",G=q.length;for(let C=1;C<$.length;++C){let A=$[C];switch(A.type){case"space":H=!0;case"newline":G+=A.source.length;break;case"comment":if(F&&!H)B(A,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");G+=A.source.length,_=A.source.substring(1);break;case"error":B(A,"UNEXPECTED_TOKEN",A.message),G+=A.source.length;break;default:{let u=`Unexpected token in block scalar header: ${A.type}`;B(A,"UNEXPECTED_TOKEN",u);let W=A.source;if(W&&typeof W==="string")G+=W.length}}}return{mode:Q,indent:X,chomp:J,comment:_,length:G}}function xU(D){let $=D.split(/\n( *)/),F=$[0],B=F.match(/^( *)/),Q=[B?.[1]?[B[1],F.slice(B[1].length)]:["",F]];for(let X=1;X<$.length;X+=2)Q.push([$[X],$[X+1]]);return Q}lU.resolveBlockScalar=mU});var e9=Z((tU)=>{var t9=DD(),pU=k2();function cU(D,$,F){let{offset:B,type:q,source:Q,end:X}=D,J,Y,H=(C,A,u)=>F(B+C,A,u);switch(q){case"scalar":J=t9.Scalar.PLAIN,Y=iU(Q,H);break;case"single-quoted-scalar":J=t9.Scalar.QUOTE_SINGLE,Y=nU(Q,H);break;case"double-quoted-scalar":J=t9.Scalar.QUOTE_DOUBLE,Y=rU(Q,H);break;default:return F(D,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${q}`),{value:"",type:null,comment:"",range:[B,B+Q.length,B+Q.length]}}let _=B+Q.length,G=pU.resolveEnd(X,_,$,F);return{value:Y,type:J,comment:G.comment,range:[B,_,G.offset]}}function iU(D,$){let F="";switch(D[0]){case"\t":F="a tab character";break;case",":F="flow indicator character ,";break;case"%":F="directive indicator character %";break;case"|":case">":{F=`block scalar indicator ${D[0]}`;break}case"@":case"`":{F=`reserved character ${D[0]}`;break}}if(F)$(0,"BAD_SCALAR_START",`Plain value cannot start with ${F}`);return gF(D)}function nU(D,$){if(D[D.length-1]!=="'"||D.length===1)$(D.length,"MISSING_CHAR","Missing closing 'quote");return gF(D.slice(1,-1)).replace(/''/g,"'")}function gF(D){let $,F;try{$=new RegExp(`(.*?)(?<![ ])[ ]*\r?
143
- `,"sy"),F=new RegExp(`[ ]*(.*?)(?:(?<![ ])[ ]*)?\r?
144
- `,"sy")}catch{$=/(.*?)[ \t]*\r?\n/sy,F=/[ \t]*(.*?)[ \t]*\r?\n/sy}let B=$.exec(D);if(!B)return D;let q=B[1],Q=" ",X=$.lastIndex;F.lastIndex=X;while(B=F.exec(D)){if(B[1]==="")if(Q===`
145
- `)q+=Q;else Q=`
146
- `;else q+=Q+B[1],Q=" ";X=F.lastIndex}let J=/[ \t]*(.*)/sy;return J.lastIndex=X,B=J.exec(D),q+Q+(B?.[1]??"")}function rU(D,$){let F="";for(let B=1;B<D.length-1;++B){let q=D[B];if(q==="\r"&&D[B+1]===`
147
- `)continue;if(q===`
148
- `){let{fold:Q,offset:X}=aU(D,B);F+=Q,B=X}else if(q==="\\"){let Q=D[++B],X=sU[Q];if(X)F+=X;else if(Q===`
149
- `){Q=D[B+1];while(Q===" "||Q==="\t")Q=D[++B+1]}else if(Q==="\r"&&D[B+1]===`
150
- `){Q=D[++B+1];while(Q===" "||Q==="\t")Q=D[++B+1]}else if(Q==="x"||Q==="u"||Q==="U"){let J={x:2,u:4,U:8}[Q];F+=oU(D,B+1,J,$),B+=J}else{let J=D.substr(B-1,2);$(B-1,"BAD_DQ_ESCAPE",`Invalid escape sequence ${J}`),F+=J}}else if(q===" "||q==="\t"){let Q=B,X=D[B+1];while(X===" "||X==="\t")X=D[++B+1];if(X!==`
151
- `&&!(X==="\r"&&D[B+2]===`
152
- `))F+=B>Q?D.slice(Q,B+1):q}else F+=q}if(D[D.length-1]!=='"'||D.length===1)$(D.length,"MISSING_CHAR",'Missing closing "quote');return F}function aU(D,$){let F="",B=D[$+1];while(B===" "||B==="\t"||B===`
153
- `||B==="\r"){if(B==="\r"&&D[$+2]!==`
154
- `)break;if(B===`
155
- `)F+=`
156
- `;$+=1,B=D[$+1]}if(!F)F=" ";return{fold:F,offset:$}}var sU={"0":"\x00",a:"\x07",b:"\b",e:"\x1B",f:"\f",n:`
157
- `,r:"\r",t:"\t",v:"\v",N:"…",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\","\t":"\t"};function oU(D,$,F,B){let q=D.substr($,F),X=q.length===F&&/^[0-9a-fA-F]+$/.test(q)?parseInt(q,16):NaN;if(isNaN(X)){let J=D.substr($-2,F+2);return B($-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${J}`),J}return String.fromCodePoint(X)}tU.resolveFlowScalar=cU});var lF=Z((Xu)=>{var $2=d(),xF=DD(),Du=o9(),$u=e9();function Fu(D,$,F,B){let{value:q,type:Q,comment:X,range:J}=$.type==="block-scalar"?Du.resolveBlockScalar(D,$,B):$u.resolveFlowScalar($,D.options.strict,B),Y=F?D.directives.tagName(F.source,(G)=>B(F,"TAG_RESOLVE_FAILED",G)):null,H;if(D.options.stringKeys&&D.atKey)H=D.schema[$2.SCALAR];else if(Y)H=Bu(D.schema,q,Y,F,B);else if($.type==="scalar")H=qu(D,q,$,B);else H=D.schema[$2.SCALAR];let _;try{let G=H.resolve(q,(C)=>B(F??$,"TAG_RESOLVE_FAILED",C),D.options);_=$2.isScalar(G)?G:new xF.Scalar(G)}catch(G){let C=G instanceof Error?G.message:String(G);B(F??$,"TAG_RESOLVE_FAILED",C),_=new xF.Scalar(q)}if(_.range=J,_.source=q,Q)_.type=Q;if(Y)_.tag=Y;if(H.format)_.format=H.format;if(X)_.comment=X;return _}function Bu(D,$,F,B,q){if(F==="!")return D[$2.SCALAR];let Q=[];for(let J of D.tags)if(!J.collection&&J.tag===F)if(J.default&&J.test)Q.push(J);else return J;for(let J of Q)if(J.test?.test($))return J;let X=D.knownTags[F];if(X&&!X.collection)return D.tags.push(Object.assign({},X,{default:!1,test:void 0})),X;return q(B,"TAG_RESOLVE_FAILED",`Unresolved tag: ${F}`,F!=="tag:yaml.org,2002:str"),D[$2.SCALAR]}function qu({atKey:D,directives:$,schema:F},B,q,Q){let X=F.tags.find((J)=>(J.default===!0||D&&J.default==="key")&&J.test?.test(B))||F[$2.SCALAR];if(F.compat){let J=F.compat.find((Y)=>Y.default&&Y.test?.test(B))??F[$2.SCALAR];if(X.tag!==J.tag){let Y=$.tagString(X.tag),H=$.tagString(J.tag),_=`Value may be parsed as either ${Y} or ${H}`;Q(q,"TAG_RESOLVE_FAILED",_,!0)}}return X}Xu.composeScalar=Fu});var dF=Z((Yu)=>{function Ju(D,$,F){if($){F??(F=$.length);for(let B=F-1;B>=0;--B){let q=$[B];switch(q.type){case"space":case"comment":case"newline":D-=q.source.length;continue}q=$[++B];while(q?.type==="space")D+=q.source.length,q=$[++B];break}}return D}Yu.emptyScalarPosition=Ju});var iF=Z((uu)=>{var _u=I3(),Gu=d(),Cu=mF(),pF=lF(),Vu=k2(),Wu=dF(),Au={composeNode:cF,composeEmptyNode:D7};function cF(D,$,F,B){let q=D.atKey,{spaceBefore:Q,comment:X,anchor:J,tag:Y}=F,H,_=!0;switch($.type){case"alias":if(H=Uu(D,$,B),J||Y)B($,"ALIAS_PROPS","An alias node must not specify any properties");break;case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"block-scalar":if(H=pF.composeScalar(D,$,Y,B),J)H.anchor=J.source.substring(1);break;case"block-map":case"block-seq":case"flow-collection":if(H=Cu.composeCollection(Au,D,$,F,B),J)H.anchor=J.source.substring(1);break;default:{let G=$.type==="error"?$.message:`Unsupported token (type: ${$.type})`;B($,"UNEXPECTED_TOKEN",G),H=D7(D,$.offset,void 0,null,F,B),_=!1}}if(J&&H.anchor==="")B(J,"BAD_ALIAS","Anchor cannot be an empty string");if(q&&D.options.stringKeys&&(!Gu.isScalar(H)||typeof H.value!=="string"||H.tag&&H.tag!=="tag:yaml.org,2002:str"))B(Y??$,"NON_STRING_KEY","With stringKeys, all keys must be strings");if(Q)H.spaceBefore=!0;if(X)if($.type==="scalar"&&$.source==="")H.comment=X;else H.commentBefore=X;if(D.options.keepSourceTokens&&_)H.srcToken=$;return H}function D7(D,$,F,B,{spaceBefore:q,comment:Q,anchor:X,tag:J,end:Y},H){let _={type:"scalar",offset:Wu.emptyScalarPosition($,F,B),indent:-1,source:""},G=pF.composeScalar(D,_,J,H);if(X){if(G.anchor=X.source.substring(1),G.anchor==="")H(X,"BAD_ALIAS","Anchor cannot be an empty string")}if(q)G.spaceBefore=!0;if(Q)G.comment=Q,G.range[2]=Y;return G}function Uu({options:D},{offset:$,source:F,end:B},q){let Q=new _u.Alias(F.substring(1));if(Q.source==="")q($,"BAD_ALIAS","Alias cannot be an empty string");if(Q.source.endsWith(":"))q($+F.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);let X=$+F.length,J=Vu.resolveEnd(B,X,D.strict,q);if(Q.range=[$,X,J.offset],J.comment)Q.comment=J.comment;return Q}uu.composeEmptyNode=D7;uu.composeNode=cF});var rF=Z((ju)=>{var Mu=p3(),nF=iF(),Ku=k2(),Eu=i3();function Ou(D,$,{offset:F,start:B,value:q,end:Q},X){let J=Object.assign({_directives:$},D),Y=new Mu.Document(void 0,J),H={atKey:!1,atRoot:!0,directives:Y.directives,options:Y.options,schema:Y.schema},_=Eu.resolveProps(B,{indicator:"doc-start",next:q??Q?.[0],offset:F,onError:X,parentIndent:0,startOnNewline:!0});if(_.found){if(Y.directives.docStart=!0,q&&(q.type==="block-map"||q.type==="block-seq")&&!_.hasNewline)X(_.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")}Y.contents=q?nF.composeNode(H,q,_,X):nF.composeEmptyNode(H,_.end,B,null,_,X);let G=Y.contents.range[2],C=Ku.resolveEnd(Q,G,!1,X);if(C.comment)Y.comment=C.comment;return Y.range=[F,G,C.offset],Y}ju.composeDoc=Ou});var $7=Z((Su)=>{var Nu=i2("process"),Lu=X9(),Zu=p3(),n3=c3(),aF=d(),Iu=rF(),bu=k2();function r3(D){if(typeof D==="number")return[D,D+1];if(Array.isArray(D))return D.length===2?D:[D[0],D[1]];let{offset:$,source:F}=D;return[$,$+(typeof F==="string"?F.length:1)]}function sF(D){let $="",F=!1,B=!1;for(let q=0;q<D.length;++q){let Q=D[q];switch(Q[0]){case"#":$+=($===""?"":B?`
158
-
159
- `:`
160
- `)+(Q.substring(1)||" "),F=!0,B=!1;break;case"%":if(D[q+1]?.[0]!=="#")q+=1;F=!1;break;default:if(!F)B=!0;F=!1}}return{comment:$,afterEmptyLine:B}}class oF{constructor(D={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=($,F,B,q)=>{let Q=r3($);if(q)this.warnings.push(new n3.YAMLWarning(Q,F,B));else this.errors.push(new n3.YAMLParseError(Q,F,B))},this.directives=new Lu.Directives({version:D.version||"1.2"}),this.options=D}decorate(D,$){let{comment:F,afterEmptyLine:B}=sF(this.prelude);if(F){let q=D.contents;if($)D.comment=D.comment?`${D.comment}
161
- ${F}`:F;else if(B||D.directives.docStart||!q)D.commentBefore=F;else if(aF.isCollection(q)&&!q.flow&&q.items.length>0){let Q=q.items[0];if(aF.isPair(Q))Q=Q.key;let X=Q.commentBefore;Q.commentBefore=X?`${F}
162
- ${X}`:F}else{let Q=q.commentBefore;q.commentBefore=Q?`${F}
163
- ${Q}`:F}}if($)Array.prototype.push.apply(D.errors,this.errors),Array.prototype.push.apply(D.warnings,this.warnings);else D.errors=this.errors,D.warnings=this.warnings;this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:sF(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose(D,$=!1,F=-1){for(let B of D)yield*this.next(B);yield*this.end($,F)}*next(D){if(Nu.env.LOG_STREAM)console.dir(D,{depth:null});switch(D.type){case"directive":this.directives.add(D.source,($,F,B)=>{let q=r3(D);q[0]+=$,this.onError(q,"BAD_DIRECTIVE",F,B)}),this.prelude.push(D.source),this.atDirectives=!0;break;case"document":{let $=Iu.composeDoc(this.options,this.directives,D,this.onError);if(this.atDirectives&&!$.directives.docStart)this.onError(D,"MISSING_CHAR","Missing directives-end/doc-start indicator line");if(this.decorate($,!1),this.doc)yield this.doc;this.doc=$,this.atDirectives=!1;break}case"byte-order-mark":case"space":break;case"comment":case"newline":this.prelude.push(D.source);break;case"error":{let $=D.source?`${D.message}: ${JSON.stringify(D.source)}`:D.message,F=new n3.YAMLParseError(r3(D),"UNEXPECTED_TOKEN",$);if(this.atDirectives||!this.doc)this.errors.push(F);else this.doc.errors.push(F);break}case"doc-end":{if(!this.doc){this.errors.push(new n3.YAMLParseError(r3(D),"UNEXPECTED_TOKEN","Unexpected doc-end without preceding document"));break}this.doc.directives.docEnd=!0;let $=bu.resolveEnd(D.end,D.offset+D.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),$.comment){let F=this.doc.comment;this.doc.comment=F?`${F}
164
- ${$.comment}`:$.comment}this.doc.range[2]=$.offset;break}default:this.errors.push(new n3.YAMLParseError(r3(D),"UNEXPECTED_TOKEN",`Unsupported token ${D.type}`))}}*end(D=!1,$=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(D){let F=Object.assign({_directives:this.directives},this.options),B=new Zu.Document(void 0,F);if(this.atDirectives)this.onError($,"MISSING_CHAR","Missing directives-end indicator line");B.range=[0,$,$],this.decorate(B,!1),yield B}}}Su.Composer=oF});var DB=Z((gu)=>{var Pu=o9(),vu=e9(),fu=c3(),tF=P3();function yu(D,$=!0,F){if(D){let B=(q,Q,X)=>{let J=typeof q==="number"?q:Array.isArray(q)?q[0]:q.offset;if(F)F(J,Q,X);else throw new fu.YAMLParseError([J,J+1],Q,X)};switch(D.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return vu.resolveFlowScalar(D,$,B);case"block-scalar":return Pu.resolveBlockScalar({options:{strict:$}},D,B)}}return null}function ku(D,$){let{implicitKey:F=!1,indent:B,inFlow:q=!1,offset:Q=-1,type:X="PLAIN"}=$,J=tF.stringifyString({type:X,value:D},{implicitKey:F,indent:B>0?" ".repeat(B):"",inFlow:q,options:{blockQuote:!0,lineWidth:-1}}),Y=$.end??[{type:"newline",offset:-1,indent:B,source:`
165
- `}];switch(J[0]){case"|":case">":{let H=J.indexOf(`
166
- `),_=J.substring(0,H),G=J.substring(H+1)+`
167
- `,C=[{type:"block-scalar-header",offset:Q,indent:B,source:_}];if(!eF(C,Y))C.push({type:"newline",offset:-1,indent:B,source:`
168
- `});return{type:"block-scalar",offset:Q,indent:B,props:C,source:G}}case'"':return{type:"double-quoted-scalar",offset:Q,indent:B,source:J,end:Y};case"'":return{type:"single-quoted-scalar",offset:Q,indent:B,source:J,end:Y};default:return{type:"scalar",offset:Q,indent:B,source:J,end:Y}}}function hu(D,$,F={}){let{afterKey:B=!1,implicitKey:q=!1,inFlow:Q=!1,type:X}=F,J="indent"in D?D.indent:null;if(B&&typeof J==="number")J+=2;if(!X)switch(D.type){case"single-quoted-scalar":X="QUOTE_SINGLE";break;case"double-quoted-scalar":X="QUOTE_DOUBLE";break;case"block-scalar":{let H=D.props[0];if(H.type!=="block-scalar-header")throw Error("Invalid block scalar header");X=H.source[0]===">"?"BLOCK_FOLDED":"BLOCK_LITERAL";break}default:X="PLAIN"}let Y=tF.stringifyString({type:X,value:$},{implicitKey:q||J===null,indent:J!==null&&J>0?" ".repeat(J):"",inFlow:Q,options:{blockQuote:!0,lineWidth:-1}});switch(Y[0]){case"|":case">":mu(D,Y);break;case'"':F7(D,Y,"double-quoted-scalar");break;case"'":F7(D,Y,"single-quoted-scalar");break;default:F7(D,Y,"scalar")}}function mu(D,$){let F=$.indexOf(`
169
- `),B=$.substring(0,F),q=$.substring(F+1)+`
170
- `;if(D.type==="block-scalar"){let Q=D.props[0];if(Q.type!=="block-scalar-header")throw Error("Invalid block scalar header");Q.source=B,D.source=q}else{let{offset:Q}=D,X="indent"in D?D.indent:-1,J=[{type:"block-scalar-header",offset:Q,indent:X,source:B}];if(!eF(J,"end"in D?D.end:void 0))J.push({type:"newline",offset:-1,indent:X,source:`
171
- `});for(let Y of Object.keys(D))if(Y!=="type"&&Y!=="offset")delete D[Y];Object.assign(D,{type:"block-scalar",indent:X,props:J,source:q})}}function eF(D,$){if($)for(let F of $)switch(F.type){case"space":case"comment":D.push(F);break;case"newline":return D.push(F),!0}return!1}function F7(D,$,F){switch(D.type){case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":D.type=F,D.source=$;break;case"block-scalar":{let B=D.props.slice(1),q=$.length;if(D.props[0].type==="block-scalar-header")q-=D.props[0].source.length;for(let Q of B)Q.offset+=q;delete D.props,Object.assign(D,{type:F,source:$,end:B});break}case"block-map":case"block-seq":{let q={type:"newline",offset:D.offset+$.length,indent:D.indent,source:`
172
- `};delete D.items,Object.assign(D,{type:F,source:$,end:[q]});break}default:{let B="indent"in D?D.indent:-1,q="end"in D&&Array.isArray(D.end)?D.end.filter((Q)=>Q.type==="space"||Q.type==="comment"||Q.type==="newline"):[];for(let Q of Object.keys(D))if(Q!=="type"&&Q!=="offset")delete D[Q];Object.assign(D,{type:F,indent:B,source:$,end:q})}}}gu.createScalarToken=ku;gu.resolveAsScalar=yu;gu.setScalarValue=hu});var $B=Z((cu)=>{var pu=(D)=>("type"in D)?R1(D):j1(D);function R1(D){switch(D.type){case"block-scalar":{let $="";for(let F of D.props)$+=R1(F);return $+D.source}case"block-map":case"block-seq":{let $="";for(let F of D.items)$+=j1(F);return $}case"flow-collection":{let $=D.start.source;for(let F of D.items)$+=j1(F);for(let F of D.end)$+=F.source;return $}case"document":{let $=j1(D);if(D.end)for(let F of D.end)$+=F.source;return $}default:{let $=D.source;if("end"in D&&D.end)for(let F of D.end)$+=F.source;return $}}}function j1({start:D,key:$,sep:F,value:B}){let q="";for(let Q of D)q+=Q.source;if($)q+=R1($);if(F)for(let Q of F)q+=Q.source;if(B)q+=R1(B);return q}cu.stringify=pu});var qB=Z((ru)=>{var B7=Symbol("break visit"),nu=Symbol("skip children"),FB=Symbol("remove item");function F2(D,$){if("type"in D&&D.type==="document")D={start:D.start,value:D.value};BB(Object.freeze([]),D,$)}F2.BREAK=B7;F2.SKIP=nu;F2.REMOVE=FB;F2.itemAtPath=(D,$)=>{let F=D;for(let[B,q]of $){let Q=F?.[B];if(Q&&"items"in Q)F=Q.items[q];else return}return F};F2.parentCollection=(D,$)=>{let F=F2.itemAtPath(D,$.slice(0,-1)),B=$[$.length-1][0],q=F?.[B];if(q&&"items"in q)return q;throw Error("Parent collection not found")};function BB(D,$,F){let B=F($,D);if(typeof B==="symbol")return B;for(let q of["key","value"]){let Q=$[q];if(Q&&"items"in Q){for(let X=0;X<Q.items.length;++X){let J=BB(Object.freeze(D.concat([[q,X]])),Q.items[X],F);if(typeof J==="number")X=J-1;else if(J===B7)return B7;else if(J===FB)Q.items.splice(X,1),X-=1}if(typeof B==="function"&&q==="key")B=B($,D)}}return typeof B==="function"?B($,D):B}ru.visit=F2});var N1=Z((Fz)=>{var q7=DB(),su=$B(),ou=qB(),X7="\uFEFF",Q7="\x02",J7="\x18",Y7="\x1F",tu=(D)=>!!D&&("items"in D),eu=(D)=>!!D&&(D.type==="scalar"||D.type==="single-quoted-scalar"||D.type==="double-quoted-scalar"||D.type==="block-scalar");function Dz(D){switch(D){case X7:return"<BOM>";case Q7:return"<DOC>";case J7:return"<FLOW_END>";case Y7:return"<SCALAR>";default:return JSON.stringify(D)}}function $z(D){switch(D){case X7:return"byte-order-mark";case Q7:return"doc-mode";case J7:return"flow-error-end";case Y7:return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case`
173
- `:case`\r
174
- `:return"newline";case"-":return"seq-item-ind";case"?":return"explicit-key-ind";case":":return"map-value-ind";case"{":return"flow-map-start";case"}":return"flow-map-end";case"[":return"flow-seq-start";case"]":return"flow-seq-end";case",":return"comma"}switch(D[0]){case" ":case"\t":return"space";case"#":return"comment";case"%":return"directive-line";case"*":return"alias";case"&":return"anchor";case"!":return"tag";case"'":return"single-quoted-scalar";case'"':return"double-quoted-scalar";case"|":case">":return"block-scalar-header"}return null}Fz.createScalarToken=q7.createScalarToken;Fz.resolveAsScalar=q7.resolveAsScalar;Fz.setScalarValue=q7.setScalarValue;Fz.stringify=su.stringify;Fz.visit=ou.visit;Fz.BOM=X7;Fz.DOCUMENT=Q7;Fz.FLOW_END=J7;Fz.SCALAR=Y7;Fz.isCollection=tu;Fz.isScalar=eu;Fz.prettyToken=Dz;Fz.tokenType=$z});var _7=Z((zz)=>{var a3=N1();function iD(D){switch(D){case void 0:case" ":case`
175
- `:case"\r":case"\t":return!0;default:return!1}}var XB=new Set("0123456789ABCDEFabcdef"),Uz=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),L1=new Set(",[]{}"),uz=new Set(` ,[]{}
176
- \r `),H7=(D)=>!D||uz.has(D);class QB{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.pos=0}*lex(D,$=!1){if(D){if(typeof D!=="string")throw TypeError("source is not a string");this.buffer=this.buffer?this.buffer+D:D,this.lineEndPos=null}this.atEnd=!$;let F=this.next??"stream";while(F&&($||this.hasChars(1)))F=yield*this.parseNext(F)}atLineEnd(){let D=this.pos,$=this.buffer[D];while($===" "||$==="\t")$=this.buffer[++D];if(!$||$==="#"||$===`
177
- `)return!0;if($==="\r")return this.buffer[D+1]===`
178
- `;return!1}charAt(D){return this.buffer[this.pos+D]}continueScalar(D){let $=this.buffer[D];if(this.indentNext>0){let F=0;while($===" ")$=this.buffer[++F+D];if($==="\r"){let B=this.buffer[F+D+1];if(B===`
179
- `||!B&&!this.atEnd)return D+F+1}return $===`
180
- `||F>=this.indentNext||!$&&!this.atEnd?D+F:-1}if($==="-"||$==="."){let F=this.buffer.substr(D,3);if((F==="---"||F==="...")&&iD(this.buffer[D+3]))return-1}return D}getLine(){let D=this.lineEndPos;if(typeof D!=="number"||D!==-1&&D<this.pos)D=this.buffer.indexOf(`
181
- `,this.pos),this.lineEndPos=D;if(D===-1)return this.atEnd?this.buffer.substring(this.pos):null;if(this.buffer[D-1]==="\r")D-=1;return this.buffer.substring(this.pos,D)}hasChars(D){return this.pos+D<=this.buffer.length}setNext(D){return this.buffer=this.buffer.substring(this.pos),this.pos=0,this.lineEndPos=null,this.next=D,null}peek(D){return this.buffer.substr(this.pos,D)}*parseNext(D){switch(D){case"stream":return yield*this.parseStream();case"line-start":return yield*this.parseLineStart();case"block-start":return yield*this.parseBlockStart();case"doc":return yield*this.parseDocument();case"flow":return yield*this.parseFlowCollection();case"quoted-scalar":return yield*this.parseQuotedScalar();case"block-scalar":return yield*this.parseBlockScalar();case"plain-scalar":return yield*this.parsePlainScalar()}}*parseStream(){let D=this.getLine();if(D===null)return this.setNext("stream");if(D[0]===a3.BOM)yield*this.pushCount(1),D=D.substring(1);if(D[0]==="%"){let $=D.length,F=D.indexOf("#");while(F!==-1){let q=D[F-1];if(q===" "||q==="\t"){$=F-1;break}else F=D.indexOf("#",F+1)}while(!0){let q=D[$-1];if(q===" "||q==="\t")$-=1;else break}let B=(yield*this.pushCount($))+(yield*this.pushSpaces(!0));return yield*this.pushCount(D.length-B),this.pushNewline(),"stream"}if(this.atLineEnd()){let $=yield*this.pushSpaces(!0);return yield*this.pushCount(D.length-$),yield*this.pushNewline(),"stream"}return yield a3.DOCUMENT,yield*this.parseLineStart()}*parseLineStart(){let D=this.charAt(0);if(!D&&!this.atEnd)return this.setNext("line-start");if(D==="-"||D==="."){if(!this.atEnd&&!this.hasChars(4))return this.setNext("line-start");let $=this.peek(3);if(($==="---"||$==="...")&&iD(this.charAt(3)))return yield*this.pushCount(3),this.indentValue=0,this.indentNext=0,$==="---"?"doc":"stream"}if(this.indentValue=yield*this.pushSpaces(!1),this.indentNext>this.indentValue&&!iD(this.charAt(1)))this.indentNext=this.indentValue;return yield*this.parseBlockStart()}*parseBlockStart(){let[D,$]=this.peek(2);if(!$&&!this.atEnd)return this.setNext("block-start");if((D==="-"||D==="?"||D===":")&&iD($)){let F=(yield*this.pushCount(1))+(yield*this.pushSpaces(!0));return this.indentNext=this.indentValue+1,this.indentValue+=F,yield*this.parseBlockStart()}return"doc"}*parseDocument(){yield*this.pushSpaces(!0);let D=this.getLine();if(D===null)return this.setNext("doc");let $=yield*this.pushIndicators();switch(D[$]){case"#":yield*this.pushCount(D.length-$);case void 0:return yield*this.pushNewline(),yield*this.parseLineStart();case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel=1,"flow";case"}":case"]":return yield*this.pushCount(1),"doc";case"*":return yield*this.pushUntil(H7),"doc";case'"':case"'":return yield*this.parseQuotedScalar();case"|":case">":return $+=yield*this.parseBlockScalarHeader(),$+=yield*this.pushSpaces(!0),yield*this.pushCount(D.length-$),yield*this.pushNewline(),yield*this.parseBlockScalar();default:return yield*this.parsePlainScalar()}}*parseFlowCollection(){let D,$,F=-1;do{if(D=yield*this.pushNewline(),D>0)$=yield*this.pushSpaces(!1),this.indentValue=F=$;else $=0;$+=yield*this.pushSpaces(!0)}while(D+$>0);let B=this.getLine();if(B===null)return this.setNext("flow");if(F!==-1&&F<this.indentNext&&B[0]!=="#"||F===0&&(B.startsWith("---")||B.startsWith("..."))&&iD(B[3])){if(!(F===this.indentNext-1&&this.flowLevel===1&&(B[0]==="]"||B[0]==="}")))return this.flowLevel=0,yield a3.FLOW_END,yield*this.parseLineStart()}let q=0;while(B[q]===",")q+=yield*this.pushCount(1),q+=yield*this.pushSpaces(!0),this.flowKey=!1;switch(q+=yield*this.pushIndicators(),B[q]){case void 0:return"flow";case"#":return yield*this.pushCount(B.length-q),"flow";case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel+=1,"flow";case"}":case"]":return yield*this.pushCount(1),this.flowKey=!0,this.flowLevel-=1,this.flowLevel?"flow":"doc";case"*":return yield*this.pushUntil(H7),"flow";case'"':case"'":return this.flowKey=!0,yield*this.parseQuotedScalar();case":":{let Q=this.charAt(1);if(this.flowKey||iD(Q)||Q===",")return this.flowKey=!1,yield*this.pushCount(1),yield*this.pushSpaces(!0),"flow"}default:return this.flowKey=!1,yield*this.parsePlainScalar()}}*parseQuotedScalar(){let D=this.charAt(0),$=this.buffer.indexOf(D,this.pos+1);if(D==="'")while($!==-1&&this.buffer[$+1]==="'")$=this.buffer.indexOf("'",$+2);else while($!==-1){let q=0;while(this.buffer[$-1-q]==="\\")q+=1;if(q%2===0)break;$=this.buffer.indexOf('"',$+1)}let F=this.buffer.substring(0,$),B=F.indexOf(`
182
- `,this.pos);if(B!==-1){while(B!==-1){let q=this.continueScalar(B+1);if(q===-1)break;B=F.indexOf(`
183
- `,q)}if(B!==-1)$=B-(F[B-1]==="\r"?2:1)}if($===-1){if(!this.atEnd)return this.setNext("quoted-scalar");$=this.buffer.length}return yield*this.pushToIndex($+1,!1),this.flowLevel?"flow":"doc"}*parseBlockScalarHeader(){this.blockScalarIndent=-1,this.blockScalarKeep=!1;let D=this.pos;while(!0){let $=this.buffer[++D];if($==="+")this.blockScalarKeep=!0;else if($>"0"&&$<="9")this.blockScalarIndent=Number($)-1;else if($!=="-")break}return yield*this.pushUntil(($)=>iD($)||$==="#")}*parseBlockScalar(){let D=this.pos-1,$=0,F;D:for(let q=this.pos;F=this.buffer[q];++q)switch(F){case" ":$+=1;break;case`
184
- `:D=q,$=0;break;case"\r":{let Q=this.buffer[q+1];if(!Q&&!this.atEnd)return this.setNext("block-scalar");if(Q===`
185
- `)break}default:break D}if(!F&&!this.atEnd)return this.setNext("block-scalar");if($>=this.indentNext){if(this.blockScalarIndent===-1)this.indentNext=$;else this.indentNext=this.blockScalarIndent+(this.indentNext===0?1:this.indentNext);do{let q=this.continueScalar(D+1);if(q===-1)break;D=this.buffer.indexOf(`
186
- `,q)}while(D!==-1);if(D===-1){if(!this.atEnd)return this.setNext("block-scalar");D=this.buffer.length}}let B=D+1;F=this.buffer[B];while(F===" ")F=this.buffer[++B];if(F==="\t"){while(F==="\t"||F===" "||F==="\r"||F===`
187
- `)F=this.buffer[++B];D=B-1}else if(!this.blockScalarKeep)do{let q=D-1,Q=this.buffer[q];if(Q==="\r")Q=this.buffer[--q];let X=q;while(Q===" ")Q=this.buffer[--q];if(Q===`
188
- `&&q>=this.pos&&q+1+$>X)D=q;else break}while(!0);return yield a3.SCALAR,yield*this.pushToIndex(D+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){let D=this.flowLevel>0,$=this.pos-1,F=this.pos-1,B;while(B=this.buffer[++F])if(B===":"){let q=this.buffer[F+1];if(iD(q)||D&&L1.has(q))break;$=F}else if(iD(B)){let q=this.buffer[F+1];if(B==="\r")if(q===`
189
- `)F+=1,B=`
190
- `,q=this.buffer[F+1];else $=F;if(q==="#"||D&&L1.has(q))break;if(B===`
191
- `){let Q=this.continueScalar(F+1);if(Q===-1)break;F=Math.max(F,Q-2)}}else{if(D&&L1.has(B))break;$=F}if(!B&&!this.atEnd)return this.setNext("plain-scalar");return yield a3.SCALAR,yield*this.pushToIndex($+1,!0),D?"flow":"doc"}*pushCount(D){if(D>0)return yield this.buffer.substr(this.pos,D),this.pos+=D,D;return 0}*pushToIndex(D,$){let F=this.buffer.slice(this.pos,D);if(F)return yield F,this.pos+=F.length,F.length;else if($)yield"";return 0}*pushIndicators(){switch(this.charAt(0)){case"!":return(yield*this.pushTag())+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"&":return(yield*this.pushUntil(H7))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"-":case"?":case":":{let D=this.flowLevel>0,$=this.charAt(1);if(iD($)||D&&L1.has($)){if(!D)this.indentNext=this.indentValue+1;else if(this.flowKey)this.flowKey=!1;return(yield*this.pushCount(1))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators())}}}return 0}*pushTag(){if(this.charAt(1)==="<"){let D=this.pos+2,$=this.buffer[D];while(!iD($)&&$!==">")$=this.buffer[++D];return yield*this.pushToIndex($===">"?D+1:D,!1)}else{let D=this.pos+1,$=this.buffer[D];while($)if(Uz.has($))$=this.buffer[++D];else if($==="%"&&XB.has(this.buffer[D+1])&&XB.has(this.buffer[D+2]))$=this.buffer[D+=3];else break;return yield*this.pushToIndex(D,!1)}}*pushNewline(){let D=this.buffer[this.pos];if(D===`
192
- `)return yield*this.pushCount(1);else if(D==="\r"&&this.charAt(1)===`
193
- `)return yield*this.pushCount(2);else return 0}*pushSpaces(D){let $=this.pos-1,F;do F=this.buffer[++$];while(F===" "||D&&F==="\t");let B=$-this.pos;if(B>0)yield this.buffer.substr(this.pos,B),this.pos=$;return B}*pushUntil(D){let $=this.pos,F=this.buffer[$];while(!D(F))F=this.buffer[++$];return yield*this.pushToIndex($,!1)}}zz.Lexer=QB});var G7=Z((Mz)=>{class JB{constructor(){this.lineStarts=[],this.addNewLine=(D)=>this.lineStarts.push(D),this.linePos=(D)=>{let $=0,F=this.lineStarts.length;while($<F){let q=$+F>>1;if(this.lineStarts[q]<D)$=q+1;else F=q}if(this.lineStarts[$]===D)return{line:$+1,col:1};if($===0)return{line:0,col:D};let B=this.lineStarts[$-1];return{line:$,col:D-B+1}}}}Mz.LineCounter=JB});var C7=Z((jz)=>{var Ez=i2("process"),YB=N1(),Oz=_7();function S0(D,$){for(let F=0;F<D.length;++F)if(D[F].type===$)return!0;return!1}function HB(D){for(let $=0;$<D.length;++$)switch(D[$].type){case"space":case"comment":case"newline":break;default:return $}return-1}function GB(D){switch(D?.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"flow-collection":return!0;default:return!1}}function Z1(D){switch(D.type){case"document":return D.start;case"block-map":{let $=D.items[D.items.length-1];return $.sep??$.start}case"block-seq":return D.items[D.items.length-1].start;default:return[]}}function h2(D){if(D.length===0)return[];let $=D.length;D:while(--$>=0)switch(D[$].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break D}while(D[++$]?.type==="space");return D.splice($,D.length)}function _B(D){if(D.start.type==="flow-seq-start"){for(let $ of D.items)if($.sep&&!$.value&&!S0($.start,"explicit-key-ind")&&!S0($.sep,"map-value-ind")){if($.key)$.value=$.key;if(delete $.key,GB($.value))if($.value.end)Array.prototype.push.apply($.value.end,$.sep);else $.value.end=$.sep;else Array.prototype.push.apply($.start,$.sep);delete $.sep}}}class CB{constructor(D){this.atNewLine=!0,this.atScalar=!1,this.indent=0,this.offset=0,this.onKeyLine=!1,this.stack=[],this.source="",this.type="",this.lexer=new Oz.Lexer,this.onNewLine=D}*parse(D,$=!1){if(this.onNewLine&&this.offset===0)this.onNewLine(0);for(let F of this.lexer.lex(D,$))yield*this.next(F);if(!$)yield*this.end()}*next(D){if(this.source=D,Ez.env.LOG_TOKENS)console.log("|",YB.prettyToken(D));if(this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=D.length;return}let $=YB.tokenType(D);if(!$){let F=`Not a YAML token: ${D}`;yield*this.pop({type:"error",offset:this.offset,message:F,source:D}),this.offset+=D.length}else if($==="scalar")this.atNewLine=!1,this.atScalar=!0,this.type="scalar";else{switch(this.type=$,yield*this.step(),$){case"newline":if(this.atNewLine=!0,this.indent=0,this.onNewLine)this.onNewLine(this.offset+D.length);break;case"space":if(this.atNewLine&&D[0]===" ")this.indent+=D.length;break;case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":if(this.atNewLine)this.indent+=D.length;break;case"doc-mode":case"flow-error-end":return;default:this.atNewLine=!1}this.offset+=D.length}}*end(){while(this.stack.length>0)yield*this.pop()}get sourceToken(){return{type:this.type,offset:this.offset,indent:this.indent,source:this.source}}*step(){let D=this.peek(1);if(this.type==="doc-end"&&D?.type!=="doc-end"){while(this.stack.length>0)yield*this.pop();this.stack.push({type:"doc-end",offset:this.offset,source:this.source});return}if(!D)return yield*this.stream();switch(D.type){case"document":return yield*this.document(D);case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return yield*this.scalar(D);case"block-scalar":return yield*this.blockScalar(D);case"block-map":return yield*this.blockMap(D);case"block-seq":return yield*this.blockSequence(D);case"flow-collection":return yield*this.flowCollection(D);case"doc-end":return yield*this.documentEnd(D)}yield*this.pop()}peek(D){return this.stack[this.stack.length-D]}*pop(D){let $=D??this.stack.pop();if(!$)yield{type:"error",offset:this.offset,source:"",message:"Tried to pop an empty stack"};else if(this.stack.length===0)yield $;else{let F=this.peek(1);if($.type==="block-scalar")$.indent="indent"in F?F.indent:0;else if($.type==="flow-collection"&&F.type==="document")$.indent=0;if($.type==="flow-collection")_B($);switch(F.type){case"document":F.value=$;break;case"block-scalar":F.props.push($);break;case"block-map":{let B=F.items[F.items.length-1];if(B.value){F.items.push({start:[],key:$,sep:[]}),this.onKeyLine=!0;return}else if(B.sep)B.value=$;else{Object.assign(B,{key:$,sep:[]}),this.onKeyLine=!B.explicitKey;return}break}case"block-seq":{let B=F.items[F.items.length-1];if(B.value)F.items.push({start:[],value:$});else B.value=$;break}case"flow-collection":{let B=F.items[F.items.length-1];if(!B||B.value)F.items.push({start:[],key:$,sep:[]});else if(B.sep)B.value=$;else Object.assign(B,{key:$,sep:[]});return}default:yield*this.pop(),yield*this.pop($)}if((F.type==="document"||F.type==="block-map"||F.type==="block-seq")&&($.type==="block-map"||$.type==="block-seq")){let B=$.items[$.items.length-1];if(B&&!B.sep&&!B.value&&B.start.length>0&&HB(B.start)===-1&&($.indent===0||B.start.every((q)=>q.type!=="comment"||q.indent<$.indent))){if(F.type==="document")F.end=B.start;else F.items.push({start:B.start});$.items.splice(-1,1)}}}}*stream(){switch(this.type){case"directive-line":yield{type:"directive",offset:this.offset,source:this.source};return;case"byte-order-mark":case"space":case"comment":case"newline":yield this.sourceToken;return;case"doc-mode":case"doc-start":{let D={type:"document",offset:this.offset,start:[]};if(this.type==="doc-start")D.start.push(this.sourceToken);this.stack.push(D);return}}yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML stream`,source:this.source}}*document(D){if(D.value)return yield*this.lineEnd(D);switch(this.type){case"doc-start":{if(HB(D.start)!==-1)yield*this.pop(),yield*this.step();else D.start.push(this.sourceToken);return}case"anchor":case"tag":case"space":case"comment":case"newline":D.start.push(this.sourceToken);return}let $=this.startBlockValue(D);if($)this.stack.push($);else yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML document`,source:this.source}}*scalar(D){if(this.type==="map-value-ind"){let $=Z1(this.peek(2)),F=h2($),B;if(D.end)B=D.end,B.push(this.sourceToken),delete D.end;else B=[this.sourceToken];let q={type:"block-map",offset:D.offset,indent:D.indent,items:[{start:F,key:D,sep:B}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=q}else yield*this.lineEnd(D)}*blockScalar(D){switch(this.type){case"space":case"comment":case"newline":D.props.push(this.sourceToken);return;case"scalar":if(D.source=this.source,this.atNewLine=!0,this.indent=0,this.onNewLine){let $=this.source.indexOf(`
194
- `)+1;while($!==0)this.onNewLine(this.offset+$),$=this.source.indexOf(`
195
- `,$)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(D){let $=D.items[D.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,$.value){let F="end"in $.value?$.value.end:void 0;if((Array.isArray(F)?F[F.length-1]:void 0)?.type==="comment")F?.push(this.sourceToken);else D.items.push({start:[this.sourceToken]})}else if($.sep)$.sep.push(this.sourceToken);else $.start.push(this.sourceToken);return;case"space":case"comment":if($.value)D.items.push({start:[this.sourceToken]});else if($.sep)$.sep.push(this.sourceToken);else{if(this.atIndentedComment($.start,D.indent)){let B=D.items[D.items.length-2]?.value?.end;if(Array.isArray(B)){Array.prototype.push.apply(B,$.start),B.push(this.sourceToken),D.items.pop();return}}$.start.push(this.sourceToken)}return}if(this.indent>=D.indent){let F=!this.onKeyLine&&this.indent===D.indent,B=F&&($.sep||$.explicitKey)&&this.type!=="seq-item-ind",q=[];if(B&&$.sep&&!$.value){let Q=[];for(let X=0;X<$.sep.length;++X){let J=$.sep[X];switch(J.type){case"newline":Q.push(X);break;case"space":break;case"comment":if(J.indent>D.indent)Q.length=0;break;default:Q.length=0}}if(Q.length>=2)q=$.sep.splice(Q[1])}switch(this.type){case"anchor":case"tag":if(B||$.value)q.push(this.sourceToken),D.items.push({start:q}),this.onKeyLine=!0;else if($.sep)$.sep.push(this.sourceToken);else $.start.push(this.sourceToken);return;case"explicit-key-ind":if(!$.sep&&!$.explicitKey)$.start.push(this.sourceToken),$.explicitKey=!0;else if(B||$.value)q.push(this.sourceToken),D.items.push({start:q,explicitKey:!0});else this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken],explicitKey:!0}]});this.onKeyLine=!0;return;case"map-value-ind":if($.explicitKey)if(!$.sep)if(S0($.start,"newline"))Object.assign($,{key:null,sep:[this.sourceToken]});else{let Q=h2($.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:Q,key:null,sep:[this.sourceToken]}]})}else if($.value)D.items.push({start:[],key:null,sep:[this.sourceToken]});else if(S0($.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:q,key:null,sep:[this.sourceToken]}]});else if(GB($.key)&&!S0($.sep,"newline")){let Q=h2($.start),X=$.key,J=$.sep;J.push(this.sourceToken),delete $.key,delete $.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:Q,key:X,sep:J}]})}else if(q.length>0)$.sep=$.sep.concat(q,this.sourceToken);else $.sep.push(this.sourceToken);else if(!$.sep)Object.assign($,{key:null,sep:[this.sourceToken]});else if($.value||B)D.items.push({start:q,key:null,sep:[this.sourceToken]});else if(S0($.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]});else $.sep.push(this.sourceToken);this.onKeyLine=!0;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let Q=this.flowScalar(this.type);if(B||$.value)D.items.push({start:q,key:Q,sep:[]}),this.onKeyLine=!0;else if($.sep)this.stack.push(Q);else Object.assign($,{key:Q,sep:[]}),this.onKeyLine=!0;return}default:{let Q=this.startBlockValue(D);if(Q){if(Q.type==="block-seq"){if(!$.explicitKey&&$.sep&&!S0($.sep,"newline")){yield*this.pop({type:"error",offset:this.offset,message:"Unexpected block-seq-ind on same line with key",source:this.source});return}}else if(F)D.items.push({start:q});this.stack.push(Q);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(D){let $=D.items[D.items.length-1];switch(this.type){case"newline":if($.value){let F="end"in $.value?$.value.end:void 0;if((Array.isArray(F)?F[F.length-1]:void 0)?.type==="comment")F?.push(this.sourceToken);else D.items.push({start:[this.sourceToken]})}else $.start.push(this.sourceToken);return;case"space":case"comment":if($.value)D.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment($.start,D.indent)){let B=D.items[D.items.length-2]?.value?.end;if(Array.isArray(B)){Array.prototype.push.apply(B,$.start),B.push(this.sourceToken),D.items.pop();return}}$.start.push(this.sourceToken)}return;case"anchor":case"tag":if($.value||this.indent<=D.indent)break;$.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==D.indent)break;if($.value||S0($.start,"seq-item-ind"))D.items.push({start:[this.sourceToken]});else $.start.push(this.sourceToken);return}if(this.indent>D.indent){let F=this.startBlockValue(D);if(F){this.stack.push(F);return}}yield*this.pop(),yield*this.step()}*flowCollection(D){let $=D.items[D.items.length-1];if(this.type==="flow-error-end"){let F;do yield*this.pop(),F=this.peek(1);while(F?.type==="flow-collection")}else if(D.end.length===0){switch(this.type){case"comma":case"explicit-key-ind":if(!$||$.sep)D.items.push({start:[this.sourceToken]});else $.start.push(this.sourceToken);return;case"map-value-ind":if(!$||$.value)D.items.push({start:[],key:null,sep:[this.sourceToken]});else if($.sep)$.sep.push(this.sourceToken);else Object.assign($,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":if(!$||$.value)D.items.push({start:[this.sourceToken]});else if($.sep)$.sep.push(this.sourceToken);else $.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let B=this.flowScalar(this.type);if(!$||$.value)D.items.push({start:[],key:B,sep:[]});else if($.sep)this.stack.push(B);else Object.assign($,{key:B,sep:[]});return}case"flow-map-end":case"flow-seq-end":D.end.push(this.sourceToken);return}let F=this.startBlockValue(D);if(F)this.stack.push(F);else yield*this.pop(),yield*this.step()}else{let F=this.peek(2);if(F.type==="block-map"&&(this.type==="map-value-ind"&&F.indent===D.indent||this.type==="newline"&&!F.items[F.items.length-1].sep))yield*this.pop(),yield*this.step();else if(this.type==="map-value-ind"&&F.type!=="flow-collection"){let B=Z1(F),q=h2(B);_B(D);let Q=D.end.splice(1,D.end.length);Q.push(this.sourceToken);let X={type:"block-map",offset:D.offset,indent:D.indent,items:[{start:q,key:D,sep:Q}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=X}else yield*this.lineEnd(D)}}flowScalar(D){if(this.onNewLine){let $=this.source.indexOf(`
196
- `)+1;while($!==0)this.onNewLine(this.offset+$),$=this.source.indexOf(`
197
- `,$)+1}return{type:D,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(D){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=!0;let $=Z1(D),F=h2($);return F.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:F,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;let $=Z1(D),F=h2($);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:F,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(D,$){if(this.type!=="comment")return!1;if(this.indent<=$)return!1;return D.every((F)=>F.type==="newline"||F.type==="space")}*documentEnd(D){if(this.type!=="doc-mode"){if(D.end)D.end.push(this.sourceToken);else D.end=[this.sourceToken];if(this.type==="newline")yield*this.pop()}}*lineEnd(D){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*this.pop(),yield*this.step();break;case"newline":this.onKeyLine=!1;case"space":case"comment":default:if(D.end)D.end.push(this.sourceToken);else D.end=[this.sourceToken];if(this.type==="newline")yield*this.pop()}}}jz.Parser=CB});var uB=Z((Pz)=>{var VB=$7(),Nz=p3(),s3=c3(),Lz=G9(),Zz=d(),Iz=G7(),WB=C7();function AB(D){let $=D.prettyErrors!==!1;return{lineCounter:D.lineCounter||$&&new Iz.LineCounter||null,prettyErrors:$}}function bz(D,$={}){let{lineCounter:F,prettyErrors:B}=AB($),q=new WB.Parser(F?.addNewLine),Q=new VB.Composer($),X=Array.from(Q.compose(q.parse(D)));if(B&&F)for(let J of X)J.errors.forEach(s3.prettifyError(D,F)),J.warnings.forEach(s3.prettifyError(D,F));if(X.length>0)return X;return Object.assign([],{empty:!0},Q.streamInfo())}function UB(D,$={}){let{lineCounter:F,prettyErrors:B}=AB($),q=new WB.Parser(F?.addNewLine),Q=new VB.Composer($),X=null;for(let J of Q.compose(q.parse(D),!0,D.length))if(!X)X=J;else if(X.options.logLevel!=="silent"){X.errors.push(new s3.YAMLParseError(J.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}if(B&&F)X.errors.forEach(s3.prettifyError(D,F)),X.warnings.forEach(s3.prettifyError(D,F));return X}function Sz(D,$,F){let B=void 0;if(typeof $==="function")B=$;else if(F===void 0&&$&&typeof $==="object")F=$;let q=UB(D,F);if(!q)return null;if(q.warnings.forEach((Q)=>Lz.warn(q.options.logLevel,Q)),q.errors.length>0)if(q.options.logLevel!=="silent")throw q.errors[0];else q.errors=[];return q.toJS(Object.assign({reviver:B},F))}function Tz(D,$,F){let B=null;if(typeof $==="function"||Array.isArray($))B=$;else if(F===void 0&&$)F=$;if(typeof F==="string")F=F.length;if(typeof F==="number"){let q=Math.round(F);F=q<1?void 0:q>8?{indent:8}:{indent:q}}if(D===void 0){let{keepUndefined:q}=F??$??{};if(!q)return}if(Zz.isDocument(D)&&!B)return D.toString(F);return new Nz.Document(D,B,F).toString(F)}Pz.parse=Sz;Pz.parseAllDocuments=bz;Pz.parseDocument=UB;Pz.stringify=Tz});var wB=Z((sz)=>{var hz=$7(),mz=p3(),gz=m9(),V7=c3(),xz=I3(),T0=d(),lz=L0(),dz=DD(),pz=I0(),cz=b0(),iz=N1(),nz=_7(),rz=G7(),az=C7(),I1=uB(),zB=L3();sz.Composer=hz.Composer;sz.Document=mz.Document;sz.Schema=gz.Schema;sz.YAMLError=V7.YAMLError;sz.YAMLParseError=V7.YAMLParseError;sz.YAMLWarning=V7.YAMLWarning;sz.Alias=xz.Alias;sz.isAlias=T0.isAlias;sz.isCollection=T0.isCollection;sz.isDocument=T0.isDocument;sz.isMap=T0.isMap;sz.isNode=T0.isNode;sz.isPair=T0.isPair;sz.isScalar=T0.isScalar;sz.isSeq=T0.isSeq;sz.Pair=lz.Pair;sz.Scalar=dz.Scalar;sz.YAMLMap=pz.YAMLMap;sz.YAMLSeq=cz.YAMLSeq;sz.CST=iz;sz.Lexer=nz.Lexer;sz.LineCounter=rz.LineCounter;sz.Parser=az.Parser;sz.parse=I1.parse;sz.parseAllDocuments=I1.parseAllDocuments;sz.parseDocument=I1.parseDocument;sz.stringify=I1.stringify;sz.visit=zB.visit;sz.visitAsync=zB.visitAsync});import{readFile as MB}from"node:fs/promises";import{join as o3,basename as gR,dirname as Nw}from"node:path";import{fileURLToPath as Lw}from"node:url";import{homedir as Zw}from"node:os";function t3(D){if(!D||D.trim()==="")return{frontmatter:{},body:""};if(!D.startsWith("---"))return{frontmatter:{},body:D};let $=D.indexOf("---",3);if($===-1)throw Error("Invalid frontmatter: missing closing delimiter ---");let F=D.slice(3,$).trim(),B=D.slice($+3).trim();if(!F)return{frontmatter:{},body:B};let q;try{q=KB.default.parse(F)}catch(Q){throw Error(`Invalid YAML in frontmatter: ${Q instanceof Error?Q.message:String(Q)}`)}return{frontmatter:q,body:B}}function b1(D,$){try{let{frontmatter:F,body:B}=t3(D),q=$(F,B);return q?[q]:[]}catch(F){return V.error("Failed to parse markdown:",F),[]}}async function m2(D,$){try{let F=await MB(D,"utf-8");if(!$)return t3(F);return b1(F,$)}catch(F){if(F instanceof Error)throw Error(`Failed to load markdown file "${D}": ${F.message}`);throw Error(`Failed to load markdown file "${D}": Unknown error`)}}async function EB(D,$,F){try{let B=await L2("**/*.md",{cwd:D});if(B.length===0)return[];let q=[];for(let X of B){let J=o3(D,X);try{let Y=await m2(J,$);q.push(...Y)}catch(Y){V.error(`Error processing file ${X}:`,Y)}}let Q=F?F(q):q;return V.info(`Loaded ${Q.length} items from ${B.length} files in ${D} (recursive)`),Q}catch{return[]}}function Iw(...D){let $=new Map;for(let F of D)for(let B of F)$.set(B.name,B);return Array.from($.values())}function OB(D,$){let F=Lw(import.meta.url),B=Nw(F);return{defaults:o3(B,"defaults",D),user:o3(Zw(),".diffray",D),project:o3($,".diffray",D)}}async function jB(D,$,F){let B=OB(D,F),[q,Q,X]=await Promise.all([$(B.defaults),$(B.user),$(B.project)]);return Iw(q,Q,X)}async function W7(D,$){try{let F=await L2("**/*.md",{cwd:D}),B=await Promise.all(F.map(async(Q)=>{let X=o3(D,Q);try{let J=await MB(X,"utf-8");return{filePath:X,content:J}}catch{return null}})),q=[];for(let Q of B){if(!Q)continue;try{let{frontmatter:X}=t3(Q.content),J=X.name,Y=X.description,H=X.agent,_=X.patterns;if(typeof J==="string"&&typeof H==="string"&&Array.isArray(_)&&_.length>0)q.push({name:J,description:typeof Y==="string"?Y:"",path:Q.filePath,patterns:_.filter((G)=>typeof G==="string"),agent:H,source:$})}catch{}}return q}catch{return[]}}async function RB(D){let $=OB("rules",D),[F,B,q]=await Promise.all([W7($.defaults,"defaults"),W7($.user,"user"),W7($.project,"project")]),Q=new Map;for(let X of[...F,...B,...q])Q.set(X.name,X);return Array.from(Q.values())}var KB;var S1=FD(()=>{s();F9();KB=I7(wB(),1)});var SB={};F8(SB,{parseSingleRule:()=>Pw,parseRuleMarkdown:()=>LB,matchRules:()=>fw,matchRuleRefs:()=>bB,matchPattern:()=>g2,matchAndLoadRules:()=>u7,loadRulesFromRefs:()=>ZB,loadRulesFromDirectoryRecursive:()=>Tw,loadRules:()=>vw,loadRuleRefs:()=>P0,loadRuleMarkdown:()=>Sw,loadRuleFromRef:()=>U7,expandBraces:()=>z7});import{readFile as bw}from"node:fs/promises";function A7(D,$){let{name:F,agent:B,patterns:q}=D,Q=$.trim();if(typeof F!=="string"||typeof B!=="string")return null;if(!Array.isArray(q)||q.length===0)return null;if(!Q)return null;return{name:F,description:typeof D.description==="string"?D.description:"",patterns:q.filter((J)=>typeof J==="string"),agent:B,prompt:Q}}function LB(D){return b1(D,A7)}async function Sw(D){try{return await m2(D,A7)}catch($){return V.error(`Error loading rule markdown from ${D}:`,$),[]}}async function Tw(D){return EB(D,A7)}function Pw(D){let $=LB(D);return $.length>0?$[0]??null:null}async function P0(D){let $=D||process.cwd();return RB($)}async function U7(D){try{let $=await bw(D.path,"utf-8"),{body:F}=t3($);return{name:D.name,description:D.description,patterns:D.patterns,agent:D.agent,prompt:F.trim(),source:D.source,path:D.path}}catch($){return V.error(`Failed to load rule from ${D.path}:`,$),null}}async function ZB(D){return(await Promise.all(D.map(U7))).filter((F)=>F!==null)}async function vw(D){let $=await P0(D);return ZB($)}function IB(D,$,F){let B=new Map(F.map((Q)=>[Q.name,Q])),q=[];for(let Q of D){let X=B.get(Q.agent);if(!X){V.warn(`Rule references unknown agent "${Q.agent}"`);continue}let J=$.filter((Y)=>Q.patterns.some((H)=>g2(Y.file,H))).map((Y)=>Y.file);if(J.length===0)continue;q.push({item:Q,files:J,agent:X})}return q}function bB(D,$,F){return IB(D,$,F).map(({item:B,...q})=>({ref:B,...q}))}async function u7(D,$,F){let B=bB(D,$,F);return(await Promise.all(B.map(async({ref:Q,files:X,agent:J})=>{let Y=await U7(Q);return Y?{rule:Y,files:X,agent:J}:null}))).filter((Q)=>Q!==null)}function fw(D,$,F){return IB(D,$,F).map(({item:B,...q})=>({rule:B,...q}))}function z7(D){let $=D.match(yw);if(!$||$.index===void 0||!$[1])return[D];let F=$[1].split(",").map((X)=>X.trim()),B=D.substring(0,$.index),q=D.substring($.index+$[0].length),Q=[];for(let X of F){let J=B+X+q;Q.push(...z7(J))}return Q}function g2(D,$){return z7($).some((B)=>kw(D,B))}function kw(D,$){let F=$.replace(/\*\*/g,"\x00DOUBLESTAR\x00").replace(/\*/g,"\x00STAR\x00").replace(/\?/g,"\x00QUESTION\x00");F=F.replace(/[.+^${}()|[\]\\]/g,"\\$&"),F=F.replace(/\x00DOUBLESTAR\x00\//g,"(?:.*\\/)?").replace(/\x00DOUBLESTAR\x00/g,".*").replace(/\x00STAR\x00/g,"[^/]*").replace(/\x00QUESTION\x00/g,".");let B=NB.get(F);if(!B)B=new RegExp(`^${F}$`),NB.set(F,B);return B.test(D)}var yw,NB;var x2=FD(()=>{S1();s();yw=/\{([^}]+)\}/;NB=new Map});var YD={silent:Number.NEGATIVE_INFINITY,fatal:0,error:0,warn:1,log:2,info:3,success:3,fail:3,ready:3,start:3,box:3,debug:4,trace:5,verbose:Number.POSITIVE_INFINITY},r1={silent:{level:-1},fatal:{level:YD.fatal},error:{level:YD.error},warn:{level:YD.warn},log:{level:YD.log},info:{level:YD.info},success:{level:YD.success},fail:{level:YD.fail},ready:{level:YD.info},start:{level:YD.info},box:{level:YD.info},debug:{level:YD.debug},trace:{level:YD.trace},verbose:{level:YD.verbose}};function c1(D){if(D===null||typeof D!=="object")return!1;let $=Object.getPrototypeOf(D);if($!==null&&$!==Object.prototype&&Object.getPrototypeOf($)!==null)return!1;if(Symbol.iterator in D)return!1;if(Symbol.toStringTag in D)return Object.prototype.toString.call(D)==="[object Module]";return!0}function a1(D,$,F=".",B){if(!c1($))return a1(D,{},F,B);let q=Object.assign({},$);for(let Q in D){if(Q==="__proto__"||Q==="constructor")continue;let X=D[Q];if(X===null||X===void 0)continue;if(B&&B(q,Q,X,F))continue;if(Array.isArray(X)&&Array.isArray(q[Q]))q[Q]=[...X,...q[Q]];else if(c1(X)&&c1(q[Q]))q[Q]=a1(X,q[Q],(F?`${F}.`:"")+Q.toString(),B);else q[Q]=X}return q}function BX(D){return(...$)=>$.reduce((F,B)=>a1(F,B,"",D),{})}var qX=BX();function XX(D){return Object.prototype.toString.call(D)==="[object Object]"}function QX(D){if(!XX(D))return!1;if(!D.message&&!D.args)return!1;if(D.stack)return!1;return!0}var i1=!1,b7=[];class BD{options;_lastLog;_mockFn;constructor(D={}){let $=D.types||r1;this.options=qX({...D,defaults:{...D.defaults},level:n1(D.level,$),reporters:[...D.reporters||[]]},{types:r1,throttle:1000,throttleMin:5,formatOptions:{date:!0,colors:!1,compact:!0}});for(let F in $){let B={type:F,...this.options.defaults,...$[F]};this[F]=this._wrapLogFn(B),this[F].raw=this._wrapLogFn(B,!0)}if(this.options.mockFn)this.mockTypes();this._lastLog={}}get level(){return this.options.level}set level(D){this.options.level=n1(D,this.options.types,this.options.level)}prompt(D,$){if(!this.options.prompt)throw Error("prompt is not supported!");return this.options.prompt(D,$)}create(D){let $=new BD({...this.options,...D});if(this._mockFn)$.mockTypes(this._mockFn);return $}withDefaults(D){return this.create({...this.options,defaults:{...this.options.defaults,...D}})}withTag(D){return this.withDefaults({tag:this.options.defaults.tag?this.options.defaults.tag+":"+D:D})}addReporter(D){return this.options.reporters.push(D),this}removeReporter(D){if(D){let $=this.options.reporters.indexOf(D);if($!==-1)return this.options.reporters.splice($,1)}else this.options.reporters.splice(0);return this}setReporters(D){return this.options.reporters=Array.isArray(D)?D:[D],this}wrapAll(){this.wrapConsole(),this.wrapStd()}restoreAll(){this.restoreConsole(),this.restoreStd()}wrapConsole(){for(let D in this.options.types){if(!console["__"+D])console["__"+D]=console[D];console[D]=this[D].raw}}restoreConsole(){for(let D in this.options.types)if(console["__"+D])console[D]=console["__"+D],delete console["__"+D]}wrapStd(){this._wrapStream(this.options.stdout,"log"),this._wrapStream(this.options.stderr,"log")}_wrapStream(D,$){if(!D)return;if(!D.__write)D.__write=D.write;D.write=(F)=>{this[$].raw(String(F).trim())}}restoreStd(){this._restoreStream(this.options.stdout),this._restoreStream(this.options.stderr)}_restoreStream(D){if(!D)return;if(D.__write)D.write=D.__write,delete D.__write}pauseLogs(){i1=!0}resumeLogs(){i1=!1;let D=b7.splice(0);for(let $ of D)$[0]._logFn($[1],$[2])}mockTypes(D){let $=D||this.options.mockFn;if(this._mockFn=$,typeof $!=="function")return;for(let F in this.options.types)this[F]=$(F,this.options.types[F])||this[F],this[F].raw=this[F]}_wrapLogFn(D,$){return(...F)=>{if(i1){b7.push([this,D,F,$]);return}return this._logFn(D,F,$)}}_logFn(D,$,F){if((D.level||0)>this.level)return!1;let B={date:new Date,args:[],...D,level:n1(D.level,this.options.types)};if(!F&&$.length===1&&QX($[0]))Object.assign(B,$[0]);else B.args=[...$];if(B.message)B.args.unshift(B.message),delete B.message;if(B.additional){if(!Array.isArray(B.additional))B.additional=B.additional.split(`
198
- `);B.args.push(`
199
- `+B.additional.join(`
200
- `)),delete B.additional}B.type=typeof B.type==="string"?B.type.toLowerCase():"log",B.tag=typeof B.tag==="string"?B.tag:"";let q=(X=!1)=>{let J=(this._lastLog.count||0)-this.options.throttleMin;if(this._lastLog.object&&J>0){let Y=[...this._lastLog.object.args];if(J>1)Y.push(`(repeated ${J} times)`);this._log({...this._lastLog.object,args:Y}),this._lastLog.count=1}if(X)this._lastLog.object=B,this._log(B)};clearTimeout(this._lastLog.timeout);let Q=this._lastLog.time&&B.date?B.date.getTime()-this._lastLog.time.getTime():0;if(this._lastLog.time=B.date,Q<this.options.throttle)try{let X=JSON.stringify([B.type,B.tag,B.args]),J=this._lastLog.serialized===X;if(this._lastLog.serialized=X,J){if(this._lastLog.count=(this._lastLog.count||0)+1,this._lastLog.count>this.options.throttleMin){this._lastLog.timeout=setTimeout(q,this.options.throttle);return}}}catch{}q(!0)}_log(D){for(let $ of this.options.reporters)$.log(D,{options:this.options})}}function n1(D,$={},F=3){if(D===void 0)return F;if(typeof D==="number")return D;if($[D]&&$[D].level!==void 0)return $[D].level;return F}BD.prototype.add=BD.prototype.addReporter;BD.prototype.remove=BD.prototype.removeReporter;BD.prototype.clear=BD.prototype.removeReporter;BD.prototype.withScope=BD.prototype.withTag;BD.prototype.mock=BD.prototype.mockTypes;BD.prototype.pause=BD.prototype.pauseLogs;BD.prototype.resume=BD.prototype.resumeLogs;function S7(D={}){return new BD(D)}import{formatWithOptions as T7}from"node:util";import{sep as JX}from"node:path";function o1(D,$){let F=process.cwd()+JX;return D.split(`
201
- `).splice($.split(`
202
- `).length).map((q)=>q.trim().replace("file://","").replace(F,""))}function YX(D,$){return($.__write||$.write).call($,D)}var s1=(D)=>D?`[${D}]`:"";class B8{formatStack(D,$,F){let B=" ".repeat((F?.errorLevel||0)+1);return B+o1(D,$).join(`
203
- ${B}`)}formatError(D,$){let F=D.message??T7($,D),B=D.stack?this.formatStack(D.stack,F,$):"",q=$?.errorLevel||0,Q=q>0?`${" ".repeat(q)}[cause]: `:"",X=D.cause?`
204
-
205
- `+this.formatError(D.cause,{...$,errorLevel:q+1}):"";return Q+F+`
206
- `+B+X}formatArgs(D,$){let F=D.map((B)=>{if(B&&typeof B.stack==="string")return this.formatError(B,$);return B});return T7($,...F)}formatDate(D,$){return $.date?D.toLocaleTimeString():""}filterAndJoin(D){return D.filter(Boolean).join(" ")}formatLogObj(D,$){let F=this.formatArgs(D.args,$);if(D.type==="box")return`
207
- `+[s1(D.tag),D.title&&D.title,...F.split(`
208
- `)].filter(Boolean).map((B)=>" > "+B).join(`
209
- `)+`
210
- `;return this.filterAndJoin([s1(D.type),s1(D.tag),F])}log(D,$){let F=this.formatLogObj(D,{columns:$.options.stdout.columns||0,...$.options.formatOptions});return YX(F+`
211
- `,D.level<2?$.options.stderr||process.stderr:$.options.stdout||process.stdout)}}import G4 from"node:process";import*as q8 from"node:tty";var{env:W0={},argv:f7=[],platform:HX=""}=typeof process>"u"?{}:process,_X="NO_COLOR"in W0||f7.includes("--no-color"),GX="FORCE_COLOR"in W0||f7.includes("--color"),CX=HX==="win32",y7=W0.TERM==="dumb",VX=q8&&q8.isatty&&q8.isatty(1)&&W0.TERM&&!y7,WX="CI"in W0&&(("GITHUB_ACTIONS"in W0)||("GITLAB_CI"in W0)||("CIRCLECI"in W0)),AX=!_X&&(GX||CX&&!y7||VX||WX);function k7(D,$,F,B,q=$.slice(0,Math.max(0,D))+B,Q=$.slice(Math.max(0,D+F.length)),X=Q.indexOf(F)){return q+(X<0?Q:k7(X,Q,F,B))}function UX(D,$,F,B,q){return D<0?F+$+B:F+k7(D,$,B,q)+B}function uX(D,$,F=D,B=D.length+1){return(q)=>q||!(q===""||q===void 0)?UX((""+q).indexOf($,B),q,D,$,F):""}function h(D,$,F){return uX(`\x1B[${D}m`,`\x1B[${$}m`,F)}var P7={reset:h(0,0),bold:h(1,22,"\x1B[22m\x1B[1m"),dim:h(2,22,"\x1B[22m\x1B[2m"),italic:h(3,23),underline:h(4,24),inverse:h(7,27),hidden:h(8,28),strikethrough:h(9,29),black:h(30,39),red:h(31,39),green:h(32,39),yellow:h(33,39),blue:h(34,39),magenta:h(35,39),cyan:h(36,39),white:h(37,39),gray:h(90,39),bgBlack:h(40,49),bgRed:h(41,49),bgGreen:h(42,49),bgYellow:h(43,49),bgBlue:h(44,49),bgMagenta:h(45,49),bgCyan:h(46,49),bgWhite:h(47,49),blackBright:h(90,39),redBright:h(91,39),greenBright:h(92,39),yellowBright:h(93,39),blueBright:h(94,39),magentaBright:h(95,39),cyanBright:h(96,39),whiteBright:h(97,39),bgBlackBright:h(100,49),bgRedBright:h(101,49),bgGreenBright:h(102,49),bgYellowBright:h(103,49),bgBlueBright:h(104,49),bgMagentaBright:h(105,49),bgCyanBright:h(106,49),bgWhiteBright:h(107,49)};function zX(D=AX){return D?P7:Object.fromEntries(Object.keys(P7).map(($)=>[$,String]))}var i=zX();function h7(D,$="reset"){return i[D]||i[$]}var wX=[String.raw`[\u001B\u009B][[\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\d\/#&.:=?%@~_]+)*|[a-zA-Z\d]+(?:;[-a-zA-Z\d\/#&.:=?%@~_]*)*)?\u0007)`,String.raw`(?:(?:\d{1,4}(?:;\d{0,4})*)?[\dA-PR-TZcf-nq-uy=><~]))`].join("|");function q0(D){return D.replace(new RegExp(wX,"g"),"")}var v7={solid:{tl:"┌",tr:"┐",bl:"└",br:"┘",h:"─",v:"│"},double:{tl:"╔",tr:"╗",bl:"╚",br:"╝",h:"═",v:"║"},doubleSingle:{tl:"╓",tr:"╖",bl:"╙",br:"╜",h:"─",v:"║"},doubleSingleRounded:{tl:"╭",tr:"╮",bl:"╰",br:"╯",h:"─",v:"║"},singleThick:{tl:"┏",tr:"┓",bl:"┗",br:"┛",h:"━",v:"┃"},singleDouble:{tl:"╒",tr:"╕",bl:"╘",br:"╛",h:"═",v:"│"},singleDoubleRounded:{tl:"╭",tr:"╮",bl:"╰",br:"╯",h:"═",v:"│"},rounded:{tl:"╭",tr:"╮",bl:"╰",br:"╯",h:"─",v:"│"}},MX={borderColor:"white",borderStyle:"rounded",valign:"center",padding:2,marginLeft:1,marginTop:1,marginBottom:1};function t1(D,$={}){let F={...$,style:{...MX,...$.style}},B=D.split(`
212
- `),q=[],Q=h7(F.style.borderColor),X={...typeof F.style.borderStyle==="string"?v7[F.style.borderStyle]||v7.solid:F.style.borderStyle};if(Q)for(let A in X)X[A]=Q(X[A]);let J=F.style.padding%2===0?F.style.padding:F.style.padding+1,Y=B.length+J,H=Math.max(...B.map((A)=>q0(A).length),F.title?q0(F.title).length:0)+J,_=H+J,G=F.style.marginLeft>0?" ".repeat(F.style.marginLeft):"";if(F.style.marginTop>0)q.push("".repeat(F.style.marginTop));if(F.title){let A=Q?Q(F.title):F.title,u=X.h.repeat(Math.floor((H-q0(F.title).length)/2)),W=X.h.repeat(H-q0(F.title).length-q0(u).length+J);q.push(`${G}${X.tl}${u}${A}${W}${X.tr}`)}else q.push(`${G}${X.tl}${X.h.repeat(_)}${X.tr}`);let C=F.style.valign==="center"?Math.floor((Y-B.length)/2):F.style.valign==="top"?Y-B.length-J:Y-B.length;for(let A=0;A<Y;A++)if(A<C||A>=C+B.length)q.push(`${G}${X.v}${" ".repeat(_)}${X.v}`);else{let u=B[A-C],W=" ".repeat(J),U=" ".repeat(H-q0(u).length);q.push(`${G}${X.v}${W}${u}${U}${X.v}`)}if(q.push(`${G}${X.bl}${X.h.repeat(_)}${X.br}`),F.style.marginBottom>0)q.push("".repeat(F.style.marginBottom));return q.join(`
213
- `)}var G8=Object.create(null),a2=(D)=>globalThis.process?.env||import.meta.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(D?G8:globalThis),A0=new Proxy(G8,{get(D,$){return a2()[$]??G8[$]},has(D,$){let F=a2();return $ in F||$ in G8},set(D,$,F){let B=a2(!0);return B[$]=F,!0},deleteProperty(D,$){if(!$)return!1;let F=a2(!0);return delete F[$],!0},ownKeys(){let D=a2(!0);return Object.keys(D)}}),_Q=typeof process<"u"&&process.env&&"development"||"",GQ=[["APPVEYOR"],["AWS_AMPLIFY","AWS_APP_ID",{ci:!0}],["AZURE_PIPELINES","SYSTEM_TEAMFOUNDATIONCOLLECTIONURI"],["AZURE_STATIC","INPUT_AZURE_STATIC_WEB_APPS_API_TOKEN"],["APPCIRCLE","AC_APPCIRCLE"],["BAMBOO","bamboo_planKey"],["BITBUCKET","BITBUCKET_COMMIT"],["BITRISE","BITRISE_IO"],["BUDDY","BUDDY_WORKSPACE_ID"],["BUILDKITE"],["CIRCLE","CIRCLECI"],["CIRRUS","CIRRUS_CI"],["CLOUDFLARE_PAGES","CF_PAGES",{ci:!0}],["CODEBUILD","CODEBUILD_BUILD_ARN"],["CODEFRESH","CF_BUILD_ID"],["DRONE"],["DRONE","DRONE_BUILD_EVENT"],["DSARI"],["GITHUB_ACTIONS"],["GITLAB","GITLAB_CI"],["GITLAB","CI_MERGE_REQUEST_ID"],["GOCD","GO_PIPELINE_LABEL"],["LAYERCI"],["HUDSON","HUDSON_URL"],["JENKINS","JENKINS_URL"],["MAGNUM"],["NETLIFY"],["NETLIFY","NETLIFY_LOCAL",{ci:!1}],["NEVERCODE"],["RENDER"],["SAIL","SAILCI"],["SEMAPHORE"],["SCREWDRIVER"],["SHIPPABLE"],["SOLANO","TDDIUM"],["STRIDER"],["TEAMCITY","TEAMCITY_VERSION"],["TRAVIS"],["VERCEL","NOW_BUILDER"],["VERCEL","VERCEL",{ci:!1}],["VERCEL","VERCEL_ENV",{ci:!1}],["APPCENTER","APPCENTER_BUILD_ID"],["CODESANDBOX","CODESANDBOX_SSE",{ci:!1}],["CODESANDBOX","CODESANDBOX_HOST",{ci:!1}],["STACKBLITZ"],["STORMKIT"],["CLEAVR"],["ZEABUR"],["CODESPHERE","CODESPHERE_APP_ID",{ci:!0}],["RAILWAY","RAILWAY_PROJECT_ID"],["RAILWAY","RAILWAY_SERVICE_ID"],["DENO-DEPLOY","DENO_DEPLOYMENT_ID"],["FIREBASE_APP_HOSTING","FIREBASE_APP_HOSTING",{ci:!0}]];function CQ(){if(globalThis.process?.env)for(let D of GQ){let $=D[1]||D[0];if(globalThis.process?.env[$])return{name:D[0].toLowerCase(),...D[2]}}return globalThis.process?.env?.SHELL==="/bin/jsh"&&globalThis.process?.versions?.webcontainer?{name:"stackblitz",ci:!1}:{name:"",ci:!1}}var A4=CQ();A4.name;function f0(D){return D?D!=="false":!1}var VQ=globalThis.process?.platform||"",J6=f0(A0.CI)||A4.ci!==!1,U4=f0(globalThis.process?.stdout&&globalThis.process?.stdout.isTTY),WQ=f0(A0.DEBUG),Y6=_Q==="test"||f0(A0.TEST);f0(A0.MINIMAL);var AQ=/^win/i.test(VQ);!f0(A0.NO_COLOR)&&(f0(A0.FORCE_COLOR)||(U4||AQ)&&A0.TERM);var UQ=(globalThis.process?.versions?.node||"").replace(/^v/,"")||null;Number(UQ?.split(".")[0]);var uQ=globalThis.process||Object.create(null),C4={versions:{}};new Proxy(uQ,{get(D,$){if($==="env")return A0;if($ in D)return D[$];if($ in C4)return C4[$]}});var zQ=globalThis.process?.release?.name==="node",wQ=!!globalThis.Bun||!!globalThis.process?.versions?.bun,MQ=!!globalThis.Deno,KQ=!!globalThis.fastly,EQ=!!globalThis.Netlify,OQ=!!globalThis.EdgeRuntime,jQ=globalThis.navigator?.userAgent==="Cloudflare-Workers",RQ=[[EQ,"netlify"],[OQ,"edge-light"],[jQ,"workerd"],[KQ,"fastly"],[MQ,"deno"],[wQ,"bun"],[zQ,"node"]];function NQ(){let D=RQ.find(($)=>$[0]);if(D)return{name:D[1]}}var LQ=NQ();LQ?.name;function ZQ({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 IQ=ZQ();function bQ(D){if(typeof D!=="string")throw TypeError(`Expected a \`string\`, got \`${typeof D}\``);return D.replace(IQ,"")}function SQ(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 TQ(D){return D===12288||D>=65281&&D<=65376||D>=65504&&D<=65510}function PQ(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 vQ(D){if(!Number.isSafeInteger(D))throw TypeError(`Expected a code point, got \`${typeof D}\`.`)}function fQ(D,{ambiguousAsWide:$=!1}={}){if(vQ(D),TQ(D)||PQ(D)||$&&SQ(D))return 2;return 1}var yQ=()=>{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\uDC70\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-\uDED7\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]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\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]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\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]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\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]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\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]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\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]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\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]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\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]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\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]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\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]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\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\uDD3D\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-\uDE89\uDE8F-\uDEC2\uDEC6\uDECE-\uDEDC\uDEDF-\uDEE9]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\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]|\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]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\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]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\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]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\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]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\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]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\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},kQ=globalThis.Intl?.Segmenter?new Intl.Segmenter:{segment:(D)=>D.split("")},hQ=/^\p{Default_Ignorable_Code_Point}$/u;function mQ(D,$={}){if(typeof D!=="string"||D.length===0)return 0;let{ambiguousIsNarrow:F=!0,countAnsiEscapeCodes:B=!1}=$;if(!B)D=bQ(D);if(D.length===0)return 0;let q=0,Q={ambiguousAsWide:!F};for(let{segment:X}of kQ.segment(D)){let J=X.codePointAt(0);if(J<=31||J>=127&&J<=159)continue;if(J>=8203&&J<=8207||J===65279)continue;if(J>=768&&J<=879||J>=6832&&J<=6911||J>=7616&&J<=7679||J>=8400&&J<=8447||J>=65056&&J<=65071)continue;if(J>=55296&&J<=57343)continue;if(J>=65024&&J<=65039)continue;if(hQ.test(X))continue;if(yQ().test(X)){q+=2;continue}q+=fQ(J,Q)}return q}function gQ(){let{env:D}=G4,{TERM:$,TERM_PROGRAM:F}=D;if(G4.platform!=="win32")return $!=="linux";return Boolean(D.WT_SESSION)||Boolean(D.TERMINUS_SUBLIME)||D.ConEmuTask==="{cmd::Cmder}"||F==="Terminus-Sublime"||F==="vscode"||$==="xterm-256color"||$==="alacritty"||$==="rxvt-unicode"||$==="rxvt-unicode-256color"||D.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var xQ={info:"cyan",fail:"red",success:"green",ready:"green",start:"magenta"},lQ={0:"red",1:"yellow"},dQ=gQ(),rD=(D,$)=>dQ?D:$,V4={error:rD("✖","×"),fatal:rD("✖","×"),ready:rD("✔","√"),warn:rD("⚠","‼"),info:rD("ℹ","i"),success:rD("✔","√"),debug:rD("⚙","D"),trace:rD("→","→"),fail:rD("✖","×"),start:rD("◐","o"),log:""};function W4(D){if(typeof Intl!=="object"||!Intl.Segmenter)return q0(D).length;return mQ(D)}class u4 extends B8{formatStack(D,$,F){let B=" ".repeat((F?.errorLevel||0)+1);return`
214
- ${B}`+o1(D,$).map((q)=>" "+q.replace(/^at +/,(Q)=>i.gray(Q)).replace(/\((.+)\)/,(Q,X)=>`(${i.cyan(X)})`)).join(`
215
- ${B}`)}formatType(D,$,F){let B=xQ[D.type]||lQ[D.level]||"gray";if($)return cQ(B)(i.black(` ${D.type.toUpperCase()} `));let q=typeof V4[D.type]==="string"?V4[D.type]:D.icon||D.type;return q?pQ(B)(q):""}formatLogObj(D,$){let[F,...B]=this.formatArgs(D.args,$).split(`
216
- `);if(D.type==="box")return t1(_8(F+(B.length>0?`
217
- `+B.join(`
218
- `):"")),{title:D.title?_8(D.title):void 0,style:D.style});let q=this.formatDate(D.date,$),Q=q&&i.gray(q),X=D.badge??D.level<2,J=this.formatType(D,X,$),Y=D.tag?i.gray(D.tag):"",H,_=this.filterAndJoin([J,_8(F)]),G=this.filterAndJoin($.columns?[Y,Q]:[Y]),C=($.columns||0)-W4(_)-W4(G)-2;if(H=C>0&&($.columns||0)>=80?_+" ".repeat(C)+G:(G?`${i.gray(`[${G}]`)} `:"")+_,H+=_8(B.length>0?`
219
- `+B.join(`
220
- `):""),D.type==="trace"){let A=Error("Trace: "+D.message);H+=this.formatStack(A.stack||"",A.message)}return X?`
221
- `+H+`
222
- `:H}}function _8(D){return D.replace(/`([^`]+)`/gm,($,F)=>i.cyan(F)).replace(/\s+_([^_]+)_\s+/gm,($,F)=>` ${i.underline(F)} `)}function pQ(D="white"){return i[D]||i.white}function cQ(D="bgWhite"){return i[`bg${D[0].toUpperCase()}${D.slice(1)}`]||i.bgWhite}function iQ(D={}){let $=nQ();if(process.env.CONSOLA_LEVEL)$=Number.parseInt(process.env.CONSOLA_LEVEL)??$;return S7({level:$,defaults:{level:$},stdout:process.stdout,stderr:process.stderr,prompt:(...B)=>Promise.resolve().then(() => (_4(),H4)).then((q)=>q.prompt(...B)),reporters:D.reporters||[D.fancy??!(J6||Y6)?new u4:new B8],...D})}function nQ(){if(WQ)return YD.debug;if(Y6)return YD.warn;return YD.info}var y0=iQ();function rQ(D){if(Array.isArray(D))return D;return D===void 0?[]:[D]}function H6(D,$=""){let F=[];for(let B of D)for(let[q,Q]of B.entries())F[q]=Math.max(F[q]||0,Q.length);return D.map((B)=>B.map((q,Q)=>$+q[Q===0?"padStart":"padEnd"](F[Q])).join(" ")).join(`
223
- `)}function yD(D){return typeof D==="function"?D():D}class k0 extends Error{constructor(D,$){super(D);this.code=$,this.name="CLIError"}}var aQ=/\d/,sQ=["-","_","/","."];function oQ(D=""){if(aQ.test(D))return;return D!==D.toLowerCase()}function z4(D,$){let F=$??sQ,B=[];if(!D||typeof D!=="string")return B;let q="",Q,X;for(let J of D){let Y=F.includes(J);if(Y===!0){B.push(q),q="",Q=void 0;continue}let H=oQ(J);if(X===!1){if(Q===!1&&H===!0){B.push(q),q=J,Q=H;continue}if(Q===!0&&H===!1&&q.length>1){let _=q.at(-1);B.push(q.slice(0,Math.max(0,q.length-1))),q=_+J,Q=H;continue}}q+=J,Q=H,X=Y}return B.push(q),B}function tQ(D){return D?D[0].toUpperCase()+D.slice(1):""}function eQ(D){return D?D[0].toLowerCase()+D.slice(1):""}function DJ(D,$){return D?(Array.isArray(D)?D:z4(D)).map((F)=>tQ($?.normalize?F.toLowerCase():F)).join(""):""}function $J(D,$){return eQ(DJ(D||"",$))}function FJ(D,$){return D?(Array.isArray(D)?D:z4(D)).map((F)=>F.toLowerCase()).join($??"-"):""}function _6(D){return D==null?[]:Array.isArray(D)?D:[D]}function BJ(D,$,F,B){let q,Q=D[$],X=~B.string.indexOf($)?F==null||F===!0?"":String(F):typeof F==="boolean"?F:~B.boolean.indexOf($)?F==="false"?!1:F==="true"||(D._.push((q=+F,q*0===0)?q:F),!!F):(q=+F,q*0===0)?q:F;D[$]=Q==null?X:Array.isArray(Q)?Q.concat(X):[Q,X]}function qJ(D=[],$={}){let F,B,q,Q,X,J={_:[]},Y=0,H=0,_=0,G=D.length,C=$.alias!==void 0,A=$.unknown!==void 0,u=$.default!==void 0;if($.alias=$.alias||{},$.string=_6($.string),$.boolean=_6($.boolean),C)for(F in $.alias){B=$.alias[F]=_6($.alias[F]);for(Y=0;Y<B.length;Y++)($.alias[B[Y]]=B.concat(F)).splice(Y,1)}for(Y=$.boolean.length;Y-- >0;){B=$.alias[$.boolean[Y]]||[];for(H=B.length;H-- >0;)$.boolean.push(B[H])}for(Y=$.string.length;Y-- >0;){B=$.alias[$.string[Y]]||[];for(H=B.length;H-- >0;)$.string.push(B[H])}if(u){for(F in $.default)if(Q=typeof $.default[F],B=$.alias[F]=$.alias[F]||[],$[Q]!==void 0){$[Q].push(F);for(Y=0;Y<B.length;Y++)$[Q].push(B[Y])}}let W=A?Object.keys($.alias):[];for(Y=0;Y<G;Y++){if(q=D[Y],q==="--"){J._=J._.concat(D.slice(++Y));break}for(H=0;H<q.length;H++)if(q.charCodeAt(H)!==45)break;if(H===0)J._.push(q);else if(q.substring(H,H+3)==="no-"){if(Q=q.slice(Math.max(0,H+3)),A&&!~W.indexOf(Q))return $.unknown(q);J[Q]=!1}else{for(_=H+1;_<q.length;_++)if(q.charCodeAt(_)===61)break;Q=q.substring(H,_),X=q.slice(Math.max(0,++_))||Y+1===G||(""+D[Y+1]).charCodeAt(0)===45||D[++Y],B=H===2?[Q]:Q;for(_=0;_<B.length;_++){if(Q=B[_],A&&!~W.indexOf(Q))return $.unknown("-".repeat(H)+Q);BJ(J,Q,_+1<B.length||X,$)}}}if(u){for(F in $.default)if(J[F]===void 0)J[F]=$.default[F]}if(C)for(F in J){B=$.alias[F]||[];while(B.length>0)J[B.shift()]=J[F]}return J}function XJ(D,$){let F={boolean:[],string:[],mixed:[],alias:{},default:{}},B=w4($);for(let J of B){if(J.type==="positional")continue;if(J.type==="string")F.string.push(J.name);else if(J.type==="boolean")F.boolean.push(J.name);if(J.default!==void 0)F.default[J.name]=J.default;if(J.alias)F.alias[J.name]=J.alias}let q=qJ(D,F),[...Q]=q._,X=new Proxy(q,{get(J,Y){return J[Y]??J[$J(Y)]??J[FJ(Y)]}});for(let[,J]of B.entries())if(J.type==="positional"){let Y=Q.shift();if(Y!==void 0)X[J.name]=Y;else if(J.default===void 0&&J.required!==!1)throw new k0(`Missing required positional argument: ${J.name.toUpperCase()}`,"EARG");else X[J.name]=J.default}else if(J.required&&X[J.name]===void 0)throw new k0(`Missing required argument: --${J.name}`,"EARG");return X}function w4(D){let $=[];for(let[F,B]of Object.entries(D||{}))$.push({...B,name:F,alias:rQ(B.alias)});return $}async function M4(D,$){let F=await yD(D.args||{}),B=XJ($.rawArgs,F),q={rawArgs:$.rawArgs,args:B,data:$.data,cmd:D};if(typeof D.setup==="function")await D.setup(q);let Q;try{let X=await yD(D.subCommands);if(X&&Object.keys(X).length>0){let J=$.rawArgs.findIndex((H)=>!H.startsWith("-")),Y=$.rawArgs[J];if(Y){if(!X[Y])throw new k0(`Unknown command \`${Y}\``,"E_UNKNOWN_COMMAND");let H=await yD(X[Y]);if(H)await M4(H,{rawArgs:$.rawArgs.slice(J+1)})}else if(!D.run)throw new k0("No command specified.","E_NO_COMMAND")}if(typeof D.run==="function")Q=await D.run(q)}finally{if(typeof D.cleanup==="function")await D.cleanup(q)}return{result:Q}}async function G6(D,$,F){let B=await yD(D.subCommands);if(B&&Object.keys(B).length>0){let q=$.findIndex((J)=>!J.startsWith("-")),Q=$[q],X=await yD(B[Q]);if(X)return G6(X,$.slice(q+1),D)}return[D,F]}async function QJ(D,$){try{y0.log(await JJ(D,$)+`
224
- `)}catch(F){y0.error(F)}}async function JJ(D,$){let F=await yD(D.meta||{}),B=w4(await yD(D.args||{})),q=await yD($?.meta||{}),Q=`${q.name?`${q.name} `:""}`+(F.name||process.argv[1]),X=[],J=[],Y=[],H=[];for(let A of B)if(A.type==="positional"){let u=A.name.toUpperCase(),W=A.required!==!1&&A.default===void 0,U=A.default?`="${A.default}"`:"";J.push(["`"+u+U+"`",A.description||"",A.valueHint?`<${A.valueHint}>`:""]),H.push(W?`<${u}>`:`[${u}]`)}else{let u=A.required===!0&&A.default===void 0,W=(A.type==="boolean"&&A.default===!0?[...(A.alias||[]).map((U)=>`--no-${U}`),`--no-${A.name}`].join(", "):[...(A.alias||[]).map((U)=>`-${U}`),`--${A.name}`].join(", "))+(A.type==="string"&&(A.valueHint||A.default)?`=${A.valueHint?`<${A.valueHint}>`:`"${A.default||""}"`}`:"");if(X.push(["`"+W+(u?" (required)":"")+"`",A.description||""]),u)H.push(W)}if(D.subCommands){let A=[],u=await yD(D.subCommands);for(let[W,U]of Object.entries(u)){let z=await yD(U),w=await yD(z?.meta);Y.push([`\`${W}\``,w?.description||""]),A.push(W)}H.push(A.join("|"))}let _=[],G=F.version||q.version;_.push(i.gray(`${F.description} (${Q+(G?` v${G}`:"")})`),"");let C=X.length>0||J.length>0;if(_.push(`${i.underline(i.bold("USAGE"))} \`${Q}${C?" [OPTIONS]":""} ${H.join(" ")}\``,""),J.length>0)_.push(i.underline(i.bold("ARGUMENTS")),""),_.push(H6(J," ")),_.push("");if(X.length>0)_.push(i.underline(i.bold("OPTIONS")),""),_.push(H6(X," ")),_.push("");if(Y.length>0)_.push(i.underline(i.bold("COMMANDS")),""),_.push(H6(Y," ")),_.push("",`Use \`${Q} <command> --help\` for more information about a command.`);return _.filter((A)=>typeof A==="string").join(`
225
- `)}async function K4(D,$={}){let F=$.rawArgs||process.argv.slice(2),B=$.showUsage||QJ;try{if(F.includes("--help")||F.includes("-h"))await B(...await G6(D,F)),process.exit(0);else if(F.length===1&&F[0]==="--version"){let q=typeof D.meta==="function"?await D.meta():await D.meta;if(!q?.version)throw new k0("No version specified","E_NO_VERSION");y0.log(q.version)}else await M4(D,{rawArgs:F})}catch(q){let Q=q instanceof k0;if(!Q)y0.error(q,`
226
- `);if(Q)await B(...await G6(D,F));y0.error(q.message),process.exit(1)}}function MD(D){return D}var E4={name:"diffray",version:"0.1.3",description:"AI-powered code review CLI for git changes",author:"Ilya Strelov <strelov1@gmail.com>",license:"MIT",type:"module",bin:{diffray:"./dist/diffray.js"},files:["dist/diffray.js","dist/defaults","src/defaults"],scripts:{dev:"bun run ./bin/diffray.ts",build:`bun build ./bin/diffray.ts --outfile dist/diffray.js --target node --minify && node -e "const fs=require('fs');const f='dist/diffray.js';fs.writeFileSync(f,fs.readFileSync(f,'utf8').replace('#!/usr/bin/env bun','#!/usr/bin/env node'))" && cp -r src/defaults dist/`,"link:local":`node -e "const p=require('./package.json');p.bin.diffray='./bin/diffray.ts';require('fs').writeFileSync('package.json',JSON.stringify(p,null,2)+'\\n')" && bun link`,"link:publish":`node -e "const p=require('./package.json');p.bin.diffray='./dist/diffray.js';require('fs').writeFileSync('package.json',JSON.stringify(p,null,2)+'\\n')"`,link:"bun link",unlink:"bun unlink",test:"bun test","ts-check":"tsc --noEmit",lint:"eslint .","lint:fix":"eslint . --fix",format:"prettier --write .","format:check":"prettier --check .",prepublishOnly:"npm run build && npm run link:publish"},repository:{type:"git",url:"git+https://github.com/diffray/diffray.git"},homepage:"https://github.com/diffray/diffray#readme",bugs:{url:"https://github.com/diffray/diffray/issues"},keywords:["code-review","ai","cli","git","diff","llm","claude","cerebras","pull-request"],engines:{node:">=18.0.0"},os:["darwin","linux","win32"],cpu:["x64","arm64"],devDependencies:{"@eslint/js":"^9.39.2","@types/bun":"latest","@typescript-eslint/eslint-plugin":"^8.52.0","@typescript-eslint/parser":"^8.52.0",eslint:"^9.39.2","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4",prettier:"^3.7.4"},peerDependencies:{typescript:"^5"},dependencies:{citty:"^0.1.6",diff:"^8.0.2",glob:"^13.0.0",yaml:"^2.8.2",zod:"^3.22.4"}};class qD{diff(D,$,F={}){let B;if(typeof F==="function")B=F,F={};else if("callback"in F)B=F.callback;let q=this.castInput(D,F),Q=this.castInput($,F),X=this.removeEmpty(this.tokenize(q,F)),J=this.removeEmpty(this.tokenize(Q,F));return this.diffWithOptionsObj(X,J,F,B)}diffWithOptionsObj(D,$,F,B){var q;let Q=(z)=>{if(z=this.postProcess(z,F),B){setTimeout(function(){B(z)},0);return}else return z},X=$.length,J=D.length,Y=1,H=X+J;if(F.maxEditLength!=null)H=Math.min(H,F.maxEditLength);let _=(q=F.timeout)!==null&&q!==void 0?q:1/0,G=Date.now()+_,C=[{oldPos:-1,lastComponent:void 0}],A=this.extractCommon(C[0],$,D,0,F);if(C[0].oldPos+1>=J&&A+1>=X)return Q(this.buildValues(C[0].lastComponent,$,D));let u=-1/0,W=1/0,U=()=>{for(let z=Math.max(u,-Y);z<=Math.min(W,Y);z+=2){let w,M=C[z-1],K=C[z+1];if(M)C[z-1]=void 0;let N=!1;if(K){let f=K.oldPos-z;N=K&&0<=f&&f<X}let I=M&&M.oldPos+1<J;if(!N&&!I){C[z]=void 0;continue}if(!I||N&&M.oldPos<K.oldPos)w=this.addToPath(K,!0,!1,0,F);else w=this.addToPath(M,!1,!0,1,F);if(A=this.extractCommon(w,$,D,z,F),w.oldPos+1>=J&&A+1>=X)return Q(this.buildValues(w.lastComponent,$,D))||!0;else{if(C[z]=w,w.oldPos+1>=J)W=Math.min(W,z-1);if(A+1>=X)u=Math.max(u,z+1)}}Y++};if(B)(function z(){setTimeout(function(){if(Y>H||Date.now()>G)return B(void 0);if(!U())z()},0)})();else while(Y<=H&&Date.now()<=G){let z=U();if(z)return z}}addToPath(D,$,F,B,q){let Q=D.lastComponent;if(Q&&!q.oneChangePerToken&&Q.added===$&&Q.removed===F)return{oldPos:D.oldPos+B,lastComponent:{count:Q.count+1,added:$,removed:F,previousComponent:Q.previousComponent}};else return{oldPos:D.oldPos+B,lastComponent:{count:1,added:$,removed:F,previousComponent:Q}}}extractCommon(D,$,F,B,q){let Q=$.length,X=F.length,J=D.oldPos,Y=J-B,H=0;while(Y+1<Q&&J+1<X&&this.equals(F[J+1],$[Y+1],q))if(Y++,J++,H++,q.oneChangePerToken)D.lastComponent={count:1,previousComponent:D.lastComponent,added:!1,removed:!1};if(H&&!q.oneChangePerToken)D.lastComponent={count:H,previousComponent:D.lastComponent,added:!1,removed:!1};return D.oldPos=J,Y}equals(D,$,F){if(F.comparator)return F.comparator(D,$);else return D===$||!!F.ignoreCase&&D.toLowerCase()===$.toLowerCase()}removeEmpty(D){let $=[];for(let F=0;F<D.length;F++)if(D[F])$.push(D[F]);return $}castInput(D,$){return D}tokenize(D,$){return Array.from(D)}join(D){return D.join("")}postProcess(D,$){return D}get useLongestToken(){return!1}buildValues(D,$,F){let B=[],q;while(D)B.push(D),q=D.previousComponent,delete D.previousComponent,D=q;B.reverse();let Q=B.length,X=0,J=0,Y=0;for(;X<Q;X++){let H=B[X];if(!H.removed){if(!H.added&&this.useLongestToken){let _=$.slice(J,J+H.count);_=_.map(function(G,C){let A=F[Y+C];return A.length>G.length?A:G}),H.value=this.join(_)}else H.value=this.join($.slice(J,J+H.count));if(J+=H.count,!H.added)Y+=H.count}else H.value=this.join(F.slice(Y,Y+H.count)),Y+=H.count}return B}}class O4 extends qD{}var HJ=new O4;function C6(D,$){let F;for(F=0;F<D.length&&F<$.length;F++)if(D[F]!=$[F])return D.slice(0,F);return D.slice(0,F)}function V6(D,$){let F;if(!D||!$||D[D.length-1]!=$[$.length-1])return"";for(F=0;F<D.length&&F<$.length;F++)if(D[D.length-(F+1)]!=$[$.length-(F+1)])return D.slice(-F);return D.slice(-F)}function C8(D,$,F){if(D.slice(0,$.length)!=$)throw Error(`string ${JSON.stringify(D)} doesn't start with prefix ${JSON.stringify($)}; this is a bug`);return F+D.slice($.length)}function V8(D,$,F){if(!$)return D+F;if(D.slice(-$.length)!=$)throw Error(`string ${JSON.stringify(D)} doesn't end with suffix ${JSON.stringify($)}; this is a bug`);return D.slice(0,-$.length)+F}function X2(D,$){return C8(D,$,"")}function s2(D,$){return V8(D,$,"")}function W6(D,$){return $.slice(0,_J(D,$))}function _J(D,$){let F=0;if(D.length>$.length)F=D.length-$.length;let B=$.length;if(D.length<$.length)B=D.length;let q=Array(B),Q=0;q[0]=0;for(let X=1;X<B;X++){if($[X]==$[Q])q[X]=q[Q];else q[X]=Q;while(Q>0&&$[X]!=$[Q])Q=q[Q];if($[X]==$[Q])Q++}Q=0;for(let X=F;X<D.length;X++){while(Q>0&&D[X]!=$[Q])Q=q[Q];if(D[X]==$[Q])Q++}return Q}function Q2(D){let $;for($=D.length-1;$>=0;$--)if(!D[$].match(/\s/))break;return D.substring($+1)}function X0(D){let $=D.match(/^\s*/);return $?$[0]:""}var W8="a-zA-Z0-9_\\u{C0}-\\u{FF}\\u{D8}-\\u{F6}\\u{F8}-\\u{2C6}\\u{2C8}-\\u{2D7}\\u{2DE}-\\u{2FF}\\u{1E00}-\\u{1EFF}",GJ=new RegExp(`[${W8}]+|\\s+|[^${W8}]`,"ug");class R4 extends qD{equals(D,$,F){if(F.ignoreCase)D=D.toLowerCase(),$=$.toLowerCase();return D.trim()===$.trim()}tokenize(D,$={}){let F;if($.intlSegmenter){let Q=$.intlSegmenter;if(Q.resolvedOptions().granularity!="word")throw Error('The segmenter passed must have a granularity of "word"');F=Array.from(Q.segment(D),(X)=>X.segment)}else F=D.match(GJ)||[];let B=[],q=null;return F.forEach((Q)=>{if(/\s/.test(Q))if(q==null)B.push(Q);else B.push(B.pop()+Q);else if(q!=null&&/\s/.test(q))if(B[B.length-1]==q)B.push(B.pop()+Q);else B.push(q+Q);else B.push(Q);q=Q}),B}join(D){return D.map(($,F)=>{if(F==0)return $;else return $.replace(/^\s+/,"")}).join("")}postProcess(D,$){if(!D||$.oneChangePerToken)return D;let F=null,B=null,q=null;if(D.forEach((Q)=>{if(Q.added)B=Q;else if(Q.removed)q=Q;else{if(B||q)j4(F,q,B,Q);F=Q,B=null,q=null}}),B||q)j4(F,q,B,null);return D}}var CJ=new R4;function j4(D,$,F,B){if($&&F){let q=X0($.value),Q=Q2($.value),X=X0(F.value),J=Q2(F.value);if(D){let Y=C6(q,X);D.value=V8(D.value,X,Y),$.value=X2($.value,Y),F.value=X2(F.value,Y)}if(B){let Y=V6(Q,J);B.value=C8(B.value,J,Y),$.value=s2($.value,Y),F.value=s2(F.value,Y)}}else if(F){if(D){let q=X0(F.value);F.value=F.value.substring(q.length)}if(B){let q=X0(B.value);B.value=B.value.substring(q.length)}}else if(D&&B){let q=X0(B.value),Q=X0($.value),X=Q2($.value),J=C6(q,Q);$.value=X2($.value,J);let Y=V6(X2(q,J),X);$.value=s2($.value,Y),B.value=C8(B.value,q,Y),D.value=V8(D.value,q,q.slice(0,q.length-Y.length))}else if(B){let q=X0(B.value),Q=Q2($.value),X=W6(Q,q);$.value=s2($.value,X)}else if(D){let q=Q2(D.value),Q=X0($.value),X=W6(q,Q);$.value=X2($.value,X)}}class N4 extends qD{tokenize(D){let $=new RegExp(`(\\r?\\n)|[${W8}]+|[^\\S\\n\\r]+|[^${W8}]`,"ug");return D.match($)||[]}}var VJ=new N4;class L4 extends qD{constructor(){super(...arguments);this.tokenize=A6}equals(D,$,F){if(F.ignoreWhitespace){if(!F.newlineIsToken||!D.includes(`
227
- `))D=D.trim();if(!F.newlineIsToken||!$.includes(`
228
- `))$=$.trim()}else if(F.ignoreNewlineAtEof&&!F.newlineIsToken){if(D.endsWith(`
229
- `))D=D.slice(0,-1);if($.endsWith(`
230
- `))$=$.slice(0,-1)}return super.equals(D,$,F)}}var Z4=new L4;function A8(D,$,F){return Z4.diff(D,$,F)}function A6(D,$){if($.stripTrailingCr)D=D.replace(/\r\n/g,`
231
- `);let F=[],B=D.split(/(\n|\r\n)/);if(!B[B.length-1])B.pop();for(let q=0;q<B.length;q++){let Q=B[q];if(q%2&&!$.newlineIsToken)F[F.length-1]+=Q;else F.push(Q)}return F}function WJ(D){return D=="."||D=="!"||D=="?"}class I4 extends qD{tokenize(D){var $;let F=[],B=0;for(let q=0;q<D.length;q++){if(q==D.length-1){F.push(D.slice(B));break}if(WJ(D[q])&&D[q+1].match(/\s/)){F.push(D.slice(B,q+1)),q=B=q+1;while(($=D[q+1])===null||$===void 0?void 0:$.match(/\s/))q++;F.push(D.slice(B,q+1)),B=q+1}}return F}}var AJ=new I4;class b4 extends qD{tokenize(D){return D.split(/([{}:;,]|\s+)/)}}var UJ=new b4;class S4 extends qD{constructor(){super(...arguments);this.tokenize=A6}get useLongestToken(){return!0}castInput(D,$){let{undefinedReplacement:F,stringifyReplacer:B=(q,Q)=>typeof Q>"u"?F:Q}=$;return typeof D==="string"?D:JSON.stringify(U8(D,null,null,B),null," ")}equals(D,$,F){return super.equals(D.replace(/,([\r\n])/g,"$1"),$.replace(/,([\r\n])/g,"$1"),F)}}var uJ=new S4;function U8(D,$,F,B,q){if($=$||[],F=F||[],B)D=B(q===void 0?"":q,D);let Q;for(Q=0;Q<$.length;Q+=1)if($[Q]===D)return F[Q];let X;if(Object.prototype.toString.call(D)==="[object Array]"){$.push(D),X=Array(D.length),F.push(X);for(Q=0;Q<D.length;Q+=1)X[Q]=U8(D[Q],$,F,B,String(Q));return $.pop(),F.pop(),X}if(D&&D.toJSON)D=D.toJSON();if(typeof D==="object"&&D!==null){$.push(D),X={},F.push(X);let J=[],Y;for(Y in D)if(Object.prototype.hasOwnProperty.call(D,Y))J.push(Y);J.sort();for(Q=0;Q<J.length;Q+=1)Y=J[Q],X[Y]=U8(D[Y],$,F,B,Y);$.pop(),F.pop()}else X=D;return X}class T4 extends qD{tokenize(D){return D.slice()}join(D){return D}removeEmpty(D){return D}}var zJ=new T4;function U6(D,$,F,B,q,Q,X){let J;if(!X)J={};else if(typeof X==="function")J={callback:X};else J=X;if(typeof J.context>"u")J.context=4;let Y=J.context;if(J.newlineIsToken)throw Error("newlineIsToken may not be used with patch-generation functions, only with diffing functions");if(!J.callback)return H(A8(F,B,J));else{let{callback:_}=J;A8(F,B,Object.assign(Object.assign({},J),{callback:(G)=>{let C=H(G);_(C)}}))}function H(_){if(!_)return;_.push({value:"",lines:[]});function G(w){return w.map(function(M){return" "+M})}let C=[],A=0,u=0,W=[],U=1,z=1;for(let w=0;w<_.length;w++){let M=_[w],K=M.lines||MJ(M.value);if(M.lines=K,M.added||M.removed){if(!A){let N=_[w-1];if(A=U,u=z,N)W=Y>0?G(N.lines.slice(-Y)):[],A-=W.length,u-=W.length}for(let N of K)W.push((M.added?"+":"-")+N);if(M.added)z+=K.length;else U+=K.length}else{if(A)if(K.length<=Y*2&&w<_.length-2)for(let N of G(K))W.push(N);else{let N=Math.min(K.length,Y);for(let f of G(K.slice(0,N)))W.push(f);let I={oldStart:A,oldLines:U-A+N,newStart:u,newLines:z-u+N,lines:W};C.push(I),A=0,u=0,W=[]}U+=K.length,z+=K.length}}for(let w of C)for(let M=0;M<w.lines.length;M++)if(w.lines[M].endsWith(`
232
- `))w.lines[M]=w.lines[M].slice(0,-1);else w.lines.splice(M+1,0,"\"),M++;return{oldFileName:D,newFileName:$,oldHeader:q,newHeader:Q,hunks:C}}}function u8(D){if(Array.isArray(D))return D.map(u8).join(`
233
- `);let $=[];if(D.oldFileName==D.newFileName)$.push("Index: "+D.oldFileName);$.push("==================================================================="),$.push("--- "+D.oldFileName+(typeof D.oldHeader>"u"?"":"\t"+D.oldHeader)),$.push("+++ "+D.newFileName+(typeof D.newHeader>"u"?"":"\t"+D.newHeader));for(let F=0;F<D.hunks.length;F++){let B=D.hunks[F];if(B.oldLines===0)B.oldStart-=1;if(B.newLines===0)B.newStart-=1;$.push("@@ -"+B.oldStart+","+B.oldLines+" +"+B.newStart+","+B.newLines+" @@");for(let q of B.lines)$.push(q)}return $.join(`
234
- `)+`
235
- `}function P4(D,$,F,B,q,Q,X){if(typeof X==="function")X={callback:X};if(!(X===null||X===void 0?void 0:X.callback)){let J=U6(D,$,F,B,q,Q,X);if(!J)return;return u8(J)}else{let{callback:J}=X;U6(D,$,F,B,q,Q,Object.assign(Object.assign({},X),{callback:(Y)=>{if(!Y)J(void 0);else J(u8(Y))}}))}}function o2(D,$,F,B,q,Q){return P4(D,D,$,F,B,q,Q)}function MJ(D){let $=D.endsWith(`
236
- `),F=D.split(`
237
- `).map((B)=>B+`
238
- `);if($)F.pop();else F.push(F.pop().slice(0,-1));return F}import{spawn as jJ}from"node:child_process";import{readFile as RJ}from"node:fs/promises";var z8=new Map;async function Q0(D,$){let F=z8.get(D);if(F!==void 0)return F.value;let B=await $();return z8.set(D,{value:B,timestamp:Date.now()}),B}function v4(D,$){z8.set(D,{value:$,timestamp:Date.now()})}function t2(D){z8.delete(D)}var KD={CONFIG:"config",INSTRUCTIONS:"instructions",OUTPUT_FORMAT:"prompt:output-format",VALIDATION_PROMPT:"prompt:validation",GIT_STATUS:"git:status"};s();var y4=30000;async function ED(D,$=process.cwd()){return new Promise((F,B)=>{let q=jJ("git",D,{cwd:$}),Q=[],X=[];q.stdout.on("data",(Y)=>Q.push(Y)),q.stderr.on("data",(Y)=>X.push(Y));let J=setTimeout(()=>{q.kill(),B(Error(`git ${D[0]} timeout after ${y4/1000}s`))},y4);q.on("close",(Y)=>{if(clearTimeout(J),Y===0)F(Buffer.concat(Q).toString("utf-8"));else{let H=Buffer.concat(X).toString("utf-8");B(Error(`git ${D[0]} failed: ${H||`exit code ${Y}`}`))}}),q.on("error",(Y)=>{clearTimeout(J),B(Y)})})}async function NJ(){try{let $=(await ED(["rev-parse","--abbrev-ref","HEAD"])).trim();return $==="HEAD"?null:$}catch(D){return V.debug(`getCurrentBranch failed: ${D}`),null}}async function LJ(){return(await ED(["rev-parse","HEAD"])).trim()}async function ZJ(D){return(await ED(["rev-parse",D])).trim()}async function M8(D){await ED(["checkout",D]),g4()}async function k4(D){let $=await LJ(),F=await ZJ(D);if($===F)return{checkoutNeeded:!1,originalRef:null};let q=await NJ()||$;return await M8(D),{checkoutNeeded:!0,originalRef:q}}async function h4(){try{return(await ED(["status","--porcelain"])).trim().split(`
239
- `).filter((F)=>F&&!F.startsWith("??")).length>0}catch(D){return V.debug(`hasUncommittedChanges failed: ${D}`),!1}}function IJ(D){return D.trim().split(`
240
- `).filter(($)=>$.length>=3).map(($)=>({file:$.slice(3),index:$[0]??" ",worktree:$[1]??" "}))}async function m4(){return Q0(KD.GIT_STATUS,async()=>{let D=await ED(["status","--porcelain"]);return IJ(D)})}function g4(){t2(KD.GIT_STATUS)}async function x4(){try{return await ED(["rev-parse","--git-dir"]),!0}catch(D){return V.debug(`isGitRepository: not a git repo: ${D}`),!1}}async function bJ(){try{return(await m4()).map(($)=>$.file)}catch(D){throw Error(`Failed to get changed files: ${D}`)}}async function SJ(D){try{let $="",F="";try{$=await ED(["show",`HEAD:${D}`])}catch{$=""}try{F=await RJ(D,"utf-8")}catch{F=""}return o2(D,$,F,"HEAD","Working Directory")}catch($){throw Error(`Failed to get diff for ${D}: ${$}`)}}async function TJ(D){try{let F=(await m4()).find((B)=>B.file===D);if(!F)return"modified";if(F.index==="A"||F.index==="?"||F.worktree==="?")return"added";if(F.index==="D"||F.worktree==="D")return"deleted";return"modified"}catch($){return V.debug(`getFileStatus failed for ${D}: ${$}`),"modified"}}function z6(D){let $=D.split(`
241
- `),F=0,B=0;for(let q of $)if(q.startsWith("+")&&!q.startsWith("+++"))F++;else if(q.startsWith("-")&&!q.startsWith("---"))B++;return{additions:F,deletions:B}}async function l4(){g4();let D=await bJ();return(await Promise.all(D.map(async(F)=>{try{let[B,q]=await Promise.all([SJ(F),TJ(F)]),{additions:Q,deletions:X}=z6(B);return{file:F,status:q,diff:B,additions:Q,deletions:X}}catch(B){return V.debug(`getAllDiffs: skipping ${F}: ${B}`),null}}))).filter((F)=>F!==null).filter((F)=>F.diff.trim().length>0)}function d4(D){return D.trim().split(`
242
- `).filter(($)=>$.length>0).map(($)=>{let[F,...B]=$.split("\t"),q=B.join("\t"),Q="modified";if(F==="A")Q="added";else if(F==="D")Q="deleted";else if(F?.startsWith("R"))Q="modified";return{file:q,status:Q}}).filter(($)=>$.file)}async function p4(){try{let D=await ED(["diff","--name-status","HEAD~1","HEAD"]),$=d4(D);if($.length===0)return[];return(await Promise.all($.map(async({file:B,status:q})=>{try{let Q=await ED(["diff","HEAD~1","HEAD","--",B]),{additions:X,deletions:J}=z6(Q),Y=Q.startsWith("diff --git")?Q:o2(B,"","","HEAD~1","HEAD");return{file:B,status:q,diff:Y,additions:X,deletions:J}}catch(Q){return V.debug(`getLastCommitDiffs: skipping ${B}: ${Q}`),null}}))).filter((B)=>B!==null&&B.diff.trim().length>0)}catch(D){throw Error(`Failed to get last commit diffs: ${D}`)}}async function c4(D,$="HEAD"){try{return(await ED(["log","--format=%B%n---COMMIT_SEPARATOR---",`${D}..${$}`])).split("---COMMIT_SEPARATOR---").map((B)=>B.trim()).filter((B)=>B.length>0)}catch(F){return V.debug(`getCommitMessages failed: ${F}`),[]}}async function i4(D,$="HEAD"){try{let F=await ED(["diff","--name-status",D,$]),B=d4(F);if(B.length===0)return[];return(await Promise.all(B.map(async({file:Q,status:X})=>{try{let J=await ED(["diff",D,$,"--",Q]),{additions:Y,deletions:H}=z6(J),_=J.startsWith("diff --git")?J:o2(Q,"","",D,$);return{file:Q,status:X,diff:_,additions:Y,deletions:H}}catch(J){return V.debug(`getCommitDiffs: skipping ${Q}: ${J}`),null}}))).filter((Q)=>Q!==null&&Q.diff.trim().length>0)}catch(F){throw Error(`Failed to get diffs between ${D} and ${$}: ${F}`)}}var g={};F8(g,{void:()=>UY,util:()=>x,unknown:()=>WY,union:()=>MY,undefined:()=>GY,tuple:()=>OY,transformer:()=>PY,symbol:()=>_Y,string:()=>$5,strictObject:()=>wY,setErrorMap:()=>fJ,set:()=>NY,record:()=>jY,quotelessJson:()=>PJ,promise:()=>TY,preprocess:()=>yY,pipeline:()=>kY,ostring:()=>hY,optional:()=>vY,onumber:()=>mY,oboolean:()=>gY,objectUtil:()=>w6,object:()=>zY,number:()=>F5,nullable:()=>fY,null:()=>CY,never:()=>AY,nativeEnum:()=>SY,nan:()=>JY,map:()=>RY,makeIssue:()=>$3,literal:()=>IY,lazy:()=>ZY,late:()=>XY,isValid:()=>U0,isDirty:()=>E8,isAsync:()=>Y2,isAborted:()=>K8,intersection:()=>EY,instanceof:()=>QY,getParsedType:()=>aD,getErrorMap:()=>J2,function:()=>LY,enum:()=>bY,effect:()=>PY,discriminatedUnion:()=>KY,defaultErrorMap:()=>J0,datetimeRegex:()=>t4,date:()=>HY,custom:()=>D5,coerce:()=>xY,boolean:()=>B5,bigint:()=>YY,array:()=>uY,any:()=>VY,addIssueToContext:()=>R,ZodVoid:()=>B3,ZodUnknown:()=>u0,ZodUnion:()=>W2,ZodUndefined:()=>C2,ZodType:()=>m,ZodTuple:()=>oD,ZodTransformer:()=>xD,ZodSymbol:()=>F3,ZodString:()=>kD,ZodSet:()=>x0,ZodSchema:()=>m,ZodRecord:()=>q3,ZodReadonly:()=>K2,ZodPromise:()=>l0,ZodPipeline:()=>J3,ZodParsedType:()=>j,ZodOptional:()=>mD,ZodObject:()=>o,ZodNumber:()=>z0,ZodNullable:()=>H0,ZodNull:()=>V2,ZodNever:()=>sD,ZodNativeEnum:()=>z2,ZodNaN:()=>Q3,ZodMap:()=>X3,ZodLiteral:()=>u2,ZodLazy:()=>U2,ZodIssueCode:()=>E,ZodIntersection:()=>A2,ZodFunction:()=>_2,ZodFirstPartyTypeKind:()=>P,ZodError:()=>uD,ZodEnum:()=>M0,ZodEffects:()=>xD,ZodDiscriminatedUnion:()=>O8,ZodDefault:()=>w2,ZodDate:()=>m0,ZodCatch:()=>M2,ZodBranded:()=>j8,ZodBoolean:()=>G2,ZodBigInt:()=>w0,ZodArray:()=>hD,ZodAny:()=>g0,Schema:()=>m,ParseStatus:()=>HD,OK:()=>CD,NEVER:()=>lY,INVALID:()=>T,EMPTY_PATH:()=>yJ,DIRTY:()=>h0,BRAND:()=>qY});var x;(function(D){D.assertEqual=(q)=>{};function $(q){}D.assertIs=$;function F(q){throw Error()}D.assertNever=F,D.arrayToEnum=(q)=>{let Q={};for(let X of q)Q[X]=X;return Q},D.getValidEnumValues=(q)=>{let Q=D.objectKeys(q).filter((J)=>typeof q[q[J]]!=="number"),X={};for(let J of Q)X[J]=q[J];return D.objectValues(X)},D.objectValues=(q)=>{return D.objectKeys(q).map(function(Q){return q[Q]})},D.objectKeys=typeof Object.keys==="function"?(q)=>Object.keys(q):(q)=>{let Q=[];for(let X in q)if(Object.prototype.hasOwnProperty.call(q,X))Q.push(X);return Q},D.find=(q,Q)=>{for(let X of q)if(Q(X))return X;return},D.isInteger=typeof Number.isInteger==="function"?(q)=>Number.isInteger(q):(q)=>typeof q==="number"&&Number.isFinite(q)&&Math.floor(q)===q;function B(q,Q=" | "){return q.map((X)=>typeof X==="string"?`'${X}'`:X).join(Q)}D.joinValues=B,D.jsonStringifyReplacer=(q,Q)=>{if(typeof Q==="bigint")return Q.toString();return Q}})(x||(x={}));var w6;(function(D){D.mergeShapes=($,F)=>{return{...$,...F}}})(w6||(w6={}));var j=x.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),aD=(D)=>{switch(typeof D){case"undefined":return j.undefined;case"string":return j.string;case"number":return Number.isNaN(D)?j.nan:j.number;case"boolean":return j.boolean;case"function":return j.function;case"bigint":return j.bigint;case"symbol":return j.symbol;case"object":if(Array.isArray(D))return j.array;if(D===null)return j.null;if(D.then&&typeof D.then==="function"&&D.catch&&typeof D.catch==="function")return j.promise;if(typeof Map<"u"&&D instanceof Map)return j.map;if(typeof Set<"u"&&D instanceof Set)return j.set;if(typeof Date<"u"&&D instanceof Date)return j.date;return j.object;default:return j.unknown}};var E=x.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"]),PJ=(D)=>{return JSON.stringify(D,null,2).replace(/"([^"]+)":/g,"$1:")};class uD extends Error{get errors(){return this.issues}constructor(D){super();this.issues=[],this.addIssue=(F)=>{this.issues=[...this.issues,F]},this.addIssues=(F=[])=>{this.issues=[...this.issues,...F]};let $=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,$);else this.__proto__=$;this.name="ZodError",this.issues=D}format(D){let $=D||function(q){return q.message},F={_errors:[]},B=(q)=>{for(let Q of q.issues)if(Q.code==="invalid_union")Q.unionErrors.map(B);else if(Q.code==="invalid_return_type")B(Q.returnTypeError);else if(Q.code==="invalid_arguments")B(Q.argumentsError);else if(Q.path.length===0)F._errors.push($(Q));else{let X=F,J=0;while(J<Q.path.length){let Y=Q.path[J];if(J!==Q.path.length-1)X[Y]=X[Y]||{_errors:[]};else X[Y]=X[Y]||{_errors:[]},X[Y]._errors.push($(Q));X=X[Y],J++}}};return B(this),F}static assert(D){if(!(D instanceof uD))throw Error(`Not a ZodError: ${D}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,x.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(D=($)=>$.message){let $={},F=[];for(let B of this.issues)if(B.path.length>0){let q=B.path[0];$[q]=$[q]||[],$[q].push(D(B))}else F.push(D(B));return{formErrors:F,fieldErrors:$}}get formErrors(){return this.flatten()}}uD.create=(D)=>{return new uD(D)};var vJ=(D,$)=>{let F;switch(D.code){case E.invalid_type:if(D.received===j.undefined)F="Required";else F=`Expected ${D.expected}, received ${D.received}`;break;case E.invalid_literal:F=`Invalid literal value, expected ${JSON.stringify(D.expected,x.jsonStringifyReplacer)}`;break;case E.unrecognized_keys:F=`Unrecognized key(s) in object: ${x.joinValues(D.keys,", ")}`;break;case E.invalid_union:F="Invalid input";break;case E.invalid_union_discriminator:F=`Invalid discriminator value. Expected ${x.joinValues(D.options)}`;break;case E.invalid_enum_value:F=`Invalid enum value. Expected ${x.joinValues(D.options)}, received '${D.received}'`;break;case E.invalid_arguments:F="Invalid function arguments";break;case E.invalid_return_type:F="Invalid function return type";break;case E.invalid_date:F="Invalid date";break;case E.invalid_string:if(typeof D.validation==="object")if("includes"in D.validation){if(F=`Invalid input: must include "${D.validation.includes}"`,typeof D.validation.position==="number")F=`${F} at one or more positions greater than or equal to ${D.validation.position}`}else if("startsWith"in D.validation)F=`Invalid input: must start with "${D.validation.startsWith}"`;else if("endsWith"in D.validation)F=`Invalid input: must end with "${D.validation.endsWith}"`;else x.assertNever(D.validation);else if(D.validation!=="regex")F=`Invalid ${D.validation}`;else F="Invalid";break;case E.too_small:if(D.type==="array")F=`Array must contain ${D.exact?"exactly":D.inclusive?"at least":"more than"} ${D.minimum} element(s)`;else if(D.type==="string")F=`String must contain ${D.exact?"exactly":D.inclusive?"at least":"over"} ${D.minimum} character(s)`;else if(D.type==="number")F=`Number must be ${D.exact?"exactly equal to ":D.inclusive?"greater than or equal to ":"greater than "}${D.minimum}`;else if(D.type==="bigint")F=`Number must be ${D.exact?"exactly equal to ":D.inclusive?"greater than or equal to ":"greater than "}${D.minimum}`;else if(D.type==="date")F=`Date must be ${D.exact?"exactly equal to ":D.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(D.minimum))}`;else F="Invalid input";break;case E.too_big:if(D.type==="array")F=`Array must contain ${D.exact?"exactly":D.inclusive?"at most":"less than"} ${D.maximum} element(s)`;else if(D.type==="string")F=`String must contain ${D.exact?"exactly":D.inclusive?"at most":"under"} ${D.maximum} character(s)`;else if(D.type==="number")F=`Number must be ${D.exact?"exactly":D.inclusive?"less than or equal to":"less than"} ${D.maximum}`;else if(D.type==="bigint")F=`BigInt must be ${D.exact?"exactly":D.inclusive?"less than or equal to":"less than"} ${D.maximum}`;else if(D.type==="date")F=`Date must be ${D.exact?"exactly":D.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(D.maximum))}`;else F="Invalid input";break;case E.custom:F="Invalid input";break;case E.invalid_intersection_types:F="Intersection results could not be merged";break;case E.not_multiple_of:F=`Number must be a multiple of ${D.multipleOf}`;break;case E.not_finite:F="Number must be finite";break;default:F=$.defaultError,x.assertNever(D)}return{message:F}},J0=vJ;var n4=J0;function fJ(D){n4=D}function J2(){return n4}var $3=(D)=>{let{data:$,path:F,errorMaps:B,issueData:q}=D,Q=[...F,...q.path||[]],X={...q,path:Q};if(q.message!==void 0)return{...q,path:Q,message:q.message};let J="",Y=B.filter((H)=>!!H).slice().reverse();for(let H of Y)J=H(X,{data:$,defaultError:J}).message;return{...q,path:Q,message:J}},yJ=[];function R(D,$){let F=J2(),B=$3({issueData:$,data:D.data,path:D.path,errorMaps:[D.common.contextualErrorMap,D.schemaErrorMap,F,F===J0?void 0:J0].filter((q)=>!!q)});D.common.issues.push(B)}class HD{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray(D,$){let F=[];for(let B of $){if(B.status==="aborted")return T;if(B.status==="dirty")D.dirty();F.push(B.value)}return{status:D.value,value:F}}static async mergeObjectAsync(D,$){let F=[];for(let B of $){let q=await B.key,Q=await B.value;F.push({key:q,value:Q})}return HD.mergeObjectSync(D,F)}static mergeObjectSync(D,$){let F={};for(let B of $){let{key:q,value:Q}=B;if(q.status==="aborted")return T;if(Q.status==="aborted")return T;if(q.status==="dirty")D.dirty();if(Q.status==="dirty")D.dirty();if(q.value!=="__proto__"&&(typeof Q.value<"u"||B.alwaysSet))F[q.value]=Q.value}return{status:D.value,value:F}}}var T=Object.freeze({status:"aborted"}),h0=(D)=>({status:"dirty",value:D}),CD=(D)=>({status:"valid",value:D}),K8=(D)=>D.status==="aborted",E8=(D)=>D.status==="dirty",U0=(D)=>D.status==="valid",Y2=(D)=>typeof Promise<"u"&&D instanceof Promise;var S;(function(D){D.errToObj=($)=>typeof $==="string"?{message:$}:$||{},D.toString=($)=>typeof $==="string"?$:$?.message})(S||(S={}));class gD{constructor(D,$,F,B){this._cachedPath=[],this.parent=D,this.data=$,this._path=F,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 r4=(D,$)=>{if(U0($))return{success:!0,data:$.value};else{if(!D.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let F=new uD(D.common.issues);return this._error=F,this._error}}}};function k(D){if(!D)return{};let{errorMap:$,invalid_type_error:F,required_error:B,description:q}=D;if($&&(F||B))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if($)return{errorMap:$,description:q};return{errorMap:(X,J)=>{let{message:Y}=D;if(X.code==="invalid_enum_value")return{message:Y??J.defaultError};if(typeof J.data>"u")return{message:Y??B??J.defaultError};if(X.code!=="invalid_type")return{message:J.defaultError};return{message:Y??F??J.defaultError}},description:q}}class m{get description(){return this._def.description}_getType(D){return aD(D.data)}_getOrReturnCtx(D,$){return $||{common:D.parent.common,data:D.data,parsedType:aD(D.data),schemaErrorMap:this._def.errorMap,path:D.path,parent:D.parent}}_processInputParams(D){return{status:new HD,ctx:{common:D.parent.common,data:D.data,parsedType:aD(D.data),schemaErrorMap:this._def.errorMap,path:D.path,parent:D.parent}}}_parseSync(D){let $=this._parse(D);if(Y2($))throw Error("Synchronous parse encountered promise.");return $}_parseAsync(D){let $=this._parse(D);return Promise.resolve($)}parse(D,$){let F=this.safeParse(D,$);if(F.success)return F.data;throw F.error}safeParse(D,$){let F={common:{issues:[],async:$?.async??!1,contextualErrorMap:$?.errorMap},path:$?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:D,parsedType:aD(D)},B=this._parseSync({data:D,path:F.path,parent:F});return r4(F,B)}"~validate"(D){let $={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:D,parsedType:aD(D)};if(!this["~standard"].async)try{let F=this._parseSync({data:D,path:[],parent:$});return U0(F)?{value:F.value}:{issues:$.common.issues}}catch(F){if(F?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;$.common={issues:[],async:!0}}return this._parseAsync({data:D,path:[],parent:$}).then((F)=>U0(F)?{value:F.value}:{issues:$.common.issues})}async parseAsync(D,$){let F=await this.safeParseAsync(D,$);if(F.success)return F.data;throw F.error}async safeParseAsync(D,$){let F={common:{issues:[],contextualErrorMap:$?.errorMap,async:!0},path:$?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:D,parsedType:aD(D)},B=this._parse({data:D,path:F.path,parent:F}),q=await(Y2(B)?B:Promise.resolve(B));return r4(F,q)}refine(D,$){let F=(B)=>{if(typeof $==="string"||typeof $>"u")return{message:$};else if(typeof $==="function")return $(B);else return $};return this._refinement((B,q)=>{let Q=D(B),X=()=>q.addIssue({code:E.custom,...F(B)});if(typeof Promise<"u"&&Q instanceof Promise)return Q.then((J)=>{if(!J)return X(),!1;else return!0});if(!Q)return X(),!1;else return!0})}refinement(D,$){return this._refinement((F,B)=>{if(!D(F))return B.addIssue(typeof $==="function"?$(F,B):$),!1;else return!0})}_refinement(D){return new xD({schema:this,typeName:P.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:($)=>this["~validate"]($)}}optional(){return mD.create(this,this._def)}nullable(){return H0.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return hD.create(this)}promise(){return l0.create(this,this._def)}or(D){return W2.create([this,D],this._def)}and(D){return A2.create(this,D,this._def)}transform(D){return new xD({...k(this._def),schema:this,typeName:P.ZodEffects,effect:{type:"transform",transform:D}})}default(D){let $=typeof D==="function"?D:()=>D;return new w2({...k(this._def),innerType:this,defaultValue:$,typeName:P.ZodDefault})}brand(){return new j8({typeName:P.ZodBranded,type:this,...k(this._def)})}catch(D){let $=typeof D==="function"?D:()=>D;return new M2({...k(this._def),innerType:this,catchValue:$,typeName:P.ZodCatch})}describe(D){return new this.constructor({...this._def,description:D})}pipe(D){return J3.create(this,D)}readonly(){return K2.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var kJ=/^c[^\s-]{8,}$/i,hJ=/^[0-9a-z]+$/,mJ=/^[0-9A-HJKMNP-TV-Z]{26}$/i,gJ=/^[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,xJ=/^[a-z0-9_-]{21}$/i,lJ=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,dJ=/^[-+]?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)?)??$/,pJ=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,cJ="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",M6,iJ=/^(?:(?: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])$/,nJ=/^(?:(?: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])$/,rJ=/^(([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]))$/,aJ=/^(([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])$/,sJ=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,oJ=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,s4="((\\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])))",tJ=new RegExp(`^${s4}$`);function o4(D){let $="[0-5]\\d";if(D.precision)$=`${$}\\.\\d{${D.precision}}`;else if(D.precision==null)$=`${$}(\\.\\d+)?`;let F=D.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${$})${F}`}function eJ(D){return new RegExp(`^${o4(D)}$`)}function t4(D){let $=`${s4}T${o4(D)}`,F=[];if(F.push(D.local?"Z?":"Z"),D.offset)F.push("([+-]\\d{2}:?\\d{2})");return $=`${$}(${F.join("|")})`,new RegExp(`^${$}$`)}function DY(D,$){if(($==="v4"||!$)&&iJ.test(D))return!0;if(($==="v6"||!$)&&rJ.test(D))return!0;return!1}function $Y(D,$){if(!lJ.test(D))return!1;try{let[F]=D.split(".");if(!F)return!1;let B=F.replace(/-/g,"+").replace(/_/g,"/").padEnd(F.length+(4-F.length%4)%4,"="),q=JSON.parse(atob(B));if(typeof q!=="object"||q===null)return!1;if("typ"in q&&q?.typ!=="JWT")return!1;if(!q.alg)return!1;if($&&q.alg!==$)return!1;return!0}catch{return!1}}function FY(D,$){if(($==="v4"||!$)&&nJ.test(D))return!0;if(($==="v6"||!$)&&aJ.test(D))return!0;return!1}class kD extends m{_parse(D){if(this._def.coerce)D.data=String(D.data);if(this._getType(D)!==j.string){let q=this._getOrReturnCtx(D);return R(q,{code:E.invalid_type,expected:j.string,received:q.parsedType}),T}let F=new HD,B=void 0;for(let q of this._def.checks)if(q.kind==="min"){if(D.data.length<q.value)B=this._getOrReturnCtx(D,B),R(B,{code:E.too_small,minimum:q.value,type:"string",inclusive:!0,exact:!1,message:q.message}),F.dirty()}else if(q.kind==="max"){if(D.data.length>q.value)B=this._getOrReturnCtx(D,B),R(B,{code:E.too_big,maximum:q.value,type:"string",inclusive:!0,exact:!1,message:q.message}),F.dirty()}else if(q.kind==="length"){let Q=D.data.length>q.value,X=D.data.length<q.value;if(Q||X){if(B=this._getOrReturnCtx(D,B),Q)R(B,{code:E.too_big,maximum:q.value,type:"string",inclusive:!0,exact:!0,message:q.message});else if(X)R(B,{code:E.too_small,minimum:q.value,type:"string",inclusive:!0,exact:!0,message:q.message});F.dirty()}}else if(q.kind==="email"){if(!pJ.test(D.data))B=this._getOrReturnCtx(D,B),R(B,{validation:"email",code:E.invalid_string,message:q.message}),F.dirty()}else if(q.kind==="emoji"){if(!M6)M6=new RegExp(cJ,"u");if(!M6.test(D.data))B=this._getOrReturnCtx(D,B),R(B,{validation:"emoji",code:E.invalid_string,message:q.message}),F.dirty()}else if(q.kind==="uuid"){if(!gJ.test(D.data))B=this._getOrReturnCtx(D,B),R(B,{validation:"uuid",code:E.invalid_string,message:q.message}),F.dirty()}else if(q.kind==="nanoid"){if(!xJ.test(D.data))B=this._getOrReturnCtx(D,B),R(B,{validation:"nanoid",code:E.invalid_string,message:q.message}),F.dirty()}else if(q.kind==="cuid"){if(!kJ.test(D.data))B=this._getOrReturnCtx(D,B),R(B,{validation:"cuid",code:E.invalid_string,message:q.message}),F.dirty()}else if(q.kind==="cuid2"){if(!hJ.test(D.data))B=this._getOrReturnCtx(D,B),R(B,{validation:"cuid2",code:E.invalid_string,message:q.message}),F.dirty()}else if(q.kind==="ulid"){if(!mJ.test(D.data))B=this._getOrReturnCtx(D,B),R(B,{validation:"ulid",code:E.invalid_string,message:q.message}),F.dirty()}else if(q.kind==="url")try{new URL(D.data)}catch{B=this._getOrReturnCtx(D,B),R(B,{validation:"url",code:E.invalid_string,message:q.message}),F.dirty()}else if(q.kind==="regex"){if(q.regex.lastIndex=0,!q.regex.test(D.data))B=this._getOrReturnCtx(D,B),R(B,{validation:"regex",code:E.invalid_string,message:q.message}),F.dirty()}else if(q.kind==="trim")D.data=D.data.trim();else if(q.kind==="includes"){if(!D.data.includes(q.value,q.position))B=this._getOrReturnCtx(D,B),R(B,{code:E.invalid_string,validation:{includes:q.value,position:q.position},message:q.message}),F.dirty()}else if(q.kind==="toLowerCase")D.data=D.data.toLowerCase();else if(q.kind==="toUpperCase")D.data=D.data.toUpperCase();else if(q.kind==="startsWith"){if(!D.data.startsWith(q.value))B=this._getOrReturnCtx(D,B),R(B,{code:E.invalid_string,validation:{startsWith:q.value},message:q.message}),F.dirty()}else if(q.kind==="endsWith"){if(!D.data.endsWith(q.value))B=this._getOrReturnCtx(D,B),R(B,{code:E.invalid_string,validation:{endsWith:q.value},message:q.message}),F.dirty()}else if(q.kind==="datetime"){if(!t4(q).test(D.data))B=this._getOrReturnCtx(D,B),R(B,{code:E.invalid_string,validation:"datetime",message:q.message}),F.dirty()}else if(q.kind==="date"){if(!tJ.test(D.data))B=this._getOrReturnCtx(D,B),R(B,{code:E.invalid_string,validation:"date",message:q.message}),F.dirty()}else if(q.kind==="time"){if(!eJ(q).test(D.data))B=this._getOrReturnCtx(D,B),R(B,{code:E.invalid_string,validation:"time",message:q.message}),F.dirty()}else if(q.kind==="duration"){if(!dJ.test(D.data))B=this._getOrReturnCtx(D,B),R(B,{validation:"duration",code:E.invalid_string,message:q.message}),F.dirty()}else if(q.kind==="ip"){if(!DY(D.data,q.version))B=this._getOrReturnCtx(D,B),R(B,{validation:"ip",code:E.invalid_string,message:q.message}),F.dirty()}else if(q.kind==="jwt"){if(!$Y(D.data,q.alg))B=this._getOrReturnCtx(D,B),R(B,{validation:"jwt",code:E.invalid_string,message:q.message}),F.dirty()}else if(q.kind==="cidr"){if(!FY(D.data,q.version))B=this._getOrReturnCtx(D,B),R(B,{validation:"cidr",code:E.invalid_string,message:q.message}),F.dirty()}else if(q.kind==="base64"){if(!sJ.test(D.data))B=this._getOrReturnCtx(D,B),R(B,{validation:"base64",code:E.invalid_string,message:q.message}),F.dirty()}else if(q.kind==="base64url"){if(!oJ.test(D.data))B=this._getOrReturnCtx(D,B),R(B,{validation:"base64url",code:E.invalid_string,message:q.message}),F.dirty()}else x.assertNever(q);return{status:F.value,value:D.data}}_regex(D,$,F){return this.refinement((B)=>D.test(B),{validation:$,code:E.invalid_string,...S.errToObj(F)})}_addCheck(D){return new kD({...this._def,checks:[...this._def.checks,D]})}email(D){return this._addCheck({kind:"email",...S.errToObj(D)})}url(D){return this._addCheck({kind:"url",...S.errToObj(D)})}emoji(D){return this._addCheck({kind:"emoji",...S.errToObj(D)})}uuid(D){return this._addCheck({kind:"uuid",...S.errToObj(D)})}nanoid(D){return this._addCheck({kind:"nanoid",...S.errToObj(D)})}cuid(D){return this._addCheck({kind:"cuid",...S.errToObj(D)})}cuid2(D){return this._addCheck({kind:"cuid2",...S.errToObj(D)})}ulid(D){return this._addCheck({kind:"ulid",...S.errToObj(D)})}base64(D){return this._addCheck({kind:"base64",...S.errToObj(D)})}base64url(D){return this._addCheck({kind:"base64url",...S.errToObj(D)})}jwt(D){return this._addCheck({kind:"jwt",...S.errToObj(D)})}ip(D){return this._addCheck({kind:"ip",...S.errToObj(D)})}cidr(D){return this._addCheck({kind:"cidr",...S.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>"u"?null:D?.precision,offset:D?.offset??!1,local:D?.local??!1,...S.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>"u"?null:D?.precision,...S.errToObj(D?.message)})}duration(D){return this._addCheck({kind:"duration",...S.errToObj(D)})}regex(D,$){return this._addCheck({kind:"regex",regex:D,...S.errToObj($)})}includes(D,$){return this._addCheck({kind:"includes",value:D,position:$?.position,...S.errToObj($?.message)})}startsWith(D,$){return this._addCheck({kind:"startsWith",value:D,...S.errToObj($)})}endsWith(D,$){return this._addCheck({kind:"endsWith",value:D,...S.errToObj($)})}min(D,$){return this._addCheck({kind:"min",value:D,...S.errToObj($)})}max(D,$){return this._addCheck({kind:"max",value:D,...S.errToObj($)})}length(D,$){return this._addCheck({kind:"length",value:D,...S.errToObj($)})}nonempty(D){return this.min(1,S.errToObj(D))}trim(){return new kD({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new kD({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new kD({...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 $ of this._def.checks)if($.kind==="min"){if(D===null||$.value>D)D=$.value}return D}get maxLength(){let D=null;for(let $ of this._def.checks)if($.kind==="max"){if(D===null||$.value<D)D=$.value}return D}}kD.create=(D)=>{return new kD({checks:[],typeName:P.ZodString,coerce:D?.coerce??!1,...k(D)})};function BY(D,$){let F=(D.toString().split(".")[1]||"").length,B=($.toString().split(".")[1]||"").length,q=F>B?F:B,Q=Number.parseInt(D.toFixed(q).replace(".","")),X=Number.parseInt($.toFixed(q).replace(".",""));return Q%X/10**q}class z0 extends m{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)!==j.number){let q=this._getOrReturnCtx(D);return R(q,{code:E.invalid_type,expected:j.number,received:q.parsedType}),T}let F=void 0,B=new HD;for(let q of this._def.checks)if(q.kind==="int"){if(!x.isInteger(D.data))F=this._getOrReturnCtx(D,F),R(F,{code:E.invalid_type,expected:"integer",received:"float",message:q.message}),B.dirty()}else if(q.kind==="min"){if(q.inclusive?D.data<q.value:D.data<=q.value)F=this._getOrReturnCtx(D,F),R(F,{code:E.too_small,minimum:q.value,type:"number",inclusive:q.inclusive,exact:!1,message:q.message}),B.dirty()}else if(q.kind==="max"){if(q.inclusive?D.data>q.value:D.data>=q.value)F=this._getOrReturnCtx(D,F),R(F,{code:E.too_big,maximum:q.value,type:"number",inclusive:q.inclusive,exact:!1,message:q.message}),B.dirty()}else if(q.kind==="multipleOf"){if(BY(D.data,q.value)!==0)F=this._getOrReturnCtx(D,F),R(F,{code:E.not_multiple_of,multipleOf:q.value,message:q.message}),B.dirty()}else if(q.kind==="finite"){if(!Number.isFinite(D.data))F=this._getOrReturnCtx(D,F),R(F,{code:E.not_finite,message:q.message}),B.dirty()}else x.assertNever(q);return{status:B.value,value:D.data}}gte(D,$){return this.setLimit("min",D,!0,S.toString($))}gt(D,$){return this.setLimit("min",D,!1,S.toString($))}lte(D,$){return this.setLimit("max",D,!0,S.toString($))}lt(D,$){return this.setLimit("max",D,!1,S.toString($))}setLimit(D,$,F,B){return new z0({...this._def,checks:[...this._def.checks,{kind:D,value:$,inclusive:F,message:S.toString(B)}]})}_addCheck(D){return new z0({...this._def,checks:[...this._def.checks,D]})}int(D){return this._addCheck({kind:"int",message:S.toString(D)})}positive(D){return this._addCheck({kind:"min",value:0,inclusive:!1,message:S.toString(D)})}negative(D){return this._addCheck({kind:"max",value:0,inclusive:!1,message:S.toString(D)})}nonpositive(D){return this._addCheck({kind:"max",value:0,inclusive:!0,message:S.toString(D)})}nonnegative(D){return this._addCheck({kind:"min",value:0,inclusive:!0,message:S.toString(D)})}multipleOf(D,$){return this._addCheck({kind:"multipleOf",value:D,message:S.toString($)})}finite(D){return this._addCheck({kind:"finite",message:S.toString(D)})}safe(D){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:S.toString(D)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:S.toString(D)})}get minValue(){let D=null;for(let $ of this._def.checks)if($.kind==="min"){if(D===null||$.value>D)D=$.value}return D}get maxValue(){let D=null;for(let $ of this._def.checks)if($.kind==="max"){if(D===null||$.value<D)D=$.value}return D}get isInt(){return!!this._def.checks.find((D)=>D.kind==="int"||D.kind==="multipleOf"&&x.isInteger(D.value))}get isFinite(){let D=null,$=null;for(let F of this._def.checks)if(F.kind==="finite"||F.kind==="int"||F.kind==="multipleOf")return!0;else if(F.kind==="min"){if($===null||F.value>$)$=F.value}else if(F.kind==="max"){if(D===null||F.value<D)D=F.value}return Number.isFinite($)&&Number.isFinite(D)}}z0.create=(D)=>{return new z0({checks:[],typeName:P.ZodNumber,coerce:D?.coerce||!1,...k(D)})};class w0 extends m{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)!==j.bigint)return this._getInvalidInput(D);let F=void 0,B=new HD;for(let q of this._def.checks)if(q.kind==="min"){if(q.inclusive?D.data<q.value:D.data<=q.value)F=this._getOrReturnCtx(D,F),R(F,{code:E.too_small,type:"bigint",minimum:q.value,inclusive:q.inclusive,message:q.message}),B.dirty()}else if(q.kind==="max"){if(q.inclusive?D.data>q.value:D.data>=q.value)F=this._getOrReturnCtx(D,F),R(F,{code:E.too_big,type:"bigint",maximum:q.value,inclusive:q.inclusive,message:q.message}),B.dirty()}else if(q.kind==="multipleOf"){if(D.data%q.value!==BigInt(0))F=this._getOrReturnCtx(D,F),R(F,{code:E.not_multiple_of,multipleOf:q.value,message:q.message}),B.dirty()}else x.assertNever(q);return{status:B.value,value:D.data}}_getInvalidInput(D){let $=this._getOrReturnCtx(D);return R($,{code:E.invalid_type,expected:j.bigint,received:$.parsedType}),T}gte(D,$){return this.setLimit("min",D,!0,S.toString($))}gt(D,$){return this.setLimit("min",D,!1,S.toString($))}lte(D,$){return this.setLimit("max",D,!0,S.toString($))}lt(D,$){return this.setLimit("max",D,!1,S.toString($))}setLimit(D,$,F,B){return new w0({...this._def,checks:[...this._def.checks,{kind:D,value:$,inclusive:F,message:S.toString(B)}]})}_addCheck(D){return new w0({...this._def,checks:[...this._def.checks,D]})}positive(D){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:S.toString(D)})}negative(D){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:S.toString(D)})}nonpositive(D){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:S.toString(D)})}nonnegative(D){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:S.toString(D)})}multipleOf(D,$){return this._addCheck({kind:"multipleOf",value:D,message:S.toString($)})}get minValue(){let D=null;for(let $ of this._def.checks)if($.kind==="min"){if(D===null||$.value>D)D=$.value}return D}get maxValue(){let D=null;for(let $ of this._def.checks)if($.kind==="max"){if(D===null||$.value<D)D=$.value}return D}}w0.create=(D)=>{return new w0({checks:[],typeName:P.ZodBigInt,coerce:D?.coerce??!1,...k(D)})};class G2 extends m{_parse(D){if(this._def.coerce)D.data=Boolean(D.data);if(this._getType(D)!==j.boolean){let F=this._getOrReturnCtx(D);return R(F,{code:E.invalid_type,expected:j.boolean,received:F.parsedType}),T}return CD(D.data)}}G2.create=(D)=>{return new G2({typeName:P.ZodBoolean,coerce:D?.coerce||!1,...k(D)})};class m0 extends m{_parse(D){if(this._def.coerce)D.data=new Date(D.data);if(this._getType(D)!==j.date){let q=this._getOrReturnCtx(D);return R(q,{code:E.invalid_type,expected:j.date,received:q.parsedType}),T}if(Number.isNaN(D.data.getTime())){let q=this._getOrReturnCtx(D);return R(q,{code:E.invalid_date}),T}let F=new HD,B=void 0;for(let q of this._def.checks)if(q.kind==="min"){if(D.data.getTime()<q.value)B=this._getOrReturnCtx(D,B),R(B,{code:E.too_small,message:q.message,inclusive:!0,exact:!1,minimum:q.value,type:"date"}),F.dirty()}else if(q.kind==="max"){if(D.data.getTime()>q.value)B=this._getOrReturnCtx(D,B),R(B,{code:E.too_big,message:q.message,inclusive:!0,exact:!1,maximum:q.value,type:"date"}),F.dirty()}else x.assertNever(q);return{status:F.value,value:new Date(D.data.getTime())}}_addCheck(D){return new m0({...this._def,checks:[...this._def.checks,D]})}min(D,$){return this._addCheck({kind:"min",value:D.getTime(),message:S.toString($)})}max(D,$){return this._addCheck({kind:"max",value:D.getTime(),message:S.toString($)})}get minDate(){let D=null;for(let $ of this._def.checks)if($.kind==="min"){if(D===null||$.value>D)D=$.value}return D!=null?new Date(D):null}get maxDate(){let D=null;for(let $ of this._def.checks)if($.kind==="max"){if(D===null||$.value<D)D=$.value}return D!=null?new Date(D):null}}m0.create=(D)=>{return new m0({checks:[],coerce:D?.coerce||!1,typeName:P.ZodDate,...k(D)})};class F3 extends m{_parse(D){if(this._getType(D)!==j.symbol){let F=this._getOrReturnCtx(D);return R(F,{code:E.invalid_type,expected:j.symbol,received:F.parsedType}),T}return CD(D.data)}}F3.create=(D)=>{return new F3({typeName:P.ZodSymbol,...k(D)})};class C2 extends m{_parse(D){if(this._getType(D)!==j.undefined){let F=this._getOrReturnCtx(D);return R(F,{code:E.invalid_type,expected:j.undefined,received:F.parsedType}),T}return CD(D.data)}}C2.create=(D)=>{return new C2({typeName:P.ZodUndefined,...k(D)})};class V2 extends m{_parse(D){if(this._getType(D)!==j.null){let F=this._getOrReturnCtx(D);return R(F,{code:E.invalid_type,expected:j.null,received:F.parsedType}),T}return CD(D.data)}}V2.create=(D)=>{return new V2({typeName:P.ZodNull,...k(D)})};class g0 extends m{constructor(){super(...arguments);this._any=!0}_parse(D){return CD(D.data)}}g0.create=(D)=>{return new g0({typeName:P.ZodAny,...k(D)})};class u0 extends m{constructor(){super(...arguments);this._unknown=!0}_parse(D){return CD(D.data)}}u0.create=(D)=>{return new u0({typeName:P.ZodUnknown,...k(D)})};class sD extends m{_parse(D){let $=this._getOrReturnCtx(D);return R($,{code:E.invalid_type,expected:j.never,received:$.parsedType}),T}}sD.create=(D)=>{return new sD({typeName:P.ZodNever,...k(D)})};class B3 extends m{_parse(D){if(this._getType(D)!==j.undefined){let F=this._getOrReturnCtx(D);return R(F,{code:E.invalid_type,expected:j.void,received:F.parsedType}),T}return CD(D.data)}}B3.create=(D)=>{return new B3({typeName:P.ZodVoid,...k(D)})};class hD extends m{_parse(D){let{ctx:$,status:F}=this._processInputParams(D),B=this._def;if($.parsedType!==j.array)return R($,{code:E.invalid_type,expected:j.array,received:$.parsedType}),T;if(B.exactLength!==null){let Q=$.data.length>B.exactLength.value,X=$.data.length<B.exactLength.value;if(Q||X)R($,{code:Q?E.too_big:E.too_small,minimum:X?B.exactLength.value:void 0,maximum:Q?B.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:B.exactLength.message}),F.dirty()}if(B.minLength!==null){if($.data.length<B.minLength.value)R($,{code:E.too_small,minimum:B.minLength.value,type:"array",inclusive:!0,exact:!1,message:B.minLength.message}),F.dirty()}if(B.maxLength!==null){if($.data.length>B.maxLength.value)R($,{code:E.too_big,maximum:B.maxLength.value,type:"array",inclusive:!0,exact:!1,message:B.maxLength.message}),F.dirty()}if($.common.async)return Promise.all([...$.data].map((Q,X)=>{return B.type._parseAsync(new gD($,Q,$.path,X))})).then((Q)=>{return HD.mergeArray(F,Q)});let q=[...$.data].map((Q,X)=>{return B.type._parseSync(new gD($,Q,$.path,X))});return HD.mergeArray(F,q)}get element(){return this._def.type}min(D,$){return new hD({...this._def,minLength:{value:D,message:S.toString($)}})}max(D,$){return new hD({...this._def,maxLength:{value:D,message:S.toString($)}})}length(D,$){return new hD({...this._def,exactLength:{value:D,message:S.toString($)}})}nonempty(D){return this.min(1,D)}}hD.create=(D,$)=>{return new hD({type:D,minLength:null,maxLength:null,exactLength:null,typeName:P.ZodArray,...k($)})};function H2(D){if(D instanceof o){let $={};for(let F in D.shape){let B=D.shape[F];$[F]=mD.create(H2(B))}return new o({...D._def,shape:()=>$})}else if(D instanceof hD)return new hD({...D._def,type:H2(D.element)});else if(D instanceof mD)return mD.create(H2(D.unwrap()));else if(D instanceof H0)return H0.create(H2(D.unwrap()));else if(D instanceof oD)return oD.create(D.items.map(($)=>H2($)));else return D}class o extends m{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(),$=x.objectKeys(D);return this._cached={shape:D,keys:$},this._cached}_parse(D){if(this._getType(D)!==j.object){let Y=this._getOrReturnCtx(D);return R(Y,{code:E.invalid_type,expected:j.object,received:Y.parsedType}),T}let{status:F,ctx:B}=this._processInputParams(D),{shape:q,keys:Q}=this._getCached(),X=[];if(!(this._def.catchall instanceof sD&&this._def.unknownKeys==="strip")){for(let Y in B.data)if(!Q.includes(Y))X.push(Y)}let J=[];for(let Y of Q){let H=q[Y],_=B.data[Y];J.push({key:{status:"valid",value:Y},value:H._parse(new gD(B,_,B.path,Y)),alwaysSet:Y in B.data})}if(this._def.catchall instanceof sD){let Y=this._def.unknownKeys;if(Y==="passthrough")for(let H of X)J.push({key:{status:"valid",value:H},value:{status:"valid",value:B.data[H]}});else if(Y==="strict"){if(X.length>0)R(B,{code:E.unrecognized_keys,keys:X}),F.dirty()}else if(Y==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let Y=this._def.catchall;for(let H of X){let _=B.data[H];J.push({key:{status:"valid",value:H},value:Y._parse(new gD(B,_,B.path,H)),alwaysSet:H in B.data})}}if(B.common.async)return Promise.resolve().then(async()=>{let Y=[];for(let H of J){let _=await H.key,G=await H.value;Y.push({key:_,value:G,alwaysSet:H.alwaysSet})}return Y}).then((Y)=>{return HD.mergeObjectSync(F,Y)});else return HD.mergeObjectSync(F,J)}get shape(){return this._def.shape()}strict(D){return S.errToObj,new o({...this._def,unknownKeys:"strict",...D!==void 0?{errorMap:($,F)=>{let B=this._def.errorMap?.($,F).message??F.defaultError;if($.code==="unrecognized_keys")return{message:S.errToObj(D).message??B};return{message:B}}}:{}})}strip(){return new o({...this._def,unknownKeys:"strip"})}passthrough(){return new o({...this._def,unknownKeys:"passthrough"})}extend(D){return new o({...this._def,shape:()=>({...this._def.shape(),...D})})}merge(D){return new o({unknownKeys:D._def.unknownKeys,catchall:D._def.catchall,shape:()=>({...this._def.shape(),...D._def.shape()}),typeName:P.ZodObject})}setKey(D,$){return this.augment({[D]:$})}catchall(D){return new o({...this._def,catchall:D})}pick(D){let $={};for(let F of x.objectKeys(D))if(D[F]&&this.shape[F])$[F]=this.shape[F];return new o({...this._def,shape:()=>$})}omit(D){let $={};for(let F of x.objectKeys(this.shape))if(!D[F])$[F]=this.shape[F];return new o({...this._def,shape:()=>$})}deepPartial(){return H2(this)}partial(D){let $={};for(let F of x.objectKeys(this.shape)){let B=this.shape[F];if(D&&!D[F])$[F]=B;else $[F]=B.optional()}return new o({...this._def,shape:()=>$})}required(D){let $={};for(let F of x.objectKeys(this.shape))if(D&&!D[F])$[F]=this.shape[F];else{let q=this.shape[F];while(q instanceof mD)q=q._def.innerType;$[F]=q}return new o({...this._def,shape:()=>$})}keyof(){return e4(x.objectKeys(this.shape))}}o.create=(D,$)=>{return new o({shape:()=>D,unknownKeys:"strip",catchall:sD.create(),typeName:P.ZodObject,...k($)})};o.strictCreate=(D,$)=>{return new o({shape:()=>D,unknownKeys:"strict",catchall:sD.create(),typeName:P.ZodObject,...k($)})};o.lazycreate=(D,$)=>{return new o({shape:D,unknownKeys:"strip",catchall:sD.create(),typeName:P.ZodObject,...k($)})};class W2 extends m{_parse(D){let{ctx:$}=this._processInputParams(D),F=this._def.options;function B(q){for(let X of q)if(X.result.status==="valid")return X.result;for(let X of q)if(X.result.status==="dirty")return $.common.issues.push(...X.ctx.common.issues),X.result;let Q=q.map((X)=>new uD(X.ctx.common.issues));return R($,{code:E.invalid_union,unionErrors:Q}),T}if($.common.async)return Promise.all(F.map(async(q)=>{let Q={...$,common:{...$.common,issues:[]},parent:null};return{result:await q._parseAsync({data:$.data,path:$.path,parent:Q}),ctx:Q}})).then(B);else{let q=void 0,Q=[];for(let J of F){let Y={...$,common:{...$.common,issues:[]},parent:null},H=J._parseSync({data:$.data,path:$.path,parent:Y});if(H.status==="valid")return H;else if(H.status==="dirty"&&!q)q={result:H,ctx:Y};if(Y.common.issues.length)Q.push(Y.common.issues)}if(q)return $.common.issues.push(...q.ctx.common.issues),q.result;let X=Q.map((J)=>new uD(J));return R($,{code:E.invalid_union,unionErrors:X}),T}}get options(){return this._def.options}}W2.create=(D,$)=>{return new W2({options:D,typeName:P.ZodUnion,...k($)})};var Y0=(D)=>{if(D instanceof U2)return Y0(D.schema);else if(D instanceof xD)return Y0(D.innerType());else if(D instanceof u2)return[D.value];else if(D instanceof M0)return D.options;else if(D instanceof z2)return x.objectValues(D.enum);else if(D instanceof w2)return Y0(D._def.innerType);else if(D instanceof C2)return[void 0];else if(D instanceof V2)return[null];else if(D instanceof mD)return[void 0,...Y0(D.unwrap())];else if(D instanceof H0)return[null,...Y0(D.unwrap())];else if(D instanceof j8)return Y0(D.unwrap());else if(D instanceof K2)return Y0(D.unwrap());else if(D instanceof M2)return Y0(D._def.innerType);else return[]};class O8 extends m{_parse(D){let{ctx:$}=this._processInputParams(D);if($.parsedType!==j.object)return R($,{code:E.invalid_type,expected:j.object,received:$.parsedType}),T;let F=this.discriminator,B=$.data[F],q=this.optionsMap.get(B);if(!q)return R($,{code:E.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[F]}),T;if($.common.async)return q._parseAsync({data:$.data,path:$.path,parent:$});else return q._parseSync({data:$.data,path:$.path,parent:$})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(D,$,F){let B=new Map;for(let q of $){let Q=Y0(q.shape[D]);if(!Q.length)throw Error(`A discriminator value for key \`${D}\` could not be extracted from all schema options`);for(let X of Q){if(B.has(X))throw Error(`Discriminator property ${String(D)} has duplicate value ${String(X)}`);B.set(X,q)}}return new O8({typeName:P.ZodDiscriminatedUnion,discriminator:D,options:$,optionsMap:B,...k(F)})}}function K6(D,$){let F=aD(D),B=aD($);if(D===$)return{valid:!0,data:D};else if(F===j.object&&B===j.object){let q=x.objectKeys($),Q=x.objectKeys(D).filter((J)=>q.indexOf(J)!==-1),X={...D,...$};for(let J of Q){let Y=K6(D[J],$[J]);if(!Y.valid)return{valid:!1};X[J]=Y.data}return{valid:!0,data:X}}else if(F===j.array&&B===j.array){if(D.length!==$.length)return{valid:!1};let q=[];for(let Q=0;Q<D.length;Q++){let X=D[Q],J=$[Q],Y=K6(X,J);if(!Y.valid)return{valid:!1};q.push(Y.data)}return{valid:!0,data:q}}else if(F===j.date&&B===j.date&&+D===+$)return{valid:!0,data:D};else return{valid:!1}}class A2 extends m{_parse(D){let{status:$,ctx:F}=this._processInputParams(D),B=(q,Q)=>{if(K8(q)||K8(Q))return T;let X=K6(q.value,Q.value);if(!X.valid)return R(F,{code:E.invalid_intersection_types}),T;if(E8(q)||E8(Q))$.dirty();return{status:$.value,value:X.data}};if(F.common.async)return Promise.all([this._def.left._parseAsync({data:F.data,path:F.path,parent:F}),this._def.right._parseAsync({data:F.data,path:F.path,parent:F})]).then(([q,Q])=>B(q,Q));else return B(this._def.left._parseSync({data:F.data,path:F.path,parent:F}),this._def.right._parseSync({data:F.data,path:F.path,parent:F}))}}A2.create=(D,$,F)=>{return new A2({left:D,right:$,typeName:P.ZodIntersection,...k(F)})};class oD extends m{_parse(D){let{status:$,ctx:F}=this._processInputParams(D);if(F.parsedType!==j.array)return R(F,{code:E.invalid_type,expected:j.array,received:F.parsedType}),T;if(F.data.length<this._def.items.length)return R(F,{code:E.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),T;if(!this._def.rest&&F.data.length>this._def.items.length)R(F,{code:E.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),$.dirty();let q=[...F.data].map((Q,X)=>{let J=this._def.items[X]||this._def.rest;if(!J)return null;return J._parse(new gD(F,Q,F.path,X))}).filter((Q)=>!!Q);if(F.common.async)return Promise.all(q).then((Q)=>{return HD.mergeArray($,Q)});else return HD.mergeArray($,q)}get items(){return this._def.items}rest(D){return new oD({...this._def,rest:D})}}oD.create=(D,$)=>{if(!Array.isArray(D))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new oD({items:D,typeName:P.ZodTuple,rest:null,...k($)})};class q3 extends m{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(D){let{status:$,ctx:F}=this._processInputParams(D);if(F.parsedType!==j.object)return R(F,{code:E.invalid_type,expected:j.object,received:F.parsedType}),T;let B=[],q=this._def.keyType,Q=this._def.valueType;for(let X in F.data)B.push({key:q._parse(new gD(F,X,F.path,X)),value:Q._parse(new gD(F,F.data[X],F.path,X)),alwaysSet:X in F.data});if(F.common.async)return HD.mergeObjectAsync($,B);else return HD.mergeObjectSync($,B)}get element(){return this._def.valueType}static create(D,$,F){if($ instanceof m)return new q3({keyType:D,valueType:$,typeName:P.ZodRecord,...k(F)});return new q3({keyType:kD.create(),valueType:D,typeName:P.ZodRecord,...k($)})}}class X3 extends m{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(D){let{status:$,ctx:F}=this._processInputParams(D);if(F.parsedType!==j.map)return R(F,{code:E.invalid_type,expected:j.map,received:F.parsedType}),T;let B=this._def.keyType,q=this._def.valueType,Q=[...F.data.entries()].map(([X,J],Y)=>{return{key:B._parse(new gD(F,X,F.path,[Y,"key"])),value:q._parse(new gD(F,J,F.path,[Y,"value"]))}});if(F.common.async){let X=new Map;return Promise.resolve().then(async()=>{for(let J of Q){let Y=await J.key,H=await J.value;if(Y.status==="aborted"||H.status==="aborted")return T;if(Y.status==="dirty"||H.status==="dirty")$.dirty();X.set(Y.value,H.value)}return{status:$.value,value:X}})}else{let X=new Map;for(let J of Q){let{key:Y,value:H}=J;if(Y.status==="aborted"||H.status==="aborted")return T;if(Y.status==="dirty"||H.status==="dirty")$.dirty();X.set(Y.value,H.value)}return{status:$.value,value:X}}}}X3.create=(D,$,F)=>{return new X3({valueType:$,keyType:D,typeName:P.ZodMap,...k(F)})};class x0 extends m{_parse(D){let{status:$,ctx:F}=this._processInputParams(D);if(F.parsedType!==j.set)return R(F,{code:E.invalid_type,expected:j.set,received:F.parsedType}),T;let B=this._def;if(B.minSize!==null){if(F.data.size<B.minSize.value)R(F,{code:E.too_small,minimum:B.minSize.value,type:"set",inclusive:!0,exact:!1,message:B.minSize.message}),$.dirty()}if(B.maxSize!==null){if(F.data.size>B.maxSize.value)R(F,{code:E.too_big,maximum:B.maxSize.value,type:"set",inclusive:!0,exact:!1,message:B.maxSize.message}),$.dirty()}let q=this._def.valueType;function Q(J){let Y=new Set;for(let H of J){if(H.status==="aborted")return T;if(H.status==="dirty")$.dirty();Y.add(H.value)}return{status:$.value,value:Y}}let X=[...F.data.values()].map((J,Y)=>q._parse(new gD(F,J,F.path,Y)));if(F.common.async)return Promise.all(X).then((J)=>Q(J));else return Q(X)}min(D,$){return new x0({...this._def,minSize:{value:D,message:S.toString($)}})}max(D,$){return new x0({...this._def,maxSize:{value:D,message:S.toString($)}})}size(D,$){return this.min(D,$).max(D,$)}nonempty(D){return this.min(1,D)}}x0.create=(D,$)=>{return new x0({valueType:D,minSize:null,maxSize:null,typeName:P.ZodSet,...k($)})};class _2 extends m{constructor(){super(...arguments);this.validate=this.implement}_parse(D){let{ctx:$}=this._processInputParams(D);if($.parsedType!==j.function)return R($,{code:E.invalid_type,expected:j.function,received:$.parsedType}),T;function F(X,J){return $3({data:X,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,J2(),J0].filter((Y)=>!!Y),issueData:{code:E.invalid_arguments,argumentsError:J}})}function B(X,J){return $3({data:X,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,J2(),J0].filter((Y)=>!!Y),issueData:{code:E.invalid_return_type,returnTypeError:J}})}let q={errorMap:$.common.contextualErrorMap},Q=$.data;if(this._def.returns instanceof l0){let X=this;return CD(async function(...J){let Y=new uD([]),H=await X._def.args.parseAsync(J,q).catch((C)=>{throw Y.addIssue(F(J,C)),Y}),_=await Reflect.apply(Q,this,H);return await X._def.returns._def.type.parseAsync(_,q).catch((C)=>{throw Y.addIssue(B(_,C)),Y})})}else{let X=this;return CD(function(...J){let Y=X._def.args.safeParse(J,q);if(!Y.success)throw new uD([F(J,Y.error)]);let H=Reflect.apply(Q,this,Y.data),_=X._def.returns.safeParse(H,q);if(!_.success)throw new uD([B(H,_.error)]);return _.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...D){return new _2({...this._def,args:oD.create(D).rest(u0.create())})}returns(D){return new _2({...this._def,returns:D})}implement(D){return this.parse(D)}strictImplement(D){return this.parse(D)}static create(D,$,F){return new _2({args:D?D:oD.create([]).rest(u0.create()),returns:$||u0.create(),typeName:P.ZodFunction,...k(F)})}}class U2 extends m{get schema(){return this._def.getter()}_parse(D){let{ctx:$}=this._processInputParams(D);return this._def.getter()._parse({data:$.data,path:$.path,parent:$})}}U2.create=(D,$)=>{return new U2({getter:D,typeName:P.ZodLazy,...k($)})};class u2 extends m{_parse(D){if(D.data!==this._def.value){let $=this._getOrReturnCtx(D);return R($,{received:$.data,code:E.invalid_literal,expected:this._def.value}),T}return{status:"valid",value:D.data}}get value(){return this._def.value}}u2.create=(D,$)=>{return new u2({value:D,typeName:P.ZodLiteral,...k($)})};function e4(D,$){return new M0({values:D,typeName:P.ZodEnum,...k($)})}class M0 extends m{_parse(D){if(typeof D.data!=="string"){let $=this._getOrReturnCtx(D),F=this._def.values;return R($,{expected:x.joinValues(F),received:$.parsedType,code:E.invalid_type}),T}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has(D.data)){let $=this._getOrReturnCtx(D),F=this._def.values;return R($,{received:$.data,code:E.invalid_enum_value,options:F}),T}return CD(D.data)}get options(){return this._def.values}get enum(){let D={};for(let $ of this._def.values)D[$]=$;return D}get Values(){let D={};for(let $ of this._def.values)D[$]=$;return D}get Enum(){let D={};for(let $ of this._def.values)D[$]=$;return D}extract(D,$=this._def){return M0.create(D,{...this._def,...$})}exclude(D,$=this._def){return M0.create(this.options.filter((F)=>!D.includes(F)),{...this._def,...$})}}M0.create=e4;class z2 extends m{_parse(D){let $=x.getValidEnumValues(this._def.values),F=this._getOrReturnCtx(D);if(F.parsedType!==j.string&&F.parsedType!==j.number){let B=x.objectValues($);return R(F,{expected:x.joinValues(B),received:F.parsedType,code:E.invalid_type}),T}if(!this._cache)this._cache=new Set(x.getValidEnumValues(this._def.values));if(!this._cache.has(D.data)){let B=x.objectValues($);return R(F,{received:F.data,code:E.invalid_enum_value,options:B}),T}return CD(D.data)}get enum(){return this._def.values}}z2.create=(D,$)=>{return new z2({values:D,typeName:P.ZodNativeEnum,...k($)})};class l0 extends m{unwrap(){return this._def.type}_parse(D){let{ctx:$}=this._processInputParams(D);if($.parsedType!==j.promise&&$.common.async===!1)return R($,{code:E.invalid_type,expected:j.promise,received:$.parsedType}),T;let F=$.parsedType===j.promise?$.data:Promise.resolve($.data);return CD(F.then((B)=>{return this._def.type.parseAsync(B,{path:$.path,errorMap:$.common.contextualErrorMap})}))}}l0.create=(D,$)=>{return new l0({type:D,typeName:P.ZodPromise,...k($)})};class xD extends m{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===P.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(D){let{status:$,ctx:F}=this._processInputParams(D),B=this._def.effect||null,q={addIssue:(Q)=>{if(R(F,Q),Q.fatal)$.abort();else $.dirty()},get path(){return F.path}};if(q.addIssue=q.addIssue.bind(q),B.type==="preprocess"){let Q=B.transform(F.data,q);if(F.common.async)return Promise.resolve(Q).then(async(X)=>{if($.value==="aborted")return T;let J=await this._def.schema._parseAsync({data:X,path:F.path,parent:F});if(J.status==="aborted")return T;if(J.status==="dirty")return h0(J.value);if($.value==="dirty")return h0(J.value);return J});else{if($.value==="aborted")return T;let X=this._def.schema._parseSync({data:Q,path:F.path,parent:F});if(X.status==="aborted")return T;if(X.status==="dirty")return h0(X.value);if($.value==="dirty")return h0(X.value);return X}}if(B.type==="refinement"){let Q=(X)=>{let J=B.refinement(X,q);if(F.common.async)return Promise.resolve(J);if(J instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return X};if(F.common.async===!1){let X=this._def.schema._parseSync({data:F.data,path:F.path,parent:F});if(X.status==="aborted")return T;if(X.status==="dirty")$.dirty();return Q(X.value),{status:$.value,value:X.value}}else return this._def.schema._parseAsync({data:F.data,path:F.path,parent:F}).then((X)=>{if(X.status==="aborted")return T;if(X.status==="dirty")$.dirty();return Q(X.value).then(()=>{return{status:$.value,value:X.value}})})}if(B.type==="transform")if(F.common.async===!1){let Q=this._def.schema._parseSync({data:F.data,path:F.path,parent:F});if(!U0(Q))return T;let X=B.transform(Q.value,q);if(X instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:$.value,value:X}}else return this._def.schema._parseAsync({data:F.data,path:F.path,parent:F}).then((Q)=>{if(!U0(Q))return T;return Promise.resolve(B.transform(Q.value,q)).then((X)=>({status:$.value,value:X}))});x.assertNever(B)}}xD.create=(D,$,F)=>{return new xD({schema:D,typeName:P.ZodEffects,effect:$,...k(F)})};xD.createWithPreprocess=(D,$,F)=>{return new xD({schema:$,effect:{type:"preprocess",transform:D},typeName:P.ZodEffects,...k(F)})};class mD extends m{_parse(D){if(this._getType(D)===j.undefined)return CD(void 0);return this._def.innerType._parse(D)}unwrap(){return this._def.innerType}}mD.create=(D,$)=>{return new mD({innerType:D,typeName:P.ZodOptional,...k($)})};class H0 extends m{_parse(D){if(this._getType(D)===j.null)return CD(null);return this._def.innerType._parse(D)}unwrap(){return this._def.innerType}}H0.create=(D,$)=>{return new H0({innerType:D,typeName:P.ZodNullable,...k($)})};class w2 extends m{_parse(D){let{ctx:$}=this._processInputParams(D),F=$.data;if($.parsedType===j.undefined)F=this._def.defaultValue();return this._def.innerType._parse({data:F,path:$.path,parent:$})}removeDefault(){return this._def.innerType}}w2.create=(D,$)=>{return new w2({innerType:D,typeName:P.ZodDefault,defaultValue:typeof $.default==="function"?$.default:()=>$.default,...k($)})};class M2 extends m{_parse(D){let{ctx:$}=this._processInputParams(D),F={...$,common:{...$.common,issues:[]}},B=this._def.innerType._parse({data:F.data,path:F.path,parent:{...F}});if(Y2(B))return B.then((q)=>{return{status:"valid",value:q.status==="valid"?q.value:this._def.catchValue({get error(){return new uD(F.common.issues)},input:F.data})}});else return{status:"valid",value:B.status==="valid"?B.value:this._def.catchValue({get error(){return new uD(F.common.issues)},input:F.data})}}removeCatch(){return this._def.innerType}}M2.create=(D,$)=>{return new M2({innerType:D,typeName:P.ZodCatch,catchValue:typeof $.catch==="function"?$.catch:()=>$.catch,...k($)})};class Q3 extends m{_parse(D){if(this._getType(D)!==j.nan){let F=this._getOrReturnCtx(D);return R(F,{code:E.invalid_type,expected:j.nan,received:F.parsedType}),T}return{status:"valid",value:D.data}}}Q3.create=(D)=>{return new Q3({typeName:P.ZodNaN,...k(D)})};var qY=Symbol("zod_brand");class j8 extends m{_parse(D){let{ctx:$}=this._processInputParams(D),F=$.data;return this._def.type._parse({data:F,path:$.path,parent:$})}unwrap(){return this._def.type}}class J3 extends m{_parse(D){let{status:$,ctx:F}=this._processInputParams(D);if(F.common.async)return(async()=>{let q=await this._def.in._parseAsync({data:F.data,path:F.path,parent:F});if(q.status==="aborted")return T;if(q.status==="dirty")return $.dirty(),h0(q.value);else return this._def.out._parseAsync({data:q.value,path:F.path,parent:F})})();else{let B=this._def.in._parseSync({data:F.data,path:F.path,parent:F});if(B.status==="aborted")return T;if(B.status==="dirty")return $.dirty(),{status:"dirty",value:B.value};else return this._def.out._parseSync({data:B.value,path:F.path,parent:F})}}static create(D,$){return new J3({in:D,out:$,typeName:P.ZodPipeline})}}class K2 extends m{_parse(D){let $=this._def.innerType._parse(D),F=(B)=>{if(U0(B))B.value=Object.freeze(B.value);return B};return Y2($)?$.then((B)=>F(B)):F($)}unwrap(){return this._def.innerType}}K2.create=(D,$)=>{return new K2({innerType:D,typeName:P.ZodReadonly,...k($)})};function a4(D,$){let F=typeof D==="function"?D($):typeof D==="string"?{message:D}:D;return typeof F==="string"?{message:F}:F}function D5(D,$={},F){if(D)return g0.create().superRefine((B,q)=>{let Q=D(B);if(Q instanceof Promise)return Q.then((X)=>{if(!X){let J=a4($,B),Y=J.fatal??F??!0;q.addIssue({code:"custom",...J,fatal:Y})}});if(!Q){let X=a4($,B),J=X.fatal??F??!0;q.addIssue({code:"custom",...X,fatal:J})}return});return g0.create()}var XY={object:o.lazycreate},P;(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"})(P||(P={}));var QY=(D,$={message:`Input not instance of ${D.name}`})=>D5((F)=>F instanceof D,$),$5=kD.create,F5=z0.create,JY=Q3.create,YY=w0.create,B5=G2.create,HY=m0.create,_Y=F3.create,GY=C2.create,CY=V2.create,VY=g0.create,WY=u0.create,AY=sD.create,UY=B3.create,uY=hD.create,zY=o.create,wY=o.strictCreate,MY=W2.create,KY=O8.create,EY=A2.create,OY=oD.create,jY=q3.create,RY=X3.create,NY=x0.create,LY=_2.create,ZY=U2.create,IY=u2.create,bY=M0.create,SY=z2.create,TY=l0.create,PY=xD.create,vY=mD.create,fY=H0.create,yY=xD.createWithPreprocess,kY=J3.create,hY=()=>$5().optional(),mY=()=>F5().optional(),gY=()=>B5().optional(),xY={string:(D)=>kD.create({...D,coerce:!0}),number:(D)=>z0.create({...D,coerce:!0}),boolean:(D)=>G2.create({...D,coerce:!0}),bigint:(D)=>w0.create({...D,coerce:!0}),date:(D)=>m0.create({...D,coerce:!0})};var lY=T;import{join as O6}from"path";import{homedir as dY}from"os";import{readFile as X5,writeFile as pY,mkdir as cY,access as iY}from"node:fs/promises";var nY=g.object({name:g.string(),enabled:g.boolean().optional(),model:g.string().optional(),temperature:g.number().min(0).max(2).optional(),maxTokens:g.number().positive().optional(),timeout:g.number().positive().optional()}),j6=g.object({excludePatterns:g.array(g.string()).default(["*.min.js","*.min.css","*.map","*.d.ts","dist/**","build/**","out/**",".next/**","coverage/**","node_modules/**","vendor/**","*.generated.*","*.bundle.js"]),concurrency:g.number().min(1).max(10).default(3),output:g.object({colorize:g.boolean().default(!0),verbose:g.boolean().default(!1),format:g.enum(["terminal","markdown","json"]).default("terminal")}).default({}),executors:g.array(nY).default([]),stages:g.array(g.object({id:g.string(),enabled:g.boolean(),order:g.number().optional()})).default([])}),R6=O6(dY(),".diffray"),Y3=O6(R6,"config.json"),q5=O6(R6,"instructions.md");function E6(){return j6.parse({})}async function N6(D){try{return await iY(D),!0}catch($){if($ instanceof Error&&"code"in $&&$.code==="ENOENT")return!1;throw $}}async function OD(){return Q0(KD.CONFIG,async()=>{try{if(!await N6(Y3)){let B=E6();return await H3(B),B}let $=await X5(Y3,"utf-8"),F=JSON.parse($);return j6.parse(F)}catch(D){return console.warn(`Warning: Failed to load config, using defaults. Error: ${D}`),E6()}})}async function H3(D){try{await cY(R6,{recursive:!0}),await pY(Y3,JSON.stringify(D,null,2)),v4(KD.CONFIG,D)}catch($){throw Error(`Failed to save config: ${$}`)}}async function R8(D){let $=await OD(),F={...$,excludePatterns:D.excludePatterns!==void 0?D.excludePatterns:$.excludePatterns,output:D.output?{...$.output,...D.output}:$.output,executors:D.executors!==void 0?D.executors:$.executors,stages:D.stages!==void 0?D.stages:$.stages},B=j6.parse(F);return await H3(B),B}function d0(){return Y3}async function N8(){let D=E6();return await H3(D),D}async function L6(){return N6(Y3)}function Q5(){t2(KD.CONFIG),t2(KD.INSTRUCTIONS)}async function J5(){return Q0(KD.INSTRUCTIONS,async()=>{try{if(!await N6(q5))return"";return await X5(q5,"utf-8")}catch{return""}})}s();x2();S1();s();function TB(D,$){let F=D.name;if(typeof F!=="string")return null;let B=$.trim();if(!B)return null;let q=D.executorSettings&&typeof D.executorSettings==="object"&&!Array.isArray(D.executorSettings)?D.executorSettings:void 0,Q=D.stage==="validation"?"validation":"review";return{name:F,description:typeof D.description==="string"?D.description:"",systemPrompt:B,enabled:typeof D.enabled==="boolean"?D.enabled:!0,order:typeof D.order==="number"?D.order:0,executor:typeof D.executor==="string"?D.executor:"test-cli",stage:Q,...q&&{executorSettings:q}}}async function PB(D){try{return await m2(D,TB)}catch($){return V.error(`Error loading agent markdown from ${D}:`,$),[]}}async function vB(D){let{glob:$}=await Promise.resolve().then(() => (F9(),_$)),{join:F}=await import("node:path");try{let B=await $("*.md",{cwd:D}),q=[],Q=[],X=await Promise.all(B.map(async(J)=>{let Y=F(D,J);try{return{agents:(await m2(Y,TB)).map((_)=>({..._,path:Y})),failed:null}}catch(H){return V.error(`Error loading agent from ${J}:`,H),{agents:[],failed:J}}}));if(q.push(...X.flatMap((J)=>J.agents)),Q.push(...X.map((J)=>J.failed).filter((J)=>J!==null)),Q.length>0)V.warn(`Loaded ${q.length}/${B.length} agents, ${Q.length} failed: ${Q.join(", ")}`);return q}catch(B){if(B.code==="ENOENT")return[];throw B}}S1();async function B2(D){let $=D||process.cwd();return jB("agents",vB,$)}s();function fB(){return{id:"load-rules",name:"Load Rules",description:"Load matching rules and agents",enabled:!0,order:0,execute:async(D)=>{let $=Date.now(),[F,B]=await Promise.all([P0(),B2()]);if(D.ruleRefs=F,D.agents=B,!D.quiet)V.sync(`Loaded ${F.length} rule(s), ${B.length} agent(s)`);return{stageId:"load-rules",stageName:"Load Rules",success:!0,duration:Date.now()-$}}}}x2();s();function yB(){return{id:"match-rules",name:"Match Rules",description:"Match rules to files",enabled:!0,order:1,execute:async(D)=>{let $=Date.now(),F=D.ruleRefs??[],B=D.agents??[],q=await u7(F,D.diffs,B);if(D.matchedRules=q,!D.quiet){V.sync(`Matched ${q.length} rule(s)`);for(let Q of q)V.plain(` ${Q.rule.name}: ${Q.files.length} file(s) → ${Q.agent.name}`)}return{stageId:"match-rules",stageName:"Match Rules",success:!0,duration:Date.now()-$}}}}class w7{items=new Map;register(D){this.items.set(D.name,D)}get(D){return this.items.get(D)}list(){return Array.from(this.items.values())}remove(D){this.items.delete(D)}clear(){this.items.clear()}count(){return this.items.size}}class kB extends w7{listEnabled(){return this.list().filter((D)=>D.enabled)}enable(D){let $=this.get(D);if($)$.enabled=!0}disable(D){let $=this.get(D);if($)$.enabled=!1}setExecutor(D,$){let F=this.get(D);if(F)F.executor=$}countEnabled(){return this.list().filter((D)=>D.enabled).length}}var l2=new kB;s();s();import{readFile as hw}from"node:fs/promises";import{join as mw,dirname as gw}from"path";import{fileURLToPath as xw}from"url";var lw=3,hB=1000;async function mB(D){return new Promise(($)=>setTimeout($,D))}async function gB(D,$,F=lw){let B;for(let q=0;q<F;q++)try{let Q=await fetch(D,$);if(Q.ok||Q.status>=400&&Q.status<500&&Q.status!==429)return Q;if(B=Error(`HTTP ${Q.status}`),q<F-1){let X=hB*Math.pow(2,q);if(process.env.DEBUG)V.plain(`⏳ Retry ${q+1}/${F-1} after ${X}ms (${Q.status})`);await mB(X)}}catch(Q){if(B=Q instanceof Error?Q:Error(String(Q)),q<F-1){let X=hB*Math.pow(2,q);if(process.env.DEBUG)V.plain(`⏳ Retry ${q+1}/${F-1} after ${X}ms (${B.message})`);await mB(X)}}throw B||Error("Max retries exceeded")}var dw=`# Output Format
243
-
244
- Return your findings as a **JSON array** wrapped in \`<json>...</json>\` XML tags:
245
-
246
- <json>
247
- [
248
- {
249
- "file": "path/to/file.ts",
250
- "lineStart": 10,
251
- "lineEnd": 15,
252
- "severity": "critical|high|medium|low",
253
- "category": "security|performance|bug|quality|style|docs",
254
- "shortDescription": "Brief one-line description",
255
- "fullDescription": "Detailed description of the issue",
256
- "suggestion": "How to fix this issue (optional)"
257
- }
258
- ]
259
- </json>
260
-
261
- Return empty array if no issues found: \`<json>[]</json>\`
262
- `;async function T1(){return Q0(KD.OUTPUT_FORMAT,async()=>{try{let D=xw(import.meta.url),$=gw(D),F=mw($,"..","defaults","prompts","output-format.md");return await hw(F,"utf-8")}catch{return dw}})}function P1(D,$,F){return`${D}
263
-
264
- # Input:
265
- ${$}
266
-
267
- ${F}`}function v1(D,$){return`${D}
268
-
269
- ${$}`}function F0(D,$,F,B,q,Q){return{agent:D.agent.name,executor:D.executor.name,success:$,output:F,error:B,duration:q,prompt:Q}}var xB=g.object({model:g.string().optional(),temperature:g.number().min(0).max(2).optional(),maxTokens:g.number().positive().optional()});function pw(D,$){return{name:D.name,description:D.description,type:"llm-api",enabled:Boolean(D.apiKey),async execute(F){let B=Date.now();try{let q=await T1(),Q=v1(F.input,q);if(F.verbose)V.plain(`\uD83D\uDD27 API: ${D.name} (model: ${D.model})`);let X=await $(F.systemPrompt,Q,D);if(F.verbose)V.plain(`\uD83D\uDCE5 API raw response (${X.length} chars):`),V.plain(` ${X.slice(0,500)}${X.length>500?"...":""}`);return F0(F,!0,X,void 0,Date.now()-B,Q)}catch(q){return F0(F,!1,"",q instanceof Error?q.message:String(q),Date.now()-B)}},getInfo:()=>({name:D.name,description:D.description,type:"llm-api",provider:"custom",model:D.model,apiKey:D.apiKey,baseUrl:D.baseUrl,temperature:D.temperature,maxTokens:D.maxTokens,enabled:Boolean(D.apiKey)}),settingsSchema:xB,applySettings:(F)=>{let B=xB.safeParse(F),q=B.success?B.data:{};return{name:D.name,description:D.description,type:"llm-api",provider:"custom",model:q.model??D.model,apiKey:D.apiKey,baseUrl:D.baseUrl,temperature:q.temperature??D.temperature,maxTokens:q.maxTokens??D.maxTokens,enabled:Boolean(D.apiKey)}}}}var f1={model:"llama-3.3-70b",temperature:0.7,maxTokens:8192,baseUrl:"https://api.cerebras.ai/v1"};async function cw(D,$,F){if(!F.apiKey)throw Error("CEREBRAS_API_KEY not set");let B=await gB(`${F.baseUrl}/chat/completions`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${F.apiKey}`},body:JSON.stringify({model:F.model,messages:[{role:"system",content:D},{role:"user",content:$}],temperature:F.temperature||0.7,max_tokens:F.maxTokens||8192})});if(!B.ok){let Q=await B.text();throw Error(`Cerebras API: ${B.status} - ${Q}`)}return(await B.json()).choices?.[0]?.message?.content||""}var lB=pw({name:"cerebras-api",description:"Execute via Cerebras AI API",model:f1.model,apiKey:process.env.CEREBRAS_API_KEY,baseUrl:f1.baseUrl,temperature:f1.temperature,maxTokens:f1.maxTokens},cw);s();import{spawn as BM}from"node:child_process";var y1=new Set,dB=!1;function k1(D){y1.add(D),D.once("exit",()=>{y1.delete(D)})}function pB(D,$=3000){return D.kill("SIGTERM"),setTimeout(()=>{if(!D.killed)D.kill("SIGKILL")},$)}function iw(){let D=[...y1];y1.clear();for(let $ of D)$.kill("SIGTERM");setTimeout(()=>{for(let $ of D)if(!$.killed)$.kill("SIGKILL")},2000)}function h1(){if(!dB)dB=!0,process.on("SIGINT",()=>{iw(),process.exit(130)})}s();import{spawn as DM}from"node:child_process";function m1(D,$=1){if(D===void 0||D===null)return $;let F=typeof D==="number"?D:parseInt(String(D).trim(),10);return!isNaN(F)&&F>0?F:$}function nw(D){if(D.lineStart!==void 0)return m1(D.lineStart,0);if(D.line!==void 0)return m1(D.line,0);if(D.lineNumber!==void 0)return m1(D.lineNumber,0);return 1}function rw(D,$){let F=D.file||D.path||"",B=nw(D),q=m1(D.lineEnd,B),Q=D.category||D.type||"quality",X=D.shortDescription||D.short||D.message||D.issue||D.title||D.problem||"",J=D.fullDescription||D.description||D.evidence||D.detail||D.details||D.explanation||X,Y=D.suggestion||D.fix||D.recommendation||D.remediation||D.solution;return{file:F,lineStart:B,lineEnd:q,severity:D.severity||"medium",category:Q,shortDescription:X,fullDescription:J,suggestion:Y,agent:$??D.agent??"unknown"}}function aw(D){let $=D.match(/\[[\s\S]*\]/);if(!$)return null;try{let F=JSON.parse($[0]);return Array.isArray(F)?F:null}catch{return null}}function cB(D){return D.match(/<json>\s*([\s\S]*?)\s*<\/json>/)?.[1]?.trim()??null}function sw(D){try{let $=JSON.parse(D);if($.type==="result"&&typeof $.result==="string"){let F=$.result,B=cB(F);if(B)return B;let q=F.match(/```json\s*([\s\S]*?)```/);if(q)return q[1]?.trim()??F;let Q=F.matchAll(/```(?:\w*)?\s*([\s\S]*?)```/g);for(let X of Q){let J=X[1]?.trim();if(J?.startsWith("[")||J?.startsWith("{"))return J}return F}}catch($){if(process.env.DEBUG)console.warn("extractClaudeCliResult JSON parse failed:",$)}return null}function g1(D,$){try{let F=D,B=sw(D);if(B)F=B;else{let Q=cB(D);if(Q)F=Q}let q=null;try{let Q=JSON.parse(F);q=Array.isArray(Q)?Q:Q.issues??null}catch{q=aw(F)}if(!Array.isArray(q))return[];return q.map((Q)=>rw(Q,$)).filter((Q)=>Q.file&&(Q.shortDescription||Q.fullDescription)&&Q.lineStart>0)}catch{return[]}}var l={reset:"\x1B[0m",bold:"\x1B[1m",dim:"\x1B[2m",red:"\x1B[31m",yellow:"\x1B[33m",blue:"\x1B[34m",cyan:"\x1B[36m",green:"\x1B[32m",gray:"\x1B[90m"};function ow(D){switch(D){case"critical":return l.red;case"high":return l.yellow;case"medium":return l.blue;case"low":return l.cyan}}function tw(D){switch(D){case"critical":return"✗";case"high":return"⚠";case"medium":return"○";case"low":return"◇"}}function ew(D){switch(D){case"security":return"\uD83D\uDD12";case"performance":return"⚡";case"bug":return"\uD83D\uDC1B";case"quality":return"✨";case"style":return"\uD83C\uDFA8";case"docs":return"\uD83D\uDCDD"}}function M7(D){switch(D){case"critical":return 0;case"high":return 1;case"medium":return 2;case"low":return 3}}function K7(D){return[...D].sort(($,F)=>{let B=M7($.severity),q=M7(F.severity);return B-q})}function E7(D,$=!1){let F=ow(D.severity),B=tw(D.severity),q=ew(D.category),Q=[];if($)Q.push(`${B} ${l.bold}${D.file}:${D.lineStart}${l.reset} - ${F}${D.shortDescription}${l.reset}`);else{if(Q.push(""),Q.push(`${B} ${F}${l.bold}${D.severity.toUpperCase()}${l.reset} ${q} ${l.dim}${D.category}${l.reset}`),Q.push(`${l.bold}${D.file}${l.reset}:${l.cyan}${D.lineStart}${D.lineEnd!==D.lineStart?`-${D.lineEnd}`:""}${l.reset}`),Q.push(""),Q.push(`${l.bold}${D.shortDescription}${l.reset}`),D.fullDescription&&D.fullDescription!==D.shortDescription)Q.push(""),Q.push(`${l.dim}${D.fullDescription}${l.reset}`);if(D.suggestion)Q.push(""),Q.push(`${l.green}→ Suggestion:${l.reset}`),Q.push(`${l.dim}${D.suggestion}${l.reset}`);Q.push(""),Q.push(`${l.gray}From: ${D.agent}${l.reset}`),Q.push(""),Q.push(l.gray+"─".repeat(80)+l.reset)}return Q.join(`
270
- `)}function nB(D){let $=new Map;for(let F of D){let B=$.get(F.file)||[];B.push(F),$.set(F.file,B)}return $}function iB(D){return Math.min(...D.map(($)=>M7($.severity)))}function rB(D){if(D.length===0)return`${l.green}✓ No issues found \uD83C\uDF89${l.reset}`;let $=nB(D),F=[];F.push(""),F.push(`${l.bold}Found ${D.length} issue(s) in ${$.size} file(s)${l.reset}`),F.push("");let B=Array.from($.entries()).sort(([,q],[,Q])=>iB(q)-iB(Q));for(let[q,Q]of B){F.push(`${l.bold}${l.cyan}${q}${l.reset} ${l.dim}(${Q.length} issue(s))${l.reset}`),F.push("");let X=K7(Q);for(let J of X)F.push(E7(J,!1))}return F.join(`
271
- `)}function aB(D,$,F,B,q,Q){let X=D.filter((u)=>u.severity==="critical").length,J=D.filter((u)=>u.severity==="high").length,Y=D.filter((u)=>u.severity==="medium").length,H=D.filter((u)=>u.severity==="low").length,_=K7(D),G=nB(_),C=Array.from(G.entries()).map(([u,W])=>({file:u,issueCount:W.length,issues:K7(W)})),A={success:$,totalDuration:F,stats:{totalIssues:D.length,critical:X,high:J,medium:Y,low:H,filesAnalyzed:Q,agentsExecuted:B,agentsSucceeded:q,agentsFailed:B-q},issues:_,files:C};return JSON.stringify(A,null,2)}function $M(D,$){let F=g1(D,$);if(F.length===0)return;V.plain(`
272
- \x1B[33m⚠ Preliminary issues (may be filtered):\x1B[0m`);for(let B of F)V.plain(E7(B,!0));V.plain("")}function FM(D,$,F){if(F.verbose)V.plain(`\x1B[90m${$}\x1B[0m`);if(F.stream&&!F.verbose){if(D.type==="system"){let B=D.tools?.length||0,q=D.model||"unknown";V.plain(`\x1B[90m\uD83D\uDCCB ${q}, ${B} tools\x1B[0m`)}else if(D.type==="assistant"&&D.message?.content){for(let B of D.message.content)if(B.type==="tool_use")V.plain(`\x1B[36m\uD83D\uDD27 ${B.name}\x1B[0m`);else if(B.type==="text"&&B.text){let q=B.text.slice(0,200),Q=B.text.length>200?"...":"";V.plain(`\x1B[90m\uD83D\uDCAD ${q}${Q}\x1B[0m`)}}}if(D.type==="result"){if(F.stream&&!F.verbose){let B=D.total_cost_usd?`$${D.total_cost_usd.toFixed(4)}`:"",q=D.duration_ms?`${(D.duration_ms/1000).toFixed(1)}s`:"";V.plain(`\x1B[90m\uD83D\uDCCA ${q} ${B}\x1B[0m`)}if(D.subtype==="success"&&D.result)return D.result;else if(D.subtype==="error")throw Error(D.error||"Claude CLI returned error")}return null}async function sB(D,$,F,B){if(D.length===0)throw Error("No command provided to streamClaudeCli");h1();let[q,...Q]=D,X=DM(q,Q,{stdio:["ignore","pipe","pipe"],env:{...process.env,...$},cwd:B.cwd});k1(X);let J=F*1000,Y=setTimeout(()=>pB(X,2000),J);return new Promise((H,_)=>{let G="",C="",A=[];X.stderr?.on("data",(u)=>A.push(u)),X.stdout?.on("data",(u)=>{C+=u.toString("utf-8");let W=C.split(`
273
- `);C=W.pop()||"";for(let U of W){if(!U.trim())continue;try{let z=JSON.parse(U),w=FM(z,U,B);if(w!==null){if(G=w,B.stream&&B.agentName)$M(G,B.agentName)}}catch{if(process.env.DEBUG)V.plain(`\uD83D\uDCE1 Stream parse error: ${U}`)}}}),X.on("close",(u)=>{if(clearTimeout(Y),C.trim())try{let U=JSON.parse(C);if(U.type==="result"&&U.subtype==="success"&&U.result)G=U.result}catch{}let W=Buffer.concat(A).toString("utf-8");if(u===null){_(Error(`Process killed (timeout after ${F}s or signal)${W?`: ${W}`:""}`));return}if(u!==0){_(Error(`Exit code ${u}: ${W}`));return}H(G)}),X.on("error",(u)=>{clearTimeout(Y),_(u)})})}var oB=g.object({model:g.string().optional(),timeout:g.number().positive().optional()}),tB={model:"sonnet",timeout:120};function eB(D,$){if(D.executor.type==="cli"&&D.executor.timeout!==void 0)return D.executor.timeout;return $||60}function Dq(D,$){if(D.executor.type==="cli"&&D.executor.model!==void 0)return D.executor.model;return $}async function qM(D,$,F){let B=Date.now(),q=`${$.systemPrompt}
274
-
275
- ${F}`,Q=$.input,X=Dq($,D.model),J=eB($,D.timeout),Y=D.args||[];if(X)Y=[...Y,"--model",X];let H=Y.map((A)=>A==="--output-format"?"--output-format":A),_=H.indexOf("json");if(_!==-1)H[_]="stream-json";H.push("--verbose");let G;if(D.systemPromptArg)G=[D.command,...H,D.systemPromptArg,q,Q];else{let A=P1(q,$.input,F);G=D.useStdin?[D.command,...H]:[D.command,...H,A]}let C=await sB(G,D.env||{},J,{stream:$.stream??!1,verbose:$.verbose??!1,agentName:$.agent.name,cwd:$.cwd});return F0($,!0,C,void 0,Date.now()-B,Q)}async function XM(D,$,F){let B=Date.now(),q=v1($.input,F),Q=$.systemPrompt,X=Dq($,D.model),J=eB($,D.timeout),Y=D.args||[];if(X)Y=[...Y,"--model",X];let H;if(D.systemPromptArg)H=[...Y,D.systemPromptArg,Q,q];else{let _=P1(Q,$.input,F);H=D.useStdin?[...Y]:[...Y,_]}if($.verbose)V.plain(`\uD83D\uDD27 CLI: ${D.command} ${H.slice(0,-1).join(" ")} <prompt ${q.length} chars>`);return h1(),new Promise((_)=>{let G=BM(D.command,H,{stdio:[D.useStdin?"pipe":"ignore","pipe","pipe"],env:{...process.env,...D.env},cwd:$.cwd});k1(G);let C=[],A=[];if(G.stdout?.on("data",(U)=>C.push(U)),G.stderr?.on("data",(U)=>A.push(U)),D.useStdin&&G.stdin){let U=D.systemPromptArg?q:P1($.systemPrompt,$.input,F);G.stdin.write(U),G.stdin.end()}let u=J*1000,W=setTimeout(()=>G.kill(),u);G.on("close",(U)=>{clearTimeout(W);let z=Buffer.concat(C).toString("utf-8"),w=Buffer.concat(A).toString("utf-8");if($.verbose){if(V.plain(`\uD83D\uDCE5 CLI raw response (${z.length} chars):`),V.plain(` ${z.slice(0,500)}${z.length>500?"...":""}`),w)V.plain(` stderr: ${w.slice(0,200)}`)}if(U===null){_(F0($,!1,"",`Process killed (timeout after ${J}s or signal)${w?`: ${w}`:""}`,Date.now()-B,q));return}if(U!==0){_(F0($,!1,"",`Exit code ${U}: ${w}`,Date.now()-B,q));return}_(F0($,!0,z,void 0,Date.now()-B,q))}),G.on("error",(U)=>{clearTimeout(W),_(F0($,!1,"",`Process error: ${U.message}`,Date.now()-B,q))})})}function $q(D){return{name:D.name,description:D.description,type:"cli",enabled:!0,async execute($){let F=Date.now();try{let B=await T1();if(D.name==="claude-cli")return await qM(D,$,B);return await XM(D,$,B)}catch(B){return F0($,!1,"",B instanceof Error?B.message:String(B),Date.now()-F)}},getInfo:()=>({name:D.name,description:D.description,type:"cli",command:D.command,args:D.args,env:D.env,timeout:D.timeout,model:D.model,enabled:!0}),settingsSchema:oB,applySettings:($)=>{let F=oB.safeParse($),B=F.success?F.data:{};return{name:D.name,description:D.description,type:"cli",command:D.command,args:D.args,env:D.env,timeout:B.timeout??D.timeout,model:B.model??D.model,enabled:!0}}}}var Fq=$q({name:"claude-cli",description:"Execute via Claude Code CLI",command:"claude",args:["-p","--output-format","json","--no-session-persistence"],timeout:tB.timeout,model:tB.model,useStdin:!1,systemPromptArg:"--system-prompt"}),Bq=$q({name:"test-cli",description:"Test stub executor - returns empty array (for testing only)",command:"bash",args:["-c","cat > /dev/null; sleep 1; echo '[]'"],timeout:10,useStdin:!0});var e3=new Map([["cerebras-api",lB],["claude-cli",Fq],["test-cli",Bq]]);function d2(D){return e3.get(D)}function qq(){return[...e3.values()]}function Xq(D){let $=e3.get(D.name);if($)$.enabled=D.enabled}async function Qq(D){let $=e3.get(D.executor.name);if(!$||!$.enabled){if(process.env.DEBUG)console.warn(`Executor "${D.executor.name}" not available, using test-cli`);$=e3.get("test-cli")}if(!$)throw Error(`No executor found: ${D.executor.name}`);return $.execute(D)}var nD={async autoDiscover(){},get:d2,listExecutors(){return qq().map((D)=>D.getInfo())},registerExecutor:Xq,executeAgent:Qq};async function v0(){await nD.autoDiscover();let D=nD.listExecutors(),F=(await OD()).executors||[];return D.map((B)=>{let q=F.find((Q)=>Q.name===B.name);if(q)return{...B,enabled:q.enabled??B.enabled,...q.model&&{model:q.model},...q.temperature!==void 0&&{temperature:q.temperature},...q.maxTokens!==void 0&&{maxTokens:q.maxTokens},...q.timeout!==void 0&&{timeout:q.timeout}};return B})}s();function D8(D){return Math.ceil(D.length/4)}function Jq(){return"simple (1 token ≈ 4 chars)"}function QM(D){let $=`File: ${D.file}
276
- ${D.diff}`;return D8($)}var Yq=1e4;function JM(){let D=process.env.DIFFRAY_BATCH_TOKENS,$=D?parseInt(D,10):Yq;return{maxTokensPerBatch:isNaN($)?Yq:$}}function Hq(D,$,F){let B=F||JM(),q=[],Q=D8($),X=B.maxTokensPerBatch-Q-1000,J=[],Y=0;for(let H of D){let _=QM(H);if(_>X){if(J.length>0)q.push({diffs:J,tokenCount:Y+Q,batchIndex:q.length}),J=[],Y=0;q.push({diffs:[H],tokenCount:_+Q,batchIndex:q.length});continue}if(Y+_>X&&J.length>0)q.push({diffs:J,tokenCount:Y+Q,batchIndex:q.length}),J=[],Y=0;J.push(H),Y+=_}if(J.length>0)q.push({diffs:J,tokenCount:Y+Q,batchIndex:q.length});return q}function _q(D,$=!1){let F=D.diffs.length,B=D.tokenCount.toLocaleString();if($){let q=D.diffs.map((Q)=>Q.file).join(", ");return`Batch ${D.batchIndex+1}: ${F} file(s), ~${B} tokens
277
- Files: ${q}`}return`Batch ${D.batchIndex+1}: ${F} file(s), ~${B} tokens`}function p2(D){if(D<1)throw Error("Concurrency must be at least 1");let $=[],F=0,B=()=>{if(F--,$.length>0)$.shift()?.()};return(q)=>{return new Promise((Q,X)=>{let J=async()=>{F++;try{let Y=await q();Q(Y)}catch(Y){X(Y)}finally{B()}};if(F<D)J();else $.push(J)})}}s();function Gq(D,$){if($<1)throw Error("Chunk size must be at least 1");let F=[];for(let B=0;B<D.length;B+=$)F.push(D.slice(B,B+$));return F}function YM(D){let{label:$,batchIndex:F,totalBatches:B,itemCount:q,itemName:Q="item"}=D;if(B===1){if(q!==void 0)return`${$} (${q} ${Q}${q!==1?"s":""})...`;return`${$}...`}let X=`batch ${F+1}/${B}`;if(q!==void 0)return`${$} (${X}, ${q} ${Q}${q!==1?"s":""})...`;return`${$} (${X})...`}function x1(D){let $=D.filter((B)=>Boolean(B));if($.length===0)return;let F=[...new Set($)];if(F.length===1&&$.length>1)return`${F[0]} (${$.length} batches)`;return F.join("; ")}async function Cq(D,$,F){let B=p2(F.concurrency);return Promise.all(D.map((q,Q)=>B(()=>$(q,Q,D.length))))}async function l1(D,$,F,B,q){let Q=Date.now(),X=YM(D),J=$?null:new u6(X);try{J?.start();let Y=await F(),H=Date.now()-Q;if(Y.success){let _=B?B(Y.data,H):`${D.label} (${H}ms)`;J?.succeed(_)}else{let _=q?q(Y.error||"Unknown error"):`${D.label}: ${Y.error}`;J?.fail(_)}return{success:Y.success,data:Y.data,error:Y.error,duration:H}}catch(Y){let H=Date.now()-Q,_=Y instanceof Error?Y.message:String(Y),G=q?q(_):`${D.label}: ${_}`;return J?.fail(G),{success:!1,data:void 0,error:_,duration:H}}finally{J?.stop()}}function Vq(D){return D.every(($)=>$.success)}function Wq(D){return D.filter(($)=>!$.success)}async function HM(D,$,F){let B=new Map;for(let q of D){let Q=$.matchedRules?.filter((C)=>C.agent.name===q.name)||[];if(Q.length===0)continue;let X=new Set;for(let C of Q)for(let A of C.files)X.add(A);let J=$.diffs.filter((C)=>X.has(C.file)),Y=q.systemPrompt,H=Q.map((C)=>C.rule.prompt).filter(Boolean).join(`
278
-
279
- `);if(H)Y=`${Y}
280
-
281
- ${H}`;if(F)Y=`${Y}
282
-
283
- ${F}`;let _=Hq(J,Y),G=Q.map((C)=>C.rule.name);B.set(q.name,{batches:_,files:J.length,rules:Q.length,ruleNames:G,systemPrompt:Y})}return B}async function _M(D,$,F,B,q,Q,X,J,Y){return J(async()=>{if(D.batchIndex===0)Y?.startTask(F.name);let G=`${["# Repository Context",`Base path: ${X.metadata.repository}`,"All file paths below are relative to this directory.","When using tools to read files, prepend this base path to get absolute paths.",X.metadata.baseRef?`Base ref: ${X.metadata.baseRef}`:null,X.metadata.headRef?`Head ref: ${X.metadata.headRef}`:null].filter(Boolean).join(`
284
- `)}
285
-
286
- ${D.diffs.map((W)=>`File: ${W.file}
287
- ${W.diff}`).join(`
288
-
289
- `)}`;if(X.verbose&&!X.quiet){let W=D.tokenCount-Q,U=D.diffs.map((w)=>`File: ${w.file} <diff ${w.diff.length} chars>`).join(`
290
- `),z=`${q}
291
-
292
- # Input:
293
- ${U}`;V.newline(),V.plain(`Prompt for ${F.name} (batch ${D.batchIndex+1}/${$.length}):`),V.plain(` Tokens: ${D.tokenCount.toLocaleString()} (~${Q.toLocaleString()} system + ~${W.toLocaleString()} input)`),V.plain("─".repeat(80)),V.plain(z),V.plain("─".repeat(80)),V.newline()}let C=F.executorSettings&&B.applySettings?B.applySettings(F.executorSettings):B.getInfo(),A={agent:F,executor:C,input:G,systemPrompt:q,verbose:X.verbose,quiet:X.quiet,stream:X.stream,cwd:X.metadata.repository},u=async()=>{let W=await nD.executeAgent(A),U=g1(W.output,F.name);return{success:W.success,data:U,error:W.error}};if(Y){let W=Date.now();try{let U=await u(),z=Date.now()-W;if(U.success)Y.completeBatch(F.name);else Y.failTask(F.name);return{...U,duration:z}}catch(U){let z=Date.now()-W,w=U instanceof Error?U.message:String(U);return Y.failTask(F.name),{success:!1,data:[],error:w,duration:z}}}return l1({label:F.name,batchIndex:D.batchIndex,totalBatches:$.length},X.quiet??!1,u,(W,U)=>$.length>1?`${F.name} (batch ${D.batchIndex+1}/${$.length}, ${U}ms)`:`${F.name} (${U}ms)`,(W)=>$.length>1?`${F.name} (batch ${D.batchIndex+1}/${$.length}): ${W}`:`${F.name}: ${W}`)})}function GM(D,$,F){let B=[],q=0;for(let J of D)B.push(...J.data),q+=J.duration||0;let Q=D.every((J)=>J.success),X=x1(D.map((J)=>J.error));return{agent:$.name,executor:$.executor,success:Q,output:`Processed ${F.length} batch(es), found ${B.length} issue(s)`,duration:q,issues:B,error:X}}function Aq(){return{id:"review",name:"Review",description:"Run code review agents",enabled:!0,order:2,execute:async(D)=>{let $=Date.now(),F=p2(D.concurrency),B=await J5();if(D.verbose&&!D.quiet)V.plain(`Token counter: ${Jq()}`);let q=l2.listEnabled();if(q.length===0){if(!D.quiet)V.warn("No enabled Agents found");return{stageId:"review",stageName:"Review",success:!0,duration:Date.now()-$}}let Q=await HM(q,D,B),X=0;for(let[,z]of Q)X+=z.batches.length;let J=q.filter((z)=>z.stage!=="validation"),Y=J.filter((z)=>Q.has(z.name)),H=J.filter((z)=>!Q.has(z.name));if(!D.quiet){V.sync(`Code Review: ${Y.length} agent${Y.length!==1?"s":""} (${X} batch${X!==1?"es":""} total)...`);for(let z of H)V.plain(` • ${z.name}: skipped (no matching rules)`)}let G=!D.quiet&&!D.stream&&!D.verbose?new D3:void 0;if(G){for(let z of Y){let w=Q.get(z.name);if(w){let M=w.ruleNames.slice(0,3).join(", "),K=`${w.files} files | ${M}${w.rules>3?"...":""}`;G.addTask(z.name,z.name,w.batches.length,w.files,w.rules,K)}}G.start()}let C=await Promise.all(Y.map(async(z)=>{try{let w=nD.get(z.executor);if(!w){if(!D.quiet)V.warn(`Executor not found: ${z.executor}`);return null}let M=Q.get(z.name),{batches:K,systemPrompt:N}=M,I=D8(N);if(!D.quiet&&D.verbose)K.forEach((c)=>{V.plain(` ${_q(c,!0)}`)});let f=await Promise.all(K.map((c)=>_M(c,K,z,w,N,I,D,F,G))),L=GM(f,z,K);return D.issues.push(...L.issues),D.results.push(L),L}catch(w){let M=w instanceof Error?w.message:String(w);if(!D.quiet)V.error(`${z.name}: ${M}`);let K={agent:z.name,executor:z.executor,success:!1,output:"",error:M,duration:0,issues:[]};return D.results.push(K),K}}));G?.stop();let A=C.filter((z)=>z?.success).length,u=C.filter((z)=>z&&!z.success),W=u.length;if(!D.quiet){let z=Date.now()-$,w=z>=1000?`${(z/1000).toFixed(1)}s`:`${z}ms`;V.done(`Review complete: ${A}/${Y.length} agents (${w})`)}let U;if(W>0)U=u.map((w)=>`${w?.agent||"Unknown"}: ${w?.error||"execution failed"}`).filter(Boolean).join("; ");return{stageId:"review",stageName:"Review",success:W===0,duration:Date.now()-$,error:U}}}}s();function Uq(){return{id:"aggregate-results",name:"Aggregate Results",description:"Collect results",enabled:!0,order:3,execute:async(D)=>{let $=Date.now(),F=D.results.filter((q)=>q.success).length,B=D.results.filter((q)=>!q.success).length;if(!D.quiet)V.sync(`Results: ${F} success, ${B} failed`);return{stageId:"aggregate-results",stageName:"Aggregate Results",success:!0,duration:Date.now()-$}}}}s();var CM=0.6;function uq(D){let $=D.toLowerCase().replace(/[^\w\s]/g," ").split(/\s+/).filter((F)=>F.length>2);return new Set($)}function VM(D,$){if(D.size===0&&$.size===0)return 1;if(D.size===0||$.size===0)return 0;let F=0;for(let q of D)if($.has(q))F++;let B=D.size+$.size-F;return F/B}function WM(D,$){if(D.file!==$.file)return!1;if(Math.min(Math.abs(D.lineStart-$.lineStart),Math.abs(D.lineEnd-$.lineEnd))>10)return!1;let B=uq(D.shortDescription),q=uq($.shortDescription);return VM(B,q)>=CM}function zq(){return{id:"deduplication",name:"Deduplication",description:"Remove duplicate results and issues",enabled:!0,order:4,execute:async(D)=>{let $=Date.now(),F=D.results.flatMap((_)=>_.issues),B=F.length,q=new Set,Q=F.filter((_)=>{let G=`${_.file}:${_.lineStart}:${_.lineEnd}`;if(q.has(G))return!1;return q.add(G),!0}),X=[];for(let _ of Q)if(!X.some((C)=>WM(C,_)))X.push(_);D.issues=X;let J=B-Q.length,Y=Q.length-X.length,H=J+Y;if(H>0&&!D.quiet){let _=[];if(J>0)_.push(`${J} by location`);if(Y>0)_.push(`${Y} by similarity`);V.sync(`Removed ${H} duplicate issue(s) (${_.join(", ")})`)}return{stageId:"deduplication",stageName:"Deduplication",success:!0,duration:Date.now()-$}}}}s();import{join as AM}from"path";import{fileURLToPath as UM}from"url";var uM=10,$8={FILE_EXACT_MATCH:40,FILE_PARTIAL_MATCH:30,LINE_OVERLAP:30,LINE_NEARBY:15,DESCRIPTION:30},O7={MINIMUM_SCORE:40,LINE_TOLERANCE:5,LINE_EXTENDED_TOLERANCE:20},wq={name:"validation",description:"Validates issues found by other agents",systemPrompt:`You are a code review validation agent. Your task is to validate issues found by other agents and filter out false positives.
294
-
295
- You may include your analysis and reasoning, but MUST include a JSON array of valid issues somewhere in your response.
296
- Be strict but fair. Only filter out clear false positives.`,enabled:!0,order:999,executor:"claude-cli",executorSettings:{model:"opus",timeout:180}};async function zM(){return Q0(KD.VALIDATION_PROMPT,async()=>{try{let D=UM(import.meta.url),$=AM(D,"..","..","defaults","agents","validation.md");return(await PB($))[0]??wq}catch{return wq}})}function wM(D){return D.map(($)=>{let F=[`<issue id="${$.id}">`,`**[${$.severity.toUpperCase()}] ${$.category}** in \`${$.file}:${$.lineStart}-${$.lineEnd}\``,`Agent: ${$.agent}`,"",`**Problem:** ${$.shortDescription}`,"",$.fullDescription];if($.suggestion)F.push("",`**Suggestion:** ${$.suggestion}`);return F.push("</issue>"),F.join(`
297
- `)}).join(`
298
-
299
- `)}function Mq(D){return D.replace(/\\/g,"/").replace(/^\.\//,"").toLowerCase()}function MM(D,$,F,B,q=O7.LINE_TOLERANCE){if(D<=B&&F<=$)return!0;return Math.abs(D-F)<=q||Math.abs($-B)<=q||Math.abs(D-B)<=q||Math.abs($-F)<=q}function KM(D,$){let F=0;if(!$.file)return 0;let B=Mq(D.file),q=Mq($.file);if(B===q)F+=$8.FILE_EXACT_MATCH;else if(B.endsWith(q)||q.endsWith(B))F+=$8.FILE_PARTIAL_MATCH;else return 0;if(typeof $.lineStart==="number"){let Q=$.lineEnd??$.lineStart;if(MM(D.lineStart,D.lineEnd,$.lineStart,Q))F+=$8.LINE_OVERLAP;else if(Math.abs(D.lineStart-$.lineStart)<=O7.LINE_EXTENDED_TOLERANCE)F+=$8.LINE_NEARBY}if($.shortDescription&&D.shortDescription){let X=new Set(D.shortDescription.toLowerCase().split(/\W+/).filter((_)=>_.length>=3)),J=new Set($.shortDescription.toLowerCase().split(/\W+/).filter((_)=>_.length>=3)),H=[...X].filter((_)=>J.has(_)).length/Math.max(X.size,J.size,1);F+=Math.round(H*$8.DESCRIPTION)}return F}function EM(D,$){let F=D.match(/<valid-ids>\s*(\[[\s\S]*?\])\s*<\/valid-ids>/);if(F?.[1])try{let q=JSON.parse(F[1]);if(Array.isArray(q)&&q.every((Q)=>typeof Q==="number"))return q}catch{}let B=D.match(/\[\s*(\d+\s*(?:,\s*\d+\s*)*)\]/);if(B?.[1])try{let q=JSON.parse(`[${B[1]}]`);if(Array.isArray(q)){let Q=q.filter((X)=>typeof X==="number");if(Q.length>0)return Q}}catch{}if($&&$.length>0){let q=D.match(/<json>\s*([\s\S]*?)\s*<\/json>/);if(q?.[1])try{let Q=JSON.parse(q[1]);if(Array.isArray(Q)&&Q.length>0){let X=new Set;for(let J of Q){let Y=null,H=0;for(let _ of $){if(X.has(_.id))continue;let G=KM(_,J);if(G>H&&G>=O7.MINIMUM_SCORE)H=G,Y=_}if(Y)X.add(Y.id)}if(X.size>0)return Array.from(X)}}catch{}}return[]}function OM(D,$,F){D.forEach((B)=>{B.issues=B.issues.filter((q)=>{let Q=F.get(q);return Q!==void 0&&$.has(Q)})})}function jM(D,$){let F=d2(D.executor);if(!F||!F.enabled){if(!$.quiet)V.warn(`Validation executor '${D.executor}' not found or disabled, skipping validation`);return null}if(D.executorSettings&&F.applySettings)return F.applySettings(D.executorSettings);return F.getInfo()}async function Kq(D,$,F,B,q,Q,X){if(X&&$===0)X.startTask("validation");let J=wM(D),Y=Q.metadata.repository,H=Q.metadata.commitMessages?.length?["","## Commit Messages (IMPORTANT: Check these to understand change intent!)","These messages explain WHY the changes were made. Use them to identify INTENTIONAL trade-offs.","",...Q.metadata.commitMessages.map((u,W)=>`### Commit ${W+1}:
300
- ${u}`)].join(`
301
- `):null,G=`${["# Repository Context",`Base path: ${Y}`,"All file paths below are relative to this directory.","When using tools to read files, prepend this base path to get absolute paths.",Q.metadata.baseRef?`Base ref: ${Q.metadata.baseRef}`:null,Q.metadata.headRef?`Head ref: ${Q.metadata.headRef}`:null,H].filter(Boolean).join(`
302
- `)}
303
-
304
- # Issues to validate (${D.length} total):
305
-
306
- ${J}`,C={agent:B,executor:q,input:G,systemPrompt:B.systemPrompt,verbose:Q.verbose,quiet:Q.quiet,cwd:Y};if(Q.verbose&&!Q.quiet){let u=F>1;V.plain(`
307
- Validation prompt${u?` (batch ${$+1}/${F})`:""}:`),V.plain(` Executor: ${q.name}`),V.plain(` Issues to validate: ${D.length}`),V.plain("─".repeat(80)),V.plain(G.slice(0,2000)+(G.length>2000?"...":"")),V.plain("─".repeat(80)),V.newline()}let A=async()=>{let u=await nD.executeAgent(C);if(!u.success)return{success:!1,data:[],error:u.error};return{success:!0,data:EM(u.output,D)}};if(X){let u=Date.now();try{let W=await A(),U=Date.now()-u;if(W.success)X.completeBatch("validation");else X.failTask("validation");return{...W,duration:U}}catch(W){let U=Date.now()-u,z=W instanceof Error?W.message:String(W);return X.failTask("validation"),{success:!1,data:[],error:z,duration:U}}}return l1({label:"Validating",batchIndex:$,totalBatches:F,itemCount:D.length,itemName:"issue"},Q.quiet??!1,A,(u,W)=>F>1?`Validated batch ${$+1}/${F} (${u.length} valid, ${W}ms)`:`Validated ${u.length} issue(s) (${W}ms)`,(u)=>F>1?`Validation failed (batch ${$+1}): ${u}`:`Validation failed: ${u}`)}function Eq(){return{id:"validation",name:"Validation",description:"Validate issues and filter out false positives",enabled:!0,order:5,execute:async(D)=>{let $=Date.now();if(D.skipValidation){if(!D.quiet)V.sync("Skipping validation (--skip-validation)");return{stageId:"validation",stageName:"Validation",success:!0,duration:Date.now()-$}}let F=[],B=new Map;if(D.results.forEach((C)=>{C.issues.forEach((A)=>{let u=F.length+1;F.push(A),B.set(A,u)})}),F.length===0){if(!D.quiet)V.sync("No issues to validate");return{stageId:"validation",stageName:"Validation",success:!0,duration:Date.now()-$}}let q=F.map((C,A)=>({...C,id:A+1})),Q=await zM(),X=jM(Q,D);if(!X)return{stageId:"validation",stageName:"Validation",success:!0,duration:Date.now()-$};let J=Gq(q,uM),Y=J.length>1,H=X.type==="llm-api"||X.type==="cli"?X.model:void 0;if(!D.quiet){if(V.sync(`Validating ${F.length} issue(s)...`),D.verbose)V.plain(` Executor: ${X.name}${H?` (model: ${H})`:""}`)}let G=!D.quiet&&!D.stream&&!D.verbose?new D3:void 0;if(G)G.addTask("validation","Validation",J.length,F.length,1,`${F.length} issues`),G.start();try{let C;if(G){let z=p2(D.concurrency);C=await Promise.all(J.map((w,M)=>z(()=>Kq(w,M,J.length,Q,X,D,G))))}else C=await Cq(J,(z,w,M)=>Kq(z,w,M,Q,X,D),{concurrency:D.concurrency,quiet:D.quiet});if(G?.stop(),!Vq(C)){let z=Wq(C),w=x1(z.map((M)=>M.error));return{stageId:"validation",stageName:"Validation",success:!1,duration:Date.now()-$,error:w}}let A=new Set(C.flatMap((z)=>z.data));OM(D.results,A,B);let u=A.size,W=F.length-u,U=Date.now()-$;if(!D.quiet)V.done(`Validation complete: ${u} valid, ${W} filtered out (${U}ms)`);return{stageId:"validation",stageName:"Validation",success:!0,duration:U}}catch(C){G?.stop();let A=C instanceof Error?C.message:String(C);if(!D.quiet)V.error(`Validation error: ${A}`);return{stageId:"validation",stageName:"Validation",success:!1,duration:Date.now()-$,error:A}}}}}var NL=g.object({id:g.string(),enabled:g.boolean().default(!0),order:g.number().optional()});function Oq(){return[fB(),yB(),Aq(),Uq(),zq(),Eq()]}class j7{agents=[];executors=new Map;stages=[];constructor(D=[],$=[],F){this.agents=[...D].sort((B,q)=>B.order-q.order);for(let B of $)this.executors.set(B.name,B),nD.registerExecutor(B);for(let B of D)l2.register(B);this.stages=F||Oq()}addAgent(D){this.agents.push(D),this.agents.sort(($,F)=>$.order-F.order),l2.register(D)}removeAgent(D){this.agents=this.agents.filter(($)=>$.name!==D),l2.remove(D)}getAgents(){return this.agents}getEnabledAgents(){return this.agents.filter((D)=>D.enabled)}addExecutor(D){this.executors.set(D.name,D),nD.registerExecutor(D)}getExecutor(D){return this.executors.get(D)}async execute(D,$={}){let{verbose:F=!1,quiet:B=!1,concurrency:q=3,skipValidation:Q=!1,stream:X=!1,baseRef:J,headRef:Y}=$,H=Date.now(),_=[];if(J&&Y){if(_=await c4(J,Y),F&&_.length>0)V.plain(`Fetched ${_.length} commit message(s) for context`)}let G={diffs:D,results:[],issues:[],metadata:{timestamp:Date.now(),repository:process.cwd(),baseRef:J,headRef:Y,commitMessages:_.length>0?_:void 0},verbose:F,quiet:B,stream:X,concurrency:q,skipValidation:Q},C=[];for(let u of this.stages){if(!u.enabled)continue;try{let W=await u.execute(G);if(C.push(W),!W.success){V.error(`Stage ${u.name} failed: ${W.error}`);break}}catch(W){let U=W instanceof Error?W.message:String(W);V.error(`Stage ${u.name} failed: ${U}`),C.push({stageId:u.id,stageName:u.name,success:!1,duration:0,error:U});break}}let A=Date.now()-H;return{success:C.every((u)=>u.success),context:G,totalDuration:A,stages:C}}}s();x2();import{spawnSync as RM}from"node:child_process";s();async function jq(){let D=await OD(),$=d0();V.plain(`Current Configuration
308
- `),V.plain(`Location: ${$}
309
- `),V.plain(JSON.stringify(D,null,2))}async function R7(){if(await L6()){V.warn("Configuration file already exists"),V.plain(`Location: ${d0()}`),V.plain(`
310
- Use 'diffray config show' to view current configuration`),V.plain("Use 'diffray config reset' to reset to defaults");return}let $=await OD();V.success("Configuration file created"),V.plain(`Location: ${d0()}
311
- `),V.plain(JSON.stringify($,null,2))}async function Rq(){let D=await N8();V.success("Configuration reset to defaults"),V.plain(JSON.stringify(D,null,2))}async function Nq(D,$){let F=await OD(),B=D.split("."),q=["concurrency"],Q=["output"],X=(Y,H)=>{let _=["apiKey","url","baseUrl"];if(Y==="true")return!0;if(Y==="false")return!1;if(!_.includes(H)&&!isNaN(Number(Y)))return Number(Y);return Y},J;if(B.length===1){let Y=B[0];if(!q.includes(Y))V.error(`Invalid root key: ${Y}`),V.plain(`Valid root keys: ${q.join(", ")}`),V.plain(`Valid sections: ${Q.join(", ")} (use section.key format)`),process.exit(1);let H=X($,Y);J={...F,[Y]:H}}else if(B.length===2){let[Y,H]=B;if(!Q.includes(Y))V.error(`Invalid section: ${Y}`),V.plain(`Valid root keys: ${q.join(", ")}`),V.plain(`Valid sections: ${Q.join(", ")}`),process.exit(1);let _=F[Y];if(typeof _!=="object"||_===null)V.error(`Invalid section: ${Y}`),process.exit(1);let G=X($,H);J={...F,[Y]:{..._,[H]:G}}}else V.error("Invalid key format. Use: key or section.key"),V.plain("Examples: concurrency, output.colorize"),process.exit(1);try{await H3(J),V.success(`Updated ${D} = ${$}`)}catch(Y){V.error(`Failed to update config: ${Y}`),process.exit(1)}}async function Lq(D){let $=await OD(),F=D.split(".");if(F.length!==2)V.error("Invalid key format. Use format: section.key (e.g., ai.provider)"),process.exit(1);let B=F[0],q=F[1];if(!B||!q)V.error("Invalid key format. Use format: section.key (e.g., ai.provider)"),process.exit(1);let Q=$[B];if(!Q||typeof Q!=="object")V.error(`Invalid section: ${B}`),process.exit(1);let X=Q[q];if(X===void 0)V.error(`Invalid key: ${q}`),process.exit(1);V.plain(String(X))}async function Zq(){let D=d0();if(!await L6())await R7();let F=process.env.EDITOR||"nano";V.info(`Opening ${D} in ${F}...`);let B=RM(F,[D],{stdio:"inherit"});if(B.error)V.error(`Failed to open editor: ${B.error.message}`),process.exit(1)}var Iq=MD({meta:{name:"config",description:"Manage configuration"},subCommands:{show:{meta:{description:"Show current configuration"},run:()=>{jq()}},init:{meta:{description:"Initialize configuration file"},run:()=>{R7()}},reset:{meta:{description:"Reset to default configuration"},run:()=>{Rq()}},set:{meta:{description:"Set configuration value"},args:{key:{type:"positional",description:"Configuration key",required:!0},value:{type:"positional",description:"Configuration value",required:!0}},run:({args:D})=>{Nq(D.key,D.value)}},get:{meta:{description:"Get configuration value"},args:{key:{type:"positional",description:"Configuration key",required:!0}},run:({args:D})=>{Lq(D.key)}},edit:{meta:{description:"Edit configuration in $EDITOR"},run:()=>{Zq()}}}});s();function NM(D){if(!D||Object.keys(D).length===0)return"-";return Object.entries(D).map(([$,F])=>`${$}=${F}`).join(", ")}async function bq(){let D=await B2(process.cwd());if(V.robot("Available Agents"),V.newline(),D.length===0){V.plain("No Agents configured");return}for(let $ of D){let F=$.enabled?"●":"○",B=$.stage||"review",q=e2($.path);if(V.plain(`${F} ${$.name} (${B})`),V.plain(` executor: ${$.executor}`),$.executorSettings&&Object.keys($.executorSettings).length>0)V.plain(` settings: ${NM($.executorSettings)}`);V.plain(` path: ${q}`),V.newline()}}async function Sq(D){let F=(await B2(process.cwd())).find((B)=>B.name===D);if(!F)V.error(`Agent not found: ${D}`),process.exit(1);if(V.robot(`Agent: ${F.name}`),V.newline(),V.plain(`Description: ${F.description}`),V.plain(`Enabled: ${F.enabled?"Yes":"No"}`),V.plain(`Order: ${F.order}`),V.plain(`Stage: ${F.stage||"review"}`),V.plain(`Executor: ${F.executor}`),V.plain(`Path: ${e2(F.path)}`),F.executorSettings&&Object.keys(F.executorSettings).length>0){V.newline(),V.plain("Executor Settings:");for(let[B,q]of Object.entries(F.executorSettings))V.plain(` ${B}: ${q}`)}V.newline(),V.plain("System Prompt:"),V.separator("─"),V.plain(F.systemPrompt||"(no prompt)"),V.separator("─")}var Tq=MD({meta:{name:"agents",description:`List agents or show agent details
312
-
313
- Examples:
314
- diffray agents # List all agents
315
- diffray agents validation # Show validation agent details
316
- diffray agents general # Show general agent details`},args:{name:{type:"positional",description:"Agent name (optional, shows details if provided)",required:!1}},run:async({args:D})=>{if(D.name)await Sq(D.name);else await bq()}});s();function N7(D){return D.type==="llm-api"?D.model:D.type==="cli"?D.model:void 0}function Pq(D){return D.type==="cli"?D.timeout:void 0}function vq(D){let $=d2(D);if(!$?.settingsSchema)return[];let F=$.settingsSchema;if("shape"in F&&typeof F.shape==="object")return Object.keys(F.shape);return[]}async function fq(){let D=await v0();if(V.robot("Available Executors"),V.newline(),D.length===0){V.plain("No Executors configured");return}let $=new Map;for(let Q of D)$.set(Q.name,vq(Q.name));let F={status:1,name:Math.max(8,...D.map((Q)=>Q.name.length)),model:Math.max(5,...D.map((Q)=>(N7(Q)||"-").length)),timeout:7,settings:20},B=["".padEnd(F.status),"Executor".padEnd(F.name),"Model".padEnd(F.model),"Timeout".padEnd(F.timeout),"Available Settings".padEnd(F.settings)].join(" "),q=["-".repeat(F.status),"-".repeat(F.name),"-".repeat(F.model),"-".repeat(F.timeout),"-".repeat(F.settings)].join(" ");V.plain(B),V.plain(q);for(let Q of D){let X=Q.enabled?"●":"○",J=N7(Q)||"-",Y=Pq(Q)?`${Pq(Q)}s`:"-",H=$.get(Q.name)?.join(", ")||"-",_=[X.padEnd(F.status),Q.name.padEnd(F.name),J.padEnd(F.model),Y.padEnd(F.timeout),H.padEnd(F.settings)].join(" ");V.plain(_)}V.newline()}async function yq(D){let F=(await v0()).find((q)=>q.name===D);if(!F)V.error(`Executor not found: ${D}`),process.exit(1);if(V.robot(`Executor: ${F.name}`),V.newline(),V.plain(`Name: ${F.name}`),V.plain(`Type: ${F.type}`),V.plain(`Description: ${F.description}`),V.plain(`Enabled: ${F.enabled?"Yes":"No"}`),F.type==="cli"){V.plain(`Command: ${F.command}`),V.plain(`Args: ${F.args?.join(" ")||"(none)"}`);let q=N7(F);if(q)V.plain(`Model: ${q}`);V.plain(`Timeout: ${F.timeout||60}s`)}else if(F.type==="llm-api")V.plain(`Provider: ${F.provider}`),V.plain(`Model: ${F.model}`),V.plain(`Temperature: ${F.temperature??0.7}`),V.plain(`Max Tokens: ${F.maxTokens??4096}`);if(F.type==="cli"&&F.env){V.newline(),V.plain("Environment Variables:");for(let[q,Q]of Object.entries(F.env)){let X=q.includes("KEY")||q.includes("TOKEN")?String(Q).substring(0,8)+"...":Q;V.plain(` ${q}: ${X}`)}}let B=vq(D);if(B.length>0){V.newline(),V.plain("Available Settings (for executorSettings in agent frontmatter):");for(let q of B)V.plain(` - ${q}`)}}async function kq(D){let $=await v0(),F=$.find((B)=>B.name===D);if(!F)V.error(`Executor not found: ${D}`),process.exit(1);F.enabled=!0,await R8({executors:$}),V.success(`Enabled Executor: ${F.name}`)}async function hq(D){let $=await v0(),F=$.find((B)=>B.name===D);if(!F)V.error(`Executor not found: ${D}`),process.exit(1);F.enabled=!1,await R8({executors:$}),V.success(`Disabled Executor: ${F.name}`)}var mq=MD({meta:{name:"executors",description:"Manage code review executors"},subCommands:{list:{meta:{description:"List all executors"},run:()=>{fq()}},show:{meta:{description:"Show executor details"},args:{id:{type:"positional",description:"Executor ID",required:!0}},run:({args:D})=>{yq(D.id)}},enable:{meta:{description:"Enable executor"},args:{id:{type:"positional",description:"Executor ID",required:!0}},run:({args:D})=>{kq(D.id)}},disable:{meta:{description:"Disable executor"},args:{id:{type:"positional",description:"Executor ID",required:!0}},run:({args:D})=>{hq(D.id)}}}});x2();s();function LM(D){switch(D){case"defaults":return"◆";case"user":return"◇";case"project":return"●";default:return"○"}}async function gq(){let D=await P0();if(D.length===0){V.warn("No rules configured");return}V.robot("Rules"),V.newline();for(let $ of D){let F=LM($.source),B=e2($.path);V.plain(`${F} ${$.name}`),V.plain(` agent: ${$.agent}`),V.plain(` patterns: ${$.patterns.join(", ")}`),V.plain(` path: ${B}`),V.newline()}V.plain("◆ defaults ◇ user ● project")}async function xq(D){let{loadRuleFromRef:$}=await Promise.resolve().then(() => (x2(),SB)),B=(await P0()).find((Q)=>Q.name===D);if(!B)V.error(`Rule not found: ${D}`),process.exit(1);let q=await $(B);if(!q)V.error(`Failed to load rule content from: ${B.path}`),process.exit(1);if(V.robot(`Rule: ${q.name}`),V.newline(),V.plain(`Source: ${B.source}`),V.plain(`Path: ${B.path}`),V.plain(`Description: ${q.description}`),V.plain(`Patterns: ${q.patterns.join(", ")}`),V.plain(`Agent: ${q.agent}`),q.prompt)V.newline(),V.plain("Prompt:"),V.separator("─"),V.plain(q.prompt),V.separator("─")}async function lq(D,$){let B=(await P0()).find((X)=>X.name===D);if(!B)V.error(`Rule not found: ${D}`),process.exit(1);V.robot(`Testing rule: ${B.name}`),V.plain(`Patterns: ${B.patterns.join(", ")}`),V.newline();let q=[],Q=[];for(let X of $)if(B.patterns.some((Y)=>g2(X,Y)))q.push(X);else Q.push(X);V.success(`Matched ${q.length} file(s):`);for(let X of q)V.plain(` ● ${X}`);if(Q.length>0){V.newline(),V.plain(`Not matched ${Q.length} file(s):`);for(let X of Q)V.plain(` ○ ${X}`)}}var dq=MD({meta:{name:"rules",description:`List rules or show rule details
317
-
318
- Examples:
319
- diffray rules # List all rules
320
- diffray rules simplicity # Show simplicity rule details
321
- diffray rules test simplicity src/*.ts # Test rule pattern matching`},args:{name:{type:"positional",description:'Rule name or "test" subcommand',required:!1},rest:{type:"positional",description:"For test: <rule-name> <files...>",required:!1}},run:async({args:D})=>{if(D.name==="test"){let $=D._||[],F=$[0],B=$.slice(1);if(!F||B.length===0)console.error("Usage: diffray rules test <rule-name> <files...>"),process.exit(1);await lq(F,B)}else if(D.name)await xq(D.name);else await gq()}});s();import{stat as ZM}from"node:fs/promises";async function pq(){V.robot("Configuration Information"),V.newline();let D=d0();V.plain(`Location: ${D}`),V.newline();let $;try{$=await ZM(D)}catch{V.info("Configuration file does not exist (using defaults)");return}let F=($.size/1024).toFixed(2),B=$.mtime.toLocaleString();V.success("config.json"),V.plain(` Size: ${F} KB`),V.plain(` Modified: ${B}`),V.newline();try{let q=await OD();if(V.plain("Contents:"),q.executors)V.plain(` • Executors: ${q.executors.length}`);if(q.stages)V.plain(` • Stages: ${q.stages.length}`);V.newline()}catch(q){V.warn(`Failed to parse configuration: ${q}`),V.newline()}}async function cq(){V.robot("Resetting configuration..."),V.newline();try{await N8(),Q5(),V.success("Configuration reset to defaults"),V.success("In-memory cache cleared"),V.newline(),V.success("Configuration reset successfully")}catch(D){V.error(`Failed to reset configuration: ${D}`)}}async function iq(){V.robot("About diffray Configuration"),V.newline(),V.plain("diffray uses a configuration file (config.json) for settings:"),V.newline(),V.plain("Configuration Data:"),V.plain(" ▸ Executors - Executor configurations"),V.plain(" ▸ Stages - Pipeline stages configuration"),V.plain(" ▸ Validation - Validation settings"),V.newline(),V.plain("Dynamic Data (always loaded from MD files):"),V.plain(" ▸ Agents - Loaded from ~/.diffray/agents/ and .diffray/agents/"),V.plain(" ▸ Rules - Loaded from ~/.diffray/rules/ and .diffray/rules/"),V.newline(),V.plain("Location: ~/.diffray/config.json"),V.newline(),V.plain("When to reset:"),V.plain(" • To restore default settings"),V.plain(" • When troubleshooting configuration issues"),V.plain(" • If configuration becomes corrupted"),V.newline()}var nq=MD({meta:{name:"cache",description:"Manage cache"},subCommands:{show:{meta:{description:"Show cache contents"},run:()=>{pq()}},clear:{meta:{description:"Clear all cache"},run:()=>{cq()}},explain:{meta:{description:"Explain cache system"},run:()=>{iq()}}}});function IM(D){switch(D){case"modified":return"~";case"added":return"+";case"deleted":return"-";case"renamed":return"→";default:return"·"}}async function bM(D){let{verbose:$=!1,json:F=!1,stream:B=!1,severity:q,base:Q,head:X,skipValidation:J=!1,agent:Y}=D,H=Y?Y.split(",").map((y)=>y.trim()):void 0,_=q?q.split(",").map((y)=>y.trim()):void 0;if(!F)V.logo();let G=await OD();if(!await x4()){if(!F)V.error("Not a git repository");process.exit(1)}if(!F)V.chart("Analyzing changes...");let A,u="",W=null;if(Q){let y=X||"HEAD";if(!F)V.info(`Comparing ${Q}...${y}`);if(await h4()){if(!F)V.warn("Uncommitted changes detected - cannot checkout to head ref"),V.info("CLI tools will only see diff context, not full files")}else{let p=await k4(y);if(p.checkoutNeeded){if(W=p.originalRef,!F)V.info(`Checked out to ${y} for full file access`)}}if(A=await i4(Q,y),u=` (${Q}...${y})`,A.length===0){if(V.success("No changes between commits"),W)await M8(W);return}}else if(A=await l4(),A.length===0){if(!F)V.info("No uncommitted changes, reviewing last commit...");if(A=await p4(),u=" (last commit)",A.length===0){V.success("No changes to review");return}}let U=A.filter((y)=>{return!G.excludePatterns.some((p)=>{return g2(y.file,p)})});if(U.length===0){V.success("No changes (all excluded)");return}let z=U.reduce((y,p)=>y+p.additions,0),w=U.reduce((y,p)=>y+p.deletions,0),M=z+w,K=U.reduce((y,p)=>{return y[p.status]=(y[p.status]||0)+1,y},{});if(!F){let y=[];if(K.modified)y.push(`${K.modified} modified`);if(K.added)y.push(`${K.added} added`);if(K.deleted)y.push(`${K.deleted} deleted`);if(K.renamed)y.push(`${K.renamed} renamed`);if(V.file(`${U.length} files${u}: ${y.join(", ")}`),V.plain(` ${M} changes: +${z} -${w}`),$||U.length<=5){V.newline();for(let RD of U){let c2=IM(RD.status);V.plain(` ${c2} ${RD.file}: +${RD.additions} -${RD.deletions}`)}}V.newline(),V.robot("Loading executors and Agents...")}let N=await v0(),I=N.filter((y)=>y.enabled);if(!F)V.success(`Loaded ${I.length} executor(s)`);let f=await B2();if(H&&H.length>0){if(f=f.filter((y)=>H.includes(y.name)),!F)V.info(`Filtering agents: ${H.join(", ")}`)}let L=f.filter((y)=>y.enabled);if(!F)V.success(`Loaded ${L.length} Agent(s)`),V.newline();let e=await new j7(f,N).execute(U,{verbose:$,quiet:F,concurrency:G.concurrency,skipValidation:J,stream:B,baseRef:Q,headRef:X}),B0=e.context.results.flatMap((y)=>y.issues),n=B0;if(_&&_.length>0)n=B0.filter((y)=>_.includes(y.severity));if(F){let y=e.context.results.filter((RD)=>RD.success).length,p=aB(n,e.success,e.totalDuration,e.context.results.length,y,U.length);console.log(p)}else{if(V.separator(),e.success)V.success(`Pipeline completed successfully in ${e.totalDuration}ms`);else V.warn(`Pipeline completed with errors in ${e.totalDuration}ms`);let y=e.context.results.filter((p)=>p.success).length;if(V.chart(`${y}/${e.context.results.length} agents succeeded`),_&&_.length>0){let p=_.join(", ");V.info(`Filtering by severity: ${p}`)}if(n.length>0){let p=n.reduce((c2,Z7)=>{return c2[Z7.severity]=(c2[Z7.severity]||0)+1,c2},{}),RD=[];if(p.critical)RD.push(`${p.critical} critical`);if(p.high)RD.push(`${p.high} high`);if(p.medium)RD.push(`${p.medium} medium`);if(p.low)RD.push(`${p.low} low`);V.chart(`${n.length} issue(s): ${RD.join(", ")}`),V.newline(),console.log(rB(n))}else if(V.newline(),_&&_.length>0){let p=_.join(", ");V.success(`No ${p} issues found \uD83C\uDF89`)}else V.success("No issues found \uD83C\uDF89");V.newline()}if(W){if(await M8(W),!F)V.info(`Restored to ${W}`)}}var SM=MD({meta:{name:"review",description:`Run code review on current changes
322
-
323
- Examples:
324
- diffray review Review uncommitted changes
325
- diffray review --base main Compare current branch to main
326
- diffray review --agent general Run only general agent
327
- diffray review --agent bug-hunter,security-scan
328
- diffray review --severity critical,high
329
- diffray review --stream Show thinking and tool usage`},args:{stream:{type:"boolean",description:"Show streaming output (thinking, tools, preliminary issues)"},verbose:{type:"boolean",description:"Show raw JSON stream"},json:{type:"boolean",description:"Output results in JSON format"},severity:{type:"string",description:"Filter issues by severity (comma-separated: critical,high,medium,low)"},base:{type:"string",description:"Base commit/branch to compare from (e.g., main, HEAD~3)"},head:{type:"string",description:"Head commit/branch to compare to (default: HEAD)"},"skip-validation":{type:"boolean",description:"Skip validation stage (show all issues without filtering)"},agent:{type:"string",description:"Run only specific agents (comma-separated: bug-hunter,security-scan)"}},run:async({args:D})=>{await bM({...D,skipValidation:D["skip-validation"]})}}),rq=MD({meta:{name:"diffray",version:E4.version,description:"AI-powered code review CLI"},subCommands:{review:SM,config:Iq,agents:Tq,executors:mq,rules:dq,cache:nq}});var v={reset:"\x1B[0m",bold:"\x1B[1m",dim:"\x1B[2m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",gray:"\x1B[90m"},aq=new Set;function sq(){process.stdout.write("\x1B[?25h")}process.on("SIGINT",()=>{for(let D of aq)D.stop();sq(),console.log(`
330
- ${v.yellow}!${v.reset} Interrupted - shutting down gracefully`),process.exit(130)});process.on("SIGTERM",()=>{for(let D of aq)D.stop();sq(),console.log(`
331
- ${v.yellow}!${v.reset} Terminated - shutting down gracefully`),process.exit(143)});var L7={success:(D)=>{console.log(`${v.green}✓${v.reset} ${D}`)},error:(D,$)=>{let F=$?`${D} ${$}`:D;console.error(`${v.red}✗${v.reset} ${F}`)},warn:(D,$)=>{let F=$?`${D} ${$}`:D;console.warn(`${v.yellow}!${v.reset} ${F}`)},info:(D)=>{console.log(`${v.blue}○${v.reset} ${D}`)},debug:(D)=>{if(process.env.DEBUG)console.log(`${v.gray}·${v.reset} ${D}`)},plain:(D)=>{console.log(D)},load:(D)=>console.log(`${v.cyan}▸${v.reset} ${D}`),match:(D)=>console.log(`${v.magenta}◆${v.reset} ${D}`),execute:(D)=>console.log(`${v.blue}›${v.reset} ${D}`),agent:(D)=>console.log(`${v.cyan}◉${v.reset} ${D}`),done:(D)=>console.log(`${v.green}✓${v.reset} ${D}`),analyze:(D)=>console.log(`${v.blue}○${v.reset} ${D}`),run:(D)=>console.log(`${v.green}▶${v.reset} ${D}`),stats:(D)=>console.log(` ${D}`),rocket:(D)=>console.log(`${v.magenta}▲${v.reset} ${D}`),robot:(D)=>console.log(`${v.cyan}◉${v.reset} ${D}`),chart:(D)=>console.log(`${v.blue}■${v.reset} ${D}`),file:(D)=>console.log(`${v.gray}◇${v.reset} ${D}`),sync:(D)=>console.log(`${v.cyan}↻${v.reset} ${D}`),lightning:(D)=>console.log(`${v.yellow}⚡${v.reset} ${D}`),sparkles:(D)=>console.log(`${v.magenta}✦${v.reset} ${D}`),logo:()=>{console.log(`
332
- ██████╗ ██╗ ███████╗ ███████╗ ██████╗ █████╗ ██╗ ██╗
333
- ██╔══██╗ ██║ ██╔════╝ ██╔════╝ ██╔══██╗ ██╔══██╗ ╚██╗ ██╔╝
334
- ██║ ██║ ██║ █████╗ █████╗ ██████╔╝ ███████║ ╚████╔╝ ${v.bold}Multi-agent code review${v.reset}
335
- ██║ ██║ ██║ ██╔══╝ ██╔══╝ ██╔══██╗ ██╔══██║ ╚██╔╝
336
- ██████╔╝ ██║ ██║ ██║ ██║ ██║ ██║ ██║ ██║
337
- ╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝
338
- `)},separator:(D="=",$=80)=>{console.log(D.repeat($))},newline:()=>console.log()};var oq={name:"diffray",version:"0.1.3",description:"AI-powered code review CLI for git changes",author:"Ilya Strelov <strelov1@gmail.com>",license:"MIT",type:"module",bin:{diffray:"./dist/diffray.js"},files:["dist/diffray.js","dist/defaults","src/defaults"],scripts:{dev:"bun run ./bin/diffray.ts",build:`bun build ./bin/diffray.ts --outfile dist/diffray.js --target node --minify && node -e "const fs=require('fs');const f='dist/diffray.js';fs.writeFileSync(f,fs.readFileSync(f,'utf8').replace('#!/usr/bin/env bun','#!/usr/bin/env node'))" && cp -r src/defaults dist/`,"link:local":`node -e "const p=require('./package.json');p.bin.diffray='./bin/diffray.ts';require('fs').writeFileSync('package.json',JSON.stringify(p,null,2)+'\\n')" && bun link`,"link:publish":`node -e "const p=require('./package.json');p.bin.diffray='./dist/diffray.js';require('fs').writeFileSync('package.json',JSON.stringify(p,null,2)+'\\n')"`,link:"bun link",unlink:"bun unlink",test:"bun test","ts-check":"tsc --noEmit",lint:"eslint .","lint:fix":"eslint . --fix",format:"prettier --write .","format:check":"prettier --check .",prepublishOnly:"npm run build && npm run link:publish"},repository:{type:"git",url:"git+https://github.com/diffray/diffray.git"},homepage:"https://github.com/diffray/diffray#readme",bugs:{url:"https://github.com/diffray/diffray/issues"},keywords:["code-review","ai","cli","git","diff","llm","claude","cerebras","pull-request"],engines:{node:">=18.0.0"},os:["darwin","linux","win32"],cpu:["x64","arm64"],devDependencies:{"@eslint/js":"^9.39.2","@types/bun":"latest","@typescript-eslint/eslint-plugin":"^8.52.0","@typescript-eslint/parser":"^8.52.0",eslint:"^9.39.2","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4",prettier:"^3.7.4"},peerDependencies:{typescript:"^5"},dependencies:{citty:"^0.1.6",diff:"^8.0.2",glob:"^13.0.0",yaml:"^2.8.2",zod:"^3.22.4"}};var d1=process.argv.slice(2),PM=["-v","--version","-h","--help"],vM=d1.length===0||d1.some((D)=>PM.includes(D));if(vM){if(L7.logo(),d1.includes("-v")||d1.includes("--version"))L7.plain(`v${oq.version}`),process.exit(0)}K4(rq);