likec4 0.60.3 → 0.60.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/index.js +2 -2
- package/package.json +9 -9
package/dist/cli/index.js
CHANGED
|
@@ -7,7 +7,7 @@ var pue=Object.create;var GD=Object.defineProperty;var mue=Object.getOwnProperty
|
|
|
7
7
|
all inputs: ${JSON.stringify(t)}
|
|
8
8
|
all schemas: ${JSON.stringify(e.map(gw))}
|
|
9
9
|
`,`
|
|
10
|
-
`):`Failed R.ok - ${r}`;throw new Error(i)}}}o(Tw,"ok");function wN(t,e){return arguments.length===1?r=>wN(t,r):(Tw(We(t),We(e))("Function","Array"),FN(zo(t,e)))}o(wN,"mapToObject");async function Dw(t,e){let r={};return await t0(o(async i=>{let s=await t(i);s!==!1&&(r=ps(ps({},r),s))},"innerIterable"),e),r}o(Dw,"mapToObjectAsyncFn");function Zue(t,e){return arguments.length===1?async r=>Dw(t,r):new Promise((r,n)=>{Dw(t,e).then(r).catch(n)})}o(Zue,"mapToObjectAsync");function bN(t,e){if(arguments.length===1)return i=>bN(t,i);let r=[];return e.map(i=>i.map(s=>t(s))).forEach(i=>{r=[...r,...i]}),r}o(bN,"mapcat");function AN(t,e,r){let n=t&&We(e)==="Function"?e():e,i=!t&&We(r)==="Function"?r():r;return t?n:i}o(AN,"maybe");var YD=class{static{o(this,"ReduceStopper")}constructor(e){this.value=e}};function Pw(t,e,r){if(!Ft(r))throw new TypeError("reduce: list must be array or iterable");let n=0,i=r.length;for(;n<i;){if(e=t(e,r[n],n,r),e instanceof YD)return e.value;n++}return e}o(Pw,"reduceFn");var r0=jt(Pw),eae=o(t=>new YD(t),"reduceStopper");function _N(t,e){switch(t){case 0:return function(){return e.apply(this,arguments)};case 1:return function(r){return e.apply(this,arguments)};case 2:return function(r,n){return e.apply(this,arguments)};case 3:return function(r,n,i){return e.apply(this,arguments)};case 4:return function(r,n,i,s){return e.apply(this,arguments)};case 5:return function(r,n,i,s,u){return e.apply(this,arguments)};case 6:return function(r,n,i,s,u,a){return e.apply(this,arguments)};case 7:return function(r,n,i,s,u,a,c){return e.apply(this,arguments)};case 8:return function(r,n,i,s,u,a,c,l){return e.apply(this,arguments)};case 9:return function(r,n,i,s,u,a,c,l,f){return e.apply(this,arguments)};case 10:return function(r,n,i,s,u,a,c,l,f,p){return e.apply(this,arguments)};default:throw new Error("First argument to _arity must be a non-negative integer no greater than ten")}}o(_N,"_arity$1");function RN(t,e){return function(){return e.call(this,t.apply(this,arguments))}}o(RN,"_pipe");function kw(){if(arguments.length===0)throw new Error("pipe requires at least one argument");return _N(arguments[0].length,Pw(RN,arguments[0],Array.prototype.slice.call(arguments,1,1/0)))}o(kw,"pipe");function SN(){if(arguments.length===0)throw new Error("compose requires at least one argument");return kw.apply(this,Array.prototype.slice.call(arguments,0).reverse())}o(SN,"compose");function tae(t,e,r){return r.replace(t,e)}o(tae,"replaceFn");var Ap=jt(tae);function n0(t,e){return arguments.length===1?r=>n0(t,r):Us(e).sort(t)}o(n0,"sort");function wl(t,e){return arguments.length===1?r=>wl(t,r):t<0?e.slice():typeof e=="string"?e.slice(0,t):bw(e,0,t)}o(wl,"take");var WD={},rae=o(t=>{let e=o((n,i)=>n>i?1:-1,"sortFn"),r={};return SN(zo(n=>r[n]=t[n]),n0(e))(Object.keys(t)),r},"normalizeObject"),KO=o(t=>{let e=We(t);if(e==="String")return t;if(["Function","Promise"].includes(e)){let r=Ap(/\s{1,}/g," ",t.toString());return Ap(/\s/g,"_",wl(15,r))}else if(e==="Object")return JSON.stringify(rae(t));return JSON.stringify(t)},"stringify"),nae=o((t,...e)=>{let r="";return e.forEach(n=>{r+=`${KO(n)}_`}),`${r}${KO(t)}`},"generateProp");function TN(t,...e){if(arguments.length===1)return(...i)=>TN(t,...i);let r=nae(t,...e);if(r in WD)return WD[r];if(We(t)==="Async")return new Promise(i=>{t(...e).then(s=>{WD[r]=s,i(s)})});let n=t(...e);return WD[r]=n,n}o(TN,"memoize");function PN(t,e){if(arguments.length===1)return n=>PN(t,n);let r=new Map;return function(){let n=t.apply(this,arguments);return r.has(n)||r.set(n,e.apply(this,arguments)),r.get(n)}}o(PN,"memoizeWith");function iae(t,e){return t>=e.length-1?0:t+1}o(iae,"nextIndex");function Iw(t){let e=Ft(t)?Array(t.length):{};if(t&&t.getTime)return new Date(t.getTime());for(let r in t){let n=t[r];e[r]=typeof n=="object"&&n!==null?n.getTime?new Date(n.getTime()):Iw(n):n}return e}o(Iw,"clone");function XD(t,e){if(arguments.length===1)return n=>XD(t,n);let r=Iw(t);return Object.keys(e).forEach(n=>{We(e[n])==="Object"&&We(t[n])==="Object"?r[n]=XD(t[n],e[n]):r[n]=e[n]}),r}o(XD,"mergeDeepRight");function kN(t,e){return r=>t(XD(r,e))}o(kN,"partialObject");async function oae(t,e){let r={},n={};return Object.entries(e).forEach(([i,s])=>{t(s,i)?r[i]=s:n[i]=s}),[r,n]}o(oae,"whenObject");async function zO(t,e){if(!Ft(e))return oae(t,e);let r=[],n=[];for(let i in e)await t(e[i],Number(i))?r.push(e[i]):n.push(e[i]);return[r,n]}o(zO,"partitionAsyncFn");function sae(t,e){return arguments.length===1?async r=>zO(t,r):new Promise((r,n)=>{zO(t,e).then(r).catch(n)})}o(sae,"partitionAsync");function Ow(t,e){let r={},n={};return Object.entries(e).forEach(([i,s])=>{t(s,i)?r[i]=s:n[i]=s}),[r,n]}o(Ow,"partitionObject");function Nw(t,e,r=!1){let n=[],i=[],s=-1;for(;s++<e.length-1;)(r?t(e[s],s):t(e[s]))?n.push(e[s]):i.push(e[s]);return[n,i]}o(Nw,"partitionArray");function IN(t,e){return arguments.length===1?r=>IN(t,r):Ft(e)?Nw(t,e):Ow(t,e)}o(IN,"partition");function ON(t,e){return arguments.length===1?r=>ON(t,r):Ft(e)?Nw(t,e,!0):Ow(t,e)}o(ON,"partitionIndexed");function uae(...t){return(...e)=>_p((r,n)=>{let i=e[n]===void 0?e[0]:e[n];return!Sw(r,i)},t)===!1}o(uae,"pass");function aae(...t){return async function(e){let r=e;for(;t.length!==0;)r=t.shift()(r),We(r)==="Promise"&&(r=await r);return r}}o(aae,"pipeAsync");function cae(...t){let[e,...r]=t;return kw(...r)(e)}o(cae,"piped");async function lae(...t){let[e,...r]=t,n=e;for(;r.length!==0;){let i=r.shift();We(i)==="Promise"?n=await i(n):n=i(n)}return n}o(lae,"pipedAsync");function fae(t,e){return t===0?e.length-1:t-1}o(fae,"prevIndex");function yw(t,e){return arguments.length===1?r=>yw(t,r):zo(r=>We(r)==="Object"?yw(r,e):r(e),t)}o(yw,"produce");function dae({condition:t,input:e,prop:r}){return new Promise((n,i)=>{if(We(t)!=="Promise")return n({type:r,payload:t(e)});t(e).then(s=>{n({type:r,payload:s})}).catch(s=>i(s))})}o(dae,"promisify");function YO(t,e){let r=!1;for(let i in t)r===!1&&We(t[i])==="Promise"&&(r=!0);if(r===!1){let i={};for(let s in t)i[s]=t[s](e);return Promise.resolve(i)}let n=[];for(let i in t){let s=t[i];n.push(dae({input:e,condition:s,prop:i}))}return new Promise((i,s)=>{Promise.all(n).then(u=>{let a={};zo(c=>a[c.type]=c.payload,u),i(a)}).catch(u=>s(u))})}o(YO,"produceFn");function pae(t,e){return arguments.length===1?async r=>YO(t,r):new Promise((r,n)=>{YO(t,e).then(r).catch(n)})}o(pae,"produceAsync");function mae(t,e){return Math.floor(Math.random()*(e-t+1))+t}o(mae,"random");function NN(t,e){if(arguments.length===1)return r=>NN(t,r);if(!e)throw new Error(`"${e}" is not iterable`);return Ft(e)?e0((r,n)=>!t(r,n),e,!0):ZD((r,n)=>!t(r,n),e)}o(NN,"rejectIndexed");function BN(t,e){if(arguments.length===1)return n=>BN(t,n);if(We(e)!=="String")throw new Error(`R.remove requires string not ${We(e)}`);if(We(t)!=="Array")return Ap(t,"",e);let r=e;return t.forEach(n=>{r=Ap(n,"",r).trim()}),r}o(BN,"remove");function LN(t,e){return arguments.length===1?r=>LN(t,r):t<=0?e.slice(1):t>=e.length-1?e.slice(0,e.length-1):[...e.slice(0,t),...e.slice(t+1)]}o(LN,"removeIndex");function Bw(t,e){if(arguments.length===1)return i=>Bw(t,i);if(e==null)return;let r=qa(t,","),n={};for(let i in e)r.includes(i)||(n[i]=e[i]);return n}o(Bw,"omit");function MN(t,e){if(arguments.length===1)return n=>MN(t,n);let r={};return Object.keys(t).forEach(n=>{Object.keys(e).includes(n)&&(r[t[n]]=e[n])}),Ua(r,Bw(Object.keys(t),e))}o(MN,"renameProps");function hae(t,e,r){Tw(t,e,r)(Array,String,String);let n=r;return t.forEach(i=>{n=n.replace(i,e)}),n}o(hae,"replaceAllFn");var gae=jt(hae);function Dae(t){let e=t.concat(),r=e.length;for(;r>0;){let n=Math.floor(Math.random()*r);r--;let i=e[r];e[r]=e[n],e[n]=i}return e}o(Dae,"shuffle");function Lw(t,e){return arguments.length===1?n=>Lw(t,n):Us(e).sort((n,i)=>{let s=t(n),u=t(i);return s===u?0:s<u?-1:1})}o(Lw,"sortBy");function $N(t,e){return arguments.length===1?r=>$N(t,r):Lw(ni(t),e)}o($N,"sortByPath");function yae(t,e,r){let n=0;return r.forEach(i=>{if(n!==0)return;let s=ni(i,t),u=ni(i,e);[s,u].includes(void 0)||s!==u&&(n=s>u?1:-1)}),n}o(yae,"singleSort");function jN(t,e){if(arguments.length===1)return n=>jN(t,n);let r=e.slice();return r.sort((n,i)=>yae(n,i,t)),r}o(jN,"sortByProps");function qN(t,e){if(arguments.length===1)return s=>qN(t,s);let r=Object.keys(e),n=n0((s,u)=>t(s,u,e[s],e[u]),r),i={};return n.forEach(s=>{i[s]=e[s]}),i}o(qN,"sortObject");var UN=Symbol?Symbol("NO_MATCH_FOUND"):void 0,Eae=o((t,e,r)=>{let n;for(let i=0;i<t.length;i++)if(n=t[i].test(e),n!==UN)return n;return r},"getMatchingKeyValuePair"),Cae=o((t,e)=>typeof t=="function"?t(e):ii(t,e),"isEqual"),vae=o((t,e=!0)=>({key:t,test:r=>Cae(t,r)?e:UN}),"is$1"),Ew=class t{static{o(this,"Switchem")}constructor(e,r,n){return r===void 0&&n===void 0?(this.cases=[],this.defaultValue=void 0,this.willMatch=e):(this.cases=r,this.defaultValue=e,this.willMatch=n),this}default(e){return new t(e,this.cases,this.willMatch).match(this.willMatch)}is(e,r){return new t(this.defaultValue,[...this.cases,vae(e,r)],this.willMatch)}match(e){return Eae(this.cases,e,this.defaultValue)}};function xae(t){return new Ew(t)}o(xae,"switcher");function Fae(t,e){let r=[],n=!1,i=-1;for(;n===!1&&i++<e.length-1;)t(e[i])?n=!0:r.push(e[i]);return r}o(Fae,"takeUntil");async function XO(t,e){return await t(e),e}o(XO,"tapAsyncFn");function wae(t,e){return arguments.length===1?async r=>XO(t,r):new Promise((r,n)=>{XO(t,e).then(r).catch(n)})}o(wae,"tapAsync");function bae(t,e){let r=!1,n;return function(...i){return r||(n=t.apply(null,i),r=!0,setTimeout(()=>{r=!1},e)),n}}o(bae,"throttle");function Aae(t,e=2){return Number(parseFloat(String(t)).toFixed(e))}o(Aae,"toDecimal");function _ae(t,e){return(...r)=>new Promise(n=>{t(...r).then(n).catch(i=>{if(We(e)!=="Function")return n(e);if(We(e)!=="Promise")return n(e(i,...r));e(i,...r).then(n).catch(n)})})}o(_ae,"tryCatchAsync");function GN(t,e){if(arguments.length===1)return n=>GN(t,n);let r=ps({},e);return t.forEach(([n,i])=>{r=Cl(n,i,r)}),r}o(GN,"updateObject");function Rae(t){return t==null||Number.isNaN(t)===!0}o(Rae,"isFalsy");function Sp(t,e){return arguments.length===1?r=>Sp(t,r):Rae(e)?t:e}o(Sp,"defaultTo");function Sae(t,e,r){return Sp(t,Rp(e,r))}o(Sae,"viewOrFn");var Tae=jt(Sae);function Pae(t){return new Promise(e=>{t.then(r=>e([r,void 0])).catch(r=>e([void 0,r]))})}o(Pae,"wait");function i0(t,e){if(arguments.length===1)return i=>i0(t,i);if(Number.isNaN(Number(t))||Number.isNaN(Number(e)))throw new TypeError("Both arguments to range must be numbers");if(e<t)return[];let r=e-t,n=Array(r);for(let i=0;i<r;i++)n[i]=t+i;return n}o(i0,"range");function kae(t,e,r=10){let n=We(t),i=n==="Promise",s=n==="Function",u=Math.floor(e/r);if(!(i||s))throw new Error("R.waitFor");return async(...a)=>{for(let c of i0(0,r)){let l=await t(...a);if(l===!1)await iN(u);else return l}return!1}}o(kae,"waitFor");function WN(t,e){return arguments.length===1?r=>WN(t,r):!!(t&&e||!t&&!e)}o(WN,"xnor");function Iae(){return!1}o(Iae,"F");function Oae(){return!0}o(Oae,"T");function HN(t,e){return arguments.length===1?r=>HN(t,r):Number(t)+Number(e)}o(HN,"add");function Nae(t,e,r){let n=t<0?r.length+t:t;if(t>=r.length||n<0)return r;let i=Us(r);return i[n]=e(i[n]),i}o(Nae,"adjustFn");var Bae=jt(Nae);function Lae(t){return(...e)=>{let r=0;for(;r<t.length;){if(!t[r](...e))return!1;r++}return!0}}o(Lae,"allPass");function VN(t){return e=>t}o(VN,"always");function KN(t,e){return arguments.length===1?r=>KN(t,r):t&&e}o(KN,"and");function Mae(t){return(...e)=>{let r=0;for(;r<t.length;){if(t[r](...e))return!0;r++}return!1}}o(Mae,"anyPass");function zN(t,e){if(arguments.length===1)return n=>zN(t,n);if(typeof e=="string")return e.split("").concat(t);let r=Us(e);return r.push(t),r}o(zN,"append");function YN(t,e){return arguments.length===1?r=>YN(t,r):t.apply(this,e)}o(YN,"apply");function Mw(t,e=0){for(let r in t)t.hasOwnProperty(r)===!1||r==="constructor"||(typeof t[r]=="object"&&(e=Math.max(e,Mw(t[r]))),typeof t[r]=="function"&&(e=Math.max(e,t[r].length)));return e}o(Mw,"__findHighestArity");function bp(){let t=[],e=0,r=arguments.length;for(;e<r&&!(typeof arguments[e]>"u");)t[e]=arguments[e],e++;return t}o(bp,"__filterUndefined");function wu(t,e,r){let n=e-r.length;if(n===1)return s=>wu(t,e,bp(...r,s));if(n===2)return(s,u)=>wu(t,e,bp(...r,s,u));if(n===3)return(s,u,a)=>wu(t,e,bp(...r,s,u,a));if(n===4)return(s,u,a,c)=>wu(t,e,bp(...r,s,u,a,c));if(n>4)return(...s)=>wu(t,e,bp(...r,...s));if(Ft(t)){let s=[],u=0,a=t.length;for(;u<a;u++)(typeof t[u]=="object"||Ft(t[u]))&&(s[u]=wu(t[u],e,r)),typeof t[u]=="function"&&(s[u]=t[u](...r));return s}let i={};for(let s in t)if(!(t.hasOwnProperty(s)===!1||s==="constructor")){if(typeof t[s]=="object"){i[s]=wu(t[s],e,r);continue}typeof t[s]=="function"&&(i[s]=t[s](...r))}return i}o(wu,"__applySpecWithArity");function $ae(t,...e){let r=Mw(t);return r===0?()=>({}):wu(t,r,e)}o($ae,"applySpec");function XN(t,e,r){return function(){let n=0,i=0,s=e.length,u=arguments.length,a=new Array(s+u);for(;n<s;)a[n]=e[n],n++;for(;i<u;)a[s+i]=arguments[i],i++;let c=t-a.length;return a.length>=t?r.apply(this,a):QN(c,XN(t,a,r))}}o(XN,"_curryN");function QN(t,e){switch(t){case 0:return function(){return e.apply(this,arguments)};case 1:return function(r){return e.apply(this,arguments)};case 2:return function(r,n){return e.apply(this,arguments)};case 3:return function(r,n,i){return e.apply(this,arguments)};case 4:return function(r,n,i,s){return e.apply(this,arguments)};case 5:return function(r,n,i,s,u){return e.apply(this,arguments)};case 6:return function(r,n,i,s,u,a){return e.apply(this,arguments)};case 7:return function(r,n,i,s,u,a,c){return e.apply(this,arguments)};case 8:return function(r,n,i,s,u,a,c,l){return e.apply(this,arguments)};case 9:return function(r,n,i,s,u,a,c,l,f){return e.apply(this,arguments)};default:return function(r,n,i,s,u,a,c,l,f,p){return e.apply(this,arguments)}}}o(QN,"_arity");function o0(t,e){if(arguments.length===1)return r=>o0(t,r);if(t>10)throw new Error("First argument to _arity must be a non-negative integer no greater than ten");return QN(t,XN(t,[],e))}o(o0,"curryN");function JN(t,e){return arguments.length===1?r=>JN(t,r):o0(t.length,(...r)=>t.apply(e,r))}o(JN,"bind");function ZN(t,e){return arguments.length===1?r=>ZN(t,r):(...r)=>t(...r)&&e(...r)}o(ZN,"both");function eB(t,e){return arguments.length===1?r=>eB(t,r):[].concat(...e.map(t))}o(eB,"chain");function jae(t,e,r){if(t>e)throw new Error("min must not be greater than max in clamp(min, max, value)");if(r>=t&&r<=e)return r;if(r>e)return e;if(r<t)return t}o(jae,"clampFn");var qae=jt(jae);function Uae(t){return(...e)=>!t(...e)}o(Uae,"complement");function $w(t,e){return arguments.length===1?r=>$w(t,r):typeof t=="string"?`${t}${e}`:[...t,...e]}o($w,"concat");function Gae(t){return e=>{let r=!1,n;return t.forEach(([i,s])=>{!r&&i(e)&&(r=!0,n=s(e))}),n}}o(Gae,"cond");function jw(t,e){return arguments.length===1?r=>jw(t,r):e>t?e:t}o(jw,"max");function tB(t,e){if(arguments.length===1)return n=>tB(t,n);let r=r0((n,i)=>jw(n,i.length),0,e);return o0(r,function(){return t.apply(this,zo(n=>n.apply(this,arguments),e))})}o(tB,"converge");function rB(t,e){return arguments.length===1?r=>rB(t,r):Ft(e)?e.filter(r=>t(r)).length:0}o(rB,"count");function nB(t,e){if(arguments.length===1)return n=>nB(t,n);let r={};return e.forEach(n=>{let i=t(n);r[i]?r[i]++:r[i]=1}),r}o(nB,"countBy");var Wae=o(t=>t-1,"dec"),QD=class{static{o(this,"_Set")}constructor(){this.set=new Set,this.items={}}checkUniqueness(e){let r=We(e);if(["Null","Undefined","NaN"].includes(r))return r in this.items?!1:(this.items[r]=!0,!0);if(!["Object","Array"].includes(r)){let n=this.set.size;return this.set.add(e),this.set.size!==n}return r in this.items?$a(e,this.items[r])===-1?(this.items[r].push(e),!0):!1:(this.items[r]=[e],!0)}};function iB(t){let e=new QD,r=[];return t.forEach(n=>{e.checkUniqueness(n)&&r.push(n)}),r}o(iB,"uniq");function oB(t,e){return arguments.length===1?r=>oB(t,r):iB(t).filter(r=>!qs(r,e))}o(oB,"difference");function sB(t,e){if(arguments.length===1)return n=>sB(t,n);if(e==null)return{};let r={};for(let n in e)r[n]=e[n];return delete r[t],r}o(sB,"dissoc");function uB(t,e){return arguments.length===1?r=>uB(t,r):t/e}o(uB,"divide");function s0(t,e){return arguments.length===1?r=>s0(t,r):e.slice(t>0?t:0)}o(s0,"drop");function aB(t,e){return arguments.length===1?r=>aB(t,r):t>0?e.slice(0,-t):e.slice()}o(aB,"dropLast");function cB(t,e){if(arguments.length===1)return s=>cB(t,s);if(e.length===0)return e;let r=Ft(e);if(typeof t!="function")throw new Error(`'predicate' is from wrong type ${typeof t}`);if(!r&&typeof e!="string")throw new Error(`'iterable' is from wrong type ${typeof e}`);let n=[],i=e.length;for(;i;){let s=e[--i];if(!t(s)){n.push(s);break}}for(;i;)n.push(e[--i]);return r?n.reverse():n.reverse().join("")}o(cB,"dropLastWhile");function Hae(t){if(!Ft(t))throw new Error(`${t} is not a list`);let e=[];return t.reduce((r,n)=>(ii(r,n)||e.push(n),n),void 0),e}o(Hae,"dropRepeats");function lB(t,e){if(arguments.length===1)return n=>lB(t,n);if(!Ft(e))throw new Error(`${e} is not a list`);let r=[];return e.reduce((n,i)=>n===void 0?(r.push(i),i):(t(n,i)||r.push(i),i),void 0),r}o(lB,"dropRepeatsWith");function fB(t,e){if(arguments.length===1)return s=>fB(t,s);let r=Ft(e);if(!r&&typeof e!="string")throw new Error("`iterable` is neither list nor a string");let n=[],i=0;for(;i<e.length;){let s=e[i++];if(!t(s)){n.push(s);break}}for(;i<e.length;)n.push(e[i++]);return r?n:n.join("")}o(fB,"dropWhile");function dB(t,e){return arguments.length===1?r=>dB(t,r):(...r)=>!!(t(...r)||e(...r))}o(dB,"either");function pB(t,e){if(arguments.length===1)return s=>pB(t,s);if(typeof e=="string")return e.endsWith(t);if(!Ft(t))return!1;let r=e.length-t.length,n=!0;return t.filter((s,u)=>{if(!n)return!1;let a=ii(s,e[u+r]);return a||(n=!1),a}).length===t.length}o(pB,"endsWith");function ja(t,e){if(arguments.length===1)return r=>ja(t,r);if(e)return e[t]}o(ja,"prop");function Vae(t,e,r){return ii(ja(t,e),ja(t,r))}o(Vae,"eqPropsFn");var Kae=jt(Vae);function mB(t,e){return xl((r,n)=>We(t[n])==="Function"?t[n](r):r,e,!0)}o(mB,"evolveArray");function hB(t,e){return Fl((r,n)=>{if(We(r)==="Object"){let i=We(t[n]);return i==="Function"?t[n](r):i==="Object"?qw(t[n],r):r}return We(t[n])==="Function"?t[n](r):r},e)}o(hB,"evolveObject");function qw(t,e){if(arguments.length===1)return i=>qw(t,i);let r=We(t),n=We(e);if(n!==r)throw new Error("iterableType !== rulesType");if(!["Object","Array"].includes(r))throw new Error(`'iterable' and 'rules' are from wrong type ${r}`);return n==="Object"?hB(t,e):mB(t,e)}o(qw,"evolve");function gB(t,e){if(arguments.length===1)return i=>gB(t,i);let r=0,n=e.length;for(;r<n;){let i=e[r];if(t(i))return i;r++}}o(gB,"find");function DB(t,e){if(arguments.length===1)return i=>DB(t,i);let r=e.length,n=-1;for(;++n<r;)if(t(e[n]))return n;return-1}o(DB,"findIndex");function yB(t,e){if(arguments.length===1)return n=>yB(t,n);let r=e.length;for(;--r>=0;)if(t(e[r]))return e[r]}o(yB,"findLast");function EB(t,e){if(arguments.length===1)return n=>EB(t,n);let r=e.length;for(;--r>=0;)if(t(e[r]))return r;return-1}o(EB,"findLastIndex");function CB(t,e){let r=e===void 0?[]:e;for(let n=0;n<t.length;n++)Ft(t[n])?CB(t[n],r):r.push(t[n]);return r}o(CB,"flatten");function zae(t){return(...e)=>{if(e.length===1)return r=>t(r,e[0]);if(e.length===2)return t(e[1],e[0]);if(e.length===3)return t(e[1],e[0],e[2]);if(e.length===4)return t(e[1],e[0],e[2],e[3]);throw new Error("R.flip doesn't work with arity > 4")}}o(zae,"flipFn");function Yae(t){return zae(t)}o(Yae,"flip");function Xae(t){let e={};return t.forEach(([r,n])=>e[r]=n),e}o(Xae,"fromPairs");function vB(t,e){if(arguments.length===1)return n=>vB(t,n);let r={};for(let n=0;n<e.length;n++){let i=e[n],s=t(i);r[s]||(r[s]=[]),r[s].push(i)}return r}o(vB,"groupBy");function Qae(t,e){if(!Ft(e))throw new TypeError("list.reduce is not a function");let r=Us(e);if(e.length===1)return[r];let n=[],i=[];return r.reduce((s,u,a)=>{if(a===0)return u;let c=t(s,u),l=i.length===0,f=a===e.length-1;return c?(l&&i.push(s),i.push(u),f&&n.push(i),u):l?(n.push([s]),f&&n.push([u]),u):(n.push(i),f&&n.push([u]),i=[],u)},void 0),n}o(Qae,"groupWith");function xB(t,e){return arguments.length===1?r=>xB(t,r):e?e.hasOwnProperty(t):!1}o(xB,"has");function FB(t,e){return arguments.length===1?r=>FB(t,r):ni(t,e)!==void 0}o(FB,"hasPath");function Jae(t){return typeof t=="string"?t[0]||"":t[0]}o(Jae,"head");function Zae(t,e){return t===e?t!==0||1/t===1/e:t!==t&&e!==e}o(Zae,"_objectIs");var ece=Object.is||Zae;function wB(t,e){return arguments.length===1?r=>wB(t,r):ece(t,e)}o(wB,"identical");function tce(t){return t}o(tce,"identity");function rce(t,e,r){return(...n)=>(typeof t=="boolean"?t:t(...n))===!0?e(...n):r(...n)}o(rce,"ifElseFn");var nce=jt(rce),ice=o(t=>t+1,"inc");function oce(t,e){let r={};for(let n=0;n<e.length;n++){let i=e[n];r[ni(t,i)]=i}return r}o(oce,"indexByPath");function bB(t,e){if(arguments.length===1)return n=>bB(t,n);if(typeof t=="string")return oce(t,e);let r={};for(let n=0;n<e.length;n++){let i=e[n];r[t(i)]=i}return r}o(bB,"indexBy");function sce(t,e){return arguments.length===1?r=>$a(t,r):$a(t,e)}o(sce,"indexOf");function AB(t,e){return arguments.length===1?r=>AB(t,r):bu(r=>qs(r,t),e)}o(AB,"intersection");function _B(t,e){if(arguments.length===1)return s=>_B(t,s);let r=-1,n=e.length,i=[];for(;++r<n;)r===n-1?i.push(e[r]):i.push(e[r],t);return i}o(_B,"intersperse");function Uw(t,e){return arguments.length===1?r=>Uw(t,r):e!=null&&e.constructor===t||e instanceof t}o(Uw,"is");function uce(t){let e=We(t);return["Undefined","NaN","Number","Null"].includes(e)?!1:t?e==="Object"?Object.keys(t).length===0:e==="Array"?t.length===0:!1:!0}o(uce,"isEmpty");function ace(t){return t==null}o(ace,"isNil");function RB(t,e){return arguments.length===1?r=>RB(t,r):e.join(t)}o(RB,"join");function cce(t){return(...e)=>t.map(r=>r(...e))}o(cce,"juxt");function lce(t){return Object.keys(t)}o(lce,"keys");function fce(t){return typeof t=="string"?t[t.length-1]||"":t[t.length-1]}o(fce,"last");function dce(t,e){return arguments.length===1?r=>pw(t,r):pw(t,e)}o(dce,"lastIndexOf");function pce(t){return Ft(t)||typeof t=="string"?t.length:NaN}o(pce,"length");function u0(t,e){return function(r){return function(n){return r(t(n)).map(i=>e(i,n))}}}o(u0,"lens");function Gw(t,e){if(arguments.length===1)return n=>Gw(t,n);let r=t<0?e.length+t:t;return Object.prototype.toString.call(e)==="[object String]"?e.charAt(r):e[r]}o(Gw,"nth");function Ww(t,e,r){let n=Us(r);return t===-1?n.fill(e,t):n.fill(e,t,t+1)}o(Ww,"updateFn");var SB=jt(Ww);function mce(t){return u0(Gw(t),SB(t))}o(mce,"lensIndex");function hce(t){return u0(ni(t),Cl(t))}o(hce,"lensPath");function gce(t){return u0(ja(t),JD(t))}o(gce,"lensProp");function TB(t,e){if(arguments.length===1)return n=>TB(t,n);let r=e.match(t);return r===null?[]:r}o(TB,"match");function PB(t,e){return arguments.length===1?r=>PB(t,r):!El(t)||!El(e)||e<1?NaN:(t%e+e)%e}o(PB,"mathMod");function kB(t,e,r){return t(r)>t(e)?r:e}o(kB,"maxByFn");var Dce=jt(kB);function IB(t){return t.reduce((e,r)=>e+r,0)}o(IB,"sum");function OB(t){return IB(t)/t.length}o(OB,"mean");function yce(t){let e=t.length;if(e===0)return NaN;let r=2-e%2,n=(e-r)/2;return OB(Array.prototype.slice.call(t,0).sort((i,s)=>i===s?0:i<s?-1:1).slice(n,n+r))}o(yce,"median");function NB(t,e){return arguments.length===1?r=>NB(t,r):Ua(e,t)}o(NB,"mergeLeft");function Ece(t,e,r){let n={};return Object.keys(e).forEach(i=>{r[i]===void 0?n[i]=e[i]:n[i]=t(e[i],r[i])}),Object.keys(r).forEach(i=>{n[i]===void 0&&(e[i]===void 0?n[i]=r[i]:n[i]=t(e[i],r[i]))}),n}o(Ece,"mergeWithFn");var Cce=jt(Ece);function BB(t,e){return arguments.length===1?r=>BB(t,r):e<t?e:t}o(BB,"min");function LB(t,e,r){return t(r)<t(e)?r:e}o(LB,"minByFn");var vce=jt(LB);function xce(t){return Array.isArray(t)||We(t)==="Object"}o(xce,"isIterable");function Fce(t,e,r){return!xce(r)||r[t]===void 0?r:Ft(r)?Ww(t,e(r[t]),r):ps(ps({},r),{},{[t]:e(r[t])})}o(Fce,"modifyFn");var wce=jt(Fce);function MB(t,e,r){let n=qa(t);if(n.length===1)return ps(ps({},r),{},{[n[0]]:e(r[n[0]])});if(ni(n,r)===void 0)return r;let i=$B(Array.prototype.slice.call(n,1),e,r[n[0]]);return i===r[n[0]]?r:JD(n[0],i,r)}o(MB,"modifyPathFn");var $B=jt(MB);function jB(t,e){return arguments.length===1?r=>jB(t,r):t%e}o(jB,"modulo");function bce(t,e,r){if(t<0||e<0)throw new Error("Rambda.move does not support negative indexes");if(t>r.length-1||e>r.length-1)return r;let n=Us(r);return n[t]=r[e],n[e]=r[t],n}o(bce,"moveFn");var Ace=jt(bce);function Hw(t,e){return arguments.length===1?r=>Hw(t,r):t*e}o(Hw,"multiply");function _ce(t){return-t}o(_ce,"negate");function qB(t,e){if(arguments.length===1)return r=>qB(t,r);for(let r=0;r<e.length;r++)if(t(e[r]))return!1;return!0}o(qB,"none");function Rce(){}o(Rce,"nop");function Sce(t){return!t}o(Sce,"not");function UB(t,e){return arguments.length===1?r=>UB(t,r):{[t]:e}}o(UB,"objOf");function Tce(t){return[t]}o(Tce,"of");function Cw(t,e,r,n){return arguments.length===3?i=>Cw(t,e,r,i):arguments.length===2?(i,s)=>Cw(t,e,i,s):t(e(r),e(n))}o(Cw,"on");function QO(t,e){let r;return function(){return t&&(r=t.apply(e||this,arguments),t=null),r}}o(QO,"onceFn");function Pce(t,e){if(arguments.length===1){let r=QO(t,e);return jt(r)}return QO(t,e)}o(Pce,"once");function GB(t,e){return arguments.length===1?r=>GB(t,r):t||e}o(GB,"or");var WB=o(t=>({x:t,map:e=>WB(e(t))}),"Identity");function kce(t,e,r){return t(n=>WB(e(n)))(r).x}o(kce,"overFn");var HB=jt(kce);function VB(t,...e){let r=t.length;return(...n)=>e.length+n.length>=r?t(...e,...n):VB(t,...e,...n)}o(VB,"partial");function Ice(t,e,r){return ii(ni(t,r),e)}o(Ice,"pathEqFn");var Oce=jt(Ice);function Nce(t,e,r){return Sp(t,ni(e,r))}o(Nce,"pathOrFn");var Bce=jt(Nce);function KB(t,e){return arguments.length===1?r=>KB(t,r):t.map(r=>ni(r,e))}o(KB,"paths");function zB(t,e){if(arguments.length===1)return s=>zB(t,s);if(e==null)return;let r=qa(t,","),n={},i=0;for(;i<r.length;)r[i]in e?n[r[i]]=e[r[i]]:n[r[i]]=void 0,i++;return n}o(zB,"pickAll");function YB(t,e){if(arguments.length===1)return n=>YB(t,n);let r=[];return zo(n=>{n[t]!==void 0&&r.push(n[t])},e),r}o(YB,"pluck");function XB(t,e){return arguments.length===1?r=>XB(t,r):typeof e=="string"?[t].concat(e.split("")):[t].concat(e)}o(XB,"prepend");var Lce=r0(Hw,1);function Mce(t,e,r){return r?ii(e,ja(t,r)):!1}o(Mce,"propEqFn");var $ce=jt(Mce);function jce(t,e,r){return Uw(t,r[e])}o(jce,"propIsFn");var qce=jt(jce);function Uce(t,e,r){return r?Sp(t,r[e]):t}o(Uce,"propOrFn");var Gce=jt(Uce);function Wce(t,e,r){return t(ja(e,r))}o(Wce,"propSatisfiesFn");var Hce=jt(Wce);function QB(t,e){if(arguments.length===1)return r=>QB(t,r);if(!Ft(t))throw new Error("propsToPick is not a list");return xl(r=>e[r],t)}o(QB,"props");function JB(t,e){return arguments.length===1?r=>JB(t,r):bu(r=>!t(r),e)}o(JB,"reject");function ZB(t,e){return arguments.length===1?r=>ZB(t,r):Array(e).fill(t)}o(ZB,"repeat");function Vce(t){return typeof t=="string"?t.split("").reverse().join(""):t.slice().reverse()}o(Vce,"reverse");function Kce(t,e,r){return HB(t,VN(e),r)}o(Kce,"setFn");var zce=jt(Kce);function Yce(t,e,r){return r.slice(t,e)}o(Yce,"sliceFn");var Xce=jt(Yce);function eL(t,e){return arguments.length===1?r=>eL(t,r):e.split(t)}o(eL,"split");function tL(t,e){if(arguments.length===1)return n=>tL(t,n);if(!e)throw new TypeError(`Cannot read property 'slice' of ${e}`);if(!Ft(e)&&typeof e!="string")return[[],[]];let r=AN(t<0,e.length+t<0?0:e.length+t,t);return[wl(r,e),s0(r,e)]}o(tL,"splitAt");function rL(t,e){if(arguments.length===1)return u=>rL(t,u);if(!e)throw new TypeError(`Cannot read property 'length' of ${e}`);let r=[],n=[],i=!1,s=-1;for(;s++<e.length-1;)i?n.push(e[s]):t(e[s])?(n.push(e[s]),i=!0):r.push(e[s]);return[r,n]}o(rL,"splitWhen");function nL(t,e){if(arguments.length===1)return i=>nL(t,i);if(typeof e=="string")return e.startsWith(t);if(!Ft(t))return!1;let r=!0;return t.filter((i,s)=>{if(!r)return!1;let u=ii(i,e[s]);return u||(r=!1),u}).length===t.length}o(nL,"startsWith");function iL(t,e){return arguments.length===1?r=>iL(t,r):t-e}o(iL,"subtract");function oL(t,e){return arguments.length===1?r=>oL(t,r):$w(bu(r=>!qs(r,e),t),bu(r=>!qs(r,t),e))}o(oL,"symmetricDifference");function Qce(t){return s0(1,t)}o(Qce,"tail");function sL(t,e){if(arguments.length===1)return i=>sL(t,i);let r=e.length;if(t<0)return e.slice();let n=t>r?r:t;return typeof e=="string"?e.slice(r-n):(n=r-n,bw(e,n,r))}o(sL,"takeLast");function uL(t,e){if(arguments.length===1)return i=>uL(t,i);if(e.length===0)return e;let r=[],n=e.length;for(;n;){let i=e[--n];if(!t(i))break;r.push(i)}return Ft(e)?r.reverse():r.reverse().join("")}o(uL,"takeLastWhile");function aL(t,e){if(arguments.length===1)return s=>aL(t,s);let r=Ft(e);if(!r&&typeof e!="string")throw new Error("`iterable` is neither list nor a string");let n=[],i=0;for(;i<e.length;){let s=e[i++];if(!t(s))break;n.push(s)}return r?n:n.join("")}o(aL,"takeWhile");function cL(t,e){return arguments.length===1?r=>cL(t,r):(t(e),e)}o(cL,"tap");function lL(t,e){if(arguments.length===1)return r=>lL(t,r);if(!El(e)||e<0)throw new RangeError("n must be an integer");return zo(t,i0(0,e))}o(lL,"times");function Jce(t){return Object.entries(t)}o(Jce,"toPairs");function Zce(t){return t.toString()}o(Zce,"toString");function ele(t){return t.toUpperCase()}o(ele,"toUpper");function tle(t){return t.reduce((e,r)=>(r.forEach((n,i)=>Ft(e[i])?e[i].push(n):e.push([n])),e),[])}o(tle,"transpose");function rle(t){return t.trim()}o(rle,"trim");var JO=o(t=>["Promise","Function"].includes(We(t)),"isFunction");function nle(t,e){if(!JO(t))throw new Error(`R.tryCatch | fn '${t}'`);let r=JO(e);return(...n)=>{try{return t(...n)}catch(i){return r?e(i,...n):e}}}o(nle,"tryCatch");function ile(t){return function(...e){return t.call(this,e)}}o(ile,"unapply");function fL(t,e){if(arguments.length===1)return n=>fL(t,n);let r=Us(t);return e.forEach(n=>{qs(n,t)||r.push(n)}),r}o(fL,"union");function dL(t,e){if(arguments.length===1)return n=>dL(t,n);let r=new QD;return e.filter(n=>r.checkUniqueness(t(n)))}o(dL,"uniqBy");function ole(t,e,r){let n=!1,i=-1;for(;++i<r.length&&!n;){let s=r[i];t(e,s)&&(n=!0)}return n}o(ole,"includesWith");function pL(t,e){if(arguments.length===1)return i=>pL(t,i);let r=-1,n=[];for(;++r<e.length;){let i=e[r];ole(t,i,n)||n.push(i)}return n}o(pL,"uniqWith");function mL(t,e){return arguments.length===1?r=>mL(t,r):r=>t(r)?r:e(r)}o(mL,"unless");function sle(t){return t.reduce((e,r)=>Array.isArray(r)?[...e,...r]:[...e,r],[])}o(sle,"unnest");function hL(t,e){return arguments.length===1?r=>hL(t,r):Ft(e[t])?xl(r=>ps(ps({},e),{},{[t]:r}),e[t]):[e]}o(hL,"unwind");function ule(t){return We(t)!=="Object"?[]:Object.values(t)}o(ule,"values");function ale(t,e,r){return t(r)?e(r):r}o(ale,"whenFn");var cle=jt(ale);function gL(t,e){if(e===void 0)return n=>gL(t,n);let r=!0;for(let n in t){if(!r)continue;let i=t[n](e[n]);r&&i===!1&&(r=!1)}return r}o(gL,"where");function DL(t,e){if(e===void 0)return r=>DL(t,r);for(let r in t)if(t[r](e[r]))return!0;return!1}o(DL,"whereAny");function yL(t,e){if(arguments.length===1)return n=>yL(t,n);let r=bu((n,i)=>ii(n,e[i]),t);return Object.keys(r).length===Object.keys(t).length}o(yL,"whereEq");function EL(t,e){return e===void 0?r=>EL(t,r):r0((r,n)=>$a(n,t)>-1?r:r.concat(n),[],e)}o(EL,"without");function CL(t,e){return arguments.length===1?r=>CL(t,r):!!t&&!e||!!e&&!t}o(CL,"xor");function vL(t,e){if(arguments.length===1)return i=>vL(t,i);let r=[],n=Math.min(t.length,e.length);for(let i=0;i<n;i++)r[i]=[t[i],e[i]];return r}o(vL,"zip");function xL(t,e){return arguments.length===1?r=>xL(t,r):wl(e.length,t).reduce((r,n,i)=>(r[n]=e[i],r),{})}o(xL,"zipObj");function lle(t,e,r){return wl(e.length>r.length?r.length:e.length,e).map((n,i)=>t(n,r[i]))}o(lle,"zipWithFn");var fle=jt(lle);T.DELAY=nN;T.F=Iae;T.T=Oae;T.__findHighestArity=Mw;T._arity=_N;T._indexOf=$a;T._lastIndexOf=pw;T._pipe=RN;T.add=HN;T.adjust=Bae;T.all=ww;T.allFalse=Cue;T.allPass=Lae;T.allTrue=vue;T.allType=xue;T.always=VN;T.and=KN;T.any=_p;T.anyFalse=Fue;T.anyPass=Mae;T.anyTrue=wue;T.anyType=bue;T.append=zN;T.apply=YN;T.applyDiff=tN;T.applySpec=$ae;T.assoc=JD;T.assocPath=Cl;T.bind=JN;T.both=ZN;T.chain=eB;T.check=Sw;T.clamp=qae;T.clone=Iw;T.complement=Uae;T.compose=SN;T.composeAsync=Tue;T.concat=$w;T.cond=Gae;T.contains=rN;T.converge=tB;T.count=rB;T.countBy=nB;T.curry=jt;T.curryN=o0;T.debounce=kue;T.dec=Wae;T.defaultTo=Sp;T.delay=iN;T.deletePath=mw;T.difference=oB;T.dissoc=sB;T.divide=uB;T.drop=s0;T.dropLast=aB;T.dropLastWhile=cB;T.dropRepeats=Hae;T.dropRepeatsWith=lB;T.dropWhile=fB;T.either=dB;T.endsWith=pB;T.eqProps=Kae;T.equals=ii;T.evolve=qw;T.evolveArray=mB;T.evolveObject=hB;T.excludes=oN;T.filter=bu;T.filterArray=e0;T.filterAsync=Oue;T.filterAsyncFn=hw;T.filterIndexed=sN;T.filterObject=ZD;T.find=gB;T.findAsync=aN;T.findAsyncFn=uN;T.findIndex=DB;T.findLast=yB;T.findLastIndex=EB;T.flatten=CB;T.flattenObject=Nue;T.flattenObjectHelper=vw;T.flip=Yae;T.forEach=_w;T.forEachIndexed=fN;T.fromPairs=Xae;T.fromPrototypeToString=KD;T.getter=Mue;T.glue=dN;T.groupBy=vB;T.groupWith=Qae;T.has=xB;T.hasPath=FB;T.head=Jae;T.identical=wB;T.identity=tce;T.ifElse=nce;T.ifElseAsync=que;T.inc=ice;T.includes=qs;T.indexBy=bB;T.indexOf=sce;T.init=gN;T.interpolate=pN;T.intersection=AB;T.intersperse=_B;T.is=Uw;T.isEmpty=uce;T.isNil=ace;T.isPromise=mN;T.isPrototype=yN;T.isType=hN;T.isValid=vl;T.isValidAsync=Kue;T.join=RB;T.juxt=cce;T.keys=lce;T.last=fce;T.lastIndexOf=dce;T.length=pce;T.lens=u0;T.lensEq=Yue;T.lensIndex=mce;T.lensPath=hce;T.lensProp=gce;T.lensSatisfies=Que;T.map=zo;T.mapArray=xl;T.mapAsync=t0;T.mapIndexed=xw;T.mapKeys=vN;T.mapObjIndexed=Lue;T.mapObject=Fl;T.mapParallelAsync=xN;T.mapParallelAsyncFn=zD;T.mapParallelAsyncWithLimit=Jue;T.mapToObject=wN;T.mapToObjectAsync=Zue;T.mapToObjectAsyncFn=Dw;T.mapcat=bN;T.match=TB;T.mathMod=PB;T.max=jw;T.maxBy=Dce;T.maxByFn=kB;T.maybe=AN;T.mean=OB;T.median=yce;T.memoize=TN;T.memoizeWith=PN;T.merge=Ua;T.mergeAll=FN;T.mergeDeepRight=XD;T.mergeLeft=NB;T.mergeRight=Ua;T.mergeWith=Cce;T.min=BB;T.minBy=vce;T.minByFn=LB;T.modify=wce;T.modifyPath=$B;T.modifyPathFn=MB;T.modulo=jB;T.move=Ace;T.multiply=Hw;T.negate=_ce;T.nextIndex=iae;T.none=qB;T.nop=Rce;T.not=Sce;T.nth=Gw;T.objOf=UB;T.of=Tce;T.ok=Tw;T.omit=Bw;T.on=Cw;T.once=Pce;T.or=GB;T.over=HB;T.partial=VB;T.partialCurry=kN;T.partialObject=kN;T.partition=IN;T.partitionArray=Nw;T.partitionAsync=sae;T.partitionIndexed=ON;T.partitionObject=Ow;T.pass=uae;T.path=ni;T.pathEq=Oce;T.pathOr=Bce;T.paths=KB;T.pick=Fw;T.pickAll=zB;T.pipe=kw;T.pipeAsync=aae;T.piped=cae;T.pipedAsync=lae;T.pluck=YB;T.prepend=XB;T.prevIndex=fae;T.produce=yw;T.produceAsync=pae;T.product=Lce;T.prop=ja;T.propEq=$ce;T.propIs=qce;T.propOr=Gce;T.propSatisfies=Hce;T.props=QB;T.prototypeToString=EN;T.random=mae;T.range=i0;T.reduce=r0;T.reduceFn=Pw;T.reduceStopper=eae;T.reject=JB;T.rejectIndexed=NN;T.remove=BN;T.removeAtPath=eN;T.removeIndex=LN;T.renameProps=MN;T.repeat=ZB;T.replace=Ap;T.replaceAll=gae;T.reset=jue;T.reverse=Vce;T.schemaToString=gw;T.set=zce;T.setter=$ue;T.shuffle=Dae;T.slice=Xce;T.sort=n0;T.sortBy=Lw;T.sortByPath=$N;T.sortByProps=jN;T.sortObject=qN;T.split=eL;T.splitAt=tL;T.splitEvery=Rw;T.splitWhen=rL;T.startsWith=nL;T.subtract=iL;T.sum=IB;T.switcher=xae;T.symmetricDifference=oL;T.tail=Qce;T.take=wl;T.takeLast=sL;T.takeLastWhile=uL;T.takeUntil=Fae;T.takeWhile=aL;T.tap=cL;T.tapAsync=wae;T.test=Aw;T.throttle=bae;T.times=lL;T.toDecimal=Aae;T.toLower=DN;T.toPairs=Jce;T.toString=Zce;T.toUpper=ele;T.transformFlatObject=cN;T.transpose=tle;T.trim=rle;T.tryCatch=nle;T.tryCatchAsync=_ae;T.type=We;T.unapply=ile;T.union=fL;T.uniq=iB;T.uniqBy=dL;T.uniqWith=pL;T.unless=mL;T.unnest=sle;T.unwind=hL;T.update=SB;T.updateFn=Ww;T.updateObject=GN;T.values=ule;T.view=Rp;T.viewOr=Tae;T.wait=Pae;T.waitFor=kae;T.when=cle;T.where=gL;T.whereAny=DL;T.whereEq=yL;T.without=EL;T.xnor=WN;T.xor=CL;T.zip=vL;T.zipObj=xL;T.zipWith=fle});var Pl,b0=D(()=>{Pl={name:"likec4",version:"0.60.3",license:"MIT",homepage:"https://likec4.dev",author:"Denis Davydkov <denis@davydkov.com>",repository:{type:"git",url:"https://github.com/likec4/likec4.git",directory:"packages/likec4"},engines:{node:"^18.0.0 || >=20.0.0"},bugs:"https://github.com/likec4/likec4/issues",files:["bin","dist","!dist/@likec4/**/*.d.ts","!**/*.map"],type:"module",bin:"./bin/likec4.mjs",scripts:{"build:turbo":"run -T turbo run build --filter='likec4'","typecheck:app":"tsc --noEmit -p ./app/tsconfig.json","typecheck:cli":"tsc --noEmit -p ./tsconfig.src.json",typecheck:"run 'typecheck:cli' && run 'typecheck:app'",build:"tsx scripts/build.ts",prepack:"tsx scripts/prepack.ts",postpack:"tsx scripts/postpack.ts",lint:"run -T eslint src/ --fix",test:"run -T vitest run","test:watch":"run -T vitest",clean:"run -T rimraf dist app/dist dev/.export dev/dist node_modules/.vite",dev:"tsx watch src/cli/index.ts serve dev","dev:bigbank":"tsx watch src/cli/index.ts serve ../../docs/likec4/bigbank","dev:index-page":"tsx watch src/cli/index.ts serve ../../docs/likec4/index-page","dev:template":"tsx watch src/cli/index.ts serve ../create-likec4/template","dev:example":"tsx watch src/cli/index.ts serve ../../examples/diagrams-dev/likec4",cli:"tsx src/cli/index.ts","cli:serve":"tsx watch src/cli/index.ts serve dev","cli:build":"tsx src/cli/index.ts build -o dev/dist dev","cli:preview":"tsx src/cli/index.ts preview -o dev/dist dev","cli:export":"tsx src/cli/index.ts export png -o dev/export dev","cli:export:json":"tsx src/cli/index.ts export json -o dev/export/likec4.json dev"},dependencies:{"@nanostores/react":"^0.7.1","@nanostores/router":"^0.11.0","@radix-ui/react-icons":"^1.3.0","@radix-ui/themes":"^2.0.3","@react-hookz/web":"^24.0.4","@vitejs/plugin-react":"^4.2.1",autoprefixer:"^10.4.17",classnames:"^2.3.2",clsx:"^1.2.1",jotai:"^2.6.4",nanostores:"^0.9.5",playwright:"1.42.1",postcss:"^8.4.35","postcss-nested":"^6.0.1","prop-types":"^15.8.1",react:"^18.2.0","react-accessible-treeview":"^2.8.3","react-dom":"^18.2.0","react-resizable-panels":"^0.0.63",remeda:"^1.40.1",vite:"^5.1.4"},devDependencies:{"@likec4/core":"workspace:*","@likec4/diagrams":"workspace:*","@likec4/generators":"workspace:*","@likec4/language-server":"workspace:*","@likec4/layouts":"workspace:*","@types/mermaid":"^9.2.0","@types/node":"^20.11.25","@types/prop-types":"^15.7.11","@types/react":"^18.2.0","@types/react-dom":"^18.2.0","@types/yargs":"^17.0.32",boxen:"^7.1.1","ci-info":"^3.9.0",esbuild:"^0.19.12","esbuild-node-externals":"^1.13.0",execa:"^8.0.1","get-port":"^7.0.0",json5:"^2.2.3",mkdirp:"^3.0.1",picocolors:"^1.0.0","pretty-ms":"^8.0.0","strip-indent":"^4.0.0",tsx:"^4.7.1","type-fest":"^4.10.3",typescript:"^5.4.2","typescript-plugin-css-modules":"^5.1.0",vitest:"^1.4.0",yargs:"^17.7.2"},publishConfig:{registry:"https://registry.npmjs.org",access:"public"},packageManager:"yarn@4.1.1",volta:{extends:"../../package.json"}}});var F8,w8,b8,kl,A8=D(()=>{"use strict";F8={fill:"#3b82f6",stroke:"#2563eb",hiContrast:"#eff6ff",loContrast:"#bfdbfe"},w8={fill:"#0284c7",stroke:"#0369a1",hiContrast:"#f0f9ff",loContrast:"#B6ECF7"},b8={fill:"#64748b",stroke:"#475569",hiContrast:"#f8fafc",loContrast:"#cbd5e1"},kl={primary:F8,blue:F8,secondary:w8,sky:w8,muted:b8,slate:b8,gray:{fill:"#737373",stroke:"#525252",hiContrast:"#fafafa",loContrast:"#d4d4d4"},red:{fill:"#AC4D39",stroke:"#853A2D",hiContrast:"#FBD3CB",loContrast:"#FF977D"},green:{fill:"#428a4f",stroke:"#2d5d39",hiContrast:"#f8fafc",loContrast:"#c2f0c2"},amber:{fill:"#A35829",stroke:"#7E451D",hiContrast:"#FFE0C2",loContrast:"#FFA057"},indigo:{fill:"#6366f1",stroke:"#4f46e5",hiContrast:"#eef2ff",loContrast:"#c7d2fe"}}});var ufe,_8,R8,S8,T8,P8=D(()=>{"use strict";ufe={lineColor:"#6E6E6E",labelBgColor:"#18191b",labelColor:"#C6C6C6"},_8={lineColor:"#64748b",labelBgColor:"#0f172a",labelColor:"#cbd5e1"},R8={lineColor:"#3b82f6",labelBgColor:"#172554",labelColor:"#60a5fa"},S8={lineColor:"#0ea5e9",labelBgColor:"#082f49",labelColor:"#38bdf8"},T8={amber:{lineColor:"#b45309",labelBgColor:"#78350f",labelColor:"#FFE0C2"},blue:R8,gray:ufe,green:{lineColor:"#15803d",labelBgColor:"#052e16",labelColor:"#22c55e"},indigo:{lineColor:"#6366f1",labelBgColor:"#1e1b4b",labelColor:"#818cf8"},muted:_8,primary:R8,red:{lineColor:"#AC4D39",labelBgColor:"#b91c1c",labelColor:"#FF977D"},secondary:S8,sky:S8,slate:_8}});var k8,I8=D(()=>{"use strict";A8();P8();k8={elements:kl,relationships:T8,font:"Helvetica",shadow:"#0a0a0a"}});var M8=I((wb,L8)=>{"use strict";var{hasOwnProperty:_0}=Object.prototype,nc=Fb();nc.configure=Fb;nc.stringify=nc;nc.default=nc;wb.stringify=nc;wb.configure=Fb;L8.exports=nc;var afe=/[\u0000-\u001f\u0022\u005c\ud800-\udfff]|[\ud800-\udbff](?![\udc00-\udfff])|(?:[^\ud800-\udbff]|^)[\udc00-\udfff]/;function ku(t){return t.length<5e3&&!afe.test(t)?`"${t}"`:JSON.stringify(t)}o(ku,"strEscape");function vb(t){if(t.length>200)return t.sort();for(let e=1;e<t.length;e++){let r=t[e],n=e;for(;n!==0&&t[n-1]>r;)t[n]=t[n-1],n--;t[n]=r}return t}o(vb,"insertSort");var cfe=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(Object.getPrototypeOf(new Int8Array)),Symbol.toStringTag).get;function xb(t){return cfe.call(t)!==void 0&&t.length!==0}o(xb,"isTypedArrayWithEntries");function O8(t,e,r){t.length<r&&(r=t.length);let n=e===","?"":" ",i=`"0":${n}${t[0]}`;for(let s=1;s<r;s++)i+=`${e}"${s}":${n}${t[s]}`;return i}o(O8,"stringifyTypedArray");function lfe(t){if(_0.call(t,"circularValue")){let e=t.circularValue;if(typeof e=="string")return`"${e}"`;if(e==null)return e;if(e===Error||e===TypeError)return{toString(){throw new TypeError("Converting circular structure to JSON")}};throw new TypeError('The "circularValue" argument must be of type string or the value null or undefined')}return'"[Circular]"'}o(lfe,"getCircularValueOption");function N8(t,e){let r;if(_0.call(t,e)&&(r=t[e],typeof r!="boolean"))throw new TypeError(`The "${e}" argument must be of type boolean`);return r===void 0?!0:r}o(N8,"getBooleanOption");function B8(t,e){let r;if(_0.call(t,e)){if(r=t[e],typeof r!="number")throw new TypeError(`The "${e}" argument must be of type number`);if(!Number.isInteger(r))throw new TypeError(`The "${e}" argument must be an integer`);if(r<1)throw new RangeError(`The "${e}" argument must be >= 1`)}return r===void 0?1/0:r}o(B8,"getPositiveIntegerOption");function rc(t){return t===1?"1 item":`${t} items`}o(rc,"getItemCount");function ffe(t){let e=new Set;for(let r of t)(typeof r=="string"||typeof r=="number")&&e.add(String(r));return e}o(ffe,"getUniqueReplacerSet");function dfe(t){if(_0.call(t,"strict")){let e=t.strict;if(typeof e!="boolean")throw new TypeError('The "strict" argument must be of type boolean');if(e)return r=>{let n=`Object can not safely be stringified. Received type ${typeof r}`;throw typeof r!="function"&&(n+=` (${r.toString()})`),new Error(n)}}}o(dfe,"getStrictOption");function Fb(t){t={...t};let e=dfe(t);e&&(t.bigint===void 0&&(t.bigint=!1),"circularValue"in t||(t.circularValue=Error));let r=lfe(t),n=N8(t,"bigint"),i=N8(t,"deterministic"),s=B8(t,"maximumDepth"),u=B8(t,"maximumBreadth");function a(g,h,F,v,x,R){let _=h[g];switch(typeof _=="object"&&_!==null&&typeof _.toJSON=="function"&&(_=_.toJSON(g)),_=v.call(h,g,_),typeof _){case"string":return ku(_);case"object":{if(_===null)return"null";if(F.indexOf(_)!==-1)return r;let A="",B=",",W=R;if(Array.isArray(_)){if(_.length===0)return"[]";if(s<F.length+1)return'"[Array]"';F.push(_),x!==""&&(R+=x,A+=`
|
|
10
|
+
`):`Failed R.ok - ${r}`;throw new Error(i)}}}o(Tw,"ok");function wN(t,e){return arguments.length===1?r=>wN(t,r):(Tw(We(t),We(e))("Function","Array"),FN(zo(t,e)))}o(wN,"mapToObject");async function Dw(t,e){let r={};return await t0(o(async i=>{let s=await t(i);s!==!1&&(r=ps(ps({},r),s))},"innerIterable"),e),r}o(Dw,"mapToObjectAsyncFn");function Zue(t,e){return arguments.length===1?async r=>Dw(t,r):new Promise((r,n)=>{Dw(t,e).then(r).catch(n)})}o(Zue,"mapToObjectAsync");function bN(t,e){if(arguments.length===1)return i=>bN(t,i);let r=[];return e.map(i=>i.map(s=>t(s))).forEach(i=>{r=[...r,...i]}),r}o(bN,"mapcat");function AN(t,e,r){let n=t&&We(e)==="Function"?e():e,i=!t&&We(r)==="Function"?r():r;return t?n:i}o(AN,"maybe");var YD=class{static{o(this,"ReduceStopper")}constructor(e){this.value=e}};function Pw(t,e,r){if(!Ft(r))throw new TypeError("reduce: list must be array or iterable");let n=0,i=r.length;for(;n<i;){if(e=t(e,r[n],n,r),e instanceof YD)return e.value;n++}return e}o(Pw,"reduceFn");var r0=jt(Pw),eae=o(t=>new YD(t),"reduceStopper");function _N(t,e){switch(t){case 0:return function(){return e.apply(this,arguments)};case 1:return function(r){return e.apply(this,arguments)};case 2:return function(r,n){return e.apply(this,arguments)};case 3:return function(r,n,i){return e.apply(this,arguments)};case 4:return function(r,n,i,s){return e.apply(this,arguments)};case 5:return function(r,n,i,s,u){return e.apply(this,arguments)};case 6:return function(r,n,i,s,u,a){return e.apply(this,arguments)};case 7:return function(r,n,i,s,u,a,c){return e.apply(this,arguments)};case 8:return function(r,n,i,s,u,a,c,l){return e.apply(this,arguments)};case 9:return function(r,n,i,s,u,a,c,l,f){return e.apply(this,arguments)};case 10:return function(r,n,i,s,u,a,c,l,f,p){return e.apply(this,arguments)};default:throw new Error("First argument to _arity must be a non-negative integer no greater than ten")}}o(_N,"_arity$1");function RN(t,e){return function(){return e.call(this,t.apply(this,arguments))}}o(RN,"_pipe");function kw(){if(arguments.length===0)throw new Error("pipe requires at least one argument");return _N(arguments[0].length,Pw(RN,arguments[0],Array.prototype.slice.call(arguments,1,1/0)))}o(kw,"pipe");function SN(){if(arguments.length===0)throw new Error("compose requires at least one argument");return kw.apply(this,Array.prototype.slice.call(arguments,0).reverse())}o(SN,"compose");function tae(t,e,r){return r.replace(t,e)}o(tae,"replaceFn");var Ap=jt(tae);function n0(t,e){return arguments.length===1?r=>n0(t,r):Us(e).sort(t)}o(n0,"sort");function wl(t,e){return arguments.length===1?r=>wl(t,r):t<0?e.slice():typeof e=="string"?e.slice(0,t):bw(e,0,t)}o(wl,"take");var WD={},rae=o(t=>{let e=o((n,i)=>n>i?1:-1,"sortFn"),r={};return SN(zo(n=>r[n]=t[n]),n0(e))(Object.keys(t)),r},"normalizeObject"),KO=o(t=>{let e=We(t);if(e==="String")return t;if(["Function","Promise"].includes(e)){let r=Ap(/\s{1,}/g," ",t.toString());return Ap(/\s/g,"_",wl(15,r))}else if(e==="Object")return JSON.stringify(rae(t));return JSON.stringify(t)},"stringify"),nae=o((t,...e)=>{let r="";return e.forEach(n=>{r+=`${KO(n)}_`}),`${r}${KO(t)}`},"generateProp");function TN(t,...e){if(arguments.length===1)return(...i)=>TN(t,...i);let r=nae(t,...e);if(r in WD)return WD[r];if(We(t)==="Async")return new Promise(i=>{t(...e).then(s=>{WD[r]=s,i(s)})});let n=t(...e);return WD[r]=n,n}o(TN,"memoize");function PN(t,e){if(arguments.length===1)return n=>PN(t,n);let r=new Map;return function(){let n=t.apply(this,arguments);return r.has(n)||r.set(n,e.apply(this,arguments)),r.get(n)}}o(PN,"memoizeWith");function iae(t,e){return t>=e.length-1?0:t+1}o(iae,"nextIndex");function Iw(t){let e=Ft(t)?Array(t.length):{};if(t&&t.getTime)return new Date(t.getTime());for(let r in t){let n=t[r];e[r]=typeof n=="object"&&n!==null?n.getTime?new Date(n.getTime()):Iw(n):n}return e}o(Iw,"clone");function XD(t,e){if(arguments.length===1)return n=>XD(t,n);let r=Iw(t);return Object.keys(e).forEach(n=>{We(e[n])==="Object"&&We(t[n])==="Object"?r[n]=XD(t[n],e[n]):r[n]=e[n]}),r}o(XD,"mergeDeepRight");function kN(t,e){return r=>t(XD(r,e))}o(kN,"partialObject");async function oae(t,e){let r={},n={};return Object.entries(e).forEach(([i,s])=>{t(s,i)?r[i]=s:n[i]=s}),[r,n]}o(oae,"whenObject");async function zO(t,e){if(!Ft(e))return oae(t,e);let r=[],n=[];for(let i in e)await t(e[i],Number(i))?r.push(e[i]):n.push(e[i]);return[r,n]}o(zO,"partitionAsyncFn");function sae(t,e){return arguments.length===1?async r=>zO(t,r):new Promise((r,n)=>{zO(t,e).then(r).catch(n)})}o(sae,"partitionAsync");function Ow(t,e){let r={},n={};return Object.entries(e).forEach(([i,s])=>{t(s,i)?r[i]=s:n[i]=s}),[r,n]}o(Ow,"partitionObject");function Nw(t,e,r=!1){let n=[],i=[],s=-1;for(;s++<e.length-1;)(r?t(e[s],s):t(e[s]))?n.push(e[s]):i.push(e[s]);return[n,i]}o(Nw,"partitionArray");function IN(t,e){return arguments.length===1?r=>IN(t,r):Ft(e)?Nw(t,e):Ow(t,e)}o(IN,"partition");function ON(t,e){return arguments.length===1?r=>ON(t,r):Ft(e)?Nw(t,e,!0):Ow(t,e)}o(ON,"partitionIndexed");function uae(...t){return(...e)=>_p((r,n)=>{let i=e[n]===void 0?e[0]:e[n];return!Sw(r,i)},t)===!1}o(uae,"pass");function aae(...t){return async function(e){let r=e;for(;t.length!==0;)r=t.shift()(r),We(r)==="Promise"&&(r=await r);return r}}o(aae,"pipeAsync");function cae(...t){let[e,...r]=t;return kw(...r)(e)}o(cae,"piped");async function lae(...t){let[e,...r]=t,n=e;for(;r.length!==0;){let i=r.shift();We(i)==="Promise"?n=await i(n):n=i(n)}return n}o(lae,"pipedAsync");function fae(t,e){return t===0?e.length-1:t-1}o(fae,"prevIndex");function yw(t,e){return arguments.length===1?r=>yw(t,r):zo(r=>We(r)==="Object"?yw(r,e):r(e),t)}o(yw,"produce");function dae({condition:t,input:e,prop:r}){return new Promise((n,i)=>{if(We(t)!=="Promise")return n({type:r,payload:t(e)});t(e).then(s=>{n({type:r,payload:s})}).catch(s=>i(s))})}o(dae,"promisify");function YO(t,e){let r=!1;for(let i in t)r===!1&&We(t[i])==="Promise"&&(r=!0);if(r===!1){let i={};for(let s in t)i[s]=t[s](e);return Promise.resolve(i)}let n=[];for(let i in t){let s=t[i];n.push(dae({input:e,condition:s,prop:i}))}return new Promise((i,s)=>{Promise.all(n).then(u=>{let a={};zo(c=>a[c.type]=c.payload,u),i(a)}).catch(u=>s(u))})}o(YO,"produceFn");function pae(t,e){return arguments.length===1?async r=>YO(t,r):new Promise((r,n)=>{YO(t,e).then(r).catch(n)})}o(pae,"produceAsync");function mae(t,e){return Math.floor(Math.random()*(e-t+1))+t}o(mae,"random");function NN(t,e){if(arguments.length===1)return r=>NN(t,r);if(!e)throw new Error(`"${e}" is not iterable`);return Ft(e)?e0((r,n)=>!t(r,n),e,!0):ZD((r,n)=>!t(r,n),e)}o(NN,"rejectIndexed");function BN(t,e){if(arguments.length===1)return n=>BN(t,n);if(We(e)!=="String")throw new Error(`R.remove requires string not ${We(e)}`);if(We(t)!=="Array")return Ap(t,"",e);let r=e;return t.forEach(n=>{r=Ap(n,"",r).trim()}),r}o(BN,"remove");function LN(t,e){return arguments.length===1?r=>LN(t,r):t<=0?e.slice(1):t>=e.length-1?e.slice(0,e.length-1):[...e.slice(0,t),...e.slice(t+1)]}o(LN,"removeIndex");function Bw(t,e){if(arguments.length===1)return i=>Bw(t,i);if(e==null)return;let r=qa(t,","),n={};for(let i in e)r.includes(i)||(n[i]=e[i]);return n}o(Bw,"omit");function MN(t,e){if(arguments.length===1)return n=>MN(t,n);let r={};return Object.keys(t).forEach(n=>{Object.keys(e).includes(n)&&(r[t[n]]=e[n])}),Ua(r,Bw(Object.keys(t),e))}o(MN,"renameProps");function hae(t,e,r){Tw(t,e,r)(Array,String,String);let n=r;return t.forEach(i=>{n=n.replace(i,e)}),n}o(hae,"replaceAllFn");var gae=jt(hae);function Dae(t){let e=t.concat(),r=e.length;for(;r>0;){let n=Math.floor(Math.random()*r);r--;let i=e[r];e[r]=e[n],e[n]=i}return e}o(Dae,"shuffle");function Lw(t,e){return arguments.length===1?n=>Lw(t,n):Us(e).sort((n,i)=>{let s=t(n),u=t(i);return s===u?0:s<u?-1:1})}o(Lw,"sortBy");function $N(t,e){return arguments.length===1?r=>$N(t,r):Lw(ni(t),e)}o($N,"sortByPath");function yae(t,e,r){let n=0;return r.forEach(i=>{if(n!==0)return;let s=ni(i,t),u=ni(i,e);[s,u].includes(void 0)||s!==u&&(n=s>u?1:-1)}),n}o(yae,"singleSort");function jN(t,e){if(arguments.length===1)return n=>jN(t,n);let r=e.slice();return r.sort((n,i)=>yae(n,i,t)),r}o(jN,"sortByProps");function qN(t,e){if(arguments.length===1)return s=>qN(t,s);let r=Object.keys(e),n=n0((s,u)=>t(s,u,e[s],e[u]),r),i={};return n.forEach(s=>{i[s]=e[s]}),i}o(qN,"sortObject");var UN=Symbol?Symbol("NO_MATCH_FOUND"):void 0,Eae=o((t,e,r)=>{let n;for(let i=0;i<t.length;i++)if(n=t[i].test(e),n!==UN)return n;return r},"getMatchingKeyValuePair"),Cae=o((t,e)=>typeof t=="function"?t(e):ii(t,e),"isEqual"),vae=o((t,e=!0)=>({key:t,test:r=>Cae(t,r)?e:UN}),"is$1"),Ew=class t{static{o(this,"Switchem")}constructor(e,r,n){return r===void 0&&n===void 0?(this.cases=[],this.defaultValue=void 0,this.willMatch=e):(this.cases=r,this.defaultValue=e,this.willMatch=n),this}default(e){return new t(e,this.cases,this.willMatch).match(this.willMatch)}is(e,r){return new t(this.defaultValue,[...this.cases,vae(e,r)],this.willMatch)}match(e){return Eae(this.cases,e,this.defaultValue)}};function xae(t){return new Ew(t)}o(xae,"switcher");function Fae(t,e){let r=[],n=!1,i=-1;for(;n===!1&&i++<e.length-1;)t(e[i])?n=!0:r.push(e[i]);return r}o(Fae,"takeUntil");async function XO(t,e){return await t(e),e}o(XO,"tapAsyncFn");function wae(t,e){return arguments.length===1?async r=>XO(t,r):new Promise((r,n)=>{XO(t,e).then(r).catch(n)})}o(wae,"tapAsync");function bae(t,e){let r=!1,n;return function(...i){return r||(n=t.apply(null,i),r=!0,setTimeout(()=>{r=!1},e)),n}}o(bae,"throttle");function Aae(t,e=2){return Number(parseFloat(String(t)).toFixed(e))}o(Aae,"toDecimal");function _ae(t,e){return(...r)=>new Promise(n=>{t(...r).then(n).catch(i=>{if(We(e)!=="Function")return n(e);if(We(e)!=="Promise")return n(e(i,...r));e(i,...r).then(n).catch(n)})})}o(_ae,"tryCatchAsync");function GN(t,e){if(arguments.length===1)return n=>GN(t,n);let r=ps({},e);return t.forEach(([n,i])=>{r=Cl(n,i,r)}),r}o(GN,"updateObject");function Rae(t){return t==null||Number.isNaN(t)===!0}o(Rae,"isFalsy");function Sp(t,e){return arguments.length===1?r=>Sp(t,r):Rae(e)?t:e}o(Sp,"defaultTo");function Sae(t,e,r){return Sp(t,Rp(e,r))}o(Sae,"viewOrFn");var Tae=jt(Sae);function Pae(t){return new Promise(e=>{t.then(r=>e([r,void 0])).catch(r=>e([void 0,r]))})}o(Pae,"wait");function i0(t,e){if(arguments.length===1)return i=>i0(t,i);if(Number.isNaN(Number(t))||Number.isNaN(Number(e)))throw new TypeError("Both arguments to range must be numbers");if(e<t)return[];let r=e-t,n=Array(r);for(let i=0;i<r;i++)n[i]=t+i;return n}o(i0,"range");function kae(t,e,r=10){let n=We(t),i=n==="Promise",s=n==="Function",u=Math.floor(e/r);if(!(i||s))throw new Error("R.waitFor");return async(...a)=>{for(let c of i0(0,r)){let l=await t(...a);if(l===!1)await iN(u);else return l}return!1}}o(kae,"waitFor");function WN(t,e){return arguments.length===1?r=>WN(t,r):!!(t&&e||!t&&!e)}o(WN,"xnor");function Iae(){return!1}o(Iae,"F");function Oae(){return!0}o(Oae,"T");function HN(t,e){return arguments.length===1?r=>HN(t,r):Number(t)+Number(e)}o(HN,"add");function Nae(t,e,r){let n=t<0?r.length+t:t;if(t>=r.length||n<0)return r;let i=Us(r);return i[n]=e(i[n]),i}o(Nae,"adjustFn");var Bae=jt(Nae);function Lae(t){return(...e)=>{let r=0;for(;r<t.length;){if(!t[r](...e))return!1;r++}return!0}}o(Lae,"allPass");function VN(t){return e=>t}o(VN,"always");function KN(t,e){return arguments.length===1?r=>KN(t,r):t&&e}o(KN,"and");function Mae(t){return(...e)=>{let r=0;for(;r<t.length;){if(t[r](...e))return!0;r++}return!1}}o(Mae,"anyPass");function zN(t,e){if(arguments.length===1)return n=>zN(t,n);if(typeof e=="string")return e.split("").concat(t);let r=Us(e);return r.push(t),r}o(zN,"append");function YN(t,e){return arguments.length===1?r=>YN(t,r):t.apply(this,e)}o(YN,"apply");function Mw(t,e=0){for(let r in t)t.hasOwnProperty(r)===!1||r==="constructor"||(typeof t[r]=="object"&&(e=Math.max(e,Mw(t[r]))),typeof t[r]=="function"&&(e=Math.max(e,t[r].length)));return e}o(Mw,"__findHighestArity");function bp(){let t=[],e=0,r=arguments.length;for(;e<r&&!(typeof arguments[e]>"u");)t[e]=arguments[e],e++;return t}o(bp,"__filterUndefined");function wu(t,e,r){let n=e-r.length;if(n===1)return s=>wu(t,e,bp(...r,s));if(n===2)return(s,u)=>wu(t,e,bp(...r,s,u));if(n===3)return(s,u,a)=>wu(t,e,bp(...r,s,u,a));if(n===4)return(s,u,a,c)=>wu(t,e,bp(...r,s,u,a,c));if(n>4)return(...s)=>wu(t,e,bp(...r,...s));if(Ft(t)){let s=[],u=0,a=t.length;for(;u<a;u++)(typeof t[u]=="object"||Ft(t[u]))&&(s[u]=wu(t[u],e,r)),typeof t[u]=="function"&&(s[u]=t[u](...r));return s}let i={};for(let s in t)if(!(t.hasOwnProperty(s)===!1||s==="constructor")){if(typeof t[s]=="object"){i[s]=wu(t[s],e,r);continue}typeof t[s]=="function"&&(i[s]=t[s](...r))}return i}o(wu,"__applySpecWithArity");function $ae(t,...e){let r=Mw(t);return r===0?()=>({}):wu(t,r,e)}o($ae,"applySpec");function XN(t,e,r){return function(){let n=0,i=0,s=e.length,u=arguments.length,a=new Array(s+u);for(;n<s;)a[n]=e[n],n++;for(;i<u;)a[s+i]=arguments[i],i++;let c=t-a.length;return a.length>=t?r.apply(this,a):QN(c,XN(t,a,r))}}o(XN,"_curryN");function QN(t,e){switch(t){case 0:return function(){return e.apply(this,arguments)};case 1:return function(r){return e.apply(this,arguments)};case 2:return function(r,n){return e.apply(this,arguments)};case 3:return function(r,n,i){return e.apply(this,arguments)};case 4:return function(r,n,i,s){return e.apply(this,arguments)};case 5:return function(r,n,i,s,u){return e.apply(this,arguments)};case 6:return function(r,n,i,s,u,a){return e.apply(this,arguments)};case 7:return function(r,n,i,s,u,a,c){return e.apply(this,arguments)};case 8:return function(r,n,i,s,u,a,c,l){return e.apply(this,arguments)};case 9:return function(r,n,i,s,u,a,c,l,f){return e.apply(this,arguments)};default:return function(r,n,i,s,u,a,c,l,f,p){return e.apply(this,arguments)}}}o(QN,"_arity");function o0(t,e){if(arguments.length===1)return r=>o0(t,r);if(t>10)throw new Error("First argument to _arity must be a non-negative integer no greater than ten");return QN(t,XN(t,[],e))}o(o0,"curryN");function JN(t,e){return arguments.length===1?r=>JN(t,r):o0(t.length,(...r)=>t.apply(e,r))}o(JN,"bind");function ZN(t,e){return arguments.length===1?r=>ZN(t,r):(...r)=>t(...r)&&e(...r)}o(ZN,"both");function eB(t,e){return arguments.length===1?r=>eB(t,r):[].concat(...e.map(t))}o(eB,"chain");function jae(t,e,r){if(t>e)throw new Error("min must not be greater than max in clamp(min, max, value)");if(r>=t&&r<=e)return r;if(r>e)return e;if(r<t)return t}o(jae,"clampFn");var qae=jt(jae);function Uae(t){return(...e)=>!t(...e)}o(Uae,"complement");function $w(t,e){return arguments.length===1?r=>$w(t,r):typeof t=="string"?`${t}${e}`:[...t,...e]}o($w,"concat");function Gae(t){return e=>{let r=!1,n;return t.forEach(([i,s])=>{!r&&i(e)&&(r=!0,n=s(e))}),n}}o(Gae,"cond");function jw(t,e){return arguments.length===1?r=>jw(t,r):e>t?e:t}o(jw,"max");function tB(t,e){if(arguments.length===1)return n=>tB(t,n);let r=r0((n,i)=>jw(n,i.length),0,e);return o0(r,function(){return t.apply(this,zo(n=>n.apply(this,arguments),e))})}o(tB,"converge");function rB(t,e){return arguments.length===1?r=>rB(t,r):Ft(e)?e.filter(r=>t(r)).length:0}o(rB,"count");function nB(t,e){if(arguments.length===1)return n=>nB(t,n);let r={};return e.forEach(n=>{let i=t(n);r[i]?r[i]++:r[i]=1}),r}o(nB,"countBy");var Wae=o(t=>t-1,"dec"),QD=class{static{o(this,"_Set")}constructor(){this.set=new Set,this.items={}}checkUniqueness(e){let r=We(e);if(["Null","Undefined","NaN"].includes(r))return r in this.items?!1:(this.items[r]=!0,!0);if(!["Object","Array"].includes(r)){let n=this.set.size;return this.set.add(e),this.set.size!==n}return r in this.items?$a(e,this.items[r])===-1?(this.items[r].push(e),!0):!1:(this.items[r]=[e],!0)}};function iB(t){let e=new QD,r=[];return t.forEach(n=>{e.checkUniqueness(n)&&r.push(n)}),r}o(iB,"uniq");function oB(t,e){return arguments.length===1?r=>oB(t,r):iB(t).filter(r=>!qs(r,e))}o(oB,"difference");function sB(t,e){if(arguments.length===1)return n=>sB(t,n);if(e==null)return{};let r={};for(let n in e)r[n]=e[n];return delete r[t],r}o(sB,"dissoc");function uB(t,e){return arguments.length===1?r=>uB(t,r):t/e}o(uB,"divide");function s0(t,e){return arguments.length===1?r=>s0(t,r):e.slice(t>0?t:0)}o(s0,"drop");function aB(t,e){return arguments.length===1?r=>aB(t,r):t>0?e.slice(0,-t):e.slice()}o(aB,"dropLast");function cB(t,e){if(arguments.length===1)return s=>cB(t,s);if(e.length===0)return e;let r=Ft(e);if(typeof t!="function")throw new Error(`'predicate' is from wrong type ${typeof t}`);if(!r&&typeof e!="string")throw new Error(`'iterable' is from wrong type ${typeof e}`);let n=[],i=e.length;for(;i;){let s=e[--i];if(!t(s)){n.push(s);break}}for(;i;)n.push(e[--i]);return r?n.reverse():n.reverse().join("")}o(cB,"dropLastWhile");function Hae(t){if(!Ft(t))throw new Error(`${t} is not a list`);let e=[];return t.reduce((r,n)=>(ii(r,n)||e.push(n),n),void 0),e}o(Hae,"dropRepeats");function lB(t,e){if(arguments.length===1)return n=>lB(t,n);if(!Ft(e))throw new Error(`${e} is not a list`);let r=[];return e.reduce((n,i)=>n===void 0?(r.push(i),i):(t(n,i)||r.push(i),i),void 0),r}o(lB,"dropRepeatsWith");function fB(t,e){if(arguments.length===1)return s=>fB(t,s);let r=Ft(e);if(!r&&typeof e!="string")throw new Error("`iterable` is neither list nor a string");let n=[],i=0;for(;i<e.length;){let s=e[i++];if(!t(s)){n.push(s);break}}for(;i<e.length;)n.push(e[i++]);return r?n:n.join("")}o(fB,"dropWhile");function dB(t,e){return arguments.length===1?r=>dB(t,r):(...r)=>!!(t(...r)||e(...r))}o(dB,"either");function pB(t,e){if(arguments.length===1)return s=>pB(t,s);if(typeof e=="string")return e.endsWith(t);if(!Ft(t))return!1;let r=e.length-t.length,n=!0;return t.filter((s,u)=>{if(!n)return!1;let a=ii(s,e[u+r]);return a||(n=!1),a}).length===t.length}o(pB,"endsWith");function ja(t,e){if(arguments.length===1)return r=>ja(t,r);if(e)return e[t]}o(ja,"prop");function Vae(t,e,r){return ii(ja(t,e),ja(t,r))}o(Vae,"eqPropsFn");var Kae=jt(Vae);function mB(t,e){return xl((r,n)=>We(t[n])==="Function"?t[n](r):r,e,!0)}o(mB,"evolveArray");function hB(t,e){return Fl((r,n)=>{if(We(r)==="Object"){let i=We(t[n]);return i==="Function"?t[n](r):i==="Object"?qw(t[n],r):r}return We(t[n])==="Function"?t[n](r):r},e)}o(hB,"evolveObject");function qw(t,e){if(arguments.length===1)return i=>qw(t,i);let r=We(t),n=We(e);if(n!==r)throw new Error("iterableType !== rulesType");if(!["Object","Array"].includes(r))throw new Error(`'iterable' and 'rules' are from wrong type ${r}`);return n==="Object"?hB(t,e):mB(t,e)}o(qw,"evolve");function gB(t,e){if(arguments.length===1)return i=>gB(t,i);let r=0,n=e.length;for(;r<n;){let i=e[r];if(t(i))return i;r++}}o(gB,"find");function DB(t,e){if(arguments.length===1)return i=>DB(t,i);let r=e.length,n=-1;for(;++n<r;)if(t(e[n]))return n;return-1}o(DB,"findIndex");function yB(t,e){if(arguments.length===1)return n=>yB(t,n);let r=e.length;for(;--r>=0;)if(t(e[r]))return e[r]}o(yB,"findLast");function EB(t,e){if(arguments.length===1)return n=>EB(t,n);let r=e.length;for(;--r>=0;)if(t(e[r]))return r;return-1}o(EB,"findLastIndex");function CB(t,e){let r=e===void 0?[]:e;for(let n=0;n<t.length;n++)Ft(t[n])?CB(t[n],r):r.push(t[n]);return r}o(CB,"flatten");function zae(t){return(...e)=>{if(e.length===1)return r=>t(r,e[0]);if(e.length===2)return t(e[1],e[0]);if(e.length===3)return t(e[1],e[0],e[2]);if(e.length===4)return t(e[1],e[0],e[2],e[3]);throw new Error("R.flip doesn't work with arity > 4")}}o(zae,"flipFn");function Yae(t){return zae(t)}o(Yae,"flip");function Xae(t){let e={};return t.forEach(([r,n])=>e[r]=n),e}o(Xae,"fromPairs");function vB(t,e){if(arguments.length===1)return n=>vB(t,n);let r={};for(let n=0;n<e.length;n++){let i=e[n],s=t(i);r[s]||(r[s]=[]),r[s].push(i)}return r}o(vB,"groupBy");function Qae(t,e){if(!Ft(e))throw new TypeError("list.reduce is not a function");let r=Us(e);if(e.length===1)return[r];let n=[],i=[];return r.reduce((s,u,a)=>{if(a===0)return u;let c=t(s,u),l=i.length===0,f=a===e.length-1;return c?(l&&i.push(s),i.push(u),f&&n.push(i),u):l?(n.push([s]),f&&n.push([u]),u):(n.push(i),f&&n.push([u]),i=[],u)},void 0),n}o(Qae,"groupWith");function xB(t,e){return arguments.length===1?r=>xB(t,r):e?e.hasOwnProperty(t):!1}o(xB,"has");function FB(t,e){return arguments.length===1?r=>FB(t,r):ni(t,e)!==void 0}o(FB,"hasPath");function Jae(t){return typeof t=="string"?t[0]||"":t[0]}o(Jae,"head");function Zae(t,e){return t===e?t!==0||1/t===1/e:t!==t&&e!==e}o(Zae,"_objectIs");var ece=Object.is||Zae;function wB(t,e){return arguments.length===1?r=>wB(t,r):ece(t,e)}o(wB,"identical");function tce(t){return t}o(tce,"identity");function rce(t,e,r){return(...n)=>(typeof t=="boolean"?t:t(...n))===!0?e(...n):r(...n)}o(rce,"ifElseFn");var nce=jt(rce),ice=o(t=>t+1,"inc");function oce(t,e){let r={};for(let n=0;n<e.length;n++){let i=e[n];r[ni(t,i)]=i}return r}o(oce,"indexByPath");function bB(t,e){if(arguments.length===1)return n=>bB(t,n);if(typeof t=="string")return oce(t,e);let r={};for(let n=0;n<e.length;n++){let i=e[n];r[t(i)]=i}return r}o(bB,"indexBy");function sce(t,e){return arguments.length===1?r=>$a(t,r):$a(t,e)}o(sce,"indexOf");function AB(t,e){return arguments.length===1?r=>AB(t,r):bu(r=>qs(r,t),e)}o(AB,"intersection");function _B(t,e){if(arguments.length===1)return s=>_B(t,s);let r=-1,n=e.length,i=[];for(;++r<n;)r===n-1?i.push(e[r]):i.push(e[r],t);return i}o(_B,"intersperse");function Uw(t,e){return arguments.length===1?r=>Uw(t,r):e!=null&&e.constructor===t||e instanceof t}o(Uw,"is");function uce(t){let e=We(t);return["Undefined","NaN","Number","Null"].includes(e)?!1:t?e==="Object"?Object.keys(t).length===0:e==="Array"?t.length===0:!1:!0}o(uce,"isEmpty");function ace(t){return t==null}o(ace,"isNil");function RB(t,e){return arguments.length===1?r=>RB(t,r):e.join(t)}o(RB,"join");function cce(t){return(...e)=>t.map(r=>r(...e))}o(cce,"juxt");function lce(t){return Object.keys(t)}o(lce,"keys");function fce(t){return typeof t=="string"?t[t.length-1]||"":t[t.length-1]}o(fce,"last");function dce(t,e){return arguments.length===1?r=>pw(t,r):pw(t,e)}o(dce,"lastIndexOf");function pce(t){return Ft(t)||typeof t=="string"?t.length:NaN}o(pce,"length");function u0(t,e){return function(r){return function(n){return r(t(n)).map(i=>e(i,n))}}}o(u0,"lens");function Gw(t,e){if(arguments.length===1)return n=>Gw(t,n);let r=t<0?e.length+t:t;return Object.prototype.toString.call(e)==="[object String]"?e.charAt(r):e[r]}o(Gw,"nth");function Ww(t,e,r){let n=Us(r);return t===-1?n.fill(e,t):n.fill(e,t,t+1)}o(Ww,"updateFn");var SB=jt(Ww);function mce(t){return u0(Gw(t),SB(t))}o(mce,"lensIndex");function hce(t){return u0(ni(t),Cl(t))}o(hce,"lensPath");function gce(t){return u0(ja(t),JD(t))}o(gce,"lensProp");function TB(t,e){if(arguments.length===1)return n=>TB(t,n);let r=e.match(t);return r===null?[]:r}o(TB,"match");function PB(t,e){return arguments.length===1?r=>PB(t,r):!El(t)||!El(e)||e<1?NaN:(t%e+e)%e}o(PB,"mathMod");function kB(t,e,r){return t(r)>t(e)?r:e}o(kB,"maxByFn");var Dce=jt(kB);function IB(t){return t.reduce((e,r)=>e+r,0)}o(IB,"sum");function OB(t){return IB(t)/t.length}o(OB,"mean");function yce(t){let e=t.length;if(e===0)return NaN;let r=2-e%2,n=(e-r)/2;return OB(Array.prototype.slice.call(t,0).sort((i,s)=>i===s?0:i<s?-1:1).slice(n,n+r))}o(yce,"median");function NB(t,e){return arguments.length===1?r=>NB(t,r):Ua(e,t)}o(NB,"mergeLeft");function Ece(t,e,r){let n={};return Object.keys(e).forEach(i=>{r[i]===void 0?n[i]=e[i]:n[i]=t(e[i],r[i])}),Object.keys(r).forEach(i=>{n[i]===void 0&&(e[i]===void 0?n[i]=r[i]:n[i]=t(e[i],r[i]))}),n}o(Ece,"mergeWithFn");var Cce=jt(Ece);function BB(t,e){return arguments.length===1?r=>BB(t,r):e<t?e:t}o(BB,"min");function LB(t,e,r){return t(r)<t(e)?r:e}o(LB,"minByFn");var vce=jt(LB);function xce(t){return Array.isArray(t)||We(t)==="Object"}o(xce,"isIterable");function Fce(t,e,r){return!xce(r)||r[t]===void 0?r:Ft(r)?Ww(t,e(r[t]),r):ps(ps({},r),{},{[t]:e(r[t])})}o(Fce,"modifyFn");var wce=jt(Fce);function MB(t,e,r){let n=qa(t);if(n.length===1)return ps(ps({},r),{},{[n[0]]:e(r[n[0]])});if(ni(n,r)===void 0)return r;let i=$B(Array.prototype.slice.call(n,1),e,r[n[0]]);return i===r[n[0]]?r:JD(n[0],i,r)}o(MB,"modifyPathFn");var $B=jt(MB);function jB(t,e){return arguments.length===1?r=>jB(t,r):t%e}o(jB,"modulo");function bce(t,e,r){if(t<0||e<0)throw new Error("Rambda.move does not support negative indexes");if(t>r.length-1||e>r.length-1)return r;let n=Us(r);return n[t]=r[e],n[e]=r[t],n}o(bce,"moveFn");var Ace=jt(bce);function Hw(t,e){return arguments.length===1?r=>Hw(t,r):t*e}o(Hw,"multiply");function _ce(t){return-t}o(_ce,"negate");function qB(t,e){if(arguments.length===1)return r=>qB(t,r);for(let r=0;r<e.length;r++)if(t(e[r]))return!1;return!0}o(qB,"none");function Rce(){}o(Rce,"nop");function Sce(t){return!t}o(Sce,"not");function UB(t,e){return arguments.length===1?r=>UB(t,r):{[t]:e}}o(UB,"objOf");function Tce(t){return[t]}o(Tce,"of");function Cw(t,e,r,n){return arguments.length===3?i=>Cw(t,e,r,i):arguments.length===2?(i,s)=>Cw(t,e,i,s):t(e(r),e(n))}o(Cw,"on");function QO(t,e){let r;return function(){return t&&(r=t.apply(e||this,arguments),t=null),r}}o(QO,"onceFn");function Pce(t,e){if(arguments.length===1){let r=QO(t,e);return jt(r)}return QO(t,e)}o(Pce,"once");function GB(t,e){return arguments.length===1?r=>GB(t,r):t||e}o(GB,"or");var WB=o(t=>({x:t,map:e=>WB(e(t))}),"Identity");function kce(t,e,r){return t(n=>WB(e(n)))(r).x}o(kce,"overFn");var HB=jt(kce);function VB(t,...e){let r=t.length;return(...n)=>e.length+n.length>=r?t(...e,...n):VB(t,...e,...n)}o(VB,"partial");function Ice(t,e,r){return ii(ni(t,r),e)}o(Ice,"pathEqFn");var Oce=jt(Ice);function Nce(t,e,r){return Sp(t,ni(e,r))}o(Nce,"pathOrFn");var Bce=jt(Nce);function KB(t,e){return arguments.length===1?r=>KB(t,r):t.map(r=>ni(r,e))}o(KB,"paths");function zB(t,e){if(arguments.length===1)return s=>zB(t,s);if(e==null)return;let r=qa(t,","),n={},i=0;for(;i<r.length;)r[i]in e?n[r[i]]=e[r[i]]:n[r[i]]=void 0,i++;return n}o(zB,"pickAll");function YB(t,e){if(arguments.length===1)return n=>YB(t,n);let r=[];return zo(n=>{n[t]!==void 0&&r.push(n[t])},e),r}o(YB,"pluck");function XB(t,e){return arguments.length===1?r=>XB(t,r):typeof e=="string"?[t].concat(e.split("")):[t].concat(e)}o(XB,"prepend");var Lce=r0(Hw,1);function Mce(t,e,r){return r?ii(e,ja(t,r)):!1}o(Mce,"propEqFn");var $ce=jt(Mce);function jce(t,e,r){return Uw(t,r[e])}o(jce,"propIsFn");var qce=jt(jce);function Uce(t,e,r){return r?Sp(t,r[e]):t}o(Uce,"propOrFn");var Gce=jt(Uce);function Wce(t,e,r){return t(ja(e,r))}o(Wce,"propSatisfiesFn");var Hce=jt(Wce);function QB(t,e){if(arguments.length===1)return r=>QB(t,r);if(!Ft(t))throw new Error("propsToPick is not a list");return xl(r=>e[r],t)}o(QB,"props");function JB(t,e){return arguments.length===1?r=>JB(t,r):bu(r=>!t(r),e)}o(JB,"reject");function ZB(t,e){return arguments.length===1?r=>ZB(t,r):Array(e).fill(t)}o(ZB,"repeat");function Vce(t){return typeof t=="string"?t.split("").reverse().join(""):t.slice().reverse()}o(Vce,"reverse");function Kce(t,e,r){return HB(t,VN(e),r)}o(Kce,"setFn");var zce=jt(Kce);function Yce(t,e,r){return r.slice(t,e)}o(Yce,"sliceFn");var Xce=jt(Yce);function eL(t,e){return arguments.length===1?r=>eL(t,r):e.split(t)}o(eL,"split");function tL(t,e){if(arguments.length===1)return n=>tL(t,n);if(!e)throw new TypeError(`Cannot read property 'slice' of ${e}`);if(!Ft(e)&&typeof e!="string")return[[],[]];let r=AN(t<0,e.length+t<0?0:e.length+t,t);return[wl(r,e),s0(r,e)]}o(tL,"splitAt");function rL(t,e){if(arguments.length===1)return u=>rL(t,u);if(!e)throw new TypeError(`Cannot read property 'length' of ${e}`);let r=[],n=[],i=!1,s=-1;for(;s++<e.length-1;)i?n.push(e[s]):t(e[s])?(n.push(e[s]),i=!0):r.push(e[s]);return[r,n]}o(rL,"splitWhen");function nL(t,e){if(arguments.length===1)return i=>nL(t,i);if(typeof e=="string")return e.startsWith(t);if(!Ft(t))return!1;let r=!0;return t.filter((i,s)=>{if(!r)return!1;let u=ii(i,e[s]);return u||(r=!1),u}).length===t.length}o(nL,"startsWith");function iL(t,e){return arguments.length===1?r=>iL(t,r):t-e}o(iL,"subtract");function oL(t,e){return arguments.length===1?r=>oL(t,r):$w(bu(r=>!qs(r,e),t),bu(r=>!qs(r,t),e))}o(oL,"symmetricDifference");function Qce(t){return s0(1,t)}o(Qce,"tail");function sL(t,e){if(arguments.length===1)return i=>sL(t,i);let r=e.length;if(t<0)return e.slice();let n=t>r?r:t;return typeof e=="string"?e.slice(r-n):(n=r-n,bw(e,n,r))}o(sL,"takeLast");function uL(t,e){if(arguments.length===1)return i=>uL(t,i);if(e.length===0)return e;let r=[],n=e.length;for(;n;){let i=e[--n];if(!t(i))break;r.push(i)}return Ft(e)?r.reverse():r.reverse().join("")}o(uL,"takeLastWhile");function aL(t,e){if(arguments.length===1)return s=>aL(t,s);let r=Ft(e);if(!r&&typeof e!="string")throw new Error("`iterable` is neither list nor a string");let n=[],i=0;for(;i<e.length;){let s=e[i++];if(!t(s))break;n.push(s)}return r?n:n.join("")}o(aL,"takeWhile");function cL(t,e){return arguments.length===1?r=>cL(t,r):(t(e),e)}o(cL,"tap");function lL(t,e){if(arguments.length===1)return r=>lL(t,r);if(!El(e)||e<0)throw new RangeError("n must be an integer");return zo(t,i0(0,e))}o(lL,"times");function Jce(t){return Object.entries(t)}o(Jce,"toPairs");function Zce(t){return t.toString()}o(Zce,"toString");function ele(t){return t.toUpperCase()}o(ele,"toUpper");function tle(t){return t.reduce((e,r)=>(r.forEach((n,i)=>Ft(e[i])?e[i].push(n):e.push([n])),e),[])}o(tle,"transpose");function rle(t){return t.trim()}o(rle,"trim");var JO=o(t=>["Promise","Function"].includes(We(t)),"isFunction");function nle(t,e){if(!JO(t))throw new Error(`R.tryCatch | fn '${t}'`);let r=JO(e);return(...n)=>{try{return t(...n)}catch(i){return r?e(i,...n):e}}}o(nle,"tryCatch");function ile(t){return function(...e){return t.call(this,e)}}o(ile,"unapply");function fL(t,e){if(arguments.length===1)return n=>fL(t,n);let r=Us(t);return e.forEach(n=>{qs(n,t)||r.push(n)}),r}o(fL,"union");function dL(t,e){if(arguments.length===1)return n=>dL(t,n);let r=new QD;return e.filter(n=>r.checkUniqueness(t(n)))}o(dL,"uniqBy");function ole(t,e,r){let n=!1,i=-1;for(;++i<r.length&&!n;){let s=r[i];t(e,s)&&(n=!0)}return n}o(ole,"includesWith");function pL(t,e){if(arguments.length===1)return i=>pL(t,i);let r=-1,n=[];for(;++r<e.length;){let i=e[r];ole(t,i,n)||n.push(i)}return n}o(pL,"uniqWith");function mL(t,e){return arguments.length===1?r=>mL(t,r):r=>t(r)?r:e(r)}o(mL,"unless");function sle(t){return t.reduce((e,r)=>Array.isArray(r)?[...e,...r]:[...e,r],[])}o(sle,"unnest");function hL(t,e){return arguments.length===1?r=>hL(t,r):Ft(e[t])?xl(r=>ps(ps({},e),{},{[t]:r}),e[t]):[e]}o(hL,"unwind");function ule(t){return We(t)!=="Object"?[]:Object.values(t)}o(ule,"values");function ale(t,e,r){return t(r)?e(r):r}o(ale,"whenFn");var cle=jt(ale);function gL(t,e){if(e===void 0)return n=>gL(t,n);let r=!0;for(let n in t){if(!r)continue;let i=t[n](e[n]);r&&i===!1&&(r=!1)}return r}o(gL,"where");function DL(t,e){if(e===void 0)return r=>DL(t,r);for(let r in t)if(t[r](e[r]))return!0;return!1}o(DL,"whereAny");function yL(t,e){if(arguments.length===1)return n=>yL(t,n);let r=bu((n,i)=>ii(n,e[i]),t);return Object.keys(r).length===Object.keys(t).length}o(yL,"whereEq");function EL(t,e){return e===void 0?r=>EL(t,r):r0((r,n)=>$a(n,t)>-1?r:r.concat(n),[],e)}o(EL,"without");function CL(t,e){return arguments.length===1?r=>CL(t,r):!!t&&!e||!!e&&!t}o(CL,"xor");function vL(t,e){if(arguments.length===1)return i=>vL(t,i);let r=[],n=Math.min(t.length,e.length);for(let i=0;i<n;i++)r[i]=[t[i],e[i]];return r}o(vL,"zip");function xL(t,e){return arguments.length===1?r=>xL(t,r):wl(e.length,t).reduce((r,n,i)=>(r[n]=e[i],r),{})}o(xL,"zipObj");function lle(t,e,r){return wl(e.length>r.length?r.length:e.length,e).map((n,i)=>t(n,r[i]))}o(lle,"zipWithFn");var fle=jt(lle);T.DELAY=nN;T.F=Iae;T.T=Oae;T.__findHighestArity=Mw;T._arity=_N;T._indexOf=$a;T._lastIndexOf=pw;T._pipe=RN;T.add=HN;T.adjust=Bae;T.all=ww;T.allFalse=Cue;T.allPass=Lae;T.allTrue=vue;T.allType=xue;T.always=VN;T.and=KN;T.any=_p;T.anyFalse=Fue;T.anyPass=Mae;T.anyTrue=wue;T.anyType=bue;T.append=zN;T.apply=YN;T.applyDiff=tN;T.applySpec=$ae;T.assoc=JD;T.assocPath=Cl;T.bind=JN;T.both=ZN;T.chain=eB;T.check=Sw;T.clamp=qae;T.clone=Iw;T.complement=Uae;T.compose=SN;T.composeAsync=Tue;T.concat=$w;T.cond=Gae;T.contains=rN;T.converge=tB;T.count=rB;T.countBy=nB;T.curry=jt;T.curryN=o0;T.debounce=kue;T.dec=Wae;T.defaultTo=Sp;T.delay=iN;T.deletePath=mw;T.difference=oB;T.dissoc=sB;T.divide=uB;T.drop=s0;T.dropLast=aB;T.dropLastWhile=cB;T.dropRepeats=Hae;T.dropRepeatsWith=lB;T.dropWhile=fB;T.either=dB;T.endsWith=pB;T.eqProps=Kae;T.equals=ii;T.evolve=qw;T.evolveArray=mB;T.evolveObject=hB;T.excludes=oN;T.filter=bu;T.filterArray=e0;T.filterAsync=Oue;T.filterAsyncFn=hw;T.filterIndexed=sN;T.filterObject=ZD;T.find=gB;T.findAsync=aN;T.findAsyncFn=uN;T.findIndex=DB;T.findLast=yB;T.findLastIndex=EB;T.flatten=CB;T.flattenObject=Nue;T.flattenObjectHelper=vw;T.flip=Yae;T.forEach=_w;T.forEachIndexed=fN;T.fromPairs=Xae;T.fromPrototypeToString=KD;T.getter=Mue;T.glue=dN;T.groupBy=vB;T.groupWith=Qae;T.has=xB;T.hasPath=FB;T.head=Jae;T.identical=wB;T.identity=tce;T.ifElse=nce;T.ifElseAsync=que;T.inc=ice;T.includes=qs;T.indexBy=bB;T.indexOf=sce;T.init=gN;T.interpolate=pN;T.intersection=AB;T.intersperse=_B;T.is=Uw;T.isEmpty=uce;T.isNil=ace;T.isPromise=mN;T.isPrototype=yN;T.isType=hN;T.isValid=vl;T.isValidAsync=Kue;T.join=RB;T.juxt=cce;T.keys=lce;T.last=fce;T.lastIndexOf=dce;T.length=pce;T.lens=u0;T.lensEq=Yue;T.lensIndex=mce;T.lensPath=hce;T.lensProp=gce;T.lensSatisfies=Que;T.map=zo;T.mapArray=xl;T.mapAsync=t0;T.mapIndexed=xw;T.mapKeys=vN;T.mapObjIndexed=Lue;T.mapObject=Fl;T.mapParallelAsync=xN;T.mapParallelAsyncFn=zD;T.mapParallelAsyncWithLimit=Jue;T.mapToObject=wN;T.mapToObjectAsync=Zue;T.mapToObjectAsyncFn=Dw;T.mapcat=bN;T.match=TB;T.mathMod=PB;T.max=jw;T.maxBy=Dce;T.maxByFn=kB;T.maybe=AN;T.mean=OB;T.median=yce;T.memoize=TN;T.memoizeWith=PN;T.merge=Ua;T.mergeAll=FN;T.mergeDeepRight=XD;T.mergeLeft=NB;T.mergeRight=Ua;T.mergeWith=Cce;T.min=BB;T.minBy=vce;T.minByFn=LB;T.modify=wce;T.modifyPath=$B;T.modifyPathFn=MB;T.modulo=jB;T.move=Ace;T.multiply=Hw;T.negate=_ce;T.nextIndex=iae;T.none=qB;T.nop=Rce;T.not=Sce;T.nth=Gw;T.objOf=UB;T.of=Tce;T.ok=Tw;T.omit=Bw;T.on=Cw;T.once=Pce;T.or=GB;T.over=HB;T.partial=VB;T.partialCurry=kN;T.partialObject=kN;T.partition=IN;T.partitionArray=Nw;T.partitionAsync=sae;T.partitionIndexed=ON;T.partitionObject=Ow;T.pass=uae;T.path=ni;T.pathEq=Oce;T.pathOr=Bce;T.paths=KB;T.pick=Fw;T.pickAll=zB;T.pipe=kw;T.pipeAsync=aae;T.piped=cae;T.pipedAsync=lae;T.pluck=YB;T.prepend=XB;T.prevIndex=fae;T.produce=yw;T.produceAsync=pae;T.product=Lce;T.prop=ja;T.propEq=$ce;T.propIs=qce;T.propOr=Gce;T.propSatisfies=Hce;T.props=QB;T.prototypeToString=EN;T.random=mae;T.range=i0;T.reduce=r0;T.reduceFn=Pw;T.reduceStopper=eae;T.reject=JB;T.rejectIndexed=NN;T.remove=BN;T.removeAtPath=eN;T.removeIndex=LN;T.renameProps=MN;T.repeat=ZB;T.replace=Ap;T.replaceAll=gae;T.reset=jue;T.reverse=Vce;T.schemaToString=gw;T.set=zce;T.setter=$ue;T.shuffle=Dae;T.slice=Xce;T.sort=n0;T.sortBy=Lw;T.sortByPath=$N;T.sortByProps=jN;T.sortObject=qN;T.split=eL;T.splitAt=tL;T.splitEvery=Rw;T.splitWhen=rL;T.startsWith=nL;T.subtract=iL;T.sum=IB;T.switcher=xae;T.symmetricDifference=oL;T.tail=Qce;T.take=wl;T.takeLast=sL;T.takeLastWhile=uL;T.takeUntil=Fae;T.takeWhile=aL;T.tap=cL;T.tapAsync=wae;T.test=Aw;T.throttle=bae;T.times=lL;T.toDecimal=Aae;T.toLower=DN;T.toPairs=Jce;T.toString=Zce;T.toUpper=ele;T.transformFlatObject=cN;T.transpose=tle;T.trim=rle;T.tryCatch=nle;T.tryCatchAsync=_ae;T.type=We;T.unapply=ile;T.union=fL;T.uniq=iB;T.uniqBy=dL;T.uniqWith=pL;T.unless=mL;T.unnest=sle;T.unwind=hL;T.update=SB;T.updateFn=Ww;T.updateObject=GN;T.values=ule;T.view=Rp;T.viewOr=Tae;T.wait=Pae;T.waitFor=kae;T.when=cle;T.where=gL;T.whereAny=DL;T.whereEq=yL;T.without=EL;T.xnor=WN;T.xor=CL;T.zip=vL;T.zipObj=xL;T.zipWith=fle});var Pl,b0=D(()=>{Pl={name:"likec4",version:"0.60.4",license:"MIT",homepage:"https://likec4.dev",author:"Denis Davydkov <denis@davydkov.com>",repository:{type:"git",url:"https://github.com/likec4/likec4.git",directory:"packages/likec4"},engines:{node:"^18.0.0 || >=20.0.0"},bugs:"https://github.com/likec4/likec4/issues",files:["bin","dist","!dist/@likec4/**/*.d.ts","!**/*.map"],type:"module",bin:"./bin/likec4.mjs",scripts:{"build:turbo":"run -T turbo run build --filter='likec4'","typecheck:app":"tsc --noEmit -p ./app/tsconfig.json","typecheck:cli":"tsc --noEmit -p ./tsconfig.src.json",typecheck:"run 'typecheck:cli' && run 'typecheck:app'",build:"tsx scripts/build.ts",prepack:"tsx scripts/prepack.ts",postpack:"tsx scripts/postpack.ts",lint:"run -T eslint src/ --fix",test:"run -T vitest run","test:watch":"run -T vitest",clean:"run -T rimraf dist app/dist dev/.export dev/dist node_modules/.vite",dev:"tsx watch src/cli/index.ts serve dev","dev:bigbank":"tsx watch src/cli/index.ts serve ../../docs/likec4/bigbank","dev:index-page":"tsx watch src/cli/index.ts serve ../../docs/likec4/index-page","dev:template":"tsx watch src/cli/index.ts serve ../create-likec4/template","dev:example":"tsx watch src/cli/index.ts serve ../../examples/diagrams-dev/likec4",cli:"tsx src/cli/index.ts","cli:serve":"tsx watch src/cli/index.ts serve dev","cli:build":"tsx src/cli/index.ts build -o dev/dist dev","cli:preview":"tsx src/cli/index.ts preview -o dev/dist dev","cli:export":"tsx src/cli/index.ts export png -o dev/export dev","cli:export:json":"tsx src/cli/index.ts export json -o dev/export/likec4.json dev"},dependencies:{"@nanostores/react":"^0.7.1","@nanostores/router":"^0.11.0","@radix-ui/react-icons":"^1.3.0","@radix-ui/themes":"^2.0.3","@react-hookz/web":"^24.0.4","@vitejs/plugin-react":"^4.2.1",autoprefixer:"^10.4.17",classnames:"^2.3.2",clsx:"^1.2.1",jotai:"^2.6.4",nanostores:"^0.9.5",playwright:"1.42.1",postcss:"^8.4.35","postcss-nested":"^6.0.1","prop-types":"^15.8.1",react:"^18.2.0","react-accessible-treeview":"^2.8.3","react-dom":"^18.2.0","react-resizable-panels":"^0.0.63",remeda:"^1.40.1",vite:"^5.2.8"},devDependencies:{"@likec4/core":"workspace:*","@likec4/diagrams":"workspace:*","@likec4/generators":"workspace:*","@likec4/language-server":"workspace:*","@likec4/layouts":"workspace:*","@types/mermaid":"^9.2.0","@types/node":"^20.11.25","@types/prop-types":"^15.7.11","@types/react":"^18.2.0","@types/react-dom":"^18.2.0","@types/yargs":"^17.0.32",boxen:"^7.1.1","ci-info":"^3.9.0",esbuild:"^0.19.12","esbuild-node-externals":"^1.13.0",execa:"^8.0.1","get-port":"^7.0.0",json5:"^2.2.3",mkdirp:"^3.0.1",picocolors:"^1.0.0","pretty-ms":"^8.0.0","strip-indent":"^4.0.0",tsx:"^4.7.1","type-fest":"^4.15.0",typescript:"^5.4.2","typescript-plugin-css-modules":"^5.1.0",vitest:"^1.4.0",yargs:"^17.7.2"},publishConfig:{registry:"https://registry.npmjs.org",access:"public"},packageManager:"yarn@4.1.1",volta:{extends:"../../package.json"}}});var F8,w8,b8,kl,A8=D(()=>{"use strict";F8={fill:"#3b82f6",stroke:"#2563eb",hiContrast:"#eff6ff",loContrast:"#bfdbfe"},w8={fill:"#0284c7",stroke:"#0369a1",hiContrast:"#f0f9ff",loContrast:"#B6ECF7"},b8={fill:"#64748b",stroke:"#475569",hiContrast:"#f8fafc",loContrast:"#cbd5e1"},kl={primary:F8,blue:F8,secondary:w8,sky:w8,muted:b8,slate:b8,gray:{fill:"#737373",stroke:"#525252",hiContrast:"#fafafa",loContrast:"#d4d4d4"},red:{fill:"#AC4D39",stroke:"#853A2D",hiContrast:"#FBD3CB",loContrast:"#FF977D"},green:{fill:"#428a4f",stroke:"#2d5d39",hiContrast:"#f8fafc",loContrast:"#c2f0c2"},amber:{fill:"#A35829",stroke:"#7E451D",hiContrast:"#FFE0C2",loContrast:"#FFA057"},indigo:{fill:"#6366f1",stroke:"#4f46e5",hiContrast:"#eef2ff",loContrast:"#c7d2fe"}}});var ufe,_8,R8,S8,T8,P8=D(()=>{"use strict";ufe={lineColor:"#6E6E6E",labelBgColor:"#18191b",labelColor:"#C6C6C6"},_8={lineColor:"#64748b",labelBgColor:"#0f172a",labelColor:"#cbd5e1"},R8={lineColor:"#3b82f6",labelBgColor:"#172554",labelColor:"#60a5fa"},S8={lineColor:"#0ea5e9",labelBgColor:"#082f49",labelColor:"#38bdf8"},T8={amber:{lineColor:"#b45309",labelBgColor:"#78350f",labelColor:"#FFE0C2"},blue:R8,gray:ufe,green:{lineColor:"#15803d",labelBgColor:"#052e16",labelColor:"#22c55e"},indigo:{lineColor:"#6366f1",labelBgColor:"#1e1b4b",labelColor:"#818cf8"},muted:_8,primary:R8,red:{lineColor:"#AC4D39",labelBgColor:"#b91c1c",labelColor:"#FF977D"},secondary:S8,sky:S8,slate:_8}});var k8,I8=D(()=>{"use strict";A8();P8();k8={elements:kl,relationships:T8,font:"Helvetica",shadow:"#0a0a0a"}});var M8=I((wb,L8)=>{"use strict";var{hasOwnProperty:_0}=Object.prototype,nc=Fb();nc.configure=Fb;nc.stringify=nc;nc.default=nc;wb.stringify=nc;wb.configure=Fb;L8.exports=nc;var afe=/[\u0000-\u001f\u0022\u005c\ud800-\udfff]|[\ud800-\udbff](?![\udc00-\udfff])|(?:[^\ud800-\udbff]|^)[\udc00-\udfff]/;function ku(t){return t.length<5e3&&!afe.test(t)?`"${t}"`:JSON.stringify(t)}o(ku,"strEscape");function vb(t){if(t.length>200)return t.sort();for(let e=1;e<t.length;e++){let r=t[e],n=e;for(;n!==0&&t[n-1]>r;)t[n]=t[n-1],n--;t[n]=r}return t}o(vb,"insertSort");var cfe=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(Object.getPrototypeOf(new Int8Array)),Symbol.toStringTag).get;function xb(t){return cfe.call(t)!==void 0&&t.length!==0}o(xb,"isTypedArrayWithEntries");function O8(t,e,r){t.length<r&&(r=t.length);let n=e===","?"":" ",i=`"0":${n}${t[0]}`;for(let s=1;s<r;s++)i+=`${e}"${s}":${n}${t[s]}`;return i}o(O8,"stringifyTypedArray");function lfe(t){if(_0.call(t,"circularValue")){let e=t.circularValue;if(typeof e=="string")return`"${e}"`;if(e==null)return e;if(e===Error||e===TypeError)return{toString(){throw new TypeError("Converting circular structure to JSON")}};throw new TypeError('The "circularValue" argument must be of type string or the value null or undefined')}return'"[Circular]"'}o(lfe,"getCircularValueOption");function N8(t,e){let r;if(_0.call(t,e)&&(r=t[e],typeof r!="boolean"))throw new TypeError(`The "${e}" argument must be of type boolean`);return r===void 0?!0:r}o(N8,"getBooleanOption");function B8(t,e){let r;if(_0.call(t,e)){if(r=t[e],typeof r!="number")throw new TypeError(`The "${e}" argument must be of type number`);if(!Number.isInteger(r))throw new TypeError(`The "${e}" argument must be an integer`);if(r<1)throw new RangeError(`The "${e}" argument must be >= 1`)}return r===void 0?1/0:r}o(B8,"getPositiveIntegerOption");function rc(t){return t===1?"1 item":`${t} items`}o(rc,"getItemCount");function ffe(t){let e=new Set;for(let r of t)(typeof r=="string"||typeof r=="number")&&e.add(String(r));return e}o(ffe,"getUniqueReplacerSet");function dfe(t){if(_0.call(t,"strict")){let e=t.strict;if(typeof e!="boolean")throw new TypeError('The "strict" argument must be of type boolean');if(e)return r=>{let n=`Object can not safely be stringified. Received type ${typeof r}`;throw typeof r!="function"&&(n+=` (${r.toString()})`),new Error(n)}}}o(dfe,"getStrictOption");function Fb(t){t={...t};let e=dfe(t);e&&(t.bigint===void 0&&(t.bigint=!1),"circularValue"in t||(t.circularValue=Error));let r=lfe(t),n=N8(t,"bigint"),i=N8(t,"deterministic"),s=B8(t,"maximumDepth"),u=B8(t,"maximumBreadth");function a(g,h,F,v,x,R){let _=h[g];switch(typeof _=="object"&&_!==null&&typeof _.toJSON=="function"&&(_=_.toJSON(g)),_=v.call(h,g,_),typeof _){case"string":return ku(_);case"object":{if(_===null)return"null";if(F.indexOf(_)!==-1)return r;let A="",B=",",W=R;if(Array.isArray(_)){if(_.length===0)return"[]";if(s<F.length+1)return'"[Array]"';F.push(_),x!==""&&(R+=x,A+=`
|
|
11
11
|
${R}`,B=`,
|
|
12
12
|
${R}`);let q=Math.min(_.length,u),k=0;for(;k<q-1;k++){let J=a(String(k),_,F,v,x,R);A+=J!==void 0?J:"null",A+=B}let z=a(String(k),_,F,v,x,R);if(A+=z!==void 0?z:"null",_.length-1>u){let J=_.length-u-1;A+=`${B}"... ${rc(J)} not stringified"`}return x!==""&&(A+=`
|
|
13
13
|
${W}`),F.pop(),`[${A}]`}let oe=Object.keys(_),Ce=oe.length;if(Ce===0)return"{}";if(s<F.length+1)return'"[Object]"';let we="",H="";x!==""&&(R+=x,B=`,
|
|
@@ -188,7 +188,7 @@ ${s}`)},"trace"),console.warn=o(function(...i){t.warn(e(i))},"warn")}o(RAe,"patc
|
|
|
188
188
|
`)}};if(ue.isElement(e)){let r=this.locator.getParsedElement(e);return r?{contents:{kind:"markdown",value:[r.id,`### ${r.title}`,"`"+r.kind+"` "].join(`
|
|
189
189
|
`)}}:void 0}}}});var wr,$x,EJ=D(()=>{"use strict";Yd();wr=he(cr(),1);an();$x=class extends gx{static{o(this,"LikeC4SemanticTokenProvider")}highlightElement(e,r){if(ue.isRelation(e)&&"kind"in e&&r({node:e,property:"kind",type:wr.SemanticTokenTypes.type,modifier:[wr.SemanticTokenModifiers.definition]}),ue.isElementViewRef(e)&&r({node:e,property:"view",type:wr.SemanticTokenTypes.variable}),ue.isDescedantsExpr(e)&&e.$cstNode)return r({cst:e.$cstNode,type:wr.SemanticTokenTypes.variable}),"prune";ue.isWildcardExpr(e)&&e.$cstNode&&r({cst:e.$cstNode,type:wr.SemanticTokenTypes.variable}),ue.isElementKindExpr(e)&&r({node:e,property:"kind",type:wr.SemanticTokenTypes.type,modifier:[wr.SemanticTokenModifiers.definition]}),ue.isElementTagExpr(e)&&r({node:e,property:"tag",type:wr.SemanticTokenTypes.type,modifier:[wr.SemanticTokenModifiers.definition]}),(ue.isElementRef(e)||ue.isFqnElementRef(e))&&r({node:e,property:"el",type:e.parent?wr.SemanticTokenTypes.property:wr.SemanticTokenTypes.variable}),(ue.isSpecificationElementKind(e)||ue.isSpecificationRelationshipKind(e))&&r({node:e,property:"kind",type:wr.SemanticTokenTypes.type,modifier:[wr.SemanticTokenModifiers.definition]}),ue.isTags(e)&&r({node:e,property:"value",type:wr.SemanticTokenTypes.type,modifier:[wr.SemanticTokenModifiers.definition]}),ue.isTag(e)&&r({node:e,property:"name",type:wr.SemanticTokenTypes.type,modifier:[wr.SemanticTokenModifiers.definition]}),(ue.isColorProperty(e)||ue.isShapeProperty(e)||ue.isArrowProperty(e)||ue.isLineProperty(e))&&r({node:e,property:"value",type:wr.SemanticTokenTypes.enum}),(ue.isLinkProperty(e)||ue.isIconProperty(e))&&r({node:e,property:"value",type:wr.SemanticTokenTypes.string}),ue.isElement(e)&&this.highlightAstElement(e,r),ue.isElementView(e)&&this.highlightView(e,r)}highlightAstElement(e,r){r({node:e,property:"name",type:wr.SemanticTokenTypes.variable,modifier:[wr.SemanticTokenModifiers.declaration]}),r({node:e,property:"kind",type:wr.SemanticTokenTypes.keyword,modifier:[]})}highlightView(e,r){e.name&&r({node:e,property:"name",type:wr.SemanticTokenTypes.variable,modifier:[wr.SemanticTokenModifiers.declaration]})}}});var qx,jx,CJ=D(()=>{"use strict";Yd();qx=he(Xi(),1),jx=class extends Kd{static{o(this,"LikeC4DocumentHighlightProvider")}createDocumentHighlight(e){return qx.DocumentHighlight.create(e.segment.range,qx.DocumentHighlightKind.Read)}}});var vJ=D(()=>{"use strict";aJ();dJ();mJ();yJ();EJ();CJ()});function xJ(t,e){let r=t.c4fqns=new kn,n=t.parseResult.value.models.flatMap(a=>a.elements);if(n.length===0)return;let i=e.workspace.AstNodeLocator,s=n.map(a=>[a,null]),u;for(;u=s.shift();){let[a,c]=u;if(!ue.isRelation(a)){if(ue.isExtendElement(a)){if(!(0,Jd.isNil)(a.body)&&!(0,Jd.isEmpty)(a.body.elements)){let l=Ra(a.element);a.body.elements.forEach(f=>s.push([f,l]))}continue}if(ue.isElement(a)){let l=R7(a.name,c),f=i.getAstNodePath(a);r.add(l,{el:new WeakRef(a),path:f,name:a.name}),kx.writeId(a,l),!(0,Jd.isNil)(a.body)&&!(0,Jd.isEmpty)(a.body.elements)&&a.body.elements.forEach(p=>s.push([p,l]));continue}Sr(a)}}}var Jd,z3=D(()=>{"use strict";rr();Qr();Jd=he(sr(),1);an();nl();o(xJ,"computeDocumentFqn")});var Kg,Y3=D(()=>{"use strict";Kg=o(t=>t.map(e=>" - "+e.uri.toString(!0)).join(`
|
|
190
190
|
`),"printDocs")});var K_e,Ux,X3=D(()=>{"use strict";rr();Qr();an();uo();Y3();z3();K_e=o(()=>!0,"True"),Ux=class{constructor(e){this.services=e;this.langiumDocuments=e.shared.workspace.LangiumDocuments,e.shared.workspace.DocumentBuilder.onBuildPhase(vt.IndexedContent,async(r,n)=>{Ut.debug(`[FqnIndex] onIndexedContent ${r.length}:
|
|
191
|
-
`+Kg(r));for(let i of r)if(Qd(i)){delete i.c4fqns,delete i.c4Elements,delete i.c4Specification,delete i.c4Relations,delete i.c4Views;try{xJ(i,e)}catch(s){Tr(s)}}return Promise.resolve()}),Ut.debug("[FqnIndex] Created")}static{o(this,"FqnIndex")}langiumDocuments;get documents(){return this.langiumDocuments.all.filter(Ix)}entries(e=K_e){return this.documents.flatMap(r=>r.c4fqns.entries().flatMap(([n,i])=>{if(e(n)){let s=i.el.deref();if(s)return{...i,fqn:n,el:s,doc:r}}return[]}))}getFqn(e){return kx.readId(e)??null}byFqn(e){return this.documents.flatMap(r=>r.c4fqns.get(e).flatMap(n=>{let i=n.el.deref();return i?{fqn:e,el:i,doc:r,path:n.path,name:n.name}:[]}))}directChildrenOf(e){return pt([e]).flatMap(r=>{let n=this.entries(i=>_n(i)===r).map(i=>[i.name,i]).toArray();return n.length===0?[]:new kn(n).entriesGroupedByKey().flatMap(([i,s])=>s.length===1?s:[]).iterator()})}uniqueDescedants(e){return new Mn(()=>{let r=`${e}.`,n=new Set,i=[],s=new kn;if(this.entries(u=>u.startsWith(r)).forEach(u=>{let a=rf(u.fqn),c={...u,name:a};_n(u.fqn)===e?(n.add(a),s.add(a,c)):i.push(c)}),s.size+i.length===0)return null;for(let u of i)n.has(u.name)||s.add(u.name,u);return s.entriesGroupedByKey().flatMap(([u,a])=>a.length===1?a:[]).iterator()},r=>r?r.next():gn)}}});function FJ(t){let e=[...this.elements],r=t.isDescedants===!0?this.graph.childrenOrElement(t.element):[this.graph.element(t.element)];if(this.addElement(...r),t.isDescedants===!0&&r.length>0&&this.addEdges(this.graph.edgesWithin(r)),e.length>0&&r.length>0)for(let n of r)this.addEdges(this.graph.anyEdgesBetween(n,e))}function wJ(t){let e=t.isDescedants===!0?this.graph.children(t.element):[this.graph.element(t.element)];for(let r of e)this.excludeElement(r)}function bJ(t){let e=[...this.elements],r=this.root;if(r){let n=this.graph.element(r);this.addElement(n);let i=this.graph.children(r),s=i.length>0;s?(this.addElement(...i),this.addEdges(this.graph.edgesWithin(i))):i.push(n);let u=[...e,...this.graph.siblings(r),...this.graph.ancestors(r).flatMap(a=>this.graph.siblings(a.id))];for(let a of i)this.addEdges(this.graph.anyEdgesBetween(a,u));if(!s&&this.graph.anyEdgesBetween(n,this.graph.siblings(r)).length===0){let c=_n(r),l=c&&this.graph.element(c);l&&this.addElement(l)}}else this.addElement(...this.graph.rootElements),this.addEdges(this.graph.edgesWithin(this.graph.rootElements))}function AJ(t){let e=this.root;e?(this.excludeElement(this.graph.element(e)),this.excludeElement(...this.graph.children(e)),this.excludeRelation(...this.graph.internal(e),...this.graph.incoming(e),...this.graph.outgoing(e))):this.reset()}function RJ(t){let e=[...this.elements],r=this.graph.elements.filter(_J(t));if(r.length>0){this.addElement(...r),this.addEdges(this.graph.edgesWithin(r));for(let n of r)this.addEdges(this.graph.anyEdgesBetween(n,e))}}function SJ(t){let e=this.graph.elements.filter(_J(t));e.length>0&&this.excludeElement(...e)}function zg(t){return Mt.isElementRef(t)?this.graph.ascendingSiblings(t.element):this.root?this.graph.ascendingSiblings(this.root):this.graph.rootElements}function Gx(t){return Mt.isWildcard(t)?this.root?[...this.graph.children(this.root),this.graph.element(this.root)]:this.graph.rootElements:Mt.isElementKindExpr(t)?this.graph.elements.filter(e=>t.isEqual?e.kind===t.elementKind:e.kind!==t.elementKind):Mt.isElementTagExpr(t)?this.graph.elements.filter(e=>{let r=e.tags;return t.isEqual?!!r&&r.includes(t.elementTag):(0,Q3.isNil)(r)||r.length===0||!r.includes(t.elementTag)}):this.root===t.element&&t.isDescedants!==!0?[...this.graph.children(this.root),this.graph.element(this.root)]:t.isDescedants?this.graph.childrenOrElement(t.element):[this.graph.element(t.element)]}function TJ(t){if(Mt.isWildcard(t)){if(!this.root)return[];let n=this.graph.ascendingSiblings(this.root),i=[...this.graph.children(this.root),this.graph.element(this.root)];return this.graph.edgesBetween(n,i)}let e=Gx.call(this,t);if(e.length===0)return[];let r=[...this.elements];return r.length===0&&r.push(...zg.call(this,t)),this.graph.edgesBetween(r,e)}function PJ(t){let e=TJ.call(this,t.incoming);e.length>0&&this.addEdges(e)}function kJ(t){let e=TJ.call(this,t.incoming);e.length>0&&this.excludeRelation(...e.flatMap(r=>r.relations))}function IJ(t){if(Mt.isWildcard(t)){if(!this.root)return[];let n=this.graph.ascendingSiblings(this.root),i=[...this.graph.children(this.root),this.graph.element(this.root)];return this.graph.edgesBetween(i,n)}let e=Gx.call(this,t);if(e.length===0)return[];let r=[...this.elements];return r.length===0&&r.push(...zg.call(this,t)),this.graph.edgesBetween(e,r)}function OJ(t){let e=IJ.call(this,t.outgoing);e.length>0&&this.addEdges(e)}function NJ(t){let e=IJ.call(this,t.outgoing);e.length>0&&this.excludeRelation(...e.flatMap(r=>r.relations))}function BJ(t){if(Mt.isWildcard(t.inout)){if(!this.root)return[];let n=this.graph.ascendingSiblings(this.root);return this.graph.anyEdgesBetween(this.graph.element(this.root),n)}let e=Gx.call(this,t.inout);if(e.length===0)return[];let r=[...this.elements];return r.length===0&&r.push(...zg.call(this,t.inout)),e.flatMap(n=>this.graph.anyEdgesBetween(n,r))}function LJ(t){let e=BJ.call(this,t);e.length>0&&this.addEdges(e)}function MJ(t){let e=BJ.call(this,t);e.length>0&&this.excludeRelation(...e.flatMap(r=>r.relations))}function Zd(t){return Mt.isElementRef(t)&&this.root===t.element&&t.isDescedants!==!0?[...this.graph.children(t.element),this.graph.element(t.element)]:Gx.call(this,t)}function $J(t){let e,r;Mt.isWildcard(t.source)&&!Mt.isWildcard(t.target)?(e=zg.call(this,t.target),r=Zd.call(this,t.target)):!Mt.isWildcard(t.source)&&Mt.isWildcard(t.target)?(e=Zd.call(this,t.source),r=zg.call(this,t.source)):(e=Zd.call(this,t.source),r=Zd.call(this,t.target)),this.addEdges(this.graph.edgesBetween(e,r))}function jJ(t){let e=Zd.call(this,t.source),r=Zd.call(this,t.target),n=this.graph.edgesBetween(e,r).flatMap(i=>i.relations);this.excludeRelation(...n)}function qJ(t){let e=[...this.elements],r=this.graph.element(t.custom.element);this.addElement(r),e.length>0&&this.addEdges(this.graph.anyEdgesBetween(r,e))}var Q3,_J,UJ=D(()=>{"use strict";rr();Q3=he(sr(),1);o(FJ,"includeElementRef");o(wJ,"excludeElementRef");o(bJ,"includeWildcardRef");o(AJ,"excludeWildcardRef");_J=o(t=>t.isEqual?Mt.isElementKindExpr(t)?e=>e.kind===t.elementKind:({tags:e})=>!!e&&e.includes(t.elementTag):Mt.isElementKindExpr(t)?e=>e.kind!==t.elementKind:({tags:e})=>(0,Q3.isNil)(e)||e.length===0||!e.includes(t.elementTag),"asElementPredicate");o(RJ,"includeElementKindOrTag");o(SJ,"excludeElementKindOrTag");o(zg,"resolveNeighbours");o(Gx,"resolveElements");o(TJ,"edgesIncomingExpr");o(PJ,"includeIncomingExpr");o(kJ,"excludeIncomingExpr");o(IJ,"edgesOutgoingExpr");o(OJ,"includeOutgoingExpr");o(NJ,"excludeOutgoingExpr");o(BJ,"edgesInOutExpr");o(LJ,"includeInOutExpr");o(MJ,"excludeInOutExpr");o(Zd,"resolveRelationExprElements");o($J,"includeRelationExpr");o(jJ,"excludeRelationExpr");o(qJ,"includeCustomElement")});function GJ(t,e){let r=t.flatMap(i=>"include"in i?i.include.filter(Mt.isCustomElement):[]);if(r.length===0)return e;let n=[...e];for(let{custom:{element:i,...s}}of r){let u=n.findIndex(c=>c.id===i);if(u===-1)continue;let a=To(n[u]);n[u]={...a,...z_e(s)}}return n}var Wx,z_e,WJ=D(()=>{"use strict";rr();Wx=he(sr(),1),z_e=(0,Wx.omitBy)(Wx.isNil);o(GJ,"applyElementCustomProperties")});function VJ(t,e){let r=t.filter(N7);if(r.length===0)return e;for(let n of r){let i=[];if(!(!n.style.color&&!n.style.shape)){for(let s of n.targets){if(Mt.isWildcard(s)){i.push(()=>!0);break}if(Mt.isElementKindExpr(s)){i.push(s.isEqual?u=>u.kind===s.elementKind:u=>u.kind!==s.elementKind);continue}if(Mt.isElementTagExpr(s)){i.push(s.isEqual?({tags:u})=>!!u&&u.includes(s.elementTag):({tags:u})=>(0,ep.isNil)(u)||!u.includes(s.elementTag));continue}if(Mt.isElementRef(s)){let{element:u,isDescedants:a}=s;i.push(a?c=>c.id.startsWith(u+"."):c=>c.id===u);continue}Sr(s)}(0,ep.filter)((0,ep.anyPass)(i),e).forEach(s=>{s.shape=n.style.shape??s.shape,s.color=n.style.color??s.color,HJ.isDefined.strict(n.style.icon)&&(s.icon=n.style.icon)})}}return e}var ep,HJ,KJ=D(()=>{"use strict";rr();ep=he(bl(),1),HJ=he(sr(),1);o(VJ,"applyViewRuleStyles")});function Y_e(t,e){let r;for(;t.parent&&(r=e.get(t.parent));){let n=r.depth??1;if(r.depth=Math.max(n,(t.depth??0)+1),r.depth===n)break;t=r}}function zJ(t){return Array.from(t).sort(ju).reduce((e,{id:r,color:n,shape:i,...s})=>{let u=_n(r),a=0;for(;u;){let l=e.get(u);if(l){l.children.length==0&&(l.depth=1,Y_e(l,e)),l.children.push(r),a=l.level+1;break}u=_n(u)}let c={...s,id:r,parent:u,level:a,color:n??Hs,shape:i??hE,children:[],inEdges:[],outEdges:[]};return e.set(r,c),e},new Map)}var YJ=D(()=>{"use strict";rr();o(Y_e,"updateDepthOfAncestors");o(zJ,"buildComputeNodes")});var Hx=I((EDt,ZJ)=>{"use strict";var X_e="\0",il="\0",XJ="",Z3=class{static{o(this,"Graph")}#e=!0;#t=!1;#r=!1;#n;#o=()=>{};#s=()=>{};#i={};#u={};#c={};#l={};#m={};#f={};#d={};#h=0;#g=0;#p;#a;constructor(e){e&&(this.#e=e.hasOwnProperty("directed")?e.directed:!0,this.#t=e.hasOwnProperty("multigraph")?e.multigraph:!1,this.#r=e.hasOwnProperty("compound")?e.compound:!1),this.#r&&(this.#p={},this.#a={},this.#a[il]={})}isDirected(){return this.#e}isMultigraph(){return this.#t}isCompound(){return this.#r}setGraph(e){return this.#n=e,this}graph(){return this.#n}setDefaultNodeLabel(e){return this.#o=e,typeof e!="function"&&(this.#o=()=>e),this}nodeCount(){return this.#h}nodes(){return Object.keys(this.#i)}sources(){var e=this;return this.nodes().filter(r=>Object.keys(e.#u[r]).length===0)}sinks(){var e=this;return this.nodes().filter(r=>Object.keys(e.#l[r]).length===0)}setNodes(e,r){var n=arguments,i=this;return e.forEach(function(s){n.length>1?i.setNode(s,r):i.setNode(s)}),this}setNode(e,r){return this.#i.hasOwnProperty(e)?(arguments.length>1&&(this.#i[e]=r),this):(this.#i[e]=arguments.length>1?r:this.#o(e),this.#r&&(this.#p[e]=il,this.#a[e]={},this.#a[il][e]=!0),this.#u[e]={},this.#c[e]={},this.#l[e]={},this.#m[e]={},++this.#h,this)}node(e){return this.#i[e]}hasNode(e){return this.#i.hasOwnProperty(e)}removeNode(e){var r=this;if(this.#i.hasOwnProperty(e)){var n=o(i=>r.removeEdge(r.#f[i]),"removeEdge");delete this.#i[e],this.#r&&(this.#D(e),delete this.#p[e],this.children(e).forEach(function(i){r.setParent(i)}),delete this.#a[e]),Object.keys(this.#u[e]).forEach(n),delete this.#u[e],delete this.#c[e],Object.keys(this.#l[e]).forEach(n),delete this.#l[e],delete this.#m[e],--this.#h}return this}setParent(e,r){if(!this.#r)throw new Error("Cannot set parent in a non-compound graph");if(r===void 0)r=il;else{r+="";for(var n=r;n!==void 0;n=this.parent(n))if(n===e)throw new Error("Setting "+r+" as parent of "+e+" would create a cycle");this.setNode(r)}return this.setNode(e),this.#D(e),this.#p[e]=r,this.#a[r][e]=!0,this}#D(e){delete this.#a[this.#p[e]][e]}parent(e){if(this.#r){var r=this.#p[e];if(r!==il)return r}}children(e=il){if(this.#r){var r=this.#a[e];if(r)return Object.keys(r)}else{if(e===il)return this.nodes();if(this.hasNode(e))return[]}}predecessors(e){var r=this.#c[e];if(r)return Object.keys(r)}successors(e){var r=this.#m[e];if(r)return Object.keys(r)}neighbors(e){var r=this.predecessors(e);if(r){let i=new Set(r);for(var n of this.successors(e))i.add(n);return Array.from(i.values())}}isLeaf(e){var r;return this.isDirected()?r=this.successors(e):r=this.neighbors(e),r.length===0}filterNodes(e){var r=new this.constructor({directed:this.#e,multigraph:this.#t,compound:this.#r});r.setGraph(this.graph());var n=this;Object.entries(this.#i).forEach(function([u,a]){e(u)&&r.setNode(u,a)}),Object.values(this.#f).forEach(function(u){r.hasNode(u.v)&&r.hasNode(u.w)&&r.setEdge(u,n.edge(u))});var i={};function s(u){var a=n.parent(u);return a===void 0||r.hasNode(a)?(i[u]=a,a):a in i?i[a]:s(a)}return o(s,"findParent"),this.#r&&r.nodes().forEach(u=>r.setParent(u,s(u))),r}setDefaultEdgeLabel(e){return this.#s=e,typeof e!="function"&&(this.#s=()=>e),this}edgeCount(){return this.#g}edges(){return Object.values(this.#f)}setPath(e,r){var n=this,i=arguments;return e.reduce(function(s,u){return i.length>1?n.setEdge(s,u,r):n.setEdge(s,u),u}),this}setEdge(){var e,r,n,i,s=!1,u=arguments[0];typeof u=="object"&&u!==null&&"v"in u?(e=u.v,r=u.w,n=u.name,arguments.length===2&&(i=arguments[1],s=!0)):(e=u,r=arguments[1],n=arguments[3],arguments.length>2&&(i=arguments[2],s=!0)),e=""+e,r=""+r,n!==void 0&&(n=""+n);var a=Yg(this.#e,e,r,n);if(this.#d.hasOwnProperty(a))return s&&(this.#d[a]=i),this;if(n!==void 0&&!this.#t)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(r),this.#d[a]=s?i:this.#s(e,r,n);var c=Q_e(this.#e,e,r,n);return e=c.v,r=c.w,Object.freeze(c),this.#f[a]=c,QJ(this.#c[r],e),QJ(this.#m[e],r),this.#u[r][a]=c,this.#l[e][a]=c,this.#g++,this}edge(e,r,n){var i=arguments.length===1?J3(this.#e,arguments[0]):Yg(this.#e,e,r,n);return this.#d[i]}edgeAsObj(){let e=this.edge(...arguments);return typeof e!="object"?{label:e}:e}hasEdge(e,r,n){var i=arguments.length===1?J3(this.#e,arguments[0]):Yg(this.#e,e,r,n);return this.#d.hasOwnProperty(i)}removeEdge(e,r,n){var i=arguments.length===1?J3(this.#e,arguments[0]):Yg(this.#e,e,r,n),s=this.#f[i];return s&&(e=s.v,r=s.w,delete this.#d[i],delete this.#f[i],JJ(this.#c[r],e),JJ(this.#m[e],r),delete this.#u[r][i],delete this.#l[e][i],this.#g--),this}inEdges(e,r){var n=this.#u[e];if(n){var i=Object.values(n);return r?i.filter(s=>s.v===r):i}}outEdges(e,r){var n=this.#l[e];if(n){var i=Object.values(n);return r?i.filter(s=>s.w===r):i}}nodeEdges(e,r){var n=this.inEdges(e,r);if(n)return n.concat(this.outEdges(e,r))}};function QJ(t,e){t[e]?t[e]++:t[e]=1}o(QJ,"incrementOrInitEntry");function JJ(t,e){--t[e]||delete t[e]}o(JJ,"decrementOrRemoveEntry");function Yg(t,e,r,n){var i=""+e,s=""+r;if(!t&&i>s){var u=i;i=s,s=u}return i+XJ+s+XJ+(n===void 0?X_e:n)}o(Yg,"edgeArgsToId");function Q_e(t,e,r,n){var i=""+e,s=""+r;if(!t&&i>s){var u=i;i=s,s=u}var a={v:i,w:s};return n&&(a.name=n),a}o(Q_e,"edgeArgsToObj");function J3(t,e){return Yg(t,e.v,e.w,e.name)}o(J3,"edgeObjToId");ZJ.exports=Z3});var tZ=I((vDt,eZ)=>{"use strict";eZ.exports="2.1.13"});var nZ=I((xDt,rZ)=>{"use strict";rZ.exports={Graph:Hx(),version:tZ()}});var oZ=I((FDt,iZ)=>{"use strict";var J_e=Hx();iZ.exports={write:Z_e,read:rRe};function Z_e(t){var e={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:eRe(t),edges:tRe(t)};return t.graph()!==void 0&&(e.value=structuredClone(t.graph())),e}o(Z_e,"write");function eRe(t){return t.nodes().map(function(e){var r=t.node(e),n=t.parent(e),i={v:e};return r!==void 0&&(i.value=r),n!==void 0&&(i.parent=n),i})}o(eRe,"writeNodes");function tRe(t){return t.edges().map(function(e){var r=t.edge(e),n={v:e.v,w:e.w};return e.name!==void 0&&(n.name=e.name),r!==void 0&&(n.value=r),n})}o(tRe,"writeEdges");function rRe(t){var e=new J_e(t.options).setGraph(t.value);return t.nodes.forEach(function(r){e.setNode(r.v,r.value),r.parent&&e.setParent(r.v,r.parent)}),t.edges.forEach(function(r){e.setEdge({v:r.v,w:r.w,name:r.name},r.value)}),e}o(rRe,"read")});var uZ=I((bDt,sZ)=>{"use strict";sZ.exports=nRe;function nRe(t){var e={},r=[],n;function i(s){e.hasOwnProperty(s)||(e[s]=!0,n.push(s),t.successors(s).forEach(i),t.predecessors(s).forEach(i))}return o(i,"dfs"),t.nodes().forEach(function(s){n=[],i(s),n.length&&r.push(n)}),r}o(nRe,"components")});var tk=I((_Dt,aZ)=>{"use strict";var ek=class{static{o(this,"PriorityQueue")}#e=[];#t={};size(){return this.#e.length}keys(){return this.#e.map(function(e){return e.key})}has(e){return this.#t.hasOwnProperty(e)}priority(e){var r=this.#t[e];if(r!==void 0)return this.#e[r].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this.#e[0].key}add(e,r){var n=this.#t;if(e=String(e),!n.hasOwnProperty(e)){var i=this.#e,s=i.length;return n[e]=s,i.push({key:e,priority:r}),this.#n(s),!0}return!1}removeMin(){this.#o(0,this.#e.length-1);var e=this.#e.pop();return delete this.#t[e.key],this.#r(0),e.key}decrease(e,r){var n=this.#t[e];if(r>this.#e[n].priority)throw new Error("New priority is greater than current priority. Key: "+e+" Old: "+this.#e[n].priority+" New: "+r);this.#e[n].priority=r,this.#n(n)}#r(e){var r=this.#e,n=2*e,i=n+1,s=e;n<r.length&&(s=r[n].priority<r[s].priority?n:s,i<r.length&&(s=r[i].priority<r[s].priority?i:s),s!==e&&(this.#o(e,s),this.#r(s)))}#n(e){for(var r=this.#e,n=r[e].priority,i;e!==0&&(i=e>>1,!(r[i].priority<n));)this.#o(e,i),e=i}#o(e,r){var n=this.#e,i=this.#t,s=n[e],u=n[r];n[e]=u,n[r]=s,i[u.key]=e,i[s.key]=r}};aZ.exports=ek});var rk=I((SDt,cZ)=>{"use strict";var iRe=tk();cZ.exports=sRe;var oRe=o(()=>1,"DEFAULT_WEIGHT_FUNC");function sRe(t,e,r,n){return uRe(t,String(e),r||oRe,n||function(i){return t.outEdges(i)})}o(sRe,"dijkstra");function uRe(t,e,r,n){var i={},s=new iRe,u,a,c=o(function(l){var f=l.v!==u?l.v:l.w,p=i[f],g=r(l),h=a.distance+g;if(g<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+l+" Weight: "+g);h<p.distance&&(p.distance=h,p.predecessor=u,s.decrease(f,h))},"updateNeighbors");for(t.nodes().forEach(function(l){var f=l===e?0:Number.POSITIVE_INFINITY;i[l]={distance:f},s.add(l,f)});s.size()>0&&(u=s.removeMin(),a=i[u],a.distance!==Number.POSITIVE_INFINITY);)n(u).forEach(c);return i}o(uRe,"runDijkstra")});var fZ=I((PDt,lZ)=>{"use strict";var aRe=rk();lZ.exports=cRe;function cRe(t,e,r){return t.nodes().reduce(function(n,i){return n[i]=aRe(t,i,e,r),n},{})}o(cRe,"dijkstraAll")});var nk=I((IDt,dZ)=>{"use strict";dZ.exports=lRe;function lRe(t){var e=0,r=[],n={},i=[];function s(u){var a=n[u]={onStack:!0,lowlink:e,index:e++};if(r.push(u),t.successors(u).forEach(function(f){n.hasOwnProperty(f)?n[f].onStack&&(a.lowlink=Math.min(a.lowlink,n[f].index)):(s(f),a.lowlink=Math.min(a.lowlink,n[f].lowlink))}),a.lowlink===a.index){var c=[],l;do l=r.pop(),n[l].onStack=!1,c.push(l);while(u!==l);i.push(c)}}return o(s,"dfs"),t.nodes().forEach(function(u){n.hasOwnProperty(u)||s(u)}),i}o(lRe,"tarjan")});var mZ=I((NDt,pZ)=>{"use strict";var fRe=nk();pZ.exports=dRe;function dRe(t){return fRe(t).filter(function(e){return e.length>1||e.length===1&&t.hasEdge(e[0],e[0])})}o(dRe,"findCycles")});var gZ=I((LDt,hZ)=>{"use strict";hZ.exports=mRe;var pRe=o(()=>1,"DEFAULT_WEIGHT_FUNC");function mRe(t,e,r){return hRe(t,e||pRe,r||function(n){return t.outEdges(n)})}o(mRe,"floydWarshall");function hRe(t,e,r){var n={},i=t.nodes();return i.forEach(function(s){n[s]={},n[s][s]={distance:0},i.forEach(function(u){s!==u&&(n[s][u]={distance:Number.POSITIVE_INFINITY})}),r(s).forEach(function(u){var a=u.v===s?u.w:u.v,c=e(u);n[s][a]={distance:c,predecessor:s}})}),i.forEach(function(s){var u=n[s];i.forEach(function(a){var c=n[a];i.forEach(function(l){var f=c[s],p=u[l],g=c[l],h=f.distance+p.distance;h<g.distance&&(g.distance=h,g.predecessor=p.predecessor)})})}),n}o(hRe,"runFloydWarshall")});var ik=I(($Dt,yZ)=>{"use strict";function DZ(t){var e={},r={},n=[];function i(s){if(r.hasOwnProperty(s))throw new Xg;e.hasOwnProperty(s)||(r[s]=!0,e[s]=!0,t.predecessors(s).forEach(i),delete r[s],n.push(s))}if(o(i,"visit"),t.sinks().forEach(i),Object.keys(e).length!==t.nodeCount())throw new Xg;return n}o(DZ,"topsort");var Xg=class extends Error{static{o(this,"CycleException")}constructor(){super(...arguments)}};yZ.exports=DZ;DZ.CycleException=Xg});var vZ=I((qDt,CZ)=>{"use strict";var EZ=ik();CZ.exports=gRe;function gRe(t){try{EZ(t)}catch(e){if(e instanceof EZ.CycleException)return!1;throw e}return!0}o(gRe,"isAcyclic")});var ok=I((GDt,FZ)=>{"use strict";FZ.exports=DRe;function DRe(t,e,r){Array.isArray(e)||(e=[e]);var n=t.isDirected()?a=>t.successors(a):a=>t.neighbors(a),i=r==="post"?yRe:ERe,s=[],u={};return e.forEach(a=>{if(!t.hasNode(a))throw new Error("Graph does not have node: "+a);i(a,n,u,s)}),s}o(DRe,"dfs");function yRe(t,e,r,n){for(var i=[[t,!1]];i.length>0;){var s=i.pop();s[1]?n.push(s[0]):r.hasOwnProperty(s[0])||(r[s[0]]=!0,i.push([s[0],!0]),xZ(e(s[0]),u=>i.push([u,!1])))}}o(yRe,"postOrderDfs");function ERe(t,e,r,n){for(var i=[t];i.length>0;){var s=i.pop();r.hasOwnProperty(s)||(r[s]=!0,n.push(s),xZ(e(s),u=>i.push(u)))}}o(ERe,"preOrderDfs");function xZ(t,e){for(var r=t.length;r--;)e(t[r],r,t);return t}o(xZ,"forEachRight")});var bZ=I((HDt,wZ)=>{"use strict";var CRe=ok();wZ.exports=vRe;function vRe(t,e){return CRe(t,e,"post")}o(vRe,"postorder")});var _Z=I((KDt,AZ)=>{"use strict";var xRe=ok();AZ.exports=FRe;function FRe(t,e){return xRe(t,e,"pre")}o(FRe,"preorder")});var SZ=I((YDt,RZ)=>{"use strict";var wRe=Hx(),bRe=tk();RZ.exports=ARe;function ARe(t,e){var r=new wRe,n={},i=new bRe,s;function u(c){var l=c.v===s?c.w:c.v,f=i.priority(l);if(f!==void 0){var p=e(c);p<f&&(n[l]=s,i.decrease(l,p))}}if(o(u,"updateNeighbors"),t.nodeCount()===0)return r;t.nodes().forEach(function(c){i.add(c,Number.POSITIVE_INFINITY),r.setNode(c)}),i.decrease(t.nodes()[0],0);for(var a=!1;i.size()>0;){if(s=i.removeMin(),n.hasOwnProperty(s))r.setEdge(s,n[s]);else{if(a)throw new Error("Input graph is not connected: "+t);a=!0}t.nodeEdges(s).forEach(u)}return r}o(ARe,"prim")});var PZ=I((QDt,TZ)=>{"use strict";TZ.exports={components:uZ(),dijkstra:rk(),dijkstraAll:fZ(),findCycles:mZ(),floydWarshall:gZ(),isAcyclic:vZ(),postorder:bZ(),preorder:_Z(),prim:SZ(),tarjan:nk(),topsort:ik()}});var sk=I((JDt,IZ)=>{"use strict";var kZ=nZ();IZ.exports={Graph:kZ.Graph,json:oZ(),alg:PZ(),version:kZ.version}});function SRe(t){t.forEach(e=>{e.children.length>0&&(e.children=t.flatMap(r=>r.parent===e.id?r.id:[]))})}function NZ({nodes:t,edges:e}){if(e.length===0)return t;let r=new _Re({compound:!1,directed:!0,multigraph:!1}),n=o(c=>To(t.find(l=>l.id===c),"Edge not found"),"getNode"),i=o(c=>To(e.find(l=>l.id===c),"Edge not found"),"getEdge");for(let c of[...e].sort(Bm))r.setEdge(c.source,c.target);for(let c of t)r.setNode(c.id),c.children.length>0&&c.inEdges.forEach(l=>{let f=i(l);f.target!==c.id&&n(f.source).children.length===0&&r.setEdge(f.source,c.id)}),c.parent&&r.setEdge(c.parent,c.id);let s=r.sources();s.length===0&&(s=(0,Bs.pipe)(t,(0,Bs.sort)(ju),(0,Bs.filter)(c=>c.inEdges.length===0||c.parent===null),(0,Bs.map)(c=>c.id)));let a=RRe.postorder(r,s).reverse().map(n);if(a.length<t.length){let c=(0,Bs.difference)(t,a);a.push(...c)}return dt(a.length===t.length,"Not all nodes were processed by graphlib"),SRe(a),a}var OZ,Bs,_Re,RRe,BZ=D(()=>{"use strict";OZ=he(sk(),1);rr();Bs=he(sr(),1),{Graph:_Re,alg:RRe}=OZ.default;o(SRe,"sortChildren");o(NZ,"sortNodes")});function TRe(t,e){return Bm({source:t.source.id,target:t.target.id},{source:e.source.id,target:e.target.id})}var Ls,Vx,LZ=D(()=>{"use strict";rr();Ls=he(sr(),1);UJ();WJ();KJ();YJ();BZ();o(TRe,"compareEdges");Vx=class t{constructor(e,r){this.view=e;this.graph=r}static{o(this,"ComputeCtx")}ctxElements=new Set;ctxEdges=[];static elementView(e,r){return new t(e,r).compute()}compute(){this.reset();let{rules:e,...r}=this.view,n=e.filter(O7);this.root&&n.length==0&&this.addElement(this.graph.element(this.root)),this.processPredicates(n),this.removeRedundantImplicitEdges();let i=[...this.elements],s=zJ(i),u=this.computedEdges.reduce((g,h)=>{let F=s.get(h.source),v=s.get(h.target);for(dt(F,`Source node ${h.source} not found`),dt(v,`Target node ${h.target} not found`);h.parent&&!s.has(h.parent);)h.parent=_n(h.parent);F.outEdges.push(h.id),v.inEdges.push(h.id);for(let x of $u(h.source)){if(x===h.parent)break;s.get(x)?.outEdges.push(h.id)}for(let x of $u(h.target)){if(x===h.parent)break;s.get(x)?.inEdges.push(h.id)}return g.push(h),g},[]),a=i.flatMap(g=>s.get(g.id)??[]),c=GJ(e,VJ(e,NZ({nodes:a,edges:u}))),l=new Map(u.map(g=>[g.id,g])),f=new Set([...c.flatMap(g=>g.children.length===0?g.outEdges.flatMap(h=>l.get(h)??[]):[]),...u]),p=this.view.rules.find(B7);return{...r,autoLayout:p?.autoLayout??"TB",nodes:c,edges:[...f]}}get root(){return gE(this.view)?this.view.viewOf:null}get computedEdges(){return this.ctxEdges.map(e=>{dt((0,Ls.hasAtLeast)(e.relations,1),"Edge must have at least one relation");let r=[...e.relations].sort(Bm),n=e.source.id,i=e.target.id,s={id:`${n}:${i}`,parent:uc(n,i),source:n,target:i,label:null,relations:r.map(a=>a.id)},u;if(r.length===1?u=r[0]:(u=r.find(a=>a.source===n&&a.target===i),u??=r.find(a=>a.source===n||a.target===i)),!u){let a=(0,Ls.uniq)(r.flatMap(c=>(0,Ls.isTruthy)(c.title)?c.title:[]));return(0,Ls.hasAtLeast)(a,1)&&(a.length===1?s.label=a[0]:s.label="[...]"),s}return Object.assign(s,(0,Ls.isTruthy)(u.title)&&{label:u.title},u.color&&{color:u.color},u.line&&{line:u.line},u.head&&{head:u.head},u.tail&&{tail:u.tail})})}get elements(){return new Set([...this.ctxElements,...this.ctxEdges.flatMap(e=>[e.source,e.target])])}addEdges(e){for(let r of e){if(!(0,Ls.hasAtLeast)(r.relations,1))continue;let n=this.ctxEdges.find(i=>i.source.id===r.source.id&&i.target.id===r.target.id);if(n){n.relations=(0,Ls.uniq)([...n.relations,...r.relations]);continue}this.ctxEdges.push(r)}}addElement(...e){for(let r of e)this.ctxElements.add(r)}excludeElement(...e){for(let r of e)this.ctxEdges=this.ctxEdges.filter(n=>n.source.id!==r.id&&n.target.id!==r.id),this.ctxElements.delete(r)}excludeRelation(...e){for(let r of e){let n;for(;n=this.ctxEdges.find(i=>i.relations.includes(r));){if(n.relations.length===1){this.ctxEdges.splice(this.ctxEdges.indexOf(n),1);continue}n.relations=n.relations.filter(i=>i!==r)}}}reset(){this.ctxElements.clear(),this.ctxEdges=[]}removeRedundantImplicitEdges(){let e=new WeakSet,r=o(s=>s.reduce((u,a)=>(e.has(a)||(u.push(a),e.add(a)),u),[]),"excludeProcessed"),n=o(s=>{let{source:u,target:a}=s;return c=>{let l=u.id===c.source.id,f=a.id===c.target.id;if(l&&f)return!0;let p=DE(u.id,c.source.id),g=DE(a.id,c.target.id);return p&&g||l&&g||f&&p}},"isNestedEdgeOf"),i=[...this.ctxEdges].sort(TRe).reverse();this.ctxEdges=i.reduce((s,u)=>{let a=r(u.relations);return a.length===0||s.length>0&&s.some(n(u))||s.push({source:u.source,target:u.target,relations:a}),s},[])}processPredicates(e){for(let r of e){let n="include"in r,i=r.include??r.exclude;for(let s of i){if(Mt.isCustomElement(s)){dt(n,"CustomElementExpr is not allowed in exclude rule"),qJ.call(this,s);continue}if(Mt.isElementKindExpr(s)||Mt.isElementTagExpr(s)){n?RJ.call(this,s):SJ.call(this,s);continue}if(Mt.isElementRef(s)){n?FJ.call(this,s):wJ.call(this,s);continue}if(Mt.isWildcard(s)){n?bJ.call(this,s):AJ.call(this,s);continue}if(Mt.isIncoming(s)){n?PJ.call(this,s):kJ.call(this,s);continue}if(Mt.isOutgoing(s)){n?OJ.call(this,s):NJ.call(this,s);continue}if(Mt.isInOut(s)){n?LJ.call(this,s):MJ.call(this,s);continue}if(Mt.isRelation(s)){n?$J.call(this,s):jJ.call(this,s);continue}Sr(s)}}return this}}});function PRe(t,e){return Vx.elementView(t,e)}function uk(t,e){try{return{isSuccess:!0,view:PRe(t,e)}}catch(r){return{isSuccess:!1,error:Mu(r),view:void 0}}}var MZ=D(()=>{"use strict";rr();LZ();o(PRe,"computeElementView");o(uk,"computeView")});var Kx,Qg,$Z=D(()=>{"use strict";rr();Kx=he(sr(),1),Qg=class{static{o(this,"LikeC4ModelGraph")}#e=new Map;#t=new Map;#r=new Set;#n=new Map;#o=new Map;#s=new Map;#i=new Map;constructor({elements:e,relations:r}){for(let n of Object.values(e))this.addElement(n);for(let n of Object.values(r))this.addRelation(n)}get rootElements(){return[...this.#r]}get elements(){return[...this.#e.values()]}element(e){let r=this.#e.get(e);return F7(r,`Element ${e} not found`),r}incoming(e){return this._incomingTo(e).flatMap(r=>this.#n.get(r)??[])}outgoing(e){return this._outgoingFrom(e).flatMap(r=>this.#n.get(r)??[])}internal(e){return this._internalOf(e).flatMap(r=>this.#n.get(r)??[])}children(e){return this._childrenOf(e).flatMap(r=>this.#e.get(r)??[])}childrenOrElement(e){let r=this.children(e);return r.length>0?r:[this.element(e)]}siblings(e){let r=xi(e)?e:e.id,n=_n(r);return(n?this._childrenOf(n):[...this.#r].map(s=>s.id)).flatMap(s=>s!==r&&this.#e.get(s)||[])}ancestors(e){let r=xi(e)?e:e.id;return $u(r).flatMap(n=>this.#e.get(n)??[])}ascendingSiblings(e){let r=xi(e)?e:e.id;return[...this.siblings(r),...this.ancestors(r).flatMap(n=>this.siblings(n.id))]}anyEdgesBetween(e,r){if(r.length===0)return[];let n=xi(e)?this.element(e):e,i=this._incomingTo(n.id),s=this._outgoingFrom(n.id);if(i.length===0&&s.length===0)return[];let u=[];for(let a of r){let c=xi(a)?this.element(a):a;if(!Om(n,c)){if(s.length>0){let l=this._incomingTo(c.id),f=(0,Kx.intersection)(s,l);f.length>0&&u.push({source:n,target:c,relations:f.flatMap(p=>this.#n.get(p)??[])})}if(i.length>0){let l=this._outgoingFrom(c.id),f=(0,Kx.intersection)(l,i);f.length>0&&u.push({source:c,target:n,relations:f.flatMap(p=>this.#n.get(p)??[])})}}}return u}edgesWithin(e){return e.length<2?[]:e.reduce((r,n,i,s)=>(i===s.length-1||r.push(...this.anyEdgesBetween(n,s.slice(i+1))),r),[])}edgesBetween(e,r){let n=Array.isArray(e)?e:[e],i=Array.isArray(r)?r:[r];if(n.length===0||i.length===0)return[];let s=[];for(let u of n){let a=xi(u)?this.element(u):u,c=this._outgoingFrom(a.id);if(c.length!==0)for(let l of i){let f=xi(l)?this.element(l):l;if(Om(a,f))continue;let p=this._incomingTo(f.id);if(p.length===0)continue;let g=(0,Kx.intersection)(c,p).flatMap(h=>this.#n.get(h)??[]);g.length>0&&s.push({source:a,target:f,relations:g})}}return s}addElement(e){if(this.#e.has(e.id))throw new Lu(`Element ${e.id} already exists`);this.#e.set(e.id,e);let r=_n(e.id);r?this._childrenOf(r).push(e.id):this.#r.add(e)}addRelation(e){if(this.#n.has(e.id))throw new Lu(`Relation ${e.id} already exists`);this.#n.set(e.id,e),this._incomingTo(e.target).push(e.id),this._outgoingFrom(e.source).push(e.id);let r=uc(e.source,e.target);if(r)for(let n of[r,...$u(r)])this._internalOf(n).push(e.id);for(let n of $u(e.source)){if(n===r)break;this._outgoingFrom(n).push(e.id)}for(let n of $u(e.target)){if(n===r)break;this._incomingTo(n).push(e.id)}}_childrenOf(e){let r=this.#t.get(e);return r||(r=[],this.#t.set(e,r)),r}_incomingTo(e){let r=this.#o.get(e);return r||(r=[],this.#o.set(e,r)),r}_outgoingFrom(e){let r=this.#s.get(e);return r||(r=[],this.#s.set(e,r)),r}_internalOf(e){let r=this.#i.get(e);return r||(r=[],this.#i.set(e,r)),r}}});var jZ=D(()=>{"use strict";MZ();$Z()});function UZ(t){let e=new Map;for(let r of t)if(r.viewOf&&!r.extends){let n=e.get(r.viewOf)??[];n.push(r.id),e.set(r.viewOf,n)}for(let{id:r,nodes:n}of t)for(let i of n){if(i.navigateTo)continue;let s=(0,qZ.find)(e.get(i.id)??[],u=>u!==r);s&&(i.navigateTo=s)}return t}var qZ,GZ=D(()=>{"use strict";qZ=he(sr(),1);o(UZ,"assignNavigateTo")});function VZ(t){let e=new kRe({directed:!0,multigraph:!1,compound:!1});for(let i of Object.values(t))e.setNode(i.id),C2(i)&&e.setEdge(i.id,i.extends);let r=WZ.findCycles(e);return r.length>0&&r.flat().forEach(i=>e.removeNode(i)),WZ.postorder(e,e.sources()).reduce((i,s)=>{let u=t[s];if(!u)return i;if(C2(u)){let a=i[u.extends];return a?Object.assign(i,{[u.id]:{...a,...u,rules:[...a.rules,...u.rules]}}):i}return Object.assign(i,{[u.id]:u})},{})}var HZ,kRe,WZ,KZ=D(()=>{"use strict";HZ=he(sk(),1);rr();({Graph:kRe,alg:WZ}=HZ.default);o(VZ,"resolveRulesExtendedViews")});function IRe(t,e="/"){if(t.length<=1)return"";let r=(0,zx.uniq)(t.flatMap(({docUri:c})=>c?[c]:[]));if(r.length===0)return"";if(r.length===1)return dt((0,Jg.hasAtLeast)(r,1)),new URL(r[0]).pathname;dt((0,Jg.hasAtLeast)(r,2),"Expected at least 2 unique URIs");let[n,...i]=r,s=new URL(n).pathname.split(e),u=s.length;for(let c of i){if(c===n)continue;let l=new URL(c).pathname.split(e);for(let f=0;f<u;f++)l[f]!==s[f]&&(u=f);if(u===0)return""}let a=s.slice(0,u).join(e);return a.endsWith(e)?a:a+e}function zZ(t){let e=IRe(t);return t.map(r=>{if(!r.docUri)return{...r,parts:[]};let i=new URL(r.docUri).pathname.replace(e,"").split("/");return i.pop(),{...r,parts:i}}).sort((r,n)=>{if(r.parts.length===n.parts.length){if(r.parts.length===0)return 0;if(r.parts.length===1&&(0,Jg.hasAtLeast)(r.parts,1)&&(0,Jg.hasAtLeast)(n.parts,1))return r.parts[0].localeCompare(n.parts[0]);for(let[i,s]of(0,zx.zip)(r.parts,n.parts)){let u=i.localeCompare(s);if(u!==0)return u}return 0}return r.parts.length-n.parts.length}).map(({parts:r,...n})=>n.docUri?{...n,relativePath:r.join("/")}:n)}var zx,Jg,YZ=D(()=>{"use strict";zx=he(bl(),1),Jg=he(sr(),1);rr();o(IRe,"commonAncestorPath");o(zZ,"resolveRelativePaths")});var XZ=D(()=>{"use strict";GZ();KZ();YZ()});function ORe(t,e){let r={kinds:{},relationships:{}};St.forEach(St.map(e,St.prop("c4Specification")),f=>{Object.assign(r.kinds,f.kinds),Object.assign(r.relationships,f.relationships)});let n=o((f,p)=>p.map(g=>t.lsp.DocumentLinkProvider.resolveLink(f,g)),"resolveLinks"),i=o(f=>({astPath:p,tags:g,links:h,...F})=>{try{let v=r.kinds[F.kind];if(v)return{...v,description:null,technology:null,tags:g??null,links:h?n(f,h):null,...F};Ut.warn(`No kind '${F.kind}' found for ${F.id}`)}catch(v){so(v)}return null},"toModelElement"),s=St.pipe(St.flatMap(e,f=>f.c4Elements.map(i(f))),St.compact,St.sort(ju),St.reduce((f,p)=>{let g=_n(p.id);return g&&St.isNil(f[g])?(so(`No parent found for ${p.id}`),f):p.id in f?(so(`Duplicate element id: ${p.id}`),f):(f[p.id]=p,f)},{})),u=o(f=>({astPath:p,source:g,target:h,kind:F,links:v,...x})=>g in s&&h in s?F&&F in r.relationships?{source:g,target:h,kind:F,...v&&{links:n(f,v)},...r.relationships[F],...x}:{source:g,target:h,...v&&{links:n(f,v)},...x}:null,"toModelRelation"),a=St.pipe(St.flatMap(e,f=>St.map(f.c4Relations,u(f))),St.compact,St.mapToObj(f=>[f.id,f])),c=o(f=>{let p=f.uri.toString();return g=>{let{astPath:h,rules:F,title:v,description:x,tags:R,links:_,...A}=g;return!v&&"viewOf"in g&&(v=s[g.viewOf]?.title),!v&&g.id==="index"&&(v="Landscape view"),{...A,title:v??null,description:x??null,tags:R??null,links:_?n(f,_):null,docUri:p,rules:F}}},"toElementView"),l=St.pipe(St.flatMap(e,f=>St.map(f.c4Views,c(f))),zZ,St.mapToObj(f=>[f.id,f]),VZ);return"index"in l||(l.index={id:"index",title:"Landscape",description:null,tags:null,links:null,rules:[{include:[{wildcard:!0}]}]}),{elements:s,relations:a,views:l}}function QZ(t){return`computed-view-${t}`}var St,JZ,NRe,BRe,Yx,ZZ=D(()=>{"use strict";rr();jZ();Qr();St=he(sr(),1),JZ=he(Xi(),1);an();uo();Y3();XZ();o(ORe,"buildModel");NRe="LikeC4RawModel",BRe="LikeC4Model",Yx=class{constructor(e){this.services=e;this.langiumDocuments=e.shared.workspace.LangiumDocuments;let r=e.likec4.ModelParser;e.shared.workspace.DocumentBuilder.onUpdate((n,i)=>{i.length>0&&this.notifyListeners(i)}),e.shared.workspace.DocumentBuilder.onBuildPhase(vt.Validated,async(n,i)=>{let s=[];try{Ut.debug(`[ModelBuilder] onValidated (${n.length} docs)
|
|
191
|
+
`+Kg(r));for(let i of r)if(Qd(i)){delete i.c4fqns,delete i.c4Elements,delete i.c4Specification,delete i.c4Relations,delete i.c4Views;try{xJ(i,e)}catch(s){Tr(s)}}return Promise.resolve()}),Ut.debug("[FqnIndex] Created")}static{o(this,"FqnIndex")}langiumDocuments;get documents(){return this.langiumDocuments.all.filter(Ix)}entries(e=K_e){return this.documents.flatMap(r=>r.c4fqns.entries().flatMap(([n,i])=>{if(e(n)){let s=i.el.deref();if(s)return{...i,fqn:n,el:s,doc:r}}return[]}))}getFqn(e){return kx.readId(e)??null}byFqn(e){return this.documents.flatMap(r=>r.c4fqns.get(e).flatMap(n=>{let i=n.el.deref();return i?{fqn:e,el:i,doc:r,path:n.path,name:n.name}:[]}))}directChildrenOf(e){return pt([e]).flatMap(r=>{let n=this.entries(i=>_n(i)===r).map(i=>[i.name,i]).toArray();return n.length===0?[]:new kn(n).entriesGroupedByKey().flatMap(([i,s])=>s.length===1?s:[]).iterator()})}uniqueDescedants(e){return new Mn(()=>{let r=`${e}.`,n=new Set,i=[],s=new kn;if(this.entries(u=>u.startsWith(r)).forEach(u=>{let a=rf(u.fqn),c={...u,name:a};_n(u.fqn)===e?(n.add(a),s.add(a,c)):i.push(c)}),s.size+i.length===0)return null;for(let u of i)n.has(u.name)||s.add(u.name,u);return s.entriesGroupedByKey().flatMap(([u,a])=>a.length===1?a:[]).iterator()},r=>r?r.next():gn)}}});function FJ(t){let e=[...this.elements],r=t.isDescedants===!0?this.graph.childrenOrElement(t.element):[this.graph.element(t.element)];if(this.addElement(...r),t.isDescedants===!0&&r.length>0&&this.addEdges(this.graph.edgesWithin(r)),e.length>0&&r.length>0)for(let n of r)this.addEdges(this.graph.anyEdgesBetween(n,e))}function wJ(t){let e=t.isDescedants===!0?this.graph.children(t.element):[this.graph.element(t.element)];for(let r of e)this.excludeElement(r)}function bJ(t){let e=[...this.elements],r=this.root;if(r){let n=this.graph.element(r);this.addElement(n);let i=this.graph.children(r),s=i.length>0;s?(this.addElement(...i),this.addEdges(this.graph.edgesWithin(i))):i.push(n);let u=[...e,...this.graph.siblings(r),...this.graph.ancestors(r).flatMap(a=>this.graph.siblings(a.id))];for(let a of i)this.addEdges(this.graph.anyEdgesBetween(a,u));if(!s&&this.graph.anyEdgesBetween(n,this.graph.siblings(r)).length===0){let c=_n(r),l=c&&this.graph.element(c);l&&this.addElement(l)}}else this.addElement(...this.graph.rootElements),this.addEdges(this.graph.edgesWithin(this.graph.rootElements))}function AJ(t){let e=this.root;e?(this.excludeElement(this.graph.element(e)),this.excludeElement(...this.graph.children(e)),this.excludeRelation(...this.graph.internal(e),...this.graph.incoming(e),...this.graph.outgoing(e))):this.reset()}function RJ(t){let e=[...this.elements],r=this.graph.elements.filter(_J(t));if(r.length>0){this.addElement(...r),this.addEdges(this.graph.edgesWithin(r));for(let n of r)this.addEdges(this.graph.anyEdgesBetween(n,e))}}function SJ(t){let e=this.graph.elements.filter(_J(t));e.length>0&&this.excludeElement(...e)}function zg(t){return Mt.isElementRef(t)?this.graph.ascendingSiblings(t.element):this.root?this.graph.ascendingSiblings(this.root):this.graph.rootElements}function Gx(t){return Mt.isWildcard(t)?this.root?[...this.graph.children(this.root),this.graph.element(this.root)]:this.graph.rootElements:Mt.isElementKindExpr(t)?this.graph.elements.filter(e=>t.isEqual?e.kind===t.elementKind:e.kind!==t.elementKind):Mt.isElementTagExpr(t)?this.graph.elements.filter(e=>{let r=e.tags;return t.isEqual?!!r&&r.includes(t.elementTag):(0,Q3.isNil)(r)||r.length===0||!r.includes(t.elementTag)}):this.root===t.element&&t.isDescedants!==!0?[...this.graph.children(this.root),this.graph.element(this.root)]:t.isDescedants?this.graph.childrenOrElement(t.element):[this.graph.element(t.element)]}function TJ(t){if(Mt.isWildcard(t)){if(!this.root)return[];let n=this.graph.ascendingSiblings(this.root),i=[...this.graph.children(this.root),this.graph.element(this.root)];return this.graph.edgesBetween(n,i)}let e=Gx.call(this,t);if(e.length===0)return[];let r=[...this.elements];return r.length===0&&r.push(...zg.call(this,t)),this.graph.edgesBetween(r,e)}function PJ(t){let e=TJ.call(this,t.incoming);e.length>0&&this.addEdges(e)}function kJ(t){let e=TJ.call(this,t.incoming);e.length>0&&this.excludeRelation(...e.flatMap(r=>r.relations))}function IJ(t){if(Mt.isWildcard(t)){if(!this.root)return[];let n=this.graph.ascendingSiblings(this.root),i=[...this.graph.children(this.root),this.graph.element(this.root)];return this.graph.edgesBetween(i,n)}let e=Gx.call(this,t);if(e.length===0)return[];let r=[...this.elements];return r.length===0&&r.push(...zg.call(this,t)),this.graph.edgesBetween(e,r)}function OJ(t){let e=IJ.call(this,t.outgoing);e.length>0&&this.addEdges(e)}function NJ(t){let e=IJ.call(this,t.outgoing);e.length>0&&this.excludeRelation(...e.flatMap(r=>r.relations))}function BJ(t){if(Mt.isWildcard(t.inout)){if(!this.root)return[];let n=this.graph.ascendingSiblings(this.root);return this.graph.anyEdgesBetween(this.graph.element(this.root),n)}let e=Gx.call(this,t.inout);if(e.length===0)return[];let r=[...this.elements];return r.length===0&&r.push(...zg.call(this,t.inout)),e.flatMap(n=>this.graph.anyEdgesBetween(n,r))}function LJ(t){let e=BJ.call(this,t);e.length>0&&this.addEdges(e)}function MJ(t){let e=BJ.call(this,t);e.length>0&&this.excludeRelation(...e.flatMap(r=>r.relations))}function Zd(t){return Mt.isElementRef(t)&&this.root===t.element&&t.isDescedants!==!0?[...this.graph.children(t.element),this.graph.element(t.element)]:Gx.call(this,t)}function $J(t){let e,r;Mt.isWildcard(t.source)&&!Mt.isWildcard(t.target)?(e=zg.call(this,t.target),r=Zd.call(this,t.target)):!Mt.isWildcard(t.source)&&Mt.isWildcard(t.target)?(e=Zd.call(this,t.source),r=zg.call(this,t.source)):(e=Zd.call(this,t.source),r=Zd.call(this,t.target)),this.addEdges(this.graph.edgesBetween(e,r))}function jJ(t){let e=Zd.call(this,t.source),r=Zd.call(this,t.target),n=this.graph.edgesBetween(e,r).flatMap(i=>i.relations);this.excludeRelation(...n)}function qJ(t){let e=[...this.elements],r=this.graph.element(t.custom.element);this.addElement(r),e.length>0&&this.addEdges(this.graph.anyEdgesBetween(r,e))}var Q3,_J,UJ=D(()=>{"use strict";rr();Q3=he(sr(),1);o(FJ,"includeElementRef");o(wJ,"excludeElementRef");o(bJ,"includeWildcardRef");o(AJ,"excludeWildcardRef");_J=o(t=>t.isEqual?Mt.isElementKindExpr(t)?e=>e.kind===t.elementKind:({tags:e})=>!!e&&e.includes(t.elementTag):Mt.isElementKindExpr(t)?e=>e.kind!==t.elementKind:({tags:e})=>(0,Q3.isNil)(e)||e.length===0||!e.includes(t.elementTag),"asElementPredicate");o(RJ,"includeElementKindOrTag");o(SJ,"excludeElementKindOrTag");o(zg,"resolveNeighbours");o(Gx,"resolveElements");o(TJ,"edgesIncomingExpr");o(PJ,"includeIncomingExpr");o(kJ,"excludeIncomingExpr");o(IJ,"edgesOutgoingExpr");o(OJ,"includeOutgoingExpr");o(NJ,"excludeOutgoingExpr");o(BJ,"edgesInOutExpr");o(LJ,"includeInOutExpr");o(MJ,"excludeInOutExpr");o(Zd,"resolveRelationExprElements");o($J,"includeRelationExpr");o(jJ,"excludeRelationExpr");o(qJ,"includeCustomElement")});function GJ(t,e){let r=t.flatMap(i=>"include"in i?i.include.filter(Mt.isCustomElement):[]);if(r.length===0)return e;let n=[...e];for(let{custom:{element:i,...s}}of r){let u=n.findIndex(c=>c.id===i);if(u===-1)continue;let a=To(n[u]);n[u]={...a,...z_e(s)}}return n}var Wx,z_e,WJ=D(()=>{"use strict";rr();Wx=he(sr(),1),z_e=(0,Wx.omitBy)(Wx.isNil);o(GJ,"applyElementCustomProperties")});function VJ(t,e){let r=t.filter(N7);if(r.length===0)return e;for(let n of r){let i=[];for(let s of n.targets){if(Mt.isWildcard(s)){i.push(()=>!0);break}if(Mt.isElementKindExpr(s)){i.push(s.isEqual?u=>u.kind===s.elementKind:u=>u.kind!==s.elementKind);continue}if(Mt.isElementTagExpr(s)){i.push(s.isEqual?({tags:u})=>!!u&&u.includes(s.elementTag):({tags:u})=>(0,ep.isNil)(u)||!u.includes(s.elementTag));continue}if(Mt.isElementRef(s)){let{element:u,isDescedants:a}=s;i.push(a?c=>c.id.startsWith(u+"."):c=>c.id===u);continue}Sr(s)}(0,ep.filter)((0,ep.anyPass)(i),e).forEach(s=>{s.shape=n.style.shape??s.shape,s.color=n.style.color??s.color,HJ.isDefined.strict(n.style.icon)&&(s.icon=n.style.icon)})}return e}var ep,HJ,KJ=D(()=>{"use strict";rr();ep=he(bl(),1),HJ=he(sr(),1);o(VJ,"applyViewRuleStyles")});function Y_e(t,e){let r;for(;t.parent&&(r=e.get(t.parent));){let n=r.depth??1;if(r.depth=Math.max(n,(t.depth??0)+1),r.depth===n)break;t=r}}function zJ(t){return Array.from(t).sort(ju).reduce((e,{id:r,color:n,shape:i,...s})=>{let u=_n(r),a=0;for(;u;){let l=e.get(u);if(l){l.children.length==0&&(l.depth=1,Y_e(l,e)),l.children.push(r),a=l.level+1;break}u=_n(u)}let c={...s,id:r,parent:u,level:a,color:n??Hs,shape:i??hE,children:[],inEdges:[],outEdges:[]};return e.set(r,c),e},new Map)}var YJ=D(()=>{"use strict";rr();o(Y_e,"updateDepthOfAncestors");o(zJ,"buildComputeNodes")});var Hx=I((EDt,ZJ)=>{"use strict";var X_e="\0",il="\0",XJ="",Z3=class{static{o(this,"Graph")}#e=!0;#t=!1;#r=!1;#n;#o=()=>{};#s=()=>{};#i={};#u={};#c={};#l={};#m={};#f={};#d={};#h=0;#g=0;#p;#a;constructor(e){e&&(this.#e=e.hasOwnProperty("directed")?e.directed:!0,this.#t=e.hasOwnProperty("multigraph")?e.multigraph:!1,this.#r=e.hasOwnProperty("compound")?e.compound:!1),this.#r&&(this.#p={},this.#a={},this.#a[il]={})}isDirected(){return this.#e}isMultigraph(){return this.#t}isCompound(){return this.#r}setGraph(e){return this.#n=e,this}graph(){return this.#n}setDefaultNodeLabel(e){return this.#o=e,typeof e!="function"&&(this.#o=()=>e),this}nodeCount(){return this.#h}nodes(){return Object.keys(this.#i)}sources(){var e=this;return this.nodes().filter(r=>Object.keys(e.#u[r]).length===0)}sinks(){var e=this;return this.nodes().filter(r=>Object.keys(e.#l[r]).length===0)}setNodes(e,r){var n=arguments,i=this;return e.forEach(function(s){n.length>1?i.setNode(s,r):i.setNode(s)}),this}setNode(e,r){return this.#i.hasOwnProperty(e)?(arguments.length>1&&(this.#i[e]=r),this):(this.#i[e]=arguments.length>1?r:this.#o(e),this.#r&&(this.#p[e]=il,this.#a[e]={},this.#a[il][e]=!0),this.#u[e]={},this.#c[e]={},this.#l[e]={},this.#m[e]={},++this.#h,this)}node(e){return this.#i[e]}hasNode(e){return this.#i.hasOwnProperty(e)}removeNode(e){var r=this;if(this.#i.hasOwnProperty(e)){var n=o(i=>r.removeEdge(r.#f[i]),"removeEdge");delete this.#i[e],this.#r&&(this.#D(e),delete this.#p[e],this.children(e).forEach(function(i){r.setParent(i)}),delete this.#a[e]),Object.keys(this.#u[e]).forEach(n),delete this.#u[e],delete this.#c[e],Object.keys(this.#l[e]).forEach(n),delete this.#l[e],delete this.#m[e],--this.#h}return this}setParent(e,r){if(!this.#r)throw new Error("Cannot set parent in a non-compound graph");if(r===void 0)r=il;else{r+="";for(var n=r;n!==void 0;n=this.parent(n))if(n===e)throw new Error("Setting "+r+" as parent of "+e+" would create a cycle");this.setNode(r)}return this.setNode(e),this.#D(e),this.#p[e]=r,this.#a[r][e]=!0,this}#D(e){delete this.#a[this.#p[e]][e]}parent(e){if(this.#r){var r=this.#p[e];if(r!==il)return r}}children(e=il){if(this.#r){var r=this.#a[e];if(r)return Object.keys(r)}else{if(e===il)return this.nodes();if(this.hasNode(e))return[]}}predecessors(e){var r=this.#c[e];if(r)return Object.keys(r)}successors(e){var r=this.#m[e];if(r)return Object.keys(r)}neighbors(e){var r=this.predecessors(e);if(r){let i=new Set(r);for(var n of this.successors(e))i.add(n);return Array.from(i.values())}}isLeaf(e){var r;return this.isDirected()?r=this.successors(e):r=this.neighbors(e),r.length===0}filterNodes(e){var r=new this.constructor({directed:this.#e,multigraph:this.#t,compound:this.#r});r.setGraph(this.graph());var n=this;Object.entries(this.#i).forEach(function([u,a]){e(u)&&r.setNode(u,a)}),Object.values(this.#f).forEach(function(u){r.hasNode(u.v)&&r.hasNode(u.w)&&r.setEdge(u,n.edge(u))});var i={};function s(u){var a=n.parent(u);return a===void 0||r.hasNode(a)?(i[u]=a,a):a in i?i[a]:s(a)}return o(s,"findParent"),this.#r&&r.nodes().forEach(u=>r.setParent(u,s(u))),r}setDefaultEdgeLabel(e){return this.#s=e,typeof e!="function"&&(this.#s=()=>e),this}edgeCount(){return this.#g}edges(){return Object.values(this.#f)}setPath(e,r){var n=this,i=arguments;return e.reduce(function(s,u){return i.length>1?n.setEdge(s,u,r):n.setEdge(s,u),u}),this}setEdge(){var e,r,n,i,s=!1,u=arguments[0];typeof u=="object"&&u!==null&&"v"in u?(e=u.v,r=u.w,n=u.name,arguments.length===2&&(i=arguments[1],s=!0)):(e=u,r=arguments[1],n=arguments[3],arguments.length>2&&(i=arguments[2],s=!0)),e=""+e,r=""+r,n!==void 0&&(n=""+n);var a=Yg(this.#e,e,r,n);if(this.#d.hasOwnProperty(a))return s&&(this.#d[a]=i),this;if(n!==void 0&&!this.#t)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(r),this.#d[a]=s?i:this.#s(e,r,n);var c=Q_e(this.#e,e,r,n);return e=c.v,r=c.w,Object.freeze(c),this.#f[a]=c,QJ(this.#c[r],e),QJ(this.#m[e],r),this.#u[r][a]=c,this.#l[e][a]=c,this.#g++,this}edge(e,r,n){var i=arguments.length===1?J3(this.#e,arguments[0]):Yg(this.#e,e,r,n);return this.#d[i]}edgeAsObj(){let e=this.edge(...arguments);return typeof e!="object"?{label:e}:e}hasEdge(e,r,n){var i=arguments.length===1?J3(this.#e,arguments[0]):Yg(this.#e,e,r,n);return this.#d.hasOwnProperty(i)}removeEdge(e,r,n){var i=arguments.length===1?J3(this.#e,arguments[0]):Yg(this.#e,e,r,n),s=this.#f[i];return s&&(e=s.v,r=s.w,delete this.#d[i],delete this.#f[i],JJ(this.#c[r],e),JJ(this.#m[e],r),delete this.#u[r][i],delete this.#l[e][i],this.#g--),this}inEdges(e,r){var n=this.#u[e];if(n){var i=Object.values(n);return r?i.filter(s=>s.v===r):i}}outEdges(e,r){var n=this.#l[e];if(n){var i=Object.values(n);return r?i.filter(s=>s.w===r):i}}nodeEdges(e,r){var n=this.inEdges(e,r);if(n)return n.concat(this.outEdges(e,r))}};function QJ(t,e){t[e]?t[e]++:t[e]=1}o(QJ,"incrementOrInitEntry");function JJ(t,e){--t[e]||delete t[e]}o(JJ,"decrementOrRemoveEntry");function Yg(t,e,r,n){var i=""+e,s=""+r;if(!t&&i>s){var u=i;i=s,s=u}return i+XJ+s+XJ+(n===void 0?X_e:n)}o(Yg,"edgeArgsToId");function Q_e(t,e,r,n){var i=""+e,s=""+r;if(!t&&i>s){var u=i;i=s,s=u}var a={v:i,w:s};return n&&(a.name=n),a}o(Q_e,"edgeArgsToObj");function J3(t,e){return Yg(t,e.v,e.w,e.name)}o(J3,"edgeObjToId");ZJ.exports=Z3});var tZ=I((vDt,eZ)=>{"use strict";eZ.exports="2.1.13"});var nZ=I((xDt,rZ)=>{"use strict";rZ.exports={Graph:Hx(),version:tZ()}});var oZ=I((FDt,iZ)=>{"use strict";var J_e=Hx();iZ.exports={write:Z_e,read:rRe};function Z_e(t){var e={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:eRe(t),edges:tRe(t)};return t.graph()!==void 0&&(e.value=structuredClone(t.graph())),e}o(Z_e,"write");function eRe(t){return t.nodes().map(function(e){var r=t.node(e),n=t.parent(e),i={v:e};return r!==void 0&&(i.value=r),n!==void 0&&(i.parent=n),i})}o(eRe,"writeNodes");function tRe(t){return t.edges().map(function(e){var r=t.edge(e),n={v:e.v,w:e.w};return e.name!==void 0&&(n.name=e.name),r!==void 0&&(n.value=r),n})}o(tRe,"writeEdges");function rRe(t){var e=new J_e(t.options).setGraph(t.value);return t.nodes.forEach(function(r){e.setNode(r.v,r.value),r.parent&&e.setParent(r.v,r.parent)}),t.edges.forEach(function(r){e.setEdge({v:r.v,w:r.w,name:r.name},r.value)}),e}o(rRe,"read")});var uZ=I((bDt,sZ)=>{"use strict";sZ.exports=nRe;function nRe(t){var e={},r=[],n;function i(s){e.hasOwnProperty(s)||(e[s]=!0,n.push(s),t.successors(s).forEach(i),t.predecessors(s).forEach(i))}return o(i,"dfs"),t.nodes().forEach(function(s){n=[],i(s),n.length&&r.push(n)}),r}o(nRe,"components")});var tk=I((_Dt,aZ)=>{"use strict";var ek=class{static{o(this,"PriorityQueue")}#e=[];#t={};size(){return this.#e.length}keys(){return this.#e.map(function(e){return e.key})}has(e){return this.#t.hasOwnProperty(e)}priority(e){var r=this.#t[e];if(r!==void 0)return this.#e[r].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this.#e[0].key}add(e,r){var n=this.#t;if(e=String(e),!n.hasOwnProperty(e)){var i=this.#e,s=i.length;return n[e]=s,i.push({key:e,priority:r}),this.#n(s),!0}return!1}removeMin(){this.#o(0,this.#e.length-1);var e=this.#e.pop();return delete this.#t[e.key],this.#r(0),e.key}decrease(e,r){var n=this.#t[e];if(r>this.#e[n].priority)throw new Error("New priority is greater than current priority. Key: "+e+" Old: "+this.#e[n].priority+" New: "+r);this.#e[n].priority=r,this.#n(n)}#r(e){var r=this.#e,n=2*e,i=n+1,s=e;n<r.length&&(s=r[n].priority<r[s].priority?n:s,i<r.length&&(s=r[i].priority<r[s].priority?i:s),s!==e&&(this.#o(e,s),this.#r(s)))}#n(e){for(var r=this.#e,n=r[e].priority,i;e!==0&&(i=e>>1,!(r[i].priority<n));)this.#o(e,i),e=i}#o(e,r){var n=this.#e,i=this.#t,s=n[e],u=n[r];n[e]=u,n[r]=s,i[u.key]=e,i[s.key]=r}};aZ.exports=ek});var rk=I((SDt,cZ)=>{"use strict";var iRe=tk();cZ.exports=sRe;var oRe=o(()=>1,"DEFAULT_WEIGHT_FUNC");function sRe(t,e,r,n){return uRe(t,String(e),r||oRe,n||function(i){return t.outEdges(i)})}o(sRe,"dijkstra");function uRe(t,e,r,n){var i={},s=new iRe,u,a,c=o(function(l){var f=l.v!==u?l.v:l.w,p=i[f],g=r(l),h=a.distance+g;if(g<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+l+" Weight: "+g);h<p.distance&&(p.distance=h,p.predecessor=u,s.decrease(f,h))},"updateNeighbors");for(t.nodes().forEach(function(l){var f=l===e?0:Number.POSITIVE_INFINITY;i[l]={distance:f},s.add(l,f)});s.size()>0&&(u=s.removeMin(),a=i[u],a.distance!==Number.POSITIVE_INFINITY);)n(u).forEach(c);return i}o(uRe,"runDijkstra")});var fZ=I((PDt,lZ)=>{"use strict";var aRe=rk();lZ.exports=cRe;function cRe(t,e,r){return t.nodes().reduce(function(n,i){return n[i]=aRe(t,i,e,r),n},{})}o(cRe,"dijkstraAll")});var nk=I((IDt,dZ)=>{"use strict";dZ.exports=lRe;function lRe(t){var e=0,r=[],n={},i=[];function s(u){var a=n[u]={onStack:!0,lowlink:e,index:e++};if(r.push(u),t.successors(u).forEach(function(f){n.hasOwnProperty(f)?n[f].onStack&&(a.lowlink=Math.min(a.lowlink,n[f].index)):(s(f),a.lowlink=Math.min(a.lowlink,n[f].lowlink))}),a.lowlink===a.index){var c=[],l;do l=r.pop(),n[l].onStack=!1,c.push(l);while(u!==l);i.push(c)}}return o(s,"dfs"),t.nodes().forEach(function(u){n.hasOwnProperty(u)||s(u)}),i}o(lRe,"tarjan")});var mZ=I((NDt,pZ)=>{"use strict";var fRe=nk();pZ.exports=dRe;function dRe(t){return fRe(t).filter(function(e){return e.length>1||e.length===1&&t.hasEdge(e[0],e[0])})}o(dRe,"findCycles")});var gZ=I((LDt,hZ)=>{"use strict";hZ.exports=mRe;var pRe=o(()=>1,"DEFAULT_WEIGHT_FUNC");function mRe(t,e,r){return hRe(t,e||pRe,r||function(n){return t.outEdges(n)})}o(mRe,"floydWarshall");function hRe(t,e,r){var n={},i=t.nodes();return i.forEach(function(s){n[s]={},n[s][s]={distance:0},i.forEach(function(u){s!==u&&(n[s][u]={distance:Number.POSITIVE_INFINITY})}),r(s).forEach(function(u){var a=u.v===s?u.w:u.v,c=e(u);n[s][a]={distance:c,predecessor:s}})}),i.forEach(function(s){var u=n[s];i.forEach(function(a){var c=n[a];i.forEach(function(l){var f=c[s],p=u[l],g=c[l],h=f.distance+p.distance;h<g.distance&&(g.distance=h,g.predecessor=p.predecessor)})})}),n}o(hRe,"runFloydWarshall")});var ik=I(($Dt,yZ)=>{"use strict";function DZ(t){var e={},r={},n=[];function i(s){if(r.hasOwnProperty(s))throw new Xg;e.hasOwnProperty(s)||(r[s]=!0,e[s]=!0,t.predecessors(s).forEach(i),delete r[s],n.push(s))}if(o(i,"visit"),t.sinks().forEach(i),Object.keys(e).length!==t.nodeCount())throw new Xg;return n}o(DZ,"topsort");var Xg=class extends Error{static{o(this,"CycleException")}constructor(){super(...arguments)}};yZ.exports=DZ;DZ.CycleException=Xg});var vZ=I((qDt,CZ)=>{"use strict";var EZ=ik();CZ.exports=gRe;function gRe(t){try{EZ(t)}catch(e){if(e instanceof EZ.CycleException)return!1;throw e}return!0}o(gRe,"isAcyclic")});var ok=I((GDt,FZ)=>{"use strict";FZ.exports=DRe;function DRe(t,e,r){Array.isArray(e)||(e=[e]);var n=t.isDirected()?a=>t.successors(a):a=>t.neighbors(a),i=r==="post"?yRe:ERe,s=[],u={};return e.forEach(a=>{if(!t.hasNode(a))throw new Error("Graph does not have node: "+a);i(a,n,u,s)}),s}o(DRe,"dfs");function yRe(t,e,r,n){for(var i=[[t,!1]];i.length>0;){var s=i.pop();s[1]?n.push(s[0]):r.hasOwnProperty(s[0])||(r[s[0]]=!0,i.push([s[0],!0]),xZ(e(s[0]),u=>i.push([u,!1])))}}o(yRe,"postOrderDfs");function ERe(t,e,r,n){for(var i=[t];i.length>0;){var s=i.pop();r.hasOwnProperty(s)||(r[s]=!0,n.push(s),xZ(e(s),u=>i.push(u)))}}o(ERe,"preOrderDfs");function xZ(t,e){for(var r=t.length;r--;)e(t[r],r,t);return t}o(xZ,"forEachRight")});var bZ=I((HDt,wZ)=>{"use strict";var CRe=ok();wZ.exports=vRe;function vRe(t,e){return CRe(t,e,"post")}o(vRe,"postorder")});var _Z=I((KDt,AZ)=>{"use strict";var xRe=ok();AZ.exports=FRe;function FRe(t,e){return xRe(t,e,"pre")}o(FRe,"preorder")});var SZ=I((YDt,RZ)=>{"use strict";var wRe=Hx(),bRe=tk();RZ.exports=ARe;function ARe(t,e){var r=new wRe,n={},i=new bRe,s;function u(c){var l=c.v===s?c.w:c.v,f=i.priority(l);if(f!==void 0){var p=e(c);p<f&&(n[l]=s,i.decrease(l,p))}}if(o(u,"updateNeighbors"),t.nodeCount()===0)return r;t.nodes().forEach(function(c){i.add(c,Number.POSITIVE_INFINITY),r.setNode(c)}),i.decrease(t.nodes()[0],0);for(var a=!1;i.size()>0;){if(s=i.removeMin(),n.hasOwnProperty(s))r.setEdge(s,n[s]);else{if(a)throw new Error("Input graph is not connected: "+t);a=!0}t.nodeEdges(s).forEach(u)}return r}o(ARe,"prim")});var PZ=I((QDt,TZ)=>{"use strict";TZ.exports={components:uZ(),dijkstra:rk(),dijkstraAll:fZ(),findCycles:mZ(),floydWarshall:gZ(),isAcyclic:vZ(),postorder:bZ(),preorder:_Z(),prim:SZ(),tarjan:nk(),topsort:ik()}});var sk=I((JDt,IZ)=>{"use strict";var kZ=nZ();IZ.exports={Graph:kZ.Graph,json:oZ(),alg:PZ(),version:kZ.version}});function SRe(t){t.forEach(e=>{e.children.length>0&&(e.children=t.flatMap(r=>r.parent===e.id?r.id:[]))})}function NZ({nodes:t,edges:e}){if(e.length===0)return t;let r=new _Re({compound:!1,directed:!0,multigraph:!1}),n=o(c=>To(t.find(l=>l.id===c),"Edge not found"),"getNode"),i=o(c=>To(e.find(l=>l.id===c),"Edge not found"),"getEdge");for(let c of[...e].sort(Bm))r.setEdge(c.source,c.target);for(let c of t)r.setNode(c.id),c.children.length>0&&c.inEdges.forEach(l=>{let f=i(l);f.target!==c.id&&n(f.source).children.length===0&&r.setEdge(f.source,c.id)}),c.parent&&r.setEdge(c.parent,c.id);let s=r.sources();s.length===0&&(s=(0,Bs.pipe)(t,(0,Bs.sort)(ju),(0,Bs.filter)(c=>c.inEdges.length===0||c.parent===null),(0,Bs.map)(c=>c.id)));let a=RRe.postorder(r,s).reverse().map(n);if(a.length<t.length){let c=(0,Bs.difference)(t,a);a.push(...c)}return dt(a.length===t.length,"Not all nodes were processed by graphlib"),SRe(a),a}var OZ,Bs,_Re,RRe,BZ=D(()=>{"use strict";OZ=he(sk(),1);rr();Bs=he(sr(),1),{Graph:_Re,alg:RRe}=OZ.default;o(SRe,"sortChildren");o(NZ,"sortNodes")});function TRe(t,e){return Bm({source:t.source.id,target:t.target.id},{source:e.source.id,target:e.target.id})}var Ls,Vx,LZ=D(()=>{"use strict";rr();Ls=he(sr(),1);UJ();WJ();KJ();YJ();BZ();o(TRe,"compareEdges");Vx=class t{constructor(e,r){this.view=e;this.graph=r}static{o(this,"ComputeCtx")}ctxElements=new Set;ctxEdges=[];static elementView(e,r){return new t(e,r).compute()}compute(){this.reset();let{rules:e,...r}=this.view,n=e.filter(O7);this.root&&n.length==0&&this.addElement(this.graph.element(this.root)),this.processPredicates(n),this.removeRedundantImplicitEdges();let i=[...this.elements],s=zJ(i),u=this.computedEdges.reduce((g,h)=>{let F=s.get(h.source),v=s.get(h.target);for(dt(F,`Source node ${h.source} not found`),dt(v,`Target node ${h.target} not found`);h.parent&&!s.has(h.parent);)h.parent=_n(h.parent);F.outEdges.push(h.id),v.inEdges.push(h.id);for(let x of $u(h.source)){if(x===h.parent)break;s.get(x)?.outEdges.push(h.id)}for(let x of $u(h.target)){if(x===h.parent)break;s.get(x)?.inEdges.push(h.id)}return g.push(h),g},[]),a=i.flatMap(g=>s.get(g.id)??[]),c=GJ(e,VJ(e,NZ({nodes:a,edges:u}))),l=new Map(u.map(g=>[g.id,g])),f=new Set([...c.flatMap(g=>g.children.length===0?g.outEdges.flatMap(h=>l.get(h)??[]):[]),...u]),p=this.view.rules.find(B7);return{...r,autoLayout:p?.autoLayout??"TB",nodes:c,edges:[...f]}}get root(){return gE(this.view)?this.view.viewOf:null}get computedEdges(){return this.ctxEdges.map(e=>{dt((0,Ls.hasAtLeast)(e.relations,1),"Edge must have at least one relation");let r=[...e.relations].sort(Bm),n=e.source.id,i=e.target.id,s={id:`${n}:${i}`,parent:uc(n,i),source:n,target:i,label:null,relations:r.map(a=>a.id)},u;if(r.length===1?u=r[0]:(u=r.find(a=>a.source===n&&a.target===i),u??=r.find(a=>a.source===n||a.target===i)),!u){let a=(0,Ls.uniq)(r.flatMap(c=>(0,Ls.isTruthy)(c.title)?c.title:[]));return(0,Ls.hasAtLeast)(a,1)&&(a.length===1?s.label=a[0]:s.label="[...]"),s}return Object.assign(s,(0,Ls.isTruthy)(u.title)&&{label:u.title},u.color&&{color:u.color},u.line&&{line:u.line},u.head&&{head:u.head},u.tail&&{tail:u.tail})})}get elements(){return new Set([...this.ctxElements,...this.ctxEdges.flatMap(e=>[e.source,e.target])])}addEdges(e){for(let r of e){if(!(0,Ls.hasAtLeast)(r.relations,1))continue;let n=this.ctxEdges.find(i=>i.source.id===r.source.id&&i.target.id===r.target.id);if(n){n.relations=(0,Ls.uniq)([...n.relations,...r.relations]);continue}this.ctxEdges.push(r)}}addElement(...e){for(let r of e)this.ctxElements.add(r)}excludeElement(...e){for(let r of e)this.ctxEdges=this.ctxEdges.filter(n=>n.source.id!==r.id&&n.target.id!==r.id),this.ctxElements.delete(r)}excludeRelation(...e){for(let r of e){let n;for(;n=this.ctxEdges.find(i=>i.relations.includes(r));){if(n.relations.length===1){this.ctxEdges.splice(this.ctxEdges.indexOf(n),1);continue}n.relations=n.relations.filter(i=>i!==r)}}}reset(){this.ctxElements.clear(),this.ctxEdges=[]}removeRedundantImplicitEdges(){let e=new WeakSet,r=o(s=>s.reduce((u,a)=>(e.has(a)||(u.push(a),e.add(a)),u),[]),"excludeProcessed"),n=o(s=>{let{source:u,target:a}=s;return c=>{let l=u.id===c.source.id,f=a.id===c.target.id;if(l&&f)return!0;let p=DE(u.id,c.source.id),g=DE(a.id,c.target.id);return p&&g||l&&g||f&&p}},"isNestedEdgeOf"),i=[...this.ctxEdges].sort(TRe).reverse();this.ctxEdges=i.reduce((s,u)=>{let a=r(u.relations);return a.length===0||s.length>0&&s.some(n(u))||s.push({source:u.source,target:u.target,relations:a}),s},[])}processPredicates(e){for(let r of e){let n="include"in r,i=r.include??r.exclude;for(let s of i){if(Mt.isCustomElement(s)){dt(n,"CustomElementExpr is not allowed in exclude rule"),qJ.call(this,s);continue}if(Mt.isElementKindExpr(s)||Mt.isElementTagExpr(s)){n?RJ.call(this,s):SJ.call(this,s);continue}if(Mt.isElementRef(s)){n?FJ.call(this,s):wJ.call(this,s);continue}if(Mt.isWildcard(s)){n?bJ.call(this,s):AJ.call(this,s);continue}if(Mt.isIncoming(s)){n?PJ.call(this,s):kJ.call(this,s);continue}if(Mt.isOutgoing(s)){n?OJ.call(this,s):NJ.call(this,s);continue}if(Mt.isInOut(s)){n?LJ.call(this,s):MJ.call(this,s);continue}if(Mt.isRelation(s)){n?$J.call(this,s):jJ.call(this,s);continue}Sr(s)}}return this}}});function PRe(t,e){return Vx.elementView(t,e)}function uk(t,e){try{return{isSuccess:!0,view:PRe(t,e)}}catch(r){return{isSuccess:!1,error:Mu(r),view:void 0}}}var MZ=D(()=>{"use strict";rr();LZ();o(PRe,"computeElementView");o(uk,"computeView")});var Kx,Qg,$Z=D(()=>{"use strict";rr();Kx=he(sr(),1),Qg=class{static{o(this,"LikeC4ModelGraph")}#e=new Map;#t=new Map;#r=new Set;#n=new Map;#o=new Map;#s=new Map;#i=new Map;constructor({elements:e,relations:r}){for(let n of Object.values(e))this.addElement(n);for(let n of Object.values(r))this.addRelation(n)}get rootElements(){return[...this.#r]}get elements(){return[...this.#e.values()]}element(e){let r=this.#e.get(e);return F7(r,`Element ${e} not found`),r}incoming(e){return this._incomingTo(e).flatMap(r=>this.#n.get(r)??[])}outgoing(e){return this._outgoingFrom(e).flatMap(r=>this.#n.get(r)??[])}internal(e){return this._internalOf(e).flatMap(r=>this.#n.get(r)??[])}children(e){return this._childrenOf(e).flatMap(r=>this.#e.get(r)??[])}childrenOrElement(e){let r=this.children(e);return r.length>0?r:[this.element(e)]}siblings(e){let r=xi(e)?e:e.id,n=_n(r);return(n?this._childrenOf(n):[...this.#r].map(s=>s.id)).flatMap(s=>s!==r&&this.#e.get(s)||[])}ancestors(e){let r=xi(e)?e:e.id;return $u(r).flatMap(n=>this.#e.get(n)??[])}ascendingSiblings(e){let r=xi(e)?e:e.id;return[...this.siblings(r),...this.ancestors(r).flatMap(n=>this.siblings(n.id))]}anyEdgesBetween(e,r){if(r.length===0)return[];let n=xi(e)?this.element(e):e,i=this._incomingTo(n.id),s=this._outgoingFrom(n.id);if(i.length===0&&s.length===0)return[];let u=[];for(let a of r){let c=xi(a)?this.element(a):a;if(!Om(n,c)){if(s.length>0){let l=this._incomingTo(c.id),f=(0,Kx.intersection)(s,l);f.length>0&&u.push({source:n,target:c,relations:f.flatMap(p=>this.#n.get(p)??[])})}if(i.length>0){let l=this._outgoingFrom(c.id),f=(0,Kx.intersection)(l,i);f.length>0&&u.push({source:c,target:n,relations:f.flatMap(p=>this.#n.get(p)??[])})}}}return u}edgesWithin(e){return e.length<2?[]:e.reduce((r,n,i,s)=>(i===s.length-1||r.push(...this.anyEdgesBetween(n,s.slice(i+1))),r),[])}edgesBetween(e,r){let n=Array.isArray(e)?e:[e],i=Array.isArray(r)?r:[r];if(n.length===0||i.length===0)return[];let s=[];for(let u of n){let a=xi(u)?this.element(u):u,c=this._outgoingFrom(a.id);if(c.length!==0)for(let l of i){let f=xi(l)?this.element(l):l;if(Om(a,f))continue;let p=this._incomingTo(f.id);if(p.length===0)continue;let g=(0,Kx.intersection)(c,p).flatMap(h=>this.#n.get(h)??[]);g.length>0&&s.push({source:a,target:f,relations:g})}}return s}addElement(e){if(this.#e.has(e.id))throw new Lu(`Element ${e.id} already exists`);this.#e.set(e.id,e);let r=_n(e.id);r?this._childrenOf(r).push(e.id):this.#r.add(e)}addRelation(e){if(this.#n.has(e.id))throw new Lu(`Relation ${e.id} already exists`);this.#n.set(e.id,e),this._incomingTo(e.target).push(e.id),this._outgoingFrom(e.source).push(e.id);let r=uc(e.source,e.target);if(r)for(let n of[r,...$u(r)])this._internalOf(n).push(e.id);for(let n of $u(e.source)){if(n===r)break;this._outgoingFrom(n).push(e.id)}for(let n of $u(e.target)){if(n===r)break;this._incomingTo(n).push(e.id)}}_childrenOf(e){let r=this.#t.get(e);return r||(r=[],this.#t.set(e,r)),r}_incomingTo(e){let r=this.#o.get(e);return r||(r=[],this.#o.set(e,r)),r}_outgoingFrom(e){let r=this.#s.get(e);return r||(r=[],this.#s.set(e,r)),r}_internalOf(e){let r=this.#i.get(e);return r||(r=[],this.#i.set(e,r)),r}}});var jZ=D(()=>{"use strict";MZ();$Z()});function UZ(t){let e=new Map;for(let r of t)if(r.viewOf&&!r.extends){let n=e.get(r.viewOf)??[];n.push(r.id),e.set(r.viewOf,n)}for(let{id:r,nodes:n}of t)for(let i of n){if(i.navigateTo)continue;let s=(0,qZ.find)(e.get(i.id)??[],u=>u!==r);s&&(i.navigateTo=s)}return t}var qZ,GZ=D(()=>{"use strict";qZ=he(sr(),1);o(UZ,"assignNavigateTo")});function VZ(t){let e=new kRe({directed:!0,multigraph:!1,compound:!1});for(let i of Object.values(t))e.setNode(i.id),C2(i)&&e.setEdge(i.id,i.extends);let r=WZ.findCycles(e);return r.length>0&&r.flat().forEach(i=>e.removeNode(i)),WZ.postorder(e,e.sources()).reduce((i,s)=>{let u=t[s];if(!u)return i;if(C2(u)){let a=i[u.extends];return a?Object.assign(i,{[u.id]:{...a,...u,rules:[...a.rules,...u.rules]}}):i}return Object.assign(i,{[u.id]:u})},{})}var HZ,kRe,WZ,KZ=D(()=>{"use strict";HZ=he(sk(),1);rr();({Graph:kRe,alg:WZ}=HZ.default);o(VZ,"resolveRulesExtendedViews")});function IRe(t,e="/"){if(t.length<=1)return"";let r=(0,zx.uniq)(t.flatMap(({docUri:c})=>c?[c]:[]));if(r.length===0)return"";if(r.length===1)return dt((0,Jg.hasAtLeast)(r,1)),new URL(r[0]).pathname;dt((0,Jg.hasAtLeast)(r,2),"Expected at least 2 unique URIs");let[n,...i]=r,s=new URL(n).pathname.split(e),u=s.length;for(let c of i){if(c===n)continue;let l=new URL(c).pathname.split(e);for(let f=0;f<u;f++)l[f]!==s[f]&&(u=f);if(u===0)return""}let a=s.slice(0,u).join(e);return a.endsWith(e)?a:a+e}function zZ(t){let e=IRe(t);return t.map(r=>{if(!r.docUri)return{...r,parts:[]};let i=new URL(r.docUri).pathname.replace(e,"").split("/");return i.pop(),{...r,parts:i}}).sort((r,n)=>{if(r.parts.length===n.parts.length){if(r.parts.length===0)return 0;if(r.parts.length===1&&(0,Jg.hasAtLeast)(r.parts,1)&&(0,Jg.hasAtLeast)(n.parts,1))return r.parts[0].localeCompare(n.parts[0]);for(let[i,s]of(0,zx.zip)(r.parts,n.parts)){let u=i.localeCompare(s);if(u!==0)return u}return 0}return r.parts.length-n.parts.length}).map(({parts:r,...n})=>n.docUri?{...n,relativePath:r.join("/")}:n)}var zx,Jg,YZ=D(()=>{"use strict";zx=he(bl(),1),Jg=he(sr(),1);rr();o(IRe,"commonAncestorPath");o(zZ,"resolveRelativePaths")});var XZ=D(()=>{"use strict";GZ();KZ();YZ()});function ORe(t,e){let r={kinds:{},relationships:{}};St.forEach(St.map(e,St.prop("c4Specification")),f=>{Object.assign(r.kinds,f.kinds),Object.assign(r.relationships,f.relationships)});let n=o((f,p)=>p.map(g=>t.lsp.DocumentLinkProvider.resolveLink(f,g)),"resolveLinks"),i=o(f=>({astPath:p,tags:g,links:h,...F})=>{try{let v=r.kinds[F.kind];if(v)return{...v,description:null,technology:null,tags:g??null,links:h?n(f,h):null,...F};Ut.warn(`No kind '${F.kind}' found for ${F.id}`)}catch(v){so(v)}return null},"toModelElement"),s=St.pipe(St.flatMap(e,f=>f.c4Elements.map(i(f))),St.compact,St.sort(ju),St.reduce((f,p)=>{let g=_n(p.id);return g&&St.isNil(f[g])?(so(`No parent found for ${p.id}`),f):p.id in f?(so(`Duplicate element id: ${p.id}`),f):(f[p.id]=p,f)},{})),u=o(f=>({astPath:p,source:g,target:h,kind:F,links:v,...x})=>g in s&&h in s?F&&F in r.relationships?{source:g,target:h,kind:F,...v&&{links:n(f,v)},...r.relationships[F],...x}:{source:g,target:h,...v&&{links:n(f,v)},...x}:null,"toModelRelation"),a=St.pipe(St.flatMap(e,f=>St.map(f.c4Relations,u(f))),St.compact,St.mapToObj(f=>[f.id,f])),c=o(f=>{let p=f.uri.toString();return g=>{let{astPath:h,rules:F,title:v,description:x,tags:R,links:_,...A}=g;return!v&&"viewOf"in g&&(v=s[g.viewOf]?.title),!v&&g.id==="index"&&(v="Landscape view"),{...A,title:v??null,description:x??null,tags:R??null,links:_?n(f,_):null,docUri:p,rules:F}}},"toElementView"),l=St.pipe(St.flatMap(e,f=>St.map(f.c4Views,c(f))),zZ,St.mapToObj(f=>[f.id,f]),VZ);return"index"in l||(l.index={id:"index",title:"Landscape",description:null,tags:null,links:null,rules:[{include:[{wildcard:!0}]}]}),{elements:s,relations:a,views:l}}function QZ(t){return`computed-view-${t}`}var St,JZ,NRe,BRe,Yx,ZZ=D(()=>{"use strict";rr();jZ();Qr();St=he(sr(),1),JZ=he(Xi(),1);an();uo();Y3();XZ();o(ORe,"buildModel");NRe="LikeC4RawModel",BRe="LikeC4Model",Yx=class{constructor(e){this.services=e;this.langiumDocuments=e.shared.workspace.LangiumDocuments;let r=e.likec4.ModelParser;e.shared.workspace.DocumentBuilder.onUpdate((n,i)=>{i.length>0&&this.notifyListeners(i)}),e.shared.workspace.DocumentBuilder.onBuildPhase(vt.Validated,async(n,i)=>{let s=[];try{Ut.debug(`[ModelBuilder] onValidated (${n.length} docs)
|
|
192
192
|
${Kg(n)}`),s.push(...r.parse(n).map(u=>u.uri))}catch(u){Ut.error(u)}return s.length>0&&this.notifyListeners(s),await Promise.resolve()}),Ut.debug("[ModelBuilder] Created")}static{o(this,"LikeC4ModelBuilder")}langiumDocuments;listeners=[];async buildRawModel(e){return await this.services.shared.workspace.WorkspaceLock.read(async()=>(e&&await xr(e),this.services.WorkspaceCache.get(NRe,()=>{let n=this.documents();return n.length===0?(Ut.debug("[ModelBuilder] No documents to build model from"),null):(Ut.debug(`[ModelBuilder] buildModel from ${n.length} docs:
|
|
193
193
|
${Kg(n)}`),ORe(this.services,n))})))}previousViews={};async buildModel(e){let r=await this.buildRawModel(e);if(!r)return null;let n=this.services.WorkspaceCache,i=this.services.WorkspaceCache;return n.get(BRe,()=>{let s=new Qg(r),u=[];for(let c of St.values(r.views)){let l=uk(c,s);if(!l.isSuccess){so(l.error);continue}u.push(l.view)}UZ(u);let a=St.mapToObj(u,c=>{let l=this.previousViews[c.id],f=l&&St.equals(c,l)?l:c;return i.set(QZ(c.id),f),[c.id,f]});return this.previousViews={...a},{elements:r.elements,relations:r.relations,views:a}})}async computeView(e,r){let n=await this.buildRawModel(r),i=n?.views[e];return i?this.services.WorkspaceCache.get(QZ(e),()=>{let u=new Qg(n),a=uk(i,u);if(!a.isSuccess)return Tr(a.error),null;let c=St.values(n.views).filter(p=>gE(p)&&p.id!==e),l=a.view;l.nodes.forEach(p=>{if(!p.navigateTo){let g=St.find(c,h=>h.viewOf===p.id);g&&(p.navigateTo=g.id)}});let f=this.previousViews[e];return f&&(l=St.equals(l,f)?f:l),this.previousViews[e]=l,l}):(Ut.warn(`[ModelBuilder] Cannot find view ${e}`),null)}onModelParsed(e){return this.listeners.push(e),JZ.Disposable.create(()=>{let r=this.listeners.indexOf(e);r>=0&&this.listeners.splice(r,1)})}documents(){return this.langiumDocuments.all.filter(pu).toArray()}notifyListeners(e){for(let r of this.listeners)try{r(e)}catch(n){Tr(n)}}};o(QZ,"computedViewKey")});var LRe,tp,MRe,Xx,eee=D(()=>{"use strict";Qr();an();X3();({findNodeForKeyword:LRe,findNodeForProperty:tp}=ui),{getDocument:MRe}=Rn,Xx=class{constructor(e){this.services=e;this.fqnIndex=e.likec4.FqnIndex,this.langiumDocuments=e.shared.workspace.LangiumDocuments}static{o(this,"LikeC4ModelLocator")}fqnIndex;langiumDocuments;documents(){return this.langiumDocuments.all.filter(pu)}getParsedElement(e){let r=this.fqnIndex.getFqn(e);if(!r)return null;let n=MRe(e);return pu(n)?n.c4Elements.find(i=>i.id===r)??null:null}locateElement(e,r="name"){let n=this.fqnIndex.byFqn(e).head();if(!n)return null;let i=tp(n.el.$cstNode,r)??n.el.$cstNode;return i?{uri:n.doc.uri.toString(),range:i.range}:null}locateRelation(e){for(let r of this.documents()){let n=r.c4Relations.find(u=>u.id===e);if(!n)continue;let i=this.services.workspace.AstNodeLocator.getAstNode(r.parseResult.value,n.astPath);if(!ue.isRelation(i))continue;if(i.title){let u=tp(i.$cstNode,"title");if(u)return{uri:r.uri.toString(),range:{start:u.range.start,end:u.range.start}}}let s=(i.kind?tp(i.$cstNode,"kind"):LRe(i.$cstNode,"->"))??tp(i.$cstNode,"target");return s?{uri:r.uri.toString(),range:{start:s.range.start,end:s.range.end}}:null}return null}locateView(e){for(let r of this.documents()){let n=r.c4Views.find(u=>u.id===e);if(!n)continue;let i=this.services.workspace.AstNodeLocator.getAstNode(r.parseResult.value,n.astPath);if(!ue.isElementView(i))continue;let s=i.$cstNode;return i.name?s=tp(i.$cstNode,"name")??s:"viewOf"in i&&(s=tp(i.$cstNode,"viewOf")??s),s?{uri:r.uri.toString(),range:{start:s.range.start,end:s.range.start}}:null}return null}}});var see=I((ol,oee)=>{"use strict";var ak=$t("crypto");ol=oee.exports=Zg;function Zg(t,e){return e=nee(t,e),$Re(t,e)}o(Zg,"objectHash");ol.sha1=function(t){return Zg(t)};ol.keys=function(t){return Zg(t,{excludeValues:!0,algorithm:"sha1",encoding:"hex"})};ol.MD5=function(t){return Zg(t,{algorithm:"md5",encoding:"hex"})};ol.keysMD5=function(t){return Zg(t,{algorithm:"md5",encoding:"hex",excludeValues:!0})};var rp=ak.getHashes?ak.getHashes().slice():["sha1","md5"];rp.push("passthrough");var tee=["buffer","hex","binary","base64"];function nee(t,e){e=e||{};var r={};if(r.algorithm=e.algorithm||"sha1",r.encoding=e.encoding||"hex",r.excludeValues=!!e.excludeValues,r.algorithm=r.algorithm.toLowerCase(),r.encoding=r.encoding.toLowerCase(),r.ignoreUnknown=e.ignoreUnknown===!0,r.respectType=e.respectType!==!1,r.respectFunctionNames=e.respectFunctionNames!==!1,r.respectFunctionProperties=e.respectFunctionProperties!==!1,r.unorderedArrays=e.unorderedArrays===!0,r.unorderedSets=e.unorderedSets!==!1,r.unorderedObjects=e.unorderedObjects!==!1,r.replacer=e.replacer||void 0,r.excludeKeys=e.excludeKeys||void 0,typeof t>"u")throw new Error("Object argument required.");for(var n=0;n<rp.length;++n)rp[n].toLowerCase()===r.algorithm.toLowerCase()&&(r.algorithm=rp[n]);if(rp.indexOf(r.algorithm)===-1)throw new Error('Algorithm "'+r.algorithm+'" not supported. supported values: '+rp.join(", "));if(tee.indexOf(r.encoding)===-1&&r.algorithm!=="passthrough")throw new Error('Encoding "'+r.encoding+'" not supported. supported values: '+tee.join(", "));return r}o(nee,"applyDefaults");function ree(t){if(typeof t!="function")return!1;var e=/^function\s+\w*\s*\(\s*\)\s*{\s+\[native code\]\s+}$/i;return e.exec(Function.prototype.toString.call(t))!=null}o(ree,"isNativeFunction");function $Re(t,e){var r;e.algorithm!=="passthrough"?r=ak.createHash(e.algorithm):r=new iee,typeof r.write>"u"&&(r.write=r.update,r.end=r.update);var n=ck(e,r);if(n.dispatch(t),r.update||r.end(""),r.digest)return r.digest(e.encoding==="buffer"?void 0:e.encoding);var i=r.read();return e.encoding==="buffer"?i:i.toString(e.encoding)}o($Re,"hash");ol.writeToStream=function(t,e,r){return typeof r>"u"&&(r=e,e={}),e=nee(t,e),ck(e,r).dispatch(t)};function ck(t,e,r){r=r||[];var n=o(function(i){return e.update?e.update(i,"utf8"):e.write(i,"utf8")},"write");return{dispatch:function(i){t.replacer&&(i=t.replacer(i));var s=typeof i;return i===null&&(s="null"),this["_"+s](i)},_object:function(i){var s=/\[object (.*)\]/i,u=Object.prototype.toString.call(i),a=s.exec(u);a?a=a[1]:a="unknown:["+u+"]",a=a.toLowerCase();var c=null;if((c=r.indexOf(i))>=0)return this.dispatch("[CIRCULAR:"+c+"]");if(r.push(i),typeof Buffer<"u"&&Buffer.isBuffer&&Buffer.isBuffer(i))return n("buffer:"),n(i);if(a!=="object"&&a!=="function"&&a!=="asyncfunction")if(this["_"+a])this["_"+a](i);else{if(t.ignoreUnknown)return n("["+a+"]");throw new Error('Unknown object type "'+a+'"')}else{var l=Object.keys(i);t.unorderedObjects&&(l=l.sort()),t.respectType!==!1&&!ree(i)&&l.splice(0,0,"prototype","__proto__","constructor"),t.excludeKeys&&(l=l.filter(function(p){return!t.excludeKeys(p)})),n("object:"+l.length+":");var f=this;return l.forEach(function(p){f.dispatch(p),n(":"),t.excludeValues||f.dispatch(i[p]),n(",")})}},_array:function(i,s){s=typeof s<"u"?s:t.unorderedArrays!==!1;var u=this;if(n("array:"+i.length+":"),!s||i.length<=1)return i.forEach(function(l){return u.dispatch(l)});var a=[],c=i.map(function(l){var f=new iee,p=r.slice(),g=ck(t,f,p);return g.dispatch(l),a=a.concat(p.slice(r.length)),f.read().toString()});return r=r.concat(a),c.sort(),this._array(c,!1)},_date:function(i){return n("date:"+i.toJSON())},_symbol:function(i){return n("symbol:"+i.toString())},_error:function(i){return n("error:"+i.toString())},_boolean:function(i){return n("bool:"+i.toString())},_string:function(i){n("string:"+i.length+":"),n(i.toString())},_function:function(i){n("fn:"),ree(i)?this.dispatch("[native]"):this.dispatch(i.toString()),t.respectFunctionNames!==!1&&this.dispatch("function-name:"+String(i.name)),t.respectFunctionProperties&&this._object(i)},_number:function(i){return n("number:"+i.toString())},_xml:function(i){return n("xml:"+i.toString())},_null:function(){return n("Null")},_undefined:function(){return n("Undefined")},_regexp:function(i){return n("regex:"+i.toString())},_uint8array:function(i){return n("uint8array:"),this.dispatch(Array.prototype.slice.call(i))},_uint8clampedarray:function(i){return n("uint8clampedarray:"),this.dispatch(Array.prototype.slice.call(i))},_int8array:function(i){return n("int8array:"),this.dispatch(Array.prototype.slice.call(i))},_uint16array:function(i){return n("uint16array:"),this.dispatch(Array.prototype.slice.call(i))},_int16array:function(i){return n("int16array:"),this.dispatch(Array.prototype.slice.call(i))},_uint32array:function(i){return n("uint32array:"),this.dispatch(Array.prototype.slice.call(i))},_int32array:function(i){return n("int32array:"),this.dispatch(Array.prototype.slice.call(i))},_float32array:function(i){return n("float32array:"),this.dispatch(Array.prototype.slice.call(i))},_float64array:function(i){return n("float64array:"),this.dispatch(Array.prototype.slice.call(i))},_arraybuffer:function(i){return n("arraybuffer:"),this.dispatch(new Uint8Array(i))},_url:function(i){return n("url:"+i.toString(),"utf8")},_map:function(i){n("map:");var s=Array.from(i);return this._array(s,t.unorderedSets!==!1)},_set:function(i){n("set:");var s=Array.from(i);return this._array(s,t.unorderedSets!==!1)},_file:function(i){return n("file:"),this.dispatch([i.name,i.size,i.type,i.lastModfied])},_blob:function(){if(t.ignoreUnknown)return n("[blob]");throw Error(`Hashing Blob objects is currently not supported
|
|
194
194
|
(see https://github.com/puleos/object-hash/issues/26)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "likec4",
|
|
3
|
-
"version": "0.60.
|
|
3
|
+
"version": "0.60.4",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"homepage": "https://likec4.dev",
|
|
6
6
|
"author": "Denis Davydkov <denis@davydkov.com>",
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
"body-scroll-lock-upgrade": "^1.1.0",
|
|
58
58
|
"jotai": "^2.6.4",
|
|
59
59
|
"khroma": "^2.1.0",
|
|
60
|
-
"konva": "^9.3.
|
|
60
|
+
"konva": "^9.3.6",
|
|
61
61
|
"react-konva": "^18.2.10",
|
|
62
62
|
"@nanostores/react": "^0.7.1",
|
|
63
63
|
"@nanostores/router": "^0.11.0",
|
|
@@ -76,14 +76,14 @@
|
|
|
76
76
|
"react-accessible-treeview": "^2.8.3",
|
|
77
77
|
"react-dom": "^18.2.0",
|
|
78
78
|
"react-resizable-panels": "^0.0.63",
|
|
79
|
-
"vite": "^5.
|
|
79
|
+
"vite": "^5.2.8"
|
|
80
80
|
},
|
|
81
81
|
"devDependencies": {
|
|
82
|
-
"@likec4/core": "0.60.
|
|
83
|
-
"@likec4/diagrams": "0.60.
|
|
84
|
-
"@likec4/generators": "0.60.
|
|
85
|
-
"@likec4/language-server": "0.60.
|
|
86
|
-
"@likec4/layouts": "0.60.
|
|
82
|
+
"@likec4/core": "0.60.4",
|
|
83
|
+
"@likec4/diagrams": "0.60.4",
|
|
84
|
+
"@likec4/generators": "0.60.4",
|
|
85
|
+
"@likec4/language-server": "0.60.4",
|
|
86
|
+
"@likec4/layouts": "0.60.4",
|
|
87
87
|
"@types/mermaid": "^9.2.0",
|
|
88
88
|
"@types/node": "^20.11.25",
|
|
89
89
|
"@types/prop-types": "^15.7.11",
|
|
@@ -102,7 +102,7 @@
|
|
|
102
102
|
"pretty-ms": "^8.0.0",
|
|
103
103
|
"strip-indent": "^4.0.0",
|
|
104
104
|
"tsx": "^4.7.1",
|
|
105
|
-
"type-fest": "^4.
|
|
105
|
+
"type-fest": "^4.15.0",
|
|
106
106
|
"typescript": "^5.4.2",
|
|
107
107
|
"typescript-plugin-css-modules": "^5.1.0",
|
|
108
108
|
"vitest": "^1.4.0",
|