likec4 1.17.0 → 1.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/{dist/__app__ → __app__}/react/likec4.tsx +9 -26
  2. package/{dist/__app__/src/chunks/-index-overview-DNT3FQkn.js → __app__/src/chunks/-index-overview-CBnvpD1d.js} +12 -12
  3. package/{dist/__app__/src/chunks/likec4-CLNXvKhh.js → __app__/src/chunks/likec4-DslTxitT.js} +50 -41
  4. package/{dist/__app__/src/chunks/main-Beyl8kQ7.js → __app__/src/chunks/main-ByUdz_Be.js} +14236 -13301
  5. package/{dist/__app__/src/chunks/mantine-CdYQpHSU.js → __app__/src/chunks/mantine-oFa3ZrEq.js} +1731 -713
  6. package/{dist/__app__/src/chunks/tanstack-router-DJI32bwX.js → __app__/src/chunks/tanstack-router-BWjXKr0n.js} +1 -1
  7. package/{dist/__app__ → __app__}/src/main.js +1 -1
  8. package/{dist/__app__ → __app__}/src/style.css +1 -1
  9. package/{dist/__app__ → __app__}/webcomponent/webcomponent.js +30987 -28447
  10. package/dist/chunks/prompt.mjs +3 -3
  11. package/dist/cli/index.mjs +210 -179
  12. package/dist/index.d.mts +1785 -722
  13. package/dist/index.d.ts +1785 -722
  14. package/dist/index.mjs +1 -1
  15. package/dist/shared/likec4.lgHXhASw.mjs +1832 -0
  16. package/package.json +37 -37
  17. package/react/index.d.ts +896 -423
  18. package/react/index.mjs +32935 -29389
  19. package/react/style.css +1 -1
  20. package/dist/shared/likec4.D5WUQlNc.mjs +0 -1824
  21. /package/{dist/__app__ → __app__}/favicon.ico +0 -0
  22. /package/{dist/__app__ → __app__}/favicon.svg +0 -0
  23. /package/{dist/__app__ → __app__}/index.html +0 -0
  24. /package/{dist/__app__ → __app__}/robots.txt +0 -0
  25. /package/{dist/__app__ → __app__}/src/chunks/-view-lazy-data-WZmbIsHq.js +0 -0
  26. /package/{dist/__app__ → __app__}/src/chunks/index-CIsxIzOH.js +0 -0
  27. /package/{dist/__app__ → __app__}/src/const.js +0 -0
  28. /package/{dist/__app__ → __app__}/src/icons.js +0 -0
@@ -1,1824 +0,0 @@
1
- import*as H0 from"node:fs";import{lstatSync as w2,readlinkSync as b2,writeFileSync as V0,statSync as E2,readFileSync as mm,appendFileSync as D2,createReadStream as K0,createWriteStream as Y0,existsSync as T2}from"node:fs";import Jr,{sep as R2,dirname as S2,resolve as X0,basename as k2}from"node:path";import{fileURLToPath as gm,pathToFileURL as $2}from"node:url";import{isatty as C2}from"tty";import*as _2 from"node:util";import{formatWithOptions as A2,debuglog as x2,stripVTControlCharacters as I2,inspect as J0,promisify as P2,callbackify as Do,aborted as N2}from"node:util";import*as O2 from"util";import*as L2 from"path";import*as F2 from"os";import*as M2 from"crypto";import*as z2 from"net";import*as B2 from"url";import*as q2 from"fs";import*as j2 from"child_process";import{readdir as U2}from"node:fs/promises";import{Graphviz as ym}from"@hpcc-js/wasm-graphviz";import Oe,{platform as G2,hrtime as vd,execPath as W2,execArgv as H2}from"node:process";import*as vm from"node:tty";import Z0 from"node:tty";import{ChildProcess as Q0,spawnSync as V2,spawn as K2}from"node:child_process";import{StringDecoder as eE}from"node:string_decoder";import{setTimeout as tE,scheduler as nE,setImmediate as Y2}from"node:timers/promises";import{constants as bs}from"node:os";import{once as vn,addAbortListener as rE,EventEmitter as X2,on as wd,setMaxListeners as J2}from"node:events";import{serialize as Z2}from"node:v8";import{Transform as Q2,getDefaultHighWaterMark as bd,PassThrough as iE,Readable as Es,Writable as wm,Duplex as bm}from"node:stream";import{Buffer as Em}from"node:buffer";import{finished as Pi}from"node:stream/promises";import{createLogger as eO}from"vite";import{Buffer as Dm}from"buffer";function tO(t,e,n){let r=i=>t(i,...e);return n===void 0?r:Object.assign(r,{lazy:n,lazyArgs:e})}function jn(t,e,n){let r=t.length-e.length;if(r===0)return t(...e);if(r===1)return tO(t,e,n);throw new Error("Wrong number of arguments")}function nO(t){return e=>!t(e)}function Ni(t){return t==null}function sE(t){return Array.isArray(t)}function rO(...t){return jn(iO,t)}var iO=(t,e)=>e.every(n=>n(t));function sO(...t){return jn(oO,t)}var oO=(t,e)=>e.some(n=>n(t));function et(t,e){if(typeof t>"u"||t==null)throw new Error(e??`Expected defined value, but received ${t}`);return t}function we(t,e){if(!t)throw new Error(e??"Invariant failed")}function Ie(t){throw new Error(`NonExhaustive value: ${t}`)}function aO(t,e){return e?e+"."+t:t}const cO=["solid","dashed","dotted","none"];var To;(t=>{t.Group="@group"})(To||(To={}));const uO=["rectangle","person","browser","mobile","cylinder","storage","queue"],Oa="primary",Tm="rectangle";function oE(t){return"element"in t}function aE(t){return"expanded"in t}function cE(t){return"custom"in t&&(Ed(t.custom.expr)||Rm(t.custom.expr))}function uE(t){return"wildcard"in t}function lE(t){return"elementKind"in t&&"isEqual"in t}function dE(t){return"elementTag"in t&&"isEqual"in t}function Ed(t){return oE(t)||uE(t)||lE(t)||dE(t)||aE(t)}function Rm(t){return"where"in t&&Ed(t.where.expr)}function fE(t){return Ed(t)||Rm(t)||cE(t)}function hE(t){return"source"in t&&"target"in t}function pE(t){return"inout"in t}function mE(t){return"incoming"in t}function gE(t){return"outgoing"in t}function Sm(t){return hE(t)||pE(t)||mE(t)||gE(t)}function yE(t){return"where"in t&&Sm(t.where.expr)}function vE(t){return"customRelation"in t}function lO(t){return Sm(t)||yE(t)||vE(t)}const ye={__proto__:null,isCustomElement:cE,isCustomRelationExpr:vE,isElement:Ed,isElementKindExpr:lE,isElementPredicateExpr:fE,isElementRef:oE,isElementTagExpr:dE,isElementWhere:Rm,isExpandedElementExpr:aE,isInOut:pE,isIncoming:mE,isOutgoing:gE,isRelation:hE,isRelationExpression:Sm,isRelationPredicateExpr:lO,isRelationWhere:yE,isWildcard:uE},dO=t=>"tag"in t,fO=t=>"kind"in t,hO=t=>"not"in t,km=t=>"and"in t,$m=t=>"or"in t;function Ds(t){switch(!0){case dO(t):{if("eq"in t.tag){const n=t.tag.eq;return r=>Array.isArray(r.tags)&&r.tags.includes(n)}const e=t.tag.neq;return n=>!Array.isArray(n.tags)||!n.tags.includes(e)}case fO(t):{if("eq"in t.kind){const n=t.kind.eq;return r=>r.kind===n}const e=t.kind.neq;return n=>Ni(n.kind)||n.kind!==e}case hO(t):{const e=Ds(t.not);return nO(e)}case km(t):{const e=t.and.map(Ds);return rO(e)}case $m(t):{const e=t.or.map(Ds);return sO(e)}default:Ie(t)}}const wE="dashed",Ro="normal",Ts="gray",pO=["amber","blue","gray","slate","green","indigo","muted","primary","red","secondary","sky"];function bE(t){return t in pO}function EE(t){return"include"in t&&Array.isArray(t.include)||"exclude"in t&&Array.isArray(t.exclude)}function DE(t){return"predicateId"in t}function mO(t){return"style"in t&&"targets"in t}function TE(t){return"styleId"in t}function gO(t){return t==="TB"||t==="BT"||t==="LR"||t==="RL"}function RE(t){return"direction"in t}function Cm(t){return"title"in t&&"groupRules"in t&&Array.isArray(t.groupRules)}function yO(t){return"include"in t&&Array.isArray(t.include)}function vO(t){return"__parallel"in t&&sE(t.__parallel)}function Dd(t){return Ni(t.__)||t.__==="element"}function SE(t){return Dd(t)&&"extends"in t}function _m(t){return Dd(t)&&"viewOf"in t}function kE(t,e){const n=`step-${String(t).padStart(2,"0")}`;return e?`${n}.${e}`:n}function $E(t){return t.startsWith("step-")}function CE(t){if(!$E(t))throw new Error(`Invalid step edge id: ${t}`);return parseFloat(t.slice(5))}var Td;(t=>{function e(n){return n.kind===To.Group}t.isNodesGroup=e})(Td||(Td={}));function Am(t){return t.__==="dynamic"}function wO(t){return Ni(t.__)||t.__==="element"}var _E;(t=>{function e(n){return n.kind===To.Group}t.isNodesGroup=e})(_E||(_E={}));function xm(t){if(t===null||typeof t!="object")return!1;const e=Object.getPrototypeOf(t);return e!==null&&e!==Object.prototype&&Object.getPrototypeOf(e)!==null||Symbol.iterator in t?!1:Symbol.toStringTag in t?Object.prototype.toString.call(t)==="[object Module]":!0}function Im(t,e,n=".",r){if(!xm(e))return Im(t,{},n,r);const i=Object.assign({},e);for(const s in t){if(s==="__proto__"||s==="constructor")continue;const o=t[s];o!=null&&(r&&r(i,s,o,n)||(Array.isArray(o)&&Array.isArray(i[s])?i[s]=[...o,...i[s]]:xm(o)&&xm(i[s])?i[s]=Im(o,i[s],(n?`${n}.`:"")+s.toString(),r):i[s]=o))}return i}function bO(t){return(...e)=>e.reduce((n,r)=>Im(n,r,"",t),{})}const La=bO();function EO(...t){return jn(DO,t,TO)}var DO=(t,e)=>t.length<e.length?t.map((n,r)=>[n,e[r]]):e.map((n,r)=>[t[r],n]),TO=t=>(e,n)=>({hasNext:!0,next:[e,t[n]],done:n>=t.length-1}),RO={done:!1,hasNext:!1};function AE(t,...e){let n=t,r=e.map(s=>"lazy"in s?SO(s):void 0),i=0;for(;i<e.length;){if(r[i]===void 0||!kO(n)){let c=e[i];n=c(n),i+=1;continue}let s=[];for(let c=i;c<e.length;c++){let u=r[c];if(u===void 0||(s.push(u),u.isSingle))break}let o=[];for(let c of n)if(xE(c,o,s))break;let{isSingle:a}=s.at(-1);n=a?o[0]:o,i+=s.length}return n}function xE(t,e,n){if(n.length===0)return e.push(t),!1;let r=t,i=RO,s=!1;for(let[o,a]of n.entries()){let{index:c,items:u}=a;if(u.push(r),i=a(r,c,u),a.index+=1,i.hasNext){if(i.hasMany??!1){for(let l of i.next)if(xE(l,e,n.slice(o+1)))return!0;return s}r=i.next}if(!i.hasNext)break;i.done&&(s=!0)}return i.hasNext&&e.push(r),s}function SO(t){let{lazy:e,lazyArgs:n}=t,r=e(...n);return Object.assign(r,{isSingle:e.single??!1,index:0,items:[]})}function kO(t){return typeof t=="string"||typeof t=="object"&&t!==null&&Symbol.iterator in t}function Fa(...t){return jn(Object.values,t)}function Rd(...t){return jn($O,t)}var $O=(t,e)=>t.length>=e;function CO(...t){return jn(_O,t)}function _O(t,e){let n=[];for(let[r,i]of t.entries()){if(!e(i,r,t))break;n.push(i)}return n}function AO(...t){return jn(xO,t)}function xO(t,e){let n=[...t];return n.sort(e),n}function IO(t,e){let n=Math.ceil(t),r=Math.floor(e);if(r<n)throw new RangeError(`randomInteger: The range [${t.toString()},${e.toString()}] contains no integer`);return Math.floor(Math.random()*(r-n+1)+n)}function PO(...t){return jn(NO,t)}function NO(t,e){let n={};for(let[r,i]of Object.entries(t))e(i,r,t)&&(n[r]=i);return n}function Ma(...t){return jn(OO,t,LO)}var OO=(t,e)=>t.map(e),LO=t=>(e,n,r)=>({done:!1,hasNext:!0,next:t(e,n,r)});function FO(...t){return jn(MO,t)}function MO(t,e){let n={};for(let[r,i]of t.entries()){let[s,o]=e(i,r,t);n[s]=o}return n}function zO(...t){return jn(BO,t)}function BO(t,e){let n={};for(let[r,i]of Object.entries(t)){let s=e(i,r,t);n[r]=s}return n}function Rs(t){return typeof t=="string"}function IE(t){return!!t}function PE(t){return typeof t=="function"}function qO(t){return t!=null}function NE(...t){return jn(Object.fromEntries,t)}function jO(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Pm={exports:{}},OE;function UO(){if(OE)return Pm.exports;OE=1;var t=function(e,n){var r,i,s=1,o=0,a=0,c=String.alphabet;function u(l,d,f){if(f){for(r=d;f=u(l,r),f<76&&f>65;)++r;return+l.slice(d-1,r)}return f=c&&c.indexOf(l.charAt(d)),f>-1?f+76:(f=l.charCodeAt(d)||0,f<45||f>127?f:f<46?65:f<48?f-1:f<58?f+18:f<65?f-11:f<91?f+11:f<97?f-37:f<123?f+5:f-63)}if((e+="")!=(n+="")){for(;s;)if(i=u(e,o++),s=u(n,a++),i<76&&s<76&&i>66&&s>66&&(i=u(e,o,o),s=u(n,a,o=r),a=r),i!=s)return i<s?-1:1}return 0};try{Pm.exports=t}catch{String.naturalCompare=t}return Pm.exports}var GO=UO();const WO=jO(GO);function za(t,e){return t===e?0:Rs(t)?Rs(e)?WO(t,e):1:Rs(e)?-1:0}function Sd(t){return t!=null&&typeof t=="string"}function Ss(t){return!!t&&Array.isArray(t)&&t.length>0}function So(t){const e=t.lastIndexOf(".");return e>0?t.slice(e+1):t}function $r(...t){const e=Sd(t[0])?t[0]:t[0].id;return(Sd(t[1])?t[1]:t[1].id).startsWith(e+".")}function Ba(t,e){const n=Sd(t)?t:t.id,r=Sd(e)?e:e.id;return n===r||r.startsWith(n+".")||n.startsWith(r+".")}function HO(t){const e=t.flatMap(n=>[r=>r.id===n.id,r=>$r(n,r)]);return n=>e.some(r=>r(n))}function ks(t,e){const n=kt(t),r=kt(e);if(n===r)return n;if(!n||!r)return null;const i=t.split("."),s=e.split(".");let o=null;for(;i.length>1&&s.length>1&&i[0]&&i[0]===s[0];)o=o?`${o}.${i[0]}`:i[0],i.shift(),s.shift();return o}function kt(t){const e=t.lastIndexOf(".");return e>0?t.slice(0,e):null}function LE(t){const e=t+".";return n=>!!n.parent&&(n.parent===t||n.parent.startsWith(e))}function Zr(t){const e=t.split(".");return e.pop(),e.length===0?[]:e.reduce((n,r,i)=>i===0?(n.push(r),n):(n.unshift(`${n[0]}.${r}`),n),[])}function ko(t,e){const n=t.split(".").length,r=e.split(".").length;switch(!0){case n>r:return 1;case n<r:return-1;default:return 0}}function qa(t,e){return ko(t.id,e.id)}function VO(t){return t.map(e=>({item:e,fqn:e.id.split(".")})).sort((e,n)=>e.fqn.length-n.fqn.length).map(({item:e})=>e)}function ja(t){if(Rs(t)){const e=t;switch(!0){case e.startsWith("tag is not #"):return{tag:{neq:e.replace("tag is not #","")}};case e.startsWith("tag is #"):return{tag:{eq:e.replace("tag is #","")}};case e.startsWith("kind is not "):return{kind:{neq:e.replace("kind is not ","")}};case e.startsWith("kind is "):return{kind:{eq:e.replace("kind is ","")}};default:throw new Error(`Unknown where operator: ${t}`)}}if(t.and)return{and:Ma(t.and,ja)};if(t.or)return{or:Ma(t.or,ja)};if(t.not)return{not:ja(t.not)};throw new Error(`Unknown where operator: ${t}`)}function KO(...t){return e=>{let n=or(t[0]);const r=fE(n);if(t.length===2){const i=t[1].where?ja(t[1].where):void 0;i&&(n={where:{expr:n,condition:i}});const s=t[1].with;s&&(r?n={custom:{...s,expr:n}}:n={customRelation:{...s,relation:n}})}return e.include(n),e}}function YO(...t){return e=>{let n=or(t[0]);if(t.length===2&&t[1].where){const r=ja(t[1].where);n={where:{expr:n,condition:r}}}return e.exclude(n),e}}function or(t){if(!Rs(t))return t;if(t==="*")return{wildcard:!0};if(t.startsWith("->"))return t.endsWith("->")?{inout:or(t.replace(/->/g,"").trim())}:{incoming:or(t.replace("-> ",""))};if(t.endsWith(" ->"))return{outgoing:or(t.replace(" ->",""))};if(t.includes(" <-> ")){const[e,n]=t.split(" <-> ");return{source:or(e),target:or(n),isBidirectional:!0}}if(t.includes(" -> ")){const[e,n]=t.split(" -> ");return{source:or(e),target:or(n)}}return t.endsWith("._")?{expanded:t.replace("._","")}:t.endsWith(".*")?{element:t.replace(".*",""),isDescedants:!0}:{element:t,isDescedants:!1}}function XO(t,{notation:e,...n}){return r=>r.style({targets:(sE(t)?t:[t]).map(i=>or(i)),...e?{notation:e}:{},style:{...n}})}function JO(t){return e=>e.autoLayout(t)}function ZO(...t){return e=>t.reduce((n,r)=>r(n),e)}function FE(t,e=new Map,n=[],r=new Map,i={predicates:{},dynamicPredicates:{},styles:{}}){const s=()=>({tags:t.tags??[],elements:{...t.elements},relationships:{...t.relationships}}),o=u=>!u||!Rd(u,1)?null:Ma(u,l=>typeof l=="string"?{url:l}:l),a=u=>{const l={autoLayout(d){return u.rules.push({direction:d}),l},exclude(d){return u.rules.push({exclude:[d]}),l},include(d){return u.rules.push({include:[d]}),l},style(d){return u.rules.push(d),l}};return l},c={get Types(){throw new Error("Types are not available in runtime")},clone:()=>FE(structuredClone(t),structuredClone(e),structuredClone(n),structuredClone(r),structuredClone(i)),__model:()=>({addElement:u=>{const l=kt(u.id);if(l&&we(e.get(l),`Parent element with id "${l}" not found for element with id "${u.id}"`),e.has(u.id))throw new Error(`Element with id "${u.id}" already exists`);return e.set(u.id,u),c},addRelation(u){const l=e.get(u.source);we(l,`Element with id "${u.source}" not found`);const d=e.get(u.target);return we(d,`Element with id "${u.target}" not found`),we(!Ba(l,d),"Cannot create relationship between elements in the same hierarchy"),n.push({id:`rel${n.length+1}`,...u}),c},fqn(u){return u},addSourcelessRelation(){throw new Error("Can be called only in nested model")}}),__views:()=>({addView:u=>(_m(u)&&we(e.get(u.viewOf),`Invalid view ${u.id}, wlement with id "${u.viewOf}" not found`),r.set(u.id,u),c)}),build:()=>({specification:s(),elements:NE(Array.from(e.entries())),relations:FO(n,u=>[u.id,u]),globals:structuredClone(i),views:NE(Array.from(r.entries()))}),helpers:()=>({model:{model:(...u)=>l=>{const d=l.__model();for(const f of u)f(d);return l},rel:(u,l,d)=>f=>{const{title:h="",links:p=[],...m}=La(typeof d=="string"?{title:d}:{...d},{title:null,links:null}),g=o(p);return f.addRelation({source:u,target:l,title:h,...g&&{links:g},...m}),f},relTo:(u,l)=>d=>{const{title:f="",links:h=[],...p}=La(typeof l=="string"?{title:l}:{...l},{title:null,links:null}),m=o(h);return d.addSourcelessRelation({target:u,title:f,...m&&{links:m},...p}),d},...zO(t.elements,({style:u,...l},d)=>(f,h)=>{const p=m=>{const{links:g,icon:y,style:w,title:E,...k}=typeof h=="string"?{title:h}:{...h},A=o(g),I=y??u?.icon,x=m.fqn(f);return m.addElement({id:x,kind:d,title:E??So(x),description:null,technology:null,tags:null,color:u?.color??Oa,shape:u?.shape??Tm,style:PO({border:u?.border,opacity:u?.opacity,...w},qO),links:A,...I&&{icon:I},...l,...k}),m};return p.with=(...m)=>g=>{p(g);const y={...g,fqn:w=>`${g.fqn(f)}.${w}`,addSourcelessRelation:w=>g.addRelation({...w,source:g.fqn(f)})};for(const w of m)w(y);return g},p})},views:{views:(...u)=>l=>{const d=l.__views();for(const f of u)f(d);return l},view:(u,l,d)=>(PE(l)&&(d=l,l={}),f=>{const{links:h=[],title:p=null,...m}=typeof l=="string"?{title:l}:{...l},g=o(h),y={id:u,__:"element",title:p,description:null,tags:null,rules:[],links:g,customColorDefinitions:{},...m};return f.addView(y),d&&d(a(y)),f}),viewOf:(u,l,d,f)=>(PE(d)&&(f=d,d={}),h=>{const{links:p=[],title:m=null,...g}=typeof d=="string"?{title:d}:{...d},y=o(p),w={id:u,__:"element",viewOf:l,title:m,description:null,tags:null,rules:[],links:y,customColorDefinitions:{},...g};return h.addView(w),f&&f(a(w)),h}),$autoLayout:JO,$exclude:YO,$expr:or,$include:KO,$rules:ZO,$style:XO}}),with:(...u)=>u.reduce((l,d)=>d(l),c).clone()};return c}var Nm;(t=>{function e(n){const r=FE(n);return{...r.helpers(),builder:r}}t.forSpecification=e})(Nm||(Nm={}));const{min:QO,max:eL}=Math,$s=(t,e=0,n=1)=>QO(eL(e,t),n),Om=t=>{t._clipped=!1,t._unclipped=t.slice(0);for(let e=0;e<=3;e++)e<3?((t[e]<0||t[e]>255)&&(t._clipped=!0),t[e]=$s(t[e],0,255)):e===3&&(t[e]=$s(t[e],0,1));return t},ME={};for(let t of["Boolean","Number","String","Function","Array","Date","RegExp","Undefined","Null"])ME[`[object ${t}]`]=t.toLowerCase();function Ae(t){return ME[Object.prototype.toString.call(t)]||"object"}const Se=(t,e=null)=>t.length>=3?Array.prototype.slice.call(t):Ae(t[0])=="object"&&e?e.split("").filter(n=>t[0][n]!==void 0).map(n=>t[0][n]):t[0].slice(0),$o=t=>{if(t.length<2)return null;const e=t.length-1;return Ae(t[e])=="string"?t[e].toLowerCase():null},{PI:kd,min:zE,max:BE}=Math,Un=t=>Math.round(t*100)/100,Lm=t=>Math.round(t*100)/100,Qr=kd*2,Fm=kd/3,tL=kd/180,nL=180/kd;function qE(t){return[...t.slice(0,3).reverse(),...t.slice(3)]}const Re={format:{},autodetect:[]};let re=class{constructor(...e){const n=this;if(Ae(e[0])==="object"&&e[0].constructor&&e[0].constructor===this.constructor)return e[0];let r=$o(e),i=!1;if(!r){i=!0,Re.sorted||(Re.autodetect=Re.autodetect.sort((s,o)=>o.p-s.p),Re.sorted=!0);for(let s of Re.autodetect)if(r=s.test(...e),r)break}if(Re.format[r]){const s=Re.format[r].apply(null,i?e:e.slice(0,-1));n._rgb=Om(s)}else throw new Error("unknown format: "+e);n._rgb.length===3&&n._rgb.push(1)}toString(){return Ae(this.hex)=="function"?this.hex():`[${this._rgb.join(",")}]`}};const rL="3.1.2",Pe=(...t)=>new re(...t);Pe.version=rL;const Co={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",laserlemon:"#ffff54",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrod:"#fafad2",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",maroon2:"#7f0000",maroon3:"#b03060",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",purple2:"#7f007f",purple3:"#a020f0",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},iL=/^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,sL=/^#?([A-Fa-f0-9]{8}|[A-Fa-f0-9]{4})$/,jE=t=>{if(t.match(iL)){(t.length===4||t.length===7)&&(t=t.substr(1)),t.length===3&&(t=t.split(""),t=t[0]+t[0]+t[1]+t[1]+t[2]+t[2]);const e=parseInt(t,16),n=e>>16,r=e>>8&255,i=e&255;return[n,r,i,1]}if(t.match(sL)){(t.length===5||t.length===9)&&(t=t.substr(1)),t.length===4&&(t=t.split(""),t=t[0]+t[0]+t[1]+t[1]+t[2]+t[2]+t[3]+t[3]);const e=parseInt(t,16),n=e>>24&255,r=e>>16&255,i=e>>8&255,s=Math.round((e&255)/255*100)/100;return[n,r,i,s]}throw new Error(`unknown hex color: ${t}`)},{round:$d}=Math,UE=(...t)=>{let[e,n,r,i]=Se(t,"rgba"),s=$o(t)||"auto";i===void 0&&(i=1),s==="auto"&&(s=i<1?"rgba":"rgb"),e=$d(e),n=$d(n),r=$d(r);let o="000000"+(e<<16|n<<8|r).toString(16);o=o.substr(o.length-6);let a="0"+$d(i*255).toString(16);switch(a=a.substr(a.length-2),s.toLowerCase()){case"rgba":return`#${o}${a}`;case"argb":return`#${a}${o}`;default:return`#${o}`}};re.prototype.name=function(){const t=UE(this._rgb,"rgb");for(let e of Object.keys(Co))if(Co[e]===t)return e.toLowerCase();return t},Re.format.named=t=>{if(t=t.toLowerCase(),Co[t])return jE(Co[t]);throw new Error("unknown color name: "+t)},Re.autodetect.push({p:5,test:(t,...e)=>{if(!e.length&&Ae(t)==="string"&&Co[t.toLowerCase()])return"named"}}),re.prototype.alpha=function(t,e=!1){return t!==void 0&&Ae(t)==="number"?e?(this._rgb[3]=t,this):new re([this._rgb[0],this._rgb[1],this._rgb[2],t],"rgb"):this._rgb[3]},re.prototype.clipped=function(){return this._rgb._clipped||!1};const Cr={Kn:18,labWhitePoint:"d65",Xn:.95047,Yn:1,Zn:1.08883,t0:.137931034,t1:.206896552,t2:.12841855,t3:.008856452,kE:216/24389,kKE:8,kK:24389/27,RefWhiteRGB:{X:.95047,Y:1,Z:1.08883},MtxRGB2XYZ:{m00:.4124564390896922,m01:.21267285140562253,m02:.0193338955823293,m10:.357576077643909,m11:.715152155287818,m12:.11919202588130297,m20:.18043748326639894,m21:.07217499330655958,m22:.9503040785363679},MtxXYZ2RGB:{m00:3.2404541621141045,m01:-.9692660305051868,m02:.055643430959114726,m10:-1.5371385127977166,m11:1.8760108454466942,m12:-.2040259135167538,m20:-.498531409556016,m21:.041556017530349834,m22:1.0572251882231791},As:.9414285350000001,Bs:1.040417467,Cs:1.089532651,MtxAdaptMa:{m00:.8951,m01:-.7502,m02:.0389,m10:.2664,m11:1.7135,m12:-.0685,m20:-.1614,m21:.0367,m22:1.0296},MtxAdaptMaI:{m00:.9869929054667123,m01:.43230526972339456,m02:-.008528664575177328,m10:-.14705425642099013,m11:.5183602715367776,m12:.04004282165408487,m20:.15996265166373125,m21:.0492912282128556,m22:.9684866957875502}},oL=new Map([["a",[1.0985,.35585]],["b",[1.0985,.35585]],["c",[.98074,1.18232]],["d50",[.96422,.82521]],["d55",[.95682,.92149]],["d65",[.95047,1.08883]],["e",[1,1,1]],["f2",[.99186,.67393]],["f7",[.95041,1.08747]],["f11",[1.00962,.6435]],["icc",[.96422,.82521]]]);function ei(t){const e=oL.get(String(t).toLowerCase());if(!e)throw new Error("unknown Lab illuminant "+t);Cr.labWhitePoint=t,Cr.Xn=e[0],Cr.Zn=e[1]}function Ua(){return Cr.labWhitePoint}const Mm=(...t)=>{t=Se(t,"lab");const[e,n,r]=t,[i,s,o]=aL(e,n,r),[a,c,u]=GE(i,s,o);return[a,c,u,t.length>3?t[3]:1]},aL=(t,e,n)=>{const{kE:r,kK:i,kKE:s,Xn:o,Yn:a,Zn:c}=Cr,u=(t+16)/116,l=.002*e+u,d=u-.005*n,f=l*l*l,h=d*d*d,p=f>r?f:(116*l-16)/i,m=t>s?Math.pow((t+16)/116,3):t/i,g=h>r?h:(116*d-16)/i,y=p*o,w=m*a,E=g*c;return[y,w,E]},zm=t=>{const e=Math.sign(t);return t=Math.abs(t),(t<=.0031308?t*12.92:1.055*Math.pow(t,1/2.4)-.055)*e},GE=(t,e,n)=>{const{MtxAdaptMa:r,MtxAdaptMaI:i,MtxXYZ2RGB:s,RefWhiteRGB:o,Xn:a,Yn:c,Zn:u}=Cr,l=a*r.m00+c*r.m10+u*r.m20,d=a*r.m01+c*r.m11+u*r.m21,f=a*r.m02+c*r.m12+u*r.m22,h=o.X*r.m00+o.Y*r.m10+o.Z*r.m20,p=o.X*r.m01+o.Y*r.m11+o.Z*r.m21,m=o.X*r.m02+o.Y*r.m12+o.Z*r.m22,g=(t*r.m00+e*r.m10+n*r.m20)*(h/l),y=(t*r.m01+e*r.m11+n*r.m21)*(p/d),w=(t*r.m02+e*r.m12+n*r.m22)*(m/f),E=g*i.m00+y*i.m10+w*i.m20,k=g*i.m01+y*i.m11+w*i.m21,A=g*i.m02+y*i.m12+w*i.m22,I=zm(E*s.m00+k*s.m10+A*s.m20),x=zm(E*s.m01+k*s.m11+A*s.m21),_=zm(E*s.m02+k*s.m12+A*s.m22);return[I*255,x*255,_*255]},Bm=(...t)=>{const[e,n,r,...i]=Se(t,"rgb"),[s,o,a]=WE(e,n,r),[c,u,l]=cL(s,o,a);return[c,u,l,...i.length>0&&i[0]<1?[i[0]]:[]]};function cL(t,e,n){const{Xn:r,Yn:i,Zn:s,kE:o,kK:a}=Cr,c=t/r,u=e/i,l=n/s,d=c>o?Math.pow(c,1/3):(a*c+16)/116,f=u>o?Math.pow(u,1/3):(a*u+16)/116,h=l>o?Math.pow(l,1/3):(a*l+16)/116;return[116*f-16,500*(d-f),200*(f-h)]}function qm(t){const e=Math.sign(t);return t=Math.abs(t),(t<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4))*e}const WE=(t,e,n)=>{t=qm(t/255),e=qm(e/255),n=qm(n/255);const{MtxRGB2XYZ:r,MtxAdaptMa:i,MtxAdaptMaI:s,Xn:o,Yn:a,Zn:c,As:u,Bs:l,Cs:d}=Cr;let f=t*r.m00+e*r.m10+n*r.m20,h=t*r.m01+e*r.m11+n*r.m21,p=t*r.m02+e*r.m12+n*r.m22;const m=o*i.m00+a*i.m10+c*i.m20,g=o*i.m01+a*i.m11+c*i.m21,y=o*i.m02+a*i.m12+c*i.m22;let w=f*i.m00+h*i.m10+p*i.m20,E=f*i.m01+h*i.m11+p*i.m21,k=f*i.m02+h*i.m12+p*i.m22;return w*=m/u,E*=g/l,k*=y/d,f=w*s.m00+E*s.m10+k*s.m20,h=w*s.m01+E*s.m11+k*s.m21,p=w*s.m02+E*s.m12+k*s.m22,[f,h,p]};re.prototype.lab=function(){return Bm(this._rgb)};const uL=(...t)=>new re(...t,"lab");Object.assign(Pe,{lab:uL,getLabWhitePoint:Ua,setLabWhitePoint:ei}),Re.format.lab=Mm,Re.autodetect.push({p:2,test:(...t)=>{if(t=Se(t,"lab"),Ae(t)==="array"&&t.length===3)return"lab"}}),re.prototype.darken=function(t=1){const e=this,n=e.lab();return n[0]-=Cr.Kn*t,new re(n,"lab").alpha(e.alpha(),!0)},re.prototype.brighten=function(t=1){return this.darken(-t)},re.prototype.darker=re.prototype.darken,re.prototype.brighter=re.prototype.brighten,re.prototype.get=function(t){const[e,n]=t.split("."),r=this[e]();if(n){const i=e.indexOf(n)-(e.substr(0,2)==="ok"?2:0);if(i>-1)return r[i];throw new Error(`unknown channel ${n} in mode ${e}`)}else return r};const{pow:lL}=Math,dL=1e-7,fL=20;re.prototype.luminance=function(t,e="rgb"){if(t!==void 0&&Ae(t)==="number"){if(t===0)return new re([0,0,0,this._rgb[3]],"rgb");if(t===1)return new re([255,255,255,this._rgb[3]],"rgb");let n=this.luminance(),r=fL;const i=(o,a)=>{const c=o.interpolate(a,.5,e),u=c.luminance();return Math.abs(t-u)<dL||!r--?c:u>t?i(o,c):i(c,a)},s=(n>t?i(new re([0,0,0]),this):i(this,new re([255,255,255]))).rgb();return new re([...s,this._rgb[3]])}return hL(...this._rgb.slice(0,3))};const hL=(t,e,n)=>(t=jm(t),e=jm(e),n=jm(n),.2126*t+.7152*e+.0722*n),jm=t=>(t/=255,t<=.03928?t/12.92:lL((t+.055)/1.055,2.4)),Yt={},_o=(t,e,n=.5,...r)=>{let i=r[0]||"lrgb";if(!Yt[i]&&!r.length&&(i=Object.keys(Yt)[0]),!Yt[i])throw new Error(`interpolation mode ${i} is not defined`);return Ae(t)!=="object"&&(t=new re(t)),Ae(e)!=="object"&&(e=new re(e)),Yt[i](t,e,n).alpha(t.alpha()+n*(e.alpha()-t.alpha()))};re.prototype.mix=re.prototype.interpolate=function(t,e=.5,...n){return _o(this,t,e,...n)},re.prototype.premultiply=function(t=!1){const e=this._rgb,n=e[3];return t?(this._rgb=[e[0]*n,e[1]*n,e[2]*n,n],this):new re([e[0]*n,e[1]*n,e[2]*n,n],"rgb")};const{sin:pL,cos:mL}=Math,HE=(...t)=>{let[e,n,r]=Se(t,"lch");return isNaN(r)&&(r=0),r=r*tL,[e,mL(r)*n,pL(r)*n]},Um=(...t)=>{t=Se(t,"lch");const[e,n,r]=t,[i,s,o]=HE(e,n,r),[a,c,u]=Mm(i,s,o);return[a,c,u,t.length>3?t[3]:1]},gL=(...t)=>{const e=qE(Se(t,"hcl"));return Um(...e)},{sqrt:yL,atan2:vL,round:wL}=Math,VE=(...t)=>{const[e,n,r]=Se(t,"lab"),i=yL(n*n+r*r);let s=(vL(r,n)*nL+360)%360;return wL(i*1e4)===0&&(s=Number.NaN),[e,i,s]},Gm=(...t)=>{const[e,n,r,...i]=Se(t,"rgb"),[s,o,a]=Bm(e,n,r),[c,u,l]=VE(s,o,a);return[c,u,l,...i.length>0&&i[0]<1?[i[0]]:[]]};re.prototype.lch=function(){return Gm(this._rgb)},re.prototype.hcl=function(){return qE(Gm(this._rgb))};const bL=(...t)=>new re(...t,"lch"),EL=(...t)=>new re(...t,"hcl");Object.assign(Pe,{lch:bL,hcl:EL}),Re.format.lch=Um,Re.format.hcl=gL,["lch","hcl"].forEach(t=>Re.autodetect.push({p:2,test:(...e)=>{if(e=Se(e,t),Ae(e)==="array"&&e.length===3)return t}})),re.prototype.saturate=function(t=1){const e=this,n=e.lch();return n[1]+=Cr.Kn*t,n[1]<0&&(n[1]=0),new re(n,"lch").alpha(e.alpha(),!0)},re.prototype.desaturate=function(t=1){return this.saturate(-t)},re.prototype.set=function(t,e,n=!1){const[r,i]=t.split("."),s=this[r]();if(i){const o=r.indexOf(i)-(r.substr(0,2)==="ok"?2:0);if(o>-1){if(Ae(e)=="string")switch(e.charAt(0)){case"+":s[o]+=+e;break;case"-":s[o]+=+e;break;case"*":s[o]*=+e.substr(1);break;case"/":s[o]/=+e.substr(1);break;default:s[o]=+e}else if(Ae(e)==="number")s[o]=e;else throw new Error("unsupported value for Color.set");const a=new re(s,r);return n?(this._rgb=a._rgb,this):a}throw new Error(`unknown channel ${i} in mode ${r}`)}else return s},re.prototype.tint=function(t=.5,...e){return _o(this,"white",t,...e)},re.prototype.shade=function(t=.5,...e){return _o(this,"black",t,...e)};const DL=(t,e,n)=>{const r=t._rgb,i=e._rgb;return new re(r[0]+n*(i[0]-r[0]),r[1]+n*(i[1]-r[1]),r[2]+n*(i[2]-r[2]),"rgb")};Yt.rgb=DL;const{sqrt:Wm,pow:Ao}=Math,TL=(t,e,n)=>{const[r,i,s]=t._rgb,[o,a,c]=e._rgb;return new re(Wm(Ao(r,2)*(1-n)+Ao(o,2)*n),Wm(Ao(i,2)*(1-n)+Ao(a,2)*n),Wm(Ao(s,2)*(1-n)+Ao(c,2)*n),"rgb")};Yt.lrgb=TL;const RL=(t,e,n)=>{const r=t.lab(),i=e.lab();return new re(r[0]+n*(i[0]-r[0]),r[1]+n*(i[1]-r[1]),r[2]+n*(i[2]-r[2]),"lab")};Yt.lab=RL;const xo=(t,e,n,r)=>{let i,s;r==="hsl"?(i=t.hsl(),s=e.hsl()):r==="hsv"?(i=t.hsv(),s=e.hsv()):r==="hcg"?(i=t.hcg(),s=e.hcg()):r==="hsi"?(i=t.hsi(),s=e.hsi()):r==="lch"||r==="hcl"?(r="hcl",i=t.hcl(),s=e.hcl()):r==="oklch"&&(i=t.oklch().reverse(),s=e.oklch().reverse());let o,a,c,u,l,d;(r.substr(0,1)==="h"||r==="oklch")&&([o,c,l]=i,[a,u,d]=s);let f,h,p,m;return!isNaN(o)&&!isNaN(a)?(a>o&&a-o>180?m=a-(o+360):a<o&&o-a>180?m=a+360-o:m=a-o,h=o+n*m):isNaN(o)?isNaN(a)?h=Number.NaN:(h=a,(l==1||l==0)&&r!="hsv"&&(f=u)):(h=o,(d==1||d==0)&&r!="hsv"&&(f=c)),f===void 0&&(f=c+n*(u-c)),p=l+n*(d-l),r==="oklch"?new re([p,f,h],r):new re([h,f,p],r)},KE=(t,e,n)=>xo(t,e,n,"lch");Yt.lch=KE,Yt.hcl=KE;const SL=t=>{if(Ae(t)=="number"&&t>=0&&t<=16777215){const e=t>>16,n=t>>8&255,r=t&255;return[e,n,r,1]}throw new Error("unknown num color: "+t)},kL=(...t)=>{const[e,n,r]=Se(t,"rgb");return(e<<16)+(n<<8)+r};re.prototype.num=function(){return kL(this._rgb)};const $L=(...t)=>new re(...t,"num");Object.assign(Pe,{num:$L}),Re.format.num=SL,Re.autodetect.push({p:5,test:(...t)=>{if(t.length===1&&Ae(t[0])==="number"&&t[0]>=0&&t[0]<=16777215)return"num"}});const CL=(t,e,n)=>{const r=t.num(),i=e.num();return new re(r+n*(i-r),"num")};Yt.num=CL;const{floor:_L}=Math,AL=(...t)=>{t=Se(t,"hcg");let[e,n,r]=t,i,s,o;r=r*255;const a=n*255;if(n===0)i=s=o=r;else{e===360&&(e=0),e>360&&(e-=360),e<0&&(e+=360),e/=60;const c=_L(e),u=e-c,l=r*(1-n),d=l+a*(1-u),f=l+a*u,h=l+a;switch(c){case 0:[i,s,o]=[h,f,l];break;case 1:[i,s,o]=[d,h,l];break;case 2:[i,s,o]=[l,h,f];break;case 3:[i,s,o]=[l,d,h];break;case 4:[i,s,o]=[f,l,h];break;case 5:[i,s,o]=[h,l,d];break}}return[i,s,o,t.length>3?t[3]:1]},xL=(...t)=>{const[e,n,r]=Se(t,"rgb"),i=zE(e,n,r),s=BE(e,n,r),o=s-i,a=o*100/255,c=i/(255-o)*100;let u;return o===0?u=Number.NaN:(e===s&&(u=(n-r)/o),n===s&&(u=2+(r-e)/o),r===s&&(u=4+(e-n)/o),u*=60,u<0&&(u+=360)),[u,a,c]};re.prototype.hcg=function(){return xL(this._rgb)};const IL=(...t)=>new re(...t,"hcg");Pe.hcg=IL,Re.format.hcg=AL,Re.autodetect.push({p:1,test:(...t)=>{if(t=Se(t,"hcg"),Ae(t)==="array"&&t.length===3)return"hcg"}});const PL=(t,e,n)=>xo(t,e,n,"hcg");Yt.hcg=PL;const{cos:Io}=Math,NL=(...t)=>{t=Se(t,"hsi");let[e,n,r]=t,i,s,o;return isNaN(e)&&(e=0),isNaN(n)&&(n=0),e>360&&(e-=360),e<0&&(e+=360),e/=360,e<1/3?(o=(1-n)/3,i=(1+n*Io(Qr*e)/Io(Fm-Qr*e))/3,s=1-(o+i)):e<2/3?(e-=1/3,i=(1-n)/3,s=(1+n*Io(Qr*e)/Io(Fm-Qr*e))/3,o=1-(i+s)):(e-=2/3,s=(1-n)/3,o=(1+n*Io(Qr*e)/Io(Fm-Qr*e))/3,i=1-(s+o)),i=$s(r*i*3),s=$s(r*s*3),o=$s(r*o*3),[i*255,s*255,o*255,t.length>3?t[3]:1]},{min:OL,sqrt:LL,acos:FL}=Math,ML=(...t)=>{let[e,n,r]=Se(t,"rgb");e/=255,n/=255,r/=255;let i;const s=OL(e,n,r),o=(e+n+r)/3,a=o>0?1-s/o:0;return a===0?i=NaN:(i=(e-n+(e-r))/2,i/=LL((e-n)*(e-n)+(e-r)*(n-r)),i=FL(i),r>n&&(i=Qr-i),i/=Qr),[i*360,a,o]};re.prototype.hsi=function(){return ML(this._rgb)};const zL=(...t)=>new re(...t,"hsi");Pe.hsi=zL,Re.format.hsi=NL,Re.autodetect.push({p:2,test:(...t)=>{if(t=Se(t,"hsi"),Ae(t)==="array"&&t.length===3)return"hsi"}});const BL=(t,e,n)=>xo(t,e,n,"hsi");Yt.hsi=BL;const Hm=(...t)=>{t=Se(t,"hsl");const[e,n,r]=t;let i,s,o;if(n===0)i=s=o=r*255;else{const a=[0,0,0],c=[0,0,0],u=r<.5?r*(1+n):r+n-r*n,l=2*r-u,d=e/360;a[0]=d+1/3,a[1]=d,a[2]=d-1/3;for(let f=0;f<3;f++)a[f]<0&&(a[f]+=1),a[f]>1&&(a[f]-=1),6*a[f]<1?c[f]=l+(u-l)*6*a[f]:2*a[f]<1?c[f]=u:3*a[f]<2?c[f]=l+(u-l)*(2/3-a[f])*6:c[f]=l;[i,s,o]=[c[0]*255,c[1]*255,c[2]*255]}return t.length>3?[i,s,o,t[3]]:[i,s,o,1]},YE=(...t)=>{t=Se(t,"rgba");let[e,n,r]=t;e/=255,n/=255,r/=255;const i=zE(e,n,r),s=BE(e,n,r),o=(s+i)/2;let a,c;return s===i?(a=0,c=Number.NaN):a=o<.5?(s-i)/(s+i):(s-i)/(2-s-i),e==s?c=(n-r)/(s-i):n==s?c=2+(r-e)/(s-i):r==s&&(c=4+(e-n)/(s-i)),c*=60,c<0&&(c+=360),t.length>3&&t[3]!==void 0?[c,a,o,t[3]]:[c,a,o]};re.prototype.hsl=function(){return YE(this._rgb)};const qL=(...t)=>new re(...t,"hsl");Pe.hsl=qL,Re.format.hsl=Hm,Re.autodetect.push({p:2,test:(...t)=>{if(t=Se(t,"hsl"),Ae(t)==="array"&&t.length===3)return"hsl"}});const jL=(t,e,n)=>xo(t,e,n,"hsl");Yt.hsl=jL;const{floor:UL}=Math,GL=(...t)=>{t=Se(t,"hsv");let[e,n,r]=t,i,s,o;if(r*=255,n===0)i=s=o=r;else{e===360&&(e=0),e>360&&(e-=360),e<0&&(e+=360),e/=60;const a=UL(e),c=e-a,u=r*(1-n),l=r*(1-n*c),d=r*(1-n*(1-c));switch(a){case 0:[i,s,o]=[r,d,u];break;case 1:[i,s,o]=[l,r,u];break;case 2:[i,s,o]=[u,r,d];break;case 3:[i,s,o]=[u,l,r];break;case 4:[i,s,o]=[d,u,r];break;case 5:[i,s,o]=[r,u,l];break}}return[i,s,o,t.length>3?t[3]:1]},{min:WL,max:HL}=Math,VL=(...t)=>{t=Se(t,"rgb");let[e,n,r]=t;const i=WL(e,n,r),s=HL(e,n,r),o=s-i;let a,c,u;return u=s/255,s===0?(a=Number.NaN,c=0):(c=o/s,e===s&&(a=(n-r)/o),n===s&&(a=2+(r-e)/o),r===s&&(a=4+(e-n)/o),a*=60,a<0&&(a+=360)),[a,c,u]};re.prototype.hsv=function(){return VL(this._rgb)};const KL=(...t)=>new re(...t,"hsv");Pe.hsv=KL,Re.format.hsv=GL,Re.autodetect.push({p:2,test:(...t)=>{if(t=Se(t,"hsv"),Ae(t)==="array"&&t.length===3)return"hsv"}});const YL=(t,e,n)=>xo(t,e,n,"hsv");Yt.hsv=YL;function Cd(t,e){let n=t.length;Array.isArray(t[0])||(t=[t]),Array.isArray(e[0])||(e=e.map(o=>[o]));let r=e[0].length,i=e[0].map((o,a)=>e.map(c=>c[a])),s=t.map(o=>i.map(a=>Array.isArray(o)?o.reduce((c,u,l)=>c+u*(a[l]||0),0):a.reduce((c,u)=>c+u*o,0)));return n===1&&(s=s[0]),r===1?s.map(o=>o[0]):s}const Vm=(...t)=>{t=Se(t,"lab");const[e,n,r,...i]=t,[s,o,a]=XL([e,n,r]),[c,u,l]=GE(s,o,a);return[c,u,l,...i.length>0&&i[0]<1?[i[0]]:[]]};function XL(t){var e=[[1.2268798758459243,-.5578149944602171,.2813910456659647],[-.0405757452148008,1.112286803280317,-.0717110580655164],[-.0763729366746601,-.4214933324022432,1.5869240198367816]],n=[[1,.3963377773761749,.2158037573099136],[1,-.1055613458156586,-.0638541728258133],[1,-.0894841775298119,-1.2914855480194092]],r=Cd(n,t);return Cd(e,r.map(i=>i**3))}const Km=(...t)=>{const[e,n,r,...i]=Se(t,"rgb"),s=WE(e,n,r);return[...JL(s),...i.length>0&&i[0]<1?[i[0]]:[]]};function JL(t){const e=[[.819022437996703,.3619062600528904,-.1288737815209879],[.0329836539323885,.9292868615863434,.0361446663506424],[.0481771893596242,.2642395317527308,.6335478284694309]],n=[[.210454268309314,.7936177747023054,-.0040720430116193],[1.9779985324311684,-2.42859224204858,.450593709617411],[.0259040424655478,.7827717124575296,-.8086757549230774]],r=Cd(e,t);return Cd(n,r.map(i=>Math.cbrt(i)))}re.prototype.oklab=function(){return Km(this._rgb)};const ZL=(...t)=>new re(...t,"oklab");Object.assign(Pe,{oklab:ZL}),Re.format.oklab=Vm,Re.autodetect.push({p:2,test:(...t)=>{if(t=Se(t,"oklab"),Ae(t)==="array"&&t.length===3)return"oklab"}});const QL=(t,e,n)=>{const r=t.oklab(),i=e.oklab();return new re(r[0]+n*(i[0]-r[0]),r[1]+n*(i[1]-r[1]),r[2]+n*(i[2]-r[2]),"oklab")};Yt.oklab=QL;const eF=(t,e,n)=>xo(t,e,n,"oklch");Yt.oklch=eF;const{pow:Ym,sqrt:Xm,PI:Jm,cos:XE,sin:JE,atan2:tF}=Math,nF=(t,e="lrgb",n=null)=>{const r=t.length;n||(n=Array.from(new Array(r)).map(()=>1));const i=r/n.reduce(function(d,f){return d+f});if(n.forEach((d,f)=>{n[f]*=i}),t=t.map(d=>new re(d)),e==="lrgb")return rF(t,n);const s=t.shift(),o=s.get(e),a=[];let c=0,u=0;for(let d=0;d<o.length;d++)if(o[d]=(o[d]||0)*n[0],a.push(isNaN(o[d])?0:n[0]),e.charAt(d)==="h"&&!isNaN(o[d])){const f=o[d]/180*Jm;c+=XE(f)*n[0],u+=JE(f)*n[0]}let l=s.alpha()*n[0];t.forEach((d,f)=>{const h=d.get(e);l+=d.alpha()*n[f+1];for(let p=0;p<o.length;p++)if(!isNaN(h[p]))if(a[p]+=n[f+1],e.charAt(p)==="h"){const m=h[p]/180*Jm;c+=XE(m)*n[f+1],u+=JE(m)*n[f+1]}else o[p]+=h[p]*n[f+1]});for(let d=0;d<o.length;d++)if(e.charAt(d)==="h"){let f=tF(u/a[d],c/a[d])/Jm*180;for(;f<0;)f+=360;for(;f>=360;)f-=360;o[d]=f}else o[d]=o[d]/a[d];return l/=r,new re(o,e).alpha(l>.99999?1:l,!0)},rF=(t,e)=>{const n=t.length,r=[0,0,0,0];for(let i=0;i<t.length;i++){const s=t[i],o=e[i]/n,a=s._rgb;r[0]+=Ym(a[0],2)*o,r[1]+=Ym(a[1],2)*o,r[2]+=Ym(a[2],2)*o,r[3]+=a[3]*o}return r[0]=Xm(r[0]),r[1]=Xm(r[1]),r[2]=Xm(r[2]),r[3]>.9999999&&(r[3]=1),new re(Om(r))},{pow:iF}=Math;function _d(t){let e="rgb",n=Pe("#ccc"),r=0,i=[0,1],s=[],o=[0,0],a=!1,c=[],u=!1,l=0,d=1,f=!1,h={},p=!0,m=1;const g=function(x){if(x=x||["#fff","#000"],x&&Ae(x)==="string"&&Pe.brewer&&Pe.brewer[x.toLowerCase()]&&(x=Pe.brewer[x.toLowerCase()]),Ae(x)==="array"){x.length===1&&(x=[x[0],x[0]]),x=x.slice(0);for(let _=0;_<x.length;_++)x[_]=Pe(x[_]);s.length=0;for(let _=0;_<x.length;_++)s.push(_/(x.length-1))}return A(),c=x},y=function(x){if(a!=null){const _=a.length-1;let P=0;for(;P<_&&x>=a[P];)P++;return P-1}return 0};let w=x=>x,E=x=>x;const k=function(x,_){let P,O;if(_==null&&(_=!1),isNaN(x)||x===null)return n;_?O=x:a&&a.length>2?O=y(x)/(a.length-2):d!==l?O=(x-l)/(d-l):O=1,O=E(O),_||(O=w(O)),m!==1&&(O=iF(O,m)),O=o[0]+O*(1-o[0]-o[1]),O=$s(O,0,1);const C=Math.floor(O*1e4);if(p&&h[C])P=h[C];else{if(Ae(c)==="array")for(let D=0;D<s.length;D++){const R=s[D];if(O<=R){P=c[D];break}if(O>=R&&D===s.length-1){P=c[D];break}if(O>R&&O<s[D+1]){O=(O-R)/(s[D+1]-R),P=Pe.interpolate(c[D],c[D+1],O,e);break}}else Ae(c)==="function"&&(P=c(O));p&&(h[C]=P)}return P};var A=()=>h={};g(t);const I=function(x){const _=Pe(k(x));return u&&_[u]?_[u]():_};return I.classes=function(x){if(x!=null){if(Ae(x)==="array")a=x,i=[x[0],x[x.length-1]];else{const _=Pe.analyze(i);x===0?a=[_.min,_.max]:a=Pe.limits(_,"e",x)}return I}return a},I.domain=function(x){if(!arguments.length)return i;l=x[0],d=x[x.length-1],s=[];const _=c.length;if(x.length===_&&l!==d)for(let P of Array.from(x))s.push((P-l)/(d-l));else{for(let P=0;P<_;P++)s.push(P/(_-1));if(x.length>2){const P=x.map((C,D)=>D/(x.length-1)),O=x.map(C=>(C-l)/(d-l));O.every((C,D)=>P[D]===C)||(E=C=>{if(C<=0||C>=1)return C;let D=0;for(;C>=O[D+1];)D++;const R=(C-O[D])/(O[D+1]-O[D]);return P[D]+R*(P[D+1]-P[D])})}}return i=[l,d],I},I.mode=function(x){return arguments.length?(e=x,A(),I):e},I.range=function(x,_){return g(x),I},I.out=function(x){return u=x,I},I.spread=function(x){return arguments.length?(r=x,I):r},I.correctLightness=function(x){return x==null&&(x=!0),f=x,A(),f?w=function(_){const P=k(0,!0).lab()[0],O=k(1,!0).lab()[0],C=P>O;let D=k(_,!0).lab()[0];const R=P+(O-P)*_;let F=D-R,W=0,V=1,Z=20;for(;Math.abs(F)>.01&&Z-- >0;)(function(){return C&&(F*=-1),F<0?(W=_,_+=(V-_)*.5):(V=_,_+=(W-_)*.5),D=k(_,!0).lab()[0],F=D-R})();return _}:w=_=>_,I},I.padding=function(x){return x!=null?(Ae(x)==="number"&&(x=[x,x]),o=x,I):o},I.colors=function(x,_){arguments.length<2&&(_="hex");let P=[];if(arguments.length===0)P=c.slice(0);else if(x===1)P=[I(.5)];else if(x>1){const O=i[0],C=i[1]-O;P=sF(0,x).map(D=>I(O+D/(x-1)*C))}else{t=[];let O=[];if(a&&a.length>2)for(let C=1,D=a.length,R=1<=D;R?C<D:C>D;R?C++:C--)O.push((a[C-1]+a[C])*.5);else O=i;P=O.map(C=>I(C))}return Pe[_]&&(P=P.map(O=>O[_]())),P},I.cache=function(x){return x!=null?(p=x,I):p},I.gamma=function(x){return x!=null?(m=x,I):m},I.nodata=function(x){return x!=null?(n=Pe(x),I):n},I}function sF(t,e,n){let r=[],i=t<e,s=e;for(let o=t;i?o<s:o>s;i?o++:o--)r.push(o);return r}const oF=function(t){let e=[1,1];for(let n=1;n<t;n++){let r=[1];for(let i=1;i<=e.length;i++)r[i]=(e[i]||0)+e[i-1];e=r}return e},aF=function(t){let e,n,r,i;if(t=t.map(s=>new re(s)),t.length===2)[n,r]=t.map(s=>s.lab()),e=function(s){const o=[0,1,2].map(a=>n[a]+s*(r[a]-n[a]));return new re(o,"lab")};else if(t.length===3)[n,r,i]=t.map(s=>s.lab()),e=function(s){const o=[0,1,2].map(a=>(1-s)*(1-s)*n[a]+2*(1-s)*s*r[a]+s*s*i[a]);return new re(o,"lab")};else if(t.length===4){let s;[n,r,i,s]=t.map(o=>o.lab()),e=function(o){const a=[0,1,2].map(c=>(1-o)*(1-o)*(1-o)*n[c]+3*(1-o)*(1-o)*o*r[c]+3*(1-o)*o*o*i[c]+o*o*o*s[c]);return new re(a,"lab")}}else if(t.length>=5){let s,o,a;s=t.map(c=>c.lab()),a=t.length-1,o=oF(a),e=function(c){const u=1-c,l=[0,1,2].map(d=>s.reduce((f,h,p)=>f+o[p]*u**(a-p)*c**p*h[d],0));return new re(l,"lab")}}else throw new RangeError("No point in running bezier with only one color.");return e},cF=t=>{const e=aF(t);return e.scale=()=>_d(e),e},{round:ZE}=Math;re.prototype.rgb=function(t=!0){return t===!1?this._rgb.slice(0,3):this._rgb.slice(0,3).map(ZE)},re.prototype.rgba=function(t=!0){return this._rgb.slice(0,4).map((e,n)=>n<3?t===!1?e:ZE(e):e)};const uF=(...t)=>new re(...t,"rgb");Object.assign(Pe,{rgb:uF}),Re.format.rgb=(...t)=>{const e=Se(t,"rgba");return e[3]===void 0&&(e[3]=1),e},Re.autodetect.push({p:3,test:(...t)=>{if(t=Se(t,"rgba"),Ae(t)==="array"&&(t.length===3||t.length===4&&Ae(t[3])=="number"&&t[3]>=0&&t[3]<=1))return"rgb"}});const ar=(t,e,n)=>{if(!ar[n])throw new Error("unknown blend mode "+n);return ar[n](t,e)},Oi=t=>(e,n)=>{const r=Pe(n).rgb(),i=Pe(e).rgb();return Pe.rgb(t(r,i))},Li=t=>(e,n)=>{const r=[];return r[0]=t(e[0],n[0]),r[1]=t(e[1],n[1]),r[2]=t(e[2],n[2]),r},lF=t=>t,dF=(t,e)=>t*e/255,fF=(t,e)=>t>e?e:t,hF=(t,e)=>t>e?t:e,pF=(t,e)=>255*(1-(1-t/255)*(1-e/255)),mF=(t,e)=>e<128?2*t*e/255:255*(1-2*(1-t/255)*(1-e/255)),gF=(t,e)=>255*(1-(1-e/255)/(t/255)),yF=(t,e)=>t===255?255:(t=255*(e/255)/(1-t/255),t>255?255:t);ar.normal=Oi(Li(lF)),ar.multiply=Oi(Li(dF)),ar.screen=Oi(Li(pF)),ar.overlay=Oi(Li(mF)),ar.darken=Oi(Li(fF)),ar.lighten=Oi(Li(hF)),ar.dodge=Oi(Li(yF)),ar.burn=Oi(Li(gF));const{pow:vF,sin:wF,cos:bF}=Math;function EF(t=300,e=-1.5,n=1,r=1,i=[0,1]){let s=0,o;Ae(i)==="array"?o=i[1]-i[0]:(o=0,i=[i,i]);const a=function(c){const u=Qr*((t+120)/360+e*c),l=vF(i[0]+o*c,r),d=(s!==0?n[0]+c*s:n)*l*(1-l)/2,f=bF(u),h=wF(u),p=l+d*(-.14861*f+1.78277*h),m=l+d*(-.29227*f-.90649*h),g=l+d*(1.97294*f);return Pe(Om([p*255,m*255,g*255,1]))};return a.start=function(c){return c==null?t:(t=c,a)},a.rotations=function(c){return c==null?e:(e=c,a)},a.gamma=function(c){return c==null?r:(r=c,a)},a.hue=function(c){return c==null?n:(n=c,Ae(n)==="array"?(s=n[1]-n[0],s===0&&(n=n[1])):s=0,a)},a.lightness=function(c){return c==null?i:(Ae(c)==="array"?(i=c,o=c[1]-c[0]):(i=[c,c],o=0),a)},a.scale=()=>Pe.scale(a),a.hue(n),a}const DF="0123456789abcdef",{floor:TF,random:RF}=Math,SF=()=>{let t="#";for(let e=0;e<6;e++)t+=DF.charAt(TF(RF()*16));return new re(t,"hex")},{log:QE,pow:kF,floor:$F,abs:CF}=Math;function eD(t,e=null){const n={min:Number.MAX_VALUE,max:Number.MAX_VALUE*-1,sum:0,values:[],count:0};return Ae(t)==="object"&&(t=Object.values(t)),t.forEach(r=>{e&&Ae(r)==="object"&&(r=r[e]),r!=null&&!isNaN(r)&&(n.values.push(r),n.sum+=r,r<n.min&&(n.min=r),r>n.max&&(n.max=r),n.count+=1)}),n.domain=[n.min,n.max],n.limits=(r,i)=>tD(n,r,i),n}function tD(t,e="equal",n=7){Ae(t)=="array"&&(t=eD(t));const{min:r,max:i}=t,s=t.values.sort((a,c)=>a-c);if(n===1)return[r,i];const o=[];if(e.substr(0,1)==="c"&&(o.push(r),o.push(i)),e.substr(0,1)==="e"){o.push(r);for(let a=1;a<n;a++)o.push(r+a/n*(i-r));o.push(i)}else if(e.substr(0,1)==="l"){if(r<=0)throw new Error("Logarithmic scales are only possible for values > 0");const a=Math.LOG10E*QE(r),c=Math.LOG10E*QE(i);o.push(r);for(let u=1;u<n;u++)o.push(kF(10,a+u/n*(c-a)));o.push(i)}else if(e.substr(0,1)==="q"){o.push(r);for(let a=1;a<n;a++){const c=(s.length-1)*a/n,u=$F(c);if(u===c)o.push(s[u]);else{const l=c-u;o.push(s[u]*(1-l)+s[u+1]*l)}}o.push(i)}else if(e.substr(0,1)==="k"){let a;const c=s.length,u=new Array(c),l=new Array(n);let d=!0,f=0,h=null;h=[],h.push(r);for(let g=1;g<n;g++)h.push(r+g/n*(i-r));for(h.push(i);d;){for(let y=0;y<n;y++)l[y]=0;for(let y=0;y<c;y++){const w=s[y];let E=Number.MAX_VALUE,k;for(let A=0;A<n;A++){const I=CF(h[A]-w);I<E&&(E=I,k=A),l[k]++,u[y]=k}}const g=new Array(n);for(let y=0;y<n;y++)g[y]=null;for(let y=0;y<c;y++)a=u[y],g[a]===null?g[a]=s[y]:g[a]+=s[y];for(let y=0;y<n;y++)g[y]*=1/l[y];d=!1;for(let y=0;y<n;y++)if(g[y]!==h[y]){d=!0;break}h=g,f++,f>200&&(d=!1)}const p={};for(let g=0;g<n;g++)p[g]=[];for(let g=0;g<c;g++)a=u[g],p[a].push(s[g]);let m=[];for(let g=0;g<n;g++)m.push(p[g][0]),m.push(p[g][p[g].length-1]);m=m.sort((g,y)=>g-y),o.push(m[0]);for(let g=1;g<m.length;g+=2){const y=m[g];!isNaN(y)&&o.indexOf(y)===-1&&o.push(y)}}return o}const _F=(t,e)=>{t=new re(t),e=new re(e);const n=t.luminance(),r=e.luminance();return n>r?(n+.05)/(r+.05):(r+.05)/(n+.05)},nD=.027,AF=5e-4,xF=.1,rD=1.14,Ad=.022,iD=1.414,IF=(t,e)=>{t=new re(t),e=new re(e),t.alpha()<1&&(t=_o(e,t,t.alpha(),"rgb"));const n=sD(...t.rgb()),r=sD(...e.rgb()),i=n>=Ad?n:n+Math.pow(Ad-n,iD),s=r>=Ad?r:r+Math.pow(Ad-r,iD),o=Math.pow(s,.56)-Math.pow(i,.57),a=Math.pow(s,.65)-Math.pow(i,.62),c=Math.abs(s-i)<AF?0:i<s?o*rD:a*rD;return(Math.abs(c)<xF?0:c>0?c-nD:c+nD)*100};function sD(t,e,n){return .2126729*Math.pow(t/255,2.4)+.7151522*Math.pow(e/255,2.4)+.072175*Math.pow(n/255,2.4)}const{sqrt:ti,pow:$t,min:PF,max:NF,atan2:oD,abs:aD,cos:xd,sin:cD,exp:OF,PI:uD}=Math;function LF(t,e,n=1,r=1,i=1){var s=function(ut){return 360*ut/(2*uD)},o=function(ut){return 2*uD*ut/360};t=new re(t),e=new re(e);const[a,c,u]=Array.from(t.lab()),[l,d,f]=Array.from(e.lab()),h=(a+l)/2,p=ti($t(c,2)+$t(u,2)),m=ti($t(d,2)+$t(f,2)),g=(p+m)/2,y=.5*(1-ti($t(g,7)/($t(g,7)+$t(25,7)))),w=c*(1+y),E=d*(1+y),k=ti($t(w,2)+$t(u,2)),A=ti($t(E,2)+$t(f,2)),I=(k+A)/2,x=s(oD(u,w)),_=s(oD(f,E)),P=x>=0?x:x+360,O=_>=0?_:_+360,C=aD(P-O)>180?(P+O+360)/2:(P+O)/2,D=1-.17*xd(o(C-30))+.24*xd(o(2*C))+.32*xd(o(3*C+6))-.2*xd(o(4*C-63));let R=O-P;R=aD(R)<=180?R:O<=P?R+360:R-360,R=2*ti(k*A)*cD(o(R)/2);const F=l-a,W=A-k,V=1+.015*$t(h-50,2)/ti(20+$t(h-50,2)),Z=1+.045*I,Le=1+.015*I*D,se=30*OF(-$t((C-275)/25,2)),K=-(2*ti($t(I,7)/($t(I,7)+$t(25,7))))*cD(2*o(se)),Te=ti($t(F/(n*V),2)+$t(W/(r*Z),2)+$t(R/(i*Le),2)+K*(W/(r*Z))*(R/(i*Le)));return NF(0,PF(100,Te))}function FF(t,e,n="lab"){t=new re(t),e=new re(e);const r=t.get(n),i=e.get(n);let s=0;for(let o in r){const a=(r[o]||0)-(i[o]||0);s+=a*a}return Math.sqrt(s)}const MF=(...t)=>{try{return new re(...t),!0}catch{return!1}},zF={cool(){return _d([Pe.hsl(180,1,.9),Pe.hsl(250,.7,.4)])},hot(){return _d(["#000","#f00","#ff0","#fff"]).mode("rgb")}},Zm={OrRd:["#fff7ec","#fee8c8","#fdd49e","#fdbb84","#fc8d59","#ef6548","#d7301f","#b30000","#7f0000"],PuBu:["#fff7fb","#ece7f2","#d0d1e6","#a6bddb","#74a9cf","#3690c0","#0570b0","#045a8d","#023858"],BuPu:["#f7fcfd","#e0ecf4","#bfd3e6","#9ebcda","#8c96c6","#8c6bb1","#88419d","#810f7c","#4d004b"],Oranges:["#fff5eb","#fee6ce","#fdd0a2","#fdae6b","#fd8d3c","#f16913","#d94801","#a63603","#7f2704"],BuGn:["#f7fcfd","#e5f5f9","#ccece6","#99d8c9","#66c2a4","#41ae76","#238b45","#006d2c","#00441b"],YlOrBr:["#ffffe5","#fff7bc","#fee391","#fec44f","#fe9929","#ec7014","#cc4c02","#993404","#662506"],YlGn:["#ffffe5","#f7fcb9","#d9f0a3","#addd8e","#78c679","#41ab5d","#238443","#006837","#004529"],Reds:["#fff5f0","#fee0d2","#fcbba1","#fc9272","#fb6a4a","#ef3b2c","#cb181d","#a50f15","#67000d"],RdPu:["#fff7f3","#fde0dd","#fcc5c0","#fa9fb5","#f768a1","#dd3497","#ae017e","#7a0177","#49006a"],Greens:["#f7fcf5","#e5f5e0","#c7e9c0","#a1d99b","#74c476","#41ab5d","#238b45","#006d2c","#00441b"],YlGnBu:["#ffffd9","#edf8b1","#c7e9b4","#7fcdbb","#41b6c4","#1d91c0","#225ea8","#253494","#081d58"],Purples:["#fcfbfd","#efedf5","#dadaeb","#bcbddc","#9e9ac8","#807dba","#6a51a3","#54278f","#3f007d"],GnBu:["#f7fcf0","#e0f3db","#ccebc5","#a8ddb5","#7bccc4","#4eb3d3","#2b8cbe","#0868ac","#084081"],Greys:["#ffffff","#f0f0f0","#d9d9d9","#bdbdbd","#969696","#737373","#525252","#252525","#000000"],YlOrRd:["#ffffcc","#ffeda0","#fed976","#feb24c","#fd8d3c","#fc4e2a","#e31a1c","#bd0026","#800026"],PuRd:["#f7f4f9","#e7e1ef","#d4b9da","#c994c7","#df65b0","#e7298a","#ce1256","#980043","#67001f"],Blues:["#f7fbff","#deebf7","#c6dbef","#9ecae1","#6baed6","#4292c6","#2171b5","#08519c","#08306b"],PuBuGn:["#fff7fb","#ece2f0","#d0d1e6","#a6bddb","#67a9cf","#3690c0","#02818a","#016c59","#014636"],Viridis:["#440154","#482777","#3f4a8a","#31678e","#26838f","#1f9d8a","#6cce5a","#b6de2b","#fee825"],Spectral:["#9e0142","#d53e4f","#f46d43","#fdae61","#fee08b","#ffffbf","#e6f598","#abdda4","#66c2a5","#3288bd","#5e4fa2"],RdYlGn:["#a50026","#d73027","#f46d43","#fdae61","#fee08b","#ffffbf","#d9ef8b","#a6d96a","#66bd63","#1a9850","#006837"],RdBu:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#f7f7f7","#d1e5f0","#92c5de","#4393c3","#2166ac","#053061"],PiYG:["#8e0152","#c51b7d","#de77ae","#f1b6da","#fde0ef","#f7f7f7","#e6f5d0","#b8e186","#7fbc41","#4d9221","#276419"],PRGn:["#40004b","#762a83","#9970ab","#c2a5cf","#e7d4e8","#f7f7f7","#d9f0d3","#a6dba0","#5aae61","#1b7837","#00441b"],RdYlBu:["#a50026","#d73027","#f46d43","#fdae61","#fee090","#ffffbf","#e0f3f8","#abd9e9","#74add1","#4575b4","#313695"],BrBG:["#543005","#8c510a","#bf812d","#dfc27d","#f6e8c3","#f5f5f5","#c7eae5","#80cdc1","#35978f","#01665e","#003c30"],RdGy:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#ffffff","#e0e0e0","#bababa","#878787","#4d4d4d","#1a1a1a"],PuOr:["#7f3b08","#b35806","#e08214","#fdb863","#fee0b6","#f7f7f7","#d8daeb","#b2abd2","#8073ac","#542788","#2d004b"],Set2:["#66c2a5","#fc8d62","#8da0cb","#e78ac3","#a6d854","#ffd92f","#e5c494","#b3b3b3"],Accent:["#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0","#f0027f","#bf5b17","#666666"],Set1:["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00","#ffff33","#a65628","#f781bf","#999999"],Set3:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5","#d9d9d9","#bc80bd","#ccebc5","#ffed6f"],Dark2:["#1b9e77","#d95f02","#7570b3","#e7298a","#66a61e","#e6ab02","#a6761d","#666666"],Paired:["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00","#cab2d6","#6a3d9a","#ffff99","#b15928"],Pastel2:["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4","#e6f5c9","#fff2ae","#f1e2cc","#cccccc"],Pastel1:["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6","#ffffcc","#e5d8bd","#fddaec","#f2f2f2"]},lD=Object.keys(Zm),dD=new Map(lD.map(t=>[t.toLowerCase(),t])),BF=typeof Proxy=="function"?new Proxy(Zm,{get(t,e){const n=e.toLowerCase();if(dD.has(n))return t[dD.get(n)]},getOwnPropertyNames(){return Object.getOwnPropertyNames(lD)}}):Zm,qF=(...t)=>{t=Se(t,"cmyk");const[e,n,r,i]=t,s=t.length>4?t[4]:1;return i===1?[0,0,0,s]:[e>=1?0:255*(1-e)*(1-i),n>=1?0:255*(1-n)*(1-i),r>=1?0:255*(1-r)*(1-i),s]},{max:fD}=Math,jF=(...t)=>{let[e,n,r]=Se(t,"rgb");e=e/255,n=n/255,r=r/255;const i=1-fD(e,fD(n,r)),s=i<1?1/(1-i):0,o=(1-e-i)*s,a=(1-n-i)*s,c=(1-r-i)*s;return[o,a,c,i]};re.prototype.cmyk=function(){return jF(this._rgb)};const UF=(...t)=>new re(...t,"cmyk");Object.assign(Pe,{cmyk:UF}),Re.format.cmyk=qF,Re.autodetect.push({p:2,test:(...t)=>{if(t=Se(t,"cmyk"),Ae(t)==="array"&&t.length===4)return"cmyk"}});const GF=(...t)=>{const e=Se(t,"hsla");let n=$o(t)||"lsa";return e[0]=Un(e[0]||0)+"deg",e[1]=Un(e[1]*100)+"%",e[2]=Un(e[2]*100)+"%",n==="hsla"||e.length>3&&e[3]<1?(e[3]="/ "+(e.length>3?e[3]:1),n="hsla"):e.length=3,`${n.substr(0,3)}(${e.join(" ")})`},WF=(...t)=>{const e=Se(t,"lab");let n=$o(t)||"lab";return e[0]=Un(e[0])+"%",e[1]=Un(e[1]),e[2]=Un(e[2]),n==="laba"||e.length>3&&e[3]<1?e[3]="/ "+(e.length>3?e[3]:1):e.length=3,`lab(${e.join(" ")})`},HF=(...t)=>{const e=Se(t,"lch");let n=$o(t)||"lab";return e[0]=Un(e[0])+"%",e[1]=Un(e[1]),e[2]=isNaN(e[2])?"none":Un(e[2])+"deg",n==="lcha"||e.length>3&&e[3]<1?e[3]="/ "+(e.length>3?e[3]:1):e.length=3,`lch(${e.join(" ")})`},VF=(...t)=>{const e=Se(t,"lab");return e[0]=Un(e[0]*100)+"%",e[1]=Lm(e[1]),e[2]=Lm(e[2]),e.length>3&&e[3]<1?e[3]="/ "+(e.length>3?e[3]:1):e.length=3,`oklab(${e.join(" ")})`},hD=(...t)=>{const[e,n,r,...i]=Se(t,"rgb"),[s,o,a]=Km(e,n,r),[c,u,l]=VE(s,o,a);return[c,u,l,...i.length>0&&i[0]<1?[i[0]]:[]]},KF=(...t)=>{const e=Se(t,"lch");return e[0]=Un(e[0]*100)+"%",e[1]=Lm(e[1]),e[2]=isNaN(e[2])?"none":Un(e[2])+"deg",e.length>3&&e[3]<1?e[3]="/ "+(e.length>3?e[3]:1):e.length=3,`oklch(${e.join(" ")})`},{round:Qm}=Math,YF=(...t)=>{const e=Se(t,"rgba");let n=$o(t)||"rgb";if(n.substr(0,3)==="hsl")return GF(YE(e),n);if(n.substr(0,3)==="lab"){const r=Ua();ei("d50");const i=WF(Bm(e),n);return ei(r),i}if(n.substr(0,3)==="lch"){const r=Ua();ei("d50");const i=HF(Gm(e),n);return ei(r),i}return n.substr(0,5)==="oklab"?VF(Km(e)):n.substr(0,5)==="oklch"?KF(hD(e)):(e[0]=Qm(e[0]),e[1]=Qm(e[1]),e[2]=Qm(e[2]),(n==="rgba"||e.length>3&&e[3]<1)&&(e[3]="/ "+(e.length>3?e[3]:1),n="rgba"),`${n.substr(0,3)}(${e.slice(0,n==="rgb"?3:4).join(" ")})`)},pD=(...t)=>{t=Se(t,"lch");const[e,n,r,...i]=t,[s,o,a]=HE(e,n,r),[c,u,l]=Vm(s,o,a);return[c,u,l,...i.length>0&&i[0]<1?[i[0]]:[]]},ni=/((?:-?\d+)|(?:-?\d+(?:\.\d+)?)%|none)/.source,cr=/((?:-?(?:\d+(?:\.\d*)?|\.\d+)%?)|none)/.source,Id=/((?:-?(?:\d+(?:\.\d*)?|\.\d+)%)|none)/.source,Gn=/\s*/.source,Po=/\s+/.source,eg=/\s*,\s*/.source,Pd=/((?:-?(?:\d+(?:\.\d*)?|\.\d+)(?:deg)?)|none)/.source,No=/\s*(?:\/\s*((?:[01]|[01]?\.\d+)|\d+(?:\.\d+)?%))?/.source,mD=new RegExp("^rgba?\\("+Gn+[ni,ni,ni].join(Po)+No+"\\)$"),gD=new RegExp("^rgb\\("+Gn+[ni,ni,ni].join(eg)+Gn+"\\)$"),yD=new RegExp("^rgba\\("+Gn+[ni,ni,ni,cr].join(eg)+Gn+"\\)$"),vD=new RegExp("^hsla?\\("+Gn+[Pd,Id,Id].join(Po)+No+"\\)$"),wD=new RegExp("^hsl?\\("+Gn+[Pd,Id,Id].join(eg)+Gn+"\\)$"),bD=/^hsla\(\s*(-?\d+(?:\.\d+)?),\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)$/,ED=new RegExp("^lab\\("+Gn+[cr,cr,cr].join(Po)+No+"\\)$"),DD=new RegExp("^lch\\("+Gn+[cr,cr,Pd].join(Po)+No+"\\)$"),TD=new RegExp("^oklab\\("+Gn+[cr,cr,cr].join(Po)+No+"\\)$"),RD=new RegExp("^oklch\\("+Gn+[cr,cr,Pd].join(Po)+No+"\\)$"),{round:SD}=Math,Oo=t=>t.map((e,n)=>n<=2?$s(SD(e),0,255):e),Ct=(t,e=0,n=100,r=!1)=>(typeof t=="string"&&t.endsWith("%")&&(t=parseFloat(t.substring(0,t.length-1))/100,r?t=e+(t+1)*.5*(n-e):t=e+t*(n-e)),+t),rn=(t,e)=>t==="none"?e:t,tg=t=>{if(t=t.toLowerCase().trim(),t==="transparent")return[0,0,0,0];let e;if(Re.format.named)try{return Re.format.named(t)}catch{}if((e=t.match(mD))||(e=t.match(gD))){let n=e.slice(1,4);for(let i=0;i<3;i++)n[i]=+Ct(rn(n[i],0),0,255);n=Oo(n);const r=e[4]!==void 0?+Ct(e[4],0,1):1;return n[3]=r,n}if(e=t.match(yD)){const n=e.slice(1,5);for(let r=0;r<4;r++)n[r]=+Ct(n[r],0,255);return n}if((e=t.match(vD))||(e=t.match(wD))){const n=e.slice(1,4);n[0]=+rn(n[0].replace("deg",""),0),n[1]=+Ct(rn(n[1],0),0,100)*.01,n[2]=+Ct(rn(n[2],0),0,100)*.01;const r=Oo(Hm(n)),i=e[4]!==void 0?+Ct(e[4],0,1):1;return r[3]=i,r}if(e=t.match(bD)){const n=e.slice(1,4);n[1]*=.01,n[2]*=.01;const r=Hm(n);for(let i=0;i<3;i++)r[i]=SD(r[i]);return r[3]=+e[4],r}if(e=t.match(ED)){const n=e.slice(1,4);n[0]=Ct(rn(n[0],0),0,100),n[1]=Ct(rn(n[1],0),-125,125,!0),n[2]=Ct(rn(n[2],0),-125,125,!0);const r=Ua();ei("d50");const i=Oo(Mm(n));ei(r);const s=e[4]!==void 0?+Ct(e[4],0,1):1;return i[3]=s,i}if(e=t.match(DD)){const n=e.slice(1,4);n[0]=Ct(n[0],0,100),n[1]=Ct(rn(n[1],0),0,150,!1),n[2]=+rn(n[2].replace("deg",""),0);const r=Ua();ei("d50");const i=Oo(Um(n));ei(r);const s=e[4]!==void 0?+Ct(e[4],0,1):1;return i[3]=s,i}if(e=t.match(TD)){const n=e.slice(1,4);n[0]=Ct(rn(n[0],0),0,1),n[1]=Ct(rn(n[1],0),-.4,.4,!0),n[2]=Ct(rn(n[2],0),-.4,.4,!0);const r=Oo(Vm(n)),i=e[4]!==void 0?+Ct(e[4],0,1):1;return r[3]=i,r}if(e=t.match(RD)){const n=e.slice(1,4);n[0]=Ct(rn(n[0],0),0,1),n[1]=Ct(rn(n[1],0),0,.4,!1),n[2]=+rn(n[2].replace("deg",""),0);const r=Oo(pD(n)),i=e[4]!==void 0?+Ct(e[4],0,1):1;return r[3]=i,r}};tg.test=t=>mD.test(t)||vD.test(t)||ED.test(t)||DD.test(t)||TD.test(t)||RD.test(t)||gD.test(t)||yD.test(t)||wD.test(t)||bD.test(t)||t==="transparent",re.prototype.css=function(t){return YF(this._rgb,t)};const XF=(...t)=>new re(...t,"css");Pe.css=XF,Re.format.css=tg,Re.autodetect.push({p:5,test:(t,...e)=>{if(!e.length&&Ae(t)==="string"&&tg.test(t))return"css"}}),Re.format.gl=(...t)=>{const e=Se(t,"rgba");return e[0]*=255,e[1]*=255,e[2]*=255,e};const JF=(...t)=>new re(...t,"gl");Pe.gl=JF,re.prototype.gl=function(){const t=this._rgb;return[t[0]/255,t[1]/255,t[2]/255,t[3]]},re.prototype.hex=function(t){return UE(this._rgb,t)};const ZF=(...t)=>new re(...t,"hex");Pe.hex=ZF,Re.format.hex=jE,Re.autodetect.push({p:4,test:(t,...e)=>{if(!e.length&&Ae(t)==="string"&&[3,4,5,6,7,8,9].indexOf(t.length)>=0)return"hex"}});const{log:Nd}=Math,kD=t=>{const e=t/100;let n,r,i;return e<66?(n=255,r=e<6?0:-155.25485562709179-.44596950469579133*(r=e-2)+104.49216199393888*Nd(r),i=e<20?0:-254.76935184120902+.8274096064007395*(i=e-10)+115.67994401066147*Nd(i)):(n=351.97690566805693+.114206453784165*(n=e-55)-40.25366309332127*Nd(n),r=325.4494125711974+.07943456536662342*(r=e-50)-28.0852963507957*Nd(r),i=255),[n,r,i,1]},{round:QF}=Math,eM=(...t)=>{const e=Se(t,"rgb"),n=e[0],r=e[2];let i=1e3,s=4e4;const o=.4;let a;for(;s-i>o;){a=(s+i)*.5;const c=kD(a);c[2]/c[0]>=r/n?s=a:i=a}return QF(a)};re.prototype.temp=re.prototype.kelvin=re.prototype.temperature=function(){return eM(this._rgb)};const ng=(...t)=>new re(...t,"temp");Object.assign(Pe,{temp:ng,kelvin:ng,temperature:ng}),Re.format.temp=Re.format.kelvin=Re.format.temperature=kD,re.prototype.oklch=function(){return hD(this._rgb)};const tM=(...t)=>new re(...t,"oklch");Object.assign(Pe,{oklch:tM}),Re.format.oklch=pD,Re.autodetect.push({p:2,test:(...t)=>{if(t=Se(t,"oklch"),Ae(t)==="array"&&t.length===3)return"oklch"}}),Object.assign(Pe,{analyze:eD,average:nF,bezier:cF,blend:ar,brewer:BF,Color:re,colors:Co,contrast:_F,contrastAPCA:IF,cubehelix:EF,deltaE:LF,distance:FF,input:Re,interpolate:_o,limits:tD,mix:_o,random:SF,scale:_d,scales:zF,valid:MF});const rg=[.96,.907,.805,.697,.605,.547,.518,.445,.395,.34],$D=[.32,.16,.08,.04,0,0,.04,.08,.16,.32];function nM(t){const e=t.get("hsl.l");return rg.reduce((n,r)=>Math.abs(r-e)<Math.abs(n-e)?r:n)}function rM(t){const e=Pe(t),n=nM(e),r=rg.findIndex(s=>s===n),i=rg.map(s=>e.set("hsl.l",s)).map(s=>Pe(s)).map((s,o)=>{const a=$D[o]-$D[r];return a>=0?s.saturate(a):s.desaturate(a*-1)});return{baseColorIndex:r,colors:i}}function iM(t){return rM(t).colors.map(e=>e.hex())}const CD={fill:"#3b82f6",stroke:"#2563eb",hiContrast:"#eff6ff",loContrast:"#bfdbfe"},_D={fill:"#0284c7",stroke:"#0369a1",hiContrast:"#f0f9ff",loContrast:"#B6ECF7"},AD={fill:"#64748b",stroke:"#475569",hiContrast:"#f8fafc",loContrast:"#cbd5e1"},xD={primary:CD,blue:CD,secondary:_D,sky:_D,muted:AD,slate:AD,gray:{fill:"#737373",stroke:"#525252",hiContrast:"#fafafa",loContrast:"#d4d4d4"},red:{fill:"#AC4D39",stroke:"#853A2D",hiContrast:"#FBD3CB",loContrast:"#f5b2a3"},green:{fill:"#428a4f",stroke:"#2d5d39",hiContrast:"#f8fafc",loContrast:"#c2f0c2"},amber:{fill:"#A35829",stroke:"#7E451D",hiContrast:"#FFE0C2",loContrast:"#f9b27c"},indigo:{fill:"#6366f1",stroke:"#4f46e5",hiContrast:"#eef2ff",loContrast:"#c7d2fe"}},sM={lineColor:"#6E6E6E",labelBgColor:"#18191b",labelColor:"#C6C6C6"},ID={lineColor:"#64748b",labelBgColor:"#0f172a",labelColor:"#cbd5e1"},PD={lineColor:"#3b82f6",labelBgColor:"#172554",labelColor:"#60a5fa"},ND={lineColor:"#0ea5e9",labelBgColor:"#082f49",labelColor:"#38bdf8"},OD={amber:{lineColor:"#b45309",labelBgColor:"#78350f",labelColor:"#FFE0C2"},blue:PD,gray:sM,green:{lineColor:"#15803d",labelBgColor:"#052e16",labelColor:"#22c55e"},indigo:{lineColor:"#6366f1",labelBgColor:"#1e1b4b",labelColor:"#818cf8"},muted:ID,primary:PD,red:{lineColor:"#AC4D39",labelBgColor:"#b91c1c",labelColor:"#f5b2a3"},secondary:ND,sky:ND,slate:ID},Wn={elements:xD,relationships:OD,font:"Arial",shadow:"#0a0a0a"};function oM(t){if(t.match(/^#([0-9a-f]{3}){1,2}$/i)){const e=iM(t);return{elements:{fill:e[6],stroke:e[7],hiContrast:e[0],loContrast:e[1]},relationships:{lineColor:e[4],labelColor:e[3],labelBgColor:e[9]}}}else return{elements:Wn.elements.primary,relationships:Wn.relationships.primary}}function it(t){return Rs(t)?t:t.id}let Ga=class M0{constructor(e,n){this.view=e,this.model=n;for(const r of e.nodes){const i=new M0.Element(r,this);this._elements.set(r.id,i),Ni(r.parent)&&this._rootElements.add(i)}this._connections=new Map(e.edges.map(r=>[r.id,new M0.Connection(r,this)]))}_rootElements=new Set;_elements=new Map;_connections;get isDynamic(){return this.view.__==="dynamic"}get id(){return this.view.id}get title(){return this.view.title}get viewOf(){if(Ni(this.view.__)||this.view.__==="element"){const e=this.view;return e.viewOf?this.model.element(e.viewOf):null}return null}get tags(){return this.view.tags??[]}roots(){return[...this._rootElements]}elements(){return[...this._elements.values()]}element(e){return et(this._elements.get(e),`LikeC4DiagramModel.Element ${e} in view ${this.view.id} not found`)}hasElement(e){return this._elements.has(e)}connections(){return[...this._connections.values()]}connection(e){return et(this._connections.get(e),`Connection ${e} in view ${this.view.id} not found`)}findConnections(e,n,r="direct"){const i=it(e),s=it(n);return this.connections().filter(o=>o.source.id===i&&o.target.id===s||r==="both"&&o.source.id===s&&o.target.id===i)}parent(e){const n=this.element(it(e));return n.node.parent?this.element(n.node.parent):null}children(e){return this.element(it(e)).node.children.map(n=>this.element(n))}siblings(e){const n=it(e),r=this.parent(n);return(r?this.children(r):this.roots()).filter(i=>i.id!==n)}ancestors(e){let n=it(e);const r=[];let i;for(;i=this.parent(n);)r.push(i),n=i.id;return r}descendants(e){return this.children(e).flatMap(n=>[n,...this.descendants(n.id)])}incoming(e,n="all"){const r=this.element(it(e)),i=r.node.inEdges.map(s=>this.connection(s));return n==="all"||i.length===0?i:i.filter(s=>n==="direct"?s.target.id===r.id:s.target.id!==r.id)}incomers(e,n="all"){return this.incoming(e,n).map(r=>r.source)}outgoing(e,n="all"){const r=this.element(it(e)),i=r.node.outEdges.map(s=>this.connection(s));return n==="all"||i.length===0?i:i.filter(s=>n==="direct"?s.source.id===r.id:s.source.id!==r.id)}outgoers(e,n="all"){return this.outgoing(e,n).map(r=>r.target)}};(t=>{class e{constructor(i,s){this.node=i,this.view=s}get id(){return this.node.id}get title(){return this.node.title}get kind(){return this.node.kind}get isRoot(){return Ni(this.node.parent)}get hasNested(){return this.node.children.length>0}get shape(){return this.node.shape}get color(){return this.node.color}get tags(){return this.node.tags??[]}get level(){return this.node.level}get depth(){return this.node.depth??0}model(){return this.view.model.element(this.id)}parent(){return this.node.parent?this.view.element(this.node.parent):null}metadata(i,s){return this.model().metadata(i)??s}hasMetadata(i){return this.model().hasMetadata(i)}ancestors(){return this.view.ancestors(this)}siblings(){return this.view.siblings(this)}descendants(){return this.view.descendants(this)}children(){return this.view.children(this)}incoming(i="all"){return this.view.incoming(this,i)}incomers(i="all"){return this.view.incomers(this,i)}outgoing(i="all"){return this.view.outgoing(this,i)}outgoers(i="all"){return this.view.outgoers(this,i)}connectionsTo(i){return this.view.findConnections(this,i)}}t.Element=e;class n{constructor(i,s){this.edge=i,this.view=s}get id(){return this.edge.id}get source(){return this.view.element(this.edge.source)}get target(){return this.view.element(this.edge.target)}get tags(){return this.edge.tags??[]}get color(){return this.edge.color??Ts}relationships(){return this.edge.relations.map(i=>et(this.view.model.relationship(i)))}}t.Connection=n})(Ga||(Ga={}));let Od=class z0{constructor(e,n){this.view=e,this.model=n;for(const r of e.nodes){const i=new z0.Element(r,this);this._elements.set(r.id,i),Ni(r.parent)&&this._rootElements.add(i)}this._connections=new Map(e.edges.map(r=>[r.id,new z0.Connection(r,this)]))}_rootElements=new Set;_elements=new Map;_connections;get id(){return this.view.id}get title(){return this.view.title}get viewOf(){return this.view.__!=="dynamic"&&this.view.viewOf?this.model.element(this.view.viewOf):null}get tags(){return this.view.tags??[]}roots(){return[...this._rootElements]}elements(){return[...this._elements.values()]}element(e){return et(this._elements.get(e),`LikeC4ViewModel.Element ${e} in view ${this.id} not found`)}hasElement(e){return this._elements.has(e)}connections(){return[...this._connections.values()]}connection(e){return et(this._connections.get(e),`Connection ${e} in view ${this.id} not found`)}findConnections(e,n,r="direct"){const i=it(e),s=it(n);return this.connections().filter(o=>o.source.id===i&&o.target.id===s||r==="both"&&o.source.id===s&&o.target.id===i)}parent(e){const n=this.element(it(e));return n.node.parent?this.element(n.node.parent):null}children(e){return this.element(it(e)).node.children.map(n=>this.element(n))}siblings(e){const n=it(e),r=this.parent(n);return(r?this.children(r):this.roots()).filter(i=>i.id!==n)}ancestors(e){let n=it(e);const r=[];let i;for(;i=this.parent(n);)r.push(i),n=i.id;return r}descendants(e){return this.children(e).flatMap(n=>[n,...this.descendants(n.id)])}incoming(e,n="all"){const r=this.element(it(e)),i=r.node.inEdges.map(s=>et(this._connections.get(s),`Edge ${s} not found`));return n==="all"||i.length===0?i:i.filter(s=>n==="direct"?s.target.id===r.id:s.target.id!==r.id)}incomers(e,n="all"){return[...new Set(this.incoming(e,n).map(r=>r.source))]}outgoing(e,n="all"){const r=this.element(it(e)),i=r.node.outEdges.map(s=>et(this._connections.get(s),`Edge ${s} not found`));return n==="all"||i.length===0?i:i.filter(s=>n==="direct"?s.source.id===r.id:s.source.id!==r.id)}outgoers(e,n="all"){return[...new Set(this.outgoing(e,n).map(r=>r.target))]}};(t=>{class e{constructor(i,s){this.node=i,this.viewmodel=s}get id(){return this.node.id}get title(){return this.node.title}get kind(){return this.node.kind}get isRoot(){return Ni(this.node.parent)}get hasNested(){return this.node.children.length>0}get shape(){return this.node.shape}get color(){return this.node.color}get tags(){return this.node.tags??[]}model(){return this.viewmodel.model.element(this.id)}parent(){return this.node.parent?this.viewmodel.element(this.node.parent):null}metadata(i,s){return this.model().metadata(i)??s}hasMetadata(i){return this.model().hasMetadata(i)}ancestors(){return this.viewmodel.ancestors(this)}siblings(){return this.viewmodel.siblings(this)}descendants(){return this.viewmodel.descendants(this)}children(){return this.viewmodel.children(this)}incoming(i="all"){return this.viewmodel.incoming(this,i)}incomers(i="all"){return this.viewmodel.incomers(this,i)}outgoing(i="all"){return this.viewmodel.outgoing(this,i)}outgoers(i="all"){return this.viewmodel.outgoers(this,i)}connectionsTo(i){return this.viewmodel.findConnections(this,i)}}t.Element=e;class n{constructor(i,s){this.edge=i,this.viewmodel=s}get id(){return this.edge.id}get source(){return this.viewmodel.element(this.edge.source)}get target(){return this.viewmodel.element(this.edge.target)}get tags(){return this.edge.tags??[]}relationships(){return this.edge.relations.map(i=>et(this.viewmodel.model.relationship(i)))}}t.Connection=n})(Od||(Od={}));let Wa=class B0{constructor(e,n,r,i,s,o){this.type=e,this.sourcemodel=n;for(const a of r)this.addElement(a);for(const a of i)this.addRelation(a);this._views=new Map(AE(Fa(s),AO((a,c)=>za(a.title??"untitled",c.title??"untitled")),Ma(a=>[a.id,new o(a,this)])))}_elements=new Map;_parents=new Map;_children=new Map;_rootElements=new Set;_relations=new Map;_incoming=new Map;_outgoing=new Map;_internal=new Map;_cacheAscendingSiblings=new Map;_views;roots(){return[...this._rootElements]}elements(){return[...this._elements.values()]}element(e){return et(this._elements.get(e),`Element ${e} not found`)}relationships(){return[...this._relations.values()]}relationship(e){return et(this._relations.get(e),`Relation ${e} not found`)}views(){return[...this._views.values()]}view(e){return et(this._views.get(e),`View ${e} not found`)}parent(e){const n=it(e);return this._parents.get(n)||null}children(e){const n=it(e);return this._childrenOf(n)}siblings(e){const n=it(e),r=this._parents.get(n);return(r?this._childrenOf(r.id):this.roots()).filter(i=>i.id!==n)}ancestors(e){let n=Rs(e)?e:e.id;const r=[];let i;for(;i=this._parents.get(n);)r.push(i),n=i.id;return r}descendants(e){const n=it(e);return this._childrenOf(n).flatMap(r=>[r,...this.descendants(r.id)])}incoming(e,n="all"){const r=it(e),i=Array.from(this._incomingTo(r));return n==="all"||i.length===0?i:i.filter(s=>n==="direct"?s.target.id===r:s.target.id!==r)}incomers(e,n="all"){return[...new Set(this.incoming(e,n).map(r=>r.source))]}outgoing(e,n="all"){const r=it(e),i=Array.from(this._outgoingFrom(r));return n==="all"||i.length===0?i:i.filter(s=>n==="direct"?s.source.id===r:s.source.id!==r)}outgoers(e,n="all"){return[...new Set(this.outgoing(e,n).map(r=>r.target))]}internal(e){const n=it(e);return Array.from(this._internalOf(n))}ascendingSiblings(e){const n=it(e);let r=this._cacheAscendingSiblings.get(n);return r||(r=[...this.siblings(n),...this.ancestors(n).flatMap(i=>this.siblings(i.id))],this._cacheAscendingSiblings.set(n,r)),r.slice()}viewsWithElement(e){const n=it(e);return[...this._views.values()].filter(r=>r.hasElement(n))}addElement(e){if(this._elements.has(e.id))throw new Error(`Element ${e.id} already exists`);const n=new B0.ElementModel(e,this);this._elements.set(n.id,n);const r=kt(n.id);r?(this._parents.set(n.id,this.element(r)),this._childrenOf(r).push(n)):this._rootElements.add(n)}addRelation(e){if(this._relations.has(e.id))throw new Error(`Relation ${e.id} already exists`);const n=new B0.Relationship(e,this);this._relations.set(n.id,n),this._incomingTo(e.target).add(n),this._outgoingFrom(e.source).add(n);const r=ks(e.source,e.target);if(r)for(const i of[r,...Zr(r)])this._internalOf(i).add(n);for(const i of Zr(e.source)){if(i===r)break;this._outgoingFrom(i).add(n)}for(const i of Zr(e.target)){if(i===r)break;this._incomingTo(i).add(n)}}_childrenOf(e){let n=this._children.get(e);return n||(n=[],this._children.set(e,n)),n}_incomingTo(e){let n=this._incoming.get(e);return n||(n=new Set,this._incoming.set(e,n)),n}_outgoingFrom(e){let n=this._outgoing.get(e);return n||(n=new Set,this._outgoing.set(e,n)),n}_internalOf(e){let n=this._internal.get(e);return n||(n=new Set,this._internal.set(e,n)),n}};(t=>{function e(c){return c.__==="layouted"?t.layouted(c):t.computed(c)}t.create=e;function n(c){return new t("computed",c,Fa(c.elements),Fa(c.relations),c.views,Od)}t.computed=n;function r(c){return new t("layouted",c,Fa(c.elements),Fa(c.relations),c.views,Ga)}t.layouted=r;function i(c){return c instanceof t}t.isModel=i,(c=>{function u(l){return l instanceof Ga}c.isLayouted=u})(t.ViewModel||(t.ViewModel={}));function s(c){return c.type==="layouted"}t.isLayouted=s;class o{constructor(u,l){this.relationship=u,this.model=l}get id(){return this.relationship.id}get title(){return this.relationship.title}get kind(){return this.relationship.kind??null}get tags(){return this.relationship.tags??[]}get source(){return this.model.element(this.relationship.source)}get target(){return this.model.element(this.relationship.target)}metadata(u,l){return this.relationship.metadata?.[u]??l}hasMetadata(u){return IE(this.relationship.metadata?.[u])}}t.Relationship=o;class a{constructor(u,l){this.element=u,this.model=l}get id(){return this.element.id}get title(){return this.element.title}get kind(){return this.element.kind}get isRoot(){return kt(this.element.id)===null}get hasNested(){return this.model.children(this).length>0}get shape(){return this.element.shape??Tm}get color(){return this.element.color??Oa}get tags(){return this.element.tags??[]}parent(){return this.model.parent(this)}metadata(u,l){return this.element.metadata?.[u]??l}hasMetadata(u){return IE(this.element.metadata?.[u])}ancestors(){return this.model.ancestors(this)}siblings(){return this.model.siblings(this)}descendants(){return this.model.descendants(this)}children(){return this.model.children(this)}viewOf(){return this.model.views().find(u=>u.viewOf?.id===this.id)??null}viewsOf(){return this.model.views().filter(u=>u.viewOf?.id===this.id)}views(){return this.model.viewsWithElement(this)}incoming(u){return this.model.incoming(this,u)}incomers(u){return this.model.incomers(this,u)}outgoing(u){return this.model.outgoing(this,u)}outgoers(u){return this.model.outgoers(this,u)}internal(){return this.model.internal(this)}ascendingSiblings(){return this.model.ascendingSiblings(this)}}t.ElementModel=a})(Wa||(Wa={}));function aM(t,e,n){return t.length===0||e.length===0?[]:(n??=Object.is,AE(EO(t,e),CO(([r,i])=>n(r,i)),Ma(([r,i])=>r)))}const cM="LIKEC4_DELAY";function LD(...t){let e=100;return t.length===2?e=IO(t[0],t[1]):t.length===1&&(e=t[0]),new Promise(n=>{setTimeout(()=>{n(cM)},e??100)})}const Ha=(t,e)=>{const n=ks(t.source,t.target),r=ks(e.source,e.target);if(n&&!r)return 1;if(!n&&r)return-1;const i=n&&r?ko(n,r):0;if(i!==0)return i;const s=ko(t.source,e.source);return s!==0?s:ko(t.target,e.target)};function vt(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}function Hn(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"}function uM(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}function Ld(t){return typeof t=="object"&&t!==null&&vt(t.container)&&Hn(t.reference)&&typeof t.message=="string"}class FD{constructor(){this.subtypes={},this.allSubtypes={}}isInstance(e,n){return vt(e)&&this.isSubtype(e.$type,n)}isSubtype(e,n){if(e===n)return!0;let r=this.subtypes[e];r||(r=this.subtypes[e]={});const i=r[n];if(i!==void 0)return i;{const s=this.computeIsSubtype(e,n);return r[n]=s,s}}getAllSubTypes(e){const n=this.allSubtypes[e];if(n)return n;{const r=this.getAllTypes(),i=[];for(const s of r)this.isSubtype(s,e)&&i.push(s);return this.allSubtypes[e]=i,i}}}function ri(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}function Cs(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}function MD(t){return ri(t)&&typeof t.fullText=="string"}class It{constructor(e,n){this.startFn=e,this.nextFn=n}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){const e=this.iterator();let n=0,r=e.next();for(;!r.done;)n++,r=e.next();return n}toArray(){const e=[],n=this.iterator();let r;do r=n.next(),r.value!==void 0&&e.push(r.value);while(!r.done);return e}toSet(){return new Set(this)}toMap(e,n){const r=this.map(i=>[e?e(i):i,n?n(i):i]);return new Map(r)}toString(){return this.join()}concat(e){return new It(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),n=>{let r;if(!n.firstDone){do if(r=this.nextFn(n.first),!r.done)return r;while(!r.done);n.firstDone=!0}do if(r=n.iterator.next(),!r.done)return r;while(!r.done);return Xt})}join(e=","){const n=this.iterator();let r="",i,s=!1;do i=n.next(),i.done||(s&&(r+=e),r+=lM(i.value)),s=!0;while(!i.done);return r}indexOf(e,n=0){const r=this.iterator();let i=0,s=r.next();for(;!s.done;){if(i>=n&&s.value===e)return i;s=r.next(),i++}return-1}every(e){const n=this.iterator();let r=n.next();for(;!r.done;){if(!e(r.value))return!1;r=n.next()}return!0}some(e){const n=this.iterator();let r=n.next();for(;!r.done;){if(e(r.value))return!0;r=n.next()}return!1}forEach(e){const n=this.iterator();let r=0,i=n.next();for(;!i.done;)e(i.value,r),i=n.next(),r++}map(e){return new It(this.startFn,n=>{const{done:r,value:i}=this.nextFn(n);return r?Xt:{done:!1,value:e(i)}})}filter(e){return new It(this.startFn,n=>{let r;do if(r=this.nextFn(n),!r.done&&e(r.value))return r;while(!r.done);return Xt})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,n){const r=this.iterator();let i=n,s=r.next();for(;!s.done;)i===void 0?i=s.value:i=e(i,s.value),s=r.next();return i}reduceRight(e,n){return this.recursiveReduce(this.iterator(),e,n)}recursiveReduce(e,n,r){const i=e.next();if(i.done)return r;const s=this.recursiveReduce(e,n,r);return s===void 0?i.value:n(s,i.value)}find(e){const n=this.iterator();let r=n.next();for(;!r.done;){if(e(r.value))return r.value;r=n.next()}}findIndex(e){const n=this.iterator();let r=0,i=n.next();for(;!i.done;){if(e(i.value))return r;i=n.next(),r++}return-1}includes(e){const n=this.iterator();let r=n.next();for(;!r.done;){if(r.value===e)return!0;r=n.next()}return!1}flatMap(e){return new It(()=>({this:this.startFn()}),n=>{do{if(n.iterator){const s=n.iterator.next();if(s.done)n.iterator=void 0;else return s}const{done:r,value:i}=this.nextFn(n.this);if(!r){const s=e(i);if(Fd(s))n.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}}while(n.iterator);return Xt})}flat(e){if(e===void 0&&(e=1),e<=0)return this;const n=e>1?this.flat(e-1):this;return new It(()=>({this:n.startFn()}),r=>{do{if(r.iterator){const o=r.iterator.next();if(o.done)r.iterator=void 0;else return o}const{done:i,value:s}=n.nextFn(r.this);if(!i)if(Fd(s))r.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}while(r.iterator);return Xt})}head(){const n=this.iterator().next();if(!n.done)return n.value}tail(e=1){return new It(()=>{const n=this.startFn();for(let r=0;r<e;r++)if(this.nextFn(n).done)return n;return n},this.nextFn)}limit(e){return new It(()=>({size:0,state:this.startFn()}),n=>(n.size++,n.size>e?Xt:this.nextFn(n.state)))}distinct(e){return new It(()=>({set:new Set,internalState:this.startFn()}),n=>{let r;do if(r=this.nextFn(n.internalState),!r.done){const i=e?e(r.value):r.value;if(!n.set.has(i))return n.set.add(i),r}while(!r.done);return Xt})}exclude(e,n){const r=new Set;for(const i of e){const s=n?n(i):i;r.add(s)}return this.filter(i=>{const s=n?n(i):i;return!r.has(s)})}}function lM(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function Fd(t){return!!t&&typeof t[Symbol.iterator]=="function"}const Lo=new It(()=>{},()=>Xt),Xt=Object.freeze({done:!0,value:void 0});function Qe(...t){if(t.length===1){const e=t[0];if(e instanceof It)return e;if(Fd(e))return new It(()=>e[Symbol.iterator](),n=>n.next());if(typeof e.length=="number")return new It(()=>({index:0}),n=>n.index<e.length?{done:!1,value:e[n.index++]}:Xt)}return t.length>1?new It(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){const n=e.iterator.next();if(!n.done)return n;e.iterator=void 0}if(e.array){if(e.arrIndex<e.array.length)return{done:!1,value:e.array[e.arrIndex++]};e.array=void 0,e.arrIndex=0}if(e.collIndex<t.length){const n=t[e.collIndex++];Fd(n)?e.iterator=n[Symbol.iterator]():n&&typeof n.length=="number"&&(e.array=n)}}while(e.iterator||e.array||e.collIndex<t.length);return Xt}):Lo}class Fo extends It{constructor(e,n,r){super(()=>({iterators:r?.includeRoot?[[e][Symbol.iterator]()]:[n(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){const o=i.iterators[i.iterators.length-1].next();if(o.done)i.iterators.pop();else return i.iterators.push(n(o.value)[Symbol.iterator]()),o}return Xt})}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}}var ig;(function(t){function e(s){return s.reduce((o,a)=>o+a,0)}t.sum=e;function n(s){return s.reduce((o,a)=>o*a,0)}t.product=n;function r(s){return s.reduce((o,a)=>Math.min(o,a))}t.min=r;function i(s){return s.reduce((o,a)=>Math.max(o,a))}t.max=i})(ig||(ig={}));function Va(t){return new Fo(t,e=>ri(e)?e.content:[],{includeRoot:!0})}function zD(t){return Va(t).filter(Cs)}function BD(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}function Md(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function Ka(t){if(!t)return;const{offset:e,end:n,range:r}=t;return{range:r,offset:e,end:n,length:n-e}}var _r;(function(t){t[t.Before=0]="Before",t[t.After=1]="After",t[t.OverlapFront=2]="OverlapFront",t[t.OverlapBack=3]="OverlapBack",t[t.Inside=4]="Inside",t[t.Outside=5]="Outside"})(_r||(_r={}));function qD(t,e){if(t.end.line<e.start.line||t.end.line===e.start.line&&t.end.character<=e.start.character)return _r.Before;if(t.start.line>e.end.line||t.start.line===e.end.line&&t.start.character>=e.end.character)return _r.After;const n=t.start.line>e.start.line||t.start.line===e.start.line&&t.start.character>=e.start.character,r=t.end.line<e.end.line||t.end.line===e.end.line&&t.end.character<=e.end.character;return n&&r?_r.Inside:n?_r.OverlapBack:r?_r.OverlapFront:_r.Outside}function sg(t,e){return qD(t,e)>_r.After}const og=/^[\w\p{L}]$/u;function Fi(t,e,n=og){if(t){if(e>0){const r=e-t.offset,i=t.text.charAt(r);n.test(i)||e--}return cg(t,e)}}function zd(t,e){if(t){const n=UD(t,!0);if(n&&ag(n,e))return n;if(MD(t)){const r=t.content.findIndex(i=>!i.hidden);for(let i=r-1;i>=0;i--){const s=t.content[i];if(ag(s,e))return s}}}}function ag(t,e){return Cs(t)&&e.includes(t.tokenType.name)}function cg(t,e){if(Cs(t))return t;if(ri(t)){const n=jD(t,e,!1);if(n)return cg(n,e)}}function Bd(t,e){if(Cs(t))return t;if(ri(t)){const n=jD(t,e,!0);if(n)return Bd(n,e)}}function jD(t,e,n){let r=0,i=t.content.length-1,s;for(;r<=i;){const o=Math.floor((r+i)/2),a=t.content[o];if(a.offset<=e&&a.end>e)return a;a.end<=e?(s=n?a:void 0,r=o+1):i=o-1}return s}function UD(t,e=!0){for(;t.container;){const n=t.container;let r=n.content.indexOf(t);for(;r>0;){r--;const i=n.content[r];if(e||!i.hidden)return i}t=n}}function GD(t,e=!0){for(;t.container;){const n=t.container;let r=n.content.indexOf(t);const i=n.content.length-1;for(;r<i;){r++;const s=n.content[r];if(e||!s.hidden)return s}t=n}}function dM(t){if(t.range.start.character===0)return t;const e=t.range.start.line;let n=t,r;for(;t.container;){const i=t.container,s=r??i.content.indexOf(t);if(s===0?(t=i,r=void 0):(r=s-1,t=i.content[r]),t.range.start.line!==e)break;n=t}return n}function WD(t,e){const n=fM(t,e);return n?n.parent.content.slice(n.a+1,n.b):[]}function fM(t,e){const n=HD(t),r=HD(e);let i;for(let s=0;s<n.length&&s<r.length;s++){const o=n[s],a=r[s];if(o.parent===a.parent)i={parent:o.parent,a:o.index,b:a.index};else break}return i}function HD(t){const e=[];for(;t.container;){const n=t.container,r=n.content.indexOf(t);e.push({parent:n,index:r}),t=n}return e.reverse()}const hM={__proto__:null,DefaultNameRegexp:og,get RangeComparison(){return _r},compareRange:qD,findCommentNode:zd,findDeclarationNodeAtOffset:Fi,findLeafNodeAtOffset:cg,findLeafNodeBeforeOffset:Bd,flattenCst:zD,getInteriorNodes:WD,getNextNode:GD,getPreviousNode:UD,getStartlineNode:dM,inRange:sg,isChildNode:BD,isCommentNode:ag,streamCst:Va,toDocumentSegment:Ka,tokenToRange:Md};class VD extends Error{constructor(e,n){super(e?`${n} at ${e.range.start.line}:${e.range.start.character}`:n)}}function qd(t){throw new Error("Error! The input value was not handled.")}const jd="AbstractRule",Ud="AbstractType",ug="Condition",KD="TypeDefinition",lg="ValueLiteral",Ya="AbstractElement";function dg(t){return ze.isInstance(t,Ya)}const Gd="ArrayLiteral",Xa="ArrayType";function pM(t){return ze.isInstance(t,Xa)}const Ja="BooleanLiteral";function mM(t){return ze.isInstance(t,Ja)}const Za="Conjunction";function gM(t){return ze.isInstance(t,Za)}const Qa="Disjunction";function yM(t){return ze.isInstance(t,Qa)}const Wd="Grammar",fg="GrammarImport",ec="InferredType";function YD(t){return ze.isInstance(t,ec)}const tc="Interface";function XD(t){return ze.isInstance(t,tc)}const hg="NamedArgument",nc="Negation";function vM(t){return ze.isInstance(t,nc)}const Hd="NumberLiteral",Vd="Parameter",rc="ParameterReference";function wM(t){return ze.isInstance(t,rc)}const ic="ParserRule";function Jt(t){return ze.isInstance(t,ic)}const sc="ReferenceType";function bM(t){return ze.isInstance(t,sc)}const Kd="ReturnType";function EM(t){return ze.isInstance(t,Kd)}const oc="SimpleType";function JD(t){return ze.isInstance(t,oc)}const Yd="StringLiteral",Mo="TerminalRule";function ii(t){return ze.isInstance(t,Mo)}const ac="Type";function pg(t){return ze.isInstance(t,ac)}const mg="TypeAttribute",cc="UnionType";function DM(t){return ze.isInstance(t,cc)}const uc="Action";function _s(t){return ze.isInstance(t,uc)}const lc="Alternatives";function gg(t){return ze.isInstance(t,lc)}const dc="Assignment";function Ar(t){return ze.isInstance(t,dc)}const fc="CharacterRange";function TM(t){return ze.isInstance(t,fc)}const hc="CrossReference";function pc(t){return ze.isInstance(t,hc)}const mc="EndOfFile";function RM(t){return ze.isInstance(t,mc)}const gc="Group";function Mi(t){return ze.isInstance(t,gc)}const yc="Keyword";function xr(t){return ze.isInstance(t,yc)}const vc="NegatedToken";function SM(t){return ze.isInstance(t,vc)}const wc="RegexToken";function kM(t){return ze.isInstance(t,wc)}const bc="RuleCall";function si(t){return ze.isInstance(t,bc)}const Ec="TerminalAlternatives";function $M(t){return ze.isInstance(t,Ec)}const Dc="TerminalGroup";function CM(t){return ze.isInstance(t,Dc)}const Tc="TerminalRuleCall";function ZD(t){return ze.isInstance(t,Tc)}const Rc="UnorderedGroup";function yg(t){return ze.isInstance(t,Rc)}const Sc="UntilToken";function _M(t){return ze.isInstance(t,Sc)}const kc="Wildcard";function AM(t){return ze.isInstance(t,kc)}class QD extends FD{getAllTypes(){return[Ya,jd,Ud,uc,lc,Gd,Xa,dc,Ja,fc,ug,Za,hc,Qa,mc,Wd,fg,gc,ec,tc,yc,hg,vc,nc,Hd,Vd,rc,ic,sc,wc,Kd,bc,oc,Yd,Ec,Dc,Mo,Tc,ac,mg,KD,cc,Rc,Sc,lg,kc]}computeIsSubtype(e,n){switch(e){case uc:case lc:case dc:case fc:case hc:case mc:case gc:case yc:case vc:case wc:case bc:case Ec:case Dc:case Tc:case Rc:case Sc:case kc:return this.isSubtype(Ya,n);case Gd:case Hd:case Yd:return this.isSubtype(lg,n);case Xa:case sc:case oc:case cc:return this.isSubtype(KD,n);case Ja:return this.isSubtype(ug,n)||this.isSubtype(lg,n);case Za:case Qa:case nc:case rc:return this.isSubtype(ug,n);case ec:case tc:case ac:return this.isSubtype(Ud,n);case ic:return this.isSubtype(jd,n)||this.isSubtype(Ud,n);case Mo:return this.isSubtype(jd,n);default:return!1}}getReferenceType(e){const n=`${e.container.$type}:${e.property}`;switch(n){case"Action:type":case"CrossReference:type":case"Interface:superTypes":case"ParserRule:returnType":case"SimpleType:typeRef":return Ud;case"Grammar:hiddenTokens":case"ParserRule:hiddenTokens":case"RuleCall:rule":return jd;case"Grammar:usedGrammars":return Wd;case"NamedArgument:parameter":case"ParameterReference:parameter":return Vd;case"TerminalRuleCall:rule":return Mo;default:throw new Error(`${n} is not a valid reference id.`)}}getTypeMetaData(e){switch(e){case Ya:return{name:Ya,properties:[{name:"cardinality"},{name:"lookahead"}]};case Gd:return{name:Gd,properties:[{name:"elements",defaultValue:[]}]};case Xa:return{name:Xa,properties:[{name:"elementType"}]};case Ja:return{name:Ja,properties:[{name:"true",defaultValue:!1}]};case Za:return{name:Za,properties:[{name:"left"},{name:"right"}]};case Qa:return{name:Qa,properties:[{name:"left"},{name:"right"}]};case Wd:return{name:Wd,properties:[{name:"definesHiddenTokens",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"imports",defaultValue:[]},{name:"interfaces",defaultValue:[]},{name:"isDeclared",defaultValue:!1},{name:"name"},{name:"rules",defaultValue:[]},{name:"types",defaultValue:[]},{name:"usedGrammars",defaultValue:[]}]};case fg:return{name:fg,properties:[{name:"path"}]};case ec:return{name:ec,properties:[{name:"name"}]};case tc:return{name:tc,properties:[{name:"attributes",defaultValue:[]},{name:"name"},{name:"superTypes",defaultValue:[]}]};case hg:return{name:hg,properties:[{name:"calledByName",defaultValue:!1},{name:"parameter"},{name:"value"}]};case nc:return{name:nc,properties:[{name:"value"}]};case Hd:return{name:Hd,properties:[{name:"value"}]};case Vd:return{name:Vd,properties:[{name:"name"}]};case rc:return{name:rc,properties:[{name:"parameter"}]};case ic:return{name:ic,properties:[{name:"dataType"},{name:"definesHiddenTokens",defaultValue:!1},{name:"definition"},{name:"entry",defaultValue:!1},{name:"fragment",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"inferredType"},{name:"name"},{name:"parameters",defaultValue:[]},{name:"returnType"},{name:"wildcard",defaultValue:!1}]};case sc:return{name:sc,properties:[{name:"referenceType"}]};case Kd:return{name:Kd,properties:[{name:"name"}]};case oc:return{name:oc,properties:[{name:"primitiveType"},{name:"stringType"},{name:"typeRef"}]};case Yd:return{name:Yd,properties:[{name:"value"}]};case Mo:return{name:Mo,properties:[{name:"definition"},{name:"fragment",defaultValue:!1},{name:"hidden",defaultValue:!1},{name:"name"},{name:"type"}]};case ac:return{name:ac,properties:[{name:"name"},{name:"type"}]};case mg:return{name:mg,properties:[{name:"defaultValue"},{name:"isOptional",defaultValue:!1},{name:"name"},{name:"type"}]};case cc:return{name:cc,properties:[{name:"types",defaultValue:[]}]};case uc:return{name:uc,properties:[{name:"cardinality"},{name:"feature"},{name:"inferredType"},{name:"lookahead"},{name:"operator"},{name:"type"}]};case lc:return{name:lc,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case dc:return{name:dc,properties:[{name:"cardinality"},{name:"feature"},{name:"lookahead"},{name:"operator"},{name:"terminal"}]};case fc:return{name:fc,properties:[{name:"cardinality"},{name:"left"},{name:"lookahead"},{name:"right"}]};case hc:return{name:hc,properties:[{name:"cardinality"},{name:"deprecatedSyntax",defaultValue:!1},{name:"lookahead"},{name:"terminal"},{name:"type"}]};case mc:return{name:mc,properties:[{name:"cardinality"},{name:"lookahead"}]};case gc:return{name:gc,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"guardCondition"},{name:"lookahead"}]};case yc:return{name:yc,properties:[{name:"cardinality"},{name:"lookahead"},{name:"value"}]};case vc:return{name:vc,properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case wc:return{name:wc,properties:[{name:"cardinality"},{name:"lookahead"},{name:"regex"}]};case bc:return{name:bc,properties:[{name:"arguments",defaultValue:[]},{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case Ec:return{name:Ec,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case Dc:return{name:Dc,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case Tc:return{name:Tc,properties:[{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case Rc:return{name:Rc,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case Sc:return{name:Sc,properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case kc:return{name:kc,properties:[{name:"cardinality"},{name:"lookahead"}]};default:return{name:e,properties:[]}}}}const ze=new QD;function vg(t){for(const[e,n]of Object.entries(t))e.startsWith("$")||(Array.isArray(n)?n.forEach((r,i)=>{vt(r)&&(r.$container=t,r.$containerProperty=e,r.$containerIndex=i)}):vt(n)&&(n.$container=t,n.$containerProperty=e))}function wn(t,e){let n=t;for(;n;){if(e(n))return n;n=n.$container}}function $c(t,e){let n=t;for(;n;){if(e(n))return!0;n=n.$container}return!1}function sn(t){const n=Xd(t).$document;if(!n)throw new Error("AST node has no document.");return n}function Xd(t){for(;t.$container;)t=t.$container;return t}function Cc(t,e){if(!t)throw new Error("Node must be an AstNode.");const n=e?.range;return new It(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),r=>{for(;r.keyIndex<r.keys.length;){const i=r.keys[r.keyIndex];if(!i.startsWith("$")){const s=t[i];if(vt(s)){if(r.keyIndex++,wg(s,n))return{done:!1,value:s}}else if(Array.isArray(s)){for(;r.arrayIndex<s.length;){const o=r.arrayIndex++,a=s[o];if(vt(a)&&wg(a,n))return{done:!1,value:a}}r.arrayIndex=0}}r.keyIndex++}return Xt})}function Ir(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new Fo(t,n=>Cc(n,e))}function oi(t,e){if(t){if(e?.range&&!wg(t,e.range))return new Fo(t,()=>[])}else throw new Error("Root node must be an AstNode.");return new Fo(t,n=>Cc(n,e),{includeRoot:!0})}function wg(t,e){var n;if(!e)return!0;const r=(n=t.$cstNode)===null||n===void 0?void 0:n.range;return r?sg(r,e):!1}function Jd(t){return new It(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndex<e.keys.length;){const n=e.keys[e.keyIndex];if(!n.startsWith("$")){const r=t[n];if(Hn(r))return e.keyIndex++,{done:!1,value:{reference:r,container:t,property:n}};if(Array.isArray(r)){for(;e.arrayIndex<r.length;){const i=e.arrayIndex++,s=r[i];if(Hn(s))return{done:!1,value:{reference:s,container:t,property:n,index:i}}}e.arrayIndex=0}}e.keyIndex++}return Xt})}function xM(t,e=sn(t).parseResult.value){const n=[];return oi(e).forEach(r=>{Jd(r).forEach(i=>{i.reference.ref===t&&n.push(i.reference)})}),Qe(n)}function bg(t,e){const n=t.getTypeMetaData(e.$type),r=e;for(const i of n.properties)i.defaultValue!==void 0&&r[i.name]===void 0&&(r[i.name]=eT(i.defaultValue))}function eT(t){return Array.isArray(t)?[...t.map(eT)]:t}function Eg(t,e){const n={$type:t.$type};for(const[r,i]of Object.entries(t))if(!r.startsWith("$"))if(vt(i))n[r]=Eg(i,e);else if(Hn(i))n[r]=e(n,r,i.$refNode,i.$refText);else if(Array.isArray(i)){const s=[];for(const o of i)vt(o)?s.push(Eg(o,e)):Hn(o)?s.push(e(n,r,o.$refNode,o.$refText)):s.push(o);n[r]=s}else n[r]=i;return vg(n),n}const Zd={__proto__:null,assignMandatoryProperties:bg,copyAstNode:Eg,findLocalReferences:xM,findRootNode:Xd,getContainerOfType:wn,getDocument:sn,hasContainerOfType:$c,linkContentToContainer:vg,streamAllContents:Ir,streamAst:oi,streamContents:Cc,streamReferences:Jd};function De(t){return t.charCodeAt(0)}function Dg(t,e){Array.isArray(t)?t.forEach(function(n){e.push(n)}):e.push(t)}function _c(t,e){if(t[e]===!0)throw"duplicate flag "+e;t[e],t[e]=!0}function zo(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}function IM(){throw Error("Internal Error - Should never get here!")}function tT(t){return t.type==="Character"}const Qd=[];for(let t=De("0");t<=De("9");t++)Qd.push(t);const ef=[De("_")].concat(Qd);for(let t=De("a");t<=De("z");t++)ef.push(t);for(let t=De("A");t<=De("Z");t++)ef.push(t);const nT=[De(" "),De("\f"),De(`
2
- `),De("\r"),De(" "),De("\v"),De(" "),De("\xA0"),De("\u1680"),De("\u2000"),De("\u2001"),De("\u2002"),De("\u2003"),De("\u2004"),De("\u2005"),De("\u2006"),De("\u2007"),De("\u2008"),De("\u2009"),De("\u200A"),De("\u2028"),De("\u2029"),De("\u202F"),De("\u205F"),De("\u3000"),De("\uFEFF")],PM=/[0-9a-fA-F]/,tf=/[0-9]/,NM=/[1-9]/;class rT{constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");const n=this.disjunction();this.consumeChar("/");const r={type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":_c(r,"global");break;case"i":_c(r,"ignoreCase");break;case"m":_c(r,"multiLine");break;case"u":_c(r,"unicode");break;case"y":_c(r,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:r,value:n,loc:this.loc(0)}}disjunction(){const e=[],n=this.idx;for(e.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(n)}}alternative(){const e=[],n=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(n)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){const e=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(e)};case"$":return{type:"EndAnchor",loc:this.loc(e)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(e)};case"B":return{type:"NonWordBoundary",loc:this.loc(e)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");let n;switch(this.popChar()){case"=":n="Lookahead";break;case"!":n="NegativeLookahead";break}zo(n);const r=this.disjunction();return this.consumeChar(")"),{type:n,value:r,loc:this.loc(e)}}return IM()}quantifier(e=!1){let n;const r=this.idx;switch(this.popChar()){case"*":n={atLeast:0,atMost:1/0};break;case"+":n={atLeast:1,atMost:1/0};break;case"?":n={atLeast:0,atMost:1};break;case"{":const i=this.integerIncludingZero();switch(this.popChar()){case"}":n={atLeast:i,atMost:i};break;case",":let s;this.isDigit()?(s=this.integerIncludingZero(),n={atLeast:i,atMost:s}):n={atLeast:i,atMost:1/0},this.consumeChar("}");break}if(e===!0&&n===void 0)return;zo(n);break}if(!(e===!0&&n===void 0)&&zo(n))return this.peekChar(0)==="?"?(this.consumeChar("?"),n.greedy=!1):n.greedy=!0,n.type="Quantifier",n.loc=this.loc(r),n}atom(){let e;const n=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group();break}if(e===void 0&&this.isPatternCharacter()&&(e=this.patternCharacter()),zo(e))return e.loc=this.loc(n),this.isQuantifier()&&(e.quantifier=this.quantifier()),e}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[De(`
3
- `),De("\r"),De("\u2028"),De("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,n=!1;switch(this.popChar()){case"d":e=Qd;break;case"D":e=Qd,n=!0;break;case"s":e=nT;break;case"S":e=nT,n=!0;break;case"w":e=ef;break;case"W":e=ef,n=!0;break}if(zo(e))return{type:"Set",value:e,complement:n}}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=De("\f");break;case"n":e=De(`
4
- `);break;case"r":e=De("\r");break;case"t":e=De(" ");break;case"v":e=De("\v");break}if(zo(e))return{type:"Character",value:e}}controlLetterEscapeAtom(){this.consumeChar("c");const e=this.popChar();if(/[a-zA-Z]/.test(e)===!1)throw Error("Invalid ");return{type:"Character",value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:De("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){const e=this.popChar();return{type:"Character",value:De(e)}}classPatternCharacterAtom(){switch(this.peekChar()){case`
5
- `:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:const e=this.popChar();return{type:"Character",value:De(e)}}}characterClass(){const e=[];let n=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),n=!0);this.isClassAtom();){const r=this.classAtom();if(r.type,tT(r)&&this.isRangeDash()){this.consumeChar("-");const i=this.classAtom();if(i.type,tT(i)){if(i.value<r.value)throw Error("Range out of order in character class");e.push({from:r.value,to:i.value})}else Dg(r.value,e),e.push(De("-")),Dg(i.value,e)}else Dg(r.value,e)}return this.consumeChar("]"),{type:"Set",complement:n,value:e}}classAtom(){switch(this.peekChar()){case"]":case`
6
- `:case"\r":case"\u2028":case"\u2029":throw Error("TBD");case"\\":return this.classEscape();default:return this.classPatternCharacterAtom()}}classEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"b":return this.consumeChar("b"),{type:"Character",value:De("\b")};case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}group(){let e=!0;switch(this.consumeChar("("),this.peekChar(0)){case"?":this.consumeChar("?"),this.consumeChar(":"),e=!1;break;default:this.groupIdx++;break}const n=this.disjunction();this.consumeChar(")");const r={type:"Group",capturing:e,value:n};return e&&(r.idx=this.groupIdx),r}positiveInteger(){let e=this.popChar();if(NM.test(e)===!1)throw Error("Expecting a positive integer");for(;tf.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}integerIncludingZero(){let e=this.popChar();if(tf.test(e)===!1)throw Error("Expecting an integer");for(;tf.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}patternCharacter(){const e=this.popChar();switch(e){case`
7
- `:case"\r":case"\u2028":case"\u2029":case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":throw Error("TBD");default:return{type:"Character",value:De(e)}}}isRegExpFlag(){switch(this.peekChar(0)){case"g":case"i":case"m":case"u":case"y":return!0;default:return!1}}isRangeDash(){return this.peekChar()==="-"&&this.isClassAtom(1)}isDigit(){return tf.test(this.peekChar(0))}isClassAtom(e=0){switch(this.peekChar(e)){case"]":case`
8
- `:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}isTerm(){return this.isAtom()||this.isAssertion()}isAtom(){if(this.isPatternCharacter())return!0;switch(this.peekChar(0)){case".":case"\\":case"[":case"(":return!0;default:return!1}}isAssertion(){switch(this.peekChar(0)){case"^":case"$":return!0;case"\\":switch(this.peekChar(1)){case"b":case"B":return!0;default:return!1}case"(":return this.peekChar(1)==="?"&&(this.peekChar(2)==="="||this.peekChar(2)==="!");default:return!1}}isQuantifier(){const e=this.saveState();try{return this.quantifier(!0)!==void 0}catch{return!1}finally{this.restoreState(e)}}isPatternCharacter(){switch(this.peekChar()){case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":case"/":case`
9
- `:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}parseHexDigits(e){let n="";for(let i=0;i<e;i++){const s=this.popChar();if(PM.test(s)===!1)throw Error("Expecting a HexDecimal digits");n+=s}return{type:"Character",value:parseInt(n,16)}}peekChar(e=0){return this.input[this.idx+e]}popChar(){const e=this.peekChar(0);return this.consumeChar(void 0),e}consumeChar(e){if(e!==void 0&&this.input[this.idx]!==e)throw Error("Expected: '"+e+"' but found: '"+this.input[this.idx]+"' at offset: "+this.idx);if(this.idx>=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}}class nf{visitChildren(e){for(const n in e){const r=e[n];e.hasOwnProperty(n)&&(r.type!==void 0?this.visit(r):Array.isArray(r)&&r.forEach(i=>{this.visit(i)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"Character":this.visitCharacter(e);break;case"Set":this.visitSet(e);break;case"Group":this.visitGroup(e);break;case"GroupBackReference":this.visitGroupBackReference(e);break;case"Quantifier":this.visitQuantifier(e);break}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}}const iT=/\r?\n/gm,OM=new rT;class LM extends nf{constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(e){this.multiline=!1,this.regex=e,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(e){e.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(e){const n=String.fromCharCode(e.value);if(!this.multiline&&n===`
10
- `&&(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const r=rf(n);this.endRegexpStack.push(r),this.isStarting&&(this.startRegexp+=r)}}visitSet(e){if(!this.multiline){const n=this.regex.substring(e.loc.begin,e.loc.end),r=new RegExp(n);this.multiline=!!`
11
- `.match(r)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const n=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(n),this.isStarting&&(this.startRegexp+=n)}}visitChildren(e){e.type==="Group"&&e.quantifier||super.visitChildren(e)}}const Tg=new LM;function FM(t){try{return typeof t=="string"&&(t=new RegExp(t)),t=t.toString(),Tg.reset(t),Tg.visit(OM.pattern(t)),Tg.multiline}catch{return!1}}const MM=`\f
12
- \r \v \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF`.split("");function Rg(t){const e=typeof t=="string"?new RegExp(t):t;return MM.some(n=>e.test(n))}function rf(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function zM(t){return Array.prototype.map.call(t,e=>/\w/.test(e)?`[${e.toLowerCase()}${e.toUpperCase()}]`:rf(e)).join("")}function BM(t,e){const n=qM(t),r=e.match(n);return!!r&&r[0].length>0}function qM(t){typeof t=="string"&&(t=new RegExp(t));const e=t,n=t.source;let r=0;function i(){let s="",o;function a(u){s+=n.substr(r,u),r+=u}function c(u){s+="(?:"+n.substr(r,u)+"|$)",r+=u}for(;r<n.length;)switch(n[r]){case"\\":switch(n[r+1]){case"c":c(3);break;case"x":c(4);break;case"u":e.unicode?n[r+2]==="{"?c(n.indexOf("}",r)-r+1):c(6):c(2);break;case"p":case"P":e.unicode?c(n.indexOf("}",r)-r+1):c(2);break;case"k":c(n.indexOf(">",r)-r+1);break;default:c(2);break}break;case"[":o=/\[(?:\\.|.)*?\]/g,o.lastIndex=r,o=o.exec(n)||[],c(o[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":a(1);break;case"{":o=/\{\d+,?\d*\}/g,o.lastIndex=r,o=o.exec(n),o?a(o[0].length):c(1);break;case"(":if(n[r+1]==="?")switch(n[r+2]){case":":s+="(?:",r+=3,s+=i()+"|$)";break;case"=":s+="(?=",r+=3,s+=i()+")";break;case"!":o=r,r+=3,i(),s+=n.substr(o,r-o);break;case"<":switch(n[r+3]){case"=":case"!":o=r,r+=4,i(),s+=n.substr(o,r-o);break;default:a(n.indexOf(">",r)-r+1),s+=i()+"|$)";break}break}else a(1),s+=i()+"|$)";break;case")":return++r,s;default:c(1);break}return s}return new RegExp(i(),t.flags)}function sf(t){return t.rules.find(e=>Jt(e)&&e.entry)}function sT(t){return t.rules.filter(e=>ii(e)&&e.hidden)}function Sg(t,e){const n=new Set,r=sf(t);if(!r)return new Set(t.rules);const i=[r].concat(sT(t));for(const o of i)oT(o,n,e);const s=new Set;for(const o of t.rules)(n.has(o.name)||ii(o)&&o.hidden)&&s.add(o);return s}function oT(t,e,n){e.add(t.name),Ir(t).forEach(r=>{if(si(r)||n&&ZD(r)){const i=r.rule.ref;i&&!e.has(i.name)&&oT(i,e,n)}})}function kg(t){if(t.terminal)return t.terminal;if(t.type.ref){const e=Ag(t.type.ref);return e?.terminal}}function aT(t){return t.hidden&&!Rg(Ic(t))}function Bo(t,e){return!t||!e?[]:$g(t,e,t.astNode,!0)}function An(t,e,n){if(!t||!e)return;const r=$g(t,e,t.astNode,!0);if(r.length!==0)return n!==void 0?n=Math.max(0,Math.min(n,r.length-1)):n=0,r[n]}function $g(t,e,n,r){if(!r){const i=wn(t.grammarSource,Ar);if(i&&i.feature===e)return[t]}return ri(t)&&t.astNode===n?t.content.flatMap(i=>$g(i,e,n,!1)):[]}function Cg(t,e){return t?_g(t,e,t?.astNode):[]}function Ac(t,e,n){if(!t)return;const r=_g(t,e,t?.astNode);if(r.length!==0)return n!==void 0?n=Math.max(0,Math.min(n,r.length-1)):n=0,r[n]}function _g(t,e,n){if(t.astNode!==n)return[];if(xr(t.grammarSource)&&t.grammarSource.value===e)return[t];const r=Va(t).iterator();let i;const s=[];do if(i=r.next(),!i.done){const o=i.value;o.astNode===n?xr(o.grammarSource)&&o.grammarSource.value===e&&s.push(o):r.prune()}while(!i.done);return s}function cT(t){var e;const n=t.astNode;for(;n===((e=t.container)===null||e===void 0?void 0:e.astNode);){const r=wn(t.grammarSource,Ar);if(r)return r;t=t.container}}function Ag(t){let e=t;return YD(e)&&(_s(e.$container)?e=e.$container.$container:Jt(e.$container)?e=e.$container:qd(e.$container)),uT(t,e,new Map)}function uT(t,e,n){var r;function i(s,o){let a;return wn(s,Ar)||(a=uT(o,o,n)),n.set(t,a),a}if(n.has(t))return n.get(t);n.set(t,void 0);for(const s of Ir(e)){if(Ar(s)&&s.feature.toLowerCase()==="name")return n.set(t,s),s;if(si(s)&&Jt(s.rule.ref))return i(s,s.rule.ref);if(JD(s)&&(!((r=s.typeRef)===null||r===void 0)&&r.ref))return i(s,s.typeRef.ref)}}function lT(t){const e=t.$container;if(Mi(e)){const n=e.elements,r=n.indexOf(t);for(let i=r-1;i>=0;i--){const s=n[i];if(_s(s))return s;{const o=Ir(n[i]).find(_s);if(o)return o}}}if(dg(e))return lT(e)}function qo(t,e){return t==="?"||t==="*"||Mi(e)&&!!e.guardCondition}function dT(t){return t==="*"||t==="+"}function jM(t){return t==="+="}function of(t){return fT(t,new Set)}function fT(t,e){if(e.has(t))return!0;e.add(t);for(const n of Ir(t))if(si(n)){if(!n.rule.ref||Jt(n.rule.ref)&&!fT(n.rule.ref,e))return!1}else{if(Ar(n))return!1;if(_s(n))return!1}return!!t.definition}function UM(t){return xg(t.type,new Set)}function xg(t,e){if(e.has(t))return!0;if(e.add(t),pM(t))return!1;if(bM(t))return!1;if(DM(t))return t.types.every(n=>xg(n,e));if(JD(t)){if(t.primitiveType!==void 0)return!0;if(t.stringType!==void 0)return!0;if(t.typeRef!==void 0){const n=t.typeRef.ref;return pg(n)?xg(n.type,e):!1}else return!1}else return!1}function As(t){if(t.inferredType)return t.inferredType.name;if(t.dataType)return t.dataType;if(t.returnType){const e=t.returnType.ref;if(e){if(Jt(e))return e.name;if(XD(e)||pg(e))return e.name}}}function xc(t){var e;if(Jt(t))return of(t)?t.name:(e=As(t))!==null&&e!==void 0?e:t.name;if(XD(t)||pg(t)||EM(t))return t.name;if(_s(t)){const n=hT(t);if(n)return n}else if(YD(t))return t.name;throw new Error("Cannot get name of Unknown Type")}function hT(t){var e;if(t.inferredType)return t.inferredType.name;if(!((e=t.type)===null||e===void 0)&&e.ref)return xc(t.type.ref)}function GM(t){var e,n,r;return ii(t)?(n=(e=t.type)===null||e===void 0?void 0:e.name)!==null&&n!==void 0?n:"string":of(t)?t.name:(r=As(t))!==null&&r!==void 0?r:t.name}function pT(t){var e,n,r;return ii(t)?(n=(e=t.type)===null||e===void 0?void 0:e.name)!==null&&n!==void 0?n:"string":(r=As(t))!==null&&r!==void 0?r:t.name}function Ic(t){const e={s:!1,i:!1,u:!1},n=jo(t.definition,e),r=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(n,r)}const Ig=/[\s\S]/.source;function jo(t,e){if($M(t))return WM(t);if(CM(t))return HM(t);if(TM(t))return YM(t);if(ZD(t)){const n=t.rule.ref;if(!n)throw new Error("Missing rule reference.");return ai(jo(n.definition),{cardinality:t.cardinality,lookahead:t.lookahead})}else{if(SM(t))return KM(t);if(_M(t))return VM(t);if(kM(t)){const n=t.regex.lastIndexOf("/"),r=t.regex.substring(1,n),i=t.regex.substring(n+1);return e&&(e.i=i.includes("i"),e.s=i.includes("s"),e.u=i.includes("u")),ai(r,{cardinality:t.cardinality,lookahead:t.lookahead,wrap:!1})}else{if(AM(t))return ai(Ig,{cardinality:t.cardinality,lookahead:t.lookahead});throw new Error(`Invalid terminal element: ${t?.$type}`)}}}function WM(t){return ai(t.elements.map(e=>jo(e)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead})}function HM(t){return ai(t.elements.map(e=>jo(e)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead})}function VM(t){return ai(`${Ig}*?${jo(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead})}function KM(t){return ai(`(?!${jo(t.terminal)})${Ig}*?`,{cardinality:t.cardinality,lookahead:t.lookahead})}function YM(t){return t.right?ai(`[${Pg(t.left)}-${Pg(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,wrap:!1}):ai(Pg(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,wrap:!1})}function Pg(t){return rf(t.value)}function ai(t,e){var n;return(e.wrap!==!1||e.lookahead)&&(t=`(${(n=e.lookahead)!==null&&n!==void 0?n:""}${t})`),e.cardinality?`${t}${e.cardinality}`:t}const af={__proto__:null,findAssignment:cT,findNameAssignment:Ag,findNodeForKeyword:Ac,findNodeForProperty:An,findNodesForKeyword:Cg,findNodesForKeywordInternal:_g,findNodesForProperty:Bo,getActionAtElement:lT,getActionType:hT,getAllReachableRules:Sg,getCrossReferenceTerminal:kg,getEntryRule:sf,getExplicitRuleType:As,getHiddenRules:sT,getRuleType:pT,getRuleTypeName:GM,getTypeName:xc,isArrayCardinality:dT,isArrayOperator:jM,isCommentTerminal:aT,isDataType:UM,isDataTypeRule:of,isOptionalCardinality:qo,terminalRegex:Ic};function XM(t){const e=[],n=t.Grammar;for(const r of n.rules)ii(r)&&aT(r)&&FM(Ic(r))&&e.push(r.name);return{multilineCommentRules:e,nameRegexp:og}}var mT=typeof global=="object"&&global&&global.Object===Object&&global,JM=typeof self=="object"&&self&&self.Object===Object&&self,Pr=mT||JM||Function("return this")(),Vn=Pr.Symbol,gT=Object.prototype,ZM=gT.hasOwnProperty,QM=gT.toString,Pc=Vn?Vn.toStringTag:void 0;function e3(t){var e=ZM.call(t,Pc),n=t[Pc];try{t[Pc]=void 0;var r=!0}catch{}var i=QM.call(t);return r&&(e?t[Pc]=n:delete t[Pc]),i}var t3=Object.prototype,n3=t3.toString;function r3(t){return n3.call(t)}var i3="[object Null]",s3="[object Undefined]",yT=Vn?Vn.toStringTag:void 0;function zi(t){return t==null?t===void 0?s3:i3:yT&&yT in Object(t)?e3(t):r3(t)}function ur(t){return t!=null&&typeof t=="object"}var o3="[object Symbol]";function Nc(t){return typeof t=="symbol"||ur(t)&&zi(t)==o3}function cf(t,e){for(var n=-1,r=t==null?0:t.length,i=Array(r);++n<r;)i[n]=e(t[n],n,t);return i}var Be=Array.isArray,a3=1/0,vT=Vn?Vn.prototype:void 0,wT=vT?vT.toString:void 0;function bT(t){if(typeof t=="string")return t;if(Be(t))return cf(t,bT)+"";if(Nc(t))return wT?wT.call(t):"";var e=t+"";return e=="0"&&1/t==-a3?"-0":e}var c3=/\s/;function u3(t){for(var e=t.length;e--&&c3.test(t.charAt(e)););return e}var l3=/^\s+/;function d3(t){return t&&t.slice(0,u3(t)+1).replace(l3,"")}function Kn(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var ET=NaN,f3=/^[-+]0x[0-9a-f]+$/i,h3=/^0b[01]+$/i,p3=/^0o[0-7]+$/i,m3=parseInt;function g3(t){if(typeof t=="number")return t;if(Nc(t))return ET;if(Kn(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=Kn(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=d3(t);var n=h3.test(t);return n||p3.test(t)?m3(t.slice(2),n?2:8):f3.test(t)?ET:+t}var DT=1/0,y3=17976931348623157e292;function v3(t){if(!t)return t===0?t:0;if(t=g3(t),t===DT||t===-DT){var e=t<0?-1:1;return e*y3}return t===t?t:0}function uf(t){var e=v3(t),n=e%1;return e===e?n?e-n:e:0}function xs(t){return t}var w3="[object AsyncFunction]",b3="[object Function]",E3="[object GeneratorFunction]",D3="[object Proxy]";function ci(t){if(!Kn(t))return!1;var e=zi(t);return e==b3||e==E3||e==w3||e==D3}var Ng=Pr["__core-js_shared__"],TT=function(){var t=/[^.]+$/.exec(Ng&&Ng.keys&&Ng.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}();function T3(t){return!!TT&&TT in t}var R3=Function.prototype,S3=R3.toString;function Is(t){if(t!=null){try{return S3.call(t)}catch{}try{return t+""}catch{}}return""}var k3=/[\\^$.*+?()[\]{}|]/g,$3=/^\[object .+?Constructor\]$/,C3=Function.prototype,_3=Object.prototype,A3=C3.toString,x3=_3.hasOwnProperty,I3=RegExp("^"+A3.call(x3).replace(k3,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function P3(t){if(!Kn(t)||T3(t))return!1;var e=ci(t)?I3:$3;return e.test(Is(t))}function N3(t,e){return t?.[e]}function Ps(t,e){var n=N3(t,e);return P3(n)?n:void 0}var Og=Ps(Pr,"WeakMap"),RT=Object.create,O3=function(){function t(){}return function(e){if(!Kn(e))return{};if(RT)return RT(e);t.prototype=e;var n=new t;return t.prototype=void 0,n}}();function L3(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}function Nt(){}function F3(t,e){var n=-1,r=t.length;for(e||(e=Array(r));++n<r;)e[n]=t[n];return e}var M3=800,z3=16,B3=Date.now;function q3(t){var e=0,n=0;return function(){var r=B3(),i=z3-(r-n);if(n=r,i>0){if(++e>=M3)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}function j3(t){return function(){return t}}var lf=function(){try{var t=Ps(Object,"defineProperty");return t({},"",{}),t}catch{}}(),U3=lf?function(t,e){return lf(t,"toString",{configurable:!0,enumerable:!1,value:j3(e),writable:!0})}:xs,G3=q3(U3);function ST(t,e){for(var n=-1,r=t==null?0:t.length;++n<r&&e(t[n],n,t)!==!1;);return t}function kT(t,e,n,r){for(var i=t.length,s=n+-1;++s<i;)if(e(t[s],s,t))return s;return-1}function W3(t){return t!==t}function H3(t,e,n){for(var r=n-1,i=t.length;++r<i;)if(t[r]===e)return r;return-1}function Lg(t,e,n){return e===e?H3(t,e,n):kT(t,W3,n)}function $T(t,e){var n=t==null?0:t.length;return!!n&&Lg(t,e,0)>-1}var V3=9007199254740991,K3=/^(?:0|[1-9]\d*)$/;function df(t,e){var n=typeof t;return e=e??V3,!!e&&(n=="number"||n!="symbol"&&K3.test(t))&&t>-1&&t%1==0&&t<e}function Fg(t,e,n){e=="__proto__"&&lf?lf(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}function Oc(t,e){return t===e||t!==t&&e!==e}var Y3=Object.prototype,X3=Y3.hasOwnProperty;function ff(t,e,n){var r=t[e];(!(X3.call(t,e)&&Oc(r,n))||n===void 0&&!(e in t))&&Fg(t,e,n)}function Mg(t,e,n,r){var i=!n;n||(n={});for(var s=-1,o=e.length;++s<o;){var a=e[s],c=void 0;c===void 0&&(c=t[a]),i?Fg(n,a,c):ff(n,a,c)}return n}var CT=Math.max;function J3(t,e,n){return e=CT(e===void 0?t.length-1:e,0),function(){for(var r=arguments,i=-1,s=CT(r.length-e,0),o=Array(s);++i<s;)o[i]=r[e+i];i=-1;for(var a=Array(e+1);++i<e;)a[i]=r[i];return a[e]=n(o),L3(t,this,a)}}function zg(t,e){return G3(J3(t,e,xs),t+"")}var Z3=9007199254740991;function Bg(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=Z3}function Nr(t){return t!=null&&Bg(t.length)&&!ci(t)}function _T(t,e,n){if(!Kn(n))return!1;var r=typeof e;return(r=="number"?Nr(n)&&df(e,n.length):r=="string"&&e in n)?Oc(n[e],t):!1}function Q3(t){return zg(function(e,n){var r=-1,i=n.length,s=i>1?n[i-1]:void 0,o=i>2?n[2]:void 0;for(s=t.length>3&&typeof s=="function"?(i--,s):void 0,o&&_T(n[0],n[1],o)&&(s=i<3?void 0:s,i=1),e=Object(e);++r<i;){var a=n[r];a&&t(e,a,r,s)}return e})}var e8=Object.prototype;function Lc(t){var e=t&&t.constructor,n=typeof e=="function"&&e.prototype||e8;return t===n}function t8(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}var n8="[object Arguments]";function AT(t){return ur(t)&&zi(t)==n8}var xT=Object.prototype,r8=xT.hasOwnProperty,i8=xT.propertyIsEnumerable,hf=AT(function(){return arguments}())?AT:function(t){return ur(t)&&r8.call(t,"callee")&&!i8.call(t,"callee")},s8=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function ui(t){if(t.__esModule)return t;var e=t.default;if(typeof e=="function"){var n=function r(){return this instanceof r?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};n.prototype=e.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(t).forEach(function(r){var i=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(n,r,i.get?i:{enumerable:!0,get:function(){return t[r]}})}),n}function o8(){return!1}var IT=typeof exports=="object"&&exports&&!exports.nodeType&&exports,PT=IT&&typeof module=="object"&&module&&!module.nodeType&&module,a8=PT&&PT.exports===IT,NT=a8?Pr.Buffer:void 0,c8=NT?NT.isBuffer:void 0,Fc=c8||o8,u8="[object Arguments]",l8="[object Array]",d8="[object Boolean]",f8="[object Date]",h8="[object Error]",p8="[object Function]",m8="[object Map]",g8="[object Number]",y8="[object Object]",v8="[object RegExp]",w8="[object Set]",b8="[object String]",E8="[object WeakMap]",D8="[object ArrayBuffer]",T8="[object DataView]",R8="[object Float32Array]",S8="[object Float64Array]",k8="[object Int8Array]",$8="[object Int16Array]",C8="[object Int32Array]",_8="[object Uint8Array]",A8="[object Uint8ClampedArray]",x8="[object Uint16Array]",I8="[object Uint32Array]",st={};st[R8]=st[S8]=st[k8]=st[$8]=st[C8]=st[_8]=st[A8]=st[x8]=st[I8]=!0,st[u8]=st[l8]=st[D8]=st[d8]=st[T8]=st[f8]=st[h8]=st[p8]=st[m8]=st[g8]=st[y8]=st[v8]=st[w8]=st[b8]=st[E8]=!1;function P8(t){return ur(t)&&Bg(t.length)&&!!st[zi(t)]}function pf(t){return function(e){return t(e)}}var OT=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Mc=OT&&typeof module=="object"&&module&&!module.nodeType&&module,N8=Mc&&Mc.exports===OT,qg=N8&&mT.process,Bi=function(){try{var t=Mc&&Mc.require&&Mc.require("util").types;return t||qg&&qg.binding&&qg.binding("util")}catch{}}(),LT=Bi&&Bi.isTypedArray,jg=LT?pf(LT):P8,O8=Object.prototype,L8=O8.hasOwnProperty;function FT(t,e){var n=Be(t),r=!n&&hf(t),i=!n&&!r&&Fc(t),s=!n&&!r&&!i&&jg(t),o=n||r||i||s,a=o?t8(t.length,String):[],c=a.length;for(var u in t)(e||L8.call(t,u))&&!(o&&(u=="length"||i&&(u=="offset"||u=="parent")||s&&(u=="buffer"||u=="byteLength"||u=="byteOffset")||df(u,c)))&&a.push(u);return a}function MT(t,e){return function(n){return t(e(n))}}var F8=MT(Object.keys,Object),M8=Object.prototype,z8=M8.hasOwnProperty;function zT(t){if(!Lc(t))return F8(t);var e=[];for(var n in Object(t))z8.call(t,n)&&n!="constructor"&&e.push(n);return e}function Yn(t){return Nr(t)?FT(t):zT(t)}var B8=Object.prototype,q8=B8.hasOwnProperty,xn=Q3(function(t,e){if(Lc(e)||Nr(e)){Mg(e,Yn(e),t);return}for(var n in e)q8.call(e,n)&&ff(t,n,e[n])});function j8(t){var e=[];if(t!=null)for(var n in Object(t))e.push(n);return e}var U8=Object.prototype,G8=U8.hasOwnProperty;function W8(t){if(!Kn(t))return j8(t);var e=Lc(t),n=[];for(var r in t)r=="constructor"&&(e||!G8.call(t,r))||n.push(r);return n}function BT(t){return Nr(t)?FT(t,!0):W8(t)}var H8=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,V8=/^\w*$/;function Ug(t,e){if(Be(t))return!1;var n=typeof t;return n=="number"||n=="symbol"||n=="boolean"||t==null||Nc(t)?!0:V8.test(t)||!H8.test(t)||e!=null&&t in Object(e)}var zc=Ps(Object,"create");function K8(){this.__data__=zc?zc(null):{},this.size=0}function Y8(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var X8="__lodash_hash_undefined__",J8=Object.prototype,Z8=J8.hasOwnProperty;function Q8(t){var e=this.__data__;if(zc){var n=e[t];return n===X8?void 0:n}return Z8.call(e,t)?e[t]:void 0}var ez=Object.prototype,tz=ez.hasOwnProperty;function nz(t){var e=this.__data__;return zc?e[t]!==void 0:tz.call(e,t)}var rz="__lodash_hash_undefined__";function iz(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=zc&&e===void 0?rz:e,this}function Ns(t){var e=-1,n=t==null?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}Ns.prototype.clear=K8,Ns.prototype.delete=Y8,Ns.prototype.get=Q8,Ns.prototype.has=nz,Ns.prototype.set=iz;function sz(){this.__data__=[],this.size=0}function mf(t,e){for(var n=t.length;n--;)if(Oc(t[n][0],e))return n;return-1}var oz=Array.prototype,az=oz.splice;function cz(t){var e=this.__data__,n=mf(e,t);if(n<0)return!1;var r=e.length-1;return n==r?e.pop():az.call(e,n,1),--this.size,!0}function uz(t){var e=this.__data__,n=mf(e,t);return n<0?void 0:e[n][1]}function lz(t){return mf(this.__data__,t)>-1}function dz(t,e){var n=this.__data__,r=mf(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this}function li(t){var e=-1,n=t==null?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}li.prototype.clear=sz,li.prototype.delete=cz,li.prototype.get=uz,li.prototype.has=lz,li.prototype.set=dz;var Bc=Ps(Pr,"Map");function fz(){this.size=0,this.__data__={hash:new Ns,map:new(Bc||li),string:new Ns}}function hz(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}function gf(t,e){var n=t.__data__;return hz(e)?n[typeof e=="string"?"string":"hash"]:n.map}function pz(t){var e=gf(this,t).delete(t);return this.size-=e?1:0,e}function mz(t){return gf(this,t).get(t)}function gz(t){return gf(this,t).has(t)}function yz(t,e){var n=gf(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this}function di(t){var e=-1,n=t==null?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}di.prototype.clear=fz,di.prototype.delete=pz,di.prototype.get=mz,di.prototype.has=gz,di.prototype.set=yz;var vz="Expected a function";function Gg(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(vz);var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],s=n.cache;if(s.has(i))return s.get(i);var o=t.apply(this,r);return n.cache=s.set(i,o)||s,o};return n.cache=new(Gg.Cache||di),n}Gg.Cache=di;var wz=500;function bz(t){var e=Gg(t,function(r){return n.size===wz&&n.clear(),r}),n=e.cache;return e}var Ez=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Dz=/\\(\\)?/g,Tz=bz(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(Ez,function(n,r,i,s){e.push(i?s.replace(Dz,"$1"):r||n)}),e});function Rz(t){return t==null?"":bT(t)}function yf(t,e){return Be(t)?t:Ug(t,e)?[t]:Tz(Rz(t))}var Sz=1/0;function qc(t){if(typeof t=="string"||Nc(t))return t;var e=t+"";return e=="0"&&1/t==-Sz?"-0":e}function Wg(t,e){e=yf(e,t);for(var n=0,r=e.length;t!=null&&n<r;)t=t[qc(e[n++])];return n&&n==r?t:void 0}function kz(t,e,n){var r=t==null?void 0:Wg(t,e);return r===void 0?n:r}function Hg(t,e){for(var n=-1,r=e.length,i=t.length;++n<r;)t[i+n]=e[n];return t}var qT=Vn?Vn.isConcatSpreadable:void 0;function $z(t){return Be(t)||hf(t)||!!(qT&&t&&t[qT])}function Vg(t,e,n,r,i){var s=-1,o=t.length;for(n||(n=$z),i||(i=[]);++s<o;){var a=t[s];n(a)?Hg(i,a):r||(i[i.length]=a)}return i}function Xn(t){var e=t==null?0:t.length;return e?Vg(t):[]}var jT=MT(Object.getPrototypeOf,Object);function UT(t,e,n){var r=-1,i=t.length;e<0&&(e=-e>i?0:i+e),n=n>i?i:n,n<0&&(n+=i),i=e>n?0:n-e>>>0,e>>>=0;for(var s=Array(i);++r<i;)s[r]=t[r+e];return s}function Cz(t,e,n,r){var i=-1,s=t==null?0:t.length;for(r&&s&&(n=t[++i]);++i<s;)n=e(n,t[i],i,t);return n}function _z(){this.__data__=new li,this.size=0}function Az(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}function xz(t){return this.__data__.get(t)}function Iz(t){return this.__data__.has(t)}var Pz=200;function Nz(t,e){var n=this.__data__;if(n instanceof li){var r=n.__data__;if(!Bc||r.length<Pz-1)return r.push([t,e]),this.size=++n.size,this;n=this.__data__=new di(r)}return n.set(t,e),this.size=n.size,this}function Or(t){var e=this.__data__=new li(t);this.size=e.size}Or.prototype.clear=_z,Or.prototype.delete=Az,Or.prototype.get=xz,Or.prototype.has=Iz,Or.prototype.set=Nz;function Oz(t,e){return t&&Mg(e,Yn(e),t)}var GT=typeof exports=="object"&&exports&&!exports.nodeType&&exports,WT=GT&&typeof module=="object"&&module&&!module.nodeType&&module,Lz=WT&&WT.exports===GT,HT=Lz?Pr.Buffer:void 0,VT=HT?HT.allocUnsafe:void 0;function Fz(t,e){var n=t.length,r=VT?VT(n):new t.constructor(n);return t.copy(r),r}function Kg(t,e){for(var n=-1,r=t==null?0:t.length,i=0,s=[];++n<r;){var o=t[n];e(o,n,t)&&(s[i++]=o)}return s}function KT(){return[]}var Mz=Object.prototype,zz=Mz.propertyIsEnumerable,YT=Object.getOwnPropertySymbols,Yg=YT?function(t){return t==null?[]:(t=Object(t),Kg(YT(t),function(e){return zz.call(t,e)}))}:KT;function Bz(t,e){return Mg(t,Yg(t),e)}var qz=Object.getOwnPropertySymbols,jz=qz?function(t){for(var e=[];t;)Hg(e,Yg(t)),t=jT(t);return e}:KT;function XT(t,e,n){var r=e(t);return Be(t)?r:Hg(r,n(t))}function Xg(t){return XT(t,Yn,Yg)}function Uz(t){return XT(t,BT,jz)}var Jg=Ps(Pr,"DataView"),Zg=Ps(Pr,"Promise"),Uo=Ps(Pr,"Set"),JT="[object Map]",Gz="[object Object]",ZT="[object Promise]",QT="[object Set]",eR="[object WeakMap]",tR="[object DataView]",Wz=Is(Jg),Hz=Is(Bc),Vz=Is(Zg),Kz=Is(Uo),Yz=Is(Og),Jn=zi;(Jg&&Jn(new Jg(new ArrayBuffer(1)))!=tR||Bc&&Jn(new Bc)!=JT||Zg&&Jn(Zg.resolve())!=ZT||Uo&&Jn(new Uo)!=QT||Og&&Jn(new Og)!=eR)&&(Jn=function(t){var e=zi(t),n=e==Gz?t.constructor:void 0,r=n?Is(n):"";if(r)switch(r){case Wz:return tR;case Hz:return JT;case Vz:return ZT;case Kz:return QT;case Yz:return eR}return e});var Xz=Object.prototype,Jz=Xz.hasOwnProperty;function Zz(t){var e=t.length,n=new t.constructor(e);return e&&typeof t[0]=="string"&&Jz.call(t,"index")&&(n.index=t.index,n.input=t.input),n}var vf=Pr.Uint8Array;function Qz(t){var e=new t.constructor(t.byteLength);return new vf(e).set(new vf(t)),e}function eB(t,e){var n=t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}var tB=/\w*$/;function nB(t){var e=new t.constructor(t.source,tB.exec(t));return e.lastIndex=t.lastIndex,e}var nR=Vn?Vn.prototype:void 0,rR=nR?nR.valueOf:void 0;function rB(t){return rR?Object(rR.call(t)):{}}function iB(t,e){var n=t.buffer;return new t.constructor(n,t.byteOffset,t.length)}var sB="[object Boolean]",oB="[object Date]",aB="[object Map]",cB="[object Number]",uB="[object RegExp]",lB="[object Set]",dB="[object String]",fB="[object Symbol]",hB="[object ArrayBuffer]",pB="[object DataView]",mB="[object Float32Array]",gB="[object Float64Array]",yB="[object Int8Array]",vB="[object Int16Array]",wB="[object Int32Array]",bB="[object Uint8Array]",EB="[object Uint8ClampedArray]",DB="[object Uint16Array]",TB="[object Uint32Array]";function RB(t,e,n){var r=t.constructor;switch(e){case hB:return Qz(t);case sB:case oB:return new r(+t);case pB:return eB(t);case mB:case gB:case yB:case vB:case wB:case bB:case EB:case DB:case TB:return iB(t);case aB:return new r;case cB:case dB:return new r(t);case uB:return nB(t);case lB:return new r;case fB:return rB(t)}}function SB(t){return typeof t.constructor=="function"&&!Lc(t)?O3(jT(t)):{}}var kB="[object Map]";function $B(t){return ur(t)&&Jn(t)==kB}var iR=Bi&&Bi.isMap,CB=iR?pf(iR):$B,_B="[object Set]";function AB(t){return ur(t)&&Jn(t)==_B}var sR=Bi&&Bi.isSet,xB=sR?pf(sR):AB,oR="[object Arguments]",IB="[object Array]",PB="[object Boolean]",NB="[object Date]",OB="[object Error]",aR="[object Function]",LB="[object GeneratorFunction]",FB="[object Map]",MB="[object Number]",cR="[object Object]",zB="[object RegExp]",BB="[object Set]",qB="[object String]",jB="[object Symbol]",UB="[object WeakMap]",GB="[object ArrayBuffer]",WB="[object DataView]",HB="[object Float32Array]",VB="[object Float64Array]",KB="[object Int8Array]",YB="[object Int16Array]",XB="[object Int32Array]",JB="[object Uint8Array]",ZB="[object Uint8ClampedArray]",QB="[object Uint16Array]",e4="[object Uint32Array]",rt={};rt[oR]=rt[IB]=rt[GB]=rt[WB]=rt[PB]=rt[NB]=rt[HB]=rt[VB]=rt[KB]=rt[YB]=rt[XB]=rt[FB]=rt[MB]=rt[cR]=rt[zB]=rt[BB]=rt[qB]=rt[jB]=rt[JB]=rt[ZB]=rt[QB]=rt[e4]=!0,rt[OB]=rt[aR]=rt[UB]=!1;function wf(t,e,n,r,i,s){var o;if(o!==void 0)return o;if(!Kn(t))return t;var a=Be(t);if(a)return o=Zz(t),F3(t,o);var c=Jn(t),u=c==aR||c==LB;if(Fc(t))return Fz(t);if(c==cR||c==oR||u&&!i)return o=u?{}:SB(t),Bz(t,Oz(o,t));if(!rt[c])return i?t:{};o=RB(t,c),s||(s=new Or);var l=s.get(t);if(l)return l;s.set(t,o),xB(t)?t.forEach(function(h){o.add(wf(h,e,n,h,t,s))}):CB(t)&&t.forEach(function(h,p){o.set(p,wf(h,e,n,p,t,s))});var d=Xg,f=a?void 0:d(t);return ST(f||t,function(h,p){f&&(p=h,h=t[p]),ff(o,p,wf(h,e,n,p,t,s))}),o}var t4=4;function Ut(t){return wf(t,t4)}function jc(t){for(var e=-1,n=t==null?0:t.length,r=0,i=[];++e<n;){var s=t[e];s&&(i[r++]=s)}return i}var n4="__lodash_hash_undefined__";function r4(t){return this.__data__.set(t,n4),this}function i4(t){return this.__data__.has(t)}function Go(t){var e=-1,n=t==null?0:t.length;for(this.__data__=new di;++e<n;)this.add(t[e])}Go.prototype.add=Go.prototype.push=r4,Go.prototype.has=i4;function uR(t,e){for(var n=-1,r=t==null?0:t.length;++n<r;)if(e(t[n],n,t))return!0;return!1}function Qg(t,e){return t.has(e)}var s4=1,o4=2;function lR(t,e,n,r,i,s){var o=n&s4,a=t.length,c=e.length;if(a!=c&&!(o&&c>a))return!1;var u=s.get(t),l=s.get(e);if(u&&l)return u==e&&l==t;var d=-1,f=!0,h=n&o4?new Go:void 0;for(s.set(t,e),s.set(e,t);++d<a;){var p=t[d],m=e[d];if(r)var g=o?r(m,p,d,e,t,s):r(p,m,d,t,e,s);if(g!==void 0){if(g)continue;f=!1;break}if(h){if(!uR(e,function(y,w){if(!Qg(h,w)&&(p===y||i(p,y,n,r,s)))return h.push(w)})){f=!1;break}}else if(!(p===m||i(p,m,n,r,s))){f=!1;break}}return s.delete(t),s.delete(e),f}function a4(t){var e=-1,n=Array(t.size);return t.forEach(function(r,i){n[++e]=[i,r]}),n}function ey(t){var e=-1,n=Array(t.size);return t.forEach(function(r){n[++e]=r}),n}var c4=1,u4=2,l4="[object Boolean]",d4="[object Date]",f4="[object Error]",h4="[object Map]",p4="[object Number]",m4="[object RegExp]",g4="[object Set]",y4="[object String]",v4="[object Symbol]",w4="[object ArrayBuffer]",b4="[object DataView]",dR=Vn?Vn.prototype:void 0,ty=dR?dR.valueOf:void 0;function E4(t,e,n,r,i,s,o){switch(n){case b4:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case w4:return!(t.byteLength!=e.byteLength||!s(new vf(t),new vf(e)));case l4:case d4:case p4:return Oc(+t,+e);case f4:return t.name==e.name&&t.message==e.message;case m4:case y4:return t==e+"";case h4:var a=a4;case g4:var c=r&c4;if(a||(a=ey),t.size!=e.size&&!c)return!1;var u=o.get(t);if(u)return u==e;r|=u4,o.set(t,e);var l=lR(a(t),a(e),r,i,s,o);return o.delete(t),l;case v4:if(ty)return ty.call(t)==ty.call(e)}return!1}var D4=1,T4=Object.prototype,R4=T4.hasOwnProperty;function S4(t,e,n,r,i,s){var o=n&D4,a=Xg(t),c=a.length,u=Xg(e),l=u.length;if(c!=l&&!o)return!1;for(var d=c;d--;){var f=a[d];if(!(o?f in e:R4.call(e,f)))return!1}var h=s.get(t),p=s.get(e);if(h&&p)return h==e&&p==t;var m=!0;s.set(t,e),s.set(e,t);for(var g=o;++d<c;){f=a[d];var y=t[f],w=e[f];if(r)var E=o?r(w,y,f,e,t,s):r(y,w,f,t,e,s);if(!(E===void 0?y===w||i(y,w,n,r,s):E)){m=!1;break}g||(g=f=="constructor")}if(m&&!g){var k=t.constructor,A=e.constructor;k!=A&&"constructor"in t&&"constructor"in e&&!(typeof k=="function"&&k instanceof k&&typeof A=="function"&&A instanceof A)&&(m=!1)}return s.delete(t),s.delete(e),m}var k4=1,fR="[object Arguments]",hR="[object Array]",bf="[object Object]",$4=Object.prototype,pR=$4.hasOwnProperty;function C4(t,e,n,r,i,s){var o=Be(t),a=Be(e),c=o?hR:Jn(t),u=a?hR:Jn(e);c=c==fR?bf:c,u=u==fR?bf:u;var l=c==bf,d=u==bf,f=c==u;if(f&&Fc(t)){if(!Fc(e))return!1;o=!0,l=!1}if(f&&!l)return s||(s=new Or),o||jg(t)?lR(t,e,n,r,i,s):E4(t,e,c,n,r,i,s);if(!(n&k4)){var h=l&&pR.call(t,"__wrapped__"),p=d&&pR.call(e,"__wrapped__");if(h||p){var m=h?t.value():t,g=p?e.value():e;return s||(s=new Or),i(m,g,n,r,s)}}return f?(s||(s=new Or),S4(t,e,n,r,i,s)):!1}function ny(t,e,n,r,i){return t===e?!0:t==null||e==null||!ur(t)&&!ur(e)?t!==t&&e!==e:C4(t,e,n,r,ny,i)}var _4=1,A4=2;function x4(t,e,n,r){var i=n.length,s=i;if(t==null)return!s;for(t=Object(t);i--;){var o=n[i];if(o[2]?o[1]!==t[o[0]]:!(o[0]in t))return!1}for(;++i<s;){o=n[i];var a=o[0],c=t[a],u=o[1];if(o[2]){if(c===void 0&&!(a in t))return!1}else{var l=new Or,d;if(!(d===void 0?ny(u,c,_4|A4,r,l):d))return!1}}return!0}function mR(t){return t===t&&!Kn(t)}function I4(t){for(var e=Yn(t),n=e.length;n--;){var r=e[n],i=t[r];e[n]=[r,i,mR(i)]}return e}function gR(t,e){return function(n){return n==null?!1:n[t]===e&&(e!==void 0||t in Object(n))}}function P4(t){var e=I4(t);return e.length==1&&e[0][2]?gR(e[0][0],e[0][1]):function(n){return n===t||x4(n,t,e)}}function N4(t,e){return t!=null&&e in Object(t)}function yR(t,e,n){e=yf(e,t);for(var r=-1,i=e.length,s=!1;++r<i;){var o=qc(e[r]);if(!(s=t!=null&&n(t,o)))break;t=t[o]}return s||++r!=i?s:(i=t==null?0:t.length,!!i&&Bg(i)&&df(o,i)&&(Be(t)||hf(t)))}function O4(t,e){return t!=null&&yR(t,e,N4)}var L4=1,F4=2;function M4(t,e){return Ug(t)&&mR(e)?gR(qc(t),e):function(n){var r=kz(n,t);return r===void 0&&r===e?O4(n,t):ny(e,r,L4|F4)}}function z4(t){return function(e){return e?.[t]}}function B4(t){return function(e){return Wg(e,t)}}function q4(t){return Ug(t)?z4(qc(t)):B4(t)}function lr(t){return typeof t=="function"?t:t==null?xs:typeof t=="object"?Be(t)?M4(t[0],t[1]):P4(t):q4(t)}function j4(t,e,n,r){for(var i=-1,s=t==null?0:t.length;++i<s;){var o=t[i];e(r,o,n(o),t)}return r}function U4(t){return function(e,n,r){for(var i=-1,s=Object(e),o=r(e),a=o.length;a--;){var c=o[++i];if(n(s[c],c,s)===!1)break}return e}}var G4=U4();function W4(t,e){return t&&G4(t,e,Yn)}function H4(t,e){return function(n,r){if(n==null)return n;if(!Nr(n))return t(n,r);for(var i=n.length,s=-1,o=Object(n);++s<i&&r(o[s],s,o)!==!1;);return n}}var Os=H4(W4);function V4(t,e,n,r){return Os(t,function(i,s,o){e(r,i,n(i),o)}),r}function K4(t,e){return function(n,r){var i=Be(n)?j4:V4,s=e?e():{};return i(n,t,lr(r),s)}}var vR=Object.prototype,Y4=vR.hasOwnProperty,ry=zg(function(t,e){t=Object(t);var n=-1,r=e.length,i=r>2?e[2]:void 0;for(i&&_T(e[0],e[1],i)&&(r=1);++n<r;)for(var s=e[n],o=BT(s),a=-1,c=o.length;++a<c;){var u=o[a],l=t[u];(l===void 0||Oc(l,vR[u])&&!Y4.call(t,u))&&(t[u]=s[u])}return t});function wR(t){return ur(t)&&Nr(t)}var X4=200;function J4(t,e,n,r){var i=-1,s=$T,o=!0,a=t.length,c=[],u=e.length;if(!a)return c;e.length>=X4&&(s=Qg,o=!1,e=new Go(e));e:for(;++i<a;){var l=t[i],d=l;if(l=l!==0?l:0,o&&d===d){for(var f=u;f--;)if(e[f]===d)continue e;c.push(l)}else s(e,d,r)||c.push(l)}return c}var Ef=zg(function(t,e){return wR(t)?J4(t,Vg(e,1,wR,!0)):[]});function Wo(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}function Gt(t,e,n){var r=t==null?0:t.length;return r?(e=e===void 0?1:uf(e),UT(t,e<0?0:e,r)):[]}function Uc(t,e,n){var r=t==null?0:t.length;return r?(e=e===void 0?1:uf(e),e=r-e,UT(t,0,e<0?0:e)):[]}function Z4(t){return typeof t=="function"?t:xs}function ve(t,e){var n=Be(t)?ST:Os;return n(t,Z4(e))}function Q4(t,e){for(var n=-1,r=t==null?0:t.length;++n<r;)if(!e(t[n],n,t))return!1;return!0}function e6(t,e){var n=!0;return Os(t,function(r,i,s){return n=!!e(r,i,s),n}),n}function dr(t,e,n){var r=Be(t)?Q4:e6;return r(t,lr(e))}function bR(t,e){var n=[];return Os(t,function(r,i,s){e(r,i,s)&&n.push(r)}),n}function In(t,e){var n=Be(t)?Kg:bR;return n(t,lr(e))}function t6(t){return function(e,n,r){var i=Object(e);if(!Nr(e)){var s=lr(n);e=Yn(e),n=function(a){return s(i[a],a,i)}}var o=t(e,n,r);return o>-1?i[s?e[o]:o]:void 0}}var n6=Math.max;function r6(t,e,n){var r=t==null?0:t.length;if(!r)return-1;var i=n==null?0:uf(n);return i<0&&(i=n6(r+i,0)),kT(t,lr(e),i)}var Ho=t6(r6);function fr(t){return t&&t.length?t[0]:void 0}function i6(t,e){var n=-1,r=Nr(t)?Array(t.length):[];return Os(t,function(i,s,o){r[++n]=e(i,s,o)}),r}function de(t,e){var n=Be(t)?cf:i6;return n(t,lr(e))}function Pn(t,e){return Vg(de(t,e))}var s6=Object.prototype,o6=s6.hasOwnProperty,a6=K4(function(t,e,n){o6.call(t,n)?t[n].push(e):Fg(t,n,[e])}),c6=Object.prototype,u6=c6.hasOwnProperty;function l6(t,e){return t!=null&&u6.call(t,e)}function be(t,e){return t!=null&&yR(t,e,l6)}var d6="[object String]";function bn(t){return typeof t=="string"||!Be(t)&&ur(t)&&zi(t)==d6}function f6(t,e){return cf(e,function(n){return t[n]})}function Ot(t){return t==null?[]:f6(t,Yn(t))}var h6=Math.max;function on(t,e,n,r){t=Nr(t)?t:Ot(t),n=n&&!r?uf(n):0;var i=t.length;return n<0&&(n=h6(i+n,0)),bn(t)?n<=i&&t.indexOf(e,n)>-1:!!i&&Lg(t,e,n)>-1}function ER(t,e,n){var r=t==null?0:t.length;if(!r)return-1;var i=0;return Lg(t,e,i)}var p6="[object Map]",m6="[object Set]",g6=Object.prototype,y6=g6.hasOwnProperty;function tt(t){if(t==null)return!0;if(Nr(t)&&(Be(t)||typeof t=="string"||typeof t.splice=="function"||Fc(t)||jg(t)||hf(t)))return!t.length;var e=Jn(t);if(e==p6||e==m6)return!t.size;if(Lc(t))return!zT(t).length;for(var n in t)if(y6.call(t,n))return!1;return!0}var v6="[object RegExp]";function w6(t){return ur(t)&&zi(t)==v6}var DR=Bi&&Bi.isRegExp,fi=DR?pf(DR):w6;function hi(t){return t===void 0}function b6(t,e){return t<e}function E6(t,e,n){for(var r=-1,i=t.length;++r<i;){var s=t[r],o=e(s);if(o!=null&&(a===void 0?o===o&&!Nc(o):n(o,a)))var a=o,c=s}return c}function D6(t){return t&&t.length?E6(t,xs,b6):void 0}var T6="Expected a function";function R6(t){if(typeof t!="function")throw new TypeError(T6);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}function S6(t,e,n,r){if(!Kn(t))return t;e=yf(e,t);for(var i=-1,s=e.length,o=s-1,a=t;a!=null&&++i<s;){var c=qc(e[i]),u=n;if(c==="__proto__"||c==="constructor"||c==="prototype")return t;if(i!=o){var l=a[c];u=void 0,u===void 0&&(u=Kn(l)?l:df(e[i+1])?[]:{})}ff(a,c,u),a=a[c]}return t}function k6(t,e,n){for(var r=-1,i=e.length,s={};++r<i;){var o=e[r],a=Wg(t,o);n(a,o)&&S6(s,yf(o,t),a)}return s}function hr(t,e){if(t==null)return{};var n=cf(Uz(t),function(r){return[r]});return e=lr(e),k6(t,n,function(r,i){return e(r,i[0])})}function $6(t,e,n,r,i){return i(t,function(s,o,a){n=r?(r=!1,s):e(n,s,o,a)}),n}function an(t,e,n){var r=Be(t)?Cz:$6,i=arguments.length<3;return r(t,lr(e),n,i,Os)}function Df(t,e){var n=Be(t)?Kg:bR;return n(t,R6(lr(e)))}function C6(t,e){var n;return Os(t,function(r,i,s){return n=e(r,i,s),!n}),!!n}function TR(t,e,n){var r=Be(t)?uR:C6;return r(t,lr(e))}var _6=1/0,A6=Uo&&1/ey(new Uo([,-0]))[1]==_6?function(t){return new Uo(t)}:Nt,x6=200;function RR(t,e,n){var r=-1,i=$T,s=t.length,o=!0,a=[],c=a;if(s>=x6){var u=e?null:A6(t);if(u)return ey(u);o=!1,i=Qg,c=new Go}else c=e?[]:a;e:for(;++r<s;){var l=t[r],d=e?e(l):l;if(l=l!==0?l:0,o&&d===d){for(var f=c.length;f--;)if(c[f]===d)continue e;e&&c.push(d),a.push(l)}else i(c,d,n)||(c!==a&&c.push(d),a.push(l))}return a}function iy(t){return t&&t.length?RR(t):[]}function I6(t,e){return t&&t.length?RR(t,lr(e)):[]}function sy(t){console&&console.error&&console.error(`Error: ${t}`)}function SR(t){console&&console.warn&&console.warn(`Warning: ${t}`)}function kR(t){const e=new Date().getTime(),n=t();return{time:new Date().getTime()-e,value:n}}function $R(t){function e(){}e.prototype=t;const n=new e;function r(){return typeof n.bar}return r(),r(),t}function P6(t){return N6(t)?t.LABEL:t.name}function N6(t){return bn(t.LABEL)&&t.LABEL!==""}class Lr{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),ve(this.definition,n=>{n.accept(e)})}}class cn extends Lr{constructor(e){super([]),this.idx=1,xn(this,hr(e,n=>n!==void 0))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}}class Vo extends Lr{constructor(e){super(e.definition),this.orgText="",xn(this,hr(e,n=>n!==void 0))}}class En extends Lr{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,xn(this,hr(e,n=>n!==void 0))}}class Wt extends Lr{constructor(e){super(e.definition),this.idx=1,xn(this,hr(e,n=>n!==void 0))}}class Nn extends Lr{constructor(e){super(e.definition),this.idx=1,xn(this,hr(e,n=>n!==void 0))}}class On extends Lr{constructor(e){super(e.definition),this.idx=1,xn(this,hr(e,n=>n!==void 0))}}class wt extends Lr{constructor(e){super(e.definition),this.idx=1,xn(this,hr(e,n=>n!==void 0))}}class Dn extends Lr{constructor(e){super(e.definition),this.idx=1,xn(this,hr(e,n=>n!==void 0))}}class Tn extends Lr{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){super(e.definition),this.idx=1,this.ignoreAmbiguities=!1,this.hasPredicates=!1,xn(this,hr(e,n=>n!==void 0))}}class ot{constructor(e){this.idx=1,xn(this,hr(e,n=>n!==void 0))}accept(e){e.visit(this)}}function O6(t){return de(t,Tf)}function Tf(t){function e(n){return de(n,Tf)}if(t instanceof cn){const n={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return bn(t.label)&&(n.label=t.label),n}else{if(t instanceof En)return{type:"Alternative",definition:e(t.definition)};if(t instanceof Wt)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof Nn)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof On)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:Tf(new ot({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof Dn)return{type:"RepetitionWithSeparator",idx:t.idx,separator:Tf(new ot({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof wt)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof Tn)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof ot){const n={type:"Terminal",name:t.terminalType.name,label:P6(t.terminalType),idx:t.idx};bn(t.label)&&(n.terminalLabel=t.label);const r=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(n.pattern=fi(r)?r.source:r),n}else{if(t instanceof Vo)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}class Ko{visit(e){const n=e;switch(n.constructor){case cn:return this.visitNonTerminal(n);case En:return this.visitAlternative(n);case Wt:return this.visitOption(n);case Nn:return this.visitRepetitionMandatory(n);case On:return this.visitRepetitionMandatoryWithSeparator(n);case Dn:return this.visitRepetitionWithSeparator(n);case wt:return this.visitRepetition(n);case Tn:return this.visitAlternation(n);case ot:return this.visitTerminal(n);case Vo:return this.visitRule(n);default:throw Error("non exhaustive match")}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}}function L6(t){return t instanceof En||t instanceof Wt||t instanceof wt||t instanceof Nn||t instanceof On||t instanceof Dn||t instanceof ot||t instanceof Vo}function Rf(t,e=[]){return t instanceof Wt||t instanceof wt||t instanceof Dn?!0:t instanceof Tn?TR(t.definition,r=>Rf(r,e)):t instanceof cn&&on(e,t)?!1:t instanceof Lr?(t instanceof cn&&e.push(t),dr(t.definition,r=>Rf(r,e))):!1}function F6(t){return t instanceof Tn}function Fr(t){if(t instanceof cn)return"SUBRULE";if(t instanceof Wt)return"OPTION";if(t instanceof Tn)return"OR";if(t instanceof Nn)return"AT_LEAST_ONE";if(t instanceof On)return"AT_LEAST_ONE_SEP";if(t instanceof Dn)return"MANY_SEP";if(t instanceof wt)return"MANY";if(t instanceof ot)return"CONSUME";throw Error("non exhaustive match")}class Sf{walk(e,n=[]){ve(e.definition,(r,i)=>{const s=Gt(e.definition,i+1);if(r instanceof cn)this.walkProdRef(r,s,n);else if(r instanceof ot)this.walkTerminal(r,s,n);else if(r instanceof En)this.walkFlat(r,s,n);else if(r instanceof Wt)this.walkOption(r,s,n);else if(r instanceof Nn)this.walkAtLeastOne(r,s,n);else if(r instanceof On)this.walkAtLeastOneSep(r,s,n);else if(r instanceof Dn)this.walkManySep(r,s,n);else if(r instanceof wt)this.walkMany(r,s,n);else if(r instanceof Tn)this.walkOr(r,s,n);else throw Error("non exhaustive match")})}walkTerminal(e,n,r){}walkProdRef(e,n,r){}walkFlat(e,n,r){const i=n.concat(r);this.walk(e,i)}walkOption(e,n,r){const i=n.concat(r);this.walk(e,i)}walkAtLeastOne(e,n,r){const i=[new Wt({definition:e.definition})].concat(n,r);this.walk(e,i)}walkAtLeastOneSep(e,n,r){const i=CR(e,n,r);this.walk(e,i)}walkMany(e,n,r){const i=[new Wt({definition:e.definition})].concat(n,r);this.walk(e,i)}walkManySep(e,n,r){const i=CR(e,n,r);this.walk(e,i)}walkOr(e,n,r){const i=n.concat(r);ve(e.definition,s=>{const o=new En({definition:[s]});this.walk(o,i)})}}function CR(t,e,n){return[new Wt({definition:[new ot({terminalType:t.separator})].concat(t.definition)})].concat(e,n)}function Gc(t){if(t instanceof cn)return Gc(t.referencedRule);if(t instanceof ot)return B6(t);if(L6(t))return M6(t);if(F6(t))return z6(t);throw Error("non exhaustive match")}function M6(t){let e=[];const n=t.definition;let r=0,i=n.length>r,s,o=!0;for(;i&&o;)s=n[r],o=Rf(s),e=e.concat(Gc(s)),r=r+1,i=n.length>r;return iy(e)}function z6(t){const e=de(t.definition,n=>Gc(n));return iy(Xn(e))}function B6(t){return[t.terminalType]}const _R="_~IN~_";class q6 extends Sf{constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,n,r){}walkProdRef(e,n,r){const i=U6(e.referencedRule,e.idx)+this.topProd.name,s=n.concat(r),o=new En({definition:s}),a=Gc(o);this.follows[i]=a}}function j6(t){const e={};return ve(t,n=>{const r=new q6(n).startWalking();xn(e,r)}),e}function U6(t,e){return t.name+e+_R}let kf={};const G6=new rT;function $f(t){const e=t.toString();if(kf.hasOwnProperty(e))return kf[e];{const n=G6.pattern(e);return kf[e]=n,n}}function W6(){kf={}}const AR="Complement Sets are not supported for first char optimization",Cf=`Unable to use "first char" lexer optimizations:
13
- `;function H6(t,e=!1){try{const n=$f(t);return oy(n.value,{},n.flags.ignoreCase)}catch(n){if(n.message===AR)e&&SR(`${Cf} Unable to optimize: < ${t.toString()} >
14
- Complement Sets cannot be automatically optimized.
15
- This will disable the lexer's first char optimizations.
16
- See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let r="";e&&(r=`
17
- This will disable the lexer's first char optimizations.
18
- See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),sy(`${Cf}
19
- Failed parsing: < ${t.toString()} >
20
- Using the @chevrotain/regexp-to-ast library
21
- Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+r)}}return[]}function oy(t,e,n){switch(t.type){case"Disjunction":for(let i=0;i<t.value.length;i++)oy(t.value[i],e,n);break;case"Alternative":const r=t.value;for(let i=0;i<r.length;i++){const s=r[i];switch(s.type){case"EndAnchor":case"GroupBackReference":case"Lookahead":case"NegativeLookahead":case"StartAnchor":case"WordBoundary":case"NonWordBoundary":continue}const o=s;switch(o.type){case"Character":_f(o.value,e,n);break;case"Set":if(o.complement===!0)throw Error(AR);ve(o.value,c=>{if(typeof c=="number")_f(c,e,n);else{const u=c;if(n===!0)for(let l=u.from;l<=u.to;l++)_f(l,e,n);else{for(let l=u.from;l<=u.to&&l<Hc;l++)_f(l,e,n);if(u.to>=Hc){const l=u.from>=Hc?u.from:Hc,d=u.to,f=qi(l),h=qi(d);for(let p=f;p<=h;p++)e[p]=p}}}});break;case"Group":oy(o.value,e,n);break;default:throw Error("Non Exhaustive Match")}const a=o.quantifier!==void 0&&o.quantifier.atLeast===0;if(o.type==="Group"&&ay(o)===!1||o.type!=="Group"&&a===!1)break}break;default:throw Error("non exhaustive match!")}return Ot(e)}function _f(t,e,n){const r=qi(t);e[r]=r,n===!0&&V6(t,e)}function V6(t,e){const n=String.fromCharCode(t),r=n.toUpperCase();if(r!==n){const i=qi(r.charCodeAt(0));e[i]=i}else{const i=n.toLowerCase();if(i!==n){const s=qi(i.charCodeAt(0));e[s]=s}}}function xR(t,e){return Ho(t.value,n=>{if(typeof n=="number")return on(e,n);{const r=n;return Ho(e,i=>r.from<=i&&i<=r.to)!==void 0}})}function ay(t){const e=t.quantifier;return e&&e.atLeast===0?!0:t.value?Be(t.value)?dr(t.value,ay):ay(t.value):!1}class K6 extends nf{constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(this.found!==!0){switch(e.type){case"Lookahead":this.visitLookahead(e);return;case"NegativeLookahead":this.visitNegativeLookahead(e);return}super.visitChildren(e)}}visitCharacter(e){on(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?xR(e,this.targetCharCodes)===void 0&&(this.found=!0):xR(e,this.targetCharCodes)!==void 0&&(this.found=!0)}}function cy(t,e){if(e instanceof RegExp){const n=$f(e),r=new K6(t);return r.visit(n),r.found}else return Ho(e,n=>on(t,n.charCodeAt(0)))!==void 0}const Ls="PATTERN",Wc="defaultMode",Af="modes";let IR=typeof new RegExp("(?:)").sticky=="boolean";function Y6(t,e){e=ry(e,{useSticky:IR,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",`
22
- `],tracer:(w,E)=>E()});const n=e.tracer;n("initCharCodeToOptimizedIndexMap",()=>{v5()});let r;n("Reject Lexer.NA",()=>{r=Df(t,w=>w[Ls]===Rn.NA)});let i=!1,s;n("Transform Patterns",()=>{i=!1,s=de(r,w=>{const E=w[Ls];if(fi(E)){const k=E.source;return k.length===1&&k!=="^"&&k!=="$"&&k!=="."&&!E.ignoreCase?k:k.length===2&&k[0]==="\\"&&!on(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],k[1])?k[1]:e.useSticky?NR(E):PR(E)}else{if(ci(E))return i=!0,{exec:E};if(typeof E=="object")return i=!0,E;if(typeof E=="string"){if(E.length===1)return E;{const k=E.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),A=new RegExp(k);return e.useSticky?NR(A):PR(A)}}else throw Error("non exhaustive match")}})});let o,a,c,u,l;n("misc mapping",()=>{o=de(r,w=>w.tokenTypeIdx),a=de(r,w=>{const E=w.GROUP;if(E!==Rn.SKIPPED){if(bn(E))return E;if(hi(E))return!1;throw Error("non exhaustive match")}}),c=de(r,w=>{const E=w.LONGER_ALT;if(E)return Be(E)?de(E,A=>ER(r,A)):[ER(r,E)]}),u=de(r,w=>w.PUSH_MODE),l=de(r,w=>be(w,"POP_MODE"))});let d;n("Line Terminator Handling",()=>{const w=FR(e.lineTerminatorCharacters);d=de(r,E=>!1),e.positionTracking!=="onlyOffset"&&(d=de(r,E=>be(E,"LINE_BREAKS")?!!E.LINE_BREAKS:LR(E,w)===!1&&cy(w,E.PATTERN)))});let f,h,p,m;n("Misc Mapping #2",()=>{f=de(r,OR),h=de(s,m5),p=an(r,(w,E)=>{const k=E.GROUP;return bn(k)&&k!==Rn.SKIPPED&&(w[k]=[]),w},{}),m=de(s,(w,E)=>({pattern:s[E],longerAlt:c[E],canLineTerminator:d[E],isCustom:f[E],short:h[E],group:a[E],push:u[E],pop:l[E],tokenTypeIdx:o[E],tokenType:r[E]}))});let g=!0,y=[];return e.safeMode||n("First Char Optimization",()=>{y=an(r,(w,E,k)=>{if(typeof E.PATTERN=="string"){const A=E.PATTERN.charCodeAt(0),I=qi(A);uy(w,I,m[k])}else if(Be(E.START_CHARS_HINT)){let A;ve(E.START_CHARS_HINT,I=>{const x=typeof I=="string"?I.charCodeAt(0):I,_=qi(x);A!==_&&(A=_,uy(w,_,m[k]))})}else if(fi(E.PATTERN))if(E.PATTERN.unicode)g=!1,e.ensureOptimizations&&sy(`${Cf} Unable to analyze < ${E.PATTERN.toString()} > pattern.
23
- The regexp unicode flag is not currently supported by the regexp-to-ast library.
24
- This will disable the lexer's first char optimizations.
25
- For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{const A=H6(E.PATTERN,e.ensureOptimizations);tt(A)&&(g=!1),ve(A,I=>{uy(w,I,m[k])})}else e.ensureOptimizations&&sy(`${Cf} TokenType: <${E.name}> is using a custom token pattern without providing <start_chars_hint> parameter.
26
- This will disable the lexer's first char optimizations.
27
- For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),g=!1;return w},[])}),{emptyGroups:p,patternIdxToConfig:m,charCodeToPatternIdxToConfig:y,hasCustom:i,canBeOptimized:g}}function X6(t,e){let n=[];const r=Z6(t);n=n.concat(r.errors);const i=Q6(r.valid),s=i.valid;return n=n.concat(i.errors),n=n.concat(J6(s)),n=n.concat(a5(s)),n=n.concat(c5(s,e)),n=n.concat(u5(s)),n}function J6(t){let e=[];const n=In(t,r=>fi(r[Ls]));return e=e.concat(t5(n)),e=e.concat(i5(n)),e=e.concat(s5(n)),e=e.concat(o5(n)),e=e.concat(n5(n)),e}function Z6(t){const e=In(t,i=>!be(i,Ls)),n=de(e,i=>({message:"Token Type: ->"+i.name+"<- missing static 'PATTERN' property",type:bt.MISSING_PATTERN,tokenTypes:[i]})),r=Ef(t,e);return{errors:n,valid:r}}function Q6(t){const e=In(t,i=>{const s=i[Ls];return!fi(s)&&!ci(s)&&!be(s,"exec")&&!bn(s)}),n=de(e,i=>({message:"Token Type: ->"+i.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:bt.INVALID_PATTERN,tokenTypes:[i]})),r=Ef(t,e);return{errors:n,valid:r}}const e5=/[^\\][$]/;function t5(t){class e extends nf{constructor(){super(...arguments),this.found=!1}visitEndAnchor(s){this.found=!0}}const n=In(t,i=>{const s=i.PATTERN;try{const o=$f(s),a=new e;return a.visit(o),a.found}catch{return e5.test(s.source)}});return de(n,i=>({message:`Unexpected RegExp Anchor Error:
28
- Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain end of input anchor '$'
29
- See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:bt.EOI_ANCHOR_FOUND,tokenTypes:[i]}))}function n5(t){const e=In(t,r=>r.PATTERN.test(""));return de(e,r=>({message:"Token Type: ->"+r.name+"<- static 'PATTERN' must not match an empty string",type:bt.EMPTY_MATCH_PATTERN,tokenTypes:[r]}))}const r5=/[^\\[][\^]|^\^/;function i5(t){class e extends nf{constructor(){super(...arguments),this.found=!1}visitStartAnchor(s){this.found=!0}}const n=In(t,i=>{const s=i.PATTERN;try{const o=$f(s),a=new e;return a.visit(o),a.found}catch{return r5.test(s.source)}});return de(n,i=>({message:`Unexpected RegExp Anchor Error:
30
- Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain start of input anchor '^'
31
- See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:bt.SOI_ANCHOR_FOUND,tokenTypes:[i]}))}function s5(t){const e=In(t,r=>{const i=r[Ls];return i instanceof RegExp&&(i.multiline||i.global)});return de(e,r=>({message:"Token Type: ->"+r.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:bt.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[r]}))}function o5(t){const e=[];let n=de(t,s=>an(t,(o,a)=>(s.PATTERN.source===a.PATTERN.source&&!on(e,a)&&a.PATTERN!==Rn.NA&&(e.push(a),o.push(a)),o),[]));n=jc(n);const r=In(n,s=>s.length>1);return de(r,s=>{const o=de(s,c=>c.name);return{message:`The same RegExp pattern ->${fr(s).PATTERN}<-has been used in all of the following Token Types: ${o.join(", ")} <-`,type:bt.DUPLICATE_PATTERNS_FOUND,tokenTypes:s}})}function a5(t){const e=In(t,r=>{if(!be(r,"GROUP"))return!1;const i=r.GROUP;return i!==Rn.SKIPPED&&i!==Rn.NA&&!bn(i)});return de(e,r=>({message:"Token Type: ->"+r.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:bt.INVALID_GROUP_TYPE_FOUND,tokenTypes:[r]}))}function c5(t,e){const n=In(t,i=>i.PUSH_MODE!==void 0&&!on(e,i.PUSH_MODE));return de(n,i=>({message:`Token Type: ->${i.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${i.PUSH_MODE}<-which does not exist`,type:bt.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[i]}))}function u5(t){const e=[],n=an(t,(r,i,s)=>{const o=i.PATTERN;return o===Rn.NA||(bn(o)?r.push({str:o,idx:s,tokenType:i}):fi(o)&&d5(o)&&r.push({str:o.source,idx:s,tokenType:i})),r},[]);return ve(t,(r,i)=>{ve(n,({str:s,idx:o,tokenType:a})=>{if(i<o&&l5(s,r.PATTERN)){const c=`Token: ->${a.name}<- can never be matched.
32
- Because it appears AFTER the Token Type ->${r.name}<-in the lexer's definition.
33
- See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:c,type:bt.UNREACHABLE_PATTERN,tokenTypes:[r,a]})}})}),e}function l5(t,e){if(fi(e)){const n=e.exec(t);return n!==null&&n.index===0}else{if(ci(e))return e(t,0,[],{});if(be(e,"exec"))return e.exec(t,0,[],{});if(typeof e=="string")return e===t;throw Error("non exhaustive match")}}function d5(t){return Ho([".","\\","[","]","|","^","$","(",")","?","*","+","{"],n=>t.source.indexOf(n)!==-1)===void 0}function PR(t){const e=t.ignoreCase?"i":"";return new RegExp(`^(?:${t.source})`,e)}function NR(t){const e=t.ignoreCase?"iy":"y";return new RegExp(`${t.source}`,e)}function f5(t,e,n){const r=[];return be(t,Wc)||r.push({message:"A MultiMode Lexer cannot be initialized without a <"+Wc+`> property in its definition
34
- `,type:bt.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),be(t,Af)||r.push({message:"A MultiMode Lexer cannot be initialized without a <"+Af+`> property in its definition
35
- `,type:bt.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),be(t,Af)&&be(t,Wc)&&!be(t.modes,t.defaultMode)&&r.push({message:`A MultiMode Lexer cannot be initialized with a ${Wc}: <${t.defaultMode}>which does not exist
36
- `,type:bt.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),be(t,Af)&&ve(t.modes,(i,s)=>{ve(i,(o,a)=>{if(hi(o))r.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${s}> at index: <${a}>
37
- `,type:bt.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED});else if(be(o,"LONGER_ALT")){const c=Be(o.LONGER_ALT)?o.LONGER_ALT:[o.LONGER_ALT];ve(c,u=>{!hi(u)&&!on(i,u)&&r.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${u.name}> on token <${o.name}> outside of mode <${s}>
38
- `,type:bt.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})}})}),r}function h5(t,e,n){const r=[];let i=!1;const s=jc(Xn(Ot(t.modes))),o=Df(s,c=>c[Ls]===Rn.NA),a=FR(n);return e&&ve(o,c=>{const u=LR(c,a);if(u!==!1){const d={message:y5(c,u),type:u.issue,tokenType:c};r.push(d)}else be(c,"LINE_BREAKS")?c.LINE_BREAKS===!0&&(i=!0):cy(a,c.PATTERN)&&(i=!0)}),e&&!i&&r.push({message:`Warning: No LINE_BREAKS Found.
39
- This Lexer has been defined to track line and column information,
40
- But none of the Token Types can be identified as matching a line terminator.
41
- See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS
42
- for details.`,type:bt.NO_LINE_BREAKS_FLAGS}),r}function p5(t){const e={},n=Yn(t);return ve(n,r=>{const i=t[r];if(Be(i))e[r]=[];else throw Error("non exhaustive match")}),e}function OR(t){const e=t.PATTERN;if(fi(e))return!1;if(ci(e))return!0;if(be(e,"exec"))return!0;if(bn(e))return!1;throw Error("non exhaustive match")}function m5(t){return bn(t)&&t.length===1?t.charCodeAt(0):!1}const g5={test:function(t){const e=t.length;for(let n=this.lastIndex;n<e;n++){const r=t.charCodeAt(n);if(r===10)return this.lastIndex=n+1,!0;if(r===13)return t.charCodeAt(n+1)===10?this.lastIndex=n+2:this.lastIndex=n+1,!0}return!1},lastIndex:0};function LR(t,e){if(be(t,"LINE_BREAKS"))return!1;if(fi(t.PATTERN)){try{cy(e,t.PATTERN)}catch(n){return{issue:bt.IDENTIFY_TERMINATOR,errMsg:n.message}}return!1}else{if(bn(t.PATTERN))return!1;if(OR(t))return{issue:bt.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}}function y5(t,e){if(e.issue===bt.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern.
43
- The problem is in the <${t.name}> Token Type
44
- Root cause: ${e.errMsg}.
45
- For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(e.issue===bt.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the <line_breaks> option.
46
- The problem is in the <${t.name}> Token Type
47
- For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function FR(t){return de(t,n=>bn(n)?n.charCodeAt(0):n)}function uy(t,e,n){t[e]===void 0?t[e]=[n]:t[e].push(n)}const Hc=256;let xf=[];function qi(t){return t<Hc?t:xf[t]}function v5(){if(tt(xf)){xf=new Array(65536);for(let t=0;t<65536;t++)xf[t]=t>255?255+~~(t/255):t}}function Vc(t,e){const n=t.tokenTypeIdx;return n===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[n]===!0}function If(t,e){return t.tokenTypeIdx===e.tokenTypeIdx}let MR=1;const zR={};function Kc(t){const e=w5(t);b5(e),D5(e),E5(e),ve(e,n=>{n.isParent=n.categoryMatches.length>0})}function w5(t){let e=Ut(t),n=t,r=!0;for(;r;){n=jc(Xn(de(n,s=>s.CATEGORIES)));const i=Ef(n,e);e=e.concat(i),tt(i)?r=!1:n=i}return e}function b5(t){ve(t,e=>{qR(e)||(zR[MR]=e,e.tokenTypeIdx=MR++),jR(e)&&!Be(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),jR(e)||(e.CATEGORIES=[]),T5(e)||(e.categoryMatches=[]),R5(e)||(e.categoryMatchesMap={})})}function E5(t){ve(t,e=>{e.categoryMatches=[],ve(e.categoryMatchesMap,(n,r)=>{e.categoryMatches.push(zR[r].tokenTypeIdx)})})}function D5(t){ve(t,e=>{BR([],e)})}function BR(t,e){ve(t,n=>{e.categoryMatchesMap[n.tokenTypeIdx]=!0}),ve(e.CATEGORIES,n=>{const r=t.concat(e);on(r,n)||BR(r,n)})}function qR(t){return be(t,"tokenTypeIdx")}function jR(t){return be(t,"CATEGORIES")}function T5(t){return be(t,"categoryMatches")}function R5(t){return be(t,"categoryMatchesMap")}function S5(t){return be(t,"tokenTypeIdx")}const k5={buildUnableToPopLexerModeMessage(t){return`Unable to pop Lexer Mode after encountering Token ->${t.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(t,e,n,r,i){return`unexpected character: ->${t.charAt(e)}<- at offset: ${e}, skipped ${n} characters.`}};var bt;(function(t){t[t.MISSING_PATTERN=0]="MISSING_PATTERN",t[t.INVALID_PATTERN=1]="INVALID_PATTERN",t[t.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",t[t.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",t[t.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",t[t.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",t[t.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",t[t.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",t[t.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",t[t.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",t[t.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",t[t.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",t[t.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",t[t.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",t[t.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",t[t.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",t[t.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",t[t.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE"})(bt||(bt={}));const Yc={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[`
48
- `,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:k5,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(Yc);class Rn{constructor(e,n=Yc){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(i,s)=>{if(this.traceInitPerf===!0){this.traceInitIndent++;const o=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${o}--> <${i}>`);const{time:a,value:c}=kR(s),u=a>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&u(`${o}<-- <${i}> time: ${a}ms`),this.traceInitIndent--,c}else return s()},typeof n=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object.
49
- a boolean 2nd argument is no longer supported`);this.config=xn({},Yc,n);const r=this.config.traceInitPerf;r===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof r=="number"&&(this.traceInitMaxIdent=r,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let i,s=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===Yc.lineTerminatorsPattern)this.config.lineTerminatorsPattern=g5;else if(this.config.lineTerminatorCharacters===Yc.lineTerminatorCharacters)throw Error(`Error: Missing <lineTerminatorCharacters> property on the Lexer config.
50
- For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(n.safeMode&&n.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),Be(e)?i={modes:{defaultMode:Ut(e)},defaultMode:Wc}:(s=!1,i=Ut(e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(f5(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(h5(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes?i.modes:{},ve(i.modes,(a,c)=>{i.modes[c]=Df(a,u=>hi(u))});const o=Yn(i.modes);if(ve(i.modes,(a,c)=>{this.TRACE_INIT(`Mode: <${c}> processing`,()=>{if(this.modes.push(c),this.config.skipValidations===!1&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(X6(a,o))}),tt(this.lexerDefinitionErrors)){Kc(a);let u;this.TRACE_INIT("analyzeTokenTypes",()=>{u=Y6(a,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:n.positionTracking,ensureOptimizations:n.ensureOptimizations,safeMode:n.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[c]=u.patternIdxToConfig,this.charCodeToPatternIdxToConfig[c]=u.charCodeToPatternIdxToConfig,this.emptyGroups=xn({},this.emptyGroups,u.emptyGroups),this.hasCustom=u.hasCustom||this.hasCustom,this.canModeBeOptimized[c]=u.canBeOptimized}})}),this.defaultMode=i.defaultMode,!tt(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling){const c=de(this.lexerDefinitionErrors,u=>u.message).join(`-----------------------
51
- `);throw new Error(`Errors detected in definition of Lexer:
52
- `+c)}ve(this.lexerDefinitionWarning,a=>{SR(a.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(IR?(this.chopInput=xs,this.match=this.matchWithTest):(this.updateLastIndex=Nt,this.match=this.matchWithExec),s&&(this.handleModes=Nt),this.trackStartLines===!1&&(this.computeNewColumn=xs),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=Nt),/full/i.test(this.config.positionTracking))this.createTokenInstance=this.createFullToken;else if(/onlyStart/i.test(this.config.positionTracking))this.createTokenInstance=this.createStartOnlyToken;else if(/onlyOffset/i.test(this.config.positionTracking))this.createTokenInstance=this.createOffsetOnlyToken;else throw Error(`Invalid <positionTracking> config option: "${this.config.positionTracking}"`);this.hasCustom?(this.addToken=this.addTokenUsingPush,this.handlePayload=this.handlePayloadWithCustom):(this.addToken=this.addTokenUsingMemberAccess,this.handlePayload=this.handlePayloadNoCustom)}),this.TRACE_INIT("Failed Optimization Warnings",()=>{const a=an(this.canModeBeOptimized,(c,u,l)=>(u===!1&&c.push(l),c),[]);if(n.ensureOptimizations&&!tt(a))throw Error(`Lexer Modes: < ${a.join(", ")} > cannot be optimized.
53
- Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode.
54
- Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{W6()}),this.TRACE_INIT("toFastProperties",()=>{$R(this)})})}tokenize(e,n=this.defaultMode){if(!tt(this.lexerDefinitionErrors)){const i=de(this.lexerDefinitionErrors,s=>s.message).join(`-----------------------
55
- `);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer:
56
- `+i)}return this.tokenizeInternal(e,n)}tokenizeInternal(e,n){let r,i,s,o,a,c,u,l,d,f,h,p,m,g,y;const w=e,E=w.length;let k=0,A=0;const I=this.hasCustom?0:Math.floor(e.length/10),x=new Array(I),_=[];let P=this.trackStartLines?1:void 0,O=this.trackStartLines?1:void 0;const C=p5(this.emptyGroups),D=this.trackStartLines,R=this.config.lineTerminatorsPattern;let F=0,W=[],V=[];const Z=[],Le=[];Object.freeze(Le);let se;function K(){return W}function Te(ne){const fe=qi(ne),Ee=V[fe];return Ee===void 0?Le:Ee}const ut=ne=>{if(Z.length===1&&ne.tokenType.PUSH_MODE===void 0){const fe=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(ne);_.push({offset:ne.startOffset,line:ne.startLine,column:ne.startColumn,length:ne.image.length,message:fe})}else{Z.pop();const fe=Wo(Z);W=this.patternIdxToConfig[fe],V=this.charCodeToPatternIdxToConfig[fe],F=W.length;const Ee=this.canModeBeOptimized[fe]&&this.config.safeMode===!1;V&&Ee?se=Te:se=K}};function H(ne){Z.push(ne),V=this.charCodeToPatternIdxToConfig[ne],W=this.patternIdxToConfig[ne],F=W.length,F=W.length;const fe=this.canModeBeOptimized[ne]&&this.config.safeMode===!1;V&&fe?se=Te:se=K}H.call(this,n);let Y;const ee=this.config.recoveryEnabled;for(;k<E;){c=null;const ne=w.charCodeAt(k),fe=se(ne),Ee=fe.length;for(r=0;r<Ee;r++){Y=fe[r];const ge=Y.pattern;u=null;const ce=Y.short;if(ce!==!1?ne===ce&&(c=ge):Y.isCustom===!0?(y=ge.exec(w,k,x,C),y!==null?(c=y[0],y.payload!==void 0&&(u=y.payload)):c=null):(this.updateLastIndex(ge,k),c=this.match(ge,e,k)),c!==null){if(a=Y.longerAlt,a!==void 0){const M=a.length;for(s=0;s<M;s++){const U=W[a[s]],oe=U.pattern;if(l=null,U.isCustom===!0?(y=oe.exec(w,k,x,C),y!==null?(o=y[0],y.payload!==void 0&&(l=y.payload)):o=null):(this.updateLastIndex(oe,k),o=this.match(oe,e,k)),o&&o.length>c.length){c=o,u=l,Y=U;break}}}break}}if(c!==null){if(d=c.length,f=Y.group,f!==void 0&&(h=Y.tokenTypeIdx,p=this.createTokenInstance(c,k,h,Y.tokenType,P,O,d),this.handlePayload(p,u),f===!1?A=this.addToken(x,A,p):C[f].push(p)),e=this.chopInput(e,d),k=k+d,O=this.computeNewColumn(O,d),D===!0&&Y.canLineTerminator===!0){let ge=0,ce,M;R.lastIndex=0;do ce=R.test(c),ce===!0&&(M=R.lastIndex-1,ge++);while(ce===!0);ge!==0&&(P=P+ge,O=d-M,this.updateTokenEndLineColumnLocation(p,f,M,ge,P,O,d))}this.handleModes(Y,ut,H,p)}else{const ge=k,ce=P,M=O;let U=ee===!1;for(;U===!1&&k<E;)for(e=this.chopInput(e,1),k++,i=0;i<F;i++){const oe=W[i],G=oe.pattern,Fe=oe.short;if(Fe!==!1?w.charCodeAt(k)===Fe&&(U=!0):oe.isCustom===!0?U=G.exec(w,k,x,C)!==null:(this.updateLastIndex(G,k),U=G.exec(e)!==null),U===!0)break}if(m=k-ge,O=this.computeNewColumn(O,m),g=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(w,ge,m,ce,M),_.push({offset:ge,line:ce,column:M,length:m,message:g}),ee===!1)break}}return this.hasCustom||(x.length=A),{tokens:x,groups:C,errors:_}}handleModes(e,n,r,i){if(e.pop===!0){const s=e.push;n(i),s!==void 0&&r.call(this,s)}else e.push!==void 0&&r.call(this,e.push)}chopInput(e,n){return e.substring(n)}updateLastIndex(e,n){e.lastIndex=n}updateTokenEndLineColumnLocation(e,n,r,i,s,o,a){let c,u;n!==void 0&&(c=r===a-1,u=c?-1:0,i===1&&c===!0||(e.endLine=s+u,e.endColumn=o-1+-u))}computeNewColumn(e,n){return e+n}createOffsetOnlyToken(e,n,r,i){return{image:e,startOffset:n,tokenTypeIdx:r,tokenType:i}}createStartOnlyToken(e,n,r,i,s,o){return{image:e,startOffset:n,startLine:s,startColumn:o,tokenTypeIdx:r,tokenType:i}}createFullToken(e,n,r,i,s,o,a){return{image:e,startOffset:n,endOffset:n+a-1,startLine:s,endLine:s,startColumn:o,endColumn:o+a-1,tokenTypeIdx:r,tokenType:i}}addTokenUsingPush(e,n,r){return e.push(r),n}addTokenUsingMemberAccess(e,n,r){return e[n]=r,n++,n}handlePayloadNoCustom(e,n){}handlePayloadWithCustom(e,n){n!==null&&(e.payload=n)}matchWithTest(e,n,r){return e.test(n)===!0?n.substring(r,e.lastIndex):null}matchWithExec(e,n){const r=e.exec(n);return r!==null?r[0]:null}}Rn.SKIPPED="This marks a skipped Token pattern, this means each token identified by it willbe consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.",Rn.NA=/NOT_APPLICABLE/;function Yo(t){return UR(t)?t.LABEL:t.name}function UR(t){return bn(t.LABEL)&&t.LABEL!==""}const $5="parent",GR="categories",WR="label",HR="group",VR="push_mode",KR="pop_mode",YR="longer_alt",XR="line_breaks",JR="start_chars_hint";function ZR(t){return C5(t)}function C5(t){const e=t.pattern,n={};if(n.name=t.name,hi(e)||(n.PATTERN=e),be(t,$5))throw`The parent property is no longer supported.
57
- See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return be(t,GR)&&(n.CATEGORIES=t[GR]),Kc([n]),be(t,WR)&&(n.LABEL=t[WR]),be(t,HR)&&(n.GROUP=t[HR]),be(t,KR)&&(n.POP_MODE=t[KR]),be(t,VR)&&(n.PUSH_MODE=t[VR]),be(t,YR)&&(n.LONGER_ALT=t[YR]),be(t,XR)&&(n.LINE_BREAKS=t[XR]),be(t,JR)&&(n.START_CHARS_HINT=t[JR]),n}const ji=ZR({name:"EOF",pattern:Rn.NA});Kc([ji]);function ly(t,e,n,r,i,s,o,a){return{image:e,startOffset:n,endOffset:r,startLine:i,endLine:s,startColumn:o,endColumn:a,tokenTypeIdx:t.tokenTypeIdx,tokenType:t}}function QR(t,e){return Vc(t,e)}const Xo={buildMismatchTokenMessage({expected:t,actual:e,previous:n,ruleName:r}){return`Expecting ${UR(t)?`--> ${Yo(t)} <--`:`token of type --> ${t.name} <--`} but found --> '${e.image}' <--`},buildNotAllInputParsedMessage({firstRedundant:t,ruleName:e}){return"Redundant input, expecting EOF but found: "+t.image},buildNoViableAltMessage({expectedPathsPerAlt:t,actual:e,previous:n,customUserDescription:r,ruleName:i}){const s="Expecting: ",a=`
58
- but found: '`+fr(e).image+"'";if(r)return s+r+a;{const c=an(t,(f,h)=>f.concat(h),[]),u=de(c,f=>`[${de(f,h=>Yo(h)).join(", ")}]`),d=`one of these possible Token sequences:
59
- ${de(u,(f,h)=>` ${h+1}. ${f}`).join(`
60
- `)}`;return s+d+a}},buildEarlyExitMessage({expectedIterationPaths:t,actual:e,customUserDescription:n,ruleName:r}){const i="Expecting: ",o=`
61
- but found: '`+fr(e).image+"'";if(n)return i+n+o;{const c=`expecting at least one iteration which starts with one of these possible Token sequences::
62
- <${de(t,u=>`[${de(u,l=>Yo(l)).join(",")}]`).join(" ,")}>`;return i+c+o}}};Object.freeze(Xo);const _5={buildRuleNotFoundError(t,e){return"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<-
63
- inside top level rule: ->`+t.name+"<-"}},Fs={buildDuplicateFoundError(t,e){function n(l){return l instanceof ot?l.terminalType.name:l instanceof cn?l.nonTerminalName:""}const r=t.name,i=fr(e),s=i.idx,o=Fr(i),a=n(i),c=s>0;let u=`->${o}${c?s:""}<- ${a?`with argument: ->${a}<-`:""}
64
- appears more than once (${e.length} times) in the top level rule: ->${r}<-.
65
- For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES
66
- `;return u=u.replace(/[ \t]+/g," "),u=u.replace(/\s\s+/g,`
67
- `),u},buildNamespaceConflictError(t){return`Namespace conflict found in grammar.
68
- The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${t.name}>.
69
- To resolve this make sure each Terminal and Non-Terminal names are unique
70
- This is easy to accomplish by using the convention that Terminal names start with an uppercase letter
71
- and Non-Terminal names start with a lower case letter.`},buildAlternationPrefixAmbiguityError(t){const e=de(t.prefixPath,i=>Yo(i)).join(", "),n=t.alternation.idx===0?"":t.alternation.idx;return`Ambiguous alternatives: <${t.ambiguityIndices.join(" ,")}> due to common lookahead prefix
72
- in <OR${n}> inside <${t.topLevelRule.name}> Rule,
73
- <${e}> may appears as a prefix path in all these alternatives.
74
- See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX
75
- For Further details.`},buildAlternationAmbiguityError(t){const e=de(t.prefixPath,i=>Yo(i)).join(", "),n=t.alternation.idx===0?"":t.alternation.idx;let r=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(" ,")}> in <OR${n}> inside <${t.topLevelRule.name}> Rule,
76
- <${e}> may appears as a prefix path in all these alternatives.
77
- `;return r=r+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
78
- For Further details.`,r},buildEmptyRepetitionError(t){let e=Fr(t.repetition);return t.repetition.idx!==0&&(e+=t.repetition.idx),`The repetition <${e}> within Rule <${t.topLevelRule.name}> can never consume any tokens.
79
- This could lead to an infinite loop.`},buildTokenNameError(t){return"deprecated"},buildEmptyAlternationError(t){return`Ambiguous empty alternative: <${t.emptyChoiceIdx+1}> in <OR${t.alternation.idx}> inside <${t.topLevelRule.name}> Rule.
80
- Only the last alternative may be an empty alternative.`},buildTooManyAlternativesError(t){return`An Alternation cannot have more than 256 alternatives:
81
- <OR${t.alternation.idx}> inside <${t.topLevelRule.name}> Rule.
82
- has ${t.alternation.definition.length+1} alternatives.`},buildLeftRecursionError(t){const e=t.topLevelRule.name,n=de(t.leftRecursionPath,s=>s.name),r=`${e} --> ${n.concat([e]).join(" --> ")}`;return`Left Recursion found in grammar.
83
- rule: <${e}> can be invoked from itself (directly or indirectly)
84
- without consuming any Tokens. The grammar path that causes this is:
85
- ${r}
86
- To fix this refactor your grammar to remove the left recursion.
87
- see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(t){return"deprecated"},buildDuplicateRuleNameError(t){let e;return t.topLevelRule instanceof Vo?e=t.topLevelRule.name:e=t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}};function A5(t,e){const n=new x5(t,e);return n.resolveRefs(),n.errors}class x5 extends Ko{constructor(e,n){super(),this.nameToTopRule=e,this.errMsgProvider=n,this.errors=[]}resolveRefs(){ve(Ot(this.nameToTopRule),e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){const n=this.nameToTopRule[e.nonTerminalName];if(n)e.referencedRule=n;else{const r=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:r,type:un.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}}class I5 extends Sf{constructor(e,n){super(),this.topProd=e,this.path=n,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=Ut(this.path.ruleStack).reverse(),this.occurrenceStack=Ut(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,n=[]){this.found||super.walk(e,n)}walkProdRef(e,n,r){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){const i=n.concat(r);this.updateExpectedNext(),this.walk(e.referencedRule,i)}}updateExpectedNext(){tt(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}}class P5 extends I5{constructor(e,n){super(e,n),this.path=n,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,n,r){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){const i=n.concat(r),s=new En({definition:i});this.possibleTokTypes=Gc(s),this.found=!0}}}class Pf extends Sf{constructor(e,n){super(),this.topRule=e,this.occurrence=n,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}}class N5 extends Pf{walkMany(e,n,r){if(e.idx===this.occurrence){const i=fr(n.concat(r));this.result.isEndOfRule=i===void 0,i instanceof ot&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,n,r)}}class e1 extends Pf{walkManySep(e,n,r){if(e.idx===this.occurrence){const i=fr(n.concat(r));this.result.isEndOfRule=i===void 0,i instanceof ot&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,n,r)}}class O5 extends Pf{walkAtLeastOne(e,n,r){if(e.idx===this.occurrence){const i=fr(n.concat(r));this.result.isEndOfRule=i===void 0,i instanceof ot&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,n,r)}}class t1 extends Pf{walkAtLeastOneSep(e,n,r){if(e.idx===this.occurrence){const i=fr(n.concat(r));this.result.isEndOfRule=i===void 0,i instanceof ot&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,n,r)}}function dy(t,e,n=[]){n=Ut(n);let r=[],i=0;function s(a){return a.concat(Gt(t,i+1))}function o(a){const c=dy(s(a),e,n);return r.concat(c)}for(;n.length<e&&i<t.length;){const a=t[i];if(a instanceof En)return o(a.definition);if(a instanceof cn)return o(a.definition);if(a instanceof Wt)r=o(a.definition);else if(a instanceof Nn){const c=a.definition.concat([new wt({definition:a.definition})]);return o(c)}else if(a instanceof On){const c=[new En({definition:a.definition}),new wt({definition:[new ot({terminalType:a.separator})].concat(a.definition)})];return o(c)}else if(a instanceof Dn){const c=a.definition.concat([new wt({definition:[new ot({terminalType:a.separator})].concat(a.definition)})]);r=o(c)}else if(a instanceof wt){const c=a.definition.concat([new wt({definition:a.definition})]);r=o(c)}else{if(a instanceof Tn)return ve(a.definition,c=>{tt(c.definition)===!1&&(r=o(c.definition))}),r;if(a instanceof ot)n.push(a.terminalType);else throw Error("non exhaustive match")}i++}return r.push({partialPath:n,suffixDef:Gt(t,i)}),r}function n1(t,e,n,r){const i="EXIT_NONE_TERMINAL",s=[i],o="EXIT_ALTERNATIVE";let a=!1;const c=e.length,u=c-r-1,l=[],d=[];for(d.push({idx:-1,def:t,ruleStack:[],occurrenceStack:[]});!tt(d);){const f=d.pop();if(f===o){a&&Wo(d).idx<=u&&d.pop();continue}const h=f.def,p=f.idx,m=f.ruleStack,g=f.occurrenceStack;if(tt(h))continue;const y=h[0];if(y===i){const w={idx:p,def:Gt(h),ruleStack:Uc(m),occurrenceStack:Uc(g)};d.push(w)}else if(y instanceof ot)if(p<c-1){const w=p+1,E=e[w];if(n(E,y.terminalType)){const k={idx:w,def:Gt(h),ruleStack:m,occurrenceStack:g};d.push(k)}}else if(p===c-1)l.push({nextTokenType:y.terminalType,nextTokenOccurrence:y.idx,ruleStack:m,occurrenceStack:g}),a=!0;else throw Error("non exhaustive match");else if(y instanceof cn){const w=Ut(m);w.push(y.nonTerminalName);const E=Ut(g);E.push(y.idx);const k={idx:p,def:y.definition.concat(s,Gt(h)),ruleStack:w,occurrenceStack:E};d.push(k)}else if(y instanceof Wt){const w={idx:p,def:Gt(h),ruleStack:m,occurrenceStack:g};d.push(w),d.push(o);const E={idx:p,def:y.definition.concat(Gt(h)),ruleStack:m,occurrenceStack:g};d.push(E)}else if(y instanceof Nn){const w=new wt({definition:y.definition,idx:y.idx}),E=y.definition.concat([w],Gt(h)),k={idx:p,def:E,ruleStack:m,occurrenceStack:g};d.push(k)}else if(y instanceof On){const w=new ot({terminalType:y.separator}),E=new wt({definition:[w].concat(y.definition),idx:y.idx}),k=y.definition.concat([E],Gt(h)),A={idx:p,def:k,ruleStack:m,occurrenceStack:g};d.push(A)}else if(y instanceof Dn){const w={idx:p,def:Gt(h),ruleStack:m,occurrenceStack:g};d.push(w),d.push(o);const E=new ot({terminalType:y.separator}),k=new wt({definition:[E].concat(y.definition),idx:y.idx}),A=y.definition.concat([k],Gt(h)),I={idx:p,def:A,ruleStack:m,occurrenceStack:g};d.push(I)}else if(y instanceof wt){const w={idx:p,def:Gt(h),ruleStack:m,occurrenceStack:g};d.push(w),d.push(o);const E=new wt({definition:y.definition,idx:y.idx}),k=y.definition.concat([E],Gt(h)),A={idx:p,def:k,ruleStack:m,occurrenceStack:g};d.push(A)}else if(y instanceof Tn)for(let w=y.definition.length-1;w>=0;w--){const E=y.definition[w],k={idx:p,def:E.definition.concat(Gt(h)),ruleStack:m,occurrenceStack:g};d.push(k),d.push(o)}else if(y instanceof En)d.push({idx:p,def:y.definition.concat(Gt(h)),ruleStack:m,occurrenceStack:g});else if(y instanceof Vo)d.push(L5(y,p,m,g));else throw Error("non exhaustive match")}return l}function L5(t,e,n,r){const i=Ut(n);i.push(t.name);const s=Ut(r);return s.push(1),{idx:e,def:t.definition,ruleStack:i,occurrenceStack:s}}var pt;(function(t){t[t.OPTION=0]="OPTION",t[t.REPETITION=1]="REPETITION",t[t.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",t[t.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",t[t.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",t[t.ALTERNATION=5]="ALTERNATION"})(pt||(pt={}));function fy(t){if(t instanceof Wt||t==="Option")return pt.OPTION;if(t instanceof wt||t==="Repetition")return pt.REPETITION;if(t instanceof Nn||t==="RepetitionMandatory")return pt.REPETITION_MANDATORY;if(t instanceof On||t==="RepetitionMandatoryWithSeparator")return pt.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof Dn||t==="RepetitionWithSeparator")return pt.REPETITION_WITH_SEPARATOR;if(t instanceof Tn||t==="Alternation")return pt.ALTERNATION;throw Error("non exhaustive match")}function r1(t){const{occurrence:e,rule:n,prodType:r,maxLookahead:i}=t,s=fy(r);return s===pt.ALTERNATION?Nf(e,n,i):Of(e,n,s,i)}function F5(t,e,n,r,i,s){const o=Nf(t,e,n),a=a1(o)?If:Vc;return s(o,r,a,i)}function M5(t,e,n,r,i,s){const o=Of(t,e,i,n),a=a1(o)?If:Vc;return s(o[0],a,r)}function z5(t,e,n,r){const i=t.length,s=dr(t,o=>dr(o,a=>a.length===1));if(e)return function(o){const a=de(o,c=>c.GATE);for(let c=0;c<i;c++){const u=t[c],l=u.length,d=a[c];if(!(d!==void 0&&d.call(this)===!1))e:for(let f=0;f<l;f++){const h=u[f],p=h.length;for(let m=0;m<p;m++){const g=this.LA(m+1);if(n(g,h[m])===!1)continue e}return c}}};if(s&&!r){const o=de(t,c=>Xn(c)),a=an(o,(c,u,l)=>(ve(u,d=>{be(c,d.tokenTypeIdx)||(c[d.tokenTypeIdx]=l),ve(d.categoryMatches,f=>{be(c,f)||(c[f]=l)})}),c),{});return function(){const c=this.LA(1);return a[c.tokenTypeIdx]}}else return function(){for(let o=0;o<i;o++){const a=t[o],c=a.length;e:for(let u=0;u<c;u++){const l=a[u],d=l.length;for(let f=0;f<d;f++){const h=this.LA(f+1);if(n(h,l[f])===!1)continue e}return o}}}}function B5(t,e,n){const r=dr(t,s=>s.length===1),i=t.length;if(r&&!n){const s=Xn(t);if(s.length===1&&tt(s[0].categoryMatches)){const a=s[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===a}}else{const o=an(s,(a,c,u)=>(a[c.tokenTypeIdx]=!0,ve(c.categoryMatches,l=>{a[l]=!0}),a),[]);return function(){const a=this.LA(1);return o[a.tokenTypeIdx]===!0}}}else return function(){e:for(let s=0;s<i;s++){const o=t[s],a=o.length;for(let c=0;c<a;c++){const u=this.LA(c+1);if(e(u,o[c])===!1)continue e}return!0}return!1}}class q5 extends Sf{constructor(e,n,r){super(),this.topProd=e,this.targetOccurrence=n,this.targetProdType=r}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(e,n,r,i){return e.idx===this.targetOccurrence&&this.targetProdType===n?(this.restDef=r.concat(i),!0):!1}walkOption(e,n,r){this.checkIsTarget(e,pt.OPTION,n,r)||super.walkOption(e,n,r)}walkAtLeastOne(e,n,r){this.checkIsTarget(e,pt.REPETITION_MANDATORY,n,r)||super.walkOption(e,n,r)}walkAtLeastOneSep(e,n,r){this.checkIsTarget(e,pt.REPETITION_MANDATORY_WITH_SEPARATOR,n,r)||super.walkOption(e,n,r)}walkMany(e,n,r){this.checkIsTarget(e,pt.REPETITION,n,r)||super.walkOption(e,n,r)}walkManySep(e,n,r){this.checkIsTarget(e,pt.REPETITION_WITH_SEPARATOR,n,r)||super.walkOption(e,n,r)}}class i1 extends Ko{constructor(e,n,r){super(),this.targetOccurrence=e,this.targetProdType=n,this.targetRef=r,this.result=[]}checkIsTarget(e,n){e.idx===this.targetOccurrence&&this.targetProdType===n&&(this.targetRef===void 0||e===this.targetRef)&&(this.result=e.definition)}visitOption(e){this.checkIsTarget(e,pt.OPTION)}visitRepetition(e){this.checkIsTarget(e,pt.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,pt.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,pt.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,pt.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,pt.ALTERNATION)}}function s1(t){const e=new Array(t);for(let n=0;n<t;n++)e[n]=[];return e}function hy(t){let e=[""];for(let n=0;n<t.length;n++){const r=t[n],i=[];for(let s=0;s<e.length;s++){const o=e[s];i.push(o+"_"+r.tokenTypeIdx);for(let a=0;a<r.categoryMatches.length;a++){const c="_"+r.categoryMatches[a];i.push(o+c)}}e=i}return e}function j5(t,e,n){for(let r=0;r<t.length;r++){if(r===n)continue;const i=t[r];for(let s=0;s<e.length;s++){const o=e[s];if(i[o]===!0)return!1}}return!0}function o1(t,e){const n=de(t,o=>dy([o],1)),r=s1(n.length),i=de(n,o=>{const a={};return ve(o,c=>{const u=hy(c.partialPath);ve(u,l=>{a[l]=!0})}),a});let s=n;for(let o=1;o<=e;o++){const a=s;s=s1(a.length);for(let c=0;c<a.length;c++){const u=a[c];for(let l=0;l<u.length;l++){const d=u[l].partialPath,f=u[l].suffixDef,h=hy(d);if(j5(i,h,c)||tt(f)||d.length===e){const m=r[c];if(py(m,d)===!1){m.push(d);for(let g=0;g<h.length;g++){const y=h[g];i[c][y]=!0}}}else{const m=dy(f,o+1,d);s[c]=s[c].concat(m),ve(m,g=>{const y=hy(g.partialPath);ve(y,w=>{i[c][w]=!0})})}}}}return r}function Nf(t,e,n,r){const i=new i1(t,pt.ALTERNATION,r);return e.accept(i),o1(i.result,n)}function Of(t,e,n,r){const i=new i1(t,n);e.accept(i);const s=i.result,a=new q5(e,t,n).startWalking(),c=new En({definition:s}),u=new En({definition:a});return o1([c,u],r)}function py(t,e){e:for(let n=0;n<t.length;n++){const r=t[n];if(r.length===e.length){for(let i=0;i<r.length;i++){const s=e[i],o=r[i];if((s===o||o.categoryMatchesMap[s.tokenTypeIdx]!==void 0)===!1)continue e}return!0}}return!1}function U5(t,e){return t.length<e.length&&dr(t,(n,r)=>{const i=e[r];return n===i||i.categoryMatchesMap[n.tokenTypeIdx]})}function a1(t){return dr(t,e=>dr(e,n=>dr(n,r=>tt(r.categoryMatches))))}function G5(t){const e=t.lookaheadStrategy.validate({rules:t.rules,tokenTypes:t.tokenTypes,grammarName:t.grammarName});return de(e,n=>Object.assign({type:un.CUSTOM_LOOKAHEAD_VALIDATION},n))}function W5(t,e,n,r){const i=Pn(t,c=>H5(c,n)),s=iq(t,e,n),o=Pn(t,c=>eq(c,n)),a=Pn(t,c=>Y5(c,t,r,n));return i.concat(s,o,a)}function H5(t,e){const n=new K5;t.accept(n);const r=n.allProductions,i=a6(r,V5),s=hr(i,a=>a.length>1);return de(Ot(s),a=>{const c=fr(a),u=e.buildDuplicateFoundError(t,a),l=Fr(c),d={message:u,type:un.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:l,occurrence:c.idx},f=c1(c);return f&&(d.parameter=f),d})}function V5(t){return`${Fr(t)}_#_${t.idx}_#_${c1(t)}`}function c1(t){return t instanceof ot?t.terminalType.name:t instanceof cn?t.nonTerminalName:""}class K5 extends Ko{constructor(){super(...arguments),this.allProductions=[]}visitNonTerminal(e){this.allProductions.push(e)}visitOption(e){this.allProductions.push(e)}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}visitAlternation(e){this.allProductions.push(e)}visitTerminal(e){this.allProductions.push(e)}}function Y5(t,e,n,r){const i=[];if(an(e,(o,a)=>a.name===t.name?o+1:o,0)>1){const o=r.buildDuplicateRuleNameError({topLevelRule:t,grammarName:n});i.push({message:o,type:un.DUPLICATE_RULE_NAME,ruleName:t.name})}return i}function X5(t,e,n){const r=[];let i;return on(e,t)||(i=`Invalid rule override, rule: ->${t}<- cannot be overridden in the grammar: ->${n}<-as it is not defined in any of the super grammars `,r.push({message:i,type:un.INVALID_RULE_OVERRIDE,ruleName:t})),r}function u1(t,e,n,r=[]){const i=[],s=Lf(e.definition);if(tt(s))return[];{const o=t.name;on(s,t)&&i.push({message:n.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:r}),type:un.LEFT_RECURSION,ruleName:o});const c=Ef(s,r.concat([t])),u=Pn(c,l=>{const d=Ut(r);return d.push(l),u1(t,l,n,d)});return i.concat(u)}}function Lf(t){let e=[];if(tt(t))return e;const n=fr(t);if(n instanceof cn)e.push(n.referencedRule);else if(n instanceof En||n instanceof Wt||n instanceof Nn||n instanceof On||n instanceof Dn||n instanceof wt)e=e.concat(Lf(n.definition));else if(n instanceof Tn)e=Xn(de(n.definition,s=>Lf(s.definition)));else if(!(n instanceof ot))throw Error("non exhaustive match");const r=Rf(n),i=t.length>1;if(r&&i){const s=Gt(t);return e.concat(Lf(s))}else return e}class my extends Ko{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}}function J5(t,e){const n=new my;t.accept(n);const r=n.alternations;return Pn(r,s=>{const o=Uc(s.definition);return Pn(o,(a,c)=>{const u=n1([a],[],Vc,1);return tt(u)?[{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:s,emptyChoiceIdx:c}),type:un.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:s.idx,alternative:c+1}]:[]})})}function Z5(t,e,n){const r=new my;t.accept(r);let i=r.alternations;return i=Df(i,o=>o.ignoreAmbiguities===!0),Pn(i,o=>{const a=o.idx,c=o.maxLookahead||e,u=Nf(a,t,c,o),l=nq(u,o,t,n),d=rq(u,o,t,n);return l.concat(d)})}class Q5 extends Ko{constructor(){super(...arguments),this.allProductions=[]}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}}function eq(t,e){const n=new my;t.accept(n);const r=n.alternations;return Pn(r,s=>s.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:s}),type:un.TOO_MANY_ALTS,ruleName:t.name,occurrence:s.idx}]:[])}function tq(t,e,n){const r=[];return ve(t,i=>{const s=new Q5;i.accept(s);const o=s.allProductions;ve(o,a=>{const c=fy(a),u=a.maxLookahead||e,l=a.idx,f=Of(l,i,c,u)[0];if(tt(Xn(f))){const h=n.buildEmptyRepetitionError({topLevelRule:i,repetition:a});r.push({message:h,type:un.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),r}function nq(t,e,n,r){const i=[],s=an(t,(a,c,u)=>(e.definition[u].ignoreAmbiguities===!0||ve(c,l=>{const d=[u];ve(t,(f,h)=>{u!==h&&py(f,l)&&e.definition[h].ignoreAmbiguities!==!0&&d.push(h)}),d.length>1&&!py(i,l)&&(i.push(l),a.push({alts:d,path:l}))}),a),[]);return de(s,a=>{const c=de(a.alts,l=>l+1);return{message:r.buildAlternationAmbiguityError({topLevelRule:n,alternation:e,ambiguityIndices:c,prefixPath:a.path}),type:un.AMBIGUOUS_ALTS,ruleName:n.name,occurrence:e.idx,alternatives:a.alts}})}function rq(t,e,n,r){const i=an(t,(o,a,c)=>{const u=de(a,l=>({idx:c,path:l}));return o.concat(u)},[]);return jc(Pn(i,o=>{if(e.definition[o.idx].ignoreAmbiguities===!0)return[];const c=o.idx,u=o.path,l=In(i,f=>e.definition[f.idx].ignoreAmbiguities!==!0&&f.idx<c&&U5(f.path,u));return de(l,f=>{const h=[f.idx+1,c+1],p=e.idx===0?"":e.idx;return{message:r.buildAlternationPrefixAmbiguityError({topLevelRule:n,alternation:e,ambiguityIndices:h,prefixPath:f.path}),type:un.AMBIGUOUS_PREFIX_ALTS,ruleName:n.name,occurrence:p,alternatives:h}})}))}function iq(t,e,n){const r=[],i=de(e,s=>s.name);return ve(t,s=>{const o=s.name;if(on(i,o)){const a=n.buildNamespaceConflictError(s);r.push({message:a,type:un.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:o})}}),r}function sq(t){const e=ry(t,{errMsgProvider:_5}),n={};return ve(t.rules,r=>{n[r.name]=r}),A5(n,e.errMsgProvider)}function oq(t){return t=ry(t,{errMsgProvider:Fs}),W5(t.rules,t.tokenTypes,t.errMsgProvider,t.grammarName)}const l1="MismatchedTokenException",d1="NoViableAltException",f1="EarlyExitException",h1="NotAllInputParsedException",p1=[l1,d1,f1,h1];Object.freeze(p1);function Ff(t){return on(p1,t.name)}class Mf extends Error{constructor(e,n){super(e),this.token=n,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}class m1 extends Mf{constructor(e,n,r){super(e,n),this.previousToken=r,this.name=l1}}class aq extends Mf{constructor(e,n,r){super(e,n),this.previousToken=r,this.name=d1}}class cq extends Mf{constructor(e,n){super(e,n),this.name=h1}}class uq extends Mf{constructor(e,n,r){super(e,n),this.previousToken=r,this.name=f1}}const gy={},g1="InRuleRecoveryException";class lq extends Error{constructor(e){super(e),this.name=g1}}class dq{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=be(e,"recoveryEnabled")?e.recoveryEnabled:pi.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=fq)}getTokenToInsert(e){const n=ly(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return n.isInsertedInRecovery=!0,n}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,n,r,i){const s=this.findReSyncTokenType(),o=this.exportLexerState(),a=[];let c=!1;const u=this.LA(1);let l=this.LA(1);const d=()=>{const f=this.LA(0),h=this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:u,previous:f,ruleName:this.getCurrRuleFullName()}),p=new m1(h,u,this.LA(0));p.resyncedTokens=Uc(a),this.SAVE_ERROR(p)};for(;!c;)if(this.tokenMatcher(l,i)){d();return}else if(r.call(this)){d(),e.apply(this,n);return}else this.tokenMatcher(l,s)?c=!0:(l=this.SKIP_TOKEN(),this.addToResyncTokens(l,a));this.importLexerState(o)}shouldInRepetitionRecoveryBeTried(e,n,r){return!(r===!1||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,n)))}getFollowsForInRuleRecovery(e,n){const r=this.getCurrentGrammarPath(e,n);return this.getNextPossibleTokenTypes(r)}tryInRuleRecovery(e,n){if(this.canRecoverWithSingleTokenInsertion(e,n))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){const r=this.SKIP_TOKEN();return this.consumeToken(),r}throw new lq("sad sad panda")}canPerformInRuleRecovery(e,n){return this.canRecoverWithSingleTokenInsertion(e,n)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,n){if(!this.canTokenTypeBeInsertedInRecovery(e)||tt(n))return!1;const r=this.LA(1);return Ho(n,s=>this.tokenMatcher(r,s))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){const n=this.getCurrFollowKey(),r=this.getFollowSetFromFollowKey(n);return on(r,e)}findReSyncTokenType(){const e=this.flattenFollowSet();let n=this.LA(1),r=2;for(;;){const i=Ho(e,s=>QR(n,s));if(i!==void 0)return i;n=this.LA(r),r++}}getCurrFollowKey(){if(this.RULE_STACK.length===1)return gy;const e=this.getLastExplicitRuleShortName(),n=this.getLastExplicitRuleOccurrenceIndex(),r=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:n,inRule:this.shortRuleNameToFullName(r)}}buildFullFollowKeyStack(){const e=this.RULE_STACK,n=this.RULE_OCCURRENCE_STACK;return de(e,(r,i)=>i===0?gy:{ruleName:this.shortRuleNameToFullName(r),idxInCallingRule:n[i],inRule:this.shortRuleNameToFullName(e[i-1])})}flattenFollowSet(){const e=de(this.buildFullFollowKeyStack(),n=>this.getFollowSetFromFollowKey(n));return Xn(e)}getFollowSetFromFollowKey(e){if(e===gy)return[ji];const n=e.ruleName+e.idxInCallingRule+_R+e.inRule;return this.resyncFollows[n]}addToResyncTokens(e,n){return this.tokenMatcher(e,ji)||n.push(e),n}reSyncTo(e){const n=[];let r=this.LA(1);for(;this.tokenMatcher(r,e)===!1;)r=this.SKIP_TOKEN(),this.addToResyncTokens(r,n);return Uc(n)}attemptInRepetitionRecovery(e,n,r,i,s,o,a){}getCurrentGrammarPath(e,n){const r=this.getHumanReadableRuleStack(),i=Ut(this.RULE_OCCURRENCE_STACK);return{ruleStack:r,occurrenceStack:i,lastTok:e,lastTokOccurrence:n}}getHumanReadableRuleStack(){return de(this.RULE_STACK,e=>this.shortRuleNameToFullName(e))}}function fq(t,e,n,r,i,s,o){const a=this.getKeyForAutomaticLookahead(r,i);let c=this.firstAfterRepMap[a];if(c===void 0){const f=this.getCurrRuleFullName(),h=this.getGAstProductions()[f];c=new s(h,i).startWalking(),this.firstAfterRepMap[a]=c}let u=c.token,l=c.occurrence;const d=c.isEndOfRule;this.RULE_STACK.length===1&&d&&u===void 0&&(u=ji,l=1),!(u===void 0||l===void 0)&&this.shouldInRepetitionRecoveryBeTried(u,l,o)&&this.tryInRepetitionRecovery(t,e,n,u)}const hq=4,Ui=8,y1=1<<Ui,v1=2<<Ui,yy=3<<Ui,vy=4<<Ui,wy=5<<Ui,zf=6<<Ui;function by(t,e,n){return n|e|t}class Ey{constructor(e){var n;this.maxLookahead=(n=e?.maxLookahead)!==null&&n!==void 0?n:pi.maxLookahead}validate(e){const n=this.validateNoLeftRecursion(e.rules);if(tt(n)){const r=this.validateEmptyOrAlternatives(e.rules),i=this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),s=this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead);return[...n,...r,...i,...s]}return n}validateNoLeftRecursion(e){return Pn(e,n=>u1(n,n,Fs))}validateEmptyOrAlternatives(e){return Pn(e,n=>J5(n,Fs))}validateAmbiguousAlternationAlternatives(e,n){return Pn(e,r=>Z5(r,n,Fs))}validateSomeNonEmptyLookaheadPath(e,n){return tq(e,n,Fs)}buildLookaheadForAlternation(e){return F5(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,z5)}buildLookaheadForOptional(e){return M5(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,fy(e.prodType),B5)}}class pq{initLooksAhead(e){this.dynamicTokensEnabled=be(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:pi.dynamicTokensEnabled,this.maxLookahead=be(e,"maxLookahead")?e.maxLookahead:pi.maxLookahead,this.lookaheadStrategy=be(e,"lookaheadStrategy")?e.lookaheadStrategy:new Ey({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){ve(e,n=>{this.TRACE_INIT(`${n.name} Rule Lookahead`,()=>{const{alternation:r,repetition:i,option:s,repetitionMandatory:o,repetitionMandatoryWithSeparator:a,repetitionWithSeparator:c}=gq(n);ve(r,u=>{const l=u.idx===0?"":u.idx;this.TRACE_INIT(`${Fr(u)}${l}`,()=>{const d=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:u.idx,rule:n,maxLookahead:u.maxLookahead||this.maxLookahead,hasPredicates:u.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),f=by(this.fullRuleNameToShort[n.name],y1,u.idx);this.setLaFuncCache(f,d)})}),ve(i,u=>{this.computeLookaheadFunc(n,u.idx,yy,"Repetition",u.maxLookahead,Fr(u))}),ve(s,u=>{this.computeLookaheadFunc(n,u.idx,v1,"Option",u.maxLookahead,Fr(u))}),ve(o,u=>{this.computeLookaheadFunc(n,u.idx,vy,"RepetitionMandatory",u.maxLookahead,Fr(u))}),ve(a,u=>{this.computeLookaheadFunc(n,u.idx,zf,"RepetitionMandatoryWithSeparator",u.maxLookahead,Fr(u))}),ve(c,u=>{this.computeLookaheadFunc(n,u.idx,wy,"RepetitionWithSeparator",u.maxLookahead,Fr(u))})})})}computeLookaheadFunc(e,n,r,i,s,o){this.TRACE_INIT(`${o}${n===0?"":n}`,()=>{const a=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:n,rule:e,maxLookahead:s||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:i}),c=by(this.fullRuleNameToShort[e.name],r,n);this.setLaFuncCache(c,a)})}getKeyForAutomaticLookahead(e,n){const r=this.getLastExplicitRuleShortName();return by(r,e,n)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,n){this.lookAheadFuncsCache.set(e,n)}}class mq extends Ko{constructor(){super(...arguments),this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}reset(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}visitOption(e){this.dslMethods.option.push(e)}visitRepetitionWithSeparator(e){this.dslMethods.repetitionWithSeparator.push(e)}visitRepetitionMandatory(e){this.dslMethods.repetitionMandatory.push(e)}visitRepetitionMandatoryWithSeparator(e){this.dslMethods.repetitionMandatoryWithSeparator.push(e)}visitRepetition(e){this.dslMethods.repetition.push(e)}visitAlternation(e){this.dslMethods.alternation.push(e)}}const Bf=new mq;function gq(t){Bf.reset(),t.accept(Bf);const e=Bf.dslMethods;return Bf.reset(),e}function w1(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffset<e.endOffset&&(t.endOffset=e.endOffset)}function b1(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.startColumn=e.startColumn,t.startLine=e.startLine,t.endOffset=e.endOffset,t.endColumn=e.endColumn,t.endLine=e.endLine):t.endOffset<e.endOffset&&(t.endOffset=e.endOffset,t.endColumn=e.endColumn,t.endLine=e.endLine)}function yq(t,e,n){t.children[n]===void 0?t.children[n]=[e]:t.children[n].push(e)}function vq(t,e,n){t.children[e]===void 0?t.children[e]=[n]:t.children[e].push(n)}const wq="name";function E1(t,e){Object.defineProperty(t,wq,{enumerable:!1,configurable:!0,writable:!1,value:e})}function bq(t,e){const n=Yn(t),r=n.length;for(let i=0;i<r;i++){const s=n[i],o=t[s],a=o.length;for(let c=0;c<a;c++){const u=o[c];u.tokenTypeIdx===void 0&&this[u.name](u.children,e)}}}function Eq(t,e){const n=function(){};E1(n,t+"BaseSemantics");const r={visit:function(i,s){if(Be(i)&&(i=i[0]),!hi(i))return this[i.name](i.children,s)},validateVisitor:function(){const i=Tq(this,e);if(!tt(i)){const s=de(i,o=>o.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>:
88
- ${s.join(`
89
-
90
- `).replace(/\n/g,`
91
- `)}`)}}};return n.prototype=r,n.prototype.constructor=n,n._RULE_NAMES=e,n}function Dq(t,e,n){const r=function(){};E1(r,t+"BaseSemanticsWithDefaults");const i=Object.create(n.prototype);return ve(e,s=>{i[s]=bq}),r.prototype=i,r.prototype.constructor=r,r}var Dy;(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(Dy||(Dy={}));function Tq(t,e){return Rq(t,e)}function Rq(t,e){const n=In(e,i=>ci(t[i])===!1),r=de(n,i=>({msg:`Missing visitor method: <${i}> on ${t.constructor.name} CST Visitor.`,type:Dy.MISSING_METHOD,methodName:i}));return jc(r)}class Sq{initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=be(e,"nodeLocationTracking")?e.nodeLocationTracking:pi.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=Nt,this.cstFinallyStateUpdate=Nt,this.cstPostTerminal=Nt,this.cstPostNonTerminal=Nt,this.cstPostRule=Nt;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=b1,this.setNodeLocationFromNode=b1,this.cstPostRule=Nt,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=Nt,this.setNodeLocationFromNode=Nt,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=w1,this.setNodeLocationFromNode=w1,this.cstPostRule=Nt,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=Nt,this.setNodeLocationFromNode=Nt,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=Nt,this.setNodeLocationFromNode=Nt,this.cstPostRule=Nt,this.setInitialNodeLocation=Nt;else throw Error(`Invalid <nodeLocationTracking> config option: "${e.nodeLocationTracking}"`)}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){const n=this.LA(1);e.location={startOffset:n.startOffset,startLine:n.startLine,startColumn:n.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){const n={name:e,children:Object.create(null)};this.setInitialNodeLocation(n),this.CST_STACK.push(n)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){const n=this.LA(0),r=e.location;r.startOffset<=n.startOffset?(r.endOffset=n.endOffset,r.endLine=n.endLine,r.endColumn=n.endColumn):(r.startOffset=NaN,r.startLine=NaN,r.startColumn=NaN)}cstPostRuleOnlyOffset(e){const n=this.LA(0),r=e.location;r.startOffset<=n.startOffset?r.endOffset=n.endOffset:r.startOffset=NaN}cstPostTerminal(e,n){const r=this.CST_STACK[this.CST_STACK.length-1];yq(r,n,e),this.setNodeLocationFromToken(r.location,n)}cstPostNonTerminal(e,n){const r=this.CST_STACK[this.CST_STACK.length-1];vq(r,n,e),this.setNodeLocationFromNode(r.location,e.location)}getBaseCstVisitorConstructor(){if(hi(this.baseCstVisitorConstructor)){const e=Eq(this.className,Yn(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(hi(this.baseCstVisitorWithDefaultsConstructor)){const e=Dq(this.className,Yn(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getLastExplicitRuleShortName(){const e=this.RULE_STACK;return e[e.length-1]}getPreviousExplicitRuleShortName(){const e=this.RULE_STACK;return e[e.length-2]}getLastExplicitRuleOccurrenceIndex(){const e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]}}class kq{initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(this.selfAnalysisDone!==!0)throw Error("Missing <performSelfAnalysis> invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):Uf}LA(e){const n=this.currIdx+e;return n<0||this.tokVectorLength<=n?Uf:this.tokVector[n]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVector.length-1}getLexerPosition(){return this.exportLexerState()}}class $q{ACTION(e){return e.call(this)}consume(e,n,r){return this.consumeInternal(n,e,r)}subrule(e,n,r){return this.subruleInternal(n,e,r)}option(e,n){return this.optionInternal(n,e)}or(e,n){return this.orInternal(n,e)}many(e,n){return this.manyInternal(e,n)}atLeastOne(e,n){return this.atLeastOneInternal(e,n)}CONSUME(e,n){return this.consumeInternal(e,0,n)}CONSUME1(e,n){return this.consumeInternal(e,1,n)}CONSUME2(e,n){return this.consumeInternal(e,2,n)}CONSUME3(e,n){return this.consumeInternal(e,3,n)}CONSUME4(e,n){return this.consumeInternal(e,4,n)}CONSUME5(e,n){return this.consumeInternal(e,5,n)}CONSUME6(e,n){return this.consumeInternal(e,6,n)}CONSUME7(e,n){return this.consumeInternal(e,7,n)}CONSUME8(e,n){return this.consumeInternal(e,8,n)}CONSUME9(e,n){return this.consumeInternal(e,9,n)}SUBRULE(e,n){return this.subruleInternal(e,0,n)}SUBRULE1(e,n){return this.subruleInternal(e,1,n)}SUBRULE2(e,n){return this.subruleInternal(e,2,n)}SUBRULE3(e,n){return this.subruleInternal(e,3,n)}SUBRULE4(e,n){return this.subruleInternal(e,4,n)}SUBRULE5(e,n){return this.subruleInternal(e,5,n)}SUBRULE6(e,n){return this.subruleInternal(e,6,n)}SUBRULE7(e,n){return this.subruleInternal(e,7,n)}SUBRULE8(e,n){return this.subruleInternal(e,8,n)}SUBRULE9(e,n){return this.subruleInternal(e,9,n)}OPTION(e){return this.optionInternal(e,0)}OPTION1(e){return this.optionInternal(e,1)}OPTION2(e){return this.optionInternal(e,2)}OPTION3(e){return this.optionInternal(e,3)}OPTION4(e){return this.optionInternal(e,4)}OPTION5(e){return this.optionInternal(e,5)}OPTION6(e){return this.optionInternal(e,6)}OPTION7(e){return this.optionInternal(e,7)}OPTION8(e){return this.optionInternal(e,8)}OPTION9(e){return this.optionInternal(e,9)}OR(e){return this.orInternal(e,0)}OR1(e){return this.orInternal(e,1)}OR2(e){return this.orInternal(e,2)}OR3(e){return this.orInternal(e,3)}OR4(e){return this.orInternal(e,4)}OR5(e){return this.orInternal(e,5)}OR6(e){return this.orInternal(e,6)}OR7(e){return this.orInternal(e,7)}OR8(e){return this.orInternal(e,8)}OR9(e){return this.orInternal(e,9)}MANY(e){this.manyInternal(0,e)}MANY1(e){this.manyInternal(1,e)}MANY2(e){this.manyInternal(2,e)}MANY3(e){this.manyInternal(3,e)}MANY4(e){this.manyInternal(4,e)}MANY5(e){this.manyInternal(5,e)}MANY6(e){this.manyInternal(6,e)}MANY7(e){this.manyInternal(7,e)}MANY8(e){this.manyInternal(8,e)}MANY9(e){this.manyInternal(9,e)}MANY_SEP(e){this.manySepFirstInternal(0,e)}MANY_SEP1(e){this.manySepFirstInternal(1,e)}MANY_SEP2(e){this.manySepFirstInternal(2,e)}MANY_SEP3(e){this.manySepFirstInternal(3,e)}MANY_SEP4(e){this.manySepFirstInternal(4,e)}MANY_SEP5(e){this.manySepFirstInternal(5,e)}MANY_SEP6(e){this.manySepFirstInternal(6,e)}MANY_SEP7(e){this.manySepFirstInternal(7,e)}MANY_SEP8(e){this.manySepFirstInternal(8,e)}MANY_SEP9(e){this.manySepFirstInternal(9,e)}AT_LEAST_ONE(e){this.atLeastOneInternal(0,e)}AT_LEAST_ONE1(e){return this.atLeastOneInternal(1,e)}AT_LEAST_ONE2(e){this.atLeastOneInternal(2,e)}AT_LEAST_ONE3(e){this.atLeastOneInternal(3,e)}AT_LEAST_ONE4(e){this.atLeastOneInternal(4,e)}AT_LEAST_ONE5(e){this.atLeastOneInternal(5,e)}AT_LEAST_ONE6(e){this.atLeastOneInternal(6,e)}AT_LEAST_ONE7(e){this.atLeastOneInternal(7,e)}AT_LEAST_ONE8(e){this.atLeastOneInternal(8,e)}AT_LEAST_ONE9(e){this.atLeastOneInternal(9,e)}AT_LEAST_ONE_SEP(e){this.atLeastOneSepFirstInternal(0,e)}AT_LEAST_ONE_SEP1(e){this.atLeastOneSepFirstInternal(1,e)}AT_LEAST_ONE_SEP2(e){this.atLeastOneSepFirstInternal(2,e)}AT_LEAST_ONE_SEP3(e){this.atLeastOneSepFirstInternal(3,e)}AT_LEAST_ONE_SEP4(e){this.atLeastOneSepFirstInternal(4,e)}AT_LEAST_ONE_SEP5(e){this.atLeastOneSepFirstInternal(5,e)}AT_LEAST_ONE_SEP6(e){this.atLeastOneSepFirstInternal(6,e)}AT_LEAST_ONE_SEP7(e){this.atLeastOneSepFirstInternal(7,e)}AT_LEAST_ONE_SEP8(e){this.atLeastOneSepFirstInternal(8,e)}AT_LEAST_ONE_SEP9(e){this.atLeastOneSepFirstInternal(9,e)}RULE(e,n,r=Gf){if(on(this.definedRulesNames,e)){const o={message:Fs.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:un.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(o)}this.definedRulesNames.push(e);const i=this.defineRule(e,n,r);return this[e]=i,i}OVERRIDE_RULE(e,n,r=Gf){const i=X5(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(i);const s=this.defineRule(e,n,r);return this[e]=s,s}BACKTRACK(e,n){return function(){this.isBackTrackingStack.push(1);const r=this.saveRecogState();try{return e.apply(this,n),!0}catch(i){if(Ff(i))return!1;throw i}finally{this.reloadRecogState(r),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return O6(Ot(this.gastProductionsCache))}}class Cq{initRecognizerEngine(e,n){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=If,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},be(n,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a <serializedGrammar> property.
92
- See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0
93
- For Further details.`);if(Be(e)){if(tt(e))throw Error(`A Token Vocabulary cannot be empty.
94
- Note that the first argument for the parser constructor
95
- is no longer a Token vector (since v4.0).`);if(typeof e[0].startOffset=="number")throw Error(`The Parser constructor no longer accepts a token vector as the first argument.
96
- See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0
97
- For Further details.`)}if(Be(e))this.tokensMap=an(e,(s,o)=>(s[o.name]=o,s),{});else if(be(e,"modes")&&dr(Xn(Ot(e.modes)),S5)){const s=Xn(Ot(e.modes)),o=iy(s);this.tokensMap=an(o,(a,c)=>(a[c.name]=c,a),{})}else if(Kn(e))this.tokensMap=Ut(e);else throw new Error("<tokensDictionary> argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=ji;const r=be(e,"modes")?Xn(Ot(e.modes)):Ot(e),i=dr(r,s=>tt(s.categoryMatches));this.tokenMatcher=i?If:Vc,Kc(Ot(this.tokensMap))}defineRule(e,n,r){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called'
98
- Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);const i=be(r,"resyncEnabled")?r.resyncEnabled:Gf.resyncEnabled,s=be(r,"recoveryValueFunc")?r.recoveryValueFunc:Gf.recoveryValueFunc,o=this.ruleShortNameIdx<<hq+Ui;this.ruleShortNameIdx++,this.shortRuleNameToFull[o]=e,this.fullRuleNameToShort[e]=o;let a;return this.outputCst===!0?a=function(...l){try{this.ruleInvocationStateUpdate(o,e,this.subruleIdx),n.apply(this,l);const d=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(d),d}catch(d){return this.invokeRuleCatch(d,i,s)}finally{this.ruleFinallyStateUpdate()}}:a=function(...l){try{return this.ruleInvocationStateUpdate(o,e,this.subruleIdx),n.apply(this,l)}catch(d){return this.invokeRuleCatch(d,i,s)}finally{this.ruleFinallyStateUpdate()}},Object.assign(a,{ruleName:e,originalGrammarAction:n})}invokeRuleCatch(e,n,r){const i=this.RULE_STACK.length===1,s=n&&!this.isBackTracking()&&this.recoveryEnabled;if(Ff(e)){const o=e;if(s){const a=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(a))if(o.resyncedTokens=this.reSyncTo(a),this.outputCst){const c=this.CST_STACK[this.CST_STACK.length-1];return c.recoveredNode=!0,c}else return r(e);else{if(this.outputCst){const c=this.CST_STACK[this.CST_STACK.length-1];c.recoveredNode=!0,o.partialCstResult=c}throw o}}else{if(i)return this.moveToTerminatedState(),r(e);throw o}}else throw e}optionInternal(e,n){const r=this.getKeyForAutomaticLookahead(v1,n);return this.optionInternalLogic(e,n,r)}optionInternalLogic(e,n,r){let i=this.getLaFuncFromCache(r),s;if(typeof e!="function"){s=e.DEF;const o=e.GATE;if(o!==void 0){const a=i;i=()=>o.call(this)&&a.call(this)}}else s=e;if(i.call(this)===!0)return s.call(this)}atLeastOneInternal(e,n){const r=this.getKeyForAutomaticLookahead(vy,e);return this.atLeastOneInternalLogic(e,n,r)}atLeastOneInternalLogic(e,n,r){let i=this.getLaFuncFromCache(r),s;if(typeof n!="function"){s=n.DEF;const o=n.GATE;if(o!==void 0){const a=i;i=()=>o.call(this)&&a.call(this)}}else s=n;if(i.call(this)===!0){let o=this.doSingleRepetition(s);for(;i.call(this)===!0&&o===!0;)o=this.doSingleRepetition(s)}else throw this.raiseEarlyExitException(e,pt.REPETITION_MANDATORY,n.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,n],i,vy,e,O5)}atLeastOneSepFirstInternal(e,n){const r=this.getKeyForAutomaticLookahead(zf,e);this.atLeastOneSepFirstInternalLogic(e,n,r)}atLeastOneSepFirstInternalLogic(e,n,r){const i=n.DEF,s=n.SEP;if(this.getLaFuncFromCache(r).call(this)===!0){i.call(this);const a=()=>this.tokenMatcher(this.LA(1),s);for(;this.tokenMatcher(this.LA(1),s)===!0;)this.CONSUME(s),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,s,a,i,t1],a,zf,e,t1)}else throw this.raiseEarlyExitException(e,pt.REPETITION_MANDATORY_WITH_SEPARATOR,n.ERR_MSG)}manyInternal(e,n){const r=this.getKeyForAutomaticLookahead(yy,e);return this.manyInternalLogic(e,n,r)}manyInternalLogic(e,n,r){let i=this.getLaFuncFromCache(r),s;if(typeof n!="function"){s=n.DEF;const a=n.GATE;if(a!==void 0){const c=i;i=()=>a.call(this)&&c.call(this)}}else s=n;let o=!0;for(;i.call(this)===!0&&o===!0;)o=this.doSingleRepetition(s);this.attemptInRepetitionRecovery(this.manyInternal,[e,n],i,yy,e,N5,o)}manySepFirstInternal(e,n){const r=this.getKeyForAutomaticLookahead(wy,e);this.manySepFirstInternalLogic(e,n,r)}manySepFirstInternalLogic(e,n,r){const i=n.DEF,s=n.SEP;if(this.getLaFuncFromCache(r).call(this)===!0){i.call(this);const a=()=>this.tokenMatcher(this.LA(1),s);for(;this.tokenMatcher(this.LA(1),s)===!0;)this.CONSUME(s),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,s,a,i,e1],a,wy,e,e1)}}repetitionSepSecondInternal(e,n,r,i,s){for(;r();)this.CONSUME(n),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,n,r,i,s],r,zf,e,s)}doSingleRepetition(e){const n=this.getLexerPosition();return e.call(this),this.getLexerPosition()>n}orInternal(e,n){const r=this.getKeyForAutomaticLookahead(y1,n),i=Be(e)?e:e.DEF,o=this.getLaFuncFromCache(r).call(this,i);if(o!==void 0)return i[o].ALT.call(this);this.raiseNoAltException(n,e.ERR_MSG)}ruleFinallyStateUpdate(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),this.RULE_STACK.length===0&&this.isAtEndOfInput()===!1){const e=this.LA(1),n=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new cq(n,e))}}subruleInternal(e,n,r){let i;try{const s=r!==void 0?r.ARGS:void 0;return this.subruleIdx=n,i=e.apply(this,s),this.cstPostNonTerminal(i,r!==void 0&&r.LABEL!==void 0?r.LABEL:e.ruleName),i}catch(s){throw this.subruleInternalError(s,r,e.ruleName)}}subruleInternalError(e,n,r){throw Ff(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,n!==void 0&&n.LABEL!==void 0?n.LABEL:r),delete e.partialCstResult),e}consumeInternal(e,n,r){let i;try{const s=this.LA(1);this.tokenMatcher(s,e)===!0?(this.consumeToken(),i=s):this.consumeInternalError(e,s,r)}catch(s){i=this.consumeInternalRecovery(e,n,s)}return this.cstPostTerminal(r!==void 0&&r.LABEL!==void 0?r.LABEL:e.name,i),i}consumeInternalError(e,n,r){let i;const s=this.LA(0);throw r!==void 0&&r.ERR_MSG?i=r.ERR_MSG:i=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:n,previous:s,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new m1(i,n,s))}consumeInternalRecovery(e,n,r){if(this.recoveryEnabled&&r.name==="MismatchedTokenException"&&!this.isBackTracking()){const i=this.getFollowsForInRuleRecovery(e,n);try{return this.tryInRuleRecovery(e,i)}catch(s){throw s.name===g1?r:s}}else throw r}saveRecogState(){const e=this.errors,n=Ut(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:n,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK}ruleInvocationStateUpdate(e,n,r){this.RULE_OCCURRENCE_STACK.push(r),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(n)}isBackTracking(){return this.isBackTrackingStack.length!==0}getCurrRuleFullName(){const e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),ji)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}}class _q{initErrorHandler(e){this._errors=[],this.errorMessageProvider=be(e,"errorMessageProvider")?e.errorMessageProvider:pi.errorMessageProvider}SAVE_ERROR(e){if(Ff(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:Ut(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return Ut(this._errors)}set errors(e){this._errors=e}raiseEarlyExitException(e,n,r){const i=this.getCurrRuleFullName(),s=this.getGAstProductions()[i],a=Of(e,s,n,this.maxLookahead)[0],c=[];for(let l=1;l<=this.maxLookahead;l++)c.push(this.LA(l));const u=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:a,actual:c,previous:this.LA(0),customUserDescription:r,ruleName:i});throw this.SAVE_ERROR(new uq(u,this.LA(1),this.LA(0)))}raiseNoAltException(e,n){const r=this.getCurrRuleFullName(),i=this.getGAstProductions()[r],s=Nf(e,i,this.maxLookahead),o=[];for(let u=1;u<=this.maxLookahead;u++)o.push(this.LA(u));const a=this.LA(0),c=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:s,actual:o,previous:a,customUserDescription:n,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new aq(c,this.LA(1),a))}}class Aq{initContentAssist(){}computeContentAssist(e,n){const r=this.gastProductionsCache[e];if(hi(r))throw Error(`Rule ->${e}<- does not exist in this grammar.`);return n1([r],n,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(e){const n=fr(e.ruleStack),i=this.getGAstProductions()[n];return new P5(i,e).startWalking()}}const qf={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(qf);const D1=!0,T1=Math.pow(2,Ui)-1,R1=ZR({name:"RECORDING_PHASE_TOKEN",pattern:Rn.NA});Kc([R1]);const S1=ly(R1,`This IToken indicates the Parser is in Recording Phase
99
- See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(S1);const xq={name:`This CSTNode indicates the Parser is in Recording Phase
100
- See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}};class Iq{initGastRecorder(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1}enableRecording(){this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",()=>{for(let e=0;e<10;e++){const n=e>0?e:"";this[`CONSUME${n}`]=function(r,i){return this.consumeInternalRecord(r,e,i)},this[`SUBRULE${n}`]=function(r,i){return this.subruleInternalRecord(r,e,i)},this[`OPTION${n}`]=function(r){return this.optionInternalRecord(r,e)},this[`OR${n}`]=function(r){return this.orInternalRecord(r,e)},this[`MANY${n}`]=function(r){this.manyInternalRecord(e,r)},this[`MANY_SEP${n}`]=function(r){this.manySepFirstInternalRecord(e,r)},this[`AT_LEAST_ONE${n}`]=function(r){this.atLeastOneInternalRecord(e,r)},this[`AT_LEAST_ONE_SEP${n}`]=function(r){this.atLeastOneSepFirstInternalRecord(e,r)}}this.consume=function(e,n,r){return this.consumeInternalRecord(n,e,r)},this.subrule=function(e,n,r){return this.subruleInternalRecord(n,e,r)},this.option=function(e,n){return this.optionInternalRecord(n,e)},this.or=function(e,n){return this.orInternalRecord(n,e)},this.many=function(e,n){this.manyInternalRecord(e,n)},this.atLeastOne=function(e,n){this.atLeastOneInternalRecord(e,n)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",()=>{const e=this;for(let n=0;n<10;n++){const r=n>0?n:"";delete e[`CONSUME${r}`],delete e[`SUBRULE${r}`],delete e[`OPTION${r}`],delete e[`OR${r}`],delete e[`MANY${r}`],delete e[`MANY_SEP${r}`],delete e[`AT_LEAST_ONE${r}`],delete e[`AT_LEAST_ONE_SEP${r}`]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,n){return()=>!0}LA_RECORD(e){return Uf}topLevelRuleRecord(e,n){try{const r=new Vo({definition:[],name:e});return r.name=e,this.recordingProdStack.push(r),n.call(this),this.recordingProdStack.pop(),r}catch(r){if(r.KNOWN_RECORDER_ERROR!==!0)try{r.message=r.message+`
101
- This error was thrown during the "grammar recording phase" For more info see:
102
- https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw r}throw r}}optionInternalRecord(e,n){return Xc.call(this,Wt,e,n)}atLeastOneInternalRecord(e,n){Xc.call(this,Nn,n,e)}atLeastOneSepFirstInternalRecord(e,n){Xc.call(this,On,n,e,D1)}manyInternalRecord(e,n){Xc.call(this,wt,n,e)}manySepFirstInternalRecord(e,n){Xc.call(this,Dn,n,e,D1)}orInternalRecord(e,n){return Pq.call(this,e,n)}subruleInternalRecord(e,n,r){if(jf(n),!e||be(e,"ruleName")===!1){const a=new Error(`<SUBRULE${k1(n)}> argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}>
103
- inside top level rule: <${this.recordingProdStack[0].name}>`);throw a.KNOWN_RECORDER_ERROR=!0,a}const i=Wo(this.recordingProdStack),s=e.ruleName,o=new cn({idx:n,nonTerminalName:s,label:r?.LABEL,referencedRule:void 0});return i.definition.push(o),this.outputCst?xq:qf}consumeInternalRecord(e,n,r){if(jf(n),!qR(e)){const o=new Error(`<CONSUME${k1(n)}> argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}>
104
- inside top level rule: <${this.recordingProdStack[0].name}>`);throw o.KNOWN_RECORDER_ERROR=!0,o}const i=Wo(this.recordingProdStack),s=new ot({idx:n,terminalType:e,label:r?.LABEL});return i.definition.push(s),S1}}function Xc(t,e,n,r=!1){jf(n);const i=Wo(this.recordingProdStack),s=ci(e)?e:e.DEF,o=new t({definition:[],idx:n});return r&&(o.separator=e.SEP),be(e,"MAX_LOOKAHEAD")&&(o.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(o),s.call(this),i.definition.push(o),this.recordingProdStack.pop(),qf}function Pq(t,e){jf(e);const n=Wo(this.recordingProdStack),r=Be(t)===!1,i=r===!1?t:t.DEF,s=new Tn({definition:[],idx:e,ignoreAmbiguities:r&&t.IGNORE_AMBIGUITIES===!0});be(t,"MAX_LOOKAHEAD")&&(s.maxLookahead=t.MAX_LOOKAHEAD);const o=TR(i,a=>ci(a.GATE));return s.hasPredicates=o,n.definition.push(s),ve(i,a=>{const c=new En({definition:[]});s.definition.push(c),be(a,"IGNORE_AMBIGUITIES")?c.ignoreAmbiguities=a.IGNORE_AMBIGUITIES:be(a,"GATE")&&(c.ignoreAmbiguities=!0),this.recordingProdStack.push(c),a.ALT.call(this),this.recordingProdStack.pop()}),qf}function k1(t){return t===0?"":`${t}`}function jf(t){if(t<0||t>T1){const e=new Error(`Invalid DSL Method idx value: <${t}>
105
- Idx value must be a none negative value smaller than ${T1+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}class Nq{initPerformanceTracer(e){if(be(e,"traceInitPerf")){const n=e.traceInitPerf,r=typeof n=="number";this.traceInitMaxIdent=r?n:1/0,this.traceInitPerf=r?n>0:n}else this.traceInitMaxIdent=0,this.traceInitPerf=pi.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,n){if(this.traceInitPerf===!0){this.traceInitIndent++;const r=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${r}--> <${e}>`);const{time:i,value:s}=kR(n),o=i>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&o(`${r}<-- <${e}> time: ${i}ms`),this.traceInitIndent--,s}else return n()}}function Oq(t,e){e.forEach(n=>{const r=n.prototype;Object.getOwnPropertyNames(r).forEach(i=>{if(i==="constructor")return;const s=Object.getOwnPropertyDescriptor(r,i);s&&(s.get||s.set)?Object.defineProperty(t.prototype,i,s):t.prototype[i]=n.prototype[i]})})}const Uf=ly(ji,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(Uf);const pi=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:Xo,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),Gf=Object.freeze({recoveryValueFunc:()=>{},resyncEnabled:!0});var un;(function(t){t[t.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",t[t.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",t[t.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",t[t.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",t[t.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",t[t.LEFT_RECURSION=5]="LEFT_RECURSION",t[t.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",t[t.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",t[t.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",t[t.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",t[t.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",t[t.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",t[t.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",t[t.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION"})(un||(un={}));function $1(t=void 0){return function(){return t}}class md{static performSelfAnalysis(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{let e;this.selfAnalysisDone=!0;const n=this.className;this.TRACE_INIT("toFastProps",()=>{$R(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),ve(this.definedRulesNames,i=>{const o=this[i].originalGrammarAction;let a;this.TRACE_INIT(`${i} Rule`,()=>{a=this.topLevelRuleRecord(i,o)}),this.gastProductionsCache[i]=a})}finally{this.disableRecording()}});let r=[];if(this.TRACE_INIT("Grammar Resolving",()=>{r=sq({rules:Ot(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(r)}),this.TRACE_INIT("Grammar Validations",()=>{if(tt(r)&&this.skipValidations===!1){const i=oq({rules:Ot(this.gastProductionsCache),tokenTypes:Ot(this.tokensMap),errMsgProvider:Fs,grammarName:n}),s=G5({lookaheadStrategy:this.lookaheadStrategy,rules:Ot(this.gastProductionsCache),tokenTypes:Ot(this.tokensMap),grammarName:n});this.definitionErrors=this.definitionErrors.concat(i,s)}}),tt(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{const i=j6(Ot(this.gastProductionsCache));this.resyncFollows=i}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var i,s;(s=(i=this.lookaheadStrategy).initialize)===null||s===void 0||s.call(i,{rules:Ot(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(Ot(this.gastProductionsCache))})),!md.DEFER_DEFINITION_ERRORS_HANDLING&&!tt(this.definitionErrors))throw e=de(this.definitionErrors,i=>i.message),new Error(`Parser Definition Errors detected:
106
- ${e.join(`
107
- -------------------------------
108
- `)}`)})}constructor(e,n){this.definitionErrors=[],this.selfAnalysisDone=!1;const r=this;if(r.initErrorHandler(n),r.initLexerAdapter(),r.initLooksAhead(n),r.initRecognizerEngine(e,n),r.initRecoverable(n),r.initTreeBuilder(n),r.initContentAssist(),r.initGastRecorder(n),r.initPerformanceTracer(n),be(n,"ignoredIssues"))throw new Error(`The <ignoredIssues> IParserConfig property has been deprecated.
109
- Please use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead.
110
- See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES
111
- For further details.`);this.skipValidations=be(n,"skipValidations")?n.skipValidations:pi.skipValidations}}md.DEFER_DEFINITION_ERRORS_HANDLING=!1,Oq(md,[dq,pq,Sq,kq,Cq,$q,_q,Aq,Iq,Nq]);class Lq extends md{constructor(e,n=pi){const r=Ut(n);r.outputCst=!1,super(e,r)}}function Jo(t,e,n){return`${t.name}_${e}_${n}`}const Gi=1,Fq=2,C1=4,_1=5,Jc=7,Mq=8,zq=9,Bq=10,qq=11,A1=12;class Ty{constructor(e){this.target=e}isEpsilon(){return!1}}class Ry extends Ty{constructor(e,n){super(e),this.tokenType=n}}class x1 extends Ty{constructor(e){super(e)}isEpsilon(){return!0}}class Sy extends Ty{constructor(e,n,r){super(e),this.rule=n,this.followState=r}isEpsilon(){return!0}}function jq(t){const e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};Uq(e,t);const n=t.length;for(let r=0;r<n;r++){const i=t[r],s=Ms(e,i,i);s!==void 0&&ej(e,i,s)}return e}function Uq(t,e){const n=e.length;for(let r=0;r<n;r++){const i=e[r],s=Mt(t,i,void 0,{type:Fq}),o=Mt(t,i,void 0,{type:Jc});s.stop=o,t.ruleToStartState.set(i,s),t.ruleToStopState.set(i,o)}}function I1(t,e,n){return n instanceof ot?ky(t,e,n.terminalType,n):n instanceof cn?Qq(t,e,n):n instanceof Tn?Kq(t,e,n):n instanceof Wt?Yq(t,e,n):n instanceof wt?Gq(t,e,n):n instanceof Dn?Wq(t,e,n):n instanceof Nn?Hq(t,e,n):n instanceof On?Vq(t,e,n):Ms(t,e,n)}function Gq(t,e,n){const r=Mt(t,e,n,{type:_1});Wi(t,r);const i=Zo(t,e,r,n,Ms(t,e,n));return N1(t,e,n,i)}function Wq(t,e,n){const r=Mt(t,e,n,{type:_1});Wi(t,r);const i=Zo(t,e,r,n,Ms(t,e,n)),s=ky(t,e,n.separator,n);return N1(t,e,n,i,s)}function Hq(t,e,n){const r=Mt(t,e,n,{type:C1});Wi(t,r);const i=Zo(t,e,r,n,Ms(t,e,n));return P1(t,e,n,i)}function Vq(t,e,n){const r=Mt(t,e,n,{type:C1});Wi(t,r);const i=Zo(t,e,r,n,Ms(t,e,n)),s=ky(t,e,n.separator,n);return P1(t,e,n,i,s)}function Kq(t,e,n){const r=Mt(t,e,n,{type:Gi});Wi(t,r);const i=de(n.definition,o=>I1(t,e,o));return Zo(t,e,r,n,...i)}function Yq(t,e,n){const r=Mt(t,e,n,{type:Gi});Wi(t,r);const i=Zo(t,e,r,n,Ms(t,e,n));return Xq(t,e,n,i)}function Ms(t,e,n){const r=In(de(n.definition,i=>I1(t,e,i)),i=>i!==void 0);return r.length===1?r[0]:r.length===0?void 0:Zq(t,r)}function P1(t,e,n,r,i){const s=r.left,o=r.right,a=Mt(t,e,n,{type:qq});Wi(t,a);const c=Mt(t,e,n,{type:A1});return s.loopback=a,c.loopback=a,t.decisionMap[Jo(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",n.idx)]=a,_t(o,a),i===void 0?(_t(a,s),_t(a,c)):(_t(a,c),_t(a,i.left),_t(i.right,s)),{left:s,right:c}}function N1(t,e,n,r,i){const s=r.left,o=r.right,a=Mt(t,e,n,{type:Bq});Wi(t,a);const c=Mt(t,e,n,{type:A1}),u=Mt(t,e,n,{type:zq});return a.loopback=u,c.loopback=u,_t(a,s),_t(a,c),_t(o,u),i!==void 0?(_t(u,c),_t(u,i.left),_t(i.right,s)):_t(u,a),t.decisionMap[Jo(e,i?"RepetitionWithSeparator":"Repetition",n.idx)]=a,{left:a,right:c}}function Xq(t,e,n,r){const i=r.left,s=r.right;return _t(i,s),t.decisionMap[Jo(e,"Option",n.idx)]=i,r}function Wi(t,e){return t.decisionStates.push(e),e.decision=t.decisionStates.length-1,e.decision}function Zo(t,e,n,r,...i){const s=Mt(t,e,r,{type:Mq,start:n});n.end=s;for(const a of i)a!==void 0?(_t(n,a.left),_t(a.right,s)):_t(n,s);const o={left:n,right:s};return t.decisionMap[Jo(e,Jq(r),r.idx)]=n,o}function Jq(t){if(t instanceof Tn)return"Alternation";if(t instanceof Wt)return"Option";if(t instanceof wt)return"Repetition";if(t instanceof Dn)return"RepetitionWithSeparator";if(t instanceof Nn)return"RepetitionMandatory";if(t instanceof On)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function Zq(t,e){const n=e.length;for(let s=0;s<n-1;s++){const o=e[s];let a;o.left.transitions.length===1&&(a=o.left.transitions[0]);const c=a instanceof Sy,u=a,l=e[s+1].left;o.left.type===Gi&&o.right.type===Gi&&a!==void 0&&(c&&u.followState===o.right||a.target===o.right)?(c?u.followState=l:a.target=l,tj(t,o.right)):_t(o.right,l)}const r=e[0],i=e[n-1];return{left:r.left,right:i.right}}function ky(t,e,n,r){const i=Mt(t,e,r,{type:Gi}),s=Mt(t,e,r,{type:Gi});return $y(i,new Ry(s,n)),{left:i,right:s}}function Qq(t,e,n){const r=n.referencedRule,i=t.ruleToStartState.get(r),s=Mt(t,e,n,{type:Gi}),o=Mt(t,e,n,{type:Gi}),a=new Sy(i,r,o);return $y(s,a),{left:s,right:o}}function ej(t,e,n){const r=t.ruleToStartState.get(e);_t(r,n.left);const i=t.ruleToStopState.get(e);return _t(n.right,i),{left:r,right:i}}function _t(t,e){const n=new x1(e);$y(t,n)}function Mt(t,e,n,r){const i=Object.assign({atn:t,production:n,epsilonOnlyTransitions:!1,rule:e,transitions:[],nextTokenWithinRule:[],stateNumber:t.states.length},r);return t.states.push(i),i}function $y(t,e){t.transitions.length===0&&(t.epsilonOnlyTransitions=e.isEpsilon()),t.transitions.push(e)}function tj(t,e){t.states.splice(t.states.indexOf(e),1)}const Wf={};class Cy{constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){const n=O1(e);n in this.map||(this.map[n]=this.configs.length,this.configs.push(e))}get elements(){return this.configs}get alts(){return de(this.configs,e=>e.alt)}get key(){let e="";for(const n in this.map)e+=n+":";return e}}function O1(t,e=!0){return`${e?`a${t.alt}`:""}s${t.state.stateNumber}:${t.stack.map(n=>n.stateNumber.toString()).join("_")}`}function nj(t,e){const n={};return r=>{const i=r.toString();let s=n[i];return s!==void 0||(s={atnStartState:t,decision:e,states:{}},n[i]=s),s}}class L1{constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,n){this.predicates[e]=n}toString(){let e="";const n=this.predicates.length;for(let r=0;r<n;r++)e+=this.predicates[r]===!0?"1":"0";return e}}const F1=new L1;class rj extends Ey{constructor(e){var n;super(),this.logging=(n=e?.logging)!==null&&n!==void 0?n:r=>console.log(r)}initialize(e){this.atn=jq(e.rules),this.dfas=ij(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){const{prodOccurrence:n,rule:r,hasPredicates:i,dynamicTokensEnabled:s}=e,o=this.dfas,a=this.logging,c=Jo(r,"Alternation",n),l=this.atn.decisionMap[c].decision,d=de(r1({maxLookahead:1,occurrence:n,prodType:"Alternation",rule:r}),f=>de(f,h=>h[0]));if(M1(d,!1)&&!s){const f=an(d,(h,p,m)=>(ve(p,g=>{g&&(h[g.tokenTypeIdx]=m,ve(g.categoryMatches,y=>{h[y]=m}))}),h),{});return i?function(h){var p;const m=this.LA(1),g=f[m.tokenTypeIdx];if(h!==void 0&&g!==void 0){const y=(p=h[g])===null||p===void 0?void 0:p.GATE;if(y!==void 0&&y.call(this)===!1)return}return g}:function(){const h=this.LA(1);return f[h.tokenTypeIdx]}}else return i?function(f){const h=new L1,p=f===void 0?0:f.length;for(let g=0;g<p;g++){const y=f?.[g].GATE;h.set(g,y===void 0||y.call(this))}const m=_y.call(this,o,l,h,a);return typeof m=="number"?m:void 0}:function(){const f=_y.call(this,o,l,F1,a);return typeof f=="number"?f:void 0}}buildLookaheadForOptional(e){const{prodOccurrence:n,rule:r,prodType:i,dynamicTokensEnabled:s}=e,o=this.dfas,a=this.logging,c=Jo(r,i,n),l=this.atn.decisionMap[c].decision,d=de(r1({maxLookahead:1,occurrence:n,prodType:i,rule:r}),f=>de(f,h=>h[0]));if(M1(d)&&d[0][0]&&!s){const f=d[0],h=Xn(f);if(h.length===1&&tt(h[0].categoryMatches)){const m=h[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===m}}else{const p=an(h,(m,g)=>(g!==void 0&&(m[g.tokenTypeIdx]=!0,ve(g.categoryMatches,y=>{m[y]=!0})),m),{});return function(){const m=this.LA(1);return p[m.tokenTypeIdx]===!0}}}return function(){const f=_y.call(this,o,l,F1,a);return typeof f=="object"?!1:f===0}}}function M1(t,e=!0){const n=new Set;for(const r of t){const i=new Set;for(const s of r){if(s===void 0){if(e)break;return!1}const o=[s.tokenTypeIdx].concat(s.categoryMatches);for(const a of o)if(n.has(a)){if(!i.has(a))return!1}else n.add(a),i.add(a)}}return!0}function ij(t){const e=t.decisionStates.length,n=Array(e);for(let r=0;r<e;r++)n[r]=nj(t.decisionStates[r],r);return n}function _y(t,e,n,r){const i=t[e](n);let s=i.start;if(s===void 0){const a=mj(i.atnStartState);s=q1(i,z1(a)),i.start=s}return sj.apply(this,[i,s,n,r])}function sj(t,e,n,r){let i=e,s=1;const o=[];let a=this.LA(s++);for(;;){let c=dj(i,a);if(c===void 0&&(c=oj.apply(this,[t,i,a,s,n,r])),c===Wf)return lj(o,i,a);if(c.isAcceptState===!0)return c.prediction;i=c,o.push(a),a=this.LA(s++)}}function oj(t,e,n,r,i,s){const o=fj(e.configs,n,i);if(o.size===0)return B1(t,e,n,Wf),Wf;let a=z1(o);const c=pj(o,i);if(c!==void 0)a.isAcceptState=!0,a.prediction=c,a.configs.uniqueAlt=c;else if(wj(o)){const u=D6(o.alts);a.isAcceptState=!0,a.prediction=u,a.configs.uniqueAlt=u,aj.apply(this,[t,r,o.alts,s])}return a=B1(t,e,n,a),a}function aj(t,e,n,r){const i=[];for(let u=1;u<=e;u++)i.push(this.LA(u).tokenType);const s=t.atnStartState,o=s.rule,a=s.production,c=cj({topLevelRule:o,ambiguityIndices:n,production:a,prefixPath:i});r(c)}function cj(t){const e=de(t.prefixPath,i=>Yo(i)).join(", "),n=t.production.idx===0?"":t.production.idx;let r=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(", ")}> in <${uj(t.production)}${n}> inside <${t.topLevelRule.name}> Rule,
112
- <${e}> may appears as a prefix path in all these alternatives.
113
- `;return r=r+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
114
- For Further details.`,r}function uj(t){if(t instanceof cn)return"SUBRULE";if(t instanceof Wt)return"OPTION";if(t instanceof Tn)return"OR";if(t instanceof Nn)return"AT_LEAST_ONE";if(t instanceof On)return"AT_LEAST_ONE_SEP";if(t instanceof Dn)return"MANY_SEP";if(t instanceof wt)return"MANY";if(t instanceof ot)return"CONSUME";throw Error("non exhaustive match")}function lj(t,e,n){const r=Pn(e.configs.elements,s=>s.state.transitions),i=I6(r.filter(s=>s instanceof Ry).map(s=>s.tokenType),s=>s.tokenTypeIdx);return{actualToken:n,possibleTokenTypes:i,tokenPath:t}}function dj(t,e){return t.edges[e.tokenTypeIdx]}function fj(t,e,n){const r=new Cy,i=[];for(const o of t.elements){if(n.is(o.alt)===!1)continue;if(o.state.type===Jc){i.push(o);continue}const a=o.state.transitions.length;for(let c=0;c<a;c++){const u=o.state.transitions[c],l=hj(u,e);l!==void 0&&r.add({state:l,alt:o.alt,stack:o.stack})}}let s;if(i.length===0&&r.size===1&&(s=r),s===void 0){s=new Cy;for(const o of r.elements)Hf(o,s)}if(i.length>0&&!yj(s))for(const o of i)s.add(o);return s}function hj(t,e){if(t instanceof Ry&&QR(e,t.tokenType))return t.target}function pj(t,e){let n;for(const r of t.elements)if(e.is(r.alt)===!0){if(n===void 0)n=r.alt;else if(n!==r.alt)return}return n}function z1(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}function B1(t,e,n,r){return r=q1(t,r),e.edges[n.tokenTypeIdx]=r,r}function q1(t,e){if(e===Wf)return e;const n=e.configs.key,r=t.states[n];return r!==void 0?r:(e.configs.finalize(),t.states[n]=e,e)}function mj(t){const e=new Cy,n=t.transitions.length;for(let r=0;r<n;r++){const s={state:t.transitions[r].target,alt:r,stack:[]};Hf(s,e)}return e}function Hf(t,e){const n=t.state;if(n.type===Jc){if(t.stack.length>0){const i=[...t.stack],o={state:i.pop(),alt:t.alt,stack:i};Hf(o,e)}else e.add(t);return}n.epsilonOnlyTransitions||e.add(t);const r=n.transitions.length;for(let i=0;i<r;i++){const s=n.transitions[i],o=gj(t,s);o!==void 0&&Hf(o,e)}}function gj(t,e){if(e instanceof x1)return{state:e.target,alt:t.alt,stack:t.stack};if(e instanceof Sy){const n=[...t.stack,e.followState];return{state:e.target,alt:t.alt,stack:n}}}function yj(t){for(const e of t.elements)if(e.state.type===Jc)return!0;return!1}function vj(t){for(const e of t.elements)if(e.state.type!==Jc)return!1;return!0}function wj(t){if(vj(t))return!0;const e=bj(t.elements);return Ej(e)&&!Dj(e)}function bj(t){const e=new Map;for(const n of t){const r=O1(n,!1);let i=e.get(r);i===void 0&&(i={},e.set(r,i)),i[n.alt]=!0}return e}function Ej(t){for(const e of Array.from(t.values()))if(Object.keys(e).length>1)return!0;return!1}function Dj(t){for(const e of Array.from(t.values()))if(Object.keys(e).length===1)return!0;return!1}var j1;(function(t){function e(n){return typeof n=="string"}t.is=e})(j1||(j1={}));var Ay;(function(t){function e(n){return typeof n=="string"}t.is=e})(Ay||(Ay={}));var U1;(function(t){t.MIN_VALUE=-2147483648,t.MAX_VALUE=2147483647;function e(n){return typeof n=="number"&&t.MIN_VALUE<=n&&n<=t.MAX_VALUE}t.is=e})(U1||(U1={}));var Vf;(function(t){t.MIN_VALUE=0,t.MAX_VALUE=2147483647;function e(n){return typeof n=="number"&&t.MIN_VALUE<=n&&n<=t.MAX_VALUE}t.is=e})(Vf||(Vf={}));var He;(function(t){function e(r,i){return r===Number.MAX_VALUE&&(r=Vf.MAX_VALUE),i===Number.MAX_VALUE&&(i=Vf.MAX_VALUE),{line:r,character:i}}t.create=e;function n(r){let i=r;return B.objectLiteral(i)&&B.uinteger(i.line)&&B.uinteger(i.character)}t.is=n})(He||(He={}));var Me;(function(t){function e(r,i,s,o){if(B.uinteger(r)&&B.uinteger(i)&&B.uinteger(s)&&B.uinteger(o))return{start:He.create(r,i),end:He.create(s,o)};if(He.is(r)&&He.is(i))return{start:r,end:i};throw new Error(`Range#create called with invalid arguments[${r}, ${i}, ${s}, ${o}]`)}t.create=e;function n(r){let i=r;return B.objectLiteral(i)&&He.is(i.start)&&He.is(i.end)}t.is=n})(Me||(Me={}));var Kf;(function(t){function e(r,i){return{uri:r,range:i}}t.create=e;function n(r){let i=r;return B.objectLiteral(i)&&Me.is(i.range)&&(B.string(i.uri)||B.undefined(i.uri))}t.is=n})(Kf||(Kf={}));var G1;(function(t){function e(r,i,s,o){return{targetUri:r,targetRange:i,targetSelectionRange:s,originSelectionRange:o}}t.create=e;function n(r){let i=r;return B.objectLiteral(i)&&Me.is(i.targetRange)&&B.string(i.targetUri)&&Me.is(i.targetSelectionRange)&&(Me.is(i.originSelectionRange)||B.undefined(i.originSelectionRange))}t.is=n})(G1||(G1={}));var xy;(function(t){function e(r,i,s,o){return{red:r,green:i,blue:s,alpha:o}}t.create=e;function n(r){const i=r;return B.objectLiteral(i)&&B.numberRange(i.red,0,1)&&B.numberRange(i.green,0,1)&&B.numberRange(i.blue,0,1)&&B.numberRange(i.alpha,0,1)}t.is=n})(xy||(xy={}));var W1;(function(t){function e(r,i){return{range:r,color:i}}t.create=e;function n(r){const i=r;return B.objectLiteral(i)&&Me.is(i.range)&&xy.is(i.color)}t.is=n})(W1||(W1={}));var H1;(function(t){function e(r,i,s){return{label:r,textEdit:i,additionalTextEdits:s}}t.create=e;function n(r){const i=r;return B.objectLiteral(i)&&B.string(i.label)&&(B.undefined(i.textEdit)||Sn.is(i))&&(B.undefined(i.additionalTextEdits)||B.typedArray(i.additionalTextEdits,Sn.is))}t.is=n})(H1||(H1={}));var V1;(function(t){t.Comment="comment",t.Imports="imports",t.Region="region"})(V1||(V1={}));var K1;(function(t){function e(r,i,s,o,a,c){const u={startLine:r,endLine:i};return B.defined(s)&&(u.startCharacter=s),B.defined(o)&&(u.endCharacter=o),B.defined(a)&&(u.kind=a),B.defined(c)&&(u.collapsedText=c),u}t.create=e;function n(r){const i=r;return B.objectLiteral(i)&&B.uinteger(i.startLine)&&B.uinteger(i.startLine)&&(B.undefined(i.startCharacter)||B.uinteger(i.startCharacter))&&(B.undefined(i.endCharacter)||B.uinteger(i.endCharacter))&&(B.undefined(i.kind)||B.string(i.kind))}t.is=n})(K1||(K1={}));var Iy;(function(t){function e(r,i){return{location:r,message:i}}t.create=e;function n(r){let i=r;return B.defined(i)&&Kf.is(i.location)&&B.string(i.message)}t.is=n})(Iy||(Iy={}));var Zc;(function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4})(Zc||(Zc={}));var Y1;(function(t){t.Unnecessary=1,t.Deprecated=2})(Y1||(Y1={}));var X1;(function(t){function e(n){const r=n;return B.objectLiteral(r)&&B.string(r.href)}t.is=e})(X1||(X1={}));var Yf;(function(t){function e(r,i,s,o,a,c){let u={range:r,message:i};return B.defined(s)&&(u.severity=s),B.defined(o)&&(u.code=o),B.defined(a)&&(u.source=a),B.defined(c)&&(u.relatedInformation=c),u}t.create=e;function n(r){var i;let s=r;return B.defined(s)&&Me.is(s.range)&&B.string(s.message)&&(B.number(s.severity)||B.undefined(s.severity))&&(B.integer(s.code)||B.string(s.code)||B.undefined(s.code))&&(B.undefined(s.codeDescription)||B.string((i=s.codeDescription)===null||i===void 0?void 0:i.href))&&(B.string(s.source)||B.undefined(s.source))&&(B.undefined(s.relatedInformation)||B.typedArray(s.relatedInformation,Iy.is))}t.is=n})(Yf||(Yf={}));var Qo;(function(t){function e(r,i,...s){let o={title:r,command:i};return B.defined(s)&&s.length>0&&(o.arguments=s),o}t.create=e;function n(r){let i=r;return B.defined(i)&&B.string(i.title)&&B.string(i.command)}t.is=n})(Qo||(Qo={}));var Sn;(function(t){function e(s,o){return{range:s,newText:o}}t.replace=e;function n(s,o){return{range:{start:s,end:s},newText:o}}t.insert=n;function r(s){return{range:s,newText:""}}t.del=r;function i(s){const o=s;return B.objectLiteral(o)&&B.string(o.newText)&&Me.is(o.range)}t.is=i})(Sn||(Sn={}));var Py;(function(t){function e(r,i,s){const o={label:r};return i!==void 0&&(o.needsConfirmation=i),s!==void 0&&(o.description=s),o}t.create=e;function n(r){const i=r;return B.objectLiteral(i)&&B.string(i.label)&&(B.boolean(i.needsConfirmation)||i.needsConfirmation===void 0)&&(B.string(i.description)||i.description===void 0)}t.is=n})(Py||(Py={}));var ea;(function(t){function e(n){const r=n;return B.string(r)}t.is=e})(ea||(ea={}));var J1;(function(t){function e(s,o,a){return{range:s,newText:o,annotationId:a}}t.replace=e;function n(s,o,a){return{range:{start:s,end:s},newText:o,annotationId:a}}t.insert=n;function r(s,o){return{range:s,newText:"",annotationId:o}}t.del=r;function i(s){const o=s;return Sn.is(o)&&(Py.is(o.annotationId)||ea.is(o.annotationId))}t.is=i})(J1||(J1={}));var Ny;(function(t){function e(r,i){return{textDocument:r,edits:i}}t.create=e;function n(r){let i=r;return B.defined(i)&&zy.is(i.textDocument)&&Array.isArray(i.edits)}t.is=n})(Ny||(Ny={}));var Oy;(function(t){function e(r,i,s){let o={kind:"create",uri:r};return i!==void 0&&(i.overwrite!==void 0||i.ignoreIfExists!==void 0)&&(o.options=i),s!==void 0&&(o.annotationId=s),o}t.create=e;function n(r){let i=r;return i&&i.kind==="create"&&B.string(i.uri)&&(i.options===void 0||(i.options.overwrite===void 0||B.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||B.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||ea.is(i.annotationId))}t.is=n})(Oy||(Oy={}));var Ly;(function(t){function e(r,i,s,o){let a={kind:"rename",oldUri:r,newUri:i};return s!==void 0&&(s.overwrite!==void 0||s.ignoreIfExists!==void 0)&&(a.options=s),o!==void 0&&(a.annotationId=o),a}t.create=e;function n(r){let i=r;return i&&i.kind==="rename"&&B.string(i.oldUri)&&B.string(i.newUri)&&(i.options===void 0||(i.options.overwrite===void 0||B.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||B.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||ea.is(i.annotationId))}t.is=n})(Ly||(Ly={}));var Fy;(function(t){function e(r,i,s){let o={kind:"delete",uri:r};return i!==void 0&&(i.recursive!==void 0||i.ignoreIfNotExists!==void 0)&&(o.options=i),s!==void 0&&(o.annotationId=s),o}t.create=e;function n(r){let i=r;return i&&i.kind==="delete"&&B.string(i.uri)&&(i.options===void 0||(i.options.recursive===void 0||B.boolean(i.options.recursive))&&(i.options.ignoreIfNotExists===void 0||B.boolean(i.options.ignoreIfNotExists)))&&(i.annotationId===void 0||ea.is(i.annotationId))}t.is=n})(Fy||(Fy={}));var My;(function(t){function e(n){let r=n;return r&&(r.changes!==void 0||r.documentChanges!==void 0)&&(r.documentChanges===void 0||r.documentChanges.every(i=>B.string(i.kind)?Oy.is(i)||Ly.is(i)||Fy.is(i):Ny.is(i)))}t.is=e})(My||(My={}));var Z1;(function(t){function e(r){return{uri:r}}t.create=e;function n(r){let i=r;return B.defined(i)&&B.string(i.uri)}t.is=n})(Z1||(Z1={}));var Q1;(function(t){function e(r,i){return{uri:r,version:i}}t.create=e;function n(r){let i=r;return B.defined(i)&&B.string(i.uri)&&B.integer(i.version)}t.is=n})(Q1||(Q1={}));var zy;(function(t){function e(r,i){return{uri:r,version:i}}t.create=e;function n(r){let i=r;return B.defined(i)&&B.string(i.uri)&&(i.version===null||B.integer(i.version))}t.is=n})(zy||(zy={}));var eS;(function(t){function e(r,i,s,o){return{uri:r,languageId:i,version:s,text:o}}t.create=e;function n(r){let i=r;return B.defined(i)&&B.string(i.uri)&&B.string(i.languageId)&&B.integer(i.version)&&B.string(i.text)}t.is=n})(eS||(eS={}));var By;(function(t){t.PlainText="plaintext",t.Markdown="markdown";function e(n){const r=n;return r===t.PlainText||r===t.Markdown}t.is=e})(By||(By={}));var Qc;(function(t){function e(n){const r=n;return B.objectLiteral(n)&&By.is(r.kind)&&B.string(r.value)}t.is=e})(Qc||(Qc={}));var Lt;(function(t){t.Text=1,t.Method=2,t.Function=3,t.Constructor=4,t.Field=5,t.Variable=6,t.Class=7,t.Interface=8,t.Module=9,t.Property=10,t.Unit=11,t.Value=12,t.Enum=13,t.Keyword=14,t.Snippet=15,t.Color=16,t.File=17,t.Reference=18,t.Folder=19,t.EnumMember=20,t.Constant=21,t.Struct=22,t.Event=23,t.Operator=24,t.TypeParameter=25})(Lt||(Lt={}));var pr;(function(t){t.PlainText=1,t.Snippet=2})(pr||(pr={}));var tS;(function(t){t.Deprecated=1})(tS||(tS={}));var nS;(function(t){function e(r,i,s){return{newText:r,insert:i,replace:s}}t.create=e;function n(r){const i=r;return i&&B.string(i.newText)&&Me.is(i.insert)&&Me.is(i.replace)}t.is=n})(nS||(nS={}));var rS;(function(t){t.asIs=1,t.adjustIndentation=2})(rS||(rS={}));var iS;(function(t){function e(n){const r=n;return r&&(B.string(r.detail)||r.detail===void 0)&&(B.string(r.description)||r.description===void 0)}t.is=e})(iS||(iS={}));var sS;(function(t){function e(n){return{label:n}}t.create=e})(sS||(sS={}));var oS;(function(t){function e(n,r){return{items:n||[],isIncomplete:!!r}}t.create=e})(oS||(oS={}));var Xf;(function(t){function e(r){return r.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}t.fromPlainText=e;function n(r){const i=r;return B.string(i)||B.objectLiteral(i)&&B.string(i.language)&&B.string(i.value)}t.is=n})(Xf||(Xf={}));var aS;(function(t){function e(n){let r=n;return!!r&&B.objectLiteral(r)&&(Qc.is(r.contents)||Xf.is(r.contents)||B.typedArray(r.contents,Xf.is))&&(n.range===void 0||Me.is(n.range))}t.is=e})(aS||(aS={}));var cS;(function(t){function e(n,r){return r?{label:n,documentation:r}:{label:n}}t.create=e})(cS||(cS={}));var uS;(function(t){function e(n,r,...i){let s={label:n};return B.defined(r)&&(s.documentation=r),B.defined(i)?s.parameters=i:s.parameters=[],s}t.create=e})(uS||(uS={}));var lS;(function(t){t.Text=1,t.Read=2,t.Write=3})(lS||(lS={}));var dS;(function(t){function e(n,r){let i={range:n};return B.number(r)&&(i.kind=r),i}t.create=e})(dS||(dS={}));var mr;(function(t){t.File=1,t.Module=2,t.Namespace=3,t.Package=4,t.Class=5,t.Method=6,t.Property=7,t.Field=8,t.Constructor=9,t.Enum=10,t.Interface=11,t.Function=12,t.Variable=13,t.Constant=14,t.String=15,t.Number=16,t.Boolean=17,t.Array=18,t.Object=19,t.Key=20,t.Null=21,t.EnumMember=22,t.Struct=23,t.Event=24,t.Operator=25,t.TypeParameter=26})(mr||(mr={}));var fS;(function(t){t.Deprecated=1})(fS||(fS={}));var hS;(function(t){function e(n,r,i,s,o){let a={name:n,kind:r,location:{uri:s,range:i}};return o&&(a.containerName=o),a}t.create=e})(hS||(hS={}));var pS;(function(t){function e(n,r,i,s){return s!==void 0?{name:n,kind:r,location:{uri:i,range:s}}:{name:n,kind:r,location:{uri:i}}}t.create=e})(pS||(pS={}));var mS;(function(t){function e(r,i,s,o,a,c){let u={name:r,detail:i,kind:s,range:o,selectionRange:a};return c!==void 0&&(u.children=c),u}t.create=e;function n(r){let i=r;return i&&B.string(i.name)&&B.number(i.kind)&&Me.is(i.range)&&Me.is(i.selectionRange)&&(i.detail===void 0||B.string(i.detail))&&(i.deprecated===void 0||B.boolean(i.deprecated))&&(i.children===void 0||Array.isArray(i.children))&&(i.tags===void 0||Array.isArray(i.tags))}t.is=n})(mS||(mS={}));var gS;(function(t){t.Empty="",t.QuickFix="quickfix",t.Refactor="refactor",t.RefactorExtract="refactor.extract",t.RefactorInline="refactor.inline",t.RefactorRewrite="refactor.rewrite",t.Source="source",t.SourceOrganizeImports="source.organizeImports",t.SourceFixAll="source.fixAll"})(gS||(gS={}));var Jf;(function(t){t.Invoked=1,t.Automatic=2})(Jf||(Jf={}));var yS;(function(t){function e(r,i,s){let o={diagnostics:r};return i!=null&&(o.only=i),s!=null&&(o.triggerKind=s),o}t.create=e;function n(r){let i=r;return B.defined(i)&&B.typedArray(i.diagnostics,Yf.is)&&(i.only===void 0||B.typedArray(i.only,B.string))&&(i.triggerKind===void 0||i.triggerKind===Jf.Invoked||i.triggerKind===Jf.Automatic)}t.is=n})(yS||(yS={}));var vS;(function(t){function e(r,i,s){let o={title:r},a=!0;return typeof i=="string"?(a=!1,o.kind=i):Qo.is(i)?o.command=i:o.edit=i,a&&s!==void 0&&(o.kind=s),o}t.create=e;function n(r){let i=r;return i&&B.string(i.title)&&(i.diagnostics===void 0||B.typedArray(i.diagnostics,Yf.is))&&(i.kind===void 0||B.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||Qo.is(i.command))&&(i.isPreferred===void 0||B.boolean(i.isPreferred))&&(i.edit===void 0||My.is(i.edit))}t.is=n})(vS||(vS={}));var wS;(function(t){function e(r,i){let s={range:r};return B.defined(i)&&(s.data=i),s}t.create=e;function n(r){let i=r;return B.defined(i)&&Me.is(i.range)&&(B.undefined(i.command)||Qo.is(i.command))}t.is=n})(wS||(wS={}));var bS;(function(t){function e(r,i){return{tabSize:r,insertSpaces:i}}t.create=e;function n(r){let i=r;return B.defined(i)&&B.uinteger(i.tabSize)&&B.boolean(i.insertSpaces)}t.is=n})(bS||(bS={}));var ES;(function(t){function e(r,i,s){return{range:r,target:i,data:s}}t.create=e;function n(r){let i=r;return B.defined(i)&&Me.is(i.range)&&(B.undefined(i.target)||B.string(i.target))}t.is=n})(ES||(ES={}));var DS;(function(t){function e(r,i){return{range:r,parent:i}}t.create=e;function n(r){let i=r;return B.objectLiteral(i)&&Me.is(i.range)&&(i.parent===void 0||t.is(i.parent))}t.is=n})(DS||(DS={}));var qe;(function(t){t.namespace="namespace",t.type="type",t.class="class",t.enum="enum",t.interface="interface",t.struct="struct",t.typeParameter="typeParameter",t.parameter="parameter",t.variable="variable",t.property="property",t.enumMember="enumMember",t.event="event",t.function="function",t.method="method",t.macro="macro",t.keyword="keyword",t.modifier="modifier",t.comment="comment",t.string="string",t.number="number",t.regexp="regexp",t.operator="operator",t.decorator="decorator"})(qe||(qe={}));var lt;(function(t){t.declaration="declaration",t.definition="definition",t.readonly="readonly",t.static="static",t.deprecated="deprecated",t.abstract="abstract",t.async="async",t.modification="modification",t.documentation="documentation",t.defaultLibrary="defaultLibrary"})(lt||(lt={}));var TS;(function(t){function e(n){const r=n;return B.objectLiteral(r)&&(r.resultId===void 0||typeof r.resultId=="string")&&Array.isArray(r.data)&&(r.data.length===0||typeof r.data[0]=="number")}t.is=e})(TS||(TS={}));var RS;(function(t){function e(r,i){return{range:r,text:i}}t.create=e;function n(r){const i=r;return i!=null&&Me.is(i.range)&&B.string(i.text)}t.is=n})(RS||(RS={}));var SS;(function(t){function e(r,i,s){return{range:r,variableName:i,caseSensitiveLookup:s}}t.create=e;function n(r){const i=r;return i!=null&&Me.is(i.range)&&B.boolean(i.caseSensitiveLookup)&&(B.string(i.variableName)||i.variableName===void 0)}t.is=n})(SS||(SS={}));var kS;(function(t){function e(r,i){return{range:r,expression:i}}t.create=e;function n(r){const i=r;return i!=null&&Me.is(i.range)&&(B.string(i.expression)||i.expression===void 0)}t.is=n})(kS||(kS={}));var $S;(function(t){function e(r,i){return{frameId:r,stoppedLocation:i}}t.create=e;function n(r){const i=r;return B.defined(i)&&Me.is(r.stoppedLocation)}t.is=n})($S||($S={}));var qy;(function(t){t.Type=1,t.Parameter=2;function e(n){return n===1||n===2}t.is=e})(qy||(qy={}));var jy;(function(t){function e(r){return{value:r}}t.create=e;function n(r){const i=r;return B.objectLiteral(i)&&(i.tooltip===void 0||B.string(i.tooltip)||Qc.is(i.tooltip))&&(i.location===void 0||Kf.is(i.location))&&(i.command===void 0||Qo.is(i.command))}t.is=n})(jy||(jy={}));var CS;(function(t){function e(r,i,s){const o={position:r,label:i};return s!==void 0&&(o.kind=s),o}t.create=e;function n(r){const i=r;return B.objectLiteral(i)&&He.is(i.position)&&(B.string(i.label)||B.typedArray(i.label,jy.is))&&(i.kind===void 0||qy.is(i.kind))&&i.textEdits===void 0||B.typedArray(i.textEdits,Sn.is)&&(i.tooltip===void 0||B.string(i.tooltip)||Qc.is(i.tooltip))&&(i.paddingLeft===void 0||B.boolean(i.paddingLeft))&&(i.paddingRight===void 0||B.boolean(i.paddingRight))}t.is=n})(CS||(CS={}));var _S;(function(t){function e(n){return{kind:"snippet",value:n}}t.createSnippet=e})(_S||(_S={}));var AS;(function(t){function e(n,r,i,s){return{insertText:n,filterText:r,range:i,command:s}}t.create=e})(AS||(AS={}));var xS;(function(t){function e(n){return{items:n}}t.create=e})(xS||(xS={}));var IS;(function(t){t.Invoked=0,t.Automatic=1})(IS||(IS={}));var PS;(function(t){function e(n,r){return{range:n,text:r}}t.create=e})(PS||(PS={}));var NS;(function(t){function e(n,r){return{triggerKind:n,selectedCompletionInfo:r}}t.create=e})(NS||(NS={}));var OS;(function(t){function e(n){const r=n;return B.objectLiteral(r)&&Ay.is(r.uri)&&B.string(r.name)}t.is=e})(OS||(OS={}));var LS;(function(t){function e(s,o,a,c){return new Tj(s,o,a,c)}t.create=e;function n(s){let o=s;return!!(B.defined(o)&&B.string(o.uri)&&(B.undefined(o.languageId)||B.string(o.languageId))&&B.uinteger(o.lineCount)&&B.func(o.getText)&&B.func(o.positionAt)&&B.func(o.offsetAt))}t.is=n;function r(s,o){let a=s.getText(),c=i(o,(l,d)=>{let f=l.range.start.line-d.range.start.line;return f===0?l.range.start.character-d.range.start.character:f}),u=a.length;for(let l=c.length-1;l>=0;l--){let d=c[l],f=s.offsetAt(d.range.start),h=s.offsetAt(d.range.end);if(h<=u)a=a.substring(0,f)+d.newText+a.substring(h,a.length);else throw new Error("Overlapping edit");u=f}return a}t.applyEdits=r;function i(s,o){if(s.length<=1)return s;const a=s.length/2|0,c=s.slice(0,a),u=s.slice(a);i(c,o),i(u,o);let l=0,d=0,f=0;for(;l<c.length&&d<u.length;)o(c[l],u[d])<=0?s[f++]=c[l++]:s[f++]=u[d++];for(;l<c.length;)s[f++]=c[l++];for(;d<u.length;)s[f++]=u[d++];return s}})(LS||(LS={}));let Tj=class{constructor(e,n,r,i){this._uri=e,this._languageId=n,this._version=r,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let n=this.offsetAt(e.start),r=this.offsetAt(e.end);return this._content.substring(n,r)}return this._content}update(e,n){this._content=e.text,this._version=n,this._lineOffsets=void 0}getLineOffsets(){if(this._lineOffsets===void 0){let e=[],n=this._content,r=!0;for(let i=0;i<n.length;i++){r&&(e.push(i),r=!1);let s=n.charAt(i);r=s==="\r"||s===`
115
- `,s==="\r"&&i+1<n.length&&n.charAt(i+1)===`
116
- `&&i++}r&&n.length>0&&e.push(n.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let n=this.getLineOffsets(),r=0,i=n.length;if(i===0)return He.create(0,e);for(;r<i;){let o=Math.floor((r+i)/2);n[o]>e?i=o:r=o+1}let s=r-1;return He.create(s,e-n[s])}offsetAt(e){let n=this.getLineOffsets();if(e.line>=n.length)return this._content.length;if(e.line<0)return 0;let r=n[e.line],i=e.line+1<n.length?n[e.line+1]:this._content.length;return Math.max(Math.min(r+e.character,i),r)}get lineCount(){return this.getLineOffsets().length}};var B;(function(t){const e=Object.prototype.toString;function n(h){return typeof h<"u"}t.defined=n;function r(h){return typeof h>"u"}t.undefined=r;function i(h){return h===!0||h===!1}t.boolean=i;function s(h){return e.call(h)==="[object String]"}t.string=s;function o(h){return e.call(h)==="[object Number]"}t.number=o;function a(h,p,m){return e.call(h)==="[object Number]"&&p<=h&&h<=m}t.numberRange=a;function c(h){return e.call(h)==="[object Number]"&&-2147483648<=h&&h<=2147483647}t.integer=c;function u(h){return e.call(h)==="[object Number]"&&0<=h&&h<=2147483647}t.uinteger=u;function l(h){return e.call(h)==="[object Function]"}t.func=l;function d(h){return h!==null&&typeof h=="object"}t.objectLiteral=d;function f(h,p){return Array.isArray(h)&&h.every(p)}t.typedArray=f})(B||(B={}));class Rj{constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]}buildRootNode(e){return this.rootNode=new MS(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){const n=new Gy;return n.grammarSource=e,n.root=this.rootNode,this.current.content.push(n),this.nodeStack.push(n),n}buildLeafNode(e,n){const r=new Uy(e.startOffset,e.image.length,Md(e),e.tokenType,!1);return r.grammarSource=n,r.root=this.rootNode,this.current.content.push(r),r}removeNode(e){const n=e.container;if(n){const r=n.content.indexOf(e);r>=0&&n.content.splice(r,1)}}construct(e){const n=this.current;typeof e.$type=="string"&&(this.current.astNode=e),e.$cstNode=n;const r=this.nodeStack.pop();r?.content.length===0&&this.removeNode(r)}addHiddenTokens(e){for(const n of e){const r=new Uy(n.startOffset,n.image.length,Md(n),n.tokenType,!0);r.root=this.rootNode,this.addHiddenToken(this.rootNode,r)}}addHiddenToken(e,n){const{offset:r,end:i}=n;for(let s=0;s<e.content.length;s++){const o=e.content[s],{offset:a,end:c}=o;if(ri(o)&&r>a&&i<c){this.addHiddenToken(o,n);return}else if(i<=a){e.content.splice(s,0,n);return}}e.content.push(n)}}class FS{get parent(){return this.container}get feature(){return this.grammarSource}get hidden(){return!1}get astNode(){var e,n;const r=typeof((e=this._astNode)===null||e===void 0?void 0:e.$type)=="string"?this._astNode:(n=this.container)===null||n===void 0?void 0:n.astNode;if(!r)throw new Error("This node has no associated AST element");return r}set astNode(e){this._astNode=e}get element(){return this.astNode}get text(){return this.root.fullText.substring(this.offset,this.end)}}class Uy extends FS{get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(e,n,r,i,s=!1){super(),this._hidden=s,this._offset=e,this._tokenType=i,this._length=n,this._range=r}}class Gy extends FS{constructor(){super(...arguments),this.content=new j0(this)}get children(){return this.content}get offset(){var e,n;return(n=(e=this.firstNonHiddenNode)===null||e===void 0?void 0:e.offset)!==null&&n!==void 0?n:0}get length(){return this.end-this.offset}get end(){var e,n;return(n=(e=this.lastNonHiddenNode)===null||e===void 0?void 0:e.end)!==null&&n!==void 0?n:0}get range(){const e=this.firstNonHiddenNode,n=this.lastNonHiddenNode;if(e&&n){if(this._rangeCache===void 0){const{range:r}=e,{range:i}=n;this._rangeCache={start:r.start,end:i.end.line<r.start.line?r.start:i.end}}return this._rangeCache}else return{start:He.create(0,0),end:He.create(0,0)}}get firstNonHiddenNode(){for(const e of this.content)if(!e.hidden)return e;return this.content[0]}get lastNonHiddenNode(){for(let e=this.content.length-1;e>=0;e--){const n=this.content[e];if(!n.hidden)return n}return this.content[this.content.length-1]}}class j0 extends Array{constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,j0.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,n,...r){return this.addParents(r),super.splice(e,n,...r)}addParents(e){for(const n of e)n.container=this.parent}}class MS extends Gy{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}}const Wy=Symbol("Datatype");function Hy(t){return t.$type===Wy}const zS="\u200B",BS=t=>t.endsWith(zS)?t:t+zS;class qS{constructor(e){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;const n=this.lexer.definition;this.wrapper=new _j(n,Object.assign(Object.assign({},e.parser.ParserConfig),{errorMessageProvider:e.parser.ParserErrorMessageProvider}))}alternatives(e,n){this.wrapper.wrapOr(e,n)}optional(e,n){this.wrapper.wrapOption(e,n)}many(e,n){this.wrapper.wrapMany(e,n)}atLeastOne(e,n){this.wrapper.wrapAtLeastOne(e,n)}getRule(e){return this.allRules.get(e)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}}class Sj extends qS{get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new Rj,this.stack=[],this.assignmentMap=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,n){const r=this.computeRuleType(e),i=this.wrapper.DEFINE_RULE(BS(e.name),this.startImplementation(r,n).bind(this));return this.allRules.set(e.name,i),e.entry&&(this.mainRule=i),i}computeRuleType(e){if(!e.fragment){if(of(e))return Wy;{const n=As(e);return n??e.name}}}parse(e,n={}){this.nodeBuilder.buildRootNode(e);const r=this.lexer.tokenize(e);this.wrapper.input=r.tokens;const i=n.rule?this.allRules.get(n.rule):this.mainRule;if(!i)throw new Error(n.rule?`No rule found with name '${n.rule}'`:"No main rule available.");const s=i.call(this.wrapper,{});return this.nodeBuilder.addHiddenTokens(r.hidden),this.unorderedGroups.clear(),{value:s,lexerErrors:r.errors,lexerReport:r.report,parserErrors:this.wrapper.errors}}startImplementation(e,n){return r=>{if(!this.isRecording()){const s={$type:e};this.stack.push(s),e===Wy&&(s.value="")}let i;try{i=n(r)}catch{i=void 0}return!this.isRecording()&&i===void 0&&(i=this.construct()),i}}consume(e,n,r){const i=this.wrapper.wrapConsume(e,n);if(!this.isRecording()&&this.isValidToken(i)){const s=this.nodeBuilder.buildLeafNode(i,r),{assignment:o,isCrossRef:a}=this.getAssignment(r),c=this.current;if(o){const u=xr(r)?i.image:this.converter.convert(i.image,s);this.assign(o.operator,o.feature,u,s,a)}else if(Hy(c)){let u=i.image;xr(r)||(u=this.converter.convert(u,s).toString()),c.value+=u}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&typeof e.endOffset=="number"&&!isNaN(e.endOffset)}subrule(e,n,r,i){let s;this.isRecording()||(s=this.nodeBuilder.buildCompositeNode(r));const o=this.wrapper.wrapSubrule(e,n,i);!this.isRecording()&&s&&s.length>0&&this.performSubruleAssignment(o,r,s)}performSubruleAssignment(e,n,r){const{assignment:i,isCrossRef:s}=this.getAssignment(n);if(i)this.assign(i.operator,i.feature,e,r,s);else if(!i){const o=this.current;if(Hy(o))o.value+=e.toString();else if(typeof e=="object"&&e){const a=e.$type,c=this.assignWithoutOverride(e,o);a&&(c.$type=a);const u=c;this.stack.pop(),this.stack.push(u)}}}action(e,n){if(!this.isRecording()){let r=this.current;if(n.feature&&n.operator){r=this.construct(),this.nodeBuilder.buildCompositeNode(n).content.push(r.$cstNode);const s={$type:e};this.stack.push(s),this.assign(n.operator,n.feature,r,r.$cstNode,!1)}else r.$type=e}}construct(){if(this.isRecording())return;const e=this.current;return vg(e),this.nodeBuilder.construct(e),this.stack.pop(),Hy(e)?this.converter.convert(e.value,e.$cstNode):(bg(this.astReflection,e),e)}getAssignment(e){if(!this.assignmentMap.has(e)){const n=wn(e,Ar);this.assignmentMap.set(e,{assignment:n,isCrossRef:n?pc(n.terminal):!1})}return this.assignmentMap.get(e)}assign(e,n,r,i,s){const o=this.current;let a;switch(s&&typeof r=="string"?a=this.linker.buildReference(o,n,i,r):a=r,e){case"=":{o[n]=a;break}case"?=":{o[n]=!0;break}case"+=":Array.isArray(o[n])||(o[n]=[]),o[n].push(a)}}assignWithoutOverride(e,n){for(const[i,s]of Object.entries(n)){const o=e[i];o===void 0?e[i]=s:Array.isArray(o)&&Array.isArray(s)&&(s.push(...o),e[i]=s)}const r=e.$cstNode;return r&&(r.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}}class kj{buildMismatchTokenMessage(e){return Xo.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return Xo.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return Xo.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return Xo.buildEarlyExitMessage(e)}}class jS extends kj{buildMismatchTokenMessage({expected:e,actual:n}){return`Expecting ${e.LABEL?"`"+e.LABEL+"`":e.name.endsWith(":KW")?`keyword '${e.name.substring(0,e.name.length-3)}'`:`token of type '${e.name}'`} but found \`${n.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}}class $j extends qS{constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();const n=this.lexer.tokenize(e,{mode:"partial"});return this.tokens=n.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(e,n){const r=this.wrapper.DEFINE_RULE(BS(e.name),this.startImplementation(n).bind(this));return this.allRules.set(e.name,r),e.entry&&(this.mainRule=r),r}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return n=>{const r=this.keepStackSize();try{e(n)}finally{this.resetStackSize(r)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){const e=this.elementStack.length;return this.stackSize=e,e}resetStackSize(e){this.removeUnexpectedElements(),this.stackSize=e}consume(e,n,r){this.wrapper.wrapConsume(e,n),this.isRecording()||(this.lastElementStack=[...this.elementStack,r],this.nextTokenIndex=this.currIdx+1)}subrule(e,n,r,i){this.before(r),this.wrapper.wrapSubrule(e,n,i),this.after(r)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){const n=this.elementStack.lastIndexOf(e);n>=0&&this.elementStack.splice(n)}}get currIdx(){return this.wrapper.currIdx}}const Cj={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new jS};class _j extends Lq{constructor(e,n){const r=n&&"maxLookahead"in n;super(e,Object.assign(Object.assign(Object.assign({},Cj),{lookaheadStrategy:r?new Ey({maxLookahead:n.maxLookahead}):new rj}),n))}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,n){return this.RULE(e,n)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,n){return this.consume(e,n)}wrapSubrule(e,n,r){return this.subrule(e,n,{ARGS:[r]})}wrapOr(e,n){this.or(e,n)}wrapOption(e,n){this.option(e,n)}wrapMany(e,n){this.many(e,n)}wrapAtLeastOne(e,n){this.atLeastOne(e,n)}}function US(t,e,n){return Aj({parser:e,tokens:n,ruleNames:new Map},t),e}function Aj(t,e){const n=Sg(e,!1),r=Qe(e.rules).filter(Jt).filter(i=>n.has(i));for(const i of r){const s=Object.assign(Object.assign({},t),{consume:1,optional:1,subrule:1,many:1,or:1});t.parser.rule(i,zs(s,i.definition))}}function zs(t,e,n=!1){let r;if(xr(e))r=Fj(t,e);else if(_s(e))r=xj(t,e);else if(Ar(e))r=zs(t,e.terminal);else if(pc(e))r=GS(t,e);else if(si(e))r=Ij(t,e);else if(gg(e))r=Nj(t,e);else if(yg(e))r=Oj(t,e);else if(Mi(e))r=Lj(t,e);else if(RM(e)){const i=t.consume++;r=()=>t.parser.consume(i,ji,e)}else throw new VD(e.$cstNode,`Unexpected element type: ${e.$type}`);return WS(t,n?void 0:Zf(e),r,e.cardinality)}function xj(t,e){const n=xc(e);return()=>t.parser.action(n,e)}function Ij(t,e){const n=e.rule.ref;if(Jt(n)){const r=t.subrule++,i=e.arguments.length>0?Pj(n,e.arguments):()=>({});return s=>t.parser.subrule(r,HS(t,n),e,i(s))}else if(ii(n)){const r=t.consume++,i=Vy(t,n.name);return()=>t.parser.consume(r,i,e)}else if(n)qd();else throw new VD(e.$cstNode,`Undefined rule type: ${e.$type}`)}function Pj(t,e){const n=e.map(r=>mi(r.value));return r=>{const i={};for(let s=0;s<n.length;s++){const o=t.parameters[s],a=n[s];i[o.name]=a(r)}return i}}function mi(t){if(yM(t)){const e=mi(t.left),n=mi(t.right);return r=>e(r)||n(r)}else if(gM(t)){const e=mi(t.left),n=mi(t.right);return r=>e(r)&&n(r)}else if(vM(t)){const e=mi(t.value);return n=>!e(n)}else if(wM(t)){const e=t.parameter.ref.name;return n=>n!==void 0&&n[e]===!0}else if(mM(t)){const e=!!t.true;return()=>e}qd()}function Nj(t,e){if(e.elements.length===1)return zs(t,e.elements[0]);{const n=[];for(const i of e.elements){const s={ALT:zs(t,i,!0)},o=Zf(i);o&&(s.GATE=mi(o)),n.push(s)}const r=t.or++;return i=>t.parser.alternatives(r,n.map(s=>{const o={ALT:()=>s.ALT(i)},a=s.GATE;return a&&(o.GATE=()=>a(i)),o}))}}function Oj(t,e){if(e.elements.length===1)return zs(t,e.elements[0]);const n=[];for(const a of e.elements){const c={ALT:zs(t,a,!0)},u=Zf(a);u&&(c.GATE=mi(u)),n.push(c)}const r=t.or++,i=(a,c)=>{const u=c.getRuleStack().join("-");return`uGroup_${a}_${u}`},s=a=>t.parser.alternatives(r,n.map((c,u)=>{const l={ALT:()=>!0},d=t.parser;l.ALT=()=>{if(c.ALT(a),!d.isRecording()){const h=i(r,d);d.unorderedGroups.get(h)||d.unorderedGroups.set(h,[]);const p=d.unorderedGroups.get(h);typeof p?.[u]>"u"&&(p[u]=!0)}};const f=c.GATE;return f?l.GATE=()=>f(a):l.GATE=()=>{const h=d.unorderedGroups.get(i(r,d));return!h?.[u]},l})),o=WS(t,Zf(e),s,"*");return a=>{o(a),t.parser.isRecording()||t.parser.unorderedGroups.delete(i(r,t.parser))}}function Lj(t,e){const n=e.elements.map(r=>zs(t,r));return r=>n.forEach(i=>i(r))}function Zf(t){if(Mi(t))return t.guardCondition}function GS(t,e,n=e.terminal){if(n)if(si(n)&&Jt(n.rule.ref)){const r=t.subrule++;return i=>t.parser.subrule(r,HS(t,n.rule.ref),e,i)}else if(si(n)&&ii(n.rule.ref)){const r=t.consume++,i=Vy(t,n.rule.ref.name);return()=>t.parser.consume(r,i,e)}else if(xr(n)){const r=t.consume++,i=Vy(t,n.value);return()=>t.parser.consume(r,i,e)}else throw new Error("Could not build cross reference parser");else{if(!e.type.ref)throw new Error("Could not resolve reference to type: "+e.type.$refText);const r=Ag(e.type.ref),i=r?.terminal;if(!i)throw new Error("Could not find name assignment for type: "+xc(e.type.ref));return GS(t,e,i)}}function Fj(t,e){const n=t.consume++,r=t.tokens[e.value];if(!r)throw new Error("Could not find token for keyword: "+e.value);return()=>t.parser.consume(n,r,e)}function WS(t,e,n,r){const i=e&&mi(e);if(!r)if(i){const s=t.or++;return o=>t.parser.alternatives(s,[{ALT:()=>n(o),GATE:()=>i(o)},{ALT:$1(),GATE:()=>!i(o)}])}else return n;if(r==="*"){const s=t.many++;return o=>t.parser.many(s,{DEF:()=>n(o),GATE:i?()=>i(o):void 0})}else if(r==="+"){const s=t.many++;if(i){const o=t.or++;return a=>t.parser.alternatives(o,[{ALT:()=>t.parser.atLeastOne(s,{DEF:()=>n(a)}),GATE:()=>i(a)},{ALT:$1(),GATE:()=>!i(a)}])}else return o=>t.parser.atLeastOne(s,{DEF:()=>n(o)})}else if(r==="?"){const s=t.optional++;return o=>t.parser.optional(s,{DEF:()=>n(o),GATE:i?()=>i(o):void 0})}else qd()}function HS(t,e){const n=Mj(t,e),r=t.parser.getRule(n);if(!r)throw new Error(`Rule "${n}" not found."`);return r}function Mj(t,e){if(Jt(e))return e.name;if(t.ruleNames.has(e))return t.ruleNames.get(e);{let n=e,r=n.$container,i=e.$type;for(;!Jt(r);)(Mi(r)||gg(r)||yg(r))&&(i=r.elements.indexOf(n).toString()+":"+i),n=r,r=r.$container;return i=r.name+":"+i,t.ruleNames.set(e,i),i}}function Vy(t,e){const n=t.tokens[e];if(!n)throw new Error(`Token "${e}" not found."`);return n}function zj(t){const e=t.Grammar,n=t.parser.Lexer,r=new $j(t);return US(e,r,n.definition),r.finalize(),r}function Bj(t){const e=qj(t);return e.finalize(),e}function qj(t){const e=t.Grammar,n=t.parser.Lexer,r=new Sj(t);return US(e,r,n.definition)}class jj{constructor(){this.diagnostics=[]}buildTokens(e,n){const r=Qe(Sg(e,!1)),i=this.buildTerminalTokens(r),s=this.buildKeywordTokens(r,i,n);return i.forEach(o=>{const a=o.PATTERN;typeof a=="object"&&a&&"test"in a&&Rg(a)?s.unshift(o):s.push(o)}),s}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){const e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(ii).filter(n=>!n.fragment).map(n=>this.buildTerminalToken(n)).toArray()}buildTerminalToken(e){const n=Ic(e),r=this.requiresCustomPattern(n)?this.regexPatternFunction(n):n,i={name:e.name,PATTERN:r,LINE_BREAKS:!0};return e.hidden&&(i.GROUP=Rg(n)?Rn.SKIPPED:"hidden"),i}requiresCustomPattern(e){return e.flags.includes("u")||e.flags.includes("s")?!0:!!(e.source.includes("?<=")||e.source.includes("?<!"))}regexPatternFunction(e){const n=new RegExp(e,e.flags+"y");return(r,i)=>(n.lastIndex=i,n.exec(r))}buildKeywordTokens(e,n,r){return e.filter(Jt).flatMap(i=>Ir(i).filter(xr)).distinct(i=>i.value).toArray().sort((i,s)=>s.value.length-i.value.length).map(i=>this.buildKeywordToken(i,n,!!r?.caseInsensitive))}buildKeywordToken(e,n,r){return{name:e.value,PATTERN:this.buildKeywordPattern(e,r),LONGER_ALT:this.findLongerAlt(e,n)}}buildKeywordPattern(e,n){return n?new RegExp(zM(e.value)):e.value}findLongerAlt(e,n){return n.reduce((r,i)=>{const s=i?.PATTERN;return s?.source&&BM("^"+s.source+"$",e.value)&&r.push(i),r},[])}}class Uj{convert(e,n){let r=n.grammarSource;if(pc(r)&&(r=kg(r)),si(r)){const i=r.rule.ref;if(!i)throw new Error("This cst node was not parsed by a rule.");return this.runConverter(i,e,n)}return e}runConverter(e,n,r){var i;switch(e.name.toUpperCase()){case"INT":return gi.convertInt(n);case"STRING":return gi.convertString(n);case"ID":return gi.convertID(n)}switch((i=pT(e))===null||i===void 0?void 0:i.toLowerCase()){case"number":return gi.convertNumber(n);case"boolean":return gi.convertBoolean(n);case"bigint":return gi.convertBigint(n);case"date":return gi.convertDate(n);default:return n}}}var gi;(function(t){function e(u){let l="";for(let d=1;d<u.length-1;d++){const f=u.charAt(d);if(f==="\\"){const h=u.charAt(++d);l+=n(h)}else l+=f}return l}t.convertString=e;function n(u){switch(u){case"b":return"\b";case"f":return"\f";case"n":return`
117
- `;case"r":return"\r";case"t":return" ";case"v":return"\v";case"0":return"\0";default:return u}}function r(u){return u.charAt(0)==="^"?u.substring(1):u}t.convertID=r;function i(u){return parseInt(u)}t.convertInt=i;function s(u){return BigInt(u)}t.convertBigint=s;function o(u){return new Date(u)}t.convertDate=o;function a(u){return Number(u)}t.convertNumber=a;function c(u){return u.toLowerCase()==="true"}t.convertBoolean=c})(gi||(gi={}));var Bs={},Qf={},VS;function qs(){if(VS)return Qf;VS=1,Object.defineProperty(Qf,"__esModule",{value:!0});let t;function e(){if(t===void 0)throw new Error("No runtime abstraction layer installed");return t}return function(n){function r(i){if(i===void 0)throw new Error("No runtime abstraction layer provided");t=i}n.install=r}(e||(e={})),Qf.default=e,Qf}var Ht={},KS;function eu(){if(KS)return Ht;KS=1,Object.defineProperty(Ht,"__esModule",{value:!0}),Ht.stringArray=Ht.array=Ht.func=Ht.error=Ht.number=Ht.string=Ht.boolean=void 0;function t(a){return a===!0||a===!1}Ht.boolean=t;function e(a){return typeof a=="string"||a instanceof String}Ht.string=e;function n(a){return typeof a=="number"||a instanceof Number}Ht.number=n;function r(a){return a instanceof Error}Ht.error=r;function i(a){return typeof a=="function"}Ht.func=i;function s(a){return Array.isArray(a)}Ht.array=s;function o(a){return s(a)&&a.every(c=>e(c))}return Ht.stringArray=o,Ht}var js={},YS;function ta(){if(YS)return js;YS=1,Object.defineProperty(js,"__esModule",{value:!0}),js.Emitter=js.Event=void 0;const t=qs();var e;(function(i){const s={dispose(){}};i.None=function(){return s}})(e||(js.Event=e={}));class n{add(s,o=null,a){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(s),this._contexts.push(o),Array.isArray(a)&&a.push({dispose:()=>this.remove(s,o)})}remove(s,o=null){if(!this._callbacks)return;let a=!1;for(let c=0,u=this._callbacks.length;c<u;c++)if(this._callbacks[c]===s)if(this._contexts[c]===o){this._callbacks.splice(c,1),this._contexts.splice(c,1);return}else a=!0;if(a)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...s){if(!this._callbacks)return[];const o=[],a=this._callbacks.slice(0),c=this._contexts.slice(0);for(let u=0,l=a.length;u<l;u++)try{o.push(a[u].apply(c[u],s))}catch(d){(0,t.default)().console.error(d)}return o}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}}class r{constructor(s){this._options=s}get event(){return this._event||(this._event=(s,o,a)=>{this._callbacks||(this._callbacks=new n),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(s,o);const c={dispose:()=>{this._callbacks&&(this._callbacks.remove(s,o),c.dispose=r._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(a)&&a.push(c),c}),this._event}fire(s){this._callbacks&&this._callbacks.invoke.call(this._callbacks,s)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}return js.Emitter=r,r._noop=function(){},js}var XS;function eh(){if(XS)return Bs;XS=1,Object.defineProperty(Bs,"__esModule",{value:!0}),Bs.CancellationTokenSource=Bs.CancellationToken=void 0;const t=qs(),e=eu(),n=ta();var r;(function(a){a.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:n.Event.None}),a.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:n.Event.None});function c(u){const l=u;return l&&(l===a.None||l===a.Cancelled||e.boolean(l.isCancellationRequested)&&!!l.onCancellationRequested)}a.is=c})(r||(Bs.CancellationToken=r={}));const i=Object.freeze(function(a,c){const u=(0,t.default)().timer.setTimeout(a.bind(c),0);return{dispose(){u.dispose()}}});class s{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?i:(this._emitter||(this._emitter=new n.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}class o{get token(){return this._token||(this._token=new s),this._token}cancel(){this._token?this._token.cancel():this._token=r.Cancelled}dispose(){this._token?this._token instanceof s&&this._token.dispose():this._token=r.None}}return Bs.CancellationTokenSource=o,Bs}var dt=eh();function Gj(){return new Promise(t=>{typeof setImmediate>"u"?setTimeout(t,0):setImmediate(t)})}let JS=0,Wj=10;const th=Symbol("OperationCancelled");function nh(t){return t===th}async function zt(t){if(t===dt.CancellationToken.None)return;const e=Date.now();if(e-JS>=Wj&&(JS=e,await Gj()),t.isCancellationRequested)throw th}class Ky{constructor(){this.promise=new Promise((e,n)=>{this.resolve=r=>(e(r),this),this.reject=r=>(n(r),this)})}}class yd{constructor(e,n,r,i){this._uri=e,this._languageId=n,this._version=r,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){const n=this.offsetAt(e.start),r=this.offsetAt(e.end);return this._content.substring(n,r)}return this._content}update(e,n){for(let r of e)if(yd.isIncremental(r)){const i=QS(r.range),s=this.offsetAt(i.start),o=this.offsetAt(i.end);this._content=this._content.substring(0,s)+r.text+this._content.substring(o,this._content.length);const a=Math.max(i.start.line,0),c=Math.max(i.end.line,0);let u=this._lineOffsets;const l=ZS(r.text,!1,s);if(c-a===l.length)for(let f=0,h=l.length;f<h;f++)u[f+a+1]=l[f];else l.length<1e4?u.splice(a+1,c-a,...l):this._lineOffsets=u=u.slice(0,a+1).concat(l,u.slice(c+1));const d=r.text.length-(o-s);if(d!==0)for(let f=a+1+l.length,h=u.length;f<h;f++)u[f]=u[f]+d}else if(yd.isFull(r))this._content=r.text,this._lineOffsets=void 0;else throw new Error("Unknown change event received");this._version=n}getLineOffsets(){return this._lineOffsets===void 0&&(this._lineOffsets=ZS(this._content,!0)),this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let n=this.getLineOffsets(),r=0,i=n.length;if(i===0)return{line:0,character:e};for(;r<i;){let o=Math.floor((r+i)/2);n[o]>e?i=o:r=o+1}let s=r-1;return{line:s,character:e-n[s]}}offsetAt(e){let n=this.getLineOffsets();if(e.line>=n.length)return this._content.length;if(e.line<0)return 0;let r=n[e.line],i=e.line+1<n.length?n[e.line+1]:this._content.length;return Math.max(Math.min(r+e.character,i),r)}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){let n=e;return n!=null&&typeof n.text=="string"&&n.range!==void 0&&(n.rangeLength===void 0||typeof n.rangeLength=="number")}static isFull(e){let n=e;return n!=null&&typeof n.text=="string"&&n.range===void 0&&n.rangeLength===void 0}}var rh;(function(t){function e(i,s,o,a){return new yd(i,s,o,a)}t.create=e;function n(i,s,o){if(i instanceof yd)return i.update(s,o),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}t.update=n;function r(i,s){let o=i.getText(),a=Yy(s.map(Hj),(l,d)=>{let f=l.range.start.line-d.range.start.line;return f===0?l.range.start.character-d.range.start.character:f}),c=0;const u=[];for(const l of a){let d=i.offsetAt(l.range.start);if(d<c)throw new Error("Overlapping edit");d>c&&u.push(o.substring(c,d)),l.newText.length&&u.push(l.newText),c=i.offsetAt(l.range.end)}return u.push(o.substr(c)),u.join("")}t.applyEdits=r})(rh||(rh={}));function Yy(t,e){if(t.length<=1)return t;const n=t.length/2|0,r=t.slice(0,n),i=t.slice(n);Yy(r,e),Yy(i,e);let s=0,o=0,a=0;for(;s<r.length&&o<i.length;)e(r[s],i[o])<=0?t[a++]=r[s++]:t[a++]=i[o++];for(;s<r.length;)t[a++]=r[s++];for(;o<i.length;)t[a++]=i[o++];return t}function ZS(t,e,n=0){const r=e?[n]:[];for(let i=0;i<t.length;i++){let s=t.charCodeAt(i);(s===13||s===10)&&(s===13&&i+1<t.length&&t.charCodeAt(i+1)===10&&i++,r.push(n+i+1))}return r}function QS(t){const e=t.start,n=t.end;return e.line>n.line||e.line===n.line&&e.character>n.character?{start:n,end:e}:t}function Hj(t){const e=QS(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var ek;(()=>{var t={470:i=>{function s(c){if(typeof c!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(c))}function o(c,u){for(var l,d="",f=0,h=-1,p=0,m=0;m<=c.length;++m){if(m<c.length)l=c.charCodeAt(m);else{if(l===47)break;l=47}if(l===47){if(!(h===m-1||p===1))if(h!==m-1&&p===2){if(d.length<2||f!==2||d.charCodeAt(d.length-1)!==46||d.charCodeAt(d.length-2)!==46){if(d.length>2){var g=d.lastIndexOf("/");if(g!==d.length-1){g===-1?(d="",f=0):f=(d=d.slice(0,g)).length-1-d.lastIndexOf("/"),h=m,p=0;continue}}else if(d.length===2||d.length===1){d="",f=0,h=m,p=0;continue}}u&&(d.length>0?d+="/..":d="..",f=2)}else d.length>0?d+="/"+c.slice(h+1,m):d=c.slice(h+1,m),f=m-h-1;h=m,p=0}else l===46&&p!==-1?++p:p=-1}return d}var a={resolve:function(){for(var c,u="",l=!1,d=arguments.length-1;d>=-1&&!l;d--){var f;d>=0?f=arguments[d]:(c===void 0&&(c=process.cwd()),f=c),s(f),f.length!==0&&(u=f+"/"+u,l=f.charCodeAt(0)===47)}return u=o(u,!l),l?u.length>0?"/"+u:"/":u.length>0?u:"."},normalize:function(c){if(s(c),c.length===0)return".";var u=c.charCodeAt(0)===47,l=c.charCodeAt(c.length-1)===47;return(c=o(c,!u)).length!==0||u||(c="."),c.length>0&&l&&(c+="/"),u?"/"+c:c},isAbsolute:function(c){return s(c),c.length>0&&c.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var c,u=0;u<arguments.length;++u){var l=arguments[u];s(l),l.length>0&&(c===void 0?c=l:c+="/"+l)}return c===void 0?".":a.normalize(c)},relative:function(c,u){if(s(c),s(u),c===u||(c=a.resolve(c))===(u=a.resolve(u)))return"";for(var l=1;l<c.length&&c.charCodeAt(l)===47;++l);for(var d=c.length,f=d-l,h=1;h<u.length&&u.charCodeAt(h)===47;++h);for(var p=u.length-h,m=f<p?f:p,g=-1,y=0;y<=m;++y){if(y===m){if(p>m){if(u.charCodeAt(h+y)===47)return u.slice(h+y+1);if(y===0)return u.slice(h+y)}else f>m&&(c.charCodeAt(l+y)===47?g=y:y===0&&(g=0));break}var w=c.charCodeAt(l+y);if(w!==u.charCodeAt(h+y))break;w===47&&(g=y)}var E="";for(y=l+g+1;y<=d;++y)y!==d&&c.charCodeAt(y)!==47||(E.length===0?E+="..":E+="/..");return E.length>0?E+u.slice(h+g):(h+=g,u.charCodeAt(h)===47&&++h,u.slice(h))},_makeLong:function(c){return c},dirname:function(c){if(s(c),c.length===0)return".";for(var u=c.charCodeAt(0),l=u===47,d=-1,f=!0,h=c.length-1;h>=1;--h)if((u=c.charCodeAt(h))===47){if(!f){d=h;break}}else f=!1;return d===-1?l?"/":".":l&&d===1?"//":c.slice(0,d)},basename:function(c,u){if(u!==void 0&&typeof u!="string")throw new TypeError('"ext" argument must be a string');s(c);var l,d=0,f=-1,h=!0;if(u!==void 0&&u.length>0&&u.length<=c.length){if(u.length===c.length&&u===c)return"";var p=u.length-1,m=-1;for(l=c.length-1;l>=0;--l){var g=c.charCodeAt(l);if(g===47){if(!h){d=l+1;break}}else m===-1&&(h=!1,m=l+1),p>=0&&(g===u.charCodeAt(p)?--p==-1&&(f=l):(p=-1,f=m))}return d===f?f=m:f===-1&&(f=c.length),c.slice(d,f)}for(l=c.length-1;l>=0;--l)if(c.charCodeAt(l)===47){if(!h){d=l+1;break}}else f===-1&&(h=!1,f=l+1);return f===-1?"":c.slice(d,f)},extname:function(c){s(c);for(var u=-1,l=0,d=-1,f=!0,h=0,p=c.length-1;p>=0;--p){var m=c.charCodeAt(p);if(m!==47)d===-1&&(f=!1,d=p+1),m===46?u===-1?u=p:h!==1&&(h=1):u!==-1&&(h=-1);else if(!f){l=p+1;break}}return u===-1||d===-1||h===0||h===1&&u===d-1&&u===l+1?"":c.slice(u,d)},format:function(c){if(c===null||typeof c!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof c);return function(u,l){var d=l.dir||l.root,f=l.base||(l.name||"")+(l.ext||"");return d?d===l.root?d+f:d+"/"+f:f}(0,c)},parse:function(c){s(c);var u={root:"",dir:"",base:"",ext:"",name:""};if(c.length===0)return u;var l,d=c.charCodeAt(0),f=d===47;f?(u.root="/",l=1):l=0;for(var h=-1,p=0,m=-1,g=!0,y=c.length-1,w=0;y>=l;--y)if((d=c.charCodeAt(y))!==47)m===-1&&(g=!1,m=y+1),d===46?h===-1?h=y:w!==1&&(w=1):h!==-1&&(w=-1);else if(!g){p=y+1;break}return h===-1||m===-1||w===0||w===1&&h===m-1&&h===p+1?m!==-1&&(u.base=u.name=p===0&&f?c.slice(1,m):c.slice(p,m)):(p===0&&f?(u.name=c.slice(1,h),u.base=c.slice(1,m)):(u.name=c.slice(p,h),u.base=c.slice(p,m)),u.ext=c.slice(h,m)),p>0?u.dir=c.slice(0,p-1):f&&(u.dir="/"),u},sep:"/",delimiter:":",win32:null,posix:null};a.posix=a,i.exports=a}},e={};function n(i){var s=e[i];if(s!==void 0)return s.exports;var o=e[i]={exports:{}};return t[i](o,o.exports,n),o.exports}n.d=(i,s)=>{for(var o in s)n.o(s,o)&&!n.o(i,o)&&Object.defineProperty(i,o,{enumerable:!0,get:s[o]})},n.o=(i,s)=>Object.prototype.hasOwnProperty.call(i,s),n.r=i=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(i,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(i,"__esModule",{value:!0})};var r={};(()=>{let i;n.r(r),n.d(r,{URI:()=>f,Utils:()=>O}),typeof process=="object"?i=process.platform==="win32":typeof navigator=="object"&&(i=navigator.userAgent.indexOf("Windows")>=0);const s=/^\w[\w\d+.-]*$/,o=/^\//,a=/^\/\//;function c(C,D){if(!C.scheme&&D)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${C.authority}", path: "${C.path}", query: "${C.query}", fragment: "${C.fragment}"}`);if(C.scheme&&!s.test(C.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(C.path){if(C.authority){if(!o.test(C.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(a.test(C.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}const u="",l="/",d=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class f{static isUri(D){return D instanceof f||!!D&&typeof D.authority=="string"&&typeof D.fragment=="string"&&typeof D.path=="string"&&typeof D.query=="string"&&typeof D.scheme=="string"&&typeof D.fsPath=="string"&&typeof D.with=="function"&&typeof D.toString=="function"}scheme;authority;path;query;fragment;constructor(D,R,F,W,V,Z=!1){typeof D=="object"?(this.scheme=D.scheme||u,this.authority=D.authority||u,this.path=D.path||u,this.query=D.query||u,this.fragment=D.fragment||u):(this.scheme=function(Le,se){return Le||se?Le:"file"}(D,Z),this.authority=R||u,this.path=function(Le,se){switch(Le){case"https":case"http":case"file":se?se[0]!==l&&(se=l+se):se=l}return se}(this.scheme,F||u),this.query=W||u,this.fragment=V||u,c(this,Z))}get fsPath(){return w(this)}with(D){if(!D)return this;let{scheme:R,authority:F,path:W,query:V,fragment:Z}=D;return R===void 0?R=this.scheme:R===null&&(R=u),F===void 0?F=this.authority:F===null&&(F=u),W===void 0?W=this.path:W===null&&(W=u),V===void 0?V=this.query:V===null&&(V=u),Z===void 0?Z=this.fragment:Z===null&&(Z=u),R===this.scheme&&F===this.authority&&W===this.path&&V===this.query&&Z===this.fragment?this:new p(R,F,W,V,Z)}static parse(D,R=!1){const F=d.exec(D);return F?new p(F[2]||u,I(F[4]||u),I(F[5]||u),I(F[7]||u),I(F[9]||u),R):new p(u,u,u,u,u)}static file(D){let R=u;if(i&&(D=D.replace(/\\/g,l)),D[0]===l&&D[1]===l){const F=D.indexOf(l,2);F===-1?(R=D.substring(2),D=l):(R=D.substring(2,F),D=D.substring(F)||l)}return new p("file",R,D,u,u)}static from(D){const R=new p(D.scheme,D.authority,D.path,D.query,D.fragment);return c(R,!0),R}toString(D=!1){return E(this,D)}toJSON(){return this}static revive(D){if(D){if(D instanceof f)return D;{const R=new p(D);return R._formatted=D.external,R._fsPath=D._sep===h?D.fsPath:null,R}}return D}}const h=i?1:void 0;class p extends f{_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=w(this)),this._fsPath}toString(D=!1){return D?E(this,!0):(this._formatted||(this._formatted=E(this,!1)),this._formatted)}toJSON(){const D={$mid:1};return this._fsPath&&(D.fsPath=this._fsPath,D._sep=h),this._formatted&&(D.external=this._formatted),this.path&&(D.path=this.path),this.scheme&&(D.scheme=this.scheme),this.authority&&(D.authority=this.authority),this.query&&(D.query=this.query),this.fragment&&(D.fragment=this.fragment),D}}const m={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function g(C,D,R){let F,W=-1;for(let V=0;V<C.length;V++){const Z=C.charCodeAt(V);if(Z>=97&&Z<=122||Z>=65&&Z<=90||Z>=48&&Z<=57||Z===45||Z===46||Z===95||Z===126||D&&Z===47||R&&Z===91||R&&Z===93||R&&Z===58)W!==-1&&(F+=encodeURIComponent(C.substring(W,V)),W=-1),F!==void 0&&(F+=C.charAt(V));else{F===void 0&&(F=C.substr(0,V));const Le=m[Z];Le!==void 0?(W!==-1&&(F+=encodeURIComponent(C.substring(W,V)),W=-1),F+=Le):W===-1&&(W=V)}}return W!==-1&&(F+=encodeURIComponent(C.substring(W))),F!==void 0?F:C}function y(C){let D;for(let R=0;R<C.length;R++){const F=C.charCodeAt(R);F===35||F===63?(D===void 0&&(D=C.substr(0,R)),D+=m[F]):D!==void 0&&(D+=C[R])}return D!==void 0?D:C}function w(C,D){let R;return R=C.authority&&C.path.length>1&&C.scheme==="file"?`//${C.authority}${C.path}`:C.path.charCodeAt(0)===47&&(C.path.charCodeAt(1)>=65&&C.path.charCodeAt(1)<=90||C.path.charCodeAt(1)>=97&&C.path.charCodeAt(1)<=122)&&C.path.charCodeAt(2)===58?C.path[1].toLowerCase()+C.path.substr(2):C.path,i&&(R=R.replace(/\//g,"\\")),R}function E(C,D){const R=D?y:g;let F="",{scheme:W,authority:V,path:Z,query:Le,fragment:se}=C;if(W&&(F+=W,F+=":"),(V||W==="file")&&(F+=l,F+=l),V){let K=V.indexOf("@");if(K!==-1){const Te=V.substr(0,K);V=V.substr(K+1),K=Te.lastIndexOf(":"),K===-1?F+=R(Te,!1,!1):(F+=R(Te.substr(0,K),!1,!1),F+=":",F+=R(Te.substr(K+1),!1,!0)),F+="@"}V=V.toLowerCase(),K=V.lastIndexOf(":"),K===-1?F+=R(V,!1,!0):(F+=R(V.substr(0,K),!1,!0),F+=V.substr(K))}if(Z){if(Z.length>=3&&Z.charCodeAt(0)===47&&Z.charCodeAt(2)===58){const K=Z.charCodeAt(1);K>=65&&K<=90&&(Z=`/${String.fromCharCode(K+32)}:${Z.substr(3)}`)}else if(Z.length>=2&&Z.charCodeAt(1)===58){const K=Z.charCodeAt(0);K>=65&&K<=90&&(Z=`${String.fromCharCode(K+32)}:${Z.substr(2)}`)}F+=R(Z,!0,!1)}return Le&&(F+="?",F+=R(Le,!1,!1)),se&&(F+="#",F+=D?se:g(se,!1,!1)),F}function k(C){try{return decodeURIComponent(C)}catch{return C.length>3?C.substr(0,3)+k(C.substr(3)):C}}const A=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function I(C){return C.match(A)?C.replace(A,D=>k(D)):C}var x=n(470);const _=x.posix||x,P="/";var O;(function(C){C.joinPath=function(D,...R){return D.with({path:_.join(D.path,...R)})},C.resolvePath=function(D,...R){let F=D.path,W=!1;F[0]!==P&&(F=P+F,W=!0);let V=_.resolve(F,...R);return W&&V[0]===P&&!D.authority&&(V=V.substring(1)),D.with({path:V})},C.dirname=function(D){if(D.path.length===0||D.path===P)return D;let R=_.dirname(D.path);return R.length===1&&R.charCodeAt(0)===46&&(R=""),D.with({path:R})},C.basename=function(D){return _.basename(D.path)},C.extname=function(D){return _.extname(D.path)}})(O||(O={}))})(),ek=r})();const{URI:Vt,Utils:tu}=ek;var Et;(function(t){t.basename=tu.basename,t.dirname=tu.dirname,t.extname=tu.extname,t.joinPath=tu.joinPath,t.resolvePath=tu.resolvePath;function e(i,s){return i?.toString()===s?.toString()}t.equals=e;function n(i,s){const o=typeof i=="string"?i:i.path,a=typeof s=="string"?s:s.path,c=o.split("/").filter(h=>h.length>0),u=a.split("/").filter(h=>h.length>0);let l=0;for(;l<c.length&&c[l]===u[l];l++);const d="../".repeat(c.length-l),f=u.slice(l).join("/");return d+f}t.relative=n;function r(i){return Vt.parse(i.toString()).toString()}t.normalize=r})(Et||(Et={}));var Ve;(function(t){t[t.Changed=0]="Changed",t[t.Parsed=1]="Parsed",t[t.IndexedContent=2]="IndexedContent",t[t.ComputedScopes=3]="ComputedScopes",t[t.Linked=4]="Linked",t[t.IndexedReferences=5]="IndexedReferences",t[t.Validated=6]="Validated"})(Ve||(Ve={}));class Vj{constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,n=dt.CancellationToken.None){const r=await this.fileSystemProvider.readFile(e);return this.createAsync(e,r,n)}fromTextDocument(e,n,r){return n=n??Vt.parse(e.uri),dt.CancellationToken.is(r)?this.createAsync(n,e,r):this.create(n,e,r)}fromString(e,n,r){return dt.CancellationToken.is(r)?this.createAsync(n,e,r):this.create(n,e,r)}fromModel(e,n){return this.create(n,{$model:e})}create(e,n,r){if(typeof n=="string"){const i=this.parse(e,n,r);return this.createLangiumDocument(i,e,void 0,n)}else if("$model"in n){const i={value:n.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(i,e)}else{const i=this.parse(e,n.getText(),r);return this.createLangiumDocument(i,e,n)}}async createAsync(e,n,r){if(typeof n=="string"){const i=await this.parseAsync(e,n,r);return this.createLangiumDocument(i,e,void 0,n)}else{const i=await this.parseAsync(e,n.getText(),r);return this.createLangiumDocument(i,e,n)}}createLangiumDocument(e,n,r,i){let s;if(r)s={parseResult:e,uri:n,state:Ve.Parsed,references:[],textDocument:r};else{const o=this.createTextDocumentGetter(n,i);s={parseResult:e,uri:n,state:Ve.Parsed,references:[],get textDocument(){return o()}}}return e.value.$document=s,s}async update(e,n){var r,i;const s=(r=e.parseResult.value.$cstNode)===null||r===void 0?void 0:r.root.fullText,o=(i=this.textDocuments)===null||i===void 0?void 0:i.get(e.uri.toString()),a=o?o.getText():await this.fileSystemProvider.readFile(e.uri);if(o)Object.defineProperty(e,"textDocument",{value:o});else{const c=this.createTextDocumentGetter(e.uri,a);Object.defineProperty(e,"textDocument",{get:c})}return s!==a&&(e.parseResult=await this.parseAsync(e.uri,a,n),e.parseResult.value.$document=e),e.state=Ve.Parsed,e}parse(e,n,r){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(n,r)}parseAsync(e,n,r){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(n,r)}createTextDocumentGetter(e,n){const r=this.serviceRegistry;let i;return()=>i??(i=rh.create(e.toString(),r.getServices(e).LanguageMetaData.languageId,0,n??""))}}class Kj{constructor(e){this.documentMap=new Map,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.serviceRegistry=e.ServiceRegistry}get all(){return Qe(this.documentMap.values())}addDocument(e){const n=e.uri.toString();if(this.documentMap.has(n))throw new Error(`A document with the URI '${n}' is already present.`);this.documentMap.set(n,e)}getDocument(e){const n=e.toString();return this.documentMap.get(n)}async getOrCreateDocument(e,n){let r=this.getDocument(e);return r||(r=await this.langiumDocumentFactory.fromUri(e,n),this.addDocument(r),r)}createDocument(e,n,r){if(r)return this.langiumDocumentFactory.fromString(n,e,r).then(i=>(this.addDocument(i),i));{const i=this.langiumDocumentFactory.fromString(n,e);return this.addDocument(i),i}}hasDocument(e){return this.documentMap.has(e.toString())}invalidateDocument(e){const n=e.toString(),r=this.documentMap.get(n);return r&&(this.serviceRegistry.getServices(e).references.Linker.unlink(r),r.state=Ve.Changed,r.precomputedScopes=void 0,r.diagnostics=void 0),r}deleteDocument(e){const n=e.toString(),r=this.documentMap.get(n);return r&&(r.state=Ve.Changed,this.documentMap.delete(n)),r}}const Xy=Symbol("ref_resolving");class Yj{constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator}async link(e,n=dt.CancellationToken.None){for(const r of oi(e.parseResult.value))await zt(n),Jd(r).forEach(i=>this.doLink(i,e))}doLink(e,n){var r;const i=e.reference;if(i._ref===void 0){i._ref=Xy;try{const s=this.getCandidate(e);if(Ld(s))i._ref=s;else if(i._nodeDescription=s,this.langiumDocuments().hasDocument(s.documentUri)){const o=this.loadAstNode(s);i._ref=o??this.createLinkingError(e,s)}else i._ref=void 0}catch(s){console.error(`An error occurred while resolving reference to '${i.$refText}':`,s);const o=(r=s.message)!==null&&r!==void 0?r:String(s);i._ref=Object.assign(Object.assign({},e),{message:`An error occurred while resolving reference to '${i.$refText}': ${o}`})}n.references.push(i)}}unlink(e){for(const n of e.references)delete n._ref,delete n._nodeDescription;e.references=[]}getCandidate(e){const r=this.scopeProvider.getScope(e).getElement(e.reference.$refText);return r??this.createLinkingError(e)}buildReference(e,n,r,i){const s=this,o={$refNode:r,$refText:i,get ref(){var a;if(vt(this._ref))return this._ref;if(uM(this._nodeDescription)){const c=s.loadAstNode(this._nodeDescription);this._ref=c??s.createLinkingError({reference:o,container:e,property:n},this._nodeDescription)}else if(this._ref===void 0){this._ref=Xy;const c=Xd(e).$document,u=s.getLinkedNode({reference:o,container:e,property:n});if(u.error&&c&&c.state<Ve.ComputedScopes)return this._ref=void 0;this._ref=(a=u.node)!==null&&a!==void 0?a:u.error,this._nodeDescription=u.descr,c?.references.push(this)}else if(this._ref===Xy)throw new Error(`Cyclic reference resolution detected: ${s.astNodeLocator.getAstNodePath(e)}/${n} (symbol '${i}')`);return vt(this._ref)?this._ref:void 0},get $nodeDescription(){return this._nodeDescription},get error(){return Ld(this._ref)?this._ref:void 0}};return o}getLinkedNode(e){var n;try{const r=this.getCandidate(e);if(Ld(r))return{error:r};const i=this.loadAstNode(r);return i?{node:i,descr:r}:{descr:r,error:this.createLinkingError(e,r)}}catch(r){console.error(`An error occurred while resolving reference to '${e.reference.$refText}':`,r);const i=(n=r.message)!==null&&n!==void 0?n:String(r);return{error:Object.assign(Object.assign({},e),{message:`An error occurred while resolving reference to '${e.reference.$refText}': ${i}`})}}}loadAstNode(e){if(e.node)return e.node;const n=this.langiumDocuments().getDocument(e.documentUri);if(n)return this.astNodeLocator.getAstNode(n.parseResult.value,e.path)}createLinkingError(e,n){const r=Xd(e.container).$document;r&&r.state<Ve.ComputedScopes&&console.warn(`Attempted reference resolution before document reached ComputedScopes state (${r.uri}).`);const i=this.reflection.getReferenceType(e);return Object.assign(Object.assign({},e),{message:`Could not resolve reference to ${i} named '${e.reference.$refText}'.`,targetDescription:n})}}function tk(t){return typeof t.name=="string"}class Xj{getName(e){if(tk(e))return e.name}getNameNode(e){return An(e.$cstNode,"name")}}class Jj{constructor(e){this.nameProvider=e.references.NameProvider,this.index=e.shared.workspace.IndexManager,this.nodeLocator=e.workspace.AstNodeLocator}findDeclaration(e){if(e){const n=cT(e),r=e.astNode;if(n&&r){const i=r[n.feature];if(Hn(i))return i.ref;if(Array.isArray(i)){for(const s of i)if(Hn(s)&&s.$refNode&&s.$refNode.offset<=e.offset&&s.$refNode.end>=e.end)return s.ref}}if(r){const i=this.nameProvider.getNameNode(r);if(i&&(i===e||BD(e,i)))return r}}}findDeclarationNode(e){const n=this.findDeclaration(e);if(n?.$cstNode){const r=this.nameProvider.getNameNode(n);return r??n.$cstNode}}findReferences(e,n){const r=[];if(n.includeDeclaration){const s=this.getReferenceToSelf(e);s&&r.push(s)}let i=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return n.documentUri&&(i=i.filter(s=>Et.equals(s.sourceUri,n.documentUri))),r.push(...i),Qe(r)}getReferenceToSelf(e){const n=this.nameProvider.getNameNode(e);if(n){const r=sn(e),i=this.nodeLocator.getAstNodePath(e);return{sourceUri:r.uri,sourcePath:i,targetUri:r.uri,targetPath:i,segment:Ka(n),local:!0}}}}class Mr{constructor(e){if(this.map=new Map,e)for(const[n,r]of e)this.add(n,r)}get size(){return ig.sum(Qe(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,n){if(n===void 0)return this.map.delete(e);{const r=this.map.get(e);if(r){const i=r.indexOf(n);if(i>=0)return r.length===1?this.map.delete(e):r.splice(i,1),!0}return!1}}get(e){var n;return(n=this.map.get(e))!==null&&n!==void 0?n:[]}has(e,n){if(n===void 0)return this.map.has(e);{const r=this.map.get(e);return r?r.indexOf(n)>=0:!1}}add(e,n){return this.map.has(e)?this.map.get(e).push(n):this.map.set(e,[n]),this}addAll(e,n){return this.map.has(e)?this.map.get(e).push(...n):this.map.set(e,Array.from(n)),this}forEach(e){this.map.forEach((n,r)=>n.forEach(i=>e(i,r,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return Qe(this.map.entries()).flatMap(([e,n])=>n.map(r=>[e,r]))}keys(){return Qe(this.map.keys())}values(){return Qe(this.map.values()).flat()}entriesGroupedByKey(){return Qe(this.map.entries())}}class nk{get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(const[n,r]of e)this.set(n,r)}clear(){this.map.clear(),this.inverse.clear()}set(e,n){return this.map.set(e,n),this.inverse.set(n,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){const n=this.map.get(e);return n!==void 0?(this.map.delete(e),this.inverse.delete(n),!0):!1}}class rk{constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async computeExports(e,n=dt.CancellationToken.None){return this.computeExportsForNode(e.parseResult.value,e,void 0,n)}async computeExportsForNode(e,n,r=Cc,i=dt.CancellationToken.None){const s=[];this.exportNode(e,s,n);for(const o of r(e))await zt(i),this.exportNode(o,s,n);return s}exportNode(e,n,r){const i=this.nameProvider.getName(e);i&&n.push(this.descriptions.createDescription(e,i,r))}async computeLocalScopes(e,n=dt.CancellationToken.None){const r=e.parseResult.value,i=new Mr;for(const s of Ir(r))await zt(n),this.processNode(s,e,i);return i}processNode(e,n,r){const i=e.$container;if(i){const s=this.nameProvider.getName(e);s&&r.add(i,this.descriptions.createDescription(e,s,n))}}}class nu{constructor(e,n,r){var i;this.elements=e,this.outerScope=n,this.caseInsensitive=(i=r?.caseInsensitive)!==null&&i!==void 0?i:!1}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){const n=this.caseInsensitive?this.elements.find(r=>r.name.toLowerCase()===e.toLowerCase()):this.elements.find(r=>r.name===e);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}}class ik{constructor(e,n,r){var i;this.elements=new Map,this.caseInsensitive=(i=r?.caseInsensitive)!==null&&i!==void 0?i:!1;for(const s of e){const o=this.caseInsensitive?s.name.toLowerCase():s.name;this.elements.set(o,s)}this.outerScope=n}getElement(e){const n=this.caseInsensitive?e.toLowerCase():e,r=this.elements.get(n);if(r)return r;if(this.outerScope)return this.outerScope.getElement(e)}getAllElements(){let e=Qe(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}}const sk={getElement(){},getAllElements(){return Lo}};class ok{constructor(){this.toDispose=[],this.isDisposed=!1}onDispose(e){this.toDispose.push(e)}dispose(){this.throwIfDisposed(),this.clear(),this.isDisposed=!0,this.toDispose.forEach(e=>e.dispose())}throwIfDisposed(){if(this.isDisposed)throw new Error("This cache has already been disposed")}}class Zj extends ok{constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,n){this.throwIfDisposed(),this.cache.set(e,n)}get(e,n){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(n){const r=n();return this.cache.set(e,r),r}else return}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}}class Qj extends ok{constructor(e){super(),this.cache=new Map,this.converter=e??(n=>n)}has(e,n){return this.throwIfDisposed(),this.cacheForContext(e).has(n)}set(e,n,r){this.throwIfDisposed(),this.cacheForContext(e).set(n,r)}get(e,n,r){this.throwIfDisposed();const i=this.cacheForContext(e);if(i.has(n))return i.get(n);if(r){const s=r();return i.set(n,s),s}else return}delete(e,n){return this.throwIfDisposed(),this.cacheForContext(e).delete(n)}clear(e){if(this.throwIfDisposed(),e){const n=this.converter(e);this.cache.delete(n)}else this.cache.clear()}cacheForContext(e){const n=this.converter(e);let r=this.cache.get(n);return r||(r=new Map,this.cache.set(n,r)),r}}class ak extends Zj{constructor(e){super(),this.onDispose(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}}class ck{constructor(e){this.reflection=e.shared.AstReflection,this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider,this.indexManager=e.shared.workspace.IndexManager,this.globalScopeCache=new ak(e.shared)}getScope(e){const n=[],r=this.reflection.getReferenceType(e),i=sn(e.container).precomputedScopes;if(i){let o=e.container;do{const a=i.get(o);a.length>0&&n.push(Qe(a).filter(c=>this.reflection.isSubtype(c.type,r))),o=o.$container}while(o)}let s=this.getGlobalScope(r,e);for(let o=n.length-1;o>=0;o--)s=this.createScope(n[o],s);return s}createScope(e,n,r){return new nu(Qe(e),n,r)}createScopeForNodes(e,n,r){const i=Qe(e).map(s=>{const o=this.nameProvider.getName(s);if(o)return this.descriptions.createDescription(s,o)}).nonNullable();return new nu(i,n,r)}getGlobalScope(e,n){return this.globalScopeCache.get(e,()=>new ik(this.indexManager.allElements(e)))}}function eU(t){return typeof t.$comment=="string"}function uk(t){return typeof t=="object"&&!!t&&("$ref"in t||"$error"in t)}class tU{constructor(e){this.ignoreProperties=new Set(["$container","$containerProperty","$containerIndex","$document","$cstNode"]),this.langiumDocuments=e.shared.workspace.LangiumDocuments,this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider,this.commentProvider=e.documentation.CommentProvider}serialize(e,n){const r=n??{},i=n?.replacer,s=(a,c)=>this.replacer(a,c,r),o=i?(a,c)=>i(a,c,s):s;try{return this.currentDocument=sn(e),JSON.stringify(e,o,n?.space)}finally{this.currentDocument=void 0}}deserialize(e,n){const r=n??{},i=JSON.parse(e);return this.linkNode(i,i,r),i}replacer(e,n,{refText:r,sourceText:i,textRegions:s,comments:o,uriConverter:a}){var c,u,l,d;if(!this.ignoreProperties.has(e))if(Hn(n)){const f=n.ref,h=r?n.$refText:void 0;if(f){const p=sn(f);let m="";this.currentDocument&&this.currentDocument!==p&&(a?m=a(p.uri,n):m=p.uri.toString());const g=this.astNodeLocator.getAstNodePath(f);return{$ref:`${m}#${g}`,$refText:h}}else return{$error:(u=(c=n.error)===null||c===void 0?void 0:c.message)!==null&&u!==void 0?u:"Could not resolve reference",$refText:h}}else if(vt(n)){let f;if(s&&(f=this.addAstNodeRegionWithAssignmentsTo(Object.assign({},n)),(!e||n.$document)&&f?.$textRegion&&(f.$textRegion.documentURI=(l=this.currentDocument)===null||l===void 0?void 0:l.uri.toString())),i&&!e&&(f??(f=Object.assign({},n)),f.$sourceText=(d=n.$cstNode)===null||d===void 0?void 0:d.text),o){f??(f=Object.assign({},n));const h=this.commentProvider.getComment(n);h&&(f.$comment=h.replace(/\r/g,""))}return f??n}else return n}addAstNodeRegionWithAssignmentsTo(e){const n=r=>({offset:r.offset,end:r.end,length:r.length,range:r.range});if(e.$cstNode){const r=e.$textRegion=n(e.$cstNode),i=r.assignments={};return Object.keys(e).filter(s=>!s.startsWith("$")).forEach(s=>{const o=Bo(e.$cstNode,s).map(n);o.length!==0&&(i[s]=o)}),e}}linkNode(e,n,r,i,s,o){for(const[c,u]of Object.entries(e))if(Array.isArray(u))for(let l=0;l<u.length;l++){const d=u[l];uk(d)?u[l]=this.reviveReference(e,c,n,d,r):vt(d)&&this.linkNode(d,n,r,e,c,l)}else uk(u)?e[c]=this.reviveReference(e,c,n,u,r):vt(u)&&this.linkNode(u,n,r,e,c);const a=e;a.$container=i,a.$containerProperty=s,a.$containerIndex=o}reviveReference(e,n,r,i,s){let o=i.$refText,a=i.$error;if(i.$ref){const c=this.getRefNode(r,i.$ref,s.uriConverter);if(vt(c))return o||(o=this.nameProvider.getName(c)),{$refText:o??"",ref:c};a=c}if(a){const c={$refText:o??""};return c.error={container:e,property:n,message:a,reference:c},c}else return}getRefNode(e,n,r){try{const i=n.indexOf("#");if(i===0){const c=this.astNodeLocator.getAstNode(e,n.substring(1));return c||"Could not resolve path: "+n}if(i<0){const c=r?r(n):Vt.parse(n),u=this.langiumDocuments.getDocument(c);return u?u.parseResult.value:"Could not find document for URI: "+n}const s=r?r(n.substring(0,i)):Vt.parse(n.substring(0,i)),o=this.langiumDocuments.getDocument(s);if(!o)return"Could not find document for URI: "+n;if(i===n.length-1)return o.parseResult.value;const a=this.astNodeLocator.getAstNode(o.parseResult.value,n.substring(i+1));return a||"Could not resolve URI: "+n}catch(i){return String(i)}}}class nU{get map(){return this.fileExtensionMap}constructor(e){this.languageIdMap=new Map,this.fileExtensionMap=new Map,this.textDocuments=e?.workspace.TextDocuments}register(e){const n=e.LanguageMetaData;for(const r of n.fileExtensions)this.fileExtensionMap.has(r)&&console.warn(`The file extension ${r} is used by multiple languages. It is now assigned to '${n.languageId}'.`),this.fileExtensionMap.set(r,e);this.languageIdMap.set(n.languageId,e),this.languageIdMap.size===1?this.singleton=e:this.singleton=void 0}getServices(e){var n,r;if(this.singleton!==void 0)return this.singleton;if(this.languageIdMap.size===0)throw new Error("The service registry is empty. Use `register` to register the services of a language.");const i=(r=(n=this.textDocuments)===null||n===void 0?void 0:n.get(e))===null||r===void 0?void 0:r.languageId;if(i!==void 0){const a=this.languageIdMap.get(i);if(a)return a}const s=Et.extname(e),o=this.fileExtensionMap.get(s);if(!o)throw i?new Error(`The service registry contains no services for the extension '${s}' for language '${i}'.`):new Error(`The service registry contains no services for the extension '${s}'.`);return o}hasServices(e){try{return this.getServices(e),!0}catch{return!1}}get all(){return Array.from(this.languageIdMap.values())}}function ru(t){return{code:t}}var ih;(function(t){t.all=["fast","slow","built-in"]})(ih||(ih={}));class rU{constructor(e){this.entries=new Mr,this.reflection=e.shared.AstReflection}register(e,n=this,r="fast"){if(r==="built-in")throw new Error("The 'built-in' category is reserved for lexer, parser, and linker errors.");for(const[i,s]of Object.entries(e)){const o=s;if(Array.isArray(o))for(const a of o){const c={check:this.wrapValidationException(a,n),category:r};this.addEntry(i,c)}else if(typeof o=="function"){const a={check:this.wrapValidationException(o,n),category:r};this.addEntry(i,a)}}}wrapValidationException(e,n){return async(r,i,s)=>{try{await e.call(n,r,i,s)}catch(o){if(nh(o))throw o;console.error("An error occurred during validation:",o);const a=o instanceof Error?o.message:String(o);o instanceof Error&&o.stack&&console.error(o.stack),i("error","An error occurred during validation: "+a,{node:r})}}}addEntry(e,n){if(e==="AstNode"){this.entries.add("AstNode",n);return}for(const r of this.reflection.getAllSubTypes(e))this.entries.add(r,n)}getChecks(e,n){let r=Qe(this.entries.get(e)).concat(this.entries.get("AstNode"));return n&&(r=r.filter(i=>n.includes(i.category))),r.map(i=>i.check)}}class iU{constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData}async validateDocument(e,n={},r=dt.CancellationToken.None){const i=e.parseResult,s=[];if(await zt(r),(!n.categories||n.categories.includes("built-in"))&&(this.processLexingErrors(i,s,n),n.stopAfterLexingErrors&&s.some(o=>{var a;return((a=o.data)===null||a===void 0?void 0:a.code)===gr.LexingError})||(this.processParsingErrors(i,s,n),n.stopAfterParsingErrors&&s.some(o=>{var a;return((a=o.data)===null||a===void 0?void 0:a.code)===gr.ParsingError}))||(this.processLinkingErrors(e,s,n),n.stopAfterLinkingErrors&&s.some(o=>{var a;return((a=o.data)===null||a===void 0?void 0:a.code)===gr.LinkingError}))))return s;try{s.push(...await this.validateAst(i.value,n,r))}catch(o){if(nh(o))throw o;console.error("An error occurred during validation:",o)}return await zt(r),s}processLexingErrors(e,n,r){var i,s,o;const a=[...e.lexerErrors,...(s=(i=e.lexerReport)===null||i===void 0?void 0:i.diagnostics)!==null&&s!==void 0?s:[]];for(const c of a){const u=(o=c.severity)!==null&&o!==void 0?o:"error",l={severity:Jy(u),range:{start:{line:c.line-1,character:c.column-1},end:{line:c.line-1,character:c.column+c.length-1}},message:c.message,data:oU(u),source:this.getSource()};n.push(l)}}processParsingErrors(e,n,r){for(const i of e.parserErrors){let s;if(isNaN(i.token.startOffset)){if("previousToken"in i){const o=i.previousToken;if(isNaN(o.startOffset)){const a={line:0,character:0};s={start:a,end:a}}else{const a={line:o.endLine-1,character:o.endColumn};s={start:a,end:a}}}}else s=Md(i.token);if(s){const o={severity:Jy("error"),range:s,message:i.message,data:ru(gr.ParsingError),source:this.getSource()};n.push(o)}}}processLinkingErrors(e,n,r){for(const i of e.references){const s=i.error;if(s){const o={node:s.container,property:s.property,index:s.index,data:{code:gr.LinkingError,containerType:s.container.$type,property:s.property,refText:s.reference.$refText}};n.push(this.toDiagnostic("error",s.message,o))}}}async validateAst(e,n,r=dt.CancellationToken.None){const i=[],s=(o,a,c)=>{i.push(this.toDiagnostic(o,a,c))};return await Promise.all(oi(e).map(async o=>{await zt(r);const a=this.validationRegistry.getChecks(o.$type,n.categories);for(const c of a)await c(o,s,r)})),i}toDiagnostic(e,n,r){return{message:n,range:sU(r),severity:Jy(e),code:r.code,codeDescription:r.codeDescription,tags:r.tags,relatedInformation:r.relatedInformation,data:r.data,source:this.getSource()}}getSource(){return this.metadata.languageId}}function sU(t){if(t.range)return t.range;let e;return typeof t.property=="string"?e=An(t.node.$cstNode,t.property,t.index):typeof t.keyword=="string"&&(e=Ac(t.node.$cstNode,t.keyword,t.index)),e??(e=t.node.$cstNode),e?e.range:{start:{line:0,character:0},end:{line:0,character:0}}}function Jy(t){switch(t){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw new Error("Invalid diagnostic severity: "+t)}}function oU(t){switch(t){case"error":return ru(gr.LexingError);case"warning":return ru(gr.LexingWarning);case"info":return ru(gr.LexingInfo);case"hint":return ru(gr.LexingHint);default:throw new Error("Invalid diagnostic severity: "+t)}}var gr;(function(t){t.LexingError="lexing-error",t.LexingWarning="lexing-warning",t.LexingInfo="lexing-info",t.LexingHint="lexing-hint",t.ParsingError="parsing-error",t.LinkingError="linking-error"})(gr||(gr={}));class aU{constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,n,r){const i=r??sn(e);n??(n=this.nameProvider.getName(e));const s=this.astNodeLocator.getAstNodePath(e);if(!n)throw new Error(`Node at path ${s} has no name.`);let o;const a=()=>{var c;return o??(o=Ka((c=this.nameProvider.getNameNode(e))!==null&&c!==void 0?c:e.$cstNode))};return{node:e,name:n,get nameSegment(){return a()},selectionSegment:Ka(e.$cstNode),type:e.$type,documentUri:i.uri,path:s}}}class cU{constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,n=dt.CancellationToken.None){const r=[],i=e.parseResult.value;for(const s of oi(i))await zt(n),Jd(s).filter(o=>!Ld(o)).forEach(o=>{const a=this.createDescription(o);a&&r.push(a)});return r}createDescription(e){const n=e.reference.$nodeDescription,r=e.reference.$refNode;if(!n||!r)return;const i=sn(e.container).uri;return{sourceUri:i,sourcePath:this.nodeLocator.getAstNodePath(e.container),targetUri:n.documentUri,targetPath:n.path,segment:Ka(r),local:Et.equals(n.documentUri,i)}}}class uU{constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){const n=this.getAstNodePath(e.$container),r=this.getPathSegment(e);return n+this.segmentSeparator+r}return""}getPathSegment({$containerProperty:e,$containerIndex:n}){if(!e)throw new Error("Missing '$containerProperty' in AST node.");return n!==void 0?e+this.indexSeparator+n:e}getAstNode(e,n){return n.split(this.segmentSeparator).reduce((i,s)=>{if(!i||s.length===0)return i;const o=s.indexOf(this.indexSeparator);if(o>0){const a=s.substring(0,o),c=parseInt(s.substring(o+1)),u=i[a];return u?.[c]}return i[s]},e)}}var lU=ta();class dU{constructor(e){this._ready=new Ky,this.settings={},this.workspaceConfig=!1,this.onConfigurationSectionUpdateEmitter=new lU.Emitter,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){var n,r;this.workspaceConfig=(r=(n=e.capabilities.workspace)===null||n===void 0?void 0:n.configuration)!==null&&r!==void 0?r:!1}async initialized(e){if(this.workspaceConfig){if(e.register){const n=this.serviceRegistry.all;e.register({section:n.map(r=>this.toSectionName(r.LanguageMetaData.languageId))})}if(e.fetchConfiguration){const n=this.serviceRegistry.all.map(i=>({section:this.toSectionName(i.LanguageMetaData.languageId)})),r=await e.fetchConfiguration(n);n.forEach((i,s)=>{this.updateSectionConfiguration(i.section,r[s])})}}this._ready.resolve()}updateConfiguration(e){e.settings&&Object.keys(e.settings).forEach(n=>{const r=e.settings[n];this.updateSectionConfiguration(n,r),this.onConfigurationSectionUpdateEmitter.fire({section:n,configuration:r})})}updateSectionConfiguration(e,n){this.settings[e]=n}async getConfiguration(e,n){await this.ready;const r=this.toSectionName(e);if(this.settings[r])return this.settings[r][n]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}}var Us;(function(t){function e(n){return{dispose:async()=>await n()}}t.create=e})(Us||(Us={}));class fU{constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new Mr,this.documentPhaseListeners=new Mr,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=Ve.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.textDocuments=e.workspace.TextDocuments,this.indexManager=e.workspace.IndexManager,this.serviceRegistry=e.ServiceRegistry}async build(e,n={},r=dt.CancellationToken.None){var i,s;for(const o of e){const a=o.uri.toString();if(o.state===Ve.Validated){if(typeof n.validation=="boolean"&&n.validation)o.state=Ve.IndexedReferences,o.diagnostics=void 0,this.buildState.delete(a);else if(typeof n.validation=="object"){const c=this.buildState.get(a),u=(i=c?.result)===null||i===void 0?void 0:i.validationChecks;if(u){const d=((s=n.validation.categories)!==null&&s!==void 0?s:ih.all).filter(f=>!u.includes(f));d.length>0&&(this.buildState.set(a,{completed:!1,options:{validation:Object.assign(Object.assign({},n.validation),{categories:d})},result:c.result}),o.state=Ve.IndexedReferences)}}}else this.buildState.delete(a)}this.currentState=Ve.Changed,await this.emitUpdate(e.map(o=>o.uri),[]),await this.buildDocuments(e,n,r)}async update(e,n,r=dt.CancellationToken.None){this.currentState=Ve.Changed;for(const o of n)this.langiumDocuments.deleteDocument(o),this.buildState.delete(o.toString()),this.indexManager.remove(o);for(const o of e){if(!this.langiumDocuments.invalidateDocument(o)){const c=this.langiumDocumentFactory.fromModel({$type:"INVALID"},o);c.state=Ve.Changed,this.langiumDocuments.addDocument(c)}this.buildState.delete(o.toString())}const i=Qe(e).concat(n).map(o=>o.toString()).toSet();this.langiumDocuments.all.filter(o=>!i.has(o.uri.toString())&&this.shouldRelink(o,i)).forEach(o=>{this.serviceRegistry.getServices(o.uri).references.Linker.unlink(o),o.state=Math.min(o.state,Ve.ComputedScopes),o.diagnostics=void 0}),await this.emitUpdate(e,n),await zt(r);const s=this.sortDocuments(this.langiumDocuments.all.filter(o=>{var a;return o.state<Ve.Linked||!(!((a=this.buildState.get(o.uri.toString()))===null||a===void 0)&&a.completed)}).toArray());await this.buildDocuments(s,this.updateBuildOptions,r)}async emitUpdate(e,n){await Promise.all(this.updateListeners.map(r=>r(e,n)))}sortDocuments(e){let n=0,r=e.length-1;for(;n<r;){for(;n<e.length&&this.hasTextDocument(e[n]);)n++;for(;r>=0&&!this.hasTextDocument(e[r]);)r--;n<r&&([e[n],e[r]]=[e[r],e[n]])}return e}hasTextDocument(e){var n;return!!(!((n=this.textDocuments)===null||n===void 0)&&n.get(e.uri))}shouldRelink(e,n){return e.references.some(r=>r.error!==void 0)?!0:this.indexManager.isAffected(e,n)}onUpdate(e){return this.updateListeners.push(e),Us.create(()=>{const n=this.updateListeners.indexOf(e);n>=0&&this.updateListeners.splice(n,1)})}async buildDocuments(e,n,r){this.prepareBuild(e,n),await this.runCancelable(e,Ve.Parsed,r,s=>this.langiumDocumentFactory.update(s,r)),await this.runCancelable(e,Ve.IndexedContent,r,s=>this.indexManager.updateContent(s,r)),await this.runCancelable(e,Ve.ComputedScopes,r,async s=>{const o=this.serviceRegistry.getServices(s.uri).references.ScopeComputation;s.precomputedScopes=await o.computeLocalScopes(s,r)}),await this.runCancelable(e,Ve.Linked,r,s=>this.serviceRegistry.getServices(s.uri).references.Linker.link(s,r)),await this.runCancelable(e,Ve.IndexedReferences,r,s=>this.indexManager.updateReferences(s,r));const i=e.filter(s=>this.shouldValidate(s));await this.runCancelable(i,Ve.Validated,r,s=>this.validate(s,r));for(const s of e){const o=this.buildState.get(s.uri.toString());o&&(o.completed=!0)}}prepareBuild(e,n){for(const r of e){const i=r.uri.toString(),s=this.buildState.get(i);(!s||s.completed)&&this.buildState.set(i,{completed:!1,options:n,result:s?.result})}}async runCancelable(e,n,r,i){const s=e.filter(a=>a.state<n);for(const a of s)await zt(r),await i(a),a.state=n,await this.notifyDocumentPhase(a,n,r);const o=e.filter(a=>a.state===n);await this.notifyBuildPhase(o,n,r),this.currentState=n}onBuildPhase(e,n){return this.buildPhaseListeners.add(e,n),Us.create(()=>{this.buildPhaseListeners.delete(e,n)})}onDocumentPhase(e,n){return this.documentPhaseListeners.add(e,n),Us.create(()=>{this.documentPhaseListeners.delete(e,n)})}waitUntil(e,n,r){let i;if(n&&"path"in n?i=n:r=n,r??(r=dt.CancellationToken.None),i){const s=this.langiumDocuments.getDocument(i);if(s&&s.state>e)return Promise.resolve(i)}return this.currentState>=e?Promise.resolve(void 0):r.isCancellationRequested?Promise.reject(th):new Promise((s,o)=>{const a=this.onBuildPhase(e,()=>{if(a.dispose(),c.dispose(),i){const u=this.langiumDocuments.getDocument(i);s(u?.uri)}else s(void 0)}),c=r.onCancellationRequested(()=>{a.dispose(),c.dispose(),o(th)})})}async notifyDocumentPhase(e,n,r){const i=this.documentPhaseListeners.get(n);for(const s of i)try{await s(e,r)}catch(o){if(!nh(o))throw o}}async notifyBuildPhase(e,n,r){if(e.length===0)return;const i=this.buildPhaseListeners.get(n);for(const s of i)await zt(r),await s(e,r)}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,n){var r,i;const s=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,o=this.getBuildOptions(e).validation,a=typeof o=="object"?o:void 0,c=await s.validateDocument(e,a,n);e.diagnostics?e.diagnostics.push(...c):e.diagnostics=c;const u=this.buildState.get(e.uri.toString());if(u){(r=u.result)!==null&&r!==void 0||(u.result={});const l=(i=a?.categories)!==null&&i!==void 0?i:ih.all;u.result.validationChecks?u.result.validationChecks.push(...l):u.result.validationChecks=[...l]}}getBuildOptions(e){var n,r;return(r=(n=this.buildState.get(e.uri.toString()))===null||n===void 0?void 0:n.options)!==null&&r!==void 0?r:{}}}class hU{constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new Qj,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,n){const r=sn(e).uri,i=[];return this.referenceIndex.forEach(s=>{s.forEach(o=>{Et.equals(o.targetUri,r)&&o.targetPath===n&&i.push(o)})}),Qe(i)}allElements(e,n){let r=Qe(this.symbolIndex.keys());return n&&(r=r.filter(i=>!n||n.has(i))),r.map(i=>this.getFileDescriptions(i,e)).flat()}getFileDescriptions(e,n){var r;return n?this.symbolByTypeIndex.get(e,n,()=>{var s;return((s=this.symbolIndex.get(e))!==null&&s!==void 0?s:[]).filter(a=>this.astReflection.isSubtype(a.type,n))}):(r=this.symbolIndex.get(e))!==null&&r!==void 0?r:[]}remove(e){const n=e.toString();this.symbolIndex.delete(n),this.symbolByTypeIndex.clear(n),this.referenceIndex.delete(n)}async updateContent(e,n=dt.CancellationToken.None){const i=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.computeExports(e,n),s=e.uri.toString();this.symbolIndex.set(s,i),this.symbolByTypeIndex.clear(s)}async updateReferences(e,n=dt.CancellationToken.None){const i=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,n);this.referenceIndex.set(e.uri.toString(),i)}isAffected(e,n){const r=this.referenceIndex.get(e.uri.toString());return r?r.some(i=>!i.local&&n.has(i.targetUri.toString())):!1}}class lk{constructor(e){this.initialBuildOptions={},this._ready=new Ky,this.serviceRegistry=e.ServiceRegistry,this.langiumDocuments=e.workspace.LangiumDocuments,this.documentBuilder=e.workspace.DocumentBuilder,this.fileSystemProvider=e.workspace.FileSystemProvider,this.mutex=e.workspace.WorkspaceLock}get ready(){return this._ready.promise}initialize(e){var n;this.folders=(n=e.workspaceFolders)!==null&&n!==void 0?n:void 0}initialized(e){return this.mutex.write(n=>{var r;return this.initializeWorkspace((r=this.folders)!==null&&r!==void 0?r:[],n)})}async initializeWorkspace(e,n=dt.CancellationToken.None){const r=await this.performStartup(e);await zt(n),await this.documentBuilder.build(r,this.initialBuildOptions,n)}async performStartup(e){const n=this.serviceRegistry.all.flatMap(s=>s.LanguageMetaData.fileExtensions),r=[],i=s=>{r.push(s),this.langiumDocuments.hasDocument(s.uri)||this.langiumDocuments.addDocument(s)};return await this.loadAdditionalDocuments(e,i),await Promise.all(e.map(s=>[s,this.getRootFolder(s)]).map(async s=>this.traverseFolder(...s,n,i))),this._ready.resolve(),r}loadAdditionalDocuments(e,n){return Promise.resolve()}getRootFolder(e){return Vt.parse(e.uri)}async traverseFolder(e,n,r,i){const s=await this.fileSystemProvider.readDirectory(n);await Promise.all(s.map(async o=>{if(this.includeEntry(e,o,r)){if(o.isDirectory)await this.traverseFolder(e,o.uri,r,i);else if(o.isFile){const a=await this.langiumDocuments.getOrCreateDocument(o.uri);i(a)}}}))}includeEntry(e,n,r){const i=Et.basename(n.uri);if(i.startsWith("."))return!1;if(n.isDirectory)return i!=="node_modules"&&i!=="out";if(n.isFile){const s=Et.extname(n.uri);return r.includes(s)}return!1}}const pU={mode:"full"};class mU{constructor(e){this.tokenBuilder=e.parser.TokenBuilder;const n=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(n);const r=fk(n)?Object.values(n):n;this.chevrotainLexer=new Rn(r,{positionTracking:"full"})}get definition(){return this.tokenTypes}tokenize(e,n=pU){var r,i,s;const o=this.chevrotainLexer.tokenize(e);return{tokens:o.tokens,errors:o.errors,hidden:(r=o.groups.hidden)!==null&&r!==void 0?r:[],report:(s=(i=this.tokenBuilder).flushLexingReport)===null||s===void 0?void 0:s.call(i,e)}}toTokenTypeDictionary(e){if(fk(e))return e;const n=dk(e)?Object.values(e.modes).flat():e,r={};return n.forEach(i=>r[i.name]=i),r}}function gU(t){return Array.isArray(t)&&(t.length===0||"name"in t[0])}function dk(t){return t&&"modes"in t&&"defaultMode"in t}function fk(t){return!gU(t)&&!dk(t)}function yU(t,e,n){let r,i;typeof t=="string"?(i=e,r=n):(i=t.range.start,r=e),i||(i=He.create(0,0));const s=hk(t),o=Qy(r),a=bU({lines:s,position:i,options:o});return SU({index:0,tokens:a,position:i})}function vU(t,e){const n=Qy(e),r=hk(t);if(r.length===0)return!1;const i=r[0],s=r[r.length-1],o=n.start,a=n.end;return!!o?.exec(i)&&!!a?.exec(s)}function hk(t){let e="";return typeof t=="string"?e=t:e=t.text,e.split(iT)}const pk=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,wU=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function bU(t){var e,n,r;const i=[];let s=t.position.line,o=t.position.character;for(let a=0;a<t.lines.length;a++){const c=a===0,u=a===t.lines.length-1;let l=t.lines[a],d=0;if(c&&t.options.start){const h=(e=t.options.start)===null||e===void 0?void 0:e.exec(l);h&&(d=h.index+h[0].length)}else{const h=(n=t.options.line)===null||n===void 0?void 0:n.exec(l);h&&(d=h.index+h[0].length)}if(u){const h=(r=t.options.end)===null||r===void 0?void 0:r.exec(l);h&&(l=l.substring(0,h.index))}if(l=l.substring(0,RU(l)),Zy(l,d)>=l.length){if(i.length>0){const h=He.create(s,o);i.push({type:"break",content:"",range:Me.create(h,h)})}}else{pk.lastIndex=d;const h=pk.exec(l);if(h){const p=h[0],m=h[1],g=He.create(s,o+d),y=He.create(s,o+d+p.length);i.push({type:"tag",content:m,range:Me.create(g,y)}),d+=p.length,d=Zy(l,d)}if(d<l.length){const p=l.substring(d),m=Array.from(p.matchAll(wU));i.push(...EU(m,p,s,o+d))}}s++,o=0}return i.length>0&&i[i.length-1].type==="break"?i.slice(0,-1):i}function EU(t,e,n,r){const i=[];if(t.length===0){const s=He.create(n,r),o=He.create(n,r+e.length);i.push({type:"text",content:e,range:Me.create(s,o)})}else{let s=0;for(const a of t){const c=a.index,u=e.substring(s,c);u.length>0&&i.push({type:"text",content:e.substring(s,c),range:Me.create(He.create(n,s+r),He.create(n,c+r))});let l=u.length+1;const d=a[1];if(i.push({type:"inline-tag",content:d,range:Me.create(He.create(n,s+l+r),He.create(n,s+l+d.length+r))}),l+=d.length,a.length===4){l+=a[2].length;const f=a[3];i.push({type:"text",content:f,range:Me.create(He.create(n,s+l+r),He.create(n,s+l+f.length+r))})}else i.push({type:"text",content:"",range:Me.create(He.create(n,s+l+r),He.create(n,s+l+r))});s=c+a[0].length}const o=e.substring(s);o.length>0&&i.push({type:"text",content:o,range:Me.create(He.create(n,s+r),He.create(n,s+r+o.length))})}return i}const DU=/\S/,TU=/\s*$/;function Zy(t,e){const n=t.substring(e).match(DU);return n?e+n.index:t.length}function RU(t){const e=t.match(TU);if(e&&typeof e.index=="number")return e.index}function SU(t){var e,n,r,i;const s=He.create(t.position.line,t.position.character);if(t.tokens.length===0)return new vk([],Me.create(s,s));const o=[];for(;t.index<t.tokens.length;){const u=kU(t,o[o.length-1]);u&&o.push(u)}const a=(n=(e=o[0])===null||e===void 0?void 0:e.range.start)!==null&&n!==void 0?n:s,c=(i=(r=o[o.length-1])===null||r===void 0?void 0:r.range.end)!==null&&i!==void 0?i:s;return new vk(o,Me.create(a,c))}function kU(t,e){const n=t.tokens[t.index];if(n.type==="tag")return gk(t,!1);if(n.type==="text"||n.type==="inline-tag")return mk(t);$U(n,e),t.index++}function $U(t,e){if(e){const n=new wk("",t.range);"inlines"in e?e.inlines.push(n):e.content.inlines.push(n)}}function mk(t){let e=t.tokens[t.index];const n=e;let r=e;const i=[];for(;e&&e.type!=="break"&&e.type!=="tag";)i.push(CU(t)),r=e,e=t.tokens[t.index];return new nv(i,Me.create(n.range.start,r.range.end))}function CU(t){return t.tokens[t.index].type==="inline-tag"?gk(t,!0):yk(t)}function gk(t,e){const n=t.tokens[t.index++],r=n.content.substring(1),i=t.tokens[t.index];if(i?.type==="text")if(e){const s=yk(t);return new tv(r,new nv([s],s.range),e,Me.create(n.range.start,s.range.end))}else{const s=mk(t);return new tv(r,s,e,Me.create(n.range.start,s.range.end))}else{const s=n.range;return new tv(r,new nv([],s),e,s)}}function yk(t){const e=t.tokens[t.index++];return new wk(e.content,e.range)}function Qy(t){if(!t)return Qy({start:"/**",end:"*/",line:"*"});const{start:e,end:n,line:r}=t;return{start:ev(e,!0),end:ev(n,!1),line:ev(r,!0)}}function ev(t,e){if(typeof t=="string"||typeof t=="object"){const n=typeof t=="string"?rf(t):t.source;return e?new RegExp(`^\\s*${n}`):new RegExp(`\\s*${n}\\s*$`)}else return t}class vk{constructor(e,n){this.elements=e,this.range=n}getTag(e){return this.getAllTags().find(n=>n.name===e)}getTags(e){return this.getAllTags().filter(n=>n.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(const n of this.elements)if(e.length===0)e=n.toString();else{const r=n.toString();e+=bk(e)+r}return e.trim()}toMarkdown(e){let n="";for(const r of this.elements)if(n.length===0)n=r.toMarkdown(e);else{const i=r.toMarkdown(e);n+=bk(n)+i}return n.trim()}}class tv{constructor(e,n,r,i){this.name=e,this.content=n,this.inline=r,this.range=i}toString(){let e=`@${this.name}`;const n=this.content.toString();return this.content.inlines.length===1?e=`${e} ${n}`:this.content.inlines.length>1&&(e=`${e}
118
- ${n}`),this.inline?`{${e}}`:e}toMarkdown(e){var n,r;return(r=(n=e?.renderTag)===null||n===void 0?void 0:n.call(e,this))!==null&&r!==void 0?r:this.toMarkdownDefault(e)}toMarkdownDefault(e){const n=this.content.toMarkdown(e);if(this.inline){const s=_U(this.name,n,e??{});if(typeof s=="string")return s}let r="";e?.tag==="italic"||e?.tag===void 0?r="*":e?.tag==="bold"?r="**":e?.tag==="bold-italic"&&(r="***");let i=`${r}@${this.name}${r}`;return this.content.inlines.length===1?i=`${i} \u2014 ${n}`:this.content.inlines.length>1&&(i=`${i}
119
- ${n}`),this.inline?`{${i}}`:i}}function _U(t,e,n){var r,i;if(t==="linkplain"||t==="linkcode"||t==="link"){const s=e.indexOf(" ");let o=e;if(s>0){const c=Zy(e,s);o=e.substring(c),e=e.substring(0,s)}return(t==="linkcode"||t==="link"&&n.link==="code")&&(o=`\`${o}\``),(i=(r=n.renderLink)===null||r===void 0?void 0:r.call(n,e,o))!==null&&i!==void 0?i:AU(e,o)}}function AU(t,e){try{return Vt.parse(t,!0),`[${e}](${t})`}catch{return t}}class nv{constructor(e,n){this.inlines=e,this.range=n}toString(){let e="";for(let n=0;n<this.inlines.length;n++){const r=this.inlines[n],i=this.inlines[n+1];e+=r.toString(),i&&i.range.start.line>r.range.start.line&&(e+=`
120
- `)}return e}toMarkdown(e){let n="";for(let r=0;r<this.inlines.length;r++){const i=this.inlines[r],s=this.inlines[r+1];n+=i.toMarkdown(e),s&&s.range.start.line>i.range.start.line&&(n+=`
121
- `)}return n}}class wk{constructor(e,n){this.text=e,this.range=n}toString(){return this.text}toMarkdown(){return this.text}}function bk(t){return t.endsWith(`
122
- `)?`
123
- `:`
124
-
125
- `}class xU{constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){const n=this.commentProvider.getComment(e);if(n&&vU(n))return yU(n).toMarkdown({renderLink:(i,s)=>this.documentationLinkRenderer(e,i,s),renderTag:i=>this.documentationTagRenderer(e,i)})}documentationLinkRenderer(e,n,r){var i;const s=(i=this.findNameInPrecomputedScopes(e,n))!==null&&i!==void 0?i:this.findNameInGlobalScope(e,n);if(s&&s.nameSegment){const o=s.nameSegment.range.start.line+1,a=s.nameSegment.range.start.character+1,c=s.documentUri.with({fragment:`L${o},${a}`});return`[${r}](${c.toString()})`}else return}documentationTagRenderer(e,n){}findNameInPrecomputedScopes(e,n){const i=sn(e).precomputedScopes;if(!i)return;let s=e;do{const a=i.get(s).find(c=>c.name===n);if(a)return a;s=s.$container}while(s)}findNameInGlobalScope(e,n){return this.indexManager.allElements().find(i=>i.name===n)}}class IU{constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){var n;return eU(e)?e.$comment:(n=zd(e.$cstNode,this.grammarConfig().multilineCommentRules))===null||n===void 0?void 0:n.text}}class PU{constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,n){return Promise.resolve(this.syncParser.parse(e))}}class NU{constructor(){this.previousTokenSource=new dt.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();const n=new dt.CancellationTokenSource;return this.previousTokenSource=n,this.enqueue(this.writeQueue,e,n.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,n,r=dt.CancellationToken.None){const i=new Ky,s={action:n,deferred:i,cancellationToken:r};return e.push(s),this.performNextOperation(),i.promise}async performNextOperation(){if(!this.done)return;const e=[];if(this.writeQueue.length>0)e.push(this.writeQueue.shift());else if(this.readQueue.length>0)e.push(...this.readQueue.splice(0,this.readQueue.length));else return;this.done=!1,await Promise.all(e.map(async({action:n,deferred:r,cancellationToken:i})=>{try{const s=await Promise.resolve().then(()=>n(i));r.resolve(s)}catch(s){nh(s)?r.resolve(void 0):r.reject(s)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}}class OU{constructor(e){this.grammarElementIdMap=new nk,this.tokenTypeIdMap=new nk,this.grammar=e.Grammar,this.lexer=e.parser.Lexer,this.linker=e.references.Linker}dehydrate(e){return{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport?this.dehydrateLexerReport(e.lexerReport):void 0,parserErrors:e.parserErrors.map(n=>Object.assign(Object.assign({},n),{message:n.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){const n=new Map,r=new Map;for(const i of oi(e))n.set(i,{});if(e.$cstNode)for(const i of Va(e.$cstNode))r.set(i,{});return{astNodes:n,cstNodes:r}}dehydrateAstNode(e,n){const r=n.astNodes.get(e);r.$type=e.$type,r.$containerIndex=e.$containerIndex,r.$containerProperty=e.$containerProperty,e.$cstNode!==void 0&&(r.$cstNode=this.dehydrateCstNode(e.$cstNode,n));for(const[i,s]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(s)){const o=[];r[i]=o;for(const a of s)vt(a)?o.push(this.dehydrateAstNode(a,n)):Hn(a)?o.push(this.dehydrateReference(a,n)):o.push(a)}else vt(s)?r[i]=this.dehydrateAstNode(s,n):Hn(s)?r[i]=this.dehydrateReference(s,n):s!==void 0&&(r[i]=s);return r}dehydrateReference(e,n){const r={};return r.$refText=e.$refText,e.$refNode&&(r.$refNode=n.cstNodes.get(e.$refNode)),r}dehydrateCstNode(e,n){const r=n.cstNodes.get(e);return MD(e)?r.fullText=e.fullText:r.grammarSource=this.getGrammarElementId(e.grammarSource),r.hidden=e.hidden,r.astNode=n.astNodes.get(e.astNode),ri(e)?r.content=e.content.map(i=>this.dehydrateCstNode(i,n)):Cs(e)&&(r.tokenType=e.tokenType.name,r.offset=e.offset,r.length=e.length,r.startLine=e.range.start.line,r.startColumn=e.range.start.character,r.endLine=e.range.end.line,r.endColumn=e.range.end.character),r}hydrate(e){const n=e.value,r=this.createHydrationContext(n);return"$cstNode"in n&&this.hydrateCstNode(n.$cstNode,r),{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport,parserErrors:e.parserErrors,value:this.hydrateAstNode(n,r)}}createHydrationContext(e){const n=new Map,r=new Map;for(const s of oi(e))n.set(s,{});let i;if(e.$cstNode)for(const s of Va(e.$cstNode)){let o;"fullText"in s?(o=new MS(s.fullText),i=o):"content"in s?o=new Gy:"tokenType"in s&&(o=this.hydrateCstLeafNode(s)),o&&(r.set(s,o),o.root=i)}return{astNodes:n,cstNodes:r}}hydrateAstNode(e,n){const r=n.astNodes.get(e);r.$type=e.$type,r.$containerIndex=e.$containerIndex,r.$containerProperty=e.$containerProperty,e.$cstNode&&(r.$cstNode=n.cstNodes.get(e.$cstNode));for(const[i,s]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(s)){const o=[];r[i]=o;for(const a of s)vt(a)?o.push(this.setParent(this.hydrateAstNode(a,n),r)):Hn(a)?o.push(this.hydrateReference(a,r,i,n)):o.push(a)}else vt(s)?r[i]=this.setParent(this.hydrateAstNode(s,n),r):Hn(s)?r[i]=this.hydrateReference(s,r,i,n):s!==void 0&&(r[i]=s);return r}setParent(e,n){return e.$container=n,e}hydrateReference(e,n,r,i){return this.linker.buildReference(n,r,i.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,n,r=0){const i=n.cstNodes.get(e);if(typeof e.grammarSource=="number"&&(i.grammarSource=this.getGrammarElement(e.grammarSource)),i.astNode=n.astNodes.get(e.astNode),ri(i))for(const s of e.content){const o=this.hydrateCstNode(s,n,r++);i.content.push(o)}return i}hydrateCstLeafNode(e){const n=this.getTokenType(e.tokenType),r=e.offset,i=e.length,s=e.startLine,o=e.startColumn,a=e.endLine,c=e.endColumn,u=e.hidden;return new Uy(r,i,{start:{line:s,character:o},end:{line:a,character:c}},n,u)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap();const n=this.grammarElementIdMap.getKey(e);if(n)return n;throw new Error("Invalid grammar element id: "+e)}createGrammarElementIdMap(){let e=0;for(const n of oi(this.grammar))dg(n)&&this.grammarElementIdMap.set(n,e++)}}function Ek(t){return{documentation:{CommentProvider:e=>new IU(e),DocumentationProvider:e=>new xU(e)},parser:{AsyncParser:e=>new PU(e),GrammarConfig:e=>XM(e),LangiumParser:e=>Bj(e),CompletionParser:e=>zj(e),ValueConverter:()=>new Uj,TokenBuilder:()=>new jj,Lexer:e=>new mU(e),ParserErrorMessageProvider:()=>new jS},workspace:{AstNodeLocator:()=>new uU,AstNodeDescriptionProvider:e=>new aU(e),ReferenceDescriptionProvider:e=>new cU(e)},references:{Linker:e=>new Yj(e),NameProvider:()=>new Xj,ScopeProvider:e=>new ck(e),ScopeComputation:e=>new rk(e),References:e=>new Jj(e)},serializer:{Hydrator:e=>new OU(e),JsonSerializer:e=>new tU(e)},validation:{DocumentValidator:e=>new iU(e),ValidationRegistry:e=>new rU(e)},shared:()=>t.shared}}function Dk(t){return{ServiceRegistry:e=>new nU(e),workspace:{LangiumDocuments:e=>new Kj(e),LangiumDocumentFactory:e=>new Vj(e),DocumentBuilder:e=>new fU(e),IndexManager:e=>new hU(e),WorkspaceManager:e=>new lk(e),FileSystemProvider:e=>t.fileSystemProvider(e),WorkspaceLock:()=>new NU,ConfigurationProvider:e=>new dU(e)}}}var sh;(function(t){t.merge=(e,n)=>ah(ah({},e),n)})(sh||(sh={}));function oh(t,e,n,r,i,s,o,a,c){const u=[t,e,n,r,i,s,o,a,c].reduce(ah,{});return Rk(u)}const Tk=Symbol("isProxy");function rv(t){if(t&&t[Tk])for(const e of Object.values(t))rv(e);return t}function Rk(t,e){const n=new Proxy({},{deleteProperty:()=>!1,set:()=>{throw new Error("Cannot set property on injected service container")},get:(r,i)=>i===Tk?!0:kk(r,i,t,e||n),getOwnPropertyDescriptor:(r,i)=>(kk(r,i,t,e||n),Object.getOwnPropertyDescriptor(r,i)),has:(r,i)=>i in t,ownKeys:()=>[...Object.getOwnPropertyNames(t)]});return n}const Sk=Symbol();function kk(t,e,n,r){if(e in t){if(t[e]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable.",{cause:t[e]});if(t[e]===Sk)throw new Error('Cycle detected. Please make "'+String(e)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return t[e]}else if(e in n){const i=n[e];t[e]=Sk;try{t[e]=typeof i=="function"?i(r):Rk(i,r)}catch(s){throw t[e]=s instanceof Error?s:void 0,s}return t[e]}else return}function ah(t,e){if(e){for(const[n,r]of Object.entries(e))if(r!==void 0){const i=t[n];i!==null&&r!==null&&typeof i=="object"&&typeof r=="object"?t[n]=ah(i,r):t[n]=r}}return t}class LU{readFile(){throw new Error("No file system is available.")}async readDirectory(){return[]}}const $k={fileSystemProvider:()=>new LU},FU={Grammar:()=>{},LanguageMetaData:()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"})},MU={AstReflection:()=>new QD};function zU(){const t=oh(Dk($k),MU),e=oh(Ek({shared:t}),FU);return t.ServiceRegistry.register(e),e}function BU(t){var e;const n=zU(),r=n.serializer.JsonSerializer.deserialize(t);return n.shared.workspace.LangiumDocumentFactory.fromModel(r,Vt.parse(`memory://${(e=r.name)!==null&&e!==void 0?e:"grammar"}.langium`)),r}function qU(t,e,n){let r=i=>t(i,...e);return n===void 0?r:Object.assign(r,{lazy:n,lazyArgs:e})}function Je(t,e,n){let r=t.length-e.length;if(r===0)return t(...e);if(r===1)return qU(t,e,n);throw new Error("Wrong number of arguments")}var jU={done:!0,hasNext:!1},na={done:!1,hasNext:!1},Ck=()=>jU,UU=t=>({hasNext:!0,next:t,done:!1});function Ke(t,...e){let n=t,r=e.map(s=>"lazy"in s?GU(s):void 0),i=0;for(;i<e.length;){if(r[i]===void 0||!WU(n)){let c=e[i];n=c(n),i+=1;continue}let s=[];for(let c=i;c<e.length;c++){let u=r[c];if(u===void 0||(s.push(u),u.isSingle))break}let o=[];for(let c of n)if(_k(c,o,s))break;let{isSingle:a}=s.at(-1);n=a?o[0]:o,i+=s.length}return n}function _k(t,e,n){if(n.length===0)return e.push(t),!1;let r=t,i=na,s=!1;for(let[o,a]of n.entries()){let{index:c,items:u}=a;if(u.push(r),i=a(r,c,u),a.index+=1,i.hasNext){if(i.hasMany??!1){for(let l of i.next)if(_k(l,e,n.slice(o+1)))return!0;return s}r=i.next}if(!i.hasNext)break;i.done&&(s=!0)}return i.hasNext&&e.push(r),s}function GU(t){let{lazy:e,lazyArgs:n}=t,r=e(...n);return Object.assign(r,{isSingle:e.single??!1,index:0,items:[]})}function WU(t){return typeof t=="string"||typeof t=="object"&&t!==null&&Symbol.iterator in t}function iv(t,e){let n=e.length-t.length;if(n===1){let[r,...i]=e;return Ke(r,{lazy:t,lazyArgs:i})}if(n===0){let r={lazy:t,lazyArgs:e};return Object.assign(i=>Ke(i,r),r)}throw new Error("Wrong number of arguments")}function zr(...t){return iv(HU,t)}function HU(){let t=new Set;return e=>t.has(e)?na:(t.add(e),{done:!1,hasNext:!0,next:e})}function ch(...t){return Je(Object.values,t)}function VU(...t){return Je(KU,t,YU)}var KU=(t,e)=>e<0?[]:t.slice(0,e);function YU(t){if(t<=0)return Ck;let e=t;return n=>(e-=1,{done:e<=0,hasNext:!0,next:n})}function Hi(...t){return Je(XU,t)}var XU=(t,e)=>t.length>=e,Ak={asc:(t,e)=>t>e,desc:(t,e)=>t<e};function JU(t,e){let[n,...r]=e;if(!ZU(n)){let s=sv(...r);return t(n,s)}let i=sv(n,...r);return s=>t(s,i)}function sv(t,e,...n){let r=typeof t=="function"?t:t[0],i=typeof t=="function"?"asc":t[1],{[i]:s}=Ak,o=e===void 0?void 0:sv(e,...n);return(a,c)=>{let u=r(a),l=r(c);return s(u,l)?1:s(l,u)?-1:o?.(a,c)??0}}function ZU(t){if(xk(t))return!0;if(typeof t!="object"||!Array.isArray(t))return!1;let[e,n,...r]=t;return xk(e)&&typeof n=="string"&&n in Ak&&r.length===0}var xk=t=>typeof t=="function"&&t.length===1;function QU(...t){return Je(e9,t)}function e9(t,e){return e(t),t}function ra(...t){return Je(t9,t)}function t9(t,e){let n=[...t];return n.sort(e),n}function n9(...t){return JU(r9,t)}var r9=(t,e)=>[...t].sort(e);function Ik(...t){return Je(i9,t)}var i9=(t,e,n)=>t.reduce(e,n);function uh(...t){return Je(s9,t)}function s9(t){return[...t].reverse()}function ov(...t){return Je(o9,t)}function o9(t,e){let n={};for(let r of e)r in t&&(n[r]=t[r]);return n}function av(...t){return e=>Ke(e,...t)}function yi(...t){return Je(a9,t)}var a9=(t,e)=>t[e];function Pk(...t){return Je(c9,t)}function c9(t,e){let n={...t};for(let[r,i]of Object.entries(n))e(i,r,t)&&delete n[r];return n}function kn(...t){return Je(u9,t)}var u9=t=>t.length===1?t[0]:void 0;function ia(...t){return Je(l9,t)}var l9=t=>t.at(-1);function Dt(...t){return Je(d9,t,f9)}var d9=(t,e)=>t.map(e),f9=t=>(e,n,r)=>({done:!1,hasNext:!0,next:t(e,n,r)});function vi(...t){return Je(h9,t)}function h9(t,e){let n={};for(let[r,i]of t.entries()){let[s,o]=e(i,r,t);n[s]=o}return n}function Vi(...t){return Je(p9,t)}function p9(t,e){let n={};for(let[r,i]of Object.entries(t)){let s=e(i,r,t);n[r]=s}return n}function Ki(t){return typeof t=="string"}function ae(t){return!!t}function m9(t){return t!==null}function Br(t){return t!=null}function g9(t){return e=>!t(e)}function at(t){return t==null}function lh(t){return typeof t=="number"&&!Number.isNaN(t)}function Nk(t){return Array.isArray(t)}function At(t){return t!==void 0}function Yi(t){return t===void 0?!0:typeof t=="string"||Array.isArray(t)?t.length===0:Object.keys(t).length===0}function cv(t){return t instanceof Error}function uv(...t){return Je(y9,t)}function y9(t,e){let n={};for(let[r,i]of t.entries()){let s=e(i,r,t);n[s]=i}return n}function v9(...t){return iv(w9,t)}function w9(t){if(t.length===0)return Ck;let e=new Map;for(let n of t)e.set(n,(e.get(n)??0)+1);return n=>{let r=e.get(n);return r===void 0||r===0?na:(r===1?e.delete(n):e.set(n,r-1),{hasNext:!0,next:n,done:e.size===0})}}function wi(...t){return Je(b9,t,E9)}var b9=(t,e)=>t.flatMap(e),E9=t=>(e,n,r)=>{let i=t(e,n,r);return Array.isArray(i)?{done:!1,hasNext:!0,hasMany:!0,next:i}:{done:!1,hasNext:!0,next:i}};function D9(...t){return Je(T9,t,R9)}function T9(t,e){return t.forEach(e),t}var R9=t=>(e,n,r)=>(t(e,n,r),{done:!1,hasNext:!0,next:e});function dh(...t){return Je(S9,t)}var S9=(t,e)=>{let n={};for(let[r,i]of t.entries()){let s=e(i,r,t);if(s!==void 0){let{[s]:o}=n;o===void 0&&(o=[],n[s]=o),o.push(i)}}return n};function nt(...t){return Je(k9,t,$9)}var k9=(t,e)=>t.filter(e),$9=t=>(e,n,r)=>t(e,n,r)?{done:!1,hasNext:!0,next:e}:na,Ok=t=>Object.assign(t,{single:!0});function Lk(...t){return Je(C9,t,Ok(_9))}var C9=(t,e)=>t.find(e),_9=t=>(e,n,r)=>t(e,n,r)?{done:!0,hasNext:!0,next:e}:na;function A9(...t){return Je(x9,t)}var x9=(t,e)=>{for(let n=t.length-1;n>=0;n--){let r=t[n];if(e(r,n,t))return r}};function sa(...t){return Je(I9,t,Ok(P9))}var I9=([t])=>t,P9=()=>N9,N9=t=>({hasNext:!0,next:t,done:!0});function oa(...t){return Je(Object.entries,t)}function O9(...t){return Je(L9,t)}var L9=(t,e)=>[...t,...e];function F9(t,{waitMs:e,timing:n="trailing",maxWaitMs:r}){if(r!==void 0&&e!==void 0&&r<e)throw new Error(`debounce: maxWaitMs (${r.toString()}) cannot be less than waitMs (${e.toString()})`);let i,s,o,a,c=()=>{if(s!==void 0){let f=s;s=void 0,clearTimeout(f)}if(o===void 0)throw new Error("REMEDA[debounce]: latestCallArgs was unexpectedly undefined.");let d=o;o=void 0,a=t(...d)},u=()=>{if(i===void 0)return;let d=i;i=void 0,clearTimeout(d),o!==void 0&&c()},l=d=>{o=d,r!==void 0&&s===void 0&&(s=setTimeout(c,r))};return{call:(...d)=>{if(i===void 0)n==="trailing"?l(d):a=t(...d);else{n!=="leading"&&l(d);let f=i;i=void 0,clearTimeout(f)}return i=setTimeout(u,e??r??0),a},cancel:()=>{if(i!==void 0){let d=i;i=void 0,clearTimeout(d)}if(s!==void 0){let d=s;s=void 0,clearTimeout(d)}o=void 0},flush:()=>(u(),a),get isPending(){return i!==void 0},get cachedValue(){return a}}}function Fk(...t){return iv(M9,t)}function M9(t){if(t.length===0)return UU;let e=new Map;for(let n of t)e.set(n,(e.get(n)??0)+1);return n=>{let r=e.get(n);return r===void 0||r===0?{done:!1,hasNext:!0,next:n}:(e.set(n,r-1),na)}}function Mk(...t){return Je(z9,t)}var z9=(t,e)=>e.every(n=>n(t));function lv(...t){return Je(B9,t)}var B9=(t,e)=>e.some(n=>n(t));function q9(...t){return Je(j9,t)}function j9(t,e){if(e<1)throw new RangeError(`chunk: A chunk size of '${e.toString()}' would result in an infinite array`);if(t.length===0)return[];if(e>=t.length)return[[...t]];let n=Math.ceil(t.length/e),r=new Array(n);if(e===1)for(let[i,s]of t.entries())r[i]=[s];else for(let i=0;i<n;i+=1){let s=i*e;r[i]=t.slice(s,s+e)}return r}function zk(...t){return Je(U9,t)}var U9=(t,{min:e,max:n})=>e!==void 0&&t<e?e:n!==void 0&&t>n?n:t,G9={reset:[0,0],bold:[1,22,"\x1B[22m\x1B[1m"],dim:[2,22,"\x1B[22m\x1B[2m"],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29],black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],gray:[90,39],bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]},W9=Object.entries(G9);function dv(t){return String(t)}dv.open="",dv.close="";function H9(t=!1){let e=typeof process<"u"?process:void 0,n=e?.env||{},r=e?.argv||[];return!("NO_COLOR"in n||r.includes("--no-color"))&&("FORCE_COLOR"in n||r.includes("--color")||e?.platform==="win32"||t&&n.TERM!=="dumb"||"CI"in n)||typeof window<"u"&&!!window.chrome}function V9(t=!1){let e=H9(t),n=(o,a,c,u)=>{let l="",d=0;do l+=o.substring(d,u)+c,d=u+a.length,u=o.indexOf(a,d);while(~u);return l+o.substring(d)},r=(o,a,c=o)=>{let u=l=>{let d=String(l),f=d.indexOf(a,o.length);return~f?o+n(d,a,c,f)+a:o+d+a};return u.open=o,u.close=a,u},i={isColorSupported:e},s=o=>`\x1B[${o}m`;for(let[o,a]of W9)i[o]=e?r(s(a[0]),s(a[1]),a[2]):dv;return i}var ft=V9(C2(1)),Gs={};const K9=ui(_2);var Tt={},Bk;function fv(){if(Bk)return Tt;Bk=1,Object.defineProperty(Tt,"__esModule",{value:!0}),Tt.thenable=Tt.typedArray=Tt.stringArray=Tt.array=Tt.func=Tt.error=Tt.number=Tt.string=Tt.boolean=void 0;function t(u){return u===!0||u===!1}Tt.boolean=t;function e(u){return typeof u=="string"||u instanceof String}Tt.string=e;function n(u){return typeof u=="number"||u instanceof Number}Tt.number=n;function r(u){return u instanceof Error}Tt.error=r;function i(u){return typeof u=="function"}Tt.func=i;function s(u){return Array.isArray(u)}Tt.array=s;function o(u){return s(u)&&u.every(l=>e(l))}Tt.stringArray=o;function a(u,l){return Array.isArray(u)&&u.every(l)}Tt.typedArray=a;function c(u){return u&&i(u.then)}return Tt.thenable=c,Tt}var je={},Ws={},Hs={},fh={};const Y9=ui(O2);var hv={},pe={},qk;function jk(){if(qk)return pe;qk=1,Object.defineProperty(pe,"__esModule",{value:!0}),pe.Message=pe.NotificationType9=pe.NotificationType8=pe.NotificationType7=pe.NotificationType6=pe.NotificationType5=pe.NotificationType4=pe.NotificationType3=pe.NotificationType2=pe.NotificationType1=pe.NotificationType0=pe.NotificationType=pe.RequestType9=pe.RequestType8=pe.RequestType7=pe.RequestType6=pe.RequestType5=pe.RequestType4=pe.RequestType3=pe.RequestType2=pe.RequestType1=pe.RequestType=pe.RequestType0=pe.AbstractMessageSignature=pe.ParameterStructures=pe.ResponseError=pe.ErrorCodes=void 0;const t=eu();var e;(function(D){D.ParseError=-32700,D.InvalidRequest=-32600,D.MethodNotFound=-32601,D.InvalidParams=-32602,D.InternalError=-32603,D.jsonrpcReservedErrorRangeStart=-32099,D.serverErrorStart=-32099,D.MessageWriteError=-32099,D.MessageReadError=-32098,D.PendingResponseRejected=-32097,D.ConnectionInactive=-32096,D.ServerNotInitialized=-32002,D.UnknownErrorCode=-32001,D.jsonrpcReservedErrorRangeEnd=-32e3,D.serverErrorEnd=-32e3})(e||(pe.ErrorCodes=e={}));class n extends Error{constructor(R,F,W){super(F),this.code=t.number(R)?R:e.UnknownErrorCode,this.data=W,Object.setPrototypeOf(this,n.prototype)}toJson(){const R={code:this.code,message:this.message};return this.data!==void 0&&(R.data=this.data),R}}pe.ResponseError=n;class r{constructor(R){this.kind=R}static is(R){return R===r.auto||R===r.byName||R===r.byPosition}toString(){return this.kind}}pe.ParameterStructures=r,r.auto=new r("auto"),r.byPosition=new r("byPosition"),r.byName=new r("byName");class i{constructor(R,F){this.method=R,this.numberOfParams=F}get parameterStructures(){return r.auto}}pe.AbstractMessageSignature=i;class s extends i{constructor(R){super(R,0)}}pe.RequestType0=s;class o extends i{constructor(R,F=r.auto){super(R,1),this._parameterStructures=F}get parameterStructures(){return this._parameterStructures}}pe.RequestType=o;class a extends i{constructor(R,F=r.auto){super(R,1),this._parameterStructures=F}get parameterStructures(){return this._parameterStructures}}pe.RequestType1=a;class c extends i{constructor(R){super(R,2)}}pe.RequestType2=c;class u extends i{constructor(R){super(R,3)}}pe.RequestType3=u;class l extends i{constructor(R){super(R,4)}}pe.RequestType4=l;class d extends i{constructor(R){super(R,5)}}pe.RequestType5=d;class f extends i{constructor(R){super(R,6)}}pe.RequestType6=f;class h extends i{constructor(R){super(R,7)}}pe.RequestType7=h;class p extends i{constructor(R){super(R,8)}}pe.RequestType8=p;class m extends i{constructor(R){super(R,9)}}pe.RequestType9=m;class g extends i{constructor(R,F=r.auto){super(R,1),this._parameterStructures=F}get parameterStructures(){return this._parameterStructures}}pe.NotificationType=g;class y extends i{constructor(R){super(R,0)}}pe.NotificationType0=y;class w extends i{constructor(R,F=r.auto){super(R,1),this._parameterStructures=F}get parameterStructures(){return this._parameterStructures}}pe.NotificationType1=w;class E extends i{constructor(R){super(R,2)}}pe.NotificationType2=E;class k extends i{constructor(R){super(R,3)}}pe.NotificationType3=k;class A extends i{constructor(R){super(R,4)}}pe.NotificationType4=A;class I extends i{constructor(R){super(R,5)}}pe.NotificationType5=I;class x extends i{constructor(R){super(R,6)}}pe.NotificationType6=x;class _ extends i{constructor(R){super(R,7)}}pe.NotificationType7=_;class P extends i{constructor(R){super(R,8)}}pe.NotificationType8=P;class O extends i{constructor(R){super(R,9)}}pe.NotificationType9=O;var C;return function(D){function R(V){const Z=V;return Z&&t.string(Z.method)&&(t.string(Z.id)||t.number(Z.id))}D.isRequest=R;function F(V){const Z=V;return Z&&t.string(Z.method)&&V.id===void 0}D.isNotification=F;function W(V){const Z=V;return Z&&(Z.result!==void 0||!!Z.error)&&(t.string(Z.id)||t.number(Z.id)||Z.id===null)}D.isResponse=W}(C||(pe.Message=C={})),pe}var bi={},Uk;function Gk(){if(Uk)return bi;Uk=1;var t;Object.defineProperty(bi,"__esModule",{value:!0}),bi.LRUCache=bi.LinkedMap=bi.Touch=void 0;var e;(function(i){i.None=0,i.First=1,i.AsOld=i.First,i.Last=2,i.AsNew=i.Last})(e||(bi.Touch=e={}));class n{constructor(){this[t]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(s){return this._map.has(s)}get(s,o=e.None){const a=this._map.get(s);if(a)return o!==e.None&&this.touch(a,o),a.value}set(s,o,a=e.None){let c=this._map.get(s);if(c)c.value=o,a!==e.None&&this.touch(c,a);else{switch(c={key:s,value:o,next:void 0,previous:void 0},a){case e.None:this.addItemLast(c);break;case e.First:this.addItemFirst(c);break;case e.Last:this.addItemLast(c);break;default:this.addItemLast(c);break}this._map.set(s,c),this._size++}return this}delete(s){return!!this.remove(s)}remove(s){const o=this._map.get(s);if(o)return this._map.delete(s),this.removeItem(o),this._size--,o.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const s=this._head;return this._map.delete(s.key),this.removeItem(s),this._size--,s.value}forEach(s,o){const a=this._state;let c=this._head;for(;c;){if(o?s.bind(o)(c.value,c.key,this):s(c.value,c.key,this),this._state!==a)throw new Error("LinkedMap got modified during iteration.");c=c.next}}keys(){const s=this._state;let o=this._head;const a={[Symbol.iterator]:()=>a,next:()=>{if(this._state!==s)throw new Error("LinkedMap got modified during iteration.");if(o){const c={value:o.key,done:!1};return o=o.next,c}else return{value:void 0,done:!0}}};return a}values(){const s=this._state;let o=this._head;const a={[Symbol.iterator]:()=>a,next:()=>{if(this._state!==s)throw new Error("LinkedMap got modified during iteration.");if(o){const c={value:o.value,done:!1};return o=o.next,c}else return{value:void 0,done:!0}}};return a}entries(){const s=this._state;let o=this._head;const a={[Symbol.iterator]:()=>a,next:()=>{if(this._state!==s)throw new Error("LinkedMap got modified during iteration.");if(o){const c={value:[o.key,o.value],done:!1};return o=o.next,c}else return{value:void 0,done:!0}}};return a}[(t=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(s){if(s>=this.size)return;if(s===0){this.clear();return}let o=this._head,a=this.size;for(;o&&a>s;)this._map.delete(o.key),o=o.next,a--;this._head=o,this._size=a,o&&(o.previous=void 0),this._state++}addItemFirst(s){if(!this._head&&!this._tail)this._tail=s;else if(this._head)s.next=this._head,this._head.previous=s;else throw new Error("Invalid list");this._head=s,this._state++}addItemLast(s){if(!this._head&&!this._tail)this._head=s;else if(this._tail)s.previous=this._tail,this._tail.next=s;else throw new Error("Invalid list");this._tail=s,this._state++}removeItem(s){if(s===this._head&&s===this._tail)this._head=void 0,this._tail=void 0;else if(s===this._head){if(!s.next)throw new Error("Invalid list");s.next.previous=void 0,this._head=s.next}else if(s===this._tail){if(!s.previous)throw new Error("Invalid list");s.previous.next=void 0,this._tail=s.previous}else{const o=s.next,a=s.previous;if(!o||!a)throw new Error("Invalid list");o.previous=a,a.next=o}s.next=void 0,s.previous=void 0,this._state++}touch(s,o){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(o!==e.First&&o!==e.Last)){if(o===e.First){if(s===this._head)return;const a=s.next,c=s.previous;s===this._tail?(c.next=void 0,this._tail=c):(a.previous=c,c.next=a),s.previous=void 0,s.next=this._head,this._head.previous=s,this._head=s,this._state++}else if(o===e.Last){if(s===this._tail)return;const a=s.next,c=s.previous;s===this._head?(a.previous=void 0,this._head=a):(a.previous=c,c.next=a),s.next=void 0,s.previous=this._tail,this._tail.next=s,this._tail=s,this._state++}}}toJSON(){const s=[];return this.forEach((o,a)=>{s.push([a,o])}),s}fromJSON(s){this.clear();for(const[o,a]of s)this.set(o,a)}}bi.LinkedMap=n;class r extends n{constructor(s,o=1){super(),this._limit=s,this._ratio=Math.min(Math.max(0,o),1)}get limit(){return this._limit}set limit(s){this._limit=s,this.checkTrim()}get ratio(){return this._ratio}set ratio(s){this._ratio=Math.min(Math.max(0,s),1),this.checkTrim()}get(s,o=e.AsNew){return super.get(s,o)}peek(s){return super.get(s,e.None)}set(s,o){return super.set(s,o,e.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}return bi.LRUCache=r,bi}var iu={},Wk;function X9(){if(Wk)return iu;Wk=1,Object.defineProperty(iu,"__esModule",{value:!0}),iu.Disposable=void 0;var t;return function(e){function n(r){return{dispose:r}}e.create=n}(t||(iu.Disposable=t={})),iu}var Vs={},Hk;function J9(){if(Hk)return Vs;Hk=1,Object.defineProperty(Vs,"__esModule",{value:!0}),Vs.SharedArrayReceiverStrategy=Vs.SharedArraySenderStrategy=void 0;const t=eh();var e;(function(o){o.Continue=0,o.Cancelled=1})(e||(e={}));class n{constructor(){this.buffers=new Map}enableCancellation(a){if(a.id===null)return;const c=new SharedArrayBuffer(4),u=new Int32Array(c,0,1);u[0]=e.Continue,this.buffers.set(a.id,c),a.$cancellationData=c}async sendCancellation(a,c){const u=this.buffers.get(c);if(u===void 0)return;const l=new Int32Array(u,0,1);Atomics.store(l,0,e.Cancelled)}cleanup(a){this.buffers.delete(a)}dispose(){this.buffers.clear()}}Vs.SharedArraySenderStrategy=n;class r{constructor(a){this.data=new Int32Array(a,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===e.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}}class i{constructor(a){this.token=new r(a)}cancel(){}dispose(){}}class s{constructor(){this.kind="request"}createCancellationTokenSource(a){const c=a.$cancellationData;return c===void 0?new t.CancellationTokenSource:new i(c)}}return Vs.SharedArrayReceiverStrategy=s,Vs}var Ei={},su={},Vk;function Kk(){if(Vk)return su;Vk=1,Object.defineProperty(su,"__esModule",{value:!0}),su.Semaphore=void 0;const t=qs();class e{constructor(r=1){if(r<=0)throw new Error("Capacity must be greater than 0");this._capacity=r,this._active=0,this._waiting=[]}lock(r){return new Promise((i,s)=>{this._waiting.push({thunk:r,resolve:i,reject:s}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,t.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;const r=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{const i=r.thunk();i instanceof Promise?i.then(s=>{this._active--,r.resolve(s),this.runNext()},s=>{this._active--,r.reject(s),this.runNext()}):(this._active--,r.resolve(i),this.runNext())}catch(i){this._active--,r.reject(i),this.runNext()}}}return su.Semaphore=e,su}var Yk;function Z9(){if(Yk)return Ei;Yk=1,Object.defineProperty(Ei,"__esModule",{value:!0}),Ei.ReadableStreamMessageReader=Ei.AbstractMessageReader=Ei.MessageReader=void 0;const t=qs(),e=eu(),n=ta(),r=Kk();var i;(function(c){function u(l){let d=l;return d&&e.func(d.listen)&&e.func(d.dispose)&&e.func(d.onError)&&e.func(d.onClose)&&e.func(d.onPartialMessage)}c.is=u})(i||(Ei.MessageReader=i={}));class s{constructor(){this.errorEmitter=new n.Emitter,this.closeEmitter=new n.Emitter,this.partialMessageEmitter=new n.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(u){this.errorEmitter.fire(this.asError(u))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(u){this.partialMessageEmitter.fire(u)}asError(u){return u instanceof Error?u:new Error(`Reader received error. Reason: ${e.string(u.message)?u.message:"unknown"}`)}}Ei.AbstractMessageReader=s;var o;(function(c){function u(l){let d,f;const h=new Map;let p;const m=new Map;if(l===void 0||typeof l=="string")d=l??"utf-8";else{if(d=l.charset??"utf-8",l.contentDecoder!==void 0&&(f=l.contentDecoder,h.set(f.name,f)),l.contentDecoders!==void 0)for(const g of l.contentDecoders)h.set(g.name,g);if(l.contentTypeDecoder!==void 0&&(p=l.contentTypeDecoder,m.set(p.name,p)),l.contentTypeDecoders!==void 0)for(const g of l.contentTypeDecoders)m.set(g.name,g)}return p===void 0&&(p=(0,t.default)().applicationJson.decoder,m.set(p.name,p)),{charset:d,contentDecoder:f,contentDecoders:h,contentTypeDecoder:p,contentTypeDecoders:m}}c.fromOptions=u})(o||(o={}));class a extends s{constructor(u,l){super(),this.readable=u,this.options=o.fromOptions(l),this.buffer=(0,t.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new r.Semaphore(1)}set partialMessageTimeout(u){this._partialMessageTimeout=u}get partialMessageTimeout(){return this._partialMessageTimeout}listen(u){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=u;const l=this.readable.onData(d=>{this.onData(d)});return this.readable.onError(d=>this.fireError(d)),this.readable.onClose(()=>this.fireClose()),l}onData(u){try{for(this.buffer.append(u);;){if(this.nextMessageLength===-1){const d=this.buffer.tryReadHeaders(!0);if(!d)return;const f=d.get("content-length");if(!f){this.fireError(new Error(`Header must provide a Content-Length property.
126
- ${JSON.stringify(Object.fromEntries(d))}`));return}const h=parseInt(f);if(isNaN(h)){this.fireError(new Error(`Content-Length value must be a number. Got ${f}`));return}this.nextMessageLength=h}const l=this.buffer.tryReadBody(this.nextMessageLength);if(l===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{const d=this.options.contentDecoder!==void 0?await this.options.contentDecoder.decode(l):l,f=await this.options.contentTypeDecoder.decode(d,this.options);this.callback(f)}).catch(d=>{this.fireError(d)})}}catch(l){this.fireError(l)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,t.default)().timer.setTimeout((u,l)=>{this.partialMessageTimer=void 0,u===this.messageToken&&(this.firePartialMessage({messageToken:u,waitingTime:l}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}}return Ei.ReadableStreamMessageReader=a,Ei}var Di={},Xk;function Q9(){if(Xk)return Di;Xk=1,Object.defineProperty(Di,"__esModule",{value:!0}),Di.WriteableStreamMessageWriter=Di.AbstractMessageWriter=Di.MessageWriter=void 0;const t=qs(),e=eu(),n=Kk(),r=ta(),i="Content-Length: ",s=`\r
127
- `;var o;(function(l){function d(f){let h=f;return h&&e.func(h.dispose)&&e.func(h.onClose)&&e.func(h.onError)&&e.func(h.write)}l.is=d})(o||(Di.MessageWriter=o={}));class a{constructor(){this.errorEmitter=new r.Emitter,this.closeEmitter=new r.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(d,f,h){this.errorEmitter.fire([this.asError(d),f,h])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(d){return d instanceof Error?d:new Error(`Writer received error. Reason: ${e.string(d.message)?d.message:"unknown"}`)}}Di.AbstractMessageWriter=a;var c;(function(l){function d(f){return f===void 0||typeof f=="string"?{charset:f??"utf-8",contentTypeEncoder:(0,t.default)().applicationJson.encoder}:{charset:f.charset??"utf-8",contentEncoder:f.contentEncoder,contentTypeEncoder:f.contentTypeEncoder??(0,t.default)().applicationJson.encoder}}l.fromOptions=d})(c||(c={}));class u extends a{constructor(d,f){super(),this.writable=d,this.options=c.fromOptions(f),this.errorCount=0,this.writeSemaphore=new n.Semaphore(1),this.writable.onError(h=>this.fireError(h)),this.writable.onClose(()=>this.fireClose())}async write(d){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(d,this.options).then(h=>this.options.contentEncoder!==void 0?this.options.contentEncoder.encode(h):h).then(h=>{const p=[];return p.push(i,h.byteLength.toString(),s),p.push(s),this.doWrite(d,p,h)},h=>{throw this.fireError(h),h}))}async doWrite(d,f,h){try{return await this.writable.write(f.join(""),"ascii"),this.writable.write(h)}catch(p){return this.handleError(p,d),Promise.reject(p)}}handleError(d,f){this.errorCount++,this.fireError(d,f,this.errorCount)}end(){this.writable.end()}}return Di.WriteableStreamMessageWriter=u,Di}var ou={},Jk;function e7(){if(Jk)return ou;Jk=1,Object.defineProperty(ou,"__esModule",{value:!0}),ou.AbstractMessageBuffer=void 0;const t=13,e=10,n=`\r
128
- `;class r{constructor(s="utf-8"){this._encoding=s,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(s){const o=typeof s=="string"?this.fromString(s,this._encoding):s;this._chunks.push(o),this._totalLength+=o.byteLength}tryReadHeaders(s=!1){if(this._chunks.length===0)return;let o=0,a=0,c=0,u=0;e:for(;a<this._chunks.length;){const h=this._chunks[a];for(c=0;c<h.length;){switch(h[c]){case t:switch(o){case 0:o=1;break;case 2:o=3;break;default:o=0}break;case e:switch(o){case 1:o=2;break;case 3:o=4,c++;break e;default:o=0}break;default:o=0}c++}u+=h.byteLength,a++}if(o!==4)return;const l=this._read(u+c),d=new Map,f=this.toString(l,"ascii").split(n);if(f.length<2)return d;for(let h=0;h<f.length-2;h++){const p=f[h],m=p.indexOf(":");if(m===-1)throw new Error(`Message header must separate key and value using ':'
129
- ${p}`);const g=p.substr(0,m),y=p.substr(m+1).trim();d.set(s?g.toLowerCase():g,y)}return d}tryReadBody(s){if(!(this._totalLength<s))return this._read(s)}get numberOfBytes(){return this._totalLength}_read(s){if(s===0)return this.emptyBuffer();if(s>this._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===s){const u=this._chunks[0];return this._chunks.shift(),this._totalLength-=s,this.asNative(u)}if(this._chunks[0].byteLength>s){const u=this._chunks[0],l=this.asNative(u,s);return this._chunks[0]=u.slice(s),this._totalLength-=s,l}const o=this.allocNative(s);let a=0,c=0;for(;s>0;){const u=this._chunks[c];if(u.byteLength>s){const l=u.slice(0,s);o.set(l,a),a+=s,this._chunks[c]=u.slice(s),this._totalLength-=s,s-=s}else o.set(u,a),a+=u.byteLength,this._chunks.shift(),this._totalLength-=u.byteLength,s-=u.byteLength}return o}}return ou.AbstractMessageBuffer=r,ou}var pv={},Zk;function t7(){return Zk||(Zk=1,function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.ConnectionOptions=t.MessageStrategy=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.RequestCancellationReceiverStrategy=t.IdCancellationReceiverStrategy=t.ConnectionStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.TraceValues=t.Trace=t.NullLogger=t.ProgressType=t.ProgressToken=void 0;const e=qs(),n=eu(),r=jk(),i=Gk(),s=ta(),o=eh();var a;(function(R){R.type=new r.NotificationType("$/cancelRequest")})(a||(a={}));var c;(function(R){function F(W){return typeof W=="string"||typeof W=="number"}R.is=F})(c||(t.ProgressToken=c={}));var u;(function(R){R.type=new r.NotificationType("$/progress")})(u||(u={}));class l{constructor(){}}t.ProgressType=l;var d;(function(R){function F(W){return n.func(W)}R.is=F})(d||(d={})),t.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}});var f;(function(R){R[R.Off=0]="Off",R[R.Messages=1]="Messages",R[R.Compact=2]="Compact",R[R.Verbose=3]="Verbose"})(f||(t.Trace=f={}));var h;(function(R){R.Off="off",R.Messages="messages",R.Compact="compact",R.Verbose="verbose"})(h||(t.TraceValues=h={})),function(R){function F(V){if(!n.string(V))return R.Off;switch(V=V.toLowerCase(),V){case"off":return R.Off;case"messages":return R.Messages;case"compact":return R.Compact;case"verbose":return R.Verbose;default:return R.Off}}R.fromString=F;function W(V){switch(V){case R.Off:return"off";case R.Messages:return"messages";case R.Compact:return"compact";case R.Verbose:return"verbose";default:return"off"}}R.toString=W}(f||(t.Trace=f={}));var p;(function(R){R.Text="text",R.JSON="json"})(p||(t.TraceFormat=p={})),function(R){function F(W){return n.string(W)?(W=W.toLowerCase(),W==="json"?R.JSON:R.Text):R.Text}R.fromString=F}(p||(t.TraceFormat=p={}));var m;(function(R){R.type=new r.NotificationType("$/setTrace")})(m||(t.SetTraceNotification=m={}));var g;(function(R){R.type=new r.NotificationType("$/logTrace")})(g||(t.LogTraceNotification=g={}));var y;(function(R){R[R.Closed=1]="Closed",R[R.Disposed=2]="Disposed",R[R.AlreadyListening=3]="AlreadyListening"})(y||(t.ConnectionErrors=y={}));class w extends Error{constructor(F,W){super(W),this.code=F,Object.setPrototypeOf(this,w.prototype)}}t.ConnectionError=w;var E;(function(R){function F(W){const V=W;return V&&n.func(V.cancelUndispatched)}R.is=F})(E||(t.ConnectionStrategy=E={}));var k;(function(R){function F(W){const V=W;return V&&(V.kind===void 0||V.kind==="id")&&n.func(V.createCancellationTokenSource)&&(V.dispose===void 0||n.func(V.dispose))}R.is=F})(k||(t.IdCancellationReceiverStrategy=k={}));var A;(function(R){function F(W){const V=W;return V&&V.kind==="request"&&n.func(V.createCancellationTokenSource)&&(V.dispose===void 0||n.func(V.dispose))}R.is=F})(A||(t.RequestCancellationReceiverStrategy=A={}));var I;(function(R){R.Message=Object.freeze({createCancellationTokenSource(W){return new o.CancellationTokenSource}});function F(W){return k.is(W)||A.is(W)}R.is=F})(I||(t.CancellationReceiverStrategy=I={}));var x;(function(R){R.Message=Object.freeze({sendCancellation(W,V){return W.sendNotification(a.type,{id:V})},cleanup(W){}});function F(W){const V=W;return V&&n.func(V.sendCancellation)&&n.func(V.cleanup)}R.is=F})(x||(t.CancellationSenderStrategy=x={}));var _;(function(R){R.Message=Object.freeze({receiver:I.Message,sender:x.Message});function F(W){const V=W;return V&&I.is(V.receiver)&&x.is(V.sender)}R.is=F})(_||(t.CancellationStrategy=_={}));var P;(function(R){function F(W){const V=W;return V&&n.func(V.handleMessage)}R.is=F})(P||(t.MessageStrategy=P={}));var O;(function(R){function F(W){const V=W;return V&&(_.is(V.cancellationStrategy)||E.is(V.connectionStrategy)||P.is(V.messageStrategy))}R.is=F})(O||(t.ConnectionOptions=O={}));var C;(function(R){R[R.New=1]="New",R[R.Listening=2]="Listening",R[R.Closed=3]="Closed",R[R.Disposed=4]="Disposed"})(C||(C={}));function D(R,F,W,V){const Z=W!==void 0?W:t.NullLogger;let Le=0,se=0,K=0;const Te="2.0";let ut;const H=new Map;let Y;const ee=new Map,ne=new Map;let fe,Ee=new i.LinkedMap,ge=new Map,ce=new Set,M=new Map,U=f.Off,oe=p.Text,G,Fe=C.New;const yt=new s.Emitter,mn=new s.Emitter,nr=new s.Emitter,rr=new s.Emitter,ir=new s.Emitter,qt=V&&V.cancellationStrategy?V.cancellationStrategy:_.Message;function _n(S){if(S===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+S.toString()}function Yr(S){return S===null?"res-unknown-"+(++K).toString():"res-"+S.toString()}function zn(){return"not-"+(++se).toString()}function gn(S,q){r.Message.isRequest(q)?S.set(_n(q.id),q):r.Message.isResponse(q)?S.set(Yr(q.id),q):S.set(zn(),q)}function Bn(S){}function tn(){return Fe===C.Listening}function X(){return Fe===C.Closed}function J(){return Fe===C.Disposed}function le(){(Fe===C.New||Fe===C.Listening)&&(Fe=C.Closed,mn.fire(void 0))}function jt(S){yt.fire([S,void 0,void 0])}function Ft(S){yt.fire(S)}R.onClose(le),R.onError(jt),F.onClose(le),F.onError(Ft);function Rr(){fe||Ee.size===0||(fe=(0,e.default)().timer.setImmediate(()=>{fe=void 0,fs()}))}function Ai(S){r.Message.isRequest(S)?ps(S):r.Message.isNotification(S)?xi(S):r.Message.isResponse(S)?ms(S):Ii(S)}function fs(){if(Ee.size===0)return;const S=Ee.shift();try{const q=V?.messageStrategy;P.is(q)?q.handleMessage(S,Ai):Ai(S)}finally{Rr()}}const hs=S=>{try{if(r.Message.isNotification(S)&&S.method===a.type.method){const q=S.params.id,te=_n(q),ie=Ee.get(te);if(r.Message.isRequest(ie)){const _e=V?.connectionStrategy,Ue=_e&&_e.cancelUndispatched?_e.cancelUndispatched(ie,Bn):void 0;if(Ue&&(Ue.error!==void 0||Ue.result!==void 0)){Ee.delete(te),M.delete(q),Ue.id=ie.id,Sr(Ue,S.method,Date.now()),F.write(Ue).catch(()=>Z.error("Sending response for canceled message failed."));return}}const xe=M.get(q);if(xe!==void 0){xe.cancel(),Xr(S);return}else ce.add(q)}gn(Ee,S)}finally{Rr()}};function ps(S){if(J())return;function q($e,Ze,Ge){const Pt={jsonrpc:Te,id:S.id};$e instanceof r.ResponseError?Pt.error=$e.toJson():Pt.result=$e===void 0?null:$e,Sr(Pt,Ze,Ge),F.write(Pt).catch(()=>Z.error("Sending response failed."))}function te($e,Ze,Ge){const Pt={jsonrpc:Te,id:S.id,error:$e.toJson()};Sr(Pt,Ze,Ge),F.write(Pt).catch(()=>Z.error("Sending response failed."))}function ie($e,Ze,Ge){$e===void 0&&($e=null);const Pt={jsonrpc:Te,id:S.id,result:$e};Sr(Pt,Ze,Ge),F.write(Pt).catch(()=>Z.error("Sending response failed."))}vs(S);const xe=H.get(S.method);let _e,Ue;xe&&(_e=xe.type,Ue=xe.handler);const he=Date.now();if(Ue||ut){const $e=S.id??String(Date.now()),Ze=k.is(qt.receiver)?qt.receiver.createCancellationTokenSource($e):qt.receiver.createCancellationTokenSource(S);S.id!==null&&ce.has(S.id)&&Ze.cancel(),S.id!==null&&M.set($e,Ze);try{let Ge;if(Ue)if(S.params===void 0){if(_e!==void 0&&_e.numberOfParams!==0){te(new r.ResponseError(r.ErrorCodes.InvalidParams,`Request ${S.method} defines ${_e.numberOfParams} params but received none.`),S.method,he);return}Ge=Ue(Ze.token)}else if(Array.isArray(S.params)){if(_e!==void 0&&_e.parameterStructures===r.ParameterStructures.byName){te(new r.ResponseError(r.ErrorCodes.InvalidParams,`Request ${S.method} defines parameters by name but received parameters by position`),S.method,he);return}Ge=Ue(...S.params,Ze.token)}else{if(_e!==void 0&&_e.parameterStructures===r.ParameterStructures.byPosition){te(new r.ResponseError(r.ErrorCodes.InvalidParams,`Request ${S.method} defines parameters by position but received parameters by name`),S.method,he);return}Ge=Ue(S.params,Ze.token)}else ut&&(Ge=ut(S.method,S.params,Ze.token));const Pt=Ge;Ge?Pt.then?Pt.then(nn=>{M.delete($e),q(nn,S.method,he)},nn=>{M.delete($e),nn instanceof r.ResponseError?te(nn,S.method,he):nn&&n.string(nn.message)?te(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${S.method} failed with message: ${nn.message}`),S.method,he):te(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${S.method} failed unexpectedly without providing any details.`),S.method,he)}):(M.delete($e),q(Ge,S.method,he)):(M.delete($e),ie(Ge,S.method,he))}catch(Ge){M.delete($e),Ge instanceof r.ResponseError?q(Ge,S.method,he):Ge&&n.string(Ge.message)?te(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${S.method} failed with message: ${Ge.message}`),S.method,he):te(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${S.method} failed unexpectedly without providing any details.`),S.method,he)}}else te(new r.ResponseError(r.ErrorCodes.MethodNotFound,`Unhandled method ${S.method}`),S.method,he)}function ms(S){if(!J())if(S.id===null)S.error?Z.error(`Received response message without id: Error is:
130
- ${JSON.stringify(S.error,void 0,4)}`):Z.error("Received response message without id. No further error information provided.");else{const q=S.id,te=ge.get(q);if(ws(S,te),te!==void 0){ge.delete(q);try{if(S.error){const ie=S.error;te.reject(new r.ResponseError(ie.code,ie.message,ie.data))}else if(S.result!==void 0)te.resolve(S.result);else throw new Error("Should never happen.")}catch(ie){ie.message?Z.error(`Response handler '${te.method}' failed with message: ${ie.message}`):Z.error(`Response handler '${te.method}' failed unexpectedly.`)}}}}function xi(S){if(J())return;let q,te;if(S.method===a.type.method){const ie=S.params.id;ce.delete(ie),Xr(S);return}else{const ie=ee.get(S.method);ie&&(te=ie.handler,q=ie.type)}if(te||Y)try{if(Xr(S),te)if(S.params===void 0)q!==void 0&&q.numberOfParams!==0&&q.parameterStructures!==r.ParameterStructures.byName&&Z.error(`Notification ${S.method} defines ${q.numberOfParams} params but received none.`),te();else if(Array.isArray(S.params)){const ie=S.params;S.method===u.type.method&&ie.length===2&&c.is(ie[0])?te({token:ie[0],value:ie[1]}):(q!==void 0&&(q.parameterStructures===r.ParameterStructures.byName&&Z.error(`Notification ${S.method} defines parameters by name but received parameters by position`),q.numberOfParams!==S.params.length&&Z.error(`Notification ${S.method} defines ${q.numberOfParams} params but received ${ie.length} arguments`)),te(...ie))}else q!==void 0&&q.parameterStructures===r.ParameterStructures.byPosition&&Z.error(`Notification ${S.method} defines parameters by position but received parameters by name`),te(S.params);else Y&&Y(S.method,S.params)}catch(ie){ie.message?Z.error(`Notification handler '${S.method}' failed with message: ${ie.message}`):Z.error(`Notification handler '${S.method}' failed unexpectedly.`)}else nr.fire(S)}function Ii(S){if(!S){Z.error("Received empty message.");return}Z.error(`Received message which is neither a response nor a notification message:
131
- ${JSON.stringify(S,null,4)}`);const q=S;if(n.string(q.id)||n.number(q.id)){const te=q.id,ie=ge.get(te);ie&&ie.reject(new Error("The received response has neither a result nor an error property."))}}function yn(S){if(S!=null)switch(U){case f.Verbose:return JSON.stringify(S,null,4);case f.Compact:return JSON.stringify(S);default:return}}function gs(S){if(!(U===f.Off||!G))if(oe===p.Text){let q;(U===f.Verbose||U===f.Compact)&&S.params&&(q=`Params: ${yn(S.params)}
132
-
133
- `),G.log(`Sending request '${S.method} - (${S.id})'.`,q)}else qn("send-request",S)}function ys(S){if(!(U===f.Off||!G))if(oe===p.Text){let q;(U===f.Verbose||U===f.Compact)&&(S.params?q=`Params: ${yn(S.params)}
134
-
135
- `:q=`No parameters provided.
136
-
137
- `),G.log(`Sending notification '${S.method}'.`,q)}else qn("send-notification",S)}function Sr(S,q,te){if(!(U===f.Off||!G))if(oe===p.Text){let ie;(U===f.Verbose||U===f.Compact)&&(S.error&&S.error.data?ie=`Error data: ${yn(S.error.data)}
138
-
139
- `:S.result?ie=`Result: ${yn(S.result)}
140
-
141
- `:S.error===void 0&&(ie=`No result returned.
142
-
143
- `)),G.log(`Sending response '${q} - (${S.id})'. Processing request took ${Date.now()-te}ms`,ie)}else qn("send-response",S)}function vs(S){if(!(U===f.Off||!G))if(oe===p.Text){let q;(U===f.Verbose||U===f.Compact)&&S.params&&(q=`Params: ${yn(S.params)}
144
-
145
- `),G.log(`Received request '${S.method} - (${S.id})'.`,q)}else qn("receive-request",S)}function Xr(S){if(!(U===f.Off||!G||S.method===g.type.method))if(oe===p.Text){let q;(U===f.Verbose||U===f.Compact)&&(S.params?q=`Params: ${yn(S.params)}
146
-
147
- `:q=`No parameters provided.
148
-
149
- `),G.log(`Received notification '${S.method}'.`,q)}else qn("receive-notification",S)}function ws(S,q){if(!(U===f.Off||!G))if(oe===p.Text){let te;if((U===f.Verbose||U===f.Compact)&&(S.error&&S.error.data?te=`Error data: ${yn(S.error.data)}
150
-
151
- `:S.result?te=`Result: ${yn(S.result)}
152
-
153
- `:S.error===void 0&&(te=`No result returned.
154
-
155
- `)),q){const ie=S.error?` Request failed: ${S.error.message} (${S.error.code}).`:"";G.log(`Received response '${q.method} - (${S.id})' in ${Date.now()-q.timerStart}ms.${ie}`,te)}else G.log(`Received response ${S.id} without active response promise.`,te)}else qn("receive-response",S)}function qn(S,q){if(!G||U===f.Off)return;const te={isLSPMessage:!0,type:S,message:q,timestamp:Date.now()};G.log(te)}function sr(){if(X())throw new w(y.Closed,"Connection is closed.");if(J())throw new w(y.Disposed,"Connection is disposed.")}function Eo(){if(tn())throw new w(y.AlreadyListening,"Connection is already listening")}function z(){if(!tn())throw new Error("Call listen() first.")}function T(S){return S===void 0?null:S}function N(S){if(S!==null)return S}function v(S){return S!=null&&!Array.isArray(S)&&typeof S=="object"}function $(S,q){switch(S){case r.ParameterStructures.auto:return v(q)?N(q):[T(q)];case r.ParameterStructures.byName:if(!v(q))throw new Error("Received parameters by name but param is not an object literal.");return N(q);case r.ParameterStructures.byPosition:return[T(q)];default:throw new Error(`Unknown parameter structure ${S.toString()}`)}}function b(S,q){let te;const ie=S.numberOfParams;switch(ie){case 0:te=void 0;break;case 1:te=$(S.parameterStructures,q[0]);break;default:te=[];for(let xe=0;xe<q.length&&xe<ie;xe++)te.push(T(q[xe]));if(q.length<ie)for(let xe=q.length;xe<ie;xe++)te.push(null);break}return te}const L={sendNotification:(S,...q)=>{sr();let te,ie;if(n.string(S)){te=S;const _e=q[0];let Ue=0,he=r.ParameterStructures.auto;r.ParameterStructures.is(_e)&&(Ue=1,he=_e);let $e=q.length;const Ze=$e-Ue;switch(Ze){case 0:ie=void 0;break;case 1:ie=$(he,q[Ue]);break;default:if(he===r.ParameterStructures.byName)throw new Error(`Received ${Ze} parameters for 'by Name' notification parameter structure.`);ie=q.slice(Ue,$e).map(Ge=>T(Ge));break}}else{const _e=q;te=S.method,ie=b(S,_e)}const xe={jsonrpc:Te,method:te,params:ie};return ys(xe),F.write(xe).catch(_e=>{throw Z.error("Sending notification failed."),_e})},onNotification:(S,q)=>{sr();let te;return n.func(S)?Y=S:q&&(n.string(S)?(te=S,ee.set(S,{type:void 0,handler:q})):(te=S.method,ee.set(S.method,{type:S,handler:q}))),{dispose:()=>{te!==void 0?ee.delete(te):Y=void 0}}},onProgress:(S,q,te)=>{if(ne.has(q))throw new Error(`Progress handler for token ${q} already registered`);return ne.set(q,te),{dispose:()=>{ne.delete(q)}}},sendProgress:(S,q,te)=>L.sendNotification(u.type,{token:q,value:te}),onUnhandledProgress:rr.event,sendRequest:(S,...q)=>{sr(),z();let te,ie,xe;if(n.string(S)){te=S;const $e=q[0],Ze=q[q.length-1];let Ge=0,Pt=r.ParameterStructures.auto;r.ParameterStructures.is($e)&&(Ge=1,Pt=$e);let nn=q.length;o.CancellationToken.is(Ze)&&(nn=nn-1,xe=Ze);const kr=nn-Ge;switch(kr){case 0:ie=void 0;break;case 1:ie=$(Pt,q[Ge]);break;default:if(Pt===r.ParameterStructures.byName)throw new Error(`Received ${kr} parameters for 'by Name' request parameter structure.`);ie=q.slice(Ge,nn).map(v2=>T(v2));break}}else{const $e=q;te=S.method,ie=b(S,$e);const Ze=S.numberOfParams;xe=o.CancellationToken.is($e[Ze])?$e[Ze]:void 0}const _e=Le++;let Ue;xe&&(Ue=xe.onCancellationRequested(()=>{const $e=qt.sender.sendCancellation(L,_e);return $e===void 0?(Z.log(`Received no promise from cancellation strategy when cancelling id ${_e}`),Promise.resolve()):$e.catch(()=>{Z.log(`Sending cancellation messages for id ${_e} failed`)})}));const he={jsonrpc:Te,id:_e,method:te,params:ie};return gs(he),typeof qt.sender.enableCancellation=="function"&&qt.sender.enableCancellation(he),new Promise(async($e,Ze)=>{const Ge=kr=>{$e(kr),qt.sender.cleanup(_e),Ue?.dispose()},Pt=kr=>{Ze(kr),qt.sender.cleanup(_e),Ue?.dispose()},nn={method:te,timerStart:Date.now(),resolve:Ge,reject:Pt};try{await F.write(he),ge.set(_e,nn)}catch(kr){throw Z.error("Sending request failed."),nn.reject(new r.ResponseError(r.ErrorCodes.MessageWriteError,kr.message?kr.message:"Unknown reason")),kr}})},onRequest:(S,q)=>{sr();let te=null;return d.is(S)?(te=void 0,ut=S):n.string(S)?(te=null,q!==void 0&&(te=S,H.set(S,{handler:q,type:void 0}))):q!==void 0&&(te=S.method,H.set(S.method,{type:S,handler:q})),{dispose:()=>{te!==null&&(te!==void 0?H.delete(te):ut=void 0)}}},hasPendingResponse:()=>ge.size>0,trace:async(S,q,te)=>{let ie=!1,xe=p.Text;te!==void 0&&(n.boolean(te)?ie=te:(ie=te.sendNotification||!1,xe=te.traceFormat||p.Text)),U=S,oe=xe,U===f.Off?G=void 0:G=q,ie&&!X()&&!J()&&await L.sendNotification(m.type,{value:f.toString(S)})},onError:yt.event,onClose:mn.event,onUnhandledNotification:nr.event,onDispose:ir.event,end:()=>{F.end()},dispose:()=>{if(J())return;Fe=C.Disposed,ir.fire(void 0);const S=new r.ResponseError(r.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(const q of ge.values())q.reject(S);ge=new Map,M=new Map,ce=new Set,Ee=new i.LinkedMap,n.func(F.dispose)&&F.dispose(),n.func(R.dispose)&&R.dispose()},listen:()=>{sr(),Eo(),Fe=C.Listening,R.listen(hs)},inspect:()=>{(0,e.default)().console.log("inspect")}};return L.onNotification(g.type,S=>{if(U===f.Off||!G)return;const q=U===f.Verbose||U===f.Compact;G.log(S.message,q?S.verbose:void 0)}),L.onNotification(u.type,S=>{const q=ne.get(S.token);q?q(S.value):rr.fire(S)}),L}t.createMessageConnection=D}(pv)),pv}var Qk;function mv(){return Qk||(Qk=1,function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.ProgressType=t.ProgressToken=t.createMessageConnection=t.NullLogger=t.ConnectionOptions=t.ConnectionStrategy=t.AbstractMessageBuffer=t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=t.SharedArrayReceiverStrategy=t.SharedArraySenderStrategy=t.CancellationToken=t.CancellationTokenSource=t.Emitter=t.Event=t.Disposable=t.LRUCache=t.Touch=t.LinkedMap=t.ParameterStructures=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.ErrorCodes=t.ResponseError=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType0=t.RequestType=t.Message=t.RAL=void 0,t.MessageStrategy=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.TraceValues=t.Trace=void 0;const e=jk();Object.defineProperty(t,"Message",{enumerable:!0,get:function(){return e.Message}}),Object.defineProperty(t,"RequestType",{enumerable:!0,get:function(){return e.RequestType}}),Object.defineProperty(t,"RequestType0",{enumerable:!0,get:function(){return e.RequestType0}}),Object.defineProperty(t,"RequestType1",{enumerable:!0,get:function(){return e.RequestType1}}),Object.defineProperty(t,"RequestType2",{enumerable:!0,get:function(){return e.RequestType2}}),Object.defineProperty(t,"RequestType3",{enumerable:!0,get:function(){return e.RequestType3}}),Object.defineProperty(t,"RequestType4",{enumerable:!0,get:function(){return e.RequestType4}}),Object.defineProperty(t,"RequestType5",{enumerable:!0,get:function(){return e.RequestType5}}),Object.defineProperty(t,"RequestType6",{enumerable:!0,get:function(){return e.RequestType6}}),Object.defineProperty(t,"RequestType7",{enumerable:!0,get:function(){return e.RequestType7}}),Object.defineProperty(t,"RequestType8",{enumerable:!0,get:function(){return e.RequestType8}}),Object.defineProperty(t,"RequestType9",{enumerable:!0,get:function(){return e.RequestType9}}),Object.defineProperty(t,"ResponseError",{enumerable:!0,get:function(){return e.ResponseError}}),Object.defineProperty(t,"ErrorCodes",{enumerable:!0,get:function(){return e.ErrorCodes}}),Object.defineProperty(t,"NotificationType",{enumerable:!0,get:function(){return e.NotificationType}}),Object.defineProperty(t,"NotificationType0",{enumerable:!0,get:function(){return e.NotificationType0}}),Object.defineProperty(t,"NotificationType1",{enumerable:!0,get:function(){return e.NotificationType1}}),Object.defineProperty(t,"NotificationType2",{enumerable:!0,get:function(){return e.NotificationType2}}),Object.defineProperty(t,"NotificationType3",{enumerable:!0,get:function(){return e.NotificationType3}}),Object.defineProperty(t,"NotificationType4",{enumerable:!0,get:function(){return e.NotificationType4}}),Object.defineProperty(t,"NotificationType5",{enumerable:!0,get:function(){return e.NotificationType5}}),Object.defineProperty(t,"NotificationType6",{enumerable:!0,get:function(){return e.NotificationType6}}),Object.defineProperty(t,"NotificationType7",{enumerable:!0,get:function(){return e.NotificationType7}}),Object.defineProperty(t,"NotificationType8",{enumerable:!0,get:function(){return e.NotificationType8}}),Object.defineProperty(t,"NotificationType9",{enumerable:!0,get:function(){return e.NotificationType9}}),Object.defineProperty(t,"ParameterStructures",{enumerable:!0,get:function(){return e.ParameterStructures}});const n=Gk();Object.defineProperty(t,"LinkedMap",{enumerable:!0,get:function(){return n.LinkedMap}}),Object.defineProperty(t,"LRUCache",{enumerable:!0,get:function(){return n.LRUCache}}),Object.defineProperty(t,"Touch",{enumerable:!0,get:function(){return n.Touch}});const r=X9();Object.defineProperty(t,"Disposable",{enumerable:!0,get:function(){return r.Disposable}});const i=ta();Object.defineProperty(t,"Event",{enumerable:!0,get:function(){return i.Event}}),Object.defineProperty(t,"Emitter",{enumerable:!0,get:function(){return i.Emitter}});const s=eh();Object.defineProperty(t,"CancellationTokenSource",{enumerable:!0,get:function(){return s.CancellationTokenSource}}),Object.defineProperty(t,"CancellationToken",{enumerable:!0,get:function(){return s.CancellationToken}});const o=J9();Object.defineProperty(t,"SharedArraySenderStrategy",{enumerable:!0,get:function(){return o.SharedArraySenderStrategy}}),Object.defineProperty(t,"SharedArrayReceiverStrategy",{enumerable:!0,get:function(){return o.SharedArrayReceiverStrategy}});const a=Z9();Object.defineProperty(t,"MessageReader",{enumerable:!0,get:function(){return a.MessageReader}}),Object.defineProperty(t,"AbstractMessageReader",{enumerable:!0,get:function(){return a.AbstractMessageReader}}),Object.defineProperty(t,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return a.ReadableStreamMessageReader}});const c=Q9();Object.defineProperty(t,"MessageWriter",{enumerable:!0,get:function(){return c.MessageWriter}}),Object.defineProperty(t,"AbstractMessageWriter",{enumerable:!0,get:function(){return c.AbstractMessageWriter}}),Object.defineProperty(t,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return c.WriteableStreamMessageWriter}});const u=e7();Object.defineProperty(t,"AbstractMessageBuffer",{enumerable:!0,get:function(){return u.AbstractMessageBuffer}});const l=t7();Object.defineProperty(t,"ConnectionStrategy",{enumerable:!0,get:function(){return l.ConnectionStrategy}}),Object.defineProperty(t,"ConnectionOptions",{enumerable:!0,get:function(){return l.ConnectionOptions}}),Object.defineProperty(t,"NullLogger",{enumerable:!0,get:function(){return l.NullLogger}}),Object.defineProperty(t,"createMessageConnection",{enumerable:!0,get:function(){return l.createMessageConnection}}),Object.defineProperty(t,"ProgressToken",{enumerable:!0,get:function(){return l.ProgressToken}}),Object.defineProperty(t,"ProgressType",{enumerable:!0,get:function(){return l.ProgressType}}),Object.defineProperty(t,"Trace",{enumerable:!0,get:function(){return l.Trace}}),Object.defineProperty(t,"TraceValues",{enumerable:!0,get:function(){return l.TraceValues}}),Object.defineProperty(t,"TraceFormat",{enumerable:!0,get:function(){return l.TraceFormat}}),Object.defineProperty(t,"SetTraceNotification",{enumerable:!0,get:function(){return l.SetTraceNotification}}),Object.defineProperty(t,"LogTraceNotification",{enumerable:!0,get:function(){return l.LogTraceNotification}}),Object.defineProperty(t,"ConnectionErrors",{enumerable:!0,get:function(){return l.ConnectionErrors}}),Object.defineProperty(t,"ConnectionError",{enumerable:!0,get:function(){return l.ConnectionError}}),Object.defineProperty(t,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return l.CancellationReceiverStrategy}}),Object.defineProperty(t,"CancellationSenderStrategy",{enumerable:!0,get:function(){return l.CancellationSenderStrategy}}),Object.defineProperty(t,"CancellationStrategy",{enumerable:!0,get:function(){return l.CancellationStrategy}}),Object.defineProperty(t,"MessageStrategy",{enumerable:!0,get:function(){return l.MessageStrategy}});const d=qs();t.RAL=d.default}(hv)),hv}var e$;function n7(){if(e$)return fh;e$=1,Object.defineProperty(fh,"__esModule",{value:!0});const t=Y9,e=mv();class n extends e.AbstractMessageBuffer{constructor(c="utf-8"){super(c)}emptyBuffer(){return n.emptyBuffer}fromString(c,u){return Buffer.from(c,u)}toString(c,u){return c instanceof Buffer?c.toString(u):new t.TextDecoder(u).decode(c)}asNative(c,u){return u===void 0?c instanceof Buffer?c:Buffer.from(c):c instanceof Buffer?c.slice(0,u):Buffer.from(c,0,u)}allocNative(c){return Buffer.allocUnsafe(c)}}n.emptyBuffer=Buffer.allocUnsafe(0);class r{constructor(c){this.stream=c}onClose(c){return this.stream.on("close",c),e.Disposable.create(()=>this.stream.off("close",c))}onError(c){return this.stream.on("error",c),e.Disposable.create(()=>this.stream.off("error",c))}onEnd(c){return this.stream.on("end",c),e.Disposable.create(()=>this.stream.off("end",c))}onData(c){return this.stream.on("data",c),e.Disposable.create(()=>this.stream.off("data",c))}}class i{constructor(c){this.stream=c}onClose(c){return this.stream.on("close",c),e.Disposable.create(()=>this.stream.off("close",c))}onError(c){return this.stream.on("error",c),e.Disposable.create(()=>this.stream.off("error",c))}onEnd(c){return this.stream.on("end",c),e.Disposable.create(()=>this.stream.off("end",c))}write(c,u){return new Promise((l,d)=>{const f=h=>{h==null?l():d(h)};typeof c=="string"?this.stream.write(c,u,f):this.stream.write(c,f)})}end(){this.stream.end()}}const s=Object.freeze({messageBuffer:Object.freeze({create:a=>new n(a)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(a,c)=>{try{return Promise.resolve(Buffer.from(JSON.stringify(a,void 0,0),c.charset))}catch(u){return Promise.reject(u)}}}),decoder:Object.freeze({name:"application/json",decode:(a,c)=>{try{return a instanceof Buffer?Promise.resolve(JSON.parse(a.toString(c.charset))):Promise.resolve(JSON.parse(new t.TextDecoder(c.charset).decode(a)))}catch(u){return Promise.reject(u)}}})}),stream:Object.freeze({asReadableStream:a=>new r(a),asWritableStream:a=>new i(a)}),console,timer:Object.freeze({setTimeout(a,c,...u){const l=setTimeout(a,c,...u);return{dispose:()=>clearTimeout(l)}},setImmediate(a,...c){const u=setImmediate(a,...c);return{dispose:()=>clearImmediate(u)}},setInterval(a,c,...u){const l=setInterval(a,c,...u);return{dispose:()=>clearInterval(l)}}})});function o(){return s}return function(a){function c(){e.RAL.install(s)}a.install=c}(o||(o={})),fh.default=o,fh}const au=ui(L2),r7=ui(F2),t$=ui(M2),i7=ui(z2);var n$;function Ks(){return n$||(n$=1,function(t){var e=Hs&&Hs.__createBinding||(Object.create?function(C,D,R,F){F===void 0&&(F=R);var W=Object.getOwnPropertyDescriptor(D,R);(!W||("get"in W?!D.__esModule:W.writable||W.configurable))&&(W={enumerable:!0,get:function(){return D[R]}}),Object.defineProperty(C,F,W)}:function(C,D,R,F){F===void 0&&(F=R),C[F]=D[R]}),n=Hs&&Hs.__exportStar||function(C,D){for(var R in C)R!=="default"&&!Object.prototype.hasOwnProperty.call(D,R)&&e(D,C,R)};Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.createServerSocketTransport=t.createClientSocketTransport=t.createServerPipeTransport=t.createClientPipeTransport=t.generateRandomPipeName=t.StreamMessageWriter=t.StreamMessageReader=t.SocketMessageWriter=t.SocketMessageReader=t.PortMessageWriter=t.PortMessageReader=t.IPCMessageWriter=t.IPCMessageReader=void 0;const r=n7();r.default.install();const i=au,s=r7,o=t$,a=i7,c=mv();n(mv(),t);class u extends c.AbstractMessageReader{constructor(D){super(),this.process=D;let R=this.process;R.on("error",F=>this.fireError(F)),R.on("close",()=>this.fireClose())}listen(D){return this.process.on("message",D),c.Disposable.create(()=>this.process.off("message",D))}}t.IPCMessageReader=u;class l extends c.AbstractMessageWriter{constructor(D){super(),this.process=D,this.errorCount=0;const R=this.process;R.on("error",F=>this.fireError(F)),R.on("close",()=>this.fireClose)}write(D){try{return typeof this.process.send=="function"&&this.process.send(D,void 0,void 0,R=>{R?(this.errorCount++,this.handleError(R,D)):this.errorCount=0}),Promise.resolve()}catch(R){return this.handleError(R,D),Promise.reject(R)}}handleError(D,R){this.errorCount++,this.fireError(D,R,this.errorCount)}end(){}}t.IPCMessageWriter=l;class d extends c.AbstractMessageReader{constructor(D){super(),this.onData=new c.Emitter,D.on("close",()=>this.fireClose),D.on("error",R=>this.fireError(R)),D.on("message",R=>{this.onData.fire(R)})}listen(D){return this.onData.event(D)}}t.PortMessageReader=d;class f extends c.AbstractMessageWriter{constructor(D){super(),this.port=D,this.errorCount=0,D.on("close",()=>this.fireClose()),D.on("error",R=>this.fireError(R))}write(D){try{return this.port.postMessage(D),Promise.resolve()}catch(R){return this.handleError(R,D),Promise.reject(R)}}handleError(D,R){this.errorCount++,this.fireError(D,R,this.errorCount)}end(){}}t.PortMessageWriter=f;class h extends c.ReadableStreamMessageReader{constructor(D,R="utf-8"){super((0,r.default)().stream.asReadableStream(D),R)}}t.SocketMessageReader=h;class p extends c.WriteableStreamMessageWriter{constructor(D,R){super((0,r.default)().stream.asWritableStream(D),R),this.socket=D}dispose(){super.dispose(),this.socket.destroy()}}t.SocketMessageWriter=p;class m extends c.ReadableStreamMessageReader{constructor(D,R){super((0,r.default)().stream.asReadableStream(D),R)}}t.StreamMessageReader=m;class g extends c.WriteableStreamMessageWriter{constructor(D,R){super((0,r.default)().stream.asWritableStream(D),R)}}t.StreamMessageWriter=g;const y=process.env.XDG_RUNTIME_DIR,w=new Map([["linux",107],["darwin",103]]);function E(){const C=(0,o.randomBytes)(21).toString("hex");if(process.platform==="win32")return`\\\\.\\pipe\\vscode-jsonrpc-${C}-sock`;let D;y?D=i.join(y,`vscode-ipc-${C}.sock`):D=i.join(s.tmpdir(),`vscode-${C}.sock`);const R=w.get(process.platform);return R!==void 0&&D.length>R&&(0,r.default)().console.warn(`WARNING: IPC handle "${D}" is longer than ${R} characters.`),D}t.generateRandomPipeName=E;function k(C,D="utf-8"){let R;const F=new Promise((W,V)=>{R=W});return new Promise((W,V)=>{let Z=(0,a.createServer)(Le=>{Z.close(),R([new h(Le,D),new p(Le,D)])});Z.on("error",V),Z.listen(C,()=>{Z.removeListener("error",V),W({onConnected:()=>F})})})}t.createClientPipeTransport=k;function A(C,D="utf-8"){const R=(0,a.createConnection)(C);return[new h(R,D),new p(R,D)]}t.createServerPipeTransport=A;function I(C,D="utf-8"){let R;const F=new Promise((W,V)=>{R=W});return new Promise((W,V)=>{const Z=(0,a.createServer)(Le=>{Z.close(),R([new h(Le,D),new p(Le,D)])});Z.on("error",V),Z.listen(C,"127.0.0.1",()=>{Z.removeListener("error",V),W({onConnected:()=>F})})})}t.createClientSocketTransport=I;function x(C,D="utf-8"){const R=(0,a.createConnection)(C,"127.0.0.1");return[new h(R,D),new p(R,D)]}t.createServerSocketTransport=x;function _(C){const D=C;return D.read!==void 0&&D.addListener!==void 0}function P(C){const D=C;return D.write!==void 0&&D.addListener!==void 0}function O(C,D,R,F){R||(R=c.NullLogger);const W=_(C)?new m(C):C,V=P(D)?new g(D):D;return c.ConnectionStrategy.is(F)&&(F={connectionStrategy:F}),(0,c.createMessageConnection)(W,V,R,F)}t.createMessageConnection=O}(Hs)),Hs}var gv,r$;function i$(){return r$||(r$=1,gv=Ks()),gv}var Ys={};function s$(t){throw new Error('Could not dynamically require "'+t+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var hh={exports:{}},o$;function yv(){return o$||(o$=1,function(t,e){(function(n){{var r=n(s$,e);r!==void 0&&(t.exports=r)}})(function(n,r){Object.defineProperty(r,"__esModule",{value:!0}),r.TextDocument=r.EOL=r.WorkspaceFolder=r.InlineCompletionContext=r.SelectedCompletionInfo=r.InlineCompletionTriggerKind=r.InlineCompletionList=r.InlineCompletionItem=r.StringValue=r.InlayHint=r.InlayHintLabelPart=r.InlayHintKind=r.InlineValueContext=r.InlineValueEvaluatableExpression=r.InlineValueVariableLookup=r.InlineValueText=r.SemanticTokens=r.SemanticTokenModifiers=r.SemanticTokenTypes=r.SelectionRange=r.DocumentLink=r.FormattingOptions=r.CodeLens=r.CodeAction=r.CodeActionContext=r.CodeActionTriggerKind=r.CodeActionKind=r.DocumentSymbol=r.WorkspaceSymbol=r.SymbolInformation=r.SymbolTag=r.SymbolKind=r.DocumentHighlight=r.DocumentHighlightKind=r.SignatureInformation=r.ParameterInformation=r.Hover=r.MarkedString=r.CompletionList=r.CompletionItem=r.CompletionItemLabelDetails=r.InsertTextMode=r.InsertReplaceEdit=r.CompletionItemTag=r.InsertTextFormat=r.CompletionItemKind=r.MarkupContent=r.MarkupKind=r.TextDocumentItem=r.OptionalVersionedTextDocumentIdentifier=r.VersionedTextDocumentIdentifier=r.TextDocumentIdentifier=r.WorkspaceChange=r.WorkspaceEdit=r.DeleteFile=r.RenameFile=r.CreateFile=r.TextDocumentEdit=r.AnnotatedTextEdit=r.ChangeAnnotationIdentifier=r.ChangeAnnotation=r.TextEdit=r.Command=r.Diagnostic=r.CodeDescription=r.DiagnosticTag=r.DiagnosticSeverity=r.DiagnosticRelatedInformation=r.FoldingRange=r.FoldingRangeKind=r.ColorPresentation=r.ColorInformation=r.Color=r.LocationLink=r.Location=r.Range=r.Position=r.uinteger=r.integer=r.URI=r.DocumentUri=void 0;var i;(function(T){function N(v){return typeof v=="string"}T.is=N})(i||(r.DocumentUri=i={}));var s;(function(T){function N(v){return typeof v=="string"}T.is=N})(s||(r.URI=s={}));var o;(function(T){T.MIN_VALUE=-2147483648,T.MAX_VALUE=2147483647;function N(v){return typeof v=="number"&&T.MIN_VALUE<=v&&v<=T.MAX_VALUE}T.is=N})(o||(r.integer=o={}));var a;(function(T){T.MIN_VALUE=0,T.MAX_VALUE=2147483647;function N(v){return typeof v=="number"&&T.MIN_VALUE<=v&&v<=T.MAX_VALUE}T.is=N})(a||(r.uinteger=a={}));var c;(function(T){function N($,b){return $===Number.MAX_VALUE&&($=a.MAX_VALUE),b===Number.MAX_VALUE&&(b=a.MAX_VALUE),{line:$,character:b}}T.create=N;function v($){var b=$;return z.objectLiteral(b)&&z.uinteger(b.line)&&z.uinteger(b.character)}T.is=v})(c||(r.Position=c={}));var u;(function(T){function N($,b,L,S){if(z.uinteger($)&&z.uinteger(b)&&z.uinteger(L)&&z.uinteger(S))return{start:c.create($,b),end:c.create(L,S)};if(c.is($)&&c.is(b))return{start:$,end:b};throw new Error("Range#create called with invalid arguments[".concat($,", ").concat(b,", ").concat(L,", ").concat(S,"]"))}T.create=N;function v($){var b=$;return z.objectLiteral(b)&&c.is(b.start)&&c.is(b.end)}T.is=v})(u||(r.Range=u={}));var l;(function(T){function N($,b){return{uri:$,range:b}}T.create=N;function v($){var b=$;return z.objectLiteral(b)&&u.is(b.range)&&(z.string(b.uri)||z.undefined(b.uri))}T.is=v})(l||(r.Location=l={}));var d;(function(T){function N($,b,L,S){return{targetUri:$,targetRange:b,targetSelectionRange:L,originSelectionRange:S}}T.create=N;function v($){var b=$;return z.objectLiteral(b)&&u.is(b.targetRange)&&z.string(b.targetUri)&&u.is(b.targetSelectionRange)&&(u.is(b.originSelectionRange)||z.undefined(b.originSelectionRange))}T.is=v})(d||(r.LocationLink=d={}));var f;(function(T){function N($,b,L,S){return{red:$,green:b,blue:L,alpha:S}}T.create=N;function v($){var b=$;return z.objectLiteral(b)&&z.numberRange(b.red,0,1)&&z.numberRange(b.green,0,1)&&z.numberRange(b.blue,0,1)&&z.numberRange(b.alpha,0,1)}T.is=v})(f||(r.Color=f={}));var h;(function(T){function N($,b){return{range:$,color:b}}T.create=N;function v($){var b=$;return z.objectLiteral(b)&&u.is(b.range)&&f.is(b.color)}T.is=v})(h||(r.ColorInformation=h={}));var p;(function(T){function N($,b,L){return{label:$,textEdit:b,additionalTextEdits:L}}T.create=N;function v($){var b=$;return z.objectLiteral(b)&&z.string(b.label)&&(z.undefined(b.textEdit)||x.is(b))&&(z.undefined(b.additionalTextEdits)||z.typedArray(b.additionalTextEdits,x.is))}T.is=v})(p||(r.ColorPresentation=p={}));var m;(function(T){T.Comment="comment",T.Imports="imports",T.Region="region"})(m||(r.FoldingRangeKind=m={}));var g;(function(T){function N($,b,L,S,q,te){var ie={startLine:$,endLine:b};return z.defined(L)&&(ie.startCharacter=L),z.defined(S)&&(ie.endCharacter=S),z.defined(q)&&(ie.kind=q),z.defined(te)&&(ie.collapsedText=te),ie}T.create=N;function v($){var b=$;return z.objectLiteral(b)&&z.uinteger(b.startLine)&&z.uinteger(b.startLine)&&(z.undefined(b.startCharacter)||z.uinteger(b.startCharacter))&&(z.undefined(b.endCharacter)||z.uinteger(b.endCharacter))&&(z.undefined(b.kind)||z.string(b.kind))}T.is=v})(g||(r.FoldingRange=g={}));var y;(function(T){function N($,b){return{location:$,message:b}}T.create=N;function v($){var b=$;return z.defined(b)&&l.is(b.location)&&z.string(b.message)}T.is=v})(y||(r.DiagnosticRelatedInformation=y={}));var w;(function(T){T.Error=1,T.Warning=2,T.Information=3,T.Hint=4})(w||(r.DiagnosticSeverity=w={}));var E;(function(T){T.Unnecessary=1,T.Deprecated=2})(E||(r.DiagnosticTag=E={}));var k;(function(T){function N(v){var $=v;return z.objectLiteral($)&&z.string($.href)}T.is=N})(k||(r.CodeDescription=k={}));var A;(function(T){function N($,b,L,S,q,te){var ie={range:$,message:b};return z.defined(L)&&(ie.severity=L),z.defined(S)&&(ie.code=S),z.defined(q)&&(ie.source=q),z.defined(te)&&(ie.relatedInformation=te),ie}T.create=N;function v($){var b,L=$;return z.defined(L)&&u.is(L.range)&&z.string(L.message)&&(z.number(L.severity)||z.undefined(L.severity))&&(z.integer(L.code)||z.string(L.code)||z.undefined(L.code))&&(z.undefined(L.codeDescription)||z.string((b=L.codeDescription)===null||b===void 0?void 0:b.href))&&(z.string(L.source)||z.undefined(L.source))&&(z.undefined(L.relatedInformation)||z.typedArray(L.relatedInformation,y.is))}T.is=v})(A||(r.Diagnostic=A={}));var I;(function(T){function N($,b){for(var L=[],S=2;S<arguments.length;S++)L[S-2]=arguments[S];var q={title:$,command:b};return z.defined(L)&&L.length>0&&(q.arguments=L),q}T.create=N;function v($){var b=$;return z.defined(b)&&z.string(b.title)&&z.string(b.command)}T.is=v})(I||(r.Command=I={}));var x;(function(T){function N(L,S){return{range:L,newText:S}}T.replace=N;function v(L,S){return{range:{start:L,end:L},newText:S}}T.insert=v;function $(L){return{range:L,newText:""}}T.del=$;function b(L){var S=L;return z.objectLiteral(S)&&z.string(S.newText)&&u.is(S.range)}T.is=b})(x||(r.TextEdit=x={}));var _;(function(T){function N($,b,L){var S={label:$};return b!==void 0&&(S.needsConfirmation=b),L!==void 0&&(S.description=L),S}T.create=N;function v($){var b=$;return z.objectLiteral(b)&&z.string(b.label)&&(z.boolean(b.needsConfirmation)||b.needsConfirmation===void 0)&&(z.string(b.description)||b.description===void 0)}T.is=v})(_||(r.ChangeAnnotation=_={}));var P;(function(T){function N(v){var $=v;return z.string($)}T.is=N})(P||(r.ChangeAnnotationIdentifier=P={}));var O;(function(T){function N(L,S,q){return{range:L,newText:S,annotationId:q}}T.replace=N;function v(L,S,q){return{range:{start:L,end:L},newText:S,annotationId:q}}T.insert=v;function $(L,S){return{range:L,newText:"",annotationId:S}}T.del=$;function b(L){var S=L;return x.is(S)&&(_.is(S.annotationId)||P.is(S.annotationId))}T.is=b})(O||(r.AnnotatedTextEdit=O={}));var C;(function(T){function N($,b){return{textDocument:$,edits:b}}T.create=N;function v($){var b=$;return z.defined(b)&&Te.is(b.textDocument)&&Array.isArray(b.edits)}T.is=v})(C||(r.TextDocumentEdit=C={}));var D;(function(T){function N($,b,L){var S={kind:"create",uri:$};return b!==void 0&&(b.overwrite!==void 0||b.ignoreIfExists!==void 0)&&(S.options=b),L!==void 0&&(S.annotationId=L),S}T.create=N;function v($){var b=$;return b&&b.kind==="create"&&z.string(b.uri)&&(b.options===void 0||(b.options.overwrite===void 0||z.boolean(b.options.overwrite))&&(b.options.ignoreIfExists===void 0||z.boolean(b.options.ignoreIfExists)))&&(b.annotationId===void 0||P.is(b.annotationId))}T.is=v})(D||(r.CreateFile=D={}));var R;(function(T){function N($,b,L,S){var q={kind:"rename",oldUri:$,newUri:b};return L!==void 0&&(L.overwrite!==void 0||L.ignoreIfExists!==void 0)&&(q.options=L),S!==void 0&&(q.annotationId=S),q}T.create=N;function v($){var b=$;return b&&b.kind==="rename"&&z.string(b.oldUri)&&z.string(b.newUri)&&(b.options===void 0||(b.options.overwrite===void 0||z.boolean(b.options.overwrite))&&(b.options.ignoreIfExists===void 0||z.boolean(b.options.ignoreIfExists)))&&(b.annotationId===void 0||P.is(b.annotationId))}T.is=v})(R||(r.RenameFile=R={}));var F;(function(T){function N($,b,L){var S={kind:"delete",uri:$};return b!==void 0&&(b.recursive!==void 0||b.ignoreIfNotExists!==void 0)&&(S.options=b),L!==void 0&&(S.annotationId=L),S}T.create=N;function v($){var b=$;return b&&b.kind==="delete"&&z.string(b.uri)&&(b.options===void 0||(b.options.recursive===void 0||z.boolean(b.options.recursive))&&(b.options.ignoreIfNotExists===void 0||z.boolean(b.options.ignoreIfNotExists)))&&(b.annotationId===void 0||P.is(b.annotationId))}T.is=v})(F||(r.DeleteFile=F={}));var W;(function(T){function N(v){var $=v;return $&&($.changes!==void 0||$.documentChanges!==void 0)&&($.documentChanges===void 0||$.documentChanges.every(function(b){return z.string(b.kind)?D.is(b)||R.is(b)||F.is(b):C.is(b)}))}T.is=N})(W||(r.WorkspaceEdit=W={}));var V=function(){function T(N,v){this.edits=N,this.changeAnnotations=v}return T.prototype.insert=function(N,v,$){var b,L;if($===void 0?b=x.insert(N,v):P.is($)?(L=$,b=O.insert(N,v,$)):(this.assertChangeAnnotations(this.changeAnnotations),L=this.changeAnnotations.manage($),b=O.insert(N,v,L)),this.edits.push(b),L!==void 0)return L},T.prototype.replace=function(N,v,$){var b,L;if($===void 0?b=x.replace(N,v):P.is($)?(L=$,b=O.replace(N,v,$)):(this.assertChangeAnnotations(this.changeAnnotations),L=this.changeAnnotations.manage($),b=O.replace(N,v,L)),this.edits.push(b),L!==void 0)return L},T.prototype.delete=function(N,v){var $,b;if(v===void 0?$=x.del(N):P.is(v)?(b=v,$=O.del(N,v)):(this.assertChangeAnnotations(this.changeAnnotations),b=this.changeAnnotations.manage(v),$=O.del(N,b)),this.edits.push($),b!==void 0)return b},T.prototype.add=function(N){this.edits.push(N)},T.prototype.all=function(){return this.edits},T.prototype.clear=function(){this.edits.splice(0,this.edits.length)},T.prototype.assertChangeAnnotations=function(N){if(N===void 0)throw new Error("Text edit change is not configured to manage change annotations.")},T}(),Z=function(){function T(N){this._annotations=N===void 0?Object.create(null):N,this._counter=0,this._size=0}return T.prototype.all=function(){return this._annotations},Object.defineProperty(T.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),T.prototype.manage=function(N,v){var $;if(P.is(N)?$=N:($=this.nextId(),v=N),this._annotations[$]!==void 0)throw new Error("Id ".concat($," is already in use."));if(v===void 0)throw new Error("No annotation provided for id ".concat($));return this._annotations[$]=v,this._size++,$},T.prototype.nextId=function(){return this._counter++,this._counter.toString()},T}(),Le=function(){function T(N){var v=this;this._textEditChanges=Object.create(null),N!==void 0?(this._workspaceEdit=N,N.documentChanges?(this._changeAnnotations=new Z(N.changeAnnotations),N.changeAnnotations=this._changeAnnotations.all(),N.documentChanges.forEach(function($){if(C.is($)){var b=new V($.edits,v._changeAnnotations);v._textEditChanges[$.textDocument.uri]=b}})):N.changes&&Object.keys(N.changes).forEach(function($){var b=new V(N.changes[$]);v._textEditChanges[$]=b})):this._workspaceEdit={}}return Object.defineProperty(T.prototype,"edit",{get:function(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit},enumerable:!1,configurable:!0}),T.prototype.getTextEditChange=function(N){if(Te.is(N)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var v={uri:N.uri,version:N.version},$=this._textEditChanges[v.uri];if(!$){var b=[],L={textDocument:v,edits:b};this._workspaceEdit.documentChanges.push(L),$=new V(b,this._changeAnnotations),this._textEditChanges[v.uri]=$}return $}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");var $=this._textEditChanges[N];if(!$){var b=[];this._workspaceEdit.changes[N]=b,$=new V(b),this._textEditChanges[N]=$}return $}},T.prototype.initDocumentChanges=function(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new Z,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())},T.prototype.initChanges=function(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))},T.prototype.createFile=function(N,v,$){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var b;_.is(v)||P.is(v)?b=v:$=v;var L,S;if(b===void 0?L=D.create(N,$):(S=P.is(b)?b:this._changeAnnotations.manage(b),L=D.create(N,$,S)),this._workspaceEdit.documentChanges.push(L),S!==void 0)return S},T.prototype.renameFile=function(N,v,$,b){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var L;_.is($)||P.is($)?L=$:b=$;var S,q;if(L===void 0?S=R.create(N,v,b):(q=P.is(L)?L:this._changeAnnotations.manage(L),S=R.create(N,v,b,q)),this._workspaceEdit.documentChanges.push(S),q!==void 0)return q},T.prototype.deleteFile=function(N,v,$){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var b;_.is(v)||P.is(v)?b=v:$=v;var L,S;if(b===void 0?L=F.create(N,$):(S=P.is(b)?b:this._changeAnnotations.manage(b),L=F.create(N,$,S)),this._workspaceEdit.documentChanges.push(L),S!==void 0)return S},T}();r.WorkspaceChange=Le;var se;(function(T){function N($){return{uri:$}}T.create=N;function v($){var b=$;return z.defined(b)&&z.string(b.uri)}T.is=v})(se||(r.TextDocumentIdentifier=se={}));var K;(function(T){function N($,b){return{uri:$,version:b}}T.create=N;function v($){var b=$;return z.defined(b)&&z.string(b.uri)&&z.integer(b.version)}T.is=v})(K||(r.VersionedTextDocumentIdentifier=K={}));var Te;(function(T){function N($,b){return{uri:$,version:b}}T.create=N;function v($){var b=$;return z.defined(b)&&z.string(b.uri)&&(b.version===null||z.integer(b.version))}T.is=v})(Te||(r.OptionalVersionedTextDocumentIdentifier=Te={}));var ut;(function(T){function N($,b,L,S){return{uri:$,languageId:b,version:L,text:S}}T.create=N;function v($){var b=$;return z.defined(b)&&z.string(b.uri)&&z.string(b.languageId)&&z.integer(b.version)&&z.string(b.text)}T.is=v})(ut||(r.TextDocumentItem=ut={}));var H;(function(T){T.PlainText="plaintext",T.Markdown="markdown";function N(v){var $=v;return $===T.PlainText||$===T.Markdown}T.is=N})(H||(r.MarkupKind=H={}));var Y;(function(T){function N(v){var $=v;return z.objectLiteral(v)&&H.is($.kind)&&z.string($.value)}T.is=N})(Y||(r.MarkupContent=Y={}));var ee;(function(T){T.Text=1,T.Method=2,T.Function=3,T.Constructor=4,T.Field=5,T.Variable=6,T.Class=7,T.Interface=8,T.Module=9,T.Property=10,T.Unit=11,T.Value=12,T.Enum=13,T.Keyword=14,T.Snippet=15,T.Color=16,T.File=17,T.Reference=18,T.Folder=19,T.EnumMember=20,T.Constant=21,T.Struct=22,T.Event=23,T.Operator=24,T.TypeParameter=25})(ee||(r.CompletionItemKind=ee={}));var ne;(function(T){T.PlainText=1,T.Snippet=2})(ne||(r.InsertTextFormat=ne={}));var fe;(function(T){T.Deprecated=1})(fe||(r.CompletionItemTag=fe={}));var Ee;(function(T){function N($,b,L){return{newText:$,insert:b,replace:L}}T.create=N;function v($){var b=$;return b&&z.string(b.newText)&&u.is(b.insert)&&u.is(b.replace)}T.is=v})(Ee||(r.InsertReplaceEdit=Ee={}));var ge;(function(T){T.asIs=1,T.adjustIndentation=2})(ge||(r.InsertTextMode=ge={}));var ce;(function(T){function N(v){var $=v;return $&&(z.string($.detail)||$.detail===void 0)&&(z.string($.description)||$.description===void 0)}T.is=N})(ce||(r.CompletionItemLabelDetails=ce={}));var M;(function(T){function N(v){return{label:v}}T.create=N})(M||(r.CompletionItem=M={}));var U;(function(T){function N(v,$){return{items:v||[],isIncomplete:!!$}}T.create=N})(U||(r.CompletionList=U={}));var oe;(function(T){function N($){return $.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}T.fromPlainText=N;function v($){var b=$;return z.string(b)||z.objectLiteral(b)&&z.string(b.language)&&z.string(b.value)}T.is=v})(oe||(r.MarkedString=oe={}));var G;(function(T){function N(v){var $=v;return!!$&&z.objectLiteral($)&&(Y.is($.contents)||oe.is($.contents)||z.typedArray($.contents,oe.is))&&(v.range===void 0||u.is(v.range))}T.is=N})(G||(r.Hover=G={}));var Fe;(function(T){function N(v,$){return $?{label:v,documentation:$}:{label:v}}T.create=N})(Fe||(r.ParameterInformation=Fe={}));var yt;(function(T){function N(v,$){for(var b=[],L=2;L<arguments.length;L++)b[L-2]=arguments[L];var S={label:v};return z.defined($)&&(S.documentation=$),z.defined(b)?S.parameters=b:S.parameters=[],S}T.create=N})(yt||(r.SignatureInformation=yt={}));var mn;(function(T){T.Text=1,T.Read=2,T.Write=3})(mn||(r.DocumentHighlightKind=mn={}));var nr;(function(T){function N(v,$){var b={range:v};return z.number($)&&(b.kind=$),b}T.create=N})(nr||(r.DocumentHighlight=nr={}));var rr;(function(T){T.File=1,T.Module=2,T.Namespace=3,T.Package=4,T.Class=5,T.Method=6,T.Property=7,T.Field=8,T.Constructor=9,T.Enum=10,T.Interface=11,T.Function=12,T.Variable=13,T.Constant=14,T.String=15,T.Number=16,T.Boolean=17,T.Array=18,T.Object=19,T.Key=20,T.Null=21,T.EnumMember=22,T.Struct=23,T.Event=24,T.Operator=25,T.TypeParameter=26})(rr||(r.SymbolKind=rr={}));var ir;(function(T){T.Deprecated=1})(ir||(r.SymbolTag=ir={}));var qt;(function(T){function N(v,$,b,L,S){var q={name:v,kind:$,location:{uri:L,range:b}};return S&&(q.containerName=S),q}T.create=N})(qt||(r.SymbolInformation=qt={}));var _n;(function(T){function N(v,$,b,L){return L!==void 0?{name:v,kind:$,location:{uri:b,range:L}}:{name:v,kind:$,location:{uri:b}}}T.create=N})(_n||(r.WorkspaceSymbol=_n={}));var Yr;(function(T){function N($,b,L,S,q,te){var ie={name:$,detail:b,kind:L,range:S,selectionRange:q};return te!==void 0&&(ie.children=te),ie}T.create=N;function v($){var b=$;return b&&z.string(b.name)&&z.number(b.kind)&&u.is(b.range)&&u.is(b.selectionRange)&&(b.detail===void 0||z.string(b.detail))&&(b.deprecated===void 0||z.boolean(b.deprecated))&&(b.children===void 0||Array.isArray(b.children))&&(b.tags===void 0||Array.isArray(b.tags))}T.is=v})(Yr||(r.DocumentSymbol=Yr={}));var zn;(function(T){T.Empty="",T.QuickFix="quickfix",T.Refactor="refactor",T.RefactorExtract="refactor.extract",T.RefactorInline="refactor.inline",T.RefactorRewrite="refactor.rewrite",T.Source="source",T.SourceOrganizeImports="source.organizeImports",T.SourceFixAll="source.fixAll"})(zn||(r.CodeActionKind=zn={}));var gn;(function(T){T.Invoked=1,T.Automatic=2})(gn||(r.CodeActionTriggerKind=gn={}));var Bn;(function(T){function N($,b,L){var S={diagnostics:$};return b!=null&&(S.only=b),L!=null&&(S.triggerKind=L),S}T.create=N;function v($){var b=$;return z.defined(b)&&z.typedArray(b.diagnostics,A.is)&&(b.only===void 0||z.typedArray(b.only,z.string))&&(b.triggerKind===void 0||b.triggerKind===gn.Invoked||b.triggerKind===gn.Automatic)}T.is=v})(Bn||(r.CodeActionContext=Bn={}));var tn;(function(T){function N($,b,L){var S={title:$},q=!0;return typeof b=="string"?(q=!1,S.kind=b):I.is(b)?S.command=b:S.edit=b,q&&L!==void 0&&(S.kind=L),S}T.create=N;function v($){var b=$;return b&&z.string(b.title)&&(b.diagnostics===void 0||z.typedArray(b.diagnostics,A.is))&&(b.kind===void 0||z.string(b.kind))&&(b.edit!==void 0||b.command!==void 0)&&(b.command===void 0||I.is(b.command))&&(b.isPreferred===void 0||z.boolean(b.isPreferred))&&(b.edit===void 0||W.is(b.edit))}T.is=v})(tn||(r.CodeAction=tn={}));var X;(function(T){function N($,b){var L={range:$};return z.defined(b)&&(L.data=b),L}T.create=N;function v($){var b=$;return z.defined(b)&&u.is(b.range)&&(z.undefined(b.command)||I.is(b.command))}T.is=v})(X||(r.CodeLens=X={}));var J;(function(T){function N($,b){return{tabSize:$,insertSpaces:b}}T.create=N;function v($){var b=$;return z.defined(b)&&z.uinteger(b.tabSize)&&z.boolean(b.insertSpaces)}T.is=v})(J||(r.FormattingOptions=J={}));var le;(function(T){function N($,b,L){return{range:$,target:b,data:L}}T.create=N;function v($){var b=$;return z.defined(b)&&u.is(b.range)&&(z.undefined(b.target)||z.string(b.target))}T.is=v})(le||(r.DocumentLink=le={}));var jt;(function(T){function N($,b){return{range:$,parent:b}}T.create=N;function v($){var b=$;return z.objectLiteral(b)&&u.is(b.range)&&(b.parent===void 0||T.is(b.parent))}T.is=v})(jt||(r.SelectionRange=jt={}));var Ft;(function(T){T.namespace="namespace",T.type="type",T.class="class",T.enum="enum",T.interface="interface",T.struct="struct",T.typeParameter="typeParameter",T.parameter="parameter",T.variable="variable",T.property="property",T.enumMember="enumMember",T.event="event",T.function="function",T.method="method",T.macro="macro",T.keyword="keyword",T.modifier="modifier",T.comment="comment",T.string="string",T.number="number",T.regexp="regexp",T.operator="operator",T.decorator="decorator"})(Ft||(r.SemanticTokenTypes=Ft={}));var Rr;(function(T){T.declaration="declaration",T.definition="definition",T.readonly="readonly",T.static="static",T.deprecated="deprecated",T.abstract="abstract",T.async="async",T.modification="modification",T.documentation="documentation",T.defaultLibrary="defaultLibrary"})(Rr||(r.SemanticTokenModifiers=Rr={}));var Ai;(function(T){function N(v){var $=v;return z.objectLiteral($)&&($.resultId===void 0||typeof $.resultId=="string")&&Array.isArray($.data)&&($.data.length===0||typeof $.data[0]=="number")}T.is=N})(Ai||(r.SemanticTokens=Ai={}));var fs;(function(T){function N($,b){return{range:$,text:b}}T.create=N;function v($){var b=$;return b!=null&&u.is(b.range)&&z.string(b.text)}T.is=v})(fs||(r.InlineValueText=fs={}));var hs;(function(T){function N($,b,L){return{range:$,variableName:b,caseSensitiveLookup:L}}T.create=N;function v($){var b=$;return b!=null&&u.is(b.range)&&z.boolean(b.caseSensitiveLookup)&&(z.string(b.variableName)||b.variableName===void 0)}T.is=v})(hs||(r.InlineValueVariableLookup=hs={}));var ps;(function(T){function N($,b){return{range:$,expression:b}}T.create=N;function v($){var b=$;return b!=null&&u.is(b.range)&&(z.string(b.expression)||b.expression===void 0)}T.is=v})(ps||(r.InlineValueEvaluatableExpression=ps={}));var ms;(function(T){function N($,b){return{frameId:$,stoppedLocation:b}}T.create=N;function v($){var b=$;return z.defined(b)&&u.is($.stoppedLocation)}T.is=v})(ms||(r.InlineValueContext=ms={}));var xi;(function(T){T.Type=1,T.Parameter=2;function N(v){return v===1||v===2}T.is=N})(xi||(r.InlayHintKind=xi={}));var Ii;(function(T){function N($){return{value:$}}T.create=N;function v($){var b=$;return z.objectLiteral(b)&&(b.tooltip===void 0||z.string(b.tooltip)||Y.is(b.tooltip))&&(b.location===void 0||l.is(b.location))&&(b.command===void 0||I.is(b.command))}T.is=v})(Ii||(r.InlayHintLabelPart=Ii={}));var yn;(function(T){function N($,b,L){var S={position:$,label:b};return L!==void 0&&(S.kind=L),S}T.create=N;function v($){var b=$;return z.objectLiteral(b)&&c.is(b.position)&&(z.string(b.label)||z.typedArray(b.label,Ii.is))&&(b.kind===void 0||xi.is(b.kind))&&b.textEdits===void 0||z.typedArray(b.textEdits,x.is)&&(b.tooltip===void 0||z.string(b.tooltip)||Y.is(b.tooltip))&&(b.paddingLeft===void 0||z.boolean(b.paddingLeft))&&(b.paddingRight===void 0||z.boolean(b.paddingRight))}T.is=v})(yn||(r.InlayHint=yn={}));var gs;(function(T){function N(v){return{kind:"snippet",value:v}}T.createSnippet=N})(gs||(r.StringValue=gs={}));var ys;(function(T){function N(v,$,b,L){return{insertText:v,filterText:$,range:b,command:L}}T.create=N})(ys||(r.InlineCompletionItem=ys={}));var Sr;(function(T){function N(v){return{items:v}}T.create=N})(Sr||(r.InlineCompletionList=Sr={}));var vs;(function(T){T.Invoked=0,T.Automatic=1})(vs||(r.InlineCompletionTriggerKind=vs={}));var Xr;(function(T){function N(v,$){return{range:v,text:$}}T.create=N})(Xr||(r.SelectedCompletionInfo=Xr={}));var ws;(function(T){function N(v,$){return{triggerKind:v,selectedCompletionInfo:$}}T.create=N})(ws||(r.InlineCompletionContext=ws={}));var qn;(function(T){function N(v){var $=v;return z.objectLiteral($)&&s.is($.uri)&&z.string($.name)}T.is=N})(qn||(r.WorkspaceFolder=qn={})),r.EOL=[`
156
- `,`\r
157
- `,"\r"];var sr;(function(T){function N(L,S,q,te){return new Eo(L,S,q,te)}T.create=N;function v(L){var S=L;return!!(z.defined(S)&&z.string(S.uri)&&(z.undefined(S.languageId)||z.string(S.languageId))&&z.uinteger(S.lineCount)&&z.func(S.getText)&&z.func(S.positionAt)&&z.func(S.offsetAt))}T.is=v;function $(L,S){for(var q=L.getText(),te=b(S,function($e,Ze){var Ge=$e.range.start.line-Ze.range.start.line;return Ge===0?$e.range.start.character-Ze.range.start.character:Ge}),ie=q.length,xe=te.length-1;xe>=0;xe--){var _e=te[xe],Ue=L.offsetAt(_e.range.start),he=L.offsetAt(_e.range.end);if(he<=ie)q=q.substring(0,Ue)+_e.newText+q.substring(he,q.length);else throw new Error("Overlapping edit");ie=Ue}return q}T.applyEdits=$;function b(L,S){if(L.length<=1)return L;var q=L.length/2|0,te=L.slice(0,q),ie=L.slice(q);b(te,S),b(ie,S);for(var xe=0,_e=0,Ue=0;xe<te.length&&_e<ie.length;){var he=S(te[xe],ie[_e]);he<=0?L[Ue++]=te[xe++]:L[Ue++]=ie[_e++]}for(;xe<te.length;)L[Ue++]=te[xe++];for(;_e<ie.length;)L[Ue++]=ie[_e++];return L}})(sr||(r.TextDocument=sr={}));var Eo=function(){function T(N,v,$,b){this._uri=N,this._languageId=v,this._version=$,this._content=b,this._lineOffsets=void 0}return Object.defineProperty(T.prototype,"uri",{get:function(){return this._uri},enumerable:!1,configurable:!0}),Object.defineProperty(T.prototype,"languageId",{get:function(){return this._languageId},enumerable:!1,configurable:!0}),Object.defineProperty(T.prototype,"version",{get:function(){return this._version},enumerable:!1,configurable:!0}),T.prototype.getText=function(N){if(N){var v=this.offsetAt(N.start),$=this.offsetAt(N.end);return this._content.substring(v,$)}return this._content},T.prototype.update=function(N,v){this._content=N.text,this._version=v,this._lineOffsets=void 0},T.prototype.getLineOffsets=function(){if(this._lineOffsets===void 0){for(var N=[],v=this._content,$=!0,b=0;b<v.length;b++){$&&(N.push(b),$=!1);var L=v.charAt(b);$=L==="\r"||L===`
158
- `,L==="\r"&&b+1<v.length&&v.charAt(b+1)===`
159
- `&&b++}$&&v.length>0&&N.push(v.length),this._lineOffsets=N}return this._lineOffsets},T.prototype.positionAt=function(N){N=Math.max(Math.min(N,this._content.length),0);var v=this.getLineOffsets(),$=0,b=v.length;if(b===0)return c.create(0,N);for(;$<b;){var L=Math.floor(($+b)/2);v[L]>N?b=L:$=L+1}var S=$-1;return c.create(S,N-v[S])},T.prototype.offsetAt=function(N){var v=this.getLineOffsets();if(N.line>=v.length)return this._content.length;if(N.line<0)return 0;var $=v[N.line],b=N.line+1<v.length?v[N.line+1]:this._content.length;return Math.max(Math.min($+N.character,b),$)},Object.defineProperty(T.prototype,"lineCount",{get:function(){return this.getLineOffsets().length},enumerable:!1,configurable:!0}),T}(),z;(function(T){var N=Object.prototype.toString;function v(he){return typeof he<"u"}T.defined=v;function $(he){return typeof he>"u"}T.undefined=$;function b(he){return he===!0||he===!1}T.boolean=b;function L(he){return N.call(he)==="[object String]"}T.string=L;function S(he){return N.call(he)==="[object Number]"}T.number=S;function q(he,$e,Ze){return N.call(he)==="[object Number]"&&$e<=he&&he<=Ze}T.numberRange=q;function te(he){return N.call(he)==="[object Number]"&&-2147483648<=he&&he<=2147483647}T.integer=te;function ie(he){return N.call(he)==="[object Number]"&&0<=he&&he<=2147483647}T.uinteger=ie;function xe(he){return N.call(he)==="[object Function]"}T.func=xe;function _e(he){return he!==null&&typeof he=="object"}T.objectLiteral=_e;function Ue(he,$e){return Array.isArray(he)&&he.every($e)}T.typedArray=Ue})(z||(z={}))})}(hh,hh.exports)),hh.exports}var ln={},a$;function mt(){if(a$)return ln;a$=1,Object.defineProperty(ln,"__esModule",{value:!0}),ln.ProtocolNotificationType=ln.ProtocolNotificationType0=ln.ProtocolRequestType=ln.ProtocolRequestType0=ln.RegistrationType=ln.MessageDirection=void 0;const t=Ks();var e;(function(a){a.clientToServer="clientToServer",a.serverToClient="serverToClient",a.both="both"})(e||(ln.MessageDirection=e={}));class n{constructor(c){this.method=c}}ln.RegistrationType=n;class r extends t.RequestType0{constructor(c){super(c)}}ln.ProtocolRequestType0=r;class i extends t.RequestType{constructor(c){super(c,t.ParameterStructures.byName)}}ln.ProtocolRequestType=i;class s extends t.NotificationType0{constructor(c){super(c)}}ln.ProtocolNotificationType0=s;class o extends t.NotificationType{constructor(c){super(c,t.ParameterStructures.byName)}}return ln.ProtocolNotificationType=o,ln}var vv={},Rt={},c$;function wv(){if(c$)return Rt;c$=1,Object.defineProperty(Rt,"__esModule",{value:!0}),Rt.objectLiteral=Rt.typedArray=Rt.stringArray=Rt.array=Rt.func=Rt.error=Rt.number=Rt.string=Rt.boolean=void 0;function t(u){return u===!0||u===!1}Rt.boolean=t;function e(u){return typeof u=="string"||u instanceof String}Rt.string=e;function n(u){return typeof u=="number"||u instanceof Number}Rt.number=n;function r(u){return u instanceof Error}Rt.error=r;function i(u){return typeof u=="function"}Rt.func=i;function s(u){return Array.isArray(u)}Rt.array=s;function o(u){return s(u)&&u.every(l=>e(l))}Rt.stringArray=o;function a(u,l){return Array.isArray(u)&&u.every(l)}Rt.typedArray=a;function c(u){return u!==null&&typeof u=="object"}return Rt.objectLiteral=c,Rt}var cu={},u$;function s7(){if(u$)return cu;u$=1,Object.defineProperty(cu,"__esModule",{value:!0}),cu.ImplementationRequest=void 0;const t=mt();var e;return function(n){n.method="textDocument/implementation",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)}(e||(cu.ImplementationRequest=e={})),cu}var uu={},l$;function o7(){if(l$)return uu;l$=1,Object.defineProperty(uu,"__esModule",{value:!0}),uu.TypeDefinitionRequest=void 0;const t=mt();var e;return function(n){n.method="textDocument/typeDefinition",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)}(e||(uu.TypeDefinitionRequest=e={})),uu}var Xs={},d$;function a7(){if(d$)return Xs;d$=1,Object.defineProperty(Xs,"__esModule",{value:!0}),Xs.DidChangeWorkspaceFoldersNotification=Xs.WorkspaceFoldersRequest=void 0;const t=mt();var e;(function(r){r.method="workspace/workspaceFolders",r.messageDirection=t.MessageDirection.serverToClient,r.type=new t.ProtocolRequestType0(r.method)})(e||(Xs.WorkspaceFoldersRequest=e={}));var n;return function(r){r.method="workspace/didChangeWorkspaceFolders",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolNotificationType(r.method)}(n||(Xs.DidChangeWorkspaceFoldersNotification=n={})),Xs}var lu={},f$;function c7(){if(f$)return lu;f$=1,Object.defineProperty(lu,"__esModule",{value:!0}),lu.ConfigurationRequest=void 0;const t=mt();var e;return function(n){n.method="workspace/configuration",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType(n.method)}(e||(lu.ConfigurationRequest=e={})),lu}var Js={},h$;function u7(){if(h$)return Js;h$=1,Object.defineProperty(Js,"__esModule",{value:!0}),Js.ColorPresentationRequest=Js.DocumentColorRequest=void 0;const t=mt();var e;(function(r){r.method="textDocument/documentColor",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(Js.DocumentColorRequest=e={}));var n;return function(r){r.method="textDocument/colorPresentation",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)}(n||(Js.ColorPresentationRequest=n={})),Js}var Zs={},p$;function l7(){if(p$)return Zs;p$=1,Object.defineProperty(Zs,"__esModule",{value:!0}),Zs.FoldingRangeRefreshRequest=Zs.FoldingRangeRequest=void 0;const t=mt();var e;(function(r){r.method="textDocument/foldingRange",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(Zs.FoldingRangeRequest=e={}));var n;return function(r){r.method="workspace/foldingRange/refresh",r.messageDirection=t.MessageDirection.serverToClient,r.type=new t.ProtocolRequestType0(r.method)}(n||(Zs.FoldingRangeRefreshRequest=n={})),Zs}var du={},m$;function d7(){if(m$)return du;m$=1,Object.defineProperty(du,"__esModule",{value:!0}),du.DeclarationRequest=void 0;const t=mt();var e;return function(n){n.method="textDocument/declaration",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)}(e||(du.DeclarationRequest=e={})),du}var fu={},g$;function f7(){if(g$)return fu;g$=1,Object.defineProperty(fu,"__esModule",{value:!0}),fu.SelectionRangeRequest=void 0;const t=mt();var e;return function(n){n.method="textDocument/selectionRange",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)}(e||(fu.SelectionRangeRequest=e={})),fu}var Ti={},y$;function h7(){if(y$)return Ti;y$=1,Object.defineProperty(Ti,"__esModule",{value:!0}),Ti.WorkDoneProgressCancelNotification=Ti.WorkDoneProgressCreateRequest=Ti.WorkDoneProgress=void 0;const t=Ks(),e=mt();var n;(function(s){s.type=new t.ProgressType;function o(a){return a===s.type}s.is=o})(n||(Ti.WorkDoneProgress=n={}));var r;(function(s){s.method="window/workDoneProgress/create",s.messageDirection=e.MessageDirection.serverToClient,s.type=new e.ProtocolRequestType(s.method)})(r||(Ti.WorkDoneProgressCreateRequest=r={}));var i;return function(s){s.method="window/workDoneProgress/cancel",s.messageDirection=e.MessageDirection.clientToServer,s.type=new e.ProtocolNotificationType(s.method)}(i||(Ti.WorkDoneProgressCancelNotification=i={})),Ti}var Ri={},v$;function p7(){if(v$)return Ri;v$=1,Object.defineProperty(Ri,"__esModule",{value:!0}),Ri.CallHierarchyOutgoingCallsRequest=Ri.CallHierarchyIncomingCallsRequest=Ri.CallHierarchyPrepareRequest=void 0;const t=mt();var e;(function(i){i.method="textDocument/prepareCallHierarchy",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(e||(Ri.CallHierarchyPrepareRequest=e={}));var n;(function(i){i.method="callHierarchy/incomingCalls",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(n||(Ri.CallHierarchyIncomingCallsRequest=n={}));var r;return function(i){i.method="callHierarchy/outgoingCalls",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)}(r||(Ri.CallHierarchyOutgoingCallsRequest=r={})),Ri}var dn={},w$;function m7(){if(w$)return dn;w$=1,Object.defineProperty(dn,"__esModule",{value:!0}),dn.SemanticTokensRefreshRequest=dn.SemanticTokensRangeRequest=dn.SemanticTokensDeltaRequest=dn.SemanticTokensRequest=dn.SemanticTokensRegistrationType=dn.TokenFormat=void 0;const t=mt();var e;(function(a){a.Relative="relative"})(e||(dn.TokenFormat=e={}));var n;(function(a){a.method="textDocument/semanticTokens",a.type=new t.RegistrationType(a.method)})(n||(dn.SemanticTokensRegistrationType=n={}));var r;(function(a){a.method="textDocument/semanticTokens/full",a.messageDirection=t.MessageDirection.clientToServer,a.type=new t.ProtocolRequestType(a.method),a.registrationMethod=n.method})(r||(dn.SemanticTokensRequest=r={}));var i;(function(a){a.method="textDocument/semanticTokens/full/delta",a.messageDirection=t.MessageDirection.clientToServer,a.type=new t.ProtocolRequestType(a.method),a.registrationMethod=n.method})(i||(dn.SemanticTokensDeltaRequest=i={}));var s;(function(a){a.method="textDocument/semanticTokens/range",a.messageDirection=t.MessageDirection.clientToServer,a.type=new t.ProtocolRequestType(a.method),a.registrationMethod=n.method})(s||(dn.SemanticTokensRangeRequest=s={}));var o;return function(a){a.method="workspace/semanticTokens/refresh",a.messageDirection=t.MessageDirection.serverToClient,a.type=new t.ProtocolRequestType0(a.method)}(o||(dn.SemanticTokensRefreshRequest=o={})),dn}var hu={},b$;function g7(){if(b$)return hu;b$=1,Object.defineProperty(hu,"__esModule",{value:!0}),hu.ShowDocumentRequest=void 0;const t=mt();var e;return function(n){n.method="window/showDocument",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType(n.method)}(e||(hu.ShowDocumentRequest=e={})),hu}var pu={},E$;function y7(){if(E$)return pu;E$=1,Object.defineProperty(pu,"__esModule",{value:!0}),pu.LinkedEditingRangeRequest=void 0;const t=mt();var e;return function(n){n.method="textDocument/linkedEditingRange",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)}(e||(pu.LinkedEditingRangeRequest=e={})),pu}var Kt={},D$;function v7(){if(D$)return Kt;D$=1,Object.defineProperty(Kt,"__esModule",{value:!0}),Kt.WillDeleteFilesRequest=Kt.DidDeleteFilesNotification=Kt.DidRenameFilesNotification=Kt.WillRenameFilesRequest=Kt.DidCreateFilesNotification=Kt.WillCreateFilesRequest=Kt.FileOperationPatternKind=void 0;const t=mt();var e;(function(c){c.file="file",c.folder="folder"})(e||(Kt.FileOperationPatternKind=e={}));var n;(function(c){c.method="workspace/willCreateFiles",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolRequestType(c.method)})(n||(Kt.WillCreateFilesRequest=n={}));var r;(function(c){c.method="workspace/didCreateFiles",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolNotificationType(c.method)})(r||(Kt.DidCreateFilesNotification=r={}));var i;(function(c){c.method="workspace/willRenameFiles",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolRequestType(c.method)})(i||(Kt.WillRenameFilesRequest=i={}));var s;(function(c){c.method="workspace/didRenameFiles",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolNotificationType(c.method)})(s||(Kt.DidRenameFilesNotification=s={}));var o;(function(c){c.method="workspace/didDeleteFiles",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolNotificationType(c.method)})(o||(Kt.DidDeleteFilesNotification=o={}));var a;return function(c){c.method="workspace/willDeleteFiles",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolRequestType(c.method)}(a||(Kt.WillDeleteFilesRequest=a={})),Kt}var Si={},T$;function w7(){if(T$)return Si;T$=1,Object.defineProperty(Si,"__esModule",{value:!0}),Si.MonikerRequest=Si.MonikerKind=Si.UniquenessLevel=void 0;const t=mt();var e;(function(i){i.document="document",i.project="project",i.group="group",i.scheme="scheme",i.global="global"})(e||(Si.UniquenessLevel=e={}));var n;(function(i){i.$import="import",i.$export="export",i.local="local"})(n||(Si.MonikerKind=n={}));var r;return function(i){i.method="textDocument/moniker",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)}(r||(Si.MonikerRequest=r={})),Si}var ki={},R$;function b7(){if(R$)return ki;R$=1,Object.defineProperty(ki,"__esModule",{value:!0}),ki.TypeHierarchySubtypesRequest=ki.TypeHierarchySupertypesRequest=ki.TypeHierarchyPrepareRequest=void 0;const t=mt();var e;(function(i){i.method="textDocument/prepareTypeHierarchy",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(e||(ki.TypeHierarchyPrepareRequest=e={}));var n;(function(i){i.method="typeHierarchy/supertypes",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(n||(ki.TypeHierarchySupertypesRequest=n={}));var r;return function(i){i.method="typeHierarchy/subtypes",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)}(r||(ki.TypeHierarchySubtypesRequest=r={})),ki}var Qs={},S$;function E7(){if(S$)return Qs;S$=1,Object.defineProperty(Qs,"__esModule",{value:!0}),Qs.InlineValueRefreshRequest=Qs.InlineValueRequest=void 0;const t=mt();var e;(function(r){r.method="textDocument/inlineValue",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(Qs.InlineValueRequest=e={}));var n;return function(r){r.method="workspace/inlineValue/refresh",r.messageDirection=t.MessageDirection.serverToClient,r.type=new t.ProtocolRequestType0(r.method)}(n||(Qs.InlineValueRefreshRequest=n={})),Qs}var $i={},k$;function D7(){if(k$)return $i;k$=1,Object.defineProperty($i,"__esModule",{value:!0}),$i.InlayHintRefreshRequest=$i.InlayHintResolveRequest=$i.InlayHintRequest=void 0;const t=mt();var e;(function(i){i.method="textDocument/inlayHint",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(e||($i.InlayHintRequest=e={}));var n;(function(i){i.method="inlayHint/resolve",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(n||($i.InlayHintResolveRequest=n={}));var r;return function(i){i.method="workspace/inlayHint/refresh",i.messageDirection=t.MessageDirection.serverToClient,i.type=new t.ProtocolRequestType0(i.method)}(r||($i.InlayHintRefreshRequest=r={})),$i}var Ln={},$$;function T7(){if($$)return Ln;$$=1,Object.defineProperty(Ln,"__esModule",{value:!0}),Ln.DiagnosticRefreshRequest=Ln.WorkspaceDiagnosticRequest=Ln.DocumentDiagnosticRequest=Ln.DocumentDiagnosticReportKind=Ln.DiagnosticServerCancellationData=void 0;const t=Ks(),e=wv(),n=mt();var r;(function(c){function u(l){const d=l;return d&&e.boolean(d.retriggerRequest)}c.is=u})(r||(Ln.DiagnosticServerCancellationData=r={}));var i;(function(c){c.Full="full",c.Unchanged="unchanged"})(i||(Ln.DocumentDiagnosticReportKind=i={}));var s;(function(c){c.method="textDocument/diagnostic",c.messageDirection=n.MessageDirection.clientToServer,c.type=new n.ProtocolRequestType(c.method),c.partialResult=new t.ProgressType})(s||(Ln.DocumentDiagnosticRequest=s={}));var o;(function(c){c.method="workspace/diagnostic",c.messageDirection=n.MessageDirection.clientToServer,c.type=new n.ProtocolRequestType(c.method),c.partialResult=new t.ProgressType})(o||(Ln.WorkspaceDiagnosticRequest=o={}));var a;return function(c){c.method="workspace/diagnostic/refresh",c.messageDirection=n.MessageDirection.serverToClient,c.type=new n.ProtocolRequestType0(c.method)}(a||(Ln.DiagnosticRefreshRequest=a={})),Ln}var gt={},C$;function R7(){if(C$)return gt;C$=1,Object.defineProperty(gt,"__esModule",{value:!0}),gt.DidCloseNotebookDocumentNotification=gt.DidSaveNotebookDocumentNotification=gt.DidChangeNotebookDocumentNotification=gt.NotebookCellArrayChange=gt.DidOpenNotebookDocumentNotification=gt.NotebookDocumentSyncRegistrationType=gt.NotebookDocument=gt.NotebookCell=gt.ExecutionSummary=gt.NotebookCellKind=void 0;const t=yv(),e=wv(),n=mt();var r;(function(h){h.Markup=1,h.Code=2;function p(m){return m===1||m===2}h.is=p})(r||(gt.NotebookCellKind=r={}));var i;(function(h){function p(y,w){const E={executionOrder:y};return(w===!0||w===!1)&&(E.success=w),E}h.create=p;function m(y){const w=y;return e.objectLiteral(w)&&t.uinteger.is(w.executionOrder)&&(w.success===void 0||e.boolean(w.success))}h.is=m;function g(y,w){return y===w?!0:y==null||w===null||w===void 0?!1:y.executionOrder===w.executionOrder&&y.success===w.success}h.equals=g})(i||(gt.ExecutionSummary=i={}));var s;(function(h){function p(w,E){return{kind:w,document:E}}h.create=p;function m(w){const E=w;return e.objectLiteral(E)&&r.is(E.kind)&&t.DocumentUri.is(E.document)&&(E.metadata===void 0||e.objectLiteral(E.metadata))}h.is=m;function g(w,E){const k=new Set;return w.document!==E.document&&k.add("document"),w.kind!==E.kind&&k.add("kind"),w.executionSummary!==E.executionSummary&&k.add("executionSummary"),(w.metadata!==void 0||E.metadata!==void 0)&&!y(w.metadata,E.metadata)&&k.add("metadata"),(w.executionSummary!==void 0||E.executionSummary!==void 0)&&!i.equals(w.executionSummary,E.executionSummary)&&k.add("executionSummary"),k}h.diff=g;function y(w,E){if(w===E)return!0;if(w==null||E===null||E===void 0||typeof w!=typeof E||typeof w!="object")return!1;const k=Array.isArray(w),A=Array.isArray(E);if(k!==A)return!1;if(k&&A){if(w.length!==E.length)return!1;for(let I=0;I<w.length;I++)if(!y(w[I],E[I]))return!1}if(e.objectLiteral(w)&&e.objectLiteral(E)){const I=Object.keys(w),x=Object.keys(E);if(I.length!==x.length||(I.sort(),x.sort(),!y(I,x)))return!1;for(let _=0;_<I.length;_++){const P=I[_];if(!y(w[P],E[P]))return!1}}return!0}})(s||(gt.NotebookCell=s={}));var o;(function(h){function p(g,y,w,E){return{uri:g,notebookType:y,version:w,cells:E}}h.create=p;function m(g){const y=g;return e.objectLiteral(y)&&e.string(y.uri)&&t.integer.is(y.version)&&e.typedArray(y.cells,s.is)}h.is=m})(o||(gt.NotebookDocument=o={}));var a;(function(h){h.method="notebookDocument/sync",h.messageDirection=n.MessageDirection.clientToServer,h.type=new n.RegistrationType(h.method)})(a||(gt.NotebookDocumentSyncRegistrationType=a={}));var c;(function(h){h.method="notebookDocument/didOpen",h.messageDirection=n.MessageDirection.clientToServer,h.type=new n.ProtocolNotificationType(h.method),h.registrationMethod=a.method})(c||(gt.DidOpenNotebookDocumentNotification=c={}));var u;(function(h){function p(g){const y=g;return e.objectLiteral(y)&&t.uinteger.is(y.start)&&t.uinteger.is(y.deleteCount)&&(y.cells===void 0||e.typedArray(y.cells,s.is))}h.is=p;function m(g,y,w){const E={start:g,deleteCount:y};return w!==void 0&&(E.cells=w),E}h.create=m})(u||(gt.NotebookCellArrayChange=u={}));var l;(function(h){h.method="notebookDocument/didChange",h.messageDirection=n.MessageDirection.clientToServer,h.type=new n.ProtocolNotificationType(h.method),h.registrationMethod=a.method})(l||(gt.DidChangeNotebookDocumentNotification=l={}));var d;(function(h){h.method="notebookDocument/didSave",h.messageDirection=n.MessageDirection.clientToServer,h.type=new n.ProtocolNotificationType(h.method),h.registrationMethod=a.method})(d||(gt.DidSaveNotebookDocumentNotification=d={}));var f;return function(h){h.method="notebookDocument/didClose",h.messageDirection=n.MessageDirection.clientToServer,h.type=new n.ProtocolNotificationType(h.method),h.registrationMethod=a.method}(f||(gt.DidCloseNotebookDocumentNotification=f={})),gt}var mu={},_$;function S7(){if(_$)return mu;_$=1,Object.defineProperty(mu,"__esModule",{value:!0}),mu.InlineCompletionRequest=void 0;const t=mt();var e;return function(n){n.method="textDocument/inlineCompletion",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)}(e||(mu.InlineCompletionRequest=e={})),mu}var A$;function k7(){return A$||(A$=1,function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.WorkspaceSymbolRequest=t.CodeActionResolveRequest=t.CodeActionRequest=t.DocumentSymbolRequest=t.DocumentHighlightRequest=t.ReferencesRequest=t.DefinitionRequest=t.SignatureHelpRequest=t.SignatureHelpTriggerKind=t.HoverRequest=t.CompletionResolveRequest=t.CompletionRequest=t.CompletionTriggerKind=t.PublishDiagnosticsNotification=t.WatchKind=t.RelativePattern=t.FileChangeType=t.DidChangeWatchedFilesNotification=t.WillSaveTextDocumentWaitUntilRequest=t.WillSaveTextDocumentNotification=t.TextDocumentSaveReason=t.DidSaveTextDocumentNotification=t.DidCloseTextDocumentNotification=t.DidChangeTextDocumentNotification=t.TextDocumentContentChangeEvent=t.DidOpenTextDocumentNotification=t.TextDocumentSyncKind=t.TelemetryEventNotification=t.LogMessageNotification=t.ShowMessageRequest=t.ShowMessageNotification=t.MessageType=t.DidChangeConfigurationNotification=t.ExitNotification=t.ShutdownRequest=t.InitializedNotification=t.InitializeErrorCodes=t.InitializeRequest=t.WorkDoneProgressOptions=t.TextDocumentRegistrationOptions=t.StaticRegistrationOptions=t.PositionEncodingKind=t.FailureHandlingKind=t.ResourceOperationKind=t.UnregistrationRequest=t.RegistrationRequest=t.DocumentSelector=t.NotebookCellTextDocumentFilter=t.NotebookDocumentFilter=t.TextDocumentFilter=void 0,t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=t.WillDeleteFilesRequest=t.DidDeleteFilesNotification=t.WillRenameFilesRequest=t.DidRenameFilesNotification=t.WillCreateFilesRequest=t.DidCreateFilesNotification=t.FileOperationPatternKind=t.LinkedEditingRangeRequest=t.ShowDocumentRequest=t.SemanticTokensRegistrationType=t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.TokenFormat=t.CallHierarchyPrepareRequest=t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=t.SelectionRangeRequest=t.DeclarationRequest=t.FoldingRangeRefreshRequest=t.FoldingRangeRequest=t.ColorPresentationRequest=t.DocumentColorRequest=t.ConfigurationRequest=t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=t.TypeDefinitionRequest=t.ImplementationRequest=t.ApplyWorkspaceEditRequest=t.ExecuteCommandRequest=t.PrepareRenameRequest=t.RenameRequest=t.PrepareSupportDefaultBehavior=t.DocumentOnTypeFormattingRequest=t.DocumentRangesFormattingRequest=t.DocumentRangeFormattingRequest=t.DocumentFormattingRequest=t.DocumentLinkResolveRequest=t.DocumentLinkRequest=t.CodeLensRefreshRequest=t.CodeLensResolveRequest=t.CodeLensRequest=t.WorkspaceSymbolResolveRequest=void 0,t.InlineCompletionRequest=t.DidCloseNotebookDocumentNotification=t.DidSaveNotebookDocumentNotification=t.DidChangeNotebookDocumentNotification=t.NotebookCellArrayChange=t.DidOpenNotebookDocumentNotification=t.NotebookDocumentSyncRegistrationType=t.NotebookDocument=t.NotebookCell=t.ExecutionSummary=t.NotebookCellKind=t.DiagnosticRefreshRequest=t.WorkspaceDiagnosticRequest=t.DocumentDiagnosticRequest=t.DocumentDiagnosticReportKind=t.DiagnosticServerCancellationData=t.InlayHintRefreshRequest=t.InlayHintResolveRequest=t.InlayHintRequest=t.InlineValueRefreshRequest=t.InlineValueRequest=t.TypeHierarchySupertypesRequest=t.TypeHierarchySubtypesRequest=t.TypeHierarchyPrepareRequest=void 0;const e=mt(),n=yv(),r=wv(),i=s7();Object.defineProperty(t,"ImplementationRequest",{enumerable:!0,get:function(){return i.ImplementationRequest}});const s=o7();Object.defineProperty(t,"TypeDefinitionRequest",{enumerable:!0,get:function(){return s.TypeDefinitionRequest}});const o=a7();Object.defineProperty(t,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return o.WorkspaceFoldersRequest}}),Object.defineProperty(t,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return o.DidChangeWorkspaceFoldersNotification}});const a=c7();Object.defineProperty(t,"ConfigurationRequest",{enumerable:!0,get:function(){return a.ConfigurationRequest}});const c=u7();Object.defineProperty(t,"DocumentColorRequest",{enumerable:!0,get:function(){return c.DocumentColorRequest}}),Object.defineProperty(t,"ColorPresentationRequest",{enumerable:!0,get:function(){return c.ColorPresentationRequest}});const u=l7();Object.defineProperty(t,"FoldingRangeRequest",{enumerable:!0,get:function(){return u.FoldingRangeRequest}}),Object.defineProperty(t,"FoldingRangeRefreshRequest",{enumerable:!0,get:function(){return u.FoldingRangeRefreshRequest}});const l=d7();Object.defineProperty(t,"DeclarationRequest",{enumerable:!0,get:function(){return l.DeclarationRequest}});const d=f7();Object.defineProperty(t,"SelectionRangeRequest",{enumerable:!0,get:function(){return d.SelectionRangeRequest}});const f=h7();Object.defineProperty(t,"WorkDoneProgress",{enumerable:!0,get:function(){return f.WorkDoneProgress}}),Object.defineProperty(t,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return f.WorkDoneProgressCreateRequest}}),Object.defineProperty(t,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return f.WorkDoneProgressCancelNotification}});const h=p7();Object.defineProperty(t,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return h.CallHierarchyIncomingCallsRequest}}),Object.defineProperty(t,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return h.CallHierarchyOutgoingCallsRequest}}),Object.defineProperty(t,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return h.CallHierarchyPrepareRequest}});const p=m7();Object.defineProperty(t,"TokenFormat",{enumerable:!0,get:function(){return p.TokenFormat}}),Object.defineProperty(t,"SemanticTokensRequest",{enumerable:!0,get:function(){return p.SemanticTokensRequest}}),Object.defineProperty(t,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return p.SemanticTokensDeltaRequest}}),Object.defineProperty(t,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return p.SemanticTokensRangeRequest}}),Object.defineProperty(t,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return p.SemanticTokensRefreshRequest}}),Object.defineProperty(t,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return p.SemanticTokensRegistrationType}});const m=g7();Object.defineProperty(t,"ShowDocumentRequest",{enumerable:!0,get:function(){return m.ShowDocumentRequest}});const g=y7();Object.defineProperty(t,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return g.LinkedEditingRangeRequest}});const y=v7();Object.defineProperty(t,"FileOperationPatternKind",{enumerable:!0,get:function(){return y.FileOperationPatternKind}}),Object.defineProperty(t,"DidCreateFilesNotification",{enumerable:!0,get:function(){return y.DidCreateFilesNotification}}),Object.defineProperty(t,"WillCreateFilesRequest",{enumerable:!0,get:function(){return y.WillCreateFilesRequest}}),Object.defineProperty(t,"DidRenameFilesNotification",{enumerable:!0,get:function(){return y.DidRenameFilesNotification}}),Object.defineProperty(t,"WillRenameFilesRequest",{enumerable:!0,get:function(){return y.WillRenameFilesRequest}}),Object.defineProperty(t,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return y.DidDeleteFilesNotification}}),Object.defineProperty(t,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return y.WillDeleteFilesRequest}});const w=w7();Object.defineProperty(t,"UniquenessLevel",{enumerable:!0,get:function(){return w.UniquenessLevel}}),Object.defineProperty(t,"MonikerKind",{enumerable:!0,get:function(){return w.MonikerKind}}),Object.defineProperty(t,"MonikerRequest",{enumerable:!0,get:function(){return w.MonikerRequest}});const E=b7();Object.defineProperty(t,"TypeHierarchyPrepareRequest",{enumerable:!0,get:function(){return E.TypeHierarchyPrepareRequest}}),Object.defineProperty(t,"TypeHierarchySubtypesRequest",{enumerable:!0,get:function(){return E.TypeHierarchySubtypesRequest}}),Object.defineProperty(t,"TypeHierarchySupertypesRequest",{enumerable:!0,get:function(){return E.TypeHierarchySupertypesRequest}});const k=E7();Object.defineProperty(t,"InlineValueRequest",{enumerable:!0,get:function(){return k.InlineValueRequest}}),Object.defineProperty(t,"InlineValueRefreshRequest",{enumerable:!0,get:function(){return k.InlineValueRefreshRequest}});const A=D7();Object.defineProperty(t,"InlayHintRequest",{enumerable:!0,get:function(){return A.InlayHintRequest}}),Object.defineProperty(t,"InlayHintResolveRequest",{enumerable:!0,get:function(){return A.InlayHintResolveRequest}}),Object.defineProperty(t,"InlayHintRefreshRequest",{enumerable:!0,get:function(){return A.InlayHintRefreshRequest}});const I=T7();Object.defineProperty(t,"DiagnosticServerCancellationData",{enumerable:!0,get:function(){return I.DiagnosticServerCancellationData}}),Object.defineProperty(t,"DocumentDiagnosticReportKind",{enumerable:!0,get:function(){return I.DocumentDiagnosticReportKind}}),Object.defineProperty(t,"DocumentDiagnosticRequest",{enumerable:!0,get:function(){return I.DocumentDiagnosticRequest}}),Object.defineProperty(t,"WorkspaceDiagnosticRequest",{enumerable:!0,get:function(){return I.WorkspaceDiagnosticRequest}}),Object.defineProperty(t,"DiagnosticRefreshRequest",{enumerable:!0,get:function(){return I.DiagnosticRefreshRequest}});const x=R7();Object.defineProperty(t,"NotebookCellKind",{enumerable:!0,get:function(){return x.NotebookCellKind}}),Object.defineProperty(t,"ExecutionSummary",{enumerable:!0,get:function(){return x.ExecutionSummary}}),Object.defineProperty(t,"NotebookCell",{enumerable:!0,get:function(){return x.NotebookCell}}),Object.defineProperty(t,"NotebookDocument",{enumerable:!0,get:function(){return x.NotebookDocument}}),Object.defineProperty(t,"NotebookDocumentSyncRegistrationType",{enumerable:!0,get:function(){return x.NotebookDocumentSyncRegistrationType}}),Object.defineProperty(t,"DidOpenNotebookDocumentNotification",{enumerable:!0,get:function(){return x.DidOpenNotebookDocumentNotification}}),Object.defineProperty(t,"NotebookCellArrayChange",{enumerable:!0,get:function(){return x.NotebookCellArrayChange}}),Object.defineProperty(t,"DidChangeNotebookDocumentNotification",{enumerable:!0,get:function(){return x.DidChangeNotebookDocumentNotification}}),Object.defineProperty(t,"DidSaveNotebookDocumentNotification",{enumerable:!0,get:function(){return x.DidSaveNotebookDocumentNotification}}),Object.defineProperty(t,"DidCloseNotebookDocumentNotification",{enumerable:!0,get:function(){return x.DidCloseNotebookDocumentNotification}});const _=S7();Object.defineProperty(t,"InlineCompletionRequest",{enumerable:!0,get:function(){return _.InlineCompletionRequest}});var P;(function(v){function $(b){const L=b;return r.string(L)||r.string(L.language)||r.string(L.scheme)||r.string(L.pattern)}v.is=$})(P||(t.TextDocumentFilter=P={}));var O;(function(v){function $(b){const L=b;return r.objectLiteral(L)&&(r.string(L.notebookType)||r.string(L.scheme)||r.string(L.pattern))}v.is=$})(O||(t.NotebookDocumentFilter=O={}));var C;(function(v){function $(b){const L=b;return r.objectLiteral(L)&&(r.string(L.notebook)||O.is(L.notebook))&&(L.language===void 0||r.string(L.language))}v.is=$})(C||(t.NotebookCellTextDocumentFilter=C={}));var D;(function(v){function $(b){if(!Array.isArray(b))return!1;for(let L of b)if(!r.string(L)&&!P.is(L)&&!C.is(L))return!1;return!0}v.is=$})(D||(t.DocumentSelector=D={}));var R;(function(v){v.method="client/registerCapability",v.messageDirection=e.MessageDirection.serverToClient,v.type=new e.ProtocolRequestType(v.method)})(R||(t.RegistrationRequest=R={}));var F;(function(v){v.method="client/unregisterCapability",v.messageDirection=e.MessageDirection.serverToClient,v.type=new e.ProtocolRequestType(v.method)})(F||(t.UnregistrationRequest=F={}));var W;(function(v){v.Create="create",v.Rename="rename",v.Delete="delete"})(W||(t.ResourceOperationKind=W={}));var V;(function(v){v.Abort="abort",v.Transactional="transactional",v.TextOnlyTransactional="textOnlyTransactional",v.Undo="undo"})(V||(t.FailureHandlingKind=V={}));var Z;(function(v){v.UTF8="utf-8",v.UTF16="utf-16",v.UTF32="utf-32"})(Z||(t.PositionEncodingKind=Z={}));var Le;(function(v){function $(b){const L=b;return L&&r.string(L.id)&&L.id.length>0}v.hasId=$})(Le||(t.StaticRegistrationOptions=Le={}));var se;(function(v){function $(b){const L=b;return L&&(L.documentSelector===null||D.is(L.documentSelector))}v.is=$})(se||(t.TextDocumentRegistrationOptions=se={}));var K;(function(v){function $(L){const S=L;return r.objectLiteral(S)&&(S.workDoneProgress===void 0||r.boolean(S.workDoneProgress))}v.is=$;function b(L){const S=L;return S&&r.boolean(S.workDoneProgress)}v.hasWorkDoneProgress=b})(K||(t.WorkDoneProgressOptions=K={}));var Te;(function(v){v.method="initialize",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolRequestType(v.method)})(Te||(t.InitializeRequest=Te={}));var ut;(function(v){v.unknownProtocolVersion=1})(ut||(t.InitializeErrorCodes=ut={}));var H;(function(v){v.method="initialized",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolNotificationType(v.method)})(H||(t.InitializedNotification=H={}));var Y;(function(v){v.method="shutdown",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolRequestType0(v.method)})(Y||(t.ShutdownRequest=Y={}));var ee;(function(v){v.method="exit",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolNotificationType0(v.method)})(ee||(t.ExitNotification=ee={}));var ne;(function(v){v.method="workspace/didChangeConfiguration",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolNotificationType(v.method)})(ne||(t.DidChangeConfigurationNotification=ne={}));var fe;(function(v){v.Error=1,v.Warning=2,v.Info=3,v.Log=4,v.Debug=5})(fe||(t.MessageType=fe={}));var Ee;(function(v){v.method="window/showMessage",v.messageDirection=e.MessageDirection.serverToClient,v.type=new e.ProtocolNotificationType(v.method)})(Ee||(t.ShowMessageNotification=Ee={}));var ge;(function(v){v.method="window/showMessageRequest",v.messageDirection=e.MessageDirection.serverToClient,v.type=new e.ProtocolRequestType(v.method)})(ge||(t.ShowMessageRequest=ge={}));var ce;(function(v){v.method="window/logMessage",v.messageDirection=e.MessageDirection.serverToClient,v.type=new e.ProtocolNotificationType(v.method)})(ce||(t.LogMessageNotification=ce={}));var M;(function(v){v.method="telemetry/event",v.messageDirection=e.MessageDirection.serverToClient,v.type=new e.ProtocolNotificationType(v.method)})(M||(t.TelemetryEventNotification=M={}));var U;(function(v){v.None=0,v.Full=1,v.Incremental=2})(U||(t.TextDocumentSyncKind=U={}));var oe;(function(v){v.method="textDocument/didOpen",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolNotificationType(v.method)})(oe||(t.DidOpenTextDocumentNotification=oe={}));var G;(function(v){function $(L){let S=L;return S!=null&&typeof S.text=="string"&&S.range!==void 0&&(S.rangeLength===void 0||typeof S.rangeLength=="number")}v.isIncremental=$;function b(L){let S=L;return S!=null&&typeof S.text=="string"&&S.range===void 0&&S.rangeLength===void 0}v.isFull=b})(G||(t.TextDocumentContentChangeEvent=G={}));var Fe;(function(v){v.method="textDocument/didChange",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolNotificationType(v.method)})(Fe||(t.DidChangeTextDocumentNotification=Fe={}));var yt;(function(v){v.method="textDocument/didClose",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolNotificationType(v.method)})(yt||(t.DidCloseTextDocumentNotification=yt={}));var mn;(function(v){v.method="textDocument/didSave",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolNotificationType(v.method)})(mn||(t.DidSaveTextDocumentNotification=mn={}));var nr;(function(v){v.Manual=1,v.AfterDelay=2,v.FocusOut=3})(nr||(t.TextDocumentSaveReason=nr={}));var rr;(function(v){v.method="textDocument/willSave",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolNotificationType(v.method)})(rr||(t.WillSaveTextDocumentNotification=rr={}));var ir;(function(v){v.method="textDocument/willSaveWaitUntil",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolRequestType(v.method)})(ir||(t.WillSaveTextDocumentWaitUntilRequest=ir={}));var qt;(function(v){v.method="workspace/didChangeWatchedFiles",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolNotificationType(v.method)})(qt||(t.DidChangeWatchedFilesNotification=qt={}));var _n;(function(v){v.Created=1,v.Changed=2,v.Deleted=3})(_n||(t.FileChangeType=_n={}));var Yr;(function(v){function $(b){const L=b;return r.objectLiteral(L)&&(n.URI.is(L.baseUri)||n.WorkspaceFolder.is(L.baseUri))&&r.string(L.pattern)}v.is=$})(Yr||(t.RelativePattern=Yr={}));var zn;(function(v){v.Create=1,v.Change=2,v.Delete=4})(zn||(t.WatchKind=zn={}));var gn;(function(v){v.method="textDocument/publishDiagnostics",v.messageDirection=e.MessageDirection.serverToClient,v.type=new e.ProtocolNotificationType(v.method)})(gn||(t.PublishDiagnosticsNotification=gn={}));var Bn;(function(v){v.Invoked=1,v.TriggerCharacter=2,v.TriggerForIncompleteCompletions=3})(Bn||(t.CompletionTriggerKind=Bn={}));var tn;(function(v){v.method="textDocument/completion",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolRequestType(v.method)})(tn||(t.CompletionRequest=tn={}));var X;(function(v){v.method="completionItem/resolve",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolRequestType(v.method)})(X||(t.CompletionResolveRequest=X={}));var J;(function(v){v.method="textDocument/hover",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolRequestType(v.method)})(J||(t.HoverRequest=J={}));var le;(function(v){v.Invoked=1,v.TriggerCharacter=2,v.ContentChange=3})(le||(t.SignatureHelpTriggerKind=le={}));var jt;(function(v){v.method="textDocument/signatureHelp",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolRequestType(v.method)})(jt||(t.SignatureHelpRequest=jt={}));var Ft;(function(v){v.method="textDocument/definition",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolRequestType(v.method)})(Ft||(t.DefinitionRequest=Ft={}));var Rr;(function(v){v.method="textDocument/references",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolRequestType(v.method)})(Rr||(t.ReferencesRequest=Rr={}));var Ai;(function(v){v.method="textDocument/documentHighlight",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolRequestType(v.method)})(Ai||(t.DocumentHighlightRequest=Ai={}));var fs;(function(v){v.method="textDocument/documentSymbol",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolRequestType(v.method)})(fs||(t.DocumentSymbolRequest=fs={}));var hs;(function(v){v.method="textDocument/codeAction",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolRequestType(v.method)})(hs||(t.CodeActionRequest=hs={}));var ps;(function(v){v.method="codeAction/resolve",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolRequestType(v.method)})(ps||(t.CodeActionResolveRequest=ps={}));var ms;(function(v){v.method="workspace/symbol",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolRequestType(v.method)})(ms||(t.WorkspaceSymbolRequest=ms={}));var xi;(function(v){v.method="workspaceSymbol/resolve",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolRequestType(v.method)})(xi||(t.WorkspaceSymbolResolveRequest=xi={}));var Ii;(function(v){v.method="textDocument/codeLens",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolRequestType(v.method)})(Ii||(t.CodeLensRequest=Ii={}));var yn;(function(v){v.method="codeLens/resolve",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolRequestType(v.method)})(yn||(t.CodeLensResolveRequest=yn={}));var gs;(function(v){v.method="workspace/codeLens/refresh",v.messageDirection=e.MessageDirection.serverToClient,v.type=new e.ProtocolRequestType0(v.method)})(gs||(t.CodeLensRefreshRequest=gs={}));var ys;(function(v){v.method="textDocument/documentLink",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolRequestType(v.method)})(ys||(t.DocumentLinkRequest=ys={}));var Sr;(function(v){v.method="documentLink/resolve",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolRequestType(v.method)})(Sr||(t.DocumentLinkResolveRequest=Sr={}));var vs;(function(v){v.method="textDocument/formatting",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolRequestType(v.method)})(vs||(t.DocumentFormattingRequest=vs={}));var Xr;(function(v){v.method="textDocument/rangeFormatting",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolRequestType(v.method)})(Xr||(t.DocumentRangeFormattingRequest=Xr={}));var ws;(function(v){v.method="textDocument/rangesFormatting",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolRequestType(v.method)})(ws||(t.DocumentRangesFormattingRequest=ws={}));var qn;(function(v){v.method="textDocument/onTypeFormatting",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolRequestType(v.method)})(qn||(t.DocumentOnTypeFormattingRequest=qn={}));var sr;(function(v){v.Identifier=1})(sr||(t.PrepareSupportDefaultBehavior=sr={}));var Eo;(function(v){v.method="textDocument/rename",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolRequestType(v.method)})(Eo||(t.RenameRequest=Eo={}));var z;(function(v){v.method="textDocument/prepareRename",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolRequestType(v.method)})(z||(t.PrepareRenameRequest=z={}));var T;(function(v){v.method="workspace/executeCommand",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolRequestType(v.method)})(T||(t.ExecuteCommandRequest=T={}));var N;(function(v){v.method="workspace/applyEdit",v.messageDirection=e.MessageDirection.serverToClient,v.type=new e.ProtocolRequestType("workspace/applyEdit")})(N||(t.ApplyWorkspaceEditRequest=N={}))}(vv)),vv}var gu={},x$;function $7(){if(x$)return gu;x$=1,Object.defineProperty(gu,"__esModule",{value:!0}),gu.createProtocolConnection=void 0;const t=Ks();function e(n,r,i,s){return t.ConnectionStrategy.is(s)&&(s={connectionStrategy:s}),(0,t.createMessageConnection)(n,r,i,s)}return gu.createProtocolConnection=e,gu}var I$;function C7(){return I$||(I$=1,function(t){var e=Ys&&Ys.__createBinding||(Object.create?function(s,o,a,c){c===void 0&&(c=a);var u=Object.getOwnPropertyDescriptor(o,a);(!u||("get"in u?!o.__esModule:u.writable||u.configurable))&&(u={enumerable:!0,get:function(){return o[a]}}),Object.defineProperty(s,c,u)}:function(s,o,a,c){c===void 0&&(c=a),s[c]=o[a]}),n=Ys&&Ys.__exportStar||function(s,o){for(var a in s)a!=="default"&&!Object.prototype.hasOwnProperty.call(o,a)&&e(o,s,a)};Object.defineProperty(t,"__esModule",{value:!0}),t.LSPErrorCodes=t.createProtocolConnection=void 0,n(Ks(),t),n(yv(),t),n(mt(),t),n(k7(),t);var r=$7();Object.defineProperty(t,"createProtocolConnection",{enumerable:!0,get:function(){return r.createProtocolConnection}});var i;(function(s){s.lspReservedErrorRangeStart=-32899,s.RequestFailed=-32803,s.ServerCancelled=-32802,s.ContentModified=-32801,s.RequestCancelled=-32800,s.lspReservedErrorRangeEnd=-32800})(i||(t.LSPErrorCodes=i={}))}(Ys)),Ys}var P$;function St(){return P$||(P$=1,function(t){var e=Ws&&Ws.__createBinding||(Object.create?function(s,o,a,c){c===void 0&&(c=a);var u=Object.getOwnPropertyDescriptor(o,a);(!u||("get"in u?!o.__esModule:u.writable||u.configurable))&&(u={enumerable:!0,get:function(){return o[a]}}),Object.defineProperty(s,c,u)}:function(s,o,a,c){c===void 0&&(c=a),s[c]=o[a]}),n=Ws&&Ws.__exportStar||function(s,o){for(var a in s)a!=="default"&&!Object.prototype.hasOwnProperty.call(o,a)&&e(o,s,a)};Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const r=i$();n(i$(),t),n(C7(),t);function i(s,o,a,c){return(0,r.createMessageConnection)(s,o,a,c)}t.createProtocolConnection=i}(Ws)),Ws}var Fn={},N$;function O$(){if(N$)return Fn;N$=1,Object.defineProperty(Fn,"__esModule",{value:!0}),Fn.generateUuid=Fn.parse=Fn.isUUID=Fn.v4=Fn.empty=void 0;class t{constructor(c){this._value=c}asHex(){return this._value}equals(c){return this.asHex()===c.asHex()}}class e extends t{static _oneOf(c){return c[Math.floor(c.length*Math.random())]}static _randomHex(){return e._oneOf(e._chars)}constructor(){super([e._randomHex(),e._randomHex(),e._randomHex(),e._randomHex(),e._randomHex(),e._randomHex(),e._randomHex(),e._randomHex(),"-",e._randomHex(),e._randomHex(),e._randomHex(),e._randomHex(),"-","4",e._randomHex(),e._randomHex(),e._randomHex(),"-",e._oneOf(e._timeHighBits),e._randomHex(),e._randomHex(),e._randomHex(),"-",e._randomHex(),e._randomHex(),e._randomHex(),e._randomHex(),e._randomHex(),e._randomHex(),e._randomHex(),e._randomHex(),e._randomHex(),e._randomHex(),e._randomHex(),e._randomHex()].join(""))}}e._chars=["0","1","2","3","4","5","6","6","7","8","9","a","b","c","d","e","f"],e._timeHighBits=["8","9","a","b"],Fn.empty=new t("00000000-0000-0000-0000-000000000000");function n(){return new e}Fn.v4=n;const r=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function i(a){return r.test(a)}Fn.isUUID=i;function s(a){if(!i(a))throw new Error("invalid uuid");return new t(a)}Fn.parse=s;function o(){return n().asHex()}return Fn.generateUuid=o,Fn}var Ci={},L$;function _7(){if(L$)return Ci;L$=1,Object.defineProperty(Ci,"__esModule",{value:!0}),Ci.attachPartialResult=Ci.ProgressFeature=Ci.attachWorkDone=void 0;const t=St(),e=O$();class n{constructor(f,h){this._connection=f,this._token=h,n.Instances.set(this._token,this)}begin(f,h,p,m){let g={kind:"begin",title:f,percentage:h,message:p,cancellable:m};this._connection.sendProgress(t.WorkDoneProgress.type,this._token,g)}report(f,h){let p={kind:"report"};typeof f=="number"?(p.percentage=f,h!==void 0&&(p.message=h)):p.message=f,this._connection.sendProgress(t.WorkDoneProgress.type,this._token,p)}done(){n.Instances.delete(this._token),this._connection.sendProgress(t.WorkDoneProgress.type,this._token,{kind:"end"})}}n.Instances=new Map;class r extends n{constructor(f,h){super(f,h),this._source=new t.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose(),super.done()}cancel(){this._source.cancel()}}class i{constructor(){}begin(){}report(){}done(){}}class s extends i{constructor(){super(),this._source=new t.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose()}cancel(){this._source.cancel()}}function o(d,f){if(f===void 0||f.workDoneToken===void 0)return new i;const h=f.workDoneToken;return delete f.workDoneToken,new n(d,h)}Ci.attachWorkDone=o;const a=d=>class extends d{constructor(){super(),this._progressSupported=!1}initialize(f){super.initialize(f),f?.window?.workDoneProgress===!0&&(this._progressSupported=!0,this.connection.onNotification(t.WorkDoneProgressCancelNotification.type,h=>{let p=n.Instances.get(h.token);(p instanceof r||p instanceof s)&&p.cancel()}))}attachWorkDoneProgress(f){return f===void 0?new i:new n(this.connection,f)}createWorkDoneProgress(){if(this._progressSupported){const f=(0,e.generateUuid)();return this.connection.sendRequest(t.WorkDoneProgressCreateRequest.type,{token:f}).then(()=>new r(this.connection,f))}else return Promise.resolve(new s)}};Ci.ProgressFeature=a;var c;(function(d){d.type=new t.ProgressType})(c||(c={}));class u{constructor(f,h){this._connection=f,this._token=h}report(f){this._connection.sendProgress(c.type,this._token,f)}}function l(d,f){if(f===void 0||f.partialResultToken===void 0)return;const h=f.partialResultToken;return delete f.partialResultToken,new u(d,h)}return Ci.attachPartialResult=l,Ci}var yu={},F$;function A7(){if(F$)return yu;F$=1,Object.defineProperty(yu,"__esModule",{value:!0}),yu.ConfigurationFeature=void 0;const t=St(),e=fv(),n=r=>class extends r{getConfiguration(i){return i?e.string(i)?this._getConfiguration({section:i}):this._getConfiguration(i):this._getConfiguration({})}_getConfiguration(i){let s={items:Array.isArray(i)?i:[i]};return this.connection.sendRequest(t.ConfigurationRequest.type,s).then(o=>Array.isArray(o)?Array.isArray(i)?o:o[0]:Array.isArray(i)?[]:null)}};return yu.ConfigurationFeature=n,yu}var vu={},M$;function x7(){if(M$)return vu;M$=1,Object.defineProperty(vu,"__esModule",{value:!0}),vu.WorkspaceFoldersFeature=void 0;const t=St(),e=n=>class extends n{constructor(){super(),this._notificationIsAutoRegistered=!1}initialize(r){super.initialize(r);let i=r.workspace;i&&i.workspaceFolders&&(this._onDidChangeWorkspaceFolders=new t.Emitter,this.connection.onNotification(t.DidChangeWorkspaceFoldersNotification.type,s=>{this._onDidChangeWorkspaceFolders.fire(s.event)}))}fillServerCapabilities(r){super.fillServerCapabilities(r);const i=r.workspace?.workspaceFolders?.changeNotifications;this._notificationIsAutoRegistered=i===!0||typeof i=="string"}getWorkspaceFolders(){return this.connection.sendRequest(t.WorkspaceFoldersRequest.type)}get onDidChangeWorkspaceFolders(){if(!this._onDidChangeWorkspaceFolders)throw new Error("Client doesn't support sending workspace folder change events.");return!this._notificationIsAutoRegistered&&!this._unregistration&&(this._unregistration=this.connection.client.register(t.DidChangeWorkspaceFoldersNotification.type)),this._onDidChangeWorkspaceFolders.event}};return vu.WorkspaceFoldersFeature=e,vu}var wu={},z$;function I7(){if(z$)return wu;z$=1,Object.defineProperty(wu,"__esModule",{value:!0}),wu.CallHierarchyFeature=void 0;const t=St(),e=n=>class extends n{get callHierarchy(){return{onPrepare:r=>this.connection.onRequest(t.CallHierarchyPrepareRequest.type,(i,s)=>r(i,s,this.attachWorkDoneProgress(i),void 0)),onIncomingCalls:r=>{const i=t.CallHierarchyIncomingCallsRequest.type;return this.connection.onRequest(i,(s,o)=>r(s,o,this.attachWorkDoneProgress(s),this.attachPartialResultProgress(i,s)))},onOutgoingCalls:r=>{const i=t.CallHierarchyOutgoingCallsRequest.type;return this.connection.onRequest(i,(s,o)=>r(s,o,this.attachWorkDoneProgress(s),this.attachPartialResultProgress(i,s)))}}}};return wu.CallHierarchyFeature=e,wu}var _i={},B$;function q$(){if(B$)return _i;B$=1,Object.defineProperty(_i,"__esModule",{value:!0}),_i.SemanticTokensBuilder=_i.SemanticTokensDiff=_i.SemanticTokensFeature=void 0;const t=St(),e=i=>class extends i{get semanticTokens(){return{refresh:()=>this.connection.sendRequest(t.SemanticTokensRefreshRequest.type),on:s=>{const o=t.SemanticTokensRequest.type;return this.connection.onRequest(o,(a,c)=>s(a,c,this.attachWorkDoneProgress(a),this.attachPartialResultProgress(o,a)))},onDelta:s=>{const o=t.SemanticTokensDeltaRequest.type;return this.connection.onRequest(o,(a,c)=>s(a,c,this.attachWorkDoneProgress(a),this.attachPartialResultProgress(o,a)))},onRange:s=>{const o=t.SemanticTokensRangeRequest.type;return this.connection.onRequest(o,(a,c)=>s(a,c,this.attachWorkDoneProgress(a),this.attachPartialResultProgress(o,a)))}}}};_i.SemanticTokensFeature=e;class n{constructor(s,o){this.originalSequence=s,this.modifiedSequence=o}computeDiff(){const s=this.originalSequence.length,o=this.modifiedSequence.length;let a=0;for(;a<o&&a<s&&this.originalSequence[a]===this.modifiedSequence[a];)a++;if(a<o&&a<s){let c=s-1,u=o-1;for(;c>=a&&u>=a&&this.originalSequence[c]===this.modifiedSequence[u];)c--,u--;(c<a||u<a)&&(c++,u++);const l=c-a+1,d=this.modifiedSequence.slice(a,u+1);return d.length===1&&d[0]===this.originalSequence[c]?[{start:a,deleteCount:l-1}]:[{start:a,deleteCount:l,data:d}]}else return a<o?[{start:a,deleteCount:0,data:this.modifiedSequence.slice(a)}]:a<s?[{start:a,deleteCount:s-a}]:[]}}_i.SemanticTokensDiff=n;class r{constructor(){this._prevData=void 0,this.initialize()}initialize(){this._id=Date.now(),this._prevLine=0,this._prevChar=0,this._data=[],this._dataLen=0}push(s,o,a,c,u){let l=s,d=o;this._dataLen>0&&(l-=this._prevLine,l===0&&(d-=this._prevChar)),this._data[this._dataLen++]=l,this._data[this._dataLen++]=d,this._data[this._dataLen++]=a,this._data[this._dataLen++]=c,this._data[this._dataLen++]=u,this._prevLine=s,this._prevChar=o}get id(){return this._id.toString()}previousResult(s){this.id===s&&(this._prevData=this._data),this.initialize()}build(){return this._prevData=void 0,{resultId:this.id,data:this._data}}canBuildEdits(){return this._prevData!==void 0}buildEdits(){return this._prevData!==void 0?{resultId:this.id,edits:new n(this._prevData,this._data).computeDiff()}:this.build()}}return _i.SemanticTokensBuilder=r,_i}var bu={},j$;function P7(){if(j$)return bu;j$=1,Object.defineProperty(bu,"__esModule",{value:!0}),bu.ShowDocumentFeature=void 0;const t=St(),e=n=>class extends n{showDocument(r){return this.connection.sendRequest(t.ShowDocumentRequest.type,r)}};return bu.ShowDocumentFeature=e,bu}var Eu={},U$;function N7(){if(U$)return Eu;U$=1,Object.defineProperty(Eu,"__esModule",{value:!0}),Eu.FileOperationsFeature=void 0;const t=St(),e=n=>class extends n{onDidCreateFiles(r){return this.connection.onNotification(t.DidCreateFilesNotification.type,i=>{r(i)})}onDidRenameFiles(r){return this.connection.onNotification(t.DidRenameFilesNotification.type,i=>{r(i)})}onDidDeleteFiles(r){return this.connection.onNotification(t.DidDeleteFilesNotification.type,i=>{r(i)})}onWillCreateFiles(r){return this.connection.onRequest(t.WillCreateFilesRequest.type,(i,s)=>r(i,s))}onWillRenameFiles(r){return this.connection.onRequest(t.WillRenameFilesRequest.type,(i,s)=>r(i,s))}onWillDeleteFiles(r){return this.connection.onRequest(t.WillDeleteFilesRequest.type,(i,s)=>r(i,s))}};return Eu.FileOperationsFeature=e,Eu}var Du={},G$;function O7(){if(G$)return Du;G$=1,Object.defineProperty(Du,"__esModule",{value:!0}),Du.LinkedEditingRangeFeature=void 0;const t=St(),e=n=>class extends n{onLinkedEditingRange(r){return this.connection.onRequest(t.LinkedEditingRangeRequest.type,(i,s)=>r(i,s,this.attachWorkDoneProgress(i),void 0))}};return Du.LinkedEditingRangeFeature=e,Du}var Tu={},W$;function L7(){if(W$)return Tu;W$=1,Object.defineProperty(Tu,"__esModule",{value:!0}),Tu.TypeHierarchyFeature=void 0;const t=St(),e=n=>class extends n{get typeHierarchy(){return{onPrepare:r=>this.connection.onRequest(t.TypeHierarchyPrepareRequest.type,(i,s)=>r(i,s,this.attachWorkDoneProgress(i),void 0)),onSupertypes:r=>{const i=t.TypeHierarchySupertypesRequest.type;return this.connection.onRequest(i,(s,o)=>r(s,o,this.attachWorkDoneProgress(s),this.attachPartialResultProgress(i,s)))},onSubtypes:r=>{const i=t.TypeHierarchySubtypesRequest.type;return this.connection.onRequest(i,(s,o)=>r(s,o,this.attachWorkDoneProgress(s),this.attachPartialResultProgress(i,s)))}}}};return Tu.TypeHierarchyFeature=e,Tu}var Ru={},H$;function F7(){if(H$)return Ru;H$=1,Object.defineProperty(Ru,"__esModule",{value:!0}),Ru.InlineValueFeature=void 0;const t=St(),e=n=>class extends n{get inlineValue(){return{refresh:()=>this.connection.sendRequest(t.InlineValueRefreshRequest.type),on:r=>this.connection.onRequest(t.InlineValueRequest.type,(i,s)=>r(i,s,this.attachWorkDoneProgress(i)))}}};return Ru.InlineValueFeature=e,Ru}var Su={},V$;function M7(){if(V$)return Su;V$=1,Object.defineProperty(Su,"__esModule",{value:!0}),Su.FoldingRangeFeature=void 0;const t=St(),e=n=>class extends n{get foldingRange(){return{refresh:()=>this.connection.sendRequest(t.FoldingRangeRefreshRequest.type),on:r=>{const i=t.FoldingRangeRequest.type;return this.connection.onRequest(i,(s,o)=>r(s,o,this.attachWorkDoneProgress(s),this.attachPartialResultProgress(i,s)))}}}};return Su.FoldingRangeFeature=e,Su}var ku={},K$;function z7(){if(K$)return ku;K$=1,Object.defineProperty(ku,"__esModule",{value:!0}),ku.InlayHintFeature=void 0;const t=St(),e=n=>class extends n{get inlayHint(){return{refresh:()=>this.connection.sendRequest(t.InlayHintRefreshRequest.type),on:r=>this.connection.onRequest(t.InlayHintRequest.type,(i,s)=>r(i,s,this.attachWorkDoneProgress(i))),resolve:r=>this.connection.onRequest(t.InlayHintResolveRequest.type,(i,s)=>r(i,s))}}};return ku.InlayHintFeature=e,ku}var $u={},Y$;function B7(){if(Y$)return $u;Y$=1,Object.defineProperty($u,"__esModule",{value:!0}),$u.DiagnosticFeature=void 0;const t=St(),e=n=>class extends n{get diagnostics(){return{refresh:()=>this.connection.sendRequest(t.DiagnosticRefreshRequest.type),on:r=>this.connection.onRequest(t.DocumentDiagnosticRequest.type,(i,s)=>r(i,s,this.attachWorkDoneProgress(i),this.attachPartialResultProgress(t.DocumentDiagnosticRequest.partialResult,i))),onWorkspace:r=>this.connection.onRequest(t.WorkspaceDiagnosticRequest.type,(i,s)=>r(i,s,this.attachWorkDoneProgress(i),this.attachPartialResultProgress(t.WorkspaceDiagnosticRequest.partialResult,i)))}}};return $u.DiagnosticFeature=e,$u}var eo={},Cu={},X$;function J$(){if(X$)return Cu;X$=1,Object.defineProperty(Cu,"__esModule",{value:!0}),Cu.TextDocuments=void 0;const t=St();class e{constructor(r){this._configuration=r,this._syncedDocuments=new Map,this._onDidChangeContent=new t.Emitter,this._onDidOpen=new t.Emitter,this._onDidClose=new t.Emitter,this._onDidSave=new t.Emitter,this._onWillSave=new t.Emitter}get onDidOpen(){return this._onDidOpen.event}get onDidChangeContent(){return this._onDidChangeContent.event}get onWillSave(){return this._onWillSave.event}onWillSaveWaitUntil(r){this._willSaveWaitUntil=r}get onDidSave(){return this._onDidSave.event}get onDidClose(){return this._onDidClose.event}get(r){return this._syncedDocuments.get(r)}all(){return Array.from(this._syncedDocuments.values())}keys(){return Array.from(this._syncedDocuments.keys())}listen(r){r.__textDocumentSync=t.TextDocumentSyncKind.Incremental;const i=[];return i.push(r.onDidOpenTextDocument(s=>{const o=s.textDocument,a=this._configuration.create(o.uri,o.languageId,o.version,o.text);this._syncedDocuments.set(o.uri,a);const c=Object.freeze({document:a});this._onDidOpen.fire(c),this._onDidChangeContent.fire(c)})),i.push(r.onDidChangeTextDocument(s=>{const o=s.textDocument,a=s.contentChanges;if(a.length===0)return;const{version:c}=o;if(c==null)throw new Error(`Received document change event for ${o.uri} without valid version identifier`);let u=this._syncedDocuments.get(o.uri);u!==void 0&&(u=this._configuration.update(u,a,c),this._syncedDocuments.set(o.uri,u),this._onDidChangeContent.fire(Object.freeze({document:u})))})),i.push(r.onDidCloseTextDocument(s=>{let o=this._syncedDocuments.get(s.textDocument.uri);o!==void 0&&(this._syncedDocuments.delete(s.textDocument.uri),this._onDidClose.fire(Object.freeze({document:o})))})),i.push(r.onWillSaveTextDocument(s=>{let o=this._syncedDocuments.get(s.textDocument.uri);o!==void 0&&this._onWillSave.fire(Object.freeze({document:o,reason:s.reason}))})),i.push(r.onWillSaveTextDocumentWaitUntil((s,o)=>{let a=this._syncedDocuments.get(s.textDocument.uri);return a!==void 0&&this._willSaveWaitUntil?this._willSaveWaitUntil(Object.freeze({document:a,reason:s.reason}),o):[]})),i.push(r.onDidSaveTextDocument(s=>{let o=this._syncedDocuments.get(s.textDocument.uri);o!==void 0&&this._onDidSave.fire(Object.freeze({document:o}))})),t.Disposable.create(()=>{i.forEach(s=>s.dispose())})}}return Cu.TextDocuments=e,Cu}var Z$;function Q$(){if(Z$)return eo;Z$=1,Object.defineProperty(eo,"__esModule",{value:!0}),eo.NotebookDocuments=eo.NotebookSyncFeature=void 0;const t=St(),e=J$(),n=s=>class extends s{get synchronization(){return{onDidOpenNotebookDocument:o=>this.connection.onNotification(t.DidOpenNotebookDocumentNotification.type,a=>{o(a)}),onDidChangeNotebookDocument:o=>this.connection.onNotification(t.DidChangeNotebookDocumentNotification.type,a=>{o(a)}),onDidSaveNotebookDocument:o=>this.connection.onNotification(t.DidSaveNotebookDocumentNotification.type,a=>{o(a)}),onDidCloseNotebookDocument:o=>this.connection.onNotification(t.DidCloseNotebookDocumentNotification.type,a=>{o(a)})}}};eo.NotebookSyncFeature=n;class r{onDidOpenTextDocument(o){return this.openHandler=o,t.Disposable.create(()=>{this.openHandler=void 0})}openTextDocument(o){this.openHandler&&this.openHandler(o)}onDidChangeTextDocument(o){return this.changeHandler=o,t.Disposable.create(()=>{this.changeHandler=o})}changeTextDocument(o){this.changeHandler&&this.changeHandler(o)}onDidCloseTextDocument(o){return this.closeHandler=o,t.Disposable.create(()=>{this.closeHandler=void 0})}closeTextDocument(o){this.closeHandler&&this.closeHandler(o)}onWillSaveTextDocument(){return r.NULL_DISPOSE}onWillSaveTextDocumentWaitUntil(){return r.NULL_DISPOSE}onDidSaveTextDocument(){return r.NULL_DISPOSE}}r.NULL_DISPOSE=Object.freeze({dispose:()=>{}});class i{constructor(o){o instanceof e.TextDocuments?this._cellTextDocuments=o:this._cellTextDocuments=new e.TextDocuments(o),this.notebookDocuments=new Map,this.notebookCellMap=new Map,this._onDidOpen=new t.Emitter,this._onDidChange=new t.Emitter,this._onDidSave=new t.Emitter,this._onDidClose=new t.Emitter}get cellTextDocuments(){return this._cellTextDocuments}getCellTextDocument(o){return this._cellTextDocuments.get(o.document)}getNotebookDocument(o){return this.notebookDocuments.get(o)}getNotebookCell(o){const a=this.notebookCellMap.get(o);return a&&a[0]}findNotebookDocumentForCell(o){const a=typeof o=="string"?o:o.document,c=this.notebookCellMap.get(a);return c&&c[1]}get onDidOpen(){return this._onDidOpen.event}get onDidSave(){return this._onDidSave.event}get onDidChange(){return this._onDidChange.event}get onDidClose(){return this._onDidClose.event}listen(o){const a=new r,c=[];return c.push(this.cellTextDocuments.listen(a)),c.push(o.notebooks.synchronization.onDidOpenNotebookDocument(u=>{this.notebookDocuments.set(u.notebookDocument.uri,u.notebookDocument);for(const l of u.cellTextDocuments)a.openTextDocument({textDocument:l});this.updateCellMap(u.notebookDocument),this._onDidOpen.fire(u.notebookDocument)})),c.push(o.notebooks.synchronization.onDidChangeNotebookDocument(u=>{const l=this.notebookDocuments.get(u.notebookDocument.uri);if(l===void 0)return;l.version=u.notebookDocument.version;const d=l.metadata;let f=!1;const h=u.change;h.metadata!==void 0&&(f=!0,l.metadata=h.metadata);const p=[],m=[],g=[],y=[];if(h.cells!==void 0){const I=h.cells;if(I.structure!==void 0){const x=I.structure.array;if(l.cells.splice(x.start,x.deleteCount,...x.cells!==void 0?x.cells:[]),I.structure.didOpen!==void 0)for(const _ of I.structure.didOpen)a.openTextDocument({textDocument:_}),p.push(_.uri);if(I.structure.didClose)for(const _ of I.structure.didClose)a.closeTextDocument({textDocument:_}),m.push(_.uri)}if(I.data!==void 0){const x=new Map(I.data.map(_=>[_.document,_]));for(let _=0;_<=l.cells.length;_++){const P=x.get(l.cells[_].document);if(P!==void 0){const O=l.cells.splice(_,1,P);if(g.push({old:O[0],new:P}),x.delete(P.document),x.size===0)break}}}if(I.textContent!==void 0)for(const x of I.textContent)a.changeTextDocument({textDocument:x.document,contentChanges:x.changes}),y.push(x.document.uri)}this.updateCellMap(l);const w={notebookDocument:l};f&&(w.metadata={old:d,new:l.metadata});const E=[];for(const I of p)E.push(this.getNotebookCell(I));const k=[];for(const I of m)k.push(this.getNotebookCell(I));const A=[];for(const I of y)A.push(this.getNotebookCell(I));(E.length>0||k.length>0||g.length>0||A.length>0)&&(w.cells={added:E,removed:k,changed:{data:g,textContent:A}}),(w.metadata!==void 0||w.cells!==void 0)&&this._onDidChange.fire(w)})),c.push(o.notebooks.synchronization.onDidSaveNotebookDocument(u=>{const l=this.notebookDocuments.get(u.notebookDocument.uri);l!==void 0&&this._onDidSave.fire(l)})),c.push(o.notebooks.synchronization.onDidCloseNotebookDocument(u=>{const l=this.notebookDocuments.get(u.notebookDocument.uri);if(l!==void 0){this._onDidClose.fire(l);for(const d of u.cellTextDocuments)a.closeTextDocument({textDocument:d});this.notebookDocuments.delete(u.notebookDocument.uri);for(const d of l.cells)this.notebookCellMap.delete(d.document)}})),t.Disposable.create(()=>{c.forEach(u=>u.dispose())})}updateCellMap(o){for(const a of o.cells)this.notebookCellMap.set(a.document,[a,o])}}return eo.NotebookDocuments=i,eo}var _u={},eC;function q7(){if(eC)return _u;eC=1,Object.defineProperty(_u,"__esModule",{value:!0}),_u.MonikerFeature=void 0;const t=St(),e=n=>class extends n{get moniker(){return{on:r=>{const i=t.MonikerRequest.type;return this.connection.onRequest(i,(s,o)=>r(s,o,this.attachWorkDoneProgress(s),this.attachPartialResultProgress(i,s)))}}}};return _u.MonikerFeature=e,_u}var tC;function nC(){if(tC)return je;tC=1,Object.defineProperty(je,"__esModule",{value:!0}),je.createConnection=je.combineFeatures=je.combineNotebooksFeatures=je.combineLanguagesFeatures=je.combineWorkspaceFeatures=je.combineWindowFeatures=je.combineClientFeatures=je.combineTracerFeatures=je.combineTelemetryFeatures=je.combineConsoleFeatures=je._NotebooksImpl=je._LanguagesImpl=je.BulkUnregistration=je.BulkRegistration=je.ErrorMessageTracker=void 0;const t=St(),e=fv(),n=O$(),r=_7(),i=A7(),s=x7(),o=I7(),a=q$(),c=P7(),u=N7(),l=O7(),d=L7(),f=F7(),h=M7(),p=z7(),m=B7(),g=Q$(),y=q7();function w(ce){if(ce!==null)return ce}class E{constructor(){this._messages=Object.create(null)}add(M){let U=this._messages[M];U||(U=0),U++,this._messages[M]=U}sendErrors(M){Object.keys(this._messages).forEach(U=>{M.window.showErrorMessage(U)})}}je.ErrorMessageTracker=E;class k{constructor(){}rawAttach(M){this._rawConnection=M}attach(M){this._connection=M}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}fillServerCapabilities(M){}initialize(M){}error(M){this.send(t.MessageType.Error,M)}warn(M){this.send(t.MessageType.Warning,M)}info(M){this.send(t.MessageType.Info,M)}log(M){this.send(t.MessageType.Log,M)}debug(M){this.send(t.MessageType.Debug,M)}send(M,U){this._rawConnection&&this._rawConnection.sendNotification(t.LogMessageNotification.type,{type:M,message:U}).catch(()=>{(0,t.RAL)().console.error("Sending log message failed")})}}class A{constructor(){}attach(M){this._connection=M}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(M){}fillServerCapabilities(M){}showErrorMessage(M,...U){let oe={type:t.MessageType.Error,message:M,actions:U};return this.connection.sendRequest(t.ShowMessageRequest.type,oe).then(w)}showWarningMessage(M,...U){let oe={type:t.MessageType.Warning,message:M,actions:U};return this.connection.sendRequest(t.ShowMessageRequest.type,oe).then(w)}showInformationMessage(M,...U){let oe={type:t.MessageType.Info,message:M,actions:U};return this.connection.sendRequest(t.ShowMessageRequest.type,oe).then(w)}}const I=(0,c.ShowDocumentFeature)((0,r.ProgressFeature)(A));var x;(function(ce){function M(){return new _}ce.create=M})(x||(je.BulkRegistration=x={}));class _{constructor(){this._registrations=[],this._registered=new Set}add(M,U){const oe=e.string(M)?M:M.method;if(this._registered.has(oe))throw new Error(`${oe} is already added to this registration`);const G=n.generateUuid();this._registrations.push({id:G,method:oe,registerOptions:U||{}}),this._registered.add(oe)}asRegistrationParams(){return{registrations:this._registrations}}}var P;(function(ce){function M(){return new O(void 0,[])}ce.create=M})(P||(je.BulkUnregistration=P={}));class O{constructor(M,U){this._connection=M,this._unregistrations=new Map,U.forEach(oe=>{this._unregistrations.set(oe.method,oe)})}get isAttached(){return!!this._connection}attach(M){this._connection=M}add(M){this._unregistrations.set(M.method,M)}dispose(){let M=[];for(let oe of this._unregistrations.values())M.push(oe);let U={unregisterations:M};this._connection.sendRequest(t.UnregistrationRequest.type,U).catch(()=>{this._connection.console.info("Bulk unregistration failed.")})}disposeSingle(M){const U=e.string(M)?M:M.method,oe=this._unregistrations.get(U);if(!oe)return!1;let G={unregisterations:[oe]};return this._connection.sendRequest(t.UnregistrationRequest.type,G).then(()=>{this._unregistrations.delete(U)},Fe=>{this._connection.console.info(`Un-registering request handler for ${oe.id} failed.`)}),!0}}class C{attach(M){this._connection=M}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(M){}fillServerCapabilities(M){}register(M,U,oe){return M instanceof _?this.registerMany(M):M instanceof O?this.registerSingle1(M,U,oe):this.registerSingle2(M,U)}registerSingle1(M,U,oe){const G=e.string(U)?U:U.method,Fe=n.generateUuid();let yt={registrations:[{id:Fe,method:G,registerOptions:oe||{}}]};return M.isAttached||M.attach(this.connection),this.connection.sendRequest(t.RegistrationRequest.type,yt).then(mn=>(M.add({id:Fe,method:G}),M),mn=>(this.connection.console.info(`Registering request handler for ${G} failed.`),Promise.reject(mn)))}registerSingle2(M,U){const oe=e.string(M)?M:M.method,G=n.generateUuid();let Fe={registrations:[{id:G,method:oe,registerOptions:U||{}}]};return this.connection.sendRequest(t.RegistrationRequest.type,Fe).then(yt=>t.Disposable.create(()=>{this.unregisterSingle(G,oe).catch(()=>{this.connection.console.info(`Un-registering capability with id ${G} failed.`)})}),yt=>(this.connection.console.info(`Registering request handler for ${oe} failed.`),Promise.reject(yt)))}unregisterSingle(M,U){let oe={unregisterations:[{id:M,method:U}]};return this.connection.sendRequest(t.UnregistrationRequest.type,oe).catch(()=>{this.connection.console.info(`Un-registering request handler for ${M} failed.`)})}registerMany(M){let U=M.asRegistrationParams();return this.connection.sendRequest(t.RegistrationRequest.type,U).then(()=>new O(this._connection,U.registrations.map(oe=>({id:oe.id,method:oe.method}))),oe=>(this.connection.console.info("Bulk registration failed."),Promise.reject(oe)))}}class D{constructor(){}attach(M){this._connection=M}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(M){}fillServerCapabilities(M){}applyEdit(M){function U(G){return G&&!!G.edit}let oe=U(M)?M:{edit:M};return this.connection.sendRequest(t.ApplyWorkspaceEditRequest.type,oe)}}const R=(0,u.FileOperationsFeature)((0,s.WorkspaceFoldersFeature)((0,i.ConfigurationFeature)(D)));class F{constructor(){this._trace=t.Trace.Off}attach(M){this._connection=M}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(M){}fillServerCapabilities(M){}set trace(M){this._trace=M}log(M,U){this._trace!==t.Trace.Off&&this.connection.sendNotification(t.LogTraceNotification.type,{message:M,verbose:this._trace===t.Trace.Verbose?U:void 0}).catch(()=>{})}}class W{constructor(){}attach(M){this._connection=M}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(M){}fillServerCapabilities(M){}logEvent(M){this.connection.sendNotification(t.TelemetryEventNotification.type,M).catch(()=>{this.connection.console.log("Sending TelemetryEventNotification failed")})}}class V{constructor(){}attach(M){this._connection=M}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(M){}fillServerCapabilities(M){}attachWorkDoneProgress(M){return(0,r.attachWorkDone)(this.connection,M)}attachPartialResultProgress(M,U){return(0,r.attachPartialResult)(this.connection,U)}}je._LanguagesImpl=V;const Z=(0,h.FoldingRangeFeature)((0,y.MonikerFeature)((0,m.DiagnosticFeature)((0,p.InlayHintFeature)((0,f.InlineValueFeature)((0,d.TypeHierarchyFeature)((0,l.LinkedEditingRangeFeature)((0,a.SemanticTokensFeature)((0,o.CallHierarchyFeature)(V)))))))));class Le{constructor(){}attach(M){this._connection=M}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(M){}fillServerCapabilities(M){}attachWorkDoneProgress(M){return(0,r.attachWorkDone)(this.connection,M)}attachPartialResultProgress(M,U){return(0,r.attachPartialResult)(this.connection,U)}}je._NotebooksImpl=Le;const se=(0,g.NotebookSyncFeature)(Le);function K(ce,M){return function(U){return M(ce(U))}}je.combineConsoleFeatures=K;function Te(ce,M){return function(U){return M(ce(U))}}je.combineTelemetryFeatures=Te;function ut(ce,M){return function(U){return M(ce(U))}}je.combineTracerFeatures=ut;function H(ce,M){return function(U){return M(ce(U))}}je.combineClientFeatures=H;function Y(ce,M){return function(U){return M(ce(U))}}je.combineWindowFeatures=Y;function ee(ce,M){return function(U){return M(ce(U))}}je.combineWorkspaceFeatures=ee;function ne(ce,M){return function(U){return M(ce(U))}}je.combineLanguagesFeatures=ne;function fe(ce,M){return function(U){return M(ce(U))}}je.combineNotebooksFeatures=fe;function Ee(ce,M){function U(G,Fe,yt){return G&&Fe?yt(G,Fe):G||Fe}return{__brand:"features",console:U(ce.console,M.console,K),tracer:U(ce.tracer,M.tracer,ut),telemetry:U(ce.telemetry,M.telemetry,Te),client:U(ce.client,M.client,H),window:U(ce.window,M.window,Y),workspace:U(ce.workspace,M.workspace,ee),languages:U(ce.languages,M.languages,ne),notebooks:U(ce.notebooks,M.notebooks,fe)}}je.combineFeatures=Ee;function ge(ce,M,U){const oe=U&&U.console?new(U.console(k)):new k,G=ce(oe);oe.rawAttach(G);const Fe=U&&U.tracer?new(U.tracer(F)):new F,yt=U&&U.telemetry?new(U.telemetry(W)):new W,mn=U&&U.client?new(U.client(C)):new C,nr=U&&U.window?new(U.window(I)):new I,rr=U&&U.workspace?new(U.workspace(R)):new R,ir=U&&U.languages?new(U.languages(Z)):new Z,qt=U&&U.notebooks?new(U.notebooks(se)):new se,_n=[oe,Fe,yt,mn,nr,rr,ir,qt];function Yr(X){return X instanceof Promise?X:e.thenable(X)?new Promise((J,le)=>{X.then(jt=>J(jt),jt=>le(jt))}):Promise.resolve(X)}let zn,gn,Bn,tn={listen:()=>G.listen(),sendRequest:(X,...J)=>G.sendRequest(e.string(X)?X:X.method,...J),onRequest:(X,J)=>G.onRequest(X,J),sendNotification:(X,J)=>{const le=e.string(X)?X:X.method;return G.sendNotification(le,J)},onNotification:(X,J)=>G.onNotification(X,J),onProgress:G.onProgress,sendProgress:G.sendProgress,onInitialize:X=>(gn=X,{dispose:()=>{gn=void 0}}),onInitialized:X=>G.onNotification(t.InitializedNotification.type,X),onShutdown:X=>(zn=X,{dispose:()=>{zn=void 0}}),onExit:X=>(Bn=X,{dispose:()=>{Bn=void 0}}),get console(){return oe},get telemetry(){return yt},get tracer(){return Fe},get client(){return mn},get window(){return nr},get workspace(){return rr},get languages(){return ir},get notebooks(){return qt},onDidChangeConfiguration:X=>G.onNotification(t.DidChangeConfigurationNotification.type,X),onDidChangeWatchedFiles:X=>G.onNotification(t.DidChangeWatchedFilesNotification.type,X),__textDocumentSync:void 0,onDidOpenTextDocument:X=>G.onNotification(t.DidOpenTextDocumentNotification.type,X),onDidChangeTextDocument:X=>G.onNotification(t.DidChangeTextDocumentNotification.type,X),onDidCloseTextDocument:X=>G.onNotification(t.DidCloseTextDocumentNotification.type,X),onWillSaveTextDocument:X=>G.onNotification(t.WillSaveTextDocumentNotification.type,X),onWillSaveTextDocumentWaitUntil:X=>G.onRequest(t.WillSaveTextDocumentWaitUntilRequest.type,X),onDidSaveTextDocument:X=>G.onNotification(t.DidSaveTextDocumentNotification.type,X),sendDiagnostics:X=>G.sendNotification(t.PublishDiagnosticsNotification.type,X),onHover:X=>G.onRequest(t.HoverRequest.type,(J,le)=>X(J,le,(0,r.attachWorkDone)(G,J),void 0)),onCompletion:X=>G.onRequest(t.CompletionRequest.type,(J,le)=>X(J,le,(0,r.attachWorkDone)(G,J),(0,r.attachPartialResult)(G,J))),onCompletionResolve:X=>G.onRequest(t.CompletionResolveRequest.type,X),onSignatureHelp:X=>G.onRequest(t.SignatureHelpRequest.type,(J,le)=>X(J,le,(0,r.attachWorkDone)(G,J),void 0)),onDeclaration:X=>G.onRequest(t.DeclarationRequest.type,(J,le)=>X(J,le,(0,r.attachWorkDone)(G,J),(0,r.attachPartialResult)(G,J))),onDefinition:X=>G.onRequest(t.DefinitionRequest.type,(J,le)=>X(J,le,(0,r.attachWorkDone)(G,J),(0,r.attachPartialResult)(G,J))),onTypeDefinition:X=>G.onRequest(t.TypeDefinitionRequest.type,(J,le)=>X(J,le,(0,r.attachWorkDone)(G,J),(0,r.attachPartialResult)(G,J))),onImplementation:X=>G.onRequest(t.ImplementationRequest.type,(J,le)=>X(J,le,(0,r.attachWorkDone)(G,J),(0,r.attachPartialResult)(G,J))),onReferences:X=>G.onRequest(t.ReferencesRequest.type,(J,le)=>X(J,le,(0,r.attachWorkDone)(G,J),(0,r.attachPartialResult)(G,J))),onDocumentHighlight:X=>G.onRequest(t.DocumentHighlightRequest.type,(J,le)=>X(J,le,(0,r.attachWorkDone)(G,J),(0,r.attachPartialResult)(G,J))),onDocumentSymbol:X=>G.onRequest(t.DocumentSymbolRequest.type,(J,le)=>X(J,le,(0,r.attachWorkDone)(G,J),(0,r.attachPartialResult)(G,J))),onWorkspaceSymbol:X=>G.onRequest(t.WorkspaceSymbolRequest.type,(J,le)=>X(J,le,(0,r.attachWorkDone)(G,J),(0,r.attachPartialResult)(G,J))),onWorkspaceSymbolResolve:X=>G.onRequest(t.WorkspaceSymbolResolveRequest.type,X),onCodeAction:X=>G.onRequest(t.CodeActionRequest.type,(J,le)=>X(J,le,(0,r.attachWorkDone)(G,J),(0,r.attachPartialResult)(G,J))),onCodeActionResolve:X=>G.onRequest(t.CodeActionResolveRequest.type,(J,le)=>X(J,le)),onCodeLens:X=>G.onRequest(t.CodeLensRequest.type,(J,le)=>X(J,le,(0,r.attachWorkDone)(G,J),(0,r.attachPartialResult)(G,J))),onCodeLensResolve:X=>G.onRequest(t.CodeLensResolveRequest.type,(J,le)=>X(J,le)),onDocumentFormatting:X=>G.onRequest(t.DocumentFormattingRequest.type,(J,le)=>X(J,le,(0,r.attachWorkDone)(G,J),void 0)),onDocumentRangeFormatting:X=>G.onRequest(t.DocumentRangeFormattingRequest.type,(J,le)=>X(J,le,(0,r.attachWorkDone)(G,J),void 0)),onDocumentOnTypeFormatting:X=>G.onRequest(t.DocumentOnTypeFormattingRequest.type,(J,le)=>X(J,le)),onRenameRequest:X=>G.onRequest(t.RenameRequest.type,(J,le)=>X(J,le,(0,r.attachWorkDone)(G,J),void 0)),onPrepareRename:X=>G.onRequest(t.PrepareRenameRequest.type,(J,le)=>X(J,le)),onDocumentLinks:X=>G.onRequest(t.DocumentLinkRequest.type,(J,le)=>X(J,le,(0,r.attachWorkDone)(G,J),(0,r.attachPartialResult)(G,J))),onDocumentLinkResolve:X=>G.onRequest(t.DocumentLinkResolveRequest.type,(J,le)=>X(J,le)),onDocumentColor:X=>G.onRequest(t.DocumentColorRequest.type,(J,le)=>X(J,le,(0,r.attachWorkDone)(G,J),(0,r.attachPartialResult)(G,J))),onColorPresentation:X=>G.onRequest(t.ColorPresentationRequest.type,(J,le)=>X(J,le,(0,r.attachWorkDone)(G,J),(0,r.attachPartialResult)(G,J))),onFoldingRanges:X=>G.onRequest(t.FoldingRangeRequest.type,(J,le)=>X(J,le,(0,r.attachWorkDone)(G,J),(0,r.attachPartialResult)(G,J))),onSelectionRanges:X=>G.onRequest(t.SelectionRangeRequest.type,(J,le)=>X(J,le,(0,r.attachWorkDone)(G,J),(0,r.attachPartialResult)(G,J))),onExecuteCommand:X=>G.onRequest(t.ExecuteCommandRequest.type,(J,le)=>X(J,le,(0,r.attachWorkDone)(G,J),void 0)),dispose:()=>G.dispose()};for(let X of _n)X.attach(tn);return G.onRequest(t.InitializeRequest.type,X=>{M.initialize(X),e.string(X.trace)&&(Fe.trace=t.Trace.fromString(X.trace));for(let J of _n)J.initialize(X.capabilities);if(gn){let J=gn(X,new t.CancellationTokenSource().token,(0,r.attachWorkDone)(G,X),void 0);return Yr(J).then(le=>{if(le instanceof t.ResponseError)return le;let jt=le;jt||(jt={capabilities:{}});let Ft=jt.capabilities;Ft||(Ft={},jt.capabilities=Ft),Ft.textDocumentSync===void 0||Ft.textDocumentSync===null?Ft.textDocumentSync=e.number(tn.__textDocumentSync)?tn.__textDocumentSync:t.TextDocumentSyncKind.None:!e.number(Ft.textDocumentSync)&&!e.number(Ft.textDocumentSync.change)&&(Ft.textDocumentSync.change=e.number(tn.__textDocumentSync)?tn.__textDocumentSync:t.TextDocumentSyncKind.None);for(let Rr of _n)Rr.fillServerCapabilities(Ft);return jt})}else{let J={capabilities:{textDocumentSync:t.TextDocumentSyncKind.None}};for(let le of _n)le.fillServerCapabilities(J.capabilities);return J}}),G.onRequest(t.ShutdownRequest.type,()=>{if(M.shutdownReceived=!0,zn)return zn(new t.CancellationTokenSource().token)}),G.onNotification(t.ExitNotification.type,()=>{try{Bn&&Bn()}finally{M.shutdownReceived?M.exit(0):M.exit(1)}}),G.onNotification(t.SetTraceNotification.type,X=>{Fe.trace=t.Trace.fromString(X.value)}),tn}return je.createConnection=ge,je}var fn={};const j7=ui(B2),ph=ui(q2),rC=ui(j2);var iC;function U7(){if(iC)return fn;iC=1,Object.defineProperty(fn,"__esModule",{value:!0}),fn.resolveModulePath=fn.FileSystem=fn.resolveGlobalYarnPath=fn.resolveGlobalNodePath=fn.resolve=fn.uriToFilePath=void 0;const t=j7,e=au,n=ph,r=rC;function i(d){let f=t.parse(d);if(f.protocol!=="file:"||!f.path)return;let h=f.path.split("/");for(var p=0,m=h.length;p<m;p++)h[p]=decodeURIComponent(h[p]);if(process.platform==="win32"&&h.length>1){let g=h[0],y=h[1];g.length===0&&y.length>1&&y[1]===":"&&h.shift()}return e.normalize(h.join("/"))}fn.uriToFilePath=i;function s(){return process.platform==="win32"}function o(d,f,h,p){const m="NODE_PATH",g=["var p = process;","p.on('message',function(m){","if(m.c==='e'){","p.exit(0);","}","else if(m.c==='rs'){","try{","var r=require.resolve(m.a);","p.send({c:'r',s:true,r:r});","}","catch(err){","p.send({c:'r',s:false});","}","}","});"].join("");return new Promise((y,w)=>{let E=process.env,k=Object.create(null);Object.keys(E).forEach(A=>k[A]=E[A]),f&&n.existsSync(f)&&(k[m]?k[m]=f+e.delimiter+k[m]:k[m]=f,p&&p(`NODE_PATH value is: ${k[m]}`)),k.ELECTRON_RUN_AS_NODE="1";try{let A=(0,r.fork)("",[],{cwd:h,env:k,execArgv:["-e",g]});if(A.pid===void 0){w(new Error(`Starting process to resolve node module ${d} failed`));return}A.on("error",x=>{w(x)}),A.on("message",x=>{x.c==="r"&&(A.send({c:"e"}),x.s?y(x.r):w(new Error(`Failed to resolve module: ${d}`)))});let I={c:"rs",a:d};A.send(I)}catch(A){w(A)}})}fn.resolve=o;function a(d){let f="npm";const h=Object.create(null);Object.keys(process.env).forEach(g=>h[g]=process.env[g]),h.NO_UPDATE_NOTIFIER="true";const p={encoding:"utf8",env:h};s()&&(f="npm.cmd",p.shell=!0);let m=()=>{};try{process.on("SIGPIPE",m);let g=(0,r.spawnSync)(f,["config","get","prefix"],p).stdout;if(!g){d&&d("'npm config get prefix' didn't return a value.");return}let y=g.trim();return d&&d(`'npm config get prefix' value is: ${y}`),y.length>0?s()?e.join(y,"node_modules"):e.join(y,"lib","node_modules"):void 0}catch{return}finally{process.removeListener("SIGPIPE",m)}}fn.resolveGlobalNodePath=a;function c(d){let f="yarn",h={encoding:"utf8"};s()&&(f="yarn.cmd",h.shell=!0);let p=()=>{};try{process.on("SIGPIPE",p);let m=(0,r.spawnSync)(f,["global","dir","--json"],h),g=m.stdout;if(!g){d&&(d("'yarn global dir' didn't return a value."),m.stderr&&d(m.stderr));return}let y=g.trim().split(/\r?\n/);for(let w of y)try{let E=JSON.parse(w);if(E.type==="log")return e.join(E.data,"node_modules")}catch{}return}catch{return}finally{process.removeListener("SIGPIPE",p)}}fn.resolveGlobalYarnPath=c;var u;(function(d){let f;function h(){return f!==void 0||(process.platform==="win32"?f=!1:f=!n.existsSync(__filename.toUpperCase())||!n.existsSync(__filename.toLowerCase())),f}d.isCaseSensitive=h;function p(m,g){return h()?e.normalize(g).indexOf(e.normalize(m))===0:e.normalize(g).toLowerCase().indexOf(e.normalize(m).toLowerCase())===0}d.isParent=p})(u||(fn.FileSystem=u={}));function l(d,f,h,p){return h?(e.isAbsolute(h)||(h=e.join(d,h)),o(f,h,h,p).then(m=>u.isParent(h,m)?m:Promise.reject(new Error(`Failed to load ${f} from node path location.`))).then(void 0,m=>o(f,a(p),d,p))):o(f,a(p),d,p)}return fn.resolveModulePath=l,fn}var bv,sC;function oC(){return sC||(sC=1,bv=St()),bv}var to={},Au={},aC;function G7(){if(aC)return Au;aC=1,Object.defineProperty(Au,"__esModule",{value:!0}),Au.InlineCompletionFeature=void 0;const t=St(),e=n=>class extends n{get inlineCompletion(){return{on:r=>this.connection.onRequest(t.InlineCompletionRequest.type,(i,s)=>r(i,s,this.attachWorkDoneProgress(i)))}}};return Au.InlineCompletionFeature=e,Au}var cC;function W7(){return cC||(cC=1,function(t){var e=to&&to.__createBinding||(Object.create?function(c,u,l,d){d===void 0&&(d=l);var f=Object.getOwnPropertyDescriptor(u,l);(!f||("get"in f?!u.__esModule:f.writable||f.configurable))&&(f={enumerable:!0,get:function(){return u[l]}}),Object.defineProperty(c,d,f)}:function(c,u,l,d){d===void 0&&(d=l),c[d]=u[l]}),n=to&&to.__exportStar||function(c,u){for(var l in c)l!=="default"&&!Object.prototype.hasOwnProperty.call(u,l)&&e(u,c,l)};Object.defineProperty(t,"__esModule",{value:!0}),t.ProposedFeatures=t.NotebookDocuments=t.TextDocuments=t.SemanticTokensBuilder=void 0;const r=q$();Object.defineProperty(t,"SemanticTokensBuilder",{enumerable:!0,get:function(){return r.SemanticTokensBuilder}});const i=G7();n(St(),t);const s=J$();Object.defineProperty(t,"TextDocuments",{enumerable:!0,get:function(){return s.TextDocuments}});const o=Q$();Object.defineProperty(t,"NotebookDocuments",{enumerable:!0,get:function(){return o.NotebookDocuments}}),n(nC(),t);var a;(function(c){c.all={__brand:"features",languages:i.InlineCompletionFeature}})(a||(t.ProposedFeatures=a={}))}(to)),to}var uC;function lC(){return uC||(uC=1,function(t){var e=Gs&&Gs.__createBinding||(Object.create?function(y,w,E,k){k===void 0&&(k=E);var A=Object.getOwnPropertyDescriptor(w,E);(!A||("get"in A?!w.__esModule:A.writable||A.configurable))&&(A={enumerable:!0,get:function(){return w[E]}}),Object.defineProperty(y,k,A)}:function(y,w,E,k){k===void 0&&(k=E),y[k]=w[E]}),n=Gs&&Gs.__exportStar||function(y,w){for(var E in y)E!=="default"&&!Object.prototype.hasOwnProperty.call(w,E)&&e(w,y,E)};Object.defineProperty(t,"__esModule",{value:!0}),t.createConnection=t.Files=void 0;const r=K9,i=fv(),s=nC(),o=U7(),a=oC();n(oC(),t),n(W7(),t);var c;(function(y){y.uriToFilePath=o.uriToFilePath,y.resolveGlobalNodePath=o.resolveGlobalNodePath,y.resolveGlobalYarnPath=o.resolveGlobalYarnPath,y.resolve=o.resolve,y.resolveModulePath=o.resolveModulePath})(c||(t.Files=c={}));function u(){}let l=!1,d;function f(){const y="--clientProcessId";function w(E){try{let k=parseInt(E);isNaN(k)||(d=setInterval(()=>{try{process.kill(k,0)}catch{process.exit(l?0:1)}},3e3))}catch{}}for(let E=2;E<process.argv.length;E++){let k=process.argv[E];if(k===y&&E+1<process.argv.length){w(process.argv[E+1]);return}else{let A=k.split("=");A[0]===y&&w(A[1])}}}f();const h={initialize:y=>{const w=y.processId;i.number(w)&&d===void 0&&setInterval(()=>{try{process.kill(w,0)}catch{process.exit(l?0:1)}},3e3)},get shutdownReceived(){return l},set shutdownReceived(y){l=y},exit:y=>{process.exit(y)}};function p(y,w,E,k){let A,I,x,_;return y!==void 0&&y.__brand==="features"&&(A=y,y=w,w=E,E=k),a.ConnectionStrategy.is(y)||a.ConnectionOptions.is(y)?_=y:(I=y,x=w,_=E),m(I,x,_,A)}t.createConnection=p;function m(y,w,E,k){let A=!1;if(!y&&!w&&process.argv.length>2){let P,O,C=process.argv.slice(2);for(let D=0;D<C.length;D++){let R=C[D];if(R==="--node-ipc"){y=new a.IPCMessageReader(process),w=new a.IPCMessageWriter(process);break}else if(R==="--stdio"){A=!0,y=process.stdin,w=process.stdout;break}else if(R==="--socket"){P=parseInt(C[D+1]);break}else if(R==="--pipe"){O=C[D+1];break}else{var I=R.split("=");if(I[0]==="--socket"){P=parseInt(I[1]);break}else if(I[0]==="--pipe"){O=I[1];break}}}if(P){let D=(0,a.createServerSocketTransport)(P);y=D[0],w=D[1]}else if(O){let D=(0,a.createServerPipeTransport)(O);y=D[0],w=D[1]}}var x="Use arguments of createConnection or set command line parameters: '--node-ipc', '--stdio' or '--socket={number}'";if(!y)throw new Error("Connection input stream is not set. "+x);if(!w)throw new Error("Connection output stream is not set. "+x);if(i.func(y.read)&&i.func(y.on)){let P=y;P.on("end",()=>{process.exit(l?0:1)}),P.on("close",()=>{process.exit(l?0:1)})}const _=P=>{const O=(0,a.createProtocolConnection)(y,w,P,E);return A&&g(P),O};return(0,s.createConnection)(_,h,k)}function g(y){function w(k){return k.map(A=>typeof A=="string"?A:(0,r.inspect)(A)).join(" ")}const E=new Map;console.assert=function(A,...I){if(!A)if(I.length===0)y.error("Assertion failed");else{const[x,..._]=I;y.error(`Assertion failed: ${x} ${w(_)}`)}},console.count=function(A="default"){const I=String(A);let x=E.get(I)??0;x+=1,E.set(I,x),y.log(`${I}: ${I}`)},console.countReset=function(A){A===void 0?E.clear():E.delete(String(A))},console.debug=function(...A){y.log(w(A))},console.dir=function(A,I){y.log((0,r.inspect)(A,I))},console.log=function(...A){y.log(w(A))},console.error=function(...A){y.error(w(A))},console.trace=function(...A){const I=new Error().stack.replace(/(.+\n){2}/,"");let x="Trace";A.length!==0&&(x+=`: ${w(A)}`),y.log(`${x}
160
- ${I}`)},console.warn=function(...A){y.warn(w(A))}}}(Gs)),Gs}var me=lC();function dC(t,e){const n={stacks:t,tokens:e};return H7(n),n.stacks.flat().forEach(i=>{i.property=void 0}),hC(n.stacks).map(i=>i[i.length-1])}function Ev(t){const{next:e,cardinalities:n,visited:r,plus:i}=t,s=[],o=e.feature;if(r.has(o))return[];r.add(o);let a,c=o;for(;c.$container;)if(Mi(c.$container)){a=c.$container;break}else if(dg(c.$container))c=c.$container;else break;if(dT(c.cardinality)){const u=aa({next:{feature:c,type:e.type},cardinalities:n,visited:r,plus:i});for(const l of u)i.add(l.feature);s.push(...u)}if(a){const u=a.elements.indexOf(c);u!==void 0&&u<a.elements.length-1&&s.push(...fC({feature:a,type:e.type},u+1,n,r,i)),s.every(l=>qo(l.feature.cardinality,l.feature)||qo(n.get(l.feature))||i.has(l.feature))&&s.push(...Ev({next:{feature:a,type:e.type},cardinalities:n,visited:r,plus:i}))}return s}function Dv(t){return vt(t)&&(t={feature:t}),aa({next:t,cardinalities:new Map,visited:new Set,plus:new Set})}function aa(t){var e,n,r;const{next:i,cardinalities:s,visited:o,plus:a}=t;if(i===void 0)return[];const{feature:c,type:u}=i;if(Mi(c)){if(o.has(c))return[];o.add(c)}if(Mi(c))return fC(i,0,s,o,a).map(l=>mh(l,c.cardinality,s));if(gg(c)||yg(c))return c.elements.flatMap(l=>aa({next:{feature:l,type:u,property:i.property},cardinalities:s,visited:o,plus:a})).map(l=>mh(l,c.cardinality,s));if(Ar(c)){const l={feature:c.terminal,type:u,property:(e=i.property)!==null&&e!==void 0?e:c.feature};return aa({next:l,cardinalities:s,visited:o,plus:a}).map(d=>mh(d,c.cardinality,s))}else{if(_s(c))return Ev({next:{feature:c,type:xc(c),property:(n=i.property)!==null&&n!==void 0?n:c.feature},cardinalities:s,visited:o,plus:a});if(si(c)&&Jt(c.rule.ref)){const l=c.rule.ref,d={feature:l.definition,type:l.fragment||l.dataType?void 0:(r=As(l))!==null&&r!==void 0?r:l.name,property:i.property};return aa({next:d,cardinalities:s,visited:o,plus:a}).map(f=>mh(f,c.cardinality,s))}else return[i]}}function mh(t,e,n){return n.set(t.feature,e),t}function fC(t,e,n,r,i){var s;const o=[];let a;for(;e<t.feature.elements.length&&(a={feature:t.feature.elements[e++],type:t.type},o.push(...aa({next:a,cardinalities:n,visited:r,plus:i})),!!qo((s=a.feature.cardinality)!==null&&s!==void 0?s:n.get(a.feature),a.feature)););return o}function H7(t){for(const e of t.tokens){const n=hC(t.stacks,e);t.stacks=n}}function hC(t,e){const n=[];for(const r of t)n.push(...V7(r,e));return n}function V7(t,e){const n=new Map,r=new Set(t.map(s=>s.feature).filter(K7)),i=[];for(;t.length>0;){const s=t.pop(),o=Ev({next:s,cardinalities:n,plus:r,visited:new Set}).filter(a=>e?Tv(a.feature,e):!0);for(const a of o)i.push([...t,a]);if(!o.every(a=>qo(a.feature.cardinality,a.feature)||qo(n.get(a.feature))))break}return i}function K7(t){if(t.cardinality==="+")return!0;const e=wn(t,Ar);return!!(e&&e.cardinality==="+")}function Tv(t,e){if(xr(t))return t.value===e.image;if(si(t))return Y7(t.rule.ref,e);if(pc(t)){const n=kg(t);if(n)return Tv(n,e)}return!1}function Y7(t,e){return Jt(t)?Dv(t.definition).some(r=>Tv(r.feature,e)):ii(t)?Ic(t).test(e.image):!1}function X7(t){const e=Array.from(new Set(t.flatMap(r=>{var i;return(i=r?.triggerCharacters)!==null&&i!==void 0?i:[]}))),n=Array.from(new Set(t.flatMap(r=>{var i;return(i=r?.allCommitCharacters)!==null&&i!==void 0?i:[]})));return{triggerCharacters:e.length>0?e:void 0,allCommitCharacters:n.length>0?n:void 0}}class pC{constructor(e){this.scopeProvider=e.references.ScopeProvider,this.grammar=e.Grammar,this.completionParser=e.parser.CompletionParser,this.nameProvider=e.references.NameProvider,this.lexer=e.parser.Lexer,this.nodeKindProvider=e.shared.lsp.NodeKindProvider,this.fuzzyMatcher=e.shared.lsp.FuzzyMatcher,this.grammarConfig=e.parser.GrammarConfig,this.astReflection=e.shared.AstReflection,this.documentationProvider=e.documentation.DocumentationProvider}async getCompletion(e,n,r){const i=[],s=this.buildContexts(e,n.position),o=(u,l)=>{const d=this.fillCompletionItem(u,l);d&&i.push(d)},a=u=>xr(u.feature)?u.feature.value:u.feature,c=[];for(const u of s)if(await Promise.all(Qe(u.features).distinct(a).exclude(c).map(l=>this.completionFor(u,l,o))),c.push(...u.features),!this.continueCompletion(i))break;return me.CompletionList.create(this.deduplicateItems(i),!0)}deduplicateItems(e){return Qe(e).distinct(n=>`${n.kind}_${n.label}_${n.detail}`).toArray()}findFeaturesAt(e,n){const r=e.getText({start:me.Position.create(0,0),end:e.positionAt(n)}),i=this.completionParser.parse(r),s=i.tokens;if(i.tokenIndex===0){const c=sf(this.grammar),u=Dv({feature:c.definition,type:As(c)});return s.length>0?(s.shift(),dC(u.map(l=>[l]),s)):u}const o=[...s].splice(i.tokenIndex);return dC([i.elementStack.map(c=>({feature:c}))],o)}*buildContexts(e,n){var r,i;const s=e.parseResult.value.$cstNode;if(!s)return;const o=e.textDocument,a=o.getText(),c=o.offsetAt(n),u={document:e,textDocument:o,offset:c,position:n},l=this.findDataTypeRuleStart(s,c);if(l){const[w,E]=l,k=(r=Bd(s,w))===null||r===void 0?void 0:r.astNode;yield Object.assign(Object.assign({},u),{node:k,tokenOffset:w,tokenEndOffset:E,features:this.findFeaturesAt(o,w)})}const{nextTokenStart:d,nextTokenEnd:f,previousTokenStart:h,previousTokenEnd:p}=this.backtrackToAnyToken(a,c);let m=d;c<=d&&h!==void 0&&(m=h);const g=(i=Bd(s,m))===null||i===void 0?void 0:i.astNode;let y=!0;if(h!==void 0&&p!==void 0&&p===c&&(yield Object.assign(Object.assign({},u),{node:g,tokenOffset:h,tokenEndOffset:p,features:this.findFeaturesAt(o,h)}),y=this.performNextTokenCompletion(e,a.substring(h,p),h,p),y&&(yield Object.assign(Object.assign({},u),{node:g,tokenOffset:p,tokenEndOffset:p,features:this.findFeaturesAt(o,p)}))),g)y&&(yield Object.assign(Object.assign({},u),{node:g,tokenOffset:d,tokenEndOffset:f,features:this.findFeaturesAt(o,d)}));else{const w=sf(this.grammar);if(!w)throw new Error("Missing entry parser rule");yield Object.assign(Object.assign({},u),{tokenOffset:d,tokenEndOffset:f,features:Dv(w.definition)})}}performNextTokenCompletion(e,n,r,i){return new RegExp("\\P{L}$","u").test(n)}findDataTypeRuleStart(e,n){var r,i;let s=Fi(e,n,this.grammarConfig.nameRegexp),o=!!(!((r=wn(s?.grammarSource,Jt))===null||r===void 0)&&r.dataType);if(o){for(;o;)s=s?.container,o=!!(!((i=wn(s?.grammarSource,Jt))===null||i===void 0)&&i.dataType);if(s)return[s.offset,s.end]}}continueCompletion(e){return e.length===0}backtrackToAnyToken(e,n){const r=this.lexer.tokenize(e).tokens;if(r.length===0)return{nextTokenStart:n,nextTokenEnd:n};let i;for(const s of r){if(s.startOffset>=n)return{nextTokenStart:n,nextTokenEnd:n,previousTokenStart:i?i.startOffset:void 0,previousTokenEnd:i?i.endOffset+1:void 0};if(s.endOffset>=n)return{nextTokenStart:s.startOffset,nextTokenEnd:s.endOffset+1,previousTokenStart:i?i.startOffset:void 0,previousTokenEnd:i?i.endOffset+1:void 0};i=s}return{nextTokenStart:n,nextTokenEnd:n,previousTokenStart:i?i.startOffset:void 0,previousTokenEnd:i?i.endOffset+1:void 0}}completionFor(e,n,r){if(xr(n.feature))return this.completionForKeyword(e,n.feature,r);if(pc(n.feature)&&e.node)return this.completionForCrossReference(e,n,r)}completionForCrossReference(e,n,r){const i=wn(n.feature,Ar);let s=e.node;if(i&&s){n.type&&(s={$type:n.type,$container:s,$containerProperty:n.property},bg(this.astReflection,s));const o={reference:{$refText:""},container:s,property:i.feature};try{for(const a of this.getReferenceCandidates(o,e))r(e,this.createReferenceCompletionItem(a))}catch(a){console.error(a)}}}getReferenceCandidates(e,n){return this.scopeProvider.getScope(e).getAllElements()}createReferenceCompletionItem(e){const n=this.nodeKindProvider.getCompletionItemKind(e),r=this.getReferenceDocumentation(e);return{nodeDescription:e,kind:n,documentation:r,detail:e.type,sortText:"0"}}getReferenceDocumentation(e){if(!e.node)return;const n=this.documentationProvider.getDocumentation(e.node);if(n)return{kind:"markdown",value:n}}completionForKeyword(e,n,r){this.filterKeyword(e,n)&&r(e,{label:n.value,kind:this.getKeywordCompletionItemKind(n),detail:"Keyword",sortText:"1"})}getKeywordCompletionItemKind(e){return me.CompletionItemKind.Keyword}filterKeyword(e,n){return new RegExp("\\p{L}","u").test(n.value)}fillCompletionItem(e,n){var r,i;let s;if(typeof n.label=="string")s=n.label;else if("node"in n){const u=this.nameProvider.getName(n.node);if(!u)return;s=u}else if("nodeDescription"in n)s=n.nodeDescription.name;else return;let o;typeof((r=n.textEdit)===null||r===void 0?void 0:r.newText)=="string"?o=n.textEdit.newText:typeof n.insertText=="string"?o=n.insertText:o=s;const a=(i=n.textEdit)!==null&&i!==void 0?i:this.buildCompletionTextEdit(e,s,o);return a?{additionalTextEdits:n.additionalTextEdits,command:n.command,commitCharacters:n.commitCharacters,data:n.data,detail:n.detail,documentation:n.documentation,filterText:n.filterText,insertText:n.insertText,insertTextFormat:n.insertTextFormat,insertTextMode:n.insertTextMode,kind:n.kind,labelDetails:n.labelDetails,preselect:n.preselect,sortText:n.sortText,tags:n.tags,textEditText:n.textEditText,textEdit:a,label:s}:void 0}buildCompletionTextEdit(e,n,r){const s=e.textDocument.getText().substring(e.tokenOffset,e.offset);if(this.fuzzyMatcher.match(s,n)){const o=e.textDocument.positionAt(e.tokenOffset),a=e.position;return{newText:r,range:{start:o,end:a}}}else return}}class J7{constructor(e){this.nameProvider=e.references.NameProvider,this.references=e.references.References,this.grammarConfig=e.parser.GrammarConfig}getDefinition(e,n,r){const i=e.parseResult.value;if(i.$cstNode){const s=i.$cstNode,o=Fi(s,e.textDocument.offsetAt(n.position),this.grammarConfig.nameRegexp);if(o)return this.collectLocationLinks(o,n)}}collectLocationLinks(e,n){var r;const i=this.findLink(e);if(i)return[me.LocationLink.create(i.targetDocument.textDocument.uri,((r=i.target.astNode.$cstNode)!==null&&r!==void 0?r:i.target).range,i.target.range,i.source.range)]}findLink(e){const n=this.references.findDeclarationNode(e);if(n?.astNode){const r=sn(n.astNode);if(n&&r)return{source:e,target:n,targetDocument:r}}}}class mC{constructor(e){this.references=e.references.References,this.nameProvider=e.references.NameProvider,this.grammarConfig=e.parser.GrammarConfig}getDocumentHighlight(e,n,r){const i=e.parseResult.value.$cstNode;if(!i)return;const s=Fi(i,e.textDocument.offsetAt(n.position),this.grammarConfig.nameRegexp);if(!s)return;const o=this.references.findDeclaration(s);if(o){const a=Et.equals(sn(o).uri,e.uri),c={documentUri:e.uri,includeDeclaration:a};return this.references.findReferences(o,c).map(l=>this.createDocumentHighlight(l)).toArray()}}createDocumentHighlight(e){return me.DocumentHighlight.create(e.segment.range)}}class Z7{constructor(e){this.nameProvider=e.references.NameProvider,this.nodeKindProvider=e.shared.lsp.NodeKindProvider}getSymbols(e,n,r){return this.getSymbol(e,e.parseResult.value)}getSymbol(e,n){const r=n.$cstNode,i=this.nameProvider.getNameNode(n);if(i&&r){const s=this.nameProvider.getName(n);return[{kind:this.nodeKindProvider.getSymbolKind(n),name:s||i.text,range:r.range,selectionRange:i.range,children:this.getChildSymbols(e,n)}]}else return this.getChildSymbols(e,n)||[]}getChildSymbols(e,n){const r=[];for(const i of Cc(n)){const s=this.getSymbol(e,i);r.push(...s)}if(r.length>0)return r}}class Q7{constructor(e){this.workspaceManager=e.workspace.WorkspaceManager,this.documentBuilder=e.workspace.DocumentBuilder,this.workspaceLock=e.workspace.WorkspaceLock,this.serviceRegistry=e.ServiceRegistry;let n=!1;e.lsp.LanguageServer.onInitialize(r=>{var i,s;n=!!(!((s=(i=r.capabilities.workspace)===null||i===void 0?void 0:i.didChangeWatchedFiles)===null||s===void 0)&&s.dynamicRegistration)}),e.lsp.LanguageServer.onInitialized(r=>{n&&this.registerFileWatcher(e)})}registerFileWatcher(e){const n=Qe(e.ServiceRegistry.all).flatMap(r=>r.LanguageMetaData.fileExtensions).map(r=>r.startsWith(".")?r.substring(1):r).distinct().toArray();if(n.length>0){const r=e.lsp.Connection,i={watchers:[{globPattern:n.length===1?`**/*.${n[0]}`:`**/*.{${n.join(",")}}`}]};r?.client.register(me.DidChangeWatchedFilesNotification.type,i)}}fireDocumentUpdate(e,n){e=e.filter(r=>this.serviceRegistry.hasServices(r)),this.workspaceManager.ready.then(()=>{this.workspaceLock.write(r=>this.documentBuilder.update(e,n,r))}).catch(r=>{console.error("Workspace initialization failed. Could not perform document update.",r)})}didChangeContent(e){this.fireDocumentUpdate([Vt.parse(e.document.uri)],[])}didChangeWatchedFiles(e){const n=Qe(e.changes).filter(i=>i.type!==me.FileChangeType.Deleted).distinct(i=>i.uri).map(i=>Vt.parse(i.uri)).toArray(),r=Qe(e.changes).filter(i=>i.type===me.FileChangeType.Deleted).distinct(i=>i.uri).map(i=>Vt.parse(i.uri)).toArray();this.fireDocumentUpdate(n,r)}}class eG{constructor(e){this.commentNames=e.parser.GrammarConfig.multilineCommentRules}getFoldingRanges(e,n,r){const i=[],s=o=>i.push(o);return this.collectFolding(e,s),i}collectFolding(e,n){var r;const i=(r=e.parseResult)===null||r===void 0?void 0:r.value;if(i){if(this.shouldProcessContent(i)){const s=Ir(i).iterator();let o;do if(o=s.next(),!o.done){const a=o.value;this.shouldProcess(a)&&this.collectObjectFolding(e,a,n),this.shouldProcessContent(a)||s.prune()}while(!o.done)}this.collectCommentFolding(e,i,n)}}shouldProcess(e){return!0}shouldProcessContent(e){return!0}collectObjectFolding(e,n,r){const i=n.$cstNode;if(i){const s=this.toFoldingRange(e,i);s&&r(s)}}collectCommentFolding(e,n,r){const i=n.$cstNode;if(i){for(const s of zD(i))if(this.commentNames.includes(s.tokenType.name)){const o=this.toFoldingRange(e,s,me.FoldingRangeKind.Comment);o&&r(o)}}}toFoldingRange(e,n,r){const i=n.range,s=i.start;let o=i.end;if(!(o.line-s.line<2))return this.includeLastFoldingLine(n,r)||(o=e.textDocument.positionAt(e.textDocument.offsetAt({line:o.line,character:0})-1)),me.FoldingRange.create(s.line,o.line,s.character,o.character,r)}includeLastFoldingLine(e,n){if(n===me.FoldingRangeKind.Comment)return!1;const r=e.text,i=r.charAt(r.length-1);return!(i==="}"||i===")"||i==="]")}}class tG{match(e,n){if(e.length===0)return!0;let r=!1,i,s=0;const o=n.length;for(let a=0;a<o;a++){const c=n.charCodeAt(a),u=e.charCodeAt(s);if((c===u||this.toUpperCharCode(c)===this.toUpperCharCode(u))&&(r||(r=i===void 0||this.isWordTransition(i,c)),r&&s++,s===e.length))return!0;i=c}return!1}isWordTransition(e,n){return gC<=e&&e<=yC&&nG<=n&&n<=rG||e===vC&&n!==vC}toUpperCharCode(e){return gC<=e&&e<=yC?e-32:e}}const gC=97,yC=122,nG=65,rG=90,vC=95;class wC{constructor(e){this.references=e.references.References,this.grammarConfig=e.parser.GrammarConfig}getHoverContent(e,n){var r,i;const s=(i=(r=e.parseResult)===null||r===void 0?void 0:r.value)===null||i===void 0?void 0:i.$cstNode;if(s){const o=e.textDocument.offsetAt(n.position),a=Fi(s,o,this.grammarConfig.nameRegexp);if(a&&a.offset+a.length>o){const c=this.references.findDeclaration(a);if(c)return this.getAstNodeHoverContent(c)}}}}class iG extends wC{constructor(e){super(e),this.documentationProvider=e.documentation.DocumentationProvider}getAstNodeHoverContent(e){const n=this.documentationProvider.getDocumentation(e);if(n)return{contents:{kind:"markdown",value:n}}}}var gh=St();const sG={[me.SemanticTokenTypes.class]:0,[me.SemanticTokenTypes.comment]:1,[me.SemanticTokenTypes.enum]:2,[me.SemanticTokenTypes.enumMember]:3,[me.SemanticTokenTypes.event]:4,[me.SemanticTokenTypes.function]:5,[me.SemanticTokenTypes.interface]:6,[me.SemanticTokenTypes.keyword]:7,[me.SemanticTokenTypes.macro]:8,[me.SemanticTokenTypes.method]:9,[me.SemanticTokenTypes.modifier]:10,[me.SemanticTokenTypes.namespace]:11,[me.SemanticTokenTypes.number]:12,[me.SemanticTokenTypes.operator]:13,[me.SemanticTokenTypes.parameter]:14,[me.SemanticTokenTypes.property]:15,[me.SemanticTokenTypes.regexp]:16,[me.SemanticTokenTypes.string]:17,[me.SemanticTokenTypes.struct]:18,[me.SemanticTokenTypes.type]:19,[me.SemanticTokenTypes.typeParameter]:20,[me.SemanticTokenTypes.variable]:21,[me.SemanticTokenTypes.decorator]:22},oG={[me.SemanticTokenModifiers.abstract]:1,[me.SemanticTokenModifiers.async]:2,[me.SemanticTokenModifiers.declaration]:4,[me.SemanticTokenModifiers.defaultLibrary]:8,[me.SemanticTokenModifiers.definition]:16,[me.SemanticTokenModifiers.deprecated]:32,[me.SemanticTokenModifiers.documentation]:64,[me.SemanticTokenModifiers.modification]:128,[me.SemanticTokenModifiers.readonly]:256,[me.SemanticTokenModifiers.static]:512};function aG(t){const e=[],n=[];let r=!0,i=!0,s=!0;for(const o of t)o&&(o.legend.tokenTypes.forEach((a,c)=>{const u=e[c];if(u&&u!==a)throw new Error(`Cannot merge '${u}' and '${a}' token types. They use the same index ${c}.`);e[c]=a}),o.legend.tokenModifiers.forEach((a,c)=>{const u=n[c];if(u&&u!==a)throw new Error(`Cannot merge '${u}' and '${a}' token modifier. They use the same index ${c}.`);n[c]=a}),o.full?typeof o.full=="object"&&!o.full.delta&&(i=!1):r=!1,o.range||(s=!1));return{legend:{tokenTypes:e,tokenModifiers:n},full:r&&{delta:i},range:s}}class cG extends me.SemanticTokensBuilder{constructor(){super(...arguments),this._tokens=[]}push(e,n,r,i,s){this._tokens.push({line:e,char:n,length:r,tokenType:i,tokenModifiers:s})}build(){return this.applyTokens(),super.build()}buildEdits(){return this.applyTokens(),super.buildEdits()}flush(){this.previousResult(this.id)}applyTokens(){for(const e of this._tokens.sort(this.compareTokens))super.push(e.line,e.char,e.length,e.tokenType,e.tokenModifiers);this._tokens=[]}compareTokens(e,n){return e.line===n.line?e.char-n.char:e.line-n.line}}class uG{constructor(e){this.tokensBuilders=new Map,e.shared.workspace.TextDocuments.onDidClose(n=>{this.tokensBuilders.delete(n.document.uri)}),e.shared.lsp.LanguageServer.onInitialize(n=>{var r;this.initialize((r=n.capabilities.textDocument)===null||r===void 0?void 0:r.semanticTokens)})}initialize(e){this.clientCapabilities=e}get tokenTypes(){return sG}get tokenModifiers(){return oG}get semanticTokensOptions(){return{legend:{tokenTypes:Object.keys(this.tokenTypes),tokenModifiers:Object.keys(this.tokenModifiers)},full:{delta:!0},range:!0}}async semanticHighlight(e,n,r=dt.CancellationToken.None){return this.currentRange=void 0,this.currentDocument=e,this.currentTokensBuilder=this.getDocumentTokensBuilder(e),this.currentTokensBuilder.flush(),await this.computeHighlighting(e,this.createAcceptor(),r),this.currentTokensBuilder.build()}async semanticHighlightRange(e,n,r=dt.CancellationToken.None){return this.currentRange=n.range,this.currentDocument=e,this.currentTokensBuilder=this.getDocumentTokensBuilder(e),this.currentTokensBuilder.flush(),await this.computeHighlighting(e,this.createAcceptor(),r),this.currentTokensBuilder.build()}async semanticHighlightDelta(e,n,r=dt.CancellationToken.None){return this.currentRange=void 0,this.currentDocument=e,this.currentTokensBuilder=this.getDocumentTokensBuilder(e),this.currentTokensBuilder.previousResult(n.previousResultId),await this.computeHighlighting(e,this.createAcceptor(),r),this.currentTokensBuilder.buildEdits()}createAcceptor(){return n=>{"line"in n?this.highlightToken({range:{start:{line:n.line,character:n.char},end:{line:n.line,character:n.char+n.length}},type:n.type,modifier:n.modifier}):"range"in n?this.highlightToken(n):"keyword"in n?this.highlightKeyword(n):"property"in n?this.highlightProperty(n):this.highlightNode({node:n.cst,type:n.type,modifier:n.modifier})}}getDocumentTokensBuilder(e){const n=this.tokensBuilders.get(e.uri.toString());if(n)return n;const r=new cG;return this.tokensBuilders.set(e.uri.toString(),r),r}async computeHighlighting(e,n,r){const i=e.parseResult.value,s=oi(i,{range:this.currentRange}).iterator();let o;do if(o=s.next(),!o.done){await zt(r);const a=o.value;this.highlightElement(a,n)==="prune"&&s.prune()}while(!o.done)}highlightToken(e){var n;const{range:r,type:i}=e;let s=e.modifier;if(this.currentRange&&!sg(r,this.currentRange)||!this.currentDocument||!this.currentTokensBuilder)return;const o=this.tokenTypes[i];let a=0;if(s!==void 0){typeof s=="string"&&(s=[s]);for(const l of s){const d=this.tokenModifiers[l];a|=d}}const c=r.start.line,u=r.end.line;if(c===u){const l=r.start.character,d=r.end.character-l;this.currentTokensBuilder.push(c,l,d,o,a)}else if(!((n=this.clientCapabilities)===null||n===void 0)&&n.multilineTokenSupport){const l=r.start.character,d=this.currentDocument.textDocument.offsetAt(r.start),f=this.currentDocument.textDocument.offsetAt(r.end);this.currentTokensBuilder.push(c,l,f-d,o,a)}else{const l=r.start;let d=this.currentDocument.textDocument.offsetAt({line:c+1,character:0});this.currentTokensBuilder.push(l.line,l.character,d-l.character-1,o,a);for(let f=c+1;f<u;f++){const h=d;d=this.currentDocument.textDocument.offsetAt({line:f+1,character:0}),this.currentTokensBuilder.push(f,0,d-h-1,o,a)}this.currentTokensBuilder.push(u,0,r.end.character,o,a)}}highlightProperty(e){const n=[];if(typeof e.index=="number"){const s=An(e.node.$cstNode,e.property,e.index);s&&n.push(s)}else n.push(...Bo(e.node.$cstNode,e.property));const{type:r,modifier:i}=e;for(const s of n)this.highlightNode({node:s,type:r,modifier:i})}highlightKeyword(e){const{node:n,keyword:r,type:i,index:s,modifier:o}=e,a=[];if(typeof s=="number"){const c=Ac(n.$cstNode,r,s);c&&a.push(c)}else a.push(...Cg(n.$cstNode,r));for(const c of a)this.highlightNode({node:c,type:i,modifier:o})}highlightNode(e){const{node:n,type:r,modifier:i}=e,s=n.range;this.highlightToken({range:s,type:r,modifier:i})}}var bC;(function(t){function e(r,i,s){const o=new Map;Object.entries(i).forEach(([u,l])=>o.set(l,u));let a=0,c=0;return n(r.data,5).map(u=>{a+=u[0],u[0]!==0&&(c=0),c+=u[1];const l=u[2];return{offset:s.textDocument.offsetAt({line:a,character:c}),tokenType:o.get(u[3]),tokenModifiers:u[4],text:s.textDocument.getText({start:{line:a,character:c},end:{line:a,character:c+l}})}})}t.decode=e;function n(r,i){const s=[];for(let o=0;o<r.length;o+=i){const a=r.slice(o,o+i);s.push(a)}return s}})(bC||(bC={}));function lG(t){const e=[],n=[];t.forEach(i=>{i?.triggerCharacters&&e.push(...i.triggerCharacters),i?.retriggerCharacters&&n.push(...i.retriggerCharacters)});const r={triggerCharacters:e.length>0?Array.from(new Set(e)).sort():void 0,retriggerCharacters:n.length>0?Array.from(new Set(n)).sort():void 0};return r.triggerCharacters?r:void 0}class dG{constructor(e){this.onInitializeEmitter=new gh.Emitter,this.onInitializedEmitter=new gh.Emitter,this.services=e}get onInitialize(){return this.onInitializeEmitter.event}get onInitialized(){return this.onInitializedEmitter.event}async initialize(e){return this.eagerLoadServices(),this.fireInitializeOnDefaultServices(e),this.onInitializeEmitter.fire(e),this.onInitializeEmitter.dispose(),this.buildInitializeResult(e)}eagerLoadServices(){rv(this.services),this.services.ServiceRegistry.all.forEach(e=>rv(e))}hasService(e){return this.services.ServiceRegistry.all.some(r=>e(r)!==void 0)}buildInitializeResult(e){var n,r,i,s;const o=this.services.lsp.DocumentUpdateHandler,a=(n=this.services.lsp.FileOperationHandler)===null||n===void 0?void 0:n.fileOperationOptions,c=this.services.ServiceRegistry.all,u=this.hasService(se=>{var K;return(K=se.lsp)===null||K===void 0?void 0:K.Formatter}),l=c.map(se=>{var K,Te;return(Te=(K=se.lsp)===null||K===void 0?void 0:K.Formatter)===null||Te===void 0?void 0:Te.formatOnTypeOptions}).find(se=>!!se),d=this.hasService(se=>{var K;return(K=se.lsp)===null||K===void 0?void 0:K.CodeActionProvider}),f=this.hasService(se=>{var K;return(K=se.lsp)===null||K===void 0?void 0:K.SemanticTokenProvider}),h=aG(c.map(se=>{var K,Te;return(Te=(K=se.lsp)===null||K===void 0?void 0:K.SemanticTokenProvider)===null||Te===void 0?void 0:Te.semanticTokensOptions})),p=(i=(r=this.services.lsp)===null||r===void 0?void 0:r.ExecuteCommandHandler)===null||i===void 0?void 0:i.commands,m=this.hasService(se=>{var K;return(K=se.lsp)===null||K===void 0?void 0:K.DocumentLinkProvider}),g=lG(c.map(se=>{var K,Te;return(Te=(K=se.lsp)===null||K===void 0?void 0:K.SignatureHelp)===null||Te===void 0?void 0:Te.signatureHelpOptions})),y=this.hasService(se=>{var K;return(K=se.lsp)===null||K===void 0?void 0:K.TypeProvider}),w=this.hasService(se=>{var K;return(K=se.lsp)===null||K===void 0?void 0:K.ImplementationProvider}),E=this.hasService(se=>{var K;return(K=se.lsp)===null||K===void 0?void 0:K.CompletionProvider}),k=X7(c.map(se=>{var K,Te;return(Te=(K=se.lsp)===null||K===void 0?void 0:K.CompletionProvider)===null||Te===void 0?void 0:Te.completionOptions})),A=this.hasService(se=>{var K;return(K=se.lsp)===null||K===void 0?void 0:K.ReferencesProvider}),I=this.hasService(se=>{var K;return(K=se.lsp)===null||K===void 0?void 0:K.DocumentSymbolProvider}),x=this.hasService(se=>{var K;return(K=se.lsp)===null||K===void 0?void 0:K.DefinitionProvider}),_=this.hasService(se=>{var K;return(K=se.lsp)===null||K===void 0?void 0:K.DocumentHighlightProvider}),P=this.hasService(se=>{var K;return(K=se.lsp)===null||K===void 0?void 0:K.FoldingRangeProvider}),O=this.hasService(se=>{var K;return(K=se.lsp)===null||K===void 0?void 0:K.HoverProvider}),C=this.hasService(se=>{var K;return(K=se.lsp)===null||K===void 0?void 0:K.RenameProvider}),D=this.hasService(se=>{var K;return(K=se.lsp)===null||K===void 0?void 0:K.CallHierarchyProvider}),R=this.hasService(se=>{var K;return(K=se.lsp)===null||K===void 0?void 0:K.TypeHierarchyProvider}),F=this.hasService(se=>{var K;return(K=se.lsp)===null||K===void 0?void 0:K.CodeLensProvider}),W=this.hasService(se=>{var K;return(K=se.lsp)===null||K===void 0?void 0:K.DeclarationProvider}),V=this.hasService(se=>{var K;return(K=se.lsp)===null||K===void 0?void 0:K.InlayHintProvider}),Z=(s=this.services.lsp)===null||s===void 0?void 0:s.WorkspaceSymbolProvider;return{capabilities:{workspace:{workspaceFolders:{supported:!0},fileOperations:a},executeCommandProvider:p&&{commands:p},textDocumentSync:{change:gh.TextDocumentSyncKind.Incremental,openClose:!0,save:!!o.didSaveDocument,willSave:!!o.willSaveDocument,willSaveWaitUntil:!!o.willSaveDocumentWaitUntil},completionProvider:E?k:void 0,referencesProvider:A,documentSymbolProvider:I,definitionProvider:x,typeDefinitionProvider:y,documentHighlightProvider:_,codeActionProvider:d,documentFormattingProvider:u,documentRangeFormattingProvider:u,documentOnTypeFormattingProvider:l,foldingRangeProvider:P,hoverProvider:O,renameProvider:C?{prepareProvider:!0}:void 0,semanticTokensProvider:f?h:void 0,signatureHelpProvider:g,implementationProvider:w,callHierarchyProvider:D?{}:void 0,typeHierarchyProvider:R?{}:void 0,documentLinkProvider:m?{resolveProvider:!1}:void 0,codeLensProvider:F?{resolveProvider:!1}:void 0,declarationProvider:W,inlayHintProvider:V?{resolveProvider:!1}:void 0,workspaceSymbolProvider:Z?{resolveProvider:!!Z.resolveSymbol}:void 0}}}initialized(e){this.fireInitializedOnDefaultServices(e),this.onInitializedEmitter.fire(e),this.onInitializedEmitter.dispose()}fireInitializeOnDefaultServices(e){this.services.workspace.ConfigurationProvider.initialize(e),this.services.workspace.WorkspaceManager.initialize(e)}fireInitializedOnDefaultServices(e){const n=this.services.lsp.Connection,r=n?Object.assign(Object.assign({},e),{register:i=>n.client.register(gh.DidChangeConfigurationNotification.type,i),fetchConfiguration:i=>n.workspace.getConfiguration(i)}):e;this.services.workspace.ConfigurationProvider.initialized(r).catch(i=>console.error("Error in ConfigurationProvider initialization:",i)),this.services.workspace.WorkspaceManager.initialized(e).catch(i=>console.error("Error in WorkspaceManager initialization:",i))}}class fG{getSymbolKind(e){return me.SymbolKind.Field}getCompletionItemKind(e){return me.CompletionItemKind.Reference}}class hG{constructor(e){this.nameProvider=e.references.NameProvider,this.references=e.references.References,this.grammarConfig=e.parser.GrammarConfig}findReferences(e,n,r){const i=e.parseResult.value.$cstNode;if(!i)return[];const s=Fi(i,e.textDocument.offsetAt(n.position),this.grammarConfig.nameRegexp);return s?this.getReferences(s,n,e):[]}getReferences(e,n,r){const i=[],s=this.references.findDeclaration(e);if(s){const o={includeDeclaration:n.context.includeDeclaration};this.references.findReferences(s,o).forEach(a=>{i.push(me.Location.create(a.sourceUri.toString(),a.segment.range))})}return i}}class pG{constructor(e){this.references=e.references.References,this.nameProvider=e.references.NameProvider,this.grammarConfig=e.parser.GrammarConfig}async rename(e,n,r){const i={},s=e.parseResult.value.$cstNode;if(!s)return;const o=e.textDocument.offsetAt(n.position),a=Fi(s,o,this.grammarConfig.nameRegexp);if(!a)return;const c=this.references.findDeclaration(a);if(!c)return;const u={onlyLocal:!1,includeDeclaration:!0};return this.references.findReferences(c,u).forEach(d=>{const f=Sn.replace(d.segment.range,n.newName),h=d.sourceUri.toString();i[h]?i[h].push(f):i[h]=[f]}),{changes:i}}prepareRename(e,n,r){return this.renameNodeRange(e,n.position)}renameNodeRange(e,n){const r=e.parseResult.value.$cstNode,i=e.textDocument.offsetAt(n);if(r&&i){const s=Fi(r,i,this.grammarConfig.nameRegexp);if(!s)return;if(this.references.findDeclaration(s)||this.isNameNode(s))return s.range}}isNameNode(e){return e?.astNode&&tk(e.astNode)&&e===this.nameProvider.getNameNode(e.astNode)}}class EC{constructor(e){this.indexManager=e.workspace.IndexManager,this.nodeKindProvider=e.lsp.NodeKindProvider,this.fuzzyMatcher=e.lsp.FuzzyMatcher}async getSymbols(e,n=dt.CancellationToken.None){const r=[],i=e.query.toLowerCase();for(const s of this.indexManager.allElements())if(await zt(n),this.fuzzyMatcher.match(i,s.name)){const o=this.getWorkspaceSymbol(s);o&&r.push(o)}return r}getWorkspaceSymbol(e){const n=e.nameSegment;if(n)return{kind:this.nodeKindProvider.getSymbolKind(e),name:e.name,location:{range:n.range,uri:e.documentUri.toString()}}}}class mG{constructor(e){this._configuration=e,this._syncedDocuments=new Map,this._onDidChangeContent=new me.Emitter,this._onDidOpen=new me.Emitter,this._onDidClose=new me.Emitter,this._onDidSave=new me.Emitter,this._onWillSave=new me.Emitter}get onDidOpen(){return this._onDidOpen.event}get onDidChangeContent(){return this._onDidChangeContent.event}get onWillSave(){return this._onWillSave.event}onWillSaveWaitUntil(e){this._willSaveWaitUntil=e}get onDidSave(){return this._onDidSave.event}get onDidClose(){return this._onDidClose.event}get(e){return this._syncedDocuments.get(Et.normalize(e))}set(e){const n=Et.normalize(e.uri);let r=!0;this._syncedDocuments.has(n)&&(r=!1),this._syncedDocuments.set(n,e);const i=Object.freeze({document:e});return this._onDidOpen.fire(i),this._onDidChangeContent.fire(i),r}delete(e){const n=Et.normalize(typeof e=="object"&&"uri"in e?e.uri:e),r=this._syncedDocuments.get(n);r!==void 0&&(this._syncedDocuments.delete(n),this._onDidClose.fire(Object.freeze({document:r})))}all(){return Array.from(this._syncedDocuments.values())}keys(){return Array.from(this._syncedDocuments.keys())}listen(e){e.__textDocumentSync=me.TextDocumentSyncKind.Incremental;const n=[];return n.push(e.onDidOpenTextDocument(r=>{const i=r.textDocument,s=Et.normalize(i.uri),o=this._configuration.create(s,i.languageId,i.version,i.text);this._syncedDocuments.set(s,o);const a=Object.freeze({document:o});this._onDidOpen.fire(a),this._onDidChangeContent.fire(a)})),n.push(e.onDidChangeTextDocument(r=>{const i=r.textDocument,s=r.contentChanges;if(s.length===0)return;const{version:o}=i;if(o==null)throw new Error(`Received document change event for ${i.uri} without valid version identifier`);const a=Et.normalize(i.uri);let c=this._syncedDocuments.get(a);c!==void 0&&(c=this._configuration.update(c,s,o),this._syncedDocuments.set(a,c),this._onDidChangeContent.fire(Object.freeze({document:c})))})),n.push(e.onDidCloseTextDocument(r=>{const i=Et.normalize(r.textDocument.uri),s=this._syncedDocuments.get(i);s!==void 0&&(this._syncedDocuments.delete(i),this._onDidClose.fire(Object.freeze({document:s})))})),n.push(e.onWillSaveTextDocument(r=>{const i=this._syncedDocuments.get(Et.normalize(r.textDocument.uri));i!==void 0&&this._onWillSave.fire(Object.freeze({document:i,reason:r.reason}))})),n.push(e.onWillSaveTextDocumentWaitUntil((r,i)=>{const s=this._syncedDocuments.get(Et.normalize(r.textDocument.uri));return s!==void 0&&this._willSaveWaitUntil?this._willSaveWaitUntil(Object.freeze({document:s,reason:r.reason}),i):[]})),n.push(e.onDidSaveTextDocument(r=>{const i=this._syncedDocuments.get(Et.normalize(r.textDocument.uri));i!==void 0&&this._onDidSave.fire(Object.freeze({document:i}))})),me.Disposable.create(()=>{n.forEach(r=>r.dispose())})}}function gG(t){return sh.merge(Ek(t),yG(t))}function yG(t){return{lsp:{CompletionProvider:e=>new pC(e),DocumentSymbolProvider:e=>new Z7(e),HoverProvider:e=>new iG(e),FoldingRangeProvider:e=>new eG(e),ReferencesProvider:e=>new hG(e),DefinitionProvider:e=>new J7(e),DocumentHighlightProvider:e=>new mC(e),RenameProvider:e=>new pG(e)},shared:()=>t.shared}}function vG(t){return sh.merge(Dk(t),wG(t))}function wG(t){return{lsp:{Connection:()=>t.connection,LanguageServer:e=>new dG(e),DocumentUpdateHandler:e=>new Q7(e),WorkspaceSymbolProvider:e=>new EC(e),NodeKindProvider:()=>new fG,FuzzyMatcher:()=>new tG},workspace:{TextDocuments:()=>new mG(rh)}}}class bG{constructor(){this.collector=()=>{}}getNodeFormatter(e){return new EG(e,this.collector)}formatDocument(e,n){const r=e.parseResult;return r.lexerErrors.length===0&&r.parserErrors.length===0?this.doDocumentFormat(e,n.options):[]}isFormatRangeErrorFree(e,n){const r=e.parseResult;return r.lexerErrors.length||r.parserErrors.length?Math.min(...r.lexerErrors.map(s=>{var o;return(o=s.line)!==null&&o!==void 0?o:Number.MAX_VALUE}),...r.parserErrors.map(s=>{var o;return(o=s.token.startLine)!==null&&o!==void 0?o:Number.MAX_VALUE}))>n.end.line:!0}formatDocumentRange(e,n){return this.isFormatRangeErrorFree(e,n.range)?this.doDocumentFormat(e,n.options,n.range):[]}formatDocumentOnType(e,n){const r={start:{character:0,line:n.position.line},end:n.position};return this.isFormatRangeErrorFree(e,r)?this.doDocumentFormat(e,n.options,r):[]}get formatOnTypeOptions(){}doDocumentFormat(e,n,r){const i=new Map,s=(a,c,u)=>{var l,d;const f=this.nodeModeToKey(a,c),h=i.get(f),p=(l=u.options.priority)!==null&&l!==void 0?l:0,m=(d=h?.options.priority)!==null&&d!==void 0?d:0;(!h||m<=p)&&i.set(f,u)};this.collector=s,this.iterateAstFormatting(e,r);const o=this.iterateCstFormatting(e,i,n,r);return this.avoidOverlappingEdits(e.textDocument,o)}avoidOverlappingEdits(e,n){const r=[];for(const i of n){let s=r[r.length-1];for(;s;){const o=e.offsetAt(i.range.start),a=e.offsetAt(s.range.end);if(o<a)r.pop(),s=r[r.length-1];else break}r.push(i)}return r.filter(i=>this.isNecessary(i,e))}iterateAstFormatting(e,n){const r=e.parseResult.value;this.format(r);const i=Ir(r).iterator();let s;do if(s=i.next(),!s.done){const o=s.value;this.insideRange(o.$cstNode.range,n)?this.format(o):i.prune()}while(!s.done)}nodeModeToKey(e,n){return`${e.offset}:${e.end}:${n}`}insideRange(e,n){return!n||e.start.line<=n.start.line&&e.end.line>=n.end.line||e.start.line>=n.start.line&&e.end.line<=n.end.line||e.start.line<=n.end.line&&e.end.line>=n.end.line}isNecessary(e,n){return e.newText!==n.getText(e.range).replace(/\r/g,"")}iterateCstFormatting(e,n,r,i){const s={indentation:0,options:r,document:e.textDocument},o=[],c=this.iterateCstTree(e,s).iterator();let u,l;do if(l=c.next(),!l.done){const d=l.value,f=Cs(d),h=this.nodeModeToKey(d,"prepend"),p=n.get(h);if(n.delete(h),p){const y=this.createTextEdit(u,d,p,s);for(const w of y)w&&this.insideRange(w.range,i)&&o.push(w)}const m=this.nodeModeToKey(d,"append"),g=n.get(m);if(n.delete(m),g){const y=GD(d);if(y){const w=this.createTextEdit(d,y,g,s);for(const E of w)E&&this.insideRange(E.range,i)&&o.push(E)}}if(!p&&d.hidden){const y=this.createHiddenTextEdits(u,d,void 0,s);for(const w of y)w&&this.insideRange(w.range,i)&&o.push(w)}f&&(u=d)}while(!l.done);return o}createHiddenTextEdits(e,n,r,i){var s;const o=n.range.start.line;if(e&&e.range.end.line===o)return[];const a=[],c={start:{character:0,line:o},end:n.range.start},u=i.document.getText(c),l=this.findFittingMove(c,(s=r?.moves)!==null&&s!==void 0?s:[],i),d=this.getExistingIndentationCharacterCount(u,i),h=this.getIndentationCharacterCount(i,l)-d;if(h===0)return[];let p="";h>0&&(p=(i.options.insertSpaces?" ":" ").repeat(h));const m=n.text.split(`
161
- `);m[0]=u+m[0];for(let g=0;g<m.length;g++){const y=o+g,w={character:0,line:y};if(h>0)a.push({newText:p,range:{start:w,end:w}});else{const E=m[g];let k=0;for(;k<E.length;k++){const A=E.charAt(k);if(A!==" "&&A!==" ")break}a.push({newText:"",range:{start:w,end:{line:y,character:Math.min(k,Math.abs(h))}}})}}return a}getExistingIndentationCharacterCount(e,n){const r=" ".repeat(n.options.tabSize);return(n.options.insertSpaces?e.replaceAll(" ",r):e.replaceAll(r," ")).length}getIndentationCharacterCount(e,n){let r=e.indentation;return n&&n.tabs&&(r+=n.tabs),(e.options.insertSpaces?e.options.tabSize:1)*r}createTextEdit(e,n,r,i){var s;if(n.hidden)return this.createHiddenTextEdits(e,n,r,i);if(e&&(e.range.end.line>n.range.start.line||e.range.end.line===n.range.start.line&&e.range.end.character>n.range.start.character))return[];const o={start:(s=e?.range.end)!==null&&s!==void 0?s:{character:0,line:0},end:n.range.start},a=this.findFittingMove(o,r.moves,i);if(!a)return[];const c=a.characters,u=a.lines,l=a.tabs,d=i.indentation;i.indentation+=l??0;const f=[];return c!==void 0?e?.hidden||f.push(this.createSpaceTextEdit(o,c,r.options)):u!==void 0?f.push(this.createLineTextEdit(o,u,i,r.options)):l!==void 0&&f.push(this.createTabTextEdit(o,!!e,i)),Cs(n)&&(i.indentation=d),f}createSpaceTextEdit(e,n,r){if(e.start.line===e.end.line){const s=e.end.character-e.start.character;n=this.fitIntoOptions(n,s,r)}return{newText:" ".repeat(n),range:e}}createLineTextEdit(e,n,r,i){const s=e.end.line-e.start.line;n=this.fitIntoOptions(n,s,i);const a=(r.options.insertSpaces?" ".repeat(r.options.tabSize):" ").repeat(r.indentation);return{newText:`${`
162
- `.repeat(n)}${a}`,range:e}}createTabTextEdit(e,n,r){const s=(r.options.insertSpaces?" ".repeat(r.options.tabSize):" ").repeat(r.indentation),o=n?1:0,a=Math.max(e.end.line-e.start.line,o);return{newText:`${`
163
- `.repeat(a)}${s}`,range:e}}fitIntoOptions(e,n,r){return r.allowMore?e=Math.max(n,e):r.allowLess&&(e=Math.min(n,e)),e}findFittingMove(e,n,r){if(n.length===0)return;if(n.length===1)return n[0];const i=e.end.line-e.start.line;for(const s of n){if(s.lines!==void 0&&i<=s.lines)return s;if(s.lines===void 0&&i===0)return s}return n[n.length-1]}iterateCstTree(e,n){const i=e.parseResult.value.$cstNode;return i?new Fo(i,s=>this.iterateCst(s,n)):Lo}iterateCst(e,n){if(!ri(e))return Lo;const r=n.indentation;return new It(()=>({index:0}),i=>i.index<e.content.length?{done:!1,value:e.content[i.index++]}:(n.indentation=r,Xt))}}class EG{constructor(e,n){this.astNode=e,this.collector=n}node(e){return new Tr(e.$cstNode?[e.$cstNode]:[],this.collector)}nodes(...e){const n=[];for(const r of e)r.$cstNode&&n.push(r.$cstNode);return new Tr(n,this.collector)}property(e,n){const r=An(this.astNode.$cstNode,e,n);return new Tr(r?[r]:[],this.collector)}properties(...e){const n=[];for(const r of e){const i=Bo(this.astNode.$cstNode,r);n.push(...i)}return new Tr(n,this.collector)}keyword(e,n){const r=Ac(this.astNode.$cstNode,e,n);return new Tr(r?[r]:[],this.collector)}keywords(...e){const n=[];for(const r of e){const i=Cg(this.astNode.$cstNode,r);n.push(...i)}return new Tr(n,this.collector)}cst(e){return new Tr([...e],this.collector)}interior(e,n){const r=e.nodes,i=n.nodes;if(r.length!==1||i.length!==1)return new Tr([],this.collector);let s=r[0],o=i[0];if(s.offset>o.offset){const a=s;s=o,o=a}return new Tr(WD(s,o),this.collector)}}class Tr{constructor(e,n){this.nodes=e,this.collector=n}prepend(e){for(const n of this.nodes)this.collector(n,"prepend",e);return this}append(e){for(const n of this.nodes)this.collector(n,"append",e);return this}surround(e){for(const n of this.nodes)this.collector(n,"prepend",e),this.collector(n,"append",e);return this}slice(e,n){return new Tr(this.nodes.slice(e,n),this.collector)}}var Xi;(function(t){function e(...l){return{options:{},moves:l.flatMap(d=>d.moves).sort(u)}}t.fit=e;function n(l){return i(0,l)}t.noSpace=n;function r(l){return i(1,l)}t.oneSpace=r;function i(l,d){return{options:d??{},moves:[{characters:l}]}}t.spaces=i;function s(l){return o(1,l)}t.newLine=s;function o(l,d){return{options:d??{},moves:[{lines:l}]}}t.newLines=o;function a(l){return{options:l??{},moves:[{tabs:1,lines:1}]}}t.indent=a;function c(l){return{options:l??{},moves:[{tabs:0}]}}t.noIndent=c;function u(l,d){var f,h,p,m,g,y;const w=(f=l.lines)!==null&&f!==void 0?f:0,E=(h=d.lines)!==null&&h!==void 0?h:0,k=(p=l.tabs)!==null&&p!==void 0?p:0,A=(m=d.tabs)!==null&&m!==void 0?m:0,I=(g=l.characters)!==null&&g!==void 0?g:0,x=(y=d.characters)!==null&&y!==void 0?y:0;return w<E?-1:w>E?1:k<A?-1:k>A?1:I<x?-1:I>x?1:0}})(Xi||(Xi={}));var Rv,DC;function DG(){return DC||(DC=1,Rv=lC()),Rv}DG();class TG{constructor(){this.encoding="utf-8"}readFile(e){return H0.promises.readFile(e.fsPath,this.encoding)}async readDirectory(e){return(await H0.promises.readdir(e.fsPath,{withFileTypes:!0})).map(r=>({dirent:r,isFile:r.isFile(),isDirectory:r.isDirectory(),uri:Et.joinPath(e,r.name)}))}}const Ye={silent:Number.NEGATIVE_INFINITY,fatal:0,error:0,warn:1,log:2,info:3,success:3,fail:3,ready:3,start:3,box:3,debug:4,trace:5,verbose:Number.POSITIVE_INFINITY},TC={silent:{level:-1},fatal:{level:Ye.fatal},error:{level:Ye.error},warn:{level:Ye.warn},log:{level:Ye.log},info:{level:Ye.info},success:{level:Ye.success},fail:{level:Ye.fail},ready:{level:Ye.info},start:{level:Ye.info},box:{level:Ye.info},debug:{level:Ye.debug},trace:{level:Ye.trace},verbose:{level:Ye.verbose}};function Sv(t){return t!==null&&typeof t=="object"}function kv(t,e,n=".",r){if(!Sv(e))return kv(t,{},n);const i=Object.assign({},e);for(const s in t){if(s==="__proto__"||s==="constructor")continue;const o=t[s];o!=null&&(Array.isArray(o)&&Array.isArray(i[s])?i[s]=[...o,...i[s]]:Sv(o)&&Sv(i[s])?i[s]=kv(o,i[s],(n?`${n}.`:"")+s.toString()):i[s]=o)}return i}function RG(t){return(...e)=>e.reduce((n,r)=>kv(n,r,""),{})}const SG=RG();function kG(t){return Object.prototype.toString.call(t)==="[object Object]"}function $G(t){return!(!kG(t)||!t.message&&!t.args||t.stack)}let $v=!1;const RC=[];let hn=class m2{constructor(e={}){const n=e.types||TC;this.options=SG({...e,defaults:{...e.defaults},level:Cv(e.level,n),reporters:[...e.reporters||[]]},{types:TC,throttle:1e3,throttleMin:5,formatOptions:{date:!0,colors:!1,compact:!0}});for(const r in n){const i={type:r,...this.options.defaults,...n[r]};this[r]=this._wrapLogFn(i),this[r].raw=this._wrapLogFn(i,!0)}this.options.mockFn&&this.mockTypes(),this._lastLog={}}get level(){return this.options.level}set level(e){this.options.level=Cv(e,this.options.types,this.options.level)}prompt(e,n){if(!this.options.prompt)throw new Error("prompt is not supported!");return this.options.prompt(e,n)}create(e){const n=new m2({...this.options,...e});return this._mockFn&&n.mockTypes(this._mockFn),n}withDefaults(e){return this.create({...this.options,defaults:{...this.options.defaults,...e}})}withTag(e){return this.withDefaults({tag:this.options.defaults.tag?this.options.defaults.tag+":"+e:e})}addReporter(e){return this.options.reporters.push(e),this}removeReporter(e){if(e){const n=this.options.reporters.indexOf(e);if(n>=0)return this.options.reporters.splice(n,1)}else this.options.reporters.splice(0);return this}setReporters(e){return this.options.reporters=Array.isArray(e)?e:[e],this}wrapAll(){this.wrapConsole(),this.wrapStd()}restoreAll(){this.restoreConsole(),this.restoreStd()}wrapConsole(){for(const e in this.options.types)console["__"+e]||(console["__"+e]=console[e]),console[e]=this[e].raw}restoreConsole(){for(const e in this.options.types)console["__"+e]&&(console[e]=console["__"+e],delete console["__"+e])}wrapStd(){this._wrapStream(this.options.stdout,"log"),this._wrapStream(this.options.stderr,"log")}_wrapStream(e,n){e&&(e.__write||(e.__write=e.write),e.write=r=>{this[n].raw(String(r).trim())})}restoreStd(){this._restoreStream(this.options.stdout),this._restoreStream(this.options.stderr)}_restoreStream(e){e&&e.__write&&(e.write=e.__write,delete e.__write)}pauseLogs(){$v=!0}resumeLogs(){$v=!1;const e=RC.splice(0);for(const n of e)n[0]._logFn(n[1],n[2])}mockTypes(e){const n=e||this.options.mockFn;if(this._mockFn=n,typeof n=="function")for(const r in this.options.types)this[r]=n(r,this.options.types[r])||this[r],this[r].raw=this[r]}_wrapLogFn(e,n){return(...r)=>{if($v){RC.push([this,e,r,n]);return}return this._logFn(e,r,n)}}_logFn(e,n,r){if((e.level||0)>this.level)return!1;const i={date:new Date,args:[],...e,level:Cv(e.level,this.options.types)};!r&&n.length===1&&$G(n[0])?Object.assign(i,n[0]):i.args=[...n],i.message&&(i.args.unshift(i.message),delete i.message),i.additional&&(Array.isArray(i.additional)||(i.additional=i.additional.split(`
164
- `)),i.args.push(`
165
- `+i.additional.join(`
166
- `)),delete i.additional),i.type=typeof i.type=="string"?i.type.toLowerCase():"log",i.tag=typeof i.tag=="string"?i.tag:"";const s=(a=!1)=>{const c=(this._lastLog.count||0)-this.options.throttleMin;if(this._lastLog.object&&c>0){const u=[...this._lastLog.object.args];c>1&&u.push(`(repeated ${c} times)`),this._log({...this._lastLog.object,args:u}),this._lastLog.count=1}a&&(this._lastLog.object=i,this._log(i))};clearTimeout(this._lastLog.timeout);const o=this._lastLog.time&&i.date?i.date.getTime()-this._lastLog.time.getTime():0;if(this._lastLog.time=i.date,o<this.options.throttle)try{const a=JSON.stringify([i.type,i.tag,i.args]),c=this._lastLog.serialized===a;if(this._lastLog.serialized=a,c&&(this._lastLog.count=(this._lastLog.count||0)+1,this._lastLog.count>this.options.throttleMin)){this._lastLog.timeout=setTimeout(s,this.options.throttle);return}}catch{}s(!0)}_log(e){for(const n of this.options.reporters)n.log(e,{options:this.options})}};function Cv(t,e={},n=3){return t===void 0?n:typeof t=="number"?t:e[t]&&e[t].level!==void 0?e[t].level:n}hn.prototype.add=hn.prototype.addReporter,hn.prototype.remove=hn.prototype.removeReporter,hn.prototype.clear=hn.prototype.removeReporter,hn.prototype.withScope=hn.prototype.withTag,hn.prototype.mock=hn.prototype.mockTypes,hn.prototype.pause=hn.prototype.pauseLogs,hn.prototype.resume=hn.prototype.resumeLogs;function CG(t={}){return new hn(t)}function SC(t){const e=process.cwd()+R2;return t.split(`
167
- `).splice(1).map(n=>n.trim().replace("file://","").replace(e,""))}function _G(t,e){return(e.__write||e.write).call(e,t)}const _v=t=>t?`[${t}]`:"";let kC=class{formatStack(e,n){return" "+SC(e).join(`
168
- `)}formatArgs(e,n){const r=e.map(i=>i&&typeof i.stack=="string"?i.message+`
169
- `+this.formatStack(i.stack,n):i);return A2(n,...r)}formatDate(e,n){return n.date?e.toLocaleTimeString():""}filterAndJoin(e){return e.filter(Boolean).join(" ")}formatLogObj(e,n){const r=this.formatArgs(e.args,n);return e.type==="box"?`
170
- `+[_v(e.tag),e.title&&e.title,...r.split(`
171
- `)].filter(Boolean).map(i=>" > "+i).join(`
172
- `)+`
173
- `:this.filterAndJoin([_v(e.type),_v(e.tag),r])}log(e,n){const r=this.formatLogObj(e,{columns:n.options.stdout.columns||0,...n.options.formatOptions});return _G(r+`
174
- `,e.level<2?n.options.stderr||process.stderr:n.options.stdout||process.stdout)}};const{env:Ji={},argv:$C=[],platform:AG=""}=typeof process>"u"?{}:process,xG="NO_COLOR"in Ji||$C.includes("--no-color"),IG="FORCE_COLOR"in Ji||$C.includes("--color"),PG=AG==="win32",CC=Ji.TERM==="dumb",NG=vm&&vm.isatty&&vm.isatty(1)&&Ji.TERM&&!CC,OG="CI"in Ji&&("GITHUB_ACTIONS"in Ji||"GITLAB_CI"in Ji||"CIRCLECI"in Ji),LG=!xG&&(IG||PG&&!CC||NG||OG);function _C(t,e,n,r,i=e.slice(0,Math.max(0,t))+r,s=e.slice(Math.max(0,t+n.length)),o=s.indexOf(n)){return i+(o<0?s:_C(o,s,n,r))}function FG(t,e,n,r,i){return t<0?n+e+r:n+_C(t,e,r,i)+r}function MG(t,e,n=t,r=t.length+1){return i=>i||!(i===""||i===void 0)?FG((""+i).indexOf(e,r),i,t,e,n):""}function ke(t,e,n){return MG(`\x1B[${t}m`,`\x1B[${e}m`,n)}const AC={reset:ke(0,0),bold:ke(1,22,"\x1B[22m\x1B[1m"),dim:ke(2,22,"\x1B[22m\x1B[2m"),italic:ke(3,23),underline:ke(4,24),inverse:ke(7,27),hidden:ke(8,28),strikethrough:ke(9,29),black:ke(30,39),red:ke(31,39),green:ke(32,39),yellow:ke(33,39),blue:ke(34,39),magenta:ke(35,39),cyan:ke(36,39),white:ke(37,39),gray:ke(90,39),bgBlack:ke(40,49),bgRed:ke(41,49),bgGreen:ke(42,49),bgYellow:ke(43,49),bgBlue:ke(44,49),bgMagenta:ke(45,49),bgCyan:ke(46,49),bgWhite:ke(47,49),blackBright:ke(90,39),redBright:ke(91,39),greenBright:ke(92,39),yellowBright:ke(93,39),blueBright:ke(94,39),magentaBright:ke(95,39),cyanBright:ke(96,39),whiteBright:ke(97,39),bgBlackBright:ke(100,49),bgRedBright:ke(101,49),bgGreenBright:ke(102,49),bgYellowBright:ke(103,49),bgBlueBright:ke(104,49),bgMagentaBright:ke(105,49),bgCyanBright:ke(106,49),bgWhiteBright:ke(107,49)};function zG(t=LG){return t?AC:Object.fromEntries(Object.keys(AC).map(e=>[e,String]))}const pn=zG();function BG(t,e="reset"){return pn[t]||pn[e]}const qG=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");function xu(t){return t.replace(new RegExp(qG,"g"),"")}const xC={solid:{tl:"\u250C",tr:"\u2510",bl:"\u2514",br:"\u2518",h:"\u2500",v:"\u2502"},double:{tl:"\u2554",tr:"\u2557",bl:"\u255A",br:"\u255D",h:"\u2550",v:"\u2551"},doubleSingle:{tl:"\u2553",tr:"\u2556",bl:"\u2559",br:"\u255C",h:"\u2500",v:"\u2551"},doubleSingleRounded:{tl:"\u256D",tr:"\u256E",bl:"\u2570",br:"\u256F",h:"\u2500",v:"\u2551"},singleThick:{tl:"\u250F",tr:"\u2513",bl:"\u2517",br:"\u251B",h:"\u2501",v:"\u2503"},singleDouble:{tl:"\u2552",tr:"\u2555",bl:"\u2558",br:"\u255B",h:"\u2550",v:"\u2502"},singleDoubleRounded:{tl:"\u256D",tr:"\u256E",bl:"\u2570",br:"\u256F",h:"\u2550",v:"\u2502"},rounded:{tl:"\u256D",tr:"\u256E",bl:"\u2570",br:"\u256F",h:"\u2500",v:"\u2502"}},jG={borderColor:"white",borderStyle:"rounded",valign:"center",padding:2,marginLeft:1,marginTop:1,marginBottom:1};function UG(t,e={}){const n={...e,style:{...jG,...e.style}},r=t.split(`
175
- `),i=[],s=BG(n.style.borderColor),o={...typeof n.style.borderStyle=="string"?xC[n.style.borderStyle]||xC.solid:n.style.borderStyle};if(s)for(const h in o)o[h]=s(o[h]);const a=n.style.padding%2===0?n.style.padding:n.style.padding+1,c=r.length+a,u=Math.max(...r.map(h=>h.length))+a,l=u+a,d=n.style.marginLeft>0?" ".repeat(n.style.marginLeft):"";if(n.style.marginTop>0&&i.push("".repeat(n.style.marginTop)),n.title){const h=o.h.repeat(Math.floor((u-xu(n.title).length)/2)),p=o.h.repeat(u-xu(n.title).length-xu(h).length+a);i.push(`${d}${o.tl}${h}${n.title}${p}${o.tr}`)}else i.push(`${d}${o.tl}${o.h.repeat(l)}${o.tr}`);const f=n.style.valign==="center"?Math.floor((c-r.length)/2):n.style.valign==="top"?c-r.length-a:c-r.length;for(let h=0;h<c;h++)if(h<f||h>=f+r.length)i.push(`${d}${o.v}${" ".repeat(l)}${o.v}`);else{const p=r[h-f],m=" ".repeat(a),g=" ".repeat(u-xu(p).length);i.push(`${d}${o.v}${m}${p}${g}${o.v}`)}return i.push(`${d}${o.bl}${o.h.repeat(l)}${o.br}`),n.style.marginBottom>0&&i.push("".repeat(n.style.marginBottom)),i.join(`
176
- `)}const GG=[["APPVEYOR"],["AZURE_PIPELINES","SYSTEM_TEAMFOUNDATIONCOLLECTIONURI"],["AZURE_STATIC","INPUT_AZURE_STATIC_WEB_APPS_API_TOKEN"],["APPCIRCLE","AC_APPCIRCLE"],["BAMBOO","bamboo_planKey"],["BITBUCKET","BITBUCKET_COMMIT"],["BITRISE","BITRISE_IO"],["BUDDY","BUDDY_WORKSPACE_ID"],["BUILDKITE"],["CIRCLE","CIRCLECI"],["CIRRUS","CIRRUS_CI"],["CLOUDFLARE_PAGES","CF_PAGES",{ci:!0}],["CODEBUILD","CODEBUILD_BUILD_ARN"],["CODEFRESH","CF_BUILD_ID"],["DRONE"],["DRONE","DRONE_BUILD_EVENT"],["DSARI"],["GITHUB_ACTIONS"],["GITLAB","GITLAB_CI"],["GITLAB","CI_MERGE_REQUEST_ID"],["GOCD","GO_PIPELINE_LABEL"],["LAYERCI"],["HUDSON","HUDSON_URL"],["JENKINS","JENKINS_URL"],["MAGNUM"],["NETLIFY"],["NETLIFY","NETLIFY_LOCAL",{ci:!1}],["NEVERCODE"],["RENDER"],["SAIL","SAILCI"],["SEMAPHORE"],["SCREWDRIVER"],["SHIPPABLE"],["SOLANO","TDDIUM"],["STRIDER"],["TEAMCITY","TEAMCITY_VERSION"],["TRAVIS"],["VERCEL","NOW_BUILDER"],["APPCENTER","APPCENTER_BUILD_ID"],["CODESANDBOX","CODESANDBOX_SSE",{ci:!1}],["STACKBLITZ"],["STORMKIT"],["CLEAVR"]];function WG(t){for(const e of GG){const n=e[1]||e[0];if(t[n])return{name:e[0].toLowerCase(),...e[2]}}return t.SHELL&&t.SHELL==="/bin/jsh"?{name:"stackblitz",ci:!1}:{name:"",ci:!1}}const yh=typeof process<"u"?process:{},Iu=yh.env||{},IC=WG(Iu),HG=typeof process<"u"&&process.env&&process.env.NODE_ENV||"";yh.platform,IC.name;const VG=Pu(Iu.CI)||IC.ci!==!1;Pu(yh.stdout&&yh.stdout.isTTY);const KG=Pu(Iu.DEBUG),PC=HG==="test"||Pu(Iu.TEST);Pu(Iu.MINIMAL);function Pu(t){return t?t!=="false":!1}function YG({onlyFirst:t=!1}={}){const e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(e,t?void 0:"g")}const XG=YG();function JG(t){if(typeof t!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof t}\``);return t.replace(XG,"")}function NC(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var OC={exports:{}};(function(t){var e={};t.exports=e,e.eastAsianWidth=function(r){var i=r.charCodeAt(0),s=r.length==2?r.charCodeAt(1):0,o=i;return 55296<=i&&i<=56319&&56320<=s&&s<=57343&&(i&=1023,s&=1023,o=i<<10|s,o+=65536),o==12288||65281<=o&&o<=65376||65504<=o&&o<=65510?"F":o==8361||65377<=o&&o<=65470||65474<=o&&o<=65479||65482<=o&&o<=65487||65490<=o&&o<=65495||65498<=o&&o<=65500||65512<=o&&o<=65518?"H":4352<=o&&o<=4447||4515<=o&&o<=4519||4602<=o&&o<=4607||9001<=o&&o<=9002||11904<=o&&o<=11929||11931<=o&&o<=12019||12032<=o&&o<=12245||12272<=o&&o<=12283||12289<=o&&o<=12350||12353<=o&&o<=12438||12441<=o&&o<=12543||12549<=o&&o<=12589||12593<=o&&o<=12686||12688<=o&&o<=12730||12736<=o&&o<=12771||12784<=o&&o<=12830||12832<=o&&o<=12871||12880<=o&&o<=13054||13056<=o&&o<=19903||19968<=o&&o<=42124||42128<=o&&o<=42182||43360<=o&&o<=43388||44032<=o&&o<=55203||55216<=o&&o<=55238||55243<=o&&o<=55291||63744<=o&&o<=64255||65040<=o&&o<=65049||65072<=o&&o<=65106||65108<=o&&o<=65126||65128<=o&&o<=65131||110592<=o&&o<=110593||127488<=o&&o<=127490||127504<=o&&o<=127546||127552<=o&&o<=127560||127568<=o&&o<=127569||131072<=o&&o<=194367||177984<=o&&o<=196605||196608<=o&&o<=262141?"W":32<=o&&o<=126||162<=o&&o<=163||165<=o&&o<=166||o==172||o==175||10214<=o&&o<=10221||10629<=o&&o<=10630?"Na":o==161||o==164||167<=o&&o<=168||o==170||173<=o&&o<=174||176<=o&&o<=180||182<=o&&o<=186||188<=o&&o<=191||o==198||o==208||215<=o&&o<=216||222<=o&&o<=225||o==230||232<=o&&o<=234||236<=o&&o<=237||o==240||242<=o&&o<=243||247<=o&&o<=250||o==252||o==254||o==257||o==273||o==275||o==283||294<=o&&o<=295||o==299||305<=o&&o<=307||o==312||319<=o&&o<=322||o==324||328<=o&&o<=331||o==333||338<=o&&o<=339||358<=o&&o<=359||o==363||o==462||o==464||o==466||o==468||o==470||o==472||o==474||o==476||o==593||o==609||o==708||o==711||713<=o&&o<=715||o==717||o==720||728<=o&&o<=731||o==733||o==735||768<=o&&o<=879||913<=o&&o<=929||931<=o&&o<=937||945<=o&&o<=961||963<=o&&o<=969||o==1025||1040<=o&&o<=1103||o==1105||o==8208||8211<=o&&o<=8214||8216<=o&&o<=8217||8220<=o&&o<=8221||8224<=o&&o<=8226||8228<=o&&o<=8231||o==8240||8242<=o&&o<=8243||o==8245||o==8251||o==8254||o==8308||o==8319||8321<=o&&o<=8324||o==8364||o==8451||o==8453||o==8457||o==8467||o==8470||8481<=o&&o<=8482||o==8486||o==8491||8531<=o&&o<=8532||8539<=o&&o<=8542||8544<=o&&o<=8555||8560<=o&&o<=8569||o==8585||8592<=o&&o<=8601||8632<=o&&o<=8633||o==8658||o==8660||o==8679||o==8704||8706<=o&&o<=8707||8711<=o&&o<=8712||o==8715||o==8719||o==8721||o==8725||o==8730||8733<=o&&o<=8736||o==8739||o==8741||8743<=o&&o<=8748||o==8750||8756<=o&&o<=8759||8764<=o&&o<=8765||o==8776||o==8780||o==8786||8800<=o&&o<=8801||8804<=o&&o<=8807||8810<=o&&o<=8811||8814<=o&&o<=8815||8834<=o&&o<=8835||8838<=o&&o<=8839||o==8853||o==8857||o==8869||o==8895||o==8978||9312<=o&&o<=9449||9451<=o&&o<=9547||9552<=o&&o<=9587||9600<=o&&o<=9615||9618<=o&&o<=9621||9632<=o&&o<=9633||9635<=o&&o<=9641||9650<=o&&o<=9651||9654<=o&&o<=9655||9660<=o&&o<=9661||9664<=o&&o<=9665||9670<=o&&o<=9672||o==9675||9678<=o&&o<=9681||9698<=o&&o<=9701||o==9711||9733<=o&&o<=9734||o==9737||9742<=o&&o<=9743||9748<=o&&o<=9749||o==9756||o==9758||o==9792||o==9794||9824<=o&&o<=9825||9827<=o&&o<=9829||9831<=o&&o<=9834||9836<=o&&o<=9837||o==9839||9886<=o&&o<=9887||9918<=o&&o<=9919||9924<=o&&o<=9933||9935<=o&&o<=9953||o==9955||9960<=o&&o<=9983||o==10045||o==10071||10102<=o&&o<=10111||11093<=o&&o<=11097||12872<=o&&o<=12879||57344<=o&&o<=63743||65024<=o&&o<=65039||o==65533||127232<=o&&o<=127242||127248<=o&&o<=127277||127280<=o&&o<=127337||127344<=o&&o<=127386||917760<=o&&o<=917999||983040<=o&&o<=1048573||1048576<=o&&o<=1114109?"A":"N"},e.characterLength=function(r){var i=this.eastAsianWidth(r);return i=="F"||i=="W"||i=="A"?2:1};function n(r){return r.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g)||[]}e.length=function(r){for(var i=n(r),s=0,o=0;o<i.length;o++)s=s+this.characterLength(i[o]);return s},e.slice=function(r,i,s){textLen=e.length(r),i=i||0,s=s||1,i<0&&(i=textLen+i),s<0&&(s=textLen+s);for(var o="",a=0,c=n(r),u=0;u<c.length;u++){var l=c[u],d=e.length(l);if(a>=i-(d==2?1:0))if(a+d<=s)o+=l;else break;a+=d}return o}})(OC);var ZG=OC.exports;const QG=NC(ZG),eW=()=>/[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26F9(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC3\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC08\uDC26](?:\u200D\u2B1B)?|[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE88\uDE90-\uDEBD\uDEBF-\uDEC2\uDECE-\uDEDB\uDEE0-\uDEE8]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83E\uDDD1))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g;function tW(t,e){if(typeof t!="string"||t.length===0||(e={ambiguousIsNarrow:!0,countAnsiEscapeCodes:!1,...e},e.countAnsiEscapeCodes||(t=JG(t)),t.length===0))return 0;const n=e.ambiguousIsNarrow?1:2;let r=0;for(const{segment:i}of new Intl.Segmenter().segment(t)){const s=i.codePointAt(0);if(!(s<=31||s>=127&&s<=159||s>=768&&s<=879)){if(eW().test(i)){r+=2;continue}switch(QG.eastAsianWidth(i)){case"F":case"W":{r+=2;break}case"A":{r+=n;break}default:r+=1}}}return r}function LC(){return Oe.platform!=="win32"?Oe.env.TERM!=="linux":!!Oe.env.CI||!!Oe.env.WT_SESSION||!!Oe.env.TERMINUS_SUBLIME||Oe.env.ConEmuTask==="{cmd::Cmder}"||Oe.env.TERM_PROGRAM==="Terminus-Sublime"||Oe.env.TERM_PROGRAM==="vscode"||Oe.env.TERM==="xterm-256color"||Oe.env.TERM==="alacritty"||Oe.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}const nW={info:"cyan",fail:"red",success:"green",ready:"green",start:"magenta"},rW={0:"red",1:"yellow"},iW=LC(),qr=(t,e)=>iW?t:e,FC={error:qr("\u2716","\xD7"),fatal:qr("\u2716","\xD7"),ready:qr("\u2714","\u221A"),warn:qr("\u26A0","\u203C"),info:qr("\u2139","i"),success:qr("\u2714","\u221A"),debug:qr("\u2699","D"),trace:qr("\u2192","\u2192"),fail:qr("\u2716","\xD7"),start:qr("\u25D0","o"),log:""};function MC(t){return Intl.Segmenter?tW(t):xu(t).length}class sW extends kC{formatStack(e){return`
177
- `+SC(e).map(n=>" "+n.replace(/^at +/,r=>pn.gray(r)).replace(/\((.+)\)/,(r,i)=>`(${pn.cyan(i)})`)).join(`
178
- `)}formatType(e,n,r){const i=nW[e.type]||rW[e.level]||"gray";if(n)return aW(i)(pn.black(` ${e.type.toUpperCase()} `));const s=typeof FC[e.type]=="string"?FC[e.type]:e.icon||e.type;return s?oW(i)(s):""}formatLogObj(e,n){const[r,...i]=this.formatArgs(e.args,n).split(`
179
- `);if(e.type==="box")return UG(vh(r+(i.length>0?`
180
- `+i.join(`
181
- `):"")),{title:e.title?vh(e.title):void 0,style:e.style});const s=this.formatDate(e.date,n),o=s&&pn.gray(s),a=e.badge??e.level<2,c=this.formatType(e,a,n),u=e.tag?pn.gray(e.tag):"";let l;const d=this.filterAndJoin([c,vh(r)]),f=this.filterAndJoin(n.columns?[u,o]:[u]),h=(n.columns||0)-MC(d)-MC(f)-2;if(l=h>0&&(n.columns||0)>=80?d+" ".repeat(h)+f:(f?`${pn.gray(`[${f}]`)} `:"")+d,l+=vh(i.length>0?`
182
- `+i.join(`
183
- `):""),e.type==="trace"){const p=new Error("Trace: "+e.message);l+=this.formatStack(p.stack||"")}return a?`
184
- `+l+`
185
- `:l}}function vh(t){return t.replace(/`([^`]+)`/gm,(e,n)=>pn.cyan(n)).replace(/\s+_([^_]+)_\s+/gm,(e,n)=>` ${pn.underline(n)} `)}function oW(t="white"){return pn[t]||pn.white}function aW(t="bgWhite"){return pn[`bg${t[0].toUpperCase()}${t.slice(1)}`]||pn.bgWhite}function zC(t={}){let e=cW();return process.env.CONSOLA_LEVEL&&(e=Number.parseInt(process.env.CONSOLA_LEVEL)??e),CG({level:e,defaults:{level:e},stdout:process.stdout,stderr:process.stderr,prompt:(...n)=>import("../chunks/prompt.mjs").then(r=>r.prompt(...n)),reporters:t.reporters||[t.fancy??!(VG||PC)?new sW:new kC],...t})}function cW(){return KG?Ye.debug:PC?Ye.warn:Ye.info}zC();function uW(){return Ye.debug}const BC=uW(),Xe=zC({level:BC,defaults:{level:BC},formatOptions:{colors:!0,compact:!1,date:!1}});function lW(t,e=1,n={}){const{indent:r=" ",includeEmptyLines:i=!1}=n;if(typeof t!="string")throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof t}\``);if(typeof e!="number")throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof e}\``);if(e<0)throw new RangeError(`Expected \`count\` to be at least 0, got \`${e}\``);if(typeof r!="string")throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof r}\``);if(e===0)return t;const s=i?/^/gm:/^(?!\s*$)/gm;return t.replace(s,r.repeat(e))}function dW(t){for(var e=t.length,n=0,r=0;r<e;){var i=t.charCodeAt(r++);if(i&4294967168)if(!(i&4294965248))n+=2;else{if(i>=55296&&i<=56319&&r<e){var s=t.charCodeAt(r);(s&64512)===56320&&(++r,i=((i&1023)<<10)+(s&1023)+65536)}i&4294901760?n+=4:n+=3}else{n++;continue}}return n}function fW(t,e,n){for(var r=t.length,i=n,s=0;s<r;){var o=t.charCodeAt(s++);if(o&4294967168)if(!(o&4294965248))e[i++]=o>>6&31|192;else{if(o>=55296&&o<=56319&&s<r){var a=t.charCodeAt(s);(a&64512)===56320&&(++s,o=((o&1023)<<10)+(a&1023)+65536)}o&4294901760?(e[i++]=o>>18&7|240,e[i++]=o>>12&63|128,e[i++]=o>>6&63|128):(e[i++]=o>>12&15|224,e[i++]=o>>6&63|128)}else{e[i++]=o;continue}e[i++]=o&63|128}}var hW=new TextEncoder,pW=50;function mW(t,e,n){hW.encodeInto(t,e.subarray(n))}function gW(t,e,n){t.length>pW?mW(t,e,n):fW(t,e,n)}var yW=4096;function qC(t,e,n){for(var r=e,i=r+n,s=[],o="";r<i;){var a=t[r++];if(!(a&128))s.push(a);else if((a&224)===192){var c=t[r++]&63;s.push((a&31)<<6|c)}else if((a&240)===224){var c=t[r++]&63,u=t[r++]&63;s.push((a&31)<<12|c<<6|u)}else if((a&248)===240){var c=t[r++]&63,u=t[r++]&63,l=t[r++]&63,d=(a&7)<<18|c<<12|u<<6|l;d>65535&&(d-=65536,s.push(d>>>10&1023|55296),d=56320|d&1023),s.push(d)}else s.push(a);s.length>=yW&&(o+=String.fromCharCode.apply(String,s),s.length=0)}return s.length>0&&(o+=String.fromCharCode.apply(String,s)),o}var vW=new TextDecoder,wW=200;function bW(t,e,n){var r=t.subarray(e,e+n);return vW.decode(r)}function EW(t,e,n){return n>wW?bW(t,e,n):qC(t,e,n)}var wh=function(){function t(e,n){this.type=e,this.data=n}return t}(),DW=function(){var t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var s in i)Object.prototype.hasOwnProperty.call(i,s)&&(r[s]=i[s])},t(e,n)};return function(e,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");t(e,n);function r(){this.constructor=e}e.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}(),jr=function(t){DW(e,t);function e(n){var r=t.call(this,n)||this,i=Object.create(e.prototype);return Object.setPrototypeOf(r,i),Object.defineProperty(r,"name",{configurable:!0,enumerable:!1,value:e.name}),r}return e}(Error),Nu=4294967295;function TW(t,e,n){var r=n/4294967296,i=n;t.setUint32(e,r),t.setUint32(e+4,i)}function jC(t,e,n){var r=Math.floor(n/4294967296),i=n;t.setUint32(e,r),t.setUint32(e+4,i)}function UC(t,e){var n=t.getInt32(e),r=t.getUint32(e+4);return n*4294967296+r}function RW(t,e){var n=t.getUint32(e),r=t.getUint32(e+4);return n*4294967296+r}var SW=-1,kW=4294967296-1,$W=17179869184-1;function CW(t){var e=t.sec,n=t.nsec;if(e>=0&&n>=0&&e<=$W)if(n===0&&e<=kW){var r=new Uint8Array(4),i=new DataView(r.buffer);return i.setUint32(0,e),r}else{var s=e/4294967296,o=e&4294967295,r=new Uint8Array(8),i=new DataView(r.buffer);return i.setUint32(0,n<<2|s&3),i.setUint32(4,o),r}else{var r=new Uint8Array(12),i=new DataView(r.buffer);return i.setUint32(0,n),jC(i,4,e),r}}function _W(t){var e=t.getTime(),n=Math.floor(e/1e3),r=(e-n*1e3)*1e6,i=Math.floor(r/1e9);return{sec:n+i,nsec:r-i*1e9}}function AW(t){if(t instanceof Date){var e=_W(t);return CW(e)}else return null}function xW(t){var e=new DataView(t.buffer,t.byteOffset,t.byteLength);switch(t.byteLength){case 4:{var n=e.getUint32(0),r=0;return{sec:n,nsec:r}}case 8:{var i=e.getUint32(0),s=e.getUint32(4),n=(i&3)*4294967296+s,r=i>>>2;return{sec:n,nsec:r}}case 12:{var n=UC(e,4),r=e.getUint32(0);return{sec:n,nsec:r}}default:throw new jr("Unrecognized data size for timestamp (expected 4, 8, or 12): ".concat(t.length))}}function IW(t){var e=xW(t);return new Date(e.sec*1e3+e.nsec/1e6)}var PW={type:SW,encode:AW,decode:IW},GC=function(){function t(){this.builtInEncoders=[],this.builtInDecoders=[],this.encoders=[],this.decoders=[],this.register(PW)}return t.prototype.register=function(e){var n=e.type,r=e.encode,i=e.decode;if(n>=0)this.encoders[n]=r,this.decoders[n]=i;else{var s=1+n;this.builtInEncoders[s]=r,this.builtInDecoders[s]=i}},t.prototype.tryToEncode=function(e,n){for(var r=0;r<this.builtInEncoders.length;r++){var i=this.builtInEncoders[r];if(i!=null){var s=i(e,n);if(s!=null){var o=-1-r;return new wh(o,s)}}}for(var r=0;r<this.encoders.length;r++){var i=this.encoders[r];if(i!=null){var s=i(e,n);if(s!=null){var o=r;return new wh(o,s)}}}return e instanceof wh?e:null},t.prototype.decode=function(e,n,r){var i=n<0?this.builtInDecoders[-1-n]:this.decoders[n];return i?i(e,n,r):new wh(n,e)},t.defaultCodec=new t,t}();function bh(t){return t instanceof Uint8Array?t:ArrayBuffer.isView(t)?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t instanceof ArrayBuffer?new Uint8Array(t):Uint8Array.from(t)}function NW(t){if(t instanceof ArrayBuffer)return new DataView(t);var e=bh(t);return new DataView(e.buffer,e.byteOffset,e.byteLength)}var OW=100,LW=2048,FW=function(){function t(e){var n,r,i,s,o,a,c,u;this.extensionCodec=(n=e?.extensionCodec)!==null&&n!==void 0?n:GC.defaultCodec,this.context=e?.context,this.useBigInt64=(r=e?.useBigInt64)!==null&&r!==void 0?r:!1,this.maxDepth=(i=e?.maxDepth)!==null&&i!==void 0?i:OW,this.initialBufferSize=(s=e?.initialBufferSize)!==null&&s!==void 0?s:LW,this.sortKeys=(o=e?.sortKeys)!==null&&o!==void 0?o:!1,this.forceFloat32=(a=e?.forceFloat32)!==null&&a!==void 0?a:!1,this.ignoreUndefined=(c=e?.ignoreUndefined)!==null&&c!==void 0?c:!1,this.forceIntegerToFloat=(u=e?.forceIntegerToFloat)!==null&&u!==void 0?u:!1,this.pos=0,this.view=new DataView(new ArrayBuffer(this.initialBufferSize)),this.bytes=new Uint8Array(this.view.buffer)}return t.prototype.reinitializeState=function(){this.pos=0},t.prototype.encodeSharedRef=function(e){return this.reinitializeState(),this.doEncode(e,1),this.bytes.subarray(0,this.pos)},t.prototype.encode=function(e){return this.reinitializeState(),this.doEncode(e,1),this.bytes.slice(0,this.pos)},t.prototype.doEncode=function(e,n){if(n>this.maxDepth)throw new Error("Too deep objects in depth ".concat(n));e==null?this.encodeNil():typeof e=="boolean"?this.encodeBoolean(e):typeof e=="number"?this.forceIntegerToFloat?this.encodeNumberAsFloat(e):this.encodeNumber(e):typeof e=="string"?this.encodeString(e):this.useBigInt64&&typeof e=="bigint"?this.encodeBigInt64(e):this.encodeObject(e,n)},t.prototype.ensureBufferSizeToWrite=function(e){var n=this.pos+e;this.view.byteLength<n&&this.resizeBuffer(n*2)},t.prototype.resizeBuffer=function(e){var n=new ArrayBuffer(e),r=new Uint8Array(n),i=new DataView(n);r.set(this.bytes),this.view=i,this.bytes=r},t.prototype.encodeNil=function(){this.writeU8(192)},t.prototype.encodeBoolean=function(e){e===!1?this.writeU8(194):this.writeU8(195)},t.prototype.encodeNumber=function(e){!this.forceIntegerToFloat&&Number.isSafeInteger(e)?e>=0?e<128?this.writeU8(e):e<256?(this.writeU8(204),this.writeU8(e)):e<65536?(this.writeU8(205),this.writeU16(e)):e<4294967296?(this.writeU8(206),this.writeU32(e)):this.useBigInt64?this.encodeNumberAsFloat(e):(this.writeU8(207),this.writeU64(e)):e>=-32?this.writeU8(224|e+32):e>=-128?(this.writeU8(208),this.writeI8(e)):e>=-32768?(this.writeU8(209),this.writeI16(e)):e>=-2147483648?(this.writeU8(210),this.writeI32(e)):this.useBigInt64?this.encodeNumberAsFloat(e):(this.writeU8(211),this.writeI64(e)):this.encodeNumberAsFloat(e)},t.prototype.encodeNumberAsFloat=function(e){this.forceFloat32?(this.writeU8(202),this.writeF32(e)):(this.writeU8(203),this.writeF64(e))},t.prototype.encodeBigInt64=function(e){e>=BigInt(0)?(this.writeU8(207),this.writeBigUint64(e)):(this.writeU8(211),this.writeBigInt64(e))},t.prototype.writeStringHeader=function(e){if(e<32)this.writeU8(160+e);else if(e<256)this.writeU8(217),this.writeU8(e);else if(e<65536)this.writeU8(218),this.writeU16(e);else if(e<4294967296)this.writeU8(219),this.writeU32(e);else throw new Error("Too long string: ".concat(e," bytes in UTF-8"))},t.prototype.encodeString=function(e){var n=5,r=dW(e);this.ensureBufferSizeToWrite(n+r),this.writeStringHeader(r),gW(e,this.bytes,this.pos),this.pos+=r},t.prototype.encodeObject=function(e,n){var r=this.extensionCodec.tryToEncode(e,this.context);if(r!=null)this.encodeExtension(r);else if(Array.isArray(e))this.encodeArray(e,n);else if(ArrayBuffer.isView(e))this.encodeBinary(e);else if(typeof e=="object")this.encodeMap(e,n);else throw new Error("Unrecognized object: ".concat(Object.prototype.toString.apply(e)))},t.prototype.encodeBinary=function(e){var n=e.byteLength;if(n<256)this.writeU8(196),this.writeU8(n);else if(n<65536)this.writeU8(197),this.writeU16(n);else if(n<4294967296)this.writeU8(198),this.writeU32(n);else throw new Error("Too large binary: ".concat(n));var r=bh(e);this.writeU8a(r)},t.prototype.encodeArray=function(e,n){var r=e.length;if(r<16)this.writeU8(144+r);else if(r<65536)this.writeU8(220),this.writeU16(r);else if(r<4294967296)this.writeU8(221),this.writeU32(r);else throw new Error("Too large array: ".concat(r));for(var i=0,s=e;i<s.length;i++){var o=s[i];this.doEncode(o,n+1)}},t.prototype.countWithoutUndefined=function(e,n){for(var r=0,i=0,s=n;i<s.length;i++){var o=s[i];e[o]!==void 0&&r++}return r},t.prototype.encodeMap=function(e,n){var r=Object.keys(e);this.sortKeys&&r.sort();var i=this.ignoreUndefined?this.countWithoutUndefined(e,r):r.length;if(i<16)this.writeU8(128+i);else if(i<65536)this.writeU8(222),this.writeU16(i);else if(i<4294967296)this.writeU8(223),this.writeU32(i);else throw new Error("Too large map object: ".concat(i));for(var s=0,o=r;s<o.length;s++){var a=o[s],c=e[a];this.ignoreUndefined&&c===void 0||(this.encodeString(a),this.doEncode(c,n+1))}},t.prototype.encodeExtension=function(e){var n=e.data.length;if(n===1)this.writeU8(212);else if(n===2)this.writeU8(213);else if(n===4)this.writeU8(214);else if(n===8)this.writeU8(215);else if(n===16)this.writeU8(216);else if(n<256)this.writeU8(199),this.writeU8(n);else if(n<65536)this.writeU8(200),this.writeU16(n);else if(n<4294967296)this.writeU8(201),this.writeU32(n);else throw new Error("Too large extension object: ".concat(n));this.writeI8(e.type),this.writeU8a(e.data)},t.prototype.writeU8=function(e){this.ensureBufferSizeToWrite(1),this.view.setUint8(this.pos,e),this.pos++},t.prototype.writeU8a=function(e){var n=e.length;this.ensureBufferSizeToWrite(n),this.bytes.set(e,this.pos),this.pos+=n},t.prototype.writeI8=function(e){this.ensureBufferSizeToWrite(1),this.view.setInt8(this.pos,e),this.pos++},t.prototype.writeU16=function(e){this.ensureBufferSizeToWrite(2),this.view.setUint16(this.pos,e),this.pos+=2},t.prototype.writeI16=function(e){this.ensureBufferSizeToWrite(2),this.view.setInt16(this.pos,e),this.pos+=2},t.prototype.writeU32=function(e){this.ensureBufferSizeToWrite(4),this.view.setUint32(this.pos,e),this.pos+=4},t.prototype.writeI32=function(e){this.ensureBufferSizeToWrite(4),this.view.setInt32(this.pos,e),this.pos+=4},t.prototype.writeF32=function(e){this.ensureBufferSizeToWrite(4),this.view.setFloat32(this.pos,e),this.pos+=4},t.prototype.writeF64=function(e){this.ensureBufferSizeToWrite(8),this.view.setFloat64(this.pos,e),this.pos+=8},t.prototype.writeU64=function(e){this.ensureBufferSizeToWrite(8),TW(this.view,this.pos,e),this.pos+=8},t.prototype.writeI64=function(e){this.ensureBufferSizeToWrite(8),jC(this.view,this.pos,e),this.pos+=8},t.prototype.writeBigUint64=function(e){this.ensureBufferSizeToWrite(8),this.view.setBigUint64(this.pos,e),this.pos+=8},t.prototype.writeBigInt64=function(e){this.ensureBufferSizeToWrite(8),this.view.setBigInt64(this.pos,e),this.pos+=8},t}();function MW(t,e){var n=new FW(e);return n.encodeSharedRef(t)}function Av(t){return"".concat(t<0?"-":"","0x").concat(Math.abs(t).toString(16).padStart(2,"0"))}var zW=16,BW=16,qW=function(){function t(e,n){e===void 0&&(e=zW),n===void 0&&(n=BW),this.maxKeyLength=e,this.maxLengthPerKey=n,this.hit=0,this.miss=0,this.caches=[];for(var r=0;r<this.maxKeyLength;r++)this.caches.push([])}return t.prototype.canBeCached=function(e){return e>0&&e<=this.maxKeyLength},t.prototype.find=function(e,n,r){var i=this.caches[r-1];e:for(var s=0,o=i;s<o.length;s++){for(var a=o[s],c=a.bytes,u=0;u<r;u++)if(c[u]!==e[n+u])continue e;return a.str}return null},t.prototype.store=function(e,n){var r=this.caches[e.length-1],i={bytes:e,str:n};r.length>=this.maxLengthPerKey?r[Math.random()*r.length|0]=i:r.push(i)},t.prototype.decode=function(e,n,r){var i=this.find(e,n,r);if(i!=null)return this.hit++,i;this.miss++;var s=qC(e,n,r),o=Uint8Array.prototype.slice.call(e,n,n+r);return this.store(o,s),s},t}(),jW=function(t,e,n,r){function i(s){return s instanceof n?s:new n(function(o){o(s)})}return new(n||(n=Promise))(function(s,o){function a(l){try{u(r.next(l))}catch(d){o(d)}}function c(l){try{u(r.throw(l))}catch(d){o(d)}}function u(l){l.done?s(l.value):i(l.value).then(a,c)}u((r=r.apply(t,e||[])).next())})},xv=function(t,e){var n={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},r,i,s,o;return o={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(o[Symbol.iterator]=function(){return this}),o;function a(u){return function(l){return c([u,l])}}function c(u){if(r)throw new TypeError("Generator is already executing.");for(;o&&(o=0,u[0]&&(n=0)),n;)try{if(r=1,i&&(s=u[0]&2?i.return:u[0]?i.throw||((s=i.return)&&s.call(i),0):i.next)&&!(s=s.call(i,u[1])).done)return s;switch(i=0,s&&(u=[u[0]&2,s.value]),u[0]){case 0:case 1:s=u;break;case 4:return n.label++,{value:u[1],done:!1};case 5:n.label++,i=u[1],u=[0];continue;case 7:u=n.ops.pop(),n.trys.pop();continue;default:if(s=n.trys,!(s=s.length>0&&s[s.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!s||u[1]>s[0]&&u[1]<s[3])){n.label=u[1];break}if(u[0]===6&&n.label<s[1]){n.label=s[1],s=u;break}if(s&&n.label<s[2]){n.label=s[2],n.ops.push(u);break}s[2]&&n.ops.pop(),n.trys.pop();continue}u=e.call(t,n)}catch(l){u=[6,l],i=0}finally{r=s=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}},WC=function(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],n;return e?e.call(t):(t=typeof __values=="function"?__values(t):t[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(s){n[s]=t[s]&&function(o){return new Promise(function(a,c){o=t[s](o),i(a,c,o.done,o.value)})}}function i(s,o,a,c){Promise.resolve(c).then(function(u){s({value:u,done:a})},o)}},ca=function(t){return this instanceof ca?(this.v=t,this):new ca(t)},UW=function(t,e,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(t,e||[]),i,s=[];return i={},o("next"),o("throw"),o("return"),i[Symbol.asyncIterator]=function(){return this},i;function o(f){r[f]&&(i[f]=function(h){return new Promise(function(p,m){s.push([f,h,p,m])>1||a(f,h)})})}function a(f,h){try{c(r[f](h))}catch(p){d(s[0][3],p)}}function c(f){f.value instanceof ca?Promise.resolve(f.value.v).then(u,l):d(s[0][2],f)}function u(f){a("next",f)}function l(f){a("throw",f)}function d(f,h){f(h),s.shift(),s.length&&a(s[0][0],s[0][1])}},HC="array",Eh="map_key",GW="map_value",WW=function(t){return typeof t=="string"||typeof t=="number"},Ou=-1,Iv=new DataView(new ArrayBuffer(0)),HW=new Uint8Array(Iv.buffer);try{Iv.getInt8(0)}catch(t){if(!(t instanceof RangeError))throw new Error("This module is not supported in the current JavaScript engine because DataView does not throw RangeError on out-of-bounds access")}var Pv=RangeError,VC=new Pv("Insufficient data"),VW=new qW,KW=function(){function t(e){var n,r,i,s,o,a,c;this.totalPos=0,this.pos=0,this.view=Iv,this.bytes=HW,this.headByte=Ou,this.stack=[],this.extensionCodec=(n=e?.extensionCodec)!==null&&n!==void 0?n:GC.defaultCodec,this.context=e?.context,this.useBigInt64=(r=e?.useBigInt64)!==null&&r!==void 0?r:!1,this.maxStrLength=(i=e?.maxStrLength)!==null&&i!==void 0?i:Nu,this.maxBinLength=(s=e?.maxBinLength)!==null&&s!==void 0?s:Nu,this.maxArrayLength=(o=e?.maxArrayLength)!==null&&o!==void 0?o:Nu,this.maxMapLength=(a=e?.maxMapLength)!==null&&a!==void 0?a:Nu,this.maxExtLength=(c=e?.maxExtLength)!==null&&c!==void 0?c:Nu,this.keyDecoder=e?.keyDecoder!==void 0?e.keyDecoder:VW}return t.prototype.reinitializeState=function(){this.totalPos=0,this.headByte=Ou,this.stack.length=0},t.prototype.setBuffer=function(e){this.bytes=bh(e),this.view=NW(this.bytes),this.pos=0},t.prototype.appendBuffer=function(e){if(this.headByte===Ou&&!this.hasRemaining(1))this.setBuffer(e);else{var n=this.bytes.subarray(this.pos),r=bh(e),i=new Uint8Array(n.length+r.length);i.set(n),i.set(r,n.length),this.setBuffer(i)}},t.prototype.hasRemaining=function(e){return this.view.byteLength-this.pos>=e},t.prototype.createExtraByteError=function(e){var n=this,r=n.view,i=n.pos;return new RangeError("Extra ".concat(r.byteLength-i," of ").concat(r.byteLength," byte(s) found at buffer[").concat(e,"]"))},t.prototype.decode=function(e){this.reinitializeState(),this.setBuffer(e);var n=this.doDecodeSync();if(this.hasRemaining(1))throw this.createExtraByteError(this.pos);return n},t.prototype.decodeMulti=function(e){return xv(this,function(n){switch(n.label){case 0:this.reinitializeState(),this.setBuffer(e),n.label=1;case 1:return this.hasRemaining(1)?[4,this.doDecodeSync()]:[3,3];case 2:return n.sent(),[3,1];case 3:return[2]}})},t.prototype.decodeAsync=function(e){var n,r,i,s,o,a,c;return jW(this,void 0,void 0,function(){var u,l,d,f,h,p,m,g;return xv(this,function(y){switch(y.label){case 0:u=!1,y.label=1;case 1:y.trys.push([1,6,7,12]),n=!0,r=WC(e),y.label=2;case 2:return[4,r.next()];case 3:if(i=y.sent(),s=i.done,!!s)return[3,5];c=i.value,n=!1;try{if(d=c,u)throw this.createExtraByteError(this.totalPos);this.appendBuffer(d);try{l=this.doDecodeSync(),u=!0}catch(w){if(!(w instanceof Pv))throw w}this.totalPos+=this.pos}finally{n=!0}y.label=4;case 4:return[3,2];case 5:return[3,12];case 6:return f=y.sent(),o={error:f},[3,12];case 7:return y.trys.push([7,,10,11]),!n&&!s&&(a=r.return)?[4,a.call(r)]:[3,9];case 8:y.sent(),y.label=9;case 9:return[3,11];case 10:if(o)throw o.error;return[7];case 11:return[7];case 12:if(u){if(this.hasRemaining(1))throw this.createExtraByteError(this.totalPos);return[2,l]}throw h=this,p=h.headByte,m=h.pos,g=h.totalPos,new RangeError("Insufficient data in parsing ".concat(Av(p)," at ").concat(g," (").concat(m," in the current buffer)"))}})})},t.prototype.decodeArrayStream=function(e){return this.decodeMultiAsync(e,!0)},t.prototype.decodeStream=function(e){return this.decodeMultiAsync(e,!1)},t.prototype.decodeMultiAsync=function(e,n){return UW(this,arguments,function(){var i,s,o,a,c,u,l,d,f,h,p,m;return xv(this,function(g){switch(g.label){case 0:i=n,s=-1,g.label=1;case 1:g.trys.push([1,15,16,21]),o=!0,a=WC(e),g.label=2;case 2:return[4,ca(a.next())];case 3:if(c=g.sent(),f=c.done,!!f)return[3,14];m=c.value,o=!1,g.label=4;case 4:if(g.trys.push([4,,12,13]),u=m,n&&s===0)throw this.createExtraByteError(this.totalPos);this.appendBuffer(u),i&&(s=this.readArraySize(),i=!1,this.complete()),g.label=5;case 5:g.trys.push([5,10,,11]),g.label=6;case 6:return[4,ca(this.doDecodeSync())];case 7:return[4,g.sent()];case 8:return g.sent(),--s===0?[3,9]:[3,6];case 9:return[3,11];case 10:if(l=g.sent(),!(l instanceof Pv))throw l;return[3,11];case 11:return this.totalPos+=this.pos,[3,13];case 12:return o=!0,[7];case 13:return[3,2];case 14:return[3,21];case 15:return d=g.sent(),h={error:d},[3,21];case 16:return g.trys.push([16,,19,20]),!o&&!f&&(p=a.return)?[4,ca(p.call(a))]:[3,18];case 17:g.sent(),g.label=18;case 18:return[3,20];case 19:if(h)throw h.error;return[7];case 20:return[7];case 21:return[2]}})})},t.prototype.doDecodeSync=function(){e:for(;;){var e=this.readHeadByte(),n=void 0;if(e>=224)n=e-256;else if(e<192)if(e<128)n=e;else if(e<144){var r=e-128;if(r!==0){this.pushMapState(r),this.complete();continue e}else n={}}else if(e<160){var r=e-144;if(r!==0){this.pushArrayState(r),this.complete();continue e}else n=[]}else{var i=e-160;n=this.decodeUtf8String(i,0)}else if(e===192)n=null;else if(e===194)n=!1;else if(e===195)n=!0;else if(e===202)n=this.readF32();else if(e===203)n=this.readF64();else if(e===204)n=this.readU8();else if(e===205)n=this.readU16();else if(e===206)n=this.readU32();else if(e===207)this.useBigInt64?n=this.readU64AsBigInt():n=this.readU64();else if(e===208)n=this.readI8();else if(e===209)n=this.readI16();else if(e===210)n=this.readI32();else if(e===211)this.useBigInt64?n=this.readI64AsBigInt():n=this.readI64();else if(e===217){var i=this.lookU8();n=this.decodeUtf8String(i,1)}else if(e===218){var i=this.lookU16();n=this.decodeUtf8String(i,2)}else if(e===219){var i=this.lookU32();n=this.decodeUtf8String(i,4)}else if(e===220){var r=this.readU16();if(r!==0){this.pushArrayState(r),this.complete();continue e}else n=[]}else if(e===221){var r=this.readU32();if(r!==0){this.pushArrayState(r),this.complete();continue e}else n=[]}else if(e===222){var r=this.readU16();if(r!==0){this.pushMapState(r),this.complete();continue e}else n={}}else if(e===223){var r=this.readU32();if(r!==0){this.pushMapState(r),this.complete();continue e}else n={}}else if(e===196){var r=this.lookU8();n=this.decodeBinary(r,1)}else if(e===197){var r=this.lookU16();n=this.decodeBinary(r,2)}else if(e===198){var r=this.lookU32();n=this.decodeBinary(r,4)}else if(e===212)n=this.decodeExtension(1,0);else if(e===213)n=this.decodeExtension(2,0);else if(e===214)n=this.decodeExtension(4,0);else if(e===215)n=this.decodeExtension(8,0);else if(e===216)n=this.decodeExtension(16,0);else if(e===199){var r=this.lookU8();n=this.decodeExtension(r,1)}else if(e===200){var r=this.lookU16();n=this.decodeExtension(r,2)}else if(e===201){var r=this.lookU32();n=this.decodeExtension(r,4)}else throw new jr("Unrecognized type byte: ".concat(Av(e)));this.complete();for(var s=this.stack;s.length>0;){var o=s[s.length-1];if(o.type===HC)if(o.array[o.position]=n,o.position++,o.position===o.size)s.pop(),n=o.array;else continue e;else if(o.type===Eh){if(!WW(n))throw new jr("The type of key must be string or number but "+typeof n);if(n==="__proto__")throw new jr("The key __proto__ is not allowed");o.key=n,o.type=GW;continue e}else if(o.map[o.key]=n,o.readCount++,o.readCount===o.size)s.pop(),n=o.map;else{o.key=null,o.type=Eh;continue e}}return n}},t.prototype.readHeadByte=function(){return this.headByte===Ou&&(this.headByte=this.readU8()),this.headByte},t.prototype.complete=function(){this.headByte=Ou},t.prototype.readArraySize=function(){var e=this.readHeadByte();switch(e){case 220:return this.readU16();case 221:return this.readU32();default:{if(e<160)return e-144;throw new jr("Unrecognized array type byte: ".concat(Av(e)))}}},t.prototype.pushMapState=function(e){if(e>this.maxMapLength)throw new jr("Max length exceeded: map length (".concat(e,") > maxMapLengthLength (").concat(this.maxMapLength,")"));this.stack.push({type:Eh,size:e,key:null,readCount:0,map:{}})},t.prototype.pushArrayState=function(e){if(e>this.maxArrayLength)throw new jr("Max length exceeded: array length (".concat(e,") > maxArrayLength (").concat(this.maxArrayLength,")"));this.stack.push({type:HC,size:e,array:new Array(e),position:0})},t.prototype.decodeUtf8String=function(e,n){var r;if(e>this.maxStrLength)throw new jr("Max length exceeded: UTF-8 byte length (".concat(e,") > maxStrLength (").concat(this.maxStrLength,")"));if(this.bytes.byteLength<this.pos+n+e)throw VC;var i=this.pos+n,s;return this.stateIsMapKey()&&(!((r=this.keyDecoder)===null||r===void 0)&&r.canBeCached(e))?s=this.keyDecoder.decode(this.bytes,i,e):s=EW(this.bytes,i,e),this.pos+=n+e,s},t.prototype.stateIsMapKey=function(){if(this.stack.length>0){var e=this.stack[this.stack.length-1];return e.type===Eh}return!1},t.prototype.decodeBinary=function(e,n){if(e>this.maxBinLength)throw new jr("Max length exceeded: bin length (".concat(e,") > maxBinLength (").concat(this.maxBinLength,")"));if(!this.hasRemaining(e+n))throw VC;var r=this.pos+n,i=this.bytes.subarray(r,r+e);return this.pos+=n+e,i},t.prototype.decodeExtension=function(e,n){if(e>this.maxExtLength)throw new jr("Max length exceeded: ext length (".concat(e,") > maxExtLength (").concat(this.maxExtLength,")"));var r=this.view.getInt8(this.pos+n),i=this.decodeBinary(e,n+1);return this.extensionCodec.decode(i,r,this.context)},t.prototype.lookU8=function(){return this.view.getUint8(this.pos)},t.prototype.lookU16=function(){return this.view.getUint16(this.pos)},t.prototype.lookU32=function(){return this.view.getUint32(this.pos)},t.prototype.readU8=function(){var e=this.view.getUint8(this.pos);return this.pos++,e},t.prototype.readI8=function(){var e=this.view.getInt8(this.pos);return this.pos++,e},t.prototype.readU16=function(){var e=this.view.getUint16(this.pos);return this.pos+=2,e},t.prototype.readI16=function(){var e=this.view.getInt16(this.pos);return this.pos+=2,e},t.prototype.readU32=function(){var e=this.view.getUint32(this.pos);return this.pos+=4,e},t.prototype.readI32=function(){var e=this.view.getInt32(this.pos);return this.pos+=4,e},t.prototype.readU64=function(){var e=RW(this.view,this.pos);return this.pos+=8,e},t.prototype.readI64=function(){var e=UC(this.view,this.pos);return this.pos+=8,e},t.prototype.readU64AsBigInt=function(){var e=this.view.getBigUint64(this.pos);return this.pos+=8,e},t.prototype.readI64AsBigInt=function(){var e=this.view.getBigInt64(this.pos);return this.pos+=8,e},t.prototype.readF32=function(){var e=this.view.getFloat32(this.pos);return this.pos+=4,e},t.prototype.readF64=function(){var e=this.view.getFloat64(this.pos);return this.pos+=8,e},t}();function YW(t,e){var n=new KW(e);return n.decode(t)}const XW=t=>typeof ArrayBuffer=="function"&&t instanceof ArrayBuffer||Object.prototype.toString.call(t)==="[object ArrayBuffer]",JW=(t,e=0,n=t.byteLength-e)=>{if(!XW(t))throw new TypeError(`The "input" argument must be ArrayBuffer. Received type ${typeof t} (${t})`);return Dm.from(t,e,n)},KC=(t,e)=>{if(typeof t!="string")throw new TypeError(`The "input" argument must be of type string. Received type ${typeof t} (${t})`);return e?Dm.from(t,e):Dm.from(t)},ZW=/^[A-Za-z0-9+/]*={0,2}$/,QW=t=>{if(t.length*3%4!==0)throw new TypeError("Incorrect padding on base64 string.");if(!ZW.exec(t))throw new TypeError("Invalid base64 string.");const e=KC(t,"base64");return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)},eH=t=>{const e=KC(t,"utf8");return new Uint8Array(e.buffer,e.byteOffset,e.byteLength/Uint8Array.BYTES_PER_ELEMENT)},tH=t=>{let e;if(typeof t=="string"?e=eH(t):e=t,typeof e!="object"||typeof e.byteOffset!="number"||typeof e.byteLength!="number")throw new Error("@smithy/util-base64: toBase64 encoder function only accepts string | Uint8Array.");return JW(e.buffer,e.byteOffset,e.byteLength).toString("base64")},nH=`likec4lib { icons {
186
- aws:activate
187
- aws:alexa-for-business
188
- aws:amplify
189
- aws:apache-mxnet-on-aws
190
- aws:api-gateway
191
- aws:app-config
192
- aws:app-flow
193
- aws:app-mesh
194
- aws:app-runner
195
- aws:app-stream
196
- aws:app-sync
197
- aws:application-auto-scaling
198
- aws:application-composer
199
- aws:application-cost-profiler
200
- aws:application-discovery-service
201
- aws:application-migration-service
202
- aws:artifact
203
- aws:athena
204
- aws:audit-manager
205
- aws:augmented-ai-a2i
206
- aws:aurora
207
- aws:auto-scaling
208
- aws:backint-agent
209
- aws:backup
210
- aws:batch
211
- aws:billing-conductor
212
- aws:bottlerocket
213
- aws:braket
214
- aws:budgets
215
- aws:certificate-manager
216
- aws:chatbot
217
- aws:chime
218
- aws:chime-sdk
219
- aws:chime-voice-connector
220
- aws:clean-rooms
221
- aws:client-vpn
222
- aws:cloud-control-api
223
- aws:cloud-development-kit
224
- aws:cloud-directory
225
- aws:cloud-formation
226
- aws:cloud-front
227
- aws:cloud-hsm
228
- aws:cloud-map
229
- aws:cloud-search
230
- aws:cloud-shell
231
- aws:cloud-trail
232
- aws:cloud-wan
233
- aws:cloud-watch
234
- aws:cloud9
235
- aws:code-artifact
236
- aws:code-build
237
- aws:code-catalyst
238
- aws:code-commit
239
- aws:code-deploy
240
- aws:code-guru
241
- aws:code-pipeline
242
- aws:code-star
243
- aws:code-whisperer
244
- aws:cognito
245
- aws:command-line-interface
246
- aws:comprehend
247
- aws:comprehend-medical
248
- aws:compute-optimizer
249
- aws:config
250
- aws:connect
251
- aws:console-mobile-application
252
- aws:control-tower
253
- aws:corretto
254
- aws:cost-and-usage-report
255
- aws:cost-explorer
256
- aws:data-exchange
257
- aws:data-pipeline
258
- aws:data-sync
259
- aws:data-zone
260
- aws:database-migration-service
261
- aws:deep-composer
262
- aws:deep-learning-amis
263
- aws:deep-learning-containers
264
- aws:deep-lens
265
- aws:deep-racer
266
- aws:detective
267
- aws:dev-ops-guru
268
- aws:device-farm
269
- aws:direct-connect
270
- aws:directory-service
271
- aws:distro-for-open-telemetry
272
- aws:document-db
273
- aws:dynamo-db
274
- aws:ec2
275
- aws:ec2-auto-scaling
276
- aws:ec2-image-builder
277
- aws:ecs-anywhere
278
- aws:efs
279
- aws:eks-anywhere
280
- aws:eks-cloud
281
- aws:eks-distro
282
- aws:elasti-cache
283
- aws:elastic-beanstalk
284
- aws:elastic-block-store
285
- aws:elastic-container-registry
286
- aws:elastic-container-service
287
- aws:elastic-disaster-recovery
288
- aws:elastic-fabric-adapter
289
- aws:elastic-inference
290
- aws:elastic-kubernetes-service
291
- aws:elastic-load-balancing
292
- aws:elastic-transcoder
293
- aws:elemental-appliances-software
294
- aws:elemental-conductor
295
- aws:elemental-delta
296
- aws:elemental-link
297
- aws:elemental-live
298
- aws:elemental-media-connect
299
- aws:elemental-media-convert
300
- aws:elemental-media-live
301
- aws:elemental-media-package
302
- aws:elemental-media-store
303
- aws:elemental-media-tailor
304
- aws:elemental-server
305
- aws:emr
306
- aws:event-bridge
307
- aws:express-workflows
308
- aws:fargate
309
- aws:fault-injection-simulator
310
- aws:file-cache
311
- aws:fin-space
312
- aws:firewall-manager
313
- aws:forecast
314
- aws:fraud-detector
315
- aws:free-rtos
316
- aws:fsx
317
- aws:fsx-for-lustre
318
- aws:fsx-for-net-app-ontap
319
- aws:fsx-for-open-zfs
320
- aws:fsx-for-wfs
321
- aws:game-kit
322
- aws:game-lift
323
- aws:game-sparks
324
- aws:genomics-cli
325
- aws:global-accelerator
326
- aws:glue
327
- aws:glue-data-brew
328
- aws:glue-elastic-views
329
- aws:ground-station
330
- aws:guard-duty
331
- aws:health-lake
332
- aws:honeycode
333
- aws:iam-identity-center
334
- aws:identity-and-access-management
335
- aws:inspector
336
- aws:interactive-video-service
337
- aws:io-t-1-click
338
- aws:io-t-analytics
339
- aws:io-t-button
340
- aws:io-t-core
341
- aws:io-t-device-defender
342
- aws:io-t-device-management
343
- aws:io-t-edu-kit
344
- aws:io-t-events
345
- aws:io-t-express-link
346
- aws:io-t-fleet-wise
347
- aws:io-t-greengrass
348
- aws:io-t-robo-runner
349
- aws:io-t-site-wise
350
- aws:io-t-things-graph
351
- aws:io-t-twin-maker
352
- aws:iq
353
- aws:kendra
354
- aws:key-management-service
355
- aws:keyspaces
356
- aws:kinesis
357
- aws:kinesis-data-analytics
358
- aws:kinesis-data-streams
359
- aws:kinesis-firehose
360
- aws:kinesis-video-streams
361
- aws:lake-formation
362
- aws:lambda
363
- aws:launch-wizard
364
- aws:lex
365
- aws:license-manager
366
- aws:lightsail
367
- aws:local-zones
368
- aws:location-service
369
- aws:lookout-for-equipment
370
- aws:lookout-for-metrics
371
- aws:lookout-for-vision
372
- aws:lumberyard
373
- aws:macie
374
- aws:mainframe-modernization
375
- aws:managed-blockchain
376
- aws:managed-grafana
377
- aws:managed-service-for-prometheus
378
- aws:managed-services
379
- aws:managed-streaming-for-apache-kafka
380
- aws:managed-workflows-for-apache-airflow
381
- aws:management-console
382
- aws:marketplace-dark
383
- aws:marketplace-light
384
- aws:memory-db-for-redis
385
- aws:migration-evaluator
386
- aws:migration-hub
387
- aws:monitron
388
- aws:mq
389
- aws:neptune
390
- aws:network-firewall
391
- aws:neuron
392
- aws:nice-dcv
393
- aws:nice-engin-frame
394
- aws:nimble-studio
395
- aws:nitro-enclaves
396
- aws:omics
397
- aws:open-3d-engine
398
- aws:open-search-service
399
- aws:ops-works
400
- aws:organizations
401
- aws:outposts-family
402
- aws:outposts-rack
403
- aws:outposts-servers
404
- aws:panorama
405
- aws:parallel-cluster
406
- aws:personal-health-dashboard
407
- aws:personalize
408
- aws:pinpoint
409
- aws:pinpoint-apis
410
- aws:polly
411
- aws:private-5g
412
- aws:private-certificate-authority
413
- aws:private-link
414
- aws:professional-services
415
- aws:proton
416
- aws:quantum-ledger-database
417
- aws:quick-sight
418
- aws:rds
419
- aws:rds-on-vmware
420
- aws:re-post
421
- aws:red-hat-open-shift-service-on-aws
422
- aws:redshift
423
- aws:rekognition
424
- aws:reserved-instance-reporting
425
- aws:resilience-hub
426
- aws:resource-access-manager
427
- aws:resource-explorer
428
- aws:robo-maker
429
- aws:route-53
430
- aws:s3-on-outposts
431
- aws:sage-maker
432
- aws:sage-maker-ground-truth
433
- aws:sage-maker-studio-lab
434
- aws:savings-plans
435
- aws:secrets-manager
436
- aws:security-hub
437
- aws:security-lake
438
- aws:server-migration-service
439
- aws:serverless-application-repository
440
- aws:service-catalog
441
- aws:service-management-connector
442
- aws:shield
443
- aws:signer
444
- aws:sim-space-weaver
445
- aws:simple-email-service
446
- aws:simple-notification-service
447
- aws:simple-queue-service
448
- aws:simple-storage-service
449
- aws:simple-storage-service-glacier
450
- aws:site-to-site-vpn
451
- aws:snowball
452
- aws:snowball-edge
453
- aws:snowcone
454
- aws:snowmobile
455
- aws:step-functions
456
- aws:storage-gateway
457
- aws:sumerian
458
- aws:supply-chain
459
- aws:support
460
- aws:systems-manager
461
- aws:tensor-flow-on-aws
462
- aws:textract
463
- aws:thinkbox-deadline
464
- aws:thinkbox-frost
465
- aws:thinkbox-krakatoa
466
- aws:thinkbox-sequoia
467
- aws:thinkbox-stoke
468
- aws:thinkbox-xmesh
469
- aws:timestream
470
- aws:tools-and-sdks
471
- aws:torch-serve
472
- aws:training-certification
473
- aws:transcribe
474
- aws:transfer-family
475
- aws:transit-gateway
476
- aws:translate
477
- aws:trusted-advisor
478
- aws:verified-access
479
- aws:verified-permissions
480
- aws:virtual-private-cloud
481
- aws:vmware-cloud-on-aws
482
- aws:vpc-lattice
483
- aws:waf
484
- aws:wavelength
485
- aws:well-architected-tool
486
- aws:wickr
487
- aws:work-docs
488
- aws:work-docs-sdk
489
- aws:work-link
490
- aws:work-mail
491
- aws:work-spaces-family
492
- aws:x-ray
493
- azure:abs-member
494
- azure:active-directory-connect-health
495
- azure:activity-log
496
- azure:administrative-units
497
- azure:advisor
498
- azure:ai-studio
499
- azure:aks-automatic
500
- azure:aks-istio
501
- azure:alerts
502
- azure:all-resources
503
- azure:analysis-services
504
- azure:anomaly-detector
505
- azure:api-center
506
- azure:api-connections
507
- azure:api-management-services
508
- azure:api-proxy
509
- azure:app-compliance-automation
510
- azure:app-configuration
511
- azure:app-registrations
512
- azure:app-service-certificates
513
- azure:app-service-domains
514
- azure:app-service-environments
515
- azure:app-service-plans
516
- azure:app-services
517
- azure:app-space
518
- azure:app-space-component
519
- azure:applens
520
- azure:application-gateway-containers
521
- azure:application-gateways
522
- azure:application-group
523
- azure:application-insights
524
- azure:application-security-groups
525
- azure:aquila
526
- azure:arc-data-services
527
- azure:arc-kubernetes
528
- azure:arc-machines
529
- azure:arc-sql-managed-instance
530
- azure:arc-sql-server
531
- azure:atm-multistack
532
- azure:auto-scale
533
- azure:automanaged-vm
534
- azure:automation-accounts
535
- azure:availability-sets
536
- azure:avs-vm
537
- azure:azure-a
538
- azure:azure-ad-b2c
539
- azure:azure-api-for-fhir
540
- azure:azure-applied-ai-services
541
- azure:azure-arc
542
- azure:azure-attestation
543
- azure:azure-backup-center
544
- azure:azure-blockchain-service
545
- azure:azure-center-for-sap
546
- azure:azure-chaos-studio
547
- azure:azure-cloud-shell
548
- azure:azure-communication-services
549
- azure:azure-communications-gateway
550
- azure:azure-compute-galleries
551
- azure:azure-cosmos-db
552
- azure:azure-data-catalog
553
- azure:azure-data-explorer-clusters
554
- azure:azure-database-maria-db-server
555
- azure:azure-database-migration-services
556
- azure:azure-database-my-sql-server
557
- azure:azure-database-postgre-sql-server
558
- azure:azure-database-postgre-sql-server-group
559
- azure:azure-databox-gateway
560
- azure:azure-databricks
561
- azure:azure-deployment-environments
562
- azure:azure-dev-ops
563
- azure:azure-dev-tunnels
564
- azure:azure-edge-hardware-center
565
- azure:azure-experimentation-studio
566
- azure:azure-fileshares
567
- azure:azure-firewall-manager
568
- azure:azure-firewall-policy
569
- azure:azure-hcp-cache
570
- azure:azure-hpc-workbenches
571
- azure:azure-hybrid-center
572
- azure:azure-information-protection
573
- azure:azure-io-t-operations
574
- azure:azure-lighthouse
575
- azure:azure-load-testing
576
- azure:azure-managed-grafana
577
- azure:azure-maps-accounts
578
- azure:azure-media-service
579
- azure:azure-migrate
580
- azure:azure-monitor-dashboard
581
- azure:azure-monitor-pipeline
582
- azure:azure-monitors-for-sap-solutions
583
- azure:azure-net-app-files
584
- azure:azure-network-function-manager
585
- azure:azure-network-function-manager-functions
586
- azure:azure-object-understanding
587
- azure:azure-open-ai
588
- azure:azure-operator-5g-core
589
- azure:azure-operator-insights
590
- azure:azure-operator-nexus
591
- azure:azure-operator-service-manager
592
- azure:azure-orbital
593
- azure:azure-programmable-connectivity
594
- azure:azure-purview-accounts
595
- azure:azure-quotas
596
- azure:azure-red-hat-open-shift
597
- azure:azure-sentinel
598
- azure:azure-service-bus
599
- azure:azure-sphere
600
- azure:azure-spring-apps
601
- azure:azure-sql
602
- azure:azure-sql-edge
603
- azure:azure-sql-server-stretch-databases
604
- azure:azure-sql-vm
605
- azure:azure-stack
606
- azure:azure-stack-edge
607
- azure:azure-stack-hci-sizer
608
- azure:azure-storage-mover
609
- azure:azure-support-center-blue
610
- azure:azure-sustainability
611
- azure:azure-synapse-analytics
612
- azure:azure-token-service
613
- azure:azure-video-indexer
614
- azure:azure-virtual-desktop
615
- azure:azure-vmware-solution
616
- azure:azure-workbooks
617
- azure:azurite
618
- azure:backlog
619
- azure:backup-vault
620
- azure:bare-metal-infrastructure
621
- azure:bastions
622
- azure:batch-accounts
623
- azure:batch-ai
624
- azure:biz-talk
625
- azure:blob-block
626
- azure:blob-page
627
- azure:blockchain-applications
628
- azure:blueprints
629
- azure:bonsai
630
- azure:bot-services
631
- azure:branch
632
- azure:browser
633
- azure:bug
634
- azure:builds
635
- azure:business-process-tracking
636
- azure:cache
637
- azure:cache-redis
638
- azure:capacity
639
- azure:capacity-reservation-groups
640
- azure:cdn-profiles
641
- azure:central-service-instance-for-sap
642
- azure:ceres
643
- azure:change-analysis
644
- azure:client-apps
645
- azure:cloud-services-classic
646
- azure:cloud-services-extended-support
647
- azure:cloud-test
648
- azure:code
649
- azure:code-optimization
650
- azure:cognitive-search
651
- azure:cognitive-services
652
- azure:cognitive-services-decisions
653
- azure:collaborative-service
654
- azure:commit
655
- azure:community-images
656
- azure:compliance
657
- azure:compliance-center
658
- azure:compute-fleet
659
- azure:computer-vision
660
- azure:conditional-access
661
- azure:confidential-ledgers
662
- azure:connected-cache
663
- azure:connected-vehicle-platform
664
- azure:connections
665
- azure:consortium
666
- azure:container-apps-environments
667
- azure:container-instances
668
- azure:container-registries
669
- azure:container-services-deprecated
670
- azure:content-moderators
671
- azure:content-safety
672
- azure:controls
673
- azure:controls-horizontal
674
- azure:cost-alerts
675
- azure:cost-analysis
676
- azure:cost-budgets
677
- azure:cost-export
678
- azure:cost-management
679
- azure:cost-management-and-billing
680
- azure:counter
681
- azure:cubes
682
- azure:custom-ip-prefix
683
- azure:custom-vision
684
- azure:customer-lockbox-for-microsoft-azure
685
- azure:dashboard
686
- azure:dashboard-hub
687
- azure:data-box
688
- azure:data-collection-rules
689
- azure:data-factories
690
- azure:data-lake-analytics
691
- azure:data-lake-storage-gen1
692
- azure:data-lake-store-gen1
693
- azure:data-share-invitations
694
- azure:data-shares
695
- azure:database-instance-for-sap
696
- azure:ddo-s-protection-plans
697
- azure:dedicated-hsm
698
- azure:defender-cm-local-manager
699
- azure:defender-dcs-controller
700
- azure:defender-distributer-control-system
701
- azure:defender-engineering-station
702
- azure:defender-external-management
703
- azure:defender-freezer-monitor
704
- azure:defender-historian
705
- azure:defender-hmi
706
- azure:defender-industrial-packaging-system
707
- azure:defender-industrial-printer
708
- azure:defender-industrial-robot
709
- azure:defender-industrial-scale-system
710
- azure:defender-marquee
711
- azure:defender-meter
712
- azure:defender-plc
713
- azure:defender-pneumatic-device
714
- azure:defender-programable-board
715
- azure:defender-relay
716
- azure:defender-robot-controller
717
- azure:defender-rtu
718
- azure:defender-sensor
719
- azure:defender-slot
720
- azure:defender-web-guiding-system
721
- azure:detonation
722
- azure:dev-console
723
- azure:dev-ops-starter
724
- azure:dev-test-labs
725
- azure:device-compliance
726
- azure:device-configuration
727
- azure:device-enrollment
728
- azure:device-provisioning-services
729
- azure:device-security-apple
730
- azure:device-security-google
731
- azure:device-security-windows
732
- azure:device-update-io-t-hub
733
- azure:devices
734
- azure:diagnostics-settings
735
- azure:digital-twins
736
- azure:disk-encryption-sets
737
- azure:disk-pool
738
- azure:disks
739
- azure:disks-classic
740
- azure:disks-snapshots
741
- azure:dns-multistack
742
- azure:dns-private-resolver
743
- azure:dns-security-policy
744
- azure:dns-zones
745
- azure:download
746
- azure:e-books
747
- azure:edge-management
748
- azure:education
749
- azure:elastic-job-agents
750
- azure:elastic-san
751
- azure:endpoint-analytics
752
- azure:enterprise-applications
753
- azure:entra-connect
754
- azure:entra-connect-health
755
- azure:entra-connect-sync
756
- azure:entra-domain-services
757
- azure:entra-global-secure-access
758
- azure:entra-id-protection
759
- azure:entra-identity-custom-roles
760
- azure:entra-identity-licenses
761
- azure:entra-identity-risky-signins
762
- azure:entra-identity-risky-users
763
- azure:entra-identity-roles-and-administrators
764
- azure:entra-internet-access
765
- azure:entra-managed-identities
766
- azure:entra-private-access
767
- azure:entra-privleged-identity-management
768
- azure:entra-verified-id
769
- azure:error
770
- azure:event-grid-domains
771
- azure:event-grid-subscriptions
772
- azure:event-grid-topics
773
- azure:event-hub-clusters
774
- azure:event-hubs
775
- azure:exchange-access
776
- azure:exchange-on-premises-access
777
- azure:express-route-circuits
778
- azure:express-route-direct
779
- azure:express-route-traffic-collector
780
- azure:extended-security-updates
781
- azure:extensions
782
- azure:external-identities
783
- azure:face-apis
784
- azure:feature-previews
785
- azure:fhir-service
786
- azure:fiji
787
- azure:file
788
- azure:files
789
- azure:firewalls
790
- azure:folder-blank
791
- azure:folder-website
792
- azure:form-recognizers
793
- azure:free-services
794
- azure:front-door-and-cdn-profiles
795
- azure:ftp
796
- azure:function-apps
797
- azure:gear
798
- azure:genomics
799
- azure:genomics-accounts
800
- azure:globe-error
801
- azure:globe-success
802
- azure:globe-warning
803
- azure:groups
804
- azure:guide
805
- azure:hd-insight-clusters
806
- azure:hdi-aks-cluster
807
- azure:heart
808
- azure:help-and-support
809
- azure:host-groups
810
- azure:host-pools
811
- azure:hosts
812
- azure:ic-m-troubleshooting
813
- azure:identity-governance
814
- azure:identity-multi-factor-authentication
815
- azure:identity-secure-score
816
- azure:image
817
- azure:image-definitions
818
- azure:image-templates
819
- azure:image-versions
820
- azure:images
821
- azure:immersive-readers
822
- azure:import-export-jobs
823
- azure:industrial-io-t
824
- azure:information
825
- azure:infrastructure-backup
826
- azure:input-output
827
- azure:instance-pools
828
- azure:integration-accounts
829
- azure:integration-environments
830
- azure:integration-service-environments
831
- azure:internet-analyzer-profiles
832
- azure:intune
833
- azure:intune-app-protection
834
- azure:intune-for-education
835
- azure:intune-trends
836
- azure:io-t-central-applications
837
- azure:io-t-edge
838
- azure:io-t-hub
839
- azure:ip-address-manager
840
- azure:ip-groups
841
- azure:journey-hub
842
- azure:key-vaults
843
- azure:keys
844
- azure:kubernetes-fleet-manager
845
- azure:kubernetes-services
846
- azure:lab-accounts
847
- azure:lab-services
848
- azure:language
849
- azure:language-understanding
850
- azure:launch-portal
851
- azure:learn
852
- azure:load-balancer-hub
853
- azure:load-balancers
854
- azure:load-test
855
- azure:load-testing
856
- azure:local-network-gateways
857
- azure:location
858
- azure:log-analytics-query-pack
859
- azure:log-analytics-workspaces
860
- azure:log-streaming
861
- azure:logic-apps
862
- azure:logic-apps-custom-connector
863
- azure:machine-learning
864
- azure:machine-learning-studio-classic-web-services
865
- azure:machine-learning-studio-web-service-plans
866
- azure:machine-learning-studio-workspaces
867
- azure:machines-azure-arc
868
- azure:maintenance-configuration
869
- azure:managed-applications-center
870
- azure:managed-database
871
- azure:managed-desktop
872
- azure:managed-dev-ops-pools
873
- azure:managed-file-shares
874
- azure:managed-identities
875
- azure:managed-instance-apache-cassandra
876
- azure:managed-service-fabric
877
- azure:management-groups
878
- azure:management-portal
879
- azure:marketplace
880
- azure:marketplace-management
881
- azure:med-tech-service
882
- azure:media
883
- azure:media-file
884
- azure:mesh-applications
885
- azure:metrics
886
- azure:metrics-advisor
887
- azure:microsoft-defender-easm
888
- azure:microsoft-defender-for-cloud
889
- azure:microsoft-defender-for-io-t
890
- azure:microsoft-dev-box
891
- azure:mindaro
892
- azure:mission-landing-zone
893
- azure:mobile
894
- azure:mobile-engagement
895
- azure:mobile-networks
896
- azure:modular-data-center
897
- azure:module
898
- azure:monitor
899
- azure:monitor-health-models
900
- azure:multi-tenancy
901
- azure:multifactor-authentication
902
- azure:my-customers
903
- azure:nat
904
- azure:network-interfaces
905
- azure:network-managers
906
- azure:network-security-groups
907
- azure:network-security-perimeters
908
- azure:network-watcher
909
- azure:notification-hub-namespaces
910
- azure:notification-hubs
911
- azure:offers
912
- azure:on-premises-data-gateways
913
- azure:open-supply-chain-platform
914
- azure:operation-log-classic
915
- azure:oracle-database
916
- azure:os-images-classic
917
- azure:osconfig
918
- azure:outbound-connection
919
- azure:partner-namespace
920
- azure:partner-registration
921
- azure:partner-topic
922
- azure:peering-service
923
- azure:peerings
924
- azure:personalizers
925
- azure:plans
926
- azure:policy
927
- azure:power
928
- azure:power-bi-embedded
929
- azure:power-platform
930
- azure:power-up
931
- azure:powershell
932
- azure:preview-features
933
- azure:private-endpoints
934
- azure:private-link
935
- azure:private-link-service
936
- azure:private-link-services
937
- azure:process-explorer
938
- azure:production-ready-database
939
- azure:proximity-placement-groups
940
- azure:public-ip-addresses
941
- azure:public-ip-addresses-classic
942
- azure:public-ip-prefixes
943
- azure:qn-a-makers
944
- azure:quickstart-center
945
- azure:recent
946
- azure:recovery-services-vaults
947
- azure:region-management
948
- azure:relays
949
- azure:remote-rendering
950
- azure:reservations
951
- azure:reserved-capacity
952
- azure:reserved-ip-addresses-classic
953
- azure:resource-explorer
954
- azure:resource-graph-explorer
955
- azure:resource-group-list
956
- azure:resource-groups
957
- azure:resource-guard
958
- azure:resource-linked
959
- azure:resource-management-private-link
960
- azure:resource-mover
961
- azure:resources-provider
962
- azure:restore-points
963
- azure:restore-points-collections
964
- azure:route-filters
965
- azure:route-tables
966
- azure:rtos
967
- azure:savings-plans
968
- azure:scheduler
969
- azure:scheduler-job-collections
970
- azure:scvmm-management-servers
971
- azure:search
972
- azure:search-grid
973
- azure:security
974
- azure:security-baselines
975
- azure:send-grid-accounts
976
- azure:server-farm
977
- azure:serverless-search
978
- azure:service-catalog-mad
979
- azure:service-endpoint-policies
980
- azure:service-fabric-clusters
981
- azure:service-health
982
- azure:service-providers
983
- azure:shared-image-galleries
984
- azure:signal-r
985
- azure:software-as-a-service
986
- azure:software-updates
987
- azure:solutions
988
- azure:sonic-dash
989
- azure:spatial-anchor-accounts
990
- azure:speech-services
991
- azure:spot-vm
992
- azure:spot-vmss
993
- azure:sql-data-warehouses
994
- azure:sql-database
995
- azure:sql-elastic-pools
996
- azure:sql-managed-instance
997
- azure:sql-server
998
- azure:sql-server-registries
999
- azure:ssd
1000
- azure:ssh-keys
1001
- azure:ssis-lift-and-shift-ir
1002
- azure:stack-hci-premium
1003
- azure:static-apps
1004
- azure:stor-simple-data-managers
1005
- azure:stor-simple-device-managers
1006
- azure:storage-accounts
1007
- azure:storage-accounts-classic
1008
- azure:storage-actions
1009
- azure:storage-azure-files
1010
- azure:storage-container
1011
- azure:storage-explorer
1012
- azure:storage-functions
1013
- azure:storage-queue
1014
- azure:storage-sync-services
1015
- azure:stream-analytics-jobs
1016
- azure:subnet
1017
- azure:subscriptions
1018
- azure:system-topic
1019
- azure:table
1020
- azure:tag
1021
- azure:tags
1022
- azure:targets-management
1023
- azure:template-specs
1024
- azure:templates
1025
- azure:tenant-properties
1026
- azure:tenant-status
1027
- azure:test-base
1028
- azure:tfs-vc-repository
1029
- azure:time-series-data-sets
1030
- azure:time-series-insights-access-policies
1031
- azure:time-series-insights-environments
1032
- azure:time-series-insights-event-sources
1033
- azure:toolbox
1034
- azure:traffic-manager-profiles
1035
- azure:translator-text
1036
- azure:troubleshoot
1037
- azure:universal-print
1038
- azure:update-management-center
1039
- azure:updates
1040
- azure:user-privacy
1041
- azure:user-settings
1042
- azure:user-subscriptions
1043
- azure:users
1044
- azure:verifiable-credentials
1045
- azure:verification-as-a-service
1046
- azure:versions
1047
- azure:video-analyzers
1048
- azure:virtual-clusters
1049
- azure:virtual-enclaves
1050
- azure:virtual-instance-for-sap
1051
- azure:virtual-machine
1052
- azure:virtual-machines-classic
1053
- azure:virtual-network-gateways
1054
- azure:virtual-networks
1055
- azure:virtual-networks-classic
1056
- azure:virtual-router
1057
- azure:virtual-visits-builder
1058
- azure:virtual-wan-hub
1059
- azure:virtual-wans
1060
- azure:vm-app-definitions
1061
- azure:vm-app-versions
1062
- azure:vm-image-version
1063
- azure:vm-images-classic
1064
- azure:vm-scale-sets
1065
- azure:wac
1066
- azure:wac-installer
1067
- azure:web-app-database
1068
- azure:web-application-firewall-policies-waf
1069
- azure:web-jobs
1070
- azure:web-slots
1071
- azure:web-test
1072
- azure:website-power
1073
- azure:website-staging
1074
- azure:windows-notification-services
1075
- azure:windows10-core-services
1076
- azure:workbooks
1077
- azure:worker-container-app
1078
- azure:workflow
1079
- azure:workspace-gateway
1080
- azure:workspaces
1081
- gcp:access-context-manager
1082
- gcp:administration
1083
- gcp:advanced-agent-modeling
1084
- gcp:advanced-solutions-lab
1085
- gcp:agent-assist
1086
- gcp:ai-hub
1087
- gcp:ai-platform
1088
- gcp:ai-platform-unified
1089
- gcp:analytics-hub
1090
- gcp:anthos
1091
- gcp:anthos-config-management
1092
- gcp:anthos-service-mesh
1093
- gcp:api
1094
- gcp:api-analytics
1095
- gcp:api-monetization
1096
- gcp:apigee-api-platform
1097
- gcp:apigee-sense
1098
- gcp:app-engine
1099
- gcp:artifact-registry
1100
- gcp:asset-inventory
1101
- gcp:assured-workloads
1102
- gcp:auto-ml
1103
- gcp:auto-ml-natural-language
1104
- gcp:auto-ml-tables
1105
- gcp:auto-ml-translation
1106
- gcp:auto-ml-video-intelligence
1107
- gcp:auto-ml-vision
1108
- gcp:bare-metal-solutions
1109
- gcp:batch
1110
- gcp:beyondcorp
1111
- gcp:big-query
1112
- gcp:bigtable
1113
- gcp:billing
1114
- gcp:binary-authorization
1115
- gcp:catalog
1116
- gcp:certificate-authority-service
1117
- gcp:certificate-manager
1118
- gcp:cloud-api-gateway
1119
- gcp:cloud-apis
1120
- gcp:cloud-armor
1121
- gcp:cloud-asset-inventory
1122
- gcp:cloud-audit-logs
1123
- gcp:cloud-build
1124
- gcp:cloud-cdn
1125
- gcp:cloud-code
1126
- gcp:cloud-composer
1127
- gcp:cloud-data-fusion
1128
- gcp:cloud-deploy
1129
- gcp:cloud-deployment-manager
1130
- gcp:cloud-dns
1131
- gcp:cloud-domains
1132
- gcp:cloud-ekm
1133
- gcp:cloud-endpoints
1134
- gcp:cloud-external-ip-addresses
1135
- gcp:cloud-firewall-rules
1136
- gcp:cloud-for-marketing
1137
- gcp:cloud-functions
1138
- gcp:cloud-generic
1139
- gcp:cloud-gpu
1140
- gcp:cloud-healthcare-api
1141
- gcp:cloud-healthcare-marketplace
1142
- gcp:cloud-hsm
1143
- gcp:cloud-ids
1144
- gcp:cloud-inference-api
1145
- gcp:cloud-interconnect
1146
- gcp:cloud-jobs-api
1147
- gcp:cloud-load-balancing
1148
- gcp:cloud-logging
1149
- gcp:cloud-media-edge
1150
- gcp:cloud-monitoring
1151
- gcp:cloud-nat
1152
- gcp:cloud-natural-language-api
1153
- gcp:cloud-network
1154
- gcp:cloud-ops
1155
- gcp:cloud-optimization-ai
1156
- gcp:cloud-optimization-ai-fleet-routing-api
1157
- gcp:cloud-router
1158
- gcp:cloud-routes
1159
- gcp:cloud-run
1160
- gcp:cloud-run-for-anthos
1161
- gcp:cloud-scheduler
1162
- gcp:cloud-security-scanner
1163
- gcp:cloud-shell
1164
- gcp:cloud-spanner
1165
- gcp:cloud-sql
1166
- gcp:cloud-storage
1167
- gcp:cloud-tasks
1168
- gcp:cloud-test-lab
1169
- gcp:cloud-tpu
1170
- gcp:cloud-translation-api
1171
- gcp:cloud-vision-api
1172
- gcp:cloud-vpn
1173
- gcp:compute-engine
1174
- gcp:configuration-management
1175
- gcp:connectivity-test
1176
- gcp:connectors
1177
- gcp:contact-center-ai
1178
- gcp:container-optimized-os
1179
- gcp:container-registry
1180
- gcp:data-catalog
1181
- gcp:data-labeling
1182
- gcp:data-layers
1183
- gcp:data-loss-prevention-api
1184
- gcp:data-qn-a
1185
- gcp:data-studio
1186
- gcp:data-transfer
1187
- gcp:database-migration-service
1188
- gcp:dataflow
1189
- gcp:datalab
1190
- gcp:dataplex
1191
- gcp:datapol
1192
- gcp:dataprep
1193
- gcp:dataproc
1194
- gcp:dataproc-metastore
1195
- gcp:datashare
1196
- gcp:datastore
1197
- gcp:datastream
1198
- gcp:debugger
1199
- gcp:developer-portal
1200
- gcp:dialogflow
1201
- gcp:dialogflow-cx
1202
- gcp:dialogflow-insights
1203
- gcp:document-ai
1204
- gcp:early-access-center
1205
- gcp:error-reporting
1206
- gcp:eventarc
1207
- gcp:filestore
1208
- gcp:financial-services-marketplace
1209
- gcp:firestore
1210
- gcp:fleet-engine
1211
- gcp:free-trial
1212
- gcp:game-servers
1213
- gcp:gce-systems-management
1214
- gcp:genomics
1215
- gcp:gke-on-prem
1216
- gcp:google-cloud-marketplace
1217
- gcp:google-kubernetes-engine
1218
- gcp:google-maps-platform
1219
- gcp:healthcare-nlp-api
1220
- gcp:home
1221
- gcp:identity-and-access-management
1222
- gcp:identity-aware-proxy
1223
- gcp:identity-platform
1224
- gcp:iot-core
1225
- gcp:iot-edge
1226
- gcp:key-access-justifications
1227
- gcp:key-management-service
1228
- gcp:kuberun
1229
- gcp:launcher
1230
- gcp:local-ssd
1231
- gcp:looker
1232
- gcp:managed-service-for-microsoft-active-directory
1233
- gcp:media-translation-api
1234
- gcp:memorystore
1235
- gcp:migrate-for-anthos
1236
- gcp:migrate-for-compute-engine
1237
- gcp:my-cloud
1238
- gcp:network-connectivity-center
1239
- gcp:network-intelligence-center
1240
- gcp:network-security
1241
- gcp:network-tiers
1242
- gcp:network-topology
1243
- gcp:onboarding
1244
- gcp:os-configuration-management
1245
- gcp:os-inventory-management
1246
- gcp:os-patch-management
1247
- gcp:partner-interconnect
1248
- gcp:partner-portal
1249
- gcp:performance-dashboard
1250
- gcp:permissions
1251
- gcp:persistent-disk
1252
- gcp:phishing-protection
1253
- gcp:policy-analyzer
1254
- gcp:premium-network-tier
1255
- gcp:private-connectivity
1256
- gcp:private-service-connect
1257
- gcp:producer-portal
1258
- gcp:profiler
1259
- gcp:project
1260
- gcp:pub-sub
1261
- gcp:quantum-engine
1262
- gcp:quotas
1263
- gcp:real-world-insights
1264
- gcp:recommendations-ai
1265
- gcp:release-notes
1266
- gcp:retail-api
1267
- gcp:risk-manager
1268
- gcp:runtime-config
1269
- gcp:secret-manager
1270
- gcp:security
1271
- gcp:security-command-center
1272
- gcp:security-health-advisor
1273
- gcp:security-key-enforcement
1274
- gcp:service-discovery
1275
- gcp:speech-to-text
1276
- gcp:stackdriver
1277
- gcp:standard-network-tier
1278
- gcp:stream-suite
1279
- gcp:support
1280
- gcp:tensorflow-enterprise
1281
- gcp:text-to-speech
1282
- gcp:tools-for-powershell
1283
- gcp:trace
1284
- gcp:traffic-director
1285
- gcp:transfer
1286
- gcp:transfer-appliance
1287
- gcp:user-preferences
1288
- gcp:vertex-ai
1289
- gcp:video-intelligence-api
1290
- gcp:virtual-private-cloud
1291
- gcp:visual-inspection
1292
- gcp:vmware-engine
1293
- gcp:web-risk
1294
- gcp:web-security-scanner
1295
- gcp:workflows
1296
- gcp:workload-identity-pool
1297
- tech:aarch64
1298
- tech:adobe-illustrator
1299
- tech:adobe-photoshop
1300
- tech:adobe-premiere-pro
1301
- tech:adobe-xd
1302
- tech:adonis-js
1303
- tech:after-effects
1304
- tech:airflow
1305
- tech:akka
1306
- tech:algolia
1307
- tech:alpine-js
1308
- tech:amazon-web-services
1309
- tech:anaconda
1310
- tech:android
1311
- tech:android-studio
1312
- tech:angular
1313
- tech:angular-js
1314
- tech:ansible
1315
- tech:ant-design
1316
- tech:apache
1317
- tech:apl
1318
- tech:appcelerator
1319
- tech:apple
1320
- tech:apple-safari
1321
- tech:appwrite
1322
- tech:arch-linux
1323
- tech:arduino
1324
- tech:argo-cd
1325
- tech:astro
1326
- tech:atom
1327
- tech:autodesk-maya
1328
- tech:autodesk-shot-grid
1329
- tech:awk
1330
- tech:azios
1331
- tech:azure
1332
- tech:azure-devops
1333
- tech:azure-sql-database
1334
- tech:babel
1335
- tech:backbone-js
1336
- tech:ballerina
1337
- tech:bamboo
1338
- tech:bash
1339
- tech:behance
1340
- tech:bitbucket
1341
- tech:blender
1342
- tech:bootstrap
1343
- tech:bower
1344
- tech:browserstack
1345
- tech:bulma
1346
- tech:bun
1347
- tech:c
1348
- tech:cairo-graphics
1349
- tech:cake-php
1350
- tech:canva
1351
- tech:capacitor
1352
- tech:cassandra
1353
- tech:cent-os
1354
- tech:chrome
1355
- tech:circle-ci
1356
- tech:clarity
1357
- tech:clion
1358
- tech:clojure
1359
- tech:clojure-script
1360
- tech:cloudflare
1361
- tech:cloudflare-workers
1362
- tech:cmake
1363
- tech:code-igniter
1364
- tech:code-pen
1365
- tech:codeac
1366
- tech:codecov
1367
- tech:coffee-script
1368
- tech:composer
1369
- tech:confluence
1370
- tech:consul
1371
- tech:contao
1372
- tech:corejs
1373
- tech:cosmosdb
1374
- tech:couchdb
1375
- tech:cplusplus
1376
- tech:crystal
1377
- tech:csharp
1378
- tech:css3
1379
- tech:cucumber
1380
- tech:cypress
1381
- tech:d3js
1382
- tech:dart
1383
- tech:data-grip
1384
- tech:data-spell
1385
- tech:dbeaver
1386
- tech:debian
1387
- tech:deno
1388
- tech:devicon
1389
- tech:digital-ocean
1390
- tech:discord-js
1391
- tech:django
1392
- tech:django-rest
1393
- tech:docker
1394
- tech:doctrine
1395
- tech:dropwizard
1396
- tech:drupal
1397
- tech:eclipse-ceylon
1398
- tech:eclipse-ide
1399
- tech:eclipse-vert-x
1400
- tech:elasticbeats
1401
- tech:elasticsearch
1402
- tech:electron
1403
- tech:eleventy-11ty
1404
- tech:elixir
1405
- tech:elm
1406
- tech:embedded-c
1407
- tech:ember-js
1408
- tech:envoy
1409
- tech:erlang
1410
- tech:eslint
1411
- tech:express
1412
- tech:facebook
1413
- tech:fast-api
1414
- tech:fastify
1415
- tech:fauna
1416
- tech:feathers
1417
- tech:fedora
1418
- tech:figma
1419
- tech:file-zilla
1420
- tech:firebase
1421
- tech:firefox
1422
- tech:flask
1423
- tech:flutter
1424
- tech:fortran
1425
- tech:foundation
1426
- tech:fsharp
1427
- tech:gatling
1428
- tech:gatsby
1429
- tech:gazebo
1430
- tech:gcc
1431
- tech:gentoo
1432
- tech:ghost
1433
- tech:gimp
1434
- tech:git
1435
- tech:gitbook
1436
- tech:github
1437
- tech:github-actions
1438
- tech:github-codespaces
1439
- tech:gitlab
1440
- tech:gitpod
1441
- tech:gitter
1442
- tech:gnu-emacs
1443
- tech:go
1444
- tech:go-land
1445
- tech:godot-engine
1446
- tech:google
1447
- tech:google-cloud
1448
- tech:gradle
1449
- tech:grafana
1450
- tech:grails
1451
- tech:graphql
1452
- tech:groovy
1453
- tech:grunt-js
1454
- tech:gulp-js
1455
- tech:hadoop
1456
- tech:handlebars
1457
- tech:hardhat
1458
- tech:harvester
1459
- tech:hashicorp-vault
1460
- tech:haskell
1461
- tech:haxe
1462
- tech:helm
1463
- tech:heroku
1464
- tech:hibernate
1465
- tech:homebrew
1466
- tech:html5
1467
- tech:hugo
1468
- tech:ibm-spss-statistics
1469
- tech:ie10
1470
- tech:ifttt
1471
- tech:influxdb
1472
- tech:inkscape
1473
- tech:insomnia
1474
- tech:intellij-idea
1475
- tech:ionic
1476
- tech:jaeger
1477
- tech:jamstack
1478
- tech:jasmine
1479
- tech:java
1480
- tech:javascript
1481
- tech:jeet
1482
- tech:jekyll
1483
- tech:jenkins
1484
- tech:jest
1485
- tech:jetbrains
1486
- tech:jira
1487
- tech:jira-align
1488
- tech:jquery
1489
- tech:json
1490
- tech:jule
1491
- tech:julia
1492
- tech:junit
1493
- tech:jupyter
1494
- tech:k3os
1495
- tech:k3s
1496
- tech:kafka
1497
- tech:kaggle
1498
- tech:karate
1499
- tech:karma
1500
- tech:keras
1501
- tech:kibana
1502
- tech:knex-js
1503
- tech:knockout
1504
- tech:kotlin
1505
- tech:krakenjs
1506
- tech:ktor
1507
- tech:kubernetes
1508
- tech:labview
1509
- tech:laravel
1510
- tech:latex
1511
- tech:less-js
1512
- tech:linkedin
1513
- tech:linux
1514
- tech:liquibase
1515
- tech:livewire
1516
- tech:llvm
1517
- tech:logstash
1518
- tech:lua
1519
- tech:lumen
1520
- tech:magento
1521
- tech:markdown
1522
- tech:material-ui
1523
- tech:materialize
1524
- tech:matlab
1525
- tech:matplotlib
1526
- tech:maven
1527
- tech:meteor-js
1528
- tech:microsoft-sql-server
1529
- tech:minitab
1530
- tech:mob-x
1531
- tech:mocha
1532
- tech:modx
1533
- tech:moleculer
1534
- tech:mongodb
1535
- tech:mongoose-js
1536
- tech:moodle
1537
- tech:ms-dos
1538
- tech:mysql
1539
- tech:nano
1540
- tech:nerog
1541
- tech:nestjs
1542
- tech:net
1543
- tech:net-core
1544
- tech:network-x
1545
- tech:new4j
1546
- tech:nextjs
1547
- tech:nginx
1548
- tech:nhibernate
1549
- tech:nim
1550
- tech:nimble
1551
- tech:nix
1552
- tech:nodejs
1553
- tech:nodemon
1554
- tech:nodewebkit
1555
- tech:npm
1556
- tech:nuget
1557
- tech:num-py
1558
- tech:nuxt-js
1559
- tech:objective-c
1560
- tech:ocaml
1561
- tech:oh-my-zsh
1562
- tech:okta
1563
- tech:open-al
1564
- tech:open-api
1565
- tech:open-cl
1566
- tech:open-cv
1567
- tech:open-gl
1568
- tech:open-stack
1569
- tech:open-suse
1570
- tech:open-telemetry
1571
- tech:opera
1572
- tech:oracle
1573
- tech:p5js
1574
- tech:packer
1575
- tech:pandas
1576
- tech:perl
1577
- tech:pf-sense
1578
- tech:phalcon
1579
- tech:phoenix-framework
1580
- tech:photon-engine
1581
- tech:php
1582
- tech:php-storm
1583
- tech:playwrite
1584
- tech:ploty
1585
- tech:podman
1586
- tech:polygon
1587
- tech:portainer
1588
- tech:postcss
1589
- tech:postgresql
1590
- tech:postman
1591
- tech:powershell
1592
- tech:processing
1593
- tech:prometheus
1594
- tech:protractor
1595
- tech:purescript
1596
- tech:putty
1597
- tech:pycharm
1598
- tech:pyscript
1599
- tech:pytest
1600
- tech:python
1601
- tech:python-poetry
1602
- tech:pytorch
1603
- tech:qodana
1604
- tech:qt
1605
- tech:quarkus
1606
- tech:quasar
1607
- tech:qwik
1608
- tech:r
1609
- tech:rabbitmq
1610
- tech:rancher
1611
- tech:raspberrypi
1612
- tech:reach
1613
- tech:react
1614
- tech:react-bootstrap
1615
- tech:realm
1616
- tech:red-cube-s-epic-compiler-thingy-programming-re-ct
1617
- tech:redhat
1618
- tech:redis
1619
- tech:redux
1620
- tech:ren-py
1621
- tech:rider
1622
- tech:robot-operating-system-ros
1623
- tech:rocksdb
1624
- tech:rollup-js
1625
- tech:rspec
1626
- tech:rstudio
1627
- tech:ruby
1628
- tech:ruby-mine
1629
- tech:ruby-on-rails
1630
- tech:rust
1631
- tech:salesforce
1632
- tech:sanity
1633
- tech:sass
1634
- tech:scala
1635
- tech:scalingo
1636
- tech:sdl
1637
- tech:selenium
1638
- tech:sema-software
1639
- tech:sequelize
1640
- tech:shopware
1641
- tech:sketch
1642
- tech:slack
1643
- tech:socket-io
1644
- tech:solid-js
1645
- tech:solidity
1646
- tech:sonarqube
1647
- tech:sourcetree
1648
- tech:spark
1649
- tech:splunk
1650
- tech:spring
1651
- tech:sql-developer
1652
- tech:sqlalchemy
1653
- tech:sqlite
1654
- tech:ssh
1655
- tech:stackoverflow
1656
- tech:stata
1657
- tech:storybook
1658
- tech:streamlit
1659
- tech:stylus
1660
- tech:subversion
1661
- tech:svelte
1662
- tech:swagger
1663
- tech:swift
1664
- tech:symfony
1665
- tech:tailwind-css
1666
- tech:tauri
1667
- tech:tensorflow
1668
- tech:terraform
1669
- tech:tex
1670
- tech:the-algorithms
1671
- tech:three-js
1672
- tech:titanium-sdk
1673
- tech:tomcat
1674
- tech:tortoise-git
1675
- tech:tower
1676
- tech:traefik-mesh
1677
- tech:traefik-proxy
1678
- tech:travis-ci
1679
- tech:trello
1680
- tech:twitter
1681
- tech:typescript
1682
- tech:typo3
1683
- tech:ubuntu
1684
- tech:uml
1685
- tech:unity
1686
- tech:unix
1687
- tech:unreal-engine
1688
- tech:uwsgi
1689
- tech:v8
1690
- tech:vagrant
1691
- tech:vala
1692
- tech:vercel
1693
- tech:veutify
1694
- tech:vim
1695
- tech:visualstudio
1696
- tech:vite
1697
- tech:vitejs
1698
- tech:vscode
1699
- tech:vsphere
1700
- tech:vue
1701
- tech:vue-storefront
1702
- tech:vyper
1703
- tech:webassembly
1704
- tech:webflow
1705
- tech:weblate
1706
- tech:webpack
1707
- tech:webstorm
1708
- tech:windows8
1709
- tech:windows11
1710
- tech:woo-commerce
1711
- tech:wordpress
1712
- tech:xamarin
1713
- tech:xcode
1714
- tech:xml
1715
- tech:yaml
1716
- tech:yarn
1717
- tech:yii-framework
1718
- tech:yuno-host
1719
- tech:zend-framework
1720
- tech:zig
1721
- }}`,YC="likec4builtin",rH=`${YC}:///likec4/lib/icons.c4`;var no=Ks();const iH=new no.NotificationType("likec4/onDidChangeModel"),sH=new no.RequestType0("likec4/fetchModel"),oH=new no.RequestType("likec4/fetchComputedModel"),aH=new no.RequestType("likec4/computeView"),cH=new no.RequestType("likec4/build"),uH=new no.RequestType("likec4/locate"),lH=new no.RequestType("likec4/change-view");var Nv,XC;function dH(){return XC||(XC=1,Nv=t=>{const e=t.match(/^[ \t]*(?=\S)/gm);return e?e.reduce((n,r)=>Math.min(n,r.length),1/0):0}),Nv}var fH=dH();function Ov(t){const e=fH(t);if(e===0)return t;const n=new RegExp(`^[ \\t]{${e}}`,"gm");return t.replace(n,"")}var Lv,JC;function hH(){if(JC)return Lv;JC=1;function t(e){for(var n=5381,r=e.length;r;)n=n*33^e.charCodeAt(--r);return n>>>0}return Lv=t,Lv}var pH=hH(),mH=Object.getOwnPropertyNames,gH=Object.getOwnPropertySymbols,yH=Object.prototype.hasOwnProperty;function ZC(t,e){return function(r,i,s){return t(r,i,s)&&e(r,i,s)}}function Dh(t){return function(n,r,i){if(!n||!r||typeof n!="object"||typeof r!="object")return t(n,r,i);var s=i.cache,o=s.get(n),a=s.get(r);if(o&&a)return o===r&&a===n;s.set(n,r),s.set(r,n);var c=t(n,r,i);return s.delete(n),s.delete(r),c}}function QC(t){return mH(t).concat(gH(t))}var e_=Object.hasOwn||function(t,e){return yH.call(t,e)};function ua(t,e){return t||e?t===e:t===e||t!==t&&e!==e}var t_="_owner",n_=Object.getOwnPropertyDescriptor,r_=Object.keys;function vH(t,e,n){var r=t.length;if(e.length!==r)return!1;for(;r-- >0;)if(!n.equals(t[r],e[r],r,r,t,e,n))return!1;return!0}function wH(t,e){return ua(t.getTime(),e.getTime())}function i_(t,e,n){if(t.size!==e.size)return!1;for(var r={},i=t.entries(),s=0,o,a;(o=i.next())&&!o.done;){for(var c=e.entries(),u=!1,l=0;(a=c.next())&&!a.done;){var d=o.value,f=d[0],h=d[1],p=a.value,m=p[0],g=p[1];!u&&!r[l]&&(u=n.equals(f,m,s,l,t,e,n)&&n.equals(h,g,f,m,t,e,n))&&(r[l]=!0),l++}if(!u)return!1;s++}return!0}function bH(t,e,n){var r=r_(t),i=r.length;if(r_(e).length!==i)return!1;for(var s;i-- >0;)if(s=r[i],s===t_&&(t.$$typeof||e.$$typeof)&&t.$$typeof!==e.$$typeof||!e_(e,s)||!n.equals(t[s],e[s],s,s,t,e,n))return!1;return!0}function Lu(t,e,n){var r=QC(t),i=r.length;if(QC(e).length!==i)return!1;for(var s,o,a;i-- >0;)if(s=r[i],s===t_&&(t.$$typeof||e.$$typeof)&&t.$$typeof!==e.$$typeof||!e_(e,s)||!n.equals(t[s],e[s],s,s,t,e,n)||(o=n_(t,s),a=n_(e,s),(o||a)&&(!o||!a||o.configurable!==a.configurable||o.enumerable!==a.enumerable||o.writable!==a.writable)))return!1;return!0}function EH(t,e){return ua(t.valueOf(),e.valueOf())}function DH(t,e){return t.source===e.source&&t.flags===e.flags}function s_(t,e,n){if(t.size!==e.size)return!1;for(var r={},i=t.values(),s,o;(s=i.next())&&!s.done;){for(var a=e.values(),c=!1,u=0;(o=a.next())&&!o.done;)!c&&!r[u]&&(c=n.equals(s.value,o.value,s.value,o.value,t,e,n))&&(r[u]=!0),u++;if(!c)return!1}return!0}function TH(t,e){var n=t.length;if(e.length!==n)return!1;for(;n-- >0;)if(t[n]!==e[n])return!1;return!0}var RH="[object Arguments]",SH="[object Boolean]",kH="[object Date]",$H="[object Map]",CH="[object Number]",_H="[object Object]",AH="[object RegExp]",xH="[object Set]",IH="[object String]",PH=Array.isArray,o_=typeof ArrayBuffer=="function"&&ArrayBuffer.isView?ArrayBuffer.isView:null,a_=Object.assign,NH=Object.prototype.toString.call.bind(Object.prototype.toString);function OH(t){var e=t.areArraysEqual,n=t.areDatesEqual,r=t.areMapsEqual,i=t.areObjectsEqual,s=t.arePrimitiveWrappersEqual,o=t.areRegExpsEqual,a=t.areSetsEqual,c=t.areTypedArraysEqual;return function(l,d,f){if(l===d)return!0;if(l==null||d==null||typeof l!="object"||typeof d!="object")return l!==l&&d!==d;var h=l.constructor;if(h!==d.constructor)return!1;if(h===Object)return i(l,d,f);if(PH(l))return e(l,d,f);if(o_!=null&&o_(l))return c(l,d,f);if(h===Date)return n(l,d,f);if(h===RegExp)return o(l,d,f);if(h===Map)return r(l,d,f);if(h===Set)return a(l,d,f);var p=NH(l);return p===kH?n(l,d,f):p===AH?o(l,d,f):p===$H?r(l,d,f):p===xH?a(l,d,f):p===_H?typeof l.then!="function"&&typeof d.then!="function"&&i(l,d,f):p===RH?i(l,d,f):p===SH||p===CH||p===IH?s(l,d,f):!1}}function LH(t){var e=t.circular,n=t.createCustomConfig,r=t.strict,i={areArraysEqual:r?Lu:vH,areDatesEqual:wH,areMapsEqual:r?ZC(i_,Lu):i_,areObjectsEqual:r?Lu:bH,arePrimitiveWrappersEqual:EH,areRegExpsEqual:DH,areSetsEqual:r?ZC(s_,Lu):s_,areTypedArraysEqual:r?Lu:TH};if(n&&(i=a_({},i,n(i))),e){var s=Dh(i.areArraysEqual),o=Dh(i.areMapsEqual),a=Dh(i.areObjectsEqual),c=Dh(i.areSetsEqual);i=a_({},i,{areArraysEqual:s,areMapsEqual:o,areObjectsEqual:a,areSetsEqual:c})}return i}function FH(t){return function(e,n,r,i,s,o,a){return t(e,n,a)}}function MH(t){var e=t.circular,n=t.comparator,r=t.createState,i=t.equals,s=t.strict;if(r)return function(c,u){var l=r(),d=l.cache,f=d===void 0?e?new WeakMap:void 0:d,h=l.meta;return n(c,u,{cache:f,equals:i,meta:h,strict:s})};if(e)return function(c,u){return n(c,u,{cache:new WeakMap,equals:i,meta:void 0,strict:s})};var o={cache:void 0,equals:i,meta:void 0,strict:s};return function(c,u){return n(c,u,o)}}var c_=Zi();Zi({strict:!0}),Zi({circular:!0}),Zi({circular:!0,strict:!0}),Zi({createInternalComparator:function(){return ua}}),Zi({strict:!0,createInternalComparator:function(){return ua}}),Zi({circular:!0,createInternalComparator:function(){return ua}}),Zi({circular:!0,createInternalComparator:function(){return ua},strict:!0});function Zi(t){t===void 0&&(t={});var e=t.circular,n=e===void 0?!1:e,r=t.createInternalComparator,i=t.createState,s=t.strict,o=s===void 0?!1:s,a=LH(t),c=OH(a),u=r?r(c):FH(c);return MH({circular:n,comparator:c,createState:i,equals:u,strict:o})}var Fv,u_;function Mv(){if(u_)return Fv;u_=1;var t="\0",e="\0",n="";class r{_isDirected=!0;_isMultigraph=!1;_isCompound=!1;_label;_defaultNodeLabelFn=()=>{};_defaultEdgeLabelFn=()=>{};_nodes={};_in={};_preds={};_out={};_sucs={};_edgeObjs={};_edgeLabels={};_nodeCount=0;_edgeCount=0;_parent;_children;constructor(l){l&&(this._isDirected=Object.hasOwn(l,"directed")?l.directed:!0,this._isMultigraph=Object.hasOwn(l,"multigraph")?l.multigraph:!1,this._isCompound=Object.hasOwn(l,"compound")?l.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children[e]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(l){return this._label=l,this}graph(){return this._label}setDefaultNodeLabel(l){return this._defaultNodeLabelFn=l,typeof l!="function"&&(this._defaultNodeLabelFn=()=>l),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var l=this;return this.nodes().filter(d=>Object.keys(l._in[d]).length===0)}sinks(){var l=this;return this.nodes().filter(d=>Object.keys(l._out[d]).length===0)}setNodes(l,d){var f=arguments,h=this;return l.forEach(function(p){f.length>1?h.setNode(p,d):h.setNode(p)}),this}setNode(l,d){return Object.hasOwn(this._nodes,l)?(arguments.length>1&&(this._nodes[l]=d),this):(this._nodes[l]=arguments.length>1?d:this._defaultNodeLabelFn(l),this._isCompound&&(this._parent[l]=e,this._children[l]={},this._children[e][l]=!0),this._in[l]={},this._preds[l]={},this._out[l]={},this._sucs[l]={},++this._nodeCount,this)}node(l){return this._nodes[l]}hasNode(l){return Object.hasOwn(this._nodes,l)}removeNode(l){var d=this;if(Object.hasOwn(this._nodes,l)){var f=h=>d.removeEdge(d._edgeObjs[h]);delete this._nodes[l],this._isCompound&&(this._removeFromParentsChildList(l),delete this._parent[l],this.children(l).forEach(function(h){d.setParent(h)}),delete this._children[l]),Object.keys(this._in[l]).forEach(f),delete this._in[l],delete this._preds[l],Object.keys(this._out[l]).forEach(f),delete this._out[l],delete this._sucs[l],--this._nodeCount}return this}setParent(l,d){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(d===void 0)d=e;else{d+="";for(var f=d;f!==void 0;f=this.parent(f))if(f===l)throw new Error("Setting "+d+" as parent of "+l+" would create a cycle");this.setNode(d)}return this.setNode(l),this._removeFromParentsChildList(l),this._parent[l]=d,this._children[d][l]=!0,this}_removeFromParentsChildList(l){delete this._children[this._parent[l]][l]}parent(l){if(this._isCompound){var d=this._parent[l];if(d!==e)return d}}children(l=e){if(this._isCompound){var d=this._children[l];if(d)return Object.keys(d)}else{if(l===e)return this.nodes();if(this.hasNode(l))return[]}}predecessors(l){var d=this._preds[l];if(d)return Object.keys(d)}successors(l){var d=this._sucs[l];if(d)return Object.keys(d)}neighbors(l){var d=this.predecessors(l);if(d){const h=new Set(d);for(var f of this.successors(l))h.add(f);return Array.from(h.values())}}isLeaf(l){var d;return this.isDirected()?d=this.successors(l):d=this.neighbors(l),d.length===0}filterNodes(l){var d=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});d.setGraph(this.graph());var f=this;Object.entries(this._nodes).forEach(function([m,g]){l(m)&&d.setNode(m,g)}),Object.values(this._edgeObjs).forEach(function(m){d.hasNode(m.v)&&d.hasNode(m.w)&&d.setEdge(m,f.edge(m))});var h={};function p(m){var g=f.parent(m);return g===void 0||d.hasNode(g)?(h[m]=g,g):g in h?h[g]:p(g)}return this._isCompound&&d.nodes().forEach(m=>d.setParent(m,p(m))),d}setDefaultEdgeLabel(l){return this._defaultEdgeLabelFn=l,typeof l!="function"&&(this._defaultEdgeLabelFn=()=>l),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(l,d){var f=this,h=arguments;return l.reduce(function(p,m){return h.length>1?f.setEdge(p,m,d):f.setEdge(p,m),m}),this}setEdge(){var l,d,f,h,p=!1,m=arguments[0];typeof m=="object"&&m!==null&&"v"in m?(l=m.v,d=m.w,f=m.name,arguments.length===2&&(h=arguments[1],p=!0)):(l=m,d=arguments[1],f=arguments[3],arguments.length>2&&(h=arguments[2],p=!0)),l=""+l,d=""+d,f!==void 0&&(f=""+f);var g=o(this._isDirected,l,d,f);if(Object.hasOwn(this._edgeLabels,g))return p&&(this._edgeLabels[g]=h),this;if(f!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(l),this.setNode(d),this._edgeLabels[g]=p?h:this._defaultEdgeLabelFn(l,d,f);var y=a(this._isDirected,l,d,f);return l=y.v,d=y.w,Object.freeze(y),this._edgeObjs[g]=y,i(this._preds[d],l),i(this._sucs[l],d),this._in[d][g]=y,this._out[l][g]=y,this._edgeCount++,this}edge(l,d,f){var h=arguments.length===1?c(this._isDirected,arguments[0]):o(this._isDirected,l,d,f);return this._edgeLabels[h]}edgeAsObj(){const l=this.edge(...arguments);return typeof l!="object"?{label:l}:l}hasEdge(l,d,f){var h=arguments.length===1?c(this._isDirected,arguments[0]):o(this._isDirected,l,d,f);return Object.hasOwn(this._edgeLabels,h)}removeEdge(l,d,f){var h=arguments.length===1?c(this._isDirected,arguments[0]):o(this._isDirected,l,d,f),p=this._edgeObjs[h];return p&&(l=p.v,d=p.w,delete this._edgeLabels[h],delete this._edgeObjs[h],s(this._preds[d],l),s(this._sucs[l],d),delete this._in[d][h],delete this._out[l][h],this._edgeCount--),this}inEdges(l,d){var f=this._in[l];if(f){var h=Object.values(f);return d?h.filter(p=>p.v===d):h}}outEdges(l,d){var f=this._out[l];if(f){var h=Object.values(f);return d?h.filter(p=>p.w===d):h}}nodeEdges(l,d){var f=this.inEdges(l,d);if(f)return f.concat(this.outEdges(l,d))}}function i(u,l){u[l]?u[l]++:u[l]=1}function s(u,l){--u[l]||delete u[l]}function o(u,l,d,f){var h=""+l,p=""+d;if(!u&&h>p){var m=h;h=p,p=m}return h+n+p+n+(f===void 0?t:f)}function a(u,l,d,f){var h=""+l,p=""+d;if(!u&&h>p){var m=h;h=p,p=m}var g={v:h,w:p};return f&&(g.name=f),g}function c(u,l){return o(u,l.v,l.w,l.name)}return Fv=r,Fv}var zv,l_;function zH(){return l_||(l_=1,zv="2.2.4"),zv}var Bv,d_;function BH(){return d_||(d_=1,Bv={Graph:Mv(),version:zH()}),Bv}var qv,f_;function qH(){if(f_)return qv;f_=1;var t=Mv();qv={write:e,read:i};function e(s){var o={options:{directed:s.isDirected(),multigraph:s.isMultigraph(),compound:s.isCompound()},nodes:n(s),edges:r(s)};return s.graph()!==void 0&&(o.value=structuredClone(s.graph())),o}function n(s){return s.nodes().map(function(o){var a=s.node(o),c=s.parent(o),u={v:o};return a!==void 0&&(u.value=a),c!==void 0&&(u.parent=c),u})}function r(s){return s.edges().map(function(o){var a=s.edge(o),c={v:o.v,w:o.w};return o.name!==void 0&&(c.name=o.name),a!==void 0&&(c.value=a),c})}function i(s){var o=new t(s.options).setGraph(s.value);return s.nodes.forEach(function(a){o.setNode(a.v,a.value),a.parent&&o.setParent(a.v,a.parent)}),s.edges.forEach(function(a){o.setEdge({v:a.v,w:a.w,name:a.name},a.value)}),o}return qv}var jv,h_;function jH(){if(h_)return jv;h_=1,jv=t;function t(e){var n={},r=[],i;function s(o){Object.hasOwn(n,o)||(n[o]=!0,i.push(o),e.successors(o).forEach(s),e.predecessors(o).forEach(s))}return e.nodes().forEach(function(o){i=[],s(o),i.length&&r.push(i)}),r}return jv}var Uv,p_;function m_(){if(p_)return Uv;p_=1;class t{_arr=[];_keyIndices={};size(){return this._arr.length}keys(){return this._arr.map(function(n){return n.key})}has(n){return Object.hasOwn(this._keyIndices,n)}priority(n){var r=this._keyIndices[n];if(r!==void 0)return this._arr[r].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(n,r){var i=this._keyIndices;if(n=String(n),!Object.hasOwn(i,n)){var s=this._arr,o=s.length;return i[n]=o,s.push({key:n,priority:r}),this._decrease(o),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);var n=this._arr.pop();return delete this._keyIndices[n.key],this._heapify(0),n.key}decrease(n,r){var i=this._keyIndices[n];if(r>this._arr[i].priority)throw new Error("New priority is greater than current priority. Key: "+n+" Old: "+this._arr[i].priority+" New: "+r);this._arr[i].priority=r,this._decrease(i)}_heapify(n){var r=this._arr,i=2*n,s=i+1,o=n;i<r.length&&(o=r[i].priority<r[o].priority?i:o,s<r.length&&(o=r[s].priority<r[o].priority?s:o),o!==n&&(this._swap(n,o),this._heapify(o)))}_decrease(n){for(var r=this._arr,i=r[n].priority,s;n!==0&&(s=n>>1,!(r[s].priority<i));)this._swap(n,s),n=s}_swap(n,r){var i=this._arr,s=this._keyIndices,o=i[n],a=i[r];i[n]=a,i[r]=o,s[a.key]=n,s[o.key]=r}}return Uv=t,Uv}var Gv,g_;function y_(){if(g_)return Gv;g_=1;var t=m_();Gv=n;var e=()=>1;function n(i,s,o,a){return r(i,String(s),o||e,a||function(c){return i.outEdges(c)})}function r(i,s,o,a){var c={},u=new t,l,d,f=function(h){var p=h.v!==l?h.v:h.w,m=c[p],g=o(h),y=d.distance+g;if(g<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+h+" Weight: "+g);y<m.distance&&(m.distance=y,m.predecessor=l,u.decrease(p,y))};for(i.nodes().forEach(function(h){var p=h===s?0:Number.POSITIVE_INFINITY;c[h]={distance:p},u.add(h,p)});u.size()>0&&(l=u.removeMin(),d=c[l],d.distance!==Number.POSITIVE_INFINITY);)a(l).forEach(f);return c}return Gv}var Wv,v_;function UH(){if(v_)return Wv;v_=1;var t=y_();Wv=e;function e(n,r,i){return n.nodes().reduce(function(s,o){return s[o]=t(n,o,r,i),s},{})}return Wv}var Hv,w_;function b_(){if(w_)return Hv;w_=1,Hv=t;function t(e){var n=0,r=[],i={},s=[];function o(a){var c=i[a]={onStack:!0,lowlink:n,index:n++};if(r.push(a),e.successors(a).forEach(function(d){Object.hasOwn(i,d)?i[d].onStack&&(c.lowlink=Math.min(c.lowlink,i[d].index)):(o(d),c.lowlink=Math.min(c.lowlink,i[d].lowlink))}),c.lowlink===c.index){var u=[],l;do l=r.pop(),i[l].onStack=!1,u.push(l);while(a!==l);s.push(u)}}return e.nodes().forEach(function(a){Object.hasOwn(i,a)||o(a)}),s}return Hv}var Vv,E_;function GH(){if(E_)return Vv;E_=1;var t=b_();Vv=e;function e(n){return t(n).filter(function(r){return r.length>1||r.length===1&&n.hasEdge(r[0],r[0])})}return Vv}var Kv,D_;function WH(){if(D_)return Kv;D_=1,Kv=e;var t=()=>1;function e(r,i,s){return n(r,i||t,s||function(o){return r.outEdges(o)})}function n(r,i,s){var o={},a=r.nodes();return a.forEach(function(c){o[c]={},o[c][c]={distance:0},a.forEach(function(u){c!==u&&(o[c][u]={distance:Number.POSITIVE_INFINITY})}),s(c).forEach(function(u){var l=u.v===c?u.w:u.v,d=i(u);o[c][l]={distance:d,predecessor:c}})}),a.forEach(function(c){var u=o[c];a.forEach(function(l){var d=o[l];a.forEach(function(f){var h=d[c],p=u[f],m=d[f],g=h.distance+p.distance;g<m.distance&&(m.distance=g,m.predecessor=p.predecessor)})})}),o}return Kv}var Yv,T_;function R_(){if(T_)return Yv;T_=1;function t(n){var r={},i={},s=[];function o(a){if(Object.hasOwn(i,a))throw new e;Object.hasOwn(r,a)||(i[a]=!0,r[a]=!0,n.predecessors(a).forEach(o),delete i[a],s.push(a))}if(n.sinks().forEach(o),Object.keys(r).length!==n.nodeCount())throw new e;return s}class e extends Error{constructor(){super(...arguments)}}return Yv=t,t.CycleException=e,Yv}var Xv,S_;function HH(){if(S_)return Xv;S_=1;var t=R_();Xv=e;function e(n){try{t(n)}catch(r){if(r instanceof t.CycleException)return!1;throw r}return!0}return Xv}var Jv,k_;function $_(){if(k_)return Jv;k_=1,Jv=t;function t(i,s,o){Array.isArray(s)||(s=[s]);var a=i.isDirected()?d=>i.successors(d):d=>i.neighbors(d),c=o==="post"?e:n,u=[],l={};return s.forEach(d=>{if(!i.hasNode(d))throw new Error("Graph does not have node: "+d);c(d,a,l,u)}),u}function e(i,s,o,a){for(var c=[[i,!1]];c.length>0;){var u=c.pop();u[1]?a.push(u[0]):Object.hasOwn(o,u[0])||(o[u[0]]=!0,c.push([u[0],!0]),r(s(u[0]),l=>c.push([l,!1])))}}function n(i,s,o,a){for(var c=[i];c.length>0;){var u=c.pop();Object.hasOwn(o,u)||(o[u]=!0,a.push(u),r(s(u),l=>c.push(l)))}}function r(i,s){for(var o=i.length;o--;)s(i[o],o,i);return i}return Jv}var Zv,C_;function VH(){if(C_)return Zv;C_=1;var t=$_();Zv=e;function e(n,r){return t(n,r,"post")}return Zv}var Qv,__;function KH(){if(__)return Qv;__=1;var t=$_();Qv=e;function e(n,r){return t(n,r,"pre")}return Qv}var ew,A_;function YH(){if(A_)return ew;A_=1;var t=Mv(),e=m_();ew=n;function n(r,i){var s=new t,o={},a=new e,c;function u(d){var f=d.v===c?d.w:d.v,h=a.priority(f);if(h!==void 0){var p=i(d);p<h&&(o[f]=c,a.decrease(f,p))}}if(r.nodeCount()===0)return s;r.nodes().forEach(function(d){a.add(d,Number.POSITIVE_INFINITY),s.setNode(d)}),a.decrease(r.nodes()[0],0);for(var l=!1;a.size()>0;){if(c=a.removeMin(),Object.hasOwn(o,c))s.setEdge(c,o[c]);else{if(l)throw new Error("Input graph is not connected: "+r);l=!0}r.nodeEdges(c).forEach(u)}return s}return ew}var tw,x_;function XH(){return x_||(x_=1,tw={components:jH(),dijkstra:y_(),dijkstraAll:UH(),findCycles:GH(),floydWarshall:WH(),isAcyclic:HH(),postorder:VH(),preorder:KH(),prim:YH(),tarjan:b_(),topsort:R_()}),tw}var nw,I_;function yr(){if(I_)return nw;I_=1;var t=BH();return nw={Graph:t.Graph,json:qH(),alg:XH(),version:t.version},nw}var rw,P_;function JH(){if(P_)return rw;P_=1;class t{constructor(){let i={};i._next=i._prev=i,this._sentinel=i}dequeue(){let i=this._sentinel,s=i._prev;if(s!==i)return e(s),s}enqueue(i){let s=this._sentinel;i._prev&&i._next&&e(i),i._next=s._next,s._next._prev=i,s._next=i,i._prev=s}toString(){let i=[],s=this._sentinel,o=s._prev;for(;o!==s;)i.push(JSON.stringify(o,n)),o=o._prev;return"["+i.join(", ")+"]"}}function e(r){r._prev._next=r._next,r._next._prev=r._prev,delete r._next,delete r._prev}function n(r,i){if(r!=="_next"&&r!=="_prev")return i}return rw=t,rw}var iw,N_;function ZH(){if(N_)return iw;N_=1;let t=yr().Graph,e=JH();iw=r;let n=()=>1;function r(u,l){if(u.nodeCount()<=1)return[];let d=o(u,l||n);return i(d.graph,d.buckets,d.zeroIdx).flatMap(h=>u.outEdges(h.v,h.w))}function i(u,l,d){let f=[],h=l[l.length-1],p=l[0],m;for(;u.nodeCount();){for(;m=p.dequeue();)s(u,l,d,m);for(;m=h.dequeue();)s(u,l,d,m);if(u.nodeCount()){for(let g=l.length-2;g>0;--g)if(m=l[g].dequeue(),m){f=f.concat(s(u,l,d,m,!0));break}}}return f}function s(u,l,d,f,h){let p=h?[]:void 0;return u.inEdges(f.v).forEach(m=>{let g=u.edge(m),y=u.node(m.v);h&&p.push({v:m.v,w:m.w}),y.out-=g,a(l,d,y)}),u.outEdges(f.v).forEach(m=>{let g=u.edge(m),y=m.w,w=u.node(y);w.in-=g,a(l,d,w)}),u.removeNode(f.v),p}function o(u,l){let d=new t,f=0,h=0;u.nodes().forEach(g=>{d.setNode(g,{v:g,in:0,out:0})}),u.edges().forEach(g=>{let y=d.edge(g.v,g.w)||0,w=l(g),E=y+w;d.setEdge(g.v,g.w,E),h=Math.max(h,d.node(g.v).out+=w),f=Math.max(f,d.node(g.w).in+=w)});let p=c(h+f+3).map(()=>new e),m=f+1;return d.nodes().forEach(g=>{a(p,m,d.node(g))}),{graph:d,buckets:p,zeroIdx:m}}function a(u,l,d){d.out?d.in?u[d.out-d.in+l].enqueue(d):u[u.length-1].enqueue(d):u[0].enqueue(d)}function c(u){const l=[];for(let d=0;d<u;d++)l.push(d);return l}return iw}var sw,O_;function xt(){if(O_)return sw;O_=1;let t=yr().Graph;sw={addBorderNode:l,addDummyNode:e,applyWithChunking:h,asNonCompoundGraph:r,buildLayerMatrix:a,intersectRect:o,mapValues:I,maxRank:p,normalizeRanks:c,notime:y,partition:m,pick:A,predecessorWeights:s,range:k,removeEmptyRanks:u,simplify:n,successorWeights:i,time:g,uniqueId:E,zipObject:x};function e(_,P,O,C){let D;do D=E(C);while(_.hasNode(D));return O.dummy=P,_.setNode(D,O),D}function n(_){let P=new t().setGraph(_.graph());return _.nodes().forEach(O=>P.setNode(O,_.node(O))),_.edges().forEach(O=>{let C=P.edge(O.v,O.w)||{weight:0,minlen:1},D=_.edge(O);P.setEdge(O.v,O.w,{weight:C.weight+D.weight,minlen:Math.max(C.minlen,D.minlen)})}),P}function r(_){let P=new t({multigraph:_.isMultigraph()}).setGraph(_.graph());return _.nodes().forEach(O=>{_.children(O).length||P.setNode(O,_.node(O))}),_.edges().forEach(O=>{P.setEdge(O,_.edge(O))}),P}function i(_){let P=_.nodes().map(O=>{let C={};return _.outEdges(O).forEach(D=>{C[D.w]=(C[D.w]||0)+_.edge(D).weight}),C});return x(_.nodes(),P)}function s(_){let P=_.nodes().map(O=>{let C={};return _.inEdges(O).forEach(D=>{C[D.v]=(C[D.v]||0)+_.edge(D).weight}),C});return x(_.nodes(),P)}function o(_,P){let O=_.x,C=_.y,D=P.x-O,R=P.y-C,F=_.width/2,W=_.height/2;if(!D&&!R)throw new Error("Not possible to find intersection inside of the rectangle");let V,Z;return Math.abs(R)*F>Math.abs(D)*W?(R<0&&(W=-W),V=W*D/R,Z=W):(D<0&&(F=-F),V=F,Z=F*R/D),{x:O+V,y:C+Z}}function a(_){let P=k(p(_)+1).map(()=>[]);return _.nodes().forEach(O=>{let C=_.node(O),D=C.rank;D!==void 0&&(P[D][C.order]=O)}),P}function c(_){let P=_.nodes().map(C=>{let D=_.node(C).rank;return D===void 0?Number.MAX_VALUE:D}),O=h(Math.min,P);_.nodes().forEach(C=>{let D=_.node(C);Object.hasOwn(D,"rank")&&(D.rank-=O)})}function u(_){let P=_.nodes().map(F=>_.node(F).rank),O=h(Math.min,P),C=[];_.nodes().forEach(F=>{let W=_.node(F).rank-O;C[W]||(C[W]=[]),C[W].push(F)});let D=0,R=_.graph().nodeRankFactor;Array.from(C).forEach((F,W)=>{F===void 0&&W%R!==0?--D:F!==void 0&&D&&F.forEach(V=>_.node(V).rank+=D)})}function l(_,P,O,C){let D={width:0,height:0};return arguments.length>=4&&(D.rank=O,D.order=C),e(_,"border",D,P)}function d(_,P=f){const O=[];for(let C=0;C<_.length;C+=P){const D=_.slice(C,C+P);O.push(D)}return O}const f=65535;function h(_,P){if(P.length>f){const O=d(P);return _.apply(null,O.map(C=>_.apply(null,C)))}else return _.apply(null,P)}function p(_){const O=_.nodes().map(C=>{let D=_.node(C).rank;return D===void 0?Number.MIN_VALUE:D});return h(Math.max,O)}function m(_,P){let O={lhs:[],rhs:[]};return _.forEach(C=>{P(C)?O.lhs.push(C):O.rhs.push(C)}),O}function g(_,P){let O=Date.now();try{return P()}finally{console.log(_+" time: "+(Date.now()-O)+"ms")}}function y(_,P){return P()}let w=0;function E(_){var P=++w;return toString(_)+P}function k(_,P,O=1){P==null&&(P=_,_=0);let C=R=>R<P;O<0&&(C=R=>P<R);const D=[];for(let R=_;C(R);R+=O)D.push(R);return D}function A(_,P){const O={};for(const C of P)_[C]!==void 0&&(O[C]=_[C]);return O}function I(_,P){let O=P;return typeof P=="string"&&(O=C=>C[P]),Object.entries(_).reduce((C,[D,R])=>(C[D]=O(R,D),C),{})}function x(_,P){return _.reduce((O,C,D)=>(O[C]=P[D],O),{})}return sw}var ow,L_;function QH(){if(L_)return ow;L_=1;let t=ZH(),e=xt().uniqueId;ow={run:n,undo:i};function n(s){(s.graph().acyclicer==="greedy"?t(s,a(s)):r(s)).forEach(c=>{let u=s.edge(c);s.removeEdge(c),u.forwardName=c.name,u.reversed=!0,s.setEdge(c.w,c.v,u,e("rev"))});function a(c){return u=>c.edge(u).weight}}function r(s){let o=[],a={},c={};function u(l){Object.hasOwn(c,l)||(c[l]=!0,a[l]=!0,s.outEdges(l).forEach(d=>{Object.hasOwn(a,d.w)?o.push(d):u(d.w)}),delete a[l])}return s.nodes().forEach(u),o}function i(s){s.edges().forEach(o=>{let a=s.edge(o);if(a.reversed){s.removeEdge(o);let c=a.forwardName;delete a.reversed,delete a.forwardName,s.setEdge(o.w,o.v,a,c)}})}return ow}var aw,F_;function eV(){if(F_)return aw;F_=1;let t=xt();aw={run:e,undo:r};function e(i){i.graph().dummyChains=[],i.edges().forEach(s=>n(i,s))}function n(i,s){let o=s.v,a=i.node(o).rank,c=s.w,u=i.node(c).rank,l=s.name,d=i.edge(s),f=d.labelRank;if(u===a+1)return;i.removeEdge(s);let h,p,m;for(m=0,++a;a<u;++m,++a)d.points=[],p={width:0,height:0,edgeLabel:d,edgeObj:s,rank:a},h=t.addDummyNode(i,"edge",p,"_d"),a===f&&(p.width=d.width,p.height=d.height,p.dummy="edge-label",p.labelpos=d.labelpos),i.setEdge(o,h,{weight:d.weight},l),m===0&&i.graph().dummyChains.push(h),o=h;i.setEdge(o,c,{weight:d.weight},l)}function r(i){i.graph().dummyChains.forEach(s=>{let o=i.node(s),a=o.edgeLabel,c;for(i.setEdge(o.edgeObj,a);o.dummy;)c=i.successors(s)[0],i.removeNode(s),a.points.push({x:o.x,y:o.y}),o.dummy==="edge-label"&&(a.x=o.x,a.y=o.y,a.width=o.width,a.height=o.height),s=c,o=i.node(s)})}return aw}var cw,M_;function Th(){if(M_)return cw;M_=1;const{applyWithChunking:t}=xt();cw={longestPath:e,slack:n};function e(r){var i={};function s(o){var a=r.node(o);if(Object.hasOwn(i,o))return a.rank;i[o]=!0;let c=r.outEdges(o).map(l=>l==null?Number.POSITIVE_INFINITY:s(l.w)-r.edge(l).minlen);var u=t(Math.min,c);return u===Number.POSITIVE_INFINITY&&(u=0),a.rank=u}r.sources().forEach(s)}function n(r,i){return r.node(i.w).rank-r.node(i.v).rank-r.edge(i).minlen}return cw}var uw,z_;function B_(){if(z_)return uw;z_=1;var t=yr().Graph,e=Th().slack;uw=n;function n(o){var a=new t({directed:!1}),c=o.nodes()[0],u=o.nodeCount();a.setNode(c,{});for(var l,d;r(a,o)<u;)l=i(a,o),d=a.hasNode(l.v)?e(o,l):-e(o,l),s(a,o,d);return a}function r(o,a){function c(u){a.nodeEdges(u).forEach(l=>{var d=l.v,f=u===d?l.w:d;!o.hasNode(f)&&!e(a,l)&&(o.setNode(f,{}),o.setEdge(u,f,{}),c(f))})}return o.nodes().forEach(c),o.nodeCount()}function i(o,a){return a.edges().reduce((u,l)=>{let d=Number.POSITIVE_INFINITY;return o.hasNode(l.v)!==o.hasNode(l.w)&&(d=e(a,l)),d<u[0]?[d,l]:u},[Number.POSITIVE_INFINITY,null])[1]}function s(o,a,c){o.nodes().forEach(u=>a.node(u).rank+=c)}return uw}var lw,q_;function tV(){if(q_)return lw;q_=1;var t=B_(),e=Th().slack,n=Th().longestPath,r=yr().alg.preorder,i=yr().alg.postorder,s=xt().simplify;lw=o,o.initLowLimValues=l,o.initCutValues=a,o.calcCutValue=u,o.leaveEdge=f,o.enterEdge=h,o.exchangeEdges=p;function o(w){w=s(w),n(w);var E=t(w);l(E),a(E,w);for(var k,A;k=f(E);)A=h(E,w,k),p(E,w,k,A)}function a(w,E){var k=i(w,w.nodes());k=k.slice(0,k.length-1),k.forEach(A=>c(w,E,A))}function c(w,E,k){var A=w.node(k),I=A.parent;w.edge(k,I).cutvalue=u(w,E,k)}function u(w,E,k){var A=w.node(k),I=A.parent,x=!0,_=E.edge(k,I),P=0;return _||(x=!1,_=E.edge(I,k)),P=_.weight,E.nodeEdges(k).forEach(O=>{var C=O.v===k,D=C?O.w:O.v;if(D!==I){var R=C===x,F=E.edge(O).weight;if(P+=R?F:-F,g(w,k,D)){var W=w.edge(k,D).cutvalue;P+=R?-W:W}}}),P}function l(w,E){arguments.length<2&&(E=w.nodes()[0]),d(w,{},1,E)}function d(w,E,k,A,I){var x=k,_=w.node(A);return E[A]=!0,w.neighbors(A).forEach(P=>{Object.hasOwn(E,P)||(k=d(w,E,k,P,A))}),_.low=x,_.lim=k++,I?_.parent=I:delete _.parent,k}function f(w){return w.edges().find(E=>w.edge(E).cutvalue<0)}function h(w,E,k){var A=k.v,I=k.w;E.hasEdge(A,I)||(A=k.w,I=k.v);var x=w.node(A),_=w.node(I),P=x,O=!1;x.lim>_.lim&&(P=_,O=!0);var C=E.edges().filter(D=>O===y(w,w.node(D.v),P)&&O!==y(w,w.node(D.w),P));return C.reduce((D,R)=>e(E,R)<e(E,D)?R:D)}function p(w,E,k,A){var I=k.v,x=k.w;w.removeEdge(I,x),w.setEdge(A.v,A.w,{}),l(w),a(w,E),m(w,E)}function m(w,E){var k=w.nodes().find(I=>!E.node(I).parent),A=r(w,k);A=A.slice(1),A.forEach(I=>{var x=w.node(I).parent,_=E.edge(I,x),P=!1;_||(_=E.edge(x,I),P=!0),E.node(I).rank=E.node(x).rank+(P?_.minlen:-_.minlen)})}function g(w,E,k){return w.hasEdge(E,k)}function y(w,E,k){return k.low<=E.lim&&E.lim<=k.lim}return lw}var dw,j_;function nV(){if(j_)return dw;j_=1;var t=Th(),e=t.longestPath,n=B_(),r=tV();dw=i;function i(c){switch(c.graph().ranker){case"network-simplex":a(c);break;case"tight-tree":o(c);break;case"longest-path":s(c);break;default:a(c)}}var s=e;function o(c){e(c),n(c)}function a(c){r(c)}return dw}var fw,U_;function rV(){if(U_)return fw;U_=1,fw=t;function t(r){let i=n(r);r.graph().dummyChains.forEach(s=>{let o=r.node(s),a=o.edgeObj,c=e(r,i,a.v,a.w),u=c.path,l=c.lca,d=0,f=u[d],h=!0;for(;s!==a.w;){if(o=r.node(s),h){for(;(f=u[d])!==l&&r.node(f).maxRank<o.rank;)d++;f===l&&(h=!1)}if(!h){for(;d<u.length-1&&r.node(f=u[d+1]).minRank<=o.rank;)d++;f=u[d]}r.setParent(s,f),s=r.successors(s)[0]}})}function e(r,i,s,o){let a=[],c=[],u=Math.min(i[s].low,i[o].low),l=Math.max(i[s].lim,i[o].lim),d,f;d=s;do d=r.parent(d),a.push(d);while(d&&(i[d].low>u||l>i[d].lim));for(f=d,d=o;(d=r.parent(d))!==f;)c.push(d);return{path:a.concat(c.reverse()),lca:f}}function n(r){let i={},s=0;function o(a){let c=s;r.children(a).forEach(o),i[a]={low:c,lim:s++}}return r.children().forEach(o),i}return fw}var hw,G_;function iV(){if(G_)return hw;G_=1;let t=xt();hw={run:e,cleanup:s};function e(o){let a=t.addDummyNode(o,"root",{},"_root"),c=r(o),u=Object.values(c),l=t.applyWithChunking(Math.max,u)-1,d=2*l+1;o.graph().nestingRoot=a,o.edges().forEach(h=>o.edge(h).minlen*=d);let f=i(o)+1;o.children().forEach(h=>n(o,a,d,f,l,c,h)),o.graph().nodeRankFactor=d}function n(o,a,c,u,l,d,f){let h=o.children(f);if(!h.length){f!==a&&o.setEdge(a,f,{weight:0,minlen:c});return}let p=t.addBorderNode(o,"_bt"),m=t.addBorderNode(o,"_bb"),g=o.node(f);o.setParent(p,f),g.borderTop=p,o.setParent(m,f),g.borderBottom=m,h.forEach(y=>{n(o,a,c,u,l,d,y);let w=o.node(y),E=w.borderTop?w.borderTop:y,k=w.borderBottom?w.borderBottom:y,A=w.borderTop?u:2*u,I=E!==k?1:l-d[f]+1;o.setEdge(p,E,{weight:A,minlen:I,nestingEdge:!0}),o.setEdge(k,m,{weight:A,minlen:I,nestingEdge:!0})}),o.parent(f)||o.setEdge(a,p,{weight:0,minlen:l+d[f]})}function r(o){var a={};function c(u,l){var d=o.children(u);d&&d.length&&d.forEach(f=>c(f,l+1)),a[u]=l}return o.children().forEach(u=>c(u,1)),a}function i(o){return o.edges().reduce((a,c)=>a+o.edge(c).weight,0)}function s(o){var a=o.graph();o.removeNode(a.nestingRoot),delete a.nestingRoot,o.edges().forEach(c=>{var u=o.edge(c);u.nestingEdge&&o.removeEdge(c)})}return hw}var pw,W_;function sV(){if(W_)return pw;W_=1;let t=xt();pw=e;function e(r){function i(s){let o=r.children(s),a=r.node(s);if(o.length&&o.forEach(i),Object.hasOwn(a,"minRank")){a.borderLeft=[],a.borderRight=[];for(let c=a.minRank,u=a.maxRank+1;c<u;++c)n(r,"borderLeft","_bl",s,a,c),n(r,"borderRight","_br",s,a,c)}}r.children().forEach(i)}function n(r,i,s,o,a,c){let u={width:0,height:0,rank:c,borderType:i},l=a[i][c-1],d=t.addDummyNode(r,"border",u,s);a[i][c]=d,r.setParent(d,o),l&&r.setEdge(l,d,{weight:1})}return pw}var mw,H_;function oV(){if(H_)return mw;H_=1,mw={adjust:t,undo:e};function t(c){let u=c.graph().rankdir.toLowerCase();(u==="lr"||u==="rl")&&n(c)}function e(c){let u=c.graph().rankdir.toLowerCase();(u==="bt"||u==="rl")&&i(c),(u==="lr"||u==="rl")&&(o(c),n(c))}function n(c){c.nodes().forEach(u=>r(c.node(u))),c.edges().forEach(u=>r(c.edge(u)))}function r(c){let u=c.width;c.width=c.height,c.height=u}function i(c){c.nodes().forEach(u=>s(c.node(u))),c.edges().forEach(u=>{let l=c.edge(u);l.points.forEach(s),Object.hasOwn(l,"y")&&s(l)})}function s(c){c.y=-c.y}function o(c){c.nodes().forEach(u=>a(c.node(u))),c.edges().forEach(u=>{let l=c.edge(u);l.points.forEach(a),Object.hasOwn(l,"x")&&a(l)})}function a(c){let u=c.x;c.x=c.y,c.y=u}return mw}var gw,V_;function aV(){if(V_)return gw;V_=1;let t=xt();gw=e;function e(n){let r={},i=n.nodes().filter(l=>!n.children(l).length),s=i.map(l=>n.node(l).rank),o=t.applyWithChunking(Math.max,s),a=t.range(o+1).map(()=>[]);function c(l){if(r[l])return;r[l]=!0;let d=n.node(l);a[d.rank].push(l),n.successors(l).forEach(c)}return i.sort((l,d)=>n.node(l).rank-n.node(d).rank).forEach(c),a}return gw}var yw,K_;function cV(){if(K_)return yw;K_=1;let t=xt().zipObject;yw=e;function e(r,i){let s=0;for(let o=1;o<i.length;++o)s+=n(r,i[o-1],i[o]);return s}function n(r,i,s){let o=t(s,s.map((f,h)=>h)),a=i.flatMap(f=>r.outEdges(f).map(h=>({pos:o[h.w],weight:r.edge(h).weight})).sort((h,p)=>h.pos-p.pos)),c=1;for(;c<s.length;)c<<=1;let u=2*c-1;c-=1;let l=new Array(u).fill(0),d=0;return a.forEach(f=>{let h=f.pos+c;l[h]+=f.weight;let p=0;for(;h>0;)h%2&&(p+=l[h+1]),h=h-1>>1,l[h]+=f.weight;d+=f.weight*p}),d}return yw}var vw,Y_;function uV(){if(Y_)return vw;Y_=1,vw=t;function t(e,n=[]){return n.map(r=>{let i=e.inEdges(r);if(i.length){let s=i.reduce((o,a)=>{let c=e.edge(a),u=e.node(a.v);return{sum:o.sum+c.weight*u.order,weight:o.weight+c.weight}},{sum:0,weight:0});return{v:r,barycenter:s.sum/s.weight,weight:s.weight}}else return{v:r}})}return vw}var ww,X_;function lV(){if(X_)return ww;X_=1;let t=xt();ww=e;function e(i,s){let o={};i.forEach((c,u)=>{let l=o[c.v]={indegree:0,in:[],out:[],vs:[c.v],i:u};c.barycenter!==void 0&&(l.barycenter=c.barycenter,l.weight=c.weight)}),s.edges().forEach(c=>{let u=o[c.v],l=o[c.w];u!==void 0&&l!==void 0&&(l.indegree++,u.out.push(o[c.w]))});let a=Object.values(o).filter(c=>!c.indegree);return n(a)}function n(i){let s=[];function o(c){return u=>{u.merged||(u.barycenter===void 0||c.barycenter===void 0||u.barycenter>=c.barycenter)&&r(c,u)}}function a(c){return u=>{u.in.push(c),--u.indegree===0&&i.push(u)}}for(;i.length;){let c=i.pop();s.push(c),c.in.reverse().forEach(o(c)),c.out.forEach(a(c))}return s.filter(c=>!c.merged).map(c=>t.pick(c,["vs","i","barycenter","weight"]))}function r(i,s){let o=0,a=0;i.weight&&(o+=i.barycenter*i.weight,a+=i.weight),s.weight&&(o+=s.barycenter*s.weight,a+=s.weight),i.vs=s.vs.concat(i.vs),i.barycenter=o/a,i.weight=a,i.i=Math.min(s.i,i.i),s.merged=!0}return ww}var bw,J_;function dV(){if(J_)return bw;J_=1;let t=xt();bw=e;function e(i,s){let o=t.partition(i,p=>Object.hasOwn(p,"barycenter")),a=o.lhs,c=o.rhs.sort((p,m)=>m.i-p.i),u=[],l=0,d=0,f=0;a.sort(r(!!s)),f=n(u,c,f),a.forEach(p=>{f+=p.vs.length,u.push(p.vs),l+=p.barycenter*p.weight,d+=p.weight,f=n(u,c,f)});let h={vs:u.flat(!0)};return d&&(h.barycenter=l/d,h.weight=d),h}function n(i,s,o){let a;for(;s.length&&(a=s[s.length-1]).i<=o;)s.pop(),i.push(a.vs),o++;return o}function r(i){return(s,o)=>s.barycenter<o.barycenter?-1:s.barycenter>o.barycenter?1:i?o.i-s.i:s.i-o.i}return bw}var Ew,Z_;function fV(){if(Z_)return Ew;Z_=1;let t=uV(),e=lV(),n=dV();Ew=r;function r(o,a,c,u){let l=o.children(a),d=o.node(a),f=d?d.borderLeft:void 0,h=d?d.borderRight:void 0,p={};f&&(l=l.filter(w=>w!==f&&w!==h));let m=t(o,l);m.forEach(w=>{if(o.children(w.v).length){let E=r(o,w.v,c,u);p[w.v]=E,Object.hasOwn(E,"barycenter")&&s(w,E)}});let g=e(m,c);i(g,p);let y=n(g,u);if(f&&(y.vs=[f,y.vs,h].flat(!0),o.predecessors(f).length)){let w=o.node(o.predecessors(f)[0]),E=o.node(o.predecessors(h)[0]);Object.hasOwn(y,"barycenter")||(y.barycenter=0,y.weight=0),y.barycenter=(y.barycenter*y.weight+w.order+E.order)/(y.weight+2),y.weight+=2}return y}function i(o,a){o.forEach(c=>{c.vs=c.vs.flatMap(u=>a[u]?a[u].vs:u)})}function s(o,a){o.barycenter!==void 0?(o.barycenter=(o.barycenter*o.weight+a.barycenter*a.weight)/(o.weight+a.weight),o.weight+=a.weight):(o.barycenter=a.barycenter,o.weight=a.weight)}return Ew}var Dw,Q_;function hV(){if(Q_)return Dw;Q_=1;let t=yr().Graph,e=xt();Dw=n;function n(i,s,o){let a=r(i),c=new t({compound:!0}).setGraph({root:a}).setDefaultNodeLabel(u=>i.node(u));return i.nodes().forEach(u=>{let l=i.node(u),d=i.parent(u);(l.rank===s||l.minRank<=s&&s<=l.maxRank)&&(c.setNode(u),c.setParent(u,d||a),i[o](u).forEach(f=>{let h=f.v===u?f.w:f.v,p=c.edge(h,u),m=p!==void 0?p.weight:0;c.setEdge(h,u,{weight:i.edge(f).weight+m})}),Object.hasOwn(l,"minRank")&&c.setNode(u,{borderLeft:l.borderLeft[s],borderRight:l.borderRight[s]}))}),c}function r(i){for(var s;i.hasNode(s=e.uniqueId("_root")););return s}return Dw}var Tw,eA;function pV(){if(eA)return Tw;eA=1,Tw=t;function t(e,n,r){let i={},s;r.forEach(o=>{let a=e.parent(o),c,u;for(;a;){if(c=e.parent(a),c?(u=i[c],i[c]=a):(u=s,s=a),u&&u!==a){n.setEdge(u,a);return}a=c}})}return Tw}var Rw,tA;function mV(){if(tA)return Rw;tA=1;let t=aV(),e=cV(),n=fV(),r=hV(),i=pV(),s=yr().Graph,o=xt();Rw=a;function a(d,f){if(f&&typeof f.customOrder=="function"){f.customOrder(d,a);return}let h=o.maxRank(d),p=c(d,o.range(1,h+1),"inEdges"),m=c(d,o.range(h-1,-1,-1),"outEdges"),g=t(d);if(l(d,g),f&&f.disableOptimalOrderHeuristic)return;let y=Number.POSITIVE_INFINITY,w;for(let E=0,k=0;k<4;++E,++k){u(E%2?p:m,E%4>=2),g=o.buildLayerMatrix(d);let A=e(d,g);A<y&&(k=0,w=Object.assign({},g),y=A)}l(d,w)}function c(d,f,h){return f.map(function(p){return r(d,p,h)})}function u(d,f){let h=new s;d.forEach(function(p){let m=p.graph().root,g=n(p,m,h,f);g.vs.forEach((y,w)=>p.node(y).order=w),i(p,h,g.vs)})}function l(d,f){Object.values(f).forEach(h=>h.forEach((p,m)=>d.node(p).order=m))}return Rw}var Sw,nA;function gV(){if(nA)return Sw;nA=1;let t=yr().Graph,e=xt();Sw={positionX:h,findType1Conflicts:n,findType2Conflicts:r,addConflict:s,hasConflict:o,verticalAlignment:a,horizontalCompaction:c,alignCoordinates:d,findSmallestWidthAlignment:l,balance:f};function n(g,y){let w={};function E(k,A){let I=0,x=0,_=k.length,P=A[A.length-1];return A.forEach((O,C)=>{let D=i(g,O),R=D?g.node(D).order:_;(D||O===P)&&(A.slice(x,C+1).forEach(F=>{g.predecessors(F).forEach(W=>{let V=g.node(W),Z=V.order;(Z<I||R<Z)&&!(V.dummy&&g.node(F).dummy)&&s(w,W,F)})}),x=C+1,I=R)}),A}return y.length&&y.reduce(E),w}function r(g,y){let w={};function E(A,I,x,_,P){let O;e.range(I,x).forEach(C=>{O=A[C],g.node(O).dummy&&g.predecessors(O).forEach(D=>{let R=g.node(D);R.dummy&&(R.order<_||R.order>P)&&s(w,D,O)})})}function k(A,I){let x=-1,_,P=0;return I.forEach((O,C)=>{if(g.node(O).dummy==="border"){let D=g.predecessors(O);D.length&&(_=g.node(D[0]).order,E(I,P,C,x,_),P=C,x=_)}E(I,P,I.length,_,A.length)}),I}return y.length&&y.reduce(k),w}function i(g,y){if(g.node(y).dummy)return g.predecessors(y).find(w=>g.node(w).dummy)}function s(g,y,w){if(y>w){let k=y;y=w,w=k}let E=g[y];E||(g[y]=E={}),E[w]=!0}function o(g,y,w){if(y>w){let E=y;y=w,w=E}return!!g[y]&&Object.hasOwn(g[y],w)}function a(g,y,w,E){let k={},A={},I={};return y.forEach(x=>{x.forEach((_,P)=>{k[_]=_,A[_]=_,I[_]=P})}),y.forEach(x=>{let _=-1;x.forEach(P=>{let O=E(P);if(O.length){O=O.sort((D,R)=>I[D]-I[R]);let C=(O.length-1)/2;for(let D=Math.floor(C),R=Math.ceil(C);D<=R;++D){let F=O[D];A[P]===P&&_<I[F]&&!o(w,P,F)&&(A[F]=P,A[P]=k[P]=k[F],_=I[F])}}})}),{root:k,align:A}}function c(g,y,w,E,k){let A={},I=u(g,y,w,k),x=k?"borderLeft":"borderRight";function _(C,D){let R=I.nodes(),F=R.pop(),W={};for(;F;)W[F]?C(F):(W[F]=!0,R.push(F),R=R.concat(D(F))),F=R.pop()}function P(C){A[C]=I.inEdges(C).reduce((D,R)=>Math.max(D,A[R.v]+I.edge(R)),0)}function O(C){let D=I.outEdges(C).reduce((F,W)=>Math.min(F,A[W.w]-I.edge(W)),Number.POSITIVE_INFINITY),R=g.node(C);D!==Number.POSITIVE_INFINITY&&R.borderType!==x&&(A[C]=Math.max(A[C],D))}return _(P,I.predecessors.bind(I)),_(O,I.successors.bind(I)),Object.keys(E).forEach(C=>A[C]=A[w[C]]),A}function u(g,y,w,E){let k=new t,A=g.graph(),I=p(A.nodesep,A.edgesep,E);return y.forEach(x=>{let _;x.forEach(P=>{let O=w[P];if(k.setNode(O),_){var C=w[_],D=k.edge(C,O);k.setEdge(C,O,Math.max(I(g,P,_),D||0))}_=P})}),k}function l(g,y){return Object.values(y).reduce((w,E)=>{let k=Number.NEGATIVE_INFINITY,A=Number.POSITIVE_INFINITY;Object.entries(E).forEach(([x,_])=>{let P=m(g,x)/2;k=Math.max(_+P,k),A=Math.min(_-P,A)});const I=k-A;return I<w[0]&&(w=[I,E]),w},[Number.POSITIVE_INFINITY,null])[1]}function d(g,y){let w=Object.values(y),E=e.applyWithChunking(Math.min,w),k=e.applyWithChunking(Math.max,w);["u","d"].forEach(A=>{["l","r"].forEach(I=>{let x=A+I,_=g[x];if(_===y)return;let P=Object.values(_),O=E-e.applyWithChunking(Math.min,P);I!=="l"&&(O=k-e.applyWithChunking(Math.max,P)),O&&(g[x]=e.mapValues(_,C=>C+O))})})}function f(g,y){return e.mapValues(g.ul,(w,E)=>{if(y)return g[y.toLowerCase()][E];{let k=Object.values(g).map(A=>A[E]).sort((A,I)=>A-I);return(k[1]+k[2])/2}})}function h(g){let y=e.buildLayerMatrix(g),w=Object.assign(n(g,y),r(g,y)),E={},k;["u","d"].forEach(I=>{k=I==="u"?y:Object.values(y).reverse(),["l","r"].forEach(x=>{x==="r"&&(k=k.map(C=>Object.values(C).reverse()));let _=(I==="u"?g.predecessors:g.successors).bind(g),P=a(g,k,w,_),O=c(g,k,P.root,P.align,x==="r");x==="r"&&(O=e.mapValues(O,C=>-C)),E[I+x]=O})});let A=l(g,E);return d(E,A),f(E,g.graph().align)}function p(g,y,w){return(E,k,A)=>{let I=E.node(k),x=E.node(A),_=0,P;if(_+=I.width/2,Object.hasOwn(I,"labelpos"))switch(I.labelpos.toLowerCase()){case"l":P=-I.width/2;break;case"r":P=I.width/2;break}if(P&&(_+=w?P:-P),P=0,_+=(I.dummy?y:g)/2,_+=(x.dummy?y:g)/2,_+=x.width/2,Object.hasOwn(x,"labelpos"))switch(x.labelpos.toLowerCase()){case"l":P=x.width/2;break;case"r":P=-x.width/2;break}return P&&(_+=w?P:-P),P=0,_}}function m(g,y){return g.node(y).width}return Sw}var kw,rA;function yV(){if(rA)return kw;rA=1;let t=xt(),e=gV().positionX;kw=n;function n(i){i=t.asNonCompoundGraph(i),r(i),Object.entries(e(i)).forEach(([s,o])=>i.node(s).x=o)}function r(i){let s=t.buildLayerMatrix(i),o=i.graph().ranksep,a=0;s.forEach(c=>{const u=c.reduce((l,d)=>{const f=i.node(d).height;return l>f?l:f},0);c.forEach(l=>i.node(l).y=a+u/2),a+=u+o})}return kw}var $w,iA;function vV(){if(iA)return $w;iA=1;let t=QH(),e=eV(),n=nV(),r=xt().normalizeRanks,i=rV(),s=xt().removeEmptyRanks,o=iV(),a=sV(),c=oV(),u=mV(),l=yV(),d=xt(),f=yr().Graph;$w=h;function h(H,Y){let ee=Y&&Y.debugTiming?d.time:d.notime;ee("layout",()=>{let ne=ee(" buildLayoutGraph",()=>_(H));ee(" runLayout",()=>p(ne,ee,Y)),ee(" updateInputGraph",()=>m(H,ne))})}function p(H,Y,ee){Y(" makeSpaceForEdgeLabels",()=>P(H)),Y(" removeSelfEdges",()=>Le(H)),Y(" acyclic",()=>t.run(H)),Y(" nestingGraph.run",()=>o.run(H)),Y(" rank",()=>n(d.asNonCompoundGraph(H))),Y(" injectEdgeLabelProxies",()=>O(H)),Y(" removeEmptyRanks",()=>s(H)),Y(" nestingGraph.cleanup",()=>o.cleanup(H)),Y(" normalizeRanks",()=>r(H)),Y(" assignRankMinMax",()=>C(H)),Y(" removeEdgeLabelProxies",()=>D(H)),Y(" normalize.run",()=>e.run(H)),Y(" parentDummyChains",()=>i(H)),Y(" addBorderSegments",()=>a(H)),Y(" order",()=>u(H,ee)),Y(" insertSelfEdges",()=>se(H)),Y(" adjustCoordinateSystem",()=>c.adjust(H)),Y(" position",()=>l(H)),Y(" positionSelfEdges",()=>K(H)),Y(" removeBorderNodes",()=>Z(H)),Y(" normalize.undo",()=>e.undo(H)),Y(" fixupEdgeLabelCoords",()=>W(H)),Y(" undoCoordinateSystem",()=>c.undo(H)),Y(" translateGraph",()=>R(H)),Y(" assignNodeIntersects",()=>F(H)),Y(" reversePoints",()=>V(H)),Y(" acyclic.undo",()=>t.undo(H))}function m(H,Y){H.nodes().forEach(ee=>{let ne=H.node(ee),fe=Y.node(ee);ne&&(ne.x=fe.x,ne.y=fe.y,ne.rank=fe.rank,Y.children(ee).length&&(ne.width=fe.width,ne.height=fe.height))}),H.edges().forEach(ee=>{let ne=H.edge(ee),fe=Y.edge(ee);ne.points=fe.points,Object.hasOwn(fe,"x")&&(ne.x=fe.x,ne.y=fe.y)}),H.graph().width=Y.graph().width,H.graph().height=Y.graph().height}let g=["nodesep","edgesep","ranksep","marginx","marginy"],y={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},w=["acyclicer","ranker","rankdir","align"],E=["width","height"],k={width:0,height:0},A=["minlen","weight","width","height","labeloffset"],I={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},x=["labelpos"];function _(H){let Y=new f({multigraph:!0,compound:!0}),ee=ut(H.graph());return Y.setGraph(Object.assign({},y,Te(ee,g),d.pick(ee,w))),H.nodes().forEach(ne=>{let fe=ut(H.node(ne));const Ee=Te(fe,E);Object.keys(k).forEach(ge=>{Ee[ge]===void 0&&(Ee[ge]=k[ge])}),Y.setNode(ne,Ee),Y.setParent(ne,H.parent(ne))}),H.edges().forEach(ne=>{let fe=ut(H.edge(ne));Y.setEdge(ne,Object.assign({},I,Te(fe,A),d.pick(fe,x)))}),Y}function P(H){let Y=H.graph();Y.ranksep/=2,H.edges().forEach(ee=>{let ne=H.edge(ee);ne.minlen*=2,ne.labelpos.toLowerCase()!=="c"&&(Y.rankdir==="TB"||Y.rankdir==="BT"?ne.width+=ne.labeloffset:ne.height+=ne.labeloffset)})}function O(H){H.edges().forEach(Y=>{let ee=H.edge(Y);if(ee.width&&ee.height){let ne=H.node(Y.v),Ee={rank:(H.node(Y.w).rank-ne.rank)/2+ne.rank,e:Y};d.addDummyNode(H,"edge-proxy",Ee,"_ep")}})}function C(H){let Y=0;H.nodes().forEach(ee=>{let ne=H.node(ee);ne.borderTop&&(ne.minRank=H.node(ne.borderTop).rank,ne.maxRank=H.node(ne.borderBottom).rank,Y=Math.max(Y,ne.maxRank))}),H.graph().maxRank=Y}function D(H){H.nodes().forEach(Y=>{let ee=H.node(Y);ee.dummy==="edge-proxy"&&(H.edge(ee.e).labelRank=ee.rank,H.removeNode(Y))})}function R(H){let Y=Number.POSITIVE_INFINITY,ee=0,ne=Number.POSITIVE_INFINITY,fe=0,Ee=H.graph(),ge=Ee.marginx||0,ce=Ee.marginy||0;function M(U){let oe=U.x,G=U.y,Fe=U.width,yt=U.height;Y=Math.min(Y,oe-Fe/2),ee=Math.max(ee,oe+Fe/2),ne=Math.min(ne,G-yt/2),fe=Math.max(fe,G+yt/2)}H.nodes().forEach(U=>M(H.node(U))),H.edges().forEach(U=>{let oe=H.edge(U);Object.hasOwn(oe,"x")&&M(oe)}),Y-=ge,ne-=ce,H.nodes().forEach(U=>{let oe=H.node(U);oe.x-=Y,oe.y-=ne}),H.edges().forEach(U=>{let oe=H.edge(U);oe.points.forEach(G=>{G.x-=Y,G.y-=ne}),Object.hasOwn(oe,"x")&&(oe.x-=Y),Object.hasOwn(oe,"y")&&(oe.y-=ne)}),Ee.width=ee-Y+ge,Ee.height=fe-ne+ce}function F(H){H.edges().forEach(Y=>{let ee=H.edge(Y),ne=H.node(Y.v),fe=H.node(Y.w),Ee,ge;ee.points?(Ee=ee.points[0],ge=ee.points[ee.points.length-1]):(ee.points=[],Ee=fe,ge=ne),ee.points.unshift(d.intersectRect(ne,Ee)),ee.points.push(d.intersectRect(fe,ge))})}function W(H){H.edges().forEach(Y=>{let ee=H.edge(Y);if(Object.hasOwn(ee,"x"))switch((ee.labelpos==="l"||ee.labelpos==="r")&&(ee.width-=ee.labeloffset),ee.labelpos){case"l":ee.x-=ee.width/2+ee.labeloffset;break;case"r":ee.x+=ee.width/2+ee.labeloffset;break}})}function V(H){H.edges().forEach(Y=>{let ee=H.edge(Y);ee.reversed&&ee.points.reverse()})}function Z(H){H.nodes().forEach(Y=>{if(H.children(Y).length){let ee=H.node(Y),ne=H.node(ee.borderTop),fe=H.node(ee.borderBottom),Ee=H.node(ee.borderLeft[ee.borderLeft.length-1]),ge=H.node(ee.borderRight[ee.borderRight.length-1]);ee.width=Math.abs(ge.x-Ee.x),ee.height=Math.abs(fe.y-ne.y),ee.x=Ee.x+ee.width/2,ee.y=ne.y+ee.height/2}}),H.nodes().forEach(Y=>{H.node(Y).dummy==="border"&&H.removeNode(Y)})}function Le(H){H.edges().forEach(Y=>{if(Y.v===Y.w){var ee=H.node(Y.v);ee.selfEdges||(ee.selfEdges=[]),ee.selfEdges.push({e:Y,label:H.edge(Y)}),H.removeEdge(Y)}})}function se(H){var Y=d.buildLayerMatrix(H);Y.forEach(ee=>{var ne=0;ee.forEach((fe,Ee)=>{var ge=H.node(fe);ge.order=Ee+ne,(ge.selfEdges||[]).forEach(ce=>{d.addDummyNode(H,"selfedge",{width:ce.label.width,height:ce.label.height,rank:ge.rank,order:Ee+ ++ne,e:ce.e,label:ce.label},"_se")}),delete ge.selfEdges})})}function K(H){H.nodes().forEach(Y=>{var ee=H.node(Y);if(ee.dummy==="selfedge"){var ne=H.node(ee.e.v),fe=ne.x+ne.width/2,Ee=ne.y,ge=ee.x-fe,ce=ne.height/2;H.setEdge(ee.e,ee.label),H.removeNode(Y),ee.label.points=[{x:fe+2*ge/3,y:Ee-ce},{x:fe+5*ge/6,y:Ee-ce},{x:fe+ge,y:Ee},{x:fe+5*ge/6,y:Ee+ce},{x:fe+2*ge/3,y:Ee+ce}],ee.label.x=ee.x,ee.label.y=ee.y}})}function Te(H,Y){return d.mapValues(d.pick(H,Y),Number)}function ut(H){var Y={};return H&&Object.entries(H).forEach(([ee,ne])=>{typeof ee=="string"&&(ee=ee.toLowerCase()),Y[ee]=ne}),Y}return $w}var Cw,sA;function wV(){if(sA)return Cw;sA=1;let t=xt(),e=yr().Graph;Cw={debugOrdering:n};function n(r){let i=t.buildLayerMatrix(r),s=new e({compound:!0,multigraph:!0}).setGraph({});return r.nodes().forEach(o=>{s.setNode(o,{label:o}),s.setParent(o,"layer"+r.node(o).rank)}),r.edges().forEach(o=>s.setEdge(o.v,o.w,{},o.name)),i.forEach((o,a)=>{let c="layer"+a;s.setNode(c,{rank:"same"}),o.reduce((u,l)=>(s.setEdge(u,l,{style:"invis"}),l))}),s}return Cw}var _w,oA;function bV(){return oA||(oA=1,_w="1.1.4"),_w}var Aw,aA;function EV(){return aA||(aA=1,Aw={graphlib:yr(),layout:vV(),debug:wV(),util:{time:xt().time,notime:xt().notime},version:bV()}),Aw}var Rh=EV(),Sh={exports:{}},cA;function DV(){return cA||(cA=1,function(t,e){var n=t$;e=t.exports=r;function r(d,f){return f=o(d,f),c(d,f)}e.sha1=function(d){return r(d)},e.keys=function(d){return r(d,{excludeValues:!0,algorithm:"sha1",encoding:"hex"})},e.MD5=function(d){return r(d,{algorithm:"md5",encoding:"hex"})},e.keysMD5=function(d){return r(d,{algorithm:"md5",encoding:"hex",excludeValues:!0})};var i=n.getHashes?n.getHashes().slice():["sha1","md5"];i.push("passthrough");var s=["buffer","hex","binary","base64"];function o(d,f){f=f||{};var h={};if(h.algorithm=f.algorithm||"sha1",h.encoding=f.encoding||"hex",h.excludeValues=!!f.excludeValues,h.algorithm=h.algorithm.toLowerCase(),h.encoding=h.encoding.toLowerCase(),h.ignoreUnknown=f.ignoreUnknown===!0,h.respectType=f.respectType!==!1,h.respectFunctionNames=f.respectFunctionNames!==!1,h.respectFunctionProperties=f.respectFunctionProperties!==!1,h.unorderedArrays=f.unorderedArrays===!0,h.unorderedSets=f.unorderedSets!==!1,h.unorderedObjects=f.unorderedObjects!==!1,h.replacer=f.replacer||void 0,h.excludeKeys=f.excludeKeys||void 0,typeof d>"u")throw new Error("Object argument required.");for(var p=0;p<i.length;++p)i[p].toLowerCase()===h.algorithm.toLowerCase()&&(h.algorithm=i[p]);if(i.indexOf(h.algorithm)===-1)throw new Error('Algorithm "'+h.algorithm+'" not supported. supported values: '+i.join(", "));if(s.indexOf(h.encoding)===-1&&h.algorithm!=="passthrough")throw new Error('Encoding "'+h.encoding+'" not supported. supported values: '+s.join(", "));return h}function a(d){if(typeof d!="function")return!1;var f=/^function\s+\w*\s*\(\s*\)\s*{\s+\[native code\]\s+}$/i;return f.exec(Function.prototype.toString.call(d))!=null}function c(d,f){var h;f.algorithm!=="passthrough"?h=n.createHash(f.algorithm):h=new l,typeof h.write>"u"&&(h.write=h.update,h.end=h.update);var p=u(f,h);if(p.dispatch(d),h.update||h.end(""),h.digest)return h.digest(f.encoding==="buffer"?void 0:f.encoding);var m=h.read();return f.encoding==="buffer"?m:m.toString(f.encoding)}e.writeToStream=function(d,f,h){return typeof h>"u"&&(h=f,f={}),f=o(d,f),u(f,h).dispatch(d)};function u(d,f,h){h=h||[];var p=function(m){return f.update?f.update(m,"utf8"):f.write(m,"utf8")};return{dispatch:function(m){d.replacer&&(m=d.replacer(m));var g=typeof m;return m===null&&(g="null"),this["_"+g](m)},_object:function(m){var g=/\[object (.*)\]/i,y=Object.prototype.toString.call(m),w=g.exec(y);w?w=w[1]:w="unknown:["+y+"]",w=w.toLowerCase();var E=null;if((E=h.indexOf(m))>=0)return this.dispatch("[CIRCULAR:"+E+"]");if(h.push(m),typeof Buffer<"u"&&Buffer.isBuffer&&Buffer.isBuffer(m))return p("buffer:"),p(m);if(w!=="object"&&w!=="function"&&w!=="asyncfunction")if(this["_"+w])this["_"+w](m);else{if(d.ignoreUnknown)return p("["+w+"]");throw new Error('Unknown object type "'+w+'"')}else{var k=Object.keys(m);d.unorderedObjects&&(k=k.sort()),d.respectType!==!1&&!a(m)&&k.splice(0,0,"prototype","__proto__","constructor"),d.excludeKeys&&(k=k.filter(function(I){return!d.excludeKeys(I)})),p("object:"+k.length+":");var A=this;return k.forEach(function(I){A.dispatch(I),p(":"),d.excludeValues||A.dispatch(m[I]),p(",")})}},_array:function(m,g){g=typeof g<"u"?g:d.unorderedArrays!==!1;var y=this;if(p("array:"+m.length+":"),!g||m.length<=1)return m.forEach(function(k){return y.dispatch(k)});var w=[],E=m.map(function(k){var A=new l,I=h.slice(),x=u(d,A,I);return x.dispatch(k),w=w.concat(I.slice(h.length)),A.read().toString()});return h=h.concat(w),E.sort(),this._array(E,!1)},_date:function(m){return p("date:"+m.toJSON())},_symbol:function(m){return p("symbol:"+m.toString())},_error:function(m){return p("error:"+m.toString())},_boolean:function(m){return p("bool:"+m.toString())},_string:function(m){p("string:"+m.length+":"),p(m.toString())},_function:function(m){p("fn:"),a(m)?this.dispatch("[native]"):this.dispatch(m.toString()),d.respectFunctionNames!==!1&&this.dispatch("function-name:"+String(m.name)),d.respectFunctionProperties&&this._object(m)},_number:function(m){return p("number:"+m.toString())},_xml:function(m){return p("xml:"+m.toString())},_null:function(){return p("Null")},_undefined:function(){return p("Undefined")},_regexp:function(m){return p("regex:"+m.toString())},_uint8array:function(m){return p("uint8array:"),this.dispatch(Array.prototype.slice.call(m))},_uint8clampedarray:function(m){return p("uint8clampedarray:"),this.dispatch(Array.prototype.slice.call(m))},_int8array:function(m){return p("int8array:"),this.dispatch(Array.prototype.slice.call(m))},_uint16array:function(m){return p("uint16array:"),this.dispatch(Array.prototype.slice.call(m))},_int16array:function(m){return p("int16array:"),this.dispatch(Array.prototype.slice.call(m))},_uint32array:function(m){return p("uint32array:"),this.dispatch(Array.prototype.slice.call(m))},_int32array:function(m){return p("int32array:"),this.dispatch(Array.prototype.slice.call(m))},_float32array:function(m){return p("float32array:"),this.dispatch(Array.prototype.slice.call(m))},_float64array:function(m){return p("float64array:"),this.dispatch(Array.prototype.slice.call(m))},_arraybuffer:function(m){return p("arraybuffer:"),this.dispatch(new Uint8Array(m))},_url:function(m){return p("url:"+m.toString())},_map:function(m){p("map:");var g=Array.from(m);return this._array(g,d.unorderedSets!==!1)},_set:function(m){p("set:");var g=Array.from(m);return this._array(g,d.unorderedSets!==!1)},_file:function(m){return p("file:"),this.dispatch([m.name,m.size,m.type,m.lastModfied])},_blob:function(){if(d.ignoreUnknown)return p("[blob]");throw Error(`Hashing Blob objects is currently not supported
1722
- (see https://github.com/puleos/object-hash/issues/26)
1723
- Use "options.replacer" or "options.ignoreUnknown"
1724
- `)},_domwindow:function(){return p("domwindow")},_bigint:function(m){return p("bigint:"+m.toString())},_process:function(){return p("process")},_timer:function(){return p("timer")},_pipe:function(){return p("pipe")},_tcp:function(){return p("tcp")},_udp:function(){return p("udp")},_tty:function(){return p("tty")},_statwatcher:function(){return p("statwatcher")},_securecontext:function(){return p("securecontext")},_connection:function(){return p("connection")},_zlib:function(){return p("zlib")},_context:function(){return p("context")},_nodescript:function(){return p("nodescript")},_httpparser:function(){return p("httpparser")},_dataview:function(){return p("dataview")},_signal:function(){return p("signal")},_fsevent:function(){return p("fsevent")},_tlswrap:function(){return p("tlswrap")}}}function l(){return{buf:"",write:function(d){this.buf+=d},end:function(d){this.buf+=d},read:function(){return this.buf}}}}(Sh,Sh.exports)),Sh.exports}var TV=DV();function RV(t,e){return t.rules.reduce((n,r)=>{if(DE(r)){const i=e.predicates[r.predicateId];return at(i)?(Xe.warn(`Global predicate not found: ${r.predicateId}`),n):n.concat(i)}if(TE(r)){const i=e.styles[r.styleId];return at(i)?(Xe.warn(`Global style not found: ${r.styleId}`),n):n.concat(i)}return n.push(r),n},[])}function SV(t,e){return t.rules.reduce((n,r)=>{if(DE(r)){const i=e.dynamicPredicates[r.predicateId];return at(i)?(Xe.warn(`Global predicate not found: ${r.predicateId}`),n):n.concat(i)}if(TE(r)){const i=e.styles[r.styleId];return at(i)?(Xe.warn(`Global style not found: ${r.styleId}`),n):n.concat(i)}return n.push(r),n},[])}function uA(t){const e={id:t.id,__:t.__??"element",autoLayout:t.autoLayout,nodes:Ke(t.nodes,Dt(ov(["id","title","description","technology","shape","icon","children"])),vi(({id:n,icon:r,...i})=>[n,{...i,icon:ae(r)?"Y":"N"}])),edges:Ke(t.edges,Dt(ov(["source","target","label","description","technology","dir","head","tail","line"])),vi(({source:n,target:r,...i})=>[`${n}:${r}`,i]))};return t.hash=TV(e,{ignoreUnknown:!0,respectType:!1}),t}function $n(t){if(ye.isElementWhere(t)){const e=$n(t.where.expr),n=Ds(t.where.condition);return r=>e(r)&&n(r)}if(ye.isWildcard(t))return()=>!0;if(ye.isElementKindExpr(t))return t.isEqual?e=>e.kind===t.elementKind:e=>e.kind!==t.elementKind;if(ye.isElementTagExpr(t))return t.isEqual?({tags:e})=>!!e&&e.includes(t.elementTag):({tags:e})=>at(e)||!e.includes(t.elementTag);if(ye.isExpandedElementExpr(t))return e=>e.id===t.expanded||kt(e.id)===t.expanded;if(ye.isElementRef(t)){const{element:e,isDescedants:n}=t;return n?r=>r.id.startsWith(e+"."):r=>r.id===e}if(ye.isCustomElement(t))return $n(t.custom.expr);Ie(t)}function xw(t){return e=>Cm(e)?e.groupRules.flatMap(xw(t)):EE(e)?"include"in e?e.include.filter(t):[]:[]}function lA(t,e){const n=t.flatMap(xw(ye.isCustomElement));if(n.length===0)return e;const r=[...e];for(const{custom:{expr:i,...s}}of n){const{border:o,opacity:a,...c}=Pk(s,at),u=!Yi(c),l=$n(i);r.forEach((d,f)=>{if(Td.isNodesGroup(d)||!l(d))return;u&&(d={...d,isCustomized:!0,...c});let h;o!==void 0&&(h={border:o}),a!==void 0&&(h={...h,opacity:a}),h&&(d={...d,isCustomized:!0,style:{...d.style,...h}}),r[f]=d})}return r}function dA(t){switch(!0){case ye.isRelationWhere(t):const e=dA(t.where.expr),n=Ds(t.where.condition);return r=>e(r)&&n(r);case ye.isRelation(t):{const r=$n(t.source),i=$n(t.target);return s=>r(s.source)&&i(s.target)||!!t.isBidirectional&&r(s.target)&&i(s.source)}case ye.isInOut(t):{const r=$n(t.inout);return i=>r(i.source)||r(i.target)}case ye.isIncoming(t):{const r=$n(t.incoming);return i=>r(i.target)}case ye.isOutgoing(t):{const r=$n(t.outgoing);return i=>r(i.source)}default:Ie(t)}}function kV(t,e,n){const r=t.flatMap(xw(ye.isCustomRelationExpr)),i=Array.from(n);if(r.length===0||i.length===0)return i;for(const{customRelation:{relation:s,title:o,...a}}of r){const c=Pk(a,at),u=dA(s);i.forEach((l,d)=>{const f=e.find(p=>p.id===l.source),h=e.find(p=>p.id===l.target);!f||!h||u({source:f,target:h,...ov(l,["kind","tags"])})&&(i[d]={...l,...c,label:o??l.label,isCustomized:!0})})}return i}function fA(t,e){const n=t.filter(mO);if(n.length===0)return e;for(const r of n){const i=[];for(const s of r.targets)i.push($n(s));Ke(e,nt(g9(Td.isNodesGroup)),nt(lv(i)),D9(s=>{s.shape=r.style.shape??s.shape,s.color=r.style.color??s.color,At(r.style.icon)&&(s.icon=r.style.icon),At(r.notation)&&(s.notation=r.notation);let o;At(r.style.border)&&(o={border:r.style.border}),At(r.style.opacity)&&(o={...o,opacity:r.style.opacity}),o&&(s.style={...s.style,...o})}))}return e}function $V(t,e){let n;for(;t.parent&&(n=e.get(t.parent));){const r=n.depth??1;if(n.depth=Math.max(r,(t.depth??0)+1),n.depth===r)break;t=n}}function hA(t,e){const n=new Map,r=new Map;return e?.forEach(({id:i,parent:s,viewRule:o,explicits:a})=>{s&&et(n.get(s),`Parent group node ${s} not found`).children.push(i),n.set(i,{id:i,parent:s,kind:To.Group,title:o.title??"",color:o.color??"muted",shape:"rectangle",children:[],inEdges:[],outEdges:[],level:0,depth:0,description:null,technology:null,tags:null,links:null,style:{border:o.border??"dashed",opacity:o.opacity??0}});for(const c of a)r.set(c.id,i)}),Array.from(t).sort(qa).reduce((i,{id:s,color:o,shape:a,style:c,kind:u,title:l,...d})=>{let f=kt(s),h=0,p;for(;f&&(p=i.get(f),!p);)f=kt(f);!p&&r.has(s)&&(f=r.get(s),p=i.get(f)),p&&(p.children.length==0&&(p.depth=1,$V(p,i)),p.children.push(s),h=p.level+1);const m={id:s,parent:f,kind:u,title:l,color:o??Oa,shape:a??Tm,children:[],inEdges:[],outEdges:[],level:h,...d,style:{...c}};return i.set(s,m),i},n)}function pA(t){return Ke(t,dh(yi("notation")),Vi(av(dh(yi("shape")),Vi(av(dh(yi("color")),Vi(av(Dt(yi("kind")),zr())),oa(),Dt(([e,n])=>({kinds:n,color:e})))),oa(),wi(([e,n])=>n.map(({color:r,kinds:i})=>({shape:e,color:r,kinds:i}))))),oa(),wi(([e,n])=>n.map(({shape:r,color:i,kinds:s})=>({title:e,shape:r,color:i,kinds:s}))),n9(yi("shape"),yi("title"),[e=>e.kinds.length,"desc"]))}const mA=Rh.graphlib.Graph,gA=Rh.graphlib.alg.postorder,CV=Rh.graphlib.alg.findCycles,_V=Rh.graphlib.alg.isAcyclic;function yA(t){t.forEach(e=>{e.children.length>0&&(e.children=t.flatMap(n=>n.parent===e.id?n.id:[]))})}function AV({nodes:t,edges:e}){if(t.length<2)return t;if(e.length===0)return Ke(t,ra(qa),QU(yA));const n=new mA({compound:!1,directed:!0,multigraph:!1}),r=a=>et(t.find(c=>c.id===a),"Edge not found"),i=a=>et(e.find(c=>c.id===a),"Edge not found");for(const a of[...e].sort(Ha))n.setEdge(a.source,a.target);for(const a of t)n.setNode(a.id,a.id),a.children.length>0&&a.inEdges.forEach(c=>{const u=i(c);u.target!==a.id&&r(u.source).children.length===0&&n.setEdge(u.source,a.id)}),a.parent&&n.setEdge(a.parent,a.id);let s=n.sources();s.length===0&&(s=Ke(t,nt(a=>a.inEdges.length===0||a.parent===null),ra(qa),Dt(a=>a.id)));const o=gA(n,s).reverse().map(r);if(o.length<t.length){const a=Fk(t,o).sort(qa);o.push(...a)}return we(o.length===t.length,"Not all nodes were processed by graphlib"),yA(o),o}function xV(t){const e=Ke(t,wi(n=>n.tags??[]),zr(),ra(za));return Rd(e,1)?e:null}const vr=()=>!0,Iw=t=>t,Pw=t=>t===vr?Iw:nt(t),IV=t=>t===vr?Iw:e=>t(e)?e:null;function PV(t,e=vr){const n=[...this.resolvedElements],r=Pw(e)(t.isDescedants===!0?this.graph.childrenOrElement(t.element):[this.graph.element(t.element)]);if(r.length!==0&&(this.addElement(...r),r.length>1&&this.addEdges(this.graph.edgesWithin(r)),n.length>0&&r.length>0))for(const i of r)this.addEdges(this.graph.anyEdgesBetween(i,n))}function NV(t,e=vr){const n=[...this.resolvedElements].filter(Mk([$n(t),e]));this.excludeElement(...n)}function OV(t,e=vr){const n=this.root;if(!n){const u=this.graph.rootElements.filter(e);if(u.length<=0)return;const l=[...this.resolvedElements];if(this.addElement(...u),this.addEdges(this.graph.edgesWithin(u)),l.length>0)for(const d of u)this.addEdges(this.graph.anyEdgesBetween(d,l));return}const r=[...this.resolvedElements],i=IV(e)(this.graph.element(n));i&&this.addElement(i);const s=Pw(e),o=s(this.graph.children(n)),a=o.length>0;a?(this.addElement(...o),this.addEdges(this.graph.edgesWithin(o))):i&&o.push(i);const c=[...r,...s([...this.graph.siblings(n),...this.graph.ancestors(n).flatMap(u=>this.graph.siblings(u.id))])];for(const u of o)this.addEdges(this.graph.anyEdgesBetween(u,c)).forEach(l=>{this.addImplicit(l.source,l.target)});if(!a&&i&&this.graph.anyEdgesBetween(i,this.graph.siblings(n)).length===0){const u=kt(n),l=u&&this.graph.element(u);l&&e(l)&&this.addElement(l)}}function LV(t,e=vr){if(e!==vr){const r=[...this.resolvedElements].filter(e);this.excludeElement(...r);return}const n=this.root;n?(this.excludeElement(this.graph.element(n),...this.graph.children(n)),this.excludeRelation(...this.graph.connectedRelations(n))):this.reset()}function FV(t,e=vr){const n=Pw(e),r=[...this.resolvedElements],i=this.graph.element(t.expanded);if(e(i)){this.addElement(i);const o=this.graph.anyEdgesBetween(i,r);this.addEdges(o)}const s=[];for(const o of n(this.graph.children(t.expanded))){this.addImplicit(o);const a=this.graph.anyEdgesBetween(o,r);a.length>0&&(this.addEdges(a),s.push(o))}s.length>1&&this.addEdges(this.graph.edgesWithin(s))}function MV(t,e=vr){const n=[...this.resolvedElements].filter(Mk([$n(t),e]));this.excludeElement(...n)}const vA=t=>t.isEqual?ye.isElementKindExpr(t)?e=>e.kind===t.elementKind:({tags:e})=>!!e&&e.includes(t.elementTag):ye.isElementKindExpr(t)?e=>e.kind!==t.elementKind:({tags:e})=>at(e)||e.length===0||!e.includes(t.elementTag);function zV(t,e=vr){const n=this.graph.elements.filter(vA(t)).filter(e);if(n.length>0){const r=[...this.resolvedElements];this.addElement(...n),this.addEdges(this.graph.edgesWithin(n));for(const i of n)this.addEdges(this.graph.anyEdgesBetween(i,r))}}function BV(t,e=vr){const n=[...this.resolvedElements].filter(vA(t)).filter(e);n.length>0&&this.excludeElement(...n)}function Fu(t){return ye.isElementRef(t)?this.graph.ascendingSiblings(t.element):this.root?this.graph.ascendingSiblings(this.root):this.graph.rootElements}function kh(t){return ye.isWildcard(t)?this.root?[...this.graph.children(this.root),this.graph.element(this.root)]:this.graph.rootElements:ye.isElementKindExpr(t)?this.graph.elements.filter(e=>t.isEqual?e.kind===t.elementKind:e.kind!==t.elementKind):ye.isElementTagExpr(t)?this.graph.elements.filter(e=>{const n=e.tags;return t.isEqual?!!n&&n.includes(t.elementTag):at(n)||n.length===0||!n.includes(t.elementTag)}):ye.isExpandedElementExpr(t)?[this.graph.element(t.expanded)]:ye.isElementRef(t)?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)]:Ie(t)}function wA(t){if(ye.isWildcard(t)){if(!this.root)return[];const r=this.graph.ascendingSiblings(this.root),i=[...this.graph.children(this.root),this.graph.element(this.root)];return this.graph.edgesBetween(r,i)}const e=kh.call(this,t);if(e.length===0)return[];let n=[...this.resolvedElements];if(ye.isElementRef(t)||ye.isExpandedElementExpr(t)){const r=t.element??t.expanded,i=t.isDescedants??!1;n=n.filter(s=>!$r(r,s.id)||i&&kt(s.id)===r)}return n.length===0&&(n=Fu.call(this,t)),this.graph.edgesBetween(n,e)}const Mu=(t,e)=>e?Ke(t,Dt(n=>({...n,relations:n.relations.filter(e)})),nt(n=>n.relations.length>0)):t,Nw=(t,e)=>Ke(t,wi(n=>n.relations),e?nt(e):Iw,zr());function qV(t,e){const n=Mu(wA.call(this,t.incoming),e);n.length!==0&&this.addEdges(n).forEach(r=>{this.addImplicit(r.target)})}function jV(t,e){let n=Nw(wA.call(this,t.incoming),e);this.excludeRelation(...n)}function bA(t){if(ye.isWildcard(t)){if(!this.root)return[];const r=this.graph.ascendingSiblings(this.root),i=[...this.graph.children(this.root),this.graph.element(this.root)];return this.graph.edgesBetween(i,r)}const e=kh.call(this,t);if(e.length===0)return[];let n=[...this.resolvedElements];if(ye.isElementRef(t)||ye.isExpandedElementExpr(t)){const r=t.element??t.expanded,i=t.isDescedants??!1;n=n.filter(s=>!$r(r,s.id)||i&&kt(s.id)===r)}return n.length===0&&(n=Fu.call(this,t)),this.graph.edgesBetween(e,n)}function UV(t,e){const n=Mu(bA.call(this,t.outgoing),e);n.length!==0&&this.addEdges(n).forEach(r=>{this.addImplicit(r.source)})}function GV(t,e){const n=Nw(bA.call(this,t.outgoing),e);this.excludeRelation(...n)}var $h;(t=>{t.Empty={implicits:[],edges:[]}})($h||($h={}));function EA({inout:t},e){if(ye.isWildcard(t)){if(!this.root)return $h.Empty;const i=this.graph.ascendingSiblings(this.root);return{edges:Mu(this.graph.anyEdgesBetween(this.graph.element(this.root),i),e),implicits:[]}}const n=kh.call(this,t);if(n.length===0)return $h.Empty;let r=[...this.resolvedElements];if(ye.isElementRef(t)||ye.isExpandedElementExpr(t)){const i=t.element??t.expanded,s=t.isDescedants??!1;r=r.filter(o=>!$r(i,o.id)||s&&kt(o.id)===i)}return r.length===0&&(r=Fu.call(this,t)),n.reduce((i,s)=>{const o=Mu(this.graph.anyEdgesBetween(s,r),e);return o.length>0&&(i.implicits.push(s),i.edges.push(...o)),i},{implicits:[],edges:[]})}function WV(t,e){const{implicits:n,edges:r}=EA.call(this,t,e);this.addEdges(r),this.addImplicit(...n)}function HV(t,e){const{edges:n}=EA.call(this,t,e);this.excludeRelation(...n.flatMap(r=>r.relations))}function Ch(t){return ye.isElementRef(t)&&this.root===t.element&&t.isDescedants!==!0?[...this.graph.children(t.element),this.graph.element(t.element)]:ye.isExpandedElementExpr(t)&&this.root===t.expanded?[...this.graph.children(t.expanded),this.graph.element(t.expanded)]:kh.call(this,t)}function VV(t,e){let n,r;ye.isWildcard(t.source)&&!ye.isWildcard(t.target)?(n=Fu.call(this,t.target),r=Ch.call(this,t.target)):!ye.isWildcard(t.source)&&ye.isWildcard(t.target)?(n=Ch.call(this,t.source),r=Fu.call(this,t.source)):(n=Ch.call(this,t.source),r=Ch.call(this,t.target));const i=this.graph.edgesBetween(n,r);t.isBidirectional===!0&&i.push(...this.graph.edgesBetween(r,n)),this.addEdges(Mu(i,e)).forEach(s=>{this.activeGroup.addImplicit(s.source,s.target)})}function KV(t,e){const n=$n(t.source),r=$n(t.target),i=a=>{let c=n(a.source)&&r(a.target);return!c&&t.isBidirectional&&(c=n(a.target)&&r(a.source)),c},s=this.edges.filter(i),o=Nw(s,e);this.excludeRelation(...o)}function YV(t,e){return Ha({source:t.source.id,target:t.target.id},{source:e.source.id,target:e.target.id})}let Ow=class q0{constructor(e,n,r=null){this.id=e,this.viewRule=n,this.parent=r}static kind=To.Group;static root(){return new q0("@root",{title:null,groupRules:[]})}static is(e){return e.kind===q0.kind}explicits=new Set;implicits=new Set;addElement(...e){for(const n of e)this.explicits.add(n),this.implicits.add(n)}addImplicit(...e){for(const n of e)this.implicits.add(n)}excludeElement(...e){for(const n of e)this.explicits.delete(n),this.implicits.delete(n)}isEmpty(){return this.explicits.size===0&&this.implicits.size===0}},XV=class g2{constructor(e,n){this.view=e,this.graph=n}explicits=new Set;implicits=new Set;ctxEdges=[];__rootGroup=Ow.root();groups=[];activeGroupStack=[];get activeGroup(){return this.activeGroupStack[0]??this.__rootGroup}get includedElements(){return new Set([...this.explicits,...this.ctxEdges.flatMap(e=>[e.source,e.target])])}get resolvedElements(){return new Set([...this.explicits,...this.implicits,...this.ctxEdges.flatMap(e=>[e.source,e.target])])}get edges(){return this.ctxEdges}get root(){return _m(this.view)?this.view.viewOf:null}static elementView(e,n){return new g2(e,n).compute()}compute(){this.reset();const{docUri:e,rules:n,...r}=this.view,i=RV(this.view,this.graph.globals),s=i.filter(lv([EE,Cm]));this.root&&s.length==0&&this.addElement(this.graph.element(this.root)),this.processPredicates(s),this.removeRedundantImplicitEdges(),this.groups.length>0&&this.cleanGroupElements();const o=[...this.includedElements],a=hA(o,this.groups),c=this.computeEdges(),u=new Map(c.map(m=>[m.id,m]));this.linkNodesAndEdges(a,c);let l=o.map(m=>et(a.get(m.id),`Node ${m.id} not found in nodesMap`));this.groups.length>0&&(l=O9(this.groups.map(m=>et(a.get(m.id),`Node ${m.id} not found in nodesMap`)),l));const d=lA(i,fA(i,AV({nodes:l,edges:c}))),f=new Set([...d.flatMap(m=>m.children.length===0?m.outEdges.flatMap(g=>u.get(g)??[]):[]),...c]),h=this.view.rules.findLast(RE),p=pA(d);return uA({...r,autoLayout:{direction:h?.direction??"TB",...h?.nodeSep&&{nodeSep:h.nodeSep},...h?.rankSep&&{rankSep:h.rankSep}},nodes:Dt(d,m=>(delete m.notation,m.icon==="none"&&delete m.icon,m)),edges:kV(i,d,f),...p.length>0&&{notation:{elements:p}}})}computeEdges(){return this.ctxEdges.map(e=>{we(Hi(e.relations,1),"Edge must have at least one relation");const n=ra(e.relations,Ha),r=e.source.id,i=e.target.id,s={id:`${r}:${i}`,parent:ks(r,i),source:r,target:i,label:null,relations:n.map(c=>c.id)};let o;if(o=kn(n)??Ke(n,nt(c=>c.source===r&&c.target===i),kn()),!o){const c=Ke(n,Ik((u,l)=>(ae(l.title)&&!u.title.includes(l.title)&&u.title.push(l.title),ae(l.description)&&!u.description.includes(l.description)&&u.description.push(l.description),ae(l.technology)&&!u.technology.includes(l.technology)&&u.technology.push(l.technology),ae(l.kind)&&!u.kind.includes(l.kind)&&u.kind.push(l.kind),ae(l.color)&&!u.color.includes(l.color)&&u.color.push(l.color),ae(l.line)&&!u.line.includes(l.line)&&u.line.push(l.line),ae(l.head)&&!u.head.includes(l.head)&&u.head.push(l.head),ae(l.tail)&&!u.tail.includes(l.tail)&&u.tail.push(l.tail),ae(l.navigateTo)&&!u.navigateTo.includes(l.navigateTo)&&u.navigateTo.push(l.navigateTo),u),{title:[],description:[],technology:[],kind:[],head:[],tail:[],color:[],line:[],navigateTo:[]}));o={title:kn(c.title)??"[...]",description:kn(c.description),technology:kn(c.technology),kind:kn(c.kind),head:kn(c.head),tail:kn(c.tail),color:kn(c.color),line:kn(c.line),navigateTo:kn(c.navigateTo)}}const a=xV(n);return Object.assign(s,this.getEdgeLabel(o),ae(o.description)&&{description:o.description},ae(o.technology)&&{technology:o.technology},ae(o.kind)&&{kind:o.kind},o.color&&{color:o.color},o.line&&{line:o.line},o.head&&{head:o.head},o.tail&&{tail:o.tail},o.navigateTo&&{navigateTo:o.navigateTo},a&&{tags:a})})}linkNodesAndEdges(e,n){for(const r of n){const i=e.get(r.source),s=e.get(r.target);we(i,`Source node ${r.source} not found`),we(s,`Target node ${r.target} not found`);const o=this.ancestorsOf(i,e),a=this.ancestorsOf(s,e),c=ia(aM(uh(o),uh(a)));r.parent=c?.id??null,i.outEdges.push(r.id),s.inEdges.push(r.id);for(const u of o){if(u===c)break;u.outEdges.push(r.id)}for(const u of a){if(u===c)break;u.inEdges.push(r.id)}}}addEdges(e){const n=[];for(const r of e){if(!Hi(r.relations,1))continue;const i=this.ctxEdges.find(s=>s.source.id===r.source.id&&s.target.id===r.target.id);if(i){i.relations=zr([...i.relations,...r.relations]),n.push(i);continue}n.push(r),this.ctxEdges.push(r)}return n}addElement(...e){for(const n of e)this.explicits.has(n)?this.activeGroup!==this.__rootGroup&&(this.groups.forEach(r=>{r.implicits.delete(n)}),this.activeGroup.addImplicit(n)):this.activeGroup.addElement(n),this.explicits.add(n),this.implicits.add(n)}addImplicit(...e){for(const n of e)this.implicits.add(n),this.activeGroup!==this.__rootGroup&&this.groups.forEach(r=>{r.implicits.delete(n)});this.activeGroup.addImplicit(...e)}excludeElement(...e){for(const n of e)this.ctxEdges=this.ctxEdges.filter(r=>r.source.id!==n.id&&r.target.id!==n.id),this.explicits.delete(n),this.implicits.delete(n);this.__rootGroup.excludeElement(...e),this.groups.forEach(n=>{n.excludeElement(...e)})}excludeRelation(...e){if(e.length===0)return;const n=new Set,r=Ke(this.ctxEdges,Dt(s=>{const o=s.relations.filter(a=>!e.includes(a));return o.length===0?(n.add(s.source),n.add(s.target),null):o.length!==s.relations.length?{...s,relations:o}:s}),nt(m9));this.ctxEdges=r;const i=this.includedElements;if(i.size===0){this.implicits.clear(),this.__rootGroup.implicits.clear(),this.groups.forEach(s=>s.implicits.clear());return}for(const s of n)i.has(s)||(this.implicits.delete(s),this.__rootGroup.implicits.delete(s),this.groups.forEach(o=>o.implicits.delete(s)))}reset(){this.explicits.clear(),this.implicits.clear(),this.ctxEdges=[],this.__rootGroup=Ow.root(),this.groups=[],this.activeGroupStack=[]}removeRedundantImplicitEdges(){const e=new Set,n=s=>s.reduce((o,a)=>(e.has(a)||(o.push(a),e.add(a)),o),[]),r=s=>{const{source:o,target:a}=s;return c=>{const u=o.id===c.source.id,l=a.id===c.target.id;if(u&&l)return!0;const d=$r(o.id,c.source.id),f=$r(a.id,c.target.id);return d&&f||u&&f||l&&d}},i=[...this.ctxEdges].sort(YV).reverse();this.ctxEdges=i.reduce((s,o)=>{const a=n(o.relations);return a.length===0||s.length>0&&s.some(r(o))||s.push({source:o.source,target:o.target,relations:a}),s},[])}cleanGroupElements(){const e=new Set(Fk([...this.includedElements],[...this.__rootGroup.explicits]));for(const n of this.groups){const r=[...n.explicits];n.explicits.clear();for(const i of r)e.delete(i)&&n.explicits.add(i)}for(const n of this.groups){for(const r of n.implicits)e.delete(r)&&n.explicits.add(r);n.implicits.clear()}}processPredicates(e){for(const n of e){if(Cm(n)){const s=sa(this.activeGroupStack),o=`@gr${this.groups.length+1}`,a=new Ow(o,n,s?.id??null);this.groups.push(a),this.activeGroupStack.unshift(a),this.processPredicates(n.groupRules),this.activeGroupStack.shift();continue}const r="include"in n,i=n.include??n.exclude;for(const s of i){if(ye.isElementPredicateExpr(s)){this.processElementPredicate(s,r);continue}if(ye.isRelationPredicateExpr(s)){this.processRelationPredicate(s,r);continue}Ie(s)}}return this}processElementPredicate(e,n,r){if(ye.isCustomElement(e))return n&&this.processElementPredicate(e.custom.expr,n),this;if(ye.isElementWhere(e)){const i=Ds(e.where.condition);return this.processElementPredicate(e.where.expr,n,i),this}if(ye.isExpandedElementExpr(e))return n?FV.call(this,e,r):MV.call(this,e,r),this;if(ye.isElementKindExpr(e)||ye.isElementTagExpr(e))return n?zV.call(this,e,r):BV.call(this,e,r),this;if(ye.isElementRef(e))return n?PV.call(this,e,r):NV.call(this,e,r),this;if(ye.isWildcard(e))return n?OV.call(this,e,r):LV.call(this,e,r),this;Ie(e)}processRelationPredicate(e,n,r){if(ye.isCustomRelationExpr(e))return n&&this.processRelationPredicate(e.customRelation.relation,n),this;if(ye.isRelationWhere(e)){const i=Ds(e.where.condition);return this.processRelationPredicate(e.where.expr,n,i),this}if(ye.isIncoming(e))return n?qV.call(this,e,r):jV.call(this,e,r),this;if(ye.isOutgoing(e))return n?UV.call(this,e,r):GV.call(this,e,r),this;if(ye.isInOut(e))return n?WV.call(this,e,r):HV.call(this,e,r),this;if(ye.isRelation(e))return n?VV.call(this,e,r):KV.call(this,e,r),this;Ie(e)}ancestorsOf(e,n){const r=[];let i=e.parent;for(;i;){const s=n.get(i);if(!s)break;r.push(s),i=s.parent}return r}getEdgeLabel(e){const n=[];return ae(e.title)&&n.push(e.title),ae(e.technology)&&n.push(`[${e.technology}]`),n.length>0?{label:n.join(`
1725
- `)}:{}}};function JV(t,e){return XV.elementView(t,e)}function DA(t,e){try{return{isSuccess:!0,view:JV(t,e)}}catch(n){return{isSuccess:!1,error:n instanceof Error?n:new Error(`Unknown error: ${n}`),view:void 0}}}let ZV=class y2{constructor(e,n){this.view=e,this.graph=n}explicits=new Set;steps=[];static compute(e,n){return new y2(e,n).compute()}addStep({source:e,target:n,title:r,isBackward:i,navigateTo:s,...o},a,c){const u=c?kE(c,a):kE(a),l=this.graph.element(e),d=this.graph.element(n);this.explicits.add(l),this.explicits.add(d);const{title:f,relations:h,tags:p,navigateTo:m}=this.findRelations(l,d),g=ae(s)&&s!==this.view.id?s:m;this.steps.push({id:u,...o,source:l,target:d,title:r??f,relations:h??[],isBackward:i??!1,...g?{navigateTo:g}:{},...p?{tags:p}:{}})}compute(){const{docUri:e,rules:n,steps:r,...i}=this.view;let s=1;for(const h of r){if(vO(h)){if(h.__parallel.length===0)continue;h.__parallel.length===1?this.addStep(h.__parallel[0],s):h.__parallel.forEach((p,m)=>this.addStep(p,m+1,s))}else this.addStep(h,s);s++}const o=SV(this.view,this.graph.globals);for(const h of o)if(yO(h))for(const p of h.include){const m=$n(p);this.graph.elements.filter(m).forEach(g=>this.explicits.add(g))}const a=[...this.explicits],c=hA(a),u=this.steps.map(({source:h,target:p,relations:m,title:g,isBackward:y,...w})=>{const E=et(c.get(h.id),`Source node ${h.id} not found`),k=et(c.get(p.id),`Target node ${p.id} not found`),A={parent:ks(h.id,p.id),source:h.id,target:p.id,label:g,relations:m,color:Ts,line:wE,head:Ro,...w};for(y&&(A.dir="back");A.parent&&!c.has(A.parent);)A.parent=kt(A.parent);E.outEdges.push(A.id),k.inEdges.push(A.id);for(const I of Zr(A.source)){if(I===A.parent)break;c.get(I)?.outEdges.push(A.id)}for(const I of Zr(A.target)){if(I===A.parent)break;c.get(I)?.inEdges.push(A.id)}return A}),l=lA(o,fA(o,a.map(h=>et(c.get(h.id))))),d=o.findLast(RE),f=pA(l);return uA({...i,autoLayout:{direction:d?.direction??"LR",...d?.nodeSep&&{nodeSep:d.nodeSep},...d?.rankSep&&{rankSep:d.rankSep}},nodes:Dt(l,h=>(delete h.notation,h.icon==="none"&&delete h.icon,h)),edges:u,...f.length>0&&{notation:{elements:f}}})}findRelations(e,n){const r=zr(this.graph.edgesBetween(e,n).flatMap(l=>l.relations));if(r.length===0)return{title:null,tags:null,relations:null,navigateTo:null};const i=Ke(r,wi(l=>l.tags),nt(ae),zr()),s=Hi(i,1)?i:null,o=Hi(r,1)?Dt(r,l=>l.id):null,a=kn(r)||r.find(l=>l.source===e.id&&l.target===n.id),c=ae(a?.title)?a.title:Ke(r,Dt(l=>l.title),nt(ae),zr(),kn()),u=a?.navigateTo&&a.navigateTo!==this.view.id?a.navigateTo:Ke(r,Dt(l=>l.navigateTo),nt(ae),nt(l=>l!==this.view.id),zr(),kn());return{title:c??null,tags:s,relations:o,navigateTo:u??null}}};function TA(t,e){try{return{isSuccess:!0,view:ZV.compute(t,e)}}catch(n){return{isSuccess:!1,error:n instanceof Error?n:new Error(`Unknown error: ${n}`),view:void 0}}}const Lw=Set,Fw=Map;function Mw(t,e){return t.size===0||e.size===0?new Set:new Set([...t].filter(n=>e.has(n)))}let RA=class{#e=new Map;#t=new Map;#n=new Map;#r=new Set;#s=new Map;#i=new Fw;#o=new Fw;#a=new Fw;#c=new Map;globals;constructor({elements:e,relations:n,globals:r}){this.globals=r??{predicates:{},dynamicPredicates:{},styles:{}};for(const i of Object.values(e))this.addElement(i);for(const i of Object.values(n))this.addRelation(i)}get rootElements(){return[...this.#r]}get elements(){return[...this.#e.values()]}element(e){const n=this.#e.get(e);return we(n,`Element ${e} not found`),n}connectedRelations(e){return[...this._incomingTo(e),...this._outgoingFrom(e),...this._internalOf(e)]}children(e){return this._childrenOf(e).slice()}childrenOrElement(e){const n=this.children(e);return n.length>0?n:[this.element(e)]}siblings(e){const n=Ki(e)?e:e.id,r=kt(n);return(r?this._childrenOf(r):this.rootElements).filter(i=>i.id!==n)}ancestors(e){let n=Ki(e)?e:e.id;const r=[];let i;for(;i=this.#t.get(n);)r.push(i),n=i.id;return r}ascendingSiblings(e){const n=Ki(e)?e:e.id;let r=this.#c.get(n);return r||(r=[...this.siblings(n),...this.ancestors(n).flatMap(i=>this.siblings(i.id))],this.#c.set(n,r)),r.slice()}anyEdgesBetween(e,n){if(n.length===0)return[];const r=Ki(e)?this.element(e):e,i=this._incomingTo(r.id),s=this._outgoingFrom(r.id);if(i.size===0&&s.size===0)return[];const o=[];for(const a of n){const c=Ki(a)?this.element(a):a;if(!Ba(r,c)){if(s.size>0){const u=Mw(this._incomingTo(c.id),s);u.size>0&&o.push({source:r,target:c,relations:[...u]})}if(i.size>0){const u=Mw(this._outgoingFrom(c.id),i);u.size>0&&o.push({source:c,target:r,relations:[...u]})}}}return o}edgesWithin(e){return e.length<2?[]:e.reduce((n,r,i,s)=>(i===s.length-1||n.push(...this.anyEdgesBetween(r,s.slice(i+1))),n),[])}edgesBetween(e,n){const r=Nk(e)?e:[e],i=Nk(n)?n:[n];if(r.length===0||i.length===0)return[];const s=[];for(const o of r){const a=Ki(o)?this.element(o):o,c=this._outgoingFrom(a.id);if(c.size!==0)for(const u of i){const l=Ki(u)?this.element(u):u;if(Ba(a,l))continue;const d=this._incomingTo(l.id),f=Mw(c,d);f.size>0&&s.push({source:a,target:l,relations:[...f]})}}return s}addElement(e){if(this.#e.has(e.id))throw new Error(`Element ${e.id} already exists`);this.#e.set(e.id,e);const n=kt(e.id);n?(this.#t.set(e.id,this.element(n)),this._childrenOf(n).push(e)):this.#r.add(e)}addRelation(e){if(this.#s.has(e.id))throw new Error(`Relation ${e.id} already exists`);this.#s.set(e.id,e),this._incomingTo(e.target).add(e),this._outgoingFrom(e.source).add(e);const n=ks(e.source,e.target);if(n)for(const r of[n,...Zr(n)])this._internalOf(r).add(e);for(const r of Zr(e.source)){if(r===n)break;this._outgoingFrom(r).add(e)}for(const r of Zr(e.target)){if(r===n)break;this._incomingTo(r).add(e)}}_childrenOf(e){let n=this.#n.get(e);return n||(n=[],this.#n.set(e,n)),n}_incomingTo(e){let n=this.#i.get(e);return n||(n=new Lw,this.#i.set(e,n)),n}_outgoingFrom(e){let n=this.#o.get(e);return n||(n=new Lw,this.#o.set(e,n)),n}_internalOf(e){let n=this.#a.get(e);return n||(n=new Lw,this.#a.set(e,n)),n}};const QV=/^[\s\w\0+.-]{2,}:([/\\]{1,2})/,eK=/^[\s\w\0+.-]{2,}:([/\\]{2})?/,tK=/^([/\\]\s*){2,}[^/\\]/;function SA(t){return["./","../"].some(e=>t.startsWith(e))}function zw(t,e={}){return typeof e=="boolean"&&(e={acceptRelative:e}),e.strict?QV.test(t):eK.test(t)||(e.acceptRelative?tK.test(t):!1)}function nK(t="",e){return t.endsWith("/")}function rK(t="",e){return(nK(t)?t.slice(0,-1):t)||"/"}function iK(t="",e){return t.endsWith("/")?t:t+"/"}function _h(t=""){return t.startsWith("/")}function kA(t=""){return(_h(t)?t.slice(1):t)||"/"}function sK(t=""){return _h(t)?t:"/"+t}function oK(t,e){if(aK(e))return t;const n=rK(e);if(!t.startsWith(n))return t;const r=t.slice(n.length);return r[0]==="/"?r:"/"+r}function aK(t){return!t||t==="/"}function Ah(t=""){const[e="",n="",r=""]=(t.match(/([^#?]*)(\?[^#]*)?(#.*)?/)||[]).splice(1);return{pathname:e,search:n,hash:r}}const xh="DynamicViewRule";function Bw(t){return Q.isInstance(t,xh)}const Ih="ElementExpression";function qw(t){return Q.isInstance(t,Ih)}const Ph="ElementPredicate";function cK(t){return Q.isInstance(t,Ph)}const Nh="ElementPredicateOrWhere";function uK(t){return Q.isInstance(t,Nh)}const ro="ElementProperty";function lK(t){return Q.isInstance(t,ro)}const io="LikeC4View";function jw(t){return Q.isInstance(t,io)}const Oh="MetadataProperty";function $A(t){return Q.isInstance(t,Oh)}const CA="Predicate",Lh="RelationExpression";function Uw(t){return Q.isInstance(t,Lh)}const Fh="RelationPredicate";function dK(t){return Q.isInstance(t,Fh)}const Mh="RelationPredicateOrWhere";function fK(t){return Q.isInstance(t,Mh)}const la="RelationProperty";function hK(t){return Q.isInstance(t,la)}const zh="RelationshipStyleProperty";function pK(t){return Q.isInstance(t,zh)}const da="StringProperty";function mK(t){return Q.isInstance(t,da)}const zu="StyleProperty";function _A(t){return Q.isInstance(t,zu)}const Bh="ViewProperty";function gK(t){return Q.isInstance(t,Bh)}const qh="ViewRule";function yK(t){return Q.isInstance(t,qh)}const jh="ViewRulePredicate";function Uh(t){return Q.isInstance(t,jh)}const Gh="ViewRuleStyleOrGlobalRef";function AA(t){return Q.isInstance(t,Gh)}const Bu="WhereElement";function xA(t){return Q.isInstance(t,Bu)}const qu="WhereElementExpression";function vK(t){return Q.isInstance(t,qu)}const IA="WhereExpression",Wh="WhereKindEqual";function wK(t){return Q.isInstance(t,Wh)}const ju="WhereRelation";function PA(t){return Q.isInstance(t,ju)}const Uu="WhereRelationExpression";function bK(t){return Q.isInstance(t,Uu)}const Hh="WhereTagEqual";function EK(t){return Q.isInstance(t,Hh)}const Gu="ArrowProperty";function Wu(t){return Q.isInstance(t,Gu)}const Hu="BorderProperty";function Vh(t){return Q.isInstance(t,Hu)}const Vu="ColorProperty";function so(t){return Q.isInstance(t,Vu)}const oo="CustomColor",Kh="CustomElementProperties";function DK(t){return Q.isInstance(t,Kh)}const Yh="CustomRelationProperties";function TK(t){return Q.isInstance(t,Yh)}const Ku="DirectedRelationExpression";function Gw(t){return Q.isInstance(t,Ku)}const fa="DynamicView";function RK(t){return Q.isInstance(t,fa)}const Xh="DynamicViewBody";function NA(t){return Q.isInstance(t,Xh)}const Yu="DynamicViewGlobalPredicateRef";function SK(t){return Q.isInstance(t,Yu)}const Xu="DynamicViewIncludePredicate";function kK(t){return Q.isInstance(t,Xu)}const Jh="DynamicViewParallelSteps";function Ww(t){return Q.isInstance(t,Jh)}const Zh="DynamicViewPredicateIterator";function OA(t){return Q.isInstance(t,Zh)}const Hw="DynamicViewRef",Qh="DynamicViewStep";function Vw(t){return Q.isInstance(t,Qh)}const Ur="Element";function Gr(t){return Q.isInstance(t,Ur)}const ep="ElementBody";function ha(t){return Q.isInstance(t,ep)}const Ju="ElementDescedantsExpression";function Kw(t){return Q.isInstance(t,Ju)}const tp="ElementExpressionsIterator";function $K(t){return Q.isInstance(t,tp)}const Qi="ElementKind";function CK(t){return Q.isInstance(t,Qi)}const Zu="ElementKindExpression";function np(t){return Q.isInstance(t,Zu)}const Qu="ElementPredicateWhere";function Yw(t){return Q.isInstance(t,Qu)}const el="ElementPredicateWith";function rp(t){return Q.isInstance(t,el)}const tl="ElementRef";function nl(t){return Q.isInstance(t,tl)}const rl="ElementStringProperty";function Xw(t){return Q.isInstance(t,rl)}const il="ElementStyleProperty";function sl(t){return Q.isInstance(t,il)}const ol="ElementTagExpression";function ip(t){return Q.isInstance(t,ol)}const pa="ElementView";function sp(t){return Q.isInstance(t,pa)}const op="ElementViewBody";function Jw(t){return Q.isInstance(t,op)}const Zw="ElementViewRef",al="ExcludePredicate";function ap(t){return Q.isInstance(t,al)}const cl="ExpandElementExpression";function LA(t){return Q.isInstance(t,cl)}const ma="ExtendElement";function ga(t){return Q.isInstance(t,ma)}const cp="ExtendElementBody";function Qw(t){return Q.isInstance(t,cp)}const up="FqnElementRef";function FA(t){return Q.isInstance(t,up)}const ya="GlobalDynamicPredicateGroup";function MA(t){return Q.isInstance(t,ya)}const va="GlobalPredicateGroup";function zA(t){return Q.isInstance(t,va)}const lp="Globals";function eb(t){return Q.isInstance(t,lp)}const dp="GlobalStyle";function ul(t){return Q.isInstance(t,dp)}const fp="GlobalStyleGroup";function ll(t){return Q.isInstance(t,fp)}const dl="GlobalStyleId",fl="IconProperty";function es(t){return Q.isInstance(t,fl)}const hl="IncludePredicate";function tb(t){return Q.isInstance(t,hl)}const pl="IncomingRelationExpression";function BA(t){return Q.isInstance(t,pl)}const ml="InOutRelationExpression";function nb(t){return Q.isInstance(t,ml)}const ao="LibIcon";function _K(t){return Q.isInstance(t,ao)}const rb="LikeC4Grammar",hp="LikeC4Lib";function qA(t){return Q.isInstance(t,hp)}const gl="LineProperty";function yl(t){return Q.isInstance(t,gl)}const vl="LinkProperty";function pp(t){return Q.isInstance(t,vl)}const wl="MetadataAttribute";function AK(t){return Q.isInstance(t,wl)}const bl="MetadataBody";function xK(t){return Q.isInstance(t,bl)}const wa="Model";function ib(t){return Q.isInstance(t,wa)}const ba="ModelViews";function mp(t){return Q.isInstance(t,ba)}const gp="NavigateToProperty";function sb(t){return Q.isInstance(t,gp)}const El="NotationProperty";function Dl(t){return Q.isInstance(t,El)}const Tl="NotesProperty";function jA(t){return Q.isInstance(t,Tl)}const Rl="OpacityProperty";function yp(t){return Q.isInstance(t,Rl)}const Sl="OutgoingRelationExpression";function ob(t){return Q.isInstance(t,Sl)}const vp="Predicates";function UA(t){return Q.isInstance(t,vp)}const wp="Relation";function Wr(t){return Q.isInstance(t,wp)}const bp="RelationBody";function GA(t){return Q.isInstance(t,bp)}const kl="RelationNavigateToProperty";function Ep(t){return Q.isInstance(t,kl)}const $l="RelationPredicateWhere";function WA(t){return Q.isInstance(t,$l)}const Cl="RelationPredicateWith";function ab(t){return Q.isInstance(t,Cl)}const ts="RelationshipKind";function IK(t){return Q.isInstance(t,ts)}const _l="RelationStringProperty";function Dp(t){return Q.isInstance(t,_l)}const Al="RelationStyleProperty";function cb(t){return Q.isInstance(t,Al)}const xl="ShapeProperty";function Tp(t){return Q.isInstance(t,xl)}const Rp="SpecificationColor";function Sp(t){return Q.isInstance(t,Rp)}const Ea="SpecificationElementKind";function Da(t){return Q.isInstance(t,Ea)}const Il="SpecificationElementStringProperty";function HA(t){return Q.isInstance(t,Il)}const Ta="SpecificationRelationshipKind";function Ra(t){return Q.isInstance(t,Ta)}const Pl="SpecificationRelationshipStringProperty";function VA(t){return Q.isInstance(t,Pl)}const Sa="SpecificationRule";function ub(t){return Q.isInstance(t,Sa)}const ka="SpecificationTag";function kp(t){return Q.isInstance(t,ka)}const ns="Tag";function KA(t){return Q.isInstance(t,ns)}const $p="Tags";function lb(t){return Q.isInstance(t,$p)}const db="ViewRef",Nl="ViewRuleAutoLayout";function Cp(t){return Q.isInstance(t,Nl)}const Ol="ViewRuleGlobalPredicateRef";function PK(t){return Q.isInstance(t,Ol)}const Ll="ViewRuleGlobalStyle";function YA(t){return Q.isInstance(t,Ll)}const Fl="ViewRuleGroup";function _p(t){return Q.isInstance(t,Fl)}const Ml="ViewRuleStyle";function zl(t){return Q.isInstance(t,Ml)}const Bl="ViewStringProperty";function NK(t){return Q.isInstance(t,Bl)}const ql="WhereBinaryExpression";function OK(t){return Q.isInstance(t,ql)}const jl="WhereElementKind";function LK(t){return Q.isInstance(t,jl)}const Ul="WhereElementNegation";function XA(t){return Q.isInstance(t,Ul)}const Gl="WhereElementTag";function FK(t){return Q.isInstance(t,Gl)}const Wl="WhereRelationKind";function JA(t){return Q.isInstance(t,Wl)}const Hl="WhereRelationNegation";function ZA(t){return Q.isInstance(t,Hl)}const Vl="WhereRelationTag";function MK(t){return Q.isInstance(t,Vl)}const Kl="WildcardExpression";function $a(t){return Q.isInstance(t,Kl)}class QA extends FD{getAllTypes(){return[Gu,Hu,Vu,oo,Kh,Yh,Ku,fa,Xh,Yu,Xu,Jh,Zh,Hw,xh,Qh,Ur,ep,Ju,Ih,tp,Qi,Zu,Ph,Nh,Qu,el,ro,tl,rl,il,ol,pa,op,Zw,al,cl,ma,cp,up,ya,va,dp,fp,dl,lp,fl,ml,hl,pl,ao,rb,hp,io,gl,vl,wl,bl,Oh,wa,ba,gp,El,Tl,Rl,Sl,CA,vp,wp,bp,Lh,kl,Fh,Mh,$l,Cl,la,_l,Al,ts,zh,xl,Rp,Ea,Il,Ta,Pl,Sa,ka,da,zu,ns,$p,Bh,db,qh,Nl,Ol,Ll,Fl,jh,Ml,Gh,Bl,ql,Bu,qu,jl,Ul,Gl,IA,Wh,ju,Uu,Wl,Hl,Vl,Hh,Kl]}computeIsSubtype(e,n){switch(e){case Gu:case gl:return this.isSubtype(zh,n);case Hu:case Rl:case xl:return this.isSubtype(zu,n);case Vu:return this.isSubtype(zh,n)||this.isSubtype(zu,n);case Ku:case pl:case ml:case Sl:return this.isSubtype(Lh,n);case fa:case pa:return this.isSubtype(io,n);case Yu:case Xu:return this.isSubtype(xh,n);case Ju:case Zu:case tl:case ol:case cl:case Kl:return this.isSubtype(Ih,n);case Ih:case Qu:return this.isSubtype(Nh,n);case Ph:case Fh:return this.isSubtype(CA,n);case Nh:case el:return this.isSubtype(Ph,n);case rl:return this.isSubtype(ro,n)||this.isSubtype(da,n);case il:return this.isSubtype(ro,n);case al:case hl:return this.isSubtype(jh,n);case fl:return this.isSubtype(ro,n)||this.isSubtype(zu,n);case vl:return this.isSubtype(ro,n)||this.isSubtype(la,n)||this.isSubtype(Bh,n);case wl:case El:case Tl:case Il:case Pl:return this.isSubtype(da,n);case bl:return this.isSubtype(Oh,n);case Oh:return this.isSubtype(ro,n)||this.isSubtype(la,n);case Lh:case $l:return this.isSubtype(Mh,n);case kl:case Al:return this.isSubtype(la,n);case Mh:case Cl:return this.isSubtype(Fh,n);case _l:return this.isSubtype(la,n)||this.isSubtype(da,n);case Nl:case Gh:return this.isSubtype(xh,n)||this.isSubtype(qh,n);case Ol:case Fl:case jh:return this.isSubtype(qh,n);case Ll:case Ml:return this.isSubtype(Gh,n);case Bl:return this.isSubtype(da,n)||this.isSubtype(Bh,n);case ql:return this.isSubtype(qu,n)||this.isSubtype(Uu,n);case Bu:case Ul:return this.isSubtype(qu,n);case qu:case Uu:return this.isSubtype(IA,n);case jl:return this.isSubtype(Bu,n)||this.isSubtype(Wh,n);case Gl:return this.isSubtype(Bu,n)||this.isSubtype(Hh,n);case ju:case Hl:return this.isSubtype(Uu,n);case Wl:return this.isSubtype(Wh,n)||this.isSubtype(ju,n);case Vl:return this.isSubtype(ju,n)||this.isSubtype(Hh,n);default:return!1}}getReferenceType(e){const n=`${e.container.$type}:${e.property}`;switch(n){case"ColorProperty:customColor":return oo;case"DynamicViewGlobalPredicateRef:predicate":return ya;case"DynamicViewRef:view":return fa;case"DynamicViewStep:kind":case"OutgoingRelationExpression:kind":case"Relation:kind":case"WhereRelationKind:value":return ts;case"Element:kind":case"ElementKindExpression:kind":case"WhereElementKind:value":return Qi;case"ElementRef:el":case"FqnElementRef:el":return Ur;case"ElementTagExpression:tag":case"Tags:values":case"WhereElementTag:value":case"WhereRelationTag:value":return ns;case"ElementViewRef:view":return pa;case"IconProperty:libicon":return ao;case"ViewRef:view":return io;case"ViewRuleGlobalPredicateRef:predicate":return va;case"ViewRuleGlobalStyle:style":return dl;default:throw new Error(`${n} is not a valid reference id.`)}}getTypeMetaData(e){switch(e){case Gu:return{name:Gu,properties:[{name:"key"},{name:"value"}]};case Hu:return{name:Hu,properties:[{name:"key"},{name:"value"}]};case Vu:return{name:Vu,properties:[{name:"customColor"},{name:"key"},{name:"themeColor"}]};case oo:return{name:oo,properties:[{name:"name"}]};case Kh:return{name:Kh,properties:[{name:"props",defaultValue:[]}]};case Yh:return{name:Yh,properties:[{name:"props",defaultValue:[]}]};case Ku:return{name:Ku,properties:[{name:"source"},{name:"target"}]};case fa:return{name:fa,properties:[{name:"body"},{name:"name"}]};case Xh:return{name:Xh,properties:[{name:"props",defaultValue:[]},{name:"rules",defaultValue:[]},{name:"steps",defaultValue:[]},{name:"tags"}]};case Yu:return{name:Yu,properties:[{name:"predicate"}]};case Xu:return{name:Xu,properties:[{name:"predicates"}]};case Jh:return{name:Jh,properties:[{name:"steps",defaultValue:[]}]};case Zh:return{name:Zh,properties:[{name:"prev"},{name:"value"}]};case Hw:return{name:Hw,properties:[{name:"view"}]};case Qh:return{name:Qh,properties:[{name:"custom"},{name:"isBackward",defaultValue:!1},{name:"kind"},{name:"source"},{name:"target"},{name:"title"}]};case Ur:return{name:Ur,properties:[{name:"body"},{name:"kind"},{name:"name"},{name:"props",defaultValue:[]}]};case ep:return{name:ep,properties:[{name:"elements",defaultValue:[]},{name:"props",defaultValue:[]},{name:"tags"}]};case Ju:return{name:Ju,properties:[{name:"parent"}]};case tp:return{name:tp,properties:[{name:"prev"},{name:"value"}]};case Qi:return{name:Qi,properties:[{name:"name"}]};case Zu:return{name:Zu,properties:[{name:"isEqual",defaultValue:!1},{name:"kind"}]};case Qu:return{name:Qu,properties:[{name:"subject"},{name:"where"}]};case el:return{name:el,properties:[{name:"custom"},{name:"subject"}]};case tl:return{name:tl,properties:[{name:"el"},{name:"parent"}]};case rl:return{name:rl,properties:[{name:"key"},{name:"value"}]};case il:return{name:il,properties:[{name:"key"},{name:"props",defaultValue:[]}]};case ol:return{name:ol,properties:[{name:"isEqual",defaultValue:!1},{name:"tag"}]};case pa:return{name:pa,properties:[{name:"body"},{name:"extends"},{name:"name"},{name:"viewOf"}]};case op:return{name:op,properties:[{name:"props",defaultValue:[]},{name:"rules",defaultValue:[]},{name:"tags"}]};case Zw:return{name:Zw,properties:[{name:"view"}]};case al:return{name:al,properties:[{name:"predicates"}]};case cl:return{name:cl,properties:[{name:"expand"}]};case ma:return{name:ma,properties:[{name:"body"},{name:"element"}]};case cp:return{name:cp,properties:[{name:"elements",defaultValue:[]}]};case up:return{name:up,properties:[{name:"el"},{name:"parent"}]};case ya:return{name:ya,properties:[{name:"name"},{name:"predicates",defaultValue:[]}]};case va:return{name:va,properties:[{name:"name"},{name:"predicates",defaultValue:[]}]};case lp:return{name:lp,properties:[{name:"name"},{name:"predicates",defaultValue:[]},{name:"styles",defaultValue:[]}]};case dp:return{name:dp,properties:[{name:"id"},{name:"props",defaultValue:[]},{name:"target"}]};case fp:return{name:fp,properties:[{name:"id"},{name:"styles",defaultValue:[]}]};case dl:return{name:dl,properties:[{name:"name"}]};case fl:return{name:fl,properties:[{name:"key"},{name:"libicon"},{name:"value"}]};case hl:return{name:hl,properties:[{name:"predicates"}]};case pl:return{name:pl,properties:[{name:"to"}]};case ml:return{name:ml,properties:[{name:"inout"}]};case ao:return{name:ao,properties:[{name:"name"}]};case rb:return{name:rb,properties:[{name:"globals",defaultValue:[]},{name:"likec4lib",defaultValue:[]},{name:"models",defaultValue:[]},{name:"specifications",defaultValue:[]},{name:"views",defaultValue:[]}]};case hp:return{name:hp,properties:[{name:"icons",defaultValue:[]}]};case gl:return{name:gl,properties:[{name:"key"},{name:"value"}]};case vl:return{name:vl,properties:[{name:"key"},{name:"title"},{name:"value"}]};case wl:return{name:wl,properties:[{name:"key"},{name:"value"}]};case bl:return{name:bl,properties:[{name:"props",defaultValue:[]}]};case wa:return{name:wa,properties:[{name:"elements",defaultValue:[]},{name:"name"}]};case ba:return{name:ba,properties:[{name:"name"},{name:"styles",defaultValue:[]},{name:"views",defaultValue:[]}]};case gp:return{name:gp,properties:[{name:"key"},{name:"value"}]};case El:return{name:El,properties:[{name:"key"},{name:"value"}]};case Tl:return{name:Tl,properties:[{name:"key"},{name:"value"}]};case Rl:return{name:Rl,properties:[{name:"key"},{name:"value"}]};case Sl:return{name:Sl,properties:[{name:"from"},{name:"isBidirectional",defaultValue:!1},{name:"kind"}]};case vp:return{name:vp,properties:[{name:"prev"},{name:"value"}]};case wp:return{name:wp,properties:[{name:"body"},{name:"kind"},{name:"source"},{name:"tags"},{name:"target"},{name:"technology"},{name:"title"}]};case bp:return{name:bp,properties:[{name:"props",defaultValue:[]},{name:"tags"}]};case kl:return{name:kl,properties:[{name:"key"},{name:"value"}]};case $l:return{name:$l,properties:[{name:"subject"},{name:"where"}]};case Cl:return{name:Cl,properties:[{name:"custom"},{name:"subject"}]};case ts:return{name:ts,properties:[{name:"name"}]};case _l:return{name:_l,properties:[{name:"key"},{name:"value"}]};case Al:return{name:Al,properties:[{name:"key"},{name:"props",defaultValue:[]}]};case xl:return{name:xl,properties:[{name:"key"},{name:"value"}]};case Rp:return{name:Rp,properties:[{name:"color"},{name:"name"}]};case Ea:return{name:Ea,properties:[{name:"kind"},{name:"props",defaultValue:[]}]};case Il:return{name:Il,properties:[{name:"key"},{name:"value"}]};case Ta:return{name:Ta,properties:[{name:"kind"},{name:"props",defaultValue:[]}]};case Pl:return{name:Pl,properties:[{name:"key"},{name:"value"}]};case Sa:return{name:Sa,properties:[{name:"colors",defaultValue:[]},{name:"elements",defaultValue:[]},{name:"name"},{name:"relationships",defaultValue:[]},{name:"tags",defaultValue:[]}]};case ka:return{name:ka,properties:[{name:"tag"}]};case ns:return{name:ns,properties:[{name:"name"}]};case $p:return{name:$p,properties:[{name:"prev"},{name:"values",defaultValue:[]}]};case db:return{name:db,properties:[{name:"view"}]};case Nl:return{name:Nl,properties:[{name:"direction"},{name:"nodeSep"},{name:"rankSep"}]};case Ol:return{name:Ol,properties:[{name:"predicate"}]};case Ll:return{name:Ll,properties:[{name:"style"}]};case Fl:return{name:Fl,properties:[{name:"groupRules",defaultValue:[]},{name:"props",defaultValue:[]},{name:"title"}]};case Ml:return{name:Ml,properties:[{name:"props",defaultValue:[]},{name:"target"}]};case Bl:return{name:Bl,properties:[{name:"key"},{name:"value"}]};case ql:return{name:ql,properties:[{name:"left"},{name:"operator"},{name:"right"}]};case jl:return{name:jl,properties:[{name:"not",defaultValue:!1},{name:"operator"},{name:"value"}]};case Ul:return{name:Ul,properties:[{name:"value"}]};case Gl:return{name:Gl,properties:[{name:"not",defaultValue:!1},{name:"operator"},{name:"value"}]};case Wl:return{name:Wl,properties:[{name:"not",defaultValue:!1},{name:"operator"},{name:"value"}]};case Hl:return{name:Hl,properties:[{name:"value"}]};case Vl:return{name:Vl,properties:[{name:"not",defaultValue:!1},{name:"operator"},{name:"value"}]};case Kl:return{name:Kl,properties:[{name:"isWildcard",defaultValue:!1}]};default:return{name:e,properties:[]}}}}const Q=new QA;let ex;const zK=()=>ex??(ex=BU(`{"$type":"Grammar","isDeclared":true,"name":"LikeC4","rules":[{"$type":"ParserRule","name":"LikeC4Grammar","entry":true,"definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"specifications","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"models","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Assignment","feature":"views","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@32"},"arguments":[]}},{"$type":"Assignment","feature":"globals","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@93"},"arguments":[]}},{"$type":"Assignment","feature":"likec4lib","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}}],"cardinality":"*"},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"LikeC4Lib","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"likec4lib"},{"$type":"Keyword","value":"{"},{"$type":"Keyword","value":"icons"},{"$type":"Keyword","value":"{"},{"$type":"Assignment","feature":"icons","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},"cardinality":"+"},{"$type":"Keyword","value":"}"},{"$type":"Keyword","value":"}"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"LibIcon","definition":{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@116"},"arguments":[]}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ElementKind","definition":{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@121"},"arguments":[]}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Tag","definition":{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@121"},"arguments":[]}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"RelationshipKind","definition":{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@121"},"arguments":[]}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"CustomColor","definition":{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@120"},"arguments":[]}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"SpecificationRule","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"specification"}},{"$type":"Keyword","value":"{"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"relationships","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"colors","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}}],"cardinality":"*"},{"$type":"Keyword","value":"}"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"SpecificationElementKind","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"element"},{"$type":"Assignment","feature":"kind","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"{"},{"$type":"Assignment","feature":"props","operator":"+=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@107"},"arguments":[]}]},"cardinality":"*"},{"$type":"Keyword","value":"}"}],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"SpecificationElementStringProperty","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"key","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"technology"},{"$type":"Keyword","value":"notation"}]}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@139"},"arguments":[]}},{"$type":"Keyword","value":";","cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"SpecificationTag","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"tag"},{"$type":"Assignment","feature":"tag","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"SpecificationColor","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"color"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"color","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@115"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"SpecificationRelationshipKind","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"relationship"},{"$type":"Assignment","feature":"kind","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"{"},{"$type":"Assignment","feature":"props","operator":"+=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@110"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}]},"cardinality":"*"},{"$type":"Keyword","value":"}"}],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"SpecificationRelationshipStringProperty","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"key","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"technology"},{"$type":"Keyword","value":"notation"}]}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@139"},"arguments":[]}},{"$type":"Keyword","value":";","cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Model","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"model"}},{"$type":"Keyword","value":"{"},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[{"$type":"NamedArgument","value":{"$type":"BooleanLiteral","true":true},"calledByName":false}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}]},"cardinality":"*"},{"$type":"Keyword","value":"}"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Element","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"kind","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@3"},"deprecatedSyntax":false}},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@121"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@121"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@137"},"arguments":[]},{"$type":"Assignment","feature":"kind","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@3"},"deprecatedSyntax":false}}]}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"props","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@139"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Assignment","feature":"props","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@139"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Assignment","feature":"props","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@139"},"arguments":[]}},{"$type":"Assignment","feature":"props","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@139"},"arguments":[]},"cardinality":"?"}],"cardinality":"?"}],"cardinality":"?"}],"cardinality":"?"},{"$type":"Assignment","feature":"body","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]},"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ElementBody","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"{"},{"$type":"Assignment","feature":"tags","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"props","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]},"cardinality":"*"},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[{"$type":"NamedArgument","value":{"$type":"BooleanLiteral","true":false},"calledByName":false}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}]},"cardinality":"*"},{"$type":"Keyword","value":"}"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ElementProperty","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@107"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@99"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@102"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ElementStringProperty","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"key","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"title"},{"$type":"Keyword","value":"technology"},{"$type":"Keyword","value":"description"}]}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@139"},"arguments":[]}},{"$type":"Keyword","value":";","cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ExtendElement","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"extend"},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}},{"$type":"Assignment","feature":"body","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ExtendElementBody","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"{"},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[{"$type":"NamedArgument","value":{"$type":"BooleanLiteral","true":true},"calledByName":false}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}]},"cardinality":"*"},{"$type":"Keyword","value":"}"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"FqnElementRef","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"el","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@15"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@121"},"arguments":[]},"deprecatedSyntax":false}},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"FqnElementRef"},"feature":"parent","operator":"="},{"$type":"RuleCall","rule":{"$ref":"#/rules@134"},"arguments":[]},{"$type":"Assignment","feature":"el","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@15"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@121"},"arguments":[]},"deprecatedSyntax":false}}],"cardinality":"*"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ElementRef","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"el","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@15"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@121"},"arguments":[]},"deprecatedSyntax":false}},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"ElementRef"},"feature":"parent","operator":"="},{"$type":"RuleCall","rule":{"$ref":"#/rules@134"},"arguments":[]},{"$type":"Assignment","feature":"el","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@15"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@121"},"arguments":[]},"deprecatedSyntax":false}}],"cardinality":"*"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Tags","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"values","operator":"+=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@4"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@118"},"arguments":[]},"deprecatedSyntax":false},"cardinality":"+"},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"Tags"},"feature":"prev","operator":"="},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"values","operator":"+=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@4"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@118"},"arguments":[]},"deprecatedSyntax":false},"cardinality":"*"}],"cardinality":"*"},{"$type":"Keyword","value":";","cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Relation","parameters":[{"$type":"Parameter","name":"isExplicit"}],"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Group","guardCondition":{"$type":"ParameterReference","parameter":{"$ref":"#/rules@24/parameters@0"}},"elements":[{"$type":"Assignment","feature":"source","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}]},{"$type":"Group","guardCondition":{"$type":"Negation","value":{"$type":"ParameterReference","parameter":{"$ref":"#/rules@24/parameters@0"}}},"elements":[{"$type":"Assignment","feature":"source","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]},"cardinality":"?"}]}]},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"kind","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@5"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@119"},"arguments":[]},"deprecatedSyntax":false}},{"$type":"Group","elements":[{"$type":"Keyword","value":"-["},{"$type":"Assignment","feature":"kind","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@5"},"deprecatedSyntax":false}},{"$type":"Keyword","value":"]->"}]},{"$type":"Keyword","value":"->"}]},{"$type":"Assignment","feature":"target","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@139"},"arguments":[]}},{"$type":"Assignment","feature":"technology","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@139"},"arguments":[]},"cardinality":"?"}],"cardinality":"?"},{"$type":"Assignment","feature":"tags","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"body","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@25"},"arguments":[]},"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"wildcard":false},{"$type":"ParserRule","name":"RelationBody","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"{"},{"$type":"Assignment","feature":"tags","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"props","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@26"},"arguments":[]},"cardinality":"*"},{"$type":"Keyword","value":"}"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"RelationProperty","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@27"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@92"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@99"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"RelationStringProperty","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"key","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"title"},{"$type":"Keyword","value":"technology"},{"$type":"Keyword","value":"description"}]}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@139"},"arguments":[]}},{"$type":"Keyword","value":";","cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"RelationStyleProperty","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"key","operator":"=","terminal":{"$type":"Keyword","value":"style"}},{"$type":"Keyword","value":"{"},{"$type":"Assignment","feature":"props","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@110"},"arguments":[]},"cardinality":"*"},{"$type":"Keyword","value":"}"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"MetadataProperty","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"metadata"},{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"MetadataBody","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"{"},{"$type":"Assignment","feature":"props","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@31"},"arguments":[]},"cardinality":"*"},{"$type":"Keyword","value":"}"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"MetadataAttribute","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"key","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@140"},"arguments":[]}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@139"},"arguments":[]}},{"$type":"Keyword","value":";","cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ModelViews","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"views"}},{"$type":"Keyword","value":"{"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"views","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@33"},"arguments":[]}},{"$type":"Assignment","feature":"styles","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@85"},"arguments":[]}}],"cardinality":"*"},{"$type":"Keyword","value":"}"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"LikeC4ViewRule","returnType":{"$ref":"#/types@0"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@34"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@35"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ElementView","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"view"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@121"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"extends"},{"$type":"Assignment","feature":"extends","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@37"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"of"},{"$type":"Assignment","feature":"viewOf","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}]}],"cardinality":"?"},{"$type":"Assignment","feature":"body","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]},"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"DynamicView","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"dynamic"},{"$type":"Keyword","value":"view"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@121"},"arguments":[]}},{"$type":"Assignment","feature":"body","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@40"},"arguments":[]},"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ViewRef","definition":{"$type":"Assignment","feature":"view","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/types@0"},"deprecatedSyntax":false}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ElementViewRef","definition":{"$type":"Assignment","feature":"view","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@34"},"deprecatedSyntax":false}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"DynamicViewRef","definition":{"$type":"Assignment","feature":"view","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@35"},"deprecatedSyntax":false}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ElementViewBody","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"{"},{"$type":"Assignment","feature":"tags","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"props","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]},"cardinality":"*"},{"$type":"Assignment","feature":"rules","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@44"},"arguments":[]},"cardinality":"*"},{"$type":"Keyword","value":"}"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"DynamicViewBody","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"{"},{"$type":"Assignment","feature":"tags","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"props","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]},"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"steps","operator":"+=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@47"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}]}},{"$type":"Assignment","feature":"rules","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@46"},"arguments":[]}}],"cardinality":"*"},{"$type":"Keyword","value":"}"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ViewProperty","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@42"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@99"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ViewStringProperty","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"key","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"title"},{"$type":"Keyword","value":"description"}]}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@139"},"arguments":[]}},{"$type":"Keyword","value":";","cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ViewLayoutDirection","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"TopBottom"},{"$type":"Keyword","value":"LeftRight"},{"$type":"Keyword","value":"BottomTop"},{"$type":"Keyword","value":"RightLeft"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ViewRule","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@49"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@45"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@85"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@86"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ViewRuleGroup","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"group"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@139"},"arguments":[]},"cardinality":"?"},{"$type":"Keyword","value":"{"},{"$type":"Assignment","feature":"props","operator":"+=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@100"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@105"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@101"},"arguments":[]}]},"cardinality":"*"},{"$type":"Assignment","feature":"groupRules","operator":"+=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@49"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@45"},"arguments":[]}]},"cardinality":"*"},{"$type":"Keyword","value":"}"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"DynamicViewRule","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@80"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@81"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@85"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@86"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"DynamicViewParallelSteps","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"parallel"},{"$type":"Keyword","value":"par"}]},{"$type":"Keyword","value":"{"},{"$type":"Assignment","feature":"steps","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]},"cardinality":"*"},{"$type":"Keyword","value":"}"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"DynamicViewStep","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"source","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"isBackward","operator":"?=","terminal":{"$type":"Keyword","value":"<-"}},{"$type":"Keyword","value":"->"},{"$type":"Group","elements":[{"$type":"Keyword","value":"-["},{"$type":"Assignment","feature":"kind","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@5"},"deprecatedSyntax":false}},{"$type":"Keyword","value":"]->"}]},{"$type":"Assignment","feature":"kind","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@5"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@119"},"arguments":[]},"deprecatedSyntax":false}}]},{"$type":"Assignment","feature":"target","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@139"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"custom","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@90"},"arguments":[]},"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ViewRulePredicate","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"IncludePredicate"}},{"$type":"Keyword","value":"include"},{"$type":"Assignment","feature":"predicates","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"ExcludePredicate"}},{"$type":"Keyword","value":"exclude"},{"$type":"Assignment","feature":"predicates","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]}}]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Predicates","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"Predicates"},"feature":"prev","operator":"="},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},"cardinality":"?"}],"cardinality":"*"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Predicate","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@65"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@53"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ViewRuleGlobalPredicateRef","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"global"},{"$type":"Keyword","value":"predicate"},{"$type":"Assignment","feature":"predicate","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@94"},"deprecatedSyntax":false}}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ElementPredicate","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@54"},"arguments":[]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ElementPredicates","inferredType":{"$type":"InferredType","name":"ElementPredicate"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@55"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"ElementPredicateWith"},"feature":"subject","operator":"="},{"$type":"Keyword","value":"with"},{"$type":"Assignment","feature":"custom","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@89"},"arguments":[]},"cardinality":"?"}],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ElementPredicateOrWhere","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@62"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"ElementPredicateWhere"},"feature":"subject","operator":"="},{"$type":"Keyword","value":"where"},{"$type":"Assignment","feature":"where","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@56"},"arguments":[]},"cardinality":"?"}],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"WhereElementExpression","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@57"},"arguments":[]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"WhereElementOr","inferredType":{"$type":"InferredType","name":"WhereElementExpression"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@58"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"WhereBinaryExpression"},"feature":"left","operator":"="},{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"or"}},{"$type":"Assignment","feature":"right","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@58"},"arguments":[]}}],"cardinality":"*"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"WhereElementAnd","inferredType":{"$type":"InferredType","name":"WhereElementExpression"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"WhereBinaryExpression"},"feature":"left","operator":"="},{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"and"}},{"$type":"Assignment","feature":"right","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]}}],"cardinality":"*"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"WhereElementPrimary","inferredType":{"$type":"InferredType","name":"WhereElementExpression"},"definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"RuleCall","rule":{"$ref":"#/rules@56"},"arguments":[]},{"$type":"Keyword","value":")"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@60"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@61"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"WhereElementNegation","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"not"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@56"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"WhereElement","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"WhereElementTag"}},{"$type":"Keyword","value":"tag"},{"$type":"RuleCall","rule":{"$ref":"#/rules@122"},"arguments":[]},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@4"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@118"},"arguments":[]},"deprecatedSyntax":false},"cardinality":"?"}]},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"WhereElementKind"}},{"$type":"Keyword","value":"kind"},{"$type":"RuleCall","rule":{"$ref":"#/rules@122"},"arguments":[]},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@3"},"deprecatedSyntax":false},"cardinality":"?"}]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ElementExpression","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@63"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@64"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ElementSelectorExpression","inferredType":{"$type":"InferredType","name":"ElementExpression"},"definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"WildcardExpression"}},{"$type":"Assignment","feature":"isWildcard","operator":"?=","terminal":{"$type":"Keyword","value":"*"}}]},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"ElementTagExpression"}},{"$type":"Keyword","value":"element.tag"},{"$type":"RuleCall","rule":{"$ref":"#/rules@123"},"arguments":[]},{"$type":"Assignment","feature":"tag","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@4"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@118"},"arguments":[]},"deprecatedSyntax":false},"cardinality":"?"}]},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"ElementKindExpression"}},{"$type":"Keyword","value":"element.kind"},{"$type":"RuleCall","rule":{"$ref":"#/rules@123"},"arguments":[]},{"$type":"Assignment","feature":"kind","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@3"},"deprecatedSyntax":false},"cardinality":"?"}]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ElementDescedantsExpression","inferredType":{"$type":"InferredType","name":"ElementExpression"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"ExpandElementExpression"},"feature":"expand","operator":"="},{"$type":"RuleCall","rule":{"$ref":"#/rules@131"},"arguments":[]}]},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"ElementDescedantsExpression"},"feature":"parent","operator":"="},{"$type":"RuleCall","rule":{"$ref":"#/rules@132"},"arguments":[]}]}],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"RelationPredicate","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@66"},"arguments":[]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"RelationPredicates","inferredType":{"$type":"InferredType","name":"RelationPredicate"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@67"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"RelationPredicateWith"},"feature":"subject","operator":"="},{"$type":"Keyword","value":"with"},{"$type":"Assignment","feature":"custom","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@90"},"arguments":[]},"cardinality":"?"}],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"RelationPredicateOrWhere","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@74"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"RelationPredicateWhere"},"feature":"subject","operator":"="},{"$type":"Keyword","value":"where"},{"$type":"Assignment","feature":"where","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@68"},"arguments":[]},"cardinality":"?"}],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"WhereRelationExpression","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@69"},"arguments":[]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"WhereRelationOr","inferredType":{"$type":"InferredType","name":"WhereRelationExpression"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@70"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"WhereBinaryExpression"},"feature":"left","operator":"="},{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"or"}},{"$type":"Assignment","feature":"right","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@70"},"arguments":[]}}],"cardinality":"*"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"WhereRelationAnd","inferredType":{"$type":"InferredType","name":"WhereRelationExpression"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@71"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"WhereBinaryExpression"},"feature":"left","operator":"="},{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"and"}},{"$type":"Assignment","feature":"right","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@71"},"arguments":[]}}],"cardinality":"*"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"WhereRelationPrimary","inferredType":{"$type":"InferredType","name":"WhereRelationExpression"},"definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"RuleCall","rule":{"$ref":"#/rules@68"},"arguments":[]},{"$type":"Keyword","value":")"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@72"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@73"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"WhereRelationNegation","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"not"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@68"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"WhereRelation","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"WhereRelationTag"}},{"$type":"Keyword","value":"tag"},{"$type":"RuleCall","rule":{"$ref":"#/rules@122"},"arguments":[]},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@4"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@118"},"arguments":[]},"deprecatedSyntax":false},"cardinality":"?"}]},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"WhereRelationKind"}},{"$type":"Keyword","value":"kind"},{"$type":"RuleCall","rule":{"$ref":"#/rules@122"},"arguments":[]},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@5"},"deprecatedSyntax":false},"cardinality":"?"}]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"RelationExpression","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@75"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@77"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"InOutRelationExpressions","inferredType":{"$type":"InferredType","name":"RelationExpression"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@76"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"InOutRelationExpression"},"feature":"inout","operator":"="},{"$type":"Keyword","value":"->"}],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"IncomingRelationExpression","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"->"},{"$type":"Assignment","feature":"to","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@62"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"DirectedRelationExpressions","inferredType":{"$type":"InferredType","name":"RelationExpression"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@78"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"DirectedRelationExpression"},"feature":"source","operator":"="},{"$type":"Assignment","feature":"target","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@62"},"arguments":[]}}],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"OutgoingRelationExpression","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"from","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@62"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"isBidirectional","operator":"?=","terminal":{"$type":"Keyword","value":"<->"}},{"$type":"Keyword","value":"->"},{"$type":"Group","elements":[{"$type":"Keyword","value":"-["},{"$type":"Assignment","feature":"kind","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@5"},"deprecatedSyntax":false}},{"$type":"Keyword","value":"]->"}]},{"$type":"Assignment","feature":"kind","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@5"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@119"},"arguments":[]},"deprecatedSyntax":false}}]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ElementExpressionsIterator","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@62"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"ElementExpressionsIterator"},"feature":"prev","operator":"="},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@62"},"arguments":[]},"cardinality":"?"}],"cardinality":"*"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"DynamicViewIncludePredicate","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"include"},{"$type":"Assignment","feature":"predicates","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@82"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"DynamicViewGlobalPredicateRef","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"global"},{"$type":"Keyword","value":"predicate"},{"$type":"Assignment","feature":"predicate","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@95"},"deprecatedSyntax":false}}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"DynamicViewPredicateIterator","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@53"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"DynamicViewPredicateIterator"},"feature":"prev","operator":"="},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@53"},"arguments":[]},"cardinality":"?"}],"cardinality":"*"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ViewRuleStyle","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"style"},{"$type":"Assignment","feature":"target","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@79"},"arguments":[]}},{"$type":"Keyword","value":"{"},{"$type":"Assignment","feature":"props","operator":"+=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@106"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@87"},"arguments":[]}]},"cardinality":"*"},{"$type":"Keyword","value":"}"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ViewRuleGlobalStyle","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"global"},{"$type":"Keyword","value":"style"},{"$type":"Assignment","feature":"style","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@96"},"deprecatedSyntax":false}}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ViewRuleStyleOrGlobalRef","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@83"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@84"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ViewRuleAutoLayout","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"autoLayout"},{"$type":"Assignment","feature":"direction","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@43"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Assignment","feature":"rankSep","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@141"},"arguments":[]}},{"$type":"Assignment","feature":"nodeSep","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@141"},"arguments":[]},"cardinality":"?"}],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"NotationProperty","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"key","operator":"=","terminal":{"$type":"Keyword","value":"notation"}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@139"},"arguments":[]}},{"$type":"Keyword","value":";","cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"NotesProperty","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"key","operator":"=","terminal":{"$type":"Keyword","value":"notes"}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@139"},"arguments":[]}},{"$type":"Keyword","value":";","cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"CustomElementProperties","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"{"},{"$type":"Assignment","feature":"props","operator":"+=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@91"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@87"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@106"},"arguments":[]}]},"cardinality":"*"},{"$type":"Keyword","value":"}"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"CustomRelationProperties","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"{"},{"$type":"Assignment","feature":"props","operator":"+=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@92"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@27"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@87"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@88"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@110"},"arguments":[]}]},"cardinality":"*"},{"$type":"Keyword","value":"}"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"NavigateToProperty","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"key","operator":"=","terminal":{"$type":"Keyword","value":"navigateTo"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@36"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"RelationNavigateToProperty","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"key","operator":"=","terminal":{"$type":"Keyword","value":"navigateTo"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@38"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Globals","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"global"}},{"$type":"Keyword","value":"{"},{"$type":"Group","elements":[{"$type":"Assignment","feature":"predicates","operator":"+=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@94"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@95"},"arguments":[]}]},"cardinality":"*"},{"$type":"Assignment","feature":"styles","operator":"+=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@97"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@98"},"arguments":[]}]},"cardinality":"*"}],"cardinality":"*"},{"$type":"Keyword","value":"}"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"GlobalPredicateGroup","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"predicateGroup"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@140"},"arguments":[]}},{"$type":"Keyword","value":"{"},{"$type":"Assignment","feature":"predicates","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@49"},"arguments":[]},"cardinality":"*"},{"$type":"Keyword","value":"}"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"GlobalDynamicPredicateGroup","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"dynamicPredicateGroup"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@140"},"arguments":[]}},{"$type":"Keyword","value":"{"},{"$type":"Assignment","feature":"predicates","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@80"},"arguments":[]},"cardinality":"*"},{"$type":"Keyword","value":"}"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"GlobalStyleId","definition":{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@140"},"arguments":[]}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"GlobalStyle","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"style"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@96"},"arguments":[]}},{"$type":"Assignment","feature":"target","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@79"},"arguments":[]}},{"$type":"Keyword","value":"{"},{"$type":"Assignment","feature":"props","operator":"+=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@106"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@87"},"arguments":[]}]},"cardinality":"*"},{"$type":"Keyword","value":"}"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"GlobalStyleGroup","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"styleGroup"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@96"},"arguments":[]}},{"$type":"Keyword","value":"{"},{"$type":"Assignment","feature":"styles","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@83"},"arguments":[]},"cardinality":"*"},{"$type":"Keyword","value":"}"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"LinkProperty","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"key","operator":"=","terminal":{"$type":"Keyword","value":"link"}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@117"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@139"},"arguments":[]},"cardinality":"?"},{"$type":"Keyword","value":";","cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ColorProperty","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"key","operator":"=","terminal":{"$type":"Keyword","value":"color"}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"themeColor","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@113"},"arguments":[]}},{"$type":"Assignment","feature":"customColor","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@6"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@120"},"arguments":[]},"deprecatedSyntax":false}}]},{"$type":"Keyword","value":";","cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"OpacityProperty","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"key","operator":"=","terminal":{"$type":"Keyword","value":"opacity"}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@138"},"arguments":[]}},{"$type":"Keyword","value":";","cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"IconProperty","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"key","operator":"=","terminal":{"$type":"Keyword","value":"icon"}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"libicon","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@2"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@116"},"arguments":[]},"deprecatedSyntax":false}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"none"},{"$type":"RuleCall","rule":{"$ref":"#/rules@117"},"arguments":[]}]}}]},{"$type":"Keyword","value":";","cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ShapeProperty","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"key","operator":"=","terminal":{"$type":"Keyword","value":"shape"}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@114"},"arguments":[]}},{"$type":"Keyword","value":";","cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"BorderStyleValue","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@111"},"arguments":[]},{"$type":"Keyword","value":"none"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"BorderProperty","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"key","operator":"=","terminal":{"$type":"Keyword","value":"border"}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@104"},"arguments":[]}},{"$type":"Keyword","value":";","cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"StyleProperty","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@100"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@103"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@105"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@101"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@102"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ElementStyleProperty","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"key","operator":"=","terminal":{"$type":"Keyword","value":"style"}},{"$type":"Keyword","value":"{"},{"$type":"Assignment","feature":"props","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@106"},"arguments":[]},"cardinality":"*"},{"$type":"Keyword","value":"}"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"LineProperty","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"key","operator":"=","terminal":{"$type":"Keyword","value":"line"}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@111"},"arguments":[]}},{"$type":"Keyword","value":";","cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ArrowProperty","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"key","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"head"},{"$type":"Keyword","value":"tail"}]}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@112"},"arguments":[]}},{"$type":"Keyword","value":";","cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"RelationshipStyleProperty","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@100"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@108"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@109"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"LineOptions","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"solid"},{"$type":"Keyword","value":"dashed"},{"$type":"Keyword","value":"dotted"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ArrowType","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"none"},{"$type":"Keyword","value":"normal"},{"$type":"Keyword","value":"onormal"},{"$type":"Keyword","value":"dot"},{"$type":"Keyword","value":"odot"},{"$type":"Keyword","value":"diamond"},{"$type":"Keyword","value":"odiamond"},{"$type":"Keyword","value":"crow"},{"$type":"Keyword","value":"open"},{"$type":"Keyword","value":"vee"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ThemeColor","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"primary"},{"$type":"Keyword","value":"secondary"},{"$type":"Keyword","value":"muted"},{"$type":"Keyword","value":"slate"},{"$type":"Keyword","value":"blue"},{"$type":"Keyword","value":"indigo"},{"$type":"Keyword","value":"sky"},{"$type":"Keyword","value":"red"},{"$type":"Keyword","value":"gray"},{"$type":"Keyword","value":"green"},{"$type":"Keyword","value":"amber"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ElementShape","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"rectangle"},{"$type":"Keyword","value":"person"},{"$type":"Keyword","value":"browser"},{"$type":"Keyword","value":"mobile"},{"$type":"Keyword","value":"cylinder"},{"$type":"Keyword","value":"storage"},{"$type":"Keyword","value":"queue"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"CustomColorValue","dataType":"string","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@133"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@121"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@142"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@141"},"arguments":[]}]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"IconId","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@128"},"arguments":[]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Uri","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@129"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@130"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"TagId","dataType":"string","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@133"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@121"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"DotId","dataType":"string","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@135"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@121"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"CustomColorId","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@140"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@114"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@112"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@111"},"arguments":[]},{"$type":"Keyword","value":"element"},{"$type":"Keyword","value":"model"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Id","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@140"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@114"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@113"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@112"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@111"},"arguments":[]},{"$type":"Keyword","value":"element"},{"$type":"Keyword","value":"model"},{"$type":"Keyword","value":"group"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"EqOperator","fragment":true,"definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@137"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@136"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"is"}},{"$type":"Assignment","feature":"not","operator":"?=","terminal":{"$type":"Keyword","value":"not"},"cardinality":"?"}]}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"IsEqual","fragment":true,"definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"isEqual","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@137"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@136"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","hidden":true,"name":"BLOCK_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\/\\\\*[\\\\s\\\\S]*?\\\\*\\\\//"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\/\\\\/[^\\\\n\\\\r]*/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/[\\\\r\\\\n]+/"},"fragment":false},{"$type":"TerminalRule","name":"LIB_ICON","definition":{"$type":"RegexToken","regex":"/(aws|azure|gcp|tech):[-\\\\w]*/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"URI_WITH_SCHEMA","definition":{"$type":"RegexToken","regex":"/\\\\w+:\\\\/\\\\/\\\\S+/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"URI_RELATIVE","definition":{"$type":"RegexToken","regex":"/\\\\.{0,2}\\\\/[^\\\\/]\\\\S+/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"DotUnderscore","definition":{"$type":"RegexToken","regex":"/\\\\b\\\\._/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"DotWildcard","definition":{"$type":"RegexToken","regex":"/\\\\b\\\\.\\\\*/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"Hash","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"#"}},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"StickyDot","definition":{"$type":"RegexToken","regex":"/\\\\b\\\\./"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"Dot","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"."}},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NotEqual","definition":{"$type":"RegexToken","regex":"/\\\\!\\\\={1,2}/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"Eq","definition":{"$type":"RegexToken","regex":"/\\\\={1,2}/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"Percent","definition":{"$type":"RegexToken","regex":"/\\\\b\\\\d+%/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"String","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"IdTerminal","definition":{"$type":"RegexToken","regex":"/[_]*[a-zA-Z][-\\\\w]*/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"Number","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/\\\\b\\\\d+\\\\b/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"Hex","definition":{"$type":"RegexToken","regex":"/\\\\b[a-zA-Z0-9]+\\\\b/"},"fragment":false,"hidden":false}],"types":[{"$type":"Type","name":"LikeC4View","type":{"$type":"UnionType","types":[{"$type":"SimpleType","typeRef":{"$ref":"#/rules@34"}},{"$type":"SimpleType","typeRef":{"$ref":"#/rules@35"}}]}},{"$type":"Type","name":"StringProperty","type":{"$type":"UnionType","types":[{"$type":"SimpleType","typeRef":{"$ref":"#/rules@18"}},{"$type":"SimpleType","typeRef":{"$ref":"#/rules@42"}},{"$type":"SimpleType","typeRef":{"$ref":"#/rules@27"}},{"$type":"SimpleType","typeRef":{"$ref":"#/rules@31"}},{"$type":"SimpleType","typeRef":{"$ref":"#/rules@9"}},{"$type":"SimpleType","typeRef":{"$ref":"#/rules@13"}},{"$type":"SimpleType","typeRef":{"$ref":"#/rules@87"}},{"$type":"SimpleType","typeRef":{"$ref":"#/rules@88"}}]}},{"$type":"Type","name":"WhereTagEqual","type":{"$type":"UnionType","types":[{"$type":"SimpleType","typeRef":{"$ref":"#/rules@61/definition/elements@0/elements@0/inferredType"}},{"$type":"SimpleType","typeRef":{"$ref":"#/rules@73/definition/elements@0/elements@0/inferredType"}}]}},{"$type":"Type","name":"WhereKindEqual","type":{"$type":"UnionType","types":[{"$type":"SimpleType","typeRef":{"$ref":"#/rules@61/definition/elements@1/elements@0/inferredType"}},{"$type":"SimpleType","typeRef":{"$ref":"#/rules@73/definition/elements@1/elements@0/inferredType"}}]}},{"$type":"Type","name":"WhereExpression","type":{"$type":"UnionType","types":[{"$type":"SimpleType","typeRef":{"$ref":"#/rules@56"}},{"$type":"SimpleType","typeRef":{"$ref":"#/rules@68"}}]}}],"definesHiddenTokens":false,"hiddenTokens":[],"imports":[],"interfaces":[],"usedGrammars":[]}`)),tx={languageId:"likec4",fileExtensions:[".c4",".likec4",".like-c4"],caseInsensitive:!1},BK={skipValidations:!0,recoveryEnabled:!0,nodeLocationTracking:"full"},qK={AstReflection:()=>new QA},jK={Grammar:()=>zK(),LanguageMetaData:()=>tx,parser:{ParserConfig:()=>BK}},Ne=Xe.withTag("lsp");function Bt(t){Ne.error(t)}function ct(t){if(t instanceof Error){Ne.warn(t.stack??t.message);return}Ne.warn(t)}function UK(t){Ne.level=Ye[t]}function GK(t){const e={log:({level:n,...r},i)=>{if(n!==Ye.error&&n!==Ye.fatal)return;const s=r.tag||"",o=r.args.map(c=>cv(c)?c.stack??c.message:typeof c=="string"?c:""+c);s&&o.unshift(`[${s}]`);const a=o.join(" ");t.telemetry.logEvent({eventName:"error",error:a})}};Xe.addReporter(e),Ne.setReporters(Xe.options.reporters)}function WK(t){const e={log:({level:n,...r},i)=>{const s=r.tag||"",o=r.args.map(c=>cv(c)?c.stack??c.message:typeof c=="string"?c:""+c);s&&o.unshift(`[${s}]`);const a=o.join(" ");switch(!0){case n>=Ye.debug:{t.console.debug(a);break}case n>=Ye.log:{t.console.info(a);break}case n>=Ye.warn:{t.console.warn(a);break}case n>=Ye.fatal:{t.console.error(a);break}default:t.console.log(a)}}};Xe.setReporters([e]),Ne.setReporters(Xe.options.reporters)}function Cn(t){return t.el.ref}function Ap(t){const e=[t.el.$refText];let n=t.parent;for(;n;)e.push(n.el.$refText),n=n.parent;return e.length===1?e[0]:e.reverse().join(".")}const Yl=Symbol.for("idattr"),fb={writeId(t,e){return t[Yl]=e,t},readId(t){return t[Yl]}},nx={writeId(t,e){return at(e)?t[Yl]=void 0:t[Yl]=e,t},readId(t){return t[Yl]}};function HK(t){return Object.assign(t,{c4Specification:{tags:new Set,elements:{},relationships:{},colors:{}},c4Elements:[],c4Relations:[],c4Globals:{predicates:{},dynamicPredicates:{},styles:{}},c4Views:[]})}function xp(t){return t.textDocument.languageId===tx.languageId}function rx(t){return xp(t)&&t.state>=Ve.IndexedContent&&!!t.c4fqnIndex}function Xl(t){return xp(t)&&t.state==Ve.Validated&&!!t.c4Specification&&!!t.c4Elements&&!!t.c4Relations&&!!t.c4Views&&!!t.c4fqnIndex}function VK(t){return e=>t.some(n=>n(e))}const KK=VK([eb,zA,MA,ul,ll,OA,rp,ab,qw,Uw,Ww,Vw,gK,_A,lb,yK,Bw,Jw,NA,jw,hK,GA,Wr,lK,ha,Gr,Qw,ga,Da,Ra,kp,Sp,ub,mp,ib]),YK=t=>{let e=t;for(;e;){if(KK(e))return e;e=e.$container}};function XK(t){const e=t.diagnostics?.filter(r=>r.severity===Zc.Error)??[],n=new WeakSet(e.flatMap(r=>YK(r.node)??[]));return{isValid:r=>!n.has(r),invalidNodes:n}}function*JK(t,e){const n=t.parseResult.value.models.flatMap(s=>s.elements),r=[];let i;for(;i=n.shift();)if(e(i)){if(Wr(i)){r.push(i);continue}if(ga(i)){i.body&&i.body.elements.length>0&&n.push(...i.body.elements);continue}i.body&&i.body.elements.length>0&&n.push(...i.body.elements),yield i}for(const s of r)yield s}function ZK(t){const e=Cn(t.target);if(!e)throw new Error("RelationRefError: Invalid reference to target");if(At(t.source)){const n=Cn(t.source);if(!n)throw new Error("RelationRefError: Invalid reference to source");return{source:n,target:e}}if(!ha(t.$container))throw new Error("RelationRefError: Invalid container for sourceless relation");return{source:t.$container.$container,target:e}}function ix({value:t}){const e=parseFloat(t);return isNaN(e)?100:zk(e,{min:0,max:100})}function Ip(t,e){const n={};if(!t||t.length===0)return n;for(const r of t)if(e(r))switch(!0){case Vh(r):{ae(r.value)&&(n.border=r.value);break}case so(r):{const i=Jl(r);ae(i)&&(n.color=i);break}case Tp(r):{ae(r.value)&&(n.shape=r.value);break}case es(r):{const i=r.libicon?.ref?.name??r.value;ae(i)&&(n.icon=i);break}case yp(r):{n.opacity=ix(r);break}default:Ie(r.$type)}return n}function QK(t){const e={};if(!t||t.length===0)return e;for(const n of t){if(so(n)){const r=Jl(n);ae(r)&&(e.color=r);continue}if(yl(n)){e.line=n.value;continue}if(Wu(n)){switch(n.key){case"head":{e.head=n.value;break}case"tail":{e.tail=n.value;break}default:Ie(n)}continue}Ie(n)}return e}function sx(t){const{color:e,line:n,head:r,tail:i}=QK(t?.filter(pK));return{...e&&e!==Ts?{color:e}:{},...n&&n!==wE?{line:n}:{},...r&&r!==Ro?{head:r}:{},...i?{tail:i}:{}}}function Jl(t){return t?.themeColor??t?.customColor?.$refText}function ox(t){const e=t.rankSep,n=t.nodeSep;let r;switch(t.direction){case"TopBottom":{r="TB";break}case"BottomTop":{r="BT";break}case"LeftRight":{r="LR";break}case"RightLeft":{r="RL";break}default:Ie(t.direction)}return{direction:r,...n&&{nodeSep:n},...e&&{rankSep:e}}}function eY(t){switch(t){case"TB":return"TopBottom";case"BT":return"BottomTop";case"LR":return"LeftRight";case"RL":return"RightLeft";default:Ie(t)}}function ax(t){if(qw(t))return t;if(Yw(t))return t.subject;if(rp(t))return ax(t.subject);Ie(t)}class tY{constructor(e){this.services=e}async provideCodeLens(e,n,r){return e.state!==Ve.Validated&&(Ne.debug(`Waiting for document ${e.uri.path} to be validated`),await this.services.shared.workspace.DocumentBuilder.waitUntil(Ve.Validated,e.uri,r),Ne.debug(`Document ${e.uri.path} is validated`)),Xl(e)?e.parseResult.value.views.flatMap(i=>i.views).flatMap(i=>{const s=fb.readId(i),o=i.$cstNode?.range;return!o||!s?[]:{range:{start:o.start,end:{line:o.start.line,character:o.start.character+4}},command:{command:"likec4.open-preview",arguments:[s],title:"open preview"}}}):void 0}}class nY extends pC{completionOptions={triggerCharacters:["."]};completionForKeyword(e,n,r){if(this.filterKeyword(e,n)){if(["title","description","technology"].includes(n.value))return r(e,{label:n.value,kind:Lt.Property,insertTextFormat:pr.Snippet,insertText:`${n.value} '\${0}'`});if(["views","specification","model","with"].includes(n.value))return r(e,{label:n.value,detail:`Insert ${n.value} block`,kind:Lt.Module,insertTextFormat:pr.Snippet,insertText:`${n.value} {
1726
- $0
1727
- }`});if(n.value==="group")return r(e,{label:n.value,detail:"Insert group block",kind:Lt.Class,insertTextFormat:pr.Snippet,insertText:["group '${1:Title}' {"," $0","}"].join(`
1728
- `)});if(n.value==="dynamic")return r(e,{label:n.value,detail:"Insert dynamic view",kind:Lt.Class,insertTextFormat:pr.Snippet,insertText:["dynamic view ${1:view_${TM_FILENAME_BASE}_${CURRENT_SECOND}} {"," title '${2:Untitled}'"," "," $0","}"].join(`
1729
- `)});if(n.value==="style"&&e.node)return $c(e.node,ul)?r(e,{label:n.value,detail:`Insert ${n.value} block`,kind:Lt.Module,insertTextFormat:pr.Snippet,insertText:`${n.value} \${1:name} \${2:*} {
1730
- \${3|color,shape,border,opacity,icon|} $0
1731
- }`}):$c(e.node,lv([mp,ll]))?r(e,{label:n.value,detail:`Insert ${n.value} block`,kind:Lt.Module,insertTextFormat:pr.Snippet,insertText:`${n.value} \${1:*} {
1732
- \${2|color,shape,border,opacity,icon|} $0
1733
- }`}):r(e,{label:n.value,detail:`Insert ${n.value} block`,kind:Lt.Module,insertTextFormat:pr.Snippet,insertText:`${n.value} {
1734
- \${1|color,shape,border,opacity,icon|} $0
1735
- }`});if(n.value==="extend")return r(e,{label:n.value,detail:"Extend another view",kind:Lt.Class,insertTextFormat:pr.Snippet,insertText:`extend \${1:element} {
1736
- $0
1737
- }`});if(n.value==="autoLayout")return r(e,{label:n.value,kind:Lt.Class,insertTextFormat:pr.Snippet,insertText:"autoLayout ${1|TopBottom,BottomTop,LeftRight,RightLeft|}$0"});r(e,{label:n.value,kind:this.getKeywordCompletionItemKind(n),detail:"Keyword",sortText:"1"})}}}class rY extends mC{createDocumentHighlight(e){return me.DocumentHighlight.create(e.segment.range,me.DocumentHighlightKind.Read)}}class iY{constructor(e){this.services=e}getDocumentLinks(e,n){return Xl(e)?Ir(e.parseResult.value).filter(pp).map(r=>{try{const i=An(r.$cstNode,"value")?.range,s=this.resolveLink(e,r.value);if(i&&zw(s))return{range:i,target:s}}catch(i){ct(i)}return null}).nonNullable().toArray():[]}resolveLink(e,n){if(zw(n)||_h(n))return n;const r=SA(n)?new URL(e.uri.toString(!0)):this.services.shared.workspace.WorkspaceManager.workspaceURL;return new URL(n,r).toString()}relativeLink(e,n){if(_h(n))return kA(n);if(SA(n)){const r=new URL(e.uri.toString(!0)),i=new URL(n,r).toString();return kA(oK(i,this.services.shared.workspace.WorkspaceManager.workspaceURL.toString()))}return null}}class sY{constructor(e){this.services=e,this.nodeKindProvider=e.shared.lsp.NodeKindProvider}nodeKindProvider;getSymbols({parseResult:{value:{specifications:e,models:n,views:r,likec4lib:i}}}){return[...i.map(s=>()=>this.getLikec4LibSymbol(s)),...e.map(s=>()=>this.getSpecSymbol(s)),...n.map(s=>()=>this.getModelSymbol(s)),...r.map(s=>()=>this.getModelViewsSymbol(s))].flatMap(s=>{try{return s()??[]}catch(o){return Bt(o),[]}})}getLikec4LibSymbol(e){const n=e?.$cstNode;if(!n)return[];const r=e.icons.map(i=>this.getLibIconSymbol(i)).filter(ae);return r.length===0?[]:[{kind:mr.Namespace,name:"icons",range:n.range,selectionRange:Ac(n,"icons")?.range??n.range,children:r}]}getSpecSymbol(e){const n=e?.$cstNode;if(!n)return[];const r=An(n,"name");if(!r)return[];const i=Ke([...e.elements,...e.tags,...e.relationships],Dt(s=>{try{if(Da(s)||Ra(s))return this.getKindSymbol(s);if(kp(s))return this.getTagSymbol(s)}catch(o){return Bt(o),null}Ie(s)}),nt(ae));return i.length===0?[]:[{kind:mr.Namespace,name:e.name,range:n.range,selectionRange:r.range,children:i}]}getModelSymbol(e){const n=e.$cstNode;if(!n)return[];const r=An(n,"name");return r?[{kind:this.symbolKind(e),name:e.name,range:n.range,selectionRange:r.range,children:e.elements.flatMap(i=>this.getElementsSymbol(i))}]:[]}getElementsSymbol(e){try{if(ga(e))return this.getExtendElementSymbol(e);if(Gr(e))return this.getElementSymbol(e)}catch(n){Bt(n)}return[]}getExtendElementSymbol(e){const n=e.$cstNode,r=e.element.$cstNode,i=e.body;return!n||!r?[]:[{kind:this.symbolKind(e),name:Ap(e.element),range:n.range,selectionRange:r.range,children:i.elements.flatMap(s=>this.getElementsSymbol(s))}]}getElementSymbol(e){const n=e.$cstNode,r=An(n,"name");if(!r||!n)return[];const i=e.name,s=e.kind.$refText;return[{kind:this.symbolKind(e),name:i,range:n.range,selectionRange:r.range,detail:s,children:e.body?.elements.flatMap(o=>this.getElementsSymbol(o))??[]}]}getModelViewsSymbol(e){const n=e.$cstNode,r=An(n,"name");return!r||!n?[]:[{kind:this.symbolKind(e),name:e.name,range:n.range,selectionRange:r.range,children:e.views.flatMap(i=>this.getViewSymbol(i))}]}getKindSymbol(e){return!e.$cstNode||!e.kind.$cstNode||Yi(e.kind.name)?null:{kind:this.symbolKind(e),name:e.kind.name,range:e.$cstNode.range,selectionRange:e.kind.$cstNode.range}}getTagSymbol(e){return!e.$cstNode||!e.tag.$cstNode||Yi(e.tag.name)?null:{kind:this.symbolKind(e),name:"#"+e.tag.name,range:e.$cstNode.range,selectionRange:e.tag.$cstNode.range}}getLibIconSymbol(e){return!e.$cstNode||Yi(e.name)?null:{kind:this.symbolKind(e),name:e.name,range:e.$cstNode.range,selectionRange:e.$cstNode.range}}getViewSymbol(e){const n=e?.$cstNode;if(!n)return[];const r=e.name?An(n,"name"):null;return r?[{kind:this.symbolKind(e),name:r.text,range:n.range,selectionRange:r.range,children:[]}]:[]}symbolKind(e){return this.nodeKindProvider.getSymbolKind(e)}}class oY extends wC{locator;constructor(e){super(e),this.locator=e.likec4.ModelLocator}getAstNodeHoverContent(e){if(KA(e))return{contents:{kind:"markdown",value:Ov(`
1738
- tag: \`${e.name}\`
1739
- `)}};if(Gr(e)){const n=this.locator.getParsedElement(e);return n?{contents:{kind:"markdown",value:[n.id,`### ${n.title}`,"`"+n.kind+"` "].join(`
1740
- `)}}:void 0}}}class aY extends uG{highlightElement(e,n){if(IK(e))return n({node:e,property:"name",type:qe.function});if(_K(e))return n({node:e,property:"name",type:qe.type,modifier:[lt.definition]}),"prune";if(ob(e)&&"kind"in e){n({node:e,property:"kind",type:qe.function});return}if(Wr(e)&&"kind"in e&&n({node:e,property:"kind",type:qe.function}),sb(e)||Ep(e))return n({node:e,property:"key",type:qe.property}),n({node:e,property:"value",type:qe.variable,modifier:[lt.definition,lt.readonly]}),"prune";if((Kw(e)||$a(e))&&e.$cstNode)return n({cst:e.$cstNode,type:qe.variable,modifier:[lt.definition,lt.readonly]}),"prune";if(JA(e)&&ae(e.value)){n({node:e,property:"value",type:qe.function});return}if((xA(e)||PA(e))&&ae(e.value)){n({node:e,property:"value",type:qe.type,modifier:[lt.definition,lt.readonly]});return}if(np(e)&&ae(e.kind))return n({node:e,property:"kind",type:qe.type,modifier:[lt.definition]}),"prune";if(ip(e)&&ae(e.tag))return n({node:e,property:"tag",type:qe.type,modifier:[lt.definition]}),"prune";if(nl(e)||FA(e))return n({node:e,property:"el",type:e.parent?qe.property:qe.variable,modifier:[lt.definition,lt.readonly]}),e.parent?void 0:"prune";if(Sp(e)){n({node:e,keyword:"color",type:qe.keyword}),n({node:e,property:"name",type:qe.type,modifier:[lt.declaration,lt.readonly]});return}if((Da(e)||Ra(e))&&n({node:e,property:"kind",type:qe.type,modifier:[lt.declaration,lt.readonly]}),lb(e))return n({node:e,property:"values",type:qe.interface});if(KA(e))return n({node:e,property:"name",type:qe.type,modifier:[lt.definition]});if((cb(e)||sl(e)&&ha(e.$container))&&n({node:e,property:"key",type:qe.property}),yp(e))return n({node:e,property:"key",type:qe.property}),n({node:e,property:"value",type:qe.number}),"prune";if(pp(e)||es(e)||mK(e))return n({node:e,property:"key",type:qe.property}),es(e)?(e.libicon?n({node:e,property:"libicon",type:qe.enum,modifier:[lt.defaultLibrary]}):e.value==="none"?n({node:e,property:"value",type:qe.enum,modifier:[lt.defaultLibrary]}):n({node:e,property:"value",type:qe.string}),"prune"):("value"in e&&e.value&&n({node:e,property:"value",type:qe.string}),"prune");if(so(e)||Tp(e)||Wu(e)||yl(e)||Vh(e))return n({node:e,property:"key",type:qe.property}),"value"in e&&n({node:e,property:"value",type:qe.enum}),"prune";if(Gr(e))return this.highlightAstElement(e,n);if(jw(e))return this.highlightView(e,n)}highlightAstElement(e,n){n({node:e,property:"name",type:qe.variable,modifier:[lt.declaration,lt.readonly]}),n({node:e,property:"kind",type:qe.keyword,modifier:[]})}highlightView(e,n){e.name&&n({node:e,property:"name",type:qe.variable,modifier:[lt.declaration,lt.readonly,"local"]})}}const{findNodeForProperty:cY}=af,{toDocumentSegment:cx}=hM;function uY(t,e,n){const r=cY(e.$cstNode,"name");return{documentUri:n.uri,name:e.name,...e.$cstNode&&{selectionSegment:cx(e.$cstNode)},...r&&{nameSegment:cx(r)},path:t.getAstNodePath(e),type:Ur}}function lY(t,e){const n=t.c4fqnIndex=new Mr,r=t.parseResult.value.models.flatMap(a=>a.elements);if(r.length===0)return;const i=e.workspace.AstNodeLocator,s=r.map(a=>[a,null]);let o;for(;o=s.shift();)try{const[a,c]=o;if(Wr(a))continue;if(ga(a)){if(At(a.body)&&!Yi(a.body.elements)){const u=Ap(a.element);for(const l of a.body.elements)Wr(l)||s.push([l,u])}continue}if(Gr(a)){const u=aO(a.name,c);if(n.add(u,{...uY(i,a,t),fqn:u}),nx.writeId(a,u),At(a.body)&&!Yi(a.body.elements))for(const l of a.body.elements)Wr(l)||s.push([l,u]);continue}Ie(a)}catch(a){Bt(a)}}class dY{constructor(e){this.services=e,this.langiumDocuments=e.shared.workspace.LangiumDocuments,e.shared.workspace.DocumentBuilder.onBuildPhase(Ve.IndexedContent,async(n,r)=>{for(const i of n)if(xp(i)){delete i.c4fqnIndex,delete i.c4Elements,delete i.c4Specification,delete i.c4Relations,delete i.c4Views;try{lY(i,e)}catch(s){ct(s)}}return await Promise.resolve()}),Ne.debug("[FqnIndex] Created")}langiumDocuments;get documents(){return this.langiumDocuments.all.filter(rx)}entries(e){return this.documents.flatMap(n=>n.c4fqnIndex.keys().filter(e).flatMap(r=>n.c4fqnIndex.get(r)))}getFqn(e){return nx.readId(e)??null}byFqn(e){return this.documents.flatMap(n=>n.c4fqnIndex.get(e))}directChildrenOf(e){return Qe([e]).flatMap(n=>{const r=this.entries(i=>kt(i)===n).map(i=>[i.name,i]).toArray();return r.length===0?[]:new Mr(r).entriesGroupedByKey().flatMap(([i,s])=>s.length===1?s:[]).iterator()})}uniqueDescedants(e){return new It(()=>{const n=`${e}.`,r=new Set,i=[],s=new Mr;if(this.entries(o=>o.startsWith(n)).forEach(o=>{const a=So(o.fqn),c={...o,name:a};kt(o.fqn)===e?(r.add(a),s.add(a,c)):i.push(c)}),s.size+i.length===0)return null;for(const o of i)r.has(o.name)||s.add(o.name,o);return s.entriesGroupedByKey().flatMap(([o,a])=>a.length===1?a:[]).iterator()},n=>n?n.next():Xt)}}function fY(t){const e=new Map;for(const n of t)if(wO(n)&&n.viewOf&&at(n.extends)){const r=e.get(n.viewOf)??[];r.push(n.id),e.set(n.viewOf,r)}for(const{id:n,nodes:r}of t)for(const i of r){if(i.navigateTo)continue;const s=Lk(e.get(i.id)??[],o=>o!==n);s&&(i.navigateTo=s)}return t}function hY(t){const e=new mA({directed:!0,multigraph:!1,compound:!1});for(const n of ch(t))e.setNode(n.id,n.id),SE(n)&&e.setEdge(n.id,n.extends);if(e.edgeCount()===0)return t;for(;!_V(e);){const n=sa(CV(e));if(!n)break;const r=ia(n);if(!r)break;e.removeNode(r)}return gA(e,e.sources()).reduce((n,r)=>{const i=t[r];if(!i)return n;if(SE(i)){const s=n[i.extends];return s?Object.assign(n,{[i.id]:{...s,...i,rules:[...s.rules,...i.rules]}}):(Xe.debug(`View "${i.id}" extends from "${i.extends}" which does not exist`),n)}return Object.assign(n,{[i.id]:i})},{})}function pY(t,e="/"){const n=Ke(t,Dt(c=>c.docUri),nt(ae),zr());if(n.length===0)return"";if(n.length===1){const c=Ah(n[0]).pathname.split(e);return c.length<=1?e:(c.pop(),c.join(e)+e)}we(Hi(n,2),"Expected at least 2 unique URIs");const[r,...i]=n,s=Ah(r).pathname.split(e);let o=s.length;for(const c of i){if(c===r)continue;const u=Ah(c).pathname.split(e);for(let l=0;l<o;l++)u[l]!==s[l]&&(o=l);if(o===0)return""}const a=s.slice(0,o).join(e);return a.endsWith(e)?a:a+e}function mY(t){const e="/",n=pY(t,e);return t.map(r=>{if(!r.docUri)return{view:r,parts:[]};let i=Ah(r.docUri).pathname;return n.length>0?(we(i.startsWith(n),`Expect path "${i}" to start with common prefix: "${n}"`),i=i.slice(n.length)):i=i.includes(e)?i.slice(i.lastIndexOf(e)+1):i,{view:r,parts:i.split(e)}}).sort((r,i)=>{if(r.parts.length!==i.parts.length)return r.parts.length-i.parts.length;for(let s=0;s<r.parts.length;s++){const o=za(r.parts[s],i.parts[s]);if(o!==0)return o}return za(r.view.title??r.view.id,i.view.title??i.view.id)}).map(({parts:r,view:i})=>({...i,relativePath:r.join(e)}))}function gY(t,e){const n={tags:new Set,elements:{},relationships:{},colors:{}},r={predicates:{},dynamicPredicates:{},styles:{}};for(const h of e){const{c4Specification:p,c4Globals:m}=h;p.tags.forEach(g=>n.tags.add(g)),Object.assign(n.elements,p.elements),Object.assign(n.relationships,p.relationships),Object.assign(n.colors,p.colors),Object.assign(r.predicates,m.predicates),Object.assign(r.dynamicPredicates,m.dynamicPredicates),Object.assign(r.styles,m.styles)}function i(h,p){return Dt(p,m=>{try{const g=t.lsp.DocumentLinkProvider.relativeLink(h,m.url);if(g&&g!==m.url)return{...m,relative:g}}catch(g){ct(g)}return m})}const s=Vi(n.colors,h=>oM(h.color));function o(h){return({tags:p,links:m,style:{color:g,shape:y,icon:w,opacity:E,border:k},id:A,kind:I,title:x,description:_,technology:P,metadata:O})=>{try{const C=n.elements[I];if(!C)return Ne.warn(`No kind '${I}' found for ${A}`),null;const D=m?i(h,m):null;return g??=C.style.color,y??=C.style.shape,w??=C.style.icon,E??=C.style.opacity,k??=C.style.border,P??=C.technology,{...g&&{color:g},...y&&{shape:y},...w&&{icon:w},...O&&!Yi(O)&&{metadata:O},...C.notation&&{notation:C.notation},style:{...k&&{border:k},...lh(E)&&{opacity:E}},links:D,tags:p??null,technology:P??null,description:_??null,title:x,kind:I,id:A}}catch(C){ct(C)}return null}}const a=Ke(e,wi(h=>Dt(h.c4Elements,o(h))),nt(ae),VO,Ik((h,p)=>{const m=kt(p.id);return m&&at(h[m])?(ct(`No parent found for ${p.id}`),h):(h[p.id]=p,h)},{}));function c(h){return({astPath:p,source:m,target:g,kind:y,links:w,id:E,...k})=>{if(at(a[m])||at(a[g]))return Ne.warn(`Invalid relation ${E}, source: ${m}(${!!a[m]}), target: ${g}(${!!a[g]})`),null;const A=w?i(h,w):null;return Br(y)&&y in n.relationships?{...n.relationships[y],...k,...A&&{links:A},source:m,target:g,kind:y,id:E}:{...A&&{links:A},...k,source:m,target:g,id:E}}}const u=Ke(e,wi(h=>Dt(h.c4Relations,c(h))),nt(ae),ra(Ha),uh(),uv(yi("id")));function l(h){const p=h.uri.toString();return m=>{let{id:g,title:y,description:w,tags:E,links:k,astPath:A,...I}=m;m.__==="element"&&at(y)&&"viewOf"in m&&(y=a[m.viewOf]?.title??null),at(y)&&g==="index"&&(y="Landscape view");const x=k?i(h,k):null;return{...I,customColorDefinitions:s,tags:E,links:x,docUri:p,description:w,title:y,id:g}}}const d=Ke(e,wi(h=>Dt(h.c4Views,l(h))),mY);d.some(h=>h.id==="index")||d.unshift({__:"element",id:"index",title:"Landscape view",description:null,tags:null,links:null,customColorDefinitions:s,rules:[{include:[{wildcard:!0}]}]});const f=Ke(d,uv(yi("id")),hY);return{specification:{tags:Array.from(n.tags),elements:n.elements,relationships:n.relationships},elements:a,relations:u,globals:r,views:f}}const hb="ParsedLikeC4Model",pb="ComputedLikeC4Model";class yY{constructor(e){this.services=e,this.langiumDocuments=e.shared.workspace.LangiumDocuments;const n=e.likec4.ModelParser;e.shared.workspace.DocumentBuilder.onUpdate((r,i)=>{i.length>0&&this.notifyListeners(i)}),e.shared.workspace.DocumentBuilder.onBuildPhase(Ve.Validated,async(r,i)=>{let s=[];try{Ne.debug(`[ModelBuilder] onValidated (${r.length} docs)`);for(const o of n.parse(r))s.push(o.uri)}catch(o){ct(o)}return s.length>0&&this.notifyListeners(s),await Promise.resolve()}),Ne.debug("[ModelBuilder] Created")}langiumDocuments;listeners=[];unsafeSyncBuildModel(){return this.services.WorkspaceCache.get(hb,()=>{const e=this.documents();return e.length===0?(Ne.debug("[ModelBuilder] No documents to build model from"),null):(Ne.debug(`[ModelBuilder] buildModel (${e.length} docs)`),gY(this.services,e))})}async buildModel(e){const n=this.services.WorkspaceCache;return n.has(hb)?n.get(hb):await this.services.shared.workspace.WorkspaceLock.read(async()=>(e&&await zt(e),this.unsafeSyncBuildModel()))}previousViews={};unsafeSyncBuildComputedModel(e){const n=this.services.WorkspaceCache,r=this.services.WorkspaceCache;return n.get(pb,()=>{const i=new RA(e),s=[];for(const a of ch(e.views)){const c=Dd(a)?DA(a,i):TA(a,i);if(!c.isSuccess){ct(c.error);continue}s.push(c.view)}fY(s);const o=vi(s,a=>{const c=this.previousViews[a.id],u=c&&c_(a,c)?c:a;return r.set(ux(a.id),u),[a.id,u]});return this.previousViews={...o},{specification:e.specification,elements:e.elements,relations:e.relations,globals:e.globals,views:o}})}async buildComputedModel(e){const n=this.services.WorkspaceCache;return n.has(pb)?n.get(pb):await this.services.shared.workspace.WorkspaceLock.read(async()=>{e&&await zt(e);const r=this.unsafeSyncBuildModel();return r?this.unsafeSyncBuildComputedModel(r):null})}async computeView(e,n){const r=this.services.WorkspaceCache,i=ux(e);return r.has(i)?r.get(i):await this.services.shared.workspace.WorkspaceLock.read(async()=>(n&&await zt(n),r.get(i,()=>{const s=this.unsafeSyncBuildModel(),o=s?.views[e];if(!o)return Ne.warn(`[ModelBuilder] Cannot find view ${e}`),null;const a=new RA(s),c=Dd(o)?DA(o,a):TA(o,a);if(!c.isSuccess)return Bt(c.error),null;let u=c.view;const l=Ke(s.views,ch(),nt(_m),nt(f=>f.id!==e),dh(f=>f.viewOf));for(const f of u.nodes)if(!f.navigateTo){const h=l[f.id];h&&(f.navigateTo=h[0].id)}const d=this.previousViews[e];return u=d&&c_(u,d)?d:u,this.previousViews[e]=u,u})))}onModelParsed(e){return this.listeners.push(e),Us.create(()=>{const n=this.listeners.indexOf(e);n>=0&&this.listeners.splice(n,1)})}documents(){return this.langiumDocuments.all.filter(Xl).toArray()}notifyListeners(e){for(const n of this.listeners)try{n(e)}catch(r){Bt(r)}}}function ux(t){return`computed-view-${t}`}const{findNodeForKeyword:vY,findNodeForProperty:Pp}=af,{getDocument:wY}=Zd;class bY{constructor(e){this.services=e,this.fqnIndex=e.likec4.FqnIndex,this.langiumDocuments=e.shared.workspace.LangiumDocuments}fqnIndex;langiumDocuments;documents(){return this.langiumDocuments.all.filter(Xl)}getParsedElement(e){const n=this.fqnIndex.getFqn(e);if(!n)return null;const r=wY(e);return Xl(r)?r.c4Elements.find(i=>i.id===n)??null:null}locateElement(e,n){const r=this.fqnIndex.byFqn(e).head(),i=r?.nameSegment??r?.selectionSegment;return!r||!i?null:{uri:r.documentUri.toString(),range:i.range}}locateRelation(e){for(const n of this.documents()){const r=n.c4Relations.find(o=>o.id===e);if(!r)continue;const i=this.services.workspace.AstNodeLocator.getAstNode(n.parseResult.value,r.astPath);if(!Wr(i))continue;let s=i.title?Pp(i.$cstNode,"title"):void 0;if(s??=i.kind?Pp(i.$cstNode,"kind"):void 0,s??=Pp(i.$cstNode,"target"),s??=i.$cstNode,!!s)return{uri:n.uri.toString(),range:s.range}}return null}locateViewAst(e){for(const n of this.documents()){const r=n.c4Views.find(s=>s.id===e);if(!r)continue;const i=this.services.workspace.AstNodeLocator.getAstNode(n.parseResult.value,r.astPath);if(jw(i))return{doc:n,view:r,viewAst:i}}return null}locateView(e){const n=this.locateViewAst(e);if(!n)return null;const r=n.viewAst;let i=r.name?Pp(r.$cstNode,"name"):void 0;return i??=vY(r.$cstNode,"view"),i??=r.$cstNode,i?{uri:n.doc.uri.toString(),range:i.range}:null}}function mb(...t){var e=t.length>1?t.join(":::"):t[0];return pH(e).toString(36)}function EY({nodes:t,edges:e,...n}){return{...n,nodes:Vi(t,({x:r,y:i,width:s,height:o,isCompound:a,...c})=>({...c,b:[r,i,s,o],c:a})),edges:Vi(e,({points:r,controlPoints:i,labelBBox:s,dotpos:o,...a})=>({...!!i&&{cp:i},...!!s&&{l:s},...!!o&&{dp:o},...a,p:r}))}}function DY({nodes:t,edges:e,autoLayout:n,...r}){return{...r,autoLayout:gO(n)?{direction:n}:n,nodes:Vi(t,({b:i,c:s,...o})=>({x:i[0],y:i[1],width:i[2],height:i[3],isCompound:s,...o})),edges:Vi(e,({p:i,cp:s,l:o,dp:a,...c})=>({...!!s&&{controlPoints:s},...!!o&&{labelBBox:o},...!!a&&{dotpos:a},...c,points:i}))}}const lx=500;function TY(t){const e=MW(EY(t)),n=tH(e),r=[];let i=0;for(;i<n.length;)r.push(" * "+n.slice(i,Math.min(i+lx,n.length))),i+=lx;return r.unshift("/**"," * @likec4-generated(v1)"),r.push(" */"),r.join(`
1741
- `)}function dx(t){return t.includes("@likec4-generated")}function RY(t){if(!dx(t))throw new Error(`Not a likec4-generated comment: ${t}`);const e=t.trim().split(`
1742
- `).filter(r=>!r.includes("**")&&!r.includes("@likec4-")&&!r.includes("*/")).map(r=>r.replaceAll("*","").trim()).join(""),n=QW(e);return DY(YW(n))}const fx=({operator:t,not:e},n)=>t.startsWith("!=")?{neq:n}:t.startsWith("=")?{eq:n}:e?{neq:n}:{eq:n};function Zl(t){switch(!0){case EK(t):{const e=t.value?.ref?.name;return we(e,"Expected tag name"),{tag:fx(t,e)}}case wK(t):{const e=t.value?.ref?.name;return we(e,"Expected kind name"),{kind:fx(t,e)}}case(XA(t)||ZA(t)):return{not:Zl(t.value)};case OK(t):{const e=Zl(t.left),n=Zl(t.right),r=t.operator.toLowerCase();switch(r){case"and":{const i=[km(e)?e.and:e,km(n)?n.and:n].flat();return we(Ss(i),"Expected non-empty array"),{and:i}}case"or":{const i=[$m(e)?e.or:e,$m(n)?n.or:n].flat();return we(Ss(i),"Expected non-empty array"),{or:i}}default:Ie(r)}}default:Ie(t)}}const{getDocument:gb}=Zd;function rs(t){return Br(t)?Zt(t).split(`
1743
- `).join(" "):void 0}function Zt(t){return Br(t)?Ov(t).trim():void 0}class SY{constructor(e){this.services=e,this.fqnIndex=e.likec4.FqnIndex,Ne.debug("[ModelParser] Created")}fqnIndex;parse(e){const n=Array.isArray(e)?e:[e],r=[];for(const i of n){if(!rx(i)){Ne.warn(`Not a FqnIndexedDocument: ${i.uri.toString(!0)}`);continue}try{r.push(this.parseLikeC4Document(i))}catch(s){Bt(new Error(`Error parsing document ${i.uri.toString()}`,{cause:s}))}}return r}parseLikeC4Document(e){const n=HK(e),{isValid:r}=XK(n);return this.parseSpecification(n,r),this.parseModel(n,r),this.parseGlobal(n,r),this.parseViews(n,r),n}parseSpecification(e,n){const{parseResult:r,c4Specification:i}=e,s=r.value.specifications.filter(n),o=s.flatMap(l=>l.elements.filter(n));for(const{kind:l,props:d}of o)try{const f=l.name;if(!ae(f))continue;if(f in i.elements){Ne.warn(`Element kind "${f}" is already defined`);continue}const h=d.find(sl),p=vi(d.filter(HA).filter(m=>Br(m.value))??[],m=>[m.key,Zt(m.value)]);i.elements[f]={...p,style:{...Ip(h?.props,n)}}}catch(f){ct(f)}const a=s.flatMap(l=>l.relationships.filter(n));for(const{kind:l,props:d}of a)try{const f=l.name;if(!ae(f))continue;if(f in i.relationships){Ne.warn(`Relationship kind "${f}" is already defined`);continue}const h=vi(d.filter(VA).filter(p=>Br(p.value))??[],p=>[p.key,Zt(p.value)]);i.relationships[f]={...h,...sx(d)}}catch(f){ct(f)}const c=s.flatMap(l=>l.tags.filter(n));for(const l of c){const d=l.tag.name;ae(d)&&i.tags.add(d)}const u=s.flatMap(l=>l.colors.filter(n));for(const{name:l,color:d}of u)try{const f=l.name;if(f in i.colors){Ne.warn(`Custom color "${f}" is already defined`);continue}i.colors[f]={color:d}}catch(f){ct(f)}}parseModel(e,n){for(const r of JK(e,n)){if(Gr(r)){try{e.c4Elements.push(this.parseElement(r,n))}catch(i){ct(i)}continue}if(Wr(r)){try{e.c4Relations.push(this.parseRelation(r))}catch(i){ct(i)}continue}Ie(r)}}parseElement(e,n){const r=this.resolveFqn(e),i=e.kind.$refText,s=this.convertTags(e.body),o=e.body?.props.find(sl)?.props,a=Ip(o,n),c=this.getMetadata(e.body?.props.find($A)),u=this.getAstNodePath(e);let[l,d,f]=e.props??[];const h=vi(e.body?.props.filter(Xw)??[],g=>[g.key,g.value||void 0]);l=rs(l??h.title),d=Zt(h.description??d),f=rs(h.technology??f);const p=this.convertLinks(e.body),m=e.body?.props.find(es);if(m){const g=m.libicon?.ref?.name??m.value;ae(g)&&(a.icon=g)}return{id:r,kind:i,astPath:u,title:l??e.name,...c&&{metadata:c},...s&&{tags:s},...p&&Ss(p)&&{links:p},...ae(f)&&{technology:f},...ae(d)&&{description:d},style:a}}parseRelation(e){const n=ZK(e),r=this.resolveFqn(n.target),i=this.resolveFqn(n.source),s=this.convertTags(e)??this.convertTags(e.body),o=this.convertLinks(e.body),a=e.kind?.ref?.name,c=this.getMetadata(e.body?.props.find($A)),u=this.getAstNodePath(e),l=vi(e.body?.props.filter(Dp).filter(g=>Br(g.value))??[],g=>[g.key,g.value]),d=Ke(e.body?.props??[],nt(Ep),Dt(g=>g.value.view.ref?.name),nt(ae),sa()),f=Zt(e.title??l.title)??"",h=Zt(l.description),p=Zt(e.technology)??rs(l.technology),m=e.body?.props.find(cb);return{id:mb(u,i,r),astPath:u,source:i,target:r,title:f,...c&&{metadata:c},...ae(p)&&{technology:p},...ae(h)&&{description:h},...a&&{kind:a},...s&&{tags:s},...Ss(o)&&{links:o},...sx(m?.props),...d&&{navigateTo:d}}}parseGlobal(e,n){const{parseResult:r,c4Globals:i}=e,s=r.value.globals.filter(n),o=s.flatMap(c=>c.predicates.filter(n));for(const c of o)try{const u=c.name;if(!ae(u))continue;if(u in i.predicates){Ne.warn(`Global predicate named "${u}" is already defined`);continue}this.parseAndStoreGlobalPredicateGroupOrDynamic(c,u,i,n)}catch(u){ct(u)}const a=s.flatMap(c=>c.styles.filter(n));for(const c of a)try{const u=c.id.name;if(!ae(u))continue;if(u in i.styles){Ne.warn(`Global style named "${u}" is already defined`);continue}const l=this.parseGlobalStyleOrGroup(c,n);l.length>0&&(i.styles[u]=l)}catch(u){ct(u)}}parseAndStoreGlobalPredicateGroupOrDynamic(e,n,r,i){if(zA(e)){const s=this.parseGlobalPredicateGroup(e,i);s.length>0&&(r.predicates[n]=s);return}if(MA(e)){const s=this.parseGlobalDynamicPredicateGroup(e,i);s.length>0&&(r.dynamicPredicates[n]=s);return}Ie(e)}parseGlobalPredicateGroup(e,n){return e.predicates.map(r=>this.parseViewRulePredicate(r,n))}parseGlobalDynamicPredicateGroup(e,n){return e.predicates.map(r=>this.parseDynamicViewIncludePredicate(r,n))}parseGlobalStyleOrGroup(e,n){if(ul(e))return[this.parseViewRuleStyle(e,n)];if(ll(e))return e.styles.map(r=>this.parseViewRuleStyle(r,n));Ie(e)}parseViews(e,n){const r=e.parseResult.value.views.filter(i=>n(i));for(const i of r){const s=i.styles.flatMap(o=>{try{return this.parseViewRuleStyleOrGlobalRef(o,n)}catch(a){return ct(a),[]}});for(const o of i.views)try{if(!n(o))continue;e.c4Views.push(sp(o)?this.parseElementView(o,s,n):this.parseDynamicElementView(o,s,n))}catch(a){ct(a)}}}parseViewRulePredicate(e,n){const r=[];let i=e.predicates;for(;i;){try{ae(i.value)&&n(i.value)&&r.unshift(this.parsePredicate(i.value,n))}catch(s){ct(s)}i=i.prev}return tb(e)?{include:r}:{exclude:r}}parsePredicate(e,n){if(cK(e))return this.parseElementPredicate(e,n);if(dK(e))return this.parseRelationPredicate(e,n);Ie(e)}parseElementExpressionsIterator(e){const n=[];let r=e;for(;r;){try{n.unshift(this.parseElementExpr(r.value))}catch(i){ct(i)}r=r.prev}return n}parseElementPredicate(e,n){if(rp(e))return this.parseElementPredicateWith(e,n);if(Yw(e))return this.parseElementPredicateWhere(e);if(qw(e))return this.parseElementExpr(e);Ie(e)}parseElementExpr(e){if($a(e))return{wildcard:!0};if(np(e))return we(e.kind?.ref,"ElementKindExpr kind is not resolved: "+e.$cstNode?.text),{elementKind:e.kind.ref.name,isEqual:e.isEqual};if(ip(e)){we(e.tag?.ref,"ElementTagExpr tag is not resolved: "+e.$cstNode?.text);let n=e.tag.$refText;return n.startsWith("#")&&(n=n.slice(1)),{elementTag:n,isEqual:e.isEqual}}if(LA(e)){const n=Cn(e.expand);return we(n,"Element not found "+e.expand.$cstNode?.text),{expanded:this.resolveFqn(n)}}if(Kw(e)){const n=Cn(e.parent);return we(n,"Element not found "+e.parent.$cstNode?.text),{element:this.resolveFqn(n),isDescedants:!0}}if(nl(e)){const n=Cn(e);return we(n,"Element not found "+e.$cstNode?.text),{element:this.resolveFqn(n)}}Ie(e)}parseElementPredicateWith(e,n){const r=this.parseElementPredicate(e.subject,n);return(e.custom?.props??[]).reduce((i,s)=>{if(sb(s)){const o=s.value.view.$refText;return ae(o)&&(i.custom.navigateTo=o),i}if(Xw(s)){if(At(s.value)){let o=s.key==="description"?Zt(s.value):rs(s.value);i.custom[s.key]=o||""}return i}if(es(s)){const o=s.libicon?.ref?.name??s.value;return At(o)&&(i.custom[s.key]=o),i}if(so(s)){const o=Jl(s);return At(o)&&(i.custom[s.key]=o),i}if(Tp(s)||Vh(s))return At(s.value)&&(i.custom[s.key]=s.value),i;if(yp(s))return At(s.value)&&(i.custom[s.key]=ix(s)),i;if(Dl(s))return ae(s.value)&&(i.custom[s.key]=Zt(s.value)),i;Ie(s)},{custom:{expr:r}})}parseElementPredicateWhere(e){return{where:{expr:this.parseElementExpr(e.subject),condition:e.where?Zl(e.where):{kind:{neq:"--always-true--"}}}}}parseRelationPredicate(e,n){if(ab(e)){let r=WA(e.subject)?this.parseRelationPredicateWhere(e.subject):this.parseRelationExpr(e.subject);return this.parseRelationPredicateWith(e,r)}if(WA(e))return this.parseRelationPredicateWhere(e);if(Uw(e))return this.parseRelationExpr(e);Ie(e)}parseRelationPredicateWhere(e){return{where:{expr:this.parseRelationExpr(e.subject),condition:e.where?Zl(e.where):{kind:{neq:"--always-true--"}}}}}parseRelationPredicateWith(e,n){return(e.custom?.props??[]).reduce((r,i)=>{if(Dp(i)||Dl(i)||jA(i))return At(i.value)&&(r.customRelation[i.key]=Zt(i.value)??""),r;if(Wu(i))return ae(i.value)&&(r.customRelation[i.key]=i.value),r;if(so(i)){const s=Jl(i);return ae(s)&&(r.customRelation[i.key]=s),r}if(yl(i))return ae(i.value)&&(r.customRelation[i.key]=i.value),r;if(Ep(i)){const s=i.value.view.ref?.name;return ae(s)&&(r.customRelation.navigateTo=s),r}Ie(i)},{customRelation:{relation:n}})}parseRelationExpr(e){if(Gw(e))return{source:this.parseElementExpr(e.source.from),target:this.parseElementExpr(e.target),isBidirectional:e.source.isBidirectional};if(nb(e))return{inout:this.parseElementExpr(e.inout.to)};if(ob(e))return{outgoing:this.parseElementExpr(e.from)};if(BA(e))return{incoming:this.parseElementExpr(e.to)};Ie(e)}parseViewRule(e,n){if(Uh(e))return this.parseViewRulePredicate(e,n);if(PK(e))return this.parseViewRuleGlobalPredicateRef(e,n);if(AA(e))return this.parseViewRuleStyleOrGlobalRef(e,n);if(Cp(e))return ox(e);if(_p(e))return this.parseViewRuleGroup(e,n);Ie(e)}parseViewRuleGlobalPredicateRef(e,n){return{predicateId:e.predicate.$refText}}parseViewRuleStyleOrGlobalRef(e,n){if(zl(e))return this.parseViewRuleStyle(e,n);if(YA(e))return this.parseViewRuleGlobalStyle(e,n);Ie(e)}parseViewRuleStyle(e,n){const r=e.props.filter(_A),i=e.target,s=e.props.find(Dl);return this.parseRuleStyle(r,i,n,s)}parseViewRuleGroup(e,n){const r=[];for(const i of e.groupRules)try{if(!n(i))continue;if(Uh(i)){r.push(this.parseViewRulePredicate(i,n));continue}if(_p(i)){r.push(this.parseViewRuleGroup(i,n));continue}Ie(i)}catch(s){ct(s)}return{title:rs(e.title)??null,groupRules:r,...Ip(e.props,n)}}parseRuleStyle(e,n,r,i){const s=Ip(e,r),o=Zt(i?.value);return{targets:this.parseElementExpressionsIterator(n),...o&&{notation:o},style:{...s}}}parseViewRuleGlobalStyle(e,n){return{styleId:e.style.$refText}}parseViewManualLaout(e){const n=zd(e.$cstNode,["BLOCK_COMMENT"]);if(!(!n||!dx(n.text)))try{return RY(n.text)}catch(r){const i=gb(e);Ne.warn(r),Ne.warn(`Ignoring manual layout of "${e.name??"unnamed"}" at ${i.uri.fsPath}:${1+(n.range.start.line||0)}`);return}}parseDynamicParallelSteps(e){return{__parallel:e.steps.map(n=>this.parseDynamicStep(n))}}parseDynamicStep(e){const n=Cn(e.source);if(!n)throw new Error("Invalid reference to source");const r=Cn(e.target);if(!r)throw new Error("Invalid reference to target");let i=this.resolveFqn(n),s=this.resolveFqn(r);const o=Zt(e.title)??null;let a={source:i,target:s,title:o};if(e.isBackward&&(a={source:s,target:i,title:o,isBackward:!0}),Array.isArray(e.custom?.props))for(const c of e.custom.props)try{if(Dp(c)||Dl(c)||jA(c)){At(c.value)&&(a[c.key]=Zt(c.value)??"");continue}if(Wu(c)){At(c.value)&&(a[c.key]=c.value);continue}if(so(c)){const u=Jl(c);At(u)&&(a[c.key]=u);continue}if(yl(c)){At(c.value)&&(a[c.key]=c.value);continue}if(Ep(c)){const u=c.value.view.ref?.name;ae(u)&&(a.navigateTo=u);continue}Ie(c)}catch(u){ct(u)}return a}parseElementView(e,n,r){const i=e.body;we(i,"ElementView body is not defined");const s=this.getAstNodePath(e);let o=null;if("viewOf"in e){const p=Cn(e.viewOf),m=p&&this.resolveFqn(p);m?o=m:Ne.warn("viewOf is not resolved: "+e.$cstNode?.text)}let a=e.name;a||(a="view_"+mb(gb(e).uri.toString(),s,o??""));const c=rs(i.props.find(p=>p.key==="title")?.value)??null,u=Zt(i.props.find(p=>p.key==="description")?.value)??null,l=this.convertTags(i),d=this.convertLinks(i),f=this.parseViewManualLaout(e),h={__:"element",id:a,astPath:s,title:c,description:u,tags:l,links:Ss(d)?d:null,rules:[...n,...i.rules.flatMap(p=>{try{return r(p)?this.parseViewRule(p,r):[]}catch(m){return ct(m),[]}})],...o&&{viewOf:o},...f&&{manualLayout:f}};if(fb.writeId(e,h.id),"extends"in e){const p=e.extends.view.ref;return we(p?.name,"view extends is not resolved: "+e.$cstNode?.text),Object.assign(h,{extends:p.name})}return h}parseDynamicElementView(e,n,r){const i=e.body;we(i,"DynamicElementView body is not defined");const s=i.props.filter(r),o=this.getAstNodePath(e);let a=e.name;a||(a="dynamic_"+mb(gb(e).uri.toString(),o));const c=rs(s.find(h=>h.key==="title")?.value)??null,u=Zt(s.find(h=>h.key==="description")?.value)??null,l=this.convertTags(i),d=this.convertLinks(i);fb.writeId(e,a);const f=this.parseViewManualLaout(e);return{__:"dynamic",id:a,astPath:o,title:c,description:u,tags:l,links:Ss(d)?d:null,rules:[...n,...i.rules.flatMap(h=>{try{return r(h)?this.parseDynamicViewRule(h,r):[]}catch(p){return ct(p),[]}},[])],steps:i.steps.reduce((h,p)=>{try{r(p)&&(Ww(p)?h.push(this.parseDynamicParallelSteps(p)):h.push(this.parseDynamicStep(p)))}catch(m){ct(m)}return h},[]),...f&&{manualLayout:f}}}parseDynamicViewRule(e,n){if(kK(e))return this.parseDynamicViewIncludePredicate(e,n);if(SK(e))return this.parseViewRuleGlobalPredicateRef(e,n);if(AA(e))return this.parseViewRuleStyleOrGlobalRef(e,n);if(Cp(e))return ox(e);Ie(e)}parseDynamicViewIncludePredicate(e,n){const r=[];let i=e.predicates;for(;i;){try{if(n(i.value)){const s=this.parseElementPredicate(i.value,n);r.unshift(s)}}catch(s){ct(s)}i=i.prev}return{include:r}}resolveFqn(e){if(ga(e))return Ap(e.element);const n=this.fqnIndex.getFqn(e);return we(n,`Not indexed element: ${this.getAstNodePath(e)}`),n}getAstNodePath(e){return this.services.workspace.AstNodeLocator.getAstNodePath(e)}getMetadata(e){return e?.props!=null?vi(e.props,n=>[n.key,Zt(n.value)]):void 0}convertTags(e){let n=e?.tags;if(!n)return null;const r=[];for(;n;){try{const i=n.values.map(s=>s.ref?.name).filter(ae);i.length>0&&r.unshift(...i)}catch{}n=n.prev}return Ss(r)?r:null}convertLinks(e){if(!(!e?.props||e.props.length===0))return Ke(e.props,nt(pp),wi(n=>{const r=n.value;if(ae(r)){const i=ae(n.title)?rs(n.title):void 0;return i?{url:r,title:i}:{url:r}}return[]}))}}const{findNodeForKeyword:kY,findNodeForProperty:Yae}=af,$Y=(t,e,n=0)=>{const r=n>0?" ".repeat(n):"";return[r+`style ${t} {`,...oa(e).map(([i,s])=>r+` ${i} ${i==="opacity"?s.toString()+"%":s}`),r+"}"]},CY=(t,e)=>n=>{if(!zl(n))return!1;const r=n.target.value;if(!r||ae(n.target.prev)||!nl(r))return!1;const i=r.el.ref;return(i?e.getFqn(i):null)===t};function _Y(t,{view:e,viewAst:n,targets:r,style:i}){we(n.body,`View ${e.id} has no body`);const s=n.$cstNode;we(s,"viewCstNode");const o=ia(n.body.rules)?.$cstNode?.range.end??n.body.$cstNode?.range.end;we(o,"insertPos is not defined");const a=s.range.start.character+2,c=t.likec4.FqnIndex,u=nt(n.body.rules,zl),l=e.__==="element"?e.viewOf:null,d=[],f=[];r.forEach(g=>{const y=A9(u,CY(g,c)),w=l&&$r(l,g)?g.substring(l.length+1):g;y?d.push({fqn:w,rule:y}):f.push({fqn:w})});const h={start:o,end:o},p=g=>{g.start.line<=h.start.line&&(g.start.line==h.start.line?h.start.character=Math.min(g.start.character,h.start.character):h.start=g.start),g.end.line>=h.end.line&&(g.end.line==h.end.line?h.end.character=Math.max(g.end.character,h.end.character):h.end=g.end)},m=[];if(f.length>0){const g=f.flatMap(({fqn:y})=>$Y(y,i,a));m.push(Sn.insert(o,`
1744
- `+g.join(`
1745
- `))),h.start={line:o.line+1,character:a},h.end={line:o.line+g.length,character:ia(g)?.length??0}}if(d.length>0)for(const{rule:g}of d){const y=g.$cstNode;we(y,"RuleCstNode not found");for(const[w,E]of oa(i)){const k=w==="opacity"?E.toString()+"%":E,A=g.props.find(P=>P.key===w);if(A&&A.$cstNode){const{range:{start:P,end:O}}=A.$cstNode;p({start:P,end:O}),m.push(Sn.replace({start:P,end:O},w+" "+k));continue}const I=kY(y,"{")?.range.end;we(I,"Opening brace not found");const x=" ".repeat(2+y.range.start.character),_=x+w+" "+k;m.push(Sn.insert(I,`
1746
- `+_)),p({start:{line:I.line+1,character:x.length},end:{line:I.line+1,character:_.length}})}}return{modifiedRange:h,edits:m}}const{findNodeForProperty:Xae,findNodeForKeyword:AY}=af;function xY(t,{view:e,viewAst:n,layout:r}){we(n.body,`View ${e.id} has no body`);const i=n.$cstNode;we(i,"viewCstNode");const s=eY(r.direction),o=n.body.rules.findLast(Cp);let a=`autoLayout ${s}`;if(lh(r.rankSep)&&(a+=` ${r.rankSep}`,lh(r.nodeSep)&&(a+=` ${r.nodeSep}`)),o&&o.$cstNode)return Sn.replace(o.$cstNode.range,a);const c=AY(n.body.$cstNode,"}")?.range.start;we(c,"Closing brace not found");const u=` ${a}
1747
- `;return Sn.insert(c,u)}function IY(t,{viewAst:e,layout:n}){we(e.$cstNode,"invalid view.$cstNode");const r=zd(e.$cstNode,["BLOCK_COMMENT"]);let i=TY(n);return e.$cstNode.range.start.character>0&&(i=lW(i,e.$cstNode.range.start.character)),r?Sn.replace(r.range,i.trimStart()):Sn.insert({line:e.$cstNode.range.start.line,character:0},i+`
1748
- `)}class PY{constructor(e){this.services=e,this.locator=e.likec4.ModelLocator}locator;async applyChange(e){const n=this.services.shared.lsp.Connection;we(n,"LSP Connection not available");let r=null;try{await this.services.shared.workspace.WorkspaceLock.write(async()=>{const{doc:i,edits:s,modifiedRange:o}=this.convertToTextEdit(e),a={uri:i.textDocument.uri,version:i.textDocument.version};if(!s.length)return;const c=await n.workspace.applyEdit({label:`LikeC4 - change view ${e.viewId}`,edit:{changes:{[a.uri]:s}}});if(!c.applied){n.window.showErrorMessage(`Failed to apply changes ${c.failureReason}`);return}r={uri:a.uri,range:o}})}catch(i){Xe.error(`Failed to apply change ${e.change.op} ${e.viewId}`,i)}return r}convertToTextEdit({viewId:e,change:n}){const r=this.locator.locateViewAst(e);if(!r)throw new Error(`LikeC4ModelChanges: view not found: ${e}`);switch(n.op){case"change-element-style":return{doc:r.doc,..._Y(this.services,{...r,targets:n.targets,style:n.style})};case"change-autolayout":{const s=xY(this.services,{...r,layout:n.layout});return{doc:r.doc,modifiedRange:s.range,edits:[s]}}case"save-manual-layout":const i=IY(this.services,{...r,layout:n.layout});return{doc:r.doc,modifiedRange:i.range,edits:[i]};default:Ie(n)}}}class NY extends rk{async computeExports(e,n){const r=[];try{const{specifications:i,models:s,views:o,globals:a,likec4lib:c}=e.parseResult.value;this.exportLibrary(c,r,e),this.exportSpecification(i,r,e),this.exportModel(s,r,e),this.exportViews(o,r,e),this.exportGlobals(a,r,e)}catch(i){Bt(i)}return r}exportViews(e,n,r){if(!(at(e)||e.length===0))for(const i of e.flatMap(s=>s.views))try{ae(i.name)&&n.push(this.descriptions.createDescription(i,i.name,r))}catch(s){Bt(s)}}exportGlobals(e,n,r){if(!(at(e)||e.length===0)){for(const i of e.flatMap(s=>s.predicates))try{const s=i;ae(s.name)&&n.push(this.descriptions.createDescription(s,s.name,r))}catch(s){Bt(s)}for(const i of e.flatMap(s=>s.styles))try{const s=i.id;ae(s.name)&&n.push(this.descriptions.createDescription(s,s.name,r))}catch(s){Bt(s)}}}exportModel(e,n,r){if(!(at(e)||e.length===0))for(const i of e.flatMap(s=>s.elements))try{Gr(i)&&ae(i.name)&&n.push(this.descriptions.createDescription(i,i.name,r))}catch(s){Bt(s)}}exportLibrary(e,n,r){if(!at(e))try{for(const i of e.flatMap(s=>s.icons))n.push(this.descriptions.createDescription(i,i.name,r))}catch(i){Bt(i)}}exportSpecification(e,n,r){if(!(at(e)||e.length===0))for(const i of e.flatMap(s=>[...s.elements,...s.relationships,...s.tags,...s.colors]))try{switch(!0){case Da(i):{ae(i.kind.name)&&n.push(this.descriptions.createDescription(i.kind,i.kind.name,r));continue}case kp(i):{ae(i.tag.name)&&n.push(this.descriptions.createDescription(i.tag,"#"+i.tag.name,r));continue}case Ra(i):{ae(i.kind.name)&&n.push(this.descriptions.createDescription(i.kind,i.kind.name,r),this.descriptions.createDescription(i.kind,"."+i.kind.name,r));continue}case Sp(i):{ae(i.name.name)&&n.push(this.descriptions.createDescription(i.name,i.name.name,r));continue}default:Ie(i)}}catch(s){Bt(s)}}computeLocalScopes(e,n){return new Promise(r=>{const i=e.parseResult.value,s=new Mr;for(const o of i.models)try{const a=this.processContainer(o,s,e);s.addAll(i,a.values())}catch(a){Bt(a)}r(s)})}processContainer(e,n,r){const i=new Mr,s=new Mr;for(const o of e.elements){if(Wr(o))continue;let a;if(Gr(o)?(ae(o.name)&&i.add(o.name,this.descriptions.createDescription(o,o.name,r)),a=o.body):ga(o)&&(a=o.body),a&&a.elements.length>0)try{const c=this.processContainer(a,n,r);for(const[u,l]of c)s.add(u,l)}catch(c){Bt(c)}}if(s.size>0)for(const[o,a]of s.entriesGroupedByKey())!i.has(o)&&a.length===1&&i.add(o,a[0]);return n.addAll(e,i.values()),i}}const{getDocument:OY}=Zd;class LY extends ck{fqnIndex;constructor(e){super(e),this.fqnIndex=e.likec4.FqnIndex}directChildrenOf(e){return this.fqnIndex.directChildrenOf(e)}uniqueDescedants(e){return new It(()=>{const n=e(),r=n&&this.fqnIndex.getFqn(n);return r?this.fqnIndex.uniqueDescedants(r).iterator():null},n=>n?n.next():Xt)}scopeElementRef(e){return this.uniqueDescedants(()=>e.el.ref)}scopeExtendElement({element:e}){return Qe([e.el.$nodeDescription]).nonNullable().concat(this.uniqueDescedants(()=>Cn(e)))}scopeElementView({viewOf:e,extends:n}){return e?Qe([e.el.$nodeDescription]).nonNullable().concat(this.uniqueDescedants(()=>Cn(e))):n?Qe([n]).flatMap(r=>{const i=r.view.ref;return i?this.scopeElementView(i):Lo}):Lo}getScope(e){try{const n=this.reflection.getReferenceType(e);if(n!==Ur)return this.getGlobalScope(n);try{const r=e.container;if(FA(r)&&e.property==="el"){const i=r.parent;return i?new nu(this.directChildrenOf(Ap(i))):this.getGlobalScope(n)}if(nl(r)&&e.property==="el"){const i=r.parent;if(i)return new nu(this.scopeElementRef(i));if(e.reference.$refText==="this"||e.reference.$refText==="it"){const s=wn(r,Gr);return s?new ik([this.descriptions.createDescription(s,e.reference.$refText)]):sk}}return this.computeScope(e)}catch(r){return Ne.warn(r),this.getGlobalScope(n)}}catch(n){return Ne.warn(n),sk}}computeScope(e){const n=this.reflection.getReferenceType(e);we(n===Ur,"Invalid reference type");const r=[],i=OY(e.container).precomputedScopes;if(i){const s=a=>this.reflection.isSubtype(a.type,n);let o=e.container;for(;o;){const a=i.get(o).filter(s);a.length>0&&r.push(Qe(a)),Qw(o)&&r.push(this.scopeExtendElement(o.$container)),Jw(o)&&r.push(this.scopeElementView(o.$container)),o=o.$container}}return r.reduceRight((s,o)=>this.createScope(o,s),this.getGlobalScope(n))}getGlobalScope(e){return new nu(this.indexManager.allElements(e))}}class FY{constructor(e){this.services=e}disposables=[];init(){const e=this.services.likec4.ModelBuilder,n=this.services.likec4.ModelLocator,r=this.services.likec4.ModelChanges,i=this.services.shared.lsp.Connection;if(!i){Ne.info("[ServerRpc] no connection, not initializing");return}Ne.info("[ServerRpc] init");const s=this.services.shared.workspace.LangiumDocuments,o=this.services.shared.workspace.DocumentBuilder,a=F9(()=>{i.sendNotification(iH,"").catch(u=>(Ne.error(`[ServerRpc] error sending onDidChangeModel: ${u}`),Promise.resolve()))},{timing:"both",waitMs:250,maxWaitMs:500});let c=!0;this.disposables.push(Us.create(()=>{a.cancel()}),e.onModelParsed(()=>a.call()),i.onRequest(oH,async({cleanCaches:u},l)=>(u&&this.services.WorkspaceCache.clear(),{model:await e.buildComputedModel(l)})),i.onRequest(sH,async u=>({model:await e.buildModel(u)})),i.onRequest(aH,async({viewId:u},l)=>({view:await e.computeView(u,l)})),i.onRequest(cH,async({docs:u},l)=>{const d=u.map(p=>Vt.parse(p)),f=p=>d.every(m=>!Et.equals(m,p)),h=s.all.filter(p=>xp(p)&&f(p.uri)&&p.uri.scheme!==YC).map(p=>p.uri).toArray();Ne.debug(`[ServerRpc] received request to build:
1749
- changed (total ${d.length}):${u.map(p=>`
1750
- - `+p).join("")}
1751
- deleted (total ${h.length}):${h.map(p=>`
1752
- - `+p.toString()).join(`
1753
- `)}`),!c&&d.length+h.length>0&&(await Promise.allSettled([...d,...h].map(async p=>{const m=p.toString();Ne.debug(`clear diagnostics for ${m}`);try{await i.sendDiagnostics({uri:m,diagnostics:[]})}catch(g){Ne.warn(`error clearing diagnostics for ${m}: ${g}`)}})),await zt(l)),c=!1,await o.update(d,h,l)}),i.onRequest(uH,u=>{if("element"in u)return n.locateElement(u.element,u.property??"name");if("relation"in u)return n.locateRelation(u.relation);if("view"in u)return n.locateView(u.view);Ie(u)}),i.onRequest(lH,async(u,l)=>await r.applyChange(u)))}dispose(){let e;for(;e=this.disposables.pop();)try{e.dispose()}catch(n){Bt(n)}}}class MY{constructor(e){this.services=e}getSymbolKind(e){const n=vt(e)?e.$type:e.type,r=(...i)=>i.some(s=>this.services.AstReflection.isSubtype(n,s));switch(!0){case r(Ur,ma):return mr.Constructor;case r(wa,ba,Sa):return mr.Namespace;case r(io):return mr.Class;case r(ns,ao,oo,ka):return mr.EnumMember;case r(ts,Ta):return mr.Event;case r(Qi,Ea):return mr.TypeParameter}return mr.Field}getCompletionItemKind(e){const n=vt(e)?e.$type:e.type,r=(...i)=>i.some(s=>this.services.AstReflection.isSubtype(n,s));switch(!0){case r(oo):return Lt.Color;case r(Ur,ma):return Lt.Constructor;case r(wa,ba,Sa):return Lt.Module;case r(io):return Lt.Class;case r(ns,ao,oo,ka):return Lt.EnumMember;case r(ts,Ta):return Lt.Event;case r(Qi,Ea):return Lt.TypeParameter;default:return Lt.Reference}}}class zY extends lk{documentFactory;constructor(e){super(e),this.documentFactory=e.workspace.LangiumDocumentFactory}async loadAdditionalDocuments(e,n){n(this.documentFactory.fromString(nH,Vt.parse(rH))),await super.loadAdditionalDocuments(e,n)}workspace(){return this.folders&&Rd(this.folders,1)?this.folders[0]:null}get workspaceUri(){const e=this.workspace();return we(e,"Workspace not initialized"),Vt.parse(e.uri)}get workspaceURL(){const e=this.workspace();return we(e,"Workspace not initialized"),new URL(e.uri)}}class BY extends EC{}const qY=t=>(e,n)=>{const r=ax(e.value);switch(!0){case np(r):case ip(r):case $a(r):{n("warning","Predicate is ignored, as not supported in dynamic views",{node:e});return}}},jY=t=>{const e=t.likec4.FqnIndex;return(n,r)=>{try{const i=Cn(n.source),s=i&&e.getFqn(i);s||r("error","Source not found (not parsed/indexed yet)",{node:n,property:"source"});const o=Cn(n.target),a=o&&e.getFqn(o);a||r("error","Target not found (not parsed/indexed yet)",{node:n,property:"target"}),s&&a&&($r(s,a)||$r(a,s))&&r("error","Invalid parent-child relationship",{node:n})}catch(i){Bt(i)}}},Np=["this","it","self","super","likec4lib","global"];function Op(t){return async(e,n,r)=>{r&&await zt(r);try{await t(e,n,r)}catch(i){ct(i)}}}const{getDocument:UY}=Zd,GY=t=>{const e=t.likec4.FqnIndex,n=t.workspace.AstNodeLocator;return Op((r,i)=>{const s=e.getFqn(r);if(!s){i("error","Not indexed element",{node:r,property:"name"});return}Np.includes(r.name)&&i("error",`Reserved word: ${r.name}`,{node:r,property:"name"});const o=UY(r).uri,a=n.getAstNodePath(r),c=e.byFqn(s).filter(u=>u.documentUri!==o||u.path!==a).head();if(c){const u=c.documentUri!==o;i("error",`Duplicate element name ${r.name!==s?r.name+" ("+s+")":r.name}`,{node:r,property:"name",...u&&{relatedInformation:[{location:{range:c.nameSegment?.range??c.selectionSegment?.range,uri:c.documentUri.toString()},message:"conflicting element"}]}})}})},WY=t=>(e,n)=>{const r=parseFloat(e.value);(isNaN(r)||r<0||r>100)&&n("warning","Value ignored, must be between 0% and 100%",{node:e,property:"value"})},HY=t=>(e,n)=>{const r=e.$container;r.props.some(i=>es(i)&&i!==e)&&n("error","Icon must be defined once",{node:e}),sl(r)&&ha(r.$container)&&r.$container.props.some(i=>es(i))&&n("warning","Redundant as icon defined on element",{node:e})},VY=t=>(e,n)=>{$c(e,Vw)||n("error","Notes can be defined only inside dynamic view",{node:e})},KY=t=>{const e=t.likec4.FqnIndex;return Op((n,r)=>{const i=Cn(n.target),s=i&&e.getFqn(i);s||r("error","Target not resolved",{node:n,property:"target"});let o;if(At(n.source)){if(o=Cn(n.source),!o)return r("error","Source not resolved",{node:n,property:"source"})}else{if(!ha(n.$container))return r("error","Sourceless relation must be nested",{node:n});o=n.$container.$container}const a=e.getFqn(o);a||r("error","Source not resolved",{node:n}),a&&s&&Ba(a,s)&&r("error","Invalid parent-child relationship",{node:n})})},YY=t=>Op((e,n)=>{e.$container.tags?.values&&e.tags?.values&&n("error","Relation cannot have tags in both header and body",{node:e.tags})}),XY=t=>(e,n)=>{e.$containerIndex&&e.$containerIndex>0&&n("warning","Prefer one specification per document",{node:e,property:"name"})},JY=t=>(e,n)=>{e.$containerIndex&&e.$containerIndex>0&&n("warning","Prefer one model per document",{node:e,property:"name"})},ZY=t=>(e,n)=>{e.$containerIndex&&e.$containerIndex>0&&n("warning","Prefer one global block per document",{node:e,property:"name"})},QY=t=>{const e=t.shared.workspace.IndexManager;return Op((n,r)=>{Np.includes(n.name)&&r("error",`Reserved word: ${n.name}`,{node:n,property:"name"});const i=e.allElements(Qi).filter(s=>s.name===n.name&&s.node!==n).head();if(i){const s=i.documentUri!==sn(n).uri;r("error",`Duplicate element kind '${n.name}'`,{node:n,property:"name",...s&&{relatedInformation:[{location:{range:i.nameSegment.range,uri:i.documentUri.toString()},message:"conflicting definition"}]}})}})},eX=t=>{const e=t.shared.workspace.IndexManager;return(n,r)=>{const i="#"+n.name,s=e.allElements(ns).filter(o=>o.name===i&&o.node!==n).head();if(s){const o=s.documentUri!==sn(n).uri;r("error",`Duplicate tag '${n.name}'`,{node:n,property:"name",...o&&{relatedInformation:[{location:{range:s.nameSegment.range,uri:s.documentUri.toString()},message:"conflicting definition"}]}})}}},tX=t=>{const e=t.shared.workspace.IndexManager;return(n,r)=>{Np.includes(n.name)&&r("error",`Reserved word: ${n.name}`,{node:n,property:"name"}),e.allElements(ts).filter(i=>i.name===n.name).limit(2).count()>1&&r("error",`Duplicate RelationshipKind '${n.name}'`,{node:n,property:"name"})}},hx=t=>{const e=t.shared.workspace.IndexManager;return(n,r)=>{const i=e.allElements(va),s=e.allElements(ya);i.concat(s).filter(o=>o.name===n.name).limit(2).count()>1&&r("error",`Duplicate GlobalPredicateGroup or GlobalDynamicPredicateGroup name '${n.name}'`,{node:n,property:"name"})}},nX=t=>{const e=t.shared.workspace.IndexManager;return(n,r)=>{e.allElements(dl).filter(i=>i.name===n.name).limit(2).count()>1&&r("error",`Duplicate GlobalStyleId name '${n.name}'`,{node:n,property:"name"})}},rX=t=>{const e=t.shared.workspace.IndexManager;return(n,r)=>{n.name&&(Np.includes(n.name)&&r("error",`Reserved word: ${n.name}`,{node:n,property:"name"}),e.allElements(io).filter(i=>i.name===n.name).limit(2).count()>1&&r("error",`Duplicate view '${n.name}'`,{node:n,property:"name"}))}},iX=t=>(e,n)=>{const r=wn(e,Uh);ap(r)&&n("error",'Invalid usage inside "exclude"',{node:e});const i=Yw(e.subject)?e.subject.subject:e.subject;switch(!0){case nl(i):case Kw(i):case LA(i):case $a(i):return;case np(i):case ip(i):n("error","Invalid target (expect reference to specific element)",{node:e,property:"subject"});return;default:Ie(i)}},sX=t=>(e,n)=>{$c(e,Uw)&&n("warning","Redundant usage, expand predicate resolves parent element only when used in relations",{node:e})},oX=t=>(e,n)=>{if($a(e.to)&&!nb(e.$container)){const r=wn(e,sp);at(r?.viewOf)&&n("warning","Predicate is ignored as it concerns all relationships",{node:e})}},aX=t=>(e,n)=>{if($a(e.from)&&!Gw(e.$container)){const r=wn(e,sp);at(r?.viewOf)&&n("warning","Predicate is ignored as it concerns all relationships",{node:e})}},cX=t=>(e,n)=>{const r=wn(e,Uh);ap(r)&&n("error",'Invalid usage inside "exclude"',{node:e})};function uX(t){Ne.info("registerValidationChecks"),t.validation.ValidationRegistry.register({NotesProperty:VY(),OpacityProperty:WY(),IconProperty:HY(),SpecificationRule:XY(),Model:JY(),Globals:ZY(),GlobalPredicateGroup:hx(t),GlobalDynamicPredicateGroup:hx(t),GlobalStyleId:nX(t),DynamicViewStep:jY(t),LikeC4View:rX(t),Element:GY(t),ElementKind:QY(t),Relation:KY(t),RelationBody:YY(),Tag:eX(t),DynamicViewPredicateIterator:qY(),ElementPredicateWith:iX(),RelationPredicateWith:cX(),ExpandElementExpression:sX(),RelationshipKind:tX(t),IncomingRelationExpression:oX(),OutgoingRelationExpression:aX()});const e=t.shared.lsp.Connection;e&&t.shared.workspace.DocumentBuilder.onUpdate((n,r)=>{for(const i of r)Ne.debug(`clear diagnostics for deleted ${i.path}`),e.sendDiagnostics({uri:i.toString(),diagnostics:[]})})}function lX(t,e){return[t,e]=px(t,e)>0?[e,t]:[t,e],dX(t.range,e.range.start)}function px(t,e){const n=t.range.start.line-e.range.start.line;return n!==0?n:t.range.start.character-e.range.start.character}function dX(t,e){return!(e.line<t.start.line||e.line>t.end.line||e.line==t.start.line&&e.character<t.start.character||e.line==t.end.line&&e.character>t.end.character)}function mx(t){return t.range.start.line!=t.range.end.line}const ue={newLine:Xi.newLine({allowMore:!0}),oneSpace:Xi.oneSpace(),noSpace:Xi.noSpace(),indent:Xi.indent({allowMore:!0}),noIndent:Xi.noIndent()};class fX extends bG{format(e){this.removeIndentFromTopLevelStatements(e),this.indentContentInBraces(e),this.formatSpecificationRule(e),this.formatGlobals(e),this.formatElementDeclaration(e),this.formatRelation(e),this.formatMetadataProperty(e),this.formatView(e),this.formatViewRuleGroup(e),this.formatViewRuleGlobalStyle(e),this.formatIncludeExcludeExpressions(e),this.formatWhereExpression(e),this.formatAutolayoutProperty(e),this.formatWithPredicate(e),this.formatViewRuleStyle(e),this.formatLeafProperty(e),this.formatLinkProperty(e),this.formatNavigateToProperty(e),this.formatTags(e)}formatTags(e){this.on(e,lb,(n,r)=>{r.cst(Bo(n.$cstNode,"values").slice(1)).prepend(ue.oneSpace),r.keywords(",").prepend(ue.noSpace).append(ue.oneSpace)})}formatRelation(e){this.on(e,Wr,(n,r)=>{const i=n?.source?.$cstNode?[n?.source?.$cstNode]:[];r.cst(i).append(ue.oneSpace),r.keywords("]->").prepend(ue.noSpace),r.keywords("-[").append(ue.noSpace),r.properties("target","title","technology","tags").prepend(ue.oneSpace)}),this.on(e,Vw,(n,r)=>{r.keywords("->","<-").surround(ue.oneSpace);const i=r.property("kind");i.nodes[0]?.text.startsWith(".")&&i.surround(ue.oneSpace),r.keywords("]->").prepend(ue.noSpace).append(ue.oneSpace),r.keywords("-[").prepend(ue.oneSpace).append(ue.noSpace),r.properties("title").prepend(ue.oneSpace)}),this.on(e,Gw)?.property("target").prepend(ue.oneSpace),this.on(e,ob,(n,r)=>{r.property("from").append(ue.oneSpace),r.keywords("]->").prepend(ue.noSpace),r.keywords("-[").append(ue.noSpace)}),this.on(e,BA)?.keywords("->").append(ue.oneSpace),this.on(e,nb)?.keyword("->").prepend(ue.oneSpace)}removeIndentFromTopLevelStatements(e){(ib(e)||ub(e)||mp(e)||qA(e)||eb(e))&&this.getNodeFormatter(e).keywords("specification","model","views","likec4lib","global").prepend(ue.noIndent)}indentContentInBraces(e){if(qA(e)||ub(e)||Da(e)||Ra(e)||eb(e)||ul(e)||ll(e)||ib(e)||ha(e)||Qw(e)||GA(e)||cb(e)||xK(e)||mp(e)||Jw(e)||NA(e)||zl(e)||_p(e)||DK(e)||TK(e)||sl(e)||Ww(e)){const n=this.getNodeFormatter(e),r=n.keywords("{"),i=n.keywords("}"),s=n.interior(r,i);let o=null;for(const a of s.nodes)(!o||!lX(o,a))&&n.cst([a]).prepend(ue.indent),o=a;r.prepend(ue.noIndent).prepend(ue.oneSpace),i.prepend(ue.noIndent).prepend(Xi.newLine({allowMore:!0}))}}appendKeywordsWithSpace(e){this.on(e,CK)?.keywords("element").append(ue.oneSpace)}formatView(e){this.on(e,sp,(n,r)=>{(n.extends||n.viewOf||n.name)&&r.keywords("view").append(ue.oneSpace),r.keywords("of","extends").surround(ue.oneSpace)}),this.on(e,RK)?.keywords("dynamic","view").append(ue.oneSpace)}formatLeafProperty(e){if(Xw(e)||Dp(e)||NK(e)||Dl(e)||HA(e)||VA(e)||so(e)||yl(e)||Wu(e)||es(e)||Tp(e)||Vh(e)||yp(e)){const n=this.getNodeFormatter(e),r=n.keyword(":"),i=n.keywords("title","description","technology","notation","color","line","head","tail","icon","shape","border","opacity");r.nodes.length===0?i.append(ue.oneSpace):r.prepend(ue.noSpace).append(ue.oneSpace),n.keyword(";").prepend(ue.noSpace).append(ue.newLine)}}formatLinkProperty(e){this.on(e,pp,(n,r)=>{r.keyword("link").append(ue.oneSpace),r.property("value").append(ue.oneSpace),r.keyword(":").prepend(ue.noSpace).append(ue.oneSpace),r.keyword(";").prepend(ue.noSpace).append(ue.newLine)})}formatNavigateToProperty(e){this.on(e,sb)?.property("key").append(ue.oneSpace)}formatAutolayoutProperty(e){this.on(e,Cp,(n,r)=>{r.keyword("autoLayout").append(ue.oneSpace),r.property("rankSep").prepend(ue.oneSpace),r.property("nodeSep").prepend(ue.oneSpace)})}formatMetadataProperty(e){this.on(e,AK,(n,r)=>{r.property("key").append(ue.oneSpace),r.keyword(":").prepend(ue.noSpace).append(ue.oneSpace),r.keyword(";").prepend(ue.noSpace).append(ue.newLine)})}formatElementDeclaration(e){this.on(e,Gr,(n,r)=>{const i=An(n.$cstNode,"kind"),s=An(n.$cstNode,"name");s&&i&&(px(s,i)>0?r.cst([i]).append(ue.oneSpace):(r.cst([s]).append(ue.oneSpace),r.cst([i]).prepend(ue.oneSpace))),r.properties("props").prepend(ue.oneSpace)})}formatGlobals(e){this.on(e,ul,(n,r)=>{r.keyword("style").append(ue.oneSpace),r.property("id").append(ue.oneSpace)}),this.on(e,ll,(n,r)=>{r.keyword("styleGroup").append(ue.oneSpace)})}formatSpecificationRule(e){if((Da(e)||Ra(e)||kp(e))&&this.getNodeFormatter(e).keywords("element","relationship","tag").append(ue.oneSpace),Sp(e)){const n=this.getNodeFormatter(e);n.keyword("color").append(ue.oneSpace),n.property("name").append(ue.oneSpace)}}formatWithPredicate(e){const n=this.getNodeFormatter(e);(rp(e)||ab(e))&&n.keyword("with").prepend(ue.oneSpace)}formatViewRuleGlobalStyle(e){this.on(e,YA,(n,r)=>{r.keywords("global","style").append(ue.oneSpace)})}formatViewRuleGroup(e){this.on(e,_p,(n,r)=>{r.keyword("group").append(ue.oneSpace)})}formatViewRuleStyle(e){this.on(e,zl)?.keyword("style").append(ue.oneSpace),this.on(e,$K)?.keyword(",").prepend(ue.noSpace).append(ue.oneSpace)}formatWhereExpression(e){if((fK(e)||uK(e))&&this.getNodeFormatter(e).keyword("where").append(ue.oneSpace),(bK(e)||vK(e))&&this.getNodeFormatter(e).property("operator").surround(ue.oneSpace),(XA(e)||ZA(e))&&this.getNodeFormatter(e).keyword("not").append(ue.oneSpace),xA(e)||FK(e)||LK(e)||PA(e)||MK(e)||JA(e)){const n=this.getNodeFormatter(e);n.property("operator").surround(ue.oneSpace),n.property("not").surround(ue.oneSpace)}}formatIncludeExcludeExpressions(e){if(Bw(e)||tb(e)||ap(e)){const n=this.getNodeFormatter(e);(!e.$cstNode||!mx(e.$cstNode))&&n.keywords("include","exclude").append(ue.oneSpace)}if(OA(e)||UA(e)||UA(e)){const n=this.getNodeFormatter(e),r=this.findPredicateExpressionRoot(e),i=r?.$cstNode&&mx(r?.$cstNode);i&&n.property("value").prepend(ue.indent),n.keyword(",").prepend(ue.noSpace).append(i?ue.newLine:ue.oneSpace)}}findPredicateExpressionRoot(e){let n=e.$container;for(;;){if(!n||Bw(n)||tb(n)||ap(n))return n;n=n.$container}}on(e,n,r){const i=n(e)?this.getNodeFormatter(e):void 0;return r&&i&&r(e,i),i}}const hX={lsp:{NodeKindProvider:t=>new MY(t),WorkspaceSymbolProvider:t=>new BY(t)},workspace:{WorkspaceManager:t=>new zY(t)}};function Qt(t){return e=>new t(e)}const pX={WorkspaceCache:t=>new ak(t.shared),Rpc:Qt(FY),likec4:{ModelChanges:Qt(PY),FqnIndex:Qt(dY),ModelParser:Qt(SY),ModelBuilder:Qt(yY),ModelLocator:Qt(bY)},lsp:{CompletionProvider:Qt(nY),DocumentHighlightProvider:Qt(rY),DocumentSymbolProvider:Qt(sY),SemanticTokenProvider:Qt(aY),HoverProvider:Qt(oY),CodeLensProvider:Qt(tY),DocumentLinkProvider:Qt(iY),Formatter:Qt(fX)},references:{ScopeComputation:Qt(NY),ScopeProvider:Qt(LY)}};function mX(t,e,n,r){const i=gX(t),s=[gG({shared:i}),jK,pX,e,n,r].reduce(gx,{}),o=oh(s);return i.ServiceRegistry.register(o),uX(o),t.connection?o.Rpc.init():i.workspace.ConfigurationProvider.initialized({}),{shared:i,likec4:o}}function gX(t={}){const e={...$k,...t};return t.connection&&(WK(t.connection),GK(t.connection)),oh(vG(e),qK,hX)}function gx(t,e){if(e){for(const[n,r]of Object.entries(e))if(r!==void 0){const i=t[n];i!==null&&r!==null&&typeof i=="object"&&typeof r=="object"?t[n]=gx(i,r):t[n]=r}}return t}const yX={fileSystemProvider:()=>new vX};let vX=class extends TG{async readDirectory(e){return(await U2(e.fsPath,{withFileTypes:!0})).map(n=>this.followUri(Et.joinPath(e,n.name)))}followUri(e){const n=S2(e.fsPath),r=w2(e.fsPath);if(r.isSymbolicLink()){const i=b2(e.fsPath),s=X0(n,i);return this.followUri(Vt.file(s))}else return{isFile:r.isFile(),isDirectory:r.isDirectory(),uri:e}}};function yx(t){return typeof t=="object"&&t!==null&&typeof t.id=="string"}function yb(t){return typeof t=="object"&&t!==null&&t.$$type==="Node"&&typeof t.id=="string"}function vx(t){return yb(t)||yx(t)}function Ql(t){return typeof t=="string"||vx(t)}function wX(t){return Array.isArray(t)&&t.every(Ql)}function bX(t){return["n","ne","e","se","s","sw","w","nw","c"].includes(t)}function wx(t){if(vx(t))return t;const[e,n,r]=t.split(":");return bX(r)?{id:e,port:n,compass:r}:{id:e,port:n}}function EX(t){if(t.length<2&&(Ql(t[0])&&Ql(t[1]))===!1)throw Error("EdgeTargets must have at least 2 elements.");return t.map(e=>wx(e))}const Lp=Object.seal({Graph:null,Digraph:null,Subgraph:null,Node:null,Edge:null});function DX(t){return Object.assign(Object.seal(Object.assign({},Lp)),t)}function TX(...t){const[e,...n]=t;return(...r)=>n.reduce((i,s)=>s(i),e(...r))}function Zn(t,...e){return TX(t,...e)}const RX=t=>(...e)=>n=>t(n,...e),SX=t=>({[Symbol.iterator]:t}),wr=RX((t,e)=>Array.from(SX(function*(){for(const n of t)yield e(n)})));class bx{options;getLocation(){return this.options?.locationFunction?.()??null}constructor(e){this.options=e}createElement(e,n,r=[]){return{location:this.getLocation(),...n,type:e,children:r}}}const We=bx.prototype.createElement.bind(new bx),kX=/\r?\n/;function br(t){return e=>e.join(t)}function $X(t){return e=>t+e+t}function is(t,e){return n=>t+n+e}function Fp(t){return e=>t+e}const Ex=t=>t.replace(/\r/g,"\\r").replace(/\n/g,"\\n").replace(/"/g,'\\"'),Mp=t=>t.split(kX),ed=(t,e,n)=>Zn(Mp,wr(Fp(t==="space"?" ".repeat(e):`
1754
- `)),br(n)),co=t=>{switch(t){case"crlf":return`\r
1755
- `;case"lf":return`
1756
- `}},CX={match(t){return t.type==="AttributeList"},print(t,e){if(e.children.length===0)return`${e.kind.toLocaleLowerCase()} [];`;const n=co(t.endOfLine);return Zn(wr(t.print),br(n),ed(t.indentStyle,t.indentSize,n),is(`${e.kind.toLocaleLowerCase()} [${n}`,`${n}];`))(e.children)}},_X={match(t){return t.type==="Attribute"},print(t,e){return`${t.print(e.key)} = ${t.print(e.value)};`}},AX={match(t){return t.type==="Comment"},print(t,e){const n=co(t.endOfLine);switch(e.kind){case"Block":return Zn(Mp,wr(Fp(" * ")),br(n),is(`/**${n}`,`${n} */`))(e.value);case"Macro":return Zn(Mp,wr(Fp("# ")),br(n))(e.value);case"Slash":default:return Zn(Mp,wr(Fp("// ")),br(n))(e.value)}}},xX={match(t){return t.type==="Dot"},print(t,e){return e.children.map(t.print).join(co(t.endOfLine))}},IX={match(t){return t.type==="Edge"},print(t,e){const n=Zn(wr(t.print),br(t.directed?" -> ":" -- "))(e.targets);if(e.children.length===0)return`${n};`;const r=co(t.endOfLine),i=Zn(wr(t.print),br(r),ed(t.indentStyle,t.indentSize,r),is(`[${r}`,`${r}];`))(e.children);return`${n} ${i}`}},PX={match(t){return t.type==="Graph"},print(t,e){t.directed=e.directed;const n=[];if(e.strict&&n.push("strict"),n.push(e.directed?"digraph":"graph"),e.id&&n.push(t.print(e.id)),e.children.length===0)return`${n.join(" ")} {}`;const r=co(t.endOfLine),i=Zn(wr(t.print),br(r),ed(t.indentStyle,t.indentSize,r),is(`{${r}`,`${r}}`))(e.children);return`${n.join(" ")} ${i}`}},NX=Zn(Ex,$X('"')),OX=is("<",">"),LX={match(t){return t.type==="Literal"},print(t,e){switch(e.quoted){case"html":return OX(e.value);case!0:return NX(e.value);case!1:default:return Ex(e.value)}}},FX={match(t){return t.type==="Node"},print(t,e){const n=t.print(e.id);if(e.children.length===0)return`${n};`;const r=co(t.endOfLine),i=Zn(wr(t.print),br(r),ed(t.indentStyle,t.indentSize,r),is(`[${r}`,`${r}];`))(e.children);return`${n} ${i}`}},MX={match(t){return t.type==="NodeRefGroup"},print(t,e){return Zn(wr(t.print),br(" "),is("{","}"))(e.children)}},zX={match(t){return t.type==="NodeRef"},print(t,e){const n=[t.print(e.id)];return e.port&&n.push(t.print(e.port)),e.compass&&n.push(t.print(e.compass)),n.join(":")}},BX={match(t){return t.type==="Subgraph"},print(t,e){const n=["subgraph"];if(e.id&&n.push(t.print(e.id)),e.children.length===0)return`${n.join(" ")} {}`;const r=co(t.endOfLine),i=Zn(wr(t.print),br(r),ed(t.indentStyle,t.indentSize,r),is(`{${r}`,`${r}}`))(e.children);return`${n.join(" ")} ${i}`}},qX=[CX,_X,AX,xX,IX,PX,LX,FX,MX,zX,BX];class jX{options;#e=[...qX];constructor(e={}){this.options=e}print(e){const n=[...this.#e],{indentSize:r=2,indentStyle:i="space",endOfLine:s="lf"}=this.options,o={directed:!0,indentSize:r,indentStyle:i,endOfLine:s,print(a){for(const c of n)if(c.match(a))return c.print(o,a);throw Error()}};return o.print(e)}}function UX(t,e){const n=new jX(e).print(t);if(!n)throw new Error;return n}function zp(t,e){if(typeof e=="string"){const n=e.trim();return/^<.+>$/ms.test(n)?We("Attribute",{key:We("Literal",{value:t,quoted:!1},[]),value:We("Literal",{value:n.slice(1,n.length-1),quoted:"html"},[])},[]):We("Attribute",{key:We("Literal",{value:t,quoted:!1},[]),value:We("Literal",{value:e,quoted:!0},[])},[])}return We("Attribute",{key:We("Literal",{value:t,quoted:!1},[]),value:We("Literal",{value:String(e),quoted:!1},[])},[])}function uo(t,e){return We("Comment",{kind:e,value:t},[])}function Dx(t,e){return Array.from(function*(){for(const[n,r]of e.values)yield zp(n,r);for(const n of Object.values(e.attributes))n.size>0&&(n.comment&&(yield uo(n.comment,t.commentKind)),yield t.convert(n));for(const n of e.nodes)n.comment&&(yield uo(n.comment,t.commentKind)),yield t.convert(n);for(const n of e.subgraphs)n.comment&&(yield uo(n.comment,t.commentKind)),yield t.convert(n);for(const n of e.edges)n.comment&&(yield uo(n.comment,t.commentKind)),yield t.convert(n)}())}const GX={match(t){return t.$$type==="AttributeList"},convert(t,e){return We("AttributeList",{kind:e.$$kind},e.values.map(([n,r])=>zp(n,r)))}},WX={match(t){return t.$$type==="Edge"},convert(t,e){return We("Edge",{targets:e.targets.map(n=>yb(n)?We("NodeRef",{id:We("Literal",{value:n.id,quoted:!0},[])},[]):yx(n)?We("NodeRef",{id:We("Literal",{value:n.id,quoted:!0},[]),port:n.port?We("Literal",{value:n.port,quoted:!0},[]):void 0,compass:n.compass?We("Literal",{value:n.compass,quoted:!0},[]):void 0},[]):We("NodeRefGroup",{},n.map(r=>yb(r)?We("NodeRef",{id:We("Literal",{value:r.id,quoted:!0},[])},[]):We("NodeRef",{id:We("Literal",{value:r.id,quoted:!0},[]),port:r.port?We("Literal",{value:r.port,quoted:!0},[]):void 0,compass:r.compass?We("Literal",{value:r.compass,quoted:!0},[]):void 0},[]))))},[...e.attributes.comment?[uo(e.attributes.comment,t.commentKind)]:[],...e.attributes.values.map(([n,r])=>zp(n,r))])}},HX={match(t){return t.$$type==="Graph"},convert(t,e){return We("Dot",{},[...e.comment?[uo(e.comment,t.commentKind)]:[],We("Graph",{directed:e.directed,strict:e.strict,id:e.id?We("Literal",{value:e.id,quoted:!0},[]):void 0},Dx(t,e))])}},VX={match(t){return t.$$type==="Node"},convert(t,e){return We("Node",{id:We("Literal",{value:e.id,quoted:!0},[])},[...e.attributes.comment?[uo(e.attributes.comment,t.commentKind)]:[],...e.attributes.values.map(([n,r])=>zp(n,r))])}},KX={match(t){return t.$$type==="Subgraph"},convert(t,e){return We("Subgraph",{id:e.id?We("Literal",{value:e.id,quoted:!0},[]):void 0},Dx(t,e))}},YX=[GX,WX,VX,HX,KX];class XX{options;#e=[...YX];constructor(e={}){this.options=e}convert(e){const n=[...this.#e],{commentKind:r="Slash"}=this.options,i={commentKind:r,convert(s){for(const o of n)if(o.match(s))return o.convert(i,s);throw Error()}};return i.convert(e)}}function JX(t,e){return new XX(e).convert(t)}const j=new Proxy(Object.freeze({}),{get:(t,e)=>e});class vb{}class wb extends vb{#e=new Map;constructor(e){super(),e!==void 0&&this.apply(e)}get values(){return Array.from(this.#e.entries())}get size(){return this.#e.size}get(e){return this.#e.get(e)}set(e,n){n!=null&&this.#e.set(e,n)}delete(e){this.#e.delete(e)}apply(e){const n=Array.isArray(e)?e:Object.entries(e);for(const[r,i]of n)this.set(r,i)}clear(){this.#e.clear()}}class bb extends wb{$$kind;get $$type(){return"AttributeList"}comment;constructor(e,n){super(n),this.$$kind=e}}class Tx extends wb{#e=Lp;id;comment;attributes=Object.freeze({graph:new bb("Graph"),edge:new bb("Edge"),node:new bb("Node")});get nodes(){return Array.from(this.#t.nodes.values())}get edges(){return Array.from(this.#t.edges.values())}get subgraphs(){return Array.from(this.#t.subgraphs.values())}#t={nodes:new Map,edges:new Set,subgraphs:new Set};with(e){this.#e=DX(e)}addNode(e){this.#t.nodes.set(e.id,e)}addEdge(e){this.#t.edges.add(e)}addSubgraph(e){this.#t.subgraphs.add(e)}existNode(e){return this.#t.nodes.has(e)}existEdge(e){return this.#t.edges.has(e)}existSubgraph(e){return this.#t.subgraphs.has(e)}createSubgraph(...e){const n=new this.#e.Subgraph(...e);return n.with(this.#e),this.addSubgraph(n),n}removeNode(e){this.#t.nodes.delete(typeof e=="string"?e:e.id)}removeEdge(e){this.#t.edges.delete(e)}removeSubgraph(e){this.#t.subgraphs.delete(e)}createNode(e,n){const r=new this.#e.Node(e,n);return this.addNode(r),r}getSubgraph(e){return Array.from(this.#t.subgraphs.values()).find(n=>n.id===e)}getNode(e){return this.#t.nodes.get(e)}createEdge(e,n){const r=e.map(s=>wX(s)?EX(s):wx(s)),i=new this.#e.Edge(r,n);return this.addEdge(i),i}subgraph(...e){const n=e.find(o=>typeof o=="string"),r=e.find(o=>typeof o=="object"&&o!==null),i=e.find(o=>typeof o=="function"),s=n?this.getSubgraph(n)??this.createSubgraph(n):this.createSubgraph();return r!==void 0&&s.apply(r),i!==void 0&&i(s),s}node(e,...n){if(typeof e=="string"){const r=e,i=n.find(a=>typeof a=="object"&&a!==null),s=n.find(a=>typeof a=="function"),o=this.getNode(r)??this.createNode(r);return i!==void 0&&o.attributes.apply(i),s!==void 0&&s(o),o}typeof e=="object"&&e!==null&&this.attributes.node.apply(e)}edge(e,...n){if(Array.isArray(e)){const r=e,i=n.find(a=>typeof a=="object"),s=n.find(a=>typeof a=="function"),o=this.createEdge(r,i);return s!==void 0&&s(o),o}typeof e=="object"&&e!==null&&this.attributes.edge.apply(e)}graph(e){this.attributes.graph.apply(e)}}class Rx extends Tx{get $$type(){return"Graph"}id;strict;constructor(...e){super(),this.id=e.find(r=>typeof r=="string"),this.strict=e.find(r=>typeof r=="boolean")??!1;const n=e.find(r=>typeof r=="object"&&r!==null);n!==void 0&&this.apply(n)}}class ZX extends Rx{get directed(){return!0}}class QX extends Rx{get directed(){return!1}}class eJ extends Tx{get $$type(){return"Subgraph"}id;constructor(...e){super(),this.id=e.find(r=>typeof r=="string");const n=e.find(r=>typeof r=="object"&&r!==null);n!==void 0&&this.apply(n)}isSubgraphCluster(){return typeof this.id=="string"?this.id.startsWith("cluster"):!1}}class Sx extends wb{comment}let tJ=class extends vb{id;get $$type(){return"Node"}comment;attributes;constructor(e,n){super(),this.id=e,this.attributes=new Sx(n)}port(e){return typeof e=="string"?{id:this.id,port:e}:{id:this.id,...e}}};class nJ extends vb{targets;get $$type(){return"Edge"}comment;attributes;constructor(e,n){if(super(),this.targets=e,e.length<2&&(Ql(e[0])&&Ql(e[1]))===!1)throw Error("The element of Edge target is missing or not satisfied as Edge target.");this.attributes=new Sx(n)}}Object.assign(Lp,{Graph:QX,Digraph:ZX,Subgraph:eJ,Node:tJ,Edge:nJ});function kx(t,e){return(...n)=>{const r=t?this.Digraph:this.Graph,i=n.find(c=>typeof c=="string"),s=n.find(c=>typeof c=="object"),o=n.find(c=>typeof c=="function"),a=new r(i,e,s);return a.with(this),typeof o=="function"&&o(a),a}}function $x(t,e=Lp){return Object.freeze({digraph:kx.call(e,!0,t),graph:kx.call(e,!1,t)})}const Cx=$x(!1),rJ=Cx.digraph;Cx.graph;const iJ=$x(!0);function _x(t,e){const n=JX(t,e?.convert);return UX(n,e?.print)}var Eb,Ax;function sJ(){if(Ax)return Eb;Ax=1;function t(r){let i=r.length-1,s=r[i];for(;s===" "||s===" ";)s=r[--i];return r.substring(0,i+1)}function e(r){return r.split(`
1757
- `).map(o=>t(o)).join(`
1758
- `)}Eb=function(r,i){if(i=i||{},r==null)return r;var s=i.width||50,o=typeof i.indent=="string"?i.indent:" ",a=i.newline||`
1759
- `+o,c=typeof i.escape=="function"?i.escape:n,u=".{1,"+s+"}";i.cut!==!0&&(u+="([\\s\u200B]+|$)|[^\\s\u200B]+?([\\s\u200B]+|$)");var l=new RegExp(u,"g"),d=r.match(l)||[],f=o+d.map(function(h){return h.slice(-1)===`
1760
- `&&(h=h.slice(0,h.length-1)),c(h)}).join(a);return i.trim===!0&&(f=e(f)),f};function n(r){return r}return Eb}var oJ=sJ();const Bp={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:t=>t>=255?255:t<0?0:t,g:t=>t>=255?255:t<0?0:t,b:t=>t>=255?255:t<0?0:t,h:t=>t%360,s:t=>t>=100?100:t<0?0:t,l:t=>t>=100?100:t<0?0:t,a:t=>t>=1?1:t<0?0:t},toLinear:t=>{const e=t/255;return t>.03928?Math.pow((e+.055)/1.055,2.4):e/12.92},hue2rgb:(t,e,n)=>(n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+(e-t)*6*n:n<1/2?e:n<2/3?t+(e-t)*(2/3-n)*6:t),hsl2rgb:({h:t,s:e,l:n},r)=>{if(!e)return n*2.55;t/=360,e/=100,n/=100;const i=n<.5?n*(1+e):n+e-n*e,s=2*n-i;switch(r){case"r":return Bp.hue2rgb(s,i,t+1/3)*255;case"g":return Bp.hue2rgb(s,i,t)*255;case"b":return Bp.hue2rgb(s,i,t-1/3)*255}},rgb2hsl:({r:t,g:e,b:n},r)=>{t/=255,e/=255,n/=255;const i=Math.max(t,e,n),s=Math.min(t,e,n),o=(i+s)/2;if(r==="l")return o*100;if(i===s)return 0;const a=i-s,c=o>.5?a/(2-i-s):a/(i+s);if(r==="s")return c*100;switch(i){case t:return((e-n)/a+(e<n?6:0))*60;case e:return((n-t)/a+2)*60;case n:return((t-e)/a+4)*60;default:return-1}}},aJ={clamp:(t,e,n)=>e>n?Math.min(e,Math.max(n,t)):Math.min(n,Math.max(e,t)),round:t=>Math.round(t*1e10)/1e10},cJ={dec2hex:t=>{const e=Math.round(t).toString(16);return e.length>1?e:`0${e}`}},Ce={channel:Bp,lang:aJ,unit:cJ},ss={};for(let t=0;t<=255;t++)ss[t]=Ce.unit.dec2hex(t);const en={ALL:0,RGB:1,HSL:2};class uJ{constructor(){this.type=en.ALL}get(){return this.type}set(e){if(this.type&&this.type!==e)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=e}reset(){this.type=en.ALL}is(e){return this.type===e}}class lJ{constructor(e,n){this.color=n,this.changed=!1,this.data=e,this.type=new uJ}set(e,n){return this.color=n,this.changed=!1,this.data=e,this.type.type=en.ALL,this}_ensureHSL(){const e=this.data,{h:n,s:r,l:i}=e;n===void 0&&(e.h=Ce.channel.rgb2hsl(e,"h")),r===void 0&&(e.s=Ce.channel.rgb2hsl(e,"s")),i===void 0&&(e.l=Ce.channel.rgb2hsl(e,"l"))}_ensureRGB(){const e=this.data,{r:n,g:r,b:i}=e;n===void 0&&(e.r=Ce.channel.hsl2rgb(e,"r")),r===void 0&&(e.g=Ce.channel.hsl2rgb(e,"g")),i===void 0&&(e.b=Ce.channel.hsl2rgb(e,"b"))}get r(){const e=this.data,n=e.r;return!this.type.is(en.HSL)&&n!==void 0?n:(this._ensureHSL(),Ce.channel.hsl2rgb(e,"r"))}get g(){const e=this.data,n=e.g;return!this.type.is(en.HSL)&&n!==void 0?n:(this._ensureHSL(),Ce.channel.hsl2rgb(e,"g"))}get b(){const e=this.data,n=e.b;return!this.type.is(en.HSL)&&n!==void 0?n:(this._ensureHSL(),Ce.channel.hsl2rgb(e,"b"))}get h(){const e=this.data,n=e.h;return!this.type.is(en.RGB)&&n!==void 0?n:(this._ensureRGB(),Ce.channel.rgb2hsl(e,"h"))}get s(){const e=this.data,n=e.s;return!this.type.is(en.RGB)&&n!==void 0?n:(this._ensureRGB(),Ce.channel.rgb2hsl(e,"s"))}get l(){const e=this.data,n=e.l;return!this.type.is(en.RGB)&&n!==void 0?n:(this._ensureRGB(),Ce.channel.rgb2hsl(e,"l"))}get a(){return this.data.a}set r(e){this.type.set(en.RGB),this.changed=!0,this.data.r=e}set g(e){this.type.set(en.RGB),this.changed=!0,this.data.g=e}set b(e){this.type.set(en.RGB),this.changed=!0,this.data.b=e}set h(e){this.type.set(en.HSL),this.changed=!0,this.data.h=e}set s(e){this.type.set(en.HSL),this.changed=!0,this.data.s=e}set l(e){this.type.set(en.HSL),this.changed=!0,this.data.l=e}set a(e){this.changed=!0,this.data.a=e}}const Db=new lJ({r:0,g:0,b:0,a:0},"transparent"),Ca={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:t=>{if(t.charCodeAt(0)!==35)return;const e=t.match(Ca.re);if(!e)return;const n=e[1],r=parseInt(n,16),i=n.length,s=i%4===0,o=i>4,a=o?1:17,c=o?8:4,u=s?0:-1,l=o?255:15;return Db.set({r:(r>>c*(u+3)&l)*a,g:(r>>c*(u+2)&l)*a,b:(r>>c*(u+1)&l)*a,a:s?(r&l)*a/255:1},t)},stringify:t=>{const{r:e,g:n,b:r,a:i}=t;return i<1?`#${ss[Math.round(e)]}${ss[Math.round(n)]}${ss[Math.round(r)]}${ss[Math.round(i*255)]}`:`#${ss[Math.round(e)]}${ss[Math.round(n)]}${ss[Math.round(r)]}`}},lo={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:t=>{const e=t.match(lo.hueRe);if(e){const[,n,r]=e;switch(r){case"grad":return Ce.channel.clamp.h(parseFloat(n)*.9);case"rad":return Ce.channel.clamp.h(parseFloat(n)*180/Math.PI);case"turn":return Ce.channel.clamp.h(parseFloat(n)*360)}}return Ce.channel.clamp.h(parseFloat(t))},parse:t=>{const e=t.charCodeAt(0);if(e!==104&&e!==72)return;const n=t.match(lo.re);if(!n)return;const[,r,i,s,o,a]=n;return Db.set({h:lo._hue2deg(r),s:Ce.channel.clamp.s(parseFloat(i)),l:Ce.channel.clamp.l(parseFloat(s)),a:o?Ce.channel.clamp.a(a?parseFloat(o)/100:parseFloat(o)):1},t)},stringify:t=>{const{h:e,s:n,l:r,a:i}=t;return i<1?`hsla(${Ce.lang.round(e)}, ${Ce.lang.round(n)}%, ${Ce.lang.round(r)}%, ${i})`:`hsl(${Ce.lang.round(e)}, ${Ce.lang.round(n)}%, ${Ce.lang.round(r)}%)`}},td={colors:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyanaqua:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",transparent:"#00000000",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},parse:t=>{t=t.toLowerCase();const e=td.colors[t];if(e)return Ca.parse(e)},stringify:t=>{const e=Ca.stringify(t);for(const n in td.colors)if(td.colors[n]===e)return n}},nd={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:t=>{const e=t.charCodeAt(0);if(e!==114&&e!==82)return;const n=t.match(nd.re);if(!n)return;const[,r,i,s,o,a,c,u,l]=n;return Db.set({r:Ce.channel.clamp.r(i?parseFloat(r)*2.55:parseFloat(r)),g:Ce.channel.clamp.g(o?parseFloat(s)*2.55:parseFloat(s)),b:Ce.channel.clamp.b(c?parseFloat(a)*2.55:parseFloat(a)),a:u?Ce.channel.clamp.a(l?parseFloat(u)/100:parseFloat(u)):1},t)},stringify:t=>{const{r:e,g:n,b:r,a:i}=t;return i<1?`rgba(${Ce.lang.round(e)}, ${Ce.lang.round(n)}, ${Ce.lang.round(r)}, ${Ce.lang.round(i)})`:`rgb(${Ce.lang.round(e)}, ${Ce.lang.round(n)}, ${Ce.lang.round(r)})`}},os={format:{keyword:td,hex:Ca,rgb:nd,rgba:nd,hsl:lo,hsla:lo},parse:t=>{if(typeof t!="string")return t;const e=Ca.parse(t)||nd.parse(t)||lo.parse(t)||td.parse(t);if(e)return e;throw new Error(`Unsupported color format: "${t}"`)},stringify:t=>!t.changed&&t.color?t.color:t.type.is(en.HSL)||t.data.r===void 0?lo.stringify(t):t.a<1||!Number.isInteger(t.r)||!Number.isInteger(t.g)||!Number.isInteger(t.b)?nd.stringify(t):Ca.stringify(t)},dJ=(t,e)=>{const n=os.parse(t);for(const r in e)n[r]=Ce.channel.clamp[r](e[r]);return os.stringify(n)},xx=t=>os.format.hex.stringify(os.parse(t)),fJ=(t,e,n)=>{const r=os.parse(t),i=r[e],s=Ce.channel.clamp[e](i+n);return i!==s&&(r[e]=s),os.stringify(r)},hJ=(t,e)=>fJ(t,"a",-e),pJ=(t,e)=>{const n=os.parse(t),r={};for(const i in e)e[i]&&(r[i]=n[i]+e[i]);return dJ(t,r)},mJ=(t,e)=>{const n=os.parse(t),r={},i=(s,o,a)=>o>0?(a-s)*o/100:s*o/100;for(const s in e)r[s]=i(n[s],e[s],Ce.channel.max[s]);return pJ(t,r)};class gJ{value;next;constructor(e){this.value=e}}class yJ{#e;#t;#n;constructor(){this.clear()}enqueue(e){const n=new gJ(e);this.#e?(this.#t.next=n,this.#t=n):(this.#e=n,this.#t=n),this.#n++}dequeue(){const e=this.#e;if(e)return this.#e=this.#e.next,this.#n--,e.value}peek(){if(this.#e)return this.#e.value}clear(){this.#e=void 0,this.#t=void 0,this.#n=0}get size(){return this.#n}*[Symbol.iterator](){let e=this.#e;for(;e;)yield e.value,e=e.next}}function qp(t){Ix(t);const e=new yJ;let n=0;const r=()=>{n<t&&e.size>0&&(e.dequeue()(),n++)},i=()=>{n--,r()},s=async(c,u,l)=>{const d=(async()=>c(...l))();u(d);try{await d}catch{}i()},o=(c,u,l)=>{new Promise(d=>{e.enqueue(d)}).then(s.bind(void 0,c,u,l)),(async()=>(await Promise.resolve(),n<t&&r()))()},a=(c,...u)=>new Promise(l=>{o(c,l,u)});return Object.defineProperties(a,{activeCount:{get:()=>n},pendingCount:{get:()=>e.size},clearQueue:{value(){e.clear()}},concurrency:{get:()=>t,set(c){Ix(c),t=c,queueMicrotask(()=>{for(;n<t&&e.size>0;)r()})}}}),a}function Ix(t){if(!((Number.isInteger(t)||t===Number.POSITIVE_INFINITY)&&t>0))throw new TypeError("Expected `concurrency` to be a number from 1 and up")}var vJ=Object.getOwnPropertyNames,wJ=Object.getOwnPropertySymbols,bJ=Object.prototype.hasOwnProperty;function Px(t,e){return function(n,r,i){return t(n,r,i)&&e(n,r,i)}}function jp(t){return function(e,n,r){if(!e||!n||typeof e!="object"||typeof n!="object")return t(e,n,r);var i=r.cache,s=i.get(e),o=i.get(n);if(s&&o)return s===n&&o===e;i.set(e,n),i.set(n,e);var a=t(e,n,r);return i.delete(e),i.delete(n),a}}function Nx(t){return vJ(t).concat(wJ(t))}var Ox=Object.hasOwn||function(t,e){return bJ.call(t,e)};function _a(t,e){return t||e?t===e:t===e||t!==t&&e!==e}var Lx="_owner",Fx=Object.getOwnPropertyDescriptor,Mx=Object.keys;function EJ(t,e,n){var r=t.length;if(e.length!==r)return!1;for(;r-- >0;)if(!n.equals(t[r],e[r],r,r,t,e,n))return!1;return!0}function DJ(t,e){return _a(t.getTime(),e.getTime())}function zx(t,e,n){if(t.size!==e.size)return!1;for(var r={},i=t.entries(),s=0,o,a;(o=i.next())&&!o.done;){for(var c=e.entries(),u=!1,l=0;(a=c.next())&&!a.done;){var d=o.value,f=d[0],h=d[1],p=a.value,m=p[0],g=p[1];!u&&!r[l]&&(u=n.equals(f,m,s,l,t,e,n)&&n.equals(h,g,f,m,t,e,n))&&(r[l]=!0),l++}if(!u)return!1;s++}return!0}function TJ(t,e,n){var r=Mx(t),i=r.length;if(Mx(e).length!==i)return!1;for(var s;i-- >0;)if(s=r[i],s===Lx&&(t.$$typeof||e.$$typeof)&&t.$$typeof!==e.$$typeof||!Ox(e,s)||!n.equals(t[s],e[s],s,s,t,e,n))return!1;return!0}function rd(t,e,n){var r=Nx(t),i=r.length;if(Nx(e).length!==i)return!1;for(var s,o,a;i-- >0;)if(s=r[i],s===Lx&&(t.$$typeof||e.$$typeof)&&t.$$typeof!==e.$$typeof||!Ox(e,s)||!n.equals(t[s],e[s],s,s,t,e,n)||(o=Fx(t,s),a=Fx(e,s),(o||a)&&(!o||!a||o.configurable!==a.configurable||o.enumerable!==a.enumerable||o.writable!==a.writable)))return!1;return!0}function RJ(t,e){return _a(t.valueOf(),e.valueOf())}function SJ(t,e){return t.source===e.source&&t.flags===e.flags}function Bx(t,e,n){if(t.size!==e.size)return!1;for(var r={},i=t.values(),s,o;(s=i.next())&&!s.done;){for(var a=e.values(),c=!1,u=0;(o=a.next())&&!o.done;)!c&&!r[u]&&(c=n.equals(s.value,o.value,s.value,o.value,t,e,n))&&(r[u]=!0),u++;if(!c)return!1}return!0}function kJ(t,e){var n=t.length;if(e.length!==n)return!1;for(;n-- >0;)if(t[n]!==e[n])return!1;return!0}var $J="[object Arguments]",CJ="[object Boolean]",_J="[object Date]",AJ="[object Map]",xJ="[object Number]",IJ="[object Object]",PJ="[object RegExp]",NJ="[object Set]",OJ="[object String]",LJ=Array.isArray,qx=typeof ArrayBuffer=="function"&&ArrayBuffer.isView?ArrayBuffer.isView:null,jx=Object.assign,FJ=Object.prototype.toString.call.bind(Object.prototype.toString);function MJ(t){var e=t.areArraysEqual,n=t.areDatesEqual,r=t.areMapsEqual,i=t.areObjectsEqual,s=t.arePrimitiveWrappersEqual,o=t.areRegExpsEqual,a=t.areSetsEqual,c=t.areTypedArraysEqual;return function(u,l,d){if(u===l)return!0;if(u==null||l==null||typeof u!="object"||typeof l!="object")return u!==u&&l!==l;var f=u.constructor;if(f!==l.constructor)return!1;if(f===Object)return i(u,l,d);if(LJ(u))return e(u,l,d);if(qx!=null&&qx(u))return c(u,l,d);if(f===Date)return n(u,l,d);if(f===RegExp)return o(u,l,d);if(f===Map)return r(u,l,d);if(f===Set)return a(u,l,d);var h=FJ(u);return h===_J?n(u,l,d):h===PJ?o(u,l,d):h===AJ?r(u,l,d):h===NJ?a(u,l,d):h===IJ?typeof u.then!="function"&&typeof l.then!="function"&&i(u,l,d):h===$J?i(u,l,d):h===CJ||h===xJ||h===OJ?s(u,l,d):!1}}function zJ(t){var e=t.circular,n=t.createCustomConfig,r=t.strict,i={areArraysEqual:r?rd:EJ,areDatesEqual:DJ,areMapsEqual:r?Px(zx,rd):zx,areObjectsEqual:r?rd:TJ,arePrimitiveWrappersEqual:RJ,areRegExpsEqual:SJ,areSetsEqual:r?Px(Bx,rd):Bx,areTypedArraysEqual:r?rd:kJ};if(n&&(i=jx({},i,n(i))),e){var s=jp(i.areArraysEqual),o=jp(i.areMapsEqual),a=jp(i.areObjectsEqual),c=jp(i.areSetsEqual);i=jx({},i,{areArraysEqual:s,areMapsEqual:o,areObjectsEqual:a,areSetsEqual:c})}return i}function BJ(t){return function(e,n,r,i,s,o,a){return t(e,n,a)}}function qJ(t){var e=t.circular,n=t.comparator,r=t.createState,i=t.equals,s=t.strict;if(r)return function(a,c){var u=r(),l=u.cache,d=l===void 0?e?new WeakMap:void 0:l,f=u.meta;return n(a,c,{cache:d,equals:i,meta:f,strict:s})};if(e)return function(a,c){return n(a,c,{cache:new WeakMap,equals:i,meta:void 0,strict:s})};var o={cache:void 0,equals:i,meta:void 0,strict:s};return function(a,c){return n(a,c,o)}}var jJ=as();as({strict:!0}),as({circular:!0}),as({circular:!0,strict:!0}),as({createInternalComparator:function(){return _a}}),as({strict:!0,createInternalComparator:function(){return _a}}),as({circular:!0,createInternalComparator:function(){return _a}}),as({circular:!0,createInternalComparator:function(){return _a},strict:!0});function as(t){t===void 0&&(t={});var e=t.circular,n=e===void 0?!1:e,r=t.createInternalComparator,i=t.createState,s=t.strict,o=s===void 0?!1:s,a=zJ(t),c=MJ(a),u=r?r(c):BJ(c);return qJ({circular:n,comparator:c,createState:i,equals:u,strict:o})}function Ux(t,e){const n=t.nodes.map(i=>{const s=e.nodes[i.id];if(!s)return i;const{x:o,y:a,width:c,height:u}=s;return{...i,width:c,height:u,position:[o,a]}}),r=t.edges.map(i=>{const s=e.edges[i.id];return s?{...i,...s}:i});return{...t,bounds:{x:e.x,y:e.y,width:e.width,height:e.height},nodes:n,edges:r}}const Gx=(t,e)=>t.width>e.width+10||t.height>e.height+10;function UJ(t,e){if(t.hash===e.hash)return{diagram:Ux(t,e)};if(jJ(t.autoLayout,e.autoLayout)&&t.nodes.every(r=>{const i=e.nodes[r.id];return!!i&&(r.children.length>0&&i.isCompound||r.children.length===0&&!i.isCompound)&&(i.isCompound||Gx(r,i)===!1)})&&t.edges.every(r=>{const i=e.edges[r.id];return!!i&&(!r.labelBBox&&!i.labelBBox||!!r.labelBBox&&!!i.labelBBox&&r.labelBBox.width<=i.labelBBox.width&&r.labelBBox.height<=i.labelBBox.height)}))return{diagram:Ux(t,e)};const n=t.nodes.reduce((r,i)=>{const s=e.nodes[i.id];if(i.children.length>0||!s)return r;const o={id:i.id,center:{x:Math.round(s.x+s.width/2),y:Math.round(s.y+s.height/2)}};return s.isCompound||Gx(i,s)||(o.fixedsize={width:s.width,height:s.height}),r.push(o),r},[]);return{relayout:{x:e.x,y:e.y,height:e.height,nodes:n,edges:oa(e.edges).flatMap(([r,i])=>i.dotpos?{id:r,dotpos:i.dotpos}:[])}}}function Mn(t){return t.children.length>0}function Qn(t){switch(t){case"open":return"vee";default:return t}}function Hr(t){return Array.isArray(t)?[Hr(t[0]),Hr(t[1])]:(we(isFinite(t),`Invalid not finite point value ${t}`),Math.round(t))}const Wx=t=>(we(isFinite(t),`Invalid not finite inch value ${t}`),Math.floor(t*72)),ht=t=>Math.ceil(t/72*1e3)/1e3,er=t=>Math.ceil(t);er(40).toString();function Hx(t,e){return xx(mJ(t,{l:-35-5*e,s:-15-5*e}))}function GJ(t){return xx(hJ(t,.3))}function WJ(t){return t.trim().replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;")}function Tb(t,e,n){let r=oJ(t,{width:e,indent:"",escape:WJ}).split(`
1761
- `);return At(n)&&n>0&&r.length>n&&(r=r.slice(0,n-1)),r}function cs({text:t,maxchars:e,fontsize:n,maxLines:r,bold:i,color:s}){let o=Tb(t,e,r).join("<BR/>");i&&(o=`<B>${o}</B>`);const a=s?` COLOR="${s}"`:"";return`<FONT POINT-SIZE="${er(n)}"${a}>${o}</FONT>`}function HJ(t,e){const n=ae(t.icon),r=[cs({text:t.title,fontsize:19,maxchars:35,maxLines:2})];if(ae(t.technology)&&r.push(cs({text:t.technology,fontsize:12,maxchars:n?35:45,maxLines:1,color:e.loContrast})),ae(t.description)&&r.push(cs({text:t.description,fontsize:14,maxchars:n?35:45,maxLines:5,color:e.loContrast})),r.length===1&&!n)return`<${r[0]}>`;const i=n?(s,o,a)=>{let c=`<TD ALIGN="TEXT" BALIGN="LEFT">${s}</TD>`;if(o===0){const u=a.length>1?` ROWSPAN="${a.length}"`:"";let l=76;(t.shape==="queue"||t.shape==="mobile")&&(l+=20),c=`<TD${u} WIDTH="${l}" HEIGHT="16" FIXEDSIZE="TRUE"> </TD>${c}`,c=`${c}<TD${u} WIDTH="16" HEIGHT="16" FIXEDSIZE="TRUE"> </TD>`}return`<TR>${c}</TR>`}:s=>`<TR><TD>${s}</TD></TR>`;return`<<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="6">${r.map(i).join("")}</TABLE>>`}function VJ(t,e){const n=cs({text:t.title.toUpperCase(),maxchars:50,fontsize:11,maxLines:1,bold:!0,color:e});return n.includes("<BR/>")?`<<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0"><TR><TD ALIGN="TEXT" BALIGN="LEFT">${n}</TD></TR></TABLE>>`:`<${n}>`}const Aa=35;function KJ({label:t,description:e,technology:n}){const r=[];if(ae(t)&&r.push(cs({text:t,maxchars:Aa,fontsize:14,maxLines:4,bold:t==="[...]"})),ae(e)&&r.push(cs({text:e,maxchars:Aa,maxLines:4,fontsize:14})),ae(n)&&r.push(cs({text:n,fontsize:12,maxLines:1,maxchars:Aa})),r.length===0)return null;const i=r.map(s=>`<TR><TD ALIGN="TEXT" BALIGN="LEFT">${s}</TD></TR>`).join("");return`<<TABLE BORDER="0" CELLPADDING="3" CELLSPACING="0" ${Rb}>${i}</TABLE>>`}const Rb=`BGCOLOR="${Wn.relationships[Ts].labelBgColor}A0"`;function YJ(t,e){const n=`<TABLE BORDER="0" CELLPADDING="6" ${Rb}><TR><TD FIXEDSIZE="TRUE" WIDTH="20" HEIGHT="20"><FONT POINT-SIZE="${er(14)}"><B>${t}</B></FONT></TD></TR></TABLE>`;return ae(e)?`<${['<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">',"<TR>",`<TD>${n}</TD>`,`<TD ${Rb} CELLPADDING="2">`,cs({text:e,maxchars:Aa,fontsize:14}),"</TD>","</TR>","</TABLE>"].join("")}>`:`<${n}>`}const Vx="dashed",Sb=Wn.font;class Kx{constructor(e){this.view=e,this.compoundIds=new Set(e.nodes.filter(Mn).map(r=>r.id)),this.edgesWithCompounds=new Set(this.compoundIds.size>0?e.edges.filter(r=>this.compoundIds.has(r.source)||this.compoundIds.has(r.target)).map(r=>r.id):[]);const n=this.graphvizModel=this.createGraph();this.applyNodeAttributes(n.attributes.node),this.applyEdgeAttributes(n.attributes.edge),this.buildGraphvizModel(n)}ids=new Set;subgraphs=new Map;nodes=new Map;edges=new Map;compoundIds;edgesWithCompounds;graphvizModel;get hasEdgesWithCompounds(){return this.edgesWithCompounds.size>0}buildGraphvizModel(e){const n=(i,s)=>{const o=this.nodeId(i),a=this.elementToSubgraph(i,s.subgraph(o));this.subgraphs.set(i.id,a);for(const c of this.view.nodes.filter(u=>Mn(u)&&u.parent===i.id))n(c,a)},r=[];for(const i of this.view.nodes)Mn(i)?at(i.parent)&&n(i,e):r.push(i);for(const i of r){const s=i.parent?this.getSubgraph(i.parent):e;we(s,"parent graph should be defined");const o=this.nodeId(i),a=this.elementToNode(i,s.node(o));this.nodes.set(i.id,a)}for(const i of this.view.edges){const s=this.addEdge(i,e);s&&this.edges.set(i.id,s)}}print(){return _x(this.graphvizModel,{print:{indentStyle:"space",indentSize:2}})}createGraph(){const e=this.view.autoLayout,n=rJ({[j.bgcolor]:"transparent",[j.layout]:"dot",[j.compound]:!0,[j.rankdir]:e.direction,[j.TBbalance]:"min",[j.splines]:"spline",[j.outputorder]:"nodesfirst",[j.nodesep]:ht(e.nodeSep??110),[j.ranksep]:ht(e.rankSep??120),[j.pack]:er(e.rankSep??120),[j.packmode]:"array_3",[j.pad]:ht(15),[j.fontname]:Sb});return n.attributes.graph.apply({[j.fontsize]:er(15),[j.labeljust]:e.direction==="RL"?"r":"l",[j.labelloc]:e.direction==="BT"?"b":"t",[j.margin]:50.1}),n}applyNodeAttributes(e){e.apply({[j.fontname]:Sb,[j.shape]:"rect",[j.width]:ht(320),[j.height]:ht(180),[j.style]:"filled",[j.penwidth]:0})}applyEdgeAttributes(e){e.apply({[j.arrowsize]:.75,[j.fontname]:Sb,[j.fontsize]:er(14),[j.penwidth]:er(2),[j.color]:Wn.relationships[Ts].lineColor,[j.fontcolor]:Wn.relationships[Ts].labelColor})}checkNodeId(e,n=!1){return n?e="cluster_"+e:e.toLowerCase().startsWith("cluster")&&(e="nd_"+e),this.ids.has(e)?null:(this.ids.add(e),e)}nodeId(e){const n=Mn(e);let r=So(e.id).toLowerCase(),i=this.checkNodeId(r,n);if(i!==null)return i;let s=e.id,o;for(;o=kt(s);){if(r=So(o).toLowerCase()+"_"+r,i=this.checkNodeId(r,n),i!==null)return i;s=o}r=So(e.id).toLowerCase();let a=1;do i=this.checkNodeId(r+"_"+a++,n);while(i===null);return i}elementToSubgraph(e,n){we(Mn(e),"node should be compound"),we(lh(e.depth),"node.depth should be defined");const r=this.getElementColorValues(e.color),i=GJ(r.loContrast);return n.apply({[j.likec4_id]:e.id,[j.likec4_level]:e.level,[j.likec4_depth]:e.depth,[j.fillcolor]:Hx(r.fill,e.depth),[j.color]:Hx(r.stroke,e.depth),[j.style]:"filled",[j.margin]:er(e.children.length>1?40:32)}),Yi(e.title.trim())||n.set(j.label,VJ(e,i)),n}elementToNode(e,n){we(!Mn(e),"node should not be compound");const r=ae(e.icon),i=this.getElementColorValues(e.color);switch(n.attributes.apply({[j.likec4_id]:e.id,[j.likec4_level]:e.level,[j.fillcolor]:i.fill,[j.fontcolor]:i.hiContrast,[j.color]:i.stroke,[j.margin]:`${ht(r?10:26)},${ht(26)}`}),e.shape){case"cylinder":case"storage":{n.attributes.apply({[j.margin]:`${ht(r?10:26)},${ht(0)}`,[j.penwidth]:er(2),[j.shape]:"cylinder"});break}case"browser":{n.attributes.apply({[j.margin]:`${ht(r?10:30)},${ht(32)}`});break}case"mobile":{n.attributes.apply({[j.margin]:`${ht(r?10:30)},${ht(26)}`});break}case"queue":{n.attributes.apply({[j.width]:ht(320),[j.height]:ht(165),[j.margin]:`${ht(r?10:30)},${ht(26)}`});break}}return n.attributes.set(j.label,HJ(e,i)),n}leafElements(e){if(e===null)return this.view.nodes.filter(r=>!Mn(r));const n=e+".";return this.view.nodes.filter(r=>!Mn(r)&&r.id.startsWith(n))}viewElement(e){return et(this.view.nodes.find(n=>n.id===e),`Node ${e} not found`)}getGraphNode(e){return this.nodes.get(e)??null}getSubgraph(e){return this.subgraphs.get(e)??null}edgeEndpoint(e,n){let r=this.viewElement(e),i=this.getGraphNode(e),s;return i||(we(Mn(r),"endpoint node should be compound"),s=this.getSubgraph(e)?.id,we(s,`subgraph ${e} not found`),r=et(n(this.leafElements(e)),`leaf element in ${e} not found`),i=et(this.getGraphNode(r.id),`source graphviz node ${r.id} not found`)),[r,i,s]}hasInternalEdges(e){return e===null?this.view.edges.length>0:this.view.edges.some(LE(e))}findInternalEdges(e){return e===null?this.view.edges.slice():this.view.edges.filter(LE(e))}withoutCompoundEdges(e){return this.edgesWithCompounds.size===0?e:{...e,inEdges:e.inEdges.filter(n=>!this.edgesWithCompounds.has(n)),outEdges:e.outEdges.filter(n=>!this.edgesWithCompounds.has(n))}}assignGroups(){const e=Ke(this.view.nodes,nt(Mn),Dt(r=>r.id),ra(ko),uh(),Dt(r=>{const i=this.findInternalEdges(r).filter(s=>s.source!==s.target&&!this.compoundIds.has(s.source)&&!this.compoundIds.has(s.target));return{id:r,edges:i}}),nt(({edges:r})=>r.length>1&&r.length<8),VU(4)),n=new Set;for(const r of e){const i=r.edges.filter(s=>!n.has(s.source)&&!n.has(s.target));for(const s of i)try{const o=et(this.getGraphNode(s.source),`Graphviz Node not found for ${s.source}`),a=et(this.getGraphNode(s.target),`Graphviz Node not found for ${s.target}`);n.add(s.source),n.add(s.target),o.attributes.set(j.group,r.id),a.attributes.set(j.group,r.id)}catch(o){Xe.error(o)}}}applyManualLayout({height:e,...n}){const r=n.x<0?-n.x:0,i=n.y<0?-n.y:0,s=r>0||i>0;for(const{id:o,...a}of n.nodes){const c=this.getGraphNode(o);if(!c)continue;const u=ht(a.center.x)+r,l=ht(e-a.center.y);a.fixedsize?c.attributes.apply({[j.pos]:`${u},${l}!`,[j.pin]:!0,[j.width]:ht(a.fixedsize.width),[j.height]:ht(a.fixedsize.height),[j.fixedsize]:!0}):c.attributes.set(j.pos,`${u},${l}`)}for(const[o,a]of this.edges.entries()){a.attributes.delete(j.weight),a.attributes.delete(j.minlen),a.attributes.delete(j.constraint);const c=n.edges.find(u=>u.id===o)?.dotpos;c&&!s&&a.attributes.set(j.pos,c)}return this.graphvizModel.apply({[j.layout]:"fdp",[j.overlap]:"vpsc",[j.sep]:"+50,50",[j.esep]:"+10,10",[j.start]:"random2",[j.splines]:"compound"}),this.graphvizModel.delete(j.compound),this.graphvizModel.delete(j.rankdir),this.graphvizModel.delete(j.nodesep),this.graphvizModel.delete(j.ranksep),this.graphvizModel.delete(j.pack),this.graphvizModel.delete(j.pad),this.graphvizModel.delete(j.packmode),this.graphvizModel.attributes.graph.delete(j.margin),this}getRelationshipColorValues(e){return bE(e)?Wn.relationships[e]:this.view.customColorDefinitions[e]?.relationships??Wn.relationships[Oa]}getElementColorValues(e){return bE(e)?Wn.elements[e]:this.view.customColorDefinitions[e]?.elements??Wn.elements[Oa]}}class U0 extends Kx{static toDot(e){return new U0(e).print()}createGraph(){const e=super.createGraph();return e.set(j.TBbalance,"max"),e}addEdge(e,n){const{nodes:r}=this.view,[i,s]=e.dir==="back"?[e.target,e.source]:[e.source,e.target],[o,a,c]=this.edgeEndpoint(i,E=>ia(E)),[u,l,d]=this.edgeEndpoint(s,sa),f=n.edge([a,l],{[j.likec4_id]:e.id,[j.style]:e.line??Vx});if(d&&f.attributes.set(j.lhead,d),c&&f.attributes.set(j.ltail,c),e.color&&e.color!==Ts){const E=this.getRelationshipColorValues(e.color);f.attributes.apply({[j.color]:E.lineColor,[j.fontcolor]:E.labelColor})}const h=Br(d)||Br(c),p=CE(e.id),m=YJ(p,e.label?.trim());if(f.attributes.set(j.label,m),!h){const E=new Set([...o.outEdges,...u.inEdges,...v9(u.outEdges,o.inEdges)].filter(k=>!this.edgesWithCompounds.has(k)));f.attributes.set(j.weight,E.size)}const g=r.findIndex(E=>E.id===i);r.findIndex(E=>E.id===s)<g&&e.dir!=="back"&&f.attributes.apply({[j.constraint]:!1});let[y,w]=[e.head??Ro,e.tail??"none"];return e.dir==="back"?(f.attributes.apply({[j.arrowtail]:Qn(y),[j.minlen]:0,[j.dir]:"back"}),w!=="none"&&f.attributes.apply({[j.arrowhead]:Qn(w),[j.dir]:"both"}),f):y==="none"&&w==="none"||y!=="none"&&w!=="none"?(f.attributes.apply({[j.arrowhead]:Qn(y),[j.arrowtail]:Qn(w),[j.dir]:"both"}),f):y==="none"?(f.attributes.delete(j.arrowhead),f.attributes.apply({[j.arrowtail]:Qn(w),[j.minlen]:0,[j.dir]:"back"}),f):(y!==Ro&&f.attributes.set(j.arrowhead,Qn(y)),f)}}class G0 extends Kx{static toDot(e){return new G0(e).print()}buildGraphvizModel(e){super.buildGraphvizModel(e),this.assignGroups();const n=new Set,r=this.view.nodes.reduce((i,s)=>(Mn(s)&&(n.add(s.id),i.push(s)),i),[]);for(const i of r){const s=Ke(i.children,nt(u=>!this.compoundIds.has(u)),Dt(u=>this.viewElement(u)),nt(u=>u.inEdges.length===0&&u.outEdges.length===0));if(s.length<=2)continue;let o=2;switch(!0){case s.length>11:o=4;break;case s.length>4:o=3;break}const a=et(this.getSubgraph(i.id),`Subgraph not found for ${i.id}`);let c=null;q9(s,o).forEach(u=>{const l=u.length>1?a.createSubgraph({[j.rank]:"same"}):null;u.forEach((d,f)=>{const h=this.getGraphNode(d.id);h&&(l?.node(h.id),f===0&&(c&&a.edge([c,h],{[j.style]:"invis"}),c=h))})})}}addEdge(e,n){const r=this.view.edges,[i,s]=e.dir==="back"?[e.target,e.source]:[e.source,e.target],[o,a,c]=this.edgeEndpoint(i,E=>ia(E)),[u,l,d]=this.edgeEndpoint(s,sa),f=e.parent,h=(f===null?n:et(this.getSubgraph(f),`Parent not found for edge ${e.id}`)).edge([a,l],{[j.likec4_id]:e.id,[j.style]:e.line??Vx});d&&h.attributes.set(j.lhead,d),c&&h.attributes.set(j.ltail,c);const p=Br(d)||Br(c);if(!p){const E=new Set([...o.inEdges,...o.outEdges,...u.inEdges,...u.outEdges].filter(k=>!this.edgesWithCompounds.has(k)));h.attributes.set(j.weight,E.size)}const m=KJ(e);if(m&&(p?h.attributes.set(j.xlabel,m):h.attributes.set(j.label,m)),e.color){const E=this.getRelationshipColorValues(e.color);h.attributes.apply({[j.color]:E.lineColor,[j.fontcolor]:E.labelColor})}let[g,y]=[e.head??Ro,e.tail??"none"];if(e.dir==="back")return h.attributes.apply({[j.arrowtail]:Qn(g),[j.dir]:"back"}),y!=="none"&&h.attributes.apply({[j.arrowhead]:Qn(y),[j.dir]:"both",[j.minlen]:0}),h;if(g==="none"&&y==="none")return h.attributes.apply({[j.arrowtail]:"none",[j.arrowhead]:"none",[j.dir]:"none",[j.minlen]:0,[j.constraint]:!1}),h;if(g!=="none"&&y!=="none")return h.attributes.apply({[j.arrowhead]:Qn(g),[j.arrowtail]:Qn(y),[j.dir]:"both",[j.minlen]:0}),h;if(g!==Ro&&h.attributes.set(j.arrowhead,Qn(g)),y!=="none"&&h.attributes.set(j.arrowtail,Qn(y)),r.length===1)return h;let w;return f===null&&o.parent==null&&u.parent==null?w=r.filter(E=>{if(E.id===e.id||E.parent!==null||E.source===e.source&&E.target===e.target||E.source===e.target&&E.target===e.source)return!1;const k=this.viewElement(E.source),A=this.viewElement(E.target);return Mn(k)||Mn(A)?!1:k.parent==null&&A.parent==null}):w=this.findInternalEdges(f).filter(E=>!(E.id===e.id||E.source===e.source&&E.target===e.target||E.source===e.target&&E.target===e.source)),w.length===0&&(f===null||this.leafElements(f).length<=3)&&h.attributes.set(j.minlen,0),h}}function Up(t){const[e,n,r,i]=t?t.split(",").map(a=>Hr(+a)):[0,0,0,0],s=Math.round(r-e),o=Math.round(n-i);return{x:Math.round(e),y:Math.round(i),width:s,height:o}}function XJ(t){try{const[e,n]=t.split(",");return{x:Hr(parseFloat(e)),y:Hr(parseFloat(n))}}catch(e){throw Xe.error(`failed on parsing pos: ${t}`,e),e}}function Yx({pos:t,width:e,height:n}){const{x:r,y:i}=XJ(t),s=Wx(+e),o=Wx(+n);return{x:r-Math.round(s/2),y:i-Math.round(o/2),width:s,height:o}}function Xx(t,[e,n]=[0,0]){if(!t||t.length===0)return null;let r=1/0,i=1/0,s=-1/0,o=-1/0,a=13;try{for(const u of t){if(u.op==="F"){a=Hr(u.size);continue}if(u.op==="T"){let l=Hr(u.pt[0])-e,d=Hr(u.width);switch(u.align){case"r":l-=d;break;case"c":l-=Math.round(d/2);break}r=Math.min(r,l),s=Math.max(s,l+d);let f=Hr(u.pt[1])-n;i=Math.min(i,Math.round(f-a)),o=Math.max(o,f)}}}catch(u){return Xe.error(`Failed on parsing label draw ops: ${u}
1762
- ${JSON.stringify(t,null,2)}`),null}if(r===1/0)return null;const c=2;return{x:r-c,y:i-c,width:s-r+2*c,height:o-i+2*c}}function Jx({_draw_:t,likec4_id:e="???"},n="<unknown view>"){try{const r=t.filter(s=>s.op.toLowerCase()==="b");we(Hi(r,1),`view ${n} edge ${e} should have at least one bezier draw op`),r.length>1&&Xe.warn(`view ${n} edge ${e} has more than one bezier draw op, using the first one only`);const i=r[0].points.map(s=>Hr(s));return we(Hi(i,2),`view ${n} edge ${e} should have at least two points`),i}catch(r){throw Xe.error(`failed on parsing view ${n} edge ${e} _draw_:
1763
- ${JSON.stringify(t,null,2)}`),r}}function JJ(t,{id:e,source:n,target:r,dir:i,label:s,description:o,...a},c){const u=Xx(t._ldraw_??t._tldraw_??t._hldraw_),l=t.dir==="back"||i==="back";return s=s?Tb(s,Aa).join(`
1764
- `):null,o=o?Tb(o,Aa).join(`
1765
- `):void 0,{id:e,source:n,target:r,label:s,...ae(o)&&{description:o},...ae(t.pos)&&{dotpos:t.pos},points:Jx(t,c),labelBBox:u,...l?{dir:"back"}:{},...a}}function Zx(t,e){const n=JSON.parse(t),r=Up(n.bb),{nodes:i,edges:s,manualLayout:o,...a}=e,c={...a,bounds:r,nodes:[],edges:[]},u=n.objects??[];for(const d of i){const f=u.find(w=>w.likec4_id===d.id);we(f,`View ${a.id} element ${d.id} not found in graphviz output`);const{x:h,y:p,width:m,height:g}="bb"in f?Up(f.bb):Yx(f),y=[h,p];c.nodes.push({...d,position:y,width:m,height:g,labelBBox:Xx(f._ldraw_,y)??{x:h,y:p,width:m,height:g}})}const l=n.edges??[];for(const d of s){const f=l.find(h=>h.likec4_id===d.id);if(!f){Xe.warn(`View ${a.id} edge ${d.id} not found in graphviz output, skipping`);continue}c.edges.push(JJ(f,d,a.id))}return c}const Gp=t=>String(t+1).padStart(2,"0");function ZJ(t){const e=JSON.parse(t),n=Up(e.bb),r={nodes:[],edges:[],bounds:n},i=new Map,s=e.objects??[];for(const o of s){if(!o.likec4_type)continue;const a=Gp(o._gvid),c=o.likec4_path??"",u=i.get(o._gvid),{x:l,y:d,width:f,height:h}="bb"in o?Up(o.bb):Yx(o),p={x:l,y:d};if(o.likec4_type==="view")we(o.likec4_id,`View ${o} has no likec4_id`),r.nodes.push({id:a,type:"view",parentId:u?.id??null,height:h,width:f,position:p,label:o.label??"",viewId:o.likec4_id});else{const m={id:a,type:o.likec4_type,parentId:u?.id??null,height:h,width:f,position:p,path:c,label:o.label??""},g=[..."subgraphs"in o?o.subgraphs:[],..."nodes"in o?o.nodes:[]];for(const y of g)i.set(y,m);r.nodes.push(m)}}for(const o of e.edges??[])try{const a=Gp(o.tail),c=Gp(o.head);r.edges.push({id:`link${Gp(o._gvid)}`,source:a,target:c,points:Jx(o)})}catch(a){Xe.warn(a)}return r}const Qx=Wn.font,Wp="/";class W0{static toDot(e){return new W0(e).print()}subgraphs=new Map;graphvizModel;constructor(e){const n=this.graphvizModel=iJ.graph({[j.layout]:"osage",[j.pack]:er(100),[j.packmode]:"array_ltc",[j.pad]:ht(15),[j.fontname]:Qx,[j.splines]:"polyline",[j.esep]:"+20"});n.attributes.graph.apply({[j.fontsize]:er(20),[j.labeljust]:"l",[j.labelloc]:"t"}),n.attributes.node.apply({[j.fontname]:Qx,[j.shape]:"rect",[j.width]:ht(400),[j.height]:ht(300),[j.fixedsize]:!0,[j.fontsize]:10}),n.attributes.edge.apply({[j.penwidth]:er(2)});const r=new Set(e.map(c=>c.relativePath??""));let i=0,s=[...e];const o=r.size>1;o&&s.sort((c,u)=>{const l=c.relativePath?.split(Wp)??[""],d=u.relativePath?.split(Wp)??[""];l.push(c.title??"Untitled"),d.push(u.title??"Untitled");const f=l.length,h=d.length;switch(i=Math.max(i,f,h),!0){case f>h:return-1;case f<h:return 1;default:{for(let p=0;p<f;p++){const m=l[p].localeCompare(d[p]);if(m!==0)return m}return 0}}});const a=new Map;s.forEach((c,u)=>{this.addView(o?c:{...c,relativePath:""},u+i);const l=c.nodes.reduce((d,f)=>(f.navigateTo&&d.add(f.navigateTo),d),new Set);l.size>0&&a.set(c.id,l)});for(const[c,u]of a)for(const l of u)n.edge([c,l])}getParentForPath(e){if(e==="")return this.graphvizModel;const n=e.toLowerCase();let r=this.subgraphs.get(n);if(!r){const i=n.endsWith(".c4")||n.endsWith(".likec4"),s=e.includes(Wp)?e.slice(0,e.lastIndexOf(Wp)):"";r=this.getParentForPath(s).subgraph("cluster"+String(this.subgraphs.size+1),{[j.likec4_type]:i?"file":"folder",[j.likec4_path]:e,[j.sortv]:this.subgraphs.size,[j.label]:ae(s)?e.slice(s.length+1):e}),this.subgraphs.set(n,r)}return r}addView(e,n=0){return this.getParentForPath(e.relativePath??"").node(e.id,{[j.likec4_type]:"view",[j.likec4_id]:e.id,[j.sortv]:n,[j.label]:e.title||"Untitled"})}print(){return _x(this.graphvizModel,{print:{indentStyle:"space",indentSize:2}})}}const eI=t=>Am(t)?new U0(t):new G0(t);class QJ{constructor(e){this.graphviz=e}get port(){return this.graphviz}changePort(e){this.graphviz=e}async layout(e){let n=await this.dot(e);const r=await this.graphviz.layoutJson(n);let i=Zx(r,e);if(e.manualLayout){const s=UJ(i,e.manualLayout);if(s.diagram)i=s.diagram;else{if(s.relayout.nodes.length>0){const o=eI(e);if(o.hasEdgesWithCompounds)Xe.warn(`Manual layout for view ${e.id} is ignored, as edges with compounds are not supported`);else{o.applyManualLayout(s.relayout);const a=await this.graphviz.layoutJson(o.print());i=Zx(a,e)}}i.hasLayoutDrift=!0}}return n=n.split(`
1766
- `).filter(s=>!(s.includes("margin")&&s.includes("50.1"))).join(`
1767
- `),{dot:n,diagram:i}}async svg(e){let n=await this.dot(e);return n=n.split(`
1768
- `).filter(r=>!(r.includes("margin")&&r.includes("50.1"))).join(`
1769
- `),{svg:await this.graphviz.svg(n),dot:n}}async dot(e){let n=eI(e).print();if(Am(e))return n;try{return await this.graphviz.unflatten(n)}catch(r){return Xe.warn(`Error during unflatten: ${e.id}`,r),n}}async layoutOverviewGraph(e){if(e.length===0)return Promise.resolve({nodes:[],edges:[],bounds:{x:0,y:0,width:10,height:10}});const n=W0.toDot(e),r=await this.graphviz.layoutJson(n);return ZJ(r)}}const eZ=qp(1);class gd{static _graphviz=null;graphviz(){return Promise.resolve().then(()=>gd._graphviz??=ym.load())}async attempt(e,n){return await eZ(async()=>{const r=Xe.withTag("graphviz-wasm");try{return await n()}catch(i){r.error(`FAILED GraphvizWasmAdapter: ${e}`,i),ym.unload(),gd._graphviz=null}r.warn("Retrying..."),await LD(50,300);try{return await n()}finally{ym.unload(),gd._graphviz=null}})}async unflatten(e){return await this.attempt(`unflatten
1770
- ${e}`,async()=>(await this.graphviz()).unflatten(e,1,!1,3).replaceAll(/\t\[/g," [").replaceAll(/\t/g," "))}async acyclic(e){return await this.attempt(`acyclic
1771
- ${e}`,async()=>{const n=(await this.graphviz()).acyclic(e,!0);return n.acyclic&&n.outFile||e})}async layoutJson(e){return await this.attempt(`dot
1772
- ${e}`,async()=>(await this.graphviz()).layout(e,"json",void 0,{yInvert:!0}))}async svg(e){return await this.attempt(`svg
1773
- ${e}`,async()=>(await this.graphviz()).layout(e,"svg"))}}function tr(t){if(typeof t!="object"||t===null)return!1;const e=Object.getPrototypeOf(t);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(Symbol.toStringTag in t)&&!(Symbol.iterator in t)}const kb=(t,e)=>{const n=tI(t);if(typeof n!="string")throw new TypeError(`${e} must be a string or a file URL: ${n}.`);return n},tI=t=>t instanceof URL?gm(t):t,nI=(t,e=[],n={})=>{const r=kb(t,"First argument"),[i,s]=tr(e)?[[],e]:[e,n];if(!Array.isArray(i))throw new TypeError(`Second argument must be either an array of arguments or an options object: ${i}`);if(i.some(c=>typeof c=="object"&&c!==null))throw new TypeError(`Second argument must be an array of strings: ${i}`);const o=i.map(String),a=o.find(c=>c.includes("\0"));if(a!==void 0)throw new TypeError(`Arguments cannot contain null bytes ("\\0"): ${a}`);if(!tr(s))throw new TypeError(`Last argument must be an options object: ${s}`);return[r,o,s]},{toString:rI}=Object.prototype,tZ=t=>rI.call(t)==="[object ArrayBuffer]",Er=t=>rI.call(t)==="[object Uint8Array]",id=t=>new Uint8Array(t.buffer,t.byteOffset,t.byteLength),nZ=new TextEncoder,iI=t=>nZ.encode(t),rZ=new TextDecoder,sI=t=>rZ.decode(t),iZ=(t,e)=>sZ(t,e).join(""),sZ=(t,e)=>{if(e==="utf8"&&t.every(s=>typeof s=="string"))return t;const n=new eE(e),r=t.map(s=>typeof s=="string"?iI(s):s).map(s=>n.write(s)),i=n.end();return i===""?r:[...r,i]},$b=t=>t.length===1&&Er(t[0])?t[0]:oI(oZ(t)),oZ=t=>t.map(e=>typeof e=="string"?iI(e):e),oI=t=>{const e=new Uint8Array(aZ(t));let n=0;for(const r of t)e.set(r,n),n+=r.length;return e},aZ=t=>{let e=0;for(const n of t)e+=n.length;return e},cZ=t=>Array.isArray(t)&&Array.isArray(t.raw),uZ=(t,e)=>{let n=[];for(const[s,o]of t.entries())n=lZ({templates:t,expressions:e,tokens:n,index:s,template:o});if(n.length===0)throw new TypeError("Template script must not be empty");const[r,...i]=n;return[r,i,{}]},lZ=({templates:t,expressions:e,tokens:n,index:r,template:i})=>{if(i===void 0)throw new TypeError(`Invalid backslash sequence: ${t.raw[r]}`);const{nextTokens:s,leadingWhitespaces:o,trailingWhitespaces:a}=dZ(i,t.raw[r]),c=cI(n,s,o);if(r===e.length)return c;const u=e[r],l=Array.isArray(u)?u.map(d=>uI(d)):[uI(u)];return cI(c,l,a)},dZ=(t,e)=>{if(e.length===0)return{nextTokens:[],leadingWhitespaces:!1,trailingWhitespaces:!1};const n=[];let r=0;const i=aI.has(e[0]);for(let o=0,a=0;o<t.length;o+=1,a+=1){const c=e[a];if(aI.has(c))r!==o&&n.push(t.slice(r,o)),r=o+1;else if(c==="\\"){const u=e[a+1];u==="u"&&e[a+2]==="{"?a=e.indexOf("}",a+3):a+=fZ[u]??1}}const s=r===t.length;return s||n.push(t.slice(r)),{nextTokens:n,leadingWhitespaces:i,trailingWhitespaces:s}},aI=new Set([" "," ","\r",`
1774
- `]),fZ={x:3,u:5},cI=(t,e,n)=>n||t.length===0||e.length===0?[...t,...e]:[...t.slice(0,-1),`${t.at(-1)}${e[0]}`,...e.slice(1)],uI=t=>{const e=typeof t;if(e==="string")return t;if(e==="number")return String(t);if(tr(t)&&("stdout"in t||"isMaxBuffer"in t))return hZ(t);throw t instanceof Q0||Object.prototype.toString.call(t)==="[object Promise]"?new TypeError("Unexpected subprocess in template expression. Please use ${await subprocess} instead of ${subprocess}."):new TypeError(`Unexpected "${e}" in template expression`)},hZ=({stdout:t})=>{if(typeof t=="string")return t;if(Er(t))return sI(t);throw t===void 0?new TypeError(`Missing result.stdout in template expression. This is probably due to the previous subprocess' "stdout" option.`):new TypeError(`Unexpected "${typeof t}" stdout in template expression`)},fo=t=>Cb.includes(t),Cb=[Oe.stdin,Oe.stdout,Oe.stderr],Vr=["stdin","stdout","stderr"],lI=t=>Vr[t]??`stdio[${t}]`,pZ=t=>{const e={...t};for(const n of pI)e[n]=dI(t,n);return e},dI=(t,e)=>{const n=Array.from({length:mZ(t)+1}),r=gZ(t[e],n,e);return EZ(r,e)},mZ=({stdio:t})=>Array.isArray(t)?Math.max(t.length,Vr.length):Vr.length,gZ=(t,e,n)=>tr(t)?yZ(t,e,n):e.fill(t),yZ=(t,e,n)=>{for(const r of Object.keys(t).sort(vZ))for(const i of wZ(r,n,e))e[i]=t[r];return e},vZ=(t,e)=>fI(t)<fI(e)?1:-1,fI=t=>t==="stdout"||t==="stderr"?0:t==="all"?2:1,wZ=(t,e,n)=>{if(t==="ipc")return[n.length-1];const r=hI(t);if(r===void 0||r===0)throw new TypeError(`"${e}.${t}" is invalid.
1775
- It must be "${e}.stdout", "${e}.stderr", "${e}.all", "${e}.ipc", or "${e}.fd3", "${e}.fd4" (and so on).`);if(r>=n.length)throw new TypeError(`"${e}.${t}" is invalid: that file descriptor does not exist.
1776
- Please set the "stdio" option to ensure that file descriptor exists.`);return r==="all"?[1,2]:[r]},hI=t=>{if(t==="all")return t;if(Vr.includes(t))return Vr.indexOf(t);const e=bZ.exec(t);if(e!==null)return Number(e[1])},bZ=/^fd(\d+)$/,EZ=(t,e)=>t.map(n=>n===void 0?TZ[e]:n),DZ=x2("execa").enabled?"full":"none",TZ={lines:!1,buffer:!0,maxBuffer:1e3*1e3*100,verbose:DZ,stripFinalNewline:!0},pI=["lines","buffer","maxBuffer","verbose","stripFinalNewline"],sd=(t,e)=>e==="ipc"?t.at(-1):t[e],_b=({verbose:t},e)=>xb(t,e)!=="none",Ab=({verbose:t},e)=>!["none","short"].includes(xb(t,e)),RZ=({verbose:t},e)=>{const n=xb(t,e);return Ib(n)?n:void 0},xb=(t,e)=>e===void 0?SZ(t):sd(t,e),SZ=t=>t.find(e=>Ib(e))??Pb.findLast(e=>t.includes(e)),Ib=t=>typeof t=="function",Pb=["none","short","full"],kZ=(t,e)=>{const n=[t,...e],r=n.join(" "),i=n.map(s=>IZ(mI(s))).join(" ");return{command:r,escapedCommand:i}},Nb=t=>I2(t).split(`
1777
- `).map(e=>mI(e)).join(`
1778
- `),mI=t=>t.replaceAll(_Z,e=>$Z(e)),$Z=t=>{const e=AZ[t];if(e!==void 0)return e;const n=t.codePointAt(0),r=n.toString(16);return n<=xZ?`\\u${r.padStart(4,"0")}`:`\\U${r}`},CZ=()=>{try{return new RegExp("\\p{Separator}|\\p{Other}","gu")}catch{return/[\s\u0000-\u001F\u007F-\u009F\u00AD]/g}},_Z=CZ(),AZ={" ":" ","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t"},xZ=65535,IZ=t=>PZ.test(t)?t:G2==="win32"?`"${t.replaceAll('"','""')}"`:`'${t.replaceAll("'","'\\''")}'`,PZ=/^[\w./-]+$/;function NZ(){return Oe.platform!=="win32"?Oe.env.TERM!=="linux":!!Oe.env.WT_SESSION||!!Oe.env.TERMINUS_SUBLIME||Oe.env.ConEmuTask==="{cmd::Cmder}"||Oe.env.TERM_PROGRAM==="Terminus-Sublime"||Oe.env.TERM_PROGRAM==="vscode"||Oe.env.TERM==="xterm-256color"||Oe.env.TERM==="alacritty"||Oe.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}const gI={circleQuestionMark:"(?)",questionMarkPrefix:"(?)",square:"\u2588",squareDarkShade:"\u2593",squareMediumShade:"\u2592",squareLightShade:"\u2591",squareTop:"\u2580",squareBottom:"\u2584",squareLeft:"\u258C",squareRight:"\u2590",squareCenter:"\u25A0",bullet:"\u25CF",dot:"\u2024",ellipsis:"\u2026",pointerSmall:"\u203A",triangleUp:"\u25B2",triangleUpSmall:"\u25B4",triangleDown:"\u25BC",triangleDownSmall:"\u25BE",triangleLeftSmall:"\u25C2",triangleRightSmall:"\u25B8",home:"\u2302",heart:"\u2665",musicNote:"\u266A",musicNoteBeamed:"\u266B",arrowUp:"\u2191",arrowDown:"\u2193",arrowLeft:"\u2190",arrowRight:"\u2192",arrowLeftRight:"\u2194",arrowUpDown:"\u2195",almostEqual:"\u2248",notEqual:"\u2260",lessOrEqual:"\u2264",greaterOrEqual:"\u2265",identical:"\u2261",infinity:"\u221E",subscriptZero:"\u2080",subscriptOne:"\u2081",subscriptTwo:"\u2082",subscriptThree:"\u2083",subscriptFour:"\u2084",subscriptFive:"\u2085",subscriptSix:"\u2086",subscriptSeven:"\u2087",subscriptEight:"\u2088",subscriptNine:"\u2089",oneHalf:"\xBD",oneThird:"\u2153",oneQuarter:"\xBC",oneFifth:"\u2155",oneSixth:"\u2159",oneEighth:"\u215B",twoThirds:"\u2154",twoFifths:"\u2156",threeQuarters:"\xBE",threeFifths:"\u2157",threeEighths:"\u215C",fourFifths:"\u2158",fiveSixths:"\u215A",fiveEighths:"\u215D",sevenEighths:"\u215E",line:"\u2500",lineBold:"\u2501",lineDouble:"\u2550",lineDashed0:"\u2504",lineDashed1:"\u2505",lineDashed2:"\u2508",lineDashed3:"\u2509",lineDashed4:"\u254C",lineDashed5:"\u254D",lineDashed6:"\u2574",lineDashed7:"\u2576",lineDashed8:"\u2578",lineDashed9:"\u257A",lineDashed10:"\u257C",lineDashed11:"\u257E",lineDashed12:"\u2212",lineDashed13:"\u2013",lineDashed14:"\u2010",lineDashed15:"\u2043",lineVertical:"\u2502",lineVerticalBold:"\u2503",lineVerticalDouble:"\u2551",lineVerticalDashed0:"\u2506",lineVerticalDashed1:"\u2507",lineVerticalDashed2:"\u250A",lineVerticalDashed3:"\u250B",lineVerticalDashed4:"\u254E",lineVerticalDashed5:"\u254F",lineVerticalDashed6:"\u2575",lineVerticalDashed7:"\u2577",lineVerticalDashed8:"\u2579",lineVerticalDashed9:"\u257B",lineVerticalDashed10:"\u257D",lineVerticalDashed11:"\u257F",lineDownLeft:"\u2510",lineDownLeftArc:"\u256E",lineDownBoldLeftBold:"\u2513",lineDownBoldLeft:"\u2512",lineDownLeftBold:"\u2511",lineDownDoubleLeftDouble:"\u2557",lineDownDoubleLeft:"\u2556",lineDownLeftDouble:"\u2555",lineDownRight:"\u250C",lineDownRightArc:"\u256D",lineDownBoldRightBold:"\u250F",lineDownBoldRight:"\u250E",lineDownRightBold:"\u250D",lineDownDoubleRightDouble:"\u2554",lineDownDoubleRight:"\u2553",lineDownRightDouble:"\u2552",lineUpLeft:"\u2518",lineUpLeftArc:"\u256F",lineUpBoldLeftBold:"\u251B",lineUpBoldLeft:"\u251A",lineUpLeftBold:"\u2519",lineUpDoubleLeftDouble:"\u255D",lineUpDoubleLeft:"\u255C",lineUpLeftDouble:"\u255B",lineUpRight:"\u2514",lineUpRightArc:"\u2570",lineUpBoldRightBold:"\u2517",lineUpBoldRight:"\u2516",lineUpRightBold:"\u2515",lineUpDoubleRightDouble:"\u255A",lineUpDoubleRight:"\u2559",lineUpRightDouble:"\u2558",lineUpDownLeft:"\u2524",lineUpBoldDownBoldLeftBold:"\u252B",lineUpBoldDownBoldLeft:"\u2528",lineUpDownLeftBold:"\u2525",lineUpBoldDownLeftBold:"\u2529",lineUpDownBoldLeftBold:"\u252A",lineUpDownBoldLeft:"\u2527",lineUpBoldDownLeft:"\u2526",lineUpDoubleDownDoubleLeftDouble:"\u2563",lineUpDoubleDownDoubleLeft:"\u2562",lineUpDownLeftDouble:"\u2561",lineUpDownRight:"\u251C",lineUpBoldDownBoldRightBold:"\u2523",lineUpBoldDownBoldRight:"\u2520",lineUpDownRightBold:"\u251D",lineUpBoldDownRightBold:"\u2521",lineUpDownBoldRightBold:"\u2522",lineUpDownBoldRight:"\u251F",lineUpBoldDownRight:"\u251E",lineUpDoubleDownDoubleRightDouble:"\u2560",lineUpDoubleDownDoubleRight:"\u255F",lineUpDownRightDouble:"\u255E",lineDownLeftRight:"\u252C",lineDownBoldLeftBoldRightBold:"\u2533",lineDownLeftBoldRightBold:"\u252F",lineDownBoldLeftRight:"\u2530",lineDownBoldLeftBoldRight:"\u2531",lineDownBoldLeftRightBold:"\u2532",lineDownLeftRightBold:"\u252E",lineDownLeftBoldRight:"\u252D",lineDownDoubleLeftDoubleRightDouble:"\u2566",lineDownDoubleLeftRight:"\u2565",lineDownLeftDoubleRightDouble:"\u2564",lineUpLeftRight:"\u2534",lineUpBoldLeftBoldRightBold:"\u253B",lineUpLeftBoldRightBold:"\u2537",lineUpBoldLeftRight:"\u2538",lineUpBoldLeftBoldRight:"\u2539",lineUpBoldLeftRightBold:"\u253A",lineUpLeftRightBold:"\u2536",lineUpLeftBoldRight:"\u2535",lineUpDoubleLeftDoubleRightDouble:"\u2569",lineUpDoubleLeftRight:"\u2568",lineUpLeftDoubleRightDouble:"\u2567",lineUpDownLeftRight:"\u253C",lineUpBoldDownBoldLeftBoldRightBold:"\u254B",lineUpDownBoldLeftBoldRightBold:"\u2548",lineUpBoldDownLeftBoldRightBold:"\u2547",lineUpBoldDownBoldLeftRightBold:"\u254A",lineUpBoldDownBoldLeftBoldRight:"\u2549",lineUpBoldDownLeftRight:"\u2540",lineUpDownBoldLeftRight:"\u2541",lineUpDownLeftBoldRight:"\u253D",lineUpDownLeftRightBold:"\u253E",lineUpBoldDownBoldLeftRight:"\u2542",lineUpDownLeftBoldRightBold:"\u253F",lineUpBoldDownLeftBoldRight:"\u2543",lineUpBoldDownLeftRightBold:"\u2544",lineUpDownBoldLeftBoldRight:"\u2545",lineUpDownBoldLeftRightBold:"\u2546",lineUpDoubleDownDoubleLeftDoubleRightDouble:"\u256C",lineUpDoubleDownDoubleLeftRight:"\u256B",lineUpDownLeftDoubleRightDouble:"\u256A",lineCross:"\u2573",lineBackslash:"\u2572",lineSlash:"\u2571"},OZ={tick:"\u2714",info:"\u2139",warning:"\u26A0",cross:"\u2718",squareSmall:"\u25FB",squareSmallFilled:"\u25FC",circle:"\u25EF",circleFilled:"\u25C9",circleDotted:"\u25CC",circleDouble:"\u25CE",circleCircle:"\u24DE",circleCross:"\u24E7",circlePipe:"\u24BE",radioOn:"\u25C9",radioOff:"\u25EF",checkboxOn:"\u2612",checkboxOff:"\u2610",checkboxCircleOn:"\u24E7",checkboxCircleOff:"\u24BE",pointer:"\u276F",triangleUpOutline:"\u25B3",triangleLeft:"\u25C0",triangleRight:"\u25B6",lozenge:"\u25C6",lozengeOutline:"\u25C7",hamburger:"\u2630",smiley:"\u32E1",mustache:"\u0DF4",star:"\u2605",play:"\u25B6",nodejs:"\u2B22",oneSeventh:"\u2150",oneNinth:"\u2151",oneTenth:"\u2152"},LZ={tick:"\u221A",info:"i",warning:"\u203C",cross:"\xD7",squareSmall:"\u25A1",squareSmallFilled:"\u25A0",circle:"( )",circleFilled:"(*)",circleDotted:"( )",circleDouble:"( )",circleCircle:"(\u25CB)",circleCross:"(\xD7)",circlePipe:"(\u2502)",radioOn:"(*)",radioOff:"( )",checkboxOn:"[\xD7]",checkboxOff:"[ ]",checkboxCircleOn:"(\xD7)",checkboxCircleOff:"( )",pointer:">",triangleUpOutline:"\u2206",triangleLeft:"\u25C4",triangleRight:"\u25BA",lozenge:"\u2666",lozengeOutline:"\u25CA",hamburger:"\u2261",smiley:"\u263A",mustache:"\u250C\u2500\u2510",star:"\u2736",play:"\u25BA",nodejs:"\u2666",oneSeventh:"1/7",oneNinth:"1/9",oneTenth:"1/10"},FZ={...gI,...OZ},MZ={...gI,...LZ},zZ=NZ(),Ob=zZ?FZ:MZ,BZ=Z0.WriteStream.prototype.hasColors(),Hp=(t,e)=>{if(!BZ)return i=>i;const n=`\x1B[${t}m`,r=`\x1B[${e}m`;return i=>{const s=i+"";let o=s.indexOf(r);if(o===-1)return n+s+r;let a=n,c=0;for(;o!==-1;)a+=s.slice(c,o)+n,c=o+r.length,o=s.indexOf(r,c);return a+=s.slice(c)+r,a}},qZ=Hp(1,22),Lb=Hp(90,39),jZ=Hp(91,39),UZ=Hp(93,39),GZ=({type:t,message:e,timestamp:n,piped:r,commandId:i,result:{failed:s=!1}={},options:{reject:o=!0}})=>{const a=WZ(n),c=HZ[t]({failed:s,reject:o,piped:r}),u=VZ[t]({reject:o});return`${Lb(`[${a}]`)} ${Lb(`[${i}]`)} ${u(c)} ${u(e)}`},WZ=t=>`${Vp(t.getHours(),2)}:${Vp(t.getMinutes(),2)}:${Vp(t.getSeconds(),2)}.${Vp(t.getMilliseconds(),3)}`,Vp=(t,e)=>String(t).padStart(e,"0"),yI=({failed:t,reject:e})=>t?e?Ob.cross:Ob.warning:Ob.tick,HZ={command:({piped:t})=>t?"|":"$",output:()=>" ",ipc:()=>"*",error:yI,duration:yI},vI=t=>t,VZ={command:()=>qZ,output:()=>vI,ipc:()=>vI,error:({reject:t})=>t?jZ:UZ,duration:()=>Lb},KZ=(t,e,n)=>{const r=RZ(e,n);return t.map(({verboseLine:i,verboseObject:s})=>YZ(i,s,r)).filter(i=>i!==void 0).map(i=>XZ(i)).join("")},YZ=(t,e,n)=>{if(n===void 0)return t;const r=n(t,e);if(typeof r=="string")return r},XZ=t=>t.endsWith(`
1779
- `)?t:`${t}
1780
- `,od=({type:t,verboseMessage:e,fdNumber:n,verboseInfo:r,result:i})=>{const s=JZ({type:t,result:i,verboseInfo:r}),o=ZZ(e,s),a=KZ(o,r,n);V0(eQ,a)},JZ=({type:t,result:e,verboseInfo:{escapedCommand:n,commandId:r,rawOptions:{piped:i=!1,...s}}})=>({type:t,escapedCommand:n,commandId:`${r}`,timestamp:new Date,piped:i,result:e,options:s}),ZZ=(t,e)=>t.split(`
1781
- `).map(n=>QZ({...e,message:n})),QZ=t=>({verboseLine:GZ(t),verboseObject:t}),eQ=2,wI=t=>{const e=typeof t=="string"?t:J0(t);return Nb(e).replaceAll(" "," ".repeat(tQ))},tQ=2,nQ=(t,e)=>{_b(e)&&od({type:"command",verboseMessage:t,verboseInfo:e})},rQ=(t,e,n)=>{oQ(t);const r=iQ(t);return{verbose:t,escapedCommand:e,commandId:r,rawOptions:n}},iQ=t=>_b({verbose:t})?sQ++:void 0;let sQ=0n;const oQ=t=>{for(const e of t){if(e===!1)throw new TypeError(`The "verbose: false" option was renamed to "verbose: 'none'".`);if(e===!0)throw new TypeError(`The "verbose: true" option was renamed to "verbose: 'short'".`);if(!Pb.includes(e)&&!Ib(e)){const n=Pb.map(r=>`'${r}'`).join(", ");throw new TypeError(`The "verbose" option must not be ${e}. Allowed values are: ${n} or a function.`)}}},bI=()=>vd.bigint(),EI=t=>Number(vd.bigint()-t)/1e6,DI=(t,e,n)=>{const r=bI(),{command:i,escapedCommand:s}=kZ(t,e),o=dI(n,"verbose"),a=rQ(o,s,{...n});return nQ(s,a),{command:i,escapedCommand:s,startTime:r,verboseInfo:a}};var ho={exports:{}},Fb,TI;function aQ(){if(TI)return Fb;TI=1,Fb=r,r.sync=i;var t=ph;function e(s,o){var a=o.pathExt!==void 0?o.pathExt:process.env.PATHEXT;if(!a||(a=a.split(";"),a.indexOf("")!==-1))return!0;for(var c=0;c<a.length;c++){var u=a[c].toLowerCase();if(u&&s.substr(-u.length).toLowerCase()===u)return!0}return!1}function n(s,o,a){return!s.isSymbolicLink()&&!s.isFile()?!1:e(o,a)}function r(s,o,a){t.stat(s,function(c,u){a(c,c?!1:n(u,s,o))})}function i(s,o){return n(t.statSync(s),s,o)}return Fb}var Mb,RI;function cQ(){if(RI)return Mb;RI=1,Mb=e,e.sync=n;var t=ph;function e(s,o,a){t.stat(s,function(c,u){a(c,c?!1:r(u,o))})}function n(s,o){return r(t.statSync(s),o)}function r(s,o){return s.isFile()&&i(s,o)}function i(s,o){var a=s.mode,c=s.uid,u=s.gid,l=o.uid!==void 0?o.uid:process.getuid&&process.getuid(),d=o.gid!==void 0?o.gid:process.getgid&&process.getgid(),f=parseInt("100",8),h=parseInt("010",8),p=parseInt("001",8),m=f|h,g=a&p||a&h&&u===d||a&f&&c===l||a&m&&l===0;return g}return Mb}var zb,SI;function uQ(){if(SI)return zb;SI=1;var t;process.platform==="win32"||s8.TESTING_WINDOWS?t=aQ():t=cQ(),zb=e,e.sync=n;function e(r,i,s){if(typeof i=="function"&&(s=i,i={}),!s){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(o,a){e(r,i||{},function(c,u){c?a(c):o(u)})})}t(r,i||{},function(o,a){o&&(o.code==="EACCES"||i&&i.ignoreErrors)&&(o=null,a=!1),s(o,a)})}function n(r,i){try{return t.sync(r,i||{})}catch(s){if(i&&i.ignoreErrors||s.code==="EACCES")return!1;throw s}}return zb}var Bb,kI;function lQ(){if(kI)return Bb;kI=1;const t=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",e=au,n=t?";":":",r=uQ(),i=c=>Object.assign(new Error(`not found: ${c}`),{code:"ENOENT"}),s=(c,u)=>{const l=u.colon||n,d=c.match(/\//)||t&&c.match(/\\/)?[""]:[...t?[process.cwd()]:[],...(u.path||process.env.PATH||"").split(l)],f=t?u.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",h=t?f.split(l):[""];return t&&c.indexOf(".")!==-1&&h[0]!==""&&h.unshift(""),{pathEnv:d,pathExt:h,pathExtExe:f}},o=(c,u,l)=>{typeof u=="function"&&(l=u,u={}),u||(u={});const{pathEnv:d,pathExt:f,pathExtExe:h}=s(c,u),p=[],m=y=>new Promise((w,E)=>{if(y===d.length)return u.all&&p.length?w(p):E(i(c));const k=d[y],A=/^".*"$/.test(k)?k.slice(1,-1):k,I=e.join(A,c),x=!A&&/^\.[\\\/]/.test(c)?c.slice(0,2)+I:I;w(g(x,y,0))}),g=(y,w,E)=>new Promise((k,A)=>{if(E===f.length)return k(m(w+1));const I=f[E];r(y+I,{pathExt:h},(x,_)=>{if(!x&&_)if(u.all)p.push(y+I);else return k(y+I);return k(g(y,w,E+1))})});return l?m(0).then(y=>l(null,y),l):m(0)},a=(c,u)=>{u=u||{};const{pathEnv:l,pathExt:d,pathExtExe:f}=s(c,u),h=[];for(let p=0;p<l.length;p++){const m=l[p],g=/^".*"$/.test(m)?m.slice(1,-1):m,y=e.join(g,c),w=!g&&/^\.[\\\/]/.test(c)?c.slice(0,2)+y:y;for(let E=0;E<d.length;E++){const k=w+d[E];try{if(r.sync(k,{pathExt:f}))if(u.all)h.push(k);else return k}catch{}}}if(u.all&&h.length)return h;if(u.nothrow)return null;throw i(c)};return Bb=o,o.sync=a,Bb}var Kp={exports:{}},$I;function dQ(){if($I)return Kp.exports;$I=1;const t=(e={})=>{const n=e.env||process.env;return(e.platform||process.platform)!=="win32"?"PATH":Object.keys(n).reverse().find(i=>i.toUpperCase()==="PATH")||"Path"};return Kp.exports=t,Kp.exports.default=t,Kp.exports}var qb,CI;function fQ(){if(CI)return qb;CI=1;const t=au,e=lQ(),n=dQ();function r(s,o){const a=s.options.env||process.env,c=process.cwd(),u=s.options.cwd!=null,l=u&&process.chdir!==void 0&&!process.chdir.disabled;if(l)try{process.chdir(s.options.cwd)}catch{}let d;try{d=e.sync(s.command,{path:a[n({env:a})],pathExt:o?t.delimiter:void 0})}catch{}finally{l&&process.chdir(c)}return d&&(d=t.resolve(u?s.options.cwd:"",d)),d}function i(s){return r(s)||r(s,!0)}return qb=i,qb}var Yp={},_I;function hQ(){if(_I)return Yp;_I=1;const t=/([()\][%!^"`<>&|;, *?])/g;function e(r){return r=r.replace(t,"^$1"),r}function n(r,i){return r=`${r}`,r=r.replace(/(\\*)"/g,'$1$1\\"'),r=r.replace(/(\\*)$/,"$1$1"),r=`"${r}"`,r=r.replace(t,"^$1"),i&&(r=r.replace(t,"^$1")),r}return Yp.command=e,Yp.argument=n,Yp}var jb,AI;function pQ(){return AI||(AI=1,jb=/^#!(.*)/),jb}var Ub,xI;function mQ(){if(xI)return Ub;xI=1;const t=pQ();return Ub=(e="")=>{const n=e.match(t);if(!n)return null;const[r,i]=n[0].replace(/#! ?/,"").split(" "),s=r.split("/").pop();return s==="env"?i:i?`${s} ${i}`:s},Ub}var Gb,II;function gQ(){if(II)return Gb;II=1;const t=ph,e=mQ();function n(r){const s=Buffer.alloc(150);let o;try{o=t.openSync(r,"r"),t.readSync(o,s,0,150,0),t.closeSync(o)}catch{}return e(s.toString())}return Gb=n,Gb}var Wb,PI;function yQ(){if(PI)return Wb;PI=1;const t=au,e=fQ(),n=hQ(),r=gQ(),i=process.platform==="win32",s=/\.(?:com|exe)$/i,o=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function a(l){l.file=e(l);const d=l.file&&r(l.file);return d?(l.args.unshift(l.file),l.command=d,e(l)):l.file}function c(l){if(!i)return l;const d=a(l),f=!s.test(d);if(l.options.forceShell||f){const h=o.test(d);l.command=t.normalize(l.command),l.command=n.command(l.command),l.args=l.args.map(m=>n.argument(m,h));const p=[l.command].concat(l.args).join(" ");l.args=["/d","/s","/c",`"${p}"`],l.command=process.env.comspec||"cmd.exe",l.options.windowsVerbatimArguments=!0}return l}function u(l,d,f){d&&!Array.isArray(d)&&(f=d,d=null),d=d?d.slice(0):[],f=Object.assign({},f);const h={command:l,args:d,options:f,file:void 0,original:{command:l,args:d}};return f.shell?h:c(h)}return Wb=u,Wb}var Hb,NI;function vQ(){if(NI)return Hb;NI=1;const t=process.platform==="win32";function e(s,o){return Object.assign(new Error(`${o} ${s.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${o} ${s.command}`,path:s.command,spawnargs:s.args})}function n(s,o){if(!t)return;const a=s.emit;s.emit=function(c,u){if(c==="exit"){const l=r(u,o);if(l)return a.call(s,"error",l)}return a.apply(s,arguments)}}function r(s,o){return t&&s===1&&!o.file?e(o.original,"spawn"):null}function i(s,o){return t&&s===1&&!o.file?e(o.original,"spawnSync"):null}return Hb={hookChildProcess:n,verifyENOENT:r,verifyENOENTSync:i,notFoundError:e},Hb}var OI;function wQ(){if(OI)return ho.exports;OI=1;const t=rC,e=yQ(),n=vQ();function r(s,o,a){const c=e(s,o,a),u=t.spawn(c.command,c.args,c.options);return n.hookChildProcess(u,c),u}function i(s,o,a){const c=e(s,o,a),u=t.spawnSync(c.command,c.args,c.options);return u.error=u.error||n.verifyENOENTSync(u.status,c),u}return ho.exports=r,ho.exports.spawn=r,ho.exports.sync=i,ho.exports._parse=e,ho.exports._enoent=n,ho.exports}var bQ=wQ();function LI(t={}){const{env:e=process.env,platform:n=process.platform}=t;return n!=="win32"?"PATH":Object.keys(e).reverse().find(r=>r.toUpperCase()==="PATH")||"Path"}const EQ=({cwd:t=Oe.cwd(),path:e=Oe.env[LI()],preferLocal:n=!0,execPath:r=Oe.execPath,addExecPath:i=!0}={})=>{const s=t instanceof URL?gm(t):t,o=Jr.resolve(s),a=[];return n&&DQ(a,o),i&&TQ(a,r,o),[...a,e].join(Jr.delimiter)},DQ=(t,e)=>{let n;for(;n!==e;)t.push(Jr.join(e,"node_modules/.bin")),n=e,e=Jr.resolve(e,"..")},TQ=(t,e,n)=>{const r=e instanceof URL?gm(e):e;t.push(Jr.resolve(n,r,".."))},RQ=({env:t=Oe.env,...e}={})=>{t={...t};const n=LI({env:t});return e.path=t[n],t[n]=EQ(e),t},SQ=(t,e,n)=>{const r=n?Yb:Kb,i=t instanceof ad?{}:{cause:t};return new r(e,i)};class ad extends Error{}const FI=(t,e)=>{Object.defineProperty(t.prototype,"name",{value:e,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,MI,{value:!0,writable:!1,enumerable:!1,configurable:!1})},kQ=t=>Vb(t)&&MI in t,MI=Symbol("isExecaError"),Vb=t=>Object.prototype.toString.call(t)==="[object Error]";class Kb extends Error{}FI(Kb,Kb.name);class Yb extends Error{}FI(Yb,Yb.name);const $Q=()=>{const t=BI-zI+1;return Array.from({length:t},CQ)},CQ=(t,e)=>({name:`SIGRT${e+1}`,number:zI+e,action:"terminate",description:"Application-specific signal (realtime)",standard:"posix"}),zI=34,BI=64,_Q=[{name:"SIGHUP",number:1,action:"terminate",description:"Terminal closed",standard:"posix"},{name:"SIGINT",number:2,action:"terminate",description:"User interruption with CTRL-C",standard:"ansi"},{name:"SIGQUIT",number:3,action:"core",description:"User interruption with CTRL-\\",standard:"posix"},{name:"SIGILL",number:4,action:"core",description:"Invalid machine instruction",standard:"ansi"},{name:"SIGTRAP",number:5,action:"core",description:"Debugger breakpoint",standard:"posix"},{name:"SIGABRT",number:6,action:"core",description:"Aborted",standard:"ansi"},{name:"SIGIOT",number:6,action:"core",description:"Aborted",standard:"bsd"},{name:"SIGBUS",number:7,action:"core",description:"Bus error due to misaligned, non-existing address or paging error",standard:"bsd"},{name:"SIGEMT",number:7,action:"terminate",description:"Command should be emulated but is not implemented",standard:"other"},{name:"SIGFPE",number:8,action:"core",description:"Floating point arithmetic error",standard:"ansi"},{name:"SIGKILL",number:9,action:"terminate",description:"Forced termination",standard:"posix",forced:!0},{name:"SIGUSR1",number:10,action:"terminate",description:"Application-specific signal",standard:"posix"},{name:"SIGSEGV",number:11,action:"core",description:"Segmentation fault",standard:"ansi"},{name:"SIGUSR2",number:12,action:"terminate",description:"Application-specific signal",standard:"posix"},{name:"SIGPIPE",number:13,action:"terminate",description:"Broken pipe or socket",standard:"posix"},{name:"SIGALRM",number:14,action:"terminate",description:"Timeout or timer",standard:"posix"},{name:"SIGTERM",number:15,action:"terminate",description:"Termination",standard:"ansi"},{name:"SIGSTKFLT",number:16,action:"terminate",description:"Stack is empty or overflowed",standard:"other"},{name:"SIGCHLD",number:17,action:"ignore",description:"Child process terminated, paused or unpaused",standard:"posix"},{name:"SIGCLD",number:17,action:"ignore",description:"Child process terminated, paused or unpaused",standard:"other"},{name:"SIGCONT",number:18,action:"unpause",description:"Unpaused",standard:"posix",forced:!0},{name:"SIGSTOP",number:19,action:"pause",description:"Paused",standard:"posix",forced:!0},{name:"SIGTSTP",number:20,action:"pause",description:'Paused using CTRL-Z or "suspend"',standard:"posix"},{name:"SIGTTIN",number:21,action:"pause",description:"Background process cannot read terminal input",standard:"posix"},{name:"SIGBREAK",number:21,action:"terminate",description:"User interruption with CTRL-BREAK",standard:"other"},{name:"SIGTTOU",number:22,action:"pause",description:"Background process cannot write to terminal output",standard:"posix"},{name:"SIGURG",number:23,action:"ignore",description:"Socket received out-of-band data",standard:"bsd"},{name:"SIGXCPU",number:24,action:"core",description:"Process timed out",standard:"bsd"},{name:"SIGXFSZ",number:25,action:"core",description:"File too big",standard:"bsd"},{name:"SIGVTALRM",number:26,action:"terminate",description:"Timeout or timer",standard:"bsd"},{name:"SIGPROF",number:27,action:"terminate",description:"Timeout or timer",standard:"bsd"},{name:"SIGWINCH",number:28,action:"ignore",description:"Terminal window size changed",standard:"bsd"},{name:"SIGIO",number:29,action:"terminate",description:"I/O is available",standard:"other"},{name:"SIGPOLL",number:29,action:"terminate",description:"Watched event",standard:"other"},{name:"SIGINFO",number:29,action:"ignore",description:"Request for process information",standard:"other"},{name:"SIGPWR",number:30,action:"terminate",description:"Device running out of power",standard:"systemv"},{name:"SIGSYS",number:31,action:"core",description:"Invalid system call",standard:"other"},{name:"SIGUNUSED",number:31,action:"terminate",description:"Invalid system call",standard:"other"}],qI=()=>{const t=$Q();return[..._Q,...t].map(AQ)},AQ=({name:t,number:e,description:n,action:r,forced:i=!1,standard:s})=>{const{signals:{[t]:o}}=bs,a=o!==void 0;return{name:t,number:a?o:e,description:n,supported:a,action:r,forced:i,standard:s}},xQ=()=>{const t=qI();return Object.fromEntries(t.map(IQ))},IQ=({name:t,number:e,description:n,supported:r,action:i,forced:s,standard:o})=>[t,{name:t,number:e,description:n,supported:r,action:i,forced:s,standard:o}],PQ=xQ(),NQ=()=>{const t=qI(),e=BI+1,n=Array.from({length:e},(r,i)=>OQ(i,t));return Object.assign({},...n)},OQ=(t,e)=>{const n=LQ(t,e);if(n===void 0)return{};const{name:r,description:i,supported:s,action:o,forced:a,standard:c}=n;return{[t]:{name:r,number:t,description:i,supported:s,action:o,forced:a,standard:c}}},LQ=(t,e)=>{const n=e.find(({name:r})=>bs.signals[r]===t);return n!==void 0?n:e.find(r=>r.number===t)};NQ();const FQ=t=>{const e="option `killSignal`";if(t===0)throw new TypeError(`Invalid ${e}: 0 cannot be used.`);return jI(t,e)},MQ=t=>t===0?t:jI(t,"`subprocess.kill()`'s argument"),jI=(t,e)=>{if(Number.isInteger(t))return zQ(t,e);if(typeof t=="string")return qQ(t,e);throw new TypeError(`Invalid ${e} ${String(t)}: it must be a string or an integer.
1782
- ${Xb()}`)},zQ=(t,e)=>{if(UI.has(t))return UI.get(t);throw new TypeError(`Invalid ${e} ${t}: this signal integer does not exist.
1783
- ${Xb()}`)},BQ=()=>new Map(Object.entries(bs.signals).reverse().map(([t,e])=>[e,t])),UI=BQ(),qQ=(t,e)=>{if(t in bs.signals)return t;throw t.toUpperCase()in bs.signals?new TypeError(`Invalid ${e} '${t}': please rename it to '${t.toUpperCase()}'.`):new TypeError(`Invalid ${e} '${t}': this signal name does not exist.
1784
- ${Xb()}`)},Xb=()=>`Available signal names: ${jQ()}.
1785
- Available signal numbers: ${UQ()}.`,jQ=()=>Object.keys(bs.signals).sort().map(t=>`'${t}'`).join(", "),UQ=()=>[...new Set(Object.values(bs.signals).sort((t,e)=>t-e))].join(", "),GI=t=>PQ[t].description,GQ=t=>{if(t===!1)return t;if(t===!0)return WQ;if(!Number.isFinite(t)||t<0)throw new TypeError(`Expected the \`forceKillAfterDelay\` option to be a non-negative integer, got \`${t}\` (${typeof t})`);return t},WQ=1e3*5,HQ=({kill:t,options:{forceKillAfterDelay:e,killSignal:n},onInternalError:r,context:i,controller:s},o,a)=>{const{signal:c,error:u}=VQ(o,a,n);KQ(u,r);const l=t(c);return YQ({kill:t,signal:c,forceKillAfterDelay:e,killSignal:n,killResult:l,context:i,controller:s}),l},VQ=(t,e,n)=>{const[r=n,i]=Vb(t)?[void 0,t]:[t,e];if(typeof r!="string"&&!Number.isInteger(r))throw new TypeError(`The first argument must be an error instance or a signal name string/integer: ${String(r)}`);if(i!==void 0&&!Vb(i))throw new TypeError(`The second argument is optional. If specified, it must be an error instance: ${i}`);return{signal:MQ(r),error:i}},KQ=(t,e)=>{t!==void 0&&e.reject(t)},YQ=async({kill:t,signal:e,forceKillAfterDelay:n,killSignal:r,killResult:i,context:s,controller:o})=>{e===r&&i&&WI({kill:t,forceKillAfterDelay:n,context:s,controllerSignal:o.signal})},WI=async({kill:t,forceKillAfterDelay:e,context:n,controllerSignal:r})=>{if(e!==!1)try{await tE(e,void 0,{signal:r}),t("SIGKILL")&&(n.isForcefullyTerminated??=!0)}catch{}},HI=async(t,e)=>{t.aborted||await vn(t,"abort",{signal:e})},XQ=({cancelSignal:t})=>{if(t!==void 0&&Object.prototype.toString.call(t)!=="[object AbortSignal]")throw new Error(`The \`cancelSignal\` option must be an AbortSignal: ${String(t)}`)},JQ=({subprocess:t,cancelSignal:e,gracefulCancel:n,context:r,controller:i})=>e===void 0||n?[]:[ZQ(t,e,r,i)],ZQ=async(t,e,n,{signal:r})=>{throw await HI(e,r),n.terminationReason??="cancel",t.kill(),e.reason},Jb=({methodName:t,isSubprocess:e,ipc:n,isConnected:r})=>{QQ(t,e,n),VI(t,e,r)},QQ=(t,e,n)=>{if(!n)throw new Error(`${Dr(t,e)} can only be used if the \`ipc\` option is \`true\`.`)},VI=(t,e,n)=>{if(!n)throw new Error(`${Dr(t,e)} cannot be used: the ${us(e)} has already exited or disconnected.`)},eee=t=>{throw new Error(`${Dr("getOneMessage",t)} could not complete: the ${us(t)} exited or disconnected.`)},tee=t=>{throw new Error(`${Dr("sendMessage",t)} failed: the ${us(t)} is sending a message too, instead of listening to incoming messages.
1786
- This can be fixed by both sending a message and listening to incoming messages at the same time:
1787
-
1788
- const [receivedMessage] = await Promise.all([
1789
- ${Dr("getOneMessage",t)},
1790
- ${Dr("sendMessage",t,"message, {strict: true}")},
1791
- ]);`)},KI=(t,e)=>new Error(`${Dr("sendMessage",e)} failed when sending an acknowledgment response to the ${us(e)}.`,{cause:t}),nee=t=>{throw new Error(`${Dr("sendMessage",t)} failed: the ${us(t)} is not listening to incoming messages.`)},ree=t=>{throw new Error(`${Dr("sendMessage",t)} failed: the ${us(t)} exited without listening to incoming messages.`)},iee=()=>new Error(`\`cancelSignal\` aborted: the ${us(!0)} disconnected.`),see=()=>{throw new Error("`getCancelSignal()` cannot be used without setting the `cancelSignal` subprocess option.")},oee=({error:t,methodName:e,isSubprocess:n})=>{if(t.code==="EPIPE")throw new Error(`${Dr(e,n)} cannot be used: the ${us(n)} is disconnecting.`,{cause:t})},aee=({error:t,methodName:e,isSubprocess:n,message:r})=>{if(cee(t))throw new Error(`${Dr(e,n)}'s argument type is invalid: the message cannot be serialized: ${String(r)}.`,{cause:t})},cee=({code:t,message:e})=>uee.has(t)||lee.some(n=>e.includes(n)),uee=new Set(["ERR_MISSING_ARGS","ERR_INVALID_ARG_TYPE"]),lee=["could not be cloned","circular structure","call stack size exceeded"],Dr=(t,e,n="")=>t==="cancelSignal"?"`cancelSignal`'s `controller.abort()`":`${dee(e)}${t}(${n})`,dee=t=>t?"":"subprocess.",us=t=>t?"parent process":"subprocess",Zb=t=>{t.connected&&t.disconnect()},cd=()=>{const t={},e=new Promise((n,r)=>{Object.assign(t,{resolve:n,reject:r})});return Object.assign(e,t)},YI=(t,e="stdin")=>{const{options:r,fileDescriptors:i}=po.get(t),s=XI(i,e,!0),o=t.stdio[s];if(o===null)throw new TypeError(JI(s,e,r,!0));return o},Qb=(t,e="stdout")=>{const{options:r,fileDescriptors:i}=po.get(t),s=XI(i,e,!1),o=s==="all"?t.all:t.stdio[s];if(o==null)throw new TypeError(JI(s,e,r,!1));return o},po=new WeakMap,XI=(t,e,n)=>{const r=fee(e,n);return hee(r,e,n,t),r},fee=(t,e)=>{const n=hI(t);if(n!==void 0)return n;const{validOptions:r,defaultValue:i}=e?{validOptions:'"stdin"',defaultValue:"stdin"}:{validOptions:'"stdout", "stderr", "all"',defaultValue:"stdout"};throw new TypeError(`"${ud(e)}" must not be "${t}".
1792
- It must be ${r} or "fd3", "fd4" (and so on).
1793
- It is optional and defaults to "${i}".`)},hee=(t,e,n,r)=>{const i=r[ZI(t)];if(i===void 0)throw new TypeError(`"${ud(n)}" must not be ${e}. That file descriptor does not exist.
1794
- Please set the "stdio" option to ensure that file descriptor exists.`);if(i.direction==="input"&&!n)throw new TypeError(`"${ud(n)}" must not be ${e}. It must be a readable stream, not writable.`);if(i.direction!=="input"&&n)throw new TypeError(`"${ud(n)}" must not be ${e}. It must be a writable stream, not readable.`)},JI=(t,e,n,r)=>{if(t==="all"&&!n.all)return`The "all" option must be true to use "from: 'all'".`;const{optionName:i,optionValue:s}=pee(t,n);return`The "${i}: ${e0(s)}" option is incompatible with using "${ud(r)}: ${e0(e)}".
1795
- Please set this option with "pipe" instead.`},pee=(t,{stdin:e,stdout:n,stderr:r,stdio:i})=>{const s=ZI(t);return s===0&&e!==void 0?{optionName:"stdin",optionValue:e}:s===1&&n!==void 0?{optionName:"stdout",optionValue:n}:s===2&&r!==void 0?{optionName:"stderr",optionValue:r}:{optionName:`stdio[${s}]`,optionValue:i[s]}},ZI=t=>t==="all"?1:t,ud=t=>t?"to":"from",e0=t=>typeof t=="string"?`'${t}'`:typeof t=="number"?`${t}`:"Stream",Xp=(t,e,n)=>{const r=t.getMaxListeners();r===0||r===Number.POSITIVE_INFINITY||(t.setMaxListeners(r+e),rE(n,()=>{t.setMaxListeners(t.getMaxListeners()-e)}))},QI=(t,e)=>{e&&t0(t)},t0=t=>{t.refCounted()},eP=(t,e)=>{e&&n0(t)},n0=t=>{t.unrefCounted()},mee=(t,e)=>{e&&(n0(t),n0(t))},gee=(t,e)=>{e&&(t0(t),t0(t))},yee=async({anyProcess:t,channel:e,isSubprocess:n,ipcEmitter:r},i)=>{if(Ree(i)||Lee(i))return;Jp.has(t)||Jp.set(t,[]);const s=Jp.get(t);if(s.push(i),!(s.length>1))for(;s.length>0;){await _ee(t,r,i),await nE.yield();const o=await Tee({wrappedMessage:s[0],anyProcess:t,channel:e,isSubprocess:n,ipcEmitter:r});s.shift(),r.emit("message",o),r.emit("message:done")}},vee=async({anyProcess:t,channel:e,isSubprocess:n,ipcEmitter:r,boundOnMessage:i})=>{aP();const s=Jp.get(t);for(;s?.length>0;)await vn(r,"message:done");t.removeListener("message",i),gee(e,n),r.connected=!1,r.emit("disconnect")},Jp=new WeakMap,Zp=(t,e,n)=>{if(Qp.has(t))return Qp.get(t);const r=new X2;return r.connected=!0,Qp.set(t,r),wee({ipcEmitter:r,anyProcess:t,channel:e,isSubprocess:n}),r},Qp=new WeakMap,wee=({ipcEmitter:t,anyProcess:e,channel:n,isSubprocess:r})=>{const i=yee.bind(void 0,{anyProcess:e,channel:n,isSubprocess:r,ipcEmitter:t});e.on("message",i),e.once("disconnect",vee.bind(void 0,{anyProcess:e,channel:n,isSubprocess:r,ipcEmitter:t,boundOnMessage:i})),mee(n,r)},tP=t=>{const e=Qp.get(t);return e===void 0?t.channel!==null:e.connected},bee=({anyProcess:t,channel:e,isSubprocess:n,message:r,strict:i})=>{if(!i)return r;const s=Zp(t,e,n),o=r0(t,s);return{id:Eee++,type:tm,message:r,hasListeners:o}};let Eee=0n;const Dee=(t,e)=>{if(!(e?.type!==tm||e.hasListeners))for(const{id:n}of t)n!==void 0&&em[n].resolve({isDeadlock:!0,hasListeners:!1})},Tee=async({wrappedMessage:t,anyProcess:e,channel:n,isSubprocess:r,ipcEmitter:i})=>{if(t?.type!==tm||!e.connected)return t;const{id:s,message:o}=t,a={id:s,type:nP,message:r0(e,i)};try{await rP({anyProcess:e,channel:n,isSubprocess:r,ipc:!0},a)}catch(c){i.emit("strict:error",c)}return o},Ree=t=>{if(t?.type!==nP)return!1;const{id:e,message:n}=t;return em[e]?.resolve({isDeadlock:!1,hasListeners:n}),!0},See=async(t,e,n)=>{if(t?.type!==tm)return;const r=cd();em[t.id]=r;const i=new AbortController;try{const{isDeadlock:s,hasListeners:o}=await Promise.race([r,kee(e,n,i)]);s&&tee(n),o||nee(n)}finally{i.abort(),delete em[t.id]}},em={},kee=async(t,e,{signal:n})=>{Xp(t,1,n),await vn(t,"disconnect",{signal:n}),ree(e)},tm="execa:ipc:request",nP="execa:ipc:response",$ee=(t,e,n)=>{ld.has(t)||ld.set(t,new Set);const r=ld.get(t),i=cd(),s=n?e.id:void 0,o={onMessageSent:i,id:s};return r.add(o),{outgoingMessages:r,outgoingMessage:o}},Cee=({outgoingMessages:t,outgoingMessage:e})=>{t.delete(e),e.onMessageSent.resolve()},_ee=async(t,e,n)=>{for(;!r0(t,e)&&ld.get(t)?.size>0;){const r=[...ld.get(t)];Dee(r,n),await Promise.all(r.map(({onMessageSent:i})=>i))}},ld=new WeakMap,r0=(t,e)=>e.listenerCount("message")>Aee(t),Aee=t=>po.has(t)&&!sd(po.get(t).options.buffer,"ipc")?1:0,rP=({anyProcess:t,channel:e,isSubprocess:n,ipc:r},i,{strict:s=!1}={})=>{const o="sendMessage";return Jb({methodName:o,isSubprocess:n,ipc:r,isConnected:t.connected}),xee({anyProcess:t,channel:e,methodName:o,isSubprocess:n,message:i,strict:s})},xee=async({anyProcess:t,channel:e,methodName:n,isSubprocess:r,message:i,strict:s})=>{const o=bee({anyProcess:t,channel:e,isSubprocess:r,message:i,strict:s}),a=$ee(t,o,s);try{await iP({anyProcess:t,methodName:n,isSubprocess:r,wrappedMessage:o,message:i})}catch(c){throw Zb(t),c}finally{Cee(a)}},iP=async({anyProcess:t,methodName:e,isSubprocess:n,wrappedMessage:r,message:i})=>{const s=Iee(t);try{await Promise.all([See(r,t,n),s(r)])}catch(o){throw oee({error:o,methodName:e,isSubprocess:n}),aee({error:o,methodName:e,isSubprocess:n,message:i}),o}},Iee=t=>{if(i0.has(t))return i0.get(t);const e=P2(t.send.bind(t));return i0.set(t,e),e},i0=new WeakMap,Pee=(t,e)=>{const n="cancelSignal";return VI(n,!1,t.connected),iP({anyProcess:t,methodName:n,isSubprocess:!1,wrappedMessage:{type:oP,message:e},message:e})},Nee=async({anyProcess:t,channel:e,isSubprocess:n,ipc:r})=>(await Oee({anyProcess:t,channel:e,isSubprocess:n,ipc:r}),s0.signal),Oee=async({anyProcess:t,channel:e,isSubprocess:n,ipc:r})=>{if(!sP){if(sP=!0,!r){see();return}if(e===null){aP();return}Zp(t,e,n),await nE.yield()}};let sP=!1;const Lee=t=>t?.type!==oP?!1:(s0.abort(t.message),!0),oP="execa:ipc:cancel",aP=()=>{s0.abort(iee())},s0=new AbortController,Fee=({gracefulCancel:t,cancelSignal:e,ipc:n,serialization:r})=>{if(t){if(e===void 0)throw new Error("The `cancelSignal` option must be defined when setting the `gracefulCancel` option.");if(!n)throw new Error("The `ipc` option cannot be false when setting the `gracefulCancel` option.");if(r==="json")throw new Error("The `serialization` option cannot be 'json' when setting the `gracefulCancel` option.")}},Mee=({subprocess:t,cancelSignal:e,gracefulCancel:n,forceKillAfterDelay:r,context:i,controller:s})=>n?[zee({subprocess:t,cancelSignal:e,forceKillAfterDelay:r,context:i,controller:s})]:[],zee=async({subprocess:t,cancelSignal:e,forceKillAfterDelay:n,context:r,controller:{signal:i}})=>{await HI(e,i);const s=Bee(e);throw await Pee(t,s),WI({kill:t.kill,forceKillAfterDelay:n,context:r,controllerSignal:i}),r.terminationReason??="gracefulCancel",e.reason},Bee=({reason:t})=>{if(!(t instanceof DOMException))return t;const e=new Error(t.message);return Object.defineProperty(e,"stack",{value:t.stack,enumerable:!1,configurable:!0,writable:!0}),e},qee=({timeout:t})=>{if(t!==void 0&&(!Number.isFinite(t)||t<0))throw new TypeError(`Expected the \`timeout\` option to be a non-negative integer, got \`${t}\` (${typeof t})`)},jee=(t,e,n,r)=>e===0||e===void 0?[]:[Uee(t,e,n,r)],Uee=async(t,e,n,{signal:r})=>{throw await tE(e,void 0,{signal:r}),n.terminationReason??="timeout",t.kill(),new ad},Gee=({options:t})=>{if(t.node===!1)throw new TypeError('The "node" option cannot be false with `execaNode()`.');return{options:{...t,node:!0}}},Wee=(t,e,{node:n=!1,nodePath:r=W2,nodeOptions:i=H2.filter(c=>!c.startsWith("--inspect")),cwd:s,execPath:o,...a})=>{if(o!==void 0)throw new TypeError('The "execPath" option has been removed. Please use the "nodePath" option instead.');const c=kb(r,'The "nodePath" option'),u=Jr.resolve(s,c),l={...a,nodePath:u,node:n,cwd:s};if(!n)return[t,e,l];if(Jr.basename(t,".exe")==="node")throw new TypeError('When the "node" option is true, the first argument does not need to be "node".');return[u,[...i,t,...e],{ipc:!0,...l,shell:!1}]},Hee=({ipcInput:t,ipc:e,serialization:n})=>{if(t!==void 0){if(!e)throw new Error("The `ipcInput` option cannot be set unless the `ipc` option is `true`.");Yee[n](t)}},Vee=t=>{try{Z2(t)}catch(e){throw new Error("The `ipcInput` option is not serializable with a structured clone.",{cause:e})}},Kee=t=>{try{JSON.stringify(t)}catch(e){throw new Error("The `ipcInput` option is not serializable with JSON.",{cause:e})}},Yee={advanced:Vee,json:Kee},Xee=async(t,e)=>{e!==void 0&&await t.sendMessage(e)},Jee=({encoding:t})=>{if(o0.has(t))return;const e=Qee(t);if(e!==void 0)throw new TypeError(`Invalid option \`encoding: ${nm(t)}\`.
1796
- Please rename it to ${nm(e)}.`);const n=[...o0].map(r=>nm(r)).join(", ");throw new TypeError(`Invalid option \`encoding: ${nm(t)}\`.
1797
- Please rename it to one of: ${n}.`)},Zee=new Set(["utf8","utf16le"]),mo=new Set(["buffer","hex","base64","base64url","latin1","ascii"]),o0=new Set([...Zee,...mo]),Qee=t=>{if(t===null)return"buffer";if(typeof t!="string")return;const e=t.toLowerCase();if(e in cP)return cP[e];if(o0.has(e))return e},cP={"utf-8":"utf8","utf-16le":"utf16le","ucs-2":"utf16le",ucs2:"utf16le",binary:"latin1"},nm=t=>typeof t=="string"?`"${t}"`:String(t),ete=(t=uP())=>{const e=kb(t,'The "cwd" option');return Jr.resolve(e)},uP=()=>{try{return Oe.cwd()}catch(t){throw t.message=`The current directory does not exist.
1798
- ${t.message}`,t}},tte=(t,e)=>{if(e===uP())return t;let n;try{n=E2(e)}catch(r){return`The "cwd" option is invalid: ${e}.
1799
- ${r.message}
1800
- ${t}`}return n.isDirectory()?t:`The "cwd" option is not a directory: ${e}.
1801
- ${t}`},lP=(t,e,n)=>{n.cwd=ete(n.cwd);const[r,i,s]=Wee(t,e,n),{command:o,args:a,options:c}=bQ._parse(r,i,s),u=pZ(c),l=nte(u);return qee(l),Jee(l),Hee(l),XQ(l),Fee(l),l.shell=tI(l.shell),l.env=rte(l),l.killSignal=FQ(l.killSignal),l.forceKillAfterDelay=GQ(l.forceKillAfterDelay),l.lines=l.lines.map((d,f)=>d&&!mo.has(l.encoding)&&l.buffer[f]),Oe.platform==="win32"&&Jr.basename(o,".exe")==="cmd"&&a.unshift("/q"),{file:o,commandArguments:a,options:l}},nte=({extendEnv:t=!0,preferLocal:e=!1,cwd:n,localDir:r=n,encoding:i="utf8",reject:s=!0,cleanup:o=!0,all:a=!1,windowsHide:c=!0,killSignal:u="SIGTERM",forceKillAfterDelay:l=!0,gracefulCancel:d=!1,ipcInput:f,ipc:h=f!==void 0||d,serialization:p="advanced",...m})=>({...m,extendEnv:t,preferLocal:e,cwd:n,localDirectory:r,encoding:i,reject:s,cleanup:o,all:a,windowsHide:c,killSignal:u,forceKillAfterDelay:l,gracefulCancel:d,ipcInput:f,ipc:h,serialization:p}),rte=({env:t,extendEnv:e,preferLocal:n,node:r,localDirectory:i,nodePath:s})=>{const o=e?{...Oe.env,...t}:t;return n||r?RQ({env:o,cwd:i,execPath:s,preferLocal:n,addExecPath:r}):o};function a0(t){if(typeof t=="string")return ite(t);if(!(ArrayBuffer.isView(t)&&t.BYTES_PER_ELEMENT===1))throw new Error("Input must be a string or a Uint8Array");return ste(t)}const ite=t=>t.at(-1)===dP?t.slice(0,t.at(-2)===fP?-2:-1):t,ste=t=>t.at(-1)===ote?t.subarray(0,t.at(-2)===ate?-2:-1):t,dP=`
1802
- `,ote=dP.codePointAt(0),fP="\r",ate=fP.codePointAt(0);function go(t,{checkOpen:e=!0}={}){return t!==null&&typeof t=="object"&&(t.writable||t.readable||!e||t.writable===void 0&&t.readable===void 0)&&typeof t.pipe=="function"}function hP(t,{checkOpen:e=!0}={}){return go(t,{checkOpen:e})&&(t.writable||!e)&&typeof t.write=="function"&&typeof t.end=="function"&&typeof t.writable=="boolean"&&typeof t.writableObjectMode=="boolean"&&typeof t.destroy=="function"&&typeof t.destroyed=="boolean"}function rm(t,{checkOpen:e=!0}={}){return go(t,{checkOpen:e})&&(t.readable||!e)&&typeof t.read=="function"&&typeof t.readable=="boolean"&&typeof t.readableObjectMode=="boolean"&&typeof t.destroy=="function"&&typeof t.destroyed=="boolean"}function pP(t,e){return hP(t,e)&&rm(t,e)}const cte=Object.getPrototypeOf(Object.getPrototypeOf(async function*(){}).prototype);let ute=class{#e;#t;#n=!1;#r=void 0;constructor(e,n){this.#e=e,this.#t=n}next(){const e=()=>this.#s();return this.#r=this.#r?this.#r.then(e,e):e(),this.#r}return(e){const n=()=>this.#i(e);return this.#r?this.#r.then(n,n):n()}async#s(){if(this.#n)return{done:!0,value:void 0};let e;try{e=await this.#e.read()}catch(n){throw this.#r=void 0,this.#n=!0,this.#e.releaseLock(),n}return e.done&&(this.#r=void 0,this.#n=!0,this.#e.releaseLock()),e}async#i(e){if(this.#n)return{done:!0,value:e};if(this.#n=!0,!this.#t){const n=this.#e.cancel(e);return this.#e.releaseLock(),await n,{done:!0,value:e}}return this.#e.releaseLock(),{done:!0,value:e}}};const c0=Symbol();function mP(){return this[c0].next()}Object.defineProperty(mP,"name",{value:"next"});function gP(t){return this[c0].return(t)}Object.defineProperty(gP,"name",{value:"return"});const lte=Object.create(cte,{next:{enumerable:!0,configurable:!0,writable:!0,value:mP},return:{enumerable:!0,configurable:!0,writable:!0,value:gP}});function dte({preventCancel:t=!1}={}){const e=this.getReader(),n=new ute(e,t),r=Object.create(lte);return r[c0]=n,r}const fte=t=>{if(rm(t,{checkOpen:!1})&&u0.on!==void 0)return pte(t);if(typeof t?.[Symbol.asyncIterator]=="function")return t;if(hte.call(t)==="[object ReadableStream]")return dte.call(t);throw new TypeError("The first argument must be a Readable, a ReadableStream, or an async iterable.")},{toString:hte}=Object.prototype,pte=async function*(t){const e=new AbortController,n={};mte(t,e,n);try{for await(const[r]of u0.on(t,"data",{signal:e.signal}))yield r}catch(r){if(n.error!==void 0)throw n.error;if(!e.signal.aborted)throw r}finally{t.destroy()}},mte=async(t,e,n)=>{try{await u0.finished(t,{cleanup:!0,readable:!0,writable:!1,error:!1})}catch(r){n.error=r}finally{e.abort()}},u0={},l0=async(t,{init:e,convertChunk:n,getSize:r,truncateChunk:i,addChunk:s,getFinalChunk:o,finalize:a},{maxBuffer:c=Number.POSITIVE_INFINITY}={})=>{const u=fte(t),l=e();l.length=0;try{for await(const d of u){const f=yte(d),h=n[f](d,l);yP({convertedChunk:h,state:l,getSize:r,truncateChunk:i,addChunk:s,maxBuffer:c})}return gte({state:l,convertChunk:n,getSize:r,truncateChunk:i,addChunk:s,getFinalChunk:o,maxBuffer:c}),a(l)}catch(d){const f=typeof d=="object"&&d!==null?d:new Error(d);throw f.bufferedData=a(l),f}},gte=({state:t,getSize:e,truncateChunk:n,addChunk:r,getFinalChunk:i,maxBuffer:s})=>{const o=i(t);o!==void 0&&yP({convertedChunk:o,state:t,getSize:e,truncateChunk:n,addChunk:r,maxBuffer:s})},yP=({convertedChunk:t,state:e,getSize:n,truncateChunk:r,addChunk:i,maxBuffer:s})=>{const o=n(t),a=e.length+o;if(a<=s){vP(t,e,i,a);return}const c=r(t,s-e.length);throw c!==void 0&&vP(c,e,i,s),new im},vP=(t,e,n,r)=>{e.contents=n(t,e,r),e.length=r},yte=t=>{const e=typeof t;if(e==="string")return"string";if(e!=="object"||t===null)return"others";if(globalThis.Buffer?.isBuffer(t))return"buffer";const n=wP.call(t);return n==="[object ArrayBuffer]"?"arrayBuffer":n==="[object DataView]"?"dataView":Number.isInteger(t.byteLength)&&Number.isInteger(t.byteOffset)&&wP.call(t.buffer)==="[object ArrayBuffer]"?"typedArray":"others"},{toString:wP}=Object.prototype;class im extends Error{name="MaxBufferError";constructor(){super("maxBuffer exceeded")}}const yo=t=>t,d0=()=>{},bP=({contents:t})=>t,EP=t=>{throw new Error(`Streams in object mode are not supported: ${String(t)}`)},DP=t=>t.length;async function vte(t,e){return l0(t,Dte,e)}const wte=()=>({contents:[]}),bte=()=>1,Ete=(t,{contents:e})=>(e.push(t),e),Dte={init:wte,convertChunk:{string:yo,buffer:yo,arrayBuffer:yo,dataView:yo,typedArray:yo,others:yo},getSize:bte,truncateChunk:d0,addChunk:Ete,getFinalChunk:d0,finalize:bP};async function Tte(t,e){return l0(t,Ite,e)}const Rte=()=>({contents:new ArrayBuffer(0)}),Ste=t=>kte.encode(t),kte=new TextEncoder,TP=t=>new Uint8Array(t),RP=t=>new Uint8Array(t.buffer,t.byteOffset,t.byteLength),$te=(t,e)=>t.slice(0,e),Cte=(t,{contents:e,length:n},r)=>{const i=$P()?Ate(e,r):_te(e,r);return new Uint8Array(i).set(t,n),i},_te=(t,e)=>{if(e<=t.byteLength)return t;const n=new ArrayBuffer(SP(e));return new Uint8Array(n).set(new Uint8Array(t),0),n},Ate=(t,e)=>{if(e<=t.maxByteLength)return t.resize(e),t;const n=new ArrayBuffer(e,{maxByteLength:SP(e)});return new Uint8Array(n).set(new Uint8Array(t),0),n},SP=t=>kP**Math.ceil(Math.log(t)/Math.log(kP)),kP=2,xte=({contents:t,length:e})=>$P()?t:t.slice(0,e),$P=()=>"resize"in ArrayBuffer.prototype,Ite={init:Rte,convertChunk:{string:Ste,buffer:TP,arrayBuffer:TP,dataView:RP,typedArray:RP,others:EP},getSize:DP,truncateChunk:$te,addChunk:Cte,getFinalChunk:d0,finalize:xte};async function Pte(t,e){return l0(t,Mte,e)}const Nte=()=>({contents:"",textDecoder:new TextDecoder}),sm=(t,{textDecoder:e})=>e.decode(t,{stream:!0}),Ote=(t,{contents:e})=>e+t,Lte=(t,e)=>t.slice(0,e),Fte=({textDecoder:t})=>{const e=t.decode();return e===""?void 0:e},Mte={init:Nte,convertChunk:{string:yo,buffer:sm,arrayBuffer:sm,dataView:sm,typedArray:sm,others:EP},getSize:DP,truncateChunk:Lte,addChunk:Ote,getFinalChunk:Fte,finalize:bP},zte=({error:t,stream:e,readableObjectMode:n,lines:r,encoding:i,fdNumber:s})=>{if(!(t instanceof im))throw t;if(s==="all")return t;const o=Bte(n,r,i);throw t.maxBufferInfo={fdNumber:s,unit:o},e.destroy(),t},Bte=(t,e,n)=>t?"objects":e?"lines":n==="buffer"?"bytes":"characters",qte=(t,e,n)=>{if(e.length!==n)return;const r=new im;throw r.maxBufferInfo={fdNumber:"ipc"},r},jte=(t,e)=>{const{streamName:n,threshold:r,unit:i}=Ute(t,e);return`Command's ${n} was larger than ${r} ${i}`},Ute=(t,e)=>{if(t?.maxBufferInfo===void 0)return{streamName:"output",threshold:e[1],unit:"bytes"};const{maxBufferInfo:{fdNumber:n,unit:r}}=t;delete t.maxBufferInfo;const i=sd(e,n);return n==="ipc"?{streamName:"IPC output",threshold:i,unit:"messages"}:{streamName:lI(n),threshold:i,unit:r}},Gte=(t,e,n)=>t?.code==="ENOBUFS"&&e!==null&&e.some(r=>r!==null&&r.length>f0(n)),Wte=(t,e,n)=>{if(!e)return t;const r=f0(n);return t.length>r?t.slice(0,r):t},f0=([,t])=>t,Hte=({stdio:t,all:e,ipcOutput:n,originalError:r,signal:i,signalDescription:s,exitCode:o,escapedCommand:a,timedOut:c,isCanceled:u,isGracefullyCanceled:l,isMaxBuffer:d,isForcefullyTerminated:f,forceKillAfterDelay:h,killSignal:p,maxBuffer:m,timeout:g,cwd:y})=>{const w=r?.code,E=Vte({originalError:r,timedOut:c,timeout:g,isMaxBuffer:d,maxBuffer:m,errorCode:w,signal:i,signalDescription:s,exitCode:o,isCanceled:u,isGracefullyCanceled:l,isForcefullyTerminated:f,forceKillAfterDelay:h,killSignal:p}),k=Yte(r,y),A=k===void 0?"":`
1803
- ${k}`,I=`${E}: ${a}${A}`,x=e===void 0?[t[2],t[1]]:[e],_=[I,...x,...t.slice(3),n.map(P=>Xte(P)).join(`
1804
- `)].map(P=>Nb(a0(Jte(P)))).filter(Boolean).join(`
1805
-
1806
- `);return{originalMessage:k,shortMessage:I,message:_}},Vte=({originalError:t,timedOut:e,timeout:n,isMaxBuffer:r,maxBuffer:i,errorCode:s,signal:o,signalDescription:a,exitCode:c,isCanceled:u,isGracefullyCanceled:l,isForcefullyTerminated:d,forceKillAfterDelay:f,killSignal:h})=>{const p=Kte(d,f);return e?`Command timed out after ${n} milliseconds${p}`:l?o===void 0?`Command was gracefully canceled with exit code ${c}`:d?`Command was gracefully canceled${p}`:`Command was gracefully canceled with ${o} (${a})`:u?`Command was canceled${p}`:r?`${jte(t,i)}${p}`:s!==void 0?`Command failed with ${s}${p}`:d?`Command was killed with ${h} (${GI(h)})${p}`:o!==void 0?`Command was killed with ${o} (${a})`:c!==void 0?`Command failed with exit code ${c}`:"Command failed"},Kte=(t,e)=>t?` and was forcefully terminated after ${e} milliseconds`:"",Yte=(t,e)=>{if(t instanceof ad)return;const n=kQ(t)?t.originalMessage:String(t?.message??t),r=Nb(tte(n,e));return r===""?void 0:r},Xte=t=>typeof t=="string"?t:J0(t),Jte=t=>Array.isArray(t)?t.map(e=>a0(CP(e))).filter(Boolean).join(`
1807
- `):CP(t),CP=t=>typeof t=="string"?t:Er(t)?sI(t):"",_P=({command:t,escapedCommand:e,stdio:n,all:r,ipcOutput:i,options:{cwd:s},startTime:o})=>AP({command:t,escapedCommand:e,cwd:s,durationMs:EI(o),failed:!1,timedOut:!1,isCanceled:!1,isGracefullyCanceled:!1,isTerminated:!1,isMaxBuffer:!1,isForcefullyTerminated:!1,exitCode:0,stdout:n[1],stderr:n[2],all:r,stdio:n,ipcOutput:i,pipedFrom:[]}),h0=({error:t,command:e,escapedCommand:n,fileDescriptors:r,options:i,startTime:s,isSync:o})=>p0({error:t,command:e,escapedCommand:n,startTime:s,timedOut:!1,isCanceled:!1,isGracefullyCanceled:!1,isMaxBuffer:!1,isForcefullyTerminated:!1,stdio:Array.from({length:r.length}),ipcOutput:[],options:i,isSync:o}),p0=({error:t,command:e,escapedCommand:n,startTime:r,timedOut:i,isCanceled:s,isGracefullyCanceled:o,isMaxBuffer:a,isForcefullyTerminated:c,exitCode:u,signal:l,stdio:d,all:f,ipcOutput:h,options:{timeoutDuration:p,timeout:m=p,forceKillAfterDelay:g,killSignal:y,cwd:w,maxBuffer:E},isSync:k})=>{const{exitCode:A,signal:I,signalDescription:x}=Qte(u,l),{originalMessage:_,shortMessage:P,message:O}=Hte({stdio:d,all:f,ipcOutput:h,originalError:t,signal:I,signalDescription:x,exitCode:A,escapedCommand:n,timedOut:i,isCanceled:s,isGracefullyCanceled:o,isMaxBuffer:a,isForcefullyTerminated:c,forceKillAfterDelay:g,killSignal:y,maxBuffer:E,timeout:m,cwd:w}),C=SQ(t,O,k);return Object.assign(C,Zte({error:C,command:e,escapedCommand:n,startTime:r,timedOut:i,isCanceled:s,isGracefullyCanceled:o,isMaxBuffer:a,isForcefullyTerminated:c,exitCode:A,signal:I,signalDescription:x,stdio:d,all:f,ipcOutput:h,cwd:w,originalMessage:_,shortMessage:P})),C},Zte=({error:t,command:e,escapedCommand:n,startTime:r,timedOut:i,isCanceled:s,isGracefullyCanceled:o,isMaxBuffer:a,isForcefullyTerminated:c,exitCode:u,signal:l,signalDescription:d,stdio:f,all:h,ipcOutput:p,cwd:m,originalMessage:g,shortMessage:y})=>AP({shortMessage:y,originalMessage:g,command:e,escapedCommand:n,cwd:m,durationMs:EI(r),failed:!0,timedOut:i,isCanceled:s,isGracefullyCanceled:o,isTerminated:l!==void 0,isMaxBuffer:a,isForcefullyTerminated:c,exitCode:u,signal:l,signalDescription:d,code:t.cause?.code,stdout:f[1],stderr:f[2],all:h,stdio:f,ipcOutput:p,pipedFrom:[]}),AP=t=>Object.fromEntries(Object.entries(t).filter(([,e])=>e!==void 0)),Qte=(t,e)=>{const n=t===null?void 0:t,r=e===null?void 0:e,i=r===void 0?void 0:GI(e);return{exitCode:n,signal:r,signalDescription:i}},xP=t=>Number.isFinite(t)?t:0;function ene(t){return{days:Math.trunc(t/864e5),hours:Math.trunc(t/36e5%24),minutes:Math.trunc(t/6e4%60),seconds:Math.trunc(t/1e3%60),milliseconds:Math.trunc(t%1e3),microseconds:Math.trunc(xP(t*1e3)%1e3),nanoseconds:Math.trunc(xP(t*1e6)%1e3)}}function tne(t){return{days:t/86400000n,hours:t/3600000n%24n,minutes:t/60000n%60n,seconds:t/1000n%60n,milliseconds:t%1000n,microseconds:0n,nanoseconds:0n}}function nne(t){switch(typeof t){case"number":{if(Number.isFinite(t))return ene(t);break}case"bigint":return tne(t)}throw new TypeError("Expected a finite number or bigint")}const rne=t=>t===0||t===0n,ine=(t,e)=>e===1||e===1n?t:`${t}s`,sne=1e-7,one=24n*60n*60n*1000n;function IP(t,e){const n=typeof t=="bigint";if(!n&&!Number.isFinite(t))throw new TypeError("Expected a finite number or bigint");e={...e};const r=t<0?"-":"";t=t<0?-t:t,e.colonNotation&&(e.compact=!1,e.formatSubMilliseconds=!1,e.separateMilliseconds=!1,e.verbose=!1),e.compact&&(e.unitCount=1,e.secondsDecimalDigits=0,e.millisecondsDecimalDigits=0);let i=[];const s=(l,d)=>{const f=Math.floor(l*10**d+sne);return(Math.round(f)/10**d).toFixed(d)},o=(l,d,f,h)=>{if(!((i.length===0||!e.colonNotation)&&rne(l)&&!(e.colonNotation&&f==="m"))){if(h??=String(l),e.colonNotation){const p=h.includes(".")?h.split(".")[0].length:h.length,m=i.length>0?2:1;h="0".repeat(Math.max(0,m-p))+h}else h+=e.verbose?" "+ine(d,l):f;i.push(h)}},a=nne(t),c=BigInt(a.days);if(o(c/365n,"year","y"),o(c%365n,"day","d"),o(Number(a.hours),"hour","h"),o(Number(a.minutes),"minute","m"),e.separateMilliseconds||e.formatSubMilliseconds||!e.colonNotation&&t<1e3){const l=Number(a.seconds),d=Number(a.milliseconds),f=Number(a.microseconds),h=Number(a.nanoseconds);if(o(l,"second","s"),e.formatSubMilliseconds)o(d,"millisecond","ms"),o(f,"microsecond","\xB5s"),o(h,"nanosecond","ns");else{const p=d+f/1e3+h/1e6,m=typeof e.millisecondsDecimalDigits=="number"?e.millisecondsDecimalDigits:0,g=p>=1?Math.round(p):Math.ceil(p),y=m?p.toFixed(m):g;o(Number.parseFloat(y),"millisecond","ms",y)}}else{const l=(n?Number(t%one):t)/1e3%60,d=typeof e.secondsDecimalDigits=="number"?e.secondsDecimalDigits:1,f=s(l,d),h=e.keepDecimalsOnWholeSeconds?f:f.replace(/\.0+$/,"");o(Number.parseFloat(h),"second","s",h)}if(i.length===0)return r+"0"+(e.verbose?" milliseconds":"ms");const u=e.colonNotation?":":" ";return typeof e.unitCount=="number"&&(i=i.slice(0,Math.max(e.unitCount,1))),r+i.join(u)}const ane=(t,e)=>{t.failed&&od({type:"error",verboseMessage:t.shortMessage,verboseInfo:e,result:t})},cne=(t,e)=>{_b(e)&&(ane(t,e),une(t,e))},une=(t,e)=>{const n=`(done in ${IP(t.durationMs)})`;od({type:"duration",verboseMessage:n,verboseInfo:e,result:t})},m0=(t,e,{reject:n})=>{if(cne(t,e),t.failed&&n)throw t;return t},lne=(t,e)=>xa(t)?"asyncGenerator":FP(t)?"generator":y0(t)?"fileUrl":gne(t)?"filePath":wne(t)?"webStream":go(t,{checkOpen:!1})?"native":Er(t)?"uint8Array":bne(t)?"asyncIterable":Ene(t)?"iterable":w0(t)?PP({transform:t},e):pne(t)?dne(t,e):"native",dne=(t,e)=>pP(t.transform,{checkOpen:!1})?fne(t,e):w0(t.transform)?PP(t,e):hne(t,e),fne=(t,e)=>(NP(t,e,"Duplex stream"),"duplex"),PP=(t,e)=>(NP(t,e,"web TransformStream"),"webTransform"),NP=({final:t,binary:e,objectMode:n},r,i)=>{OP(t,`${r}.final`,i),OP(e,`${r}.binary`,i),g0(n,`${r}.objectMode`)},OP=(t,e,n)=>{if(t!==void 0)throw new TypeError(`The \`${e}\` option can only be defined when using a generator, not a ${n}.`)},hne=({transform:t,final:e,binary:n,objectMode:r},i)=>{if(t!==void 0&&!LP(t))throw new TypeError(`The \`${i}.transform\` option must be a generator, a Duplex stream or a web TransformStream.`);if(pP(e,{checkOpen:!1}))throw new TypeError(`The \`${i}.final\` option must not be a Duplex stream.`);if(w0(e))throw new TypeError(`The \`${i}.final\` option must not be a web TransformStream.`);if(e!==void 0&&!LP(e))throw new TypeError(`The \`${i}.final\` option must be a generator.`);return g0(n,`${i}.binary`),g0(r,`${i}.objectMode`),xa(t)||xa(e)?"asyncGenerator":"generator"},g0=(t,e)=>{if(t!==void 0&&typeof t!="boolean")throw new TypeError(`The \`${e}\` option must use a boolean.`)},LP=t=>xa(t)||FP(t),xa=t=>Object.prototype.toString.call(t)==="[object AsyncGeneratorFunction]",FP=t=>Object.prototype.toString.call(t)==="[object GeneratorFunction]",pne=t=>tr(t)&&(t.transform!==void 0||t.final!==void 0),y0=t=>Object.prototype.toString.call(t)==="[object URL]",mne=t=>y0(t)&&t.protocol!=="file:",gne=t=>tr(t)&&Object.keys(t).length===1&&MP(t.file),MP=t=>typeof t=="string",yne=(t,e)=>t==="native"&&typeof e=="string"&&!vne.has(e),vne=new Set(["ipc","ignore","inherit","overlapped","pipe"]),zP=t=>Object.prototype.toString.call(t)==="[object ReadableStream]",v0=t=>Object.prototype.toString.call(t)==="[object WritableStream]",wne=t=>zP(t)||v0(t),w0=t=>zP(t?.readable)&&v0(t?.writable),bne=t=>BP(t)&&typeof t[Symbol.asyncIterator]=="function",Ene=t=>BP(t)&&typeof t[Symbol.iterator]=="function",BP=t=>typeof t=="object"&&t!==null,vo=new Set(["generator","asyncGenerator","duplex","webTransform"]),qP=new Set(["fileUrl","filePath","fileNumber"]),jP=new Set(["fileUrl","filePath"]),Dne=new Set([...jP,"webStream","nodeStream"]),Tne=new Set(["webTransform","duplex"]),om={generator:"a generator",asyncGenerator:"an async generator",fileUrl:"a file URL",filePath:"a file path string",fileNumber:"a file descriptor number",webStream:"a web stream",nodeStream:"a Node.js stream",webTransform:"a web TransformStream",duplex:"a Duplex stream",native:"any value",iterable:"an iterable",asyncIterable:"an async iterable",string:"a string",uint8Array:"a Uint8Array"},UP=(t,e,n,r)=>r==="output"?Rne(t,e,n):Sne(t,e,n),Rne=(t,e,n)=>{const r=e!==0&&n[e-1].value.readableObjectMode;return{writableObjectMode:r,readableObjectMode:t??r}},Sne=(t,e,n)=>{const r=e===0?t===!0:n[e-1].value.readableObjectMode,i=e!==n.length-1&&(t??r);return{writableObjectMode:r,readableObjectMode:i}},kne=(t,e)=>{const n=t.findLast(({type:r})=>vo.has(r));return n===void 0?!1:e==="input"?n.value.writableObjectMode:n.value.readableObjectMode},$ne=(t,e,n,r)=>[...t.filter(({type:i})=>!vo.has(i)),...Cne(t,e,n,r)],Cne=(t,e,n,{encoding:r})=>{const i=t.filter(({type:o})=>vo.has(o)),s=Array.from({length:i.length});for(const[o,a]of Object.entries(i))s[o]=_ne({stdioItem:a,index:Number(o),newTransforms:s,optionName:e,direction:n,encoding:r});return Pne(s,n)},_ne=({stdioItem:t,stdioItem:{type:e},index:n,newTransforms:r,optionName:i,direction:s,encoding:o})=>e==="duplex"?Ane({stdioItem:t,optionName:i}):e==="webTransform"?xne({stdioItem:t,index:n,newTransforms:r,direction:s}):Ine({stdioItem:t,index:n,newTransforms:r,direction:s,encoding:o}),Ane=({stdioItem:t,stdioItem:{value:{transform:e,transform:{writableObjectMode:n,readableObjectMode:r},objectMode:i=r}},optionName:s})=>{if(i&&!r)throw new TypeError(`The \`${s}.objectMode\` option can only be \`true\` if \`new Duplex({objectMode: true})\` is used.`);if(!i&&r)throw new TypeError(`The \`${s}.objectMode\` option cannot be \`false\` if \`new Duplex({objectMode: true})\` is used.`);return{...t,value:{transform:e,writableObjectMode:n,readableObjectMode:r}}},xne=({stdioItem:t,stdioItem:{value:e},index:n,newTransforms:r,direction:i})=>{const{transform:s,objectMode:o}=tr(e)?e:{transform:e},{writableObjectMode:a,readableObjectMode:c}=UP(o,n,r,i);return{...t,value:{transform:s,writableObjectMode:a,readableObjectMode:c}}},Ine=({stdioItem:t,stdioItem:{value:e},index:n,newTransforms:r,direction:i,encoding:s})=>{const{transform:o,final:a,binary:c=!1,preserveNewlines:u=!1,objectMode:l}=tr(e)?e:{transform:e},d=c||mo.has(s),{writableObjectMode:f,readableObjectMode:h}=UP(l,n,r,i);return{...t,value:{transform:o,final:a,binary:d,preserveNewlines:u,writableObjectMode:f,readableObjectMode:h}}},Pne=(t,e)=>e==="input"?t.reverse():t,Nne=(t,e,n)=>{const r=t.map(i=>One(i,e));if(r.includes("input")&&r.includes("output"))throw new TypeError(`The \`${n}\` option must not be an array of both readable and writable values.`);return r.find(Boolean)??Mne},One=({type:t,value:e},n)=>Lne[n]??GP[t](e),Lne=["input","output","output"],Ia=()=>{},b0=()=>"input",GP={generator:Ia,asyncGenerator:Ia,fileUrl:Ia,filePath:Ia,iterable:b0,asyncIterable:b0,uint8Array:b0,webStream:t=>v0(t)?"output":"input",nodeStream(t){return rm(t,{checkOpen:!1})?hP(t,{checkOpen:!1})?void 0:"input":"output"},webTransform:Ia,duplex:Ia,native(t){const e=Fne(t);if(e!==void 0)return e;if(go(t,{checkOpen:!1}))return GP.nodeStream(t)}},Fne=t=>{if([0,Oe.stdin].includes(t))return"input";if([1,2,Oe.stdout,Oe.stderr].includes(t))return"output"},Mne="output",zne=(t,e)=>e&&!t.includes("ipc")?[...t,"ipc"]:t,Bne=({stdio:t,ipc:e,buffer:n,...r},i,s)=>{const o=qne(t,r).map((a,c)=>WP(a,c));return s?Une(o,n,i):zne(o,e)},qne=(t,e)=>{if(t===void 0)return Vr.map(r=>e[r]);if(jne(e))throw new Error(`It's not possible to provide \`stdio\` in combination with one of ${Vr.map(r=>`\`${r}\``).join(", ")}`);if(typeof t=="string")return[t,t,t];if(!Array.isArray(t))throw new TypeError(`Expected \`stdio\` to be of type \`string\` or \`Array\`, got \`${typeof t}\``);const n=Math.max(t.length,Vr.length);return Array.from({length:n},(r,i)=>t[i])},jne=t=>Vr.some(e=>t[e]!==void 0),WP=(t,e)=>Array.isArray(t)?t.map(n=>WP(n,e)):t??(e>=Vr.length?"ignore":"pipe"),Une=(t,e,n)=>t.map((r,i)=>!e[i]&&i!==0&&!Ab(n,i)&&Gne(r)?"ignore":r),Gne=t=>t==="pipe"||Array.isArray(t)&&t.every(e=>e==="pipe"),Wne=({stdioItem:t,stdioItem:{type:e},isStdioArray:n,fdNumber:r,direction:i,isSync:s})=>!n||e!=="native"?t:s?Hne({stdioItem:t,fdNumber:r,direction:i}):Yne({stdioItem:t,fdNumber:r}),Hne=({stdioItem:t,stdioItem:{value:e,optionName:n},fdNumber:r,direction:i})=>{const s=Vne({value:e,optionName:n,fdNumber:r,direction:i});if(s!==void 0)return s;if(go(e,{checkOpen:!1}))throw new TypeError(`The \`${n}: Stream\` option cannot both be an array and include a stream with synchronous methods.`);return t},Vne=({value:t,optionName:e,fdNumber:n,direction:r})=>{const i=Kne(t,n);if(i!==void 0){if(r==="output")return{type:"fileNumber",value:i,optionName:e};if(Z0.isatty(i))throw new TypeError(`The \`${e}: ${e0(t)}\` option is invalid: it cannot be a TTY with synchronous methods.`);return{type:"uint8Array",value:id(mm(i)),optionName:e}}},Kne=(t,e)=>{if(t==="inherit")return e;if(typeof t=="number")return t;const n=Cb.indexOf(t);if(n!==-1)return n},Yne=({stdioItem:t,stdioItem:{value:e,optionName:n},fdNumber:r})=>e==="inherit"?{type:"nodeStream",value:HP(r,e,n),optionName:n}:typeof e=="number"?{type:"nodeStream",value:HP(e,e,n),optionName:n}:go(e,{checkOpen:!1})?{type:"nodeStream",value:e,optionName:n}:t,HP=(t,e,n)=>{const r=Cb[t];if(r===void 0)throw new TypeError(`The \`${n}: ${e}\` option is invalid: no such standard stream.`);return r},Xne=({input:t,inputFile:e},n)=>n===0?[...Jne(t),...Qne(e)]:[],Jne=t=>t===void 0?[]:[{type:Zne(t),value:t,optionName:"input"}],Zne=t=>{if(rm(t,{checkOpen:!1}))return"nodeStream";if(typeof t=="string")return"string";if(Er(t))return"uint8Array";throw new Error("The `input` option must be a string, a Uint8Array or a Node.js Readable stream.")},Qne=t=>t===void 0?[]:[{...ere(t),optionName:"inputFile"}],ere=t=>{if(y0(t))return{type:"fileUrl",value:t};if(MP(t))return{type:"filePath",value:{file:t}};throw new Error("The `inputFile` option must be a file path string or a file URL.")},tre=t=>t.filter((e,n)=>t.every((r,i)=>e.value!==r.value||n>=i||e.type==="generator"||e.type==="asyncGenerator")),nre=({stdioItem:{type:t,value:e,optionName:n},direction:r,fileDescriptors:i,isSync:s})=>{const o=rre(i,t);if(o.length!==0){if(s){ire({otherStdioItems:o,type:t,value:e,optionName:n,direction:r});return}if(Dne.has(t))return VP({otherStdioItems:o,type:t,value:e,optionName:n,direction:r});Tne.has(t)&&ore({otherStdioItems:o,type:t,value:e,optionName:n})}},rre=(t,e)=>t.flatMap(({direction:n,stdioItems:r})=>r.filter(i=>i.type===e).map(i=>({...i,direction:n}))),ire=({otherStdioItems:t,type:e,value:n,optionName:r,direction:i})=>{jP.has(e)&&VP({otherStdioItems:t,type:e,value:n,optionName:r,direction:i})},VP=({otherStdioItems:t,type:e,value:n,optionName:r,direction:i})=>{const s=t.filter(a=>sre(a,n));if(s.length===0)return;const o=s.find(a=>a.direction!==i);return KP(o,r,e),i==="output"?s[0].stream:void 0},sre=({type:t,value:e},n)=>t==="filePath"?e.file===n.file:t==="fileUrl"?e.href===n.href:e===n,ore=({otherStdioItems:t,type:e,value:n,optionName:r})=>{const i=t.find(({value:{transform:s}})=>s===n.transform);KP(i,r,e)},KP=(t,e,n)=>{if(t!==void 0)throw new TypeError(`The \`${t.optionName}\` and \`${e}\` options must not target ${om[n]} that is the same.`)},YP=(t,e,n,r)=>{const s=Bne(e,n,r).map((a,c)=>are({stdioOption:a,fdNumber:c,options:e,isSync:r})),o=mre({initialFileDescriptors:s,addProperties:t,options:e,isSync:r});return e.stdio=o.map(({stdioItems:a})=>vre(a)),o},are=({stdioOption:t,fdNumber:e,options:n,isSync:r})=>{const i=lI(e),{stdioItems:s,isStdioArray:o}=cre({stdioOption:t,fdNumber:e,options:n,optionName:i}),a=Nne(s,e,i),c=s.map(d=>Wne({stdioItem:d,isStdioArray:o,fdNumber:e,direction:a,isSync:r})),u=$ne(c,i,a,n),l=kne(u,a);return pre(u,l),{direction:a,objectMode:l,stdioItems:u}},cre=({stdioOption:t,fdNumber:e,options:n,optionName:r})=>{const s=[...(Array.isArray(t)?t:[t]).map(c=>ure(c,r)),...Xne(n,e)],o=tre(s),a=o.length>1;return lre(o,a,r),fre(o),{stdioItems:o,isStdioArray:a}},ure=(t,e)=>({type:lne(t,e),value:t,optionName:e}),lre=(t,e,n)=>{if(t.length===0)throw new TypeError(`The \`${n}\` option must not be an empty array.`);if(e){for(const{value:r,optionName:i}of t)if(dre.has(r))throw new Error(`The \`${i}\` option must not include \`${r}\`.`)}},dre=new Set(["ignore","ipc"]),fre=t=>{for(const e of t)hre(e)},hre=({type:t,value:e,optionName:n})=>{if(mne(e))throw new TypeError(`The \`${n}: URL\` option must use the \`file:\` scheme.
1808
- For example, you can use the \`pathToFileURL()\` method of the \`url\` core module.`);if(yne(t,e))throw new TypeError(`The \`${n}: { file: '...' }\` option must be used instead of \`${n}: '...'\`.`)},pre=(t,e)=>{if(!e)return;const n=t.find(({type:r})=>qP.has(r));if(n!==void 0)throw new TypeError(`The \`${n.optionName}\` option cannot use both files and transforms in objectMode.`)},mre=({initialFileDescriptors:t,addProperties:e,options:n,isSync:r})=>{const i=[];try{for(const s of t)i.push(gre({fileDescriptor:s,fileDescriptors:i,addProperties:e,options:n,isSync:r}));return i}catch(s){throw XP(i),s}},gre=({fileDescriptor:{direction:t,objectMode:e,stdioItems:n},fileDescriptors:r,addProperties:i,options:s,isSync:o})=>{const a=n.map(c=>yre({stdioItem:c,addProperties:i,direction:t,options:s,fileDescriptors:r,isSync:o}));return{direction:t,objectMode:e,stdioItems:a}},yre=({stdioItem:t,addProperties:e,direction:n,options:r,fileDescriptors:i,isSync:s})=>{const o=nre({stdioItem:t,direction:n,fileDescriptors:i,isSync:s});return o!==void 0?{...t,stream:o}:{...t,...e[n][t.type](t,r)}},XP=t=>{for(const{stdioItems:e}of t)for(const{stream:n}of e)n!==void 0&&!fo(n)&&n.destroy()},vre=t=>{if(t.length>1)return t.some(({value:r})=>r==="overlapped")?"overlapped":"pipe";const[{type:e,value:n}]=t;return e==="native"?n:"pipe"},wre=(t,e)=>YP(Ere,t,e,!0),Kr=({type:t,optionName:e})=>{JP(e,om[t])},bre=({optionName:t,value:e})=>((e==="ipc"||e==="overlapped")&&JP(t,`"${e}"`),{}),JP=(t,e)=>{throw new TypeError(`The \`${t}\` option cannot be ${e} with synchronous methods.`)},ZP={generator(){},asyncGenerator:Kr,webStream:Kr,nodeStream:Kr,webTransform:Kr,duplex:Kr,asyncIterable:Kr,native:bre},Ere={input:{...ZP,fileUrl:({value:t})=>({contents:[id(mm(t))]}),filePath:({value:{file:t}})=>({contents:[id(mm(t))]}),fileNumber:Kr,iterable:({value:t})=>({contents:[...t]}),string:({value:t})=>({contents:[t]}),uint8Array:({value:t})=>({contents:[t]})},output:{...ZP,fileUrl:({value:t})=>({path:t}),filePath:({value:{file:t}})=>({path:t}),fileNumber:({value:t})=>({path:t}),iterable:Kr,string:Kr,uint8Array:Kr}},Pa=(t,{stripFinalNewline:e},n)=>QP(e,n)&&t!==void 0&&!Array.isArray(t)?a0(t):t,QP=(t,e)=>e==="all"?t[1]||t[2]:t[e],eN=(t,e,n,r)=>t||n?void 0:rN(e,r),tN=(t,e,n)=>n?t.flatMap(r=>nN(r,e)):nN(t,e),nN=(t,e)=>{const{transform:n,final:r}=rN(e,{});return[...n(t),...r()]},rN=(t,e)=>(e.previousChunks="",{transform:Dre.bind(void 0,e,t),final:Rre.bind(void 0,e)}),Dre=function*(t,e,n){if(typeof n!="string"){yield n;return}let{previousChunks:r}=t,i=-1;for(let s=0;s<n.length;s+=1)if(n[s]===`
1809
- `){const o=Tre(n,s,e,t);let a=n.slice(i+1,s+1-o);r.length>0&&(a=E0(r,a),r=""),yield a,i=s}i!==n.length-1&&(r=E0(r,n.slice(i+1))),t.previousChunks=r},Tre=(t,e,n,r)=>n?0:(r.isWindowsNewline=e!==0&&t[e-1]==="\r",r.isWindowsNewline?2:1),Rre=function*({previousChunks:t}){t.length>0&&(yield t)},Sre=({binary:t,preserveNewlines:e,readableObjectMode:n,state:r})=>t||e||n?void 0:{transform:kre.bind(void 0,r)},kre=function*({isWindowsNewline:t=!1},e){const{unixNewline:n,windowsNewline:r,LF:i,concatBytes:s}=typeof e=="string"?$re:_re;if(e.at(-1)===i){yield e;return}yield s(e,t?r:n)},E0=(t,e)=>`${t}${e}`,$re={windowsNewline:`\r
1810
- `,unixNewline:`
1811
- `,LF:`
1812
- `,concatBytes:E0},Cre=(t,e)=>{const n=new Uint8Array(t.length+e.length);return n.set(t,0),n.set(e,t.length),n},_re={windowsNewline:new Uint8Array([13,10]),unixNewline:new Uint8Array([10]),LF:10,concatBytes:Cre},Are=(t,e)=>t?void 0:xre.bind(void 0,e),xre=function*(t,e){if(typeof e!="string"&&!Er(e)&&!Em.isBuffer(e))throw new TypeError(`The \`${t}\` option's transform must use "objectMode: true" to receive as input: ${typeof e}.`);yield e},Ire=(t,e)=>t?Pre.bind(void 0,e):Nre.bind(void 0,e),Pre=function*(t,e){iN(t,e),yield e},Nre=function*(t,e){if(iN(t,e),typeof e!="string"&&!Er(e))throw new TypeError(`The \`${t}\` option's function must yield a string or an Uint8Array, not ${typeof e}.`);yield e},iN=(t,e)=>{if(e==null)throw new TypeError(`The \`${t}\` option's function must not call \`yield ${e}\`.
1813
- Instead, \`yield\` should either be called with a value, or not be called at all. For example:
1814
- if (condition) { yield value; }`)},sN=(t,e,n)=>{if(n)return;if(t)return{transform:Ore.bind(void 0,new TextEncoder)};const r=new eE(e);return{transform:Lre.bind(void 0,r),final:Fre.bind(void 0,r)}},Ore=function*(t,e){Em.isBuffer(e)?yield id(e):typeof e=="string"?yield t.encode(e):yield e},Lre=function*(t,e){yield Er(e)?t.write(e):e},Fre=function*(t){const e=t.end();e!==""&&(yield e)},oN=Do(async(t,e,n,r)=>{e.currentIterable=t(...n);try{for await(const i of e.currentIterable)r.push(i)}finally{delete e.currentIterable}}),D0=async function*(t,e,n){if(n===e.length){yield t;return}const{transform:r=qre}=e[n];for await(const i of r(t))yield*D0(i,e,n+1)},Mre=async function*(t){for(const[e,{final:n}]of Object.entries(t))yield*zre(n,Number(e),t)},zre=async function*(t,e,n){if(t!==void 0)for await(const r of t())yield*D0(r,n,e+1)},Bre=Do(async({currentIterable:t},e)=>{if(t!==void 0){await(e?t.throw(e):t.return());return}if(e)throw e}),qre=function*(t){yield t},aN=(t,e,n,r)=>{try{for(const i of t(...e))n.push(i);r()}catch(i){r(i)}},jre=(t,e)=>[...e.flatMap(n=>[...dd(n,t,0)]),...T0(t)],dd=function*(t,e,n){if(n===e.length){yield t;return}const{transform:r=Gre}=e[n];for(const i of r(t))yield*dd(i,e,n+1)},T0=function*(t){for(const[e,{final:n}]of Object.entries(t))yield*Ure(n,Number(e),t)},Ure=function*(t,e,n){if(t!==void 0)for(const r of t())yield*dd(r,n,e+1)},Gre=function*(t){yield t},cN=({value:t,value:{transform:e,final:n,writableObjectMode:r,readableObjectMode:i},optionName:s},{encoding:o})=>{const a={},c=lN(t,o,s),u=xa(e),l=xa(n),d=u?oN.bind(void 0,D0,a):aN.bind(void 0,dd),f=u||l?oN.bind(void 0,Mre,a):aN.bind(void 0,T0),h=u||l?Bre.bind(void 0,a):void 0;return{stream:new Q2({writableObjectMode:r,writableHighWaterMark:bd(r),readableObjectMode:i,readableHighWaterMark:bd(i),transform(m,g,y){d([m,c,0],this,y)},flush(m){f([c],this,m)},destroy:h})}},uN=(t,e,n,r)=>{const i=e.filter(({type:o})=>o==="generator"),s=r?i.reverse():i;for(const{value:o,optionName:a}of s){const c=lN(o,n,a);t=jre(c,t)}return t},lN=({transform:t,final:e,binary:n,writableObjectMode:r,readableObjectMode:i,preserveNewlines:s},o,a)=>{const c={};return[{transform:Are(r,a)},sN(n,o,r),eN(n,s,r,c),{transform:t,final:e},{transform:Ire(i,a)},Sre({binary:n,preserveNewlines:s,readableObjectMode:i,state:c})].filter(Boolean)},Wre=(t,e)=>{for(const n of Hre(t))Vre(t,n,e)},Hre=t=>new Set(Object.entries(t).filter(([,{direction:e}])=>e==="input").map(([e])=>Number(e))),Vre=(t,e,n)=>{const{stdioItems:r}=t[e],i=r.filter(({contents:a})=>a!==void 0);if(i.length===0)return;if(e!==0){const[{type:a,optionName:c}]=i;throw new TypeError(`Only the \`stdin\` option, not \`${c}\`, can be ${om[a]} with synchronous methods.`)}const o=i.map(({contents:a})=>a).map(a=>Kre(a,r));n.input=$b(o)},Kre=(t,e)=>{const n=uN(t,e,"utf8",!0);return Yre(n),$b(n)},Yre=t=>{const e=t.find(n=>typeof n!="string"&&!Er(n));if(e!==void 0)throw new TypeError(`The \`stdin\` option is invalid: when passing objects as input, a transform must be used to serialize them to strings or Uint8Arrays: ${e}.`)},dN=({stdioItems:t,encoding:e,verboseInfo:n,fdNumber:r})=>r!=="all"&&Ab(n,r)&&!mo.has(e)&&Xre(r)&&(t.some(({type:i,value:s})=>i==="native"&&Jre.has(s))||t.every(({type:i})=>vo.has(i))),Xre=t=>t===1||t===2,Jre=new Set(["pipe","overlapped"]),Zre=async(t,e,n,r)=>{for await(const i of t)eie(e)||fN(i,n,r)},Qre=(t,e,n)=>{for(const r of t)fN(r,e,n)},eie=t=>t._readableState.pipes.length>0,fN=(t,e,n)=>{const r=wI(t);od({type:"output",verboseMessage:r,fdNumber:e,verboseInfo:n})},tie=({fileDescriptors:t,syncResult:{output:e},options:n,isMaxBuffer:r,verboseInfo:i})=>{if(e===null)return{output:Array.from({length:3})};const s={},o=new Set([]);return{output:e.map((c,u)=>nie({result:c,fileDescriptors:t,fdNumber:u,state:s,outputFiles:o,isMaxBuffer:r,verboseInfo:i},n)),...s}},nie=({result:t,fileDescriptors:e,fdNumber:n,state:r,outputFiles:i,isMaxBuffer:s,verboseInfo:o},{buffer:a,encoding:c,lines:u,stripFinalNewline:l,maxBuffer:d})=>{if(t===null)return;const f=Wte(t,s,d),h=id(f),{stdioItems:p,objectMode:m}=e[n],g=rie([h],p,c,r),{serializedResult:y,finalResult:w=y}=iie({chunks:g,objectMode:m,encoding:c,lines:u,stripFinalNewline:l,fdNumber:n});sie({serializedResult:y,fdNumber:n,state:r,verboseInfo:o,encoding:c,stdioItems:p,objectMode:m});const E=a[n]?w:void 0;try{return r.error===void 0&&oie(y,p,i),E}catch(k){return r.error=k,E}},rie=(t,e,n,r)=>{try{return uN(t,e,n,!1)}catch(i){return r.error=i,t}},iie=({chunks:t,objectMode:e,encoding:n,lines:r,stripFinalNewline:i,fdNumber:s})=>{if(e)return{serializedResult:t};if(n==="buffer")return{serializedResult:$b(t)};const o=iZ(t,n);return r[s]?{serializedResult:o,finalResult:tN(o,!i[s],e)}:{serializedResult:o}},sie=({serializedResult:t,fdNumber:e,state:n,verboseInfo:r,encoding:i,stdioItems:s,objectMode:o})=>{if(!dN({stdioItems:s,encoding:i,verboseInfo:r,fdNumber:e}))return;const a=tN(t,!1,o);try{Qre(a,e,r)}catch(c){n.error??=c}},oie=(t,e,n)=>{for(const{path:r}of e.filter(({type:i})=>qP.has(i))){const i=typeof r=="string"?r:r.toString();n.has(i)?D2(r,t):(n.add(i),V0(r,t))}},aie=([,t,e],n)=>{if(n.all)return t===void 0?e:e===void 0?t:Array.isArray(t)?Array.isArray(e)?[...t,...e]:[...t,Pa(e,n,"all")]:Array.isArray(e)?[Pa(t,n,"all"),...e]:Er(t)&&Er(e)?oI([t,e]):`${t}${e}`},cie=async(t,e)=>{const[n,r]=await uie(t);return e.isForcefullyTerminated??=!1,[n,r]},uie=async t=>{const[e,n]=await Promise.allSettled([vn(t,"spawn"),vn(t,"exit")]);return e.status==="rejected"?[]:n.status==="rejected"?hN(t):n.value},hN=async t=>{try{return await vn(t,"exit")}catch{return hN(t)}},lie=async t=>{const[e,n]=await t;if(!die(e,n)&&pN(e,n))throw new ad;return[e,n]},die=(t,e)=>t===void 0&&e===void 0,pN=(t,e)=>t!==0||e!==null,fie=({error:t,status:e,signal:n,output:r},{maxBuffer:i})=>{const s=hie(t,e,n),o=s?.code==="ETIMEDOUT",a=Gte(s,r,i);return{resultError:s,exitCode:e,signal:n,timedOut:o,isMaxBuffer:a}},hie=(t,e,n)=>t!==void 0?t:pN(e,n)?new ad:void 0,pie=(t,e,n)=>{const{file:r,commandArguments:i,command:s,escapedCommand:o,startTime:a,verboseInfo:c,options:u,fileDescriptors:l}=mie(t,e,n),d=vie({file:r,commandArguments:i,options:u,command:s,escapedCommand:o,verboseInfo:c,fileDescriptors:l,startTime:a});return m0(d,c,u)},mie=(t,e,n)=>{const{command:r,escapedCommand:i,startTime:s,verboseInfo:o}=DI(t,e,n),a=gie(n),{file:c,commandArguments:u,options:l}=lP(t,e,a);yie(l);const d=wre(l,o);return{file:c,commandArguments:u,command:r,escapedCommand:i,startTime:s,verboseInfo:o,options:l,fileDescriptors:d}},gie=t=>t.node&&!t.ipc?{...t,ipc:!1}:t,yie=({ipc:t,ipcInput:e,detached:n,cancelSignal:r})=>{e&&am("ipcInput"),t&&am("ipc: true"),n&&am("detached: true"),r&&am("cancelSignal")},am=t=>{throw new TypeError(`The "${t}" option cannot be used with synchronous methods.`)},vie=({file:t,commandArguments:e,options:n,command:r,escapedCommand:i,verboseInfo:s,fileDescriptors:o,startTime:a})=>{const c=wie({file:t,commandArguments:e,options:n,command:r,escapedCommand:i,fileDescriptors:o,startTime:a});if(c.failed)return c;const{resultError:u,exitCode:l,signal:d,timedOut:f,isMaxBuffer:h}=fie(c,n),{output:p,error:m=u}=tie({fileDescriptors:o,syncResult:c,options:n,isMaxBuffer:h,verboseInfo:s}),g=p.map((w,E)=>Pa(w,n,E)),y=Pa(aie(p,n),n,"all");return Eie({error:m,exitCode:l,signal:d,timedOut:f,isMaxBuffer:h,stdio:g,all:y,options:n,command:r,escapedCommand:i,startTime:a})},wie=({file:t,commandArguments:e,options:n,command:r,escapedCommand:i,fileDescriptors:s,startTime:o})=>{try{Wre(s,n);const a=bie(n);return V2(t,e,a)}catch(a){return h0({error:a,command:r,escapedCommand:i,fileDescriptors:s,options:n,startTime:o,isSync:!0})}},bie=({encoding:t,maxBuffer:e,...n})=>({...n,encoding:"buffer",maxBuffer:f0(e)}),Eie=({error:t,exitCode:e,signal:n,timedOut:r,isMaxBuffer:i,stdio:s,all:o,options:a,command:c,escapedCommand:u,startTime:l})=>t===void 0?_P({command:c,escapedCommand:u,stdio:s,all:o,ipcOutput:[],options:a,startTime:l}):p0({error:t,command:c,escapedCommand:u,timedOut:r,isCanceled:!1,isGracefullyCanceled:!1,isMaxBuffer:i,isForcefullyTerminated:!1,exitCode:e,signal:n,stdio:s,all:o,ipcOutput:[],options:a,startTime:l,isSync:!0}),Die=({anyProcess:t,channel:e,isSubprocess:n,ipc:r},{reference:i=!0,filter:s}={})=>(Jb({methodName:"getOneMessage",isSubprocess:n,ipc:r,isConnected:tP(t)}),Tie({anyProcess:t,channel:e,isSubprocess:n,filter:s,reference:i})),Tie=async({anyProcess:t,channel:e,isSubprocess:n,filter:r,reference:i})=>{QI(e,i);const s=Zp(t,e,n),o=new AbortController;try{return await Promise.race([Rie(s,r,o),Sie(s,n,o),kie(s,n,o)])}catch(a){throw Zb(t),a}finally{o.abort(),eP(e,i)}},Rie=async(t,e,{signal:n})=>{if(e===void 0){const[r]=await vn(t,"message",{signal:n});return r}for await(const[r]of wd(t,"message",{signal:n}))if(e(r))return r},Sie=async(t,e,{signal:n})=>{await vn(t,"disconnect",{signal:n}),eee(e)},kie=async(t,e,{signal:n})=>{const[r]=await vn(t,"strict:error",{signal:n});throw KI(r,e)},$ie=({anyProcess:t,channel:e,isSubprocess:n,ipc:r},{reference:i=!0}={})=>mN({anyProcess:t,channel:e,isSubprocess:n,ipc:r,shouldAwait:!n,reference:i}),mN=({anyProcess:t,channel:e,isSubprocess:n,ipc:r,shouldAwait:i,reference:s})=>{Jb({methodName:"getEachMessage",isSubprocess:n,ipc:r,isConnected:tP(t)}),QI(e,s);const o=Zp(t,e,n),a=new AbortController,c={};return Cie(t,o,a),_ie({ipcEmitter:o,isSubprocess:n,controller:a,state:c}),Aie({anyProcess:t,channel:e,ipcEmitter:o,isSubprocess:n,shouldAwait:i,controller:a,state:c,reference:s})},Cie=async(t,e,n)=>{try{await vn(e,"disconnect",{signal:n.signal}),n.abort()}catch{}},_ie=async({ipcEmitter:t,isSubprocess:e,controller:n,state:r})=>{try{const[i]=await vn(t,"strict:error",{signal:n.signal});r.error=KI(i,e),n.abort()}catch{}},Aie=async function*({anyProcess:t,channel:e,ipcEmitter:n,isSubprocess:r,shouldAwait:i,controller:s,state:o,reference:a}){try{for await(const[c]of wd(n,"message",{signal:s.signal}))gN(o),yield c}catch{gN(o)}finally{s.abort(),eP(e,a),r||Zb(t),i&&await t}},gN=({error:t})=>{if(t)throw t},xie=(t,{ipc:e})=>{Object.assign(t,yN(t,!1,e))},Iie=()=>{const t=Oe,e=!0,n=Oe.channel!==void 0;return{...yN(t,e,n),getCancelSignal:Nee.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:n})}},yN=(t,e,n)=>({sendMessage:rP.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:n}),getOneMessage:Die.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:n}),getEachMessage:$ie.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:n})}),Pie=({error:t,command:e,escapedCommand:n,fileDescriptors:r,options:i,startTime:s,verboseInfo:o})=>{XP(r);const a=new Q0;Nie(a,r),Object.assign(a,{readable:Oie,writable:Lie,duplex:Fie});const c=h0({error:t,command:e,escapedCommand:n,fileDescriptors:r,options:i,startTime:s,isSync:!1}),u=Mie(c,o,i);return{subprocess:a,promise:u}},Nie=(t,e)=>{const n=fd(),r=fd(),i=fd(),s=Array.from({length:e.length-3},fd),o=fd(),a=[n,r,i,...s];Object.assign(t,{stdin:n,stdout:r,stderr:i,all:o,stdio:a})},fd=()=>{const t=new iE;return t.end(),t},Oie=()=>new Es({read(){}}),Lie=()=>new wm({write(){}}),Fie=()=>new bm({read(){},write(){}}),Mie=async(t,e,n)=>m0(t,e,n),zie=(t,e)=>YP(Bie,t,e,!1),hd=({type:t,optionName:e})=>{throw new TypeError(`The \`${e}\` option cannot be ${om[t]}.`)},vN={fileNumber:hd,generator:cN,asyncGenerator:cN,nodeStream:({value:t})=>({stream:t}),webTransform({value:{transform:t,writableObjectMode:e,readableObjectMode:n}}){const r=e||n;return{stream:bm.fromWeb(t,{objectMode:r})}},duplex:({value:{transform:t}})=>({stream:t}),native(){}},Bie={input:{...vN,fileUrl:({value:t})=>({stream:K0(t)}),filePath:({value:{file:t}})=>({stream:K0(t)}),webStream:({value:t})=>({stream:Es.fromWeb(t)}),iterable:({value:t})=>({stream:Es.from(t)}),asyncIterable:({value:t})=>({stream:Es.from(t)}),string:({value:t})=>({stream:Es.from(t)}),uint8Array:({value:t})=>({stream:Es.from(Em.from(t))})},output:{...vN,fileUrl:({value:t})=>({stream:Y0(t)}),filePath:({value:{file:t}})=>({stream:Y0(t)}),webStream:({value:t})=>({stream:wm.fromWeb(t)}),iterable:hd,asyncIterable:hd,string:hd,uint8Array:hd}};function R0(t){if(!Array.isArray(t))throw new TypeError(`Expected an array, got \`${typeof t}\`.`);for(const i of t)S0(i);const e=t.some(({readableObjectMode:i})=>i),n=qie(t,e),r=new jie({objectMode:e,writableHighWaterMark:n,readableHighWaterMark:n});for(const i of t)r.add(i);return r}const qie=(t,e)=>{if(t.length===0)return bd(e);const n=t.filter(({readableObjectMode:r})=>r===e).map(({readableHighWaterMark:r})=>r);return Math.max(...n)};class jie extends iE{#e=new Set([]);#t=new Set([]);#n=new Set([]);#r;#s=Symbol("unpipe");#i=new WeakMap;add(e){if(S0(e),this.#e.has(e))return;this.#e.add(e),this.#r??=Uie(this,this.#e,this.#s);const n=Hie({passThroughStream:this,stream:e,streams:this.#e,ended:this.#t,aborted:this.#n,onFinished:this.#r,unpipeEvent:this.#s});this.#i.set(e,n),e.pipe(this,{end:!1})}async remove(e){if(S0(e),!this.#e.has(e))return!1;const n=this.#i.get(e);return n===void 0?!1:(this.#i.delete(e),e.unpipe(this),await n,!0)}}const Uie=async(t,e,n)=>{cm(t,DN);const r=new AbortController;try{await Promise.race([Gie(t,r),Wie(t,e,n,r)])}finally{r.abort(),cm(t,-DN)}},Gie=async(t,{signal:e})=>{try{await Pi(t,{signal:e,cleanup:!0})}catch(n){throw wN(t,n),n}},Wie=async(t,e,n,{signal:r})=>{for await(const[i]of wd(t,"unpipe",{signal:r}))e.has(i)&&i.emit(n)},S0=t=>{if(typeof t?.pipe!="function")throw new TypeError(`Expected a readable stream, got: \`${typeof t}\`.`)},Hie=async({passThroughStream:t,stream:e,streams:n,ended:r,aborted:i,onFinished:s,unpipeEvent:o})=>{cm(t,TN);const a=new AbortController;try{await Promise.race([Vie(s,e,a),Kie({passThroughStream:t,stream:e,streams:n,ended:r,aborted:i,controller:a}),Yie({stream:e,streams:n,ended:r,aborted:i,unpipeEvent:o,controller:a})])}finally{a.abort(),cm(t,-TN)}n.size>0&&n.size===r.size+i.size&&(r.size===0&&i.size>0?k0(t):Xie(t))},Vie=async(t,e,{signal:n})=>{try{await t,n.aborted||k0(e)}catch(r){n.aborted||wN(e,r)}},Kie=async({passThroughStream:t,stream:e,streams:n,ended:r,aborted:i,controller:{signal:s}})=>{try{await Pi(e,{signal:s,cleanup:!0,readable:!0,writable:!1}),n.has(e)&&r.add(e)}catch(o){if(s.aborted||!n.has(e))return;bN(o)?i.add(e):EN(t,o)}},Yie=async({stream:t,streams:e,ended:n,aborted:r,unpipeEvent:i,controller:{signal:s}})=>{if(await vn(t,i,{signal:s}),!t.readable)return vn(s,"abort",{signal:s});e.delete(t),n.delete(t),r.delete(t)},Xie=t=>{t.writable&&t.end()},wN=(t,e)=>{bN(e)?k0(t):EN(t,e)},bN=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",k0=t=>{(t.readable||t.writable)&&t.destroy()},EN=(t,e)=>{t.destroyed||(t.once("error",Jie),t.destroy(e))},Jie=()=>{},cm=(t,e)=>{const n=t.getMaxListeners();n!==0&&n!==Number.POSITIVE_INFINITY&&t.setMaxListeners(n+e)},DN=2,TN=1,um=(t,e)=>{t.pipe(e),Zie(t,e),Qie(t,e)},Zie=async(t,e)=>{if(!(fo(t)||fo(e))){try{await Pi(t,{cleanup:!0,readable:!0,writable:!1})}catch{}RN(e)}},RN=t=>{t.writable&&t.end()},Qie=async(t,e)=>{if(!(fo(t)||fo(e))){try{await Pi(e,{cleanup:!0,readable:!1,writable:!0})}catch{}SN(t)}},SN=t=>{t.readable&&t.destroy()},ese=(t,e,n)=>{const r=new Map;for(const[i,{stdioItems:s,direction:o}]of Object.entries(e)){for(const{stream:a}of s.filter(({type:c})=>vo.has(c)))tse(t,a,o,i);for(const{stream:a}of s.filter(({type:c})=>!vo.has(c)))rse({subprocess:t,stream:a,direction:o,fdNumber:i,pipeGroups:r,controller:n})}for(const[i,s]of r.entries()){const o=s.length===1?s[0]:R0(s);um(o,i)}},tse=(t,e,n,r)=>{n==="output"?um(t.stdio[r],e):um(e,t.stdio[r]);const i=nse[r];i!==void 0&&(t[i]=e),t.stdio[r]=e},nse=["stdin","stdout","stderr"],rse=({subprocess:t,stream:e,direction:n,fdNumber:r,pipeGroups:i,controller:s})=>{if(e===void 0)return;ise(e,s);const[o,a]=n==="output"?[e,t.stdio[r]]:[t.stdio[r],e],c=i.get(o)??[];i.set(o,[...c,a])},ise=(t,{signal:e})=>{fo(t)&&Xp(t,sse,e)},sse=2,Na=[];Na.push("SIGHUP","SIGINT","SIGTERM"),process.platform!=="win32"&&Na.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT"),process.platform==="linux"&&Na.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");const lm=t=>!!t&&typeof t=="object"&&typeof t.removeListener=="function"&&typeof t.emit=="function"&&typeof t.reallyExit=="function"&&typeof t.listeners=="function"&&typeof t.kill=="function"&&typeof t.pid=="number"&&typeof t.on=="function",$0=Symbol.for("signal-exit emitter"),C0=globalThis,ose=Object.defineProperty.bind(Object);class ase{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(C0[$0])return C0[$0];ose(C0,$0,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(e,n){this.listeners[e].push(n)}removeListener(e,n){const r=this.listeners[e],i=r.indexOf(n);i!==-1&&(i===0&&r.length===1?r.length=0:r.splice(i,1))}emit(e,n,r){if(this.emitted[e])return!1;this.emitted[e]=!0;let i=!1;for(const s of this.listeners[e])i=s(n,r)===!0||i;return e==="exit"&&(i=this.emit("afterExit",n,r)||i),i}}class kN{}const cse=t=>({onExit(e,n){return t.onExit(e,n)},load(){return t.load()},unload(){return t.unload()}});class use extends kN{onExit(){return()=>{}}load(){}unload(){}}class lse extends kN{#e=_0.platform==="win32"?"SIGINT":"SIGHUP";#t=new ase;#n;#r;#s;#i={};#o=!1;constructor(e){super(),this.#n=e,this.#i={};for(const n of Na)this.#i[n]=()=>{const r=this.#n.listeners(n);let{count:i}=this.#t;const s=e;if(typeof s.__signal_exit_emitter__=="object"&&typeof s.__signal_exit_emitter__.count=="number"&&(i+=s.__signal_exit_emitter__.count),r.length===i){this.unload();const o=this.#t.emit("exit",null,n),a=n==="SIGHUP"?this.#e:n;o||e.kill(e.pid,a)}};this.#s=e.reallyExit,this.#r=e.emit}onExit(e,n){if(!lm(this.#n))return()=>{};this.#o===!1&&this.load();const r=n?.alwaysLast?"afterExit":"exit";return this.#t.on(r,e),()=>{this.#t.removeListener(r,e),this.#t.listeners.exit.length===0&&this.#t.listeners.afterExit.length===0&&this.unload()}}load(){if(!this.#o){this.#o=!0,this.#t.count+=1;for(const e of Na)try{const n=this.#i[e];n&&this.#n.on(e,n)}catch{}this.#n.emit=(e,...n)=>this.#c(e,...n),this.#n.reallyExit=e=>this.#a(e)}}unload(){this.#o&&(this.#o=!1,Na.forEach(e=>{const n=this.#i[e];if(!n)throw new Error("Listener not defined for signal: "+e);try{this.#n.removeListener(e,n)}catch{}}),this.#n.emit=this.#r,this.#n.reallyExit=this.#s,this.#t.count-=1)}#a(e){return lm(this.#n)?(this.#n.exitCode=e||0,this.#t.emit("exit",this.#n.exitCode,null),this.#s.call(this.#n,this.#n.exitCode)):0}#c(e,...n){const r=this.#r;if(e==="exit"&&lm(this.#n)){typeof n[0]=="number"&&(this.#n.exitCode=n[0]);const i=r.call(this.#n,e,...n);return this.#t.emit("exit",this.#n.exitCode,null),i}else return r.call(this.#n,e,...n)}}const _0=globalThis.process,{onExit:dse,load:ece,unload:tce}=cse(lm(_0)?new lse(_0):new use),fse=(t,{cleanup:e,detached:n},{signal:r})=>{if(!e||n)return;const i=dse(()=>{t.kill()});rE(r,()=>{i()})},hse=({source:t,sourcePromise:e,boundOptions:n,createNested:r},...i)=>{const s=bI(),{destination:o,destinationStream:a,destinationError:c,from:u,unpipeSignal:l}=pse(n,r,i),{sourceStream:d,sourceError:f}=gse(t,u),{options:h,fileDescriptors:p}=po.get(t);return{sourcePromise:e,sourceStream:d,sourceOptions:h,sourceError:f,destination:o,destinationStream:a,destinationError:c,unpipeSignal:l,fileDescriptors:p,startTime:s}},pse=(t,e,n)=>{try{const{destination:r,pipeOptions:{from:i,to:s,unpipeSignal:o}={}}=mse(t,e,...n),a=YI(r,s);return{destination:r,destinationStream:a,from:i,unpipeSignal:o}}catch(r){return{destinationError:r}}},mse=(t,e,n,...r)=>{if(Array.isArray(n))return{destination:e($N,t)(n,...r),pipeOptions:t};if(typeof n=="string"||n instanceof URL){if(Object.keys(t).length>0)throw new TypeError('Please use .pipe("file", ..., options) or .pipe(execa("file", ..., options)) instead of .pipe(options)("file", ...).');const[i,s,o]=nI(n,...r);return{destination:e($N)(i,s,o),pipeOptions:o}}if(po.has(n)){if(Object.keys(t).length>0)throw new TypeError("Please use .pipe(options)`command` or .pipe($(options)`command`) instead of .pipe(options)($`command`).");return{destination:n,pipeOptions:r[0]}}throw new TypeError(`The first argument must be a template string, an options object, or an Execa subprocess: ${n}`)},$N=({options:t})=>({options:{...t,stdin:"pipe",piped:!0}}),gse=(t,e)=>{try{return{sourceStream:Qb(t,e)}}catch(n){return{sourceError:n}}},yse=({sourceStream:t,sourceError:e,destinationStream:n,destinationError:r,fileDescriptors:i,sourceOptions:s,startTime:o})=>{const a=vse({sourceStream:t,sourceError:e,destinationStream:n,destinationError:r});if(a!==void 0)throw CN({error:a,fileDescriptors:i,sourceOptions:s,startTime:o})},vse=({sourceStream:t,sourceError:e,destinationStream:n,destinationError:r})=>{if(e!==void 0&&r!==void 0)return r;if(r!==void 0)return SN(t),r;if(e!==void 0)return RN(n),e},CN=({error:t,fileDescriptors:e,sourceOptions:n,startTime:r})=>h0({error:t,command:_N,escapedCommand:_N,fileDescriptors:e,options:n,startTime:r,isSync:!1}),_N="source.pipe(destination)",wse=async t=>{const[{status:e,reason:n,value:r=n},{status:i,reason:s,value:o=s}]=await t;if(o.pipedFrom.includes(r)||o.pipedFrom.push(r),i==="rejected")throw o;if(e==="rejected")throw r;return o},bse=(t,e,n)=>{const r=dm.has(e)?Dse(t,e):Ese(t,e);return Xp(t,Rse,n.signal),Xp(e,Sse,n.signal),Tse(e),r},Ese=(t,e)=>{const n=R0([t]);return um(n,e),dm.set(e,n),n},Dse=(t,e)=>{const n=dm.get(e);return n.add(t),n},Tse=async t=>{try{await Pi(t,{cleanup:!0,readable:!1,writable:!0})}catch{}dm.delete(t)},dm=new WeakMap,Rse=2,Sse=1,kse=(t,e)=>t===void 0?[]:[$se(t,e)],$se=async(t,{sourceStream:e,mergedStream:n,fileDescriptors:r,sourceOptions:i,startTime:s})=>{await N2(t,e),await n.remove(e);const o=new Error("Pipe canceled by `unpipeSignal` option.");throw CN({error:o,fileDescriptors:r,sourceOptions:i,startTime:s})},A0=(t,...e)=>{if(tr(e[0]))return A0.bind(void 0,{...t,boundOptions:{...t.boundOptions,...e[0]}});const{destination:n,...r}=hse(t,...e),i=Cse({...r,destination:n});return i.pipe=A0.bind(void 0,{...t,source:n,sourcePromise:i,boundOptions:{}}),i},Cse=async({sourcePromise:t,sourceStream:e,sourceOptions:n,sourceError:r,destination:i,destinationStream:s,destinationError:o,unpipeSignal:a,fileDescriptors:c,startTime:u})=>{const l=_se(t,i);yse({sourceStream:e,sourceError:r,destinationStream:s,destinationError:o,fileDescriptors:c,sourceOptions:n,startTime:u});const d=new AbortController;try{const f=bse(e,s,d);return await Promise.race([wse(l),...kse(a,{sourceStream:e,mergedStream:f,sourceOptions:n,fileDescriptors:c,startTime:u})])}finally{d.abort()}},_se=(t,e)=>Promise.allSettled([t,e]),AN=({subprocessStdout:t,subprocess:e,binary:n,shouldEncode:r,encoding:i,preserveNewlines:s})=>{const o=new AbortController;return Ase(e,o),IN({stream:t,controller:o,binary:n,shouldEncode:!t.readableObjectMode&&r,encoding:i,shouldSplit:!t.readableObjectMode,preserveNewlines:s})},Ase=async(t,e)=>{try{await t}catch{}finally{e.abort()}},xN=({stream:t,onStreamEnd:e,lines:n,encoding:r,stripFinalNewline:i,allMixed:s})=>{const o=new AbortController;xse(e,o,t);const a=t.readableObjectMode&&!s;return IN({stream:t,controller:o,binary:r==="buffer",shouldEncode:!a,encoding:r,shouldSplit:!a&&n,preserveNewlines:!i})},xse=async(t,e,n)=>{try{await t}catch{n.destroy()}finally{e.abort()}},IN=({stream:t,controller:e,binary:n,shouldEncode:r,encoding:i,shouldSplit:s,preserveNewlines:o})=>{const a=wd(t,"data",{signal:e.signal,highWaterMark:NN,highWatermark:NN});return Ise({onStdoutChunk:a,controller:e,binary:n,shouldEncode:r,encoding:i,shouldSplit:s,preserveNewlines:o})},PN=bd(!0),NN=PN,Ise=async function*({onStdoutChunk:t,controller:e,binary:n,shouldEncode:r,encoding:i,shouldSplit:s,preserveNewlines:o}){const a=Pse({binary:n,shouldEncode:r,encoding:i,shouldSplit:s,preserveNewlines:o});try{for await(const[c]of t)yield*dd(c,a,0)}catch(c){if(!e.signal.aborted)throw c}finally{yield*T0(a)}},Pse=({binary:t,shouldEncode:e,encoding:n,shouldSplit:r,preserveNewlines:i})=>[sN(t,n,!e),eN(t,i,!r,{})].filter(Boolean),Nse=async({stream:t,onStreamEnd:e,fdNumber:n,encoding:r,buffer:i,maxBuffer:s,lines:o,allMixed:a,stripFinalNewline:c,verboseInfo:u,streamInfo:l})=>{const d=Ose({stream:t,onStreamEnd:e,fdNumber:n,encoding:r,allMixed:a,verboseInfo:u,streamInfo:l});if(!i){await Promise.all([Lse(t),d]);return}const f=QP(c,n),h=xN({stream:t,onStreamEnd:e,lines:o,encoding:r,stripFinalNewline:f,allMixed:a}),[p]=await Promise.all([Fse({stream:t,iterable:h,fdNumber:n,encoding:r,maxBuffer:s,lines:o}),d]);return p},Ose=async({stream:t,onStreamEnd:e,fdNumber:n,encoding:r,allMixed:i,verboseInfo:s,streamInfo:{fileDescriptors:o}})=>{if(!dN({stdioItems:o[n]?.stdioItems,encoding:r,verboseInfo:s,fdNumber:n}))return;const a=xN({stream:t,onStreamEnd:e,lines:!0,encoding:r,stripFinalNewline:!0,allMixed:i});await Zre(a,t,n,s)},Lse=async t=>{await Y2(),t.readableFlowing===null&&t.resume()},Fse=async({stream:t,stream:{readableObjectMode:e},iterable:n,fdNumber:r,encoding:i,maxBuffer:s,lines:o})=>{try{return e||o?await vte(n,{maxBuffer:s}):i==="buffer"?new Uint8Array(await Tte(n,{maxBuffer:s})):await Pte(n,{maxBuffer:s})}catch(a){return LN(zte({error:a,stream:t,readableObjectMode:e,lines:o,encoding:i,fdNumber:r}))}},ON=async t=>{try{return await t}catch(e){return LN(e)}},LN=({bufferedData:t})=>tZ(t)?new Uint8Array(t):t,x0=async(t,e,n,{isSameDirection:r,stopOnExit:i=!1}={})=>{const s=Mse(t,n),o=new AbortController;try{await Promise.race([...i?[n.exitPromise]:[],Pi(t,{cleanup:!0,signal:o.signal})])}catch(a){s.stdinCleanedUp||qse(a,e,n,r)}finally{o.abort()}},Mse=(t,{originalStreams:[e],subprocess:n})=>{const r={stdinCleanedUp:!1};return t===e&&zse(t,n,r),r},zse=(t,e,n)=>{const{_destroy:r}=t;t._destroy=(...i)=>{Bse(e,n),r.call(t,...i)}},Bse=({exitCode:t,signalCode:e},n)=>{(t!==null||e!==null)&&(n.stdinCleanedUp=!0)},qse=(t,e,n,r)=>{if(!jse(t,e,n,r))throw t},jse=(t,e,n,r=!0)=>n.propagating?MN(t)||I0(t):(n.propagating=!0,FN(n,e)===r?MN(t):I0(t)),FN=({fileDescriptors:t},e)=>e!=="all"&&t[e].direction==="input",I0=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",MN=t=>t?.code==="EPIPE",Use=({subprocess:t,encoding:e,buffer:n,maxBuffer:r,lines:i,stripFinalNewline:s,verboseInfo:o,streamInfo:a})=>t.stdio.map((c,u)=>zN({stream:c,fdNumber:u,encoding:e,buffer:n[u],maxBuffer:r[u],lines:i[u],allMixed:!1,stripFinalNewline:s,verboseInfo:o,streamInfo:a})),zN=async({stream:t,fdNumber:e,encoding:n,buffer:r,maxBuffer:i,lines:s,allMixed:o,stripFinalNewline:a,verboseInfo:c,streamInfo:u})=>{if(!t)return;const l=x0(t,e,u);if(FN(u,e)){await l;return}const[d]=await Promise.all([Nse({stream:t,onStreamEnd:l,fdNumber:e,encoding:n,buffer:r,maxBuffer:i,lines:s,allMixed:o,stripFinalNewline:a,verboseInfo:c,streamInfo:u}),l]);return d},Gse=({stdout:t,stderr:e},{all:n})=>n&&(t||e)?R0([t,e].filter(Boolean)):void 0,Wse=({subprocess:t,encoding:e,buffer:n,maxBuffer:r,lines:i,stripFinalNewline:s,verboseInfo:o,streamInfo:a})=>zN({...Hse(t,n),fdNumber:"all",encoding:e,maxBuffer:r[1]+r[2],lines:i[1]||i[2],allMixed:Vse(t),stripFinalNewline:s,verboseInfo:o,streamInfo:a}),Hse=({stdout:t,stderr:e,all:n},[,r,i])=>{const s=r||i;return s?r?i?{stream:n,buffer:s}:{stream:t,buffer:s}:{stream:e,buffer:s}:{stream:n,buffer:s}},Vse=({all:t,stdout:e,stderr:n})=>t&&e&&n&&e.readableObjectMode!==n.readableObjectMode,Kse=t=>Ab(t,"ipc"),Yse=(t,e)=>{const n=wI(t);od({type:"ipc",verboseMessage:n,fdNumber:"ipc",verboseInfo:e})},Xse=async({subprocess:t,buffer:e,maxBuffer:n,ipc:r,ipcOutput:i,verboseInfo:s})=>{if(!r)return i;const o=Kse(s),a=sd(e,"ipc"),c=sd(n,"ipc");for await(const u of mN({anyProcess:t,channel:t.channel,isSubprocess:!1,ipc:r,shouldAwait:!1,reference:!0}))a&&(qte(t,i,c),i.push(u)),o&&Yse(u,s);return i},Jse=async(t,e)=>(await Promise.allSettled([t]),e),Zse=async({subprocess:t,options:{encoding:e,buffer:n,maxBuffer:r,lines:i,timeoutDuration:s,cancelSignal:o,gracefulCancel:a,forceKillAfterDelay:c,stripFinalNewline:u,ipc:l,ipcInput:d},context:f,verboseInfo:h,fileDescriptors:p,originalStreams:m,onInternalError:g,controller:y})=>{const w=cie(t,f),E={originalStreams:m,fileDescriptors:p,subprocess:t,exitPromise:w,propagating:!1},k=Use({subprocess:t,encoding:e,buffer:n,maxBuffer:r,lines:i,stripFinalNewline:u,verboseInfo:h,streamInfo:E}),A=Wse({subprocess:t,encoding:e,buffer:n,maxBuffer:r,lines:i,stripFinalNewline:u,verboseInfo:h,streamInfo:E}),I=[],x=Xse({subprocess:t,buffer:n,maxBuffer:r,ipc:l,ipcOutput:I,verboseInfo:h}),_=Qse(m,t,E),P=eoe(p,E);try{return await Promise.race([Promise.all([{},lie(w),Promise.all(k),A,x,Xee(t,d),..._,...P]),g,toe(t,y),...jee(t,s,f,y),...JQ({subprocess:t,cancelSignal:o,gracefulCancel:a,context:f,controller:y}),...Mee({subprocess:t,cancelSignal:o,gracefulCancel:a,forceKillAfterDelay:c,context:f,controller:y})])}catch(O){return f.terminationReason??="other",Promise.all([{error:O},w,Promise.all(k.map(C=>ON(C))),ON(A),Jse(x,I),Promise.allSettled(_),Promise.allSettled(P)])}},Qse=(t,e,n)=>t.map((r,i)=>r===e.stdio[i]?void 0:x0(r,i,n)),eoe=(t,e)=>t.flatMap(({stdioItems:n},r)=>n.filter(({value:i,stream:s=i})=>go(s,{checkOpen:!1})&&!fo(s)).map(({type:i,value:s,stream:o=s})=>x0(o,r,e,{isSameDirection:vo.has(i),stopOnExit:i==="native"}))),toe=async(t,{signal:e})=>{const[n]=await vn(t,"error",{signal:e});throw n},noe=()=>({readableDestroy:new WeakMap,writableFinal:new WeakMap,writableDestroy:new WeakMap}),P0=(t,e,n)=>{const r=t[n];r.has(e)||r.set(e,[]);const i=r.get(e),s=cd();return i.push(s),{resolve:s.resolve.bind(s),promises:i}},fm=async({resolve:t,promises:e},n)=>{t();const[r]=await Promise.race([Promise.allSettled([!0,n]),Promise.all([!1,...e])]);return!r},BN=async t=>{if(t!==void 0)try{await qN(t)}catch{}},roe=async t=>{if(t!==void 0)try{await jN(t)}catch{}},qN=async t=>{await Pi(t,{cleanup:!0,readable:!1,writable:!0})},jN=async t=>{await Pi(t,{cleanup:!0,readable:!0,writable:!1})},UN=async(t,e)=>{if(await t,e)throw e},GN=(t,e,n)=>{n&&!I0(n)?t.destroy(n):e&&t.destroy()},ioe=({subprocess:t,concurrentStreams:e,encoding:n},{from:r,binary:i=!0,preserveNewlines:s=!0}={})=>{const o=i||mo.has(n),{subprocessStdout:a,waitReadableDestroy:c}=WN(t,r,e),{readableEncoding:u,readableObjectMode:l,readableHighWaterMark:d}=HN(a,o),{read:f,onStdoutDataDone:h}=VN({subprocessStdout:a,subprocess:t,binary:o,encoding:n,preserveNewlines:s}),p=new Es({read:f,destroy:Do(YN.bind(void 0,{subprocessStdout:a,subprocess:t,waitReadableDestroy:c})),highWaterMark:d,objectMode:l,encoding:u});return KN({subprocessStdout:a,onStdoutDataDone:h,readable:p,subprocess:t}),p},WN=(t,e,n)=>{const r=Qb(t,e),i=P0(n,r,"readableDestroy");return{subprocessStdout:r,waitReadableDestroy:i}},HN=({readableEncoding:t,readableObjectMode:e,readableHighWaterMark:n},r)=>r?{readableEncoding:t,readableObjectMode:e,readableHighWaterMark:n}:{readableEncoding:t,readableObjectMode:!0,readableHighWaterMark:PN},VN=({subprocessStdout:t,subprocess:e,binary:n,encoding:r,preserveNewlines:i})=>{const s=cd(),o=AN({subprocessStdout:t,subprocess:e,binary:n,shouldEncode:!n,encoding:r,preserveNewlines:i});return{read(){soe(this,o,s)},onStdoutDataDone:s}},soe=async(t,e,n)=>{try{const{value:r,done:i}=await e.next();i?n.resolve():t.push(r)}catch{}},KN=async({subprocessStdout:t,onStdoutDataDone:e,readable:n,subprocess:r,subprocessStdin:i})=>{try{await jN(t),await r,await BN(i),await e,n.readable&&n.push(null)}catch(s){await BN(i),XN(n,s)}},YN=async({subprocessStdout:t,subprocess:e,waitReadableDestroy:n},r)=>{await fm(n,e)&&(XN(t,r),await UN(e,r))},XN=(t,e)=>{GN(t,t.readable,e)},ooe=({subprocess:t,concurrentStreams:e},{to:n}={})=>{const{subprocessStdin:r,waitWritableFinal:i,waitWritableDestroy:s}=JN(t,n,e),o=new wm({...ZN(r,t,i),destroy:Do(e2.bind(void 0,{subprocessStdin:r,subprocess:t,waitWritableFinal:i,waitWritableDestroy:s})),highWaterMark:r.writableHighWaterMark,objectMode:r.writableObjectMode});return QN(r,o),o},JN=(t,e,n)=>{const r=YI(t,e),i=P0(n,r,"writableFinal"),s=P0(n,r,"writableDestroy");return{subprocessStdin:r,waitWritableFinal:i,waitWritableDestroy:s}},ZN=(t,e,n)=>({write:aoe.bind(void 0,t),final:Do(coe.bind(void 0,t,e,n))}),aoe=(t,e,n,r)=>{t.write(e,n)?r():t.once("drain",r)},coe=async(t,e,n)=>{await fm(n,e)&&(t.writable&&t.end(),await e)},QN=async(t,e,n)=>{try{await qN(t),e.writable&&e.end()}catch(r){await roe(n),t2(e,r)}},e2=async({subprocessStdin:t,subprocess:e,waitWritableFinal:n,waitWritableDestroy:r},i)=>{await fm(n,e),await fm(r,e)&&(t2(t,i),await UN(e,i))},t2=(t,e)=>{GN(t,t.writable,e)},uoe=({subprocess:t,concurrentStreams:e,encoding:n},{from:r,to:i,binary:s=!0,preserveNewlines:o=!0}={})=>{const a=s||mo.has(n),{subprocessStdout:c,waitReadableDestroy:u}=WN(t,r,e),{subprocessStdin:l,waitWritableFinal:d,waitWritableDestroy:f}=JN(t,i,e),{readableEncoding:h,readableObjectMode:p,readableHighWaterMark:m}=HN(c,a),{read:g,onStdoutDataDone:y}=VN({subprocessStdout:c,subprocess:t,binary:a,encoding:n,preserveNewlines:o}),w=new bm({read:g,...ZN(l,t,d),destroy:Do(loe.bind(void 0,{subprocessStdout:c,subprocessStdin:l,subprocess:t,waitReadableDestroy:u,waitWritableFinal:d,waitWritableDestroy:f})),readableHighWaterMark:m,writableHighWaterMark:l.writableHighWaterMark,readableObjectMode:p,writableObjectMode:l.writableObjectMode,encoding:h});return KN({subprocessStdout:c,onStdoutDataDone:y,readable:w,subprocess:t,subprocessStdin:l}),QN(l,w,c),w},loe=async({subprocessStdout:t,subprocessStdin:e,subprocess:n,waitReadableDestroy:r,waitWritableFinal:i,waitWritableDestroy:s},o)=>{await Promise.all([YN({subprocessStdout:t,subprocess:n,waitReadableDestroy:r},o),e2({subprocessStdin:e,subprocess:n,waitWritableFinal:i,waitWritableDestroy:s},o)])},n2=(t,e,{from:n,binary:r=!1,preserveNewlines:i=!1}={})=>{const s=r||mo.has(e),o=Qb(t,n),a=AN({subprocessStdout:o,subprocess:t,binary:s,shouldEncode:!0,encoding:e,preserveNewlines:i});return doe(a,o,t)},doe=async function*(t,e,n){try{yield*t}finally{e.readable&&e.destroy(),await n}},foe=(t,{encoding:e})=>{const n=noe();t.readable=ioe.bind(void 0,{subprocess:t,concurrentStreams:n,encoding:e}),t.writable=ooe.bind(void 0,{subprocess:t,concurrentStreams:n}),t.duplex=uoe.bind(void 0,{subprocess:t,concurrentStreams:n,encoding:e}),t.iterable=n2.bind(void 0,t,e),t[Symbol.asyncIterator]=n2.bind(void 0,t,e,{})},hoe=(t,e)=>{for(const[n,r]of moe){const i=r.value.bind(e);Reflect.defineProperty(t,n,{...r,value:i})}},poe=(async()=>{})().constructor.prototype,moe=["then","catch","finally"].map(t=>[t,Reflect.getOwnPropertyDescriptor(poe,t)]),goe=(t,e,n,r)=>{const{file:i,commandArguments:s,command:o,escapedCommand:a,startTime:c,verboseInfo:u,options:l,fileDescriptors:d}=yoe(t,e,n),{subprocess:f,promise:h}=woe({file:i,commandArguments:s,options:l,startTime:c,verboseInfo:u,command:o,escapedCommand:a,fileDescriptors:d});return f.pipe=A0.bind(void 0,{source:f,sourcePromise:h,boundOptions:{},createNested:r}),hoe(f,h),po.set(f,{options:l,fileDescriptors:d}),f},yoe=(t,e,n)=>{const{command:r,escapedCommand:i,startTime:s,verboseInfo:o}=DI(t,e,n),{file:a,commandArguments:c,options:u}=lP(t,e,n),l=voe(u),d=zie(l,o);return{file:a,commandArguments:c,command:r,escapedCommand:i,startTime:s,verboseInfo:o,options:l,fileDescriptors:d}},voe=({timeout:t,signal:e,...n})=>{if(e!==void 0)throw new TypeError('The "signal" option has been renamed to "cancelSignal" instead.');return{...n,timeoutDuration:t}},woe=({file:t,commandArguments:e,options:n,startTime:r,verboseInfo:i,command:s,escapedCommand:o,fileDescriptors:a})=>{let c;try{c=K2(t,e,n)}catch(p){return Pie({error:p,command:s,escapedCommand:o,fileDescriptors:a,options:n,startTime:r,verboseInfo:i})}const u=new AbortController;J2(Number.POSITIVE_INFINITY,u.signal);const l=[...c.stdio];ese(c,a,u),fse(c,n,u);const d={},f=cd();c.kill=HQ.bind(void 0,{kill:c.kill.bind(c),options:n,onInternalError:f,context:d,controller:u}),c.all=Gse(c,n),foe(c,n),xie(c,n);const h=boe({subprocess:c,options:n,startTime:r,verboseInfo:i,fileDescriptors:a,originalStreams:l,command:s,escapedCommand:o,context:d,onInternalError:f,controller:u});return{subprocess:c,promise:h}},boe=async({subprocess:t,options:e,startTime:n,verboseInfo:r,fileDescriptors:i,originalStreams:s,command:o,escapedCommand:a,context:c,onInternalError:u,controller:l})=>{const[d,[f,h],p,m,g]=await Zse({subprocess:t,options:e,context:c,verboseInfo:r,fileDescriptors:i,originalStreams:s,onInternalError:u,controller:l});l.abort(),u.resolve();const y=p.map((k,A)=>Pa(k,e,A)),w=Pa(m,e,"all"),E=Eoe({errorInfo:d,exitCode:f,signal:h,stdio:y,all:w,ipcOutput:g,context:c,options:e,command:o,escapedCommand:a,startTime:n});return m0(E,r,e)},Eoe=({errorInfo:t,exitCode:e,signal:n,stdio:r,all:i,ipcOutput:s,context:o,options:a,command:c,escapedCommand:u,startTime:l})=>"error"in t?p0({error:t.error,command:c,escapedCommand:u,timedOut:o.terminationReason==="timeout",isCanceled:o.terminationReason==="cancel"||o.terminationReason==="gracefulCancel",isGracefullyCanceled:o.terminationReason==="gracefulCancel",isMaxBuffer:t.error instanceof im,isForcefullyTerminated:o.isForcefullyTerminated,exitCode:e,signal:n,stdio:r,all:i,ipcOutput:s,options:a,startTime:l,isSync:!1}):_P({command:c,escapedCommand:u,stdio:r,all:i,ipcOutput:s,options:a,startTime:l}),N0=(t,e)=>{const n=Object.fromEntries(Object.entries(e).map(([r,i])=>[r,Doe(r,t[r],i)]));return{...t,...n}},Doe=(t,e,n)=>Toe.has(t)&&tr(e)&&tr(n)?{...e,...n}:n,Toe=new Set(["env",...pI]),wo=(t,e,n,r)=>{const i=(o,a,c)=>wo(o,a,n,c),s=(...o)=>Roe({mapArguments:t,deepOptions:n,boundOptions:e,setBoundExeca:r,createNested:i},...o);return r!==void 0&&r(s,i,e),s},Roe=({mapArguments:t,deepOptions:e={},boundOptions:n={},setBoundExeca:r,createNested:i},s,...o)=>{if(tr(s))return i(t,N0(n,s),r);const{file:a,commandArguments:c,options:u,isSync:l}=Soe({mapArguments:t,firstArgument:s,nextArguments:o,deepOptions:e,boundOptions:n});return l?pie(a,c,u):goe(a,c,u,i)},Soe=({mapArguments:t,firstArgument:e,nextArguments:n,deepOptions:r,boundOptions:i})=>{const s=cZ(e)?uZ(e,n):[e,...n],[o,a,c]=nI(...s),u=N0(N0(r,i),c),{file:l=o,commandArguments:d=a,options:f=u,isSync:h=!1}=t({file:o,commandArguments:a,options:u});return{file:l,commandArguments:d,options:f,isSync:h}},koe=({file:t,commandArguments:e})=>r2(t,e),$oe=({file:t,commandArguments:e})=>({...r2(t,e),isSync:!0}),r2=(t,e)=>{if(e.length>0)throw new TypeError(`The command and its arguments must be passed as a single string: ${t} ${e}.`);const[n,...r]=Coe(t);return{file:n,commandArguments:r}},Coe=t=>{if(typeof t!="string")throw new TypeError(`The command must be a string: ${String(t)}.`);const e=t.trim();if(e==="")return[];const n=[];for(const r of e.split(_oe)){const i=n.at(-1);i&&i.endsWith("\\")?n[n.length-1]=`${i.slice(0,-1)} ${r}`:n.push(r)}return n},_oe=/ +/g,Aoe=(t,e,n)=>{t.sync=e(Ioe,n),t.s=t.sync},xoe=({options:t})=>i2(t),Ioe=({options:t})=>({...i2(t),isSync:!0}),i2=t=>({options:{...Poe(t),...t}}),Poe=({input:t,inputFile:e,stdio:n})=>t===void 0&&e===void 0&&n===void 0?{stdin:"inherit"}:{},Noe={preferLocal:!0},O0=wo(()=>({}));wo(()=>({isSync:!0})),wo(koe),wo($oe),wo(Gee),wo(xoe,{},Noe,Aoe),Iie();const L0=qp(2);let Ooe=class{constructor(e="dot"){this.path=e}async unflatten(e){return await L0(async()=>{const n=await O0("unflatten",["-l 1","-c 3"],{reject:!1,timeout:1e4,input:e,stdin:"pipe",encoding:"utf8"});return n instanceof Error&&(n.stdout?Xe.warn(`[BinaryGraphvizLayouter.layout] '${n.command}' failed: ${n.stderr}
1815
-
1816
- but returned
1817
- ${n.stdout}`):Xe.error(`[BinaryGraphvizLayouter.layout] '${n.command}' failed: ${n.stderr}
1818
-
1819
- nothing returned, ignoring...`)),n.stdout&&(e=n.stdout.replaceAll(/\t\[/g," [").replaceAll(/\t/g," ")),e})}async layoutJson(e){return await L0(async()=>{const n=await O0(this.path,["-Tjson","-y"],{reject:!1,timeout:1e4,input:e,stdin:"pipe",encoding:"utf8"});if(n instanceof Error){if(!n.stdout)throw Xe.error(`[BinaryGraphvizLayouter.layout] '${n.command}' nothing returned and failed: "${n.stderr}"`),n;Xe.warn(`[BinaryGraphvizLayouter.layout] '${n.command}' returned result but also failed "${n.stderr}"`)}return n.stdout})}async acyclic(e){return Promise.reject(new Error("Method not implemented."))}async svg(e){return await L0(async()=>{const n=await O0(this.path,["-Tsvg","-y"],{reject:!1,timeout:1e4,input:e,stdin:"pipe",encoding:"utf8"});if(n instanceof Error){if(!n.stdout)throw Xe.error(`[BinaryGraphvizLayouter.layout] '${n.command}' nothing returned and failed: ${n.stderr}`),n;Xe.warn(`[BinaryGraphvizLayouter.layout] '${n.command}' returned result but also failed ${n.stderr}`)}return n.stdout})}};const Loe="likec4",Foe="1.17.0",Moe="MIT",zoe="https://likec4.dev",Boe="Denis Davydkov <denis@davydkov.com>",qoe={url:"https://github.com/sponsors/davydkov"},joe={type:"git",url:"https://github.com/likec4/likec4.git",directory:"packages/likec4"},Uoe={node:">=20"},Goe="https://github.com/likec4/likec4/issues",Woe="module",Hoe="./bin/likec4.mjs",Voe={".":"./src/index.ts","./react":{types:"./app/react/components/index.ts",default:"./react/index.mjs"},"./react/style.css":"./react/style.css","./icons/all":{types:"./icons/all.d.ts",default:"./icons/all.js"},"./icons/*":{types:"./icons/icon.d.ts",default:"./icons/*"}},Koe={registry:"https://registry.npmjs.org",access:"public",exports:{".":{types:"./dist/index.d.ts",default:"./dist/index.mjs"},"./react":{types:"./react/index.d.ts",default:"./react/index.mjs"},"./react/style.css":"./react/style.css","./icons/all":{types:"./icons/all.d.ts",default:"./icons/all.js"},"./icons/*":{types:"./icons/icon.d.ts",default:"./icons/*"}}},Yoe={"turbo-build":"turbo run build --log-prefix=none --log-order=grouped",package:"yarn pack","typecheck:app":"tsc --noEmit -p ./app/tsconfig.json","typecheck:cli":"tsc --noEmit -p ./tsconfig.cli.json",typecheck:"run-p --print-label 'typecheck:*'","build-cli":"unbuild","build-app":"run-p --print-label 'bundle:*'","bundle:app":"tsx scripts/bundle-app.ts","bundle:react":"tsx scripts/bundle-react.ts","bundle:react-dts":"tsx scripts/dts-react.ts","bundle:webcomponent":"tsx scripts/bundle-webcomponent.ts",generate:"tsx scripts/generate.ts",prepack:"turbo run build --log-prefix=none --log-order=grouped",lint:"run -T eslint src/ --fix",clean:"rm -r -f dist app/dist dev/.export dev/dist node_modules/.vite",dev:"tsx watch src/cli/index.ts serve dev","dev:docs:bigbank":"tsx watch src/cli/index.ts serve ../../apps/docs/src/components/bigbank","dev:docs:dynamic-view":"tsx watch src/cli/index.ts serve ../../apps/docs/src/components/dynamic-view","dev:docs:index-page":"tsx watch src/cli/index.ts serve ../../apps/docs/src/components/index-page","dev:docs:theme":"tsx watch src/cli/index.ts serve ../../apps/docs/src/components/likec4-theme","dev:template":"tsx watch src/cli/index.ts serve ../create-likec4/template","dev:example-cloud":"tsx watch src/cli/index.ts serve ../../examples/cloud-system","dev:failed":"tsx watch src/cli/index.ts serve ../../examples/failed","dev:example-dev":"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",test:"vitest run --no-isolate","vitest:ui":"vitest --no-isolate --ui","test:watch":"vitest"},Xoe={"@hpcc-js/wasm-graphviz":"1.6.1","@vitejs/plugin-react-swc":"3.7.1",playwright:"1.48.2",react:"^18.3.1","react-dom":"^18.3.1","type-fest":"4.26.1",vite:"5.4.11"},Joe={"@fontsource/ibm-plex-sans":"^5.1.0","@likec4/core":"workspace:*","@likec4/diagram":"workspace:*","@likec4/generators":"workspace:*","@likec4/icons":"workspace:*","@likec4/language-server":"workspace:*","@likec4/layouts":"workspace:*","@likec4/log":"workspace:*","@likec4/tsconfig":"workspace:*","@mantine/core":"7.13.4","@mantine/hooks":"7.13.4","@mantine/vanilla-extract":"7.13.4","@nanostores/react":"0.8.0","@react-hookz/web":"^24.0.4","@tabler/icons-react":"3.17.0","@tanstack/react-router":"1.45.13","@tanstack/router-cli":"1.45.13","@tanstack/router-vite-plugin":"1.45.13","@types/node":"^20.16.14","@types/prop-types":"^15.7.13","@types/react":"18.3.11","@types/react-dom":"18.3.1","@types/string-hash":"^1.1.3","@types/yargs":"^17.0.33","@vanilla-extract/css":"^1.16.0","@vanilla-extract/dynamic":"^2.1.2","@vanilla-extract/vite-plugin":"^4.0.17","@xyflow/react":"12.3.4","@xyflow/system":"0.0.45",autoprefixer:"^10.4.20",classnames:"^2.5.1",clsx:"^2.1.1",defu:"^6.1.4","dts-bundle-generator":"^9.5.1",esbuild:"^0.24.0","esbuild-node-externals":"^1.15.0",execa:"^9.3.1","fast-equals":"^5.0.1",fdir:"^6.4.2","framer-motion":"^11.11.11","get-port":"^7.1.0",glob:"^11.0.0","html-to-image":"^1.11.11",json5:"^2.2.3",langium:"3.2.0",mkdirp:"^3.0.1",nanostores:"0.11.3","npm-run-all2":"^6.2.6","p-limit":"^6.1.0","package-up":"^5.0.0",postcss:"^8.4.47","postcss-preset-mantine":"^1.17.0","pretty-ms":"^9.1.0","prop-types":"^15.8.1","react-error-boundary":"^4.1.2","react-resizable-panels":"^2.1.6","react-shadow":"^20.5.0",remeda:"^2.16.0","std-env":"^3.7.0","string-hash":"^1.1.3","strip-indent":"^4.0.0",terser:"^5.33.0",tinyrainbow:"^1.2.0",tsx:"~4.9.3",turbo:"^2.2.3",typescript:"^5.6.3",ufo:"^1.5.4",unbuild:"^3.0.0-rc.11","vite-plugin-css-injected-by-js":"^3.5.2","vite-plugin-shadow-style":"^1.1.1",vitest:"^2.1.5",yargs:"17.7.2"},Zoe="yarn@4.5.1",s2={name:Loe,version:Foe,license:Moe,homepage:zoe,author:Boe,sponsor:qoe,repository:joe,engines:Uoe,bugs:Goe,type:Woe,bin:Hoe,exports:Voe,publishConfig:Koe,scripts:Yoe,dependencies:Xoe,devDependencies:Joe,packageManager:Zoe},hm=Object.create(null),pd=t=>globalThis.process?.env||import.meta.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(t?hm:globalThis),ls=new Proxy(hm,{get(t,e){return pd()[e]??hm[e]},has(t,e){const n=pd();return e in n||e in hm},set(t,e,n){const r=pd(!0);return r[e]=n,!0},deleteProperty(t,e){if(!e)return!1;const n=pd(!0);return delete n[e],!0},ownKeys(){const t=pd(!0);return Object.keys(t)}}),Qoe=typeof process<"u"&&process.env&&process.env.NODE_ENV||"",eae=[["APPVEYOR"],["AWS_AMPLIFY","AWS_APP_ID",{ci:!0}],["AZURE_PIPELINES","SYSTEM_TEAMFOUNDATIONCOLLECTIONURI"],["AZURE_STATIC","INPUT_AZURE_STATIC_WEB_APPS_API_TOKEN"],["APPCIRCLE","AC_APPCIRCLE"],["BAMBOO","bamboo_planKey"],["BITBUCKET","BITBUCKET_COMMIT"],["BITRISE","BITRISE_IO"],["BUDDY","BUDDY_WORKSPACE_ID"],["BUILDKITE"],["CIRCLE","CIRCLECI"],["CIRRUS","CIRRUS_CI"],["CLOUDFLARE_PAGES","CF_PAGES",{ci:!0}],["CODEBUILD","CODEBUILD_BUILD_ARN"],["CODEFRESH","CF_BUILD_ID"],["DRONE"],["DRONE","DRONE_BUILD_EVENT"],["DSARI"],["GITHUB_ACTIONS"],["GITLAB","GITLAB_CI"],["GITLAB","CI_MERGE_REQUEST_ID"],["GOCD","GO_PIPELINE_LABEL"],["LAYERCI"],["HUDSON","HUDSON_URL"],["JENKINS","JENKINS_URL"],["MAGNUM"],["NETLIFY"],["NETLIFY","NETLIFY_LOCAL",{ci:!1}],["NEVERCODE"],["RENDER"],["SAIL","SAILCI"],["SEMAPHORE"],["SCREWDRIVER"],["SHIPPABLE"],["SOLANO","TDDIUM"],["STRIDER"],["TEAMCITY","TEAMCITY_VERSION"],["TRAVIS"],["VERCEL","NOW_BUILDER"],["VERCEL","VERCEL",{ci:!1}],["VERCEL","VERCEL_ENV",{ci:!1}],["APPCENTER","APPCENTER_BUILD_ID"],["CODESANDBOX","CODESANDBOX_SSE",{ci:!1}],["STACKBLITZ"],["STORMKIT"],["CLEAVR"],["ZEABUR"],["CODESPHERE","CODESPHERE_APP_ID",{ci:!0}],["RAILWAY","RAILWAY_PROJECT_ID"],["RAILWAY","RAILWAY_SERVICE_ID"],["DENO-DEPLOY","DENO_DEPLOYMENT_ID"],["FIREBASE_APP_HOSTING","FIREBASE_APP_HOSTING",{ci:!0}]];function tae(){if(globalThis.process?.env)for(const t of eae){const e=t[1]||t[0];if(globalThis.process?.env[e])return{name:t[0].toLowerCase(),...t[2]}}return globalThis.process?.env?.SHELL==="/bin/jsh"&&globalThis.process?.versions?.webcontainer?{name:"stackblitz",ci:!1}:{name:"",ci:!1}}const o2=tae();o2.name;function bo(t){return t?t!=="false":!1}const nae=globalThis.process?.platform||"",pm=bo(ls.CI)||o2.ci!==!1,a2=bo(globalThis.process?.stdout&&globalThis.process?.stdout.isTTY);bo(ls.DEBUG);const rae=Qoe==="test"||bo(ls.TEST);bo(ls.MINIMAL);const iae=/^win/i.test(nae);!bo(ls.NO_COLOR)&&(bo(ls.FORCE_COLOR)||(a2||iae)&&ls.TERM);const sae=(globalThis.process?.versions?.node||"").replace(/^v/,"")||null;Number(sae?.split(".")[0]);const oae=globalThis.process||Object.create(null),c2={versions:{}};new Proxy(oae,{get(t,e){if(e==="env")return ls;if(e in t)return t[e];if(e in c2)return c2[e]}});const aae=globalThis.process?.release?.name==="node",cae=!!globalThis.Bun||!!globalThis.process?.versions?.bun,uae=!!globalThis.Deno,lae=!!globalThis.fastly,dae=!!globalThis.Netlify,fae=!!globalThis.EdgeRuntime,hae=globalThis.navigator?.userAgent==="Cloudflare-Workers",pae=[[dae,"netlify"],[fae,"edge-light"],[hae,"workerd"],[lae,"fastly"],[uae,"deno"],[cae,"bun"],[aae,"node"]];function mae(){const t=pae.find(e=>e[0]);if(t)return{name:t[1]}}const gae=mae();gae?.name;const u2=ft.bold(ft.bgRed(ft.white("ERROR"))),yae=ft.bold(ft.yellow("WARN")),vae=ft.bold(ft.green("INFO"));function l2(t){const e=eO("info",{prefix:t,allowClearScreen:!pm}),n=!pm;return{...e,info(r,i){e.info(`${vae} ${r}`,{timestamp:n,...i})},warn(r,i){e.warn(`${yae} ${r}`,{timestamp:n,...i})},error(r,i){if(r instanceof Error){e.error(`${u2} ${ft.red(r.stack??r.name+" "+r.message)}`,{timestamp:n,error:r,...i});return}e.error(`${u2} ${r}`,{timestamp:n,...i})}}}const F0=()=>{},wae={info:F0,warn:F0,error:F0},bae=1e6;function d2(t){const[e,n]=vd(t),r=e*1e3+n/bae;return{ms:r,pretty:IP(r)}}function Eae(t){const e=vd();return{stopAndLog(n="done in "){n=ft.green(`${n}${d2(e).pretty}`),t?t.info(n):Xe.success(n)}}}class Dae{constructor(e){this.services=e,this.layouter=e.likec4.Layouter}cache=new WeakMap;layouter;previousAction=Promise.resolve();limit=qp(2);inflightRequest;async computedViews(){try{this.inflightRequest??=Promise.resolve().then(async()=>await this.services.likec4.ModelBuilder.buildComputedModel());const e=await Promise.resolve(this.inflightRequest);return Object.values(e?.views??{})}finally{this.inflightRequest=void 0}}async layoutViews(){const e=this.services.logger,n=this.previousAction.then(async()=>{const r=(await this.computedViews()).map(i=>this.limit(async()=>{try{let s=this.cache.get(i);return s||(s=await this.layouter.layout(i),this.cache.set(i,s)),s}catch(s){return e.error(s),null}}));return(await Promise.all(r)).filter(ae)});return this.previousAction=n.catch(r=>(e.error(r),Promise.resolve([]))),await n}async diagrams(){return(await this.layoutViews()).map(e=>e.diagram)}async viewsAsGraphvizOut(){const e="All-LayoutedViews-DotWithSvg",n=this.services.WorkspaceCache;if(n.has(e))return await Promise.resolve(n.get(e));const r=(await this.computedViews()).map(s=>this.limit(async()=>{const{dot:o,svg:a}=await this.layouter.svg(s);return{id:s.id,dot:o,svg:a}})),i=await Promise.all(r);return n.set(e,i),i}async overviewGraph(){const e="OverviewGraph",n=this.services.WorkspaceCache;if(n.has(e))return await Promise.resolve(n.get(e));const r=await this.computedViews(),i=await this.layouter.layoutOverviewGraph(r);return n.set(e,i),i}}class Tae{constructor(e){this.services=e}isInitialized=!1;async initWorkspace(e){if(this.isInitialized)throw new Error("Workspace already initialized");const n=this.services.logger,r=this.services.shared.workspace.WorkspaceManager;n.info(`${ft.dim("workspace:")} ${e.uri}`),r.initialize({capabilities:{},processId:null,rootUri:null,workspaceFolders:[e]}),await r.initializeWorkspace([e])}async init(){if(this.isInitialized)throw new Error("Workspace already initialized");this.isInitialized=!0;const e=this.services.logger,n=this.services.likec4.ModelBuilder,r=this.services.shared.workspace.LangiumDocuments,i=this.services.shared.workspace.DocumentBuilder,s=r.all.toArray();if(s.length===0)throw e.error("no LikeC4 sources found"),new Error("no LikeC4 sources found");e.info(`${ft.dim("workspace:")} found ${s.length} source files`),await i.build(s,{validation:!0});const o=await n.buildComputedModel(),a=ch(o?.views??{}).length;if(a===0){e.warn(`${ft.dim("workspace:")} no views found`);return}e.info(`${ft.dim("workspace:")} ${ft.green(`\u2713 computed ${a} views`)}`);const c=await this.services.likec4.Views.diagrams();c.length===a?e.info(`${ft.dim("workspace:")} ${ft.green("\u2713 all views layouted")}`):e.warn(`${ft.dim("workspace:")} ${ft.yellow(`\u2717 layouted ${c.length} views`)}`)}}function f2(t){return e=>new t(e)}const Rae={logger:()=>{throw new Error("Logger must be provided")},likec4:{Layouter:()=>{throw new Error("Layouter must be provided")},Views:f2(Dae)},cli:{Workspace:f2(Tae)}};function h2(t){const e=La(t,{useFileSystem:!0,logger:"default",graphviz:"wasm"});let n;switch(e.logger){case!1:n=wae;break;case"vite":n=l2("c4:lsp ");break;case"default":n=Xe.withTag("lsp");break;default:n=e.logger}const r=e.graphviz==="binary";n.info(`${ft.dim("version")} ${s2.version}`),n.info(`${ft.dim("layout")} ${r?"binary":"wasm"}`);const i={logger:()=>n,likec4:{Layouter:()=>new QJ(r===!0?new Ooe:new gd)}};return UK(e.logger===!1?"silent":"info"),e.logger!==!1&&e.logger!=="default"&&Ne.setReporters([{log:({level:s,...o},a)=>{const c=o.tag||"",u=o.args.map(d=>cv(d)?d.stack??d.message:typeof d=="string"?d:String(d));c&&u.unshift(`[${c}]`);const l=u.join(" ");switch(!0){case s>=Ye.debug:break;case s>=Ye.info:{n.info(l);break}case s>=Ye.log:{n.info(l);break}case s>=Ye.warn:{n.warn(l);break}case s>=Ye.fatal:{n.error(l);break}}}}]),mX(e.useFileSystem?yX:{},Rae,i).likec4}const p2=t=>new Error(`Invalid model:
1820
- ${t.getErrors().map(e=>` ${e.sourceFsPath}:${e.line} ${e.message.slice(0,200)}`).join(`
1821
- `)}`);class ds{constructor(e,n,r){this.workspace=e,this.langium=n,this.isPrintErrorEnabled=r,this.logger=n.logger,this.langiumDocuments=n.shared.workspace.LangiumDocuments,this.isPrintErrorEnabled&&this.printErrors()}static async fromSource(e,n){const r=h2(La(n,{useFileSystem:!1,logger:!1,graphviz:"wasm"})),i=Vt.from({scheme:"virtual",path:"/workspace"});await r.cli.Workspace.initWorkspace({uri:i.toString(),name:"virtual"});const s=Et.joinPath(i,"source.likec4");r.shared.workspace.LangiumDocuments.createDocument(s,e),await r.cli.Workspace.init();const o=new ds(i.path,r,n?.printErrors??!0);return n?.throwIfInvalid===!0&&o.hasErrors()?(o.dispose(),Promise.reject(p2(o))):o}static likec4Instances=new Map;static async fromWorkspace(e="",n){const r=X0(e);if(!T2(r))throw new Error(`Workspace not found: ${r}`);let i=ds.likec4Instances.get(r);if(!i){const s=h2(La(n,{useFileSystem:!0,logger:"default",graphviz:"wasm"}));await s.cli.Workspace.initWorkspace({uri:$2(r).toString(),name:k2(r)}),await s.cli.Workspace.init(),i=new ds(r,s,n?.printErrors??!0),ds.likec4Instances.set(r,i)}return n?.throwIfInvalid===!0&&i.hasErrors()?(i.dispose(),Promise.reject(p2(i))):i}modelComputedRef;modelLayoutedRef;logger;langiumDocuments;get viewsService(){return this.langium.likec4.Views}async diagrams(){return await this.langium.likec4.Views.diagrams()}computedModel(){let e=this.modelComputedRef?.deref();if(!e){const n=this.langium.likec4.ModelBuilder.unsafeSyncBuildModel();if(!n)throw new Error("Failed to build model");const r=this.langium.likec4.ModelBuilder.unsafeSyncBuildComputedModel(n);e=Wa.computed(r),this.modelComputedRef=new WeakRef(e)}return e}async layoutedModel(){let e=this.modelLayoutedRef?.deref();if(!e){const n=await this.langium.likec4.ModelBuilder.buildComputedModel();if(!n)throw new Error("Failed to build model");const r=await this.viewsService.diagrams();e=Wa.layouted({__:"layouted",...n,views:uv(r,yi("id"))}),this.modelLayoutedRef=new WeakRef(e)}return e}getErrors(){return this.langiumDocuments.all.toArray().flatMap(e=>(e.diagnostics??[]).filter(n=>n.severity===Zc.Error).map(({message:n,range:r})=>({message:n,line:r.start.line,range:r,sourceFsPath:e.uri.fsPath})))}hasErrors(){return this.langiumDocuments.all.some(e=>e.diagnostics?.some(n=>n.severity===Zc.Error)??!1)}printErrors(){let e=!1;for(const n of this.langiumDocuments.all){const r=n.diagnostics?.filter(i=>i.severity===1);if(r&&r.length>0){e=!0;const i=r.flatMap(s=>{const o=s.range.start.line,a=s.message.split(`
1822
- `);return a.length>10&&(a.length=10,a.push("...")),a.map((c,u)=>u===0?" "+ft.dim(`Line ${o}: `)+ft.red(c):" ".repeat(10)+ft.red(c))}).join(`
1823
- `);this.logger.error(`Invalid ${n.uri.fsPath}
1824
- ${i}`)}}return e}async notifyUpdate({changed:e,removed:n}){this.modelLayoutedRef=void 0,this.modelComputedRef=void 0;const r=this.langium.shared.workspace.WorkspaceLock;try{let i=!1;return await r.write(async s=>{await this.langium.shared.workspace.DocumentBuilder.update(e?[Vt.file(e)]:[],n?[Vt.file(n)]:[],s),i=!s.isCancellationRequested}),i}catch(i){return this.logger.error(i),!1}}onModelUpdate(e){const n=this.langium.likec4.ModelBuilder.onModelParsed(()=>e());return()=>{n.dispose()}}dispose(){for(const[e,n]of ds.likec4Instances)n===this&&ds.likec4Instances.delete(e)}}export{d2 as $,ks as A,ae as B,xD as C,Ki as D,ko as E,et as F,ft as G,cO as H,qp as I,uO as J,Xe as K,we as L,So as M,iT as N,vi as O,Lk as P,l2 as Q,HO as R,iK as S,Fo as T,zw as U,$E as V,sK as W,sa as X,Nm as Y,NC as Z,zk as _,Ha as a,Eae as a0,Ov as a1,za as a2,Hi as a3,LD as a4,Ye as a5,s2 as a6,$r as b,qa as c,Wn as d,Ba as e,Ie as f,OD as g,ds as h,kt as i,LC as j,Rd as k,pn as l,Wa as m,s$ as n,sn as o,Bo as p,vt as q,at as r,Od as s,Ga as t,Ke as u,zr as v,Am as w,Zr as x,CE as y,nt as z};