@photon-ai/cli 2.0.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.md +32 -4
  2. package/dist/photon.js +77 -139
  3. package/package.json +4 -2
package/dist/photon.js CHANGED
@@ -1,152 +1,90 @@
1
1
  #!/usr/bin/env node
2
- import{createRequire as IJ}from"node:module";var qJ=Object.create;var{getPrototypeOf:AJ,defineProperty:I6,getOwnPropertyNames:UJ}=Object;var WJ=Object.prototype.hasOwnProperty;function NJ(D){return this[D]}var $J,VJ,HD=(D,F,u)=>{var E=D!=null&&typeof D==="object";if(E){var B=F?$J??=new WeakMap:VJ??=new WeakMap,C=B.get(D);if(C)return C}u=D!=null?qJ(AJ(D)):{};let Z=F||!D||!D.__esModule?I6(u,"default",{value:D,enumerable:!0}):u;for(let J of UJ(D))if(!WJ.call(Z,J))I6(Z,J,{get:NJ.bind(D,J),enumerable:!0});if(E)B.set(D,Z);return Z};var T=(D,F)=>()=>(F||D((F={exports:{}}).exports,F),F.exports);var i=IJ(import.meta.url);var U2=T((oW,T6)=>{var T3=[],M6=0,WD=(D,F)=>{if(M6>=F)T3.push(D)};WD.WARN=1;WD.INFO=2;WD.DEBUG=3;WD.reset=()=>{T3=[]};WD.setDebugLevel=(D)=>{M6=D};WD.warn=(D)=>WD(D,WD.WARN);WD.info=(D)=>WD(D,WD.INFO);WD.debug=(D)=>WD(D,WD.DEBUG);WD.debugMessages=()=>T3;T6.exports=WD});var _6=T((tW,O6)=>{O6.exports=({onlyFirst:D=!1}={})=>{let F=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(F,D?void 0:"g")}});var R6=T((eW,L6)=>{var MJ=_6();L6.exports=(D)=>typeof D==="string"?D.replace(MJ(),""):D});var S6=T((DN,O3)=>{var j6=(D)=>{if(Number.isNaN(D))return!1;if(D>=4352&&(D<=4447||D===9001||D===9002||11904<=D&&D<=12871&&D!==12351||12880<=D&&D<=19903||19968<=D&&D<=42182||43360<=D&&D<=43388||44032<=D&&D<=55203||63744<=D&&D<=64255||65040<=D&&D<=65049||65072<=D&&D<=65131||65281<=D&&D<=65376||65504<=D&&D<=65510||110592<=D&&D<=110593||127488<=D&&D<=127569||131072<=D&&D<=262141))return!0;return!1};O3.exports=j6;O3.exports.default=j6});var w6=T((FN,P6)=>{P6.exports=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g}});var L3=T((uN,_3)=>{var TJ=R6(),OJ=S6(),_J=w6(),x6=(D)=>{if(typeof D!=="string"||D.length===0)return 0;if(D=TJ(D),D.length===0)return 0;D=D.replace(_J()," ");let F=0;for(let u=0;u<D.length;u++){let E=D.codePointAt(u);if(E<=31||E>=127&&E<=159)continue;if(E>=768&&E<=879)continue;if(E>65535)u++;F+=OJ(E)?2:1}return F};_3.exports=x6;_3.exports.default=x6});var R3=T((EN,f6)=>{var k6=L3();function W2(D){return D?/\u001b\[((?:\d*;){0,5}\d*)m/g:/\u001b\[(?:\d*;){0,5}\d*m/g}function tD(D){let F=W2();return(""+D).replace(F,"").split(`
3
- `).reduce(function(B,C){return k6(C)>B?k6(C):B},0)}function MF(D,F){return Array(F+1).join(D)}function LJ(D,F,u,E){let B=tD(D);if(F+1>=B){let C=F-B;switch(E){case"right":{D=MF(u,C)+D;break}case"center":{let Z=Math.ceil(C/2),J=C-Z;D=MF(u,J)+D+MF(u,Z);break}default:{D=D+MF(u,C);break}}}return D}var r0={};function TF(D,F,u){F="\x1B["+F+"m",u="\x1B["+u+"m",r0[F]={set:D,to:!0},r0[u]={set:D,to:!1},r0[D]={on:F,off:u}}TF("bold",1,22);TF("italics",3,23);TF("underline",4,24);TF("inverse",7,27);TF("strikethrough",9,29);function y6(D,F){let u=F[1]?parseInt(F[1].split(";")[0]):0;if(u>=30&&u<=39||u>=90&&u<=97){D.lastForegroundAdded=F[0];return}if(u>=40&&u<=49||u>=100&&u<=107){D.lastBackgroundAdded=F[0];return}if(u===0){for(let B in D)if(Object.prototype.hasOwnProperty.call(D,B))delete D[B];return}let E=r0[F[0]];if(E)D[E.set]=E.to}function RJ(D){let F=W2(!0),u=F.exec(D),E={};while(u!==null)y6(E,u),u=F.exec(D);return E}function b6(D,F){let{lastBackgroundAdded:u,lastForegroundAdded:E}=D;if(delete D.lastBackgroundAdded,delete D.lastForegroundAdded,Object.keys(D).forEach(function(B){if(D[B])F+=r0[B].off}),u&&u!="\x1B[49m")F+="\x1B[49m";if(E&&E!="\x1B[39m")F+="\x1B[39m";return F}function jJ(D,F){let{lastBackgroundAdded:u,lastForegroundAdded:E}=D;if(delete D.lastBackgroundAdded,delete D.lastForegroundAdded,Object.keys(D).forEach(function(B){if(D[B])F=r0[B].on+F}),u&&u!="\x1B[49m")F=u+F;if(E&&E!="\x1B[39m")F=E+F;return F}function SJ(D,F){if(D.length===tD(D))return D.substr(0,F);while(tD(D)>F)D=D.slice(0,-1);return D}function PJ(D,F){let u=W2(!0),E=D.split(W2()),B=0,C=0,Z="",J,X={};while(C<F){J=u.exec(D);let Y=E[B];if(B++,C+tD(Y)>F)Y=SJ(Y,F-C);if(Z+=Y,C+=tD(Y),C<F){if(!J)break;Z+=J[0],y6(X,J)}}return b6(X,Z)}function wJ(D,F,u){if(u=u||"…",tD(D)<=F)return D;F-=tD(u);let B=PJ(D,F);B+=u;let C="\x1B]8;;\x07";if(D.includes(C)&&!B.includes(C))B+=C;return B}function xJ(){return{chars:{top:"─","top-mid":"┬","top-left":"┌","top-right":"┐",bottom:"─","bottom-mid":"┴","bottom-left":"└","bottom-right":"┘",left:"│","left-mid":"├",mid:"─","mid-mid":"┼",right:"│","right-mid":"┤",middle:"│"},truncate:"…",colWidths:[],rowHeights:[],colAligns:[],rowAligns:[],style:{"padding-left":1,"padding-right":1,head:["red"],border:["grey"],compact:!1},head:[]}}function kJ(D,F){D=D||{},F=F||xJ();let u=Object.assign({},F,D);return u.chars=Object.assign({},F.chars,D.chars),u.style=Object.assign({},F.style,D.style),u}function yJ(D,F){let u=[],E=F.split(/(\s+)/g),B=[],C=0,Z;for(let J=0;J<E.length;J+=2){let X=E[J],Y=C+tD(X);if(C>0&&Z)Y+=Z.length;if(Y>D){if(C!==0)u.push(B.join(""));B=[X],C=tD(X)}else B.push(Z||"",X),C=Y;Z=E[J+1]}if(C)u.push(B.join(""));return u}function bJ(D,F){let u=[],E="";function B(Z,J){if(E.length&&J)E+=J;E+=Z;while(E.length>D)u.push(E.slice(0,D)),E=E.slice(D)}let C=F.split(/(\s+)/g);for(let Z=0;Z<C.length;Z+=2)B(C[Z],Z&&C[Z-1]);if(E.length)u.push(E);return u}function fJ(D,F,u=!0){let E=[];F=F.split(`
4
- `);let B=u?yJ:bJ;for(let C=0;C<F.length;C++)E.push.apply(E,B(D,F[C]));return E}function vJ(D){let F={},u=[];for(let E=0;E<D.length;E++){let B=jJ(F,D[E]);F=RJ(B);let C=Object.assign({},F);u.push(b6(C,B))}return u}function hJ(D,F){return["\x1B]","8",";",";",D||F,"\x07",F,"\x1B]","8",";",";","\x07"].join("")}f6.exports={strlen:tD,repeat:MF,pad:LJ,truncate:wJ,mergeOptions:kJ,wordWrap:fJ,colorizeLines:vJ,hyperlink:hJ}});var m6=T((BN,g6)=>{var h6={};g6.exports=h6;var v6={reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29],black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],gray:[90,39],grey:[90,39],brightRed:[91,39],brightGreen:[92,39],brightYellow:[93,39],brightBlue:[94,39],brightMagenta:[95,39],brightCyan:[96,39],brightWhite:[97,39],bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgGray:[100,49],bgGrey:[100,49],bgBrightRed:[101,49],bgBrightGreen:[102,49],bgBrightYellow:[103,49],bgBrightBlue:[104,49],bgBrightMagenta:[105,49],bgBrightCyan:[106,49],bgBrightWhite:[107,49],blackBG:[40,49],redBG:[41,49],greenBG:[42,49],yellowBG:[43,49],blueBG:[44,49],magentaBG:[45,49],cyanBG:[46,49],whiteBG:[47,49]};Object.keys(v6).forEach(function(D){var F=v6[D],u=h6[D]=[];u.open="\x1B["+F[0]+"m",u.close="\x1B["+F[1]+"m"})});var c6=T((CN,d6)=>{d6.exports=function(D,F){F=F||process.argv;var u=F.indexOf("--"),E=/^-{1,2}/.test(D)?"":"--",B=F.indexOf(E+D);return B!==-1&&(u===-1?!0:B<u)}});var p6=T((ZN,l6)=>{var gJ=i("os"),cD=c6(),TD=process.env,s0=void 0;if(cD("no-color")||cD("no-colors")||cD("color=false"))s0=!1;else if(cD("color")||cD("colors")||cD("color=true")||cD("color=always"))s0=!0;if("FORCE_COLOR"in TD)s0=TD.FORCE_COLOR.length===0||parseInt(TD.FORCE_COLOR,10)!==0;function mJ(D){if(D===0)return!1;return{level:D,hasBasic:!0,has256:D>=2,has16m:D>=3}}function dJ(D){if(s0===!1)return 0;if(cD("color=16m")||cD("color=full")||cD("color=truecolor"))return 3;if(cD("color=256"))return 2;if(D&&!D.isTTY&&s0!==!0)return 0;var F=s0?1:0;if(process.platform==="win32"){var u=gJ.release().split(".");if(Number(process.versions.node.split(".")[0])>=8&&Number(u[0])>=10&&Number(u[2])>=10586)return Number(u[2])>=14931?3:2;return 1}if("CI"in TD){if(["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(function(B){return B in TD})||TD.CI_NAME==="codeship")return 1;return F}if("TEAMCITY_VERSION"in TD)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(TD.TEAMCITY_VERSION)?1:0;if("TERM_PROGRAM"in TD){var E=parseInt((TD.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(TD.TERM_PROGRAM){case"iTerm.app":return E>=3?3:2;case"Hyper":return 3;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(TD.TERM))return 2;if(/^screen|^xterm|^vt100|^rxvt|color|ansi|cygwin|linux/i.test(TD.TERM))return 1;if("COLORTERM"in TD)return 1;if(TD.TERM==="dumb")return F;return F}function j3(D){var F=dJ(D);return mJ(F)}l6.exports={supportsColor:j3,stdout:j3(process.stdout),stderr:j3(process.stderr)}});var n6=T((JN,i6)=>{i6.exports=function(F,u){var E="";F=F||"Run the trap, drop the bass",F=F.split("");var B={a:["@","Ą","Ⱥ","Ʌ","Δ","Λ","Д"],b:["ß","Ɓ","Ƀ","ɮ","β","฿"],c:["©","Ȼ","Ͼ"],d:["Ð","Ɗ","Ԁ","ԁ","Ԃ","ԃ"],e:["Ë","ĕ","Ǝ","ɘ","Σ","ξ","Ҽ","੬"],f:["Ӻ"],g:["ɢ"],h:["Ħ","ƕ","Ң","Һ","Ӈ","Ԋ"],i:["༏"],j:["Ĵ"],k:["ĸ","Ҡ","Ӄ","Ԟ"],l:["Ĺ"],m:["ʍ","Ӎ","ӎ","Ԡ","ԡ","൩"],n:["Ñ","ŋ","Ɲ","Ͷ","Π","Ҋ"],o:["Ø","õ","ø","Ǿ","ʘ","Ѻ","ם","۝","๏"],p:["Ƿ","Ҏ"],q:["্"],r:["®","Ʀ","Ȑ","Ɍ","ʀ","Я"],s:["§","Ϟ","ϟ","Ϩ"],t:["Ł","Ŧ","ͳ"],u:["Ʊ","Ս"],v:["ט"],w:["Ш","Ѡ","Ѽ","൰"],x:["Ҳ","Ӿ","Ӽ","ӽ"],y:["¥","Ұ","Ӌ"],z:["Ƶ","ɀ"]};return F.forEach(function(C){C=C.toLowerCase();var Z=B[C]||[" "],J=Math.floor(Math.random()*Z.length);if(typeof B[C]<"u")E+=B[C][J];else E+=C}),E}});var r6=T((YN,a6)=>{a6.exports=function(F,u){F=F||" he is here ";var E={up:["̍","̎","̄","̅","̿","̑","̆","̐","͒","͗","͑","̇","̈","̊","͂","̓","̈","͊","͋","͌","̃","̂","̌","͐","̀","́","̋","̏","̒","̓","̔","̽","̉","ͣ","ͤ","ͥ","ͦ","ͧ","ͨ","ͩ","ͪ","ͫ","ͬ","ͭ","ͮ","ͯ","̾","͛","͆","̚"],down:["̖","̗","̘","̙","̜","̝","̞","̟","̠","̤","̥","̦","̩","̪","̫","̬","̭","̮","̯","̰","̱","̲","̳","̹","̺","̻","̼","ͅ","͇","͈","͉","͍","͎","͓","͔","͕","͖","͙","͚","̣"],mid:["̕","̛","̀","́","͘","̡","̢","̧","̨","̴","̵","̶","͜","͝","͞","͟","͠","͢","̸","̷","͡"," ҉"]},B=[].concat(E.up,E.down,E.mid);function C(X){var Y=Math.floor(Math.random()*X);return Y}function Z(X){var Y=!1;return B.filter(function(H){Y=H===X}),Y}function J(X,Y){var H="",G,K;Y=Y||{},Y.up=typeof Y.up<"u"?Y.up:!0,Y.mid=typeof Y.mid<"u"?Y.mid:!0,Y.down=typeof Y.down<"u"?Y.down:!0,Y.size=typeof Y.size<"u"?Y.size:"maxi",X=X.split("");for(K in X){if(Z(K))continue;switch(H=H+X[K],G={up:0,down:0,mid:0},Y.size){case"mini":G.up=C(8),G.mid=C(2),G.down=C(8);break;case"maxi":G.up=C(16)+3,G.mid=C(4)+1,G.down=C(64)+3;break;default:G.up=C(8)+1,G.mid=C(6)/2,G.down=C(8)+1;break}var Q=["up","mid","down"];for(var z in Q){var q=Q[z];for(var W=0;W<=G[q];W++)if(Y[q])H=H+E[q][C(E[q].length)]}}return H}return J(F,u)}});var o6=T((HN,s6)=>{s6.exports=function(D){return function(F,u,E){if(F===" ")return F;switch(u%3){case 0:return D.red(F);case 1:return D.white(F);case 2:return D.blue(F)}}}});var e6=T((XN,t6)=>{t6.exports=function(D){return function(F,u,E){return u%2===0?F:D.inverse(F)}}});var F9=T((GN,D9)=>{D9.exports=function(D){var F=["red","yellow","green","blue","magenta"];return function(u,E,B){if(u===" ")return u;else return D[F[E++%F.length]](u)}}});var E9=T((QN,u9)=>{u9.exports=function(D){var F=["underline","inverse","grey","yellow","red","green","blue","white","cyan","magenta","brightYellow","brightRed","brightGreen","brightBlue","brightWhite","brightCyan","brightMagenta"];return function(u,E,B){return u===" "?u:D[F[Math.round(Math.random()*(F.length-2))]](u)}}});var Y9=T((zN,J9)=>{var n={};J9.exports=n;n.themes={};var cJ=i("util"),R0=n.styles=m6(),B9=Object.defineProperties,lJ=new RegExp(/[\r\n]+/g);n.supportsColor=p6().supportsColor;if(typeof n.enabled>"u")n.enabled=n.supportsColor()!==!1;n.enable=function(){n.enabled=!0};n.disable=function(){n.enabled=!1};n.stripColors=n.strip=function(D){return(""+D).replace(/\x1B\[\d+m/g,"")};var KN=n.stylize=function(F,u){if(!n.enabled)return F+"";var E=R0[u];if(!E&&u in n)return n[u](F);return E.open+F+E.close},pJ=/[|\\{}()[\]^$+*?.]/g,iJ=function(D){if(typeof D!=="string")throw TypeError("Expected a string");return D.replace(pJ,"\\$&")};function C9(D){var F=function u(){return aJ.apply(u,arguments)};return F._styles=D,F.__proto__=nJ,F}var Z9=function(){var D={};return R0.grey=R0.gray,Object.keys(R0).forEach(function(F){R0[F].closeRe=new RegExp(iJ(R0[F].close),"g"),D[F]={get:function(){return C9(this._styles.concat(F))}}}),D}(),nJ=B9(function(){},Z9);function aJ(){var D=Array.prototype.slice.call(arguments),F=D.map(function(Z){if(Z!=null&&Z.constructor===String)return Z;else return cJ.inspect(Z)}).join(" ");if(!n.enabled||!F)return F;var u=F.indexOf(`
5
- `)!=-1,E=this._styles,B=E.length;while(B--){var C=R0[E[B]];if(F=C.open+F.replace(C.closeRe,C.open)+C.close,u)F=F.replace(lJ,function(Z){return C.close+Z+C.open})}return F}n.setTheme=function(D){if(typeof D==="string"){console.log("colors.setTheme now only accepts an object, not a string. If you are trying to set a theme from a file, it is now your (the caller's) responsibility to require the file. The old syntax looked like colors.setTheme(__dirname + '/../themes/generic-logging.js'); The new syntax looks like colors.setTheme(require(__dirname + '/../themes/generic-logging.js'));");return}for(var F in D)(function(u){n[u]=function(E){if(typeof D[u]==="object"){var B=E;for(var C in D[u])B=n[D[u][C]](B);return B}return n[D[u]](E)}})(F)};function rJ(){var D={};return Object.keys(Z9).forEach(function(F){D[F]={get:function(){return C9([F])}}}),D}var sJ=function(F,u){var E=u.split("");return E=E.map(F),E.join("")};n.trap=n6();n.zalgo=r6();n.maps={};n.maps.america=o6()(n);n.maps.zebra=e6()(n);n.maps.rainbow=F9()(n);n.maps.random=E9()(n);for(S3 in n.maps)(function(D){n[D]=function(F){return sJ(n.maps[D],F)}})(S3);var S3;B9(n,rJ())});var X9=T((qN,H9)=>{var oJ=Y9();H9.exports=oJ});var z9=T((AN,V2)=>{var{info:tJ,debug:K9}=U2(),wD=R3();class OF{constructor(D){this.setOptions(D),this.x=null,this.y=null}setOptions(D){if(["boolean","number","bigint","string"].indexOf(typeof D)!==-1)D={content:""+D};D=D||{},this.options=D;let F=D.content;if(["boolean","number","bigint","string"].indexOf(typeof F)!==-1)this.content=String(F);else if(!F)this.content=this.options.href||"";else throw Error("Content needs to be a primitive, got: "+typeof F);if(this.colSpan=D.colSpan||1,this.rowSpan=D.rowSpan||1,this.options.href)Object.defineProperty(this,"href",{get(){return this.options.href}})}mergeTableOptions(D,F){this.cells=F;let u=this.options.chars||{},E=D.chars,B=this.chars={};DY.forEach(function(J){P3(u,E,J,B)}),this.truncate=this.options.truncate||D.truncate;let C=this.options.style=this.options.style||{},Z=D.style;P3(C,Z,"padding-left",this),P3(C,Z,"padding-right",this),this.head=C.head||Z.head,this.border=C.border||Z.border,this.fixedWidth=D.colWidths[this.x],this.lines=this.computeLines(D),this.desiredWidth=wD.strlen(this.content)+this.paddingLeft+this.paddingRight,this.desiredHeight=this.lines.length}computeLines(D){let F=D.wordWrap||D.textWrap,{wordWrap:u=F}=this.options;if(this.fixedWidth&&u){if(this.fixedWidth-=this.paddingLeft+this.paddingRight,this.colSpan){let C=1;while(C<this.colSpan)this.fixedWidth+=D.colWidths[this.x+C],C++}let{wrapOnWordBoundary:E=!0}=D,{wrapOnWordBoundary:B=E}=this.options;return this.wrapLines(wD.wordWrap(this.fixedWidth,this.content,B))}return this.wrapLines(this.content.split(`
6
- `))}wrapLines(D){let F=wD.colorizeLines(D);if(this.href)return F.map((u)=>wD.hyperlink(this.href,u));return F}init(D){let F=this.x,u=this.y;this.widths=D.colWidths.slice(F,F+this.colSpan),this.heights=D.rowHeights.slice(u,u+this.rowSpan),this.width=this.widths.reduce(Q9,-1),this.height=this.heights.reduce(Q9,-1),this.hAlign=this.options.hAlign||D.colAligns[F],this.vAlign=this.options.vAlign||D.rowAligns[u],this.drawRight=F+this.colSpan==D.colWidths.length}draw(D,F){if(D=="top")return this.drawTop(this.drawRight);if(D=="bottom")return this.drawBottom(this.drawRight);let u=wD.truncate(this.content,10,this.truncate);if(!D)tJ(`${this.y}-${this.x}: ${this.rowSpan-D}x${this.colSpan} Cell ${u}`);let E=Math.max(this.height-this.lines.length,0),B;switch(this.vAlign){case"center":B=Math.ceil(E/2);break;case"bottom":B=E;break;default:B=0}if(D<B||D>=B+this.lines.length)return this.drawEmpty(this.drawRight,F);let C=this.lines.length>this.height&&D+1>=this.height;return this.drawLine(D-B,this.drawRight,C,F)}drawTop(D){let F=[];if(this.cells)this.widths.forEach(function(u,E){F.push(this._topLeftChar(E)),F.push(wD.repeat(this.chars[this.y==0?"top":"mid"],u))},this);else F.push(this._topLeftChar(0)),F.push(wD.repeat(this.chars[this.y==0?"top":"mid"],this.width));if(D)F.push(this.chars[this.y==0?"topRight":"rightMid"]);return this.wrapWithStyleColors("border",F.join(""))}_topLeftChar(D){let F=this.x+D,u;if(this.y==0)u=F==0?"topLeft":D==0?"topMid":"top";else if(F==0)u="leftMid";else if(u=D==0?"midMid":"bottomMid",this.cells){if(this.cells[this.y-1][F]instanceof OF.ColSpanCell)u=D==0?"topMid":"mid";if(D==0){let B=1;while(this.cells[this.y][F-B]instanceof OF.ColSpanCell)B++;if(this.cells[this.y][F-B]instanceof OF.RowSpanCell)u="leftMid"}}return this.chars[u]}wrapWithStyleColors(D,F){if(this[D]&&this[D].length)try{let u=X9();for(let E=this[D].length-1;E>=0;E--)u=u[this[D][E]];return u(F)}catch(u){return F}else return F}drawLine(D,F,u,E){let B=this.chars[this.x==0?"left":"middle"];if(this.x&&E&&this.cells){let G=this.cells[this.y+E][this.x-1];while(G instanceof N2)G=this.cells[G.y][G.x-1];if(!(G instanceof $2))B=this.chars.rightMid}let C=wD.repeat(" ",this.paddingLeft),Z=F?this.chars.right:"",J=wD.repeat(" ",this.paddingRight),X=this.lines[D],Y=this.width-(this.paddingLeft+this.paddingRight);if(u)X+=this.truncate||"…";let H=wD.truncate(X,Y,this.truncate);return H=wD.pad(H,Y," ",this.hAlign),H=C+H+J,this.stylizeLine(B,H,Z)}stylizeLine(D,F,u){if(D=this.wrapWithStyleColors("border",D),u=this.wrapWithStyleColors("border",u),this.y===0)F=this.wrapWithStyleColors("head",F);return D+F+u}drawBottom(D){let F=this.chars[this.x==0?"bottomLeft":"bottomMid"],u=wD.repeat(this.chars.bottom,this.width),E=D?this.chars.bottomRight:"";return this.wrapWithStyleColors("border",F+u+E)}drawEmpty(D,F){let u=this.chars[this.x==0?"left":"middle"];if(this.x&&F&&this.cells){let C=this.cells[this.y+F][this.x-1];while(C instanceof N2)C=this.cells[C.y][C.x-1];if(!(C instanceof $2))u=this.chars.rightMid}let E=D?this.chars.right:"",B=wD.repeat(" ",this.width);return this.stylizeLine(u,B,E)}}class N2{constructor(){}draw(D){if(typeof D==="number")K9(`${this.y}-${this.x}: 1x1 ColSpanCell`);return""}init(){}mergeTableOptions(){}}class $2{constructor(D){this.originalCell=D}init(D){let F=this.y,u=this.originalCell.y;this.cellOffset=F-u,this.offset=eJ(D.rowHeights,u,this.cellOffset)}draw(D){if(D=="top")return this.originalCell.draw(this.offset,this.cellOffset);if(D=="bottom")return this.originalCell.draw("bottom");return K9(`${this.y}-${this.x}: 1x${this.colSpan} RowSpanCell for ${this.originalCell.content}`),this.originalCell.draw(this.offset+1+D)}mergeTableOptions(){}}function G9(...D){return D.filter((F)=>F!==void 0&&F!==null).shift()}function P3(D,F,u,E){let B=u.split("-");if(B.length>1)B[1]=B[1].charAt(0).toUpperCase()+B[1].substr(1),B=B.join(""),E[B]=G9(D[B],D[u],F[B],F[u]);else E[u]=G9(D[u],F[u])}function eJ(D,F,u){let E=D[F];for(let B=1;B<u;B++)E+=1+D[F+B];return E}function Q9(D,F){return D+F+1}var DY=["top","top-mid","top-left","top-right","bottom","bottom-mid","bottom-left","bottom-right","left","left-mid","mid","mid-mid","right","right-mid","middle"];V2.exports=OF;V2.exports.ColSpanCell=N2;V2.exports.RowSpanCell=$2});var U9=T((UN,A9)=>{var{warn:FY,debug:uY}=U2(),w3=z9(),{ColSpanCell:EY,RowSpanCell:BY}=w3;(function(){function D(Q,z){if(Q[z]>0)return D(Q,z+1);return z}function F(Q){let z={};Q.forEach(function(q,W){let N=0;q.forEach(function(M){M.y=W,M.x=W?D(z,N):N;let $=M.rowSpan||1,U=M.colSpan||1;if($>1)for(let j=0;j<U;j++)z[M.x+j]=$;N=M.x+U}),Object.keys(z).forEach((M)=>{if(z[M]--,z[M]<1)delete z[M]})})}function u(Q){let z=0;return Q.forEach(function(q){q.forEach(function(W){z=Math.max(z,W.x+(W.colSpan||1))})}),z}function E(Q){return Q.length}function B(Q,z){let q=Q.y,W=Q.y-1+(Q.rowSpan||1),N=z.y,M=z.y-1+(z.rowSpan||1),$=!(q>M||N>W),U=Q.x,j=Q.x-1+(Q.colSpan||1),P=z.x,L=z.x-1+(z.colSpan||1),v=!(U>L||P>j);return $&&v}function C(Q,z,q){let W=Math.min(Q.length-1,q),N={x:z,y:q};for(let M=0;M<=W;M++){let $=Q[M];for(let U=0;U<$.length;U++)if(B(N,$[U]))return!0}return!1}function Z(Q,z,q,W){for(let N=q;N<W;N++)if(C(Q,N,z))return!1;return!0}function J(Q){Q.forEach(function(z,q){z.forEach(function(W){for(let N=1;N<W.rowSpan;N++){let M=new BY(W);M.x=W.x,M.y=W.y+N,M.colSpan=W.colSpan,Y(M,Q[q+N])}})})}function X(Q){for(let z=Q.length-1;z>=0;z--){let q=Q[z];for(let W=0;W<q.length;W++){let N=q[W];for(let M=1;M<N.colSpan;M++){let $=new EY;$.x=N.x+M,$.y=N.y,q.splice(W+1,0,$)}}}}function Y(Q,z){let q=0;while(q<z.length&&z[q].x<Q.x)q++;z.splice(q,0,Q)}function H(Q){let z=E(Q),q=u(Q);uY(`Max rows: ${z}; Max cols: ${q}`);for(let W=0;W<z;W++)for(let N=0;N<q;N++)if(!C(Q,N,W)){let M={x:N,y:W,colSpan:1,rowSpan:1};N++;while(N<q&&!C(Q,N,W))M.colSpan++,N++;let $=W+1;while($<z&&Z(Q,$,M.x,M.x+M.colSpan))M.rowSpan++,$++;let U=new w3(M);U.x=M.x,U.y=M.y,FY(`Missing cell at ${U.y}-${U.x}.`),Y(U,Q[W])}}function G(Q){return Q.map(function(z){if(!Array.isArray(z)){let q=Object.keys(z)[0];if(z=z[q],Array.isArray(z))z=z.slice(),z.unshift(q);else z=[q,z]}return z.map(function(q){return new w3(q)})})}function K(Q){let z=G(Q);return F(z),H(z),J(z),X(z),z}A9.exports={makeTableLayout:K,layoutTable:F,addRowSpanCells:J,maxWidth:u,fillInTable:H,computeWidths:q9("colSpan","desiredWidth","x",1),computeHeights:q9("rowSpan","desiredHeight","y",1)}})();function q9(D,F,u,E){return function(B,C){let Z=[],J=[],X={};C.forEach(function(Y){Y.forEach(function(H){if((H[D]||1)>1)J.push(H);else Z[H[u]]=Math.max(Z[H[u]]||0,H[F]||0,E)})}),B.forEach(function(Y,H){if(typeof Y==="number")Z[H]=Y});for(let Y=J.length-1;Y>=0;Y--){let H=J[Y],G=H[D],K=H[u],Q=Z[K],z=typeof B[K]==="number"?0:1;if(typeof Q==="number"){for(let q=1;q<G;q++)if(Q+=1+Z[K+q],typeof B[K+q]!=="number")z++}else if(Q=F==="desiredWidth"?H.desiredWidth-1:1,!X[K]||X[K]<Q)X[K]=Q;if(H[F]>Q){let q=0;while(z>0&&H[F]>Q){if(typeof B[K+q]!=="number"){let W=Math.round((H[F]-Q)/z);Q+=W,Z[K+q]+=W,z--}q++}}}Object.assign(B,Z,X);for(let Y=0;Y<B.length;Y++)B[Y]=Math.max(E,B[Y]||0)}}});var N9=T((WN,W9)=>{var J0=U2(),CY=R3(),x3=U9();class y3 extends Array{constructor(D){super();let F=CY.mergeOptions(D);if(Object.defineProperty(this,"options",{value:F,enumerable:F.debug}),F.debug){switch(typeof F.debug){case"boolean":J0.setDebugLevel(J0.WARN);break;case"number":J0.setDebugLevel(F.debug);break;case"string":J0.setDebugLevel(parseInt(F.debug,10));break;default:J0.setDebugLevel(J0.WARN),J0.warn(`Debug option is expected to be boolean, number, or string. Received a ${typeof F.debug}`)}Object.defineProperty(this,"messages",{get(){return J0.debugMessages()}})}}toString(){let D=this,F=this.options.head&&this.options.head.length;if(F){if(D=[this.options.head],this.length)D.push.apply(D,this)}else this.options.style.head=[];let u=x3.makeTableLayout(D);u.forEach(function(B){B.forEach(function(C){C.mergeTableOptions(this.options,u)},this)},this),x3.computeWidths(this.options.colWidths,u),x3.computeHeights(this.options.rowHeights,u),u.forEach(function(B){B.forEach(function(C){C.init(this.options)},this)},this);let E=[];for(let B=0;B<u.length;B++){let C=u[B],Z=this.options.rowHeights[B];if(B===0||!this.options.style.compact||B==1&&F)k3(C,"top",E);for(let J=0;J<Z;J++)k3(C,J,E);if(B+1==u.length)k3(C,"bottom",E)}return E.join(`
2
+ import{createRequire as O4}from"node:module";var R4=Object.create;var{getPrototypeOf:L4,defineProperty:N1,getOwnPropertyNames:f4}=Object;var S4=Object.prototype.hasOwnProperty;function _4(D){return this[D]}var k4,P4,ID=(D,F,B)=>{var E=D!=null&&typeof D==="object";if(E){var Z=F?k4??=new WeakMap:P4??=new WeakMap,J=Z.get(D);if(J)return J}B=D!=null?R4(L4(D)):{};let Y=F||!D||!D.__esModule?N1(B,"default",{value:D,enumerable:!0}):B;for(let H of f4(D))if(!S4.call(Y,H))N1(Y,H,{get:_4.bind(D,H),enumerable:!0});if(E)Z.set(D,Y);return Y};var w=(D,F)=>()=>(F||D((F={exports:{}}).exports,F),F.exports);var hD=O4(import.meta.url);var L0=w((fZ,V1)=>{var v2=[],M1=0,e=(D,F)=>{if(M1>=F)v2.push(D)};e.WARN=1;e.INFO=2;e.DEBUG=3;e.reset=()=>{v2=[]};e.setDebugLevel=(D)=>{M1=D};e.warn=(D)=>e(D,e.WARN);e.info=(D)=>e(D,e.INFO);e.debug=(D)=>e(D,e.DEBUG);e.debugMessages=()=>v2;V1.exports=e});var j1=w((SZ,A1)=>{A1.exports=({onlyFirst:D=!1}={})=>{let F=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(F,D?void 0:"g")}});var I1=w((_Z,T1)=>{var y4=j1();T1.exports=(D)=>typeof D==="string"?D.replace(y4(),""):D});var L1=w((kZ,h2)=>{var R1=(D)=>{if(Number.isNaN(D))return!1;if(D>=4352&&(D<=4447||D===9001||D===9002||11904<=D&&D<=12871&&D!==12351||12880<=D&&D<=19903||19968<=D&&D<=42182||43360<=D&&D<=43388||44032<=D&&D<=55203||63744<=D&&D<=64255||65040<=D&&D<=65049||65072<=D&&D<=65131||65281<=D&&D<=65376||65504<=D&&D<=65510||110592<=D&&D<=110593||127488<=D&&D<=127569||131072<=D&&D<=262141))return!0;return!1};h2.exports=R1;h2.exports.default=R1});var S1=w((PZ,f1)=>{f1.exports=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g}});var k1=w((OZ,g2)=>{var w4=I1(),x4=L1(),b4=S1(),_1=(D)=>{if(typeof D!=="string"||D.length===0)return 0;if(D=w4(D),D.length===0)return 0;D=D.replace(b4()," ");let F=0;for(let B=0;B<D.length;B++){let E=D.codePointAt(B);if(E<=31||E>=127&&E<=159)continue;if(E>=768&&E<=879)continue;if(E>65535)B++;F+=x4(E)?2:1}return F};g2.exports=_1;g2.exports.default=_1});var m2=w((yZ,w1)=>{var P1=k1();function f0(D){return D?/\u001b\[((?:\d*;){0,5}\d*)m/g:/\u001b\[(?:\d*;){0,5}\d*m/g}function MD(D){let F=f0();return(""+D).replace(F,"").split(`
3
+ `).reduce(function(Z,J){return P1(J)>Z?P1(J):Z},0)}function Y0(D,F){return Array(F+1).join(D)}function v4(D,F,B,E){let Z=MD(D);if(F+1>=Z){let J=F-Z;switch(E){case"right":{D=Y0(B,J)+D;break}case"center":{let Y=Math.ceil(J/2),H=J-Y;D=Y0(B,H)+D+Y0(B,Y);break}default:{D=D+Y0(B,J);break}}}return D}var rD={};function H0(D,F,B){F="\x1B["+F+"m",B="\x1B["+B+"m",rD[F]={set:D,to:!0},rD[B]={set:D,to:!1},rD[D]={on:F,off:B}}H0("bold",1,22);H0("italics",3,23);H0("underline",4,24);H0("inverse",7,27);H0("strikethrough",9,29);function O1(D,F){let B=F[1]?parseInt(F[1].split(";")[0]):0;if(B>=30&&B<=39||B>=90&&B<=97){D.lastForegroundAdded=F[0];return}if(B>=40&&B<=49||B>=100&&B<=107){D.lastBackgroundAdded=F[0];return}if(B===0){for(let Z in D)if(Object.prototype.hasOwnProperty.call(D,Z))delete D[Z];return}let E=rD[F[0]];if(E)D[E.set]=E.to}function h4(D){let F=f0(!0),B=F.exec(D),E={};while(B!==null)O1(E,B),B=F.exec(D);return E}function y1(D,F){let{lastBackgroundAdded:B,lastForegroundAdded:E}=D;if(delete D.lastBackgroundAdded,delete D.lastForegroundAdded,Object.keys(D).forEach(function(Z){if(D[Z])F+=rD[Z].off}),B&&B!="\x1B[49m")F+="\x1B[49m";if(E&&E!="\x1B[39m")F+="\x1B[39m";return F}function g4(D,F){let{lastBackgroundAdded:B,lastForegroundAdded:E}=D;if(delete D.lastBackgroundAdded,delete D.lastForegroundAdded,Object.keys(D).forEach(function(Z){if(D[Z])F=rD[Z].on+F}),B&&B!="\x1B[49m")F=B+F;if(E&&E!="\x1B[39m")F=E+F;return F}function m4(D,F){if(D.length===MD(D))return D.substr(0,F);while(MD(D)>F)D=D.slice(0,-1);return D}function c4(D,F){let B=f0(!0),E=D.split(f0()),Z=0,J=0,Y="",H,Q={};while(J<F){H=B.exec(D);let X=E[Z];if(Z++,J+MD(X)>F)X=m4(X,F-J);if(Y+=X,J+=MD(X),J<F){if(!H)break;Y+=H[0],O1(Q,H)}}return y1(Q,Y)}function d4(D,F,B){if(B=B||"…",MD(D)<=F)return D;F-=MD(B);let Z=c4(D,F);Z+=B;let J="\x1B]8;;\x07";if(D.includes(J)&&!Z.includes(J))Z+=J;return Z}function l4(){return{chars:{top:"─","top-mid":"┬","top-left":"┌","top-right":"┐",bottom:"─","bottom-mid":"┴","bottom-left":"└","bottom-right":"┘",left:"│","left-mid":"├",mid:"─","mid-mid":"┼",right:"│","right-mid":"┤",middle:"│"},truncate:"…",colWidths:[],rowHeights:[],colAligns:[],rowAligns:[],style:{"padding-left":1,"padding-right":1,head:["red"],border:["grey"],compact:!1},head:[]}}function p4(D,F){D=D||{},F=F||l4();let B=Object.assign({},F,D);return B.chars=Object.assign({},F.chars,D.chars),B.style=Object.assign({},F.style,D.style),B}function a4(D,F){let B=[],E=F.split(/(\s+)/g),Z=[],J=0,Y;for(let H=0;H<E.length;H+=2){let Q=E[H],X=J+MD(Q);if(J>0&&Y)X+=Y.length;if(X>D){if(J!==0)B.push(Z.join(""));Z=[Q],J=MD(Q)}else Z.push(Y||"",Q),J=X;Y=E[H+1]}if(J)B.push(Z.join(""));return B}function i4(D,F){let B=[],E="";function Z(Y,H){if(E.length&&H)E+=H;E+=Y;while(E.length>D)B.push(E.slice(0,D)),E=E.slice(D)}let J=F.split(/(\s+)/g);for(let Y=0;Y<J.length;Y+=2)Z(J[Y],Y&&J[Y-1]);if(E.length)B.push(E);return B}function n4(D,F,B=!0){let E=[];F=F.split(`
4
+ `);let Z=B?a4:i4;for(let J=0;J<F.length;J++)E.push.apply(E,Z(D,F[J]));return E}function r4(D){let F={},B=[];for(let E=0;E<D.length;E++){let Z=g4(F,D[E]);F=h4(Z);let J=Object.assign({},F);B.push(y1(J,Z))}return B}function s4(D,F){return["\x1B]","8",";",";",D||F,"\x07",F,"\x1B]","8",";",";","\x07"].join("")}w1.exports={strlen:MD,repeat:Y0,pad:v4,truncate:d4,mergeOptions:p4,wordWrap:n4,colorizeLines:r4,hyperlink:s4}});var h1=w((wZ,v1)=>{var b1={};v1.exports=b1;var x1={reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29],black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],gray:[90,39],grey:[90,39],brightRed:[91,39],brightGreen:[92,39],brightYellow:[93,39],brightBlue:[94,39],brightMagenta:[95,39],brightCyan:[96,39],brightWhite:[97,39],bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgGray:[100,49],bgGrey:[100,49],bgBrightRed:[101,49],bgBrightGreen:[102,49],bgBrightYellow:[103,49],bgBrightBlue:[104,49],bgBrightMagenta:[105,49],bgBrightCyan:[106,49],bgBrightWhite:[107,49],blackBG:[40,49],redBG:[41,49],greenBG:[42,49],yellowBG:[43,49],blueBG:[44,49],magentaBG:[45,49],cyanBG:[46,49],whiteBG:[47,49]};Object.keys(x1).forEach(function(D){var F=x1[D],B=b1[D]=[];B.open="\x1B["+F[0]+"m",B.close="\x1B["+F[1]+"m"})});var m1=w((xZ,g1)=>{g1.exports=function(D,F){F=F||process.argv;var B=F.indexOf("--"),E=/^-{1,2}/.test(D)?"":"--",Z=F.indexOf(E+D);return Z!==-1&&(B===-1?!0:Z<B)}});var d1=w((bZ,c1)=>{var o4=hD("os"),zD=m1(),BD=process.env,sD=void 0;if(zD("no-color")||zD("no-colors")||zD("color=false"))sD=!1;else if(zD("color")||zD("colors")||zD("color=true")||zD("color=always"))sD=!0;if("FORCE_COLOR"in BD)sD=BD.FORCE_COLOR.length===0||parseInt(BD.FORCE_COLOR,10)!==0;function t4(D){if(D===0)return!1;return{level:D,hasBasic:!0,has256:D>=2,has16m:D>=3}}function e4(D){if(sD===!1)return 0;if(zD("color=16m")||zD("color=full")||zD("color=truecolor"))return 3;if(zD("color=256"))return 2;if(D&&!D.isTTY&&sD!==!0)return 0;var F=sD?1:0;if(process.platform==="win32"){var B=o4.release().split(".");if(Number(process.versions.node.split(".")[0])>=8&&Number(B[0])>=10&&Number(B[2])>=10586)return Number(B[2])>=14931?3:2;return 1}if("CI"in BD){if(["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(function(Z){return Z in BD})||BD.CI_NAME==="codeship")return 1;return F}if("TEAMCITY_VERSION"in BD)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(BD.TEAMCITY_VERSION)?1:0;if("TERM_PROGRAM"in BD){var E=parseInt((BD.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(BD.TERM_PROGRAM){case"iTerm.app":return E>=3?3:2;case"Hyper":return 3;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(BD.TERM))return 2;if(/^screen|^xterm|^vt100|^rxvt|color|ansi|cygwin|linux/i.test(BD.TERM))return 1;if("COLORTERM"in BD)return 1;if(BD.TERM==="dumb")return F;return F}function c2(D){var F=e4(D);return t4(F)}c1.exports={supportsColor:c2,stdout:c2(process.stdout),stderr:c2(process.stderr)}});var p1=w((vZ,l1)=>{l1.exports=function(F,B){var E="";F=F||"Run the trap, drop the bass",F=F.split("");var Z={a:["@","Ą","Ⱥ","Ʌ","Δ","Λ","Д"],b:["ß","Ɓ","Ƀ","ɮ","β","฿"],c:["©","Ȼ","Ͼ"],d:["Ð","Ɗ","Ԁ","ԁ","Ԃ","ԃ"],e:["Ë","ĕ","Ǝ","ɘ","Σ","ξ","Ҽ","੬"],f:["Ӻ"],g:["ɢ"],h:["Ħ","ƕ","Ң","Һ","Ӈ","Ԋ"],i:["༏"],j:["Ĵ"],k:["ĸ","Ҡ","Ӄ","Ԟ"],l:["Ĺ"],m:["ʍ","Ӎ","ӎ","Ԡ","ԡ","൩"],n:["Ñ","ŋ","Ɲ","Ͷ","Π","Ҋ"],o:["Ø","õ","ø","Ǿ","ʘ","Ѻ","ם","۝","๏"],p:["Ƿ","Ҏ"],q:["্"],r:["®","Ʀ","Ȑ","Ɍ","ʀ","Я"],s:["§","Ϟ","ϟ","Ϩ"],t:["Ł","Ŧ","ͳ"],u:["Ʊ","Ս"],v:["ט"],w:["Ш","Ѡ","Ѽ","൰"],x:["Ҳ","Ӿ","Ӽ","ӽ"],y:["¥","Ұ","Ӌ"],z:["Ƶ","ɀ"]};return F.forEach(function(J){J=J.toLowerCase();var Y=Z[J]||[" "],H=Math.floor(Math.random()*Y.length);if(typeof Z[J]<"u")E+=Z[J][H];else E+=J}),E}});var i1=w((hZ,a1)=>{a1.exports=function(F,B){F=F||" he is here ";var E={up:["̍","̎","̄","̅","̿","̑","̆","̐","͒","͗","͑","̇","̈","̊","͂","̓","̈","͊","͋","͌","̃","̂","̌","͐","̀","́","̋","̏","̒","̓","̔","̽","̉","ͣ","ͤ","ͥ","ͦ","ͧ","ͨ","ͩ","ͪ","ͫ","ͬ","ͭ","ͮ","ͯ","̾","͛","͆","̚"],down:["̖","̗","̘","̙","̜","̝","̞","̟","̠","̤","̥","̦","̩","̪","̫","̬","̭","̮","̯","̰","̱","̲","̳","̹","̺","̻","̼","ͅ","͇","͈","͉","͍","͎","͓","͔","͕","͖","͙","͚","̣"],mid:["̕","̛","̀","́","͘","̡","̢","̧","̨","̴","̵","̶","͜","͝","͞","͟","͠","͢","̸","̷","͡"," ҉"]},Z=[].concat(E.up,E.down,E.mid);function J(Q){var X=Math.floor(Math.random()*Q);return X}function Y(Q){var X=!1;return Z.filter(function(C){X=C===Q}),X}function H(Q,X){var C="",G,u;X=X||{},X.up=typeof X.up<"u"?X.up:!0,X.mid=typeof X.mid<"u"?X.mid:!0,X.down=typeof X.down<"u"?X.down:!0,X.size=typeof X.size<"u"?X.size:"maxi",Q=Q.split("");for(u in Q){if(Y(u))continue;switch(C=C+Q[u],G={up:0,down:0,mid:0},X.size){case"mini":G.up=J(8),G.mid=J(2),G.down=J(8);break;case"maxi":G.up=J(16)+3,G.mid=J(4)+1,G.down=J(64)+3;break;default:G.up=J(8)+1,G.mid=J(6)/2,G.down=J(8)+1;break}var q=["up","mid","down"];for(var z in q){var $=q[z];for(var M=0;M<=G[$];M++)if(X[$])C=C+E[$][J(E[$].length)]}}return C}return H(F,B)}});var r1=w((gZ,n1)=>{n1.exports=function(D){return function(F,B,E){if(F===" ")return F;switch(B%3){case 0:return D.red(F);case 1:return D.white(F);case 2:return D.blue(F)}}}});var o1=w((mZ,s1)=>{s1.exports=function(D){return function(F,B,E){return B%2===0?F:D.inverse(F)}}});var e1=w((cZ,t1)=>{t1.exports=function(D){var F=["red","yellow","green","blue","magenta"];return function(B,E,Z){if(B===" ")return B;else return D[F[E++%F.length]](B)}}});var F3=w((dZ,D3)=>{D3.exports=function(D){var F=["underline","inverse","grey","yellow","red","green","blue","white","cyan","magenta","brightYellow","brightRed","brightGreen","brightBlue","brightWhite","brightCyan","brightMagenta"];return function(B,E,Z){return B===" "?B:D[F[Math.round(Math.random()*(F.length-2))]](B)}}});var Y3=w((pZ,J3)=>{var h={};J3.exports=h;h.themes={};var D9=hD("util"),mD=h.styles=h1(),B3=Object.defineProperties,F9=new RegExp(/[\r\n]+/g);h.supportsColor=d1().supportsColor;if(typeof h.enabled>"u")h.enabled=h.supportsColor()!==!1;h.enable=function(){h.enabled=!0};h.disable=function(){h.enabled=!1};h.stripColors=h.strip=function(D){return(""+D).replace(/\x1B\[\d+m/g,"")};var lZ=h.stylize=function(F,B){if(!h.enabled)return F+"";var E=mD[B];if(!E&&B in h)return h[B](F);return E.open+F+E.close},B9=/[|\\{}()[\]^$+*?.]/g,E9=function(D){if(typeof D!=="string")throw TypeError("Expected a string");return D.replace(B9,"\\$&")};function E3(D){var F=function B(){return J9.apply(B,arguments)};return F._styles=D,F.__proto__=Z9,F}var Z3=function(){var D={};return mD.grey=mD.gray,Object.keys(mD).forEach(function(F){mD[F].closeRe=new RegExp(E9(mD[F].close),"g"),D[F]={get:function(){return E3(this._styles.concat(F))}}}),D}(),Z9=B3(function(){},Z3);function J9(){var D=Array.prototype.slice.call(arguments),F=D.map(function(Y){if(Y!=null&&Y.constructor===String)return Y;else return D9.inspect(Y)}).join(" ");if(!h.enabled||!F)return F;var B=F.indexOf(`
5
+ `)!=-1,E=this._styles,Z=E.length;while(Z--){var J=mD[E[Z]];if(F=J.open+F.replace(J.closeRe,J.open)+J.close,B)F=F.replace(F9,function(Y){return J.close+Y+J.open})}return F}h.setTheme=function(D){if(typeof D==="string"){console.log("colors.setTheme now only accepts an object, not a string. If you are trying to set a theme from a file, it is now your (the caller's) responsibility to require the file. The old syntax looked like colors.setTheme(__dirname + '/../themes/generic-logging.js'); The new syntax looks like colors.setTheme(require(__dirname + '/../themes/generic-logging.js'));");return}for(var F in D)(function(B){h[B]=function(E){if(typeof D[B]==="object"){var Z=E;for(var J in D[B])Z=h[D[B][J]](Z);return Z}return h[D[B]](E)}})(F)};function Y9(){var D={};return Object.keys(Z3).forEach(function(F){D[F]={get:function(){return E3([F])}}}),D}var H9=function(F,B){var E=B.split("");return E=E.map(F),E.join("")};h.trap=p1();h.zalgo=i1();h.maps={};h.maps.america=r1()(h);h.maps.zebra=o1()(h);h.maps.rainbow=e1()(h);h.maps.random=F3()(h);for(d2 in h.maps)(function(D){h[D]=function(F){return H9(h.maps[D],F)}})(d2);var d2;B3(h,Y9())});var X3=w((aZ,H3)=>{var X9=Y3();H3.exports=X9});var K3=w((iZ,k0)=>{var{info:Q9,debug:G3}=L0(),HD=m2();class X0{constructor(D){this.setOptions(D),this.x=null,this.y=null}setOptions(D){if(["boolean","number","bigint","string"].indexOf(typeof D)!==-1)D={content:""+D};D=D||{},this.options=D;let F=D.content;if(["boolean","number","bigint","string"].indexOf(typeof F)!==-1)this.content=String(F);else if(!F)this.content=this.options.href||"";else throw Error("Content needs to be a primitive, got: "+typeof F);if(this.colSpan=D.colSpan||1,this.rowSpan=D.rowSpan||1,this.options.href)Object.defineProperty(this,"href",{get(){return this.options.href}})}mergeTableOptions(D,F){this.cells=F;let B=this.options.chars||{},E=D.chars,Z=this.chars={};G9.forEach(function(H){l2(B,E,H,Z)}),this.truncate=this.options.truncate||D.truncate;let J=this.options.style=this.options.style||{},Y=D.style;l2(J,Y,"padding-left",this),l2(J,Y,"padding-right",this),this.head=J.head||Y.head,this.border=J.border||Y.border,this.fixedWidth=D.colWidths[this.x],this.lines=this.computeLines(D),this.desiredWidth=HD.strlen(this.content)+this.paddingLeft+this.paddingRight,this.desiredHeight=this.lines.length}computeLines(D){let F=D.wordWrap||D.textWrap,{wordWrap:B=F}=this.options;if(this.fixedWidth&&B){if(this.fixedWidth-=this.paddingLeft+this.paddingRight,this.colSpan){let J=1;while(J<this.colSpan)this.fixedWidth+=D.colWidths[this.x+J],J++}let{wrapOnWordBoundary:E=!0}=D,{wrapOnWordBoundary:Z=E}=this.options;return this.wrapLines(HD.wordWrap(this.fixedWidth,this.content,Z))}return this.wrapLines(this.content.split(`
6
+ `))}wrapLines(D){let F=HD.colorizeLines(D);if(this.href)return F.map((B)=>HD.hyperlink(this.href,B));return F}init(D){let F=this.x,B=this.y;this.widths=D.colWidths.slice(F,F+this.colSpan),this.heights=D.rowHeights.slice(B,B+this.rowSpan),this.width=this.widths.reduce(C3,-1),this.height=this.heights.reduce(C3,-1),this.hAlign=this.options.hAlign||D.colAligns[F],this.vAlign=this.options.vAlign||D.rowAligns[B],this.drawRight=F+this.colSpan==D.colWidths.length}draw(D,F){if(D=="top")return this.drawTop(this.drawRight);if(D=="bottom")return this.drawBottom(this.drawRight);let B=HD.truncate(this.content,10,this.truncate);if(!D)Q9(`${this.y}-${this.x}: ${this.rowSpan-D}x${this.colSpan} Cell ${B}`);let E=Math.max(this.height-this.lines.length,0),Z;switch(this.vAlign){case"center":Z=Math.ceil(E/2);break;case"bottom":Z=E;break;default:Z=0}if(D<Z||D>=Z+this.lines.length)return this.drawEmpty(this.drawRight,F);let J=this.lines.length>this.height&&D+1>=this.height;return this.drawLine(D-Z,this.drawRight,J,F)}drawTop(D){let F=[];if(this.cells)this.widths.forEach(function(B,E){F.push(this._topLeftChar(E)),F.push(HD.repeat(this.chars[this.y==0?"top":"mid"],B))},this);else F.push(this._topLeftChar(0)),F.push(HD.repeat(this.chars[this.y==0?"top":"mid"],this.width));if(D)F.push(this.chars[this.y==0?"topRight":"rightMid"]);return this.wrapWithStyleColors("border",F.join(""))}_topLeftChar(D){let F=this.x+D,B;if(this.y==0)B=F==0?"topLeft":D==0?"topMid":"top";else if(F==0)B="leftMid";else if(B=D==0?"midMid":"bottomMid",this.cells){if(this.cells[this.y-1][F]instanceof X0.ColSpanCell)B=D==0?"topMid":"mid";if(D==0){let Z=1;while(this.cells[this.y][F-Z]instanceof X0.ColSpanCell)Z++;if(this.cells[this.y][F-Z]instanceof X0.RowSpanCell)B="leftMid"}}return this.chars[B]}wrapWithStyleColors(D,F){if(this[D]&&this[D].length)try{let B=X3();for(let E=this[D].length-1;E>=0;E--)B=B[this[D][E]];return B(F)}catch(B){return F}else return F}drawLine(D,F,B,E){let Z=this.chars[this.x==0?"left":"middle"];if(this.x&&E&&this.cells){let G=this.cells[this.y+E][this.x-1];while(G instanceof S0)G=this.cells[G.y][G.x-1];if(!(G instanceof _0))Z=this.chars.rightMid}let J=HD.repeat(" ",this.paddingLeft),Y=F?this.chars.right:"",H=HD.repeat(" ",this.paddingRight),Q=this.lines[D],X=this.width-(this.paddingLeft+this.paddingRight);if(B)Q+=this.truncate||"…";let C=HD.truncate(Q,X,this.truncate);return C=HD.pad(C,X," ",this.hAlign),C=J+C+H,this.stylizeLine(Z,C,Y)}stylizeLine(D,F,B){if(D=this.wrapWithStyleColors("border",D),B=this.wrapWithStyleColors("border",B),this.y===0)F=this.wrapWithStyleColors("head",F);return D+F+B}drawBottom(D){let F=this.chars[this.x==0?"bottomLeft":"bottomMid"],B=HD.repeat(this.chars.bottom,this.width),E=D?this.chars.bottomRight:"";return this.wrapWithStyleColors("border",F+B+E)}drawEmpty(D,F){let B=this.chars[this.x==0?"left":"middle"];if(this.x&&F&&this.cells){let J=this.cells[this.y+F][this.x-1];while(J instanceof S0)J=this.cells[J.y][J.x-1];if(!(J instanceof _0))B=this.chars.rightMid}let E=D?this.chars.right:"",Z=HD.repeat(" ",this.width);return this.stylizeLine(B,Z,E)}}class S0{constructor(){}draw(D){if(typeof D==="number")G3(`${this.y}-${this.x}: 1x1 ColSpanCell`);return""}init(){}mergeTableOptions(){}}class _0{constructor(D){this.originalCell=D}init(D){let F=this.y,B=this.originalCell.y;this.cellOffset=F-B,this.offset=C9(D.rowHeights,B,this.cellOffset)}draw(D){if(D=="top")return this.originalCell.draw(this.offset,this.cellOffset);if(D=="bottom")return this.originalCell.draw("bottom");return G3(`${this.y}-${this.x}: 1x${this.colSpan} RowSpanCell for ${this.originalCell.content}`),this.originalCell.draw(this.offset+1+D)}mergeTableOptions(){}}function Q3(...D){return D.filter((F)=>F!==void 0&&F!==null).shift()}function l2(D,F,B,E){let Z=B.split("-");if(Z.length>1)Z[1]=Z[1].charAt(0).toUpperCase()+Z[1].substr(1),Z=Z.join(""),E[Z]=Q3(D[Z],D[B],F[Z],F[B]);else E[B]=Q3(D[B],F[B])}function C9(D,F,B){let E=D[F];for(let Z=1;Z<B;Z++)E+=1+D[F+Z];return E}function C3(D,F){return D+F+1}var G9=["top","top-mid","top-left","top-right","bottom","bottom-mid","bottom-left","bottom-right","left","left-mid","mid","mid-mid","right","right-mid","middle"];k0.exports=X0;k0.exports.ColSpanCell=S0;k0.exports.RowSpanCell=_0});var u3=w((nZ,q3)=>{var{warn:K9,debug:z9}=L0(),p2=K3(),{ColSpanCell:q9,RowSpanCell:u9}=p2;(function(){function D(q,z){if(q[z]>0)return D(q,z+1);return z}function F(q){let z={};q.forEach(function($,M){let I=0;$.forEach(function(V){V.y=M,V.x=M?D(z,I):I;let N=V.rowSpan||1,U=V.colSpan||1;if(N>1)for(let R=0;R<U;R++)z[V.x+R]=N;I=V.x+U}),Object.keys(z).forEach((V)=>{if(z[V]--,z[V]<1)delete z[V]})})}function B(q){let z=0;return q.forEach(function($){$.forEach(function(M){z=Math.max(z,M.x+(M.colSpan||1))})}),z}function E(q){return q.length}function Z(q,z){let $=q.y,M=q.y-1+(q.rowSpan||1),I=z.y,V=z.y-1+(z.rowSpan||1),N=!($>V||I>M),U=q.x,R=q.x-1+(q.colSpan||1),f=z.x,L=z.x-1+(z.colSpan||1),P=!(U>L||f>R);return N&&P}function J(q,z,$){let M=Math.min(q.length-1,$),I={x:z,y:$};for(let V=0;V<=M;V++){let N=q[V];for(let U=0;U<N.length;U++)if(Z(I,N[U]))return!0}return!1}function Y(q,z,$,M){for(let I=$;I<M;I++)if(J(q,I,z))return!1;return!0}function H(q){q.forEach(function(z,$){z.forEach(function(M){for(let I=1;I<M.rowSpan;I++){let V=new u9(M);V.x=M.x,V.y=M.y+I,V.colSpan=M.colSpan,X(V,q[$+I])}})})}function Q(q){for(let z=q.length-1;z>=0;z--){let $=q[z];for(let M=0;M<$.length;M++){let I=$[M];for(let V=1;V<I.colSpan;V++){let N=new q9;N.x=I.x+V,N.y=I.y,$.splice(M+1,0,N)}}}}function X(q,z){let $=0;while($<z.length&&z[$].x<q.x)$++;z.splice($,0,q)}function C(q){let z=E(q),$=B(q);z9(`Max rows: ${z}; Max cols: ${$}`);for(let M=0;M<z;M++)for(let I=0;I<$;I++)if(!J(q,I,M)){let V={x:I,y:M,colSpan:1,rowSpan:1};I++;while(I<$&&!J(q,I,M))V.colSpan++,I++;let N=M+1;while(N<z&&Y(q,N,V.x,V.x+V.colSpan))V.rowSpan++,N++;let U=new p2(V);U.x=V.x,U.y=V.y,K9(`Missing cell at ${U.y}-${U.x}.`),X(U,q[M])}}function G(q){return q.map(function(z){if(!Array.isArray(z)){let $=Object.keys(z)[0];if(z=z[$],Array.isArray(z))z=z.slice(),z.unshift($);else z=[$,z]}return z.map(function($){return new p2($)})})}function u(q){let z=G(q);return F(z),C(z),H(z),Q(z),z}q3.exports={makeTableLayout:u,layoutTable:F,addRowSpanCells:H,maxWidth:B,fillInTable:C,computeWidths:z3("colSpan","desiredWidth","x",1),computeHeights:z3("rowSpan","desiredHeight","y",1)}})();function z3(D,F,B,E){return function(Z,J){let Y=[],H=[],Q={};J.forEach(function(X){X.forEach(function(C){if((C[D]||1)>1)H.push(C);else Y[C[B]]=Math.max(Y[C[B]]||0,C[F]||0,E)})}),Z.forEach(function(X,C){if(typeof X==="number")Y[C]=X});for(let X=H.length-1;X>=0;X--){let C=H[X],G=C[D],u=C[B],q=Y[u],z=typeof Z[u]==="number"?0:1;if(typeof q==="number"){for(let $=1;$<G;$++)if(q+=1+Y[u+$],typeof Z[u+$]!=="number")z++}else if(q=F==="desiredWidth"?C.desiredWidth-1:1,!Q[u]||Q[u]<q)Q[u]=q;if(C[F]>q){let $=0;while(z>0&&C[F]>q){if(typeof Z[u+$]!=="number"){let M=Math.round((C[F]-q)/z);q+=M,Y[u+$]+=M,z--}$++}}}Object.assign(Z,Y,Q);for(let X=0;X<Z.length;X++)Z[X]=Math.max(E,Z[X]||0)}}});var $3=w((rZ,W3)=>{var RD=L0(),W9=m2(),a2=u3();class n2 extends Array{constructor(D){super();let F=W9.mergeOptions(D);if(Object.defineProperty(this,"options",{value:F,enumerable:F.debug}),F.debug){switch(typeof F.debug){case"boolean":RD.setDebugLevel(RD.WARN);break;case"number":RD.setDebugLevel(F.debug);break;case"string":RD.setDebugLevel(parseInt(F.debug,10));break;default:RD.setDebugLevel(RD.WARN),RD.warn(`Debug option is expected to be boolean, number, or string. Received a ${typeof F.debug}`)}Object.defineProperty(this,"messages",{get(){return RD.debugMessages()}})}}toString(){let D=this,F=this.options.head&&this.options.head.length;if(F){if(D=[this.options.head],this.length)D.push.apply(D,this)}else this.options.style.head=[];let B=a2.makeTableLayout(D);B.forEach(function(Z){Z.forEach(function(J){J.mergeTableOptions(this.options,B)},this)},this),a2.computeWidths(this.options.colWidths,B),a2.computeHeights(this.options.rowHeights,B),B.forEach(function(Z){Z.forEach(function(J){J.init(this.options)},this)},this);let E=[];for(let Z=0;Z<B.length;Z++){let J=B[Z],Y=this.options.rowHeights[Z];if(Z===0||!this.options.style.compact||Z==1&&F)i2(J,"top",E);for(let H=0;H<Y;H++)i2(J,H,E);if(Z+1==B.length)i2(J,"bottom",E)}return E.join(`
7
7
  `)}get width(){return this.toString().split(`
8
- `)[0].length}}y3.reset=()=>J0.reset();function k3(D,F,u){let E=[];D.forEach(function(C){E.push(C.draw(F))});let B=E.join("");if(B.length)u.push(B)}W9.exports=y3});var f3=T((NN,b3)=>{var M2=process||{},$9=M2.argv||[],I2=M2.env||{},ZY=!(!!I2.NO_COLOR||$9.includes("--no-color"))&&(!!I2.FORCE_COLOR||$9.includes("--color")||M2.platform==="win32"||(M2.stdout||{}).isTTY&&I2.TERM!=="dumb"||!!I2.CI),JY=(D,F,u=D)=>(E)=>{let B=""+E,C=B.indexOf(F,D.length);return~C?D+YY(B,F,u,C)+F:D+B+F},YY=(D,F,u,E)=>{let B="",C=0;do B+=D.substring(C,E)+u,C=E+F.length,E=D.indexOf(F,C);while(~E);return B+D.substring(C)},V9=(D=ZY)=>{let F=D?JY:()=>String;return{isColorSupported:D,reset:F("\x1B[0m","\x1B[0m"),bold:F("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:F("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:F("\x1B[3m","\x1B[23m"),underline:F("\x1B[4m","\x1B[24m"),inverse:F("\x1B[7m","\x1B[27m"),hidden:F("\x1B[8m","\x1B[28m"),strikethrough:F("\x1B[9m","\x1B[29m"),black:F("\x1B[30m","\x1B[39m"),red:F("\x1B[31m","\x1B[39m"),green:F("\x1B[32m","\x1B[39m"),yellow:F("\x1B[33m","\x1B[39m"),blue:F("\x1B[34m","\x1B[39m"),magenta:F("\x1B[35m","\x1B[39m"),cyan:F("\x1B[36m","\x1B[39m"),white:F("\x1B[37m","\x1B[39m"),gray:F("\x1B[90m","\x1B[39m"),bgBlack:F("\x1B[40m","\x1B[49m"),bgRed:F("\x1B[41m","\x1B[49m"),bgGreen:F("\x1B[42m","\x1B[49m"),bgYellow:F("\x1B[43m","\x1B[49m"),bgBlue:F("\x1B[44m","\x1B[49m"),bgMagenta:F("\x1B[45m","\x1B[49m"),bgCyan:F("\x1B[46m","\x1B[49m"),bgWhite:F("\x1B[47m","\x1B[49m"),blackBright:F("\x1B[90m","\x1B[39m"),redBright:F("\x1B[91m","\x1B[39m"),greenBright:F("\x1B[92m","\x1B[39m"),yellowBright:F("\x1B[93m","\x1B[39m"),blueBright:F("\x1B[94m","\x1B[39m"),magentaBright:F("\x1B[95m","\x1B[39m"),cyanBright:F("\x1B[96m","\x1B[39m"),whiteBright:F("\x1B[97m","\x1B[39m"),bgBlackBright:F("\x1B[100m","\x1B[49m"),bgRedBright:F("\x1B[101m","\x1B[49m"),bgGreenBright:F("\x1B[102m","\x1B[49m"),bgYellowBright:F("\x1B[103m","\x1B[49m"),bgBlueBright:F("\x1B[104m","\x1B[49m"),bgMagentaBright:F("\x1B[105m","\x1B[49m"),bgCyanBright:F("\x1B[106m","\x1B[49m"),bgWhiteBright:F("\x1B[107m","\x1B[49m")}};b3.exports=V9();b3.exports.createColors=V9});var T9=T((VN,M9)=>{var z0=i("constants"),HY=process.cwd,T2=null,XY=process.env.GRACEFUL_FS_PLATFORM||process.platform;process.cwd=function(){if(!T2)T2=HY.call(process);return T2};try{process.cwd()}catch(D){}if(typeof process.chdir==="function"){if(O2=process.chdir,process.chdir=function(D){T2=null,O2.call(process,D)},Object.setPrototypeOf)Object.setPrototypeOf(process.chdir,O2)}var O2;M9.exports=GY;function GY(D){if(z0.hasOwnProperty("O_SYMLINK")&&process.version.match(/^v0\.6\.[0-2]|^v0\.5\./))F(D);if(!D.lutimes)u(D);if(D.chown=C(D.chown),D.fchown=C(D.fchown),D.lchown=C(D.lchown),D.chmod=E(D.chmod),D.fchmod=E(D.fchmod),D.lchmod=E(D.lchmod),D.chownSync=Z(D.chownSync),D.fchownSync=Z(D.fchownSync),D.lchownSync=Z(D.lchownSync),D.chmodSync=B(D.chmodSync),D.fchmodSync=B(D.fchmodSync),D.lchmodSync=B(D.lchmodSync),D.stat=J(D.stat),D.fstat=J(D.fstat),D.lstat=J(D.lstat),D.statSync=X(D.statSync),D.fstatSync=X(D.fstatSync),D.lstatSync=X(D.lstatSync),D.chmod&&!D.lchmod)D.lchmod=function(H,G,K){if(K)process.nextTick(K)},D.lchmodSync=function(){};if(D.chown&&!D.lchown)D.lchown=function(H,G,K,Q){if(Q)process.nextTick(Q)},D.lchownSync=function(){};if(XY==="win32")D.rename=typeof D.rename!=="function"?D.rename:function(H){function G(K,Q,z){var q=Date.now(),W=0;H(K,Q,function N(M){if(M&&(M.code==="EACCES"||M.code==="EPERM"||M.code==="EBUSY")&&Date.now()-q<60000){if(setTimeout(function(){D.stat(Q,function($,U){if($&&$.code==="ENOENT")H(K,Q,N);else z(M)})},W),W<100)W+=10;return}if(z)z(M)})}if(Object.setPrototypeOf)Object.setPrototypeOf(G,H);return G}(D.rename);D.read=typeof D.read!=="function"?D.read:function(H){function G(K,Q,z,q,W,N){var M;if(N&&typeof N==="function"){var $=0;M=function(U,j,P){if(U&&U.code==="EAGAIN"&&$<10)return $++,H.call(D,K,Q,z,q,W,M);N.apply(this,arguments)}}return H.call(D,K,Q,z,q,W,M)}if(Object.setPrototypeOf)Object.setPrototypeOf(G,H);return G}(D.read),D.readSync=typeof D.readSync!=="function"?D.readSync:function(H){return function(G,K,Q,z,q){var W=0;while(!0)try{return H.call(D,G,K,Q,z,q)}catch(N){if(N.code==="EAGAIN"&&W<10){W++;continue}throw N}}}(D.readSync);function F(H){H.lchmod=function(G,K,Q){H.open(G,z0.O_WRONLY|z0.O_SYMLINK,K,function(z,q){if(z){if(Q)Q(z);return}H.fchmod(q,K,function(W){H.close(q,function(N){if(Q)Q(W||N)})})})},H.lchmodSync=function(G,K){var Q=H.openSync(G,z0.O_WRONLY|z0.O_SYMLINK,K),z=!0,q;try{q=H.fchmodSync(Q,K),z=!1}finally{if(z)try{H.closeSync(Q)}catch(W){}else H.closeSync(Q)}return q}}function u(H){if(z0.hasOwnProperty("O_SYMLINK")&&H.futimes)H.lutimes=function(G,K,Q,z){H.open(G,z0.O_SYMLINK,function(q,W){if(q){if(z)z(q);return}H.futimes(W,K,Q,function(N){H.close(W,function(M){if(z)z(N||M)})})})},H.lutimesSync=function(G,K,Q){var z=H.openSync(G,z0.O_SYMLINK),q,W=!0;try{q=H.futimesSync(z,K,Q),W=!1}finally{if(W)try{H.closeSync(z)}catch(N){}else H.closeSync(z)}return q};else if(H.futimes)H.lutimes=function(G,K,Q,z){if(z)process.nextTick(z)},H.lutimesSync=function(){}}function E(H){if(!H)return H;return function(G,K,Q){return H.call(D,G,K,function(z){if(Y(z))z=null;if(Q)Q.apply(this,arguments)})}}function B(H){if(!H)return H;return function(G,K){try{return H.call(D,G,K)}catch(Q){if(!Y(Q))throw Q}}}function C(H){if(!H)return H;return function(G,K,Q,z){return H.call(D,G,K,Q,function(q){if(Y(q))q=null;if(z)z.apply(this,arguments)})}}function Z(H){if(!H)return H;return function(G,K,Q){try{return H.call(D,G,K,Q)}catch(z){if(!Y(z))throw z}}}function J(H){if(!H)return H;return function(G,K,Q){if(typeof K==="function")Q=K,K=null;function z(q,W){if(W){if(W.uid<0)W.uid+=4294967296;if(W.gid<0)W.gid+=4294967296}if(Q)Q.apply(this,arguments)}return K?H.call(D,G,K,z):H.call(D,G,z)}}function X(H){if(!H)return H;return function(G,K){var Q=K?H.call(D,G,K):H.call(D,G);if(Q){if(Q.uid<0)Q.uid+=4294967296;if(Q.gid<0)Q.gid+=4294967296}return Q}}function Y(H){if(!H)return!0;if(H.code==="ENOSYS")return!0;var G=!process.getuid||process.getuid()!==0;if(G){if(H.code==="EINVAL"||H.code==="EPERM")return!0}return!1}}});var L9=T((IN,_9)=>{var O9=i("stream").Stream;_9.exports=QY;function QY(D){return{ReadStream:F,WriteStream:u};function F(E,B){if(!(this instanceof F))return new F(E,B);O9.call(this);var C=this;this.path=E,this.fd=null,this.readable=!0,this.paused=!1,this.flags="r",this.mode=438,this.bufferSize=65536,B=B||{};var Z=Object.keys(B);for(var J=0,X=Z.length;J<X;J++){var Y=Z[J];this[Y]=B[Y]}if(this.encoding)this.setEncoding(this.encoding);if(this.start!==void 0){if(typeof this.start!=="number")throw TypeError("start must be a Number");if(this.end===void 0)this.end=1/0;else if(typeof this.end!=="number")throw TypeError("end must be a Number");if(this.start>this.end)throw Error("start must be <= end");this.pos=this.start}if(this.fd!==null){process.nextTick(function(){C._read()});return}D.open(this.path,this.flags,this.mode,function(H,G){if(H){C.emit("error",H),C.readable=!1;return}C.fd=G,C.emit("open",G),C._read()})}function u(E,B){if(!(this instanceof u))return new u(E,B);O9.call(this),this.path=E,this.fd=null,this.writable=!0,this.flags="w",this.encoding="binary",this.mode=438,this.bytesWritten=0,B=B||{};var C=Object.keys(B);for(var Z=0,J=C.length;Z<J;Z++){var X=C[Z];this[X]=B[X]}if(this.start!==void 0){if(typeof this.start!=="number")throw TypeError("start must be a Number");if(this.start<0)throw Error("start must be >= zero");this.pos=this.start}if(this.busy=!1,this._queue=[],this.fd===null)this._open=D.open,this._queue.push([this._open,this.path,this.flags,this.mode,void 0]),this.flush()}}});var j9=T((MN,R9)=>{R9.exports=zY;var KY=Object.getPrototypeOf||function(D){return D.__proto__};function zY(D){if(D===null||typeof D!=="object")return D;if(D instanceof Object)var F={__proto__:KY(D)};else var F=Object.create(null);return Object.getOwnPropertyNames(D).forEach(function(u){Object.defineProperty(F,u,Object.getOwnPropertyDescriptor(D,u))}),F}});var w9=T((TN,m3)=>{var CD=i("fs"),qY=T9(),AY=L9(),UY=j9(),_2=i("util"),KD,R2;if(typeof Symbol==="function"&&typeof Symbol.for==="function")KD=Symbol.for("graceful-fs.queue"),R2=Symbol.for("graceful-fs.previous");else KD="___graceful-fs.queue",R2="___graceful-fs.previous";function WY(){}function P9(D,F){Object.defineProperty(D,KD,{get:function(){return F}})}var j0=WY;if(_2.debuglog)j0=_2.debuglog("gfs4");else if(/\bgfs4\b/i.test(process.env.NODE_DEBUG||""))j0=function(){var D=_2.format.apply(_2,arguments);D="GFS4: "+D.split(/\n/).join(`
9
- GFS4: `),console.error(D)};if(!CD[KD]){if(v3=global[KD]||[],P9(CD,v3),CD.close=function(D){function F(u,E){return D.call(CD,u,function(B){if(!B)S9();if(typeof E==="function")E.apply(this,arguments)})}return Object.defineProperty(F,R2,{value:D}),F}(CD.close),CD.closeSync=function(D){function F(u){D.apply(CD,arguments),S9()}return Object.defineProperty(F,R2,{value:D}),F}(CD.closeSync),/\bgfs4\b/i.test(process.env.NODE_DEBUG||""))process.on("exit",function(){j0(CD[KD]),i("assert").equal(CD[KD].length,0)})}var v3;if(!global[KD])P9(global,CD[KD]);m3.exports=h3(UY(CD));if(process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH&&!CD.__patched)m3.exports=h3(CD),CD.__patched=!0;function h3(D){qY(D),D.gracefulify=h3,D.createReadStream=j,D.createWriteStream=P;var F=D.readFile;D.readFile=u;function u(I,_,O){if(typeof _==="function")O=_,_=null;return g(I,_,O);function g(w,R,S,b){return F(w,R,function(f){if(f&&(f.code==="EMFILE"||f.code==="ENFILE"))o0([g,[w,R,S],f,b||Date.now(),Date.now()]);else if(typeof S==="function")S.apply(this,arguments)})}}var E=D.writeFile;D.writeFile=B;function B(I,_,O,g){if(typeof O==="function")g=O,O=null;return w(I,_,O,g);function w(R,S,b,f,p){return E(R,S,b,function(m){if(m&&(m.code==="EMFILE"||m.code==="ENFILE"))o0([w,[R,S,b,f],m,p||Date.now(),Date.now()]);else if(typeof f==="function")f.apply(this,arguments)})}}var C=D.appendFile;if(C)D.appendFile=Z;function Z(I,_,O,g){if(typeof O==="function")g=O,O=null;return w(I,_,O,g);function w(R,S,b,f,p){return C(R,S,b,function(m){if(m&&(m.code==="EMFILE"||m.code==="ENFILE"))o0([w,[R,S,b,f],m,p||Date.now(),Date.now()]);else if(typeof f==="function")f.apply(this,arguments)})}}var J=D.copyFile;if(J)D.copyFile=X;function X(I,_,O,g){if(typeof O==="function")g=O,O=0;return w(I,_,O,g);function w(R,S,b,f,p){return J(R,S,b,function(m){if(m&&(m.code==="EMFILE"||m.code==="ENFILE"))o0([w,[R,S,b,f],m,p||Date.now(),Date.now()]);else if(typeof f==="function")f.apply(this,arguments)})}}var Y=D.readdir;D.readdir=G;var H=/^v[0-5]\./;function G(I,_,O){if(typeof _==="function")O=_,_=null;var g=H.test(process.version)?function(S,b,f,p){return Y(S,w(S,b,f,p))}:function(S,b,f,p){return Y(S,b,w(S,b,f,p))};return g(I,_,O);function w(R,S,b,f){return function(p,m){if(p&&(p.code==="EMFILE"||p.code==="ENFILE"))o0([g,[R,S,b],p,f||Date.now(),Date.now()]);else{if(m&&m.sort)m.sort();if(typeof b==="function")b.call(this,p,m)}}}}if(process.version.substr(0,4)==="v0.8"){var K=AY(D);N=K.ReadStream,$=K.WriteStream}var Q=D.ReadStream;if(Q)N.prototype=Object.create(Q.prototype),N.prototype.open=M;var z=D.WriteStream;if(z)$.prototype=Object.create(z.prototype),$.prototype.open=U;Object.defineProperty(D,"ReadStream",{get:function(){return N},set:function(I){N=I},enumerable:!0,configurable:!0}),Object.defineProperty(D,"WriteStream",{get:function(){return $},set:function(I){$=I},enumerable:!0,configurable:!0});var q=N;Object.defineProperty(D,"FileReadStream",{get:function(){return q},set:function(I){q=I},enumerable:!0,configurable:!0});var W=$;Object.defineProperty(D,"FileWriteStream",{get:function(){return W},set:function(I){W=I},enumerable:!0,configurable:!0});function N(I,_){if(this instanceof N)return Q.apply(this,arguments),this;else return N.apply(Object.create(N.prototype),arguments)}function M(){var I=this;v(I.path,I.flags,I.mode,function(_,O){if(_){if(I.autoClose)I.destroy();I.emit("error",_)}else I.fd=O,I.emit("open",O),I.read()})}function $(I,_){if(this instanceof $)return z.apply(this,arguments),this;else return $.apply(Object.create($.prototype),arguments)}function U(){var I=this;v(I.path,I.flags,I.mode,function(_,O){if(_)I.destroy(),I.emit("error",_);else I.fd=O,I.emit("open",O)})}function j(I,_){return new D.ReadStream(I,_)}function P(I,_){return new D.WriteStream(I,_)}var L=D.open;D.open=v;function v(I,_,O,g){if(typeof O==="function")g=O,O=null;return w(I,_,O,g);function w(R,S,b,f,p){return L(R,S,b,function(m,M3){if(m&&(m.code==="EMFILE"||m.code==="ENFILE"))o0([w,[R,S,b,f],m,p||Date.now(),Date.now()]);else if(typeof f==="function")f.apply(this,arguments)})}}return D}function o0(D){j0("ENQUEUE",D[0].name,D[1]),CD[KD].push(D),g3()}var L2;function S9(){var D=Date.now();for(var F=0;F<CD[KD].length;++F)if(CD[KD][F].length>2)CD[KD][F][3]=D,CD[KD][F][4]=D;g3()}function g3(){if(clearTimeout(L2),L2=void 0,CD[KD].length===0)return;var D=CD[KD].shift(),F=D[0],u=D[1],E=D[2],B=D[3],C=D[4];if(B===void 0)j0("RETRY",F.name,u),F.apply(null,u);else if(Date.now()-B>=60000){j0("TIMEOUT",F.name,u);var Z=u.pop();if(typeof Z==="function")Z.call(null,E)}else{var J=Date.now()-C,X=Math.max(C-B,1),Y=Math.min(X*1.2,100);if(J>=Y)j0("RETRY",F.name,u),F.apply(null,u.concat([B]));else CD[KD].push(D)}if(L2===void 0)L2=setTimeout(g3,0)}});var xF=T((o$,z7)=>{var sY=typeof process==="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...D)=>console.error("SEMVER",...D):()=>{};z7.exports=sY});var kF=T((t$,q7)=>{var oY=Number.MAX_SAFE_INTEGER||9007199254740991,tY=["major","premajor","minor","preminor","patch","prepatch","prerelease"];q7.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:oY,RELEASE_TYPES:tY,SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var uF=T((u0,A7)=>{var{MAX_SAFE_COMPONENT_LENGTH:D1,MAX_SAFE_BUILD_LENGTH:eY,MAX_LENGTH:DH}=kF(),FH=xF();u0=A7.exports={};var uH=u0.re=[],EH=u0.safeRe=[],k=u0.src=[],BH=u0.safeSrc=[],y=u0.t={},CH=0,F1="[a-zA-Z0-9-]",ZH=[["\\s",1],["\\d",DH],[F1,eY]],JH=(D)=>{for(let[F,u]of ZH)D=D.split(`${F}*`).join(`${F}{0,${u}}`).split(`${F}+`).join(`${F}{1,${u}}`);return D},c=(D,F,u)=>{let E=JH(F),B=CH++;FH(D,B,F),y[D]=B,k[B]=F,BH[B]=E,uH[B]=new RegExp(F,u?"g":void 0),EH[B]=new RegExp(E,u?"g":void 0)};c("NUMERICIDENTIFIER","0|[1-9]\\d*");c("NUMERICIDENTIFIERLOOSE","\\d+");c("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${F1}*`);c("MAINVERSION",`(${k[y.NUMERICIDENTIFIER]})\\.(${k[y.NUMERICIDENTIFIER]})\\.(${k[y.NUMERICIDENTIFIER]})`);c("MAINVERSIONLOOSE",`(${k[y.NUMERICIDENTIFIERLOOSE]})\\.(${k[y.NUMERICIDENTIFIERLOOSE]})\\.(${k[y.NUMERICIDENTIFIERLOOSE]})`);c("PRERELEASEIDENTIFIER",`(?:${k[y.NONNUMERICIDENTIFIER]}|${k[y.NUMERICIDENTIFIER]})`);c("PRERELEASEIDENTIFIERLOOSE",`(?:${k[y.NONNUMERICIDENTIFIER]}|${k[y.NUMERICIDENTIFIERLOOSE]})`);c("PRERELEASE",`(?:-(${k[y.PRERELEASEIDENTIFIER]}(?:\\.${k[y.PRERELEASEIDENTIFIER]})*))`);c("PRERELEASELOOSE",`(?:-?(${k[y.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${k[y.PRERELEASEIDENTIFIERLOOSE]})*))`);c("BUILDIDENTIFIER",`${F1}+`);c("BUILD",`(?:\\+(${k[y.BUILDIDENTIFIER]}(?:\\.${k[y.BUILDIDENTIFIER]})*))`);c("FULLPLAIN",`v?${k[y.MAINVERSION]}${k[y.PRERELEASE]}?${k[y.BUILD]}?`);c("FULL",`^${k[y.FULLPLAIN]}$`);c("LOOSEPLAIN",`[v=\\s]*${k[y.MAINVERSIONLOOSE]}${k[y.PRERELEASELOOSE]}?${k[y.BUILD]}?`);c("LOOSE",`^${k[y.LOOSEPLAIN]}$`);c("GTLT","((?:<|>)?=?)");c("XRANGEIDENTIFIERLOOSE",`${k[y.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);c("XRANGEIDENTIFIER",`${k[y.NUMERICIDENTIFIER]}|x|X|\\*`);c("XRANGEPLAIN",`[v=\\s]*(${k[y.XRANGEIDENTIFIER]})(?:\\.(${k[y.XRANGEIDENTIFIER]})(?:\\.(${k[y.XRANGEIDENTIFIER]})(?:${k[y.PRERELEASE]})?${k[y.BUILD]}?)?)?`);c("XRANGEPLAINLOOSE",`[v=\\s]*(${k[y.XRANGEIDENTIFIERLOOSE]})(?:\\.(${k[y.XRANGEIDENTIFIERLOOSE]})(?:\\.(${k[y.XRANGEIDENTIFIERLOOSE]})(?:${k[y.PRERELEASELOOSE]})?${k[y.BUILD]}?)?)?`);c("XRANGE",`^${k[y.GTLT]}\\s*${k[y.XRANGEPLAIN]}$`);c("XRANGELOOSE",`^${k[y.GTLT]}\\s*${k[y.XRANGEPLAINLOOSE]}$`);c("COERCEPLAIN",`(^|[^\\d])(\\d{1,${D1}})(?:\\.(\\d{1,${D1}}))?(?:\\.(\\d{1,${D1}}))?`);c("COERCE",`${k[y.COERCEPLAIN]}(?:$|[^\\d])`);c("COERCEFULL",k[y.COERCEPLAIN]+`(?:${k[y.PRERELEASE]})?(?:${k[y.BUILD]})?(?:$|[^\\d])`);c("COERCERTL",k[y.COERCE],!0);c("COERCERTLFULL",k[y.COERCEFULL],!0);c("LONETILDE","(?:~>?)");c("TILDETRIM",`(\\s*)${k[y.LONETILDE]}\\s+`,!0);u0.tildeTrimReplace="$1~";c("TILDE",`^${k[y.LONETILDE]}${k[y.XRANGEPLAIN]}$`);c("TILDELOOSE",`^${k[y.LONETILDE]}${k[y.XRANGEPLAINLOOSE]}$`);c("LONECARET","(?:\\^)");c("CARETTRIM",`(\\s*)${k[y.LONECARET]}\\s+`,!0);u0.caretTrimReplace="$1^";c("CARET",`^${k[y.LONECARET]}${k[y.XRANGEPLAIN]}$`);c("CARETLOOSE",`^${k[y.LONECARET]}${k[y.XRANGEPLAINLOOSE]}$`);c("COMPARATORLOOSE",`^${k[y.GTLT]}\\s*(${k[y.LOOSEPLAIN]})$|^$`);c("COMPARATOR",`^${k[y.GTLT]}\\s*(${k[y.FULLPLAIN]})$|^$`);c("COMPARATORTRIM",`(\\s*)${k[y.GTLT]}\\s*(${k[y.LOOSEPLAIN]}|${k[y.XRANGEPLAIN]})`,!0);u0.comparatorTrimReplace="$1$2$3";c("HYPHENRANGE",`^\\s*(${k[y.XRANGEPLAIN]})\\s+-\\s+(${k[y.XRANGEPLAIN]})\\s*$`);c("HYPHENRANGELOOSE",`^\\s*(${k[y.XRANGEPLAINLOOSE]})\\s+-\\s+(${k[y.XRANGEPLAINLOOSE]})\\s*$`);c("STAR","(<|>)?=?\\s*\\*");c("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");c("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var f2=T((e$,U7)=>{var YH=Object.freeze({loose:!0}),HH=Object.freeze({}),XH=(D)=>{if(!D)return HH;if(typeof D!=="object")return YH;return D};U7.exports=XH});var u1=T((DV,$7)=>{var W7=/^[0-9]+$/,N7=(D,F)=>{if(typeof D==="number"&&typeof F==="number")return D===F?0:D<F?-1:1;let u=W7.test(D),E=W7.test(F);if(u&&E)D=+D,F=+F;return D===F?0:u&&!E?-1:E&&!u?1:D<F?-1:1},GH=(D,F)=>N7(F,D);$7.exports={compareIdentifiers:N7,rcompareIdentifiers:GH}});var $D=T((FV,I7)=>{var v2=xF(),{MAX_LENGTH:V7,MAX_SAFE_INTEGER:h2}=kF(),{safeRe:g2,t:m2}=uF(),QH=f2(),{compareIdentifiers:E1}=u1();class iD{constructor(D,F){if(F=QH(F),D instanceof iD)if(D.loose===!!F.loose&&D.includePrerelease===!!F.includePrerelease)return D;else D=D.version;else if(typeof D!=="string")throw TypeError(`Invalid version. Must be a string. Got type "${typeof D}".`);if(D.length>V7)throw TypeError(`version is longer than ${V7} characters`);v2("SemVer",D,F),this.options=F,this.loose=!!F.loose,this.includePrerelease=!!F.includePrerelease;let u=D.trim().match(F.loose?g2[m2.LOOSE]:g2[m2.FULL]);if(!u)throw TypeError(`Invalid Version: ${D}`);if(this.raw=D,this.major=+u[1],this.minor=+u[2],this.patch=+u[3],this.major>h2||this.major<0)throw TypeError("Invalid major version");if(this.minor>h2||this.minor<0)throw TypeError("Invalid minor version");if(this.patch>h2||this.patch<0)throw TypeError("Invalid patch version");if(!u[4])this.prerelease=[];else this.prerelease=u[4].split(".").map((E)=>{if(/^[0-9]+$/.test(E)){let B=+E;if(B>=0&&B<h2)return B}return E});this.build=u[5]?u[5].split("."):[],this.format()}format(){if(this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length)this.version+=`-${this.prerelease.join(".")}`;return this.version}toString(){return this.version}compare(D){if(v2("SemVer.compare",this.version,this.options,D),!(D instanceof iD)){if(typeof D==="string"&&D===this.version)return 0;D=new iD(D,this.options)}if(D.version===this.version)return 0;return this.compareMain(D)||this.comparePre(D)}compareMain(D){if(!(D instanceof iD))D=new iD(D,this.options);if(this.major<D.major)return-1;if(this.major>D.major)return 1;if(this.minor<D.minor)return-1;if(this.minor>D.minor)return 1;if(this.patch<D.patch)return-1;if(this.patch>D.patch)return 1;return 0}comparePre(D){if(!(D instanceof iD))D=new iD(D,this.options);if(this.prerelease.length&&!D.prerelease.length)return-1;else if(!this.prerelease.length&&D.prerelease.length)return 1;else if(!this.prerelease.length&&!D.prerelease.length)return 0;let F=0;do{let u=this.prerelease[F],E=D.prerelease[F];if(v2("prerelease compare",F,u,E),u===void 0&&E===void 0)return 0;else if(E===void 0)return 1;else if(u===void 0)return-1;else if(u===E)continue;else return E1(u,E)}while(++F)}compareBuild(D){if(!(D instanceof iD))D=new iD(D,this.options);let F=0;do{let u=this.build[F],E=D.build[F];if(v2("build compare",F,u,E),u===void 0&&E===void 0)return 0;else if(E===void 0)return 1;else if(u===void 0)return-1;else if(u===E)continue;else return E1(u,E)}while(++F)}inc(D,F,u){if(D.startsWith("pre")){if(!F&&u===!1)throw Error("invalid increment argument: identifier is empty");if(F){let E=`-${F}`.match(this.options.loose?g2[m2.PRERELEASELOOSE]:g2[m2.PRERELEASE]);if(!E||E[1]!==F)throw Error(`invalid identifier: ${F}`)}}switch(D){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",F,u);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",F,u);break;case"prepatch":this.prerelease.length=0,this.inc("patch",F,u),this.inc("pre",F,u);break;case"prerelease":if(this.prerelease.length===0)this.inc("patch",F,u);this.inc("pre",F,u);break;case"release":if(this.prerelease.length===0)throw Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":if(this.minor!==0||this.patch!==0||this.prerelease.length===0)this.major++;this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":if(this.patch!==0||this.prerelease.length===0)this.minor++;this.patch=0,this.prerelease=[];break;case"patch":if(this.prerelease.length===0)this.patch++;this.prerelease=[];break;case"pre":{let E=Number(u)?1:0;if(this.prerelease.length===0)this.prerelease=[E];else{let B=this.prerelease.length;while(--B>=0)if(typeof this.prerelease[B]==="number")this.prerelease[B]++,B=-2;if(B===-1){if(F===this.prerelease.join(".")&&u===!1)throw Error("invalid increment argument: identifier already exists");this.prerelease.push(E)}}if(F){let B=[F,E];if(u===!1)B=[F];if(E1(this.prerelease[0],F)===0){if(isNaN(this.prerelease[1]))this.prerelease=B}else this.prerelease=B}break}default:throw Error(`invalid increment argument: ${D}`)}if(this.raw=this.format(),this.build.length)this.raw+=`+${this.build.join(".")}`;return this}}I7.exports=iD});var x0=T((uV,T7)=>{var M7=$D(),KH=(D,F,u=!1)=>{if(D instanceof M7)return D;try{return new M7(D,F)}catch(E){if(!u)return null;throw E}};T7.exports=KH});var B1=T((EV,_7)=>{var O7=x0(),zH=(D,F)=>{let u=O7(D,null,!0),E=O7(F,null,!0),B=u.compare(E);if(B===0)return null;let C=B>0,Z=C?u:E,J=C?E:u,X=!!Z.prerelease.length;if(!!J.prerelease.length&&!X){if(!J.patch&&!J.minor)return"major";if(J.compareMain(Z)===0){if(J.minor&&!J.patch)return"minor";return"patch"}}let H=X?"pre":"";if(u.major!==E.major)return H+"major";if(u.minor!==E.minor)return H+"minor";if(u.patch!==E.patch)return H+"patch";return"prerelease"};_7.exports=zH});var mD=T((BV,R7)=>{var L7=$D(),qH=(D,F,u)=>new L7(D,u).compare(new L7(F,u));R7.exports=qH});var EF=T((CV,j7)=>{var AH=mD(),UH=(D,F,u)=>AH(D,F,u)>0;j7.exports=UH});var e7=T((_H)=>{_H.parse=_H.decode=OH;_H.stringify=_H.encode=s7;_H.safe=JF;_H.unsafe=a2;var Q1=typeof process<"u"&&process.platform==="win32"?`\r
10
- `:`
11
- `;function s7(D,F){var u=[],E="";if(typeof F==="string")F={section:F,whitespace:!1};else F=F||{},F.whitespace=F.whitespace===!0;var B=F.whitespace?" = ":"=";if(Object.keys(D).forEach(function(C,Z,J){var X=D[C];if(X&&Array.isArray(X))X.forEach(function(Y){E+=JF(C+"[]")+B+JF(Y)+`
12
- `});else if(X&&typeof X==="object")u.push(C);else E+=JF(C)+B+JF(X)+Q1}),F.section&&E.length)E="["+JF(F.section)+"]"+Q1+E;return u.forEach(function(C,Z,J){var X=o7(C).join("\\."),Y=(F.section?F.section+".":"")+X,H=s7(D[C],{section:Y,whitespace:F.whitespace});if(E.length&&H.length)E+=Q1;E+=H}),E}function o7(D){return D.replace(/\1/g,"\x02LITERAL\\1LITERAL\x02").replace(/\\\./g,"\x01").split(/\./).map(function(F){return F.replace(/\1/g,"\\.").replace(/\2LITERAL\\1LITERAL\2/g,"\x01")})}function OH(D){var F={},u=F,E=null,B=/^\[([^\]]*)\]$|^([^=]+)(=(.*))?$/i,C=D.split(/[\r\n]+/g);return C.forEach(function(Z,J,X){if(!Z||Z.match(/^\s*[;#]/))return;var Y=Z.match(B);if(!Y)return;if(Y[1]!==void 0){if(E=a2(Y[1]),E==="__proto__"){u={};return}u=F[E]=F[E]||{};return}var H=a2(Y[2]);if(H==="__proto__")return;var G=Y[3]?a2(Y[4]):!0;switch(G){case"true":case"false":case"null":G=JSON.parse(G)}if(H.length>2&&H.slice(-2)==="[]"){if(H=H.substring(0,H.length-2),H==="__proto__")return;if(!u[H])u[H]=[];else if(!Array.isArray(u[H]))u[H]=[u[H]]}if(Array.isArray(u[H]))u[H].push(G);else u[H]=G}),Object.keys(F).filter(function(Z,J,X){if(!F[Z]||typeof F[Z]!=="object"||Array.isArray(F[Z]))return!1;var Y=o7(Z),H=F,G=Y.pop(),K=G.replace(/\\\./g,".");if(Y.forEach(function(Q,z,q){if(Q==="__proto__")return;if(!H[Q]||typeof H[Q]!=="object")H[Q]={};H=H[Q]}),H===F&&K===G)return!1;return H[K]=F[Z],!0}).forEach(function(Z,J,X){delete F[Z]}),F}function t7(D){return D.charAt(0)==='"'&&D.slice(-1)==='"'||D.charAt(0)==="'"&&D.slice(-1)==="'"}function JF(D){return typeof D!=="string"||D.match(/[=\r\n]/)||D.match(/^\[/)||D.length>1&&t7(D)||D!==D.trim()?JSON.stringify(D):D.replace(/;/g,"\\;").replace(/#/g,"\\#")}function a2(D,F){if(D=(D||"").trim(),t7(D)){if(D.charAt(0)==="'")D=D.substr(1,D.length-2);try{D=JSON.parse(D)}catch(J){}}else{var u=!1,E="";for(var B=0,C=D.length;B<C;B++){var Z=D.charAt(B);if(u){if("\\;#".indexOf(Z)!==-1)E+=Z;else E+="\\"+Z;u=!1}else if(";#".indexOf(Z)!==-1)break;else if(Z==="\\")u=!0;else E+=Z}if(u)E+="\\";return E.trim()}return D}});var u4=T((nV,F4)=>{var K1=1,D4=2;function PH(){return""}function wH(D,F,u){return D.slice(F,u).replace(/\S/g," ")}F4.exports=function(D,F){F=F||{};var u,E,B=!1,C=!1,Z=0,J="",X=F.whitespace===!1?PH:wH;for(var Y=0;Y<D.length;Y++){if(u=D[Y],E=D[Y+1],!C&&u==='"'){var H=D[Y-1]==="\\"&&D[Y-2]!=="\\";if(!H)B=!B}if(B)continue;if(!C&&u+E==="//")J+=D.slice(Z,Y),Z=Y,C=K1,Y++;else if(C===K1&&u+E===`\r
13
- `){Y++,C=!1,J+=X(D,Z,Y),Z=Y;continue}else if(C===K1&&u===`
14
- `)C=!1,J+=X(D,Z,Y),Z=Y;else if(!C&&u+E==="/*"){J+=D.slice(Z,Y),Z=Y,C=D4,Y++;continue}else if(C===D4&&u+E==="*/"){Y++,C=!1,J+=X(D,Z,Y+1),Z=Y+1;continue}}return J+(C?X(D.substr(Z)):D.substr(Z))}});var B4=T((fH)=>{var E4=i("fs"),xH=e7(),vF=i("path"),kH=u4(),yH=fH.parse=function(D){if(/^\s*{/.test(D))return JSON.parse(kH(D));return xH.parse(D)},bH=fH.file=function(){var D=[].slice.call(arguments).filter(function(B){return B!=null});for(var F in D)if(typeof D[F]!=="string")return;var u=vF.join.apply(null,D),E;try{return E4.readFileSync(u,"utf-8")}catch(B){return}},aV=fH.json=function(){var D=bH.apply(null,arguments);return D?yH(D):null},rV=fH.env=function(D,F){F=F||process.env;var u={},E=D.length;for(var B in F)if(B.toLowerCase().indexOf(D.toLowerCase())===0){var C=B.substring(E).split("__"),Z;while((Z=C.indexOf(""))>-1)C.splice(Z,1);var J=u;C.forEach(function(Y,H){if(!Y||typeof J!=="object")return;if(H===C.length-1)J[Y]=F[B];if(J[Y]===void 0)J[Y]={};J=J[Y]})}return u},sV=fH.find=function(){var D=vF.join.apply(null,[].slice.call(arguments));function F(u,E){var B=vF.join(u,E);try{return E4.statSync(B),B}catch(C){if(vF.dirname(u)!==u)return F(vF.dirname(u),E)}}return F(process.cwd(),D)}});var X4=T((EI,H4)=>{/*!
15
- * @description Recursive object extending
16
- * @author Viacheslav Lotsmanov <lotsmanov89@gmail.com>
17
- * @license MIT
18
- *
19
- * The MIT License (MIT)
20
- *
21
- * Copyright (c) 2013-2018 Viacheslav Lotsmanov
22
- *
23
- * Permission is hereby granted, free of charge, to any person obtaining a copy of
24
- * this software and associated documentation files (the "Software"), to deal in
25
- * the Software without restriction, including without limitation the rights to
26
- * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
27
- * the Software, and to permit persons to whom the Software is furnished to do so,
28
- * subject to the following conditions:
29
- *
30
- * The above copyright notice and this permission notice shall be included in all
31
- * copies or substantial portions of the Software.
32
- *
33
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
34
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
35
- * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
36
- * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
37
- * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
38
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
39
- */function Z4(D){return D instanceof Buffer||D instanceof Date||D instanceof RegExp?!0:!1}function J4(D){if(D instanceof Buffer){var F=Buffer.alloc?Buffer.alloc(D.length):new Buffer(D.length);return D.copy(F),F}else if(D instanceof Date)return new Date(D.getTime());else if(D instanceof RegExp)return new RegExp(D);else throw Error("Unexpected situation")}function Y4(D){var F=[];return D.forEach(function(u,E){if(typeof u==="object"&&u!==null)if(Array.isArray(u))F[E]=Y4(u);else if(Z4(u))F[E]=J4(u);else F[E]=z1({},u);else F[E]=u}),F}function C4(D,F){return F==="__proto__"?void 0:D[F]}var z1=H4.exports=function(){if(arguments.length<1||typeof arguments[0]!=="object")return!1;if(arguments.length<2)return arguments[0];var D=arguments[0],F=Array.prototype.slice.call(arguments,1),u,E,B;return F.forEach(function(C){if(typeof C!=="object"||C===null||Array.isArray(C))return;Object.keys(C).forEach(function(Z){if(E=C4(D,Z),u=C4(C,Z),u===D)return;else if(typeof u!=="object"||u===null){D[Z]=u;return}else if(Array.isArray(u)){D[Z]=Y4(u);return}else if(Z4(u)){D[Z]=J4(u);return}else if(typeof E!=="object"||E===null||Array.isArray(E)){D[Z]=z1({},u);return}else{D[Z]=z1(E,u);return}})}),D}});var z4=T((BI,K4)=>{function vH(D,F){var u=D;F.slice(0,-1).forEach(function(B){u=u[B]||{}});var E=F[F.length-1];return E in u}function G4(D){if(typeof D==="number")return!0;if(/^0x[0-9a-f]+$/i.test(D))return!0;return/^[-+]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(D)}function Q4(D,F){return F==="constructor"&&typeof D[F]==="function"||F==="__proto__"}K4.exports=function(D,F){if(!F)F={};var u={bools:{},strings:{},unknownFn:null};if(typeof F.unknown==="function")u.unknownFn=F.unknown;if(typeof F.boolean==="boolean"&&F.boolean)u.allBools=!0;else[].concat(F.boolean).filter(Boolean).forEach(function(U){u.bools[U]=!0});var E={};function B(U){return E[U].some(function(j){return u.bools[j]})}Object.keys(F.alias||{}).forEach(function(U){E[U]=[].concat(F.alias[U]),E[U].forEach(function(j){E[j]=[U].concat(E[U].filter(function(P){return j!==P}))})}),[].concat(F.string).filter(Boolean).forEach(function(U){if(u.strings[U]=!0,E[U])[].concat(E[U]).forEach(function(j){u.strings[j]=!0})});var C=F.default||{},Z={_:[]};function J(U,j){return u.allBools&&/^--[^=]+$/.test(j)||u.strings[U]||u.bools[U]||E[U]}function X(U,j,P){var L=U;for(var v=0;v<j.length-1;v++){var I=j[v];if(Q4(L,I))return;if(L[I]===void 0)L[I]={};if(L[I]===Object.prototype||L[I]===Number.prototype||L[I]===String.prototype)L[I]={};if(L[I]===Array.prototype)L[I]=[];L=L[I]}var _=j[j.length-1];if(Q4(L,_))return;if(L===Object.prototype||L===Number.prototype||L===String.prototype)L={};if(L===Array.prototype)L=[];if(L[_]===void 0||u.bools[_]||typeof L[_]==="boolean")L[_]=P;else if(Array.isArray(L[_]))L[_].push(P);else L[_]=[L[_],P]}function Y(U,j,P){if(P&&u.unknownFn&&!J(U,P)){if(u.unknownFn(P)===!1)return}var L=!u.strings[U]&&G4(j)?Number(j):j;X(Z,U.split("."),L),(E[U]||[]).forEach(function(v){X(Z,v.split("."),L)})}Object.keys(u.bools).forEach(function(U){Y(U,C[U]===void 0?!1:C[U])});var H=[];if(D.indexOf("--")!==-1)H=D.slice(D.indexOf("--")+1),D=D.slice(0,D.indexOf("--"));for(var G=0;G<D.length;G++){var K=D[G],Q,z;if(/^--.+=/.test(K)){var q=K.match(/^--([^=]+)=([\s\S]*)$/);Q=q[1];var W=q[2];if(u.bools[Q])W=W!=="false";Y(Q,W,K)}else if(/^--no-.+/.test(K))Q=K.match(/^--no-(.+)/)[1],Y(Q,!1,K);else if(/^--.+/.test(K))if(Q=K.match(/^--(.+)/)[1],z=D[G+1],z!==void 0&&!/^(-|--)[^-]/.test(z)&&!u.bools[Q]&&!u.allBools&&(E[Q]?!B(Q):!0))Y(Q,z,K),G+=1;else if(/^(true|false)$/.test(z))Y(Q,z==="true",K),G+=1;else Y(Q,u.strings[Q]?"":!0,K);else if(/^-[^-]+/.test(K)){var N=K.slice(1,-1).split(""),M=!1;for(var $=0;$<N.length;$++){if(z=K.slice($+2),z==="-"){Y(N[$],z,K);continue}if(/[A-Za-z]/.test(N[$])&&z[0]==="="){Y(N[$],z.slice(1),K),M=!0;break}if(/[A-Za-z]/.test(N[$])&&/-?\d+(\.\d*)?(e-?\d+)?$/.test(z)){Y(N[$],z,K),M=!0;break}if(N[$+1]&&N[$+1].match(/\W/)){Y(N[$],K.slice($+2),K),M=!0;break}else Y(N[$],u.strings[N[$]]?"":!0,K)}if(Q=K.slice(-1)[0],!M&&Q!=="-")if(D[G+1]&&!/^(-|--)[^-]/.test(D[G+1])&&!u.bools[Q]&&(E[Q]?!B(Q):!0))Y(Q,D[G+1],K),G+=1;else if(D[G+1]&&/^(true|false)$/.test(D[G+1]))Y(Q,D[G+1]==="true",K),G+=1;else Y(Q,u.strings[Q]?"":!0,K)}else{if(!u.unknownFn||u.unknownFn(K)!==!1)Z._.push(u.strings._||!G4(K)?K:Number(K));if(F.stopEarly){Z._.push.apply(Z._,D.slice(G+1));break}}}if(Object.keys(C).forEach(function(U){if(!vH(Z,U.split(".")))X(Z,U.split("."),C[U]),(E[U]||[]).forEach(function(j){X(Z,j.split("."),C[U])})}),F["--"])Z["--"]=H.slice();else H.forEach(function(U){Z._.push(U)});return Z}});var W4=T((CI,U4)=>{var hF=B4(),YF=i("path").join,hH=X4(),q4="/etc",A4=process.platform==="win32",gF=A4?process.env.USERPROFILE:process.env.HOME;U4.exports=function(D,F,u,E){if(typeof D!=="string")throw Error("rc(name): name *must* be string");if(!u)u=z4()(process.argv.slice(2));F=(typeof F==="string"?hF.json(F):F)||{},E=E||hF.parse;var B=hF.env(D+"_"),C=[F],Z=[];function J(X){if(Z.indexOf(X)>=0)return;var Y=hF.file(X);if(Y)C.push(E(Y)),Z.push(X)}if(!A4)[YF(q4,D,"config"),YF(q4,D+"rc")].forEach(J);if(gF)[YF(gF,".config",D,"config"),YF(gF,".config",D),YF(gF,"."+D,"config"),YF(gF,"."+D+"rc")].forEach(J);if(J(hF.find("."+D+"rc")),B.config)J(B.config);if(u.config)J(u.config);return hH.apply(null,C.concat([B,u,Z.length?{configs:Z,config:Z[Z.length-1]}:void 0]))}});var V4=T((JI,$4)=>{var U0=i("constants"),gH=process.cwd,r2=null,mH=process.env.GRACEFUL_FS_PLATFORM||process.platform;process.cwd=function(){if(!r2)r2=gH.call(process);return r2};try{process.cwd()}catch(D){}if(typeof process.chdir==="function"){if(s2=process.chdir,process.chdir=function(D){r2=null,s2.call(process,D)},Object.setPrototypeOf)Object.setPrototypeOf(process.chdir,s2)}var s2;$4.exports=dH;function dH(D){if(U0.hasOwnProperty("O_SYMLINK")&&process.version.match(/^v0\.6\.[0-2]|^v0\.5\./))F(D);if(!D.lutimes)u(D);if(D.chown=C(D.chown),D.fchown=C(D.fchown),D.lchown=C(D.lchown),D.chmod=E(D.chmod),D.fchmod=E(D.fchmod),D.lchmod=E(D.lchmod),D.chownSync=Z(D.chownSync),D.fchownSync=Z(D.fchownSync),D.lchownSync=Z(D.lchownSync),D.chmodSync=B(D.chmodSync),D.fchmodSync=B(D.fchmodSync),D.lchmodSync=B(D.lchmodSync),D.stat=J(D.stat),D.fstat=J(D.fstat),D.lstat=J(D.lstat),D.statSync=X(D.statSync),D.fstatSync=X(D.fstatSync),D.lstatSync=X(D.lstatSync),D.chmod&&!D.lchmod)D.lchmod=function(H,G,K){if(K)process.nextTick(K)},D.lchmodSync=function(){};if(D.chown&&!D.lchown)D.lchown=function(H,G,K,Q){if(Q)process.nextTick(Q)},D.lchownSync=function(){};if(mH==="win32")D.rename=typeof D.rename!=="function"?D.rename:function(H){function G(K,Q,z){var q=Date.now(),W=0;H(K,Q,function N(M){if(M&&(M.code==="EACCES"||M.code==="EPERM")&&Date.now()-q<60000){if(setTimeout(function(){D.stat(Q,function($,U){if($&&$.code==="ENOENT")H(K,Q,N);else z(M)})},W),W<100)W+=10;return}if(z)z(M)})}if(Object.setPrototypeOf)Object.setPrototypeOf(G,H);return G}(D.rename);D.read=typeof D.read!=="function"?D.read:function(H){function G(K,Q,z,q,W,N){var M;if(N&&typeof N==="function"){var $=0;M=function(U,j,P){if(U&&U.code==="EAGAIN"&&$<10)return $++,H.call(D,K,Q,z,q,W,M);N.apply(this,arguments)}}return H.call(D,K,Q,z,q,W,M)}if(Object.setPrototypeOf)Object.setPrototypeOf(G,H);return G}(D.read),D.readSync=typeof D.readSync!=="function"?D.readSync:function(H){return function(G,K,Q,z,q){var W=0;while(!0)try{return H.call(D,G,K,Q,z,q)}catch(N){if(N.code==="EAGAIN"&&W<10){W++;continue}throw N}}}(D.readSync);function F(H){H.lchmod=function(G,K,Q){H.open(G,U0.O_WRONLY|U0.O_SYMLINK,K,function(z,q){if(z){if(Q)Q(z);return}H.fchmod(q,K,function(W){H.close(q,function(N){if(Q)Q(W||N)})})})},H.lchmodSync=function(G,K){var Q=H.openSync(G,U0.O_WRONLY|U0.O_SYMLINK,K),z=!0,q;try{q=H.fchmodSync(Q,K),z=!1}finally{if(z)try{H.closeSync(Q)}catch(W){}else H.closeSync(Q)}return q}}function u(H){if(U0.hasOwnProperty("O_SYMLINK")&&H.futimes)H.lutimes=function(G,K,Q,z){H.open(G,U0.O_SYMLINK,function(q,W){if(q){if(z)z(q);return}H.futimes(W,K,Q,function(N){H.close(W,function(M){if(z)z(N||M)})})})},H.lutimesSync=function(G,K,Q){var z=H.openSync(G,U0.O_SYMLINK),q,W=!0;try{q=H.futimesSync(z,K,Q),W=!1}finally{if(W)try{H.closeSync(z)}catch(N){}else H.closeSync(z)}return q};else if(H.futimes)H.lutimes=function(G,K,Q,z){if(z)process.nextTick(z)},H.lutimesSync=function(){}}function E(H){if(!H)return H;return function(G,K,Q){return H.call(D,G,K,function(z){if(Y(z))z=null;if(Q)Q.apply(this,arguments)})}}function B(H){if(!H)return H;return function(G,K){try{return H.call(D,G,K)}catch(Q){if(!Y(Q))throw Q}}}function C(H){if(!H)return H;return function(G,K,Q,z){return H.call(D,G,K,Q,function(q){if(Y(q))q=null;if(z)z.apply(this,arguments)})}}function Z(H){if(!H)return H;return function(G,K,Q){try{return H.call(D,G,K,Q)}catch(z){if(!Y(z))throw z}}}function J(H){if(!H)return H;return function(G,K,Q){if(typeof K==="function")Q=K,K=null;function z(q,W){if(W){if(W.uid<0)W.uid+=4294967296;if(W.gid<0)W.gid+=4294967296}if(Q)Q.apply(this,arguments)}return K?H.call(D,G,K,z):H.call(D,G,z)}}function X(H){if(!H)return H;return function(G,K){var Q=K?H.call(D,G,K):H.call(D,G);if(Q){if(Q.uid<0)Q.uid+=4294967296;if(Q.gid<0)Q.gid+=4294967296}return Q}}function Y(H){if(!H)return!0;if(H.code==="ENOSYS")return!0;var G=!process.getuid||process.getuid()!==0;if(G){if(H.code==="EINVAL"||H.code==="EPERM")return!0}return!1}}});var T4=T((YI,M4)=>{var I4=i("stream").Stream;M4.exports=cH;function cH(D){return{ReadStream:F,WriteStream:u};function F(E,B){if(!(this instanceof F))return new F(E,B);I4.call(this);var C=this;this.path=E,this.fd=null,this.readable=!0,this.paused=!1,this.flags="r",this.mode=438,this.bufferSize=65536,B=B||{};var Z=Object.keys(B);for(var J=0,X=Z.length;J<X;J++){var Y=Z[J];this[Y]=B[Y]}if(this.encoding)this.setEncoding(this.encoding);if(this.start!==void 0){if(typeof this.start!=="number")throw TypeError("start must be a Number");if(this.end===void 0)this.end=1/0;else if(typeof this.end!=="number")throw TypeError("end must be a Number");if(this.start>this.end)throw Error("start must be <= end");this.pos=this.start}if(this.fd!==null){process.nextTick(function(){C._read()});return}D.open(this.path,this.flags,this.mode,function(H,G){if(H){C.emit("error",H),C.readable=!1;return}C.fd=G,C.emit("open",G),C._read()})}function u(E,B){if(!(this instanceof u))return new u(E,B);I4.call(this),this.path=E,this.fd=null,this.writable=!0,this.flags="w",this.encoding="binary",this.mode=438,this.bytesWritten=0,B=B||{};var C=Object.keys(B);for(var Z=0,J=C.length;Z<J;Z++){var X=C[Z];this[X]=B[X]}if(this.start!==void 0){if(typeof this.start!=="number")throw TypeError("start must be a Number");if(this.start<0)throw Error("start must be >= zero");this.pos=this.start}if(this.busy=!1,this._queue=[],this.fd===null)this._open=D.open,this._queue.push([this._open,this.path,this.flags,this.mode,void 0]),this.flush()}}});var _4=T((HI,O4)=>{O4.exports=pH;var lH=Object.getPrototypeOf||function(D){return D.__proto__};function pH(D){if(D===null||typeof D!=="object")return D;if(D instanceof Object)var F={__proto__:lH(D)};else var F=Object.create(null);return Object.getOwnPropertyNames(D).forEach(function(u){Object.defineProperty(F,u,Object.getOwnPropertyDescriptor(D,u))}),F}});var j4=T((XI,N1)=>{var ZD=i("fs"),iH=V4(),nH=T4(),aH=_4(),o2=i("util"),qD,e2;if(typeof Symbol==="function"&&typeof Symbol.for==="function")qD=Symbol.for("graceful-fs.queue"),e2=Symbol.for("graceful-fs.previous");else qD="___graceful-fs.queue",e2="___graceful-fs.previous";function rH(){}function R4(D,F){Object.defineProperty(D,qD,{get:function(){return F}})}var k0=rH;if(o2.debuglog)k0=o2.debuglog("gfs4");else if(/\bgfs4\b/i.test(process.env.NODE_DEBUG||""))k0=function(){var D=o2.format.apply(o2,arguments);D="GFS4: "+D.split(/\n/).join(`
40
- GFS4: `),console.error(D)};if(!ZD[qD]){if(A1=global[qD]||[],R4(ZD,A1),ZD.close=function(D){function F(u,E){return D.call(ZD,u,function(B){if(!B)L4();if(typeof E==="function")E.apply(this,arguments)})}return Object.defineProperty(F,e2,{value:D}),F}(ZD.close),ZD.closeSync=function(D){function F(u){D.apply(ZD,arguments),L4()}return Object.defineProperty(F,e2,{value:D}),F}(ZD.closeSync),/\bgfs4\b/i.test(process.env.NODE_DEBUG||""))process.on("exit",function(){k0(ZD[qD]),i("assert").equal(ZD[qD].length,0)})}var A1;if(!global[qD])R4(global,ZD[qD]);N1.exports=U1(aH(ZD));if(process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH&&!ZD.__patched)N1.exports=U1(ZD),ZD.__patched=!0;function U1(D){iH(D),D.gracefulify=U1,D.createReadStream=j,D.createWriteStream=P;var F=D.readFile;D.readFile=u;function u(I,_,O){if(typeof _==="function")O=_,_=null;return g(I,_,O);function g(w,R,S,b){return F(w,R,function(f){if(f&&(f.code==="EMFILE"||f.code==="ENFILE"))HF([g,[w,R,S],f,b||Date.now(),Date.now()]);else if(typeof S==="function")S.apply(this,arguments)})}}var E=D.writeFile;D.writeFile=B;function B(I,_,O,g){if(typeof O==="function")g=O,O=null;return w(I,_,O,g);function w(R,S,b,f,p){return E(R,S,b,function(m){if(m&&(m.code==="EMFILE"||m.code==="ENFILE"))HF([w,[R,S,b,f],m,p||Date.now(),Date.now()]);else if(typeof f==="function")f.apply(this,arguments)})}}var C=D.appendFile;if(C)D.appendFile=Z;function Z(I,_,O,g){if(typeof O==="function")g=O,O=null;return w(I,_,O,g);function w(R,S,b,f,p){return C(R,S,b,function(m){if(m&&(m.code==="EMFILE"||m.code==="ENFILE"))HF([w,[R,S,b,f],m,p||Date.now(),Date.now()]);else if(typeof f==="function")f.apply(this,arguments)})}}var J=D.copyFile;if(J)D.copyFile=X;function X(I,_,O,g){if(typeof O==="function")g=O,O=0;return w(I,_,O,g);function w(R,S,b,f,p){return J(R,S,b,function(m){if(m&&(m.code==="EMFILE"||m.code==="ENFILE"))HF([w,[R,S,b,f],m,p||Date.now(),Date.now()]);else if(typeof f==="function")f.apply(this,arguments)})}}var Y=D.readdir;D.readdir=G;var H=/^v[0-5]\./;function G(I,_,O){if(typeof _==="function")O=_,_=null;var g=H.test(process.version)?function(S,b,f,p){return Y(S,w(S,b,f,p))}:function(S,b,f,p){return Y(S,b,w(S,b,f,p))};return g(I,_,O);function w(R,S,b,f){return function(p,m){if(p&&(p.code==="EMFILE"||p.code==="ENFILE"))HF([g,[R,S,b],p,f||Date.now(),Date.now()]);else{if(m&&m.sort)m.sort();if(typeof b==="function")b.call(this,p,m)}}}}if(process.version.substr(0,4)==="v0.8"){var K=nH(D);N=K.ReadStream,$=K.WriteStream}var Q=D.ReadStream;if(Q)N.prototype=Object.create(Q.prototype),N.prototype.open=M;var z=D.WriteStream;if(z)$.prototype=Object.create(z.prototype),$.prototype.open=U;Object.defineProperty(D,"ReadStream",{get:function(){return N},set:function(I){N=I},enumerable:!0,configurable:!0}),Object.defineProperty(D,"WriteStream",{get:function(){return $},set:function(I){$=I},enumerable:!0,configurable:!0});var q=N;Object.defineProperty(D,"FileReadStream",{get:function(){return q},set:function(I){q=I},enumerable:!0,configurable:!0});var W=$;Object.defineProperty(D,"FileWriteStream",{get:function(){return W},set:function(I){W=I},enumerable:!0,configurable:!0});function N(I,_){if(this instanceof N)return Q.apply(this,arguments),this;else return N.apply(Object.create(N.prototype),arguments)}function M(){var I=this;v(I.path,I.flags,I.mode,function(_,O){if(_){if(I.autoClose)I.destroy();I.emit("error",_)}else I.fd=O,I.emit("open",O),I.read()})}function $(I,_){if(this instanceof $)return z.apply(this,arguments),this;else return $.apply(Object.create($.prototype),arguments)}function U(){var I=this;v(I.path,I.flags,I.mode,function(_,O){if(_)I.destroy(),I.emit("error",_);else I.fd=O,I.emit("open",O)})}function j(I,_){return new D.ReadStream(I,_)}function P(I,_){return new D.WriteStream(I,_)}var L=D.open;D.open=v;function v(I,_,O,g){if(typeof O==="function")g=O,O=null;return w(I,_,O,g);function w(R,S,b,f,p){return L(R,S,b,function(m,M3){if(m&&(m.code==="EMFILE"||m.code==="ENFILE"))HF([w,[R,S,b,f],m,p||Date.now(),Date.now()]);else if(typeof f==="function")f.apply(this,arguments)})}}return D}function HF(D){k0("ENQUEUE",D[0].name,D[1]),ZD[qD].push(D),W1()}var t2;function L4(){var D=Date.now();for(var F=0;F<ZD[qD].length;++F)if(ZD[qD][F].length>2)ZD[qD][F][3]=D,ZD[qD][F][4]=D;W1()}function W1(){if(clearTimeout(t2),t2=void 0,ZD[qD].length===0)return;var D=ZD[qD].shift(),F=D[0],u=D[1],E=D[2],B=D[3],C=D[4];if(B===void 0)k0("RETRY",F.name,u),F.apply(null,u);else if(Date.now()-B>=60000){k0("TIMEOUT",F.name,u);var Z=u.pop();if(typeof Z==="function")Z.call(null,E)}else{var J=Date.now()-C,X=Math.max(C-B,1),Y=Math.min(X*1.2,100);if(J>=Y)k0("RETRY",F.name,u),F.apply(null,u.concat([B]));else ZD[qD].push(D)}if(t2===void 0)t2=setTimeout(W1,0)}});var S4=T((XF)=>{var sH=XF&&XF.__importDefault||function(D){return D&&D.__esModule?D:{default:D}};Object.defineProperty(XF,"__esModule",{value:!0});XF.readCAFileSync=void 0;var oH=sH(j4());function tH(D){try{let F=oH.default.readFileSync(D,"utf8"),u="-----END CERTIFICATE-----";return F.split("-----END CERTIFICATE-----").filter((B)=>Boolean(B.trim())).map((B)=>`${B.trimLeft()}-----END CERTIFICATE-----`)}catch(F){if(F.code==="ENOENT")return;throw F}}XF.readCAFileSync=tH});var P4=T((y0)=>{var eH=y0&&y0.__createBinding||(Object.create?function(D,F,u,E){if(E===void 0)E=u;var B=Object.getOwnPropertyDescriptor(F,u);if(!B||("get"in B?!F.__esModule:B.writable||B.configurable))B={enumerable:!0,get:function(){return F[u]}};Object.defineProperty(D,E,B)}:function(D,F,u,E){if(E===void 0)E=u;D[E]=F[u]}),DX=y0&&y0.__exportStar||function(D,F){for(var u in D)if(u!=="default"&&!Object.prototype.hasOwnProperty.call(F,u))eH(F,D,u)};Object.defineProperty(y0,"__esModule",{value:!0});DX(S4(),y0)});var k4=T((KI,x4)=>{x4.exports=w4;function b0(D,F){if(typeof Object.setPrototypeOf==="function")return Object.setPrototypeOf(D,F);else D.__proto__=F}function w4(){this.list=[];var D=null;Object.defineProperty(this,"root",{get:function(){return D},set:function(F){if(D=F,this.list.length)b0(this.list[this.list.length-1],F)},enumerable:!0,configurable:!0})}w4.prototype={get length(){return this.list.length},get keys(){var D=[];for(var F in this.list[0])D.push(F);return D},get snapshot(){var D={};return this.keys.forEach(function(F){D[F]=this.get(F)},this),D},get store(){return this.list[0]},push:function(D){if(typeof D!=="object")D={valueOf:D};if(this.list.length>=1)b0(this.list[this.list.length-1],D);return b0(D,this.root),this.list.push(D)},pop:function(){if(this.list.length>=2)b0(this.list[this.list.length-2],this.root);return this.list.pop()},unshift:function(D){return b0(D,this.list[0]||this.root),this.list.unshift(D)},shift:function(){if(this.list.length===1)b0(this.list[0],this.root);return this.list.shift()},get:function(D){return this.list[0][D]},set:function(D,F,u){if(!this.length)this.push({});if(u&&this.list[0].hasOwnProperty(D))this.push({});return this.list[0][D]=F},forEach:function(D,F){for(var u in this.list[0])D.call(F,u,this.list[0][u])},slice:function(){return this.list.slice.apply(this.list,arguments)},splice:function(){var D=this.list.splice.apply(this.list,arguments);for(var F=0,u=this.list.length;F<u;F++)b0(this.list[F],this.list[F+1]||this.root);return D}}});var v4=T((uX)=>{uX.parse=uX.decode=FX;uX.stringify=uX.encode=y4;uX.safe=GF;uX.unsafe=D8;var $1=typeof process<"u"&&process.platform==="win32"?`\r
41
- `:`
42
- `;function y4(D,F){var u=[],E="";if(typeof F==="string")F={section:F,whitespace:!1};else F=F||{},F.whitespace=F.whitespace===!0;var B=F.whitespace?" = ":"=";if(Object.keys(D).forEach(function(C,Z,J){var X=D[C];if(X&&Array.isArray(X))X.forEach(function(Y){E+=GF(C+"[]")+B+GF(Y)+`
43
- `});else if(X&&typeof X==="object")u.push(C);else E+=GF(C)+B+GF(X)+$1}),F.section&&E.length)E="["+GF(F.section)+"]"+$1+E;return u.forEach(function(C,Z,J){var X=b4(C).join("\\."),Y=(F.section?F.section+".":"")+X,H=y4(D[C],{section:Y,whitespace:F.whitespace});if(E.length&&H.length)E+=$1;E+=H}),E}function b4(D){return D.replace(/\1/g,"\x02LITERAL\\1LITERAL\x02").replace(/\\\./g,"\x01").split(/\./).map(function(F){return F.replace(/\1/g,"\\.").replace(/\2LITERAL\\1LITERAL\2/g,"\x01")})}function FX(D){var F={},u=F,E=null,B=/^\[([^\]]*)\]$|^([^=]+)(=(.*))?$/i,C=D.split(/[\r\n]+/g);return C.forEach(function(Z,J,X){if(!Z||Z.match(/^\s*[;#]/))return;var Y=Z.match(B);if(!Y)return;if(Y[1]!==void 0){if(E=D8(Y[1]),E==="__proto__"){u={};return}u=F[E]=F[E]||{};return}var H=D8(Y[2]);if(H==="__proto__")return;var G=Y[3]?D8(Y[4]):!0;switch(G){case"true":case"false":case"null":G=JSON.parse(G)}if(H.length>2&&H.slice(-2)==="[]"){if(H=H.substring(0,H.length-2),H==="__proto__")return;if(!u[H])u[H]=[];else if(!Array.isArray(u[H]))u[H]=[u[H]]}if(Array.isArray(u[H]))u[H].push(G);else u[H]=G}),Object.keys(F).filter(function(Z,J,X){if(!F[Z]||typeof F[Z]!=="object"||Array.isArray(F[Z]))return!1;var Y=b4(Z),H=F,G=Y.pop(),K=G.replace(/\\\./g,".");if(Y.forEach(function(Q,z,q){if(Q==="__proto__")return;if(!H[Q]||typeof H[Q]!=="object")H[Q]={};H=H[Q]}),H===F&&K===G)return!1;return H[K]=F[Z],!0}).forEach(function(Z,J,X){delete F[Z]}),F}function f4(D){return D.charAt(0)==='"'&&D.slice(-1)==='"'||D.charAt(0)==="'"&&D.slice(-1)==="'"}function GF(D){return typeof D!=="string"||D.match(/[=\r\n]/)||D.match(/^\[/)||D.length>1&&f4(D)||D!==D.trim()?JSON.stringify(D):D.replace(/;/g,"\\;").replace(/#/g,"\\#")}function D8(D,F){if(D=(D||"").trim(),f4(D)){if(D.charAt(0)==="'")D=D.substr(1,D.length-2);try{D=JSON.parse(D)}catch(J){}}else{var u=!1,E="";for(var B=0,C=D.length;B<C;B++){var Z=D.charAt(B);if(u){if("\\;#".indexOf(Z)!==-1)E+=Z;else E+="\\"+Z;u=!1}else if(";#".indexOf(Z)!==-1)break;else if(Z==="\\")u=!0;else E+=Z}if(u)E+="\\";return E.trim()}return D}});var d4=T((Y0,m4)=>{var __dirname="/home/runner/work/cli/cli/node_modules/config-chain",h4=k4(),mF=i("path"),F8=i("fs"),V1=v4(),I1=i("events").EventEmitter,JX=i("url"),YX=i("http"),Y0=m4.exports=function(){var D=[].slice.call(arguments),F=new VD;while(D.length){var u=D.shift();if(u)F.push(typeof u==="string"?XX(u):u)}return F},UI=Y0.find=function(){var D=mF.join.apply(null,[].slice.call(arguments));function F(u,E){var B=mF.join(u,E);try{return F8.statSync(B),B}catch(C){if(mF.dirname(u)!==u)return F(mF.dirname(u),E)}}return F(__dirname,D)},HX=Y0.parse=function(D,F,u){if(D=""+D,!u)try{return JSON.parse(D)}catch(E){return V1.parse(D)}else if(u==="json")if(this.emit)try{return JSON.parse(D)}catch(E){this.emit("error",E)}else return JSON.parse(D);else return V1.parse(D)},XX=Y0.json=function(){var D=[].slice.call(arguments).filter(function(E){return E!=null}),F=mF.join.apply(null,D),u;try{u=F8.readFileSync(F,"utf-8")}catch(E){return}return HX(u,F,"json")},WI=Y0.env=function(D,F){F=F||process.env;var u={},E=D.length;for(var B in F)if(B.indexOf(D)===0)u[B.substring(E)]=F[B];return u};Y0.ConfigChain=VD;function VD(){I1.apply(this),h4.apply(this,arguments),this._awaiting=0,this._saving=0,this.sources={}}var g4={constructor:{value:VD}};Object.keys(I1.prototype).forEach(function(D){g4[D]=Object.getOwnPropertyDescriptor(I1.prototype,D)});VD.prototype=Object.create(h4.prototype,g4);VD.prototype.del=function(D,F){if(F){var u=this.sources[F];if(u=u&&u.data,!u)return this.emit("error",Error("not found "+F));delete u[D]}else for(var E=0,B=this.list.length;E<B;E++)delete this.list[E][D];return this};VD.prototype.set=function(D,F,u){var E;if(u){if(E=this.sources[u],E=E&&E.data,!E)return this.emit("error",Error("not found "+u))}else if(E=this.list[0],!E)return this.emit("error",Error("cannot set, no confs!"));return E[D]=F,this};VD.prototype.get=function(D,F){if(F){if(F=this.sources[F],F)F=F.data;if(F&&Object.hasOwnProperty.call(F,D))return F[D];return}return this.list[0][D]};VD.prototype.save=function(D,C,u){if(typeof C==="function")u=C,C=null;var E=this.sources[D];if(!E||!(E.path||E.source)||!E.data)return this.emit("error",Error("bad save target: "+D));if(E.source){var B=E.prefix||"";return Object.keys(E.data).forEach(function(J){E.source[B+J]=E.data[J]}),this}var C=C||E.type,Z=E.data;if(E.type==="json")Z=JSON.stringify(Z);else Z=V1.stringify(Z);return this._saving++,F8.writeFile(E.path,Z,"utf8",function(J){if(this._saving--,J)if(u)return u(J);else return this.emit("error",J);if(this._saving===0){if(u)u();this.emit("save")}}.bind(this)),this};VD.prototype.addFile=function(D,F,u){u=u||D;var E={__source__:u};return this.sources[u]={path:D,type:F},this.push(E),this._await(),F8.readFile(D,"utf8",function(B,C){if(B)this.emit("error",B);this.addString(C,D,F,E)}.bind(this)),this};VD.prototype.addEnv=function(D,F,u){u=u||"env";var E=Y0.env(D,F);return this.sources[u]={data:E,source:F,prefix:D},this.add(E,u)};VD.prototype.addUrl=function(D,F,u){this._await();var E=JX.format(D);u=u||E;var B={__source__:u};return this.sources[u]={href:E,type:F},this.push(B),YX.request(D,function(C){var Z=[],J=C.headers["content-type"];if(!F)F=J.indexOf("json")!==-1?"json":J.indexOf("ini")!==-1?"ini":E.match(/\.json$/)?"json":E.match(/\.ini$/)?"ini":null,B.type=F;C.on("data",Z.push.bind(Z)).on("end",function(){this.addString(Buffer.concat(Z),E,F,B)}.bind(this)).on("error",this.emit.bind(this,"error"))}.bind(this)).on("error",this.emit.bind(this,"error")).end(),this};VD.prototype.addString=function(D,F,u,E){return D=this.parse(D,F,u),this.add(D,E),this};VD.prototype.add=function(D,F){if(F&&typeof F==="object"){var u=this.list.indexOf(F);if(u===-1)return this.emit("error",Error("bad marker"));this.splice(u,1,D),F=F.__source__,this.sources[F]=this.sources[F]||{},this.sources[F].data=D,this._resolve()}else{if(typeof F==="string")this.sources[F]=this.sources[F]||{},this.sources[F].data=D;this._await(),this.push(D),process.nextTick(this._resolve.bind(this))}return this};VD.prototype.parse=Y0.parse;VD.prototype._await=function(){this._awaiting++};VD.prototype._resolve=function(){if(this._awaiting--,this._awaiting===0)this.emit("load",this)}});var p4=T((NI,l4)=>{l4.exports=function(D){let F=D.indexOf(":");if(F===-1)return c4(D);let u=D.substr(0,F),E=D.substr(F+1);return`${u}:${c4(E)}`};function c4(D){if(D=D.toLowerCase(),D==="_authtoken")return"_authToken";let F=D[0];for(let u=1;u<D.length;u++)F+=D[u]==="_"?"-":D[u];return F}});var a4=T((i4)=>{Object.defineProperty(i4,"__esModule",{value:!0});i4.envReplace=void 0;var GX=/(?<!\\)(\\*)\$\{([^${}]+)\}/g;function QX(D,F){return D.replace(GX,KX.bind(null,F))}i4.envReplace=QX;function KX(D,F,u,E){if(u.length%2)return F.slice((u.length+1)/2);let B=qX(D,E);if(B===void 0)throw Error(`Failed to replace env in config: ${F}`);return`${u.slice(u.length/2)}${B}`}var zX=/([^:-]+)(:?)-(.+)/;function qX(D,F){let u=F.match(zX);if(!u)return D[F];let[,E,B,C]=u;if(Object.prototype.hasOwnProperty.call(D,E))return!D[E]&&B?C:D[E];return C}});var r4=T((M1)=>{Object.defineProperty(M1,"__esModule",{value:!0});M1.envReplace=void 0;var AX=a4();Object.defineProperty(M1,"envReplace",{enumerable:!0,get:function(){return AX.envReplace}})});var s4=T((IX)=>{var WX=i("fs"),f0=i("path"),{envReplace:T1}=r4(),NX=(D)=>{if(typeof D!=="string")return D;return T1(D,process.env)},$X=(D,F,u)=>{if(typeof F!=="string")return F;let E=[].concat(D[u]),B=E.indexOf(f0)!==-1,C=E.indexOf(Boolean)!==-1,Z=E.indexOf(String)!==-1,J=E.indexOf(Number)!==-1;if(F=`${F}`.trim(),/^".*"$/.test(F))try{F=JSON.parse(F)}catch(Y){throw Error(`Failed parsing JSON config key ${u}: ${F}`)}if(C&&!Z&&F==="")return!0;switch(F){case"true":return!0;case"false":return!1;case"null":return null;case"undefined":return}let X=T1(F,process.env);if((u.endsWith(":tokenHelper")||u==="tokenHelper")&&X!==F)throw Error(`It is not allowed to use environment variables in the value of the ${u} setting.`);else F=X;if(B){if((process.platform==="win32"?/^~(\/|\\)/:/^~\//).test(F)&&process.env.HOME)F=f0.resolve(process.env.HOME,F.substr(2));F=f0.resolve(F)}if(J&&!isNaN(F))F=Number(F);return F},VX=(D)=>{D=f0.resolve(D);let F=!1;while(f0.basename(D)==="node_modules")D=f0.dirname(D),F=!0;if(F)return D;let u=(E,B)=>{let C=/^[a-zA-Z]:(\\|\/)?$/;if(E==="/"||process.platform==="win32"&&C.test(E))return B;try{let Z=WX.readdirSync(E);if(Z.includes("node_modules")||Z.includes("package.json")||Z.includes("package.json5")||Z.includes("package.yaml")||Z.includes("pnpm-workspace.yaml"))return E;let J=f0.dirname(E);if(J===E)return B;return u(J,B)}catch(Z){if(E===B){if(Z.code==="ENOENT")return B;throw Z}return B}};return u(D,D)};IX.envReplace=T1;IX.findPrefix=VX;IX.parseField=$X;IX.parseKey=NX});var t4=T((SX)=>{var v0=i("path"),LX=i("stream").Stream,u8=i("url"),RX=()=>{},jX=()=>[],o4=()=>{};SX.types={access:[null,"restricted","public"],"allow-same-version":Boolean,"always-auth":Boolean,also:[null,"dev","development"],audit:Boolean,"auth-type":["legacy","sso","saml","oauth"],"bin-links":Boolean,browser:[null,String],ca:[null,String,Array],cafile:v0,cache:v0,"cache-lock-stale":Number,"cache-lock-retries":Number,"cache-lock-wait":Number,"cache-max":Number,"cache-min":Number,cert:[null,String],cidr:[null,String,Array],color:["always",Boolean],depth:Number,description:Boolean,dev:Boolean,"dry-run":Boolean,editor:String,"engine-strict":Boolean,force:Boolean,"fetch-retries":Number,"fetch-retry-factor":Number,"fetch-retry-mintimeout":Number,"fetch-retry-maxtimeout":Number,git:String,"git-tag-version":Boolean,"commit-hooks":Boolean,global:Boolean,globalconfig:v0,"global-style":Boolean,group:[Number,String],"https-proxy":[null,u8],"user-agent":String,"ham-it-up":Boolean,heading:String,"if-present":Boolean,"ignore-prepublish":Boolean,"ignore-scripts":Boolean,"init-module":v0,"init-author-name":String,"init-author-email":String,"init-author-url":["",u8],"init-license":String,"init-version":o4,json:Boolean,key:[null,String],"legacy-bundling":Boolean,link:Boolean,"local-address":jX(),loglevel:["silent","error","warn","notice","http","timing","info","verbose","silly"],logstream:LX,"logs-max":Number,long:Boolean,maxsockets:Number,message:String,"metrics-registry":[null,String],"node-options":[null,String],"node-version":[null,o4],"no-proxy":[null,String,Array],offline:Boolean,"onload-script":[null,String],only:[null,"dev","development","prod","production"],optional:Boolean,"package-lock":Boolean,otp:[null,String],"package-lock-only":Boolean,parseable:Boolean,"prefer-offline":Boolean,"prefer-online":Boolean,prefix:v0,production:Boolean,progress:Boolean,proxy:[null,!1,u8],provenance:Boolean,"read-only":Boolean,"rebuild-bundle":Boolean,registry:[null,u8],rollback:Boolean,save:Boolean,"save-bundle":Boolean,"save-dev":Boolean,"save-exact":Boolean,"save-optional":Boolean,"save-prefix":String,"save-prod":Boolean,scope:String,"script-shell":[null,String],"scripts-prepend-node-path":[!1,!0,"auto","warn-only"],searchopts:String,searchexclude:[null,String],searchlimit:Number,searchstaleness:Number,"send-metrics":Boolean,shell:String,shrinkwrap:Boolean,"sign-git-tag":Boolean,"sso-poll-frequency":Number,"sso-type":[null,"oauth","saml"],"strict-ssl":Boolean,tag:String,timing:Boolean,tmp:v0,unicode:Boolean,"unsafe-perm":Boolean,usage:Boolean,user:[Number,String],userconfig:v0,umask:RX,version:Boolean,"tag-version-prefix":String,versions:Boolean,viewer:String,_exit:Boolean}});var u5=T((TI,F5)=>{var{readCAFileSync:wX}=P4(),e4=i("fs"),O1=i("path"),{ConfigChain:xX}=d4(),kX=p4(),_1=s4();class D5 extends xX{constructor(D,F){super(D);this.root=D,this._parseField=_1.parseField.bind(null,F||t4())}add(D,F){try{for(let[u,E]of Object.entries(D)){let B=_1.parseKey(u);if(B!==u)delete D[u];D[B]=this._parseField(E,B)}}catch(u){throw u}return super.add(D,F)}addFile(D,F){F=F||D;let u={__source__:F};this.sources[F]={path:D,type:"ini"},this.push(u),this._await();try{let E=e4.readFileSync(D,"utf8");this.addString(E,D,"ini",u)}catch(E){if(E.code==="ENOENT")this.add({},u);else if(E.code!=="EISDIR")return`Issue while reading "${D}". ${E.message}`}}addEnv(D){D=D||process.env;let F={};return Object.keys(D).filter((u)=>/^npm_config_/i.test(u)).forEach((u)=>{if(!D[u])return;let E=kX(u.substr(11)),B=D[u];F[E]=yX(E,B)}),super.addEnv("",F,"env")}loadPrefix(){let D=this.list[0];Object.defineProperty(this,"prefix",{enumerable:!0,set:(u)=>{let E=this.get("global");this[E?"globalPrefix":"localPrefix"]=u},get:()=>{return this.get("global")?this.globalPrefix:this.localPrefix}}),Object.defineProperty(this,"globalPrefix",{enumerable:!0,set:(u)=>{this.set("prefix",u)},get:()=>{return O1.resolve(this.get("prefix"))}});let F;if(Object.defineProperty(this,"localPrefix",{enumerable:!0,set:(u)=>{F=u},get:()=>{return F}}),Object.prototype.hasOwnProperty.call(D,"prefix"))F=O1.resolve(D.prefix);else try{F=_1.findPrefix(process.cwd())}catch(u){throw u}return F}loadCAFile(D){if(!D)return;let F=wX(D);if(F)this.set("ca",F)}loadUser(){let D=this.root;if(this.get("global"))return;if(process.env.SUDO_UID){D.user=Number(process.env.SUDO_UID);return}let F=O1.resolve(this.get("prefix"));try{let u=e4.statSync(F);D.user=u.uid}catch(u){if(u.code==="ENOENT")return;throw u}}}function yX(D,F){function u(E){if(E.indexOf(`
44
-
45
- `))return E.split(`
46
-
47
- `);return E.split(",")}switch(D){case"hoist-pattern":case"public-hoist-pattern":return u(F)}return F}F5.exports=D5});var Y5=T((J5)=>{var C5=i("os"),H0=i("path"),Z5=C5.tmpdir(),bX=process.getuid?process.getuid():process.pid,fX=()=>!0,E5=process.platform==="win32",B5={editor:()=>process.env.EDITOR||process.env.VISUAL||(E5?"notepad.exe":"vi"),shell:()=>E5?process.env.COMSPEC||"cmd.exe":process.env.SHELL||"/bin/bash"},vX={fromString:()=>process.umask()},QF=C5.homedir();if(QF)process.env.HOME=QF;else QF=H0.resolve(Z5,"npm-"+bX);var hX=process.platform==="win32"?"npm-cache":".npm",gX=process.platform==="win32"&&process.env.APPDATA||QF,mX=H0.resolve(gX,hX),E8,h0;Object.defineProperty(J5,"defaults",{get:function(){if(E8)return E8;if(process.env.PREFIX)h0=process.env.PREFIX;else if(process.platform==="win32")h0=H0.dirname(process.execPath);else if(h0=H0.dirname(H0.dirname(process.execPath)),process.env.DESTDIR)h0=H0.join(process.env.DESTDIR,h0);return E8={access:null,"allow-same-version":!1,"always-auth":!1,also:null,audit:!0,"auth-type":"legacy","bin-links":!0,browser:null,ca:null,cafile:null,cache:mX,"cache-lock-stale":60000,"cache-lock-retries":10,"cache-lock-wait":1e4,"cache-max":1/0,"cache-min":10,cert:null,cidr:null,color:process.env.NO_COLOR==null,depth:1/0,description:!0,dev:!1,"dry-run":!1,editor:B5.editor(),"engine-strict":!1,force:!1,"fetch-retries":2,"fetch-retry-factor":10,"fetch-retry-mintimeout":1e4,"fetch-retry-maxtimeout":60000,git:"git","git-tag-version":!0,"commit-hooks":!0,global:!1,globalconfig:H0.resolve(h0,"etc","npmrc"),"global-style":!1,group:process.platform==="win32"?0:process.env.SUDO_GID||process.getgid&&process.getgid(),"ham-it-up":!1,heading:"npm","if-present":!1,"ignore-prepublish":!1,"ignore-scripts":!1,"init-module":H0.resolve(QF,".npm-init.js"),"init-author-name":"","init-author-email":"","init-author-url":"","init-version":"1.0.0","init-license":"ISC",json:!1,key:null,"legacy-bundling":!1,link:!1,"local-address":void 0,loglevel:"notice",logstream:process.stderr,"logs-max":10,long:!1,maxsockets:50,message:"%s","metrics-registry":null,"node-options":null,offline:!1,"onload-script":!1,only:null,optional:!0,otp:null,"package-lock":!0,"package-lock-only":!1,parseable:!1,"prefer-offline":!1,"prefer-online":!1,prefix:h0,production:!1,progress:!process.env.TRAVIS&&!process.env.CI,provenance:!1,proxy:null,"https-proxy":null,"no-proxy":null,"user-agent":"npm/{npm-version} node/{node-version} {platform} {arch}","read-only":!1,"rebuild-bundle":!0,registry:"https://registry.npmjs.org/",rollback:!0,save:!0,"save-bundle":!1,"save-dev":!1,"save-exact":!1,"save-optional":!1,"save-prefix":"^","save-prod":!1,scope:"","script-shell":null,"scripts-prepend-node-path":"warn-only",searchopts:"",searchexclude:null,searchlimit:20,searchstaleness:900,"send-metrics":!1,shell:B5.shell(),shrinkwrap:!0,"sign-git-tag":!1,"sso-poll-frequency":500,"sso-type":"oauth","strict-ssl":!0,tag:"latest","tag-version-prefix":"v",timing:!1,tmp:Z5,unicode:fX(),"unsafe-perm":process.platform==="win32"||process.platform==="cygwin"||!(process.getuid&&process.setuid&&process.getgid&&process.setgid)||process.getuid()!==0,usage:!1,user:process.platform==="win32"?0:"nobody",userconfig:H0.resolve(QF,".npmrc"),umask:process.umask?process.umask():vX.fromString("022"),version:!1,versions:!1,viewer:process.platform==="win32"?"browser":"man",_exit:!0},E8}})});var X5=T((_I,L1)=>{var g0=i("path"),dX=u5(),H5=Y5();L1.exports=(D,F,u)=>{let E=new dX(Object.assign({},H5.defaults,u),F);E.add(Object.assign({},D),"cli");let B=[],C=!1;if(i.resolve.paths){let Y=i.resolve.paths("npm"),H;try{H=i.resolve("npm",{paths:Y.slice(-1)})}catch(G){C=!0}if(H)B.push(E.addFile(g0.resolve(g0.dirname(H),"..","npmrc"),"builtin"))}E.addEnv(),E.loadPrefix();let Z=g0.resolve(E.localPrefix,".npmrc"),J=E.get("userconfig");if(!E.get("global")&&Z!==J)B.push(E.addFile(Z,"project"));else E.add({},"project");if(E.get("workspace-prefix")&&E.get("workspace-prefix")!==Z){let Y=g0.resolve(E.get("workspace-prefix"),".npmrc");B.push(E.addFile(Y,"workspace"))}if(B.push(E.addFile(E.get("userconfig"),"user")),E.get("prefix")){let Y=g0.resolve(E.get("prefix"),"etc");E.root.globalconfig=g0.resolve(Y,"npmrc"),E.root.globalignorefile=g0.resolve(Y,"npmignore")}B.push(E.addFile(E.get("globalconfig"),"global")),E.loadUser();let X=E.get("cafile");if(X)E.loadCAFile(X);return{config:E,warnings:B.filter(Boolean),failedToLoadBuiltInConfig:C}};Object.defineProperty(L1.exports,"defaults",{get(){return H5.defaults},enumerable:!0})});var z5=T((RI,K5)=>{var G5=X5();K5.exports=function(){let F,u;if(arguments.length>=2)F=arguments[0],u=Object.assign({},arguments[1]);else if(typeof arguments[0]==="string")F=arguments[0];else u=Object.assign({},arguments[0]);u=u||{};let E=u.npmrc;return u.npmrc=(u.npmrc?{config:{get:(B)=>E[B]}}:G5()).config,F=F||u.npmrc.get("registry")||G5.defaults.registry,Q5(F,u)||lX(u.npmrc)};function cX(D,F){let u=new URL(F,new URL(D.startsWith("//")?`./${D}`:D,"resolve://"));if(u.protocol==="resolve:"){let{pathname:E,search:B,hash:C}=u;return E+B+C}return u.toString()}function Q5(D,F){let u=D instanceof URL?D:new URL(D.startsWith("//")?`http:${D}`:D),E;while(E!=="/"&&u.pathname!==E){E=u.pathname||"/";let B="//"+u.host+E.replace(/\/$/,""),C=iX(B,F.npmrc);if(C)return C;if(!F.recursive)return/\/$/.test(D)?void 0:Q5(new URL("./",u),F);u.pathname=cX(pX(E),"..")||"/"}return}function lX(D){if(!D.get("_auth"))return;return{token:B8(D.get("_auth")),type:"Basic"}}function pX(D){return D[D.length-1]==="/"?D:D+"/"}function iX(D,F){let u=nX(F.get(D+":_authToken")||F.get(D+"/:_authToken"));if(u)return u;let E=F.get(D+":username")||F.get(D+"/:username"),B=F.get(D+":_password")||F.get(D+"/:_password"),C=aX(E,B);if(C)return C;let Z=rX(F.get(D+":_auth")||F.get(D+"/:_auth"));if(Z)return Z;return}function B8(D){return D.replace(/^\$\{?([^}]*)\}?$/,function(F,u){return process.env[u]})}function nX(D){if(!D)return;return{token:B8(D),type:"Bearer"}}function aX(D,F){if(!D||!F)return;let u=Buffer.from(B8(F),"base64").toString("utf8");return{token:Buffer.from(D+":"+u,"utf8").toString("base64"),type:"Basic",password:u,username:D}}function rX(D){if(!D)return;return{token:B8(D),type:"Basic"}}});var A5=T((jI,q5)=>{var sX=x0(),oX=(D,F)=>{let u=sX(D,F);return u?u.version:null};q5.exports=oX});var W5=T((SI,U5)=>{var tX=x0(),eX=(D,F)=>{let u=tX(D.trim().replace(/^[=v]+/,""),F);return u?u.version:null};U5.exports=eX});var V5=T((PI,$5)=>{var N5=$D(),DG=(D,F,u,E,B)=>{if(typeof u==="string")B=E,E=u,u=void 0;try{return new N5(D instanceof N5?D.version:D,u).inc(F,E,B).version}catch(C){return null}};$5.exports=DG});var M5=T((wI,I5)=>{var FG=$D(),uG=(D,F)=>new FG(D,F).major;I5.exports=uG});var O5=T((xI,T5)=>{var EG=$D(),BG=(D,F)=>new EG(D,F).minor;T5.exports=BG});var L5=T((kI,_5)=>{var CG=$D(),ZG=(D,F)=>new CG(D,F).patch;_5.exports=ZG});var j5=T((yI,R5)=>{var JG=x0(),YG=(D,F)=>{let u=JG(D,F);return u&&u.prerelease.length?u.prerelease:null};R5.exports=YG});var P5=T((bI,S5)=>{var HG=mD(),XG=(D,F,u)=>HG(F,D,u);S5.exports=XG});var x5=T((fI,w5)=>{var GG=mD(),QG=(D,F)=>GG(D,F,!0);w5.exports=QG});var C8=T((vI,y5)=>{var k5=$D(),KG=(D,F,u)=>{let E=new k5(D,u),B=new k5(F,u);return E.compare(B)||E.compareBuild(B)};y5.exports=KG});var f5=T((hI,b5)=>{var zG=C8(),qG=(D,F)=>D.sort((u,E)=>zG(u,E,F));b5.exports=qG});var h5=T((gI,v5)=>{var AG=C8(),UG=(D,F)=>D.sort((u,E)=>AG(E,u,F));v5.exports=UG});var Z8=T((mI,g5)=>{var WG=mD(),NG=(D,F,u)=>WG(D,F,u)<0;g5.exports=NG});var R1=T((dI,m5)=>{var $G=mD(),VG=(D,F,u)=>$G(D,F,u)===0;m5.exports=VG});var j1=T((cI,d5)=>{var IG=mD(),MG=(D,F,u)=>IG(D,F,u)!==0;d5.exports=MG});var J8=T((lI,c5)=>{var TG=mD(),OG=(D,F,u)=>TG(D,F,u)>=0;c5.exports=OG});var Y8=T((pI,l5)=>{var _G=mD(),LG=(D,F,u)=>_G(D,F,u)<=0;l5.exports=LG});var S1=T((iI,p5)=>{var RG=R1(),jG=j1(),SG=EF(),PG=J8(),wG=Z8(),xG=Y8(),kG=(D,F,u,E)=>{switch(F){case"===":if(typeof D==="object")D=D.version;if(typeof u==="object")u=u.version;return D===u;case"!==":if(typeof D==="object")D=D.version;if(typeof u==="object")u=u.version;return D!==u;case"":case"=":case"==":return RG(D,u,E);case"!=":return jG(D,u,E);case">":return SG(D,u,E);case">=":return PG(D,u,E);case"<":return wG(D,u,E);case"<=":return xG(D,u,E);default:throw TypeError(`Invalid operator: ${F}`)}};p5.exports=kG});var n5=T((nI,i5)=>{var yG=$D(),bG=x0(),{safeRe:H8,t:X8}=uF(),fG=(D,F)=>{if(D instanceof yG)return D;if(typeof D==="number")D=String(D);if(typeof D!=="string")return null;F=F||{};let u=null;if(!F.rtl)u=D.match(F.includePrerelease?H8[X8.COERCEFULL]:H8[X8.COERCE]);else{let X=F.includePrerelease?H8[X8.COERCERTLFULL]:H8[X8.COERCERTL],Y;while((Y=X.exec(D))&&(!u||u.index+u[0].length!==D.length)){if(!u||Y.index+Y[0].length!==u.index+u[0].length)u=Y;X.lastIndex=Y.index+Y[1].length+Y[2].length}X.lastIndex=-1}if(u===null)return null;let E=u[2],B=u[3]||"0",C=u[4]||"0",Z=F.includePrerelease&&u[5]?`-${u[5]}`:"",J=F.includePrerelease&&u[6]?`+${u[6]}`:"";return bG(`${E}.${B}.${C}${Z}${J}`,F)};i5.exports=fG});var s5=T((aI,r5)=>{class a5{constructor(){this.max=1000,this.map=new Map}get(D){let F=this.map.get(D);if(F===void 0)return;else return this.map.delete(D),this.map.set(D,F),F}delete(D){return this.map.delete(D)}set(D,F){if(!this.delete(D)&&F!==void 0){if(this.map.size>=this.max){let E=this.map.keys().next().value;this.delete(E)}this.map.set(D,F)}return this}}r5.exports=a5});var dD=T((rI,DE)=>{var vG=/\s+/g;class dF{constructor(D,F){if(F=gG(F),D instanceof dF)if(D.loose===!!F.loose&&D.includePrerelease===!!F.includePrerelease)return D;else return new dF(D.raw,F);if(D instanceof P1)return this.raw=D.value,this.set=[[D]],this.formatted=void 0,this;if(this.options=F,this.loose=!!F.loose,this.includePrerelease=!!F.includePrerelease,this.raw=D.trim().replace(vG," "),this.set=this.raw.split("||").map((u)=>this.parseRange(u.trim())).filter((u)=>u.length),!this.set.length)throw TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let u=this.set[0];if(this.set=this.set.filter((E)=>!t5(E[0])),this.set.length===0)this.set=[u];else if(this.set.length>1){for(let E of this.set)if(E.length===1&&nG(E[0])){this.set=[E];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let D=0;D<this.set.length;D++){if(D>0)this.formatted+="||";let F=this.set[D];for(let u=0;u<F.length;u++){if(u>0)this.formatted+=" ";this.formatted+=F[u].toString().trim()}}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(D){let u=((this.options.includePrerelease&&pG)|(this.options.loose&&iG))+":"+D,E=o5.get(u);if(E)return E;let B=this.options.loose,C=B?_D[ID.HYPHENRANGELOOSE]:_D[ID.HYPHENRANGE];D=D.replace(C,EQ(this.options.includePrerelease)),FD("hyphen replace",D),D=D.replace(_D[ID.COMPARATORTRIM],dG),FD("comparator trim",D),D=D.replace(_D[ID.TILDETRIM],cG),FD("tilde trim",D),D=D.replace(_D[ID.CARETTRIM],lG),FD("caret trim",D);let Z=D.split(" ").map((H)=>aG(H,this.options)).join(" ").split(/\s+/).map((H)=>uQ(H,this.options));if(B)Z=Z.filter((H)=>{return FD("loose invalid filter",H,this.options),!!H.match(_D[ID.COMPARATORLOOSE])});FD("range list",Z);let J=new Map,X=Z.map((H)=>new P1(H,this.options));for(let H of X){if(t5(H))return[H];J.set(H.value,H)}if(J.size>1&&J.has(""))J.delete("");let Y=[...J.values()];return o5.set(u,Y),Y}intersects(D,F){if(!(D instanceof dF))throw TypeError("a Range is required");return this.set.some((u)=>{return e5(u,F)&&D.set.some((E)=>{return e5(E,F)&&u.every((B)=>{return E.every((C)=>{return B.intersects(C,F)})})})})}test(D){if(!D)return!1;if(typeof D==="string")try{D=new mG(D,this.options)}catch(F){return!1}for(let F=0;F<this.set.length;F++)if(BQ(this.set[F],D,this.options))return!0;return!1}}DE.exports=dF;var hG=s5(),o5=new hG,gG=f2(),P1=cF(),FD=xF(),mG=$D(),{safeRe:_D,t:ID,comparatorTrimReplace:dG,tildeTrimReplace:cG,caretTrimReplace:lG}=uF(),{FLAG_INCLUDE_PRERELEASE:pG,FLAG_LOOSE:iG}=kF(),t5=(D)=>D.value==="<0.0.0-0",nG=(D)=>D.value==="",e5=(D,F)=>{let u=!0,E=D.slice(),B=E.pop();while(u&&E.length)u=E.every((C)=>{return B.intersects(C,F)}),B=E.pop();return u},aG=(D,F)=>{return D=D.replace(_D[ID.BUILD],""),FD("comp",D,F),D=oG(D,F),FD("caret",D),D=rG(D,F),FD("tildes",D),D=eG(D,F),FD("xrange",D),D=FQ(D,F),FD("stars",D),D},LD=(D)=>!D||D.toLowerCase()==="x"||D==="*",rG=(D,F)=>{return D.trim().split(/\s+/).map((u)=>sG(u,F)).join(" ")},sG=(D,F)=>{let u=F.loose?_D[ID.TILDELOOSE]:_D[ID.TILDE];return D.replace(u,(E,B,C,Z,J)=>{FD("tilde",D,E,B,C,Z,J);let X;if(LD(B))X="";else if(LD(C))X=`>=${B}.0.0 <${+B+1}.0.0-0`;else if(LD(Z))X=`>=${B}.${C}.0 <${B}.${+C+1}.0-0`;else if(J)FD("replaceTilde pr",J),X=`>=${B}.${C}.${Z}-${J} <${B}.${+C+1}.0-0`;else X=`>=${B}.${C}.${Z} <${B}.${+C+1}.0-0`;return FD("tilde return",X),X})},oG=(D,F)=>{return D.trim().split(/\s+/).map((u)=>tG(u,F)).join(" ")},tG=(D,F)=>{FD("caret",D,F);let u=F.loose?_D[ID.CARETLOOSE]:_D[ID.CARET],E=F.includePrerelease?"-0":"";return D.replace(u,(B,C,Z,J,X)=>{FD("caret",D,B,C,Z,J,X);let Y;if(LD(C))Y="";else if(LD(Z))Y=`>=${C}.0.0${E} <${+C+1}.0.0-0`;else if(LD(J))if(C==="0")Y=`>=${C}.${Z}.0${E} <${C}.${+Z+1}.0-0`;else Y=`>=${C}.${Z}.0${E} <${+C+1}.0.0-0`;else if(X)if(FD("replaceCaret pr",X),C==="0")if(Z==="0")Y=`>=${C}.${Z}.${J}-${X} <${C}.${Z}.${+J+1}-0`;else Y=`>=${C}.${Z}.${J}-${X} <${C}.${+Z+1}.0-0`;else Y=`>=${C}.${Z}.${J}-${X} <${+C+1}.0.0-0`;else if(FD("no pr"),C==="0")if(Z==="0")Y=`>=${C}.${Z}.${J}${E} <${C}.${Z}.${+J+1}-0`;else Y=`>=${C}.${Z}.${J}${E} <${C}.${+Z+1}.0-0`;else Y=`>=${C}.${Z}.${J} <${+C+1}.0.0-0`;return FD("caret return",Y),Y})},eG=(D,F)=>{return FD("replaceXRanges",D,F),D.split(/\s+/).map((u)=>DQ(u,F)).join(" ")},DQ=(D,F)=>{D=D.trim();let u=F.loose?_D[ID.XRANGELOOSE]:_D[ID.XRANGE];return D.replace(u,(E,B,C,Z,J,X)=>{FD("xRange",D,E,B,C,Z,J,X);let Y=LD(C),H=Y||LD(Z),G=H||LD(J),K=G;if(B==="="&&K)B="";if(X=F.includePrerelease?"-0":"",Y)if(B===">"||B==="<")E="<0.0.0-0";else E="*";else if(B&&K){if(H)Z=0;if(J=0,B===">")if(B=">=",H)C=+C+1,Z=0,J=0;else Z=+Z+1,J=0;else if(B==="<=")if(B="<",H)C=+C+1;else Z=+Z+1;if(B==="<")X="-0";E=`${B+C}.${Z}.${J}${X}`}else if(H)E=`>=${C}.0.0${X} <${+C+1}.0.0-0`;else if(G)E=`>=${C}.${Z}.0${X} <${C}.${+Z+1}.0-0`;return FD("xRange return",E),E})},FQ=(D,F)=>{return FD("replaceStars",D,F),D.trim().replace(_D[ID.STAR],"")},uQ=(D,F)=>{return FD("replaceGTE0",D,F),D.trim().replace(_D[F.includePrerelease?ID.GTE0PRE:ID.GTE0],"")},EQ=(D)=>(F,u,E,B,C,Z,J,X,Y,H,G,K)=>{if(LD(E))u="";else if(LD(B))u=`>=${E}.0.0${D?"-0":""}`;else if(LD(C))u=`>=${E}.${B}.0${D?"-0":""}`;else if(Z)u=`>=${u}`;else u=`>=${u}${D?"-0":""}`;if(LD(Y))X="";else if(LD(H))X=`<${+Y+1}.0.0-0`;else if(LD(G))X=`<${Y}.${+H+1}.0-0`;else if(K)X=`<=${Y}.${H}.${G}-${K}`;else if(D)X=`<${Y}.${H}.${+G+1}-0`;else X=`<=${X}`;return`${u} ${X}`.trim()},BQ=(D,F,u)=>{for(let E=0;E<D.length;E++)if(!D[E].test(F))return!1;if(F.prerelease.length&&!u.includePrerelease){for(let E=0;E<D.length;E++){if(FD(D[E].semver),D[E].semver===P1.ANY)continue;if(D[E].semver.prerelease.length>0){let B=D[E].semver;if(B.major===F.major&&B.minor===F.minor&&B.patch===F.patch)return!0}}return!1}return!0}});var cF=T((sI,ZE)=>{var lF=Symbol("SemVer ANY");class G8{static get ANY(){return lF}constructor(D,F){if(F=FE(F),D instanceof G8)if(D.loose===!!F.loose)return D;else D=D.value;if(D=D.trim().split(/\s+/).join(" "),x1("comparator",D,F),this.options=F,this.loose=!!F.loose,this.parse(D),this.semver===lF)this.value="";else this.value=this.operator+this.semver.version;x1("comp",this)}parse(D){let F=this.options.loose?uE[EE.COMPARATORLOOSE]:uE[EE.COMPARATOR],u=D.match(F);if(!u)throw TypeError(`Invalid comparator: ${D}`);if(this.operator=u[1]!==void 0?u[1]:"",this.operator==="=")this.operator="";if(!u[2])this.semver=lF;else this.semver=new BE(u[2],this.options.loose)}toString(){return this.value}test(D){if(x1("Comparator.test",D,this.options.loose),this.semver===lF||D===lF)return!0;if(typeof D==="string")try{D=new BE(D,this.options)}catch(F){return!1}return w1(D,this.operator,this.semver,this.options)}intersects(D,F){if(!(D instanceof G8))throw TypeError("a Comparator is required");if(this.operator===""){if(this.value==="")return!0;return new CE(D.value,F).test(this.value)}else if(D.operator===""){if(D.value==="")return!0;return new CE(this.value,F).test(D.semver)}if(F=FE(F),F.includePrerelease&&(this.value==="<0.0.0-0"||D.value==="<0.0.0-0"))return!1;if(!F.includePrerelease&&(this.value.startsWith("<0.0.0")||D.value.startsWith("<0.0.0")))return!1;if(this.operator.startsWith(">")&&D.operator.startsWith(">"))return!0;if(this.operator.startsWith("<")&&D.operator.startsWith("<"))return!0;if(this.semver.version===D.semver.version&&this.operator.includes("=")&&D.operator.includes("="))return!0;if(w1(this.semver,"<",D.semver,F)&&this.operator.startsWith(">")&&D.operator.startsWith("<"))return!0;if(w1(this.semver,">",D.semver,F)&&this.operator.startsWith("<")&&D.operator.startsWith(">"))return!0;return!1}}ZE.exports=G8;var FE=f2(),{safeRe:uE,t:EE}=uF(),w1=S1(),x1=xF(),BE=$D(),CE=dD()});var pF=T((oI,JE)=>{var CQ=dD(),ZQ=(D,F,u)=>{try{F=new CQ(F,u)}catch(E){return!1}return F.test(D)};JE.exports=ZQ});var HE=T((tI,YE)=>{var JQ=dD(),YQ=(D,F)=>new JQ(D,F).set.map((u)=>u.map((E)=>E.value).join(" ").trim().split(" "));YE.exports=YQ});var GE=T((eI,XE)=>{var HQ=$D(),XQ=dD(),GQ=(D,F,u)=>{let E=null,B=null,C=null;try{C=new XQ(F,u)}catch(Z){return null}return D.forEach((Z)=>{if(C.test(Z)){if(!E||B.compare(Z)===-1)E=Z,B=new HQ(E,u)}}),E};XE.exports=GQ});var KE=T((DM,QE)=>{var QQ=$D(),KQ=dD(),zQ=(D,F,u)=>{let E=null,B=null,C=null;try{C=new KQ(F,u)}catch(Z){return null}return D.forEach((Z)=>{if(C.test(Z)){if(!E||B.compare(Z)===1)E=Z,B=new QQ(E,u)}}),E};QE.exports=zQ});var AE=T((FM,qE)=>{var k1=$D(),qQ=dD(),zE=EF(),AQ=(D,F)=>{D=new qQ(D,F);let u=new k1("0.0.0");if(D.test(u))return u;if(u=new k1("0.0.0-0"),D.test(u))return u;u=null;for(let E=0;E<D.set.length;++E){let B=D.set[E],C=null;if(B.forEach((Z)=>{let J=new k1(Z.semver.version);switch(Z.operator){case">":if(J.prerelease.length===0)J.patch++;else J.prerelease.push(0);J.raw=J.format();case"":case">=":if(!C||zE(J,C))C=J;break;case"<":case"<=":break;default:throw Error(`Unexpected operation: ${Z.operator}`)}}),C&&(!u||zE(u,C)))u=C}if(u&&D.test(u))return u;return null};qE.exports=AQ});var WE=T((uM,UE)=>{var UQ=dD(),WQ=(D,F)=>{try{return new UQ(D,F).range||"*"}catch(u){return null}};UE.exports=WQ});var Q8=T((EM,IE)=>{var NQ=$D(),VE=cF(),{ANY:$Q}=VE,VQ=dD(),IQ=pF(),NE=EF(),$E=Z8(),MQ=Y8(),TQ=J8(),OQ=(D,F,u,E)=>{D=new NQ(D,E),F=new VQ(F,E);let B,C,Z,J,X;switch(u){case">":B=NE,C=MQ,Z=$E,J=">",X=">=";break;case"<":B=$E,C=TQ,Z=NE,J="<",X="<=";break;default:throw TypeError('Must provide a hilo val of "<" or ">"')}if(IQ(D,F,E))return!1;for(let Y=0;Y<F.set.length;++Y){let H=F.set[Y],G=null,K=null;if(H.forEach((Q)=>{if(Q.semver===$Q)Q=new VE(">=0.0.0");if(G=G||Q,K=K||Q,B(Q.semver,G.semver,E))G=Q;else if(Z(Q.semver,K.semver,E))K=Q}),G.operator===J||G.operator===X)return!1;if((!K.operator||K.operator===J)&&C(D,K.semver))return!1;else if(K.operator===X&&Z(D,K.semver))return!1}return!0};IE.exports=OQ});var TE=T((BM,ME)=>{var _Q=Q8(),LQ=(D,F,u)=>_Q(D,F,">",u);ME.exports=LQ});var _E=T((CM,OE)=>{var RQ=Q8(),jQ=(D,F,u)=>RQ(D,F,"<",u);OE.exports=jQ});var jE=T((ZM,RE)=>{var LE=dD(),SQ=(D,F,u)=>{return D=new LE(D,u),F=new LE(F,u),D.intersects(F,u)};RE.exports=SQ});var PE=T((JM,SE)=>{var PQ=pF(),wQ=mD();SE.exports=(D,F,u)=>{let E=[],B=null,C=null,Z=D.sort((H,G)=>wQ(H,G,u));for(let H of Z)if(PQ(H,F,u)){if(C=H,!B)B=H}else{if(C)E.push([B,C]);C=null,B=null}if(B)E.push([B,null]);let J=[];for(let[H,G]of E)if(H===G)J.push(H);else if(!G&&H===Z[0])J.push("*");else if(!G)J.push(`>=${H}`);else if(H===Z[0])J.push(`<=${G}`);else J.push(`${H} - ${G}`);let X=J.join(" || "),Y=typeof F.raw==="string"?F.raw:String(F);return X.length<Y.length?X:F}});var fE=T((YM,bE)=>{var wE=dD(),b1=cF(),{ANY:y1}=b1,iF=pF(),f1=mD(),xQ=(D,F,u={})=>{if(D===F)return!0;D=new wE(D,u),F=new wE(F,u);let E=!1;D:for(let B of D.set){for(let C of F.set){let Z=yQ(B,C,u);if(E=E||Z!==null,Z)continue D}if(E)return!1}return!0},kQ=[new b1(">=0.0.0-0")],xE=[new b1(">=0.0.0")],yQ=(D,F,u)=>{if(D===F)return!0;if(D.length===1&&D[0].semver===y1)if(F.length===1&&F[0].semver===y1)return!0;else if(u.includePrerelease)D=kQ;else D=xE;if(F.length===1&&F[0].semver===y1)if(u.includePrerelease)return!0;else F=xE;let E=new Set,B,C;for(let Q of D)if(Q.operator===">"||Q.operator===">=")B=kE(B,Q,u);else if(Q.operator==="<"||Q.operator==="<=")C=yE(C,Q,u);else E.add(Q.semver);if(E.size>1)return null;let Z;if(B&&C){if(Z=f1(B.semver,C.semver,u),Z>0)return null;else if(Z===0&&(B.operator!==">="||C.operator!=="<="))return null}for(let Q of E){if(B&&!iF(Q,String(B),u))return null;if(C&&!iF(Q,String(C),u))return null;for(let z of F)if(!iF(Q,String(z),u))return!1;return!0}let J,X,Y,H,G=C&&!u.includePrerelease&&C.semver.prerelease.length?C.semver:!1,K=B&&!u.includePrerelease&&B.semver.prerelease.length?B.semver:!1;if(G&&G.prerelease.length===1&&C.operator==="<"&&G.prerelease[0]===0)G=!1;for(let Q of F){if(H=H||Q.operator===">"||Q.operator===">=",Y=Y||Q.operator==="<"||Q.operator==="<=",B){if(K){if(Q.semver.prerelease&&Q.semver.prerelease.length&&Q.semver.major===K.major&&Q.semver.minor===K.minor&&Q.semver.patch===K.patch)K=!1}if(Q.operator===">"||Q.operator===">="){if(J=kE(B,Q,u),J===Q&&J!==B)return!1}else if(B.operator===">="&&!iF(B.semver,String(Q),u))return!1}if(C){if(G){if(Q.semver.prerelease&&Q.semver.prerelease.length&&Q.semver.major===G.major&&Q.semver.minor===G.minor&&Q.semver.patch===G.patch)G=!1}if(Q.operator==="<"||Q.operator==="<="){if(X=yE(C,Q,u),X===Q&&X!==C)return!1}else if(C.operator==="<="&&!iF(C.semver,String(Q),u))return!1}if(!Q.operator&&(C||B)&&Z!==0)return!1}if(B&&Y&&!C&&Z!==0)return!1;if(C&&H&&!B&&Z!==0)return!1;if(K||G)return!1;return!0},kE=(D,F,u)=>{if(!D)return F;let E=f1(D.semver,F.semver,u);return E>0?D:E<0?F:F.operator===">"&&D.operator===">="?F:D},yE=(D,F,u)=>{if(!D)return F;let E=f1(D.semver,F.semver,u);return E<0?D:E>0?F:F.operator==="<"&&D.operator==="<="?F:D};bE.exports=xQ});var mE=T((HM,gE)=>{var v1=uF(),vE=kF(),bQ=$D(),hE=u1(),fQ=x0(),vQ=A5(),hQ=W5(),gQ=V5(),mQ=B1(),dQ=M5(),cQ=O5(),lQ=L5(),pQ=j5(),iQ=mD(),nQ=P5(),aQ=x5(),rQ=C8(),sQ=f5(),oQ=h5(),tQ=EF(),eQ=Z8(),DK=R1(),FK=j1(),uK=J8(),EK=Y8(),BK=S1(),CK=n5(),ZK=cF(),JK=dD(),YK=pF(),HK=HE(),XK=GE(),GK=KE(),QK=AE(),KK=WE(),zK=Q8(),qK=TE(),AK=_E(),UK=jE(),WK=PE(),NK=fE();gE.exports={parse:fQ,valid:vQ,clean:hQ,inc:gQ,diff:mQ,major:dQ,minor:cQ,patch:lQ,prerelease:pQ,compare:iQ,rcompare:nQ,compareLoose:aQ,compareBuild:rQ,sort:sQ,rsort:oQ,gt:tQ,lt:eQ,eq:DK,neq:FK,gte:uK,lte:EK,cmp:BK,coerce:CK,Comparator:ZK,Range:JK,satisfies:YK,toComparators:HK,maxSatisfying:XK,minSatisfying:GK,minVersion:QK,validRange:KK,outside:zK,gtr:qK,ltr:AK,intersects:UK,simplifyRange:WK,subset:NK,SemVer:bQ,re:v1.re,src:v1.src,tokens:v1.t,SEMVER_SPEC_VERSION:vE.SEMVER_SPEC_VERSION,RELEASE_TYPES:vE.RELEASE_TYPES,compareIdentifiers:hE.compareIdentifiers,rcompareIdentifiers:hE.rcompareIdentifiers}});var tE=T((NM,oE)=>{var{hasOwnProperty:m1}=Object.prototype,d1=(D,F={})=>{if(typeof F==="string")F={section:F};F.align=F.align===!0,F.newline=F.newline===!0,F.sort=F.sort===!0,F.whitespace=F.whitespace===!0||F.align===!0,F.platform=F.platform||typeof process<"u"&&process.platform,F.bracketedArray=F.bracketedArray!==!1;let u=F.platform==="win32"?`\r
48
- `:`
49
- `,E=F.whitespace?" = ":"=",B=[],C=F.sort?Object.keys(D).sort():Object.keys(D),Z=0;if(F.align)Z=X0(C.filter((Y)=>D[Y]===null||Array.isArray(D[Y])||typeof D[Y]!=="object").map((Y)=>Array.isArray(D[Y])?`${Y}[]`:Y).concat([""]).reduce((Y,H)=>X0(Y).length>=X0(H).length?Y:H)).length;let J="",X=F.bracketedArray?"[]":"";for(let Y of C){let H=D[Y];if(H&&Array.isArray(H))for(let G of H)J+=X0(`${Y}${X}`).padEnd(Z," ")+E+X0(G)+u;else if(H&&typeof H==="object")B.push(Y);else J+=X0(Y).padEnd(Z," ")+E+X0(H)+u}if(F.section&&J.length)J="["+X0(F.section)+"]"+(F.newline?u+u:u)+J;for(let Y of B){let H=rE(Y,".").join("\\."),G=(F.section?F.section+".":"")+H,K=d1(D[Y],{...F,section:G});if(J.length&&K.length)J+=u;J+=K}return J};function rE(D,F){var u=0,E=0,B=0,C=[];do if(B=D.indexOf(F,u),B!==-1){if(u=B+F.length,B>0&&D[B-1]==="\\")continue;C.push(D.slice(E,B)),E=B+F.length}while(B!==-1);return C.push(D.slice(E)),C}var aE=(D,F={})=>{F.bracketedArray=F.bracketedArray!==!1;let u=Object.create(null),E=u,B=null,C=/^\[([^\]]*)\]\s*$|^([^=]+)(=(.*))?$/i,Z=D.split(/[\r\n]+/g),J={};for(let Y of Z){if(!Y||Y.match(/^\s*[;#]/)||Y.match(/^\s*$/))continue;let H=Y.match(C);if(!H)continue;if(H[1]!==void 0){if(B=z8(H[1]),B==="__proto__"){E=Object.create(null);continue}E=u[B]=u[B]||Object.create(null);continue}let G=z8(H[2]),K;if(F.bracketedArray)K=G.length>2&&G.slice(-2)==="[]";else J[G]=(J?.[G]||0)+1,K=J[G]>1;let Q=K?G.slice(0,-2):G;if(Q==="__proto__")continue;let z=H[3]?z8(H[4]):!0,q=z==="true"||z==="false"||z==="null"?JSON.parse(z):z;if(K){if(!m1.call(E,Q))E[Q]=[];else if(!Array.isArray(E[Q]))E[Q]=[E[Q]]}if(Array.isArray(E[Q]))E[Q].push(q);else E[Q]=q}let X=[];for(let Y of Object.keys(u)){if(!m1.call(u,Y)||typeof u[Y]!=="object"||Array.isArray(u[Y]))continue;let H=rE(Y,".");E=u;let G=H.pop(),K=G.replace(/\\\./g,".");for(let Q of H){if(Q==="__proto__")continue;if(!m1.call(E,Q)||typeof E[Q]!=="object")E[Q]=Object.create(null);E=E[Q]}if(E===u&&K===G)continue;E[K]=u[Y],X.push(Y)}for(let Y of X)delete u[Y];return u},sE=(D)=>{return D.startsWith('"')&&D.endsWith('"')||D.startsWith("'")&&D.endsWith("'")},X0=(D)=>{if(typeof D!=="string"||D.match(/[=\r\n]/)||D.match(/^\[/)||D.length>1&&sE(D)||D!==D.trim())return JSON.stringify(D);return D.split(";").join("\\;").split("#").join("\\#")},z8=(D,F)=>{if(D=(D||"").trim(),sE(D)){if(D.charAt(0)==="'")D=D.slice(1,-1);try{D=JSON.parse(D)}catch{}}else{let u=!1,E="";for(let B=0,C=D.length;B<C;B++){let Z=D.charAt(B);if(u){if("\\;#".indexOf(Z)!==-1)E+=Z;else E+="\\"+Z;u=!1}else if(";#".indexOf(Z)!==-1)break;else if(Z==="\\")u=!0;else E+=Z}if(u)E+="\\";return E.trim()}return D};oE.exports={parse:aE,decode:aE,stringify:d1,encode:d1,safe:X0,unsafe:z8}});var GB=T((aM,XB)=>{XB.exports=()=>{return/[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E-\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED8\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])))?))?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3C-\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE8A\uDE8E-\uDEC2\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF]|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g}});var KB=T((DT,pK)=>{pK.exports={single:{topLeft:"┌",top:"─",topRight:"┐",right:"│",bottomRight:"┘",bottom:"─",bottomLeft:"└",left:"│"},double:{topLeft:"╔",top:"═",topRight:"╗",right:"║",bottomRight:"╝",bottom:"═",bottomLeft:"╚",left:"║"},round:{topLeft:"╭",top:"─",topRight:"╮",right:"│",bottomRight:"╯",bottom:"─",bottomLeft:"╰",left:"│"},bold:{topLeft:"┏",top:"━",topRight:"┓",right:"┃",bottomRight:"┛",bottom:"━",bottomLeft:"┗",left:"┃"},singleDouble:{topLeft:"╓",top:"─",topRight:"╖",right:"║",bottomRight:"╜",bottom:"─",bottomLeft:"╙",left:"║"},doubleSingle:{topLeft:"╒",top:"═",topRight:"╕",right:"│",bottomRight:"╛",bottom:"═",bottomLeft:"╘",left:"│"},classic:{topLeft:"+",top:"-",topRight:"+",right:"|",bottomRight:"+",bottom:"-",bottomLeft:"+",left:"|"},arrow:{topLeft:"↘",top:"↓",topRight:"↙",right:"←",bottomRight:"↖",bottom:"↑",bottomLeft:"↗",left:"→"}}});var o1=T((FT,s1)=>{var zB=KB();s1.exports=zB;s1.exports.default=zB});var $B=T((ET,NB)=>{var tK=L3();function m0(D,F){if(!D)return D;F=F||{};let u=F.align||"center";if(u==="left")return D;let E=F.split||`
50
- `,B=F.pad||" ",C=u!=="right"?eK:Dz,Z=!1;if(!Array.isArray(D))Z=!0,D=String(D).split(E);let J,X=0;return D=D.map(function(Y){return Y=String(Y),J=tK(Y),X=Math.max(J,X),{str:Y,width:J}}).map(function(Y){return Array(C(X,Y.width)+1).join(B)+Y.str}),Z?D.join(E):D}m0.left=function(F){return m0(F,{align:"left"})};m0.center=function(F){return m0(F,{align:"center"})};m0.right=function(F){return m0(F,{align:"right"})};NB.exports=m0;function eK(D,F){return Math.floor((D-F)/2)}function Dz(D,F){return D-F}});var D2=T((jz)=>{class Hu extends Error{constructor(D,F,u){super(u);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=F,this.exitCode=D,this.nestedError=void 0}}class cB extends Hu{constructor(D){super(1,"commander.invalidArgument",D);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}}jz.CommanderError=Hu;jz.InvalidArgumentError=cB});var L8=T((kz)=>{var{InvalidArgumentError:wz}=D2();class lB{constructor(D,F){switch(this.description=F||"",this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,D[0]){case"<":this.required=!0,this._name=D.slice(1,-1);break;case"[":this.required=!1,this._name=D.slice(1,-1);break;default:this.required=!0,this._name=D;break}if(this._name.endsWith("..."))this.variadic=!0,this._name=this._name.slice(0,-3)}name(){return this._name}_collectValue(D,F){if(F===this.defaultValue||!Array.isArray(F))return[D];return F.push(D),F}default(D,F){return this.defaultValue=D,this.defaultValueDescription=F,this}argParser(D){return this.parseArg=D,this}choices(D){return this.argChoices=D.slice(),this.parseArg=(F,u)=>{if(!this.argChoices.includes(F))throw new wz(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._collectValue(F,u);return F},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}}function xz(D){let F=D.name()+(D.variadic===!0?"...":"");return D.required?"<"+F+">":"["+F+"]"}kz.Argument=lB;kz.humanReadableArgName=xz});var Xu=T((vz)=>{var{humanReadableArgName:fz}=L8();class pB{constructor(){this.helpWidth=void 0,this.minWidthToWrap=40,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}prepareContext(D){this.helpWidth=this.helpWidth??D.helpWidth??80}visibleCommands(D){let F=D.commands.filter((E)=>!E._hidden),u=D._getHelpCommand();if(u&&!u._hidden)F.push(u);if(this.sortSubcommands)F.sort((E,B)=>{return E.name().localeCompare(B.name())});return F}compareOptions(D,F){let u=(E)=>{return E.short?E.short.replace(/^-/,""):E.long.replace(/^--/,"")};return u(D).localeCompare(u(F))}visibleOptions(D){let F=D.options.filter((E)=>!E.hidden),u=D._getHelpOption();if(u&&!u.hidden){let E=u.short&&D._findOption(u.short),B=u.long&&D._findOption(u.long);if(!E&&!B)F.push(u);else if(u.long&&!B)F.push(D.createOption(u.long,u.description));else if(u.short&&!E)F.push(D.createOption(u.short,u.description))}if(this.sortOptions)F.sort(this.compareOptions);return F}visibleGlobalOptions(D){if(!this.showGlobalOptions)return[];let F=[];for(let u=D.parent;u;u=u.parent){let E=u.options.filter((B)=>!B.hidden);F.push(...E)}if(this.sortOptions)F.sort(this.compareOptions);return F}visibleArguments(D){if(D._argsDescription)D.registeredArguments.forEach((F)=>{F.description=F.description||D._argsDescription[F.name()]||""});if(D.registeredArguments.find((F)=>F.description))return D.registeredArguments;return[]}subcommandTerm(D){let F=D.registeredArguments.map((u)=>fz(u)).join(" ");return D._name+(D._aliases[0]?"|"+D._aliases[0]:"")+(D.options.length?" [options]":"")+(F?" "+F:"")}optionTerm(D){return D.flags}argumentTerm(D){return D.name()}longestSubcommandTermLength(D,F){return F.visibleCommands(D).reduce((u,E)=>{return Math.max(u,this.displayWidth(F.styleSubcommandTerm(F.subcommandTerm(E))))},0)}longestOptionTermLength(D,F){return F.visibleOptions(D).reduce((u,E)=>{return Math.max(u,this.displayWidth(F.styleOptionTerm(F.optionTerm(E))))},0)}longestGlobalOptionTermLength(D,F){return F.visibleGlobalOptions(D).reduce((u,E)=>{return Math.max(u,this.displayWidth(F.styleOptionTerm(F.optionTerm(E))))},0)}longestArgumentTermLength(D,F){return F.visibleArguments(D).reduce((u,E)=>{return Math.max(u,this.displayWidth(F.styleArgumentTerm(F.argumentTerm(E))))},0)}commandUsage(D){let F=D._name;if(D._aliases[0])F=F+"|"+D._aliases[0];let u="";for(let E=D.parent;E;E=E.parent)u=E.name()+" "+u;return u+F+" "+D.usage()}commandDescription(D){return D.description()}subcommandDescription(D){return D.summary()||D.description()}optionDescription(D){let F=[];if(D.argChoices)F.push(`choices: ${D.argChoices.map((u)=>JSON.stringify(u)).join(", ")}`);if(D.defaultValue!==void 0){if(D.required||D.optional||D.isBoolean()&&typeof D.defaultValue==="boolean")F.push(`default: ${D.defaultValueDescription||JSON.stringify(D.defaultValue)}`)}if(D.presetArg!==void 0&&D.optional)F.push(`preset: ${JSON.stringify(D.presetArg)}`);if(D.envVar!==void 0)F.push(`env: ${D.envVar}`);if(F.length>0){let u=`(${F.join(", ")})`;if(D.description)return`${D.description} ${u}`;return u}return D.description}argumentDescription(D){let F=[];if(D.argChoices)F.push(`choices: ${D.argChoices.map((u)=>JSON.stringify(u)).join(", ")}`);if(D.defaultValue!==void 0)F.push(`default: ${D.defaultValueDescription||JSON.stringify(D.defaultValue)}`);if(F.length>0){let u=`(${F.join(", ")})`;if(D.description)return`${D.description} ${u}`;return u}return D.description}formatItemList(D,F,u){if(F.length===0)return[];return[u.styleTitle(D),...F,""]}groupItems(D,F,u){let E=new Map;return D.forEach((B)=>{let C=u(B);if(!E.has(C))E.set(C,[])}),F.forEach((B)=>{let C=u(B);if(!E.has(C))E.set(C,[]);E.get(C).push(B)}),E}formatHelp(D,F){let u=F.padWidth(D,F),E=F.helpWidth??80;function B(H,G){return F.formatItem(H,u,G,F)}let C=[`${F.styleTitle("Usage:")} ${F.styleUsage(F.commandUsage(D))}`,""],Z=F.commandDescription(D);if(Z.length>0)C=C.concat([F.boxWrap(F.styleCommandDescription(Z),E),""]);let J=F.visibleArguments(D).map((H)=>{return B(F.styleArgumentTerm(F.argumentTerm(H)),F.styleArgumentDescription(F.argumentDescription(H)))});if(C=C.concat(this.formatItemList("Arguments:",J,F)),this.groupItems(D.options,F.visibleOptions(D),(H)=>H.helpGroupHeading??"Options:").forEach((H,G)=>{let K=H.map((Q)=>{return B(F.styleOptionTerm(F.optionTerm(Q)),F.styleOptionDescription(F.optionDescription(Q)))});C=C.concat(this.formatItemList(G,K,F))}),F.showGlobalOptions){let H=F.visibleGlobalOptions(D).map((G)=>{return B(F.styleOptionTerm(F.optionTerm(G)),F.styleOptionDescription(F.optionDescription(G)))});C=C.concat(this.formatItemList("Global Options:",H,F))}return this.groupItems(D.commands,F.visibleCommands(D),(H)=>H.helpGroup()||"Commands:").forEach((H,G)=>{let K=H.map((Q)=>{return B(F.styleSubcommandTerm(F.subcommandTerm(Q)),F.styleSubcommandDescription(F.subcommandDescription(Q)))});C=C.concat(this.formatItemList(G,K,F))}),C.join(`
51
- `)}displayWidth(D){return iB(D).length}styleTitle(D){return D}styleUsage(D){return D.split(" ").map((F)=>{if(F==="[options]")return this.styleOptionText(F);if(F==="[command]")return this.styleSubcommandText(F);if(F[0]==="["||F[0]==="<")return this.styleArgumentText(F);return this.styleCommandText(F)}).join(" ")}styleCommandDescription(D){return this.styleDescriptionText(D)}styleOptionDescription(D){return this.styleDescriptionText(D)}styleSubcommandDescription(D){return this.styleDescriptionText(D)}styleArgumentDescription(D){return this.styleDescriptionText(D)}styleDescriptionText(D){return D}styleOptionTerm(D){return this.styleOptionText(D)}styleSubcommandTerm(D){return D.split(" ").map((F)=>{if(F==="[options]")return this.styleOptionText(F);if(F[0]==="["||F[0]==="<")return this.styleArgumentText(F);return this.styleSubcommandText(F)}).join(" ")}styleArgumentTerm(D){return this.styleArgumentText(D)}styleOptionText(D){return D}styleArgumentText(D){return D}styleSubcommandText(D){return D}styleCommandText(D){return D}padWidth(D,F){return Math.max(F.longestOptionTermLength(D,F),F.longestGlobalOptionTermLength(D,F),F.longestSubcommandTermLength(D,F),F.longestArgumentTermLength(D,F))}preformatted(D){return/\n[^\S\r\n]/.test(D)}formatItem(D,F,u,E){let C=" ".repeat(2);if(!u)return C+D;let Z=D.padEnd(F+D.length-E.displayWidth(D)),J=2,Y=(this.helpWidth??80)-F-J-2,H;if(Y<this.minWidthToWrap||E.preformatted(u))H=u;else H=E.boxWrap(u,Y).replace(/\n/g,`
52
- `+" ".repeat(F+J));return C+Z+" ".repeat(J)+H.replace(/\n/g,`
53
- ${C}`)}boxWrap(D,F){if(F<this.minWidthToWrap)return D;let u=D.split(/\r\n|\n/),E=/[\s]*[^\s]+/g,B=[];return u.forEach((C)=>{let Z=C.match(E);if(Z===null){B.push("");return}let J=[Z.shift()],X=this.displayWidth(J[0]);Z.forEach((Y)=>{let H=this.displayWidth(Y);if(X+H<=F){J.push(Y),X+=H;return}B.push(J.join(""));let G=Y.trimStart();J=[G],X=this.displayWidth(G)}),B.push(J.join(""))}),B.join(`
54
- `)}}function iB(D){let F=/\x1b\[\d*(;\d*)*m/g;return D.replace(F,"")}vz.Help=pB;vz.stripColor=iB});var Gu=T((cz)=>{var{InvalidArgumentError:mz}=D2();class aB{constructor(D,F){this.flags=D,this.description=F||"",this.required=D.includes("<"),this.optional=D.includes("["),this.variadic=/\w\.\.\.[>\]]$/.test(D),this.mandatory=!1;let u=dz(D);if(this.short=u.shortFlag,this.long=u.longFlag,this.negate=!1,this.long)this.negate=this.long.startsWith("--no-");this.defaultValue=void 0,this.defaultValueDescription=void 0,this.presetArg=void 0,this.envVar=void 0,this.parseArg=void 0,this.hidden=!1,this.argChoices=void 0,this.conflictsWith=[],this.implied=void 0,this.helpGroupHeading=void 0}default(D,F){return this.defaultValue=D,this.defaultValueDescription=F,this}preset(D){return this.presetArg=D,this}conflicts(D){return this.conflictsWith=this.conflictsWith.concat(D),this}implies(D){let F=D;if(typeof D==="string")F={[D]:!0};return this.implied=Object.assign(this.implied||{},F),this}env(D){return this.envVar=D,this}argParser(D){return this.parseArg=D,this}makeOptionMandatory(D=!0){return this.mandatory=!!D,this}hideHelp(D=!0){return this.hidden=!!D,this}_collectValue(D,F){if(F===this.defaultValue||!Array.isArray(F))return[D];return F.push(D),F}choices(D){return this.argChoices=D.slice(),this.parseArg=(F,u)=>{if(!this.argChoices.includes(F))throw new mz(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._collectValue(F,u);return F},this}name(){if(this.long)return this.long.replace(/^--/,"");return this.short.replace(/^-/,"")}attributeName(){if(this.negate)return nB(this.name().replace(/^no-/,""));return nB(this.name())}helpGroup(D){return this.helpGroupHeading=D,this}is(D){return this.short===D||this.long===D}isBoolean(){return!this.required&&!this.optional&&!this.negate}}class rB{constructor(D){this.positiveOptions=new Map,this.negativeOptions=new Map,this.dualOptions=new Set,D.forEach((F)=>{if(F.negate)this.negativeOptions.set(F.attributeName(),F);else this.positiveOptions.set(F.attributeName(),F)}),this.negativeOptions.forEach((F,u)=>{if(this.positiveOptions.has(u))this.dualOptions.add(u)})}valueFromOption(D,F){let u=F.attributeName();if(!this.dualOptions.has(u))return!0;let E=this.negativeOptions.get(u).presetArg,B=E!==void 0?E:!1;return F.negate===(B===D)}}function nB(D){return D.split("-").reduce((F,u)=>{return F+u[0].toUpperCase()+u.slice(1)})}function dz(D){let F,u,E=/^-[^-]$/,B=/^--[^-]/,C=D.split(/[ |,]+/).concat("guard");if(E.test(C[0]))F=C.shift();if(B.test(C[0]))u=C.shift();if(!F&&E.test(C[0]))F=C.shift();if(!F&&B.test(C[0]))F=u,u=C.shift();if(C[0].startsWith("-")){let Z=C[0],J=`option creation failed due to '${Z}' in option flags '${D}'`;if(/^-[^-][^-]/.test(Z))throw Error(`${J}
8
+ `)[0].length}}n2.reset=()=>RD.reset();function i2(D,F,B){let E=[];D.forEach(function(J){E.push(J.draw(F))});let Z=E.join("");if(Z.length)B.push(Z)}W3.exports=n2});var s2=w((sZ,r2)=>{var O0=process||{},U3=O0.argv||[],P0=O0.env||{},$9=!(!!P0.NO_COLOR||U3.includes("--no-color"))&&(!!P0.FORCE_COLOR||U3.includes("--color")||O0.platform==="win32"||(O0.stdout||{}).isTTY&&P0.TERM!=="dumb"||!!P0.CI),U9=(D,F,B=D)=>(E)=>{let Z=""+E,J=Z.indexOf(F,D.length);return~J?D+N9(Z,F,B,J)+F:D+Z+F},N9=(D,F,B,E)=>{let Z="",J=0;do Z+=D.substring(J,E)+B,J=E+F.length,E=D.indexOf(F,J);while(~E);return Z+D.substring(J)},N3=(D=$9)=>{let F=D?U9:()=>String;return{isColorSupported:D,reset:F("\x1B[0m","\x1B[0m"),bold:F("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:F("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:F("\x1B[3m","\x1B[23m"),underline:F("\x1B[4m","\x1B[24m"),inverse:F("\x1B[7m","\x1B[27m"),hidden:F("\x1B[8m","\x1B[28m"),strikethrough:F("\x1B[9m","\x1B[29m"),black:F("\x1B[30m","\x1B[39m"),red:F("\x1B[31m","\x1B[39m"),green:F("\x1B[32m","\x1B[39m"),yellow:F("\x1B[33m","\x1B[39m"),blue:F("\x1B[34m","\x1B[39m"),magenta:F("\x1B[35m","\x1B[39m"),cyan:F("\x1B[36m","\x1B[39m"),white:F("\x1B[37m","\x1B[39m"),gray:F("\x1B[90m","\x1B[39m"),bgBlack:F("\x1B[40m","\x1B[49m"),bgRed:F("\x1B[41m","\x1B[49m"),bgGreen:F("\x1B[42m","\x1B[49m"),bgYellow:F("\x1B[43m","\x1B[49m"),bgBlue:F("\x1B[44m","\x1B[49m"),bgMagenta:F("\x1B[45m","\x1B[49m"),bgCyan:F("\x1B[46m","\x1B[49m"),bgWhite:F("\x1B[47m","\x1B[49m"),blackBright:F("\x1B[90m","\x1B[39m"),redBright:F("\x1B[91m","\x1B[39m"),greenBright:F("\x1B[92m","\x1B[39m"),yellowBright:F("\x1B[93m","\x1B[39m"),blueBright:F("\x1B[94m","\x1B[39m"),magentaBright:F("\x1B[95m","\x1B[39m"),cyanBright:F("\x1B[96m","\x1B[39m"),whiteBright:F("\x1B[97m","\x1B[39m"),bgBlackBright:F("\x1B[100m","\x1B[49m"),bgRedBright:F("\x1B[101m","\x1B[49m"),bgGreenBright:F("\x1B[102m","\x1B[49m"),bgYellowBright:F("\x1B[103m","\x1B[49m"),bgBlueBright:F("\x1B[104m","\x1B[49m"),bgMagentaBright:F("\x1B[105m","\x1B[49m"),bgCyanBright:F("\x1B[106m","\x1B[49m"),bgWhiteBright:F("\x1B[107m","\x1B[49m")}};r2.exports=N3();r2.exports.createColors=N3});var o2=w((ZJ,A3)=>{var I9=typeof process==="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...D)=>console.error("SEMVER",...D):()=>{};A3.exports=I9});var t2=w((JJ,j3)=>{var R9=Number.MAX_SAFE_INTEGER||9007199254740991,L9=["major","premajor","minor","preminor","patch","prepatch","prerelease"];j3.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:R9,RELEASE_TYPES:L9,SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var I3=w((VD,T3)=>{var{MAX_SAFE_COMPONENT_LENGTH:e2,MAX_SAFE_BUILD_LENGTH:f9,MAX_LENGTH:S9}=t2(),_9=o2();VD=T3.exports={};var k9=VD.re=[],P9=VD.safeRe=[],j=VD.src=[],O9=VD.safeSrc=[],T=VD.t={},y9=0,DF="[a-zA-Z0-9-]",w9=[["\\s",1],["\\d",S9],[DF,f9]],x9=(D)=>{for(let[F,B]of w9)D=D.split(`${F}*`).join(`${F}{0,${B}}`).split(`${F}+`).join(`${F}{1,${B}}`);return D},O=(D,F,B)=>{let E=x9(F),Z=y9++;_9(D,Z,F),T[D]=Z,j[Z]=F,O9[Z]=E,k9[Z]=new RegExp(F,B?"g":void 0),P9[Z]=new RegExp(E,B?"g":void 0)};O("NUMERICIDENTIFIER","0|[1-9]\\d*");O("NUMERICIDENTIFIERLOOSE","\\d+");O("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${DF}*`);O("MAINVERSION",`(${j[T.NUMERICIDENTIFIER]})\\.(${j[T.NUMERICIDENTIFIER]})\\.(${j[T.NUMERICIDENTIFIER]})`);O("MAINVERSIONLOOSE",`(${j[T.NUMERICIDENTIFIERLOOSE]})\\.(${j[T.NUMERICIDENTIFIERLOOSE]})\\.(${j[T.NUMERICIDENTIFIERLOOSE]})`);O("PRERELEASEIDENTIFIER",`(?:${j[T.NONNUMERICIDENTIFIER]}|${j[T.NUMERICIDENTIFIER]})`);O("PRERELEASEIDENTIFIERLOOSE",`(?:${j[T.NONNUMERICIDENTIFIER]}|${j[T.NUMERICIDENTIFIERLOOSE]})`);O("PRERELEASE",`(?:-(${j[T.PRERELEASEIDENTIFIER]}(?:\\.${j[T.PRERELEASEIDENTIFIER]})*))`);O("PRERELEASELOOSE",`(?:-?(${j[T.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${j[T.PRERELEASEIDENTIFIERLOOSE]})*))`);O("BUILDIDENTIFIER",`${DF}+`);O("BUILD",`(?:\\+(${j[T.BUILDIDENTIFIER]}(?:\\.${j[T.BUILDIDENTIFIER]})*))`);O("FULLPLAIN",`v?${j[T.MAINVERSION]}${j[T.PRERELEASE]}?${j[T.BUILD]}?`);O("FULL",`^${j[T.FULLPLAIN]}$`);O("LOOSEPLAIN",`[v=\\s]*${j[T.MAINVERSIONLOOSE]}${j[T.PRERELEASELOOSE]}?${j[T.BUILD]}?`);O("LOOSE",`^${j[T.LOOSEPLAIN]}$`);O("GTLT","((?:<|>)?=?)");O("XRANGEIDENTIFIERLOOSE",`${j[T.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);O("XRANGEIDENTIFIER",`${j[T.NUMERICIDENTIFIER]}|x|X|\\*`);O("XRANGEPLAIN",`[v=\\s]*(${j[T.XRANGEIDENTIFIER]})(?:\\.(${j[T.XRANGEIDENTIFIER]})(?:\\.(${j[T.XRANGEIDENTIFIER]})(?:${j[T.PRERELEASE]})?${j[T.BUILD]}?)?)?`);O("XRANGEPLAINLOOSE",`[v=\\s]*(${j[T.XRANGEIDENTIFIERLOOSE]})(?:\\.(${j[T.XRANGEIDENTIFIERLOOSE]})(?:\\.(${j[T.XRANGEIDENTIFIERLOOSE]})(?:${j[T.PRERELEASELOOSE]})?${j[T.BUILD]}?)?)?`);O("XRANGE",`^${j[T.GTLT]}\\s*${j[T.XRANGEPLAIN]}$`);O("XRANGELOOSE",`^${j[T.GTLT]}\\s*${j[T.XRANGEPLAINLOOSE]}$`);O("COERCEPLAIN",`(^|[^\\d])(\\d{1,${e2}})(?:\\.(\\d{1,${e2}}))?(?:\\.(\\d{1,${e2}}))?`);O("COERCE",`${j[T.COERCEPLAIN]}(?:$|[^\\d])`);O("COERCEFULL",j[T.COERCEPLAIN]+`(?:${j[T.PRERELEASE]})?(?:${j[T.BUILD]})?(?:$|[^\\d])`);O("COERCERTL",j[T.COERCE],!0);O("COERCERTLFULL",j[T.COERCEFULL],!0);O("LONETILDE","(?:~>?)");O("TILDETRIM",`(\\s*)${j[T.LONETILDE]}\\s+`,!0);VD.tildeTrimReplace="$1~";O("TILDE",`^${j[T.LONETILDE]}${j[T.XRANGEPLAIN]}$`);O("TILDELOOSE",`^${j[T.LONETILDE]}${j[T.XRANGEPLAINLOOSE]}$`);O("LONECARET","(?:\\^)");O("CARETTRIM",`(\\s*)${j[T.LONECARET]}\\s+`,!0);VD.caretTrimReplace="$1^";O("CARET",`^${j[T.LONECARET]}${j[T.XRANGEPLAIN]}$`);O("CARETLOOSE",`^${j[T.LONECARET]}${j[T.XRANGEPLAINLOOSE]}$`);O("COMPARATORLOOSE",`^${j[T.GTLT]}\\s*(${j[T.LOOSEPLAIN]})$|^$`);O("COMPARATOR",`^${j[T.GTLT]}\\s*(${j[T.FULLPLAIN]})$|^$`);O("COMPARATORTRIM",`(\\s*)${j[T.GTLT]}\\s*(${j[T.LOOSEPLAIN]}|${j[T.XRANGEPLAIN]})`,!0);VD.comparatorTrimReplace="$1$2$3";O("HYPHENRANGE",`^\\s*(${j[T.XRANGEPLAIN]})\\s+-\\s+(${j[T.XRANGEPLAIN]})\\s*$`);O("HYPHENRANGELOOSE",`^\\s*(${j[T.XRANGEPLAINLOOSE]})\\s+-\\s+(${j[T.XRANGEPLAINLOOSE]})\\s*$`);O("STAR","(<|>)?=?\\s*\\*");O("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");O("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var L3=w((YJ,R3)=>{var b9=Object.freeze({loose:!0}),v9=Object.freeze({}),h9=(D)=>{if(!D)return v9;if(typeof D!=="object")return b9;return D};R3.exports=h9});var k3=w((HJ,_3)=>{var f3=/^[0-9]+$/,S3=(D,F)=>{if(typeof D==="number"&&typeof F==="number")return D===F?0:D<F?-1:1;let B=f3.test(D),E=f3.test(F);if(B&&E)D=+D,F=+F;return D===F?0:B&&!E?-1:E&&!B?1:D<F?-1:1},g9=(D,F)=>S3(F,D);_3.exports={compareIdentifiers:S3,rcompareIdentifiers:g9}});var BF=w((XJ,O3)=>{var y0=o2(),{MAX_LENGTH:P3,MAX_SAFE_INTEGER:w0}=t2(),{safeRe:x0,t:b0}=I3(),m9=L3(),{compareIdentifiers:FF}=k3(),c9=(D,F)=>{let B=F.split(".");if(B.length>D.length)return!1;for(let E=0;E<B.length;E++)if(FF(D[E],B[E])!==0)return!1;return!0};class qD{constructor(D,F){if(F=m9(F),D instanceof qD)if(D.loose===!!F.loose&&D.includePrerelease===!!F.includePrerelease)return D;else D=D.version;else if(typeof D!=="string")throw TypeError(`Invalid version. Must be a string. Got type "${typeof D}".`);if(D.length>P3)throw TypeError(`version is longer than ${P3} characters`);y0("SemVer",D,F),this.options=F,this.loose=!!F.loose,this.includePrerelease=!!F.includePrerelease;let B=D.trim().match(F.loose?x0[b0.LOOSE]:x0[b0.FULL]);if(!B)throw TypeError(`Invalid Version: ${D}`);if(this.raw=D,this.major=+B[1],this.minor=+B[2],this.patch=+B[3],this.major>w0||this.major<0)throw TypeError("Invalid major version");if(this.minor>w0||this.minor<0)throw TypeError("Invalid minor version");if(this.patch>w0||this.patch<0)throw TypeError("Invalid patch version");if(!B[4])this.prerelease=[];else this.prerelease=B[4].split(".").map((E)=>{if(/^[0-9]+$/.test(E)){let Z=+E;if(Z>=0&&Z<w0)return Z}return E});this.build=B[5]?B[5].split("."):[],this.format()}format(){if(this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length)this.version+=`-${this.prerelease.join(".")}`;return this.version}toString(){return this.version}compare(D){if(y0("SemVer.compare",this.version,this.options,D),!(D instanceof qD)){if(typeof D==="string"&&D===this.version)return 0;D=new qD(D,this.options)}if(D.version===this.version)return 0;return this.compareMain(D)||this.comparePre(D)}compareMain(D){if(!(D instanceof qD))D=new qD(D,this.options);if(this.major<D.major)return-1;if(this.major>D.major)return 1;if(this.minor<D.minor)return-1;if(this.minor>D.minor)return 1;if(this.patch<D.patch)return-1;if(this.patch>D.patch)return 1;return 0}comparePre(D){if(!(D instanceof qD))D=new qD(D,this.options);if(this.prerelease.length&&!D.prerelease.length)return-1;else if(!this.prerelease.length&&D.prerelease.length)return 1;else if(!this.prerelease.length&&!D.prerelease.length)return 0;let F=0;do{let B=this.prerelease[F],E=D.prerelease[F];if(y0("prerelease compare",F,B,E),B===void 0&&E===void 0)return 0;else if(E===void 0)return 1;else if(B===void 0)return-1;else if(B===E)continue;else return FF(B,E)}while(++F)}compareBuild(D){if(!(D instanceof qD))D=new qD(D,this.options);let F=0;do{let B=this.build[F],E=D.build[F];if(y0("build compare",F,B,E),B===void 0&&E===void 0)return 0;else if(E===void 0)return 1;else if(B===void 0)return-1;else if(B===E)continue;else return FF(B,E)}while(++F)}inc(D,F,B){if(D.startsWith("pre")){if(!F&&B===!1)throw Error("invalid increment argument: identifier is empty");if(F){let E=`-${F}`.match(this.options.loose?x0[b0.PRERELEASELOOSE]:x0[b0.PRERELEASE]);if(!E||E[1]!==F)throw Error(`invalid identifier: ${F}`)}}switch(D){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",F,B);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",F,B);break;case"prepatch":this.prerelease.length=0,this.inc("patch",F,B),this.inc("pre",F,B);break;case"prerelease":if(this.prerelease.length===0)this.inc("patch",F,B);this.inc("pre",F,B);break;case"release":if(this.prerelease.length===0)throw Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":if(this.minor!==0||this.patch!==0||this.prerelease.length===0)this.major++;this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":if(this.patch!==0||this.prerelease.length===0)this.minor++;this.patch=0,this.prerelease=[];break;case"patch":if(this.prerelease.length===0)this.patch++;this.prerelease=[];break;case"pre":{let E=Number(B)?1:0;if(this.prerelease.length===0)this.prerelease=[E];else{let Z=this.prerelease.length;while(--Z>=0)if(typeof this.prerelease[Z]==="number")this.prerelease[Z]++,Z=-2;if(Z===-1){if(F===this.prerelease.join(".")&&B===!1)throw Error("invalid increment argument: identifier already exists");this.prerelease.push(E)}}if(F){let Z=[F,E];if(B===!1)Z=[F];if(c9(this.prerelease,F)){let J=this.prerelease[F.split(".").length];if(isNaN(J))this.prerelease=Z}else this.prerelease=Z}break}default:throw Error(`invalid increment argument: ${D}`)}if(this.raw=this.format(),this.build.length)this.raw+=`+${this.build.join(".")}`;return this}}O3.exports=qD});var x3=w((QJ,w3)=>{var y3=BF(),d9=(D,F,B)=>new y3(D,B).compare(new y3(F,B));w3.exports=d9});var v3=w((CJ,b3)=>{var l9=x3(),p9=(D,F,B)=>l9(D,F,B)>0;b3.exports=p9});var m3=w((GJ,g3)=>{var h3=BF(),a9=(D,F,B=!1)=>{if(D instanceof h3)return D;try{return new h3(D,F)}catch(E){if(!B)return null;throw E}};g3.exports=a9});var d3=w((KJ,c3)=>{var i9=m3(),n9=(D,F)=>{let B=i9(D,F);return B?B.version:null};c3.exports=n9});var Q0=w((J5)=>{class YF extends Error{constructor(D,F,B){super(B);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=F,this.exitCode=D,this.nestedError=void 0}}class s3 extends YF{constructor(D){super(1,"commander.invalidArgument",D);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}}J5.CommanderError=YF;J5.InvalidArgumentError=s3});var h0=w((C5)=>{var{InvalidArgumentError:X5}=Q0();class o3{constructor(D,F){switch(this.description=F||"",this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,D[0]){case"<":this.required=!0,this._name=D.slice(1,-1);break;case"[":this.required=!1,this._name=D.slice(1,-1);break;default:this.required=!0,this._name=D;break}if(this._name.endsWith("..."))this.variadic=!0,this._name=this._name.slice(0,-3)}name(){return this._name}_collectValue(D,F){if(F===this.defaultValue||!Array.isArray(F))return[D];return F.push(D),F}default(D,F){return this.defaultValue=D,this.defaultValueDescription=F,this}argParser(D){return this.parseArg=D,this}choices(D){return this.argChoices=D.slice(),this.parseArg=(F,B)=>{if(!this.argChoices.includes(F))throw new X5(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._collectValue(F,B);return F},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}}function Q5(D){let F=D.name()+(D.variadic===!0?"...":"");return D.required?"<"+F+">":"["+F+"]"}C5.Argument=o3;C5.humanReadableArgName=Q5});var HF=w((q5)=>{var{humanReadableArgName:z5}=h0();class t3{constructor(){this.helpWidth=void 0,this.minWidthToWrap=40,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}prepareContext(D){this.helpWidth=this.helpWidth??D.helpWidth??80}visibleCommands(D){let F=D.commands.filter((E)=>!E._hidden),B=D._getHelpCommand();if(B&&!B._hidden)F.push(B);if(this.sortSubcommands)F.sort((E,Z)=>{return E.name().localeCompare(Z.name())});return F}compareOptions(D,F){let B=(E)=>{return E.short?E.short.replace(/^-/,""):E.long.replace(/^--/,"")};return B(D).localeCompare(B(F))}visibleOptions(D){let F=D.options.filter((E)=>!E.hidden),B=D._getHelpOption();if(B&&!B.hidden){let E=B.short&&D._findOption(B.short),Z=B.long&&D._findOption(B.long);if(!E&&!Z)F.push(B);else if(B.long&&!Z)F.push(D.createOption(B.long,B.description));else if(B.short&&!E)F.push(D.createOption(B.short,B.description))}if(this.sortOptions)F.sort(this.compareOptions);return F}visibleGlobalOptions(D){if(!this.showGlobalOptions)return[];let F=[];for(let B=D.parent;B;B=B.parent){let E=B.options.filter((Z)=>!Z.hidden);F.push(...E)}if(this.sortOptions)F.sort(this.compareOptions);return F}visibleArguments(D){if(D._argsDescription)D.registeredArguments.forEach((F)=>{F.description=F.description||D._argsDescription[F.name()]||""});if(D.registeredArguments.find((F)=>F.description))return D.registeredArguments;return[]}subcommandTerm(D){let F=D.registeredArguments.map((B)=>z5(B)).join(" ");return D._name+(D._aliases[0]?"|"+D._aliases[0]:"")+(D.options.length?" [options]":"")+(F?" "+F:"")}optionTerm(D){return D.flags}argumentTerm(D){return D.name()}longestSubcommandTermLength(D,F){return F.visibleCommands(D).reduce((B,E)=>{return Math.max(B,this.displayWidth(F.styleSubcommandTerm(F.subcommandTerm(E))))},0)}longestOptionTermLength(D,F){return F.visibleOptions(D).reduce((B,E)=>{return Math.max(B,this.displayWidth(F.styleOptionTerm(F.optionTerm(E))))},0)}longestGlobalOptionTermLength(D,F){return F.visibleGlobalOptions(D).reduce((B,E)=>{return Math.max(B,this.displayWidth(F.styleOptionTerm(F.optionTerm(E))))},0)}longestArgumentTermLength(D,F){return F.visibleArguments(D).reduce((B,E)=>{return Math.max(B,this.displayWidth(F.styleArgumentTerm(F.argumentTerm(E))))},0)}commandUsage(D){let F=D._name;if(D._aliases[0])F=F+"|"+D._aliases[0];let B="";for(let E=D.parent;E;E=E.parent)B=E.name()+" "+B;return B+F+" "+D.usage()}commandDescription(D){return D.description()}subcommandDescription(D){return D.summary()||D.description()}optionDescription(D){let F=[];if(D.argChoices)F.push(`choices: ${D.argChoices.map((B)=>JSON.stringify(B)).join(", ")}`);if(D.defaultValue!==void 0){if(D.required||D.optional||D.isBoolean()&&typeof D.defaultValue==="boolean")F.push(`default: ${D.defaultValueDescription||JSON.stringify(D.defaultValue)}`)}if(D.presetArg!==void 0&&D.optional)F.push(`preset: ${JSON.stringify(D.presetArg)}`);if(D.envVar!==void 0)F.push(`env: ${D.envVar}`);if(F.length>0){let B=`(${F.join(", ")})`;if(D.description)return`${D.description} ${B}`;return B}return D.description}argumentDescription(D){let F=[];if(D.argChoices)F.push(`choices: ${D.argChoices.map((B)=>JSON.stringify(B)).join(", ")}`);if(D.defaultValue!==void 0)F.push(`default: ${D.defaultValueDescription||JSON.stringify(D.defaultValue)}`);if(F.length>0){let B=`(${F.join(", ")})`;if(D.description)return`${D.description} ${B}`;return B}return D.description}formatItemList(D,F,B){if(F.length===0)return[];return[B.styleTitle(D),...F,""]}groupItems(D,F,B){let E=new Map;return D.forEach((Z)=>{let J=B(Z);if(!E.has(J))E.set(J,[])}),F.forEach((Z)=>{let J=B(Z);if(!E.has(J))E.set(J,[]);E.get(J).push(Z)}),E}formatHelp(D,F){let B=F.padWidth(D,F),E=F.helpWidth??80;function Z(C,G){return F.formatItem(C,B,G,F)}let J=[`${F.styleTitle("Usage:")} ${F.styleUsage(F.commandUsage(D))}`,""],Y=F.commandDescription(D);if(Y.length>0)J=J.concat([F.boxWrap(F.styleCommandDescription(Y),E),""]);let H=F.visibleArguments(D).map((C)=>{return Z(F.styleArgumentTerm(F.argumentTerm(C)),F.styleArgumentDescription(F.argumentDescription(C)))});if(J=J.concat(this.formatItemList("Arguments:",H,F)),this.groupItems(D.options,F.visibleOptions(D),(C)=>C.helpGroupHeading??"Options:").forEach((C,G)=>{let u=C.map((q)=>{return Z(F.styleOptionTerm(F.optionTerm(q)),F.styleOptionDescription(F.optionDescription(q)))});J=J.concat(this.formatItemList(G,u,F))}),F.showGlobalOptions){let C=F.visibleGlobalOptions(D).map((G)=>{return Z(F.styleOptionTerm(F.optionTerm(G)),F.styleOptionDescription(F.optionDescription(G)))});J=J.concat(this.formatItemList("Global Options:",C,F))}return this.groupItems(D.commands,F.visibleCommands(D),(C)=>C.helpGroup()||"Commands:").forEach((C,G)=>{let u=C.map((q)=>{return Z(F.styleSubcommandTerm(F.subcommandTerm(q)),F.styleSubcommandDescription(F.subcommandDescription(q)))});J=J.concat(this.formatItemList(G,u,F))}),J.join(`
9
+ `)}displayWidth(D){return e3(D).length}styleTitle(D){return D}styleUsage(D){return D.split(" ").map((F)=>{if(F==="[options]")return this.styleOptionText(F);if(F==="[command]")return this.styleSubcommandText(F);if(F[0]==="["||F[0]==="<")return this.styleArgumentText(F);return this.styleCommandText(F)}).join(" ")}styleCommandDescription(D){return this.styleDescriptionText(D)}styleOptionDescription(D){return this.styleDescriptionText(D)}styleSubcommandDescription(D){return this.styleDescriptionText(D)}styleArgumentDescription(D){return this.styleDescriptionText(D)}styleDescriptionText(D){return D}styleOptionTerm(D){return this.styleOptionText(D)}styleSubcommandTerm(D){return D.split(" ").map((F)=>{if(F==="[options]")return this.styleOptionText(F);if(F[0]==="["||F[0]==="<")return this.styleArgumentText(F);return this.styleSubcommandText(F)}).join(" ")}styleArgumentTerm(D){return this.styleArgumentText(D)}styleOptionText(D){return D}styleArgumentText(D){return D}styleSubcommandText(D){return D}styleCommandText(D){return D}padWidth(D,F){return Math.max(F.longestOptionTermLength(D,F),F.longestGlobalOptionTermLength(D,F),F.longestSubcommandTermLength(D,F),F.longestArgumentTermLength(D,F))}preformatted(D){return/\n[^\S\r\n]/.test(D)}formatItem(D,F,B,E){let J=" ".repeat(2);if(!B)return J+D;let Y=D.padEnd(F+D.length-E.displayWidth(D)),H=2,X=(this.helpWidth??80)-F-H-2,C;if(X<this.minWidthToWrap||E.preformatted(B))C=B;else C=E.boxWrap(B,X).replace(/\n/g,`
10
+ `+" ".repeat(F+H));return J+Y+" ".repeat(H)+C.replace(/\n/g,`
11
+ ${J}`)}boxWrap(D,F){if(F<this.minWidthToWrap)return D;let B=D.split(/\r\n|\n/),E=/[\s]*[^\s]+/g,Z=[];return B.forEach((J)=>{let Y=J.match(E);if(Y===null){Z.push("");return}let H=[Y.shift()],Q=this.displayWidth(H[0]);Y.forEach((X)=>{let C=this.displayWidth(X);if(Q+C<=F){H.push(X),Q+=C;return}Z.push(H.join(""));let G=X.trimStart();H=[G],Q=this.displayWidth(G)}),Z.push(H.join(""))}),Z.join(`
12
+ `)}}function e3(D){let F=/\x1b\[\d*(;\d*)*m/g;return D.replace(F,"")}q5.Help=t3;q5.stripColor=e3});var XF=w((N5)=>{var{InvalidArgumentError:$5}=Q0();class F8{constructor(D,F){this.flags=D,this.description=F||"",this.required=D.includes("<"),this.optional=D.includes("["),this.variadic=/\w\.\.\.[>\]]$/.test(D),this.mandatory=!1;let B=U5(D);if(this.short=B.shortFlag,this.long=B.longFlag,this.negate=!1,this.long)this.negate=this.long.startsWith("--no-");this.defaultValue=void 0,this.defaultValueDescription=void 0,this.presetArg=void 0,this.envVar=void 0,this.parseArg=void 0,this.hidden=!1,this.argChoices=void 0,this.conflictsWith=[],this.implied=void 0,this.helpGroupHeading=void 0}default(D,F){return this.defaultValue=D,this.defaultValueDescription=F,this}preset(D){return this.presetArg=D,this}conflicts(D){return this.conflictsWith=this.conflictsWith.concat(D),this}implies(D){let F=D;if(typeof D==="string")F={[D]:!0};return this.implied=Object.assign(this.implied||{},F),this}env(D){return this.envVar=D,this}argParser(D){return this.parseArg=D,this}makeOptionMandatory(D=!0){return this.mandatory=!!D,this}hideHelp(D=!0){return this.hidden=!!D,this}_collectValue(D,F){if(F===this.defaultValue||!Array.isArray(F))return[D];return F.push(D),F}choices(D){return this.argChoices=D.slice(),this.parseArg=(F,B)=>{if(!this.argChoices.includes(F))throw new $5(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._collectValue(F,B);return F},this}name(){if(this.long)return this.long.replace(/^--/,"");return this.short.replace(/^-/,"")}attributeName(){if(this.negate)return D8(this.name().replace(/^no-/,""));return D8(this.name())}helpGroup(D){return this.helpGroupHeading=D,this}is(D){return this.short===D||this.long===D}isBoolean(){return!this.required&&!this.optional&&!this.negate}}class B8{constructor(D){this.positiveOptions=new Map,this.negativeOptions=new Map,this.dualOptions=new Set,D.forEach((F)=>{if(F.negate)this.negativeOptions.set(F.attributeName(),F);else this.positiveOptions.set(F.attributeName(),F)}),this.negativeOptions.forEach((F,B)=>{if(this.positiveOptions.has(B))this.dualOptions.add(B)})}valueFromOption(D,F){let B=F.attributeName();if(!this.dualOptions.has(B))return!0;let E=this.negativeOptions.get(B).presetArg,Z=E!==void 0?E:!1;return F.negate===(Z===D)}}function D8(D){return D.split("-").reduce((F,B)=>{return F+B[0].toUpperCase()+B.slice(1)})}function U5(D){let F,B,E=/^-[^-]$/,Z=/^--[^-]/,J=D.split(/[ |,]+/).concat("guard");if(E.test(J[0]))F=J.shift();if(Z.test(J[0]))B=J.shift();if(!F&&E.test(J[0]))F=J.shift();if(!F&&Z.test(J[0]))F=B,B=J.shift();if(J[0].startsWith("-")){let Y=J[0],H=`option creation failed due to '${Y}' in option flags '${D}'`;if(/^-[^-][^-]/.test(Y))throw Error(`${H}
55
13
  - a short flag is a single dash and a single character
56
14
  - either use a single dash and a single character (for a short flag)
57
- - or use a double dash for a long option (and can have two, like '--ws, --workspace')`);if(E.test(Z))throw Error(`${J}
58
- - too many short flags`);if(B.test(Z))throw Error(`${J}
59
- - too many long flags`);throw Error(`${J}
60
- - unrecognised flag format`)}if(F===void 0&&u===void 0)throw Error(`option creation failed due to no flags found in '${D}'.`);return{shortFlag:F,longFlag:u}}cz.Option=aB;cz.DualOptions=rB});var sB=T((az)=>{function iz(D,F){if(Math.abs(D.length-F.length)>3)return Math.max(D.length,F.length);let u=[];for(let E=0;E<=D.length;E++)u[E]=[E];for(let E=0;E<=F.length;E++)u[0][E]=E;for(let E=1;E<=F.length;E++)for(let B=1;B<=D.length;B++){let C=1;if(D[B-1]===F[E-1])C=0;else C=1;if(u[B][E]=Math.min(u[B-1][E]+1,u[B][E-1]+1,u[B-1][E-1]+C),B>1&&E>1&&D[B-1]===F[E-2]&&D[B-2]===F[E-1])u[B][E]=Math.min(u[B][E],u[B-2][E-2]+1)}return u[D.length][F.length]}function nz(D,F){if(!F||F.length===0)return"";F=Array.from(new Set(F));let u=D.startsWith("--");if(u)D=D.slice(2),F=F.map((Z)=>Z.slice(2));let E=[],B=3,C=0.4;if(F.forEach((Z)=>{if(Z.length<=1)return;let J=iz(D,Z),X=Math.max(D.length,Z.length);if((X-J)/X>C){if(J<B)B=J,E=[Z];else if(J===B)E.push(Z)}}),E.sort((Z,J)=>Z.localeCompare(J)),u)E=E.map((Z)=>`--${Z}`);if(E.length>1)return`
15
+ - or use a double dash for a long option (and can have two, like '--ws, --workspace')`);if(E.test(Y))throw Error(`${H}
16
+ - too many short flags`);if(Z.test(Y))throw Error(`${H}
17
+ - too many long flags`);throw Error(`${H}
18
+ - unrecognised flag format`)}if(F===void 0&&B===void 0)throw Error(`option creation failed due to no flags found in '${D}'.`);return{shortFlag:F,longFlag:B}}N5.Option=F8;N5.DualOptions=B8});var E8=w((T5)=>{function A5(D,F){if(Math.abs(D.length-F.length)>3)return Math.max(D.length,F.length);let B=[];for(let E=0;E<=D.length;E++)B[E]=[E];for(let E=0;E<=F.length;E++)B[0][E]=E;for(let E=1;E<=F.length;E++)for(let Z=1;Z<=D.length;Z++){let J=1;if(D[Z-1]===F[E-1])J=0;else J=1;if(B[Z][E]=Math.min(B[Z-1][E]+1,B[Z][E-1]+1,B[Z-1][E-1]+J),Z>1&&E>1&&D[Z-1]===F[E-2]&&D[Z-2]===F[E-1])B[Z][E]=Math.min(B[Z][E],B[Z-2][E-2]+1)}return B[D.length][F.length]}function j5(D,F){if(!F||F.length===0)return"";F=Array.from(new Set(F));let B=D.startsWith("--");if(B)D=D.slice(2),F=F.map((Y)=>Y.slice(2));let E=[],Z=3,J=0.4;if(F.forEach((Y)=>{if(Y.length<=1)return;let H=A5(D,Y),Q=Math.max(D.length,Y.length);if((Q-H)/Q>J){if(H<Z)Z=H,E=[Y];else if(H===Z)E.push(Y)}}),E.sort((Y,H)=>Y.localeCompare(H)),B)E=E.map((Y)=>`--${Y}`);if(E.length>1)return`
61
19
  (Did you mean one of ${E.join(", ")}?)`;if(E.length===1)return`
62
- (Did you mean ${E[0]}?)`;return""}az.suggestSimilar=nz});var DC=T((uq)=>{var sz=i("node:events").EventEmitter,Qu=i("node:child_process"),G0=i("node:path"),R8=i("node:fs"),o=i("node:process"),{Argument:oz,humanReadableArgName:tz}=L8(),{CommanderError:Ku}=D2(),{Help:ez,stripColor:Dq}=Xu(),{Option:oB,DualOptions:Fq}=Gu(),{suggestSimilar:tB}=sB();class qu extends sz{constructor(D){super();this.commands=[],this.options=[],this.parent=null,this._allowUnknownOption=!1,this._allowExcessArguments=!1,this.registeredArguments=[],this._args=this.registeredArguments,this.args=[],this.rawArgs=[],this.processedArgs=[],this._scriptPath=null,this._name=D||"",this._optionValues={},this._optionValueSources={},this._storeOptionsAsProperties=!1,this._actionHandler=null,this._executableHandler=!1,this._executableFile=null,this._executableDir=null,this._defaultCommandName=null,this._exitCallback=null,this._aliases=[],this._combineFlagAndOptionalValue=!0,this._description="",this._summary="",this._argsDescription=void 0,this._enablePositionalOptions=!1,this._passThroughOptions=!1,this._lifeCycleHooks={},this._showHelpAfterError=!1,this._showSuggestionAfterError=!0,this._savedState=null,this._outputConfiguration={writeOut:(F)=>o.stdout.write(F),writeErr:(F)=>o.stderr.write(F),outputError:(F,u)=>u(F),getOutHelpWidth:()=>o.stdout.isTTY?o.stdout.columns:void 0,getErrHelpWidth:()=>o.stderr.isTTY?o.stderr.columns:void 0,getOutHasColors:()=>zu()??(o.stdout.isTTY&&o.stdout.hasColors?.()),getErrHasColors:()=>zu()??(o.stderr.isTTY&&o.stderr.hasColors?.()),stripColor:(F)=>Dq(F)},this._hidden=!1,this._helpOption=void 0,this._addImplicitHelpCommand=void 0,this._helpCommand=void 0,this._helpConfiguration={},this._helpGroupHeading=void 0,this._defaultCommandGroup=void 0,this._defaultOptionGroup=void 0}copyInheritedSettings(D){return this._outputConfiguration=D._outputConfiguration,this._helpOption=D._helpOption,this._helpCommand=D._helpCommand,this._helpConfiguration=D._helpConfiguration,this._exitCallback=D._exitCallback,this._storeOptionsAsProperties=D._storeOptionsAsProperties,this._combineFlagAndOptionalValue=D._combineFlagAndOptionalValue,this._allowExcessArguments=D._allowExcessArguments,this._enablePositionalOptions=D._enablePositionalOptions,this._showHelpAfterError=D._showHelpAfterError,this._showSuggestionAfterError=D._showSuggestionAfterError,this}_getCommandAndAncestors(){let D=[];for(let F=this;F;F=F.parent)D.push(F);return D}command(D,F,u){let E=F,B=u;if(typeof E==="object"&&E!==null)B=E,E=null;B=B||{};let[,C,Z]=D.match(/([^ ]+) *(.*)/),J=this.createCommand(C);if(E)J.description(E),J._executableHandler=!0;if(B.isDefault)this._defaultCommandName=J._name;if(J._hidden=!!(B.noHelp||B.hidden),J._executableFile=B.executableFile||null,Z)J.arguments(Z);if(this._registerCommand(J),J.parent=this,J.copyInheritedSettings(this),E)return this;return J}createCommand(D){return new qu(D)}createHelp(){return Object.assign(new ez,this.configureHelp())}configureHelp(D){if(D===void 0)return this._helpConfiguration;return this._helpConfiguration=D,this}configureOutput(D){if(D===void 0)return this._outputConfiguration;return this._outputConfiguration={...this._outputConfiguration,...D},this}showHelpAfterError(D=!0){if(typeof D!=="string")D=!!D;return this._showHelpAfterError=D,this}showSuggestionAfterError(D=!0){return this._showSuggestionAfterError=!!D,this}addCommand(D,F){if(!D._name)throw Error(`Command passed to .addCommand() must have a name
63
- - specify the name in Command constructor or using .name()`);if(F=F||{},F.isDefault)this._defaultCommandName=D._name;if(F.noHelp||F.hidden)D._hidden=!0;return this._registerCommand(D),D.parent=this,D._checkForBrokenPassThrough(),this}createArgument(D,F){return new oz(D,F)}argument(D,F,u,E){let B=this.createArgument(D,F);if(typeof u==="function")B.default(E).argParser(u);else B.default(u);return this.addArgument(B),this}arguments(D){return D.trim().split(/ +/).forEach((F)=>{this.argument(F)}),this}addArgument(D){let F=this.registeredArguments.slice(-1)[0];if(F?.variadic)throw Error(`only the last argument can be variadic '${F.name()}'`);if(D.required&&D.defaultValue!==void 0&&D.parseArg===void 0)throw Error(`a default value for a required argument is never used: '${D.name()}'`);return this.registeredArguments.push(D),this}helpCommand(D,F){if(typeof D==="boolean"){if(this._addImplicitHelpCommand=D,D&&this._defaultCommandGroup)this._initCommandGroup(this._getHelpCommand());return this}let u=D??"help [command]",[,E,B]=u.match(/([^ ]+) *(.*)/),C=F??"display help for command",Z=this.createCommand(E);if(Z.helpOption(!1),B)Z.arguments(B);if(C)Z.description(C);if(this._addImplicitHelpCommand=!0,this._helpCommand=Z,D||F)this._initCommandGroup(Z);return this}addHelpCommand(D,F){if(typeof D!=="object")return this.helpCommand(D,F),this;return this._addImplicitHelpCommand=!0,this._helpCommand=D,this._initCommandGroup(D),this}_getHelpCommand(){if(this._addImplicitHelpCommand??(this.commands.length&&!this._actionHandler&&!this._findCommand("help"))){if(this._helpCommand===void 0)this.helpCommand(void 0,void 0);return this._helpCommand}return null}hook(D,F){let u=["preSubcommand","preAction","postAction"];if(!u.includes(D))throw Error(`Unexpected value for event passed to hook : '${D}'.
64
- Expecting one of '${u.join("', '")}'`);if(this._lifeCycleHooks[D])this._lifeCycleHooks[D].push(F);else this._lifeCycleHooks[D]=[F];return this}exitOverride(D){if(D)this._exitCallback=D;else this._exitCallback=(F)=>{if(F.code!=="commander.executeSubCommandAsync")throw F};return this}_exit(D,F,u){if(this._exitCallback)this._exitCallback(new Ku(D,F,u));o.exit(D)}action(D){let F=(u)=>{let E=this.registeredArguments.length,B=u.slice(0,E);if(this._storeOptionsAsProperties)B[E]=this;else B[E]=this.opts();return B.push(this),D.apply(this,B)};return this._actionHandler=F,this}createOption(D,F){return new oB(D,F)}_callParseArg(D,F,u,E){try{return D.parseArg(F,u)}catch(B){if(B.code==="commander.invalidArgument"){let C=`${E} ${B.message}`;this.error(C,{exitCode:B.exitCode,code:B.code})}throw B}}_registerOption(D){let F=D.short&&this._findOption(D.short)||D.long&&this._findOption(D.long);if(F){let u=D.long&&this._findOption(D.long)?D.long:D.short;throw Error(`Cannot add option '${D.flags}'${this._name&&` to command '${this._name}'`} due to conflicting flag '${u}'
65
- - already used by option '${F.flags}'`)}this._initOptionGroup(D),this.options.push(D)}_registerCommand(D){let F=(E)=>{return[E.name()].concat(E.aliases())},u=F(D).find((E)=>this._findCommand(E));if(u){let E=F(this._findCommand(u)).join("|"),B=F(D).join("|");throw Error(`cannot add command '${B}' as already have command '${E}'`)}this._initCommandGroup(D),this.commands.push(D)}addOption(D){this._registerOption(D);let F=D.name(),u=D.attributeName();if(D.negate){let B=D.long.replace(/^--no-/,"--");if(!this._findOption(B))this.setOptionValueWithSource(u,D.defaultValue===void 0?!0:D.defaultValue,"default")}else if(D.defaultValue!==void 0)this.setOptionValueWithSource(u,D.defaultValue,"default");let E=(B,C,Z)=>{if(B==null&&D.presetArg!==void 0)B=D.presetArg;let J=this.getOptionValue(u);if(B!==null&&D.parseArg)B=this._callParseArg(D,B,J,C);else if(B!==null&&D.variadic)B=D._collectValue(B,J);if(B==null)if(D.negate)B=!1;else if(D.isBoolean()||D.optional)B=!0;else B="";this.setOptionValueWithSource(u,B,Z)};if(this.on("option:"+F,(B)=>{let C=`error: option '${D.flags}' argument '${B}' is invalid.`;E(B,C,"cli")}),D.envVar)this.on("optionEnv:"+F,(B)=>{let C=`error: option '${D.flags}' value '${B}' from env '${D.envVar}' is invalid.`;E(B,C,"env")});return this}_optionEx(D,F,u,E,B){if(typeof F==="object"&&F instanceof oB)throw Error("To add an Option object use addOption() instead of option() or requiredOption()");let C=this.createOption(F,u);if(C.makeOptionMandatory(!!D.mandatory),typeof E==="function")C.default(B).argParser(E);else if(E instanceof RegExp){let Z=E;E=(J,X)=>{let Y=Z.exec(J);return Y?Y[0]:X},C.default(B).argParser(E)}else C.default(E);return this.addOption(C)}option(D,F,u,E){return this._optionEx({},D,F,u,E)}requiredOption(D,F,u,E){return this._optionEx({mandatory:!0},D,F,u,E)}combineFlagAndOptionalValue(D=!0){return this._combineFlagAndOptionalValue=!!D,this}allowUnknownOption(D=!0){return this._allowUnknownOption=!!D,this}allowExcessArguments(D=!0){return this._allowExcessArguments=!!D,this}enablePositionalOptions(D=!0){return this._enablePositionalOptions=!!D,this}passThroughOptions(D=!0){return this._passThroughOptions=!!D,this._checkForBrokenPassThrough(),this}_checkForBrokenPassThrough(){if(this.parent&&this._passThroughOptions&&!this.parent._enablePositionalOptions)throw Error(`passThroughOptions cannot be used for '${this._name}' without turning on enablePositionalOptions for parent command(s)`)}storeOptionsAsProperties(D=!0){if(this.options.length)throw Error("call .storeOptionsAsProperties() before adding options");if(Object.keys(this._optionValues).length)throw Error("call .storeOptionsAsProperties() before setting option values");return this._storeOptionsAsProperties=!!D,this}getOptionValue(D){if(this._storeOptionsAsProperties)return this[D];return this._optionValues[D]}setOptionValue(D,F){return this.setOptionValueWithSource(D,F,void 0)}setOptionValueWithSource(D,F,u){if(this._storeOptionsAsProperties)this[D]=F;else this._optionValues[D]=F;return this._optionValueSources[D]=u,this}getOptionValueSource(D){return this._optionValueSources[D]}getOptionValueSourceWithGlobals(D){let F;return this._getCommandAndAncestors().forEach((u)=>{if(u.getOptionValueSource(D)!==void 0)F=u.getOptionValueSource(D)}),F}_prepareUserArgs(D,F){if(D!==void 0&&!Array.isArray(D))throw Error("first parameter to parse must be array or undefined");if(F=F||{},D===void 0&&F.from===void 0){if(o.versions?.electron)F.from="electron";let E=o.execArgv??[];if(E.includes("-e")||E.includes("--eval")||E.includes("-p")||E.includes("--print"))F.from="eval"}if(D===void 0)D=o.argv;this.rawArgs=D.slice();let u;switch(F.from){case void 0:case"node":this._scriptPath=D[1],u=D.slice(2);break;case"electron":if(o.defaultApp)this._scriptPath=D[1],u=D.slice(2);else u=D.slice(1);break;case"user":u=D.slice(0);break;case"eval":u=D.slice(1);break;default:throw Error(`unexpected parse option { from: '${F.from}' }`)}if(!this._name&&this._scriptPath)this.nameFromFilename(this._scriptPath);return this._name=this._name||"program",u}parse(D,F){this._prepareForParse();let u=this._prepareUserArgs(D,F);return this._parseCommand([],u),this}async parseAsync(D,F){this._prepareForParse();let u=this._prepareUserArgs(D,F);return await this._parseCommand([],u),this}_prepareForParse(){if(this._savedState===null)this.saveStateBeforeParse();else this.restoreStateBeforeParse()}saveStateBeforeParse(){this._savedState={_name:this._name,_optionValues:{...this._optionValues},_optionValueSources:{...this._optionValueSources}}}restoreStateBeforeParse(){if(this._storeOptionsAsProperties)throw Error(`Can not call parse again when storeOptionsAsProperties is true.
66
- - either make a new Command for each call to parse, or stop storing options as properties`);this._name=this._savedState._name,this._scriptPath=null,this.rawArgs=[],this._optionValues={...this._savedState._optionValues},this._optionValueSources={...this._savedState._optionValueSources},this.args=[],this.processedArgs=[]}_checkForMissingExecutable(D,F,u){if(R8.existsSync(D))return;let E=F?`searched for local subcommand relative to directory '${F}'`:"no directory for search for local subcommand, use .executableDir() to supply a custom directory",B=`'${D}' does not exist
67
- - if '${u}' is not meant to be an executable command, remove description parameter from '.command()' and use '.description()' instead
20
+ (Did you mean ${E[0]}?)`;return""}T5.suggestSimilar=j5});var H8=w((P5)=>{var R5=hD("node:events").EventEmitter,QF=hD("node:child_process"),fD=hD("node:path"),g0=hD("node:fs"),c=hD("node:process"),{Argument:L5,humanReadableArgName:f5}=h0(),{CommanderError:CF}=Q0(),{Help:S5,stripColor:_5}=HF(),{Option:Z8,DualOptions:k5}=XF(),{suggestSimilar:J8}=E8();class KF extends R5{constructor(D){super();this.commands=[],this.options=[],this.parent=null,this._allowUnknownOption=!1,this._allowExcessArguments=!1,this.registeredArguments=[],this._args=this.registeredArguments,this.args=[],this.rawArgs=[],this.processedArgs=[],this._scriptPath=null,this._name=D||"",this._optionValues={},this._optionValueSources={},this._storeOptionsAsProperties=!1,this._actionHandler=null,this._executableHandler=!1,this._executableFile=null,this._executableDir=null,this._defaultCommandName=null,this._exitCallback=null,this._aliases=[],this._combineFlagAndOptionalValue=!0,this._description="",this._summary="",this._argsDescription=void 0,this._enablePositionalOptions=!1,this._passThroughOptions=!1,this._lifeCycleHooks={},this._showHelpAfterError=!1,this._showSuggestionAfterError=!0,this._savedState=null,this._outputConfiguration={writeOut:(F)=>c.stdout.write(F),writeErr:(F)=>c.stderr.write(F),outputError:(F,B)=>B(F),getOutHelpWidth:()=>c.stdout.isTTY?c.stdout.columns:void 0,getErrHelpWidth:()=>c.stderr.isTTY?c.stderr.columns:void 0,getOutHasColors:()=>GF()??(c.stdout.isTTY&&c.stdout.hasColors?.()),getErrHasColors:()=>GF()??(c.stderr.isTTY&&c.stderr.hasColors?.()),stripColor:(F)=>_5(F)},this._hidden=!1,this._helpOption=void 0,this._addImplicitHelpCommand=void 0,this._helpCommand=void 0,this._helpConfiguration={},this._helpGroupHeading=void 0,this._defaultCommandGroup=void 0,this._defaultOptionGroup=void 0}copyInheritedSettings(D){return this._outputConfiguration=D._outputConfiguration,this._helpOption=D._helpOption,this._helpCommand=D._helpCommand,this._helpConfiguration=D._helpConfiguration,this._exitCallback=D._exitCallback,this._storeOptionsAsProperties=D._storeOptionsAsProperties,this._combineFlagAndOptionalValue=D._combineFlagAndOptionalValue,this._allowExcessArguments=D._allowExcessArguments,this._enablePositionalOptions=D._enablePositionalOptions,this._showHelpAfterError=D._showHelpAfterError,this._showSuggestionAfterError=D._showSuggestionAfterError,this}_getCommandAndAncestors(){let D=[];for(let F=this;F;F=F.parent)D.push(F);return D}command(D,F,B){let E=F,Z=B;if(typeof E==="object"&&E!==null)Z=E,E=null;Z=Z||{};let[,J,Y]=D.match(/([^ ]+) *(.*)/),H=this.createCommand(J);if(E)H.description(E),H._executableHandler=!0;if(Z.isDefault)this._defaultCommandName=H._name;if(H._hidden=!!(Z.noHelp||Z.hidden),H._executableFile=Z.executableFile||null,Y)H.arguments(Y);if(this._registerCommand(H),H.parent=this,H.copyInheritedSettings(this),E)return this;return H}createCommand(D){return new KF(D)}createHelp(){return Object.assign(new S5,this.configureHelp())}configureHelp(D){if(D===void 0)return this._helpConfiguration;return this._helpConfiguration=D,this}configureOutput(D){if(D===void 0)return this._outputConfiguration;return this._outputConfiguration={...this._outputConfiguration,...D},this}showHelpAfterError(D=!0){if(typeof D!=="string")D=!!D;return this._showHelpAfterError=D,this}showSuggestionAfterError(D=!0){return this._showSuggestionAfterError=!!D,this}addCommand(D,F){if(!D._name)throw Error(`Command passed to .addCommand() must have a name
21
+ - specify the name in Command constructor or using .name()`);if(F=F||{},F.isDefault)this._defaultCommandName=D._name;if(F.noHelp||F.hidden)D._hidden=!0;return this._registerCommand(D),D.parent=this,D._checkForBrokenPassThrough(),this}createArgument(D,F){return new L5(D,F)}argument(D,F,B,E){let Z=this.createArgument(D,F);if(typeof B==="function")Z.default(E).argParser(B);else Z.default(B);return this.addArgument(Z),this}arguments(D){return D.trim().split(/ +/).forEach((F)=>{this.argument(F)}),this}addArgument(D){let F=this.registeredArguments.slice(-1)[0];if(F?.variadic)throw Error(`only the last argument can be variadic '${F.name()}'`);if(D.required&&D.defaultValue!==void 0&&D.parseArg===void 0)throw Error(`a default value for a required argument is never used: '${D.name()}'`);return this.registeredArguments.push(D),this}helpCommand(D,F){if(typeof D==="boolean"){if(this._addImplicitHelpCommand=D,D&&this._defaultCommandGroup)this._initCommandGroup(this._getHelpCommand());return this}let B=D??"help [command]",[,E,Z]=B.match(/([^ ]+) *(.*)/),J=F??"display help for command",Y=this.createCommand(E);if(Y.helpOption(!1),Z)Y.arguments(Z);if(J)Y.description(J);if(this._addImplicitHelpCommand=!0,this._helpCommand=Y,D||F)this._initCommandGroup(Y);return this}addHelpCommand(D,F){if(typeof D!=="object")return this.helpCommand(D,F),this;return this._addImplicitHelpCommand=!0,this._helpCommand=D,this._initCommandGroup(D),this}_getHelpCommand(){if(this._addImplicitHelpCommand??(this.commands.length&&!this._actionHandler&&!this._findCommand("help"))){if(this._helpCommand===void 0)this.helpCommand(void 0,void 0);return this._helpCommand}return null}hook(D,F){let B=["preSubcommand","preAction","postAction"];if(!B.includes(D))throw Error(`Unexpected value for event passed to hook : '${D}'.
22
+ Expecting one of '${B.join("', '")}'`);if(this._lifeCycleHooks[D])this._lifeCycleHooks[D].push(F);else this._lifeCycleHooks[D]=[F];return this}exitOverride(D){if(D)this._exitCallback=D;else this._exitCallback=(F)=>{if(F.code!=="commander.executeSubCommandAsync")throw F};return this}_exit(D,F,B){if(this._exitCallback)this._exitCallback(new CF(D,F,B));c.exit(D)}action(D){let F=(B)=>{let E=this.registeredArguments.length,Z=B.slice(0,E);if(this._storeOptionsAsProperties)Z[E]=this;else Z[E]=this.opts();return Z.push(this),D.apply(this,Z)};return this._actionHandler=F,this}createOption(D,F){return new Z8(D,F)}_callParseArg(D,F,B,E){try{return D.parseArg(F,B)}catch(Z){if(Z.code==="commander.invalidArgument"){let J=`${E} ${Z.message}`;this.error(J,{exitCode:Z.exitCode,code:Z.code})}throw Z}}_registerOption(D){let F=D.short&&this._findOption(D.short)||D.long&&this._findOption(D.long);if(F){let B=D.long&&this._findOption(D.long)?D.long:D.short;throw Error(`Cannot add option '${D.flags}'${this._name&&` to command '${this._name}'`} due to conflicting flag '${B}'
23
+ - already used by option '${F.flags}'`)}this._initOptionGroup(D),this.options.push(D)}_registerCommand(D){let F=(E)=>{return[E.name()].concat(E.aliases())},B=F(D).find((E)=>this._findCommand(E));if(B){let E=F(this._findCommand(B)).join("|"),Z=F(D).join("|");throw Error(`cannot add command '${Z}' as already have command '${E}'`)}this._initCommandGroup(D),this.commands.push(D)}addOption(D){this._registerOption(D);let F=D.name(),B=D.attributeName();if(D.negate){let Z=D.long.replace(/^--no-/,"--");if(!this._findOption(Z))this.setOptionValueWithSource(B,D.defaultValue===void 0?!0:D.defaultValue,"default")}else if(D.defaultValue!==void 0)this.setOptionValueWithSource(B,D.defaultValue,"default");let E=(Z,J,Y)=>{if(Z==null&&D.presetArg!==void 0)Z=D.presetArg;let H=this.getOptionValue(B);if(Z!==null&&D.parseArg)Z=this._callParseArg(D,Z,H,J);else if(Z!==null&&D.variadic)Z=D._collectValue(Z,H);if(Z==null)if(D.negate)Z=!1;else if(D.isBoolean()||D.optional)Z=!0;else Z="";this.setOptionValueWithSource(B,Z,Y)};if(this.on("option:"+F,(Z)=>{let J=`error: option '${D.flags}' argument '${Z}' is invalid.`;E(Z,J,"cli")}),D.envVar)this.on("optionEnv:"+F,(Z)=>{let J=`error: option '${D.flags}' value '${Z}' from env '${D.envVar}' is invalid.`;E(Z,J,"env")});return this}_optionEx(D,F,B,E,Z){if(typeof F==="object"&&F instanceof Z8)throw Error("To add an Option object use addOption() instead of option() or requiredOption()");let J=this.createOption(F,B);if(J.makeOptionMandatory(!!D.mandatory),typeof E==="function")J.default(Z).argParser(E);else if(E instanceof RegExp){let Y=E;E=(H,Q)=>{let X=Y.exec(H);return X?X[0]:Q},J.default(Z).argParser(E)}else J.default(E);return this.addOption(J)}option(D,F,B,E){return this._optionEx({},D,F,B,E)}requiredOption(D,F,B,E){return this._optionEx({mandatory:!0},D,F,B,E)}combineFlagAndOptionalValue(D=!0){return this._combineFlagAndOptionalValue=!!D,this}allowUnknownOption(D=!0){return this._allowUnknownOption=!!D,this}allowExcessArguments(D=!0){return this._allowExcessArguments=!!D,this}enablePositionalOptions(D=!0){return this._enablePositionalOptions=!!D,this}passThroughOptions(D=!0){return this._passThroughOptions=!!D,this._checkForBrokenPassThrough(),this}_checkForBrokenPassThrough(){if(this.parent&&this._passThroughOptions&&!this.parent._enablePositionalOptions)throw Error(`passThroughOptions cannot be used for '${this._name}' without turning on enablePositionalOptions for parent command(s)`)}storeOptionsAsProperties(D=!0){if(this.options.length)throw Error("call .storeOptionsAsProperties() before adding options");if(Object.keys(this._optionValues).length)throw Error("call .storeOptionsAsProperties() before setting option values");return this._storeOptionsAsProperties=!!D,this}getOptionValue(D){if(this._storeOptionsAsProperties)return this[D];return this._optionValues[D]}setOptionValue(D,F){return this.setOptionValueWithSource(D,F,void 0)}setOptionValueWithSource(D,F,B){if(this._storeOptionsAsProperties)this[D]=F;else this._optionValues[D]=F;return this._optionValueSources[D]=B,this}getOptionValueSource(D){return this._optionValueSources[D]}getOptionValueSourceWithGlobals(D){let F;return this._getCommandAndAncestors().forEach((B)=>{if(B.getOptionValueSource(D)!==void 0)F=B.getOptionValueSource(D)}),F}_prepareUserArgs(D,F){if(D!==void 0&&!Array.isArray(D))throw Error("first parameter to parse must be array or undefined");if(F=F||{},D===void 0&&F.from===void 0){if(c.versions?.electron)F.from="electron";let E=c.execArgv??[];if(E.includes("-e")||E.includes("--eval")||E.includes("-p")||E.includes("--print"))F.from="eval"}if(D===void 0)D=c.argv;this.rawArgs=D.slice();let B;switch(F.from){case void 0:case"node":this._scriptPath=D[1],B=D.slice(2);break;case"electron":if(c.defaultApp)this._scriptPath=D[1],B=D.slice(2);else B=D.slice(1);break;case"user":B=D.slice(0);break;case"eval":B=D.slice(1);break;default:throw Error(`unexpected parse option { from: '${F.from}' }`)}if(!this._name&&this._scriptPath)this.nameFromFilename(this._scriptPath);return this._name=this._name||"program",B}parse(D,F){this._prepareForParse();let B=this._prepareUserArgs(D,F);return this._parseCommand([],B),this}async parseAsync(D,F){this._prepareForParse();let B=this._prepareUserArgs(D,F);return await this._parseCommand([],B),this}_prepareForParse(){if(this._savedState===null)this.saveStateBeforeParse();else this.restoreStateBeforeParse()}saveStateBeforeParse(){this._savedState={_name:this._name,_optionValues:{...this._optionValues},_optionValueSources:{...this._optionValueSources}}}restoreStateBeforeParse(){if(this._storeOptionsAsProperties)throw Error(`Can not call parse again when storeOptionsAsProperties is true.
24
+ - either make a new Command for each call to parse, or stop storing options as properties`);this._name=this._savedState._name,this._scriptPath=null,this.rawArgs=[],this._optionValues={...this._savedState._optionValues},this._optionValueSources={...this._savedState._optionValueSources},this.args=[],this.processedArgs=[]}_checkForMissingExecutable(D,F,B){if(g0.existsSync(D))return;let E=F?`searched for local subcommand relative to directory '${F}'`:"no directory for search for local subcommand, use .executableDir() to supply a custom directory",Z=`'${D}' does not exist
25
+ - if '${B}' is not meant to be an executable command, remove description parameter from '.command()' and use '.description()' instead
68
26
  - if the default executable name is not suitable, use the executableFile option to supply a custom name or path
69
- - ${E}`;throw Error(B)}_executeSubCommand(D,F){F=F.slice();let u=!1,E=[".js",".ts",".tsx",".mjs",".cjs"];function B(Y,H){let G=G0.resolve(Y,H);if(R8.existsSync(G))return G;if(E.includes(G0.extname(H)))return;let K=E.find((Q)=>R8.existsSync(`${G}${Q}`));if(K)return`${G}${K}`;return}this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let C=D._executableFile||`${this._name}-${D._name}`,Z=this._executableDir||"";if(this._scriptPath){let Y;try{Y=R8.realpathSync(this._scriptPath)}catch{Y=this._scriptPath}Z=G0.resolve(G0.dirname(Y),Z)}if(Z){let Y=B(Z,C);if(!Y&&!D._executableFile&&this._scriptPath){let H=G0.basename(this._scriptPath,G0.extname(this._scriptPath));if(H!==this._name)Y=B(Z,`${H}-${D._name}`)}C=Y||C}u=E.includes(G0.extname(C));let J;if(o.platform!=="win32")if(u)F.unshift(C),F=eB(o.execArgv).concat(F),J=Qu.spawn(o.argv[0],F,{stdio:"inherit"});else J=Qu.spawn(C,F,{stdio:"inherit"});else this._checkForMissingExecutable(C,Z,D._name),F.unshift(C),F=eB(o.execArgv).concat(F),J=Qu.spawn(o.execPath,F,{stdio:"inherit"});if(!J.killed)["SIGUSR1","SIGUSR2","SIGTERM","SIGINT","SIGHUP"].forEach((H)=>{o.on(H,()=>{if(J.killed===!1&&J.exitCode===null)J.kill(H)})});let X=this._exitCallback;J.on("close",(Y)=>{if(Y=Y??1,!X)o.exit(Y);else X(new Ku(Y,"commander.executeSubCommandAsync","(close)"))}),J.on("error",(Y)=>{if(Y.code==="ENOENT")this._checkForMissingExecutable(C,Z,D._name);else if(Y.code==="EACCES")throw Error(`'${C}' not executable`);if(!X)o.exit(1);else{let H=new Ku(1,"commander.executeSubCommandAsync","(error)");H.nestedError=Y,X(H)}}),this.runningCommand=J}_dispatchSubcommand(D,F,u){let E=this._findCommand(D);if(!E)this.help({error:!0});E._prepareForParse();let B;return B=this._chainOrCallSubCommandHook(B,E,"preSubcommand"),B=this._chainOrCall(B,()=>{if(E._executableHandler)this._executeSubCommand(E,F.concat(u));else return E._parseCommand(F,u)}),B}_dispatchHelpCommand(D){if(!D)this.help();let F=this._findCommand(D);if(F&&!F._executableHandler)F.help();return this._dispatchSubcommand(D,[],[this._getHelpOption()?.long??this._getHelpOption()?.short??"--help"])}_checkNumberOfArguments(){if(this.registeredArguments.forEach((D,F)=>{if(D.required&&this.args[F]==null)this.missingArgument(D.name())}),this.registeredArguments.length>0&&this.registeredArguments[this.registeredArguments.length-1].variadic)return;if(this.args.length>this.registeredArguments.length)this._excessArguments(this.args)}_processArguments(){let D=(u,E,B)=>{let C=E;if(E!==null&&u.parseArg){let Z=`error: command-argument value '${E}' is invalid for argument '${u.name()}'.`;C=this._callParseArg(u,E,B,Z)}return C};this._checkNumberOfArguments();let F=[];this.registeredArguments.forEach((u,E)=>{let B=u.defaultValue;if(u.variadic){if(E<this.args.length){if(B=this.args.slice(E),u.parseArg)B=B.reduce((C,Z)=>{return D(u,Z,C)},u.defaultValue)}else if(B===void 0)B=[]}else if(E<this.args.length){if(B=this.args[E],u.parseArg)B=D(u,B,u.defaultValue)}F[E]=B}),this.processedArgs=F}_chainOrCall(D,F){if(D?.then&&typeof D.then==="function")return D.then(()=>F());return F()}_chainOrCallHooks(D,F){let u=D,E=[];if(this._getCommandAndAncestors().reverse().filter((B)=>B._lifeCycleHooks[F]!==void 0).forEach((B)=>{B._lifeCycleHooks[F].forEach((C)=>{E.push({hookedCommand:B,callback:C})})}),F==="postAction")E.reverse();return E.forEach((B)=>{u=this._chainOrCall(u,()=>{return B.callback(B.hookedCommand,this)})}),u}_chainOrCallSubCommandHook(D,F,u){let E=D;if(this._lifeCycleHooks[u]!==void 0)this._lifeCycleHooks[u].forEach((B)=>{E=this._chainOrCall(E,()=>{return B(this,F)})});return E}_parseCommand(D,F){let u=this.parseOptions(F);if(this._parseOptionsEnv(),this._parseOptionsImplied(),D=D.concat(u.operands),F=u.unknown,this.args=D.concat(F),D&&this._findCommand(D[0]))return this._dispatchSubcommand(D[0],D.slice(1),F);if(this._getHelpCommand()&&D[0]===this._getHelpCommand().name())return this._dispatchHelpCommand(D[1]);if(this._defaultCommandName)return this._outputHelpIfRequested(F),this._dispatchSubcommand(this._defaultCommandName,D,F);if(this.commands.length&&this.args.length===0&&!this._actionHandler&&!this._defaultCommandName)this.help({error:!0});this._outputHelpIfRequested(u.unknown),this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let E=()=>{if(u.unknown.length>0)this.unknownOption(u.unknown[0])},B=`command:${this.name()}`;if(this._actionHandler){E(),this._processArguments();let C;if(C=this._chainOrCallHooks(C,"preAction"),C=this._chainOrCall(C,()=>this._actionHandler(this.processedArgs)),this.parent)C=this._chainOrCall(C,()=>{this.parent.emit(B,D,F)});return C=this._chainOrCallHooks(C,"postAction"),C}if(this.parent?.listenerCount(B))E(),this._processArguments(),this.parent.emit(B,D,F);else if(D.length){if(this._findCommand("*"))return this._dispatchSubcommand("*",D,F);if(this.listenerCount("command:*"))this.emit("command:*",D,F);else if(this.commands.length)this.unknownCommand();else E(),this._processArguments()}else if(this.commands.length)E(),this.help({error:!0});else E(),this._processArguments()}_findCommand(D){if(!D)return;return this.commands.find((F)=>F._name===D||F._aliases.includes(D))}_findOption(D){return this.options.find((F)=>F.is(D))}_checkForMissingMandatoryOptions(){this._getCommandAndAncestors().forEach((D)=>{D.options.forEach((F)=>{if(F.mandatory&&D.getOptionValue(F.attributeName())===void 0)D.missingMandatoryOptionValue(F)})})}_checkForConflictingLocalOptions(){let D=this.options.filter((u)=>{let E=u.attributeName();if(this.getOptionValue(E)===void 0)return!1;return this.getOptionValueSource(E)!=="default"});D.filter((u)=>u.conflictsWith.length>0).forEach((u)=>{let E=D.find((B)=>u.conflictsWith.includes(B.attributeName()));if(E)this._conflictingOption(u,E)})}_checkForConflictingOptions(){this._getCommandAndAncestors().forEach((D)=>{D._checkForConflictingLocalOptions()})}parseOptions(D){let F=[],u=[],E=F;function B(Y){return Y.length>1&&Y[0]==="-"}let C=(Y)=>{if(!/^-(\d+|\d*\.\d+)(e[+-]?\d+)?$/.test(Y))return!1;return!this._getCommandAndAncestors().some((H)=>H.options.map((G)=>G.short).some((G)=>/^-\d$/.test(G)))},Z=null,J=null,X=0;while(X<D.length||J){let Y=J??D[X++];if(J=null,Y==="--"){if(E===u)E.push(Y);E.push(...D.slice(X));break}if(Z&&(!B(Y)||C(Y))){this.emit(`option:${Z.name()}`,Y);continue}if(Z=null,B(Y)){let H=this._findOption(Y);if(H){if(H.required){let G=D[X++];if(G===void 0)this.optionMissingArgument(H);this.emit(`option:${H.name()}`,G)}else if(H.optional){let G=null;if(X<D.length&&(!B(D[X])||C(D[X])))G=D[X++];this.emit(`option:${H.name()}`,G)}else this.emit(`option:${H.name()}`);Z=H.variadic?H:null;continue}}if(Y.length>2&&Y[0]==="-"&&Y[1]!=="-"){let H=this._findOption(`-${Y[1]}`);if(H){if(H.required||H.optional&&this._combineFlagAndOptionalValue)this.emit(`option:${H.name()}`,Y.slice(2));else this.emit(`option:${H.name()}`),J=`-${Y.slice(2)}`;continue}}if(/^--[^=]+=/.test(Y)){let H=Y.indexOf("="),G=this._findOption(Y.slice(0,H));if(G&&(G.required||G.optional)){this.emit(`option:${G.name()}`,Y.slice(H+1));continue}}if(E===F&&B(Y)&&!(this.commands.length===0&&C(Y)))E=u;if((this._enablePositionalOptions||this._passThroughOptions)&&F.length===0&&u.length===0){if(this._findCommand(Y)){F.push(Y),u.push(...D.slice(X));break}else if(this._getHelpCommand()&&Y===this._getHelpCommand().name()){F.push(Y,...D.slice(X));break}else if(this._defaultCommandName){u.push(Y,...D.slice(X));break}}if(this._passThroughOptions){E.push(Y,...D.slice(X));break}E.push(Y)}return{operands:F,unknown:u}}opts(){if(this._storeOptionsAsProperties){let D={},F=this.options.length;for(let u=0;u<F;u++){let E=this.options[u].attributeName();D[E]=E===this._versionOptionName?this._version:this[E]}return D}return this._optionValues}optsWithGlobals(){return this._getCommandAndAncestors().reduce((D,F)=>Object.assign(D,F.opts()),{})}error(D,F){if(this._outputConfiguration.outputError(`${D}
27
+ - ${E}`;throw Error(Z)}_executeSubCommand(D,F){F=F.slice();let B=!1,E=[".js",".ts",".tsx",".mjs",".cjs"];function Z(X,C){let G=fD.resolve(X,C);if(g0.existsSync(G))return G;if(E.includes(fD.extname(C)))return;let u=E.find((q)=>g0.existsSync(`${G}${q}`));if(u)return`${G}${u}`;return}this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let J=D._executableFile||`${this._name}-${D._name}`,Y=this._executableDir||"";if(this._scriptPath){let X;try{X=g0.realpathSync(this._scriptPath)}catch{X=this._scriptPath}Y=fD.resolve(fD.dirname(X),Y)}if(Y){let X=Z(Y,J);if(!X&&!D._executableFile&&this._scriptPath){let C=fD.basename(this._scriptPath,fD.extname(this._scriptPath));if(C!==this._name)X=Z(Y,`${C}-${D._name}`)}J=X||J}B=E.includes(fD.extname(J));let H;if(c.platform!=="win32")if(B)F.unshift(J),F=Y8(c.execArgv).concat(F),H=QF.spawn(c.argv[0],F,{stdio:"inherit"});else H=QF.spawn(J,F,{stdio:"inherit"});else this._checkForMissingExecutable(J,Y,D._name),F.unshift(J),F=Y8(c.execArgv).concat(F),H=QF.spawn(c.execPath,F,{stdio:"inherit"});if(!H.killed)["SIGUSR1","SIGUSR2","SIGTERM","SIGINT","SIGHUP"].forEach((C)=>{c.on(C,()=>{if(H.killed===!1&&H.exitCode===null)H.kill(C)})});let Q=this._exitCallback;H.on("close",(X)=>{if(X=X??1,!Q)c.exit(X);else Q(new CF(X,"commander.executeSubCommandAsync","(close)"))}),H.on("error",(X)=>{if(X.code==="ENOENT")this._checkForMissingExecutable(J,Y,D._name);else if(X.code==="EACCES")throw Error(`'${J}' not executable`);if(!Q)c.exit(1);else{let C=new CF(1,"commander.executeSubCommandAsync","(error)");C.nestedError=X,Q(C)}}),this.runningCommand=H}_dispatchSubcommand(D,F,B){let E=this._findCommand(D);if(!E)this.help({error:!0});E._prepareForParse();let Z;return Z=this._chainOrCallSubCommandHook(Z,E,"preSubcommand"),Z=this._chainOrCall(Z,()=>{if(E._executableHandler)this._executeSubCommand(E,F.concat(B));else return E._parseCommand(F,B)}),Z}_dispatchHelpCommand(D){if(!D)this.help();let F=this._findCommand(D);if(F&&!F._executableHandler)F.help();return this._dispatchSubcommand(D,[],[this._getHelpOption()?.long??this._getHelpOption()?.short??"--help"])}_checkNumberOfArguments(){if(this.registeredArguments.forEach((D,F)=>{if(D.required&&this.args[F]==null)this.missingArgument(D.name())}),this.registeredArguments.length>0&&this.registeredArguments[this.registeredArguments.length-1].variadic)return;if(this.args.length>this.registeredArguments.length)this._excessArguments(this.args)}_processArguments(){let D=(B,E,Z)=>{let J=E;if(E!==null&&B.parseArg){let Y=`error: command-argument value '${E}' is invalid for argument '${B.name()}'.`;J=this._callParseArg(B,E,Z,Y)}return J};this._checkNumberOfArguments();let F=[];this.registeredArguments.forEach((B,E)=>{let Z=B.defaultValue;if(B.variadic){if(E<this.args.length){if(Z=this.args.slice(E),B.parseArg)Z=Z.reduce((J,Y)=>{return D(B,Y,J)},B.defaultValue)}else if(Z===void 0)Z=[]}else if(E<this.args.length){if(Z=this.args[E],B.parseArg)Z=D(B,Z,B.defaultValue)}F[E]=Z}),this.processedArgs=F}_chainOrCall(D,F){if(D?.then&&typeof D.then==="function")return D.then(()=>F());return F()}_chainOrCallHooks(D,F){let B=D,E=[];if(this._getCommandAndAncestors().reverse().filter((Z)=>Z._lifeCycleHooks[F]!==void 0).forEach((Z)=>{Z._lifeCycleHooks[F].forEach((J)=>{E.push({hookedCommand:Z,callback:J})})}),F==="postAction")E.reverse();return E.forEach((Z)=>{B=this._chainOrCall(B,()=>{return Z.callback(Z.hookedCommand,this)})}),B}_chainOrCallSubCommandHook(D,F,B){let E=D;if(this._lifeCycleHooks[B]!==void 0)this._lifeCycleHooks[B].forEach((Z)=>{E=this._chainOrCall(E,()=>{return Z(this,F)})});return E}_parseCommand(D,F){let B=this.parseOptions(F);if(this._parseOptionsEnv(),this._parseOptionsImplied(),D=D.concat(B.operands),F=B.unknown,this.args=D.concat(F),D&&this._findCommand(D[0]))return this._dispatchSubcommand(D[0],D.slice(1),F);if(this._getHelpCommand()&&D[0]===this._getHelpCommand().name())return this._dispatchHelpCommand(D[1]);if(this._defaultCommandName)return this._outputHelpIfRequested(F),this._dispatchSubcommand(this._defaultCommandName,D,F);if(this.commands.length&&this.args.length===0&&!this._actionHandler&&!this._defaultCommandName)this.help({error:!0});this._outputHelpIfRequested(B.unknown),this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let E=()=>{if(B.unknown.length>0)this.unknownOption(B.unknown[0])},Z=`command:${this.name()}`;if(this._actionHandler){E(),this._processArguments();let J;if(J=this._chainOrCallHooks(J,"preAction"),J=this._chainOrCall(J,()=>this._actionHandler(this.processedArgs)),this.parent)J=this._chainOrCall(J,()=>{this.parent.emit(Z,D,F)});return J=this._chainOrCallHooks(J,"postAction"),J}if(this.parent?.listenerCount(Z))E(),this._processArguments(),this.parent.emit(Z,D,F);else if(D.length){if(this._findCommand("*"))return this._dispatchSubcommand("*",D,F);if(this.listenerCount("command:*"))this.emit("command:*",D,F);else if(this.commands.length)this.unknownCommand();else E(),this._processArguments()}else if(this.commands.length)E(),this.help({error:!0});else E(),this._processArguments()}_findCommand(D){if(!D)return;return this.commands.find((F)=>F._name===D||F._aliases.includes(D))}_findOption(D){return this.options.find((F)=>F.is(D))}_checkForMissingMandatoryOptions(){this._getCommandAndAncestors().forEach((D)=>{D.options.forEach((F)=>{if(F.mandatory&&D.getOptionValue(F.attributeName())===void 0)D.missingMandatoryOptionValue(F)})})}_checkForConflictingLocalOptions(){let D=this.options.filter((B)=>{let E=B.attributeName();if(this.getOptionValue(E)===void 0)return!1;return this.getOptionValueSource(E)!=="default"});D.filter((B)=>B.conflictsWith.length>0).forEach((B)=>{let E=D.find((Z)=>B.conflictsWith.includes(Z.attributeName()));if(E)this._conflictingOption(B,E)})}_checkForConflictingOptions(){this._getCommandAndAncestors().forEach((D)=>{D._checkForConflictingLocalOptions()})}parseOptions(D){let F=[],B=[],E=F;function Z(X){return X.length>1&&X[0]==="-"}let J=(X)=>{if(!/^-(\d+|\d*\.\d+)(e[+-]?\d+)?$/.test(X))return!1;return!this._getCommandAndAncestors().some((C)=>C.options.map((G)=>G.short).some((G)=>/^-\d$/.test(G)))},Y=null,H=null,Q=0;while(Q<D.length||H){let X=H??D[Q++];if(H=null,X==="--"){if(E===B)E.push(X);E.push(...D.slice(Q));break}if(Y&&(!Z(X)||J(X))){this.emit(`option:${Y.name()}`,X);continue}if(Y=null,Z(X)){let C=this._findOption(X);if(C){if(C.required){let G=D[Q++];if(G===void 0)this.optionMissingArgument(C);this.emit(`option:${C.name()}`,G)}else if(C.optional){let G=null;if(Q<D.length&&(!Z(D[Q])||J(D[Q])))G=D[Q++];this.emit(`option:${C.name()}`,G)}else this.emit(`option:${C.name()}`);Y=C.variadic?C:null;continue}}if(X.length>2&&X[0]==="-"&&X[1]!=="-"){let C=this._findOption(`-${X[1]}`);if(C){if(C.required||C.optional&&this._combineFlagAndOptionalValue)this.emit(`option:${C.name()}`,X.slice(2));else this.emit(`option:${C.name()}`),H=`-${X.slice(2)}`;continue}}if(/^--[^=]+=/.test(X)){let C=X.indexOf("="),G=this._findOption(X.slice(0,C));if(G&&(G.required||G.optional)){this.emit(`option:${G.name()}`,X.slice(C+1));continue}}if(E===F&&Z(X)&&!(this.commands.length===0&&J(X)))E=B;if((this._enablePositionalOptions||this._passThroughOptions)&&F.length===0&&B.length===0){if(this._findCommand(X)){F.push(X),B.push(...D.slice(Q));break}else if(this._getHelpCommand()&&X===this._getHelpCommand().name()){F.push(X,...D.slice(Q));break}else if(this._defaultCommandName){B.push(X,...D.slice(Q));break}}if(this._passThroughOptions){E.push(X,...D.slice(Q));break}E.push(X)}return{operands:F,unknown:B}}opts(){if(this._storeOptionsAsProperties){let D={},F=this.options.length;for(let B=0;B<F;B++){let E=this.options[B].attributeName();D[E]=E===this._versionOptionName?this._version:this[E]}return D}return this._optionValues}optsWithGlobals(){return this._getCommandAndAncestors().reduce((D,F)=>Object.assign(D,F.opts()),{})}error(D,F){if(this._outputConfiguration.outputError(`${D}
70
28
  `,this._outputConfiguration.writeErr),typeof this._showHelpAfterError==="string")this._outputConfiguration.writeErr(`${this._showHelpAfterError}
71
29
  `);else if(this._showHelpAfterError)this._outputConfiguration.writeErr(`
72
- `),this.outputHelp({error:!0});let u=F||{},E=u.exitCode||1,B=u.code||"commander.error";this._exit(E,B,D)}_parseOptionsEnv(){this.options.forEach((D)=>{if(D.envVar&&D.envVar in o.env){let F=D.attributeName();if(this.getOptionValue(F)===void 0||["default","config","env"].includes(this.getOptionValueSource(F)))if(D.required||D.optional)this.emit(`optionEnv:${D.name()}`,o.env[D.envVar]);else this.emit(`optionEnv:${D.name()}`)}})}_parseOptionsImplied(){let D=new Fq(this.options),F=(u)=>{return this.getOptionValue(u)!==void 0&&!["default","implied"].includes(this.getOptionValueSource(u))};this.options.filter((u)=>u.implied!==void 0&&F(u.attributeName())&&D.valueFromOption(this.getOptionValue(u.attributeName()),u)).forEach((u)=>{Object.keys(u.implied).filter((E)=>!F(E)).forEach((E)=>{this.setOptionValueWithSource(E,u.implied[E],"implied")})})}missingArgument(D){let F=`error: missing required argument '${D}'`;this.error(F,{code:"commander.missingArgument"})}optionMissingArgument(D){let F=`error: option '${D.flags}' argument missing`;this.error(F,{code:"commander.optionMissingArgument"})}missingMandatoryOptionValue(D){let F=`error: required option '${D.flags}' not specified`;this.error(F,{code:"commander.missingMandatoryOptionValue"})}_conflictingOption(D,F){let u=(C)=>{let Z=C.attributeName(),J=this.getOptionValue(Z),X=this.options.find((H)=>H.negate&&Z===H.attributeName()),Y=this.options.find((H)=>!H.negate&&Z===H.attributeName());if(X&&(X.presetArg===void 0&&J===!1||X.presetArg!==void 0&&J===X.presetArg))return X;return Y||C},E=(C)=>{let Z=u(C),J=Z.attributeName();if(this.getOptionValueSource(J)==="env")return`environment variable '${Z.envVar}'`;return`option '${Z.flags}'`},B=`error: ${E(D)} cannot be used with ${E(F)}`;this.error(B,{code:"commander.conflictingOption"})}unknownOption(D){if(this._allowUnknownOption)return;let F="";if(D.startsWith("--")&&this._showSuggestionAfterError){let E=[],B=this;do{let C=B.createHelp().visibleOptions(B).filter((Z)=>Z.long).map((Z)=>Z.long);E=E.concat(C),B=B.parent}while(B&&!B._enablePositionalOptions);F=tB(D,E)}let u=`error: unknown option '${D}'${F}`;this.error(u,{code:"commander.unknownOption"})}_excessArguments(D){if(this._allowExcessArguments)return;let F=this.registeredArguments.length,u=F===1?"":"s",B=`error: too many arguments${this.parent?` for '${this.name()}'`:""}. Expected ${F} argument${u} but got ${D.length}.`;this.error(B,{code:"commander.excessArguments"})}unknownCommand(){let D=this.args[0],F="";if(this._showSuggestionAfterError){let E=[];this.createHelp().visibleCommands(this).forEach((B)=>{if(E.push(B.name()),B.alias())E.push(B.alias())}),F=tB(D,E)}let u=`error: unknown command '${D}'${F}`;this.error(u,{code:"commander.unknownCommand"})}version(D,F,u){if(D===void 0)return this._version;this._version=D,F=F||"-V, --version",u=u||"output the version number";let E=this.createOption(F,u);return this._versionOptionName=E.attributeName(),this._registerOption(E),this.on("option:"+E.name(),()=>{this._outputConfiguration.writeOut(`${D}
73
- `),this._exit(0,"commander.version",D)}),this}description(D,F){if(D===void 0&&F===void 0)return this._description;if(this._description=D,F)this._argsDescription=F;return this}summary(D){if(D===void 0)return this._summary;return this._summary=D,this}alias(D){if(D===void 0)return this._aliases[0];let F=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler)F=this.commands[this.commands.length-1];if(D===F._name)throw Error("Command alias can't be the same as its name");let u=this.parent?._findCommand(D);if(u){let E=[u.name()].concat(u.aliases()).join("|");throw Error(`cannot add alias '${D}' to command '${this.name()}' as already have command '${E}'`)}return F._aliases.push(D),this}aliases(D){if(D===void 0)return this._aliases;return D.forEach((F)=>this.alias(F)),this}usage(D){if(D===void 0){if(this._usage)return this._usage;let F=this.registeredArguments.map((u)=>{return tz(u)});return[].concat(this.options.length||this._helpOption!==null?"[options]":[],this.commands.length?"[command]":[],this.registeredArguments.length?F:[]).join(" ")}return this._usage=D,this}name(D){if(D===void 0)return this._name;return this._name=D,this}helpGroup(D){if(D===void 0)return this._helpGroupHeading??"";return this._helpGroupHeading=D,this}commandsGroup(D){if(D===void 0)return this._defaultCommandGroup??"";return this._defaultCommandGroup=D,this}optionsGroup(D){if(D===void 0)return this._defaultOptionGroup??"";return this._defaultOptionGroup=D,this}_initOptionGroup(D){if(this._defaultOptionGroup&&!D.helpGroupHeading)D.helpGroup(this._defaultOptionGroup)}_initCommandGroup(D){if(this._defaultCommandGroup&&!D.helpGroup())D.helpGroup(this._defaultCommandGroup)}nameFromFilename(D){return this._name=G0.basename(D,G0.extname(D)),this}executableDir(D){if(D===void 0)return this._executableDir;return this._executableDir=D,this}helpInformation(D){let F=this.createHelp(),u=this._getOutputContext(D);F.prepareContext({error:u.error,helpWidth:u.helpWidth,outputHasColors:u.hasColors});let E=F.formatHelp(this,F);if(u.hasColors)return E;return this._outputConfiguration.stripColor(E)}_getOutputContext(D){D=D||{};let F=!!D.error,u,E,B;if(F)u=(Z)=>this._outputConfiguration.writeErr(Z),E=this._outputConfiguration.getErrHasColors(),B=this._outputConfiguration.getErrHelpWidth();else u=(Z)=>this._outputConfiguration.writeOut(Z),E=this._outputConfiguration.getOutHasColors(),B=this._outputConfiguration.getOutHelpWidth();return{error:F,write:(Z)=>{if(!E)Z=this._outputConfiguration.stripColor(Z);return u(Z)},hasColors:E,helpWidth:B}}outputHelp(D){let F;if(typeof D==="function")F=D,D=void 0;let u=this._getOutputContext(D),E={error:u.error,write:u.write,command:this};this._getCommandAndAncestors().reverse().forEach((C)=>C.emit("beforeAllHelp",E)),this.emit("beforeHelp",E);let B=this.helpInformation({error:u.error});if(F){if(B=F(B),typeof B!=="string"&&!Buffer.isBuffer(B))throw Error("outputHelp callback must return a string or a Buffer")}if(u.write(B),this._getHelpOption()?.long)this.emit(this._getHelpOption().long);this.emit("afterHelp",E),this._getCommandAndAncestors().forEach((C)=>C.emit("afterAllHelp",E))}helpOption(D,F){if(typeof D==="boolean"){if(D){if(this._helpOption===null)this._helpOption=void 0;if(this._defaultOptionGroup)this._initOptionGroup(this._getHelpOption())}else this._helpOption=null;return this}if(this._helpOption=this.createOption(D??"-h, --help",F??"display help for command"),D||F)this._initOptionGroup(this._helpOption);return this}_getHelpOption(){if(this._helpOption===void 0)this.helpOption(void 0,void 0);return this._helpOption}addHelpOption(D){return this._helpOption=D,this._initOptionGroup(D),this}help(D){this.outputHelp(D);let F=Number(o.exitCode??0);if(F===0&&D&&typeof D!=="function"&&D.error)F=1;this._exit(F,"commander.help","(outputHelp)")}addHelpText(D,F){let u=["beforeAll","before","after","afterAll"];if(!u.includes(D))throw Error(`Unexpected value for position to addHelpText.
74
- Expecting one of '${u.join("', '")}'`);let E=`${D}Help`;return this.on(E,(B)=>{let C;if(typeof F==="function")C=F({error:B.error,command:B.command});else C=F;if(C)B.write(`${C}
75
- `)}),this}_outputHelpIfRequested(D){let F=this._getHelpOption();if(F&&D.find((E)=>F.is(E)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}function eB(D){return D.map((F)=>{if(!F.startsWith("--inspect"))return F;let u,E="127.0.0.1",B="9229",C;if((C=F.match(/^(--inspect(-brk)?)$/))!==null)u=C[1];else if((C=F.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null)if(u=C[1],/^\d+$/.test(C[3]))B=C[3];else E=C[3];else if((C=F.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null)u=C[1],E=C[3],B=C[4];if(u&&B!=="0")return`${u}=${E}:${parseInt(B)+1}`;return F})}function zu(){if(o.env.NO_COLOR||o.env.FORCE_COLOR==="0"||o.env.FORCE_COLOR==="false")return!1;if(o.env.FORCE_COLOR||o.env.CLICOLOR_FORCE!==void 0)return!0;return}uq.Command=qu;uq.useColor=zu});var Uu=T((Jq)=>{var{Argument:FC}=L8(),{Command:Au}=DC(),{CommanderError:Cq,InvalidArgumentError:uC}=D2(),{Help:Zq}=Xu(),{Option:EC}=Gu();Jq.program=new Au;Jq.createCommand=(D)=>new Au(D);Jq.createOption=(D,F)=>new EC(D,F);Jq.createArgument=(D,F)=>new FC(D,F);Jq.Command=Au;Jq.Option=EC;Jq.Argument=FC;Jq.Help=Zq;Jq.CommanderError=Cq;Jq.InvalidArgumentError=uC;Jq.InvalidOptionArgumentError=uC});var CC=T((bD,BC)=>{var nD=Uu();bD=BC.exports={};bD.program=new nD.Command;bD.Argument=nD.Argument;bD.Command=nD.Command;bD.CommanderError=nD.CommanderError;bD.Help=nD.Help;bD.InvalidArgumentError=nD.InvalidArgumentError;bD.InvalidOptionArgumentError=nD.InvalidArgumentError;bD.Option=nD.Option;bD.createCommand=(D)=>new nD.Command(D);bD.createOption=(D,F)=>new nD.Option(D,F);bD.createArgument=(D,F)=>new nD.Argument(D,F)});var Pu=T((Y_,kC)=>{var Su={to(D,F){if(!F)return`\x1B[${D+1}G`;return`\x1B[${F+1};${D+1}H`},move(D,F){let u="";if(D<0)u+=`\x1B[${-D}D`;else if(D>0)u+=`\x1B[${D}C`;if(F<0)u+=`\x1B[${-F}A`;else if(F>0)u+=`\x1B[${F}B`;return u},up:(D=1)=>`\x1B[${D}A`,down:(D=1)=>`\x1B[${D}B`,forward:(D=1)=>`\x1B[${D}C`,backward:(D=1)=>`\x1B[${D}D`,nextLine:(D=1)=>"\x1B[E".repeat(D),prevLine:(D=1)=>"\x1B[F".repeat(D),left:"\x1B[G",hide:"\x1B[?25l",show:"\x1B[?25h",save:"\x1B7",restore:"\x1B8"},oq={up:(D=1)=>"\x1B[S".repeat(D),down:(D=1)=>"\x1B[T".repeat(D)},tq={screen:"\x1B[2J",up:(D=1)=>"\x1B[1J".repeat(D),down:(D=1)=>"\x1B[J".repeat(D),line:"\x1B[2K",lineEnd:"\x1B[K",lineStart:"\x1B[1K",lines(D){let F="";for(let u=0;u<D;u++)F+=this.line+(u<D-1?Su.up():"");if(D)F+=Su.left;return F}};kC.exports={cursor:Su,scroll:oq,erase:tq,beep:"\x07"}});class IF extends Error{envName;constructor(D){super(`Not authenticated for backend "${D}".`);this.envName=D;this.name="NotAuthenticatedError"}}class a0 extends Error{constructor(){super("Authorization was denied.");this.name="DeviceFlowDenied"}}class L0 extends Error{constructor(){super("Device code expired.");this.name="DeviceFlowExpired"}}class d extends Error{envName;constructor(D){super(`Session expired for "${D}".`);this.envName=D;this.name="SessionExpiredError"}}var I9=HD(N9(),1),QD=HD(f3(),1),A={bold:QD.default.bold,dim:QD.default.dim,italic:QD.default.italic,underline:QD.default.underline,cyan:QD.default.cyan,green:QD.default.green,yellow:QD.default.yellow,red:QD.default.red,gray:QD.default.gray,blue:QD.default.blue,magenta:QD.default.magenta,success:(D)=>QD.default.green(`✓ ${D}`),error:(D)=>QD.default.red(`✗ ${D}`),info:(D)=>QD.default.cyan(`◆ ${D}`),warn:(D)=>QD.default.yellow(`! ${D}`),hint:(D)=>QD.default.dim(D)};function hD(D,F){let u=new I9.default({head:D.map((E)=>A.bold(E)),style:{head:[],border:["gray"]}});for(let E of F)u.push(E);console.log(u.toString())}function a(D){console.log(JSON.stringify(D,null,2))}function h(D){if(D instanceof Error)return D.message;if(typeof D==="string")return D;if(typeof D==="object"&&D!==null){let F=D,u=F.status?` [${F.status}]`:"";if(typeof F.value==="string")return F.value+u;if(typeof F.value==="object"&&F.value!==null){let E=F.value;if(E.error)return String(E.error)+u;if(E.message)return String(E.message)+u}return JSON.stringify(F.value??D)+u}return String(D)}function V(D,F={}){if(console.error(A.error(D)),F.hint)console.error(A.hint(` Hint: ${F.hint}`));if(F.context)console.error(A.dim(` ${F.context}`));process.exit(F.code??1)}import d0 from"node:process";import{spawn as Vz}from"node:child_process";import{fileURLToPath as Iz}from"node:url";import hB from"node:path";import{format as Ju}from"node:util";var SF=HD(w9(),1);import jF from"node:path";import PY from"node:os";import NY from"os";import j2 from"path";var q0=NY.homedir(),{env:S0}=process,x9=S0.XDG_DATA_HOME||(q0?j2.join(q0,".local","share"):void 0),t0=S0.XDG_CONFIG_HOME||(q0?j2.join(q0,".config"):void 0),LN=S0.XDG_STATE_HOME||(q0?j2.join(q0,".local","state"):void 0),RN=S0.XDG_CACHE_HOME||(q0?j2.join(q0,".cache"):void 0),jN=S0.XDG_RUNTIME_DIR||void 0,$Y=(S0.XDG_DATA_DIRS||"/usr/local/share/:/usr/share/").split(":");if(x9)$Y.unshift(x9);var VY=(S0.XDG_CONFIG_DIRS||"/etc/xdg").split(":");if(t0)VY.unshift(t0);import jY from"node:path";import r from"node:fs";import{promisify as ND}from"node:util";var IY=(D,F)=>{let{onError:u}=F;return function(...B){return D.apply(void 0,B).catch(u)}},eD=IY;var MY=(D,F)=>{let{onError:u}=F;return function(...B){try{return D.apply(void 0,B)}catch(C){return u(C)}}},lD=MY;var k9=250;var TY=(D,F)=>{let{isRetriable:u}=F;return function(B){let{timeout:C}=B,Z=B.interval??k9,J=Date.now()+C;return function X(...Y){return D.apply(void 0,Y).catch((H)=>{if(!u(H))throw H;if(Date.now()>=J)throw H;let G=Math.round(Z*Math.random());if(G>0)return new Promise((Q)=>setTimeout(Q,G)).then(()=>X.apply(void 0,Y));else return X.apply(void 0,Y)})}}},D0=TY;var OY=(D,F)=>{let{isRetriable:u}=F;return function(B){let{timeout:C}=B,Z=Date.now()+C;return function(...X){while(!0)try{return D.apply(void 0,X)}catch(Y){if(!u(Y))throw Y;if(Date.now()>=Z)throw Y;continue}}}},F0=OY;import b9 from"node:process";var _F={isChangeErrorOk:(D)=>{if(!_F.isNodeError(D))return!1;let{code:F}=D;if(F==="ENOSYS")return!0;if(!y9&&(F==="EINVAL"||F==="EPERM"))return!0;return!1},isNodeError:(D)=>{return D instanceof Error},isRetriableError:(D)=>{if(!_F.isNodeError(D))return!1;let{code:F}=D;if(F==="EMFILE"||F==="ENFILE"||F==="EAGAIN"||F==="EBUSY"||F==="EACCESS"||F==="EACCES"||F==="EACCS"||F==="EPERM")return!0;return!1},onChangeError:(D)=>{if(!_F.isNodeError(D))throw D;if(_F.isChangeErrorOk(D))return;throw D}},d3=_F;var LF={onError:d3.onChangeError},SD={onError:()=>{return}},y9=b9.getuid?!b9.getuid():!1,zD={isRetriable:d3.isRetriableError};var _Y={attempt:{chmod:eD(ND(r.chmod),LF),chown:eD(ND(r.chown),LF),close:eD(ND(r.close),SD),fsync:eD(ND(r.fsync),SD),mkdir:eD(ND(r.mkdir),SD),realpath:eD(ND(r.realpath),SD),stat:eD(ND(r.stat),SD),unlink:eD(ND(r.unlink),SD),chmodSync:lD(r.chmodSync,LF),chownSync:lD(r.chownSync,LF),closeSync:lD(r.closeSync,SD),existsSync:lD(r.existsSync,SD),fsyncSync:lD(r.fsync,SD),mkdirSync:lD(r.mkdirSync,SD),realpathSync:lD(r.realpathSync,SD),statSync:lD(r.statSync,SD),unlinkSync:lD(r.unlinkSync,SD)},retry:{close:D0(ND(r.close),zD),fsync:D0(ND(r.fsync),zD),open:D0(ND(r.open),zD),readFile:D0(ND(r.readFile),zD),rename:D0(ND(r.rename),zD),stat:D0(ND(r.stat),zD),write:D0(ND(r.write),zD),writeFile:D0(ND(r.writeFile),zD),closeSync:F0(r.closeSync,zD),fsyncSync:F0(r.fsyncSync,zD),openSync:F0(r.openSync,zD),readFileSync:F0(r.readFileSync,zD),renameSync:F0(r.renameSync,zD),statSync:F0(r.statSync,zD),writeSync:F0(r.writeSync,zD),writeFileSync:F0(r.writeFileSync,zD)}},XD=_Y;import P0 from"node:process";var f9="utf8",c3=438,v9=511;var h9={},g9=P0.geteuid?P0.geteuid():-1,m9=P0.getegid?P0.getegid():-1;var d9=1000,c9=!!P0.getuid,D$=P0.getuid?!P0.getuid():!1,l3=128;var l9=(D)=>{return D instanceof Error&&"code"in D};var p3=(D)=>{return typeof D==="string"},S2=(D)=>{return D===void 0};import RY from"node:path";import e0 from"node:process";import p9 from"node:process";var i9=p9.platform==="linux",P2=p9.platform==="win32";var i3=["SIGHUP","SIGINT","SIGTERM"];if(!P2)i3.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");if(i9)i3.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var n9=i3;class a9{constructor(){this.callbacks=new Set,this.exited=!1,this.exit=(D)=>{if(this.exited)return;this.exited=!0;for(let F of this.callbacks)F();if(D)if(P2&&(D!=="SIGINT"&&D!=="SIGTERM"&&D!=="SIGKILL"))e0.kill(e0.pid,"SIGTERM");else e0.kill(e0.pid,D)},this.hook=()=>{e0.once("exit",()=>this.exit());for(let D of n9)try{e0.once(D,()=>this.exit(D))}catch{}},this.register=(D)=>{return this.callbacks.add(D),()=>{this.callbacks.delete(D)}},this.hook()}}var r9=new a9;var LY=r9.register,s9=LY;var xD={store:{},create:(D)=>{let F=`000000${Math.floor(Math.random()*16777215).toString(16)}`.slice(-6),u=Date.now().toString().slice(-10),E="tmp-",B=`.tmp-${u}${F}`;return`${D}${B}`},get:(D,F,u=!0)=>{let E=xD.truncate(F(D));if(E in xD.store)return xD.get(D,F,u);return xD.store[E]=u,[E,()=>delete xD.store[E]]},purge:(D)=>{if(!xD.store[D])return;delete xD.store[D],XD.attempt.unlink(D)},purgeSync:(D)=>{if(!xD.store[D])return;delete xD.store[D],XD.attempt.unlinkSync(D)},purgeSyncAll:()=>{for(let D in xD.store)xD.purgeSync(D)},truncate:(D)=>{let F=RY.basename(D);if(F.length<=l3)return D;let u=/^(\.?)(.*?)((?:\.[^.]+)?(?:\.tmp-\d{10}[a-f0-9]{6})?)$/.exec(F);if(!u)return D;let E=F.length-l3;return`${D.slice(0,-F.length)}${u[1]}${u[2].slice(0,-E)}${u[3]}`}};s9(xD.purgeSyncAll);var RF=xD;function w2(D,F,u=h9){if(p3(u))return w2(D,F,{encoding:u});let B={timeout:u.timeout??d9},C=null,Z=null,J=null;try{let X=XD.attempt.realpathSync(D),Y=!!X;D=X||D,[Z,C]=RF.get(D,u.tmpCreate||RF.create,u.tmpPurge!==!1);let H=c9&&S2(u.chown),G=S2(u.mode);if(Y&&(H||G)){let K=XD.attempt.statSync(D);if(K){if(u={...u},H)u.chown={uid:K.uid,gid:K.gid};if(G)u.mode=K.mode}}if(!Y){let K=jY.dirname(D);XD.attempt.mkdirSync(K,{mode:v9,recursive:!0})}if(J=XD.retry.openSync(B)(Z,"w",u.mode||c3),u.tmpCreated)u.tmpCreated(Z);if(p3(F))XD.retry.writeSync(B)(J,F,0,u.encoding||f9);else if(!S2(F))XD.retry.writeSync(B)(J,F,0,F.length,0);if(u.fsync!==!1)if(u.fsyncWait!==!1)XD.retry.fsyncSync(B)(J);else XD.attempt.fsync(J);if(XD.retry.closeSync(B)(J),J=null,u.chown&&(u.chown.uid!==g9||u.chown.gid!==m9))XD.attempt.chownSync(Z,u.chown.uid,u.chown.gid);if(u.mode&&u.mode!==c3)XD.attempt.chmodSync(Z,u.mode);try{XD.retry.renameSync(B)(Z,D)}catch(K){if(!l9(K))throw K;if(K.code!=="ENAMETOOLONG")throw K;XD.retry.renameSync(B)(Z,RF.truncate(D))}C(),Z=null}finally{if(J)XD.attempt.closeSync(J);if(Z)RF.purge(Z)}}var w0=(D)=>{let F=typeof D;return D!==null&&(F==="object"||F==="function")};var n3=new Set(["__proto__","prototype","constructor"]),SY=new Set("0123456789");function x2(D){let F=[],u="",E="start",B=!1;for(let C of D)switch(C){case"\\":{if(E==="index")throw Error("Invalid character in an index");if(E==="indexEnd")throw Error("Invalid character after an index");if(B)u+=C;E="property",B=!B;break}case".":{if(E==="index")throw Error("Invalid character in an index");if(E==="indexEnd"){E="property";break}if(B){B=!1,u+=C;break}if(n3.has(u))return[];F.push(u),u="",E="property";break}case"[":{if(E==="index")throw Error("Invalid character in an index");if(E==="indexEnd"){E="index";break}if(B){B=!1,u+=C;break}if(E==="property"){if(n3.has(u))return[];F.push(u),u=""}E="index";break}case"]":{if(E==="index"){F.push(Number.parseInt(u,10)),u="",E="indexEnd";break}if(E==="indexEnd")throw Error("Invalid character after an index")}default:{if(E==="index"&&!SY.has(C))throw Error("Invalid character in an index");if(E==="indexEnd")throw Error("Invalid character after an index");if(E==="start")E="property";if(B)B=!1,u+="\\";u+=C}}if(B)u+="\\";switch(E){case"property":{if(n3.has(u))return[];F.push(u);break}case"index":throw Error("Index was not closed");case"start":{F.push("");break}}return F}function a3(D,F){if(typeof F!=="number"&&Array.isArray(D)){let u=Number.parseInt(F,10);return Number.isInteger(u)&&D[u]===D[F]}return!1}function o9(D,F){if(a3(D,F))throw Error("Cannot use string index")}function t9(D,F,u){if(!w0(D)||typeof F!=="string")return u===void 0?D:u;let E=x2(F);if(E.length===0)return u;for(let B=0;B<E.length;B++){let C=E[B];if(a3(D,C))D=B===E.length-1?void 0:null;else D=D[C];if(D===void 0||D===null){if(B!==E.length-1)return u;break}}return D===void 0?u:D}function r3(D,F,u){if(!w0(D)||typeof F!=="string")return D;let E=D,B=x2(F);for(let C=0;C<B.length;C++){let Z=B[C];if(o9(D,Z),C===B.length-1)D[Z]=u;else if(!w0(D[Z]))D[Z]=typeof B[C+1]==="number"?[]:{};D=D[Z]}return E}function e9(D,F){if(!w0(D)||typeof F!=="string")return!1;let u=x2(F);for(let E=0;E<u.length;E++){let B=u[E];if(o9(D,B),E===u.length-1)return delete D[B],!0;if(D=D[B],!w0(D))return!1}}function D7(D,F){if(!w0(D)||typeof F!=="string")return!1;let u=x2(F);if(u.length===0)return!1;for(let E of u){if(!w0(D)||!(E in D)||a3(D,E))return!1;D=D[E]}return!0}function wY(D,F){let u=F?jF.join(D,"config.json"):jF.join("configstore",`${D}.json`),E=t0??SF.default.mkdtempSync(SF.default.realpathSync(PY.tmpdir())+jF.sep);return jF.join(E,u)}var xY="You don't have access to this file.",kY={mode:448,recursive:!0},F7={mode:384};function u7(D){if(D.code==="EACCES")D.message=`${D.message}
76
- ${xY}
77
- `;throw D}class k2{constructor(D,F,u={}){if(this._path=u.configPath??wY(D,u.globalConfigPath),this._clearInvalidConfig=u.clearInvalidConfig??!0,F)this.all={...F,...this.all}}get all(){try{return JSON.parse(SF.default.readFileSync(this._path,"utf8"))}catch(D){if(D.code==="ENOENT")return{};if(D.name==="SyntaxError"){if(this._clearInvalidConfig)return w2(this._path,"",F7),{};throw D}return u7(D),{}}}set all(D){try{SF.default.mkdirSync(jF.dirname(this._path),kY),w2(this._path,JSON.stringify(D,void 0,"\t"),F7)}catch(F){u7(F)}}get size(){return Object.keys(this.all||{}).length}get(D){return t9(this.all,D)}set(D,F){let u=this.all;if(typeof D==="object"&&arguments.length===1)for(let E of Object.keys(D))r3(u,E,D[E]);else r3(u,D,F);this.all=u}has(D){return D7(this.all,D)}delete(D){let F=this.all;e9(F,D),this.all=F}clear(){this.all={}}get path(){return this._path}}var E7=(D=0)=>(F)=>`\x1B[${F+D}m`,B7=(D=0)=>(F)=>`\x1B[${38+D};5;${F}m`,C7=(D=0)=>(F,u,E)=>`\x1B[${38+D};2;${F};${u};${E}m`,uD={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},v$=Object.keys(uD.modifier),yY=Object.keys(uD.color),bY=Object.keys(uD.bgColor),h$=[...yY,...bY];function fY(){let D=new Map;for(let[F,u]of Object.entries(uD)){for(let[E,B]of Object.entries(u))uD[E]={open:`\x1B[${B[0]}m`,close:`\x1B[${B[1]}m`},u[E]=uD[E],D.set(B[0],B[1]);Object.defineProperty(uD,F,{value:u,enumerable:!1})}return Object.defineProperty(uD,"codes",{value:D,enumerable:!1}),uD.color.close="\x1B[39m",uD.bgColor.close="\x1B[49m",uD.color.ansi=E7(),uD.color.ansi256=B7(),uD.color.ansi16m=C7(),uD.bgColor.ansi=E7(10),uD.bgColor.ansi256=B7(10),uD.bgColor.ansi16m=C7(10),Object.defineProperties(uD,{rgbToAnsi256:{value(F,u,E){if(F===u&&u===E){if(F<8)return 16;if(F>248)return 231;return Math.round((F-8)/247*24)+232}return 16+36*Math.round(F/255*5)+6*Math.round(u/255*5)+Math.round(E/255*5)},enumerable:!1},hexToRgb:{value(F){let u=/[a-f\d]{6}|[a-f\d]{3}/i.exec(F.toString(16));if(!u)return[0,0,0];let[E]=u;if(E.length===3)E=[...E].map((C)=>C+C).join("");let B=Number.parseInt(E,16);return[B>>16&255,B>>8&255,B&255]},enumerable:!1},hexToAnsi256:{value:(F)=>uD.rgbToAnsi256(...uD.hexToRgb(F)),enumerable:!1},ansi256ToAnsi:{value(F){if(F<8)return 30+F;if(F<16)return 90+(F-8);let u,E,B;if(F>=232)u=((F-232)*10+8)/255,E=u,B=u;else{F-=16;let J=F%36;u=Math.floor(F/36)/5,E=Math.floor(J/6)/5,B=J%6/5}let C=Math.max(u,E,B)*2;if(C===0)return 30;let Z=30+(Math.round(B)<<2|Math.round(E)<<1|Math.round(u));if(C===2)Z+=60;return Z},enumerable:!1},rgbToAnsi:{value:(F,u,E)=>uD.ansi256ToAnsi(uD.rgbToAnsi256(F,u,E)),enumerable:!1},hexToAnsi:{value:(F)=>uD.ansi256ToAnsi(uD.hexToAnsi256(F)),enumerable:!1}}),uD}var vY=fY(),pD=vY;import s3 from"node:process";import hY from"node:os";import Z7 from"node:tty";function gD(D,F=globalThis.Deno?globalThis.Deno.args:s3.argv){let u=D.startsWith("-")?"":D.length===1?"-":"--",E=F.indexOf(u+D),B=F.indexOf("--");return E!==-1&&(B===-1||E<B)}var{env:ED}=s3,y2;if(gD("no-color")||gD("no-colors")||gD("color=false")||gD("color=never"))y2=0;else if(gD("color")||gD("colors")||gD("color=true")||gD("color=always"))y2=1;function gY(){if("FORCE_COLOR"in ED){if(ED.FORCE_COLOR==="true")return 1;if(ED.FORCE_COLOR==="false")return 0;return ED.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(ED.FORCE_COLOR,10),3)}}function mY(D){if(D===0)return!1;return{level:D,hasBasic:!0,has256:D>=2,has16m:D>=3}}function dY(D,{streamIsTTY:F,sniffFlags:u=!0}={}){let E=gY();if(E!==void 0)y2=E;let B=u?y2:E;if(B===0)return 0;if(u){if(gD("color=16m")||gD("color=full")||gD("color=truecolor"))return 3;if(gD("color=256"))return 2}if("TF_BUILD"in ED&&"AGENT_NAME"in ED)return 1;if(D&&!F&&B===void 0)return 0;let C=B||0;if(ED.TERM==="dumb")return C;if(s3.platform==="win32"){let Z=hY.release().split(".");if(Number(Z[0])>=10&&Number(Z[2])>=10586)return Number(Z[2])>=14931?3:2;return 1}if("CI"in ED){if(["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some((Z)=>(Z in ED)))return 3;if(["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some((Z)=>(Z in ED))||ED.CI_NAME==="codeship")return 1;return C}if("TEAMCITY_VERSION"in ED)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(ED.TEAMCITY_VERSION)?1:0;if(ED.COLORTERM==="truecolor")return 3;if(ED.TERM==="xterm-kitty")return 3;if(ED.TERM==="xterm-ghostty")return 3;if(ED.TERM==="wezterm")return 3;if("TERM_PROGRAM"in ED){let Z=Number.parseInt((ED.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(ED.TERM_PROGRAM){case"iTerm.app":return Z>=3?3:2;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(ED.TERM))return 2;if(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(ED.TERM))return 1;if("COLORTERM"in ED)return 1;return C}function J7(D,F={}){let u=dY(D,{streamIsTTY:D&&D.isTTY,...F});return mY(u)}var cY={stdout:J7({isTTY:Z7.isatty(1)}),stderr:J7({isTTY:Z7.isatty(2)})},Y7=cY;function H7(D,F,u){let E=D.indexOf(F);if(E===-1)return D;let B=F.length,C=0,Z="";do Z+=D.slice(C,E)+F+u,C=E+B,E=D.indexOf(F,C);while(E!==-1);return Z+=D.slice(C),Z}function X7(D,F,u,E){let B=0,C="";do{let Z=D[E-1]==="\r";C+=D.slice(B,Z?E-1:E)+F+(Z?`\r
78
- `:`
79
- `)+u,B=E+1,E=D.indexOf(`
80
- `,B)}while(E!==-1);return C+=D.slice(B),C}var{stdout:G7,stderr:Q7}=Y7,o3=Symbol("GENERATOR"),DF=Symbol("STYLER"),PF=Symbol("IS_EMPTY"),K7=["ansi","ansi","ansi256","ansi16m"],FF=Object.create(null),lY=(D,F={})=>{if(F.level&&!(Number.isInteger(F.level)&&F.level>=0&&F.level<=3))throw Error("The `level` option should be an integer from 0 to 3");let u=G7?G7.level:0;D.level=F.level===void 0?u:F.level};var pY=(D)=>{let F=(...u)=>u.join(" ");return lY(F,D),Object.setPrototypeOf(F,wF.prototype),F};function wF(D){return pY(D)}Object.setPrototypeOf(wF.prototype,Function.prototype);for(let[D,F]of Object.entries(pD))FF[D]={get(){let u=b2(this,e3(F.open,F.close,this[DF]),this[PF]);return Object.defineProperty(this,D,{value:u}),u}};FF.visible={get(){let D=b2(this,this[DF],!0);return Object.defineProperty(this,"visible",{value:D}),D}};var t3=(D,F,u,...E)=>{if(D==="rgb"){if(F==="ansi16m")return pD[u].ansi16m(...E);if(F==="ansi256")return pD[u].ansi256(pD.rgbToAnsi256(...E));return pD[u].ansi(pD.rgbToAnsi(...E))}if(D==="hex")return t3("rgb",F,u,...pD.hexToRgb(...E));return pD[u][D](...E)},iY=["rgb","hex","ansi256"];for(let D of iY){FF[D]={get(){let{level:u}=this;return function(...E){let B=e3(t3(D,K7[u],"color",...E),pD.color.close,this[DF]);return b2(this,B,this[PF])}}};let F="bg"+D[0].toUpperCase()+D.slice(1);FF[F]={get(){let{level:u}=this;return function(...E){let B=e3(t3(D,K7[u],"bgColor",...E),pD.bgColor.close,this[DF]);return b2(this,B,this[PF])}}}}var nY=Object.defineProperties(()=>{},{...FF,level:{enumerable:!0,get(){return this[o3].level},set(D){this[o3].level=D}}}),e3=(D,F,u)=>{let E,B;if(u===void 0)E=D,B=F;else E=u.openAll+D,B=F+u.closeAll;return{open:D,close:F,openAll:E,closeAll:B,parent:u}},b2=(D,F,u)=>{let E=(...B)=>aY(E,B.length===1?""+B[0]:B.join(" "));return Object.setPrototypeOf(E,nY),E[o3]=D,E[DF]=F,E[PF]=u,E},aY=(D,F)=>{if(D.level<=0||!F)return D[PF]?"":F;let u=D[DF];if(u===void 0)return F;let{openAll:E,closeAll:B}=u;if(F.includes("\x1B"))while(u!==void 0)F=H7(F,u.close,u.open),u=u.parent;let C=F.indexOf(`
81
- `);if(C!==-1)F=X7(F,B,E,C);return E+F+B};Object.defineProperties(wF.prototype,FF);var rY=wF(),r$=wF({level:Q7?Q7.level:0});var OD=rY;var gB=HD(B1(),1),mB=HD(EF(),1);class BF extends Error{response;request;options;constructor(D,F,u){let E=D.status||D.status===0?D.status:"",B=D.statusText??"",C=`${E} ${B}`.trim(),Z=C?`status code ${C}`:"an unknown error";super(`Request failed with ${Z}: ${F.method} ${F.url}`);this.name="HTTPError",this.response=D,this.request=F,this.options=u}}class yF extends Error{name="NonError";value;constructor(D){let F="Non-error value was thrown";try{if(typeof D==="string")F=D;else if(D&&typeof D==="object"&&"message"in D&&typeof D.message==="string")F=D.message}catch{}super(F);this.value=D}}class bF extends Error{name="ForceRetryError";customDelay;code;customRequest;constructor(D){let F=D?.cause?D.cause instanceof Error?D.cause:new yF(D.cause):void 0;super(D?.code?`Forced retry: ${D.code}`:"Forced retry",F?{cause:F}:void 0);this.customDelay=D?.delay,this.code=D?.code,this.customRequest=D?.request}}var C1=(()=>{let D=!1,F=!1,u=typeof globalThis.ReadableStream==="function",E=typeof globalThis.Request==="function";if(u&&E)try{F=new globalThis.Request("https://empty.invalid",{body:new globalThis.ReadableStream,method:"POST",get duplex(){return D=!0,"half"}}).headers.has("Content-Type")}catch(B){if(B instanceof Error&&B.message==="unsupported BodyInit type")return!1;throw B}return D&&!F})(),S7=typeof globalThis.AbortController==="function",d2=typeof globalThis.AbortSignal==="function"&&typeof globalThis.AbortSignal.any==="function",P7=typeof globalThis.ReadableStream==="function",w7=typeof globalThis.FormData==="function",c2=["get","post","put","patch","head","delete"],WH=()=>{return};WH();var x7={json:"application/json",text:"text/*",formData:"multipart/form-data",arrayBuffer:"*/*",blob:"*/*",bytes:"*/*"},l2=2147483647,k7=new TextEncoder().encode("------WebKitFormBoundaryaxpyiPgbbPti10Rw").length,p2=Symbol("stop");class i2{options;constructor(D){this.options=D}}var y7=(D)=>new i2(D),b7={json:!0,parseJson:!0,stringifyJson:!0,searchParams:!0,prefixUrl:!0,retry:!0,timeout:!0,hooks:!0,throwHttpErrors:!0,onDownloadProgress:!0,onUploadProgress:!0,fetch:!0,context:!0},f7={next:!0},v7={method:!0,headers:!0,body:!0,mode:!0,credentials:!0,cache:!0,redirect:!0,referrer:!0,referrerPolicy:!0,integrity:!0,keepalive:!0,signal:!0,window:!0,duplex:!0};var NH=(D)=>{if(!D)return 0;if(D instanceof FormData){let F=0;for(let[u,E]of D)F+=k7,F+=new TextEncoder().encode(`Content-Disposition: form-data; name="${u}"`).length,F+=typeof E==="string"?new TextEncoder().encode(E).length:E.size;return F}if(D instanceof Blob)return D.size;if(D instanceof ArrayBuffer)return D.byteLength;if(typeof D==="string")return new TextEncoder().encode(D).length;if(D instanceof URLSearchParams)return new TextEncoder().encode(D.toString()).length;if("byteLength"in D)return D.byteLength;if(typeof D==="object"&&D!==null)try{let F=JSON.stringify(D);return new TextEncoder().encode(F).length}catch{return 0}return 0},h7=(D,F,u)=>{let E,B=0;return D.pipeThrough(new TransformStream({transform(C,Z){if(Z.enqueue(C),E){B+=E.byteLength;let J=F===0?0:B/F;if(J>=1)J=1-Number.EPSILON;u?.({percent:J,totalBytes:Math.max(F,B),transferredBytes:B},E)}E=C},flush(){if(E)B+=E.byteLength,u?.({percent:1,totalBytes:Math.max(F,B),transferredBytes:B},E)}}))},g7=(D,F)=>{if(!D.body)return D;if(D.status===204)return new Response(null,{status:D.status,statusText:D.statusText,headers:D.headers});let u=Math.max(0,Number(D.headers.get("content-length"))||0);return new Response(h7(D.body,u,F),{status:D.status,statusText:D.statusText,headers:D.headers})},m7=(D,F,u)=>{if(!D.body)return D;let E=NH(u??D.body);return new Request(D,{duplex:"half",body:h7(D.body,E,F)})};var A0=(D)=>D!==null&&typeof D==="object";var fF=(...D)=>{for(let F of D)if((!A0(F)||Array.isArray(F))&&F!==void 0)throw TypeError("The `options` argument must be an object");return Y1({},...D)},Z1=(D={},F={})=>{let u=new globalThis.Headers(D),E=F instanceof globalThis.Headers,B=new globalThis.Headers(F);for(let[C,Z]of B.entries())if(E&&Z==="undefined"||Z===void 0)u.delete(C);else u.set(C,Z);return u};function n2(D,F,u){return Object.hasOwn(F,u)&&F[u]===void 0?[]:Y1(D[u]??[],F[u]??[])}var J1=(D={},F={})=>({beforeRequest:n2(D,F,"beforeRequest"),beforeRetry:n2(D,F,"beforeRetry"),afterResponse:n2(D,F,"afterResponse"),beforeError:n2(D,F,"beforeError")}),$H=(D,F)=>{let u=new URLSearchParams;for(let E of[D,F]){if(E===void 0)continue;if(E instanceof URLSearchParams)for(let[B,C]of E.entries())u.append(B,C);else if(Array.isArray(E))for(let B of E){if(!Array.isArray(B)||B.length!==2)throw TypeError("Array search parameters must be provided in [[key, value], ...] format");u.append(String(B[0]),String(B[1]))}else if(A0(E)){for(let[B,C]of Object.entries(E))if(C!==void 0)u.append(B,String(C))}else{let B=new URLSearchParams(E);for(let[C,Z]of B.entries())u.append(C,Z)}}return u},Y1=(...D)=>{let F={},u={},E={},B,C=[];for(let Z of D)if(Array.isArray(Z)){if(!Array.isArray(F))F=[];F=[...F,...Z]}else if(A0(Z)){for(let[J,X]of Object.entries(Z)){if(J==="signal"&&X instanceof globalThis.AbortSignal){C.push(X);continue}if(J==="context"){if(X!==void 0&&X!==null&&(!A0(X)||Array.isArray(X)))throw TypeError("The `context` option must be an object");F={...F,context:X===void 0||X===null?{}:{...F.context,...X}};continue}if(J==="searchParams"){if(X===void 0||X===null)B=void 0;else B=B===void 0?X:$H(B,X);continue}if(A0(X)&&J in F)X=Y1(F[J],X);F={...F,[J]:X}}if(A0(Z.hooks))E=J1(E,Z.hooks),F.hooks=E;if(A0(Z.headers))u=Z1(u,Z.headers),F.headers=u}if(B!==void 0)F.searchParams=B;if(C.length>0)if(C.length===1)F.signal=C[0];else if(d2)F.signal=AbortSignal.any(C);else F.signal=C.at(-1);return F};var c7=(D)=>c2.includes(D)?D.toUpperCase():D,VH=["get","put","head","delete","options","trace"],IH=[408,413,429,500,502,503,504],MH=[413,429,503],d7={limit:2,methods:VH,statusCodes:IH,afterStatusCodes:MH,maxRetryAfter:Number.POSITIVE_INFINITY,backoffLimit:Number.POSITIVE_INFINITY,delay:(D)=>0.3*2**(D-1)*1000,jitter:void 0,retryOnTimeout:!1},l7=(D={})=>{if(typeof D==="number")return{...d7,limit:D};if(D.methods&&!Array.isArray(D.methods))throw Error("retry.methods must be an array");if(D.methods&&=D.methods.map((u)=>u.toLowerCase()),D.statusCodes&&!Array.isArray(D.statusCodes))throw Error("retry.statusCodes must be an array");let F=Object.fromEntries(Object.entries(D).filter(([,u])=>u!==void 0));return{...d7,...F}};class CF extends Error{request;constructor(D){super(`Request timed out: ${D.method} ${D.url}`);this.name="TimeoutError",this.request=D}}async function H1(D,F,u,E){return new Promise((B,C)=>{let Z=setTimeout(()=>{if(u)u.abort();C(new CF(D))},E.timeout);E.fetch(D,F).then(B).catch(C).then(()=>{clearTimeout(Z)})})}async function X1(D,{signal:F}){return new Promise((u,E)=>{if(F)F.throwIfAborted(),F.addEventListener("abort",B,{once:!0});function B(){clearTimeout(C),E(F.reason)}let C=setTimeout(()=>{F?.removeEventListener("abort",B),u()},D)})}var p7=(D,F)=>{let u={};for(let E in F){if(!Object.hasOwn(F,E))continue;if(!(E in v7)&&!(E in b7)&&(!(E in D)||(E in f7)))u[E]=F[E]}return u},i7=(D)=>{if(D===void 0)return!1;if(Array.isArray(D))return D.length>0;if(D instanceof URLSearchParams)return D.size>0;if(typeof D==="object")return Object.keys(D).length>0;if(typeof D==="string")return D.trim().length>0;return Boolean(D)};function n7(D){return D instanceof BF||D?.name===BF.name}function a7(D){return D instanceof CF||D?.name===CF.name}class ZF{static create(D,F){let u=new ZF(D,F),E=async()=>{if(typeof u.#D.timeout==="number"&&u.#D.timeout>l2)throw RangeError(`The \`timeout\` option cannot be greater than ${l2}`);await Promise.resolve();let C=await u.#A();for(let Z of u.#D.hooks.afterResponse){let J=u.#H(C.clone()),X;try{X=await Z(u.request,u.#Q(),J,{retryCount:u.#F})}catch(H){throw u.#Y(J),u.#Y(C),H}if(X instanceof i2)throw u.#Y(J),u.#Y(C),new bF(X.options);let Y=X instanceof globalThis.Response?X:C;if(J!==Y)u.#Y(J);if(C!==Y)u.#Y(C);C=Y}if(u.#H(C),!C.ok&&(typeof u.#D.throwHttpErrors==="function"?u.#D.throwHttpErrors(C.status):u.#D.throwHttpErrors)){let Z=new BF(C,u.request,u.#Q());for(let J of u.#D.hooks.beforeError)Z=await J(Z,{retryCount:u.#F});throw Z}if(u.#D.onDownloadProgress){if(typeof u.#D.onDownloadProgress!=="function")throw TypeError("The `onDownloadProgress` option must be a function");if(!P7)throw Error("Streams are not supported in your environment. `ReadableStream` is missing.");let Z=C.clone();return u.#Y(C),g7(Z,u.#D.onDownloadProgress)}return C},B=u.#q(E).finally(()=>{let C=u.#B;u.#G(C?.body??void 0),u.#G(u.request.body??void 0)});for(let[C,Z]of Object.entries(x7)){if(C==="bytes"&&typeof globalThis.Response?.prototype?.bytes!=="function")continue;B[C]=async()=>{u.request.headers.set("accept",u.request.headers.get("accept")||Z);let J=await B;if(C==="json"){if(J.status===204)return"";let X=await J.text();if(X==="")return"";if(F.parseJson)return F.parseJson(X);return JSON.parse(X)}return J[C]()}}return B}static#u(D){if(D&&typeof D==="object"&&!Array.isArray(D)&&!(D instanceof URLSearchParams))return Object.fromEntries(Object.entries(D).filter(([,F])=>F!==void 0));return D}request;#Z;#F=0;#E;#D;#B;#C;#J;constructor(D,F={}){if(this.#E=D,this.#D={...F,headers:Z1(this.#E.headers,F.headers),hooks:J1({beforeRequest:[],beforeRetry:[],beforeError:[],afterResponse:[]},F.hooks),method:c7(F.method??this.#E.method??"GET"),prefixUrl:String(F.prefixUrl||""),retry:l7(F.retry),throwHttpErrors:F.throwHttpErrors??!0,timeout:F.timeout??1e4,fetch:F.fetch??globalThis.fetch.bind(globalThis),context:F.context??{}},typeof this.#E!=="string"&&!(this.#E instanceof URL||this.#E instanceof globalThis.Request))throw TypeError("`input` must be a string, URL, or Request");if(this.#D.prefixUrl&&typeof this.#E==="string"){if(this.#E.startsWith("/"))throw Error("`input` must not begin with a slash when using `prefixUrl`");if(!this.#D.prefixUrl.endsWith("/"))this.#D.prefixUrl+="/";this.#E=this.#D.prefixUrl+this.#E}if(S7&&d2)this.#C=this.#D.signal??this.#E.signal,this.#Z=new globalThis.AbortController,this.#D.signal=this.#C?AbortSignal.any([this.#C,this.#Z.signal]):this.#Z.signal;if(C1)this.#D.duplex="half";if(this.#D.json!==void 0)this.#D.body=this.#D.stringifyJson?.(this.#D.json)??JSON.stringify(this.#D.json),this.#D.headers.set("content-type",this.#D.headers.get("content-type")??"application/json");let u=F.headers&&new globalThis.Headers(F.headers).has("content-type");if(this.#E instanceof globalThis.Request&&(w7&&this.#D.body instanceof globalThis.FormData||this.#D.body instanceof URLSearchParams)&&!u)this.#D.headers.delete("content-type");if(this.request=new globalThis.Request(this.#E,this.#D),i7(this.#D.searchParams)){let B="?"+(typeof this.#D.searchParams==="string"?this.#D.searchParams.replace(/^\?/,""):new URLSearchParams(ZF.#u(this.#D.searchParams)).toString()),C=this.request.url.replace(/(?:\?.*?)?(?=#|$)/,B);this.request=new globalThis.Request(C,this.#D)}if(this.#D.onUploadProgress){if(typeof this.#D.onUploadProgress!=="function")throw TypeError("The `onUploadProgress` option must be a function");if(!C1)throw Error("Request streams are not supported in your environment. The `duplex` option for `Request` is not available.");this.request=this.#U(this.request,this.#D.body??void 0)}}#K(){let D=this.#D.retry.delay(this.#F),F=D;if(this.#D.retry.jitter===!0)F=Math.random()*D;else if(typeof this.#D.retry.jitter==="function"){if(F=this.#D.retry.jitter(D),!Number.isFinite(F)||F<0)F=D}let u=this.#D.retry.backoffLimit??Number.POSITIVE_INFINITY;return Math.min(u,F)}async#X(D){if(this.#F++,this.#F>this.#D.retry.limit)throw D;let F=D instanceof Error?D:new yF(D);if(F instanceof bF)return F.customDelay??this.#K();if(!this.#D.retry.methods.includes(this.request.method.toLowerCase()))throw D;if(this.#D.retry.shouldRetry!==void 0){let u=await this.#D.retry.shouldRetry({error:F,retryCount:this.#F});if(u===!1)throw D;if(u===!0)return this.#K()}if(a7(D)&&!this.#D.retry.retryOnTimeout)throw D;if(n7(D)){if(!this.#D.retry.statusCodes.includes(D.response.status))throw D;let u=D.response.headers.get("Retry-After")??D.response.headers.get("RateLimit-Reset")??D.response.headers.get("X-RateLimit-Retry-After")??D.response.headers.get("X-RateLimit-Reset")??D.response.headers.get("X-Rate-Limit-Reset");if(u&&this.#D.retry.afterStatusCodes.includes(D.response.status)){let E=Number(u)*1000;if(Number.isNaN(E))E=Date.parse(u)-Date.now();else if(E>=Date.parse("2024-01-01"))E-=Date.now();let B=this.#D.retry.maxRetryAfter??E;return E<B?E:B}if(D.response.status===413)throw D}return this.#K()}#H(D){if(this.#D.parseJson)D.json=async()=>this.#D.parseJson(await D.text());return D}#G(D){if(!D)return;D.cancel().catch(()=>{return})}#Y(D){this.#G(D.body??void 0)}async#q(D){try{return await D()}catch(F){let u=Math.min(await this.#X(F),l2);if(this.#F<1)throw F;if(await X1(u,this.#C?{signal:this.#C}:{}),F instanceof bF&&F.customRequest){let E=this.#D.signal?new globalThis.Request(F.customRequest,{signal:this.#D.signal}):new globalThis.Request(F.customRequest);this.#z(E)}for(let E of this.#D.hooks.beforeRetry){let B=await E({request:this.request,options:this.#Q(),error:F,retryCount:this.#F});if(B instanceof globalThis.Request){this.#z(B);break}if(B instanceof globalThis.Response)return B;if(B===p2)return}return this.#q(D)}}async#A(){if(this.#Z?.signal.aborted)this.#Z=new globalThis.AbortController,this.#D.signal=this.#C?AbortSignal.any([this.#C,this.#Z.signal]):this.#Z.signal,this.request=new globalThis.Request(this.request,{signal:this.#D.signal});for(let F of this.#D.hooks.beforeRequest){let u=await F(this.request,this.#Q(),{retryCount:this.#F});if(u instanceof Response)return u;if(u instanceof globalThis.Request){this.#z(u);break}}let D=p7(this.request,this.#D);if(this.#B=this.request,this.request=this.#B.clone(),this.#D.timeout===!1)return this.#D.fetch(this.#B,D);return H1(this.#B,D,this.#Z,this.#D)}#Q(){if(!this.#J){let{hooks:D,...F}=this.#D;this.#J=Object.freeze(F)}return this.#J}#z(D){this.#J=void 0,this.request=this.#U(D)}#U(D,F){if(!this.#D.onUploadProgress||!D.body)return D;return m7(D,this.#D.onUploadProgress,F??this.#D.body??void 0)}}/*! MIT License © Sindre Sorhus */var G1=(D)=>{let F=(u,E)=>ZF.create(u,fF(D,E));for(let u of c2)F[u]=(E,B)=>ZF.create(E,fF(D,B,{method:u}));return F.create=(u)=>G1(fF(u)),F.extend=(u)=>{if(typeof u==="function")u=u(D??{});return G1(fF(D,u))},F.stop=p2,F.retry=y7,F},TH=G1(),r7=TH;var N4=HD(W4(),1);function q1(D){let F=N4.default("npm",{registry:"https://registry.npmjs.org/"}),u=F[`${D}:registry`]||F.config_registry||F.registry;return u.slice(-1)==="/"?u:`${u}/`}var dE=HD(z5(),1),cE=HD(mE(),1);class lE extends Error{constructor(D){super(`Package \`${D}\` could not be found`);this.name="PackageNotFoundError"}}class pE extends Error{constructor(D,F){super(`Version \`${F}\` for package \`${D}\` could not be found`);this.name="VersionNotFoundError"}}async function h1(D,F={}){let{version:u="latest"}=F,{omitDeprecated:E=!0}=F,B=D.split("/")[0],C=F.registryUrl??q1(B),Z=new URL(encodeURIComponent(D).replace(/^%40/,"@"),C),J=dE.default(C.toString(),{recursive:!0}),X={accept:"application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*"};if(F.fullMetadata)delete X.accept;if(J)X.authorization=`${J.type} ${J.token}`;let Y;try{Y=await r7(Z,{headers:X,keepalive:!0}).json()}catch(G){if(G?.response?.status===404)throw new lE(D);throw G}if(F.allVersions)return Y;let H=new pE(D,u);if(Y["dist-tags"][u]){let{time:G}=Y;Y=Y.versions[Y["dist-tags"][u]],Y.time=G}else if(u){let G=Boolean(Y.versions[u]);if(E&&!G){for(let[Q,z]of Object.entries(Y.versions))if(z.deprecated)delete Y.versions[Q]}if(!G){let Q=Object.keys(Y.versions);if(u=cE.default.maxSatisfying(Q,u),!u)throw H}let{time:K}=Y;if(Y=Y.versions[u],Y.time=K,!Y)throw H}return Y}async function g1(D,F){let{version:u}=await h1(D.toLowerCase(),F);return u}import iE from"node:process";var $K=iE.env.npm_package_json,K8=iE.env.npm_config_user_agent,VK=Boolean(K8?.startsWith("npm"))||Boolean($K?.endsWith("package.json")),IK=Boolean(K8?.startsWith("yarn")),AM=Boolean(K8?.startsWith("pnpm")),UM=Boolean(K8?.startsWith("bun")),nE=VK||IK;import RK from"node:fs";import jK from"node:path";import{fileURLToPath as SK}from"node:url";var DB=HD(tE(),1);import JD from"node:process";import YD from"node:path";import c1 from"node:os";import q8 from"node:fs";var aF=JD.platform==="win32",eE=(D)=>{try{return DB.default.parse(q8.readFileSync(D,"utf8")).prefix}catch{}},MK=()=>Object.keys(JD.env).reduce((D,F)=>/^npm_config_prefix$/i.test(F)?JD.env[F]:D,void 0),TK=()=>{if(aF&&JD.env.APPDATA)return YD.join(JD.env.APPDATA,"/npm/etc/npmrc");if(JD.execPath.includes("/Cellar/node")){let D=JD.execPath.slice(0,JD.execPath.indexOf("/Cellar/node"));return YD.join(D,"/lib/node_modules/npm/npmrc")}if(JD.execPath.endsWith("/bin/node")){let D=YD.dirname(YD.dirname(JD.execPath));return YD.join(D,"/etc/npmrc")}},OK=()=>{if(aF){let{APPDATA:D}=JD.env;return D?YD.join(D,"npm"):YD.dirname(JD.execPath)}return YD.dirname(YD.dirname(JD.execPath))},_K=()=>{let D=MK();if(D)return D;let F=eE(YD.join(c1.homedir(),".npmrc"));if(F)return F;if(JD.env.PREFIX)return JD.env.PREFIX;let u=eE(TK());if(u)return u;return OK()},nF=YD.resolve(_K()),FB=()=>{if(aF&&JD.env.LOCALAPPDATA){let D=YD.join(JD.env.LOCALAPPDATA,"Yarn");if(q8.existsSync(D))return D}return!1},LK=()=>{if(JD.env.PREFIX)return JD.env.PREFIX;let D=FB();if(D)return D;let F=YD.join(c1.homedir(),".config/yarn");if(q8.existsSync(F))return F;let u=YD.join(c1.homedir(),".yarn-config");if(q8.existsSync(u))return u;return nF},E0={};E0.npm={};E0.npm.prefix=nF;E0.npm.packages=YD.join(nF,aF?"node_modules":"lib/node_modules");E0.npm.binaries=aF?nF:YD.join(nF,"bin");var uB=YD.resolve(LK());E0.yarn={};E0.yarn.prefix=uB;E0.yarn.packages=YD.join(uB,FB()?"Data/global/node_modules":"global/node_modules");E0.yarn.binaries=YD.join(E0.yarn.packages,".bin");var l1=E0;import p1 from"node:path";function A8(D,F){let u=p1.relative(F,D);return Boolean(u&&u!==".."&&!u.startsWith(`..${p1.sep}`)&&u!==p1.resolve(D))}var EB=jK.dirname(SK(import.meta.url)),PK=(()=>{try{return A8(EB,l1.yarn.packages)||A8(EB,RK.realpathSync(l1.npm.packages))}catch{return!1}})(),BB=PK;import T8 from"node:process";function i1({onlyFirst:D=!1}={}){return new RegExp("(?:\\u001B\\][\\s\\S]*?(?:\\u0007|\\u001B\\u005C|\\u009C))|[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]",D?void 0:"g")}var wK=i1();function n1(D){if(typeof D!=="string")throw TypeError(`Expected a \`string\`, got \`${typeof D}\``);if(!D.includes("\x1B")&&!D.includes("›"))return D;return D.replace(wK,"")}var U8=[161,161,164,164,167,168,170,170,173,174,176,180,182,186,188,191,198,198,208,208,215,216,222,225,230,230,232,234,236,237,240,240,242,243,247,250,252,252,254,254,257,257,273,273,275,275,283,283,294,295,299,299,305,307,312,312,319,322,324,324,328,331,333,333,338,339,358,359,363,363,462,462,464,464,466,466,468,468,470,470,472,472,474,474,476,476,593,593,609,609,708,708,711,711,713,715,717,717,720,720,728,731,733,733,735,735,768,879,913,929,931,937,945,961,963,969,1025,1025,1040,1103,1105,1105,8208,8208,8211,8214,8216,8217,8220,8221,8224,8226,8228,8231,8240,8240,8242,8243,8245,8245,8251,8251,8254,8254,8308,8308,8319,8319,8321,8324,8364,8364,8451,8451,8453,8453,8457,8457,8467,8467,8470,8470,8481,8482,8486,8486,8491,8491,8531,8532,8539,8542,8544,8555,8560,8569,8585,8585,8592,8601,8632,8633,8658,8658,8660,8660,8679,8679,8704,8704,8706,8707,8711,8712,8715,8715,8719,8719,8721,8721,8725,8725,8730,8730,8733,8736,8739,8739,8741,8741,8743,8748,8750,8750,8756,8759,8764,8765,8776,8776,8780,8780,8786,8786,8800,8801,8804,8807,8810,8811,8814,8815,8834,8835,8838,8839,8853,8853,8857,8857,8869,8869,8895,8895,8978,8978,9312,9449,9451,9547,9552,9587,9600,9615,9618,9621,9632,9633,9635,9641,9650,9651,9654,9655,9660,9661,9664,9665,9670,9672,9675,9675,9678,9681,9698,9701,9711,9711,9733,9734,9737,9737,9742,9743,9756,9756,9758,9758,9792,9792,9794,9794,9824,9825,9827,9829,9831,9834,9836,9837,9839,9839,9886,9887,9919,9919,9926,9933,9935,9939,9941,9953,9955,9955,9960,9961,9963,9969,9972,9972,9974,9977,9979,9980,9982,9983,10045,10045,10102,10111,11094,11097,12872,12879,57344,63743,65024,65039,65533,65533,127232,127242,127248,127277,127280,127337,127344,127373,127375,127376,127387,127404,917760,917999,983040,1048573,1048576,1114109],W8=[12288,12288,65281,65376,65504,65510],a1=[8361,8361,65377,65470,65474,65479,65482,65487,65490,65495,65498,65500,65512,65518],r1=[32,126,162,163,165,166,172,172,175,175,10214,10221,10629,10630],rF=[4352,4447,8986,8987,9001,9002,9193,9196,9200,9200,9203,9203,9725,9726,9748,9749,9776,9783,9800,9811,9855,9855,9866,9871,9875,9875,9889,9889,9898,9899,9917,9918,9924,9925,9934,9934,9940,9940,9962,9962,9970,9971,9973,9973,9978,9978,9981,9981,9989,9989,9994,9995,10024,10024,10060,10060,10062,10062,10067,10069,10071,10071,10133,10135,10160,10160,10175,10175,11035,11036,11088,11088,11093,11093,11904,11929,11931,12019,12032,12245,12272,12287,12289,12350,12353,12438,12441,12543,12549,12591,12593,12686,12688,12773,12783,12830,12832,12871,12880,42124,42128,42182,43360,43388,44032,55203,63744,64255,65040,65049,65072,65106,65108,65126,65128,65131,94176,94180,94192,94198,94208,101589,101631,101662,101760,101874,110576,110579,110581,110587,110589,110590,110592,110882,110898,110898,110928,110930,110933,110933,110948,110951,110960,111355,119552,119638,119648,119670,126980,126980,127183,127183,127374,127374,127377,127386,127488,127490,127504,127547,127552,127560,127568,127569,127584,127589,127744,127776,127789,127797,127799,127868,127870,127891,127904,127946,127951,127955,127968,127984,127988,127988,127992,128062,128064,128064,128066,128252,128255,128317,128331,128334,128336,128359,128378,128378,128405,128406,128420,128420,128507,128591,128640,128709,128716,128716,128720,128722,128725,128728,128732,128735,128747,128748,128756,128764,128992,129003,129008,129008,129292,129338,129340,129349,129351,129535,129648,129660,129664,129674,129678,129734,129736,129736,129741,129756,129759,129770,129775,129784,131072,196605,196608,262141];var N8=(D,F)=>{let u=0,E=Math.floor(D.length/2)-1;while(u<=E){let B=Math.floor((u+E)/2),C=B*2;if(F<D[C])E=B-1;else if(F>D[C+1])u=B+1;else return!0}return!1};var xK=U8[0],kK=U8.at(-1),yK=W8[0],bK=W8.at(-1),gM=a1[0],mM=a1.at(-1),dM=r1[0],cM=r1.at(-1),fK=rF[0],vK=rF.at(-1),CB=19968,[hK,gK]=mK(rF);function mK(D){let F=D[0],u=D[1];for(let E=0;E<D.length;E+=2){let B=D[E],C=D[E+1];if(CB>=B&&CB<=C)return[B,C];if(C-B>u-F)F=B,u=C}return[F,u]}var ZB=(D)=>{if(D<xK||D>kK)return!1;return N8(U8,D)},JB=(D)=>{if(D<yK||D>bK)return!1;return N8(W8,D)};var YB=(D)=>{if(D>=hK&&D<=gK)return!0;if(D<fK||D>vK)return!1;return N8(rF,D)};function dK(D){if(!Number.isSafeInteger(D))throw TypeError(`Expected a code point, got \`${typeof D}\`.`)}function HB(D,{ambiguousAsWide:F=!1}={}){if(dK(D),JB(D)||YB(D)||F&&ZB(D))return 2;return 1}var QB=HD(GB(),1),cK=new Intl.Segmenter,lK=/^\p{Default_Ignorable_Code_Point}$/u;function RD(D,F={}){if(typeof D!=="string"||D.length===0)return 0;let{ambiguousIsNarrow:u=!0,countAnsiEscapeCodes:E=!1}=F;if(!E)D=n1(D);if(D.length===0)return 0;let B=0,C={ambiguousAsWide:!u};for(let{segment:Z}of cK.segment(D)){let J=Z.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(lK.test(Z))continue;if(QB.default().test(Z)){B+=2;continue}B+=HB(J,C)}return B}function $8(D){let F=0;for(let u of D.split(`
82
- `))F=Math.max(F,RD(u));return F}var wB=HD(o1(),1);var iK=/[\p{Lu}]/u,nK=/[\p{Ll}]/u,qB=/^[\p{Lu}](?![\p{Lu}])/gu,WB=/([\p{Alpha}\p{N}_]|$)/u,t1=/[_.\- ]+/,aK=new RegExp("^"+t1.source),AB=new RegExp(t1.source+WB.source,"gu"),UB=new RegExp("\\d+"+WB.source,"gu"),rK=(D,F,u,E)=>{let B=!1,C=!1,Z=!1,J=!1;for(let X=0;X<D.length;X++){let Y=D[X];if(J=X>2?D[X-3]==="-":!0,B&&iK.test(Y))D=D.slice(0,X)+"-"+D.slice(X),B=!1,Z=C,C=!0,X++;else if(C&&Z&&nK.test(Y)&&(!J||E))D=D.slice(0,X-1)+"-"+D.slice(X-1),Z=C,C=!1,B=!0;else B=F(Y)===Y&&u(Y)!==Y,Z=C,C=u(Y)===Y&&F(Y)!==Y}return D},sK=(D,F)=>{return qB.lastIndex=0,D.replaceAll(qB,(u)=>F(u))},oK=(D,F)=>{return AB.lastIndex=0,UB.lastIndex=0,D.replaceAll(UB,(u,E,B)=>["_","-"].includes(D.charAt(B+u.length))?u:F(u)).replaceAll(AB,(u,E)=>F(E))};function e1(D,F){if(!(typeof D==="string"||Array.isArray(D)))throw TypeError("Expected the input to be `string | string[]`");if(F={pascalCase:!1,preserveConsecutiveUppercase:!1,...F},Array.isArray(D))D=D.map((C)=>C.trim()).filter((C)=>C.length).join("-");else D=D.trim();if(D.length===0)return"";let u=F.locale===!1?(C)=>C.toLowerCase():(C)=>C.toLocaleLowerCase(F.locale),E=F.locale===!1?(C)=>C.toUpperCase():(C)=>C.toLocaleUpperCase(F.locale);if(D.length===1){if(t1.test(D))return"";return F.pascalCase?E(D):u(D)}if(D!==u(D))D=rK(D,u,E,F.preserveConsecutiveUppercase);if(D=D.replace(aK,""),D=F.preserveConsecutiveUppercase?sK(D,u):u(D),F.pascalCase)D=E(D.charAt(0))+D.slice(1);return oK(D,E)}var Bu=HD($B(),1);function Du({onlyFirst:D=!1}={}){return new RegExp("(?:\\u001B\\][\\s\\S]*?(?:\\u0007|\\u001B\\u005C|\\u009C))|[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]",D?void 0:"g")}var Fz=Du();function Fu(D){if(typeof D!=="string")throw TypeError(`Expected a \`string\`, got \`${typeof D}\``);if(!D.includes("\x1B")&&!D.includes("›"))return D;return D.replace(Fz,"")}var VB=(D=0)=>(F)=>`\x1B[${F+D}m`,IB=(D=0)=>(F)=>`\x1B[${38+D};5;${F}m`,MB=(D=0)=>(F,u,E)=>`\x1B[${38+D};2;${F};${u};${E}m`,BD={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]}},JT=Object.keys(BD.modifier),uz=Object.keys(BD.color),Ez=Object.keys(BD.bgColor),YT=[...uz,...Ez];function Bz(){let D=new Map;for(let[F,u]of Object.entries(BD)){for(let[E,B]of Object.entries(u))BD[E]={open:`\x1B[${B[0]}m`,close:`\x1B[${B[1]}m`},u[E]=BD[E],D.set(B[0],B[1]);Object.defineProperty(BD,F,{value:u,enumerable:!1})}return Object.defineProperty(BD,"codes",{value:D,enumerable:!1}),BD.color.close="\x1B[39m",BD.bgColor.close="\x1B[49m",BD.color.ansi=VB(),BD.color.ansi256=IB(),BD.color.ansi16m=MB(),BD.bgColor.ansi=VB(10),BD.bgColor.ansi256=IB(10),BD.bgColor.ansi16m=MB(10),Object.defineProperties(BD,{rgbToAnsi256:{value(F,u,E){if(F===u&&u===E){if(F<8)return 16;if(F>248)return 231;return Math.round((F-8)/247*24)+232}return 16+36*Math.round(F/255*5)+6*Math.round(u/255*5)+Math.round(E/255*5)},enumerable:!1},hexToRgb:{value(F){let u=/[a-f\d]{6}|[a-f\d]{3}/i.exec(F.toString(16));if(!u)return[0,0,0];let[E]=u;if(E.length===3)E=[...E].map((C)=>C+C).join("");let B=Number.parseInt(E,16);return[B>>16&255,B>>8&255,B&255]},enumerable:!1},hexToAnsi256:{value:(F)=>BD.rgbToAnsi256(...BD.hexToRgb(F)),enumerable:!1},ansi256ToAnsi:{value(F){if(F<8)return 30+F;if(F<16)return 90+(F-8);let u,E,B;if(F>=232)u=((F-232)*10+8)/255,E=u,B=u;else{F-=16;let J=F%36;u=Math.floor(F/36)/5,E=Math.floor(J/6)/5,B=J%6/5}let C=Math.max(u,E,B)*2;if(C===0)return 30;let Z=30+(Math.round(B)<<2|Math.round(E)<<1|Math.round(u));if(C===2)Z+=60;return Z},enumerable:!1},rgbToAnsi:{value:(F,u,E)=>BD.ansi256ToAnsi(BD.rgbToAnsi256(F,u,E)),enumerable:!1},hexToAnsi:{value:(F)=>BD.ansi256ToAnsi(BD.hexToAnsi256(F)),enumerable:!1}}),BD}var Cz=Bz(),TB=Cz;var I8=new Set(["\x1B","›"]),Zz=39,Eu="\x07",LB="[",Jz="]",RB="m",V8=`${Jz}8;;`,OB=(D)=>`${I8.values().next().value}${LB}${D}${RB}`,_B=(D)=>`${I8.values().next().value}${V8}${D}${Eu}`,Yz=(D)=>D.split(" ").map((F)=>RD(F)),uu=(D,F,u)=>{let E=[...F],B=!1,C=!1,Z=RD(Fu(D.at(-1)));for(let[J,X]of E.entries()){let Y=RD(X);if(Z+Y<=u)D[D.length-1]+=X;else D.push(X),Z=0;if(I8.has(X))B=!0,C=E.slice(J+1,J+1+V8.length).join("")===V8;if(B){if(C){if(X===Eu)B=!1,C=!1}else if(X===RB)B=!1;continue}if(Z+=Y,Z===u&&J<E.length-1)D.push(""),Z=0}if(!Z&&D.at(-1).length>0&&D.length>1)D[D.length-2]+=D.pop()},Hz=(D)=>{let F=D.split(" "),u=F.length;while(u>0){if(RD(F[u-1])>0)break;u--}if(u===F.length)return D;return F.slice(0,u).join(" ")+F.slice(u).join("")},Xz=(D,F,u={})=>{if(u.trim!==!1&&D.trim()==="")return"";let E="",B,C,Z=Yz(D),J=[""];for(let[G,K]of D.split(" ").entries()){if(u.trim!==!1)J[J.length-1]=J.at(-1).trimStart();let Q=RD(J.at(-1));if(G!==0){if(Q>=F&&(u.wordWrap===!1||u.trim===!1))J.push(""),Q=0;if(Q>0||u.trim===!1)J[J.length-1]+=" ",Q++}if(u.hard&&Z[G]>F){let z=F-Q,q=1+Math.floor((Z[G]-z-1)/F);if(Math.floor((Z[G]-1)/F)<q)J.push("");uu(J,K,F);continue}if(Q+Z[G]>F&&Q>0&&Z[G]>0){if(u.wordWrap===!1&&Q<F){uu(J,K,F);continue}J.push("")}if(Q+Z[G]>F&&u.wordWrap===!1){uu(J,K,F);continue}J[J.length-1]+=K}if(u.trim!==!1)J=J.map((G)=>Hz(G));let X=J.join(`
83
- `),Y=[...X],H=0;for(let[G,K]of Y.entries()){if(E+=K,I8.has(K)){let{groups:z}=new RegExp(`(?:\\${LB}(?<code>\\d+)m|\\${V8}(?<uri>.*)${Eu})`).exec(X.slice(H))||{groups:{}};if(z.code!==void 0){let q=Number.parseFloat(z.code);B=q===Zz?void 0:q}else if(z.uri!==void 0)C=z.uri.length===0?void 0:z.uri}let Q=TB.codes.get(Number(B));if(Y[G+1]===`
84
- `){if(C)E+=_B("");if(B&&Q)E+=OB(Q)}else if(K===`
85
- `){if(B&&Q)E+=OB(B);if(C)E+=_B(C)}H+=K.length}return E};function M8(D,F,u){return String(D).normalize().replaceAll(`\r
86
- `,`
87
- `).split(`
88
- `).map((E)=>Xz(E,F,u)).join(`
89
- `)}var Nz=HD(o1(),1),W0=`
90
- `,kD=" ",sF="none",xB=()=>{let{env:D,stdout:F,stderr:u}=T8;if(F?.columns)return F.columns;if(u?.columns)return u.columns;if(D.COLUMNS)return Number.parseInt(D.COLUMNS,10);return 80},jB=(D)=>typeof D==="number"?{top:D,right:D*3,bottom:D,left:D*3}:{top:0,right:0,bottom:0,left:0,...D},oF=(D)=>D===sF?0:2,Gz=(D)=>{let F=["topLeft","topRight","bottomRight","bottomLeft","left","right","top","bottom"],u;if(D===sF){D={};for(let E of F)D[E]=""}if(typeof D==="string"){if(u=wB.default[D],!u)throw TypeError(`Invalid border style: ${D}`)}else{if(typeof D?.vertical==="string")D.left=D.vertical,D.right=D.vertical;if(typeof D?.horizontal==="string")D.top=D.horizontal,D.bottom=D.horizontal;for(let E of F)if(D[E]===null||typeof D[E]!=="string")throw TypeError(`Invalid border style: ${E}`);u=D}return u},Qz=(D,F,u)=>{let E="",B=RD(D);switch(u){case"left":{E=D+F.slice(B);break}case"right":{E=F.slice(B)+D;break}default:{if(F=F.slice(B),F.length%2===1)F=F.slice(Math.floor(F.length/2)),E=F.slice(1)+D+F;else F=F.slice(F.length/2),E=F+D+F;break}}return E},Kz=(D,{padding:F,width:u,textAlignment:E,height:B})=>{D=Bu.default(D,{align:E});let C=D.split(W0),Z=$8(D),J=u-F.left-F.right;if(Z>J){let H=[];for(let G of C){let K=M8(G,J,{hard:!0}),z=Bu.default(K,{align:E}).split(`
91
- `),q=Math.max(...z.map((W)=>RD(W)));for(let W of z){let N;switch(E){case"center":{N=kD.repeat((J-q)/2)+W;break}case"right":{N=kD.repeat(J-q)+W;break}default:{N=W;break}}H.push(N)}}C=H}if(E==="center"&&Z<J)C=C.map((H)=>kD.repeat((J-Z)/2)+H);else if(E==="right"&&Z<J)C=C.map((H)=>kD.repeat(J-Z)+H);let X=kD.repeat(F.left),Y=kD.repeat(F.right);if(C=C.map((H)=>{let G=X+H+Y;return G+kD.repeat(u-RD(G))}),F.top>0)C=[...Array.from({length:F.top}).fill(kD.repeat(u)),...C];if(F.bottom>0)C=[...C,...Array.from({length:F.bottom}).fill(kD.repeat(u))];if(B&&C.length>B)C=C.slice(0,B);else if(B&&C.length<B)C=[...C,...Array.from({length:B-C.length}).fill(kD.repeat(u))];return C.join(W0)},zz=(D,F,u)=>{let E=(H)=>{let G=u.borderColor?Uz(u.borderColor)(H):H;return u.dimBorder?OD.dim(G):G},B=(H)=>u.backgroundColor?Wz(u.backgroundColor)(H):H,C=Gz(u.borderStyle),Z=xB(),J=kD.repeat(u.margin.left);if(u.float==="center"){let H=Math.max((Z-F-oF(u.borderStyle))/2,0);J=kD.repeat(H)}else if(u.float==="right"){let H=Math.max(Z-F-u.margin.right-oF(u.borderStyle),0);J=kD.repeat(H)}let X="";if(u.margin.top)X+=W0.repeat(u.margin.top);if(u.borderStyle!==sF||u.title)X+=E(J+C.topLeft+(u.title?Qz(u.title,C.top.repeat(F),u.titleAlignment):C.top.repeat(F))+C.topRight)+W0;let Y=D.split(W0);if(X+=Y.map((H)=>J+E(C.left)+B(H)+E(C.right)).join(W0),u.borderStyle!==sF)X+=W0+E(J+C.bottomLeft+C.bottom.repeat(F)+C.bottomRight);if(u.margin.bottom)X+=W0.repeat(u.margin.bottom);return X},qz=(D)=>{if(D.fullscreen&&T8?.stdout){let F=[T8.stdout.columns,T8.stdout.rows];if(typeof D.fullscreen==="function")F=D.fullscreen(...F);D.width||=F[0],D.height||=F[1]}return D.width&&=Math.max(1,D.width-oF(D.borderStyle)),D.height&&=Math.max(1,D.height-oF(D.borderStyle)),D},SB=(D,F)=>F===sF?D:` ${D} `,Az=(D,F)=>{F=qz(F);let u=F.width!==void 0,E=xB(),B=oF(F.borderStyle),C=E-F.margin.left-F.margin.right-B,Z=$8(M8(D,E-B,{hard:!0,trim:!1}))+F.padding.left+F.padding.right;if(F.title&&u)F.title=F.title.slice(0,Math.max(0,F.width-2)),F.title&&=SB(F.title,F.borderStyle);else if(F.title){if(F.title=F.title.slice(0,Math.max(0,C-2)),F.title){if(F.title=SB(F.title,F.borderStyle),RD(F.title)>Z)F.width=RD(F.title)}}if(F.width||=Z,!u){if(F.margin.left&&F.margin.right&&F.width>C){let X=(E-F.width-B)/(F.margin.left+F.margin.right);F.margin.left=Math.max(0,Math.floor(F.margin.left*X)),F.margin.right=Math.max(0,Math.floor(F.margin.right*X))}F.width=Math.min(F.width,E-B-F.margin.left-F.margin.right)}if(F.width-(F.padding.left+F.padding.right)<=0)F.padding.left=0,F.padding.right=0;if(F.height&&F.height-(F.padding.top+F.padding.bottom)<=0)F.padding.top=0,F.padding.bottom=0;return F},Cu=(D)=>D.match(/^#(?:[0-f]{3}){1,2}$/i),PB=(D)=>typeof D==="string"&&(OD[D]??Cu(D)),Uz=(D)=>Cu(D)?OD.hex(D):OD[D],Wz=(D)=>Cu(D)?OD.bgHex(D):OD[e1(["bg",D])];function O8(D,F){if(F={padding:0,borderStyle:"single",dimBorder:!1,textAlignment:"left",float:"left",titleAlignment:"left",...F},F.align)F.textAlignment=F.align;if(F.borderColor&&!PB(F.borderColor))throw Error(`${F.borderColor} is not a valid borderColor`);if(F.backgroundColor&&!PB(F.backgroundColor))throw Error(`${F.backgroundColor} is not a valid backgroundColor`);return F.padding=jB(F.padding),F.margin=jB(F.margin),F=Az(D,F),D=Kz(D,F),zz(D,F.width,F)}import{env as tF}from"node:process";var $z=tF.CI!=="0"&&tF.CI!=="false"&&(("CI"in tF)||("CONTINUOUS_INTEGRATION"in tF)||Object.keys(tF).some((D)=>D.startsWith("CI_"))),kB=$z;var yB=(D)=>D.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#39;").replace(/</g,"&lt;").replace(/>/g,"&gt;");function bB(D,...F){if(typeof D==="string")return yB(D);let u=D[0];for(let[E,B]of F.entries())u=u+yB(String(B))+D[E+1];return u}class fB extends Error{constructor(D){super(`Missing a value for ${D?`the placeholder: ${D}`:"a placeholder"}`,D);this.name="MissingValueError",this.key=D}}class vB extends Error{constructor(D){super(`Missing filter: ${D}`);this.name="MissingFilterError",this.filterName=D}}function Zu(D,F,{ignoreMissing:u=!1,transform:E=({value:C})=>C,filters:B={}}={}){if(typeof D!=="string")throw TypeError(`Expected a \`string\` in the first argument, got \`${typeof D}\``);if(typeof F!=="object")throw TypeError(`Expected an \`object\` or \`Array\` in the second argument, got \`${typeof F}\``);let C="",Z="";D=D.replace(/\\{/g,C),D=D.replace(/\\}/g,Z);let J=(z)=>{let q=[],W="";for(let N=0;N<z.length;N++)if(z[N]==="\\"&&z[N+1]===".")W+=".",N++;else if(z[N]===".")q.push(W),W="";else W+=z[N];return q.push(W),q},X=(z,q)=>{let W=q.split("|").map((P)=>P.trim()),N=W[0],M=W.slice(1),$=J(N),U=F;for(let P of $)if(U)U=U[P];for(let P of M){let L=B[P];if(!L){if(u)return z;throw new vB(P)}if(U!==void 0)U=L(U)}let j=E({value:U,key:N});if(j===void 0){if(u)return z;throw new fB(N)}return String(j)},G=`(${"(\\d+|[a-z$_][\\w\\-.$\\\\]*)"}\\s*${"(?:\\|\\s*[a-z$_][\\w$]*\\s*)*"})`,K=new RegExp(`{{${G}}}`,"gi"),Q=new RegExp(`{${G}}`,"gi");return D=D.replace(K,(...z)=>bB(X(...z))),D=D.replace(Q,X),D=D.replace(new RegExp(C,"g"),"{"),D=D.replace(new RegExp(Z,"g"),"}"),D}var Mz=hB.dirname(Iz(import.meta.url)),Tz=86400000;class _8{config;update;_packageName;_shouldNotifyInNpmScript;#u;#Z;#F;#E;constructor(D={}){if(this.#u=D,D.pkg??={},D.distTag??="latest",D.pkg={name:D.pkg.name??D.packageName,version:D.pkg.version??D.packageVersion},!D.pkg.name||!D.pkg.version)throw Error("pkg.name and pkg.version required");if(this._packageName=D.pkg.name,this.#Z=D.pkg.version,this.#F=typeof D.updateCheckInterval==="number"?D.updateCheckInterval:Tz,this.#E="NO_UPDATE_NOTIFIER"in d0.env||d0.env.NODE_ENV==="test"||d0.argv.includes("--no-update-notifier")||kB,this._shouldNotifyInNpmScript=D.shouldNotifyInNpmScript,!this.#E)try{this.config=new k2(`update-notifier-${this._packageName}`,{optOut:!1,lastUpdateCheck:Date.now()})}catch{let F=OD.yellow(Ju(" %s update check failed ",D.pkg.name))+Ju(`
92
- Try running with %s or get access `,OD.cyan("sudo"))+`
93
- to the local update config store via
94
- `+OD.cyan(Ju(" sudo chown -R $USER:$(id -gn $USER) %s ",t0));d0.on("exit",()=>{console.error(O8(F,{textAlignment:"center"}))})}}check(){if(!this.config||this.config.get("optOut")||this.#E)return;if(this.update=this.config.get("update"),this.update)this.update.current=this.#Z,this.config.delete("update");if(Date.now()-this.config.get("lastUpdateCheck")<this.#F)return;Vz(d0.execPath,[hB.join(Mz,"check.js"),JSON.stringify(this.#u)],{detached:!0,stdio:"ignore"}).unref()}async fetchInfo(){let{distTag:D}=this.#u,F=await g1(this._packageName,{version:D});return{latest:F,current:this.#Z,type:gB.default(this.#Z,F)??D,name:this._packageName}}notify(D){let F=!this._shouldNotifyInNpmScript&&nE;if(!d0.stdout.isTTY||F||!this.update||!mB.default(this.update.latest,this.update.current))return this;D={isGlobal:BB,...D};let u=D.isGlobal?`npm i -g ${this._packageName}`:`npm i ${this._packageName}`,E="Update available "+OD.dim("{currentVersion}")+OD.reset(" → ")+OD.green("{latestVersion}")+`
95
- Run `+OD.cyan("{updateCommand}")+" to update",B=D.message||E;D.boxenOptions??={padding:1,margin:1,textAlignment:"center",borderColor:"yellow",borderStyle:"round"};let C=O8(Zu(B,{packageName:this._packageName,currentVersion:this.update.current,latestVersion:this.update.latest,updateCommand:u}),D.boxenOptions);if(D.defer===!1)console.error(C);else d0.on("exit",()=>{console.error(C)});return this}}function Yu(D){let F=new _8(D);return F.check(),F}var Oz=()=>Boolean(process.stdout.isTTY),_z=()=>Boolean(process.stdin.isTTY),Lz=()=>Boolean(process.env.CI||process.env.GITHUB_ACTIONS||process.env.GITLAB_CI||process.env.CIRCLECI||process.env.BUILDKITE||process.env.TF_BUILD);var yD=()=>Oz()&&_z()&&!Lz();var eF={name:"@photon-ai/cli",version:"2.0.0",description:"Photon CLI — typed terminal UI for the Photon Dashboard. Binary: `photon` (alias `pho`).",keywords:["photon","cli","dashboard","spectrum","messaging","imessage","developer-tools"],author:"Photon",license:"MIT",homepage:"https://github.com/photon-hq/cli#readme",repository:{type:"git",url:"git+https://github.com/photon-hq/cli.git"},bugs:{url:"https://github.com/photon-hq/cli/issues"},type:"module",bin:{photon:"./dist/photon.js",pho:"./dist/photon.js"},files:["dist","README.md"],publishConfig:{access:"public"},engines:{bun:">=1.3.0",node:">=18.0.0"},scripts:{start:"bun run src/index.ts",dev:"bun run --watch src/index.ts",build:"bun build ./src/index.ts --outfile dist/photon.js --target node --minify && chmod +x dist/photon.js",compile:"bun build ./src/index.ts --compile --outfile dist/photon",typecheck:"tsc --noEmit",test:"bun test",check:"bun run typecheck && bun test && bun run build",manifest:"bun run scripts/generate-route-manifest.ts",prepublishOnly:"bun run typecheck && bun run build"},devDependencies:{"@photon-ai/dashboard-api":"1.6.12","@types/bun":"latest","@types/node":"^25.6.2","@types/update-notifier":"^6.0.8",elysia:"1.4.28",typescript:"^5"},dependencies:{"@clack/prompts":"^1.2.0","@commander-js/extra-typings":"^14.0.0","@elysiajs/eden":"1.4.9","better-auth":"1.4.18","cli-table3":"^0.6.5",commander:"^14.0.3",open:"^11.0.0",picocolors:"^1.1.1","update-notifier":"^7.3.1"}};function dB(){if(!yD())return;if(process.env.PHOTON_NO_UPDATE_NOTIFIER==="1")return;Yu({pkg:{name:eF.name,version:eF.version},updateCheckInterval:86400000}).notify({defer:!0,isGlobal:!0})}var ZC=HD(CC(),1),{program:uO,createCommand:EO,createArgument:BO,createOption:CO,CommanderError:ZO,InvalidArgumentError:JO,InvalidOptionArgumentError:YO,Command:JC,Argument:HO,Option:XO,Help:GO}=ZC.default;import{existsSync as YC,renameSync as Nq}from"node:fs";import HC from"node:os";import KF from"node:path";var XC="https://app.photon.codes";function $q(D){return D??process.env.PHOTON_API_HOST??XC}function Wu(D){try{return new URL(D).origin}catch{throw Error(`Invalid API host URL: "${D}". Must include scheme — e.g. https://your.host.tld.`)}}function GC(D){let F=Wu($q(D));return{name:Vq(F),url:F}}function Vq(D){let F;try{F=new URL(D)}catch{throw Error(`Invalid API host URL: "${D}". Must include scheme — e.g. https://your.host.tld.`)}if(F.origin===XC)return"production";let u=F.hostname.toLowerCase().replace(/[[\]]/g,"").replace(/[.:%]/g,"_"),E=F.port?`_${F.port}`:"",B=`${u}${E}`;if(B.length>64)throw Error(`API host "${D}" produces a key longer than 64 characters (got ${B.length}). Use a shorter hostname or alias the host in your local hosts file / DNS.`);return B}var Iq=/^[a-z0-9_][a-z0-9_-]{0,63}$/;function Mq(D){if(!Iq.test(D))throw Error(`Invalid environment key "${D}" — must be 1-64 chars, `+"start with a-z, 0-9, or '_', and only contain a-z, 0-9, '-', '_'.")}function j8(){let D=process.env.PHOTON_CONFIG_DIR??process.env.DASHBOARD_CONFIG_DIR;if(D)return D;let F=process.env.XDG_CONFIG_HOME,u=F?KF.join(F,"photon"):KF.join(HC.homedir(),".config","photon"),E=F?KF.join(F,"photon-dashboard"):KF.join(HC.homedir(),".config","photon-dashboard"),B=u;if(!YC(u)&&YC(E))try{Nq(E,u)}catch{B=E}return B}var Nu=()=>KF.join(j8(),"credentials"),S8=(D)=>{return Mq(D),KF.join(Nu(),`${D}.json`)};async function PD(D){return GC(D)}import{chmod as Tq,mkdir as Oq,readdir as _q,readFile as Lq,unlink as Rq,writeFile as jq}from"node:fs/promises";import{dirname as Sq}from"node:path";async function zF(D){try{let F=await Lq(S8(D),"utf-8");return JSON.parse(F)}catch{return null}}async function QC(D){let F=S8(D.envName);await Oq(Sq(F),{recursive:!0}),await jq(F,JSON.stringify(D,null,2)+`
96
- `,"utf-8"),await Tq(F,384)}async function KC(D){let F=S8(D);try{await Rq(F)}catch(u){if(u.code!=="ENOENT")throw u}}async function P8(){try{return(await _q(Nu())).filter((F)=>F.endsWith(".json")).map((F)=>F.slice(0,-5)).sort()}catch(D){if(D.code==="ENOENT")return[];throw D}}function zC(D){D.command("auth").description("inspect authentication state across backends").command("status").description("show login status for every backend you've authenticated against").option("--json","output JSON").action(async(u)=>{let E=await PD(),B=await P8(),C=Array.from(new Set([E.name,...B])).sort(),Z=await Promise.all(C.map(async(Y)=>{let H=await zF(Y);if(!H)return{name:Y,url:Y===E.name?E.url:null,loggedIn:!1,user:null,issuedAt:null,corrupt:B.includes(Y)};return{name:Y,url:H.apiUrl,loggedIn:!0,user:H.user,issuedAt:H.issuedAt,corrupt:!1}}));if(u.json)return a(Z);let J=Z.map((Y)=>[Y.name===E.name?A.green("●"):" ",Y.name,Y.url??A.dim("—"),Y.loggedIn?A.green(Y.user?.email??"yes"):Y.corrupt?A.yellow("corrupt"):A.dim("no"),Y.issuedAt?new Date(Y.issuedAt).toLocaleDateString():A.dim("—")]);hD(["","key","url","logged in","since"],J);let X=Z.filter((Y)=>Y.corrupt).map((Y)=>Y.name);if(X.length>0)console.log(),console.log(A.warn(`Credentials file for ${X.join(", ")} is unreadable. Re-login with \`photon login --api-host <url>\`.`))})}var N0=class extends Error{constructor(D,F){super(F+"");this.status=D,this.value=F}},Pq=/(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))/,wq=/(?:Sun|Mon|Tue|Wed|Thu|Fri|Sat)\s(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s\d{2}\s\d{4}\s\d{2}:\d{2}:\d{2}\sGMT(?:\+|-)\d{4}\s\([^)]+\)/,xq=/^(?:(?:(?:(?:0?[1-9]|[12][0-9]|3[01])[/\s-](?:0?[1-9]|1[0-2])[/\s-](?:19|20)\d{2})|(?:(?:19|20)\d{2}[/\s-](?:0?[1-9]|1[0-2])[/\s-](?:0?[1-9]|[12][0-9]|3[01]))))(?:\s(?:1[012]|0?[1-9]):[0-5][0-9](?::[0-5][0-9])?(?:\s[AP]M)?)?$/,kq=(D)=>D.trim().length!==0&&!Number.isNaN(Number(D)),w8=(D,F)=>{if(typeof D!="string"||F?.parseDate===!1)return null;let u=D.replace(/"/g,"");if(Pq.test(u)||wq.test(u)||xq.test(u)){let E=new Date(u);if(!Number.isNaN(E.getTime()))return E}return null},yq=(D)=>{let F=D.charCodeAt(0),u=D.charCodeAt(D.length-1);return F===123&&u===125||F===91&&u===93},bq=(D,F)=>JSON.parse(D,(u,E)=>{return w8(E,F)||E}),c0=(D,F)=>{if(!D)return D;if(kq(D))return+D;if(D==="true")return!0;if(D==="false")return!1;if(F?.parseDate!==!1){let u=w8(D,F);if(u)return u}if(yq(D))try{return bq(D,F)}catch{}return D},$u=(D,F)=>{let u=D.data.toString();return u==="null"?null:c0(u,F)};var fq=class{constructor(D){this.url=D,this.ws=new WebSocket(D)}ws;send(D){return Array.isArray(D)?(D.forEach((F)=>this.send(F)),this):(this.ws.send(typeof D=="object"?JSON.stringify(D):D.toString()),this)}on(D,F,u){return this.addEventListener(D,F,u)}off(D,F,u){return this.ws.removeEventListener(D,F,u),this}subscribe(D,F){return this.addEventListener("message",D,F)}addEventListener(D,F,u){return this.ws.addEventListener(D,(E)=>{if(D==="message"){let B=$u(E);F({...E,data:B})}else F(E)},u),this}removeEventListener(D,F,u){return this.off(D,F,u),this}close(){return this.ws.close(),this}},vq=["get","post","put","delete","patch","options","head","connect","subscribe"],qC=(D,F)=>typeof F=="function"?F(D):F===!0,WC=["localhost","127.0.0.1","0.0.0.0"],Iu=typeof FileList>"u",x8=(D)=>Iu?D instanceof Blob:D instanceof FileList||D instanceof File,hq=(D)=>{if(!D)return!1;for(let F in D)if(x8(D[F])||Array.isArray(D[F])&&D[F].find(x8))return!0;return!1},Vu=(D)=>Iu?D:new Promise((F)=>{let u=new FileReader;u.onload=()=>{let E=new File([u.result],D.name,{lastModified:D.lastModified,type:D.type});F(E)},u.readAsArrayBuffer(D)}),l0=async(D,F,u={},E={})=>{if(Array.isArray(D)){for(let B of D)if(!Array.isArray(B))E=await l0(B,F,u,E);else{let C=B[0];if(typeof C=="string")E[C.toLowerCase()]=B[1];else for(let[Z,J]of C)E[Z.toLowerCase()]=J}return E}if(!D)return E;switch(typeof D){case"function":if(D instanceof Headers)return l0(D,F,u,E);let B=await D(F,u);return B?l0(B,F,u,E):E;case"object":if(D instanceof Headers)return D.forEach((C,Z)=>{E[Z.toLowerCase()]=C}),E;for(let[C,Z]of Object.entries(D))E[C.toLowerCase()]=Z;return E;default:return E}};function NC(D,F){let u=D.split(`
97
- `),E={};for(let B of u){if(!B||B.startsWith(":"))continue;let C=B.indexOf(":");if(C>0){let Z=B.slice(0,C).trim(),J=B.slice(C+1).replace(/^ /,"");E[Z]=J&&c0(J,F)}}return Object.keys(E).length>0?E:null}function*AC(D,F){let u;for(;(u=D.value.indexOf(`
30
+ `),this.outputHelp({error:!0});let B=F||{},E=B.exitCode||1,Z=B.code||"commander.error";this._exit(E,Z,D)}_parseOptionsEnv(){this.options.forEach((D)=>{if(D.envVar&&D.envVar in c.env){let F=D.attributeName();if(this.getOptionValue(F)===void 0||["default","config","env"].includes(this.getOptionValueSource(F)))if(D.required||D.optional)this.emit(`optionEnv:${D.name()}`,c.env[D.envVar]);else this.emit(`optionEnv:${D.name()}`)}})}_parseOptionsImplied(){let D=new k5(this.options),F=(B)=>{return this.getOptionValue(B)!==void 0&&!["default","implied"].includes(this.getOptionValueSource(B))};this.options.filter((B)=>B.implied!==void 0&&F(B.attributeName())&&D.valueFromOption(this.getOptionValue(B.attributeName()),B)).forEach((B)=>{Object.keys(B.implied).filter((E)=>!F(E)).forEach((E)=>{this.setOptionValueWithSource(E,B.implied[E],"implied")})})}missingArgument(D){let F=`error: missing required argument '${D}'`;this.error(F,{code:"commander.missingArgument"})}optionMissingArgument(D){let F=`error: option '${D.flags}' argument missing`;this.error(F,{code:"commander.optionMissingArgument"})}missingMandatoryOptionValue(D){let F=`error: required option '${D.flags}' not specified`;this.error(F,{code:"commander.missingMandatoryOptionValue"})}_conflictingOption(D,F){let B=(J)=>{let Y=J.attributeName(),H=this.getOptionValue(Y),Q=this.options.find((C)=>C.negate&&Y===C.attributeName()),X=this.options.find((C)=>!C.negate&&Y===C.attributeName());if(Q&&(Q.presetArg===void 0&&H===!1||Q.presetArg!==void 0&&H===Q.presetArg))return Q;return X||J},E=(J)=>{let Y=B(J),H=Y.attributeName();if(this.getOptionValueSource(H)==="env")return`environment variable '${Y.envVar}'`;return`option '${Y.flags}'`},Z=`error: ${E(D)} cannot be used with ${E(F)}`;this.error(Z,{code:"commander.conflictingOption"})}unknownOption(D){if(this._allowUnknownOption)return;let F="";if(D.startsWith("--")&&this._showSuggestionAfterError){let E=[],Z=this;do{let J=Z.createHelp().visibleOptions(Z).filter((Y)=>Y.long).map((Y)=>Y.long);E=E.concat(J),Z=Z.parent}while(Z&&!Z._enablePositionalOptions);F=J8(D,E)}let B=`error: unknown option '${D}'${F}`;this.error(B,{code:"commander.unknownOption"})}_excessArguments(D){if(this._allowExcessArguments)return;let F=this.registeredArguments.length,B=F===1?"":"s",Z=`error: too many arguments${this.parent?` for '${this.name()}'`:""}. Expected ${F} argument${B} but got ${D.length}.`;this.error(Z,{code:"commander.excessArguments"})}unknownCommand(){let D=this.args[0],F="";if(this._showSuggestionAfterError){let E=[];this.createHelp().visibleCommands(this).forEach((Z)=>{if(E.push(Z.name()),Z.alias())E.push(Z.alias())}),F=J8(D,E)}let B=`error: unknown command '${D}'${F}`;this.error(B,{code:"commander.unknownCommand"})}version(D,F,B){if(D===void 0)return this._version;this._version=D,F=F||"-V, --version",B=B||"output the version number";let E=this.createOption(F,B);return this._versionOptionName=E.attributeName(),this._registerOption(E),this.on("option:"+E.name(),()=>{this._outputConfiguration.writeOut(`${D}
31
+ `),this._exit(0,"commander.version",D)}),this}description(D,F){if(D===void 0&&F===void 0)return this._description;if(this._description=D,F)this._argsDescription=F;return this}summary(D){if(D===void 0)return this._summary;return this._summary=D,this}alias(D){if(D===void 0)return this._aliases[0];let F=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler)F=this.commands[this.commands.length-1];if(D===F._name)throw Error("Command alias can't be the same as its name");let B=this.parent?._findCommand(D);if(B){let E=[B.name()].concat(B.aliases()).join("|");throw Error(`cannot add alias '${D}' to command '${this.name()}' as already have command '${E}'`)}return F._aliases.push(D),this}aliases(D){if(D===void 0)return this._aliases;return D.forEach((F)=>this.alias(F)),this}usage(D){if(D===void 0){if(this._usage)return this._usage;let F=this.registeredArguments.map((B)=>{return f5(B)});return[].concat(this.options.length||this._helpOption!==null?"[options]":[],this.commands.length?"[command]":[],this.registeredArguments.length?F:[]).join(" ")}return this._usage=D,this}name(D){if(D===void 0)return this._name;return this._name=D,this}helpGroup(D){if(D===void 0)return this._helpGroupHeading??"";return this._helpGroupHeading=D,this}commandsGroup(D){if(D===void 0)return this._defaultCommandGroup??"";return this._defaultCommandGroup=D,this}optionsGroup(D){if(D===void 0)return this._defaultOptionGroup??"";return this._defaultOptionGroup=D,this}_initOptionGroup(D){if(this._defaultOptionGroup&&!D.helpGroupHeading)D.helpGroup(this._defaultOptionGroup)}_initCommandGroup(D){if(this._defaultCommandGroup&&!D.helpGroup())D.helpGroup(this._defaultCommandGroup)}nameFromFilename(D){return this._name=fD.basename(D,fD.extname(D)),this}executableDir(D){if(D===void 0)return this._executableDir;return this._executableDir=D,this}helpInformation(D){let F=this.createHelp(),B=this._getOutputContext(D);F.prepareContext({error:B.error,helpWidth:B.helpWidth,outputHasColors:B.hasColors});let E=F.formatHelp(this,F);if(B.hasColors)return E;return this._outputConfiguration.stripColor(E)}_getOutputContext(D){D=D||{};let F=!!D.error,B,E,Z;if(F)B=(Y)=>this._outputConfiguration.writeErr(Y),E=this._outputConfiguration.getErrHasColors(),Z=this._outputConfiguration.getErrHelpWidth();else B=(Y)=>this._outputConfiguration.writeOut(Y),E=this._outputConfiguration.getOutHasColors(),Z=this._outputConfiguration.getOutHelpWidth();return{error:F,write:(Y)=>{if(!E)Y=this._outputConfiguration.stripColor(Y);return B(Y)},hasColors:E,helpWidth:Z}}outputHelp(D){let F;if(typeof D==="function")F=D,D=void 0;let B=this._getOutputContext(D),E={error:B.error,write:B.write,command:this};this._getCommandAndAncestors().reverse().forEach((J)=>J.emit("beforeAllHelp",E)),this.emit("beforeHelp",E);let Z=this.helpInformation({error:B.error});if(F){if(Z=F(Z),typeof Z!=="string"&&!Buffer.isBuffer(Z))throw Error("outputHelp callback must return a string or a Buffer")}if(B.write(Z),this._getHelpOption()?.long)this.emit(this._getHelpOption().long);this.emit("afterHelp",E),this._getCommandAndAncestors().forEach((J)=>J.emit("afterAllHelp",E))}helpOption(D,F){if(typeof D==="boolean"){if(D){if(this._helpOption===null)this._helpOption=void 0;if(this._defaultOptionGroup)this._initOptionGroup(this._getHelpOption())}else this._helpOption=null;return this}if(this._helpOption=this.createOption(D??"-h, --help",F??"display help for command"),D||F)this._initOptionGroup(this._helpOption);return this}_getHelpOption(){if(this._helpOption===void 0)this.helpOption(void 0,void 0);return this._helpOption}addHelpOption(D){return this._helpOption=D,this._initOptionGroup(D),this}help(D){this.outputHelp(D);let F=Number(c.exitCode??0);if(F===0&&D&&typeof D!=="function"&&D.error)F=1;this._exit(F,"commander.help","(outputHelp)")}addHelpText(D,F){let B=["beforeAll","before","after","afterAll"];if(!B.includes(D))throw Error(`Unexpected value for position to addHelpText.
32
+ Expecting one of '${B.join("', '")}'`);let E=`${D}Help`;return this.on(E,(Z)=>{let J;if(typeof F==="function")J=F({error:Z.error,command:Z.command});else J=F;if(J)Z.write(`${J}
33
+ `)}),this}_outputHelpIfRequested(D){let F=this._getHelpOption();if(F&&D.find((E)=>F.is(E)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}function Y8(D){return D.map((F)=>{if(!F.startsWith("--inspect"))return F;let B,E="127.0.0.1",Z="9229",J;if((J=F.match(/^(--inspect(-brk)?)$/))!==null)B=J[1];else if((J=F.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null)if(B=J[1],/^\d+$/.test(J[3]))Z=J[3];else E=J[3];else if((J=F.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null)B=J[1],E=J[3],Z=J[4];if(B&&Z!=="0")return`${B}=${E}:${parseInt(Z)+1}`;return F})}function GF(){if(c.env.NO_COLOR||c.env.FORCE_COLOR==="0"||c.env.FORCE_COLOR==="false")return!1;if(c.env.FORCE_COLOR||c.env.CLICOLOR_FORCE!==void 0)return!0;return}P5.Command=KF;P5.useColor=GF});var qF=w((b5)=>{var{Argument:X8}=h0(),{Command:zF}=H8(),{CommanderError:w5,InvalidArgumentError:Q8}=Q0(),{Help:x5}=HF(),{Option:C8}=XF();b5.program=new zF;b5.createCommand=(D)=>new zF(D);b5.createOption=(D,F)=>new C8(D,F);b5.createArgument=(D,F)=>new X8(D,F);b5.Command=zF;b5.Option=C8;b5.Argument=X8;b5.Help=x5;b5.CommanderError=w5;b5.InvalidArgumentError=Q8;b5.InvalidOptionArgumentError=Q8});var K8=w((QD,G8)=>{var uD=qF();QD=G8.exports={};QD.program=new uD.Command;QD.Argument=uD.Argument;QD.Command=uD.Command;QD.CommanderError=uD.CommanderError;QD.Help=uD.Help;QD.InvalidArgumentError=uD.InvalidArgumentError;QD.InvalidOptionArgumentError=uD.InvalidArgumentError;QD.Option=uD.Option;QD.createCommand=(D)=>new uD.Command(D);QD.createOption=(D,F)=>new uD.Option(D,F);QD.createArgument=(D,F)=>new uD.Argument(D,F)});var fF=w((OY,m8)=>{var LF={to(D,F){if(!F)return`\x1B[${D+1}G`;return`\x1B[${F+1};${D+1}H`},move(D,F){let B="";if(D<0)B+=`\x1B[${-D}D`;else if(D>0)B+=`\x1B[${D}C`;if(F<0)B+=`\x1B[${-F}A`;else if(F>0)B+=`\x1B[${F}B`;return B},up:(D=1)=>`\x1B[${D}A`,down:(D=1)=>`\x1B[${D}B`,forward:(D=1)=>`\x1B[${D}C`,backward:(D=1)=>`\x1B[${D}D`,nextLine:(D=1)=>"\x1B[E".repeat(D),prevLine:(D=1)=>"\x1B[F".repeat(D),left:"\x1B[G",hide:"\x1B[?25l",show:"\x1B[?25h",save:"\x1B7",restore:"\x1B8"},L7={up:(D=1)=>"\x1B[S".repeat(D),down:(D=1)=>"\x1B[T".repeat(D)},f7={screen:"\x1B[2J",up:(D=1)=>"\x1B[1J".repeat(D),down:(D=1)=>"\x1B[J".repeat(D),line:"\x1B[2K",lineEnd:"\x1B[K",lineStart:"\x1B[1K",lines(D){let F="";for(let B=0;B<D;B++)F+=this.line+(B<D-1?LF.up():"");if(D)F+=LF.left;return F}};m8.exports={cursor:LF,scroll:L7,erase:f7,beep:"\x07"}});class J0 extends Error{envName;constructor(D){super(`Not authenticated for backend "${D}".`);this.envName=D;this.name="NotAuthenticatedError"}}class nD extends Error{constructor(){super("Authorization was denied.");this.name="DeviceFlowDenied"}}class gD extends Error{constructor(){super("Device code expired.");this.name="DeviceFlowExpired"}}class k extends Error{envName;constructor(D){super(`Session expired for "${D}".`);this.envName=D;this.name="SessionExpiredError"}}var M3=ID($3(),1),s=ID(s2(),1),K={bold:s.default.bold,dim:s.default.dim,italic:s.default.italic,underline:s.default.underline,cyan:s.default.cyan,green:s.default.green,yellow:s.default.yellow,red:s.default.red,gray:s.default.gray,blue:s.default.blue,magenta:s.default.magenta,success:(D)=>s.default.green(`✓ ${D}`),error:(D)=>s.default.red(`✗ ${D}`),info:(D)=>s.default.cyan(`◆ ${D}`),warn:(D)=>s.default.yellow(`! ${D}`),hint:(D)=>s.default.dim(D)};function KD(D,F){let B=new M3.default({head:D.map((E)=>K.bold(E)),style:{head:[],border:["gray"]}});for(let E of F)B.push(E);console.log(B.toString())}function b(D){console.log(JSON.stringify(D,null,2))}function _(D){if(D instanceof Error)return D.message;if(typeof D==="string")return D;if(typeof D==="object"&&D!==null){let F=D,B=F.status?` [${F.status}]`:"";if(typeof F.value==="string")return F.value+B;if(typeof F.value==="object"&&F.value!==null){let E=F.value;if(E.error)return String(E.error)+B;if(E.message)return String(E.message)+B}return JSON.stringify(F.value??D)+B}return String(D)}function W(D,F={}){if(console.error(K.error(D)),F.hint)console.error(K.hint(` Hint: ${F.hint}`));if(F.context)console.error(K.dim(` ${F.context}`));process.exit(F.code??1)}import T9 from"update-notifier";var M9=()=>Boolean(process.stdout.isTTY),V9=()=>Boolean(process.stdin.isTTY),A9=()=>Boolean(process.env.CI||process.env.GITHUB_ACTIONS||process.env.GITLAB_CI||process.env.CIRCLECI||process.env.BUILDKITE||process.env.TF_BUILD);var XD=()=>M9()&&V9()&&!A9();var ED={name:"@photon-ai/cli",version:"2.1.0",description:"Photon CLI — typed terminal UI for the Photon Dashboard. Binary: `photon` (alias `pho`).",keywords:["photon","cli","dashboard","spectrum","messaging","imessage","developer-tools"],author:"Photon",license:"MIT",homepage:"https://github.com/photon-hq/cli#readme",repository:{type:"git",url:"git+https://github.com/photon-hq/cli.git"},bugs:{url:"https://github.com/photon-hq/cli/issues"},type:"module",bin:{photon:"./dist/photon.js",pho:"./dist/photon.js"},files:["dist","README.md"],publishConfig:{access:"public"},engines:{bun:">=1.3.0",node:">=18.0.0"},scripts:{start:"bun run src/index.ts",dev:"bun run --watch src/index.ts",build:"bun build ./src/index.ts --outfile dist/photon.js --target node --minify --external update-notifier && chmod +x dist/photon.js",compile:"bun build ./src/index.ts --compile --outfile dist/photon",typecheck:"tsc --noEmit",test:"bun test",check:"bun run typecheck && bun test && bun run build",manifest:"bun run scripts/generate-route-manifest.ts",prepublishOnly:"bun run typecheck && bun run build"},devDependencies:{"@photon-ai/dashboard-api":"1.6.12","@types/bun":"latest","@types/node":"^25.6.2","@types/semver":"^7.7.1","@types/update-notifier":"^6.0.8",elysia:"1.4.28",typescript:"^5"},dependencies:{"@clack/prompts":"^1.2.0","@commander-js/extra-typings":"^14.0.0","@elysiajs/eden":"1.4.9","better-auth":"1.4.18","cli-table3":"^0.6.5",commander:"^14.0.3",open:"^11.0.0",picocolors:"^1.1.1",semver:"^7.8.5","update-notifier":"^7.3.1"}};function V3(D={}){if(!(D.interactive??XD)())return;if(process.env.PHOTON_NO_UPDATE_NOTIFIER==="1")return;(D.createNotifier??T9)({pkg:{name:ED.name,version:ED.version},updateCheckInterval:86400000}).notify({defer:!0,isGlobal:!0})}var a3=ID(v3(),1),v0=ID(d3(),1);import{spawn as p3}from"node:child_process";import{createHash as r9}from"node:crypto";import LD from"node:fs";import EF from"node:path";import s9 from"update-notifier";var ZF=["npm","pnpm","yarn","bun"];async function o9(){let D=process.env.NO_UPDATE_NOTIFIER;process.env.NO_UPDATE_NOTIFIER="1";let F;try{({latest:F}=await s9({pkg:{name:ED.name,version:ED.version}}).fetchInfo())}catch(B){throw Error("Could not reach the Photon update registry.",{cause:B})}finally{if(D===void 0)delete process.env.NO_UPDATE_NOTIFIER;else process.env.NO_UPDATE_NOTIFIER=D}if(!v0.default(F))throw Error("The Photon update registry returned an invalid version.");return F}function JF(D){try{return LD.realpathSync.native(D)}catch{return EF.resolve(D)}}function t9(D=process.argv[1]??"",F=process.execPath,B=process.env){if(!D)return{kind:"unknown",entryPath:D};let E=EF.resolve(D),Z=JF(D),J=JF(F),Y=D.replaceAll("\\","/");if(Z===J||Y.startsWith("/$bunfs/root/"))return{kind:"standalone",entryPath:EF.resolve(F)};let H=Z.replaceAll("\\","/").toLowerCase();if(H.includes("/.npm/_npx/")||H.includes("/.bun/install/cache/@photon-ai/cli@")||H.includes("/node_modules/.cache/bunx-")||H.includes("/tmp/dlx-")&&H.includes("/node_modules/"))return{kind:"ephemeral",entryPath:E};if(H.includes("/.bun/install/global/"))return{kind:"bun",entryPath:E};if(H.includes("/pnpm/global/")||H.includes("/.pnpm/global/"))return{kind:"pnpm",entryPath:E};if(H.includes("/.config/yarn/global/")||H.includes("/yarn/global/"))return{kind:"yarn",entryPath:E};if(H.includes("/lib/node_modules/@photon-ai/cli/")||H.includes("/npm/node_modules/@photon-ai/cli/"))return{kind:"npm",entryPath:E};let Q=/^yarn\/(\d+)(?:\.|\s|$)/i.exec(B.npm_config_user_agent??"")?.[1];if(Q&&Number(Q)>=2){let X=(B.INIT_CWD??"").replaceAll("\\","/"),C=/\/dlx-[^/]+(?:\/|$)/i;if(C.test(Y)&&(Y.includes("/.yarn/")||C.test(X)))return{kind:"yarn-dlx",entryPath:E};return{kind:"yarn-berry",entryPath:E}}if(!H.includes("/node_modules/@photon-ai/cli/"))return{kind:"development",entryPath:E};return{kind:"unknown",entryPath:E}}function i3(D){if(ZF.includes(D))return D;throw Error(`Unknown installer "${D}". Expected one of: ${ZF.join(", ")}.`)}function e9(D,F,B=!1){let E=`${ED.name}@${F}`,Z=B?["--force"]:[];if(D==="npm")return{command:D,args:["install","--global",...Z,E]};if(D==="yarn")return{command:D,args:["global","add",...Z,E]};return{command:D,args:["add","--global",...Z,E]}}async function D5(D,F){await new Promise((B,E)=>{let Z=p3(D.command,D.args,{shell:!1,stdio:F?["ignore","ignore","pipe"]:"inherit"}),J="";Z.stderr?.on("data",(Y)=>{J=(J+String(Y)).slice(-8192)}),Z.on("error",(Y)=>{E(Error(`Could not start ${D.command}. Make sure it is installed and on PATH.`,{cause:Y}))}),Z.on("close",(Y,H)=>{if(Y===0){B();return}let Q=J.trim(),X=H?`signal ${H}`:`exit code ${Y??"unknown"}`;E(Error(`The ${D.command} updater failed with ${X}.${Q?` ${Q}`:""}`))})})}async function F5(D,F){let B=await new Promise((E,Z)=>{let J=p3(process.execPath,[D,"--version"],{shell:!1,stdio:["ignore","pipe","pipe"],env:{...process.env,PHOTON_NO_UPDATE_NOTIFIER:"1"}}),Y="",H="";J.stdout.on("data",(Q)=>{Y=(Y+String(Q)).slice(-8192)}),J.stderr.on("data",(Q)=>{H=(H+String(Q)).slice(-8192)}),J.on("error",(Q)=>{Z(Error("Could not launch the updated Photon executable.",{cause:Q}))}),J.on("close",(Q,X)=>{if(Q===0){E(Y.trim());return}let C=X?`signal ${X}`:`exit code ${Q??"unknown"}`;Z(Error(`The updated Photon executable failed with ${C}.${H.trim()?` ${H.trim()}`:""}`))})});if(B!==F)throw Error(`The installer completed, but ${D} reports ${B||"no version"} instead of ${F}.`)}function B5(){let D=process.platform==="darwin"?"darwin":process.platform;if(D!=="darwin"&&D!=="linux")throw Error(`Standalone updates are not supported on ${process.platform}.`);if(process.arch!=="arm64"&&process.arch!=="x64")throw Error(`Standalone updates are not supported on ${process.arch}.`);return`photon-${D}-${process.arch}`}async function E5(D,F,B={}){let E=B5(),J=`${(B.releaseBase??"https://github.com/photon-hq/cli/releases/download").replace(/\/$/,"")}/v${F}/${E}`,Y={signal:AbortSignal.timeout(60000)},H,Q;try{[H,Q]=await Promise.all([fetch(J,Y),fetch(`${J}.sha256`,Y)])}catch(z){throw Error("Could not reach the Photon release downloads.",{cause:z})}if(!H.ok||!Q.ok)throw Error(`Could not download Photon ${F} (${H.status}/${Q.status}).`);let X;try{X=await Q.text()}catch(z){throw Error("Could not read the Photon release checksum.",{cause:z})}let C=X.trim().split(/\s+/,1)[0]?.toLowerCase();if(!C||!/^[a-f0-9]{64}$/.test(C))throw Error("The standalone checksum file is invalid.");let G=JF(D),u=`${G}.update-${process.pid}-${Date.now()}`,q;try{if(!H.body)throw Error("The standalone download returned an empty body.");let z;try{let $=LD.statSync(G).mode&511;q=LD.openSync(u,"wx",$||493);let M=r9("sha256"),I=H.body.getReader();while(!0){let{done:V,value:N}=await I.read();if(V)break;M.update(N);let U=0;while(U<N.byteLength){let R=LD.writeSync(q,N,U,N.byteLength-U);if(R===0)throw Error("Writing the update made no progress.");U+=R}}LD.fsyncSync(q),LD.closeSync(q),q=void 0,z=M.digest("hex")}catch($){throw Error(`Could not stage the Photon update beside ${G}. Check the download and file permissions.`,{cause:$})}if(z!==C)throw Error("The downloaded Photon binary failed checksum verification.");try{LD.renameSync(u,G)}catch($){throw Error(`Could not replace ${G}. Check that the file is writable.`,{cause:$})}}finally{if(q!==void 0)try{LD.closeSync(q)}catch{}try{LD.rmSync(u,{force:!0})}catch{}}}function n3(D){return D.slice(2).find((B)=>!B.startsWith("-"))==="update"}function l3(D){if(D.kind==="npm"||D.kind==="pnpm"||D.kind==="yarn"||D.kind==="bun"||D.kind==="standalone")return D.kind;if(D.kind==="ephemeral")throw Error(`A one-off Photon invocation cannot update itself. Run your package runner with ${ED.name}@latest instead.`);if(D.kind==="development")throw Error("A development checkout cannot update itself. Update the checkout with Git instead.");if(D.kind==="yarn-dlx")throw Error(`A Yarn dlx invocation cannot update itself. Run \`yarn dlx --package ${ED.name}@latest photon\` instead.`);if(D.kind==="yarn-berry")throw Error(`Yarn 2+ does not provide global installs. Run \`yarn up ${ED.name}\` from the project that owns this dependency.`);throw Error(`Cannot detect this Photon installation automatically. Re-run with --installer ${ZF.join("|")}.`)}function Z5(D,F){if(!F)return l3(D);if(D.kind==="unknown")return F;if(D.kind===F)return F;if(D.kind==="development"||D.kind==="ephemeral")return l3(D);throw Error(`This Photon invocation was detected as ${D.kind}; refusing to update a different ${F} installation.`)}async function r3(D={},F={}){let B=F.currentVersion??ED.version,E=await(F.latestVersion??o9)();if(!v0.default(B)||!v0.default(E))throw Error("Cannot compare invalid Photon release versions.");let Z=a3.default(E,B);if(!Z&&!D.force)return{status:"up-to-date",currentVersion:B,latestVersion:E,installer:null};if(D.check)return{status:Z?"update-available":"up-to-date",currentVersion:B,latestVersion:E,installer:null};let J=F.installation??t9(),Y=Z5(J,D.installer),H=Z?E:B;if(Y==="standalone")await(F.replaceStandalone??E5)(J.entryPath,H);else await(F.runInstaller??D5)(e9(Y,H,D.force),D.quiet??!1),await(F.verifyInstalled??F5)(J.entryPath,H);return{status:Z?"updated":"reinstalled",currentVersion:B,latestVersion:E,installer:Y}}var z8=ID(K8(),1),{program:LJ,createCommand:fJ,createArgument:SJ,createOption:_J,CommanderError:kJ,InvalidArgumentError:PJ,InvalidOptionArgumentError:OJ,Command:q8,Argument:yJ,Option:wJ,Help:xJ}=z8.default;import{existsSync as u8,renameSync as r5}from"node:fs";import W8 from"node:os";import oD from"node:path";var $8="https://app.photon.codes";function s5(D){return D??process.env.PHOTON_API_HOST??$8}function uF(D){try{return new URL(D).origin}catch{throw Error(`Invalid API host URL: "${D}". Must include scheme — e.g. https://your.host.tld.`)}}function U8(D){let F=uF(s5(D));return{name:o5(F),url:F}}function o5(D){let F;try{F=new URL(D)}catch{throw Error(`Invalid API host URL: "${D}". Must include scheme — e.g. https://your.host.tld.`)}if(F.origin===$8)return"production";let B=F.hostname.toLowerCase().replace(/[[\]]/g,"").replace(/[.:%]/g,"_"),E=F.port?`_${F.port}`:"",Z=`${B}${E}`;if(Z.length>64)throw Error(`API host "${D}" produces a key longer than 64 characters (got ${Z.length}). Use a shorter hostname or alias the host in your local hosts file / DNS.`);return Z}var t5=/^[a-z0-9_][a-z0-9_-]{0,63}$/;function e5(D){if(!t5.test(D))throw Error(`Invalid environment key "${D}" — must be 1-64 chars, `+"start with a-z, 0-9, or '_', and only contain a-z, 0-9, '-', '_'.")}function m0(){let D=process.env.PHOTON_CONFIG_DIR??process.env.DASHBOARD_CONFIG_DIR;if(D)return D;let F=process.env.XDG_CONFIG_HOME,B=F?oD.join(F,"photon"):oD.join(W8.homedir(),".config","photon"),E=F?oD.join(F,"photon-dashboard"):oD.join(W8.homedir(),".config","photon-dashboard"),Z=B;if(!u8(B)&&u8(E))try{r5(E,B)}catch{Z=E}return Z}var WF=()=>oD.join(m0(),"credentials"),c0=(D)=>{return e5(D),oD.join(WF(),`${D}.json`)};async function JD(D){return U8(D)}import{chmod as D7,mkdir as F7,readdir as B7,readFile as E7,unlink as Z7,writeFile as J7}from"node:fs/promises";import{dirname as Y7}from"node:path";async function tD(D){try{let F=await E7(c0(D),"utf-8");return JSON.parse(F)}catch{return null}}async function N8(D){let F=c0(D.envName);await F7(Y7(F),{recursive:!0}),await J7(F,JSON.stringify(D,null,2)+`
34
+ `,"utf-8"),await D7(F,384)}async function M8(D){let F=c0(D);try{await Z7(F)}catch(B){if(B.code!=="ENOENT")throw B}}async function d0(){try{return(await B7(WF())).filter((F)=>F.endsWith(".json")).map((F)=>F.slice(0,-5)).sort()}catch(D){if(D.code==="ENOENT")return[];throw D}}function V8(D){D.command("auth").description("inspect authentication state across backends").command("status").description("show login status for every backend you've authenticated against").option("--json","output JSON").action(async(B)=>{let E=await JD(),Z=await d0(),J=Array.from(new Set([E.name,...Z])).sort(),Y=await Promise.all(J.map(async(X)=>{let C=await tD(X);if(!C)return{name:X,url:X===E.name?E.url:null,loggedIn:!1,user:null,issuedAt:null,corrupt:Z.includes(X)};return{name:X,url:C.apiUrl,loggedIn:!0,user:C.user,issuedAt:C.issuedAt,corrupt:!1}}));if(B.json)return b(Y);let H=Y.map((X)=>[X.name===E.name?K.green("●"):" ",X.name,X.url??K.dim("—"),X.loggedIn?K.green(X.user?.email??"yes"):X.corrupt?K.yellow("corrupt"):K.dim("no"),X.issuedAt?new Date(X.issuedAt).toLocaleDateString():K.dim("—")]);KD(["","key","url","logged in","since"],H);let Q=Y.filter((X)=>X.corrupt).map((X)=>X.name);if(Q.length>0)console.log(),console.log(K.warn(`Credentials file for ${Q.join(", ")} is unreadable. Re-login with \`photon login --api-host <url>\`.`))})}var kD=class extends Error{constructor(D,F){super(F+"");this.status=D,this.value=F}},H7=/(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))/,X7=/(?:Sun|Mon|Tue|Wed|Thu|Fri|Sat)\s(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s\d{2}\s\d{4}\s\d{2}:\d{2}:\d{2}\sGMT(?:\+|-)\d{4}\s\([^)]+\)/,Q7=/^(?:(?:(?:(?:0?[1-9]|[12][0-9]|3[01])[/\s-](?:0?[1-9]|1[0-2])[/\s-](?:19|20)\d{2})|(?:(?:19|20)\d{2}[/\s-](?:0?[1-9]|1[0-2])[/\s-](?:0?[1-9]|[12][0-9]|3[01]))))(?:\s(?:1[012]|0?[1-9]):[0-5][0-9](?::[0-5][0-9])?(?:\s[AP]M)?)?$/,C7=(D)=>D.trim().length!==0&&!Number.isNaN(Number(D)),l0=(D,F)=>{if(typeof D!="string"||F?.parseDate===!1)return null;let B=D.replace(/"/g,"");if(H7.test(B)||X7.test(B)||Q7.test(B)){let E=new Date(B);if(!Number.isNaN(E.getTime()))return E}return null},G7=(D)=>{let F=D.charCodeAt(0),B=D.charCodeAt(D.length-1);return F===123&&B===125||F===91&&B===93},K7=(D,F)=>JSON.parse(D,(B,E)=>{return l0(E,F)||E}),cD=(D,F)=>{if(!D)return D;if(C7(D))return+D;if(D==="true")return!0;if(D==="false")return!1;if(F?.parseDate!==!1){let B=l0(D,F);if(B)return B}if(G7(D))try{return K7(D,F)}catch{}return D},$F=(D,F)=>{let B=D.data.toString();return B==="null"?null:cD(B,F)};var z7=class{constructor(D){this.url=D,this.ws=new WebSocket(D)}ws;send(D){return Array.isArray(D)?(D.forEach((F)=>this.send(F)),this):(this.ws.send(typeof D=="object"?JSON.stringify(D):D.toString()),this)}on(D,F,B){return this.addEventListener(D,F,B)}off(D,F,B){return this.ws.removeEventListener(D,F,B),this}subscribe(D,F){return this.addEventListener("message",D,F)}addEventListener(D,F,B){return this.ws.addEventListener(D,(E)=>{if(D==="message"){let Z=$F(E);F({...E,data:Z})}else F(E)},B),this}removeEventListener(D,F,B){return this.off(D,F,B),this}close(){return this.ws.close(),this}},q7=["get","post","put","delete","patch","options","head","connect","subscribe"],A8=(D,F)=>typeof F=="function"?F(D):F===!0,I8=["localhost","127.0.0.1","0.0.0.0"],NF=typeof FileList>"u",p0=(D)=>NF?D instanceof Blob:D instanceof FileList||D instanceof File,u7=(D)=>{if(!D)return!1;for(let F in D)if(p0(D[F])||Array.isArray(D[F])&&D[F].find(p0))return!0;return!1},UF=(D)=>NF?D:new Promise((F)=>{let B=new FileReader;B.onload=()=>{let E=new File([B.result],D.name,{lastModified:D.lastModified,type:D.type});F(E)},B.readAsArrayBuffer(D)}),dD=async(D,F,B={},E={})=>{if(Array.isArray(D)){for(let Z of D)if(!Array.isArray(Z))E=await dD(Z,F,B,E);else{let J=Z[0];if(typeof J=="string")E[J.toLowerCase()]=Z[1];else for(let[Y,H]of J)E[Y.toLowerCase()]=H}return E}if(!D)return E;switch(typeof D){case"function":if(D instanceof Headers)return dD(D,F,B,E);let Z=await D(F,B);return Z?dD(Z,F,B,E):E;case"object":if(D instanceof Headers)return D.forEach((J,Y)=>{E[Y.toLowerCase()]=J}),E;for(let[J,Y]of Object.entries(D))E[J.toLowerCase()]=Y;return E;default:return E}};function R8(D,F){let B=D.split(`
35
+ `),E={};for(let Z of B){if(!Z||Z.startsWith(":"))continue;let J=Z.indexOf(":");if(J>0){let Y=Z.slice(0,J).trim(),H=Z.slice(J+1).replace(/^ /,"");E[Y]=H&&cD(H,F)}}return Object.keys(E).length>0?E:null}function*j8(D,F){let B;for(;(B=D.value.indexOf(`
98
36
 
99
- `))!==-1;){let E=D.value.slice(0,u);if(D.value=D.value.slice(u+2),E.trim()){let B=NC(E,F);B&&(yield B)}}}async function*UC(D,F){let u=D.body;if(!u)return;let E=u.getReader(),B=new TextDecoder("utf-8");if(D.headers.get("Content-Type")?.startsWith("text/event-stream")){let C={value:""};try{for(;;){let{done:J,value:X}=await E.read();if(J)break;let Y=typeof X=="string"?X:B.decode(X,{stream:!0});C.value+=Y,yield*AC(C,F)}let Z=B.decode();if(Z&&(C.value+=Z),yield*AC(C,F),C.value.trim()){let J=NC(C.value,F);J&&(yield J)}}finally{E.releaseLock()}}else try{for(;;){let{done:C,value:Z}=await E.read();if(C)break;yield c0(typeof Z=="string"?Z:B.decode(Z,{stream:!0}),{parseDate:F?.parseDate})}}finally{E.releaseLock()}}var F2=(D,F,u=[],E)=>new Proxy(()=>{},{get(B,C){if(C==="~path")return"/"+u.join("/");if(!(u.length===0&&(C==="then"||C==="catch"||C==="finally")))return F2(D,F,[...u,C],E)},apply(B,C,[Z,J]){if(!Z||J||typeof Z=="object"&&Object.keys(Z).length!==1||vq.includes(u.at(-1))){let X=[...u],Y=X.pop(),H="/"+X.join("/"),{fetcher:G=fetch,headers:K,onRequest:Q,onResponse:z,fetch:q}=F,W=Y==="get"||Y==="head"||Y==="subscribe",N=W?Z?.query:J?.query,M="";if(N){let $=(U,j)=>{j!=null&&(j instanceof Date&&(j=j.toISOString()),M+=(M?"&":"?")+`${encodeURIComponent(U)}=${encodeURIComponent(typeof j=="object"?JSON.stringify(j):j+"")}`)};for(let[U,j]of Object.entries(N)){if(Array.isArray(j)){for(let P of j)$(U,P);continue}$(U,j)}}if(Y==="subscribe"){let $=D.replace(/^([^]+):\/\//,D.startsWith("https://")?"wss://":D.startsWith("http://")||WC.find((U)=>D.includes(U))?"ws://":"wss://")+H+M;return new fq($)}return(async()=>{K=await l0(K,H,J);let $={method:Y?.toUpperCase(),body:Z,...q,headers:K};$.headers={...K,...await l0(W?Z?.headers:J?.headers,H,$)};let U=W&&typeof Z=="object"?Z.fetch:J?.fetch,j=(W&&typeof Z=="object"?Z.throwHttpError:J?.throwHttpError)??F.throwHttpError;if($={...$,...U},W&&delete $.body,Q){Array.isArray(Q)||(Q=[Q]);for(let _ of Q){let O=await _(H,$);typeof O=="object"&&($={...$,...O,headers:{...$.headers,...await l0(O.headers,H,$)}})}}if(W&&delete $.body,hq(Z)){let _=new FormData,O=(w)=>{if(typeof w=="string"||x8(w))return!1;if(typeof w=="object"){if(w!==null)return!0;if(w instanceof Date)return!1}return!1},g=async(w)=>w instanceof File?await Vu(w):O(w)?JSON.stringify(w):w;for(let[w,R]of Object.entries($.body)){if(Array.isArray(R)){if(R.some((S)=>typeof S=="object"&&S!==null&&!x8(S)))_.append(w,JSON.stringify(R));else for(let S=0;S<R.length;S++){let b=R[S],f=await g(b);_.append(w,f)}continue}if(Iu){if(Array.isArray(R))for(let S of R)_.append(w,await g(S));else _.append(w,await g(R));continue}if(R instanceof File){_.append(w,await Vu(R));continue}if(R instanceof FileList){for(let S=0;S<R.length;S++)_.append(w,await Vu(R[S]));continue}_.append(w,await g(R))}$.body=_}else typeof Z=="object"?($.headers["content-type"]="application/json",$.body=JSON.stringify(Z)):Z!=null&&($.headers["content-type"]="text/plain");if(W&&delete $.body,Q){Array.isArray(Q)||(Q=[Q]);for(let _ of Q){let O=await _(H,$);typeof O=="object"&&($={...$,...O,headers:{...$.headers,...await l0(O.headers,H,$)}})}}J?.headers?.["content-type"]&&($.headers["content-type"]=J?.headers["content-type"]);let P=D+H+M,L;try{L=await(E?.handle(new Request(P,$))??G(P,$))}catch(_){let O=new N0(503,_);if(qC(O,j))throw O;return{data:null,error:O,response:void 0,status:503,headers:void 0}}let v=null,I=null;if(z){Array.isArray(z)||(z=[z]);for(let _ of z)try{let O=await _(L.clone());if(O!=null){v=O;break}}catch(O){O instanceof N0?I=O:I=new N0(422,O);break}}if(v!==null)return{data:v,error:I,response:L,status:L.status,headers:L.headers};switch(L.headers.get("Content-Type")?.split(";")[0]){case"text/event-stream":v=UC(L,{parseDate:F.parseDate});break;case"application/json":v=JSON.parse(await L.text(),(O,g)=>{if(typeof g!="string")return g;return w8(g,{parseDate:F.parseDate})||g});break;case"application/octet-stream":v=await L.arrayBuffer();break;case"multipart/form-data":let _=await L.formData();v={},_.forEach((O,g)=>{v[g]=O});break;default:L.headers.get("content-type")?.startsWith("text/")&&L.headers.get("transfer-encoding")==="chunked"&&!L.headers.has("content-length")?v=UC(L,{parseDate:F.parseDate}):v=await L.text().then((O)=>c0(O,{parseDate:F.parseDate}))}if(L.status>=300||L.status<200){if(I=new N0(L.status,v),qC(I,j))throw I;v=null}return{data:v,error:I,response:L,status:L.status,headers:L.headers}})()}return typeof Z=="object"?F2(D,F,[...u,Object.values(Z)[0]],E):F2(D,F,u)}}),Mu=(D,F={})=>typeof D=="string"?(F.keepDomain||(D.includes("://")||(D=(WC.find((u)=>D.includes(u))?"http://":"https://")+D),D.endsWith("/")&&(D=D.slice(0,-1))),F2(D,F)):(typeof window<"u"&&console.warn("Elysia instance server found on client side, this is not recommended for security reason. Use generic type instead."),F2("http://e.ly",F,[],D));var $0=HD(f3(),1),k8=process.env.PHOTON_DEBUG==="1"||process.env.PHOTON_DEBUG==="true";function $C(D){k8=D}function VC(){return k8}function gq(...D){if(!k8)return;let F=$0.default.dim(`[debug ${new Date().toISOString()}]`);console.error(F,...D)}function Tu(D){if(!k8)return;let F=D.status>=500?$0.default.red:D.status>=400?$0.default.yellow:D.status>=200?$0.default.green:$0.default.dim;gq($0.default.bold(D.method.padEnd(6)),F(String(D.status)),D.url,$0.default.dim(`${D.durationMs}ms`))}async function l(D={}){let F=D.url?{name:"custom",url:Wu(D.url)}:await PD(D.apiHost),u=D.token??process.env.PHOTON_TOKEN??process.env.DASHBOARD_TOKEN,E=D.url||u?null:await zF(F.name);if(D.requireAuth&&!E&&!u)throw new IF(F.name);let B=u??E?.accessToken,C={};if(B)C.Authorization=`Bearer ${B}`;let Z=VC()?mq():fetch;return{api:Mu(F.url,{headers:C,fetcher:Z}),env:F,creds:E}}function mq(){return Object.assign(async(D,F)=>{let u=performance.now(),E=typeof D==="string"?D:D instanceof URL?D.toString():D.url,B=(F?.method??(D instanceof Request?D.method:void 0)??"GET").toUpperCase();try{let C=await fetch(D,F);return Tu({method:B,url:E,status:C.status,durationMs:Math.round(performance.now()-u)}),C}catch(C){throw Tu({method:B,url:E,status:0,durationMs:Math.round(performance.now()-u)}),C}},typeof fetch.preconnect==="function"?{preconnect:fetch.preconnect.bind(fetch)}:{})}async function s(D){let F=await PD(D.apiHost),u=D.flagProjectId?.trim();if(u)return{projectId:u,env:F};let E=process.env.PHOTON_PROJECT_ID?.trim();if(E)return{projectId:E,env:F};V(`No project specified for backend "${F.name}".`,{hint:"Pass `--project <id>`, or set `PHOTON_PROJECT_ID` in your shell."})}import{styleText as xu}from"node:util";import{stdout as bu,stdin as vC}from"node:process";import*as I0 from"node:readline";import eq from"node:readline";var IC=(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},MC=(D)=>{return D===12288||D>=65281&&D<=65376||D>=65504&&D<=65510},TC=(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>=9800&&D<=9811||D===9855||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<=12771||D>=12783&&D<=12830||D>=12832&&D<=12871||D>=12880&&D<=19903||D>=19968&&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>=101632&&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===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<=129672||D>=129680&&D<=129725||D>=129727&&D<=129733||D>=129742&&D<=129755||D>=129760&&D<=129768||D>=129776&&D<=129784||D>=131072&&D<=196605||D>=196608&&D<=262141};var Ou=/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/y,y8=/[\x00-\x08\x0A-\x1F\x7F-\x9F]{1,1000}/y,b8=/\t{1,1000}/y,_u=/[\u{1F1E6}-\u{1F1FF}]{2}|\u{1F3F4}[\u{E0061}-\u{E007A}]{2}[\u{E0030}-\u{E0039}\u{E0061}-\u{E007A}]{1,3}\u{E007F}|(?:\p{Emoji}\uFE0F\u20E3?|\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation})(?:\u200D(?:\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation}|\p{Emoji}\uFE0F\u20E3?))*/yu,f8=/(?:[\x20-\x7E\xA0-\xFF](?!\uFE0F)){1,1000}/y,dq=/\p{M}+/gu,cq={limit:1/0,ellipsis:""},OC=(D,F={},u={})=>{let E=F.limit??1/0,B=F.ellipsis??"",C=F?.ellipsisWidth??(B?OC(B,cq,u).width:0),Z=u.ansiWidth??0,J=u.controlWidth??0,X=u.tabWidth??8,Y=u.ambiguousWidth??1,H=u.emojiWidth??2,G=u.fullWidthWidth??2,K=u.regularWidth??1,Q=u.wideWidth??2,z=0,q=0,W=D.length,N=0,M=!1,$=W,U=Math.max(0,E-C),j=0,P=0,L=0,v=0;D:while(!0){if(P>j||q>=W&&q>z){let I=D.slice(j,P)||D.slice(z,q);N=0;for(let _ of I.replaceAll(dq,"")){let O=_.codePointAt(0)||0;if(MC(O))v=G;else if(TC(O))v=Q;else if(Y!==K&&IC(O))v=Y;else v=K;if(L+v>U)$=Math.min($,Math.max(j,z)+N);if(L+v>E){M=!0;break D}N+=_.length,L+=v}j=P=0}if(q>=W)break;if(f8.lastIndex=q,f8.test(D)){if(N=f8.lastIndex-q,v=N*K,L+v>U)$=Math.min($,q+Math.floor((U-L)/K));if(L+v>E){M=!0;break}L+=v,j=z,P=q,q=z=f8.lastIndex;continue}if(Ou.lastIndex=q,Ou.test(D)){if(L+Z>U)$=Math.min($,q);if(L+Z>E){M=!0;break}L+=Z,j=z,P=q,q=z=Ou.lastIndex;continue}if(y8.lastIndex=q,y8.test(D)){if(N=y8.lastIndex-q,v=N*J,L+v>U)$=Math.min($,q+Math.floor((U-L)/J));if(L+v>E){M=!0;break}L+=v,j=z,P=q,q=z=y8.lastIndex;continue}if(b8.lastIndex=q,b8.test(D)){if(N=b8.lastIndex-q,v=N*X,L+v>U)$=Math.min($,q+Math.floor((U-L)/X));if(L+v>E){M=!0;break}L+=v,j=z,P=q,q=z=b8.lastIndex;continue}if(_u.lastIndex=q,_u.test(D)){if(L+H>U)$=Math.min($,q);if(L+H>E){M=!0;break}L+=H,j=z,P=q,q=z=_u.lastIndex;continue}q+=1}return{width:M?U:L,index:M?$:W,truncated:M,ellipsed:M&&E>=C}},_C=OC;var lq={limit:1/0,ellipsis:"",ellipsisWidth:0},pq=(D,F={})=>{return _C(D,lq,F).width},B0=pq;var v8="\x1B",PC="›",iq=39,Ru="\x07",wC="[",nq="]",xC="m",ju=`${nq}8;;`,LC=new RegExp(`(?:\\${wC}(?<code>\\d+)m|\\${ju}(?<uri>.*)${Ru})`,"y"),RC=(D)=>{if(D>=30&&D<=37)return 39;if(D>=90&&D<=97)return 39;if(D>=40&&D<=47)return 49;if(D>=100&&D<=107)return 49;if(D===1||D===2)return 22;if(D===3)return 23;if(D===4)return 24;if(D===7)return 27;if(D===8)return 28;if(D===9)return 29;if(D===0)return 0;return},jC=(D)=>`${v8}${wC}${D}${xC}`,SC=(D)=>`${v8}${ju}${D}${Ru}`,Lu=(D,F,u)=>{let E=F[Symbol.iterator](),B=!1,C=!1,Z=D.at(-1),J=Z===void 0?0:B0(Z),X=E.next(),Y=E.next(),H=0;while(!X.done){let G=X.value,K=B0(G);if(J+K<=u)D[D.length-1]+=G;else D.push(G),J=0;if(G===v8||G===PC)B=!0,C=F.startsWith(ju,H+1);if(B){if(C){if(G===Ru)B=!1,C=!1}else if(G===xC)B=!1}else if(J+=K,J===u&&!Y.done)D.push(""),J=0;X=Y,Y=E.next(),H+=G.length}if(Z=D.at(-1),!J&&Z!==void 0&&Z.length&&D.length>1)D[D.length-2]+=D.pop()},aq=(D)=>{let F=D.split(" "),u=F.length;while(u){if(B0(F[u-1]))break;u--}if(u===F.length)return D;return F.slice(0,u).join(" ")+F.slice(u).join("")},rq=(D,F,u={})=>{if(u.trim!==!1&&D.trim()==="")return"";let E="",B,C,Z=D.split(" "),J=[""],X=0;for(let G=0;G<Z.length;G++){let K=Z[G];if(u.trim!==!1){let z=J.at(-1)??"",q=z.trimStart();if(z.length!==q.length)J[J.length-1]=q,X=B0(q)}if(G!==0){if(X>=F&&(u.wordWrap===!1||u.trim===!1))J.push(""),X=0;if(X||u.trim===!1)J[J.length-1]+=" ",X++}let Q=B0(K);if(u.hard&&Q>F){let z=F-X,q=1+Math.floor((Q-z-1)/F);if(Math.floor((Q-1)/F)<q)J.push("");Lu(J,K,F),X=B0(J.at(-1)??"");continue}if(X+Q>F&&X&&Q){if(u.wordWrap===!1&&X<F){Lu(J,K,F),X=B0(J.at(-1)??"");continue}J.push(""),X=0}if(X+Q>F&&u.wordWrap===!1){Lu(J,K,F),X=B0(J.at(-1)??"");continue}J[J.length-1]+=K,X+=Q}if(u.trim!==!1)J=J.map((G)=>aq(G));let Y=J.join(`
100
- `),H=!1;for(let G=0;G<Y.length;G++){let K=Y[G];if(E+=K,!H)H=K>="\uD800"&&K<="\uDBFF";else continue;if(K===v8||K===PC){LC.lastIndex=G+1;let z=LC.exec(Y)?.groups;if(z?.code!==void 0){let q=Number.parseFloat(z.code);B=q===iq?void 0:q}else if(z?.uri!==void 0)C=z.uri.length===0?void 0:z.uri}if(Y[G+1]===`
101
- `){if(C)E+=SC("");let Q=B?RC(B):void 0;if(B&&Q)E+=jC(Q)}else if(K===`
102
- `){if(B&&RC(B))E+=jC(B);if(C)E+=SC(C)}}return E},sq=/\r?\n/;function V0(D,F,u){return String(D).normalize().split(sq).map((E)=>rq(E,F,u)).join(`
103
- `)}var MD=HD(Pu(),1);import{ReadStream as yC}from"node:tty";function qF(D,F,u){if(!u.some((Z)=>!Z.disabled))return D;let E=D+F,B=Math.max(u.length-1,0),C=E<0?B:E>B?0:E;return u[C].disabled?qF(C,F<0?-1:1,u):C}var DA=["up","down","left","right","space","enter","cancel"],FA=["January","February","March","April","May","June","July","August","September","October","November","December"],AD={actions:new Set(DA),aliases:new Map([["k","up"],["j","down"],["h","left"],["l","right"],["\x03","cancel"],["escape","cancel"]]),messages:{cancel:"Canceled",error:"Something went wrong"},withGuide:!0,date:{monthNames:[...FA],messages:{required:"Please enter a valid date",invalidMonth:"There are only 12 months in a year",invalidDay:(D,F)=>`There are only ${D} days in ${F}`,afterMin:(D)=>`Date must be on or after ${D.toISOString().slice(0,10)}`,beforeMax:(D)=>`Date must be on or before ${D.toISOString().slice(0,10)}`}}};function fu(D,F){if(typeof D=="string")return AD.aliases.get(D)===F;for(let u of D)if(u!==void 0&&fu(u,F))return!0;return!1}function uA(D,F){if(D===F)return;let u=D.split(`
37
+ `))!==-1;){let E=D.value.slice(0,B);if(D.value=D.value.slice(B+2),E.trim()){let Z=R8(E,F);Z&&(yield Z)}}}async function*T8(D,F){let B=D.body;if(!B)return;let E=B.getReader(),Z=new TextDecoder("utf-8");if(D.headers.get("Content-Type")?.startsWith("text/event-stream")){let J={value:""};try{for(;;){let{done:H,value:Q}=await E.read();if(H)break;let X=typeof Q=="string"?Q:Z.decode(Q,{stream:!0});J.value+=X,yield*j8(J,F)}let Y=Z.decode();if(Y&&(J.value+=Y),yield*j8(J,F),J.value.trim()){let H=R8(J.value,F);H&&(yield H)}}finally{E.releaseLock()}}else try{for(;;){let{done:J,value:Y}=await E.read();if(J)break;yield cD(typeof Y=="string"?Y:Z.decode(Y,{stream:!0}),{parseDate:F?.parseDate})}}finally{E.releaseLock()}}var C0=(D,F,B=[],E)=>new Proxy(()=>{},{get(Z,J){if(J==="~path")return"/"+B.join("/");if(!(B.length===0&&(J==="then"||J==="catch"||J==="finally")))return C0(D,F,[...B,J],E)},apply(Z,J,[Y,H]){if(!Y||H||typeof Y=="object"&&Object.keys(Y).length!==1||q7.includes(B.at(-1))){let Q=[...B],X=Q.pop(),C="/"+Q.join("/"),{fetcher:G=fetch,headers:u,onRequest:q,onResponse:z,fetch:$}=F,M=X==="get"||X==="head"||X==="subscribe",I=M?Y?.query:H?.query,V="";if(I){let N=(U,R)=>{R!=null&&(R instanceof Date&&(R=R.toISOString()),V+=(V?"&":"?")+`${encodeURIComponent(U)}=${encodeURIComponent(typeof R=="object"?JSON.stringify(R):R+"")}`)};for(let[U,R]of Object.entries(I)){if(Array.isArray(R)){for(let f of R)N(U,f);continue}N(U,R)}}if(X==="subscribe"){let N=D.replace(/^([^]+):\/\//,D.startsWith("https://")?"wss://":D.startsWith("http://")||I8.find((U)=>D.includes(U))?"ws://":"wss://")+C+V;return new z7(N)}return(async()=>{u=await dD(u,C,H);let N={method:X?.toUpperCase(),body:Y,...$,headers:u};N.headers={...u,...await dD(M?Y?.headers:H?.headers,C,N)};let U=M&&typeof Y=="object"?Y.fetch:H?.fetch,R=(M&&typeof Y=="object"?Y.throwHttpError:H?.throwHttpError)??F.throwHttpError;if(N={...N,...U},M&&delete N.body,q){Array.isArray(q)||(q=[q]);for(let d of q){let v=await d(C,N);typeof v=="object"&&(N={...N,...v,headers:{...N.headers,...await dD(v.headers,C,N)}})}}if(M&&delete N.body,u7(Y)){let d=new FormData,v=(x)=>{if(typeof x=="string"||p0(x))return!1;if(typeof x=="object"){if(x!==null)return!0;if(x instanceof Date)return!1}return!1},FD=async(x)=>x instanceof File?await UF(x):v(x)?JSON.stringify(x):x;for(let[x,S]of Object.entries(N.body)){if(Array.isArray(S)){if(S.some((g)=>typeof g=="object"&&g!==null&&!p0(g)))d.append(x,JSON.stringify(S));else for(let g=0;g<S.length;g++){let n=S[g],YD=await FD(n);d.append(x,YD)}continue}if(NF){if(Array.isArray(S))for(let g of S)d.append(x,await FD(g));else d.append(x,await FD(S));continue}if(S instanceof File){d.append(x,await UF(S));continue}if(S instanceof FileList){for(let g=0;g<S.length;g++)d.append(x,await UF(S[g]));continue}d.append(x,await FD(S))}N.body=d}else typeof Y=="object"?(N.headers["content-type"]="application/json",N.body=JSON.stringify(Y)):Y!=null&&(N.headers["content-type"]="text/plain");if(M&&delete N.body,q){Array.isArray(q)||(q=[q]);for(let d of q){let v=await d(C,N);typeof v=="object"&&(N={...N,...v,headers:{...N.headers,...await dD(v.headers,C,N)}})}}H?.headers?.["content-type"]&&(N.headers["content-type"]=H?.headers["content-type"]);let f=D+C+V,L;try{L=await(E?.handle(new Request(f,N))??G(f,N))}catch(d){let v=new kD(503,d);if(A8(v,R))throw v;return{data:null,error:v,response:void 0,status:503,headers:void 0}}let P=null,i=null;if(z){Array.isArray(z)||(z=[z]);for(let d of z)try{let v=await d(L.clone());if(v!=null){P=v;break}}catch(v){v instanceof kD?i=v:i=new kD(422,v);break}}if(P!==null)return{data:P,error:i,response:L,status:L.status,headers:L.headers};switch(L.headers.get("Content-Type")?.split(";")[0]){case"text/event-stream":P=T8(L,{parseDate:F.parseDate});break;case"application/json":P=JSON.parse(await L.text(),(v,FD)=>{if(typeof FD!="string")return FD;return l0(FD,{parseDate:F.parseDate})||FD});break;case"application/octet-stream":P=await L.arrayBuffer();break;case"multipart/form-data":let d=await L.formData();P={},d.forEach((v,FD)=>{P[FD]=v});break;default:L.headers.get("content-type")?.startsWith("text/")&&L.headers.get("transfer-encoding")==="chunked"&&!L.headers.has("content-length")?P=T8(L,{parseDate:F.parseDate}):P=await L.text().then((v)=>cD(v,{parseDate:F.parseDate}))}if(L.status>=300||L.status<200){if(i=new kD(L.status,P),A8(i,R))throw i;P=null}return{data:P,error:i,response:L,status:L.status,headers:L.headers}})()}return typeof Y=="object"?C0(D,F,[...B,Object.values(Y)[0]],E):C0(D,F,B)}}),MF=(D,F={})=>typeof D=="string"?(F.keepDomain||(D.includes("://")||(D=(I8.find((B)=>D.includes(B))?"http://":"https://")+D),D.endsWith("/")&&(D=D.slice(0,-1))),C0(D,F)):(typeof window<"u"&&console.warn("Elysia instance server found on client side, this is not recommended for security reason. Use generic type instead."),C0("http://e.ly",F,[],D));var PD=ID(s2(),1),a0=process.env.PHOTON_DEBUG==="1"||process.env.PHOTON_DEBUG==="true";function L8(D){a0=D}function f8(){return a0}function W7(...D){if(!a0)return;let F=PD.default.dim(`[debug ${new Date().toISOString()}]`);console.error(F,...D)}function VF(D){if(!a0)return;let F=D.status>=500?PD.default.red:D.status>=400?PD.default.yellow:D.status>=200?PD.default.green:PD.default.dim;W7(PD.default.bold(D.method.padEnd(6)),F(String(D.status)),D.url,PD.default.dim(`${D.durationMs}ms`))}async function y(D={}){let F=D.url?{name:"custom",url:uF(D.url)}:await JD(D.apiHost),B=D.token??process.env.PHOTON_TOKEN??process.env.DASHBOARD_TOKEN,E=D.url||B?null:await tD(F.name);if(D.requireAuth&&!E&&!B)throw new J0(F.name);let Z=B??E?.accessToken,J={};if(Z)J.Authorization=`Bearer ${Z}`;let Y=f8()?$7():fetch;return{api:MF(F.url,{headers:J,fetcher:Y}),env:F,creds:E}}function $7(){return Object.assign(async(D,F)=>{let B=performance.now(),E=typeof D==="string"?D:D instanceof URL?D.toString():D.url,Z=(F?.method??(D instanceof Request?D.method:void 0)??"GET").toUpperCase();try{let J=await fetch(D,F);return VF({method:Z,url:E,status:J.status,durationMs:Math.round(performance.now()-B)}),J}catch(J){throw VF({method:Z,url:E,status:0,durationMs:Math.round(performance.now()-B)}),J}},typeof fetch.preconnect==="function"?{preconnect:fetch.preconnect.bind(fetch)}:{})}async function m(D){let F=await JD(D.apiHost),B=D.flagProjectId?.trim();if(B)return{projectId:B,env:F};let E=process.env.PHOTON_PROJECT_ID?.trim();if(E)return{projectId:E,env:F};W(`No project specified for backend "${F.name}".`,{hint:"Pass `--project <id>`, or set `PHOTON_PROJECT_ID` in your shell."})}import{styleText as _F}from"node:util";import{stdout as OF,stdin as p8}from"node:process";import*as yD from"node:readline";import S7 from"node:readline";var S8=(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},_8=(D)=>{return D===12288||D>=65281&&D<=65376||D>=65504&&D<=65510},k8=(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>=9800&&D<=9811||D===9855||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<=12771||D>=12783&&D<=12830||D>=12832&&D<=12871||D>=12880&&D<=19903||D>=19968&&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>=101632&&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===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<=129672||D>=129680&&D<=129725||D>=129727&&D<=129733||D>=129742&&D<=129755||D>=129760&&D<=129768||D>=129776&&D<=129784||D>=131072&&D<=196605||D>=196608&&D<=262141};var AF=/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/y,i0=/[\x00-\x08\x0A-\x1F\x7F-\x9F]{1,1000}/y,n0=/\t{1,1000}/y,jF=/[\u{1F1E6}-\u{1F1FF}]{2}|\u{1F3F4}[\u{E0061}-\u{E007A}]{2}[\u{E0030}-\u{E0039}\u{E0061}-\u{E007A}]{1,3}\u{E007F}|(?:\p{Emoji}\uFE0F\u20E3?|\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation})(?:\u200D(?:\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation}|\p{Emoji}\uFE0F\u20E3?))*/yu,r0=/(?:[\x20-\x7E\xA0-\xFF](?!\uFE0F)){1,1000}/y,U7=/\p{M}+/gu,N7={limit:1/0,ellipsis:""},P8=(D,F={},B={})=>{let E=F.limit??1/0,Z=F.ellipsis??"",J=F?.ellipsisWidth??(Z?P8(Z,N7,B).width:0),Y=B.ansiWidth??0,H=B.controlWidth??0,Q=B.tabWidth??8,X=B.ambiguousWidth??1,C=B.emojiWidth??2,G=B.fullWidthWidth??2,u=B.regularWidth??1,q=B.wideWidth??2,z=0,$=0,M=D.length,I=0,V=!1,N=M,U=Math.max(0,E-J),R=0,f=0,L=0,P=0;D:while(!0){if(f>R||$>=M&&$>z){let i=D.slice(R,f)||D.slice(z,$);I=0;for(let d of i.replaceAll(U7,"")){let v=d.codePointAt(0)||0;if(_8(v))P=G;else if(k8(v))P=q;else if(X!==u&&S8(v))P=X;else P=u;if(L+P>U)N=Math.min(N,Math.max(R,z)+I);if(L+P>E){V=!0;break D}I+=d.length,L+=P}R=f=0}if($>=M)break;if(r0.lastIndex=$,r0.test(D)){if(I=r0.lastIndex-$,P=I*u,L+P>U)N=Math.min(N,$+Math.floor((U-L)/u));if(L+P>E){V=!0;break}L+=P,R=z,f=$,$=z=r0.lastIndex;continue}if(AF.lastIndex=$,AF.test(D)){if(L+Y>U)N=Math.min(N,$);if(L+Y>E){V=!0;break}L+=Y,R=z,f=$,$=z=AF.lastIndex;continue}if(i0.lastIndex=$,i0.test(D)){if(I=i0.lastIndex-$,P=I*H,L+P>U)N=Math.min(N,$+Math.floor((U-L)/H));if(L+P>E){V=!0;break}L+=P,R=z,f=$,$=z=i0.lastIndex;continue}if(n0.lastIndex=$,n0.test(D)){if(I=n0.lastIndex-$,P=I*Q,L+P>U)N=Math.min(N,$+Math.floor((U-L)/Q));if(L+P>E){V=!0;break}L+=P,R=z,f=$,$=z=n0.lastIndex;continue}if(jF.lastIndex=$,jF.test(D)){if(L+C>U)N=Math.min(N,$);if(L+C>E){V=!0;break}L+=C,R=z,f=$,$=z=jF.lastIndex;continue}$+=1}return{width:V?U:L,index:V?N:M,truncated:V,ellipsed:V&&E>=J}},O8=P8;var M7={limit:1/0,ellipsis:"",ellipsisWidth:0},V7=(D,F={})=>{return O8(D,M7,F).width},AD=V7;var s0="\x1B",v8="›",A7=39,IF="\x07",h8="[",j7="]",g8="m",RF=`${j7}8;;`,y8=new RegExp(`(?:\\${h8}(?<code>\\d+)m|\\${RF}(?<uri>.*)${IF})`,"y"),w8=(D)=>{if(D>=30&&D<=37)return 39;if(D>=90&&D<=97)return 39;if(D>=40&&D<=47)return 49;if(D>=100&&D<=107)return 49;if(D===1||D===2)return 22;if(D===3)return 23;if(D===4)return 24;if(D===7)return 27;if(D===8)return 28;if(D===9)return 29;if(D===0)return 0;return},x8=(D)=>`${s0}${h8}${D}${g8}`,b8=(D)=>`${s0}${RF}${D}${IF}`,TF=(D,F,B)=>{let E=F[Symbol.iterator](),Z=!1,J=!1,Y=D.at(-1),H=Y===void 0?0:AD(Y),Q=E.next(),X=E.next(),C=0;while(!Q.done){let G=Q.value,u=AD(G);if(H+u<=B)D[D.length-1]+=G;else D.push(G),H=0;if(G===s0||G===v8)Z=!0,J=F.startsWith(RF,C+1);if(Z){if(J){if(G===IF)Z=!1,J=!1}else if(G===g8)Z=!1}else if(H+=u,H===B&&!X.done)D.push(""),H=0;Q=X,X=E.next(),C+=G.length}if(Y=D.at(-1),!H&&Y!==void 0&&Y.length&&D.length>1)D[D.length-2]+=D.pop()},T7=(D)=>{let F=D.split(" "),B=F.length;while(B){if(AD(F[B-1]))break;B--}if(B===F.length)return D;return F.slice(0,B).join(" ")+F.slice(B).join("")},I7=(D,F,B={})=>{if(B.trim!==!1&&D.trim()==="")return"";let E="",Z,J,Y=D.split(" "),H=[""],Q=0;for(let G=0;G<Y.length;G++){let u=Y[G];if(B.trim!==!1){let z=H.at(-1)??"",$=z.trimStart();if(z.length!==$.length)H[H.length-1]=$,Q=AD($)}if(G!==0){if(Q>=F&&(B.wordWrap===!1||B.trim===!1))H.push(""),Q=0;if(Q||B.trim===!1)H[H.length-1]+=" ",Q++}let q=AD(u);if(B.hard&&q>F){let z=F-Q,$=1+Math.floor((q-z-1)/F);if(Math.floor((q-1)/F)<$)H.push("");TF(H,u,F),Q=AD(H.at(-1)??"");continue}if(Q+q>F&&Q&&q){if(B.wordWrap===!1&&Q<F){TF(H,u,F),Q=AD(H.at(-1)??"");continue}H.push(""),Q=0}if(Q+q>F&&B.wordWrap===!1){TF(H,u,F),Q=AD(H.at(-1)??"");continue}H[H.length-1]+=u,Q+=q}if(B.trim!==!1)H=H.map((G)=>T7(G));let X=H.join(`
38
+ `),C=!1;for(let G=0;G<X.length;G++){let u=X[G];if(E+=u,!C)C=u>="\uD800"&&u<="\uDBFF";else continue;if(u===s0||u===v8){y8.lastIndex=G+1;let z=y8.exec(X)?.groups;if(z?.code!==void 0){let $=Number.parseFloat(z.code);Z=$===A7?void 0:$}else if(z?.uri!==void 0)J=z.uri.length===0?void 0:z.uri}if(X[G+1]===`
39
+ `){if(J)E+=b8("");let q=Z?w8(Z):void 0;if(Z&&q)E+=x8(q)}else if(u===`
40
+ `){if(Z&&w8(Z))E+=x8(Z);if(J)E+=b8(J)}}return E},R7=/\r?\n/;function OD(D,F,B){return String(D).normalize().split(R7).map((E)=>I7(E,F,B)).join(`
41
+ `)}var DD=ID(fF(),1);import{ReadStream as c8}from"node:tty";function eD(D,F,B){if(!B.some((Y)=>!Y.disabled))return D;let E=D+F,Z=Math.max(B.length-1,0),J=E<0?Z:E>Z?0:E;return B[J].disabled?eD(J,F<0?-1:1,B):J}var _7=["up","down","left","right","space","enter","cancel"],k7=["January","February","March","April","May","June","July","August","September","October","November","December"],o={actions:new Set(_7),aliases:new Map([["k","up"],["j","down"],["h","left"],["l","right"],["\x03","cancel"],["escape","cancel"]]),messages:{cancel:"Canceled",error:"Something went wrong"},withGuide:!0,date:{monthNames:[...k7],messages:{required:"Please enter a valid date",invalidMonth:"There are only 12 months in a year",invalidDay:(D,F)=>`There are only ${D} days in ${F}`,afterMin:(D)=>`Date must be on or after ${D.toISOString().slice(0,10)}`,beforeMax:(D)=>`Date must be on or before ${D.toISOString().slice(0,10)}`}}};function yF(D,F){if(typeof D=="string")return o.aliases.get(D)===F;for(let B of D)if(B!==void 0&&yF(B,F))return!0;return!1}function P7(D,F){if(D===F)return;let B=D.split(`
104
42
  `),E=F.split(`
105
- `),B=Math.max(u.length,E.length),C=[];for(let Z=0;Z<B;Z++)u[Z]!==E[Z]&&C.push(Z);return{lines:C,numLinesBefore:u.length,numLinesAfter:E.length,numLines:B}}var EA=globalThis.process.platform.startsWith("win"),ku=Symbol("clack:cancel");function UD(D){return D===ku}function h8(D,F){let u=D;u.isTTY&&u.setRawMode(F)}function hC({input:D=vC,output:F=bu,overwrite:u=!0,hideCursor:E=!0}={}){let B=I0.createInterface({input:D,output:F,prompt:"",tabSize:1});I0.emitKeypressEvents(D,B),D instanceof yC&&D.isTTY&&D.setRawMode(!0);let C=(Z,{name:J,sequence:X})=>{let Y=String(Z);if(fu([Y,J,X],"cancel")){E&&F.write(MD.cursor.show),process.exit(0);return}if(!u)return;I0.moveCursor(F,J==="return"?0:-1,J==="return"?-1:0,()=>{I0.clearLine(F,1,()=>{D.once("keypress",C)})})};return E&&F.write(MD.cursor.hide),D.once("keypress",C),()=>{D.off("keypress",C),E&&F.write(MD.cursor.show),D instanceof yC&&D.isTTY&&!EA&&D.setRawMode(!1),B.terminal=!1,B.close()}}var m8=(D)=>("columns"in D)&&typeof D.columns=="number"?D.columns:80,vu=(D)=>("rows"in D)&&typeof D.rows=="number"?D.rows:20;function u2(D,F,u,E=u){let B=m8(D??bu);return V0(F,B-u.length,{hard:!0,trim:!1}).split(`
106
- `).map((C,Z)=>`${Z===0?E:u}${C}`).join(`
107
- `)}var AF=class{input;output;_abortSignal;rl;opts;_render;_track=!1;_prevFrame="";_subscribers=new Map;_cursor=0;state="initial";error="";value;userInput="";constructor(D,F=!0){let{input:u=vC,output:E=bu,render:B,signal:C,...Z}=D;this.opts=Z,this.onKeypress=this.onKeypress.bind(this),this.close=this.close.bind(this),this.render=this.render.bind(this),this._render=B.bind(this),this._track=F,this._abortSignal=C,this.input=u,this.output=E}unsubscribe(){this._subscribers.clear()}setSubscriber(D,F){let u=this._subscribers.get(D)??[];u.push(F),this._subscribers.set(D,u)}on(D,F){this.setSubscriber(D,{cb:F})}once(D,F){this.setSubscriber(D,{cb:F,once:!0})}emit(D,...F){let u=this._subscribers.get(D)??[],E=[];for(let B of u)B.cb(...F),B.once&&E.push(()=>u.splice(u.indexOf(B),1));for(let B of E)B()}prompt(){return new Promise((D)=>{if(this._abortSignal){if(this._abortSignal.aborted)return this.state="cancel",this.close(),D(ku);this._abortSignal.addEventListener("abort",()=>{this.state="cancel",this.close()},{once:!0})}this.rl=eq.createInterface({input:this.input,tabSize:2,prompt:"",escapeCodeTimeout:50,terminal:!0}),this.rl.prompt(),this.opts.initialUserInput!==void 0&&this._setUserInput(this.opts.initialUserInput,!0),this.input.on("keypress",this.onKeypress),h8(this.input,!0),this.output.on("resize",this.render),this.render(),this.once("submit",()=>{this.output.write(MD.cursor.show),this.output.off("resize",this.render),h8(this.input,!1),D(this.value)}),this.once("cancel",()=>{this.output.write(MD.cursor.show),this.output.off("resize",this.render),h8(this.input,!1),D(ku)})})}_isActionKey(D,F){return D==="\t"}_setValue(D){this.value=D,this.emit("value",this.value)}_setUserInput(D,F){this.userInput=D??"",this.emit("userInput",this.userInput),F&&this._track&&this.rl&&(this.rl.write(this.userInput),this._cursor=this.rl.cursor)}_clearUserInput(){this.rl?.write(null,{ctrl:!0,name:"u"}),this._setUserInput("")}onKeypress(D,F){if(this._track&&F.name!=="return"&&(F.name&&this._isActionKey(D,F)&&this.rl?.write(null,{ctrl:!0,name:"h"}),this._cursor=this.rl?.cursor??0,this._setUserInput(this.rl?.line)),this.state==="error"&&(this.state="active"),F?.name&&(!this._track&&AD.aliases.has(F.name)&&this.emit("cursor",AD.aliases.get(F.name)),AD.actions.has(F.name)&&this.emit("cursor",F.name)),D&&(D.toLowerCase()==="y"||D.toLowerCase()==="n")&&this.emit("confirm",D.toLowerCase()==="y"),this.emit("key",D?.toLowerCase(),F),F?.name==="return"){if(this.opts.validate){let u=this.opts.validate(this.value);u&&(this.error=u instanceof Error?u.message:u,this.state="error",this.rl?.write(this.userInput))}this.state!=="error"&&(this.state="submit")}fu([D,F?.name,F?.sequence],"cancel")&&(this.state="cancel"),(this.state==="submit"||this.state==="cancel")&&this.emit("finalize"),this.render(),(this.state==="submit"||this.state==="cancel")&&this.close()}close(){this.input.unpipe(),this.input.removeListener("keypress",this.onKeypress),this.output.write(`
108
- `),h8(this.input,!1),this.rl?.close(),this.rl=void 0,this.emit(`${this.state}`,this.value),this.unsubscribe()}restoreCursor(){let D=V0(this._prevFrame,process.stdout.columns,{hard:!0,trim:!1}).split(`
109
- `).length-1;this.output.write(MD.cursor.move(-999,D*-1))}render(){let D=V0(this._render(this)??"",process.stdout.columns,{hard:!0,trim:!1});if(D!==this._prevFrame){if(this.state==="initial")this.output.write(MD.cursor.hide);else{let F=uA(this._prevFrame,D),u=vu(this.output);if(this.restoreCursor(),F){let E=Math.max(0,F.numLinesAfter-u),B=Math.max(0,F.numLinesBefore-u),C=F.lines.find((Z)=>Z>=E);if(C===void 0){this._prevFrame=D;return}if(F.lines.length===1){this.output.write(MD.cursor.move(0,C-B)),this.output.write(MD.erase.lines(1));let Z=D.split(`
110
- `);this.output.write(Z[C]),this._prevFrame=D,this.output.write(MD.cursor.move(0,Z.length-C-1));return}else if(F.lines.length>1){if(E<B)C=E;else{let J=C-B;J>0&&this.output.write(MD.cursor.move(0,J))}this.output.write(MD.erase.down());let Z=D.split(`
111
- `).slice(C);this.output.write(Z.join(`
112
- `)),this._prevFrame=D;return}}this.output.write(MD.erase.down())}this.output.write(D),this.state==="initial"&&(this.state="active"),this._prevFrame=D}}};function BA(D,F){if(D===void 0||F.length===0)return 0;let u=F.findIndex((E)=>E.value===D);return u!==-1?u:0}function CA(D,F){return(F.label??String(F.value)).toLowerCase().includes(D.toLowerCase())}function ZA(D,F){if(F)return D?F:F[0]}var JA=class extends AF{filteredOptions;multiple;isNavigating=!1;selectedValues=[];focusedValue;#u=0;#Z="";#F;#E;#D;get cursor(){return this.#u}get userInputWithCursor(){if(!this.userInput)return xu(["inverse","hidden"],"_");if(this._cursor>=this.userInput.length)return`${this.userInput}█`;let D=this.userInput.slice(0,this._cursor),[F,...u]=this.userInput.slice(this._cursor);return`${D}${xu("inverse",F)}${u.join("")}`}get options(){return typeof this.#E=="function"?this.#E():this.#E}constructor(D){super(D),this.#E=D.options,this.#D=D.placeholder;let F=this.options;this.filteredOptions=[...F],this.multiple=D.multiple===!0,this.#F=typeof D.options=="function"?D.filter:D.filter??CA;let u;if(D.initialValue&&Array.isArray(D.initialValue)?this.multiple?u=D.initialValue:u=D.initialValue.slice(0,1):!this.multiple&&this.options.length>0&&(u=[this.options[0].value]),u)for(let E of u){let B=F.findIndex((C)=>C.value===E);B!==-1&&(this.toggleSelected(E),this.#u=B)}this.focusedValue=this.options[this.#u]?.value,this.on("key",(E,B)=>this.#B(E,B)),this.on("userInput",(E)=>this.#C(E))}_isActionKey(D,F){return D==="\t"||this.multiple&&this.isNavigating&&F.name==="space"&&D!==void 0&&D!==""}#B(D,F){let u=F.name==="up",E=F.name==="down",B=F.name==="return",C=this.userInput===""||this.userInput==="\t",Z=this.#D,J=this.options,X=Z!==void 0&&Z!==""&&J.some((Y)=>!Y.disabled&&(this.#F?this.#F(Z,Y):!0));if(F.name==="tab"&&C&&X){this.userInput==="\t"&&this._clearUserInput(),this._setUserInput(Z,!0),this.isNavigating=!1;return}u||E?(this.#u=qF(this.#u,u?-1:1,this.filteredOptions),this.focusedValue=this.filteredOptions[this.#u]?.value,this.multiple||(this.selectedValues=[this.focusedValue]),this.isNavigating=!0):B?this.value=ZA(this.multiple,this.selectedValues):this.multiple?this.focusedValue!==void 0&&(F.name==="tab"||this.isNavigating&&F.name==="space")?this.toggleSelected(this.focusedValue):this.isNavigating=!1:(this.focusedValue&&(this.selectedValues=[this.focusedValue]),this.isNavigating=!1)}deselectAll(){this.selectedValues=[]}toggleSelected(D){this.filteredOptions.length!==0&&(this.multiple?this.selectedValues.includes(D)?this.selectedValues=this.selectedValues.filter((F)=>F!==D):this.selectedValues=[...this.selectedValues,D]:this.selectedValues=[D])}#C(D){if(D!==this.#Z){this.#Z=D;let F=this.options;D&&this.#F?this.filteredOptions=F.filter((B)=>this.#F?.(D,B)):this.filteredOptions=[...F];let u=BA(this.focusedValue,this.filteredOptions);this.#u=qF(u,0,this.filteredOptions);let E=this.filteredOptions[this.#u];E&&!E.disabled?this.focusedValue=E.value:this.focusedValue=void 0,this.multiple||(this.focusedValue!==void 0?this.toggleSelected(this.focusedValue):this.deselectAll())}}};class hu extends AF{get cursor(){return this.value?0:1}get _value(){return this.cursor===0}constructor(D){super(D,!1),this.value=!!D.initialValue,this.on("userInput",()=>{this.value=this._value}),this.on("confirm",(F)=>{this.output.write(MD.cursor.move(0,-1)),this.value=F,this.state="submit",this.close()}),this.on("cursor",()=>{this.value=!this.value})}}var YA={Y:{type:"year",len:4},M:{type:"month",len:2},D:{type:"day",len:2}};function bC(D){return[...D].map((F)=>YA[F])}function HA(D){let F=new Intl.DateTimeFormat(D,{year:"numeric",month:"2-digit",day:"2-digit"}).formatToParts(new Date(2000,0,15)),u=[],E="/";for(let B of F)B.type==="literal"?E=B.value.trim()||B.value:(B.type==="year"||B.type==="month"||B.type==="day")&&u.push({type:B.type,len:B.type==="year"?4:2});return{segments:u,separator:E}}function wu(D){return Number.parseInt((D||"0").replace(/_/g,"0"),10)||0}function g8(D){return{year:wu(D.year),month:wu(D.month),day:wu(D.day)}}function yu(D,F){return new Date(D||2001,F||1,0).getDate()}function gC(D){let{year:F,month:u,day:E}=g8(D);if(!F||F<0||F>9999||!u||u<1||u>12||!E||E<1)return;let B=new Date(Date.UTC(F,u-1,E));if(!(B.getUTCFullYear()!==F||B.getUTCMonth()!==u-1||B.getUTCDate()!==E))return{year:F,month:u,day:E}}function fC(D){let F=gC(D);return F?new Date(Date.UTC(F.year,F.month-1,F.day)):void 0}function XA(D,F,u,E){let B=u?{year:u.getUTCFullYear(),month:u.getUTCMonth()+1,day:u.getUTCDate()}:null,C=E?{year:E.getUTCFullYear(),month:E.getUTCMonth()+1,day:E.getUTCDate()}:null;return D==="year"?{min:B?.year??1,max:C?.year??9999}:D==="month"?{min:B&&F.year===B.year?B.month:1,max:C&&F.year===C.year?C.month:12}:{min:B&&F.year===B.year&&F.month===B.month?B.day:1,max:C&&F.year===C.year&&F.month===C.month?C.day:yu(F.year,F.month)}}class mC extends AF{#u;#Z;#F;#E;#D;#B={segmentIndex:0,positionInSegment:0};#C=!0;#J=null;inlineError="";get segmentCursor(){return{...this.#B}}get segmentValues(){return{...this.#F}}get segments(){return this.#u}get separator(){return this.#Z}get formattedValue(){return this.#K(this.#F)}#K(D){return this.#u.map((F)=>D[F.type]).join(this.#Z)}#X(){this._setUserInput(this.#K(this.#F)),this._setValue(fC(this.#F)??void 0)}constructor(D){let F=D.format?{segments:bC(D.format),separator:D.separator??"/"}:HA(D.locale),u=D.separator??F.separator,E=D.format?bC(D.format):F.segments,B=D.initialValue??D.defaultValue,C=B?{year:String(B.getUTCFullYear()).padStart(4,"0"),month:String(B.getUTCMonth()+1).padStart(2,"0"),day:String(B.getUTCDate()).padStart(2,"0")}:{year:"____",month:"__",day:"__"},Z=E.map((J)=>C[J.type]).join(u);super({...D,initialUserInput:Z},!1),this.#u=E,this.#Z=u,this.#F=C,this.#E=D.minDate,this.#D=D.maxDate,this.#X(),this.on("cursor",(J)=>this.#q(J)),this.on("key",(J,X)=>this.#A(J,X)),this.on("finalize",()=>this.#z(D))}#H(){let D=Math.max(0,Math.min(this.#B.segmentIndex,this.#u.length-1)),F=this.#u[D];if(F)return this.#B.positionInSegment=Math.max(0,Math.min(this.#B.positionInSegment,F.len-1)),{segment:F,index:D}}#G(D){this.inlineError="",this.#J=null;let F=this.#H();F&&(this.#B.segmentIndex=Math.max(0,Math.min(this.#u.length-1,F.index+D)),this.#B.positionInSegment=0,this.#C=!0)}#Y(D){let F=this.#H();if(!F)return;let{segment:u}=F,E=this.#F[u.type],B=!E||E.replace(/_/g,"")==="",C=Number.parseInt((E||"0").replace(/_/g,"0"),10)||0,Z=XA(u.type,g8(this.#F),this.#E,this.#D),J;B?J=D===1?Z.min:Z.max:J=Math.max(Math.min(Z.max,C+D),Z.min),this.#F={...this.#F,[u.type]:J.toString().padStart(u.len,"0")},this.#C=!0,this.#J=null,this.#X()}#q(D){if(D)switch(D){case"right":return this.#G(1);case"left":return this.#G(-1);case"up":return this.#Y(1);case"down":return this.#Y(-1)}}#A(D,F){if(F?.name==="backspace"||F?.sequence===""||F?.sequence==="\b"||D===""||D==="\b"){this.inlineError="";let u=this.#H();if(!u)return;if(!this.#F[u.segment.type].replace(/_/g,"")){this.#G(-1);return}this.#F[u.segment.type]="_".repeat(u.segment.len),this.#C=!0,this.#B.positionInSegment=0,this.#X();return}if(F?.name==="tab"){this.inlineError="";let u=this.#H();if(!u)return;let E=F.shift?-1:1,B=u.index+E;B>=0&&B<this.#u.length&&(this.#B.segmentIndex=B,this.#B.positionInSegment=0,this.#C=!0);return}if(D&&/^[0-9]$/.test(D)){let u=this.#H();if(!u)return;let{segment:E}=u,B=!this.#F[E.type].replace(/_/g,"");if(this.#C&&this.#J!==null&&!B){let K=this.#J+D,Q={...this.#F,[E.type]:K},z=this.#Q(Q,E);if(z){this.inlineError=z,this.#J=null,this.#C=!1;return}this.inlineError="",this.#F[E.type]=K,this.#J=null,this.#C=!1,this.#X(),u.index<this.#u.length-1&&(this.#B.segmentIndex=u.index+1,this.#B.positionInSegment=0,this.#C=!0);return}this.#C&&!B&&(this.#F[E.type]="_".repeat(E.len),this.#B.positionInSegment=0),this.#C=!1,this.#J=null;let C=this.#F[E.type],Z=C.indexOf("_"),J=Z>=0?Z:Math.min(this.#B.positionInSegment,E.len-1);if(J<0||J>=E.len)return;let X=C.slice(0,J)+D+C.slice(J+1),Y=!1;if(J===0&&C==="__"&&(E.type==="month"||E.type==="day")){let K=Number.parseInt(D,10);X=`0${D}`,Y=K<=(E.type==="month"?1:2)}if(E.type==="year"&&(X=(C.replace(/_/g,"")+D).padStart(E.len,"_")),!X.includes("_")){let K={...this.#F,[E.type]:X},Q=this.#Q(K,E);if(Q){this.inlineError=Q;return}}this.inlineError="",this.#F[E.type]=X;let H=X.includes("_")?void 0:gC(this.#F);if(H){let{year:K,month:Q}=H,z=yu(K,Q);this.#F={year:String(Math.max(0,Math.min(9999,K))).padStart(4,"0"),month:String(Math.max(1,Math.min(12,Q))).padStart(2,"0"),day:String(Math.max(1,Math.min(z,H.day))).padStart(2,"0")}}this.#X();let G=X.indexOf("_");Y?(this.#C=!0,this.#J=D):G>=0?this.#B.positionInSegment=G:Z>=0&&u.index<this.#u.length-1?(this.#B.segmentIndex=u.index+1,this.#B.positionInSegment=0,this.#C=!0):this.#B.positionInSegment=Math.min(J+1,E.len-1)}}#Q(D,F){let{month:u,day:E}=g8(D);if(F.type==="month"&&(u<0||u>12))return AD.date.messages.invalidMonth;if(F.type==="day"&&(E<0||E>31))return AD.date.messages.invalidDay(31,"any month")}#z(D){let{year:F,month:u,day:E}=g8(this.#F);if(F&&u&&E){let B=yu(F,u);this.#F={...this.#F,day:String(Math.min(E,B)).padStart(2,"0")}}this.value=fC(this.#F)??D.defaultValue??void 0}}class dC extends AF{options;cursor=0;#u;getGroupItems(D){return this.options.filter((F)=>F.group===D)}isGroupSelected(D){let F=this.getGroupItems(D),u=this.value;return u===void 0?!1:F.every((E)=>u.includes(E.value))}toggleValue(){let D=this.options[this.cursor];if(this.value===void 0&&(this.value=[]),D.group===!0){let F=D.value,u=this.getGroupItems(F);this.isGroupSelected(F)?this.value=this.value.filter((E)=>u.findIndex((B)=>B.value===E)===-1):this.value=[...this.value,...u.map((E)=>E.value)],this.value=Array.from(new Set(this.value))}else{let F=this.value.includes(D.value);this.value=F?this.value.filter((u)=>u!==D.value):[...this.value,D.value]}}constructor(D){super(D,!1);let{options:F}=D;this.#u=D.selectableGroups!==!1,this.options=Object.entries(F).flatMap(([u,E])=>[{value:u,group:!0,label:u},...E.map((B)=>({...B,group:u}))]),this.value=[...D.initialValues??[]],this.cursor=Math.max(this.options.findIndex(({value:u})=>u===D.cursorAt),this.#u?0:1),this.on("cursor",(u)=>{switch(u){case"left":case"up":{this.cursor=this.cursor===0?this.options.length-1:this.cursor-1;let E=this.options[this.cursor]?.group===!0;!this.#u&&E&&(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;let E=this.options[this.cursor]?.group===!0;!this.#u&&E&&(this.cursor=this.cursor===this.options.length-1?0:this.cursor+1);break}case"space":this.toggleValue();break}})}}class gu extends AF{options;cursor=0;get _selectedValue(){return this.options[this.cursor]}changeValue(){this.value=this._selectedValue.value}constructor(D){super(D,!1),this.options=D.options;let F=this.options.findIndex(({value:E})=>E===D.initialValue),u=F===-1?0:F;this.cursor=this.options[u].disabled?qF(u,1,this.options):u,this.changeValue(),this.on("cursor",(E)=>{switch(E){case"left":case"up":this.cursor=qF(this.cursor,-1,this.options);break;case"down":case"right":this.cursor=qF(this.cursor,1,this.options);break}this.changeValue()})}}class mu extends AF{get userInputWithCursor(){if(this.state==="submit")return this.userInput;let D=this.userInput;if(this.cursor>=D.length)return`${this.userInput}█`;let F=D.slice(0,this.cursor),[u,...E]=D.slice(this.cursor);return`${F}${xu("inverse",u)}${E.join("")}`}get cursor(){return this._cursor}constructor(D){super({...D,initialUserInput:D.initialUserInput??D.initialValue}),this.on("userInput",(F)=>{this._setValue(F)}),this.on("finalize",()=>{this.value||(this.value=D.defaultValue),this.value===void 0&&(this.value="")})}}import{styleText as x,stripVTControlCharacters as M_}from"node:util";import aD from"node:process";var E2=HD(Pu(),1);function GA(){return aD.platform!=="win32"?aD.env.TERM!=="linux":!!aD.env.CI||!!aD.env.WT_SESSION||!!aD.env.TERMINUS_SUBLIME||aD.env.ConEmuTask==="{cmd::Cmder}"||aD.env.TERM_PROGRAM==="Terminus-Sublime"||aD.env.TERM_PROGRAM==="vscode"||aD.env.TERM==="xterm-256color"||aD.env.TERM==="alacritty"||aD.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var du=GA(),QA=()=>process.env.CI==="true";var e=(D,F)=>du?D:F,KA=e("◆","*"),cC=e("■","x"),lC=e("▲","x"),lu=e("◇","o"),zA=e("┌","T"),DD=e("│","|"),B2=e("└","—"),L_=e("┐","T"),R_=e("┘","—"),cu=e("●",">"),c8=e("○"," "),j_=e("◻","[•]"),S_=e("◼","[+]"),P_=e("◻","[ ]"),w_=e("▪","•"),x_=e("─","-"),k_=e("╮","+"),y_=e("├","+"),b_=e("╯","+"),f_=e("╰","+"),v_=e("╭","+"),qA=e("●","•"),AA=e("◆","*"),UA=e("▲","!"),WA=e("■","x"),pu=(D)=>{switch(D){case"initial":case"active":return x("cyan",KA);case"cancel":return x("red",cC);case"error":return x("yellow",lC);case"submit":return x("green",lu)}},NA=(D)=>{switch(D){case"initial":case"active":return x("cyan",DD);case"cancel":return x("red",DD);case"error":return x("yellow",DD);case"submit":return x("green",DD)}},$A=(D,F,u,E,B)=>{let C=F,Z=0;for(let J=u;J<E;J++){let X=D[J];if(C=C-X.length,Z++,C<=B)break}return{lineCount:C,removals:Z}},VA=({cursor:D,options:F,style:u,output:E=process.stdout,maxItems:B=Number.POSITIVE_INFINITY,columnPadding:C=0,rowPadding:Z=4})=>{let J=m8(E)-C,X=vu(E),Y=x("dim","..."),H=Math.max(X-Z,0),G=Math.max(Math.min(B,H),5),K=0;D>=G-3&&(K=Math.max(Math.min(D-G+3,F.length-G),0));let Q=G<F.length&&K>0,z=G<F.length&&K+G<F.length,q=Math.min(K+G,F.length),W=[],N=0;Q&&N++,z&&N++;let M=K+(Q?1:0),$=q-(z?1:0);for(let j=M;j<$;j++){let P=V0(u(F[j],j===D),J,{hard:!0,trim:!1}).split(`
113
- `);W.push(P),N+=P.length}if(N>H){let j=0,P=0,L=N,v=D-M,I=(_,O)=>$A(W,L,_,O,H);Q?({lineCount:L,removals:j}=I(0,v),L>H&&({lineCount:L,removals:P}=I(v+1,W.length))):({lineCount:L,removals:P}=I(v+1,W.length),L>H&&({lineCount:L,removals:j}=I(0,v))),j>0&&(Q=!0,W.splice(0,j)),P>0&&(z=!0,W.splice(W.length-P,P))}let U=[];Q&&U.push(Y);for(let j of W)for(let P of j)U.push(P);return z&&U.push(Y),U};var l8=(D)=>{let F=D.active??"Yes",u=D.inactive??"No";return new hu({active:F,inactive:u,signal:D.signal,input:D.input,output:D.output,initialValue:D.initialValue??!0,render(){let E=D.withGuide??AD.withGuide,B=`${pu(this.state)} `,C=E?`${x("gray",DD)} `:"",Z=u2(D.output,D.message,C,B),J=`${E?`${x("gray",DD)}
114
- `:""}${Z}
115
- `,X=this.value?F:u;switch(this.state){case"submit":{let Y=E?`${x("gray",DD)} `:"";return`${J}${Y}${x("dim",X)}`}case"cancel":{let Y=E?`${x("gray",DD)} `:"";return`${J}${Y}${x(["strikethrough","dim"],X)}${E?`
116
- ${x("gray",DD)}`:""}`}default:{let Y=E?`${x("cyan",DD)} `:"",H=E?x("cyan",B2):"";return`${J}${Y}${this.value?`${x("green",cu)} ${F}`:`${x("dim",c8)} ${x("dim",F)}`}${D.vertical?E?`
117
- ${x("cyan",DD)} `:`
118
- `:` ${x("dim","/")} `}${this.value?`${x("dim",c8)} ${x("dim",u)}`:`${x("green",cu)} ${u}`}
119
- ${H}
120
- `}}}}).prompt()};var M0={message:(D=[],{symbol:F=x("gray",DD),secondarySymbol:u=x("gray",DD),output:E=process.stdout,spacing:B=1,withGuide:C}={})=>{let Z=[],J=C??AD.withGuide,X=J?u:"",Y=J?`${F} `:"",H=J?`${u} `:"";for(let K=0;K<B;K++)Z.push(X);let G=Array.isArray(D)?D:D.split(`
121
- `);if(G.length>0){let[K,...Q]=G;K.length>0?Z.push(`${Y}${K}`):Z.push(J?F:"");for(let z of Q)z.length>0?Z.push(`${H}${z}`):Z.push(J?u:"")}E.write(`${Z.join(`
43
+ `),Z=Math.max(B.length,E.length),J=[];for(let Y=0;Y<Z;Y++)B[Y]!==E[Y]&&J.push(Y);return{lines:J,numLinesBefore:B.length,numLinesAfter:E.length,numLines:Z}}var O7=globalThis.process.platform.startsWith("win"),kF=Symbol("clack:cancel");function t(D){return D===kF}function o0(D,F){let B=D;B.isTTY&&B.setRawMode(F)}function a8({input:D=p8,output:F=OF,overwrite:B=!0,hideCursor:E=!0}={}){let Z=yD.createInterface({input:D,output:F,prompt:"",tabSize:1});yD.emitKeypressEvents(D,Z),D instanceof c8&&D.isTTY&&D.setRawMode(!0);let J=(Y,{name:H,sequence:Q})=>{let X=String(Y);if(yF([X,H,Q],"cancel")){E&&F.write(DD.cursor.show),process.exit(0);return}if(!B)return;yD.moveCursor(F,H==="return"?0:-1,H==="return"?-1:0,()=>{yD.clearLine(F,1,()=>{D.once("keypress",J)})})};return E&&F.write(DD.cursor.hide),D.once("keypress",J),()=>{D.off("keypress",J),E&&F.write(DD.cursor.show),D instanceof c8&&D.isTTY&&!O7&&D.setRawMode(!1),Z.terminal=!1,Z.close()}}var e0=(D)=>("columns"in D)&&typeof D.columns=="number"?D.columns:80,wF=(D)=>("rows"in D)&&typeof D.rows=="number"?D.rows:20;function G0(D,F,B,E=B){let Z=e0(D??OF);return OD(F,Z-B.length,{hard:!0,trim:!1}).split(`
44
+ `).map((J,Y)=>`${Y===0?E:B}${J}`).join(`
45
+ `)}var D0=class{input;output;_abortSignal;rl;opts;_render;_track=!1;_prevFrame="";_subscribers=new Map;_cursor=0;state="initial";error="";value;userInput="";constructor(D,F=!0){let{input:B=p8,output:E=OF,render:Z,signal:J,...Y}=D;this.opts=Y,this.onKeypress=this.onKeypress.bind(this),this.close=this.close.bind(this),this.render=this.render.bind(this),this._render=Z.bind(this),this._track=F,this._abortSignal=J,this.input=B,this.output=E}unsubscribe(){this._subscribers.clear()}setSubscriber(D,F){let B=this._subscribers.get(D)??[];B.push(F),this._subscribers.set(D,B)}on(D,F){this.setSubscriber(D,{cb:F})}once(D,F){this.setSubscriber(D,{cb:F,once:!0})}emit(D,...F){let B=this._subscribers.get(D)??[],E=[];for(let Z of B)Z.cb(...F),Z.once&&E.push(()=>B.splice(B.indexOf(Z),1));for(let Z of E)Z()}prompt(){return new Promise((D)=>{if(this._abortSignal){if(this._abortSignal.aborted)return this.state="cancel",this.close(),D(kF);this._abortSignal.addEventListener("abort",()=>{this.state="cancel",this.close()},{once:!0})}this.rl=S7.createInterface({input:this.input,tabSize:2,prompt:"",escapeCodeTimeout:50,terminal:!0}),this.rl.prompt(),this.opts.initialUserInput!==void 0&&this._setUserInput(this.opts.initialUserInput,!0),this.input.on("keypress",this.onKeypress),o0(this.input,!0),this.output.on("resize",this.render),this.render(),this.once("submit",()=>{this.output.write(DD.cursor.show),this.output.off("resize",this.render),o0(this.input,!1),D(this.value)}),this.once("cancel",()=>{this.output.write(DD.cursor.show),this.output.off("resize",this.render),o0(this.input,!1),D(kF)})})}_isActionKey(D,F){return D==="\t"}_setValue(D){this.value=D,this.emit("value",this.value)}_setUserInput(D,F){this.userInput=D??"",this.emit("userInput",this.userInput),F&&this._track&&this.rl&&(this.rl.write(this.userInput),this._cursor=this.rl.cursor)}_clearUserInput(){this.rl?.write(null,{ctrl:!0,name:"u"}),this._setUserInput("")}onKeypress(D,F){if(this._track&&F.name!=="return"&&(F.name&&this._isActionKey(D,F)&&this.rl?.write(null,{ctrl:!0,name:"h"}),this._cursor=this.rl?.cursor??0,this._setUserInput(this.rl?.line)),this.state==="error"&&(this.state="active"),F?.name&&(!this._track&&o.aliases.has(F.name)&&this.emit("cursor",o.aliases.get(F.name)),o.actions.has(F.name)&&this.emit("cursor",F.name)),D&&(D.toLowerCase()==="y"||D.toLowerCase()==="n")&&this.emit("confirm",D.toLowerCase()==="y"),this.emit("key",D?.toLowerCase(),F),F?.name==="return"){if(this.opts.validate){let B=this.opts.validate(this.value);B&&(this.error=B instanceof Error?B.message:B,this.state="error",this.rl?.write(this.userInput))}this.state!=="error"&&(this.state="submit")}yF([D,F?.name,F?.sequence],"cancel")&&(this.state="cancel"),(this.state==="submit"||this.state==="cancel")&&this.emit("finalize"),this.render(),(this.state==="submit"||this.state==="cancel")&&this.close()}close(){this.input.unpipe(),this.input.removeListener("keypress",this.onKeypress),this.output.write(`
46
+ `),o0(this.input,!1),this.rl?.close(),this.rl=void 0,this.emit(`${this.state}`,this.value),this.unsubscribe()}restoreCursor(){let D=OD(this._prevFrame,process.stdout.columns,{hard:!0,trim:!1}).split(`
47
+ `).length-1;this.output.write(DD.cursor.move(-999,D*-1))}render(){let D=OD(this._render(this)??"",process.stdout.columns,{hard:!0,trim:!1});if(D!==this._prevFrame){if(this.state==="initial")this.output.write(DD.cursor.hide);else{let F=P7(this._prevFrame,D),B=wF(this.output);if(this.restoreCursor(),F){let E=Math.max(0,F.numLinesAfter-B),Z=Math.max(0,F.numLinesBefore-B),J=F.lines.find((Y)=>Y>=E);if(J===void 0){this._prevFrame=D;return}if(F.lines.length===1){this.output.write(DD.cursor.move(0,J-Z)),this.output.write(DD.erase.lines(1));let Y=D.split(`
48
+ `);this.output.write(Y[J]),this._prevFrame=D,this.output.write(DD.cursor.move(0,Y.length-J-1));return}else if(F.lines.length>1){if(E<Z)J=E;else{let H=J-Z;H>0&&this.output.write(DD.cursor.move(0,H))}this.output.write(DD.erase.down());let Y=D.split(`
49
+ `).slice(J);this.output.write(Y.join(`
50
+ `)),this._prevFrame=D;return}}this.output.write(DD.erase.down())}this.output.write(D),this.state==="initial"&&(this.state="active"),this._prevFrame=D}}};function y7(D,F){if(D===void 0||F.length===0)return 0;let B=F.findIndex((E)=>E.value===D);return B!==-1?B:0}function w7(D,F){return(F.label??String(F.value)).toLowerCase().includes(D.toLowerCase())}function x7(D,F){if(F)return D?F:F[0]}var b7=class extends D0{filteredOptions;multiple;isNavigating=!1;selectedValues=[];focusedValue;#F=0;#Y="";#D;#J;#H;get cursor(){return this.#F}get userInputWithCursor(){if(!this.userInput)return _F(["inverse","hidden"],"_");if(this._cursor>=this.userInput.length)return`${this.userInput}█`;let D=this.userInput.slice(0,this._cursor),[F,...B]=this.userInput.slice(this._cursor);return`${D}${_F("inverse",F)}${B.join("")}`}get options(){return typeof this.#J=="function"?this.#J():this.#J}constructor(D){super(D),this.#J=D.options,this.#H=D.placeholder;let F=this.options;this.filteredOptions=[...F],this.multiple=D.multiple===!0,this.#D=typeof D.options=="function"?D.filter:D.filter??w7;let B;if(D.initialValue&&Array.isArray(D.initialValue)?this.multiple?B=D.initialValue:B=D.initialValue.slice(0,1):!this.multiple&&this.options.length>0&&(B=[this.options[0].value]),B)for(let E of B){let Z=F.findIndex((J)=>J.value===E);Z!==-1&&(this.toggleSelected(E),this.#F=Z)}this.focusedValue=this.options[this.#F]?.value,this.on("key",(E,Z)=>this.#B(E,Z)),this.on("userInput",(E)=>this.#E(E))}_isActionKey(D,F){return D==="\t"||this.multiple&&this.isNavigating&&F.name==="space"&&D!==void 0&&D!==""}#B(D,F){let B=F.name==="up",E=F.name==="down",Z=F.name==="return",J=this.userInput===""||this.userInput==="\t",Y=this.#H,H=this.options,Q=Y!==void 0&&Y!==""&&H.some((X)=>!X.disabled&&(this.#D?this.#D(Y,X):!0));if(F.name==="tab"&&J&&Q){this.userInput==="\t"&&this._clearUserInput(),this._setUserInput(Y,!0),this.isNavigating=!1;return}B||E?(this.#F=eD(this.#F,B?-1:1,this.filteredOptions),this.focusedValue=this.filteredOptions[this.#F]?.value,this.multiple||(this.selectedValues=[this.focusedValue]),this.isNavigating=!0):Z?this.value=x7(this.multiple,this.selectedValues):this.multiple?this.focusedValue!==void 0&&(F.name==="tab"||this.isNavigating&&F.name==="space")?this.toggleSelected(this.focusedValue):this.isNavigating=!1:(this.focusedValue&&(this.selectedValues=[this.focusedValue]),this.isNavigating=!1)}deselectAll(){this.selectedValues=[]}toggleSelected(D){this.filteredOptions.length!==0&&(this.multiple?this.selectedValues.includes(D)?this.selectedValues=this.selectedValues.filter((F)=>F!==D):this.selectedValues=[...this.selectedValues,D]:this.selectedValues=[D])}#E(D){if(D!==this.#Y){this.#Y=D;let F=this.options;D&&this.#D?this.filteredOptions=F.filter((Z)=>this.#D?.(D,Z)):this.filteredOptions=[...F];let B=y7(this.focusedValue,this.filteredOptions);this.#F=eD(B,0,this.filteredOptions);let E=this.filteredOptions[this.#F];E&&!E.disabled?this.focusedValue=E.value:this.focusedValue=void 0,this.multiple||(this.focusedValue!==void 0?this.toggleSelected(this.focusedValue):this.deselectAll())}}};class xF extends D0{get cursor(){return this.value?0:1}get _value(){return this.cursor===0}constructor(D){super(D,!1),this.value=!!D.initialValue,this.on("userInput",()=>{this.value=this._value}),this.on("confirm",(F)=>{this.output.write(DD.cursor.move(0,-1)),this.value=F,this.state="submit",this.close()}),this.on("cursor",()=>{this.value=!this.value})}}var v7={Y:{type:"year",len:4},M:{type:"month",len:2},D:{type:"day",len:2}};function d8(D){return[...D].map((F)=>v7[F])}function h7(D){let F=new Intl.DateTimeFormat(D,{year:"numeric",month:"2-digit",day:"2-digit"}).formatToParts(new Date(2000,0,15)),B=[],E="/";for(let Z of F)Z.type==="literal"?E=Z.value.trim()||Z.value:(Z.type==="year"||Z.type==="month"||Z.type==="day")&&B.push({type:Z.type,len:Z.type==="year"?4:2});return{segments:B,separator:E}}function SF(D){return Number.parseInt((D||"0").replace(/_/g,"0"),10)||0}function t0(D){return{year:SF(D.year),month:SF(D.month),day:SF(D.day)}}function PF(D,F){return new Date(D||2001,F||1,0).getDate()}function i8(D){let{year:F,month:B,day:E}=t0(D);if(!F||F<0||F>9999||!B||B<1||B>12||!E||E<1)return;let Z=new Date(Date.UTC(F,B-1,E));if(!(Z.getUTCFullYear()!==F||Z.getUTCMonth()!==B-1||Z.getUTCDate()!==E))return{year:F,month:B,day:E}}function l8(D){let F=i8(D);return F?new Date(Date.UTC(F.year,F.month-1,F.day)):void 0}function g7(D,F,B,E){let Z=B?{year:B.getUTCFullYear(),month:B.getUTCMonth()+1,day:B.getUTCDate()}:null,J=E?{year:E.getUTCFullYear(),month:E.getUTCMonth()+1,day:E.getUTCDate()}:null;return D==="year"?{min:Z?.year??1,max:J?.year??9999}:D==="month"?{min:Z&&F.year===Z.year?Z.month:1,max:J&&F.year===J.year?J.month:12}:{min:Z&&F.year===Z.year&&F.month===Z.month?Z.day:1,max:J&&F.year===J.year&&F.month===J.month?J.day:PF(F.year,F.month)}}class n8 extends D0{#F;#Y;#D;#J;#H;#B={segmentIndex:0,positionInSegment:0};#E=!0;#Z=null;inlineError="";get segmentCursor(){return{...this.#B}}get segmentValues(){return{...this.#D}}get segments(){return this.#F}get separator(){return this.#Y}get formattedValue(){return this.#G(this.#D)}#G(D){return this.#F.map((F)=>D[F.type]).join(this.#Y)}#X(){this._setUserInput(this.#G(this.#D)),this._setValue(l8(this.#D)??void 0)}constructor(D){let F=D.format?{segments:d8(D.format),separator:D.separator??"/"}:h7(D.locale),B=D.separator??F.separator,E=D.format?d8(D.format):F.segments,Z=D.initialValue??D.defaultValue,J=Z?{year:String(Z.getUTCFullYear()).padStart(4,"0"),month:String(Z.getUTCMonth()+1).padStart(2,"0"),day:String(Z.getUTCDate()).padStart(2,"0")}:{year:"____",month:"__",day:"__"},Y=E.map((H)=>J[H.type]).join(B);super({...D,initialUserInput:Y},!1),this.#F=E,this.#Y=B,this.#D=J,this.#J=D.minDate,this.#H=D.maxDate,this.#X(),this.on("cursor",(H)=>this.#q(H)),this.on("key",(H,Q)=>this.#u(H,Q)),this.on("finalize",()=>this.#W(D))}#Q(){let D=Math.max(0,Math.min(this.#B.segmentIndex,this.#F.length-1)),F=this.#F[D];if(F)return this.#B.positionInSegment=Math.max(0,Math.min(this.#B.positionInSegment,F.len-1)),{segment:F,index:D}}#C(D){this.inlineError="",this.#Z=null;let F=this.#Q();F&&(this.#B.segmentIndex=Math.max(0,Math.min(this.#F.length-1,F.index+D)),this.#B.positionInSegment=0,this.#E=!0)}#K(D){let F=this.#Q();if(!F)return;let{segment:B}=F,E=this.#D[B.type],Z=!E||E.replace(/_/g,"")==="",J=Number.parseInt((E||"0").replace(/_/g,"0"),10)||0,Y=g7(B.type,t0(this.#D),this.#J,this.#H),H;Z?H=D===1?Y.min:Y.max:H=Math.max(Math.min(Y.max,J+D),Y.min),this.#D={...this.#D,[B.type]:H.toString().padStart(B.len,"0")},this.#E=!0,this.#Z=null,this.#X()}#q(D){if(D)switch(D){case"right":return this.#C(1);case"left":return this.#C(-1);case"up":return this.#K(1);case"down":return this.#K(-1)}}#u(D,F){if(F?.name==="backspace"||F?.sequence===""||F?.sequence==="\b"||D===""||D==="\b"){this.inlineError="";let B=this.#Q();if(!B)return;if(!this.#D[B.segment.type].replace(/_/g,"")){this.#C(-1);return}this.#D[B.segment.type]="_".repeat(B.segment.len),this.#E=!0,this.#B.positionInSegment=0,this.#X();return}if(F?.name==="tab"){this.inlineError="";let B=this.#Q();if(!B)return;let E=F.shift?-1:1,Z=B.index+E;Z>=0&&Z<this.#F.length&&(this.#B.segmentIndex=Z,this.#B.positionInSegment=0,this.#E=!0);return}if(D&&/^[0-9]$/.test(D)){let B=this.#Q();if(!B)return;let{segment:E}=B,Z=!this.#D[E.type].replace(/_/g,"");if(this.#E&&this.#Z!==null&&!Z){let u=this.#Z+D,q={...this.#D,[E.type]:u},z=this.#z(q,E);if(z){this.inlineError=z,this.#Z=null,this.#E=!1;return}this.inlineError="",this.#D[E.type]=u,this.#Z=null,this.#E=!1,this.#X(),B.index<this.#F.length-1&&(this.#B.segmentIndex=B.index+1,this.#B.positionInSegment=0,this.#E=!0);return}this.#E&&!Z&&(this.#D[E.type]="_".repeat(E.len),this.#B.positionInSegment=0),this.#E=!1,this.#Z=null;let J=this.#D[E.type],Y=J.indexOf("_"),H=Y>=0?Y:Math.min(this.#B.positionInSegment,E.len-1);if(H<0||H>=E.len)return;let Q=J.slice(0,H)+D+J.slice(H+1),X=!1;if(H===0&&J==="__"&&(E.type==="month"||E.type==="day")){let u=Number.parseInt(D,10);Q=`0${D}`,X=u<=(E.type==="month"?1:2)}if(E.type==="year"&&(Q=(J.replace(/_/g,"")+D).padStart(E.len,"_")),!Q.includes("_")){let u={...this.#D,[E.type]:Q},q=this.#z(u,E);if(q){this.inlineError=q;return}}this.inlineError="",this.#D[E.type]=Q;let C=Q.includes("_")?void 0:i8(this.#D);if(C){let{year:u,month:q}=C,z=PF(u,q);this.#D={year:String(Math.max(0,Math.min(9999,u))).padStart(4,"0"),month:String(Math.max(1,Math.min(12,q))).padStart(2,"0"),day:String(Math.max(1,Math.min(z,C.day))).padStart(2,"0")}}this.#X();let G=Q.indexOf("_");X?(this.#E=!0,this.#Z=D):G>=0?this.#B.positionInSegment=G:Y>=0&&B.index<this.#F.length-1?(this.#B.segmentIndex=B.index+1,this.#B.positionInSegment=0,this.#E=!0):this.#B.positionInSegment=Math.min(H+1,E.len-1)}}#z(D,F){let{month:B,day:E}=t0(D);if(F.type==="month"&&(B<0||B>12))return o.date.messages.invalidMonth;if(F.type==="day"&&(E<0||E>31))return o.date.messages.invalidDay(31,"any month")}#W(D){let{year:F,month:B,day:E}=t0(this.#D);if(F&&B&&E){let Z=PF(F,B);this.#D={...this.#D,day:String(Math.min(E,Z)).padStart(2,"0")}}this.value=l8(this.#D)??D.defaultValue??void 0}}class r8 extends D0{options;cursor=0;#F;getGroupItems(D){return this.options.filter((F)=>F.group===D)}isGroupSelected(D){let F=this.getGroupItems(D),B=this.value;return B===void 0?!1:F.every((E)=>B.includes(E.value))}toggleValue(){let D=this.options[this.cursor];if(this.value===void 0&&(this.value=[]),D.group===!0){let F=D.value,B=this.getGroupItems(F);this.isGroupSelected(F)?this.value=this.value.filter((E)=>B.findIndex((Z)=>Z.value===E)===-1):this.value=[...this.value,...B.map((E)=>E.value)],this.value=Array.from(new Set(this.value))}else{let F=this.value.includes(D.value);this.value=F?this.value.filter((B)=>B!==D.value):[...this.value,D.value]}}constructor(D){super(D,!1);let{options:F}=D;this.#F=D.selectableGroups!==!1,this.options=Object.entries(F).flatMap(([B,E])=>[{value:B,group:!0,label:B},...E.map((Z)=>({...Z,group:B}))]),this.value=[...D.initialValues??[]],this.cursor=Math.max(this.options.findIndex(({value:B})=>B===D.cursorAt),this.#F?0:1),this.on("cursor",(B)=>{switch(B){case"left":case"up":{this.cursor=this.cursor===0?this.options.length-1:this.cursor-1;let E=this.options[this.cursor]?.group===!0;!this.#F&&E&&(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;let E=this.options[this.cursor]?.group===!0;!this.#F&&E&&(this.cursor=this.cursor===this.options.length-1?0:this.cursor+1);break}case"space":this.toggleValue();break}})}}class bF extends D0{options;cursor=0;get _selectedValue(){return this.options[this.cursor]}changeValue(){this.value=this._selectedValue.value}constructor(D){super(D,!1),this.options=D.options;let F=this.options.findIndex(({value:E})=>E===D.initialValue),B=F===-1?0:F;this.cursor=this.options[B].disabled?eD(B,1,this.options):B,this.changeValue(),this.on("cursor",(E)=>{switch(E){case"left":case"up":this.cursor=eD(this.cursor,-1,this.options);break;case"down":case"right":this.cursor=eD(this.cursor,1,this.options);break}this.changeValue()})}}class vF extends D0{get userInputWithCursor(){if(this.state==="submit")return this.userInput;let D=this.userInput;if(this.cursor>=D.length)return`${this.userInput}█`;let F=D.slice(0,this.cursor),[B,...E]=D.slice(this.cursor);return`${F}${_F("inverse",B)}${E.join("")}`}get cursor(){return this._cursor}constructor(D){super({...D,initialUserInput:D.initialUserInput??D.initialValue}),this.on("userInput",(F)=>{this._setValue(F)}),this.on("finalize",()=>{this.value||(this.value=D.defaultValue),this.value===void 0&&(this.value="")})}}import{styleText as A,stripVTControlCharacters as nY}from"node:util";import WD from"node:process";var K0=ID(fF(),1);function m7(){return WD.platform!=="win32"?WD.env.TERM!=="linux":!!WD.env.CI||!!WD.env.WT_SESSION||!!WD.env.TERMINUS_SUBLIME||WD.env.ConEmuTask==="{cmd::Cmder}"||WD.env.TERM_PROGRAM==="Terminus-Sublime"||WD.env.TERM_PROGRAM==="vscode"||WD.env.TERM==="xterm-256color"||WD.env.TERM==="alacritty"||WD.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var hF=m7(),c7=()=>process.env.CI==="true";var p=(D,F)=>hF?D:F,d7=p("◆","*"),s8=p("■","x"),o8=p("▲","x"),mF=p("◇","o"),l7=p("┌","T"),a=p("│","|"),z0=p("└","—"),tY=p("┐","T"),eY=p("┘","—"),gF=p("●",">"),F2=p("○"," "),DH=p("◻","[•]"),FH=p("◼","[+]"),BH=p("◻","[ ]"),EH=p("▪","•"),ZH=p("─","-"),JH=p("╮","+"),YH=p("├","+"),HH=p("╯","+"),XH=p("╰","+"),QH=p("╭","+"),p7=p("●","•"),a7=p("◆","*"),i7=p("▲","!"),n7=p("■","x"),cF=(D)=>{switch(D){case"initial":case"active":return A("cyan",d7);case"cancel":return A("red",s8);case"error":return A("yellow",o8);case"submit":return A("green",mF)}},r7=(D)=>{switch(D){case"initial":case"active":return A("cyan",a);case"cancel":return A("red",a);case"error":return A("yellow",a);case"submit":return A("green",a)}},s7=(D,F,B,E,Z)=>{let J=F,Y=0;for(let H=B;H<E;H++){let Q=D[H];if(J=J-Q.length,Y++,J<=Z)break}return{lineCount:J,removals:Y}},o7=({cursor:D,options:F,style:B,output:E=process.stdout,maxItems:Z=Number.POSITIVE_INFINITY,columnPadding:J=0,rowPadding:Y=4})=>{let H=e0(E)-J,Q=wF(E),X=A("dim","..."),C=Math.max(Q-Y,0),G=Math.max(Math.min(Z,C),5),u=0;D>=G-3&&(u=Math.max(Math.min(D-G+3,F.length-G),0));let q=G<F.length&&u>0,z=G<F.length&&u+G<F.length,$=Math.min(u+G,F.length),M=[],I=0;q&&I++,z&&I++;let V=u+(q?1:0),N=$-(z?1:0);for(let R=V;R<N;R++){let f=OD(B(F[R],R===D),H,{hard:!0,trim:!1}).split(`
51
+ `);M.push(f),I+=f.length}if(I>C){let R=0,f=0,L=I,P=D-V,i=(d,v)=>s7(M,L,d,v,C);q?({lineCount:L,removals:R}=i(0,P),L>C&&({lineCount:L,removals:f}=i(P+1,M.length))):({lineCount:L,removals:f}=i(P+1,M.length),L>C&&({lineCount:L,removals:R}=i(0,P))),R>0&&(q=!0,M.splice(0,R)),f>0&&(z=!0,M.splice(M.length-f,f))}let U=[];q&&U.push(X);for(let R of M)for(let f of R)U.push(f);return z&&U.push(X),U};var B2=(D)=>{let F=D.active??"Yes",B=D.inactive??"No";return new xF({active:F,inactive:B,signal:D.signal,input:D.input,output:D.output,initialValue:D.initialValue??!0,render(){let E=D.withGuide??o.withGuide,Z=`${cF(this.state)} `,J=E?`${A("gray",a)} `:"",Y=G0(D.output,D.message,J,Z),H=`${E?`${A("gray",a)}
52
+ `:""}${Y}
53
+ `,Q=this.value?F:B;switch(this.state){case"submit":{let X=E?`${A("gray",a)} `:"";return`${H}${X}${A("dim",Q)}`}case"cancel":{let X=E?`${A("gray",a)} `:"";return`${H}${X}${A(["strikethrough","dim"],Q)}${E?`
54
+ ${A("gray",a)}`:""}`}default:{let X=E?`${A("cyan",a)} `:"",C=E?A("cyan",z0):"";return`${H}${X}${this.value?`${A("green",gF)} ${F}`:`${A("dim",F2)} ${A("dim",F)}`}${D.vertical?E?`
55
+ ${A("cyan",a)} `:`
56
+ `:` ${A("dim","/")} `}${this.value?`${A("dim",F2)} ${A("dim",B)}`:`${A("green",gF)} ${B}`}
57
+ ${C}
58
+ `}}}}).prompt()};var wD={message:(D=[],{symbol:F=A("gray",a),secondarySymbol:B=A("gray",a),output:E=process.stdout,spacing:Z=1,withGuide:J}={})=>{let Y=[],H=J??o.withGuide,Q=H?B:"",X=H?`${F} `:"",C=H?`${B} `:"";for(let u=0;u<Z;u++)Y.push(Q);let G=Array.isArray(D)?D:D.split(`
59
+ `);if(G.length>0){let[u,...q]=G;u.length>0?Y.push(`${X}${u}`):Y.push(H?F:"");for(let z of q)z.length>0?Y.push(`${C}${z}`):Y.push(H?B:"")}E.write(`${Y.join(`
122
60
  `)}
123
- `)},info:(D,F)=>{M0.message(D,{...F,symbol:x("blue",qA)})},success:(D,F)=>{M0.message(D,{...F,symbol:x("green",AA)})},step:(D,F)=>{M0.message(D,{...F,symbol:x("green",lu)})},warn:(D,F)=>{M0.message(D,{...F,symbol:x("yellow",UA)})},warning:(D,F)=>{M0.warn(D,F)},error:(D,F)=>{M0.message(D,{...F,symbol:x("red",WA)})}};var p8=(D="",F)=>{let u=F?.output??process.stdout,E=F?.withGuide??AD.withGuide?`${x("gray",zA)} `:"";u.write(`${E}${D}
124
- `)},i8=(D="",F)=>{let u=F?.output??process.stdout,E=F?.withGuide??AD.withGuide?`${x("gray",DD)}
125
- ${x("gray",B2)} `:"";u.write(`${E}${D}
61
+ `)},info:(D,F)=>{wD.message(D,{...F,symbol:A("blue",p7)})},success:(D,F)=>{wD.message(D,{...F,symbol:A("green",a7)})},step:(D,F)=>{wD.message(D,{...F,symbol:A("green",mF)})},warn:(D,F)=>{wD.message(D,{...F,symbol:A("yellow",i7)})},warning:(D,F)=>{wD.warn(D,F)},error:(D,F)=>{wD.message(D,{...F,symbol:A("red",n7)})}};var E2=(D="",F)=>{let B=F?.output??process.stdout,E=F?.withGuide??o.withGuide?`${A("gray",l7)} `:"";B.write(`${E}${D}
62
+ `)},Z2=(D="",F)=>{let B=F?.output??process.stdout,E=F?.withGuide??o.withGuide?`${A("gray",a)}
63
+ ${A("gray",z0)} `:"";B.write(`${E}${D}
126
64
 
127
- `)};var IA=(D)=>x("magenta",D),pC=({indicator:D="dots",onCancel:F,output:u=process.stdout,cancelMessage:E,errorMessage:B,frames:C=du?["◒","◐","◓","◑"]:["•","o","O","0"],delay:Z=du?80:120,signal:J,...X}={})=>{let Y=QA(),H,G,K=!1,Q=!1,z="",q,W=performance.now(),N=m8(u),M=X?.styleFrame??IA,$=(R)=>{let S=R>1?B??AD.messages.error:E??AD.messages.cancel;Q=R===1,K&&(w(S,R),Q&&typeof F=="function"&&F())},U=()=>$(2),j=()=>$(1),P=()=>{process.on("uncaughtExceptionMonitor",U),process.on("unhandledRejection",U),process.on("SIGINT",j),process.on("SIGTERM",j),process.on("exit",$),J&&J.addEventListener("abort",j)},L=()=>{process.removeListener("uncaughtExceptionMonitor",U),process.removeListener("unhandledRejection",U),process.removeListener("SIGINT",j),process.removeListener("SIGTERM",j),process.removeListener("exit",$),J&&J.removeEventListener("abort",j)},v=()=>{if(q===void 0)return;Y&&u.write(`
128
- `);let R=V0(q,N,{hard:!0,trim:!1}).split(`
129
- `);R.length>1&&u.write(E2.cursor.up(R.length-1)),u.write(E2.cursor.to(0)),u.write(E2.erase.down())},I=(R)=>R.replace(/\.+$/,""),_=(R)=>{let S=(performance.now()-R)/1000,b=Math.floor(S/60),f=Math.floor(S%60);return b>0?`[${b}m ${f}s]`:`[${f}s]`},O=X.withGuide??AD.withGuide,g=(R="")=>{K=!0,H=hC({output:u}),z=I(R),W=performance.now(),O&&u.write(`${x("gray",DD)}
130
- `);let S=0,b=0;P(),G=setInterval(()=>{if(Y&&z===q)return;v(),q=z;let f=M(C[S]),p;if(Y)p=`${f} ${z}...`;else if(D==="timer")p=`${f} ${z} ${_(W)}`;else{let M3=".".repeat(Math.floor(b)).slice(0,3);p=`${f} ${z}${M3}`}let m=V0(p,N,{hard:!0,trim:!1});u.write(m),S=S+1<C.length?S+1:0,b=b<4?b+0.125:0},Z)},w=(R="",S=0,b=!1)=>{if(!K)return;K=!1,clearInterval(G),v();let f=S===0?x("green",lu):S===1?x("red",cC):x("red",lC);z=R??z,b||(D==="timer"?u.write(`${f} ${z} ${_(W)}
131
- `):u.write(`${f} ${z}
132
- `)),L(),H()};return{start:g,stop:(R="")=>w(R,0),message:(R="")=>{z=I(R??z)},cancel:(R="")=>w(R,1),error:(R="")=>w(R,2),clear:()=>w("",0,!0),get isCancelled(){return Q}}},h_={light:e("─","-"),heavy:e("━","="),block:e("█","#")};var d8=(D,F)=>D.includes(`
65
+ `)};var t7=(D)=>A("magenta",D),t8=({indicator:D="dots",onCancel:F,output:B=process.stdout,cancelMessage:E,errorMessage:Z,frames:J=hF?["◒","◐","◓","◑"]:["•","o","O","0"],delay:Y=hF?80:120,signal:H,...Q}={})=>{let X=c7(),C,G,u=!1,q=!1,z="",$,M=performance.now(),I=e0(B),V=Q?.styleFrame??t7,N=(S)=>{let g=S>1?Z??o.messages.error:E??o.messages.cancel;q=S===1,u&&(x(g,S),q&&typeof F=="function"&&F())},U=()=>N(2),R=()=>N(1),f=()=>{process.on("uncaughtExceptionMonitor",U),process.on("unhandledRejection",U),process.on("SIGINT",R),process.on("SIGTERM",R),process.on("exit",N),H&&H.addEventListener("abort",R)},L=()=>{process.removeListener("uncaughtExceptionMonitor",U),process.removeListener("unhandledRejection",U),process.removeListener("SIGINT",R),process.removeListener("SIGTERM",R),process.removeListener("exit",N),H&&H.removeEventListener("abort",R)},P=()=>{if($===void 0)return;X&&B.write(`
66
+ `);let S=OD($,I,{hard:!0,trim:!1}).split(`
67
+ `);S.length>1&&B.write(K0.cursor.up(S.length-1)),B.write(K0.cursor.to(0)),B.write(K0.erase.down())},i=(S)=>S.replace(/\.+$/,""),d=(S)=>{let g=(performance.now()-S)/1000,n=Math.floor(g/60),YD=Math.floor(g%60);return n>0?`[${n}m ${YD}s]`:`[${YD}s]`},v=Q.withGuide??o.withGuide,FD=(S="")=>{u=!0,C=a8({output:B}),z=i(S),M=performance.now(),v&&B.write(`${A("gray",a)}
68
+ `);let g=0,n=0;f(),G=setInterval(()=>{if(X&&z===$)return;P(),$=z;let YD=V(J[g]),R0;if(X)R0=`${YD} ${z}...`;else if(D==="timer")R0=`${YD} ${z} ${d(M)}`;else{let I4=".".repeat(Math.floor(n)).slice(0,3);R0=`${YD} ${z}${I4}`}let T4=OD(R0,I,{hard:!0,trim:!1});B.write(T4),g=g+1<J.length?g+1:0,n=n<4?n+0.125:0},Y)},x=(S="",g=0,n=!1)=>{if(!u)return;u=!1,clearInterval(G),P();let YD=g===0?A("green",mF):g===1?A("red",s8):A("red",o8);z=S??z,n||(D==="timer"?B.write(`${YD} ${z} ${d(M)}
69
+ `):B.write(`${YD} ${z}
70
+ `)),L(),C()};return{start:FD,stop:(S="")=>x(S,0),message:(S="")=>{z=i(S??z)},cancel:(S="")=>x(S,1),error:(S="")=>x(S,2),clear:()=>x("",0,!0),get isCancelled(){return q}}},CH={light:p("─","-"),heavy:p("━","="),block:p("█","#")};var D2=(D,F)=>D.includes(`
133
71
  `)?D.split(`
134
- `).map((u)=>F(u)).join(`
135
- `):F(D),n8=(D)=>{let F=(u,E)=>{let B=u.label??String(u.value);switch(E){case"disabled":return`${x("gray",c8)} ${d8(B,(C)=>x("gray",C))}${u.hint?` ${x("dim",`(${u.hint??"disabled"})`)}`:""}`;case"selected":return`${d8(B,(C)=>x("dim",C))}`;case"active":return`${x("green",cu)} ${B}${u.hint?` ${x("dim",`(${u.hint})`)}`:""}`;case"cancelled":return`${d8(B,(C)=>x(["strikethrough","dim"],C))}`;default:return`${x("dim",c8)} ${d8(B,(C)=>x("dim",C))}`}};return new gu({options:D.options,signal:D.signal,input:D.input,output:D.output,initialValue:D.initialValue,render(){let u=D.withGuide??AD.withGuide,E=`${pu(this.state)} `,B=`${NA(this.state)} `,C=u2(D.output,D.message,B,E),Z=`${u?`${x("gray",DD)}
136
- `:""}${C}
137
- `;switch(this.state){case"submit":{let J=u?`${x("gray",DD)} `:"",X=u2(D.output,F(this.options[this.cursor],"selected"),J);return`${Z}${X}`}case"cancel":{let J=u?`${x("gray",DD)} `:"",X=u2(D.output,F(this.options[this.cursor],"cancelled"),J);return`${Z}${X}${u?`
138
- ${x("gray",DD)}`:""}`}default:{let J=u?`${x("cyan",DD)} `:"",X=u?x("cyan",B2):"",Y=Z.split(`
139
- `).length,H=u?2:1;return`${Z}${J}${VA({output:D.output,cursor:this.cursor,options:this.options,maxItems:D.maxItems,columnPadding:J.length,rowPadding:Y+H,style:(G,K)=>F(G,G.disabled?"disabled":K?"active":"inactive")}).join(`
140
- ${J}`)}
141
- ${X}
142
- `}}}}).prompt()};var g_=`${x("gray",DD)} `;var Q0=(D)=>new mu({validate:D.validate,placeholder:D.placeholder,defaultValue:D.defaultValue,initialValue:D.initialValue,output:D.output,signal:D.signal,input:D.input,render(){let F=D?.withGuide??AD.withGuide,u=`${`${F?`${x("gray",DD)}
143
- `:""}${pu(this.state)} `}${D.message}
144
- `,E=D.placeholder?x("inverse",D.placeholder[0])+x("dim",D.placeholder.slice(1)):x(["inverse","hidden"],"_"),B=this.userInput?this.userInputWithCursor:E,C=this.value??"";switch(this.state){case"error":{let Z=this.error?` ${x("yellow",this.error)}`:"",J=F?`${x("yellow",DD)} `:"",X=F?x("yellow",B2):"";return`${u.trim()}
145
- ${J}${B}
146
- ${X}${Z}
147
- `}case"submit":{let Z=C?` ${x("dim",C)}`:"",J=F?x("gray",DD):"";return`${u}${J}${Z}`}case"cancel":{let Z=C?` ${x(["strikethrough","dim"],C)}`:"",J=F?x("gray",DD):"";return`${u}${J}${Z}${C.trim()?`
148
- ${J}`:""}`}default:{let Z=F?`${x("cyan",DD)} `:"",J=F?x("cyan",B2):"";return`${u}${Z}${B}
149
- ${J}
150
- `}}}}).prompt();import B6 from"node:process";import HZ from"node:path";import{fileURLToPath as eA}from"node:url";import DU from"node:child_process";import FU,{constants as uU}from"node:fs/promises";import{promisify as wA}from"node:util";import xA from"node:child_process";import ou,{constants as tC}from"node:fs/promises";import aC from"node:process";import LA from"node:os";import ru from"node:fs";import OA from"node:fs";import iC from"node:fs";var iu;function MA(){try{return iC.statSync("/.dockerenv"),!0}catch{return!1}}function TA(){try{return iC.readFileSync("/proc/self/cgroup","utf8").includes("docker")}catch{return!1}}function nu(){if(iu===void 0)iu=MA()||TA();return iu}var au,_A=()=>{try{return OA.statSync("/run/.containerenv"),!0}catch{return!1}};function p0(){if(au===void 0)au=_A()||nu();return au}var nC=()=>{if(aC.platform!=="linux")return!1;if(LA.release().toLowerCase().includes("microsoft")){if(p0())return!1;return!0}try{if(ru.readFileSync("/proc/version","utf8").toLowerCase().includes("microsoft"))return!p0()}catch{}if(ru.existsSync("/proc/sys/fs/binfmt_misc/WSLInterop")||ru.existsSync("/run/WSL"))return!p0();return!1},K0=aC.env.__IS_WSL_TEST__?nC:nC();import rC from"node:process";import{Buffer as RA}from"node:buffer";import{promisify as jA}from"node:util";import SA from"node:child_process";var PA=jA(SA.execFile),su=()=>`${rC.env.SYSTEMROOT||rC.env.windir||String.raw`C:\Windows`}\\System32\\WindowsPowerShell\\v1.0\\powershell.exe`;var fD=async(D,F={})=>{let{powerShellPath:u,...E}=F,B=fD.encodeCommand(D);return PA(u??su(),[...fD.argumentsPrefix,B],{encoding:"utf8",...E})};fD.argumentsPrefix=["-NoProfile","-NonInteractive","-ExecutionPolicy","Bypass","-EncodedCommand"];fD.encodeCommand=(D)=>RA.from(D,"utf16le").toString("base64");fD.escapeArgument=(D)=>`'${String(D).replaceAll("'","''")}'`;function sC(D){for(let F of D.split(`
151
- `)){if(/^\s*#/.test(F))continue;let u=/^\s*root\s*=\s*(?<mountPoint>"[^"]*"|'[^']*'|[^#]*)/.exec(F);if(!u)continue;return u.groups.mountPoint.trim().replaceAll(/^["']|["']$/g,"")}}var kA=wA(xA.execFile),yA=(()=>{let F;return async function(){if(F)return F;let u="/etc/wsl.conf",E=!1;try{await ou.access(u,tC.F_OK),E=!0}catch{}if(!E)return"/mnt/";let B=await ou.readFile(u,{encoding:"utf8"}),C=sC(B);if(C===void 0)return"/mnt/";return F=C,F=F.endsWith("/")?F:`${F}/`,F}})(),bA=async()=>{return`${await yA()}c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe`},a8=K0?bA:su,oC,eC=async()=>{return oC??=(async()=>{try{let D=await a8();return await ou.access(D,tC.X_OK),!0}catch{return!1}})(),oC},DZ=async()=>{let D=await a8(),F=String.raw`(Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice").ProgId`,{stdout:u}=await fD(F,{powerShellPath:D});return u.trim()},FZ=async(D)=>{if(/^[a-z]+:\/\//i.test(D))return D;try{let{stdout:F}=await kA("wslpath",["-aw",D],{encoding:"utf8"});return F.trim()}catch{return D}};function i0(D,F,u){let E=(B)=>Object.defineProperty(D,F,{value:B,enumerable:!0,writable:!0});return Object.defineProperty(D,F,{configurable:!0,enumerable:!0,get(){let B=u();return E(B),B},set(B){E(B)}}),D}import{promisify as aA}from"node:util";import F6 from"node:process";import{execFile as rA}from"node:child_process";import{promisify as fA}from"node:util";import vA from"node:process";import{execFile as hA}from"node:child_process";var gA=fA(hA);async function tu(){if(vA.platform!=="darwin")throw Error("macOS only");let{stdout:D}=await gA("defaults",["read","com.apple.LaunchServices/com.apple.launchservices.secure","LSHandlers"]),u=/LSHandlerRoleAll = "(?!-)(?<id>[^"]+?)";\s+?LSHandlerURLScheme = (?:http|https);/.exec(D)?.groups.id??"com.apple.Safari";if(u==="com.apple.safari")return"com.apple.Safari";return u}import mA from"node:process";import{promisify as dA}from"node:util";import{execFile as cA,execFileSync as VL}from"node:child_process";var lA=dA(cA);async function uZ(D,{humanReadableOutput:F=!0,signal:u}={}){if(mA.platform!=="darwin")throw Error("macOS only");let E=F?[]:["-ss"],B={};if(u)B.signal=u;let{stdout:C}=await lA("osascript",["-e",D,E],B);return C.trim()}async function eu(D){return uZ(`tell application "Finder" to set app_path to application file id "${D}" as string
152
- tell application "System Events" to get value of property list item "CFBundleName" of property list file (app_path & ":Contents:Info.plist")`)}import{promisify as pA}from"node:util";import{execFile as iA}from"node:child_process";var nA=pA(iA),r8={MSEdgeHTM:{name:"Edge",id:"com.microsoft.edge"},MSEdgeBHTML:{name:"Edge Beta",id:"com.microsoft.edge.beta"},MSEdgeDHTML:{name:"Edge Dev",id:"com.microsoft.edge.dev"},AppXq0fevzme2pys62n3e0fbqa7peapykr8v:{name:"Edge",id:"com.microsoft.edge.old"},ChromeHTML:{name:"Chrome",id:"com.google.chrome"},ChromeBHTML:{name:"Chrome Beta",id:"com.google.chrome.beta"},ChromeDHTML:{name:"Chrome Dev",id:"com.google.chrome.dev"},ChromiumHTM:{name:"Chromium",id:"org.chromium.Chromium"},BraveHTML:{name:"Brave",id:"com.brave.Browser"},BraveBHTML:{name:"Brave Beta",id:"com.brave.Browser.beta"},BraveDHTML:{name:"Brave Dev",id:"com.brave.Browser.dev"},BraveSSHTM:{name:"Brave Nightly",id:"com.brave.Browser.nightly"},FirefoxURL:{name:"Firefox",id:"org.mozilla.firefox"},OperaStable:{name:"Opera",id:"com.operasoftware.Opera"},VivaldiHTM:{name:"Vivaldi",id:"com.vivaldi.Vivaldi"},"IE.HTTP":{name:"Internet Explorer",id:"com.microsoft.ie"}},s8=new Map(Object.entries(r8));class EZ extends Error{}async function D6(D=nA){let{stdout:F}=await D("reg",["QUERY"," HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\Shell\\Associations\\UrlAssociations\\http\\UserChoice","/v","ProgId"]),u=/ProgId\s*REG_SZ\s*(?<id>\S+)/.exec(F);if(!u)throw new EZ(`Cannot find Windows browser in stdout: ${JSON.stringify(F)}`);let{id:E}=u.groups,B=E.lastIndexOf("."),C=E.lastIndexOf("-"),Z=B===-1?void 0:E.slice(0,B),J=C===-1?void 0:E.slice(0,C);return r8[E]??r8[Z]??r8[J]??{name:E,id:E}}var sA=aA(rA),oA=(D)=>D.toLowerCase().replaceAll(/(?:^|\s|-)\S/g,(F)=>F.toUpperCase());async function u6(){if(F6.platform==="darwin"){let D=await tu();return{name:await eu(D),id:D}}if(F6.platform==="linux"){let{stdout:D}=await sA("xdg-mime",["query","default","x-scheme-handler/http"]),F=D.trim();return{name:oA(F.replace(/.desktop$/,"").replace("-"," ")),id:F}}if(F6.platform==="win32")return D6();throw Error("Only macOS, Linux, and Windows are supported")}import E6 from"node:process";var tA=Boolean(E6.env.SSH_CONNECTION||E6.env.SSH_CLIENT||E6.env.SSH_TTY),BZ=tA;var o8=Symbol("fallbackAttempt"),C6=import.meta.url?HZ.dirname(eA(import.meta.url)):"",CZ=HZ.join(C6,"xdg-open"),{platform:UF,arch:ZZ}=B6,JZ=async(D,F)=>{if(D.length===0)return;let u=[];for(let E of D)try{return await F(E)}catch(B){u.push(B)}throw AggregateError(u,"Failed to open in all supported apps")},t8=async(D)=>{D={wait:!1,background:!1,newInstance:!1,allowNonzeroExitCode:!1,...D};let F=D[o8]===!0;if(delete D[o8],Array.isArray(D.app))return JZ(D.app,(Y)=>t8({...D,app:Y,[o8]:!0}));let{name:u,arguments:E=[]}=D.app??{};if(E=[...E],Array.isArray(u))return JZ(u,(Y)=>t8({...D,app:{name:Y,arguments:E},[o8]:!0}));if(u==="browser"||u==="browserPrivate"){let Y={"com.google.chrome":"chrome","google-chrome.desktop":"chrome","com.brave.browser":"brave","org.mozilla.firefox":"firefox","firefox.desktop":"firefox","com.microsoft.msedge":"edge","com.microsoft.edge":"edge","com.microsoft.edgemac":"edge","microsoft-edge.desktop":"edge","com.apple.safari":"safari"},H={chrome:"--incognito",brave:"--incognito",firefox:"--private-window",edge:"--inPrivate"},G;if(K0){let K=await DZ();G=s8.get(K)??{}}else G=await u6();if(G.id in Y){let K=Y[G.id.toLowerCase()];if(u==="browserPrivate"){if(K==="safari")throw Error("Safari doesn't support opening in private mode via command line");E.push(H[K])}return t8({...D,app:{name:WF[K],arguments:E}})}throw Error(`${G.name} is not supported as a default browser`)}let B,C=[],Z={},J=!1;if(K0&&!p0()&&!BZ&&!u)J=await eC();if(UF==="darwin"){if(B="open",D.wait)C.push("--wait-apps");if(D.background)C.push("--background");if(D.newInstance)C.push("--new");if(u)C.push("-a",u)}else if(UF==="win32"||J){if(B=await a8(),C.push(...fD.argumentsPrefix),!K0)Z.windowsVerbatimArguments=!0;if(K0&&D.target)D.target=await FZ(D.target);let Y=["$ProgressPreference = 'SilentlyContinue';","Start"];if(D.wait)Y.push("-Wait");if(u){if(Y.push(fD.escapeArgument(u)),D.target)E.push(D.target)}else if(D.target)Y.push(fD.escapeArgument(D.target));if(E.length>0)E=E.map((H)=>fD.escapeArgument(H)),Y.push("-ArgumentList",E.join(","));if(D.target=fD.encodeCommand(Y.join(" ")),!D.wait)Z.stdio="ignore"}else{if(u)B=u;else{let Y=!C6||C6==="/",H=!1;try{await FU.access(CZ,uU.X_OK),H=!0}catch{}B=B6.versions.electron??(UF==="android"||Y||!H)?"xdg-open":CZ}if(E.length>0)C.push(...E);if(!D.wait)Z.stdio="ignore",Z.detached=!0}if(UF==="darwin"&&E.length>0)C.push("--args",...E);if(D.target)C.push(D.target);let X=DU.spawn(B,C,Z);if(D.wait)return new Promise((Y,H)=>{X.once("error",H),X.once("close",(G)=>{if(!D.allowNonzeroExitCode&&G!==0){H(Error(`Exited with code ${G}`));return}Y(X)})});if(F)return new Promise((Y,H)=>{X.once("error",H),X.once("spawn",()=>{X.once("close",(G)=>{if(X.off("error",H),G!==0){H(Error(`Exited with code ${G}`));return}X.unref(),Y(X)})})});return X.unref(),new Promise((Y,H)=>{X.once("error",H),X.once("spawn",()=>{X.off("error",H),Y(X)})})},EU=(D,F)=>{if(typeof D!=="string")throw TypeError("Expected a `target`");return t8({...F,target:D})};function YZ(D){if(typeof D==="string"||Array.isArray(D))return D;let{[ZZ]:F}=D;if(!F)throw Error(`${ZZ} is not supported`);return F}function C2({[UF]:D},{wsl:F}={}){if(F&&K0)return YZ(F);if(!D)throw Error(`${UF} is not supported`);return YZ(D)}var WF={browser:"browser",browserPrivate:"browserPrivate"};i0(WF,"chrome",()=>C2({darwin:"google chrome",win32:"chrome",linux:["google-chrome","google-chrome-stable","chromium","chromium-browser"]},{wsl:{ia32:"/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe",x64:["/mnt/c/Program Files/Google/Chrome/Application/chrome.exe","/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe"]}}));i0(WF,"brave",()=>C2({darwin:"brave browser",win32:"brave",linux:["brave-browser","brave"]},{wsl:{ia32:"/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe",x64:["/mnt/c/Program Files/BraveSoftware/Brave-Browser/Application/brave.exe","/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe"]}}));i0(WF,"firefox",()=>C2({darwin:"firefox",win32:String.raw`C:\Program Files\Mozilla Firefox\firefox.exe`,linux:"firefox"},{wsl:"/mnt/c/Program Files/Mozilla Firefox/firefox.exe"}));i0(WF,"edge",()=>C2({darwin:"microsoft edge",win32:"msedge",linux:["microsoft-edge","microsoft-edge-dev"]},{wsl:"/mnt/c/Program Files (x86)/Microsoft/Edge/Application/msedge.exe"}));i0(WF,"safari",()=>C2({darwin:"Safari"}));var e8=EU;async function Z2(D,F={}){let u=F.label??"Open";if(console.log(`${A.dim(u+":")} ${A.underline(A.cyan(D))}`),F.noBrowser)return"skipped";try{return await e8(D),"opened"}catch{return"failed"}}var T0=["pro","business","enterprise"];async function NF(D,F){let{data:u,error:E,status:B}=await D.api.billing.plans.get();if(B===401)throw new d(F);if(E)V(`Failed to list plans: ${h(E)}`);return u??[]}async function XZ(D,F,u){let{data:E,error:B,status:C}=await D.api.projects({id:F}).subscription.get();if(C===401)throw new d(u);if(B){let Z=typeof C==="number"?C:0;if(!(Z===0||Z>=500))V(`Failed to fetch subscription: ${h(B)}`);return console.error(A.warn(`Could not read subscription for project ${F}: ${h(B)}. Subscription state unknown.`)),{tier:"unknown",status:null}}return E??{}}function D3(D,F){let u=F.toLowerCase();for(let E of D){if(!E.name.toLowerCase().includes(u))continue;if(!E.prices?.length)continue;return E}return null}function F3(D){let F=D.toLowerCase();for(let u of T0)if(F.includes(u))return u;return}async function u3(D){if(!yD())V("Cannot prompt for a plan in non-interactive mode.",{hint:"Pass a tier (pro / business / enterprise) or --plan <price-id>."});let F=D.filter((B)=>B.prices&&B.prices.length>0);if(F.length===0)V("No subscription plans available.",{hint:"Contact support if you expected plans to be listed."});let u=[];for(let B of F)for(let C of B.prices??[])u.push({value:{plan:B,price:C},label:`${B.name} — ${BU(C)}`,hint:B.description});let E=await n8({message:"Pick a plan",options:u});if(UD(E))V("Aborted.");return E}function J2({explicitNoBrowser:D,json:F}){if(F||D)return!0;return!yD()}async function E3(D){let{data:F,error:u,status:E}=await D.api.api.billing.checkout.post({projectId:D.projectId,priceId:D.priceId,quantity:D.quantity});if(E===401)throw new d(D.envName);if(u)V(`Failed to start checkout: ${h(u)}`);let B=F;if(B.error)V(B.error);if(!B.url)V("Server did not return a checkout URL.");let C={action:"checkout",url:B.url,...D.tierLabel?{tier:D.tierLabel}:{}};if(D.json)return a(C),C;if(await Z2(C.url,{noBrowser:D.noBrowser,label:"Stripe checkout"})==="failed")console.log(A.warn("Could not open browser automatically — copy the URL above."));return C}async function B3(D){let{data:F,error:u,status:E}=await D.api.api.projects({id:D.projectId}).subscription.manage.post();if(E===401)throw new d(D.envName);if(u)V(`Failed to open portal: ${h(u)}`);let B=F;if(B.error)V(B.error);if(!B.url)V("Server did not return a portal URL.");let C={action:"manage",url:B.url};if(D.json)return a(C),C;if(await Z2(C.url,{noBrowser:D.noBrowser,label:"Stripe portal"})==="failed")console.log(A.warn("Could not open browser automatically — copy the URL above."));return C}function BU(D){if(D.unit_amount==null)return"—";let F=D.currency.toUpperCase(),u=2;try{u=new Intl.NumberFormat("en-US",{style:"currency",currency:F}).resolvedOptions().maximumFractionDigits??2}catch{}let E=10**u,B=(D.unit_amount/E).toFixed(u),C=D.recurring?.interval;return C?`${B} ${F} / ${C}`:`${B} ${F}`}var GZ=HD(Uu(),1),{program:CR,createCommand:ZR,createArgument:JR,createOption:YR,CommanderError:HR,InvalidArgumentError:Z6,InvalidOptionArgumentError:XR,Command:GR,Argument:QR,Option:KR,Help:zR}=GZ.default;function C3(D){if(!/^\d+$/.test(D))throw new Z6(`must be a positive integer (got "${D}")`);let F=Number.parseInt(D,10);if(!Number.isSafeInteger(F)||F<1)throw new Z6(`must be a positive integer (got "${D}")`);return F}function QZ(D){let F=D.command("billing").description("view + manage your project's subscription");CU(F),ZU(F),JU(F),HU(F)}function CU(D){D.command("plans").description("list available subscription plans").option("-p, --project <id>","project id (accepted for parity with other billing commands; not used)").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-t, --token <token>","API token (overrides stored creds)").option("--json","output JSON").action(async(F)=>{let{api:u,env:E}=await l({apiHost:F.apiHost,token:F.token,requireAuth:!0}),{data:B,error:C,status:Z}=await u.api.billing.plans.get();if(Z===401)throw new d(E.name);if(C)V(`Failed to list plans: ${h(C)}`);let J=B??[];if(F.json)return a(J);if(J.length===0){console.log(A.dim("No plans available."));return}let X=J.flatMap((Y)=>(Y.prices??[{id:"—",unit_amount:null,currency:"—",recurring:null}]).map((H)=>[Y.name,H.id,XU(H),H.recurring?.interval??A.dim("—")]));hD(["plan","price id","price","interval"],X)})}function ZU(D){D.command("show").description("show the project's current subscription (defaults to $PHOTON_PROJECT_ID)").option("-p, --project <id>","project id (overrides $PHOTON_PROJECT_ID)").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-t, --token <token>","API token (overrides stored creds)").option("--json","output JSON").action(async(F)=>{let{projectId:u,env:E}=await s({flagProjectId:F.project,apiHost:F.apiHost}),{api:B}=await l({apiHost:E.url,token:F.token,requireAuth:!0}),{data:C,error:Z,status:J}=await B.api.projects({id:u}).subscription.get();if(J===401)throw new d(E.name);if(Z)V(`Failed to fetch subscription: ${h(Z)}`);if(F.json)return a(C??{});let X=C??{};if(console.log(A.bold("Subscription")),console.log(` ${A.dim("tier".padEnd(8))} ${GU(X.tier)}`),console.log(` ${A.dim("status".padEnd(8))} ${QU(X.status??null)}`),X.subscriptionId)console.log(` ${A.dim("id".padEnd(8))} ${X.subscriptionId}`);if(X.tier==="unknown")console.log(),console.log(A.warn('Server returned tier "unknown". This is a known issue (architecture-review S3) — the subscription may still be active.'))})}function JU(D){D.command("checkout [tier]").description("start a subscription checkout (interactive picker when no tier / --plan)").option("--plan <price-id>","Stripe price id (escape hatch; overrides tier picker)").option("--qty <n>","quantity",C3).option("-p, --project <id>","project id (overrides $PHOTON_PROJECT_ID)").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-t, --token <token>","API token (overrides stored creds)").option("--no-browser","print the URL instead of launching a browser").option("--json","output JSON ({action,url,tier?}) and skip browser open").action(async(F,u)=>{let E=YU(F);if(F&&!E)V(`Unknown tier "${F}".`,{hint:`Use one of: ${T0.join(", ")} — or pass --plan <price-id>.`});let{projectId:B,env:C}=await s({flagProjectId:u.project,apiHost:u.apiHost}),{api:Z}=await l({apiHost:C.url,token:u.token,requireAuth:!0}),J=J2({explicitNoBrowser:u.browser===!1,json:u.json??!1}),X,Y;if(u.plan)X=u.plan;else if(E){let H=await NF(Z,C.name),G=D3(H,E),K=G?.prices?.length===1?G.prices[0]:void 0;if(!G||!G.prices?.length)V(`No plan matching tier "${E}".`,{hint:"List options with `photon billing plans`."});if(!K)V(`Tier "${E}" has multiple billing intervals.`,{hint:"Pass --plan <price-id> to choose, or omit the tier to use the interactive picker."});X=K.id,Y=E}else{let H=await NF(Z,C.name),G=await u3(H);X=G.price.id,Y=F3(G.plan.name)}await E3({api:Z,projectId:B,priceId:X,quantity:u.qty,envName:C.name,json:u.json??!1,noBrowser:J,tierLabel:Y})})}function YU(D){if(!D)return;let F=D.trim().toLowerCase();return T0.includes(F)?F:void 0}function HU(D){D.command("manage").alias("portal").description("open the Stripe customer portal for this project").option("-p, --project <id>","project id (overrides $PHOTON_PROJECT_ID)").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-t, --token <token>","API token (overrides stored creds)").option("--no-browser","print the URL instead of launching a browser").option("--json","output JSON ({action,url}) and skip browser open").action(async(F)=>{let{projectId:u,env:E}=await s({flagProjectId:F.project,apiHost:F.apiHost}),{api:B}=await l({apiHost:E.url,token:F.token,requireAuth:!0}),C=J2({explicitNoBrowser:F.browser===!1,json:F.json??!1});await B3({api:B,projectId:u,envName:E.name,json:F.json??!1,noBrowser:C})})}function XU(D){if(D.unit_amount==null)return A.dim("—");let F=D.currency.toUpperCase(),u=2;try{u=new Intl.NumberFormat("en-US",{style:"currency",currency:F}).resolvedOptions().maximumFractionDigits??2}catch{}let E=10**u;return`${(D.unit_amount/E).toFixed(u)} ${F}`}function GU(D){if(!D)return A.dim("—");if(D==="free")return A.dim(D);if(D==="unknown")return A.yellow(D);return A.green(D)}function QU(D){if(!D)return A.dim("—");switch(D){case"active":return A.green(D);case"past_due":case"unpaid":return A.red(D);case"trialing":return A.cyan(D);case"canceled":return A.dim(D);default:return D}}function KZ(D){D.command("config").description("inspect Photon CLI configuration").command("show",{isDefault:!0}).description("dump the active configuration (no secrets printed)").option("--json","output JSON").action(async(u)=>{let E=await PD(),B=await P8(),C=process.env.PHOTON_PROJECT_ID?.trim()||null,Z={configDir:j8(),currentEnv:{name:E.name,url:E.url},activeProject:C,authedEnvs:B};if(u.json)return a(Z);console.log(A.bold("Photon CLI configuration")),console.log();let J=18;X("config dir",Z.configDir),X("active backend",`${A.bold(Z.currentEnv.name)} ${A.dim(`(${Z.currentEnv.url})`)}`),X("active project",C?`${A.bold(C)} ${A.dim("(via $PHOTON_PROJECT_ID)")}`:A.dim("(none — pass --project <id> or set $PHOTON_PROJECT_ID)")),X("logged-in keys",B.length>0?B.join(", "):A.dim("none"));function X(Y,H){console.log(` ${A.dim(Y.padEnd(J))} ${H}`)}})}function zZ(D){D.command("env").description("show the active backend (set via PHOTON_API_HOST or --api-host)").command("current",{isDefault:!0}).description("print the resolved API host").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").action(async(u)=>{let E=await PD(u.apiHost);console.log(`${A.bold(E.name)} ${A.dim(`(${E.url})`)}`)})}var Z3=Symbol.for("better-auth:broadcast-channel"),KU=()=>Math.floor(Date.now()/1000),zU=class{listeners=new Set;name;constructor(D="better-auth.message"){this.name=D}subscribe(D){return this.listeners.add(D),()=>{this.listeners.delete(D)}}post(D){if(typeof window>"u")return;try{localStorage.setItem(this.name,JSON.stringify({...D,timestamp:KU()}))}catch{}}setup(){if(typeof window>"u"||typeof window.addEventListener>"u")return()=>{};let D=(F)=>{if(F.key!==this.name)return;let u=JSON.parse(F.newValue??"{}");if(u?.event!=="session"||!u?.data)return;this.listeners.forEach((E)=>E(u))};return window.addEventListener("storage",D),()=>{window.removeEventListener("storage",D)}}};function Y2(D="better-auth.message"){if(!globalThis[Z3])globalThis[Z3]=new zU(D);return globalThis[Z3]}var J3=Symbol.for("better-auth:focus-manager"),qU=class{listeners=new Set;subscribe(D){return this.listeners.add(D),()=>{this.listeners.delete(D)}}setFocused(D){this.listeners.forEach((F)=>F(D))}setup(){if(typeof window>"u"||typeof document>"u"||typeof window.addEventListener>"u")return()=>{};let D=()=>{if(document.visibilityState==="visible")this.setFocused(!0)};return document.addEventListener("visibilitychange",D,!1),()=>{document.removeEventListener("visibilitychange",D,!1)}}};function J6(){if(!globalThis[J3])globalThis[J3]=new qU;return globalThis[J3]}var Y3=Symbol.for("better-auth:online-manager"),AU=class{listeners=new Set;isOnline=typeof navigator<"u"?navigator.onLine:!0;subscribe(D){return this.listeners.add(D),()=>{this.listeners.delete(D)}}setOnline(D){this.isOnline=D,this.listeners.forEach((F)=>F(D))}setup(){if(typeof window>"u"||typeof window.addEventListener>"u")return()=>{};let D=()=>this.setOnline(!0),F=()=>this.setOnline(!1);return window.addEventListener("online",D,!1),window.addEventListener("offline",F,!1),()=>{window.removeEventListener("online",D,!1),window.removeEventListener("offline",F,!1)}}};function H3(){if(!globalThis[Y3])globalThis[Y3]=new AU;return globalThis[Y3]}var H2=Symbol("clean");var rD=[],O0=0,X3=4,UU=globalThis.nanostoresGlobal||={epoch:0},X2=(D)=>{let F=[],u={get(){if(!u.lc)u.listen(()=>{})();return u.value},init:D,lc:0,listen(E){return u.lc=F.push(E),()=>{for(let C=O0+X3;C<rD.length;)if(rD[C]===E)rD.splice(C,X3);else C+=X3;let B=F.indexOf(E);if(~B){if(F.splice(B,1),!--u.lc)u.off()}}},notify(E,B){UU.epoch++;let C=!rD.length;for(let Z of F)rD.push(Z,u.value,E,B);if(C){for(O0=0;O0<rD.length;O0+=X3)rD[O0](rD[O0+1],rD[O0+2],rD[O0+3]);rD.length=0}},off(){},set(E){let B=u.value;if(B!==E)u.value=E,u.notify(B)},subscribe(E){let B=u.listen(E);return E(u.value),B},value:D};return u[H2]=()=>{F=[],u.lc=0,u.off()},u};var WU=5,$F=6,G3=10,NU=(D,F,u,E)=>{if(D.events=D.events||{},!D.events[u+G3])D.events[u+G3]=E((B)=>{D.events[u].reduceRight((C,Z)=>(Z(C),C),{shared:{},...B})});return D.events[u]=D.events[u]||[],D.events[u].push(F),()=>{let B=D.events[u],C=B.indexOf(F);if(B.splice(C,1),!B.length)delete D.events[u],D.events[u+G3](),delete D.events[u+G3]}};var qZ=1000,G2=(D,F)=>{return NU(D,(E)=>{let B=F(E);if(B)D.events[$F].push(B)},WU,(E)=>{let B=D.listen;D.listen=(...Z)=>{if(!D.lc&&!D.active)D.active=!0,E();return B(...Z)};let C=D.off;D.events[$F]=[],D.off=()=>{C(),setTimeout(()=>{if(D.active&&!D.lc){D.active=!1;for(let Z of D.events[$F])Z();D.events[$F]=[]}},qZ)};{let Z=D[H2];D[H2]=()=>{for(let J of D.events[$F])J();D.events[$F]=[],D.active=!1,Z()}}return()=>{D.listen=B,D.off=C}})};var $U=()=>typeof window>"u",Q3=(D,F,u,E)=>{let B=X2({data:null,error:null,isPending:!0,isRefetching:!1,refetch:(J)=>C(J)}),C=async(J)=>{return new Promise((X)=>{let Y=typeof E==="function"?E({data:B.get().data,error:B.get().error,isPending:B.get().isPending}):E;u(F,{...Y,query:{...Y?.query,...J?.query},async onSuccess(H){B.set({data:H.data,error:null,isPending:!1,isRefetching:!1,refetch:B.value.refetch}),await Y?.onSuccess?.(H)},async onError(H){let{request:G}=H,K=typeof G.retry==="number"?G.retry:G.retry?.attempts,Q=G.retryAttempt||0;if(K&&Q<K)return;B.set({error:H.error,data:null,isPending:!1,isRefetching:!1,refetch:B.value.refetch}),await Y?.onError?.(H)},async onRequest(H){let G=B.get();B.set({isPending:G.data===null,data:G.data,error:null,isRefetching:!0,refetch:B.value.refetch}),await Y?.onRequest?.(H)}}).catch((H)=>{B.set({error:H,data:null,isPending:!1,isRefetching:!1,refetch:B.value.refetch})}).finally(()=>{X(void 0)})})};D=Array.isArray(D)?D:[D];let Z=!1;for(let J of D)J.subscribe(async()=>{if($U())return;if(Z)await C();else G2(B,()=>{let X=setTimeout(async()=>{if(!Z)await C(),Z=!0},0);return()=>{B.off(),J.off(),clearTimeout(X)}})});return B};var VF=()=>Math.floor(Date.now()/1000),VU=5;function Y6(D){let{sessionAtom:F,sessionSignal:u,$fetch:E,options:B={}}=D,C=B.sessionOptions?.refetchInterval??0,Z=B.sessionOptions?.refetchOnWindowFocus??!0,J=B.sessionOptions?.refetchWhenOffline??!1,X={lastSync:0,lastSessionRequest:0,cachedSession:void 0},Y=()=>{return J||H3().isOnline},H=(M)=>{if(!Y())return;if(M?.event==="storage"){X.lastSync=VF(),u.set(!u.get());return}let $=F.get();if(M?.event==="poll"){X.lastSessionRequest=VF(),E("/get-session").then((U)=>{if(U.error)F.set({...$,data:null,error:U.error});else F.set({...$,data:U.data,error:null});X.lastSync=VF(),u.set(!u.get())}).catch(()=>{});return}if(M?.event==="visibilitychange"){if(VF()-X.lastSessionRequest<VU)return;X.lastSessionRequest=VF()}if($?.data===null||$?.data===void 0||M?.event==="visibilitychange")X.lastSync=VF(),u.set(!u.get())},G=(M)=>{Y2().post({event:"session",data:{trigger:M},clientId:Math.random().toString(36).substring(7)})},K=()=>{if(C&&C>0)X.pollInterval=setInterval(()=>{if(F.get()?.data)H({event:"poll"})},C*1000)},Q=()=>{X.unsubscribeBroadcast=Y2().subscribe(()=>{H({event:"storage"})})},z=()=>{if(!Z)return;X.unsubscribeFocus=J6().subscribe(()=>{H({event:"visibilitychange"})})},q=()=>{X.unsubscribeOnline=H3().subscribe((M)=>{if(M)H({event:"visibilitychange"})})};return{init:()=>{K(),Q(),z(),q(),Y2().setup(),J6().setup(),H3().setup()},cleanup:()=>{if(X.pollInterval)clearInterval(X.pollInterval),X.pollInterval=void 0;if(X.unsubscribeBroadcast)X.unsubscribeBroadcast(),X.unsubscribeBroadcast=void 0;if(X.unsubscribeFocus)X.unsubscribeFocus(),X.unsubscribeFocus=void 0;if(X.unsubscribeOnline)X.unsubscribeOnline(),X.unsubscribeOnline=void 0;X.lastSync=0,X.lastSessionRequest=0,X.cachedSession=void 0},triggerRefetch:H,broadcastSessionUpdate:G}}var K3=Object.create(null),Q2=(D)=>globalThis.process?.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(D?K3:globalThis),jD=new Proxy(K3,{get(D,F){return Q2()[F]??K3[F]},has(D,F){return F in Q2()||F in K3},set(D,F,u){let E=Q2(!0);return E[F]=u,!0},deleteProperty(D,F){if(!F)return!1;let u=Q2(!0);return delete u[F],!0},ownKeys(){let D=Q2(!0);return Object.keys(D)}});var IU=typeof process<"u"&&process.env&&"development"||"";function t(D,F){if(typeof process<"u"&&process.env)return process.env[D]??F;if(typeof Deno<"u")return Deno.env.get(D)??F;if(typeof Bun<"u")return Bun.env[D]??F;return F}var MU=Object.freeze({get BETTER_AUTH_SECRET(){return t("BETTER_AUTH_SECRET")},get AUTH_SECRET(){return t("AUTH_SECRET")},get BETTER_AUTH_TELEMETRY(){return t("BETTER_AUTH_TELEMETRY")},get BETTER_AUTH_TELEMETRY_ID(){return t("BETTER_AUTH_TELEMETRY_ID")},get NODE_ENV(){return t("NODE_ENV","development")},get PACKAGE_VERSION(){return t("PACKAGE_VERSION","0.0.0")},get BETTER_AUTH_TELEMETRY_ENDPOINT(){return t("BETTER_AUTH_TELEMETRY_ENDPOINT","")}});var K2=1,GD=4,C0=8,vD=24,AZ={eterm:GD,cons25:GD,console:GD,cygwin:GD,dtterm:GD,gnome:GD,hurd:GD,jfbterm:GD,konsole:GD,kterm:GD,mlterm:GD,mosh:vD,putty:GD,st:GD,"rxvt-unicode-24bit":vD,terminator:vD,"xterm-kitty":vD},TU=new Map(Object.entries({APPVEYOR:C0,BUILDKITE:C0,CIRCLECI:vD,DRONE:C0,GITEA_ACTIONS:vD,GITHUB_ACTIONS:vD,GITLAB_CI:C0,TRAVIS:C0})),OU=[/ansi/,/color/,/linux/,/direct/,/^con[0-9]*x[0-9]/,/^rxvt/,/^screen/,/^xterm/,/^vt100/,/^vt220/];function H6(){if(t("FORCE_COLOR")!==void 0)switch(t("FORCE_COLOR")){case"":case"1":case"true":return GD;case"2":return C0;case"3":return vD;default:return K2}if(t("NODE_DISABLE_COLORS")!==void 0&&t("NODE_DISABLE_COLORS")!==""||t("NO_COLOR")!==void 0&&t("NO_COLOR")!==""||t("TERM")==="dumb")return K2;if(t("TMUX"))return vD;if("TF_BUILD"in jD&&"AGENT_NAME"in jD)return GD;if("CI"in jD){for(let{0:D,1:F}of TU)if(D in jD)return F;if(t("CI_NAME")==="codeship")return C0;return K2}if("TEAMCITY_VERSION"in jD)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.exec(t("TEAMCITY_VERSION"))!==null?GD:K2;switch(t("TERM_PROGRAM")){case"iTerm.app":if(!t("TERM_PROGRAM_VERSION")||/^[0-2]\./.exec(t("TERM_PROGRAM_VERSION"))!==null)return C0;return vD;case"HyperTerm":case"MacTerm":return vD;case"Apple_Terminal":return C0}if(t("COLORTERM")==="truecolor"||t("COLORTERM")==="24bit")return vD;if(t("TERM")){if(/truecolor/.exec(t("TERM"))!==null)return vD;if(/^xterm-256/.exec(t("TERM"))!==null)return C0;let D=t("TERM").toLowerCase();if(AZ[D])return AZ[D];if(OU.some((F)=>F.exec(D)!==null))return GD}if(t("COLORTERM"))return GD;return K2}var sD={reset:"\x1B[0m",bright:"\x1B[1m",dim:"\x1B[2m",undim:"\x1B[22m",underscore:"\x1B[4m",blink:"\x1B[5m",reverse:"\x1B[7m",hidden:"\x1B[8m",fg:{black:"\x1B[30m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m"},bg:{black:"\x1B[40m",red:"\x1B[41m",green:"\x1B[42m",yellow:"\x1B[43m",blue:"\x1B[44m",magenta:"\x1B[45m",cyan:"\x1B[46m",white:"\x1B[47m"}},z3=["debug","info","success","warn","error"];function UZ(D,F){return z3.indexOf(F)>=z3.indexOf(D)}var _U={info:sD.fg.blue,success:sD.fg.green,warn:sD.fg.yellow,error:sD.fg.red,debug:sD.fg.magenta},LU=(D,F,u)=>{let E=new Date().toISOString();if(u)return`${sD.dim}${E}${sD.reset} ${_U[D]}${D.toUpperCase()}${sD.reset} ${sD.bright}[Better Auth]:${sD.reset} ${F}`;return`${E} ${D.toUpperCase()} [Better Auth]: ${F}`},WZ=(D)=>{let F=D?.disabled!==!0,u=D?.level??"warn",E=D?.disableColors!==void 0?!D.disableColors:H6()!==1,B=(C,Z,J=[])=>{if(!F||!UZ(u,C))return;let X=LU(C,Z,E);if(!D||typeof D.log!=="function"){if(C==="error")console.error(X,...J);else if(C==="warn")console.warn(X,...J);else console.log(X,...J);return}D.log(C==="success"?"info":C,Z,...J)};return{...Object.fromEntries(z3.map((C)=>[C,(...[Z,...J])=>B(C,Z,J)])),get level(){return u}}},NZ=WZ();function X6(D){return D}function G6(D){return D.charAt(0).toUpperCase()+D.slice(1)}var RU=X6({USER_NOT_FOUND:"User not found",FAILED_TO_CREATE_USER:"Failed to create user",FAILED_TO_CREATE_SESSION:"Failed to create session",FAILED_TO_UPDATE_USER:"Failed to update user",FAILED_TO_GET_SESSION:"Failed to get session",INVALID_PASSWORD:"Invalid password",INVALID_EMAIL:"Invalid email",INVALID_EMAIL_OR_PASSWORD:"Invalid email or password",SOCIAL_ACCOUNT_ALREADY_LINKED:"Social account already linked",PROVIDER_NOT_FOUND:"Provider not found",INVALID_TOKEN:"Invalid token",ID_TOKEN_NOT_SUPPORTED:"id_token not supported",FAILED_TO_GET_USER_INFO:"Failed to get user info",USER_EMAIL_NOT_FOUND:"User email not found",EMAIL_NOT_VERIFIED:"Email not verified",PASSWORD_TOO_SHORT:"Password too short",PASSWORD_TOO_LONG:"Password too long",USER_ALREADY_EXISTS:"User already exists.",USER_ALREADY_EXISTS_USE_ANOTHER_EMAIL:"User already exists. Use another email.",EMAIL_CAN_NOT_BE_UPDATED:"Email can not be updated",CREDENTIAL_ACCOUNT_NOT_FOUND:"Credential account not found",SESSION_EXPIRED:"Session expired. Re-authenticate to perform this action.",FAILED_TO_UNLINK_LAST_ACCOUNT:"You can't unlink your last account",ACCOUNT_NOT_FOUND:"Account not found",USER_ALREADY_HAS_PASSWORD:"User already has a password. Provide that to delete the account.",CROSS_SITE_NAVIGATION_LOGIN_BLOCKED:"Cross-site navigation login blocked. This request appears to be a CSRF attack.",VERIFICATION_EMAIL_NOT_ENABLED:"Verification email isn't enabled",EMAIL_ALREADY_VERIFIED:"Email is already verified",EMAIL_MISMATCH:"Email mismatch",SESSION_NOT_FRESH:"Session is not fresh",LINKED_ACCOUNT_ALREADY_EXISTS:"Linked account already exists",INVALID_ORIGIN:"Invalid origin",INVALID_CALLBACK_URL:"Invalid callbackURL",INVALID_REDIRECT_URL:"Invalid redirectURL",INVALID_ERROR_CALLBACK_URL:"Invalid errorCallbackURL",INVALID_NEW_USER_CALLBACK_URL:"Invalid newUserCallbackURL",MISSING_OR_NULL_ORIGIN:"Missing or null Origin",CALLBACK_URL_REQUIRED:"callbackURL is required",FAILED_TO_CREATE_VERIFICATION:"Unable to create verification",FIELD_NOT_ALLOWED:"Field not allowed to be set",ASYNC_VALIDATION_NOT_SUPPORTED:"Async validation is not supported",VALIDATION_ERROR:"Validation Error",MISSING_FIELD:"Field is required"});var _0=class extends Error{constructor(D,F){super(D,F);this.name="BetterAuthError",this.message=D,this.stack=""}};function jU(D){try{return(new URL(D).pathname.replace(/\/+$/,"")||"/")!=="/"}catch{throw new _0(`Invalid base URL: ${D}. Please provide a valid base URL.`)}}function SU(D){try{let F=new URL(D);if(F.protocol!=="http:"&&F.protocol!=="https:")throw new _0(`Invalid base URL: ${D}. URL must include 'http://' or 'https://'`)}catch(F){if(F instanceof _0)throw F;throw new _0(`Invalid base URL: ${D}. Please provide a valid base URL.`,{cause:F})}}function z2(D,F="/api/auth"){if(SU(D),jU(D))return D;let u=D.replace(/\/+$/,"");if(!F||F==="/")return u;return F=F.startsWith("/")?F:`/${F}`,`${u}${F}`}function $Z(D,F){if(!D||D.trim()==="")return!1;if(F==="proto")return D==="http"||D==="https";if(F==="host"){if([/\.\./,/\0/,/[\s]/,/^[.]/,/[<>'"]/,/javascript:/i,/file:/i,/data:/i].some((u)=>u.test(D)))return!1;return/^[a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(\.[a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*(:[0-9]{1,5})?$/.test(D)||/^(\d{1,3}\.){3}\d{1,3}(:[0-9]{1,5})?$/.test(D)||/^\[[0-9a-fA-F:]+\](:[0-9]{1,5})?$/.test(D)||/^localhost(:[0-9]{1,5})?$/i.test(D)}return!1}function VZ(D,F,u,E,B){if(D)return z2(D,F);if(E!==!1){let J=jD.BETTER_AUTH_URL||jD.NEXT_PUBLIC_BETTER_AUTH_URL||jD.PUBLIC_BETTER_AUTH_URL||jD.NUXT_PUBLIC_BETTER_AUTH_URL||jD.NUXT_PUBLIC_AUTH_URL||(jD.BASE_URL!=="/"?jD.BASE_URL:void 0);if(J)return z2(J,F)}let C=u?.headers.get("x-forwarded-host"),Z=u?.headers.get("x-forwarded-proto");if(C&&Z&&B){if($Z(Z,"proto")&&$Z(C,"host"))try{return z2(`${Z}://${C}`,F)}catch(J){}}if(u){let J=PU(u.url);if(!J)throw new _0("Could not get origin from request. Please provide a valid base URL.");return z2(J,F)}if(typeof window<"u"&&window.location)return z2(window.location.origin,F)}function PU(D){try{let F=new URL(D);return F.origin==="null"?null:F.origin}catch{return null}}var IZ={id:"redirect",name:"Redirect",hooks:{onSuccess(D){if(D.data?.url&&D.data?.redirect){if(typeof window<"u"&&window.location){if(window.location)try{window.location.href=D.data.url}catch{}}}}}};var wU={proto:/"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/,constructor:/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/,protoShort:/"__proto__"\s*:/,constructorShort:/"constructor"\s*:/},xU=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/,MZ={true:!0,false:!1,null:null,undefined:void 0,nan:NaN,infinity:Number.POSITIVE_INFINITY,"-infinity":Number.NEGATIVE_INFINITY},kU=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(?:\.(\d{1,7}))?(?:Z|([+-])(\d{2}):(\d{2}))$/;function yU(D){return D instanceof Date&&!isNaN(D.getTime())}function bU(D){let F=kU.exec(D);if(!F)return null;let[,u,E,B,C,Z,J,X,Y,H,G]=F,K=new Date(Date.UTC(parseInt(u,10),parseInt(E,10)-1,parseInt(B,10),parseInt(C,10),parseInt(Z,10),parseInt(J,10),X?parseInt(X.padEnd(3,"0"),10):0));if(Y){let Q=(parseInt(H,10)*60+parseInt(G,10))*(Y==="+"?-1:1);K.setUTCMinutes(K.getUTCMinutes()+Q)}return yU(K)?K:null}function fU(D,F={}){let{strict:u=!1,warnings:E=!1,reviver:B,parseDates:C=!0}=F;if(typeof D!=="string")return D;let Z=D.trim();if(Z.length>0&&Z[0]==='"'&&Z.endsWith('"')&&!Z.slice(1,-1).includes('"'))return Z.slice(1,-1);let J=Z.toLowerCase();if(J.length<=9&&J in MZ)return MZ[J];if(!xU.test(Z)){if(u)throw SyntaxError("[better-json] Invalid JSON");return D}if(Object.entries(wU).some(([X,Y])=>{let H=Y.test(Z);if(H&&E)console.warn(`[better-json] Detected potential prototype pollution attempt using ${X} pattern`);return H})&&u)throw Error("[better-json] Potential prototype pollution attempt detected");try{return JSON.parse(Z,(Y,H)=>{if(Y==="__proto__"||Y==="constructor"&&H&&typeof H==="object"&&"prototype"in H){if(E)console.warn(`[better-json] Dropping "${Y}" key to prevent prototype pollution`);return}if(C&&typeof H==="string"){let G=bU(H);if(G)return G}return B?B(Y,H):H})}catch(X){if(u)throw X;return D}}function TZ(D,F={strict:!0}){return fU(D,F)}function OZ(D,F){let u=X2(!1),E=Q3(u,"/get-session",D,{method:"GET"});return G2(E,()=>{let B=Y6({sessionAtom:E,sessionSignal:u,$fetch:D,options:F});return B.init(),()=>{B.cleanup()}}),{session:E,$sessionSignal:u}}function Q6(D){if(D===null||typeof D!=="object")return!1;let F=Object.getPrototypeOf(D);if(F!==null&&F!==Object.prototype&&Object.getPrototypeOf(F)!==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 K6(D,F,u=".",E){if(!Q6(F))return K6(D,{},u,E);let B={...F};for(let C of Object.keys(D)){if(C==="__proto__"||C==="constructor")continue;let Z=D[C];if(Z===null||Z===void 0)continue;if(E&&E(B,C,Z,u))continue;if(Array.isArray(Z)&&Array.isArray(B[C]))B[C]=[...Z,...B[C]];else if(Q6(Z)&&Q6(B[C]))B[C]=K6(Z,B[C],(u?`${u}.`:"")+C.toString(),E);else B[C]=Z}return B}function z6(D){return(...F)=>F.reduce((u,E)=>K6(u,E,"",D),{})}var _Z=z6(),bS=z6((D,F,u)=>{if(D[F]!==void 0&&typeof u==="function")return D[F]=u(D[F]),!0}),fS=z6((D,F,u)=>{if(Array.isArray(D[F])&&typeof u==="function")return D[F]=u(D[F]),!0});var{defineProperty:vU,defineProperties:hU,getOwnPropertyDescriptors:gU,getOwnPropertySymbols:LZ}=Object,mU=Object.prototype.hasOwnProperty,dU=Object.prototype.propertyIsEnumerable,RZ=(D,F,u)=>(F in D)?vU(D,F,{enumerable:!0,configurable:!0,writable:!0,value:u}):D[F]=u,oD=(D,F)=>{for(var u in F||(F={}))if(mU.call(F,u))RZ(D,u,F[u]);if(LZ){for(var u of LZ(F))if(dU.call(F,u))RZ(D,u,F[u])}return D},Z0=(D,F)=>hU(D,gU(F)),cU=class extends Error{constructor(D,F,u){super(F||D.toString(),{cause:u});this.status=D,this.statusText=F,this.error=u,Error.captureStackTrace(this,this.constructor)}},lU=async(D,F)=>{var u,E,B,C,Z,J;let X=F||{},Y={onRequest:[F==null?void 0:F.onRequest],onResponse:[F==null?void 0:F.onResponse],onSuccess:[F==null?void 0:F.onSuccess],onError:[F==null?void 0:F.onError],onRetry:[F==null?void 0:F.onRetry]};if(!F||!(F==null?void 0:F.plugins))return{url:D,options:X,hooks:Y};for(let H of(F==null?void 0:F.plugins)||[]){if(H.init){let G=await((u=H.init)==null?void 0:u.call(H,D.toString(),F));X=G.options||X,D=G.url}Y.onRequest.push((E=H.hooks)==null?void 0:E.onRequest),Y.onResponse.push((B=H.hooks)==null?void 0:B.onResponse),Y.onSuccess.push((C=H.hooks)==null?void 0:C.onSuccess),Y.onError.push((Z=H.hooks)==null?void 0:Z.onError),Y.onRetry.push((J=H.hooks)==null?void 0:J.onRetry)}return{url:D,options:X,hooks:Y}},jZ=class{constructor(D){this.options=D}shouldAttemptRetry(D,F){if(this.options.shouldRetry)return Promise.resolve(D<this.options.attempts&&this.options.shouldRetry(F));return Promise.resolve(D<this.options.attempts)}getDelay(){return this.options.delay}},pU=class{constructor(D){this.options=D}shouldAttemptRetry(D,F){if(this.options.shouldRetry)return Promise.resolve(D<this.options.attempts&&this.options.shouldRetry(F));return Promise.resolve(D<this.options.attempts)}getDelay(D){return Math.min(this.options.maxDelay,this.options.baseDelay*2**D)}};function iU(D){if(typeof D==="number")return new jZ({type:"linear",attempts:D,delay:1000});switch(D.type){case"linear":return new jZ(D);case"exponential":return new pU(D);default:throw Error("Invalid retry strategy")}}var nU=async(D)=>{let F={},u=async(E)=>typeof E==="function"?await E():E;if(D==null?void 0:D.auth){if(D.auth.type==="Bearer"){let E=await u(D.auth.token);if(!E)return F;F.authorization=`Bearer ${E}`}else if(D.auth.type==="Basic"){let[E,B]=await Promise.all([u(D.auth.username),u(D.auth.password)]);if(!E||!B)return F;F.authorization=`Basic ${btoa(`${E}:${B}`)}`}else if(D.auth.type==="Custom"){let[E,B]=await Promise.all([u(D.auth.prefix),u(D.auth.value)]);if(!B)return F;F.authorization=`${E!=null?E:""} ${B}`}}return F},aU=/^application\/(?:[\w!#$%&*.^`~-]*\+)?json(;.+)?$/i;function rU(D){let F=D.headers.get("content-type"),u=new Set(["image/svg","application/xml","application/xhtml","application/html"]);if(!F)return"json";let E=F.split(";").shift()||"";if(aU.test(E))return"json";if(u.has(E)||E.startsWith("text/"))return"text";return"blob"}function sU(D){try{return JSON.parse(D),!0}catch(F){return!1}}function q6(D){if(D===void 0)return!1;let F=typeof D;if(F==="string"||F==="number"||F==="boolean"||F===null)return!0;if(F!=="object")return!1;if(Array.isArray(D))return!0;if(D.buffer)return!1;return D.constructor&&D.constructor.name==="Object"||typeof D.toJSON==="function"}function SZ(D){try{return JSON.parse(D)}catch(F){return D}}function PZ(D){return typeof D==="function"}function oU(D){if(D==null?void 0:D.customFetchImpl)return D.customFetchImpl;if(typeof globalThis<"u"&&PZ(globalThis.fetch))return globalThis.fetch;if(typeof window<"u"&&PZ(window.fetch))return window.fetch;throw Error("No fetch implementation found")}async function tU(D){let F=new Headers(D==null?void 0:D.headers),u=await nU(D);for(let[E,B]of Object.entries(u||{}))F.set(E,B);if(!F.has("content-type")){let E=eU(D==null?void 0:D.body);if(E)F.set("content-type",E)}return F}function eU(D){if(q6(D))return"application/json";return null}function DW(D){if(!(D==null?void 0:D.body))return null;let F=new Headers(D==null?void 0:D.headers);if(q6(D.body)&&!F.has("content-type")){for(let[u,E]of Object.entries(D==null?void 0:D.body))if(E instanceof Date)D.body[u]=E.toISOString();return JSON.stringify(D.body)}if(F.has("content-type")&&F.get("content-type")==="application/x-www-form-urlencoded"){if(q6(D.body))return new URLSearchParams(D.body).toString();return D.body}return D.body}function FW(D,F){var u;if(F==null?void 0:F.method)return F.method.toUpperCase();if(D.startsWith("@")){let E=(u=D.split("@")[1])==null?void 0:u.split("/")[0];if(!wZ.includes(E))return(F==null?void 0:F.body)?"POST":"GET";return E.toUpperCase()}return(F==null?void 0:F.body)?"POST":"GET"}function uW(D,F){let u;if(!(D==null?void 0:D.signal)&&(D==null?void 0:D.timeout))u=setTimeout(()=>F==null?void 0:F.abort(),D==null?void 0:D.timeout);return{abortTimeout:u,clearTimeout:()=>{if(u)clearTimeout(u)}}}var EW=class D extends Error{constructor(F,u){super(u||JSON.stringify(F,null,2));this.issues=F,Object.setPrototypeOf(this,D.prototype)}};async function q3(D,F){let u=await D["~standard"].validate(F);if(u.issues)throw new EW(u.issues);return u.value}var wZ=["get","post","put","patch","delete"];var BW=(D)=>({id:"apply-schema",name:"Apply Schema",version:"1.0.0",async init(F,u){var E,B,C,Z;let J=((B=(E=D.plugins)==null?void 0:E.find((X)=>{var Y;return((Y=X.schema)==null?void 0:Y.config)?F.startsWith(X.schema.config.baseURL||"")||F.startsWith(X.schema.config.prefix||""):!1}))==null?void 0:B.schema)||D.schema;if(J){let X=F;if((C=J.config)==null?void 0:C.prefix){if(X.startsWith(J.config.prefix)){if(X=X.replace(J.config.prefix,""),J.config.baseURL)F=F.replace(J.config.prefix,J.config.baseURL)}}if((Z=J.config)==null?void 0:Z.baseURL){if(X.startsWith(J.config.baseURL))X=X.replace(J.config.baseURL,"")}let Y=J.schema[X];if(Y){let H=Z0(oD({},u),{method:Y.method,output:Y.output});if(!(u==null?void 0:u.disableValidation))H=Z0(oD({},H),{body:Y.input?await q3(Y.input,u==null?void 0:u.body):u==null?void 0:u.body,params:Y.params?await q3(Y.params,u==null?void 0:u.params):u==null?void 0:u.params,query:Y.query?await q3(Y.query,u==null?void 0:u.query):u==null?void 0:u.query});return{url:F,options:H}}}return{url:F,options:u}}}),xZ=(D)=>{async function F(u,E){let B=Z0(oD(oD({},D),E),{plugins:[...(D==null?void 0:D.plugins)||[],BW(D||{}),...(E==null?void 0:E.plugins)||[]]});if(D==null?void 0:D.catchAllError)try{return await A6(u,B)}catch(C){return{data:null,error:{status:500,statusText:"Fetch Error",message:"Fetch related error. Captured by catchAllError option. See error property for more details.",error:C}}}return await A6(u,B)}return F};function CW(D,F){let{baseURL:u,params:E,query:B}=F||{query:{},params:{},baseURL:""},C=D.startsWith("http")?D.split("/").slice(0,3).join("/"):u||"";if(D.startsWith("@")){let G=D.toString().split("@")[1].split("/")[0];if(wZ.includes(G))D=D.replace(`@${G}/`,"/")}if(!C.endsWith("/"))C+="/";let[Z,J]=D.replace(C,"").split("?"),X=new URLSearchParams(J);for(let[G,K]of Object.entries(B||{})){if(K==null)continue;let Q;if(typeof K==="string")Q=K;else if(Array.isArray(K)){for(let z of K)X.append(G,z);continue}else Q=JSON.stringify(K);X.set(G,Q)}if(E)if(Array.isArray(E)){let G=Z.split("/").filter((K)=>K.startsWith(":"));for(let[K,Q]of G.entries()){let z=E[K];Z=Z.replace(Q,z)}}else for(let[G,K]of Object.entries(E))Z=Z.replace(`:${G}`,String(K));if(Z=Z.split("/").map(encodeURIComponent).join("/"),Z.startsWith("/"))Z=Z.slice(1);let Y=X.toString();if(Y=Y.length>0?`?${Y}`.replace(/\+/g,"%20"):"",!C.startsWith("http"))return`${C}${Z}${Y}`;return new URL(`${Z}${Y}`,C)}var A6=async(D,F)=>{var u,E,B,C,Z,J,X,Y;let{hooks:H,url:G,options:K}=await lU(D,F),Q=oU(K),z=new AbortController,q=(u=K.signal)!=null?u:z.signal,W=CW(G,K),N=DW(K),M=await tU(K),$=FW(G,K),U=Z0(oD({},K),{url:W,headers:M,body:N,method:$,signal:q});for(let w of H.onRequest)if(w){let R=await w(U);if(typeof R==="object"&&R!==null)U=R}if("pipeTo"in U&&typeof U.pipeTo==="function"||typeof((E=F==null?void 0:F.body)==null?void 0:E.pipe)==="function"){if(!("duplex"in U))U.duplex="half"}let{clearTimeout:j}=uW(K,z),P=await Q(U.url,U);j();let L={response:P,request:U};for(let w of H.onResponse)if(w){let R=await w(Z0(oD({},L),{response:((B=F==null?void 0:F.hookOptions)==null?void 0:B.cloneResponse)?P.clone():P}));if(R instanceof Response)P=R;else if(typeof R==="object"&&R!==null)P=R.response}if(P.ok){if(U.method==="HEAD")return{data:"",error:null};let R=rU(P),S={data:null,response:P,request:U};if(R==="json"||R==="text"){let b=await P.text(),f=(C=U.jsonParser)!=null?C:SZ;S.data=await f(b)}else S.data=await P[R]();if(U==null?void 0:U.output){if(U.output&&!U.disableValidation)S.data=await q3(U.output,S.data)}for(let b of H.onSuccess)if(b)await b(Z0(oD({},S),{response:((Z=F==null?void 0:F.hookOptions)==null?void 0:Z.cloneResponse)?P.clone():P}));if(F==null?void 0:F.throw)return S.data;return{data:S.data,error:null}}let v=(J=F==null?void 0:F.jsonParser)!=null?J:SZ,I=await P.text(),_=sU(I),O=_?await v(I):null,g={response:P,responseText:I,request:U,error:Z0(oD({},O),{status:P.status,statusText:P.statusText})};for(let w of H.onError)if(w)await w(Z0(oD({},g),{response:((X=F==null?void 0:F.hookOptions)==null?void 0:X.cloneResponse)?P.clone():P}));if(F==null?void 0:F.retry){let w=iU(F.retry),R=(Y=F.retryAttempt)!=null?Y:0;if(await w.shouldAttemptRetry(R,P)){for(let b of H.onRetry)if(b)await b(L);let S=w.getDelay(R);return await new Promise((b)=>setTimeout(b,S)),await A6(D,Z0(oD({},F),{retryAttempt:R+1}))}}if(F==null?void 0:F.throw)throw new cU(P.status,P.statusText,_?O:I);return{data:null,error:Z0(oD({},O),{status:P.status,statusText:P.statusText})}};var kZ=(D,F)=>{let u="credentials"in Request.prototype,E=VZ(D?.baseURL,D?.basePath,void 0,F)??"/api/auth",B=D?.plugins?.flatMap((U)=>U.fetchPlugins).filter((U)=>U!==void 0)||[],C={id:"lifecycle-hooks",name:"lifecycle-hooks",hooks:{onSuccess:D?.fetchOptions?.onSuccess,onError:D?.fetchOptions?.onError,onRequest:D?.fetchOptions?.onRequest,onResponse:D?.fetchOptions?.onResponse}},{onSuccess:Z,onError:J,onRequest:X,onResponse:Y,...H}=D?.fetchOptions||{},G=xZ({baseURL:E,...u?{credentials:"include"}:{},method:"GET",jsonParser(U){if(!U)return null;return TZ(U,{strict:!1})},customFetchImpl:fetch,...H,plugins:[C,...H.plugins||[],...D?.disableDefaultFetchPlugins?[]:[IZ],...B]}),{$sessionSignal:K,session:Q}=OZ(G,D),z=D?.plugins||[],q={},W={$sessionSignal:K,session:Q},N={"/sign-out":"POST","/revoke-sessions":"POST","/revoke-other-sessions":"POST","/delete-user":"POST"},M=[{signal:"$sessionSignal",matcher(U){return U==="/sign-out"||U==="/update-user"||U==="/sign-up/email"||U==="/sign-in/email"||U==="/delete-user"||U==="/verify-email"||U==="/revoke-sessions"||U==="/revoke-session"||U==="/change-email"}}];for(let U of z){if(U.getAtoms)Object.assign(W,U.getAtoms?.(G));if(U.pathMethods)Object.assign(N,U.pathMethods);if(U.atomListeners)M.push(...U.atomListeners)}let $={notify:(U)=>{W[U].set(!W[U].get())},listen:(U,j)=>{W[U].subscribe(j)},atoms:W};for(let U of z)if(U.getActions)q=_Z(U.getActions?.(G,$,D)??{},q);return{get baseURL(){return E},pluginsActions:q,pluginsAtoms:W,pluginPathMethods:N,atomListeners:M,$fetch:G,$store:$}};function yZ(D){return typeof D==="object"&&D!==null&&"get"in D&&typeof D.get==="function"&&"lc"in D&&typeof D.lc==="number"}function ZW(D,F,u){let E=F[D],{fetchOptions:B,query:C,...Z}=u||{};if(E)return E;if(B?.method)return B.method;if(Z&&Object.keys(Z).length>0)return"POST";return"GET"}function bZ(D,F,u,E,B){function C(Z=[]){return new Proxy(function(){},{get(J,X){if(typeof X!=="string")return;if(X==="then"||X==="catch"||X==="finally")return;let Y=[...Z,X],H=D;for(let G of Y)if(H&&typeof H==="object"&&G in H)H=H[G];else{H=void 0;break}if(typeof H==="function")return H;if(yZ(H))return H;return C(Y)},apply:async(J,X,Y)=>{let H="/"+Z.map((M)=>M.replace(/[A-Z]/g,($)=>`-${$.toLowerCase()}`)).join("/"),G=Y[0]||{},K=Y[1]||{},{query:Q,fetchOptions:z,...q}=G,W={...K,...z},N=ZW(H,u,G);return await F(H,{...W,body:N==="GET"?void 0:{...q,...W?.body||{}},query:Q||W?.query,method:N,async onSuccess(M){if(await W?.onSuccess?.(M),!B||W.disableSignal)return;let $=B.filter((j)=>j.matcher(H));if(!$.length)return;let U=new Set;for(let j of $){let P=E[j.signal];if(!P)return;if(U.has(j.signal))continue;U.add(j.signal);let L=P.get();setTimeout(()=>{P.set(!L)},10)}}})}})}return C()}function U6(D){let{pluginPathMethods:F,pluginsActions:u,pluginsAtoms:E,$fetch:B,atomListeners:C,$store:Z}=kZ(D),J={};for(let[X,Y]of Object.entries(E))J[`use${G6(X)}`]=Y;return bZ({...u,...J,$fetch:B,$store:Z},B,F,E,C)}function fZ(D){return{authorize(F,u="AND"){let E=!1;for(let[B,C]of Object.entries(F)){let Z=D[B];if(!Z)return{success:!1,error:`You are not allowed to access resource: ${B}`};if(Array.isArray(C))E=C.every((J)=>Z.includes(J));else if(typeof C==="object"){let J=C;if(J.connector==="OR")E=J.actions.some((X)=>Z.includes(X));else E=J.actions.every((X)=>Z.includes(X))}else throw new _0("Invalid access control request");if(E&&u==="OR")return{success:E};if(!E&&u==="AND")return{success:!1,error:`unauthorized to access resource "${B}"`}}if(E)return{success:E};return{success:!1,error:"Not authorized"}},statements:D}}function q2(D){return{newRole(F){return fZ(F)},statements:D}}var vZ={user:["create","list","set-role","ban","impersonate","delete","set-password","get","update"],session:["list","revoke","delete"]},W6=q2(vZ),hZ=W6.newRole({user:["create","list","set-role","ban","impersonate","delete","set-password","get","update"],session:["list","revoke","delete"]}),gZ=W6.newRole({user:[],session:[]});var N6=()=>{return{id:"device-authorization",$InferServerPlugin:{},pathMethods:{"/device/code":"POST","/device/token":"POST","/device":"GET","/device/approve":"POST","/device/deny":"POST"}}};var mZ={organization:["update","delete"],member:["create","update","delete"],invitation:["create","cancel"],team:["create","update","delete"],ac:["create","read","update","delete"]},A3=q2(mZ),dZ=A3.newRole({organization:["update"],invitation:["create","cancel"],member:["create","update","delete"],team:["create","update","delete"],ac:["create","read","update","delete"]}),cZ=A3.newRole({organization:["update","delete"],member:["create","update","delete"],invitation:["create","cancel"],team:["create","update","delete"],ac:["create","read","update","delete"]}),lZ=A3.newRole({organization:[],member:[],invitation:[],team:[],ac:["read"]});var $6="photon-cli",pZ="openid profile email";function U3(D){return U6({baseURL:D,plugins:[N6()]})}function iZ(D){D.command("login").description("authenticate via the device authorization flow").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("--no-browser","don't auto-open the verification URL").action(async(F)=>{try{await XW(F)}catch(u){if(u instanceof a0||u instanceof L0)V(u.message);throw u}})}async function XW({apiHost:D,browser:F=!0}){let u=await PD(D);console.log(A.info(`Authenticating to ${A.bold(u.name)} ${A.dim(`(${u.url})`)}`));let E=U3(u.url),B;try{B=await E.device.code({client_id:$6,scope:pZ})}catch(q){V(`Could not reach ${u.url} — ${q instanceof Error?q.message:String(q)}`)}if(B.error||!B.data)V(`Failed to start device flow: ${h(B.error)}`);let{device_code:C,user_code:Z,verification_uri:J,verification_uri_complete:X,interval:Y=5,expires_in:H=1800}=B.data;if(console.log(),console.log(` ${A.dim("Visit:")} ${A.underline(A.cyan(J))}`),console.log(` ${A.dim("Code: ")} ${A.bold(Z)}`),console.log(),F){let q=X??J;try{await e8(q),console.log(A.dim(` Opened ${q}`))}catch{}}else console.log(A.dim(" --no-browser set; open the URL above manually"));console.log();let G=pC();G.start(`Waiting for approval (polling every ${Y}s)`);let K=await GW({auth:E,deviceCode:C,initialInterval:Y,expiresInSec:H,onSlowDown:(q)=>{G.message(`Server asked us to slow down — polling every ${q}s`)}}).catch((q)=>{throw G.error(q instanceof Error?q.message:"Failed"),q});G.stop("Authorized");let z=(await E.getSession({fetchOptions:{headers:{Authorization:`Bearer ${K}`}}})).data?.user;if(!z)V("Token issued but session lookup failed — server might be misconfigured.");await QC({accessToken:K,user:{id:z.id,email:z.email,name:z.name},envName:u.name,apiUrl:u.url,issuedAt:new Date().toISOString()}),console.log(),console.log(A.success(`Logged in to ${A.bold(u.name)} as ${A.bold(z.email)}`))}async function GW(D){let F=D.initialInterval,u=Date.now()+D.expiresInSec*1000;while(Date.now()<u){await new Promise((Z)=>setTimeout(Z,F*1000));let E=await D.auth.device.token({grant_type:"urn:ietf:params:oauth:grant-type:device_code",device_code:D.deviceCode,client_id:$6});if(E.data?.access_token)return E.data.access_token;let B=QW(E.error);if(KW(E.error)===429){F+=10,D.onSlowDown(F);continue}switch(B){case"authorization_pending":continue;case"slow_down":F+=5,D.onSlowDown(F);continue;case"access_denied":throw new a0;case"expired_token":throw new L0;default:throw Error(`Device flow error: ${h(E.error)}`)}}throw new L0}function QW(D){if(D&&typeof D==="object"&&"error"in D){let F=D.error;return typeof F==="string"?F:void 0}return}function KW(D){if(D&&typeof D==="object"&&"status"in D){let F=D.status;return typeof F==="number"?F:void 0}return}function nZ(D){D.command("logout").description("clear stored credentials for the active backend").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").action(async(F)=>{let u=await PD(F.apiHost),E=await zF(u.name);if(!E){console.log(A.dim(`Not logged in to ${A.bold(u.name)} — nothing to do.`));return}try{await U3(E.apiUrl).signOut({fetchOptions:{headers:{Authorization:`Bearer ${E.accessToken}`}}})}catch{}await KC(u.name),console.log(A.success(`Logged out of ${A.bold(u.name)}`))})}function aZ(D){D.command("ping").description("hit the Photon Dashboard /api/health endpoint").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-u, --url <url>","raw API URL (bypasses env resolution)").action(async(F)=>{let{api:u,env:E}=await l({apiHost:F.apiHost,url:F.url});console.log(A.dim(`→ ${E.url}`));let B=performance.now(),{data:C,error:Z,status:J}=await u.api.health.get(),X=Math.round(performance.now()-B);if(Z)console.error(A.error(`${J} (${X}ms): ${h(Z)}`)),process.exit(1);console.log(A.success(`${J} (${X}ms): ${JSON.stringify(C)}`))})}var zW=["developer","organization"];function sZ(D){let F=D.command("profile").description("view or manage your developer / organization profile");qW(F),AW(F),WW(F)}function qW(D){D.command("show",{isDefault:!0}).description("show your profile").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-t, --token <token>","API token (overrides stored creds)").option("--json","output JSON").action(async(F)=>{let{api:u,creds:E,env:B}=await l({apiHost:F.apiHost,token:F.token,requireAuth:!0}),{data:C,error:Z}=await u.api.profile.get();if(Z){if(Z.status===401)throw new d(B.name);V(`Failed to fetch profile: ${h(Z)}`)}if(F.json){a({user:E?.user??null,profile:C});return}if(E)console.log(A.bold(E.user.name)+A.dim(` <${E.user.email}>`));else console.log(A.dim(`token-authenticated on env ${B.name}`));if(console.log(),!C){console.log(A.dim("No profile yet.")),console.log(A.hint("Set one up: `photon profile init`."));return}console.log(A.bold(`${C.type} profile`));let J=[["companyName",C.companyName],["platforms",C.platforms],["background",C.background],["referralSource",C.referralSource]],X=Math.max(...J.map(([Y])=>Y.length));for(let[Y,H]of J)console.log(` ${A.dim(Y.padEnd(X))} ${$W(H)}`)})}function AW(D){D.command("init").description("set up your developer or organization profile").option("--type <type>","developer | organization").option("--platforms <list>","comma-separated platforms you're building on").option("--background <text>","what you're building").option("--company-name <name>","organization: company name").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-t, --token <token>","API token (overrides stored creds)").option("--json","output JSON").action(async(F)=>{let{api:u,env:E}=await l({apiHost:F.apiHost,token:F.token,requireAuth:!0}),B=await u.api.profile.get();if(B.status===401)throw new d(E.name);if(B.error)V(`Failed to check existing profile: ${h(B.error)}`);if(B.data)V("A profile already exists for this account.",{hint:"Use `photon profile update` to change it."});let C=await UW(F);if(await oZ(u,E.name,C),F.json){a({profile:C});return}console.log(A.success(`Created ${C.type} profile.`))})}async function UW(D){if(!yD())return{type:W3(D.type,{required:!0}),platforms:D.platforms!==void 0?A2(D.platforms):void 0,background:D.background,companyName:D.companyName};p8(A.cyan("Set up your profile"));let F=W3(D.type);if(!F){let C=await n8({message:"What kind of profile?",options:[{value:"developer",label:"Developer",hint:"individual contributor"},{value:"organization",label:"Organization",hint:"company / team"}]});if(UD(C))V("Aborted.");F=C}let u=D.platforms!==void 0?A2(D.platforms):await NW("Platforms you're building on (comma-separated)",void 0,!0),E=await rZ("What are you building?",D.background),B=F==="organization"?await rZ("Company name",D.companyName):D.companyName;return i8(A.dim("Submitting…")),{type:F,platforms:u.length>0?u:void 0,background:E,companyName:B}}function WW(D){D.command("update").alias("edit").description("update your existing profile (preserves unchanged fields)").option("--type <type>","developer | organization").option("--platforms <list>","comma-separated platforms you're building on").option("--background <text>","what you're building").option("--company-name <name>","organization: company name").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-t, --token <token>","API token (overrides stored creds)").option("--json","output JSON").action(async(F)=>{if(!(F.type!==void 0||F.platforms!==void 0||F.background!==void 0||F.companyName!==void 0))V("Nothing to update.",{hint:"Pass at least one field flag — see `photon profile update --help`."});let{api:E,env:B}=await l({apiHost:F.apiHost,token:F.token,requireAuth:!0}),C=await E.api.profile.get();if(C.status===401)throw new d(B.name);if(C.error)V(`Failed to fetch profile: ${h(C.error)}`);let Z=C.data;if(!Z)V("No profile to update.",{hint:"Create one first: `photon profile init`."});let J={type:F.type!==void 0?W3(F.type,{required:!0}):W3(Z.type)??void 0,platforms:F.platforms!==void 0?A2(F.platforms):Z.platforms??void 0,background:F.background??Z.background??void 0,companyName:F.companyName??Z.companyName??void 0};if(await oZ(E,B.name,J),F.json)return a({profile:J});console.log(A.success("Profile updated."))})}async function oZ(D,F,u){let E={};if(u.type!==void 0)E.type=u.type;if(u.platforms!==void 0)E.platforms=u.platforms;if(u.background!==void 0)E.background=u.background;if(u.companyName!==void 0)E.companyName=u.companyName;let B=await D.api.onboarding.details.post(E);if(B.status===401)throw new d(F);if(B.error)V(`Failed to save profile: ${h(B.error)}`)}function W3(D,{required:F=!1}={}){if(D===void 0||D===""){if(F)V("--type is required (developer | organization).");return}if(!zW.includes(D))V(`Unknown profile type "${D}". Use "developer" or "organization".`);return D}async function rZ(D,F){if(F!==void 0)return F;let u=await Q0({message:D,placeholder:"(skip)"});if(UD(u))V("Aborted.");let E=u?.trim();return E?E:void 0}async function NW(D,F,u=!1){if(F!==void 0)return A2(F);let E=await Q0({message:D,placeholder:u?"(skip)":void 0});if(UD(E))V("Aborted.");return A2(E??"")}function A2(D){return D.split(",").map((F)=>F.trim()).filter(Boolean)}function $W(D){if(D===null||D===void 0||D==="")return A.dim("—");if(Array.isArray(D))return D.length>0?D.join(", "):A.dim("—");if(typeof D==="boolean")return D?A.green("yes"):A.dim("no");if(D instanceof Date)return D.toLocaleString();if(typeof D==="object")return JSON.stringify(D);return String(D)}async function n0(D){if(D.yes)return;if(!yD())V("Confirmation required for this destructive action.",{hint:D.fallbackHint??"Pass --yes to confirm."});let F=await l8({message:D.message,initialValue:!1});if(UD(F)||!F)V("Aborted.")}var N3=["imessage","whatsapp_business","voice"];function DJ(D){let F=D.command("projects").alias("project").description("manage your Photon Dashboard projects");VW(F),IW(F),MW(F),TW(F),LW(F),RW(F),jW(F),SW(F),PW(F),xW(F)}function VW(D){D.command("list",{isDefault:!0}).alias("ls").description("list your projects").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-t, --token <token>","API token (overrides stored creds)").option("--json","output JSON").action(async(F)=>{let{api:u,env:E}=await l({apiHost:F.apiHost,token:F.token,requireAuth:!0}),{data:B,error:C}=await u.api.projects.get();if(C){if(C.status===401)throw new d(E.name);V(`Failed to list projects: ${h(C)}`)}let Z=B??[];if(F.json){a(Z);return}if(Z.length===0){console.log(A.dim("No projects yet.")),console.log(A.hint("Create one with `photon projects create`."));return}let J=Z.map((X)=>[kW(X.id,8),X.name,X.location,FJ(X.status),X.platforms.length>0?X.platforms.join(", "):A.dim("—"),new Date(X.updatedAt).toLocaleDateString()]);hD(["id","name","location","status","platforms","updated"],J)})}function IW(D){D.command("show [id]").alias("get").description("show details for one project (defaults to $PHOTON_PROJECT_ID)").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-p, --project <id>","project id (overrides $PHOTON_PROJECT_ID)").option("-t, --token <token>","API token (overrides stored creds)").option("--json","output JSON").action(async(F,u)=>{let{projectId:E,env:B}=await s({flagProjectId:F??u.project,apiHost:u.apiHost}),{api:C}=await l({apiHost:B.url,token:u.token,requireAuth:!0}),{data:Z,error:J,status:X}=await C.api.projects({id:E}).get();if(X===401)throw new d(B.name);if(X===404||!J&&!Z)V(`Project not found: ${E}`,{hint:"List your projects with `photon projects ls`."});if(J)V(`Failed to fetch project: ${h(J)}`);if(u.json){a(Z);return}if(!Z)return;let Y=Z;console.log(A.bold(Y.name)+A.dim(` (${Y.id})`)),console.log(),yW([["status",FJ(Y.status)],["location",Y.location],["owner",Y.isOwner?A.green("yes"):A.dim("no")],["template",Y.template?"yes":"no"],["observability",Y.observability?"yes":"no"],["slackChannelId",Y.slackChannelId??A.dim("—")],["slackTeamId",Y.slackTeamId??A.dim("—")],["createdAt",new Date(Y.createdAt).toLocaleString()],["updatedAt",new Date(Y.updatedAt).toLocaleString()]])})}function MW(D){D.command("secret [id]").alias("get-secret").description("print the project's Spectrum API secret (defaults to $PHOTON_PROJECT_ID)").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-p, --project <id>","project id (overrides $PHOTON_PROJECT_ID)").option("-t, --token <token>","API token (overrides stored creds)").option("--json","output JSON").action(async(F,u)=>{let{projectId:E,env:B}=await s({flagProjectId:F??u.project,apiHost:u.apiHost}),{api:C}=await l({apiHost:B.url,token:u.token,requireAuth:!0}),{data:Z,error:J,status:X}=await C.api.projects({id:E}).get();if(X===401)throw new d(B.name);if(X===404||!J&&!Z)V(`Project not found: ${E}`,{hint:"List your projects with `photon projects ls`."});if(J)V(`Failed to fetch project: ${h(J)}`);if(!Z)return;if(!Z.projectSecret)V("This project has no API secret yet.",{hint:`Generate one with \`photon projects regenerate-secret ${E}\`.`});if(u.json){a({id:E,projectSecret:Z.projectSecret});return}console.log(Z.projectSecret)})}function TW(D){D.command("create").alias("new").description("create a new project").option("-n, --name <name>","project name").option("-l, --location <location>",'location (default: "United States")').option("--platforms <list>",`comma-separated platforms (${N3.join(", ")})`).option("--template","use as template").option("--observability","enable observability").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-t, --token <token>","API token (overrides stored creds)").option("--json","output JSON").action(async(F)=>{let u=await OW(F),{api:E,env:B}=await l({apiHost:F.apiHost,token:F.token,requireAuth:!0}),{data:C,error:Z,status:J}=await E.api.projects.post({name:u.name,location:u.location,platforms:u.platforms,template:u.template,observability:u.observability});if(J===401)throw new d(B.name);if(Z)V(`Failed to create project: ${h(Z)}`);let X=C;if(X.error)V(X.error);if(!X.id)V("Server did not return a project id.");if(F.json){a({id:X.id,name:u.name,env:B.name});return}console.log(A.success(`Created ${A.bold(u.name)} ${A.dim(`(${X.id})`)} on ${A.bold(B.name)}`)),console.log(A.dim(` To make this the active project: export PHOTON_PROJECT_ID='${X.id}'`))})}function V6(D){let F=D.split(",").map((E)=>E.trim()).filter(Boolean),u=F.filter((E)=>!N3.includes(E));if(u.length>0)V(`Unknown platform(s): ${u.join(", ")}.`,{hint:`Valid platforms: ${N3.join(", ")}.`});return[...new Set(F)]}async function OW(D){if(!yD()){if(!D.name?.trim())V("--name is required in non-interactive mode.",{hint:"Run from a terminal for the interactive prompt, or pass --name <name>."});return{name:D.name.trim(),location:D.location??"United States",platforms:D.platforms!==void 0?V6(D.platforms):[],template:D.template??!1,observability:D.observability??!1}}p8(A.cyan("Create a new project"));let F=D.name?.trim();if(!F){let Z=await Q0({message:"Project name",validate:(J)=>J&&J.trim()?void 0:"Project name is required"});if(UD(Z))V("Aborted.");F=Z.trim()}let u=D.location;if(u===void 0){let Z=await Q0({message:"Location",placeholder:"United States",defaultValue:"United States"});if(UD(Z))V("Aborted.");u=Z||"United States"}let E=D.platforms!==void 0?V6(D.platforms):V6(await _W(`Platforms (comma-separated: ${N3.join(", ")})`,void 0,!0)),B=D.template??await tZ("Use as template?",!1),C=D.observability??await tZ("Enable observability?",!1);return i8(A.dim("Submitting…")),{name:F,location:u,platforms:E,template:B,observability:C}}async function _W(D,F,u=!1){if(F!==void 0)return F;let E=await Q0({message:D,placeholder:u?"(skip)":void 0});if(UD(E))V("Aborted.");return E??""}async function tZ(D,F){let u=await l8({message:D,initialValue:F});if(UD(u))V("Aborted.");return Boolean(u)}function LW(D){D.command("update [id]").alias("edit").alias("rename").description("rename a project (defaults to $PHOTON_PROJECT_ID)").option("-n, --name <name>","new name").option("-p, --project <id>","project id (overrides $PHOTON_PROJECT_ID)").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-t, --token <token>","API token (overrides stored creds)").option("--json","output JSON").action(async(F,u)=>{let E=u.name?.trim();if(!E)V("--name is required.",{hint:"Pass a non-empty name, e.g. `photon projects update --name 'New Name'`."});let{projectId:B,env:C}=await s({flagProjectId:F??u.project,apiHost:u.apiHost}),{api:Z}=await l({apiHost:C.url,token:u.token,requireAuth:!0}),{error:J,status:X,data:Y}=await Z.api.projects({id:B}).patch({name:E});if(X===401)throw new d(C.name);if(J)V(`Failed to update project: ${h(J)}`);let H=Y;if(H.error)V(H.error);if(u.json){a({id:B,name:E});return}console.log(A.success(`Updated ${A.bold(E)} ${A.dim(`(${B})`)}`))})}function RW(D){D.command("delete [id]").alias("rm").alias("remove").description("permanently delete a project (defaults to $PHOTON_PROJECT_ID)").option("-p, --project <id>","project id (overrides $PHOTON_PROJECT_ID)").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-t, --token <token>","API token (overrides stored creds)").option("-y, --yes","skip confirmation").action(async(F,u)=>{let{projectId:E,env:B}=await s({flagProjectId:F??u.project,apiHost:u.apiHost}),{api:C}=await l({apiHost:B.url,token:u.token,requireAuth:!0}),Z=await C.api.projects({id:E}).get();if(Z.status===401)throw new d(B.name);if(Z.status===404||!Z.error&&!Z.data)V(`Project not found: ${E}`,{hint:"Already deleted? `photon projects ls` to confirm."});if(Z.error)V(`Failed to look up project: ${h(Z.error)}`);if(!Z.data)return;let J=Z.data;await n0({message:`Delete project ${A.bold(J.name)} (${E})? This cannot be undone.`,yes:u.yes??!1,fallbackHint:`Pass --yes to delete ${J.name}.`});let{error:X,status:Y}=await C.api.projects({id:E}).delete();if(Y===401)throw new d(B.name);if(X)V(`Failed to delete project: ${h(X)}`);if(console.log(A.success(`Deleted ${A.bold(J.name)} ${A.dim(`(${E})`)}`)),process.env.PHOTON_PROJECT_ID===E)console.error(A.warn("Active project just deleted. Run `unset PHOTON_PROJECT_ID` to clear."))})}function jW(D){D.command("regenerate-secret [id]").alias("rotate-secret").description("rotate the project's Spectrum API secret (defaults to $PHOTON_PROJECT_ID)").option("-p, --project <id>","project id (overrides $PHOTON_PROJECT_ID)").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-t, --token <token>","API token (overrides stored creds)").option("-y, --yes","skip confirmation").option("--json","output JSON").action(async(F,u)=>{let{projectId:E,env:B}=await s({flagProjectId:F??u.project,apiHost:u.apiHost}),{api:C}=await l({apiHost:B.url,token:u.token,requireAuth:!0});await n0({message:`Rotate the API secret for project ${E}? Existing integrations using the old secret will stop working immediately.`,yes:u.yes??!1,fallbackHint:"Pass --yes to rotate the secret."});let{data:Z,error:J,status:X}=await C.api.projects({id:E})["regenerate-secret"].post();if(X===401)throw new d(B.name);if(J)V(`Failed to rotate secret: ${h(J)}`);let Y=Z;if(Y.error)V(Y.error);if(!Y.projectSecret)V("Server did not return a new secret.");if(u.json){a({id:E,projectSecret:Y.projectSecret});return}console.log(A.success(`New secret for ${E}:`)),console.log(` ${A.bold(Y.projectSecret)}`),M0.warn("This is shown once. Store it somewhere safe — re-rotating is the only way to recover.")})}function SW(D){D.command("open [id]").description("open the project in the dashboard web UI (defaults to $PHOTON_PROJECT_ID)").option("-p, --project <id>","project id (overrides $PHOTON_PROJECT_ID)").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("--no-browser","print the URL instead of launching a browser").action(async(F,u)=>{let{projectId:E,env:B}=await s({flagProjectId:F??u.project,apiHost:u.apiHost}),C=new URL(`/dashboard/${E}`,B.url).toString();await Z2(C,{noBrowser:!u.browser,label:"URL"})})}function PW(D){D.command("upgrade [id] [tier]").description("subscribe / pay for a project (smart-routes to Stripe checkout or billing portal)").option("--plan <price-id>","Stripe price id (escape hatch; overrides tier picker)").option("--qty <n>","quantity (default 1)",C3).option("--checkout","force checkout flow (even if currently subscribed)").option("--manage","force Stripe portal (downgrade / cancel / change card)").option("-p, --project <id>","project id (overrides positional [id] and $PHOTON_PROJECT_ID)").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-t, --token <token>","API token (overrides stored creds)").option("--no-browser","print the URL instead of launching a browser").option("--json","output JSON ({action,url,tier?}) and skip browser open").action(async(F,u,E)=>{if(E.checkout&&E.manage)V("--checkout and --manage are mutually exclusive.");let B=F,C=eZ(u);if(!C&&B&&wW(B)&&!u)C=eZ(B),B=void 0;if(u&&!C)V(`Unknown tier "${u}".`,{hint:`Use one of: ${T0.join(", ")} — or pass --plan <price-id>.`});let{projectId:Z,env:J}=await s({flagProjectId:E.project??B,apiHost:E.apiHost}),{api:X}=await l({apiHost:J.url,token:E.token,requireAuth:!0}),Y=J2({explicitNoBrowser:E.browser===!1,json:E.json??!1}),H;if(E.manage)H="manage";else if(E.checkout||E.plan||C)H="checkout";else{let Q=await XZ(X,Z,J.name);if(Q.tier==="unknown")V(`Cannot determine the subscription state of project ${Z}.`,{hint:"Re-run with --checkout to subscribe, or --manage to open the Stripe portal."});if(H=Q.status==="active"||Q.status==="past_due"?"manage":"checkout",H==="manage"&&!E.json)console.log(A.info(`Project ${A.bold(Z)} is on ${Q.tier??"—"} (${Q.status??"—"}). Opening Stripe portal…`)),console.log(A.dim(" To pick a different plan instead, re-run with --checkout."))}if(H==="manage"){await B3({api:X,projectId:Z,envName:J.name,json:E.json??!1,noBrowser:Y});return}let G,K;if(E.plan)G=E.plan;else if(C){let Q=await NF(X,J.name),z=D3(Q,C),q=z?.prices?.length===1?z.prices[0]:void 0;if(!z||!z.prices?.length)V(`No plan matching tier "${C}".`,{hint:"List options with `photon billing plans`."});if(!q)V(`Tier "${C}" has multiple billing intervals.`,{hint:"Pass --plan <price-id> to choose, or omit the tier to use the interactive picker."});G=q.id,K=C}else{let Q=await NF(X,J.name),z=await u3(Q);G=z.price.id,K=F3(z.plan.name)}await E3({api:X,projectId:Z,priceId:G,quantity:E.qty,envName:J.name,json:E.json??!1,noBrowser:Y,tierLabel:K})})}function wW(D){return T0.includes(D.trim().toLowerCase())}function eZ(D){if(!D)return;let F=D.trim().toLowerCase();return T0.includes(F)?F:void 0}function xW(D){D.command("check-phone <number>").description("check whether a phone number is available on Spectrum").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-t, --token <token>","API token (overrides stored creds)").option("--json","output JSON").action(async(F,u)=>{let{api:E,env:B}=await l({apiHost:u.apiHost,token:u.token,requireAuth:!0}),{data:C,error:Z,status:J}=await E.api.projects["check-availability"].get({query:{phoneNumber:F}});if(J===401)throw new d(B.name);if(Z)V(`Failed to check phone availability: ${h(Z)}`);if(u.json){a(C);return}if(C.available)console.log(A.success(`${F} is available.`));else console.log(A.warn(`${F} is taken.`))})}function FJ(D){switch(D){case"running":return A.green(D);case"paused":return A.yellow(D);case"error":return A.red(D);default:return D}}function kW(D,F){return D.length>F?`${D.slice(0,F)}…`:D}function yW(D){let F=Math.max(...D.map(([u])=>u.length));for(let[u,E]of D)console.log(` ${A.dim(u.padEnd(F))} ${E}`)}var bW={".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".webp":"image/webp",".gif":"image/gif"},fW=new Set([".svg",".svgz"]),vW=/^\s*(?:<\?xml[\s\S]*?\?>\s*)?(?:<!--[\s\S]*?-->\s*)*<svg(?:\s|>)/i,hW=4100,gW=(D)=>{let F=D.replaceAll("\\","/").split("/").at(-1)??D,u=F.lastIndexOf(".");return u===-1?"":F.slice(u).toLowerCase()},mW=(D)=>vW.test(new TextDecoder().decode(D.subarray(0,hW))),uJ=(D,F)=>{if(fW.has(D)||F&&mW(F))V("SVG avatars are not supported.",{hint:"Convert the image to PNG, JPEG, or WebP before uploading."})};async function $3(D){let F=gW(D);uJ(F);let u=Bun.file(D);if(!await u.exists())V(`File not found: ${D}`);let E=new Uint8Array(await u.arrayBuffer());return uJ(F,E),{body:E,contentType:bW[F]??"application/octet-stream",size:E.byteLength}}async function V3(D,F,u){console.log(A.dim(`Uploading ${D} (${(u.size/1024).toFixed(1)} KB)…`));let E=await fetch(F,{method:"PUT",body:u.body,headers:{"Content-Type":u.contentType}});if(!E.ok)V(`Upload failed: ${E.status} ${E.statusText}`)}function EJ(D){D.command("avatar").description("manage the Spectrum avatar image").command("upload <file>").description("upload an image as the Spectrum avatar").option("-p, --project <id>","project id (overrides $PHOTON_PROJECT_ID)").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-t, --token <token>","API token (overrides stored creds)").action(async(u,E)=>{let B=await $3(u),{projectId:C,env:Z}=await s({flagProjectId:E.project,apiHost:E.apiHost}),{api:J}=await l({apiHost:Z.url,token:E.token,requireAuth:!0}),X=await J.api.projects({id:C}).spectrum.avatar.upload.post({contentType:B.contentType});if(X.status===401)throw new d(Z.name);if(X.error)V(`Failed to get upload URL: ${h(X.error)}`);let Y=X.data;if(Y.error)V(Y.error);if(!Y.uploadUrl||!Y.key)V("Server did not return uploadUrl + key.");await V3(u,Y.uploadUrl,B);let H=await J.api.projects({id:C}).spectrum.avatar.commit.post({key:Y.key});if(H.status===401)throw new d(Z.name);if(H.error)V(`Uploaded, but commit failed: ${h(H.error)}`);let G=H.data;if(G.error)V(G.error);if(!G.avatarUrl)V("Server did not return an avatar URL after commit.");let K=G.avatarUrl;console.log(A.success(`Uploaded avatar from ${u}`)),console.log(A.dim(` URL: ${K}`))})}function BJ(D){D.command("profile").description("manage a dedicated iMessage line profile").command("update <line-id>").alias("edit").description("update a line profile name (preserves unset fields)").option("--first-name <name>").option("--last-name <name>").option("-p, --project <id>","project id (overrides $PHOTON_PROJECT_ID)").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-t, --token <token>","API token (overrides stored creds)").option("--json","output JSON").action(async(E,B)=>{let C=B.firstName!==void 0?{firstName:B.firstName,...B.lastName!==void 0?{lastName:B.lastName}:{}}:B.lastName!==void 0?{lastName:B.lastName}:V("Nothing to update.",{hint:"Pass --first-name and/or --last-name."}),{projectId:Z,env:J}=await s({flagProjectId:B.project,apiHost:B.apiHost}),{api:X}=await l({apiHost:J.url,token:B.token,requireAuth:!0}),{data:Y,error:H,status:G}=await X.api.projects({id:Z}).lines({lineId:E}).profile.patch(C);if(G===401)throw new d(J.name);if(H)V(`Failed to update line profile: ${h(H)}`);if(!Y?.succeed)V("Failed to update line profile: empty API response.");if(B.json)return a(Y.data);console.log(A.success(`Updated profile for line ${E}.`))}),D.command("avatar").description("manage a dedicated iMessage line avatar").command("upload <line-id> <file>").description("upload an image as a line avatar").option("-p, --project <id>","project id (overrides $PHOTON_PROJECT_ID)").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-t, --token <token>","API token (overrides stored creds)").action(async(E,B,C)=>{let Z=await $3(B),{projectId:J,env:X}=await s({flagProjectId:C.project,apiHost:C.apiHost}),{api:Y}=await l({apiHost:X.url,token:C.token,requireAuth:!0}),H=await Y.api.projects({id:J}).lines({lineId:E}).profile.avatar.upload.post({contentType:Z.contentType});if(H.status===401)throw new d(X.name);if(H.error)V(`Failed to get line avatar upload URL: ${h(H.error)}`);if(!H.data?.succeed)V("Failed to get line avatar upload URL: empty API response.");let G=H.data.data;if(!G.uploadUrl||!G.key)V("Server did not return uploadUrl + key.");await V3(B,G.uploadUrl,Z);let K=await Y.api.projects({id:J}).lines({lineId:E}).profile.avatar.commit.post({key:G.key});if(K.status===401)throw new d(X.name);if(K.error)V(`Uploaded, but commit failed: ${h(K.error)}`);if(!K.data?.succeed)V("Uploaded, but commit failed: empty API response.");let Q=K.data.data.avatarUrl;if(!Q)V("Server did not return an avatar URL after commit.");console.log(A.success(`Uploaded avatar for line ${E}.`)),console.log(A.dim(` URL: ${Q}`))})}function CJ(D){let F=D.command("lines").description("manage Spectrum phone lines on a project");BJ(F),F.command("list",{isDefault:!0}).alias("ls").description("list lines for the active project").option("-p, --project <id>","project id (overrides $PHOTON_PROJECT_ID)").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-t, --token <token>","API token (overrides stored creds)").option("--json","output JSON").action(async(u)=>{let{projectId:E,env:B}=await s({flagProjectId:u.project,apiHost:u.apiHost}),{api:C}=await l({apiHost:B.url,token:u.token,requireAuth:!0}),{data:Z,error:J,status:X}=await C.api.projects({id:E}).lines.get();if(X===401)throw new d(B.name);if(J)V(`Failed to list lines: ${h(J)}`);let Y=Z?.lines??[];if(u.json)return a(Y);if(Y.length===0){console.log(A.dim("No lines yet.")),console.log(A.hint("Add one with `photon spectrum lines add`."));return}let H=Y.map((G)=>[dW(G.id,10),G.platform??"—",("phoneNumber"in G?G.phoneNumber:G.displayPhoneNumber)??A.dim("—"),G.status??A.dim("—")]);hD(["id","platform","number","status"],H)}),F.command("add").alias("create").description("add a new line (currently iMessage only)").option("--platform <name>","platform (only 'imessage' supported today)","imessage").option("-p, --project <id>","project id (overrides $PHOTON_PROJECT_ID)").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-t, --token <token>","API token (overrides stored creds)").option("--json","output JSON").action(async(u)=>{if(u.platform!=="imessage")V(`Unsupported platform "${u.platform}".`,{hint:"The server currently only accepts 'imessage'."});let{projectId:E,env:B}=await s({flagProjectId:u.project,apiHost:u.apiHost}),{api:C}=await l({apiHost:B.url,token:u.token,requireAuth:!0}),{data:Z,error:J,status:X}=await C.api.projects({id:E}).lines.post({platform:"imessage"});if(X===401)throw new d(B.name);if(J)V(`Failed to add line: ${h(J)}`);let Y=Z;if(Y.error)V(Y.error);if(u.json)return a(Y.line??{});console.log(A.success(`Added ${Y.line?.platform??"imessage"} line${Y.line?.id?A.dim(` (${Y.line.id})`):""}`))}),F.command("remove <line-id>").alias("rm").alias("delete").description("remove a line").option("-p, --project <id>","project id (overrides $PHOTON_PROJECT_ID)").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-t, --token <token>","API token (overrides stored creds)").option("-y, --yes","skip confirmation").action(async(u,E)=>{let{projectId:B,env:C}=await s({flagProjectId:E.project,apiHost:E.apiHost}),{api:Z}=await l({apiHost:C.url,token:E.token,requireAuth:!0});await n0({message:`Remove line ${u} from project ${B}?`,yes:E.yes??!1,fallbackHint:`Pass --yes to remove line ${u}.`});let{error:J,status:X}=await Z.api.projects({id:B}).lines({lineId:u}).delete();if(X===401)throw new d(C.name);if(J)V(`Failed to remove line: ${h(J)}`);console.log(A.success(`Removed line ${u}`))})}function dW(D,F){return D.length>F?`${D.slice(0,F)}…`:D}function JJ(D){let F=D.command("platforms").description("manage Spectrum platform integrations on a project");F.command("list",{isDefault:!0}).alias("ls").description("list platforms and their enabled state").option("-p, --project <id>","project id (overrides $PHOTON_PROJECT_ID)").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-t, --token <token>","API token (overrides stored creds)").option("--json","output JSON").action(async(u)=>{let{projectId:E,env:B}=await s({flagProjectId:u.project,apiHost:u.apiHost}),{api:C}=await l({apiHost:B.url,token:u.token,requireAuth:!0}),{data:Z,error:J,status:X}=await C.api.projects({id:E}).platforms.get();if(X===401)throw new d(B.name);if(J)V(`Failed to list platforms: ${h(J)}`);let Y=Z??{};if(u.json)return a(Y);let H=Object.entries(Y);if(H.length===0){console.log(A.dim("No platforms configured for this project."));return}let G=H.sort(([K],[Q])=>K.localeCompare(Q)).map(([K,Q])=>[K,Q?A.green("on"):A.dim("off")]);hD(["platform","state"],G)}),F.command("enable <name>").description("enable a platform").option("-p, --project <id>","project id (overrides $PHOTON_PROJECT_ID)").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-t, --token <token>","API token (overrides stored creds)").option("--json","output JSON").action(async(u,E)=>{await ZJ(u,!0,E)}),F.command("disable <name>").description("disable a platform").option("-p, --project <id>","project id (overrides $PHOTON_PROJECT_ID)").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-t, --token <token>","API token (overrides stored creds)").option("--json","output JSON").action(async(u,E)=>{await ZJ(u,!1,E)})}async function ZJ(D,F,u){let{projectId:E,env:B}=await s({flagProjectId:u.project,apiHost:u.apiHost}),{api:C}=await l({apiHost:B.url,token:u.token,requireAuth:!0}),{data:Z,error:J,status:X}=await C.api.projects({id:E}).platforms.toggle.post({platformId:D,enabled:F});if(X===401)throw new d(B.name);if(J)V(`Failed to ${F?"enable":"disable"} ${D}: ${h(J)}`);let Y=Z;if(Y.error)V(Y.error,{hint:Y.error==="Unsupported platform"?"Run `photon spectrum platforms ls` to see available platforms.":void 0});if(u.json)return a(Y.platforms??{});console.log(A.success(`${F?"Enabled":"Disabled"} ${A.bold(D)}`))}function YJ(D){let F=D.command("profile").description("view or update the Spectrum profile");F.command("show",{isDefault:!0}).description("show the Spectrum profile").option("-p, --project <id>","project id (overrides $PHOTON_PROJECT_ID)").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-t, --token <token>","API token (overrides stored creds)").option("--json","output JSON").action(async(u)=>{let{projectId:E,env:B}=await s({flagProjectId:u.project,apiHost:u.apiHost}),{api:C}=await l({apiHost:B.url,token:u.token,requireAuth:!0}),{data:Z,error:J,status:X}=await C.api.projects({id:E}).spectrum.profile.get();if(X===401)throw new d(B.name);if(J)V(`Failed to fetch Spectrum profile: ${h(J)}`);if(u.json)return a(Z??{});if(!Z||typeof Z!=="object"){console.log(A.dim("No Spectrum profile."));return}let Y=Object.entries(Z).filter(([G])=>!["id","projectId"].includes(G));if(Y.length===0){console.log(A.dim("Empty Spectrum profile."));return}let H=Math.max(...Y.map(([G])=>G.length));for(let[G,K]of Y)console.log(` ${A.dim(G.padEnd(H))} ${cW(K)}`)}),F.command("update").alias("edit").description("update the Spectrum profile (preserves unset fields)").option("--first-name <name>").option("--last-name <name>").option("-p, --project <id>","project id (overrides $PHOTON_PROJECT_ID)").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-t, --token <token>","API token (overrides stored creds)").option("--json","output JSON").action(async(u)=>{if(!(u.firstName!==void 0||u.lastName!==void 0))V("Nothing to update.",{hint:"Pass at least one of --first-name / --last-name."});let{projectId:B,env:C}=await s({flagProjectId:u.project,apiHost:u.apiHost}),{api:Z}=await l({apiHost:C.url,token:u.token,requireAuth:!0}),J={};if(u.firstName!==void 0)J.firstName=u.firstName;if(u.lastName!==void 0)J.lastName=u.lastName;let{data:X,error:Y,status:H}=await Z.api.projects({id:B}).spectrum.profile.patch(J);if(H===401)throw new d(C.name);if(Y)V(`Failed to update Spectrum profile: ${h(Y)}`);let G=X;if(G.error)V(G.error);if(u.json)return a(G.profile??{});console.log(A.success("Spectrum profile updated."))}),F.command("sync").description("sync the project profile to every dedicated iMessage line").option("-p, --project <id>","project id (overrides $PHOTON_PROJECT_ID)").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-t, --token <token>","API token (overrides stored creds)").option("--json","output JSON").action(async(u)=>{let{projectId:E,env:B}=await s({flagProjectId:u.project,apiHost:u.apiHost}),{api:C}=await l({apiHost:B.url,token:u.token,requireAuth:!0}),{data:Z,error:J,status:X}=await C.api.projects({id:E}).spectrum.profile.sync.post();if(X===401)throw new d(B.name);if(J)V(`Failed to trigger Spectrum profile sync: ${h(J)}`);if(!Z?.succeed)V("Failed to trigger Spectrum profile sync: empty API response.");if(u.json){a(Z.data);return}let{targetedLineCount:Y}=Z.data;console.log(A.success(`Profile synced. ${Y} ${Y===1?"line":"lines"} updated.`))})}function cW(D){if(D===null||D===void 0||D==="")return A.dim("—");if(typeof D==="boolean")return D?A.green("yes"):A.dim("no");if(typeof D==="object")return JSON.stringify(D);return String(D)}function XJ(D){let F=D.command("users").description("manage Spectrum users on a project");F.command("list",{isDefault:!0}).alias("ls").description("list Spectrum users for the active project").option("-p, --project <id>","project id (overrides $PHOTON_PROJECT_ID)").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-t, --token <token>","API token (overrides stored creds)").option("--json","output JSON").action(async(u)=>{let{projectId:E,env:B}=await s({flagProjectId:u.project,apiHost:u.apiHost}),{api:C}=await l({apiHost:B.url,token:u.token,requireAuth:!0}),{data:Z,error:J,status:X}=await C.api.projects({id:E}).spectrum.users.get();if(X===401)throw new d(B.name);if(J)V(`Failed to list users: ${h(J)}`);let Y=Z?.users??[];if(u.json)return a(Y);if(Y.length===0){console.log(A.dim("No Spectrum users yet.")),console.log(A.hint("Add one with `photon spectrum users add`."));return}let H=Y.map((G)=>[pW(G.id,10),HJ(G),G.email??A.dim("—"),G.phoneNumber??A.dim("—")]);hD(["id","name","email","phone"],H)}),F.command("add").alias("create").description("add a Spectrum user to the active project").option("--first-name <name>","first name").option("--last-name <name>","last name").option("--email <email>","email address").option("--phone <number>","phone number (E.164)").option("--invite","send an onboarding invite to this user").option("-p, --project <id>","project id (overrides $PHOTON_PROJECT_ID)").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-t, --token <token>","API token (overrides stored creds)").option("--json","output JSON").action(async(u)=>{let{projectId:E,env:B}=await s({flagProjectId:u.project,apiHost:u.apiHost}),{api:C}=await l({apiHost:B.url,token:u.token,requireAuth:!0}),Z=await lW(u),{data:J,error:X,status:Y}=await C.api.projects({id:E}).spectrum.users.post({firstName:Z.firstName,lastName:Z.lastName,email:Z.email,phoneNumber:Z.phone,sendInvite:u.invite??!1});if(Y===401)throw new d(B.name);if(X)V(`Failed to add user: ${h(X)}`);let H=J;if(H.error)V(H.error);if(u.json)return a(H.user??{});let G=H.user;if(console.log(A.success(`Added ${HJ(G??Z)} ${G?.id?A.dim(`(${G.id})`):""}`)),u.invite)console.log(A.dim(" Invite sent."))}),F.command("remove <user-id>").alias("rm").alias("delete").description("remove a Spectrum user").option("-p, --project <id>","project id (overrides $PHOTON_PROJECT_ID)").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-t, --token <token>","API token (overrides stored creds)").option("-y, --yes","skip confirmation").action(async(u,E)=>{let{projectId:B,env:C}=await s({flagProjectId:E.project,apiHost:E.apiHost}),{api:Z}=await l({apiHost:C.url,token:E.token,requireAuth:!0});await n0({message:`Remove user ${u} from project ${B}?`,yes:E.yes??!1,fallbackHint:`Pass --yes to remove user ${u}.`});let{error:J,status:X}=await Z.api.projects({id:B}).spectrum.users({userId:u}).delete();if(X===401)throw new d(C.name);if(J)V(`Failed to remove user: ${h(J)}`);console.log(A.success(`Removed user ${u}`))})}async function lW(D){if(!yD()){let F=[];if(!D.firstName)F.push("--first-name");if(!D.lastName)F.push("--last-name");if(!D.email)F.push("--email");if(!D.phone)F.push("--phone");if(F.length>0)V(`Missing required flags in non-interactive mode: ${F.join(", ")}`);return{firstName:D.firstName,lastName:D.lastName,email:D.email,phone:D.phone}}return{firstName:D.firstName??await I3("First name"),lastName:D.lastName??await I3("Last name"),email:D.email??await I3("Email"),phone:D.phone??await I3("Phone (E.164, e.g. +14155551234)")}}async function I3(D){let F=await Q0({message:D,validate:(u)=>u&&u.trim()?void 0:"Required"});if(UD(F))V("Aborted.");return F.trim()}function HJ(D){let F=[D.firstName,D.lastName].filter(Boolean);return F.length>0?F.join(" "):A.dim("(no name)")}function pW(D,F){return D.length>F?`${D.slice(0,F)}…`:D}function GJ(D){let F=D.command("spectrum").description("manage Spectrum users, lines, platforms, and profile");YJ(F),XJ(F),CJ(F),JJ(F),EJ(F)}function KJ(D){D.command("whoami").description("show the user authenticated for the active backend").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-t, --token <token>","API token (overrides stored creds)").action(async(F)=>{let{api:u,env:E,creds:B}=await l({apiHost:F.apiHost,token:F.token,requireAuth:!0}),{data:C,error:Z,status:J}=await u.api.profile.get();if(J===401)throw new d(E.name);if(Z)V(`Failed to fetch profile: ${h(Z)}`);if(!B){if(console.log(A.dim(`authenticated via token on backend ${E.name} (${E.url})`)),C&&typeof C==="object"){let Y=QJ(C);if(Y)console.log(A.dim(`profile: ${Y}`))}return}let X=B.user;if(console.log(A.bold(X.name)+A.dim(` <${X.email}>`)),console.log(A.dim(`backend: ${E.name} (${E.url})`)),console.log(A.dim(`signed in: ${new Date(B.issuedAt).toLocaleString()}`)),C&&typeof C==="object"){let Y=QJ(C);if(Y)console.log(A.dim(`profile: ${Y}`))}})}function QJ(D){if(!D||typeof D!=="object")return null;let F=D;if(F.type==="developer"||F.type==="organization")return F.type;return null}function zJ(){let D=new JC().name("photon").description("Photon CLI — bring your agents to any interface").version(eF.version,"-v, --version","output the current version").option("--debug","verbose output incl. HTTP request/response").hook("preAction",(F)=>{let u=F.opts();$C(!!u.debug)});return aZ(D),zZ(D),iZ(D),nZ(D),KJ(D),sZ(D),DJ(D),GJ(D),QZ(D),zC(D),KZ(D),D}dB();var iW=zJ();iW.parseAsync(process.argv).catch(nW);function nW(D){if(D instanceof IF||D instanceof d){let F=D.envName==="production"?"":` --api-host <url> # for "${D.envName}"`;V(D.message,{hint:`Run \`photon login${F}\`.`})}if(D instanceof a0)V(D.message,{hint:"Re-run `photon login` if this was unintentional."});if(D instanceof L0)V(D.message,{hint:"Re-run `photon login` and approve more quickly."});if(D instanceof Error){if(/Unable to connect|fetch failed|ECONNREFUSED/i.test(D.message))V(D.message,{hint:"Check your connection, or set PHOTON_API_HOST / pass --api-host <url> to target a reachable backend."});V(D.message)}V(String(D))}
72
+ `).map((B)=>F(B)).join(`
73
+ `):F(D),J2=(D)=>{let F=(B,E)=>{let Z=B.label??String(B.value);switch(E){case"disabled":return`${A("gray",F2)} ${D2(Z,(J)=>A("gray",J))}${B.hint?` ${A("dim",`(${B.hint??"disabled"})`)}`:""}`;case"selected":return`${D2(Z,(J)=>A("dim",J))}`;case"active":return`${A("green",gF)} ${Z}${B.hint?` ${A("dim",`(${B.hint})`)}`:""}`;case"cancelled":return`${D2(Z,(J)=>A(["strikethrough","dim"],J))}`;default:return`${A("dim",F2)} ${D2(Z,(J)=>A("dim",J))}`}};return new bF({options:D.options,signal:D.signal,input:D.input,output:D.output,initialValue:D.initialValue,render(){let B=D.withGuide??o.withGuide,E=`${cF(this.state)} `,Z=`${r7(this.state)} `,J=G0(D.output,D.message,Z,E),Y=`${B?`${A("gray",a)}
74
+ `:""}${J}
75
+ `;switch(this.state){case"submit":{let H=B?`${A("gray",a)} `:"",Q=G0(D.output,F(this.options[this.cursor],"selected"),H);return`${Y}${Q}`}case"cancel":{let H=B?`${A("gray",a)} `:"",Q=G0(D.output,F(this.options[this.cursor],"cancelled"),H);return`${Y}${Q}${B?`
76
+ ${A("gray",a)}`:""}`}default:{let H=B?`${A("cyan",a)} `:"",Q=B?A("cyan",z0):"",X=Y.split(`
77
+ `).length,C=B?2:1;return`${Y}${H}${o7({output:D.output,cursor:this.cursor,options:this.options,maxItems:D.maxItems,columnPadding:H.length,rowPadding:X+C,style:(G,u)=>F(G,G.disabled?"disabled":u?"active":"inactive")}).join(`
78
+ ${H}`)}
79
+ ${Q}
80
+ `}}}}).prompt()};var GH=`${A("gray",a)} `;var SD=(D)=>new vF({validate:D.validate,placeholder:D.placeholder,defaultValue:D.defaultValue,initialValue:D.initialValue,output:D.output,signal:D.signal,input:D.input,render(){let F=D?.withGuide??o.withGuide,B=`${`${F?`${A("gray",a)}
81
+ `:""}${cF(this.state)} `}${D.message}
82
+ `,E=D.placeholder?A("inverse",D.placeholder[0])+A("dim",D.placeholder.slice(1)):A(["inverse","hidden"],"_"),Z=this.userInput?this.userInputWithCursor:E,J=this.value??"";switch(this.state){case"error":{let Y=this.error?` ${A("yellow",this.error)}`:"",H=F?`${A("yellow",a)} `:"",Q=F?A("yellow",z0):"";return`${B.trim()}
83
+ ${H}${Z}
84
+ ${Q}${Y}
85
+ `}case"submit":{let Y=J?` ${A("dim",J)}`:"",H=F?A("gray",a):"";return`${B}${H}${Y}`}case"cancel":{let Y=J?` ${A(["strikethrough","dim"],J)}`:"",H=F?A("gray",a):"";return`${B}${H}${Y}${J.trim()?`
86
+ ${H}`:""}`}default:{let Y=F?`${A("cyan",a)} `:"",H=F?A("cyan",z0):"";return`${B}${Y}${Z}
87
+ ${H}
88
+ `}}}}).prompt();import F1 from"node:process";import W6 from"node:path";import{fileURLToPath as SB}from"node:url";import _B from"node:child_process";import kB,{constants as PB}from"node:fs/promises";import{promisify as XB}from"node:util";import QB from"node:child_process";import nF,{constants as J6}from"node:fs/promises";import F6 from"node:process";import EB from"node:os";import aF from"node:fs";import FB from"node:fs";import e8 from"node:fs";var dF;function e7(){try{return e8.statSync("/.dockerenv"),!0}catch{return!1}}function DB(){try{return e8.readFileSync("/proc/self/cgroup","utf8").includes("docker")}catch{return!1}}function lF(){if(dF===void 0)dF=e7()||DB();return dF}var pF,BB=()=>{try{return FB.statSync("/run/.containerenv"),!0}catch{return!1}};function lD(){if(pF===void 0)pF=BB()||lF();return pF}var D6=()=>{if(F6.platform!=="linux")return!1;if(EB.release().toLowerCase().includes("microsoft")){if(lD())return!1;return!0}try{if(aF.readFileSync("/proc/version","utf8").toLowerCase().includes("microsoft"))return!lD()}catch{}if(aF.existsSync("/proc/sys/fs/binfmt_misc/WSLInterop")||aF.existsSync("/run/WSL"))return!lD();return!1},_D=F6.env.__IS_WSL_TEST__?D6:D6();import B6 from"node:process";import{Buffer as ZB}from"node:buffer";import{promisify as JB}from"node:util";import YB from"node:child_process";var HB=JB(YB.execFile),iF=()=>`${B6.env.SYSTEMROOT||B6.env.windir||String.raw`C:\Windows`}\\System32\\WindowsPowerShell\\v1.0\\powershell.exe`;var CD=async(D,F={})=>{let{powerShellPath:B,...E}=F,Z=CD.encodeCommand(D);return HB(B??iF(),[...CD.argumentsPrefix,Z],{encoding:"utf8",...E})};CD.argumentsPrefix=["-NoProfile","-NonInteractive","-ExecutionPolicy","Bypass","-EncodedCommand"];CD.encodeCommand=(D)=>ZB.from(D,"utf16le").toString("base64");CD.escapeArgument=(D)=>`'${String(D).replaceAll("'","''")}'`;function E6(D){for(let F of D.split(`
89
+ `)){if(/^\s*#/.test(F))continue;let B=/^\s*root\s*=\s*(?<mountPoint>"[^"]*"|'[^']*'|[^#]*)/.exec(F);if(!B)continue;return B.groups.mountPoint.trim().replaceAll(/^["']|["']$/g,"")}}var CB=XB(QB.execFile),GB=(()=>{let F;return async function(){if(F)return F;let B="/etc/wsl.conf",E=!1;try{await nF.access(B,J6.F_OK),E=!0}catch{}if(!E)return"/mnt/";let Z=await nF.readFile(B,{encoding:"utf8"}),J=E6(Z);if(J===void 0)return"/mnt/";return F=J,F=F.endsWith("/")?F:`${F}/`,F}})(),KB=async()=>{return`${await GB()}c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe`},Y2=_D?KB:iF,Z6,Y6=async()=>{return Z6??=(async()=>{try{let D=await Y2();return await nF.access(D,J6.X_OK),!0}catch{return!1}})(),Z6},H6=async()=>{let D=await Y2(),F=String.raw`(Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice").ProgId`,{stdout:B}=await CD(F,{powerShellPath:D});return B.trim()},X6=async(D)=>{if(/^[a-z]+:\/\//i.test(D))return D;try{let{stdout:F}=await CB("wslpath",["-aw",D],{encoding:"utf8"});return F.trim()}catch{return D}};function pD(D,F,B){let E=(Z)=>Object.defineProperty(D,F,{value:Z,enumerable:!0,writable:!0});return Object.defineProperty(D,F,{configurable:!0,enumerable:!0,get(){let Z=B();return E(Z),Z},set(Z){E(Z)}}),D}import{promisify as TB}from"node:util";import tF from"node:process";import{execFile as IB}from"node:child_process";import{promisify as zB}from"node:util";import qB from"node:process";import{execFile as uB}from"node:child_process";var WB=zB(uB);async function rF(){if(qB.platform!=="darwin")throw Error("macOS only");let{stdout:D}=await WB("defaults",["read","com.apple.LaunchServices/com.apple.launchservices.secure","LSHandlers"]),B=/LSHandlerRoleAll = "(?!-)(?<id>[^"]+?)";\s+?LSHandlerURLScheme = (?:http|https);/.exec(D)?.groups.id??"com.apple.Safari";if(B==="com.apple.safari")return"com.apple.Safari";return B}import $B from"node:process";import{promisify as UB}from"node:util";import{execFile as NB,execFileSync as aH}from"node:child_process";var MB=UB(NB);async function Q6(D,{humanReadableOutput:F=!0,signal:B}={}){if($B.platform!=="darwin")throw Error("macOS only");let E=F?[]:["-ss"],Z={};if(B)Z.signal=B;let{stdout:J}=await MB("osascript",["-e",D,E],Z);return J.trim()}async function sF(D){return Q6(`tell application "Finder" to set app_path to application file id "${D}" as string
90
+ tell application "System Events" to get value of property list item "CFBundleName" of property list file (app_path & ":Contents:Info.plist")`)}import{promisify as VB}from"node:util";import{execFile as AB}from"node:child_process";var jB=VB(AB),H2={MSEdgeHTM:{name:"Edge",id:"com.microsoft.edge"},MSEdgeBHTML:{name:"Edge Beta",id:"com.microsoft.edge.beta"},MSEdgeDHTML:{name:"Edge Dev",id:"com.microsoft.edge.dev"},AppXq0fevzme2pys62n3e0fbqa7peapykr8v:{name:"Edge",id:"com.microsoft.edge.old"},ChromeHTML:{name:"Chrome",id:"com.google.chrome"},ChromeBHTML:{name:"Chrome Beta",id:"com.google.chrome.beta"},ChromeDHTML:{name:"Chrome Dev",id:"com.google.chrome.dev"},ChromiumHTM:{name:"Chromium",id:"org.chromium.Chromium"},BraveHTML:{name:"Brave",id:"com.brave.Browser"},BraveBHTML:{name:"Brave Beta",id:"com.brave.Browser.beta"},BraveDHTML:{name:"Brave Dev",id:"com.brave.Browser.dev"},BraveSSHTM:{name:"Brave Nightly",id:"com.brave.Browser.nightly"},FirefoxURL:{name:"Firefox",id:"org.mozilla.firefox"},OperaStable:{name:"Opera",id:"com.operasoftware.Opera"},VivaldiHTM:{name:"Vivaldi",id:"com.vivaldi.Vivaldi"},"IE.HTTP":{name:"Internet Explorer",id:"com.microsoft.ie"}},X2=new Map(Object.entries(H2));class C6 extends Error{}async function oF(D=jB){let{stdout:F}=await D("reg",["QUERY"," HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\Shell\\Associations\\UrlAssociations\\http\\UserChoice","/v","ProgId"]),B=/ProgId\s*REG_SZ\s*(?<id>\S+)/.exec(F);if(!B)throw new C6(`Cannot find Windows browser in stdout: ${JSON.stringify(F)}`);let{id:E}=B.groups,Z=E.lastIndexOf("."),J=E.lastIndexOf("-"),Y=Z===-1?void 0:E.slice(0,Z),H=J===-1?void 0:E.slice(0,J);return H2[E]??H2[Y]??H2[H]??{name:E,id:E}}var RB=TB(IB),LB=(D)=>D.toLowerCase().replaceAll(/(?:^|\s|-)\S/g,(F)=>F.toUpperCase());async function eF(){if(tF.platform==="darwin"){let D=await rF();return{name:await sF(D),id:D}}if(tF.platform==="linux"){let{stdout:D}=await RB("xdg-mime",["query","default","x-scheme-handler/http"]),F=D.trim();return{name:LB(F.replace(/.desktop$/,"").replace("-"," ")),id:F}}if(tF.platform==="win32")return oF();throw Error("Only macOS, Linux, and Windows are supported")}import D1 from"node:process";var fB=Boolean(D1.env.SSH_CONNECTION||D1.env.SSH_CLIENT||D1.env.SSH_TTY),G6=fB;var Q2=Symbol("fallbackAttempt"),B1=import.meta.url?W6.dirname(SB(import.meta.url)):"",K6=W6.join(B1,"xdg-open"),{platform:F0,arch:z6}=F1,q6=async(D,F)=>{if(D.length===0)return;let B=[];for(let E of D)try{return await F(E)}catch(Z){B.push(Z)}throw AggregateError(B,"Failed to open in all supported apps")},C2=async(D)=>{D={wait:!1,background:!1,newInstance:!1,allowNonzeroExitCode:!1,...D};let F=D[Q2]===!0;if(delete D[Q2],Array.isArray(D.app))return q6(D.app,(X)=>C2({...D,app:X,[Q2]:!0}));let{name:B,arguments:E=[]}=D.app??{};if(E=[...E],Array.isArray(B))return q6(B,(X)=>C2({...D,app:{name:X,arguments:E},[Q2]:!0}));if(B==="browser"||B==="browserPrivate"){let X={"com.google.chrome":"chrome","google-chrome.desktop":"chrome","com.brave.browser":"brave","org.mozilla.firefox":"firefox","firefox.desktop":"firefox","com.microsoft.msedge":"edge","com.microsoft.edge":"edge","com.microsoft.edgemac":"edge","microsoft-edge.desktop":"edge","com.apple.safari":"safari"},C={chrome:"--incognito",brave:"--incognito",firefox:"--private-window",edge:"--inPrivate"},G;if(_D){let u=await H6();G=X2.get(u)??{}}else G=await eF();if(G.id in X){let u=X[G.id.toLowerCase()];if(B==="browserPrivate"){if(u==="safari")throw Error("Safari doesn't support opening in private mode via command line");E.push(C[u])}return C2({...D,app:{name:B0[u],arguments:E}})}throw Error(`${G.name} is not supported as a default browser`)}let Z,J=[],Y={},H=!1;if(_D&&!lD()&&!G6&&!B)H=await Y6();if(F0==="darwin"){if(Z="open",D.wait)J.push("--wait-apps");if(D.background)J.push("--background");if(D.newInstance)J.push("--new");if(B)J.push("-a",B)}else if(F0==="win32"||H){if(Z=await Y2(),J.push(...CD.argumentsPrefix),!_D)Y.windowsVerbatimArguments=!0;if(_D&&D.target)D.target=await X6(D.target);let X=["$ProgressPreference = 'SilentlyContinue';","Start"];if(D.wait)X.push("-Wait");if(B){if(X.push(CD.escapeArgument(B)),D.target)E.push(D.target)}else if(D.target)X.push(CD.escapeArgument(D.target));if(E.length>0)E=E.map((C)=>CD.escapeArgument(C)),X.push("-ArgumentList",E.join(","));if(D.target=CD.encodeCommand(X.join(" ")),!D.wait)Y.stdio="ignore"}else{if(B)Z=B;else{let X=!B1||B1==="/",C=!1;try{await kB.access(K6,PB.X_OK),C=!0}catch{}Z=F1.versions.electron??(F0==="android"||X||!C)?"xdg-open":K6}if(E.length>0)J.push(...E);if(!D.wait)Y.stdio="ignore",Y.detached=!0}if(F0==="darwin"&&E.length>0)J.push("--args",...E);if(D.target)J.push(D.target);let Q=_B.spawn(Z,J,Y);if(D.wait)return new Promise((X,C)=>{Q.once("error",C),Q.once("close",(G)=>{if(!D.allowNonzeroExitCode&&G!==0){C(Error(`Exited with code ${G}`));return}X(Q)})});if(F)return new Promise((X,C)=>{Q.once("error",C),Q.once("spawn",()=>{Q.once("close",(G)=>{if(Q.off("error",C),G!==0){C(Error(`Exited with code ${G}`));return}Q.unref(),X(Q)})})});return Q.unref(),new Promise((X,C)=>{Q.once("error",C),Q.once("spawn",()=>{Q.off("error",C),X(Q)})})},OB=(D,F)=>{if(typeof D!=="string")throw TypeError("Expected a `target`");return C2({...F,target:D})};function u6(D){if(typeof D==="string"||Array.isArray(D))return D;let{[z6]:F}=D;if(!F)throw Error(`${z6} is not supported`);return F}function q0({[F0]:D},{wsl:F}={}){if(F&&_D)return u6(F);if(!D)throw Error(`${F0} is not supported`);return u6(D)}var B0={browser:"browser",browserPrivate:"browserPrivate"};pD(B0,"chrome",()=>q0({darwin:"google chrome",win32:"chrome",linux:["google-chrome","google-chrome-stable","chromium","chromium-browser"]},{wsl:{ia32:"/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe",x64:["/mnt/c/Program Files/Google/Chrome/Application/chrome.exe","/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe"]}}));pD(B0,"brave",()=>q0({darwin:"brave browser",win32:"brave",linux:["brave-browser","brave"]},{wsl:{ia32:"/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe",x64:["/mnt/c/Program Files/BraveSoftware/Brave-Browser/Application/brave.exe","/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe"]}}));pD(B0,"firefox",()=>q0({darwin:"firefox",win32:String.raw`C:\Program Files\Mozilla Firefox\firefox.exe`,linux:"firefox"},{wsl:"/mnt/c/Program Files/Mozilla Firefox/firefox.exe"}));pD(B0,"edge",()=>q0({darwin:"microsoft edge",win32:"msedge",linux:["microsoft-edge","microsoft-edge-dev"]},{wsl:"/mnt/c/Program Files (x86)/Microsoft/Edge/Application/msedge.exe"}));pD(B0,"safari",()=>q0({darwin:"Safari"}));var G2=OB;async function u0(D,F={}){let B=F.label??"Open";if(console.log(`${K.dim(B+":")} ${K.underline(K.cyan(D))}`),F.noBrowser)return"skipped";try{return await G2(D),"opened"}catch{return"failed"}}var K2="The API response format may have changed — try updating the CLI.";function z2(D,F){if(D==null)return[];if(Array.isArray(D))return D;W(`Unexpected API response: expected an array of ${F}.`,{hint:K2})}function $6(D,F){if(D==null)return{};if(!Array.isArray(D)&&typeof D==="object"&&Object.values(D).every((B)=>typeof B==="boolean"))return D;W(`Unexpected API response: expected a ${F} object.`,{hint:K2})}function q2(D,F,B=F){if(D==null)return[];if(Array.isArray(D)||typeof D!=="object")W(`Unexpected API response: expected an array of ${B}.`,{hint:K2});let E=D[F];if(!Array.isArray(E))W(`Unexpected API response: expected an array of ${B}.`,{hint:K2});return E}function yB(D){return z2(D,"plans")}var xD=["pro","business","enterprise"];async function aD(D,F){let{data:B,error:E,status:Z}=await D.api.billing.plans.get();if(Z===401)throw new k(F);if(E)W(`Failed to list plans: ${_(E)}`);return yB(B)}async function U6(D,F,B){let{data:E,error:Z,status:J}=await D.api.projects({id:F}).subscription.get();if(J===401)throw new k(B);if(Z){let Y=typeof J==="number"?J:0;if(!(Y===0||Y>=500))W(`Failed to fetch subscription: ${_(Z)}`);return console.error(K.warn(`Could not read subscription for project ${F}: ${_(Z)}. Subscription state unknown.`)),{tier:"unknown",status:null}}return E??{}}function u2(D,F){let B=F.toLowerCase();for(let E of D){if(!E.name.toLowerCase().includes(B))continue;if(!E.prices?.length)continue;return E}return null}function W2(D){let F=D.toLowerCase();for(let B of xD)if(F.includes(B))return B;return}async function $2(D){if(!XD())W("Cannot prompt for a plan in non-interactive mode.",{hint:"Pass a tier (pro / business / enterprise) or --plan <price-id>."});let F=D.filter((Z)=>Z.prices&&Z.prices.length>0);if(F.length===0)W("No subscription plans available.",{hint:"Contact support if you expected plans to be listed."});let B=[];for(let Z of F)for(let J of Z.prices??[])B.push({value:{plan:Z,price:J},label:`${Z.name} — ${wB(J)}`,hint:Z.description});let E=await J2({message:"Pick a plan",options:B});if(t(E))W("Aborted.");return E}function W0({explicitNoBrowser:D,json:F}){if(F||D)return!0;return!XD()}async function U2(D){let{data:F,error:B,status:E}=await D.api.api.billing.checkout.post({projectId:D.projectId,priceId:D.priceId,quantity:D.quantity});if(E===401)throw new k(D.envName);if(B)W(`Failed to start checkout: ${_(B)}`);let Z=F;if(Z.error)W(Z.error);if(!Z.url)W("Server did not return a checkout URL.");let J={action:"checkout",url:Z.url,...D.tierLabel?{tier:D.tierLabel}:{}};if(D.json)return b(J),J;if(await u0(J.url,{noBrowser:D.noBrowser,label:"Stripe checkout"})==="failed")console.log(K.warn("Could not open browser automatically — copy the URL above."));return J}async function N2(D){let{data:F,error:B,status:E}=await D.api.api.projects({id:D.projectId}).subscription.manage.post();if(E===401)throw new k(D.envName);if(B)W(`Failed to open portal: ${_(B)}`);let Z=F;if(Z.error)W(Z.error);if(!Z.url)W("Server did not return a portal URL.");let J={action:"manage",url:Z.url};if(D.json)return b(J),J;if(await u0(J.url,{noBrowser:D.noBrowser,label:"Stripe portal"})==="failed")console.log(K.warn("Could not open browser automatically — copy the URL above."));return J}function wB(D){if(D.unit_amount==null)return"—";let F=D.currency.toUpperCase(),B=2;try{B=new Intl.NumberFormat("en-US",{style:"currency",currency:F}).resolvedOptions().maximumFractionDigits??2}catch{}let E=10**B,Z=(D.unit_amount/E).toFixed(B),J=D.recurring?.interval;return J?`${Z} ${F} / ${J}`:`${Z} ${F}`}var N6=ID(qF(),1),{program:OX,createCommand:yX,createArgument:wX,createOption:xX,CommanderError:bX,InvalidArgumentError:E1,InvalidOptionArgumentError:vX,Command:hX,Argument:gX,Option:mX,Help:cX}=N6.default;function M2(D){if(!/^\d+$/.test(D))throw new E1(`must be a positive integer (got "${D}")`);let F=Number.parseInt(D,10);if(!Number.isSafeInteger(F)||F<1)throw new E1(`must be a positive integer (got "${D}")`);return F}function M6(D){let F=D.command("billing").description("view + manage your project's subscription");xB(F),bB(F),vB(F),gB(F)}function xB(D){D.command("plans").description("list available subscription plans").option("-p, --project <id>","project id (accepted for parity with other billing commands; not used)").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-t, --token <token>","API token (overrides stored creds)").option("--json","output JSON").action(async(F)=>{let{api:B,env:E}=await y({apiHost:F.apiHost,token:F.token,requireAuth:!0}),Z=await aD(B,E.name);if(F.json)return b(Z);if(Z.length===0){console.log(K.dim("No plans available."));return}let J=Z.flatMap((Y)=>(Y.prices??[{id:"—",unit_amount:null,currency:"—",recurring:null}]).map((H)=>[Y.name,H.id,mB(H),H.recurring?.interval??K.dim("—")]));KD(["plan","price id","price","interval"],J)})}function bB(D){D.command("show").description("show the project's current subscription (defaults to $PHOTON_PROJECT_ID)").option("-p, --project <id>","project id (overrides $PHOTON_PROJECT_ID)").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-t, --token <token>","API token (overrides stored creds)").option("--json","output JSON").action(async(F)=>{let{projectId:B,env:E}=await m({flagProjectId:F.project,apiHost:F.apiHost}),{api:Z}=await y({apiHost:E.url,token:F.token,requireAuth:!0}),{data:J,error:Y,status:H}=await Z.api.projects({id:B}).subscription.get();if(H===401)throw new k(E.name);if(Y)W(`Failed to fetch subscription: ${_(Y)}`);if(F.json)return b(J??{});let Q=J??{};if(console.log(K.bold("Subscription")),console.log(` ${K.dim("tier".padEnd(8))} ${cB(Q.tier)}`),console.log(` ${K.dim("status".padEnd(8))} ${dB(Q.status??null)}`),Q.subscriptionId)console.log(` ${K.dim("id".padEnd(8))} ${Q.subscriptionId}`);if(Q.tier==="unknown")console.log(),console.log(K.warn('Server returned tier "unknown". This is a known issue (architecture-review S3) — the subscription may still be active.'))})}function vB(D){D.command("checkout [tier]").description("start a subscription checkout (interactive picker when no tier / --plan)").option("--plan <price-id>","Stripe price id (escape hatch; overrides tier picker)").option("--qty <n>","quantity",M2).option("-p, --project <id>","project id (overrides $PHOTON_PROJECT_ID)").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-t, --token <token>","API token (overrides stored creds)").option("--no-browser","print the URL instead of launching a browser").option("--json","output JSON ({action,url,tier?}) and skip browser open").action(async(F,B)=>{let E=hB(F);if(F&&!E)W(`Unknown tier "${F}".`,{hint:`Use one of: ${xD.join(", ")} — or pass --plan <price-id>.`});let{projectId:Z,env:J}=await m({flagProjectId:B.project,apiHost:B.apiHost}),{api:Y}=await y({apiHost:J.url,token:B.token,requireAuth:!0}),H=W0({explicitNoBrowser:B.browser===!1,json:B.json??!1}),Q,X;if(B.plan)Q=B.plan;else if(E){let C=await aD(Y,J.name),G=u2(C,E),u=G?.prices?.length===1?G.prices[0]:void 0;if(!G||!G.prices?.length)W(`No plan matching tier "${E}".`,{hint:"List options with `photon billing plans`."});if(!u)W(`Tier "${E}" has multiple billing intervals.`,{hint:"Pass --plan <price-id> to choose, or omit the tier to use the interactive picker."});Q=u.id,X=E}else{let C=await aD(Y,J.name),G=await $2(C);Q=G.price.id,X=W2(G.plan.name)}await U2({api:Y,projectId:Z,priceId:Q,quantity:B.qty,envName:J.name,json:B.json??!1,noBrowser:H,tierLabel:X})})}function hB(D){if(!D)return;let F=D.trim().toLowerCase();return xD.includes(F)?F:void 0}function gB(D){D.command("manage").alias("portal").description("open the Stripe customer portal for this project").option("-p, --project <id>","project id (overrides $PHOTON_PROJECT_ID)").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-t, --token <token>","API token (overrides stored creds)").option("--no-browser","print the URL instead of launching a browser").option("--json","output JSON ({action,url}) and skip browser open").action(async(F)=>{let{projectId:B,env:E}=await m({flagProjectId:F.project,apiHost:F.apiHost}),{api:Z}=await y({apiHost:E.url,token:F.token,requireAuth:!0}),J=W0({explicitNoBrowser:F.browser===!1,json:F.json??!1});await N2({api:Z,projectId:B,envName:E.name,json:F.json??!1,noBrowser:J})})}function mB(D){if(D.unit_amount==null)return K.dim("—");let F=D.currency.toUpperCase(),B=2;try{B=new Intl.NumberFormat("en-US",{style:"currency",currency:F}).resolvedOptions().maximumFractionDigits??2}catch{}let E=10**B;return`${(D.unit_amount/E).toFixed(B)} ${F}`}function cB(D){if(!D)return K.dim("—");if(D==="free")return K.dim(D);if(D==="unknown")return K.yellow(D);return K.green(D)}function dB(D){if(!D)return K.dim("—");switch(D){case"active":return K.green(D);case"past_due":case"unpaid":return K.red(D);case"trialing":return K.cyan(D);case"canceled":return K.dim(D);default:return D}}function V6(D){D.command("config").description("inspect Photon CLI configuration").command("show",{isDefault:!0}).description("dump the active configuration (no secrets printed)").option("--json","output JSON").action(async(B)=>{let E=await JD(),Z=await d0(),J=process.env.PHOTON_PROJECT_ID?.trim()||null,Y={configDir:m0(),currentEnv:{name:E.name,url:E.url},activeProject:J,authedEnvs:Z};if(B.json)return b(Y);console.log(K.bold("Photon CLI configuration")),console.log();let H=18;Q("config dir",Y.configDir),Q("active backend",`${K.bold(Y.currentEnv.name)} ${K.dim(`(${Y.currentEnv.url})`)}`),Q("active project",J?`${K.bold(J)} ${K.dim("(via $PHOTON_PROJECT_ID)")}`:K.dim("(none — pass --project <id> or set $PHOTON_PROJECT_ID)")),Q("logged-in keys",Z.length>0?Z.join(", "):K.dim("none"));function Q(X,C){console.log(` ${K.dim(X.padEnd(H))} ${C}`)}})}function A6(D){D.command("env").description("show the active backend (set via PHOTON_API_HOST or --api-host)").command("current",{isDefault:!0}).description("print the resolved API host").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").action(async(B)=>{let E=await JD(B.apiHost);console.log(`${K.bold(E.name)} ${K.dim(`(${E.url})`)}`)})}var V2=Symbol.for("better-auth:broadcast-channel"),lB=()=>Math.floor(Date.now()/1000),pB=class{listeners=new Set;name;constructor(D="better-auth.message"){this.name=D}subscribe(D){return this.listeners.add(D),()=>{this.listeners.delete(D)}}post(D){if(typeof window>"u")return;try{localStorage.setItem(this.name,JSON.stringify({...D,timestamp:lB()}))}catch{}}setup(){if(typeof window>"u"||typeof window.addEventListener>"u")return()=>{};let D=(F)=>{if(F.key!==this.name)return;let B=JSON.parse(F.newValue??"{}");if(B?.event!=="session"||!B?.data)return;this.listeners.forEach((E)=>E(B))};return window.addEventListener("storage",D),()=>{window.removeEventListener("storage",D)}}};function $0(D="better-auth.message"){if(!globalThis[V2])globalThis[V2]=new pB(D);return globalThis[V2]}var A2=Symbol.for("better-auth:focus-manager"),aB=class{listeners=new Set;subscribe(D){return this.listeners.add(D),()=>{this.listeners.delete(D)}}setFocused(D){this.listeners.forEach((F)=>F(D))}setup(){if(typeof window>"u"||typeof document>"u"||typeof window.addEventListener>"u")return()=>{};let D=()=>{if(document.visibilityState==="visible")this.setFocused(!0)};return document.addEventListener("visibilitychange",D,!1),()=>{document.removeEventListener("visibilitychange",D,!1)}}};function Z1(){if(!globalThis[A2])globalThis[A2]=new aB;return globalThis[A2]}var j2=Symbol.for("better-auth:online-manager"),iB=class{listeners=new Set;isOnline=typeof navigator<"u"?navigator.onLine:!0;subscribe(D){return this.listeners.add(D),()=>{this.listeners.delete(D)}}setOnline(D){this.isOnline=D,this.listeners.forEach((F)=>F(D))}setup(){if(typeof window>"u"||typeof window.addEventListener>"u")return()=>{};let D=()=>this.setOnline(!0),F=()=>this.setOnline(!1);return window.addEventListener("online",D,!1),window.addEventListener("offline",F,!1),()=>{window.removeEventListener("online",D,!1),window.removeEventListener("offline",F,!1)}}};function T2(){if(!globalThis[j2])globalThis[j2]=new iB;return globalThis[j2]}var U0=Symbol("clean");var $D=[],bD=0,I2=4,nB=globalThis.nanostoresGlobal||={epoch:0},N0=(D)=>{let F=[],B={get(){if(!B.lc)B.listen(()=>{})();return B.value},init:D,lc:0,listen(E){return B.lc=F.push(E),()=>{for(let J=bD+I2;J<$D.length;)if($D[J]===E)$D.splice(J,I2);else J+=I2;let Z=F.indexOf(E);if(~Z){if(F.splice(Z,1),!--B.lc)B.off()}}},notify(E,Z){nB.epoch++;let J=!$D.length;for(let Y of F)$D.push(Y,B.value,E,Z);if(J){for(bD=0;bD<$D.length;bD+=I2)$D[bD]($D[bD+1],$D[bD+2],$D[bD+3]);$D.length=0}},off(){},set(E){let Z=B.value;if(Z!==E)B.value=E,B.notify(Z)},subscribe(E){let Z=B.listen(E);return E(B.value),Z},value:D};return B[U0]=()=>{F=[],B.lc=0,B.off()},B};var rB=5,E0=6,R2=10,sB=(D,F,B,E)=>{if(D.events=D.events||{},!D.events[B+R2])D.events[B+R2]=E((Z)=>{D.events[B].reduceRight((J,Y)=>(Y(J),J),{shared:{},...Z})});return D.events[B]=D.events[B]||[],D.events[B].push(F),()=>{let Z=D.events[B],J=Z.indexOf(F);if(Z.splice(J,1),!Z.length)delete D.events[B],D.events[B+R2](),delete D.events[B+R2]}};var j6=1000,M0=(D,F)=>{return sB(D,(E)=>{let Z=F(E);if(Z)D.events[E0].push(Z)},rB,(E)=>{let Z=D.listen;D.listen=(...Y)=>{if(!D.lc&&!D.active)D.active=!0,E();return Z(...Y)};let J=D.off;D.events[E0]=[],D.off=()=>{J(),setTimeout(()=>{if(D.active&&!D.lc){D.active=!1;for(let Y of D.events[E0])Y();D.events[E0]=[]}},j6)};{let Y=D[U0];D[U0]=()=>{for(let H of D.events[E0])H();D.events[E0]=[],D.active=!1,Y()}}return()=>{D.listen=Z,D.off=J}})};var oB=()=>typeof window>"u",L2=(D,F,B,E)=>{let Z=N0({data:null,error:null,isPending:!0,isRefetching:!1,refetch:(H)=>J(H)}),J=async(H)=>{return new Promise((Q)=>{let X=typeof E==="function"?E({data:Z.get().data,error:Z.get().error,isPending:Z.get().isPending}):E;B(F,{...X,query:{...X?.query,...H?.query},async onSuccess(C){Z.set({data:C.data,error:null,isPending:!1,isRefetching:!1,refetch:Z.value.refetch}),await X?.onSuccess?.(C)},async onError(C){let{request:G}=C,u=typeof G.retry==="number"?G.retry:G.retry?.attempts,q=G.retryAttempt||0;if(u&&q<u)return;Z.set({error:C.error,data:null,isPending:!1,isRefetching:!1,refetch:Z.value.refetch}),await X?.onError?.(C)},async onRequest(C){let G=Z.get();Z.set({isPending:G.data===null,data:G.data,error:null,isRefetching:!0,refetch:Z.value.refetch}),await X?.onRequest?.(C)}}).catch((C)=>{Z.set({error:C,data:null,isPending:!1,isRefetching:!1,refetch:Z.value.refetch})}).finally(()=>{Q(void 0)})})};D=Array.isArray(D)?D:[D];let Y=!1;for(let H of D)H.subscribe(async()=>{if(oB())return;if(Y)await J();else M0(Z,()=>{let Q=setTimeout(async()=>{if(!Y)await J(),Y=!0},0);return()=>{Z.off(),H.off(),clearTimeout(Q)}})});return Z};var Z0=()=>Math.floor(Date.now()/1000),tB=5;function J1(D){let{sessionAtom:F,sessionSignal:B,$fetch:E,options:Z={}}=D,J=Z.sessionOptions?.refetchInterval??0,Y=Z.sessionOptions?.refetchOnWindowFocus??!0,H=Z.sessionOptions?.refetchWhenOffline??!1,Q={lastSync:0,lastSessionRequest:0,cachedSession:void 0},X=()=>{return H||T2().isOnline},C=(V)=>{if(!X())return;if(V?.event==="storage"){Q.lastSync=Z0(),B.set(!B.get());return}let N=F.get();if(V?.event==="poll"){Q.lastSessionRequest=Z0(),E("/get-session").then((U)=>{if(U.error)F.set({...N,data:null,error:U.error});else F.set({...N,data:U.data,error:null});Q.lastSync=Z0(),B.set(!B.get())}).catch(()=>{});return}if(V?.event==="visibilitychange"){if(Z0()-Q.lastSessionRequest<tB)return;Q.lastSessionRequest=Z0()}if(N?.data===null||N?.data===void 0||V?.event==="visibilitychange")Q.lastSync=Z0(),B.set(!B.get())},G=(V)=>{$0().post({event:"session",data:{trigger:V},clientId:Math.random().toString(36).substring(7)})},u=()=>{if(J&&J>0)Q.pollInterval=setInterval(()=>{if(F.get()?.data)C({event:"poll"})},J*1000)},q=()=>{Q.unsubscribeBroadcast=$0().subscribe(()=>{C({event:"storage"})})},z=()=>{if(!Y)return;Q.unsubscribeFocus=Z1().subscribe(()=>{C({event:"visibilitychange"})})},$=()=>{Q.unsubscribeOnline=T2().subscribe((V)=>{if(V)C({event:"visibilitychange"})})};return{init:()=>{u(),q(),z(),$(),$0().setup(),Z1().setup(),T2().setup()},cleanup:()=>{if(Q.pollInterval)clearInterval(Q.pollInterval),Q.pollInterval=void 0;if(Q.unsubscribeBroadcast)Q.unsubscribeBroadcast(),Q.unsubscribeBroadcast=void 0;if(Q.unsubscribeFocus)Q.unsubscribeFocus(),Q.unsubscribeFocus=void 0;if(Q.unsubscribeOnline)Q.unsubscribeOnline(),Q.unsubscribeOnline=void 0;Q.lastSync=0,Q.lastSessionRequest=0,Q.cachedSession=void 0},triggerRefetch:C,broadcastSessionUpdate:G}}var f2=Object.create(null),V0=(D)=>globalThis.process?.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(D?f2:globalThis),ZD=new Proxy(f2,{get(D,F){return V0()[F]??f2[F]},has(D,F){return F in V0()||F in f2},set(D,F,B){let E=V0(!0);return E[F]=B,!0},deleteProperty(D,F){if(!F)return!1;let B=V0(!0);return delete B[F],!0},ownKeys(){let D=V0(!0);return Object.keys(D)}});var eB=typeof process<"u"&&process.env&&"development"||"";function l(D,F){if(typeof process<"u"&&process.env)return process.env[D]??F;if(typeof Deno<"u")return Deno.env.get(D)??F;if(typeof Bun<"u")return Bun.env[D]??F;return F}var DE=Object.freeze({get BETTER_AUTH_SECRET(){return l("BETTER_AUTH_SECRET")},get AUTH_SECRET(){return l("AUTH_SECRET")},get BETTER_AUTH_TELEMETRY(){return l("BETTER_AUTH_TELEMETRY")},get BETTER_AUTH_TELEMETRY_ID(){return l("BETTER_AUTH_TELEMETRY_ID")},get NODE_ENV(){return l("NODE_ENV","development")},get PACKAGE_VERSION(){return l("PACKAGE_VERSION","0.0.0")},get BETTER_AUTH_TELEMETRY_ENDPOINT(){return l("BETTER_AUTH_TELEMETRY_ENDPOINT","")}});var A0=1,r=4,jD=8,GD=24,T6={eterm:r,cons25:r,console:r,cygwin:r,dtterm:r,gnome:r,hurd:r,jfbterm:r,konsole:r,kterm:r,mlterm:r,mosh:GD,putty:r,st:r,"rxvt-unicode-24bit":GD,terminator:GD,"xterm-kitty":GD},FE=new Map(Object.entries({APPVEYOR:jD,BUILDKITE:jD,CIRCLECI:GD,DRONE:jD,GITEA_ACTIONS:GD,GITHUB_ACTIONS:GD,GITLAB_CI:jD,TRAVIS:jD})),BE=[/ansi/,/color/,/linux/,/direct/,/^con[0-9]*x[0-9]/,/^rxvt/,/^screen/,/^xterm/,/^vt100/,/^vt220/];function Y1(){if(l("FORCE_COLOR")!==void 0)switch(l("FORCE_COLOR")){case"":case"1":case"true":return r;case"2":return jD;case"3":return GD;default:return A0}if(l("NODE_DISABLE_COLORS")!==void 0&&l("NODE_DISABLE_COLORS")!==""||l("NO_COLOR")!==void 0&&l("NO_COLOR")!==""||l("TERM")==="dumb")return A0;if(l("TMUX"))return GD;if("TF_BUILD"in ZD&&"AGENT_NAME"in ZD)return r;if("CI"in ZD){for(let{0:D,1:F}of FE)if(D in ZD)return F;if(l("CI_NAME")==="codeship")return jD;return A0}if("TEAMCITY_VERSION"in ZD)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.exec(l("TEAMCITY_VERSION"))!==null?r:A0;switch(l("TERM_PROGRAM")){case"iTerm.app":if(!l("TERM_PROGRAM_VERSION")||/^[0-2]\./.exec(l("TERM_PROGRAM_VERSION"))!==null)return jD;return GD;case"HyperTerm":case"MacTerm":return GD;case"Apple_Terminal":return jD}if(l("COLORTERM")==="truecolor"||l("COLORTERM")==="24bit")return GD;if(l("TERM")){if(/truecolor/.exec(l("TERM"))!==null)return GD;if(/^xterm-256/.exec(l("TERM"))!==null)return jD;let D=l("TERM").toLowerCase();if(T6[D])return T6[D];if(BE.some((F)=>F.exec(D)!==null))return r}if(l("COLORTERM"))return r;return A0}var UD={reset:"\x1B[0m",bright:"\x1B[1m",dim:"\x1B[2m",undim:"\x1B[22m",underscore:"\x1B[4m",blink:"\x1B[5m",reverse:"\x1B[7m",hidden:"\x1B[8m",fg:{black:"\x1B[30m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m"},bg:{black:"\x1B[40m",red:"\x1B[41m",green:"\x1B[42m",yellow:"\x1B[43m",blue:"\x1B[44m",magenta:"\x1B[45m",cyan:"\x1B[46m",white:"\x1B[47m"}},S2=["debug","info","success","warn","error"];function I6(D,F){return S2.indexOf(F)>=S2.indexOf(D)}var EE={info:UD.fg.blue,success:UD.fg.green,warn:UD.fg.yellow,error:UD.fg.red,debug:UD.fg.magenta},ZE=(D,F,B)=>{let E=new Date().toISOString();if(B)return`${UD.dim}${E}${UD.reset} ${EE[D]}${D.toUpperCase()}${UD.reset} ${UD.bright}[Better Auth]:${UD.reset} ${F}`;return`${E} ${D.toUpperCase()} [Better Auth]: ${F}`},R6=(D)=>{let F=D?.disabled!==!0,B=D?.level??"warn",E=D?.disableColors!==void 0?!D.disableColors:Y1()!==1,Z=(J,Y,H=[])=>{if(!F||!I6(B,J))return;let Q=ZE(J,Y,E);if(!D||typeof D.log!=="function"){if(J==="error")console.error(Q,...H);else if(J==="warn")console.warn(Q,...H);else console.log(Q,...H);return}D.log(J==="success"?"info":J,Y,...H)};return{...Object.fromEntries(S2.map((J)=>[J,(...[Y,...H])=>Z(J,Y,H)])),get level(){return B}}},L6=R6();function H1(D){return D}function X1(D){return D.charAt(0).toUpperCase()+D.slice(1)}var JE=H1({USER_NOT_FOUND:"User not found",FAILED_TO_CREATE_USER:"Failed to create user",FAILED_TO_CREATE_SESSION:"Failed to create session",FAILED_TO_UPDATE_USER:"Failed to update user",FAILED_TO_GET_SESSION:"Failed to get session",INVALID_PASSWORD:"Invalid password",INVALID_EMAIL:"Invalid email",INVALID_EMAIL_OR_PASSWORD:"Invalid email or password",SOCIAL_ACCOUNT_ALREADY_LINKED:"Social account already linked",PROVIDER_NOT_FOUND:"Provider not found",INVALID_TOKEN:"Invalid token",ID_TOKEN_NOT_SUPPORTED:"id_token not supported",FAILED_TO_GET_USER_INFO:"Failed to get user info",USER_EMAIL_NOT_FOUND:"User email not found",EMAIL_NOT_VERIFIED:"Email not verified",PASSWORD_TOO_SHORT:"Password too short",PASSWORD_TOO_LONG:"Password too long",USER_ALREADY_EXISTS:"User already exists.",USER_ALREADY_EXISTS_USE_ANOTHER_EMAIL:"User already exists. Use another email.",EMAIL_CAN_NOT_BE_UPDATED:"Email can not be updated",CREDENTIAL_ACCOUNT_NOT_FOUND:"Credential account not found",SESSION_EXPIRED:"Session expired. Re-authenticate to perform this action.",FAILED_TO_UNLINK_LAST_ACCOUNT:"You can't unlink your last account",ACCOUNT_NOT_FOUND:"Account not found",USER_ALREADY_HAS_PASSWORD:"User already has a password. Provide that to delete the account.",CROSS_SITE_NAVIGATION_LOGIN_BLOCKED:"Cross-site navigation login blocked. This request appears to be a CSRF attack.",VERIFICATION_EMAIL_NOT_ENABLED:"Verification email isn't enabled",EMAIL_ALREADY_VERIFIED:"Email is already verified",EMAIL_MISMATCH:"Email mismatch",SESSION_NOT_FRESH:"Session is not fresh",LINKED_ACCOUNT_ALREADY_EXISTS:"Linked account already exists",INVALID_ORIGIN:"Invalid origin",INVALID_CALLBACK_URL:"Invalid callbackURL",INVALID_REDIRECT_URL:"Invalid redirectURL",INVALID_ERROR_CALLBACK_URL:"Invalid errorCallbackURL",INVALID_NEW_USER_CALLBACK_URL:"Invalid newUserCallbackURL",MISSING_OR_NULL_ORIGIN:"Missing or null Origin",CALLBACK_URL_REQUIRED:"callbackURL is required",FAILED_TO_CREATE_VERIFICATION:"Unable to create verification",FIELD_NOT_ALLOWED:"Field not allowed to be set",ASYNC_VALIDATION_NOT_SUPPORTED:"Async validation is not supported",VALIDATION_ERROR:"Validation Error",MISSING_FIELD:"Field is required"});var vD=class extends Error{constructor(D,F){super(D,F);this.name="BetterAuthError",this.message=D,this.stack=""}};function YE(D){try{return(new URL(D).pathname.replace(/\/+$/,"")||"/")!=="/"}catch{throw new vD(`Invalid base URL: ${D}. Please provide a valid base URL.`)}}function HE(D){try{let F=new URL(D);if(F.protocol!=="http:"&&F.protocol!=="https:")throw new vD(`Invalid base URL: ${D}. URL must include 'http://' or 'https://'`)}catch(F){if(F instanceof vD)throw F;throw new vD(`Invalid base URL: ${D}. Please provide a valid base URL.`,{cause:F})}}function j0(D,F="/api/auth"){if(HE(D),YE(D))return D;let B=D.replace(/\/+$/,"");if(!F||F==="/")return B;return F=F.startsWith("/")?F:`/${F}`,`${B}${F}`}function f6(D,F){if(!D||D.trim()==="")return!1;if(F==="proto")return D==="http"||D==="https";if(F==="host"){if([/\.\./,/\0/,/[\s]/,/^[.]/,/[<>'"]/,/javascript:/i,/file:/i,/data:/i].some((B)=>B.test(D)))return!1;return/^[a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(\.[a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*(:[0-9]{1,5})?$/.test(D)||/^(\d{1,3}\.){3}\d{1,3}(:[0-9]{1,5})?$/.test(D)||/^\[[0-9a-fA-F:]+\](:[0-9]{1,5})?$/.test(D)||/^localhost(:[0-9]{1,5})?$/i.test(D)}return!1}function S6(D,F,B,E,Z){if(D)return j0(D,F);if(E!==!1){let H=ZD.BETTER_AUTH_URL||ZD.NEXT_PUBLIC_BETTER_AUTH_URL||ZD.PUBLIC_BETTER_AUTH_URL||ZD.NUXT_PUBLIC_BETTER_AUTH_URL||ZD.NUXT_PUBLIC_AUTH_URL||(ZD.BASE_URL!=="/"?ZD.BASE_URL:void 0);if(H)return j0(H,F)}let J=B?.headers.get("x-forwarded-host"),Y=B?.headers.get("x-forwarded-proto");if(J&&Y&&Z){if(f6(Y,"proto")&&f6(J,"host"))try{return j0(`${Y}://${J}`,F)}catch(H){}}if(B){let H=XE(B.url);if(!H)throw new vD("Could not get origin from request. Please provide a valid base URL.");return j0(H,F)}if(typeof window<"u"&&window.location)return j0(window.location.origin,F)}function XE(D){try{let F=new URL(D);return F.origin==="null"?null:F.origin}catch{return null}}var _6={id:"redirect",name:"Redirect",hooks:{onSuccess(D){if(D.data?.url&&D.data?.redirect){if(typeof window<"u"&&window.location){if(window.location)try{window.location.href=D.data.url}catch{}}}}}};var QE={proto:/"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/,constructor:/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/,protoShort:/"__proto__"\s*:/,constructorShort:/"constructor"\s*:/},CE=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/,k6={true:!0,false:!1,null:null,undefined:void 0,nan:NaN,infinity:Number.POSITIVE_INFINITY,"-infinity":Number.NEGATIVE_INFINITY},GE=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(?:\.(\d{1,7}))?(?:Z|([+-])(\d{2}):(\d{2}))$/;function KE(D){return D instanceof Date&&!isNaN(D.getTime())}function zE(D){let F=GE.exec(D);if(!F)return null;let[,B,E,Z,J,Y,H,Q,X,C,G]=F,u=new Date(Date.UTC(parseInt(B,10),parseInt(E,10)-1,parseInt(Z,10),parseInt(J,10),parseInt(Y,10),parseInt(H,10),Q?parseInt(Q.padEnd(3,"0"),10):0));if(X){let q=(parseInt(C,10)*60+parseInt(G,10))*(X==="+"?-1:1);u.setUTCMinutes(u.getUTCMinutes()+q)}return KE(u)?u:null}function qE(D,F={}){let{strict:B=!1,warnings:E=!1,reviver:Z,parseDates:J=!0}=F;if(typeof D!=="string")return D;let Y=D.trim();if(Y.length>0&&Y[0]==='"'&&Y.endsWith('"')&&!Y.slice(1,-1).includes('"'))return Y.slice(1,-1);let H=Y.toLowerCase();if(H.length<=9&&H in k6)return k6[H];if(!CE.test(Y)){if(B)throw SyntaxError("[better-json] Invalid JSON");return D}if(Object.entries(QE).some(([Q,X])=>{let C=X.test(Y);if(C&&E)console.warn(`[better-json] Detected potential prototype pollution attempt using ${Q} pattern`);return C})&&B)throw Error("[better-json] Potential prototype pollution attempt detected");try{return JSON.parse(Y,(X,C)=>{if(X==="__proto__"||X==="constructor"&&C&&typeof C==="object"&&"prototype"in C){if(E)console.warn(`[better-json] Dropping "${X}" key to prevent prototype pollution`);return}if(J&&typeof C==="string"){let G=zE(C);if(G)return G}return Z?Z(X,C):C})}catch(Q){if(B)throw Q;return D}}function P6(D,F={strict:!0}){return qE(D,F)}function O6(D,F){let B=N0(!1),E=L2(B,"/get-session",D,{method:"GET"});return M0(E,()=>{let Z=J1({sessionAtom:E,sessionSignal:B,$fetch:D,options:F});return Z.init(),()=>{Z.cleanup()}}),{session:E,$sessionSignal:B}}function Q1(D){if(D===null||typeof D!=="object")return!1;let F=Object.getPrototypeOf(D);if(F!==null&&F!==Object.prototype&&Object.getPrototypeOf(F)!==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 C1(D,F,B=".",E){if(!Q1(F))return C1(D,{},B,E);let Z={...F};for(let J of Object.keys(D)){if(J==="__proto__"||J==="constructor")continue;let Y=D[J];if(Y===null||Y===void 0)continue;if(E&&E(Z,J,Y,B))continue;if(Array.isArray(Y)&&Array.isArray(Z[J]))Z[J]=[...Y,...Z[J]];else if(Q1(Y)&&Q1(Z[J]))Z[J]=C1(Y,Z[J],(B?`${B}.`:"")+J.toString(),E);else Z[J]=Y}return Z}function G1(D){return(...F)=>F.reduce((B,E)=>C1(B,E,"",D),{})}var y6=G1(),CG=G1((D,F,B)=>{if(D[F]!==void 0&&typeof B==="function")return D[F]=B(D[F]),!0}),GG=G1((D,F,B)=>{if(Array.isArray(D[F])&&typeof B==="function")return D[F]=B(D[F]),!0});var{defineProperty:uE,defineProperties:WE,getOwnPropertyDescriptors:$E,getOwnPropertySymbols:w6}=Object,UE=Object.prototype.hasOwnProperty,NE=Object.prototype.propertyIsEnumerable,x6=(D,F,B)=>(F in D)?uE(D,F,{enumerable:!0,configurable:!0,writable:!0,value:B}):D[F]=B,ND=(D,F)=>{for(var B in F||(F={}))if(UE.call(F,B))x6(D,B,F[B]);if(w6){for(var B of w6(F))if(NE.call(F,B))x6(D,B,F[B])}return D},TD=(D,F)=>WE(D,$E(F)),ME=class extends Error{constructor(D,F,B){super(F||D.toString(),{cause:B});this.status=D,this.statusText=F,this.error=B,Error.captureStackTrace(this,this.constructor)}},VE=async(D,F)=>{var B,E,Z,J,Y,H;let Q=F||{},X={onRequest:[F==null?void 0:F.onRequest],onResponse:[F==null?void 0:F.onResponse],onSuccess:[F==null?void 0:F.onSuccess],onError:[F==null?void 0:F.onError],onRetry:[F==null?void 0:F.onRetry]};if(!F||!(F==null?void 0:F.plugins))return{url:D,options:Q,hooks:X};for(let C of(F==null?void 0:F.plugins)||[]){if(C.init){let G=await((B=C.init)==null?void 0:B.call(C,D.toString(),F));Q=G.options||Q,D=G.url}X.onRequest.push((E=C.hooks)==null?void 0:E.onRequest),X.onResponse.push((Z=C.hooks)==null?void 0:Z.onResponse),X.onSuccess.push((J=C.hooks)==null?void 0:J.onSuccess),X.onError.push((Y=C.hooks)==null?void 0:Y.onError),X.onRetry.push((H=C.hooks)==null?void 0:H.onRetry)}return{url:D,options:Q,hooks:X}},b6=class{constructor(D){this.options=D}shouldAttemptRetry(D,F){if(this.options.shouldRetry)return Promise.resolve(D<this.options.attempts&&this.options.shouldRetry(F));return Promise.resolve(D<this.options.attempts)}getDelay(){return this.options.delay}},AE=class{constructor(D){this.options=D}shouldAttemptRetry(D,F){if(this.options.shouldRetry)return Promise.resolve(D<this.options.attempts&&this.options.shouldRetry(F));return Promise.resolve(D<this.options.attempts)}getDelay(D){return Math.min(this.options.maxDelay,this.options.baseDelay*2**D)}};function jE(D){if(typeof D==="number")return new b6({type:"linear",attempts:D,delay:1000});switch(D.type){case"linear":return new b6(D);case"exponential":return new AE(D);default:throw Error("Invalid retry strategy")}}var TE=async(D)=>{let F={},B=async(E)=>typeof E==="function"?await E():E;if(D==null?void 0:D.auth){if(D.auth.type==="Bearer"){let E=await B(D.auth.token);if(!E)return F;F.authorization=`Bearer ${E}`}else if(D.auth.type==="Basic"){let[E,Z]=await Promise.all([B(D.auth.username),B(D.auth.password)]);if(!E||!Z)return F;F.authorization=`Basic ${btoa(`${E}:${Z}`)}`}else if(D.auth.type==="Custom"){let[E,Z]=await Promise.all([B(D.auth.prefix),B(D.auth.value)]);if(!Z)return F;F.authorization=`${E!=null?E:""} ${Z}`}}return F},IE=/^application\/(?:[\w!#$%&*.^`~-]*\+)?json(;.+)?$/i;function RE(D){let F=D.headers.get("content-type"),B=new Set(["image/svg","application/xml","application/xhtml","application/html"]);if(!F)return"json";let E=F.split(";").shift()||"";if(IE.test(E))return"json";if(B.has(E)||E.startsWith("text/"))return"text";return"blob"}function LE(D){try{return JSON.parse(D),!0}catch(F){return!1}}function K1(D){if(D===void 0)return!1;let F=typeof D;if(F==="string"||F==="number"||F==="boolean"||F===null)return!0;if(F!=="object")return!1;if(Array.isArray(D))return!0;if(D.buffer)return!1;return D.constructor&&D.constructor.name==="Object"||typeof D.toJSON==="function"}function v6(D){try{return JSON.parse(D)}catch(F){return D}}function h6(D){return typeof D==="function"}function fE(D){if(D==null?void 0:D.customFetchImpl)return D.customFetchImpl;if(typeof globalThis<"u"&&h6(globalThis.fetch))return globalThis.fetch;if(typeof window<"u"&&h6(window.fetch))return window.fetch;throw Error("No fetch implementation found")}async function SE(D){let F=new Headers(D==null?void 0:D.headers),B=await TE(D);for(let[E,Z]of Object.entries(B||{}))F.set(E,Z);if(!F.has("content-type")){let E=_E(D==null?void 0:D.body);if(E)F.set("content-type",E)}return F}function _E(D){if(K1(D))return"application/json";return null}function kE(D){if(!(D==null?void 0:D.body))return null;let F=new Headers(D==null?void 0:D.headers);if(K1(D.body)&&!F.has("content-type")){for(let[B,E]of Object.entries(D==null?void 0:D.body))if(E instanceof Date)D.body[B]=E.toISOString();return JSON.stringify(D.body)}if(F.has("content-type")&&F.get("content-type")==="application/x-www-form-urlencoded"){if(K1(D.body))return new URLSearchParams(D.body).toString();return D.body}return D.body}function PE(D,F){var B;if(F==null?void 0:F.method)return F.method.toUpperCase();if(D.startsWith("@")){let E=(B=D.split("@")[1])==null?void 0:B.split("/")[0];if(!g6.includes(E))return(F==null?void 0:F.body)?"POST":"GET";return E.toUpperCase()}return(F==null?void 0:F.body)?"POST":"GET"}function OE(D,F){let B;if(!(D==null?void 0:D.signal)&&(D==null?void 0:D.timeout))B=setTimeout(()=>F==null?void 0:F.abort(),D==null?void 0:D.timeout);return{abortTimeout:B,clearTimeout:()=>{if(B)clearTimeout(B)}}}var yE=class D extends Error{constructor(F,B){super(B||JSON.stringify(F,null,2));this.issues=F,Object.setPrototypeOf(this,D.prototype)}};async function _2(D,F){let B=await D["~standard"].validate(F);if(B.issues)throw new yE(B.issues);return B.value}var g6=["get","post","put","patch","delete"];var wE=(D)=>({id:"apply-schema",name:"Apply Schema",version:"1.0.0",async init(F,B){var E,Z,J,Y;let H=((Z=(E=D.plugins)==null?void 0:E.find((Q)=>{var X;return((X=Q.schema)==null?void 0:X.config)?F.startsWith(Q.schema.config.baseURL||"")||F.startsWith(Q.schema.config.prefix||""):!1}))==null?void 0:Z.schema)||D.schema;if(H){let Q=F;if((J=H.config)==null?void 0:J.prefix){if(Q.startsWith(H.config.prefix)){if(Q=Q.replace(H.config.prefix,""),H.config.baseURL)F=F.replace(H.config.prefix,H.config.baseURL)}}if((Y=H.config)==null?void 0:Y.baseURL){if(Q.startsWith(H.config.baseURL))Q=Q.replace(H.config.baseURL,"")}let X=H.schema[Q];if(X){let C=TD(ND({},B),{method:X.method,output:X.output});if(!(B==null?void 0:B.disableValidation))C=TD(ND({},C),{body:X.input?await _2(X.input,B==null?void 0:B.body):B==null?void 0:B.body,params:X.params?await _2(X.params,B==null?void 0:B.params):B==null?void 0:B.params,query:X.query?await _2(X.query,B==null?void 0:B.query):B==null?void 0:B.query});return{url:F,options:C}}}return{url:F,options:B}}}),m6=(D)=>{async function F(B,E){let Z=TD(ND(ND({},D),E),{plugins:[...(D==null?void 0:D.plugins)||[],wE(D||{}),...(E==null?void 0:E.plugins)||[]]});if(D==null?void 0:D.catchAllError)try{return await z1(B,Z)}catch(J){return{data:null,error:{status:500,statusText:"Fetch Error",message:"Fetch related error. Captured by catchAllError option. See error property for more details.",error:J}}}return await z1(B,Z)}return F};function xE(D,F){let{baseURL:B,params:E,query:Z}=F||{query:{},params:{},baseURL:""},J=D.startsWith("http")?D.split("/").slice(0,3).join("/"):B||"";if(D.startsWith("@")){let G=D.toString().split("@")[1].split("/")[0];if(g6.includes(G))D=D.replace(`@${G}/`,"/")}if(!J.endsWith("/"))J+="/";let[Y,H]=D.replace(J,"").split("?"),Q=new URLSearchParams(H);for(let[G,u]of Object.entries(Z||{})){if(u==null)continue;let q;if(typeof u==="string")q=u;else if(Array.isArray(u)){for(let z of u)Q.append(G,z);continue}else q=JSON.stringify(u);Q.set(G,q)}if(E)if(Array.isArray(E)){let G=Y.split("/").filter((u)=>u.startsWith(":"));for(let[u,q]of G.entries()){let z=E[u];Y=Y.replace(q,z)}}else for(let[G,u]of Object.entries(E))Y=Y.replace(`:${G}`,String(u));if(Y=Y.split("/").map(encodeURIComponent).join("/"),Y.startsWith("/"))Y=Y.slice(1);let X=Q.toString();if(X=X.length>0?`?${X}`.replace(/\+/g,"%20"):"",!J.startsWith("http"))return`${J}${Y}${X}`;return new URL(`${Y}${X}`,J)}var z1=async(D,F)=>{var B,E,Z,J,Y,H,Q,X;let{hooks:C,url:G,options:u}=await VE(D,F),q=fE(u),z=new AbortController,$=(B=u.signal)!=null?B:z.signal,M=xE(G,u),I=kE(u),V=await SE(u),N=PE(G,u),U=TD(ND({},u),{url:M,headers:V,body:I,method:N,signal:$});for(let x of C.onRequest)if(x){let S=await x(U);if(typeof S==="object"&&S!==null)U=S}if("pipeTo"in U&&typeof U.pipeTo==="function"||typeof((E=F==null?void 0:F.body)==null?void 0:E.pipe)==="function"){if(!("duplex"in U))U.duplex="half"}let{clearTimeout:R}=OE(u,z),f=await q(U.url,U);R();let L={response:f,request:U};for(let x of C.onResponse)if(x){let S=await x(TD(ND({},L),{response:((Z=F==null?void 0:F.hookOptions)==null?void 0:Z.cloneResponse)?f.clone():f}));if(S instanceof Response)f=S;else if(typeof S==="object"&&S!==null)f=S.response}if(f.ok){if(U.method==="HEAD")return{data:"",error:null};let S=RE(f),g={data:null,response:f,request:U};if(S==="json"||S==="text"){let n=await f.text(),YD=(J=U.jsonParser)!=null?J:v6;g.data=await YD(n)}else g.data=await f[S]();if(U==null?void 0:U.output){if(U.output&&!U.disableValidation)g.data=await _2(U.output,g.data)}for(let n of C.onSuccess)if(n)await n(TD(ND({},g),{response:((Y=F==null?void 0:F.hookOptions)==null?void 0:Y.cloneResponse)?f.clone():f}));if(F==null?void 0:F.throw)return g.data;return{data:g.data,error:null}}let P=(H=F==null?void 0:F.jsonParser)!=null?H:v6,i=await f.text(),d=LE(i),v=d?await P(i):null,FD={response:f,responseText:i,request:U,error:TD(ND({},v),{status:f.status,statusText:f.statusText})};for(let x of C.onError)if(x)await x(TD(ND({},FD),{response:((Q=F==null?void 0:F.hookOptions)==null?void 0:Q.cloneResponse)?f.clone():f}));if(F==null?void 0:F.retry){let x=jE(F.retry),S=(X=F.retryAttempt)!=null?X:0;if(await x.shouldAttemptRetry(S,f)){for(let n of C.onRetry)if(n)await n(L);let g=x.getDelay(S);return await new Promise((n)=>setTimeout(n,g)),await z1(D,TD(ND({},F),{retryAttempt:S+1}))}}if(F==null?void 0:F.throw)throw new ME(f.status,f.statusText,d?v:i);return{data:null,error:TD(ND({},v),{status:f.status,statusText:f.statusText})}};var c6=(D,F)=>{let B="credentials"in Request.prototype,E=S6(D?.baseURL,D?.basePath,void 0,F)??"/api/auth",Z=D?.plugins?.flatMap((U)=>U.fetchPlugins).filter((U)=>U!==void 0)||[],J={id:"lifecycle-hooks",name:"lifecycle-hooks",hooks:{onSuccess:D?.fetchOptions?.onSuccess,onError:D?.fetchOptions?.onError,onRequest:D?.fetchOptions?.onRequest,onResponse:D?.fetchOptions?.onResponse}},{onSuccess:Y,onError:H,onRequest:Q,onResponse:X,...C}=D?.fetchOptions||{},G=m6({baseURL:E,...B?{credentials:"include"}:{},method:"GET",jsonParser(U){if(!U)return null;return P6(U,{strict:!1})},customFetchImpl:fetch,...C,plugins:[J,...C.plugins||[],...D?.disableDefaultFetchPlugins?[]:[_6],...Z]}),{$sessionSignal:u,session:q}=O6(G,D),z=D?.plugins||[],$={},M={$sessionSignal:u,session:q},I={"/sign-out":"POST","/revoke-sessions":"POST","/revoke-other-sessions":"POST","/delete-user":"POST"},V=[{signal:"$sessionSignal",matcher(U){return U==="/sign-out"||U==="/update-user"||U==="/sign-up/email"||U==="/sign-in/email"||U==="/delete-user"||U==="/verify-email"||U==="/revoke-sessions"||U==="/revoke-session"||U==="/change-email"}}];for(let U of z){if(U.getAtoms)Object.assign(M,U.getAtoms?.(G));if(U.pathMethods)Object.assign(I,U.pathMethods);if(U.atomListeners)V.push(...U.atomListeners)}let N={notify:(U)=>{M[U].set(!M[U].get())},listen:(U,R)=>{M[U].subscribe(R)},atoms:M};for(let U of z)if(U.getActions)$=y6(U.getActions?.(G,N,D)??{},$);return{get baseURL(){return E},pluginsActions:$,pluginsAtoms:M,pluginPathMethods:I,atomListeners:V,$fetch:G,$store:N}};function d6(D){return typeof D==="object"&&D!==null&&"get"in D&&typeof D.get==="function"&&"lc"in D&&typeof D.lc==="number"}function bE(D,F,B){let E=F[D],{fetchOptions:Z,query:J,...Y}=B||{};if(E)return E;if(Z?.method)return Z.method;if(Y&&Object.keys(Y).length>0)return"POST";return"GET"}function l6(D,F,B,E,Z){function J(Y=[]){return new Proxy(function(){},{get(H,Q){if(typeof Q!=="string")return;if(Q==="then"||Q==="catch"||Q==="finally")return;let X=[...Y,Q],C=D;for(let G of X)if(C&&typeof C==="object"&&G in C)C=C[G];else{C=void 0;break}if(typeof C==="function")return C;if(d6(C))return C;return J(X)},apply:async(H,Q,X)=>{let C="/"+Y.map((V)=>V.replace(/[A-Z]/g,(N)=>`-${N.toLowerCase()}`)).join("/"),G=X[0]||{},u=X[1]||{},{query:q,fetchOptions:z,...$}=G,M={...u,...z},I=bE(C,B,G);return await F(C,{...M,body:I==="GET"?void 0:{...$,...M?.body||{}},query:q||M?.query,method:I,async onSuccess(V){if(await M?.onSuccess?.(V),!Z||M.disableSignal)return;let N=Z.filter((R)=>R.matcher(C));if(!N.length)return;let U=new Set;for(let R of N){let f=E[R.signal];if(!f)return;if(U.has(R.signal))continue;U.add(R.signal);let L=f.get();setTimeout(()=>{f.set(!L)},10)}}})}})}return J()}function q1(D){let{pluginPathMethods:F,pluginsActions:B,pluginsAtoms:E,$fetch:Z,atomListeners:J,$store:Y}=c6(D),H={};for(let[Q,X]of Object.entries(E))H[`use${X1(Q)}`]=X;return l6({...B,...H,$fetch:Z,$store:Y},Z,F,E,J)}function p6(D){return{authorize(F,B="AND"){let E=!1;for(let[Z,J]of Object.entries(F)){let Y=D[Z];if(!Y)return{success:!1,error:`You are not allowed to access resource: ${Z}`};if(Array.isArray(J))E=J.every((H)=>Y.includes(H));else if(typeof J==="object"){let H=J;if(H.connector==="OR")E=H.actions.some((Q)=>Y.includes(Q));else E=H.actions.every((Q)=>Y.includes(Q))}else throw new vD("Invalid access control request");if(E&&B==="OR")return{success:E};if(!E&&B==="AND")return{success:!1,error:`unauthorized to access resource "${Z}"`}}if(E)return{success:E};return{success:!1,error:"Not authorized"}},statements:D}}function T0(D){return{newRole(F){return p6(F)},statements:D}}var a6={user:["create","list","set-role","ban","impersonate","delete","set-password","get","update"],session:["list","revoke","delete"]},u1=T0(a6),i6=u1.newRole({user:["create","list","set-role","ban","impersonate","delete","set-password","get","update"],session:["list","revoke","delete"]}),n6=u1.newRole({user:[],session:[]});var W1=()=>{return{id:"device-authorization",$InferServerPlugin:{},pathMethods:{"/device/code":"POST","/device/token":"POST","/device":"GET","/device/approve":"POST","/device/deny":"POST"}}};var r6={organization:["update","delete"],member:["create","update","delete"],invitation:["create","cancel"],team:["create","update","delete"],ac:["create","read","update","delete"]},k2=T0(r6),s6=k2.newRole({organization:["update"],invitation:["create","cancel"],member:["create","update","delete"],team:["create","update","delete"],ac:["create","read","update","delete"]}),o6=k2.newRole({organization:["update","delete"],member:["create","update","delete"],invitation:["create","cancel"],team:["create","update","delete"],ac:["create","read","update","delete"]}),t6=k2.newRole({organization:[],member:[],invitation:[],team:[],ac:["read"]});var $1="photon-cli",e6="openid profile email";function P2(D){return q1({baseURL:D,plugins:[W1()]})}function D4(D){D.command("login").description("authenticate via the device authorization flow").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("--no-browser","don't auto-open the verification URL").action(async(F)=>{try{await mE(F)}catch(B){if(B instanceof nD||B instanceof gD)W(B.message);throw B}})}async function mE({apiHost:D,browser:F=!0}){let B=await JD(D);console.log(K.info(`Authenticating to ${K.bold(B.name)} ${K.dim(`(${B.url})`)}`));let E=P2(B.url),Z;try{Z=await E.device.code({client_id:$1,scope:e6})}catch($){W(`Could not reach ${B.url} — ${$ instanceof Error?$.message:String($)}`)}if(Z.error||!Z.data)W(`Failed to start device flow: ${_(Z.error)}`);let{device_code:J,user_code:Y,verification_uri:H,verification_uri_complete:Q,interval:X=5,expires_in:C=1800}=Z.data;if(console.log(),console.log(` ${K.dim("Visit:")} ${K.underline(K.cyan(H))}`),console.log(` ${K.dim("Code: ")} ${K.bold(Y)}`),console.log(),F){let $=Q??H;try{await G2($),console.log(K.dim(` Opened ${$}`))}catch{}}else console.log(K.dim(" --no-browser set; open the URL above manually"));console.log();let G=t8();G.start(`Waiting for approval (polling every ${X}s)`);let u=await cE({auth:E,deviceCode:J,initialInterval:X,expiresInSec:C,onSlowDown:($)=>{G.message(`Server asked us to slow down — polling every ${$}s`)}}).catch(($)=>{throw G.error($ instanceof Error?$.message:"Failed"),$});G.stop("Authorized");let z=(await E.getSession({fetchOptions:{headers:{Authorization:`Bearer ${u}`}}})).data?.user;if(!z)W("Token issued but session lookup failed — server might be misconfigured.");await N8({accessToken:u,user:{id:z.id,email:z.email,name:z.name},envName:B.name,apiUrl:B.url,issuedAt:new Date().toISOString()}),console.log(),console.log(K.success(`Logged in to ${K.bold(B.name)} as ${K.bold(z.email)}`))}async function cE(D){let F=D.initialInterval,B=Date.now()+D.expiresInSec*1000;while(Date.now()<B){await new Promise((Y)=>setTimeout(Y,F*1000));let E=await D.auth.device.token({grant_type:"urn:ietf:params:oauth:grant-type:device_code",device_code:D.deviceCode,client_id:$1});if(E.data?.access_token)return E.data.access_token;let Z=dE(E.error);if(lE(E.error)===429){F+=10,D.onSlowDown(F);continue}switch(Z){case"authorization_pending":continue;case"slow_down":F+=5,D.onSlowDown(F);continue;case"access_denied":throw new nD;case"expired_token":throw new gD;default:throw Error(`Device flow error: ${_(E.error)}`)}}throw new gD}function dE(D){if(D&&typeof D==="object"&&"error"in D){let F=D.error;return typeof F==="string"?F:void 0}return}function lE(D){if(D&&typeof D==="object"&&"status"in D){let F=D.status;return typeof F==="number"?F:void 0}return}function F4(D){D.command("logout").description("clear stored credentials for the active backend").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").action(async(F)=>{let B=await JD(F.apiHost),E=await tD(B.name);if(!E){console.log(K.dim(`Not logged in to ${K.bold(B.name)} — nothing to do.`));return}try{await P2(E.apiUrl).signOut({fetchOptions:{headers:{Authorization:`Bearer ${E.accessToken}`}}})}catch{}await M8(B.name),console.log(K.success(`Logged out of ${K.bold(B.name)}`))})}function B4(D){D.command("ping").description("hit the Photon Dashboard /api/health endpoint").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-u, --url <url>","raw API URL (bypasses env resolution)").action(async(F)=>{let{api:B,env:E}=await y({apiHost:F.apiHost,url:F.url});console.log(K.dim(`→ ${E.url}`));let Z=performance.now(),{data:J,error:Y,status:H}=await B.api.health.get(),Q=Math.round(performance.now()-Z);if(Y)console.error(K.error(`${H} (${Q}ms): ${_(Y)}`)),process.exit(1);console.log(K.success(`${H} (${Q}ms): ${JSON.stringify(J)}`))})}var pE=["developer","organization"];function Z4(D){let F=D.command("profile").description("view or manage your developer / organization profile");aE(F),iE(F),rE(F)}function aE(D){D.command("show",{isDefault:!0}).description("show your profile").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-t, --token <token>","API token (overrides stored creds)").option("--json","output JSON").action(async(F)=>{let{api:B,creds:E,env:Z}=await y({apiHost:F.apiHost,token:F.token,requireAuth:!0}),{data:J,error:Y}=await B.api.profile.get();if(Y){if(Y.status===401)throw new k(Z.name);W(`Failed to fetch profile: ${_(Y)}`)}if(F.json){b({user:E?.user??null,profile:J});return}if(E)console.log(K.bold(E.user.name)+K.dim(` <${E.user.email}>`));else console.log(K.dim(`token-authenticated on env ${Z.name}`));if(console.log(),!J){console.log(K.dim("No profile yet.")),console.log(K.hint("Set one up: `photon profile init`."));return}console.log(K.bold(`${J.type} profile`));let H=[["companyName",J.companyName],["platforms",J.platforms],["background",J.background],["referralSource",J.referralSource]],Q=Math.max(...H.map(([X])=>X.length));for(let[X,C]of H)console.log(` ${K.dim(X.padEnd(Q))} ${oE(C)}`)})}function iE(D){D.command("init").description("set up your developer or organization profile").option("--type <type>","developer | organization").option("--platforms <list>","comma-separated platforms you're building on").option("--background <text>","what you're building").option("--company-name <name>","organization: company name").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-t, --token <token>","API token (overrides stored creds)").option("--json","output JSON").action(async(F)=>{let{api:B,env:E}=await y({apiHost:F.apiHost,token:F.token,requireAuth:!0}),Z=await B.api.profile.get();if(Z.status===401)throw new k(E.name);if(Z.error)W(`Failed to check existing profile: ${_(Z.error)}`);if(Z.data)W("A profile already exists for this account.",{hint:"Use `photon profile update` to change it."});let J=await nE(F);if(await J4(B,E.name,J),F.json){b({profile:J});return}console.log(K.success(`Created ${J.type} profile.`))})}async function nE(D){if(!XD())return{type:O2(D.type,{required:!0}),platforms:D.platforms!==void 0?I0(D.platforms):void 0,background:D.background,companyName:D.companyName};E2(K.cyan("Set up your profile"));let F=O2(D.type);if(!F){let J=await J2({message:"What kind of profile?",options:[{value:"developer",label:"Developer",hint:"individual contributor"},{value:"organization",label:"Organization",hint:"company / team"}]});if(t(J))W("Aborted.");F=J}let B=D.platforms!==void 0?I0(D.platforms):await sE("Platforms you're building on (comma-separated)",void 0,!0),E=await E4("What are you building?",D.background),Z=F==="organization"?await E4("Company name",D.companyName):D.companyName;return Z2(K.dim("Submitting…")),{type:F,platforms:B.length>0?B:void 0,background:E,companyName:Z}}function rE(D){D.command("update").alias("edit").description("update your existing profile (preserves unchanged fields)").option("--type <type>","developer | organization").option("--platforms <list>","comma-separated platforms you're building on").option("--background <text>","what you're building").option("--company-name <name>","organization: company name").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-t, --token <token>","API token (overrides stored creds)").option("--json","output JSON").action(async(F)=>{if(!(F.type!==void 0||F.platforms!==void 0||F.background!==void 0||F.companyName!==void 0))W("Nothing to update.",{hint:"Pass at least one field flag — see `photon profile update --help`."});let{api:E,env:Z}=await y({apiHost:F.apiHost,token:F.token,requireAuth:!0}),J=await E.api.profile.get();if(J.status===401)throw new k(Z.name);if(J.error)W(`Failed to fetch profile: ${_(J.error)}`);let Y=J.data;if(!Y)W("No profile to update.",{hint:"Create one first: `photon profile init`."});let H={type:F.type!==void 0?O2(F.type,{required:!0}):O2(Y.type)??void 0,platforms:F.platforms!==void 0?I0(F.platforms):Y.platforms??void 0,background:F.background??Y.background??void 0,companyName:F.companyName??Y.companyName??void 0};if(await J4(E,Z.name,H),F.json)return b({profile:H});console.log(K.success("Profile updated."))})}async function J4(D,F,B){let E={};if(B.type!==void 0)E.type=B.type;if(B.platforms!==void 0)E.platforms=B.platforms;if(B.background!==void 0)E.background=B.background;if(B.companyName!==void 0)E.companyName=B.companyName;let Z=await D.api.onboarding.details.post(E);if(Z.status===401)throw new k(F);if(Z.error)W(`Failed to save profile: ${_(Z.error)}`)}function O2(D,{required:F=!1}={}){if(D===void 0||D===""){if(F)W("--type is required (developer | organization).");return}if(!pE.includes(D))W(`Unknown profile type "${D}". Use "developer" or "organization".`);return D}async function E4(D,F){if(F!==void 0)return F;let B=await SD({message:D,placeholder:"(skip)"});if(t(B))W("Aborted.");let E=B?.trim();return E?E:void 0}async function sE(D,F,B=!1){if(F!==void 0)return I0(F);let E=await SD({message:D,placeholder:B?"(skip)":void 0});if(t(E))W("Aborted.");return I0(E??"")}function I0(D){return D.split(",").map((F)=>F.trim()).filter(Boolean)}function oE(D){if(D===null||D===void 0||D==="")return K.dim("—");if(Array.isArray(D))return D.length>0?D.join(", "):K.dim("—");if(typeof D==="boolean")return D?K.green("yes"):K.dim("no");if(D instanceof Date)return D.toLocaleString();if(typeof D==="object")return JSON.stringify(D);return String(D)}async function iD(D){if(D.yes)return;if(!XD())W("Confirmation required for this destructive action.",{hint:D.fallbackHint??"Pass --yes to confirm."});let F=await B2({message:D.message,initialValue:!1});if(t(F)||!F)W("Aborted.")}var y2=["imessage","whatsapp_business","voice"];function X4(D){let F=D.command("projects").alias("project").description("manage your Photon Dashboard projects");tE(F),eE(F),DZ(F),FZ(F),ZZ(F),JZ(F),YZ(F),HZ(F),XZ(F),CZ(F)}function tE(D){D.command("list",{isDefault:!0}).alias("ls").description("list your projects").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-t, --token <token>","API token (overrides stored creds)").option("--json","output JSON").action(async(F)=>{let{api:B,env:E}=await y({apiHost:F.apiHost,token:F.token,requireAuth:!0}),{data:Z,error:J}=await B.api.projects.get();if(J){if(J.status===401)throw new k(E.name);W(`Failed to list projects: ${_(J)}`)}let Y=z2(Z,"projects");if(F.json){b(Y);return}if(Y.length===0){console.log(K.dim("No projects yet.")),console.log(K.hint("Create one with `photon projects create`."));return}let H=Y.map((Q)=>[GZ(Q.id,8),Q.name,Q.location,Q4(Q.status),Q.platforms.length>0?Q.platforms.join(", "):K.dim("—"),new Date(Q.updatedAt).toLocaleDateString()]);KD(["id","name","location","status","platforms","updated"],H)})}function eE(D){D.command("show [id]").alias("get").description("show details for one project (defaults to $PHOTON_PROJECT_ID)").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-p, --project <id>","project id (overrides $PHOTON_PROJECT_ID)").option("-t, --token <token>","API token (overrides stored creds)").option("--json","output JSON").action(async(F,B)=>{let{projectId:E,env:Z}=await m({flagProjectId:F??B.project,apiHost:B.apiHost}),{api:J}=await y({apiHost:Z.url,token:B.token,requireAuth:!0}),{data:Y,error:H,status:Q}=await J.api.projects({id:E}).get();if(Q===401)throw new k(Z.name);if(Q===404||!H&&!Y)W(`Project not found: ${E}`,{hint:"List your projects with `photon projects ls`."});if(H)W(`Failed to fetch project: ${_(H)}`);if(B.json){b(Y);return}if(!Y)return;let X=Y;console.log(K.bold(X.name)+K.dim(` (${X.id})`)),console.log(),KZ([["status",Q4(X.status)],["location",X.location],["owner",X.isOwner?K.green("yes"):K.dim("no")],["template",X.template?"yes":"no"],["observability",X.observability?"yes":"no"],["slackChannelId",X.slackChannelId??K.dim("—")],["slackTeamId",X.slackTeamId??K.dim("—")],["createdAt",new Date(X.createdAt).toLocaleString()],["updatedAt",new Date(X.updatedAt).toLocaleString()]])})}function DZ(D){D.command("secret [id]").alias("get-secret").description("print the project's Spectrum API secret (defaults to $PHOTON_PROJECT_ID)").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-p, --project <id>","project id (overrides $PHOTON_PROJECT_ID)").option("-t, --token <token>","API token (overrides stored creds)").option("--json","output JSON").action(async(F,B)=>{let{projectId:E,env:Z}=await m({flagProjectId:F??B.project,apiHost:B.apiHost}),{api:J}=await y({apiHost:Z.url,token:B.token,requireAuth:!0}),{data:Y,error:H,status:Q}=await J.api.projects({id:E}).get();if(Q===401)throw new k(Z.name);if(Q===404||!H&&!Y)W(`Project not found: ${E}`,{hint:"List your projects with `photon projects ls`."});if(H)W(`Failed to fetch project: ${_(H)}`);if(!Y)return;if(!Y.projectSecret)W("This project has no API secret yet.",{hint:`Generate one with \`photon projects regenerate-secret ${E}\`.`});if(B.json){b({id:E,projectSecret:Y.projectSecret});return}console.log(Y.projectSecret)})}function FZ(D){D.command("create").alias("new").description("create a new project").option("-n, --name <name>","project name").option("-l, --location <location>",'location (default: "United States")').option("--platforms <list>",`comma-separated platforms (${y2.join(", ")})`).option("--template","use as template").option("--observability","enable observability").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-t, --token <token>","API token (overrides stored creds)").option("--json","output JSON").action(async(F)=>{let B=await BZ(F),{api:E,env:Z}=await y({apiHost:F.apiHost,token:F.token,requireAuth:!0}),{data:J,error:Y,status:H}=await E.api.projects.post({name:B.name,location:B.location,platforms:B.platforms,template:B.template,observability:B.observability});if(H===401)throw new k(Z.name);if(Y)W(`Failed to create project: ${_(Y)}`);let Q=J;if(Q.error)W(Q.error);if(!Q.id)W("Server did not return a project id.");if(F.json){b({id:Q.id,name:B.name,env:Z.name});return}console.log(K.success(`Created ${K.bold(B.name)} ${K.dim(`(${Q.id})`)} on ${K.bold(Z.name)}`)),console.log(K.dim(` To make this the active project: export PHOTON_PROJECT_ID='${Q.id}'`))})}function U1(D){let F=D.split(",").map((E)=>E.trim()).filter(Boolean),B=F.filter((E)=>!y2.includes(E));if(B.length>0)W(`Unknown platform(s): ${B.join(", ")}.`,{hint:`Valid platforms: ${y2.join(", ")}.`});return[...new Set(F)]}async function BZ(D){if(!XD()){if(!D.name?.trim())W("--name is required in non-interactive mode.",{hint:"Run from a terminal for the interactive prompt, or pass --name <name>."});return{name:D.name.trim(),location:D.location??"United States",platforms:D.platforms!==void 0?U1(D.platforms):[],template:D.template??!1,observability:D.observability??!1}}E2(K.cyan("Create a new project"));let F=D.name?.trim();if(!F){let Y=await SD({message:"Project name",validate:(H)=>H&&H.trim()?void 0:"Project name is required"});if(t(Y))W("Aborted.");F=Y.trim()}let B=D.location;if(B===void 0){let Y=await SD({message:"Location",placeholder:"United States",defaultValue:"United States"});if(t(Y))W("Aborted.");B=Y||"United States"}let E=D.platforms!==void 0?U1(D.platforms):U1(await EZ(`Platforms (comma-separated: ${y2.join(", ")})`,void 0,!0)),Z=D.template??await Y4("Use as template?",!1),J=D.observability??await Y4("Enable observability?",!1);return Z2(K.dim("Submitting…")),{name:F,location:B,platforms:E,template:Z,observability:J}}async function EZ(D,F,B=!1){if(F!==void 0)return F;let E=await SD({message:D,placeholder:B?"(skip)":void 0});if(t(E))W("Aborted.");return E??""}async function Y4(D,F){let B=await B2({message:D,initialValue:F});if(t(B))W("Aborted.");return Boolean(B)}function ZZ(D){D.command("update [id]").alias("edit").alias("rename").description("rename a project (defaults to $PHOTON_PROJECT_ID)").option("-n, --name <name>","new name").option("-p, --project <id>","project id (overrides $PHOTON_PROJECT_ID)").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-t, --token <token>","API token (overrides stored creds)").option("--json","output JSON").action(async(F,B)=>{let E=B.name?.trim();if(!E)W("--name is required.",{hint:"Pass a non-empty name, e.g. `photon projects update --name 'New Name'`."});let{projectId:Z,env:J}=await m({flagProjectId:F??B.project,apiHost:B.apiHost}),{api:Y}=await y({apiHost:J.url,token:B.token,requireAuth:!0}),{error:H,status:Q,data:X}=await Y.api.projects({id:Z}).patch({name:E});if(Q===401)throw new k(J.name);if(H)W(`Failed to update project: ${_(H)}`);let C=X;if(C.error)W(C.error);if(B.json){b({id:Z,name:E});return}console.log(K.success(`Updated ${K.bold(E)} ${K.dim(`(${Z})`)}`))})}function JZ(D){D.command("delete [id]").alias("rm").alias("remove").description("permanently delete a project (defaults to $PHOTON_PROJECT_ID)").option("-p, --project <id>","project id (overrides $PHOTON_PROJECT_ID)").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-t, --token <token>","API token (overrides stored creds)").option("-y, --yes","skip confirmation").action(async(F,B)=>{let{projectId:E,env:Z}=await m({flagProjectId:F??B.project,apiHost:B.apiHost}),{api:J}=await y({apiHost:Z.url,token:B.token,requireAuth:!0}),Y=await J.api.projects({id:E}).get();if(Y.status===401)throw new k(Z.name);if(Y.status===404||!Y.error&&!Y.data)W(`Project not found: ${E}`,{hint:"Already deleted? `photon projects ls` to confirm."});if(Y.error)W(`Failed to look up project: ${_(Y.error)}`);if(!Y.data)return;let H=Y.data;await iD({message:`Delete project ${K.bold(H.name)} (${E})? This cannot be undone.`,yes:B.yes??!1,fallbackHint:`Pass --yes to delete ${H.name}.`});let{error:Q,status:X}=await J.api.projects({id:E}).delete();if(X===401)throw new k(Z.name);if(Q)W(`Failed to delete project: ${_(Q)}`);if(console.log(K.success(`Deleted ${K.bold(H.name)} ${K.dim(`(${E})`)}`)),process.env.PHOTON_PROJECT_ID===E)console.error(K.warn("Active project just deleted. Run `unset PHOTON_PROJECT_ID` to clear."))})}function YZ(D){D.command("regenerate-secret [id]").alias("rotate-secret").description("rotate the project's Spectrum API secret (defaults to $PHOTON_PROJECT_ID)").option("-p, --project <id>","project id (overrides $PHOTON_PROJECT_ID)").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-t, --token <token>","API token (overrides stored creds)").option("-y, --yes","skip confirmation").option("--json","output JSON").action(async(F,B)=>{let{projectId:E,env:Z}=await m({flagProjectId:F??B.project,apiHost:B.apiHost}),{api:J}=await y({apiHost:Z.url,token:B.token,requireAuth:!0});await iD({message:`Rotate the API secret for project ${E}? Existing integrations using the old secret will stop working immediately.`,yes:B.yes??!1,fallbackHint:"Pass --yes to rotate the secret."});let{data:Y,error:H,status:Q}=await J.api.projects({id:E})["regenerate-secret"].post();if(Q===401)throw new k(Z.name);if(H)W(`Failed to rotate secret: ${_(H)}`);let X=Y;if(X.error)W(X.error);if(!X.projectSecret)W("Server did not return a new secret.");if(B.json){b({id:E,projectSecret:X.projectSecret});return}console.log(K.success(`New secret for ${E}:`)),console.log(` ${K.bold(X.projectSecret)}`),wD.warn("This is shown once. Store it somewhere safe — re-rotating is the only way to recover.")})}function HZ(D){D.command("open [id]").description("open the project in the dashboard web UI (defaults to $PHOTON_PROJECT_ID)").option("-p, --project <id>","project id (overrides $PHOTON_PROJECT_ID)").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("--no-browser","print the URL instead of launching a browser").action(async(F,B)=>{let{projectId:E,env:Z}=await m({flagProjectId:F??B.project,apiHost:B.apiHost}),J=new URL(`/dashboard/${E}`,Z.url).toString();await u0(J,{noBrowser:!B.browser,label:"URL"})})}function XZ(D){D.command("upgrade [id] [tier]").description("subscribe / pay for a project (smart-routes to Stripe checkout or billing portal)").option("--plan <price-id>","Stripe price id (escape hatch; overrides tier picker)").option("--qty <n>","quantity (default 1)",M2).option("--checkout","force checkout flow (even if currently subscribed)").option("--manage","force Stripe portal (downgrade / cancel / change card)").option("-p, --project <id>","project id (overrides positional [id] and $PHOTON_PROJECT_ID)").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-t, --token <token>","API token (overrides stored creds)").option("--no-browser","print the URL instead of launching a browser").option("--json","output JSON ({action,url,tier?}) and skip browser open").action(async(F,B,E)=>{if(E.checkout&&E.manage)W("--checkout and --manage are mutually exclusive.");let Z=F,J=H4(B);if(!J&&Z&&QZ(Z)&&!B)J=H4(Z),Z=void 0;if(B&&!J)W(`Unknown tier "${B}".`,{hint:`Use one of: ${xD.join(", ")} — or pass --plan <price-id>.`});let{projectId:Y,env:H}=await m({flagProjectId:E.project??Z,apiHost:E.apiHost}),{api:Q}=await y({apiHost:H.url,token:E.token,requireAuth:!0}),X=W0({explicitNoBrowser:E.browser===!1,json:E.json??!1}),C;if(E.manage)C="manage";else if(E.checkout||E.plan||J)C="checkout";else{let q=await U6(Q,Y,H.name);if(q.tier==="unknown")W(`Cannot determine the subscription state of project ${Y}.`,{hint:"Re-run with --checkout to subscribe, or --manage to open the Stripe portal."});if(C=q.status==="active"||q.status==="past_due"?"manage":"checkout",C==="manage"&&!E.json)console.log(K.info(`Project ${K.bold(Y)} is on ${q.tier??"—"} (${q.status??"—"}). Opening Stripe portal…`)),console.log(K.dim(" To pick a different plan instead, re-run with --checkout."))}if(C==="manage"){await N2({api:Q,projectId:Y,envName:H.name,json:E.json??!1,noBrowser:X});return}let G,u;if(E.plan)G=E.plan;else if(J){let q=await aD(Q,H.name),z=u2(q,J),$=z?.prices?.length===1?z.prices[0]:void 0;if(!z||!z.prices?.length)W(`No plan matching tier "${J}".`,{hint:"List options with `photon billing plans`."});if(!$)W(`Tier "${J}" has multiple billing intervals.`,{hint:"Pass --plan <price-id> to choose, or omit the tier to use the interactive picker."});G=$.id,u=J}else{let q=await aD(Q,H.name),z=await $2(q);G=z.price.id,u=W2(z.plan.name)}await U2({api:Q,projectId:Y,priceId:G,quantity:E.qty,envName:H.name,json:E.json??!1,noBrowser:X,tierLabel:u})})}function QZ(D){return xD.includes(D.trim().toLowerCase())}function H4(D){if(!D)return;let F=D.trim().toLowerCase();return xD.includes(F)?F:void 0}function CZ(D){D.command("check-phone <number>").description("check whether a phone number is available on Spectrum").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-t, --token <token>","API token (overrides stored creds)").option("--json","output JSON").action(async(F,B)=>{let{api:E,env:Z}=await y({apiHost:B.apiHost,token:B.token,requireAuth:!0}),{data:J,error:Y,status:H}=await E.api.projects["check-availability"].get({query:{phoneNumber:F}});if(H===401)throw new k(Z.name);if(Y)W(`Failed to check phone availability: ${_(Y)}`);if(B.json){b(J);return}if(J.available)console.log(K.success(`${F} is available.`));else console.log(K.warn(`${F} is taken.`))})}function Q4(D){switch(D){case"running":return K.green(D);case"paused":return K.yellow(D);case"error":return K.red(D);default:return D}}function GZ(D,F){return D.length>F?`${D.slice(0,F)}…`:D}function KZ(D){let F=Math.max(...D.map(([B])=>B.length));for(let[B,E]of D)console.log(` ${K.dim(B.padEnd(F))} ${E}`)}var zZ={".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".webp":"image/webp",".gif":"image/gif"},qZ=new Set([".svg",".svgz"]),uZ=/^\s*(?:<\?xml[\s\S]*?\?>\s*)?(?:<!--[\s\S]*?-->\s*)*<svg(?:\s|>)/i,WZ=4100,$Z=(D)=>{let F=D.replaceAll("\\","/").split("/").at(-1)??D,B=F.lastIndexOf(".");return B===-1?"":F.slice(B).toLowerCase()},UZ=(D)=>uZ.test(new TextDecoder().decode(D.subarray(0,WZ))),C4=(D,F)=>{if(qZ.has(D)||F&&UZ(F))W("SVG avatars are not supported.",{hint:"Convert the image to PNG, JPEG, or WebP before uploading."})};async function w2(D){let F=$Z(D);C4(F);let B=Bun.file(D);if(!await B.exists())W(`File not found: ${D}`);let E=new Uint8Array(await B.arrayBuffer());return C4(F,E),{body:E,contentType:zZ[F]??"application/octet-stream",size:E.byteLength}}async function x2(D,F,B){console.log(K.dim(`Uploading ${D} (${(B.size/1024).toFixed(1)} KB)…`));let E=await fetch(F,{method:"PUT",body:B.body,headers:{"Content-Type":B.contentType}});if(!E.ok)W(`Upload failed: ${E.status} ${E.statusText}`)}function G4(D){D.command("avatar").description("manage the Spectrum avatar image").command("upload <file>").description("upload an image as the Spectrum avatar").option("-p, --project <id>","project id (overrides $PHOTON_PROJECT_ID)").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-t, --token <token>","API token (overrides stored creds)").action(async(B,E)=>{let Z=await w2(B),{projectId:J,env:Y}=await m({flagProjectId:E.project,apiHost:E.apiHost}),{api:H}=await y({apiHost:Y.url,token:E.token,requireAuth:!0}),Q=await H.api.projects({id:J}).spectrum.avatar.upload.post({contentType:Z.contentType});if(Q.status===401)throw new k(Y.name);if(Q.error)W(`Failed to get upload URL: ${_(Q.error)}`);let X=Q.data;if(X.error)W(X.error);if(!X.uploadUrl||!X.key)W("Server did not return uploadUrl + key.");await x2(B,X.uploadUrl,Z);let C=await H.api.projects({id:J}).spectrum.avatar.commit.post({key:X.key});if(C.status===401)throw new k(Y.name);if(C.error)W(`Uploaded, but commit failed: ${_(C.error)}`);let G=C.data;if(G.error)W(G.error);if(!G.avatarUrl)W("Server did not return an avatar URL after commit.");let u=G.avatarUrl;console.log(K.success(`Uploaded avatar from ${B}`)),console.log(K.dim(` URL: ${u}`))})}function K4(D){D.command("profile").description("manage a dedicated iMessage line profile").command("update <line-id>").alias("edit").description("update a line profile name (preserves unset fields)").option("--first-name <name>").option("--last-name <name>").option("-p, --project <id>","project id (overrides $PHOTON_PROJECT_ID)").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-t, --token <token>","API token (overrides stored creds)").option("--json","output JSON").action(async(E,Z)=>{let J=Z.firstName!==void 0?{firstName:Z.firstName,...Z.lastName!==void 0?{lastName:Z.lastName}:{}}:Z.lastName!==void 0?{lastName:Z.lastName}:W("Nothing to update.",{hint:"Pass --first-name and/or --last-name."}),{projectId:Y,env:H}=await m({flagProjectId:Z.project,apiHost:Z.apiHost}),{api:Q}=await y({apiHost:H.url,token:Z.token,requireAuth:!0}),{data:X,error:C,status:G}=await Q.api.projects({id:Y}).lines({lineId:E}).profile.patch(J);if(G===401)throw new k(H.name);if(C)W(`Failed to update line profile: ${_(C)}`);if(!X?.succeed)W("Failed to update line profile: empty API response.");if(Z.json)return b(X.data);console.log(K.success(`Updated profile for line ${E}.`))}),D.command("avatar").description("manage a dedicated iMessage line avatar").command("upload <line-id> <file>").description("upload an image as a line avatar").option("-p, --project <id>","project id (overrides $PHOTON_PROJECT_ID)").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-t, --token <token>","API token (overrides stored creds)").action(async(E,Z,J)=>{let Y=await w2(Z),{projectId:H,env:Q}=await m({flagProjectId:J.project,apiHost:J.apiHost}),{api:X}=await y({apiHost:Q.url,token:J.token,requireAuth:!0}),C=await X.api.projects({id:H}).lines({lineId:E}).profile.avatar.upload.post({contentType:Y.contentType});if(C.status===401)throw new k(Q.name);if(C.error)W(`Failed to get line avatar upload URL: ${_(C.error)}`);if(!C.data?.succeed)W("Failed to get line avatar upload URL: empty API response.");let G=C.data.data;if(!G.uploadUrl||!G.key)W("Server did not return uploadUrl + key.");await x2(Z,G.uploadUrl,Y);let u=await X.api.projects({id:H}).lines({lineId:E}).profile.avatar.commit.post({key:G.key});if(u.status===401)throw new k(Q.name);if(u.error)W(`Uploaded, but commit failed: ${_(u.error)}`);if(!u.data?.succeed)W("Uploaded, but commit failed: empty API response.");let q=u.data.data.avatarUrl;if(!q)W("Server did not return an avatar URL after commit.");console.log(K.success(`Uploaded avatar for line ${E}.`)),console.log(K.dim(` URL: ${q}`))})}function z4(D){let F=D.command("lines").description("manage Spectrum phone lines on a project");K4(F),F.command("list",{isDefault:!0}).alias("ls").description("list lines for the active project").option("-p, --project <id>","project id (overrides $PHOTON_PROJECT_ID)").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-t, --token <token>","API token (overrides stored creds)").option("--json","output JSON").action(async(B)=>{let{projectId:E,env:Z}=await m({flagProjectId:B.project,apiHost:B.apiHost}),{api:J}=await y({apiHost:Z.url,token:B.token,requireAuth:!0}),{data:Y,error:H,status:Q}=await J.api.projects({id:E}).lines.get();if(Q===401)throw new k(Z.name);if(H)W(`Failed to list lines: ${_(H)}`);let X=q2(Y,"lines");if(B.json)return b(X);if(X.length===0){console.log(K.dim("No lines yet.")),console.log(K.hint("Add one with `photon spectrum lines add`."));return}let C=X.map((G)=>[NZ(G.id,10),G.platform??"—",("phoneNumber"in G?G.phoneNumber:G.displayPhoneNumber)??K.dim("—"),G.status??K.dim("—")]);KD(["id","platform","number","status"],C)}),F.command("add").alias("create").description("add a new line (currently iMessage only)").option("--platform <name>","platform (only 'imessage' supported today)","imessage").option("-p, --project <id>","project id (overrides $PHOTON_PROJECT_ID)").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-t, --token <token>","API token (overrides stored creds)").option("--json","output JSON").action(async(B)=>{if(B.platform!=="imessage")W(`Unsupported platform "${B.platform}".`,{hint:"The server currently only accepts 'imessage'."});let{projectId:E,env:Z}=await m({flagProjectId:B.project,apiHost:B.apiHost}),{api:J}=await y({apiHost:Z.url,token:B.token,requireAuth:!0}),{data:Y,error:H,status:Q}=await J.api.projects({id:E}).lines.post({platform:"imessage"});if(Q===401)throw new k(Z.name);if(H)W(`Failed to add line: ${_(H)}`);let X=Y;if(X.error)W(X.error);if(B.json)return b(X.line??{});console.log(K.success(`Added ${X.line?.platform??"imessage"} line${X.line?.id?K.dim(` (${X.line.id})`):""}`))}),F.command("remove <line-id>").alias("rm").alias("delete").description("remove a line").option("-p, --project <id>","project id (overrides $PHOTON_PROJECT_ID)").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-t, --token <token>","API token (overrides stored creds)").option("-y, --yes","skip confirmation").action(async(B,E)=>{let{projectId:Z,env:J}=await m({flagProjectId:E.project,apiHost:E.apiHost}),{api:Y}=await y({apiHost:J.url,token:E.token,requireAuth:!0});await iD({message:`Remove line ${B} from project ${Z}?`,yes:E.yes??!1,fallbackHint:`Pass --yes to remove line ${B}.`});let{error:H,status:Q}=await Y.api.projects({id:Z}).lines({lineId:B}).delete();if(Q===401)throw new k(J.name);if(H)W(`Failed to remove line: ${_(H)}`);console.log(K.success(`Removed line ${B}`))})}function NZ(D,F){return D.length>F?`${D.slice(0,F)}…`:D}function u4(D){let F=D.command("platforms").description("manage Spectrum platform integrations on a project");F.command("list",{isDefault:!0}).alias("ls").description("list platforms and their enabled state").option("-p, --project <id>","project id (overrides $PHOTON_PROJECT_ID)").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-t, --token <token>","API token (overrides stored creds)").option("--json","output JSON").action(async(B)=>{let{projectId:E,env:Z}=await m({flagProjectId:B.project,apiHost:B.apiHost}),{api:J}=await y({apiHost:Z.url,token:B.token,requireAuth:!0}),{data:Y,error:H,status:Q}=await J.api.projects({id:E}).platforms.get();if(Q===401)throw new k(Z.name);if(H)W(`Failed to list platforms: ${_(H)}`);let X=$6(Y,"platform map");if(B.json)return b(X);let C=Object.entries(X);if(C.length===0){console.log(K.dim("No platforms configured for this project."));return}let G=C.sort(([u],[q])=>u.localeCompare(q)).map(([u,q])=>[u,q?K.green("on"):K.dim("off")]);KD(["platform","state"],G)}),F.command("enable <name>").description("enable a platform").option("-p, --project <id>","project id (overrides $PHOTON_PROJECT_ID)").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-t, --token <token>","API token (overrides stored creds)").option("--json","output JSON").action(async(B,E)=>{await q4(B,!0,E)}),F.command("disable <name>").description("disable a platform").option("-p, --project <id>","project id (overrides $PHOTON_PROJECT_ID)").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-t, --token <token>","API token (overrides stored creds)").option("--json","output JSON").action(async(B,E)=>{await q4(B,!1,E)})}async function q4(D,F,B){let{projectId:E,env:Z}=await m({flagProjectId:B.project,apiHost:B.apiHost}),{api:J}=await y({apiHost:Z.url,token:B.token,requireAuth:!0}),{data:Y,error:H,status:Q}=await J.api.projects({id:E}).platforms.toggle.post({platformId:D,enabled:F});if(Q===401)throw new k(Z.name);if(H)W(`Failed to ${F?"enable":"disable"} ${D}: ${_(H)}`);let X=Y;if(X.error)W(X.error,{hint:X.error==="Unsupported platform"?"Run `photon spectrum platforms ls` to see available platforms.":void 0});if(B.json)return b(X.platforms??{});console.log(K.success(`${F?"Enabled":"Disabled"} ${K.bold(D)}`))}function W4(D){let F=D.command("profile").description("view or update the Spectrum profile");F.command("show",{isDefault:!0}).description("show the Spectrum profile").option("-p, --project <id>","project id (overrides $PHOTON_PROJECT_ID)").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-t, --token <token>","API token (overrides stored creds)").option("--json","output JSON").action(async(B)=>{let{projectId:E,env:Z}=await m({flagProjectId:B.project,apiHost:B.apiHost}),{api:J}=await y({apiHost:Z.url,token:B.token,requireAuth:!0}),{data:Y,error:H,status:Q}=await J.api.projects({id:E}).spectrum.profile.get();if(Q===401)throw new k(Z.name);if(H)W(`Failed to fetch Spectrum profile: ${_(H)}`);if(B.json)return b(Y??{});if(!Y||typeof Y!=="object"){console.log(K.dim("No Spectrum profile."));return}let X=Object.entries(Y).filter(([G])=>!["id","projectId"].includes(G));if(X.length===0){console.log(K.dim("Empty Spectrum profile."));return}let C=Math.max(...X.map(([G])=>G.length));for(let[G,u]of X)console.log(` ${K.dim(G.padEnd(C))} ${MZ(u)}`)}),F.command("update").alias("edit").description("update the Spectrum profile (preserves unset fields)").option("--first-name <name>").option("--last-name <name>").option("-p, --project <id>","project id (overrides $PHOTON_PROJECT_ID)").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-t, --token <token>","API token (overrides stored creds)").option("--json","output JSON").action(async(B)=>{if(!(B.firstName!==void 0||B.lastName!==void 0))W("Nothing to update.",{hint:"Pass at least one of --first-name / --last-name."});let{projectId:Z,env:J}=await m({flagProjectId:B.project,apiHost:B.apiHost}),{api:Y}=await y({apiHost:J.url,token:B.token,requireAuth:!0}),H={};if(B.firstName!==void 0)H.firstName=B.firstName;if(B.lastName!==void 0)H.lastName=B.lastName;let{data:Q,error:X,status:C}=await Y.api.projects({id:Z}).spectrum.profile.patch(H);if(C===401)throw new k(J.name);if(X)W(`Failed to update Spectrum profile: ${_(X)}`);let G=Q;if(G.error)W(G.error);if(B.json)return b(G.profile??{});console.log(K.success("Spectrum profile updated."))}),F.command("sync").description("sync the project profile to every dedicated iMessage line").option("-p, --project <id>","project id (overrides $PHOTON_PROJECT_ID)").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-t, --token <token>","API token (overrides stored creds)").option("--json","output JSON").action(async(B)=>{let{projectId:E,env:Z}=await m({flagProjectId:B.project,apiHost:B.apiHost}),{api:J}=await y({apiHost:Z.url,token:B.token,requireAuth:!0}),{data:Y,error:H,status:Q}=await J.api.projects({id:E}).spectrum.profile.sync.post();if(Q===401)throw new k(Z.name);if(H)W(`Failed to trigger Spectrum profile sync: ${_(H)}`);if(!Y?.succeed)W("Failed to trigger Spectrum profile sync: empty API response.");if(B.json){b(Y.data);return}let{targetedLineCount:X}=Y.data;console.log(K.success(`Profile synced. ${X} ${X===1?"line":"lines"} updated.`))})}function MZ(D){if(D===null||D===void 0||D==="")return K.dim("—");if(typeof D==="boolean")return D?K.green("yes"):K.dim("no");if(typeof D==="object")return JSON.stringify(D);return String(D)}function U4(D){let F=D.command("users").description("manage Spectrum users on a project");F.command("list",{isDefault:!0}).alias("ls").description("list Spectrum users for the active project").option("-p, --project <id>","project id (overrides $PHOTON_PROJECT_ID)").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-t, --token <token>","API token (overrides stored creds)").option("--json","output JSON").action(async(B)=>{let{projectId:E,env:Z}=await m({flagProjectId:B.project,apiHost:B.apiHost}),{api:J}=await y({apiHost:Z.url,token:B.token,requireAuth:!0}),{data:Y,error:H,status:Q}=await J.api.projects({id:E}).spectrum.users.get();if(Q===401)throw new k(Z.name);if(H)W(`Failed to list users: ${_(H)}`);let X=q2(Y,"users");if(B.json)return b(X);if(X.length===0){console.log(K.dim("No Spectrum users yet.")),console.log(K.hint("Add one with `photon spectrum users add`."));return}let C=X.map((G)=>[AZ(G.id,10),$4(G),G.email??K.dim("—"),G.phoneNumber??K.dim("—")]);KD(["id","name","email","phone"],C)}),F.command("add").alias("create").description("add a Spectrum user to the active project").option("--first-name <name>","first name").option("--last-name <name>","last name").option("--email <email>","email address").option("--phone <number>","phone number (E.164)").option("--invite","send an onboarding invite to this user").option("-p, --project <id>","project id (overrides $PHOTON_PROJECT_ID)").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-t, --token <token>","API token (overrides stored creds)").option("--json","output JSON").action(async(B)=>{let{projectId:E,env:Z}=await m({flagProjectId:B.project,apiHost:B.apiHost}),{api:J}=await y({apiHost:Z.url,token:B.token,requireAuth:!0}),Y=await VZ(B),{data:H,error:Q,status:X}=await J.api.projects({id:E}).spectrum.users.post({firstName:Y.firstName,lastName:Y.lastName,email:Y.email,phoneNumber:Y.phone,sendInvite:B.invite??!1});if(X===401)throw new k(Z.name);if(Q)W(`Failed to add user: ${_(Q)}`);let C=H;if(C.error)W(C.error);if(B.json)return b(C.user??{});let G=C.user;if(console.log(K.success(`Added ${$4(G??Y)} ${G?.id?K.dim(`(${G.id})`):""}`)),B.invite)console.log(K.dim(" Invite sent."))}),F.command("remove <user-id>").alias("rm").alias("delete").description("remove a Spectrum user").option("-p, --project <id>","project id (overrides $PHOTON_PROJECT_ID)").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-t, --token <token>","API token (overrides stored creds)").option("-y, --yes","skip confirmation").action(async(B,E)=>{let{projectId:Z,env:J}=await m({flagProjectId:E.project,apiHost:E.apiHost}),{api:Y}=await y({apiHost:J.url,token:E.token,requireAuth:!0});await iD({message:`Remove user ${B} from project ${Z}?`,yes:E.yes??!1,fallbackHint:`Pass --yes to remove user ${B}.`});let{error:H,status:Q}=await Y.api.projects({id:Z}).spectrum.users({userId:B}).delete();if(Q===401)throw new k(J.name);if(H)W(`Failed to remove user: ${_(H)}`);console.log(K.success(`Removed user ${B}`))})}async function VZ(D){if(!XD()){let F=[];if(!D.firstName)F.push("--first-name");if(!D.lastName)F.push("--last-name");if(!D.email)F.push("--email");if(!D.phone)F.push("--phone");if(F.length>0)W(`Missing required flags in non-interactive mode: ${F.join(", ")}`);return{firstName:D.firstName,lastName:D.lastName,email:D.email,phone:D.phone}}return{firstName:D.firstName??await b2("First name"),lastName:D.lastName??await b2("Last name"),email:D.email??await b2("Email"),phone:D.phone??await b2("Phone (E.164, e.g. +14155551234)")}}async function b2(D){let F=await SD({message:D,validate:(B)=>B&&B.trim()?void 0:"Required"});if(t(F))W("Aborted.");return F.trim()}function $4(D){let F=[D.firstName,D.lastName].filter(Boolean);return F.length>0?F.join(" "):K.dim("(no name)")}function AZ(D,F){return D.length>F?`${D.slice(0,F)}…`:D}function N4(D){let F=D.command("spectrum").description("manage Spectrum users, lines, platforms, and profile");W4(F),U4(F),z4(F),u4(F),G4(F)}function M4(D){D.command("update").description("update Photon to the latest release").option("--check","check for an update without installing it").option("--force","reinstall even when this version is current").option("--installer <name>","override package-manager detection (npm, pnpm, yarn Classic, bun)").option("--json","output machine-readable JSON").action(async(F)=>{if(F.check&&F.force)throw Error("--check and --force cannot be used together.");let B=F.installer?i3(F.installer):void 0;if(!F.json)console.log(K.info(F.check?"Checking for Photon updates…":"Updating Photon…"));let E=await r3({check:F.check,force:F.force,installer:B,quiet:F.json});if(F.json){b(E);return}if(E.status==="up-to-date"){console.log(K.success(`Photon ${E.currentVersion} is up to date.`));return}if(E.status==="update-available"){console.log(K.warn(`Update available: ${E.currentVersion} → ${E.latestVersion}`)),console.log(K.hint(" Run `photon update` to install it."));return}if(E.status==="reinstalled"){console.log(K.success(`Reinstalled Photon ${E.currentVersion} with ${E.installer}.`));return}console.log(K.success(`Updated Photon ${E.currentVersion} → ${E.latestVersion} with ${E.installer}.`))})}function A4(D){D.command("whoami").description("show the user authenticated for the active backend").option("--api-host <url>","API host URL (defaults to PHOTON_API_HOST or built-in production)").option("-t, --token <token>","API token (overrides stored creds)").action(async(F)=>{let{api:B,env:E,creds:Z}=await y({apiHost:F.apiHost,token:F.token,requireAuth:!0}),{data:J,error:Y,status:H}=await B.api.profile.get();if(H===401)throw new k(E.name);if(Y)W(`Failed to fetch profile: ${_(Y)}`);if(!Z){if(console.log(K.dim(`authenticated via token on backend ${E.name} (${E.url})`)),J&&typeof J==="object"){let X=V4(J);if(X)console.log(K.dim(`profile: ${X}`))}return}let Q=Z.user;if(console.log(K.bold(Q.name)+K.dim(` <${Q.email}>`)),console.log(K.dim(`backend: ${E.name} (${E.url})`)),console.log(K.dim(`signed in: ${new Date(Z.issuedAt).toLocaleString()}`)),J&&typeof J==="object"){let X=V4(J);if(X)console.log(K.dim(`profile: ${X}`))}})}function V4(D){if(!D||typeof D!=="object")return null;let F=D;if(F.type==="developer"||F.type==="organization")return F.type;return null}function j4(){let D=new q8().name("photon").description("Photon CLI — bring your agents to any interface").version(ED.version,"-v, --version","output the current version").option("--debug","verbose output incl. HTTP request/response").hook("preAction",(F)=>{let B=F.opts();L8(!!B.debug)});return B4(D),A6(D),D4(D),F4(D),A4(D),M4(D),Z4(D),X4(D),N4(D),M6(D),V8(D),V6(D),D}if(!n3(process.argv))V3();var jZ=j4();jZ.parseAsync(process.argv).catch(TZ);function TZ(D){if(D instanceof J0||D instanceof k){let F=D.envName==="production"?"":` --api-host <url> # for "${D.envName}"`;W(D.message,{hint:`Run \`photon login${F}\`.`})}if(D instanceof nD)W(D.message,{hint:"Re-run `photon login` if this was unintentional."});if(D instanceof gD)W(D.message,{hint:"Re-run `photon login` and approve more quickly."});if(D instanceof Error){if(/Unable to connect|fetch failed|ECONNREFUSED/i.test(D.message))W(D.message,{hint:"Check your connection, or set PHOTON_API_HOST / pass --api-host <url> to target a reachable backend."});W(D.message)}W(String(D))}