likec4 1.12.1 → 1.13.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.
@@ -1,14 +1,14 @@
1
1
  #!/usr/bin/env node
2
- import{hrtime as zs,cwd as hi,stdout as Hs,exit as Gs,argv as Ys}from"node:process";import{m as qt,o as pi,p as qs,s as Js,N as mi,t as Ks,v as gi,y as Qs,z as Xs,A as Di,B as Ci,D as Zs,E as b,F as er,G as De,I as tr,K as nr,M as ke,R as ir,U as sr,V as rr,W as wi,X as Ai,e as qe,C as ur,Y as or,$ as Jt,q as Ei,b as yn,a0 as bi,a1 as ar,a2 as Fi,a3 as yi,a4 as vi,a5 as cr}from"../shared/likec4.DIJE01bW.mjs";import{notStrictEqual as lr,strictEqual as fr}from"assert";import{resolve as je,dirname as vn,normalize as dr,basename as hr,extname as pr,relative as mr}from"path";import{statSync as Bi,readdirSync as gr,readFileSync as Bn,writeFile as Dr}from"fs";import{format as Oi,inspect as Cr}from"util";import{fileURLToPath as wr}from"url";import{resolve as Q,dirname as _t,join as St,extname as Kt,relative as wt,isAbsolute as _i,basename as On}from"node:path";import{existsSync as st,copyFileSync as Si,rmSync as Ii}from"node:fs";import{mkdtemp as Qt,writeFile as At,mkdir as Je,stat as xi,copyFile as Ar,rm as Er}from"node:fs/promises";import br,{tmpdir as Xt}from"node:os";import{fileURLToPath as Fr}from"node:url";import{build as It,createServer as yr,preview as vr}from"vite";import{chromium as $i}from"playwright";import Br from"node:net";import{setTimeout as Or}from"node:timers/promises";import _r from"@vitejs/plugin-react-swc";import"tty";import"@hpcc-js/wasm-graphviz";import"node:util";import"node:tty";import"node:child_process";import"node:string_decoder";import"child_process";import"node:events";import"node:v8";import"node:stream";import"node:buffer";import"node:stream/promises";import"buffer";import"os";import"crypto";import"net";const Sr={right:Nr,center:Lr},Ir=0,Zt=1,xr=2,en=3;class $r{constructor(e){var t;this.width=e.width,this.wrap=(t=e.wrap)!==null&&t!==void 0?t:!0,this.rows=[]}span(...e){const t=this.div(...e);t.span=!0}resetOutput(){this.rows=[]}div(...e){if(e.length===0&&this.div(""),this.wrap&&this.shouldApplyLayoutDSL(...e)&&typeof e[0]=="string")return this.applyLayoutDSL(e[0]);const t=e.map(n=>typeof n=="string"?this.colFromString(n):n);return this.rows.push(t),t}shouldApplyLayoutDSL(...e){return e.length===1&&typeof e[0]=="string"&&/[\t\n]/.test(e[0])}applyLayoutDSL(e){const t=e.split(`
3
- `).map(s=>s.split(" "));let n=0;return t.forEach(s=>{s.length>1&&Ee.stringWidth(s[0])>n&&(n=Math.min(Math.floor(this.width*.5),Ee.stringWidth(s[0])))}),t.forEach(s=>{this.div(...s.map((r,u)=>({text:r.trim(),padding:this.measurePadding(r),width:u===0&&s.length>1?n:void 0})))}),this.rows[this.rows.length-1]}colFromString(e){return{text:e,padding:this.measurePadding(e)}}measurePadding(e){const t=Ee.stripAnsi(e);return[0,t.match(/\s*$/)[0].length,0,t.match(/^\s*/)[0].length]}toString(){const e=[];return this.rows.forEach(t=>{this.rowToString(t,e)}),e.filter(t=>!t.hidden).map(t=>t.text).join(`
4
- `)}rowToString(e,t){return this.rasterize(e).forEach((n,s)=>{let r="";n.forEach((u,a)=>{const{width:c}=e[a],h=this.negatePadding(e[a]);let l=u;if(h>Ee.stringWidth(u)&&(l+=" ".repeat(h-Ee.stringWidth(u))),e[a].align&&e[a].align!=="left"&&this.wrap){const m=Sr[e[a].align];l=m(l,h),Ee.stringWidth(l)<h&&(l+=" ".repeat((c||0)-Ee.stringWidth(l)-1))}const f=e[a].padding||[0,0,0,0];f[en]&&(r+=" ".repeat(f[en])),r+=ji(e[a],l,"| "),r+=l,r+=ji(e[a],l," |"),f[Zt]&&(r+=" ".repeat(f[Zt])),s===0&&t.length>0&&(r=this.renderInline(r,t[t.length-1]))}),t.push({text:r.replace(/ +$/,""),span:e.span})}),t}renderInline(e,t){const n=e.match(/^ */),s=n?n[0].length:0,r=t.text,u=Ee.stringWidth(r.trimRight());return t.span?this.wrap?s<u?e:(t.hidden=!0,r.trimRight()+" ".repeat(s-u)+e.trimLeft()):(t.hidden=!0,r+e):e}rasterize(e){const t=[],n=this.columnWidths(e);let s;return e.forEach((r,u)=>{r.width=n[u],this.wrap?s=Ee.wrap(r.text,this.negatePadding(r),{hard:!0}).split(`
5
- `):s=r.text.split(`
6
- `),r.border&&(s.unshift("."+"-".repeat(this.negatePadding(r)+2)+"."),s.push("'"+"-".repeat(this.negatePadding(r)+2)+"'")),r.padding&&(s.unshift(...new Array(r.padding[Ir]||0).fill("")),s.push(...new Array(r.padding[xr]||0).fill(""))),s.forEach((a,c)=>{t[c]||t.push([]);const h=t[c];for(let l=0;l<u;l++)h[l]===void 0&&h.push("");h.push(a)})}),t}negatePadding(e){let t=e.width||0;return e.padding&&(t-=(e.padding[en]||0)+(e.padding[Zt]||0)),e.border&&(t-=4),t}columnWidths(e){if(!this.wrap)return e.map(u=>u.width||Ee.stringWidth(u.text));let t=e.length,n=this.width;const s=e.map(u=>{if(u.width)return t--,n-=u.width,u.width}),r=t?Math.floor(n/t):0;return s.map((u,a)=>u===void 0?Math.max(r,jr(e[a])):u)}}function ji(i,e,t){return i.border?/[.']-+[.']/.test(e)?"":e.trim().length!==0?t:" ":""}function jr(i){const e=i.padding||[],t=1+(e[en]||0)+(e[Zt]||0);return i.border?t+4:t}function Pr(){return typeof process=="object"&&process.stdout&&process.stdout.columns?process.stdout.columns:80}function Nr(i,e){i=i.trim();const t=Ee.stringWidth(i);return t<e?" ".repeat(e-t)+i:i}function Lr(i,e){i=i.trim();const t=Ee.stringWidth(i);return t>=e?i:" ".repeat(e-t>>1)+i}let Ee;function Mr(i,e){return Ee=e,new $r({width:i?.width||Pr(),wrap:i?.wrap})}const Pi=new RegExp("\x1B(?:\\[(?:\\d+[ABCDEFGJKSTm]|\\d+;\\d+[Hfm]|\\d+;\\d+;\\d+m|6n|s|u|\\?25[lh])|\\w)","g");function Ni(i){return i.replace(Pi,"")}function kr(i,e){const[t,n]=i.match(Pi)||["",""];i=Ni(i);let s="";for(let r=0;r<i.length;r++)r!==0&&r%e===0&&(s+=`
7
- `),s+=i.charAt(r);return t&&n&&(s=`${t}${s}${n}`),s}function Tr(i){return Mr(i,{stringWidth:e=>[...e].length,stripAnsi:Ni,wrap:kr})}function Rr(i,e){let t=je(".",i),n;for(Bi(t).isDirectory()||(t=vn(t));;){if(n=e(t,gr(t)),n)return je(t,n);if(t=vn(n=t),n===t)break}}function xt(i){if(i!==i.toLowerCase()&&i!==i.toUpperCase()||(i=i.toLowerCase()),i.indexOf("-")===-1&&i.indexOf("_")===-1)return i;{let t="",n=!1;const s=i.match(/^-+/);for(let r=s?s[0].length:0;r<i.length;r++){let u=i.charAt(r);n&&(n=!1,u=u.toUpperCase()),r!==0&&(u==="-"||u==="_")?n=!0:u!=="-"&&u!=="_"&&(t+=u)}return t}}function Li(i,e){const t=i.toLowerCase();e=e||"-";let n="";for(let s=0;s<i.length;s++){const r=t.charAt(s),u=i.charAt(s);r!==u&&s>0?n+=`${e}${t.charAt(s)}`:n+=u}return n}function Mi(i){return i==null?!1:typeof i=="number"||/^0x[0-9a-f]+$/i.test(i)?!0:/^0[^.]/.test(i)?!1:/^[-]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(i)}function Wr(i){if(Array.isArray(i))return i.map(u=>typeof u!="string"?u+"":u);i=i.trim();let e=0,t=null,n=null,s=null;const r=[];for(let u=0;u<i.length;u++){if(t=n,n=i.charAt(u),n===" "&&!s){t!==" "&&e++;continue}n===s?s=null:(n==="'"||n==='"')&&!s&&(s=n),r[e]||(r[e]=""),r[e]+=n}return r}var Pe;(function(i){i.BOOLEAN="boolean",i.STRING="string",i.NUMBER="number",i.ARRAY="array"})(Pe||(Pe={}));let ze;class Ur{constructor(e){ze=e}parse(e,t){const n=Object.assign({alias:void 0,array:void 0,boolean:void 0,config:void 0,configObjects:void 0,configuration:void 0,coerce:void 0,count:void 0,default:void 0,envPrefix:void 0,narg:void 0,normalize:void 0,string:void 0,number:void 0,__:void 0,key:void 0},t),s=Wr(e),r=typeof e=="string",u=Vr(Object.assign(Object.create(null),n.alias)),a=Object.assign({"boolean-negation":!0,"camel-case-expansion":!0,"combine-arrays":!1,"dot-notation":!0,"duplicate-arguments-array":!0,"flatten-duplicate-arrays":!0,"greedy-arrays":!0,"halt-at-non-option":!1,"nargs-eats-options":!1,"negation-prefix":"no-","parse-numbers":!0,"parse-positional-numbers":!0,"populate--":!1,"set-placeholder-key":!1,"short-option-groups":!0,"strip-aliased":!1,"strip-dashed":!1,"unknown-options-as-args":!1},n.configuration),c=Object.assign(Object.create(null),n.default),h=n.configObjects||[],l=n.envPrefix,f=a["populate--"],m=f?"--":"_",C=Object.create(null),F=Object.create(null),w=n.__||ze.format,p={aliases:Object.create(null),arrays:Object.create(null),bools:Object.create(null),strings:Object.create(null),numbers:Object.create(null),counts:Object.create(null),normalize:Object.create(null),configs:Object.create(null),nargs:Object.create(null),coercions:Object.create(null),keys:[]},y=/^-([0-9]+(\.[0-9]+)?|\.[0-9]+)$/,B=new RegExp("^--"+a["negation-prefix"]+"(.+)");[].concat(n.array||[]).filter(Boolean).forEach(function(d){const D=typeof d=="object"?d.key:d,v=Object.keys(d).map(function(A){return{boolean:"bools",string:"strings",number:"numbers"}[A]}).filter(Boolean).pop();v&&(p[v][D]=!0),p.arrays[D]=!0,p.keys.push(D)}),[].concat(n.boolean||[]).filter(Boolean).forEach(function(d){p.bools[d]=!0,p.keys.push(d)}),[].concat(n.string||[]).filter(Boolean).forEach(function(d){p.strings[d]=!0,p.keys.push(d)}),[].concat(n.number||[]).filter(Boolean).forEach(function(d){p.numbers[d]=!0,p.keys.push(d)}),[].concat(n.count||[]).filter(Boolean).forEach(function(d){p.counts[d]=!0,p.keys.push(d)}),[].concat(n.normalize||[]).filter(Boolean).forEach(function(d){p.normalize[d]=!0,p.keys.push(d)}),typeof n.narg=="object"&&Object.entries(n.narg).forEach(([d,D])=>{typeof D=="number"&&(p.nargs[d]=D,p.keys.push(d))}),typeof n.coerce=="object"&&Object.entries(n.coerce).forEach(([d,D])=>{typeof D=="function"&&(p.coercions[d]=D,p.keys.push(d))}),typeof n.config<"u"&&(Array.isArray(n.config)||typeof n.config=="string"?[].concat(n.config).filter(Boolean).forEach(function(d){p.configs[d]=!0}):typeof n.config=="object"&&Object.entries(n.config).forEach(([d,D])=>{(typeof D=="boolean"||typeof D=="function")&&(p.configs[d]=D)})),it(n.key,u,n.default,p.arrays),Object.keys(c).forEach(function(d){(p.aliases[d]||[]).forEach(function(D){c[D]=c[d]})});let M=null;Yt();let L=[];const U=Object.assign(Object.create(null),{_:[]}),Ce={};for(let d=0;d<s.length;d++){const D=s[d],v=D.replace(/^-{3,}/,"---");let A,g,$,_,N,pe;if(D!=="--"&&/^-/.test(D)&&ie(D))Ie(D);else if(v.match(/^---+(=|$)/)){Ie(D);continue}else if(D.match(/^--.+=/)||!a["short-option-groups"]&&D.match(/^-.+=/))_=D.match(/^--?([^=]+)=([\s\S]*)$/),_!==null&&Array.isArray(_)&&_.length>=3&&(T(_[1],p.arrays)?d=tt(d,_[1],s,_[2]):T(_[1],p.nargs)!==!1?d=Ct(d,_[1],s,_[2]):X(_[1],_[2],!0));else if(D.match(B)&&a["boolean-negation"])_=D.match(B),_!==null&&Array.isArray(_)&&_.length>=2&&(g=_[1],X(g,T(g,p.arrays)?[!1]:!1));else if(D.match(/^--.+/)||!a["short-option-groups"]&&D.match(/^-[^-]+/))_=D.match(/^--?(.+)/),_!==null&&Array.isArray(_)&&_.length>=2&&(g=_[1],T(g,p.arrays)?d=tt(d,g,s):T(g,p.nargs)!==!1?d=Ct(d,g,s):(N=s[d+1],N!==void 0&&(!N.match(/^-/)||N.match(y))&&!T(g,p.bools)&&!T(g,p.counts)||/^(true|false)$/.test(N)?(X(g,N),d++):X(g,se(g))));else if(D.match(/^-.\..+=/))_=D.match(/^-([^=]+)=([\s\S]*)$/),_!==null&&Array.isArray(_)&&_.length>=3&&X(_[1],_[2]);else if(D.match(/^-.\..+/)&&!D.match(y))N=s[d+1],_=D.match(/^-(.\..+)/),_!==null&&Array.isArray(_)&&_.length>=2&&(g=_[1],N!==void 0&&!N.match(/^-/)&&!T(g,p.bools)&&!T(g,p.counts)?(X(g,N),d++):X(g,se(g)));else if(D.match(/^-[^-]+/)&&!D.match(y)){$=D.slice(1,-1).split(""),A=!1;for(let we=0;we<$.length;we++){if(N=D.slice(we+2),$[we+1]&&$[we+1]==="="){pe=D.slice(we+3),g=$[we],T(g,p.arrays)?d=tt(d,g,s,pe):T(g,p.nargs)!==!1?d=Ct(d,g,s,pe):X(g,pe),A=!0;break}if(N==="-"){X($[we],N);continue}if(/[A-Za-z]/.test($[we])&&/^-?\d+(\.\d*)?(e-?\d+)?$/.test(N)&&T(N,p.bools)===!1){X($[we],N),A=!0;break}if($[we+1]&&$[we+1].match(/\W/)){X($[we],N),A=!0;break}else X($[we],se($[we]))}g=D.slice(-1)[0],!A&&g!=="-"&&(T(g,p.arrays)?d=tt(d,g,s):T(g,p.nargs)!==!1?d=Ct(d,g,s):(N=s[d+1],N!==void 0&&(!/^(-|--)[^-]/.test(N)||N.match(y))&&!T(g,p.bools)&&!T(g,p.counts)||/^(true|false)$/.test(N)?(X(g,N),d++):X(g,se(g))))}else if(D.match(/^-[0-9]$/)&&D.match(y)&&T(D.slice(1),p.bools))g=D.slice(1),X(g,se(g));else if(D==="--"){L=s.slice(d+1);break}else if(a["halt-at-non-option"]){L=s.slice(d);break}else Ie(D)}J(U,!0),J(U,!1),V(U),de(),ne(U,p.aliases,c,!0),he(U),a["set-placeholder-key"]&&nt(U),Object.keys(p.counts).forEach(function(d){Ue(U,d.split("."))||X(d,0)}),f&&L.length&&(U[m]=[]),L.forEach(function(d){U[m].push(d)}),a["camel-case-expansion"]&&a["strip-dashed"]&&Object.keys(U).filter(d=>d!=="--"&&d.includes("-")).forEach(d=>{delete U[d]}),a["strip-aliased"]&&[].concat(...Object.keys(u).map(d=>u[d])).forEach(d=>{a["camel-case-expansion"]&&d.includes("-")&&delete U[d.split(".").map(D=>xt(D)).join(".")],delete U[d]});function Ie(d){const D=I("_",d);(typeof D=="string"||typeof D=="number")&&U._.push(D)}function Ct(d,D,v,A){let g,$=T(D,p.nargs);if($=typeof $!="number"||isNaN($)?1:$,$===0)return $e(A)||(M=Error(w("Argument unexpected for: %s",D))),X(D,se(D)),d;let _=$e(A)?0:1;if(a["nargs-eats-options"])v.length-(d+1)+_<$&&(M=Error(w("Not enough arguments following: %s",D))),_=$;else{for(g=d+1;g<v.length&&(!v[g].match(/^-[^0-9]/)||v[g].match(y)||ie(v[g]));g++)_++;_<$&&(M=Error(w("Not enough arguments following: %s",D)))}let N=Math.min(_,$);for(!$e(A)&&N>0&&(X(D,A),N--),g=d+1;g<N+d+1;g++)X(D,v[g]);return d+N}function tt(d,D,v,A){let g=[],$=A||v[d+1];const _=T(D,p.nargs);if(T(D,p.bools)&&!/^(true|false)$/.test($))g.push(!0);else if($e($)||$e(A)&&/^-/.test($)&&!y.test($)&&!ie($)){if(c[D]!==void 0){const N=c[D];g=Array.isArray(N)?N:[N]}}else{$e(A)||g.push(O(D,A,!0));for(let N=d+1;N<v.length&&!(!a["greedy-arrays"]&&g.length>0||_&&typeof _=="number"&&g.length>=_||($=v[N],/^-/.test($)&&!y.test($)&&!ie($)));N++)d=N,g.push(O(D,$,r))}return typeof _=="number"&&(_&&g.length<_||isNaN(_)&&g.length===0)&&(M=Error(w("Not enough arguments following: %s",D))),X(D,g),d}function X(d,D,v=r){if(/-/.test(d)&&a["camel-case-expansion"]){const $=d.split(".").map(function(_){return xt(_)}).join(".");j(d,$)}const A=O(d,D,v),g=d.split(".");Ve(U,g,A),p.aliases[d]&&p.aliases[d].forEach(function($){const _=$.split(".");Ve(U,_,A)}),g.length>1&&a["dot-notation"]&&(p.aliases[g[0]]||[]).forEach(function($){let _=$.split(".");const N=[].concat(g);N.shift(),_=_.concat(N),(p.aliases[d]||[]).includes(_.join("."))||Ve(U,_,A)}),T(d,p.normalize)&&!T(d,p.arrays)&&[d].concat(p.aliases[d]||[]).forEach(function(_){Object.defineProperty(Ce,_,{enumerable:!0,get(){return D},set(N){D=typeof N=="string"?ze.normalize(N):N}})})}function j(d,D){p.aliases[d]&&p.aliases[d].length||(p.aliases[d]=[D],C[D]=!0),p.aliases[D]&&p.aliases[D].length||j(D,d)}function O(d,D,v){v&&(D=zr(D)),(T(d,p.bools)||T(d,p.counts))&&typeof D=="string"&&(D=D==="true");let A=Array.isArray(D)?D.map(function(g){return I(d,g)}):I(d,D);return T(d,p.counts)&&($e(A)||typeof A=="boolean")&&(A=_n()),T(d,p.normalize)&&T(d,p.arrays)&&(Array.isArray(D)?A=D.map(g=>ze.normalize(g)):A=ze.normalize(D)),A}function I(d,D){return!a["parse-positional-numbers"]&&d==="_"||!T(d,p.strings)&&!T(d,p.bools)&&!Array.isArray(D)&&(Mi(D)&&a["parse-numbers"]&&Number.isSafeInteger(Math.floor(parseFloat(`${D}`)))||!$e(D)&&T(d,p.numbers))&&(D=Number(D)),D}function V(d){const D=Object.create(null);ne(D,p.aliases,c),Object.keys(p.configs).forEach(function(v){const A=d[v]||D[v];if(A)try{let g=null;const $=ze.resolve(ze.cwd(),A),_=p.configs[v];if(typeof _=="function"){try{g=_($)}catch(N){g=N}if(g instanceof Error){M=g;return}}else g=ze.require($);K(g)}catch(g){g.name==="PermissionDenied"?M=g:d[v]&&(M=Error(w("Invalid JSON config file: %s",A)))}})}function K(d,D){Object.keys(d).forEach(function(v){const A=d[v],g=D?D+"."+v:v;typeof A=="object"&&A!==null&&!Array.isArray(A)&&a["dot-notation"]?K(A,g):(!Ue(U,g.split("."))||T(g,p.arrays)&&a["combine-arrays"])&&X(g,A)})}function de(){typeof h<"u"&&h.forEach(function(d){K(d)})}function J(d,D){if(typeof l>"u")return;const v=typeof l=="string"?l:"",A=ze.env();Object.keys(A).forEach(function(g){if(v===""||g.lastIndexOf(v,0)===0){const $=g.split("__").map(function(_,N){return N===0&&(_=_.substring(v.length)),xt(_)});(D&&p.configs[$.join(".")]||!D)&&!Ue(d,$)&&X($.join("."),A[g])}})}function he(d){let D;const v=new Set;Object.keys(d).forEach(function(A){if(!v.has(A)&&(D=T(A,p.coercions),typeof D=="function"))try{const g=I(A,D(d[A]));[].concat(p.aliases[A]||[],A).forEach($=>{v.add($),d[$]=g})}catch(g){M=g}})}function nt(d){return p.keys.forEach(D=>{~D.indexOf(".")||typeof d[D]>"u"&&(d[D]=void 0)}),d}function ne(d,D,v,A=!1){Object.keys(v).forEach(function(g){Ue(d,g.split("."))||(Ve(d,g.split("."),v[g]),A&&(F[g]=!0),(D[g]||[]).forEach(function($){Ue(d,$.split("."))||Ve(d,$.split("."),v[g])}))})}function Ue(d,D){let v=d;a["dot-notation"]||(D=[D.join(".")]),D.slice(0,-1).forEach(function(g){v=v[g]||{}});const A=D[D.length-1];return typeof v!="object"?!1:A in v}function Ve(d,D,v){let A=d;a["dot-notation"]||(D=[D.join(".")]),D.slice(0,-1).forEach(function(pe){pe=ki(pe),typeof A=="object"&&A[pe]===void 0&&(A[pe]={}),typeof A[pe]!="object"||Array.isArray(A[pe])?(Array.isArray(A[pe])?A[pe].push({}):A[pe]=[A[pe],{}],A=A[pe][A[pe].length-1]):A=A[pe]});const g=ki(D[D.length-1]),$=T(D.join("."),p.arrays),_=Array.isArray(v);let N=a["duplicate-arguments-array"];!N&&T(g,p.nargs)&&(N=!0,(!$e(A[g])&&p.nargs[g]===1||Array.isArray(A[g])&&A[g].length===p.nargs[g])&&(A[g]=void 0)),v===_n()?A[g]=_n(A[g]):Array.isArray(A[g])?N&&$&&_?A[g]=a["flatten-duplicate-arrays"]?A[g].concat(v):(Array.isArray(A[g][0])?A[g]:[A[g]]).concat([v]):!N&&!!$==!!_?A[g]=v:A[g]=A[g].concat([v]):A[g]===void 0&&$?A[g]=_?v:[v]:N&&!(A[g]===void 0||T(g,p.counts)||T(g,p.bools))?A[g]=[A[g],v]:A[g]=v}function it(...d){d.forEach(function(D){Object.keys(D||{}).forEach(function(v){p.aliases[v]||(p.aliases[v]=[].concat(u[v]||[]),p.aliases[v].concat(v).forEach(function(A){if(/-/.test(A)&&a["camel-case-expansion"]){const g=xt(A);g!==v&&p.aliases[v].indexOf(g)===-1&&(p.aliases[v].push(g),C[g]=!0)}}),p.aliases[v].concat(v).forEach(function(A){if(A.length>1&&/[A-Z]/.test(A)&&a["camel-case-expansion"]){const g=Li(A,"-");g!==v&&p.aliases[v].indexOf(g)===-1&&(p.aliases[v].push(g),C[g]=!0)}}),p.aliases[v].forEach(function(A){p.aliases[A]=[v].concat(p.aliases[v].filter(function(g){return A!==g}))}))})})}function T(d,D){const v=[].concat(p.aliases[d]||[],d),A=Object.keys(D),g=v.find($=>A.includes($));return g?D[g]:!1}function Fn(d){const D=Object.keys(p);return[].concat(D.map(A=>p[A])).some(function(A){return Array.isArray(A)?A.includes(d):A[d]})}function k(d,...D){return[].concat(...D).some(function(A){const g=d.match(A);return g&&Fn(g[1])})}function te(d){if(d.match(y)||!d.match(/^-[^-]+/))return!1;let D=!0,v;const A=d.slice(1).split("");for(let g=0;g<A.length;g++){if(v=d.slice(g+2),!Fn(A[g])){D=!1;break}if(A[g+1]&&A[g+1]==="="||v==="-"||/[A-Za-z]/.test(A[g])&&/^-?\d+(\.\d*)?(e-?\d+)?$/.test(v)||A[g+1]&&A[g+1].match(/\W/))break}return D}function ie(d){return a["unknown-options-as-args"]&&q(d)}function q(d){return d=d.replace(/^-{3,}/,"--"),d.match(y)||te(d)?!1:!k(d,/^-+([^=]+?)=[\s\S]*$/,B,/^-+([^=]+?)$/,/^-+([^=]+?)-$/,/^-+([^=]+?\d+)$/,/^-+([^=]+?)\W+.*$/)}function se(d){return!T(d,p.bools)&&!T(d,p.counts)&&`${d}`in c?c[d]:ue(xe(d))}function ue(d){return{[Pe.BOOLEAN]:!0,[Pe.STRING]:"",[Pe.NUMBER]:void 0,[Pe.ARRAY]:[]}[d]}function xe(d){let D=Pe.BOOLEAN;return T(d,p.strings)?D=Pe.STRING:T(d,p.numbers)?D=Pe.NUMBER:T(d,p.bools)?D=Pe.BOOLEAN:T(d,p.arrays)&&(D=Pe.ARRAY),D}function $e(d){return d===void 0}function Yt(){Object.keys(p.counts).find(d=>T(d,p.arrays)?(M=Error(w("Invalid configuration: %s, opts.count excludes opts.array.",d)),!0):T(d,p.nargs)?(M=Error(w("Invalid configuration: %s, opts.count excludes opts.narg.",d)),!0):!1)}return{aliases:Object.assign({},p.aliases),argv:Object.assign(Ce,U),configuration:a,defaulted:Object.assign({},F),error:M,newAliases:Object.assign({},C)}}}function Vr(i){const e=[],t=Object.create(null);let n=!0;for(Object.keys(i).forEach(function(s){e.push([].concat(i[s],s))});n;){n=!1;for(let s=0;s<e.length;s++)for(let r=s+1;r<e.length;r++)if(e[s].filter(function(a){return e[r].indexOf(a)!==-1}).length){e[s]=e[s].concat(e[r]),e.splice(r,1),n=!0;break}}return e.forEach(function(s){s=s.filter(function(u,a,c){return c.indexOf(u)===a});const r=s.pop();r!==void 0&&typeof r=="string"&&(t[r]=s)}),t}function _n(i){return i!==void 0?i+1:1}function ki(i){return i==="__proto__"?"___proto___":i}function zr(i){return typeof i=="string"&&(i[0]==="'"||i[0]==='"')&&i[i.length-1]===i[0]?i.substring(1,i.length-1):i}var Sn,In,xn;const Ti=process&&process.env&&process.env.YARGS_MIN_NODE_VERSION?Number(process.env.YARGS_MIN_NODE_VERSION):12,Ri=(In=(Sn=process==null?void 0:process.versions)===null||Sn===void 0?void 0:Sn.node)!==null&&In!==void 0?In:(xn=process==null?void 0:process.version)===null||xn===void 0?void 0:xn.slice(1);if(Ri&&Number(Ri.match(/^([^.]+)/)[1])<Ti)throw Error(`yargs parser supports a minimum Node.js version of ${Ti}. Read our version support policy: https://github.com/yargs/yargs-parser#supported-nodejs-versions`);const Hr=process?process.env:{},Wi=new Ur({cwd:process.cwd,env:()=>Hr,format:Oi,normalize:dr,resolve:je,require:i=>{if(typeof qt<"u")return qt(i);if(i.match(/\.json$/))return JSON.parse(Bn(i,"utf8"));throw Error("only .json config files are supported in ESM")}}),$t=function(e,t){return Wi.parse(e.slice(),t).argv};$t.detailed=function(i,e){return Wi.parse(i.slice(),e)},$t.camelCase=xt,$t.decamelize=Li,$t.looksLikeNumber=Mi;function Ui(){return Gr()?0:1}function Gr(){return Yr()&&!process.defaultApp}function Yr(){return!!process.versions.electron}function qr(i){return i.slice(Ui()+1)}function Jr(){return process.argv[Ui()]}class le extends Error{constructor(e){super(e||"yargs error"),this.name="YError",Error.captureStackTrace&&Error.captureStackTrace(this,le)}}const Kr={fs:{readFileSync:Bn,writeFile:Dr},format:Oi,resolve:je,exists:i=>{try{return Bi(i).isFile()}catch{return!1}}};let Ne;class Qr{constructor(e){e=e||{},this.directory=e.directory||"./locales",this.updateFiles=typeof e.updateFiles=="boolean"?e.updateFiles:!0,this.locale=e.locale||"en",this.fallbackToLanguage=typeof e.fallbackToLanguage=="boolean"?e.fallbackToLanguage:!0,this.cache=Object.create(null),this.writeQueue=[]}__(...e){if(typeof arguments[0]!="string")return this._taggedLiteral(arguments[0],...arguments);const t=e.shift();let n=function(){};return typeof e[e.length-1]=="function"&&(n=e.pop()),n=n||function(){},this.cache[this.locale]||this._readLocaleFile(),!this.cache[this.locale][t]&&this.updateFiles?(this.cache[this.locale][t]=t,this._enqueueWrite({directory:this.directory,locale:this.locale,cb:n})):n(),Ne.format.apply(Ne.format,[this.cache[this.locale][t]||t].concat(e))}__n(){const e=Array.prototype.slice.call(arguments),t=e.shift(),n=e.shift(),s=e.shift();let r=function(){};typeof e[e.length-1]=="function"&&(r=e.pop()),this.cache[this.locale]||this._readLocaleFile();let u=s===1?t:n;this.cache[this.locale][t]&&(u=this.cache[this.locale][t][s===1?"one":"other"]),!this.cache[this.locale][t]&&this.updateFiles?(this.cache[this.locale][t]={one:t,other:n},this._enqueueWrite({directory:this.directory,locale:this.locale,cb:r})):r();const a=[u];return~u.indexOf("%d")&&a.push(s),Ne.format.apply(Ne.format,a.concat(e))}setLocale(e){this.locale=e}getLocale(){return this.locale}updateLocale(e){this.cache[this.locale]||this._readLocaleFile();for(const t in e)Object.prototype.hasOwnProperty.call(e,t)&&(this.cache[this.locale][t]=e[t])}_taggedLiteral(e,...t){let n="";return e.forEach(function(s,r){const u=t[r+1];n+=s,typeof u<"u"&&(n+="%s")}),this.__.apply(this,[n].concat([].slice.call(t,1)))}_enqueueWrite(e){this.writeQueue.push(e),this.writeQueue.length===1&&this._processWriteQueue()}_processWriteQueue(){const e=this,t=this.writeQueue[0],n=t.directory,s=t.locale,r=t.cb,u=this._resolveLocaleFile(n,s),a=JSON.stringify(this.cache[s],null,2);Ne.fs.writeFile(u,a,"utf-8",function(c){e.writeQueue.shift(),e.writeQueue.length>0&&e._processWriteQueue(),r(c)})}_readLocaleFile(){let e={};const t=this._resolveLocaleFile(this.directory,this.locale);try{Ne.fs.readFileSync&&(e=JSON.parse(Ne.fs.readFileSync(t,"utf-8")))}catch(n){if(n instanceof SyntaxError&&(n.message="syntax error in "+t),n.code==="ENOENT")e={};else throw n}this.cache[this.locale]=e}_resolveLocaleFile(e,t){let n=Ne.resolve(e,"./",t+".json");if(this.fallbackToLanguage&&!this._fileExistsSync(n)&&~t.lastIndexOf("_")){const s=Ne.resolve(e,"./",t.split("_")[0]+".json");this._fileExistsSync(s)&&(n=s)}return n}_fileExistsSync(e){return Ne.exists(e)}}function Xr(i,e){Ne=e;const t=new Qr(i);return{__:t.__.bind(t),__n:t.__n.bind(t),setLocale:t.setLocale.bind(t),getLocale:t.getLocale.bind(t),updateLocale:t.updateLocale.bind(t),locale:t.locale}}const Zr=i=>Xr(i,Kr),eu="require is not supported by ESM",Vi="loading a directory of commands is not supported yet for ESM";let jt;try{jt=wr(import.meta.url)}catch{jt=process.cwd()}const tu=jt.substring(0,jt.lastIndexOf("node_modules")),nu={assert:{notStrictEqual:lr,strictEqual:fr},cliui:Tr,findUp:Rr,getEnv:i=>process.env[i],inspect:Cr,getCallerFile:()=>{throw new le(Vi)},getProcessArgvBin:Jr,mainFilename:tu||process.cwd(),Parser:$t,path:{basename:hr,dirname:vn,extname:pr,relative:mr,resolve:je},process:{argv:()=>process.argv,cwd:process.cwd,emitWarning:(i,e)=>process.emitWarning(i,e),execPath:()=>process.execPath,exit:process.exit,nextTick:process.nextTick,stdColumns:typeof process.stdout.columns<"u"?process.stdout.columns:null},readFileSync:Bn,require:()=>{throw new le(eu)},requireDirectory:()=>{throw new le(Vi)},stringWidth:i=>[...i].length,y18n:Zr({directory:je(jt,"../../../locales"),updateFiles:!1})};function Le(i,e,t,n){t.assert.notStrictEqual(i,e,n)}function zi(i,e){e.assert.strictEqual(typeof i,"string")}function tn(i){return Object.keys(i)}function ce(i){return!!i&&!!i.then&&typeof i.then=="function"}function Pt(i){const t=i.replace(/\s{2,}/g," ").split(/\s+(?![^[]*]|[^<]*>)/),n=/\.*[\][<>]/g,s=t.shift();if(!s)throw new Error(`No command found in: ${i}`);const r={cmd:s.replace(n,""),demanded:[],optional:[]};return t.forEach((u,a)=>{let c=!1;u=u.replace(/\s/g,""),/\.+[\]>]/.test(u)&&a===t.length-1&&(c=!0),/^\[/.test(u)?r.optional.push({cmd:u.replace(n,"").split("|"),variadic:c}):r.demanded.push({cmd:u.replace(n,"").split("|"),variadic:c})}),r}const iu=["first","second","third","fourth","fifth","sixth"];function x(i,e,t){function n(){return typeof i=="object"?[{demanded:[],optional:[]},i,e]:[Pt(`cmd ${i}`),e,t]}try{let s=0;const[r,u,a]=n(),c=[].slice.call(u);for(;c.length&&c[c.length-1]===void 0;)c.pop();const h=a||c.length;if(h<r.demanded.length)throw new le(`Not enough arguments provided. Expected ${r.demanded.length} but received ${c.length}.`);const l=r.demanded.length+r.optional.length;if(h>l)throw new le(`Too many arguments provided. Expected max ${l} but received ${h}.`);r.demanded.forEach(f=>{const m=c.shift(),C=Hi(m);f.cmd.filter(w=>w===C||w==="*").length===0&&Gi(C,f.cmd,s),s+=1}),r.optional.forEach(f=>{if(c.length===0)return;const m=c.shift(),C=Hi(m);f.cmd.filter(w=>w===C||w==="*").length===0&&Gi(C,f.cmd,s),s+=1})}catch(s){console.warn(s.stack)}}function Hi(i){return Array.isArray(i)?"array":i===null?"null":typeof i}function Gi(i,e,t){throw new le(`Invalid ${iu[t]||"manyith"} argument. Expected ${e.join(" or ")} but received ${i}.`)}class su{constructor(e){this.globalMiddleware=[],this.frozens=[],this.yargs=e}addMiddleware(e,t,n=!0,s=!1){if(x("<array|function> [boolean] [boolean] [boolean]",[e,t,n],arguments.length),Array.isArray(e)){for(let r=0;r<e.length;r++){if(typeof e[r]!="function")throw Error("middleware must be a function");const u=e[r];u.applyBeforeValidation=t,u.global=n}Array.prototype.push.apply(this.globalMiddleware,e)}else if(typeof e=="function"){const r=e;r.applyBeforeValidation=t,r.global=n,r.mutates=s,this.globalMiddleware.push(e)}return this.yargs}addCoerceMiddleware(e,t){const n=this.yargs.getAliases();return this.globalMiddleware=this.globalMiddleware.filter(s=>{const r=[...n[t]||[],t];return s.option?!r.includes(s.option):!0}),e.option=t,this.addMiddleware(e,!0,!0,!0)}getMiddleware(){return this.globalMiddleware}freeze(){this.frozens.push([...this.globalMiddleware])}unfreeze(){const e=this.frozens.pop();e!==void 0&&(this.globalMiddleware=e)}reset(){this.globalMiddleware=this.globalMiddleware.filter(e=>e.global)}}function ru(i){return i?i.map(e=>(e.applyBeforeValidation=!1,e)):[]}function Nt(i,e,t,n){return t.reduce((s,r)=>{if(r.applyBeforeValidation!==n)return s;if(r.mutates){if(r.applied)return s;r.applied=!0}if(ce(s))return s.then(u=>Promise.all([u,r(u,e)])).then(([u,a])=>Object.assign(u,a));{const u=r(s,e);return ce(u)?u.then(a=>Object.assign(s,a)):Object.assign(s,u)}},i)}function Lt(i,e,t=n=>{throw n}){try{const n=uu(i)?i():i;return ce(n)?n.then(s=>e(s)):e(n)}catch(n){return t(n)}}function uu(i){return typeof i=="function"}function ou(i){if(typeof qt>"u")return null;for(let e=0,t=Object.keys(require.cache),n;e<t.length;e++)if(n=require.cache[t[e]],n.exports===i)return n;return null}const Et=/(^\*)|(^\$0)/;class au{constructor(e,t,n,s){this.requireCache=new Set,this.handlers={},this.aliasMap={},this.frozens=[],this.shim=s,this.usage=e,this.globalMiddleware=n,this.validation=t}addDirectory(e,t,n,s){s=s||{},typeof s.recurse!="boolean"&&(s.recurse=!1),Array.isArray(s.extensions)||(s.extensions=["js"]);const r=typeof s.visit=="function"?s.visit:u=>u;s.visit=(u,a,c)=>{const h=r(u,a,c);if(h){if(this.requireCache.has(a))return h;this.requireCache.add(a),this.addHandler(h)}return h},this.shim.requireDirectory({require:t,filename:n},e,s)}addHandler(e,t,n,s,r,u){let a=[];const c=ru(r);if(s=s||(()=>{}),Array.isArray(e))if(lu(e))[e,...a]=e;else for(const h of e)this.addHandler(h);else if(du(e)){let h=Array.isArray(e.command)||typeof e.command=="string"?e.command:this.moduleName(e);e.aliases&&(h=[].concat(h).concat(e.aliases)),this.addHandler(h,this.extractDesc(e),e.builder,e.handler,e.middlewares,e.deprecated);return}else if(Yi(n)){this.addHandler([e].concat(a),t,n.builder,n.handler,n.middlewares,n.deprecated);return}if(typeof e=="string"){const h=Pt(e);a=a.map(m=>Pt(m).cmd);let l=!1;const f=[h.cmd].concat(a).filter(m=>Et.test(m)?(l=!0,!1):!0);f.length===0&&l&&f.push("$0"),l&&(h.cmd=f[0],a=f.slice(1),e=e.replace(Et,h.cmd)),a.forEach(m=>{this.aliasMap[m]=h.cmd}),t!==!1&&this.usage.command(e,t,l,a,u),this.handlers[h.cmd]={original:e,description:t,handler:s,builder:n||{},middlewares:c,deprecated:u,demanded:h.demanded,optional:h.optional},l&&(this.defaultCommand=this.handlers[h.cmd])}}getCommandHandlers(){return this.handlers}getCommands(){return Object.keys(this.handlers).concat(Object.keys(this.aliasMap))}hasDefaultCommand(){return!!this.defaultCommand}runCommand(e,t,n,s,r,u){const a=this.handlers[e]||this.handlers[this.aliasMap[e]]||this.defaultCommand,c=t.getInternalMethods().getContext(),h=c.commands.slice(),l=!e;e&&(c.commands.push(e),c.fullCommands.push(a.original));const f=this.applyBuilderUpdateUsageAndParse(l,a,t,n.aliases,h,s,r,u);return ce(f)?f.then(m=>this.applyMiddlewareAndGetResult(l,a,m.innerArgv,c,r,m.aliases,t)):this.applyMiddlewareAndGetResult(l,a,f.innerArgv,c,r,f.aliases,t)}applyBuilderUpdateUsageAndParse(e,t,n,s,r,u,a,c){const h=t.builder;let l=n;if($n(h)){n.getInternalMethods().getUsageInstance().freeze();const f=h(n.getInternalMethods().reset(s),c);if(ce(f))return f.then(m=>(l=_u(m)?m:n,this.parseAndUpdateUsage(e,t,l,r,u,a)))}else fu(h)&&(n.getInternalMethods().getUsageInstance().freeze(),l=n.getInternalMethods().reset(s),Object.keys(t.builder).forEach(f=>{l.option(f,h[f])}));return this.parseAndUpdateUsage(e,t,l,r,u,a)}parseAndUpdateUsage(e,t,n,s,r,u){e&&n.getInternalMethods().getUsageInstance().unfreeze(!0),this.shouldUpdateUsage(n)&&n.getInternalMethods().getUsageInstance().usage(this.usageFromParentCommandsCommandHandler(s,t),t.description);const a=n.getInternalMethods().runYargsParserAndExecuteCommands(null,void 0,!0,r,u);return ce(a)?a.then(c=>({aliases:n.parsed.aliases,innerArgv:c})):{aliases:n.parsed.aliases,innerArgv:a}}shouldUpdateUsage(e){return!e.getInternalMethods().getUsageInstance().getUsageDisabled()&&e.getInternalMethods().getUsageInstance().getUsage().length===0}usageFromParentCommandsCommandHandler(e,t){const n=Et.test(t.original)?t.original.replace(Et,"").trim():t.original,s=e.filter(r=>!Et.test(r));return s.push(n),`$0 ${s.join(" ")}`}handleValidationAndGetResult(e,t,n,s,r,u,a,c){if(!u.getInternalMethods().getHasOutput()){const h=u.getInternalMethods().runValidation(r,c,u.parsed.error,e);n=Lt(n,l=>(h(l),l))}if(t.handler&&!u.getInternalMethods().getHasOutput()){u.getInternalMethods().setHasOutput();const h=!!u.getOptions().configuration["populate--"];u.getInternalMethods().postProcess(n,h,!1,!1),n=Nt(n,u,a,!1),n=Lt(n,l=>{const f=t.handler(l);return ce(f)?f.then(()=>l):l}),e||u.getInternalMethods().getUsageInstance().cacheHelpMessage(),ce(n)&&!u.getInternalMethods().hasParseCallback()&&n.catch(l=>{try{u.getInternalMethods().getUsageInstance().fail(null,l)}catch{}})}return e||(s.commands.pop(),s.fullCommands.pop()),n}applyMiddlewareAndGetResult(e,t,n,s,r,u,a){let c={};if(r)return n;a.getInternalMethods().getHasOutput()||(c=this.populatePositionals(t,n,s,a));const h=this.globalMiddleware.getMiddleware().slice(0).concat(t.middlewares),l=Nt(n,a,h,!0);return ce(l)?l.then(f=>this.handleValidationAndGetResult(e,t,f,s,u,a,h,c)):this.handleValidationAndGetResult(e,t,l,s,u,a,h,c)}populatePositionals(e,t,n,s){t._=t._.slice(n.commands.length);const r=e.demanded.slice(0),u=e.optional.slice(0),a={};for(this.validation.positionalCount(r.length,t._.length);r.length;){const c=r.shift();this.populatePositional(c,t,a)}for(;u.length;){const c=u.shift();this.populatePositional(c,t,a)}return t._=n.commands.concat(t._.map(c=>""+c)),this.postProcessPositionals(t,a,this.cmdToParseOptions(e.original),s),a}populatePositional(e,t,n){const s=e.cmd[0];e.variadic?n[s]=t._.splice(0).map(String):t._.length&&(n[s]=[String(t._.shift())])}cmdToParseOptions(e){const t={array:[],default:{},alias:{},demand:{}},n=Pt(e);return n.demanded.forEach(s=>{const[r,...u]=s.cmd;s.variadic&&(t.array.push(r),t.default[r]=[]),t.alias[r]=u,t.demand[r]=!0}),n.optional.forEach(s=>{const[r,...u]=s.cmd;s.variadic&&(t.array.push(r),t.default[r]=[]),t.alias[r]=u}),t}postProcessPositionals(e,t,n,s){const r=Object.assign({},s.getOptions());r.default=Object.assign(n.default,r.default);for(const h of Object.keys(n.alias))r.alias[h]=(r.alias[h]||[]).concat(n.alias[h]);r.array=r.array.concat(n.array),r.config={};const u=[];if(Object.keys(t).forEach(h=>{t[h].map(l=>{r.configuration["unknown-options-as-args"]&&(r.key[h]=!0),u.push(`--${h}`),u.push(l)})}),!u.length)return;const a=Object.assign({},r.configuration,{"populate--":!1}),c=this.shim.Parser.detailed(u,Object.assign({},r,{configuration:a}));if(c.error)s.getInternalMethods().getUsageInstance().fail(c.error.message,c.error);else{const h=Object.keys(t);Object.keys(t).forEach(l=>{h.push(...c.aliases[l])}),Object.keys(c.argv).forEach(l=>{h.includes(l)&&(t[l]||(t[l]=c.argv[l]),!this.isInConfigs(s,l)&&!this.isDefaulted(s,l)&&Object.prototype.hasOwnProperty.call(e,l)&&Object.prototype.hasOwnProperty.call(c.argv,l)&&(Array.isArray(e[l])||Array.isArray(c.argv[l]))?e[l]=[].concat(e[l],c.argv[l]):e[l]=c.argv[l])})}}isDefaulted(e,t){const{default:n}=e.getOptions();return Object.prototype.hasOwnProperty.call(n,t)||Object.prototype.hasOwnProperty.call(n,this.shim.Parser.camelCase(t))}isInConfigs(e,t){const{configObjects:n}=e.getOptions();return n.some(s=>Object.prototype.hasOwnProperty.call(s,t))||n.some(s=>Object.prototype.hasOwnProperty.call(s,this.shim.Parser.camelCase(t)))}runDefaultBuilderOn(e){if(!this.defaultCommand)return;if(this.shouldUpdateUsage(e)){const n=Et.test(this.defaultCommand.original)?this.defaultCommand.original:this.defaultCommand.original.replace(/^[^[\]<>]*/,"$0 ");e.getInternalMethods().getUsageInstance().usage(n,this.defaultCommand.description)}const t=this.defaultCommand.builder;if($n(t))return t(e,!0);Yi(t)||Object.keys(t).forEach(n=>{e.option(n,t[n])})}moduleName(e){const t=ou(e);if(!t)throw new Error(`No command name given for module: ${this.shim.inspect(e)}`);return this.commandFromFilename(t.filename)}commandFromFilename(e){return this.shim.path.basename(e,this.shim.path.extname(e))}extractDesc({describe:e,description:t,desc:n}){for(const s of[e,t,n]){if(typeof s=="string"||s===!1)return s;Le(s,!0,this.shim)}return!1}freeze(){this.frozens.push({handlers:this.handlers,aliasMap:this.aliasMap,defaultCommand:this.defaultCommand})}unfreeze(){const e=this.frozens.pop();Le(e,void 0,this.shim),{handlers:this.handlers,aliasMap:this.aliasMap,defaultCommand:this.defaultCommand}=e}reset(){return this.handlers={},this.aliasMap={},this.defaultCommand=void 0,this.requireCache=new Set,this}}function cu(i,e,t,n){return new au(i,e,t,n)}function Yi(i){return typeof i=="object"&&!!i.builder&&typeof i.handler=="function"}function lu(i){return i.every(e=>typeof e=="string")}function $n(i){return typeof i=="function"}function fu(i){return typeof i=="object"}function du(i){return typeof i=="object"&&!Array.isArray(i)}function Mt(i={},e=()=>!0){const t={};return tn(i).forEach(n=>{e(n,i[n])&&(t[n]=i[n])}),t}function kt(i){typeof process>"u"||[process.stdout,process.stderr].forEach(e=>{const t=e;t._handle&&t.isTTY&&typeof t._handle.setBlocking=="function"&&t._handle.setBlocking(i)})}function hu(i){return typeof i=="boolean"}function pu(i,e){const t=e.y18n.__,n={},s=[];n.failFn=function(O){s.push(O)};let r=null,u=null,a=!0;n.showHelpOnFail=function(O=!0,I){const[V,K]=typeof O=="string"?[!0,O]:[O,I];return i.getInternalMethods().isGlobalContext()&&(u=K),r=K,a=V,n};let c=!1;n.fail=function(O,I){const V=i.getInternalMethods().getLoggerInstance();if(s.length)for(let K=s.length-1;K>=0;--K){const de=s[K];if(hu(de)){if(I)throw I;if(O)throw Error(O)}else de(O,I,n)}else{if(i.getExitProcess()&&kt(!0),!c){c=!0,a&&(i.showHelp("error"),V.error()),(O||I)&&V.error(O||I);const K=r||u;K&&((O||I)&&V.error(""),V.error(K))}if(I=I||new le(O),i.getExitProcess())return i.exit(1);if(i.getInternalMethods().hasParseCallback())return i.exit(1,I);throw I}};let h=[],l=!1;n.usage=(j,O)=>j===null?(l=!0,h=[],n):(l=!1,h.push([j,O||""]),n),n.getUsage=()=>h,n.getUsageDisabled=()=>l,n.getPositionalGroupName=()=>t("Positionals:");let f=[];n.example=(j,O)=>{f.push([j,O||""])};let m=[];n.command=function(O,I,V,K,de=!1){V&&(m=m.map(J=>(J[2]=!1,J))),m.push([O,I||"",V,K,de])},n.getCommands=()=>m;let C={};n.describe=function(O,I){Array.isArray(O)?O.forEach(V=>{n.describe(V,I)}):typeof O=="object"?Object.keys(O).forEach(V=>{n.describe(V,O[V])}):C[O]=I},n.getDescriptions=()=>C;let F=[];n.epilog=j=>{F.push(j)};let w=!1,p;n.wrap=j=>{w=!0,p=j},n.getWrap=()=>e.getEnv("YARGS_DISABLE_WRAP")?null:(w||(p=Ct(),w=!0),p);const y="__yargsString__:";n.deferY18nLookup=j=>y+j,n.help=function(){if(L)return L;M();const O=i.customScriptName?i.$0:e.path.basename(i.$0),I=i.getDemandedOptions(),V=i.getDemandedCommands(),K=i.getDeprecatedOptions(),de=i.getGroups(),J=i.getOptions();let he=[];he=he.concat(Object.keys(C)),he=he.concat(Object.keys(I)),he=he.concat(Object.keys(V)),he=he.concat(Object.keys(J.default)),he=he.filter(Ce),he=Object.keys(he.reduce((k,te)=>(te!=="_"&&(k[te]=!0),k),{}));const nt=n.getWrap(),ne=e.cliui({width:nt,wrap:!!nt});if(!l){if(h.length)h.forEach(k=>{ne.div({text:`${k[0].replace(/\$0/g,O)}`}),k[1]&&ne.div({text:`${k[1]}`,padding:[1,0,0,0]})}),ne.div();else if(m.length){let k=null;V._?k=`${O} <${t("command")}>
2
+ import{hrtime as zr,cwd as hi,stdout as Hr,exit as Gr,argv as Yr}from"node:process";import{o as Jt,p as pi,q as Jr,T as qr,r as mi,t as Kr,u as gi,v as Qr,y as Xr,B as Di,D as Ci,F as Zr,I as b,J as es,K as De,P as ts,R as ns,S as ke,U as is,V as rs,W as ss,X as wi,Y as Ai,e as Je,w as us,_ as os,a0 as qt,O as Ei,z as yn,a1 as bi,a2 as as,a3 as Fi,a4 as yi,a5 as vi,a6 as cs}from"../shared/likec4.Dgm8MxXR.mjs";import{notStrictEqual as ls,strictEqual as fs}from"assert";import{resolve as je,dirname as vn,normalize as ds,basename as hs,extname as ps,relative as ms}from"path";import{statSync as Bi,readdirSync as gs,readFileSync as Bn,writeFile as Ds}from"fs";import{format as Oi,inspect as Cs}from"util";import{fileURLToPath as ws}from"url";import{resolve as Q,dirname as _t,join as St,extname as Kt,relative as wt,isAbsolute as _i,basename as On}from"node:path";import{existsSync as rt,copyFileSync as Si,rmSync as Ii}from"node:fs";import{mkdtemp as Qt,writeFile as At,mkdir as qe,stat as xi,copyFile as As,rm as Es}from"node:fs/promises";import bs,{tmpdir as Xt}from"node:os";import{fileURLToPath as Fs}from"node:url";import{build as It,createServer as ys,preview as vs}from"vite";import{chromium as $i}from"playwright";import Bs from"node:net";import{setTimeout as Os}from"node:timers/promises";import _s from"@vitejs/plugin-react-swc";import"tty";import"@hpcc-js/wasm-graphviz";import"node:util";import"node:tty";import"node:child_process";import"node:string_decoder";import"child_process";import"node:events";import"node:v8";import"node:stream";import"node:buffer";import"node:stream/promises";import"buffer";import"os";import"crypto";import"net";const Ss={right:Ns,center:Ls},Is=0,Zt=1,xs=2,en=3;class $s{constructor(e){var t;this.width=e.width,this.wrap=(t=e.wrap)!==null&&t!==void 0?t:!0,this.rows=[]}span(...e){const t=this.div(...e);t.span=!0}resetOutput(){this.rows=[]}div(...e){if(e.length===0&&this.div(""),this.wrap&&this.shouldApplyLayoutDSL(...e)&&typeof e[0]=="string")return this.applyLayoutDSL(e[0]);const t=e.map(n=>typeof n=="string"?this.colFromString(n):n);return this.rows.push(t),t}shouldApplyLayoutDSL(...e){return e.length===1&&typeof e[0]=="string"&&/[\t\n]/.test(e[0])}applyLayoutDSL(e){const t=e.split(`
3
+ `).map(r=>r.split(" "));let n=0;return t.forEach(r=>{r.length>1&&Ee.stringWidth(r[0])>n&&(n=Math.min(Math.floor(this.width*.5),Ee.stringWidth(r[0])))}),t.forEach(r=>{this.div(...r.map((s,u)=>({text:s.trim(),padding:this.measurePadding(s),width:u===0&&r.length>1?n:void 0})))}),this.rows[this.rows.length-1]}colFromString(e){return{text:e,padding:this.measurePadding(e)}}measurePadding(e){const t=Ee.stripAnsi(e);return[0,t.match(/\s*$/)[0].length,0,t.match(/^\s*/)[0].length]}toString(){const e=[];return this.rows.forEach(t=>{this.rowToString(t,e)}),e.filter(t=>!t.hidden).map(t=>t.text).join(`
4
+ `)}rowToString(e,t){return this.rasterize(e).forEach((n,r)=>{let s="";n.forEach((u,a)=>{const{width:c}=e[a],h=this.negatePadding(e[a]);let l=u;if(h>Ee.stringWidth(u)&&(l+=" ".repeat(h-Ee.stringWidth(u))),e[a].align&&e[a].align!=="left"&&this.wrap){const m=Ss[e[a].align];l=m(l,h),Ee.stringWidth(l)<h&&(l+=" ".repeat((c||0)-Ee.stringWidth(l)-1))}const f=e[a].padding||[0,0,0,0];f[en]&&(s+=" ".repeat(f[en])),s+=ji(e[a],l,"| "),s+=l,s+=ji(e[a],l," |"),f[Zt]&&(s+=" ".repeat(f[Zt])),r===0&&t.length>0&&(s=this.renderInline(s,t[t.length-1]))}),t.push({text:s.replace(/ +$/,""),span:e.span})}),t}renderInline(e,t){const n=e.match(/^ */),r=n?n[0].length:0,s=t.text,u=Ee.stringWidth(s.trimRight());return t.span?this.wrap?r<u?e:(t.hidden=!0,s.trimRight()+" ".repeat(r-u)+e.trimLeft()):(t.hidden=!0,s+e):e}rasterize(e){const t=[],n=this.columnWidths(e);let r;return e.forEach((s,u)=>{s.width=n[u],this.wrap?r=Ee.wrap(s.text,this.negatePadding(s),{hard:!0}).split(`
5
+ `):r=s.text.split(`
6
+ `),s.border&&(r.unshift("."+"-".repeat(this.negatePadding(s)+2)+"."),r.push("'"+"-".repeat(this.negatePadding(s)+2)+"'")),s.padding&&(r.unshift(...new Array(s.padding[Is]||0).fill("")),r.push(...new Array(s.padding[xs]||0).fill(""))),r.forEach((a,c)=>{t[c]||t.push([]);const h=t[c];for(let l=0;l<u;l++)h[l]===void 0&&h.push("");h.push(a)})}),t}negatePadding(e){let t=e.width||0;return e.padding&&(t-=(e.padding[en]||0)+(e.padding[Zt]||0)),e.border&&(t-=4),t}columnWidths(e){if(!this.wrap)return e.map(u=>u.width||Ee.stringWidth(u.text));let t=e.length,n=this.width;const r=e.map(u=>{if(u.width)return t--,n-=u.width,u.width}),s=t?Math.floor(n/t):0;return r.map((u,a)=>u===void 0?Math.max(s,js(e[a])):u)}}function ji(i,e,t){return i.border?/[.']-+[.']/.test(e)?"":e.trim().length!==0?t:" ":""}function js(i){const e=i.padding||[],t=1+(e[en]||0)+(e[Zt]||0);return i.border?t+4:t}function Ps(){return typeof process=="object"&&process.stdout&&process.stdout.columns?process.stdout.columns:80}function Ns(i,e){i=i.trim();const t=Ee.stringWidth(i);return t<e?" ".repeat(e-t)+i:i}function Ls(i,e){i=i.trim();const t=Ee.stringWidth(i);return t>=e?i:" ".repeat(e-t>>1)+i}let Ee;function Ms(i,e){return Ee=e,new $s({width:i?.width||Ps(),wrap:i?.wrap})}const Pi=new RegExp("\x1B(?:\\[(?:\\d+[ABCDEFGJKSTm]|\\d+;\\d+[Hfm]|\\d+;\\d+;\\d+m|6n|s|u|\\?25[lh])|\\w)","g");function Ni(i){return i.replace(Pi,"")}function ks(i,e){const[t,n]=i.match(Pi)||["",""];i=Ni(i);let r="";for(let s=0;s<i.length;s++)s!==0&&s%e===0&&(r+=`
7
+ `),r+=i.charAt(s);return t&&n&&(r=`${t}${r}${n}`),r}function Ts(i){return Ms(i,{stringWidth:e=>[...e].length,stripAnsi:Ni,wrap:ks})}function Rs(i,e){let t=je(".",i),n;for(Bi(t).isDirectory()||(t=vn(t));;){if(n=e(t,gs(t)),n)return je(t,n);if(t=vn(n=t),n===t)break}}function xt(i){if(i!==i.toLowerCase()&&i!==i.toUpperCase()||(i=i.toLowerCase()),i.indexOf("-")===-1&&i.indexOf("_")===-1)return i;{let t="",n=!1;const r=i.match(/^-+/);for(let s=r?r[0].length:0;s<i.length;s++){let u=i.charAt(s);n&&(n=!1,u=u.toUpperCase()),s!==0&&(u==="-"||u==="_")?n=!0:u!=="-"&&u!=="_"&&(t+=u)}return t}}function Li(i,e){const t=i.toLowerCase();e=e||"-";let n="";for(let r=0;r<i.length;r++){const s=t.charAt(r),u=i.charAt(r);s!==u&&r>0?n+=`${e}${t.charAt(r)}`:n+=u}return n}function Mi(i){return i==null?!1:typeof i=="number"||/^0x[0-9a-f]+$/i.test(i)?!0:/^0[^.]/.test(i)?!1:/^[-]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(i)}function Ws(i){if(Array.isArray(i))return i.map(u=>typeof u!="string"?u+"":u);i=i.trim();let e=0,t=null,n=null,r=null;const s=[];for(let u=0;u<i.length;u++){if(t=n,n=i.charAt(u),n===" "&&!r){t!==" "&&e++;continue}n===r?r=null:(n==="'"||n==='"')&&!r&&(r=n),s[e]||(s[e]=""),s[e]+=n}return s}var Pe;(function(i){i.BOOLEAN="boolean",i.STRING="string",i.NUMBER="number",i.ARRAY="array"})(Pe||(Pe={}));let ze;class Us{constructor(e){ze=e}parse(e,t){const n=Object.assign({alias:void 0,array:void 0,boolean:void 0,config:void 0,configObjects:void 0,configuration:void 0,coerce:void 0,count:void 0,default:void 0,envPrefix:void 0,narg:void 0,normalize:void 0,string:void 0,number:void 0,__:void 0,key:void 0},t),r=Ws(e),s=typeof e=="string",u=Vs(Object.assign(Object.create(null),n.alias)),a=Object.assign({"boolean-negation":!0,"camel-case-expansion":!0,"combine-arrays":!1,"dot-notation":!0,"duplicate-arguments-array":!0,"flatten-duplicate-arrays":!0,"greedy-arrays":!0,"halt-at-non-option":!1,"nargs-eats-options":!1,"negation-prefix":"no-","parse-numbers":!0,"parse-positional-numbers":!0,"populate--":!1,"set-placeholder-key":!1,"short-option-groups":!0,"strip-aliased":!1,"strip-dashed":!1,"unknown-options-as-args":!1},n.configuration),c=Object.assign(Object.create(null),n.default),h=n.configObjects||[],l=n.envPrefix,f=a["populate--"],m=f?"--":"_",C=Object.create(null),F=Object.create(null),w=n.__||ze.format,p={aliases:Object.create(null),arrays:Object.create(null),bools:Object.create(null),strings:Object.create(null),numbers:Object.create(null),counts:Object.create(null),normalize:Object.create(null),configs:Object.create(null),nargs:Object.create(null),coercions:Object.create(null),keys:[]},y=/^-([0-9]+(\.[0-9]+)?|\.[0-9]+)$/,B=new RegExp("^--"+a["negation-prefix"]+"(.+)");[].concat(n.array||[]).filter(Boolean).forEach(function(d){const D=typeof d=="object"?d.key:d,v=Object.keys(d).map(function(A){return{boolean:"bools",string:"strings",number:"numbers"}[A]}).filter(Boolean).pop();v&&(p[v][D]=!0),p.arrays[D]=!0,p.keys.push(D)}),[].concat(n.boolean||[]).filter(Boolean).forEach(function(d){p.bools[d]=!0,p.keys.push(d)}),[].concat(n.string||[]).filter(Boolean).forEach(function(d){p.strings[d]=!0,p.keys.push(d)}),[].concat(n.number||[]).filter(Boolean).forEach(function(d){p.numbers[d]=!0,p.keys.push(d)}),[].concat(n.count||[]).filter(Boolean).forEach(function(d){p.counts[d]=!0,p.keys.push(d)}),[].concat(n.normalize||[]).filter(Boolean).forEach(function(d){p.normalize[d]=!0,p.keys.push(d)}),typeof n.narg=="object"&&Object.entries(n.narg).forEach(([d,D])=>{typeof D=="number"&&(p.nargs[d]=D,p.keys.push(d))}),typeof n.coerce=="object"&&Object.entries(n.coerce).forEach(([d,D])=>{typeof D=="function"&&(p.coercions[d]=D,p.keys.push(d))}),typeof n.config<"u"&&(Array.isArray(n.config)||typeof n.config=="string"?[].concat(n.config).filter(Boolean).forEach(function(d){p.configs[d]=!0}):typeof n.config=="object"&&Object.entries(n.config).forEach(([d,D])=>{(typeof D=="boolean"||typeof D=="function")&&(p.configs[d]=D)})),it(n.key,u,n.default,p.arrays),Object.keys(c).forEach(function(d){(p.aliases[d]||[]).forEach(function(D){c[D]=c[d]})});let M=null;Yt();let L=[];const U=Object.assign(Object.create(null),{_:[]}),Ce={};for(let d=0;d<r.length;d++){const D=r[d],v=D.replace(/^-{3,}/,"---");let A,g,$,_,N,pe;if(D!=="--"&&/^-/.test(D)&&ie(D))Ie(D);else if(v.match(/^---+(=|$)/)){Ie(D);continue}else if(D.match(/^--.+=/)||!a["short-option-groups"]&&D.match(/^-.+=/))_=D.match(/^--?([^=]+)=([\s\S]*)$/),_!==null&&Array.isArray(_)&&_.length>=3&&(T(_[1],p.arrays)?d=tt(d,_[1],r,_[2]):T(_[1],p.nargs)!==!1?d=Ct(d,_[1],r,_[2]):X(_[1],_[2],!0));else if(D.match(B)&&a["boolean-negation"])_=D.match(B),_!==null&&Array.isArray(_)&&_.length>=2&&(g=_[1],X(g,T(g,p.arrays)?[!1]:!1));else if(D.match(/^--.+/)||!a["short-option-groups"]&&D.match(/^-[^-]+/))_=D.match(/^--?(.+)/),_!==null&&Array.isArray(_)&&_.length>=2&&(g=_[1],T(g,p.arrays)?d=tt(d,g,r):T(g,p.nargs)!==!1?d=Ct(d,g,r):(N=r[d+1],N!==void 0&&(!N.match(/^-/)||N.match(y))&&!T(g,p.bools)&&!T(g,p.counts)||/^(true|false)$/.test(N)?(X(g,N),d++):X(g,re(g))));else if(D.match(/^-.\..+=/))_=D.match(/^-([^=]+)=([\s\S]*)$/),_!==null&&Array.isArray(_)&&_.length>=3&&X(_[1],_[2]);else if(D.match(/^-.\..+/)&&!D.match(y))N=r[d+1],_=D.match(/^-(.\..+)/),_!==null&&Array.isArray(_)&&_.length>=2&&(g=_[1],N!==void 0&&!N.match(/^-/)&&!T(g,p.bools)&&!T(g,p.counts)?(X(g,N),d++):X(g,re(g)));else if(D.match(/^-[^-]+/)&&!D.match(y)){$=D.slice(1,-1).split(""),A=!1;for(let we=0;we<$.length;we++){if(N=D.slice(we+2),$[we+1]&&$[we+1]==="="){pe=D.slice(we+3),g=$[we],T(g,p.arrays)?d=tt(d,g,r,pe):T(g,p.nargs)!==!1?d=Ct(d,g,r,pe):X(g,pe),A=!0;break}if(N==="-"){X($[we],N);continue}if(/[A-Za-z]/.test($[we])&&/^-?\d+(\.\d*)?(e-?\d+)?$/.test(N)&&T(N,p.bools)===!1){X($[we],N),A=!0;break}if($[we+1]&&$[we+1].match(/\W/)){X($[we],N),A=!0;break}else X($[we],re($[we]))}g=D.slice(-1)[0],!A&&g!=="-"&&(T(g,p.arrays)?d=tt(d,g,r):T(g,p.nargs)!==!1?d=Ct(d,g,r):(N=r[d+1],N!==void 0&&(!/^(-|--)[^-]/.test(N)||N.match(y))&&!T(g,p.bools)&&!T(g,p.counts)||/^(true|false)$/.test(N)?(X(g,N),d++):X(g,re(g))))}else if(D.match(/^-[0-9]$/)&&D.match(y)&&T(D.slice(1),p.bools))g=D.slice(1),X(g,re(g));else if(D==="--"){L=r.slice(d+1);break}else if(a["halt-at-non-option"]){L=r.slice(d);break}else Ie(D)}q(U,!0),q(U,!1),V(U),de(),ne(U,p.aliases,c,!0),he(U),a["set-placeholder-key"]&&nt(U),Object.keys(p.counts).forEach(function(d){Ue(U,d.split("."))||X(d,0)}),f&&L.length&&(U[m]=[]),L.forEach(function(d){U[m].push(d)}),a["camel-case-expansion"]&&a["strip-dashed"]&&Object.keys(U).filter(d=>d!=="--"&&d.includes("-")).forEach(d=>{delete U[d]}),a["strip-aliased"]&&[].concat(...Object.keys(u).map(d=>u[d])).forEach(d=>{a["camel-case-expansion"]&&d.includes("-")&&delete U[d.split(".").map(D=>xt(D)).join(".")],delete U[d]});function Ie(d){const D=I("_",d);(typeof D=="string"||typeof D=="number")&&U._.push(D)}function Ct(d,D,v,A){let g,$=T(D,p.nargs);if($=typeof $!="number"||isNaN($)?1:$,$===0)return $e(A)||(M=Error(w("Argument unexpected for: %s",D))),X(D,re(D)),d;let _=$e(A)?0:1;if(a["nargs-eats-options"])v.length-(d+1)+_<$&&(M=Error(w("Not enough arguments following: %s",D))),_=$;else{for(g=d+1;g<v.length&&(!v[g].match(/^-[^0-9]/)||v[g].match(y)||ie(v[g]));g++)_++;_<$&&(M=Error(w("Not enough arguments following: %s",D)))}let N=Math.min(_,$);for(!$e(A)&&N>0&&(X(D,A),N--),g=d+1;g<N+d+1;g++)X(D,v[g]);return d+N}function tt(d,D,v,A){let g=[],$=A||v[d+1];const _=T(D,p.nargs);if(T(D,p.bools)&&!/^(true|false)$/.test($))g.push(!0);else if($e($)||$e(A)&&/^-/.test($)&&!y.test($)&&!ie($)){if(c[D]!==void 0){const N=c[D];g=Array.isArray(N)?N:[N]}}else{$e(A)||g.push(O(D,A,!0));for(let N=d+1;N<v.length&&!(!a["greedy-arrays"]&&g.length>0||_&&typeof _=="number"&&g.length>=_||($=v[N],/^-/.test($)&&!y.test($)&&!ie($)));N++)d=N,g.push(O(D,$,s))}return typeof _=="number"&&(_&&g.length<_||isNaN(_)&&g.length===0)&&(M=Error(w("Not enough arguments following: %s",D))),X(D,g),d}function X(d,D,v=s){if(/-/.test(d)&&a["camel-case-expansion"]){const $=d.split(".").map(function(_){return xt(_)}).join(".");j(d,$)}const A=O(d,D,v),g=d.split(".");Ve(U,g,A),p.aliases[d]&&p.aliases[d].forEach(function($){const _=$.split(".");Ve(U,_,A)}),g.length>1&&a["dot-notation"]&&(p.aliases[g[0]]||[]).forEach(function($){let _=$.split(".");const N=[].concat(g);N.shift(),_=_.concat(N),(p.aliases[d]||[]).includes(_.join("."))||Ve(U,_,A)}),T(d,p.normalize)&&!T(d,p.arrays)&&[d].concat(p.aliases[d]||[]).forEach(function(_){Object.defineProperty(Ce,_,{enumerable:!0,get(){return D},set(N){D=typeof N=="string"?ze.normalize(N):N}})})}function j(d,D){p.aliases[d]&&p.aliases[d].length||(p.aliases[d]=[D],C[D]=!0),p.aliases[D]&&p.aliases[D].length||j(D,d)}function O(d,D,v){v&&(D=zs(D)),(T(d,p.bools)||T(d,p.counts))&&typeof D=="string"&&(D=D==="true");let A=Array.isArray(D)?D.map(function(g){return I(d,g)}):I(d,D);return T(d,p.counts)&&($e(A)||typeof A=="boolean")&&(A=_n()),T(d,p.normalize)&&T(d,p.arrays)&&(Array.isArray(D)?A=D.map(g=>ze.normalize(g)):A=ze.normalize(D)),A}function I(d,D){return!a["parse-positional-numbers"]&&d==="_"||!T(d,p.strings)&&!T(d,p.bools)&&!Array.isArray(D)&&(Mi(D)&&a["parse-numbers"]&&Number.isSafeInteger(Math.floor(parseFloat(`${D}`)))||!$e(D)&&T(d,p.numbers))&&(D=Number(D)),D}function V(d){const D=Object.create(null);ne(D,p.aliases,c),Object.keys(p.configs).forEach(function(v){const A=d[v]||D[v];if(A)try{let g=null;const $=ze.resolve(ze.cwd(),A),_=p.configs[v];if(typeof _=="function"){try{g=_($)}catch(N){g=N}if(g instanceof Error){M=g;return}}else g=ze.require($);K(g)}catch(g){g.name==="PermissionDenied"?M=g:d[v]&&(M=Error(w("Invalid JSON config file: %s",A)))}})}function K(d,D){Object.keys(d).forEach(function(v){const A=d[v],g=D?D+"."+v:v;typeof A=="object"&&A!==null&&!Array.isArray(A)&&a["dot-notation"]?K(A,g):(!Ue(U,g.split("."))||T(g,p.arrays)&&a["combine-arrays"])&&X(g,A)})}function de(){typeof h<"u"&&h.forEach(function(d){K(d)})}function q(d,D){if(typeof l>"u")return;const v=typeof l=="string"?l:"",A=ze.env();Object.keys(A).forEach(function(g){if(v===""||g.lastIndexOf(v,0)===0){const $=g.split("__").map(function(_,N){return N===0&&(_=_.substring(v.length)),xt(_)});(D&&p.configs[$.join(".")]||!D)&&!Ue(d,$)&&X($.join("."),A[g])}})}function he(d){let D;const v=new Set;Object.keys(d).forEach(function(A){if(!v.has(A)&&(D=T(A,p.coercions),typeof D=="function"))try{const g=I(A,D(d[A]));[].concat(p.aliases[A]||[],A).forEach($=>{v.add($),d[$]=g})}catch(g){M=g}})}function nt(d){return p.keys.forEach(D=>{~D.indexOf(".")||typeof d[D]>"u"&&(d[D]=void 0)}),d}function ne(d,D,v,A=!1){Object.keys(v).forEach(function(g){Ue(d,g.split("."))||(Ve(d,g.split("."),v[g]),A&&(F[g]=!0),(D[g]||[]).forEach(function($){Ue(d,$.split("."))||Ve(d,$.split("."),v[g])}))})}function Ue(d,D){let v=d;a["dot-notation"]||(D=[D.join(".")]),D.slice(0,-1).forEach(function(g){v=v[g]||{}});const A=D[D.length-1];return typeof v!="object"?!1:A in v}function Ve(d,D,v){let A=d;a["dot-notation"]||(D=[D.join(".")]),D.slice(0,-1).forEach(function(pe){pe=ki(pe),typeof A=="object"&&A[pe]===void 0&&(A[pe]={}),typeof A[pe]!="object"||Array.isArray(A[pe])?(Array.isArray(A[pe])?A[pe].push({}):A[pe]=[A[pe],{}],A=A[pe][A[pe].length-1]):A=A[pe]});const g=ki(D[D.length-1]),$=T(D.join("."),p.arrays),_=Array.isArray(v);let N=a["duplicate-arguments-array"];!N&&T(g,p.nargs)&&(N=!0,(!$e(A[g])&&p.nargs[g]===1||Array.isArray(A[g])&&A[g].length===p.nargs[g])&&(A[g]=void 0)),v===_n()?A[g]=_n(A[g]):Array.isArray(A[g])?N&&$&&_?A[g]=a["flatten-duplicate-arrays"]?A[g].concat(v):(Array.isArray(A[g][0])?A[g]:[A[g]]).concat([v]):!N&&!!$==!!_?A[g]=v:A[g]=A[g].concat([v]):A[g]===void 0&&$?A[g]=_?v:[v]:N&&!(A[g]===void 0||T(g,p.counts)||T(g,p.bools))?A[g]=[A[g],v]:A[g]=v}function it(...d){d.forEach(function(D){Object.keys(D||{}).forEach(function(v){p.aliases[v]||(p.aliases[v]=[].concat(u[v]||[]),p.aliases[v].concat(v).forEach(function(A){if(/-/.test(A)&&a["camel-case-expansion"]){const g=xt(A);g!==v&&p.aliases[v].indexOf(g)===-1&&(p.aliases[v].push(g),C[g]=!0)}}),p.aliases[v].concat(v).forEach(function(A){if(A.length>1&&/[A-Z]/.test(A)&&a["camel-case-expansion"]){const g=Li(A,"-");g!==v&&p.aliases[v].indexOf(g)===-1&&(p.aliases[v].push(g),C[g]=!0)}}),p.aliases[v].forEach(function(A){p.aliases[A]=[v].concat(p.aliases[v].filter(function(g){return A!==g}))}))})})}function T(d,D){const v=[].concat(p.aliases[d]||[],d),A=Object.keys(D),g=v.find($=>A.includes($));return g?D[g]:!1}function Fn(d){const D=Object.keys(p);return[].concat(D.map(A=>p[A])).some(function(A){return Array.isArray(A)?A.includes(d):A[d]})}function k(d,...D){return[].concat(...D).some(function(A){const g=d.match(A);return g&&Fn(g[1])})}function te(d){if(d.match(y)||!d.match(/^-[^-]+/))return!1;let D=!0,v;const A=d.slice(1).split("");for(let g=0;g<A.length;g++){if(v=d.slice(g+2),!Fn(A[g])){D=!1;break}if(A[g+1]&&A[g+1]==="="||v==="-"||/[A-Za-z]/.test(A[g])&&/^-?\d+(\.\d*)?(e-?\d+)?$/.test(v)||A[g+1]&&A[g+1].match(/\W/))break}return D}function ie(d){return a["unknown-options-as-args"]&&J(d)}function J(d){return d=d.replace(/^-{3,}/,"--"),d.match(y)||te(d)?!1:!k(d,/^-+([^=]+?)=[\s\S]*$/,B,/^-+([^=]+?)$/,/^-+([^=]+?)-$/,/^-+([^=]+?\d+)$/,/^-+([^=]+?)\W+.*$/)}function re(d){return!T(d,p.bools)&&!T(d,p.counts)&&`${d}`in c?c[d]:ue(xe(d))}function ue(d){return{[Pe.BOOLEAN]:!0,[Pe.STRING]:"",[Pe.NUMBER]:void 0,[Pe.ARRAY]:[]}[d]}function xe(d){let D=Pe.BOOLEAN;return T(d,p.strings)?D=Pe.STRING:T(d,p.numbers)?D=Pe.NUMBER:T(d,p.bools)?D=Pe.BOOLEAN:T(d,p.arrays)&&(D=Pe.ARRAY),D}function $e(d){return d===void 0}function Yt(){Object.keys(p.counts).find(d=>T(d,p.arrays)?(M=Error(w("Invalid configuration: %s, opts.count excludes opts.array.",d)),!0):T(d,p.nargs)?(M=Error(w("Invalid configuration: %s, opts.count excludes opts.narg.",d)),!0):!1)}return{aliases:Object.assign({},p.aliases),argv:Object.assign(Ce,U),configuration:a,defaulted:Object.assign({},F),error:M,newAliases:Object.assign({},C)}}}function Vs(i){const e=[],t=Object.create(null);let n=!0;for(Object.keys(i).forEach(function(r){e.push([].concat(i[r],r))});n;){n=!1;for(let r=0;r<e.length;r++)for(let s=r+1;s<e.length;s++)if(e[r].filter(function(a){return e[s].indexOf(a)!==-1}).length){e[r]=e[r].concat(e[s]),e.splice(s,1),n=!0;break}}return e.forEach(function(r){r=r.filter(function(u,a,c){return c.indexOf(u)===a});const s=r.pop();s!==void 0&&typeof s=="string"&&(t[s]=r)}),t}function _n(i){return i!==void 0?i+1:1}function ki(i){return i==="__proto__"?"___proto___":i}function zs(i){return typeof i=="string"&&(i[0]==="'"||i[0]==='"')&&i[i.length-1]===i[0]?i.substring(1,i.length-1):i}var Sn,In,xn;const Ti=process&&process.env&&process.env.YARGS_MIN_NODE_VERSION?Number(process.env.YARGS_MIN_NODE_VERSION):12,Ri=(In=(Sn=process==null?void 0:process.versions)===null||Sn===void 0?void 0:Sn.node)!==null&&In!==void 0?In:(xn=process==null?void 0:process.version)===null||xn===void 0?void 0:xn.slice(1);if(Ri&&Number(Ri.match(/^([^.]+)/)[1])<Ti)throw Error(`yargs parser supports a minimum Node.js version of ${Ti}. Read our version support policy: https://github.com/yargs/yargs-parser#supported-nodejs-versions`);const Hs=process?process.env:{},Wi=new Us({cwd:process.cwd,env:()=>Hs,format:Oi,normalize:ds,resolve:je,require:i=>{if(typeof Jt<"u")return Jt(i);if(i.match(/\.json$/))return JSON.parse(Bn(i,"utf8"));throw Error("only .json config files are supported in ESM")}}),$t=function(e,t){return Wi.parse(e.slice(),t).argv};$t.detailed=function(i,e){return Wi.parse(i.slice(),e)},$t.camelCase=xt,$t.decamelize=Li,$t.looksLikeNumber=Mi;function Ui(){return Gs()?0:1}function Gs(){return Ys()&&!process.defaultApp}function Ys(){return!!process.versions.electron}function Js(i){return i.slice(Ui()+1)}function qs(){return process.argv[Ui()]}class le extends Error{constructor(e){super(e||"yargs error"),this.name="YError",Error.captureStackTrace&&Error.captureStackTrace(this,le)}}const Ks={fs:{readFileSync:Bn,writeFile:Ds},format:Oi,resolve:je,exists:i=>{try{return Bi(i).isFile()}catch{return!1}}};let Ne;class Qs{constructor(e){e=e||{},this.directory=e.directory||"./locales",this.updateFiles=typeof e.updateFiles=="boolean"?e.updateFiles:!0,this.locale=e.locale||"en",this.fallbackToLanguage=typeof e.fallbackToLanguage=="boolean"?e.fallbackToLanguage:!0,this.cache=Object.create(null),this.writeQueue=[]}__(...e){if(typeof arguments[0]!="string")return this._taggedLiteral(arguments[0],...arguments);const t=e.shift();let n=function(){};return typeof e[e.length-1]=="function"&&(n=e.pop()),n=n||function(){},this.cache[this.locale]||this._readLocaleFile(),!this.cache[this.locale][t]&&this.updateFiles?(this.cache[this.locale][t]=t,this._enqueueWrite({directory:this.directory,locale:this.locale,cb:n})):n(),Ne.format.apply(Ne.format,[this.cache[this.locale][t]||t].concat(e))}__n(){const e=Array.prototype.slice.call(arguments),t=e.shift(),n=e.shift(),r=e.shift();let s=function(){};typeof e[e.length-1]=="function"&&(s=e.pop()),this.cache[this.locale]||this._readLocaleFile();let u=r===1?t:n;this.cache[this.locale][t]&&(u=this.cache[this.locale][t][r===1?"one":"other"]),!this.cache[this.locale][t]&&this.updateFiles?(this.cache[this.locale][t]={one:t,other:n},this._enqueueWrite({directory:this.directory,locale:this.locale,cb:s})):s();const a=[u];return~u.indexOf("%d")&&a.push(r),Ne.format.apply(Ne.format,a.concat(e))}setLocale(e){this.locale=e}getLocale(){return this.locale}updateLocale(e){this.cache[this.locale]||this._readLocaleFile();for(const t in e)Object.prototype.hasOwnProperty.call(e,t)&&(this.cache[this.locale][t]=e[t])}_taggedLiteral(e,...t){let n="";return e.forEach(function(r,s){const u=t[s+1];n+=r,typeof u<"u"&&(n+="%s")}),this.__.apply(this,[n].concat([].slice.call(t,1)))}_enqueueWrite(e){this.writeQueue.push(e),this.writeQueue.length===1&&this._processWriteQueue()}_processWriteQueue(){const e=this,t=this.writeQueue[0],n=t.directory,r=t.locale,s=t.cb,u=this._resolveLocaleFile(n,r),a=JSON.stringify(this.cache[r],null,2);Ne.fs.writeFile(u,a,"utf-8",function(c){e.writeQueue.shift(),e.writeQueue.length>0&&e._processWriteQueue(),s(c)})}_readLocaleFile(){let e={};const t=this._resolveLocaleFile(this.directory,this.locale);try{Ne.fs.readFileSync&&(e=JSON.parse(Ne.fs.readFileSync(t,"utf-8")))}catch(n){if(n instanceof SyntaxError&&(n.message="syntax error in "+t),n.code==="ENOENT")e={};else throw n}this.cache[this.locale]=e}_resolveLocaleFile(e,t){let n=Ne.resolve(e,"./",t+".json");if(this.fallbackToLanguage&&!this._fileExistsSync(n)&&~t.lastIndexOf("_")){const r=Ne.resolve(e,"./",t.split("_")[0]+".json");this._fileExistsSync(r)&&(n=r)}return n}_fileExistsSync(e){return Ne.exists(e)}}function Xs(i,e){Ne=e;const t=new Qs(i);return{__:t.__.bind(t),__n:t.__n.bind(t),setLocale:t.setLocale.bind(t),getLocale:t.getLocale.bind(t),updateLocale:t.updateLocale.bind(t),locale:t.locale}}const Zs=i=>Xs(i,Ks),eu="require is not supported by ESM",Vi="loading a directory of commands is not supported yet for ESM";let jt;try{jt=ws(import.meta.url)}catch{jt=process.cwd()}const tu=jt.substring(0,jt.lastIndexOf("node_modules")),nu={assert:{notStrictEqual:ls,strictEqual:fs},cliui:Ts,findUp:Rs,getEnv:i=>process.env[i],inspect:Cs,getCallerFile:()=>{throw new le(Vi)},getProcessArgvBin:qs,mainFilename:tu||process.cwd(),Parser:$t,path:{basename:hs,dirname:vn,extname:ps,relative:ms,resolve:je},process:{argv:()=>process.argv,cwd:process.cwd,emitWarning:(i,e)=>process.emitWarning(i,e),execPath:()=>process.execPath,exit:process.exit,nextTick:process.nextTick,stdColumns:typeof process.stdout.columns<"u"?process.stdout.columns:null},readFileSync:Bn,require:()=>{throw new le(eu)},requireDirectory:()=>{throw new le(Vi)},stringWidth:i=>[...i].length,y18n:Zs({directory:je(jt,"../../../locales"),updateFiles:!1})};function Le(i,e,t,n){t.assert.notStrictEqual(i,e,n)}function zi(i,e){e.assert.strictEqual(typeof i,"string")}function tn(i){return Object.keys(i)}function ce(i){return!!i&&!!i.then&&typeof i.then=="function"}function Pt(i){const t=i.replace(/\s{2,}/g," ").split(/\s+(?![^[]*]|[^<]*>)/),n=/\.*[\][<>]/g,r=t.shift();if(!r)throw new Error(`No command found in: ${i}`);const s={cmd:r.replace(n,""),demanded:[],optional:[]};return t.forEach((u,a)=>{let c=!1;u=u.replace(/\s/g,""),/\.+[\]>]/.test(u)&&a===t.length-1&&(c=!0),/^\[/.test(u)?s.optional.push({cmd:u.replace(n,"").split("|"),variadic:c}):s.demanded.push({cmd:u.replace(n,"").split("|"),variadic:c})}),s}const iu=["first","second","third","fourth","fifth","sixth"];function x(i,e,t){function n(){return typeof i=="object"?[{demanded:[],optional:[]},i,e]:[Pt(`cmd ${i}`),e,t]}try{let r=0;const[s,u,a]=n(),c=[].slice.call(u);for(;c.length&&c[c.length-1]===void 0;)c.pop();const h=a||c.length;if(h<s.demanded.length)throw new le(`Not enough arguments provided. Expected ${s.demanded.length} but received ${c.length}.`);const l=s.demanded.length+s.optional.length;if(h>l)throw new le(`Too many arguments provided. Expected max ${l} but received ${h}.`);s.demanded.forEach(f=>{const m=c.shift(),C=Hi(m);f.cmd.filter(w=>w===C||w==="*").length===0&&Gi(C,f.cmd,r),r+=1}),s.optional.forEach(f=>{if(c.length===0)return;const m=c.shift(),C=Hi(m);f.cmd.filter(w=>w===C||w==="*").length===0&&Gi(C,f.cmd,r),r+=1})}catch(r){console.warn(r.stack)}}function Hi(i){return Array.isArray(i)?"array":i===null?"null":typeof i}function Gi(i,e,t){throw new le(`Invalid ${iu[t]||"manyith"} argument. Expected ${e.join(" or ")} but received ${i}.`)}class ru{constructor(e){this.globalMiddleware=[],this.frozens=[],this.yargs=e}addMiddleware(e,t,n=!0,r=!1){if(x("<array|function> [boolean] [boolean] [boolean]",[e,t,n],arguments.length),Array.isArray(e)){for(let s=0;s<e.length;s++){if(typeof e[s]!="function")throw Error("middleware must be a function");const u=e[s];u.applyBeforeValidation=t,u.global=n}Array.prototype.push.apply(this.globalMiddleware,e)}else if(typeof e=="function"){const s=e;s.applyBeforeValidation=t,s.global=n,s.mutates=r,this.globalMiddleware.push(e)}return this.yargs}addCoerceMiddleware(e,t){const n=this.yargs.getAliases();return this.globalMiddleware=this.globalMiddleware.filter(r=>{const s=[...n[t]||[],t];return r.option?!s.includes(r.option):!0}),e.option=t,this.addMiddleware(e,!0,!0,!0)}getMiddleware(){return this.globalMiddleware}freeze(){this.frozens.push([...this.globalMiddleware])}unfreeze(){const e=this.frozens.pop();e!==void 0&&(this.globalMiddleware=e)}reset(){this.globalMiddleware=this.globalMiddleware.filter(e=>e.global)}}function su(i){return i?i.map(e=>(e.applyBeforeValidation=!1,e)):[]}function Nt(i,e,t,n){return t.reduce((r,s)=>{if(s.applyBeforeValidation!==n)return r;if(s.mutates){if(s.applied)return r;s.applied=!0}if(ce(r))return r.then(u=>Promise.all([u,s(u,e)])).then(([u,a])=>Object.assign(u,a));{const u=s(r,e);return ce(u)?u.then(a=>Object.assign(r,a)):Object.assign(r,u)}},i)}function Lt(i,e,t=n=>{throw n}){try{const n=uu(i)?i():i;return ce(n)?n.then(r=>e(r)):e(n)}catch(n){return t(n)}}function uu(i){return typeof i=="function"}function ou(i){if(typeof Jt>"u")return null;for(let e=0,t=Object.keys(require.cache),n;e<t.length;e++)if(n=require.cache[t[e]],n.exports===i)return n;return null}const Et=/(^\*)|(^\$0)/;class au{constructor(e,t,n,r){this.requireCache=new Set,this.handlers={},this.aliasMap={},this.frozens=[],this.shim=r,this.usage=e,this.globalMiddleware=n,this.validation=t}addDirectory(e,t,n,r){r=r||{},typeof r.recurse!="boolean"&&(r.recurse=!1),Array.isArray(r.extensions)||(r.extensions=["js"]);const s=typeof r.visit=="function"?r.visit:u=>u;r.visit=(u,a,c)=>{const h=s(u,a,c);if(h){if(this.requireCache.has(a))return h;this.requireCache.add(a),this.addHandler(h)}return h},this.shim.requireDirectory({require:t,filename:n},e,r)}addHandler(e,t,n,r,s,u){let a=[];const c=su(s);if(r=r||(()=>{}),Array.isArray(e))if(lu(e))[e,...a]=e;else for(const h of e)this.addHandler(h);else if(du(e)){let h=Array.isArray(e.command)||typeof e.command=="string"?e.command:this.moduleName(e);e.aliases&&(h=[].concat(h).concat(e.aliases)),this.addHandler(h,this.extractDesc(e),e.builder,e.handler,e.middlewares,e.deprecated);return}else if(Yi(n)){this.addHandler([e].concat(a),t,n.builder,n.handler,n.middlewares,n.deprecated);return}if(typeof e=="string"){const h=Pt(e);a=a.map(m=>Pt(m).cmd);let l=!1;const f=[h.cmd].concat(a).filter(m=>Et.test(m)?(l=!0,!1):!0);f.length===0&&l&&f.push("$0"),l&&(h.cmd=f[0],a=f.slice(1),e=e.replace(Et,h.cmd)),a.forEach(m=>{this.aliasMap[m]=h.cmd}),t!==!1&&this.usage.command(e,t,l,a,u),this.handlers[h.cmd]={original:e,description:t,handler:r,builder:n||{},middlewares:c,deprecated:u,demanded:h.demanded,optional:h.optional},l&&(this.defaultCommand=this.handlers[h.cmd])}}getCommandHandlers(){return this.handlers}getCommands(){return Object.keys(this.handlers).concat(Object.keys(this.aliasMap))}hasDefaultCommand(){return!!this.defaultCommand}runCommand(e,t,n,r,s,u){const a=this.handlers[e]||this.handlers[this.aliasMap[e]]||this.defaultCommand,c=t.getInternalMethods().getContext(),h=c.commands.slice(),l=!e;e&&(c.commands.push(e),c.fullCommands.push(a.original));const f=this.applyBuilderUpdateUsageAndParse(l,a,t,n.aliases,h,r,s,u);return ce(f)?f.then(m=>this.applyMiddlewareAndGetResult(l,a,m.innerArgv,c,s,m.aliases,t)):this.applyMiddlewareAndGetResult(l,a,f.innerArgv,c,s,f.aliases,t)}applyBuilderUpdateUsageAndParse(e,t,n,r,s,u,a,c){const h=t.builder;let l=n;if($n(h)){n.getInternalMethods().getUsageInstance().freeze();const f=h(n.getInternalMethods().reset(r),c);if(ce(f))return f.then(m=>(l=_u(m)?m:n,this.parseAndUpdateUsage(e,t,l,s,u,a)))}else fu(h)&&(n.getInternalMethods().getUsageInstance().freeze(),l=n.getInternalMethods().reset(r),Object.keys(t.builder).forEach(f=>{l.option(f,h[f])}));return this.parseAndUpdateUsage(e,t,l,s,u,a)}parseAndUpdateUsage(e,t,n,r,s,u){e&&n.getInternalMethods().getUsageInstance().unfreeze(!0),this.shouldUpdateUsage(n)&&n.getInternalMethods().getUsageInstance().usage(this.usageFromParentCommandsCommandHandler(r,t),t.description);const a=n.getInternalMethods().runYargsParserAndExecuteCommands(null,void 0,!0,s,u);return ce(a)?a.then(c=>({aliases:n.parsed.aliases,innerArgv:c})):{aliases:n.parsed.aliases,innerArgv:a}}shouldUpdateUsage(e){return!e.getInternalMethods().getUsageInstance().getUsageDisabled()&&e.getInternalMethods().getUsageInstance().getUsage().length===0}usageFromParentCommandsCommandHandler(e,t){const n=Et.test(t.original)?t.original.replace(Et,"").trim():t.original,r=e.filter(s=>!Et.test(s));return r.push(n),`$0 ${r.join(" ")}`}handleValidationAndGetResult(e,t,n,r,s,u,a,c){if(!u.getInternalMethods().getHasOutput()){const h=u.getInternalMethods().runValidation(s,c,u.parsed.error,e);n=Lt(n,l=>(h(l),l))}if(t.handler&&!u.getInternalMethods().getHasOutput()){u.getInternalMethods().setHasOutput();const h=!!u.getOptions().configuration["populate--"];u.getInternalMethods().postProcess(n,h,!1,!1),n=Nt(n,u,a,!1),n=Lt(n,l=>{const f=t.handler(l);return ce(f)?f.then(()=>l):l}),e||u.getInternalMethods().getUsageInstance().cacheHelpMessage(),ce(n)&&!u.getInternalMethods().hasParseCallback()&&n.catch(l=>{try{u.getInternalMethods().getUsageInstance().fail(null,l)}catch{}})}return e||(r.commands.pop(),r.fullCommands.pop()),n}applyMiddlewareAndGetResult(e,t,n,r,s,u,a){let c={};if(s)return n;a.getInternalMethods().getHasOutput()||(c=this.populatePositionals(t,n,r,a));const h=this.globalMiddleware.getMiddleware().slice(0).concat(t.middlewares),l=Nt(n,a,h,!0);return ce(l)?l.then(f=>this.handleValidationAndGetResult(e,t,f,r,u,a,h,c)):this.handleValidationAndGetResult(e,t,l,r,u,a,h,c)}populatePositionals(e,t,n,r){t._=t._.slice(n.commands.length);const s=e.demanded.slice(0),u=e.optional.slice(0),a={};for(this.validation.positionalCount(s.length,t._.length);s.length;){const c=s.shift();this.populatePositional(c,t,a)}for(;u.length;){const c=u.shift();this.populatePositional(c,t,a)}return t._=n.commands.concat(t._.map(c=>""+c)),this.postProcessPositionals(t,a,this.cmdToParseOptions(e.original),r),a}populatePositional(e,t,n){const r=e.cmd[0];e.variadic?n[r]=t._.splice(0).map(String):t._.length&&(n[r]=[String(t._.shift())])}cmdToParseOptions(e){const t={array:[],default:{},alias:{},demand:{}},n=Pt(e);return n.demanded.forEach(r=>{const[s,...u]=r.cmd;r.variadic&&(t.array.push(s),t.default[s]=[]),t.alias[s]=u,t.demand[s]=!0}),n.optional.forEach(r=>{const[s,...u]=r.cmd;r.variadic&&(t.array.push(s),t.default[s]=[]),t.alias[s]=u}),t}postProcessPositionals(e,t,n,r){const s=Object.assign({},r.getOptions());s.default=Object.assign(n.default,s.default);for(const h of Object.keys(n.alias))s.alias[h]=(s.alias[h]||[]).concat(n.alias[h]);s.array=s.array.concat(n.array),s.config={};const u=[];if(Object.keys(t).forEach(h=>{t[h].map(l=>{s.configuration["unknown-options-as-args"]&&(s.key[h]=!0),u.push(`--${h}`),u.push(l)})}),!u.length)return;const a=Object.assign({},s.configuration,{"populate--":!1}),c=this.shim.Parser.detailed(u,Object.assign({},s,{configuration:a}));if(c.error)r.getInternalMethods().getUsageInstance().fail(c.error.message,c.error);else{const h=Object.keys(t);Object.keys(t).forEach(l=>{h.push(...c.aliases[l])}),Object.keys(c.argv).forEach(l=>{h.includes(l)&&(t[l]||(t[l]=c.argv[l]),!this.isInConfigs(r,l)&&!this.isDefaulted(r,l)&&Object.prototype.hasOwnProperty.call(e,l)&&Object.prototype.hasOwnProperty.call(c.argv,l)&&(Array.isArray(e[l])||Array.isArray(c.argv[l]))?e[l]=[].concat(e[l],c.argv[l]):e[l]=c.argv[l])})}}isDefaulted(e,t){const{default:n}=e.getOptions();return Object.prototype.hasOwnProperty.call(n,t)||Object.prototype.hasOwnProperty.call(n,this.shim.Parser.camelCase(t))}isInConfigs(e,t){const{configObjects:n}=e.getOptions();return n.some(r=>Object.prototype.hasOwnProperty.call(r,t))||n.some(r=>Object.prototype.hasOwnProperty.call(r,this.shim.Parser.camelCase(t)))}runDefaultBuilderOn(e){if(!this.defaultCommand)return;if(this.shouldUpdateUsage(e)){const n=Et.test(this.defaultCommand.original)?this.defaultCommand.original:this.defaultCommand.original.replace(/^[^[\]<>]*/,"$0 ");e.getInternalMethods().getUsageInstance().usage(n,this.defaultCommand.description)}const t=this.defaultCommand.builder;if($n(t))return t(e,!0);Yi(t)||Object.keys(t).forEach(n=>{e.option(n,t[n])})}moduleName(e){const t=ou(e);if(!t)throw new Error(`No command name given for module: ${this.shim.inspect(e)}`);return this.commandFromFilename(t.filename)}commandFromFilename(e){return this.shim.path.basename(e,this.shim.path.extname(e))}extractDesc({describe:e,description:t,desc:n}){for(const r of[e,t,n]){if(typeof r=="string"||r===!1)return r;Le(r,!0,this.shim)}return!1}freeze(){this.frozens.push({handlers:this.handlers,aliasMap:this.aliasMap,defaultCommand:this.defaultCommand})}unfreeze(){const e=this.frozens.pop();Le(e,void 0,this.shim),{handlers:this.handlers,aliasMap:this.aliasMap,defaultCommand:this.defaultCommand}=e}reset(){return this.handlers={},this.aliasMap={},this.defaultCommand=void 0,this.requireCache=new Set,this}}function cu(i,e,t,n){return new au(i,e,t,n)}function Yi(i){return typeof i=="object"&&!!i.builder&&typeof i.handler=="function"}function lu(i){return i.every(e=>typeof e=="string")}function $n(i){return typeof i=="function"}function fu(i){return typeof i=="object"}function du(i){return typeof i=="object"&&!Array.isArray(i)}function Mt(i={},e=()=>!0){const t={};return tn(i).forEach(n=>{e(n,i[n])&&(t[n]=i[n])}),t}function kt(i){typeof process>"u"||[process.stdout,process.stderr].forEach(e=>{const t=e;t._handle&&t.isTTY&&typeof t._handle.setBlocking=="function"&&t._handle.setBlocking(i)})}function hu(i){return typeof i=="boolean"}function pu(i,e){const t=e.y18n.__,n={},r=[];n.failFn=function(O){r.push(O)};let s=null,u=null,a=!0;n.showHelpOnFail=function(O=!0,I){const[V,K]=typeof O=="string"?[!0,O]:[O,I];return i.getInternalMethods().isGlobalContext()&&(u=K),s=K,a=V,n};let c=!1;n.fail=function(O,I){const V=i.getInternalMethods().getLoggerInstance();if(r.length)for(let K=r.length-1;K>=0;--K){const de=r[K];if(hu(de)){if(I)throw I;if(O)throw Error(O)}else de(O,I,n)}else{if(i.getExitProcess()&&kt(!0),!c){c=!0,a&&(i.showHelp("error"),V.error()),(O||I)&&V.error(O||I);const K=s||u;K&&((O||I)&&V.error(""),V.error(K))}if(I=I||new le(O),i.getExitProcess())return i.exit(1);if(i.getInternalMethods().hasParseCallback())return i.exit(1,I);throw I}};let h=[],l=!1;n.usage=(j,O)=>j===null?(l=!0,h=[],n):(l=!1,h.push([j,O||""]),n),n.getUsage=()=>h,n.getUsageDisabled=()=>l,n.getPositionalGroupName=()=>t("Positionals:");let f=[];n.example=(j,O)=>{f.push([j,O||""])};let m=[];n.command=function(O,I,V,K,de=!1){V&&(m=m.map(q=>(q[2]=!1,q))),m.push([O,I||"",V,K,de])},n.getCommands=()=>m;let C={};n.describe=function(O,I){Array.isArray(O)?O.forEach(V=>{n.describe(V,I)}):typeof O=="object"?Object.keys(O).forEach(V=>{n.describe(V,O[V])}):C[O]=I},n.getDescriptions=()=>C;let F=[];n.epilog=j=>{F.push(j)};let w=!1,p;n.wrap=j=>{w=!0,p=j},n.getWrap=()=>e.getEnv("YARGS_DISABLE_WRAP")?null:(w||(p=Ct(),w=!0),p);const y="__yargsString__:";n.deferY18nLookup=j=>y+j,n.help=function(){if(L)return L;M();const O=i.customScriptName?i.$0:e.path.basename(i.$0),I=i.getDemandedOptions(),V=i.getDemandedCommands(),K=i.getDeprecatedOptions(),de=i.getGroups(),q=i.getOptions();let he=[];he=he.concat(Object.keys(C)),he=he.concat(Object.keys(I)),he=he.concat(Object.keys(V)),he=he.concat(Object.keys(q.default)),he=he.filter(Ce),he=Object.keys(he.reduce((k,te)=>(te!=="_"&&(k[te]=!0),k),{}));const nt=n.getWrap(),ne=e.cliui({width:nt,wrap:!!nt});if(!l){if(h.length)h.forEach(k=>{ne.div({text:`${k[0].replace(/\$0/g,O)}`}),k[1]&&ne.div({text:`${k[1]}`,padding:[1,0,0,0]})}),ne.div();else if(m.length){let k=null;V._?k=`${O} <${t("command")}>
8
8
  `:k=`${O} [${t("command")}]
9
- `,ne.div(`${k}`)}}if(m.length>1||m.length===1&&!m[0][2]){ne.div(t("Commands:"));const k=i.getInternalMethods().getContext(),te=k.commands.length?`${k.commands.join(" ")} `:"";i.getInternalMethods().getParserConfiguration()["sort-commands"]===!0&&(m=m.sort((q,se)=>q[0].localeCompare(se[0])));const ie=O?`${O} `:"";m.forEach(q=>{const se=`${ie}${te}${q[0].replace(/^\$0 ?/,"")}`;ne.span({text:se,padding:[0,2,0,2],width:B(m,nt,`${O}${te}`)+4},{text:q[1]});const ue=[];q[2]&&ue.push(`[${t("default")}]`),q[3]&&q[3].length&&ue.push(`[${t("aliases:")} ${q[3].join(", ")}]`),q[4]&&(typeof q[4]=="string"?ue.push(`[${t("deprecated: %s",q[4])}]`):ue.push(`[${t("deprecated")}]`)),ue.length?ne.div({text:ue.join(" "),padding:[0,0,0,2],align:"right"}):ne.div()}),ne.div()}const Ue=(Object.keys(J.alias)||[]).concat(Object.keys(i.parsed.newAliases)||[]);he=he.filter(k=>!i.parsed.newAliases[k]&&Ue.every(te=>(J.alias[te]||[]).indexOf(k)===-1));const Ve=t("Options:");de[Ve]||(de[Ve]=[]),U(he,J.alias,de,Ve);const it=k=>/^--/.test(nn(k)),T=Object.keys(de).filter(k=>de[k].length>0).map(k=>{const te=de[k].filter(Ce).map(ie=>{if(Ue.includes(ie))return ie;for(let q=0,se;(se=Ue[q])!==void 0;q++)if((J.alias[se]||[]).includes(ie))return se;return ie});return{groupName:k,normalizedKeys:te}}).filter(({normalizedKeys:k})=>k.length>0).map(({groupName:k,normalizedKeys:te})=>{const ie=te.reduce((q,se)=>(q[se]=[se].concat(J.alias[se]||[]).map(ue=>k===n.getPositionalGroupName()?ue:(/^[0-9]$/.test(ue)?J.boolean.includes(se)?"-":"--":ue.length>1?"--":"-")+ue).sort((ue,xe)=>it(ue)===it(xe)?0:it(ue)?1:-1).join(", "),q),{});return{groupName:k,normalizedKeys:te,switches:ie}});if(T.filter(({groupName:k})=>k!==n.getPositionalGroupName()).some(({normalizedKeys:k,switches:te})=>!k.every(ie=>it(te[ie])))&&T.filter(({groupName:k})=>k!==n.getPositionalGroupName()).forEach(({normalizedKeys:k,switches:te})=>{k.forEach(ie=>{it(te[ie])&&(te[ie]=mu(te[ie],4))})}),T.forEach(({groupName:k,normalizedKeys:te,switches:ie})=>{ne.div(k),te.forEach(q=>{const se=ie[q];let ue=C[q]||"",xe=null;ue.includes(y)&&(ue=t(ue.substring(y.length))),J.boolean.includes(q)&&(xe=`[${t("boolean")}]`),J.count.includes(q)&&(xe=`[${t("count")}]`),J.string.includes(q)&&(xe=`[${t("string")}]`),J.normalize.includes(q)&&(xe=`[${t("string")}]`),J.array.includes(q)&&(xe=`[${t("array")}]`),J.number.includes(q)&&(xe=`[${t("number")}]`);const $e=D=>typeof D=="string"?`[${t("deprecated: %s",D)}]`:`[${t("deprecated")}]`,Yt=[q in K?$e(K[q]):null,xe,q in I?`[${t("required")}]`:null,J.choices&&J.choices[q]?`[${t("choices:")} ${n.stringifiedValues(J.choices[q])}]`:null,Ie(J.default[q],J.defaultDescription[q])].filter(Boolean).join(" ");ne.span({text:nn(se),padding:[0,2,0,2+qi(se)],width:B(ie,nt)+4},ue);const d=i.getInternalMethods().getUsageConfiguration()["hide-types"]===!0;Yt&&!d?ne.div({text:Yt,padding:[0,0,0,2],align:"right"}):ne.div()}),ne.div()}),f.length&&(ne.div(t("Examples:")),f.forEach(k=>{k[0]=k[0].replace(/\$0/g,O)}),f.forEach(k=>{k[1]===""?ne.div({text:k[0],padding:[0,2,0,2]}):ne.div({text:k[0],padding:[0,2,0,2],width:B(f,nt)+4},{text:k[1]})}),ne.div()),F.length>0){const k=F.map(te=>te.replace(/\$0/g,O)).join(`
9
+ `,ne.div(`${k}`)}}if(m.length>1||m.length===1&&!m[0][2]){ne.div(t("Commands:"));const k=i.getInternalMethods().getContext(),te=k.commands.length?`${k.commands.join(" ")} `:"";i.getInternalMethods().getParserConfiguration()["sort-commands"]===!0&&(m=m.sort((J,re)=>J[0].localeCompare(re[0])));const ie=O?`${O} `:"";m.forEach(J=>{const re=`${ie}${te}${J[0].replace(/^\$0 ?/,"")}`;ne.span({text:re,padding:[0,2,0,2],width:B(m,nt,`${O}${te}`)+4},{text:J[1]});const ue=[];J[2]&&ue.push(`[${t("default")}]`),J[3]&&J[3].length&&ue.push(`[${t("aliases:")} ${J[3].join(", ")}]`),J[4]&&(typeof J[4]=="string"?ue.push(`[${t("deprecated: %s",J[4])}]`):ue.push(`[${t("deprecated")}]`)),ue.length?ne.div({text:ue.join(" "),padding:[0,0,0,2],align:"right"}):ne.div()}),ne.div()}const Ue=(Object.keys(q.alias)||[]).concat(Object.keys(i.parsed.newAliases)||[]);he=he.filter(k=>!i.parsed.newAliases[k]&&Ue.every(te=>(q.alias[te]||[]).indexOf(k)===-1));const Ve=t("Options:");de[Ve]||(de[Ve]=[]),U(he,q.alias,de,Ve);const it=k=>/^--/.test(nn(k)),T=Object.keys(de).filter(k=>de[k].length>0).map(k=>{const te=de[k].filter(Ce).map(ie=>{if(Ue.includes(ie))return ie;for(let J=0,re;(re=Ue[J])!==void 0;J++)if((q.alias[re]||[]).includes(ie))return re;return ie});return{groupName:k,normalizedKeys:te}}).filter(({normalizedKeys:k})=>k.length>0).map(({groupName:k,normalizedKeys:te})=>{const ie=te.reduce((J,re)=>(J[re]=[re].concat(q.alias[re]||[]).map(ue=>k===n.getPositionalGroupName()?ue:(/^[0-9]$/.test(ue)?q.boolean.includes(re)?"-":"--":ue.length>1?"--":"-")+ue).sort((ue,xe)=>it(ue)===it(xe)?0:it(ue)?1:-1).join(", "),J),{});return{groupName:k,normalizedKeys:te,switches:ie}});if(T.filter(({groupName:k})=>k!==n.getPositionalGroupName()).some(({normalizedKeys:k,switches:te})=>!k.every(ie=>it(te[ie])))&&T.filter(({groupName:k})=>k!==n.getPositionalGroupName()).forEach(({normalizedKeys:k,switches:te})=>{k.forEach(ie=>{it(te[ie])&&(te[ie]=mu(te[ie],4))})}),T.forEach(({groupName:k,normalizedKeys:te,switches:ie})=>{ne.div(k),te.forEach(J=>{const re=ie[J];let ue=C[J]||"",xe=null;ue.includes(y)&&(ue=t(ue.substring(y.length))),q.boolean.includes(J)&&(xe=`[${t("boolean")}]`),q.count.includes(J)&&(xe=`[${t("count")}]`),q.string.includes(J)&&(xe=`[${t("string")}]`),q.normalize.includes(J)&&(xe=`[${t("string")}]`),q.array.includes(J)&&(xe=`[${t("array")}]`),q.number.includes(J)&&(xe=`[${t("number")}]`);const $e=D=>typeof D=="string"?`[${t("deprecated: %s",D)}]`:`[${t("deprecated")}]`,Yt=[J in K?$e(K[J]):null,xe,J in I?`[${t("required")}]`:null,q.choices&&q.choices[J]?`[${t("choices:")} ${n.stringifiedValues(q.choices[J])}]`:null,Ie(q.default[J],q.defaultDescription[J])].filter(Boolean).join(" ");ne.span({text:nn(re),padding:[0,2,0,2+Ji(re)],width:B(ie,nt)+4},ue);const d=i.getInternalMethods().getUsageConfiguration()["hide-types"]===!0;Yt&&!d?ne.div({text:Yt,padding:[0,0,0,2],align:"right"}):ne.div()}),ne.div()}),f.length&&(ne.div(t("Examples:")),f.forEach(k=>{k[0]=k[0].replace(/\$0/g,O)}),f.forEach(k=>{k[1]===""?ne.div({text:k[0],padding:[0,2,0,2]}):ne.div({text:k[0],padding:[0,2,0,2],width:B(f,nt)+4},{text:k[1]})}),ne.div()),F.length>0){const k=F.map(te=>te.replace(/\$0/g,O)).join(`
10
10
  `);ne.div(`${k}
11
- `)}return ne.toString().replace(/\s*$/,"")};function B(j,O,I){let V=0;return Array.isArray(j)||(j=Object.values(j).map(K=>[K])),j.forEach(K=>{V=Math.max(e.stringWidth(I?`${I} ${nn(K[0])}`:nn(K[0]))+qi(K[0]),V)}),O&&(V=Math.min(V,parseInt((O*.5).toString(),10))),V}function M(){const j=i.getDemandedOptions(),O=i.getOptions();(Object.keys(O.alias)||[]).forEach(I=>{O.alias[I].forEach(V=>{C[V]&&n.describe(I,C[V]),V in j&&i.demandOption(I,j[V]),O.boolean.includes(V)&&i.boolean(I),O.count.includes(V)&&i.count(I),O.string.includes(V)&&i.string(I),O.normalize.includes(V)&&i.normalize(I),O.array.includes(V)&&i.array(I),O.number.includes(V)&&i.number(I)})})}let L;n.cacheHelpMessage=function(){L=this.help()},n.clearCachedHelpMessage=function(){L=void 0},n.hasCachedHelpMessage=function(){return!!L};function U(j,O,I,V){let K=[],de=null;return Object.keys(I).forEach(J=>{K=K.concat(I[J])}),j.forEach(J=>{de=[J].concat(O[J]),de.some(he=>K.indexOf(he)!==-1)||I[V].push(J)}),K}function Ce(j){return i.getOptions().hiddenOptions.indexOf(j)<0||i.parsed.argv[i.getOptions().showHiddenOpt]}n.showHelp=j=>{const O=i.getInternalMethods().getLoggerInstance();j||(j="error"),(typeof j=="function"?j:O[j])(n.help())},n.functionDescription=j=>["(",j.name?e.Parser.decamelize(j.name,"-"):t("generated-value"),")"].join(""),n.stringifiedValues=function(O,I){let V="";const K=I||", ",de=[].concat(O);return!O||!de.length||de.forEach(J=>{V.length&&(V+=K),V+=JSON.stringify(J)}),V};function Ie(j,O){let I=`[${t("default:")} `;if(j===void 0&&!O)return null;if(O)I+=O;else switch(typeof j){case"string":I+=`"${j}"`;break;case"object":I+=JSON.stringify(j);break;default:I+=j}return`${I}]`}function Ct(){return e.process.stdColumns?Math.min(80,e.process.stdColumns):80}let tt=null;n.version=j=>{tt=j},n.showVersion=j=>{const O=i.getInternalMethods().getLoggerInstance();j||(j="error"),(typeof j=="function"?j:O[j])(tt)},n.reset=function(O){return r=null,c=!1,h=[],l=!1,F=[],f=[],m=[],C=Mt(C,I=>!O[I]),n};const X=[];return n.freeze=function(){X.push({failMessage:r,failureOutput:c,usages:h,usageDisabled:l,epilogs:F,examples:f,commands:m,descriptions:C})},n.unfreeze=function(O=!1){const I=X.pop();I&&(O?(C={...I.descriptions,...C},m=[...I.commands,...m],h=[...I.usages,...h],f=[...I.examples,...f],F=[...I.epilogs,...F]):{failMessage:r,failureOutput:c,usages:h,usageDisabled:l,epilogs:F,examples:f,commands:m,descriptions:C}=I)},n}function jn(i){return typeof i=="object"}function mu(i,e){return jn(i)?{text:i.text,indentation:i.indentation+e}:{text:i,indentation:e}}function qi(i){return jn(i)?i.indentation:0}function nn(i){return jn(i)?i.text:i}const gu=`###-begin-{{app_name}}-completions-###
11
+ `)}return ne.toString().replace(/\s*$/,"")};function B(j,O,I){let V=0;return Array.isArray(j)||(j=Object.values(j).map(K=>[K])),j.forEach(K=>{V=Math.max(e.stringWidth(I?`${I} ${nn(K[0])}`:nn(K[0]))+Ji(K[0]),V)}),O&&(V=Math.min(V,parseInt((O*.5).toString(),10))),V}function M(){const j=i.getDemandedOptions(),O=i.getOptions();(Object.keys(O.alias)||[]).forEach(I=>{O.alias[I].forEach(V=>{C[V]&&n.describe(I,C[V]),V in j&&i.demandOption(I,j[V]),O.boolean.includes(V)&&i.boolean(I),O.count.includes(V)&&i.count(I),O.string.includes(V)&&i.string(I),O.normalize.includes(V)&&i.normalize(I),O.array.includes(V)&&i.array(I),O.number.includes(V)&&i.number(I)})})}let L;n.cacheHelpMessage=function(){L=this.help()},n.clearCachedHelpMessage=function(){L=void 0},n.hasCachedHelpMessage=function(){return!!L};function U(j,O,I,V){let K=[],de=null;return Object.keys(I).forEach(q=>{K=K.concat(I[q])}),j.forEach(q=>{de=[q].concat(O[q]),de.some(he=>K.indexOf(he)!==-1)||I[V].push(q)}),K}function Ce(j){return i.getOptions().hiddenOptions.indexOf(j)<0||i.parsed.argv[i.getOptions().showHiddenOpt]}n.showHelp=j=>{const O=i.getInternalMethods().getLoggerInstance();j||(j="error"),(typeof j=="function"?j:O[j])(n.help())},n.functionDescription=j=>["(",j.name?e.Parser.decamelize(j.name,"-"):t("generated-value"),")"].join(""),n.stringifiedValues=function(O,I){let V="";const K=I||", ",de=[].concat(O);return!O||!de.length||de.forEach(q=>{V.length&&(V+=K),V+=JSON.stringify(q)}),V};function Ie(j,O){let I=`[${t("default:")} `;if(j===void 0&&!O)return null;if(O)I+=O;else switch(typeof j){case"string":I+=`"${j}"`;break;case"object":I+=JSON.stringify(j);break;default:I+=j}return`${I}]`}function Ct(){return e.process.stdColumns?Math.min(80,e.process.stdColumns):80}let tt=null;n.version=j=>{tt=j},n.showVersion=j=>{const O=i.getInternalMethods().getLoggerInstance();j||(j="error"),(typeof j=="function"?j:O[j])(tt)},n.reset=function(O){return s=null,c=!1,h=[],l=!1,F=[],f=[],m=[],C=Mt(C,I=>!O[I]),n};const X=[];return n.freeze=function(){X.push({failMessage:s,failureOutput:c,usages:h,usageDisabled:l,epilogs:F,examples:f,commands:m,descriptions:C})},n.unfreeze=function(O=!1){const I=X.pop();I&&(O?(C={...I.descriptions,...C},m=[...I.commands,...m],h=[...I.usages,...h],f=[...I.examples,...f],F=[...I.epilogs,...F]):{failMessage:s,failureOutput:c,usages:h,usageDisabled:l,epilogs:F,examples:f,commands:m,descriptions:C}=I)},n}function jn(i){return typeof i=="object"}function mu(i,e){return jn(i)?{text:i.text,indentation:i.indentation+e}:{text:i,indentation:e}}function Ji(i){return jn(i)?i.indentation:0}function nn(i){return jn(i)?i.text:i}const gu=`###-begin-{{app_name}}-completions-###
12
12
  #
13
13
  # yargs command completion script
14
14
  #
@@ -55,32 +55,32 @@ _{{app_name}}_yargs_completions()
55
55
  }
56
56
  compdef _{{app_name}}_yargs_completions {{app_name}}
57
57
  ###-end-{{app_name}}-completions-###
58
- `;class Cu{constructor(e,t,n,s){var r,u,a;this.yargs=e,this.usage=t,this.command=n,this.shim=s,this.completionKey="get-yargs-completions",this.aliases=null,this.customCompletionFunction=null,this.indexAfterLastReset=0,this.zshShell=(a=((r=this.shim.getEnv("SHELL"))===null||r===void 0?void 0:r.includes("zsh"))||((u=this.shim.getEnv("ZSH_NAME"))===null||u===void 0?void 0:u.includes("zsh")))!==null&&a!==void 0?a:!1}defaultCompletion(e,t,n,s){const r=this.command.getCommandHandlers();for(let a=0,c=e.length;a<c;++a)if(r[e[a]]&&r[e[a]].builder){const h=r[e[a]].builder;if($n(h)){this.indexAfterLastReset=a+1;const l=this.yargs.getInternalMethods().reset();return h(l,!0),l.argv}}const u=[];this.commandCompletions(u,e,n),this.optionCompletions(u,e,t,n),this.choicesFromOptionsCompletions(u,e,t,n),this.choicesFromPositionalsCompletions(u,e,t,n),s(null,u)}commandCompletions(e,t,n){const s=this.yargs.getInternalMethods().getContext().commands;!n.match(/^-/)&&s[s.length-1]!==n&&!this.previousArgHasChoices(t)&&this.usage.getCommands().forEach(r=>{const u=Pt(r[0]).cmd;if(t.indexOf(u)===-1)if(!this.zshShell)e.push(u);else{const a=r[1]||"";e.push(u.replace(/:/g,"\\:")+":"+a)}})}optionCompletions(e,t,n,s){if((s.match(/^-/)||s===""&&e.length===0)&&!this.previousArgHasChoices(t)){const r=this.yargs.getOptions(),u=this.yargs.getGroups()[this.usage.getPositionalGroupName()]||[];Object.keys(r.key).forEach(a=>{const c=!!r.configuration["boolean-negation"]&&r.boolean.includes(a);!u.includes(a)&&!r.hiddenOptions.includes(a)&&!this.argsContainKey(t,a,c)&&this.completeOptionKey(a,e,s,c&&!!r.default[a])})}}choicesFromOptionsCompletions(e,t,n,s){if(this.previousArgHasChoices(t)){const r=this.getPreviousArgChoices(t);r&&r.length>0&&e.push(...r.map(u=>u.replace(/:/g,"\\:")))}}choicesFromPositionalsCompletions(e,t,n,s){if(s===""&&e.length>0&&this.previousArgHasChoices(t))return;const r=this.yargs.getGroups()[this.usage.getPositionalGroupName()]||[],u=Math.max(this.indexAfterLastReset,this.yargs.getInternalMethods().getContext().commands.length+1),a=r[n._.length-u-1];if(!a)return;const c=this.yargs.getOptions().choices[a]||[];for(const h of c)h.startsWith(s)&&e.push(h.replace(/:/g,"\\:"))}getPreviousArgChoices(e){if(e.length<1)return;let t=e[e.length-1],n="";if(!t.startsWith("-")&&e.length>1&&(n=t,t=e[e.length-2]),!t.startsWith("-"))return;const s=t.replace(/^-+/,""),r=this.yargs.getOptions(),u=[s,...this.yargs.getAliases()[s]||[]];let a;for(const c of u)if(Object.prototype.hasOwnProperty.call(r.key,c)&&Array.isArray(r.choices[c])){a=r.choices[c];break}if(a)return a.filter(c=>!n||c.startsWith(n))}previousArgHasChoices(e){const t=this.getPreviousArgChoices(e);return t!==void 0&&t.length>0}argsContainKey(e,t,n){const s=r=>e.indexOf((/^[^0-9]$/.test(r)?"-":"--")+r)!==-1;if(s(t)||n&&s(`no-${t}`))return!0;if(this.aliases){for(const r of this.aliases[t])if(s(r))return!0}return!1}completeOptionKey(e,t,n,s){var r,u,a,c;let h=e;if(this.zshShell){const C=this.usage.getDescriptions(),F=(u=(r=this===null||this===void 0?void 0:this.aliases)===null||r===void 0?void 0:r[e])===null||u===void 0?void 0:u.find(y=>{const B=C[y];return typeof B=="string"&&B.length>0}),w=F?C[F]:void 0,p=(c=(a=C[e])!==null&&a!==void 0?a:w)!==null&&c!==void 0?c:"";h=`${e.replace(/:/g,"\\:")}:${p.replace("__yargsString__:","").replace(/(\r\n|\n|\r)/gm," ")}`}const l=C=>/^--/.test(C),f=C=>/^[^0-9]$/.test(C),m=!l(n)&&f(e)?"-":"--";t.push(m+h),s&&t.push(m+"no-"+h)}customCompletion(e,t,n,s){if(Le(this.customCompletionFunction,null,this.shim),Au(this.customCompletionFunction)){const r=this.customCompletionFunction(n,t);return ce(r)?r.then(u=>{this.shim.process.nextTick(()=>{s(null,u)})}).catch(u=>{this.shim.process.nextTick(()=>{s(u,void 0)})}):s(null,r)}else return Eu(this.customCompletionFunction)?this.customCompletionFunction(n,t,(r=s)=>this.defaultCompletion(e,t,n,r),r=>{s(null,r)}):this.customCompletionFunction(n,t,r=>{s(null,r)})}getCompletion(e,t){const n=e.length?e[e.length-1]:"",s=this.yargs.parse(e,!0),r=this.customCompletionFunction?u=>this.customCompletion(e,u,n,t):u=>this.defaultCompletion(e,u,n,t);return ce(s)?s.then(r):r(s)}generateCompletionScript(e,t){let n=this.zshShell?Du:gu;const s=this.shim.path.basename(e);return e.match(/\.js$/)&&(e=`./${e}`),n=n.replace(/{{app_name}}/g,s),n=n.replace(/{{completion_command}}/g,t),n.replace(/{{app_path}}/g,e)}registerFunction(e){this.customCompletionFunction=e}setParsed(e){this.aliases=e.aliases}}function wu(i,e,t,n){return new Cu(i,e,t,n)}function Au(i){return i.length<3}function Eu(i){return i.length>3}function bu(i,e){if(i.length===0)return e.length;if(e.length===0)return i.length;const t=[];let n;for(n=0;n<=e.length;n++)t[n]=[n];let s;for(s=0;s<=i.length;s++)t[0][s]=s;for(n=1;n<=e.length;n++)for(s=1;s<=i.length;s++)e.charAt(n-1)===i.charAt(s-1)?t[n][s]=t[n-1][s-1]:n>1&&s>1&&e.charAt(n-2)===i.charAt(s-1)&&e.charAt(n-1)===i.charAt(s-2)?t[n][s]=t[n-2][s-2]+1:t[n][s]=Math.min(t[n-1][s-1]+1,Math.min(t[n][s-1]+1,t[n-1][s]+1));return t[e.length][i.length]}const Ji=["$0","--","_"];function Fu(i,e,t){const n=t.y18n.__,s=t.y18n.__n,r={};r.nonOptionCount=function(f){const m=i.getDemandedCommands(),F=f._.length+(f["--"]?f["--"].length:0)-i.getInternalMethods().getContext().commands.length;m._&&(F<m._.min||F>m._.max)&&(F<m._.min?m._.minMsg!==void 0?e.fail(m._.minMsg?m._.minMsg.replace(/\$0/g,F.toString()).replace(/\$1/,m._.min.toString()):null):e.fail(s("Not enough non-option arguments: got %s, need at least %s","Not enough non-option arguments: got %s, need at least %s",F,F.toString(),m._.min.toString())):F>m._.max&&(m._.maxMsg!==void 0?e.fail(m._.maxMsg?m._.maxMsg.replace(/\$0/g,F.toString()).replace(/\$1/,m._.max.toString()):null):e.fail(s("Too many non-option arguments: got %s, maximum of %s","Too many non-option arguments: got %s, maximum of %s",F,F.toString(),m._.max.toString()))))},r.positionalCount=function(f,m){m<f&&e.fail(s("Not enough non-option arguments: got %s, need at least %s","Not enough non-option arguments: got %s, need at least %s",m,m+"",f+""))},r.requiredArguments=function(f,m){let C=null;for(const F of Object.keys(m))(!Object.prototype.hasOwnProperty.call(f,F)||typeof f[F]>"u")&&(C=C||{},C[F]=m[F]);if(C){const F=[];for(const p of Object.keys(C)){const y=C[p];y&&F.indexOf(y)<0&&F.push(y)}const w=F.length?`
58
+ `;class Cu{constructor(e,t,n,r){var s,u,a;this.yargs=e,this.usage=t,this.command=n,this.shim=r,this.completionKey="get-yargs-completions",this.aliases=null,this.customCompletionFunction=null,this.indexAfterLastReset=0,this.zshShell=(a=((s=this.shim.getEnv("SHELL"))===null||s===void 0?void 0:s.includes("zsh"))||((u=this.shim.getEnv("ZSH_NAME"))===null||u===void 0?void 0:u.includes("zsh")))!==null&&a!==void 0?a:!1}defaultCompletion(e,t,n,r){const s=this.command.getCommandHandlers();for(let a=0,c=e.length;a<c;++a)if(s[e[a]]&&s[e[a]].builder){const h=s[e[a]].builder;if($n(h)){this.indexAfterLastReset=a+1;const l=this.yargs.getInternalMethods().reset();return h(l,!0),l.argv}}const u=[];this.commandCompletions(u,e,n),this.optionCompletions(u,e,t,n),this.choicesFromOptionsCompletions(u,e,t,n),this.choicesFromPositionalsCompletions(u,e,t,n),r(null,u)}commandCompletions(e,t,n){const r=this.yargs.getInternalMethods().getContext().commands;!n.match(/^-/)&&r[r.length-1]!==n&&!this.previousArgHasChoices(t)&&this.usage.getCommands().forEach(s=>{const u=Pt(s[0]).cmd;if(t.indexOf(u)===-1)if(!this.zshShell)e.push(u);else{const a=s[1]||"";e.push(u.replace(/:/g,"\\:")+":"+a)}})}optionCompletions(e,t,n,r){if((r.match(/^-/)||r===""&&e.length===0)&&!this.previousArgHasChoices(t)){const s=this.yargs.getOptions(),u=this.yargs.getGroups()[this.usage.getPositionalGroupName()]||[];Object.keys(s.key).forEach(a=>{const c=!!s.configuration["boolean-negation"]&&s.boolean.includes(a);!u.includes(a)&&!s.hiddenOptions.includes(a)&&!this.argsContainKey(t,a,c)&&this.completeOptionKey(a,e,r,c&&!!s.default[a])})}}choicesFromOptionsCompletions(e,t,n,r){if(this.previousArgHasChoices(t)){const s=this.getPreviousArgChoices(t);s&&s.length>0&&e.push(...s.map(u=>u.replace(/:/g,"\\:")))}}choicesFromPositionalsCompletions(e,t,n,r){if(r===""&&e.length>0&&this.previousArgHasChoices(t))return;const s=this.yargs.getGroups()[this.usage.getPositionalGroupName()]||[],u=Math.max(this.indexAfterLastReset,this.yargs.getInternalMethods().getContext().commands.length+1),a=s[n._.length-u-1];if(!a)return;const c=this.yargs.getOptions().choices[a]||[];for(const h of c)h.startsWith(r)&&e.push(h.replace(/:/g,"\\:"))}getPreviousArgChoices(e){if(e.length<1)return;let t=e[e.length-1],n="";if(!t.startsWith("-")&&e.length>1&&(n=t,t=e[e.length-2]),!t.startsWith("-"))return;const r=t.replace(/^-+/,""),s=this.yargs.getOptions(),u=[r,...this.yargs.getAliases()[r]||[]];let a;for(const c of u)if(Object.prototype.hasOwnProperty.call(s.key,c)&&Array.isArray(s.choices[c])){a=s.choices[c];break}if(a)return a.filter(c=>!n||c.startsWith(n))}previousArgHasChoices(e){const t=this.getPreviousArgChoices(e);return t!==void 0&&t.length>0}argsContainKey(e,t,n){const r=s=>e.indexOf((/^[^0-9]$/.test(s)?"-":"--")+s)!==-1;if(r(t)||n&&r(`no-${t}`))return!0;if(this.aliases){for(const s of this.aliases[t])if(r(s))return!0}return!1}completeOptionKey(e,t,n,r){var s,u,a,c;let h=e;if(this.zshShell){const C=this.usage.getDescriptions(),F=(u=(s=this===null||this===void 0?void 0:this.aliases)===null||s===void 0?void 0:s[e])===null||u===void 0?void 0:u.find(y=>{const B=C[y];return typeof B=="string"&&B.length>0}),w=F?C[F]:void 0,p=(c=(a=C[e])!==null&&a!==void 0?a:w)!==null&&c!==void 0?c:"";h=`${e.replace(/:/g,"\\:")}:${p.replace("__yargsString__:","").replace(/(\r\n|\n|\r)/gm," ")}`}const l=C=>/^--/.test(C),f=C=>/^[^0-9]$/.test(C),m=!l(n)&&f(e)?"-":"--";t.push(m+h),r&&t.push(m+"no-"+h)}customCompletion(e,t,n,r){if(Le(this.customCompletionFunction,null,this.shim),Au(this.customCompletionFunction)){const s=this.customCompletionFunction(n,t);return ce(s)?s.then(u=>{this.shim.process.nextTick(()=>{r(null,u)})}).catch(u=>{this.shim.process.nextTick(()=>{r(u,void 0)})}):r(null,s)}else return Eu(this.customCompletionFunction)?this.customCompletionFunction(n,t,(s=r)=>this.defaultCompletion(e,t,n,s),s=>{r(null,s)}):this.customCompletionFunction(n,t,s=>{r(null,s)})}getCompletion(e,t){const n=e.length?e[e.length-1]:"",r=this.yargs.parse(e,!0),s=this.customCompletionFunction?u=>this.customCompletion(e,u,n,t):u=>this.defaultCompletion(e,u,n,t);return ce(r)?r.then(s):s(r)}generateCompletionScript(e,t){let n=this.zshShell?Du:gu;const r=this.shim.path.basename(e);return e.match(/\.js$/)&&(e=`./${e}`),n=n.replace(/{{app_name}}/g,r),n=n.replace(/{{completion_command}}/g,t),n.replace(/{{app_path}}/g,e)}registerFunction(e){this.customCompletionFunction=e}setParsed(e){this.aliases=e.aliases}}function wu(i,e,t,n){return new Cu(i,e,t,n)}function Au(i){return i.length<3}function Eu(i){return i.length>3}function bu(i,e){if(i.length===0)return e.length;if(e.length===0)return i.length;const t=[];let n;for(n=0;n<=e.length;n++)t[n]=[n];let r;for(r=0;r<=i.length;r++)t[0][r]=r;for(n=1;n<=e.length;n++)for(r=1;r<=i.length;r++)e.charAt(n-1)===i.charAt(r-1)?t[n][r]=t[n-1][r-1]:n>1&&r>1&&e.charAt(n-2)===i.charAt(r-1)&&e.charAt(n-1)===i.charAt(r-2)?t[n][r]=t[n-2][r-2]+1:t[n][r]=Math.min(t[n-1][r-1]+1,Math.min(t[n][r-1]+1,t[n-1][r]+1));return t[e.length][i.length]}const qi=["$0","--","_"];function Fu(i,e,t){const n=t.y18n.__,r=t.y18n.__n,s={};s.nonOptionCount=function(f){const m=i.getDemandedCommands(),F=f._.length+(f["--"]?f["--"].length:0)-i.getInternalMethods().getContext().commands.length;m._&&(F<m._.min||F>m._.max)&&(F<m._.min?m._.minMsg!==void 0?e.fail(m._.minMsg?m._.minMsg.replace(/\$0/g,F.toString()).replace(/\$1/,m._.min.toString()):null):e.fail(r("Not enough non-option arguments: got %s, need at least %s","Not enough non-option arguments: got %s, need at least %s",F,F.toString(),m._.min.toString())):F>m._.max&&(m._.maxMsg!==void 0?e.fail(m._.maxMsg?m._.maxMsg.replace(/\$0/g,F.toString()).replace(/\$1/,m._.max.toString()):null):e.fail(r("Too many non-option arguments: got %s, maximum of %s","Too many non-option arguments: got %s, maximum of %s",F,F.toString(),m._.max.toString()))))},s.positionalCount=function(f,m){m<f&&e.fail(r("Not enough non-option arguments: got %s, need at least %s","Not enough non-option arguments: got %s, need at least %s",m,m+"",f+""))},s.requiredArguments=function(f,m){let C=null;for(const F of Object.keys(m))(!Object.prototype.hasOwnProperty.call(f,F)||typeof f[F]>"u")&&(C=C||{},C[F]=m[F]);if(C){const F=[];for(const p of Object.keys(C)){const y=C[p];y&&F.indexOf(y)<0&&F.push(y)}const w=F.length?`
59
59
  ${F.join(`
60
- `)}`:"";e.fail(s("Missing required argument: %s","Missing required arguments: %s",Object.keys(C).length,Object.keys(C).join(", ")+w))}},r.unknownArguments=function(f,m,C,F,w=!0){var p;const y=i.getInternalMethods().getCommandInstance().getCommands(),B=[],M=i.getInternalMethods().getContext();if(Object.keys(f).forEach(L=>{!Ji.includes(L)&&!Object.prototype.hasOwnProperty.call(C,L)&&!Object.prototype.hasOwnProperty.call(i.getInternalMethods().getParseContext(),L)&&!r.isValidAndSomeAliasIsNotNew(L,m)&&B.push(L)}),w&&(M.commands.length>0||y.length>0||F)&&f._.slice(M.commands.length).forEach(L=>{y.includes(""+L)||B.push(""+L)}),w){const U=((p=i.getDemandedCommands()._)===null||p===void 0?void 0:p.max)||0,Ce=M.commands.length+U;Ce<f._.length&&f._.slice(Ce).forEach(Ie=>{Ie=String(Ie),!M.commands.includes(Ie)&&!B.includes(Ie)&&B.push(Ie)})}B.length&&e.fail(s("Unknown argument: %s","Unknown arguments: %s",B.length,B.map(L=>L.trim()?L:`"${L}"`).join(", ")))},r.unknownCommands=function(f){const m=i.getInternalMethods().getCommandInstance().getCommands(),C=[],F=i.getInternalMethods().getContext();return(F.commands.length>0||m.length>0)&&f._.slice(F.commands.length).forEach(w=>{m.includes(""+w)||C.push(""+w)}),C.length>0?(e.fail(s("Unknown command: %s","Unknown commands: %s",C.length,C.join(", "))),!0):!1},r.isValidAndSomeAliasIsNotNew=function(f,m){if(!Object.prototype.hasOwnProperty.call(m,f))return!1;const C=i.parsed.newAliases;return[f,...m[f]].some(F=>!Object.prototype.hasOwnProperty.call(C,F)||!C[f])},r.limitedChoices=function(f){const m=i.getOptions(),C={};if(!Object.keys(m.choices).length)return;Object.keys(f).forEach(p=>{Ji.indexOf(p)===-1&&Object.prototype.hasOwnProperty.call(m.choices,p)&&[].concat(f[p]).forEach(y=>{m.choices[p].indexOf(y)===-1&&y!==void 0&&(C[p]=(C[p]||[]).concat(y))})});const F=Object.keys(C);if(!F.length)return;let w=n("Invalid values:");F.forEach(p=>{w+=`
61
- ${n("Argument: %s, Given: %s, Choices: %s",p,e.stringifiedValues(C[p]),e.stringifiedValues(m.choices[p]))}`}),e.fail(w)};let u={};r.implies=function(f,m){x("<string|object> [array|number|string]",[f,m],arguments.length),typeof f=="object"?Object.keys(f).forEach(C=>{r.implies(C,f[C])}):(i.global(f),u[f]||(u[f]=[]),Array.isArray(m)?m.forEach(C=>r.implies(f,C)):(Le(m,void 0,t),u[f].push(m)))},r.getImplied=function(){return u};function a(l,f){const m=Number(f);return f=isNaN(m)?f:m,typeof f=="number"?f=l._.length>=f:f.match(/^--no-.+/)?(f=f.match(/^--no-(.+)/)[1],f=!Object.prototype.hasOwnProperty.call(l,f)):f=Object.prototype.hasOwnProperty.call(l,f),f}r.implications=function(f){const m=[];if(Object.keys(u).forEach(C=>{const F=C;(u[C]||[]).forEach(w=>{let p=F;const y=w;p=a(f,p),w=a(f,w),p&&!w&&m.push(` ${F} -> ${y}`)})}),m.length){let C=`${n("Implications failed:")}
62
- `;m.forEach(F=>{C+=F}),e.fail(C)}};let c={};r.conflicts=function(f,m){x("<string|object> [array|string]",[f,m],arguments.length),typeof f=="object"?Object.keys(f).forEach(C=>{r.conflicts(C,f[C])}):(i.global(f),c[f]||(c[f]=[]),Array.isArray(m)?m.forEach(C=>r.conflicts(f,C)):c[f].push(m))},r.getConflicting=()=>c,r.conflicting=function(f){Object.keys(f).forEach(m=>{c[m]&&c[m].forEach(C=>{C&&f[m]!==void 0&&f[C]!==void 0&&e.fail(n("Arguments %s and %s are mutually exclusive",m,C))})}),i.getInternalMethods().getParserConfiguration()["strip-dashed"]&&Object.keys(c).forEach(m=>{c[m].forEach(C=>{C&&f[t.Parser.camelCase(m)]!==void 0&&f[t.Parser.camelCase(C)]!==void 0&&e.fail(n("Arguments %s and %s are mutually exclusive",m,C))})})},r.recommendCommands=function(f,m){m=m.sort((p,y)=>y.length-p.length);let F=null,w=1/0;for(let p=0,y;(y=m[p])!==void 0;p++){const B=bu(f,y);B<=3&&B<w&&(w=B,F=y)}F&&e.fail(n("Did you mean %s?",F))},r.reset=function(f){return u=Mt(u,m=>!f[m]),c=Mt(c,m=>!f[m]),r};const h=[];return r.freeze=function(){h.push({implied:u,conflicting:c})},r.unfreeze=function(){const f=h.pop();Le(f,void 0,t),{implied:u,conflicting:c}=f},r}let Pn=[],Tt;function Nn(i,e,t,n){Tt=n;let s={};if(Object.prototype.hasOwnProperty.call(i,"extends")){if(typeof i.extends!="string")return s;const r=/\.json|\..*rc$/.test(i.extends);let u=null;if(r)u=vu(e,i.extends);else try{u=require.resolve(i.extends)}catch{return i}yu(u),Pn.push(u),s=r?JSON.parse(Tt.readFileSync(u,"utf8")):qt(i.extends),delete i.extends,s=Nn(s,Tt.path.dirname(u),t,Tt)}return Pn=[],t?Ki(s,i):Object.assign({},s,i)}function yu(i){if(Pn.indexOf(i)>-1)throw new le(`Circular extended configurations: '${i}'.`)}function vu(i,e){return Tt.path.resolve(i,e)}function Ki(i,e){const t={};function n(s){return s&&typeof s=="object"&&!Array.isArray(s)}Object.assign(t,i);for(const s of Object.keys(e))n(e[s])&&n(t[s])?t[s]=Ki(i[s],e[s]):t[s]=e[s];return t}var S=function(i,e,t,n,s){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!s)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?i!==e||!s:!e.has(i))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?s.call(i,t):s?s.value=t:e.set(i,t),t},o=function(i,e,t,n){if(t==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?i!==e||!n:!e.has(i))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?n:t==="a"?n.call(i):n?n.value:e.get(i)},oe,rt,Rt,ve,be,sn,Ke,ut,rn,Be,un,Oe,Te,Fe,_e,on,bt,me,P,an,cn,ye,ot,Ft,at,Qe,ln,R,ct,lt,ft,W,fn,Re,re;function Bu(i){return(e=[],t=i.process.cwd(),n)=>{const s=new Ou(e,t,n,i);return Object.defineProperty(s,"argv",{get:()=>s.parse(),enumerable:!0}),s.help(),s.version(),s}}const Qi=Symbol("copyDoubleDash"),Xi=Symbol("copyDoubleDash"),Ln=Symbol("deleteFromParserHintObject"),Zi=Symbol("emitWarning"),es=Symbol("freeze"),ts=Symbol("getDollarZero"),dt=Symbol("getParserConfiguration"),ns=Symbol("getUsageConfiguration"),Mn=Symbol("guessLocale"),is=Symbol("guessVersion"),ss=Symbol("parsePositionalNumbers"),kn=Symbol("pkgUp"),Xe=Symbol("populateParserHintArray"),yt=Symbol("populateParserHintSingleValueDictionary"),Tn=Symbol("populateParserHintArrayDictionary"),Rn=Symbol("populateParserHintDictionary"),Wn=Symbol("sanitizeKey"),Un=Symbol("setKey"),Vn=Symbol("unfreeze"),rs=Symbol("validateAsync"),us=Symbol("getCommandInstance"),os=Symbol("getContext"),as=Symbol("getHasOutput"),cs=Symbol("getLoggerInstance"),ls=Symbol("getParseContext"),fs=Symbol("getUsageInstance"),ds=Symbol("getValidationInstance"),dn=Symbol("hasParseCallback"),hs=Symbol("isGlobalContext"),ht=Symbol("postProcess"),ps=Symbol("rebase"),zn=Symbol("reset"),Wt=Symbol("runYargsParserAndExecuteCommands"),Hn=Symbol("runValidation"),ms=Symbol("setHasOutput"),pt=Symbol("kTrackManuallySetKeys");class Ou{constructor(e=[],t,n,s){this.customScriptName=!1,this.parsed=!1,oe.set(this,void 0),rt.set(this,void 0),Rt.set(this,{commands:[],fullCommands:[]}),ve.set(this,null),be.set(this,null),sn.set(this,"show-hidden"),Ke.set(this,null),ut.set(this,!0),rn.set(this,{}),Be.set(this,!0),un.set(this,[]),Oe.set(this,void 0),Te.set(this,{}),Fe.set(this,!1),_e.set(this,null),on.set(this,!0),bt.set(this,void 0),me.set(this,""),P.set(this,void 0),an.set(this,void 0),cn.set(this,{}),ye.set(this,null),ot.set(this,null),Ft.set(this,{}),at.set(this,{}),Qe.set(this,void 0),ln.set(this,!1),R.set(this,void 0),ct.set(this,!1),lt.set(this,!1),ft.set(this,!1),W.set(this,void 0),fn.set(this,{}),Re.set(this,null),re.set(this,void 0),S(this,R,s,"f"),S(this,Qe,e,"f"),S(this,rt,t,"f"),S(this,an,n,"f"),S(this,Oe,new su(this),"f"),this.$0=this[ts](),this[zn](),S(this,oe,o(this,oe,"f"),"f"),S(this,W,o(this,W,"f"),"f"),S(this,re,o(this,re,"f"),"f"),S(this,P,o(this,P,"f"),"f"),o(this,P,"f").showHiddenOpt=o(this,sn,"f"),S(this,bt,this[Xi](),"f")}addHelpOpt(e,t){const n="help";return x("[string|boolean] [string]",[e,t],arguments.length),o(this,_e,"f")&&(this[Ln](o(this,_e,"f")),S(this,_e,null,"f")),e===!1&&t===void 0?this:(S(this,_e,typeof e=="string"?e:n,"f"),this.boolean(o(this,_e,"f")),this.describe(o(this,_e,"f"),t||o(this,W,"f").deferY18nLookup("Show help")),this)}help(e,t){return this.addHelpOpt(e,t)}addShowHiddenOpt(e,t){if(x("[string|boolean] [string]",[e,t],arguments.length),e===!1&&t===void 0)return this;const n=typeof e=="string"?e:o(this,sn,"f");return this.boolean(n),this.describe(n,t||o(this,W,"f").deferY18nLookup("Show hidden options")),o(this,P,"f").showHiddenOpt=n,this}showHidden(e,t){return this.addShowHiddenOpt(e,t)}alias(e,t){return x("<object|string|array> [string|array]",[e,t],arguments.length),this[Tn](this.alias.bind(this),"alias",e,t),this}array(e){return x("<array|string>",[e],arguments.length),this[Xe]("array",e),this[pt](e),this}boolean(e){return x("<array|string>",[e],arguments.length),this[Xe]("boolean",e),this[pt](e),this}check(e,t){return x("<function> [boolean]",[e,t],arguments.length),this.middleware((n,s)=>Lt(()=>e(n,s.getOptions()),r=>(r?(typeof r=="string"||r instanceof Error)&&o(this,W,"f").fail(r.toString(),r):o(this,W,"f").fail(o(this,R,"f").y18n.__("Argument check failed: %s",e.toString())),n),r=>(o(this,W,"f").fail(r.message?r.message:r.toString(),r),n)),!1,t),this}choices(e,t){return x("<object|string|array> [string|array]",[e,t],arguments.length),this[Tn](this.choices.bind(this),"choices",e,t),this}coerce(e,t){if(x("<object|string|array> [function]",[e,t],arguments.length),Array.isArray(e)){if(!t)throw new le("coerce callback must be provided");for(const n of e)this.coerce(n,t);return this}else if(typeof e=="object"){for(const n of Object.keys(e))this.coerce(n,e[n]);return this}if(!t)throw new le("coerce callback must be provided");return o(this,P,"f").key[e]=!0,o(this,Oe,"f").addCoerceMiddleware((n,s)=>{let r;return Object.prototype.hasOwnProperty.call(n,e)?Lt(()=>(r=s.getAliases(),t(n[e])),a=>{n[e]=a;const c=s.getInternalMethods().getParserConfiguration()["strip-aliased"];if(r[e]&&c!==!0)for(const h of r[e])n[h]=a;return n},a=>{throw new le(a.message)}):n},e),this}conflicts(e,t){return x("<string|object> [string|array]",[e,t],arguments.length),o(this,re,"f").conflicts(e,t),this}config(e="config",t,n){return x("[object|string] [string|function] [function]",[e,t,n],arguments.length),typeof e=="object"&&!Array.isArray(e)?(e=Nn(e,o(this,rt,"f"),this[dt]()["deep-merge-config"]||!1,o(this,R,"f")),o(this,P,"f").configObjects=(o(this,P,"f").configObjects||[]).concat(e),this):(typeof t=="function"&&(n=t,t=void 0),this.describe(e,t||o(this,W,"f").deferY18nLookup("Path to JSON config file")),(Array.isArray(e)?e:[e]).forEach(s=>{o(this,P,"f").config[s]=n||!0}),this)}completion(e,t,n){return x("[string] [string|boolean|function] [function]",[e,t,n],arguments.length),typeof t=="function"&&(n=t,t=void 0),S(this,be,e||o(this,be,"f")||"completion","f"),!t&&t!==!1&&(t="generate completion script"),this.command(o(this,be,"f"),t),n&&o(this,ve,"f").registerFunction(n),this}command(e,t,n,s,r,u){return x("<string|array|object> [string|boolean] [function|object] [function] [array] [boolean|string]",[e,t,n,s,r,u],arguments.length),o(this,oe,"f").addHandler(e,t,n,s,r,u),this}commands(e,t,n,s,r,u){return this.command(e,t,n,s,r,u)}commandDir(e,t){x("<string> [object]",[e,t],arguments.length);const n=o(this,an,"f")||o(this,R,"f").require;return o(this,oe,"f").addDirectory(e,n,o(this,R,"f").getCallerFile(),t),this}count(e){return x("<array|string>",[e],arguments.length),this[Xe]("count",e),this[pt](e),this}default(e,t,n){return x("<object|string|array> [*] [string]",[e,t,n],arguments.length),n&&(zi(e,o(this,R,"f")),o(this,P,"f").defaultDescription[e]=n),typeof t=="function"&&(zi(e,o(this,R,"f")),o(this,P,"f").defaultDescription[e]||(o(this,P,"f").defaultDescription[e]=o(this,W,"f").functionDescription(t)),t=t.call()),this[yt](this.default.bind(this),"default",e,t),this}defaults(e,t,n){return this.default(e,t,n)}demandCommand(e=1,t,n,s){return x("[number] [number|string] [string|null|undefined] [string|null|undefined]",[e,t,n,s],arguments.length),typeof t!="number"&&(n=t,t=1/0),this.global("_",!1),o(this,P,"f").demandedCommands._={min:e,max:t,minMsg:n,maxMsg:s},this}demand(e,t,n){return Array.isArray(t)?(t.forEach(s=>{Le(n,!0,o(this,R,"f")),this.demandOption(s,n)}),t=1/0):typeof t!="number"&&(n=t,t=1/0),typeof e=="number"?(Le(n,!0,o(this,R,"f")),this.demandCommand(e,t,n,n)):Array.isArray(e)?e.forEach(s=>{Le(n,!0,o(this,R,"f")),this.demandOption(s,n)}):typeof n=="string"?this.demandOption(e,n):(n===!0||typeof n>"u")&&this.demandOption(e),this}demandOption(e,t){return x("<object|string|array> [string]",[e,t],arguments.length),this[yt](this.demandOption.bind(this),"demandedOptions",e,t),this}deprecateOption(e,t){return x("<string> [string|boolean]",[e,t],arguments.length),o(this,P,"f").deprecatedOptions[e]=t,this}describe(e,t){return x("<object|string|array> [string]",[e,t],arguments.length),this[Un](e,!0),o(this,W,"f").describe(e,t),this}detectLocale(e){return x("<boolean>",[e],arguments.length),S(this,ut,e,"f"),this}env(e){return x("[string|boolean]",[e],arguments.length),e===!1?delete o(this,P,"f").envPrefix:o(this,P,"f").envPrefix=e||"",this}epilogue(e){return x("<string>",[e],arguments.length),o(this,W,"f").epilog(e),this}epilog(e){return this.epilogue(e)}example(e,t){return x("<string|array> [string]",[e,t],arguments.length),Array.isArray(e)?e.forEach(n=>this.example(...n)):o(this,W,"f").example(e,t),this}exit(e,t){S(this,Fe,!0,"f"),S(this,Ke,t,"f"),o(this,Be,"f")&&o(this,R,"f").process.exit(e)}exitProcess(e=!0){return x("[boolean]",[e],arguments.length),S(this,Be,e,"f"),this}fail(e){if(x("<function|boolean>",[e],arguments.length),typeof e=="boolean"&&e!==!1)throw new le("Invalid first argument. Expected function or boolean 'false'");return o(this,W,"f").failFn(e),this}getAliases(){return this.parsed?this.parsed.aliases:{}}async getCompletion(e,t){return x("<array> [function]",[e,t],arguments.length),t?o(this,ve,"f").getCompletion(e,t):new Promise((n,s)=>{o(this,ve,"f").getCompletion(e,(r,u)=>{r?s(r):n(u)})})}getDemandedOptions(){return x([],0),o(this,P,"f").demandedOptions}getDemandedCommands(){return x([],0),o(this,P,"f").demandedCommands}getDeprecatedOptions(){return x([],0),o(this,P,"f").deprecatedOptions}getDetectLocale(){return o(this,ut,"f")}getExitProcess(){return o(this,Be,"f")}getGroups(){return Object.assign({},o(this,Te,"f"),o(this,at,"f"))}getHelp(){if(S(this,Fe,!0,"f"),!o(this,W,"f").hasCachedHelpMessage()){if(!this.parsed){const t=this[Wt](o(this,Qe,"f"),void 0,void 0,0,!0);if(ce(t))return t.then(()=>o(this,W,"f").help())}const e=o(this,oe,"f").runDefaultBuilderOn(this);if(ce(e))return e.then(()=>o(this,W,"f").help())}return Promise.resolve(o(this,W,"f").help())}getOptions(){return o(this,P,"f")}getStrict(){return o(this,ct,"f")}getStrictCommands(){return o(this,lt,"f")}getStrictOptions(){return o(this,ft,"f")}global(e,t){return x("<string|array> [boolean]",[e,t],arguments.length),e=[].concat(e),t!==!1?o(this,P,"f").local=o(this,P,"f").local.filter(n=>e.indexOf(n)===-1):e.forEach(n=>{o(this,P,"f").local.includes(n)||o(this,P,"f").local.push(n)}),this}group(e,t){x("<string|array> <string>",[e,t],arguments.length);const n=o(this,at,"f")[t]||o(this,Te,"f")[t];o(this,at,"f")[t]&&delete o(this,at,"f")[t];const s={};return o(this,Te,"f")[t]=(n||[]).concat(e).filter(r=>s[r]?!1:s[r]=!0),this}hide(e){return x("<string>",[e],arguments.length),o(this,P,"f").hiddenOptions.push(e),this}implies(e,t){return x("<string|object> [number|string|array]",[e,t],arguments.length),o(this,re,"f").implies(e,t),this}locale(e){return x("[string]",[e],arguments.length),e===void 0?(this[Mn](),o(this,R,"f").y18n.getLocale()):(S(this,ut,!1,"f"),o(this,R,"f").y18n.setLocale(e),this)}middleware(e,t,n){return o(this,Oe,"f").addMiddleware(e,!!t,n)}nargs(e,t){return x("<string|object|array> [number]",[e,t],arguments.length),this[yt](this.nargs.bind(this),"narg",e,t),this}normalize(e){return x("<array|string>",[e],arguments.length),this[Xe]("normalize",e),this}number(e){return x("<array|string>",[e],arguments.length),this[Xe]("number",e),this[pt](e),this}option(e,t){if(x("<string|object> [object]",[e,t],arguments.length),typeof e=="object")Object.keys(e).forEach(n=>{this.options(n,e[n])});else{typeof t!="object"&&(t={}),this[pt](e),o(this,Re,"f")&&(e==="version"||t?.alias==="version")&&this[Zi](['"version" is a reserved word.',"Please do one of the following:",'- Disable version with `yargs.version(false)` if using "version" as an option',"- Use the built-in `yargs.version` method instead (if applicable)","- Use a different option key","https://yargs.js.org/docs/#api-reference-version"].join(`
63
- `),void 0,"versionWarning"),o(this,P,"f").key[e]=!0,t.alias&&this.alias(e,t.alias);const n=t.deprecate||t.deprecated;n&&this.deprecateOption(e,n);const s=t.demand||t.required||t.require;s&&this.demand(e,s),t.demandOption&&this.demandOption(e,typeof t.demandOption=="string"?t.demandOption:void 0),t.conflicts&&this.conflicts(e,t.conflicts),"default"in t&&this.default(e,t.default),t.implies!==void 0&&this.implies(e,t.implies),t.nargs!==void 0&&this.nargs(e,t.nargs),t.config&&this.config(e,t.configParser),t.normalize&&this.normalize(e),t.choices&&this.choices(e,t.choices),t.coerce&&this.coerce(e,t.coerce),t.group&&this.group(e,t.group),(t.boolean||t.type==="boolean")&&(this.boolean(e),t.alias&&this.boolean(t.alias)),(t.array||t.type==="array")&&(this.array(e),t.alias&&this.array(t.alias)),(t.number||t.type==="number")&&(this.number(e),t.alias&&this.number(t.alias)),(t.string||t.type==="string")&&(this.string(e),t.alias&&this.string(t.alias)),(t.count||t.type==="count")&&this.count(e),typeof t.global=="boolean"&&this.global(e,t.global),t.defaultDescription&&(o(this,P,"f").defaultDescription[e]=t.defaultDescription),t.skipValidation&&this.skipValidation(e);const r=t.describe||t.description||t.desc,u=o(this,W,"f").getDescriptions();(!Object.prototype.hasOwnProperty.call(u,e)||typeof r=="string")&&this.describe(e,r),t.hidden&&this.hide(e),t.requiresArg&&this.requiresArg(e)}return this}options(e,t){return this.option(e,t)}parse(e,t,n){x("[string|array] [function|boolean|object] [function]",[e,t,n],arguments.length),this[es](),typeof e>"u"&&(e=o(this,Qe,"f")),typeof t=="object"&&(S(this,ot,t,"f"),t=n),typeof t=="function"&&(S(this,ye,t,"f"),t=!1),t||S(this,Qe,e,"f"),o(this,ye,"f")&&S(this,Be,!1,"f");const s=this[Wt](e,!!t),r=this.parsed;return o(this,ve,"f").setParsed(this.parsed),ce(s)?s.then(u=>(o(this,ye,"f")&&o(this,ye,"f").call(this,o(this,Ke,"f"),u,o(this,me,"f")),u)).catch(u=>{throw o(this,ye,"f")&&o(this,ye,"f")(u,this.parsed.argv,o(this,me,"f")),u}).finally(()=>{this[Vn](),this.parsed=r}):(o(this,ye,"f")&&o(this,ye,"f").call(this,o(this,Ke,"f"),s,o(this,me,"f")),this[Vn](),this.parsed=r,s)}parseAsync(e,t,n){const s=this.parse(e,t,n);return ce(s)?s:Promise.resolve(s)}parseSync(e,t,n){const s=this.parse(e,t,n);if(ce(s))throw new le(".parseSync() must not be used with asynchronous builders, handlers, or middleware");return s}parserConfiguration(e){return x("<object>",[e],arguments.length),S(this,cn,e,"f"),this}pkgConf(e,t){x("<string> [string]",[e,t],arguments.length);let n=null;const s=this[kn](t||o(this,rt,"f"));return s[e]&&typeof s[e]=="object"&&(n=Nn(s[e],t||o(this,rt,"f"),this[dt]()["deep-merge-config"]||!1,o(this,R,"f")),o(this,P,"f").configObjects=(o(this,P,"f").configObjects||[]).concat(n)),this}positional(e,t){x("<string> <object>",[e,t],arguments.length);const n=["default","defaultDescription","implies","normalize","choices","conflicts","coerce","type","describe","desc","description","alias"];t=Mt(t,(u,a)=>u==="type"&&!["string","number","boolean"].includes(a)?!1:n.includes(u));const s=o(this,Rt,"f").fullCommands[o(this,Rt,"f").fullCommands.length-1],r=s?o(this,oe,"f").cmdToParseOptions(s):{array:[],alias:{},default:{},demand:{}};return tn(r).forEach(u=>{const a=r[u];Array.isArray(a)?a.indexOf(e)!==-1&&(t[u]=!0):a[e]&&!(u in t)&&(t[u]=a[e])}),this.group(e,o(this,W,"f").getPositionalGroupName()),this.option(e,t)}recommendCommands(e=!0){return x("[boolean]",[e],arguments.length),S(this,ln,e,"f"),this}required(e,t,n){return this.demand(e,t,n)}require(e,t,n){return this.demand(e,t,n)}requiresArg(e){return x("<array|string|object> [number]",[e],arguments.length),typeof e=="string"&&o(this,P,"f").narg[e]?this:(this[yt](this.requiresArg.bind(this),"narg",e,NaN),this)}showCompletionScript(e,t){return x("[string] [string]",[e,t],arguments.length),e=e||this.$0,o(this,bt,"f").log(o(this,ve,"f").generateCompletionScript(e,t||o(this,be,"f")||"completion")),this}showHelp(e){if(x("[string|function]",[e],arguments.length),S(this,Fe,!0,"f"),!o(this,W,"f").hasCachedHelpMessage()){if(!this.parsed){const n=this[Wt](o(this,Qe,"f"),void 0,void 0,0,!0);if(ce(n))return n.then(()=>{o(this,W,"f").showHelp(e)}),this}const t=o(this,oe,"f").runDefaultBuilderOn(this);if(ce(t))return t.then(()=>{o(this,W,"f").showHelp(e)}),this}return o(this,W,"f").showHelp(e),this}scriptName(e){return this.customScriptName=!0,this.$0=e,this}showHelpOnFail(e,t){return x("[boolean|string] [string]",[e,t],arguments.length),o(this,W,"f").showHelpOnFail(e,t),this}showVersion(e){return x("[string|function]",[e],arguments.length),o(this,W,"f").showVersion(e),this}skipValidation(e){return x("<array|string>",[e],arguments.length),this[Xe]("skipValidation",e),this}strict(e){return x("[boolean]",[e],arguments.length),S(this,ct,e!==!1,"f"),this}strictCommands(e){return x("[boolean]",[e],arguments.length),S(this,lt,e!==!1,"f"),this}strictOptions(e){return x("[boolean]",[e],arguments.length),S(this,ft,e!==!1,"f"),this}string(e){return x("<array|string>",[e],arguments.length),this[Xe]("string",e),this[pt](e),this}terminalWidth(){return x([],0),o(this,R,"f").process.stdColumns}updateLocale(e){return this.updateStrings(e)}updateStrings(e){return x("<object>",[e],arguments.length),S(this,ut,!1,"f"),o(this,R,"f").y18n.updateLocale(e),this}usage(e,t,n,s){if(x("<string|null|undefined> [string|boolean] [function|object] [function]",[e,t,n,s],arguments.length),t!==void 0){if(Le(e,null,o(this,R,"f")),(e||"").match(/^\$0( |$)/))return this.command(e,t,n,s);throw new le(".usage() description must start with $0 if being used as alias for .command()")}else return o(this,W,"f").usage(e),this}usageConfiguration(e){return x("<object>",[e],arguments.length),S(this,fn,e,"f"),this}version(e,t,n){const s="version";if(x("[boolean|string] [string] [string]",[e,t,n],arguments.length),o(this,Re,"f")&&(this[Ln](o(this,Re,"f")),o(this,W,"f").version(void 0),S(this,Re,null,"f")),arguments.length===0)n=this[is](),e=s;else if(arguments.length===1){if(e===!1)return this;n=e,e=s}else arguments.length===2&&(n=t,t=void 0);return S(this,Re,typeof e=="string"?e:s,"f"),t=t||o(this,W,"f").deferY18nLookup("Show version number"),o(this,W,"f").version(n||void 0),this.boolean(o(this,Re,"f")),this.describe(o(this,Re,"f"),t),this}wrap(e){return x("<number|null|undefined>",[e],arguments.length),o(this,W,"f").wrap(e),this}[(oe=new WeakMap,rt=new WeakMap,Rt=new WeakMap,ve=new WeakMap,be=new WeakMap,sn=new WeakMap,Ke=new WeakMap,ut=new WeakMap,rn=new WeakMap,Be=new WeakMap,un=new WeakMap,Oe=new WeakMap,Te=new WeakMap,Fe=new WeakMap,_e=new WeakMap,on=new WeakMap,bt=new WeakMap,me=new WeakMap,P=new WeakMap,an=new WeakMap,cn=new WeakMap,ye=new WeakMap,ot=new WeakMap,Ft=new WeakMap,at=new WeakMap,Qe=new WeakMap,ln=new WeakMap,R=new WeakMap,ct=new WeakMap,lt=new WeakMap,ft=new WeakMap,W=new WeakMap,fn=new WeakMap,Re=new WeakMap,re=new WeakMap,Qi)](e){if(!e._||!e["--"])return e;e._.push.apply(e._,e["--"]);try{delete e["--"]}catch{}return e}[Xi](){return{log:(...e)=>{this[dn]()||console.log(...e),S(this,Fe,!0,"f"),o(this,me,"f").length&&S(this,me,o(this,me,"f")+`
60
+ `)}`:"";e.fail(r("Missing required argument: %s","Missing required arguments: %s",Object.keys(C).length,Object.keys(C).join(", ")+w))}},s.unknownArguments=function(f,m,C,F,w=!0){var p;const y=i.getInternalMethods().getCommandInstance().getCommands(),B=[],M=i.getInternalMethods().getContext();if(Object.keys(f).forEach(L=>{!qi.includes(L)&&!Object.prototype.hasOwnProperty.call(C,L)&&!Object.prototype.hasOwnProperty.call(i.getInternalMethods().getParseContext(),L)&&!s.isValidAndSomeAliasIsNotNew(L,m)&&B.push(L)}),w&&(M.commands.length>0||y.length>0||F)&&f._.slice(M.commands.length).forEach(L=>{y.includes(""+L)||B.push(""+L)}),w){const U=((p=i.getDemandedCommands()._)===null||p===void 0?void 0:p.max)||0,Ce=M.commands.length+U;Ce<f._.length&&f._.slice(Ce).forEach(Ie=>{Ie=String(Ie),!M.commands.includes(Ie)&&!B.includes(Ie)&&B.push(Ie)})}B.length&&e.fail(r("Unknown argument: %s","Unknown arguments: %s",B.length,B.map(L=>L.trim()?L:`"${L}"`).join(", ")))},s.unknownCommands=function(f){const m=i.getInternalMethods().getCommandInstance().getCommands(),C=[],F=i.getInternalMethods().getContext();return(F.commands.length>0||m.length>0)&&f._.slice(F.commands.length).forEach(w=>{m.includes(""+w)||C.push(""+w)}),C.length>0?(e.fail(r("Unknown command: %s","Unknown commands: %s",C.length,C.join(", "))),!0):!1},s.isValidAndSomeAliasIsNotNew=function(f,m){if(!Object.prototype.hasOwnProperty.call(m,f))return!1;const C=i.parsed.newAliases;return[f,...m[f]].some(F=>!Object.prototype.hasOwnProperty.call(C,F)||!C[f])},s.limitedChoices=function(f){const m=i.getOptions(),C={};if(!Object.keys(m.choices).length)return;Object.keys(f).forEach(p=>{qi.indexOf(p)===-1&&Object.prototype.hasOwnProperty.call(m.choices,p)&&[].concat(f[p]).forEach(y=>{m.choices[p].indexOf(y)===-1&&y!==void 0&&(C[p]=(C[p]||[]).concat(y))})});const F=Object.keys(C);if(!F.length)return;let w=n("Invalid values:");F.forEach(p=>{w+=`
61
+ ${n("Argument: %s, Given: %s, Choices: %s",p,e.stringifiedValues(C[p]),e.stringifiedValues(m.choices[p]))}`}),e.fail(w)};let u={};s.implies=function(f,m){x("<string|object> [array|number|string]",[f,m],arguments.length),typeof f=="object"?Object.keys(f).forEach(C=>{s.implies(C,f[C])}):(i.global(f),u[f]||(u[f]=[]),Array.isArray(m)?m.forEach(C=>s.implies(f,C)):(Le(m,void 0,t),u[f].push(m)))},s.getImplied=function(){return u};function a(l,f){const m=Number(f);return f=isNaN(m)?f:m,typeof f=="number"?f=l._.length>=f:f.match(/^--no-.+/)?(f=f.match(/^--no-(.+)/)[1],f=!Object.prototype.hasOwnProperty.call(l,f)):f=Object.prototype.hasOwnProperty.call(l,f),f}s.implications=function(f){const m=[];if(Object.keys(u).forEach(C=>{const F=C;(u[C]||[]).forEach(w=>{let p=F;const y=w;p=a(f,p),w=a(f,w),p&&!w&&m.push(` ${F} -> ${y}`)})}),m.length){let C=`${n("Implications failed:")}
62
+ `;m.forEach(F=>{C+=F}),e.fail(C)}};let c={};s.conflicts=function(f,m){x("<string|object> [array|string]",[f,m],arguments.length),typeof f=="object"?Object.keys(f).forEach(C=>{s.conflicts(C,f[C])}):(i.global(f),c[f]||(c[f]=[]),Array.isArray(m)?m.forEach(C=>s.conflicts(f,C)):c[f].push(m))},s.getConflicting=()=>c,s.conflicting=function(f){Object.keys(f).forEach(m=>{c[m]&&c[m].forEach(C=>{C&&f[m]!==void 0&&f[C]!==void 0&&e.fail(n("Arguments %s and %s are mutually exclusive",m,C))})}),i.getInternalMethods().getParserConfiguration()["strip-dashed"]&&Object.keys(c).forEach(m=>{c[m].forEach(C=>{C&&f[t.Parser.camelCase(m)]!==void 0&&f[t.Parser.camelCase(C)]!==void 0&&e.fail(n("Arguments %s and %s are mutually exclusive",m,C))})})},s.recommendCommands=function(f,m){m=m.sort((p,y)=>y.length-p.length);let F=null,w=1/0;for(let p=0,y;(y=m[p])!==void 0;p++){const B=bu(f,y);B<=3&&B<w&&(w=B,F=y)}F&&e.fail(n("Did you mean %s?",F))},s.reset=function(f){return u=Mt(u,m=>!f[m]),c=Mt(c,m=>!f[m]),s};const h=[];return s.freeze=function(){h.push({implied:u,conflicting:c})},s.unfreeze=function(){const f=h.pop();Le(f,void 0,t),{implied:u,conflicting:c}=f},s}let Pn=[],Tt;function Nn(i,e,t,n){Tt=n;let r={};if(Object.prototype.hasOwnProperty.call(i,"extends")){if(typeof i.extends!="string")return r;const s=/\.json|\..*rc$/.test(i.extends);let u=null;if(s)u=vu(e,i.extends);else try{u=require.resolve(i.extends)}catch{return i}yu(u),Pn.push(u),r=s?JSON.parse(Tt.readFileSync(u,"utf8")):Jt(i.extends),delete i.extends,r=Nn(r,Tt.path.dirname(u),t,Tt)}return Pn=[],t?Ki(r,i):Object.assign({},r,i)}function yu(i){if(Pn.indexOf(i)>-1)throw new le(`Circular extended configurations: '${i}'.`)}function vu(i,e){return Tt.path.resolve(i,e)}function Ki(i,e){const t={};function n(r){return r&&typeof r=="object"&&!Array.isArray(r)}Object.assign(t,i);for(const r of Object.keys(e))n(e[r])&&n(t[r])?t[r]=Ki(i[r],e[r]):t[r]=e[r];return t}var S=function(i,e,t,n,r){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!r)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?i!==e||!r:!e.has(i))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?r.call(i,t):r?r.value=t:e.set(i,t),t},o=function(i,e,t,n){if(t==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?i!==e||!n:!e.has(i))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?n:t==="a"?n.call(i):n?n.value:e.get(i)},oe,st,Rt,ve,be,rn,Ke,ut,sn,Be,un,Oe,Te,Fe,_e,on,bt,me,P,an,cn,ye,ot,Ft,at,Qe,ln,R,ct,lt,ft,W,fn,Re,se;function Bu(i){return(e=[],t=i.process.cwd(),n)=>{const r=new Ou(e,t,n,i);return Object.defineProperty(r,"argv",{get:()=>r.parse(),enumerable:!0}),r.help(),r.version(),r}}const Qi=Symbol("copyDoubleDash"),Xi=Symbol("copyDoubleDash"),Ln=Symbol("deleteFromParserHintObject"),Zi=Symbol("emitWarning"),er=Symbol("freeze"),tr=Symbol("getDollarZero"),dt=Symbol("getParserConfiguration"),nr=Symbol("getUsageConfiguration"),Mn=Symbol("guessLocale"),ir=Symbol("guessVersion"),rr=Symbol("parsePositionalNumbers"),kn=Symbol("pkgUp"),Xe=Symbol("populateParserHintArray"),yt=Symbol("populateParserHintSingleValueDictionary"),Tn=Symbol("populateParserHintArrayDictionary"),Rn=Symbol("populateParserHintDictionary"),Wn=Symbol("sanitizeKey"),Un=Symbol("setKey"),Vn=Symbol("unfreeze"),sr=Symbol("validateAsync"),ur=Symbol("getCommandInstance"),or=Symbol("getContext"),ar=Symbol("getHasOutput"),cr=Symbol("getLoggerInstance"),lr=Symbol("getParseContext"),fr=Symbol("getUsageInstance"),dr=Symbol("getValidationInstance"),dn=Symbol("hasParseCallback"),hr=Symbol("isGlobalContext"),ht=Symbol("postProcess"),pr=Symbol("rebase"),zn=Symbol("reset"),Wt=Symbol("runYargsParserAndExecuteCommands"),Hn=Symbol("runValidation"),mr=Symbol("setHasOutput"),pt=Symbol("kTrackManuallySetKeys");class Ou{constructor(e=[],t,n,r){this.customScriptName=!1,this.parsed=!1,oe.set(this,void 0),st.set(this,void 0),Rt.set(this,{commands:[],fullCommands:[]}),ve.set(this,null),be.set(this,null),rn.set(this,"show-hidden"),Ke.set(this,null),ut.set(this,!0),sn.set(this,{}),Be.set(this,!0),un.set(this,[]),Oe.set(this,void 0),Te.set(this,{}),Fe.set(this,!1),_e.set(this,null),on.set(this,!0),bt.set(this,void 0),me.set(this,""),P.set(this,void 0),an.set(this,void 0),cn.set(this,{}),ye.set(this,null),ot.set(this,null),Ft.set(this,{}),at.set(this,{}),Qe.set(this,void 0),ln.set(this,!1),R.set(this,void 0),ct.set(this,!1),lt.set(this,!1),ft.set(this,!1),W.set(this,void 0),fn.set(this,{}),Re.set(this,null),se.set(this,void 0),S(this,R,r,"f"),S(this,Qe,e,"f"),S(this,st,t,"f"),S(this,an,n,"f"),S(this,Oe,new ru(this),"f"),this.$0=this[tr](),this[zn](),S(this,oe,o(this,oe,"f"),"f"),S(this,W,o(this,W,"f"),"f"),S(this,se,o(this,se,"f"),"f"),S(this,P,o(this,P,"f"),"f"),o(this,P,"f").showHiddenOpt=o(this,rn,"f"),S(this,bt,this[Xi](),"f")}addHelpOpt(e,t){const n="help";return x("[string|boolean] [string]",[e,t],arguments.length),o(this,_e,"f")&&(this[Ln](o(this,_e,"f")),S(this,_e,null,"f")),e===!1&&t===void 0?this:(S(this,_e,typeof e=="string"?e:n,"f"),this.boolean(o(this,_e,"f")),this.describe(o(this,_e,"f"),t||o(this,W,"f").deferY18nLookup("Show help")),this)}help(e,t){return this.addHelpOpt(e,t)}addShowHiddenOpt(e,t){if(x("[string|boolean] [string]",[e,t],arguments.length),e===!1&&t===void 0)return this;const n=typeof e=="string"?e:o(this,rn,"f");return this.boolean(n),this.describe(n,t||o(this,W,"f").deferY18nLookup("Show hidden options")),o(this,P,"f").showHiddenOpt=n,this}showHidden(e,t){return this.addShowHiddenOpt(e,t)}alias(e,t){return x("<object|string|array> [string|array]",[e,t],arguments.length),this[Tn](this.alias.bind(this),"alias",e,t),this}array(e){return x("<array|string>",[e],arguments.length),this[Xe]("array",e),this[pt](e),this}boolean(e){return x("<array|string>",[e],arguments.length),this[Xe]("boolean",e),this[pt](e),this}check(e,t){return x("<function> [boolean]",[e,t],arguments.length),this.middleware((n,r)=>Lt(()=>e(n,r.getOptions()),s=>(s?(typeof s=="string"||s instanceof Error)&&o(this,W,"f").fail(s.toString(),s):o(this,W,"f").fail(o(this,R,"f").y18n.__("Argument check failed: %s",e.toString())),n),s=>(o(this,W,"f").fail(s.message?s.message:s.toString(),s),n)),!1,t),this}choices(e,t){return x("<object|string|array> [string|array]",[e,t],arguments.length),this[Tn](this.choices.bind(this),"choices",e,t),this}coerce(e,t){if(x("<object|string|array> [function]",[e,t],arguments.length),Array.isArray(e)){if(!t)throw new le("coerce callback must be provided");for(const n of e)this.coerce(n,t);return this}else if(typeof e=="object"){for(const n of Object.keys(e))this.coerce(n,e[n]);return this}if(!t)throw new le("coerce callback must be provided");return o(this,P,"f").key[e]=!0,o(this,Oe,"f").addCoerceMiddleware((n,r)=>{let s;return Object.prototype.hasOwnProperty.call(n,e)?Lt(()=>(s=r.getAliases(),t(n[e])),a=>{n[e]=a;const c=r.getInternalMethods().getParserConfiguration()["strip-aliased"];if(s[e]&&c!==!0)for(const h of s[e])n[h]=a;return n},a=>{throw new le(a.message)}):n},e),this}conflicts(e,t){return x("<string|object> [string|array]",[e,t],arguments.length),o(this,se,"f").conflicts(e,t),this}config(e="config",t,n){return x("[object|string] [string|function] [function]",[e,t,n],arguments.length),typeof e=="object"&&!Array.isArray(e)?(e=Nn(e,o(this,st,"f"),this[dt]()["deep-merge-config"]||!1,o(this,R,"f")),o(this,P,"f").configObjects=(o(this,P,"f").configObjects||[]).concat(e),this):(typeof t=="function"&&(n=t,t=void 0),this.describe(e,t||o(this,W,"f").deferY18nLookup("Path to JSON config file")),(Array.isArray(e)?e:[e]).forEach(r=>{o(this,P,"f").config[r]=n||!0}),this)}completion(e,t,n){return x("[string] [string|boolean|function] [function]",[e,t,n],arguments.length),typeof t=="function"&&(n=t,t=void 0),S(this,be,e||o(this,be,"f")||"completion","f"),!t&&t!==!1&&(t="generate completion script"),this.command(o(this,be,"f"),t),n&&o(this,ve,"f").registerFunction(n),this}command(e,t,n,r,s,u){return x("<string|array|object> [string|boolean] [function|object] [function] [array] [boolean|string]",[e,t,n,r,s,u],arguments.length),o(this,oe,"f").addHandler(e,t,n,r,s,u),this}commands(e,t,n,r,s,u){return this.command(e,t,n,r,s,u)}commandDir(e,t){x("<string> [object]",[e,t],arguments.length);const n=o(this,an,"f")||o(this,R,"f").require;return o(this,oe,"f").addDirectory(e,n,o(this,R,"f").getCallerFile(),t),this}count(e){return x("<array|string>",[e],arguments.length),this[Xe]("count",e),this[pt](e),this}default(e,t,n){return x("<object|string|array> [*] [string]",[e,t,n],arguments.length),n&&(zi(e,o(this,R,"f")),o(this,P,"f").defaultDescription[e]=n),typeof t=="function"&&(zi(e,o(this,R,"f")),o(this,P,"f").defaultDescription[e]||(o(this,P,"f").defaultDescription[e]=o(this,W,"f").functionDescription(t)),t=t.call()),this[yt](this.default.bind(this),"default",e,t),this}defaults(e,t,n){return this.default(e,t,n)}demandCommand(e=1,t,n,r){return x("[number] [number|string] [string|null|undefined] [string|null|undefined]",[e,t,n,r],arguments.length),typeof t!="number"&&(n=t,t=1/0),this.global("_",!1),o(this,P,"f").demandedCommands._={min:e,max:t,minMsg:n,maxMsg:r},this}demand(e,t,n){return Array.isArray(t)?(t.forEach(r=>{Le(n,!0,o(this,R,"f")),this.demandOption(r,n)}),t=1/0):typeof t!="number"&&(n=t,t=1/0),typeof e=="number"?(Le(n,!0,o(this,R,"f")),this.demandCommand(e,t,n,n)):Array.isArray(e)?e.forEach(r=>{Le(n,!0,o(this,R,"f")),this.demandOption(r,n)}):typeof n=="string"?this.demandOption(e,n):(n===!0||typeof n>"u")&&this.demandOption(e),this}demandOption(e,t){return x("<object|string|array> [string]",[e,t],arguments.length),this[yt](this.demandOption.bind(this),"demandedOptions",e,t),this}deprecateOption(e,t){return x("<string> [string|boolean]",[e,t],arguments.length),o(this,P,"f").deprecatedOptions[e]=t,this}describe(e,t){return x("<object|string|array> [string]",[e,t],arguments.length),this[Un](e,!0),o(this,W,"f").describe(e,t),this}detectLocale(e){return x("<boolean>",[e],arguments.length),S(this,ut,e,"f"),this}env(e){return x("[string|boolean]",[e],arguments.length),e===!1?delete o(this,P,"f").envPrefix:o(this,P,"f").envPrefix=e||"",this}epilogue(e){return x("<string>",[e],arguments.length),o(this,W,"f").epilog(e),this}epilog(e){return this.epilogue(e)}example(e,t){return x("<string|array> [string]",[e,t],arguments.length),Array.isArray(e)?e.forEach(n=>this.example(...n)):o(this,W,"f").example(e,t),this}exit(e,t){S(this,Fe,!0,"f"),S(this,Ke,t,"f"),o(this,Be,"f")&&o(this,R,"f").process.exit(e)}exitProcess(e=!0){return x("[boolean]",[e],arguments.length),S(this,Be,e,"f"),this}fail(e){if(x("<function|boolean>",[e],arguments.length),typeof e=="boolean"&&e!==!1)throw new le("Invalid first argument. Expected function or boolean 'false'");return o(this,W,"f").failFn(e),this}getAliases(){return this.parsed?this.parsed.aliases:{}}async getCompletion(e,t){return x("<array> [function]",[e,t],arguments.length),t?o(this,ve,"f").getCompletion(e,t):new Promise((n,r)=>{o(this,ve,"f").getCompletion(e,(s,u)=>{s?r(s):n(u)})})}getDemandedOptions(){return x([],0),o(this,P,"f").demandedOptions}getDemandedCommands(){return x([],0),o(this,P,"f").demandedCommands}getDeprecatedOptions(){return x([],0),o(this,P,"f").deprecatedOptions}getDetectLocale(){return o(this,ut,"f")}getExitProcess(){return o(this,Be,"f")}getGroups(){return Object.assign({},o(this,Te,"f"),o(this,at,"f"))}getHelp(){if(S(this,Fe,!0,"f"),!o(this,W,"f").hasCachedHelpMessage()){if(!this.parsed){const t=this[Wt](o(this,Qe,"f"),void 0,void 0,0,!0);if(ce(t))return t.then(()=>o(this,W,"f").help())}const e=o(this,oe,"f").runDefaultBuilderOn(this);if(ce(e))return e.then(()=>o(this,W,"f").help())}return Promise.resolve(o(this,W,"f").help())}getOptions(){return o(this,P,"f")}getStrict(){return o(this,ct,"f")}getStrictCommands(){return o(this,lt,"f")}getStrictOptions(){return o(this,ft,"f")}global(e,t){return x("<string|array> [boolean]",[e,t],arguments.length),e=[].concat(e),t!==!1?o(this,P,"f").local=o(this,P,"f").local.filter(n=>e.indexOf(n)===-1):e.forEach(n=>{o(this,P,"f").local.includes(n)||o(this,P,"f").local.push(n)}),this}group(e,t){x("<string|array> <string>",[e,t],arguments.length);const n=o(this,at,"f")[t]||o(this,Te,"f")[t];o(this,at,"f")[t]&&delete o(this,at,"f")[t];const r={};return o(this,Te,"f")[t]=(n||[]).concat(e).filter(s=>r[s]?!1:r[s]=!0),this}hide(e){return x("<string>",[e],arguments.length),o(this,P,"f").hiddenOptions.push(e),this}implies(e,t){return x("<string|object> [number|string|array]",[e,t],arguments.length),o(this,se,"f").implies(e,t),this}locale(e){return x("[string]",[e],arguments.length),e===void 0?(this[Mn](),o(this,R,"f").y18n.getLocale()):(S(this,ut,!1,"f"),o(this,R,"f").y18n.setLocale(e),this)}middleware(e,t,n){return o(this,Oe,"f").addMiddleware(e,!!t,n)}nargs(e,t){return x("<string|object|array> [number]",[e,t],arguments.length),this[yt](this.nargs.bind(this),"narg",e,t),this}normalize(e){return x("<array|string>",[e],arguments.length),this[Xe]("normalize",e),this}number(e){return x("<array|string>",[e],arguments.length),this[Xe]("number",e),this[pt](e),this}option(e,t){if(x("<string|object> [object]",[e,t],arguments.length),typeof e=="object")Object.keys(e).forEach(n=>{this.options(n,e[n])});else{typeof t!="object"&&(t={}),this[pt](e),o(this,Re,"f")&&(e==="version"||t?.alias==="version")&&this[Zi](['"version" is a reserved word.',"Please do one of the following:",'- Disable version with `yargs.version(false)` if using "version" as an option',"- Use the built-in `yargs.version` method instead (if applicable)","- Use a different option key","https://yargs.js.org/docs/#api-reference-version"].join(`
63
+ `),void 0,"versionWarning"),o(this,P,"f").key[e]=!0,t.alias&&this.alias(e,t.alias);const n=t.deprecate||t.deprecated;n&&this.deprecateOption(e,n);const r=t.demand||t.required||t.require;r&&this.demand(e,r),t.demandOption&&this.demandOption(e,typeof t.demandOption=="string"?t.demandOption:void 0),t.conflicts&&this.conflicts(e,t.conflicts),"default"in t&&this.default(e,t.default),t.implies!==void 0&&this.implies(e,t.implies),t.nargs!==void 0&&this.nargs(e,t.nargs),t.config&&this.config(e,t.configParser),t.normalize&&this.normalize(e),t.choices&&this.choices(e,t.choices),t.coerce&&this.coerce(e,t.coerce),t.group&&this.group(e,t.group),(t.boolean||t.type==="boolean")&&(this.boolean(e),t.alias&&this.boolean(t.alias)),(t.array||t.type==="array")&&(this.array(e),t.alias&&this.array(t.alias)),(t.number||t.type==="number")&&(this.number(e),t.alias&&this.number(t.alias)),(t.string||t.type==="string")&&(this.string(e),t.alias&&this.string(t.alias)),(t.count||t.type==="count")&&this.count(e),typeof t.global=="boolean"&&this.global(e,t.global),t.defaultDescription&&(o(this,P,"f").defaultDescription[e]=t.defaultDescription),t.skipValidation&&this.skipValidation(e);const s=t.describe||t.description||t.desc,u=o(this,W,"f").getDescriptions();(!Object.prototype.hasOwnProperty.call(u,e)||typeof s=="string")&&this.describe(e,s),t.hidden&&this.hide(e),t.requiresArg&&this.requiresArg(e)}return this}options(e,t){return this.option(e,t)}parse(e,t,n){x("[string|array] [function|boolean|object] [function]",[e,t,n],arguments.length),this[er](),typeof e>"u"&&(e=o(this,Qe,"f")),typeof t=="object"&&(S(this,ot,t,"f"),t=n),typeof t=="function"&&(S(this,ye,t,"f"),t=!1),t||S(this,Qe,e,"f"),o(this,ye,"f")&&S(this,Be,!1,"f");const r=this[Wt](e,!!t),s=this.parsed;return o(this,ve,"f").setParsed(this.parsed),ce(r)?r.then(u=>(o(this,ye,"f")&&o(this,ye,"f").call(this,o(this,Ke,"f"),u,o(this,me,"f")),u)).catch(u=>{throw o(this,ye,"f")&&o(this,ye,"f")(u,this.parsed.argv,o(this,me,"f")),u}).finally(()=>{this[Vn](),this.parsed=s}):(o(this,ye,"f")&&o(this,ye,"f").call(this,o(this,Ke,"f"),r,o(this,me,"f")),this[Vn](),this.parsed=s,r)}parseAsync(e,t,n){const r=this.parse(e,t,n);return ce(r)?r:Promise.resolve(r)}parseSync(e,t,n){const r=this.parse(e,t,n);if(ce(r))throw new le(".parseSync() must not be used with asynchronous builders, handlers, or middleware");return r}parserConfiguration(e){return x("<object>",[e],arguments.length),S(this,cn,e,"f"),this}pkgConf(e,t){x("<string> [string]",[e,t],arguments.length);let n=null;const r=this[kn](t||o(this,st,"f"));return r[e]&&typeof r[e]=="object"&&(n=Nn(r[e],t||o(this,st,"f"),this[dt]()["deep-merge-config"]||!1,o(this,R,"f")),o(this,P,"f").configObjects=(o(this,P,"f").configObjects||[]).concat(n)),this}positional(e,t){x("<string> <object>",[e,t],arguments.length);const n=["default","defaultDescription","implies","normalize","choices","conflicts","coerce","type","describe","desc","description","alias"];t=Mt(t,(u,a)=>u==="type"&&!["string","number","boolean"].includes(a)?!1:n.includes(u));const r=o(this,Rt,"f").fullCommands[o(this,Rt,"f").fullCommands.length-1],s=r?o(this,oe,"f").cmdToParseOptions(r):{array:[],alias:{},default:{},demand:{}};return tn(s).forEach(u=>{const a=s[u];Array.isArray(a)?a.indexOf(e)!==-1&&(t[u]=!0):a[e]&&!(u in t)&&(t[u]=a[e])}),this.group(e,o(this,W,"f").getPositionalGroupName()),this.option(e,t)}recommendCommands(e=!0){return x("[boolean]",[e],arguments.length),S(this,ln,e,"f"),this}required(e,t,n){return this.demand(e,t,n)}require(e,t,n){return this.demand(e,t,n)}requiresArg(e){return x("<array|string|object> [number]",[e],arguments.length),typeof e=="string"&&o(this,P,"f").narg[e]?this:(this[yt](this.requiresArg.bind(this),"narg",e,NaN),this)}showCompletionScript(e,t){return x("[string] [string]",[e,t],arguments.length),e=e||this.$0,o(this,bt,"f").log(o(this,ve,"f").generateCompletionScript(e,t||o(this,be,"f")||"completion")),this}showHelp(e){if(x("[string|function]",[e],arguments.length),S(this,Fe,!0,"f"),!o(this,W,"f").hasCachedHelpMessage()){if(!this.parsed){const n=this[Wt](o(this,Qe,"f"),void 0,void 0,0,!0);if(ce(n))return n.then(()=>{o(this,W,"f").showHelp(e)}),this}const t=o(this,oe,"f").runDefaultBuilderOn(this);if(ce(t))return t.then(()=>{o(this,W,"f").showHelp(e)}),this}return o(this,W,"f").showHelp(e),this}scriptName(e){return this.customScriptName=!0,this.$0=e,this}showHelpOnFail(e,t){return x("[boolean|string] [string]",[e,t],arguments.length),o(this,W,"f").showHelpOnFail(e,t),this}showVersion(e){return x("[string|function]",[e],arguments.length),o(this,W,"f").showVersion(e),this}skipValidation(e){return x("<array|string>",[e],arguments.length),this[Xe]("skipValidation",e),this}strict(e){return x("[boolean]",[e],arguments.length),S(this,ct,e!==!1,"f"),this}strictCommands(e){return x("[boolean]",[e],arguments.length),S(this,lt,e!==!1,"f"),this}strictOptions(e){return x("[boolean]",[e],arguments.length),S(this,ft,e!==!1,"f"),this}string(e){return x("<array|string>",[e],arguments.length),this[Xe]("string",e),this[pt](e),this}terminalWidth(){return x([],0),o(this,R,"f").process.stdColumns}updateLocale(e){return this.updateStrings(e)}updateStrings(e){return x("<object>",[e],arguments.length),S(this,ut,!1,"f"),o(this,R,"f").y18n.updateLocale(e),this}usage(e,t,n,r){if(x("<string|null|undefined> [string|boolean] [function|object] [function]",[e,t,n,r],arguments.length),t!==void 0){if(Le(e,null,o(this,R,"f")),(e||"").match(/^\$0( |$)/))return this.command(e,t,n,r);throw new le(".usage() description must start with $0 if being used as alias for .command()")}else return o(this,W,"f").usage(e),this}usageConfiguration(e){return x("<object>",[e],arguments.length),S(this,fn,e,"f"),this}version(e,t,n){const r="version";if(x("[boolean|string] [string] [string]",[e,t,n],arguments.length),o(this,Re,"f")&&(this[Ln](o(this,Re,"f")),o(this,W,"f").version(void 0),S(this,Re,null,"f")),arguments.length===0)n=this[ir](),e=r;else if(arguments.length===1){if(e===!1)return this;n=e,e=r}else arguments.length===2&&(n=t,t=void 0);return S(this,Re,typeof e=="string"?e:r,"f"),t=t||o(this,W,"f").deferY18nLookup("Show version number"),o(this,W,"f").version(n||void 0),this.boolean(o(this,Re,"f")),this.describe(o(this,Re,"f"),t),this}wrap(e){return x("<number|null|undefined>",[e],arguments.length),o(this,W,"f").wrap(e),this}[(oe=new WeakMap,st=new WeakMap,Rt=new WeakMap,ve=new WeakMap,be=new WeakMap,rn=new WeakMap,Ke=new WeakMap,ut=new WeakMap,sn=new WeakMap,Be=new WeakMap,un=new WeakMap,Oe=new WeakMap,Te=new WeakMap,Fe=new WeakMap,_e=new WeakMap,on=new WeakMap,bt=new WeakMap,me=new WeakMap,P=new WeakMap,an=new WeakMap,cn=new WeakMap,ye=new WeakMap,ot=new WeakMap,Ft=new WeakMap,at=new WeakMap,Qe=new WeakMap,ln=new WeakMap,R=new WeakMap,ct=new WeakMap,lt=new WeakMap,ft=new WeakMap,W=new WeakMap,fn=new WeakMap,Re=new WeakMap,se=new WeakMap,Qi)](e){if(!e._||!e["--"])return e;e._.push.apply(e._,e["--"]);try{delete e["--"]}catch{}return e}[Xi](){return{log:(...e)=>{this[dn]()||console.log(...e),S(this,Fe,!0,"f"),o(this,me,"f").length&&S(this,me,o(this,me,"f")+`
64
64
  `,"f"),S(this,me,o(this,me,"f")+e.join(" "),"f")},error:(...e)=>{this[dn]()||console.error(...e),S(this,Fe,!0,"f"),o(this,me,"f").length&&S(this,me,o(this,me,"f")+`
65
- `,"f"),S(this,me,o(this,me,"f")+e.join(" "),"f")}}}[Ln](e){tn(o(this,P,"f")).forEach(t=>{if((s=>s==="configObjects")(t))return;const n=o(this,P,"f")[t];Array.isArray(n)?n.includes(e)&&n.splice(n.indexOf(e),1):typeof n=="object"&&delete n[e]}),delete o(this,W,"f").getDescriptions()[e]}[Zi](e,t,n){o(this,rn,"f")[n]||(o(this,R,"f").process.emitWarning(e,t),o(this,rn,"f")[n]=!0)}[es](){o(this,un,"f").push({options:o(this,P,"f"),configObjects:o(this,P,"f").configObjects.slice(0),exitProcess:o(this,Be,"f"),groups:o(this,Te,"f"),strict:o(this,ct,"f"),strictCommands:o(this,lt,"f"),strictOptions:o(this,ft,"f"),completionCommand:o(this,be,"f"),output:o(this,me,"f"),exitError:o(this,Ke,"f"),hasOutput:o(this,Fe,"f"),parsed:this.parsed,parseFn:o(this,ye,"f"),parseContext:o(this,ot,"f")}),o(this,W,"f").freeze(),o(this,re,"f").freeze(),o(this,oe,"f").freeze(),o(this,Oe,"f").freeze()}[ts](){let e="",t;return/\b(node|iojs|electron)(\.exe)?$/.test(o(this,R,"f").process.argv()[0])?t=o(this,R,"f").process.argv().slice(1,2):t=o(this,R,"f").process.argv().slice(0,1),e=t.map(n=>{const s=this[ps](o(this,rt,"f"),n);return n.match(/^(\/|([a-zA-Z]:)?\\)/)&&s.length<n.length?s:n}).join(" ").trim(),o(this,R,"f").getEnv("_")&&o(this,R,"f").getProcessArgvBin()===o(this,R,"f").getEnv("_")&&(e=o(this,R,"f").getEnv("_").replace(`${o(this,R,"f").path.dirname(o(this,R,"f").process.execPath())}/`,"")),e}[dt](){return o(this,cn,"f")}[ns](){return o(this,fn,"f")}[Mn](){if(!o(this,ut,"f"))return;const e=o(this,R,"f").getEnv("LC_ALL")||o(this,R,"f").getEnv("LC_MESSAGES")||o(this,R,"f").getEnv("LANG")||o(this,R,"f").getEnv("LANGUAGE")||"en_US";this.locale(e.replace(/[.:].*/,""))}[is](){return this[kn]().version||"unknown"}[ss](e){const t=e["--"]?e["--"]:e._;for(let n=0,s;(s=t[n])!==void 0;n++)o(this,R,"f").Parser.looksLikeNumber(s)&&Number.isSafeInteger(Math.floor(parseFloat(`${s}`)))&&(t[n]=Number(s));return e}[kn](e){const t=e||"*";if(o(this,Ft,"f")[t])return o(this,Ft,"f")[t];let n={};try{let s=e||o(this,R,"f").mainFilename;!e&&o(this,R,"f").path.extname(s)&&(s=o(this,R,"f").path.dirname(s));const r=o(this,R,"f").findUp(s,(u,a)=>{if(a.includes("package.json"))return"package.json"});Le(r,void 0,o(this,R,"f")),n=JSON.parse(o(this,R,"f").readFileSync(r,"utf8"))}catch{}return o(this,Ft,"f")[t]=n||{},o(this,Ft,"f")[t]}[Xe](e,t){t=[].concat(t),t.forEach(n=>{n=this[Wn](n),o(this,P,"f")[e].push(n)})}[yt](e,t,n,s){this[Rn](e,t,n,s,(r,u,a)=>{o(this,P,"f")[r][u]=a})}[Tn](e,t,n,s){this[Rn](e,t,n,s,(r,u,a)=>{o(this,P,"f")[r][u]=(o(this,P,"f")[r][u]||[]).concat(a)})}[Rn](e,t,n,s,r){if(Array.isArray(n))n.forEach(u=>{e(u,s)});else if((u=>typeof u=="object")(n))for(const u of tn(n))e(u,n[u]);else r(t,this[Wn](n),s)}[Wn](e){return e==="__proto__"?"___proto___":e}[Un](e,t){return this[yt](this[Un].bind(this),"key",e,t),this}[Vn](){var e,t,n,s,r,u,a,c,h,l,f,m;const C=o(this,un,"f").pop();Le(C,void 0,o(this,R,"f"));let F;e=this,t=this,n=this,s=this,r=this,u=this,a=this,c=this,h=this,l=this,f=this,m=this,{options:{set value(w){S(e,P,w,"f")}}.value,configObjects:F,exitProcess:{set value(w){S(t,Be,w,"f")}}.value,groups:{set value(w){S(n,Te,w,"f")}}.value,output:{set value(w){S(s,me,w,"f")}}.value,exitError:{set value(w){S(r,Ke,w,"f")}}.value,hasOutput:{set value(w){S(u,Fe,w,"f")}}.value,parsed:this.parsed,strict:{set value(w){S(a,ct,w,"f")}}.value,strictCommands:{set value(w){S(c,lt,w,"f")}}.value,strictOptions:{set value(w){S(h,ft,w,"f")}}.value,completionCommand:{set value(w){S(l,be,w,"f")}}.value,parseFn:{set value(w){S(f,ye,w,"f")}}.value,parseContext:{set value(w){S(m,ot,w,"f")}}.value}=C,o(this,P,"f").configObjects=F,o(this,W,"f").unfreeze(),o(this,re,"f").unfreeze(),o(this,oe,"f").unfreeze(),o(this,Oe,"f").unfreeze()}[rs](e,t){return Lt(t,n=>(e(n),n))}getInternalMethods(){return{getCommandInstance:this[us].bind(this),getContext:this[os].bind(this),getHasOutput:this[as].bind(this),getLoggerInstance:this[cs].bind(this),getParseContext:this[ls].bind(this),getParserConfiguration:this[dt].bind(this),getUsageConfiguration:this[ns].bind(this),getUsageInstance:this[fs].bind(this),getValidationInstance:this[ds].bind(this),hasParseCallback:this[dn].bind(this),isGlobalContext:this[hs].bind(this),postProcess:this[ht].bind(this),reset:this[zn].bind(this),runValidation:this[Hn].bind(this),runYargsParserAndExecuteCommands:this[Wt].bind(this),setHasOutput:this[ms].bind(this)}}[us](){return o(this,oe,"f")}[os](){return o(this,Rt,"f")}[as](){return o(this,Fe,"f")}[cs](){return o(this,bt,"f")}[ls](){return o(this,ot,"f")||{}}[fs](){return o(this,W,"f")}[ds](){return o(this,re,"f")}[dn](){return!!o(this,ye,"f")}[hs](){return o(this,on,"f")}[ht](e,t,n,s){return n||ce(e)||(t||(e=this[Qi](e)),(this[dt]()["parse-positional-numbers"]||this[dt]()["parse-positional-numbers"]===void 0)&&(e=this[ss](e)),s&&(e=Nt(e,this,o(this,Oe,"f").getMiddleware(),!1))),e}[zn](e={}){S(this,P,o(this,P,"f")||{},"f");const t={};t.local=o(this,P,"f").local||[],t.configObjects=o(this,P,"f").configObjects||[];const n={};t.local.forEach(u=>{n[u]=!0,(e[u]||[]).forEach(a=>{n[a]=!0})}),Object.assign(o(this,at,"f"),Object.keys(o(this,Te,"f")).reduce((u,a)=>{const c=o(this,Te,"f")[a].filter(h=>!(h in n));return c.length>0&&(u[a]=c),u},{})),S(this,Te,{},"f");const s=["array","boolean","string","skipValidation","count","normalize","number","hiddenOptions"],r=["narg","key","alias","default","defaultDescription","config","choices","demandedOptions","demandedCommands","deprecatedOptions"];return s.forEach(u=>{t[u]=(o(this,P,"f")[u]||[]).filter(a=>!n[a])}),r.forEach(u=>{t[u]=Mt(o(this,P,"f")[u],a=>!n[a])}),t.envPrefix=o(this,P,"f").envPrefix,S(this,P,t,"f"),S(this,W,o(this,W,"f")?o(this,W,"f").reset(n):pu(this,o(this,R,"f")),"f"),S(this,re,o(this,re,"f")?o(this,re,"f").reset(n):Fu(this,o(this,W,"f"),o(this,R,"f")),"f"),S(this,oe,o(this,oe,"f")?o(this,oe,"f").reset():cu(o(this,W,"f"),o(this,re,"f"),o(this,Oe,"f"),o(this,R,"f")),"f"),o(this,ve,"f")||S(this,ve,wu(this,o(this,W,"f"),o(this,oe,"f"),o(this,R,"f")),"f"),o(this,Oe,"f").reset(),S(this,be,null,"f"),S(this,me,"","f"),S(this,Ke,null,"f"),S(this,Fe,!1,"f"),this.parsed=!1,this}[ps](e,t){return o(this,R,"f").path.relative(e,t)}[Wt](e,t,n,s=0,r=!1){let u=!!n||r;e=e||o(this,Qe,"f"),o(this,P,"f").__=o(this,R,"f").y18n.__,o(this,P,"f").configuration=this[dt]();const a=!!o(this,P,"f").configuration["populate--"],c=Object.assign({},o(this,P,"f").configuration,{"populate--":!0}),h=o(this,R,"f").Parser.detailed(e,Object.assign({},o(this,P,"f"),{configuration:{"parse-positional-numbers":!1,...c}})),l=Object.assign(h.argv,o(this,ot,"f"));let f;const m=h.aliases;let C=!1,F=!1;Object.keys(l).forEach(w=>{w===o(this,_e,"f")&&l[w]?C=!0:w===o(this,Re,"f")&&l[w]&&(F=!0)}),l.$0=this.$0,this.parsed=h,s===0&&o(this,W,"f").clearCachedHelpMessage();try{if(this[Mn](),t)return this[ht](l,a,!!n,!1);o(this,_e,"f")&&[o(this,_e,"f")].concat(m[o(this,_e,"f")]||[]).filter(M=>M.length>1).includes(""+l._[l._.length-1])&&(l._.pop(),C=!0),S(this,on,!1,"f");const w=o(this,oe,"f").getCommands(),p=o(this,ve,"f").completionKey in l,y=C||p||r;if(l._.length){if(w.length){let B;for(let M=s||0,L;l._[M]!==void 0;M++)if(L=String(l._[M]),w.includes(L)&&L!==o(this,be,"f")){const U=o(this,oe,"f").runCommand(L,this,h,M+1,r,C||F||r);return this[ht](U,a,!!n,!1)}else if(!B&&L!==o(this,be,"f")){B=L;break}!o(this,oe,"f").hasDefaultCommand()&&o(this,ln,"f")&&B&&!y&&o(this,re,"f").recommendCommands(B,w)}o(this,be,"f")&&l._.includes(o(this,be,"f"))&&!p&&(o(this,Be,"f")&&kt(!0),this.showCompletionScript(),this.exit(0))}if(o(this,oe,"f").hasDefaultCommand()&&!y){const B=o(this,oe,"f").runCommand(null,this,h,0,r,C||F||r);return this[ht](B,a,!!n,!1)}if(p){o(this,Be,"f")&&kt(!0),e=[].concat(e);const B=e.slice(e.indexOf(`--${o(this,ve,"f").completionKey}`)+1);return o(this,ve,"f").getCompletion(B,(M,L)=>{if(M)throw new le(M.message);(L||[]).forEach(U=>{o(this,bt,"f").log(U)}),this.exit(0)}),this[ht](l,!a,!!n,!1)}if(o(this,Fe,"f")||(C?(o(this,Be,"f")&&kt(!0),u=!0,this.showHelp("log"),this.exit(0)):F&&(o(this,Be,"f")&&kt(!0),u=!0,o(this,W,"f").showVersion("log"),this.exit(0))),!u&&o(this,P,"f").skipValidation.length>0&&(u=Object.keys(l).some(B=>o(this,P,"f").skipValidation.indexOf(B)>=0&&l[B]===!0)),!u){if(h.error)throw new le(h.error.message);if(!p){const B=this[Hn](m,{},h.error);n||(f=Nt(l,this,o(this,Oe,"f").getMiddleware(),!0)),f=this[rs](B,f??l),ce(f)&&!n&&(f=f.then(()=>Nt(l,this,o(this,Oe,"f").getMiddleware(),!1)))}}}catch(w){if(w instanceof le)o(this,W,"f").fail(w.message,w);else throw w}return this[ht](f??l,a,!!n,!0)}[Hn](e,t,n,s){const r={...this.getDemandedOptions()};return u=>{if(n)throw new le(n.message);o(this,re,"f").nonOptionCount(u),o(this,re,"f").requiredArguments(u,r);let a=!1;o(this,lt,"f")&&(a=o(this,re,"f").unknownCommands(u)),o(this,ct,"f")&&!a?o(this,re,"f").unknownArguments(u,e,t,!!s):o(this,ft,"f")&&o(this,re,"f").unknownArguments(u,e,{},!1,!1),o(this,re,"f").limitedChoices(u),o(this,re,"f").implications(u),o(this,re,"f").conflicting(u)}}[ms](){S(this,Fe,!0,"f")}[pt](e){if(typeof e=="string")o(this,P,"f").key[e]=!0;else for(const t of e)o(this,P,"f").key[t]=!0}}function _u(i){return!!i&&typeof i.getInternalMethods=="function"}const Su=Bu(nu),hn={type:"string",desc:"<directory> with LikeC4 sources (default is current directory)",normalize:!0,default:".",coerce:Q},We={alias:"use-dot-bin",boolean:!0,type:"boolean",desc:'use graphviz binaries ("dot" should be on PATH)',default:!1},gs={boolean:!0,type:"boolean",desc:'use hash history for navigation, e.g. "/#/view" instead of "/view"'},pn={alias:"o",type:"string",desc:"<directory> output directory",normalize:!0,coerce:Q},Gn={alias:"w",type:"string",desc:'prefix for Webcomponents, e.g "c4" generates <c4-view ../>',default:"likec4"},Ds={alias:["base-url"],type:"string",desc:'base url the app is being served from, e.g. "/" or "/pages/"'},Cs={boolean:!0,type:"boolean",desc:"overview all diagrams as graph [experimental]",default:!1};function Iu(i){var e,t;if(i){if("astNode"in i)return ju(i);if(Array.isArray(i))return i.reduce(ws,void 0);{const n=i,s=xu(n)?$u((t=(e=n?.root)===null||e===void 0?void 0:e.astNode)!==null&&t!==void 0?t:n?.astNode):void 0;return vt(n,s)}}else return}function xu(i){return typeof i<"u"&&"element"in i&&"text"in i}function $u(i){try{return pi(i).uri.toString()}catch{return}}function ju(i){var e,t;const{astNode:n,property:s,index:r}=i??{},u=(e=n?.$cstNode)!==null&&e!==void 0?e:n?.$textRegion;if(!(n===void 0||u===void 0)){if(s===void 0)return vt(u,Yn(n));{const a=c=>r!==void 0&&r>-1&&Array.isArray(n[s])?r<c.length?c[r]:void 0:c.reduce(ws,void 0);if(!((t=u.assignments)===null||t===void 0)&&t[s]){const c=a(u.assignments[s]);return c&&vt(c,Yn(n))}else if(n.$cstNode){const c=a(qs(n.$cstNode,s));return c&&vt(c,Yn(n))}else return}}}function Yn(i){var e,t,n,s;return i.$cstNode?(t=(e=pi(i))===null||e===void 0?void 0:e.uri)===null||t===void 0?void 0:t.toString():i.$textRegion?i.$textRegion.documentURI||((s=(n=new Js(i,r=>r.$container?[r.$container]:[]).find(r=>{var u;return(u=r.$textRegion)===null||u===void 0?void 0:u.documentURI}))===null||n===void 0?void 0:n.$textRegion)===null||s===void 0?void 0:s.documentURI):void 0}function vt(i,e){var t,n;const s={offset:i.offset,end:(t=i.end)!==null&&t!==void 0?t:i.offset+i.length,length:(n=i.length)!==null&&n!==void 0?n:i.end-i.offset};return i.range&&(s.range=i.range),e??(e=i.fileURI),e&&(s.fileURI=e),s}function ws(i,e){var t,n;if(i){if(!e)return i&&vt(i)}else return e&&vt(e);const s=(t=i.end)!==null&&t!==void 0?t:i.offset+i.length,r=(n=e.end)!==null&&n!==void 0?n:e.offset+e.length,u=Math.min(i.offset,e.offset),a=Math.max(s,r),c=a-u,h={offset:u,end:a,length:c};if(i.range&&e.range&&(h.range={start:e.range.start.line<i.range.start.line||e.range.start.line===i.range.start.line&&e.range.start.character<i.range.start.character?e.range.start:i.range.start,end:e.range.end.line>i.range.end.line||e.range.end.line===i.range.end.line&&e.range.end.character>i.range.end.character?e.range.end:i.range.end}),i.fileURI||e.fileURI){const l=i.fileURI,f=e.fileURI,m=l&&f&&l!==f?`<unmergable text regions of ${l}, ${f}>`:l??f;h.fileURI=m}return h}class Pu{constructor(e){this.defaultIndentation=" ",this.pendingIndent=!0,this.currentIndents=[],this.recentNonImmediateIndents=[],this.traceData=[],this.lines=[[]],this.length=0,typeof e=="string"?this.defaultIndentation=e:typeof e=="number"&&(this.defaultIndentation="".padStart(e))}get content(){return this.lines.map(e=>e.join("")).join("")}get contentLength(){return this.length}get currentLineNumber(){return this.lines.length-1}get currentLineContent(){return this.lines[this.currentLineNumber].join("")}get currentPosition(){return{offset:this.contentLength,line:this.currentLineNumber,character:this.currentLineContent.length}}append(e,t){if(e.length>0){const n=t&&this.currentPosition;this.lines[this.currentLineNumber].push(e),this.length+=e.length,n&&this.indentPendingTraceRegions(n)}}indentPendingTraceRegions(e){for(let t=this.traceData.length-1;t>=0;t--){const n=this.traceData[t];n.targetStart&&n.targetStart.offset===e.offset&&(n.targetStart=this.currentPosition)}}increaseIndent(e){this.currentIndents.push(e),e.indentImmediately||this.recentNonImmediateIndents.push(e)}decreaseIndent(){this.currentIndents.pop()}get relevantIndents(){return this.currentIndents.filter(e=>!this.recentNonImmediateIndents.includes(e))}resetCurrentLine(){this.length-=this.lines[this.currentLineNumber].join("").length,this.lines[this.currentLineNumber]=[],this.pendingIndent=!0}addNewLine(){this.pendingIndent=!0,this.lines.push([]),this.recentNonImmediateIndents.length=0}pushTraceRegion(e){const t=Nu(e,this.currentPosition,n=>{var s,r;return(r=(s=this.traceData[this.traceData.length-1])===null||s===void 0?void 0:s.children)===null||r===void 0?void 0:r.push(n)});return this.traceData.push(t),t}popTraceRegion(e){const t=this.traceData.pop();return this.assertTrue(t===e,"Trace region mismatch!"),t}getParentTraceSourceFileURI(){var e;for(let t=this.traceData.length-1;t>-1;t--){const n=(e=this.traceData[t].sourceRegion)===null||e===void 0?void 0:e.fileURI;if(n)return n}}assertTrue(e,t){if(!e)throw new Error(t)}}function Nu(i,e,t){const n={sourceRegion:i,targetRegion:void 0,children:[],targetStart:e,complete:s=>{var r,u;return n.targetRegion={offset:n.targetStart.offset,end:s.offset,length:s.offset-n.targetStart.offset,range:{start:{line:n.targetStart.line,character:n.targetStart.character},end:{line:s.line,character:s.character}}},delete n.targetStart,((r=n.children)===null||r===void 0?void 0:r.length)===0&&delete n.children,!((u=n.targetRegion)===null||u===void 0)&&u.length&&t(n),delete n.complete,n}};return n}function Lu(i,e){const t=new Pu(e),n=t.pushTraceRegion(void 0);As(i,t),t.popTraceRegion(n),n.complete&&n.complete(t.currentPosition);const s=n.children&&n.children.length===1?n.children[0]:void 0,r=s?.targetRegion,u=n.targetRegion;return r&&s.sourceRegion&&r.offset===u.offset&&r.length===u.length?{text:t.content,trace:s}:{text:t.content,trace:n}}function As(i,e){typeof i=="string"?Mu(i,e):i instanceof Jn?ku(i,e):i instanceof fe?Fs(i,e):i instanceof Vt&&Tu(i,e)}function Es(i,e){return typeof i=="string"?i.length!==0:i instanceof fe?i.contents.some(t=>Es(t,e)):i instanceof Vt?!(i.ifNotEmpty&&e.currentLineContent.length===0):!1}function Mu(i,e){i&&(e.pendingIndent&&bs(e,!1),e.append(i))}function bs(i,e){var t;let n="";for(const s of i.relevantIndents.filter(r=>r.indentEmptyLines||!e))n+=(t=s.indentation)!==null&&t!==void 0?t:i.defaultIndentation;i.append(n,!0),i.pendingIndent=!1}function Fs(i,e){let t;const n=Iu(i.tracedSource);n&&(t=e.pushTraceRegion(n));for(const s of i.contents)As(s,e);if(t){e.popTraceRegion(t);const s=e.getParentTraceSourceFileURI();s&&n?.fileURI===s&&delete n.fileURI,t.complete&&t.complete(e.currentPosition)}}function ku(i,e){var t;if(Es(i,e)){i.indentImmediately&&!e.pendingIndent&&e.append((t=i.indentation)!==null&&t!==void 0?t:e.defaultIndentation,!0);try{e.increaseIndent(i),Fs(i,e)}finally{e.decreaseIndent()}}}function Tu(i,e){i.ifNotEmpty&&!Ru(e.currentLineContent)?e.resetCurrentLine():(e.pendingIndent&&bs(e,!0),e.append(i.lineDelimiter),e.addNewLine())}function Ru(i){return i.trimStart()!==""}Object.freeze("__\xABSKIP^NEW^LINE^IF^EMPTY\xBB__");const Wu=/\S|$/;function Uu(i){const e=i.filter(n=>n.length>0).map(n=>n.search(Wu)),t=e.length===0?0:Math.min(...e);return Math.max(0,t)}function Ze(i,...e){const t=zu(i),n=Hu(i,e,t);return Yu(n)}function Vu(i,e,t){return(n,...s)=>Ju(i,e,t)(Ze(n,...s))}function zu(i){const e=i.join("_").split(mi),t=e.length>1&&e[0].trim().length===0,n=t&&e.length>1&&e[e.length-1].trim().length===0;if(e.length===1||e.length!==0&&e[0].trim().length!==0||e.length===2&&e[1].trim().length===0)return{indentation:0,omitFirstLine:t,omitLastLine:n,trimLastLine:e.length!==1&&e[e.length-1].trim().length===0};{let s=t?e.slice(1):e;s=n?s.slice(0,s.length-1):s,s=s.filter(u=>u.length!==0);const r=Uu(s);return{indentation:r,omitFirstLine:t,omitLastLine:n&&(e[e.length-1].length<r||!e[e.length-1].startsWith(s[0].substring(0,r)))}}}function Hu(i,e,{indentation:t,omitFirstLine:n,omitLastLine:s,trimLastLine:r}){const u=[];i.forEach((h,l)=>{u.push(...h.split(mi).map((f,m)=>m===0||f.length<t?f:f.substring(t)).reduce(l===0?(f,m,C)=>C===0?n?[]:[m]:C===1&&f.length===0?[m]:f.concat(mn,m):(f,m,C)=>C===0?[m]:f.concat(mn,m),[]).filter(f=>!(typeof f=="string"&&f.length===0)).concat(Ut(e[l])?e[l]:e[l]!==void 0?{content:String(e[l])}:l<e.length?ys:[]))});const a=u.length,c=a!==0?u[a-1]:void 0;return(s||r)&&typeof c=="string"&&c.trim().length===0?n&&a!==1&&u[a-2]===mn?u.slice(0,a-2):u.slice(0,a-1):u}const mn={isNewLine:!0},ys={isUndefinedSegment:!0},vs=i=>i===mn,qn=i=>i===ys,Gu=i=>i.content!==void 0;function Yu(i){return i.reduce((t,n,s)=>qn(n)?t:vs(n)?{node:s!==0&&(qn(i[s-1])||Ut(i[s-1]))||s>1&&typeof i[s-1]=="string"&&(qn(i[s-2])||Ut(i[s-2]))?t.node.appendNewLineIfNotEmpty():t.node.appendNewLine()}:(()=>{var r;const u=(s===0||vs(i[s-1]))&&typeof n=="string"&&n.length!==0?"".padStart(n.length-n.trimStart().length):"",a=Gu(n)?n.content:n;let c;return{node:t.indented?t.node:u.length!==0?t.node.indent({indentation:u,indentImmediately:!1,indentedChildren:h=>c=h.append(a)}):t.node.append(a),indented:c??((r=t.indented)===null||r===void 0?void 0:r.append(a))}})(),{node:new fe}).node}const qu=typeof process>"u"?`
65
+ `,"f"),S(this,me,o(this,me,"f")+e.join(" "),"f")}}}[Ln](e){tn(o(this,P,"f")).forEach(t=>{if((r=>r==="configObjects")(t))return;const n=o(this,P,"f")[t];Array.isArray(n)?n.includes(e)&&n.splice(n.indexOf(e),1):typeof n=="object"&&delete n[e]}),delete o(this,W,"f").getDescriptions()[e]}[Zi](e,t,n){o(this,sn,"f")[n]||(o(this,R,"f").process.emitWarning(e,t),o(this,sn,"f")[n]=!0)}[er](){o(this,un,"f").push({options:o(this,P,"f"),configObjects:o(this,P,"f").configObjects.slice(0),exitProcess:o(this,Be,"f"),groups:o(this,Te,"f"),strict:o(this,ct,"f"),strictCommands:o(this,lt,"f"),strictOptions:o(this,ft,"f"),completionCommand:o(this,be,"f"),output:o(this,me,"f"),exitError:o(this,Ke,"f"),hasOutput:o(this,Fe,"f"),parsed:this.parsed,parseFn:o(this,ye,"f"),parseContext:o(this,ot,"f")}),o(this,W,"f").freeze(),o(this,se,"f").freeze(),o(this,oe,"f").freeze(),o(this,Oe,"f").freeze()}[tr](){let e="",t;return/\b(node|iojs|electron)(\.exe)?$/.test(o(this,R,"f").process.argv()[0])?t=o(this,R,"f").process.argv().slice(1,2):t=o(this,R,"f").process.argv().slice(0,1),e=t.map(n=>{const r=this[pr](o(this,st,"f"),n);return n.match(/^(\/|([a-zA-Z]:)?\\)/)&&r.length<n.length?r:n}).join(" ").trim(),o(this,R,"f").getEnv("_")&&o(this,R,"f").getProcessArgvBin()===o(this,R,"f").getEnv("_")&&(e=o(this,R,"f").getEnv("_").replace(`${o(this,R,"f").path.dirname(o(this,R,"f").process.execPath())}/`,"")),e}[dt](){return o(this,cn,"f")}[nr](){return o(this,fn,"f")}[Mn](){if(!o(this,ut,"f"))return;const e=o(this,R,"f").getEnv("LC_ALL")||o(this,R,"f").getEnv("LC_MESSAGES")||o(this,R,"f").getEnv("LANG")||o(this,R,"f").getEnv("LANGUAGE")||"en_US";this.locale(e.replace(/[.:].*/,""))}[ir](){return this[kn]().version||"unknown"}[rr](e){const t=e["--"]?e["--"]:e._;for(let n=0,r;(r=t[n])!==void 0;n++)o(this,R,"f").Parser.looksLikeNumber(r)&&Number.isSafeInteger(Math.floor(parseFloat(`${r}`)))&&(t[n]=Number(r));return e}[kn](e){const t=e||"*";if(o(this,Ft,"f")[t])return o(this,Ft,"f")[t];let n={};try{let r=e||o(this,R,"f").mainFilename;!e&&o(this,R,"f").path.extname(r)&&(r=o(this,R,"f").path.dirname(r));const s=o(this,R,"f").findUp(r,(u,a)=>{if(a.includes("package.json"))return"package.json"});Le(s,void 0,o(this,R,"f")),n=JSON.parse(o(this,R,"f").readFileSync(s,"utf8"))}catch{}return o(this,Ft,"f")[t]=n||{},o(this,Ft,"f")[t]}[Xe](e,t){t=[].concat(t),t.forEach(n=>{n=this[Wn](n),o(this,P,"f")[e].push(n)})}[yt](e,t,n,r){this[Rn](e,t,n,r,(s,u,a)=>{o(this,P,"f")[s][u]=a})}[Tn](e,t,n,r){this[Rn](e,t,n,r,(s,u,a)=>{o(this,P,"f")[s][u]=(o(this,P,"f")[s][u]||[]).concat(a)})}[Rn](e,t,n,r,s){if(Array.isArray(n))n.forEach(u=>{e(u,r)});else if((u=>typeof u=="object")(n))for(const u of tn(n))e(u,n[u]);else s(t,this[Wn](n),r)}[Wn](e){return e==="__proto__"?"___proto___":e}[Un](e,t){return this[yt](this[Un].bind(this),"key",e,t),this}[Vn](){var e,t,n,r,s,u,a,c,h,l,f,m;const C=o(this,un,"f").pop();Le(C,void 0,o(this,R,"f"));let F;e=this,t=this,n=this,r=this,s=this,u=this,a=this,c=this,h=this,l=this,f=this,m=this,{options:{set value(w){S(e,P,w,"f")}}.value,configObjects:F,exitProcess:{set value(w){S(t,Be,w,"f")}}.value,groups:{set value(w){S(n,Te,w,"f")}}.value,output:{set value(w){S(r,me,w,"f")}}.value,exitError:{set value(w){S(s,Ke,w,"f")}}.value,hasOutput:{set value(w){S(u,Fe,w,"f")}}.value,parsed:this.parsed,strict:{set value(w){S(a,ct,w,"f")}}.value,strictCommands:{set value(w){S(c,lt,w,"f")}}.value,strictOptions:{set value(w){S(h,ft,w,"f")}}.value,completionCommand:{set value(w){S(l,be,w,"f")}}.value,parseFn:{set value(w){S(f,ye,w,"f")}}.value,parseContext:{set value(w){S(m,ot,w,"f")}}.value}=C,o(this,P,"f").configObjects=F,o(this,W,"f").unfreeze(),o(this,se,"f").unfreeze(),o(this,oe,"f").unfreeze(),o(this,Oe,"f").unfreeze()}[sr](e,t){return Lt(t,n=>(e(n),n))}getInternalMethods(){return{getCommandInstance:this[ur].bind(this),getContext:this[or].bind(this),getHasOutput:this[ar].bind(this),getLoggerInstance:this[cr].bind(this),getParseContext:this[lr].bind(this),getParserConfiguration:this[dt].bind(this),getUsageConfiguration:this[nr].bind(this),getUsageInstance:this[fr].bind(this),getValidationInstance:this[dr].bind(this),hasParseCallback:this[dn].bind(this),isGlobalContext:this[hr].bind(this),postProcess:this[ht].bind(this),reset:this[zn].bind(this),runValidation:this[Hn].bind(this),runYargsParserAndExecuteCommands:this[Wt].bind(this),setHasOutput:this[mr].bind(this)}}[ur](){return o(this,oe,"f")}[or](){return o(this,Rt,"f")}[ar](){return o(this,Fe,"f")}[cr](){return o(this,bt,"f")}[lr](){return o(this,ot,"f")||{}}[fr](){return o(this,W,"f")}[dr](){return o(this,se,"f")}[dn](){return!!o(this,ye,"f")}[hr](){return o(this,on,"f")}[ht](e,t,n,r){return n||ce(e)||(t||(e=this[Qi](e)),(this[dt]()["parse-positional-numbers"]||this[dt]()["parse-positional-numbers"]===void 0)&&(e=this[rr](e)),r&&(e=Nt(e,this,o(this,Oe,"f").getMiddleware(),!1))),e}[zn](e={}){S(this,P,o(this,P,"f")||{},"f");const t={};t.local=o(this,P,"f").local||[],t.configObjects=o(this,P,"f").configObjects||[];const n={};t.local.forEach(u=>{n[u]=!0,(e[u]||[]).forEach(a=>{n[a]=!0})}),Object.assign(o(this,at,"f"),Object.keys(o(this,Te,"f")).reduce((u,a)=>{const c=o(this,Te,"f")[a].filter(h=>!(h in n));return c.length>0&&(u[a]=c),u},{})),S(this,Te,{},"f");const r=["array","boolean","string","skipValidation","count","normalize","number","hiddenOptions"],s=["narg","key","alias","default","defaultDescription","config","choices","demandedOptions","demandedCommands","deprecatedOptions"];return r.forEach(u=>{t[u]=(o(this,P,"f")[u]||[]).filter(a=>!n[a])}),s.forEach(u=>{t[u]=Mt(o(this,P,"f")[u],a=>!n[a])}),t.envPrefix=o(this,P,"f").envPrefix,S(this,P,t,"f"),S(this,W,o(this,W,"f")?o(this,W,"f").reset(n):pu(this,o(this,R,"f")),"f"),S(this,se,o(this,se,"f")?o(this,se,"f").reset(n):Fu(this,o(this,W,"f"),o(this,R,"f")),"f"),S(this,oe,o(this,oe,"f")?o(this,oe,"f").reset():cu(o(this,W,"f"),o(this,se,"f"),o(this,Oe,"f"),o(this,R,"f")),"f"),o(this,ve,"f")||S(this,ve,wu(this,o(this,W,"f"),o(this,oe,"f"),o(this,R,"f")),"f"),o(this,Oe,"f").reset(),S(this,be,null,"f"),S(this,me,"","f"),S(this,Ke,null,"f"),S(this,Fe,!1,"f"),this.parsed=!1,this}[pr](e,t){return o(this,R,"f").path.relative(e,t)}[Wt](e,t,n,r=0,s=!1){let u=!!n||s;e=e||o(this,Qe,"f"),o(this,P,"f").__=o(this,R,"f").y18n.__,o(this,P,"f").configuration=this[dt]();const a=!!o(this,P,"f").configuration["populate--"],c=Object.assign({},o(this,P,"f").configuration,{"populate--":!0}),h=o(this,R,"f").Parser.detailed(e,Object.assign({},o(this,P,"f"),{configuration:{"parse-positional-numbers":!1,...c}})),l=Object.assign(h.argv,o(this,ot,"f"));let f;const m=h.aliases;let C=!1,F=!1;Object.keys(l).forEach(w=>{w===o(this,_e,"f")&&l[w]?C=!0:w===o(this,Re,"f")&&l[w]&&(F=!0)}),l.$0=this.$0,this.parsed=h,r===0&&o(this,W,"f").clearCachedHelpMessage();try{if(this[Mn](),t)return this[ht](l,a,!!n,!1);o(this,_e,"f")&&[o(this,_e,"f")].concat(m[o(this,_e,"f")]||[]).filter(M=>M.length>1).includes(""+l._[l._.length-1])&&(l._.pop(),C=!0),S(this,on,!1,"f");const w=o(this,oe,"f").getCommands(),p=o(this,ve,"f").completionKey in l,y=C||p||s;if(l._.length){if(w.length){let B;for(let M=r||0,L;l._[M]!==void 0;M++)if(L=String(l._[M]),w.includes(L)&&L!==o(this,be,"f")){const U=o(this,oe,"f").runCommand(L,this,h,M+1,s,C||F||s);return this[ht](U,a,!!n,!1)}else if(!B&&L!==o(this,be,"f")){B=L;break}!o(this,oe,"f").hasDefaultCommand()&&o(this,ln,"f")&&B&&!y&&o(this,se,"f").recommendCommands(B,w)}o(this,be,"f")&&l._.includes(o(this,be,"f"))&&!p&&(o(this,Be,"f")&&kt(!0),this.showCompletionScript(),this.exit(0))}if(o(this,oe,"f").hasDefaultCommand()&&!y){const B=o(this,oe,"f").runCommand(null,this,h,0,s,C||F||s);return this[ht](B,a,!!n,!1)}if(p){o(this,Be,"f")&&kt(!0),e=[].concat(e);const B=e.slice(e.indexOf(`--${o(this,ve,"f").completionKey}`)+1);return o(this,ve,"f").getCompletion(B,(M,L)=>{if(M)throw new le(M.message);(L||[]).forEach(U=>{o(this,bt,"f").log(U)}),this.exit(0)}),this[ht](l,!a,!!n,!1)}if(o(this,Fe,"f")||(C?(o(this,Be,"f")&&kt(!0),u=!0,this.showHelp("log"),this.exit(0)):F&&(o(this,Be,"f")&&kt(!0),u=!0,o(this,W,"f").showVersion("log"),this.exit(0))),!u&&o(this,P,"f").skipValidation.length>0&&(u=Object.keys(l).some(B=>o(this,P,"f").skipValidation.indexOf(B)>=0&&l[B]===!0)),!u){if(h.error)throw new le(h.error.message);if(!p){const B=this[Hn](m,{},h.error);n||(f=Nt(l,this,o(this,Oe,"f").getMiddleware(),!0)),f=this[sr](B,f??l),ce(f)&&!n&&(f=f.then(()=>Nt(l,this,o(this,Oe,"f").getMiddleware(),!1)))}}}catch(w){if(w instanceof le)o(this,W,"f").fail(w.message,w);else throw w}return this[ht](f??l,a,!!n,!0)}[Hn](e,t,n,r){const s={...this.getDemandedOptions()};return u=>{if(n)throw new le(n.message);o(this,se,"f").nonOptionCount(u),o(this,se,"f").requiredArguments(u,s);let a=!1;o(this,lt,"f")&&(a=o(this,se,"f").unknownCommands(u)),o(this,ct,"f")&&!a?o(this,se,"f").unknownArguments(u,e,t,!!r):o(this,ft,"f")&&o(this,se,"f").unknownArguments(u,e,{},!1,!1),o(this,se,"f").limitedChoices(u),o(this,se,"f").implications(u),o(this,se,"f").conflicting(u)}}[mr](){S(this,Fe,!0,"f")}[pt](e){if(typeof e=="string")o(this,P,"f").key[e]=!0;else for(const t of e)o(this,P,"f").key[t]=!0}}function _u(i){return!!i&&typeof i.getInternalMethods=="function"}const Su=Bu(nu),hn={type:"string",desc:"<directory> with LikeC4 sources (default is current directory)",normalize:!0,default:".",coerce:Q},We={alias:"use-dot-bin",boolean:!0,type:"boolean",desc:'use graphviz binaries ("dot" should be on PATH)',default:!1},gr={boolean:!0,type:"boolean",desc:'use hash history for navigation, e.g. "/#/view" instead of "/view"'},pn={alias:"o",type:"string",desc:"<directory> output directory",normalize:!0,coerce:Q},Gn={alias:"w",type:"string",desc:'prefix for Webcomponents, e.g "c4" generates <c4-view ../>',default:"likec4"},Dr={alias:["base-url"],type:"string",desc:'base url the app is being served from, e.g. "/" or "/pages/"'},Cr={boolean:!0,type:"boolean",desc:"overview all diagrams as graph [experimental]",default:!1};function Iu(i){var e,t;if(i){if("astNode"in i)return ju(i);if(Array.isArray(i))return i.reduce(wr,void 0);{const n=i,r=xu(n)?$u((t=(e=n?.root)===null||e===void 0?void 0:e.astNode)!==null&&t!==void 0?t:n?.astNode):void 0;return vt(n,r)}}else return}function xu(i){return typeof i<"u"&&"element"in i&&"text"in i}function $u(i){try{return pi(i).uri.toString()}catch{return}}function ju(i){var e,t;const{astNode:n,property:r,index:s}=i??{},u=(e=n?.$cstNode)!==null&&e!==void 0?e:n?.$textRegion;if(!(n===void 0||u===void 0)){if(r===void 0)return vt(u,Yn(n));{const a=c=>s!==void 0&&s>-1&&Array.isArray(n[r])?s<c.length?c[s]:void 0:c.reduce(wr,void 0);if(!((t=u.assignments)===null||t===void 0)&&t[r]){const c=a(u.assignments[r]);return c&&vt(c,Yn(n))}else if(n.$cstNode){const c=a(Jr(n.$cstNode,r));return c&&vt(c,Yn(n))}else return}}}function Yn(i){var e,t,n,r;return i.$cstNode?(t=(e=pi(i))===null||e===void 0?void 0:e.uri)===null||t===void 0?void 0:t.toString():i.$textRegion?i.$textRegion.documentURI||((r=(n=new qr(i,s=>s.$container?[s.$container]:[]).find(s=>{var u;return(u=s.$textRegion)===null||u===void 0?void 0:u.documentURI}))===null||n===void 0?void 0:n.$textRegion)===null||r===void 0?void 0:r.documentURI):void 0}function vt(i,e){var t,n;const r={offset:i.offset,end:(t=i.end)!==null&&t!==void 0?t:i.offset+i.length,length:(n=i.length)!==null&&n!==void 0?n:i.end-i.offset};return i.range&&(r.range=i.range),e??(e=i.fileURI),e&&(r.fileURI=e),r}function wr(i,e){var t,n;if(i){if(!e)return i&&vt(i)}else return e&&vt(e);const r=(t=i.end)!==null&&t!==void 0?t:i.offset+i.length,s=(n=e.end)!==null&&n!==void 0?n:e.offset+e.length,u=Math.min(i.offset,e.offset),a=Math.max(r,s),c=a-u,h={offset:u,end:a,length:c};if(i.range&&e.range&&(h.range={start:e.range.start.line<i.range.start.line||e.range.start.line===i.range.start.line&&e.range.start.character<i.range.start.character?e.range.start:i.range.start,end:e.range.end.line>i.range.end.line||e.range.end.line===i.range.end.line&&e.range.end.character>i.range.end.character?e.range.end:i.range.end}),i.fileURI||e.fileURI){const l=i.fileURI,f=e.fileURI,m=l&&f&&l!==f?`<unmergable text regions of ${l}, ${f}>`:l??f;h.fileURI=m}return h}class Pu{constructor(e){this.defaultIndentation=" ",this.pendingIndent=!0,this.currentIndents=[],this.recentNonImmediateIndents=[],this.traceData=[],this.lines=[[]],this.length=0,typeof e=="string"?this.defaultIndentation=e:typeof e=="number"&&(this.defaultIndentation="".padStart(e))}get content(){return this.lines.map(e=>e.join("")).join("")}get contentLength(){return this.length}get currentLineNumber(){return this.lines.length-1}get currentLineContent(){return this.lines[this.currentLineNumber].join("")}get currentPosition(){return{offset:this.contentLength,line:this.currentLineNumber,character:this.currentLineContent.length}}append(e,t){if(e.length>0){const n=t&&this.currentPosition;this.lines[this.currentLineNumber].push(e),this.length+=e.length,n&&this.indentPendingTraceRegions(n)}}indentPendingTraceRegions(e){for(let t=this.traceData.length-1;t>=0;t--){const n=this.traceData[t];n.targetStart&&n.targetStart.offset===e.offset&&(n.targetStart=this.currentPosition)}}increaseIndent(e){this.currentIndents.push(e),e.indentImmediately||this.recentNonImmediateIndents.push(e)}decreaseIndent(){this.currentIndents.pop()}get relevantIndents(){return this.currentIndents.filter(e=>!this.recentNonImmediateIndents.includes(e))}resetCurrentLine(){this.length-=this.lines[this.currentLineNumber].join("").length,this.lines[this.currentLineNumber]=[],this.pendingIndent=!0}addNewLine(){this.pendingIndent=!0,this.lines.push([]),this.recentNonImmediateIndents.length=0}pushTraceRegion(e){const t=Nu(e,this.currentPosition,n=>{var r,s;return(s=(r=this.traceData[this.traceData.length-1])===null||r===void 0?void 0:r.children)===null||s===void 0?void 0:s.push(n)});return this.traceData.push(t),t}popTraceRegion(e){const t=this.traceData.pop();return this.assertTrue(t===e,"Trace region mismatch!"),t}getParentTraceSourceFileURI(){var e;for(let t=this.traceData.length-1;t>-1;t--){const n=(e=this.traceData[t].sourceRegion)===null||e===void 0?void 0:e.fileURI;if(n)return n}}assertTrue(e,t){if(!e)throw new Error(t)}}function Nu(i,e,t){const n={sourceRegion:i,targetRegion:void 0,children:[],targetStart:e,complete:r=>{var s,u;return n.targetRegion={offset:n.targetStart.offset,end:r.offset,length:r.offset-n.targetStart.offset,range:{start:{line:n.targetStart.line,character:n.targetStart.character},end:{line:r.line,character:r.character}}},delete n.targetStart,((s=n.children)===null||s===void 0?void 0:s.length)===0&&delete n.children,!((u=n.targetRegion)===null||u===void 0)&&u.length&&t(n),delete n.complete,n}};return n}function Lu(i,e){const t=new Pu(e),n=t.pushTraceRegion(void 0);Ar(i,t),t.popTraceRegion(n),n.complete&&n.complete(t.currentPosition);const r=n.children&&n.children.length===1?n.children[0]:void 0,s=r?.targetRegion,u=n.targetRegion;return s&&r.sourceRegion&&s.offset===u.offset&&s.length===u.length?{text:t.content,trace:r}:{text:t.content,trace:n}}function Ar(i,e){typeof i=="string"?Mu(i,e):i instanceof qn?ku(i,e):i instanceof fe?Fr(i,e):i instanceof Vt&&Tu(i,e)}function Er(i,e){return typeof i=="string"?i.length!==0:i instanceof fe?i.contents.some(t=>Er(t,e)):i instanceof Vt?!(i.ifNotEmpty&&e.currentLineContent.length===0):!1}function Mu(i,e){i&&(e.pendingIndent&&br(e,!1),e.append(i))}function br(i,e){var t;let n="";for(const r of i.relevantIndents.filter(s=>s.indentEmptyLines||!e))n+=(t=r.indentation)!==null&&t!==void 0?t:i.defaultIndentation;i.append(n,!0),i.pendingIndent=!1}function Fr(i,e){let t;const n=Iu(i.tracedSource);n&&(t=e.pushTraceRegion(n));for(const r of i.contents)Ar(r,e);if(t){e.popTraceRegion(t);const r=e.getParentTraceSourceFileURI();r&&n?.fileURI===r&&delete n.fileURI,t.complete&&t.complete(e.currentPosition)}}function ku(i,e){var t;if(Er(i,e)){i.indentImmediately&&!e.pendingIndent&&e.append((t=i.indentation)!==null&&t!==void 0?t:e.defaultIndentation,!0);try{e.increaseIndent(i),Fr(i,e)}finally{e.decreaseIndent()}}}function Tu(i,e){i.ifNotEmpty&&!Ru(e.currentLineContent)?e.resetCurrentLine():(e.pendingIndent&&br(e,!0),e.append(i.lineDelimiter),e.addNewLine())}function Ru(i){return i.trimStart()!==""}Object.freeze("__\xABSKIP^NEW^LINE^IF^EMPTY\xBB__");const Wu=/\S|$/;function Uu(i){const e=i.filter(n=>n.length>0).map(n=>n.search(Wu)),t=e.length===0?0:Math.min(...e);return Math.max(0,t)}function Ze(i,...e){const t=zu(i),n=Hu(i,e,t);return Yu(n)}function Vu(i,e,t){return(n,...r)=>qu(i,e,t)(Ze(n,...r))}function zu(i){const e=i.join("_").split(mi),t=e.length>1&&e[0].trim().length===0,n=t&&e.length>1&&e[e.length-1].trim().length===0;if(e.length===1||e.length!==0&&e[0].trim().length!==0||e.length===2&&e[1].trim().length===0)return{indentation:0,omitFirstLine:t,omitLastLine:n,trimLastLine:e.length!==1&&e[e.length-1].trim().length===0};{let r=t?e.slice(1):e;r=n?r.slice(0,r.length-1):r,r=r.filter(u=>u.length!==0);const s=Uu(r);return{indentation:s,omitFirstLine:t,omitLastLine:n&&(e[e.length-1].length<s||!e[e.length-1].startsWith(r[0].substring(0,s)))}}}function Hu(i,e,{indentation:t,omitFirstLine:n,omitLastLine:r,trimLastLine:s}){const u=[];i.forEach((h,l)=>{u.push(...h.split(mi).map((f,m)=>m===0||f.length<t?f:f.substring(t)).reduce(l===0?(f,m,C)=>C===0?n?[]:[m]:C===1&&f.length===0?[m]:f.concat(mn,m):(f,m,C)=>C===0?[m]:f.concat(mn,m),[]).filter(f=>!(typeof f=="string"&&f.length===0)).concat(Ut(e[l])?e[l]:e[l]!==void 0?{content:String(e[l])}:l<e.length?yr:[]))});const a=u.length,c=a!==0?u[a-1]:void 0;return(r||s)&&typeof c=="string"&&c.trim().length===0?n&&a!==1&&u[a-2]===mn?u.slice(0,a-2):u.slice(0,a-1):u}const mn={isNewLine:!0},yr={isUndefinedSegment:!0},vr=i=>i===mn,Jn=i=>i===yr,Gu=i=>i.content!==void 0;function Yu(i){return i.reduce((t,n,r)=>Jn(n)?t:vr(n)?{node:r!==0&&(Jn(i[r-1])||Ut(i[r-1]))||r>1&&typeof i[r-1]=="string"&&(Jn(i[r-2])||Ut(i[r-2]))?t.node.appendNewLineIfNotEmpty():t.node.appendNewLine()}:(()=>{var s;const u=(r===0||vr(i[r-1]))&&typeof n=="string"&&n.length!==0?"".padStart(n.length-n.trimStart().length):"",a=Gu(n)?n.content:n;let c;return{node:t.indented?t.node:u.length!==0?t.node.indent({indentation:u,indentImmediately:!1,indentedChildren:h=>c=h.append(a)}):t.node.append(a),indented:c??((s=t.indented)===null||s===void 0?void 0:s.append(a))}})(),{node:new fe}).node}const Ju=typeof process>"u"?`
66
66
  `:process.platform==="win32"?`\r
67
67
  `:`
68
- `;function Ut(i){return i instanceof fe||i instanceof Jn||i instanceof Vt}function mt(i,e){return Ut(i)?Lu(i,e).text:String(i)}class fe{constructor(...e){this.contents=[],this.append(...e)}isEmpty(){return this.contents.length===0}trace(e,t,n){if(Ks(e)){if(this.tracedSource={astNode:e,property:t,index:n},this.tracedSource.property===void 0&&this.tracedSource.index!==void 0&&this.tracedSource.index>-1)throw new Error("Generation support: 'property' argument must not be 'undefined' if a non-negative value is assigned to 'index' in 'CompositeGeneratorNode.trace(...)'.")}else this.tracedSource=e;return this}append(...e){for(const t of e)typeof t=="function"?t(this):t&&this.contents.push(t);return this}appendIf(e,...t){return e?this.append(...t):this}appendNewLine(){return this.append(G)}appendNewLineIf(e){return e?this.append(G):this}appendNewLineIfNotEmpty(){return this.append(Ku)}appendNewLineIfNotEmptyIf(e){return e?this.appendNewLineIfNotEmpty():this}appendTemplate(e,...t){return this.append(Ze(e,...t))}appendTemplateIf(e){return e?(t,...n)=>this.appendTemplate(t,...n):()=>this}indent(e){const{indentedChildren:t,indentation:n,indentEmptyLines:s,indentImmediately:r}=Array.isArray(e)||typeof e=="function"?{indentedChildren:e}:typeof e=="object"?e:{},u=new Jn(n,r,s);return this.contents.push(u),Array.isArray(t)?u.append(...t):t&&u.append(t),this}appendTraced(e,t,n){return s=>this.append(new fe().trace(e,t,n).append(s))}appendTracedIf(e,t,n,s){return e?this.appendTraced(typeof t=="function"?t():t,n,s):()=>this}appendTracedTemplate(e,t,n){return(s,...r)=>this.append(Vu(e,t,n)(s,...r))}appendTracedTemplateIf(e,t,n,s){return e?this.appendTracedTemplate(typeof t=="function"?t():t,n,s):()=>this}}function Ju(i,e,t){return n=>n instanceof fe&&n.tracedSource===void 0?n.trace(i,e,t):new fe().trace(i,e,t).append(n)}class Jn extends fe{constructor(e,t=!0,n=!1){super(),this.indentImmediately=!0,this.indentEmptyLines=!1,typeof e=="string"?this.indentation=e:typeof e=="number"&&(this.indentation="".padStart(e)),this.indentImmediately=t,this.indentEmptyLines=n}}class Vt{constructor(e,t=!1){this.ifNotEmpty=!1,this.lineDelimiter=e??qu,this.ifNotEmpty=t}}const G=new Vt,Ku=new Vt(void 0,!0),Bs=i=>i===void 0||typeof i=="string"||Ut(i)?i:String(i);function Se(i,e=Bs,t={}){const n=typeof e=="function"?e:Bs,{filter:s,prefix:r,suffix:u,separator:a,appendNewLineIfNotEmpty:c,skipNewLineAfterLastItem:h}=typeof e=="object"?e:t,l=typeof r=="function"?r:()=>r,f=typeof u=="function"?u:()=>u;return Qu(i,(m,C,F,w)=>{if(s&&!s(C,F,w))return m;const p=n(C,F,w);return p===void 0?m:(m??(m=new fe)).append(l(C,F,w)).append(p).append(f(C,F,w)).appendIf(!w,a).appendNewLineIfNotEmptyIf(!m.isEmpty()&&!!c&&(!w||!h))})}function Qu(i,e,t){const n=i[Symbol.iterator]();let s=n.next(),r=0,u=t;for(;!s.done;){const a=n.next();u=e(u,s.value,r,!!a.done),s=a,r++}return u}const Xu=i=>i.charAt(0).toLocaleUpperCase()+i.slice(1),Zu=i=>i.split(".").map(Xu).join(""),eo=i=>Zu(i.parent?i.id.slice(i.parent.length+1):i.id),to=({autoLayout:i})=>{switch(i.direction){case"TB":return"down";case"BT":return"up";case"LR":return"right";case"RL":return"left"}},no=({shape:i})=>{switch(i){case"queue":case"cylinder":case"rectangle":case"person":return i;case"storage":return"stored_data";case"mobile":case"browser":return"rectangle"}};function Os(i){const{nodes:e,edges:t}=i,n=new Map,s=(u,a)=>{const c=eo(u),h=(a?a+".":"")+c;n.set(u.id,h);const l=JSON.stringify(u.title),f=no(u);return new fe().append(c,": {",G).indent({indentedChildren:m=>m.append("label: ",l,G).appendIf(f!=="rectangle","shape: ",f,G).appendIf(u.children.length>0,G,Se(e.filter(C=>C.parent===u.id),C=>s(C,h))),indentation:2}).append("}",G)},r=u=>new fe().append(n.get(u.source)," -> ",n.get(u.target)).append(a=>u.label&&a.append(": ",JSON.stringify(u.label)));return mt(new fe().append("direction: ",to(i),G,G).append(Se(e.filter(u=>gi(u.parent)),u=>s(u),{appendNewLineIfNotEmpty:!0})).appendIf(t.length>0,G,Se(t,u=>r(u),{appendNewLineIfNotEmpty:!0})))}const io=i=>i.charAt(0).toLocaleUpperCase()+i.slice(1),so=i=>i.split(".").map(io).join(""),ro=i=>so(i.parent?i.id.slice(i.parent.length+1):i.id),uo=({shape:i})=>{switch(i){case"queue":case"cylinder":return["[(",")]"];case"person":return["[fa:fa-user ","]"];case"storage":return["([","])"];case"mobile":case"browser":case"rectangle":return["[","]"]}};function _s(i){const{nodes:e,edges:t}=i,n=new Map,s=(u,a)=>{const c=ro(u),h=(a?a+".":"")+c;n.set(u.id,h);const l=u.title.replaceAll(`
69
- `,"\\n"),f=uo(u),m=new fe;return u.children.length>0?m.append("subgraph ",h,"[",JSON.stringify(u.title),"]",G).indent({indentedChildren:[Se(e.filter(C=>C.parent===u.id),C=>s(C,h),{appendNewLineIfNotEmpty:!0})],indentation:2}).append("end",G):m.append(h,f[0],l,f[1]),m},r=u=>new fe().append(n.get(u.source)," -.",u.label?' "'+u.label.replaceAll(`
70
- `,"\\n")+'" .-':"-","> ",n.get(u.target));return mt(new fe().appendIf(i.title!==null&&i.title.length>0,"---",G,`title: ${JSON.stringify(i.title)}`,G,"---",G).append("graph ",i.autoLayout.direction,G).indent({indentedChildren:u=>{u.append(Se(e.filter(a=>gi(a.parent)),a=>s(a),{appendNewLineIfNotEmpty:!0})).appendIf(t.length>0,Se(t,a=>r(a),{appendNewLineIfNotEmpty:!0}))},indentation:2}))}var oo=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/,ao=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/,co=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/,Kn={Space_Separator:oo,ID_Start:ao,ID_Continue:co},ae={isSpaceSeparator(i){return typeof i=="string"&&Kn.Space_Separator.test(i)},isIdStartChar(i){return typeof i=="string"&&(i>="a"&&i<="z"||i>="A"&&i<="Z"||i==="$"||i==="_"||Kn.ID_Start.test(i))},isIdContinueChar(i){return typeof i=="string"&&(i>="a"&&i<="z"||i>="A"&&i<="Z"||i>="0"&&i<="9"||i==="$"||i==="_"||i==="\u200C"||i==="\u200D"||Kn.ID_Continue.test(i))},isDigit(i){return typeof i=="string"&&/[0-9]/.test(i)},isHexDigit(i){return typeof i=="string"&&/[0-9A-Fa-f]/.test(i)}};let Qn,Ae,He,gn,et,Me,ge,Xn,zt;var lo=function(e,t){Qn=String(e),Ae="start",He=[],gn=0,et=1,Me=0,ge=void 0,Xn=void 0,zt=void 0;do ge=fo(),mo[Ae]();while(ge.type!=="eof");return typeof t=="function"?Zn({"":zt},"",t):zt};function Zn(i,e,t){const n=i[e];if(n!=null&&typeof n=="object")if(Array.isArray(n))for(let s=0;s<n.length;s++){const r=String(s),u=Zn(n,r,t);u===void 0?delete n[r]:Object.defineProperty(n,r,{value:u,writable:!0,enumerable:!0,configurable:!0})}else for(const s in n){const r=Zn(n,s,t);r===void 0?delete n[s]:Object.defineProperty(n,s,{value:r,writable:!0,enumerable:!0,configurable:!0})}return t.call(i,e,n)}let H,z,Ht,Ge,Y;function fo(){for(H="default",z="",Ht=!1,Ge=1;;){Y=Ye();const i=Ss[H]();if(i)return i}}function Ye(){if(Qn[gn])return String.fromCodePoint(Qn.codePointAt(gn))}function E(){const i=Ye();return i===`
71
- `?(et++,Me=0):i?Me+=i.length:Me++,i&&(gn+=i.length),i}const Ss={default(){switch(Y){case" ":case"\v":case"\f":case" ":case"\xA0":case"\uFEFF":case`
72
- `:case"\r":case"\u2028":case"\u2029":E();return;case"/":E(),H="comment";return;case void 0:return E(),Z("eof")}if(ae.isSpaceSeparator(Y)){E();return}return Ss[Ae]()},comment(){switch(Y){case"*":E(),H="multiLineComment";return;case"/":E(),H="singleLineComment";return}throw ee(E())},multiLineComment(){switch(Y){case"*":E(),H="multiLineCommentAsterisk";return;case void 0:throw ee(E())}E()},multiLineCommentAsterisk(){switch(Y){case"*":E();return;case"/":E(),H="default";return;case void 0:throw ee(E())}E(),H="multiLineComment"},singleLineComment(){switch(Y){case`
73
- `:case"\r":case"\u2028":case"\u2029":E(),H="default";return;case void 0:return E(),Z("eof")}E()},value(){switch(Y){case"{":case"[":return Z("punctuator",E());case"n":return E(),gt("ull"),Z("null",null);case"t":return E(),gt("rue"),Z("boolean",!0);case"f":return E(),gt("alse"),Z("boolean",!1);case"-":case"+":E()==="-"&&(Ge=-1),H="sign";return;case".":z=E(),H="decimalPointLeading";return;case"0":z=E(),H="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":z=E(),H="decimalInteger";return;case"I":return E(),gt("nfinity"),Z("numeric",1/0);case"N":return E(),gt("aN"),Z("numeric",NaN);case'"':case"'":Ht=E()==='"',z="",H="string";return}throw ee(E())},identifierNameStartEscape(){if(Y!=="u")throw ee(E());E();const i=ei();switch(i){case"$":case"_":break;default:if(!ae.isIdStartChar(i))throw Is();break}z+=i,H="identifierName"},identifierName(){switch(Y){case"$":case"_":case"\u200C":case"\u200D":z+=E();return;case"\\":E(),H="identifierNameEscape";return}if(ae.isIdContinueChar(Y)){z+=E();return}return Z("identifier",z)},identifierNameEscape(){if(Y!=="u")throw ee(E());E();const i=ei();switch(i){case"$":case"_":case"\u200C":case"\u200D":break;default:if(!ae.isIdContinueChar(i))throw Is();break}z+=i,H="identifierName"},sign(){switch(Y){case".":z=E(),H="decimalPointLeading";return;case"0":z=E(),H="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":z=E(),H="decimalInteger";return;case"I":return E(),gt("nfinity"),Z("numeric",Ge*(1/0));case"N":return E(),gt("aN"),Z("numeric",NaN)}throw ee(E())},zero(){switch(Y){case".":z+=E(),H="decimalPoint";return;case"e":case"E":z+=E(),H="decimalExponent";return;case"x":case"X":z+=E(),H="hexadecimal";return}return Z("numeric",Ge*0)},decimalInteger(){switch(Y){case".":z+=E(),H="decimalPoint";return;case"e":case"E":z+=E(),H="decimalExponent";return}if(ae.isDigit(Y)){z+=E();return}return Z("numeric",Ge*Number(z))},decimalPointLeading(){if(ae.isDigit(Y)){z+=E(),H="decimalFraction";return}throw ee(E())},decimalPoint(){switch(Y){case"e":case"E":z+=E(),H="decimalExponent";return}if(ae.isDigit(Y)){z+=E(),H="decimalFraction";return}return Z("numeric",Ge*Number(z))},decimalFraction(){switch(Y){case"e":case"E":z+=E(),H="decimalExponent";return}if(ae.isDigit(Y)){z+=E();return}return Z("numeric",Ge*Number(z))},decimalExponent(){switch(Y){case"+":case"-":z+=E(),H="decimalExponentSign";return}if(ae.isDigit(Y)){z+=E(),H="decimalExponentInteger";return}throw ee(E())},decimalExponentSign(){if(ae.isDigit(Y)){z+=E(),H="decimalExponentInteger";return}throw ee(E())},decimalExponentInteger(){if(ae.isDigit(Y)){z+=E();return}return Z("numeric",Ge*Number(z))},hexadecimal(){if(ae.isHexDigit(Y)){z+=E(),H="hexadecimalInteger";return}throw ee(E())},hexadecimalInteger(){if(ae.isHexDigit(Y)){z+=E();return}return Z("numeric",Ge*Number(z))},string(){switch(Y){case"\\":E(),z+=ho();return;case'"':if(Ht)return E(),Z("string",z);z+=E();return;case"'":if(!Ht)return E(),Z("string",z);z+=E();return;case`
68
+ `;function Ut(i){return i instanceof fe||i instanceof qn||i instanceof Vt}function mt(i,e){return Ut(i)?Lu(i,e).text:String(i)}class fe{constructor(...e){this.contents=[],this.append(...e)}isEmpty(){return this.contents.length===0}trace(e,t,n){if(Kr(e)){if(this.tracedSource={astNode:e,property:t,index:n},this.tracedSource.property===void 0&&this.tracedSource.index!==void 0&&this.tracedSource.index>-1)throw new Error("Generation support: 'property' argument must not be 'undefined' if a non-negative value is assigned to 'index' in 'CompositeGeneratorNode.trace(...)'.")}else this.tracedSource=e;return this}append(...e){for(const t of e)typeof t=="function"?t(this):t&&this.contents.push(t);return this}appendIf(e,...t){return e?this.append(...t):this}appendNewLine(){return this.append(G)}appendNewLineIf(e){return e?this.append(G):this}appendNewLineIfNotEmpty(){return this.append(Ku)}appendNewLineIfNotEmptyIf(e){return e?this.appendNewLineIfNotEmpty():this}appendTemplate(e,...t){return this.append(Ze(e,...t))}appendTemplateIf(e){return e?(t,...n)=>this.appendTemplate(t,...n):()=>this}indent(e){const{indentedChildren:t,indentation:n,indentEmptyLines:r,indentImmediately:s}=Array.isArray(e)||typeof e=="function"?{indentedChildren:e}:typeof e=="object"?e:{},u=new qn(n,s,r);return this.contents.push(u),Array.isArray(t)?u.append(...t):t&&u.append(t),this}appendTraced(e,t,n){return r=>this.append(new fe().trace(e,t,n).append(r))}appendTracedIf(e,t,n,r){return e?this.appendTraced(typeof t=="function"?t():t,n,r):()=>this}appendTracedTemplate(e,t,n){return(r,...s)=>this.append(Vu(e,t,n)(r,...s))}appendTracedTemplateIf(e,t,n,r){return e?this.appendTracedTemplate(typeof t=="function"?t():t,n,r):()=>this}}function qu(i,e,t){return n=>n instanceof fe&&n.tracedSource===void 0?n.trace(i,e,t):new fe().trace(i,e,t).append(n)}class qn extends fe{constructor(e,t=!0,n=!1){super(),this.indentImmediately=!0,this.indentEmptyLines=!1,typeof e=="string"?this.indentation=e:typeof e=="number"&&(this.indentation="".padStart(e)),this.indentImmediately=t,this.indentEmptyLines=n}}class Vt{constructor(e,t=!1){this.ifNotEmpty=!1,this.lineDelimiter=e??Ju,this.ifNotEmpty=t}}const G=new Vt,Ku=new Vt(void 0,!0),Br=i=>i===void 0||typeof i=="string"||Ut(i)?i:String(i);function Se(i,e=Br,t={}){const n=typeof e=="function"?e:Br,{filter:r,prefix:s,suffix:u,separator:a,appendNewLineIfNotEmpty:c,skipNewLineAfterLastItem:h}=typeof e=="object"?e:t,l=typeof s=="function"?s:()=>s,f=typeof u=="function"?u:()=>u;return Qu(i,(m,C,F,w)=>{if(r&&!r(C,F,w))return m;const p=n(C,F,w);return p===void 0?m:(m??(m=new fe)).append(l(C,F,w)).append(p).append(f(C,F,w)).appendIf(!w,a).appendNewLineIfNotEmptyIf(!m.isEmpty()&&!!c&&(!w||!h))})}function Qu(i,e,t){const n=i[Symbol.iterator]();let r=n.next(),s=0,u=t;for(;!r.done;){const a=n.next();u=e(u,r.value,s,!!a.done),r=a,s++}return u}const Xu=i=>i.charAt(0).toLocaleUpperCase()+i.slice(1),Zu=i=>i.split(".").map(Xu).join(""),eo=i=>Zu(i.parent?i.id.slice(i.parent.length+1):i.id),to=({autoLayout:i})=>{switch(i.direction){case"TB":return"down";case"BT":return"up";case"LR":return"right";case"RL":return"left"}},no=({shape:i})=>{switch(i){case"queue":case"cylinder":case"rectangle":case"person":return i;case"storage":return"stored_data";case"mobile":case"browser":return"rectangle"}};function Or(i){const{nodes:e,edges:t}=i,n=new Map,r=(u,a)=>{const c=eo(u),h=(a?a+".":"")+c;n.set(u.id,h);const l=JSON.stringify(u.title),f=no(u);return new fe().append(c,": {",G).indent({indentedChildren:m=>m.append("label: ",l,G).appendIf(f!=="rectangle","shape: ",f,G).appendIf(u.children.length>0,G,Se(e.filter(C=>C.parent===u.id),C=>r(C,h))),indentation:2}).append("}",G)},s=u=>new fe().append(n.get(u.source)," -> ",n.get(u.target)).append(a=>u.label&&a.append(": ",JSON.stringify(u.label)));return mt(new fe().append("direction: ",to(i),G,G).append(Se(e.filter(u=>gi(u.parent)),u=>r(u),{appendNewLineIfNotEmpty:!0})).appendIf(t.length>0,G,Se(t,u=>s(u),{appendNewLineIfNotEmpty:!0})))}const io=i=>i.charAt(0).toLocaleUpperCase()+i.slice(1),ro=i=>i.split(".").map(io).join(""),so=i=>ro(i.parent?i.id.slice(i.parent.length+1):i.id),uo=({shape:i})=>{switch(i){case"queue":case"cylinder":return["[(",")]"];case"person":return["[fa:fa-user ","]"];case"storage":return["([","])"];case"mobile":case"browser":case"rectangle":return["[","]"]}};function _r(i){const{nodes:e,edges:t}=i,n=new Map,r=(u,a)=>{const c=so(u),h=(a?a+".":"")+c;n.set(u.id,h);const l=u.title.replaceAll(`
69
+ `,"\\n"),f=uo(u),m=new fe;return u.children.length>0?m.append("subgraph ",h,"[",JSON.stringify(u.title),"]",G).indent({indentedChildren:[Se(e.filter(C=>C.parent===u.id),C=>r(C,h),{appendNewLineIfNotEmpty:!0})],indentation:2}).append("end",G):m.append(h,f[0],l,f[1]),m},s=u=>new fe().append(n.get(u.source)," -.",u.label?' "'+u.label.replaceAll(`
70
+ `,"\\n")+'" .-':"-","> ",n.get(u.target));return mt(new fe().appendIf(i.title!==null&&i.title.length>0,"---",G,`title: ${JSON.stringify(i.title)}`,G,"---",G).append("graph ",i.autoLayout.direction,G).indent({indentedChildren:u=>{u.append(Se(e.filter(a=>gi(a.parent)),a=>r(a),{appendNewLineIfNotEmpty:!0})).appendIf(t.length>0,Se(t,a=>s(a),{appendNewLineIfNotEmpty:!0}))},indentation:2}))}var oo=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/,ao=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/,co=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/,Kn={Space_Separator:oo,ID_Start:ao,ID_Continue:co},ae={isSpaceSeparator(i){return typeof i=="string"&&Kn.Space_Separator.test(i)},isIdStartChar(i){return typeof i=="string"&&(i>="a"&&i<="z"||i>="A"&&i<="Z"||i==="$"||i==="_"||Kn.ID_Start.test(i))},isIdContinueChar(i){return typeof i=="string"&&(i>="a"&&i<="z"||i>="A"&&i<="Z"||i>="0"&&i<="9"||i==="$"||i==="_"||i==="\u200C"||i==="\u200D"||Kn.ID_Continue.test(i))},isDigit(i){return typeof i=="string"&&/[0-9]/.test(i)},isHexDigit(i){return typeof i=="string"&&/[0-9A-Fa-f]/.test(i)}};let Qn,Ae,He,gn,et,Me,ge,Xn,zt;var lo=function(e,t){Qn=String(e),Ae="start",He=[],gn=0,et=1,Me=0,ge=void 0,Xn=void 0,zt=void 0;do ge=fo(),mo[Ae]();while(ge.type!=="eof");return typeof t=="function"?Zn({"":zt},"",t):zt};function Zn(i,e,t){const n=i[e];if(n!=null&&typeof n=="object")if(Array.isArray(n))for(let r=0;r<n.length;r++){const s=String(r),u=Zn(n,s,t);u===void 0?delete n[s]:Object.defineProperty(n,s,{value:u,writable:!0,enumerable:!0,configurable:!0})}else for(const r in n){const s=Zn(n,r,t);s===void 0?delete n[r]:Object.defineProperty(n,r,{value:s,writable:!0,enumerable:!0,configurable:!0})}return t.call(i,e,n)}let H,z,Ht,Ge,Y;function fo(){for(H="default",z="",Ht=!1,Ge=1;;){Y=Ye();const i=Sr[H]();if(i)return i}}function Ye(){if(Qn[gn])return String.fromCodePoint(Qn.codePointAt(gn))}function E(){const i=Ye();return i===`
71
+ `?(et++,Me=0):i?Me+=i.length:Me++,i&&(gn+=i.length),i}const Sr={default(){switch(Y){case" ":case"\v":case"\f":case" ":case"\xA0":case"\uFEFF":case`
72
+ `:case"\r":case"\u2028":case"\u2029":E();return;case"/":E(),H="comment";return;case void 0:return E(),Z("eof")}if(ae.isSpaceSeparator(Y)){E();return}return Sr[Ae]()},comment(){switch(Y){case"*":E(),H="multiLineComment";return;case"/":E(),H="singleLineComment";return}throw ee(E())},multiLineComment(){switch(Y){case"*":E(),H="multiLineCommentAsterisk";return;case void 0:throw ee(E())}E()},multiLineCommentAsterisk(){switch(Y){case"*":E();return;case"/":E(),H="default";return;case void 0:throw ee(E())}E(),H="multiLineComment"},singleLineComment(){switch(Y){case`
73
+ `:case"\r":case"\u2028":case"\u2029":E(),H="default";return;case void 0:return E(),Z("eof")}E()},value(){switch(Y){case"{":case"[":return Z("punctuator",E());case"n":return E(),gt("ull"),Z("null",null);case"t":return E(),gt("rue"),Z("boolean",!0);case"f":return E(),gt("alse"),Z("boolean",!1);case"-":case"+":E()==="-"&&(Ge=-1),H="sign";return;case".":z=E(),H="decimalPointLeading";return;case"0":z=E(),H="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":z=E(),H="decimalInteger";return;case"I":return E(),gt("nfinity"),Z("numeric",1/0);case"N":return E(),gt("aN"),Z("numeric",NaN);case'"':case"'":Ht=E()==='"',z="",H="string";return}throw ee(E())},identifierNameStartEscape(){if(Y!=="u")throw ee(E());E();const i=ei();switch(i){case"$":case"_":break;default:if(!ae.isIdStartChar(i))throw Ir();break}z+=i,H="identifierName"},identifierName(){switch(Y){case"$":case"_":case"\u200C":case"\u200D":z+=E();return;case"\\":E(),H="identifierNameEscape";return}if(ae.isIdContinueChar(Y)){z+=E();return}return Z("identifier",z)},identifierNameEscape(){if(Y!=="u")throw ee(E());E();const i=ei();switch(i){case"$":case"_":case"\u200C":case"\u200D":break;default:if(!ae.isIdContinueChar(i))throw Ir();break}z+=i,H="identifierName"},sign(){switch(Y){case".":z=E(),H="decimalPointLeading";return;case"0":z=E(),H="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":z=E(),H="decimalInteger";return;case"I":return E(),gt("nfinity"),Z("numeric",Ge*(1/0));case"N":return E(),gt("aN"),Z("numeric",NaN)}throw ee(E())},zero(){switch(Y){case".":z+=E(),H="decimalPoint";return;case"e":case"E":z+=E(),H="decimalExponent";return;case"x":case"X":z+=E(),H="hexadecimal";return}return Z("numeric",Ge*0)},decimalInteger(){switch(Y){case".":z+=E(),H="decimalPoint";return;case"e":case"E":z+=E(),H="decimalExponent";return}if(ae.isDigit(Y)){z+=E();return}return Z("numeric",Ge*Number(z))},decimalPointLeading(){if(ae.isDigit(Y)){z+=E(),H="decimalFraction";return}throw ee(E())},decimalPoint(){switch(Y){case"e":case"E":z+=E(),H="decimalExponent";return}if(ae.isDigit(Y)){z+=E(),H="decimalFraction";return}return Z("numeric",Ge*Number(z))},decimalFraction(){switch(Y){case"e":case"E":z+=E(),H="decimalExponent";return}if(ae.isDigit(Y)){z+=E();return}return Z("numeric",Ge*Number(z))},decimalExponent(){switch(Y){case"+":case"-":z+=E(),H="decimalExponentSign";return}if(ae.isDigit(Y)){z+=E(),H="decimalExponentInteger";return}throw ee(E())},decimalExponentSign(){if(ae.isDigit(Y)){z+=E(),H="decimalExponentInteger";return}throw ee(E())},decimalExponentInteger(){if(ae.isDigit(Y)){z+=E();return}return Z("numeric",Ge*Number(z))},hexadecimal(){if(ae.isHexDigit(Y)){z+=E(),H="hexadecimalInteger";return}throw ee(E())},hexadecimalInteger(){if(ae.isHexDigit(Y)){z+=E();return}return Z("numeric",Ge*Number(z))},string(){switch(Y){case"\\":E(),z+=ho();return;case'"':if(Ht)return E(),Z("string",z);z+=E();return;case"'":if(!Ht)return E(),Z("string",z);z+=E();return;case`
74
74
  `:case"\r":throw ee(E());case"\u2028":case"\u2029":go(Y);break;case void 0:throw ee(E())}z+=E()},start(){switch(Y){case"{":case"[":return Z("punctuator",E())}H="value"},beforePropertyName(){switch(Y){case"$":case"_":z=E(),H="identifierName";return;case"\\":E(),H="identifierNameStartEscape";return;case"}":return Z("punctuator",E());case'"':case"'":Ht=E()==='"',H="string";return}if(ae.isIdStartChar(Y)){z+=E(),H="identifierName";return}throw ee(E())},afterPropertyName(){if(Y===":")return Z("punctuator",E());throw ee(E())},beforePropertyValue(){H="value"},afterPropertyValue(){switch(Y){case",":case"}":return Z("punctuator",E())}throw ee(E())},beforeArrayValue(){if(Y==="]")return Z("punctuator",E());H="value"},afterArrayValue(){switch(Y){case",":case"]":return Z("punctuator",E())}throw ee(E())},end(){throw ee(E())}};function Z(i,e){return{type:i,value:e,line:et,column:Me}}function gt(i){for(const e of i){if(Ye()!==e)throw ee(E());E()}}function ho(){switch(Ye()){case"b":return E(),"\b";case"f":return E(),"\f";case"n":return E(),`
75
75
  `;case"r":return E(),"\r";case"t":return E()," ";case"v":return E(),"\v";case"0":if(E(),ae.isDigit(Ye()))throw ee(E());return"\0";case"x":return E(),po();case"u":return E(),ei();case`
76
76
  `:case"\u2028":case"\u2029":return E(),"";case"\r":return E(),Ye()===`
77
- `&&E(),"";case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":throw ee(E());case void 0:throw ee(E())}return E()}function po(){let i="",e=Ye();if(!ae.isHexDigit(e)||(i+=E(),e=Ye(),!ae.isHexDigit(e)))throw ee(E());return i+=E(),String.fromCodePoint(parseInt(i,16))}function ei(){let i="",e=4;for(;e-- >0;){const t=Ye();if(!ae.isHexDigit(t))throw ee(E());i+=E()}return String.fromCodePoint(parseInt(i,16))}const mo={start(){if(ge.type==="eof")throw Dt();ti()},beforePropertyName(){switch(ge.type){case"identifier":case"string":Xn=ge.value,Ae="afterPropertyName";return;case"punctuator":Dn();return;case"eof":throw Dt()}},afterPropertyName(){if(ge.type==="eof")throw Dt();Ae="beforePropertyValue"},beforePropertyValue(){if(ge.type==="eof")throw Dt();ti()},beforeArrayValue(){if(ge.type==="eof")throw Dt();if(ge.type==="punctuator"&&ge.value==="]"){Dn();return}ti()},afterPropertyValue(){if(ge.type==="eof")throw Dt();switch(ge.value){case",":Ae="beforePropertyName";return;case"}":Dn()}},afterArrayValue(){if(ge.type==="eof")throw Dt();switch(ge.value){case",":Ae="beforeArrayValue";return;case"]":Dn()}},end(){}};function ti(){let i;switch(ge.type){case"punctuator":switch(ge.value){case"{":i={};break;case"[":i=[];break}break;case"null":case"boolean":case"numeric":case"string":i=ge.value;break}if(zt===void 0)zt=i;else{const e=He[He.length-1];Array.isArray(e)?e.push(i):Object.defineProperty(e,Xn,{value:i,writable:!0,enumerable:!0,configurable:!0})}if(i!==null&&typeof i=="object")He.push(i),Array.isArray(i)?Ae="beforeArrayValue":Ae="beforePropertyName";else{const e=He[He.length-1];e==null?Ae="end":Array.isArray(e)?Ae="afterArrayValue":Ae="afterPropertyValue"}}function Dn(){He.pop();const i=He[He.length-1];i==null?Ae="end":Array.isArray(i)?Ae="afterArrayValue":Ae="afterPropertyValue"}function ee(i){return Cn(i===void 0?`JSON5: invalid end of input at ${et}:${Me}`:`JSON5: invalid character '${xs(i)}' at ${et}:${Me}`)}function Dt(){return Cn(`JSON5: invalid end of input at ${et}:${Me}`)}function Is(){return Me-=5,Cn(`JSON5: invalid identifier character at ${et}:${Me}`)}function go(i){console.warn(`JSON5: '${xs(i)}' in strings is not valid ECMAScript; consider escaping`)}function xs(i){const e={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};if(e[i])return e[i];if(i<" "){const t=i.charCodeAt(0).toString(16);return"\\x"+("00"+t).substring(t.length)}return i}function Cn(i){const e=new SyntaxError(i);return e.lineNumber=et,e.columnNumber=Me,e}var Do=function(e,t,n){const s=[];let r="",u,a,c="",h;if(t!=null&&typeof t=="object"&&!Array.isArray(t)&&(n=t.space,h=t.quote,t=t.replacer),typeof t=="function")a=t;else if(Array.isArray(t)){u=[];for(const w of t){let p;typeof w=="string"?p=w:(typeof w=="number"||w instanceof String||w instanceof Number)&&(p=String(w)),p!==void 0&&u.indexOf(p)<0&&u.push(p)}}return n instanceof Number?n=Number(n):n instanceof String&&(n=String(n)),typeof n=="number"?n>0&&(n=Math.min(10,Math.floor(n)),c=" ".substr(0,n)):typeof n=="string"&&(c=n.substr(0,10)),l("",{"":e});function l(w,p){let y=p[w];switch(y!=null&&(typeof y.toJSON5=="function"?y=y.toJSON5(w):typeof y.toJSON=="function"&&(y=y.toJSON(w))),a&&(y=a.call(p,w,y)),y instanceof Number?y=Number(y):y instanceof String?y=String(y):y instanceof Boolean&&(y=y.valueOf()),y){case null:return"null";case!0:return"true";case!1:return"false"}if(typeof y=="string")return f(y);if(typeof y=="number")return String(y);if(typeof y=="object")return Array.isArray(y)?F(y):m(y)}function f(w){const p={"'":.1,'"':.2},y={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};let B="";for(let L=0;L<w.length;L++){const U=w[L];switch(U){case"'":case'"':p[U]++,B+=U;continue;case"\0":if(ae.isDigit(w[L+1])){B+="\\x00";continue}}if(y[U]){B+=y[U];continue}if(U<" "){let Ce=U.charCodeAt(0).toString(16);B+="\\x"+("00"+Ce).substring(Ce.length);continue}B+=U}const M=h||Object.keys(p).reduce((L,U)=>p[L]<p[U]?L:U);return B=B.replace(new RegExp(M,"g"),y[M]),M+B+M}function m(w){if(s.indexOf(w)>=0)throw TypeError("Converting circular structure to JSON5");s.push(w);let p=r;r=r+c;let y=u||Object.keys(w),B=[];for(const L of y){const U=l(L,w);if(U!==void 0){let Ce=C(L)+":";c!==""&&(Ce+=" "),Ce+=U,B.push(Ce)}}let M;if(B.length===0)M="{}";else{let L;if(c==="")L=B.join(","),M="{"+L+"}";else{let U=`,
78
- `+r;L=B.join(U),M=`{
79
- `+r+L+`,
80
- `+p+"}"}}return s.pop(),r=p,M}function C(w){if(w.length===0)return f(w);const p=String.fromCodePoint(w.codePointAt(0));if(!ae.isIdStartChar(p))return f(w);for(let y=p.length;y<w.length;y++)if(!ae.isIdContinueChar(String.fromCodePoint(w.codePointAt(y))))return f(w);return w}function F(w){if(s.indexOf(w)>=0)throw TypeError("Converting circular structure to JSON5");s.push(w);let p=r;r=r+c;let y=[];for(let M=0;M<w.length;M++){const L=l(String(M),w);y.push(L!==void 0?L:"null")}let B;if(y.length===0)B="[]";else if(c==="")B="["+y.join(",")+"]";else{let M=`,
81
- `+r,L=y.join(M);B=`[
82
- `+r+L+`,
83
- `+p+"]"}return s.pop(),r=p,B}};const Co={parse:lo,stringify:Do};var Bt=Co;function wo(i){return Se(i,e=>Ze`${Bt.stringify(e.id)}`,{separator:" | "})}function Ao(i){const e=Array.from(i),t=new fe;return t.appendTemplate`
77
+ `&&E(),"";case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":throw ee(E());case void 0:throw ee(E())}return E()}function po(){let i="",e=Ye();if(!ae.isHexDigit(e)||(i+=E(),e=Ye(),!ae.isHexDigit(e)))throw ee(E());return i+=E(),String.fromCodePoint(parseInt(i,16))}function ei(){let i="",e=4;for(;e-- >0;){const t=Ye();if(!ae.isHexDigit(t))throw ee(E());i+=E()}return String.fromCodePoint(parseInt(i,16))}const mo={start(){if(ge.type==="eof")throw Dt();ti()},beforePropertyName(){switch(ge.type){case"identifier":case"string":Xn=ge.value,Ae="afterPropertyName";return;case"punctuator":Dn();return;case"eof":throw Dt()}},afterPropertyName(){if(ge.type==="eof")throw Dt();Ae="beforePropertyValue"},beforePropertyValue(){if(ge.type==="eof")throw Dt();ti()},beforeArrayValue(){if(ge.type==="eof")throw Dt();if(ge.type==="punctuator"&&ge.value==="]"){Dn();return}ti()},afterPropertyValue(){if(ge.type==="eof")throw Dt();switch(ge.value){case",":Ae="beforePropertyName";return;case"}":Dn()}},afterArrayValue(){if(ge.type==="eof")throw Dt();switch(ge.value){case",":Ae="beforeArrayValue";return;case"]":Dn()}},end(){}};function ti(){let i;switch(ge.type){case"punctuator":switch(ge.value){case"{":i={};break;case"[":i=[];break}break;case"null":case"boolean":case"numeric":case"string":i=ge.value;break}if(zt===void 0)zt=i;else{const e=He[He.length-1];Array.isArray(e)?e.push(i):Object.defineProperty(e,Xn,{value:i,writable:!0,enumerable:!0,configurable:!0})}if(i!==null&&typeof i=="object")He.push(i),Array.isArray(i)?Ae="beforeArrayValue":Ae="beforePropertyName";else{const e=He[He.length-1];e==null?Ae="end":Array.isArray(e)?Ae="afterArrayValue":Ae="afterPropertyValue"}}function Dn(){He.pop();const i=He[He.length-1];i==null?Ae="end":Array.isArray(i)?Ae="afterArrayValue":Ae="afterPropertyValue"}function ee(i){return Cn(i===void 0?`JSON5: invalid end of input at ${et}:${Me}`:`JSON5: invalid character '${xr(i)}' at ${et}:${Me}`)}function Dt(){return Cn(`JSON5: invalid end of input at ${et}:${Me}`)}function Ir(){return Me-=5,Cn(`JSON5: invalid identifier character at ${et}:${Me}`)}function go(i){console.warn(`JSON5: '${xr(i)}' in strings is not valid ECMAScript; consider escaping`)}function xr(i){const e={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};if(e[i])return e[i];if(i<" "){const t=i.charCodeAt(0).toString(16);return"\\x"+("00"+t).substring(t.length)}return i}function Cn(i){const e=new SyntaxError(i);return e.lineNumber=et,e.columnNumber=Me,e}var Do=function(e,t,n){const r=[];let s="",u,a,c="",h;if(t!=null&&typeof t=="object"&&!Array.isArray(t)&&(n=t.space,h=t.quote,t=t.replacer),typeof t=="function")a=t;else if(Array.isArray(t)){u=[];for(const w of t){let p;typeof w=="string"?p=w:(typeof w=="number"||w instanceof String||w instanceof Number)&&(p=String(w)),p!==void 0&&u.indexOf(p)<0&&u.push(p)}}return n instanceof Number?n=Number(n):n instanceof String&&(n=String(n)),typeof n=="number"?n>0&&(n=Math.min(10,Math.floor(n)),c=" ".substr(0,n)):typeof n=="string"&&(c=n.substr(0,10)),l("",{"":e});function l(w,p){let y=p[w];switch(y!=null&&(typeof y.toJSON5=="function"?y=y.toJSON5(w):typeof y.toJSON=="function"&&(y=y.toJSON(w))),a&&(y=a.call(p,w,y)),y instanceof Number?y=Number(y):y instanceof String?y=String(y):y instanceof Boolean&&(y=y.valueOf()),y){case null:return"null";case!0:return"true";case!1:return"false"}if(typeof y=="string")return f(y);if(typeof y=="number")return String(y);if(typeof y=="object")return Array.isArray(y)?F(y):m(y)}function f(w){const p={"'":.1,'"':.2},y={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};let B="";for(let L=0;L<w.length;L++){const U=w[L];switch(U){case"'":case'"':p[U]++,B+=U;continue;case"\0":if(ae.isDigit(w[L+1])){B+="\\x00";continue}}if(y[U]){B+=y[U];continue}if(U<" "){let Ce=U.charCodeAt(0).toString(16);B+="\\x"+("00"+Ce).substring(Ce.length);continue}B+=U}const M=h||Object.keys(p).reduce((L,U)=>p[L]<p[U]?L:U);return B=B.replace(new RegExp(M,"g"),y[M]),M+B+M}function m(w){if(r.indexOf(w)>=0)throw TypeError("Converting circular structure to JSON5");r.push(w);let p=s;s=s+c;let y=u||Object.keys(w),B=[];for(const L of y){const U=l(L,w);if(U!==void 0){let Ce=C(L)+":";c!==""&&(Ce+=" "),Ce+=U,B.push(Ce)}}let M;if(B.length===0)M="{}";else{let L;if(c==="")L=B.join(","),M="{"+L+"}";else{let U=`,
78
+ `+s;L=B.join(U),M=`{
79
+ `+s+L+`,
80
+ `+p+"}"}}return r.pop(),s=p,M}function C(w){if(w.length===0)return f(w);const p=String.fromCodePoint(w.codePointAt(0));if(!ae.isIdStartChar(p))return f(w);for(let y=p.length;y<w.length;y++)if(!ae.isIdContinueChar(String.fromCodePoint(w.codePointAt(y))))return f(w);return w}function F(w){if(r.indexOf(w)>=0)throw TypeError("Converting circular structure to JSON5");r.push(w);let p=s;s=s+c;let y=[];for(let M=0;M<w.length;M++){const L=l(String(M),w);y.push(L!==void 0?L:"null")}let B;if(y.length===0)B="[]";else if(c==="")B="["+y.join(",")+"]";else{let M=`,
81
+ `+s,L=y.join(M);B=`[
82
+ `+s+L+`,
83
+ `+p+"]"}return r.pop(),s=p,B}};const Co={parse:lo,stringify:Do};var Bt=Co;function wo(i){return Se(i,e=>Ze`${Bt.stringify(e.id)}`,{separator:" | "})}function Ao(i){const e=Array.from(i),t=new fe;return t.appendTemplate`
84
84
  /******************************************************************************
85
85
  * This file was generated
86
86
  * DO NOT EDIT MANUALLY!
@@ -94,7 +94,7 @@ ${F.join(`
94
94
  `.append(G,G),e.length===0?(t.append("export {}",G),mt(t)):(t.appendTemplate`
95
95
  export type LikeC4ViewId = ${wo(e)};
96
96
  export const LikeC4Views = {
97
- `.indent({indentation:2,indentedChildren(n){n.appendNewLineIf(e.length>1).append(Se(e,s=>Ze`${Bt.stringify(s.id)}: (${Bt.stringify(s)} as unknown) as DiagramView`,{separator:",",appendNewLineIfNotEmpty:!0}))}}).append("} as const satisfies Record<LikeC4ViewId, DiagramView>",G,G).appendTemplate`
97
+ `.indent({indentation:2,indentedChildren(n){n.appendNewLineIf(e.length>1).append(Se(e,r=>Ze`${Bt.stringify(r.id)}: (${Bt.stringify(r)} as unknown) as DiagramView`,{separator:",",appendNewLineIfNotEmpty:!0}))}}).append("} as const satisfies Record<LikeC4ViewId, DiagramView>",G,G).appendTemplate`
98
98
  export type LikeC4Views = typeof LikeC4Views
99
99
 
100
100
  export function isLikeC4ViewId(value: unknown): value is LikeC4ViewId {
@@ -117,7 +117,7 @@ ${F.join(`
117
117
  switch (viewId) {
118
118
  `.appendNewLine().indent({indentation:4,indentedChildren(t){t.append(Se(i,n=>Ze`
119
119
  case ${JSON.stringify(n.id)}: {
120
- return ${JSON.stringify(Os(n))}
120
+ return ${JSON.stringify(Or(n))}
121
121
  }
122
122
  `,{appendNewLineIfNotEmpty:!0})).appendTemplate`
123
123
  default: {
@@ -155,7 +155,7 @@ ${F.join(`
155
155
  default: {
156
156
  throw new Error('Unknown viewId: ' + viewId)
157
157
  }
158
- `}}).append(G," }",G,"}",G,G),mt(e)}function Fo(i){const e=Qs(i.flatMap(s=>s.nodes.map(r=>r.icon)),Di(Zs),Di(s=>Ci(s)&&!s.toLowerCase().startsWith("http")),Xs()).sort(),{imports:t,cases:n}=e.reduce((s,r,u)=>{const[a,c]=r.split(":"),h="Icon"+u.toString().padStart(2,"0");return s.imports.push(`import ${h} from 'likec4/icons/${a}/${c}'`),s.cases.push(` '${a}:${c}': ${h}`),s},{imports:[],cases:[]});return`
158
+ `}}).append(G," }",G,"}",G,G),mt(e)}function Fo(i){const e=Qr(i.flatMap(r=>r.nodes.map(s=>s.icon)),Di(Zr),Di(r=>Ci(r)&&!r.toLowerCase().startsWith("http")),Xr()).sort(),{imports:t,cases:n}=e.reduce((r,s,u)=>{const[a,c]=s.split(":"),h="Icon"+u.toString().padStart(2,"0");return r.imports.push(`import ${h} from 'likec4/icons/${a}/${c}'`),r.cases.push(` '${a}:${c}': ${h}`),r},{imports:[],cases:[]});return`
159
159
  ${t.join(`
160
160
  `)}
161
161
 
@@ -218,7 +218,7 @@ if (import.meta.hot) {
218
218
  switch (viewId) {
219
219
  `.appendNewLine().indent({indentation:4,indentedChildren(t){t.append(Se(i,n=>Ze`
220
220
  case ${JSON.stringify(n.id)}: {
221
- return ${JSON.stringify(_s(n))}
221
+ return ${JSON.stringify(_r(n))}
222
222
  }
223
223
  `,{appendNewLineIfNotEmpty:!0})).appendTemplate`
224
224
  default: {
@@ -227,7 +227,7 @@ if (import.meta.hot) {
227
227
  `}}).append(G," }",G).appendTemplate`
228
228
  }
229
229
 
230
- `.append(G,G),mt(e)}function $s(i){return`
230
+ `.append(G,G),mt(e)}function $r(i){return`
231
231
  import { nano } from 'likec4/react'
232
232
 
233
233
  export const $graph = nano.atom(${Bt.stringify(i,null,2)})
@@ -249,7 +249,7 @@ if (import.meta.hot) {
249
249
  }
250
250
  })
251
251
  }
252
- `}function Bo(i,e){const{imports:t,cases:n}=i.reduce((s,{id:r},u)=>{const a=Q(e,`${r}.png`);if(!st(a))return s;const c="Png"+u.toString().padStart(2,"0");return s.imports.push(`import ${c} from 'likec4/previews/${r}.png'`),s.cases.push(` ${JSON.stringify(r)}: ${c}`),s},{imports:[],cases:[]});return`
252
+ `}function Bo(i,e){const{imports:t,cases:n}=i.reduce((r,{id:s},u)=>{const a=Q(e,`${s}.png`);if(!rt(a))return r;const c="Png"+u.toString().padStart(2,"0");return r.imports.push(`import ${c} from 'likec4/previews/${s}.png'`),r.cases.push(` ${JSON.stringify(s)}: ${c}`),r},{imports:[],cases:[]});return`
253
253
  import { nano } from 'likec4/react'
254
254
  // assets dir: ${e}
255
255
 
@@ -291,7 +291,7 @@ if (import.meta.hot) {
291
291
  }
292
292
  })
293
293
  }
294
- `}const Oo={id:"virtual:likec4/dot-sources",virtualId:"\0likec4-plugin/dot-sources.js",async load({likec4:i,logger:e}){e.info(b.dim("generating virtual:likec4/dot-sources"));const t=await i.views.viewsAsGraphvizOut(),n=tr(t,({id:s,svg:r,dot:u})=>[s,{dot:u,svg:r}]);return bo(n)}},_o={id:"virtual:likec4/d2-sources",virtualId:"\0likec4-plugin/d2-sources.js",async load({likec4:i,logger:e}){e.info(b.dim("generating virtual:likec4/d2-sources"));const t=await i.views.computedViews();return Eo(t)}},So={id:"virtual:likec4/mmd-sources",virtualId:"\0likec4-plugin/mmd-sources.js",async load({likec4:i,logger:e}){e.info(b.dim("generating virtual:likec4/mmd-sources"));const t=await i.views.computedViews();return vo(t)}},Io={id:"virtual:likec4/icons",virtualId:"\0likec4-plugin/icons.js",async load({likec4:i,logger:e}){e.info(b.dim("generating virtual:likec4/icons"));const t=await i.views.computedViews();return Fo(t)}},xo={id:"virtual:likec4/overview-graph",virtualId:"\0likec4-plugin/overview-graph.js",async load({likec4:i,logger:e,useOverviewGraph:t}){if(t===!0)try{e.info(b.dim("generating virtual:likec4/overview-graph"));const n=await i.views.overviewGraph();return $s(n)}catch(n){e.error(n)}return e.info(b.dim("generating empty virtual:likec4/overview-graph")),$s({nodes:[],edges:[],bounds:{x:0,y:0,width:10,height:10}})}},js={id:"virtual:likec4/previews",virtualId:"\0likec4-plugin/previews.js",async load({likec4:i,logger:e,assetsDir:t}){e.info(b.dim("generating virtual:likec4/previews"));const n=await i.views.computedViews();return Bo(n,t)}},$o={id:"virtual:likec4/model",virtualId:"\0likec4-plugin/model.js",async load({likec4:i,logger:e,assetsDir:t}){e.info(b.dim("generating virtual:likec4/model"));const n=await i.layoutedModel();return yo(n)}},ni=[Io,Oo,_o,So,xo,js,$o],jo=i=>{const e=i.toLowerCase();return e.endsWith(".c4")||e.endsWith(".likec4")||e.endsWith(".like-c4")};function ii({useOverviewGraph:i=!1,languageServices:e}){let t,n=e.workspace;return{name:"vite-plugin-likec4",configResolved(s){if(t=s.logger,i){const r=s.resolve.alias.find(u=>u.find==="likec4/previews")?.replacement;r?(n=r,t.info(b.dim("likec4/previews alias")+" "+b.dim(n))):t.warn("likec4/previews alias not found")}},resolveId(s){const r=ni.find(u=>u.id===s);return r?r.virtualId:null},async load(s){const r=ni.find(u=>u.virtualId===s);return r?await r.load({logger:t,likec4:e,assetsDir:n,useOverviewGraph:i}):null},configureServer(s){const r=er(1),u=()=>{r.clearQueue(),r(async()=>{const[h]=e.getErrors();if(h){s.ws.send({type:"error",err:{name:"LikeC4ValidationError",message:"Validation error: "+h.message.slice(0,500),stack:"",plugin:"vite-plugin-likec4",loc:{file:h.sourceFsPath,line:h.range.start.line+1,column:h.range.start.character+1}}});return}for(const l of ni){const f=s.moduleGraph.getModuleById(l.virtualId);if(f&&f.importers.size>0){t.info(`${b.green("trigger hmr")} ${b.dim(f.url)}`);try{await s.reloadModule(f)}catch(m){t.error(m)}}}})},a=e.workspace;t.info(`${b.dim("watch")} ${a}`);const c=h=>l=>{jo(l)&&e.notifyUpdate({[h]:l})};if(s.watcher.add(a).on("add",c("changed")).on("change",c("changed")).on("unlink",c("removed")),i&&!n.startsWith(e.workspace)){t.info(`${b.dim("watch")} ${n}`);const h=()=>{const l=s.moduleGraph.getModuleById(js.virtualId);l&&l.importers.size>0&&s.reloadModule(l)};s.watcher.add(n).on("add",h).on("change",h).on("unlink",h)}e.onModelUpdate(()=>{De.debug("likec4 model update"),u()})}}}const si=_t(Fr(import.meta.url)),Po=`
294
+ `}const Oo={id:"virtual:likec4/dot-sources",virtualId:"\0likec4-plugin/dot-sources.js",async load({likec4:i,logger:e}){e.info(b.dim("generating virtual:likec4/dot-sources"));const t=await i.views.viewsAsGraphvizOut(),n=ts(t,({id:r,svg:s,dot:u})=>[r,{dot:u,svg:s}]);return bo(n)}},_o={id:"virtual:likec4/d2-sources",virtualId:"\0likec4-plugin/d2-sources.js",async load({likec4:i,logger:e}){e.info(b.dim("generating virtual:likec4/d2-sources"));const t=await i.views.computedViews();return Eo(t)}},So={id:"virtual:likec4/mmd-sources",virtualId:"\0likec4-plugin/mmd-sources.js",async load({likec4:i,logger:e}){e.info(b.dim("generating virtual:likec4/mmd-sources"));const t=await i.views.computedViews();return vo(t)}},Io={id:"virtual:likec4/icons",virtualId:"\0likec4-plugin/icons.js",async load({likec4:i,logger:e}){e.info(b.dim("generating virtual:likec4/icons"));const t=await i.views.computedViews();return Fo(t)}},xo={id:"virtual:likec4/overview-graph",virtualId:"\0likec4-plugin/overview-graph.js",async load({likec4:i,logger:e,useOverviewGraph:t}){if(t===!0)try{e.info(b.dim("generating virtual:likec4/overview-graph"));const n=await i.views.overviewGraph();return $r(n)}catch(n){e.error(n)}return e.info(b.dim("generating empty virtual:likec4/overview-graph")),$r({nodes:[],edges:[],bounds:{x:0,y:0,width:10,height:10}})}},jr={id:"virtual:likec4/previews",virtualId:"\0likec4-plugin/previews.js",async load({likec4:i,logger:e,assetsDir:t}){e.info(b.dim("generating virtual:likec4/previews"));const n=await i.views.computedViews();return Bo(n,t)}},$o={id:"virtual:likec4/model",virtualId:"\0likec4-plugin/model.js",async load({likec4:i,logger:e,assetsDir:t}){e.info(b.dim("generating virtual:likec4/model"));const n=await i.layoutedModel();return yo(n)}},ni=[Io,Oo,_o,So,xo,jr,$o],jo=i=>{const e=i.toLowerCase();return e.endsWith(".c4")||e.endsWith(".likec4")||e.endsWith(".like-c4")};function ii({useOverviewGraph:i=!1,languageServices:e}){let t,n=e.workspace;return{name:"vite-plugin-likec4",configResolved(r){if(t=r.logger,i){const s=r.resolve.alias.find(u=>u.find==="likec4/previews")?.replacement;s?(n=s,t.info(b.dim("likec4/previews alias")+" "+b.dim(n))):t.warn("likec4/previews alias not found")}},resolveId(r){const s=ni.find(u=>u.id===r);return s?s.virtualId:null},async load(r){const s=ni.find(u=>u.virtualId===r);return s?await s.load({logger:t,likec4:e,assetsDir:n,useOverviewGraph:i}):null},configureServer(r){const s=es(1),u=()=>{s.clearQueue(),s(async()=>{const[h]=e.getErrors();if(h){r.ws.send({type:"error",err:{name:"LikeC4ValidationError",message:"Validation error: "+h.message.slice(0,500),stack:"",plugin:"vite-plugin-likec4",loc:{file:h.sourceFsPath,line:h.range.start.line+1,column:h.range.start.character+1}}});return}for(const l of ni){const f=r.moduleGraph.getModuleById(l.virtualId);if(f&&f.importers.size>0){t.info(`${b.green("trigger hmr")} ${b.dim(f.url)}`);try{await r.reloadModule(f)}catch(m){t.error(m)}}}})},a=e.workspace;t.info(`${b.dim("watch")} ${a}`);const c=h=>l=>{jo(l)&&e.notifyUpdate({[h]:l})};if(r.watcher.add(a).on("add",c("changed")).on("change",c("changed")).on("unlink",c("removed")),i&&!n.startsWith(e.workspace)){t.info(`${b.dim("watch")} ${n}`);const h=()=>{const l=r.moduleGraph.getModuleById(jr.virtualId);l&&l.importers.size>0&&r.reloadModule(l)};r.watcher.add(n).on("add",h).on("change",h).on("unlink",h)}e.onModelUpdate(()=>{De.debug("likec4 model update"),u()})}}}const ri=_t(Fs(import.meta.url)),Po=`
295
295
  /* prettier-ignore-start */
296
296
  /* eslint-disable */
297
297
 
@@ -303,17 +303,17 @@ if (import.meta.hot) {
303
303
  `.trimStart(),No=`
304
304
 
305
305
  /* prettier-ignore-end */
306
- `,ri={banner:Po,footer:No};function ui(){const i=[Q(si,"../__app__"),Q(si,"../../__app__"),Q(si,"../../dist/__app__")],e=nr(i,st);if(!e)throw De.error(`likec4 app root does not exist, tried:
306
+ `,si={banner:Po,footer:No};function ui(){const i=[Q(ri,"../__app__"),Q(ri,"../../__app__"),Q(ri,"../../dist/__app__")],e=ns(i,rt);if(!e)throw De.error(`likec4 app root does not exist, tried:
307
307
  ${i.join(`
308
308
  `)}`),new Error("likec4 app root does not exist");return e}async function oi(){const i=await Qt(St(Xt(),".likec4-public-"));return await At(St(i,"likec4-views.js"),`// generated by likec4
309
- `),i}const ai=1e4,ci=async({languageServices:i,likec4AssetsDir:e,...t})=>{const n=t.customLogger??ke("c4:vite"),s=ui(),r=t?.useOverviewGraph===!0;n.info(`${b.cyan("likec4 app root")} ${b.dim(s)}`);const u=t.outputDir??Q(i.workspace,"dist");n.info(b.cyan("output")+" "+b.dim(u));let a="/";t.base&&(a=ir(t.base),sr(a)||(a=rr(a))),a!=="/"&&n.info(`${b.green("app base url")} ${b.dim(a)}`);const c=t.webcomponentPrefix??"likec4";return{isDev:!1,likec4AssetsDir:e,webcomponentPrefix:c,root:s,languageServices:i,clearScreen:!1,base:a,resolve:{alias:{"likec4/previews":e}},configFile:!1,mode:"production",optimizeDeps:{include:["likec4/react","react","react-dom","react/jsx-runtime","react/jsx-dev-runtime","react-dom/client"]},define:{WEBCOMPONENT_PREFIX:JSON.stringify(c),__USE_STYLE_BUNDLE__:"false",__USE_OVERVIEW_GRAPH__:r?"true":"false",__USE_HASH_HISTORY__:t?.useHashHistory===!0?"true":"false","process.env.NODE_ENV":'"production"'},build:{outDir:u,modulePreload:!1,emptyOutDir:!1,cssCodeSplit:!1,sourcemap:!1,cssMinify:!0,minify:!0,copyPublicDir:!0,chunkSizeWarningLimit:ai,commonjsOptions:{defaultIsModuleExports:h=>h.includes("react")?!0:"auto"},rollupOptions:{treeshake:{preset:"recommended"},output:{hoistTransitiveImports:!1,compact:!0}}},customLogger:n,plugins:[ii({languageServices:i,useOverviewGraph:r})]}};async function li({languageServices:i,outDir:e,base:t,webcomponentPrefix:n="likec4",filename:s="likec4-views.js"}){const r=ke("c4:lib"),u=ui();return r.info(b.cyan("outDir")+" "+b.dim(e)),{root:u,clearScreen:!1,base:t,configFile:!1,publicDir:!1,mode:"production",define:{WEBCOMPONENT_PREFIX:JSON.stringify(n),"process.env.NODE_ENV":'"production"'},resolve:{alias:{"likec4/icons":Q(u,"../../icons")}},esbuild:{...ri},build:{outDir:e,emptyOutDir:!1,sourcemap:!1,minify:!0,assetsInlineLimit:100*1024,chunkSizeWarningLimit:ai,lib:{entry:"webcomponent/webcomponent.js",fileName(a,c){return s},formats:["iife"],name:"LikeC4Views"},commonjsOptions:{defaultIsModuleExports:a=>a.includes("react")?!0:"auto",requireReturnsDefault:"auto"},rollupOptions:{treeshake:{preset:"recommended"},output:{format:"iife",hoistTransitiveImports:!1,compact:!0}}},customLogger:r,plugins:[ii({languageServices:i,useOverviewGraph:!1})]}}const Lo=["favicon.ico","robots.txt"],Mo=async({buildWebcomponent:i=!0,webcomponentPrefix:e="likec4",languageServices:t,likec4AssetsDir:n,...s})=>{n??=await Qt(St(Xt(),".likec4-assets-"));const{isDev:r,...u}=await ci({...s,languageServices:t,likec4AssetsDir:n,webcomponentPrefix:e}),a=await oi();for(const l of Lo){const f=Q(u.root,l);st(f)&&Si(f,Q(a,l))}const c=await t.diagrams();if(c.length===0)throw process.exitCode=1,new Error("no views found");if(c.forEach(l=>{l.hasLayoutDrift&&u.customLogger.warn(b.yellow("drift detected, manual layout can not be applied, view:")+" "+b.red(l.id))}),i){const l=await li({webcomponentPrefix:e,languageServices:t,outDir:a,base:u.base});await It(l)}await It({...u,publicDir:a,mode:"production"});const h=Q(u.build.outDir,"index.html");st(h)&&Si(h,Q(u.build.outDir,"404.html"))};function Ps(i){if(i.resolvedUrls)return wi(i.resolvedUrls.network)??wi(i.resolvedUrls.local)}function Ns(i){if(!i.resolvedUrls)throw new Error("Vite server is not ready, no resolvedUrls");De.box([b.green("LikeC4 served at:"),"",b.dim("Local: ")+i.resolvedUrls.local.join(`
309
+ `),i}const ai=1e4,ci=async({languageServices:i,likec4AssetsDir:e,...t})=>{const n=t.customLogger??ke("c4:vite"),r=ui(),s=t?.useOverviewGraph===!0;n.info(`${b.cyan("likec4 app root")} ${b.dim(r)}`);const u=t.outputDir??Q(i.workspace,"dist");n.info(b.cyan("output")+" "+b.dim(u));let a="/";t.base&&(a=is(t.base),rs(a)||(a=ss(a))),a!=="/"&&n.info(`${b.green("app base url")} ${b.dim(a)}`);const c=t.webcomponentPrefix??"likec4";return{isDev:!1,likec4AssetsDir:e,webcomponentPrefix:c,root:r,languageServices:i,clearScreen:!1,base:a,resolve:{alias:{"likec4/previews":e}},configFile:!1,mode:"production",optimizeDeps:{include:["likec4/react","react","react-dom","react/jsx-runtime","react/jsx-dev-runtime","react-dom/client"]},define:{WEBCOMPONENT_PREFIX:JSON.stringify(c),__USE_STYLE_BUNDLE__:"false",__USE_OVERVIEW_GRAPH__:s?"true":"false",__USE_HASH_HISTORY__:t?.useHashHistory===!0?"true":"false","process.env.NODE_ENV":'"production"'},build:{outDir:u,modulePreload:!1,emptyOutDir:!1,cssCodeSplit:!1,sourcemap:!1,cssMinify:!0,minify:!0,copyPublicDir:!0,chunkSizeWarningLimit:ai,commonjsOptions:{defaultIsModuleExports:h=>h.includes("react")?!0:"auto"},rollupOptions:{treeshake:{preset:"recommended"},output:{hoistTransitiveImports:!1,compact:!0}}},customLogger:n,plugins:[ii({languageServices:i,useOverviewGraph:s})]}};async function li({languageServices:i,outDir:e,base:t,webcomponentPrefix:n="likec4",filename:r="likec4-views.js"}){const s=ke("c4:lib"),u=ui();return s.info(b.cyan("outDir")+" "+b.dim(e)),{root:u,clearScreen:!1,base:t,configFile:!1,publicDir:!1,mode:"production",define:{WEBCOMPONENT_PREFIX:JSON.stringify(n),"process.env.NODE_ENV":'"production"'},esbuild:{...si},build:{outDir:e,emptyOutDir:!1,sourcemap:!1,minify:!0,assetsInlineLimit:100*1024,chunkSizeWarningLimit:ai,lib:{entry:"webcomponent/webcomponent.js",fileName(a,c){return r},formats:["iife"],name:"LikeC4Views"},commonjsOptions:{defaultIsModuleExports:a=>a.includes("react")?!0:"auto",requireReturnsDefault:"auto"},rollupOptions:{treeshake:{preset:"recommended"},output:{format:"iife",hoistTransitiveImports:!1,compact:!0}}},customLogger:s,plugins:[ii({languageServices:i,useOverviewGraph:!1})]}}const Lo=["favicon.ico","robots.txt"],Mo=async({buildWebcomponent:i=!0,webcomponentPrefix:e="likec4",languageServices:t,likec4AssetsDir:n,...r})=>{n??=await Qt(St(Xt(),".likec4-assets-"));const{isDev:s,...u}=await ci({...r,languageServices:t,likec4AssetsDir:n,webcomponentPrefix:e}),a=await oi();for(const l of Lo){const f=Q(u.root,l);rt(f)&&Si(f,Q(a,l))}const c=await t.diagrams();if(c.length===0)throw process.exitCode=1,new Error("no views found");if(c.forEach(l=>{l.hasLayoutDrift&&u.customLogger.warn(b.yellow("drift detected, manual layout can not be applied, view:")+" "+b.red(l.id))}),i){const l=await li({webcomponentPrefix:e,languageServices:t,outDir:a,base:u.base});await It(l)}await It({...u,publicDir:a,mode:"production"});const h=Q(u.build.outDir,"index.html");rt(h)&&Si(h,Q(u.build.outDir,"404.html"))};function Pr(i){if(i.resolvedUrls)return wi(i.resolvedUrls.network)??wi(i.resolvedUrls.local)}function Nr(i){if(!i.resolvedUrls)throw new Error("Vite server is not ready, no resolvedUrls");De.box([b.green("LikeC4 served at:"),"",b.dim("Local: ")+i.resolvedUrls.local.join(`
310
310
  `+"".padEnd(9," ")),b.dim("Network: ")+i.resolvedUrls.network.join(`
311
311
  `+"".padEnd(9," "))].join(`
312
- `))}class Ls extends Error{constructor(e){super(`${e} is locked`)}}const Ot={old:new Set,young:new Set},ko=1e3*15,wn=1024,An=65535;let Gt;const To=()=>{const i=br.networkInterfaces(),e=new Set([void 0,"0.0.0.0"]);for(const t of Object.values(i))for(const n of t)e.add(n.address);return e},Ms=i=>new Promise((e,t)=>{const n=Br.createServer();n.unref(),n.on("error",t),n.listen(i,()=>{const{port:s}=n.address();n.close(()=>{e(s)})})}),ks=async(i,e)=>{if(i.host||i.port===0)return Ms(i);for(const t of e)try{await Ms({port:i.port,host:t})}catch(n){if(!["EADDRNOTAVAIL","EINVAL"].includes(n.code))throw n}return i.port},Ro=function*(i){i&&(yield*i),yield 0};async function fi(i){let e,t=new Set;if(i&&(i.port&&(e=typeof i.port=="number"?[i.port]:i.port),i.exclude)){const s=i.exclude;if(typeof s[Symbol.iterator]!="function")throw new TypeError("The `exclude` option must be an iterable.");for(const r of s){if(typeof r!="number")throw new TypeError("Each item in the `exclude` option must be a number corresponding to the port you want excluded.");if(!Number.isSafeInteger(r))throw new TypeError(`Number ${r} in the exclude option is not a safe integer and can't be used`)}t=new Set(s)}Gt===void 0&&(Gt=setTimeout(()=>{Gt=void 0,Ot.old=Ot.young,Ot.young=new Set},ko),Gt.unref&&Gt.unref());const n=To();for(const s of Ro(e))try{if(t.has(s))continue;let r=await ks({...i,port:s},n);for(;Ot.old.has(r)||Ot.young.has(r);){if(s!==0)throw new Ls(s);r=await ks({...i,port:s},n)}return Ot.young.add(r),r}catch(r){if(!["EADDRINUSE","EACCES"].includes(r.code)&&!(r instanceof Ls))throw r}throw new Error("No available ports found")}function En(i,e){if(!Number.isInteger(i)||!Number.isInteger(e))throw new TypeError("`from` and `to` must be integer numbers");if(i<wn||i>An)throw new RangeError(`'from' must be between ${wn} and ${An}`);if(e<wn||e>An)throw new RangeError(`'to' must be between ${wn} and ${An}`);if(i>e)throw new RangeError("`to` must be greater than or equal to `from`");return function*(n,s){for(let r=n;r<=s;r++)yield r}(i,e)}async function Ts({buildWebcomponent:i=!0,hmr:e=!0,webcomponentPrefix:t="likec4",languageServices:n,likec4AssetsDir:s,openBrowser:r,...u}){s??=await Qt(St(Xt(),".likec4-assets-"));const{isDev:a,...c}=await ci({...u,languageServices:n,likec4AssetsDir:s,webcomponentPrefix:t}),h=await fi({port:[5173,...En(61e3,61010),...En(62002,62010)]}),l=await fi({port:En(24678,24690)}),f=await oi();let m;if(i){const F=await li({webcomponentPrefix:t,languageServices:n,outDir:f,base:c.base});m=It({...F,logLevel:"warn"}).catch(w=>(De.warn("webcomponent build failed",w),De.warn("Ignoring error and continuing"),Promise.resolve()))}const C=await yr({...c,define:Object.assign({},c.define,e&&{"process.env.NODE_ENV":'"development"'}),mode:e?"development":c.mode,publicDir:f,server:{host:"0.0.0.0",port:h,hmr:e&&{overlay:!0,port:l},fs:{strict:!1},open:r??!a}});return await C.listen(),m&&await m,C}async function Wo({browserContext:i,views:e,output:t,logger:n,timeout:s,maxAttempts:r,outputType:u,theme:a}){let c;const h=e.map(m=>({view:m,attempt:1})),l=[];let f;for(;f=h.shift();){const{view:m,attempt:C}=f,F=`/export/${encodeURIComponent(m.id)}`;try{if(C>1){c&&(c.close({runBeforeUnload:!0}).catch(M=>n.error(`failed to close page: ${M}`)),c=void 0);const B=Ai(C*200,{min:200,max:1e3});n.info(b.cyan(F)+b.dim(` attempt ${C} of ${r} after ${B}ms`)),await Or(B)}else m.hasLayoutDrift&&n.warn(b.yellow("Drift detected, manual layout can not be applied, view may be invalid: ")+b.red(m.id)),n.info(b.cyan(F));c??=await i.newPage(),await c.goto(F+`?padding=20&theme=${a}`);const w=c.getByRole("presentation");await w.waitFor(),m.nodes.some(B=>Ci(B.icon)&&B.icon.toLowerCase().startsWith("http"))&&await Uo(c,s);let p=".";u==="relative"&&(p=m.relativePath??".",p.includes("/")?p=p.slice(0,p.lastIndexOf("/")):p=".");const y=Q(t,p,`${m.id}.png`);await w.screenshot({path:y,omitBackground:!0}),l.push({view:m,path:y})}catch(w){c?.close({runBeforeUnload:!0}).catch(p=>n.error(`failed to close page: ${p}`)),n.error(b.red("failed "+F+`
313
- `+w)),C<r&&(h.push({view:m,attempt:C+1}),n.info(b.dim(`retry ${F}`))),c=void 0}}return l}async function Uo(i,e){let t=await i.locator("//img").all();if(!t.length)return;const n=t.map(s=>s.evaluate(r=>r.complete||new Promise((u,a)=>{r.onload=u,r.onerror=a}),{timeout:Math.max(3e4,e)}));await Promise.allSettled(n)}async function Rs({logger:i,serverUrl:e,theme:t="light",timeoutMs:n=15e3,views:s,output:r,outputType:u="relative",maxAttempts:a=3}){i.info(`${b.cyan("export output")} ${b.dim(r)}`),i.info(`${b.cyan("from server")} ${b.dim(e)}`);const c=$i.executablePath();i.info(b.cyan("Start chromium")),i.info(b.dim(c));const h=await $i.launch();i.info(b.cyan("Color scheme: ")+t);const l=await h.newContext({deviceScaleFactor:2,colorScheme:t,baseURL:e,isMobile:!1});l.setDefaultNavigationTimeout(n),l.setDefaultTimeout(n);try{return await Wo({browserContext:l,views:s,output:r,outputType:u,logger:i,maxAttempts:a,timeout:n,theme:t})}finally{i.info(b.cyan("close chromium")),await l.close(),await h.close()}}async function Ws({path:i,useDotBin:e,theme:t="light",output:n,outputType:s,serverUrl:r,ignore:u=!1,timeoutMs:a=1e4,maxAttempts:c=3}){const h=ke("c4:export"),l=zs(),f=await qe.fromWorkspace(i,{logger:"vite",graphviz:e?"binary":"wasm"});n??=f.workspace;const m=await f.diagrams();if(!ur(m,1))throw h.warn("no views found"),new Error("no views found");let C;if(!r&&(h.info(b.cyan("start preview server")),C=await Ts({languageServices:f,buildWebcomponent:!1,openBrowser:!1,useOverviewGraph:!1,hmr:!1}),r=Ps(C),!r))throw h.error("Vite server is not ready, no resolvedUrls"),new Error("Vite server is not ready, no resolvedUrls");try{const F=await Rs({logger:h,serverUrl:r,theme:t,timeoutMs:a,views:m,output:n,outputType:s,maxAttempts:c}),{pretty:w}=or(l);if(F.length>0&&h.info(b.green(`exported ${F.length} views in ${w}`)),F.length!==m.length&&(u&&F.length>0?h.info(b.dim("ignore")+" "+b.red(`failed ${m.length-F.length} out of ${m.length} views`)):h.error(b.red(`failed ${m.length-F.length} out of ${m.length} views`))),F.length!==m.length&&(F.length===0||!u))throw new Error(`Failed ${m.length-F.length} out of ${m.length} views`)}finally{C&&(h.info(b.cyan("stop server")),await C.close().catch(F=>{h.error(F)}))}}const{cyan:Us,dim:Vs}=b;async function Vo({path:i,useDotBin:e,useHashHistory:t,webcomponentPrefix:n,useOverview:s=!1,output:r,base:u}){const a=ke("c4:build"),c=await qe.fromWorkspace(i,{graphviz:e?"binary":"wasm",logger:"vite"}),h=r??Q(c.workspace,"dist");let l=Q(h,"assets");if(s)try{l=Q(h,"assets","previews"),await Je(l,{recursive:!0}),a.info(`${Us("Generate previews")} ${Vs(l)}
314
- `),await Ws({path:i,useDotBin:e,output:l,outputType:"flat",ignore:!0})}catch(f){a.error(b.red("Failed to generate previews")),a.error(f),a.warn(b.yellow("Ignore previews and continue build")),Ii(l,{recursive:!0,force:!0}),s=!1}await Mo({base:u,useHashHistory:t,customLogger:a,useOverviewGraph:s,webcomponentPrefix:n,languageServices:c,likec4AssetsDir:l,outputDir:r}),s&&(a.info(`${Us("clean previews")} ${Vs(l)}`),Ii(l,{recursive:!0,force:!0}))}const zo={command:"build [path]",aliases:["bundle"],describe:"Build a static website",builder:i=>i.positional("path",hn).option("output",{alias:"o",type:"string",desc:"output directory for production build",normalize:!0,coerce:Q}).option("base",Ds).option("use-hash-history",gs).option("use-dot",We).option("webcomponent-prefix",Gn).option("use-overview",Cs).example(`${b.green("$0 build -o ./build ./src")}`,b.gray("Search for likec4 files in 'src' and output static site to 'build'")),handler:async i=>{await Vo({path:i.path,output:i.output,base:i.base,useHashHistory:i["use-hash-history"],useDotBin:i["use-dot"],useOverview:i["use-overview"]??!1,webcomponentPrefix:i["webcomponent-prefix"]})}};async function Ho(i,e,t){const n=".ts";e=e??Q(i.workspace,"likec4.generated"+n),Kt(e)!==n&&(e=e+n),await Je(_t(e),{recursive:!0});const s=await i.diagrams(),r=Ao([...s]);await At(e,r),t.info(`${b.dim("generated")} ${wt(process.cwd(),e)}`)}async function Go(i,e,t){await Je(e,{recursive:!0}),t.info(`${b.dim("format")} ${b.green("dot")}`),t.info(`${b.dim("outdir")} ${e}`);const n=new Set,s=await i.views.layoutViews();let r=0;for(const{diagram:u,dot:a}of s)try{const c=u.relativePath??"";c!==""&&!n.has(c)&&(await Je(Q(e,c),{recursive:!0}),n.add(c));const h=Q(e,c,u.id+".dot");yn(a,`dot for ${u.id} not found`),await At(h,a),t.info(`${b.dim("generated")} ${wt(process.cwd(),h)}`),r++}catch(c){t.error(`error while generating ${u.id}`,{error:c})}r>0&&t.info(`${b.dim("total")} ${r} files`)}async function Yo(i,e,t,n){await Je(t,{recursive:!0}),n.info(`${b.dim("format")} ${b.green(e)}`),n.info(`${b.dim("outdir")} ${t}`);let s,r;switch(e){case"d2":s=".d2",r=Os;break;case"mermaid":s=".mmd",r=_s;break;default:Ei(e)}const u=new Set,a=await i.diagrams();let c=0;for(const h of a)try{let l=h.relativePath??".";l.includes("/")?l=l.slice(0,l.lastIndexOf("/")):l=".",l!==""&&!u.has(l)&&(await Je(Q(t,l),{recursive:!0}),u.add(l));const f=Q(t,l,h.id+s),m=r(h);await At(f,m),n.info(`${b.dim("generated")} ${wt(process.cwd(),f)}`),c++}catch(l){n.error(`error while generating ${h.id}`,{error:l})}c>0&&n.info(`${b.dim("total")} ${c} files`)}async function bn({path:i,useDotBin:e,...t}){const n=ke("c4:codegen"),s=Jt(n),r=await qe.fromWorkspace(i,{logger:"vite",graphviz:e?"binary":"wasm"});if((await r.views.computedViews()).length===0)throw n.warn("no views found"),process.exitCode=1,new Error("no views found");switch(t.format){case"views":{await Ho(r,t.outfile,n);break}case"dot":{await Go(r,t.outdir??i,n);break}case"d2":case"mermaid":{await Yo(r,t.format,t.outdir??i,n);break}default:Ei(t)}s.stopAndLog()}async function qo({languageServices:i,outDir:e,filename:t="likec4-react.mjs"}){const n=ke("c4:react"),s=ui();return n.info(b.cyan("outDir")+" "+b.dim(e)),{customLogger:n,root:s,configFile:!1,clearScreen:!1,publicDir:!1,mode:"production",esbuild:{banner:`'use client'
315
- `+ri.banner,footer:ri.footer,jsx:"transform",jsxDev:!1,jsxSideEffects:!1,minifyIdentifiers:!1,minifySyntax:!1,minifyWhitespace:!1,tsconfigRaw:{compilerOptions:{target:"ES2022",useDefineForClassFields:!0,verbatimModuleSyntax:!0,jsx:"react-jsx"}}},build:{outDir:e,emptyOutDir:!1,sourcemap:!1,minify:!1,target:"es2022",copyPublicDir:!1,chunkSizeWarningLimit:ai,lib:{entry:"react/likec4.tsx",fileName(r,u){return t},formats:["es"]},rollupOptions:{output:{compact:!1,exports:"named"},external:["likec4/react","react","react-dom","react/jsx-runtime","react/jsx-dev-runtime","react-dom/client",/likec4\/icons\/.*/],onwarn(r,u){r.code!=="SOURCEMAP_ERROR"&&u(r)}}},plugins:[_r({}),ii({languageServices:i,useOverviewGraph:!1})]}}function di(i){const e=[...i].sort(ar).map(t=>` | ${JSON.stringify(t)}`);return e.length===0&&e.push(" never"),e.join(`
316
- `)+";"}async function Jo({path:i,useDotBin:e,outfile:t}){const n=ke("c4:codegen"),s=Jt(n),r=await qe.fromWorkspace(i,{logger:"vite",graphviz:e?"binary":"wasm"});n.info(`${b.dim("format")} ${b.green("react")}`);const u=await r.diagrams();if(u.length===0)throw process.exitCode=1,new Error("no views found");u.forEach(p=>{p.hasLayoutDrift&&n.warn(b.yellow("drift detected, manual layout can not be applied, view:")+" "+b.red(p.id))});let a=Q(r.workspace,"likec4-views.js");if(t&&(a=_i(t)?t:Q(t),st(t)&&(await xi(t)).isDirectory()))throw new Error(`output file is a directory: ${t}`);const c=_t(a);n.info(`${b.dim("outdir")} ${c}`);const h=On(a);n.info(`${b.dim("filename")} ${h}`);const l=Kt(h).toLocaleLowerCase();if(![".js",".mjs",".jsx"].includes(l))throw n.error(`output file ${t} has extension "${l}"`),new Error(`output file ${t} must be a .js, .jsx or .mjs`);const f=await qo({languageServices:r,outDir:c,filename:h});await It({...f,logLevel:"warn"});const m=u.reduce((p,y)=>(p.ids.add(y.id),y.tags?.forEach(B=>p.tags.add(B)),y.nodes.forEach(B=>{B.tags?.forEach(M=>p.tags.add(M)),p.kinds.add(B.kind)}),y.edges.forEach(B=>{B.tags?.forEach(M=>p.tags.add(M))}),p),{ids:new Set,tags:new Set,kinds:new Set}),C=di(m.ids),F=di(m.tags),w=di(m.kinds);await At(Q(c,On(a,l)+(l===".mjs"?".d.mts":".d.ts")),`
312
+ `))}class Lr extends Error{constructor(e){super(`${e} is locked`)}}const Ot={old:new Set,young:new Set},ko=1e3*15,wn=1024,An=65535;let Gt;const To=()=>{const i=bs.networkInterfaces(),e=new Set([void 0,"0.0.0.0"]);for(const t of Object.values(i))for(const n of t)e.add(n.address);return e},Mr=i=>new Promise((e,t)=>{const n=Bs.createServer();n.unref(),n.on("error",t),n.listen(i,()=>{const{port:r}=n.address();n.close(()=>{e(r)})})}),kr=async(i,e)=>{if(i.host||i.port===0)return Mr(i);for(const t of e)try{await Mr({port:i.port,host:t})}catch(n){if(!["EADDRNOTAVAIL","EINVAL"].includes(n.code))throw n}return i.port},Ro=function*(i){i&&(yield*i),yield 0};async function fi(i){let e,t=new Set;if(i&&(i.port&&(e=typeof i.port=="number"?[i.port]:i.port),i.exclude)){const r=i.exclude;if(typeof r[Symbol.iterator]!="function")throw new TypeError("The `exclude` option must be an iterable.");for(const s of r){if(typeof s!="number")throw new TypeError("Each item in the `exclude` option must be a number corresponding to the port you want excluded.");if(!Number.isSafeInteger(s))throw new TypeError(`Number ${s} in the exclude option is not a safe integer and can't be used`)}t=new Set(r)}Gt===void 0&&(Gt=setTimeout(()=>{Gt=void 0,Ot.old=Ot.young,Ot.young=new Set},ko),Gt.unref&&Gt.unref());const n=To();for(const r of Ro(e))try{if(t.has(r))continue;let s=await kr({...i,port:r},n);for(;Ot.old.has(s)||Ot.young.has(s);){if(r!==0)throw new Lr(r);s=await kr({...i,port:r},n)}return Ot.young.add(s),s}catch(s){if(!["EADDRINUSE","EACCES"].includes(s.code)&&!(s instanceof Lr))throw s}throw new Error("No available ports found")}function En(i,e){if(!Number.isInteger(i)||!Number.isInteger(e))throw new TypeError("`from` and `to` must be integer numbers");if(i<wn||i>An)throw new RangeError(`'from' must be between ${wn} and ${An}`);if(e<wn||e>An)throw new RangeError(`'to' must be between ${wn} and ${An}`);if(i>e)throw new RangeError("`to` must be greater than or equal to `from`");return function*(n,r){for(let s=n;s<=r;s++)yield s}(i,e)}async function Tr({buildWebcomponent:i=!0,hmr:e=!0,webcomponentPrefix:t="likec4",languageServices:n,likec4AssetsDir:r,openBrowser:s,...u}){r??=await Qt(St(Xt(),".likec4-assets-"));const{isDev:a,...c}=await ci({...u,languageServices:n,likec4AssetsDir:r,webcomponentPrefix:t}),h=await fi({port:[5173,...En(61e3,61010),...En(62002,62010)]}),l=await fi({port:En(24678,24690)}),f=await oi();let m;if(i){const F=await li({webcomponentPrefix:t,languageServices:n,outDir:f,base:c.base});m=It({...F,logLevel:"warn"}).catch(w=>(De.warn("webcomponent build failed",w),De.warn("Ignoring error and continuing"),Promise.resolve()))}const C=await ys({...c,define:Object.assign({},c.define,e&&{"process.env.NODE_ENV":'"development"'}),mode:e?"development":c.mode,publicDir:f,server:{host:"0.0.0.0",port:h,hmr:e&&{overlay:!0,port:l},fs:{strict:!1},open:s??!a}});return await C.listen(),m&&await m,C}async function Wo({browserContext:i,views:e,output:t,logger:n,timeout:r,maxAttempts:s,outputType:u,theme:a}){let c;const h=e.map(m=>({view:m,attempt:1})),l=[];let f;for(;f=h.shift();){const{view:m,attempt:C}=f,F=`/export/${encodeURIComponent(m.id)}`;try{if(C>1){c&&(c.close({runBeforeUnload:!0}).catch(M=>n.error(`failed to close page: ${M}`)),c=void 0);const B=Ai(C*200,{min:200,max:1e3});n.info(b.cyan(F)+b.dim(` attempt ${C} of ${s} after ${B}ms`)),await Os(B)}else m.hasLayoutDrift&&n.warn(b.yellow("Drift detected, manual layout can not be applied, view may be invalid: ")+b.red(m.id)),n.info(b.cyan(F));c??=await i.newPage(),await c.goto(F+`?padding=20&theme=${a}`);const w=c.getByRole("presentation");await w.waitFor(),m.nodes.some(B=>Ci(B.icon)&&B.icon.toLowerCase().startsWith("http"))&&await Uo(c,r);let p=".";u==="relative"&&(p=m.relativePath??".",p.includes("/")?p=p.slice(0,p.lastIndexOf("/")):p=".");const y=Q(t,p,`${m.id}.png`);await w.screenshot({path:y,omitBackground:!0}),l.push({view:m,path:y})}catch(w){c?.close({runBeforeUnload:!0}).catch(p=>n.error(`failed to close page: ${p}`)),n.error(b.red("failed "+F+`
313
+ `+w)),C<s&&(h.push({view:m,attempt:C+1}),n.info(b.dim(`retry ${F}`))),c=void 0}}return l}async function Uo(i,e){let t=await i.locator("//img").all();if(!t.length)return;const n=t.map(r=>r.evaluate(s=>s.complete||new Promise((u,a)=>{s.onload=u,s.onerror=a}),{timeout:Math.max(3e4,e)}));await Promise.allSettled(n)}async function Rr({logger:i,serverUrl:e,theme:t="light",timeoutMs:n=15e3,views:r,output:s,outputType:u="relative",maxAttempts:a=3}){i.info(`${b.cyan("export output")} ${b.dim(s)}`),i.info(`${b.cyan("from server")} ${b.dim(e)}`);const c=$i.executablePath();i.info(b.cyan("Start chromium")),i.info(b.dim(c));const h=await $i.launch();i.info(b.cyan("Color scheme: ")+t);const l=await h.newContext({deviceScaleFactor:2,colorScheme:t,baseURL:e,isMobile:!1});l.setDefaultNavigationTimeout(n),l.setDefaultTimeout(n);try{return await Wo({browserContext:l,views:r,output:s,outputType:u,logger:i,maxAttempts:a,timeout:n,theme:t})}finally{i.info(b.cyan("close chromium")),await l.close(),await h.close()}}async function Wr({path:i,useDotBin:e,theme:t="light",output:n,outputType:r,serverUrl:s,ignore:u=!1,timeoutMs:a=1e4,maxAttempts:c=3}){const h=ke("c4:export"),l=zr(),f=await Je.fromWorkspace(i,{logger:"vite",graphviz:e?"binary":"wasm"});n??=f.workspace;const m=await f.diagrams();if(!us(m,1))throw h.warn("no views found"),new Error("no views found");let C;if(!s&&(h.info(b.cyan("start preview server")),C=await Tr({languageServices:f,buildWebcomponent:!1,openBrowser:!1,useOverviewGraph:!1,hmr:!1}),s=Pr(C),!s))throw h.error("Vite server is not ready, no resolvedUrls"),new Error("Vite server is not ready, no resolvedUrls");try{const F=await Rr({logger:h,serverUrl:s,theme:t,timeoutMs:a,views:m,output:n,outputType:r,maxAttempts:c}),{pretty:w}=os(l);if(F.length>0&&h.info(b.green(`exported ${F.length} views in ${w}`)),F.length!==m.length&&(u&&F.length>0?h.info(b.dim("ignore")+" "+b.red(`failed ${m.length-F.length} out of ${m.length} views`)):h.error(b.red(`failed ${m.length-F.length} out of ${m.length} views`))),F.length!==m.length&&(F.length===0||!u))throw new Error(`Failed ${m.length-F.length} out of ${m.length} views`)}finally{C&&(h.info(b.cyan("stop server")),await C.close().catch(F=>{h.error(F)}))}}const{cyan:Ur,dim:Vr}=b;async function Vo({path:i,useDotBin:e,useHashHistory:t,webcomponentPrefix:n,useOverview:r=!1,output:s,base:u}){const a=ke("c4:build"),c=await Je.fromWorkspace(i,{graphviz:e?"binary":"wasm",logger:"vite"}),h=s??Q(c.workspace,"dist");let l=Q(h,"assets");if(r)try{l=Q(h,"assets","previews"),await qe(l,{recursive:!0}),a.info(`${Ur("Generate previews")} ${Vr(l)}
314
+ `),await Wr({path:i,useDotBin:e,output:l,outputType:"flat",ignore:!0})}catch(f){a.error(b.red("Failed to generate previews")),a.error(f),a.warn(b.yellow("Ignore previews and continue build")),Ii(l,{recursive:!0,force:!0}),r=!1}await Mo({base:u,useHashHistory:t,customLogger:a,useOverviewGraph:r,webcomponentPrefix:n,languageServices:c,likec4AssetsDir:l,outputDir:s}),r&&(a.info(`${Ur("clean previews")} ${Vr(l)}`),Ii(l,{recursive:!0,force:!0}))}const zo={command:"build [path]",aliases:["bundle"],describe:"Build a static website",builder:i=>i.positional("path",hn).option("output",{alias:"o",type:"string",desc:"output directory for production build",normalize:!0,coerce:Q}).option("base",Dr).option("use-hash-history",gr).option("use-dot",We).option("webcomponent-prefix",Gn).option("use-overview",Cr).example(`${b.green("$0 build -o ./build ./src")}`,b.gray("Search for likec4 files in 'src' and output static site to 'build'")),handler:async i=>{await Vo({path:i.path,output:i.output,base:i.base,useHashHistory:i["use-hash-history"],useDotBin:i["use-dot"],useOverview:i["use-overview"]??!1,webcomponentPrefix:i["webcomponent-prefix"]})}};async function Ho(i,e,t){const n=".ts";e=e??Q(i.workspace,"likec4.generated"+n),Kt(e)!==n&&(e=e+n),await qe(_t(e),{recursive:!0});const r=await i.diagrams(),s=Ao([...r]);await At(e,s),t.info(`${b.dim("generated")} ${wt(process.cwd(),e)}`)}async function Go(i,e,t){await qe(e,{recursive:!0}),t.info(`${b.dim("format")} ${b.green("dot")}`),t.info(`${b.dim("outdir")} ${e}`);const n=new Set,r=await i.views.layoutViews();let s=0;for(const{diagram:u,dot:a}of r)try{const c=u.relativePath??"";c!==""&&!n.has(c)&&(await qe(Q(e,c),{recursive:!0}),n.add(c));const h=Q(e,c,u.id+".dot");yn(a,`dot for ${u.id} not found`),await At(h,a),t.info(`${b.dim("generated")} ${wt(process.cwd(),h)}`),s++}catch(c){t.error(`error while generating ${u.id}`,{error:c})}s>0&&t.info(`${b.dim("total")} ${s} files`)}async function Yo(i,e,t,n){await qe(t,{recursive:!0}),n.info(`${b.dim("format")} ${b.green(e)}`),n.info(`${b.dim("outdir")} ${t}`);let r,s;switch(e){case"d2":r=".d2",s=Or;break;case"mermaid":r=".mmd",s=_r;break;default:Ei(e)}const u=new Set,a=await i.diagrams();let c=0;for(const h of a)try{let l=h.relativePath??".";l.includes("/")?l=l.slice(0,l.lastIndexOf("/")):l=".",l!==""&&!u.has(l)&&(await qe(Q(t,l),{recursive:!0}),u.add(l));const f=Q(t,l,h.id+r),m=s(h);await At(f,m),n.info(`${b.dim("generated")} ${wt(process.cwd(),f)}`),c++}catch(l){n.error(`error while generating ${h.id}`,{error:l})}c>0&&n.info(`${b.dim("total")} ${c} files`)}async function bn({path:i,useDotBin:e,...t}){const n=ke("c4:codegen"),r=qt(n),s=await Je.fromWorkspace(i,{logger:"vite",graphviz:e?"binary":"wasm"});if((await s.views.computedViews()).length===0)throw n.warn("no views found"),process.exitCode=1,new Error("no views found");switch(t.format){case"views":{await Ho(s,t.outfile,n);break}case"dot":{await Go(s,t.outdir??i,n);break}case"d2":case"mermaid":{await Yo(s,t.format,t.outdir??i,n);break}default:Ei(t)}r.stopAndLog()}async function Jo({languageServices:i,outDir:e,filename:t="likec4-react.mjs"}){const n=ke("c4:react"),r=ui();return n.info(b.cyan("outDir")+" "+b.dim(e)),{customLogger:n,root:r,configFile:!1,clearScreen:!1,publicDir:!1,mode:"production",esbuild:{banner:`'use client'
315
+ `+si.banner,footer:si.footer,jsx:"transform",jsxDev:!1,jsxSideEffects:!1,minifyIdentifiers:!1,minifySyntax:!1,minifyWhitespace:!1,tsconfigRaw:{compilerOptions:{target:"ES2022",useDefineForClassFields:!0,verbatimModuleSyntax:!0,jsx:"react-jsx"}}},build:{outDir:e,emptyOutDir:!1,sourcemap:!1,minify:!1,target:"es2022",copyPublicDir:!1,chunkSizeWarningLimit:ai,lib:{entry:"react/likec4.tsx",fileName(s,u){return t},formats:["es"]},rollupOptions:{output:{compact:!1,exports:"named"},external:["likec4/react","react","react-dom","react/jsx-runtime","react/jsx-dev-runtime","react-dom/client",/likec4\/icons\/.*/],onwarn(s,u){s.code!=="SOURCEMAP_ERROR"&&u(s)}}},plugins:[_s({}),ii({languageServices:i,useOverviewGraph:!1})]}}function di(i){const e=[...i].sort(as).map(t=>` | ${JSON.stringify(t)}`);return e.length===0&&e.push(" never"),e.join(`
316
+ `)+";"}async function qo({path:i,useDotBin:e,outfile:t}){const n=ke("c4:codegen"),r=qt(n),s=await Je.fromWorkspace(i,{logger:"vite",graphviz:e?"binary":"wasm"});n.info(`${b.dim("format")} ${b.green("react")}`);const u=await s.diagrams();if(u.length===0)throw process.exitCode=1,new Error("no views found");u.forEach(p=>{p.hasLayoutDrift&&n.warn(b.yellow("drift detected, manual layout can not be applied, view:")+" "+b.red(p.id))});let a=Q(s.workspace,"likec4-views.js");if(t&&(a=_i(t)?t:Q(t),rt(t)&&(await xi(t)).isDirectory()))throw new Error(`output file is a directory: ${t}`);const c=_t(a);n.info(`${b.dim("outdir")} ${c}`);const h=On(a);n.info(`${b.dim("filename")} ${h}`);const l=Kt(h).toLocaleLowerCase();if(![".js",".mjs",".jsx"].includes(l))throw n.error(`output file ${t} has extension "${l}"`),new Error(`output file ${t} must be a .js, .jsx or .mjs`);const f=await Jo({languageServices:s,outDir:c,filename:h});await It({...f,logLevel:"warn"});const m=u.reduce((p,y)=>(p.ids.add(y.id),y.tags?.forEach(B=>p.tags.add(B)),y.nodes.forEach(B=>{B.tags?.forEach(M=>p.tags.add(M)),p.kinds.add(B.kind)}),y.edges.forEach(B=>{B.tags?.forEach(M=>p.tags.add(M))}),p),{ids:new Set,tags:new Set,kinds:new Set}),C=di(m.ids),F=di(m.tags),w=di(m.kinds);await At(Q(c,On(a,l)+(l===".mjs"?".d.mts":".d.ts")),`
317
317
  /* prettier-ignore-start */
318
318
  /* eslint-disable */
319
319
 
@@ -406,30 +406,30 @@ export {
406
406
 
407
407
  ${b.dim("How to use:")}
408
408
  ${b.underline("https://likec4.dev/tooling/codegen/#react")}
409
- `).trim(),style:{padding:2,borderColor:"green",borderStyle:"rounded"}}),s.stopAndLog()}async function Ko({path:i,useDotBin:e,webcomponentPrefix:t="likec4",outfile:n}){const s=ke("c4:codegen"),r=Jt(s),u=await qe.fromWorkspace(i,{logger:"vite",graphviz:e?"binary":"wasm"});s.info(`${b.dim("format")} ${b.green("webcomponent")}`);const a=await u.diagrams();if(!Fi(a,1))throw s.warn("no views found"),process.exitCode=1,new Error("no views found");a.forEach(F=>{F.hasLayoutDrift&&s.warn(b.yellow("drift detected, manual layout can not be applied, view:")+" "+b.red(F.id))});let c=Q(u.workspace,"likec4-views.js");if(n&&(c=_i(n)?n:Q(n),st(n)&&(await xi(n)).isDirectory()))throw new Error(`output file is a directory: ${n}`);De.debug(`${b.dim("outfilepath")} ${c}`);const h=On(c);De.debug(`${b.dim("filename")} ${h}`);const l=Kt(h).toLocaleLowerCase();if(l!==".js"&&l!==".mjs")throw De.warn(`output file ${n} has extension "${l}"`),new Error(`output file ${n} must be a .js or .mjs`);const f=await oi();De.debug(`${b.dim("created temp public")} ${f}`);const m=await li({languageServices:u,outDir:f,filename:h,webcomponentPrefix:t,base:"/"});De.debug(`${b.dim("vite build webcomponent")}`),await It({...m,logLevel:"warn"});const C=Q(f,h);if(!st(C))throw new Error(`output file not found: ${C}`);await Je(_t(c),{recursive:!0}),await Ar(C,c),s.info(`${b.dim("generated")} ${c}`),De.debug(`${b.dim("remove temp public")}`),await Er(f,{recursive:!0,force:!0}),De.box(bi(`
409
+ `).trim(),style:{padding:2,borderColor:"green",borderStyle:"rounded"}}),r.stopAndLog()}async function Ko({path:i,useDotBin:e,webcomponentPrefix:t="likec4",outfile:n}){const r=ke("c4:codegen"),s=qt(r),u=await Je.fromWorkspace(i,{logger:"vite",graphviz:e?"binary":"wasm"});r.info(`${b.dim("format")} ${b.green("webcomponent")}`);const a=await u.diagrams();if(!Fi(a,1))throw r.warn("no views found"),process.exitCode=1,new Error("no views found");a.forEach(F=>{F.hasLayoutDrift&&r.warn(b.yellow("drift detected, manual layout can not be applied, view:")+" "+b.red(F.id))});let c=Q(u.workspace,"likec4-views.js");if(n&&(c=_i(n)?n:Q(n),rt(n)&&(await xi(n)).isDirectory()))throw new Error(`output file is a directory: ${n}`);De.debug(`${b.dim("outfilepath")} ${c}`);const h=On(c);De.debug(`${b.dim("filename")} ${h}`);const l=Kt(h).toLocaleLowerCase();if(l!==".js"&&l!==".mjs")throw De.warn(`output file ${n} has extension "${l}"`),new Error(`output file ${n} must be a .js or .mjs`);const f=await oi();De.debug(`${b.dim("created temp public")} ${f}`);const m=await li({languageServices:u,outDir:f,filename:h,webcomponentPrefix:t,base:"/"});De.debug(`${b.dim("vite build webcomponent")}`),await It({...m,logLevel:"warn"});const C=Q(f,h);if(!rt(C))throw new Error(`output file not found: ${C}`);await qe(_t(c),{recursive:!0}),await As(C,c),r.info(`${b.dim("generated")} ${c}`),De.debug(`${b.dim("remove temp public")}`),await Es(f,{recursive:!0,force:!0}),De.box(bi(`
410
410
  ${b.dim("Webcomponents generated to:")}
411
411
  ${wt(hi(),c)}
412
412
 
413
413
  ${b.dim("Setup and usage instructions:")}
414
414
  ${b.blue("https://likec4.dev/tooling/codegen/#webcomponent")}
415
- `)),r.stopAndLog()}const Qo={command:"codegen <command> [path]",aliases:["generate","gen"],describe:"Generate various artifacts from LikeC4 sources",builder:i=>i.positional("path",hn).command("react [path]","generate react component to render likec4 view",e=>e.option("outfile",{alias:"o",type:"string",desc:"<file> path to output file (.jsx, .mjs or .js)",normalize:!0,coerce:je}).option("use-dot",We),async e=>{await Jo({useDotBin:e.useDotBin,path:e.path,outfile:e.outfile})}).command({command:"webcomponent [path]",aliases:["wc","webcomp"],describe:"generate js with webcomponents",builder:e=>e.option("outfile",{alias:"o",type:"string",desc:"<file> path to output file (.mjs or .js)",normalize:!0,coerce:je}).option("webcomponent-prefix",Gn).option("use-dot",We),handler:async e=>{await Ko({useDotBin:e.useDotBin,path:e.path,outfile:e.outfile,webcomponentPrefix:e.webcomponentPrefix})}}).command({command:"views-data [path]",aliases:["ts","views"],describe:"generate likec4 views data (.ts)",builder:e=>e.option("outfile",{alias:"o",type:"string",desc:"<file> output .ts file",normalize:!0,coerce:je}).option("use-dot",We),handler:async e=>{await bn({format:"views",path:e.path,useDotBin:e.useDotBin,outfile:e.outfile})}}).command({command:"dot [path]",describe:"generate graphviz files (.dot)",builder:e=>e.option("outdir",pn).option("use-dot",We),handler:async e=>{await bn({format:"dot",path:e.path,useDotBin:e.useDotBin,outdir:e.outdir})}}).command({command:"d2 [path]",describe:"generate D2 files (.d2)",builder:e=>e.option("outdir",pn).option("use-dot",We),handler:async e=>{await bn({format:"d2",path:e.path,useDotBin:e.useDotBin,outdir:e.outdir})}}).command({command:"mermaid [path]",aliases:["mmd"],describe:"generate Mermaid files (.mmd)",builder:e=>e.option("outdir",pn).option("use-dot",We),handler:async e=>{await bn({format:"mermaid",useDotBin:e.useDotBin,path:e.path,outdir:e.outdir})}}).epilog(`${b.bold("Examples:")}
415
+ `)),s.stopAndLog()}const Qo={command:"codegen <command> [path]",aliases:["generate","gen"],describe:"Generate various artifacts from LikeC4 sources",builder:i=>i.positional("path",hn).command("react [path]","generate react component to render likec4 view",e=>e.option("outfile",{alias:"o",type:"string",desc:"<file> path to output file (.jsx, .mjs or .js)",normalize:!0,coerce:je}).option("use-dot",We),async e=>{await qo({useDotBin:e.useDotBin,path:e.path,outfile:e.outfile})}).command({command:"webcomponent [path]",aliases:["wc","webcomp"],describe:"generate js with webcomponents",builder:e=>e.option("outfile",{alias:"o",type:"string",desc:"<file> path to output file (.mjs or .js)",normalize:!0,coerce:je}).option("webcomponent-prefix",Gn).option("use-dot",We),handler:async e=>{await Ko({useDotBin:e.useDotBin,path:e.path,outfile:e.outfile,webcomponentPrefix:e.webcomponentPrefix})}}).command({command:"views-data [path]",aliases:["ts","views"],describe:"generate likec4 views data (.ts)",builder:e=>e.option("outfile",{alias:"o",type:"string",desc:"<file> output .ts file",normalize:!0,coerce:je}).option("use-dot",We),handler:async e=>{await bn({format:"views",path:e.path,useDotBin:e.useDotBin,outfile:e.outfile})}}).command({command:"dot [path]",describe:"generate graphviz files (.dot)",builder:e=>e.option("outdir",pn).option("use-dot",We),handler:async e=>{await bn({format:"dot",path:e.path,useDotBin:e.useDotBin,outdir:e.outdir})}}).command({command:"d2 [path]",describe:"generate D2 files (.d2)",builder:e=>e.option("outdir",pn).option("use-dot",We),handler:async e=>{await bn({format:"d2",path:e.path,useDotBin:e.useDotBin,outdir:e.outdir})}}).command({command:"mermaid [path]",aliases:["mmd"],describe:"generate Mermaid files (.mmd)",builder:e=>e.option("outdir",pn).option("use-dot",We),handler:async e=>{await bn({format:"mermaid",useDotBin:e.useDotBin,path:e.path,outdir:e.outdir})}}).epilog(`${b.bold("Examples:")}
416
416
  likec4 gen react -o dist/likec4-views.mjs ./src/likec4
417
417
  likec4 gen webcomponent -o likec4.js --webcomponent-prefix c4 --use-dot-bin ./src
418
418
  likec4 gen views-data -o ./src/likec4-data.ts
419
419
  likec4 gen ts --outfile ../likec4.ts
420
420
  likec4 gen mmd --outdir assets/
421
421
  likec4 gen dot -o out .
422
- `),handler:()=>{}};async function Xo({path:i,useDotBin:e,outfile:t}){const n=ke("c4:export"),s=Jt(n),r=await(await qe.fromWorkspace(i,{logger:"vite",graphviz:e?"binary":"wasm"})).layoutedModel();Kt(t)!==".json"&&(t=t+".json"),await Je(_t(t),{recursive:!0});const u=JSON.stringify(r.sourcemodel,null,2);await At(t,u),n.info(`${b.dim("generated")} ${wt(process.cwd(),t)}`),s.stopAndLog("\u2713 export in ")}const Zo={command:"export <format> [path]",describe:"Export to images or JSON",builder:i=>i.usage(`${b.bold("Usage:")} $0 export <format> [path]`).positional("path",hn).command({command:"png [path]",describe:"export views to PNG",builder:e=>e.option("output",pn).option("theme",{choices:["light","dark"],desc:"color-scheme to use, default is light"}).option("flat",{boolean:!0,type:"boolean",desc:"ignore sources structure and export all PNGs in output directory"}).option("use-dot",We).options({ignore:{boolean:!0,alias:"i",desc:"continue if some views failed to export"},timeout:{type:"number",alias:"t",desc:"(sec) timeout for playwright ",default:10},"max-attempts":{type:"number",describe:"",desc:"(number) max attempts to export failing view",default:3},"server-url":{type:"string",desc:"use this url instead of starting new likec4 server"}}).epilog(`${b.bold("Examples:")}
422
+ `),handler:()=>{}};async function Xo({path:i,useDotBin:e,outfile:t}){const n=ke("c4:export"),r=qt(n),s=await(await Je.fromWorkspace(i,{logger:"vite",graphviz:e?"binary":"wasm"})).layoutedModel();Kt(t)!==".json"&&(t=t+".json"),await qe(_t(t),{recursive:!0});const u=JSON.stringify(s.sourcemodel,null,2);await At(t,u),n.info(`${b.dim("generated")} ${wt(process.cwd(),t)}`),r.stopAndLog("\u2713 export in ")}const Zo={command:"export <format> [path]",describe:"Export to images or JSON",builder:i=>i.usage(`${b.bold("Usage:")} $0 export <format> [path]`).positional("path",hn).command({command:"png [path]",describe:"export views to PNG",builder:e=>e.option("output",pn).option("theme",{choices:["light","dark"],desc:"color-scheme to use, default is light"}).option("flat",{boolean:!0,type:"boolean",desc:"ignore sources structure and export all PNGs in output directory"}).option("use-dot",We).options({ignore:{boolean:!0,alias:"i",desc:"continue if some views failed to export"},timeout:{type:"number",alias:"t",desc:"(sec) timeout for playwright ",default:10},"max-attempts":{type:"number",describe:"",desc:"(number) max attempts to export failing view",default:3},"server-url":{type:"string",desc:"use this url instead of starting new likec4 server"}}).epilog(`${b.bold("Examples:")}
423
423
  ${b.green("$0 export png")}
424
424
  ${b.gray("Search for likec4 files in current directory and output PNG next to sources")}
425
425
 
426
426
  ${b.green("$0 export png --theme dark -o ./png src/likec4 ")}
427
427
  ${b.gray("Search for likec4 files in src/likec4 and output PNG with dark theme to png folder")}
428
- `),handler:async e=>{yn(e.timeout>=1,"timeout must be >= 1"),yn(e["max-attempts"]>=1,"max-attempts must be >= 1"),await Ws({path:e.path,useDotBin:e.useDotBin,output:e.output,timeoutMs:e.timeout*1e3,maxAttempts:e.maxAttempts,ignore:e.ignore===!0,outputType:e.flat?"flat":"relative",serverUrl:e.serverUrl,theme:e.theme??"light"})}}).command({command:"json [path]",describe:"export model to JSON",builder:e=>e.option("outfile",{alias:"o",type:"string",desc:"<file> output .json file",default:"likec4.json",normalize:!0,coerce:Q}).option("use-dot",We).epilog(`${b.bold("Examples:")}
428
+ `),handler:async e=>{yn(e.timeout>=1,"timeout must be >= 1"),yn(e["max-attempts"]>=1,"max-attempts must be >= 1"),await Wr({path:e.path,useDotBin:e.useDotBin,output:e.output,timeoutMs:e.timeout*1e3,maxAttempts:e.maxAttempts,ignore:e.ignore===!0,outputType:e.flat?"flat":"relative",serverUrl:e.serverUrl,theme:e.theme??"light"})}}).command({command:"json [path]",describe:"export model to JSON",builder:e=>e.option("outfile",{alias:"o",type:"string",desc:"<file> output .json file",default:"likec4.json",normalize:!0,coerce:Q}).option("use-dot",We).epilog(`${b.bold("Examples:")}
429
429
  ${b.green("$0 export json")}
430
430
  ${b.gray("Search for likec4 files in current directory and output JSON to likec4.json")}
431
431
 
432
432
  ${b.green("$0 export json -o ./generated/likec4.json src/likec4 ")}
433
433
  ${b.gray("Search for likec4 files in src/likec4 and output JSON to generated/likec4.json")}
434
- `),handler:async e=>{await Xo({path:e.path,useDotBin:e.useDotBin,outfile:e.outfile})}}).updateStrings({"Commands:":b.bold("Formats:")}),handler:()=>{}};async function ea(i){const{isDev:e,...t}=await ci({...i,likec4AssetsDir:"",webcomponentPrefix:void 0}),n=await fi({port:En(62001,62010)}),s=i?.open??!1;return await vr({...t,mode:"production",preview:{host:"0.0.0.0",port:n,open:s}})}async function ta({path:i,output:e,base:t}){const n=await qe.fromWorkspace(i,{logger:"vite"}),s=await ea({base:t,languageServices:n,outputDir:e,open:!0});Ns(s)}const na={command:"preview [path]",describe:"Start local server to preview production build",builder:i=>i.positional("path",{type:"string",desc:`Directory with LikeC4 source files
435
- if not specified search in current directory`,normalize:!0}).options({output:{alias:"o",type:"string",desc:"output directory from production build",normalize:!0},base:{type:"string",desc:"base url the app is being served from"}}).coerce(["path","output"],je).default("path",je("."),"."),async handler(i){await ta(i)}};async function ia({path:i,useDotBin:e,webcomponentPrefix:t,useHashHistory:n,useOverview:s=!1,base:r}){const u=await qe.fromWorkspace(i,{logger:"vite",graphviz:e?"binary":"wasm"}),a=await Qt(St(Xt(),".likec4-assets-")),c=await Ts({buildWebcomponent:!1,hmr:!0,base:r,webcomponentPrefix:t,languageServices:u,useHashHistory:n,useOverviewGraph:s,likec4AssetsDir:a});if(c.config.logger.clearScreen("info"),Ns(c),!s)return;const h=await u.diagrams();if(Fi(h,1)){const l=ke("c4:export"),f=Ps(c);if(!f){l.error("no preview server url");return}l.info(b.cyan("wait 5sec before generating previews")),await yi(5e3);try{await Rs({serverUrl:f,logger:l,views:h,theme:"light",output:a,outputType:"flat"}),await yi(1e3),l.info(b.yellow("Note: changes in sources do not trigger preview updates, restart is required"))}catch(m){l.error(b.red("Failed to generate previews")),l.error(m)}}else c.config.logger.warn("no views found, no previews generated")}const sa={command:"start [path]",aliases:["serve","dev"],describe:"Start local dev server to preview LikeC4 views",builder:i=>i.positional("path",hn).option("base",Ds).option("webcomponent-prefix",Gn).option("use-hash-history",gs).option("use-overview",Cs).option("use-dot",We),handler:async i=>{await ia({path:i.path,useDotBin:i["use-dot"],base:i.base,useOverview:i["use-overview"]??!1,webcomponentPrefix:i["webcomponent-prefix"],useHashHistory:i["use-hash-history"]})}};De.level=vi.debug,process.env.NODE_ENV==="development"&&(De.level=vi.trace,De.warn("running cli in dev mode"));const ra=Su(qr(Ys)).scriptName("likec4").usage("Usage: $0 <command>").command(sa).command(zo).command(Qo).command(Zo).command(na).help("help").version(cr.version).alias("v","version").alias("h","help").demandCommand(1,"Please run with valid command").strict().recommendCommands().showHelpOnFail(!0,"Something is wrong, run with --help").updateStrings({"Options:":b.bold("Options:"),"Positionals:":b.bold("Arguments:"),"Commands:":b.bold("Commands:"),"Examples:":b.bold("Examples:")}).wrap(Ai(Hs.columns-20,{min:80,max:120})).parseAsync();ra.catch(()=>Gs(1)),process.on("unhandledRejection",i=>{De.error(i)});
434
+ `),handler:async e=>{await Xo({path:e.path,useDotBin:e.useDotBin,outfile:e.outfile})}}).updateStrings({"Commands:":b.bold("Formats:")}),handler:()=>{}};async function ea(i){const{isDev:e,...t}=await ci({...i,likec4AssetsDir:"",webcomponentPrefix:void 0}),n=await fi({port:En(62001,62010)}),r=i?.open??!1;return await vs({...t,mode:"production",preview:{host:"0.0.0.0",port:n,open:r}})}async function ta({path:i,output:e,base:t}){const n=await Je.fromWorkspace(i,{logger:"vite"}),r=await ea({base:t,languageServices:n,outputDir:e,open:!0});Nr(r)}const na={command:"preview [path]",describe:"Start local server to preview production build",builder:i=>i.positional("path",{type:"string",desc:`Directory with LikeC4 source files
435
+ if not specified search in current directory`,normalize:!0}).options({output:{alias:"o",type:"string",desc:"output directory from production build",normalize:!0},base:{type:"string",desc:"base url the app is being served from"}}).coerce(["path","output"],je).default("path",je("."),"."),async handler(i){await ta(i)}};async function ia({path:i,useDotBin:e,webcomponentPrefix:t,useHashHistory:n,useOverview:r=!1,base:s}){const u=await Je.fromWorkspace(i,{logger:"vite",graphviz:e?"binary":"wasm"}),a=await Qt(St(Xt(),".likec4-assets-")),c=await Tr({buildWebcomponent:!1,hmr:!0,base:s,webcomponentPrefix:t,languageServices:u,useHashHistory:n,useOverviewGraph:r,likec4AssetsDir:a});if(c.config.logger.clearScreen("info"),Nr(c),!r)return;const h=await u.diagrams();if(Fi(h,1)){const l=ke("c4:export"),f=Pr(c);if(!f){l.error("no preview server url");return}l.info(b.cyan("wait 5sec before generating previews")),await yi(5e3);try{await Rr({serverUrl:f,logger:l,views:h,theme:"light",output:a,outputType:"flat"}),await yi(1e3),l.info(b.yellow("Note: changes in sources do not trigger preview updates, restart is required"))}catch(m){l.error(b.red("Failed to generate previews")),l.error(m)}}else c.config.logger.warn("no views found, no previews generated")}const ra={command:"start [path]",aliases:["serve","dev"],describe:"Start local dev server to preview LikeC4 views",builder:i=>i.positional("path",hn).option("base",Dr).option("webcomponent-prefix",Gn).option("use-hash-history",gr).option("use-overview",Cr).option("use-dot",We),handler:async i=>{await ia({path:i.path,useDotBin:i["use-dot"],base:i.base,useOverview:i["use-overview"]??!1,webcomponentPrefix:i["webcomponent-prefix"],useHashHistory:i["use-hash-history"]})}};De.level=vi.debug,process.env.NODE_ENV==="development"&&(De.level=vi.trace,De.warn("running cli in dev mode"));const sa=Su(Js(Yr)).scriptName("likec4").usage("Usage: $0 <command>").command(ra).command(zo).command(Qo).command(Zo).command(na).help("help").version(cs.version).alias("v","version").alias("h","help").demandCommand(1,"Please run with valid command").strict().recommendCommands().showHelpOnFail(!0,"Something is wrong, run with --help").updateStrings({"Options:":b.bold("Options:"),"Positionals:":b.bold("Arguments:"),"Commands:":b.bold("Commands:"),"Examples:":b.bold("Examples:")}).wrap(Ai(Hr.columns-20,{min:80,max:120})).parseAsync();sa.catch(()=>Gr(1)),process.on("unhandledRejection",i=>{De.error(i)});